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
@@ -0,0 +1,54 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { LoadingInlineEcComponent } from "../../widgets-ec/loading";
5
+ import { firstValueFrom } from 'rxjs';
6
+ import { AuthService, ToastService } from '../../../ec-services';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngx-translate/core";
9
+ import * as i2 from "@angular/forms";
10
+ export class ForgotPasswordEcComponent {
11
+ _formBuilder = inject(FormBuilder);
12
+ _authService = inject(AuthService);
13
+ _toastService = inject(ToastService);
14
+ /**
15
+ * Para indicarle a la vista que se realizo con exito la petición
16
+ */
17
+ ready = false;
18
+ /**
19
+ * Para mostrar el spinner.
20
+ */
21
+ loading = false;
22
+ /**
23
+ * Contiene el formulario.
24
+ */
25
+ form;
26
+ constructor() {
27
+ this.form = this._formBuilder.group({
28
+ email: ['', [Validators.required, Validators.email]],
29
+ });
30
+ }
31
+ /**
32
+ * Genera una petición al backend para recuperar la contraseña.
33
+ * @param event
34
+ */
35
+ recoverPassword = (event) => {
36
+ event.preventDefault();
37
+ this.loading = true;
38
+ firstValueFrom(this._authService.recoverPassword(this.form.value.email))
39
+ .then((res) => {
40
+ this.ready = true;
41
+ }).catch((res) => {
42
+ (!res || res.error)
43
+ ? this._toastService.show('non-existent-email')
44
+ : this._toastService.show(res.error);
45
+ }).finally(() => this.loading = false);
46
+ };
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ForgotPasswordEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ForgotPasswordEcComponent, isStandalone: true, selector: "app-forgot-password-ec", ngImport: i0, template: "<div class=\"container\" id=\"passReset\">\n @if(!ready){\n <div>\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"row justify-content-center\">\n <div class=\"col-12 col-md-10 text-center\">\n <h3>{{ 'set-forgot-email' | translate }}</h3>\n <div class=\"element-container\">\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" />\n </div>\n <button class=\"btn btn-primary btn-passreset my-2\" type=\"submit\" [disabled]=\"form.invalid\">{{ 'recover-password' | translate\n }}</button>\n @if(loading)\n {\n <app-loading-inline-ec />\n }\n </div>\n </form>\n </div>\n } @else {\n <div class=\"row d-flex justify-content-center\">\n <div class=\"col-12 col-md-8\">\n <div class=\"element-container text-center\">\n <h3>{{ 'mail-sent' | translate }}</h3>\n </div>\n <div class=\"element-container text-center\">\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\n </div>\n </div>\n </div>\n }\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingInlineEcComponent, selector: "app-loading-inline-ec", inputs: ["type"] }] });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ForgotPasswordEcComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'app-forgot-password-ec', standalone: true, imports: [TranslateModule, ReactiveFormsModule, LoadingInlineEcComponent], template: "<div class=\"container\" id=\"passReset\">\n @if(!ready){\n <div>\n <form [formGroup]=\"form\" (submit)=\"recoverPassword($event)\" class=\"row justify-content-center\">\n <div class=\"col-12 col-md-10 text-center\">\n <h3>{{ 'set-forgot-email' | translate }}</h3>\n <div class=\"element-container\">\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" />\n </div>\n <button class=\"btn btn-primary btn-passreset my-2\" type=\"submit\" [disabled]=\"form.invalid\">{{ 'recover-password' | translate\n }}</button>\n @if(loading)\n {\n <app-loading-inline-ec />\n }\n </div>\n </form>\n </div>\n } @else {\n <div class=\"row d-flex justify-content-center\">\n <div class=\"col-12 col-md-8\">\n <div class=\"element-container text-center\">\n <h3>{{ 'mail-sent' | translate }}</h3>\n </div>\n <div class=\"element-container text-center\">\n <h5 class=\"center-text\">{{ 'check-your-email' | translate }}</h5>\n </div>\n </div>\n </div>\n }\n</div>" }]
53
+ }], ctorParameters: () => [] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2F1dGgtZWMvZm9yZ290LXBhc3N3b3JkLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy9mb3Jnb3QtcGFzc3dvcmQtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBU2pFLE1BQU0sT0FBTyx5QkFBeUI7SUFDN0IsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0Q7O09BRUc7SUFDSSxLQUFLLEdBQVksS0FBSyxDQUFDO0lBQzlCOztPQUVHO0lBQ0ksT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVoQzs7T0FFRztJQUNJLElBQUksQ0FBVztJQUV0QjtRQUNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsR0FBRyxDQUFDLEtBQVcsRUFBRSxFQUFFO1FBQ2pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEUsSUFBSSxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDcEIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUE7SUFDeEMsQ0FBQyxDQUFBO3VHQXZDVyx5QkFBeUI7MkZBQXpCLHlCQUF5QixrRkNkdEMscXZDQThCTSx5RERwQkssZUFBZSwyRkFBRSxtQkFBbUIsNjhCQUFFLHdCQUF3Qjs7MkZBSTVELHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDQyx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ0lubGluZUVjQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL3dpZGdldHMtZWMvbG9hZGluZ1wiO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1mb3Jnb3QtcGFzc3dvcmQtZWMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBMb2FkaW5nSW5saW5lRWNDb21wb25lbnRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vZm9yZ290LXBhc3N3b3JkLWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2ZvcmdvdC1wYXNzd29yZC1lYy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgRm9yZ290UGFzc3dvcmRFY0NvbXBvbmVudCB7XG5cdHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cdC8qKlxuXHQgKiBQYXJhIGluZGljYXJsZSBhIGxhIHZpc3RhIHF1ZSBzZSByZWFsaXpvIGNvbiBleGl0byBsYSBwZXRpY2nDs25cblx0ICovXG5cdHB1YmxpYyByZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xuXHQvKipcblx0ICogUGFyYSBtb3N0cmFyIGVsIHNwaW5uZXIuXG5cdCAqL1xuXHRwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBDb250aWVuZSBlbCBmb3JtdWxhcmlvLlxuXHQgKi9cblx0cHVibGljIGZvcm06Rm9ybUdyb3VwO1xuXG5cdGNvbnN0cnVjdG9yKCl7XG5cdFx0dGhpcy5mb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuXHRcdFx0ZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcblx0XHR9KVxuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYSB1bmEgcGV0aWNpw7NuIGFsIGJhY2tlbmQgcGFyYSByZWN1cGVyYXIgbGEgY29udHJhc2XDsWEuXG5cdCAqIEBwYXJhbSBldmVudCBcblx0ICovXG5cdHJlY292ZXJQYXNzd29yZCA9IChldmVudDpFdmVudCkgPT4ge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0XHRmaXJzdFZhbHVlRnJvbSh0aGlzLl9hdXRoU2VydmljZS5yZWNvdmVyUGFzc3dvcmQodGhpcy5mb3JtLnZhbHVlLmVtYWlsKSlcblx0XHRcdC50aGVuKChyZXM6YW55KSA9PiB7XG5cdFx0XHRcdHRoaXMucmVhZHkgPSB0cnVlXG5cdFx0XHR9KS5jYXRjaCgocmVzOmFueSkgPT4ge1xuXHRcdFx0XHQoIXJlcyB8fCByZXMuZXJyb3IpXG5cdFx0XHRcdD8gdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ25vbi1leGlzdGVudC1lbWFpbCcpXG5cdFx0XHRcdDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3cocmVzLmVycm9yKTtcblx0XHRcdH0pLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpXG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBpZD1cInBhc3NSZXNldFwiPlxuICAgIEBpZighcmVhZHkpe1xuICAgIDxkaXY+XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChzdWJtaXQpPVwicmVjb3ZlclBhc3N3b3JkKCRldmVudClcIiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC0xMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoMz57eyAnc2V0LWZvcmdvdC1lbWFpbCcgfCB0cmFuc2xhdGUgfX08L2gzPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tcGFzc3Jlc2V0IG15LTJcIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPnt7ICdyZWNvdmVyLXBhc3N3b3JkJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIEBpZihsb2FkaW5nKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8YXBwLWxvYWRpbmctaW5saW5lLWVjIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLThcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbnRhaW5lciB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoMz57eyAnbWFpbC1zZW50JyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbGVtZW50LWNvbnRhaW5lciB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNlbnRlci10ZXh0XCI+e3sgJ2NoZWNrLXlvdXItZW1haWwnIHwgdHJhbnNsYXRlIH19PC9oNT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './auth-ec.component';
2
+ export * from './login-form-ec/login-form-ec.component';
3
+ export * from './forgot-password-ec/forgot-password-ec.component';
4
+ export * from './confirm-account-ec/confirm-account-ec.component';
5
+ export * from './register-form-ec/register-form-ec.component';
6
+ export * from './register-wholesaler-form-ec/register-wholesaler-form-ec.component';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHFFQUFxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3Jnb3QtcGFzc3dvcmQtZWMvZm9yZ290LXBhc3N3b3JkLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tYWNjb3VudC1lYy9jb25maXJtLWFjY291bnQtZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyLXdob2xlc2FsZXItZm9ybS1lYy9yZWdpc3Rlci13aG9sZXNhbGVyLWZvcm0tZWMuY29tcG9uZW50JzsiXX0=
@@ -0,0 +1,91 @@
1
+ import { Component, EventEmitter, inject, Input, Output, signal } from '@angular/core';
2
+ import { LoadingSectionEcComponent } from '../../widgets-ec';
3
+ import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
4
+ import { Router, RouterLink } from '@angular/router';
5
+ import { AuthService, ToastService } from '../../../ec-services';
6
+ import { firstValueFrom } from 'rxjs';
7
+ import { JsonPipe } from '@angular/common';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/forms";
10
+ export class LoginFormEcComponent {
11
+ _authService = inject(AuthService);
12
+ _formBuilder = inject(FormBuilder);
13
+ _toastService = inject(ToastService);
14
+ _router = inject(Router);
15
+ /**
16
+ * Parametro para indicar si tras loguear
17
+ * debe redireccionar o no.
18
+ */
19
+ redirect = true;
20
+ /**
21
+ * Parametro para indicar a donde redireccionar.
22
+ */
23
+ redirectTo = '/';
24
+ ready = new EventEmitter();
25
+ /**
26
+ * Muestra si esta cargando o no.
27
+ */
28
+ loading = false;
29
+ loggedIn = false;
30
+ /**
31
+ * Signal que guarda el formulario de login.
32
+ */
33
+ loginForm = signal(this._formBuilder.group({
34
+ username: ['', Validators.required],
35
+ password: ['', Validators.required]
36
+ }));
37
+ /**
38
+ * Loguea al usuario en la plataforma.
39
+ * @param $event
40
+ * @param withRoles
41
+ * @returns
42
+ */
43
+ login($event, withRoles = []) {
44
+ $event.preventDefault();
45
+ this.loading = true;
46
+ if (!this.loginForm().valid) {
47
+ this._toastService.show('login-form-incomplete');
48
+ this.loading = false;
49
+ return;
50
+ }
51
+ firstValueFrom(this._authService.login(this.loginForm().value, withRoles)).then((res) => {
52
+ console.log(res);
53
+ if (res == 'ok') {
54
+ this.ready.emit(this.loginForm().value.username);
55
+ this.loggedIn = true;
56
+ this.redirect && this.redirectHome();
57
+ }
58
+ else {
59
+ if (res == 'error') {
60
+ this._toastService.error('invalid-credentials');
61
+ }
62
+ }
63
+ this.loading = false;
64
+ }, (err) => {
65
+ this.loading = false;
66
+ });
67
+ }
68
+ /**
69
+ * Si el servicio de auth tiene configurado a donde volver, se ejecutar ese caso.
70
+ * De lo contrario redirige al contenido de la variable `redirectTo`.
71
+ */
72
+ redirectHome() {
73
+ const resolverFunction = this._authService.getHomeResolver();
74
+ resolverFunction
75
+ ? resolverFunction()
76
+ : this._router.navigateByUrl(this.redirectTo);
77
+ }
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LoginFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
79
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: LoginFormEcComponent, isStandalone: true, selector: "app-login-form-ec", inputs: { redirect: "redirect", redirectTo: "redirectTo" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-2\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LoginFormEcComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'app-login-form-ec', standalone: true, imports: [LoadingSectionEcComponent, ReactiveFormsModule, RouterLink, JsonPipe], template: "<div class=\"d-flex flex-column position-relative\">\n <h1 class=\"right-line ff-ubuntu-light mb-2\"><span>Ingresar</span></h1>\n <p class=\"ff-ubuntu-light font-sm pr-4\">\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\n contrase\u00F1a adecuada.\n </p>\n <div class=\"w-md-50 w-100 text-center\">\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\n placeholder=\"Correo Electr\u00F3nico\">\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\n placeholder=\"Contrase\u00F1a\">\n\n <div class=\"row d-flex flex-column\">\n <div class=\"col-12\">\n <button type=\"submit\"\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\n </div>\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\n \u00BFOlvid\u00F3 su contrase\u00F1a?\n </a>\n </div>\n </div>\n </form>\n </div>\n @if(loading){\n <app-loading-section-ec></app-loading-section-ec>\n }\n</div>" }]
84
+ }], propDecorators: { redirect: [{
85
+ type: Input
86
+ }], redirectTo: [{
87
+ type: Input
88
+ }], ready: [{
89
+ type: Output
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLFlBQVksR0FBZSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsWUFBWSxHQUFlLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxhQUFhLEdBQWdCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxPQUFPLEdB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ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ1NlY3Rpb25FY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dpZGdldHMtZWMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgVXNlclJvbGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSnNvblBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdhcHAtbG9naW4tZm9ybS1lYycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBSb3V0ZXJMaW5rLCBKc29uUGlwZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1mb3JtLWVjLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2xvZ2luLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luRm9ybUVjQ29tcG9uZW50IHtcblx0cHJpdmF0ZSBfYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuXHRwcml2YXRlIF9mb3JtQnVpbGRlcjpGb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTpUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcblx0cHJpdmF0ZSBfcm91dGVyOlJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXHQvKipcblx0ICogUGFyYW1ldHJvIHBhcmEgaW5kaWNhciBzaSB0cmFzIGxvZ3VlYXJcblx0ICogZGViZSByZWRpcmVjY2lvbmFyIG8gbm8uXG5cdCAqL1xuXHRASW5wdXQoKSByZWRpcmVjdDpib29sZWFuID0gdHJ1ZTtcblx0LyoqXG5cdCAqIFBhcmFtZXRybyBwYXJhIGluZGljYXIgYSBkb25kZSByZWRpcmVjY2lvbmFyLlxuXHQgKi9cblx0QElucHV0KCkgcmVkaXJlY3RUbzpzdHJpbmcgPSAnLyc7XG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0LyoqXG5cdCAqIE11ZXN0cmEgc2kgZXN0YSBjYXJnYW5kbyBvIG5vLlxuXHQgKi9cblx0cHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGxvZ2dlZEluOiBib29sZWFuID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTaWduYWwgcXVlIGd1YXJkYSBlbCBmb3JtdWxhcmlvIGRlIGxvZ2luLlxuXHQgKi9cblx0cHVibGljIGxvZ2luRm9ybTogYW55ID0gc2lnbmFsPEZvcm1Hcm91cD4oXG5cdFx0dGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuXHRcdFx0dXNlcm5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG5cdFx0XHRwYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuXHRcdH0pXG5cdCk7XG5cdC8qKlxuXHQgKiBMb2d1ZWEgYWwgdXN1YXJpbyBlbiBsYSBwbGF0YWZvcm1hLlxuXHQgKiBAcGFyYW0gJGV2ZW50IFxuXHQgKiBAcGFyYW0gd2l0aFJvbGVzIFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHB1YmxpYyBsb2dpbigkZXZlbnQ6IEV2ZW50LCB3aXRoUm9sZXM6IFVzZXJSb2xlVHlwZVtdID0gW10pe1xuXHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XG5cdFx0aWYoIXRoaXMubG9naW5Gb3JtKCkudmFsaWQpe1xuXHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2xvZ2luLWZvcm0taW5jb21wbGV0ZScpXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fYXV0aFNlcnZpY2UubG9naW4odGhpcy5sb2dpbkZvcm0oKS52YWx1ZSwgd2l0aFJvbGVzKSkudGhlbihcblx0XHRcdChyZXM6YW55KSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XG5cdFx0XHRcdGlmKHJlcyA9PSAnb2snKXtcblx0XHRcdFx0XHR0aGlzLnJlYWR5LmVtaXQodGhpcy5sb2dpbkZvcm0oKS52YWx1ZS51c2VybmFtZSk7XG5cdFx0XHRcdFx0dGhpcy5sb2dnZWRJbiA9IHRydWU7XG5cdFx0XHRcdFx0dGhpcy5yZWRpcmVjdCAmJiB0aGlzLnJlZGlyZWN0SG9tZSgpO1xuXG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0aWYocmVzID09ICdlcnJvcicpe1xuXHRcdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLmVycm9yKCdpbnZhbGlkLWNyZWRlbnRpYWxzJylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHR9LFxuXHRcdFx0KGVycjphbnkpID0+IHtcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHR9XG5cdFx0KVxuXHR9XG5cdC8qKlxuXHQgKiBTaSBlbCBzZXJ2aWNpbyBkZSBhdXRoIHRpZW5lIGNvbmZpZ3VyYWRvIGEgZG9uZGUgdm9sdmVyLCBzZSBlamVjdXRhciBlc2UgY2Fzby5cblx0ICogRGUgbG8gY29udHJhcmlvIHJlZGlyaWdlIGFsIGNvbnRlbmlkbyBkZSBsYSB2YXJpYWJsZSBgcmVkaXJlY3RUb2AuXG5cdCAqL1xuXHRyZWRpcmVjdEhvbWUoKXtcbiAgICAgICAgY29uc3QgcmVzb2x2ZXJGdW5jdGlvbiA9IHRoaXMuX2F1dGhTZXJ2aWNlLmdldEhvbWVSZXNvbHZlcigpXG4gICAgICAgIHJlc29sdmVyRnVuY3Rpb25cbiAgICAgICAgICAgID8gcmVzb2x2ZXJGdW5jdGlvbigpXG4gICAgICAgICAgICA6IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMucmVkaXJlY3RUbylcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICA8aDEgY2xhc3M9XCJyaWdodC1saW5lIGZmLXVidW50dS1saWdodCBtYi0yXCI+PHNwYW4+SW5ncmVzYXI8L3NwYW4+PC9oMT5cbiAgICA8cCBjbGFzcz1cImZmLXVidW50dS1saWdodCBmb250LXNtIHByLTRcIj5cbiAgICAgICAgU2kgeWEgZXN0w6FzIHJlZ2lzdHJhZG8uIEluZ3Jlc2EgZW4gdHUgY3VlbnRhIGNvbiB0dSBlbWFpbCB5IGxhXG4gICAgICAgIGNvbnRyYXNlw7FhIGFkZWN1YWRhLlxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwidy1tZC01MCB3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybSgpXCIgKHN1Ym1pdCk9XCJsb2dpbigkZXZlbnQpXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItNCByYWRpdXMtMFwiIHR5cGU9XCJlbWFpbFwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvcnJlbyBFbGVjdHLDs25pY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBtYi00IHJhZGl1cy0wXCIgdHlwZT1cInBhc3N3b3JkXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udHJhc2XDsWFcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJnLWdyYXkgYm9yZGVyLTAgcHgtNCBweS0yIGNvbG9yLXdoaXRlIGZmLXVidW50dS1saWdodFwiPklOR1JFU0FSPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiJy9hdXRoL2ZvcmdvdC1wYXNzd29yZCdcIiBjbGFzcz1cImZvbnQtbWQgZmYtdWJ1bnR1LWxpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDCv09sdmlkw7Mgc3UgY29udHJhc2XDsWE/XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gICAgQGlmKGxvYWRpbmcpe1xuICAgIDxhcHAtbG9hZGluZy1zZWN0aW9uLWVjPjwvYXBwLWxvYWRpbmctc2VjdGlvbi1lYz5cbiAgICB9XG48L2Rpdj4iXX0=
@@ -0,0 +1,105 @@
1
+ import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
2
+ import { AnalyticsService, AuthService, ToastService } from '../../../ec-services';
3
+ import { Router } from '@angular/router';
4
+ import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';
5
+ import { LoadingSectionEcComponent } from "../../widgets-ec/loading";
6
+ import { firstValueFrom } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ export class RegisterFormEcComponent {
10
+ _authService = inject(AuthService);
11
+ _toastService = inject(ToastService);
12
+ _router = inject(Router);
13
+ _analyticsService = inject(AnalyticsService);
14
+ _formBuilder = inject(FormBuilder);
15
+ /**
16
+ * Indica si debe redireccionar o se queda en la misma pantalla
17
+ */
18
+ redirect = true;
19
+ /**
20
+ * Para que se puede capturar el estado de la petición de registro.
21
+ */
22
+ ready = new EventEmitter();
23
+ /**
24
+ * Contiene el formulario de registro.
25
+ */
26
+ form;
27
+ /**
28
+ * Para indicar que se esta procesando la solicitud de registro.
29
+ */
30
+ loading = false;
31
+ /**
32
+ * Para indicar el exito de la solicitud de registro.
33
+ */
34
+ success = false;
35
+ constructor() {
36
+ this.form = this._formBuilder.group({
37
+ firstName: ['', Validators.required],
38
+ lastName: ['', Validators.required],
39
+ email: ['', [Validators.required, Validators.email]],
40
+ plainPassword: ['', Validators.required],
41
+ plainPassword2: ['', Validators.required],
42
+ newsletter: [false],
43
+ terms: ['', Validators.required],
44
+ });
45
+ }
46
+ /**
47
+ * Registra un usuario.
48
+ * @param event
49
+ * @returns
50
+ */
51
+ register(event) {
52
+ event.preventDefault();
53
+ this.loading = true;
54
+ if (!this.form.valid) {
55
+ this._toastService.show('fields-incomplete');
56
+ this.loading = false;
57
+ return;
58
+ }
59
+ ;
60
+ if (this.form.value.plainPassword != this.form.value.plainPassword2) {
61
+ this._toastService.show('mismatched-password');
62
+ this.loading = false;
63
+ return;
64
+ }
65
+ if (this.form.valid) {
66
+ firstValueFrom(this._authService.singUp(this.form.value)).then(res => {
67
+ this.loading = false;
68
+ this._toastService.success('register-ok');
69
+ this._analyticsService.callEvent('sign_up', {
70
+ firstName: this.form.value.firstName,
71
+ lastName: this.form.value.lastName,
72
+ email: this.form.value.email
73
+ });
74
+ this.success = true;
75
+ this.ready.emit(true);
76
+ if (this.redirect) {
77
+ this._router.navigateByUrl('home');
78
+ }
79
+ }, err => {
80
+ this.loading = false;
81
+ if (err.status == 400) {
82
+ this._toastService.show('email-already-registered');
83
+ }
84
+ else {
85
+ this._toastService.error('email-register-error');
86
+ }
87
+ });
88
+ }
89
+ else {
90
+ this._toastService.show('invalid-form');
91
+ this.loading = false;
92
+ }
93
+ }
94
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RegisterFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: RegisterFormEcComponent, isStandalone: true, selector: "app-register-form-ec", inputs: { redirect: "redirect" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\n <div class=\"py-2\">\n <h5>CREAR CUENTA</h5>\n </div>\n <form id=\"registro\" [formGroup]=\"form\" (submit)=\"register($event)\">\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">NOMBRE</label>\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">APELLIDO</label>\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\n placeholder=\"Correo electr\u00F3nico\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Contrase\u00F1a\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Repetir contrase\u00F1a\">\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\n id=\"Color2\">\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\n condiciones</label>\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\n Suscripci\u00F3n al Newsletter</label>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button [disabled]=\"form.invalid\" type=\"submit\"\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\n </div>\n </div>\n </form>\n @if(loading){\n <app-loading-section-ec />\n }\n \n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }] });
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RegisterFormEcComponent, decorators: [{
98
+ type: Component,
99
+ args: [{ selector: 'app-register-form-ec', standalone: true, imports: [ReactiveFormsModule, LoadingSectionEcComponent], template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\n <div class=\"py-2\">\n <h5>CREAR CUENTA</h5>\n </div>\n <form id=\"registro\" [formGroup]=\"form\" (submit)=\"register($event)\">\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">NOMBRE</label>\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">APELLIDO</label>\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\n placeholder=\"Correo electr\u00F3nico\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Contrase\u00F1a\">\n </div>\n <div class=\"form-group\">\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\n placeholder=\"Repetir contrase\u00F1a\">\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\n id=\"Color2\">\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\n condiciones</label>\n </div>\n\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\n Suscripci\u00F3n al Newsletter</label>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button [disabled]=\"form.invalid\" type=\"submit\"\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\n </div>\n </div>\n </form>\n @if(loading){\n <app-loading-section-ec />\n }\n \n</div>\n" }]
100
+ }], ctorParameters: () => [], propDecorators: { redirect: [{
101
+ type: Input
102
+ }], ready: [{
103
+ type: Output
104
+ }] } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVN0QyxNQUFNLE9BQU8sdUJBQXVCO0lBQzNCLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELGFBQWEsR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25ELE9BQU8sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsaUJBQWlCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZEOztNQUVLO0lBQ0csUUFBUSxHQUFXLElBQUksQ0FBQztJQUNqQzs7T0FFTTtJQUNJLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3JDOztPQUVHO0lBQ0ksSUFBSSxDQUFZO0lBQ3ZCOztPQUVHO0lBQ0ksT0FBTyxHQUFZLEtBQUssQ0FBQztJQUNoQzs7T0FFRztJQUNJLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFFaEM7UUFDQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25DLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BELGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3pDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNoQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxLQUFZO1FBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7WUFDcEIsT0FBTztRQUNYLENBQUM7UUFBQSxDQUFDO1FBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtZQUNwQixPQUFPO1FBQ1gsQ0FBQztRQUNQLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQztZQUNuQixjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO2dCQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtvQkFDM0MsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7b0JBQ3BDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO29CQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztpQkFDNUIsQ0FBQyxDQUFBO2dCQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO2dCQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDckIsSUFBRyxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNuQyxDQUFDO1lBQ0YsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO2dCQUNwQixJQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFDLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUE7Z0JBQ3BELENBQUM7cUJBQU0sQ0FBQztvQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO2dCQUNqRCxDQUFDO1lBQ0YsQ0FBQyxDQUNELENBQUE7UUFDRixDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLENBQUM7SUFDRixDQUFDO3VHQXJGVyx1QkFBdUI7MkZBQXZCLHVCQUF1QiwrSUNkcEMsZ3RGQXVEQSx5REQ3Q1csbUJBQW1CLHNyREFBRSx5QkFBeUI7OzJGQUk1Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Msc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixDQUFDO3dEQWFoRCxRQUFRO3NCQUFoQixLQUFLO2dCQUlJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSwgQXV0aFNlcnZpY2UsIFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTG9hZGluZ1NlY3Rpb25FY0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi93aWRnZXRzLWVjL2xvYWRpbmdcIjtcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1yZWdpc3Rlci1mb3JtLWVjJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIExvYWRpbmdTZWN0aW9uRWNDb21wb25lbnRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCB7XG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cdHByaXZhdGUgX3JvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cdHByaXZhdGUgX2FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XG5cdHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XG5cdCAvKipcbiAgICAgKiBJbmRpY2Egc2kgZGViZSByZWRpcmVjY2lvbmFyIG8gc2UgcXVlZGEgZW4gbGEgbWlzbWEgcGFudGFsbGFcbiAgICAgKi9cblx0QElucHV0KCkgcmVkaXJlY3Q6Ym9vbGVhbiA9IHRydWU7XG5cdC8qKlxuICAgICAqIFBhcmEgcXVlIHNlIHB1ZWRlIGNhcHR1cmFyIGVsIGVzdGFkbyBkZSBsYSBwZXRpY2nDs24gZGUgcmVnaXN0cm8uXG4gICAgICovXG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblx0LyoqXG5cdCAqIENvbnRpZW5lIGVsIGZvcm11bGFyaW8gZGUgcmVnaXN0cm8uXG5cdCAqL1xuXHRwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuXHQvKipcblx0ICogUGFyYSBpbmRpY2FyIHF1ZSBzZSBlc3RhIHByb2Nlc2FuZG8gbGEgc29saWNpdHVkIGRlIHJlZ2lzdHJvLlxuXHQgKi9cblx0cHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFBhcmEgaW5kaWNhciBlbCBleGl0byBkZSBsYSBzb2xpY2l0dWQgZGUgcmVnaXN0cm8uXG5cdCAqL1xuXHRwdWJsaWMgc3VjY2VzczogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuZm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcblx0XHRcdGZpcnN0TmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcblx0XHRcdGxhc3ROYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuXHRcdFx0ZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcblx0XHRcdHBsYWluUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG5cdFx0XHRwbGFpblBhc3N3b3JkMjogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcblx0XHRcdG5ld3NsZXR0ZXI6IFtmYWxzZV0sXG5cdFx0XHR0ZXJtczogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcblx0XHR9KTtcblx0fVxuXHQvKipcblx0ICogUmVnaXN0cmEgdW4gdXN1YXJpby5cblx0ICogQHBhcmFtIGV2ZW50IFxuXHQgKiBAcmV0dXJucyBcblx0ICovXG5cdHJlZ2lzdGVyKGV2ZW50OiBFdmVudCl7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHRcdGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnZmllbGRzLWluY29tcGxldGUnKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH07XG5cdFx0aWYgKHRoaXMuZm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkICE9IHRoaXMuZm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkMikge1xuICAgICAgICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ21pc21hdGNoZWQtcGFzc3dvcmQnKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblx0XHRpZih0aGlzLmZvcm0udmFsaWQpe1xuXHRcdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fYXV0aFNlcnZpY2Uuc2luZ1VwKHRoaXMuZm9ybS52YWx1ZSkpLnRoZW4oXG5cdFx0XHRcdHJlcyA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc3VjY2VzcygncmVnaXN0ZXItb2snKVxuXHRcdFx0XHRcdHRoaXMuX2FuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdzaWduX3VwJywge1xuXHRcdFx0XHRcdFx0Zmlyc3ROYW1lOiB0aGlzLmZvcm0udmFsdWUuZmlyc3ROYW1lLFxuXHRcdFx0XHRcdFx0bGFzdE5hbWU6IHRoaXMuZm9ybS52YWx1ZS5sYXN0TmFtZSxcblx0XHRcdFx0XHRcdGVtYWlsOiB0aGlzLmZvcm0udmFsdWUuZW1haWxcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHRoaXMuc3VjY2VzcyA9IHRydWVcblx0XHRcdFx0XHR0aGlzLnJlYWR5LmVtaXQodHJ1ZSlcblx0XHRcdFx0XHRpZih0aGlzLnJlZGlyZWN0KXtcblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdob21lJylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGVyciA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHRpZihlcnIuc3RhdHVzID09IDQwMCl7XG5cdFx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnZW1haWwtYWxyZWFkeS1yZWdpc3RlcmVkJylcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLmVycm9yKCdlbWFpbC1yZWdpc3Rlci1lcnJvcicpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHQpXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdpbnZhbGlkLWZvcm0nKVxuXHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHR9XG5cdH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInctMTAwIHBsLW1kLTUgcG9zaXRpb24tcmVsYXRpdmVcIiBpZD1cInJlZ2lzdGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJweS0yXCI+XG4gICAgICA8aDU+Q1JFQVIgQ1VFTlRBPC9oNT5cbiAgPC9kaXY+XG4gIDxmb3JtIGlkPVwicmVnaXN0cm9cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAoc3VibWl0KT1cInJlZ2lzdGVyKCRldmVudClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPk5PTUJSRTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImZpcnN0TmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJOb21icmVcIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QVBFTExJRE88L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJBcGVsbGlkb1wiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cIlwiPkNPUlJFTyBFTEVDVFJPTklDTzwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgZW1haWwgcmVxdWlyZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcm91bmRlZC0wXCIgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb3JyZW8gZWxlY3Ryw7NuaWNvXCI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNPTlRSQVNFw5FBPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGxhaW5QYXNzd29yZFwiIHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udHJhc2XDsWFcIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UkVQRVRJUiBDT05UUkFTRcORQTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInBsYWluUGFzc3dvcmQyXCIgcmVxdWlyZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcm91bmRlZC0wXCIgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJSZXBldGlyIGNvbnRyYXNlw7FhXCI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1jb250cm9sIGQtZmxleCBmbGV4LXJvdyBmb3JtLWNoZWNrIGN1c3RvbS1jaGVja2JveCBtci1zbS0yIG10LTQgbWItMlwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXJtc1wiIHJlcXVpcmVkIGNsYXNzPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXQgZm9ybS1jaGVjay1pbnB1dFwiIG5hbWU9XCJDb2xvcjJcIlxuICAgICAgICAgICAgICBpZD1cIkNvbG9yMlwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1jb250cm9sLWxhYmVsIGZmLXVidW50dS1saWdodCBmb250LXNtIGZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJDb2xvcjJcIj4gSGVcbiAgICAgICAgICAgICAgbGXDrWRvIHkgYWNlcHRvIGxhcyBwb2zDrXRpY2FzIGRlIHByaXZhY2lkYWQgeSBsb3MgdMOpcm1pbm9zIHlcbiAgICAgICAgICAgICAgY29uZGljaW9uZXM8L2xhYmVsPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tY29udHJvbCBkLWZsZXggZmxleC1yb3cgZm9ybS1jaGVjayBjdXN0b20tY2hlY2tib3ggbXItc20tMiBtYi00XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cIm5ld3NsZXR0ZXJcIiBjbGFzcz1cImN1c3RvbS1jb250cm9sLWlucHV0IGZvcm0tY2hlY2staW5wdXRcIiBuYW1lPVwiQ29sb3IzXCIgaWQ9XCJDb2xvcjNcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjdXN0b20tY29udHJvbC1sYWJlbCBmb3JtLWNoZWNrLWxhYmVsIGZmLXVidW50dS1saWdodCBmb250LXNtXCIgZm9yPVwiQ29sb3IzXCI+XG4gICAgICAgICAgICAgIFN1c2NyaXBjacOzbiBhbCBOZXdzbGV0dGVyPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTUgcHktMiBoLWZpdFwiPkNSRUFSPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICBAaWYobG9hZGluZyl7XG4gICAgPGFwcC1sb2FkaW5nLXNlY3Rpb24tZWMgLz5cbiAgfVxuICBcbjwvZGl2PlxuIl19