general-library-union 2.5.34 → 2.5.36

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 (640) hide show
  1. package/.browserslistrc +15 -0
  2. package/.editorconfig +16 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/angular.json +143 -0
  7. package/karma.conf.js +44 -0
  8. package/ng-package.json +21 -0
  9. package/package.json +28 -17
  10. package/{public-api.d.ts → public-api.ts} +73 -35
  11. package/src/app/app.component.html +12 -0
  12. package/src/app/app.component.scss +0 -0
  13. package/src/app/app.component.spec.ts +29 -0
  14. package/src/app/app.component.ts +34 -0
  15. package/src/app/app.config.ts +43 -0
  16. package/src/app/app.module.ts +10 -0
  17. package/src/app/app.routes.ts +88 -0
  18. package/src/app/core/componentes/breadcrumb/breadcrumb.component.html +6 -0
  19. package/src/app/core/componentes/breadcrumb/breadcrumb.component.scss +0 -0
  20. package/src/app/core/componentes/breadcrumb/breadcrumb.component.ts +39 -0
  21. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.html +1 -0
  22. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.scss +0 -0
  23. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.ts +31 -0
  24. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.html +9 -0
  25. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.scss +28 -0
  26. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.ts +32 -0
  27. package/src/app/core/componentes/filtro-general/filtro-general.component.html +34 -0
  28. package/src/app/core/componentes/filtro-general/filtro-general.component.scss +3 -0
  29. package/src/app/core/componentes/filtro-general/filtro-general.component.ts +201 -0
  30. package/src/app/core/componentes/footer/footer.component.html +13 -0
  31. package/src/app/core/componentes/footer/footer.component.scss +3 -0
  32. package/src/app/core/componentes/footer/footer.component.ts +20 -0
  33. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.html +267 -0
  34. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.scss +21 -0
  35. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.ts +275 -0
  36. package/src/app/core/componentes/formulariodinamico/objetosformulario/{Cambio.d.ts → Cambio.ts} +9 -3
  37. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.ts +118 -0
  38. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.ts +76 -0
  39. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.ts +67 -0
  40. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.ts +11 -0
  41. package/src/app/core/componentes/inicio-component/inicio-component.component.html +29 -0
  42. package/src/app/core/componentes/inicio-component/inicio-component.component.scss +69 -0
  43. package/src/app/core/componentes/inicio-component/inicio-component.component.ts +65 -0
  44. package/src/app/core/componentes/menu/menu.component.html +13 -0
  45. package/src/app/core/componentes/menu/menu.component.scss +36 -0
  46. package/src/app/core/componentes/menu/menu.component.ts +35 -0
  47. package/src/app/core/componentes/tabla-general/tabla-general.component.html +90 -0
  48. package/src/app/core/componentes/tabla-general/tabla-general.component.scss +0 -0
  49. package/src/app/core/componentes/tabla-general/tabla-general.component.ts +96 -0
  50. package/src/app/core/core.module.ts +22 -0
  51. package/src/app/core/errores/authentication.error.ts +6 -0
  52. package/src/app/core/modelos/error-response.model.ts +9 -0
  53. package/src/app/core/modelos/table-column.model.ts +10 -0
  54. package/src/app/core/modelos/user.model.ts +6 -0
  55. package/src/app/core/plantilla-general/plantilla-general.template.html +139 -0
  56. package/src/app/core/plantilla-general/plantilla-general.template.scss +37 -0
  57. package/src/app/core/plantilla-general/plantilla-general.template.ts +233 -0
  58. package/src/app/core/servicios/auth.service.ts +189 -0
  59. package/src/app/core/servicios/cargar-control-funcionalidad.service.ts +49 -0
  60. package/src/app/core/servicios/data-exporter-table.utils.ts +55 -0
  61. package/src/app/core/servicios/error-interceptor.service.ts +146 -0
  62. package/src/app/core/servicios/guardias/auth.guard.ts +51 -0
  63. package/src/app/core/servicios/guardias/publico.guard.ts +26 -0
  64. package/src/app/core/servicios/interceptores/token-interceptor.service.ts +110 -0
  65. package/src/app/core/servicios/loading.service.ts +48 -0
  66. package/src/app/core/servicios/menu.service.ts +153 -0
  67. package/src/app/core/servicios/storage.service.ts +68 -0
  68. package/src/app/core/servicios/template.service.ts +91 -0
  69. package/src/app/core/servicios/toast.service.ts +96 -0
  70. package/src/app/core/servicios/utils.service.ts +351 -0
  71. package/src/app/core/sharedlib.module.ts +11 -0
  72. package/src/app/core/utilidades/color.util.ts +197 -0
  73. package/src/app/layout/api/{menuchangeevent.d.ts → menuchangeevent.ts} +1 -1
  74. package/src/app/layout/app.breadcrumb.component.html +20 -0
  75. package/src/app/layout/app.breadcrumb.component.ts +78 -0
  76. package/src/app/layout/app.footer.component.html +18 -0
  77. package/src/app/layout/app.footer.component.ts +15 -0
  78. package/src/app/layout/app.layout.component.html +20 -0
  79. package/src/app/layout/app.layout.component.ts +201 -0
  80. package/src/app/layout/app.layout.module.ts +9 -0
  81. package/src/app/layout/app.menu.component.html +6 -0
  82. package/src/app/layout/app.menu.component.ts +51 -0
  83. package/src/app/layout/app.menu.service.ts +23 -0
  84. package/src/app/layout/app.menuitem.component.ts +252 -0
  85. package/src/app/layout/app.menuprofile.component.html +35 -0
  86. package/src/app/layout/app.menuprofile.component.ts +60 -0
  87. package/src/app/layout/app.rightmenu.component.html +72 -0
  88. package/src/app/layout/app.rightmenu.component.ts +24 -0
  89. package/src/app/layout/app.sidebar.component.html +40 -0
  90. package/src/app/layout/app.sidebar.component.ts +81 -0
  91. package/src/app/layout/app.topbar.component.html +214 -0
  92. package/src/app/layout/app.topbar.component.ts +335 -0
  93. package/src/app/layout/config/app.config.component.html +125 -0
  94. package/src/app/layout/config/app.config.component.ts +206 -0
  95. package/src/app/layout/config/app.config.module.ts +11 -0
  96. package/src/app/layout/service/app.layout.service.ts +191 -0
  97. package/src/app/publico/pages/login/login.page.html +53 -0
  98. package/src/app/publico/pages/login/login.page.scss +166 -0
  99. package/src/app/publico/pages/login/login.page.ts +128 -0
  100. package/src/app/publico/pages/not-found/not-found.page.html +35 -0
  101. package/src/app/publico/pages/not-found/not-found.page.scss +2 -0
  102. package/src/app/publico/pages/not-found/not-found.page.ts +46 -0
  103. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.html +58 -0
  104. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.scss +49 -0
  105. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.ts +176 -0
  106. package/src/app/publico/pages/timeout/timeout.page.html +24 -0
  107. package/src/app/publico/pages/timeout/timeout.page.scss +2 -0
  108. package/src/app/publico/pages/timeout/timeout.page.ts +18 -0
  109. package/src/app/seguridad/constantes/ConstantesGenerales.ts +30 -0
  110. package/src/app/seguridad/constantes/ReporteEntradaConstantes.ts +18 -0
  111. package/src/app/seguridad/constantes/ReporteFuenteConstantes.ts +13 -0
  112. package/src/app/seguridad/modelos/AplicacionModel.ts +11 -0
  113. package/src/app/seguridad/modelos/ArchivoPortalModel.ts +16 -0
  114. package/src/app/seguridad/modelos/AtributoPuntoModel.ts +9 -0
  115. package/src/app/seguridad/modelos/AtributoSSOportalModel.ts +22 -0
  116. package/src/app/seguridad/modelos/{AuditoriaArchivoModel.d.ts → AuditoriaArchivoModel.ts} +5 -2
  117. package/src/app/seguridad/modelos/CargueLineaModel.ts +17 -0
  118. package/src/app/seguridad/modelos/ColoresRGB.ts +17 -0
  119. package/src/app/seguridad/modelos/ColumnaFuenteModel.ts +9 -0
  120. package/src/app/seguridad/modelos/{ColumnaWraperModel.d.ts → ColumnaWraperModel.ts} +5 -4
  121. package/src/app/seguridad/modelos/ComplementoModel.ts +10 -0
  122. package/src/app/seguridad/modelos/ComponentePaginaModel.ts +22 -0
  123. package/src/app/seguridad/modelos/ConexionModel.ts +15 -0
  124. package/src/app/seguridad/modelos/{ContenidoHtmlPortalModel.d.ts → ContenidoHtmlPortalModel.ts} +7 -2
  125. package/src/app/seguridad/modelos/ControlFuncionModel.ts +10 -0
  126. package/src/app/seguridad/modelos/CorreoModel.ts +45 -0
  127. package/src/app/seguridad/modelos/CorreoWSModel.ts +49 -0
  128. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.ts +14 -0
  129. package/src/app/seguridad/modelos/{DatoInicioModel.d.ts → DatoInicioModel.ts} +4 -3
  130. package/src/app/seguridad/modelos/{EjecucionReporteDataModel.d.ts → EjecucionReporteDataModel.ts} +3 -2
  131. package/src/app/seguridad/modelos/EmpresaModel.ts +25 -0
  132. package/src/app/seguridad/modelos/EmpresaSeguridadModel.ts +19 -0
  133. package/src/app/seguridad/modelos/{EntradaComplementoModel.d.ts → EntradaComplementoModel.ts} +5 -2
  134. package/src/app/seguridad/modelos/EtiquetaModel.ts +4 -0
  135. package/src/app/seguridad/modelos/Etiquetas.ts +14 -0
  136. package/src/app/seguridad/modelos/{ForeingWraperModel.d.ts → ForeingWraperModel.ts} +5 -2
  137. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.ts +21 -0
  138. package/src/app/seguridad/modelos/{FuenteCampoModel.d.ts → FuenteCampoModel.ts} +6 -2
  139. package/src/app/seguridad/modelos/FuenteDato.ts +19 -0
  140. package/src/app/seguridad/modelos/FuenteEntradaModel.ts +9 -0
  141. package/src/app/seguridad/modelos/{FuenteGeneralModel.d.ts → FuenteGeneralModel.ts} +21 -2
  142. package/src/app/seguridad/modelos/FuenteLineaServicioModel.ts +19 -0
  143. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.ts +14 -0
  144. package/src/app/seguridad/modelos/{FuenteServicioModel.d.ts → FuenteServicioModel.ts} +16 -2
  145. package/src/app/seguridad/modelos/FuncionalidadModel.ts +12 -0
  146. package/src/app/seguridad/modelos/GeneralModel.ts +16 -0
  147. package/src/app/seguridad/modelos/{GrupoAccesoModel.d.ts → GrupoAccesoModel.ts} +5 -2
  148. package/src/app/seguridad/modelos/GrupoControlFuncionModel.ts +12 -0
  149. package/src/app/seguridad/modelos/GrupoFuenteModel.ts +17 -0
  150. package/src/app/seguridad/modelos/GrupoPermisoModel.ts +16 -0
  151. package/src/app/seguridad/modelos/{JoinFromModel.d.ts → JoinFromModel.ts} +2 -2
  152. package/src/app/seguridad/modelos/ListaServicioModel.ts +18 -0
  153. package/src/app/seguridad/modelos/LlaveForaneaModel.ts +6 -0
  154. package/src/app/seguridad/modelos/LoginModel.ts +19 -0
  155. package/src/app/seguridad/modelos/MensajeSistemaModel.ts +10 -0
  156. package/src/app/seguridad/modelos/{MenuPortalModel.d.ts → MenuPortalModel.ts} +2 -1
  157. package/src/app/seguridad/modelos/ModulosModel.ts +17 -0
  158. package/src/app/seguridad/modelos/{ObjetoReporteModel.d.ts → ObjetoReporteModel.ts} +3 -2
  159. package/src/app/seguridad/modelos/PaginaPortalModel.ts +23 -0
  160. package/src/app/seguridad/modelos/ParametroComponenteModel.ts +9 -0
  161. package/src/app/seguridad/modelos/ParametrosGeneralModel.ts +16 -0
  162. package/src/app/seguridad/modelos/PermisoFuncionModel.ts +11 -0
  163. package/src/app/seguridad/modelos/PermisocontenidoModel.ts +20 -0
  164. package/src/app/seguridad/modelos/{PeticionModel.d.ts → PeticionModel.ts} +6 -1
  165. package/src/app/seguridad/modelos/PreguntaSeguridadModel.ts +9 -0
  166. package/src/app/seguridad/modelos/PropiedadModel.ts +12 -0
  167. package/src/app/seguridad/modelos/PublicacionWebModel.ts +29 -0
  168. package/src/app/seguridad/modelos/PuntoProcesoModel.ts +7 -0
  169. package/src/app/seguridad/modelos/RecursoPunto.ts +13 -0
  170. package/src/app/seguridad/modelos/RecursoPuntoModel.ts +13 -0
  171. package/src/app/seguridad/modelos/ReporteBanda.ts +9 -0
  172. package/src/app/seguridad/modelos/ReporteColumna.ts +33 -0
  173. package/src/app/seguridad/modelos/ReporteColumnario.ts +82 -0
  174. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.ts +31 -0
  175. package/src/app/seguridad/modelos/{ReporteEntradaModel.d.ts → ReporteEntradaModel.ts} +4 -2
  176. package/src/app/seguridad/modelos/{ReporteFuenteModel.d.ts → ReporteFuenteModel.ts} +70 -16
  177. package/src/app/seguridad/modelos/ReporteMarcador.ts +40 -0
  178. package/src/app/seguridad/modelos/ReporteSoporte.ts +10 -0
  179. package/src/app/seguridad/modelos/ReporteTabla.ts +14 -0
  180. package/src/app/seguridad/modelos/RespuestaModel.ts +10 -0
  181. package/src/app/seguridad/modelos/{RolModel.d.ts → RolModel.ts} +8 -4
  182. package/src/app/seguridad/modelos/ServidorCorreoModel.ts +31 -0
  183. package/src/app/seguridad/modelos/SistemaMensajeModel.ts +11 -0
  184. package/src/app/seguridad/modelos/SitioPortalModel.ts +29 -0
  185. package/src/app/seguridad/modelos/TablaFromModel.ts +5 -0
  186. package/src/app/seguridad/modelos/TareasModel.ts +54 -0
  187. package/src/app/seguridad/modelos/TextoModel.ts +11 -0
  188. package/src/app/seguridad/modelos/TipoEtiqueta.ts +8 -0
  189. package/src/app/seguridad/modelos/UnionModel.ts +14 -0
  190. package/src/app/seguridad/modelos/{UsuarioModel.d.ts → UsuarioModel.ts} +16 -5
  191. package/src/app/seguridad/modelos/UsuariogrupoModel.ts +27 -0
  192. package/src/app/seguridad/modelos/aplicacion-propiedad-model.ts +16 -0
  193. package/src/app/seguridad/modelos/contenidoCorreoModel.ts +13 -0
  194. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.html +47 -0
  195. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.scss +8 -0
  196. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.ts +141 -0
  197. package/src/app/shared/servicios/cargar-archivos.service.ts +51 -0
  198. package/src/app/shared/servicios/cargar-mapas.service.ts +43 -0
  199. package/src/app/shared/servicios/encriptado-basico.service.ts +54 -0
  200. package/src/app/shared/servicios/encriptador-simetrico.service.ts +29 -0
  201. package/src/app/shared/servicios/general.service.ts +124 -0
  202. package/src/app/shared/servicios/parametros-navegacion.service.ts +20 -0
  203. package/src/app/shared/servicios/plantillas.service.ts +22 -0
  204. package/src/app/shared/utilidades/translate-loader.util.ts +44 -0
  205. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.html +167 -0
  206. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.scss +11 -0
  207. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.ts +425 -0
  208. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.html +87 -0
  209. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.scss +0 -0
  210. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.ts +189 -0
  211. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.html +117 -0
  212. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.scss +0 -0
  213. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.ts +87 -0
  214. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.html +158 -0
  215. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.scss +6 -0
  216. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.ts +345 -0
  217. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.html +131 -0
  218. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.scss +0 -0
  219. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.ts +198 -0
  220. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.html +206 -0
  221. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.scss +3 -0
  222. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.ts +329 -0
  223. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.html +2114 -0
  224. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.scss +241 -0
  225. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.ts +1677 -0
  226. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.html +33 -0
  227. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.scss +0 -0
  228. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.ts +96 -0
  229. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.html +47 -0
  230. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.scss +0 -0
  231. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.ts +101 -0
  232. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.html +394 -0
  233. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.scss +10 -0
  234. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.ts +599 -0
  235. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.html +130 -0
  236. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.scss +0 -0
  237. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.ts +172 -0
  238. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.html +376 -0
  239. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.scss +5 -0
  240. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.ts +749 -0
  241. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.html +145 -0
  242. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.scss +0 -0
  243. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.ts +302 -0
  244. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.html +19 -0
  245. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.scss +0 -0
  246. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.ts +89 -0
  247. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.html +713 -0
  248. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.scss +0 -0
  249. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.ts +688 -0
  250. package/src/app/webcommon/pipes/dashboard.pipe.ts +79 -0
  251. package/src/app/webcommon/pipes/fuente.pipe.ts +207 -0
  252. package/src/app/webcommon/pipes/general.pipe.ts +1043 -0
  253. package/src/app/webcommon/pipes/reporte-columnario.pipe.ts +101 -0
  254. package/src/app/webcommon/pipes/reporte-fuente.pipe.ts +306 -0
  255. package/src/app/webcommon/pipes/sara-general.pipe.ts +289 -0
  256. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.html +90 -0
  257. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.scss +0 -0
  258. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.ts +262 -0
  259. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.html +50 -0
  260. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.scss +0 -0
  261. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.ts +135 -0
  262. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.html +41 -0
  263. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.scss +0 -0
  264. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.ts +283 -0
  265. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.html +179 -0
  266. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.scss +3 -0
  267. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.ts +266 -0
  268. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.html +261 -0
  269. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.scss +13 -0
  270. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.ts +519 -0
  271. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.html +10 -0
  272. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.scss +5 -0
  273. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.ts +58 -0
  274. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.html +71 -0
  275. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.scss +0 -0
  276. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.ts +151 -0
  277. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.html +11 -0
  278. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.scss +0 -0
  279. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.ts +82 -0
  280. package/src/app/webcommon/services/carguelinea.service.ts +72 -0
  281. package/src/app/webcommon/services/dashboard.service.ts +258 -0
  282. package/src/app/webcommon/services/ejecucionreporte.service.ts +160 -0
  283. package/src/app/webcommon/services/fechaUtils.service.ts +117 -0
  284. package/src/app/webcommon/services/fuentegeneral.service.ts +74 -0
  285. package/src/app/webcommon/services/homologacion.service.ts +49 -0
  286. package/src/app/webcommon/services/plantillas.service.ts +165 -0
  287. package/src/app/webcommon/services/reportes.service.ts +133 -0
  288. package/src/app/webcommon/webcommon.module.ts +11 -0
  289. package/src/environments/environment.prod.ts +3 -0
  290. package/src/environments/environment.ts +25 -0
  291. package/src/favicon.ico +0 -0
  292. package/src/index.html +14 -0
  293. package/src/main.ts +12 -0
  294. package/src/polyfills.ts +53 -0
  295. package/src/test.ts +14 -0
  296. package/tsconfig.app.json +15 -0
  297. package/tsconfig.json +35 -0
  298. package/tsconfig.spec.json +18 -0
  299. package/esm2022/general-library-union.mjs +0 -5
  300. package/esm2022/public-api.mjs +0 -177
  301. package/esm2022/src/app/core/componentes/breadcrumb/breadcrumb.component.mjs +0 -40
  302. package/esm2022/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.mjs +0 -28
  303. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +0 -201
  304. package/esm2022/src/app/core/componentes/footer/footer.component.mjs +0 -16
  305. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +0 -272
  306. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/Cambio.mjs +0 -11
  307. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.mjs +0 -124
  308. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.mjs +0 -73
  309. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.mjs +0 -59
  310. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.mjs +0 -21
  311. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +0 -67
  312. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +0 -37
  313. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +0 -93
  314. package/esm2022/src/app/core/core.module.mjs +0 -23
  315. package/esm2022/src/app/core/errores/authentication.error.mjs +0 -7
  316. package/esm2022/src/app/core/modelos/error-response.model.mjs +0 -2
  317. package/esm2022/src/app/core/modelos/table-column.model.mjs +0 -2
  318. package/esm2022/src/app/core/modelos/user.model.mjs +0 -7
  319. package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +0 -230
  320. package/esm2022/src/app/core/servicios/auth.service.mjs +0 -185
  321. package/esm2022/src/app/core/servicios/cargar-control-funcionalidad.service.mjs +0 -57
  322. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +0 -44
  323. package/esm2022/src/app/core/servicios/error-interceptor.service.mjs +0 -148
  324. package/esm2022/src/app/core/servicios/guardias/auth.guard.mjs +0 -66
  325. package/esm2022/src/app/core/servicios/guardias/publico.guard.mjs +0 -35
  326. package/esm2022/src/app/core/servicios/interceptores/token-interceptor.service.mjs +0 -120
  327. package/esm2022/src/app/core/servicios/loading.service.mjs +0 -43
  328. package/esm2022/src/app/core/servicios/menu.service.mjs +0 -146
  329. package/esm2022/src/app/core/servicios/storage.service.mjs +0 -68
  330. package/esm2022/src/app/core/servicios/template.service.mjs +0 -99
  331. package/esm2022/src/app/core/servicios/toast.service.mjs +0 -98
  332. package/esm2022/src/app/core/servicios/utils.service.mjs +0 -324
  333. package/esm2022/src/app/core/sharedlib.module.mjs +0 -16
  334. package/esm2022/src/app/core/utilidades/color.util.mjs +0 -177
  335. package/esm2022/src/app/layout/api/menuchangeevent.mjs +0 -2
  336. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +0 -71
  337. package/esm2022/src/app/layout/app.footer.component.mjs +0 -18
  338. package/esm2022/src/app/layout/app.layout.component.mjs +0 -188
  339. package/esm2022/src/app/layout/app.layout.module.mjs +0 -15
  340. package/esm2022/src/app/layout/app.menu.component.mjs +0 -51
  341. package/esm2022/src/app/layout/app.menu.service.mjs +0 -24
  342. package/esm2022/src/app/layout/app.menuitem.component.mjs +0 -296
  343. package/esm2022/src/app/layout/app.menuprofile.component.mjs +0 -78
  344. package/esm2022/src/app/layout/app.rightmenu.component.mjs +0 -24
  345. package/esm2022/src/app/layout/app.sidebar.component.mjs +0 -92
  346. package/esm2022/src/app/layout/app.topbar.component.mjs +0 -345
  347. package/esm2022/src/app/layout/service/app.layout.service.mjs +0 -134
  348. package/esm2022/src/app/publico/pages/login/login.page.mjs +0 -129
  349. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +0 -51
  350. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +0 -167
  351. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +0 -20
  352. package/esm2022/src/app/seguridad/constantes/ConstantesGenerales.mjs +0 -30
  353. package/esm2022/src/app/seguridad/constantes/ReporteEntradaConstantes.mjs +0 -19
  354. package/esm2022/src/app/seguridad/modelos/AplicacionModel.mjs +0 -8
  355. package/esm2022/src/app/seguridad/modelos/ArchivoPortalModel.mjs +0 -14
  356. package/esm2022/src/app/seguridad/modelos/AtributoPuntoModel.mjs +0 -9
  357. package/esm2022/src/app/seguridad/modelos/AtributoSSOportalModel.mjs +0 -17
  358. package/esm2022/src/app/seguridad/modelos/AuditoriaArchivoModel.mjs +0 -11
  359. package/esm2022/src/app/seguridad/modelos/CargueLineaModel.mjs +0 -13
  360. package/esm2022/src/app/seguridad/modelos/ColoresRGB.mjs +0 -18
  361. package/esm2022/src/app/seguridad/modelos/ColumnaFuenteModel.mjs +0 -9
  362. package/esm2022/src/app/seguridad/modelos/ColumnaWraperModel.mjs +0 -6
  363. package/esm2022/src/app/seguridad/modelos/ComplementoModel.mjs +0 -7
  364. package/esm2022/src/app/seguridad/modelos/ComponentePaginaModel.mjs +0 -21
  365. package/esm2022/src/app/seguridad/modelos/ConexionModel.mjs +0 -14
  366. package/esm2022/src/app/seguridad/modelos/ContenidoHtmlPortalModel.mjs +0 -21
  367. package/esm2022/src/app/seguridad/modelos/ControlFuncionModel.mjs +0 -8
  368. package/esm2022/src/app/seguridad/modelos/CorreoModel.mjs +0 -35
  369. package/esm2022/src/app/seguridad/modelos/CorreoWSModel.mjs +0 -37
  370. package/esm2022/src/app/seguridad/modelos/CruceRecursoPuntoModel.mjs +0 -14
  371. package/esm2022/src/app/seguridad/modelos/DatoInicioModel.mjs +0 -6
  372. package/esm2022/src/app/seguridad/modelos/EjecucionReporteDataModel.mjs +0 -14
  373. package/esm2022/src/app/seguridad/modelos/EmpresaModel.mjs +0 -25
  374. package/esm2022/src/app/seguridad/modelos/EmpresaSeguridadModel.mjs +0 -19
  375. package/esm2022/src/app/seguridad/modelos/EntradaComplementoModel.mjs +0 -7
  376. package/esm2022/src/app/seguridad/modelos/EtiquetaModel.mjs +0 -5
  377. package/esm2022/src/app/seguridad/modelos/Etiquetas.mjs +0 -12
  378. package/esm2022/src/app/seguridad/modelos/ForeingWraperModel.mjs +0 -6
  379. package/esm2022/src/app/seguridad/modelos/FuenteCampoAtributoModel.mjs +0 -16
  380. package/esm2022/src/app/seguridad/modelos/FuenteCampoModel.mjs +0 -17
  381. package/esm2022/src/app/seguridad/modelos/FuenteDato.mjs +0 -19
  382. package/esm2022/src/app/seguridad/modelos/FuenteEntradaModel.mjs +0 -9
  383. package/esm2022/src/app/seguridad/modelos/FuenteGeneralModel.mjs +0 -37
  384. package/esm2022/src/app/seguridad/modelos/FuenteLineaServicioModel.mjs +0 -16
  385. package/esm2022/src/app/seguridad/modelos/FuenteProcesoGeneralModel.mjs +0 -11
  386. package/esm2022/src/app/seguridad/modelos/FuenteServicioModel.mjs +0 -51
  387. package/esm2022/src/app/seguridad/modelos/FuncionalidadModel.mjs +0 -10
  388. package/esm2022/src/app/seguridad/modelos/GeneralModel.mjs +0 -15
  389. package/esm2022/src/app/seguridad/modelos/GrupoAccesoModel.mjs +0 -7
  390. package/esm2022/src/app/seguridad/modelos/GrupoControlFuncionModel.mjs +0 -10
  391. package/esm2022/src/app/seguridad/modelos/GrupoFuenteModel.mjs +0 -13
  392. package/esm2022/src/app/seguridad/modelos/GrupoPermisoModel.mjs +0 -14
  393. package/esm2022/src/app/seguridad/modelos/JoinFromModel.mjs +0 -5
  394. package/esm2022/src/app/seguridad/modelos/ListaServicioModel.mjs +0 -17
  395. package/esm2022/src/app/seguridad/modelos/LlaveForaneaModel.mjs +0 -7
  396. package/esm2022/src/app/seguridad/modelos/LoginModel.mjs +0 -15
  397. package/esm2022/src/app/seguridad/modelos/MensajeSistemaModel.mjs +0 -8
  398. package/esm2022/src/app/seguridad/modelos/MenuPortalModel.mjs +0 -5
  399. package/esm2022/src/app/seguridad/modelos/ModulosModel.mjs +0 -18
  400. package/esm2022/src/app/seguridad/modelos/ObjetoReporteModel.mjs +0 -6
  401. package/esm2022/src/app/seguridad/modelos/PaginaPortalModel.mjs +0 -20
  402. package/esm2022/src/app/seguridad/modelos/ParametroComponenteModel.mjs +0 -9
  403. package/esm2022/src/app/seguridad/modelos/ParametrosGeneralModel.mjs +0 -15
  404. package/esm2022/src/app/seguridad/modelos/PermisoFuncionModel.mjs +0 -9
  405. package/esm2022/src/app/seguridad/modelos/PermisocontenidoModel.mjs +0 -20
  406. package/esm2022/src/app/seguridad/modelos/PeticionModel.mjs +0 -16
  407. package/esm2022/src/app/seguridad/modelos/PreguntaSeguridadModel.mjs +0 -7
  408. package/esm2022/src/app/seguridad/modelos/PropiedadModel.mjs +0 -10
  409. package/esm2022/src/app/seguridad/modelos/PublicacionWebModel.mjs +0 -27
  410. package/esm2022/src/app/seguridad/modelos/PuntoProcesoModel.mjs +0 -7
  411. package/esm2022/src/app/seguridad/modelos/RecursoPunto.mjs +0 -13
  412. package/esm2022/src/app/seguridad/modelos/RecursoPuntoModel.mjs +0 -13
  413. package/esm2022/src/app/seguridad/modelos/ReporteBanda.mjs +0 -8
  414. package/esm2022/src/app/seguridad/modelos/ReporteColumna.mjs +0 -33
  415. package/esm2022/src/app/seguridad/modelos/ReporteColumnario.mjs +0 -69
  416. package/esm2022/src/app/seguridad/modelos/ReporteColumnarioMarcador.mjs +0 -24
  417. package/esm2022/src/app/seguridad/modelos/ReporteEntradaModel.mjs +0 -20
  418. package/esm2022/src/app/seguridad/modelos/ReporteFuenteModel.mjs +0 -124
  419. package/esm2022/src/app/seguridad/modelos/ReporteMarcador.mjs +0 -40
  420. package/esm2022/src/app/seguridad/modelos/ReporteSoporte.mjs +0 -10
  421. package/esm2022/src/app/seguridad/modelos/ReporteTabla.mjs +0 -13
  422. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +0 -9
  423. package/esm2022/src/app/seguridad/modelos/RolModel.mjs +0 -39
  424. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +0 -28
  425. package/esm2022/src/app/seguridad/modelos/SistemaMensajeModel.mjs +0 -9
  426. package/esm2022/src/app/seguridad/modelos/SitioPortalModel.mjs +0 -25
  427. package/esm2022/src/app/seguridad/modelos/TablaFromModel.mjs +0 -5
  428. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +0 -54
  429. package/esm2022/src/app/seguridad/modelos/TextoModel.mjs +0 -9
  430. package/esm2022/src/app/seguridad/modelos/TipoEtiqueta.mjs +0 -8
  431. package/esm2022/src/app/seguridad/modelos/UnionModel.mjs +0 -12
  432. package/esm2022/src/app/seguridad/modelos/UsuarioModel.mjs +0 -53
  433. package/esm2022/src/app/seguridad/modelos/UsuariogrupoModel.mjs +0 -24
  434. package/esm2022/src/app/seguridad/modelos/aplicacion-propiedad-model.mjs +0 -15
  435. package/esm2022/src/app/seguridad/modelos/contenidoCorreoModel.mjs +0 -10
  436. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +0 -151
  437. package/esm2022/src/app/shared/servicios/cargar-archivos.service.mjs +0 -54
  438. package/esm2022/src/app/shared/servicios/cargar-mapas.service.mjs +0 -46
  439. package/esm2022/src/app/shared/servicios/encriptado-basico.service.mjs +0 -53
  440. package/esm2022/src/app/shared/servicios/general.service.mjs +0 -104
  441. package/esm2022/src/app/shared/servicios/parametros-navegacion.service.mjs +0 -21
  442. package/esm2022/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.mjs +0 -370
  443. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +0 -187
  444. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.mjs +0 -85
  445. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.mjs +0 -347
  446. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +0 -206
  447. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +0 -328
  448. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +0 -1569
  449. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.mjs +0 -105
  450. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +0 -103
  451. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +0 -588
  452. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +0 -177
  453. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +0 -749
  454. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +0 -331
  455. package/esm2022/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.mjs +0 -96
  456. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +0 -675
  457. package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +0 -86
  458. package/esm2022/src/app/webcommon/pipes/fuente.pipe.mjs +0 -201
  459. package/esm2022/src/app/webcommon/pipes/general.pipe.mjs +0 -916
  460. package/esm2022/src/app/webcommon/pipes/reporte-columnario.pipe.mjs +0 -115
  461. package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +0 -301
  462. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +0 -267
  463. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +0 -128
  464. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +0 -293
  465. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +0 -269
  466. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +0 -515
  467. package/esm2022/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.mjs +0 -64
  468. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +0 -159
  469. package/esm2022/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.mjs +0 -89
  470. package/esm2022/src/app/webcommon/services/carguelinea.service.mjs +0 -69
  471. package/esm2022/src/app/webcommon/services/dashboard.service.mjs +0 -253
  472. package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +0 -114
  473. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +0 -88
  474. package/esm2022/src/app/webcommon/services/fuentegeneral.service.mjs +0 -68
  475. package/esm2022/src/app/webcommon/services/homologacion.service.mjs +0 -50
  476. package/esm2022/src/app/webcommon/services/plantillas.service.mjs +0 -129
  477. package/esm2022/src/app/webcommon/services/reportes.service.mjs +0 -95
  478. package/esm2022/src/app/webcommon/webcommon.module.mjs +0 -15
  479. package/esm2022/src/environments/environment.mjs +0 -24
  480. package/fesm2022/general-library-union.mjs +0 -15651
  481. package/fesm2022/general-library-union.mjs.map +0 -1
  482. package/index.d.ts +0 -5
  483. package/src/app/core/componentes/breadcrumb/breadcrumb.component.d.ts +0 -18
  484. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.d.ts +0 -14
  485. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +0 -35
  486. package/src/app/core/componentes/footer/footer.component.d.ts +0 -9
  487. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.d.ts +0 -46
  488. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.d.ts +0 -44
  489. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.d.ts +0 -45
  490. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.d.ts +0 -33
  491. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.d.ts +0 -9
  492. package/src/app/core/componentes/inicio-component/inicio-component.component.d.ts +0 -24
  493. package/src/app/core/componentes/menu/menu.component.d.ts +0 -16
  494. package/src/app/core/componentes/tabla-general/tabla-general.component.d.ts +0 -32
  495. package/src/app/core/core.module.d.ts +0 -8
  496. package/src/app/core/errores/authentication.error.d.ts +0 -3
  497. package/src/app/core/modelos/error-response.model.d.ts +0 -9
  498. package/src/app/core/modelos/table-column.model.d.ts +0 -12
  499. package/src/app/core/modelos/user.model.d.ts +0 -6
  500. package/src/app/core/plantilla-general/plantilla-general.template.d.ts +0 -89
  501. package/src/app/core/servicios/auth.service.d.ts +0 -52
  502. package/src/app/core/servicios/cargar-control-funcionalidad.service.d.ts +0 -19
  503. package/src/app/core/servicios/data-exporter-table.utils.d.ts +0 -8
  504. package/src/app/core/servicios/error-interceptor.service.d.ts +0 -41
  505. package/src/app/core/servicios/guardias/auth.guard.d.ts +0 -17
  506. package/src/app/core/servicios/guardias/publico.guard.d.ts +0 -13
  507. package/src/app/core/servicios/interceptores/token-interceptor.service.d.ts +0 -21
  508. package/src/app/core/servicios/loading.service.d.ts +0 -22
  509. package/src/app/core/servicios/menu.service.d.ts +0 -35
  510. package/src/app/core/servicios/storage.service.d.ts +0 -37
  511. package/src/app/core/servicios/template.service.d.ts +0 -20
  512. package/src/app/core/servicios/toast.service.d.ts +0 -46
  513. package/src/app/core/servicios/utils.service.d.ts +0 -42
  514. package/src/app/core/sharedlib.module.d.ts +0 -6
  515. package/src/app/core/utilidades/color.util.d.ts +0 -70
  516. package/src/app/layout/app.breadcrumb.component.d.ts +0 -28
  517. package/src/app/layout/app.footer.component.d.ts +0 -8
  518. package/src/app/layout/app.layout.component.d.ts +0 -39
  519. package/src/app/layout/app.layout.module.d.ts +0 -6
  520. package/src/app/layout/app.menu.component.d.ts +0 -19
  521. package/src/app/layout/app.menu.service.d.ts +0 -12
  522. package/src/app/layout/app.menuitem.component.d.ts +0 -41
  523. package/src/app/layout/app.menuprofile.component.d.ts +0 -18
  524. package/src/app/layout/app.rightmenu.component.d.ts +0 -10
  525. package/src/app/layout/app.sidebar.component.d.ts +0 -34
  526. package/src/app/layout/app.topbar.component.d.ts +0 -79
  527. package/src/app/layout/service/app.layout.service.d.ts +0 -57
  528. package/src/app/publico/pages/login/login.page.d.ts +0 -40
  529. package/src/app/publico/pages/not-found/not-found.page.d.ts +0 -17
  530. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.d.ts +0 -41
  531. package/src/app/publico/pages/timeout/timeout.page.d.ts +0 -10
  532. package/src/app/seguridad/constantes/ConstantesGenerales.d.ts +0 -25
  533. package/src/app/seguridad/constantes/ReporteEntradaConstantes.d.ts +0 -7
  534. package/src/app/seguridad/modelos/AplicacionModel.d.ts +0 -7
  535. package/src/app/seguridad/modelos/ArchivoPortalModel.d.ts +0 -13
  536. package/src/app/seguridad/modelos/AtributoPuntoModel.d.ts +0 -8
  537. package/src/app/seguridad/modelos/AtributoSSOportalModel.d.ts +0 -16
  538. package/src/app/seguridad/modelos/CargueLineaModel.d.ts +0 -12
  539. package/src/app/seguridad/modelos/ColoresRGB.d.ts +0 -17
  540. package/src/app/seguridad/modelos/ColumnaFuenteModel.d.ts +0 -8
  541. package/src/app/seguridad/modelos/ComplementoModel.d.ts +0 -6
  542. package/src/app/seguridad/modelos/ComponentePaginaModel.d.ts +0 -20
  543. package/src/app/seguridad/modelos/ConexionModel.d.ts +0 -13
  544. package/src/app/seguridad/modelos/ControlFuncionModel.d.ts +0 -7
  545. package/src/app/seguridad/modelos/CorreoModel.d.ts +0 -31
  546. package/src/app/seguridad/modelos/CorreoWSModel.d.ts +0 -33
  547. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.d.ts +0 -13
  548. package/src/app/seguridad/modelos/EmpresaModel.d.ts +0 -23
  549. package/src/app/seguridad/modelos/EmpresaSeguridadModel.d.ts +0 -18
  550. package/src/app/seguridad/modelos/EtiquetaModel.d.ts +0 -4
  551. package/src/app/seguridad/modelos/Etiquetas.d.ts +0 -10
  552. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.d.ts +0 -15
  553. package/src/app/seguridad/modelos/FuenteDato.d.ts +0 -18
  554. package/src/app/seguridad/modelos/FuenteEntradaModel.d.ts +0 -8
  555. package/src/app/seguridad/modelos/FuenteLineaServicioModel.d.ts +0 -16
  556. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.d.ts +0 -10
  557. package/src/app/seguridad/modelos/FuncionalidadModel.d.ts +0 -8
  558. package/src/app/seguridad/modelos/GeneralModel.d.ts +0 -8
  559. package/src/app/seguridad/modelos/GrupoControlFuncionModel.d.ts +0 -9
  560. package/src/app/seguridad/modelos/GrupoFuenteModel.d.ts +0 -13
  561. package/src/app/seguridad/modelos/GrupoPermisoModel.d.ts +0 -13
  562. package/src/app/seguridad/modelos/ListaServicioModel.d.ts +0 -16
  563. package/src/app/seguridad/modelos/LlaveForaneaModel.d.ts +0 -6
  564. package/src/app/seguridad/modelos/LoginModel.d.ts +0 -17
  565. package/src/app/seguridad/modelos/MensajeSistemaModel.d.ts +0 -7
  566. package/src/app/seguridad/modelos/ModulosModel.d.ts +0 -14
  567. package/src/app/seguridad/modelos/PaginaPortalModel.d.ts +0 -19
  568. package/src/app/seguridad/modelos/ParametroComponenteModel.d.ts +0 -8
  569. package/src/app/seguridad/modelos/ParametrosGeneralModel.d.ts +0 -8
  570. package/src/app/seguridad/modelos/PermisoFuncionModel.d.ts +0 -8
  571. package/src/app/seguridad/modelos/PermisocontenidoModel.d.ts +0 -18
  572. package/src/app/seguridad/modelos/PreguntaSeguridadModel.d.ts +0 -6
  573. package/src/app/seguridad/modelos/PropiedadModel.d.ts +0 -9
  574. package/src/app/seguridad/modelos/PublicacionWebModel.d.ts +0 -25
  575. package/src/app/seguridad/modelos/PuntoProcesoModel.d.ts +0 -6
  576. package/src/app/seguridad/modelos/RecursoPunto.d.ts +0 -12
  577. package/src/app/seguridad/modelos/RecursoPuntoModel.d.ts +0 -12
  578. package/src/app/seguridad/modelos/ReporteBanda.d.ts +0 -7
  579. package/src/app/seguridad/modelos/ReporteColumna.d.ts +0 -32
  580. package/src/app/seguridad/modelos/ReporteColumnario.d.ts +0 -68
  581. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.d.ts +0 -23
  582. package/src/app/seguridad/modelos/ReporteMarcador.d.ts +0 -39
  583. package/src/app/seguridad/modelos/ReporteSoporte.d.ts +0 -9
  584. package/src/app/seguridad/modelos/ReporteTabla.d.ts +0 -12
  585. package/src/app/seguridad/modelos/RespuestaModel.d.ts +0 -8
  586. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +0 -25
  587. package/src/app/seguridad/modelos/SistemaMensajeModel.d.ts +0 -8
  588. package/src/app/seguridad/modelos/SitioPortalModel.d.ts +0 -24
  589. package/src/app/seguridad/modelos/TablaFromModel.d.ts +0 -4
  590. package/src/app/seguridad/modelos/TareasModel.d.ts +0 -49
  591. package/src/app/seguridad/modelos/TextoModel.d.ts +0 -8
  592. package/src/app/seguridad/modelos/TipoEtiqueta.d.ts +0 -7
  593. package/src/app/seguridad/modelos/UnionModel.d.ts +0 -11
  594. package/src/app/seguridad/modelos/UsuariogrupoModel.d.ts +0 -22
  595. package/src/app/seguridad/modelos/aplicacion-propiedad-model.d.ts +0 -13
  596. package/src/app/seguridad/modelos/contenidoCorreoModel.d.ts +0 -9
  597. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.d.ts +0 -47
  598. package/src/app/shared/servicios/cargar-archivos.service.d.ts +0 -15
  599. package/src/app/shared/servicios/cargar-mapas.service.d.ts +0 -18
  600. package/src/app/shared/servicios/encriptado-basico.service.d.ts +0 -10
  601. package/src/app/shared/servicios/general.service.d.ts +0 -24
  602. package/src/app/shared/servicios/parametros-navegacion.service.d.ts +0 -9
  603. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.d.ts +0 -78
  604. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.d.ts +0 -79
  605. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.d.ts +0 -29
  606. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.d.ts +0 -69
  607. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.d.ts +0 -51
  608. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.d.ts +0 -77
  609. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +0 -275
  610. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.d.ts +0 -42
  611. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +0 -35
  612. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +0 -143
  613. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.d.ts +0 -49
  614. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +0 -128
  615. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.d.ts +0 -64
  616. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.d.ts +0 -33
  617. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.d.ts +0 -149
  618. package/src/app/webcommon/pipes/dashboard.pipe.d.ts +0 -48
  619. package/src/app/webcommon/pipes/fuente.pipe.d.ts +0 -136
  620. package/src/app/webcommon/pipes/general.pipe.d.ts +0 -646
  621. package/src/app/webcommon/pipes/reporte-columnario.pipe.d.ts +0 -59
  622. package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +0 -193
  623. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.d.ts +0 -59
  624. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.d.ts +0 -27
  625. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.d.ts +0 -64
  626. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.d.ts +0 -63
  627. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.d.ts +0 -97
  628. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.d.ts +0 -21
  629. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +0 -42
  630. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.d.ts +0 -30
  631. package/src/app/webcommon/services/carguelinea.service.d.ts +0 -19
  632. package/src/app/webcommon/services/dashboard.service.d.ts +0 -27
  633. package/src/app/webcommon/services/ejecucionreporte.service.d.ts +0 -34
  634. package/src/app/webcommon/services/fechaUtils.service.d.ts +0 -29
  635. package/src/app/webcommon/services/fuentegeneral.service.d.ts +0 -24
  636. package/src/app/webcommon/services/homologacion.service.d.ts +0 -17
  637. package/src/app/webcommon/services/plantillas.service.d.ts +0 -26
  638. package/src/app/webcommon/services/reportes.service.d.ts +0 -35
  639. package/src/app/webcommon/webcommon.module.d.ts +0 -6
  640. package/src/environments/environment.d.ts +0 -7
@@ -1,324 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "ngx-cookie-service";
5
- export class UtilsService {
6
- cookieService;
7
- document;
8
- RESERVADAS_SQL_NOPUEDECONTENER = [';'];
9
- reservadas = ['ALTER', 'DELETE', 'DROP', 'MODIFY', 'CREATE', 'DATABASE', 'TABLE', 'UPDATE', 'TRIGGER', 'GRANT', 'REVOKE', 'CALL', 'INSERT', 'TRUNCATE', 'USE', '--'];
10
- constructor(cookieService, document) {
11
- this.cookieService = cookieService;
12
- this.document = document;
13
- }
14
- generarLlave() {
15
- let result = '';
16
- const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
17
- const charactersLength = 32;
18
- for (let i = 0; i < charactersLength; i++) {
19
- result += characters.charAt(Math.floor(Math.random() * charactersLength));
20
- }
21
- return result.toLowerCase();
22
- }
23
- generarPin(cantidad) {
24
- let result = '';
25
- const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
26
- for (let i = 0; i < cantidad; i++) {
27
- result += characters.charAt(Math.floor(Math.random() * cantidad));
28
- }
29
- return result.toLowerCase();
30
- }
31
- rightpad(str, length, char) {
32
- if (str === undefined) {
33
- return null;
34
- }
35
- if (typeof str !== 'string' || typeof length !== 'number') {
36
- throw new TypeError('Los argumentos deben ser una cadena y un número.');
37
- }
38
- if (str.length >= length) {
39
- return str;
40
- }
41
- char = char || ' '; // Utiliza un espacio como carácter de relleno si no se proporciona uno
42
- var padLength = length - str.length;
43
- var padding = char.repeat(padLength);
44
- return str + padding;
45
- }
46
- validarCampoNumerico(event) {
47
- const input = event.target;
48
- const regex = /[^0-9]/gi;
49
- input.value = input.value.replace(regex, '');
50
- }
51
- isNotBlank(str) {
52
- return str != null && str.trim().length > 0;
53
- }
54
- isBlank(str) {
55
- return str == null || str?.trim() === '';
56
- }
57
- validarCampoObligatorio(valor) {
58
- // Verificar si el valor no es null ni undefined
59
- if (valor !== null && valor !== undefined) {
60
- // Verificar si el valor no es una cadena vacía (en caso de ser una cadena)
61
- if (typeof valor === 'string' && valor.trim() === '') {
62
- return false;
63
- }
64
- // Verificar si el valor no es un arreglo vacío (en caso de ser un arreglo)
65
- if (Array.isArray(valor) && valor.length === 0) {
66
- return false;
67
- }
68
- /*if (typeof valor === 'object' && Object.keys(valor).length === 0) {
69
- return false;
70
- }*/
71
- return true;
72
- }
73
- return false;
74
- }
75
- capitalizeFully(inputString) {
76
- if (!inputString) {
77
- return '';
78
- }
79
- const words = inputString.split(' ');
80
- const capitalizedWords = words.map(word => {
81
- if (word.length > 0) {
82
- return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
83
- }
84
- return '';
85
- });
86
- const result = capitalizedWords.join(' ');
87
- return result;
88
- }
89
- ordenarSelectItemsAlfabeticamente(arrayDeObjetos) {
90
- arrayDeObjetos.sort((a, b) => {
91
- const nombreA = a.label.toLowerCase();
92
- const nombreB = b.label.toLowerCase();
93
- if (nombreA < nombreB) {
94
- return -1;
95
- }
96
- if (nombreA > nombreB) {
97
- return 1;
98
- }
99
- return 0;
100
- });
101
- return arrayDeObjetos;
102
- }
103
- obtenerParametroDeURL(urlString, parametro) {
104
- const url = new URL(urlString);
105
- const searchParams = new URLSearchParams(url.search);
106
- return searchParams.get(parametro);
107
- }
108
- validarEmail(email) {
109
- const patronEmail = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
110
- return patronEmail.test(email);
111
- }
112
- obtenerBase() {
113
- var basePortal = null;
114
- var paginaActual = window.location.href;
115
- var url = new URL(paginaActual);
116
- var params = new URLSearchParams(url.search);
117
- if (paginaActual.toString().includes('PortalSara')) {
118
- for (var match of paginaActual.matchAll(/(?<inicio>.*)\/(?<seguridad>.*)\/(?<sitio>.*)\/(?<pagina>.*)/g)) {
119
- basePortal = match.groups?.seguridad;
120
- }
121
- }
122
- else if (params?.get('us_id')) {
123
- paginaActual = window.parent.location.href;
124
- for (var match of paginaActual.matchAll(/(?<inicio>.*)\/(?<seguridad>.*)\/(?<sitio>.*)\/(?<pagina>.*)/g)) {
125
- basePortal = match.groups?.seguridad;
126
- }
127
- }
128
- else {
129
- const regex = /^.*?\/\/.*?\/(.*?)\//g; // Expresión regular para obtener la primera parte de la URL
130
- const match = Array.from(paginaActual.matchAll(regex));
131
- if (match && match[0] && match[0][1]) {
132
- basePortal = match[0][1];
133
- }
134
- }
135
- return basePortal;
136
- }
137
- validarEspacio(caracter) {
138
- const regex = /\s/; // La expresión regular para espacios en blanco
139
- return regex.test(caracter); // Devuelve true si el carácter es un espacio en blanco
140
- }
141
- validarTextoSQL(valor, obligatorio, select, longitud, validarSentencia) {
142
- // Verifica obligatoriedad
143
- if (obligatorio && (valor == null || valor.trim().length == 0 || valor == '--')) {
144
- return 'Obligatorio';
145
- }
146
- // Verifica longitud máxima
147
- if (longitud > 0) {
148
- if (valor != null && valor != '--' && valor.length > longitud) {
149
- return 'Longitud maxima de ' + longitud;
150
- }
151
- }
152
- // Realiza las demás validacion solo en el caso de que la cadena SQL/valor no sea vacia
153
- if (valor == null || valor.trim().length == 0 || valor == '--')
154
- return null;
155
- if (validarSentencia) {
156
- if (select) {
157
- if (!valor.toUpperCase().startsWith('SELECT')) {
158
- return 'El texto debe iniciar con la palabra Select';
159
- }
160
- }
161
- else {
162
- if (valor.toUpperCase().includes('SELECT')) {
163
- return 'No puede contener la palabra Select';
164
- }
165
- }
166
- }
167
- var indice;
168
- var mensaje;
169
- this.RESERVADAS_SQL_NOPUEDECONTENER.forEach(item => {
170
- if (valor.includes(item)) {
171
- mensaje = 'No puede contener ' + item;
172
- }
173
- });
174
- this.reservadas.forEach(item => {
175
- if (valor.toUpperCase().includes(item.toUpperCase())) {
176
- indice = (valor.toUpperCase().indexOf(item.toUpperCase()));
177
- if (indice == 0 || (this.validarEspacio(valor.charAt(indice - 1)) && this.validarEspacio(valor.charAt(item.length + indice)))) {
178
- mensaje = 'No puede contener ' + item;
179
- }
180
- }
181
- });
182
- return mensaje;
183
- }
184
- sleep(ms) {
185
- return new Promise((resolve) => setTimeout(resolve, ms));
186
- }
187
- validarTextoArchivoJasper(texto) {
188
- if (texto.trim() == '' || texto == null) {
189
- return "El campo no puede estar vacio";
190
- }
191
- if (texto.match("^[^\\D].*")) {
192
- return "El campo no puede iniciar con numeros";
193
- }
194
- if (texto.match("^[^\\S].*")) {
195
- return "El campo no puede iniciar con caracteres en blanco";
196
- }
197
- if (!texto.match("^[^\\W].*")) {
198
- return "El campo no puede iniciar con caracteres especiales";
199
- }
200
- return null;
201
- }
202
- resizeWindowIFrame() {
203
- if (window.frameElement != null) {
204
- this.resizeIframeKeepPosition(window.frameElement);
205
- }
206
- }
207
- /**
208
- * Funcion para mantener la posición actual en el iframe.
209
- * @param obj es un "FrameElement"
210
- */
211
- resizeIframeKeepPosition(obj) {
212
- var ifrm = obj;
213
- var doc = ifrm.contentDocument ? ifrm.contentDocument : ifrm.contentWindow.document;
214
- var tamanio = this.getDocHeight(doc) + 40;
215
- ifrm.style.height = tamanio + "px";
216
- }
217
- getDocHeight(doc) {
218
- let navegador = this.obtenerNavegador().toLowerCase();
219
- var height = 0;
220
- doc = doc || document;
221
- var body = doc.body, html = doc.documentElement;
222
- height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
223
- if (navegador.indexOf('firefox') !== -1) {
224
- if (doc.formDetalleConvocatoria) {
225
- let cantidadMiles = height / 1000;
226
- height = height + 600 + (cantidadMiles * 40);
227
- }
228
- }
229
- // console.warn('FCO : llama a getDocHeight');
230
- return height;
231
- }
232
- obtenerNavegador() {
233
- var ua = navigator.userAgent, tem, M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
234
- if (/trident/i.test(M[1])) {
235
- tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
236
- return 'IE ' + (tem[1] || '');
237
- }
238
- if (M[1] === 'Chrome') {
239
- tem = ua.match(/\b(OPR|Edge)\/(\d+)/);
240
- if (tem != null)
241
- return tem.slice(1).join(' ').replace('OPR', 'Opera');
242
- }
243
- M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];
244
- if ((tem = ua.match(/version\/(\d+)/i)) != null)
245
- M.splice(1, 1, tem[1]);
246
- return M.join(' ');
247
- }
248
- obtenerUrlApi(urlapi) {
249
- if (urlapi) {
250
- return urlapi;
251
- }
252
- switch (this.getTokenKey('aplicacion')) {
253
- case '1':
254
- return window['env']['urlapisara'] ? window['env']['urlapisara'] : this.cookieService.get('urlnucleo');
255
- case '13':
256
- return window['env']['urlapimana'] ? window['env']['urlapimana'] : this.cookieService.get('urlnucleo');
257
- case '10':
258
- return window['env']['urlapisara'] ? window['env']['urlapisara'] : this.cookieService.get('urlnucleo');
259
- //return window['env']['urlapi'] ? window['env']['urlapi'] : this.cookieService.get('urlnucleo');
260
- case '77':
261
- return window['env']['urlapimanaaps'] ? window['env']['urlapimanaaps'] : this.cookieService.get('urlnucleo');
262
- default:
263
- return this.cookieService.get('urlnucleo');
264
- }
265
- }
266
- getTokenKey(key) {
267
- try {
268
- const data = this._decodeToken();
269
- return data[key].toString();
270
- }
271
- catch (error) {
272
- return undefined;
273
- }
274
- }
275
- _decodeToken() {
276
- try {
277
- const token = this.getItem('token', '');
278
- const data = token.split('.')[1];
279
- return JSON.parse(atob(data));
280
- }
281
- catch (error) {
282
- throw error;
283
- }
284
- }
285
- getItem(key, defaultValue) {
286
- return localStorage.getItem(this.obtenerBase() + '_' + key) ?? defaultValue;
287
- }
288
- cambiarTema(tema) {
289
- localStorage.setItem(this.obtenerBase() + '_' + 'tema', tema);
290
- let linkTema = this.document.getElementById('temaApp');
291
- linkTema.href = `${tema}.css`;
292
- }
293
- calcularPosicionDialog() {
294
- var parentWindow = window.parent;
295
- var obj = window.frameElement;
296
- var ifrm = obj;
297
- if (ifrm) {
298
- const scrollTop = parentWindow.pageYOffset || parentWindow.document.documentElement.scrollTop || parentWindow.document.body.scrollTop || 0;
299
- const dialog = document.querySelector('.p-dialog');
300
- if (dialog) {
301
- const scrollHeight = parentWindow.document.documentElement.scrollHeight;
302
- const mitadScrollHeight = scrollHeight / 2;
303
- const inicio = -mitadScrollHeight;
304
- dialog.style.top = `${inicio + 50 + (scrollTop)}px`;
305
- }
306
- }
307
- }
308
- validarPalabra(texto) {
309
- const pletras = /^[a-zA-Z][0-9a-zA-Z]*$/;
310
- return pletras.test(texto);
311
- }
312
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, deps: [{ token: i1.CookieService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
313
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, providedIn: 'root' });
314
- }
315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: UtilsService, decorators: [{
316
- type: Injectable,
317
- args: [{
318
- providedIn: 'root'
319
- }]
320
- }], ctorParameters: () => [{ type: i1.CookieService }, { type: Document, decorators: [{
321
- type: Inject,
322
- args: [DOCUMENT]
323
- }] }] });
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUtIO0lBQXdEO0lBSHBFLDhCQUE4QixHQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDN0MsVUFBVSxHQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFbkwsWUFBb0IsYUFBNEIsRUFBNEIsUUFBa0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsZ0VBQWdFLENBQUM7UUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxP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Q29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgUkVTRVJWQURBU19TUUxfTk9QVUVERUNPTlRFTkVSOiBhbnlbXSA9IFsnOyddXG4gIHByaXZhdGUgcmVzZXJ2YWRhczogYW55W10gPSBbJ0FMVEVSJywgJ0RFTEVURScsICdEUk9QJywgJ01PRElGWScsICdDUkVBVEUnLCAnREFUQUJBU0UnLCAnVEFCTEUnLCAnVVBEQVRFJywgJ1RSSUdHRVInLCAnR1JBTlQnLCAnUkVWT0tFJywgJ0NBTEwnLCAnSU5TRVJUJywgJ1RSVU5DQVRFJywgJ1VTRScsICctLSddXG4gIFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCl7XG4gIH1cbiAgXG4gIHB1YmxpYyBnZW5lcmFyTGxhdmUoKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIGNvbnN0IGNoYXJhY3RlcnNMZW5ndGggPSAzMjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoYXJhY3RlcnNMZW5ndGg7IGkrKykge1xuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0LnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuXG5cbiAgcHVibGljIGdlbmVyYXJQaW4oY2FudGlkYWQ6IG51bWJlcikge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbnRpZGFkOyBpKyspIHtcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjYW50aWRhZCkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHJpZ2h0cGFkKHN0ciwgbGVuZ3RoLCBjaGFyKSB7XG4gICAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiBsZW5ndGggIT09ICdudW1iZXInKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdMb3MgYXJndW1lbnRvcyBkZWJlbiBzZXIgdW5hIGNhZGVuYSB5IHVuIG7Dum1lcm8uJyk7XG4gICAgfVxuXG4gICAgaWYgKHN0ci5sZW5ndGggPj0gbGVuZ3RoKSB7XG4gICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIGNoYXIgPSBjaGFyIHx8ICcgJzsgLy8gVXRpbGl6YSB1biBlc3BhY2lvIGNvbW8gY2Fyw6FjdGVyIGRlIHJlbGxlbm8gc2kgbm8gc2UgcHJvcG9yY2lvbmEgdW5vXG5cbiAgICB2YXIgcGFkTGVuZ3RoID0gbGVuZ3RoIC0gc3RyLmxlbmd0aDtcbiAgICB2YXIgcGFkZGluZyA9IGNoYXIucmVwZWF0KHBhZExlbmd0aCk7XG5cbiAgICByZXR1cm4gc3RyICsgcGFkZGluZztcbiAgfVxuXG4gIHZhbGlkYXJDYW1wb051bWVyaWNvKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldDtcbiAgICBjb25zdCByZWdleCA9IC9bXjAtOV0vZ2k7XG4gICAgaW5wdXQudmFsdWUgPSBpbnB1dC52YWx1ZS5yZXBsYWNlKHJlZ2V4LCAnJyk7XG4gIH1cblxuICBpc05vdEJsYW5rKHN0cjogc3RyaW5nIHwgU3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdHIgIT0gbnVsbCAmJiBzdHIudHJpbSgpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBpc0JsYW5rKHN0cjogc3RyaW5nIHwgU3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdHIgPT0gbnVsbCB8fCBzdHI/LnRyaW0oKSA9PT0gJyc7XG4gIH1cblxuICB2YWxpZGFyQ2FtcG9PYmxpZ2F0b3Jpbyh2YWxvcik6IGJvb2xlYW4ge1xuICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyBudWxsIG5pIHVuZGVmaW5lZFxuICAgIGlmICh2YWxvciAhPT0gbnVsbCAmJiB2YWxvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBWZXJpZmljYXIgc2kgZWwgdmFsb3Igbm8gZXMgdW5hIGNhZGVuYSB2YWPDrWEgKGVuIGNhc28gZGUgc2VyIHVuYSBjYWRlbmEpXG4gICAgICBpZiAodHlwZW9mIHZhbG9yID09PSAnc3RyaW5nJyAmJiB2YWxvci50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCB2YWxvciBubyBlcyB1biBhcnJlZ2xvIHZhY8OtbyAoZW4gY2FzbyBkZSBzZXIgdW4gYXJyZWdsbylcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbG9yKSAmJiB2YWxvci5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLyppZiAodHlwZW9mIHZhbG9yID09PSAnb2JqZWN0JyAmJiBPYmplY3Qua2V5cyh2YWxvcikubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0qL1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNhcGl0YWxpemVGdWxseShpbnB1dFN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWlucHV0U3RyaW5nKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IHdvcmRzID0gaW5wdXRTdHJpbmcuc3BsaXQoJyAnKTtcbiAgICBjb25zdCBjYXBpdGFsaXplZFdvcmRzID0gd29yZHMubWFwKHdvcmQgPT4ge1xuICAgICAgaWYgKHdvcmQubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9KTtcbiAgICBjb25zdCByZXN1bHQgPSBjYXBpdGFsaXplZFdvcmRzLmpvaW4oJyAnKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgb3JkZW5hclNlbGVjdEl0ZW1zQWxmYWJldGljYW1lbnRlKGFycmF5RGVPYmpldG9zOiBhbnlbXSk6IGFueVtdIHtcbiAgICBhcnJheURlT2JqZXRvcy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCBub21icmVBID0gYS5sYWJlbC50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3Qgbm9tYnJlQiA9IGIubGFiZWwudG9Mb3dlckNhc2UoKTtcblxuICAgICAgaWYgKG5vbWJyZUEgPCBub21icmVCKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIGlmIChub21icmVBID4gbm9tYnJlQikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAwO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheURlT2JqZXRvcztcbiAgfVxuXG4gIG9idGVuZXJQYXJhbWV0cm9EZVVSTCh1cmxTdHJpbmc6IHN0cmluZywgcGFyYW1ldHJvOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFN0cmluZyk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmwuc2VhcmNoKTtcbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLmdldChwYXJhbWV0cm8pO1xuICB9XG5cbiAgdmFsaWRhckVtYWlsKGVtYWlsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXRyb25FbWFpbCA9IC9eW2EtekEtWjAtOS5fJSstXStAW2EtekEtWjAtOS4tXStcXC5bYS16QS1aXXsyLH0kLztcbiAgICByZXR1cm4gcGF0cm9uRW1haWwudGVzdChlbWFpbCk7XG4gIH1cblxuICBvYnRlbmVyQmFzZSgpOiAoc3RyaW5nIHwgbnVsbCkge1xuXG4gICAgdmFyIGJhc2VQb3J0YWw6IHN0cmluZyA9IG51bGw7XG4gICAgdmFyIHBhZ2luYUFjdHVhbDogYW55ID0gd2luZG93LmxvY2F0aW9uLmhyZWZcbiAgICB2YXIgdXJsID0gbmV3IFVSTChwYWdpbmFBY3R1YWwpO1xuICAgIHZhciBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVybC5zZWFyY2gpO1xuICAgIGlmIChwYWdpbmFBY3R1YWwudG9TdHJpbmcoKS5pbmNsdWRlcygnUG9ydGFsU2FyYScpKSB7XG4gICAgICBmb3IgKHZhciBtYXRjaCBvZiBwYWdpbmFBY3R1YWwubWF0Y2hBbGwoLyg/PGluaWNpbz4uKilcXC8oPzxzZWd1cmlkYWQ+LiopXFwvKD88c2l0aW8+LiopXFwvKD88cGFnaW5hPi4qKS9nKSkge1xuICAgICAgICBiYXNlUG9ydGFsID0gbWF0Y2guZ3JvdXBzPy5zZWd1cmlkYWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwYXJhbXM/LmdldCgndXNfaWQnKSkge1xuICAgICAgcGFnaW5hQWN0dWFsID0gd2luZG93LnBhcmVudC5sb2NhdGlvbi5ocmVmO1xuICAgICAgZm9yICh2YXIgbWF0Y2ggb2YgcGFnaW5hQWN0dWFsLm1hdGNoQWxsKC8oPzxpbmljaW8+LiopXFwvKD88c2VndXJpZGFkPi4qKVxcLyg/PHNpdGlvPi4qKVxcLyg/PHBhZ2luYT4uKikvZykpIHtcbiAgICAgICAgYmFzZVBvcnRhbCA9IG1hdGNoLmdyb3Vwcz8uc2VndXJpZGFkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWdleCA9IC9eLio/XFwvXFwvLio/XFwvKC4qPylcXC8vZzsgLy8gRXhwcmVzacOzbiByZWd1bGFyIHBhcmEgb2J0ZW5lciBsYSBwcmltZXJhIHBhcnRlIGRlIGxhIFVSTFxuICAgICAgY29uc3QgbWF0Y2ggPSBBcnJheS5mcm9tKHBhZ2luYUFjdHVhbC5tYXRjaEFsbChyZWdleCkpO1xuXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMF0gJiYgbWF0Y2hbMF1bMV0pIHtcbiAgICAgICAgYmFzZVBvcnRhbCA9IG1hdGNoWzBdWzFdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYmFzZVBvcnRhbDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhckVzcGFjaW8oY2FyYWN0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL1xccy87IC8vIExhIGV4cHJlc2nDs24gcmVndWxhciBwYXJhIGVzcGFjaW9zIGVuIGJsYW5jb1xuICAgIHJldHVybiByZWdleC50ZXN0KGNhcmFjdGVyKTsgLy8gRGV2dWVsdmUgdHJ1ZSBzaSBlbCBjYXLDoWN0ZXIgZXMgdW4gZXNwYWNpbyBlbiBibGFuY29cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGFyVGV4dG9TUUwodmFsb3I6IHN0cmluZywgb2JsaWdhdG9yaW86IGJvb2xlYW4sIHNlbGVjdDogYm9vbGVhbiwgbG9uZ2l0dWQ6IG51bWJlciwgdmFsaWRhclNlbnRlbmNpYTogYm9vbGVhbik6IChzdHJpbmcgfCBudWxsKSB7XG4gICAgLy8gVmVyaWZpY2Egb2JsaWdhdG9yaWVkYWRcbiAgICBpZiAob2JsaWdhdG9yaW8gJiYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpKSB7XG4gICAgICByZXR1cm4gJ09ibGlnYXRvcmlvJztcbiAgICB9XG4gICAgLy8gVmVyaWZpY2EgbG9uZ2l0dWQgbcOheGltYVxuICAgIGlmIChsb25naXR1ZCA+IDApIHtcbiAgICAgIGlmICh2YWxvciAhPSBudWxsICYmIHZhbG9yICE9ICctLScgJiYgdmFsb3IubGVuZ3RoID4gbG9uZ2l0dWQpIHtcbiAgICAgICAgcmV0dXJuICdMb25naXR1ZCBtYXhpbWEgZGUgJyArIGxvbmdpdHVkO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBSZWFsaXphIGxhcyBkZW3DoXMgdmFsaWRhY2lvbiBzb2xvIGVuIGVsIGNhc28gZGUgcXVlIGxhIGNhZGVuYSBTUUwvdmFsb3Igbm8gc2VhIHZhY2lhXG4gICAgaWYgKHZhbG9yID09IG51bGwgfHwgdmFsb3IudHJpbSgpLmxlbmd0aCA9PSAwIHx8IHZhbG9yID09ICctLScpXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGlmICh2YWxpZGFyU2VudGVuY2lhKSB7XG4gICAgICBpZiAoc2VsZWN0KSB7XG4gICAgICAgIGlmICghdmFsb3IudG9VcHBlckNhc2UoKS5zdGFydHNXaXRoKCdTRUxFQ1QnKSkge1xuICAgICAgICAgIHJldHVybiAnRWwgdGV4dG8gZGViZSBpbmljaWFyIGNvbiBsYSBwYWxhYnJhIFNlbGVjdCc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh2YWxvci50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdTRUxFQ1QnKSkge1xuICAgICAgICAgIHJldHVybiAnTm8gcHVlZGUgY29udGVuZXIgbGEgcGFsYWJyYSBTZWxlY3QnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBpbmRpY2U6IG51bWJlcjtcbiAgICB2YXIgbWVuc2FqZTogc3RyaW5nO1xuICAgIHRoaXMuUkVTRVJWQURBU19TUUxfTk9QVUVERUNPTlRFTkVSLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodmFsb3IuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgbWVuc2FqZSA9ICdObyBwdWVkZSBjb250ZW5lciAnICsgaXRlbTtcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMucmVzZXJ2YWRhcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKHZhbG9yLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoaXRlbS50b1VwcGVyQ2FzZSgpKSkge1xuICAgICAgICBpbmRpY2UgPSAodmFsb3IudG9VcHBlckNhc2UoKS5pbmRleE9mKGl0ZW0udG9VcHBlckNhc2UoKSkpO1xuICAgICAgICBpZiAoaW5kaWNlID09IDAgfHwgKHRoaXMudmFsaWRhckVzcGFjaW8odmFsb3IuY2hhckF0KGluZGljZSAtIDEpKSAmJiB0aGlzLnZhbGlkYXJFc3BhY2lvKHZhbG9yLmNoYXJBdChpdGVtLmxlbmd0aCArIGluZGljZSkpKSkge1xuICAgICAgICAgIG1lbnNhamUgPSAnTm8gcHVlZGUgY29udGVuZXIgJyArIGl0ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiBtZW5zYWplO1xuICB9XG5cbiAgc2xlZXAobXM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuICB9XG5cbiAgdmFsaWRhclRleHRvQXJjaGl2b0phc3Blcih0ZXh0bzogc3RyaW5nKTogKHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAodGV4dG8udHJpbSgpID09ICcnIHx8IHRleHRvID09IG51bGwpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGVzdGFyIHZhY2lvXCI7XG4gICAgfVxuICAgIGlmICh0ZXh0by5tYXRjaChcIl5bXlxcXFxEXS4qXCIpKSB7XG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBudW1lcm9zXCI7XG4gICAgfVxuICAgIGlmICh0ZXh0by5tYXRjaChcIl5bXlxcXFxTXS4qXCIpKSB7XG4gICAgICByZXR1cm4gXCJFbCBjYW1wbyBubyBwdWVkZSBpbmljaWFyIGNvbiBjYXJhY3RlcmVzIGVuIGJsYW5jb1wiO1xuICAgIH1cbiAgICBpZiAoIXRleHRvLm1hdGNoKFwiXlteXFxcXFddLipcIikpIHtcbiAgICAgIHJldHVybiBcIkVsIGNhbXBvIG5vIHB1ZWRlIGluaWNpYXIgY29uIGNhcmFjdGVyZXMgZXNwZWNpYWxlc1wiO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlc2l6ZVdpbmRvd0lGcmFtZSgpIHtcblx0XHRpZiAoIHdpbmRvdy5mcmFtZUVsZW1lbnQgIT0gbnVsbCkge1xuXHRcdFx0dGhpcy5yZXNpemVJZnJhbWVLZWVwUG9zaXRpb24od2luZG93LmZyYW1lRWxlbWVudCk7XG5cdFx0fVxuXHR9XG5cdFxuXHQvKipcblx0ICogRnVuY2lvbiBwYXJhIG1hbnRlbmVyIGxhIHBvc2ljacOzbiBhY3R1YWwgZW4gZWwgaWZyYW1lLlxuXHQgKiBAcGFyYW0gb2JqIGVzIHVuIFwiRnJhbWVFbGVtZW50XCJcblx0ICovXG5cdHByaXZhdGUgcmVzaXplSWZyYW1lS2VlcFBvc2l0aW9uKG9iaikge1xuXHRcdFxuXHRcdHZhciBpZnJtID0gb2JqO1xuXHRcdHZhciBkb2MgPSBpZnJtLmNvbnRlbnREb2N1bWVudCA/IGlmcm0uY29udGVudERvY3VtZW50OiBpZnJtLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gICAgdmFyIHRhbWFuaW86IG51bWJlcj0gIHRoaXMuZ2V0RG9jSGVpZ2h0KCBkb2MgKSAgKyA0MFxuXHRcdGlmcm0uc3R5bGUuaGVpZ2h0ID0gdGFtYW5pbyArIFwicHhcIjtcblx0fVxuXG5cdHByaXZhdGUgZ2V0RG9jSGVpZ2h0KGRvYyl7XG5cdFxuXHRcdGxldCBuYXZlZ2Fkb3IgPSB0aGlzLm9idGVuZXJOYXZlZ2Fkb3IoKS50b0xvd2VyQ2FzZSgpO1xuXHRcdHZhciBoZWlnaHQgPSAwO1xuXHRcdGRvYyA9IGRvYyB8fCBkb2N1bWVudDtcblx0XHR2YXIgYm9keSA9IGRvYy5ib2R5LCBodG1sID0gZG9jLmRvY3VtZW50RWxlbWVudDtcblx0XHRoZWlnaHQgPSBNYXRoLm1heCggYm9keS5zY3JvbGxIZWlnaHQsIGJvZHkub2Zmc2V0SGVpZ2h0LCBcblx0XHRodG1sLmNsaWVudEhlaWdodCwgaHRtbC5zY3JvbGxIZWlnaHQsIGh0bWwub2Zmc2V0SGVpZ2h0ICk7XG5cdFx0XG5cdFx0aWYgKG5hdmVnYWRvci5pbmRleE9mKCdmaXJlZm94JykgIT09IC0xKXtcblx0XHRcdGlmKGRvYy5mb3JtRGV0YWxsZUNvbnZvY2F0b3JpYSl7XG5cdFx0XHRcdGxldCBjYW50aWRhZE1pbGVzID0gaGVpZ2h0IC8gMTAwMDtcblx0XHRcdFx0aGVpZ2h0ID0gaGVpZ2h0ICsgNjAwICsgKGNhbnRpZGFkTWlsZXMqNDApXG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHQvL1x0Y29uc29sZS53YXJuKCdGQ08gOiBsbGFtYSBhIGdldERvY0hlaWdodCcpO1xuXHRcblx0XHRyZXR1cm4gaGVpZ2h0O1xuXHR9XG5cblx0b2J0ZW5lck5hdmVnYWRvcigpe1xuXHRcdHZhciB1YT0gbmF2aWdhdG9yLnVzZXJBZ2VudCwgdGVtLCBcblx0XHRNPSB1YS5tYXRjaCgvKG9wZXJhfGNocm9tZXxzYWZhcml8ZmlyZWZveHxtc2llfHRyaWRlbnQoPz1cXC8pKVxcLz9cXHMqKFxcZCspL2kpIHx8IFtdO1xuXHRcdGlmKC90cmlkZW50L2kudGVzdChNWzFdKSl7XG5cdFx0XHR0ZW09ICAvXFxicnZbIDpdKyhcXGQrKS9nLmV4ZWModWEpIHx8IFtdO1xuXHRcdFx0cmV0dXJuICdJRSAnKyh0ZW1bMV0gfHwgJycpO1xuXHRcdH1cblx0XHRpZihNWzFdPT09ICdDaHJvbWUnKXtcblx0XHRcdHRlbT0gdWEubWF0Y2goL1xcYihPUFJ8RWRnZSlcXC8oXFxkKykvKTtcblx0XHRcdGlmKHRlbSE9IG51bGwpIHJldHVybiB0ZW0uc2xpY2UoMSkuam9pbignICcpLnJlcGxhY2UoJ09QUicsICdPcGVyYScpO1xuXHRcdH1cblx0XHRNPSBNWzJdPyBbTVsxXSwgTVsyXV06IFtuYXZpZ2F0b3IuYXBwTmFtZSwgbmF2aWdhdG9yLmFwcFZlcnNpb24sICctPyddO1xuXHRcdGlmKCh0ZW09IHVhLm1hdGNoKC92ZXJzaW9uXFwvKFxcZCspL2kpKSE9IG51bGwpIE0uc3BsaWNlKDEsIDEsIHRlbVsxXSk7XG5cdFx0cmV0dXJuIE0uam9pbignICcpO1xuXHR9XG5cbiAgb2J0ZW5lclVybEFwaSh1cmxhcGk/OiBzdHJpbmcgKTogc3RyaW5nIHtcbiAgICBpZiAodXJsYXBpKXtcbiAgICAgIHJldHVybiB1cmxhcGk7XG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5nZXRUb2tlbktleSgnYXBsaWNhY2lvbicpKSB7XG4gICAgICBjYXNlICcxJzpcbiAgICAgICAgcmV0dXJuIHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA/IHdpbmRvd1snZW52J11bJ3VybGFwaXNhcmEnXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgICAgY2FzZSAnMTMnOlxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYSddID8gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYSddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBjYXNlICcxMCc6XG4gICAgICAgIHJldHVybiB3aW5kb3dbJ2VudiddWyd1cmxhcGlzYXJhJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGlzYXJhJ10gOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKTtcbiAgICAgICAgLy9yZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpJ10gPyB3aW5kb3dbJ2VudiddWyd1cmxhcGknXSA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgICAgY2FzZSAnNzcnOlxuICAgICAgICByZXR1cm4gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYWFwcyddID8gd2luZG93WydlbnYnXVsndXJsYXBpbWFuYWFwcyddIDogdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gIHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG9rZW5LZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5fZGVjb2RlVG9rZW4oKTtcbiAgICAgIHJldHVybiBkYXRhW2tleV0udG9TdHJpbmcoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZWNvZGVUb2tlbigpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0SXRlbSgndG9rZW4nLCAnJyk7XG4gICAgICBjb25zdCBkYXRhID0gdG9rZW4uc3BsaXQoJy4nKVsxXTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGF0b2IoZGF0YSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICBnZXRJdGVtKGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm9idGVuZXJCYXNlKCkgKyAnXycgKyAga2V5KSA/PyBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBjYW1iaWFyVGVtYSh0ZW1hIDogKCd0ZW1hQ2xhcm8nIHwgJ3RlbWFPc2N1cm8nKSl7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5vYnRlbmVyQmFzZSgpICsgJ18nICsndGVtYScsIHRlbWEpO1xuICAgIGxldCBsaW5rVGVtYSA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbWFBcHAnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XG4gICAgbGlua1RlbWEuaHJlZiA9IGAke3RlbWF9LmNzc2BcbiAgfVxuXG4gIGNhbGN1bGFyUG9zaWNpb25EaWFsb2coKSB7XG4gICAgdmFyIHBhcmVudFdpbmRvdzogV2luZG93ID0gd2luZG93LnBhcmVudDtcbiAgICB2YXIgb2JqOiBhbnkgPSB3aW5kb3cuZnJhbWVFbGVtZW50IDtcbiAgICB2YXIgaWZybSA9IG9iajtcbiAgICBpZiAoaWZybSkge1xuICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gcGFyZW50V2luZG93LnBhZ2VZT2Zmc2V0IHx8IHBhcmVudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IHBhcmVudFdpbmRvdy5kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fCAwO1xuICAgICAgY29uc3QgZGlhbG9nID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtZGlhbG9nJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAoZGlhbG9nKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IHBhcmVudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgICAgIGNvbnN0IG1pdGFkU2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsSGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaW5pY2lvID0gLW1pdGFkU2Nyb2xsSGVpZ2h0O1xuICAgICAgICBkaWFsb2cuc3R5bGUudG9wID0gYCR7aW5pY2lvICsgNTAgKyAoc2Nyb2xsVG9wICkgfXB4YDsgICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhclBhbGFicmEodGV4dG86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBsZXRyYXMgPSAvXlthLXpBLVpdWzAtOWEtekEtWl0qJC87XG4gICAgcmV0dXJuIHBsZXRyYXMudGVzdCh0ZXh0byk7XG4gIH1cbn0iXX0=
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SharedLibModule {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: SharedLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: SharedLibModule });
6
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: SharedLibModule });
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: SharedLibModule, decorators: [{
9
- type: NgModule,
10
- args: [{
11
- declarations: [],
12
- imports: [],
13
- exports: []
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkbGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zaGFyZWRsaWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVXpDLE1BQU0sT0FBTyxlQUFlO3VHQUFmLGVBQWU7d0dBQWYsZUFBZTt3R0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQVIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUNiO29CQUNELE9BQU8sRUFBRSxFQUNOO29CQUNILE9BQU8sRUFBRSxFQUNSO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBdLFxuICBleHBvcnRzOiBbXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVkTGliTW9kdWxlIHt9XG4iXX0=
@@ -1,177 +0,0 @@
1
- export class ColorUtil {
2
- /**
3
- * Define las variables CSS del tema y las agrega al documento.
4
- * Se definene 9 colores alternativos más el color principal.
5
- * Adicional se agregan las componentes HSL del color para hacer
6
- * variaciones personalizadas y ajustar la opacidad.
7
- * @param color Color principal del tema
8
- */
9
- static addPalleteToRoot(color) {
10
- const head = (document.head || document.getElementsByTagName('head')[0]);
11
- const style = document.createElement('style');
12
- const { hue, saturation, lightness } = this.RGB2HSL(color);
13
- const contrast = this.contrastColor(color) === 1 ? '--color-50' : '--color-900';
14
- const intermediateColors = [50, 75, 85];
15
- let index = 0;
16
- const css = ':root { ' +
17
- this._generatePalette(color)
18
- .map((color, position) => {
19
- if (index < 100) {
20
- index = intermediateColors[position] ? intermediateColors[position] : 100;
21
- }
22
- else {
23
- index += 100;
24
- }
25
- return `--color-${index}: ${color};`;
26
- })
27
- .join('') +
28
- `--color-h: ${hue};` +
29
- `--color-s: ${saturation}%;` +
30
- `--color-l: ${lightness}%;` +
31
- `--color-contrast: var(${contrast});` +
32
- '}';
33
- style.type = 'text/css';
34
- style.appendChild(document.createTextNode(css));
35
- head.appendChild(style);
36
- }
37
- /**
38
- * Mezcla dos colores en proporción a un porcentaje para obtener un
39
- * nuevo color.
40
- * @param baseColor Color base para mezclar
41
- * @param color Color que se quiere mezclar
42
- * @param weight Porcentaje que se quiere mezclar. Entre 0 y 1
43
- * @returns Color resultante en formato RGB (#AABBCC)
44
- */
45
- static mix(baseColor, color, weight) {
46
- const newColor = [];
47
- baseColor = this._normalizeColor(baseColor);
48
- color = this._normalizeColor(color);
49
- const rgbColorBase = this._getRGBValues(baseColor);
50
- const rgbColorAdjust = this._getRGBValues(color);
51
- ['red', 'green', 'blue'].forEach((part) => {
52
- newColor.push(Math.round(rgbColorAdjust[part] + (rgbColorBase[part] - rgbColorAdjust[part]) * weight)
53
- .toString(16)
54
- .padStart(2, '0'));
55
- });
56
- return '#' + newColor.join('');
57
- }
58
- /**
59
- * Aclara un color proporcionalmente.
60
- * @param color Color base para modificar
61
- * @param percent Porcentaje de blanco que se agrega
62
- * @returns Nuevo color más claro
63
- */
64
- static tint(color, percent) {
65
- return this.mix('#fff', color, percent);
66
- }
67
- /**
68
- * Oscurece un color proporcionalmente.
69
- * @param color Color base para modificar
70
- * @param percent Porcentaje de negro que se agrega
71
- * @returns Nuevo color más oscuro
72
- */
73
- static shade(color, percent) {
74
- return this.mix('#000', color, percent);
75
- }
76
- /**
77
- * Transforma un color en RGB a su equivalente en formato HSL
78
- * @param color Color en formato RGB
79
- * @returns Arreglo de componentes HSL
80
- */
81
- static RGB2HSL(color) {
82
- color = this._normalizeColor(color);
83
- let { red, green, blue } = this._getRGBValues(color);
84
- red /= 255;
85
- green /= 255;
86
- blue /= 255;
87
- const max = Math.max(red, green, blue);
88
- const min = Math.min(red, green, blue);
89
- let hue = 0;
90
- let saturation = 0;
91
- let lightness = (max + min) / 2;
92
- if (max != min) {
93
- const delta = max - min;
94
- saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);
95
- switch (max) {
96
- case red:
97
- hue = (green - blue) / delta + (green < blue ? 6 : 0);
98
- break;
99
- case green:
100
- hue = (blue - red) / delta + 2;
101
- break;
102
- case blue:
103
- hue = (red - green) / delta + 4;
104
- break;
105
- }
106
- hue /= 6;
107
- }
108
- hue = Math.round(hue * 360);
109
- saturation = Math.round(saturation * 100);
110
- lightness = Math.round(lightness * 100);
111
- return { hue, saturation, lightness };
112
- }
113
- /**
114
- * Retorna 1 (blanco) o 0 (negro) para contrastar el color enviado.
115
- * @param color Color del cual se quiere buscar el contraste
116
- * @returns Blanco o Negro en RGB
117
- */
118
- static contrastColor(color) {
119
- color = this._normalizeColor(color);
120
- const { red, green, blue } = this._getRGBValues(color);
121
- return red * 0.299 + green * 0.587 + blue * 0.114 > 186 ? 0 : 1;
122
- }
123
- /**
124
- * Valida que la cadena de texto represente un color RGB válido y
125
- * retorna las componentes del color en formato de seis caracteres.
126
- * @param color Color en formato RGB. Ejemplo: (#000)
127
- * @returns String del color sin el simbolo #
128
- */
129
- static _normalizeColor(color) {
130
- const rgbColor = color.match(/^#([0-9A-F]{3}|[0-9A-F]{6})$/i);
131
- if (!rgbColor) {
132
- throw new Error(`${color} is not a RGB color.`);
133
- }
134
- const colorParts = rgbColor[1].toLowerCase();
135
- if (colorParts.length === 3) {
136
- return colorParts.replace(/(.)/g, '$1$1');
137
- }
138
- return colorParts;
139
- }
140
- /**
141
- * Transforma un color Hexadecimal a Decimal en sus respectivas
142
- * comopnenetes.
143
- * @param color Color en Hecadecimal para descomponer
144
- * @returns Un objeto {red, green, blue} en decimal
145
- */
146
- static _getRGBValues(color) {
147
- const red = parseInt(color.slice(0, 2), 16);
148
- const green = parseInt(color.slice(2, 4), 16);
149
- const blue = parseInt(color.slice(4, 6), 16);
150
- return { red, green, blue };
151
- }
152
- /**
153
- * Define una paleta de 10 colores, 5 más claros y 4 más oscuros basados
154
- * en el color principal. El color principal será el color medio de la paleta
155
- * @param color Color base para definir los demás colores
156
- * @returns Arreglo de todos los colores de la paleta
157
- */
158
- static _generatePalette(color) {
159
- const palette = [];
160
- for (let i = 0; i < 5; i++) {
161
- if (i === 0) {
162
- palette.push(this.tint(color, (5 - i) * 0.19));
163
- palette.push(this.tint(color, (4.8 - i) * 0.19));
164
- palette.push(this.tint(color, (4.55 - i) * 0.19));
165
- }
166
- else {
167
- palette.push(this.tint(color, (5 - i) * 0.19));
168
- }
169
- }
170
- palette.push(color);
171
- for (let i = 1; i < 5; i++) {
172
- palette.push(this.shade(color, i * 0.15));
173
- }
174
- return palette;
175
- }
176
- }
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS91dGlsaWRhZGVzL2NvbG9yLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7SUFDcEI7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWE7UUFDbkMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBb0IsQ0FBQztRQUM1RixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBcUIsQ0FBQztRQUNsRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUVoRixNQUFNLGtCQUFrQixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUN2QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxNQUFNLEdBQUcsR0FDUCxVQUFVO1lBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztpQkFDekIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUN2QixJQUFHLEtBQUssR0FBRyxHQUFHLEVBQUMsQ0FBQztvQkFDZCxLQUFLLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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O1FBQ0gsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb2xvclV0aWwge1xuICAvKipcbiAgICogRGVmaW5lIGxhcyB2YXJpYWJsZXMgQ1NTIGRlbCB0ZW1hIHkgbGFzIGFncmVnYSBhbCBkb2N1bWVudG8uXG4gICAqIFNlIGRlZmluZW5lIDkgY29sb3JlcyBhbHRlcm5hdGl2b3MgbcOhcyBlbCBjb2xvciBwcmluY2lwYWwuXG4gICAqIEFkaWNpb25hbCBzZSBhZ3JlZ2FuIGxhcyBjb21wb25lbnRlcyBIU0wgZGVsIGNvbG9yIHBhcmEgaGFjZXJcbiAgICogdmFyaWFjaW9uZXMgcGVyc29uYWxpemFkYXMgeSBhanVzdGFyIGxhIG9wYWNpZGFkLlxuICAgKiBAcGFyYW0gY29sb3IgQ29sb3IgcHJpbmNpcGFsIGRlbCB0ZW1hXG4gICAqL1xuICBzdGF0aWMgYWRkUGFsbGV0ZVRvUm9vdChjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaGVhZCA9IChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0pIGFzIEhUTUxIZWFkRWxlbWVudDtcbiAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJykgYXMgSFRNTFN0eWxlRWxlbWVudDtcbiAgICBjb25zdCB7IGh1ZSwgc2F0dXJhdGlvbiwgbGlnaHRuZXNzIH0gPSB0aGlzLlJHQjJIU0woY29sb3IpO1xuICAgIGNvbnN0IGNvbnRyYXN0ID0gdGhpcy5jb250cmFzdENvbG9yKGNvbG9yKSA9PT0gMSA/ICctLWNvbG9yLTUwJyA6ICctLWNvbG9yLTkwMCc7XG5cbiAgICBjb25zdCBpbnRlcm1lZGlhdGVDb2xvcnMgPSBbNTAsIDc1LCA4NV1cbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGNvbnN0IGNzcyA9XG4gICAgICAnOnJvb3QgeyAnICtcbiAgICAgIHRoaXMuX2dlbmVyYXRlUGFsZXR0ZShjb2xvcilcbiAgICAgICAgLm1hcCgoY29sb3IsIHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgaWYoaW5kZXggPCAxMDApe1xuICAgICAgICAgICAgaW5kZXggPSBpbnRlcm1lZGlhdGVDb2xvcnNbcG9zaXRpb25dID8gaW50ZXJtZWRpYXRlQ29sb3JzW3Bvc2l0aW9uXSA6IDEwMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW5kZXggKz0gMTAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYC0tY29sb3ItJHtpbmRleH06ICR7Y29sb3J9O2A7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcnKSArXG4gICAgICBgLS1jb2xvci1oOiAke2h1ZX07YCArXG4gICAgICBgLS1jb2xvci1zOiAke3NhdHVyYXRpb259JTtgICtcbiAgICAgIGAtLWNvbG9yLWw6ICR7bGlnaHRuZXNzfSU7YCArXG4gICAgICBgLS1jb2xvci1jb250cmFzdDogdmFyKCR7Y29udHJhc3R9KTtgICtcbiAgICAgICd9JztcbiAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXpjbGEgZG9zIGNvbG9yZXMgZW4gcHJvcG9yY2nDs24gYSB1biBwb3JjZW50YWplIHBhcmEgb2J0ZW5lciB1blxuICAgKiBudWV2byBjb2xvci5cbiAgICogQHBhcmFtIGJhc2VDb2xvciBDb2xvciBiYXNlIHBhcmEgbWV6Y2xhclxuICAgKiBAcGFyYW0gY29sb3IgQ29sb3IgcXVlIHNlIHF1aWVyZSBtZXpjbGFyXG4gICAqIEBwYXJhbSB3ZWlnaHQgUG9yY2VudGFqZSBxdWUgc2UgcXVpZXJlIG1lemNsYXIuIEVudHJlIDAgeSAxXG4gICAqIEByZXR1cm5zIENvbG9yIHJlc3VsdGFudGUgZW4gZm9ybWF0byBSR0IgKCNBQUJCQ0MpXG4gICAqL1xuICBzdGF0aWMgbWl4KGJhc2VDb2xvcjogc3RyaW5nLCBjb2xvcjogc3RyaW5nLCB3ZWlnaHQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgbmV3Q29sb3IgPSBbXTtcbiAgICBiYXNlQ29sb3IgPSB0aGlzLl9ub3JtYWxpemVDb2xvcihiYXNlQ29sb3IpO1xuICAgIGNvbG9yID0gdGhpcy5fbm9ybWFsaXplQ29sb3IoY29sb3IpO1xuXG4gICAgY29uc3QgcmdiQ29sb3JCYXNlID0gdGhpcy5fZ2V0UkdCVmFsdWVzKGJhc2VDb2xvcik7XG4gICAgY29uc3QgcmdiQ29sb3JBZGp1c3QgPSB0aGlzLl9nZXRSR0JWYWx1ZXMoY29sb3IpO1xuXG4gICAgWydyZWQnLCAnZ3JlZW4nLCAnYmx1ZSddLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICAgIG5ld0NvbG9yLnB1c2goXG4gICAgICAgIE1hdGgucm91bmQocmdiQ29sb3JBZGp1c3RbcGFydF0gKyAocmdiQ29sb3JCYXNlW3BhcnRdIC0gcmdiQ29sb3JBZGp1c3RbcGFydF0pICogd2VpZ2h0KVxuICAgICAgICAgIC50b1N0cmluZygxNilcbiAgICAgICAgICAucGFkU3RhcnQoMiwgJzAnKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAnIycgKyBuZXdDb2xvci5qb2luKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY2xhcmEgdW4gY29sb3IgcHJvcG9yY2lvbmFsbWVudGUuXG4gICAqIEBwYXJhbSBjb2xvciBDb2xvciBiYXNlIHBhcmEgbW9kaWZpY2FyXG4gICAqIEBwYXJhbSBwZXJjZW50IFBvcmNlbnRhamUgZGUgYmxhbmNvIHF1ZSBzZSBhZ3JlZ2FcbiAgICogQHJldHVybnMgTnVldm8gY29sb3IgbcOhcyBjbGFyb1xuICAgKi9cbiAgc3RhdGljIHRpbnQoY29sb3I6IHN0cmluZywgcGVyY2VudDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5taXgoJyNmZmYnLCBjb2xvciwgcGVyY2VudCk7XG4gIH1cblxuICAvKipcbiAgICogT3NjdXJlY2UgdW4gY29sb3IgcHJvcG9yY2lvbmFsbWVudGUuXG4gICAqIEBwYXJhbSBjb2xvciBDb2xvciBiYXNlIHBhcmEgbW9kaWZpY2FyXG4gICAqIEBwYXJhbSBwZXJjZW50ICBQb3JjZW50YWplIGRlIG5lZ3JvIHF1ZSBzZSBhZ3JlZ2FcbiAgICogQHJldHVybnMgTnVldm8gY29sb3IgbcOhcyBvc2N1cm9cbiAgICovXG4gIHN0YXRpYyBzaGFkZShjb2xvcjogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1peCgnIzAwMCcsIGNvbG9yLCBwZXJjZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1hIHVuIGNvbG9yIGVuIFJHQiBhIHN1IGVxdWl2YWxlbnRlIGVuIGZvcm1hdG8gSFNMXG4gICAqIEBwYXJhbSBjb2xvciBDb2xvciBlbiBmb3JtYXRvIFJHQlxuICAgKiBAcmV0dXJucyBBcnJlZ2xvIGRlIGNvbXBvbmVudGVzIEhTTFxuICAgKi9cbiAgc3RhdGljIFJHQjJIU0woY29sb3I6IHN0cmluZyk6IHsgaHVlOiBudW1iZXI7IHNhdHVyYXRpb246IG51bWJlcjsgbGlnaHRuZXNzOiBudW1iZXIgfSB7XG4gICAgY29sb3IgPSB0aGlzLl9ub3JtYWxpemVDb2xvcihjb2xvcik7XG5cbiAgICBsZXQgeyByZWQsIGdyZWVuLCBibHVlIH0gPSB0aGlzLl9nZXRSR0JWYWx1ZXMoY29sb3IpO1xuICAgIHJlZCAvPSAyNTU7XG4gICAgZ3JlZW4gLz0gMjU1O1xuICAgIGJsdWUgLz0gMjU1O1xuXG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgocmVkLCBncmVlbiwgYmx1ZSk7XG4gICAgY29uc3QgbWluID0gTWF0aC5taW4ocmVkLCBncmVlbiwgYmx1ZSk7XG5cbiAgICBsZXQgaHVlID0gMDtcbiAgICBsZXQgc2F0dXJhdGlvbiA9IDA7XG4gICAgbGV0IGxpZ2h0bmVzcyA9IChtYXggKyBtaW4pIC8gMjtcblxuICAgIGlmIChtYXggIT0gbWluKSB7XG4gICAgICBjb25zdCBkZWx0YSA9IG1heCAtIG1pbjtcbiAgICAgIHNhdHVyYXRpb24gPSBsaWdodG5lc3MgPiAwLjUgPyBkZWx0YSAvICgyIC0gbWF4IC0gbWluKSA6IGRlbHRhIC8gKG1heCArIG1pbik7XG4gICAgICBzd2l0Y2ggKG1heCkge1xuICAgICAgICBjYXNlIHJlZDpcbiAgICAgICAgICBodWUgPSAoZ3JlZW4gLSBibHVlKSAvIGRlbHRhICsgKGdyZWVuIDwgYmx1ZSA/IDYgOiAwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBncmVlbjpcbiAgICAgICAgICBodWUgPSAoYmx1ZSAtIHJlZCkgLyBkZWx0YSArIDI7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgYmx1ZTpcbiAgICAgICAgICBodWUgPSAocmVkIC0gZ3JlZW4pIC8gZGVsdGEgKyA0O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaHVlIC89IDY7XG4gICAgfVxuXG4gICAgaHVlID0gTWF0aC5yb3VuZChodWUgKiAzNjApO1xuICAgIHNhdHVyYXRpb24gPSBNYXRoLnJvdW5kKHNhdHVyYXRpb24gKiAxMDApO1xuICAgIGxpZ2h0bmVzcyA9IE1hdGgucm91bmQobGlnaHRuZXNzICogMTAwKTtcblxuICAgIHJldHVybiB7IGh1ZSwgc2F0dXJhdGlvbiwgbGlnaHRuZXNzIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSAxIChibGFuY28pIG8gMCAobmVncm8pIHBhcmEgY29udHJhc3RhciBlbCBjb2xvciBlbnZpYWRvLlxuICAgKiBAcGFyYW0gY29sb3IgQ29sb3IgZGVsIGN1YWwgc2UgcXVpZXJlIGJ1c2NhciBlbCBjb250cmFzdGVcbiAgICogQHJldHVybnMgQmxhbmNvIG8gTmVncm8gZW4gUkdCXG4gICAqL1xuICBzdGF0aWMgY29udHJhc3RDb2xvcihjb2xvcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb2xvciA9IHRoaXMuX25vcm1hbGl6ZUNvbG9yKGNvbG9yKTtcbiAgICBjb25zdCB7IHJlZCwgZ3JlZW4sIGJsdWUgfSA9IHRoaXMuX2dldFJHQlZhbHVlcyhjb2xvcik7XG4gICAgcmV0dXJuIHJlZCAqIDAuMjk5ICsgZ3JlZW4gKiAwLjU4NyArIGJsdWUgKiAwLjExNCA+IDE4NiA/IDAgOiAxO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSBxdWUgbGEgY2FkZW5hIGRlIHRleHRvIHJlcHJlc2VudGUgdW4gY29sb3IgUkdCIHbDoWxpZG8geVxuICAgKiByZXRvcm5hIGxhcyBjb21wb25lbnRlcyBkZWwgY29sb3IgZW4gZm9ybWF0byBkZSBzZWlzIGNhcmFjdGVyZXMuXG4gICAqIEBwYXJhbSBjb2xvciBDb2xvciBlbiBmb3JtYXRvIFJHQi4gRWplbXBsbzogKCMwMDApXG4gICAqIEByZXR1cm5zIFN0cmluZyBkZWwgY29sb3Igc2luIGVsIHNpbWJvbG8gI1xuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgX25vcm1hbGl6ZUNvbG9yKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJnYkNvbG9yID0gY29sb3IubWF0Y2goL14jKFswLTlBLUZdezN9fFswLTlBLUZdezZ9KSQvaSk7XG4gICAgaWYgKCFyZ2JDb2xvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2NvbG9yfSBpcyBub3QgYSBSR0IgY29sb3IuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29sb3JQYXJ0cyA9IHJnYkNvbG9yWzFdLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGNvbG9yUGFydHMubGVuZ3RoID09PSAzKSB7XG4gICAgICByZXR1cm4gY29sb3JQYXJ0cy5yZXBsYWNlKC8oLikvZywgJyQxJDEnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29sb3JQYXJ0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1hIHVuIGNvbG9yIEhleGFkZWNpbWFsIGEgRGVjaW1hbCBlbiBzdXMgcmVzcGVjdGl2YXNcbiAgICogY29tb3BuZW5ldGVzLlxuICAgKiBAcGFyYW0gY29sb3IgQ29sb3IgZW4gSGVjYWRlY2ltYWwgcGFyYSBkZXNjb21wb25lclxuICAgKiBAcmV0dXJucyBVbiBvYmpldG8ge3JlZCwgZ3JlZW4sIGJsdWV9IGVuIGRlY2ltYWxcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIF9nZXRSR0JWYWx1ZXMoY29sb3I6IHN0cmluZyk6IHsgcmVkOiBudW1iZXI7IGdyZWVuOiBudW1iZXI7IGJsdWU6IG51bWJlciB9IHtcbiAgICBjb25zdCByZWQgPSBwYXJzZUludChjb2xvci5zbGljZSgwLCAyKSwgMTYpO1xuICAgIGNvbnN0IGdyZWVuID0gcGFyc2VJbnQoY29sb3Iuc2xpY2UoMiwgNCksIDE2KTtcbiAgICBjb25zdCBibHVlID0gcGFyc2VJbnQoY29sb3Iuc2xpY2UoNCwgNiksIDE2KTtcbiAgICByZXR1cm4geyByZWQsIGdyZWVuLCBibHVlIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHVuYSBwYWxldGEgZGUgMTAgY29sb3JlcywgNSBtw6FzIGNsYXJvcyB5IDQgbcOhcyBvc2N1cm9zIGJhc2Fkb3NcbiAgICogZW4gZWwgY29sb3IgcHJpbmNpcGFsLiBFbCBjb2xvciBwcmluY2lwYWwgc2Vyw6EgZWwgY29sb3IgbWVkaW8gZGUgbGEgcGFsZXRhXG4gICAqIEBwYXJhbSBjb2xvciBDb2xvciBiYXNlIHBhcmEgZGVmaW5pciBsb3MgZGVtw6FzIGNvbG9yZXNcbiAgICogQHJldHVybnMgQXJyZWdsbyBkZSB0b2RvcyBsb3MgY29sb3JlcyBkZSBsYSBwYWxldGFcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIF9nZW5lcmF0ZVBhbGV0dGUoY29sb3I6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBwYWxldHRlID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICAgIGlmKGkgPT09IDApIHtcbiAgICAgICAgcGFsZXR0ZS5wdXNoKHRoaXMudGludChjb2xvciwgKDUgLSBpKSAqIDAuMTkpKTtcbiAgICAgICAgcGFsZXR0ZS5wdXNoKHRoaXMudGludChjb2xvciwgKDQuOCAtIGkpICogMC4xOSkpO1xuICAgICAgICBwYWxldHRlLnB1c2godGhpcy50aW50KGNvbG9yLCAoNC41NSAtIGkpICogMC4xOSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFsZXR0ZS5wdXNoKHRoaXMudGludChjb2xvciwgKDUgLSBpKSAqIDAuMTkpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFsZXR0ZS5wdXNoKGNvbG9yKTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IDU7IGkrKykge1xuICAgICAgcGFsZXR0ZS5wdXNoKHRoaXMuc2hhZGUoY29sb3IsIGkgKiAwLjE1KSk7XG4gICAgfVxuICAgIHJldHVybiBwYWxldHRlO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWNoYW5nZWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9sYXlvdXQvYXBpL21lbnVjaGFuZ2VldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNZW51Q2hhbmdlRXZlbnQge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHJvdXRlRXZlbnQ/OiBib29sZWFuO1xufSJdfQ==