ng-easycommerce 0.0.619 → 0.0.620

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 (595) hide show
  1. package/README.md +989 -983
  2. package/assets/bamboo.html +145 -145
  3. package/assets/bancardCatastro.html +49 -49
  4. package/assets/bancardFrameBase.html +104 -104
  5. package/assets/cecaFrameRedirectBase.html +172 -172
  6. package/assets/decidirFormEc.html +519 -519
  7. package/assets/docs/COOKIES.md +158 -158
  8. package/assets/docs/Parametros-Frontend.md +56 -56
  9. package/assets/ec-i18n/ct.json +297 -295
  10. package/assets/ec-i18n/en.json +3 -2
  11. package/assets/ec-i18n/es.json +414 -412
  12. package/assets/ec-i18n/fr.json +3 -1
  13. package/assets/ec-i18n/gl.json +297 -295
  14. package/assets/ec-i18n/pr.json +297 -295
  15. package/assets/images/whatsapp.png +0 -0
  16. package/assets/mpFrameRedirectBase.html +114 -114
  17. package/assets/recaptcha/recaptcha-site-keys.json +3 -3
  18. package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
  19. package/assets/recaptcha/recaptcha-sites.json +52 -52
  20. package/assets/redirect.html +62 -62
  21. package/assets/redsysAuthVdosBase.html +78 -78
  22. package/assets/redsysAuthVunoBase.html +84 -84
  23. package/assets/redsysFrameRedirectBase.html +102 -102
  24. package/assets/redsysFrameRedirectOutBase.html +102 -102
  25. package/assets/redsysFrameSendBase.html +71 -71
  26. package/assets/redsysProBase.html +399 -399
  27. package/assets/redsysStateBase.html +63 -63
  28. package/assets/scss/_colors.scss +17 -17
  29. package/assets/scss/_styles.scss +22 -22
  30. package/assets/svg/chevron-left-black.svg +61 -61
  31. package/assets/svg/chevron-right-black.svg +61 -61
  32. package/bundles/ng-easycommerce.umd.js +19714 -19689
  33. package/bundles/ng-easycommerce.umd.js.map +1 -1
  34. package/bundles/ng-easycommerce.umd.min.js +1 -1
  35. package/bundles/ng-easycommerce.umd.min.js.map +1 -1
  36. package/esm2015/lib/api/connection.service.js +77 -77
  37. package/esm2015/lib/classes/checkout/step-service.js +39 -39
  38. package/esm2015/lib/classes/checkout/step.js +22 -22
  39. package/esm2015/lib/classes/checkout-process-state.js +2 -2
  40. package/esm2015/lib/classes/component-helper.js +16 -16
  41. package/esm2015/lib/classes/filters/AttributesFilter.js +61 -61
  42. package/esm2015/lib/classes/filters/CategoryFilter.js +54 -54
  43. package/esm2015/lib/classes/filters/DinamycsFilter.js +58 -58
  44. package/esm2015/lib/classes/filters/Filter.js +75 -75
  45. package/esm2015/lib/classes/filters/PriceRangeFilter.js +51 -51
  46. package/esm2015/lib/classes/filters/SortFilter.js +79 -79
  47. package/esm2015/lib/classes/user-role-type.js +1 -1
  48. package/esm2015/lib/classes/user.js +108 -108
  49. package/esm2015/lib/core.consts.js +414 -414
  50. package/esm2015/lib/ec-component/account-ec/account-ec.component.js +45 -45
  51. package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +115 -115
  52. package/esm2015/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +192 -192
  53. package/esm2015/lib/ec-component/auth-ec/auth-ec.component.js +115 -115
  54. package/esm2015/lib/ec-component/auth-ec/confirm-account-ec/confirm-account-ec.component.js +44 -44
  55. package/esm2015/lib/ec-component/auth-ec/forgot-password-ec/forgot-password-ec.component.js +58 -58
  56. package/esm2015/lib/ec-component/auth-ec/login-form-ec/login-form-ec.component.js +108 -108
  57. package/esm2015/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +168 -168
  58. package/esm2015/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +165 -165
  59. package/esm2015/lib/ec-component/auth-ec/select-channel-ec/select-channel-ec.component.js +78 -78
  60. package/esm2015/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.js +140 -140
  61. package/esm2015/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.js +110 -110
  62. package/esm2015/lib/ec-component/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.js +138 -138
  63. package/esm2015/lib/ec-component/blocks-ec/block-html-ec/block-html-ec.component.js +38 -38
  64. package/esm2015/lib/ec-component/blocks-ec/block-newsletter-ec/contact-form-news-ec.component.js +152 -152
  65. package/esm2015/lib/ec-component/blocks-ec/block-products-ec/block-products-ec.component.js +119 -119
  66. package/esm2015/lib/ec-component/blocks-ec/blocks-ec.component.js +70 -70
  67. package/esm2015/lib/ec-component/build-your-ec/build-your-ec.component.js +305 -305
  68. package/esm2015/lib/ec-component/build-your-ec/product-found-ec/product-found-ec.component.js +85 -85
  69. package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +404 -404
  70. package/esm2015/lib/ec-component/checkout-ec/checkout-ec.component.js +152 -152
  71. package/esm2015/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +424 -424
  72. package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +103 -103
  73. package/esm2015/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +169 -146
  74. package/esm2015/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +112 -112
  75. package/esm2015/lib/ec-component/checkout-ec/step-ec/step-ec.component.js +53 -53
  76. package/esm2015/lib/ec-component/checkout-ec/success-ec/success-ec.component.js +66 -66
  77. package/esm2015/lib/ec-component/checkout-error-ec/checkout-error-ec.component.js +80 -80
  78. package/esm2015/lib/ec-component/collection-ec/collection-ec.component.js +220 -220
  79. package/esm2015/lib/ec-component/compared-products-ec/compared-products-ec.component.js +186 -186
  80. package/esm2015/lib/ec-component/cookies-ec/cookies-ec.component.js +109 -109
  81. package/esm2015/lib/ec-component/cookies-ec/modal-config-ec/modal-config-ec.component.js +32 -32
  82. package/esm2015/lib/ec-component/cookies-ec/modal-cookies-ec/modal-cookies-ec.component.js +34 -34
  83. package/esm2015/lib/ec-component/cookies-ec/sidebar-cookies-ec/sidebar-cookies-ec.component.js +34 -34
  84. package/esm2015/lib/ec-component/cookies-ec/toast-cookies-ec/toast-cookies-ec.component.js +35 -35
  85. package/esm2015/lib/ec-component/coupon-ec/coupon-ec.component.js +53 -53
  86. package/esm2015/lib/ec-component/faqs-content-ec/faqs-content-ec.component.js +49 -49
  87. package/esm2015/lib/ec-component/filters-ec/filters-ec.component.js +152 -152
  88. package/esm2015/lib/ec-component/filters-top-ec/filters-top-ec.component.js +102 -102
  89. package/esm2015/lib/ec-component/footer-ec/footer-ec.component.js +82 -82
  90. package/esm2015/lib/ec-component/header-ec/header-ec.component.js +199 -199
  91. package/esm2015/lib/ec-component/home-ec/home-ec.component.js +37 -37
  92. package/esm2015/lib/ec-component/index.js +244 -244
  93. package/esm2015/lib/ec-component/login-ec/login-ec.component.js +102 -102
  94. package/esm2015/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.js +90 -90
  95. package/esm2015/lib/ec-component/password-reset-ec/password-reset-ec.component.js +103 -103
  96. package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +172 -172
  97. package/esm2015/lib/ec-component/product-ec/product-ec.component.js +140 -140
  98. package/esm2015/lib/ec-component/related-products-ec/related-products-ec.component.js +94 -94
  99. package/esm2015/lib/ec-component/reviews-ec/reviews-ec.component.js +69 -69
  100. package/esm2015/lib/ec-component/reviews-form-ec/reviews-form-ec.component.js +138 -138
  101. package/esm2015/lib/ec-component/section-container-ec/section-container-ec.component.js +86 -86
  102. package/esm2015/lib/ec-component/seller-dashboard-container-ec/seller-dashboard-container-ec.component.js +130 -130
  103. package/esm2015/lib/ec-component/share-block-ec/share-block-ec.component.js +149 -149
  104. package/esm2015/lib/ec-component/sidebar-ec/sidebar-ec.component.js +133 -133
  105. package/esm2015/lib/ec-component/stores-ec/stores-ec.component.js +192 -192
  106. package/esm2015/lib/ec-component/variants-ec/variants-ec.component.js +56 -56
  107. package/esm2015/lib/ec-component/widgets-ec/bamboo-ec/bamboo-ec.component.js +205 -205
  108. package/esm2015/lib/ec-component/widgets-ec/bancard-catastro-ec/bancard-catastro-ec.component.js +296 -296
  109. package/esm2015/lib/ec-component/widgets-ec/bancard-ec/bancard-ec.component.js +154 -154
  110. package/esm2015/lib/ec-component/widgets-ec/bancard-redirect-ec/bancard-redirect-ec.component.js +144 -144
  111. package/esm2015/lib/ec-component/widgets-ec/cart-load-ec/cart-load-ec.component.js +49 -49
  112. package/esm2015/lib/ec-component/widgets-ec/ceca-redirect-ec/ceca-redirect-ec.component.js +133 -133
  113. package/esm2015/lib/ec-component/widgets-ec/culqi-ec/culqi-ec.component.js +152 -152
  114. package/esm2015/lib/ec-component/widgets-ec/decidir-ec/decidir-ec.component.js +175 -175
  115. package/esm2015/lib/ec-component/widgets-ec/loading-full-ec/loading-full-ec.component.js +30 -30
  116. package/esm2015/lib/ec-component/widgets-ec/loading-inline-ec/loading-inline-ec.component.js +26 -26
  117. package/esm2015/lib/ec-component/widgets-ec/loading-section-ec/loading-section-ec.component.js +21 -21
  118. package/esm2015/lib/ec-component/widgets-ec/mercadopago-ec/mp-redirect-ec/mp-redirect-ec.component.js +156 -156
  119. package/esm2015/lib/ec-component/widgets-ec/mercadopago-ec/mpcredit-ec/mpcredit-ec.component.js +368 -368
  120. package/esm2015/lib/ec-component/widgets-ec/mobbex-ec/mobbex-ec.component.js +151 -151
  121. package/esm2015/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.js +178 -178
  122. package/esm2015/lib/ec-component/widgets-ec/place-to-pay-ec/place-to-pay-ec.component.js +126 -126
  123. package/esm2015/lib/ec-component/widgets-ec/price-ec/price-ec.component.js +101 -101
  124. package/esm2015/lib/ec-component/widgets-ec/rating-ec/rating-ec.component.js +83 -83
  125. package/esm2015/lib/ec-component/widgets-ec/re-captcha-ec/re-captcha-ec.component.js +50 -50
  126. package/esm2015/lib/ec-component/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.js +90 -90
  127. package/esm2015/lib/ec-component/widgets-ec/redsys-pro-ec/redsys-pro-ec.component.js +143 -143
  128. package/esm2015/lib/ec-component/widgets-ec/redsys-redirect-ec/redsys-redirect-ec.component.js +128 -128
  129. package/esm2015/lib/ec-component/widgets-ec/redsys-redirect-out-ec/redsys-redirect-out-ec.component.js +145 -145
  130. package/esm2015/lib/ec-component/widgets-ec/zoom-ec/magnizoom.component.js +167 -167
  131. package/esm2015/lib/ec-directive/add-action-redirect.directive.js +85 -85
  132. package/esm2015/lib/ec-directive/auth-wholesaler.directive.js +54 -54
  133. package/esm2015/lib/ec-directive/index.js +36 -36
  134. package/esm2015/lib/ec-directive/product-mini-standard.directive.js +65 -65
  135. package/esm2015/lib/ec-directive/product-off.directive.js +144 -144
  136. package/esm2015/lib/ec-directive/product-stock.directive.js +75 -75
  137. package/esm2015/lib/ec-directive/reload-view.directive.js +34 -34
  138. package/esm2015/lib/ec-pipe/ec-currency-symbol.pipe.js +72 -72
  139. package/esm2015/lib/ec-pipe/ec-sanitizer-html.pipe.js +26 -26
  140. package/esm2015/lib/ec-pipe/ec-sanitizer-url.pipe.js +26 -26
  141. package/esm2015/lib/ec-pipe/index.js +13 -13
  142. package/esm2015/lib/guards/able-buyer-guard.service.js +36 -36
  143. package/esm2015/lib/guards/auth-guard.service.js +36 -36
  144. package/esm2015/lib/guards/checkout-ready.service.js +36 -36
  145. package/esm2015/lib/guards/loggedin-guard.service.js +36 -36
  146. package/esm2015/lib/guards/user-role-guard.service.js +38 -38
  147. package/esm2015/lib/interceptors/auth.interceptor.js +55 -55
  148. package/esm2015/lib/interceptors/customer.interceptor.js +48 -48
  149. package/esm2015/lib/interfaces/Script.js +1 -1
  150. package/esm2015/lib/interfaces/analytics/event-key.model.js +1 -1
  151. package/esm2015/lib/interfaces/analytics/facebook-pixel/facebook-pixel-model.js +1 -1
  152. package/esm2015/lib/interfaces/analytics/gtm-config.js +1 -1
  153. package/esm2015/lib/interfaces/analytics/metricool-pixel.js +1 -1
  154. package/esm2015/lib/interfaces/block.js +1 -1
  155. package/esm2015/lib/interfaces/cart/cart-affordable.js +1 -1
  156. package/esm2015/lib/interfaces/checkout/checkout-error.js +1 -1
  157. package/esm2015/lib/interfaces/checkout-data.js +1 -1
  158. package/esm2015/lib/interfaces/choose-options/filter-option.js +6 -6
  159. package/esm2015/lib/interfaces/choose-options/options-of-product-list.js +1 -1
  160. package/esm2015/lib/interfaces/cookies.js +1 -1
  161. package/esm2015/lib/interfaces/core.interfaces.js +1 -1
  162. package/esm2015/lib/interfaces/coupon.js +1 -1
  163. package/esm2015/lib/interfaces/deserializable.js +1 -1
  164. package/esm2015/lib/interfaces/faqs.js +1 -1
  165. package/esm2015/lib/interfaces/filter.js +1 -1
  166. package/esm2015/lib/interfaces/filterStep.js +1 -1
  167. package/esm2015/lib/interfaces/observable-error.interface.js +1 -1
  168. package/esm2015/lib/interfaces/paginate.js +1 -1
  169. package/esm2015/lib/interfaces/parameters.js +1 -1
  170. package/esm2015/lib/interfaces/selection.js +4 -4
  171. package/esm2015/lib/interfaces/step.js +1 -1
  172. package/esm2015/lib/interfaces/store.js +1 -1
  173. package/esm2015/lib/ng-easycommerce.module.js +181 -181
  174. package/esm2015/lib/pipes/order-by.pipe.js +101 -101
  175. package/esm2015/lib/services/account/orders.service.js +102 -102
  176. package/esm2015/lib/services/analytics.service.js +57 -57
  177. package/esm2015/lib/services/auth.service.js +352 -352
  178. package/esm2015/lib/services/banner.service.js +72 -72
  179. package/esm2015/lib/services/blocks/blocks-repository.service.js +62 -62
  180. package/esm2015/lib/services/blocks/blocks.service.js +71 -71
  181. package/esm2015/lib/services/captcha.service.js +130 -130
  182. package/esm2015/lib/services/cart.service.js +577 -574
  183. package/esm2015/lib/services/channel-config.service.js +105 -105
  184. package/esm2015/lib/services/checkout/addressing.service.js +222 -222
  185. package/esm2015/lib/services/checkout/checkout.service.js +236 -233
  186. package/esm2015/lib/services/checkout/error-handler.service.js +81 -81
  187. package/esm2015/lib/services/checkout/payment.service.js +79 -79
  188. package/esm2015/lib/services/checkout/shipment.service.js +183 -183
  189. package/esm2015/lib/services/concatenated-associations.service.js +120 -120
  190. package/esm2015/lib/services/cookies.service.js +208 -208
  191. package/esm2015/lib/services/currency.service.js +161 -161
  192. package/esm2015/lib/services/dataform.service.js +46 -46
  193. package/esm2015/lib/services/filters.service.js +122 -122
  194. package/esm2015/lib/services/gift-card.service.js +61 -61
  195. package/esm2015/lib/services/ip-address.service.js +34 -34
  196. package/esm2015/lib/services/options.service.js +275 -275
  197. package/esm2015/lib/services/pagination.service.js +73 -73
  198. package/esm2015/lib/services/parameters.service.js +72 -72
  199. package/esm2015/lib/services/products/product-detail.service.js +432 -437
  200. package/esm2015/lib/services/products/products.service.js +287 -287
  201. package/esm2015/lib/services/reviews.service.js +107 -107
  202. package/esm2015/lib/services/stores.service.js +37 -37
  203. package/esm2015/lib/services/windows.service.js +52 -52
  204. package/esm2015/lib/services/wishlist.service.js +70 -70
  205. package/esm2015/lib/strategies/standard.strategy.js +43 -43
  206. package/esm2015/lib/utils/analytics/doppler.service.js +37 -37
  207. package/esm2015/lib/utils/analytics/facebook-pixel.service.js +141 -141
  208. package/esm2015/lib/utils/analytics/google-analytics.service.js +265 -265
  209. package/esm2015/lib/utils/analytics/gtm.service.js +341 -341
  210. package/esm2015/lib/utils/analytics/metricool-pixel.service.js +48 -48
  211. package/esm2015/lib/utils/options-of-product-list-data.service.js +96 -96
  212. package/esm2015/lib/utils/order-util.service.js +72 -72
  213. package/esm2015/lib/utils/payment-utils.service.js +35 -35
  214. package/esm2015/lib/utils/shipment-transformer.service.js +66 -66
  215. package/esm2015/lib/utils/toast.service.js +42 -42
  216. package/esm2015/lib/utils/utils.service.js +20 -20
  217. package/esm2015/ng-easycommerce.js +34 -34
  218. package/esm2015/public-api.js +146 -146
  219. package/esm5/lib/api/connection.service.js +90 -90
  220. package/esm5/lib/classes/checkout/step-service.js +74 -74
  221. package/esm5/lib/classes/checkout/step.js +25 -25
  222. package/esm5/lib/classes/checkout-process-state.js +2 -2
  223. package/esm5/lib/classes/component-helper.js +22 -22
  224. package/esm5/lib/classes/filters/AttributesFilter.js +79 -79
  225. package/esm5/lib/classes/filters/CategoryFilter.js +72 -72
  226. package/esm5/lib/classes/filters/DinamycsFilter.js +76 -76
  227. package/esm5/lib/classes/filters/Filter.js +78 -78
  228. package/esm5/lib/classes/filters/PriceRangeFilter.js +68 -68
  229. package/esm5/lib/classes/filters/SortFilter.js +97 -97
  230. package/esm5/lib/classes/user-role-type.js +1 -1
  231. package/esm5/lib/classes/user.js +120 -120
  232. package/esm5/lib/core.consts.js +434 -434
  233. package/esm5/lib/ec-component/account-ec/account-ec.component.js +62 -62
  234. package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +169 -169
  235. package/esm5/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +209 -209
  236. package/esm5/lib/ec-component/auth-ec/auth-ec.component.js +132 -132
  237. package/esm5/lib/ec-component/auth-ec/confirm-account-ec/confirm-account-ec.component.js +60 -60
  238. package/esm5/lib/ec-component/auth-ec/forgot-password-ec/forgot-password-ec.component.js +74 -74
  239. package/esm5/lib/ec-component/auth-ec/login-form-ec/login-form-ec.component.js +125 -125
  240. package/esm5/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.js +185 -185
  241. package/esm5/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.js +182 -182
  242. package/esm5/lib/ec-component/auth-ec/select-channel-ec/select-channel-ec.component.js +106 -106
  243. package/esm5/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.js +170 -170
  244. package/esm5/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.js +138 -138
  245. package/esm5/lib/ec-component/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.js +165 -165
  246. package/esm5/lib/ec-component/blocks-ec/block-html-ec/block-html-ec.component.js +54 -54
  247. package/esm5/lib/ec-component/blocks-ec/block-newsletter-ec/contact-form-news-ec.component.js +180 -180
  248. package/esm5/lib/ec-component/blocks-ec/block-products-ec/block-products-ec.component.js +146 -146
  249. package/esm5/lib/ec-component/blocks-ec/blocks-ec.component.js +90 -90
  250. package/esm5/lib/ec-component/build-your-ec/build-your-ec.component.js +327 -327
  251. package/esm5/lib/ec-component/build-your-ec/product-found-ec/product-found-ec.component.js +112 -112
  252. package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +488 -488
  253. package/esm5/lib/ec-component/checkout-ec/checkout-ec.component.js +169 -169
  254. package/esm5/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.js +509 -509
  255. package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +120 -120
  256. package/esm5/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +259 -236
  257. package/esm5/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +162 -162
  258. package/esm5/lib/ec-component/checkout-ec/step-ec/step-ec.component.js +69 -69
  259. package/esm5/lib/ec-component/checkout-ec/success-ec/success-ec.component.js +83 -83
  260. package/esm5/lib/ec-component/checkout-error-ec/checkout-error-ec.component.js +97 -97
  261. package/esm5/lib/ec-component/collection-ec/collection-ec.component.js +261 -261
  262. package/esm5/lib/ec-component/compared-products-ec/compared-products-ec.component.js +209 -209
  263. package/esm5/lib/ec-component/cookies-ec/cookies-ec.component.js +126 -126
  264. package/esm5/lib/ec-component/cookies-ec/modal-config-ec/modal-config-ec.component.js +34 -34
  265. package/esm5/lib/ec-component/cookies-ec/modal-cookies-ec/modal-cookies-ec.component.js +36 -36
  266. package/esm5/lib/ec-component/cookies-ec/sidebar-cookies-ec/sidebar-cookies-ec.component.js +36 -36
  267. package/esm5/lib/ec-component/cookies-ec/toast-cookies-ec/toast-cookies-ec.component.js +37 -37
  268. package/esm5/lib/ec-component/coupon-ec/coupon-ec.component.js +71 -71
  269. package/esm5/lib/ec-component/faqs-content-ec/faqs-content-ec.component.js +66 -66
  270. package/esm5/lib/ec-component/filters-ec/filters-ec.component.js +168 -168
  271. package/esm5/lib/ec-component/filters-top-ec/filters-top-ec.component.js +118 -118
  272. package/esm5/lib/ec-component/footer-ec/footer-ec.component.js +113 -113
  273. package/esm5/lib/ec-component/header-ec/header-ec.component.js +260 -260
  274. package/esm5/lib/ec-component/home-ec/home-ec.component.js +53 -53
  275. package/esm5/lib/ec-component/index.js +244 -244
  276. package/esm5/lib/ec-component/login-ec/login-ec.component.js +118 -118
  277. package/esm5/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.js +106 -106
  278. package/esm5/lib/ec-component/password-reset-ec/password-reset-ec.component.js +119 -119
  279. package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +199 -199
  280. package/esm5/lib/ec-component/product-ec/product-ec.component.js +158 -158
  281. package/esm5/lib/ec-component/related-products-ec/related-products-ec.component.js +111 -111
  282. package/esm5/lib/ec-component/reviews-ec/reviews-ec.component.js +85 -85
  283. package/esm5/lib/ec-component/reviews-form-ec/reviews-form-ec.component.js +155 -155
  284. package/esm5/lib/ec-component/section-container-ec/section-container-ec.component.js +103 -103
  285. package/esm5/lib/ec-component/seller-dashboard-container-ec/seller-dashboard-container-ec.component.js +149 -149
  286. package/esm5/lib/ec-component/share-block-ec/share-block-ec.component.js +166 -166
  287. package/esm5/lib/ec-component/sidebar-ec/sidebar-ec.component.js +136 -136
  288. package/esm5/lib/ec-component/stores-ec/stores-ec.component.js +214 -214
  289. package/esm5/lib/ec-component/variants-ec/variants-ec.component.js +72 -72
  290. package/esm5/lib/ec-component/widgets-ec/bamboo-ec/bamboo-ec.component.js +221 -221
  291. package/esm5/lib/ec-component/widgets-ec/bancard-catastro-ec/bancard-catastro-ec.component.js +313 -313
  292. package/esm5/lib/ec-component/widgets-ec/bancard-ec/bancard-ec.component.js +170 -170
  293. package/esm5/lib/ec-component/widgets-ec/bancard-redirect-ec/bancard-redirect-ec.component.js +160 -160
  294. package/esm5/lib/ec-component/widgets-ec/cart-load-ec/cart-load-ec.component.js +83 -83
  295. package/esm5/lib/ec-component/widgets-ec/ceca-redirect-ec/ceca-redirect-ec.component.js +149 -149
  296. package/esm5/lib/ec-component/widgets-ec/culqi-ec/culqi-ec.component.js +156 -156
  297. package/esm5/lib/ec-component/widgets-ec/decidir-ec/decidir-ec.component.js +192 -192
  298. package/esm5/lib/ec-component/widgets-ec/loading-full-ec/loading-full-ec.component.js +46 -46
  299. package/esm5/lib/ec-component/widgets-ec/loading-inline-ec/loading-inline-ec.component.js +42 -42
  300. package/esm5/lib/ec-component/widgets-ec/loading-section-ec/loading-section-ec.component.js +23 -23
  301. package/esm5/lib/ec-component/widgets-ec/mercadopago-ec/mp-redirect-ec/mp-redirect-ec.component.js +174 -174
  302. package/esm5/lib/ec-component/widgets-ec/mercadopago-ec/mpcredit-ec/mpcredit-ec.component.js +396 -396
  303. package/esm5/lib/ec-component/widgets-ec/mobbex-ec/mobbex-ec.component.js +167 -167
  304. package/esm5/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.js +231 -231
  305. package/esm5/lib/ec-component/widgets-ec/place-to-pay-ec/place-to-pay-ec.component.js +144 -144
  306. package/esm5/lib/ec-component/widgets-ec/price-ec/price-ec.component.js +122 -122
  307. package/esm5/lib/ec-component/widgets-ec/rating-ec/rating-ec.component.js +100 -100
  308. package/esm5/lib/ec-component/widgets-ec/re-captcha-ec/re-captcha-ec.component.js +53 -53
  309. package/esm5/lib/ec-component/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.js +124 -124
  310. package/esm5/lib/ec-component/widgets-ec/redsys-pro-ec/redsys-pro-ec.component.js +159 -159
  311. package/esm5/lib/ec-component/widgets-ec/redsys-redirect-ec/redsys-redirect-ec.component.js +144 -144
  312. package/esm5/lib/ec-component/widgets-ec/redsys-redirect-out-ec/redsys-redirect-out-ec.component.js +162 -162
  313. package/esm5/lib/ec-component/widgets-ec/zoom-ec/magnizoom.component.js +181 -181
  314. package/esm5/lib/ec-directive/add-action-redirect.directive.js +104 -104
  315. package/esm5/lib/ec-directive/auth-wholesaler.directive.js +60 -60
  316. package/esm5/lib/ec-directive/index.js +36 -36
  317. package/esm5/lib/ec-directive/product-mini-standard.directive.js +72 -72
  318. package/esm5/lib/ec-directive/product-off.directive.js +163 -163
  319. package/esm5/lib/ec-directive/product-stock.directive.js +81 -81
  320. package/esm5/lib/ec-directive/reload-view.directive.js +35 -35
  321. package/esm5/lib/ec-pipe/ec-currency-symbol.pipe.js +74 -74
  322. package/esm5/lib/ec-pipe/ec-sanitizer-html.pipe.js +27 -27
  323. package/esm5/lib/ec-pipe/ec-sanitizer-url.pipe.js +27 -27
  324. package/esm5/lib/ec-pipe/index.js +13 -13
  325. package/esm5/lib/guards/able-buyer-guard.service.js +37 -37
  326. package/esm5/lib/guards/auth-guard.service.js +37 -37
  327. package/esm5/lib/guards/checkout-ready.service.js +37 -37
  328. package/esm5/lib/guards/loggedin-guard.service.js +37 -37
  329. package/esm5/lib/guards/user-role-guard.service.js +39 -39
  330. package/esm5/lib/interceptors/auth.interceptor.js +57 -57
  331. package/esm5/lib/interceptors/customer.interceptor.js +50 -50
  332. package/esm5/lib/interfaces/Script.js +1 -1
  333. package/esm5/lib/interfaces/analytics/event-key.model.js +1 -1
  334. package/esm5/lib/interfaces/analytics/facebook-pixel/facebook-pixel-model.js +1 -1
  335. package/esm5/lib/interfaces/analytics/gtm-config.js +1 -1
  336. package/esm5/lib/interfaces/analytics/metricool-pixel.js +1 -1
  337. package/esm5/lib/interfaces/block.js +1 -1
  338. package/esm5/lib/interfaces/cart/cart-affordable.js +1 -1
  339. package/esm5/lib/interfaces/checkout/checkout-error.js +1 -1
  340. package/esm5/lib/interfaces/checkout-data.js +1 -1
  341. package/esm5/lib/interfaces/choose-options/filter-option.js +6 -6
  342. package/esm5/lib/interfaces/choose-options/options-of-product-list.js +1 -1
  343. package/esm5/lib/interfaces/cookies.js +1 -1
  344. package/esm5/lib/interfaces/core.interfaces.js +1 -1
  345. package/esm5/lib/interfaces/coupon.js +1 -1
  346. package/esm5/lib/interfaces/deserializable.js +1 -1
  347. package/esm5/lib/interfaces/faqs.js +1 -1
  348. package/esm5/lib/interfaces/filter.js +1 -1
  349. package/esm5/lib/interfaces/filterStep.js +1 -1
  350. package/esm5/lib/interfaces/observable-error.interface.js +1 -1
  351. package/esm5/lib/interfaces/paginate.js +1 -1
  352. package/esm5/lib/interfaces/parameters.js +1 -1
  353. package/esm5/lib/interfaces/selection.js +4 -4
  354. package/esm5/lib/interfaces/step.js +1 -1
  355. package/esm5/lib/interfaces/store.js +1 -1
  356. package/esm5/lib/ng-easycommerce.module.js +185 -185
  357. package/esm5/lib/pipes/order-by.pipe.js +106 -106
  358. package/esm5/lib/services/account/orders.service.js +120 -120
  359. package/esm5/lib/services/analytics.service.js +60 -60
  360. package/esm5/lib/services/auth.service.js +426 -426
  361. package/esm5/lib/services/banner.service.js +81 -81
  362. package/esm5/lib/services/blocks/blocks-repository.service.js +94 -94
  363. package/esm5/lib/services/blocks/blocks.service.js +79 -79
  364. package/esm5/lib/services/captcha.service.js +132 -132
  365. package/esm5/lib/services/cart.service.js +709 -705
  366. package/esm5/lib/services/channel-config.service.js +107 -107
  367. package/esm5/lib/services/checkout/addressing.service.js +280 -280
  368. package/esm5/lib/services/checkout/checkout.service.js +319 -316
  369. package/esm5/lib/services/checkout/error-handler.service.js +83 -83
  370. package/esm5/lib/services/checkout/payment.service.js +129 -129
  371. package/esm5/lib/services/checkout/shipment.service.js +265 -265
  372. package/esm5/lib/services/concatenated-associations.service.js +162 -162
  373. package/esm5/lib/services/cookies.service.js +222 -222
  374. package/esm5/lib/services/currency.service.js +205 -205
  375. package/esm5/lib/services/dataform.service.js +48 -48
  376. package/esm5/lib/services/filters.service.js +125 -125
  377. package/esm5/lib/services/gift-card.service.js +63 -63
  378. package/esm5/lib/services/ip-address.service.js +35 -35
  379. package/esm5/lib/services/options.service.js +376 -376
  380. package/esm5/lib/services/pagination.service.js +79 -79
  381. package/esm5/lib/services/parameters.service.js +74 -74
  382. package/esm5/lib/services/products/product-detail.service.js +497 -502
  383. package/esm5/lib/services/products/products.service.js +345 -345
  384. package/esm5/lib/services/reviews.service.js +116 -116
  385. package/esm5/lib/services/stores.service.js +39 -39
  386. package/esm5/lib/services/windows.service.js +79 -79
  387. package/esm5/lib/services/wishlist.service.js +71 -71
  388. package/esm5/lib/strategies/standard.strategy.js +44 -44
  389. package/esm5/lib/utils/analytics/doppler.service.js +39 -39
  390. package/esm5/lib/utils/analytics/facebook-pixel.service.js +145 -145
  391. package/esm5/lib/utils/analytics/google-analytics.service.js +280 -280
  392. package/esm5/lib/utils/analytics/gtm.service.js +358 -358
  393. package/esm5/lib/utils/analytics/metricool-pixel.service.js +40 -40
  394. package/esm5/lib/utils/options-of-product-list-data.service.js +98 -98
  395. package/esm5/lib/utils/order-util.service.js +75 -75
  396. package/esm5/lib/utils/payment-utils.service.js +37 -37
  397. package/esm5/lib/utils/shipment-transformer.service.js +78 -78
  398. package/esm5/lib/utils/toast.service.js +61 -61
  399. package/esm5/lib/utils/utils.service.js +22 -22
  400. package/esm5/ng-easycommerce.js +34 -34
  401. package/esm5/public-api.js +146 -146
  402. package/fesm2015/ng-easycommerce.js +16689 -16665
  403. package/fesm2015/ng-easycommerce.js.map +1 -1
  404. package/fesm5/ng-easycommerce.js +19718 -19693
  405. package/fesm5/ng-easycommerce.js.map +1 -1
  406. package/lib/api/connection.service.d.ts +28 -28
  407. package/lib/classes/checkout/step-service.d.ts +28 -28
  408. package/lib/classes/checkout/step.d.ts +14 -14
  409. package/lib/classes/checkout-process-state.d.ts +12 -12
  410. package/lib/classes/component-helper.d.ts +8 -8
  411. package/lib/classes/filters/AttributesFilter.d.ts +18 -18
  412. package/lib/classes/filters/CategoryFilter.d.ts +17 -17
  413. package/lib/classes/filters/DinamycsFilter.d.ts +15 -15
  414. package/lib/classes/filters/Filter.d.ts +19 -19
  415. package/lib/classes/filters/PriceRangeFilter.d.ts +18 -18
  416. package/lib/classes/filters/SortFilter.d.ts +15 -15
  417. package/lib/classes/user-role-type.d.ts +5 -5
  418. package/lib/classes/user.d.ts +68 -68
  419. package/lib/core.consts.d.ts +216 -216
  420. package/lib/ec-component/account-ec/account-ec.component.d.ts +13 -13
  421. package/lib/ec-component/account-ec/order-ec/order-ec.component.d.ts +33 -33
  422. package/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.d.ts +84 -84
  423. package/lib/ec-component/auth-ec/auth-ec.component.d.ts +35 -35
  424. package/lib/ec-component/auth-ec/confirm-account-ec/confirm-account-ec.component.d.ts +13 -13
  425. package/lib/ec-component/auth-ec/forgot-password-ec/forgot-password-ec.component.d.ts +16 -16
  426. package/lib/ec-component/auth-ec/login-form-ec/login-form-ec.component.d.ts +26 -26
  427. package/lib/ec-component/auth-ec/register-form-ec/register-form-ec.component.d.ts +34 -34
  428. package/lib/ec-component/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.d.ts +42 -42
  429. package/lib/ec-component/auth-ec/select-channel-ec/select-channel-ec.component.d.ts +23 -23
  430. package/lib/ec-component/blocks-ec/block-banner-boxes-ec/block-banner-boxes-ec.component.d.ts +34 -34
  431. package/lib/ec-component/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.d.ts +27 -27
  432. package/lib/ec-component/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.d.ts +34 -34
  433. package/lib/ec-component/blocks-ec/block-html-ec/block-html-ec.component.d.ts +10 -10
  434. package/lib/ec-component/blocks-ec/block-newsletter-ec/contact-form-news-ec.component.d.ts +40 -40
  435. package/lib/ec-component/blocks-ec/block-products-ec/block-products-ec.component.d.ts +25 -25
  436. package/lib/ec-component/blocks-ec/blocks-ec.component.d.ts +24 -24
  437. package/lib/ec-component/build-your-ec/build-your-ec.component.d.ts +122 -122
  438. package/lib/ec-component/build-your-ec/product-found-ec/product-found-ec.component.d.ts +41 -41
  439. package/lib/ec-component/cart-ec/cart-ec.component.d.ts +59 -59
  440. package/lib/ec-component/checkout-ec/checkout-ec.component.d.ts +43 -43
  441. package/lib/ec-component/checkout-ec/dataform-ec/dataform-ec.component.d.ts +100 -100
  442. package/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +27 -27
  443. package/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.d.ts +59 -57
  444. package/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.d.ts +34 -34
  445. package/lib/ec-component/checkout-ec/step-ec/step-ec.component.d.ts +18 -18
  446. package/lib/ec-component/checkout-ec/success-ec/success-ec.component.d.ts +33 -33
  447. package/lib/ec-component/checkout-error-ec/checkout-error-ec.component.d.ts +25 -25
  448. package/lib/ec-component/collection-ec/collection-ec.component.d.ts +67 -67
  449. package/lib/ec-component/compared-products-ec/compared-products-ec.component.d.ts +70 -70
  450. package/lib/ec-component/cookies-ec/cookies-ec.component.d.ts +44 -44
  451. package/lib/ec-component/cookies-ec/modal-config-ec/modal-config-ec.component.d.ts +10 -10
  452. package/lib/ec-component/cookies-ec/modal-cookies-ec/modal-cookies-ec.component.d.ts +8 -8
  453. package/lib/ec-component/cookies-ec/sidebar-cookies-ec/sidebar-cookies-ec.component.d.ts +9 -9
  454. package/lib/ec-component/cookies-ec/toast-cookies-ec/toast-cookies-ec.component.d.ts +9 -9
  455. package/lib/ec-component/coupon-ec/coupon-ec.component.d.ts +17 -17
  456. package/lib/ec-component/faqs-content-ec/faqs-content-ec.component.d.ts +15 -15
  457. package/lib/ec-component/filters-ec/filters-ec.component.d.ts +33 -33
  458. package/lib/ec-component/filters-top-ec/filters-top-ec.component.d.ts +23 -23
  459. package/lib/ec-component/footer-ec/footer-ec.component.d.ts +30 -30
  460. package/lib/ec-component/header-ec/header-ec.component.d.ts +66 -66
  461. package/lib/ec-component/home-ec/home-ec.component.d.ts +13 -13
  462. package/lib/ec-component/index.d.ts +81 -81
  463. package/lib/ec-component/login-ec/login-ec.component.d.ts +26 -26
  464. package/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.d.ts +28 -28
  465. package/lib/ec-component/password-reset-ec/password-reset-ec.component.d.ts +27 -27
  466. package/lib/ec-component/product-detail-ec/product-detail-ec.component.d.ts +60 -60
  467. package/lib/ec-component/product-ec/product-ec.component.d.ts +52 -52
  468. package/lib/ec-component/related-products-ec/related-products-ec.component.d.ts +22 -22
  469. package/lib/ec-component/reviews-ec/reviews-ec.component.d.ts +29 -29
  470. package/lib/ec-component/reviews-form-ec/reviews-form-ec.component.d.ts +61 -61
  471. package/lib/ec-component/section-container-ec/section-container-ec.component.d.ts +22 -22
  472. package/lib/ec-component/seller-dashboard-container-ec/seller-dashboard-container-ec.component.d.ts +37 -37
  473. package/lib/ec-component/share-block-ec/share-block-ec.component.d.ts +26 -26
  474. package/lib/ec-component/sidebar-ec/sidebar-ec.component.d.ts +29 -29
  475. package/lib/ec-component/stores-ec/stores-ec.component.d.ts +54 -54
  476. package/lib/ec-component/variants-ec/variants-ec.component.d.ts +14 -14
  477. package/lib/ec-component/widgets-ec/bamboo-ec/bamboo-ec.component.d.ts +60 -60
  478. package/lib/ec-component/widgets-ec/bancard-catastro-ec/bancard-catastro-ec.component.d.ts +105 -105
  479. package/lib/ec-component/widgets-ec/bancard-ec/bancard-ec.component.d.ts +46 -46
  480. package/lib/ec-component/widgets-ec/bancard-redirect-ec/bancard-redirect-ec.component.d.ts +44 -44
  481. package/lib/ec-component/widgets-ec/cart-load-ec/cart-load-ec.component.d.ts +14 -14
  482. package/lib/ec-component/widgets-ec/ceca-redirect-ec/ceca-redirect-ec.component.d.ts +38 -38
  483. package/lib/ec-component/widgets-ec/culqi-ec/culqi-ec.component.d.ts +38 -38
  484. package/lib/ec-component/widgets-ec/decidir-ec/decidir-ec.component.d.ts +53 -53
  485. package/lib/ec-component/widgets-ec/loading-full-ec/loading-full-ec.component.d.ts +6 -6
  486. package/lib/ec-component/widgets-ec/loading-inline-ec/loading-inline-ec.component.d.ts +5 -5
  487. package/lib/ec-component/widgets-ec/loading-section-ec/loading-section-ec.component.d.ts +5 -5
  488. package/lib/ec-component/widgets-ec/mercadopago-ec/mp-redirect-ec/mp-redirect-ec.component.d.ts +43 -43
  489. package/lib/ec-component/widgets-ec/mercadopago-ec/mpcredit-ec/mpcredit-ec.component.d.ts +64 -64
  490. package/lib/ec-component/widgets-ec/mobbex-ec/mobbex-ec.component.d.ts +46 -46
  491. package/lib/ec-component/widgets-ec/paypal-express-ec/paypal-express-ec.component.d.ts +41 -41
  492. package/lib/ec-component/widgets-ec/place-to-pay-ec/place-to-pay-ec.component.d.ts +34 -34
  493. package/lib/ec-component/widgets-ec/price-ec/price-ec.component.d.ts +32 -32
  494. package/lib/ec-component/widgets-ec/rating-ec/rating-ec.component.d.ts +28 -28
  495. package/lib/ec-component/widgets-ec/re-captcha-ec/re-captcha-ec.component.d.ts +24 -24
  496. package/lib/ec-component/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.d.ts +14 -14
  497. package/lib/ec-component/widgets-ec/redsys-pro-ec/redsys-pro-ec.component.d.ts +44 -44
  498. package/lib/ec-component/widgets-ec/redsys-redirect-ec/redsys-redirect-ec.component.d.ts +38 -38
  499. package/lib/ec-component/widgets-ec/redsys-redirect-out-ec/redsys-redirect-out-ec.component.d.ts +42 -42
  500. package/lib/ec-component/widgets-ec/zoom-ec/magnizoom.component.d.ts +66 -66
  501. package/lib/ec-directive/add-action-redirect.directive.d.ts +26 -26
  502. package/lib/ec-directive/auth-wholesaler.directive.d.ts +17 -17
  503. package/lib/ec-directive/index.d.ts +6 -6
  504. package/lib/ec-directive/product-mini-standard.directive.d.ts +19 -19
  505. package/lib/ec-directive/product-off.directive.d.ts +22 -22
  506. package/lib/ec-directive/product-stock.directive.d.ts +15 -15
  507. package/lib/ec-directive/reload-view.directive.d.ts +8 -8
  508. package/lib/ec-pipe/ec-currency-symbol.pipe.d.ts +19 -19
  509. package/lib/ec-pipe/ec-sanitizer-html.pipe.d.ts +7 -7
  510. package/lib/ec-pipe/ec-sanitizer-url.pipe.d.ts +7 -7
  511. package/lib/ec-pipe/index.d.ts +4 -4
  512. package/lib/guards/able-buyer-guard.service.d.ts +8 -8
  513. package/lib/guards/auth-guard.service.d.ts +8 -8
  514. package/lib/guards/checkout-ready.service.d.ts +8 -8
  515. package/lib/guards/loggedin-guard.service.d.ts +8 -8
  516. package/lib/guards/user-role-guard.service.d.ts +8 -8
  517. package/lib/interceptors/auth.interceptor.d.ts +9 -9
  518. package/lib/interceptors/customer.interceptor.d.ts +9 -9
  519. package/lib/interfaces/Script.d.ts +5 -5
  520. package/lib/interfaces/analytics/event-key.model.d.ts +1 -1
  521. package/lib/interfaces/analytics/facebook-pixel/facebook-pixel-model.d.ts +5 -5
  522. package/lib/interfaces/analytics/gtm-config.d.ts +6 -6
  523. package/lib/interfaces/analytics/metricool-pixel.d.ts +3 -3
  524. package/lib/interfaces/block.d.ts +33 -33
  525. package/lib/interfaces/cart/cart-affordable.d.ts +8 -8
  526. package/lib/interfaces/cart-item.d.ts +8 -8
  527. package/lib/interfaces/checkout/checkout-error.d.ts +7 -7
  528. package/lib/interfaces/checkout-data.d.ts +6 -6
  529. package/lib/interfaces/choose-options/filter-option.d.ts +16 -16
  530. package/lib/interfaces/choose-options/options-of-product-list.d.ts +5 -5
  531. package/lib/interfaces/cookies.d.ts +49 -49
  532. package/lib/interfaces/core.interfaces.d.ts +4 -4
  533. package/lib/interfaces/coupon.d.ts +5 -5
  534. package/lib/interfaces/currencyConfig.d.ts +10 -10
  535. package/lib/interfaces/deserializable.d.ts +3 -3
  536. package/lib/interfaces/faqs.d.ts +12 -12
  537. package/lib/interfaces/filter.d.ts +51 -51
  538. package/lib/interfaces/filterStep.d.ts +29 -29
  539. package/lib/interfaces/navbar-items.d.ts +9 -9
  540. package/lib/interfaces/observable-error.interface.d.ts +5 -5
  541. package/lib/interfaces/paginate.d.ts +1 -1
  542. package/lib/interfaces/parameters.d.ts +10 -10
  543. package/lib/interfaces/paramsInterfaces/paramsProductsWithUniqueVariant.d.ts +6 -6
  544. package/lib/interfaces/product.d.ts +46 -46
  545. package/lib/interfaces/selection.d.ts +10 -10
  546. package/lib/interfaces/step.d.ts +8 -8
  547. package/lib/interfaces/store.d.ts +17 -17
  548. package/lib/ng-easycommerce.module.d.ts +5 -5
  549. package/lib/pipes/order-by.pipe.d.ts +5 -5
  550. package/lib/services/account/orders.service.d.ts +29 -29
  551. package/lib/services/analytics.service.d.ts +21 -21
  552. package/lib/services/auth.service.d.ts +116 -116
  553. package/lib/services/banner.service.d.ts +26 -26
  554. package/lib/services/blocks/blocks-repository.service.d.ts +19 -19
  555. package/lib/services/blocks/blocks.service.d.ts +25 -25
  556. package/lib/services/captcha.service.d.ts +76 -76
  557. package/lib/services/cart.service.d.ts +140 -140
  558. package/lib/services/channel-config.service.d.ts +35 -35
  559. package/lib/services/checkout/addressing.service.d.ts +239 -239
  560. package/lib/services/checkout/checkout.service.d.ts +71 -71
  561. package/lib/services/checkout/error-handler.service.d.ts +19 -19
  562. package/lib/services/checkout/payment.service.d.ts +34 -34
  563. package/lib/services/checkout/shipment.service.d.ts +58 -58
  564. package/lib/services/concatenated-associations.service.d.ts +57 -57
  565. package/lib/services/cookies.service.d.ts +66 -66
  566. package/lib/services/currency.service.d.ts +65 -65
  567. package/lib/services/dataform.service.d.ts +13 -13
  568. package/lib/services/filters.service.d.ts +48 -48
  569. package/lib/services/gift-card.service.d.ts +19 -19
  570. package/lib/services/ip-address.service.d.ts +10 -10
  571. package/lib/services/options.service.d.ts +61 -61
  572. package/lib/services/pagination.service.d.ts +30 -30
  573. package/lib/services/parameters.service.d.ts +18 -18
  574. package/lib/services/products/product-detail.service.d.ts +114 -115
  575. package/lib/services/products/products.service.d.ts +101 -101
  576. package/lib/services/reviews.service.d.ts +71 -71
  577. package/lib/services/stores.service.d.ts +11 -11
  578. package/lib/services/windows.service.d.ts +13 -13
  579. package/lib/services/wishlist.service.d.ts +13 -13
  580. package/lib/strategies/standard.strategy.d.ts +12 -12
  581. package/lib/utils/analytics/doppler.service.d.ts +9 -9
  582. package/lib/utils/analytics/facebook-pixel.service.d.ts +23 -23
  583. package/lib/utils/analytics/google-analytics.service.d.ts +30 -30
  584. package/lib/utils/analytics/gtm.service.d.ts +34 -34
  585. package/lib/utils/analytics/metricool-pixel.service.d.ts +9 -9
  586. package/lib/utils/options-of-product-list-data.service.d.ts +5 -5
  587. package/lib/utils/order-util.service.d.ts +12 -12
  588. package/lib/utils/payment-utils.service.d.ts +5 -5
  589. package/lib/utils/shipment-transformer.service.d.ts +8 -8
  590. package/lib/utils/toast.service.d.ts +15 -15
  591. package/lib/utils/utils.service.d.ts +4 -4
  592. package/ng-easycommerce.d.ts +34 -34
  593. package/ng-easycommerce.metadata.json +1 -1
  594. package/package.json +1 -1
  595. package/public-api.d.ts +144 -144
@@ -1,520 +1,520 @@
1
- <!DOCTYPE html>
2
- <html lang="es">
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
8
- integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
9
- <title>Decidir</title>
10
-
11
- <script defer>
12
- const subtotal = localStorage.getItem('subtotal')
13
- // console.log(subtotal);
14
- const dataDecidirHead = localStorage.getItem('dataDecidir')
15
- && JSON.parse(localStorage.getItem('dataDecidir'))
16
- let modoHead = dataDecidirHead?.config?.public_environment || null
17
- modoHead && (modoHead == 'prod' && (modoHead = false) || modoHead == 'test' && (modoHead = true))
18
- //console.log('modo head',modoHead, dataDecidirHead)
19
- !modoHead && (modoHead = window.location.host.includes('easycommerce'))
20
- let my_awesome_script = document.createElement('script');
21
- my_awesome_script.setAttribute('defer', 'defer')
22
- my_awesome_script.setAttribute('src',
23
- 'https://live.decidir.com/static/v2.6.4/decidir.js'
24
- );
25
- document.head.appendChild(my_awesome_script);
26
- const debito = ['31', '105', '106', '108'];
27
- //Script para el fingerpoint
28
- function makeSessionId(length) {
29
- var result = '';
30
- var characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
31
- var charactersLength = characters.length;
32
- for (var i = 0; i < length; i++) {
33
- result += characters.charAt(Math.floor(Math.random() *
34
- charactersLength));
35
- }
36
- return result;
37
- }
38
-
39
- function addStreetAndNro() {
40
- let row = document.createElement('div')
41
- row.classList.add('row')
42
- /*Columna Calle*/
43
- let colAddress = document.createElement('div')
44
- colAddress.classList.add('col-md-9', 'col-12')
45
- let contInput = document.createElement('div')
46
- contInput.classList.add('form-floating', 'mb-3')
47
- let inputAddress = document.createElement('input')
48
- inputAddress.classList.add('form-control')
49
- inputAddress.setAttribute('data-decidir', 'address')
50
- inputAddress.setAttribute('type', 'text')
51
- inputAddress.setAttribute('id', 'address')
52
- inputAddress.setAttribute('name', 'address')
53
- inputAddress.setAttribute('required', '')
54
- let labelAdress = document.createElement('label')
55
- labelAdress.setAttribute('for', 'address')
56
- labelAdress.textContent = 'Calle:'
57
- contInput.appendChild(inputAddress)
58
- contInput.appendChild(labelAdress)
59
- colAddress.appendChild(contInput)
60
- /*---*/
61
-
62
- /*Columna Nro*/
63
- let colNro = document.createElement('div')
64
- colNro.classList.add('col-md-3', 'col-12')
65
- let contNro = document.createElement('div')
66
- contNro.classList.add('form-floating', 'mb-3')
67
- let inputNro = document.createElement('input')
68
- inputNro.classList.add('form-control')
69
- inputNro.setAttribute('data-decidir', 'nro')
70
- inputNro.setAttribute('type', 'number')
71
- inputNro.setAttribute('id', 'nro')
72
- inputNro.setAttribute('name', 'nro')
73
- inputNro.setAttribute('required', '')
74
- let labelNro = document.createElement('label')
75
- labelNro.setAttribute('for', 'nro')
76
- labelNro.textContent = 'Nro:'
77
- contNro.appendChild(inputNro)
78
- contNro.appendChild(labelNro)
79
- colNro.appendChild(contNro)
80
- /*---*/
81
-
82
- row.appendChild(colAddress)
83
- row.appendChild(colNro)
84
- return row
85
- }
86
-
87
- function addTipoDeInteres() {
88
- let row = document.createElement('div');
89
- row.classList.add('row');
90
-
91
- /* Columna Tipo de Interés */
92
- let colInteres = document.createElement('div');
93
- colInteres.classList.add('col-md-6', 'col-12');
94
- let contSelect = document.createElement('div');
95
- contSelect.classList.add('form-floating', 'mb-3');
96
-
97
- let selectInteres = document.createElement('select');
98
- selectInteres.classList.add('form-select');
99
- selectInteres.setAttribute('data-decidir', 'tipo_interes');
100
- selectInteres.setAttribute('id', 'tipo_interes');
101
- selectInteres.setAttribute('name', 'tipo_interes');
102
- selectInteres.setAttribute('required', '');
103
-
104
- // Opción predeterminada
105
- let optionDefault = document.createElement('option');
106
- optionDefault.value = '';
107
- optionDefault.textContent = 'Seleccione cantidad de cuotas';
108
- optionDefault.disabled = true;
109
- optionDefault.selected = true;
110
- selectInteres.appendChild(optionDefault);
111
-
112
- // Agregar cuotas activas como opciones
113
- dataDecidirHead.config.public_card_type_configurations.forEach((cuota) => {
114
- if (cuota.active) {
115
- let option = document.createElement('option');
116
- option.value = cuota.dues;
117
- option.setAttribute('data-interest-rate', cuota.interestRate);
118
- option.textContent = `${cuota.dues} cuotas (${cuota.interestRate}% interés)`;
119
- selectInteres.appendChild(option);
120
- }
121
- });
122
-
123
- let labelInteres = document.createElement('label');
124
- labelInteres.setAttribute('for', 'tipo_interes');
125
- labelInteres.textContent = 'Tipo de interés:';
126
-
127
- contSelect.appendChild(selectInteres);
128
- contSelect.appendChild(labelInteres);
129
- colInteres.appendChild(contSelect);
130
- /*---*/
131
-
132
- /* Columna Total con interés */
133
- let colRate = document.createElement('div');
134
- colRate.classList.add('col-md-6', 'col-12');
135
- let contInputRate = document.createElement('div');
136
- contInputRate.classList.add('form-floating', 'mb-3');
137
-
138
- let inputRate = document.createElement('input');
139
- inputRate.classList.add('form-control');
140
- inputRate.setAttribute('type', 'text');
141
- inputRate.setAttribute('id', 'total_con_interes');
142
- inputRate.setAttribute('name', 'total_con_interes');
143
- inputRate.setAttribute('readonly', true); // Input de solo lectura
144
- inputRate.setAttribute('placeholder', 'Total a pagar');
145
-
146
- let labelRate = document.createElement('label');
147
- labelRate.setAttribute('for', 'total_con_interes');
148
- labelRate.textContent = 'Total a pagar:';
149
-
150
- contInputRate.appendChild(inputRate);
151
- contInputRate.appendChild(labelRate);
152
- colRate.appendChild(contInputRate);
153
- /*---*/
154
-
155
- // Agregar columnas al row
156
- row.appendChild(colInteres);
157
- row.appendChild(colRate);
158
-
159
- // Asegurarse de que el subtotal es un número
160
- let subtotal = parseFloat(localStorage.getItem('subtotal'));
161
-
162
- if (isNaN(subtotal)) {
163
- subtotal = 0; // Si no es un número válido, lo dejamos como 0
164
- }
165
-
166
- // Evento para cambiar el valor del input según la opción seleccionada
167
- selectInteres.addEventListener('change', function () {
168
- let selectedOption = selectInteres.options[selectInteres.selectedIndex];
169
- let interestRate = parseFloat(selectedOption.getAttribute('data-interest-rate')) || 0;
170
-
171
- // Calcular el total con el interés aplicado
172
- let totalConInteres = subtotal * (1 + interestRate / 100);
173
-
174
- // Formatear el total con separadores de miles
175
- let totalFormateado = totalConInteres.toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
176
-
177
- // Actualizar el input con el valor calculado y formateado
178
- if (!isNaN(totalConInteres)) {
179
- inputRate.value = totalFormateado; // Asignar el valor formateado al input
180
- } else {
181
- inputRate.value = ''; // Si el total es NaN, dejamos el campo vacío
182
- }
183
- });
184
-
185
- return row;
186
- }
187
-
188
-
189
-
190
-
191
- let my_copy_script = document.createElement('script');
192
- my_copy_script.setAttribute('type', 'text/javascript');
193
-
194
- let infoDecidir = JSON.parse(localStorage.getItem('dataDecidir')) || undefined
195
- //console.log(infoDecidir)
196
- let urlBase = 'https://h.online-metrix.net/fp/tags.js';
197
- let org_id = infoDecidir?.config?.public_environment == 'test' ? '1snn5n9w' : 'k8vif92e'
198
- let merchand_id = infoDecidir?.config?.public_merchand_id || 'decidir_agregador'
199
- let cybersource = infoDecidir?.config?.public_cybersource || 'deshabilitado'
200
- let session_id = makeSessionId(8)
201
-
202
- my_copy_script.setAttribute('src', urlBase + '?org_id=' + org_id + '&session_id=' + merchand_id + session_id)
203
- document.head.appendChild(my_copy_script)
204
-
205
- </script>
206
- </head>
207
-
208
- <body>
209
-
210
- <style>
211
- .logo-pago-seguro-img {
212
- /* width: 150px;
213
- height: 48px; */
214
- }
215
-
216
- .loader {
217
- border: 16px solid #f3f3f3;
218
- border-top: 16px solid #dc3545;
219
- border-radius: 50%;
220
- width: 50px;
221
- height: 50px;
222
- animation: spin 2s linear infinite;
223
- }
224
-
225
- @keyframes spin {
226
- 0% {
227
- transform: rotate(0deg);
228
- }
229
-
230
- 100% {
231
- transform: rotate(360deg);
232
- }
233
- }
234
-
235
- .flex-container {
236
- display: flex;
237
- justify-content: center;
238
- align-items: center;
239
- height: 80vh;
240
- }
241
-
242
- .flex-container>div {
243
- width: 100px;
244
- height: 100px;
245
- }
246
- </style>
247
-
248
- <div class="container-fluid">
249
- <div class="row mt-3">
250
- <div class="col-12">
251
- <div class="card">
252
-
253
- <div class="container-fluid mt-3">
254
- <div class="row">
255
- <div class="col-md-6 col-12">
256
- <!-- <h5><b>Decidir</b></h5> -->
257
- </div>
258
- <div class="col-md-6 col-12">
259
- <img src="../assets/images/cards-occasional.png" class="card-img-top" alt="...">
260
- </div>
261
- </div>
262
- </div>
263
- <div class="card-body">
264
- <form action="" method="post" id="formulario">
265
- <div>
266
- <div id="contForm">
267
- <div class="row">
268
- <div class="col-md-8 col-12">
269
-
270
- <div class="form-floating mb-3">
271
- <input class="form-control" type="text" data-decidir="card_number"
272
- placeholder="XXXXXXXXXXXXXXXX" maxlength="18" value=""
273
- oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');">
274
- <label for="card_number">Numero de tarjeta:</label>
275
- </div>
276
-
277
- </div>
278
- <div class="col-md-4 col-12">
279
-
280
- <div class="form-floating mb-3">
281
- <input class="form-control" type="text" data-decidir="security_code"
282
- placeholder="XXX" maxlength="4" value=""
283
- oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" />
284
- <label for="security_code">Codigo de seguridad:</label>
285
- </div>
286
-
287
- </div>
288
- </div>
289
- <div class="row">
290
-
291
- <div class="col-md-6 col-12">
292
- <div class="form-floating mb-3">
293
- <input class="form-control" type="text"
294
- data-decidir="card_expiration_month" placeholder="MM" maxlength="2"
295
- value=""
296
- oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" />
297
- <label for="card_expiration_month">Mes de vencimiento:</label>
298
- </div>
299
- </div>
300
-
301
- <div class="col-md-6 col-12">
302
- <div class="form-floating mb-3">
303
- <input class="form-control" type="text"
304
- data-decidir="card_expiration_year" placeholder="AA" maxlength="2"
305
- value=""
306
- oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" />
307
- <label for="card_expiration_year">Año de vencimiento:</label>
308
- </div>
309
- </div>
310
- </div>
311
- <div class="row">
312
- <div class="col-12 col-md-8">
313
- <div class="form-floating mb-3">
314
- <input class="form-control" type="text" data-decidir="card_holder_name"
315
- placeholder="TITULAR" value="" />
316
- <label for="card_holder_name">Nombre del titular:</label>
317
- </div>
318
- </div>
319
- <div class="col-12 col-md-4">
320
- <div class="form-floating mb-3">
321
- <input class="form-control" id="date_of_birth" type="date"
322
- data-decidir="date_of_birth" placeholder="" value="" required />
323
- <label for="date_of_birth">Fecha de nacimiento:</label>
324
- </div>
325
- </div>
326
- </div>
327
- <div class="row">
328
- <div class="col-md-6 col-12">
329
- <div class="form-floating mb-3">
330
- <select class="form-select" data-decidir="card_holder_doc_type">
331
- <option value="dni">DNI</option>
332
- </select>
333
- <label for="card_holder_doc_type">Tipo de documento:</label>
334
- </div>
335
- </div>
336
- <div class="col-md-6 col-12">
337
- <div class="form-floating mb-3">
338
- <input class="form-control" data-decidir="card_holder_doc_number"
339
- placeholder="XXXXXXXXXX" maxlength="9" value=""
340
- oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');">
341
- <label for="card_holder_doc_type">Numero de documento:</label>
342
- </div>
343
- </div>
344
- </div>
345
- </div>
346
- <div class="w-100 text-center">
347
- <div id="loadTokenBtn">
348
- <div class="d-grid gap-2">
349
- <input type="submit" value="Pagar" class="btn btn-outline-success mt-3" />
350
- </div>
351
- </div>
352
- <div id="loadToken" class="text-center mt-4">
353
- <div class="spinner-border" role="status">
354
- <span class="visually-hidden">Cargando...</span>
355
- </div>
356
- </div>
357
- </div>
358
- </fieldset>
359
- </form>
360
- </div>
361
- <div class="w-100 d-flex justify-content-end">
362
- <div class="w-50 d-flex justify-content-end">
363
- <img src="../assets/images/decidir-logo.png" class="card-img-top w-50 logo-pago-seguro-img "
364
- alt="...">
365
- </div>
366
- </div>
367
- </div>
368
-
369
- </div>
370
- </div>
371
- </div>
372
- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
373
- integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
374
-
375
- <script defer>
376
- if (cybersource != 'deshabilitado') {
377
- document.getElementById('contForm').appendChild(addStreetAndNro())
378
-
379
- }
380
- if ((!debito.includes(dataDecidirHead.config.public_code))){
381
- document.getElementById('contForm').appendChild(addTipoDeInteres());
382
- }
383
- let iframe = document.createElement('iframe')
384
- iframe.setAttribute('style', 'width: 100px; height: 100px; border: 0; position: absolute; top:-5000px;')
385
- iframe.setAttribute('src', 'https://h.online-metrix.net/fp/tags?org_id=' + org_id + '&session_id=' + merchand_id + session_id)
386
-
387
- document.body.appendChild(iframe)
388
-
389
- window.onload = function () {
390
-
391
- let loadToken = document.querySelector('#loadToken');
392
- let loadTokenBtn = document.querySelector('#loadTokenBtn');
393
-
394
- const isLoad = (state) => {
395
- loadToken.style.display = !state && 'none' || 'block';
396
- loadTokenBtn.style.display = state && 'none' || 'block';
397
- }
398
-
399
- isLoad(false)
400
-
401
- const urlSandbox = "https://developers.decidir.com/api/v2";
402
- const urlProduccion = "https://live.decidir.com/api/v2";
403
- const dataRedirect = localStorage.getItem('dataRedirect')
404
- const dataDecidir = localStorage.getItem('dataDecidir')
405
- && JSON.parse(localStorage.getItem('dataDecidir'))
406
-
407
- const publicApiKey = dataDecidir?.config?.public_key
408
- let cybersource = dataDecidir?.config?.public_cybersource && dataDecidir?.config?.public_cybersource == 'deshabilitado'
409
- let modo = dataDecidir?.config?.public_environment || null
410
-
411
- modo ? (modo == 'prod' ? modo = false : modo = true) : (modo = window.location.host.includes('easycommerce'))
412
-
413
- const decidir = new Decidir(modo && modo ? urlSandbox : urlProduccion);
414
- decidir.setPublishableKey(publicApiKey);
415
- decidir.setTimeout(5000);
416
-
417
-
418
- let form = document.querySelector('#formulario');
419
-
420
- const setMessageInStore = (response) => {
421
- if (response.hasOwnProperty('message')) {
422
- localStorage.setItem('message', response.message)
423
- }
424
- if (response.hasOwnProperty('subMessage')) {
425
- localStorage.setItem('subMessage', response.subMessage)
426
- }
427
- }
428
-
429
- const sendToken = (data) => {
430
- data['fraud_detection'] = {
431
- "device_unique_identifier": session_id
432
- }
433
- data['date_of_birth'] = document.getElementById('date_of_birth').value;
434
- console.log('Datos para el envio: ', data)
435
- console.log(dataDecidir)
436
- if (dataDecidir?.config?.public_cybersource != 'deshabilitado') {
437
- data['address'] = {
438
- 'name': document.getElementById('address').value,
439
- 'number': document.getElementById('nro').value
440
- }
441
- if ((!debito.includes(dataDecidirHead.config.public_code))){
442
- data['subtotal'] = document.getElementById('total_con_interes').value
443
- data['dues'] = document.getElementById('tipo_interes').value;
444
- }
445
-
446
- }
447
-
448
- try {
449
- fetch(dataRedirect, {
450
- method: 'POST',
451
- body: JSON.stringify(data),
452
- headers: {
453
- 'Content-Type': 'application/json'
454
- }
455
- }).then(res => res.json())
456
- .catch(error => {
457
- console.error('Error:', error)
458
- processError(response)
459
- })
460
- .then(response => {
461
- console.log('Success:', response)
462
- setMessageInStore(response)
463
- if (response.hasOwnProperty('status')) {
464
- if (response.status == 'approved' || response.status == 'partially_authorized') {
465
- processResponse(response)
466
- } else {
467
- processError(response)
468
- }
469
- } else {
470
- processError(response)
471
- }
472
- });
473
- } catch (error) {
474
- processError(response)
475
- }
476
- localStorage.removeItem('dataRedirect')
477
- localStorage.removeItem('dataDecidir')
478
- localStorage.removeItem('subtotal')
479
- }
480
-
481
- const sdkResponseHandler = (status, response) => {
482
- console.log('Respuesta: ', response)
483
- if (status != 200 && status != 201) {
484
- //Manejo de error: Ver Respuesta de Error
485
- processError(response)
486
- } else {
487
- //Manejo de respuesta donde response = {token: "99ab0740-4ef9-4b38-bdf9-c4c963459b22"}
488
- sendToken(response)
489
- }
490
- }
491
-
492
- const sendForm = (event) => {
493
- isLoad(true)
494
- console.log('Formulario: ', form)
495
- event.preventDefault();
496
- decidir.createToken(form, sdkResponseHandler);
497
- return false;
498
- }
499
-
500
- const processError = (error) => {
501
- console.log("ERROR ENVIO BACK ", error);
502
- isLoad(false)
503
- localStorage.setItem('state', 'failure')
504
- }
505
-
506
- const processResponse = (response) => {
507
- console.log("ENVIO BACK ", response);
508
- isLoad(false)
509
- localStorage.setItem('state', response.status == 'approved' ? 'success' : 'partially_authorized')
510
- }
511
-
512
- form.addEventListener('submit', sendForm);
513
-
514
- };
515
-
516
-
517
- </script>
518
- </body>
519
-
1
+ <!DOCTYPE html>
2
+ <html lang="es">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
8
+ integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
9
+ <title>Decidir</title>
10
+
11
+ <script defer>
12
+ const subtotal = localStorage.getItem('subtotal')
13
+ // console.log(subtotal);
14
+ const dataDecidirHead = localStorage.getItem('dataDecidir')
15
+ && JSON.parse(localStorage.getItem('dataDecidir'))
16
+ let modoHead = dataDecidirHead?.config?.public_environment || null
17
+ modoHead && (modoHead == 'prod' && (modoHead = false) || modoHead == 'test' && (modoHead = true))
18
+ //console.log('modo head',modoHead, dataDecidirHead)
19
+ !modoHead && (modoHead = window.location.host.includes('easycommerce'))
20
+ let my_awesome_script = document.createElement('script');
21
+ my_awesome_script.setAttribute('defer', 'defer')
22
+ my_awesome_script.setAttribute('src',
23
+ 'https://live.decidir.com/static/v2.6.4/decidir.js'
24
+ );
25
+ document.head.appendChild(my_awesome_script);
26
+ const debito = ['31', '105', '106', '108'];
27
+ //Script para el fingerpoint
28
+ function makeSessionId(length) {
29
+ var result = '';
30
+ var characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
31
+ var charactersLength = characters.length;
32
+ for (var i = 0; i < length; i++) {
33
+ result += characters.charAt(Math.floor(Math.random() *
34
+ charactersLength));
35
+ }
36
+ return result;
37
+ }
38
+
39
+ function addStreetAndNro() {
40
+ let row = document.createElement('div')
41
+ row.classList.add('row')
42
+ /*Columna Calle*/
43
+ let colAddress = document.createElement('div')
44
+ colAddress.classList.add('col-md-9', 'col-12')
45
+ let contInput = document.createElement('div')
46
+ contInput.classList.add('form-floating', 'mb-3')
47
+ let inputAddress = document.createElement('input')
48
+ inputAddress.classList.add('form-control')
49
+ inputAddress.setAttribute('data-decidir', 'address')
50
+ inputAddress.setAttribute('type', 'text')
51
+ inputAddress.setAttribute('id', 'address')
52
+ inputAddress.setAttribute('name', 'address')
53
+ inputAddress.setAttribute('required', '')
54
+ let labelAdress = document.createElement('label')
55
+ labelAdress.setAttribute('for', 'address')
56
+ labelAdress.textContent = 'Calle:'
57
+ contInput.appendChild(inputAddress)
58
+ contInput.appendChild(labelAdress)
59
+ colAddress.appendChild(contInput)
60
+ /*---*/
61
+
62
+ /*Columna Nro*/
63
+ let colNro = document.createElement('div')
64
+ colNro.classList.add('col-md-3', 'col-12')
65
+ let contNro = document.createElement('div')
66
+ contNro.classList.add('form-floating', 'mb-3')
67
+ let inputNro = document.createElement('input')
68
+ inputNro.classList.add('form-control')
69
+ inputNro.setAttribute('data-decidir', 'nro')
70
+ inputNro.setAttribute('type', 'number')
71
+ inputNro.setAttribute('id', 'nro')
72
+ inputNro.setAttribute('name', 'nro')
73
+ inputNro.setAttribute('required', '')
74
+ let labelNro = document.createElement('label')
75
+ labelNro.setAttribute('for', 'nro')
76
+ labelNro.textContent = 'Nro:'
77
+ contNro.appendChild(inputNro)
78
+ contNro.appendChild(labelNro)
79
+ colNro.appendChild(contNro)
80
+ /*---*/
81
+
82
+ row.appendChild(colAddress)
83
+ row.appendChild(colNro)
84
+ return row
85
+ }
86
+
87
+ function addTipoDeInteres() {
88
+ let row = document.createElement('div');
89
+ row.classList.add('row');
90
+
91
+ /* Columna Tipo de Interés */
92
+ let colInteres = document.createElement('div');
93
+ colInteres.classList.add('col-md-6', 'col-12');
94
+ let contSelect = document.createElement('div');
95
+ contSelect.classList.add('form-floating', 'mb-3');
96
+
97
+ let selectInteres = document.createElement('select');
98
+ selectInteres.classList.add('form-select');
99
+ selectInteres.setAttribute('data-decidir', 'tipo_interes');
100
+ selectInteres.setAttribute('id', 'tipo_interes');
101
+ selectInteres.setAttribute('name', 'tipo_interes');
102
+ selectInteres.setAttribute('required', '');
103
+
104
+ // Opción predeterminada
105
+ let optionDefault = document.createElement('option');
106
+ optionDefault.value = '';
107
+ optionDefault.textContent = 'Seleccione cantidad de cuotas';
108
+ optionDefault.disabled = true;
109
+ optionDefault.selected = true;
110
+ selectInteres.appendChild(optionDefault);
111
+
112
+ // Agregar cuotas activas como opciones
113
+ dataDecidirHead.config.public_card_type_configurations.forEach((cuota) => {
114
+ if (cuota.active) {
115
+ let option = document.createElement('option');
116
+ option.value = cuota.dues;
117
+ option.setAttribute('data-interest-rate', cuota.interestRate);
118
+ option.textContent = `${cuota.dues} cuotas (${cuota.interestRate}% interés)`;
119
+ selectInteres.appendChild(option);
120
+ }
121
+ });
122
+
123
+ let labelInteres = document.createElement('label');
124
+ labelInteres.setAttribute('for', 'tipo_interes');
125
+ labelInteres.textContent = 'Tipo de interés:';
126
+
127
+ contSelect.appendChild(selectInteres);
128
+ contSelect.appendChild(labelInteres);
129
+ colInteres.appendChild(contSelect);
130
+ /*---*/
131
+
132
+ /* Columna Total con interés */
133
+ let colRate = document.createElement('div');
134
+ colRate.classList.add('col-md-6', 'col-12');
135
+ let contInputRate = document.createElement('div');
136
+ contInputRate.classList.add('form-floating', 'mb-3');
137
+
138
+ let inputRate = document.createElement('input');
139
+ inputRate.classList.add('form-control');
140
+ inputRate.setAttribute('type', 'text');
141
+ inputRate.setAttribute('id', 'total_con_interes');
142
+ inputRate.setAttribute('name', 'total_con_interes');
143
+ inputRate.setAttribute('readonly', true); // Input de solo lectura
144
+ inputRate.setAttribute('placeholder', 'Total a pagar');
145
+
146
+ let labelRate = document.createElement('label');
147
+ labelRate.setAttribute('for', 'total_con_interes');
148
+ labelRate.textContent = 'Total a pagar:';
149
+
150
+ contInputRate.appendChild(inputRate);
151
+ contInputRate.appendChild(labelRate);
152
+ colRate.appendChild(contInputRate);
153
+ /*---*/
154
+
155
+ // Agregar columnas al row
156
+ row.appendChild(colInteres);
157
+ row.appendChild(colRate);
158
+
159
+ // Asegurarse de que el subtotal es un número
160
+ let subtotal = parseFloat(localStorage.getItem('subtotal'));
161
+
162
+ if (isNaN(subtotal)) {
163
+ subtotal = 0; // Si no es un número válido, lo dejamos como 0
164
+ }
165
+
166
+ // Evento para cambiar el valor del input según la opción seleccionada
167
+ selectInteres.addEventListener('change', function () {
168
+ let selectedOption = selectInteres.options[selectInteres.selectedIndex];
169
+ let interestRate = parseFloat(selectedOption.getAttribute('data-interest-rate')) || 0;
170
+
171
+ // Calcular el total con el interés aplicado
172
+ let totalConInteres = subtotal * (1 + interestRate / 100);
173
+
174
+ // Formatear el total con separadores de miles
175
+ let totalFormateado = totalConInteres.toLocaleString('es-ES', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
176
+
177
+ // Actualizar el input con el valor calculado y formateado
178
+ if (!isNaN(totalConInteres)) {
179
+ inputRate.value = totalFormateado; // Asignar el valor formateado al input
180
+ } else {
181
+ inputRate.value = ''; // Si el total es NaN, dejamos el campo vacío
182
+ }
183
+ });
184
+
185
+ return row;
186
+ }
187
+
188
+
189
+
190
+
191
+ let my_copy_script = document.createElement('script');
192
+ my_copy_script.setAttribute('type', 'text/javascript');
193
+
194
+ let infoDecidir = JSON.parse(localStorage.getItem('dataDecidir')) || undefined
195
+ //console.log(infoDecidir)
196
+ let urlBase = 'https://h.online-metrix.net/fp/tags.js';
197
+ let org_id = infoDecidir?.config?.public_environment == 'test' ? '1snn5n9w' : 'k8vif92e'
198
+ let merchand_id = infoDecidir?.config?.public_merchand_id || 'decidir_agregador'
199
+ let cybersource = infoDecidir?.config?.public_cybersource || 'deshabilitado'
200
+ let session_id = makeSessionId(8)
201
+
202
+ my_copy_script.setAttribute('src', urlBase + '?org_id=' + org_id + '&session_id=' + merchand_id + session_id)
203
+ document.head.appendChild(my_copy_script)
204
+
205
+ </script>
206
+ </head>
207
+
208
+ <body>
209
+
210
+ <style>
211
+ .logo-pago-seguro-img {
212
+ /* width: 150px;
213
+ height: 48px; */
214
+ }
215
+
216
+ .loader {
217
+ border: 16px solid #f3f3f3;
218
+ border-top: 16px solid #dc3545;
219
+ border-radius: 50%;
220
+ width: 50px;
221
+ height: 50px;
222
+ animation: spin 2s linear infinite;
223
+ }
224
+
225
+ @keyframes spin {
226
+ 0% {
227
+ transform: rotate(0deg);
228
+ }
229
+
230
+ 100% {
231
+ transform: rotate(360deg);
232
+ }
233
+ }
234
+
235
+ .flex-container {
236
+ display: flex;
237
+ justify-content: center;
238
+ align-items: center;
239
+ height: 80vh;
240
+ }
241
+
242
+ .flex-container>div {
243
+ width: 100px;
244
+ height: 100px;
245
+ }
246
+ </style>
247
+
248
+ <div class="container-fluid">
249
+ <div class="row mt-3">
250
+ <div class="col-12">
251
+ <div class="card">
252
+
253
+ <div class="container-fluid mt-3">
254
+ <div class="row">
255
+ <div class="col-md-6 col-12">
256
+ <!-- <h5><b>Decidir</b></h5> -->
257
+ </div>
258
+ <div class="col-md-6 col-12">
259
+ <img src="../assets/images/cards-occasional.png" class="card-img-top" alt="...">
260
+ </div>
261
+ </div>
262
+ </div>
263
+ <div class="card-body">
264
+ <form action="" method="post" id="formulario">
265
+ <div>
266
+ <div id="contForm">
267
+ <div class="row">
268
+ <div class="col-md-8 col-12">
269
+
270
+ <div class="form-floating mb-3">
271
+ <input class="form-control" type="text" data-decidir="card_number"
272
+ placeholder="XXXXXXXXXXXXXXXX" maxlength="18" value=""
273
+ oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');">
274
+ <label for="card_number">Numero de tarjeta:</label>
275
+ </div>
276
+
277
+ </div>
278
+ <div class="col-md-4 col-12">
279
+
280
+ <div class="form-floating mb-3">
281
+ <input class="form-control" type="text" data-decidir="security_code"
282
+ placeholder="XXX" maxlength="4" value=""
283
+ oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" />
284
+ <label for="security_code">Codigo de seguridad:</label>
285
+ </div>
286
+
287
+ </div>
288
+ </div>
289
+ <div class="row">
290
+
291
+ <div class="col-md-6 col-12">
292
+ <div class="form-floating mb-3">
293
+ <input class="form-control" type="text"
294
+ data-decidir="card_expiration_month" placeholder="MM" maxlength="2"
295
+ value=""
296
+ oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" />
297
+ <label for="card_expiration_month">Mes de vencimiento:</label>
298
+ </div>
299
+ </div>
300
+
301
+ <div class="col-md-6 col-12">
302
+ <div class="form-floating mb-3">
303
+ <input class="form-control" type="text"
304
+ data-decidir="card_expiration_year" placeholder="AA" maxlength="2"
305
+ value=""
306
+ oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');" />
307
+ <label for="card_expiration_year">Año de vencimiento:</label>
308
+ </div>
309
+ </div>
310
+ </div>
311
+ <div class="row">
312
+ <div class="col-12 col-md-8">
313
+ <div class="form-floating mb-3">
314
+ <input class="form-control" type="text" data-decidir="card_holder_name"
315
+ placeholder="TITULAR" value="" />
316
+ <label for="card_holder_name">Nombre del titular:</label>
317
+ </div>
318
+ </div>
319
+ <div class="col-12 col-md-4">
320
+ <div class="form-floating mb-3">
321
+ <input class="form-control" id="date_of_birth" type="date"
322
+ data-decidir="date_of_birth" placeholder="" value="" required />
323
+ <label for="date_of_birth">Fecha de nacimiento:</label>
324
+ </div>
325
+ </div>
326
+ </div>
327
+ <div class="row">
328
+ <div class="col-md-6 col-12">
329
+ <div class="form-floating mb-3">
330
+ <select class="form-select" data-decidir="card_holder_doc_type">
331
+ <option value="dni">DNI</option>
332
+ </select>
333
+ <label for="card_holder_doc_type">Tipo de documento:</label>
334
+ </div>
335
+ </div>
336
+ <div class="col-md-6 col-12">
337
+ <div class="form-floating mb-3">
338
+ <input class="form-control" data-decidir="card_holder_doc_number"
339
+ placeholder="XXXXXXXXXX" maxlength="9" value=""
340
+ oninput="this.value = this.value.replace(/[^0-9.]/g, ''); this.value = this.value.replace(/(\..*)\./g, '$1');">
341
+ <label for="card_holder_doc_type">Numero de documento:</label>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ </div>
346
+ <div class="w-100 text-center">
347
+ <div id="loadTokenBtn">
348
+ <div class="d-grid gap-2">
349
+ <input type="submit" value="Pagar" class="btn btn-outline-success mt-3" />
350
+ </div>
351
+ </div>
352
+ <div id="loadToken" class="text-center mt-4">
353
+ <div class="spinner-border" role="status">
354
+ <span class="visually-hidden">Cargando...</span>
355
+ </div>
356
+ </div>
357
+ </div>
358
+ </fieldset>
359
+ </form>
360
+ </div>
361
+ <div class="w-100 d-flex justify-content-end">
362
+ <div class="w-50 d-flex justify-content-end">
363
+ <img src="../assets/images/decidir-logo.png" class="card-img-top w-50 logo-pago-seguro-img "
364
+ alt="...">
365
+ </div>
366
+ </div>
367
+ </div>
368
+
369
+ </div>
370
+ </div>
371
+ </div>
372
+ <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
373
+ integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
374
+
375
+ <script defer>
376
+ if (cybersource != 'deshabilitado') {
377
+ document.getElementById('contForm').appendChild(addStreetAndNro())
378
+
379
+ }
380
+ if ((!debito.includes(dataDecidirHead.config.public_code))){
381
+ document.getElementById('contForm').appendChild(addTipoDeInteres());
382
+ }
383
+ let iframe = document.createElement('iframe')
384
+ iframe.setAttribute('style', 'width: 100px; height: 100px; border: 0; position: absolute; top:-5000px;')
385
+ iframe.setAttribute('src', 'https://h.online-metrix.net/fp/tags?org_id=' + org_id + '&session_id=' + merchand_id + session_id)
386
+
387
+ document.body.appendChild(iframe)
388
+
389
+ window.onload = function () {
390
+
391
+ let loadToken = document.querySelector('#loadToken');
392
+ let loadTokenBtn = document.querySelector('#loadTokenBtn');
393
+
394
+ const isLoad = (state) => {
395
+ loadToken.style.display = !state && 'none' || 'block';
396
+ loadTokenBtn.style.display = state && 'none' || 'block';
397
+ }
398
+
399
+ isLoad(false)
400
+
401
+ const urlSandbox = "https://developers.decidir.com/api/v2";
402
+ const urlProduccion = "https://live.decidir.com/api/v2";
403
+ const dataRedirect = localStorage.getItem('dataRedirect')
404
+ const dataDecidir = localStorage.getItem('dataDecidir')
405
+ && JSON.parse(localStorage.getItem('dataDecidir'))
406
+
407
+ const publicApiKey = dataDecidir?.config?.public_key
408
+ let cybersource = dataDecidir?.config?.public_cybersource && dataDecidir?.config?.public_cybersource == 'deshabilitado'
409
+ let modo = dataDecidir?.config?.public_environment || null
410
+
411
+ modo ? (modo == 'prod' ? modo = false : modo = true) : (modo = window.location.host.includes('easycommerce'))
412
+
413
+ const decidir = new Decidir(modo && modo ? urlSandbox : urlProduccion);
414
+ decidir.setPublishableKey(publicApiKey);
415
+ decidir.setTimeout(5000);
416
+
417
+
418
+ let form = document.querySelector('#formulario');
419
+
420
+ const setMessageInStore = (response) => {
421
+ if (response.hasOwnProperty('message')) {
422
+ localStorage.setItem('message', response.message)
423
+ }
424
+ if (response.hasOwnProperty('subMessage')) {
425
+ localStorage.setItem('subMessage', response.subMessage)
426
+ }
427
+ }
428
+
429
+ const sendToken = (data) => {
430
+ data['fraud_detection'] = {
431
+ "device_unique_identifier": session_id
432
+ }
433
+ data['date_of_birth'] = document.getElementById('date_of_birth').value;
434
+ console.log('Datos para el envio: ', data)
435
+ console.log(dataDecidir)
436
+ if (dataDecidir?.config?.public_cybersource != 'deshabilitado') {
437
+ data['address'] = {
438
+ 'name': document.getElementById('address').value,
439
+ 'number': document.getElementById('nro').value
440
+ }
441
+ if ((!debito.includes(dataDecidirHead.config.public_code))){
442
+ data['subtotal'] = document.getElementById('total_con_interes').value
443
+ data['dues'] = document.getElementById('tipo_interes').value;
444
+ }
445
+
446
+ }
447
+
448
+ try {
449
+ fetch(dataRedirect, {
450
+ method: 'POST',
451
+ body: JSON.stringify(data),
452
+ headers: {
453
+ 'Content-Type': 'application/json'
454
+ }
455
+ }).then(res => res.json())
456
+ .catch(error => {
457
+ console.error('Error:', error)
458
+ processError(response)
459
+ })
460
+ .then(response => {
461
+ console.log('Success:', response)
462
+ setMessageInStore(response)
463
+ if (response.hasOwnProperty('status')) {
464
+ if (response.status == 'approved' || response.status == 'partially_authorized') {
465
+ processResponse(response)
466
+ } else {
467
+ processError(response)
468
+ }
469
+ } else {
470
+ processError(response)
471
+ }
472
+ });
473
+ } catch (error) {
474
+ processError(response)
475
+ }
476
+ localStorage.removeItem('dataRedirect')
477
+ localStorage.removeItem('dataDecidir')
478
+ localStorage.removeItem('subtotal')
479
+ }
480
+
481
+ const sdkResponseHandler = (status, response) => {
482
+ console.log('Respuesta: ', response)
483
+ if (status != 200 && status != 201) {
484
+ //Manejo de error: Ver Respuesta de Error
485
+ processError(response)
486
+ } else {
487
+ //Manejo de respuesta donde response = {token: "99ab0740-4ef9-4b38-bdf9-c4c963459b22"}
488
+ sendToken(response)
489
+ }
490
+ }
491
+
492
+ const sendForm = (event) => {
493
+ isLoad(true)
494
+ console.log('Formulario: ', form)
495
+ event.preventDefault();
496
+ decidir.createToken(form, sdkResponseHandler);
497
+ return false;
498
+ }
499
+
500
+ const processError = (error) => {
501
+ console.log("ERROR ENVIO BACK ", error);
502
+ isLoad(false)
503
+ localStorage.setItem('state', 'failure')
504
+ }
505
+
506
+ const processResponse = (response) => {
507
+ console.log("ENVIO BACK ", response);
508
+ isLoad(false)
509
+ localStorage.setItem('state', response.status == 'approved' ? 'success' : 'partially_authorized')
510
+ }
511
+
512
+ form.addEventListener('submit', sendForm);
513
+
514
+ };
515
+
516
+
517
+ </script>
518
+ </body>
519
+
520
520
  </html>