@taiga-ui/addon-commerce 2.55.0 → 3.0.0-rc.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 (361) hide show
  1. package/bundles/taiga-ui-addon-commerce-components-card.umd.js +424 -305
  2. package/bundles/taiga-ui-addon-commerce-components-card.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +623 -466
  4. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
  5. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js +461 -331
  6. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
  7. package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.js +444 -314
  8. package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.js.map +1 -1
  9. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js +432 -306
  10. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js.map +1 -1
  11. package/bundles/taiga-ui-addon-commerce-components-money.umd.js +516 -384
  12. package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
  13. package/bundles/taiga-ui-addon-commerce-components.umd.js +15 -27
  14. package/bundles/taiga-ui-addon-commerce-components.umd.js.map +1 -1
  15. package/bundles/taiga-ui-addon-commerce-constants.umd.js +38 -36
  16. package/bundles/taiga-ui-addon-commerce-constants.umd.js.map +1 -1
  17. package/bundles/taiga-ui-addon-commerce-enums.umd.js +6 -35
  18. package/bundles/taiga-ui-addon-commerce-enums.umd.js.map +1 -1
  19. package/bundles/taiga-ui-addon-commerce-interfaces.umd.js +2 -2
  20. package/bundles/taiga-ui-addon-commerce-interfaces.umd.js.map +1 -1
  21. package/bundles/taiga-ui-addon-commerce-pipes.umd.js +63 -274
  22. package/bundles/taiga-ui-addon-commerce-pipes.umd.js.map +1 -1
  23. package/bundles/taiga-ui-addon-commerce-tokens.umd.js +11 -7
  24. package/bundles/taiga-ui-addon-commerce-tokens.umd.js.map +1 -1
  25. package/bundles/taiga-ui-addon-commerce-types.umd.js +2 -2
  26. package/bundles/taiga-ui-addon-commerce-types.umd.js.map +1 -1
  27. package/bundles/taiga-ui-addon-commerce-utils.umd.js +63 -107
  28. package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
  29. package/bundles/taiga-ui-addon-commerce-validators.umd.js +17 -11
  30. package/bundles/taiga-ui-addon-commerce-validators.umd.js.map +1 -1
  31. package/bundles/taiga-ui-addon-commerce.umd.js +31 -33
  32. package/bundles/taiga-ui-addon-commerce.umd.js.map +1 -1
  33. package/components/card/card.component.d.ts +5 -2
  34. package/components/card/card.module.d.ts +7 -0
  35. package/components/card/package.json +2 -5
  36. package/components/card/taiga-ui-addon-commerce-components-card.d.ts +1 -0
  37. package/components/input-card/input-card.component.d.ts +4 -2
  38. package/components/input-card/input-card.module.d.ts +8 -0
  39. package/components/input-card/package.json +2 -5
  40. package/components/input-card/taiga-ui-addon-commerce-components-input-card.d.ts +1 -0
  41. package/components/input-card-grouped/input-card-grouped.component.d.ts +5 -3
  42. package/components/input-card-grouped/input-card-grouped.module.d.ts +12 -0
  43. package/components/input-card-grouped/package.json +2 -5
  44. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.d.ts +1 -0
  45. package/components/input-cvc/input-cvc.component.d.ts +3 -1
  46. package/components/input-cvc/input-cvc.module.d.ts +8 -0
  47. package/components/input-cvc/package.json +2 -5
  48. package/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.d.ts +1 -0
  49. package/components/input-expire/input-expire.component.d.ts +3 -1
  50. package/components/input-expire/input-expire.module.d.ts +8 -0
  51. package/components/input-expire/package.json +2 -5
  52. package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.d.ts +1 -0
  53. package/components/money/money-options.d.ts +4 -4
  54. package/components/money/money.component.d.ts +7 -4
  55. package/components/money/money.module.d.ts +10 -0
  56. package/components/money/package.json +2 -5
  57. package/components/money/pipes/fraction-part.pipe.d.ts +5 -2
  58. package/components/money/pipes/integer-part.pipe.d.ts +3 -0
  59. package/components/money/pipes/sign-symbol.pipe.d.ts +5 -2
  60. package/components/money/taiga-ui-addon-commerce-components-money.d.ts +1 -0
  61. package/components/money/utils/format-fraction-part.d.ts +2 -2
  62. package/components/money/utils/format-sign-symbol.d.ts +2 -2
  63. package/components/package.json +2 -5
  64. package/components/taiga-ui-addon-commerce-components.d.ts +1 -0
  65. package/constants/package.json +2 -5
  66. package/constants/taiga-ui-addon-commerce-constants.d.ts +1 -0
  67. package/enums/currency-code.d.ts +0 -5
  68. package/enums/index.d.ts +0 -2
  69. package/enums/package.json +2 -5
  70. package/enums/taiga-ui-addon-commerce-enums.d.ts +1 -0
  71. package/esm2015/components/card/card.component.js +44 -30
  72. package/esm2015/components/card/card.module.js +15 -12
  73. package/esm2015/components/card/index.js +1 -1
  74. package/esm2015/components/card/taiga-ui-addon-commerce-components-card.js +1 -1
  75. package/esm2015/components/index.js +1 -1
  76. package/esm2015/components/input-card/index.js +1 -1
  77. package/esm2015/components/input-card/input-card.component.js +72 -56
  78. package/esm2015/components/input-card/input-card.module.js +24 -13
  79. package/esm2015/components/input-card/taiga-ui-addon-commerce-components-input-card.js +1 -1
  80. package/esm2015/components/input-card-grouped/index.js +1 -1
  81. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +148 -121
  82. package/esm2015/components/input-card-grouped/input-card-grouped.module.js +45 -15
  83. package/esm2015/components/input-card-grouped/input-card-grouped.providers.js +3 -3
  84. package/esm2015/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.js +1 -1
  85. package/esm2015/components/input-cvc/index.js +1 -1
  86. package/esm2015/components/input-cvc/input-cvc.component.js +56 -43
  87. package/esm2015/components/input-cvc/input-cvc.module.js +26 -13
  88. package/esm2015/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.js +1 -1
  89. package/esm2015/components/input-expire/index.js +1 -1
  90. package/esm2015/components/input-expire/input-expire.component.js +49 -38
  91. package/esm2015/components/input-expire/input-expire.module.js +24 -13
  92. package/esm2015/components/input-expire/taiga-ui-addon-commerce-components-input-expire.js +1 -1
  93. package/esm2015/components/money/index.js +1 -1
  94. package/esm2015/components/money/money-options.js +4 -4
  95. package/esm2015/components/money/money.component.js +48 -35
  96. package/esm2015/components/money/money.module.js +23 -17
  97. package/esm2015/components/money/pipes/fraction-part.pipe.js +13 -12
  98. package/esm2015/components/money/pipes/integer-part.pipe.js +13 -12
  99. package/esm2015/components/money/pipes/sign-symbol.pipe.js +10 -8
  100. package/esm2015/components/money/taiga-ui-addon-commerce-components-money.js +1 -1
  101. package/esm2015/components/money/utils/format-fraction-part.js +4 -4
  102. package/esm2015/components/money/utils/format-sign-symbol.js +4 -4
  103. package/esm2015/components/taiga-ui-addon-commerce-components.js +1 -1
  104. package/esm2015/constants/card-holder-mask.js +27 -27
  105. package/esm2015/constants/card-mask.js +5 -5
  106. package/esm2015/constants/default-card-validator.js +3 -3
  107. package/esm2015/constants/index.js +1 -1
  108. package/esm2015/constants/taiga-ui-addon-commerce-constants.js +1 -1
  109. package/esm2015/enums/currency-code.js +1 -7
  110. package/esm2015/enums/currency.js +1 -1
  111. package/esm2015/enums/index.js +1 -3
  112. package/esm2015/enums/taiga-ui-addon-commerce-enums.js +1 -1
  113. package/esm2015/index.js +3 -1
  114. package/esm2015/interfaces/card.js +2 -1
  115. package/esm2015/interfaces/index.js +2 -1
  116. package/esm2015/interfaces/taiga-ui-addon-commerce-interfaces.js +2 -1
  117. package/esm2015/pipes/currency/currency.module.js +14 -11
  118. package/esm2015/pipes/currency/currency.pipe.js +12 -10
  119. package/esm2015/pipes/format-card/format-card.module.js +14 -11
  120. package/esm2015/pipes/format-card/format-card.pipe.js +14 -12
  121. package/esm2015/pipes/index.js +1 -1
  122. package/esm2015/pipes/taiga-ui-addon-commerce-pipes.js +1 -1
  123. package/esm2015/taiga-ui-addon-commerce.js +1 -1
  124. package/esm2015/tokens/i18n.js +6 -6
  125. package/esm2015/tokens/index.js +1 -1
  126. package/esm2015/tokens/taiga-ui-addon-commerce-tokens.js +1 -1
  127. package/esm2015/types/code-length.js +2 -1
  128. package/esm2015/types/currency-variants.js +2 -1
  129. package/esm2015/types/index.js +5 -1
  130. package/esm2015/types/money-sign.js +2 -1
  131. package/esm2015/types/payment-system.js +2 -0
  132. package/esm2015/types/taiga-ui-addon-commerce-types.js +2 -1
  133. package/esm2015/utils/create-auto-corrected-expire-pipe.js +6 -6
  134. package/esm2015/utils/format-currency.js +7 -7
  135. package/esm2015/utils/get-currency-symbol.js +21 -26
  136. package/esm2015/utils/get-payment-system.js +18 -48
  137. package/esm2015/utils/index.js +1 -1
  138. package/esm2015/utils/is-card-length-valid.js +9 -11
  139. package/esm2015/utils/is-card-number-valid.js +4 -6
  140. package/esm2015/utils/is-expire-valid.js +1 -1
  141. package/esm2015/utils/taiga-ui-addon-commerce-utils.js +1 -1
  142. package/esm2015/validators/card-expire.validator.js +2 -2
  143. package/esm2015/validators/card-number.validator.js +4 -4
  144. package/esm2015/validators/index.js +1 -1
  145. package/esm2015/validators/luhn.validator.js +5 -3
  146. package/esm2015/validators/taiga-ui-addon-commerce-validators.js +1 -1
  147. package/fesm2015/taiga-ui-addon-commerce-components-card.js +58 -39
  148. package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
  149. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +196 -136
  150. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  151. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +96 -67
  152. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
  153. package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js +81 -53
  154. package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js.map +1 -1
  155. package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js +72 -48
  156. package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
  157. package/fesm2015/taiga-ui-addon-commerce-components-money.js +133 -108
  158. package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
  159. package/fesm2015/taiga-ui-addon-commerce-components.js.map +1 -1
  160. package/fesm2015/taiga-ui-addon-commerce-constants.js +32 -32
  161. package/fesm2015/taiga-ui-addon-commerce-constants.js.map +1 -1
  162. package/fesm2015/taiga-ui-addon-commerce-enums.js +1 -34
  163. package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
  164. package/fesm2015/taiga-ui-addon-commerce-interfaces.js.map +1 -1
  165. package/fesm2015/taiga-ui-addon-commerce-pipes.js +47 -33
  166. package/fesm2015/taiga-ui-addon-commerce-pipes.js.map +1 -1
  167. package/fesm2015/taiga-ui-addon-commerce-tokens.js +5 -5
  168. package/fesm2015/taiga-ui-addon-commerce-tokens.js.map +1 -1
  169. package/fesm2015/taiga-ui-addon-commerce-types.js.map +1 -1
  170. package/fesm2015/taiga-ui-addon-commerce-utils.js +58 -97
  171. package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
  172. package/fesm2015/taiga-ui-addon-commerce-validators.js +7 -5
  173. package/fesm2015/taiga-ui-addon-commerce-validators.js.map +1 -1
  174. package/fesm2015/taiga-ui-addon-commerce.js +2 -0
  175. package/fesm2015/taiga-ui-addon-commerce.js.map +1 -1
  176. package/interfaces/package.json +2 -5
  177. package/interfaces/taiga-ui-addon-commerce-interfaces.d.ts +1 -0
  178. package/package.json +12 -15
  179. package/pipes/currency/currency.module.d.ts +5 -0
  180. package/pipes/currency/currency.pipe.d.ts +3 -0
  181. package/pipes/format-card/format-card.module.d.ts +5 -0
  182. package/pipes/format-card/format-card.pipe.d.ts +3 -0
  183. package/pipes/package.json +2 -5
  184. package/pipes/taiga-ui-addon-commerce-pipes.d.ts +1 -0
  185. package/taiga-ui-addon-commerce.d.ts +1 -0
  186. package/tokens/package.json +2 -5
  187. package/tokens/taiga-ui-addon-commerce-tokens.d.ts +1 -0
  188. package/types/index.d.ts +1 -0
  189. package/types/money-sign.d.ts +1 -1
  190. package/types/package.json +2 -5
  191. package/types/payment-system.d.ts +1 -0
  192. package/types/taiga-ui-addon-commerce-types.d.ts +1 -0
  193. package/utils/get-currency-symbol.d.ts +1 -5
  194. package/utils/get-payment-system.d.ts +7 -31
  195. package/utils/is-card-length-valid.d.ts +1 -3
  196. package/utils/is-card-number-valid.d.ts +1 -3
  197. package/utils/package.json +2 -5
  198. package/utils/taiga-ui-addon-commerce-utils.d.ts +1 -0
  199. package/validators/package.json +2 -5
  200. package/validators/taiga-ui-addon-commerce-validators.d.ts +1 -0
  201. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js +0 -2
  202. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js.map +0 -1
  203. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +0 -2
  204. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +0 -1
  205. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js +0 -2
  206. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js.map +0 -1
  207. package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.min.js +0 -2
  208. package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.min.js.map +0 -1
  209. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js +0 -2
  210. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js.map +0 -1
  211. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +0 -2
  212. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +0 -1
  213. package/bundles/taiga-ui-addon-commerce-components.umd.min.js +0 -2
  214. package/bundles/taiga-ui-addon-commerce-components.umd.min.js.map +0 -1
  215. package/bundles/taiga-ui-addon-commerce-constants.umd.min.js +0 -2
  216. package/bundles/taiga-ui-addon-commerce-constants.umd.min.js.map +0 -1
  217. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +0 -2
  218. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +0 -1
  219. package/bundles/taiga-ui-addon-commerce-interfaces.umd.min.js +0 -2
  220. package/bundles/taiga-ui-addon-commerce-interfaces.umd.min.js.map +0 -1
  221. package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js +0 -2
  222. package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js.map +0 -1
  223. package/bundles/taiga-ui-addon-commerce-tokens.umd.min.js +0 -2
  224. package/bundles/taiga-ui-addon-commerce-tokens.umd.min.js.map +0 -1
  225. package/bundles/taiga-ui-addon-commerce-types.umd.min.js +0 -2
  226. package/bundles/taiga-ui-addon-commerce-types.umd.min.js.map +0 -1
  227. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +0 -2
  228. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +0 -1
  229. package/bundles/taiga-ui-addon-commerce-validators.umd.min.js +0 -2
  230. package/bundles/taiga-ui-addon-commerce-validators.umd.min.js.map +0 -1
  231. package/bundles/taiga-ui-addon-commerce.umd.min.js +0 -2
  232. package/bundles/taiga-ui-addon-commerce.umd.min.js.map +0 -1
  233. package/components/card/taiga-ui-addon-commerce-components-card.metadata.json +0 -1
  234. package/components/input-card/taiga-ui-addon-commerce-components-input-card.metadata.json +0 -1
  235. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +0 -1
  236. package/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.metadata.json +0 -1
  237. package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.metadata.json +0 -1
  238. package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +0 -1
  239. package/components/taiga-ui-addon-commerce-components.metadata.json +0 -1
  240. package/constants/taiga-ui-addon-commerce-constants.metadata.json +0 -1
  241. package/enums/money-sign.d.ts +0 -16
  242. package/enums/payment-system.d.ts +0 -8
  243. package/enums/taiga-ui-addon-commerce-enums.metadata.json +0 -1
  244. package/esm2015/enums/money-sign.js +0 -18
  245. package/esm2015/enums/payment-system.js +0 -9
  246. package/esm5/components/card/card.component.js +0 -73
  247. package/esm5/components/card/card.module.js +0 -19
  248. package/esm5/components/card/index.js +0 -3
  249. package/esm5/components/card/taiga-ui-addon-commerce-components-card.js +0 -5
  250. package/esm5/components/index.js +0 -7
  251. package/esm5/components/input-card/index.js +0 -3
  252. package/esm5/components/input-card/input-card.component.js +0 -167
  253. package/esm5/components/input-card/input-card.module.js +0 -25
  254. package/esm5/components/input-card/taiga-ui-addon-commerce-components-input-card.js +0 -5
  255. package/esm5/components/input-card-grouped/index.js +0 -4
  256. package/esm5/components/input-card-grouped/input-card-grouped.component.js +0 -511
  257. package/esm5/components/input-card-grouped/input-card-grouped.module.js +0 -40
  258. package/esm5/components/input-card-grouped/input-card-grouped.providers.js +0 -34
  259. package/esm5/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.js +0 -5
  260. package/esm5/components/input-cvc/index.js +0 -3
  261. package/esm5/components/input-cvc/input-cvc.component.js +0 -113
  262. package/esm5/components/input-cvc/input-cvc.module.js +0 -26
  263. package/esm5/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.js +0 -5
  264. package/esm5/components/input-expire/index.js +0 -3
  265. package/esm5/components/input-expire/input-expire.component.js +0 -108
  266. package/esm5/components/input-expire/input-expire.module.js +0 -25
  267. package/esm5/components/input-expire/taiga-ui-addon-commerce-components-input-expire.js +0 -5
  268. package/esm5/components/money/index.js +0 -9
  269. package/esm5/components/money/money-options.js +0 -18
  270. package/esm5/components/money/money.component.js +0 -101
  271. package/esm5/components/money/money.module.js +0 -27
  272. package/esm5/components/money/pipes/fraction-part.pipe.js +0 -27
  273. package/esm5/components/money/pipes/integer-part.pipe.js +0 -21
  274. package/esm5/components/money/pipes/sign-symbol.pipe.js +0 -16
  275. package/esm5/components/money/taiga-ui-addon-commerce-components-money.js +0 -5
  276. package/esm5/components/money/utils/format-fraction-part.js +0 -7
  277. package/esm5/components/money/utils/format-sign-symbol.js +0 -11
  278. package/esm5/components/taiga-ui-addon-commerce-components.js +0 -5
  279. package/esm5/constants/card-holder-mask.js +0 -37
  280. package/esm5/constants/card-mask.js +0 -30
  281. package/esm5/constants/default-card-validator.js +0 -5
  282. package/esm5/constants/index.js +0 -4
  283. package/esm5/constants/taiga-ui-addon-commerce-constants.js +0 -5
  284. package/esm5/enums/currency-code.js +0 -171
  285. package/esm5/enums/currency.js +0 -171
  286. package/esm5/enums/index.js +0 -5
  287. package/esm5/enums/money-sign.js +0 -18
  288. package/esm5/enums/payment-system.js +0 -9
  289. package/esm5/enums/taiga-ui-addon-commerce-enums.js +0 -5
  290. package/esm5/index.js +0 -8
  291. package/esm5/interfaces/card.js +0 -1
  292. package/esm5/interfaces/index.js +0 -1
  293. package/esm5/interfaces/taiga-ui-addon-commerce-interfaces.js +0 -4
  294. package/esm5/pipes/currency/currency.module.js +0 -16
  295. package/esm5/pipes/currency/currency.pipe.js +0 -18
  296. package/esm5/pipes/format-card/format-card.module.js +0 -16
  297. package/esm5/pipes/format-card/format-card.pipe.js +0 -22
  298. package/esm5/pipes/index.js +0 -5
  299. package/esm5/pipes/taiga-ui-addon-commerce-pipes.js +0 -5
  300. package/esm5/taiga-ui-addon-commerce.js +0 -5
  301. package/esm5/tokens/i18n.js +0 -13
  302. package/esm5/tokens/index.js +0 -2
  303. package/esm5/tokens/taiga-ui-addon-commerce-tokens.js +0 -5
  304. package/esm5/types/code-length.js +0 -1
  305. package/esm5/types/currency-variants.js +0 -1
  306. package/esm5/types/index.js +0 -1
  307. package/esm5/types/money-sign.js +0 -1
  308. package/esm5/types/taiga-ui-addon-commerce-types.js +0 -4
  309. package/esm5/utils/create-auto-corrected-expire-pipe.js +0 -43
  310. package/esm5/utils/format-currency.js +0 -17
  311. package/esm5/utils/get-currency-symbol.js +0 -71
  312. package/esm5/utils/get-payment-system.js +0 -103
  313. package/esm5/utils/index.js +0 -8
  314. package/esm5/utils/is-card-length-valid.js +0 -25
  315. package/esm5/utils/is-card-number-valid.js +0 -21
  316. package/esm5/utils/is-expire-valid.js +0 -14
  317. package/esm5/utils/taiga-ui-addon-commerce-utils.js +0 -5
  318. package/esm5/validators/card-expire.validator.js +0 -10
  319. package/esm5/validators/card-number.validator.js +0 -9
  320. package/esm5/validators/index.js +0 -4
  321. package/esm5/validators/luhn.validator.js +0 -9
  322. package/esm5/validators/taiga-ui-addon-commerce-validators.js +0 -5
  323. package/fesm5/taiga-ui-addon-commerce-components-card.js +0 -94
  324. package/fesm5/taiga-ui-addon-commerce-components-card.js.map +0 -1
  325. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +0 -579
  326. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +0 -1
  327. package/fesm5/taiga-ui-addon-commerce-components-input-card.js +0 -193
  328. package/fesm5/taiga-ui-addon-commerce-components-input-card.js.map +0 -1
  329. package/fesm5/taiga-ui-addon-commerce-components-input-cvc.js +0 -140
  330. package/fesm5/taiga-ui-addon-commerce-components-input-cvc.js.map +0 -1
  331. package/fesm5/taiga-ui-addon-commerce-components-input-expire.js +0 -134
  332. package/fesm5/taiga-ui-addon-commerce-components-input-expire.js.map +0 -1
  333. package/fesm5/taiga-ui-addon-commerce-components-money.js +0 -210
  334. package/fesm5/taiga-ui-addon-commerce-components-money.js.map +0 -1
  335. package/fesm5/taiga-ui-addon-commerce-components.js +0 -11
  336. package/fesm5/taiga-ui-addon-commerce-components.js.map +0 -1
  337. package/fesm5/taiga-ui-addon-commerce-constants.js +0 -78
  338. package/fesm5/taiga-ui-addon-commerce-constants.js.map +0 -1
  339. package/fesm5/taiga-ui-addon-commerce-enums.js +0 -375
  340. package/fesm5/taiga-ui-addon-commerce-enums.js.map +0 -1
  341. package/fesm5/taiga-ui-addon-commerce-interfaces.js +0 -4
  342. package/fesm5/taiga-ui-addon-commerce-interfaces.js.map +0 -1
  343. package/fesm5/taiga-ui-addon-commerce-pipes.js +0 -67
  344. package/fesm5/taiga-ui-addon-commerce-pipes.js.map +0 -1
  345. package/fesm5/taiga-ui-addon-commerce-tokens.js +0 -20
  346. package/fesm5/taiga-ui-addon-commerce-tokens.js.map +0 -1
  347. package/fesm5/taiga-ui-addon-commerce-types.js +0 -4
  348. package/fesm5/taiga-ui-addon-commerce-types.js.map +0 -1
  349. package/fesm5/taiga-ui-addon-commerce-utils.js +0 -298
  350. package/fesm5/taiga-ui-addon-commerce-utils.js.map +0 -1
  351. package/fesm5/taiga-ui-addon-commerce-validators.js +0 -31
  352. package/fesm5/taiga-ui-addon-commerce-validators.js.map +0 -1
  353. package/fesm5/taiga-ui-addon-commerce.js +0 -12
  354. package/fesm5/taiga-ui-addon-commerce.js.map +0 -1
  355. package/interfaces/taiga-ui-addon-commerce-interfaces.metadata.json +0 -1
  356. package/pipes/taiga-ui-addon-commerce-pipes.metadata.json +0 -1
  357. package/taiga-ui-addon-commerce.metadata.json +0 -1
  358. package/tokens/taiga-ui-addon-commerce-tokens.metadata.json +0 -1
  359. package/types/taiga-ui-addon-commerce-types.metadata.json +0 -1
  360. package/utils/taiga-ui-addon-commerce-utils.metadata.json +0 -1
  361. package/validators/taiga-ui-addon-commerce-validators.metadata.json +0 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/core'), require('@taiga-ui/cdk')) :
3
3
  typeof define === 'function' && define.amd ? define('@taiga-ui/addon-commerce/utils', ['exports', '@taiga-ui/core', '@taiga-ui/cdk'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui']['addon-commerce'] = global['taiga-ui']['addon-commerce'] || {}, global['taiga-ui']['addon-commerce'].utils = {}), global.core, global.cdk));
5
- }(this, (function (exports, core, cdk) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-commerce"] = global["taiga-ui"]["addon-commerce"] || {}, global["taiga-ui"]["addon-commerce"].utils = {}), global.core, global.cdk));
5
+ })(this, (function (exports, core, cdk) { 'use strict';
6
6
 
7
7
  var TUI_EXP_YEAR_MONTH = /^\d{2}[/|.]\d{4}$/;
8
8
  var TUI_EXP_SAFARI = /^\d{1,4}.\d{1,2}.\d{1,4}$/;
@@ -29,93 +29,88 @@
29
29
  var length = _a.length;
30
30
  return length === 4;
31
31
  });
32
- conformedValue = "" + '0'.repeat(2 - month.length) + month + "/" + (year ? year.slice(2) : '');
32
+ conformedValue = "" + "0".repeat(2 - month.length) + month + "/" + (year ? year.slice(2) : "");
33
33
  }
34
34
  var indexesOfPipedChars = [];
35
- var conformedValueArr = conformedValue.split('');
35
+ var conformedValueArr = conformedValue.split("");
36
36
  if (parseInt(conformedValueArr[0], 10) > 1) {
37
- conformedValueArr[2] = '/';
37
+ conformedValueArr[2] = "/";
38
38
  conformedValueArr[1] = conformedValueArr[0];
39
- conformedValueArr[0] = '0';
39
+ conformedValueArr[0] = "0";
40
40
  indexesOfPipedChars.push(0);
41
41
  }
42
42
  return {
43
- value: conformedValueArr.join(''),
43
+ value: conformedValueArr.join(""),
44
44
  indexesOfPipedChars: indexesOfPipedChars,
45
45
  };
46
46
  };
47
47
  }
48
48
 
49
- /**
50
- * @deprecated: use {@link tuiGetCurrencySymbol} instead
51
- */
52
- // eslint-disable-next-line @typescript-eslint/naming-convention
53
- function getCurrencySymbol(currency) {
49
+ function tuiGetCurrencySymbol(currency) {
54
50
  switch (currency) {
55
51
  case "RUB" /* Ruble */:
56
52
  case "643" /* Ruble */:
57
- return '₽';
53
+ return "\u20BD";
58
54
  case "USD" /* Dollar */:
59
55
  case "840" /* Dollar */:
60
56
  case "MXN" /* MexicanPeso */:
61
57
  case "484" /* MexicanPeso */:
62
- return '$';
58
+ return "$";
63
59
  case "SGD" /* SingaporeDollar */:
64
60
  case "702" /* SingaporeDollar */:
65
- return 'S$';
61
+ return "S$";
66
62
  case "AUD" /* AustralianDollar */:
67
63
  case "036" /* AustralianDollar */:
68
- return 'A$';
64
+ return "A$";
69
65
  case "HKD" /* HongKongDollar */:
70
66
  case "344" /* HongKongDollar */:
71
- return 'HK$';
67
+ return "HK$";
72
68
  case "CAD" /* CanadianDollar */:
73
69
  case "124" /* CanadianDollar */:
74
- return 'C$';
70
+ return "C$";
75
71
  case "EUR" /* Euro */:
76
72
  case "978" /* Euro */:
77
- return '€';
73
+ return "\u20AC";
78
74
  case "GBP" /* Pound */:
79
75
  case "826" /* Pound */:
80
- return '£';
76
+ return "\u00A3";
81
77
  case "THB" /* Baht */:
82
78
  case "764" /* Baht */:
83
- return '฿';
79
+ return "\u0E3F";
84
80
  case "TRY" /* TurkishLira */:
85
81
  case "949" /* TurkishLira */:
86
- return '₺';
82
+ return "\u20BA";
87
83
  case "CNY" /* YuanRenminbi */:
88
84
  case "156" /* YuanRenminbi */:
89
- return 'CN¥';
85
+ return "CN\u00A5";
90
86
  case "JPY" /* Yen */:
91
87
  case "392" /* Yen */:
92
- return '¥';
88
+ return "\u00A5";
93
89
  case "ILS" /* IsraeliShekel */:
94
90
  case "376" /* IsraeliShekel */:
95
- return '₪';
91
+ return "\u20AA";
96
92
  case "INR" /* IndianRupee */:
97
93
  case "356" /* IndianRupee */:
98
- return '₹';
94
+ return "\u20B9";
99
95
  case "CHF" /* SwissFranc */:
100
96
  case "756" /* SwissFranc */:
101
- return '₣';
97
+ return "\u20A3";
102
98
  case "AMD" /* ArmenianDram */:
103
99
  case "051" /* ArmenianDram */:
104
- return '֏';
100
+ return "\u058F";
105
101
  case "KRW" /* Won */:
106
102
  case "410" /* Won */:
107
- return '₩';
103
+ return "\u20A9";
108
104
  case "KZT" /* Tenge */:
109
105
  case "398" /* Tenge */:
110
- return '₸';
106
+ return "\u20B8";
111
107
  case "UAH" /* Hryvnia */:
112
108
  case "980" /* Hryvnia */:
113
- return '₴';
109
+ return "\u20B4";
114
110
  default:
115
111
  return null;
116
112
  }
117
113
  }
118
- var tuiGetCurrencySymbol = getCurrencySymbol;
119
114
 
120
115
  /**
121
116
  * @deprecated: use {@link tuiFormatCurrency} instead
@@ -123,50 +118,41 @@
123
118
  // eslint-disable-next-line @typescript-eslint/naming-convention
124
119
  function formatCurrency(currency) {
125
120
  var stringifiedCurrency = stringifyCurrency(currency);
126
- return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;
121
+ return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;
127
122
  }
128
123
  var tuiFormatCurrency = formatCurrency;
129
124
  function stringifyCurrency(currency) {
130
- return currency === null || typeof currency === 'string'
131
- ? currency || ''
132
- : cdk.padStart(String(currency), 3, '0');
125
+ return currency === null || cdk.tuiIsString(currency)
126
+ ? currency || ""
127
+ : String(currency).padStart(3, "0");
133
128
  }
134
129
 
135
- /**
136
- * @deprecated: use {@link tuiGetPaymentSystem} instead
137
- */
138
- // eslint-disable-next-line @typescript-eslint/naming-convention
139
- function getPaymentSystem(cardNumber) {
140
- if (cardNumber === '') {
130
+ function tuiGetPaymentSystem(cardNumber) {
131
+ if (cardNumber === "") {
141
132
  return null;
142
133
  }
143
134
  var one = Number.parseInt(cardNumber[0], 10);
144
135
  var two = Number.parseInt(cardNumber.slice(0, 2), 10);
145
136
  var three = Number.parseInt(cardNumber.slice(0, 3), 10);
146
137
  var four = Number.parseInt(cardNumber.slice(0, 4), 10);
147
- if (isMaestro(three, two, one)) {
148
- return "maestro" /* Maestro */;
138
+ if (tuiIsMaestro(three, two, one)) {
139
+ return "maestro";
149
140
  }
150
- if (isMastercard(four, two, one)) {
151
- return "mastercard" /* Mastercard */;
141
+ if (tuiIsMastercard(four, two, one)) {
142
+ return "mastercard";
152
143
  }
153
- if (isMir(four)) {
154
- return "mir" /* Mir */;
144
+ if (tuiIsMir(four)) {
145
+ return "mir";
155
146
  }
156
- if (isElectron(four)) {
157
- return "electron" /* Electron */;
147
+ if (tuiIsElectron(four)) {
148
+ return "electron";
158
149
  }
159
- if (isVisa(one)) {
160
- return "visa" /* Visa */;
150
+ if (tuiIsVisa(one)) {
151
+ return "visa";
161
152
  }
162
153
  return null;
163
154
  }
164
- var tuiGetPaymentSystem = getPaymentSystem;
165
- /**
166
- * @deprecated: use {@link tuiIsMaestro} instead
167
- */
168
- // eslint-disable-next-line @typescript-eslint/naming-convention
169
- function isMaestro(three, two, one) {
155
+ function tuiIsMaestro(three, two, one) {
170
156
  if (one === 6) {
171
157
  return true;
172
158
  }
@@ -178,12 +164,7 @@
178
164
  }
179
165
  return three < 510;
180
166
  }
181
- var tuiIsMaestro = isMaestro;
182
- /**
183
- * @deprecated: use {@link tuiIsMastercard} instead
184
- */
185
- // eslint-disable-next-line @typescript-eslint/naming-convention
186
- function isMastercard(four, two, one) {
167
+ function tuiIsMastercard(four, two, one) {
187
168
  if (one === 5) {
188
169
  return true;
189
170
  }
@@ -198,20 +179,10 @@
198
179
  }
199
180
  return four > 2220 && four < 2721;
200
181
  }
201
- var tuiIsMastercard = isMastercard;
202
- /**
203
- * @deprecated: use {@link tuiIsMir} instead
204
- */
205
- // eslint-disable-next-line @typescript-eslint/naming-convention
206
- function isMir(four) {
182
+ function tuiIsMir(four) {
207
183
  return four > 2199 && four < 2205;
208
184
  }
209
- var tuiIsMir = isMir;
210
- /**
211
- * @deprecated: use {@link tuiIsElectron} instead
212
- */
213
- // eslint-disable-next-line @typescript-eslint/naming-convention
214
- function isElectron(four) {
185
+ function tuiIsElectron(four) {
215
186
  switch (four) {
216
187
  case 4026:
217
188
  case 4175:
@@ -225,49 +196,40 @@
225
196
  return false;
226
197
  }
227
198
  }
228
- var tuiIsElectron = isElectron;
229
- /**
230
- * @deprecated: use {@link tuiIsVisa} instead
231
- */
232
- // eslint-disable-next-line @typescript-eslint/naming-convention
233
- function isVisa(one) {
199
+ function tuiIsVisa(one) {
234
200
  return one === 4;
235
201
  }
236
- var tuiIsVisa = isVisa;
237
202
 
238
203
  /**
239
- * @deprecated: use {@link tuiIsCardLengthValid} instead
240
204
  * Validates card number length using payment system dictionary
241
205
  */
242
206
  // eslint-disable-next-line @typescript-eslint/naming-convention
243
- function isCardLengthValid(cardNumber) {
207
+ function tuiIsCardLengthValid(cardNumber) {
244
208
  var length = cardNumber.length;
245
- var paymentSystem = getPaymentSystem(cardNumber);
209
+ var paymentSystem = tuiGetPaymentSystem(cardNumber);
246
210
  switch (paymentSystem) {
247
- case "electron" /* Electron */:
211
+ case "electron":
248
212
  return length === 16;
249
- case "maestro" /* Maestro */:
213
+ case "maestro":
250
214
  return length > 11 && length < 20;
251
- case "mastercard" /* Mastercard */:
252
- case "mir" /* Mir */:
215
+ case "mastercard":
216
+ case "mir":
253
217
  return length > 15 && length < 20;
254
- case "visa" /* Visa */:
218
+ case "visa":
255
219
  return length > 12 && length < 20;
256
220
  default:
257
221
  return length > 8 && length < 20;
258
222
  }
259
223
  }
260
- var tuiIsCardLengthValid = isCardLengthValid;
261
224
 
262
225
  /**
263
- * @deprecated: use {@link tuiIsCardNumberValid} instead
264
226
  * Validates card number using Luhn algorithm
265
227
  */
266
228
  // eslint-disable-next-line @typescript-eslint/naming-convention
267
- function isCardNumberValid(value) {
268
- var cardNumber = String(value).replace(core.TUI_NON_DIGITS_REGEXP, '');
229
+ function tuiIsCardNumberValid(value) {
230
+ var cardNumber = String(value).replace(core.TUI_NON_DIGITS_REGEXP, "");
269
231
  var length = cardNumber.length;
270
- var arr = cardNumber.split('').map(function (char, index) {
232
+ var arr = cardNumber.split("").map(function (char, index) {
271
233
  var digit = parseInt(char, 10);
272
234
  if ((index + length) % 2 === 0) {
273
235
  var digitX2 = digit * 2;
@@ -277,7 +239,6 @@
277
239
  });
278
240
  return !(arr.reduce(function (a, b) { return a + b; }, 0) % 10);
279
241
  }
280
- var tuiIsCardNumberValid = isCardNumberValid;
281
242
 
282
243
  /**
283
244
  * @deprecated: use {@link tuiIsExpireValid} instead
@@ -293,17 +254,12 @@
293
254
  }
294
255
  var tuiIsExpireValid = isExpireValid;
295
256
 
257
+ /**
258
+ * Generated bundle index. Do not edit.
259
+ */
260
+
296
261
  exports.formatCurrency = formatCurrency;
297
- exports.getCurrencySymbol = getCurrencySymbol;
298
- exports.getPaymentSystem = getPaymentSystem;
299
- exports.isCardLengthValid = isCardLengthValid;
300
- exports.isCardNumberValid = isCardNumberValid;
301
- exports.isElectron = isElectron;
302
262
  exports.isExpireValid = isExpireValid;
303
- exports.isMaestro = isMaestro;
304
- exports.isMastercard = isMastercard;
305
- exports.isMir = isMir;
306
- exports.isVisa = isVisa;
307
263
  exports.tuiCreateAutoCorrectedExpirePipe = tuiCreateAutoCorrectedExpirePipe;
308
264
  exports.tuiFormatCurrency = tuiFormatCurrency;
309
265
  exports.tuiGetCurrencySymbol = tuiGetCurrencySymbol;
@@ -319,5 +275,5 @@
319
275
 
320
276
  Object.defineProperty(exports, '__esModule', { value: true });
321
277
 
322
- })));
278
+ }));
323
279
  //# sourceMappingURL=taiga-ui-addon-commerce-utils.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-utils.umd.js","sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = `${rawValue.slice(0, 2)}/${rawValue.slice(5)}`;\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${'0'.repeat(2 - month.length)}${month}/${\n year ? year.slice(2) : ''\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = '/';\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = '0';\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\n/**\n * @deprecated: use {@link tuiGetCurrencySymbol} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.MexicanPeso:\n return '$';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\n return 'HK$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n default:\n return null;\n }\n}\n\nexport const tuiGetCurrencySymbol = getCurrencySymbol;\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\n\nimport {getCurrencySymbol} from './get-currency-symbol';\n\n/**\n * @deprecated: use {@link tuiFormatCurrency} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nexport const tuiFormatCurrency = formatCurrency;\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === 'string'\n ? currency || ''\n : padStart(String(currency), 3, '0');\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\n/**\n * @deprecated: use {@link tuiGetPaymentSystem} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === '') {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.slice(0, 2), 10);\n const three = Number.parseInt(cardNumber.slice(0, 3), 10);\n const four = Number.parseInt(cardNumber.slice(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport const tuiGetPaymentSystem = getPaymentSystem;\n\n/**\n * @deprecated: use {@link tuiIsMaestro} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport const tuiIsMaestro = isMaestro;\n\n/**\n * @deprecated: use {@link tuiIsMastercard} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport const tuiIsMastercard = isMastercard;\n\n/**\n * @deprecated: use {@link tuiIsMir} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport const tuiIsMir = isMir;\n\n/**\n * @deprecated: use {@link tuiIsElectron} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport const tuiIsElectron = isElectron;\n\n/**\n * @deprecated: use {@link tuiIsVisa} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n\nexport const tuiIsVisa = isVisa;\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * @deprecated: use {@link tuiIsCardLengthValid} instead\n * Validates card number length using payment system dictionary\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n\nexport const tuiIsCardLengthValid = isCardLengthValid;\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * @deprecated: use {@link tuiIsCardNumberValid} instead\n * Validates card number using Luhn algorithm\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n\nexport const tuiIsCardNumberValid = isCardNumberValid;\n","/**\n * @deprecated: use {@link tuiIsExpireValid} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n\nexport const tuiIsExpireValid = isExpireValid;\n"],"names":["TUI_NON_DIGIT_REGEXP","padStart","TUI_NON_DIGITS_REGEXP"],"mappings":";;;;;;IAEA,IAAM,kBAAkB,GAAG,mBAAmB,CAAC;IAC/C,IAAM,cAAc,GAAG,2BAA2B,CAAC;IAEnD;;;;;;aAMgB,gCAAgC;QAC5C,OAAO,UAAC,cAAc,EAAE,EAAU;gBAAT,sBAAQ;;YAE7B,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACnC,cAAc,GAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAG,CAAC;aACnE;;YAGD,IACI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACnB,QAAQ,CAAC,MAAM,GAAG,EAAE;gBACpB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC/B;gBACE,IAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAACA,yBAAoB,CAAC,CAAC;gBACnD,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,EAAQ;wBAAP,kBAAM;oBAAM,OAAA,MAAM,KAAK,CAAC;iBAAA,CAAC,CAAC;gBAEpD,cAAc,GAAG,KAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,UACpD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAC3B,CAAC;aACN;YAED,IAAM,mBAAmB,GAAa,EAAE,CAAC;YACzC,IAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEnD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;gBACxC,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC3B,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC5C,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC3B,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC/B;YAED,OAAO;gBACH,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,mBAAmB,qBAAA;aACtB,CAAC;SACL,CAAC;IACN;;IC7CA;;;IAGA;aACgB,iBAAiB,CAAC,QAA6B;QAC3D,QAAQ,QAAQ;YACZ,uBAAuB;YACvB;gBACI,OAAO,GAAG,CAAC;YACf,wBAAwB;YACxB,wBAA4B;YAC5B,6BAA6B;YAC7B;gBACI,OAAO,GAAG,CAAC;YACf,iCAAiC;YACjC;gBACI,OAAO,IAAI,CAAC;YAChB,kCAAkC;YAClC;gBACI,OAAO,IAAI,CAAC;YAChB,gCAAgC;YAChC;gBACI,OAAO,KAAK,CAAC;YACjB,gCAAgC;YAChC;gBACI,OAAO,IAAI,CAAC;YAChB,sBAAsB;YACtB;gBACI,OAAO,GAAG,CAAC;YACf,uBAAuB;YACvB;gBACI,OAAO,GAAG,CAAC;YACf,sBAAsB;YACtB;gBACI,OAAO,GAAG,CAAC;YACf,6BAA6B;YAC7B;gBACI,OAAO,GAAG,CAAC;YACf,8BAA8B;YAC9B;gBACI,OAAO,KAAK,CAAC;YACjB,qBAAqB;YACrB;gBACI,OAAO,GAAG,CAAC;YACf,+BAA+B;YAC/B;gBACI,OAAO,GAAG,CAAC;YACf,6BAA6B;YAC7B;gBACI,OAAO,GAAG,CAAC;YACf,4BAA4B;YAC5B;gBACI,OAAO,GAAG,CAAC;YACf,8BAA8B;YAC9B;gBACI,OAAO,GAAG,CAAC;YACf,qBAAqB;YACrB;gBACI,OAAO,GAAG,CAAC;YACf,uBAAuB;YACvB;gBACI,OAAO,GAAG,CAAC;YACf,yBAAyB;YACzB;gBACI,OAAO,GAAG,CAAC;YACf;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;QAEY,oBAAoB,GAAG;;ICpEpC;;;IAGA;aACgB,cAAc,CAAC,QAA6B;QACxD,IAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAExD,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC;IACzE,CAAC;QAEY,iBAAiB,GAAG,eAAe;IAEhD,SAAS,iBAAiB,CAAC,QAA6B;QACpD,OAAO,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;cAClD,QAAQ,IAAI,EAAE;cACdC,YAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C;;ICnBA;;;IAGA;aACgB,gBAAgB,CAAC,UAAkB;QAC/C,IAAI,UAAU,KAAK,EAAE,EAAE;YACnB,OAAO,IAAI,CAAC;SACf;QAED,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzD,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YAC5B,+BAAgC;SACnC;QAED,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YAC9B,qCAAmC;SACtC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;YACb,uBAA4B;SAC/B;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YAClB,iCAAiC;SACpC;QAED,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;YACb,yBAA6B;SAChC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;QAEY,mBAAmB,GAAG,iBAAiB;IAEpD;;;IAGA;aACgB,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QAC7D,IAAI,GAAG,KAAK,CAAC,EAAE;YACX,OAAO,IAAI,CAAC;SACf;QAED,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACf;QAED,IAAI,KAAK,GAAG,GAAG,EAAE;YACb,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,KAAK,GAAG,GAAG,CAAC;IACvB,CAAC;QAEY,YAAY,GAAG,UAAU;IAEtC;;;IAGA;aACgB,YAAY,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;QAC/D,IAAI,GAAG,KAAK,CAAC,EAAE;YACX,OAAO,IAAI,CAAC;SACf;QAED,IAAI,GAAG,GAAG,EAAE,EAAE;YACV,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE;YACtB,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAI,GAAG,IAAI,EAAE;YACb,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;IACtC,CAAC;QAEY,eAAe,GAAG,aAAa;IAE5C;;;IAGA;aACgB,KAAK,CAAC,IAAY;QAC9B,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;IACtC,CAAC;QAEY,QAAQ,GAAG,MAAM;IAE9B;;;IAGA;aACgB,UAAU,CAAC,IAAY;QACnC,QAAQ,IAAI;YACR,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI;gBACL,OAAO,IAAI,CAAC;YAChB;gBACI,OAAO,KAAK,CAAC;SACpB;IACL,CAAC;QAEY,aAAa,GAAG,WAAW;IAExC;;;IAGA;aACgB,MAAM,CAAC,GAAW;QAC9B,OAAO,GAAG,KAAK,CAAC,CAAC;IACrB,CAAC;QAEY,SAAS,GAAG;;IC5HzB;;;;IAIA;aACgB,iBAAiB,CAAC,UAAkB;QACzC,IAAA,0BAAM,CAAe;QAC5B,IAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEnD,QAAQ,aAAa;YACjB;gBACI,OAAO,MAAM,KAAK,EAAE,CAAC;YACzB;gBACI,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;YACtC,mCAAiC;YACjC;gBACI,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;YACtC;gBACI,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;YACtC;gBACI,OAAO,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;SACxC;IACL,CAAC;QAEY,oBAAoB,GAAG;;IC1BpC;;;;IAIA;aACgB,iBAAiB,CAAC,KAAsB;QACpD,IAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAACC,0BAAqB,EAAE,EAAE,CAAC,CAAC;QAE7D,IAAA,0BAAM,CAAe;QAC5B,IAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;YAC7C,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAEjC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC5B,IAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;gBAE1B,OAAO,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC;aAC9C;YAED,OAAO,KAAK,CAAC;SAChB,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,GAAA,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;QAEY,oBAAoB,GAAG;;IC1BpC;;;IAGA;aACgB,aAAa,CAAC,MAAc;QACxC,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,IAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;QAC/C,IAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAI,GAAG,WAAW,KAAK,IAAI,KAAK,WAAW,IAAI,KAAK,IAAI,YAAY,CAAC,CAAC;IACjF,CAAC;QAEY,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-utils.umd.js","sources":["../../../projects/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","../../../projects/addon-commerce/utils/get-currency-symbol.ts","../../../projects/addon-commerce/utils/format-currency.ts","../../../projects/addon-commerce/utils/get-payment-system.ts","../../../projects/addon-commerce/utils/is-card-length-valid.ts","../../../projects/addon-commerce/utils/is-card-number-valid.ts","../../../projects/addon-commerce/utils/is-expire-valid.ts","../../../projects/addon-commerce/utils/taiga-ui-addon-commerce-utils.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = `${rawValue.slice(0, 2)}/${rawValue.slice(5)}`;\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${`0`.repeat(2 - month.length)}${month}/${\n year ? year.slice(2) : ``\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split(``);\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = `/`;\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = `0`;\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(``),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return `₽`;\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.MexicanPeso:\n return `$`;\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return `S$`;\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return `A$`;\n case TuiCurrency.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\n return `HK$`;\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return `C$`;\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return `€`;\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return `£`;\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return `฿`;\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return `₺`;\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return `CN¥`;\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return `¥`;\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return `₪`;\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return `₹`;\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return `₣`;\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return `֏`;\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return `₩`;\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return `₸`;\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return `₴`;\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiIsString} from '@taiga-ui/cdk';\n\nimport {tuiGetCurrencySymbol} from './get-currency-symbol';\n\n/**\n * @deprecated: use {@link tuiFormatCurrency} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nexport const tuiFormatCurrency = formatCurrency;\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || tuiIsString(currency)\n ? currency || ``\n : String(currency).padStart(3, `0`);\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === ``) {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.slice(0, 2), 10);\n const three = Number.parseInt(cardNumber.slice(0, 3), 10);\n const four = Number.parseInt(cardNumber.slice(0, 4), 10);\n\n if (tuiIsMaestro(three, two, one)) {\n return `maestro`;\n }\n\n if (tuiIsMastercard(four, two, one)) {\n return `mastercard`;\n }\n\n if (tuiIsMir(four)) {\n return `mir`;\n }\n\n if (tuiIsElectron(four)) {\n return `electron`;\n }\n\n if (tuiIsVisa(one)) {\n return `visa`;\n }\n\n return null;\n}\n\nexport function tuiIsMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function tuiIsMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function tuiIsMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function tuiIsElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function tuiIsVisa(one: number): boolean {\n return one === 4;\n}\n","import {tuiGetPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function tuiIsCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = tuiGetPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case `electron`:\n return length === 16;\n case `maestro`:\n return length > 11 && length < 20;\n case `mastercard`:\n case `mir`:\n return length > 15 && length < 20;\n case `visa`:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function tuiIsCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, ``);\n\n const {length} = cardNumber;\n const arr = cardNumber.split(``).map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","/**\n * @deprecated: use {@link tuiIsExpireValid} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n\nexport const tuiIsExpireValid = isExpireValid;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TUI_NON_DIGIT_REGEXP","tuiIsString","TUI_NON_DIGITS_REGEXP"],"mappings":"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"}
@@ -1,36 +1,42 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/addon-commerce/utils'), require('@taiga-ui/cdk')) :
3
3
  typeof define === 'function' && define.amd ? define('@taiga-ui/addon-commerce/validators', ['exports', '@taiga-ui/addon-commerce/utils', '@taiga-ui/cdk'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui']['addon-commerce'] = global['taiga-ui']['addon-commerce'] || {}, global['taiga-ui']['addon-commerce'].validators = {}), global['taiga-ui']['addon-commerce'].utils, global.cdk));
5
- }(this, (function (exports, utils, cdk) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-commerce"] = global["taiga-ui"]["addon-commerce"] || {}, global["taiga-ui"]["addon-commerce"].validators = {}), global["taiga-ui"]["addon-commerce"].utils, global.cdk));
5
+ })(this, (function (exports, utils, cdk) { 'use strict';
6
6
 
7
- function tuiCardExpireValidator(_a) {
8
- var value = _a.value;
9
- var _b;
10
- return ((_b = value === null || value === void 0 ? void 0 : value.expire) === null || _b === void 0 ? void 0 : _b.length) === 5 && !utils.isExpireValid(value === null || value === void 0 ? void 0 : value.expire)
11
- ? { expire: new cdk.TuiValidationError('Expire date') }
7
+ function tuiCardExpireValidator(_b) {
8
+ var value = _b.value;
9
+ var _a;
10
+ return ((_a = value === null || value === void 0 ? void 0 : value.expire) === null || _a === void 0 ? void 0 : _a.length) === 5 && !utils.isExpireValid(value === null || value === void 0 ? void 0 : value.expire)
11
+ ? { expire: new cdk.TuiValidationError("Expire date") }
12
12
  : null;
13
13
  }
14
14
 
15
15
  function tuiCardNumberValidator(_a) {
16
16
  var value = _a.value;
17
- return (value === null || value === void 0 ? void 0 : value.card) && !utils.isCardNumberValid(value.card)
18
- ? { card: new cdk.TuiValidationError('Invalid card number') }
17
+ return (value === null || value === void 0 ? void 0 : value.card) && !utils.tuiIsCardNumberValid(value.card)
18
+ ? { card: new cdk.TuiValidationError("Invalid card number") }
19
19
  : null;
20
20
  }
21
21
 
22
22
  function tuiCreateLuhnValidator(message) {
23
23
  return function (_a) {
24
24
  var value = _a.value;
25
- return utils.isCardNumberValid(value) ? null : { luhn: new cdk.TuiValidationError(message) };
25
+ return utils.tuiIsCardNumberValid(value)
26
+ ? null
27
+ : { luhn: new cdk.TuiValidationError(message) };
26
28
  };
27
29
  }
28
30
 
31
+ /**
32
+ * Generated bundle index. Do not edit.
33
+ */
34
+
29
35
  exports.tuiCardExpireValidator = tuiCardExpireValidator;
30
36
  exports.tuiCardNumberValidator = tuiCardNumberValidator;
31
37
  exports.tuiCreateLuhnValidator = tuiCreateLuhnValidator;
32
38
 
33
39
  Object.defineProperty(exports, '__esModule', { value: true });
34
40
 
35
- })));
41
+ }));
36
42
  //# sourceMappingURL=taiga-ui-addon-commerce-validators.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-validators.umd.js","sources":["ng://@taiga-ui/addon-commerce/validators/card-expire.validator.ts","ng://@taiga-ui/addon-commerce/validators/card-number.validator.ts","ng://@taiga-ui/addon-commerce/validators/luhn.validator.ts"],"sourcesContent":["import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {isExpireValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardExpireValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.expire?.length === 5 && !isExpireValid(value?.expire)\n ? {expire: new TuiValidationError('Expire date')}\n : null;\n}\n","import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {isCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardNumberValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.card && !isCardNumberValid(value.card)\n ? {card: new TuiValidationError('Invalid card number')}\n : null;\n}\n","import {AbstractControl, ValidatorFn} from '@angular/forms';\nimport {isCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport function tuiCreateLuhnValidator(message: PolymorpheusContent): ValidatorFn {\n return ({value}: AbstractControl) => {\n return isCardNumberValid(value) ? null : {luhn: new TuiValidationError(message)};\n };\n}\n"],"names":["isExpireValid","TuiValidationError","isCardNumberValid"],"mappings":";;;;;;aAIgB,sBAAsB,CAAC,EAErB;YADd,gBAAK;;QAEL,OAAO,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,MAAK,CAAC,IAAI,CAACA,mBAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;cAC7D,EAAC,MAAM,EAAE,IAAIC,sBAAkB,CAAC,aAAa,CAAC,EAAC;cAC/C,IAAI,CAAC;IACf;;aCNgB,sBAAsB,CAAC,EAErB;YADd,gBAAK;QAEL,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAACC,uBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;cAC9C,EAAC,IAAI,EAAE,IAAID,sBAAkB,CAAC,qBAAqB,CAAC,EAAC;cACrD,IAAI,CAAC;IACf;;aCLgB,sBAAsB,CAAC,OAA4B;QAC/D,OAAO,UAAC,EAAwB;gBAAvB,gBAAK;YACV,OAAOC,uBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAC,IAAI,EAAE,IAAID,sBAAkB,CAAC,OAAO,CAAC,EAAC,CAAC;SACpF,CAAC;IACN;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-validators.umd.js","sources":["../../../projects/addon-commerce/validators/card-expire.validator.ts","../../../projects/addon-commerce/validators/card-number.validator.ts","../../../projects/addon-commerce/validators/luhn.validator.ts","../../../projects/addon-commerce/validators/taiga-ui-addon-commerce-validators.ts"],"sourcesContent":["import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {isExpireValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardExpireValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.expire?.length === 5 && !isExpireValid(value?.expire)\n ? {expire: new TuiValidationError(`Expire date`)}\n : null;\n}\n","import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {tuiIsCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardNumberValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.card && !tuiIsCardNumberValid(value.card)\n ? {card: new TuiValidationError(`Invalid card number`)}\n : null;\n}\n","import {AbstractControl, ValidatorFn} from '@angular/forms';\nimport {tuiIsCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport function tuiCreateLuhnValidator(message: PolymorpheusContent): ValidatorFn {\n return ({value}: AbstractControl) => {\n return tuiIsCardNumberValid(value)\n ? null\n : {luhn: new TuiValidationError(message)};\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["isExpireValid","TuiValidationError","tuiIsCardNumberValid"],"mappings":";;;;;;IAIM,SAAU,sBAAsB,CAAC,EAErB,EAAA;IADd,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;;IAEL,IAAA,OAAO,CAAA,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAK,CAAC,IAAI,CAACA,mBAAa,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,CAAC;cAC7D,EAAC,MAAM,EAAE,IAAIC,sBAAkB,CAAC,aAAa,CAAC,EAAC;cAC/C,IAAI,CAAC;IACf;;ICNM,SAAU,sBAAsB,CAAC,EAErB,EAAA;IADd,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;IAEL,IAAA,OAAO,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAACC,0BAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;cACjD,EAAC,IAAI,EAAE,IAAID,sBAAkB,CAAC,qBAAqB,CAAC,EAAC;cACrD,IAAI,CAAC;IACf;;ICLM,SAAU,sBAAsB,CAAC,OAA4B,EAAA;IAC/D,IAAA,OAAO,UAAC,EAAwB,EAAA;IAAvB,QAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;YACV,OAAOC,0BAAoB,CAAC,KAAK,CAAC;IAC9B,cAAE,IAAI;kBACJ,EAAC,IAAI,EAAE,IAAID,sBAAkB,CAAC,OAAO,CAAC,EAAC,CAAC;IAClD,KAAC,CAAC;IACN;;ICXA;;IAEG;;;;;;;;;;;;"}
@@ -1,71 +1,69 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/addon-commerce/components'), require('@taiga-ui/addon-commerce/constants'), require('@taiga-ui/addon-commerce/enums'), require('@taiga-ui/addon-commerce/pipes'), require('@taiga-ui/addon-commerce/tokens'), require('@taiga-ui/addon-commerce/utils'), require('@taiga-ui/addon-commerce/validators')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/addon-commerce', ['exports', '@taiga-ui/addon-commerce/components', '@taiga-ui/addon-commerce/constants', '@taiga-ui/addon-commerce/enums', '@taiga-ui/addon-commerce/pipes', '@taiga-ui/addon-commerce/tokens', '@taiga-ui/addon-commerce/utils', '@taiga-ui/addon-commerce/validators'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui']['addon-commerce'] = {}), global['taiga-ui']['addon-commerce'].components, global['taiga-ui']['addon-commerce'].constants, global['taiga-ui']['addon-commerce'].enums, global['taiga-ui']['addon-commerce'].pipes, global['taiga-ui']['addon-commerce'].tokens, global['taiga-ui']['addon-commerce'].utils, global['taiga-ui']['addon-commerce'].validators));
5
- }(this, (function (exports, components, constants, enums, pipes, tokens, utils, validators) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/addon-commerce/components'), require('@taiga-ui/addon-commerce/constants'), require('@taiga-ui/addon-commerce/enums'), require('@taiga-ui/addon-commerce/interfaces'), require('@taiga-ui/addon-commerce/pipes'), require('@taiga-ui/addon-commerce/tokens'), require('@taiga-ui/addon-commerce/types'), require('@taiga-ui/addon-commerce/utils'), require('@taiga-ui/addon-commerce/validators')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/addon-commerce', ['exports', '@taiga-ui/addon-commerce/components', '@taiga-ui/addon-commerce/constants', '@taiga-ui/addon-commerce/enums', '@taiga-ui/addon-commerce/interfaces', '@taiga-ui/addon-commerce/pipes', '@taiga-ui/addon-commerce/tokens', '@taiga-ui/addon-commerce/types', '@taiga-ui/addon-commerce/utils', '@taiga-ui/addon-commerce/validators'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-commerce"] = {}), global["taiga-ui"]["addon-commerce"].components, global["taiga-ui"]["addon-commerce"].constants, global["taiga-ui"]["addon-commerce"].enums, global["taiga-ui"]["addon-commerce"].interfaces, global["taiga-ui"]["addon-commerce"].pipes, global["taiga-ui"]["addon-commerce"].tokens, global["taiga-ui"]["addon-commerce"].types, global["taiga-ui"]["addon-commerce"].utils, global["taiga-ui"]["addon-commerce"].validators));
5
+ })(this, (function (exports, components, constants, enums, interfaces, pipes, tokens, types, utils, validators) { 'use strict';
6
6
 
7
7
  /**
8
8
  * Generated bundle index. Do not edit.
9
9
  */
10
10
 
11
11
  Object.keys(components).forEach(function (k) {
12
- if (k !== 'default') Object.defineProperty(exports, k, {
12
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
13
13
  enumerable: true,
14
- get: function () {
15
- return components[k];
16
- }
14
+ get: function () { return components[k]; }
17
15
  });
18
16
  });
19
17
  Object.keys(constants).forEach(function (k) {
20
- if (k !== 'default') Object.defineProperty(exports, k, {
18
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
21
19
  enumerable: true,
22
- get: function () {
23
- return constants[k];
24
- }
20
+ get: function () { return constants[k]; }
25
21
  });
26
22
  });
27
23
  Object.keys(enums).forEach(function (k) {
28
- if (k !== 'default') Object.defineProperty(exports, k, {
24
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
29
25
  enumerable: true,
30
- get: function () {
31
- return enums[k];
32
- }
26
+ get: function () { return enums[k]; }
27
+ });
28
+ });
29
+ Object.keys(interfaces).forEach(function (k) {
30
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
31
+ enumerable: true,
32
+ get: function () { return interfaces[k]; }
33
33
  });
34
34
  });
35
35
  Object.keys(pipes).forEach(function (k) {
36
- if (k !== 'default') Object.defineProperty(exports, k, {
36
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
37
37
  enumerable: true,
38
- get: function () {
39
- return pipes[k];
40
- }
38
+ get: function () { return pipes[k]; }
41
39
  });
42
40
  });
43
41
  Object.keys(tokens).forEach(function (k) {
44
- if (k !== 'default') Object.defineProperty(exports, k, {
42
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
43
+ enumerable: true,
44
+ get: function () { return tokens[k]; }
45
+ });
46
+ });
47
+ Object.keys(types).forEach(function (k) {
48
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
45
49
  enumerable: true,
46
- get: function () {
47
- return tokens[k];
48
- }
50
+ get: function () { return types[k]; }
49
51
  });
50
52
  });
51
53
  Object.keys(utils).forEach(function (k) {
52
- if (k !== 'default') Object.defineProperty(exports, k, {
54
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
53
55
  enumerable: true,
54
- get: function () {
55
- return utils[k];
56
- }
56
+ get: function () { return utils[k]; }
57
57
  });
58
58
  });
59
59
  Object.keys(validators).forEach(function (k) {
60
- if (k !== 'default') Object.defineProperty(exports, k, {
60
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
61
61
  enumerable: true,
62
- get: function () {
63
- return validators[k];
64
- }
62
+ get: function () { return validators[k]; }
65
63
  });
66
64
  });
67
65
 
68
66
  Object.defineProperty(exports, '__esModule', { value: true });
69
67
 
70
- })));
68
+ }));
71
69
  //# sourceMappingURL=taiga-ui-addon-commerce.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce.umd.js","sources":["ng://@taiga-ui/addon-commerce/taiga-ui-addon-commerce.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce.umd.js","sources":["../../../projects/addon-commerce/taiga-ui-addon-commerce.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;CAAA;;CAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,13 +1,16 @@
1
- import { TuiPaymentSystem, TuiPaymentSystemT } from '@taiga-ui/addon-commerce/enums';
1
+ import { TuiPaymentSystem } from '@taiga-ui/addon-commerce/types';
2
2
  import { TuiSizeS } from '@taiga-ui/core';
3
+ import * as i0 from "@angular/core";
3
4
  export declare function cardNumberAssertion({ length }: string): boolean;
4
5
  export declare const cardNumberAssertionMessage = "cardNumber should contain 4 symbols";
5
6
  export declare class TuiCardComponent {
6
7
  active: boolean;
7
8
  brandLogo: string;
8
9
  cardNumber: string;
9
- paymentSystem: TuiPaymentSystemT | TuiPaymentSystem | null;
10
+ paymentSystem: TuiPaymentSystem | null;
10
11
  size: TuiSizeS;
11
12
  get hasBrandLogo(): boolean;
12
13
  get paymentSystemLogo(): string;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiCardComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiCardComponent, "tui-card", never, { "active": "active"; "brandLogo": "brandLogo"; "cardNumber": "cardNumber"; "paymentSystem": "paymentSystem"; "size": "size"; }, {}, never, never>;
13
16
  }
@@ -1,2 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./card.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@taiga-ui/core";
1
5
  export declare class TuiCardModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiCardModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiCardModule, [typeof i1.TuiCardComponent], [typeof i2.CommonModule, typeof i3.TuiSvgModule], [typeof i1.TuiCardComponent]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiCardModule>;
2
9
  }