lib-common-angular 0.0.9 → 0.0.11

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 (452) hide show
  1. package/.editorconfig +16 -0
  2. package/.eslintrc.json +36 -0
  3. package/.github/CODEOWNERS +1 -0
  4. package/.github/workflows/publish.yml +108 -0
  5. package/.gitmodules +4 -0
  6. package/.postcssrc.json +5 -0
  7. package/Dockerfile +42 -0
  8. package/Jenkinsfile +162 -0
  9. package/README.md +134 -0
  10. package/angular.json +133 -0
  11. package/eslint-rules/.ignore-logs-max-lines.js +30 -0
  12. package/lib-core-dtos/.github/workflows/validate-raml.yml +58 -0
  13. package/lib-core-dtos/.husky/pre-commit +4 -0
  14. package/lib-core-dtos/README.md +2 -0
  15. package/lib-core-dtos/api.raml +63 -0
  16. package/lib-core-dtos/componentes-common-lib-angular/Menu/menuConfig.raml +83 -0
  17. package/lib-core-dtos/componentes-common-lib-angular/Menu/menuEvent.raml +42 -0
  18. package/lib-core-dtos/componentes-common-lib-angular/Menu/menuItem.raml +107 -0
  19. package/lib-core-dtos/componentes-common-lib-angular/tabla1/column.DTO.raml +48 -0
  20. package/lib-core-dtos/componentes-common-lib-angular/tabla1/dynamicField.DTO.raml +54 -0
  21. package/lib-core-dtos/componentes-common-lib-angular/tabla1/excelExportConfig.DTO.raml +58 -0
  22. package/lib-core-dtos/componentes-common-lib-angular/tabla1/exportColumn.raml +23 -0
  23. package/lib-core-dtos/componentes-common-lib-angular/tabla1/fieldType.DTO.raml +20 -0
  24. package/lib-core-dtos/mcs-bussines-n/auth/loginDTO.raml +11 -0
  25. package/lib-core-dtos/mcs-bussines-n/bussines/businessDTO.raml +102 -0
  26. package/lib-core-dtos/mcs-bussines-n/bussines/businessModuleDTO.raml +35 -0
  27. package/lib-core-dtos/mcs-bussines-n/bussines/coloresDTO.raml +30 -0
  28. package/lib-core-dtos/mcs-bussines-n/bussines/componentesDTO.raml +72 -0
  29. package/lib-core-dtos/mcs-bussines-n/bussines/dising-imagenDTO.raml +22 -0
  30. package/lib-core-dtos/mcs-bussines-n/bussines/disingDTO.raml +28 -0
  31. package/lib-core-dtos/mcs-bussines-n/bussines/imagenDTO.raml +30 -0
  32. package/lib-core-dtos/mcs-bussines-n/bussines/mediosPagosDTO.raml +15 -0
  33. package/lib-core-dtos/mcs-bussines-n/bussines/menuActive.raml +26 -0
  34. package/lib-core-dtos/mcs-bussines-n/bussines/menuDTO.raml +64 -0
  35. package/lib-core-dtos/mcs-bussines-n/bussines/moduloDTO.raml +25 -0
  36. package/lib-core-dtos/mcs-bussines-n/bussines/modulosComponentesDTO.raml +31 -0
  37. package/lib-core-dtos/mcs-bussines-n/bussines/plantillaDTO.raml +47 -0
  38. package/lib-core-dtos/mcs-bussines-n/bussines/sliderDTO.raml +41 -0
  39. package/lib-core-dtos/mcs-bussines-n/bussines/trabajosDTO.raml +60 -0
  40. package/lib-core-dtos/mcs-bussines-n/productos/carrito/carritoDTO.raml +68 -0
  41. package/lib-core-dtos/mcs-bussines-n/productos/carrito/carritoItemDTO.raml +26 -0
  42. package/lib-core-dtos/mcs-bussines-n/productos/categorias/categoriaDTO.raml +29 -0
  43. package/lib-core-dtos/mcs-bussines-n/productos/categorias/tipoCategoriaDTO.raml +13 -0
  44. package/lib-core-dtos/mcs-bussines-n/productos/monedaDTO.raml +29 -0
  45. package/lib-core-dtos/mcs-bussines-n/productos/pedidoproductos/pedido.raml +77 -0
  46. package/lib-core-dtos/mcs-bussines-n/productos/pedidoproductos/pedidoProducto.raml +28 -0
  47. package/lib-core-dtos/mcs-bussines-n/productos/productoDTO.raml +103 -0
  48. package/lib-core-dtos/mcs-bussines-n/request/create.bussinesRq.DTO.raml +19 -0
  49. package/lib-core-dtos/mcs-usuarios-Sp/request/registerUserDTO.raml +37 -0
  50. package/lib-core-dtos/mcs-usuarios-Sp/users/addresDTO.raml +29 -0
  51. package/lib-core-dtos/mcs-usuarios-Sp/users/cityDTO.raml +13 -0
  52. package/lib-core-dtos/mcs-usuarios-Sp/users/countryDTO.raml +34 -0
  53. package/lib-core-dtos/mcs-usuarios-Sp/users/datesUserDTO.raml +71 -0
  54. package/lib-core-dtos/mcs-usuarios-Sp/users/keycloakBuilderDTO.raml +18 -0
  55. package/lib-core-dtos/mcs-usuarios-Sp/users/loginDTO.raml +13 -0
  56. package/lib-core-dtos/mcs-usuarios-Sp/users/phoneDTO.raml +36 -0
  57. package/lib-core-dtos/mcs-usuarios-Sp/users/propertyTypeDTO.raml +18 -0
  58. package/lib-core-dtos/package.json +26 -0
  59. package/lib-core-dtos/scripts/generate-typescript.js +615 -0
  60. package/lib-core-dtos/scripts/validate-raml.js +154 -0
  61. package/lib-core-dtos/utils/queryParams.raml +43 -0
  62. package/package.json +8 -31
  63. package/projects/lib-common-angular/README.md +0 -0
  64. package/projects/lib-common-angular/lib.routes.ts +32 -0
  65. package/projects/lib-common-angular/ng-package.json +23 -0
  66. package/projects/lib-common-angular/package.json +13 -0
  67. package/projects/lib-common-angular/src/lib/common-lib.component.ts +16 -0
  68. package/projects/lib-common-angular/src/lib/common-lib.service.spec.ts +16 -0
  69. package/projects/lib-common-angular/src/lib/common-lib.service.ts +9 -0
  70. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/body/body.component.css +12 -0
  71. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/body/body.component.html +9 -0
  72. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/body/body.component.spec.ts +23 -0
  73. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/body/body.component.ts +21 -0
  74. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/button-call1/button-call1.component.css +0 -0
  75. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/button-call1/button-call1.component.html +5 -0
  76. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/button-call1/button-call1.component.spec.ts +23 -0
  77. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/button-call1/button-call1.component.ts +20 -0
  78. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/layout-services1/layout-services1.component.css +0 -0
  79. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/layout-services1/layout-services1.component.html +21 -0
  80. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/layout-services1/layout-services1.component.spec.ts +23 -0
  81. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/layout-services1/layout-services1.component.ts +40 -0
  82. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/link1/link1.component.html +6 -0
  83. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/link1/link1.component.scss +0 -0
  84. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/link1/link1.component.spec.ts +24 -0
  85. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/atoms/link1/link1.component.ts +79 -0
  86. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/contenido-nav/contenido-nav.component.html +40 -0
  87. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/contenido-nav/contenido-nav.component.scss +0 -0
  88. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/contenido-nav/contenido-nav.component.spec.ts +24 -0
  89. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/contenido-nav/contenido-nav.component.ts +54 -0
  90. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/footer1/footer1.component.css +0 -0
  91. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/footer1/footer1.component.html +55 -0
  92. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/footer1/footer1.component.spec.ts +23 -0
  93. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/footer1/footer1.component.ts +23 -0
  94. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/gallery-section1/gallery-section1.component.css +0 -0
  95. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/gallery-section1/gallery-section1.component.html +14 -0
  96. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/gallery-section1/gallery-section1.component.spec.ts +23 -0
  97. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/gallery-section1/gallery-section1.component.ts +38 -0
  98. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/nav1/nav1.component.css +0 -0
  99. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/nav1/nav1.component.html +24 -0
  100. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/nav1/nav1.component.spec.ts +23 -0
  101. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/nav1/nav1.component.ts +56 -0
  102. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/services-section1/services-section1.component.css +0 -0
  103. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/services-section1/services-section1.component.html +23 -0
  104. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/services-section1/services-section1.component.spec.ts +23 -0
  105. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/services-section1/services-section1.component.ts +27 -0
  106. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/slider1/slider1.component.css +0 -0
  107. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/slider1/slider1.component.html +58 -0
  108. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/slider1/slider1.component.spec.ts +23 -0
  109. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/molecules/slider1/slider1.component.ts +51 -0
  110. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/pages/index1/index1.component.css +0 -0
  111. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/pages/index1/index1.component.html +13 -0
  112. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/pages/index1/index1.component.spec.ts +23 -0
  113. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/componentes/pages/index1/index1.component.ts +79 -0
  114. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/footer/footer.component.css +24 -0
  115. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/footer/footer.component.html +4 -0
  116. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/footer/footer.component.spec.ts +23 -0
  117. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/footer/footer.component.ts +12 -0
  118. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/about-bg.png +0 -0
  119. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/about.png +0 -0
  120. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/client.jpg +0 -0
  121. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/envelope-blue.png +0 -0
  122. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/envelope-white.png +0 -0
  123. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/g-1.png +0 -0
  124. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/g-2.png +0 -0
  125. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/g-3.png +0 -0
  126. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/g-4.png +0 -0
  127. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/g-5.png +0 -0
  128. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/hero.jpg +0 -0
  129. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/location-blue.png +0 -0
  130. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/location-white.png +0 -0
  131. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/logo.png +0 -0
  132. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/menu.png +0 -0
  133. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/next.png +0 -0
  134. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/prev.png +0 -0
  135. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/s-1.png +0 -0
  136. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/s-2.png +0 -0
  137. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/s-3.png +0 -0
  138. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/search-icon.png +0 -0
  139. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/slider-img.png +0 -0
  140. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/telephone-blue.png +0 -0
  141. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/telephone-white.png +0 -0
  142. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/imagenes/tool.png +0 -0
  143. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/menu/menu.component.css +3 -0
  144. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/menu/menu.component.html +23 -0
  145. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/menu/menu.component.spec.ts +23 -0
  146. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard1/menu/menu.component.ts +18 -0
  147. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/about2/about2.component.css +0 -0
  148. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/about2/about2.component.html +1 -0
  149. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/about2/about2.component.spec.ts +23 -0
  150. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/about2/about2.component.ts +12 -0
  151. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/footer2/footer2.component.css +0 -0
  152. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/footer2/footer2.component.html +1 -0
  153. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/footer2/footer2.component.spec.ts +23 -0
  154. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/footer2/footer2.component.ts +12 -0
  155. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/gallery2/gallery2.component.css +0 -0
  156. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/gallery2/gallery2.component.html +1 -0
  157. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/gallery2/gallery2.component.spec.ts +23 -0
  158. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/gallery2/gallery2.component.ts +12 -0
  159. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/header2/header2.component.css +39 -0
  160. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/header2/header2.component.html +30 -0
  161. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/header2/header2.component.spec.ts +23 -0
  162. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/header2/header2.component.ts +13 -0
  163. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/index2/index2.component.css +0 -0
  164. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/index2/index2.component.html +2 -0
  165. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/index2/index2.component.spec.ts +23 -0
  166. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/index2/index2.component.ts +15 -0
  167. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/services2/services2.component.css +0 -0
  168. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/services2/services2.component.html +1 -0
  169. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/services2/services2.component.spec.ts +23 -0
  170. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/services2/services2.component.ts +12 -0
  171. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/slider2/slider2.component.css +0 -0
  172. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/slider2/slider2.component.html +1 -0
  173. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/slider2/slider2.component.spec.ts +23 -0
  174. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard2/slider2/slider2.component.ts +12 -0
  175. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/atoms/dynamic-menu1/dynamic-menu1.component.html +56 -0
  176. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/atoms/dynamic-menu1/dynamic-menu1.component.scss +192 -0
  177. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/atoms/dynamic-menu1/dynamic-menu1.component.ts +239 -0
  178. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/dashboard3-menu.config.ts +389 -0
  179. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/daskboard3.ts +143 -0
  180. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/app.configurator.ts +445 -0
  181. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/app.floatingconfigurator.ts +29 -0
  182. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/app.footer.ts +11 -0
  183. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/app.menuitem.ts +170 -0
  184. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/app.topbar.ts +92 -0
  185. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/menu/menu.component.html +110 -0
  186. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/menu/menu.component.scss +221 -0
  187. package/projects/lib-common-angular/src/lib/componentes/daskboards/daskboard3/moleculas/menu/menu.component.ts +189 -0
  188. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/buttons-socialmedia-login/buttons-socialmedia-login.html +19 -0
  189. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/buttons-socialmedia-login/buttons-socialmedia-login.scss +12 -0
  190. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/buttons-socialmedia-login/buttons-socialmedia-login.spec.ts +23 -0
  191. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/buttons-socialmedia-login/buttons-socialmedia-login.ts +13 -0
  192. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/header-top-ecommerce1/header-top-ecommerce1.html +21 -0
  193. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/header-top-ecommerce1/header-top-ecommerce1.scss +19 -0
  194. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/header-top-ecommerce1/header-top-ecommerce1.spec.ts +23 -0
  195. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/header-top-ecommerce1/header-top-ecommerce1.ts +24 -0
  196. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-login-ecommerce1/inputs-login-ecommerce1.html +17 -0
  197. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-login-ecommerce1/inputs-login-ecommerce1.scss +15 -0
  198. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-login-ecommerce1/inputs-login-ecommerce1.spec.ts +23 -0
  199. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-login-ecommerce1/inputs-login-ecommerce1.ts +18 -0
  200. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-register-ecommerce1/inputs-register-ecommerce1.html +21 -0
  201. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-register-ecommerce1/inputs-register-ecommerce1.scss +16 -0
  202. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-register-ecommerce1/inputs-register-ecommerce1.spec.ts +23 -0
  203. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/inputs-register-ecommerce1/inputs-register-ecommerce1.ts +12 -0
  204. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-header-forms-login-ecomerce1/section-header-forms-login-ecomerce1.html +4 -0
  205. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-header-forms-login-ecomerce1/section-header-forms-login-ecomerce1.scss +0 -0
  206. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-header-forms-login-ecomerce1/section-header-forms-login-ecomerce1.spec.ts +23 -0
  207. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-header-forms-login-ecomerce1/section-header-forms-login-ecomerce1.ts +13 -0
  208. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-login-registro-ecomerce1/section-login-registro-ecomerce1.html +5 -0
  209. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-login-registro-ecomerce1/section-login-registro-ecomerce1.scss +6 -0
  210. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-login-registro-ecomerce1/section-login-registro-ecomerce1.spec.ts +23 -0
  211. package/projects/lib-common-angular/src/lib/componentes/landingPages/atoms/ecommerce1/section-login-registro-ecomerce1/section-login-registro-ecomerce1.ts +11 -0
  212. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/bar-float-ecommerce1/bar-float-ecommerce1.html +9 -0
  213. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/bar-float-ecommerce1/bar-float-ecommerce1.scss +27 -0
  214. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/bar-float-ecommerce1/bar-float-ecommerce1.spec.ts +23 -0
  215. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/bar-float-ecommerce1/bar-float-ecommerce1.ts +20 -0
  216. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/cart/cart.component.html +34 -0
  217. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/cart/cart.component.ts +23 -0
  218. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/footer-ecommerce1/footer-ecommerce1.html +25 -0
  219. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/footer-ecommerce1/footer-ecommerce1.scss +19 -0
  220. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/footer-ecommerce1/footer-ecommerce1.spec.ts +23 -0
  221. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/footer-ecommerce1/footer-ecommerce1.ts +23 -0
  222. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/form-auth-eccomerce1/form-auth-eccomerce1.css +0 -0
  223. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/form-auth-eccomerce1/form-auth-eccomerce1.html +19 -0
  224. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/form-auth-eccomerce1/form-auth-eccomerce1.spec.ts +23 -0
  225. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/form-auth-eccomerce1/form-auth-eccomerce1.ts +19 -0
  226. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/header-ecommerce1/header-ecommerce1.html +168 -0
  227. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/header-ecommerce1/header-ecommerce1.scss +287 -0
  228. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/header-ecommerce1/header-ecommerce1.ts +421 -0
  229. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/hero-section-ecommerce1/hero-section-ecommerce1.css +39 -0
  230. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/hero-section-ecommerce1/hero-section-ecommerce1.html +29 -0
  231. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/hero-section-ecommerce1/hero-section-ecommerce1.ts +25 -0
  232. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/section-images-instagram-ecommerce1/section-images-instagram-ecommerce1.html +36 -0
  233. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/section-images-instagram-ecommerce1/section-images-instagram-ecommerce1.scss +39 -0
  234. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/section-images-instagram-ecommerce1/section-images-instagram-ecommerce1.spec.ts +23 -0
  235. package/projects/lib-common-angular/src/lib/componentes/landingPages/molecules/ecommerce1/section-images-instagram-ecommerce1/section-images-instagram-ecommerce1.ts +72 -0
  236. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/ecommerce1.html +50 -0
  237. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/ecommerce1.scss +276 -0
  238. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/ecommerce1.ts +341 -0
  239. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/home-ecommerce1/home-ecommerce1.html +77 -0
  240. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/home-ecommerce1/home-ecommerce1.scss +63 -0
  241. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/home-ecommerce1/home-ecommerce1.spec.ts +23 -0
  242. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/home-ecommerce1/home-ecommerce1.ts +160 -0
  243. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/login-ecommerce1/login-ecommerce1.html +11 -0
  244. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/login-ecommerce1/login-ecommerce1.scss +20 -0
  245. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/login-ecommerce1/login-ecommerce1.spec.ts +23 -0
  246. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/login-ecommerce1/login-ecommerce1.ts +18 -0
  247. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/product-detail-lib/product-detail-lib.html +20 -0
  248. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/product-detail-lib/product-detail-lib.scss +20 -0
  249. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/product-detail-lib/product-detail-lib.ts +190 -0
  250. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/register-ecommerce1/register-ecommerce1.html +11 -0
  251. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/register-ecommerce1/register-ecommerce1.scss +29 -0
  252. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/ecommerce1/register-ecommerce1/register-ecommerce1.ts +16 -0
  253. package/projects/lib-common-angular/src/lib/componentes/landingPages/pages/page1.html +913 -0
  254. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-action-delete1/button-action-delete1.component.html +9 -0
  255. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-action-delete1/button-action-delete1.component.scss +34 -0
  256. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-action-delete1/button-action-delete1.component.ts +33 -0
  257. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-action-edit1/button-action-edit1.component.html +9 -0
  258. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-action-edit1/button-action-edit1.component.scss +34 -0
  259. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-action-edit1/button-action-edit1.component.ts +32 -0
  260. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-actions-row1/button-actions-row1.component.html +17 -0
  261. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-actions-row1/button-actions-row1.component.scss +9 -0
  262. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-actions-row1/button-actions-row1.component.ts +45 -0
  263. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-add-to-card1/button-add-to-card1.html +40 -0
  264. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-add-to-card1/button-add-to-card1.scss +0 -0
  265. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-add-to-card1/button-add-to-card1.spec.ts +23 -0
  266. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-add-to-card1/button-add-to-card1.ts +60 -0
  267. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-add1/button-add1.component.html +11 -0
  268. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-add1/button-add1.component.scss +40 -0
  269. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-add1/button-add1.component.ts +36 -0
  270. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-card-view1/button-card-view1.component.html +1 -0
  271. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-card-view1/button-card-view1.component.scss +0 -0
  272. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-card-view1/button-card-view1.component.ts +24 -0
  273. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-delete1/button-delete1.component.html +11 -0
  274. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-delete1/button-delete1.component.scss +0 -0
  275. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-delete1/button-delete1.component.ts +35 -0
  276. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-options-table/button-options-table.component.html +9 -0
  277. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-options-table/button-options-table.component.scss +0 -0
  278. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-options-table/button-options-table.component.ts +90 -0
  279. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-table-view1/button-table-view1.component.html +1 -0
  280. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-table-view1/button-table-view1.component.scss +0 -0
  281. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/button-table-view1/button-table-view1.component.ts +25 -0
  282. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/loading-zigma/loading-zigma.html +37 -0
  283. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/loading-zigma/loading-zigma.scss +346 -0
  284. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/loading-zigma/loading-zigma.ts +11 -0
  285. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/menu-item1/menu-item1.component.html +103 -0
  286. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/menu-item1/menu-item1.component.scss +176 -0
  287. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/menu-item1/menu-item1.component.ts +117 -0
  288. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/paginator-pg/paginator-pg.component.ts +46 -0
  289. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/paginator-pg/paginator-pg.html +26 -0
  290. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/paginator-pg/paginator-pg.scss +0 -0
  291. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/select-input1/select-input1.component.css +8 -0
  292. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/select-input1/select-input1.component.html +8 -0
  293. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/select-input1/select-input1.component.spec.ts +23 -0
  294. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/select-input1/select-input1.component.ts +37 -0
  295. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/sh-wats-button-card/sh-wats-button-card.css +0 -0
  296. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/sh-wats-button-card/sh-wats-button-card.html +10 -0
  297. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/sh-wats-button-card/sh-wats-button-card.spec.ts +23 -0
  298. package/projects/lib-common-angular/src/lib/componentes/shared/atoms/sh-wats-button-card/sh-wats-button-card.ts +44 -0
  299. package/projects/lib-common-angular/src/lib/componentes/shared/interfaces/dynamic-field.interface.ts +86 -0
  300. package/projects/lib-common-angular/src/lib/componentes/shared/interfaces/menu.interface.ts +98 -0
  301. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/crud-dialog1/crud-dialog1.component.html +132 -0
  302. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/crud-dialog1/crud-dialog1.component.scss +47 -0
  303. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/crud-dialog1/crud-dialog1.component.ts +199 -0
  304. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/grid1/grid1.component.html +95 -0
  305. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/grid1/grid1.component.scss +40 -0
  306. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/grid1/grid1.component.ts +124 -0
  307. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/inflatable-customizer/customizer.component.html +53 -0
  308. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/inflatable-customizer/customizer.component.scss +26 -0
  309. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/inflatable-customizer/customizer.component.ts +104 -0
  310. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/product-dialog1/product-dialog1.component.html +112 -0
  311. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/product-dialog1/product-dialog1.component.scss +0 -0
  312. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/product-dialog1/product-dialog1.component.ts +87 -0
  313. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/card-productos1/card-productos1.component.html +118 -0
  314. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/card-productos1/card-productos1.component.scss +42 -0
  315. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/card-productos1/card-productos1.component.spec.ts +23 -0
  316. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/card-productos1/card-productos1.component.ts +202 -0
  317. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/detalle-carrito-1/detalle-carrito-1.component.html +134 -0
  318. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/detalle-carrito-1/detalle-carrito-1.component.scss +184 -0
  319. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/detalle-carrito-1/detalle-carrito-1.component.spec.ts +23 -0
  320. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/productos/detalle-carrito-1/detalle-carrito-1.component.ts +113 -0
  321. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-add-cards-buttons/section-add-cards-buttons.html +7 -0
  322. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-add-cards-buttons/section-add-cards-buttons.scss +0 -0
  323. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-add-cards-buttons/section-add-cards-buttons.spec.ts +23 -0
  324. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-add-cards-buttons/section-add-cards-buttons.ts +22 -0
  325. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-filters-categories-productos/section-filters-categories-productos.html +9 -0
  326. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-filters-categories-productos/section-filters-categories-productos.scss +41 -0
  327. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-filters-categories-productos/section-filters-categories-productos.spec.ts +23 -0
  328. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/section-filters-categories-productos/section-filters-categories-productos.ts +34 -0
  329. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/tabla1/tabla1.component.html +63 -0
  330. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/tabla1/tabla1.component.scss +0 -0
  331. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/tabla1/tabla1.component.ts +128 -0
  332. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/tool-bar1/tool-bar1.component.html +29 -0
  333. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/tool-bar1/tool-bar1.component.scss +0 -0
  334. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/tool-bar1/tool-bar1.component.ts +63 -0
  335. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/view-buttons-container1/view-buttons-container1.component.html +16 -0
  336. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/view-buttons-container1/view-buttons-container1.component.scss +0 -0
  337. package/projects/lib-common-angular/src/lib/componentes/shared/molecules/view-buttons-container1/view-buttons-container1.component.ts +52 -0
  338. package/projects/lib-common-angular/src/lib/componentes/shared/pages/crud/crud.component.html +53 -0
  339. package/projects/lib-common-angular/src/lib/componentes/shared/pages/crud/crud.component.scss +0 -0
  340. package/projects/lib-common-angular/src/lib/componentes/shared/pages/crud/crud.component.ts +256 -0
  341. package/projects/lib-common-angular/src/lib/componentes/shared/pages/crud/doc/crud-doc.component.ts +131 -0
  342. package/projects/lib-common-angular/src/lib/componentes/shared/pages/notfound/notfound.ts +74 -0
  343. package/projects/lib-common-angular/src/lib/componentes/shared/routes/componentes.routes.ts +13 -0
  344. package/projects/lib-common-angular/src/lib/componentes/shared/routes/ecomerce1.routes.ts +17 -0
  345. package/projects/lib-common-angular/src/lib/componentes/shared/routes/pages.routes.ts +19 -0
  346. package/projects/lib-common-angular/src/lib/componentes/shared/services/categorias-productos.service.ts +74 -0
  347. package/projects/lib-common-angular/src/lib/componentes/shared/services/component-services.service.ts +21 -0
  348. package/projects/lib-common-angular/src/lib/componentes/shared/services/dynamic-field.service.ts +204 -0
  349. package/projects/lib-common-angular/src/lib/componentes/shared/services/dynamic-menu.service.ts +439 -0
  350. package/projects/lib-common-angular/src/lib/componentes/shared/services/excel-export.service.ts +83 -0
  351. package/projects/lib-common-angular/src/lib/componentes/shared/services/generic-crud.service/generic-crud.service.ts +79 -0
  352. package/projects/lib-common-angular/src/lib/componentes/shared/services/layout.service.ts +179 -0
  353. package/projects/lib-common-angular/src/lib/componentes/shared/services/meta-data.service.ts/meta-data.service.ts +37 -0
  354. package/projects/lib-common-angular/src/lib/componentes/shared/services/pdf-export.service.ts +0 -0
  355. package/projects/lib-common-angular/src/lib/componentes/shared/services/product.service.ts +1962 -0
  356. package/projects/lib-common-angular/src/lib/componentes/shared/terminal/terminal.html +10 -0
  357. package/projects/lib-common-angular/src/lib/componentes/shared/terminal/terminal.scss +0 -0
  358. package/projects/lib-common-angular/src/lib/componentes/shared/terminal/terminal.ts +27 -0
  359. package/projects/lib-common-angular/src/lib/config/JuliaoSystemCrudHttpService.d.ts +48 -0
  360. package/projects/lib-common-angular/src/lib/config/JuliaoSystemCrudHttpService.ts +121 -0
  361. package/projects/lib-common-angular/src/lib/config/index.ts +0 -0
  362. package/projects/lib-common-angular/src/lib/config/lib-config.module.ts +18 -0
  363. package/projects/lib-common-angular/src/lib/config/lib-config.service.ts +50 -0
  364. package/projects/lib-common-angular/src/lib/lib-common-angular.module.ts +14 -0
  365. package/projects/lib-common-angular/src/lib/modulos/core.lib.module.ts +66 -0
  366. package/projects/lib-common-angular/src/lib/modulos/primeg.module.ts +103 -0
  367. package/projects/lib-common-angular/src/public-api.ts +122 -0
  368. package/projects/lib-common-angular/tsconfig.lib.json +15 -0
  369. package/projects/lib-common-angular/tsconfig.lib.prod.json +11 -0
  370. package/projects/lib-common-angular/tsconfig.spec.json +15 -0
  371. package/projects/lib-common-angular-demo/public/assets/demo/code.scss +17 -0
  372. package/projects/lib-common-angular-demo/public/assets/demo/demo.scss +2 -0
  373. package/projects/lib-common-angular-demo/public/assets/demo/flags/flags.scss +1 -0
  374. package/projects/lib-common-angular-demo/public/assets/demo/flags/flags_responsive.png +0 -0
  375. package/projects/lib-common-angular-demo/public/assets/layout/_core.scss +24 -0
  376. package/projects/lib-common-angular-demo/public/assets/layout/_footer.scss +8 -0
  377. package/projects/lib-common-angular-demo/public/assets/layout/_main.scss +13 -0
  378. package/projects/lib-common-angular-demo/public/assets/layout/_menu.scss +160 -0
  379. package/projects/lib-common-angular-demo/public/assets/layout/_mixins.scss +15 -0
  380. package/projects/lib-common-angular-demo/public/assets/layout/_preloading.scss +47 -0
  381. package/projects/lib-common-angular-demo/public/assets/layout/_responsive.scss +110 -0
  382. package/projects/lib-common-angular-demo/public/assets/layout/_topbar.scss +160 -0
  383. package/projects/lib-common-angular-demo/public/assets/layout/_typography.scss +68 -0
  384. package/projects/lib-common-angular-demo/public/assets/layout/_utils.scss +25 -0
  385. package/projects/lib-common-angular-demo/public/assets/layout/layout.scss +13 -0
  386. package/projects/lib-common-angular-demo/public/assets/layout/variables/_common.scss +20 -0
  387. package/projects/lib-common-angular-demo/public/assets/layout/variables/_dark.scss +5 -0
  388. package/projects/lib-common-angular-demo/public/assets/layout/variables/_light.scss +5 -0
  389. package/projects/lib-common-angular-demo/public/favicon.ico +0 -0
  390. package/projects/lib-common-angular-demo/src/app/app.component.html +1 -0
  391. package/projects/lib-common-angular-demo/src/app/app.component.scss +0 -0
  392. package/projects/lib-common-angular-demo/src/app/app.component.ts +12 -0
  393. package/projects/lib-common-angular-demo/src/app/app.config.server.ts +12 -0
  394. package/projects/lib-common-angular-demo/src/app/app.config.ts +22 -0
  395. package/projects/lib-common-angular-demo/src/app/app.routes.server.ts +8 -0
  396. package/projects/lib-common-angular-demo/src/app/app.routes.ts +86 -0
  397. package/projects/lib-common-angular-demo/src/app/componentes/crud/crud.component.html +43 -0
  398. package/projects/lib-common-angular-demo/src/app/componentes/crud/crud.component.scss +0 -0
  399. package/projects/lib-common-angular-demo/src/app/componentes/crud/crud.component.spec.ts +23 -0
  400. package/projects/lib-common-angular-demo/src/app/componentes/crud/crud.component.ts +243 -0
  401. package/projects/lib-common-angular-demo/src/app/componentes/menu-navigation/menu-demo-visual.component.ts +76 -0
  402. package/projects/lib-common-angular-demo/src/app/componentes/menu-navigation/menu-navigation.component.html +60 -0
  403. package/projects/lib-common-angular-demo/src/app/componentes/menu-navigation/menu-navigation.component.scss +63 -0
  404. package/projects/lib-common-angular-demo/src/app/componentes/menu-navigation/menu-navigation.component.ts +452 -0
  405. package/projects/lib-common-angular-demo/src/app/componentes/shared/card-carrito-demo/card-carrito-demo.html +15 -0
  406. package/projects/lib-common-angular-demo/src/app/componentes/shared/card-carrito-demo/card-carrito-demo.scss +0 -0
  407. package/projects/lib-common-angular-demo/src/app/componentes/shared/card-carrito-demo/card-carrito-demo.ts +21 -0
  408. package/projects/lib-common-angular-demo/src/app/componentes/shared/detalle-carrito-demo/detalle-carrito-demo.html +3 -0
  409. package/projects/lib-common-angular-demo/src/app/componentes/shared/detalle-carrito-demo/detalle-carrito-demo.scss +0 -0
  410. package/projects/lib-common-angular-demo/src/app/componentes/shared/detalle-carrito-demo/detalle-carrito-demo.spec.ts +23 -0
  411. package/projects/lib-common-angular-demo/src/app/componentes/shared/detalle-carrito-demo/detalle-carrito-demo.ts +22 -0
  412. package/projects/lib-common-angular-demo/src/app/componentes.routes.ts +14 -0
  413. package/projects/lib-common-angular-demo/src/app/core/services/component-services.service.ts +22 -0
  414. package/projects/lib-common-angular-demo/src/app/core/services/layout.service.ts +180 -0
  415. package/projects/lib-common-angular-demo/src/app/core/services/product.service.ts +1324 -0
  416. package/projects/lib-common-angular-demo/src/app/doc/crud/crud-doc-page.component.html +20 -0
  417. package/projects/lib-common-angular-demo/src/app/doc/crud/crud-doc-page.component.ts +67 -0
  418. package/projects/lib-common-angular-demo/src/app/doc.routes.ts +5 -0
  419. package/projects/lib-common-angular-demo/src/app/menu-configs.ts +336 -0
  420. package/projects/lib-common-angular-demo/src/app/ngxs-config.module.ts +0 -0
  421. package/projects/lib-common-angular-demo/src/app/pages/ecommerce1-demo/ecommerce1-demo.html +11 -0
  422. package/projects/lib-common-angular-demo/src/app/pages/ecommerce1-demo/ecommerce1-demo.scss +0 -0
  423. package/projects/lib-common-angular-demo/src/app/pages/ecommerce1-demo/ecommerce1-demo.spec.ts +23 -0
  424. package/projects/lib-common-angular-demo/src/app/pages/ecommerce1-demo/ecommerce1-demo.ts +102 -0
  425. package/projects/lib-common-angular-demo/src/app/pages.routes.ts +11 -0
  426. package/projects/lib-common-angular-demo/src/index.html +13 -0
  427. package/projects/lib-common-angular-demo/src/main.server.ts +7 -0
  428. package/projects/lib-common-angular-demo/src/main.ts +47 -0
  429. package/projects/lib-common-angular-demo/src/server.ts +66 -0
  430. package/projects/lib-common-angular-demo/src/styles.scss +5 -0
  431. package/projects/lib-common-angular-demo/tsconfig.app.json +19 -0
  432. package/projects/lib-common-angular-demo/tsconfig.spec.json +15 -0
  433. package/theme/_funtions.scss +62 -0
  434. package/theme/componentes/varthemes.scss +16 -0
  435. package/theme/variables.scss +240 -0
  436. package/tsconfig.json +35 -0
  437. package/fesm2022/lib-common-angular.mjs +0 -9409
  438. package/fesm2022/lib-common-angular.mjs.map +0 -1
  439. package/index.d.ts +0 -1866
  440. /package/{src → projects/lib-common-angular/src}/lib/assets/i18n/de.json +0 -0
  441. /package/{src → projects/lib-common-angular/src}/lib/assets/i18n/en.json +0 -0
  442. /package/{src → projects/lib-common-angular/src}/lib/assets/i18n/es.json +0 -0
  443. /package/{src → projects/lib-common-angular/src}/lib/assets/i18n/pt.json +0 -0
  444. /package/{src → projects/lib-common-angular/src}/lib/assets/imagenes/bannerInflables.png +0 -0
  445. /package/{src → projects/lib-common-angular/src}/lib/assets/state/business.state.ts +0 -0
  446. /package/{src → projects/lib-common-angular/src}/lib/assets/state/categorias-productos.state.ts +0 -0
  447. /package/{src → projects/lib-common-angular/src}/lib/assets/state/currency.state.ts +0 -0
  448. /package/{src → projects/lib-common-angular/src}/lib/assets/state/productos.state.ts +0 -0
  449. /package/{src → projects/lib-common-angular/src}/lib/assets/state/state-generic/generic-crud.actions.ts +0 -0
  450. /package/{src → projects/lib-common-angular/src}/lib/assets/state/state-generic/generic-crud.state.ts +0 -0
  451. /package/{src → projects/lib-common-angular/src}/lib/assets/state/usuarios.actions.ts +0 -0
  452. /package/{src → projects/lib-common-angular/src}/lib/styles/global-styles.scss +0 -0
@@ -0,0 +1,112 @@
1
+
2
+ <div class="flex flex-col gap-6">
3
+ @if (product['image']) {
4
+ <img
5
+ [src]="product['image']"
6
+ [alt]="product['image']"
7
+ class="block m-auto pb-4"
8
+ />
9
+ }
10
+ <div>
11
+ <label for="name" class="block font-bold mb-3">Name</label>
12
+ <input
13
+ type="text"
14
+ pInputText
15
+ id="name"
16
+ [(ngModel)]="product['name']"
17
+ required
18
+ autofocus
19
+ fluid
20
+ />
21
+ @if (submitted && !product['name']) {
22
+ <small class="text-red-500">Name is required.</small>
23
+ }
24
+ </div>
25
+ <div>
26
+ <label for="description" class="block font-bold mb-3"
27
+ >Description</label
28
+ >
29
+ <textarea
30
+ id="description"
31
+ pTextarea
32
+ [(ngModel)]="product['description']"
33
+ required
34
+ rows="3"
35
+ cols="20"
36
+ fluid
37
+ ></textarea>
38
+ </div>
39
+
40
+ <div>
41
+ <label for="inventoryStatus" class="block font-bold mb-3"
42
+ >Inventory Status</label
43
+ >
44
+ <p-select
45
+ [(ngModel)]="product['inventoryStatus']"
46
+ inputId="inventoryStatus"
47
+ [options]="statuses"
48
+ placeholder="Select a Status"
49
+ fluid
50
+ />
51
+ </div>
52
+
53
+ <div>
54
+ <span class="block font-bold mb-4">Category</span>
55
+ <div class="grid grid-cols-12 gap-4">
56
+ <div class="flex items-center gap-2 col-span-6">
57
+ <p-radiobutton
58
+ id="category1"
59
+ name="category"
60
+ value="Accessories"
61
+ [(ngModel)]="product['category']"
62
+ />
63
+ <label for="category1">Accessories</label>
64
+ </div>
65
+ <div class="flex items-center gap-2 col-span-6">
66
+ <p-radiobutton
67
+ id="category2"
68
+ name="category"
69
+ value="Clothing"
70
+ [(ngModel)]="product['category']"
71
+ />
72
+ <label for="category2">Clothing</label>
73
+ </div>
74
+ <div class="flex items-center gap-2 col-span-6">
75
+ <p-radiobutton
76
+ id="category3"
77
+ name="category"
78
+ value="Electronics"
79
+ [(ngModel)]="product['category']"
80
+ />
81
+ <label for="category3">Electronics</label>
82
+ </div>
83
+ <div class="flex items-center gap-2 col-span-6">
84
+ <p-radiobutton
85
+ id="category4"
86
+ name="category"
87
+ value="Fitness"
88
+ [(ngModel)]="product['category']"
89
+ />
90
+ <label for="category4">Fitness</label>
91
+ </div>
92
+ </div>
93
+ </div>
94
+
95
+ <div class="grid grid-cols-12 gap-4">
96
+ <div class="col-span-6">
97
+ <label for="price" class="block font-bold mb-3">Price</label>
98
+ <p-inputnumber
99
+ id="price"
100
+ [(ngModel)]="product['price']"
101
+ mode="currency"
102
+ currency="USD"
103
+ locale="en-US"
104
+ fluid
105
+ />
106
+ </div>
107
+ <div class="col-span-6">
108
+ <label for="quantity" class="block font-bold mb-3">Quantity</label>
109
+ <p-inputnumber id="quantity" [(ngModel)]="product['quantity']" fluid />
110
+ </div>
111
+ </div>
112
+ </div>
@@ -0,0 +1,87 @@
1
+ import { Component, Input, Output, EventEmitter, OnInit, OnChanges } from '@angular/core';
2
+ import { PrimegModule } from '../../../../modulos/primeg.module';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { CommonModule } from '@angular/common';
5
+ import { ComponentesDTO } from '@juliaosistem/core-dtos';
6
+
7
+ @Component({
8
+ selector: 'lib-product-dialog1',
9
+ imports: [CommonModule, FormsModule, PrimegModule],
10
+ templateUrl: './product-dialog1.component.html',
11
+ styleUrls: ['./product-dialog1.component.scss']
12
+ })
13
+ export class ProductDialog1Component implements OnInit, OnChanges {
14
+
15
+ @Input() productDialog: boolean = false;
16
+ @Input() product: Record<string, unknown> = {};
17
+ @Input() statuses: string[] = [];
18
+ @Input() triggerSave?: EventEmitter<void>;
19
+
20
+ @Output() productDialogChange = new EventEmitter<boolean>();
21
+ @Output() onSave = new EventEmitter<Record<string, unknown>>();
22
+ @Output() onCancel = new EventEmitter<void>();
23
+
24
+ componente: ComponentesDTO = {
25
+ id: 23,
26
+ nombreComponente: 'lib-product-dialog1',
27
+ version: '1.0'
28
+ };
29
+
30
+ submitted: boolean = false;
31
+ originalProduct: Record<string, unknown> = {};
32
+
33
+ ngOnInit() {
34
+ // Crear una copia del producto para evitar modificar el original
35
+ if (this.product) {
36
+ this.originalProduct = { ...this.product };
37
+ }
38
+
39
+ // Suscribirse al triggerSave si está disponible
40
+ if (this.triggerSave) {
41
+ this.triggerSave.subscribe(() => {
42
+ this.saveProduct();
43
+ });
44
+ }
45
+ }
46
+
47
+ ngOnChanges() {
48
+ // Cuando se abre el dialog, crear una copia del producto
49
+ if (this.productDialog && this.product) {
50
+ this.originalProduct = { ...this.product };
51
+ }
52
+
53
+ // Suscribirse al triggerSave si cambia
54
+ if (this.triggerSave) {
55
+ this.triggerSave.subscribe(() => {
56
+ this.saveProduct();
57
+ });
58
+ }
59
+ }
60
+
61
+ hideDialog() {
62
+ this.productDialog = false;
63
+ this.productDialogChange.emit(false);
64
+ this.submitted = false;
65
+
66
+ // Restaurar el producto original si se cancela
67
+ if (this.originalProduct) {
68
+ Object.assign(this.product, this.originalProduct);
69
+ }
70
+
71
+ this.onCancel.emit();
72
+ }
73
+
74
+ saveProduct() {
75
+ this.submitted = true;
76
+
77
+ if (this.product['name'] && typeof this.product['name'] === 'string' && this.product['name'].trim()) {
78
+ // Emitir el producto modificado
79
+ this.onSave.emit(this.product);
80
+
81
+ // Cerrar el dialog
82
+ this.productDialog = false;
83
+ this.productDialogChange.emit(false);
84
+ this.submitted = false;
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,118 @@
1
+ <div class="surface-card shadow-3 border-round-xl overflow-visible relative transition-all transition-duration-300 hover:shadow-6 flex flex-column h-full hover-effect"
2
+ style="min-height: 520px; max-width: 400px; margin: 0 auto">
3
+ @if (product) {
4
+ <div class="relative surface-ground flex align-items-center justify-content-center overflow-hidden p-3 image-hover-container"
5
+ style="height: 280px">
6
+ <img [src]="currentImageUrl || product.imagen[0]?.url" [alt]="product.name"
7
+ loading="lazy" width="400" height="280"
8
+ class="max-w-full max-h-full object-contain cursor-pointer transition-transform transition-duration-300 hover-zoom"
9
+ (click)="navigateToProductDetail()" />
10
+
11
+ <!-- Overlay con icono de ojo al hover -->
12
+ <div class="image-overlay">
13
+ <button pButton type="button" class="p-button-rounded p-button-info p-button-lg shadow-4"
14
+ (click)="navigateToProductDetail()" pTooltip="Ver detalles" tooltipPosition="top">
15
+ <i class="pi pi-eye text-xl"></i>
16
+ </button>
17
+ </div>
18
+
19
+ <button (click)="shareProductOnWhatsapp()"
20
+ class="absolute bottom-0 right-0 m-3 bg-green-500 border-none text-white w-3rem h-3rem border-circle shadow-4 flex align-items-center justify-content-center cursor-pointer transition-colors transition-duration-200 hover:bg-green-600 z-2">
21
+ <i class="pi pi-whatsapp text-2xl"></i>
22
+ </button>
23
+ </div>
24
+
25
+ <div class="p-3 flex flex-column flex-grow-1">
26
+ <div class="flex gap-2 overflow-x-auto pb-2 mb-3 z-1">
27
+ @for (image of product.imagen; track $index) {
28
+ <img [src]="image.url" (click)="selectImage($index)"
29
+ loading="lazy" width="48" height="48"
30
+ class="w-3rem h-3rem border-round border-2 cursor-pointer flex-shrink-0 transition-all transition-duration-200 object-cover"
31
+ [class.border-900]="isActiveThumbnail($index)" [class.border-transparent]="!isActiveThumbnail($index)"
32
+ [class.opacity-60]="!isActiveThumbnail($index)" />
33
+ }
34
+ </div>
35
+
36
+ <div class="surface-border border-top-1 w-full mb-3"></div>
37
+
38
+ <div class="flex justify-content-between align-items-start gap-2 mb-3">
39
+ <h3 class="text-xl font-semibold text-900 m-0 line-height-3 flex-grow-1 cursor-pointer hover:text-700 transition-colors"
40
+ (click)="navigateToProductDetail()" style="word-break: break-word">
41
+ {{ product.name }}
42
+ </h3>
43
+
44
+ <div class="flex gap-2 flex-shrink-0 mt-1" style="position: relative;">
45
+ @if (isLogin) {
46
+ <p-button (click)="navigateToProductDetail()" pTooltip="Personalizar" icon="pi pi-pencil"
47
+ tooltipPosition="top"
48
+ styleClass="bg-900 text-white w-2rem h-2rem border-circle border-none flex align-items-center justify-content-center cursor-pointer hover:bg-700 transition-colors shadow-1">
49
+ </p-button>
50
+ }
51
+ <!-- Menú flotante de redes estilo PrimeNG -->
52
+ <div class="relative" style="position: absolute; right: -0.75rem; top: -0.75rem; z-index: 10;">
53
+ <button (click)="toggleShareMenu()"
54
+ class="bg-green-500 border-none text-white w-2rem h-2rem border-circle shadow-2 flex align-items-center justify-content-center cursor-pointer transition-colors transition-duration-200 hover:bg-green-600">
55
+ <i class="pi" [ngClass]="{'pi-times': shareMenuOpen, 'pi-share-alt': !shareMenuOpen}"></i>
56
+ </button>
57
+ @if (shareMenuOpen) {
58
+ <div class="flex gap-2 absolute" style="right: 0; top: 2.6rem;">
59
+ <button (click)="touchRedes('whatsapp')" class="border-none w-2rem h-2rem border-circle flex align-items-center justify-content-center cursor-pointer shadow-1" style="background:#25D366;color:#fff">
60
+ <i class="pi pi-whatsapp"></i>
61
+ </button>
62
+ <button (click)="touchRedes('facebook')" class="border-none w-2rem h-2rem border-circle flex align-items-center justify-content-center cursor-pointer shadow-1" style="background:#1877F2;color:#fff">
63
+ <i class="pi pi-facebook"></i>
64
+ </button>
65
+
66
+ </div>
67
+ }
68
+ </div>
69
+ </div>
70
+ </div>
71
+
72
+ <div class="surface-ground p-3 border-round-xl border-1 surface-border text-sm mb-4">
73
+ <div class="flex justify-content-between align-items-center mb-2">
74
+ <strong class="font-bold text-700">Categoría:</strong>
75
+ <span class="text-600 text-right overflow-hidden text-overflow-ellipsis" style="max-width: 60%">
76
+ {{ product.nombreCategoria || 'Sin categoría' }}
77
+ </span>
78
+ </div>
79
+ <div class="flex justify-content-between align-items-center">
80
+ <strong class="font-bold text-700">Disponibles:</strong>
81
+ <span class="text-600 font-medium">{{ product.cantidad }}</span>
82
+ </div>
83
+ </div>
84
+
85
+ <div class="mt-auto">
86
+
87
+
88
+ <div class="flex align-items-end gap-2 mb-3 flex-wrap">
89
+ @if(isLogin){
90
+ @if (product.descuento && product.descuento > 0) {
91
+ <span class="text-500 line-through text-sm mb-1">
92
+ {{ product.precios[0].precio | currency: product.precios[0].codigo_iso : "code" }}
93
+ </span>
94
+ }
95
+
96
+ <span class="text-2xl font-bold text-900">
97
+ {{ discount | currency: product.precios[0].codigo_iso : "code" }}
98
+ </span>
99
+
100
+ @if (product.descuento && product.descuento > 0) {
101
+ <div class="bg-green-100 text-green-700 px-2 py-1 text-xs font-bold border-round mb-1 ml-auto">
102
+ {{ product.descuento }}% OFF
103
+ </div>
104
+ }
105
+ }
106
+ </div>
107
+
108
+ <lib-section-add-cards-buttons [product]="product" [isLogin]="isLogin">
109
+ </lib-section-add-cards-buttons>
110
+
111
+ </div>
112
+ </div>
113
+ } @else {
114
+ <div class="flex align-items-center justify-content-center h-full text-500">
115
+ Producto no disponible
116
+ </div>
117
+ }
118
+ </div>
@@ -0,0 +1,42 @@
1
+ /* 1. Mueve la tarjeta hacia arriba al pasar el mouse (Tu efecto translateY) */
2
+ .hover-effect {
3
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
4
+ &:hover {
5
+ transform: translateY(-4px);
6
+ /* shadow-6 de primeflex ya se encarga de la sombra */
7
+ }
8
+ }
9
+
10
+ /* 2. Zoom suave en la imagen interna */
11
+ .hover-zoom {
12
+ transition: transform 0.35s ease;
13
+ &:hover {
14
+ transform: scale(1.05);
15
+ }
16
+ }
17
+
18
+ /* 3. Ocultar scrollbar en miniaturas */
19
+ .overflow-x-auto {
20
+ scrollbar-width: none; /* Firefox */
21
+ &::-webkit-scrollbar { display: none; } /* Chrome/Safari */
22
+ }
23
+
24
+ /* 4. Overlay de ojo en la imagen del producto */
25
+ .image-hover-container {
26
+ position: relative;
27
+ .image-overlay {
28
+ position: absolute;
29
+ inset: 0;
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ background: rgba(0,0,0,0.18);
34
+ opacity: 0;
35
+ pointer-events: none;
36
+ transition: opacity .25s ease;
37
+ }
38
+ &:hover .image-overlay {
39
+ opacity: 1;
40
+ pointer-events: auto;
41
+ }
42
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { CardProductos1Component } from './card-productos1.component';
4
+
5
+ describe('CardProductos1Component', () => {
6
+ let component: CardProductos1Component;
7
+ let fixture: ComponentFixture<CardProductos1Component>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [CardProductos1Component]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(CardProductos1Component);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,202 @@
1
+ import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';
2
+ import { CurrencyPipe, CommonModule } from '@angular/common';
3
+ import { PrimegModule } from '../../../../../modulos/primeg.module';
4
+ import { ImagenDTO, ProductoDTO } from '@juliaosistem/core-dtos';
5
+ import { Router } from '@angular/router';
6
+ import { ProductService } from '../../../services/product.service';
7
+ import { SectionAddCardsButtons } from "../../section-add-cards-buttons/section-add-cards-buttons";
8
+ import { IonicModule } from '@ionic/angular';
9
+
10
+ type ProductoView = ProductoDTO & { nombreCategoria?: string };
11
+
12
+
13
+ @Component({
14
+ selector: 'lib-card-productos1',
15
+ standalone: true,
16
+ templateUrl: './card-productos1.component.html',
17
+ styleUrls: ['./card-productos1.component.scss'],
18
+ imports: [CommonModule, PrimegModule, SectionAddCardsButtons,IonicModule],
19
+ providers: [CurrencyPipe]
20
+ })
21
+ export class CardProductos1Component implements OnInit, OnDestroy {
22
+
23
+ @Input() product!: ProductoView;
24
+ @Output() addToCart = new EventEmitter<{ product: ProductoDTO, quantity: number }>();
25
+ @Input() isLogin: boolean = false;
26
+ // Ruta base configurable desde el frontal para navegar al detalle
27
+ @Input() detailRouteBase: string[] = ['detalle'];
28
+
29
+ discount = 0;
30
+ currentImageIndex = 0;
31
+ shareMenuOpen = false;
32
+ private readonly shareBaseUrl = 'https://zigmainflables.com';
33
+
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ autoSlideInterval: any;
36
+
37
+ constructor(
38
+ private currencyPipe: CurrencyPipe,
39
+ private productService: ProductService,
40
+ private router: Router
41
+ ) {}
42
+
43
+ /**
44
+ * Inicializa el componente calculando el descuento y
45
+ * arrancando el carrusel de imágenes si el producto es válido.
46
+ */
47
+ ngOnInit(): void {
48
+ if (this.productService.checkIsProductIsnotEmptyOrNull(this.product)) {
49
+ this.discount = this.productService.calculateDiscount(this.product);
50
+ this.startAutoSlide();
51
+ }
52
+ }
53
+
54
+ /**
55
+ * Limpia recursos al destruir el componente, deteniendo
56
+ * el carrusel automático si está activo.
57
+ */
58
+ ngOnDestroy(): void {
59
+ this.stopAutoSlide();
60
+ }
61
+
62
+ /**
63
+ * Devuelve la imagen actualmente seleccionada para el producto.
64
+ * @returns ImagenDTO imagen activa
65
+ */
66
+ get currentImage(): ImagenDTO {
67
+ return this.product.imagen[this.currentImageIndex];
68
+ }
69
+
70
+ /**
71
+ * Devuelve la URL de la imagen actualmente seleccionada.
72
+ * @returns string URL de la imagen activa
73
+ */
74
+ get currentImageUrl(): string {
75
+ return this.currentImage.url;
76
+ }
77
+
78
+ /**
79
+ * Avanza a la siguiente imagen del carrusel, ciclando al inicio
80
+ * cuando se alcanza el final.
81
+ */
82
+ nextImage(): void {
83
+ this.currentImageIndex = (this.currentImageIndex + 1) % this.product.imagen.length;
84
+ }
85
+
86
+ /**
87
+ * Retrocede a la imagen anterior del carrusel, ciclando al final
88
+ * cuando se está al inicio.
89
+ */
90
+ prevImage(): void {
91
+ this.currentImageIndex = (this.currentImageIndex - 1 + this.product.imagen.length) % this.product.imagen.length;
92
+ }
93
+
94
+ /**
95
+ * Selecciona la imagen por índice dentro de la lista de imágenes del producto.
96
+ * @param index Índice de la imagen a mostrar
97
+ */
98
+ selectImage(index: number): void {
99
+ this.currentImageIndex = index;
100
+ }
101
+
102
+ /**
103
+ * Indica si el índice recibido corresponde a la miniatura activa.
104
+ * @param index Índice de miniatura a verificar
105
+ * @returns boolean `true` si es la miniatura activa
106
+ */
107
+ isActiveThumbnail(index: number): boolean {
108
+ return this.currentImageIndex === index;
109
+ }
110
+
111
+ /**
112
+ * Inicia el carrusel automático de imágenes cambiando cada 3 segundos.
113
+ */
114
+ startAutoSlide(): void {
115
+ this.stopAutoSlide();
116
+ this.autoSlideInterval = setInterval(() => this.nextImage(), 3000);
117
+ }
118
+
119
+ /**
120
+ * Detiene el carrusel automático si está activo.
121
+ */
122
+ stopAutoSlide(): void {
123
+ if (this.autoSlideInterval) clearInterval(this.autoSlideInterval);
124
+ }
125
+
126
+ /**
127
+ * Emite el evento para agregar el producto al carrito con la cantidad indicada.
128
+ * @param event Objeto con `{ product, quantity }`
129
+ */
130
+ onAddToCart(event: { product: ProductoDTO; quantity: number }) {
131
+ this.addToCart.emit(event);
132
+ }
133
+
134
+ /**
135
+ * Navega al detalle del producto construyendo la ruta a partir de `detailRouteBase`.
136
+ * Acepta rutas absolutas (inician con `/`) o relativas y pasa el producto en `history.state`.
137
+ */
138
+ navigateToProductDetail(): void {
139
+ if (this.product?.id) {
140
+ const parts = this.detailRouteBase
141
+ .map(p => (p ? p.split('/') : []))
142
+ .reduce((acc: string[], cur: string[]) => acc.concat(cur), [])
143
+ .filter(seg => seg && seg.trim().length > 0);
144
+ const isAbsolute = this.detailRouteBase[0]?.startsWith('/') || false;
145
+ let basePrefix = '';
146
+ if (!isAbsolute) {
147
+ const currentPath = this.router.url.split('?')[0].split('#')[0];
148
+ const firstSeg = currentPath.split('/').filter(Boolean)[0] || '';
149
+ basePrefix = firstSeg ? `/${firstSeg}/` : '/';
150
+ }
151
+ const joined = [...parts, String(this.product.id)].join('/');
152
+ const normalized = (isAbsolute ? '/' : basePrefix) + joined;
153
+ this.router.navigateByUrl(normalized, {
154
+ state: { product: this.product, isLogin: this.isLogin }
155
+ });
156
+ }
157
+ }
158
+
159
+
160
+ /**
161
+ * Abre WhatsApp para compartir información del producto con un mensaje
162
+ * basado en si el usuario tiene sesión iniciada.
163
+ */
164
+ shareProductOnWhatsapp(): void {
165
+ const url = this.shareBaseUrl;
166
+ let text = '';
167
+
168
+ if (this.isLogin) {
169
+ const precio = this.currencyPipe.transform(this.discount, this.product.precios[0].codigo_iso, 'code');
170
+ text = `¡Mira esto! ${this.product.name} por solo ${precio}`;
171
+ } else {
172
+ const id = this.product?.id ?? '';
173
+ text = `Hola, estoy interesado en el producto Referencia ${id}: ${this.product.name}`;
174
+ }
175
+
176
+ window.open(`https://api.whatsapp.com/send?text=${encodeURIComponent(text + ' ' + url)}`, '_blank');
177
+ }
178
+ /**
179
+ * Alterna la visibilidad del menú flotante de compartir en redes.
180
+ */
181
+ toggleShareMenu(): void {
182
+ this.shareMenuOpen = !this.shareMenuOpen;
183
+ }
184
+
185
+ /**
186
+ * Acciones de compartir en redes sociales soportadas.
187
+ * @param red Red a utilizar: `'whatsapp' | 'facebook' | 'instagram'`
188
+ */
189
+ touchRedes(red: 'whatsapp' | 'facebook' | 'instagram') {
190
+ const url = this.shareBaseUrl;
191
+ const name = this.product?.name ?? '';
192
+ if (red === 'whatsapp') {
193
+ const text = `Mira este producto: ${name} - ${url}`;
194
+ window.open(`https://api.whatsapp.com/send?text=${encodeURIComponent(text)}`,'_blank');
195
+ }
196
+ if (red === 'facebook') {
197
+ const fbUrl = `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`;
198
+ window.open(fbUrl,'_blank','noopener');
199
+ }
200
+ }
201
+
202
+ }