ng-easycommerce-v18 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/.editorconfig +16 -0
  2. package/README.md +27 -0
  3. package/angular.json +48 -0
  4. package/package.json +58 -0
  5. package/projects/ng-easycommerce/README.md +24 -0
  6. package/projects/ng-easycommerce/ng-package.json +7 -0
  7. package/projects/ng-easycommerce/package.json +12 -0
  8. package/projects/ng-easycommerce/src/lib/api/connection.service.ts +79 -0
  9. package/projects/ng-easycommerce/src/lib/api/index.ts +1 -0
  10. package/projects/ng-easycommerce/src/lib/assets/ec-i18n/ct.json +274 -0
  11. package/projects/ng-easycommerce/src/lib/assets/ec-i18n/en.json +380 -0
  12. package/projects/ng-easycommerce/src/lib/assets/ec-i18n/es.json +387 -0
  13. package/projects/ng-easycommerce/src/lib/assets/ec-i18n/fr.json +266 -0
  14. package/projects/ng-easycommerce/src/lib/assets/ec-i18n/gl.json +274 -0
  15. package/projects/ng-easycommerce/src/lib/assets/ec-i18n/pr.json +274 -0
  16. package/projects/ng-easycommerce/src/lib/assets/recaptcha/recaptcha-site-keys.json +4 -0
  17. package/projects/ng-easycommerce/src/lib/assets/recaptcha/recaptcha-sites-prod.json +39 -0
  18. package/projects/ng-easycommerce/src/lib/assets/recaptcha/recaptcha-sites.json +53 -0
  19. package/projects/ng-easycommerce/src/lib/classes/checkout/index.ts +1 -0
  20. package/projects/ng-easycommerce/src/lib/classes/checkout/steps.ts +37 -0
  21. package/projects/ng-easycommerce/src/lib/classes/filters/attributes-filter.ts +74 -0
  22. package/projects/ng-easycommerce/src/lib/classes/filters/category-filter.ts +57 -0
  23. package/projects/ng-easycommerce/src/lib/classes/filters/dynamics-filter.ts +57 -0
  24. package/projects/ng-easycommerce/src/lib/classes/filters/filter-factory.ts +23 -0
  25. package/projects/ng-easycommerce/src/lib/classes/filters/filter.ts +89 -0
  26. package/projects/ng-easycommerce/src/lib/classes/filters/index.ts +6 -0
  27. package/projects/ng-easycommerce/src/lib/classes/filters/sort-filter.ts +93 -0
  28. package/projects/ng-easycommerce/src/lib/classes/index.ts +3 -0
  29. package/projects/ng-easycommerce/src/lib/classes/user.ts +68 -0
  30. package/projects/ng-easycommerce/src/lib/constants/api.constants.service.ts +69 -0
  31. package/projects/ng-easycommerce/src/lib/constants/core.constants.service.ts +210 -0
  32. package/projects/ng-easycommerce/src/lib/constants/index.ts +2 -0
  33. package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/block-ec.component.ts +107 -0
  34. package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/index.ts +2 -0
  35. package/projects/ng-easycommerce/src/lib/ec-components/abstractions-components/menu-ec.component.ts +102 -0
  36. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.html +10 -0
  37. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.scss +0 -0
  38. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/auth-ec.component.ts +13 -0
  39. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.html +19 -0
  40. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.scss +0 -0
  41. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.ts +34 -0
  42. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.html +31 -0
  43. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.scss +0 -0
  44. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.ts +55 -0
  45. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/index.ts +6 -0
  46. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.html +30 -0
  47. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.scss +0 -0
  48. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.ts +92 -0
  49. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.html +55 -0
  50. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.scss +0 -0
  51. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.ts +102 -0
  52. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.html +233 -0
  53. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.scss +0 -0
  54. package/projects/ng-easycommerce/src/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.ts +149 -0
  55. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.html +113 -0
  56. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.scss +12 -0
  57. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.ts +100 -0
  58. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.html +111 -0
  59. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.scss +0 -0
  60. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.ts +77 -0
  61. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.html +62 -0
  62. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.scss +0 -0
  63. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.ts +89 -0
  64. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.html +1 -0
  65. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.scss +0 -0
  66. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.ts +33 -0
  67. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.html +1 -0
  68. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.scss +0 -0
  69. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.ts +81 -0
  70. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.html +40 -0
  71. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.scss +0 -0
  72. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.ts +97 -0
  73. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.html +41 -0
  74. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.scss +0 -0
  75. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/blocks-ec.component.ts +86 -0
  76. package/projects/ng-easycommerce/src/lib/ec-components/blocks-ec/index.ts +4 -0
  77. package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.html +20 -0
  78. package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.scss +0 -0
  79. package/projects/ng-easycommerce/src/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.ts +30 -0
  80. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.html +1 -0
  81. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.scss +0 -0
  82. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-ec.component.ts +24 -0
  83. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.html +1 -0
  84. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.scss +0 -0
  85. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.ts +51 -0
  86. package/projects/ng-easycommerce/src/lib/ec-components/cart-ec/index.ts +2 -0
  87. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.html +56 -0
  88. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.scss +38 -0
  89. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/checkout-ec.component.ts +67 -0
  90. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.html +836 -0
  91. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.scss +0 -0
  92. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.ts +302 -0
  93. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.html +32 -0
  94. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.scss +0 -0
  95. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.ts +52 -0
  96. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.html +12 -0
  97. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.scss +0 -0
  98. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.ts +48 -0
  99. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.html +195 -0
  100. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.scss +0 -0
  101. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.ts +103 -0
  102. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.html +28 -0
  103. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.scss +0 -0
  104. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.ts +26 -0
  105. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.ts +3 -0
  106. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.html +33 -0
  107. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.scss +0 -0
  108. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.ts +116 -0
  109. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.html +13 -0
  110. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.scss +0 -0
  111. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.ts +26 -0
  112. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.html +111 -0
  113. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.scss +0 -0
  114. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.ts +111 -0
  115. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.html +33 -0
  116. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.scss +0 -0
  117. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.ts +39 -0
  118. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.html +59 -0
  119. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.scss +0 -0
  120. package/projects/ng-easycommerce/src/lib/ec-components/checkout-ec/success-ec/success-ec.component.ts +65 -0
  121. package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.html +16 -0
  122. package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.scss +0 -0
  123. package/projects/ng-easycommerce/src/lib/ec-components/collection-ec/collection-ec.component.ts +83 -0
  124. package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.html +1 -0
  125. package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.scss +0 -0
  126. package/projects/ng-easycommerce/src/lib/ec-components/coupon-ec/coupon-ec.component.ts +32 -0
  127. package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.html +1 -0
  128. package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.scss +0 -0
  129. package/projects/ng-easycommerce/src/lib/ec-components/filters-ec/filters-ec.component.ts +45 -0
  130. package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.html +1 -0
  131. package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.scss +0 -0
  132. package/projects/ng-easycommerce/src/lib/ec-components/filters-sort-ec/filters-sort-ec.component.ts +49 -0
  133. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.html +1 -0
  134. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.scss +0 -0
  135. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.spec.ts +23 -0
  136. package/projects/ng-easycommerce/src/lib/ec-components/footer-ec/footer-ec.component.ts +18 -0
  137. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.html +1 -0
  138. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.scss +0 -0
  139. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.spec.ts +23 -0
  140. package/projects/ng-easycommerce/src/lib/ec-components/header-ec/header-ec.component.ts +22 -0
  141. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.html +1 -0
  142. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.scss +0 -0
  143. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.spec.ts +23 -0
  144. package/projects/ng-easycommerce/src/lib/ec-components/home-ec/home-ec.component.ts +16 -0
  145. package/projects/ng-easycommerce/src/lib/ec-components/index.ts +17 -0
  146. package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.html +0 -0
  147. package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.scss +0 -0
  148. package/projects/ng-easycommerce/src/lib/ec-components/product-detail-ec/product-detail-ec.component.ts +82 -0
  149. package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.html +31 -0
  150. package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.scss +0 -0
  151. package/projects/ng-easycommerce/src/lib/ec-components/product-ec/product-ec.component.ts +46 -0
  152. package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.html +65 -0
  153. package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.scss +8 -0
  154. package/projects/ng-easycommerce/src/lib/ec-components/variants-ec/variants-ec.component.ts +20 -0
  155. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/index.ts +4 -0
  156. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/index.ts +3 -0
  157. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.html +7 -0
  158. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.scss +0 -0
  159. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.ts +13 -0
  160. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.html +5 -0
  161. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.scss +0 -0
  162. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.ts +13 -0
  163. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.html +3 -0
  164. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.scss +0 -0
  165. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.ts +13 -0
  166. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.html +11 -0
  167. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.scss +0 -0
  168. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.ts +177 -0
  169. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.html +47 -0
  170. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.scss +0 -0
  171. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/price-ec/price-ec.component.ts +22 -0
  172. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.html +6 -0
  173. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.scss +0 -0
  174. package/projects/ng-easycommerce/src/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.ts +70 -0
  175. package/projects/ng-easycommerce/src/lib/ec-guards/auth.guard.ts +19 -0
  176. package/projects/ng-easycommerce/src/lib/ec-guards/index.ts +1 -0
  177. package/projects/ng-easycommerce/src/lib/ec-pipe/ec-currency-symbol.pipe.ts +99 -0
  178. package/projects/ng-easycommerce/src/lib/ec-pipe/index.ts +1 -0
  179. package/projects/ng-easycommerce/src/lib/ec-services/addressing.service.ts +199 -0
  180. package/projects/ng-easycommerce/src/lib/ec-services/analytics/analytics.service.ts +76 -0
  181. package/projects/ng-easycommerce/src/lib/ec-services/analytics/doppler.service.ts +38 -0
  182. package/projects/ng-easycommerce/src/lib/ec-services/analytics/facebook-pixel.service.ts +214 -0
  183. package/projects/ng-easycommerce/src/lib/ec-services/analytics/google-analytics.service.ts +284 -0
  184. package/projects/ng-easycommerce/src/lib/ec-services/analytics/gtm.service.ts +413 -0
  185. package/projects/ng-easycommerce/src/lib/ec-services/analytics/index.ts +6 -0
  186. package/projects/ng-easycommerce/src/lib/ec-services/analytics/metricool-pixel.service.ts +46 -0
  187. package/projects/ng-easycommerce/src/lib/ec-services/auth.service.ts +438 -0
  188. package/projects/ng-easycommerce/src/lib/ec-services/auth.storage.service.ts +54 -0
  189. package/projects/ng-easycommerce/src/lib/ec-services/blocks-repository.service.ts +67 -0
  190. package/projects/ng-easycommerce/src/lib/ec-services/blocks.service.ts +48 -0
  191. package/projects/ng-easycommerce/src/lib/ec-services/cart.service.ts +492 -0
  192. package/projects/ng-easycommerce/src/lib/ec-services/channel.service.ts +81 -0
  193. package/projects/ng-easycommerce/src/lib/ec-services/checkout.service.ts +196 -0
  194. package/projects/ng-easycommerce/src/lib/ec-services/currency.service.ts +179 -0
  195. package/projects/ng-easycommerce/src/lib/ec-services/filters.service.ts +133 -0
  196. package/projects/ng-easycommerce/src/lib/ec-services/form.service.ts +82 -0
  197. package/projects/ng-easycommerce/src/lib/ec-services/index.ts +24 -0
  198. package/projects/ng-easycommerce/src/lib/ec-services/local-storage.service.ts +54 -0
  199. package/projects/ng-easycommerce/src/lib/ec-services/ngx-local-storage.service.ts +66 -0
  200. package/projects/ng-easycommerce/src/lib/ec-services/options.service.ts +274 -0
  201. package/projects/ng-easycommerce/src/lib/ec-services/order-utility.service.ts +52 -0
  202. package/projects/ng-easycommerce/src/lib/ec-services/pagination.service.ts +172 -0
  203. package/projects/ng-easycommerce/src/lib/ec-services/parameters.service.ts +67 -0
  204. package/projects/ng-easycommerce/src/lib/ec-services/payment.service.ts +63 -0
  205. package/projects/ng-easycommerce/src/lib/ec-services/product-detail.service.ts +288 -0
  206. package/projects/ng-easycommerce/src/lib/ec-services/products.service.ts +162 -0
  207. package/projects/ng-easycommerce/src/lib/ec-services/re-captcha.service.ts +126 -0
  208. package/projects/ng-easycommerce/src/lib/ec-services/shipment.service.ts +174 -0
  209. package/projects/ng-easycommerce/src/lib/ec-services/stores.service.ts +27 -0
  210. package/projects/ng-easycommerce/src/lib/ec-services/toast.service.ts +84 -0
  211. package/projects/ng-easycommerce/src/lib/interceptors/auth.interceptor.ts +43 -0
  212. package/projects/ng-easycommerce/src/lib/interceptors/index.ts +1 -0
  213. package/projects/ng-easycommerce/src/lib/interfaces/analytics/event-key.ts +14 -0
  214. package/projects/ng-easycommerce/src/lib/interfaces/analytics/facebook-pixel-data.ts +5 -0
  215. package/projects/ng-easycommerce/src/lib/interfaces/analytics/gtm-config.ts +6 -0
  216. package/projects/ng-easycommerce/src/lib/interfaces/analytics/index.ts +3 -0
  217. package/projects/ng-easycommerce/src/lib/interfaces/blocks.ts +56 -0
  218. package/projects/ng-easycommerce/src/lib/interfaces/checkout.ts +14 -0
  219. package/projects/ng-easycommerce/src/lib/interfaces/connection.ts +8 -0
  220. package/projects/ng-easycommerce/src/lib/interfaces/coupon.ts +5 -0
  221. package/projects/ng-easycommerce/src/lib/interfaces/currency.ts +10 -0
  222. package/projects/ng-easycommerce/src/lib/interfaces/deserializable.ts +3 -0
  223. package/projects/ng-easycommerce/src/lib/interfaces/environment.ts +6 -0
  224. package/projects/ng-easycommerce/src/lib/interfaces/filter.ts +59 -0
  225. package/projects/ng-easycommerce/src/lib/interfaces/index.ts +18 -0
  226. package/projects/ng-easycommerce/src/lib/interfaces/options.ts +28 -0
  227. package/projects/ng-easycommerce/src/lib/interfaces/pagination.ts +27 -0
  228. package/projects/ng-easycommerce/src/lib/interfaces/parameter.ts +15 -0
  229. package/projects/ng-easycommerce/src/lib/interfaces/product.ts +81 -0
  230. package/projects/ng-easycommerce/src/lib/interfaces/step.ts +19 -0
  231. package/projects/ng-easycommerce/src/lib/interfaces/storage.ts +7 -0
  232. package/projects/ng-easycommerce/src/lib/interfaces/store.ts +17 -0
  233. package/projects/ng-easycommerce/src/lib/interfaces/types/index.ts +1 -0
  234. package/projects/ng-easycommerce/src/lib/interfaces/types/user.type.ts +5 -0
  235. package/projects/ng-easycommerce/src/lib/providers/index.ts +1 -0
  236. package/projects/ng-easycommerce/src/lib/providers/provideEnvironment.ts +24 -0
  237. package/projects/ng-easycommerce/src/lib/stores/currency.store.ts +20 -0
  238. package/projects/ng-easycommerce/src/lib/stores/index.ts +1 -0
  239. package/projects/ng-easycommerce/src/public-api.ts +24 -0
  240. package/projects/ng-easycommerce/tsconfig.lib.json +15 -0
  241. package/projects/ng-easycommerce/tsconfig.lib.prod.json +11 -0
  242. package/projects/ng-easycommerce/tsconfig.spec.json +15 -0
  243. package/tsconfig.doc.json +4 -0
  244. package/tsconfig.json +37 -0
@@ -0,0 +1,174 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { BehaviorSubject, firstValueFrom, Observable, Subscription } from 'rxjs';
3
+ import { CheckoutService } from './checkout.service';
4
+ import { CheckoutProcessState } from '../interfaces';
5
+ import { ConnectionService } from '../api';
6
+ import { ApiConstantsService } from '../constants';
7
+ import { CartService } from './cart.service';
8
+ import { StoresService } from './stores.service';
9
+ import { AnalyticsService } from './analytics';
10
+
11
+ @Injectable({
12
+ providedIn: 'root'
13
+ })
14
+ export class ShipmentService {
15
+ private _checkoutService: CheckoutService = inject(CheckoutService);
16
+ private _connection: ConnectionService = inject(ConnectionService);
17
+ private _apiConsts: ApiConstantsService = inject(ApiConstantsService);
18
+ private _cartService: CartService = inject(CartService);
19
+ private _storesService: StoresService = inject(StoresService);
20
+ private _analyticsService: AnalyticsService = inject(AnalyticsService);
21
+
22
+ private _methodsSubject = new BehaviorSubject<any>([]);
23
+ private _costsSubject = new BehaviorSubject<any>([]);
24
+ private _stateSubject = new BehaviorSubject<CheckoutProcessState>({ doing: false, ok: false, data: null });
25
+
26
+ public methods$: Observable<any> = this._methodsSubject.asObservable();
27
+ public costs$: Observable<any[]> = this._costsSubject.asObservable();
28
+ public buttonsDisabled: boolean = false;
29
+ public order: any;
30
+ private _subscription: Subscription | null = null;
31
+
32
+ //API URL
33
+ private baseApi() { return 'shop-api/' + this._apiConsts.CHANNEL + '/' + 'checkout/' + this._cartService.getCartToken(); }
34
+
35
+ public shipmentMethodsApi() { return this.baseApi() + '/shipping' };
36
+ public putShipmentApi() { return this.baseApi() + '/shipping/' + this._stateSubject.getValue().data.method };
37
+ public putContractApi = () => 'shop-api/' + this._apiConsts.CHANNEL + '/checkout/' + this._cartService.getCartToken() + '/shipping-contract';
38
+ public calculatedCostsApi = () => 'shop-api/' + this._apiConsts.CHANNEL + '/carts/' + this._cartService.getCartToken() + '/multiple-estimated-shipping-cost';
39
+
40
+
41
+ constructor() { }
42
+
43
+ setMethod(method: any): Promise<any> {
44
+ // Deshabilitar todos los botones
45
+ //this.buttonsDisabled = true;
46
+
47
+ this._costsSubject.next([]);
48
+ this._stateSubject.next({ doing: true, ok: false, data: { method } });
49
+
50
+ return this.putShipment().then(
51
+ (res: any) => {
52
+ this._checkoutService.updateAsociatedData(res);
53
+ this.order = res;
54
+ return this.getCalculatedCosts()
55
+ }).then(
56
+ (res: any) => {
57
+ this.modifyCostsResponse(res, this.getUserData().shippingAddress.postcode, method)
58
+ return { success: true, order: this.order };
59
+ }).then(
60
+ (res:any) => {
61
+ const firstContract = this._costsSubject.getValue();
62
+ this.setContract(firstContract);
63
+ return { success: true, order: this.order };
64
+ }
65
+ ).catch((error) => {
66
+ console.log(error)
67
+ return { success: false, error: error };
68
+ })
69
+ }
70
+
71
+ private putShipment() {
72
+ return firstValueFrom(this._connection.put(this.putShipmentApi(), { method: this._stateSubject.getValue().data.method }));
73
+ }
74
+
75
+ getCalculatedCosts() { return firstValueFrom(this._connection.get(this.calculatedCostsApi())) };
76
+
77
+ getShipmentMethods = () => {
78
+ firstValueFrom(this._connection.getErrorNotHandler(this.shipmentMethodsApi())).then(
79
+ res => {
80
+ this._methodsSubject.next(this.responseToList(res))
81
+ },
82
+ err => {
83
+ this._methodsSubject.next([])
84
+ }
85
+ ).catch(err => {
86
+ this._methodsSubject.next([])
87
+ })
88
+ }
89
+ responseToList(response: any) {
90
+ return (response.shipments && response.shipments.length > 0) && Object.keys(response.shipments[0].methods).map(key => response.shipments[0].methods[key]);
91
+ }
92
+
93
+ restartStep() {
94
+ throw new Error('Method not implemented.');
95
+ }
96
+ /**
97
+ * Obtener información obtenida en el paso de datos asociados al usuario y a la facturación
98
+ */
99
+ getUserData = () => this._checkoutService.getStepData('address');
100
+ // UTILS
101
+
102
+ /**
103
+ * @param response De api de solicitud de costos por metodo de envío seleccionado
104
+ * @param post_code Indicado en el paso de Addressing (datos personales y de facturación)
105
+ * @param method Metodo de envío seleccionado
106
+ */
107
+ modifyCostsResponse(response: any, post_code: any, method: any) {
108
+ response = response.multiplePrices;
109
+ let branch_delivery = response.findIndex((submethod: any) => submethod.name == 'branch_delivery');
110
+ if (branch_delivery != -1) {
111
+ response[branch_delivery].contracts = response[branch_delivery].contracts.map(
112
+ (contract: any) => {
113
+ let branch_property = contract.branch_property || {};
114
+ let address_data = branch_property.address || {};
115
+ return {
116
+ contract: 'branch_delivery',
117
+ name: contract.name,
118
+ price: contract.price,
119
+ ...address_data,
120
+ ...branch_property,
121
+ computed: (address_data.street || '') + ' N° ' + (address_data.number || '')
122
+ };
123
+ });
124
+ this._costsSubject.next(response);
125
+ }
126
+ if (method.includes('pickup_store')) {
127
+ let final_method_data = response;
128
+ this._subscription = this._storesService.stores.subscribe((stores: any) => {
129
+ if (stores.length) {
130
+ final_method_data.forEach((pickup_store: any) => {
131
+ pickup_store.contracts.forEach((contract: any) => {
132
+ const current_store = stores.find((store: any) => store.code == contract.name);
133
+ if (!current_store) contract.detail = 'Sin información';
134
+ else contract.detail = current_store.name + ' - ' + current_store.address;
135
+ return contract;
136
+ })
137
+ })
138
+ this._costsSubject.next(final_method_data);
139
+ }
140
+ })
141
+ } else {
142
+ this._costsSubject.next(response);
143
+ }
144
+ }
145
+
146
+ ngOnDestroy() {
147
+ this._subscription && this._subscription.unsubscribe();
148
+ }
149
+
150
+ setContract(contract: any){
151
+ const data = { ...contract, ...this.additionalParamsForContract(contract) };
152
+ return firstValueFrom(this._connection.put(this.putContractApi(), data)).then(
153
+ order => {
154
+ this._analyticsService.callEvent('shipping_info', order);
155
+ this._checkoutService.updateAsociatedData(order);
156
+ return this._checkoutService.setStepData('shipment',order);},
157
+ err => {
158
+ return new Promise((resolve, reject) => reject(new Error(err.error)))
159
+ }
160
+ ).catch(err => console.error(err))
161
+ }
162
+ additionalParamsForContract(contract:any){
163
+ return {
164
+ shipping_method_contract:
165
+ contract.shipping_method_contract
166
+ ? contract.shipping_method_contract
167
+ : contract.contract + '_' + contract.name,
168
+ shipping_method_branch_code:
169
+ contract.shipping_method_branch_code
170
+ ? contract.shipping_method_branch_code
171
+ : (contract.contract && contract.contract == "branch_delivery") ? contract.number : contract.name
172
+ }
173
+ }
174
+ }
@@ -0,0 +1,27 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { BehaviorSubject, firstValueFrom } from 'rxjs';
3
+ import { ApiConstantsService } from '../constants';
4
+ import { ConnectionService } from '../api';
5
+ import { Store } from '../interfaces/store';
6
+
7
+ @Injectable({
8
+ providedIn: 'root'
9
+ })
10
+ export class StoresService {
11
+ private _apiConsts: ApiConstantsService = inject(ApiConstantsService);
12
+ private _connection: ConnectionService = inject(ConnectionService);
13
+
14
+ private _storesSubject = new BehaviorSubject<Store[] | null>([]);
15
+ public stores = this._storesSubject.asObservable();
16
+
17
+ getAllStoresApi = () => 'shop-api/' + this._apiConsts.CHANNEL + '/stores';
18
+
19
+ constructor() {
20
+ firstValueFrom(this._connection.get(this.getAllStoresApi())).then(
21
+ res => {
22
+ res.length && this._storesSubject.next(res);
23
+ !res.length && this._storesSubject.next(null);
24
+ }
25
+ )
26
+ }
27
+ }
@@ -0,0 +1,84 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { IndividualConfig, ToastrService } from 'ngx-toastr';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { take } from 'rxjs';
5
+ /**
6
+ * Servicio que se encarga de manejar mensajes en formato de toast.
7
+ */
8
+ @Injectable({
9
+ providedIn: 'root'
10
+ })
11
+ export class ToastService {
12
+ /**
13
+ * Servicio para lanzar los toast.
14
+ */
15
+ private toastrService:ToastrService = inject(ToastrService);
16
+ /**
17
+ * Serivicio de Traducciones.
18
+ */
19
+ private trasnlationService:TranslateService = inject(TranslateService);
20
+ /**
21
+ * Configuraciones para el Toast
22
+ */
23
+ private configToast:Partial<IndividualConfig> = {};
24
+
25
+ constructor() { }
26
+
27
+ /**
28
+ * Cambia el tiempo que se muestra el mensaje.
29
+ * @param time
30
+ */
31
+ setTimeMessage(time:number){
32
+ this.configToast = {
33
+ timeOut: time,
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Cambia las configuraciones del toast
39
+ * @param configToast
40
+ */
41
+ setConfigToast(configToast:Partial<IndividualConfig>){
42
+ this.configToast = configToast
43
+ }
44
+ /**
45
+ * Muestra el mensaje en el toast. Utiliza el servicio de translate para traducir aquellos mensajes
46
+ * que entran como clave y estas estan en un archivo .json con las traducciones correspondientes asociadas.
47
+ * @param message Texto a mostrar o puede ser una clave del archivo .json de traducciones.
48
+ * @param interpolateParams
49
+ * @param title Titulo para el Toast
50
+ * @param configToast Configuraciones del toast.
51
+ */
52
+ show(message:string, interpolateParams:any = {}, title='', configToast:Partial<IndividualConfig>=this.configToast){
53
+ this.trasnlationService.get(message,interpolateParams).pipe(take(1)).subscribe(
54
+ (response:any) => this.toastrService.show((response ? response : message), title, configToast)
55
+ )
56
+ }
57
+ /**
58
+ * Muestra un mensaje de **ERROR** en el toast. Utiliza el servicio de translate para traducir aquellos mensajes
59
+ * que entran como clave y estas estan en un archivo .json con las traducciones correspondientes asociadas.
60
+ * @param message Texto a mostrar o puede ser una clave del archivo .json de traducciones.
61
+ * @param interpolateParams
62
+ * @param title Titulo para el Toast
63
+ * @param configToast Configuraciones del toast.
64
+ */
65
+ error(message:string, interpolateParams:any = {}, title='', configToast:Partial<IndividualConfig>=this.configToast){
66
+ this.trasnlationService.get(message,interpolateParams).pipe(take(1)).subscribe(
67
+ (response:any) => this.toastrService.error((response ? response : message), title, configToast)
68
+ )
69
+ }
70
+ /**
71
+ * Muestra un mensaje de **EXITO** en el toast. Utiliza el servicio de translate para traducir aquellos mensajes
72
+ * que entran como clave y estas estan en un archivo .json con las traducciones correspondientes asociadas.
73
+ * @param message Texto a mostrar o puede ser una clave del archivo .json de traducciones.
74
+ * @param interpolateParams
75
+ * @param title Titulo para el Toast
76
+ * @param configToast Configuraciones del toast.
77
+ */
78
+ success(message:string, interpolateParams:any = {}, title='', configToast:Partial<IndividualConfig>=this.configToast){
79
+ this.trasnlationService.get(message,interpolateParams).pipe(take(1)).subscribe(
80
+ (response:any) => this.toastrService.success((response ? response : message), title, configToast)
81
+ )
82
+ }
83
+
84
+ }
@@ -0,0 +1,43 @@
1
+ import { HttpErrorResponse, HttpEvent, HttpHandler, HttpHandlerFn, HttpInterceptor, HttpInterceptorFn, HttpRequest } from '@angular/common/http';
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
+ import { AuthService, AuthStorageService } from '../ec-services';
4
+ import { ApiConstantsService } from '../constants';
5
+ import { catchError, Observable, of, throwError } from 'rxjs';
6
+
7
+ const handleErrors: any = (err: HttpErrorResponse): Observable<HttpEvent<unknown>> => {
8
+
9
+ if (err.status === 403) {
10
+ inject(AuthService).doLogoutUser()
11
+ return throwError(() => err)
12
+ }
13
+ if (err.status === 450 || err.status === 401) {
14
+ //this.injector.get(ErrorHandlerService).handlerErrorResponse(err.error)
15
+ return throwError(() => err)
16
+ }
17
+ return throwError(() => err)
18
+ }
19
+
20
+
21
+ export const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {
22
+ const constants = inject(ApiConstantsService);
23
+ const authTokenService = inject(AuthStorageService); // Servicio más sencillo para obtener el token.
24
+ const authToken = authTokenService.getAuthToken();
25
+
26
+ if(authToken && req.url.includes(constants.getUrlBase()) && !req.url.includes('shop-api/login-check')){
27
+ let headers = {
28
+ setHeaders: {
29
+ 'Content-Type': 'application/json',
30
+ Authorization: `Bearer ${authToken}`
31
+ }
32
+ }
33
+
34
+ if(req.url.includes('contact-form/response')){
35
+ delete (headers as any).setHeaders['Content-Type']
36
+ }
37
+ let authReq:HttpRequest<any> = req.clone(headers)
38
+
39
+ return next(authReq)
40
+ }
41
+
42
+ return next(req)
43
+ };
@@ -0,0 +1 @@
1
+ export * from './auth.interceptor';
@@ -0,0 +1,14 @@
1
+ export type AnalyticEventKey =
2
+ "initialize" |
3
+ "view_item" |
4
+ "purchase" |
5
+ "checkout_init" |
6
+ "shipping_info" |
7
+ "payment_info" |
8
+ "add_payment_info" |
9
+ "remove_from_cart" |
10
+ "view_item_list" |
11
+ "sign_up" |
12
+ "add_to_cart" |
13
+ "select_promotion" |
14
+ "select_item";
@@ -0,0 +1,5 @@
1
+ export interface FacebookPixelData {
2
+ currency?: string,
3
+ value?: number,
4
+ promotion?: string,
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface GoogleTagManagerConfig {
2
+ id: string | null;
3
+ gtm_auth?: string;
4
+ gtm_preview?: string;
5
+ [key : string]: string | null | undefined;
6
+ }
@@ -0,0 +1,3 @@
1
+ export * from './event-key';
2
+ export * from './facebook-pixel-data';
3
+ export * from './gtm-config';
@@ -0,0 +1,56 @@
1
+ import { Product } from "./product";
2
+
3
+ export type BlockType = 'banner' | 'html' | 'products' | 'contact_form';
4
+ export type Design = 'full' | 'boxes';
5
+ export type Redirection = 'url' | 'attribute' | 'category';
6
+
7
+ export interface BannerContent {
8
+ locale?: string,
9
+ imageName: string,
10
+ mobileImageName: string,
11
+ title?: string,
12
+ subtitle?: string,
13
+ url?: string,
14
+ type_code: string,
15
+ }
16
+
17
+ export interface Banner {
18
+ code: string,
19
+ id: number,
20
+ redirectionType: Redirection,
21
+ translations: any;
22
+ url?: string;
23
+ route?: string;
24
+ }
25
+
26
+ export interface Products{
27
+ items: Product[]
28
+ }
29
+
30
+ export interface IBlock {
31
+
32
+ // Mandatory
33
+ id: number,
34
+ code: string,
35
+ priority: number,
36
+
37
+ // Banner
38
+ banners?: Banner[],
39
+ design?: Design;
40
+
41
+ // Products
42
+ products?: Products,
43
+
44
+ // HTML
45
+ translations?: any,
46
+
47
+ contentType?: BlockType,
48
+ sections?: any,
49
+ currentLocale?: string,
50
+ contactForm?: any,
51
+ }
52
+
53
+ export interface IBlockInfo {
54
+ section: string,
55
+ blocks: IBlock[]
56
+ }
@@ -0,0 +1,14 @@
1
+ export interface CheckoutProcessState {
2
+ doing: boolean;
3
+ ok: boolean;
4
+ data: any;
5
+ extra?: any;
6
+ }
7
+
8
+ export type CheckoutDataType = 'total' | 'subtotal' | 'shipment' | 'coupon' | 'discount' | 'taxes';
9
+
10
+ export interface CheckoutData {
11
+ type: CheckoutDataType,
12
+ amount: number,
13
+ name: string
14
+ }
@@ -0,0 +1,8 @@
1
+ import { Observable } from "rxjs";
2
+
3
+ export interface Connection {
4
+ get(apiurl: string, data?: any): Observable<any>;
5
+ post(apiurl: string, data?: any): Observable<any>;
6
+ put(apiurl: string, data?: any): Observable<any>;
7
+ delete(apiurl: string, data?: any): Observable<any>;
8
+ }
@@ -0,0 +1,5 @@
1
+ export interface ICoupon {
2
+ code?: number,
3
+ amount?: number,
4
+ name?: string,
5
+ }
@@ -0,0 +1,10 @@
1
+ export type currencyType = 'EUR' | 'ARG' | 'USD' | 'PYG' | 'PEN' | 'SEK' | 'CUSTOM';
2
+
3
+ export interface CurrencyConfig {
4
+ code?: string,
5
+ name?: string,
6
+ symbol?: string,
7
+ position?: 'Left' | 'Right',
8
+ withoutDecimal?: boolean,
9
+ ratio?:number,
10
+ }
@@ -0,0 +1,3 @@
1
+ export interface Deserializable {
2
+ deserialize(input: any): this;
3
+ }
@@ -0,0 +1,6 @@
1
+ export interface Environment {
2
+ production: boolean;
3
+ apiUrl: string;
4
+ locale: string;
5
+ channel: string;
6
+ }
@@ -0,0 +1,59 @@
1
+ export type FilterType = 'categories' | 'attributes' | 'sort' | 'dynamics' | 'all';
2
+ export type ElementType = 'sub' | 'child';
3
+ export type FilterShape = 'color' | 'text' | 'size';
4
+ /**
5
+ * @description Interfaz utilizada para aplicar filtros por defecto.
6
+ */
7
+ export type DefaultFilter = {
8
+ // [key in FilterType] : string[]
9
+ /**
10
+ * @descrition Tipo de filtro que se aplicara.
11
+ * Ejemplo: 'sort' | 'category' | 'attributes' | 'dynamics' ...
12
+ */
13
+ filter_type: FilterType,
14
+ /**
15
+ * @description Contiene los codigos de los filtros que se desean aplicar.
16
+ * Ejemplo: si el filtro es 'sort' el arreglo podria contener 'price chip' | 'price expensive' | 'alpha asc' | 'alpha desc' ...
17
+ */
18
+ codes: string[]
19
+ }
20
+
21
+ export interface FilterElement {
22
+
23
+ // BOTH
24
+ title: string;
25
+ type: ElementType;
26
+ code: string;
27
+
28
+ // FATHER
29
+ multi?: boolean;
30
+ children?: FilterElement[];
31
+ shape?: FilterShape;
32
+ noUrl?:boolean; // para indicar si se filtra en la vista o no
33
+
34
+ // CHILD
35
+ value?: string;
36
+ selected?: boolean;
37
+ }
38
+
39
+ /* export interface IFilter {
40
+
41
+ generated_url: string;
42
+ data: any;
43
+ type(): FilterType;
44
+ setContent(options:any): void;
45
+ getContent(): FilterElement[];
46
+ setSelected(element: FilterElement, value: string):void;
47
+ toUrlParams(): string;
48
+ } */
49
+
50
+ export interface IFilter{
51
+ data: FilterElement[];
52
+ multi:boolean;
53
+
54
+ type(): FilterType;
55
+ setContent(options:any): void;
56
+ getContent(): FilterElement[];
57
+ toUrlParams(): string;
58
+ createElement(filter:any,original:any,initialValue?:any):any;
59
+ }
@@ -0,0 +1,18 @@
1
+ //Types
2
+ export * from './types';
3
+ //Interfaces
4
+ export * from './connection';
5
+ export * from './environment';
6
+ export * from './options';
7
+ export * from './parameter';
8
+ export * from './blocks';
9
+ export * from './product';
10
+ export * from './analytics';
11
+ export * from './currency';
12
+ export * from './deserializable';
13
+ export * from './storage';
14
+ export * from './filter';
15
+ export * from './pagination';
16
+ export * from './coupon';
17
+ export * from './step';
18
+ export * from './checkout';
@@ -0,0 +1,28 @@
1
+ export interface Category{
2
+ code: string;
3
+ name: string;
4
+ slug: string;
5
+ position: number;
6
+ path: string;
7
+ children?: Category[];
8
+ images?:any[];
9
+ }
10
+
11
+ export interface Section{
12
+ code: string;
13
+ name: string;
14
+ pages?:any[];
15
+ path?:string;
16
+ children?:Section[];
17
+ type?:string;
18
+ blocks?:any[];
19
+ }
20
+
21
+ export interface Attribute{
22
+ code: string;
23
+ name: string;
24
+ path: string;
25
+ slug: string;
26
+ useToFilter: boolean;
27
+ styles?:any[];
28
+ }
@@ -0,0 +1,27 @@
1
+ export interface Links{
2
+ first: string;
3
+ next: string;
4
+ last: string;
5
+ self: string;
6
+ }
7
+
8
+ export interface Pagination{
9
+ attributes:any;
10
+ category:any;
11
+ options:any;
12
+ items:any;
13
+ limit:number;
14
+ page:number;
15
+ pages:number;
16
+ total:number;
17
+ links?: Links;
18
+ called?: boolean;
19
+ }
20
+
21
+
22
+ export interface PaginationSettings{
23
+ type?: string,
24
+ value?: string,
25
+ limit?: number,
26
+ latest?: boolean
27
+ }
@@ -0,0 +1,15 @@
1
+ interface Image{
2
+ id:number;
3
+ path:string;
4
+ type:string;
5
+ }
6
+
7
+ export interface Parameter {
8
+ code:string;
9
+ images: Image[];
10
+ value:string;
11
+ }
12
+
13
+ export interface IParametersStore {
14
+ parameters: Parameter[];
15
+ }