@sumaris-net/ngx-components 1.23.44 → 2.0.0-rc3

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 (739) hide show
  1. package/doc/build.md +2 -2
  2. package/doc/changelog.md +8 -0
  3. package/esm2020/public_api.mjs +278 -0
  4. package/esm2020/public_test_api.mjs +46 -0
  5. package/esm2020/src/app/admin/admin-routing.module.mjs +41 -0
  6. package/esm2020/src/app/admin/admin.module.mjs +34 -0
  7. package/esm2020/src/app/admin/services/filter/person.filter.mjs +59 -0
  8. package/esm2020/src/app/admin/services/person.service.mjs +161 -0
  9. package/esm2020/src/app/admin/services/validator/person.validator.mjs +34 -0
  10. package/esm2020/src/app/admin/users/list/users.mjs +233 -0
  11. package/esm2020/src/app/admin/users/list/users.module.mjs +58 -0
  12. package/esm2020/src/app/core/about/modal-about.mjs +71 -0
  13. package/esm2020/src/app/core/account/account.mjs +230 -0
  14. package/esm2020/src/app/core/auth/form/form-auth.mjs +131 -0
  15. package/esm2020/src/app/core/auth/modal/modal-auth.mjs +72 -0
  16. package/esm2020/src/app/core/core.module.mjs +223 -0
  17. package/esm2020/src/app/core/core.testing.module.mjs +86 -0
  18. package/esm2020/src/app/core/form/editor.class.mjs +672 -0
  19. package/esm2020/src/app/core/form/entity-editor-modal.class.mjs +407 -0
  20. package/esm2020/src/app/core/form/entity-editor.class.mjs +646 -0
  21. package/esm2020/src/app/core/form/entity-metadata.component.mjs +25 -0
  22. package/esm2020/src/app/core/form/form-buttons-bar.component.mjs +71 -0
  23. package/esm2020/src/app/core/form/form.class.mjs +337 -0
  24. package/esm2020/src/app/core/form/form.utils.mjs +299 -0
  25. package/esm2020/src/app/core/form/list.form.mjs +222 -0
  26. package/esm2020/src/app/core/form/properties/properties.form.mjs +129 -0
  27. package/esm2020/src/app/core/form/properties/property.validator.mjs +23 -0
  28. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +90 -0
  29. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +39 -0
  30. package/esm2020/src/app/core/graphql/graphql.module.mjs +22 -0
  31. package/esm2020/src/app/core/graphql/graphql.service.mjs +730 -0
  32. package/esm2020/src/app/core/graphql/graphql.utils.mjs +117 -0
  33. package/esm2020/src/app/core/home/home.mjs +257 -0
  34. package/esm2020/src/app/core/icon/icon.component.mjs +41 -0
  35. package/esm2020/src/app/core/icon/icon.module.mjs +29 -0
  36. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +337 -0
  37. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +33 -0
  38. package/esm2020/src/app/core/menu/menu.component.mjs +317 -0
  39. package/{esm2015/src/app/core/menu/menu.model.js → esm2020/src/app/core/menu/menu.model.mjs} +0 -0
  40. package/esm2020/src/app/core/menu/menu.module.mjs +45 -0
  41. package/{esm2015/src/app/core/menu/menu.service.js → esm2020/src/app/core/menu/menu.service.mjs} +9 -7
  42. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +27 -0
  43. package/esm2020/src/app/core/peer/select-peer.modal.mjs +130 -0
  44. package/esm2020/src/app/core/peer/select-peer.module.mjs +35 -0
  45. package/esm2020/src/app/core/register/confirm/confirm.mjs +81 -0
  46. package/esm2020/src/app/core/register/form/form-register.mjs +181 -0
  47. package/esm2020/src/app/core/register/modal/modal-register.mjs +52 -0
  48. package/esm2020/src/app/core/register/register.module.mjs +42 -0
  49. package/esm2020/src/app/core/services/account.service.mjs +1112 -0
  50. package/esm2020/src/app/core/services/auth-guard.service.mjs +71 -0
  51. package/esm2020/src/app/core/services/base-entity-service.class.mjs +432 -0
  52. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +219 -0
  53. package/{esm2015/src/app/core/services/base58.js → esm2020/src/app/core/services/base58.mjs} +0 -0
  54. package/{esm2015/src/app/core/services/config/core.config.js → esm2020/src/app/core/services/config/core.config.mjs} +0 -0
  55. package/esm2020/src/app/core/services/config.service.mjs +354 -0
  56. package/{esm2015/src/app/core/services/crypto.service.js → esm2020/src/app/core/services/crypto.service.mjs} +7 -5
  57. package/{esm2015/src/app/core/services/errors.js → esm2020/src/app/core/services/errors.mjs} +0 -0
  58. package/esm2020/src/app/core/services/local-settings.service.mjs +442 -0
  59. package/esm2020/src/app/core/services/model/account.model.mjs +50 -0
  60. package/esm2020/src/app/core/services/model/config.model.mjs +89 -0
  61. package/esm2020/src/app/core/services/model/department.model.mjs +30 -0
  62. package/esm2020/src/app/core/services/model/entity.decorators.mjs +107 -0
  63. package/esm2020/src/app/core/services/model/entity.model.mjs +242 -0
  64. package/{esm2015/src/app/core/services/model/filter.model.js → esm2020/src/app/core/services/model/filter.model.mjs} +0 -0
  65. package/{esm2015/src/app/core/services/model/history.model.js → esm2020/src/app/core/services/model/history.model.mjs} +0 -0
  66. package/{esm2015/src/app/core/services/model/model.enum.js → esm2020/src/app/core/services/model/model.enum.mjs} +0 -0
  67. package/esm2020/src/app/core/services/model/peer.model.mjs +68 -0
  68. package/esm2020/src/app/core/services/model/person.model.mjs +83 -0
  69. package/esm2020/src/app/core/services/model/referential.model.mjs +145 -0
  70. package/esm2020/src/app/core/services/model/settings.model.mjs +75 -0
  71. package/esm2020/src/app/core/services/network.service.mjs +595 -0
  72. package/esm2020/src/app/core/services/network.utils.mjs +16 -0
  73. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +38 -0
  74. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +23 -0
  75. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +23 -0
  76. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +37 -0
  77. package/esm2020/src/app/core/services/platform.service.mjs +476 -0
  78. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +422 -0
  79. package/esm2020/src/app/core/services/storage/entity-store.class.mjs +449 -0
  80. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +23 -0
  81. package/esm2020/src/app/core/services/testing/referential.validator.mjs +45 -0
  82. package/esm2020/src/app/core/services/validator/account.validator.mjs +52 -0
  83. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +47 -0
  84. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +66 -0
  85. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +29 -0
  86. package/esm2020/src/app/core/settings/settings.page.mjs +290 -0
  87. package/esm2020/src/app/core/table/actions-column.component.mjs +96 -0
  88. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +394 -0
  89. package/esm2020/src/app/core/table/memory-table.class.mjs +53 -0
  90. package/esm2020/src/app/core/table/table-select-columns.component.mjs +43 -0
  91. package/esm2020/src/app/core/table/table.class.mjs +1666 -0
  92. package/esm2020/src/app/core/table/table.utils.mjs +13 -0
  93. package/esm2020/src/app/core/table/testing/table.testing.mjs +264 -0
  94. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +38 -0
  95. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.mjs +37 -0
  96. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.module.mjs +45 -0
  97. package/esm2020/src/app/core/text-popover/text-form.component.mjs +84 -0
  98. package/esm2020/src/app/core/text-popover/text-popover.component.mjs +92 -0
  99. package/esm2020/src/app/shared/alerts.mjs +238 -0
  100. package/esm2020/src/app/shared/audio/audio.mjs +201 -0
  101. package/esm2020/src/app/shared/audio/audio.testing.mjs +31 -0
  102. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +45 -0
  103. package/esm2020/src/app/shared/capacitor/keyboard.mjs +40 -0
  104. package/esm2020/src/app/shared/capacitor/plugins.mjs +9 -0
  105. package/{esm2015/src/app/shared/constants.js → esm2020/src/app/shared/constants.mjs} +2 -1
  106. package/esm2020/src/app/shared/dates.mjs +134 -0
  107. package/esm2020/src/app/shared/debug/debug.component.mjs +39 -0
  108. package/esm2020/src/app/shared/debug/debug.module.mjs +44 -0
  109. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +92 -0
  110. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +30 -0
  111. package/esm2020/src/app/shared/directives/directives.module.mjs +43 -0
  112. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +53 -0
  113. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +31 -0
  114. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +59 -0
  115. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +40 -0
  116. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +17 -0
  117. package/esm2020/src/app/shared/events.mjs +64 -0
  118. package/esm2020/src/app/shared/file/csv.utils.mjs +74 -0
  119. package/esm2020/src/app/shared/file/file.service.mjs +117 -0
  120. package/esm2020/src/app/shared/file/file.utils.mjs +113 -0
  121. package/esm2020/src/app/shared/file/images.utils.mjs +161 -0
  122. package/{esm2015/src/app/shared/file/uri.utils.js → esm2020/src/app/shared/file/uri.utils.mjs} +0 -0
  123. package/{esm2015/src/app/shared/focusable.js → esm2020/src/app/shared/focusable.mjs} +0 -0
  124. package/esm2020/src/app/shared/form/field.component.mjs +244 -0
  125. package/{esm2015/src/app/shared/form/field.model.js → esm2020/src/app/shared/form/field.model.mjs} +1 -1
  126. package/esm2020/src/app/shared/form/loading-spinner.mjs +36 -0
  127. package/esm2020/src/app/shared/forms.mjs +374 -0
  128. package/esm2020/src/app/shared/functions.mjs +430 -0
  129. package/{esm2015/src/app/shared/gesture/gesture-config.js → esm2020/src/app/shared/gesture/gesture-config.mjs} +7 -5
  130. package/esm2020/src/app/shared/gesture/hammer.utils.mjs +2 -0
  131. package/{esm2015/src/app/shared/graph/colors.utils.js → esm2020/src/app/shared/graph/colors.utils.mjs} +0 -0
  132. package/esm2020/src/app/shared/graph/graph-colors.mjs +254 -0
  133. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +57 -0
  134. package/esm2020/src/app/shared/help/help.modal.mjs +53 -0
  135. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
  136. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +84 -0
  137. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +42 -0
  138. package/esm2020/src/app/shared/http/http.utils.mjs +52 -0
  139. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +279 -0
  140. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +46 -0
  141. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +27 -0
  142. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +89 -0
  143. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +33 -0
  144. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +56 -0
  145. package/esm2020/src/app/shared/image/image.model.mjs +2 -0
  146. package/esm2020/src/app/shared/image/image.module.mjs +29 -0
  147. package/esm2020/src/app/shared/image/image.service.mjs +99 -0
  148. package/{esm2015/src/app/shared/inputs.js → esm2020/src/app/shared/inputs.mjs} +4 -4
  149. package/{esm2015/src/app/shared/interceptors/progess.interceptor.js → esm2020/src/app/shared/interceptors/progess.interceptor.mjs} +0 -0
  150. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +47 -0
  151. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +836 -0
  152. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +78 -0
  153. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +19 -0
  154. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +205 -0
  155. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +157 -0
  156. package/esm2020/src/app/shared/material/badge/badge.module.mjs +32 -0
  157. package/esm2020/src/app/shared/material/badge/badge.test.mjs +26 -0
  158. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +68 -0
  159. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +253 -0
  160. package/esm2020/src/app/shared/material/chips/chips.module.mjs +76 -0
  161. package/esm2020/src/app/shared/material/chips/material.chips.mjs +691 -0
  162. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +136 -0
  163. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +91 -0
  164. package/esm2020/src/app/shared/material/datetime/material.date.mjs +388 -0
  165. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +327 -0
  166. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +434 -0
  167. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +110 -0
  168. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +111 -0
  169. package/esm2020/src/app/shared/material/duration/duration.module.mjs +67 -0
  170. package/{esm2015/src/app/shared/material/duration/duration.utils.js → esm2020/src/app/shared/material/duration/duration.utils.mjs} +0 -0
  171. package/esm2020/src/app/shared/material/duration/material.duration.mjs +257 -0
  172. package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
  173. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +381 -0
  174. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +67 -0
  175. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +74 -0
  176. package/{esm2015/src/app/shared/material/material.animations.js → esm2020/src/app/shared/material/material.animations.mjs} +0 -0
  177. package/esm2020/src/app/shared/material/material.module.mjs +224 -0
  178. package/esm2020/src/app/shared/material/material.testing.module.mjs +145 -0
  179. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +98 -0
  180. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +80 -0
  181. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +190 -0
  182. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +17 -0
  183. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +162 -0
  184. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +37 -0
  185. package/{esm2015/src/app/shared/material/numpad/numpad.model.js → esm2020/src/app/shared/material/numpad/numpad.model.mjs} +1 -1
  186. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +60 -0
  187. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +46 -0
  188. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +42 -0
  189. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +22 -0
  190. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +334 -0
  191. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +51 -0
  192. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +65 -0
  193. package/esm2020/src/app/shared/observables.mjs +96 -0
  194. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +135 -0
  195. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +23 -0
  196. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +49 -0
  197. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +42 -0
  198. package/{esm2015/src/app/shared/pipes/date-from-now.pipe.js → esm2020/src/app/shared/pipes/date-from-now.pipe.mjs} +13 -12
  199. package/{esm2015/src/app/shared/pipes/duration.pipe.js → esm2020/src/app/shared/pipes/duration.pipe.mjs} +13 -12
  200. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +62 -0
  201. package/esm2020/src/app/shared/pipes/form.pipes.mjs +187 -0
  202. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +48 -0
  203. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +46 -0
  204. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +63 -0
  205. package/esm2020/src/app/shared/pipes/math.pipes.mjs +59 -0
  206. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +21 -0
  207. package/{esm2015/src/app/shared/pipes/number-format.pipe.js → esm2020/src/app/shared/pipes/number-format.pipe.mjs} +14 -9
  208. package/esm2020/src/app/shared/pipes/pipes.module.mjs +210 -0
  209. package/esm2020/src/app/shared/pipes/property.pipes.mjs +96 -0
  210. package/esm2020/src/app/shared/pipes/string.pipes.mjs +69 -0
  211. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +43 -0
  212. package/esm2020/src/app/shared/platforms.mjs +49 -0
  213. package/esm2020/src/app/shared/services/entity-service.class.mjs +7 -0
  214. package/esm2020/src/app/shared/services/job.utils.mjs +92 -0
  215. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +331 -0
  216. package/esm2020/src/app/shared/services/progress-bar.service.mjs +32 -0
  217. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +119 -0
  218. package/esm2020/src/app/shared/services/startable-service.class.mjs +105 -0
  219. package/esm2020/src/app/shared/services/storage/storage.service.mjs +132 -0
  220. package/esm2020/src/app/shared/services/storage/storage.utils.mjs +13 -0
  221. package/esm2020/src/app/shared/services/translate-context.service.mjs +81 -0
  222. package/esm2020/src/app/shared/services/validator-service.class.mjs +2 -0
  223. package/esm2020/src/app/shared/services.mjs +62 -0
  224. package/esm2020/src/app/shared/shared-routing.module.mjs +63 -0
  225. package/esm2020/src/app/shared/shared.module.mjs +208 -0
  226. package/esm2020/src/app/shared/shared.testing.module.mjs +76 -0
  227. package/esm2020/src/app/shared/testing/tests.page.mjs +33 -0
  228. package/esm2020/src/app/shared/toast/toast.testing.mjs +51 -0
  229. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +45 -0
  230. package/esm2020/src/app/shared/toast/toasts.mjs +144 -0
  231. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +58 -0
  232. package/esm2020/src/app/shared/toolbar/toolbar.mjs +226 -0
  233. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +53 -0
  234. package/{esm2015/src/app/shared/types.js → esm2020/src/app/shared/types.mjs} +0 -0
  235. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +57 -0
  236. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +45 -0
  237. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +97 -0
  238. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +204 -0
  239. package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +20 -0
  240. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +104 -0
  241. package/esm2020/src/app/shared/validator/validators.mjs +544 -0
  242. package/{esm2015/src/app/shared/version/versions.js → esm2020/src/app/shared/version/versions.mjs} +0 -0
  243. package/esm2020/src/app/social/job/job.model.mjs +26 -0
  244. package/esm2020/src/app/social/job/job.module.mjs +35 -0
  245. package/esm2020/src/app/social/job/job.service.mjs +71 -0
  246. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +210 -0
  247. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +22 -0
  248. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +53 -0
  249. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +55 -0
  250. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +35 -0
  251. package/esm2020/src/app/social/message/message.form.mjs +81 -0
  252. package/esm2020/src/app/social/message/message.modal.mjs +93 -0
  253. package/esm2020/src/app/social/message/message.model.mjs +65 -0
  254. package/esm2020/src/app/social/message/message.module.mjs +35 -0
  255. package/esm2020/src/app/social/message/message.service.mjs +84 -0
  256. package/{esm2015/src/app/social/social.errors.js → esm2020/src/app/social/social.errors.mjs} +0 -0
  257. package/esm2020/src/app/social/social.module.mjs +47 -0
  258. package/esm2020/src/app/social/social.testing.module.mjs +51 -0
  259. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +108 -0
  260. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +212 -0
  261. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +228 -0
  262. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +107 -0
  263. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +35 -0
  264. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +111 -0
  265. package/esm2020/src/app/social/user-event/user-event.model.mjs +2 -0
  266. package/esm2020/src/app/social/user-event/user-event.module.mjs +39 -0
  267. package/esm2020/src/app/social/user-event/user-event.service.mjs +486 -0
  268. package/{esm2015/src/app/vendor.js → esm2020/src/app/vendor.mjs} +3 -3
  269. package/esm2020/src/environments/environment.class.mjs +5 -0
  270. package/esm2020/src/environments/environment.mjs +86 -0
  271. package/esm2020/sumaris-net.ngx-components.mjs +5 -0
  272. package/fesm2015/sumaris-net.ngx-components.mjs +33173 -0
  273. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -0
  274. package/fesm2020/sumaris-net.ngx-components.mjs +32440 -0
  275. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -0
  276. package/index.d.ts +5 -0
  277. package/package.json +27 -32
  278. package/public_api.d.ts +29 -31
  279. package/public_test_api.d.ts +37 -0
  280. package/resources/README.md +8 -0
  281. package/src/app/admin/admin-routing.module.d.ts +7 -0
  282. package/src/app/admin/admin.module.d.ts +7 -0
  283. package/src/app/admin/services/person.service.d.ts +3 -0
  284. package/src/app/admin/services/validator/person.validator.d.ts +8 -5
  285. package/src/app/admin/users/list/users.d.ts +11 -7
  286. package/src/app/admin/users/list/users.module.d.ts +14 -0
  287. package/src/app/core/about/modal-about.d.ts +3 -0
  288. package/src/app/core/account/account.d.ts +11 -8
  289. package/src/app/core/auth/form/form-auth.d.ts +6 -3
  290. package/src/app/core/auth/modal/modal-auth.d.ts +3 -0
  291. package/src/app/core/core.module.d.ts +36 -0
  292. package/src/app/core/core.testing.module.d.ts +10 -0
  293. package/src/app/core/form/editor.class.d.ts +6 -1
  294. package/src/app/core/form/entity-editor-modal.class.d.ts +7 -4
  295. package/src/app/core/form/entity-editor.class.d.ts +4 -1
  296. package/src/app/core/form/entity-metadata.component.d.ts +3 -0
  297. package/src/app/core/form/form-buttons-bar.component.d.ts +3 -0
  298. package/src/app/core/form/form.class.d.ts +12 -9
  299. package/src/app/core/form/form.utils.d.ts +5 -5
  300. package/src/app/core/form/list.form.d.ts +10 -7
  301. package/src/app/core/form/properties/properties.form.d.ts +43 -0
  302. package/src/app/core/form/properties/property.validator.d.ts +13 -0
  303. package/src/app/core/form/properties/testing/properties-form.test.d.ts +19 -0
  304. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
  305. package/src/app/core/graphql/graphql.module.d.ts +5 -0
  306. package/src/app/core/graphql/graphql.service.d.ts +9 -2
  307. package/src/app/core/graphql/graphql.utils.d.ts +8 -0
  308. package/src/app/core/home/home.d.ts +4 -1
  309. package/src/app/core/icon/icon.component.d.ts +5 -2
  310. package/src/app/core/icon/icon.module.d.ts +7 -0
  311. package/src/app/core/install/install-upgrade-card.component.d.ts +5 -2
  312. package/src/app/core/install/install-upgrade-card.module.d.ts +10 -0
  313. package/src/app/core/menu/menu.component.d.ts +7 -5
  314. package/src/app/core/menu/menu.module.d.ts +8 -0
  315. package/src/app/core/menu/menu.service.d.ts +3 -0
  316. package/src/app/core/offline/update-offline-mode-card.component.d.ts +3 -0
  317. package/src/app/core/peer/select-peer.modal.d.ts +7 -4
  318. package/src/app/core/peer/select-peer.module.d.ts +9 -0
  319. package/src/app/core/register/confirm/confirm.d.ts +3 -0
  320. package/src/app/core/register/form/form-register.d.ts +10 -7
  321. package/src/app/core/register/modal/modal-register.d.ts +3 -0
  322. package/src/app/core/register/register.module.d.ts +12 -0
  323. package/src/app/core/services/account.service.d.ts +5 -2
  324. package/src/app/core/services/auth-guard.service.d.ts +3 -0
  325. package/src/app/core/services/base-entity-service.class.d.ts +3 -0
  326. package/src/app/core/services/base-graphql-service.class.d.ts +3 -0
  327. package/src/app/core/services/config.service.d.ts +4 -1
  328. package/src/app/core/services/crypto.service.d.ts +3 -0
  329. package/src/app/core/services/local-settings.service.d.ts +5 -1
  330. package/src/app/core/services/model/referential.model.d.ts +1 -1
  331. package/src/app/core/services/network.service.d.ts +6 -5
  332. package/src/app/core/services/pipes/account.pipes.d.ts +7 -0
  333. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +4 -0
  334. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +4 -0
  335. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +7 -0
  336. package/src/app/core/services/platform.service.d.ts +22 -21
  337. package/src/app/core/services/storage/entities-storage.service.d.ts +5 -2
  338. package/src/app/core/services/storage/entity-store.class.d.ts +3 -3
  339. package/src/app/core/services/testing/referential.validator.d.ts +8 -5
  340. package/src/app/core/services/validator/account.validator.d.ts +6 -3
  341. package/src/app/core/services/validator/base.validator.class.d.ts +8 -5
  342. package/src/app/core/services/validator/local-settings.validator.d.ts +8 -5
  343. package/src/app/core/services/validator/user-settings.validator.d.ts +6 -3
  344. package/src/app/core/settings/settings.page.d.ts +8 -5
  345. package/src/app/core/table/actions-column.component.d.ts +3 -0
  346. package/src/app/core/table/entities-table-datasource.class.d.ts +16 -15
  347. package/src/app/core/table/memory-table.class.d.ts +3 -0
  348. package/src/app/core/table/table-select-columns.component.d.ts +4 -5
  349. package/src/app/core/table/table.class.d.ts +52 -34
  350. package/src/app/core/table/table.utils.d.ts +2 -1
  351. package/src/app/core/table/testing/table.testing.d.ts +13 -15
  352. package/src/app/core/table/testing/table.testing.module.d.ts +9 -0
  353. package/src/app/core/text-popover/testing/text-popover.testing.d.ts +4 -1
  354. package/src/app/core/text-popover/testing/text-popover.testing.module.d.ts +9 -0
  355. package/src/app/core/text-popover/text-form.component.d.ts +7 -4
  356. package/src/app/core/text-popover/text-popover.component.d.ts +3 -0
  357. package/src/app/shared/alerts.d.ts +4 -4
  358. package/src/app/shared/audio/audio.d.ts +20 -11
  359. package/src/app/shared/audio/audio.testing.d.ts +13 -0
  360. package/src/app/shared/audio/audio.testing.module.d.ts +11 -0
  361. package/src/app/shared/capacitor/keyboard.d.ts +16 -0
  362. package/src/app/shared/capacitor/plugins.d.ts +7 -0
  363. package/src/app/shared/constants.d.ts +1 -0
  364. package/src/app/shared/debug/debug.component.d.ts +13 -0
  365. package/src/app/shared/debug/debug.module.d.ts +12 -0
  366. package/src/app/shared/directives/autofocus.directive.d.ts +9 -7
  367. package/src/app/shared/directives/autotitle.directive.d.ts +3 -0
  368. package/src/app/shared/directives/directives.module.d.ts +10 -0
  369. package/src/app/shared/directives/drag-and-drop.directive.d.ts +3 -0
  370. package/src/app/shared/directives/ng-var.directive.d.ts +3 -0
  371. package/src/app/shared/directives/resizable/resizable.component.d.ts +3 -0
  372. package/src/app/shared/directives/resizable/resizable.directive.d.ts +3 -0
  373. package/src/app/shared/directives/resizable/resizable.module.d.ts +6 -0
  374. package/src/app/shared/file/file.service.d.ts +3 -0
  375. package/src/app/shared/file/file.utils.d.ts +1 -1
  376. package/src/app/shared/form/field.component.d.ts +12 -3
  377. package/src/app/shared/form/field.model.d.ts +2 -2
  378. package/src/app/shared/form/loading-spinner.d.ts +3 -0
  379. package/src/app/shared/forms.d.ts +13 -13
  380. package/src/app/shared/gesture/gesture-config.d.ts +3 -0
  381. package/src/app/shared/gesture/hammer.utils.d.ts +11 -11
  382. package/src/app/shared/graph/graph-colors.d.ts +8 -7
  383. package/src/app/shared/guard/component-dirty.guard.d.ts +3 -0
  384. package/src/app/shared/help/help.modal.d.ts +4 -1
  385. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +3 -0
  386. package/src/app/shared/hotkeys/hotkeys.service.d.ts +4 -1
  387. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +9 -0
  388. package/src/app/shared/image/gallery/image-gallery.component.d.ts +77 -0
  389. package/src/app/shared/image/gallery/image-gallery.module.d.ts +12 -0
  390. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +12 -0
  391. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +33 -0
  392. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +15 -0
  393. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +12 -0
  394. package/src/app/shared/image/image.model.d.ts +5 -0
  395. package/src/app/shared/image/image.module.d.ts +8 -0
  396. package/src/app/shared/image/image.service.d.ts +32 -0
  397. package/src/app/shared/inputs.d.ts +3 -3
  398. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +36 -0
  399. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +11 -40
  400. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +19 -0
  401. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +4 -0
  402. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +12 -9
  403. package/src/app/shared/material/badge/badge.directive.d.ts +28 -0
  404. package/src/app/shared/material/badge/badge.module.d.ts +10 -0
  405. package/src/app/shared/material/badge/badge.test.d.ts +12 -0
  406. package/src/app/shared/material/boolean/boolean.module.d.ts +17 -0
  407. package/src/app/shared/material/boolean/material.boolean.d.ts +7 -4
  408. package/src/app/shared/material/chips/chips.module.d.ts +19 -0
  409. package/src/app/shared/material/chips/material.chips.d.ts +11 -8
  410. package/src/app/shared/material/chips/testing/chips.test.d.ts +8 -5
  411. package/src/app/shared/material/datetime/datetime.module.d.ts +22 -0
  412. package/src/app/shared/material/datetime/material.date.d.ts +19 -18
  413. package/src/app/shared/material/datetime/material.dateshort.d.ts +10 -9
  414. package/src/app/shared/material/datetime/material.datetime.d.ts +21 -20
  415. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +11 -9
  416. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +11 -9
  417. package/src/app/shared/material/duration/duration.module.d.ts +16 -0
  418. package/src/app/shared/material/duration/material.duration.d.ts +8 -5
  419. package/src/app/shared/material/latlong/material.latlong.d.ts +8 -5
  420. package/src/app/shared/material/latlong/material.latlong.module.d.ts +17 -0
  421. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +10 -7
  422. package/src/app/shared/material/material.module.d.ts +43 -0
  423. package/src/app/shared/material/material.testing.module.d.ts +19 -0
  424. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +3 -0
  425. package/src/app/shared/material/numpad/numpad.component.d.ts +4 -1
  426. package/src/app/shared/material/numpad/numpad.container.d.ts +5 -2
  427. package/src/app/shared/material/numpad/numpad.content.d.ts +3 -0
  428. package/src/app/shared/material/numpad/numpad.directive.d.ts +4 -1
  429. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -0
  430. package/src/app/shared/material/numpad/numpad.model.d.ts +1 -1
  431. package/src/app/shared/material/numpad/numpad.module.d.ts +14 -0
  432. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +7 -4
  433. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +3 -0
  434. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +3 -0
  435. package/src/app/shared/material/swipe/material.swipe.d.ts +6 -3
  436. package/src/app/shared/material/swipe/swipe.module.d.ts +13 -0
  437. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +7 -4
  438. package/src/app/shared/pipes/arrays.pipe.d.ts +17 -0
  439. package/src/app/shared/pipes/colors.pipe.d.ts +9 -0
  440. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +4 -0
  441. package/src/app/shared/pipes/date-format.pipe.d.ts +4 -0
  442. package/src/app/shared/pipes/date-from-now.pipe.d.ts +4 -0
  443. package/src/app/shared/pipes/duration.pipe.d.ts +4 -0
  444. package/src/app/shared/pipes/file-size.pipe.d.ts +3 -0
  445. package/src/app/shared/pipes/form.pipes.d.ts +18 -5
  446. package/src/app/shared/pipes/highlight.pipe.d.ts +4 -0
  447. package/src/app/shared/pipes/latlong-format.pipe.d.ts +7 -0
  448. package/src/app/shared/pipes/maps.pipe.d.ts +10 -0
  449. package/src/app/shared/pipes/math.pipes.d.ts +10 -0
  450. package/src/app/shared/pipes/ng-init.pipe.d.ts +3 -0
  451. package/src/app/shared/pipes/number-format.pipe.d.ts +4 -0
  452. package/src/app/shared/pipes/pipes.module.d.ts +24 -0
  453. package/src/app/shared/pipes/property.pipes.d.ts +6 -0
  454. package/src/app/shared/pipes/string.pipes.d.ts +11 -0
  455. package/src/app/shared/pipes/translate-context.pipe.d.ts +7 -0
  456. package/src/app/shared/platforms.d.ts +1 -0
  457. package/src/app/shared/services/memory-entity-service.class.d.ts +3 -0
  458. package/src/app/shared/services/progress-bar.service.d.ts +4 -1
  459. package/src/app/shared/services/startable-observable-service.class.d.ts +1 -1
  460. package/src/app/shared/services/startable-service.class.d.ts +1 -1
  461. package/src/app/shared/services/storage/storage.service.d.ts +23 -0
  462. package/src/app/shared/services/storage/storage.utils.d.ts +19 -0
  463. package/src/app/shared/services/translate-context.service.d.ts +3 -0
  464. package/src/app/shared/services/validator-service.class.d.ts +2 -2
  465. package/src/app/shared/shared-routing.module.d.ts +7 -0
  466. package/src/app/shared/shared.module.d.ts +23 -0
  467. package/src/app/shared/shared.testing.module.d.ts +12 -0
  468. package/src/app/shared/testing/tests.page.d.ts +3 -0
  469. package/src/app/shared/toast/toast.testing.d.ts +6 -5
  470. package/src/app/shared/toast/toast.testing.module.d.ts +9 -0
  471. package/src/app/shared/toast/toasts.d.ts +5 -2
  472. package/src/app/shared/toolbar/modal-toolbar.d.ts +5 -2
  473. package/src/app/shared/toolbar/toolbar.d.ts +9 -5
  474. package/src/app/shared/toolbar/toolbar.module.d.ts +15 -0
  475. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +4 -1
  476. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +9 -0
  477. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +3 -0
  478. package/src/app/shared/upload-file/upload-file.component.d.ts +3 -0
  479. package/src/app/shared/validator/form-error-adapter.class.d.ts +3 -0
  480. package/src/app/shared/validator/validators.d.ts +9 -9
  481. package/src/app/social/job/job.module.d.ts +9 -0
  482. package/src/app/social/job/job.service.d.ts +3 -0
  483. package/src/app/social/job/progression/job-progression.icon.d.ts +4 -1
  484. package/src/app/social/job/progression/job-progression.list.d.ts +3 -0
  485. package/src/app/social/job/testing/job-progression.testing.d.ts +3 -0
  486. package/src/app/social/job/testing/job-progression.testing.service.d.ts +3 -0
  487. package/src/app/social/job/testing/job.testing.module.d.ts +9 -0
  488. package/src/app/social/message/message.form.d.ts +5 -2
  489. package/src/app/social/message/message.modal.d.ts +5 -2
  490. package/src/app/social/message/message.module.d.ts +9 -0
  491. package/src/app/social/message/message.service.d.ts +3 -0
  492. package/src/app/social/social.module.d.ts +10 -0
  493. package/src/app/social/social.testing.module.d.ts +9 -0
  494. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -1
  495. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +7 -4
  496. package/src/app/social/user-event/testing/user-event.testing.d.ts +3 -0
  497. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +1 -0
  498. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +9 -0
  499. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +5 -1
  500. package/src/app/social/user-event/user-event.model.d.ts +3 -2
  501. package/src/app/social/user-event/user-event.module.d.ts +10 -0
  502. package/src/app/social/user-event/user-event.service.d.ts +16 -11
  503. package/src/assets/audio/beep-notification.mp3 +0 -0
  504. package/src/assets/i18n/fr.json +9 -2
  505. package/src/environments/environment.class.d.ts +2 -0
  506. package/src/environments/environment.d.ts +1 -1
  507. package/src/theme/_icons.scss +1 -1
  508. package/src/theme/_material.globals.scss +29 -31
  509. package/src/theme/_material.scss +32 -6
  510. package/src/theme/_mixins.scss +4 -4
  511. package/src/theme/_ngx-components.scss +27 -0
  512. package/src/theme/_print.scss +24 -0
  513. package/bundles/sumaris-net.ngx-components.umd.js +0 -35755
  514. package/bundles/sumaris-net.ngx-components.umd.js.map +0 -1
  515. package/bundles/sumaris-net.ngx-components.umd.min.js +0 -25
  516. package/bundles/sumaris-net.ngx-components.umd.min.js.map +0 -1
  517. package/esm2015/public_api.js +0 -245
  518. package/esm2015/src/app/admin/admin-routing.module.js +0 -34
  519. package/esm2015/src/app/admin/admin.module.js +0 -34
  520. package/esm2015/src/app/admin/services/filter/person.filter.js +0 -59
  521. package/esm2015/src/app/admin/services/person.service.js +0 -175
  522. package/esm2015/src/app/admin/services/validator/person.validator.js +0 -37
  523. package/esm2015/src/app/admin/users/list/users.js +0 -216
  524. package/esm2015/src/app/core/about/modal-about.js +0 -63
  525. package/esm2015/src/app/core/account/account.js +0 -240
  526. package/esm2015/src/app/core/auth/form/form-auth.js +0 -134
  527. package/esm2015/src/app/core/auth/modal/modal-auth.js +0 -78
  528. package/esm2015/src/app/core/core.module.js +0 -127
  529. package/esm2015/src/app/core/core.testing.module.js +0 -51
  530. package/esm2015/src/app/core/form/editor.class.js +0 -698
  531. package/esm2015/src/app/core/form/entity-editor-modal.class.js +0 -422
  532. package/esm2015/src/app/core/form/entity-editor.class.js +0 -676
  533. package/esm2015/src/app/core/form/entity-metadata.component.js +0 -22
  534. package/esm2015/src/app/core/form/form-buttons-bar.component.js +0 -63
  535. package/esm2015/src/app/core/form/form.class.js +0 -342
  536. package/esm2015/src/app/core/form/form.utils.js +0 -299
  537. package/esm2015/src/app/core/form/list.form.js +0 -219
  538. package/esm2015/src/app/core/form/properties.form.js +0 -119
  539. package/esm2015/src/app/core/graphql/graphql.module.js +0 -18
  540. package/esm2015/src/app/core/graphql/graphql.service.js +0 -734
  541. package/esm2015/src/app/core/graphql/graphql.utils.js +0 -106
  542. package/esm2015/src/app/core/home/home.js +0 -265
  543. package/esm2015/src/app/core/icon/icon.component.js +0 -32
  544. package/esm2015/src/app/core/icon/icon.module.js +0 -26
  545. package/esm2015/src/app/core/install/install-upgrade-card.component.js +0 -358
  546. package/esm2015/src/app/core/menu/menu.component.js +0 -329
  547. package/esm2015/src/app/core/menu/menu.module.js +0 -28
  548. package/esm2015/src/app/core/offline/update-offline-mode-card.component.js +0 -26
  549. package/esm2015/src/app/core/peer/select-peer.modal.js +0 -134
  550. package/esm2015/src/app/core/register/confirm/confirm.js +0 -86
  551. package/esm2015/src/app/core/register/form/form-register.js +0 -172
  552. package/esm2015/src/app/core/register/modal/modal-register.js +0 -55
  553. package/esm2015/src/app/core/services/account.service.js +0 -1165
  554. package/esm2015/src/app/core/services/auth-guard.service.js +0 -77
  555. package/esm2015/src/app/core/services/base-entity-service.class.js +0 -454
  556. package/esm2015/src/app/core/services/base-graphql-service.class.js +0 -221
  557. package/esm2015/src/app/core/services/config.service.js +0 -385
  558. package/esm2015/src/app/core/services/local-settings.service.js +0 -460
  559. package/esm2015/src/app/core/services/model/account.model.js +0 -50
  560. package/esm2015/src/app/core/services/model/config.model.js +0 -89
  561. package/esm2015/src/app/core/services/model/department.model.js +0 -30
  562. package/esm2015/src/app/core/services/model/entity.decorators.js +0 -104
  563. package/esm2015/src/app/core/services/model/entity.model.js +0 -245
  564. package/esm2015/src/app/core/services/model/peer.model.js +0 -68
  565. package/esm2015/src/app/core/services/model/person.model.js +0 -83
  566. package/esm2015/src/app/core/services/model/referential.model.js +0 -147
  567. package/esm2015/src/app/core/services/model/settings.model.js +0 -75
  568. package/esm2015/src/app/core/services/network.service.js +0 -631
  569. package/esm2015/src/app/core/services/network.utils.js +0 -19
  570. package/esm2015/src/app/core/services/pipes/account.pipes.js +0 -28
  571. package/esm2015/src/app/core/services/pipes/department-to-string.pipe.js +0 -18
  572. package/esm2015/src/app/core/services/pipes/person-to-string.pipe.js +0 -18
  573. package/esm2015/src/app/core/services/pipes/usage-mode.pipes.js +0 -27
  574. package/esm2015/src/app/core/services/platform.service.js +0 -549
  575. package/esm2015/src/app/core/services/storage/entities-storage.service.js +0 -452
  576. package/esm2015/src/app/core/services/storage/entity-store.class.js +0 -461
  577. package/esm2015/src/app/core/services/testing/referential-filter.model.js +0 -23
  578. package/esm2015/src/app/core/services/testing/referential.validator.js +0 -44
  579. package/esm2015/src/app/core/services/validator/account.validator.js +0 -55
  580. package/esm2015/src/app/core/services/validator/base.validator.class.js +0 -48
  581. package/esm2015/src/app/core/services/validator/local-settings.validator.js +0 -72
  582. package/esm2015/src/app/core/services/validator/user-settings.validator.js +0 -30
  583. package/esm2015/src/app/core/settings/settings.page.js +0 -305
  584. package/esm2015/src/app/core/table/actions-column.component.js +0 -74
  585. package/esm2015/src/app/core/table/entities-table-datasource.class.js +0 -405
  586. package/esm2015/src/app/core/table/memory-table.class.js +0 -59
  587. package/esm2015/src/app/core/table/table-select-columns.component.js +0 -44
  588. package/esm2015/src/app/core/table/table.class.js +0 -1677
  589. package/esm2015/src/app/core/table/table.utils.js +0 -13
  590. package/esm2015/src/app/core/table/testing/table.testing.js +0 -242
  591. package/esm2015/src/app/core/table/testing/table.testing.module.js +0 -26
  592. package/esm2015/src/app/core/text-popover/testing/text-popover.testing.js +0 -37
  593. package/esm2015/src/app/core/text-popover/testing/text-popover.testing.module.js +0 -33
  594. package/esm2015/src/app/core/text-popover/text-form.component.js +0 -72
  595. package/esm2015/src/app/core/text-popover/text-popover.component.js +0 -90
  596. package/esm2015/src/app/shared/alerts.js +0 -251
  597. package/esm2015/src/app/shared/audio/audio.js +0 -178
  598. package/esm2015/src/app/shared/dates.js +0 -134
  599. package/esm2015/src/app/shared/directives/autofocus.directive.js +0 -90
  600. package/esm2015/src/app/shared/directives/autotitle.directive.js +0 -27
  601. package/esm2015/src/app/shared/directives/directives.module.js +0 -30
  602. package/esm2015/src/app/shared/directives/drag-and-drop.directive.js +0 -43
  603. package/esm2015/src/app/shared/directives/ng-var.directive.js +0 -32
  604. package/esm2015/src/app/shared/directives/resizable/resizable.component.js +0 -54
  605. package/esm2015/src/app/shared/directives/resizable/resizable.directive.js +0 -34
  606. package/esm2015/src/app/shared/directives/resizable/resizable.module.js +0 -12
  607. package/esm2015/src/app/shared/events.js +0 -61
  608. package/esm2015/src/app/shared/file/csv.utils.js +0 -70
  609. package/esm2015/src/app/shared/file/file.service.js +0 -120
  610. package/esm2015/src/app/shared/file/file.utils.js +0 -116
  611. package/esm2015/src/app/shared/file/images.utils.js +0 -166
  612. package/esm2015/src/app/shared/form/field.component.js +0 -206
  613. package/esm2015/src/app/shared/form/loading-spinner.js +0 -24
  614. package/esm2015/src/app/shared/forms.js +0 -358
  615. package/esm2015/src/app/shared/functions.js +0 -431
  616. package/esm2015/src/app/shared/gesture/hammer.utils.js +0 -2
  617. package/esm2015/src/app/shared/graph/graph-colors.js +0 -205
  618. package/esm2015/src/app/shared/guard/component-dirty.guard.js +0 -61
  619. package/esm2015/src/app/shared/help/help.modal.js +0 -56
  620. package/esm2015/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.js +0 -20
  621. package/esm2015/src/app/shared/hotkeys/hotkeys.service.js +0 -91
  622. package/esm2015/src/app/shared/hotkeys/shared-hotkeys.module.js +0 -29
  623. package/esm2015/src/app/shared/http/http.utils.js +0 -57
  624. package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +0 -825
  625. package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.module.js +0 -46
  626. package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +0 -200
  627. package/esm2015/src/app/shared/material/badge/badge-icon.directive.js +0 -135
  628. package/esm2015/src/app/shared/material/badge/badge-icon.module.js +0 -23
  629. package/esm2015/src/app/shared/material/badge/badge-icon.test.js +0 -17
  630. package/esm2015/src/app/shared/material/boolean/boolean.module.js +0 -41
  631. package/esm2015/src/app/shared/material/boolean/material.boolean.js +0 -223
  632. package/esm2015/src/app/shared/material/chips/chips.module.js +0 -45
  633. package/esm2015/src/app/shared/material/chips/material.chips.js +0 -636
  634. package/esm2015/src/app/shared/material/chips/testing/chips.test.js +0 -138
  635. package/esm2015/src/app/shared/material/datetime/datetime.module.js +0 -54
  636. package/esm2015/src/app/shared/material/datetime/material.date.js +0 -375
  637. package/esm2015/src/app/shared/material/datetime/material.dateshort.js +0 -316
  638. package/esm2015/src/app/shared/material/datetime/material.datetime.js +0 -398
  639. package/esm2015/src/app/shared/material/datetime/testing/mat-date-time.test.js +0 -110
  640. package/esm2015/src/app/shared/material/datetime/testing/mat-date.test.js +0 -108
  641. package/esm2015/src/app/shared/material/duration/duration.module.js +0 -40
  642. package/esm2015/src/app/shared/material/duration/material.duration.js +0 -246
  643. package/esm2015/src/app/shared/material/latlong/latlong.utils.js +0 -249
  644. package/esm2015/src/app/shared/material/latlong/material.latlong.js +0 -350
  645. package/esm2015/src/app/shared/material/latlong/material.latlong.module.js +0 -41
  646. package/esm2015/src/app/shared/material/latlong/testing/latlong.test.js +0 -70
  647. package/esm2015/src/app/shared/material/material.module.js +0 -93
  648. package/esm2015/src/app/shared/material/material.testing.module.js +0 -111
  649. package/esm2015/src/app/shared/material/numpad/numpad.append-to-input.directive.js +0 -96
  650. package/esm2015/src/app/shared/material/numpad/numpad.component.js +0 -73
  651. package/esm2015/src/app/shared/material/numpad/numpad.container.js +0 -149
  652. package/esm2015/src/app/shared/material/numpad/numpad.content.js +0 -14
  653. package/esm2015/src/app/shared/material/numpad/numpad.directive.js +0 -148
  654. package/esm2015/src/app/shared/material/numpad/numpad.dom-service.js +0 -37
  655. package/esm2015/src/app/shared/material/numpad/numpad.module.js +0 -39
  656. package/esm2015/src/app/shared/material/numpad/testing/numpad.test.js +0 -44
  657. package/esm2015/src/app/shared/material/paginator/material.paginator-i18n.js +0 -44
  658. package/esm2015/src/app/shared/material/stepper/material.stepper-i18n.js +0 -24
  659. package/esm2015/src/app/shared/material/swipe/material.swipe.js +0 -308
  660. package/esm2015/src/app/shared/material/swipe/swipe.module.js +0 -33
  661. package/esm2015/src/app/shared/material/swipe/testing/swipe.test.js +0 -68
  662. package/esm2015/src/app/shared/observables.js +0 -99
  663. package/esm2015/src/app/shared/pipes/arrays.pipe.js +0 -110
  664. package/esm2015/src/app/shared/pipes/date-diff-duration.pipe.js +0 -50
  665. package/esm2015/src/app/shared/pipes/date-format.pipe.js +0 -43
  666. package/esm2015/src/app/shared/pipes/file-size.pipe.js +0 -58
  667. package/esm2015/src/app/shared/pipes/form.pipes.js +0 -177
  668. package/esm2015/src/app/shared/pipes/highlight.pipe.js +0 -43
  669. package/esm2015/src/app/shared/pipes/latlong-format.pipe.js +0 -36
  670. package/esm2015/src/app/shared/pipes/maps.pipe.js +0 -48
  671. package/esm2015/src/app/shared/pipes/math.pipes.js +0 -44
  672. package/esm2015/src/app/shared/pipes/ng-init.pipe.js +0 -18
  673. package/esm2015/src/app/shared/pipes/pipes.module.js +0 -117
  674. package/esm2015/src/app/shared/pipes/property.pipes.js +0 -98
  675. package/esm2015/src/app/shared/pipes/string.pipes.js +0 -53
  676. package/esm2015/src/app/shared/pipes/translate-context.pipe.js +0 -36
  677. package/esm2015/src/app/shared/platforms.js +0 -45
  678. package/esm2015/src/app/shared/services/entity-service.class.js +0 -8
  679. package/esm2015/src/app/shared/services/job.utils.js +0 -96
  680. package/esm2015/src/app/shared/services/memory-entity-service.class.js +0 -342
  681. package/esm2015/src/app/shared/services/progress-bar.service.js +0 -30
  682. package/esm2015/src/app/shared/services/startable-observable-service.class.js +0 -124
  683. package/esm2015/src/app/shared/services/startable-service.class.js +0 -110
  684. package/esm2015/src/app/shared/services/storage.utils.js +0 -41
  685. package/esm2015/src/app/shared/services/translate-context.service.js +0 -83
  686. package/esm2015/src/app/shared/services/validator-service.class.js +0 -2
  687. package/esm2015/src/app/shared/services.js +0 -61
  688. package/esm2015/src/app/shared/shared-routing.module.js +0 -54
  689. package/esm2015/src/app/shared/shared.module.js +0 -135
  690. package/esm2015/src/app/shared/shared.testing.module.js +0 -33
  691. package/esm2015/src/app/shared/testing/tests.page.js +0 -34
  692. package/esm2015/src/app/shared/toast/toast.testing.js +0 -39
  693. package/esm2015/src/app/shared/toast/toast.testing.module.js +0 -33
  694. package/esm2015/src/app/shared/toast/toasts.js +0 -119
  695. package/esm2015/src/app/shared/toolbar/modal-toolbar.js +0 -53
  696. package/esm2015/src/app/shared/toolbar/toolbar.js +0 -213
  697. package/esm2015/src/app/shared/upload-file/testing/upload-file.testing.js +0 -59
  698. package/esm2015/src/app/shared/upload-file/testing/upload-file.testing.module.js +0 -33
  699. package/esm2015/src/app/shared/upload-file/upload-file-popover.component.js +0 -98
  700. package/esm2015/src/app/shared/upload-file/upload-file.component.js +0 -202
  701. package/esm2015/src/app/shared/upload-file/upload-file.model.js +0 -20
  702. package/esm2015/src/app/shared/validator/form-error-adapter.class.js +0 -99
  703. package/esm2015/src/app/shared/validator/validators.js +0 -537
  704. package/esm2015/src/app/social/job/job.model.js +0 -26
  705. package/esm2015/src/app/social/job/job.module.js +0 -25
  706. package/esm2015/src/app/social/job/job.service.js +0 -66
  707. package/esm2015/src/app/social/job/progression/job-progression.icon.js +0 -208
  708. package/esm2015/src/app/social/job/progression/job-progression.list.js +0 -20
  709. package/esm2015/src/app/social/job/testing/job-progression.testing.js +0 -49
  710. package/esm2015/src/app/social/job/testing/job-progression.testing.service.js +0 -52
  711. package/esm2015/src/app/social/job/testing/job.testing.module.js +0 -25
  712. package/esm2015/src/app/social/message/message.form.js +0 -73
  713. package/esm2015/src/app/social/message/message.modal.js +0 -96
  714. package/esm2015/src/app/social/message/message.model.js +0 -65
  715. package/esm2015/src/app/social/message/message.module.js +0 -25
  716. package/esm2015/src/app/social/message/message.service.js +0 -87
  717. package/esm2015/src/app/social/social.module.js +0 -28
  718. package/esm2015/src/app/social/social.testing.module.js +0 -39
  719. package/esm2015/src/app/social/user-event/notification/user-event-notification.icon.js +0 -106
  720. package/esm2015/src/app/social/user-event/notification/user-event-notification.list.js +0 -203
  721. package/esm2015/src/app/social/user-event/testing/user-event.testing.js +0 -230
  722. package/esm2015/src/app/social/user-event/testing/user-event.testing.model.js +0 -103
  723. package/esm2015/src/app/social/user-event/testing/user-event.testing.module.js +0 -25
  724. package/esm2015/src/app/social/user-event/testing/user-event.testing.service.js +0 -117
  725. package/esm2015/src/app/social/user-event/user-event.model.js +0 -2
  726. package/esm2015/src/app/social/user-event/user-event.module.js +0 -27
  727. package/esm2015/src/app/social/user-event/user-event.service.js +0 -509
  728. package/esm2015/src/environments/environment.class.js +0 -5
  729. package/esm2015/src/environments/environment.js +0 -81
  730. package/esm2015/sumaris-net.ngx-components.js +0 -21
  731. package/fesm2015/sumaris-net.ngx-components.js +0 -30297
  732. package/fesm2015/sumaris-net.ngx-components.js.map +0 -1
  733. package/src/app/core/form/properties.form.d.ts +0 -40
  734. package/src/app/shared/material/badge/badge-icon.directive.d.ts +0 -28
  735. package/src/app/shared/material/badge/badge-icon.module.d.ts +0 -2
  736. package/src/app/shared/material/badge/badge-icon.test.d.ts +0 -9
  737. package/src/app/shared/services/storage.utils.d.ts +0 -13
  738. package/sumaris-net.ngx-components.d.ts +0 -20
  739. package/sumaris-net.ngx-components.metadata.json +0 -1
@@ -0,0 +1,187 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { equals, isNotNil } from '../functions';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../validator/form-error-adapter.class";
5
+ export class FormErrorTranslatePipe {
6
+ constructor(adapter, _ref) {
7
+ this.adapter = adapter;
8
+ this._ref = _ref;
9
+ this.value = '';
10
+ this._lastForm = null;
11
+ this._lastOptions = null;
12
+ }
13
+ transform(form, opts) {
14
+ if (!form) {
15
+ this._dispose();
16
+ return '';
17
+ }
18
+ // if we ask another time for the same form and opts, return the last value
19
+ if (form === this._lastForm && equals(opts, this._lastOptions)) {
20
+ return this.value;
21
+ }
22
+ // store the query, in case it changes
23
+ this._lastForm = form;
24
+ // store the params, in case they change
25
+ this._lastOptions = opts;
26
+ // set the value
27
+ this._updateValue(form, opts);
28
+ // if there is a subscription to onLangChange, clean it
29
+ this._dispose();
30
+ // subscribe to onTranslationChange event, in case the translations change
31
+ if (!this._onFormStatusChanges) {
32
+ this._onFormStatusChanges = form.statusChanges.subscribe((status) => {
33
+ this._updateValue(form, opts, status);
34
+ });
35
+ }
36
+ return this.value;
37
+ }
38
+ ngOnDestroy() {
39
+ this._dispose();
40
+ }
41
+ _updateValue(form, opts, status) {
42
+ if (status === 'INVALID' || form.invalid) {
43
+ this.value = this.adapter.translateFormErrors(form, opts);
44
+ this._ref.markForCheck();
45
+ }
46
+ else if (this.value !== undefined) {
47
+ this.value = undefined;
48
+ this._ref.markForCheck();
49
+ }
50
+ }
51
+ /**
52
+ * Clean any existing subscription to change events
53
+ */
54
+ _dispose() {
55
+ this._onFormStatusChanges?.unsubscribe();
56
+ this._onFormStatusChanges = undefined;
57
+ }
58
+ }
59
+ FormErrorTranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormErrorTranslatePipe, deps: [{ token: i1.FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
60
+ FormErrorTranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: FormErrorTranslatePipe, name: "translateFormError", pure: false });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormErrorTranslatePipe, decorators: [{
62
+ type: Pipe,
63
+ args: [{
64
+ name: 'translateFormError',
65
+ pure: false
66
+ }]
67
+ }], ctorParameters: function () { return [{ type: i1.FormErrorTranslator }, { type: i0.ChangeDetectorRef }]; } });
68
+ export class FormGetPipe {
69
+ transform(form, path) {
70
+ return form.get(path);
71
+ }
72
+ }
73
+ FormGetPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
74
+ FormGetPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: FormGetPipe, name: "formGet" });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetPipe, decorators: [{
76
+ type: Pipe,
77
+ args: [{
78
+ name: 'formGet'
79
+ }]
80
+ }] });
81
+ export class FormGetControlPipe {
82
+ transform(form, path) {
83
+ return (form && isNotNil(path) && form.get(path) || form);
84
+ }
85
+ }
86
+ FormGetControlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
87
+ FormGetControlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: FormGetControlPipe, name: "formGetControl" });
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetControlPipe, decorators: [{
89
+ type: Pipe,
90
+ args: [{
91
+ name: 'formGetControl'
92
+ }]
93
+ }] });
94
+ export class FormGetArrayPipe {
95
+ transform(form, path) {
96
+ return (form && path && form.get(path) || form);
97
+ }
98
+ }
99
+ FormGetArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
100
+ FormGetArrayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: FormGetArrayPipe, name: "formGetArray" });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetArrayPipe, decorators: [{
102
+ type: Pipe,
103
+ args: [{
104
+ name: 'formGetArray'
105
+ }]
106
+ }] });
107
+ export class FormGetGroupPipe {
108
+ transform(form, path) {
109
+ return (form && path && form.get(path) || form);
110
+ }
111
+ }
112
+ FormGetGroupPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
113
+ FormGetGroupPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: FormGetGroupPipe, name: "formGetGroup" });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetGroupPipe, decorators: [{
115
+ type: Pipe,
116
+ args: [{
117
+ name: 'formGetGroup'
118
+ }]
119
+ }] });
120
+ export class FormGetValuePipe {
121
+ constructor(_ref) {
122
+ this._ref = _ref;
123
+ this.value = undefined;
124
+ this._lastControl = null;
125
+ }
126
+ transform(form, path, listenStatusChanges = false) {
127
+ if (!form) {
128
+ this._dispose();
129
+ return undefined;
130
+ }
131
+ // if we ask another time for the same form and opts, return the last value
132
+ if (form === this._lastControl && equals(path, this._lastPath)) {
133
+ return this.value;
134
+ }
135
+ // store the query, in case it changes
136
+ this._lastControl = form;
137
+ // store the params, in case they change
138
+ this._lastPath = path;
139
+ // set the value
140
+ const control = path ? form.get(path) : form;
141
+ this.value = control?.value;
142
+ // if there is a subscription to onLangChange, clean it
143
+ this._dispose();
144
+ if (control) {
145
+ // subscribe to valueChanges event
146
+ this._onControlValueChanges = control.valueChanges.subscribe((value) => {
147
+ if (value !== this.value) {
148
+ this.value = value;
149
+ this._ref.markForCheck();
150
+ }
151
+ });
152
+ // subscribe to statusChanges event
153
+ if (listenStatusChanges) {
154
+ this._onControlStatusChanges = control.statusChanges.subscribe((status) => {
155
+ const value = control.value;
156
+ if (value !== this.value) {
157
+ this.value = value;
158
+ this._ref.markForCheck();
159
+ }
160
+ });
161
+ }
162
+ }
163
+ return this.value;
164
+ }
165
+ ngOnDestroy() {
166
+ this._dispose();
167
+ }
168
+ /**
169
+ * Clean any existing subscription to change events
170
+ */
171
+ _dispose() {
172
+ this._onControlValueChanges?.unsubscribe();
173
+ this._onControlValueChanges = undefined;
174
+ this._onControlStatusChanges?.unsubscribe();
175
+ this._onControlStatusChanges = undefined;
176
+ }
177
+ }
178
+ FormGetValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetValuePipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
179
+ FormGetValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: FormGetValuePipe, name: "formGetValue", pure: false });
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormGetValuePipe, decorators: [{
181
+ type: Pipe,
182
+ args: [{
183
+ name: 'formGetValue',
184
+ pure: false
185
+ }]
186
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBSWhGLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDOzs7QUFNOUMsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxZQUNVLE9BQTRCLEVBQzVCLElBQXVCO1FBRHZCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBUmpDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFWCxjQUFTLEdBQTRCLElBQUksQ0FBQztRQUMxQyxpQkFBWSxHQUFzQyxJQUFJLENBQUM7SUFPL0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFzQixFQUFFLElBQWlDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELDJFQUEyRTtRQUMzRSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjtRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBc0IsRUFBRSxJQUFpQyxFQUFFLE1BQVk7UUFDMUYsSUFBSSxNQUFNLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzFCO2FBQ0ksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssUUFBUTtRQUNkLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0lBQ3hDLENBQUM7O21IQXBFVSxzQkFBc0I7aUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUpsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxvQkFBb0I7b0JBQzFCLElBQUksRUFBRSxLQUFLO2lCQUNaOztBQTJFRCxNQUFNLE9BQU8sV0FBVztJQUV0QixTQUFTLENBQUMsSUFBcUIsRUFBRSxJQUFxQztRQUNwRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7d0dBSlUsV0FBVztzR0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7aUJBQ2hCOztBQVdELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsU0FBUyxDQUFDLElBQXFCLEVBQUUsSUFBc0M7UUFDckUsT0FBTyxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQXVCLENBQUM7SUFDbEYsQ0FBQzs7K0dBSlUsa0JBQWtCOzZHQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFIOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN2Qjs7QUFXRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFNBQVMsQ0FBQyxJQUFxQixFQUFFLElBQXNDO1FBQ3JFLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFxQixDQUFDO0lBQ3RFLENBQUM7OzZHQUpVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7aUJBQ3JCOztBQVdELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsU0FBUyxDQUFDLElBQXFCLEVBQUUsSUFBc0M7UUFDckUsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQXFCLENBQUM7SUFDdEUsQ0FBQzs7NkdBSlUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztpQkFDckI7O0FBWUQsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUNVLElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBUmpDLFVBQUssR0FBUSxTQUFTLENBQUM7UUFFZixpQkFBWSxHQUEyQixJQUFJLENBQUM7SUFRcEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFxQixFQUFFLElBQXNDLEVBQUUsbUJBQW1CLEdBQUcsS0FBSztRQUNsRyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDOUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25CO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXpCLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixnQkFBZ0I7UUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBRTVCLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsSUFBSSxPQUFPLEVBQUU7WUFDWCxrQ0FBa0M7WUFDbEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JFLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2lCQUMxQjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsbUNBQW1DO1lBQ25DLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUN4RSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUM1QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzt3QkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztxQkFDMUI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBSUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNLLFFBQVE7UUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztRQUN4QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztJQUMzQyxDQUFDOzs2R0E1RVUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb3JtRXJyb3JUcmFuc2xhdG9yLCBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9uc30gZnJvbSAnLi4vdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2VxdWFscywgaXNOb3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZUZvcm1FcnJvcicsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9sYXN0Rm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0T3B0aW9uczogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb25Gb3JtU3RhdHVzQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWRhcHRlcjogRm9ybUVycm9yVHJhbnNsYXRvcixcbiAgICBwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICB9XG5cbiAgdHJhbnNmb3JtKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFmb3JtKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RGb3JtICYmIGVxdWFscyhvcHRzLCB0aGlzLl9sYXN0T3B0aW9ucykpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdEZvcm0gPSBmb3JtO1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMuX2xhc3RPcHRpb25zID0gb3B0cztcblxuICAgIC8vIHNldCB0aGUgdmFsdWVcbiAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICAvLyBzdWJzY3JpYmUgdG8gb25UcmFuc2xhdGlvbkNoYW5nZSBldmVudCwgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb25zIGNoYW5nZVxuICAgIGlmICghdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcykge1xuICAgICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcyA9IGZvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzLCBzdGF0dXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBvcHRzPzogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMsIHN0YXR1cz86IGFueSkge1xuICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJyB8fCBmb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmFkYXB0ZXIudHJhbnNsYXRlRm9ybUVycm9ycyhmb3JtLCBvcHRzKTtcbiAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXQnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyApOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldENvbnRyb2xQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gKGZvcm0gJiYgaXNOb3ROaWwocGF0aCkgJiYgZm9ybS5nZXQocGF0aCkgfHwgZm9ybSkgYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRBcnJheSdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldEFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nICk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiAoZm9ybSAmJiBwYXRoICYmIGZvcm0uZ2V0KHBhdGgpIHx8IGZvcm0pIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEdyb3VwJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIHBhdGggJiYgZm9ybS5nZXQocGF0aCkgfHwgZm9ybSkgYXMgVW50eXBlZEZvcm1Hcm91cDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0VmFsdWUnLFxuICBwdXJlOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcblxuICB2YWx1ZTogYW55ID0gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX2xhc3RDb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFzdFBhdGg6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmc7XG4gIHByaXZhdGUgX29uQ29udHJvbFZhbHVlQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgfVxuXG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nLCBsaXN0ZW5TdGF0dXNDaGFuZ2VzID0gZmFsc2UpOiBhbnkge1xuICAgIGlmICghZm9ybSkge1xuICAgICAgdGhpcy5fZGlzcG9zZSgpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBhc2sgYW5vdGhlciB0aW1lIGZvciB0aGUgc2FtZSBmb3JtIGFuZCBvcHRzLCByZXR1cm4gdGhlIGxhc3QgdmFsdWVcbiAgICBpZiAoZm9ybSA9PT0gdGhpcy5fbGFzdENvbnRyb2wgJiYgZXF1YWxzKHBhdGgsIHRoaXMuX2xhc3RQYXRoKSkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gc3RvcmUgdGhlIHF1ZXJ5LCBpbiBjYXNlIGl0IGNoYW5nZXNcbiAgICB0aGlzLl9sYXN0Q29udHJvbCA9IGZvcm07XG5cbiAgICAvLyBzdG9yZSB0aGUgcGFyYW1zLCBpbiBjYXNlIHRoZXkgY2hhbmdlXG4gICAgdGhpcy5fbGFzdFBhdGggPSBwYXRoO1xuXG4gICAgLy8gc2V0IHRoZSB2YWx1ZVxuICAgIGNvbnN0IGNvbnRyb2wgPSBwYXRoID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtO1xuICAgIHRoaXMudmFsdWUgPSBjb250cm9sPy52YWx1ZTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgLy8gc3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBldmVudFxuICAgICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzID0gY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXR1c0NoYW5nZXMgZXZlbnRcbiAgICAgIGlmIChsaXN0ZW5TdGF0dXNDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSBjb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gYW55IGV4aXN0aW5nIHN1YnNjcmlwdGlvbiB0byBjaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIF9kaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkNvbnRyb2xWYWx1ZUNoYW5nZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fb25Db250cm9sU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,48 @@
1
+ import { Injectable, Pipe } from '@angular/core';
2
+ import { removeDiacritics, toBoolean } from '../functions';
3
+ import * as i0 from "@angular/core";
4
+ export class HighlightPipe {
5
+ // Replace search text by bold representation
6
+ transform(value, args) {
7
+ if (typeof value !== 'string' || !args)
8
+ return value;
9
+ const searchText = (typeof args === 'string' ? args : args.search);
10
+ const withAccent = (typeof args !== 'string') ? toBoolean(args?.withAccent, false) : false;
11
+ if (typeof searchText !== 'string')
12
+ return value;
13
+ const searchRegexp = searchText
14
+ .replace(/[.]/g, '[.]')
15
+ .replace(/[*]+/g, '.*');
16
+ if (searchRegexp === '.*')
17
+ return value; // skip if can match everything
18
+ if (withAccent) {
19
+ // Remove all accent characters to allow versatile comparison
20
+ const cleanedSearchText = removeDiacritics(searchRegexp).toUpperCase();
21
+ const index = removeDiacritics(value.toUpperCase()).indexOf(cleanedSearchText);
22
+ if (index !== -1) {
23
+ return value.substring(0, index - 1) +
24
+ '<b>' + value.substring(index, cleanedSearchText.length) + '</b>' +
25
+ value.substring(index + cleanedSearchText.length);
26
+ }
27
+ return value;
28
+ }
29
+ else {
30
+ // Default behaviour
31
+ const regexp = new RegExp('[ ]?' + searchRegexp, 'gi');
32
+ return ('' + value).replace(regexp, '<b>$&</b>');
33
+ }
34
+ }
35
+ }
36
+ HighlightPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
+ HighlightPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: HighlightPipe, name: "highlight" });
38
+ HighlightPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: HighlightPipe, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: HighlightPipe, decorators: [{
40
+ type: Pipe,
41
+ args: [{
42
+ name: 'highlight'
43
+ }]
44
+ }, {
45
+ type: Injectable,
46
+ args: [{ providedIn: 'root' }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9waXBlcy9oaWdobGlnaHQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLGFBQWE7SUFFcEIsNkNBQTZDO0lBQy9DLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBd0Q7UUFDNUUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0YsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQUcsVUFBVTthQUM1QixPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQzthQUN0QixPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksWUFBWSxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQyxDQUFDLCtCQUErQjtRQUV4RSxJQUFJLFVBQVUsRUFBRTtZQUNkLDZEQUE2RDtZQUM3RCxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZFLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9FLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNoQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7b0JBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNO29CQUNqRSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyRDtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTTtZQUNMLG9CQUFvQjtZQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7OzBHQTVCUSxhQUFhO3dHQUFiLGFBQWE7OEdBQWIsYUFBYSxjQURELE1BQU07MkZBQ2xCLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFdBQVc7aUJBQ3BCOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlbW92ZURpYWNyaXRpY3MsIHRvQm9vbGVhbiB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaGlnaGxpZ2h0J1xufSlcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgICAgLy8gUmVwbGFjZSBzZWFyY2ggdGV4dCBieSBib2xkIHJlcHJlc2VudGF0aW9uXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M/OiBzdHJpbmcgfCB7IHNlYXJjaDogc3RyaW5nOyB3aXRoQWNjZW50PzogYm9vbGVhbiB9ICk6IHN0cmluZyB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyB8fCAhYXJncykgcmV0dXJuIHZhbHVlO1xuICAgICAgY29uc3Qgc2VhcmNoVGV4dCA9ICh0eXBlb2YgYXJncyA9PT0gJ3N0cmluZycgPyBhcmdzIDogYXJncy5zZWFyY2gpO1xuICAgICAgY29uc3Qgd2l0aEFjY2VudCA9ICh0eXBlb2YgYXJncyAhPT0gJ3N0cmluZycpID8gdG9Cb29sZWFuKGFyZ3M/LndpdGhBY2NlbnQsIGZhbHNlKSA6IGZhbHNlO1xuICAgICAgaWYgKHR5cGVvZiBzZWFyY2hUZXh0ICE9PSAnc3RyaW5nJykgcmV0dXJuIHZhbHVlO1xuICAgICAgY29uc3Qgc2VhcmNoUmVnZXhwID0gc2VhcmNoVGV4dFxuICAgICAgICAucmVwbGFjZSgvWy5dL2csICdbLl0nKVxuICAgICAgICAucmVwbGFjZSgvWypdKy9nLCAnLionKTtcbiAgICAgIGlmIChzZWFyY2hSZWdleHAgPT09ICcuKicpIHJldHVybiB2YWx1ZTsgLy8gc2tpcCBpZiBjYW4gbWF0Y2ggZXZlcnl0aGluZ1xuXG4gICAgICBpZiAod2l0aEFjY2VudCkge1xuICAgICAgICAvLyBSZW1vdmUgYWxsIGFjY2VudCBjaGFyYWN0ZXJzIHRvIGFsbG93IHZlcnNhdGlsZSBjb21wYXJpc29uXG4gICAgICAgIGNvbnN0IGNsZWFuZWRTZWFyY2hUZXh0ID0gcmVtb3ZlRGlhY3JpdGljcyhzZWFyY2hSZWdleHApLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gcmVtb3ZlRGlhY3JpdGljcyh2YWx1ZS50b1VwcGVyQ2FzZSgpKS5pbmRleE9mKGNsZWFuZWRTZWFyY2hUZXh0KTtcbiAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgIHJldHVybiB2YWx1ZS5zdWJzdHJpbmcoMCwgaW5kZXggLSAxKSArXG4gICAgICAgICAgICAnPGI+JyArIHZhbHVlLnN1YnN0cmluZyhpbmRleCwgY2xlYW5lZFNlYXJjaFRleHQubGVuZ3RoKSArICc8L2I+JyArXG4gICAgICAgICAgICB2YWx1ZS5zdWJzdHJpbmcoaW5kZXggKyBjbGVhbmVkU2VhcmNoVGV4dC5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIERlZmF1bHQgYmVoYXZpb3VyXG4gICAgICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoJ1sgXT8nICsgc2VhcmNoUmVnZXhwLCAnZ2knKTtcbiAgICAgICAgcmV0dXJuICgnJyArIHZhbHVlKS5yZXBsYWNlKHJlZ2V4cCwgJzxiPiQmPC9iPicpO1xuICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { formatLatitude, formatLongitude } from '../material/latlong/latlong.utils';
3
+ import * as i0 from "@angular/core";
4
+ export class LatitudeFormatPipe {
5
+ constructor() {
6
+ this.transform = formatLatitude;
7
+ }
8
+ }
9
+ LatitudeFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LatitudeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ LatitudeFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: LatitudeFormatPipe, name: "latitudeFormat" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LatitudeFormatPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'latitudeFormat'
15
+ }]
16
+ }] });
17
+ export class LongitudeFormatPipe {
18
+ constructor() {
19
+ this.transform = formatLongitude;
20
+ }
21
+ }
22
+ LongitudeFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LongitudeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
+ LongitudeFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: LongitudeFormatPipe, name: "longitudeFormat" });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LongitudeFormatPipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{
27
+ name: 'longitudeFormat'
28
+ }]
29
+ }] });
30
+ /**
31
+ * @deprecated use 'latitudeFormat' or 'longitudeFormat' instead
32
+ */
33
+ export class LatLongFormatPipe {
34
+ transform(value, opts) {
35
+ return ((!opts || opts?.type !== 'latitude') ? formatLongitude : formatLatitude)(value, opts);
36
+ }
37
+ }
38
+ LatLongFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LatLongFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
39
+ LatLongFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: LatLongFormatPipe, name: "latLongFormat" });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: LatLongFormatPipe, decorators: [{
41
+ type: Pipe,
42
+ args: [{
43
+ name: 'latLongFormat'
44
+ }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0bG9uZy1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2xhdGxvbmctZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQXVCLE1BQU0sbUNBQW1DLENBQUM7O0FBTXhHLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJRSxjQUFTLEdBQUcsY0FBYyxDQUFDO0tBQzVCOzsrR0FGWSxrQkFBa0I7NkdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3ZCOztBQVFELE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJRSxjQUFTLEdBQUcsZUFBZSxDQUFDO0tBQzdCOztnSEFGWSxtQkFBbUI7OEdBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUgvQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7aUJBQ3hCOztBQVFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixTQUFTLENBQUMsS0FBYSxFQUFFLElBQXFFO1FBQzVGLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hHLENBQUM7OzhHQUpVLGlCQUFpQjs0R0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTjdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Zm9ybWF0TGF0aXR1ZGUsIGZvcm1hdExvbmdpdHVkZSwgTGF0TG9uZ0Zvcm1hdE9wdGlvbnN9IGZyb20gJy4uL21hdGVyaWFsL2xhdGxvbmcvbGF0bG9uZy51dGlscyc7XG5cblxuQFBpcGUoe1xuICBuYW1lOiAnbGF0aXR1ZGVGb3JtYXQnXG59KVxuZXhwb3J0IGNsYXNzIExhdGl0dWRlRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0gPSBmb3JtYXRMYXRpdHVkZTtcbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnbG9uZ2l0dWRlRm9ybWF0J1xufSlcbmV4cG9ydCBjbGFzcyBMb25naXR1ZGVGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSA9IGZvcm1hdExvbmdpdHVkZTtcbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnbGF0TG9uZ0Zvcm1hdCdcbn0pXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSAnbGF0aXR1ZGVGb3JtYXQnIG9yICdsb25naXR1ZGVGb3JtYXQnIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIExhdExvbmdGb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIG9wdHM/OiBQYXJ0aWFsPExhdExvbmdGb3JtYXRPcHRpb25zPiAmIHt0eXBlOiAnbGF0aXR1ZGUnfCdsb25naXR1ZGUnfSk6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuICgoIW9wdHMgfHwgb3B0cz8udHlwZSAhPT0gJ2xhdGl0dWRlJykgPyBmb3JtYXRMb25naXR1ZGUgOiBmb3JtYXRMYXRpdHVkZSkodmFsdWUsIG9wdHMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { Injectable, Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MapGetPipe {
4
+ transform(val, args) {
5
+ if (!val)
6
+ return null;
7
+ const key = (args && typeof args === 'object' ? args.key : args);
8
+ if (!key)
9
+ return null;
10
+ return val[key];
11
+ }
12
+ }
13
+ MapGetPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapGetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ MapGetPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: MapGetPipe, name: "mapGet" });
15
+ MapGetPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapGetPipe, providedIn: 'root' });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapGetPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: 'mapGet'
20
+ }]
21
+ }, {
22
+ type: Injectable,
23
+ args: [{ providedIn: 'root' }]
24
+ }] });
25
+ export class MapKeysPipe {
26
+ transform(map) {
27
+ if (!map)
28
+ return null;
29
+ return Object.keys(map);
30
+ }
31
+ }
32
+ MapKeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapKeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
33
+ MapKeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: MapKeysPipe, name: "mapKeys" });
34
+ MapKeysPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapKeysPipe, providedIn: 'root' });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapKeysPipe, decorators: [{
36
+ type: Pipe,
37
+ args: [{
38
+ name: 'mapKeys'
39
+ }]
40
+ }, {
41
+ type: Injectable,
42
+ args: [{ providedIn: 'root' }]
43
+ }] });
44
+ export class MapValuesPipe {
45
+ transform(map) {
46
+ if (!map)
47
+ return null;
48
+ return Object.values(map);
49
+ }
50
+ }
51
+ MapValuesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
52
+ MapValuesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: MapValuesPipe, name: "mapValues" });
53
+ MapValuesPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapValuesPipe, providedIn: 'root' });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MapValuesPipe, decorators: [{
55
+ type: Pipe,
56
+ args: [{
57
+ name: 'mapValues'
58
+ }]
59
+ }, {
60
+ type: Injectable,
61
+ args: [{ providedIn: 'root' }]
62
+ }] });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbWFwcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLFVBQVU7SUFFbkIsU0FBUyxDQUFDLEdBQVEsRUFBRSxJQUE4QztRQUNoRSxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFRLENBQUM7UUFDeEUsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDOzt1R0FQUSxVQUFVO3FHQUFWLFVBQVU7MkdBQVYsVUFBVSxjQURFLE1BQU07MkZBQ2xCLFVBQVU7a0JBSnRCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7QUFlaEMsTUFBTSxPQUFPLFdBQVc7SUFFdEIsU0FBUyxDQUFDLEdBQVE7UUFDaEIsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7d0dBTFUsV0FBVztzR0FBWCxXQUFXOzRHQUFYLFdBQVcsY0FEQyxNQUFNOzJGQUNsQixXQUFXO2tCQUp2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQjs7a0JBQ0EsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7O0FBYWhDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFNBQVMsQ0FBQyxHQUFRO1FBQ2hCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzBHQUxVLGFBQWE7d0dBQWIsYUFBYTs4R0FBYixhQUFhLGNBREQsTUFBTTsyRkFDbEIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEI7O2tCQUNBLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ21hcEdldCdcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNYXBHZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsOiBhbnksIGFyZ3M6IHN0cmluZyB8IG51bWJlciB8IHtrZXk6IHN0cmluZyB8IG51bWJlcn0gKTogYW55IHtcbiAgICAgIGlmICghdmFsKSByZXR1cm4gbnVsbDtcbiAgICAgIGNvbnN0IGtleSA9IChhcmdzICYmIHR5cGVvZiBhcmdzID09PSAnb2JqZWN0JyA/IGFyZ3Mua2V5IDogYXJncykgYXMgYW55O1xuICAgICAgaWYgKCFrZXkpIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIHZhbFtrZXldO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnbWFwS2V5cydcbn0pXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNYXBLZXlzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShtYXA6IGFueSk6IGFueVtdIHtcbiAgICBpZiAoIW1hcCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnbWFwVmFsdWVzJ1xufSlcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE1hcFZhbHVlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0obWFwOiBhbnkpOiBhbnlbXSB7XG4gICAgaWYgKCFtYXApIHJldHVybiBudWxsO1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKG1hcCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { Injectable, Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MathAbsPipe {
4
+ transform(val) {
5
+ if (val !== undefined && val !== null) {
6
+ return Math.abs(val);
7
+ }
8
+ else {
9
+ return val;
10
+ }
11
+ }
12
+ }
13
+ MathAbsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MathAbsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ MathAbsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: MathAbsPipe, name: "mathAbs" });
15
+ MathAbsPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MathAbsPipe, providedIn: 'root' });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: MathAbsPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: 'mathAbs'
20
+ }]
21
+ }, {
22
+ type: Injectable,
23
+ args: [{ providedIn: 'root' }]
24
+ }] });
25
+ export class EvenPipe {
26
+ transform(val) {
27
+ return val % 2 === 0;
28
+ }
29
+ }
30
+ EvenPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: EvenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
31
+ EvenPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: EvenPipe, name: "even" });
32
+ EvenPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: EvenPipe, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: EvenPipe, decorators: [{
34
+ type: Pipe,
35
+ args: [{
36
+ name: 'even'
37
+ }]
38
+ }, {
39
+ type: Injectable,
40
+ args: [{ providedIn: 'root' }]
41
+ }] });
42
+ export class OddPipe {
43
+ transform(val) {
44
+ return val % 2 !== 0;
45
+ }
46
+ }
47
+ OddPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: OddPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
48
+ OddPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: OddPipe, name: "odd" });
49
+ OddPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: OddPipe, providedIn: 'root' });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: OddPipe, decorators: [{
51
+ type: Pipe,
52
+ args: [{
53
+ name: 'odd'
54
+ }]
55
+ }, {
56
+ type: Injectable,
57
+ args: [{ providedIn: 'root' }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL21hdGgucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQU05RCxNQUFNLE9BQU8sV0FBVztJQUVwQixTQUFTLENBQUMsR0FBVztRQUNuQixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDO1NBQ1o7SUFDSCxDQUFDOzt3R0FSUSxXQUFXO3NHQUFYLFdBQVc7NEdBQVgsV0FBVyxjQURDLE1BQU07MkZBQ2xCLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7QUFnQmhDLE1BQU0sT0FBTyxRQUFRO0lBRW5CLFNBQVMsQ0FBQyxHQUFXO1FBQ25CLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7cUdBSlUsUUFBUTttR0FBUixRQUFRO3lHQUFSLFFBQVEsY0FESSxNQUFNOzJGQUNsQixRQUFRO2tCQUpwQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO2lCQUNiOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7QUFZaEMsTUFBTSxPQUFPLE9BQU87SUFFbEIsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOztvR0FKVSxPQUFPO2tHQUFQLE9BQU87d0dBQVAsT0FBTyxjQURLLE1BQU07MkZBQ2xCLE9BQU87a0JBSm5CLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLEtBQUs7aUJBQ1o7O2tCQUNBLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdtYXRoQWJzJ1xufSlcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE1hdGhBYnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsOiBudW1iZXIpOiBhbnkge1xuICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gTWF0aC5hYnModmFsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgICB9XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdldmVuJ1xufSlcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIEV2ZW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbDogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gdmFsICUgMiA9PT0gMDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdvZGQnXG59KVxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgT2RkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWw6IG51bWJlcik6IGFueSB7XG4gICAgcmV0dXJuIHZhbCAlIDIgIT09IDA7XG4gIH1cbn1cblxuIl19
@@ -0,0 +1,21 @@
1
+ import { Directive, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgInitDirective {
4
+ constructor() {
5
+ this.ngInit = new EventEmitter();
6
+ }
7
+ ngOnInit() {
8
+ this.ngInit.emit();
9
+ }
10
+ }
11
+ NgInitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: NgInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ NgInitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.6", type: NgInitDirective, selector: "[ngInit]", outputs: { ngInit: "ngInit" }, ngImport: i0 });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: NgInitDirective, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[ngInit]'
17
+ }]
18
+ }], propDecorators: { ngInit: [{
19
+ type: Output
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaW5pdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbmctaW5pdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFLdEUsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFNRSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQUtsQztJQUhDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OzRHQVBVLGVBQWU7Z0dBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUgzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQjs4QkFJQyxNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ0luaXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ0luaXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBPdXRwdXQoKVxuICBuZ0luaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm5nSW5pdC5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ export class NumberFormatPipe {
5
5
  // Format the output to display any way you want here.
6
6
  // For instance:
7
7
  if (val !== undefined && val !== null) {
8
- if (opts === null || opts === void 0 ? void 0 : opts.fixedDecimals) {
8
+ if (opts?.fixedDecimals) {
9
9
  return val.toFixed(opts.fixedDecimals);
10
10
  }
11
11
  return val.toLocaleString(undefined, opts);
@@ -15,11 +15,16 @@ export class NumberFormatPipe {
15
15
  }
16
16
  }
17
17
  }
18
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
19
- NumberFormatPipe.decorators = [
20
- { type: Pipe, args: [{
21
- name: 'numberFormat'
22
- },] },
23
- { type: Injectable, args: [{ providedIn: 'root' },] }
24
- ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbnVtYmVyLWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixTQUFTLENBQUMsR0FBVyxFQUFFLElBQTBEO1FBQy9FLHNEQUFzRDtRQUN0RCxnQkFBZ0I7UUFDaEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDckMsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsYUFBYSxFQUFFO2dCQUN2QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7Ozs7WUFqQkosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxjQUFjO2FBQ3ZCO1lBQ0EsVUFBVSxTQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdudW1iZXJGb3JtYXQnXG59KVxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbDogbnVtYmVyLCBvcHRzPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zICYge2ZpeGVkRGVjaW1hbHM/OiBudW1iZXJ9KTogc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIC8vIEZvcm1hdCB0aGUgb3V0cHV0IHRvIGRpc3BsYXkgYW55IHdheSB5b3Ugd2FudCBoZXJlLlxuICAgICAgLy8gRm9yIGluc3RhbmNlOlxuICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCkge1xuICAgICAgICBpZiAob3B0cz8uZml4ZWREZWNpbWFscykge1xuICAgICAgICAgIHJldHVybiB2YWwudG9GaXhlZChvcHRzLmZpeGVkRGVjaW1hbHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWwudG9Mb2NhbGVTdHJpbmcodW5kZWZpbmVkLCBvcHRzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICB9XG59XG4iXX0=
18
+ NumberFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: NumberFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
+ NumberFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: NumberFormatPipe, name: "numberFormat" });
20
+ NumberFormatPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: NumberFormatPipe, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: NumberFormatPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{
24
+ name: 'numberFormat'
25
+ }]
26
+ }, {
27
+ type: Injectable,
28
+ args: [{ providedIn: 'root' }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvbnVtYmVyLWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixTQUFTLENBQUMsR0FBVyxFQUFFLElBQTBEO1FBQy9FLHNEQUFzRDtRQUN0RCxnQkFBZ0I7UUFDaEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDckMsSUFBSSxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUN2QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7OzZHQWJRLGdCQUFnQjsyR0FBaEIsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FESixNQUFNOzJGQUNsQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7aUJBQ3ZCOztrQkFDQSxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdudW1iZXJGb3JtYXQnXG59KVxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTnVtYmVyRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbDogbnVtYmVyLCBvcHRzPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zICYge2ZpeGVkRGVjaW1hbHM/OiBudW1iZXJ9KTogc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIC8vIEZvcm1hdCB0aGUgb3V0cHV0IHRvIGRpc3BsYXkgYW55IHdheSB5b3Ugd2FudCBoZXJlLlxuICAgICAgLy8gRm9yIGluc3RhbmNlOlxuICAgICAgaWYgKHZhbCAhPT0gdW5kZWZpbmVkICYmIHZhbCAhPT0gbnVsbCkge1xuICAgICAgICBpZiAob3B0cz8uZml4ZWREZWNpbWFscykge1xuICAgICAgICAgIHJldHVybiB2YWwudG9GaXhlZChvcHRzLmZpeGVkRGVjaW1hbHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWwudG9Mb2NhbGVTdHJpbmcodW5kZWZpbmVkLCBvcHRzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICB9XG59XG4iXX0=