@sapphire-ion/framework 0.30.27 → 0.30.28

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 (469) hide show
  1. package/build.ps1 +39 -0
  2. package/ng-package.json +10 -0
  3. package/package.json +37 -41
  4. package/src/lib/classes/comparison/comparison-operator.ts +17 -0
  5. package/src/lib/classes/comparison/comparison-value-type.ts +34 -0
  6. package/src/lib/classes/comparison/comparison.ts +45 -0
  7. package/src/lib/classes/comparison/properties/bool-property.ts +16 -0
  8. package/src/lib/classes/comparison/properties/date-property.ts +28 -0
  9. package/src/lib/classes/comparison/properties/datetime-property.ts +28 -0
  10. package/src/lib/classes/comparison/properties/decimal-property.ts +28 -0
  11. package/src/lib/classes/comparison/properties/enum-property.ts +28 -0
  12. package/src/lib/classes/comparison/properties/implicit-property.ts +13 -0
  13. package/src/lib/classes/comparison/properties/int-property.ts +28 -0
  14. package/src/lib/classes/comparison/properties/long-property.ts +28 -0
  15. package/src/lib/classes/comparison/properties/string-property.ts +16 -0
  16. package/src/lib/classes/comparison/properties/time-property.ts +28 -0
  17. package/{lib/classes/credentials.d.ts → src/lib/classes/credentials.ts} +5 -5
  18. package/src/lib/classes/environment.ts +35 -0
  19. package/src/lib/classes/filters/view-filtros.ts +18 -0
  20. package/src/lib/classes/infinite-scroll.ts +112 -0
  21. package/src/lib/classes/inputs/table-field-form-builder.ts +12 -0
  22. package/src/lib/classes/inputs/table-field.ts +58 -0
  23. package/src/lib/classes/page-option.ts +8 -0
  24. package/src/lib/classes/routes/default-routing-factory.ts +24 -0
  25. package/src/lib/classes/routes/id-preloader-configuration.ts +21 -0
  26. package/src/lib/classes/routes/route-data.ts +9 -0
  27. package/{themes → src/lib}/compiled-styles.scss +2338 -2338
  28. package/src/lib/components/_inputs_new/classes/input-control-base.ts +85 -0
  29. package/src/lib/components/_inputs_new/classes/input-provider-factory.ts +16 -0
  30. package/src/lib/components/_inputs_new/input-string/input-string.component.html +4 -0
  31. package/src/lib/components/_inputs_new/input-string/input-string.component.ts +15 -0
  32. package/src/lib/components/_inputs_new/inputs.module.ts +16 -0
  33. package/src/lib/components/carousel/carousel-image/carousel-image.component.html +4 -0
  34. package/src/lib/components/carousel/carousel-image/carousel-image.component.ts +15 -0
  35. package/src/lib/components/carousel/carousel-item/carousel-item.component.html +3 -0
  36. package/src/lib/components/carousel/carousel-item/carousel-item.component.ts +14 -0
  37. package/src/lib/components/carousel/carousel.component.html +22 -0
  38. package/src/lib/components/carousel/carousel.component.ts +83 -0
  39. package/src/lib/components/carousel/carousel.module.ts +20 -0
  40. package/src/lib/components/carousel/i-carousel-item.component.ts +8 -0
  41. package/src/lib/components/content-block/content-block.component.html +6 -0
  42. package/src/lib/components/content-block/content-block.component.ts +25 -0
  43. package/src/lib/components/default/default-list/abstract-list.ts +56 -0
  44. package/src/lib/components/default/default-list/default-list.component.html +60 -0
  45. package/src/lib/components/default/default-list/default-list.component.ts +71 -0
  46. package/src/lib/components/default/default-list/header-list/header-list.component.html +32 -0
  47. package/src/lib/components/default/default-list/header-list/header-list.component.ts +85 -0
  48. package/src/lib/components/default/default-list/list.ts +121 -0
  49. package/src/lib/components/default/default-pagination/default-pagination.component.html +52 -0
  50. package/src/lib/components/default/default-pagination/default-pagination.component.ts +118 -0
  51. package/src/lib/components/default/default-table/default-table.component.html +105 -0
  52. package/src/lib/components/default/default-table/default-table.component.ts +197 -0
  53. package/src/lib/components/default/default-table/th-filter/th-filter.component.html +61 -0
  54. package/src/lib/components/default/default-table/th-filter/th-filter.component.ts +178 -0
  55. package/src/lib/components/default/default-view/abstract-view.ts +25 -0
  56. package/src/lib/components/default/default-view/default-view.component.html +81 -0
  57. package/src/lib/components/default/default-view/default-view.component.ts +34 -0
  58. package/src/lib/components/default/default-view/header-view/header-view.component.html +64 -0
  59. package/src/lib/components/default/default-view/header-view/header-view.component.ts +54 -0
  60. package/src/lib/components/default/default-view/view.ts +171 -0
  61. package/src/lib/components/default/default.module.ts +55 -0
  62. package/src/lib/components/default-page/default.page.html +53 -0
  63. package/src/lib/components/default-page/default.page.ts +77 -0
  64. package/src/lib/components/drag-drop-file/drag-drop-file.directive.ts +44 -0
  65. package/src/lib/components/drag-drop-file/drag-drop-file.module.ts +21 -0
  66. package/src/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.html +5 -0
  67. package/src/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.ts +17 -0
  68. package/src/lib/components/drawer/default-drawer-end/default-drawer-end.component.html +12 -0
  69. package/src/lib/components/drawer/default-drawer-end/default-drawer-end.component.ts +35 -0
  70. package/src/lib/components/drawer/drawer-group/drawer-group.component.html +61 -0
  71. package/src/lib/components/drawer/drawer-group/drawer-group.component.ts +44 -0
  72. package/src/lib/components/drawer/drawer.component.html +56 -0
  73. package/src/lib/components/drawer/drawer.component.ts +119 -0
  74. package/src/lib/components/drawer/menu.ts +20 -0
  75. package/src/lib/components/filter/filter.component.html +31 -0
  76. package/src/lib/components/filter/filter.component.ts +133 -0
  77. package/src/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.html +35 -0
  78. package/src/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.ts +19 -0
  79. package/src/lib/components/image/image.component.html +17 -0
  80. package/src/lib/components/image/image.component.ts +95 -0
  81. package/src/lib/components/info-popover/info-popover.component.html +23 -0
  82. package/src/lib/components/info-popover/info-popover.component.ts +75 -0
  83. package/src/lib/components/inputs/custom-input.ts +67 -0
  84. package/src/lib/components/inputs/custom-signal-input.ts +70 -0
  85. package/src/lib/components/inputs/input-bool/input-bool.component.html +18 -0
  86. package/src/lib/components/inputs/input-bool/input-bool.component.ts +36 -0
  87. package/src/lib/components/inputs/input-bool/input-bool.configuration.ts +14 -0
  88. package/src/lib/components/inputs/input-color/input-color.component.html +132 -0
  89. package/src/lib/components/inputs/input-color/input-color.component.ts +561 -0
  90. package/{lib/components/inputs/input-configuration.d.ts → src/lib/components/inputs/input-configuration.ts} +18 -8
  91. package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.html +26 -0
  92. package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.ts +78 -0
  93. package/src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.ts +4 -0
  94. package/src/lib/components/inputs/input-date/input-date.component.html +40 -0
  95. package/src/lib/components/inputs/input-date/input-date.component.ts +98 -0
  96. package/src/lib/components/inputs/input-date/input-date.configuration.ts +6 -0
  97. package/src/lib/components/inputs/input-decimal/input-decimal.component.html +24 -0
  98. package/src/lib/components/inputs/input-decimal/input-decimal.component.ts +296 -0
  99. package/src/lib/components/inputs/input-decimal/input-decimal.configuration.ts +42 -0
  100. package/src/lib/components/inputs/input-default-configurations.ts +15 -0
  101. package/src/lib/components/inputs/input-file/download-button/download-button.component.html +56 -0
  102. package/src/lib/components/inputs/input-file/download-button/download-button.component.ts +85 -0
  103. package/src/lib/components/inputs/input-file/input-file.component.html +101 -0
  104. package/src/lib/components/inputs/input-file/input-file.component.ts +120 -0
  105. package/src/lib/components/inputs/input-file/input-file.configuration.ts +8 -0
  106. package/src/lib/components/inputs/input-loading/input-loading.component.html +3 -0
  107. package/src/lib/components/inputs/input-loading/input-loading.component.ts +13 -0
  108. package/src/lib/components/inputs/input-provider-factory.ts +15 -0
  109. package/src/lib/components/inputs/input-select/ISelect.ts +26 -0
  110. package/src/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.html +16 -0
  111. package/src/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.ts +38 -0
  112. package/src/lib/components/inputs/input-select/input-select-option/input-select-option.component.html +15 -0
  113. package/src/lib/components/inputs/input-select/input-select-option/input-select-option.component.ts +47 -0
  114. package/src/lib/components/inputs/input-select/input-select-template.directive.ts +8 -0
  115. package/src/lib/components/inputs/input-select/input-select.component.html +66 -0
  116. package/src/lib/components/inputs/input-select/input-select.component.ts +323 -0
  117. package/src/lib/components/inputs/input-select/input.select.configuration.ts +188 -0
  118. package/src/lib/components/inputs/input-string/input-string.component.html +22 -0
  119. package/src/lib/components/inputs/input-string/input-string.component.ts +36 -0
  120. package/src/lib/components/inputs/input-string/input-string.configuration.ts +18 -0
  121. package/src/lib/components/inputs/input-textarea/input-textarea.component.html +25 -0
  122. package/src/lib/components/inputs/input-textarea/input-textarea.component.ts +35 -0
  123. package/src/lib/components/inputs/input-type.ts +16 -0
  124. package/src/lib/components/inputs/input-validators.ts +76 -0
  125. package/src/lib/components/inputs/inputs.module.ts +64 -0
  126. package/src/lib/components/loading/loading.component.html +28 -0
  127. package/src/lib/components/loading/loading.component.ts +29 -0
  128. package/src/lib/components/login/login-admin/login-admin.component.html +28 -0
  129. package/src/lib/components/login/login-admin/login-admin.component.ts +51 -0
  130. package/src/lib/components/login/login.component.html +104 -0
  131. package/src/lib/components/login/login.component.ts +97 -0
  132. package/src/lib/components/main-content/main-content.component.html +61 -0
  133. package/src/lib/components/main-content/main-content.component.ts +55 -0
  134. package/src/lib/components/stepper/step/step.component.html +11 -0
  135. package/src/lib/components/stepper/step/step.component.ts +44 -0
  136. package/src/lib/components/stepper/stepper.component.html +3 -0
  137. package/src/lib/components/stepper/stepper.component.ts +36 -0
  138. package/src/lib/components/stepper/stepper.module.ts +15 -0
  139. package/src/lib/components/tabs/tab/tab.component.html +8 -0
  140. package/src/lib/components/tabs/tab/tab.component.scss +0 -0
  141. package/src/lib/components/tabs/tab/tab.component.ts +28 -0
  142. package/src/lib/components/tabs/tabs/tabs.component.html +14 -0
  143. package/src/lib/components/tabs/tabs/tabs.component.ts +42 -0
  144. package/src/lib/components/tabs/tabs.module.ts +15 -0
  145. package/src/lib/components/text-tooltip/text-tooltip.component.html +8 -0
  146. package/src/lib/components/text-tooltip/text-tooltip.component.scss +0 -0
  147. package/src/lib/components/text-tooltip/text-tooltip.component.ts +45 -0
  148. package/src/lib/components/tooltip/tooltip.component.html +53 -0
  149. package/src/lib/components/tooltip/tooltip.component.ts +16 -0
  150. package/src/lib/core.module.ts +26 -0
  151. package/src/lib/directives/ng-var.directive.ts +26 -0
  152. package/src/lib/guards/auth.guard.ts +19 -0
  153. package/src/lib/guards/error.interceptor.ts +107 -0
  154. package/src/lib/guards/token.interceptor.ts +28 -0
  155. package/src/lib/index.ts +175 -0
  156. package/src/lib/pipes/secure.pipe.ts +39 -0
  157. package/src/lib/services/auth.service.ts +150 -0
  158. package/src/lib/services/crypto.service.ts +164 -0
  159. package/src/lib/services/environment.service.ts +17 -0
  160. package/src/lib/services/generics.service.ts +85 -0
  161. package/src/lib/services/route/route.cache.service.ts +17 -0
  162. package/src/lib/services/route/route.provider.service.ts +49 -0
  163. package/src/lib/services/usuario.service.ts +44 -0
  164. package/src/lib/services/utils.service.ts +161 -0
  165. package/src/lib/services/web/api-url-provider.service.ts +48 -0
  166. package/src/lib/services/web/http.ativo.service.ts +52 -0
  167. package/src/lib/services/web/http.service.ts +184 -0
  168. package/src/lib/services/web/storage.service.ts +131 -0
  169. package/{themes → src/lib}/styles/core.styles.scss +4 -0
  170. package/src/public-api.ts +5 -0
  171. package/tailwind.config.js +27 -0
  172. package/tsconfig.lib.json +29 -0
  173. package/tsconfig.lib.prod.json +23 -0
  174. package/tsconfig.spec.json +27 -0
  175. package/esm2022/lib/classes/comparison/comparison-operator.mjs +0 -18
  176. package/esm2022/lib/classes/comparison/comparison-value-type.mjs +0 -25
  177. package/esm2022/lib/classes/comparison/comparison.mjs +0 -41
  178. package/esm2022/lib/classes/comparison/properties/bool-property.mjs +0 -15
  179. package/esm2022/lib/classes/comparison/properties/date-property.mjs +0 -27
  180. package/esm2022/lib/classes/comparison/properties/datetime-property.mjs +0 -27
  181. package/esm2022/lib/classes/comparison/properties/decimal-property.mjs +0 -27
  182. package/esm2022/lib/classes/comparison/properties/enum-property.mjs +0 -27
  183. package/esm2022/lib/classes/comparison/properties/implicit-property.mjs +0 -12
  184. package/esm2022/lib/classes/comparison/properties/int-property.mjs +0 -27
  185. package/esm2022/lib/classes/comparison/properties/long-property.mjs +0 -27
  186. package/esm2022/lib/classes/comparison/properties/string-property.mjs +0 -15
  187. package/esm2022/lib/classes/comparison/properties/time-property.mjs +0 -27
  188. package/esm2022/lib/classes/credentials.mjs +0 -2
  189. package/esm2022/lib/classes/environment.mjs +0 -32
  190. package/esm2022/lib/classes/filters/view-filtros.mjs +0 -18
  191. package/esm2022/lib/classes/infinite-scroll.mjs +0 -90
  192. package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +0 -10
  193. package/esm2022/lib/classes/inputs/table-field.mjs +0 -69
  194. package/esm2022/lib/classes/page-option.mjs +0 -2
  195. package/esm2022/lib/classes/routes/default-routing-factory.mjs +0 -23
  196. package/esm2022/lib/classes/routes/id-preloader-configuration.mjs +0 -22
  197. package/esm2022/lib/classes/routes/route-data.mjs +0 -9
  198. package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +0 -18
  199. package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +0 -15
  200. package/esm2022/lib/components/carousel/carousel.component.mjs +0 -79
  201. package/esm2022/lib/components/carousel/carousel.module.mjs +0 -31
  202. package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +0 -16
  203. package/esm2022/lib/components/content-block/content-block.component.mjs +0 -27
  204. package/esm2022/lib/components/default/default-list/abstract-list.mjs +0 -49
  205. package/esm2022/lib/components/default/default-list/default-list.component.mjs +0 -99
  206. package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +0 -98
  207. package/esm2022/lib/components/default/default-list/list.mjs +0 -110
  208. package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +0 -123
  209. package/esm2022/lib/components/default/default-table/default-table.component.mjs +0 -222
  210. package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +0 -186
  211. package/esm2022/lib/components/default/default-view/abstract-view.mjs +0 -22
  212. package/esm2022/lib/components/default/default-view/default-view.component.mjs +0 -51
  213. package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +0 -75
  214. package/esm2022/lib/components/default/default-view/view.mjs +0 -175
  215. package/esm2022/lib/components/default/default.module.mjs +0 -87
  216. package/esm2022/lib/components/default-page/default.page.mjs +0 -73
  217. package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +0 -60
  218. package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +0 -31
  219. package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +0 -15
  220. package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +0 -34
  221. package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +0 -49
  222. package/esm2022/lib/components/drawer/drawer.component.mjs +0 -117
  223. package/esm2022/lib/components/drawer/menu.mjs +0 -15
  224. package/esm2022/lib/components/filter/filter.component.mjs +0 -127
  225. package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +0 -17
  226. package/esm2022/lib/components/image/image.component.mjs +0 -91
  227. package/esm2022/lib/components/info-popover/info-popover.component.mjs +0 -91
  228. package/esm2022/lib/components/inputs/custom-input.mjs +0 -77
  229. package/esm2022/lib/components/inputs/custom-signal-input.mjs +0 -74
  230. package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +0 -43
  231. package/esm2022/lib/components/inputs/input-bool/input-bool.configuration.mjs +0 -16
  232. package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +0 -487
  233. package/esm2022/lib/components/inputs/input-configuration.mjs +0 -2
  234. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +0 -93
  235. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.mjs +0 -6
  236. package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +0 -122
  237. package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +0 -8
  238. package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +0 -269
  239. package/esm2022/lib/components/inputs/input-decimal/input-decimal.configuration.mjs +0 -45
  240. package/esm2022/lib/components/inputs/input-default-configurations.mjs +0 -14
  241. package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +0 -94
  242. package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +0 -131
  243. package/esm2022/lib/components/inputs/input-file/input-file.configuration.mjs +0 -11
  244. package/esm2022/lib/components/inputs/input-loading/input-loading.component.mjs +0 -16
  245. package/esm2022/lib/components/inputs/input-provider-factory.mjs +0 -15
  246. package/esm2022/lib/components/inputs/input-select/ISelect.mjs +0 -11
  247. package/esm2022/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.mjs +0 -42
  248. package/esm2022/lib/components/inputs/input-select/input-select-option/input-select-option.component.mjs +0 -46
  249. package/esm2022/lib/components/inputs/input-select/input-select-template.directive.mjs +0 -16
  250. package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +0 -322
  251. package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +0 -164
  252. package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +0 -50
  253. package/esm2022/lib/components/inputs/input-string/input-string.configuration.mjs +0 -18
  254. package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +0 -47
  255. package/esm2022/lib/components/inputs/input-type.mjs +0 -18
  256. package/esm2022/lib/components/inputs/input-validators.mjs +0 -90
  257. package/esm2022/lib/components/inputs/inputs.module.mjs +0 -105
  258. package/esm2022/lib/components/loading/loading.component.mjs +0 -34
  259. package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +0 -52
  260. package/esm2022/lib/components/login/login.component.mjs +0 -102
  261. package/esm2022/lib/components/main-content/main-content.component.mjs +0 -62
  262. package/esm2022/lib/components/stepper/step/step.component.mjs +0 -43
  263. package/esm2022/lib/components/stepper/stepper.component.mjs +0 -36
  264. package/esm2022/lib/components/stepper/stepper.module.mjs +0 -25
  265. package/esm2022/lib/components/tabs/tab/tab.component.mjs +0 -41
  266. package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +0 -56
  267. package/esm2022/lib/components/tabs/tabs.module.mjs +0 -22
  268. package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +0 -51
  269. package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -21
  270. package/esm2022/lib/core.module.mjs +0 -29
  271. package/esm2022/lib/directives/ng-var.directive.mjs +0 -29
  272. package/esm2022/lib/guards/auth.guard.mjs +0 -26
  273. package/esm2022/lib/guards/error.interceptor.mjs +0 -106
  274. package/esm2022/lib/guards/token.interceptor.mjs +0 -25
  275. package/esm2022/lib/index.mjs +0 -173
  276. package/esm2022/lib/pipes/secure.pipe.mjs +0 -42
  277. package/esm2022/lib/services/auth.service.mjs +0 -146
  278. package/esm2022/lib/services/environment.service.mjs +0 -26
  279. package/esm2022/lib/services/generics.service.mjs +0 -84
  280. package/esm2022/lib/services/route/route.cache.service.mjs +0 -15
  281. package/esm2022/lib/services/route/route.provider.service.mjs +0 -42
  282. package/esm2022/lib/services/usuario.service.mjs +0 -49
  283. package/esm2022/lib/services/utils.service.mjs +0 -149
  284. package/esm2022/lib/services/web/api-url-provider.service.mjs +0 -29
  285. package/esm2022/lib/services/web/http.ativo.service.mjs +0 -55
  286. package/esm2022/lib/services/web/http.service.mjs +0 -169
  287. package/esm2022/lib/services/web/storage.service.mjs +0 -128
  288. package/esm2022/public-api.mjs +0 -5
  289. package/esm2022/sapphire-ion-framework.mjs +0 -5
  290. package/fesm2022/sapphire-ion-framework.mjs +0 -6240
  291. package/fesm2022/sapphire-ion-framework.mjs.map +0 -1
  292. package/index.d.ts +0 -5
  293. package/lib/classes/comparison/comparison-operator.d.ts +0 -9
  294. package/lib/classes/comparison/comparison-value-type.d.ts +0 -23
  295. package/lib/classes/comparison/comparison.d.ts +0 -25
  296. package/lib/classes/comparison/properties/bool-property.d.ts +0 -7
  297. package/lib/classes/comparison/properties/date-property.d.ts +0 -11
  298. package/lib/classes/comparison/properties/datetime-property.d.ts +0 -11
  299. package/lib/classes/comparison/properties/decimal-property.d.ts +0 -11
  300. package/lib/classes/comparison/properties/enum-property.d.ts +0 -11
  301. package/lib/classes/comparison/properties/implicit-property.d.ts +0 -6
  302. package/lib/classes/comparison/properties/int-property.d.ts +0 -11
  303. package/lib/classes/comparison/properties/long-property.d.ts +0 -11
  304. package/lib/classes/comparison/properties/string-property.d.ts +0 -7
  305. package/lib/classes/comparison/properties/time-property.d.ts +0 -11
  306. package/lib/classes/environment.d.ts +0 -13
  307. package/lib/classes/filters/view-filtros.d.ts +0 -10
  308. package/lib/classes/infinite-scroll.d.ts +0 -26
  309. package/lib/classes/inputs/table-field-form-builder.d.ts +0 -5
  310. package/lib/classes/inputs/table-field.d.ts +0 -20
  311. package/lib/classes/page-option.d.ts +0 -7
  312. package/lib/classes/routes/default-routing-factory.d.ts +0 -8
  313. package/lib/classes/routes/id-preloader-configuration.d.ts +0 -28
  314. package/lib/classes/routes/route-data.d.ts +0 -5
  315. package/lib/components/carousel/carousel-image/carousel-image.component.d.ts +0 -10
  316. package/lib/components/carousel/carousel-item/carousel-item.component.d.ts +0 -9
  317. package/lib/components/carousel/carousel.component.d.ts +0 -32
  318. package/lib/components/carousel/carousel.module.d.ts +0 -12
  319. package/lib/components/carousel/i-carousel-item.component.d.ts +0 -9
  320. package/lib/components/content-block/content-block.component.d.ts +0 -15
  321. package/lib/components/default/default-list/abstract-list.d.ts +0 -21
  322. package/lib/components/default/default-list/default-list.component.d.ts +0 -44
  323. package/lib/components/default/default-list/header-list/header-list.component.d.ts +0 -45
  324. package/lib/components/default/default-list/list.d.ts +0 -38
  325. package/lib/components/default/default-pagination/default-pagination.component.d.ts +0 -36
  326. package/lib/components/default/default-table/default-table.component.d.ts +0 -72
  327. package/lib/components/default/default-table/th-filter/th-filter.component.d.ts +0 -20
  328. package/lib/components/default/default-view/abstract-view.d.ts +0 -18
  329. package/lib/components/default/default-view/default-view.component.d.ts +0 -26
  330. package/lib/components/default/default-view/header-view/header-view.component.d.ts +0 -26
  331. package/lib/components/default/default-view/view.d.ts +0 -56
  332. package/lib/components/default/default.module.d.ts +0 -28
  333. package/lib/components/default-page/default.page.d.ts +0 -35
  334. package/lib/components/drag-drop-file/drag-drop-file.directive.d.ts +0 -14
  335. package/lib/components/drag-drop-file/drag-drop-file.module.d.ts +0 -10
  336. package/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.d.ts +0 -9
  337. package/lib/components/drawer/default-drawer-end/default-drawer-end.component.d.ts +0 -13
  338. package/lib/components/drawer/drawer-group/drawer-group.component.d.ts +0 -22
  339. package/lib/components/drawer/drawer.component.d.ts +0 -23
  340. package/lib/components/drawer/menu.d.ts +0 -9
  341. package/lib/components/filter/filter.component.d.ts +0 -29
  342. package/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.d.ts +0 -8
  343. package/lib/components/image/image.component.d.ts +0 -23
  344. package/lib/components/info-popover/info-popover.component.d.ts +0 -15
  345. package/lib/components/inputs/custom-input.d.ts +0 -36
  346. package/lib/components/inputs/custom-signal-input.d.ts +0 -38
  347. package/lib/components/inputs/input-bool/input-bool.component.d.ts +0 -19
  348. package/lib/components/inputs/input-bool/input-bool.configuration.d.ts +0 -17
  349. package/lib/components/inputs/input-color/input-color.component.d.ts +0 -80
  350. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.d.ts +0 -24
  351. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.d.ts +0 -5
  352. package/lib/components/inputs/input-date/input-date.component.d.ts +0 -30
  353. package/lib/components/inputs/input-date/input-date.configuration.d.ts +0 -7
  354. package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +0 -41
  355. package/lib/components/inputs/input-decimal/input-decimal.configuration.d.ts +0 -25
  356. package/lib/components/inputs/input-default-configurations.d.ts +0 -13
  357. package/lib/components/inputs/input-file/download-button/download-button.component.d.ts +0 -37
  358. package/lib/components/inputs/input-file/input-file.component.d.ts +0 -39
  359. package/lib/components/inputs/input-file/input-file.configuration.d.ts +0 -11
  360. package/lib/components/inputs/input-loading/input-loading.component.d.ts +0 -7
  361. package/lib/components/inputs/input-provider-factory.d.ts +0 -4
  362. package/lib/components/inputs/input-select/ISelect.d.ts +0 -21
  363. package/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.d.ts +0 -18
  364. package/lib/components/inputs/input-select/input-select-option/input-select-option.component.d.ts +0 -24
  365. package/lib/components/inputs/input-select/input-select-template.directive.d.ts +0 -8
  366. package/lib/components/inputs/input-select/input-select.component.d.ts +0 -66
  367. package/lib/components/inputs/input-select/input.select.configuration.d.ts +0 -87
  368. package/lib/components/inputs/input-string/input-string.component.d.ts +0 -19
  369. package/lib/components/inputs/input-string/input-string.configuration.d.ts +0 -14
  370. package/lib/components/inputs/input-textarea/input-textarea.component.d.ts +0 -18
  371. package/lib/components/inputs/input-type.d.ts +0 -16
  372. package/lib/components/inputs/input-validators.d.ts +0 -19
  373. package/lib/components/inputs/inputs.module.d.ts +0 -29
  374. package/lib/components/loading/loading.component.d.ts +0 -18
  375. package/lib/components/login/login-admin/login-admin.component.d.ts +0 -20
  376. package/lib/components/login/login.component.d.ts +0 -29
  377. package/lib/components/main-content/main-content.component.d.ts +0 -17
  378. package/lib/components/stepper/step/step.component.d.ts +0 -15
  379. package/lib/components/stepper/stepper.component.d.ts +0 -17
  380. package/lib/components/stepper/stepper.module.d.ts +0 -10
  381. package/lib/components/tabs/tab/tab.component.d.ts +0 -19
  382. package/lib/components/tabs/tabs/tabs.component.d.ts +0 -18
  383. package/lib/components/tabs/tabs.module.d.ts +0 -12
  384. package/lib/components/text-tooltip/text-tooltip.component.d.ts +0 -16
  385. package/lib/components/tooltip/tooltip.component.d.ts +0 -7
  386. package/lib/core.module.d.ts +0 -11
  387. package/lib/directives/ng-var.directive.d.ts +0 -12
  388. package/lib/guards/auth.guard.d.ts +0 -11
  389. package/lib/guards/error.interceptor.d.ts +0 -32
  390. package/lib/guards/token.interceptor.d.ts +0 -11
  391. package/lib/index.d.ts +0 -109
  392. package/lib/pipes/secure.pipe.d.ts +0 -15
  393. package/lib/services/auth.service.d.ts +0 -47
  394. package/lib/services/environment.service.d.ts +0 -10
  395. package/lib/services/generics.service.d.ts +0 -22
  396. package/lib/services/route/route.cache.service.d.ts +0 -7
  397. package/lib/services/route/route.provider.service.d.ts +0 -13
  398. package/lib/services/usuario.service.d.ts +0 -21
  399. package/lib/services/utils.service.d.ts +0 -36
  400. package/lib/services/web/api-url-provider.service.d.ts +0 -13
  401. package/lib/services/web/http.ativo.service.d.ts +0 -31
  402. package/lib/services/web/http.service.d.ts +0 -50
  403. package/lib/services/web/storage.service.d.ts +0 -25
  404. package/public-api.d.ts +0 -1
  405. /package/{themes → src/lib}/components/_inputs_new/input-string/input-string.component.scss +0 -0
  406. /package/{themes → src/lib}/components/_inputs_new/inputs.scss +0 -0
  407. /package/{themes → src/lib}/components/carousel/carousel-image/carousel-image.component.scss +0 -0
  408. /package/{themes → src/lib}/components/carousel/carousel-item/carousel-item.component.scss +0 -0
  409. /package/{themes → src/lib}/components/carousel/carousel.component.scss +0 -0
  410. /package/{themes → src/lib}/components/content-block/content-block.component.scss +0 -0
  411. /package/{themes → src/lib}/components/default/default-list/default-list.component.scss +0 -0
  412. /package/{themes → src/lib}/components/default/default-list/header-list/header-list.component.scss +0 -0
  413. /package/{themes → src/lib}/components/default/default-pagination/default-pagination.component.scss +0 -0
  414. /package/{themes → src/lib}/components/default/default-table/default-table.component.scss +0 -0
  415. /package/{themes → src/lib}/components/default/default-table/th-filter/th-filter.component.scss +0 -0
  416. /package/{themes → src/lib}/components/default/default-view/default-view.component.scss +0 -0
  417. /package/{themes → src/lib}/components/default/default-view/header-view/header-view.component.scss +0 -0
  418. /package/{themes → src/lib}/components/default-page/default.page.scss +0 -0
  419. /package/{themes → src/lib}/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.scss +0 -0
  420. /package/{themes → src/lib}/components/drawer/default-drawer-end/default-drawer-end.component.scss +0 -0
  421. /package/{themes → src/lib}/components/drawer/drawer-group/drawer-group.component.scss +0 -0
  422. /package/{themes → src/lib}/components/drawer/drawer.component.scss +0 -0
  423. /package/{themes → src/lib}/components/filter/filter.component.scss +0 -0
  424. /package/{themes → src/lib}/components/http-responses-pages/forbidden-403/forbidden-403.component.scss +0 -0
  425. /package/{themes → src/lib}/components/image/image.component.scss +0 -0
  426. /package/{themes → src/lib}/components/info-popover/info-popover.component.scss +0 -0
  427. /package/{themes → src/lib}/components/inputs/input-bool/input-bool.component.scss +0 -0
  428. /package/{themes → src/lib}/components/inputs/input-color/input-color.component.scss +0 -0
  429. /package/{themes/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss → src/lib/components/inputs/input-color/input-color.configuration.ts} +0 -0
  430. /package/{themes/components/inputs/input-loading/input-loading.component.scss → src/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss} +0 -0
  431. /package/{themes → src/lib}/components/inputs/input-date/input-date.component.scss +0 -0
  432. /package/{themes → src/lib}/components/inputs/input-decimal/input-decimal.component.scss +0 -0
  433. /package/{themes → src/lib}/components/inputs/input-file/download-button/download-button.component.scss +0 -0
  434. /package/{themes → src/lib}/components/inputs/input-file/input-file.component.scss +0 -0
  435. /package/{themes/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.scss → src/lib/components/inputs/input-loading/input-bool.configuration.ts} +0 -0
  436. /package/{themes/components/inputs/input-select/input-select-option/input-select-option.component.scss → src/lib/components/inputs/input-loading/input-loading.component.scss} +0 -0
  437. /package/{themes/components/inputs/input-string/input-string.component.scss → src/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.scss} +0 -0
  438. /package/{themes/components/inputs/input-textarea/input-textarea.component.scss → src/lib/components/inputs/input-select/input-select-option/input-select-option.component.scss} +0 -0
  439. /package/{themes → src/lib}/components/inputs/input-select/input-select.component.scss +0 -0
  440. /package/{themes/components/loading/loading.component.scss → src/lib/components/inputs/input-string/input-string.component.scss} +0 -0
  441. /package/{themes/components/stepper/stepper.component.scss → src/lib/components/inputs/input-textarea/input-textarea.component.scss} +0 -0
  442. /package/{themes → src/lib}/components/inputs/inputs.scss +0 -0
  443. /package/{themes/components/tabs/tab/tab.component.scss → src/lib/components/loading/loading.component.scss} +0 -0
  444. /package/{themes → src/lib}/components/login/login-admin/login-admin.component.scss +0 -0
  445. /package/{themes → src/lib}/components/login/login.component.scss +0 -0
  446. /package/{themes → src/lib}/components/main-content/main-content.component.scss +0 -0
  447. /package/{themes → src/lib}/components/stepper/step/step.component.scss +0 -0
  448. /package/{themes/components/text-tooltip/text-tooltip.component.scss → src/lib/components/stepper/stepper.component.scss} +0 -0
  449. /package/{themes → src/lib}/components/tabs/tabs/tabs.component.scss +0 -0
  450. /package/{themes → src/lib}/components/tooltip/tooltip.component.scss +0 -0
  451. /package/{themes → src/lib}/styles/components.scss +0 -0
  452. /package/{themes → src/lib}/styles/ionic/ion-action-sheet.scss +0 -0
  453. /package/{themes → src/lib}/styles/ionic/ion-alert.scss +0 -0
  454. /package/{themes → src/lib}/styles/ionic/ion-button.scss +0 -0
  455. /package/{themes → src/lib}/styles/ionic/ion-card.scss +0 -0
  456. /package/{themes → src/lib}/styles/ionic/ion-content.scss +0 -0
  457. /package/{themes → src/lib}/styles/ionic/ion-datetime.scss +0 -0
  458. /package/{themes → src/lib}/styles/ionic/ion-item.scss +0 -0
  459. /package/{themes → src/lib}/styles/ionic/ion-list.scss +0 -0
  460. /package/{themes → src/lib}/styles/ionic/ion-modal.scss +0 -0
  461. /package/{themes → src/lib}/styles/ionic/ion-popover.scss +0 -0
  462. /package/{themes → src/lib}/styles/ionic/ion-progress-bar.scss +0 -0
  463. /package/{themes → src/lib}/styles/ionic/ion-searchbar.scss +0 -0
  464. /package/{themes → src/lib}/styles/ionic/ion-toast.scss +0 -0
  465. /package/{themes → src/lib}/styles/ionic.scss +0 -0
  466. /package/{themes → src/lib}/styles/login-default.scss +0 -0
  467. /package/{themes → src/lib}/styles/mixins.scss +0 -0
  468. /package/{themes → src/lib}/styles/styles.scss +0 -0
  469. /package/{themes → src/lib}/styles/translucid.scss +0 -0
@@ -1,149 +0,0 @@
1
- import { ActionSheetController } from '@ionic/angular';
2
- import { FilePicker } from '@capawesome/capacitor-file-picker';
3
- import { CameraSource } from '@capacitor/camera';
4
- import { Injectable } from '@angular/core';
5
- import moment from 'moment';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ionic/angular";
8
- export class UtilsService {
9
- constructor(actionSheetController) {
10
- this.actionSheetController = actionSheetController;
11
- }
12
- /** Retorna um array de arquivos de acordo com o tipo de configutação */
13
- async SelectFile(configuration) {
14
- let SelectType;
15
- (function (SelectType) {
16
- SelectType[SelectType["camera"] = 1] = "camera";
17
- SelectType[SelectType["galery"] = 2] = "galery";
18
- SelectType[SelectType["file"] = 3] = "file";
19
- SelectType[SelectType["deny"] = 4] = "deny";
20
- })(SelectType || (SelectType = {}));
21
- const btnCamera = { text: 'Câmera', icon: 'camera', data: SelectType.camera };
22
- const btnGalery = { text: 'Galeria', icon: 'image', data: SelectType.galery };
23
- const btnFile = { text: 'Selecionar Arquivo', icon: 'document', data: SelectType.file };
24
- const btnDeny = { text: 'Cancelar', icon: 'close-circle', data: SelectType.deny, role: 'cancel', };
25
- const isApp = (!document.URL.startsWith('http') || document.URL.startsWith('http://localhost:8080'));
26
- var lstBtn = [];
27
- if (isApp) {
28
- lstBtn.push(btnCamera);
29
- lstBtn.push(btnGalery);
30
- }
31
- lstBtn.push(btnFile);
32
- lstBtn.push(btnDeny);
33
- var res;
34
- if (lstBtn.length > 2) {
35
- const actionSheet = await this.actionSheetController.create({ buttons: lstBtn });
36
- actionSheet.present();
37
- res = await actionSheet.onDidDismiss();
38
- }
39
- else {
40
- res = { role: 'confirm', data: lstBtn[0].data };
41
- }
42
- if (['backdrop', 'cancel'].includes(res.role)) {
43
- return;
44
- }
45
- if ([SelectType.camera, SelectType.galery].includes(res.data)) {
46
- const Source = res.data == SelectType.camera ? CameraSource.Camera : CameraSource.Photos;
47
- //const photo = await Camera.getPhoto({ resultType: CameraResultType.Uri, source: Source, quality: 100 });
48
- console.error("[ TODO ]");
49
- return null;
50
- }
51
- else {
52
- const res = FilePicker.pickFiles({ types: configuration.types, limit: configuration.multiple ? 0 : 1 });
53
- const files = (await res).files;
54
- return files.map(p => p.blob);
55
- }
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, deps: [{ token: i1.ActionSheetController }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, decorators: [{
61
- type: Injectable,
62
- args: [{
63
- providedIn: 'root'
64
- }]
65
- }], ctorParameters: () => [{ type: i1.ActionSheetController }] });
66
- export class Utils {
67
- /** Converte de unix para Date object */
68
- static UNIXToDate(unix_timestamp) {
69
- var date = new Date(unix_timestamp * 1000);
70
- return date;
71
- }
72
- /**
73
- * @param DateStr - Date on ISO format, e.g:
74
- * [ 2010-10-05T14:48:00.000Z ]
75
- * @returns Date on format DD/MM/YYYY
76
- */
77
- static DateISOToDDMMYYYYHHMM(iso, onInvalidDateString = '-') {
78
- if (!iso) {
79
- return onInvalidDateString;
80
- }
81
- return moment(iso).format("DD/MM/YYYY HH:mm");
82
- }
83
- /**
84
- * @param iso - Date on ISO format, e.g:
85
- * [ 2010-10-05T14:48:00.000Z ]
86
- * @returns Date on format DD/MM/YYYY
87
- */
88
- static DateISOToDDMMYYYY(iso, onInvalidDateString = '-') {
89
- if (!iso) {
90
- return onInvalidDateString;
91
- }
92
- return moment(iso).format("DD/MM/YYYY");
93
- }
94
- static GenerateGUID() {
95
- return 'id-xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
96
- var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);
97
- return v.toString(16);
98
- });
99
- }
100
- /**
101
- * @param file: base64 | Blob
102
- */
103
- static async DownloadFile(file, fileName) {
104
- var blob = null;
105
- if (!(file instanceof Blob)) {
106
- blob = await this.Base64ToBlob(file);
107
- }
108
- else {
109
- blob = file;
110
- }
111
- var fileURL = URL.createObjectURL(blob);
112
- const linkElement = document.createElement("a");
113
- linkElement.setAttribute("href", fileURL);
114
- linkElement.setAttribute("target", "_blank");
115
- linkElement.setAttribute("download", fileName);
116
- let me = new MouseEvent("click", {
117
- view: window,
118
- bubbles: true,
119
- cancelable: false,
120
- });
121
- linkElement.dispatchEvent(me);
122
- }
123
- static async Base64ToBlob(base64) {
124
- return (await fetch(base64)).blob();
125
- }
126
- }
127
- export function Search(items, Search, bindLabel) {
128
- return items.filter(p => bindLabel(p)?.toLowerCase().includes(Search.toLowerCase()));
129
- }
130
- export function Timeout(timeout) {
131
- return new Promise(resolve => setTimeout(resolve, timeout));
132
- }
133
- //[ Base 64 ]
134
- function DecodeBase64(b64) {
135
- return JSON.parse(Buffer.from(b64, 'base64').toString('utf-8'));
136
- }
137
- function DecodeBase64AsString(b64) {
138
- return Buffer.from(b64, 'base64').toString('utf-8');
139
- }
140
- function EncodeBase64(obj) {
141
- if (typeof obj == "object") {
142
- return Buffer.from(JSON.stringify(obj)).toString('base64');
143
- }
144
- else if (typeof obj == "string") {
145
- return Buffer.from(obj).toString('base64');
146
- }
147
- }
148
- export const INT_MAX = 2_147_483_646;
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBK0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQU81QixNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUNoRSxDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBcUM7UUFDcEQsSUFBSyxVQUtKO1FBTEQsV0FBSyxVQUFVO1lBQ2IsK0NBQVUsQ0FBQTtZQUNWLCtDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1lBQ1YsMkNBQVUsQ0FBQTtRQUNaLENBQUMsRUFMSSxVQUFVLEtBQVYsVUFBVSxRQUtkO1FBRUQsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsUUFBUSxFQUFRLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEgsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBYSxJQUFJLEVBQUUsT0FBTyxFQUFTLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEgsTUFBTSxPQUFPLEdBQXdCLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQU0sSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVB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QUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELGFBQWE7QUFDYixTQUFTLFlBQVksQ0FBSSxHQUFXO0lBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxHQUFXO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFpQjtJQUNyQyxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7U0FFRCxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uU2hlZXRCdXR0b24sIEFjdGlvblNoZWV0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRmlsZVBpY2tlciwgUGlja0ZpbGVzUmVzdWx0LCBQaWNrZWRGaWxlIH0gZnJvbSAnQGNhcGF3ZXNvbWUvY2FwYWNpdG9yLWZpbGUtcGlja2VyJztcclxuaW1wb3J0IHsgT3ZlcmxheUV2ZW50RGV0YWlsIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW1lcmFTb3VyY2UgfSBmcm9tICdAY2FwYWNpdG9yL2NhbWVyYSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5cclxuaW1wb3J0IHsgSW5wdXRGaWxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb25maWd1cmF0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxzU2VydmljZXtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25TaGVldENvbnRyb2xsZXI6IEFjdGlvblNoZWV0Q29udHJvbGxlcikge1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgdW0gYXJyYXkgZGUgYXJxdWl2b3MgZGUgYWNvcmRvIGNvbSBvIHRpcG8gZGUgY29uZmlndXRhw6fDo28gKi9cclxuICBhc3luYyBTZWxlY3RGaWxlKGNvbmZpZ3VyYXRpb246IElucHV0RmlsZUNvbmZpZ3VyYXRpb24pOiBQcm9taXNlPEZpbGVbXT57XHJcbiAgICBlbnVtIFNlbGVjdFR5cGUge1xyXG4gICAgICBjYW1lcmEgPSAxLFxyXG4gICAgICBnYWxlcnkgPSAyLFxyXG4gICAgICBmaWxlICAgPSAzLFxyXG4gICAgICBkZW55ICAgPSA0LFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJ0bkNhbWVyYTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdDw6JtZXJhJyAgICAgICAgICAgICwgaWNvbjogJ2NhbWVyYScgICAgICAsIGRhdGE6IFNlbGVjdFR5cGUuY2FtZXJhIH1cclxuICAgIGNvbnN0IGJ0bkdhbGVyeTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdHYWxlcmlhJyAgICAgICAgICAgLCBpY29uOiAnaW1hZ2UnICAgICAgICwgZGF0YTogU2VsZWN0VHlwZS5nYWxlcnkgfVxyXG4gICAgY29uc3QgYnRuRmlsZSAgOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ1NlbGVjaW9uYXIgQXJxdWl2bycsIGljb246ICdkb2N1bWVudCcgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmZpbGUgICB9XHJcbiAgICBjb25zdCBidG5EZW55ICA6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnQ2FuY2VsYXInICAgICAgICAgICwgaWNvbjogJ2Nsb3NlLWNpcmNsZScsIGRhdGE6IFNlbGVjdFR5cGUuZGVueSwgcm9sZTogJ2NhbmNlbCcsIH07XHJcblxyXG4gICAgY29uc3QgaXNBcHAgPSAoIWRvY3VtZW50LlVSTC5zdGFydHNXaXRoKCdodHRwJykgfHwgZG9jdW1lbnQuVVJMLnN0YXJ0c1dpdGgoJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcpKTtcclxuXHJcbiAgICB2YXIgbHN0QnRuOiBhbnlbXSA9IFtdO1xyXG4gICAgaWYoaXNBcHApeyBcclxuICAgICAgbHN0QnRuLnB1c2goYnRuQ2FtZXJhKTsgXHJcbiAgICAgIGxzdEJ0bi5wdXNoKGJ0bkdhbGVyeSk7XHJcbiAgICB9XHJcbiAgICBsc3RCdG4ucHVzaChidG5GaWxlKTtcclxuICAgIGxzdEJ0bi5wdXNoKGJ0bkRlbnkpO1xyXG5cclxuICAgIHZhciByZXM6IE92ZXJsYXlFdmVudERldGFpbDxhbnk+O1xyXG4gICAgaWYobHN0QnRuLmxlbmd0aCA+IDIpe1xyXG4gICAgICBjb25zdCBhY3Rpb25TaGVldCA9IGF3YWl0IHRoaXMuYWN0aW9uU2hlZXRDb250cm9sbGVyLmNyZWF0ZSh7IGJ1dHRvbnM6IGxzdEJ0biB9KTtcclxuICAgICAgYWN0aW9uU2hlZXQucHJlc2VudCgpO1xyXG4gICAgICByZXMgPSBhd2FpdCBhY3Rpb25TaGVldC5vbkRpZERpc21pc3MoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXMgPSB7IHJvbGU6ICdjb25maXJtJywgZGF0YTogbHN0QnRuWzBdLmRhdGEgfTtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIGlmKFsnYmFja2Ryb3AnLCAnY2FuY2VsJ10uaW5jbHVkZXMocmVzLnJvbGUpKXsgcmV0dXJuOyB9XHJcblxyXG4gICAgaWYoW1NlbGVjdFR5cGUuY2FtZXJhLCBTZWxlY3RUeXBlLmdhbGVyeV0uaW5jbHVkZXMocmVzLmRhdGEpKXsgXHJcbiAgICAgIGNvbnN0IFNvdXJjZSA9IHJlcy5kYXRhID09IFNlbGVjdFR5cGUuY2FtZXJhID8gQ2FtZXJhU291cmNlLkNhbWVyYSA6IENhbWVyYVNvdXJjZS5QaG90b3NcclxuICAgICAgLy9jb25zdCBwaG90byA9IGF3YWl0IENhbWVyYS5nZXRQaG90byh7IHJlc3VsdFR5cGU6IENhbWVyYVJlc3VsdFR5cGUuVXJpLCBzb3VyY2U6IFNvdXJjZSwgcXVhbGl0eTogMTAwIH0pO1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBUT0RPIF1cIilcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgcmVzOiBQcm9taXNlPFBpY2tGaWxlc1Jlc3VsdD4gPSBGaWxlUGlja2VyLnBpY2tGaWxlcyh7IHR5cGVzOiBjb25maWd1cmF0aW9uLnR5cGVzLCBsaW1pdDogY29uZmlndXJhdGlvbi5tdWx0aXBsZSA/IDAgOiAxIH0pO1xyXG4gICAgICBjb25zdCBmaWxlczogUGlja2VkRmlsZVtdID0gKGF3YWl0IHJlcykuZmlsZXM7XHJcbiAgICAgIHJldHVybiBmaWxlcy5tYXAocCA9PiA8RmlsZT5wLmJsb2IpO1xyXG4gICAgfVxyXG4gIH0gXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlscyB7XHJcbiAgLyoqIENvbnZlcnRlIGRlIHVuaXggcGFyYSBEYXRlIG9iamVjdCAqL1xyXG4gIHN0YXRpYyBVTklYVG9EYXRlKHVuaXhfdGltZXN0YW1wOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHZhciBkYXRlID0gbmV3IERhdGUodW5peF90aW1lc3RhbXAgKiAxMDAwKTtcclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBAcGFyYW0gRGF0ZVN0ciAtIERhdGUgb24gSVNPIGZvcm1hdCwgZS5nOiBcclxuICAgKiBbIDIwMTAtMTAtMDVUMTQ6NDg6MDAuMDAwWiBdXHJcbiAgICogQHJldHVybnMgRGF0ZSBvbiBmb3JtYXQgREQvTU0vWVlZWVxyXG4gICovXHJcbiAgc3RhdGljIERhdGVJU09Ub0RETU1ZWVlZSEhNTShpc286IHN0cmluZywgb25JbnZhbGlkRGF0ZVN0cmluZzogc3RyaW5nID0gJy0nKTogc3RyaW5ne1xyXG4gICAgaWYoIWlzbyl7IHJldHVybiBvbkludmFsaWREYXRlU3RyaW5nOyB9XHJcbiAgICByZXR1cm4gbW9tZW50KGlzbykuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbVwiKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgICogQHBhcmFtIGlzbyAtIERhdGUgb24gSVNPIGZvcm1hdCwgZS5nOiBcclxuICAgICAqIFsgMjAxMC0xMC0wNVQxNDo0ODowMC4wMDBaIF1cclxuICAgICAqIEByZXR1cm5zIERhdGUgb24gZm9ybWF0IEREL01NL1lZWVlcclxuICAgICovXHJcbiAgc3RhdGljIERhdGVJU09Ub0RETU1ZWVlZKGlzbzogc3RyaW5nLCBvbkludmFsaWREYXRlU3RyaW5nOiBzdHJpbmcgPSAnLScpOiBzdHJpbmd7XHJcbiAgICBpZighaXNvKXsgcmV0dXJuIG9uSW52YWxpZERhdGVTdHJpbmc7IH1cclxuICAgIHJldHVybiBtb21lbnQoaXNvKS5mb3JtYXQoXCJERC9NTS9ZWVlZXCIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIEdlbmVyYXRlR1VJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdpZC14eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xyXG4gICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxNiB8IDAsXHJcbiAgICAgIHYgPSBjID09PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpO1xyXG4gICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBcclxuICAgKiBAcGFyYW0gZmlsZTogYmFzZTY0IHwgQmxvYlxyXG4gICAqL1xyXG4gIHN0YXRpYyBhc3luYyBEb3dubG9hZEZpbGUoZmlsZTogc3RyaW5nIHwgQmxvYiwgZmlsZU5hbWU6IHN0cmluZyl7XHJcbiAgICB2YXIgYmxvYjogQmxvYiA9IG51bGw7XHJcbiAgICBpZighKGZpbGUgaW5zdGFuY2VvZiBCbG9iKSl7XHJcbiAgICAgIGJsb2IgPSBhd2FpdCB0aGlzLkJhc2U2NFRvQmxvYihmaWxlKTtcclxuICAgIH1cclxuICAgIGVsc2V7IFxyXG4gICAgICBibG9iID0gZmlsZTsgXHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgY29uc3QgbGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImhyZWZcIiwgZmlsZVVSTCk7XHJcbiAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgXCJfYmxhbmtcIik7XHJcbiAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLCBmaWxlTmFtZSk7XHJcblxyXG4gICAgbGV0IG1lID0gbmV3IE1vdXNlRXZlbnQoXCJjbGlja1wiLCB7XHJcbiAgICAgIHZpZXc6IHdpbmRvdyxcclxuICAgICAgYnViYmxlczogdHJ1ZSxcclxuICAgICAgY2FuY2VsYWJsZTogZmFsc2UsXHJcbiAgICB9KTtcclxuXHJcbiAgICBsaW5rRWxlbWVudC5kaXNwYXRjaEV2ZW50KG1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBCYXNlNjRUb0Jsb2IoYmFzZTY0OiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+e1xyXG4gICAgcmV0dXJuIChhd2FpdCBmZXRjaChiYXNlNjQpKS5ibG9iKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2VhcmNoPFQgPSBhbnk+KGl0ZW1zOiBUW10sIFNlYXJjaDogc3RyaW5nLCBiaW5kTGFiZWw6ICgob2JqOiBUKSA9PiBzdHJpbmcpKTogVFtdIHtcclxuICByZXR1cm4gaXRlbXMuZmlsdGVyKHAgPT4gYmluZExhYmVsKHApPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFNlYXJjaC50b0xvd2VyQ2FzZSgpKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcik6IFByb21pc2U8dm9pZD57XHJcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCB0aW1lb3V0KSk7XHJcbn1cclxuXHJcbi8vWyBCYXNlIDY0IF1cclxuZnVuY3Rpb24gRGVjb2RlQmFzZTY0PFQ+KGI2NDogc3RyaW5nKTogVHtcclxuICByZXR1cm4gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShiNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIERlY29kZUJhc2U2NEFzU3RyaW5nKGI2NDogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBFbmNvZGVCYXNlNjQob2JqOiBhbnkgfCBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgaWYodHlwZW9mIG9iaiA9PSBcIm9iamVjdFwiKXtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShvYmopKS50b1N0cmluZygnYmFzZTY0Jyk7XHJcbiAgfVxyXG4gIGVsc2VcclxuICBpZih0eXBlb2Ygb2JqID09IFwic3RyaW5nXCIpe1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKG9iaikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IElOVF9NQVggPSAyXzE0N180ODNfNjQ2OyJdfQ==
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { EnvironmentService } from '../environment.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../environment.service";
5
- export class ApiUrlProviderService {
6
- constructor(coreService) {
7
- this.coreService = coreService;
8
- //#region [ API URL ]
9
- this._apiUrl = '';
10
- this._production = coreService.environment.production;
11
- this.apiUrl = this.coreService.environment.apiUrl;
12
- ;
13
- console.log(`%c [ @sapphire-ion/framework : ${this.coreService.environment.applicationName} started @ development ] | Conectado em: ${this.apiUrl}`, "background-color: #2fdf75; color: black;");
14
- }
15
- get apiUrl() { return this._apiUrl; }
16
- set apiUrl(value) {
17
- this._apiUrl = value;
18
- }
19
- get production() { return this._production; }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiUrlProviderService, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiUrlProviderService, providedIn: 'root' }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiUrlProviderService, decorators: [{
24
- type: Injectable,
25
- args: [{
26
- providedIn: 'root'
27
- }]
28
- }], ctorParameters: () => [{ type: i1.EnvironmentService }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQU01RCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQ1UsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBU3pDLHFCQUFxQjtRQUNkLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFSMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUV0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUFBLENBQUM7UUFFbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsZUFBZSw0Q0FBNEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLDBDQUEwQyxDQUFDLENBQUE7SUFDbE0sQ0FBQztJQUtELElBQVcsTUFBTSxLQUFZLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBSUQsSUFBVyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzsrR0F0QnpDLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzIH0gZnJvbSAnQGNhcGFjaXRvci9wcmVmZXJlbmNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlVcmxQcm92aWRlclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29yZVNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICApIHsgXHJcbiAgICB0aGlzLl9wcm9kdWN0aW9uID0gY29yZVNlcnZpY2UuZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcclxuXHJcbiAgICB0aGlzLmFwaVVybCA9IHRoaXMuY29yZVNlcnZpY2UuZW52aXJvbm1lbnQuYXBpVXJsOztcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgJWMgWyBAc2FwcGhpcmUtaW9uL2ZyYW1ld29yayA6ICR7dGhpcy5jb3JlU2VydmljZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWV9IHN0YXJ0ZWQgQCBkZXZlbG9wbWVudCBdIHwgQ29uZWN0YWRvIGVtOiAke3RoaXMuYXBpVXJsfWAsIFwiYmFja2dyb3VuZC1jb2xvcjogIzJmZGY3NTsgY29sb3I6IGJsYWNrO1wiKVxyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIFsgQVBJIFVSTCBdXHJcbiAgcHVibGljIF9hcGlVcmw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwdWJsaWMgZ2V0IGFwaVVybCgpOiBzdHJpbmd7IHJldHVybiB0aGlzLl9hcGlVcmw7IH1cclxuICBwdWJsaWMgc2V0IGFwaVVybCh2YWx1ZTogc3RyaW5nKXtcclxuICAgIHRoaXMuX2FwaVVybCA9IHZhbHVlO1xyXG4gIH1cclxuICBcclxuICBwcml2YXRlIF9wcm9kdWN0aW9uOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgZ2V0IHByb2R1Y3Rpb24oKSB7IHJldHVybiB0aGlzLl9wcm9kdWN0aW9uOyB9XHJcbiAgLy8jZW5kcmVnaW9uIFsgQVBJIFVSTCBdXHJcbn1cclxuXHJcbi8vIGV4cG9ydCBjbGFzcyBBcGlVcmx7XHJcbi8vICAgbGFiZWwgICAgIDogc3RyaW5nOyBcclxuLy8gICB2YWx1ZSAgICAgOiBzdHJpbmc7XHJcbi8vICAgcHJvZHVjdGlvbjogYm9vbGVhbjtcclxuLy8gICBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nLCBwb3J0OiBudW1iZXIsIHByb2R1Y3Rpb246IGJvb2xlYW4sIGh0dHBzOiBib29sZWFuID0gZmFsc2Upe1xyXG4vLyAgICAgdGhpcy5wcm9kdWN0aW9uID0gcHJvZHVjdGlvbjtcclxuLy8gICAgIGlmKCFwcm9kdWN0aW9uKXtcclxuLy8gICAgICAgdGhpcy52YWx1ZSA9IGBodHRwJHtodHRwcyA/ICdzJyA6ICcnfTovLyR7dmFsdWV9OiR7cG9ydH0vYDtcclxuLy8gICAgICAgdGhpcy5sYWJlbCA9IHZhbHVlO1xyXG4vLyAgICAgfWVsc2V7XHJcbi8vICAgICAgIHRoaXMudmFsdWUgPSBgaHR0cCR7aHR0cHMgPyAncycgOiAnJ306Ly8ke3ZhbHVlfS9gO1xyXG4vLyAgICAgICB0aGlzLmxhYmVsID0gJ1Byb2R1w6fDo28nXHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9Il19
@@ -1,55 +0,0 @@
1
- import { NavController } from '@ionic/angular';
2
- import { FormBuilder } from '@angular/forms';
3
- import { HttpClient } from '@angular/common/http';
4
- import { Injectable } from '@angular/core';
5
- import { InputBoolConfiguration, InputBoolType } from '../../components/inputs/input-bool/input-bool.configuration';
6
- import { HttpService } from './http.service';
7
- import { ApiUrlProviderService } from './api-url-provider.service';
8
- import { GenericService } from '../generics.service';
9
- import { TableField } from '../../classes/inputs/table-field';
10
- import { InputType } from '../../components/inputs/input-type';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common/http";
13
- import * as i2 from "@angular/forms";
14
- import * as i3 from "../generics.service";
15
- import * as i4 from "@ionic/angular";
16
- import * as i5 from "./api-url-provider.service";
17
- export class HttpServiceAtivo extends HttpService {
18
- constructor(http, fb, genericService, navController, apiUrlProviderService) {
19
- super(http, fb, genericService, navController, apiUrlProviderService);
20
- this.http = http;
21
- this.fb = fb;
22
- this.genericService = genericService;
23
- this.navController = navController;
24
- this.apiUrlProviderService = apiUrlProviderService;
25
- }
26
- /**
27
- * Troca o status de ativo da entidade
28
- */
29
- Ativar(id) {
30
- return this.http.post(this.fullRoute + `/ativar/${id}`, {});
31
- }
32
- /**
33
- * Lista todos os dados ativos
34
- * @param vFilter
35
- */
36
- ListAtivo(vFilter) {
37
- return this.http.post(this.fullRoute + `/listAtivo`, vFilter);
38
- }
39
- /** Table Field padrão de ativo */
40
- get defaultAtivo() {
41
- var control = this.fb.control(true);
42
- const field = new TableField("Ativo", "ativo", control, InputType.Bool);
43
- field.configuration = new InputBoolConfiguration(InputBoolType.toggle);
44
- return field;
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceAtivo, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceAtivo, providedIn: 'root' }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpServiceAtivo, decorators: [{
50
- type: Injectable,
51
- args: [{
52
- providedIn: 'root'
53
- }]
54
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.FormBuilder }, { type: i3.GenericService }, { type: i4.NavController }, { type: i5.ApiUrlProviderService }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5hdGl2by5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvaHR0cC5hdGl2by5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQUsvRCxNQUFNLE9BQWdCLGdCQUEwQixTQUFRLFdBQWM7SUFFcEUsWUFDcUIsSUFBMEIsRUFDMUIsRUFBMkIsRUFDM0IsY0FBOEIsRUFDOUIsYUFBNkIsRUFDN0IscUJBQTRDO1FBRS9ELEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQU5uRCxTQUFJLEdBQUosSUFBSSxDQUFzQjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFHakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFVLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFrQixPQUFxQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsSUFBSSxZQUFZO1FBQ2QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLEtBQUssQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQWpDbUIsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGeEIsTUFBTTs7NEZBRUUsZ0JBQWdCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IElucHV0Qm9vbENvbmZpZ3VyYXRpb24sIElucHV0Qm9vbFR5cGV9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWJvb2wvaW5wdXQtYm9vbC5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UsIFZpZXdSZXRvcm5vIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlVcmxQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL2FwaS11cmwtcHJvdmlkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VuZXJpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IFZpZXdGaWx0cm9zIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL3ZpZXctZmlsdHJvcyc7XHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2lucHV0cy90YWJsZS1maWVsZCc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXR5cGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSHR0cFNlcnZpY2VBdGl2bzxWID0gYW55PiBleHRlbmRzIEh0dHBTZXJ2aWNlPFY+IHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaHR0cCAgICAgICAgICA6IEh0dHBDbGllbnQsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmIgICAgICAgICAgICA6IEZvcm1CdWlsZGVyLCBcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBnZW5lcmljU2VydmljZTogR2VuZXJpY1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmF2Q29udHJvbGxlciA6IE5hdkNvbnRyb2xsZXIsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXBpVXJsUHJvdmlkZXJTZXJ2aWNlOiBBcGlVcmxQcm92aWRlclNlcnZpY2UsXHJcbiAgKSB7IFxyXG4gICAgc3VwZXIoaHR0cCwgZmIsIGdlbmVyaWNTZXJ2aWNlLCBuYXZDb250cm9sbGVyLCBhcGlVcmxQcm92aWRlclNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJvY2EgbyBzdGF0dXMgZGUgYXRpdm8gZGEgZW50aWRhZGVcclxuICAgKi9cclxuICBBdGl2YXIoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGJvb2xlYW4+KHRoaXMuZnVsbFJvdXRlICsgYC9hdGl2YXIvJHtpZH1gLCB7fSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSB0b2RvcyBvcyBkYWRvcyBhdGl2b3NcclxuICAgKiBAcGFyYW0gdkZpbHRlclxyXG4gICAqL1xyXG4gIExpc3RBdGl2bzxUID0gVmlld1JldG9ybm8+KHZGaWx0ZXI/OiBWaWV3RmlsdHJvcyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuZnVsbFJvdXRlICsgYC9saXN0QXRpdm9gLCB2RmlsdGVyKTtcclxuICB9XHJcblxyXG4gIC8qKiAgVGFibGUgRmllbGQgcGFkcsOjbyBkZSBhdGl2byAqL1xyXG4gIGdldCBkZWZhdWx0QXRpdm8oKTogVGFibGVGaWVsZCB7XHJcbiAgICB2YXIgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbCh0cnVlKTtcclxuICAgIGNvbnN0IGZpZWxkID0gbmV3IFRhYmxlRmllbGQoXCJBdGl2b1wiLCBcImF0aXZvXCIsIGNvbnRyb2wsIElucHV0VHlwZS5Cb29sKTtcclxuICAgIGZpZWxkLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRCb29sQ29uZmlndXJhdGlvbihJbnB1dEJvb2xUeXBlLnRvZ2dsZSk7IFxyXG4gICAgcmV0dXJuIGZpZWxkO1xyXG4gIH1cclxufSJdfQ==
@@ -1,169 +0,0 @@
1
- import { BehaviorSubject, firstValueFrom } from 'rxjs';
2
- import { HttpClient, HttpEventType } from '@angular/common/http';
3
- import { FormBuilder, FormGroup } from '@angular/forms';
4
- import { Injectable } from '@angular/core';
5
- import { NavController } from '@ionic/angular';
6
- import { ApiUrlProviderService } from './api-url-provider.service';
7
- import { GenericService } from '../../services/generics.service';
8
- import { TableField } from '../../classes/inputs/table-field';
9
- import { InputType } from '../../components/inputs/input-type';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common/http";
12
- import * as i2 from "@angular/forms";
13
- import * as i3 from "../../services/generics.service";
14
- import * as i4 from "@ionic/angular";
15
- import * as i5 from "./api-url-provider.service";
16
- export class HttpService {
17
- constructor(http, fb, genericService, navController, apiUrlProviderService) {
18
- this.http = http;
19
- this.fb = fb;
20
- this.genericService = genericService;
21
- this.navController = navController;
22
- this.apiUrlProviderService = apiUrlProviderService;
23
- }
24
- get fullRoute() {
25
- return this.apiUrlProviderService.apiUrl + this.route;
26
- }
27
- /**
28
- * Retorna os dados de acordo com os filtros
29
- * @param vFilter Filtra os dados (Pesquisa, Paginação e IComparison)
30
- */
31
- List(vFilter) {
32
- return this.http.post(this.fullRoute + `/list`, vFilter);
33
- }
34
- /** Retorna o dado da tabela associada com a rota com o id indicado
35
- * @param id id do dado
36
- */
37
- Get(id) {
38
- return this.http.get(this.fullRoute + `/get/${id}`);
39
- }
40
- /** Salva as alterações no dado recebido */
41
- Save(obj, view) {
42
- if (view) {
43
- view.submitted = true;
44
- }
45
- var object = obj;
46
- if (obj instanceof FormGroup) {
47
- if (obj.invalid) {
48
- const r = new BehaviorSubject(null);
49
- r.error("[ Invalid Form ]");
50
- r.complete();
51
- this.genericService.PresentToast("Verifique os campos!");
52
- return r;
53
- }
54
- object = obj.value;
55
- }
56
- const formData = this.FilesToForm(object);
57
- formData.append('view', JSON.stringify(object));
58
- //Check in the case it has a file and the view is not passed
59
- if (Object.entries(object).find(p => p[1] instanceof File) && this.hasFileForm && !view) {
60
- console.error("[ FormGroup contains file, but view isnt passed ]");
61
- }
62
- else if (view) {
63
- return this._Save(formData, view);
64
- }
65
- return this.http.post(this.fullRoute + `/save`, formData);
66
- }
67
- /** Exclui a entidade */
68
- Delete(id) {
69
- return this.http.delete(this.fullRoute + `/delete/` + id);
70
- }
71
- /** Retorna todos os dados */
72
- Load(vFiltros) {
73
- return firstValueFrom(this.List(vFiltros));
74
- }
75
- get lstTableFields() { return []; }
76
- get lstTableFieldsView() { return this.lstTableFields; }
77
- get defaultId() {
78
- var control = this.fb.control(0);
79
- const field = new TableField("id", "id", control, InputType.Number);
80
- field.hidden = true;
81
- field.hiddenView = true;
82
- return field;
83
- }
84
- get defaultIdEmpresa() {
85
- var control = this.fb.control(0);
86
- const field = new TableField("Empresa", "idEmpresa", control, InputType.Select);
87
- field.hiddenView = true;
88
- field.hidden = true;
89
- return field;
90
- }
91
- get hasFileForm() { return this.lstTableFieldsView.filter(p => p.type == InputType.File).length > 0; }
92
- _Save(formData, view) {
93
- view.loading = true;
94
- const subject = new BehaviorSubject(null);
95
- this.http.post(this.fullRoute + `/save`, formData, {
96
- reportProgress: true,
97
- observe: 'events',
98
- }).subscribe({
99
- next: (rez) => {
100
- if (rez.type == HttpEventType.UploadProgress) {
101
- const res = rez.loaded / rez.total;
102
- subject.next(rez);
103
- view.progress = res;
104
- }
105
- else if (rez.type == HttpEventType.Response) {
106
- view.loading = false;
107
- view.submitted = false;
108
- view.Refresh();
109
- const id = Number(rez.body);
110
- //[ Redirect to view/id | redirectPath ]
111
- if (view.id == 0) {
112
- this.RedirectRoute(id, view.redirectPath, view.GetCurrentRouting());
113
- }
114
- }
115
- },
116
- error: (err) => {
117
- subject.error(err);
118
- view.loading = false;
119
- view.submitted = false;
120
- subject.complete();
121
- },
122
- complete: () => {
123
- this.genericService.PresentToastSuccess();
124
- subject.complete();
125
- }
126
- });
127
- return subject;
128
- }
129
- RedirectRoute(id, redirectPath, activatedRoute) {
130
- if (!redirectPath) {
131
- return;
132
- }
133
- const path = redirectPath.replace(":id", id.toString());
134
- this.navController.navigateRoot([`../${path}`], { relativeTo: activatedRoute });
135
- }
136
- FilesToForm(object, formData = new FormData(), lstTableFieldsView = null) {
137
- if (!lstTableFieldsView) {
138
- lstTableFieldsView = this.lstTableFieldsView.filter(p => p.type == InputType.File);
139
- }
140
- for (const [key, value] of Object.entries(object)) {
141
- if (lstTableFieldsView.find(p => p.index == key && p.type == InputType.File)) {
142
- if (value && typeof (value) != "string") {
143
- var lstFiles = value;
144
- for (const fileData of lstFiles) {
145
- const file = fileData;
146
- const name = `file-${lstFiles.indexOf(fileData)}-${key}`;
147
- formData.append(name, fileData, fileData.name);
148
- }
149
- object[key] = "";
150
- }
151
- }
152
- }
153
- return formData;
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
156
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, providedIn: 'root' }); }
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpService, decorators: [{
159
- type: Injectable,
160
- args: [{
161
- providedIn: 'root'
162
- }]
163
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.FormBuilder }, { type: i3.GenericService }, { type: i4.NavController }, { type: i5.ApiUrlProviderService }] });
164
- export class ViewRetorno {
165
- constructor() {
166
- this.lstDados = [];
167
- }
168
- }
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQU0vRCxNQUFNLE9BQWdCLFdBQVc7SUFLL0IsWUFDWSxJQUEwQixFQUMxQixFQUEyQixFQUMzQixjQUE4QixFQUM5QixhQUE2QixFQUM3QixxQkFBNEM7UUFKNUMsU0FBSSxHQUFKLElBQUksQ0FBc0I7UUFDMUIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQ3BELENBQUM7SUFFTCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDdkQsQ0FBQztJQUVEOzs7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QyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7d0JBQ3pELFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2pELENBQUM7b0JBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzsrR0E5Sm1CLFdBQVc7bUhBQVgsV0FBVyxjQUZuQixNQUFNOzs0RkFFRSxXQUFXO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFrS0QsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDRSxhQUFRLEdBQVEsRUFBRSxDQUFDO0lBRXJCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgUGlja2VkRmlsZSB9IGZyb20gJ0BjYXBhd2Vzb21lL2NhcGFjaXRvci1maWxlLXBpY2tlcic7XHJcblxyXG5cclxuaW1wb3J0IHsgQXBpVXJsUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dlbmVyaWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaWV3RmlsdHJvcyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVycy92aWV3LWZpbHRyb3MnO1xyXG5pbXBvcnQgeyBUYWJsZUZpZWxkIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9pbnB1dHMvdGFibGUtZmllbGQnO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC10eXBlJztcclxuaW1wb3J0IHsgVmlldyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXZpZXcvdmlldyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU2VydmljZTxWID0gYW55PiB7XHJcblxyXG4gIHB1YmxpYyBhYnN0cmFjdCByb3V0ZTogc3RyaW5nOyBcclxuICBwdWJsaWMgYWJzdHJhY3QgdGl0bGU6IHN0cmluZzsgXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGh0dHAgICAgICAgICAgOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGZiICAgICAgICAgICAgOiBGb3JtQnVpbGRlciwgXHJcbiAgICBwcm90ZWN0ZWQgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG5hdkNvbnRyb2xsZXIgOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJvdGVjdGVkIGFwaVVybFByb3ZpZGVyU2VydmljZTogQXBpVXJsUHJvdmlkZXJTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZnVsbFJvdXRlKCk6IHN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmwgKyB0aGlzLnJvdXRlXHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogUmV0b3JuYSBvcyBkYWRvcyBkZSBhY29yZG8gY29tIG9zIGZpbHRyb3MgXHJcbiAgICogQHBhcmFtIHZGaWx0ZXIgRmlsdHJhIG9zIGRhZG9zIChQZXNxdWlzYSwgUGFnaW5hw6fDo28gZSBJQ29tcGFyaXNvbilcclxuICAqL1xyXG4gIExpc3QodkZpbHRlcj86IFZpZXdGaWx0cm9zKTogT2JzZXJ2YWJsZTxWaWV3UmV0b3JubzxWPj57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Vmlld1JldG9ybm88Vj4+KHRoaXMuZnVsbFJvdXRlICsgYC9saXN0YCwgdkZpbHRlcik7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSBvIGRhZG8gZGEgdGFiZWxhIGFzc29jaWFkYSBjb20gYSByb3RhIGNvbSBvIGlkIGluZGljYWRvIFxyXG4gICAqIEBwYXJhbSBpZCBpZCBkbyBkYWRvXHJcbiAgKi9cclxuICBHZXQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Vj4geyBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFY+KHRoaXMuZnVsbFJvdXRlICtgL2dldC8ke2lkfWApO1xyXG4gIH1cclxuICBcclxuICAvKiogU2FsdmEgYXMgYWx0ZXJhw6fDtWVzIG5vIGRhZG8gcmVjZWJpZG8gKi9cclxuICBTYXZlPFQgPSBudW1iZXI+KG9iajogYW55IHwgRm9ybUdyb3VwIHwgViwgdmlldz86IFZpZXc8SHR0cFNlcnZpY2U+KTogT2JzZXJ2YWJsZTxUPntcclxuICAgIGlmKHZpZXcpeyB2aWV3LnN1Ym1pdHRlZCA9IHRydWU7IH1cclxuXHJcbiAgICB2YXIgb2JqZWN0ID0gb2JqO1xyXG4gICAgXHJcbiAgICBpZihvYmogaW5zdGFuY2VvZiBGb3JtR3JvdXApeyBcclxuICAgICAgaWYob2JqLmludmFsaWQpeyBcclxuICAgICAgICBjb25zdCByID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKVxyXG4gICAgICAgIHIuZXJyb3IoXCJbIEludmFsaWQgRm9ybSBdXCIpO1xyXG4gICAgICAgIHIuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdChcIlZlcmlmaXF1ZSBvcyBjYW1wb3MhXCIpXHJcbiAgICAgICAgcmV0dXJuIHI7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICBvYmplY3QgPSBvYmoudmFsdWU7IFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5GaWxlc1RvRm9ybShvYmplY3QpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCd2aWV3JywgSlNPTi5zdHJpbmdpZnkob2JqZWN0KSk7XHJcblxyXG4gICAgLy9DaGVjayBpbiB0aGUgY2FzZSBpdCBoYXMgYSBmaWxlIGFuZCB0aGUgdmlldyBpcyBub3QgcGFzc2VkXHJcbiAgICBpZihPYmplY3QuZW50cmllcyhvYmplY3QpLmZpbmQocCA9PiBwWzFdIGluc3RhbmNlb2YgRmlsZSkgJiYgdGhpcy5oYXNGaWxlRm9ybSAmJiAhdmlldyl7IFxyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBGb3JtR3JvdXAgY29udGFpbnMgZmlsZSwgYnV0IHZpZXcgaXNudCBwYXNzZWQgXVwiKSBcclxuICAgIH0gZWxzZSBcclxuICAgIGlmKHZpZXcpeyBcclxuICAgICAgcmV0dXJuIHRoaXMuX1NhdmUoZm9ybURhdGEsIHZpZXcpOyBcclxuICAgIH0gXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuZnVsbFJvdXRlICsgYC9zYXZlYCwgZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEV4Y2x1aSBhIGVudGlkYWRlICovXHJcbiAgRGVsZXRlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPHZvaWQ+KHRoaXMuZnVsbFJvdXRlICsgYC9kZWxldGUvYCtpZCk7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB0b2RvcyBvcyBkYWRvcyAqL1xyXG4gIHB1YmxpYyBMb2FkKHZGaWx0cm9zPzogVmlld0ZpbHRyb3MpOiBQcm9taXNlPFZpZXdSZXRvcm5vPFY+PntcclxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLkxpc3QodkZpbHRyb3MpKTtcclxuICB9XHJcblxyXG4gIGdldCBsc3RUYWJsZUZpZWxkcygpICAgIDogVGFibGVGaWVsZFtdIHsgcmV0dXJuIFtdOyB9IFxyXG4gIGdldCBsc3RUYWJsZUZpZWxkc1ZpZXcoKTogVGFibGVGaWVsZFtdIHsgcmV0dXJuIHRoaXMubHN0VGFibGVGaWVsZHM7IH0gXHJcblxyXG4gIGdldCBkZWZhdWx0SWQoKSB7XHJcbiAgICB2YXIgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgwKTtcclxuICAgIGNvbnN0IGZpZWxkID0gbmV3IFRhYmxlRmllbGQoXCJpZFwiLCBcImlkXCIsIGNvbnRyb2wsIElucHV0VHlwZS5OdW1iZXIpOyBcclxuICAgIGZpZWxkLmhpZGRlbiA9IHRydWU7XHJcbiAgICBmaWVsZC5oaWRkZW5WaWV3ID0gdHJ1ZTtcclxuICAgIHJldHVybiBmaWVsZFxyXG4gIH1cclxuXHJcbiAgZ2V0IGRlZmF1bHRJZEVtcHJlc2EoKSB7XHJcbiAgICB2YXIgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbCgwKTtcclxuICAgIGNvbnN0IGZpZWxkID0gbmV3IFRhYmxlRmllbGQoXCJFbXByZXNhXCIsIFwiaWRFbXByZXNhXCIsIGNvbnRyb2wsIElucHV0VHlwZS5TZWxlY3QpOyBcclxuICAgIGZpZWxkLmhpZGRlblZpZXcgPSB0cnVlO1xyXG4gICAgZmllbGQuaGlkZGVuICAgICA9IHRydWU7XHJcbiAgICByZXR1cm4gZmllbGQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBoYXNGaWxlRm9ybSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubHN0VGFibGVGaWVsZHNWaWV3LmZpbHRlcihwID0+IHAudHlwZSA9PSBJbnB1dFR5cGUuRmlsZSkubGVuZ3RoID4gMDsgfSBcclxuXHJcbiAgcHJvdGVjdGVkIF9TYXZlKGZvcm1EYXRhOiBGb3JtRGF0YSwgdmlldzogVmlldzxIdHRwU2VydmljZT4pOiBPYnNlcnZhYmxlPGFueSB8IHZvaWQ+e1xyXG4gICAgdmlldy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5mdWxsUm91dGUgK2Avc2F2ZWAsIGZvcm1EYXRhLCB7XHJcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcclxuICAgIH0pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXopID0+IHsgXHJcbiAgICAgICAgaWYocmV6LnR5cGUgPT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcyl7XHJcbiAgICAgICAgICBjb25zdCByZXMgPSByZXoubG9hZGVkIC8gcmV6LnRvdGFsITsgXHJcbiAgICAgICAgICBzdWJqZWN0Lm5leHQocmV6KTtcclxuICAgICAgICAgIHZpZXcucHJvZ3Jlc3MgPSByZXM7ICBcclxuICAgICAgICB9ZWxzZSBcclxuICAgICAgICBpZihyZXoudHlwZSA9PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKXtcclxuICAgICAgICAgIHZpZXcubG9hZGluZyAgID0gZmFsc2U7IFxyXG4gICAgICAgICAgdmlldy5zdWJtaXR0ZWQgPSBmYWxzZTsgXHJcbiAgICAgICAgICB2aWV3LlJlZnJlc2goKTsgXHJcblxyXG4gICAgICAgICAgY29uc3QgaWQ6IG51bWJlciA9IE51bWJlcihyZXouYm9keSlcclxuICAgICAgICAgIC8vWyBSZWRpcmVjdCB0byB2aWV3L2lkIHwgcmVkaXJlY3RQYXRoIF1cclxuICAgICAgICAgIGlmKHZpZXcuaWQgPT0gMCl7IHRoaXMuUmVkaXJlY3RSb3V0ZShpZCwgdmlldy5yZWRpcmVjdFBhdGgsIHZpZXcuR2V0Q3VycmVudFJvdXRpbmcoKSk7IH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOihlcnIpID0+IHsgXHJcbiAgICAgICAgc3ViamVjdC5lcnJvcihlcnIpOyBcclxuICAgICAgICB2aWV3LmxvYWRpbmcgICA9IGZhbHNlOyBcclxuICAgICAgICB2aWV3LnN1Ym1pdHRlZCA9IGZhbHNlOyBcclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7IFxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZTooKSA9PiB7IFxyXG4gICAgICAgIHRoaXMuZ2VuZXJpY1NlcnZpY2UuUHJlc2VudFRvYXN0U3VjY2VzcygpO1xyXG4gICAgICAgIHN1YmplY3QuY29tcGxldGUoKTsgXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBSZWRpcmVjdFJvdXRlKGlkOiBudW1iZXIsIHJlZGlyZWN0UGF0aDogc3RyaW5nLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpOiB2b2lkIHtcclxuICAgIGlmKCFyZWRpcmVjdFBhdGgpeyByZXR1cm47IH1cclxuICAgIGNvbnN0IHBhdGggPSByZWRpcmVjdFBhdGgucmVwbGFjZShcIjppZFwiLCBpZC50b1N0cmluZygpKTtcclxuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoW2AuLi8ke3BhdGh9YF0sIHsgcmVsYXRpdmVUbzogYWN0aXZhdGVkUm91dGUgfSlcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgRmlsZXNUb0Zvcm0ob2JqZWN0OiBWLCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSwgbHN0VGFibGVGaWVsZHNWaWV3OiBUYWJsZUZpZWxkW10gfCBudWxsID0gbnVsbCk6IEZvcm1EYXRhIHtcclxuICAgIGlmKCFsc3RUYWJsZUZpZWxkc1ZpZXcpeyBsc3RUYWJsZUZpZWxkc1ZpZXcgPSB0aGlzLmxzdFRhYmxlRmllbGRzVmlldy5maWx0ZXIocCA9PiBwLnR5cGUgPT0gSW5wdXRUeXBlLkZpbGUpOyB9XHJcblxyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqZWN0KSkge1xyXG4gICAgICBpZihsc3RUYWJsZUZpZWxkc1ZpZXcuZmluZChwID0+IHAuaW5kZXggPT0ga2V5ICYmIHAudHlwZSA9PSBJbnB1dFR5cGUuRmlsZSkpe1xyXG4gICAgICAgIGlmKHZhbHVlICYmIHR5cGVvZih2YWx1ZSkgIT0gXCJzdHJpbmdcIil7XHJcbiAgICAgICAgICB2YXIgbHN0RmlsZXM6IEZpbGVbXSA9ICh2YWx1ZSBhcyBGaWxlW10pO1xyXG4gICAgICAgICAgZm9yIChjb25zdCBmaWxlRGF0YSBvZiBsc3RGaWxlcykge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gZmlsZURhdGE7IFxyXG4gICAgICAgICAgICBjb25zdCBuYW1lID0gYGZpbGUtJHtsc3RGaWxlcy5pbmRleE9mKGZpbGVEYXRhKX0tJHtrZXl9YDtcclxuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKG5hbWUsIGZpbGVEYXRhLCBmaWxlRGF0YS5uYW1lKTsgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvYmplY3Rba2V5XSA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZm9ybURhdGE7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmlld1JldG9ybm88VCA9IGFueT4ge1xyXG4gIGxzdERhZG9zOiBUW10gPSBbXTtcclxuICB0b3RhbDogbnVtYmVyO1xyXG59Il19
@@ -1,128 +0,0 @@
1
- import { HttpClient, HttpEventType } from '@angular/common/http';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { Injectable } from '@angular/core';
4
- import { ApiUrlProviderService } from './api-url-provider.service';
5
- import { GenericService } from '../generics.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
- import * as i2 from "./api-url-provider.service";
9
- import * as i3 from "../generics.service";
10
- export class StorageService {
11
- constructor(http, apiUrlProviderService, genericService) {
12
- this.http = http;
13
- this.apiUrlProviderService = apiUrlProviderService;
14
- this.genericService = genericService;
15
- this.currentlyDownloading = [];
16
- }
17
- GetProgress(file) {
18
- const Download = this.currentlyDownloading.find(p => p.file == file);
19
- return Download ? Download.progress : 0;
20
- }
21
- StartDownload(file, params, post = false) {
22
- if (!this.currentlyDownloading.find(p => p.file == file)) {
23
- const download = new Download(file);
24
- this.currentlyDownloading.push(download);
25
- this.HandleDownload(download, params, post);
26
- return download;
27
- }
28
- return this.currentlyDownloading.find(p => p.file == file);
29
- }
30
- HandleDownload(download, params, post = false) {
31
- var request = this.GetFile(download.file, params, post);
32
- const requestProgess = new BehaviorSubject(null);
33
- download.requestProgess = requestProgess;
34
- request.subscribe({
35
- next: (event) => {
36
- if (event.type === HttpEventType.DownloadProgress) {
37
- download.progress = event.loaded / event.total;
38
- requestProgess.next(download.progress);
39
- }
40
- else if (event.type === HttpEventType.Response) {
41
- DownloadFile(event, download.file);
42
- this.currentlyDownloading.splice(this.currentlyDownloading.indexOf(download), 1);
43
- requestProgess.complete();
44
- }
45
- if (event.status == 404) {
46
- this.genericService.PresentToast("Arquivo não encontrado / Url inválida");
47
- requestProgess.error(event);
48
- requestProgess.complete();
49
- }
50
- },
51
- error: (err) => {
52
- this.currentlyDownloading.splice(this.currentlyDownloading.indexOf(download), 1);
53
- }
54
- });
55
- return request;
56
- }
57
- static SanitizeFileName(v) {
58
- try {
59
- var filenameEnd = v.split('/').at(-1);
60
- if (filenameEnd.split('.').length <= 2) {
61
- return filenameEnd;
62
- }
63
- else {
64
- var lst = filenameEnd.split('.');
65
- lst[0] = '';
66
- return lst.join('.').replace('.', '');
67
- }
68
- }
69
- catch {
70
- return v;
71
- }
72
- }
73
- ;
74
- GetFile(fileUrl, params, post = false) {
75
- var url;
76
- if (fileUrl[0] == '/') {
77
- url = fileUrl.slice(1, fileUrl.length - 1);
78
- }
79
- else {
80
- url = `${this.apiUrlProviderService.apiUrl}${fileUrl}`;
81
- }
82
- url = encodeURI(url).replace(/#/g, '%23');
83
- if (!post) {
84
- return this.http.get(url, {
85
- reportProgress: true,
86
- observe: 'events',
87
- responseType: 'blob',
88
- params: params
89
- });
90
- }
91
- else {
92
- return this.http.post(url, params, {
93
- reportProgress: true,
94
- observe: 'events',
95
- responseType: 'blob'
96
- });
97
- }
98
- }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, deps: [{ token: i1.HttpClient }, { token: i2.ApiUrlProviderService }, { token: i3.GenericService }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, providedIn: 'root' }); }
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, decorators: [{
103
- type: Injectable,
104
- args: [{
105
- providedIn: 'root'
106
- }]
107
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiUrlProviderService }, { type: i3.GenericService }] });
108
- export class Download {
109
- constructor(file) {
110
- this.file = file;
111
- this.progress = 0.00001;
112
- }
113
- }
114
- function DownloadFile(data, fileUrl) {
115
- const downloadedFile = new Blob([data.body], { type: data.body.type });
116
- var fileURL = URL.createObjectURL(downloadedFile);
117
- const linkElement = document.createElement("a");
118
- linkElement.setAttribute("href", fileURL);
119
- linkElement.setAttribute("target", "_blank");
120
- linkElement.setAttribute("download", StorageService.SanitizeFileName(fileUrl));
121
- let me = new MouseEvent("click", {
122
- view: window,
123
- bubbles: true,
124
- cancelable: false,
125
- });
126
- linkElement.dispatchEvent(me);
127
- }
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBT3JELE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1EsSUFBaUIsRUFDakIscUJBQTRDLEVBQzVDLGNBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFHOUIseUJBQW9CLEdBQWUsRUFBRSxDQUFDO0lBRjFDLENBQUM7SUFJRSxXQUFXLENBQUMsSUFBWTtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQTtRQUNwRSxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxhQUFhLENBQUMsSUFBWSxFQUFFLE1BQVksRUFBRSxPQUFnQixLQUFLO1FBQ3BFLElBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElB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QTdGVSxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFpR0QsTUFBTSxPQUFPLFFBQVE7SUFHbkIsWUFBbUIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFEL0IsYUFBUSxHQUFpQixPQUFPLENBQUM7SUFDQSxDQUFDO0NBQ25DO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBd0IsRUFBRSxPQUFPO0lBQ3JELE1BQU0sY0FBYyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUV2RSxJQUFJLE9BQU8sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0MsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFL0UsSUFBSSxFQUFFLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO1FBQzdCLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUsS0FBSztLQUNwQixDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBcGlVcmxQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL2FwaS11cmwtcHJvdmlkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VuZXJpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMuc2VydmljZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICBwcml2YXRlIGh0dHAgOiBIdHRwQ2xpZW50LFxyXG4gIHByaXZhdGUgYXBpVXJsUHJvdmlkZXJTZXJ2aWNlOiBBcGlVcmxQcm92aWRlclNlcnZpY2UsXHJcbiAgcHJpdmF0ZSBnZW5lcmljU2VydmljZTogR2VuZXJpY1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBwcml2YXRlIGN1cnJlbnRseURvd25sb2FkaW5nOiBEb3dubG9hZFtdID0gW107XHJcblxyXG4gIHB1YmxpYyBHZXRQcm9ncmVzcyhmaWxlOiBzdHJpbmcpOiBudW1iZXJ7XHJcbiAgICBjb25zdCBEb3dubG9hZCA9IHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuZmluZChwID0+IHAuZmlsZSA9PSBmaWxlKVxyXG4gICAgcmV0dXJuIERvd25sb2FkID8gRG93bmxvYWQucHJvZ3Jlc3MgOiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFN0YXJ0RG93bmxvYWQoZmlsZTogc3RyaW5nLCBwYXJhbXM/OiBhbnksIHBvc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IERvd25sb2FkIHtcclxuICAgIGlmKCF0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLmZpbmQocCA9PiBwLmZpbGUgPT0gZmlsZSkpe1xyXG4gICAgICBjb25zdCBkb3dubG9hZCA9IG5ldyBEb3dubG9hZChmaWxlKTtcclxuICAgICAgdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5wdXNoKGRvd25sb2FkKTtcclxuICAgICAgdGhpcy5IYW5kbGVEb3dubG9hZChkb3dubG9hZCwgcGFyYW1zLCBwb3N0KTtcclxuICAgICAgcmV0dXJuIGRvd25sb2FkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuZmluZChwID0+IHAuZmlsZSA9PSBmaWxlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgSGFuZGxlRG93bmxvYWQoZG93bmxvYWQ6IERvd25sb2FkLCBwYXJhbXM/OiBhbnksIHBvc3Q6IGJvb2xlYW4gPSBmYWxzZSl7XHJcbiAgICB2YXIgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5HZXRGaWxlKGRvd25sb2FkLmZpbGUsIHBhcmFtcywgcG9zdCk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdFByb2dlc3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgICBkb3dubG9hZC5yZXF1ZXN0UHJvZ2VzcyA9IHJlcXVlc3RQcm9nZXNzO1xyXG4gICAgcmVxdWVzdC5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzKSB7IFxyXG4gICAgICAgICAgZG93bmxvYWQucHJvZ3Jlc3MgPSBldmVudC5sb2FkZWQgLyBldmVudC50b3RhbDsgXHJcbiAgICAgICAgICByZXF1ZXN0UHJvZ2Vzcy5uZXh0KGRvd25sb2FkLnByb2dyZXNzKTtcclxuICAgICAgICB9IGVsc2UgXHJcbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcclxuICAgICAgICAgIERvd25sb2FkRmlsZShldmVudCwgZG93bmxvYWQuZmlsZSk7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLnNwbGljZSh0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLmluZGV4T2YoZG93bmxvYWQpLCAxKTtcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLmNvbXBsZXRlKCk7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZihldmVudC5zdGF0dXMgPT0gNDA0KXtcclxuICAgICAgICAgIHRoaXMuZ2VuZXJpY1NlcnZpY2UuUHJlc2VudFRvYXN0KFwiQXJxdWl2byBuw6NvIGVuY29udHJhZG8gLyBVcmwgaW52w6FsaWRhXCIpXHJcbiAgICAgICAgICByZXF1ZXN0UHJvZ2Vzcy5lcnJvcihldmVudCk7IFxyXG4gICAgICAgICAgcmVxdWVzdFByb2dlc3MuY29tcGxldGUoKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuc3BsaWNlKHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuaW5kZXhPZihkb3dubG9hZCksIDEpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIFNhbml0aXplRmlsZU5hbWUodik6IHN0cmluZ3tcclxuICAgIHRyeXtcclxuICAgICAgdmFyIGZpbGVuYW1lRW5kOiBzdHJpbmcgID0gdi5zcGxpdCgnLycpLmF0KC0xKTtcclxuICAgICAgXHJcbiAgICAgIGlmKGZpbGVuYW1lRW5kLnNwbGl0KCcuJykubGVuZ3RoIDw9IDIpe1xyXG4gICAgICAgIHJldHVybiBmaWxlbmFtZUVuZDtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdmFyIGxzdCA9IGZpbGVuYW1lRW5kLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgbHN0WzBdID0gJyc7XHJcbiAgICAgICAgcmV0dXJuIGxzdC5qb2luKCcuJykucmVwbGFjZSgnLicsICcnKTtcclxuICAgICAgfVxyXG4gICAgfWNhdGNoe1xyXG4gICAgICByZXR1cm4gdjtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwdWJsaWMgR2V0RmlsZShmaWxlVXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHZhciB1cmw6IHN0cmluZztcclxuICAgIGlmKGZpbGVVcmxbMF0gPT0gJy8nKXsgXHJcbiAgICAgIHVybCA9IGZpbGVVcmwuc2xpY2UoMSwgZmlsZVVybC5sZW5ndGggLSAxKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB1cmwgPSBgJHt0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmx9JHtmaWxlVXJsfWA7XHJcbiAgICB9XHJcbiAgICB1cmwgPSBlbmNvZGVVUkkodXJsKS5yZXBsYWNlKC8jL2csICclMjMnKVxyXG5cclxuICAgIGlmKCFwb3N0KXtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7XHJcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXHJcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXHJcbiAgICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgICAgfSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgcGFyYW1zLCB7XHJcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXHJcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRG93bmxvYWQge1xyXG4gIHJlcXVlc3RQcm9nZXNzOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgcHJvZ3Jlc3MgICAgICA6IG51bWJlciA9IDAuMDAwMDE7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGZpbGU6IHN0cmluZyl7fVxyXG59XHJcblxyXG5mdW5jdGlvbiBEb3dubG9hZEZpbGUoZGF0YTogSHR0cFJlc3BvbnNlPEJsb2I+LCBmaWxlVXJsKSB7XHJcbiAgY29uc3QgZG93bmxvYWRlZEZpbGUgPSBuZXcgQmxvYihbZGF0YS5ib2R5XSwgeyB0eXBlOiBkYXRhLmJvZHkudHlwZSB9KTtcclxuXHJcbiAgdmFyIGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGRvd25sb2FkZWRGaWxlKTtcclxuICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImhyZWZcIiwgZmlsZVVSTCk7XHJcbiAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIFwiX2JsYW5rXCIpO1xyXG4gIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIFN0b3JhZ2VTZXJ2aWNlLlNhbml0aXplRmlsZU5hbWUoZmlsZVVybCkpO1xyXG5cclxuICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICB9KTtcclxuXHJcbiAgbGlua0VsZW1lbnQuZGlzcGF0Y2hFdmVudChtZSk7XHJcbn0iXX0=
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of ion-sapphire-framework
3
- */
4
- export * from './lib/index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgaW9uLXNhcHBoaXJlLWZyYW1ld29ya1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2luZGV4JzsiXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwcGhpcmUtaW9uLWZyYW1ld29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYXBwaGlyZS1pb24tZnJhbWV3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=