ng-easycommerce-v18 0.0.1 → 0.0.2

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 (508) hide show
  1. package/README.md +24 -27
  2. package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/ct.json +273 -273
  3. package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/en.json +0 -0
  4. package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/es.json +387 -387
  5. package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/fr.json +0 -0
  6. package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/gl.json +273 -273
  7. package/{projects/ng-easycommerce/src/lib/assets → assets}/ec-i18n/pr.json +273 -273
  8. package/{projects/ng-easycommerce/src/lib/assets → assets}/recaptcha/recaptcha-site-keys.json +3 -3
  9. package/{projects/ng-easycommerce/src/lib/assets → assets}/recaptcha/recaptcha-sites-prod.json +38 -38
  10. package/{projects/ng-easycommerce/src/lib/assets → assets}/recaptcha/recaptcha-sites.json +52 -52
  11. package/esm2022/lib/api/connection.service.mjs +75 -0
  12. package/esm2022/lib/api/index.mjs +2 -0
  13. package/esm2022/lib/classes/checkout/index.mjs +2 -0
  14. package/esm2022/lib/classes/checkout/steps.mjs +29 -0
  15. package/esm2022/lib/classes/filters/attributes-filter.mjs +73 -0
  16. package/esm2022/lib/classes/filters/category-filter.mjs +59 -0
  17. package/esm2022/lib/classes/filters/dynamics-filter.mjs +58 -0
  18. package/esm2022/lib/classes/filters/filter-factory.mjs +21 -0
  19. package/esm2022/lib/classes/filters/filter.mjs +83 -0
  20. package/esm2022/lib/classes/filters/index.mjs +7 -0
  21. package/esm2022/lib/classes/filters/sort-filter.mjs +88 -0
  22. package/esm2022/lib/classes/index.mjs +4 -0
  23. package/esm2022/lib/classes/user.mjs +59 -0
  24. package/esm2022/lib/constants/api.constants.service.mjs +71 -0
  25. package/esm2022/lib/constants/core.constants.service.mjs +196 -0
  26. package/esm2022/lib/constants/index.mjs +3 -0
  27. package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +110 -0
  28. package/esm2022/lib/ec-components/abstractions-components/index.mjs +3 -0
  29. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +97 -0
  30. package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +22 -0
  31. package/esm2022/lib/ec-components/account-ec/index.mjs +4 -0
  32. package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +16 -0
  33. package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +150 -0
  34. package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +12 -0
  35. package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +30 -0
  36. package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +54 -0
  37. package/esm2022/lib/ec-components/auth-ec/index.mjs +7 -0
  38. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +91 -0
  39. package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +105 -0
  40. package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +153 -0
  41. package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +104 -0
  42. package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +87 -0
  43. package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +87 -0
  44. package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +37 -0
  45. package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +78 -0
  46. package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +109 -0
  47. package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +99 -0
  48. package/esm2022/lib/ec-components/blocks-ec/index.mjs +5 -0
  49. package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +27 -0
  50. package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +21 -0
  51. package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +47 -0
  52. package/esm2022/lib/ec-components/cart-ec/index.mjs +3 -0
  53. package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +60 -0
  54. package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +271 -0
  55. package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +51 -0
  56. package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +45 -0
  57. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +92 -0
  58. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +30 -0
  59. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +4 -0
  60. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +119 -0
  61. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +32 -0
  62. package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +96 -0
  63. package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +35 -0
  64. package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +55 -0
  65. package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +72 -0
  66. package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +29 -0
  67. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +38 -0
  68. package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +36 -0
  69. package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +17 -0
  70. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +18 -0
  71. package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +14 -0
  72. package/esm2022/lib/ec-components/index.mjs +19 -0
  73. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +74 -0
  74. package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +51 -0
  75. package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +18 -0
  76. package/esm2022/lib/ec-components/widgets-ec/index.mjs +5 -0
  77. package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +4 -0
  78. package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +11 -0
  79. package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +16 -0
  80. package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +12 -0
  81. package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +178 -0
  82. package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +27 -0
  83. package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +71 -0
  84. package/esm2022/lib/ec-guards/auth.guard.mjs +18 -0
  85. package/esm2022/lib/ec-guards/index.mjs +2 -0
  86. package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +98 -0
  87. package/esm2022/lib/ec-pipe/index.mjs +2 -0
  88. package/esm2022/lib/ec-services/addressing.service.mjs +185 -0
  89. package/esm2022/lib/ec-services/analytics/analytics.service.mjs +80 -0
  90. package/esm2022/lib/ec-services/analytics/doppler.service.mjs +47 -0
  91. package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +212 -0
  92. package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +283 -0
  93. package/esm2022/lib/ec-services/analytics/gtm.service.mjs +414 -0
  94. package/esm2022/lib/ec-services/analytics/index.mjs +7 -0
  95. package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +55 -0
  96. package/esm2022/lib/ec-services/auth.service.mjs +440 -0
  97. package/esm2022/lib/ec-services/auth.storage.service.mjs +54 -0
  98. package/esm2022/lib/ec-services/blocks-repository.service.mjs +64 -0
  99. package/esm2022/lib/ec-services/blocks.service.mjs +52 -0
  100. package/esm2022/lib/ec-services/cart.service.mjs +465 -0
  101. package/esm2022/lib/ec-services/channel.service.mjs +83 -0
  102. package/esm2022/lib/ec-services/checkout.service.mjs +180 -0
  103. package/esm2022/lib/ec-services/currency.service.mjs +177 -0
  104. package/esm2022/lib/ec-services/filters.service.mjs +134 -0
  105. package/esm2022/lib/ec-services/form.service.mjs +81 -0
  106. package/esm2022/lib/ec-services/index.mjs +27 -0
  107. package/esm2022/lib/ec-services/local-storage.service.mjs +58 -0
  108. package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +66 -0
  109. package/esm2022/lib/ec-services/options.service.mjs +273 -0
  110. package/esm2022/lib/ec-services/order-utility.service.mjs +61 -0
  111. package/esm2022/lib/ec-services/orders.service.mjs +48 -0
  112. package/esm2022/lib/ec-services/pagination.service.mjs +163 -0
  113. package/esm2022/lib/ec-services/parameters.service.mjs +65 -0
  114. package/esm2022/lib/ec-services/payment.service.mjs +54 -0
  115. package/esm2022/lib/ec-services/product-detail.service.mjs +285 -0
  116. package/esm2022/lib/ec-services/products.service.mjs +148 -0
  117. package/esm2022/lib/ec-services/re-captcha.service.mjs +114 -0
  118. package/esm2022/lib/ec-services/shipment.service.mjs +158 -0
  119. package/esm2022/lib/ec-services/stores.service.mjs +27 -0
  120. package/esm2022/lib/ec-services/test.service.mjs +16 -0
  121. package/esm2022/lib/ec-services/toast.service.mjs +81 -0
  122. package/esm2022/lib/interceptors/auth.interceptor.mjs +35 -0
  123. package/esm2022/lib/interceptors/index.mjs +2 -0
  124. package/esm2022/lib/interfaces/analytics/event-key.mjs +2 -0
  125. package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +2 -0
  126. package/esm2022/lib/interfaces/analytics/gtm-config.mjs +2 -0
  127. package/esm2022/lib/interfaces/analytics/index.mjs +4 -0
  128. package/esm2022/lib/interfaces/blocks.mjs +2 -0
  129. package/esm2022/lib/interfaces/checkout.mjs +2 -0
  130. package/esm2022/lib/interfaces/connection.mjs +2 -0
  131. package/esm2022/lib/interfaces/coupon.mjs +2 -0
  132. package/esm2022/lib/interfaces/currency.mjs +2 -0
  133. package/esm2022/lib/interfaces/deserializable.mjs +2 -0
  134. package/esm2022/lib/interfaces/environment.mjs +2 -0
  135. package/esm2022/lib/interfaces/filter.mjs +2 -0
  136. package/esm2022/lib/interfaces/index.mjs +19 -0
  137. package/esm2022/lib/interfaces/options.mjs +2 -0
  138. package/esm2022/lib/interfaces/pagination.mjs +2 -0
  139. package/esm2022/lib/interfaces/parameter.mjs +2 -0
  140. package/esm2022/lib/interfaces/product.mjs +2 -0
  141. package/esm2022/lib/interfaces/step.mjs +2 -0
  142. package/esm2022/lib/interfaces/storage.mjs +2 -0
  143. package/esm2022/lib/interfaces/store.mjs +2 -0
  144. package/esm2022/lib/interfaces/types/index.mjs +2 -0
  145. package/esm2022/lib/interfaces/types/user.type.mjs +2 -0
  146. package/esm2022/lib/providers/index.mjs +2 -0
  147. package/esm2022/lib/providers/provideEnvironment.mjs +20 -0
  148. package/esm2022/lib/stores/currency.store.mjs +10 -0
  149. package/esm2022/lib/stores/index.mjs +2 -0
  150. package/esm2022/ng-easycommerce-v18.mjs +5 -0
  151. package/esm2022/public-api.mjs +20 -0
  152. package/fesm2022/ng-easycommerce-v18.mjs +8190 -0
  153. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -0
  154. package/index.d.ts +5 -0
  155. package/lib/api/connection.service.d.ts +52 -0
  156. package/lib/api/index.d.ts +1 -0
  157. package/lib/classes/checkout/index.d.ts +1 -0
  158. package/lib/classes/checkout/steps.d.ts +15 -0
  159. package/lib/classes/filters/attributes-filter.d.ts +14 -0
  160. package/lib/classes/filters/category-filter.d.ts +14 -0
  161. package/lib/classes/filters/dynamics-filter.d.ts +13 -0
  162. package/lib/classes/filters/filter-factory.d.ts +5 -0
  163. package/lib/classes/filters/filter.d.ts +19 -0
  164. package/lib/classes/filters/index.d.ts +6 -0
  165. package/lib/classes/filters/sort-filter.d.ts +14 -0
  166. package/{projects/ng-easycommerce/src/lib/classes/index.ts → lib/classes/index.d.ts} +3 -3
  167. package/lib/classes/user.d.ts +50 -0
  168. package/lib/constants/api.constants.service.d.ts +54 -0
  169. package/lib/constants/core.constants.service.d.ts +109 -0
  170. package/lib/constants/index.d.ts +2 -0
  171. package/lib/ec-components/abstractions-components/block-ec.component.d.ts +62 -0
  172. package/lib/ec-components/abstractions-components/index.d.ts +2 -0
  173. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +67 -0
  174. package/lib/ec-components/account-ec/account-ec.component.d.ts +10 -0
  175. package/lib/ec-components/account-ec/index.d.ts +3 -0
  176. package/lib/ec-components/account-ec/order-ec/order-ec.component.d.ts +8 -0
  177. package/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.d.ts +55 -0
  178. package/lib/ec-components/auth-ec/auth-ec.component.d.ts +5 -0
  179. package/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.d.ts +11 -0
  180. package/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.d.ts +27 -0
  181. package/{projects/ng-easycommerce/src/lib/ec-components/auth-ec/index.ts → lib/ec-components/auth-ec/index.d.ts} +6 -6
  182. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +42 -0
  183. package/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.d.ts +39 -0
  184. package/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.d.ts +62 -0
  185. package/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.d.ts +46 -0
  186. package/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.d.ts +54 -0
  187. package/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.d.ts +21 -0
  188. package/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.d.ts +25 -0
  189. package/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.d.ts +17 -0
  190. package/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.d.ts +51 -0
  191. package/lib/ec-components/blocks-ec/blocks-ec.component.d.ts +59 -0
  192. package/{projects/ng-easycommerce/src/lib/ec-components/blocks-ec/index.ts → lib/ec-components/blocks-ec/index.d.ts} +4 -4
  193. package/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.d.ts +11 -0
  194. package/lib/ec-components/cart-ec/cart-ec.component.d.ts +12 -0
  195. package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +17 -0
  196. package/lib/ec-components/cart-ec/index.d.ts +2 -0
  197. package/lib/ec-components/checkout-ec/checkout-ec.component.d.ts +20 -0
  198. package/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.d.ts +83 -0
  199. package/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.d.ts +14 -0
  200. package/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +11 -0
  201. package/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.d.ts +37 -0
  202. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.d.ts +11 -0
  203. package/{projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.ts → lib/ec-components/checkout-ec/payment-ec/payment-methods/index.d.ts} +3 -3
  204. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +30 -0
  205. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.d.ts +11 -0
  206. package/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.d.ts +30 -0
  207. package/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.d.ts +11 -0
  208. package/lib/ec-components/checkout-ec/success-ec/success-ec.component.d.ts +30 -0
  209. package/lib/ec-components/collection-ec/collection-ec.component.d.ts +37 -0
  210. package/lib/ec-components/coupon-ec/coupon-ec.component.d.ts +12 -0
  211. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +14 -0
  212. package/lib/ec-components/filters-sort-ec/filters-sort-ec.component.d.ts +14 -0
  213. package/lib/ec-components/footer-ec/footer-ec.component.d.ts +10 -0
  214. package/lib/ec-components/header-ec/header-ec.component.d.ts +12 -0
  215. package/lib/ec-components/home-ec/home-ec.component.d.ts +8 -0
  216. package/{projects/ng-easycommerce/src/lib/ec-components/index.ts → lib/ec-components/index.d.ts} +18 -17
  217. package/lib/ec-components/product-detail-ec/product-detail-ec.component.d.ts +35 -0
  218. package/lib/ec-components/product-ec/product-ec.component.d.ts +31 -0
  219. package/lib/ec-components/variants-ec/variants-ec.component.d.ts +8 -0
  220. package/{projects/ng-easycommerce/src/lib/ec-components/widgets-ec/index.ts → lib/ec-components/widgets-ec/index.d.ts} +4 -4
  221. package/{projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/index.ts → lib/ec-components/widgets-ec/loading/index.d.ts} +3 -3
  222. package/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.d.ts +5 -0
  223. package/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.d.ts +6 -0
  224. package/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.d.ts +5 -0
  225. package/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.d.ts +70 -0
  226. package/lib/ec-components/widgets-ec/price-ec/price-ec.component.d.ts +16 -0
  227. package/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.d.ts +26 -0
  228. package/lib/ec-guards/auth.guard.d.ts +8 -0
  229. package/lib/ec-guards/index.d.ts +1 -0
  230. package/lib/ec-pipe/ec-currency-symbol.pipe.d.ts +54 -0
  231. package/lib/ec-pipe/index.d.ts +1 -0
  232. package/lib/ec-services/addressing.service.d.ts +233 -0
  233. package/lib/ec-services/analytics/analytics.service.d.ts +50 -0
  234. package/lib/ec-services/analytics/doppler.service.d.ts +26 -0
  235. package/lib/ec-services/analytics/facebook-pixel.service.d.ts +102 -0
  236. package/lib/ec-services/analytics/google-analytics.service.d.ts +118 -0
  237. package/lib/ec-services/analytics/gtm.service.d.ts +153 -0
  238. package/{projects/ng-easycommerce/src/lib/ec-services/analytics/index.ts → lib/ec-services/analytics/index.d.ts} +6 -6
  239. package/lib/ec-services/analytics/metricool-pixel.service.d.ts +26 -0
  240. package/lib/ec-services/auth.service.d.ts +229 -0
  241. package/lib/ec-services/auth.storage.service.d.ts +24 -0
  242. package/lib/ec-services/blocks-repository.service.d.ts +40 -0
  243. package/lib/ec-services/blocks.service.d.ts +38 -0
  244. package/lib/ec-services/cart.service.d.ts +211 -0
  245. package/lib/ec-services/channel.service.d.ts +59 -0
  246. package/lib/ec-services/checkout.service.d.ts +49 -0
  247. package/lib/ec-services/currency.service.d.ts +108 -0
  248. package/lib/ec-services/filters.service.d.ts +56 -0
  249. package/lib/ec-services/form.service.d.ts +50 -0
  250. package/{projects/ng-easycommerce/src/lib/ec-services/index.ts → lib/ec-services/index.d.ts} +26 -24
  251. package/lib/ec-services/local-storage.service.d.ts +40 -0
  252. package/lib/ec-services/ngx-local-storage.service.d.ts +42 -0
  253. package/lib/ec-services/options.service.d.ts +121 -0
  254. package/lib/ec-services/order-utility.service.d.ts +15 -0
  255. package/lib/ec-services/orders.service.d.ts +14 -0
  256. package/lib/ec-services/pagination.service.d.ts +89 -0
  257. package/lib/ec-services/parameters.service.d.ts +41 -0
  258. package/lib/ec-services/payment.service.d.ts +22 -0
  259. package/lib/ec-services/product-detail.service.d.ts +97 -0
  260. package/lib/ec-services/products.service.d.ts +48 -0
  261. package/lib/ec-services/re-captcha.service.d.ts +65 -0
  262. package/lib/ec-services/shipment.service.d.ts +49 -0
  263. package/lib/ec-services/stores.service.d.ts +12 -0
  264. package/lib/ec-services/test.service.d.ts +6 -0
  265. package/lib/ec-services/toast.service.d.ts +59 -0
  266. package/lib/interceptors/auth.interceptor.d.ts +2 -0
  267. package/lib/interceptors/index.d.ts +1 -0
  268. package/lib/interfaces/analytics/event-key.d.ts +1 -0
  269. package/lib/interfaces/analytics/facebook-pixel-data.d.ts +5 -0
  270. package/{projects/ng-easycommerce/src/lib/interfaces/analytics/gtm-config.ts → lib/interfaces/analytics/gtm-config.d.ts} +6 -6
  271. package/{projects/ng-easycommerce/src/lib/interfaces/analytics/index.ts → lib/interfaces/analytics/index.d.ts} +3 -3
  272. package/lib/interfaces/blocks.d.ts +41 -0
  273. package/{projects/ng-easycommerce/src/lib/interfaces/checkout.ts → lib/interfaces/checkout.d.ts} +12 -14
  274. package/{projects/ng-easycommerce/src/lib/interfaces/connection.ts → lib/interfaces/connection.d.ts} +7 -8
  275. package/lib/interfaces/coupon.d.ts +5 -0
  276. package/lib/interfaces/currency.d.ts +9 -0
  277. package/{projects/ng-easycommerce/src/lib/interfaces/deserializable.ts → lib/interfaces/deserializable.d.ts} +3 -3
  278. package/{projects/ng-easycommerce/src/lib/interfaces/environment.ts → lib/interfaces/environment.d.ts} +6 -6
  279. package/{projects/ng-easycommerce/src/lib/interfaces/filter.ts → lib/interfaces/filter.d.ts} +38 -59
  280. package/{projects/ng-easycommerce/src/lib/interfaces/index.ts → lib/interfaces/index.d.ts} +16 -18
  281. package/lib/interfaces/options.d.ts +26 -0
  282. package/lib/interfaces/pagination.d.ts +24 -0
  283. package/lib/interfaces/parameter.d.ts +14 -0
  284. package/{projects/ng-easycommerce/src/lib/interfaces/product.ts → lib/interfaces/product.d.ts} +73 -81
  285. package/lib/interfaces/step.d.ts +15 -0
  286. package/lib/interfaces/storage.d.ts +7 -0
  287. package/{projects/ng-easycommerce/src/lib/interfaces/store.ts → lib/interfaces/store.d.ts} +17 -17
  288. package/lib/interfaces/types/index.d.ts +1 -0
  289. package/lib/interfaces/types/user.type.d.ts +5 -0
  290. package/lib/providers/index.d.ts +1 -0
  291. package/lib/providers/provideEnvironment.d.ts +13 -0
  292. package/lib/stores/currency.store.d.ts +7 -0
  293. package/lib/stores/index.d.ts +1 -0
  294. package/package.json +29 -58
  295. package/{projects/ng-easycommerce/src/public-api.ts → public-api.d.ts} +8 -24
  296. package/.editorconfig +0 -16
  297. package/angular.json +0 -48
  298. package/projects/ng-easycommerce/README.md +0 -24
  299. package/projects/ng-easycommerce/ng-package.json +0 -7
  300. package/projects/ng-easycommerce/package.json +0 -12
  301. package/projects/ng-easycommerce/src/lib/api/connection.service.ts +0 -79
  302. package/projects/ng-easycommerce/src/lib/api/index.ts +0 -1
  303. package/projects/ng-easycommerce/src/lib/classes/checkout/index.ts +0 -1
  304. package/projects/ng-easycommerce/src/lib/classes/checkout/steps.ts +0 -37
  305. package/projects/ng-easycommerce/src/lib/classes/filters/attributes-filter.ts +0 -74
  306. package/projects/ng-easycommerce/src/lib/classes/filters/category-filter.ts +0 -57
  307. package/projects/ng-easycommerce/src/lib/classes/filters/dynamics-filter.ts +0 -57
  308. package/projects/ng-easycommerce/src/lib/classes/filters/filter-factory.ts +0 -23
  309. package/projects/ng-easycommerce/src/lib/classes/filters/filter.ts +0 -89
  310. package/projects/ng-easycommerce/src/lib/classes/filters/index.ts +0 -6
  311. package/projects/ng-easycommerce/src/lib/classes/filters/sort-filter.ts +0 -93
  312. package/projects/ng-easycommerce/src/lib/classes/user.ts +0 -68
  313. package/projects/ng-easycommerce/src/lib/constants/api.constants.service.ts +0 -69
  314. package/projects/ng-easycommerce/src/lib/constants/core.constants.service.ts +0 -210
  315. package/projects/ng-easycommerce/src/lib/constants/index.ts +0 -2
  316. package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/block-ec.component.ts +0 -107
  317. package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/index.ts +0 -2
  318. package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/menu-ec.component.ts +0 -102
  319. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.html +0 -10
  320. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.scss +0 -0
  321. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.ts +0 -13
  322. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.html +0 -19
  323. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.scss +0 -0
  324. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.ts +0 -34
  325. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.html +0 -31
  326. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.scss +0 -0
  327. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.ts +0 -55
  328. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.html +0 -30
  329. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.scss +0 -0
  330. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.ts +0 -92
  331. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.html +0 -55
  332. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.scss +0 -0
  333. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.ts +0 -102
  334. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.html +0 -233
  335. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.scss +0 -0
  336. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.ts +0 -149
  337. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.html +0 -113
  338. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.scss +0 -12
  339. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.ts +0 -100
  340. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.html +0 -111
  341. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.scss +0 -0
  342. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.ts +0 -77
  343. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.html +0 -62
  344. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.scss +0 -0
  345. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.ts +0 -89
  346. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.html +0 -1
  347. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.scss +0 -0
  348. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.ts +0 -33
  349. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.html +0 -1
  350. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.scss +0 -0
  351. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.ts +0 -81
  352. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.html +0 -40
  353. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.scss +0 -0
  354. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.ts +0 -97
  355. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.html +0 -41
  356. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.scss +0 -0
  357. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.ts +0 -86
  358. package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.html +0 -20
  359. package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.scss +0 -0
  360. package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.ts +0 -30
  361. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.html +0 -1
  362. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.scss +0 -0
  363. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.ts +0 -24
  364. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.html +0 -1
  365. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.scss +0 -0
  366. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.ts +0 -51
  367. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/index.ts +0 -2
  368. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.html +0 -56
  369. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.scss +0 -38
  370. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.ts +0 -67
  371. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.html +0 -836
  372. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.scss +0 -0
  373. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.ts +0 -302
  374. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.html +0 -32
  375. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.scss +0 -0
  376. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.ts +0 -52
  377. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.html +0 -12
  378. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.scss +0 -0
  379. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.ts +0 -48
  380. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.html +0 -195
  381. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.scss +0 -0
  382. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.ts +0 -103
  383. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.html +0 -28
  384. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.scss +0 -0
  385. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.ts +0 -26
  386. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.html +0 -33
  387. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.scss +0 -0
  388. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.ts +0 -116
  389. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.html +0 -13
  390. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.scss +0 -0
  391. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.ts +0 -26
  392. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.html +0 -111
  393. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.scss +0 -0
  394. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.ts +0 -111
  395. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.html +0 -33
  396. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.scss +0 -0
  397. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.ts +0 -39
  398. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.html +0 -59
  399. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.scss +0 -0
  400. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.ts +0 -65
  401. package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.html +0 -16
  402. package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.scss +0 -0
  403. package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.ts +0 -83
  404. package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.html +0 -1
  405. package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.scss +0 -0
  406. package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.ts +0 -32
  407. package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.html +0 -1
  408. package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.scss +0 -0
  409. package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.ts +0 -45
  410. package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.html +0 -1
  411. package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.scss +0 -0
  412. package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.ts +0 -49
  413. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.html +0 -1
  414. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.scss +0 -0
  415. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.spec.ts +0 -23
  416. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.ts +0 -18
  417. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.html +0 -1
  418. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.scss +0 -0
  419. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.spec.ts +0 -23
  420. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.ts +0 -22
  421. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.html +0 -1
  422. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.scss +0 -0
  423. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.spec.ts +0 -23
  424. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.ts +0 -16
  425. package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.html +0 -0
  426. package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.scss +0 -0
  427. package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.ts +0 -82
  428. package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.html +0 -31
  429. package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.scss +0 -0
  430. package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.ts +0 -46
  431. package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.html +0 -65
  432. package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.scss +0 -8
  433. package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.ts +0 -20
  434. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.html +0 -7
  435. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.scss +0 -0
  436. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.ts +0 -13
  437. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.html +0 -5
  438. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.scss +0 -0
  439. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.ts +0 -13
  440. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.html +0 -3
  441. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.scss +0 -0
  442. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.ts +0 -13
  443. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.html +0 -11
  444. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.scss +0 -0
  445. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.ts +0 -177
  446. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.html +0 -47
  447. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.scss +0 -0
  448. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.ts +0 -22
  449. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.html +0 -6
  450. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.scss +0 -0
  451. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.ts +0 -70
  452. package/projects/ng-easycommerce/src/lib/ec-guards/auth.guard.ts +0 -19
  453. package/projects/ng-easycommerce/src/lib/ec-guards/index.ts +0 -1
  454. package/projects/ng-easycommerce/src/lib/ec-pipe/ec-currency-symbol.pipe.ts +0 -99
  455. package/projects/ng-easycommerce/src/lib/ec-pipe/index.ts +0 -1
  456. package/projects/ng-easycommerce/src/lib/ec-services/addressing.service.ts +0 -199
  457. package/projects/ng-easycommerce/src/lib/ec-services/analytics/analytics.service.ts +0 -76
  458. package/projects/ng-easycommerce/src/lib/ec-services/analytics/doppler.service.ts +0 -38
  459. package/projects/ng-easycommerce/src/lib/ec-services/analytics/facebook-pixel.service.ts +0 -214
  460. package/projects/ng-easycommerce/src/lib/ec-services/analytics/google-analytics.service.ts +0 -284
  461. package/projects/ng-easycommerce/src/lib/ec-services/analytics/gtm.service.ts +0 -413
  462. package/projects/ng-easycommerce/src/lib/ec-services/analytics/metricool-pixel.service.ts +0 -46
  463. package/projects/ng-easycommerce/src/lib/ec-services/auth.service.ts +0 -438
  464. package/projects/ng-easycommerce/src/lib/ec-services/auth.storage.service.ts +0 -54
  465. package/projects/ng-easycommerce/src/lib/ec-services/blocks-repository.service.ts +0 -67
  466. package/projects/ng-easycommerce/src/lib/ec-services/blocks.service.ts +0 -48
  467. package/projects/ng-easycommerce/src/lib/ec-services/cart.service.ts +0 -492
  468. package/projects/ng-easycommerce/src/lib/ec-services/channel.service.ts +0 -81
  469. package/projects/ng-easycommerce/src/lib/ec-services/checkout.service.ts +0 -196
  470. package/projects/ng-easycommerce/src/lib/ec-services/currency.service.ts +0 -179
  471. package/projects/ng-easycommerce/src/lib/ec-services/filters.service.ts +0 -133
  472. package/projects/ng-easycommerce/src/lib/ec-services/form.service.ts +0 -82
  473. package/projects/ng-easycommerce/src/lib/ec-services/local-storage.service.ts +0 -54
  474. package/projects/ng-easycommerce/src/lib/ec-services/ngx-local-storage.service.ts +0 -66
  475. package/projects/ng-easycommerce/src/lib/ec-services/options.service.ts +0 -274
  476. package/projects/ng-easycommerce/src/lib/ec-services/order-utility.service.ts +0 -52
  477. package/projects/ng-easycommerce/src/lib/ec-services/pagination.service.ts +0 -172
  478. package/projects/ng-easycommerce/src/lib/ec-services/parameters.service.ts +0 -67
  479. package/projects/ng-easycommerce/src/lib/ec-services/payment.service.ts +0 -63
  480. package/projects/ng-easycommerce/src/lib/ec-services/product-detail.service.ts +0 -288
  481. package/projects/ng-easycommerce/src/lib/ec-services/products.service.ts +0 -162
  482. package/projects/ng-easycommerce/src/lib/ec-services/re-captcha.service.ts +0 -126
  483. package/projects/ng-easycommerce/src/lib/ec-services/shipment.service.ts +0 -174
  484. package/projects/ng-easycommerce/src/lib/ec-services/stores.service.ts +0 -27
  485. package/projects/ng-easycommerce/src/lib/ec-services/toast.service.ts +0 -84
  486. package/projects/ng-easycommerce/src/lib/interceptors/auth.interceptor.ts +0 -43
  487. package/projects/ng-easycommerce/src/lib/interceptors/index.ts +0 -1
  488. package/projects/ng-easycommerce/src/lib/interfaces/analytics/event-key.ts +0 -14
  489. package/projects/ng-easycommerce/src/lib/interfaces/analytics/facebook-pixel-data.ts +0 -5
  490. package/projects/ng-easycommerce/src/lib/interfaces/blocks.ts +0 -56
  491. package/projects/ng-easycommerce/src/lib/interfaces/coupon.ts +0 -5
  492. package/projects/ng-easycommerce/src/lib/interfaces/currency.ts +0 -10
  493. package/projects/ng-easycommerce/src/lib/interfaces/options.ts +0 -28
  494. package/projects/ng-easycommerce/src/lib/interfaces/pagination.ts +0 -27
  495. package/projects/ng-easycommerce/src/lib/interfaces/parameter.ts +0 -15
  496. package/projects/ng-easycommerce/src/lib/interfaces/step.ts +0 -19
  497. package/projects/ng-easycommerce/src/lib/interfaces/storage.ts +0 -7
  498. package/projects/ng-easycommerce/src/lib/interfaces/types/index.ts +0 -1
  499. package/projects/ng-easycommerce/src/lib/interfaces/types/user.type.ts +0 -5
  500. package/projects/ng-easycommerce/src/lib/providers/index.ts +0 -1
  501. package/projects/ng-easycommerce/src/lib/providers/provideEnvironment.ts +0 -24
  502. package/projects/ng-easycommerce/src/lib/stores/currency.store.ts +0 -20
  503. package/projects/ng-easycommerce/src/lib/stores/index.ts +0 -1
  504. package/projects/ng-easycommerce/tsconfig.lib.json +0 -15
  505. package/projects/ng-easycommerce/tsconfig.lib.prod.json +0 -11
  506. package/projects/ng-easycommerce/tsconfig.spec.json +0 -15
  507. package/tsconfig.doc.json +0 -4
  508. package/tsconfig.json +0 -37
@@ -1,288 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { ProductsService } from './products.service';
3
- import { BehaviorSubject, firstValueFrom } from 'rxjs';
4
- import { Options, OptionValue, Product } from '../interfaces';
5
- import { ToastService } from './toast.service';
6
- import { CartService } from './cart.service';
7
-
8
- @Injectable({
9
- providedIn: 'root'
10
- })
11
- export class ProductDetailService {
12
- private _productsService: ProductsService = inject(ProductsService);
13
- private _toastService: ToastService = inject(ToastService);
14
- private _cartService: CartService = inject(CartService);
15
-
16
- private _productSubject = new BehaviorSubject<Product | null>({});
17
- private _optionsSubject = new BehaviorSubject<any>({});
18
- private _associatedDataSubject = new BehaviorSubject<any>({ price: '', stock: 0, picture: '' });
19
-
20
- public product$ = this._productSubject.asObservable();
21
- public options$ = this._optionsSubject.asObservable();
22
- public associatedData$ = this._associatedDataSubject.asObservable();
23
-
24
- private variants: any[] = []
25
-
26
- constructor() { }
27
- /**
28
- * Obtengo el producto a traves de su codigo e inicializo la configuración
29
- * del Servicio.
30
- * @param code
31
- * @param variant
32
- */
33
- loadProduct(code: string, variant: boolean = false) {
34
- firstValueFrom(this._productsService.getProductByCode(code, variant))
35
- .then(res => {
36
- variant ? this.initialize(res, code) : this.initialize(res)
37
- })
38
- .catch(err => { console.log(err); this._productSubject.next(null) });
39
- }
40
- /**
41
- * Carga el producto en el observable y la configuración de las variantes.
42
- * @param product
43
- * @param variantCode
44
- */
45
- private initialize(product: Product, variantCode?: string) {
46
- this._productSubject.next(product);
47
- const aux: Product['options'] = product.options || [];
48
- const options = aux?.map(option => this.toOption(option))
49
- this._optionsSubject.next(options);
50
- variantCode ? this.updateVariants(variantCode) : this.updateVariants();
51
- this.variants.length && this.generateAssociatedDataFromVariants();
52
- }
53
- /**
54
- * Formate los datos para las opciones del producto.
55
- * @param option
56
- * @returns
57
- */
58
- private toOption(option: Options) {
59
- return {
60
- name: option.label,
61
- code: option.code,
62
- type: option.type,
63
- values: option.values.map((value: any) => ({ name: value.code, description: value.name, image: value.image, mobileImage: value.mobileImage, selected: false }))
64
- }
65
- }
66
-
67
- /**
68
- * Cambia las opciones, obtiene el producto asociado a la opcion elegida.
69
- */
70
- setOption(optionCode: any, optionValue: any) {
71
- const options = this._optionsSubject.value;
72
- const option = options.find((element: any) => element.code == optionCode).values.find((value: any) => value.name == optionValue);
73
- option.selected = !option.selected;
74
- options.find((element: any) => element.code == optionCode).values.forEach(
75
- (value: any) => { if (value.name != option.name) value.selected = false }
76
- );
77
- this._optionsSubject.next(options);
78
- this.updateVariants();
79
- this.variants.length > 0 ? this.generateAssociatedDataFromVariants() : this._toastService.show('selection-not-available')
80
- }
81
- /**
82
- * Actualiza el observable de `associatedData` el cual se utiliza para mostrar los datos
83
- * en el frontend segun el producto y/o variante elegida.
84
- * Obtiene los datos de la variante y los formatea.
85
- */
86
- generateAssociatedDataFromVariants() {
87
- let associated: any = {};
88
- if (this.variants.length == 1) {
89
- const variant = this.variants[0];
90
- console.log(variant)
91
- associated.stock = variant.stock
92
- associated.price = variant.price.toString();
93
- associated.saleprice = variant.saleprice && variant.saleprice.toString() || undefined;
94
- associated.discount = variant?.discount || undefined;
95
- associated.properties = variant.properties ? this.beautifyProperties(variant.properties) : undefined;
96
- associated.uniqueExternalCode = variant?.uniqueExternalCode || undefined;
97
- associated.multipleQuantity = variant?.multipleQuantity || undefined;
98
- } else {
99
- associated.price = this.createPrice()
100
- associated.saleprice = this.createSalePrice()
101
- associated.stock = (this.variants.map(variant => variant.stock)).reduce((a, b) => a + b)
102
- associated.discount = this.createDiscount()
103
- }
104
-
105
- ('images' in this.variants[0] && this.variants[0].images.length > 0)
106
- ? associated.picture = this.variants[0].images[0]
107
- : associated.picture = (this._associatedDataSubject.value?.picture || (this._productSubject.value && this._productSubject.value?.picturesdefault?.[0] || []));
108
-
109
- associated.maximumAmount = this.variants[0]?.maximumAmount || 0
110
- associated.minimumAmount = this.variants[0]?.minimumAmount || 0
111
-
112
- associated.maximumItemsQuantity = this.variants[0]?.stock > 0 && 'maximumItemsQuantity' in this.variants[0] ? this.variants[0]?.maximumItemsQuantity : this.variants[0]?.stock
113
- associated.minimumItemsQuantity = this.variants[0]?.stock > 0 && 'minimumItemsQuantity' in this.variants[0]
114
- && this.variants[0]?.minimumItemsQuantity > 0 ? this.variants[0]?.minimumItemsQuantity
115
- : (this.variants[0]?.multipleQuantity ? this.variants[0]?.multipleQuantity : 1)
116
-
117
- associated.finalConsumer = {
118
- finalConsumerPrice: this.variants[0]?.final_consumer_price,
119
- originalFinalConsumerPrice: this.variants[0]?.original_final_consumer_price,
120
- }
121
- associated.taxes = {
122
- taxIncluded: this.variants[0]?.taxIncluded,
123
- taxCategory: this.variants[0]?.taxCategory,
124
- }
125
- //console.log(associated)
126
- this._associatedDataSubject.next(associated);
127
- }
128
- /**
129
- * Mejora los datos de las `properties`.
130
- * @param properties
131
- * @returns
132
- */
133
- beautifyProperties(properties: any): any {
134
- let beautifyData: any = [];
135
- properties.forEach((prop: any) => {
136
- for (let key in prop) {
137
- beautifyData.push({ name: key, value: prop[key] })
138
- }
139
- })
140
- return beautifyData
141
- }
142
- /**
143
- * Devuelve un descuento en caso de existir.
144
- * @returns
145
- */
146
- createDiscount(): any {
147
- let allDiscounts: string = '';
148
- this.variants.forEach(variant => {
149
- variant.discount && (allDiscounts += ', ' + variant.discount);
150
- })
151
- if (allDiscounts == '') return undefined;
152
- return allDiscounts;
153
- }
154
- /**
155
- * Devuelve el precio de venta.
156
- * @returns
157
- */
158
- createSalePrice(): any {
159
- let minPrice: number = 0;
160
- let maxPrice: number = 0;
161
- let allPrices: any = this.variants.map(v => v.saleprice).filter(e => e !== undefined);
162
- if (allPrices.length == 0) {
163
- return undefined
164
- }
165
- minPrice = allPrices.reduce((a: number, b: number) => Math.min(a, b));
166
- maxPrice = allPrices.reduce((a: number, b: number) => Math.max(a, b));
167
- return minPrice == maxPrice ? maxPrice.toString() : minPrice + ' - ' + maxPrice;
168
- }
169
- /**
170
- * Devuelve el precio o los precios en caso de tener varias variantes con distintos precios.
171
- * @returns
172
- */
173
- createPrice(): any {
174
- let minPrice: number = 0;
175
- let maxPrice: number = 0;
176
- let allPrice: any = this.variants.map(v => v.price)
177
- minPrice = allPrice.reduce((a: number, b: number) => Math.min(a, b));
178
- maxPrice = allPrice.reduce((a: number, b: number) => Math.max(a, b));
179
- return minPrice == maxPrice ? maxPrice.toString() : minPrice + ' - ' + maxPrice;
180
- }
181
- /**
182
- * Actualiza las variantes.
183
- * @param code
184
- */
185
- updateVariants = (code?: string) => {
186
- let variants = this._productSubject.value?.variants
187
- //console.log(variants)
188
- if (!code) {
189
- this._optionsSubject.value.forEach((option: any) => {
190
- option.values.forEach((value: any) => {
191
- if (value.selected) {
192
- variants = variants?.filter(variant => {
193
- return variant.options.some((variantOption: any) => {
194
- return (option.code in variantOption && variantOption[option.code] == value.name);
195
- })
196
- })
197
- }
198
- })
199
- })
200
- } else {
201
- variants = variants?.filter(variant => variant.code == code);
202
- }
203
- this.variants = variants || [];
204
- code && this.updateOptions();
205
- }
206
- /**
207
- * Actualiza las opciones
208
- */
209
- private updateOptions = () => {
210
- let { options } = this.variants.length && this.variants[0];
211
- options && options.forEach((option: any) => Object.keys(option).forEach(key => this.setOption(key, option[key])))
212
- }
213
- /**
214
- * Agrega el producto al carrito.
215
- * @param quantity Cantidad del producto a agregar
216
- * @param variantCode Codigo de la variante.
217
- * @returns
218
- */
219
- addToCart(quantity: number, variantCode?: string){
220
-
221
- if(!this.variants.length){
222
- this._toastService.show('cant-buy')
223
- return;
224
- }
225
- let productSelected = JSON.parse(JSON.stringify((this._productSubject.getValue())));
226
-
227
- let variant:any;
228
-
229
- switch(this.variants.length){
230
- case 0:
231
- this._toastService.show('no-variants');
232
- break;
233
- case 1:
234
- this._associatedDataSubject.value.stock == 0
235
- ? this._toastService.show('out-of-stock')
236
- : variant = this.variants[0]
237
- break;
238
- default:
239
- if(variantCode){
240
- variant = this.variants.find( variant => variant.code === variantCode)
241
- if(variant.stock == 0){
242
- this._toastService.show('out-of-stock')
243
- variant = undefined
244
- }
245
- } else {
246
- this._toastService.show('variants-left')
247
- }
248
- break;
249
- }
250
- if(!variant) return;
251
- if(!this.validateQuantity(quantity)) return;
252
-
253
- //agregar al servicio del carrito
254
- this._cartService.addToCart(this.makeAffordableProduct(productSelected), quantity, variant.code);
255
- }
256
- /**
257
- * Genera un producto para hacer mas facíl el envio del elemento al backend.
258
- * @param productSelected
259
- * @returns
260
- */
261
- private makeAffordableProduct(productSelected: Product) {
262
- productSelected.price = parseFloat(this._associatedDataSubject.value.price);
263
- productSelected.saleprice = parseFloat(this._associatedDataSubject.value.price);
264
- productSelected.options = [];
265
- this.variants[0].options.forEach((option:any) => productSelected.options = { ...productSelected.options, ...option })
266
- return productSelected;
267
- }
268
- /**
269
- * Valida la cantidad que se quiere agregar de un producto.
270
- * Revisa que no supere el stock, el maximo de items que se puede agregar
271
- * asi como el minimo.
272
- * @param quantity
273
- * @returns
274
- */
275
- private validateQuantity = (quantity: number) => {
276
- const actualQuantity = this._cartService.getCountFromItemInCart(this.variants[0].code);
277
- const asociatedData = this._associatedDataSubject.value;
278
- if ((actualQuantity + quantity) > asociatedData.maximumItemsQuantity) {
279
- this._toastService.show('maximum-items-quantity', { quantity: asociatedData.maximumItemsQuantity })
280
- return false;
281
- }
282
- if ((actualQuantity + quantity) < asociatedData.minimumItemsQuantity) {
283
- this._toastService.show('minimum-items-quantity', { quantity: asociatedData.minimumItemsQuantity })
284
- return false;
285
- }
286
- return true
287
- }
288
- }
@@ -1,162 +0,0 @@
1
- import { EnvironmentInjector, inject, Injectable, runInInjectionContext, signal } from '@angular/core';
2
- import { BehaviorSubject, map, Observable, ReplaySubject, shareReplay, switchMap } from 'rxjs';
3
- import { DefaultFilter, FilterElement, FilterType, IFilter, Options, PaginationSettings, ParamsProductsWithUniqueVariant, Product } from '../interfaces';
4
- import { ConnectionService } from '../api';
5
- import { ApiConstantsService, CoreConstantsService } from '../constants';
6
- import { OptionsService } from './options.service';
7
- import { PaginationService } from './pagination.service';
8
- import { Filter, FilterFactory } from '../classes';
9
- import { FiltersService } from './filters.service';
10
-
11
- @Injectable({
12
- providedIn: 'root'
13
- })
14
- export class ProductsService {
15
- private _connection: ConnectionService = inject(ConnectionService);
16
- private _apiConsts: ApiConstantsService = inject(ApiConstantsService);
17
- private _optionsService: OptionsService = inject(OptionsService);
18
- private _paginationService: PaginationService = inject(PaginationService);
19
- private _consts: CoreConstantsService = inject(CoreConstantsService);
20
-
21
- private _productsSubject: BehaviorSubject<Product[]> = new BehaviorSubject<Product[]>([])
22
- public products$: Observable<Product[]> = this._productsSubject.asObservable();
23
- private _filtersService: FiltersService = inject(FiltersService)
24
-
25
- private searchValue = signal<string>('');
26
-
27
- constructor() {
28
- this._paginationService.reset$.subscribe(res => {
29
- this._productsSubject.next([])
30
- })
31
- this._paginationService.paginationData$.subscribe(
32
- products => {
33
- const productsWithUniqueVariant = this._consts.getProductWithUniqueVariant();
34
- if (productsWithUniqueVariant)
35
- products = this.getProductsWithUniqueVariant(products, this.getObjectWithVariant())
36
- const currentProducts = this._productsSubject.value;
37
- this._productsSubject.next([...currentProducts, ...products]);
38
- }
39
- )
40
- }
41
-
42
- //API URL
43
- private _shopApiUrl = this._apiConsts.SHOP_API_URL;
44
- productByCodeApi(code: string, variant: boolean) { return this._shopApiUrl + this._apiConsts.CHANNEL + '/products/by-code/' + (variant ? 'variant/' : '') + code + '?locale=' + this._apiConsts.LOCALE; }
45
-
46
- /**
47
- * Setea los filtros para obtener los productos.
48
- * @param paginationSettings
49
- * @param searchValue
50
- */
51
- getProductsForFilter(paginationSettings?: PaginationSettings, searchValue?: any): any {
52
- searchValue ? this.searchValue.set(searchValue) : this.searchValue.set('');
53
- paginationSettings && this._filtersService.setFilters(paginationSettings)
54
- }
55
- /**
56
- * Actualiza los productos con los de la siguiente pagina.
57
- */
58
- updateProducts() {
59
- if (!this._paginationService.getWaiting()) {
60
- this._paginationService.getNext()
61
- }
62
- }
63
- /**
64
- * Devuelve el producto por codigo.
65
- * @param code Codigo del producto
66
- * @param variant Para indicar si es variante o no.
67
- * @returns
68
- */
69
- getProductByCode(code: string, variant: boolean): Observable<Product> {
70
- return this._connection.get(this.productByCodeApi(code, variant));
71
- }
72
-
73
- /**
74
- * Recibe una lista de productos y retorna los mismos productos tantas veces como variantes tenga.
75
- * cada producto retornado tendrá una única variante.
76
- * @param products Array. Lista de productos.
77
- * @param withOption 'type' tipo de opción, code: código de la opción. 'defaultFirstOption': en caso de que no se pueda desdoblar por la opción indicada si el valor es verdadero se intentara desdoblar por la primera opción asociada al producto.
78
- * 'checkIfStock': en caso de que esta valor sea verdadero se realiza un control de que la variantes cuenten con stock para ser un producto desdoblado por la variante, si el valor es falso no se realiza dicho control y el producto se desdoblara con stock en 0.
79
- * @returns arreglo con los productos desdoblados por la opción solicitada.
80
- * (opción por defecto que se intenta hacer el desdoblamiento 'color', o bien si en le parámetro withOption el atributo 'defaultFirstOption' es verdadero se desdobla por la primera opción asociada al producto)
81
- */
82
- getProductsWithUniqueVariant = (products: Product[], withOption: ParamsProductsWithUniqueVariant = { type: 'color', code: 'color', defaultFirstOption: false, checkIfStock: true }) => {
83
-
84
- !withOption['code'] && withOption['type'] && (withOption['code'] = withOption['type']) || !withOption['code'] && (withOption['code'] = 'color')
85
- !withOption['type'] && withOption['code'] && (withOption['type'] = withOption['code']) || !withOption['type'] && (withOption['type'] = 'color')
86
- !withOption.hasOwnProperty('defaultFirstOption') && (withOption['defaultFirstOption'] = false)
87
- !withOption.hasOwnProperty('checkIfStock') && (withOption['checkIfStock'] = true)
88
-
89
- let productsUniqueVariant: any[] = [];
90
- products.forEach((product: any) => {
91
- let variants = [...product?.variants];
92
- let option = product.options.find((opt: any) => opt.type.toLowerCase() === withOption.type?.toLowerCase());
93
- if (option) {
94
- option.values.forEach((optionValue: any) => {
95
- let modified_product = JSON.parse(JSON.stringify(product));
96
- modified_product.options.find((option: any) => option.type.toLowerCase() == withOption.type?.toLowerCase()).values = [{ code: optionValue.code, name: optionValue.name }];
97
- //busco una variante con ese code para asignarle la lista de imagenes
98
- let variantAux = variants.find(
99
- variant => ((withOption.checkIfStock && variant.stock > 0) || withOption.checkIfStock == false)
100
- && variant.options.length
101
- && variant.options.some((op: any) => (op.hasOwnProperty(withOption.code?.toLowerCase()) || op.hasOwnProperty(withOption.code?.toUpperCase()))
102
- && (op[`${withOption.code?.toLowerCase()}`] || op[`${withOption.code?.toUpperCase()}`]) === optionValue.code)
103
-
104
- );
105
- //console.log("---",variantAux);
106
- variantAux && productsUniqueVariant.push(this.productWithVariantValues(modified_product, variantAux, optionValue));
107
- })
108
- } else {
109
- /**
110
- * se modifica el caso para cuando se toma el primer `option` del producto para
111
- * armar la lista de productos con variantes.
112
- */
113
- if (withOption.defaultFirstOption && product.options?.length) {
114
- let firstOptions = product.options[0]
115
- product.options[0].values.forEach((optionValue: any) => {
116
-
117
- let modified_product = JSON.parse(JSON.stringify(product));
118
- modified_product.options.find((option: Options) => option.type == firstOptions.type).values = [{ code: optionValue.code, name: optionValue.name }];
119
-
120
- let variantAux = variants.find(variant => {
121
- return variant.options.find((elem: any) => elem[firstOptions.code] == optionValue.code)
122
- })
123
-
124
- if (variantAux && variantAux.images.length == 0) {
125
- variantAux.images = product.picturesdefault
126
- }
127
-
128
- if (withOption.checkIfStock) {
129
- (variantAux && variantAux.stock > 0) ? productsUniqueVariant.push(this.productWithVariantValues(modified_product, variantAux, optionValue)) : null;
130
- } else {
131
- variantAux && productsUniqueVariant.push(this.productWithVariantValues(modified_product, variantAux, optionValue))
132
- }
133
-
134
- })
135
- } else {
136
- productsUniqueVariant.push(product)
137
- }
138
-
139
- }
140
- })
141
- return productsUniqueVariant.length > 0 ? productsUniqueVariant : products;
142
- }
143
-
144
- productWithVariantValues = (product: Product, variant: any, optionValue: any) => {
145
- product.picturesdefault = [...variant.images]
146
- product.variant_id = variant.code; //lo dejo aca hasta asegurarnos de que no se estaba usando en otra parte.
147
- product.stock = variant.stock || 0; //lo dejo aca hasta asegurarnos de que no se estaba usando en otra parte.
148
- product.price = variant.price.toString() || '0';
149
- product.currentOption = {
150
- ...optionValue,
151
- productCode: product.id,
152
- variantCode: variant.code,
153
- stock: variant.stock || 0,
154
- finalPrice: variant.saleprice || variant.price || 0,
155
- }
156
- return product
157
- }
158
-
159
- private getObjectWithVariant = (): ParamsProductsWithUniqueVariant => {
160
- return this._consts.getParamsProductsWithUniqueVariant()
161
- }
162
- }
@@ -1,126 +0,0 @@
1
- import { afterNextRender, inject, Injectable } from '@angular/core';
2
- import { RecaptchaSettings } from 'ng-recaptcha-2';
3
- import { BehaviorSubject, concatMap, firstValueFrom, map, Observable } from 'rxjs';
4
- import { ConnectionService } from '../api';
5
- import { ParametersService } from './parameters.service';
6
- import { ApiConstantsService } from '../constants';
7
-
8
- @Injectable({
9
- providedIn: 'root'
10
- })
11
- export class ReCaptchaService {
12
-
13
- private _connection: ConnectionService = inject(ConnectionService);
14
- private _paramsService: ParametersService = inject(ParametersService);
15
- private _apiConsts: ApiConstantsService = inject(ApiConstantsService);
16
-
17
- private _recaptchaSubject: BehaviorSubject<RecaptchaSettings> = new BehaviorSubject<RecaptchaSettings>({ siteKey: '' });
18
- public recaptcha$ = this._recaptchaSubject.asObservable();
19
-
20
- private params$ = this._paramsService.getParameters();
21
- public params: any;
22
-
23
- private urlBaseFormat: string = '';
24
- private testing: string = "easycommercetech"
25
- private productionEnvironment: Boolean = false;
26
-
27
- private recaptchaSiteKeysUrl = './assets/recaptcha/recaptcha-site-keys.json';
28
- private recaptchaSitesUrl = './assets/recaptcha/recaptcha-sites.json';
29
- private recaptchaSitesUrlProd = './assets/recaptcha/recaptcha-sites-prod.json'
30
-
31
- private RECAPTCHA_SITE_KEYS: any = []
32
- private RECAPTCHA_SITES: any = []
33
-
34
- constructor() {
35
- this.params$.subscribe(params => this.params = params);
36
- this.initializer();
37
- afterNextRender(()=> {
38
- this.urlBaseFormat = this.formatUrl(location.href);
39
- this.productionEnvironment = this.isProd();
40
- })
41
- }
42
- /**
43
- * Devuelve true si la url es de produccion, false en caso contrario.
44
- * @returns {Boolean}
45
- */
46
- private isProd(): Boolean {
47
- return !this.urlBaseFormat.includes(this.testing)
48
- }
49
- /**
50
- * Recibe una url y se encarga de quitarle "http", "/" y las demas rutas, para devolver la url
51
- * del sitio con una formato limpio. Ejemplo "https://ejemplo.com.ar/ruta1/ruta2/" a "ejemplo.com.ar"
52
- * @param {string} url url que sera formateada
53
- * @returns {string} url formateada
54
- */
55
- private formatUrl(url: string): string {
56
- return url.split("/").filter(e => e != "/").filter(e => !e.includes("http")).filter(e => e.length).slice(0,1).pop() || ''
57
- }
58
-
59
- /**
60
- * Path que contiene la direccion del endpoint referido al captcha
61
- * @returns {string}
62
- */
63
- private captchaApi():string { return `${this._apiConsts.SHOP_API_URL}channels`;}
64
- /**
65
- * Prioriza si existe un parametro desde el backend de nombre 'recaptcha_key_canal',
66
- * de no existir este busca uno de tipo general de nombre 'recaptcha_key',
67
- * y en caso de que este no exista se realiza lo siguiente:
68
- * carga las variables RECAPTCHA_SITES y RECAPTCHA_SITE_KEYS, con los valores
69
- * de los Json estaticos, para posteriormente obtener la "siteKey"(clave del captcha) en caso
70
- * de que no venga desde el backend.
71
- */
72
- private initializer(): void {
73
- let paramThisChannel = this.params.find((param:any) => param.code === `recaptcha_key_${this._apiConsts.CHANNEL}`)
74
- if(paramThisChannel){
75
- this._recaptchaSubject.next({siteKey: paramThisChannel.value});
76
- }else{
77
- let paramGeneral = this.params.find((param:any) => param.code === 'recaptcha_key')
78
- if(paramGeneral){
79
- this._recaptchaSubject.next({siteKey: paramGeneral.value});
80
- } else {
81
- this.getRecaptchaSites().pipe(
82
- map((res:any) => this.RECAPTCHA_SITES = res),
83
- concatMap( res => this.getRecaptchaSiteKeys().pipe(
84
- map(res=> this.RECAPTCHA_SITE_KEYS = res)
85
- ))
86
- ).subscribe(
87
- e => this.getSiteKey()
88
- )
89
- }
90
- }
91
- }
92
-
93
- /**
94
- * Obtiene los datos del archivo .json en donde se guardan las claves.
95
- * @returns {Observable<any>} Datos obtenidos del archivo con las claves captcha
96
- */
97
- private getRecaptchaSiteKeys(): Observable<any>{
98
- return this._connection.getWithFullUrl(this.recaptchaSiteKeysUrl)
99
- }
100
- /**
101
- * Se obtiene los datos segun el entorno en que se ejecute
102
- * @returns {Observable<any>} Datos obtenidos del archivo con las url de los sitios
103
- */
104
- private getRecaptchaSites(): Observable<any>{
105
- return this.productionEnvironment ?
106
- this._connection.getWithFullUrl(this.recaptchaSitesUrlProd) :
107
- this._connection.getWithFullUrl(this.recaptchaSitesUrl);
108
- }
109
- /**
110
- * Genera una peticion para recibir la clave del recaptcha. En caso de no tener exito,
111
- * utiliza los archivos estaticos para retornar una clave por defecto. Rellena el Observable con
112
- * los datos generados.
113
- */
114
- private getSiteKey(){
115
- firstValueFrom(this._connection.get(this.captchaApi())).then(
116
- (res: any) => {
117
- this._recaptchaSubject.next( {
118
- siteKey: res.siteKey ? res.siteKey : this.RECAPTCHA_SITE_KEYS[this.RECAPTCHA_SITES[this.urlBaseFormat]]
119
- })
120
- },
121
- (err: any) => {
122
- this._recaptchaSubject.next({ siteKey: this.RECAPTCHA_SITE_KEYS[this.RECAPTCHA_SITES[this.urlBaseFormat]]})
123
- }
124
- )
125
- }
126
- }