@koalarx/ui 12.4.1 → 12.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/alert/README.md +24 -0
  2. package/alert/bundles/koalarx-ui-alert.umd.js +153 -0
  3. package/alert/bundles/koalarx-ui-alert.umd.js.map +1 -0
  4. package/alert/esm2015/index.js +7 -0
  5. package/alert/esm2015/koalarx-ui-alert.js +5 -0
  6. package/alert/esm2015/lib/dialog-alert.component.js +43 -0
  7. package/alert/esm2015/lib/koala.alert-config.interface.js +2 -0
  8. package/alert/esm2015/lib/koala.alert.enum.js +9 -0
  9. package/alert/esm2015/lib/koala.alert.module.js +31 -0
  10. package/alert/esm2015/lib/koala.alert.service.js +21 -0
  11. package/alert/esm2015/lib/koala.request-code-to-alert-enum.translate.js +18 -0
  12. package/alert/fesm2015/koalarx-ui-alert.js +121 -0
  13. package/alert/fesm2015/koalarx-ui-alert.js.map +1 -0
  14. package/alert/index.d.ts +6 -6
  15. package/alert/koalarx-ui-alert.d.ts +4 -0
  16. package/alert/koalarx-ui-alert.metadata.json +1 -0
  17. package/alert/lib/dialog-alert.component.d.ts +7 -0
  18. package/alert/{koala.alert-config.interface.d.ts → lib/koala.alert-config.interface.d.ts} +1 -1
  19. package/alert/{koala.alert.enum.d.ts → lib/koala.alert.enum.d.ts} +0 -0
  20. package/alert/lib/koala.alert.module.d.ts +2 -0
  21. package/alert/{koala.alert.service.d.ts → lib/koala.alert.service.d.ts} +1 -4
  22. package/alert/{koala.request-code-to-alert-enum.translate.d.ts → lib/koala.request-code-to-alert-enum.translate.d.ts} +0 -0
  23. package/alert/package.json +19 -0
  24. package/button/bundles/koalarx-ui-button.umd.js +71 -0
  25. package/button/bundles/koalarx-ui-button.umd.js.map +1 -0
  26. package/button/esm2015/index.js +3 -0
  27. package/button/esm2015/koalarx-ui-button.js +5 -0
  28. package/button/esm2015/lib/button.component.js +31 -0
  29. package/button/esm2015/lib/koala.button.module.js +27 -0
  30. package/button/fesm2015/koalarx-ui-button.js +63 -0
  31. package/button/fesm2015/koalarx-ui-button.js.map +1 -0
  32. package/button/index.d.ts +2 -2
  33. package/button/koalarx-ui-button.d.ts +4 -0
  34. package/button/koalarx-ui-button.metadata.json +1 -0
  35. package/button/lib/button.component.d.ts +13 -0
  36. package/button/lib/koala.button.module.d.ts +2 -0
  37. package/button/package.json +19 -0
  38. package/core/README.md +24 -0
  39. package/core/bundles/koalarx-ui-core.umd.js +1821 -0
  40. package/core/bundles/koalarx-ui-core.umd.js.map +1 -0
  41. package/core/esm2015/index.js +51 -0
  42. package/core/esm2015/koalarx-ui-core.js +7 -0
  43. package/core/esm2015/lib/environments/koalaEnvironment.js +4 -0
  44. package/core/esm2015/lib/loader/loader-bar-page.component.js +22 -0
  45. package/core/esm2015/lib/loader/loader-bar-page.interface.js +2 -0
  46. package/core/esm2015/lib/loader/loader-config.interface.js +2 -0
  47. package/core/esm2015/lib/mask-options.js +4 -0
  48. package/core/esm2015/lib/ngx-koala.module.js +35 -0
  49. package/core/esm2015/lib/page/koala-language.helper.js +114 -0
  50. package/core/esm2015/lib/page/koala-oauth2-config.interface.js +2 -0
  51. package/core/esm2015/lib/page/koala-page-pallet-colors.interface.js +2 -0
  52. package/core/esm2015/lib/page/koala.page.module.js +46 -0
  53. package/core/esm2015/lib/page/koala.user-menu-options.interface.js +2 -0
  54. package/core/esm2015/lib/page/notifications/koala.notification.interface.js +2 -0
  55. package/core/esm2015/lib/page/notifications/notification.component.js +43 -0
  56. package/core/esm2015/lib/page/page.component.js +396 -0
  57. package/core/esm2015/lib/router/koala.parameter-hash-location-stategy.js +16 -0
  58. package/core/esm2015/lib/services/api-requester/factory/koala.response.factory.js +48 -0
  59. package/core/esm2015/lib/services/api-requester/helpers/error/koala.client.error.js +3 -0
  60. package/core/esm2015/lib/services/api-requester/helpers/error/koala.errors.helper.js +46 -0
  61. package/core/esm2015/lib/services/api-requester/helpers/error/koala.not-found.error.js +3 -0
  62. package/core/esm2015/lib/services/api-requester/helpers/error/koala.success.error.js +3 -0
  63. package/core/esm2015/lib/services/api-requester/helpers/error/koala.unhautorized.error.js +3 -0
  64. package/core/esm2015/lib/services/api-requester/helpers/service/koala.request-header.helper.js +15 -0
  65. package/core/esm2015/lib/services/api-requester/koala.api-requester.base.js +70 -0
  66. package/{esm2015/core → core/esm2015/lib}/services/api-requester/koala.api-requester.service.js +11 -8
  67. package/core/esm2015/lib/services/csv/koala.csv.service.js +38 -0
  68. package/core/esm2015/lib/services/loader/koala.loader.service.js +32 -0
  69. package/core/esm2015/lib/services/openid/koala.oauth.config.js +33 -0
  70. package/core/esm2015/lib/services/openid/koala.oauth2.service.js +196 -0
  71. package/core/esm2015/lib/services/request/koala.request.service.js +53 -0
  72. package/core/esm2015/lib/services/token/koala.token.service.js +52 -0
  73. package/core/esm2015/lib/services/token/token.factory.js +31 -0
  74. package/core/esm2015/lib/services/xlsx/koala.xlsx-config.interface.js +2 -0
  75. package/core/esm2015/lib/services/xlsx/koala.xlsx.service.js +61 -0
  76. package/core/fesm2015/koalarx-ui-core.js +1434 -0
  77. package/core/fesm2015/koalarx-ui-core.js.map +1 -0
  78. package/core/index.d.ts +24 -27
  79. package/core/koalarx-ui-core.d.ts +6 -0
  80. package/core/koalarx-ui-core.metadata.json +1 -0
  81. package/core/{environments → lib/environments}/koalaEnvironment.d.ts +0 -0
  82. package/core/lib/loader/loader-bar-page.component.d.ts +5 -0
  83. package/core/{loader → lib/loader}/loader-bar-page.interface.d.ts +0 -0
  84. package/core/{loader → lib/loader}/loader-config.interface.d.ts +0 -0
  85. package/core/{mask-options.d.ts → lib/mask-options.d.ts} +0 -0
  86. package/core/lib/ngx-koala.module.d.ts +5 -0
  87. package/core/{page → lib/page}/koala-language.helper.d.ts +0 -0
  88. package/core/{page → lib/page}/koala-oauth2-config.interface.d.ts +0 -0
  89. package/core/{page → lib/page}/koala-page-pallet-colors.interface.d.ts +0 -0
  90. package/core/lib/page/koala.page.module.d.ts +2 -0
  91. package/core/{page → lib/page}/koala.user-menu-options.interface.d.ts +0 -0
  92. package/core/{page → lib/page}/notifications/koala.notification.interface.d.ts +0 -0
  93. package/core/{page → lib/page}/notifications/notification.component.d.ts +0 -3
  94. package/core/{page → lib/page}/page.component.d.ts +1 -4
  95. package/core/lib/router/koala.parameter-hash-location-stategy.d.ts +4 -0
  96. package/core/{services → lib/services}/api-requester/factory/koala.response.factory.d.ts +0 -0
  97. package/core/{services → lib/services}/api-requester/helpers/error/koala.client.error.d.ts +0 -0
  98. package/core/{services → lib/services}/api-requester/helpers/error/koala.errors.helper.d.ts +1 -1
  99. package/core/{services → lib/services}/api-requester/helpers/error/koala.not-found.error.d.ts +0 -0
  100. package/core/{services → lib/services}/api-requester/helpers/error/koala.success.error.d.ts +0 -0
  101. package/core/{services → lib/services}/api-requester/helpers/error/koala.unhautorized.error.d.ts +0 -0
  102. package/core/{services → lib/services}/api-requester/helpers/service/koala.request-header.helper.d.ts +0 -0
  103. package/core/{services → lib/services}/api-requester/koala.api-requester.base.d.ts +2 -8
  104. package/core/{services → lib/services}/api-requester/koala.api-requester.service.d.ts +0 -3
  105. package/core/{services → lib/services}/csv/koala.csv.service.d.ts +0 -3
  106. package/core/{services → lib/services}/loader/koala.loader.service.d.ts +0 -3
  107. package/core/{services → lib/services}/openid/koala.oauth.config.d.ts +0 -0
  108. package/core/{services → lib/services}/openid/koala.oauth2.service.d.ts +0 -3
  109. package/core/{services → lib/services}/request/koala.request.service.d.ts +1 -4
  110. package/core/{services → lib/services}/token/koala.token.service.d.ts +0 -3
  111. package/core/{services → lib/services}/token/token.factory.d.ts +0 -0
  112. package/core/{services → lib/services}/xlsx/koala.xlsx-config.interface.d.ts +0 -0
  113. package/core/{services → lib/services}/xlsx/koala.xlsx.service.d.ts +0 -3
  114. package/core/package.json +19 -0
  115. package/{theme → core/theme}/koala.theme.css +0 -0
  116. package/dialog/README.md +24 -0
  117. package/dialog/bundles/koalarx-ui-dialog.umd.js +139 -0
  118. package/dialog/bundles/koalarx-ui-dialog.umd.js.map +1 -0
  119. package/dialog/esm2015/index.js +4 -0
  120. package/dialog/esm2015/koalarx-ui-dialog.js +5 -0
  121. package/dialog/esm2015/lib/dialog.component.js +18 -0
  122. package/dialog/esm2015/lib/koala.dialog-template.interface.js +2 -0
  123. package/dialog/esm2015/lib/koala.dialog.module.js +25 -0
  124. package/dialog/esm2015/lib/koala.dialog.service.js +61 -0
  125. package/dialog/fesm2015/koalarx-ui-dialog.js +107 -0
  126. package/dialog/fesm2015/koalarx-ui-dialog.js.map +1 -0
  127. package/dialog/index.d.ts +3 -3
  128. package/dialog/koalarx-ui-dialog.d.ts +4 -0
  129. package/dialog/koalarx-ui-dialog.metadata.json +1 -0
  130. package/dialog/lib/dialog.component.d.ts +8 -0
  131. package/dialog/{koala.dialog-template.interface.d.ts → lib/koala.dialog-template.interface.d.ts} +0 -0
  132. package/dialog/lib/koala.dialog.module.d.ts +2 -0
  133. package/dialog/{koala.dialog.service.d.ts → lib/koala.dialog.service.d.ts} +0 -3
  134. package/dialog/package.json +19 -0
  135. package/dynamic-component/README.md +24 -0
  136. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js +95 -0
  137. package/dynamic-component/bundles/koalarx-ui-dynamic-component.umd.js.map +1 -0
  138. package/dynamic-component/esm2015/index.js +6 -0
  139. package/dynamic-component/esm2015/koalarx-ui-dynamic-component.js +5 -0
  140. package/dynamic-component/esm2015/lib/koala-dynamic-component.component.js +2 -0
  141. package/dynamic-component/esm2015/lib/koala-dynamic-component.directive.js +15 -0
  142. package/dynamic-component/esm2015/lib/koala-dynamic-component.factory.js +38 -0
  143. package/dynamic-component/esm2015/lib/koala-dynamic-component.js +7 -0
  144. package/dynamic-component/esm2015/lib/koala-dynamic-component.module.js +17 -0
  145. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js +79 -0
  146. package/dynamic-component/fesm2015/koalarx-ui-dynamic-component.js.map +1 -0
  147. package/dynamic-component/index.d.ts +5 -5
  148. package/dynamic-component/koalarx-ui-dynamic-component.d.ts +4 -0
  149. package/dynamic-component/koalarx-ui-dynamic-component.metadata.json +1 -0
  150. package/dynamic-component/{koala-dynamic-component.component.d.ts → lib/koala-dynamic-component.component.d.ts} +0 -0
  151. package/dynamic-component/{koala-dynamic-component.d.ts → lib/koala-dynamic-component.d.ts} +0 -0
  152. package/dynamic-component/lib/koala-dynamic-component.directive.d.ts +5 -0
  153. package/dynamic-component/{koala-dynamic-component.factory.d.ts → lib/koala-dynamic-component.factory.d.ts} +2 -5
  154. package/dynamic-component/lib/koala-dynamic-component.module.d.ts +2 -0
  155. package/dynamic-component/package.json +19 -0
  156. package/file-button/README.md +24 -0
  157. package/file-button/bundles/koalarx-ui-file-button.umd.js +553 -0
  158. package/file-button/bundles/koalarx-ui-file-button.umd.js.map +1 -0
  159. package/file-button/esm2015/index.js +5 -0
  160. package/file-button/esm2015/koalarx-ui-file-button.js +5 -0
  161. package/file-button/esm2015/lib/file-button.component.js +118 -0
  162. package/file-button/esm2015/lib/koala.btn-file.service.js +26 -0
  163. package/file-button/esm2015/lib/koala.file-button.module.js +25 -0
  164. package/file-button/esm2015/lib/koala.file.interface.js +2 -0
  165. package/file-button/fesm2015/koalarx-ui-file-button.js +171 -0
  166. package/file-button/fesm2015/koalarx-ui-file-button.js.map +1 -0
  167. package/file-button/index.d.ts +4 -4
  168. package/file-button/koalarx-ui-file-button.d.ts +4 -0
  169. package/file-button/koalarx-ui-file-button.metadata.json +1 -0
  170. package/file-button/lib/file-button.component.d.ts +26 -0
  171. package/file-button/{koala.btn-file.service.d.ts → lib/koala.btn-file.service.d.ts} +1 -4
  172. package/file-button/lib/koala.file-button.module.d.ts +2 -0
  173. package/file-button/{koala.file.interface.d.ts → lib/koala.file.interface.d.ts} +0 -0
  174. package/file-button/package.json +19 -0
  175. package/folder-page/README.md +24 -0
  176. package/folder-page/bundles/koalarx-ui-folder-page.umd.js +97 -0
  177. package/folder-page/bundles/koalarx-ui-folder-page.umd.js.map +1 -0
  178. package/folder-page/esm2015/index.js +4 -0
  179. package/folder-page/esm2015/koalarx-ui-folder-page.js +5 -0
  180. package/folder-page/esm2015/lib/folder.component.js +56 -0
  181. package/folder-page/esm2015/lib/koala-navigate-history.interface.js +2 -0
  182. package/folder-page/esm2015/lib/koala.folder-page.module.js +27 -0
  183. package/folder-page/fesm2015/koalarx-ui-folder-page.js +88 -0
  184. package/folder-page/fesm2015/koalarx-ui-folder-page.js.map +1 -0
  185. package/folder-page/index.d.ts +3 -2
  186. package/folder-page/koalarx-ui-folder-page.d.ts +4 -0
  187. package/folder-page/koalarx-ui-folder-page.metadata.json +1 -0
  188. package/folder-page/lib/folder.component.d.ts +17 -0
  189. package/folder-page/{koala-navigate-history.interface.d.ts → lib/koala-navigate-history.interface.d.ts} +0 -0
  190. package/folder-page/lib/koala.folder-page.module.d.ts +2 -0
  191. package/folder-page/package.json +19 -0
  192. package/form/README.md +24 -0
  193. package/form/bundles/koalarx-ui-form.umd.js +1949 -0
  194. package/form/bundles/koalarx-ui-form.umd.js.map +1 -0
  195. package/form/esm2015/index.js +20 -0
  196. package/form/esm2015/koalarx-ui-form.js +5 -0
  197. package/form/esm2015/lib/btn-submit/btn-submit.component.js +39 -0
  198. package/form/esm2015/lib/directives/koala-autofocus.directive.js +25 -0
  199. package/form/esm2015/lib/dynamic-form/builder/dynamic-form.builder.js +138 -0
  200. package/form/esm2015/lib/dynamic-form/builder/fields/autocomplete.builder.js +34 -0
  201. package/form/esm2015/lib/dynamic-form/builder/fields/field.base.js +147 -0
  202. package/form/esm2015/lib/dynamic-form/builder/fields/field.builder.js +7 -0
  203. package/form/esm2015/lib/dynamic-form/builder/fields/more-items.builder.js +57 -0
  204. package/form/esm2015/lib/dynamic-form/dynamic-form.component.js +551 -0
  205. package/{esm2015/form → form/esm2015/lib}/dynamic-form/enums/dynamic-form-type-field.enum.js +1 -1
  206. package/form/esm2015/lib/dynamic-form/interfaces/koala-custom-validator-fn.interface.js +2 -0
  207. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.js +2 -0
  208. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.js +2 -0
  209. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-config.interface.js +2 -0
  210. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-field.interface.js +2 -0
  211. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.js +2 -0
  212. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.js +2 -0
  213. package/form/esm2015/lib/dynamic-form/interfaces/koala.dynamic-set-value.interface.js +2 -0
  214. package/{esm2015/form → form/esm2015/lib}/dynamic-form/koala.dynamic-form.service.js +11 -8
  215. package/form/esm2015/lib/dynamic-form/validators/autocomplete-selected.validator.js +10 -0
  216. package/form/esm2015/lib/dynamic-form/validators/cnpj.validator.js +10 -0
  217. package/form/esm2015/lib/dynamic-form/validators/cpf.validator.js +10 -0
  218. package/form/esm2015/lib/dynamic-form/validators/date-max.validator.js +11 -0
  219. package/form/esm2015/lib/dynamic-form/validators/date-min.validator.js +11 -0
  220. package/form/esm2015/lib/dynamic-form/validators/koala-dynamic-form-validator-result.helper.js +10 -0
  221. package/form/esm2015/lib/dynamic-form/validators/validation.helper.js +86 -0
  222. package/form/esm2015/lib/form.abstract.js +42 -0
  223. package/form/esm2015/lib/koala.form.module.js +69 -0
  224. package/form/esm2015/lib/show-invalid-fields/show-invalid-fields.js +9 -0
  225. package/form/fesm2015/koalarx-ui-form.js +1465 -0
  226. package/form/fesm2015/koalarx-ui-form.js.map +1 -0
  227. package/form/index.d.ts +19 -17
  228. package/form/koalarx-ui-form.d.ts +4 -0
  229. package/form/koalarx-ui-form.metadata.json +1 -0
  230. package/form/{btn-submit → lib/btn-submit}/btn-submit.component.d.ts +1 -4
  231. package/form/lib/directives/koala-autofocus.directive.d.ts +7 -0
  232. package/form/{dynamic-form → lib/dynamic-form}/builder/dynamic-form.builder.d.ts +0 -0
  233. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/autocomplete.builder.d.ts +0 -0
  234. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/field.base.d.ts +0 -0
  235. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/field.builder.d.ts +0 -0
  236. package/form/{dynamic-form → lib/dynamic-form}/builder/fields/more-items.builder.d.ts +0 -0
  237. package/form/{dynamic-form → lib/dynamic-form}/dynamic-form.component.d.ts +2 -5
  238. package/form/{dynamic-form → lib/dynamic-form}/enums/dynamic-form-type-field.enum.d.ts +0 -0
  239. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala-custom-validator-fn.interface.d.ts +0 -0
  240. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-autocomplete-options.interface.d.ts +0 -0
  241. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.d.ts +0 -0
  242. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-config.interface.d.ts +0 -0
  243. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-field.interface.d.ts +0 -0
  244. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.d.ts +0 -0
  245. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-form-show-field.interface.d.ts +0 -0
  246. package/form/{dynamic-form → lib/dynamic-form}/interfaces/koala.dynamic-set-value.interface.d.ts +0 -0
  247. package/form/{dynamic-form → lib/dynamic-form}/koala.dynamic-form.service.d.ts +0 -3
  248. package/form/{dynamic-form → lib/dynamic-form}/validators/autocomplete-selected.validator.d.ts +0 -0
  249. package/form/{dynamic-form → lib/dynamic-form}/validators/cnpj.validator.d.ts +0 -0
  250. package/form/{dynamic-form → lib/dynamic-form}/validators/cpf.validator.d.ts +0 -0
  251. package/form/{dynamic-form → lib/dynamic-form}/validators/date-max.validator.d.ts +0 -0
  252. package/form/{dynamic-form → lib/dynamic-form}/validators/date-min.validator.d.ts +0 -0
  253. package/form/{dynamic-form → lib/dynamic-form}/validators/koala-dynamic-form-validator-result.helper.d.ts +0 -0
  254. package/form/{dynamic-form → lib/dynamic-form}/validators/validation.helper.d.ts +0 -0
  255. package/{core → form/lib}/form.abstract.d.ts +1 -1
  256. package/form/lib/koala.form.module.d.ts +2 -0
  257. package/form/{show-invalid-fields → lib/show-invalid-fields}/show-invalid-fields.d.ts +0 -0
  258. package/form/package.json +19 -0
  259. package/icon/bundles/koalarx-ui-icon.umd.js +76 -0
  260. package/icon/bundles/koalarx-ui-icon.umd.js.map +1 -0
  261. package/icon/esm2015/index.js +3 -0
  262. package/icon/esm2015/koalarx-ui-icon.js +5 -0
  263. package/icon/esm2015/lib/icon.component.js +45 -0
  264. package/icon/esm2015/lib/koala.icon.module.js +19 -0
  265. package/icon/fesm2015/koalarx-ui-icon.js +69 -0
  266. package/icon/fesm2015/koalarx-ui-icon.js.map +1 -0
  267. package/icon/index.d.ts +2 -2
  268. package/icon/koalarx-ui-icon.d.ts +4 -0
  269. package/icon/koalarx-ui-icon.metadata.json +1 -0
  270. package/icon/{icon.component.d.ts → lib/icon.component.d.ts} +3 -6
  271. package/icon/lib/koala.icon.module.d.ts +2 -0
  272. package/icon/package.json +19 -0
  273. package/icons-animated/README.md +24 -0
  274. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js +138 -0
  275. package/icons-animated/bundles/koalarx-ui-icons-animated.umd.js.map +1 -0
  276. package/icons-animated/esm2015/index.js +5 -0
  277. package/icons-animated/esm2015/koalarx-ui-icons-animated.js +6 -0
  278. package/icons-animated/esm2015/lib/icons/downloading/downloading-icon-animated.component.js +28 -0
  279. package/icons-animated/esm2015/lib/icons/loading/loading-icon-animated.component.js +28 -0
  280. package/icons-animated/esm2015/lib/icons-animated.component.js +15 -0
  281. package/icons-animated/esm2015/lib/icons-animated.service.js +29 -0
  282. package/icons-animated/esm2015/lib/koala-icons-animated.module.js +23 -0
  283. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js +121 -0
  284. package/icons-animated/fesm2015/koalarx-ui-icons-animated.js.map +1 -0
  285. package/icons-animated/index.d.ts +4 -4
  286. package/icons-animated/koalarx-ui-icons-animated.d.ts +5 -0
  287. package/icons-animated/koalarx-ui-icons-animated.metadata.json +1 -0
  288. package/icons-animated/{icons → lib/icons}/downloading/downloading-icon-animated.component.d.ts +0 -3
  289. package/icons-animated/{icons → lib/icons}/loading/loading-icon-animated.component.d.ts +0 -3
  290. package/icons-animated/lib/icons-animated.component.d.ts +5 -0
  291. package/icons-animated/lib/icons-animated.service.d.ts +6 -0
  292. package/icons-animated/lib/koala-icons-animated.module.d.ts +2 -0
  293. package/icons-animated/package.json +19 -0
  294. package/list/README.md +24 -0
  295. package/list/bundles/koalarx-ui-list.umd.js +882 -0
  296. package/list/bundles/koalarx-ui-list.umd.js.map +1 -0
  297. package/list/esm2015/index.js +11 -0
  298. package/list/esm2015/koalarx-ui-list.js +5 -0
  299. package/list/esm2015/lib/koala-list-filter.interface.js +2 -0
  300. package/list/esm2015/lib/koala-list-form-filter.interface.js +2 -0
  301. package/list/esm2015/lib/koala-list-item-menu-option.interface.js +2 -0
  302. package/list/esm2015/lib/koala-list-item.interface.js +2 -0
  303. package/list/esm2015/lib/koala.list-config.interface.js +2 -0
  304. package/list/esm2015/lib/koala.list.module.js +40 -0
  305. package/list/esm2015/lib/koala.list.service.js +13 -0
  306. package/list/esm2015/lib/list-builder/list.builder.js +85 -0
  307. package/list/esm2015/lib/list.abstract.js +174 -0
  308. package/list/esm2015/lib/list.component.js +151 -0
  309. package/list/esm2015/lib/providers/pagination/pagination.provider.js +30 -0
  310. package/list/fesm2015/koalarx-ui-list.js +481 -0
  311. package/list/fesm2015/koalarx-ui-list.js.map +1 -0
  312. package/list/index.d.ts +10 -9
  313. package/list/koalarx-ui-list.d.ts +4 -0
  314. package/list/koalarx-ui-list.metadata.json +1 -0
  315. package/list/{koala-list-filter.interface.d.ts → lib/koala-list-filter.interface.d.ts} +1 -1
  316. package/list/{koala-list-form-filter.interface.d.ts → lib/koala-list-form-filter.interface.d.ts} +0 -0
  317. package/list/{koala-list-item-menu-option.interface.d.ts → lib/koala-list-item-menu-option.interface.d.ts} +0 -0
  318. package/list/{koala-list-item.interface.d.ts → lib/koala-list-item.interface.d.ts} +1 -1
  319. package/list/{koala.list-config.interface.d.ts → lib/koala.list-config.interface.d.ts} +2 -2
  320. package/list/lib/koala.list.module.d.ts +2 -0
  321. package/list/lib/koala.list.service.d.ts +4 -0
  322. package/list/{list-builder → lib/list-builder}/list.builder.d.ts +1 -1
  323. package/list/{list.abstract.d.ts → lib/list.abstract.d.ts} +7 -7
  324. package/list/{list.component.d.ts → lib/list.component.d.ts} +12 -15
  325. package/{core → list/lib}/providers/pagination/pagination.provider.d.ts +0 -3
  326. package/list/package.json +19 -0
  327. package/menu/README.md +24 -0
  328. package/menu/bundles/koalarx-ui-menu.umd.js +511 -0
  329. package/menu/bundles/koalarx-ui-menu.umd.js.map +1 -0
  330. package/menu/esm2015/index.js +6 -0
  331. package/menu/esm2015/koalarx-ui-menu.js +5 -0
  332. package/menu/esm2015/lib/koala.menu-module.interface.js +2 -0
  333. package/menu/esm2015/lib/koala.menu-tool.interface.js +2 -0
  334. package/menu/esm2015/lib/koala.menu.module.js +25 -0
  335. package/menu/esm2015/lib/koala.menu.service.js +22 -0
  336. package/menu/esm2015/lib/menu.component.js +104 -0
  337. package/menu/fesm2015/koalarx-ui-menu.js +153 -0
  338. package/menu/fesm2015/koalarx-ui-menu.js.map +1 -0
  339. package/menu/index.d.ts +5 -5
  340. package/menu/koalarx-ui-menu.d.ts +4 -0
  341. package/menu/koalarx-ui-menu.metadata.json +1 -0
  342. package/menu/{koala.menu-module.interface.d.ts → lib/koala.menu-module.interface.d.ts} +0 -0
  343. package/menu/{koala.menu-tool.interface.d.ts → lib/koala.menu-tool.interface.d.ts} +0 -0
  344. package/menu/lib/koala.menu.module.d.ts +2 -0
  345. package/menu/lib/koala.menu.service.d.ts +7 -0
  346. package/menu/{menu.component.d.ts → lib/menu.component.d.ts} +4 -6
  347. package/menu/package.json +19 -0
  348. package/package.json +3 -12
  349. package/question/README.md +24 -0
  350. package/question/bundles/koalarx-ui-question.umd.js +104 -0
  351. package/question/bundles/koalarx-ui-question.umd.js.map +1 -0
  352. package/question/esm2015/index.js +5 -0
  353. package/question/esm2015/koalarx-ui-question.js +5 -0
  354. package/question/esm2015/lib/dialog-question.component.js +20 -0
  355. package/question/esm2015/lib/koala-question-config.interface.js +2 -0
  356. package/question/esm2015/lib/koala.question.module.js +27 -0
  357. package/question/esm2015/lib/koala.question.service.js +28 -0
  358. package/question/fesm2015/koalarx-ui-question.js +77 -0
  359. package/question/fesm2015/koalarx-ui-question.js.map +1 -0
  360. package/question/index.d.ts +4 -4
  361. package/question/koalarx-ui-question.d.ts +4 -0
  362. package/question/koalarx-ui-question.metadata.json +1 -0
  363. package/question/lib/dialog-question.component.d.ts +7 -0
  364. package/question/{koala-question-config.interface.d.ts → lib/koala-question-config.interface.d.ts} +1 -1
  365. package/question/lib/koala.question.module.d.ts +2 -0
  366. package/question/{koala.question.service.d.ts → lib/koala.question.service.d.ts} +1 -4
  367. package/question/package.json +19 -0
  368. package/snackbar/README.md +24 -0
  369. package/snackbar/bundles/koalarx-ui-snackbar.umd.js +93 -0
  370. package/snackbar/bundles/koalarx-ui-snackbar.umd.js.map +1 -0
  371. package/snackbar/esm2015/index.js +5 -0
  372. package/snackbar/esm2015/koalarx-ui-snackbar.js +5 -0
  373. package/snackbar/esm2015/lib/koala.snackbar.component.js +20 -0
  374. package/snackbar/esm2015/lib/koala.snackbar.interface.js +2 -0
  375. package/snackbar/esm2015/lib/koala.snackbar.module.js +26 -0
  376. package/snackbar/esm2015/lib/koala.snackbar.service.js +35 -0
  377. package/snackbar/fesm2015/koalarx-ui-snackbar.js +81 -0
  378. package/snackbar/fesm2015/koalarx-ui-snackbar.js.map +1 -0
  379. package/snackbar/index.d.ts +4 -4
  380. package/snackbar/koalarx-ui-snackbar.d.ts +4 -0
  381. package/snackbar/koalarx-ui-snackbar.metadata.json +1 -0
  382. package/snackbar/{koala.snackbar.component.d.ts → lib/koala.snackbar.component.d.ts} +0 -3
  383. package/snackbar/{koala.snackbar.interface.d.ts → lib/koala.snackbar.interface.d.ts} +0 -0
  384. package/snackbar/lib/koala.snackbar.module.d.ts +2 -0
  385. package/snackbar/{koala.snackbar.service.d.ts → lib/koala.snackbar.service.d.ts} +0 -3
  386. package/snackbar/package.json +19 -0
  387. package/README.md +0 -9
  388. package/alert/dialog-alert.component.d.ts +0 -10
  389. package/alert/koala.alert.module.d.ts +0 -12
  390. package/bundles/koalarx-ui.umd.js +0 -9165
  391. package/bundles/koalarx-ui.umd.js.map +0 -1
  392. package/button/button.component.d.ts +0 -16
  393. package/button/koala.button.module.d.ts +0 -12
  394. package/core/directives/koala-autofocus.directive.d.ts +0 -10
  395. package/core/loader/loader-bar-page.component.d.ts +0 -8
  396. package/core/ngx-koala.module.d.ts +0 -12
  397. package/core/page/koala.page.module.d.ts +0 -21
  398. package/core/router/koala.parameter-hash-location-stategy.d.ts +0 -7
  399. package/dialog/dialog.component.d.ts +0 -11
  400. package/dialog/koala.dialog.module.d.ts +0 -11
  401. package/dynamic-component/koala-dynamic-component.directive.d.ts +0 -8
  402. package/dynamic-component/koala-dynamic-component.module.d.ts +0 -8
  403. package/esm2015/alert/dialog-alert.component.js +0 -109
  404. package/esm2015/alert/index.js +0 -10
  405. package/esm2015/alert/koala.alert-config.interface.js +0 -2
  406. package/esm2015/alert/koala.alert.enum.js +0 -9
  407. package/esm2015/alert/koala.alert.module.js +0 -49
  408. package/esm2015/alert/koala.alert.service.js +0 -19
  409. package/esm2015/alert/koala.request-code-to-alert-enum.translate.js +0 -18
  410. package/esm2015/button/button.component.js +0 -113
  411. package/esm2015/button/index.js +0 -6
  412. package/esm2015/button/koala.button.module.js +0 -43
  413. package/esm2015/core/directives/koala-autofocus.directive.js +0 -25
  414. package/esm2015/core/environments/koalaEnvironment.js +0 -4
  415. package/esm2015/core/form.abstract.js +0 -42
  416. package/esm2015/core/index.js +0 -61
  417. package/esm2015/core/loader/loader-bar-page.component.js +0 -38
  418. package/esm2015/core/loader/loader-bar-page.interface.js +0 -2
  419. package/esm2015/core/loader/loader-config.interface.js +0 -2
  420. package/esm2015/core/mask-options.js +0 -4
  421. package/esm2015/core/ngx-koala.module.js +0 -51
  422. package/esm2015/core/page/koala-language.helper.js +0 -114
  423. package/esm2015/core/page/koala-oauth2-config.interface.js +0 -2
  424. package/esm2015/core/page/koala-page-pallet-colors.interface.js +0 -2
  425. package/esm2015/core/page/koala.page.module.js +0 -79
  426. package/esm2015/core/page/koala.user-menu-options.interface.js +0 -2
  427. package/esm2015/core/page/notifications/koala.notification.interface.js +0 -2
  428. package/esm2015/core/page/notifications/notification.component.js +0 -127
  429. package/esm2015/core/page/page.component.js +0 -627
  430. package/esm2015/core/providers/pagination/pagination.provider.js +0 -32
  431. package/esm2015/core/router/koala.parameter-hash-location-stategy.js +0 -19
  432. package/esm2015/core/services/api-requester/factory/koala.response.factory.js +0 -48
  433. package/esm2015/core/services/api-requester/helpers/error/koala.client.error.js +0 -3
  434. package/esm2015/core/services/api-requester/helpers/error/koala.errors.helper.js +0 -46
  435. package/esm2015/core/services/api-requester/helpers/error/koala.not-found.error.js +0 -3
  436. package/esm2015/core/services/api-requester/helpers/error/koala.success.error.js +0 -3
  437. package/esm2015/core/services/api-requester/helpers/error/koala.unhautorized.error.js +0 -3
  438. package/esm2015/core/services/api-requester/helpers/service/koala.request-header.helper.js +0 -15
  439. package/esm2015/core/services/api-requester/koala.api-requester.base.js +0 -70
  440. package/esm2015/core/services/csv/koala.csv.service.js +0 -36
  441. package/esm2015/core/services/loader/koala.loader.service.js +0 -34
  442. package/esm2015/core/services/openid/koala.oauth.config.js +0 -33
  443. package/esm2015/core/services/openid/koala.oauth2.service.js +0 -194
  444. package/esm2015/core/services/request/koala.request.service.js +0 -53
  445. package/esm2015/core/services/token/koala.token.service.js +0 -53
  446. package/esm2015/core/services/token/token.factory.js +0 -31
  447. package/esm2015/core/services/xlsx/koala.xlsx-config.interface.js +0 -2
  448. package/esm2015/core/services/xlsx/koala.xlsx.service.js +0 -63
  449. package/esm2015/dialog/dialog.component.js +0 -72
  450. package/esm2015/dialog/index.js +0 -7
  451. package/esm2015/dialog/koala.dialog-template.interface.js +0 -2
  452. package/esm2015/dialog/koala.dialog.module.js +0 -39
  453. package/esm2015/dialog/koala.dialog.service.js +0 -57
  454. package/esm2015/dynamic-component/index.js +0 -9
  455. package/esm2015/dynamic-component/koala-dynamic-component.component.js +0 -2
  456. package/esm2015/dynamic-component/koala-dynamic-component.directive.js +0 -16
  457. package/esm2015/dynamic-component/koala-dynamic-component.factory.js +0 -44
  458. package/esm2015/dynamic-component/koala-dynamic-component.js +0 -7
  459. package/esm2015/dynamic-component/koala-dynamic-component.module.js +0 -24
  460. package/esm2015/file-button/file-button.component.js +0 -183
  461. package/esm2015/file-button/index.js +0 -8
  462. package/esm2015/file-button/koala.btn-file.service.js +0 -28
  463. package/esm2015/file-button/koala.file-button.module.js +0 -39
  464. package/esm2015/file-button/koala.file.interface.js +0 -2
  465. package/esm2015/folder-page/folder.component.js +0 -157
  466. package/esm2015/folder-page/index.js +0 -6
  467. package/esm2015/folder-page/koala-navigate-history.interface.js +0 -2
  468. package/esm2015/folder-page/koala.folder-page.module.js +0 -43
  469. package/esm2015/form/btn-submit/btn-submit.component.js +0 -110
  470. package/esm2015/form/dynamic-form/builder/dynamic-form.builder.js +0 -138
  471. package/esm2015/form/dynamic-form/builder/fields/autocomplete.builder.js +0 -34
  472. package/esm2015/form/dynamic-form/builder/fields/field.base.js +0 -147
  473. package/esm2015/form/dynamic-form/builder/fields/field.builder.js +0 -7
  474. package/esm2015/form/dynamic-form/builder/fields/more-items.builder.js +0 -57
  475. package/esm2015/form/dynamic-form/dynamic-form.component.js +0 -1861
  476. package/esm2015/form/dynamic-form/interfaces/koala-custom-validator-fn.interface.js +0 -2
  477. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-autocomplete-options.interface.js +0 -2
  478. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-autocomplete-multiple-config.interface.js +0 -2
  479. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-config.interface.js +0 -2
  480. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-field.interface.js +0 -2
  481. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-more-itens-show-field-config.interface.js +0 -2
  482. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-form-show-field.interface.js +0 -2
  483. package/esm2015/form/dynamic-form/interfaces/koala.dynamic-set-value.interface.js +0 -2
  484. package/esm2015/form/dynamic-form/validators/autocomplete-selected.validator.js +0 -10
  485. package/esm2015/form/dynamic-form/validators/cnpj.validator.js +0 -10
  486. package/esm2015/form/dynamic-form/validators/cpf.validator.js +0 -10
  487. package/esm2015/form/dynamic-form/validators/date-max.validator.js +0 -11
  488. package/esm2015/form/dynamic-form/validators/date-min.validator.js +0 -11
  489. package/esm2015/form/dynamic-form/validators/koala-dynamic-form-validator-result.helper.js +0 -10
  490. package/esm2015/form/dynamic-form/validators/validation.helper.js +0 -86
  491. package/esm2015/form/index.js +0 -21
  492. package/esm2015/form/koala.form.module.js +0 -135
  493. package/esm2015/form/show-invalid-fields/show-invalid-fields.js +0 -9
  494. package/esm2015/icon/icon.component.js +0 -458
  495. package/esm2015/icon/index.js +0 -6
  496. package/esm2015/icon/koala.icon.module.js +0 -27
  497. package/esm2015/icons-animated/icons/downloading/downloading-icon-animated.component.js +0 -40
  498. package/esm2015/icons-animated/icons/loading/loading-icon-animated.component.js +0 -58
  499. package/esm2015/icons-animated/icons-animated.component.js +0 -48
  500. package/esm2015/icons-animated/icons-animated.service.js +0 -32
  501. package/esm2015/icons-animated/index.js +0 -8
  502. package/esm2015/icons-animated/koala-icons-animated.module.js +0 -33
  503. package/esm2015/koalarx-ui.js +0 -5
  504. package/esm2015/list/index.js +0 -13
  505. package/esm2015/list/koala-list-filter.interface.js +0 -2
  506. package/esm2015/list/koala-list-form-filter.interface.js +0 -2
  507. package/esm2015/list/koala-list-item-menu-option.interface.js +0 -2
  508. package/esm2015/list/koala-list-item.interface.js +0 -2
  509. package/esm2015/list/koala.list-config.interface.js +0 -2
  510. package/esm2015/list/koala.list.module.js +0 -67
  511. package/esm2015/list/koala.list.service.js +0 -15
  512. package/esm2015/list/list-builder/list.builder.js +0 -85
  513. package/esm2015/list/list.abstract.js +0 -161
  514. package/esm2015/list/list.component.js +0 -498
  515. package/esm2015/menu/index.js +0 -9
  516. package/esm2015/menu/koala.menu-module.interface.js +0 -2
  517. package/esm2015/menu/koala.menu-tool.interface.js +0 -2
  518. package/esm2015/menu/koala.menu.module.js +0 -39
  519. package/esm2015/menu/koala.menu.service.js +0 -24
  520. package/esm2015/menu/menu.component.js +0 -289
  521. package/esm2015/public-api.js +0 -18
  522. package/esm2015/question/dialog-question.component.js +0 -72
  523. package/esm2015/question/index.js +0 -8
  524. package/esm2015/question/koala-question-config.interface.js +0 -2
  525. package/esm2015/question/koala.question.module.js +0 -43
  526. package/esm2015/question/koala.question.service.js +0 -26
  527. package/esm2015/snackbar/index.js +0 -8
  528. package/esm2015/snackbar/koala.snackbar.component.js +0 -48
  529. package/esm2015/snackbar/koala.snackbar.interface.js +0 -2
  530. package/esm2015/snackbar/koala.snackbar.module.js +0 -39
  531. package/esm2015/snackbar/koala.snackbar.service.js +0 -35
  532. package/fesm2015/koalarx-ui.js +0 -7726
  533. package/fesm2015/koalarx-ui.js.map +0 -1
  534. package/file-button/file-button.component.d.ts +0 -29
  535. package/file-button/koala.file-button.module.d.ts +0 -11
  536. package/folder-page/folder.component.d.ts +0 -20
  537. package/folder-page/koala.folder-page.module.d.ts +0 -12
  538. package/form/koala.form.module.d.ts +0 -25
  539. package/icon/koala.icon.module.d.ts +0 -8
  540. package/icons-animated/icons-animated.component.d.ts +0 -8
  541. package/icons-animated/icons-animated.service.d.ts +0 -9
  542. package/icons-animated/koala-icons-animated.module.d.ts +0 -10
  543. package/koalarx-ui.d.ts +0 -5
  544. package/list/koala.list.module.d.ts +0 -16
  545. package/list/koala.list.service.d.ts +0 -7
  546. package/menu/koala.menu.module.d.ts +0 -11
  547. package/menu/koala.menu.service.d.ts +0 -9
  548. package/public-api.d.ts +0 -14
  549. package/question/dialog-question.component.d.ts +0 -10
  550. package/question/koala.question.module.d.ts +0 -12
  551. package/snackbar/koala.snackbar.module.d.ts +0 -10
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEtcGFnZS1wYWxsZXQtY29sb3JzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wYWdlL2tvYWxhLXBhZ2UtcGFsbGV0LWNvbG9ycy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgS29hbGFQYWdlUGFsbGV0Q29sb3JzSW50ZXJmYWNlIHtcbiAgdXNlclByZXNlbnRhdGlvbkJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIHVzZXJQcmVzZW50YXRpb25Vc2VyQmFja2dyb3VuZD86IHN0cmluZztcbiAgdXNlclByZXNlbnRhdGlvblVzZXJGb250Q29sb3I/OiBzdHJpbmc7XG4gIHVzZXJQcmVzZW50YXRpb25CdXR0b25Db2xvcj86IHN0cmluZztcbiAgZmlyc3RDb2xvcj86IHN0cmluZztcbiAgc2Vjb25kQ29sb3I/OiBzdHJpbmc7XG4gIGJvZHlCYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBmb250Q29sb3I/OiBzdHJpbmc7XG4gIGZvbnRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBmb250QWN0aXZlQ29sb3I/OiBzdHJpbmc7XG4gIGNoZWNrYm94QmFja2dyb3VuZD86IHN0cmluZztcbiAgY2hlY2tib3hPdXRsaW5lQ29sb3I/OiBzdHJpbmc7XG4gIGNoZWNrYm94Q29sb3I/OiBzdHJpbmc7XG4gIG1lbnVCYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBtZW51T3B0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gIG1lbnVPcHRpb25zQ29sb3I/OiBzdHJpbmc7XG4gIG1lbnVPcHRpb25zQ29sb3JIb3Zlcj86IHN0cmluZztcbiAgbWVudU9wdGlvbnNDb2xvckFjdGl2ZT86IHN0cmluZztcbiAgbWVudVRpdGxlQmFja2dyb3VuZD86IHN0cmluZztcbiAgbWVudVRpdGxlQ29sb3I/OiBzdHJpbmc7XG4gIHNoYWRvd0NvbG9yVGFibGVMaXN0Pzogc3RyaW5nO1xuICB0b29sYmFyQmFja2dyb3VuZD86IHN0cmluZztcbiAgdG9vbGJhckNvbG9yPzogc3RyaW5nO1xuICBsaXN0QmFja2dyb3VuZD86IHN0cmluZztcbiAgbGlzdENvbnRlbnRCYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBsaXN0VGl0bGVJdGVtQ29sb3I/OiBzdHJpbmc7XG4gIGxpc3RJdGVtQ29sb3I/OiBzdHJpbmc7XG4gIGxpc3RJdGVtQmFja2dyb3VkSG92ZXI/OiBzdHJpbmc7XG4gIGxpc3RJdGVtQmFja2dyb3VuZEFjdGl2ZT86IHN0cmluZztcbiAgZmlsdGVySWNvbkNvbG9yPzogc3RyaW5nO1xuICBzY3JvbGxiYXJDb2xvcj86IHN0cmluZztcbiAgc2Nyb2xsYmFyQ29sb3JIb3Zlcj86IHN0cmluZztcbiAgbm90aWZpY2F0aW9uVGl0bGVDb2xvcj86IHN0cmluZztcbiAgbm90aWZpY2F0aW9uQ29udGVudFRpdGxlQ29sb3I/OiBzdHJpbmc7XG4gIG5vdGlmaWNhdGlvbkNvbnRlbnRDb2xvcj86IHN0cmluZztcbiAgbm90aWZpY2F0aW9uQ29udGVudEljb25Db2xvcj86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { PageComponent } from "./page.component";
4
+ import { NotificationComponent } from "./notifications/notification.component";
5
+ import { LoaderBarPageComponent } from "../loader/loader-bar-page.component";
6
+ import { MatBadgeModule } from "@angular/material/badge";
7
+ import { MatProgressBarModule } from "@angular/material/progress-bar";
8
+ import { MatToolbarModule } from "@angular/material/toolbar";
9
+ import { MatTooltipModule } from "@angular/material/tooltip";
10
+ import { MatButtonModule } from "@angular/material/button";
11
+ import { MatIconModule } from "@angular/material/icon";
12
+ import { MatSidenavModule } from "@angular/material/sidenav";
13
+ import { MatListModule } from "@angular/material/list";
14
+ import { MatMenuModule } from "@angular/material/menu";
15
+ import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
16
+ import { RouterModule } from "@angular/router";
17
+ export class KoalaPageModule {
18
+ }
19
+ KoalaPageModule.decorators = [
20
+ { type: NgModule, args: [{
21
+ declarations: [
22
+ PageComponent,
23
+ NotificationComponent,
24
+ LoaderBarPageComponent
25
+ ],
26
+ exports: [
27
+ PageComponent,
28
+ RouterModule
29
+ ],
30
+ imports: [
31
+ CommonModule,
32
+ RouterModule,
33
+ MatBadgeModule,
34
+ MatProgressSpinnerModule,
35
+ MatProgressBarModule,
36
+ MatToolbarModule,
37
+ MatTooltipModule,
38
+ MatButtonModule,
39
+ MatIconModule,
40
+ MatSidenavModule,
41
+ MatListModule,
42
+ MatMenuModule
43
+ ]
44
+ },] }
45
+ ];
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEucGFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGFnZS9rb2FsYS5wYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUEyQi9DLE1BQU0sT0FBTyxlQUFlOzs7WUF6QjNCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osYUFBYTtvQkFDYixxQkFBcUI7b0JBQ3JCLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGNBQWM7b0JBQ2Qsd0JBQXdCO29CQUN4QixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGFBQWE7aUJBQ2Q7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFBhZ2VDb21wb25lbnQgfSBmcm9tIFwiLi9wYWdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb2FkZXJCYXJQYWdlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2xvYWRlci9sb2FkZXItYmFyLXBhZ2UuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9iYWRnZVwiO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyXCI7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXJcIjtcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXZcIjtcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lclwiO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQYWdlQ29tcG9uZW50LFxuICAgIE5vdGlmaWNhdGlvbkNvbXBvbmVudCxcbiAgICBMb2FkZXJCYXJQYWdlQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBQYWdlQ29tcG9uZW50LFxuICAgIFJvdXRlck1vZHVsZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgS29hbGFQYWdlTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEudXNlci1tZW51LW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3BhZ2Uva29hbGEudXNlci1tZW51LW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEtvYWxhVXNlck1lbnVPcHRpb25zSW50ZXJmYWNlIHtcbiAgYWN0aW9uOiAoKSA9PiB2b2lkO1xuICBpY29uOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEubm90aWZpY2F0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wYWdlL25vdGlmaWNhdGlvbnMva29hbGEubm90aWZpY2F0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBLb2FsYU5vdGlmaWNhdGlvbkludGVyZmFjZSB7XG4gIGlkOiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgcmVkaXJlY3RUbz86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Title } from '@angular/platform-browser';
3
+ export class NotificationComponent {
4
+ constructor(titleService) {
5
+ this.titleService = titleService;
6
+ this.deleteAll = new EventEmitter(false);
7
+ this.delete = new EventEmitter(null);
8
+ }
9
+ ngOnChanges(changes) {
10
+ if (!this.appName) {
11
+ this.appName = this.titleService.getTitle();
12
+ }
13
+ if (changes.notifications && this.notifications.length > 0) {
14
+ this.titleService.setTitle(`(${this.notifications.length}) ${this.appName}`);
15
+ }
16
+ else {
17
+ this.titleService.setTitle(this.appName);
18
+ }
19
+ }
20
+ deleteAllNotifications() {
21
+ this.deleteAll.emit(true);
22
+ }
23
+ deleteNotification(notification) {
24
+ this.delete.emit(notification);
25
+ }
26
+ }
27
+ NotificationComponent.decorators = [
28
+ { type: Component, args: [{
29
+ selector: 'koala-notification-list',
30
+ template: "<div (click)=\"$event.stopPropagation()\" class=\"notifications-content\">\n <div class=\"title\">\n <mat-icon>info</mat-icon>\n <h2>Notifica\u00E7\u00F5es</h2>\n <span class=\"spacer\"></span>\n <button (click)=\"deleteAllNotifications()\" *ngIf=\"notifications.length > 0\" class=\"btn-delete-all\"\n mat-icon-button\n matTooltip=\"Excluir Todas\" matTooltipPosition=\"above\">\n <mat-icon>delete_sweep</mat-icon>\n </button>\n </div>\n <mat-action-list *ngIf=\"notifications.length > 0 else noNotifications\">\n <mat-list-item *ngFor=\"let notification of notifications\" [routerLink]=\"notification.redirectTo\" class=\"itemList\">\n <button (click)=\"deleteNotification(notification)\" class=\"delete-notification\" color=\"warn\" mat-icon-button\n matTooltip=\"Excluir\" matTooltipPosition=\"above\"\n mat-list-icon>\n <mat-icon>delete</mat-icon>\n </button>\n <mat-icon class=\"iconList\" mat-list-icon>announcement</mat-icon>\n <h4 class=\"titleList\" mat-line>{{notification.title}}</h4>\n <p [innerHTML]=\"notification.text\" class=\"textList\" mat-line></p>\n </mat-list-item>\n </mat-action-list>\n <ng-template #noNotifications>\n <div class=\"empty\">\n <mat-icon>mood</mat-icon>\n <p>Tudo certo por aqui!</p>\n </div>\n </ng-template>\n</div>\n",
31
+ changeDetection: ChangeDetectionStrategy.OnPush,
32
+ styles: [".title{color:#616161;padding:5px 20px 15px}.title h2{vertical-align:middle;display:inline-flex;padding:0 10px;margin:0;font-family:OpenSans,sans-serif;font-size:.8em}.title mat-icon{vertical-align:middle;display:inline-flex;width:22px;height:22px;font-size:22px;line-height:22px}.title .btn-delete-all{position:absolute;right:20px;top:5px}.iconList{color:#1976d2}.titleList{font-family:OpenSansLight,sans-serif;font-size:.7em!important;color:#616161}.textList{font-family:OpenSans,sans-serif;font-size:.9em!important;color:#212121;white-space:unset!important}.itemList{height:-webkit-fit-content!important;height:-moz-fit-content!important;height:fit-content!important;padding:8px 0!important}.delete-notification{background:#b71c1c;border-radius:0!important;height:100%!important;margin-left:-75px;margin-right:10px;position:absolute;transition:.3s;width:50px!important}.delete-notification mat-icon{color:#fff;vertical-align:middle}mat-action-list{max-height:70vh;overflow-y:auto}mat-list-item:hover .delete-notification{margin-left:-15px}.empty{padding:50px;text-align:center;color:#616161}.empty mat-icon{width:40px;height:40px;font-size:40px;line-height:40px}.empty p{text-align:center;font-family:OpenSansLight,sans-serif;font-size:1em}\n"]
33
+ },] }
34
+ ];
35
+ NotificationComponent.ctorParameters = () => [
36
+ { type: Title }
37
+ ];
38
+ NotificationComponent.propDecorators = {
39
+ notifications: [{ type: Input }],
40
+ deleteAll: [{ type: Output }],
41
+ delete: [{ type: Output }]
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wYWdlL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRbEQsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUFvQixZQUFtQjtRQUFuQixpQkFBWSxHQUFaLFlBQVksQ0FBTztRQUw3QixjQUFTLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0MsV0FBTSxHQUFHLElBQUksWUFBWSxDQUE2QixJQUFJLENBQUMsQ0FBQztJQUk1QixDQUFDO0lBRTNDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDN0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDOUU7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFlBQXdDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OztZQWhDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsdTNDQUEwQztnQkFFMUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFQUSxLQUFLOzs7NEJBU1gsS0FBSzt3QkFDTCxNQUFNO3FCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29hbGFOb3RpZmljYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL2tvYWxhLm5vdGlmaWNhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna29hbGEtbm90aWZpY2F0aW9uLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJ25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBub3RpZmljYXRpb25zOiBLb2FsYU5vdGlmaWNhdGlvbkludGVyZmFjZVtdO1xuICBAT3V0cHV0KCkgZGVsZXRlQWxsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG4gIEBPdXRwdXQoKSBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEtvYWxhTm90aWZpY2F0aW9uSW50ZXJmYWNlPihudWxsKTtcblxuICBwcml2YXRlIGFwcE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGUpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghdGhpcy5hcHBOYW1lKSB7XG4gICAgICB0aGlzLmFwcE5hbWUgPSB0aGlzLnRpdGxlU2VydmljZS5nZXRUaXRsZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5ub3RpZmljYXRpb25zICYmIHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZShgKCR7dGhpcy5ub3RpZmljYXRpb25zLmxlbmd0aH0pICR7dGhpcy5hcHBOYW1lfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aGlzLmFwcE5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVBbGxOb3RpZmljYXRpb25zKCkge1xuICAgIHRoaXMuZGVsZXRlQWxsLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogS29hbGFOb3RpZmljYXRpb25JbnRlcmZhY2UpIHtcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KG5vdGlmaWNhdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,396 @@
1
+ import { __awaiter } from "tslib";
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
+ import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { KoalaTokenService } from '../services/token/koala.token.service';
6
+ import { KoalaLoaderService } from '../services/loader/koala.loader.service';
7
+ import { KoalaMenuService, menuStateSubject } from '@koalarx/ui/menu';
8
+ import jwtEncode from "jwt-encode";
9
+ import { TokenFactory } from "../services/token/token.factory";
10
+ import { KoalaOAuth2Service } from "../services/openid/koala.oauth2.service";
11
+ import { KoalaEnvironment } from "../environments/koalaEnvironment";
12
+ import { KoalaOauthConfig } from "../services/openid/koala.oauth.config";
13
+ import { KoalaLanguageHelper } from "./koala-language.helper";
14
+ import { DeviceDetectorService } from "ngx-device-detector";
15
+ export class PageComponent {
16
+ constructor(tokenService, router, loaderService, menuService, oauth2Service, deviceService) {
17
+ this.tokenService = tokenService;
18
+ this.router = router;
19
+ this.loaderService = loaderService;
20
+ this.menuService = menuService;
21
+ this.oauth2Service = oauth2Service;
22
+ this.deviceService = deviceService;
23
+ this.showMenu = true;
24
+ this.startMenuOpened = true;
25
+ this.userMenuOptions = [];
26
+ this.language = 'ptBr';
27
+ this.validatingScope = new EventEmitter(false);
28
+ this.logoutEmitter = new EventEmitter(false);
29
+ this.deleteAllNotifications = new EventEmitter(false);
30
+ this.deleteNotification = new EventEmitter(null);
31
+ this.username$ = new BehaviorSubject('');
32
+ this.firstUserLetter$ = new BehaviorSubject('');
33
+ this.logged$ = new BehaviorSubject(false);
34
+ this.validationScope$ = new BehaviorSubject(false);
35
+ this.isMobile = this.deviceService.isMobile();
36
+ this.defaultPalletColors = {
37
+ scrollbarColor: '#1976D2',
38
+ scrollbarColorHover: '#1565C0',
39
+ userPresentationBackground: '#f1f1f1',
40
+ userPresentationUserBackground: '#1976D2',
41
+ userPresentationUserFontColor: '#fff',
42
+ firstColor: '#fff',
43
+ secondColor: '#F1F1F1',
44
+ bodyBackground: '#eeeeee',
45
+ checkboxBackground: '#1976d2',
46
+ checkboxColor: '#ffffff',
47
+ fontColor: '#1976D2',
48
+ fontHoverColor: '#1976D2',
49
+ fontActiveColor: '#1565C0',
50
+ menuTitleBackground: 'rgba(0,0,0,.1)',
51
+ menuTitleColor: 'rgba(0,0,0,.3)',
52
+ menuBackground: '#fafafa',
53
+ menuOptionsBackground: '#eaeaea',
54
+ menuOptionsColor: '#a5a5a5',
55
+ menuOptionsColorHover: '#1976D2',
56
+ menuOptionsColorActive: '#1565c0',
57
+ toolbarBackground: '#ffffff',
58
+ toolbarColor: '#1976d2',
59
+ listBackground: '#fff',
60
+ listContentBackground: '#fff',
61
+ listTitleItemColor: '#838383',
62
+ listItemColor: '#3e3e3e',
63
+ listItemBackgroudHover: '#F1F1F1',
64
+ listItemBackgroundActive: '#EEE',
65
+ shadowColorTableList: 'rgba(25, 118, 210, .4)'
66
+ };
67
+ this.loaderSubject = loaderService.getLoaderSubject();
68
+ }
69
+ ngOnInit() {
70
+ var _a;
71
+ KoalaLanguageHelper.setLanguage(this.language);
72
+ this.initOAuth2();
73
+ if (this.openPages) {
74
+ if (this.openPages.indexOf('/') < 0) {
75
+ this.openPages.push('/');
76
+ }
77
+ if (this.openPages.indexOf('/login') < 0) {
78
+ this.openPages.push('/login');
79
+ }
80
+ }
81
+ else {
82
+ this.openPages = [
83
+ '/',
84
+ '/login'
85
+ ];
86
+ }
87
+ (_a = this.tokenService.getToken()) === null || _a === void 0 ? void 0 : _a.subscribe(token => {
88
+ var _a, _b;
89
+ this.logged$.next(!!token);
90
+ if (this.logged$.getValue()) {
91
+ const decodedToken = this.tokenService.getDecodedToken();
92
+ this.username$.next(decodedToken.login);
93
+ this.firstUserLetter$.next(decodedToken.login.charAt(0).toUpperCase());
94
+ if (!this.isMobile) {
95
+ this.menuService.open();
96
+ }
97
+ }
98
+ if (this.logged$.getValue() && ((_a = this.openPages) === null || _a === void 0 ? void 0 : _a.indexOf(this.currentUrl)) >= 0 && this.defaultPage) {
99
+ this.router.navigate([this.defaultPage]).then();
100
+ }
101
+ else if (!this.logged$.getValue() && this.currentUrl && ((_b = this.openPages) === null || _b === void 0 ? void 0 : _b.indexOf(this.currentUrl)) < 0) {
102
+ this.router.navigate(['login']).then();
103
+ return false;
104
+ }
105
+ });
106
+ this.router.events.subscribe(event => {
107
+ var _a, _b;
108
+ switch (true) {
109
+ case event instanceof NavigationStart: {
110
+ this.loaderService.create({ typeLoader: 'indeterminate' });
111
+ break;
112
+ }
113
+ case event instanceof NavigationEnd:
114
+ case event instanceof NavigationCancel:
115
+ case event instanceof NavigationError: {
116
+ this.loaderService.dismiss();
117
+ if (event instanceof NavigationEnd) {
118
+ if (this.isMobile) {
119
+ this.menuService.close();
120
+ }
121
+ this.currentUrl = event.url.split('?')[0];
122
+ if (event.url.indexOf('/login?clientId=') < 0) {
123
+ if (this.logged$.getValue() && this.defaultPage && ((_a = this.openPages) === null || _a === void 0 ? void 0 : _a.indexOf(this.currentUrl)) >= 0) {
124
+ this.router.navigate([this.defaultPage]).then();
125
+ return false;
126
+ }
127
+ else if (!this.logged$.getValue() && ((_b = this.openPages) === null || _b === void 0 ? void 0 : _b.indexOf(this.currentUrl)) < 0) {
128
+ this.router.navigate(['login']).then();
129
+ return false;
130
+ }
131
+ }
132
+ }
133
+ break;
134
+ }
135
+ default: {
136
+ break;
137
+ }
138
+ }
139
+ });
140
+ if (this.palletColors) {
141
+ Object.keys(this.defaultPalletColors).forEach(indexName => {
142
+ if (!this.palletColors.hasOwnProperty(indexName) ||
143
+ !this.palletColors[indexName]) {
144
+ this.palletColors[indexName] = this.defaultPalletColors[indexName];
145
+ }
146
+ });
147
+ }
148
+ else {
149
+ this.palletColors = this.defaultPalletColors;
150
+ }
151
+ this.defineColor();
152
+ if (this.showMenu) {
153
+ menuStateSubject.subscribe((state) => __awaiter(this, void 0, void 0, function* () {
154
+ if (this.menu) {
155
+ if (state === 'close') {
156
+ if (this.menu.opened) {
157
+ yield this.menu.close();
158
+ }
159
+ }
160
+ else if (state === 'open') {
161
+ if (!this.menu.opened) {
162
+ yield this.menu.open();
163
+ }
164
+ }
165
+ }
166
+ }));
167
+ if (this.startMenuOpened && this.logged$.getValue()) {
168
+ if (!this.isMobile) {
169
+ this.menuService.open();
170
+ }
171
+ }
172
+ else {
173
+ this.menuService.close();
174
+ }
175
+ }
176
+ else {
177
+ this.menuService.close();
178
+ }
179
+ this.validationScope$.subscribe(scope => this.validatingScope.emit(scope));
180
+ }
181
+ toogleMenu() {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ this.menuService.clearConfig();
184
+ if (this.menu) {
185
+ yield this.menu.toggle();
186
+ }
187
+ });
188
+ }
189
+ logout() {
190
+ var _a;
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ if ((_a = KoalaEnvironment.environment) === null || _a === void 0 ? void 0 : _a.oauthConfig) {
193
+ this.oauth2Service.logout();
194
+ }
195
+ this.menuService.close();
196
+ this.tokenService.removeToken();
197
+ this.tokenService.getToken().next(null);
198
+ this.logoutEmitter.emit(true);
199
+ });
200
+ }
201
+ defineColor() {
202
+ const css = `
203
+ *::-webkit-scrollbar-thumb {background: ${this.palletColors.scrollbarColor};width: 2px;}
204
+ *::-webkit-scrollbar-thumb:hover {background: ${this.palletColors.scrollbarColorHover};}
205
+ input:-webkit-autofill, input:-webkit-autofill:focus, input:-webkit-autofill:hover {color: ${this.palletColors.fontColor}!important;}
206
+ .menu-container,
207
+ body {background: ${this.palletColors.bodyBackground}!important;}
208
+ input:-webkit-autofill, input:-webkit-autofill:focus, input:-webkit-autofill:hover {-webkit-box-shadow: 0 0 0 1000px ${this.palletColors.firstColor} inset !important;}
209
+ .mat-button-disabled,
210
+ input::placeholder,
211
+ .mat-form-field-appearance-outline .mat-form-field-outline {color: ${this.palletColors.fontColor}!important;opacity: .6;}
212
+ .mat-hint,
213
+ .mat-expansion-indicator::after,
214
+ .more-items-content .items .titleForm,
215
+ fieldset legend,
216
+ .mat-paginator-container,
217
+ .mat-form-field-flex mat-icon {color: ${this.palletColors.fontColor}!important;}
218
+ .mat-paginator-container,
219
+ .mat-card,
220
+ .mat-expansion-panel,
221
+ .mat-select-panel,
222
+ .mat-autocomplete-panel,
223
+ .mat-menu-panel {background: ${this.palletColors.firstColor}}
224
+ .mat-selected {background-color: rgba(0,0,0,.3)!important;}
225
+ .question p,
226
+ .alert-message,
227
+ .mat-action-row,
228
+ .mat-option,
229
+ .mat-menu-item,
230
+ .mat-menu-item mat-icon {color: ${this.palletColors.fontColor}!important}
231
+ .mat-select-value,
232
+ .mat-select-arrow,
233
+ .mat-form-field input,
234
+ .mat-form-field textarea,
235
+ .mat-form-field-appearance-outline:not(.mat-form-field-invalid) .mat-form-field-outline-thick,
236
+ .mat-form-field label,
237
+ .select-multiple-native select {color: ${this.palletColors.fontColor}!important;caret-color: ${this.palletColors.fontColor}!important;}
238
+ .mat-form-field-underline,
239
+ .mat-form-field-appearance-fill .mat-form-field-underline::before,
240
+ .mat-form-field-ripple {background: ${this.palletColors.fontColor}!important;}
241
+ .mat-checkbox-checked.mat-accent .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,
242
+ .mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element {background-color: ${this.palletColors.checkboxBackground} !important;}
243
+ .mat-checkbox-checkmark-path {stroke: ${this.palletColors.checkboxColor} !important;}
244
+ .mat-checkbox-checkmark {fill: ${this.palletColors.checkboxColor} !important;}
245
+ .mat-checkbox-mixedmark {background-color: ${this.palletColors.checkboxColor} !important;}
246
+ .mat-checkbox-frame {border-color: ${this.palletColors.checkboxOutlineColor}!important;}
247
+ .mat-checkbox-label {color: ${this.palletColors.fontColor}!important;}
248
+ .mat-radio-outer-circle {border-color: ${this.palletColors.checkboxBackground}!important;}
249
+ .mat-radio-ripple .mat-ripple-element, .mat-radio-inner-circle {background-color: ${this.palletColors.checkboxBackground} !important;}
250
+ .home-list-cards .list .mat-list-item-content .mat-icon {color: ${this.palletColors.fontColor};}
251
+ .home-list-cards .list button .mat-badge-content {background: ${this.palletColors.fontColor};}
252
+ .koala-dialog .mat-dialog-title h2 {color: ${this.palletColors.fontColor};}
253
+ .koala-dialog .mat-dialog-title mat-icon {color: ${this.palletColors.fontColor}!important;}
254
+ .koala-dialog .mat-dialog-container {background: ${this.palletColors.firstColor}}
255
+ .list-filter mat-icon {color: ${this.palletColors.filterIconColor}!important;}
256
+ koala-page .menu-options {background: ${this.palletColors.menuBackground};}
257
+ koala-page .toolbar {background: ${this.palletColors.toolbarBackground};}
258
+ koala-page .toolbar .btn-collapse-menu,
259
+ koala-page .btn-toolbar span{color: ${this.palletColors.toolbarColor};}
260
+ koala-page .btn-toolbar span.icon-user,
261
+ .user-presentation span.icon-user {background: ${this.palletColors.userPresentationUserBackground};color: ${this.palletColors.userPresentationUserFontColor};}
262
+ .user-presentation {background: ${this.palletColors.userPresentationBackground};}
263
+ .user-presentation span.username {color: ${this.palletColors.toolbarColor};}
264
+ .mat-drawer.mat-drawer-push {background-color: ${this.palletColors.bodyBackground};}
265
+ koala-menu .title {background: ${this.palletColors.menuTitleBackground};color: ${this.palletColors.menuTitleColor};}
266
+ koala-menu ul li,
267
+ koala-menu ul li a {color: ${this.palletColors.menuOptionsColor};}
268
+ koala-menu ul li:hover,
269
+ koala-menu ul li:hover a {color: ${this.palletColors.menuOptionsColorHover} !important;}
270
+ koala-menu ul li.active,
271
+ koala-menu ul li.expanded {color: ${this.palletColors.menuOptionsColorActive} !important;border-left: 4px solid ${this.palletColors.menuOptionsColorActive} !important;background: ${this.palletColors.menuOptionsBackground} !important;}
272
+ koala-menu ul li.active a,
273
+ koala-menu ul li.expanded a {color: ${this.palletColors.menuOptionsColorActive} !important;background: ${this.palletColors.menuOptionsBackground} !important;}
274
+ koala-menu ul li li:hover,
275
+ koala-menu ul li li:hover a {color: ${this.palletColors.menuOptionsColorHover} !important;}
276
+ koala-menu ul li li.active,
277
+ koala-menu ul li li.active a {color: ${this.palletColors.menuOptionsColorActive} !important;}
278
+ koala-menu ul li koala-icon svg *,
279
+ koala-menu ul li a koala-icon svg * {fill: ${this.palletColors.menuOptionsColor};}
280
+ koala-menu ul li:hover koala-icon svg *,
281
+ koala-menu ul li:hover a koala-icon svg * {fill: ${this.palletColors.menuOptionsColorHover} !important;}
282
+ koala-menu ul li.active koala-icon *,
283
+ koala-menu ul li.expanded koala-icon * {fill: ${this.palletColors.menuOptionsColorActive} !important;}
284
+ koala-menu ul li li:hover koala-icon *,
285
+ koala-menu ul li li:hover a koala-icon * {fill: ${this.palletColors.menuOptionsColorHover} !important;}
286
+ koala-menu ul li li.active koala-icon *,
287
+ koala-menu ul li li.active a koala-icon * {fill: ${this.palletColors.menuOptionsColorActive}!important;}
288
+ .notifications-content .title {color: ${this.palletColors.notificationTitleColor}!important;}
289
+ .notifications-content .empty,
290
+ .notifications-content .titleList {color: ${this.palletColors.notificationContentTitleColor}!important;}
291
+ .notifications-content .iconList {color: ${this.palletColors.notificationContentIconColor}!important;}
292
+ .notifications-content .textList {color: ${this.palletColors.notificationTitleColor}!important;}
293
+ .list-container {box-shadow: 0 1px 3px ${this.palletColors.shadowColorTableList};}
294
+ .list-container .list table.table-hover tr:hover {background: ${this.palletColors.listItemBackgroudHover};}
295
+ .list-container .list table.table-hover tr:active {background: ${this.palletColors.listItemBackgroundActive};}
296
+ .list-container .list-filter .advanced {background: ${this.palletColors.firstColor};}
297
+ .list-container nav.menu-list {background: ${this.palletColors.firstColor};color: rgba(25, 118, 210, .3);}
298
+ .content {background: ${this.palletColors.listContentBackground};}
299
+ .mat-tab-group .mat-tab-label {color: ${this.palletColors.fontColor};}
300
+ .mat-tab-group .mat-ink-bar {background-color: ${this.palletColors.fontColor}!important;}
301
+ .mat-table {background: ${this.palletColors.listBackground};color: ${this.palletColors.fontColor};}
302
+ .mat-table th {color: ${this.palletColors.listTitleItemColor}!important;}
303
+ .mat-sort-header-arrow {color: ${this.palletColors.listItemColor}!important;}
304
+ .mat-table td {color: ${this.palletColors.listItemColor}!important;}`;
305
+ const head = document.head || document.getElementsByTagName('head')[0];
306
+ const style = document.createElement('style');
307
+ head.appendChild(style);
308
+ style.appendChild(document.createTextNode(css));
309
+ }
310
+ initOAuth2() {
311
+ KoalaOauthConfig.config.subscribe(config => this.startConfig(config));
312
+ if (KoalaOauthConfig.hasConfig()) {
313
+ KoalaOauthConfig.setConfig(KoalaOauthConfig.getConfig());
314
+ }
315
+ }
316
+ startConfig(config) {
317
+ var _a, _b;
318
+ if (config.clientId) {
319
+ this.oauth2Service.configure({
320
+ redirectUri: window.location.origin,
321
+ redirectUriAfterAuth: this.defaultPage,
322
+ responseType: 'code',
323
+ clientId: config.clientId,
324
+ scope: config.scope,
325
+ issuer: config.domain,
326
+ customQueryParams: config.customQueryParams,
327
+ endpointToken: (_a = config.endpointToken) !== null && _a !== void 0 ? _a : null,
328
+ endpointClaims: (_b = config.endpointClaims) !== null && _b !== void 0 ? _b : null
329
+ });
330
+ this.oauth2Service.loadDiscoveryDocumentAndTryLogin().then();
331
+ if (this.oauthEventsSubscription) {
332
+ this.oauthEventsSubscription.unsubscribe();
333
+ }
334
+ this.oauthEventsSubscription = this.oauth2Service.events.subscribe(event => {
335
+ var _a;
336
+ if (event === 'userAuthenticated' || event === 'refreshToken') {
337
+ const claims = this.oauth2Service.getIdentityClaims();
338
+ if (claims && (!TokenFactory.hasToken() ||
339
+ (TokenFactory.hasToken() && event === 'refreshToken'))) {
340
+ this.tokenService.setToken(jwtEncode({
341
+ accessToken: this.oauth2Service.getAccessToken(),
342
+ idToken: this.oauth2Service.getIdToken(),
343
+ refreshToken: this.oauth2Service.getRefreshToken(),
344
+ login: (_a = claims[config.indexLoginName]) !== null && _a !== void 0 ? _a : 'Undefined',
345
+ expired: this.oauth2Service.getAccessTokenExpiration(),
346
+ code: this.oauth2Service.getCode()
347
+ }, 'secret'));
348
+ }
349
+ if (event === 'userAuthenticated') {
350
+ setTimeout(() => this.validationScope$.next(false), 300);
351
+ }
352
+ }
353
+ else if (event === 'getToken') {
354
+ this.validationScope$.next(true);
355
+ }
356
+ });
357
+ }
358
+ }
359
+ }
360
+ PageComponent.decorators = [
361
+ { type: Component, args: [{
362
+ selector: 'koala-page',
363
+ template: "<div *ngIf=\"showLoaderPage | async\" class=\"koala-loader-pg\">\n <div class=\"loader-content\">\n <figure>\n <img [src]=\"logo\" alt=\"Logotipo\"/>\n <figcaption *ngIf=\"(messageLoaderPage | async) as messageLoader\" [innerHTML]=\"messageLoader\"></figcaption>\n </figure>\n <mat-spinner></mat-spinner>\n </div>\n</div>\n<app-loader-page *ngIf=\"(loaderSubject | async) as loader\" [progress]=\"loader.progress\" [show]=\"loader.show\"\n [typeLoader]=\"loader.typeLoader\"></app-loader-page>\n<mat-drawer-container autosize class=\"menu-container\">\n <mat-drawer #drawer class=\"menu-options\" [mode]=\"isMobile ? 'push' : 'side'\">\n <img [src]=\"logo\" alt=\"Logotipo\" id=\"logotipo\"/>\n <ng-content *ngIf=\"showMenu\" select=\"[menu-options]\"></ng-content>\n </mat-drawer>\n\n <mat-toolbar *ngIf=\"!!(logged$ | async) && (username$ | async)\" class=\"toolbar\">\n <img *ngIf=\"!showMenu\" [src]=\"logo\" alt=\"Logotipo Toolbar\" id=\"logotipo-toolbar\"/>\n <button (click)=\"toogleMenu()\" *ngIf=\"showMenu\" [color]=\"color\" class=\"btn-collapse-menu\" mat-icon-button>\n <mat-icon>menu</mat-icon>\n </button>\n <span class=\"spacer\"></span>\n\t <div class=\"menu-toolbar\">\n\t\t <ng-content select=\"[menu-toolbar]\"></ng-content>\n\t </div>\n <div *ngIf=\"(notifications | async) as notificationList\">\n <button *ngIf=\"notifications\" [color]=\"color\" [matMenuTriggerFor]=\"notificationsMenu\" class=\"btn-toolbar\"\n mat-icon-button>\n <mat-icon\n\t [matBadgeHidden]=\"notificationList.length === 0\"\n\t [matBadge]=\"notificationList.length.toString()\"\n\t matBadgeColor=\"warn\">notifications\n </mat-icon>\n </button>\n <mat-menu #notificationsMenu=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n <koala-notification-list\n (delete)=\"deleteNotification.emit($event)\"\n (deleteAll)=\"deleteAllNotifications.emit($event)\"\n [notifications]=\"notificationList\">\n </koala-notification-list>\n </mat-menu>\n </div>\n <button [color]=\"color\" [matMenuTriggerFor]=\"userOptions\" class=\"btn-toolbar\" mat-button>\n <span>{{username$ | async}}</span>\n <span class=\"icon-user\">{{firstUserLetter$ | async}}</span>\n </button>\n <mat-menu #userOptions=\"matMenu\" class=\"user-menu menu-list\" yPosition=\"below\">\n <div class=\"user-presentation\">\n <span class=\"icon-user\">{{firstUserLetter$ | async}}</span><br/>\n <span class=\"username\">{{username$ | async}}</span>\n </div>\n <button (click)=\"btn.action()\" *ngFor=\"let btn of userMenuOptions\" mat-menu-item>\n <mat-icon>{{btn.icon}}</mat-icon>\n <span>{{btn.name}}</span>\n </button>\n <button (click)=\"logout()\" mat-menu-item>\n <mat-icon>exit_to_app</mat-icon>\n <span>{{language === 'ptBr' ? 'Sair' : 'Logout'}}</span>\n </button>\n </mat-menu>\n </mat-toolbar>\n\n <ng-content class=\"page-content\" select=\"[page-content]\"></ng-content>\n\n</mat-drawer-container>\n\n<ng-content class=\"loading-info-content\" select=\"[loading-info-content]\"></ng-content>\n",
364
+ providers: [KoalaTokenService],
365
+ changeDetection: ChangeDetectionStrategy.OnPush,
366
+ styles: [".menu-container{height:100vh;width:100vw}.menu-options{border:none;padding:20px 0 0;width:250px}.page-content{align-items:center;display:flex;height:100%;justify-content:center}img#logotipo,img#logotipo-toolbar{display:block;height:auto;margin:0 auto 25px;position:relative;width:120px}.toolbar{box-shadow:none;padding:0 7px 0 13px}.toolbar img#logotipo-toolbar{margin:0;padding:0 10px}.menu-toolbar{margin:0 10px}.spacer{flex:1 1 auto}.btn-toolbar{display:inline-block;margin-right:10px;position:relative}.btn-toolbar span{padding:0 10px 0 0}.btn-toolbar span.icon-user,.user-presentation span.icon-user{border-radius:50%;display:inline-block;height:10px;line-height:10px;padding:5px;width:10px}.user-presentation{min-width:260px;padding:50px 10px;text-align:center}.user-presentation span.icon-user{font-size:30px;height:30px;line-height:30px;margin-bottom:10px;width:30px}.user-presentation span.username{font-family:OpenSansLight,sans-serif;word-break:break-all}@media (max-width: 900px){.btn-toolbar span:first-child{display:none}.btn-toolbar span.icon-user,.user-presentation span.icon-user{height:20px;line-height:20px;width:20px}}\n"]
367
+ },] }
368
+ ];
369
+ PageComponent.ctorParameters = () => [
370
+ { type: KoalaTokenService },
371
+ { type: Router },
372
+ { type: KoalaLoaderService },
373
+ { type: KoalaMenuService },
374
+ { type: KoalaOAuth2Service },
375
+ { type: DeviceDetectorService }
376
+ ];
377
+ PageComponent.propDecorators = {
378
+ showMenu: [{ type: Input }],
379
+ color: [{ type: Input }],
380
+ logo: [{ type: Input }],
381
+ startMenuOpened: [{ type: Input }],
382
+ showLoaderPage: [{ type: Input }],
383
+ messageLoaderPage: [{ type: Input }],
384
+ defaultPage: [{ type: Input }],
385
+ openPages: [{ type: Input }],
386
+ notifications: [{ type: Input }],
387
+ userMenuOptions: [{ type: Input }],
388
+ palletColors: [{ type: Input }],
389
+ language: [{ type: Input }],
390
+ validatingScope: [{ type: Output }],
391
+ logoutEmitter: [{ type: Output }],
392
+ deleteAllNotifications: [{ type: Output }],
393
+ deleteNotification: [{ type: Output }],
394
+ menu: [{ type: ViewChild, args: ['drawer', { static: true },] }]
395
+ };
396
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGFnZS9wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVHLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBSzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFekUsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBUzVELE1BQU0sT0FBTyxhQUFhO0lBNkR4QixZQUNVLFlBQStCLEVBQy9CLE1BQWMsRUFDZCxhQUFpQyxFQUNqQyxXQUE2QixFQUM3Qixh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Z0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQzFEO2lCQUNGO3FCQUFNLElBQUksS0FBSyxLQUFLLFVBQVUsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbEM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBL1dGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsbXJHQUFrQztnQkFFbEMsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBdEJRLGlCQUFpQjtZQUhrRCxNQUFNO1lBSXpFLGtCQUFrQjtZQUtsQixnQkFBZ0I7WUFHaEIsa0JBQWtCO1lBS2xCLHFCQUFxQjs7O3VCQVUzQixLQUFLO29CQUNMLEtBQUs7bUJBQ0wsS0FBSzs4QkFDTCxLQUFLOzZCQUNMLEtBQUs7Z0NBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBQ0wsS0FBSzs4QkFDTCxLQUFLOzJCQUNMLEtBQUs7dUJBQ0wsS0FBSzs4QkFDTCxNQUFNOzRCQUNOLE1BQU07cUNBQ04sTUFBTTtpQ0FDTixNQUFNO21CQTJDTixTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2FkZXJCYXJQYWdlSW50ZXJmYWNlIH0gZnJvbSAnLi4vbG9hZGVyL2xvYWRlci1iYXItcGFnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEtvYWxhVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdG9rZW4va29hbGEudG9rZW4uc2VydmljZSc7XG5pbXBvcnQgeyBLb2FsYUxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2FkZXIva29hbGEubG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgS29hbGFOb3RpZmljYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMva29hbGEubm90aWZpY2F0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLb2FsYVVzZXJNZW51T3B0aW9uc0ludGVyZmFjZSB9IGZyb20gJy4va29hbGEudXNlci1tZW51LW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEtvYWxhUGFnZVBhbGxldENvbG9yc0ludGVyZmFjZSB9IGZyb20gJy4va29hbGEtcGFnZS1wYWxsZXQtY29sb3JzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNYXREcmF3ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IEtvYWxhTWVudVNlcnZpY2UsIG1lbnVTdGF0ZVN1YmplY3QgfSBmcm9tICdAa29hbGFyeC91aS9tZW51JztcbmltcG9ydCBqd3RFbmNvZGUgZnJvbSBcImp3dC1lbmNvZGVcIjtcbmltcG9ydCB7IFRva2VuRmFjdG9yeSB9IGZyb20gXCIuLi9zZXJ2aWNlcy90b2tlbi90b2tlbi5mYWN0b3J5XCI7XG5pbXBvcnQgeyBLb2FsYU9BdXRoMlNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvb3BlbmlkL2tvYWxhLm9hdXRoMi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBLb2FsYUVudmlyb25tZW50IH0gZnJvbSBcIi4uL2Vudmlyb25tZW50cy9rb2FsYUVudmlyb25tZW50XCI7XG5pbXBvcnQgeyBLb2FsYU9hdXRoQ29uZmlnIH0gZnJvbSBcIi4uL3NlcnZpY2VzL29wZW5pZC9rb2FsYS5vYXV0aC5jb25maWdcIjtcbmltcG9ydCB7IEtvYWxhT2F1dGgyQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSBcIi4va29hbGEtb2F1dGgyLWNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEtvYWxhTGFuZ3VhZ2VIZWxwZXIsIEtvYWxhTGFuZ3VhZ2VUeXBlIH0gZnJvbSBcIi4va29hbGEtbGFuZ3VhZ2UuaGVscGVyXCI7XG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrb2FsYS1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICdwYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3BhZ2UuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtLb2FsYVRva2VuU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzaG93TWVudTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIEBJbnB1dCgpIGxvZ286IHN0cmluZztcbiAgQElucHV0KCkgc3RhcnRNZW51T3BlbmVkID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0xvYWRlclBhZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgQElucHV0KCkgbWVzc2FnZUxvYWRlclBhZ2U6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+O1xuICBASW5wdXQoKSBkZWZhdWx0UGFnZTogc3RyaW5nO1xuICBASW5wdXQoKSBvcGVuUGFnZXM6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBub3RpZmljYXRpb25zOiBCZWhhdmlvclN1YmplY3Q8S29hbGFOb3RpZmljYXRpb25JbnRlcmZhY2VbXT47XG4gIEBJbnB1dCgpIHVzZXJNZW51T3B0aW9uczogS29hbGFVc2VyTWVudU9wdGlvbnNJbnRlcmZhY2VbXSA9IFtdO1xuICBASW5wdXQoKSBwYWxsZXRDb2xvcnM6IEtvYWxhUGFnZVBhbGxldENvbG9yc0ludGVyZmFjZTtcbiAgQElucHV0KCkgbGFuZ3VhZ2U6IEtvYWxhTGFuZ3VhZ2VUeXBlID0gJ3B0QnInO1xuICBAT3V0cHV0KCkgdmFsaWRhdGluZ1Njb3BlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG4gIEBPdXRwdXQoKSBsb2dvdXRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG4gIEBPdXRwdXQoKSBkZWxldGVBbGxOb3RpZmljYXRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG4gIEBPdXRwdXQoKSBkZWxldGVOb3RpZmljYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEtvYWxhTm90aWZpY2F0aW9uSW50ZXJmYWNlPihudWxsKTtcblxuICBwdWJsaWMgbG9hZGVyU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PExvYWRlckJhclBhZ2VJbnRlcmZhY2U+O1xuICBwdWJsaWMgdXNlcm5hbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHVibGljIGZpcnN0VXNlckxldHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwdWJsaWMgY3VycmVudFVybDogc3RyaW5nO1xuICBwdWJsaWMgbG9nZ2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgdmFsaWRhdGlvblNjb3BlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgaXNNb2JpbGU6IGJvb2xlYW4gPSB0aGlzLmRldmljZVNlcnZpY2UuaXNNb2JpbGUoKTtcblxuICBwcml2YXRlIGRlZmF1bHRQYWxsZXRDb2xvcnM6IEtvYWxhUGFnZVBhbGxldENvbG9yc0ludGVyZmFjZSA9IHtcbiAgICBzY3JvbGxiYXJDb2xvcjogJyMxOTc2RDInLFxuICAgIHNjcm9sbGJhckNvbG9ySG92ZXI6ICcjMTU2NUMwJyxcbiAgICB1c2VyUHJlc2VudGF0aW9uQmFja2dyb3VuZDogJyNmMWYxZjEnLFxuICAgIHVzZXJQcmVzZW50YXRpb25Vc2VyQmFja2dyb3VuZDogJyMxOTc2RDInLFxuICAgIHVzZXJQcmVzZW50YXRpb25Vc2VyRm9udENvbG9yOiAnI2ZmZicsXG4gICAgZmlyc3RDb2xvcjogJyNmZmYnLFxuICAgIHNlY29uZENvbG9yOiAnI0YxRjFGMScsXG4gICAgYm9keUJhY2tncm91bmQ6ICcjZWVlZWVlJyxcbiAgICBjaGVja2JveEJhY2tncm91bmQ6ICcjMTk3NmQyJyxcbiAgICBjaGVja2JveENvbG9yOiAnI2ZmZmZmZicsXG4gICAgZm9udENvbG9yOiAnIzE5NzZEMicsXG4gICAgZm9udEhvdmVyQ29sb3I6ICcjMTk3NkQyJyxcbiAgICBmb250QWN0aXZlQ29sb3I6ICcjMTU2NUMwJyxcbiAgICBtZW51VGl0bGVCYWNrZ3JvdW5kOiAncmdiYSgwLDAsMCwuMSknLFxuICAgIG1lbnVUaXRsZUNvbG9yOiAncmdiYSgwLDAsMCwuMyknLFxuICAgIG1lbnVCYWNrZ3JvdW5kOiAnI2ZhZmFmYScsXG4gICAgbWVudU9wdGlvbnNCYWNrZ3JvdW5kOiAnI2VhZWFlYScsXG4gICAgbWVudU9wdGlvbnNDb2xvcjogJyNhNWE1YTUnLFxuICAgIG1lbnVPcHRpb25zQ29sb3JIb3ZlcjogJyMxOTc2RDInLFxuICAgIG1lbnVPcHRpb25zQ29sb3JBY3RpdmU6ICcjMTU2NWMwJyxcbiAgICB0b29sYmFyQmFja2dyb3VuZDogJyNmZmZmZmYnLFxuICAgIHRvb2xiYXJDb2xvcjogJyMxOTc2ZDInLFxuICAgIGxpc3RCYWNrZ3JvdW5kOiAnI2ZmZicsXG4gICAgbGlzdENvbnRlbnRCYWNrZ3JvdW5kOiAnI2ZmZicsXG4gICAgbGlzdFRpdGxlSXRlbUNvbG9yOiAnIzgzODM4MycsXG4gICAgbGlzdEl0ZW1Db2xvcjogJyMzZTNlM2UnLFxuICAgIGxpc3RJdGVtQmFja2dyb3VkSG92ZXI6ICcjRjFGMUYxJyxcbiAgICBsaXN0SXRlbUJhY2tncm91bmRBY3RpdmU6ICcjRUVFJyxcbiAgICBzaGFkb3dDb2xvclRhYmxlTGlzdDogJ3JnYmEoMjUsIDExOCwgMjEwLCAuNCknXG4gIH07XG4gIHByaXZhdGUgb2F1dGhFdmVudHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBAVmlld0NoaWxkKCdkcmF3ZXInLCB7c3RhdGljOiB0cnVlfSkgcHJpdmF0ZSBtZW51OiBNYXREcmF3ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IEtvYWxhVG9rZW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBLb2FsYUxvYWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogS29hbGFNZW51U2VydmljZSxcbiAgICBwcml2YXRlIG9hdXRoMlNlcnZpY2U6IEtvYWxhT0F1dGgyU2VydmljZSxcbiAgICBwcml2YXRlIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5sb2FkZXJTdWJqZWN0ID0gbG9hZGVyU2VydmljZS5nZXRMb2FkZXJTdWJqZWN0KCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBLb2FsYUxhbmd1YWdlSGVscGVyLnNldExhbmd1YWdlKHRoaXMubGFuZ3VhZ2UpO1xuICAgIHRoaXMuaW5pdE9BdXRoMigpO1xuICAgIGlmICh0aGlzLm9wZW5QYWdlcykge1xuICAgICAgaWYgKHRoaXMub3BlblBhZ2VzLmluZGV4T2YoJy8nKSA8IDApIHtcbiAgICAgICAgdGhpcy5vcGVuUGFnZXMucHVzaCgnLycpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3BlblBhZ2VzLmluZGV4T2YoJy9sb2dpbicpIDwgMCkge1xuICAgICAgICB0aGlzLm9wZW5QYWdlcy5wdXNoKCcvbG9naW4nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuUGFnZXMgPSBbXG4gICAgICAgICcvJyxcbiAgICAgICAgJy9sb2dpbidcbiAgICAgIF07XG4gICAgfVxuXG4gICAgdGhpcy50b2tlblNlcnZpY2UuZ2V0VG9rZW4oKT8uc3Vic2NyaWJlKHRva2VuID0+IHtcbiAgICAgIHRoaXMubG9nZ2VkJC5uZXh0KCEhdG9rZW4pO1xuICAgICAgaWYgKHRoaXMubG9nZ2VkJC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldERlY29kZWRUb2tlbjx7IGxvZ2luOiBzdHJpbmcgfT4oKTtcbiAgICAgICAgdGhpcy51c2VybmFtZSQubmV4dChkZWNvZGVkVG9rZW4ubG9naW4pO1xuICAgICAgICB0aGlzLmZpcnN0VXNlckxldHRlciQubmV4dChkZWNvZGVkVG9rZW4ubG9naW4uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMubG9nZ2VkJC5nZXRWYWx1ZSgpICYmIHRoaXMub3BlblBhZ2VzPy5pbmRleE9mKHRoaXMuY3VycmVudFVybCkgPj0gMCAmJiB0aGlzLmRlZmF1bHRQYWdlKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmRlZmF1bHRQYWdlXSkudGhlbigpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5sb2dnZWQkLmdldFZhbHVlKCkgJiYgdGhpcy5jdXJyZW50VXJsICYmIHRoaXMub3BlblBhZ2VzPy5pbmRleE9mKHRoaXMuY3VycmVudFVybCkgPCAwKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4nXSkudGhlbigpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgY2FzZSBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydDoge1xuICAgICAgICAgIHRoaXMubG9hZGVyU2VydmljZS5jcmVhdGUoe3R5cGVMb2FkZXI6ICdpbmRldGVybWluYXRlJ30pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQ6XG4gICAgICAgIGNhc2UgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsOlxuICAgICAgICBjYXNlIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yOiB7XG4gICAgICAgICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmRpc21pc3MoKTtcbiAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY3VycmVudFVybCA9IGV2ZW50LnVybC5zcGxpdCgnPycpWzBdO1xuXG4gICAgICAgICAgICBpZiAoZXZlbnQudXJsLmluZGV4T2YoJy9sb2dpbj9jbGllbnRJZD0nKSA8IDApIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMubG9nZ2VkJC5nZXRWYWx1ZSgpICYmIHRoaXMuZGVmYXVsdFBhZ2UgJiYgdGhpcy5vcGVuUGFnZXM/LmluZGV4T2YodGhpcy5jdXJyZW50VXJsKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuZGVmYXVsdFBhZ2VdKS50aGVuKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmxvZ2dlZCQuZ2V0VmFsdWUoKSAmJiB0aGlzLm9wZW5QYWdlcz8uaW5kZXhPZih0aGlzLmN1cnJlbnRVcmwpIDwgMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4nXSkudGhlbigpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAodGhpcy5wYWxsZXRDb2xvcnMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuZGVmYXVsdFBhbGxldENvbG9ycykuZm9yRWFjaChpbmRleE5hbWUgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMucGFsbGV0Q29sb3JzLmhhc093blByb3BlcnR5KGluZGV4TmFtZSkgfHxcbiAgICAgICAgICAhdGhpcy5wYWxsZXRDb2xvcnNbaW5kZXhOYW1lXVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnBhbGxldENvbG9yc1tpbmRleE5hbWVdID0gdGhpcy5kZWZhdWx0UGFsbGV0Q29sb3JzW2luZGV4TmFtZV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhbGxldENvbG9ycyA9IHRoaXMuZGVmYXVsdFBhbGxldENvbG9ycztcbiAgICB9XG4gICAgdGhpcy5kZWZpbmVDb2xvcigpO1xuXG4gICAgaWYgKHRoaXMuc2hvd01lbnUpIHtcbiAgICAgIG1lbnVTdGF0ZVN1YmplY3Quc3Vic2NyaWJlKGFzeW5jIChzdGF0ZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5tZW51KSB7XG4gICAgICAgICAgaWYgKHN0YXRlID09PSAnY2xvc2UnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tZW51Lm9wZW5lZCkge1xuICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnUuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAnb3BlbicpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5tZW51Lm9wZW5lZCkge1xuICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnUub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5zdGFydE1lbnVPcGVuZWQgJiYgdGhpcy5sb2dnZWQkLmdldFZhbHVlKCkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgdGhpcy5tZW51U2VydmljZS5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tZW51U2VydmljZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRoaXMudmFsaWRhdGlvblNjb3BlJC5zdWJzY3JpYmUoc2NvcGUgPT4gdGhpcy52YWxpZGF0aW5nU2NvcGUuZW1pdChzY29wZSkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHRvb2dsZU1lbnUoKSB7XG4gICAgdGhpcy5tZW51U2VydmljZS5jbGVhckNvbmZpZygpO1xuICAgIGlmICh0aGlzLm1lbnUpIHtcbiAgICAgIGF3YWl0IHRoaXMubWVudS50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9nb3V0KCkge1xuICAgIGlmIChLb2FsYUVudmlyb25tZW50LmVudmlyb25tZW50Py5vYXV0aENvbmZpZykge1xuICAgICAgdGhpcy5vYXV0aDJTZXJ2aWNlLmxvZ291dCgpO1xuICAgIH1cbiAgICB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy50b2tlblNlcnZpY2UucmVtb3ZlVG9rZW4oKTtcbiAgICB0aGlzLnRva2VuU2VydmljZS5nZXRUb2tlbigpLm5leHQobnVsbCk7XG4gICAgdGhpcy5sb2dvdXRFbWl0dGVyLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZGVmaW5lQ29sb3IoKSB7XG4gICAgY29uc3QgY3NzID0gYFxuKjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMuc2Nyb2xsYmFyQ29sb3J9O3dpZHRoOiAycHg7fVxuKjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMuc2Nyb2xsYmFyQ29sb3JIb3Zlcn07fVxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCwgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cywgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMuZm9udENvbG9yfSFpbXBvcnRhbnQ7fVxuLm1lbnUtY29udGFpbmVyLFxuYm9keSB7YmFja2dyb3VuZDogJHt0aGlzLnBhbGxldENvbG9ycy5ib2R5QmFja2dyb3VuZH0haW1wb3J0YW50O31cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIgey13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4ICR7dGhpcy5wYWxsZXRDb2xvcnMuZmlyc3RDb2xvcn0gaW5zZXQgIWltcG9ydGFudDt9XG4ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbmlucHV0OjpwbGFjZWhvbGRlcixcbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn0haW1wb3J0YW50O29wYWNpdHk6IC42O31cbi5tYXQtaGludCxcbi5tYXQtZXhwYW5zaW9uLWluZGljYXRvcjo6YWZ0ZXIsXG4ubW9yZS1pdGVtcy1jb250ZW50IC5pdGVtcyAudGl0bGVGb3JtLFxuZmllbGRzZXQgbGVnZW5kLFxuLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyLFxuLm1hdC1mb3JtLWZpZWxkLWZsZXggbWF0LWljb24ge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn0haW1wb3J0YW50O31cbi5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lcixcbi5tYXQtY2FyZCxcbi5tYXQtZXhwYW5zaW9uLXBhbmVsLFxuLm1hdC1zZWxlY3QtcGFuZWwsXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCxcbi5tYXQtbWVudS1wYW5lbCB7YmFja2dyb3VuZDogJHt0aGlzLnBhbGxldENvbG9ycy5maXJzdENvbG9yfX1cbi5tYXQtc2VsZWN0ZWQge2JhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjMpIWltcG9ydGFudDt9XG4ucXVlc3Rpb24gcCxcbi5hbGVydC1tZXNzYWdlLFxuLm1hdC1hY3Rpb24tcm93LFxuLm1hdC1vcHRpb24sXG4ubWF0LW1lbnUtaXRlbSxcbi5tYXQtbWVudS1pdGVtIG1hdC1pY29uIHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5mb250Q29sb3J9IWltcG9ydGFudH1cbi5tYXQtc2VsZWN0LXZhbHVlLFxuLm1hdC1zZWxlY3QtYXJyb3csXG4ubWF0LWZvcm0tZmllbGQgaW5wdXQsXG4ubWF0LWZvcm0tZmllbGQgdGV4dGFyZWEsXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2ssXG4ubWF0LWZvcm0tZmllbGQgbGFiZWwsXG4uc2VsZWN0LW11bHRpcGxlLW5hdGl2ZSBzZWxlY3Qge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn0haW1wb3J0YW50O2NhcmV0LWNvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn0haW1wb3J0YW50O31cbi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUsXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSxcbi5tYXQtZm9ybS1maWVsZC1yaXBwbGUge2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMuZm9udENvbG9yfSFpbXBvcnRhbnQ7fVxuLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLCAubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsXG4ubWF0LWNoZWNrYm94Om5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQge2JhY2tncm91bmQtY29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMuY2hlY2tib3hCYWNrZ3JvdW5kfSAhaW1wb3J0YW50O31cbi5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge3N0cm9rZTogJHt0aGlzLnBhbGxldENvbG9ycy5jaGVja2JveENvbG9yfSAhaW1wb3J0YW50O31cbi5tYXQtY2hlY2tib3gtY2hlY2ttYXJrIHtmaWxsOiAke3RoaXMucGFsbGV0Q29sb3JzLmNoZWNrYm94Q29sb3J9ICFpbXBvcnRhbnQ7fVxuLm1hdC1jaGVja2JveC1taXhlZG1hcmsge2JhY2tncm91bmQtY29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMuY2hlY2tib3hDb2xvcn0gIWltcG9ydGFudDt9XG4ubWF0LWNoZWNrYm94LWZyYW1lIHtib3JkZXItY29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMuY2hlY2tib3hPdXRsaW5lQ29sb3J9IWltcG9ydGFudDt9XG4ubWF0LWNoZWNrYm94LWxhYmVsIHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5mb250Q29sb3J9IWltcG9ydGFudDt9XG4ubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7Ym9yZGVyLWNvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmNoZWNrYm94QmFja2dyb3VuZH0haW1wb3J0YW50O31cbi5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQsIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtiYWNrZ3JvdW5kLWNvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmNoZWNrYm94QmFja2dyb3VuZH0gIWltcG9ydGFudDt9XG4uaG9tZS1saXN0LWNhcmRzIC5saXN0IC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQgLm1hdC1pY29uIHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5mb250Q29sb3J9O31cbi5ob21lLWxpc3QtY2FyZHMgLmxpc3QgYnV0dG9uIC5tYXQtYmFkZ2UtY29udGVudCB7YmFja2dyb3VuZDogJHt0aGlzLnBhbGxldENvbG9ycy5mb250Q29sb3J9O31cbi5rb2FsYS1kaWFsb2cgLm1hdC1kaWFsb2ctdGl0bGUgaDIge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn07fVxuLmtvYWxhLWRpYWxvZyAubWF0LWRpYWxvZy10aXRsZSBtYXQtaWNvbiB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMuZm9udENvbG9yfSFpbXBvcnRhbnQ7fVxuLmtvYWxhLWRpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMuZmlyc3RDb2xvcn19XG4ubGlzdC1maWx0ZXIgbWF0LWljb24ge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZpbHRlckljb25Db2xvcn0haW1wb3J0YW50O31cbmtvYWxhLXBhZ2UgLm1lbnUtb3B0aW9ucyB7YmFja2dyb3VuZDogJHt0aGlzLnBhbGxldENvbG9ycy5tZW51QmFja2dyb3VuZH07fVxua29hbGEtcGFnZSAudG9vbGJhciB7YmFja2dyb3VuZDogJHt0aGlzLnBhbGxldENvbG9ycy50b29sYmFyQmFja2dyb3VuZH07fVxua29hbGEtcGFnZSAudG9vbGJhciAuYnRuLWNvbGxhcHNlLW1lbnUsXG5rb2FsYS1wYWdlIC5idG4tdG9vbGJhciBzcGFue2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLnRvb2xiYXJDb2xvcn07fVxua29hbGEtcGFnZSAuYnRuLXRvb2xiYXIgc3Bhbi5pY29uLXVzZXIsXG4udXNlci1wcmVzZW50YXRpb24gc3Bhbi5pY29uLXVzZXIge2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMudXNlclByZXNlbnRhdGlvblVzZXJCYWNrZ3JvdW5kfTtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy51c2VyUHJlc2VudGF0aW9uVXNlckZvbnRDb2xvcn07fVxuLnVzZXItcHJlc2VudGF0aW9uIHtiYWNrZ3JvdW5kOiAke3RoaXMucGFsbGV0Q29sb3JzLnVzZXJQcmVzZW50YXRpb25CYWNrZ3JvdW5kfTt9XG4udXNlci1wcmVzZW50YXRpb24gc3Bhbi51c2VybmFtZSB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMudG9vbGJhckNvbG9yfTt9XG4ubWF0LWRyYXdlci5tYXQtZHJhd2VyLXB1c2gge2JhY2tncm91bmQtY29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMuYm9keUJhY2tncm91bmR9O31cbmtvYWxhLW1lbnUgLnRpdGxlIHtiYWNrZ3JvdW5kOiAke3RoaXMucGFsbGV0Q29sb3JzLm1lbnVUaXRsZUJhY2tncm91bmR9O2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLm1lbnVUaXRsZUNvbG9yfTt9XG5rb2FsYS1tZW51IHVsIGxpLFxua29hbGEtbWVudSB1bCBsaSBhIHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5tZW51T3B0aW9uc0NvbG9yfTt9XG5rb2FsYS1tZW51IHVsIGxpOmhvdmVyLFxua29hbGEtbWVudSB1bCBsaTpob3ZlciBhIHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5tZW51T3B0aW9uc0NvbG9ySG92ZXJ9ICFpbXBvcnRhbnQ7fVxua29hbGEtbWVudSB1bCBsaS5hY3RpdmUsXG5rb2FsYS1tZW51IHVsIGxpLmV4cGFuZGVkIHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5tZW51T3B0aW9uc0NvbG9yQWN0aXZlfSAhaW1wb3J0YW50O2JvcmRlci1sZWZ0OiA0cHggc29saWQgJHt0aGlzLnBhbGxldENvbG9ycy5tZW51T3B0aW9uc0NvbG9yQWN0aXZlfSAhaW1wb3J0YW50O2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMubWVudU9wdGlvbnNCYWNrZ3JvdW5kfSAhaW1wb3J0YW50O31cbmtvYWxhLW1lbnUgdWwgbGkuYWN0aXZlIGEsXG5rb2FsYS1tZW51IHVsIGxpLmV4cGFuZGVkIGEge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLm1lbnVPcHRpb25zQ29sb3JBY3RpdmV9ICFpbXBvcnRhbnQ7YmFja2dyb3VuZDogJHt0aGlzLnBhbGxldENvbG9ycy5tZW51T3B0aW9uc0JhY2tncm91bmR9ICFpbXBvcnRhbnQ7fVxua29hbGEtbWVudSB1bCBsaSBsaTpob3ZlcixcbmtvYWxhLW1lbnUgdWwgbGkgbGk6aG92ZXIgYSB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMubWVudU9wdGlvbnNDb2xvckhvdmVyfSAhaW1wb3J0YW50O31cbmtvYWxhLW1lbnUgdWwgbGkgbGkuYWN0aXZlLFxua29hbGEtbWVudSB1bCBsaSBsaS5hY3RpdmUgYSB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMubWVudU9wdGlvbnNDb2xvckFjdGl2ZX0gIWltcG9ydGFudDt9XG5rb2FsYS1tZW51IHVsIGxpIGtvYWxhLWljb24gc3ZnICosXG5rb2FsYS1tZW51IHVsIGxpIGEga29hbGEtaWNvbiBzdmcgKiB7ZmlsbDogJHt0aGlzLnBhbGxldENvbG9ycy5tZW51T3B0aW9uc0NvbG9yfTt9XG5rb2FsYS1tZW51IHVsIGxpOmhvdmVyIGtvYWxhLWljb24gc3ZnICosXG5rb2FsYS1tZW51IHVsIGxpOmhvdmVyIGEga29hbGEtaWNvbiBzdmcgKiB7ZmlsbDogJHt0aGlzLnBhbGxldENvbG9ycy5tZW51T3B0aW9uc0NvbG9ySG92ZXJ9ICFpbXBvcnRhbnQ7fVxua29hbGEtbWVudSB1bCBsaS5hY3RpdmUga29hbGEtaWNvbiAqLFxua29hbGEtbWVudSB1bCBsaS5leHBhbmRlZCBrb2FsYS1pY29uICoge2ZpbGw6ICR7dGhpcy5wYWxsZXRDb2xvcnMubWVudU9wdGlvbnNDb2xvckFjdGl2ZX0gIWltcG9ydGFudDt9XG5rb2FsYS1tZW51IHVsIGxpIGxpOmhvdmVyIGtvYWxhLWljb24gKixcbmtvYWxhLW1lbnUgdWwgbGkgbGk6aG92ZXIgYSBrb2FsYS1pY29uICoge2ZpbGw6ICR7dGhpcy5wYWxsZXRDb2xvcnMubWVudU9wdGlvbnNDb2xvckhvdmVyfSAhaW1wb3J0YW50O31cbmtvYWxhLW1lbnUgdWwgbGkgbGkuYWN0aXZlIGtvYWxhLWljb24gKixcbmtvYWxhLW1lbnUgdWwgbGkgbGkuYWN0aXZlIGEga29hbGEtaWNvbiAqIHtmaWxsOiAke3RoaXMucGFsbGV0Q29sb3JzLm1lbnVPcHRpb25zQ29sb3JBY3RpdmV9IWltcG9ydGFudDt9XG4ubm90aWZpY2F0aW9ucy1jb250ZW50IC50aXRsZSB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMubm90aWZpY2F0aW9uVGl0bGVDb2xvcn0haW1wb3J0YW50O31cbi5ub3RpZmljYXRpb25zLWNvbnRlbnQgLmVtcHR5LFxuLm5vdGlmaWNhdGlvbnMtY29udGVudCAudGl0bGVMaXN0IHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5ub3RpZmljYXRpb25Db250ZW50VGl0bGVDb2xvcn0haW1wb3J0YW50O31cbi5ub3RpZmljYXRpb25zLWNvbnRlbnQgLmljb25MaXN0IHtjb2xvcjogJHt0aGlzLnBhbGxldENvbG9ycy5ub3RpZmljYXRpb25Db250ZW50SWNvbkNvbG9yfSFpbXBvcnRhbnQ7fVxuLm5vdGlmaWNhdGlvbnMtY29udGVudCAudGV4dExpc3Qge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLm5vdGlmaWNhdGlvblRpdGxlQ29sb3J9IWltcG9ydGFudDt9XG4ubGlzdC1jb250YWluZXIge2JveC1zaGFkb3c6IDAgMXB4IDNweCAke3RoaXMucGFsbGV0Q29sb3JzLnNoYWRvd0NvbG9yVGFibGVMaXN0fTt9XG4ubGlzdC1jb250YWluZXIgLmxpc3QgdGFibGUudGFibGUtaG92ZXIgdHI6aG92ZXIge2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMubGlzdEl0ZW1CYWNrZ3JvdWRIb3Zlcn07fVxuLmxpc3QtY29udGFpbmVyIC5saXN0IHRhYmxlLnRhYmxlLWhvdmVyIHRyOmFjdGl2ZSB7YmFja2dyb3VuZDogJHt0aGlzLnBhbGxldENvbG9ycy5saXN0SXRlbUJhY2tncm91bmRBY3RpdmV9O31cbi5saXN0LWNvbnRhaW5lciAubGlzdC1maWx0ZXIgLmFkdmFuY2VkIHtiYWNrZ3JvdW5kOiAke3RoaXMucGFsbGV0Q29sb3JzLmZpcnN0Q29sb3J9O31cbi5saXN0LWNvbnRhaW5lciBuYXYubWVudS1saXN0IHtiYWNrZ3JvdW5kOiAke3RoaXMucGFsbGV0Q29sb3JzLmZpcnN0Q29sb3J9O2NvbG9yOiByZ2JhKDI1LCAxMTgsIDIxMCwgLjMpO31cbi5jb250ZW50IHtiYWNrZ3JvdW5kOiAke3RoaXMucGFsbGV0Q29sb3JzLmxpc3RDb250ZW50QmFja2dyb3VuZH07fVxuLm1hdC10YWItZ3JvdXAgLm1hdC10YWItbGFiZWwge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn07fVxuLm1hdC10YWItZ3JvdXAgLm1hdC1pbmstYmFyIHtiYWNrZ3JvdW5kLWNvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn0haW1wb3J0YW50O31cbi5tYXQtdGFibGUge2JhY2tncm91bmQ6ICR7dGhpcy5wYWxsZXRDb2xvcnMubGlzdEJhY2tncm91bmR9O2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmZvbnRDb2xvcn07fVxuLm1hdC10YWJsZSB0aCB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMubGlzdFRpdGxlSXRlbUNvbG9yfSFpbXBvcnRhbnQ7fVxuLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7Y29sb3I6ICR7dGhpcy5wYWxsZXRDb2xvcnMubGlzdEl0ZW1Db2xvcn0haW1wb3J0YW50O31cbi5tYXQtdGFibGUgdGQge2NvbG9yOiAke3RoaXMucGFsbGV0Q29sb3JzLmxpc3RJdGVtQ29sb3J9IWltcG9ydGFudDt9YDtcbiAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdE9BdXRoMigpIHtcbiAgICBLb2FsYU9hdXRoQ29uZmlnLmNvbmZpZy5zdWJzY3JpYmUoY29uZmlnID0+IHRoaXMuc3RhcnRDb25maWcoY29uZmlnKSk7XG4gICAgaWYgKEtvYWxhT2F1dGhDb25maWcuaGFzQ29uZmlnKCkpIHtcbiAgICAgIEtvYWxhT2F1dGhDb25maWcuc2V0Q29uZmlnKEtvYWxhT2F1dGhDb25maWcuZ2V0Q29uZmlnKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRDb25maWcoY29uZmlnOiBLb2FsYU9hdXRoMkNvbmZpZ0ludGVyZmFjZSkge1xuICAgIGlmIChjb25maWcuY2xpZW50SWQpIHtcbiAgICAgIHRoaXMub2F1dGgyU2VydmljZS5jb25maWd1cmUoe1xuICAgICAgICByZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbixcbiAgICAgICAgcmVkaXJlY3RVcmlBZnRlckF1dGg6IHRoaXMuZGVmYXVsdFBhZ2UsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2NvZGUnLFxuICAgICAgICBjbGllbnRJZDogY29uZmlnLmNsaWVudElkLFxuICAgICAgICBzY29wZTogY29uZmlnLnNjb3BlLFxuICAgICAgICBpc3N1ZXI6IGNvbmZpZy5kb21haW4sXG4gICAgICAgIGN1c3RvbVF1ZXJ5UGFyYW1zOiBjb25maWcuY3VzdG9tUXVlcnlQYXJhbXMsXG4gICAgICAgIGVuZHBvaW50VG9rZW46IGNvbmZpZy5lbmRwb2ludFRva2VuID8/IG51bGwsXG4gICAgICAgIGVuZHBvaW50Q2xhaW1zOiBjb25maWcuZW5kcG9pbnRDbGFpbXMgPz8gbnVsbFxuICAgICAgfSk7XG4gICAgICB0aGlzLm9hdXRoMlNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50QW5kVHJ5TG9naW4oKS50aGVuKCk7XG5cbiAgICAgIGlmICh0aGlzLm9hdXRoRXZlbnRzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMub2F1dGhFdmVudHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub2F1dGhFdmVudHNTdWJzY3JpcHRpb24gPSB0aGlzLm9hdXRoMlNlcnZpY2UuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCA9PT0gJ3VzZXJBdXRoZW50aWNhdGVkJyB8fCBldmVudCA9PT0gJ3JlZnJlc2hUb2tlbicpIHtcbiAgICAgICAgICBjb25zdCBjbGFpbXMgPSB0aGlzLm9hdXRoMlNlcnZpY2UuZ2V0SWRlbnRpdHlDbGFpbXMoKTtcbiAgICAgICAgICBpZiAoY2xhaW1zICYmIChcbiAgICAgICAgICAgICFUb2tlbkZhY3RvcnkuaGFzVG9rZW4oKSB8fFxuICAgICAgICAgICAgKFRva2VuRmFjdG9yeS5oYXNUb2tlbigpICYmIGV2ZW50ID09PSAncmVmcmVzaFRva2VuJylcbiAgICAgICAgICApKSB7XG4gICAgICAgICAgICB0aGlzLnRva2VuU2VydmljZS5zZXRUb2tlbihqd3RFbmNvZGUoe1xuICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogdGhpcy5vYXV0aDJTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCksXG4gICAgICAgICAgICAgIGlkVG9rZW46IHRoaXMub2F1dGgyU2VydmljZS5nZXRJZFRva2VuKCksXG4gICAgICAgICAgICAgIHJlZnJlc2hUb2tlbjogdGhpcy5vYXV0aDJTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpLFxuICAgICAgICAgICAgICBsb2dpbjogY2xhaW1zW2NvbmZpZy5pbmRleExvZ2luTmFtZV0gPz8gJ1VuZGVmaW5lZCcsXG4gICAgICAgICAgICAgIGV4cGlyZWQ6IHRoaXMub2F1dGgyU2VydmljZS5nZXRBY2Nlc3NUb2tlbkV4cGlyYXRpb24oKSxcbiAgICAgICAgICAgICAgY29kZTogdGhpcy5vYXV0aDJTZXJ2aWNlLmdldENvZGUoKVxuICAgICAgICAgICAgfSwgJ3NlY3JldCcpKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChldmVudCA9PT0gJ3VzZXJBdXRoZW50aWNhdGVkJykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnZhbGlkYXRpb25TY29wZSQubmV4dChmYWxzZSksIDMwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnZ2V0VG9rZW4nKSB7XG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uU2NvcGUkLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { HashLocationStrategy } from "@angular/common";
3
+ import { KoalaEnvironment } from "../environments/koalaEnvironment";
4
+ export class KoalaParameterHashLocationStrategy extends HashLocationStrategy {
5
+ prepareExternalUrl(internal) {
6
+ var _a;
7
+ const hasToken = !!localStorage.getItem((_a = KoalaEnvironment.environment) === null || _a === void 0 ? void 0 : _a.storageTokenName);
8
+ return !hasToken ?
9
+ window.location.search + super.prepareExternalUrl(internal) :
10
+ super.prepareExternalUrl(internal);
11
+ }
12
+ }
13
+ KoalaParameterHashLocationStrategy.decorators = [
14
+ { type: Injectable }
15
+ ];
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29hbGEucGFyYW1ldGVyLWhhc2gtbG9jYXRpb24tc3RhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yb3V0ZXIva29hbGEucGFyYW1ldGVyLWhhc2gtbG9jYXRpb24tc3RhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3BFLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxvQkFBb0I7SUFDMUUsa0JBQWtCLENBQUMsUUFBZ0I7O1FBQ2pDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQUEsZ0JBQWdCLENBQUMsV0FBVywwQ0FBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNYLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzdELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7WUFQRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBIYXNoTG9jYXRpb25TdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEtvYWxhRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vZW52aXJvbm1lbnRzL2tvYWxhRW52aXJvbm1lbnRcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEtvYWxhUGFyYW1ldGVySGFzaExvY2F0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBIYXNoTG9jYXRpb25TdHJhdGVneSB7XG4gIHByZXBhcmVFeHRlcm5hbFVybChpbnRlcm5hbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNUb2tlbiA9ICEhbG9jYWxTdG9yYWdlLmdldEl0ZW0oS29hbGFFbnZpcm9ubWVudC5lbnZpcm9ubWVudD8uc3RvcmFnZVRva2VuTmFtZSk7XG4gICAgcmV0dXJuICFoYXNUb2tlbiA/XG4gICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggKyBzdXBlci5wcmVwYXJlRXh0ZXJuYWxVcmwoaW50ZXJuYWwpIDpcbiAgICAgICAgICAgc3VwZXIucHJlcGFyZUV4dGVybmFsVXJsKGludGVybmFsKTtcbiAgfVxufVxuIl19