@taiga-ui/addon-commerce 2.59.1 → 3.0.0-rc.1

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 (365) hide show
  1. package/bundles/taiga-ui-addon-commerce-components-card.umd.js +420 -306
  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 +610 -463
  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 +458 -332
  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 +436 -310
  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 +427 -304
  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 +509 -377
  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 +8 -6
  16. package/bundles/taiga-ui-addon-commerce-constants.umd.js.map +1 -1
  17. package/bundles/taiga-ui-addon-commerce-enums.umd.js +100 -41
  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 +60 -271
  22. package/bundles/taiga-ui-addon-commerce-pipes.umd.js.map +1 -1
  23. package/bundles/taiga-ui-addon-commerce-tokens.umd.js +9 -5
  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 +46 -95
  28. package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
  29. package/bundles/taiga-ui-addon-commerce-validators.umd.js +15 -9
  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 -4
  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 -4
  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/input-card-grouped.providers.d.ts +0 -2
  44. package/components/input-card-grouped/package.json +2 -5
  45. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.d.ts +1 -0
  46. package/components/input-cvc/input-cvc.component.d.ts +3 -1
  47. package/components/input-cvc/input-cvc.module.d.ts +8 -0
  48. package/components/input-cvc/package.json +2 -5
  49. package/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.d.ts +1 -0
  50. package/components/input-expire/input-expire.component.d.ts +3 -1
  51. package/components/input-expire/input-expire.module.d.ts +8 -0
  52. package/components/input-expire/package.json +2 -5
  53. package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.d.ts +1 -0
  54. package/components/money/money-options.d.ts +4 -4
  55. package/components/money/money.component.d.ts +7 -4
  56. package/components/money/money.module.d.ts +10 -0
  57. package/components/money/package.json +2 -5
  58. package/components/money/pipes/fraction-part.pipe.d.ts +5 -2
  59. package/components/money/pipes/integer-part.pipe.d.ts +3 -0
  60. package/components/money/pipes/sign-symbol.pipe.d.ts +5 -2
  61. package/components/money/taiga-ui-addon-commerce-components-money.d.ts +1 -0
  62. package/components/money/utils/format-fraction-part.d.ts +2 -2
  63. package/components/money/utils/format-sign-symbol.d.ts +2 -2
  64. package/components/package.json +2 -5
  65. package/components/taiga-ui-addon-commerce-components.d.ts +1 -0
  66. package/constants/package.json +2 -5
  67. package/constants/taiga-ui-addon-commerce-constants.d.ts +1 -0
  68. package/enums/currency-code.d.ts +48 -6
  69. package/enums/currency.d.ts +48 -6
  70. package/enums/index.d.ts +0 -2
  71. package/enums/package.json +2 -5
  72. package/enums/taiga-ui-addon-commerce-enums.d.ts +1 -0
  73. package/esm2015/components/card/card.component.js +39 -30
  74. package/esm2015/components/card/card.module.js +15 -12
  75. package/esm2015/components/card/index.js +1 -1
  76. package/esm2015/components/card/taiga-ui-addon-commerce-components-card.js +1 -1
  77. package/esm2015/components/index.js +1 -1
  78. package/esm2015/components/input-card/index.js +1 -1
  79. package/esm2015/components/input-card/input-card.component.js +73 -60
  80. package/esm2015/components/input-card/input-card.module.js +24 -13
  81. package/esm2015/components/input-card/taiga-ui-addon-commerce-components-input-card.js +1 -1
  82. package/esm2015/components/input-card-grouped/index.js +1 -1
  83. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +125 -109
  84. package/esm2015/components/input-card-grouped/input-card-grouped.module.js +45 -15
  85. package/esm2015/components/input-card-grouped/input-card-grouped.providers.js +20 -17
  86. package/esm2015/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.js +1 -1
  87. package/esm2015/components/input-cvc/index.js +1 -1
  88. package/esm2015/components/input-cvc/input-cvc.component.js +50 -41
  89. package/esm2015/components/input-cvc/input-cvc.module.js +26 -13
  90. package/esm2015/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.js +1 -1
  91. package/esm2015/components/input-expire/index.js +1 -1
  92. package/esm2015/components/input-expire/input-expire.component.js +46 -38
  93. package/esm2015/components/input-expire/input-expire.module.js +24 -13
  94. package/esm2015/components/input-expire/taiga-ui-addon-commerce-components-input-expire.js +1 -1
  95. package/esm2015/components/money/index.js +1 -1
  96. package/esm2015/components/money/money-options.js +1 -1
  97. package/esm2015/components/money/money.component.js +46 -33
  98. package/esm2015/components/money/money.module.js +23 -17
  99. package/esm2015/components/money/pipes/fraction-part.pipe.js +13 -12
  100. package/esm2015/components/money/pipes/integer-part.pipe.js +15 -14
  101. package/esm2015/components/money/pipes/sign-symbol.pipe.js +10 -8
  102. package/esm2015/components/money/taiga-ui-addon-commerce-components-money.js +1 -1
  103. package/esm2015/components/money/utils/format-fraction-part.js +1 -1
  104. package/esm2015/components/money/utils/format-sign-symbol.js +1 -1
  105. package/esm2015/components/taiga-ui-addon-commerce-components.js +1 -1
  106. package/esm2015/constants/card-holder-mask.js +1 -1
  107. package/esm2015/constants/card-mask.js +1 -1
  108. package/esm2015/constants/default-card-validator.js +3 -3
  109. package/esm2015/constants/index.js +1 -1
  110. package/esm2015/constants/taiga-ui-addon-commerce-constants.js +1 -1
  111. package/esm2015/enums/currency-code.js +48 -7
  112. package/esm2015/enums/currency.js +48 -7
  113. package/esm2015/enums/index.js +1 -3
  114. package/esm2015/enums/taiga-ui-addon-commerce-enums.js +1 -1
  115. package/esm2015/index.js +3 -1
  116. package/esm2015/interfaces/card.js +2 -1
  117. package/esm2015/interfaces/index.js +2 -1
  118. package/esm2015/interfaces/taiga-ui-addon-commerce-interfaces.js +2 -1
  119. package/esm2015/pipes/currency/currency.module.js +14 -11
  120. package/esm2015/pipes/currency/currency.pipe.js +14 -12
  121. package/esm2015/pipes/format-card/format-card.module.js +14 -11
  122. package/esm2015/pipes/format-card/format-card.pipe.js +10 -8
  123. package/esm2015/pipes/index.js +1 -1
  124. package/esm2015/pipes/taiga-ui-addon-commerce-pipes.js +1 -1
  125. package/esm2015/taiga-ui-addon-commerce.js +1 -1
  126. package/esm2015/tokens/i18n.js +4 -4
  127. package/esm2015/tokens/index.js +1 -1
  128. package/esm2015/tokens/taiga-ui-addon-commerce-tokens.js +1 -1
  129. package/esm2015/types/code-length.js +2 -1
  130. package/esm2015/types/currency-variants.js +2 -1
  131. package/esm2015/types/index.js +5 -1
  132. package/esm2015/types/money-sign.js +2 -1
  133. package/esm2015/types/payment-system.js +2 -0
  134. package/esm2015/types/taiga-ui-addon-commerce-types.js +2 -1
  135. package/esm2015/utils/create-auto-corrected-expire-pipe.js +1 -1
  136. package/esm2015/utils/format-currency.js +7 -12
  137. package/esm2015/utils/get-currency-symbol.js +11 -7
  138. package/esm2015/utils/get-payment-system.js +17 -47
  139. package/esm2015/utils/index.js +1 -1
  140. package/esm2015/utils/is-card-length-valid.js +9 -12
  141. package/esm2015/utils/is-card-number-valid.js +2 -5
  142. package/esm2015/utils/is-expire-valid.js +2 -7
  143. package/esm2015/utils/taiga-ui-addon-commerce-utils.js +1 -1
  144. package/esm2015/validators/card-expire.validator.js +3 -3
  145. package/esm2015/validators/card-number.validator.js +3 -3
  146. package/esm2015/validators/index.js +1 -1
  147. package/esm2015/validators/luhn.validator.js +5 -3
  148. package/esm2015/validators/taiga-ui-addon-commerce-validators.js +1 -1
  149. package/fesm2015/taiga-ui-addon-commerce-components-card.js +54 -40
  150. package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
  151. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +188 -136
  152. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  153. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +96 -70
  154. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
  155. package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js +73 -49
  156. package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js.map +1 -1
  157. package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js +67 -46
  158. package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
  159. package/fesm2015/taiga-ui-addon-commerce-components-money.js +125 -100
  160. package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
  161. package/fesm2015/taiga-ui-addon-commerce-components.js.map +1 -1
  162. package/fesm2015/taiga-ui-addon-commerce-constants.js +2 -2
  163. package/fesm2015/taiga-ui-addon-commerce-constants.js.map +1 -1
  164. package/fesm2015/taiga-ui-addon-commerce-enums.js +95 -40
  165. package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
  166. package/fesm2015/taiga-ui-addon-commerce-interfaces.js.map +1 -1
  167. package/fesm2015/taiga-ui-addon-commerce-pipes.js +45 -31
  168. package/fesm2015/taiga-ui-addon-commerce-pipes.js.map +1 -1
  169. package/fesm2015/taiga-ui-addon-commerce-tokens.js +3 -3
  170. package/fesm2015/taiga-ui-addon-commerce-tokens.js.map +1 -1
  171. package/fesm2015/taiga-ui-addon-commerce-types.js.map +1 -1
  172. package/fesm2015/taiga-ui-addon-commerce-utils.js +41 -83
  173. package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
  174. package/fesm2015/taiga-ui-addon-commerce-validators.js +6 -4
  175. package/fesm2015/taiga-ui-addon-commerce-validators.js.map +1 -1
  176. package/fesm2015/taiga-ui-addon-commerce.js +2 -0
  177. package/fesm2015/taiga-ui-addon-commerce.js.map +1 -1
  178. package/interfaces/package.json +2 -5
  179. package/interfaces/taiga-ui-addon-commerce-interfaces.d.ts +1 -0
  180. package/package.json +12 -15
  181. package/pipes/currency/currency.module.d.ts +5 -0
  182. package/pipes/currency/currency.pipe.d.ts +3 -0
  183. package/pipes/format-card/format-card.module.d.ts +5 -0
  184. package/pipes/format-card/format-card.pipe.d.ts +3 -0
  185. package/pipes/package.json +2 -5
  186. package/pipes/taiga-ui-addon-commerce-pipes.d.ts +1 -0
  187. package/taiga-ui-addon-commerce.d.ts +1 -0
  188. package/tokens/package.json +2 -5
  189. package/tokens/taiga-ui-addon-commerce-tokens.d.ts +1 -0
  190. package/types/index.d.ts +1 -0
  191. package/types/money-sign.d.ts +1 -1
  192. package/types/package.json +2 -5
  193. package/types/payment-system.d.ts +1 -0
  194. package/types/taiga-ui-addon-commerce-types.d.ts +1 -0
  195. package/utils/format-currency.d.ts +1 -5
  196. package/utils/get-currency-symbol.d.ts +1 -5
  197. package/utils/get-payment-system.d.ts +7 -31
  198. package/utils/is-card-length-valid.d.ts +1 -3
  199. package/utils/is-card-number-valid.d.ts +1 -3
  200. package/utils/is-expire-valid.d.ts +1 -5
  201. package/utils/package.json +2 -5
  202. package/utils/taiga-ui-addon-commerce-utils.d.ts +1 -0
  203. package/validators/package.json +2 -5
  204. package/validators/taiga-ui-addon-commerce-validators.d.ts +1 -0
  205. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js +0 -2
  206. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js.map +0 -1
  207. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +0 -2
  208. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +0 -1
  209. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js +0 -2
  210. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js.map +0 -1
  211. package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.min.js +0 -2
  212. package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.min.js.map +0 -1
  213. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js +0 -2
  214. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js.map +0 -1
  215. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +0 -2
  216. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +0 -1
  217. package/bundles/taiga-ui-addon-commerce-components.umd.min.js +0 -2
  218. package/bundles/taiga-ui-addon-commerce-components.umd.min.js.map +0 -1
  219. package/bundles/taiga-ui-addon-commerce-constants.umd.min.js +0 -2
  220. package/bundles/taiga-ui-addon-commerce-constants.umd.min.js.map +0 -1
  221. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +0 -2
  222. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +0 -1
  223. package/bundles/taiga-ui-addon-commerce-interfaces.umd.min.js +0 -2
  224. package/bundles/taiga-ui-addon-commerce-interfaces.umd.min.js.map +0 -1
  225. package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js +0 -2
  226. package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js.map +0 -1
  227. package/bundles/taiga-ui-addon-commerce-tokens.umd.min.js +0 -2
  228. package/bundles/taiga-ui-addon-commerce-tokens.umd.min.js.map +0 -1
  229. package/bundles/taiga-ui-addon-commerce-types.umd.min.js +0 -2
  230. package/bundles/taiga-ui-addon-commerce-types.umd.min.js.map +0 -1
  231. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +0 -2
  232. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +0 -1
  233. package/bundles/taiga-ui-addon-commerce-validators.umd.min.js +0 -2
  234. package/bundles/taiga-ui-addon-commerce-validators.umd.min.js.map +0 -1
  235. package/bundles/taiga-ui-addon-commerce.umd.min.js +0 -2
  236. package/bundles/taiga-ui-addon-commerce.umd.min.js.map +0 -1
  237. package/components/card/taiga-ui-addon-commerce-components-card.metadata.json +0 -1
  238. package/components/input-card/taiga-ui-addon-commerce-components-input-card.metadata.json +0 -1
  239. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +0 -1
  240. package/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.metadata.json +0 -1
  241. package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.metadata.json +0 -1
  242. package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +0 -1
  243. package/components/taiga-ui-addon-commerce-components.metadata.json +0 -1
  244. package/constants/taiga-ui-addon-commerce-constants.metadata.json +0 -1
  245. package/enums/money-sign.d.ts +0 -16
  246. package/enums/payment-system.d.ts +0 -8
  247. package/enums/taiga-ui-addon-commerce-enums.metadata.json +0 -1
  248. package/esm2015/enums/money-sign.js +0 -18
  249. package/esm2015/enums/payment-system.js +0 -9
  250. package/esm5/components/card/card.component.js +0 -73
  251. package/esm5/components/card/card.module.js +0 -19
  252. package/esm5/components/card/index.js +0 -3
  253. package/esm5/components/card/taiga-ui-addon-commerce-components-card.js +0 -5
  254. package/esm5/components/index.js +0 -7
  255. package/esm5/components/input-card/index.js +0 -3
  256. package/esm5/components/input-card/input-card.component.js +0 -167
  257. package/esm5/components/input-card/input-card.module.js +0 -25
  258. package/esm5/components/input-card/taiga-ui-addon-commerce-components-input-card.js +0 -5
  259. package/esm5/components/input-card-grouped/index.js +0 -4
  260. package/esm5/components/input-card-grouped/input-card-grouped.component.js +0 -511
  261. package/esm5/components/input-card-grouped/input-card-grouped.module.js +0 -40
  262. package/esm5/components/input-card-grouped/input-card-grouped.providers.js +0 -34
  263. package/esm5/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.js +0 -5
  264. package/esm5/components/input-cvc/index.js +0 -3
  265. package/esm5/components/input-cvc/input-cvc.component.js +0 -113
  266. package/esm5/components/input-cvc/input-cvc.module.js +0 -26
  267. package/esm5/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.js +0 -5
  268. package/esm5/components/input-expire/index.js +0 -3
  269. package/esm5/components/input-expire/input-expire.component.js +0 -108
  270. package/esm5/components/input-expire/input-expire.module.js +0 -25
  271. package/esm5/components/input-expire/taiga-ui-addon-commerce-components-input-expire.js +0 -5
  272. package/esm5/components/money/index.js +0 -9
  273. package/esm5/components/money/money-options.js +0 -18
  274. package/esm5/components/money/money.component.js +0 -101
  275. package/esm5/components/money/money.module.js +0 -27
  276. package/esm5/components/money/pipes/fraction-part.pipe.js +0 -27
  277. package/esm5/components/money/pipes/integer-part.pipe.js +0 -21
  278. package/esm5/components/money/pipes/sign-symbol.pipe.js +0 -16
  279. package/esm5/components/money/taiga-ui-addon-commerce-components-money.js +0 -5
  280. package/esm5/components/money/utils/format-fraction-part.js +0 -7
  281. package/esm5/components/money/utils/format-sign-symbol.js +0 -11
  282. package/esm5/components/taiga-ui-addon-commerce-components.js +0 -5
  283. package/esm5/constants/card-holder-mask.js +0 -37
  284. package/esm5/constants/card-mask.js +0 -30
  285. package/esm5/constants/default-card-validator.js +0 -5
  286. package/esm5/constants/index.js +0 -4
  287. package/esm5/constants/taiga-ui-addon-commerce-constants.js +0 -5
  288. package/esm5/enums/currency-code.js +0 -178
  289. package/esm5/enums/currency.js +0 -178
  290. package/esm5/enums/index.js +0 -5
  291. package/esm5/enums/money-sign.js +0 -18
  292. package/esm5/enums/payment-system.js +0 -9
  293. package/esm5/enums/taiga-ui-addon-commerce-enums.js +0 -5
  294. package/esm5/index.js +0 -8
  295. package/esm5/interfaces/card.js +0 -1
  296. package/esm5/interfaces/index.js +0 -1
  297. package/esm5/interfaces/taiga-ui-addon-commerce-interfaces.js +0 -4
  298. package/esm5/pipes/currency/currency.module.js +0 -16
  299. package/esm5/pipes/currency/currency.pipe.js +0 -18
  300. package/esm5/pipes/format-card/format-card.module.js +0 -16
  301. package/esm5/pipes/format-card/format-card.pipe.js +0 -22
  302. package/esm5/pipes/index.js +0 -5
  303. package/esm5/pipes/taiga-ui-addon-commerce-pipes.js +0 -5
  304. package/esm5/taiga-ui-addon-commerce.js +0 -5
  305. package/esm5/tokens/i18n.js +0 -13
  306. package/esm5/tokens/index.js +0 -2
  307. package/esm5/tokens/taiga-ui-addon-commerce-tokens.js +0 -5
  308. package/esm5/types/code-length.js +0 -1
  309. package/esm5/types/currency-variants.js +0 -1
  310. package/esm5/types/index.js +0 -1
  311. package/esm5/types/money-sign.js +0 -1
  312. package/esm5/types/taiga-ui-addon-commerce-types.js +0 -4
  313. package/esm5/utils/create-auto-corrected-expire-pipe.js +0 -43
  314. package/esm5/utils/format-currency.js +0 -17
  315. package/esm5/utils/get-currency-symbol.js +0 -71
  316. package/esm5/utils/get-payment-system.js +0 -103
  317. package/esm5/utils/index.js +0 -8
  318. package/esm5/utils/is-card-length-valid.js +0 -25
  319. package/esm5/utils/is-card-number-valid.js +0 -21
  320. package/esm5/utils/is-expire-valid.js +0 -14
  321. package/esm5/utils/taiga-ui-addon-commerce-utils.js +0 -5
  322. package/esm5/validators/card-expire.validator.js +0 -10
  323. package/esm5/validators/card-number.validator.js +0 -9
  324. package/esm5/validators/index.js +0 -4
  325. package/esm5/validators/luhn.validator.js +0 -9
  326. package/esm5/validators/taiga-ui-addon-commerce-validators.js +0 -5
  327. package/fesm5/taiga-ui-addon-commerce-components-card.js +0 -94
  328. package/fesm5/taiga-ui-addon-commerce-components-card.js.map +0 -1
  329. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +0 -579
  330. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +0 -1
  331. package/fesm5/taiga-ui-addon-commerce-components-input-card.js +0 -193
  332. package/fesm5/taiga-ui-addon-commerce-components-input-card.js.map +0 -1
  333. package/fesm5/taiga-ui-addon-commerce-components-input-cvc.js +0 -140
  334. package/fesm5/taiga-ui-addon-commerce-components-input-cvc.js.map +0 -1
  335. package/fesm5/taiga-ui-addon-commerce-components-input-expire.js +0 -134
  336. package/fesm5/taiga-ui-addon-commerce-components-input-expire.js.map +0 -1
  337. package/fesm5/taiga-ui-addon-commerce-components-money.js +0 -210
  338. package/fesm5/taiga-ui-addon-commerce-components-money.js.map +0 -1
  339. package/fesm5/taiga-ui-addon-commerce-components.js +0 -11
  340. package/fesm5/taiga-ui-addon-commerce-components.js.map +0 -1
  341. package/fesm5/taiga-ui-addon-commerce-constants.js +0 -78
  342. package/fesm5/taiga-ui-addon-commerce-constants.js.map +0 -1
  343. package/fesm5/taiga-ui-addon-commerce-enums.js +0 -389
  344. package/fesm5/taiga-ui-addon-commerce-enums.js.map +0 -1
  345. package/fesm5/taiga-ui-addon-commerce-interfaces.js +0 -4
  346. package/fesm5/taiga-ui-addon-commerce-interfaces.js.map +0 -1
  347. package/fesm5/taiga-ui-addon-commerce-pipes.js +0 -67
  348. package/fesm5/taiga-ui-addon-commerce-pipes.js.map +0 -1
  349. package/fesm5/taiga-ui-addon-commerce-tokens.js +0 -20
  350. package/fesm5/taiga-ui-addon-commerce-tokens.js.map +0 -1
  351. package/fesm5/taiga-ui-addon-commerce-types.js +0 -4
  352. package/fesm5/taiga-ui-addon-commerce-types.js.map +0 -1
  353. package/fesm5/taiga-ui-addon-commerce-utils.js +0 -298
  354. package/fesm5/taiga-ui-addon-commerce-utils.js.map +0 -1
  355. package/fesm5/taiga-ui-addon-commerce-validators.js +0 -31
  356. package/fesm5/taiga-ui-addon-commerce-validators.js.map +0 -1
  357. package/fesm5/taiga-ui-addon-commerce.js +0 -12
  358. package/fesm5/taiga-ui-addon-commerce.js.map +0 -1
  359. package/interfaces/taiga-ui-addon-commerce-interfaces.metadata.json +0 -1
  360. package/pipes/taiga-ui-addon-commerce-pipes.metadata.json +0 -1
  361. package/taiga-ui-addon-commerce.metadata.json +0 -1
  362. package/tokens/taiga-ui-addon-commerce-tokens.metadata.json +0 -1
  363. package/types/taiga-ui-addon-commerce-types.metadata.json +0 -1
  364. package/utils/taiga-ui-addon-commerce-utils.metadata.json +0 -1
  365. package/validators/taiga-ui-addon-commerce-validators.metadata.json +0 -1
@@ -1,12 +1,12 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { extractI18n } from '@taiga-ui/i18n';
2
+ import { tuiExtractI18n } from '@taiga-ui/i18n';
3
3
  import { of } from 'rxjs';
4
4
 
5
5
  const TUI_CARD_NUMBER_TEXTS = new InjectionToken(`Number and card number i18n`, {
6
- factory: extractI18n(`cardNumber`),
6
+ factory: tuiExtractI18n(`cardNumber`),
7
7
  });
8
8
  const TUI_CARD_EXPIRY_TEXTS = new InjectionToken(`Expiry and card expiry i18n`, {
9
- factory: extractI18n(`cardExpiry`),
9
+ factory: tuiExtractI18n(`cardExpiry`),
10
10
  });
11
11
  const TUI_CARD_CVC_TEXTS = new InjectionToken(`Card CVC number text`, {
12
12
  factory: () => of([`CVC`, `CVC/CVV`]),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-tokens.js","sources":["ng://@taiga-ui/addon-commerce/tokens/i18n.ts","ng://@taiga-ui/addon-commerce/tokens/taiga-ui-addon-commerce-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {extractI18n} from '@taiga-ui/i18n';\nimport {Observable, of} from 'rxjs';\n\nexport const TUI_CARD_NUMBER_TEXTS = new InjectionToken(`Number and card number i18n`, {\n factory: extractI18n(`cardNumber`),\n});\n\nexport const TUI_CARD_EXPIRY_TEXTS = new InjectionToken(`Expiry and card expiry i18n`, {\n factory: extractI18n(`cardExpiry`),\n});\n\nexport const TUI_CARD_CVC_TEXTS = new InjectionToken<Observable<[string, string]>>(\n `Card CVC number text`,\n {\n factory: () => of([`CVC`, `CVC/CVV`]),\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,qBAAqB,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;IACnF,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;CACrC,EAAE;MAEU,qBAAqB,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;IACnF,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;CACrC,EAAE;MAEU,kBAAkB,GAAG,IAAI,cAAc,CAChD,sBAAsB,EACtB;IACI,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;CACxC;;AChBL;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-tokens.js","sources":["../../../projects/addon-commerce/tokens/i18n.ts","../../../projects/addon-commerce/tokens/taiga-ui-addon-commerce-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\nimport {Observable, of} from 'rxjs';\n\nexport const TUI_CARD_NUMBER_TEXTS = new InjectionToken(`Number and card number i18n`, {\n factory: tuiExtractI18n(`cardNumber`),\n});\n\nexport const TUI_CARD_EXPIRY_TEXTS = new InjectionToken(`Expiry and card expiry i18n`, {\n factory: tuiExtractI18n(`cardExpiry`),\n});\n\nexport const TUI_CARD_CVC_TEXTS = new InjectionToken<Observable<[string, string]>>(\n `Card CVC number text`,\n {\n factory: () => of([`CVC`, `CVC/CVV`]),\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,qBAAqB,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;AACnF,IAAA,OAAO,EAAE,cAAc,CAAC,CAAA,UAAA,CAAY,CAAC;AACxC,CAAA,EAAE;MAEU,qBAAqB,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;AACnF,IAAA,OAAO,EAAE,cAAc,CAAC,CAAA,UAAA,CAAY,CAAC;AACxC,CAAA,EAAE;MAEU,kBAAkB,GAAG,IAAI,cAAc,CAChD,sBAAsB,EACtB;IACI,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAK,GAAA,CAAA,EAAE,CAAS,OAAA,CAAA,CAAC,CAAC;AACxC,CAAA;;AChBL;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-types.js","sources":["ng://@taiga-ui/addon-commerce/types/taiga-ui-addon-commerce-types.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-types.js","sources":["../../../projects/addon-commerce/types/taiga-ui-addon-commerce-types.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;AAEG"}
@@ -1,5 +1,5 @@
1
1
  import { TUI_NON_DIGIT_REGEXP, TUI_NON_DIGITS_REGEXP } from '@taiga-ui/core';
2
- import { padStart } from '@taiga-ui/cdk';
2
+ import { tuiIsString } from '@taiga-ui/cdk';
3
3
 
4
4
  const TUI_EXP_YEAR_MONTH = /^\d{2}[/|.]\d{4}$/;
5
5
  const TUI_EXP_SAFARI = /^\d{1,4}.\d{1,2}.\d{1,4}$/;
@@ -39,11 +39,7 @@ function tuiCreateAutoCorrectedExpirePipe() {
39
39
  };
40
40
  }
41
41
 
42
- /**
43
- * @deprecated: use {@link tuiGetCurrencySymbol} instead
44
- */
45
- // eslint-disable-next-line @typescript-eslint/naming-convention
46
- function getCurrencySymbol(currency) {
42
+ function tuiGetCurrencySymbol(currency) {
47
43
  switch (currency) {
48
44
  case "RUB" /* Ruble */:
49
45
  case "643" /* Ruble */:
@@ -104,32 +100,31 @@ function getCurrencySymbol(currency) {
104
100
  case "UAH" /* Hryvnia */:
105
101
  case "980" /* Hryvnia */:
106
102
  return `₴`;
103
+ case "UZS" /* UzbekSum */:
104
+ case "860" /* UzbekSum */:
105
+ return `So'm`;
106
+ case "KGS" /* KyrgyzstanSom */:
107
+ case "417" /* KyrgyzstanSom */:
108
+ return `c`;
109
+ case "AED" /* Dirham */:
110
+ case "784" /* Dirham */:
111
+ return `Dh`;
107
112
  default:
108
113
  return null;
109
114
  }
110
115
  }
111
- const tuiGetCurrencySymbol = getCurrencySymbol;
112
116
 
113
- /**
114
- * @deprecated: use {@link tuiFormatCurrency} instead
115
- */
116
- // eslint-disable-next-line @typescript-eslint/naming-convention
117
- function formatCurrency(currency) {
117
+ function tuiFormatCurrency(currency) {
118
118
  const stringifiedCurrency = stringifyCurrency(currency);
119
- return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;
119
+ return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;
120
120
  }
121
- const tuiFormatCurrency = formatCurrency;
122
121
  function stringifyCurrency(currency) {
123
- return currency === null || typeof currency === `string`
122
+ return currency === null || tuiIsString(currency)
124
123
  ? currency || ``
125
- : padStart(String(currency), 3, `0`);
124
+ : String(currency).padStart(3, `0`);
126
125
  }
127
126
 
128
- /**
129
- * @deprecated: use {@link tuiGetPaymentSystem} instead
130
- */
131
- // eslint-disable-next-line @typescript-eslint/naming-convention
132
- function getPaymentSystem(cardNumber) {
127
+ function tuiGetPaymentSystem(cardNumber) {
133
128
  if (cardNumber === ``) {
134
129
  return null;
135
130
  }
@@ -137,29 +132,24 @@ function getPaymentSystem(cardNumber) {
137
132
  const two = Number.parseInt(cardNumber.slice(0, 2), 10);
138
133
  const three = Number.parseInt(cardNumber.slice(0, 3), 10);
139
134
  const four = Number.parseInt(cardNumber.slice(0, 4), 10);
140
- if (isMaestro(three, two, one)) {
141
- return "maestro" /* Maestro */;
135
+ if (tuiIsMaestro(three, two, one)) {
136
+ return `maestro`;
142
137
  }
143
- if (isMastercard(four, two, one)) {
144
- return "mastercard" /* Mastercard */;
138
+ if (tuiIsMastercard(four, two, one)) {
139
+ return `mastercard`;
145
140
  }
146
- if (isMir(four)) {
147
- return "mir" /* Mir */;
141
+ if (tuiIsMir(four)) {
142
+ return `mir`;
148
143
  }
149
- if (isElectron(four)) {
150
- return "electron" /* Electron */;
144
+ if (tuiIsElectron(four)) {
145
+ return `electron`;
151
146
  }
152
- if (isVisa(one)) {
153
- return "visa" /* Visa */;
147
+ if (tuiIsVisa(one)) {
148
+ return `visa`;
154
149
  }
155
150
  return null;
156
151
  }
157
- const tuiGetPaymentSystem = getPaymentSystem;
158
- /**
159
- * @deprecated: use {@link tuiIsMaestro} instead
160
- */
161
- // eslint-disable-next-line @typescript-eslint/naming-convention
162
- function isMaestro(three, two, one) {
152
+ function tuiIsMaestro(three, two, one) {
163
153
  if (one === 6) {
164
154
  return true;
165
155
  }
@@ -171,12 +161,7 @@ function isMaestro(three, two, one) {
171
161
  }
172
162
  return three < 510;
173
163
  }
174
- const tuiIsMaestro = isMaestro;
175
- /**
176
- * @deprecated: use {@link tuiIsMastercard} instead
177
- */
178
- // eslint-disable-next-line @typescript-eslint/naming-convention
179
- function isMastercard(four, two, one) {
164
+ function tuiIsMastercard(four, two, one) {
180
165
  if (one === 5) {
181
166
  return true;
182
167
  }
@@ -191,20 +176,10 @@ function isMastercard(four, two, one) {
191
176
  }
192
177
  return four > 2220 && four < 2721;
193
178
  }
194
- const tuiIsMastercard = isMastercard;
195
- /**
196
- * @deprecated: use {@link tuiIsMir} instead
197
- */
198
- // eslint-disable-next-line @typescript-eslint/naming-convention
199
- function isMir(four) {
179
+ function tuiIsMir(four) {
200
180
  return four > 2199 && four < 2205;
201
181
  }
202
- const tuiIsMir = isMir;
203
- /**
204
- * @deprecated: use {@link tuiIsElectron} instead
205
- */
206
- // eslint-disable-next-line @typescript-eslint/naming-convention
207
- function isElectron(four) {
182
+ function tuiIsElectron(four) {
208
183
  switch (four) {
209
184
  case 4026:
210
185
  case 4175:
@@ -218,46 +193,35 @@ function isElectron(four) {
218
193
  return false;
219
194
  }
220
195
  }
221
- const tuiIsElectron = isElectron;
222
- /**
223
- * @deprecated: use {@link tuiIsVisa} instead
224
- */
225
- // eslint-disable-next-line @typescript-eslint/naming-convention
226
- function isVisa(one) {
196
+ function tuiIsVisa(one) {
227
197
  return one === 4;
228
198
  }
229
- const tuiIsVisa = isVisa;
230
199
 
231
200
  /**
232
- * @deprecated: use {@link tuiIsCardLengthValid} instead
233
201
  * Validates card number length using payment system dictionary
234
202
  */
235
- // eslint-disable-next-line @typescript-eslint/naming-convention
236
- function isCardLengthValid(cardNumber) {
203
+ function tuiIsCardLengthValid(cardNumber) {
237
204
  const { length } = cardNumber;
238
- const paymentSystem = getPaymentSystem(cardNumber);
205
+ const paymentSystem = tuiGetPaymentSystem(cardNumber);
239
206
  switch (paymentSystem) {
240
- case "electron" /* Electron */:
207
+ case `electron`:
241
208
  return length === 16;
242
- case "maestro" /* Maestro */:
209
+ case `maestro`:
243
210
  return length > 11 && length < 20;
244
- case "mastercard" /* Mastercard */:
245
- case "mir" /* Mir */:
211
+ case `mastercard`:
212
+ case `mir`:
246
213
  return length > 15 && length < 20;
247
- case "visa" /* Visa */:
214
+ case `visa`:
248
215
  return length > 12 && length < 20;
249
216
  default:
250
217
  return length > 8 && length < 20;
251
218
  }
252
219
  }
253
- const tuiIsCardLengthValid = isCardLengthValid;
254
220
 
255
221
  /**
256
- * @deprecated: use {@link tuiIsCardNumberValid} instead
257
222
  * Validates card number using Luhn algorithm
258
223
  */
259
- // eslint-disable-next-line @typescript-eslint/naming-convention
260
- function isCardNumberValid(value) {
224
+ function tuiIsCardNumberValid(value) {
261
225
  const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, ``);
262
226
  const { length } = cardNumber;
263
227
  const arr = cardNumber.split(``).map((char, index) => {
@@ -270,13 +234,8 @@ function isCardNumberValid(value) {
270
234
  });
271
235
  return !(arr.reduce((a, b) => a + b, 0) % 10);
272
236
  }
273
- const tuiIsCardNumberValid = isCardNumberValid;
274
237
 
275
- /**
276
- * @deprecated: use {@link tuiIsExpireValid} instead
277
- */
278
- // eslint-disable-next-line @typescript-eslint/naming-convention
279
- function isExpireValid(expire) {
238
+ function tuiIsExpireValid(expire) {
280
239
  const today = new Date();
281
240
  const currentMonth = today.getMonth();
282
241
  const currentYear = today.getFullYear() - 2000;
@@ -284,11 +243,10 @@ function isExpireValid(expire) {
284
243
  const year = parseInt(expire.slice(-2), 0);
285
244
  return year > currentYear || (year === currentYear && month >= currentMonth);
286
245
  }
287
- const tuiIsExpireValid = isExpireValid;
288
246
 
289
247
  /**
290
248
  * Generated bundle index. Do not edit.
291
249
  */
292
250
 
293
- export { formatCurrency, getCurrencySymbol, getPaymentSystem, isCardLengthValid, isCardNumberValid, isElectron, isExpireValid, isMaestro, isMastercard, isMir, isVisa, tuiCreateAutoCorrectedExpirePipe, tuiFormatCurrency, tuiGetCurrencySymbol, tuiGetPaymentSystem, tuiIsCardLengthValid, tuiIsCardNumberValid, tuiIsElectron, tuiIsExpireValid, tuiIsMaestro, tuiIsMastercard, tuiIsMir, tuiIsVisa };
251
+ export { tuiCreateAutoCorrectedExpirePipe, tuiFormatCurrency, tuiGetCurrencySymbol, tuiGetPaymentSystem, tuiIsCardLengthValid, tuiIsCardNumberValid, tuiIsElectron, tuiIsExpireValid, tuiIsMaestro, tuiIsMastercard, tuiIsMir, tuiIsVisa };
294
252
  //# sourceMappingURL=taiga-ui-addon-commerce-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-utils.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","ng://@taiga-ui/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\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-utils.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 case TuiCurrency.UzbekSum:\n case TuiCurrencyCode.UzbekSum:\n return `So'm`;\n case TuiCurrency.KyrgyzstanSom:\n case TuiCurrencyCode.KyrgyzstanSom:\n return `c`;\n case TuiCurrency.Dirham:\n case TuiCurrencyCode.Dirham:\n return `Dh`;\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\nexport function tuiFormatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\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 */\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 */\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","export function tuiIsExpireValid(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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,22 +1,24 @@
1
- import { isExpireValid, isCardNumberValid } from '@taiga-ui/addon-commerce/utils';
1
+ import { tuiIsExpireValid, tuiIsCardNumberValid } from '@taiga-ui/addon-commerce/utils';
2
2
  import { TuiValidationError } from '@taiga-ui/cdk';
3
3
 
4
4
  function tuiCardExpireValidator({ value, }) {
5
5
  var _a;
6
- return ((_a = value === null || value === void 0 ? void 0 : value.expire) === null || _a === void 0 ? void 0 : _a.length) === 5 && !isExpireValid(value === null || value === void 0 ? void 0 : value.expire)
6
+ return ((_a = value === null || value === void 0 ? void 0 : value.expire) === null || _a === void 0 ? void 0 : _a.length) === 5 && !tuiIsExpireValid(value === null || value === void 0 ? void 0 : value.expire)
7
7
  ? { expire: new TuiValidationError(`Expire date`) }
8
8
  : null;
9
9
  }
10
10
 
11
11
  function tuiCardNumberValidator({ value, }) {
12
- return (value === null || value === void 0 ? void 0 : value.card) && !isCardNumberValid(value.card)
12
+ return (value === null || value === void 0 ? void 0 : value.card) && !tuiIsCardNumberValid(value.card)
13
13
  ? { card: new TuiValidationError(`Invalid card number`) }
14
14
  : null;
15
15
  }
16
16
 
17
17
  function tuiCreateLuhnValidator(message) {
18
18
  return ({ value }) => {
19
- return isCardNumberValid(value) ? null : { luhn: new TuiValidationError(message) };
19
+ return tuiIsCardNumberValid(value)
20
+ ? null
21
+ : { luhn: new TuiValidationError(message) };
20
22
  };
21
23
  }
22
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-validators.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","ng://@taiga-ui/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 {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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;SAIgB,sBAAsB,CAAC,EACnC,KAAK,GACS;;IACd,OAAO,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;UAC7D,EAAC,MAAM,EAAE,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAC;UAC/C,IAAI,CAAC;AACf;;SCNgB,sBAAsB,CAAC,EACnC,KAAK,GACS;IACd,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;UAC9C,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,EAAC;UACrD,IAAI,CAAC;AACf;;SCLgB,sBAAsB,CAAC,OAA4B;IAC/D,OAAO,CAAC,EAAC,KAAK,EAAkB;QAC5B,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAC,CAAC;KACpF,CAAC;AACN;;ACTA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-validators.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 {tuiIsExpireValid} 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 && !tuiIsExpireValid(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":[],"mappings":";;;AAIgB,SAAA,sBAAsB,CAAC,EACnC,KAAK,GACS,EAAA;;IACd,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,CAAC,gBAAgB,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,CAAC;UAChE,EAAC,MAAM,EAAE,IAAI,kBAAkB,CAAC,CAAa,WAAA,CAAA,CAAC,EAAC;UAC/C,IAAI,CAAC;AACf;;ACNgB,SAAA,sBAAsB,CAAC,EACnC,KAAK,GACS,EAAA;AACd,IAAA,OAAO,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;UACjD,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,CAAqB,mBAAA,CAAA,CAAC,EAAC;UACrD,IAAI,CAAC;AACf;;ACLM,SAAU,sBAAsB,CAAC,OAA4B,EAAA;AAC/D,IAAA,OAAO,CAAC,EAAC,KAAK,EAAkB,KAAI;QAChC,OAAO,oBAAoB,CAAC,KAAK,CAAC;AAC9B,cAAE,IAAI;cACJ,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAC,CAAC;AAClD,KAAC,CAAC;AACN;;ACXA;;AAEG;;;;"}
@@ -1,8 +1,10 @@
1
1
  export * from '@taiga-ui/addon-commerce/components';
2
2
  export * from '@taiga-ui/addon-commerce/constants';
3
3
  export * from '@taiga-ui/addon-commerce/enums';
4
+ export * from '@taiga-ui/addon-commerce/interfaces';
4
5
  export * from '@taiga-ui/addon-commerce/pipes';
5
6
  export * from '@taiga-ui/addon-commerce/tokens';
7
+ export * from '@taiga-ui/addon-commerce/types';
6
8
  export * from '@taiga-ui/addon-commerce/utils';
7
9
  export * from '@taiga-ui/addon-commerce/validators';
8
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce.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":";;;;;;;;AAAA;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce.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":";;;;;;;;;;AAAA;;AAEG"}
@@ -1,13 +1,10 @@
1
1
  {
2
2
  "main": "../bundles/taiga-ui-addon-commerce-interfaces.umd.js",
3
- "module": "../fesm5/taiga-ui-addon-commerce-interfaces.js",
3
+ "module": "../fesm2015/taiga-ui-addon-commerce-interfaces.js",
4
4
  "es2015": "../fesm2015/taiga-ui-addon-commerce-interfaces.js",
5
- "esm5": "../esm5/interfaces/taiga-ui-addon-commerce-interfaces.js",
6
5
  "esm2015": "../esm2015/interfaces/taiga-ui-addon-commerce-interfaces.js",
7
- "fesm5": "../fesm5/taiga-ui-addon-commerce-interfaces.js",
8
6
  "fesm2015": "../fesm2015/taiga-ui-addon-commerce-interfaces.js",
9
7
  "typings": "taiga-ui-addon-commerce-interfaces.d.ts",
10
- "metadata": "taiga-ui-addon-commerce-interfaces.metadata.json",
11
8
  "sideEffects": false,
12
9
  "name": "@taiga-ui/addon-commerce/interfaces"
13
- }
10
+ }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@taiga-ui/addon-commerce/interfaces" />
4
5
  export * from './index';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-commerce",
3
- "version": "2.59.1",
3
+ "version": "3.0.0-rc.1",
4
4
  "description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -13,29 +13,26 @@
13
13
  "homepage": "https://github.com/tinkoff/taiga-ui",
14
14
  "repository": "https://github.com/tinkoff/taiga-ui",
15
15
  "license": "Apache-2.0",
16
+ "dependencies": {
17
+ "tslib": "^2.0.0"
18
+ },
16
19
  "peerDependencies": {
17
20
  "@angular/common": ">=9.0.0",
18
21
  "@angular/core": ">=9.0.0",
19
22
  "@angular/forms": ">=9.0.0",
20
- "@ng-web-apis/common": ">=1.12.1 < 2",
21
- "@taiga-ui/cdk": ">=2.59.1",
22
- "@taiga-ui/core": ">=2.59.1",
23
- "@taiga-ui/i18n": ">=2.59.1",
24
- "@tinkoff/ng-polymorpheus": ">=3.1.12 < 4",
23
+ "@ng-web-apis/common": ">=2.0.0",
24
+ "@taiga-ui/cdk": ">=3.0.0-rc.1",
25
+ "@taiga-ui/core": ">=3.0.0-rc.1",
26
+ "@taiga-ui/i18n": ">=3.0.0-rc.1",
27
+ "@tinkoff/ng-polymorpheus": ">=4.0.0",
25
28
  "angular2-text-mask": ">=9.0.0",
26
29
  "rxjs": ">=6.0.0"
27
30
  },
28
31
  "main": "bundles/taiga-ui-addon-commerce.umd.js",
29
- "module": "fesm5/taiga-ui-addon-commerce.js",
32
+ "module": "fesm2015/taiga-ui-addon-commerce.js",
30
33
  "es2015": "fesm2015/taiga-ui-addon-commerce.js",
31
- "esm5": "esm5/taiga-ui-addon-commerce.js",
32
34
  "esm2015": "esm2015/taiga-ui-addon-commerce.js",
33
- "fesm5": "fesm5/taiga-ui-addon-commerce.js",
34
35
  "fesm2015": "fesm2015/taiga-ui-addon-commerce.js",
35
36
  "typings": "taiga-ui-addon-commerce.d.ts",
36
- "metadata": "taiga-ui-addon-commerce.metadata.json",
37
- "sideEffects": false,
38
- "dependencies": {
39
- "tslib": "^1.10.0"
40
- }
41
- }
37
+ "sideEffects": false
38
+ }
@@ -1,2 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./currency.pipe";
1
3
  export declare class TuiCurrencyPipeModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiCurrencyPipeModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiCurrencyPipeModule, [typeof i1.TuiCurrencyPipe], never, [typeof i1.TuiCurrencyPipe]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiCurrencyPipeModule>;
2
7
  }
@@ -1,5 +1,8 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import { TuiCurrencyVariants } from '@taiga-ui/addon-commerce/types';
3
+ import * as i0 from "@angular/core";
3
4
  export declare class TuiCurrencyPipe implements PipeTransform {
4
5
  transform(currency: TuiCurrencyVariants): string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiCurrencyPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<TuiCurrencyPipe, "tuiCurrency">;
5
8
  }
@@ -1,2 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./format-card.pipe";
1
3
  export declare class TuiFormatCardModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiFormatCardModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiFormatCardModule, [typeof i1.TuiFormatCardPipe], never, [typeof i1.TuiFormatCardPipe]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiFormatCardModule>;
2
7
  }
@@ -1,4 +1,7 @@
1
1
  import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
2
3
  export declare class TuiFormatCardPipe implements PipeTransform {
3
4
  transform(value?: string | null, cardPrefilled?: boolean): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiFormatCardPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<TuiFormatCardPipe, "tuiFormatCard">;
4
7
  }
@@ -1,13 +1,10 @@
1
1
  {
2
2
  "main": "../bundles/taiga-ui-addon-commerce-pipes.umd.js",
3
- "module": "../fesm5/taiga-ui-addon-commerce-pipes.js",
3
+ "module": "../fesm2015/taiga-ui-addon-commerce-pipes.js",
4
4
  "es2015": "../fesm2015/taiga-ui-addon-commerce-pipes.js",
5
- "esm5": "../esm5/pipes/taiga-ui-addon-commerce-pipes.js",
6
5
  "esm2015": "../esm2015/pipes/taiga-ui-addon-commerce-pipes.js",
7
- "fesm5": "../fesm5/taiga-ui-addon-commerce-pipes.js",
8
6
  "fesm2015": "../fesm2015/taiga-ui-addon-commerce-pipes.js",
9
7
  "typings": "taiga-ui-addon-commerce-pipes.d.ts",
10
- "metadata": "taiga-ui-addon-commerce-pipes.metadata.json",
11
8
  "sideEffects": false,
12
9
  "name": "@taiga-ui/addon-commerce/pipes"
13
- }
10
+ }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@taiga-ui/addon-commerce/pipes" />
4
5
  export * from './index';
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@taiga-ui/addon-commerce" />
4
5
  export * from './index';
@@ -1,13 +1,10 @@
1
1
  {
2
2
  "main": "../bundles/taiga-ui-addon-commerce-tokens.umd.js",
3
- "module": "../fesm5/taiga-ui-addon-commerce-tokens.js",
3
+ "module": "../fesm2015/taiga-ui-addon-commerce-tokens.js",
4
4
  "es2015": "../fesm2015/taiga-ui-addon-commerce-tokens.js",
5
- "esm5": "../esm5/tokens/taiga-ui-addon-commerce-tokens.js",
6
5
  "esm2015": "../esm2015/tokens/taiga-ui-addon-commerce-tokens.js",
7
- "fesm5": "../fesm5/taiga-ui-addon-commerce-tokens.js",
8
6
  "fesm2015": "../fesm2015/taiga-ui-addon-commerce-tokens.js",
9
7
  "typings": "taiga-ui-addon-commerce-tokens.d.ts",
10
- "metadata": "taiga-ui-addon-commerce-tokens.metadata.json",
11
8
  "sideEffects": false,
12
9
  "name": "@taiga-ui/addon-commerce/tokens"
13
- }
10
+ }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@taiga-ui/addon-commerce/tokens" />
4
5
  export * from './index';
package/types/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './code-length';
2
2
  export * from './currency-variants';
3
3
  export * from './money-sign';
4
+ export * from './payment-system';
@@ -1,3 +1,3 @@
1
1
  import { CHAR_MINUS, CHAR_PLUS } from '@taiga-ui/cdk';
2
- export declare type TuiMoneySignT = 'negative-only' | 'always' | 'never' | 'force-negative' | 'force-positive';
2
+ export declare type TuiMoneySign = 'negative-only' | 'always' | 'never' | 'force-negative' | 'force-positive';
3
3
  export declare type TuiMoneySignSymbol = '' | typeof CHAR_MINUS | typeof CHAR_PLUS;
@@ -1,13 +1,10 @@
1
1
  {
2
2
  "main": "../bundles/taiga-ui-addon-commerce-types.umd.js",
3
- "module": "../fesm5/taiga-ui-addon-commerce-types.js",
3
+ "module": "../fesm2015/taiga-ui-addon-commerce-types.js",
4
4
  "es2015": "../fesm2015/taiga-ui-addon-commerce-types.js",
5
- "esm5": "../esm5/types/taiga-ui-addon-commerce-types.js",
6
5
  "esm2015": "../esm2015/types/taiga-ui-addon-commerce-types.js",
7
- "fesm5": "../fesm5/taiga-ui-addon-commerce-types.js",
8
6
  "fesm2015": "../fesm2015/taiga-ui-addon-commerce-types.js",
9
7
  "typings": "taiga-ui-addon-commerce-types.d.ts",
10
- "metadata": "taiga-ui-addon-commerce-types.metadata.json",
11
8
  "sideEffects": false,
12
9
  "name": "@taiga-ui/addon-commerce/types"
13
- }
10
+ }
@@ -0,0 +1 @@
1
+ export declare type TuiPaymentSystem = 'visa' | 'electron' | 'mastercard' | 'maestro' | 'mir';
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@taiga-ui/addon-commerce/types" />
4
5
  export * from './index';
@@ -1,6 +1,2 @@
1
1
  import { TuiCurrencyVariants } from '@taiga-ui/addon-commerce/types';
2
- /**
3
- * @deprecated: use {@link tuiFormatCurrency} instead
4
- */
5
- export declare function formatCurrency(currency: TuiCurrencyVariants): string;
6
- export declare const tuiFormatCurrency: typeof formatCurrency;
2
+ export declare function tuiFormatCurrency(currency: TuiCurrencyVariants): string;