@igo2/geo 1.14.1 → 1.14.3

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 (871) hide show
  1. package/esm2020/igo2-geo.mjs +4 -4
  2. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +301 -299
  3. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +306 -268
  4. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +247 -247
  5. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +79 -79
  6. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +208 -208
  7. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +78 -78
  8. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +216 -216
  9. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +94 -94
  10. package/esm2020/lib/catalog/catalog.module.mjs +52 -52
  11. package/esm2020/lib/catalog/index.mjs +4 -4
  12. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +94 -94
  13. package/esm2020/lib/catalog/shared/catalog.enum.mjs +15 -15
  14. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.service.mjs +605 -605
  16. package/esm2020/lib/catalog/shared/index.mjs +4 -4
  17. package/esm2020/lib/datasource/datasource.module.mjs +21 -21
  18. package/esm2020/lib/datasource/index.mjs +2 -2
  19. package/esm2020/lib/datasource/shared/capabilities.service.mjs +430 -430
  20. package/esm2020/lib/datasource/shared/datasource.service.mjs +235 -235
  21. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +144 -144
  25. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +108 -108
  27. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +14 -14
  29. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +2 -2
  30. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +28 -28
  32. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +42 -42
  34. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +56 -56
  36. package/esm2020/lib/datasource/shared/datasources/index.mjs +35 -35
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +27 -27
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +11 -11
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +48 -48
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +14 -14
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +53 -53
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +71 -71
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +151 -151
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -205
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +206 -206
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +15 -15
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +8 -8
  57. package/esm2020/lib/datasource/shared/index.mjs +4 -4
  58. package/esm2020/lib/datasource/shared/options/index.mjs +4 -4
  59. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
  60. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +14 -14
  61. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +80 -80
  62. package/esm2020/lib/datasource/shared/options/options.service.mjs +2 -2
  63. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +356 -356
  64. package/esm2020/lib/datasource/utils/index.mjs +2 -2
  65. package/esm2020/lib/datasource/utils/tilegrid.mjs +19 -19
  66. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +223 -223
  67. package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
  68. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +289 -289
  69. package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
  70. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +195 -195
  71. package/esm2020/lib/directions/directions-results/index.mjs +1 -1
  72. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  73. package/esm2020/lib/directions/directions-sources/directions-source.mjs +2 -2
  74. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +15 -15
  75. package/esm2020/lib/directions/directions-sources/index.mjs +4 -4
  76. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +98 -98
  77. package/esm2020/lib/directions/directions.component.mjs +310 -310
  78. package/esm2020/lib/directions/directions.module.mjs +101 -101
  79. package/esm2020/lib/directions/index.mjs +6 -6
  80. package/esm2020/lib/directions/shared/directions-source.service.mjs +16 -16
  81. package/esm2020/lib/directions/shared/directions.enum.mjs +27 -27
  82. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  83. package/esm2020/lib/directions/shared/directions.service.mjs +28 -28
  84. package/esm2020/lib/directions/shared/directions.utils.mjs +508 -508
  85. package/esm2020/lib/directions/shared/index.mjs +5 -5
  86. package/esm2020/lib/directions/shared/store.mjs +23 -23
  87. package/esm2020/lib/download/download-button/download-button.component.mjs +60 -60
  88. package/esm2020/lib/download/download-button/index.mjs +1 -1
  89. package/esm2020/lib/download/download.module.mjs +41 -41
  90. package/esm2020/lib/download/index.mjs +2 -2
  91. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  92. package/esm2020/lib/download/shared/download.service.mjs +64 -64
  93. package/esm2020/lib/download/shared/index.mjs +2 -2
  94. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +54 -54
  95. package/esm2020/lib/draw/draw/draw-popup.component.mjs +590 -590
  96. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +47 -47
  97. package/esm2020/lib/draw/draw/draw.component.mjs +1298 -1298
  98. package/esm2020/lib/draw/draw/draw.module.mjs +112 -112
  99. package/esm2020/lib/draw/drawingTool.module.mjs +19 -19
  100. package/esm2020/lib/draw/index.mjs +2 -2
  101. package/esm2020/lib/draw/shared/draw-icon.service.mjs +26 -26
  102. package/esm2020/lib/draw/shared/draw-style.service.mjs +189 -189
  103. package/esm2020/lib/draw/shared/draw.enum.mjs +36 -36
  104. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  105. package/esm2020/lib/draw/shared/draw.utils.mjs +121 -121
  106. package/esm2020/lib/draw/shared/index.mjs +5 -5
  107. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +404 -404
  108. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +53 -53
  109. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +47 -47
  110. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +111 -111
  111. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +33 -33
  112. package/esm2020/lib/feature/feature.module.mjs +27 -27
  113. package/esm2020/lib/feature/index.mjs +3 -3
  114. package/esm2020/lib/feature/shared/feature.enums.mjs +8 -8
  115. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  116. package/esm2020/lib/feature/shared/feature.utils.mjs +346 -346
  117. package/esm2020/lib/feature/shared/index.mjs +6 -6
  118. package/esm2020/lib/feature/shared/store.mjs +123 -123
  119. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +112 -112
  120. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +93 -93
  121. package/esm2020/lib/feature/shared/strategies/index.mjs +5 -5
  122. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +103 -103
  123. package/esm2020/lib/feature/shared/strategies/loading.mjs +132 -132
  124. package/esm2020/lib/feature/shared/strategies/selection.mjs +369 -369
  125. package/esm2020/lib/feature/shared/strategies.utils.mjs +36 -36
  126. package/esm2020/lib/filter/filter.module.mjs +288 -288
  127. package/esm2020/lib/filter/index.mjs +15 -15
  128. package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
  129. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +139 -139
  130. package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
  131. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +644 -644
  132. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
  133. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1301 -1301
  134. package/esm2020/lib/filter/ogc-filter-time/index.mjs +2 -2
  135. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +176 -176
  136. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +897 -897
  137. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
  138. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +58 -58
  139. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
  140. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +306 -306
  141. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +2 -2
  142. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +30 -30
  143. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +43 -43
  144. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +54 -54
  145. package/esm2020/lib/filter/shared/index.mjs +11 -11
  146. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +71 -71
  147. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +29 -29
  148. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  149. package/esm2020/lib/filter/shared/ogc-filter.mjs +691 -691
  150. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +45 -45
  151. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +22 -22
  152. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
  153. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +268 -268
  154. package/esm2020/lib/filter/shared/time-filter.enum.mjs +12 -12
  155. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  156. package/esm2020/lib/filter/shared/time-filter.service.mjs +106 -106
  157. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
  158. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1088 -1088
  159. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
  160. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +207 -207
  161. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
  162. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +143 -143
  163. package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
  164. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +77 -77
  165. package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
  166. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +733 -733
  167. package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
  168. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +118 -118
  169. package/esm2020/lib/filter/time-filter-list/index.mjs +2 -2
  170. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +30 -30
  171. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +38 -38
  172. package/esm2020/lib/geo.module.mjs +101 -101
  173. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +520 -520
  174. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +188 -188
  175. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +63 -63
  176. package/esm2020/lib/geometry/geometry.module.mjs +26 -26
  177. package/esm2020/lib/geometry/index.mjs +3 -3
  178. package/esm2020/lib/geometry/shared/controls/draw.mjs +313 -313
  179. package/esm2020/lib/geometry/shared/controls/index.mjs +3 -3
  180. package/esm2020/lib/geometry/shared/controls/modify.mjs +520 -520
  181. package/esm2020/lib/geometry/shared/controls/slice.mjs +176 -176
  182. package/esm2020/lib/geometry/shared/geometry.errors.mjs +25 -25
  183. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  184. package/esm2020/lib/geometry/shared/geometry.utils.mjs +121 -121
  185. package/esm2020/lib/geometry/shared/index.mjs +4 -4
  186. package/esm2020/lib/import-export/export-button/export-button.component.mjs +63 -63
  187. package/esm2020/lib/import-export/export-button/index.mjs +1 -1
  188. package/esm2020/lib/import-export/import-export/import-export.component.mjs +1219 -1219
  189. package/esm2020/lib/import-export/import-export/index.mjs +1 -1
  190. package/esm2020/lib/import-export/import-export.module.mjs +95 -95
  191. package/esm2020/lib/import-export/index.mjs +4 -4
  192. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +134 -134
  193. package/esm2020/lib/import-export/shared/export.errors.mjs +14 -14
  194. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  195. package/esm2020/lib/import-export/shared/export.service.mjs +195 -195
  196. package/esm2020/lib/import-export/shared/export.type.mjs +3 -3
  197. package/esm2020/lib/import-export/shared/export.utils.mjs +54 -54
  198. package/esm2020/lib/import-export/shared/import.errors.mjs +38 -38
  199. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  200. package/esm2020/lib/import-export/shared/import.service.mjs +214 -214
  201. package/esm2020/lib/import-export/shared/import.utils.mjs +234 -234
  202. package/esm2020/lib/import-export/shared/index.mjs +10 -10
  203. package/esm2020/lib/import-export/style-list/index.mjs +4 -4
  204. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
  205. package/esm2020/lib/import-export/style-list/style-list.module.mjs +22 -22
  206. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +20 -20
  207. package/esm2020/lib/import-export/style-list/style-list.service.mjs +50 -50
  208. package/esm2020/lib/layer/index.mjs +10 -10
  209. package/esm2020/lib/layer/layer-item/index.mjs +1 -1
  210. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +299 -299
  211. package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
  212. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +387 -387
  213. package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
  214. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +83 -83
  215. package/esm2020/lib/layer/layer-legend-list/index.mjs +2 -2
  216. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +47 -47
  217. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +194 -194
  218. package/esm2020/lib/layer/layer-list/index.mjs +3 -3
  219. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +58 -58
  220. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1008 -1008
  221. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +18 -18
  222. package/esm2020/lib/layer/layer-list-tool/index.mjs +4 -4
  223. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +164 -164
  224. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +6 -6
  225. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  226. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +21 -21
  227. package/esm2020/lib/layer/layer.module.mjs +184 -184
  228. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  229. package/esm2020/lib/layer/shared/index.mjs +6 -6
  230. package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
  231. package/esm2020/lib/layer/shared/layer.service.mjs +185 -185
  232. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  233. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  234. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  235. package/esm2020/lib/layer/shared/layers/image-layer.mjs +67 -67
  236. package/esm2020/lib/layer/shared/layers/index.mjs +12 -12
  237. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -17
  238. package/esm2020/lib/layer/shared/layers/layer.mjs +163 -163
  239. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  240. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +46 -46
  241. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  242. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +377 -377
  243. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  244. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +103 -103
  245. package/esm2020/lib/layer/shared/style.service.mjs +355 -355
  246. package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
  247. package/esm2020/lib/layer/style-modal/index.mjs +1 -1
  248. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +287 -287
  249. package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
  250. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +58 -58
  251. package/esm2020/lib/layer/utils/image-watcher.mjs +61 -61
  252. package/esm2020/lib/layer/utils/index.mjs +5 -5
  253. package/esm2020/lib/layer/utils/layer.utils.mjs +9 -9
  254. package/esm2020/lib/layer/utils/outputLegend.mjs +26 -26
  255. package/esm2020/lib/layer/utils/tile-watcher.mjs +49 -49
  256. package/esm2020/lib/layer/utils/vector-watcher.mjs +47 -47
  257. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +19 -19
  258. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +96 -96
  259. package/esm2020/lib/map/baselayers-switcher/index.mjs +2 -2
  260. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +141 -133
  261. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +78 -78
  262. package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
  263. package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +62 -62
  264. package/esm2020/lib/map/home-extent-button/index.mjs +1 -1
  265. package/esm2020/lib/map/index.mjs +13 -13
  266. package/esm2020/lib/map/info-section/index.mjs +1 -1
  267. package/esm2020/lib/map/info-section/info-section.component.mjs +29 -29
  268. package/esm2020/lib/map/map-browser/index.mjs +1 -1
  269. package/esm2020/lib/map/map-browser/map-browser.component.mjs +65 -65
  270. package/esm2020/lib/map/map-center/index.mjs +1 -1
  271. package/esm2020/lib/map/map-center/map-center.component.mjs +49 -49
  272. package/esm2020/lib/map/map.module.mjs +126 -126
  273. package/esm2020/lib/map/menu-button/index.mjs +1 -1
  274. package/esm2020/lib/map/menu-button/menu-button.component.mjs +61 -61
  275. package/esm2020/lib/map/offline-button/index.mjs +1 -1
  276. package/esm2020/lib/map/offline-button/offline-button.component.mjs +75 -75
  277. package/esm2020/lib/map/rotation-button/index.mjs +1 -1
  278. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +69 -69
  279. package/esm2020/lib/map/shared/controllers/controller.mjs +41 -41
  280. package/esm2020/lib/map/shared/controllers/geolocation.mjs +307 -307
  281. package/esm2020/lib/map/shared/controllers/index.mjs +3 -3
  282. package/esm2020/lib/map/shared/controllers/view.mjs +350 -350
  283. package/esm2020/lib/map/shared/hover-feature.directive.mjs +502 -502
  284. package/esm2020/lib/map/shared/index.mjs +13 -13
  285. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +237 -237
  286. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +106 -106
  287. package/esm2020/lib/map/shared/map.enums.mjs +5 -5
  288. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  289. package/esm2020/lib/map/shared/map.mjs +406 -406
  290. package/esm2020/lib/map/shared/map.service.mjs +28 -28
  291. package/esm2020/lib/map/shared/map.utils.mjs +463 -462
  292. package/esm2020/lib/map/shared/mapOffline.directive.mjs +162 -162
  293. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  294. package/esm2020/lib/map/shared/projection.service.mjs +64 -64
  295. package/esm2020/lib/map/shared/projection.utils.mjs +63 -63
  296. package/esm2020/lib/map/swipe-control/index.mjs +1 -1
  297. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +192 -192
  298. package/esm2020/lib/map/utils/layer-watcher.mjs +78 -78
  299. package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
  300. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +113 -113
  301. package/esm2020/lib/map/zoom-button/index.mjs +1 -1
  302. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +39 -39
  303. package/esm2020/lib/measure/index.mjs +3 -3
  304. package/esm2020/lib/measure/measure.module.mjs +19 -19
  305. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +36 -36
  306. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +179 -179
  307. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +139 -139
  308. package/esm2020/lib/measure/measurer/measurer.component.mjs +1041 -1041
  309. package/esm2020/lib/measure/measurer/measurer.module.mjs +93 -93
  310. package/esm2020/lib/measure/shared/index.mjs +3 -3
  311. package/esm2020/lib/measure/shared/measure.enum.mjs +36 -36
  312. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  313. package/esm2020/lib/measure/shared/measure.utils.mjs +488 -488
  314. package/esm2020/lib/metadata/index.mjs +2 -2
  315. package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
  316. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +133 -133
  317. package/esm2020/lib/metadata/metadata.module.mjs +54 -54
  318. package/esm2020/lib/metadata/shared/index.mjs +2 -2
  319. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  320. package/esm2020/lib/metadata/shared/metadata.service.mjs +18 -18
  321. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +104 -104
  322. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +5 -5
  323. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  324. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +166 -166
  325. package/esm2020/lib/offline/geoDB/index.mjs +4 -4
  326. package/esm2020/lib/offline/index.mjs +2 -2
  327. package/esm2020/lib/offline/shared/geo-network.service.mjs +65 -65
  328. package/esm2020/lib/offline/shared/index.mjs +1 -1
  329. package/esm2020/lib/overlay/index.mjs +1 -1
  330. package/esm2020/lib/overlay/overlay.module.mjs +22 -22
  331. package/esm2020/lib/overlay/shared/index.mjs +6 -6
  332. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +68 -68
  333. package/esm2020/lib/overlay/shared/overlay.directive.mjs +32 -32
  334. package/esm2020/lib/overlay/shared/overlay.enum.mjs +7 -7
  335. package/esm2020/lib/overlay/shared/overlay.mjs +129 -129
  336. package/esm2020/lib/overlay/shared/overlay.service.mjs +26 -26
  337. package/esm2020/lib/overlay/shared/overlay.utils.mjs +102 -102
  338. package/esm2020/lib/print/index.mjs +3 -3
  339. package/esm2020/lib/print/print/print.component.mjs +126 -123
  340. package/esm2020/lib/print/print-form/index.mjs +1 -1
  341. package/esm2020/lib/print/print-form/print-form.component.mjs +428 -405
  342. package/esm2020/lib/print/print.module.mjs +64 -64
  343. package/esm2020/lib/print/shared/geopdf.mjs +57 -57
  344. package/esm2020/lib/print/shared/index.mjs +4 -4
  345. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  346. package/esm2020/lib/print/shared/print.service.mjs +934 -861
  347. package/esm2020/lib/print/shared/print.type.mjs +29 -29
  348. package/esm2020/lib/query/index.mjs +1 -1
  349. package/esm2020/lib/query/query.module.mjs +28 -28
  350. package/esm2020/lib/query/shared/index.mjs +6 -6
  351. package/esm2020/lib/query/shared/query-search-source.mjs +34 -34
  352. package/esm2020/lib/query/shared/query-search-source.providers.mjs +21 -21
  353. package/esm2020/lib/query/shared/query.directive.mjs +260 -260
  354. package/esm2020/lib/query/shared/query.enums.mjs +29 -29
  355. package/esm2020/lib/query/shared/query.interfaces.mjs +2 -2
  356. package/esm2020/lib/query/shared/query.service.mjs +733 -619
  357. package/esm2020/lib/query/shared/query.utils.mjs +36 -36
  358. package/esm2020/lib/search/index.mjs +11 -11
  359. package/esm2020/lib/search/search-bar/search-bar.component.mjs +512 -493
  360. package/esm2020/lib/search/search-bar/search-bar.module.mjs +74 -74
  361. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +34 -34
  362. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +118 -0
  363. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +371 -193
  364. package/esm2020/lib/search/search-results/search-results-item.component.mjs +124 -124
  365. package/esm2020/lib/search/search-results/search-results.component.mjs +340 -340
  366. package/esm2020/lib/search/search-results/search-results.module.mjs +104 -77
  367. package/esm2020/lib/search/search-selector/search-selector.component.mjs +122 -122
  368. package/esm2020/lib/search/search-selector/search-selector.module.mjs +55 -55
  369. package/esm2020/lib/search/search-settings/search-settings.component.mjs +442 -418
  370. package/esm2020/lib/search/search-settings/search-settings.module.mjs +59 -59
  371. package/esm2020/lib/search/search.module.mjs +66 -66
  372. package/esm2020/lib/search/shared/index.mjs +8 -8
  373. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +321 -321
  374. package/esm2020/lib/search/shared/search-source-service.providers.mjs +19 -19
  375. package/esm2020/lib/search/shared/search-source.service.mjs +46 -46
  376. package/esm2020/lib/search/shared/search.enums.mjs +3 -3
  377. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  378. package/esm2020/lib/search/shared/search.service.mjs +121 -118
  379. package/esm2020/lib/search/shared/search.utils.mjs +90 -90
  380. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  381. package/esm2020/lib/search/shared/sources/coordinates.mjs +153 -147
  382. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +39 -39
  383. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  384. package/esm2020/lib/search/shared/sources/icherche.mjs +767 -767
  385. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +65 -65
  386. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  387. package/esm2020/lib/search/shared/sources/ilayer.mjs +320 -320
  388. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +39 -39
  389. package/esm2020/lib/search/shared/sources/index.mjs +17 -17
  390. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  391. package/esm2020/lib/search/shared/sources/nominatim.mjs +251 -251
  392. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +22 -22
  393. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  394. package/esm2020/lib/search/shared/sources/source.mjs +179 -179
  395. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  396. package/esm2020/lib/search/shared/sources/storedqueries.mjs +424 -424
  397. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +40 -40
  398. package/esm2020/lib/toast/index.mjs +1 -1
  399. package/esm2020/lib/toast/toast.component.mjs +112 -112
  400. package/esm2020/lib/toast/toast.module.mjs +44 -44
  401. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
  402. package/esm2020/lib/utils/commonVectorStyle.mjs +74 -74
  403. package/esm2020/lib/utils/googleLinks.mjs +12 -12
  404. package/esm2020/lib/utils/id-generator.mjs +109 -109
  405. package/esm2020/lib/utils/index.mjs +5 -5
  406. package/esm2020/lib/utils/osmLinks.mjs +9 -9
  407. package/esm2020/lib/wkt/index.mjs +1 -1
  408. package/esm2020/lib/wkt/shared/index.mjs +1 -1
  409. package/esm2020/lib/wkt/shared/wkt.service.mjs +224 -224
  410. package/esm2020/lib/wkt/wkt.module.mjs +21 -21
  411. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +47 -47
  412. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +35 -35
  413. package/esm2020/lib/workspace/confirmation-popup/index.mjs +2 -2
  414. package/esm2020/lib/workspace/index.mjs +7 -7
  415. package/esm2020/lib/workspace/shared/edition-workspace.mjs +279 -279
  416. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +656 -656
  417. package/esm2020/lib/workspace/shared/feature-workspace.mjs +34 -34
  418. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +149 -149
  419. package/esm2020/lib/workspace/shared/index.mjs +7 -7
  420. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +34 -34
  421. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +149 -149
  422. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +259 -259
  423. package/esm2020/lib/workspace/shared/workspace.utils.mjs +23 -23
  424. package/esm2020/lib/workspace/widgets/index.mjs +3 -3
  425. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +46 -46
  426. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +35 -35
  427. package/esm2020/lib/workspace/widgets/widgets.mjs +14 -14
  428. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +132 -132
  429. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +27 -27
  430. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +112 -112
  431. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +27 -27
  432. package/esm2020/lib/workspace/workspace.module.mjs +61 -61
  433. package/esm2020/public_api.mjs +54 -54
  434. package/fesm2015/igo2-geo.mjs +44993 -44364
  435. package/fesm2015/igo2-geo.mjs.map +1 -1
  436. package/fesm2020/igo2-geo.mjs +43075 -42470
  437. package/fesm2020/igo2-geo.mjs.map +1 -1
  438. package/index.d.ts +5 -5
  439. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +126 -124
  440. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +80 -73
  441. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +105 -105
  442. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
  443. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
  444. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
  445. package/lib/catalog/catalog-library/catalog-library.component.d.ts +65 -65
  446. package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
  447. package/lib/catalog/catalog.module.d.ts +14 -14
  448. package/lib/catalog/index.d.ts +4 -4
  449. package/lib/catalog/shared/catalog.abstract.d.ts +50 -50
  450. package/lib/catalog/shared/catalog.enum.d.ts +14 -14
  451. package/lib/catalog/shared/catalog.interface.d.ts +66 -66
  452. package/lib/catalog/shared/catalog.service.d.ts +36 -36
  453. package/lib/catalog/shared/index.d.ts +4 -4
  454. package/lib/datasource/datasource.module.d.ts +8 -8
  455. package/lib/datasource/index.d.ts +2 -2
  456. package/lib/datasource/shared/capabilities.service.d.ts +37 -37
  457. package/lib/datasource/shared/datasource.service.d.ts +37 -37
  458. package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
  459. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
  460. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
  461. package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
  462. package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
  463. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
  464. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
  465. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
  466. package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
  467. package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
  468. package/lib/datasource/shared/datasources/datasource.interface.d.ts +100 -100
  469. package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
  470. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +18 -18
  471. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
  472. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
  473. package/lib/datasource/shared/datasources/index.d.ts +35 -35
  474. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
  475. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
  476. package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
  477. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
  478. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
  479. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
  480. package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
  481. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
  482. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
  483. package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
  484. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
  485. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
  486. package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
  487. package/lib/datasource/shared/datasources/wms-datasource.d.ts +31 -31
  488. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +32 -32
  489. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
  490. package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
  491. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
  492. package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
  493. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
  494. package/lib/datasource/shared/index.d.ts +4 -4
  495. package/lib/datasource/shared/options/index.d.ts +4 -4
  496. package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
  497. package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
  498. package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
  499. package/lib/datasource/shared/options/options.service.d.ts +6 -6
  500. package/lib/datasource/utils/esri-style-generator.d.ts +21 -21
  501. package/lib/datasource/utils/index.d.ts +2 -2
  502. package/lib/datasource/utils/tilegrid.d.ts +2 -2
  503. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +30 -30
  504. package/lib/directions/directions-buttons/index.d.ts +1 -1
  505. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
  506. package/lib/directions/directions-inputs/index.d.ts +1 -1
  507. package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
  508. package/lib/directions/directions-results/index.d.ts +1 -1
  509. package/lib/directions/directions-sources/directions-source.d.ts +7 -7
  510. package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
  511. package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
  512. package/lib/directions/directions-sources/index.d.ts +4 -4
  513. package/lib/directions/directions-sources/osrm-directions-source.d.ts +23 -23
  514. package/lib/directions/directions.component.d.ts +56 -56
  515. package/lib/directions/directions.module.d.ts +26 -26
  516. package/lib/directions/index.d.ts +6 -6
  517. package/lib/directions/shared/directions-source.service.d.ts +11 -11
  518. package/lib/directions/shared/directions.enum.d.ts +22 -22
  519. package/lib/directions/shared/directions.interface.d.ts +126 -126
  520. package/lib/directions/shared/directions.service.d.ts +13 -13
  521. package/lib/directions/shared/directions.utils.d.ts +42 -42
  522. package/lib/directions/shared/index.d.ts +5 -5
  523. package/lib/directions/shared/store.d.ts +18 -18
  524. package/lib/download/download-button/download-button.component.d.ts +18 -18
  525. package/lib/download/download-button/index.d.ts +1 -1
  526. package/lib/download/download.module.d.ts +14 -14
  527. package/lib/download/index.d.ts +2 -2
  528. package/lib/download/shared/download.interface.d.ts +10 -10
  529. package/lib/download/shared/download.service.d.ts +11 -11
  530. package/lib/download/shared/index.d.ts +2 -2
  531. package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
  532. package/lib/draw/draw/draw-popup.component.d.ts +63 -63
  533. package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
  534. package/lib/draw/draw/draw.component.d.ts +239 -239
  535. package/lib/draw/draw/draw.module.d.ts +34 -34
  536. package/lib/draw/drawingTool.module.d.ts +7 -7
  537. package/lib/draw/index.d.ts +2 -2
  538. package/lib/draw/shared/draw-icon.service.d.ts +12 -12
  539. package/lib/draw/shared/draw-style.service.d.ts +36 -36
  540. package/lib/draw/shared/draw.enum.d.ts +32 -32
  541. package/lib/draw/shared/draw.interface.d.ts +40 -40
  542. package/lib/draw/shared/draw.utils.d.ts +35 -35
  543. package/lib/draw/shared/index.d.ts +5 -5
  544. package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
  545. package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
  546. package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
  547. package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
  548. package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
  549. package/lib/feature/feature.module.d.ts +9 -9
  550. package/lib/feature/index.d.ts +3 -3
  551. package/lib/feature/shared/feature.enums.d.ts +7 -7
  552. package/lib/feature/shared/feature.interfaces.d.ts +74 -74
  553. package/lib/feature/shared/feature.utils.d.ts +104 -104
  554. package/lib/feature/shared/index.d.ts +6 -6
  555. package/lib/feature/shared/store.d.ts +71 -71
  556. package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
  557. package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
  558. package/lib/feature/shared/strategies/index.d.ts +5 -5
  559. package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
  560. package/lib/feature/shared/strategies/loading.d.ts +75 -75
  561. package/lib/feature/shared/strategies/selection.d.ts +176 -176
  562. package/lib/feature/shared/strategies.utils.d.ts +17 -17
  563. package/lib/filter/filter.module.d.ts +53 -53
  564. package/lib/filter/index.d.ts +15 -15
  565. package/lib/filter/ogc-filter-button/index.d.ts +1 -1
  566. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
  567. package/lib/filter/ogc-filter-form/index.d.ts +1 -1
  568. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
  569. package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
  570. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
  571. package/lib/filter/ogc-filter-time/index.d.ts +2 -2
  572. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
  573. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
  574. package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
  575. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
  576. package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
  577. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
  578. package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
  579. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
  580. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
  581. package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
  582. package/lib/filter/shared/index.d.ts +11 -11
  583. package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
  584. package/lib/filter/shared/ogc-filter.d.ts +29 -29
  585. package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
  586. package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
  587. package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
  588. package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
  589. package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
  590. package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
  591. package/lib/filter/shared/time-filter.enum.d.ts +10 -10
  592. package/lib/filter/shared/time-filter.interface.d.ts +29 -29
  593. package/lib/filter/shared/time-filter.service.d.ts +11 -11
  594. package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
  595. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
  596. package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
  597. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +58 -58
  598. package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
  599. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
  600. package/lib/filter/time-filter-button/index.d.ts +1 -1
  601. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
  602. package/lib/filter/time-filter-form/index.d.ts +1 -1
  603. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
  604. package/lib/filter/time-filter-item/index.d.ts +1 -1
  605. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
  606. package/lib/filter/time-filter-list/index.d.ts +2 -2
  607. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
  608. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
  609. package/lib/geo.module.d.ts +28 -28
  610. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +206 -206
  611. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
  612. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
  613. package/lib/geometry/geometry.module.d.ts +8 -8
  614. package/lib/geometry/index.d.ts +3 -3
  615. package/lib/geometry/shared/controls/draw.d.ts +150 -150
  616. package/lib/geometry/shared/controls/index.d.ts +3 -3
  617. package/lib/geometry/shared/controls/modify.d.ts +228 -228
  618. package/lib/geometry/shared/controls/slice.d.ts +99 -99
  619. package/lib/geometry/shared/geometry.errors.d.ts +11 -11
  620. package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
  621. package/lib/geometry/shared/geometry.utils.d.ts +45 -45
  622. package/lib/geometry/shared/index.d.ts +4 -4
  623. package/lib/import-export/export-button/export-button.component.d.ts +16 -16
  624. package/lib/import-export/export-button/index.d.ts +1 -1
  625. package/lib/import-export/import-export/import-export.component.d.ts +104 -104
  626. package/lib/import-export/import-export/index.d.ts +1 -1
  627. package/lib/import-export/import-export.module.d.ts +26 -26
  628. package/lib/import-export/index.d.ts +4 -4
  629. package/lib/import-export/shared/drop-geo-file.directive.d.ts +36 -36
  630. package/lib/import-export/shared/export.errors.d.ts +8 -8
  631. package/lib/import-export/shared/export.interface.d.ts +11 -11
  632. package/lib/import-export/shared/export.service.d.ts +30 -30
  633. package/lib/import-export/shared/export.type.d.ts +16 -16
  634. package/lib/import-export/shared/export.utils.d.ts +19 -19
  635. package/lib/import-export/shared/import.errors.d.ts +20 -20
  636. package/lib/import-export/shared/import.interface.d.ts +8 -8
  637. package/lib/import-export/shared/import.service.d.ts +31 -31
  638. package/lib/import-export/shared/import.utils.d.ts +18 -18
  639. package/lib/import-export/shared/index.d.ts +10 -10
  640. package/lib/import-export/style-list/index.d.ts +4 -4
  641. package/lib/import-export/style-list/style-list.interface.d.ts +6 -6
  642. package/lib/import-export/style-list/style-list.module.d.ts +8 -8
  643. package/lib/import-export/style-list/style-list.provider.d.ts +15 -15
  644. package/lib/import-export/style-list/style-list.service.d.ts +18 -18
  645. package/lib/layer/index.d.ts +10 -10
  646. package/lib/layer/layer-item/index.d.ts +1 -1
  647. package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
  648. package/lib/layer/layer-legend/index.d.ts +1 -1
  649. package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
  650. package/lib/layer/layer-legend-item/index.d.ts +1 -1
  651. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
  652. package/lib/layer/layer-legend-list/index.d.ts +2 -2
  653. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
  654. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
  655. package/lib/layer/layer-list/index.d.ts +3 -3
  656. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
  657. package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
  658. package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
  659. package/lib/layer/layer-list-tool/index.d.ts +4 -4
  660. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
  661. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
  662. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
  663. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
  664. package/lib/layer/layer.module.d.ts +36 -36
  665. package/lib/layer/shared/clusterParam.d.ts +13 -13
  666. package/lib/layer/shared/index.d.ts +6 -6
  667. package/lib/layer/shared/layer.enums.d.ts +1 -1
  668. package/lib/layer/shared/layer.service.d.ts +30 -30
  669. package/lib/layer/shared/layers/any-layer.d.ts +6 -6
  670. package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
  671. package/lib/layer/shared/layers/image-layer.d.ts +22 -22
  672. package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
  673. package/lib/layer/shared/layers/index.d.ts +12 -12
  674. package/lib/layer/shared/layers/layer.d.ts +62 -62
  675. package/lib/layer/shared/layers/layer.interface.d.ts +109 -107
  676. package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
  677. package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
  678. package/lib/layer/shared/layers/vector-layer.d.ts +78 -78
  679. package/lib/layer/shared/layers/vector-layer.interface.d.ts +41 -41
  680. package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
  681. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +18 -18
  682. package/lib/layer/shared/style.service.d.ts +57 -57
  683. package/lib/layer/shared/vector-style.interface.d.ts +38 -38
  684. package/lib/layer/style-modal/index.d.ts +1 -1
  685. package/lib/layer/style-modal/style-modal.component.d.ts +42 -42
  686. package/lib/layer/track-feature-button/index.d.ts +1 -1
  687. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
  688. package/lib/layer/utils/image-watcher.d.ts +17 -17
  689. package/lib/layer/utils/index.d.ts +5 -5
  690. package/lib/layer/utils/layer.utils.d.ts +2 -2
  691. package/lib/layer/utils/outputLegend.d.ts +7 -7
  692. package/lib/layer/utils/tile-watcher.d.ts +14 -14
  693. package/lib/layer/utils/vector-watcher.d.ts +13 -13
  694. package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
  695. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +21 -21
  696. package/lib/map/baselayers-switcher/index.d.ts +2 -2
  697. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -26
  698. package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
  699. package/lib/map/geolocate-button/index.d.ts +1 -1
  700. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
  701. package/lib/map/home-extent-button/index.d.ts +1 -1
  702. package/lib/map/index.d.ts +13 -13
  703. package/lib/map/info-section/index.d.ts +1 -1
  704. package/lib/map/info-section/info-section.component.d.ts +7 -7
  705. package/lib/map/map-browser/index.d.ts +1 -1
  706. package/lib/map/map-browser/map-browser.component.d.ts +25 -25
  707. package/lib/map/map-center/index.d.ts +1 -1
  708. package/lib/map/map-center/map-center.component.d.ts +31 -31
  709. package/lib/map/map.module.d.ts +28 -28
  710. package/lib/map/menu-button/index.d.ts +1 -1
  711. package/lib/map/menu-button/menu-button.component.d.ts +17 -17
  712. package/lib/map/offline-button/index.d.ts +1 -1
  713. package/lib/map/offline-button/offline-button.component.d.ts +23 -23
  714. package/lib/map/rotation-button/index.d.ts +1 -1
  715. package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
  716. package/lib/map/shared/controllers/controller.d.ts +29 -29
  717. package/lib/map/shared/controllers/geolocation.d.ts +112 -112
  718. package/lib/map/shared/controllers/index.d.ts +3 -3
  719. package/lib/map/shared/controllers/view.d.ts +200 -200
  720. package/lib/map/shared/hover-feature.directive.d.ts +132 -132
  721. package/lib/map/shared/index.d.ts +13 -13
  722. package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
  723. package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
  724. package/lib/map/shared/map.d.ts +135 -135
  725. package/lib/map/shared/map.enums.d.ts +4 -4
  726. package/lib/map/shared/map.interface.d.ts +57 -57
  727. package/lib/map/shared/map.service.d.ts +19 -19
  728. package/lib/map/shared/map.utils.d.ts +90 -89
  729. package/lib/map/shared/mapOffline.directive.d.ts +21 -21
  730. package/lib/map/shared/projection.interfaces.d.ts +29 -29
  731. package/lib/map/shared/projection.service.d.ts +19 -19
  732. package/lib/map/shared/projection.utils.d.ts +19 -19
  733. package/lib/map/swipe-control/index.d.ts +1 -1
  734. package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
  735. package/lib/map/utils/layer-watcher.d.ts +20 -20
  736. package/lib/map/wake-lock-button/index.d.ts +1 -1
  737. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -30
  738. package/lib/map/zoom-button/index.d.ts +1 -1
  739. package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
  740. package/lib/measure/index.d.ts +3 -3
  741. package/lib/measure/measure.module.d.ts +7 -7
  742. package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
  743. package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
  744. package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
  745. package/lib/measure/measurer/measurer.component.d.ts +405 -405
  746. package/lib/measure/measurer/measurer.module.d.ts +25 -25
  747. package/lib/measure/shared/index.d.ts +3 -3
  748. package/lib/measure/shared/measure.enum.d.ts +33 -33
  749. package/lib/measure/shared/measure.interfaces.d.ts +21 -21
  750. package/lib/measure/shared/measure.utils.d.ts +180 -180
  751. package/lib/metadata/index.d.ts +2 -2
  752. package/lib/metadata/metadata-button/index.d.ts +1 -1
  753. package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
  754. package/lib/metadata/metadata.module.d.ts +15 -15
  755. package/lib/metadata/shared/index.d.ts +2 -2
  756. package/lib/metadata/shared/metadata.interface.d.ts +13 -13
  757. package/lib/metadata/shared/metadata.service.d.ts +8 -8
  758. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
  759. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
  760. package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
  761. package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
  762. package/lib/offline/geoDB/index.d.ts +4 -4
  763. package/lib/offline/index.d.ts +2 -2
  764. package/lib/offline/shared/geo-network.service.d.ts +28 -28
  765. package/lib/offline/shared/index.d.ts +1 -1
  766. package/lib/overlay/index.d.ts +1 -1
  767. package/lib/overlay/overlay.module.d.ts +9 -9
  768. package/lib/overlay/shared/index.d.ts +6 -6
  769. package/lib/overlay/shared/overlay-marker-style.utils.d.ts +11 -11
  770. package/lib/overlay/shared/overlay.d.ts +81 -81
  771. package/lib/overlay/shared/overlay.directive.d.ts +18 -18
  772. package/lib/overlay/shared/overlay.enum.d.ts +6 -6
  773. package/lib/overlay/shared/overlay.service.d.ts +14 -14
  774. package/lib/overlay/shared/overlay.utils.d.ts +17 -17
  775. package/lib/print/index.d.ts +3 -3
  776. package/lib/print/print/print.component.d.ts +35 -35
  777. package/lib/print/print-form/index.d.ts +1 -1
  778. package/lib/print/print-form/print-form.component.d.ts +97 -97
  779. package/lib/print/print.module.d.ts +19 -19
  780. package/lib/print/shared/geopdf.d.ts +1 -1
  781. package/lib/print/shared/index.d.ts +4 -4
  782. package/lib/print/shared/print.interface.d.ts +22 -22
  783. package/lib/print/shared/print.service.d.ts +168 -159
  784. package/lib/print/shared/print.type.d.ts +45 -45
  785. package/lib/query/index.d.ts +1 -1
  786. package/lib/query/query.module.d.ts +11 -11
  787. package/lib/query/shared/index.d.ts +6 -6
  788. package/lib/query/shared/query-search-source.d.ts +17 -17
  789. package/lib/query/shared/query-search-source.providers.d.ts +17 -17
  790. package/lib/query/shared/query.directive.d.ts +105 -105
  791. package/lib/query/shared/query.enums.d.ts +26 -26
  792. package/lib/query/shared/query.interfaces.d.ts +35 -28
  793. package/lib/query/shared/query.service.d.ts +56 -54
  794. package/lib/query/shared/query.utils.d.ts +27 -27
  795. package/lib/search/index.d.ts +11 -11
  796. package/lib/search/search-bar/search-bar.component.d.ts +230 -220
  797. package/lib/search/search-bar/search-bar.module.d.ts +23 -23
  798. package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
  799. package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -0
  800. package/lib/search/search-results/search-results-add-button.component.d.ts +76 -58
  801. package/lib/search/search-results/search-results-item.component.d.ts +47 -48
  802. package/lib/search/search-results/search-results.component.d.ts +161 -161
  803. package/lib/search/search-results/search-results.module.d.ts +28 -21
  804. package/lib/search/search-selector/search-selector.component.d.ts +58 -58
  805. package/lib/search/search-selector/search-selector.module.d.ts +19 -19
  806. package/lib/search/search-settings/search-settings.component.d.ts +102 -96
  807. package/lib/search/search-settings/search-settings.module.d.ts +20 -20
  808. package/lib/search/search.module.d.ts +14 -14
  809. package/lib/search/shared/index.d.ts +8 -8
  810. package/lib/search/shared/search-pointer-summary.directive.d.ts +133 -133
  811. package/lib/search/shared/search-source-service.providers.d.ts +15 -15
  812. package/lib/search/shared/search-source.service.d.ts +32 -32
  813. package/lib/search/shared/search.enums.d.ts +1 -1
  814. package/lib/search/shared/search.interfaces.d.ts +29 -29
  815. package/lib/search/shared/search.service.d.ts +53 -51
  816. package/lib/search/shared/search.utils.d.ts +39 -39
  817. package/lib/search/shared/sources/coordinates.d.ts +40 -40
  818. package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
  819. package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
  820. package/lib/search/shared/sources/icherche.d.ts +96 -96
  821. package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
  822. package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
  823. package/lib/search/shared/sources/ilayer.d.ts +55 -55
  824. package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
  825. package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
  826. package/lib/search/shared/sources/index.d.ts +17 -17
  827. package/lib/search/shared/sources/nominatim.d.ts +45 -45
  828. package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
  829. package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
  830. package/lib/search/shared/sources/source.d.ts +108 -108
  831. package/lib/search/shared/sources/source.interfaces.d.ts +47 -47
  832. package/lib/search/shared/sources/storedqueries.d.ts +73 -73
  833. package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
  834. package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
  835. package/lib/toast/index.d.ts +1 -1
  836. package/lib/toast/toast.component.d.ts +33 -33
  837. package/lib/toast/toast.module.d.ts +14 -14
  838. package/lib/utils/commonVectorStyle.d.ts +14 -14
  839. package/lib/utils/commonVectorStyle.interface.d.ts +16 -16
  840. package/lib/utils/googleLinks.d.ts +5 -5
  841. package/lib/utils/id-generator.d.ts +54 -54
  842. package/lib/utils/index.d.ts +5 -5
  843. package/lib/utils/osmLinks.d.ts +4 -4
  844. package/lib/wkt/index.d.ts +1 -1
  845. package/lib/wkt/shared/index.d.ts +1 -1
  846. package/lib/wkt/shared/wkt.service.d.ts +19 -19
  847. package/lib/wkt/wkt.module.d.ts +8 -8
  848. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
  849. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
  850. package/lib/workspace/confirmation-popup/index.d.ts +2 -2
  851. package/lib/workspace/index.d.ts +7 -7
  852. package/lib/workspace/shared/edition-workspace.d.ts +82 -82
  853. package/lib/workspace/shared/edition-workspace.service.d.ts +52 -52
  854. package/lib/workspace/shared/feature-workspace.d.ts +18 -18
  855. package/lib/workspace/shared/feature-workspace.service.d.ts +19 -19
  856. package/lib/workspace/shared/index.d.ts +7 -7
  857. package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
  858. package/lib/workspace/shared/wfs-workspace.service.d.ts +19 -19
  859. package/lib/workspace/shared/wms-workspace.service.d.ts +22 -22
  860. package/lib/workspace/shared/workspace.utils.d.ts +10 -10
  861. package/lib/workspace/widgets/index.d.ts +3 -3
  862. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
  863. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
  864. package/lib/workspace/widgets/widgets.d.ts +9 -9
  865. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
  866. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
  867. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
  868. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
  869. package/lib/workspace/workspace.module.d.ts +14 -14
  870. package/package.json +4 -4
  871. package/public_api.d.ts +51 -51
@@ -1,493 +1,512 @@
1
- import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, ViewChild } from '@angular/core';
2
- import { BehaviorSubject, timer } from 'rxjs';
3
- import { debounce, distinctUntilChanged } from 'rxjs/operators';
4
- import { SEARCH_TYPES } from '../shared/search.enums';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@igo2/core";
7
- import * as i2 from "../shared/search.service";
8
- import * as i3 from "../shared/search-source.service";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "@angular/material/tooltip";
11
- import * as i6 from "@angular/material/icon";
12
- import * as i7 from "@angular/material/button";
13
- import * as i8 from "@angular/material/form-field";
14
- import * as i9 from "@angular/material/input";
15
- import * as i10 from "../search-selector/search-selector.component";
16
- import * as i11 from "../search-settings/search-settings.component";
17
- import * as i12 from "@ngx-translate/core";
18
- const _c0 = ["input"];
19
- function SearchBarComponent_mat_label_3_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelementStart(0, "mat-label");
21
- i0.ɵɵtext(1);
22
- i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- const ctx_r0 = i0.ɵɵnextContext();
25
- i0.ɵɵadvance(1);
26
- i0.ɵɵtextInterpolate(ctx_r0.label);
27
- } }
28
- function SearchBarComponent_button_11_Template(rf, ctx) { if (rf & 1) {
29
- const _r7 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "button", 10);
31
- i0.ɵɵlistener("click", function SearchBarComponent_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onClearButtonClick()); });
32
- i0.ɵɵpipe(1, "translate");
33
- i0.ɵɵelement(2, "mat-icon", 11);
34
- i0.ɵɵelementEnd();
35
- } if (rf & 2) {
36
- const ctx_r2 = i0.ɵɵnextContext();
37
- i0.ɵɵproperty("color", ctx_r2.color)("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.search.clearSearch"));
38
- } }
39
- function SearchBarComponent_button_13_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "button", 12);
41
- i0.ɵɵelement(1, "mat-icon", 13);
42
- i0.ɵɵelementEnd();
43
- } if (rf & 2) {
44
- const ctx_r3 = i0.ɵɵnextContext();
45
- i0.ɵɵproperty("color", ctx_r3.color);
46
- } }
47
- function SearchBarComponent_igo_search_selector_14_Template(rf, ctx) { if (rf & 1) {
48
- const _r9 = i0.ɵɵgetCurrentView();
49
- i0.ɵɵelementStart(0, "igo-search-selector", 14);
50
- i0.ɵɵlistener("searchTypeChange", function SearchBarComponent_igo_search_selector_14_Template_igo_search_selector_searchTypeChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onSearchTypeChange($event)); });
51
- i0.ɵɵpipe(1, "async");
52
- i0.ɵɵelementEnd();
53
- } if (rf & 2) {
54
- const ctx_r4 = i0.ɵɵnextContext();
55
- i0.ɵɵproperty("searchTypes", ctx_r4.searchTypes)("searchType", i0.ɵɵpipeBind1(1, 2, ctx_r4.searchType$));
56
- } }
57
- function SearchBarComponent_igo_search_settings_15_Template(rf, ctx) { if (rf & 1) {
58
- const _r11 = i0.ɵɵgetCurrentView();
59
- i0.ɵɵelementStart(0, "igo-search-settings", 15);
60
- i0.ɵɵlistener("pointerSummaryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_pointerSummaryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.pointerSummaryStatus.emit($event)); })("searchResultsGeometryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_searchResultsGeometryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.searchResultsGeometryStatus.emit($event)); })("searchSourceChange", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_searchSourceChange_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onSearchSettingsChange()); });
61
- i0.ɵɵelementEnd();
62
- } if (rf & 2) {
63
- const ctx_r5 = i0.ɵɵnextContext();
64
- i0.ɵɵproperty("pointerSummaryEnabled", ctx_r5.pointerSummaryEnabled)("searchResultsGeometryEnabled", ctx_r5.searchResultsGeometryEnabled);
65
- } }
66
- const _c1 = function (a0) { return { empty: a0 }; };
67
- const _c2 = function (a0) { return { "hasSearchIcon": a0 }; };
68
- /**
69
- * Searchbar that triggers a research in all search sources enabled.
70
- * If the store input is defined, the search results will be loaded
71
- * into that store. An event is always emitted when a research is completed.
72
- */
73
- export class SearchBarComponent {
74
- constructor(configService, searchService, searchSourceService) {
75
- this.configService = configService;
76
- this.searchService = searchService;
77
- this.searchSourceService = searchSourceService;
78
- this.placeholder$ = new BehaviorSubject('igo.geo.search.placeholder');
79
- this.empty$ = new BehaviorSubject(true);
80
- /**
81
- * Search term stream
82
- */
83
- this.stream$ = new BehaviorSubject('');
84
- /**
85
- * whether to show search button or not
86
- */
87
- this.showSearchButton = false;
88
- /**
89
- * List of available search types
90
- */
91
- this.searchTypes = SEARCH_TYPES;
92
- this.searchType$ = new BehaviorSubject(undefined);
93
- /**
94
- * Event emitted when the pointer summary is activated by the searchbar setting
95
- */
96
- this.pointerSummaryStatus = new EventEmitter();
97
- /**
98
- * Event emitted when the show geometry setting is changed
99
- */
100
- this.searchResultsGeometryStatus = new EventEmitter();
101
- this.term$ = new BehaviorSubject('');
102
- this.disabled$ = new BehaviorSubject(false);
103
- this.pointerSummaryEnabled = false;
104
- this.searchResultsGeometryEnabled = false;
105
- /**
106
- * Whether a float label should be displayed
107
- */
108
- this.floatLabel = 'never';
109
- this.appearance = 'legacy';
110
- /**
111
- * Icons color (search and clear)
112
- */
113
- this.color = 'primary';
114
- this.termSplitter = '|';
115
- /**
116
- * Debounce time between each keystroke
117
- */
118
- this.debounce = 200;
119
- /**
120
- * Minimum term length required to trigger a research
121
- */
122
- this.minLength = 2;
123
- /**
124
- * Search Selector
125
- */
126
- this.searchSelector = false;
127
- /**
128
- * Search Settings
129
- */
130
- this.searchSettings = false;
131
- /**
132
- * Force coordinates in north america
133
- */
134
- this.forceNA = false;
135
- /**
136
- * Event emitted when the search term changes
137
- */
138
- this.searchTermChange = new EventEmitter();
139
- /**
140
- * Event emitted when a research is completed
141
- */
142
- this.search = new EventEmitter();
143
- /**
144
- * Event emitted when the search type changes
145
- */
146
- this.searchTypeChange = new EventEmitter();
147
- /**
148
- * Event emitted when the search type changes
149
- */
150
- this.clearFeature = new EventEmitter();
151
- /**
152
- * Event emitted when the search settings changes
153
- */
154
- this.searchSettingsChange = new EventEmitter();
155
- }
156
- /**
157
- * Search term
158
- */
159
- set searchType(value) {
160
- this.setSearchType(value);
161
- }
162
- get searchType() {
163
- return this.searchType$.value;
164
- }
165
- /**
166
- * Search term
167
- */
168
- set term(value) {
169
- this.setTerm(value);
170
- }
171
- get term() {
172
- return this.term$.value;
173
- }
174
- /**
175
- * Whether this component is disabled
176
- */
177
- set disabled(value) {
178
- this.disabled$.next(value);
179
- }
180
- get disabled() {
181
- return this.disabled$.value;
182
- }
183
- /**
184
- * Whether the search bar is empty
185
- * @internal
186
- */
187
- get empty() {
188
- return this.term.length === 0;
189
- }
190
- /**
191
- * Subscribe to the search term stream and trigger researches
192
- * @internal
193
- */
194
- ngOnInit() {
195
- this.term$$ = this.term$.subscribe((term) => {
196
- this.empty$.next(term === undefined || term.length === 0);
197
- });
198
- this.stream$$ = this.stream$
199
- .pipe(debounce(() => timer(this.debounce)))
200
- .subscribe((term) => this.onSetTerm(term));
201
- this.handlePlaceholder();
202
- this.searchType$$ = this.searchType$
203
- .pipe(distinctUntilChanged())
204
- .subscribe((searchType) => this.onSetSearchType(searchType));
205
- const configValue = this.configService.getConfig("searchBar.showSearchButton");
206
- this.showSearchButton = configValue !== undefined ? configValue : false;
207
- }
208
- /**
209
- * Unsubscribe to the search term stream
210
- * @internal
211
- */
212
- ngOnDestroy() {
213
- this.term$$.unsubscribe();
214
- this.stream$$.unsubscribe();
215
- this.searchType$$.unsubscribe();
216
- }
217
- /**
218
- * When a user types, validates the key and send it into the
219
- * stream if it's valid
220
- * @param event Keyboard event
221
- * @internal
222
- */
223
- onKeyup(event) {
224
- const key = event.key;
225
- if (!this.keyIsValid(key)) {
226
- return;
227
- }
228
- const term = event.target.value;
229
- this.setTerm(term);
230
- }
231
- /**
232
- * Clear the stream and the input
233
- * @internal
234
- */
235
- onClearButtonClick() {
236
- this.clear();
237
- this.clearFeature.emit();
238
- }
239
- /**
240
- * Update search type
241
- * @param searchType Enabled search type
242
- * @internal
243
- */
244
- onSearchTypeChange(searchType) {
245
- this.setSearchType(searchType);
246
- }
247
- /**
248
- * Update the placeholder with the enabled search type. The placeholder
249
- * for all availables search typers needs to be defined in the locale
250
- * files or an error will be thrown.
251
- * @param searchType Enabled search type
252
- * @internal
253
- */
254
- setSearchType(searchType) {
255
- this.searchType$.next(searchType);
256
- }
257
- onSearchSettingsChange() {
258
- this.doSearch(this.term);
259
- this.searchSettingsChange.emit();
260
- this.handlePlaceholder();
261
- }
262
- /**
263
- * Send the term into the stream only if this component is not disabled
264
- * @param term Search term
265
- */
266
- setTerm(term) {
267
- if (this.disabled) {
268
- return;
269
- }
270
- term = term || '';
271
- if (term !== this.term) {
272
- this.term$.next(term);
273
- }
274
- const slug = term.replace(/(#[^\s]*)/g, '').trim();
275
- if (slug.length >= this.minLength || slug.length === 0) {
276
- this.stream$.next(term);
277
- }
278
- }
279
- /**
280
- * Clear the stream and the input
281
- */
282
- clear() {
283
- this.term$.next('');
284
- this.stream$.next('');
285
- this.input.nativeElement.focus();
286
- }
287
- /**
288
- * Validate if a given key stroke is a valid input
289
- */
290
- keyIsValid(key) {
291
- return SearchBarComponent.invalidKeys.indexOf(key) === -1;
292
- }
293
- /**
294
- * When the search term changes, emit an event and trigger a
295
- * research in every enabled search sources.
296
- * @param term Search term
297
- */
298
- onSetTerm(term) {
299
- this.searchTermChange.emit(term);
300
- this.doSearch(term);
301
- }
302
- handlePlaceholder() {
303
- const searchTypes = [
304
- ...new Set(this.searchSourceService
305
- .getEnabledSources()
306
- .filter((ss) => !['map', 'coordinatesreverse'].includes(ss.getId()))
307
- .map((ss) => ss.getType()))
308
- ];
309
- let placeholder = `igo.geo.search.placeholder`;
310
- if (searchTypes.length === 1) {
311
- placeholder = `igo.geo.search.${searchTypes[0].toLowerCase()}.placeholder`;
312
- }
313
- else if (searchTypes.length === 0) {
314
- placeholder = `igo.geo.search.emptyType.placeholder`;
315
- }
316
- this.placeholder$.next(placeholder);
317
- }
318
- onSetSearchType(searchType) {
319
- if (searchType === undefined || searchType === null) {
320
- return;
321
- }
322
- this.searchTypeChange.emit(searchType);
323
- const placeholder = `igo.geo.search.${searchType.toLowerCase()}.placeholder`;
324
- this.placeholder$.next(placeholder);
325
- this.setTerm(this.term);
326
- }
327
- /**
328
- * Execute the search
329
- * @param term Search term
330
- */
331
- doSearch(rawTerm) {
332
- if (this.researches$$) {
333
- this.researches$$.map((research) => research.unsubscribe());
334
- this.researches$$ = undefined;
335
- }
336
- let terms;
337
- if (this.termSplitter && rawTerm.match(new RegExp(this.termSplitter, 'g'))) {
338
- terms = rawTerm.split(this.termSplitter).filter((t) => t.length >= this.minLength);
339
- if (this.store) {
340
- this.store.clear();
341
- }
342
- }
343
- else {
344
- terms = [rawTerm];
345
- }
346
- let researches = [];
347
- terms.map((term) => {
348
- const slug = term ? term.replace(/(#[^\s]*)/g, '').trim() : '';
349
- if (slug === '') {
350
- if (this.store !== undefined) {
351
- this.store.clear();
352
- }
353
- return;
354
- }
355
- researches = researches.concat(this.searchService.search(term, {
356
- forceNA: this.forceNA
357
- }));
358
- });
359
- this.researches$$ = researches.map((research) => {
360
- return research.request.subscribe((results) => {
361
- this.onResearchCompleted(research, results);
362
- });
363
- });
364
- }
365
- /**
366
- * When a research is completed, emit an event and update
367
- * the store's items.
368
- * @param research Research
369
- * @param results Research results
370
- */
371
- onResearchCompleted(research, results) {
372
- this.search.emit({ research, results });
373
- if (this.store !== undefined) {
374
- const newResults = this.store
375
- .all()
376
- .filter((result) => result.source !== research.source)
377
- .concat(results);
378
- this.store.updateMany(newResults);
379
- }
380
- }
381
- }
382
- /**
383
- * Invalid keys
384
- */
385
- SearchBarComponent.invalidKeys = [
386
- 'Control',
387
- 'Shift',
388
- 'Alt',
389
- 'ArrowDown',
390
- 'ArrowUp',
391
- 'ArrowRight',
392
- 'ArrowLeft'
393
- ];
394
- SearchBarComponent.ɵfac = function SearchBarComponent_Factory(t) { return new (t || SearchBarComponent)(i0.ɵɵdirectiveInject(i1.ConfigService), i0.ɵɵdirectiveInject(i2.SearchService), i0.ɵɵdirectiveInject(i3.SearchSourceService)); };
395
- SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBarComponent, selectors: [["igo-search-bar"]], viewQuery: function SearchBarComponent_Query(rf, ctx) { if (rf & 1) {
396
- i0.ɵɵviewQuery(_c0, 7);
397
- } if (rf & 2) {
398
- let _t;
399
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
400
- } }, inputs: { searchTypes: "searchTypes", searchType: "searchType", term: "term", disabled: "disabled", pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", label: "label", color: "color", termSplitter: "termSplitter", debounce: "debounce", minLength: "minLength", searchSelector: "searchSelector", searchSettings: "searchSettings", forceNA: "forceNA", store: "store" }, outputs: { pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", searchTermChange: "searchTermChange", search: "search", searchTypeChange: "searchTypeChange", clearFeature: "clearFeature", searchSettingsChange: "searchSettingsChange" }, decls: 16, vars: 28, consts: [[1, "igo-search-bar-container", 3, "ngClass"], [3, "floatLabel", "appearance"], [4, "ngIf"], ["matInput", "", "autocomplete", "off", 3, "ngClass", "disabled", "placeholder", "value", "keyup", "touchend"], ["input", ""], [1, "search-bar-buttons"], ["mat-icon-button", "", 3, "color", "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", 3, "color", 4, "ngIf"], [3, "searchTypes", "searchType", "searchTypeChange", 4, "ngIf"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "searchSourceChange", 4, "ngIf"], ["mat-icon-button", "", 3, "color", "matTooltip", "click"], ["svgIcon", "close"], ["mat-icon-button", "", 3, "color"], ["svgIcon", "magnify"], [3, "searchTypes", "searchType", "searchTypeChange"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "searchSourceChange"]], template: function SearchBarComponent_Template(rf, ctx) { if (rf & 1) {
401
- i0.ɵɵelementStart(0, "div", 0);
402
- i0.ɵɵpipe(1, "async");
403
- i0.ɵɵelementStart(2, "mat-form-field", 1);
404
- i0.ɵɵtemplate(3, SearchBarComponent_mat_label_3_Template, 2, 1, "mat-label", 2);
405
- i0.ɵɵelementStart(4, "input", 3, 4);
406
- i0.ɵɵlistener("keyup", function SearchBarComponent_Template_input_keyup_4_listener($event) { return ctx.onKeyup($event); })("touchend", function SearchBarComponent_Template_input_touchend_4_listener($event) { return ctx.onKeyup($event); });
407
- i0.ɵɵpipe(6, "async");
408
- i0.ɵɵpipe(7, "async");
409
- i0.ɵɵpipe(8, "translate");
410
- i0.ɵɵpipe(9, "async");
411
- i0.ɵɵelementEnd()();
412
- i0.ɵɵelementStart(10, "div", 5);
413
- i0.ɵɵtemplate(11, SearchBarComponent_button_11_Template, 3, 4, "button", 6);
414
- i0.ɵɵpipe(12, "async");
415
- i0.ɵɵtemplate(13, SearchBarComponent_button_13_Template, 2, 1, "button", 7);
416
- i0.ɵɵtemplate(14, SearchBarComponent_igo_search_selector_14_Template, 2, 4, "igo-search-selector", 8);
417
- i0.ɵɵtemplate(15, SearchBarComponent_igo_search_settings_15_Template, 1, 2, "igo-search-settings", 9);
418
- i0.ɵɵelementEnd()();
419
- } if (rf & 2) {
420
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(24, _c1, i0.ɵɵpipeBind1(1, 12, ctx.empty$)));
421
- i0.ɵɵadvance(2);
422
- i0.ɵɵproperty("floatLabel", ctx.floatLabel)("appearance", ctx.appearance);
423
- i0.ɵɵadvance(1);
424
- i0.ɵɵproperty("ngIf", ctx.label);
425
- i0.ɵɵadvance(1);
426
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(26, _c2, ctx.showSearchButton))("disabled", i0.ɵɵpipeBind1(6, 14, ctx.disabled$))("placeholder", ctx.placeholder ? ctx.placeholder : i0.ɵɵpipeBind1(7, 16, ctx.placeholder$) ? i0.ɵɵpipeBind1(8, 18, ctx.placeholder$.value) : undefined)("value", i0.ɵɵpipeBind1(9, 20, ctx.term$));
427
- i0.ɵɵadvance(7);
428
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(12, 22, ctx.empty$) === false);
429
- i0.ɵɵadvance(2);
430
- i0.ɵɵproperty("ngIf", ctx.showSearchButton);
431
- i0.ɵɵadvance(1);
432
- i0.ɵɵproperty("ngIf", ctx.searchSelector);
433
- i0.ɵɵadvance(1);
434
- i0.ɵɵproperty("ngIf", ctx.searchSettings);
435
- } }, dependencies: [i4.NgClass, i4.NgIf, i5.MatTooltip, i6.MatIcon, i7.MatButton, i8.MatFormField, i8.MatLabel, i9.MatInput, i10.SearchSelectorComponent, i11.SearchSettingsComponent, i4.AsyncPipe, i12.TranslatePipe], styles: ["[_nghost-%COMP%] .mat-form-field{padding:0 5px}[_nghost-%COMP%] .mat-form-field-wrapper{margin-bottom:-1.5em}[_nghost-%COMP%] span.mat-form-field-label-wrapper{top:-20px}[_nghost-%COMP%] div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}[_nghost-%COMP%] div.mat-form-field-underline{display:none}.igo-search-bar-container[_ngcontent-%COMP%]{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 80px)}.igo-search-bar-container.empty[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 40px)}.search-bar-buttons[_ngcontent-%COMP%]{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}igo-search-settings[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}"], changeDetection: 0 });
436
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchBarComponent, [{
437
- type: Component,
438
- args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{empty: empty$ | async}\">\n <mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input\n #input\n matInput\n autocomplete=\"off\"\n [ngClass]=\"{'hasSearchIcon': showSearchButton}\"\n [disabled]=\"disabled$ | async\"\n [placeholder]=\"placeholder ? placeholder : (placeholder$ | async) ? (placeholder$.value | translate) : undefined\"\n [value]=\"term$ | async\"\n (keyup)=\"onKeyup($event)\"\n (touchend)=\"onKeyup($event)\">\n </mat-form-field>\n\n <div class=\"search-bar-buttons\">\n <button *ngIf=\"(empty$ | async)===false\"\n mat-icon-button\n [color]=\"color\"\n (click)=\"onClearButtonClick()\"\n [matTooltip]=\"'igo.geo.search.clearSearch' | translate\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n \n <button *ngIf=\"showSearchButton\"\n mat-icon-button\n [color]=\"color\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <igo-search-selector\n *ngIf=\"searchSelector\"\n [searchTypes]=\"searchTypes\"\n [searchType]=\"searchType$ | async\"\n (searchTypeChange)=\"onSearchTypeChange($event)\">\n </igo-search-selector>\n\n <igo-search-settings\n *ngIf=\"searchSettings\"\n [pointerSummaryEnabled]=\"pointerSummaryEnabled\"\n (pointerSummaryStatus)=\"pointerSummaryStatus.emit($event)\"\n [searchResultsGeometryEnabled]=\"searchResultsGeometryEnabled\"\n (searchResultsGeometryStatus)=\"searchResultsGeometryStatus.emit($event)\"\n (searchSourceChange)=\"onSearchSettingsChange()\">\n </igo-search-settings>\n </div>\n</div>\n", styles: [":host ::ng-deep .mat-form-field{padding:0 5px}:host ::ng-deep .mat-form-field-wrapper{margin-bottom:-1.5em}:host ::ng-deep span.mat-form-field-label-wrapper{top:-20px}:host ::ng-deep div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}:host ::ng-deep div.mat-form-field-underline{display:none}.igo-search-bar-container{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container>mat-form-field{width:calc(100% - 80px)}.igo-search-bar-container.empty>mat-form-field{width:calc(100% - 40px)}.search-bar-buttons{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons>button:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector{background-color:#fff;top:0;border-radius:0}igo-search-settings{background-color:#fff;top:0;border-radius:0}\n"] }]
439
- }], function () { return [{ type: i1.ConfigService }, { type: i2.SearchService }, { type: i3.SearchSourceService }]; }, { searchTypes: [{
440
- type: Input
441
- }], searchType: [{
442
- type: Input
443
- }], pointerSummaryStatus: [{
444
- type: Output
445
- }], searchResultsGeometryStatus: [{
446
- type: Output
447
- }], term: [{
448
- type: Input
449
- }], disabled: [{
450
- type: Input
451
- }], pointerSummaryEnabled: [{
452
- type: Input
453
- }], searchResultsGeometryEnabled: [{
454
- type: Input
455
- }], floatLabel: [{
456
- type: Input
457
- }], appearance: [{
458
- type: Input
459
- }], placeholder: [{
460
- type: Input
461
- }], label: [{
462
- type: Input
463
- }], color: [{
464
- type: Input
465
- }], termSplitter: [{
466
- type: Input
467
- }], debounce: [{
468
- type: Input
469
- }], minLength: [{
470
- type: Input
471
- }], searchSelector: [{
472
- type: Input
473
- }], searchSettings: [{
474
- type: Input
475
- }], forceNA: [{
476
- type: Input
477
- }], store: [{
478
- type: Input
479
- }], searchTermChange: [{
480
- type: Output
481
- }], search: [{
482
- type: Output
483
- }], searchTypeChange: [{
484
- type: Output
485
- }], clearFeature: [{
486
- type: Output
487
- }], searchSettingsChange: [{
488
- type: Output
489
- }], input: [{
490
- type: ViewChild,
491
- args: ['input', { static: true }]
492
- }] }); })();
493
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0lDbkJsRCxpQ0FBeUI7SUFBQSxZQUFTO0lBQUEsaUJBQVk7OztJQUFyQixlQUFTO0lBQVQsa0NBQVM7Ozs7SUFjbEMsa0NBSTBEO0lBRHhELG1LQUFTLGVBQUEsMkJBQW9CLENBQUEsSUFBQzs7SUFFOUIsK0JBQXFDO0lBQ3ZDLGlCQUFTOzs7SUFKUCxvQ0FBZSxrRUFBQTs7O0lBTWpCLGtDQUVrQjtJQUNoQiwrQkFBdUM7SUFDekMsaUJBQVM7OztJQUZQLG9DQUFlOzs7O0lBSWpCLCtDQUlrRDtJQUFoRCx5TkFBb0IsZUFBQSxpQ0FBMEIsQ0FBQSxJQUFDOztJQUNqRCxpQkFBc0I7OztJQUhwQixnREFBMkIsd0RBQUE7Ozs7SUFLN0IsK0NBTWtEO0lBSGhELG1PQUF3QixlQUFBLHlDQUFpQyxDQUFBLElBQUMsb09BRTNCLGVBQUEsZ0RBQXdDLENBQUEsSUFGYiw0TUFH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QUFyQixNQUFNO1lBS0csb0JBQW9CO2tCQUE3QixNQUFNO1lBTStCLEtBQUs7a0JBQTFDLFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZsb2F0TGFiZWxUeXBlLFxuICBNYXRGb3JtRmllbGRBcHBlYXJhbmNlXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgU0VBUkNIX1RZUEVTIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5lbnVtcyc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQsIFJlc2VhcmNoIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlYXJjaGJhciB0aGF0IHRyaWdnZXJzIGEgcmVzZWFyY2ggaW4gYWxsIHNlYXJjaCBzb3VyY2VzIGVuYWJsZWQuXG4gKiBJZiB0aGUgc3RvcmUgaW5wdXQgaXMgZGVmaW5lZCwgdGhlIHNlYXJjaCByZXN1bHRzIHdpbGwgYmUgbG9hZGVkXG4gKiBpbnRvIHRoYXQgc3RvcmUuIEFuIGV2ZW50IGlzIGFsd2F5cyBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEludmFsaWQga2V5c1xuICAgKi9cbiAgc3RhdGljIGludmFsaWRLZXlzID0gW1xuICAgICdDb250cm9sJyxcbiAgICAnU2hpZnQnLFxuICAgICdBbHQnLFxuICAgICdBcnJvd0Rvd24nLFxuICAgICdBcnJvd1VwJyxcbiAgICAnQXJyb3dSaWdodCcsXG4gICAgJ0Fycm93TGVmdCdcbiAgXTtcblxuICByZWFkb25seSBwbGFjZWhvbGRlciQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICAnaWdvLmdlby5zZWFyY2gucGxhY2Vob2xkZXInXG4gICk7XG5cbiAgcmVhZG9ubHkgZW1wdHkkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNzZWFyY2ggYmFyIHRlcm1cbiAgICovXG4gIHByaXZhdGUgdGVybSQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFNlYXJjaCB0ZXJtIHN0cmVhbVxuICAgKi9cbiAgcHJpdmF0ZSBzdHJlYW0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbVxuICAgKi9cbiAgcHJpdmF0ZSBzdHJlYW0kJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNlYXJjaCB0eXBlXG4gICAqL1xuICBwcml2YXRlIHNlYXJjaFR5cGUkJDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVzZWFyY2hlcyQkOiBTdWJzY3JpcHRpb25bXTtcblxuICAvKipcbiAgICogd2hldGhlciB0byBzaG93IHNlYXJjaCBidXR0b24gb3Igbm90XG4gICAqL1xuXG4gIHB1YmxpYyBzaG93U2VhcmNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCB0eXBlc1xuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoVHlwZXM6IHN0cmluZ1tdID0gU0VBUkNIX1RZUEVTO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaFR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0U2VhcmNoVHlwZSh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNlYXJjaFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hUeXBlJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBzZWFyY2hUeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvaW50ZXIgc3VtbWFyeSBpcyBhY3RpdmF0ZWQgYnkgdGhlIHNlYXJjaGJhciBzZXR0aW5nXG4gICAqL1xuICBAT3V0cHV0KCkgcG9pbnRlclN1bW1hcnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2hvdyBnZW9tZXRyeSBzZXR0aW5nIGlzIGNoYW5nZWRcbiAgICovXG4gICBAT3V0cHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHRlcm0odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0VGVybSh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSB0ZXJtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGNvbXBvbmVudCBpcyBkaXNhYmxlZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBkaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBJbnB1dCgpIHBvaW50ZXJTdW1tYXJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgZmxvYXQgbGFiZWwgc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGUgPSAnbmV2ZXInO1xuXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSAnbGVnYWN5JztcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEljb25zIGNvbG9yIChzZWFyY2ggYW5kIGNsZWFyKVxuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KCkgdGVybVNwbGl0dGVyOiBzdHJpbmcgPSAnfCc7XG5cbiAgLyoqXG4gICAqIERlYm91bmNlIHRpbWUgYmV0d2VlbiBlYWNoIGtleXN0cm9rZVxuICAgKi9cbiAgQElucHV0KCkgZGVib3VuY2UgPSAyMDA7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gdGVybSBsZW5ndGggcmVxdWlyZWQgdG8gdHJpZ2dlciBhIHJlc2VhcmNoXG4gICAqL1xuICBASW5wdXQoKSBtaW5MZW5ndGggPSAyO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggU2VsZWN0b3JcbiAgICovXG4gIEBJbnB1dCgpIHNlYXJjaFNlbGVjdG9yID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBTZXR0aW5nc1xuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoU2V0dGluZ3MgPSBmYWxzZTtcblxuICAvKipcbiAgICogRm9yY2UgY29vcmRpbmF0ZXMgaW4gbm9ydGggYW1lcmljYVxuICAgKi9cbiAgQElucHV0KCkgZm9yY2VOQSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0cyBzdG9yZVxuICAgKi9cbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD47XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFRlcm1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzZWFyY2ggaXMgY29tcGxldGVkXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgcmVzZWFyY2g6IFJlc2VhcmNoO1xuICAgIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdO1xuICB9PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0eXBlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHR5cGUgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIGNsZWFyRmVhdHVyZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggc2V0dGluZ3MgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFNldHRpbmdzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBlbGVtZW50XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIGJhciBpcyBlbXB0eVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHRoZSBzZWFyY2ggdGVybSBzdHJlYW0gYW5kIHRyaWdnZXIgcmVzZWFyY2hlc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGVybSQkID0gdGhpcy50ZXJtJC5zdWJzY3JpYmUoKHRlcm06IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5lbXB0eSQubmV4dCh0ZXJtID09PSB1bmRlZmluZWQgfHwgdGVybS5sZW5ndGggPT09IDApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdHJlYW0kJCA9IHRoaXMuc3RyZWFtJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlKCgpID0+IHRpbWVyKHRoaXMuZGVib3VuY2UpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodGVybTogc3RyaW5nKSA9PiB0aGlzLm9uU2V0VGVybSh0ZXJtKSk7XG5cbiAgICB0aGlzLmhhbmRsZVBsYWNlaG9sZGVyKCk7XG5cbiAgICB0aGlzLnNlYXJjaFR5cGUkJCA9IHRoaXMuc2VhcmNoVHlwZSRcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKChzZWFyY2hUeXBlOiBzdHJpbmcpID0+IHRoaXMub25TZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGUpKTtcblxuICAgIGNvbnN0IGNvbmZpZ1ZhbHVlID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZyhcInNlYXJjaEJhci5zaG93U2VhcmNoQnV0dG9uXCIpO1xuICAgIHRoaXMuc2hvd1NlYXJjaEJ1dHRvbiA9IGNvbmZpZ1ZhbHVlICE9PSB1bmRlZmluZWQgPyBjb25maWdWYWx1ZSA6IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuc3Vic2NyaWJlIHRvIHRoZSBzZWFyY2ggdGVybSBzdHJlYW1cbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRlcm0kJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3RyZWFtJCQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnNlYXJjaFR5cGUkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSB1c2VyIHR5cGVzLCB2YWxpZGF0ZXMgdGhlIGtleSBhbmQgc2VuZCBpdCBpbnRvIHRoZVxuICAgKiBzdHJlYW0gaWYgaXQncyB2YWxpZFxuICAgKiBAcGFyYW0gZXZlbnQgS2V5Ym9hcmQgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgIGlmICghdGhpcy5rZXlJc1ZhbGlkKGtleSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGVybSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5zZXRUZXJtKHRlcm0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoZSBzdHJlYW0gYW5kIHRoZSBpbnB1dFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uQ2xlYXJCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5jbGVhckZlYXR1cmUuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBzZWFyY2ggdHlwZVxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBFbmFibGVkIHNlYXJjaCB0eXBlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25TZWFyY2hUeXBlQ2hhbmdlKHNlYXJjaFR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHBsYWNlaG9sZGVyIHdpdGggdGhlIGVuYWJsZWQgc2VhcmNoIHR5cGUuIFRoZSBwbGFjZWhvbGRlclxuICAgKiBmb3IgYWxsIGF2YWlsYWJsZXMgc2VhcmNoIHR5cGVycyBuZWVkcyB0byBiZSBkZWZpbmVkIGluIHRoZSBsb2NhbGVcbiAgICogZmlsZXMgb3IgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uXG4gICAqIEBwYXJhbSBzZWFyY2hUeXBlIEVuYWJsZWQgc2VhcmNoIHR5cGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBzZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoVHlwZSQubmV4dChzZWFyY2hUeXBlKTtcbiAgfVxuXG4gIG9uU2VhcmNoU2V0dGluZ3NDaGFuZ2UoKSB7XG4gICAgdGhpcy5kb1NlYXJjaCh0aGlzLnRlcm0pO1xuICAgIHRoaXMuc2VhcmNoU2V0dGluZ3NDaGFuZ2UuZW1pdCgpO1xuICAgIHRoaXMuaGFuZGxlUGxhY2Vob2xkZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIHRoZSB0ZXJtIGludG8gdGhlIHN0cmVhbSBvbmx5IGlmIHRoaXMgY29tcG9uZW50IGlzIG5vdCBkaXNhYmxlZFxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxuICAgKi9cbiAgc2V0VGVybSh0ZXJtOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRlcm0gPSB0ZXJtIHx8ICcnO1xuXG4gICAgaWYgKHRlcm0gIT09IHRoaXMudGVybSkge1xuICAgICAgdGhpcy50ZXJtJC5uZXh0KHRlcm0pO1xuICAgIH1cblxuICAgIGNvbnN0IHNsdWcgPSB0ZXJtLnJlcGxhY2UoLygjW15cXHNdKikvZywgJycpLnRyaW0oKTtcbiAgICBpZiAoc2x1Zy5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGggfHwgc2x1Zy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc3RyZWFtJC5uZXh0KHRlcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgc3RyZWFtIGFuZCB0aGUgaW5wdXRcbiAgICovXG4gIHByaXZhdGUgY2xlYXIoKSB7XG4gICAgdGhpcy50ZXJtJC5uZXh0KCcnKTtcbiAgICB0aGlzLnN0cmVhbSQubmV4dCgnJyk7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgaWYgYSBnaXZlbiBrZXkgc3Ryb2tlIGlzIGEgdmFsaWQgaW5wdXRcbiAgICovXG4gIHByaXZhdGUga2V5SXNWYWxpZChrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBTZWFyY2hCYXJDb21wb25lbnQuaW52YWxpZEtleXMuaW5kZXhPZihrZXkpID09PSAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBzZWFyY2ggdGVybSBjaGFuZ2VzLCBlbWl0IGFuIGV2ZW50IGFuZCB0cmlnZ2VyIGFcbiAgICogcmVzZWFyY2ggaW4gZXZlcnkgZW5hYmxlZCBzZWFyY2ggc291cmNlcy5cbiAgICogQHBhcmFtIHRlcm0gU2VhcmNoIHRlcm1cbiAgICovXG4gIHByaXZhdGUgb25TZXRUZXJtKHRlcm06IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2VhcmNoVGVybUNoYW5nZS5lbWl0KHRlcm0pO1xuICAgIHRoaXMuZG9TZWFyY2godGVybSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBsYWNlaG9sZGVyKCkge1xuICAgIGNvbnN0IHNlYXJjaFR5cGVzID0gW1xuICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcbiAgICAgICAgICAuZmlsdGVyKChzcykgPT4gIVsnbWFwJywgJ2Nvb3JkaW5hdGVzcmV2ZXJzZSddLmluY2x1ZGVzKHNzLmdldElkKCkpKVxuICAgICAgICAgIC5tYXAoKHNzKSA9PiBzcy5nZXRUeXBlKCkpXG4gICAgICApXG4gICAgXTtcblxuICAgIGxldCBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC5wbGFjZWhvbGRlcmA7XG4gICAgaWYgKHNlYXJjaFR5cGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcGxhY2Vob2xkZXIgPSBgaWdvLmdlby5zZWFyY2guJHtzZWFyY2hUeXBlc1swXS50b0xvd2VyQ2FzZSgpfS5wbGFjZWhvbGRlcmA7XG4gICAgfSBlbHNlIGlmIChzZWFyY2hUeXBlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLmVtcHR5VHlwZS5wbGFjZWhvbGRlcmA7XG4gICAgfVxuICAgIHRoaXMucGxhY2Vob2xkZXIkLm5leHQocGxhY2Vob2xkZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKHNlYXJjaFR5cGUgPT09IHVuZGVmaW5lZCB8fCBzZWFyY2hUeXBlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWFyY2hUeXBlQ2hhbmdlLmVtaXQoc2VhcmNoVHlwZSk7XG5cbiAgICBjb25zdCBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC4ke3NlYXJjaFR5cGUudG9Mb3dlckNhc2UoKX0ucGxhY2Vob2xkZXJgO1xuICAgIHRoaXMucGxhY2Vob2xkZXIkLm5leHQocGxhY2Vob2xkZXIpO1xuXG4gICAgdGhpcy5zZXRUZXJtKHRoaXMudGVybSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgc2VhcmNoXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXG4gICAqL1xuICBwcml2YXRlIGRvU2VhcmNoKHJhd1Rlcm06IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLnJlc2VhcmNoZXMkJCkge1xuICAgICAgdGhpcy5yZXNlYXJjaGVzJCQubWFwKChyZXNlYXJjaCkgPT4gcmVzZWFyY2gudW5zdWJzY3JpYmUoKSk7XG4gICAgICB0aGlzLnJlc2VhcmNoZXMkJCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgdGVybXM7XG4gICAgaWYgKHRoaXMudGVybVNwbGl0dGVyICYmIHJhd1Rlcm0ubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnRlcm1TcGxpdHRlciwgJ2cnKSkpIHtcbiAgICAgIHRlcm1zID0gcmF3VGVybS5zcGxpdCh0aGlzLnRlcm1TcGxpdHRlcikuZmlsdGVyKCh0KSA9PiB0Lmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aCk7XG4gICAgICBpZiAodGhpcy5zdG9yZSkge1xuICAgICAgICB0aGlzLnN0b3JlLmNsZWFyKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRlcm1zID0gW3Jhd1Rlcm1dO1xuICAgIH1cblxuICAgIGxldCByZXNlYXJjaGVzOiBSZXNlYXJjaFtdID0gW107XG4gICAgdGVybXMubWFwKCh0ZXJtOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHNsdWcgPSB0ZXJtID8gdGVybS5yZXBsYWNlKC8oI1teXFxzXSopL2csICcnKS50cmltKCkgOiAnJztcbiAgICAgIGlmIChzbHVnID09PSAnJykge1xuICAgICAgICBpZiAodGhpcy5zdG9yZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmVzZWFyY2hlcyA9IHJlc2VhcmNoZXMuY29uY2F0KHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2godGVybSwge1xuICAgICAgICBmb3JjZU5BOiB0aGlzLmZvcmNlTkFcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgICB0aGlzLnJlc2VhcmNoZXMkJCA9IHJlc2VhcmNoZXMubWFwKChyZXNlYXJjaCkgPT4ge1xuICAgICAgcmV0dXJuIHJlc2VhcmNoLnJlcXVlc3Quc3Vic2NyaWJlKChyZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSkgPT4ge1xuICAgICAgICB0aGlzLm9uUmVzZWFyY2hDb21wbGV0ZWQocmVzZWFyY2gsIHJlc3VsdHMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBhIHJlc2VhcmNoICBpcyBjb21wbGV0ZWQsIGVtaXQgYW4gZXZlbnQgYW5kIHVwZGF0ZVxuICAgKiB0aGUgc3RvcmUncyBpdGVtcy5cbiAgICogQHBhcmFtIHJlc2VhcmNoIFJlc2VhcmNoXG4gICAqIEBwYXJhbSByZXN1bHRzIFJlc2VhcmNoIHJlc3VsdHNcbiAgICovXG4gIHByaXZhdGUgb25SZXNlYXJjaENvbXBsZXRlZChyZXNlYXJjaDogUmVzZWFyY2gsIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKSB7XG4gICAgdGhpcy5zZWFyY2guZW1pdCh7IHJlc2VhcmNoLCByZXN1bHRzIH0pO1xuXG4gICAgaWYgKHRoaXMuc3RvcmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbmV3UmVzdWx0cyA9IHRoaXMuc3RvcmVcbiAgICAgICAgLmFsbCgpXG4gICAgICAgIC5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0LnNvdXJjZSAhPT0gcmVzZWFyY2guc291cmNlKVxuICAgICAgICAuY29uY2F0KHJlc3VsdHMpO1xuICAgICAgdGhpcy5zdG9yZS51cGRhdGVNYW55KG5ld1Jlc3VsdHMpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlnby1zZWFyY2gtYmFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cIntlbXB0eTogZW1wdHkkIHwgYXN5bmN9XCI+XG4gIDxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnaGFzU2VhcmNoSWNvbic6IHNob3dTZWFyY2hCdXR0b259XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IChwbGFjZWhvbGRlciQgfCBhc3luYykgPyAocGxhY2Vob2xkZXIkLnZhbHVlIHwgdHJhbnNsYXRlKSA6IHVuZGVmaW5lZFwiXG4gICAgICBbdmFsdWVdPVwidGVybSQgfCBhc3luY1wiXG4gICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcbiAgICAgICh0b3VjaGVuZCk9XCJvbktleXVwKCRldmVudClcIj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJhci1idXR0b25zXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cIihlbXB0eSQgfCBhc3luYyk9PT1mYWxzZVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAoY2xpY2spPVwib25DbGVhckJ1dHRvbkNsaWNrKClcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc2VhcmNoLmNsZWFyU2VhcmNoJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjbG9zZVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgXG4gICAgPGJ1dHRvbiAqbmdJZj1cInNob3dTZWFyY2hCdXR0b25cIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbY29sb3JdPVwiY29sb3JcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibWFnbmlmeVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8aWdvLXNlYXJjaC1zZWxlY3RvclxuICAgICAgKm5nSWY9XCJzZWFyY2hTZWxlY3RvclwiXG4gICAgICBbc2VhcmNoVHlwZXNdPVwic2VhcmNoVHlwZXNcIlxuICAgICAgW3NlYXJjaFR5cGVdPVwic2VhcmNoVHlwZSQgfCBhc3luY1wiXG4gICAgICAoc2VhcmNoVHlwZUNoYW5nZSk9XCJvblNlYXJjaFR5cGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDwvaWdvLXNlYXJjaC1zZWxlY3Rvcj5cblxuICAgIDxpZ28tc2VhcmNoLXNldHRpbmdzXG4gICAgICAqbmdJZj1cInNlYXJjaFNldHRpbmdzXCJcbiAgICAgIFtwb2ludGVyU3VtbWFyeUVuYWJsZWRdPVwicG9pbnRlclN1bW1hcnlFbmFibGVkXCJcbiAgICAgIChwb2ludGVyU3VtbWFyeVN0YXR1cyk9XCJwb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KCRldmVudClcIlxuICAgICAgW3NlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRdPVwic2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZFwiXG4gICAgICAoc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzKT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cy5lbWl0KCRldmVudClcIlxuICAgICAgKHNlYXJjaFNvdXJjZUNoYW5nZSk9XCJvblNlYXJjaFNldHRpbmdzQ2hhbmdlKClcIj5cbiAgICA8L2lnby1zZWFyY2gtc2V0dGluZ3M+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
1
+ import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject, timer } from 'rxjs';
3
+ import { debounce, distinctUntilChanged } from 'rxjs/operators';
4
+ import { SEARCH_TYPES } from '../shared/search.enums';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@igo2/core";
7
+ import * as i2 from "../shared/search.service";
8
+ import * as i3 from "../shared/search-source.service";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@angular/material/tooltip";
11
+ import * as i6 from "@angular/material/icon";
12
+ import * as i7 from "@angular/material/button";
13
+ import * as i8 from "@angular/material/form-field";
14
+ import * as i9 from "@angular/material/input";
15
+ import * as i10 from "../search-selector/search-selector.component";
16
+ import * as i11 from "../search-settings/search-settings.component";
17
+ import * as i12 from "@ngx-translate/core";
18
+ const _c0 = ["input"];
19
+ function SearchBarComponent_mat_label_3_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelementStart(0, "mat-label");
21
+ i0.ɵɵtext(1);
22
+ i0.ɵɵelementEnd();
23
+ } if (rf & 2) {
24
+ const ctx_r0 = i0.ɵɵnextContext();
25
+ i0.ɵɵadvance(1);
26
+ i0.ɵɵtextInterpolate(ctx_r0.label);
27
+ } }
28
+ function SearchBarComponent_button_11_Template(rf, ctx) { if (rf & 1) {
29
+ const _r7 = i0.ɵɵgetCurrentView();
30
+ i0.ɵɵelementStart(0, "button", 10);
31
+ i0.ɵɵlistener("click", function SearchBarComponent_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onClearButtonClick()); });
32
+ i0.ɵɵpipe(1, "translate");
33
+ i0.ɵɵelement(2, "mat-icon", 11);
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ const ctx_r2 = i0.ɵɵnextContext();
37
+ i0.ɵɵproperty("color", ctx_r2.color)("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.search.clearSearch"));
38
+ } }
39
+ function SearchBarComponent_button_13_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "button", 12);
41
+ i0.ɵɵelement(1, "mat-icon", 13);
42
+ i0.ɵɵelementEnd();
43
+ } if (rf & 2) {
44
+ const ctx_r3 = i0.ɵɵnextContext();
45
+ i0.ɵɵproperty("color", ctx_r3.color);
46
+ } }
47
+ function SearchBarComponent_igo_search_selector_14_Template(rf, ctx) { if (rf & 1) {
48
+ const _r9 = i0.ɵɵgetCurrentView();
49
+ i0.ɵɵelementStart(0, "igo-search-selector", 14);
50
+ i0.ɵɵlistener("searchTypeChange", function SearchBarComponent_igo_search_selector_14_Template_igo_search_selector_searchTypeChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onSearchTypeChange($event)); });
51
+ i0.ɵɵpipe(1, "async");
52
+ i0.ɵɵelementEnd();
53
+ } if (rf & 2) {
54
+ const ctx_r4 = i0.ɵɵnextContext();
55
+ i0.ɵɵproperty("searchTypes", ctx_r4.searchTypes)("searchType", i0.ɵɵpipeBind1(1, 2, ctx_r4.searchType$));
56
+ } }
57
+ function SearchBarComponent_igo_search_settings_15_Template(rf, ctx) { if (rf & 1) {
58
+ const _r11 = i0.ɵɵgetCurrentView();
59
+ i0.ɵɵelementStart(0, "igo-search-settings", 15);
60
+ i0.ɵɵlistener("pointerSummaryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_pointerSummaryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.pointerSummaryStatus.emit($event)); })("searchResultsGeometryStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_searchResultsGeometryStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.searchResultsGeometryStatus.emit($event)); })("reverseSearchCoordsFormatStatus", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_reverseSearchCoordsFormatStatus_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.reverseSearchCoordsFormatStatus.emit($event)); })("searchSourceChange", function SearchBarComponent_igo_search_settings_15_Template_igo_search_settings_searchSourceChange_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.onSearchSettingsChange()); });
61
+ i0.ɵɵelementEnd();
62
+ } if (rf & 2) {
63
+ const ctx_r5 = i0.ɵɵnextContext();
64
+ i0.ɵɵproperty("pointerSummaryEnabled", ctx_r5.pointerSummaryEnabled)("searchResultsGeometryEnabled", ctx_r5.searchResultsGeometryEnabled)("reverseSearchCoordsFormatEnabled", ctx_r5.reverseSearchCoordsFormatEnabled);
65
+ } }
66
+ const _c1 = function (a0) { return { empty: a0 }; };
67
+ const _c2 = function (a0) { return { "hasSearchIcon": a0 }; };
68
+ /**
69
+ * Searchbar that triggers a research in all search sources enabled.
70
+ * If the store input is defined, the search results will be loaded
71
+ * into that store. An event is always emitted when a research is completed.
72
+ */
73
+ export class SearchBarComponent {
74
+ constructor(configService, searchService, searchSourceService) {
75
+ this.configService = configService;
76
+ this.searchService = searchService;
77
+ this.searchSourceService = searchSourceService;
78
+ this.placeholder$ = new BehaviorSubject('igo.geo.search.placeholder');
79
+ this.empty$ = new BehaviorSubject(true);
80
+ /**
81
+ * Search term stream
82
+ */
83
+ this.stream$ = new BehaviorSubject('');
84
+ /**
85
+ * whether to show search button or not
86
+ */
87
+ this.showSearchButton = false;
88
+ /**
89
+ * List of available search types
90
+ */
91
+ this.searchTypes = SEARCH_TYPES;
92
+ this.searchType$ = new BehaviorSubject(undefined);
93
+ /**
94
+ * Event emitted when the pointer summary is activated by the searchbar setting
95
+ */
96
+ this.pointerSummaryStatus = new EventEmitter();
97
+ /**
98
+ * Event emitted when the show geometry setting is changed
99
+ */
100
+ this.searchResultsGeometryStatus = new EventEmitter();
101
+ /**
102
+ * Event emitted when the coords format setting is changed
103
+ */
104
+ this.reverseSearchCoordsFormatStatus = new EventEmitter();
105
+ this.term$ = new BehaviorSubject('');
106
+ this.disabled$ = new BehaviorSubject(false);
107
+ this.pointerSummaryEnabled = false;
108
+ this.searchResultsGeometryEnabled = false;
109
+ this._reverseSearchCoordsFormatEnabled = false;
110
+ /**
111
+ * Whether a float label should be displayed
112
+ */
113
+ this.floatLabel = 'never';
114
+ this.appearance = 'legacy';
115
+ /**
116
+ * Icons color (search and clear)
117
+ */
118
+ this.color = 'primary';
119
+ this.termSplitter = '|';
120
+ /**
121
+ * Debounce time between each keystroke
122
+ */
123
+ this.debounce = 200;
124
+ /**
125
+ * Minimum term length required to trigger a research
126
+ */
127
+ this.minLength = 2;
128
+ /**
129
+ * Search Selector
130
+ */
131
+ this.searchSelector = false;
132
+ /**
133
+ * Search Settings
134
+ */
135
+ this.searchSettings = false;
136
+ /**
137
+ * Force coordinates in north america
138
+ */
139
+ this.forceNA = false;
140
+ /**
141
+ * Event emitted when the search term changes
142
+ */
143
+ this.searchTermChange = new EventEmitter();
144
+ /**
145
+ * Event emitted when a research is completed
146
+ */
147
+ this.search = new EventEmitter();
148
+ /**
149
+ * Event emitted when the search type changes
150
+ */
151
+ this.searchTypeChange = new EventEmitter();
152
+ /**
153
+ * Event emitted when the search type changes
154
+ */
155
+ this.clearFeature = new EventEmitter();
156
+ /**
157
+ * Event emitted when the search settings changes
158
+ */
159
+ this.searchSettingsChange = new EventEmitter();
160
+ }
161
+ /**
162
+ * Search term
163
+ */
164
+ set searchType(value) {
165
+ this.setSearchType(value);
166
+ }
167
+ get searchType() {
168
+ return this.searchType$.value;
169
+ }
170
+ /**
171
+ * Search term
172
+ */
173
+ set term(value) {
174
+ this.setTerm(value);
175
+ }
176
+ get term() {
177
+ return this.term$.value;
178
+ }
179
+ /**
180
+ * Whether this component is disabled
181
+ */
182
+ set disabled(value) {
183
+ this.disabled$.next(value);
184
+ }
185
+ get disabled() {
186
+ return this.disabled$.value;
187
+ }
188
+ /**
189
+ * When reverse coordinates status change
190
+ */
191
+ get reverseSearchCoordsFormatEnabled() {
192
+ return this._reverseSearchCoordsFormatEnabled;
193
+ }
194
+ set reverseSearchCoordsFormatEnabled(value) {
195
+ this._reverseSearchCoordsFormatEnabled = value;
196
+ this.setTerm(this.term, true);
197
+ }
198
+ /**
199
+ * Whether the search bar is empty
200
+ * @internal
201
+ */
202
+ get empty() {
203
+ return this.term.length === 0;
204
+ }
205
+ /**
206
+ * Subscribe to the search term stream and trigger researches
207
+ * @internal
208
+ */
209
+ ngOnInit() {
210
+ this.term$$ = this.term$.subscribe((term) => {
211
+ this.empty$.next(term === undefined || term.length === 0);
212
+ });
213
+ this.stream$$ = this.stream$
214
+ .pipe(debounce(() => timer(this.debounce)))
215
+ .subscribe((term) => this.onSetTerm(term));
216
+ this.handlePlaceholder();
217
+ this.searchType$$ = this.searchType$
218
+ .pipe(distinctUntilChanged())
219
+ .subscribe((searchType) => this.onSetSearchType(searchType));
220
+ const configValue = this.configService.getConfig("searchBar.showSearchButton");
221
+ this.showSearchButton = configValue !== undefined ? configValue : false;
222
+ }
223
+ /**
224
+ * Unsubscribe to the search term stream
225
+ * @internal
226
+ */
227
+ ngOnDestroy() {
228
+ this.term$$.unsubscribe();
229
+ this.stream$$.unsubscribe();
230
+ this.searchType$$.unsubscribe();
231
+ }
232
+ /**
233
+ * When a user types, validates the key and send it into the
234
+ * stream if it's valid
235
+ * @param event Keyboard event
236
+ * @internal
237
+ */
238
+ onKeyup(event) {
239
+ const key = event.key;
240
+ if (!this.keyIsValid(key)) {
241
+ return;
242
+ }
243
+ const term = event.target.value;
244
+ this.setTerm(term);
245
+ }
246
+ /**
247
+ * Clear the stream and the input
248
+ * @internal
249
+ */
250
+ onClearButtonClick() {
251
+ this.clear();
252
+ this.clearFeature.emit();
253
+ }
254
+ /**
255
+ * Update search type
256
+ * @param searchType Enabled search type
257
+ * @internal
258
+ */
259
+ onSearchTypeChange(searchType) {
260
+ this.setSearchType(searchType);
261
+ }
262
+ /**
263
+ * Update the placeholder with the enabled search type. The placeholder
264
+ * for all availables search typers needs to be defined in the locale
265
+ * files or an error will be thrown.
266
+ * @param searchType Enabled search type
267
+ * @internal
268
+ */
269
+ setSearchType(searchType) {
270
+ this.searchType$.next(searchType);
271
+ }
272
+ onSearchSettingsChange() {
273
+ this.doSearch(this.term);
274
+ this.searchSettingsChange.emit();
275
+ this.handlePlaceholder();
276
+ }
277
+ /**
278
+ * Send the term into the stream only if this component is not disabled
279
+ * @param term Search term
280
+ */
281
+ setTerm(term, reverseCoordEvent) {
282
+ if (this.disabled) {
283
+ return;
284
+ }
285
+ term = term || '';
286
+ if (term !== this.term && !reverseCoordEvent) {
287
+ this.term$.next(term);
288
+ }
289
+ const slug = term.replace(/(#[^\s]*)/g, '').trim();
290
+ if (slug.length >= this.minLength || slug.length === 0) {
291
+ this.stream$.next(term);
292
+ }
293
+ }
294
+ /**
295
+ * Clear the stream and the input
296
+ */
297
+ clear() {
298
+ this.term$.next('');
299
+ this.stream$.next('');
300
+ this.input.nativeElement.focus();
301
+ }
302
+ /**
303
+ * Validate if a given key stroke is a valid input
304
+ */
305
+ keyIsValid(key) {
306
+ return SearchBarComponent.invalidKeys.indexOf(key) === -1;
307
+ }
308
+ /**
309
+ * When the search term changes, emit an event and trigger a
310
+ * research in every enabled search sources.
311
+ * @param term Search term
312
+ */
313
+ onSetTerm(term) {
314
+ this.searchTermChange.emit(term);
315
+ this.doSearch(term);
316
+ }
317
+ handlePlaceholder() {
318
+ const searchTypes = [
319
+ ...new Set(this.searchSourceService
320
+ .getEnabledSources()
321
+ .filter((ss) => !['map', 'coordinatesreverse'].includes(ss.getId()))
322
+ .map((ss) => ss.getType()))
323
+ ];
324
+ let placeholder = `igo.geo.search.placeholder`;
325
+ if (searchTypes.length === 1) {
326
+ placeholder = `igo.geo.search.${searchTypes[0].toLowerCase()}.placeholder`;
327
+ }
328
+ else if (searchTypes.length === 0) {
329
+ placeholder = `igo.geo.search.emptyType.placeholder`;
330
+ }
331
+ this.placeholder$.next(placeholder);
332
+ }
333
+ onSetSearchType(searchType) {
334
+ if (searchType === undefined || searchType === null) {
335
+ return;
336
+ }
337
+ this.searchTypeChange.emit(searchType);
338
+ const placeholder = `igo.geo.search.${searchType.toLowerCase()}.placeholder`;
339
+ this.placeholder$.next(placeholder);
340
+ this.setTerm(this.term);
341
+ }
342
+ /**
343
+ * Execute the search
344
+ * @param term Search term
345
+ */
346
+ doSearch(rawTerm) {
347
+ if (this.researches$$) {
348
+ this.researches$$.map((research) => research.unsubscribe());
349
+ this.researches$$ = undefined;
350
+ }
351
+ let terms;
352
+ if (this.termSplitter && rawTerm.match(new RegExp(this.termSplitter, 'g'))) {
353
+ terms = rawTerm.split(this.termSplitter).filter((t) => t.length >= this.minLength);
354
+ if (this.store) {
355
+ this.store.clear();
356
+ }
357
+ }
358
+ else {
359
+ terms = [rawTerm];
360
+ }
361
+ let researches = [];
362
+ terms.map((term) => {
363
+ const slug = term ? term.replace(/(#[^\s]*)/g, '').trim() : '';
364
+ if (slug === '') {
365
+ if (this.store !== undefined) {
366
+ this.store.clear();
367
+ }
368
+ return;
369
+ }
370
+ researches = researches.concat(this.searchService.search(term, {
371
+ forceNA: this.forceNA
372
+ }));
373
+ });
374
+ this.researches$$ = researches.map((research) => {
375
+ return research.request.subscribe((results) => {
376
+ this.onResearchCompleted(research, results);
377
+ });
378
+ });
379
+ }
380
+ /**
381
+ * When a research is completed, emit an event and update
382
+ * the store's items.
383
+ * @param research Research
384
+ * @param results Research results
385
+ */
386
+ onResearchCompleted(research, results) {
387
+ this.search.emit({ research, results });
388
+ if (this.store !== undefined) {
389
+ const newResults = this.store
390
+ .all()
391
+ .filter((result) => result.source !== research.source)
392
+ .concat(results);
393
+ this.store.updateMany(newResults);
394
+ }
395
+ }
396
+ }
397
+ /**
398
+ * Invalid keys
399
+ */
400
+ SearchBarComponent.invalidKeys = [
401
+ 'Control',
402
+ 'Shift',
403
+ 'Alt',
404
+ 'ArrowDown',
405
+ 'ArrowUp',
406
+ 'ArrowRight',
407
+ 'ArrowLeft'
408
+ ];
409
+ SearchBarComponent.ɵfac = function SearchBarComponent_Factory(t) { return new (t || SearchBarComponent)(i0.ɵɵdirectiveInject(i1.ConfigService), i0.ɵɵdirectiveInject(i2.SearchService), i0.ɵɵdirectiveInject(i3.SearchSourceService)); };
410
+ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBarComponent, selectors: [["igo-search-bar"]], viewQuery: function SearchBarComponent_Query(rf, ctx) { if (rf & 1) {
411
+ i0.ɵɵviewQuery(_c0, 7);
412
+ } if (rf & 2) {
413
+ let _t;
414
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
415
+ } }, inputs: { searchTypes: "searchTypes", searchType: "searchType", term: "term", disabled: "disabled", pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", label: "label", color: "color", termSplitter: "termSplitter", debounce: "debounce", minLength: "minLength", searchSelector: "searchSelector", searchSettings: "searchSettings", forceNA: "forceNA", store: "store" }, outputs: { pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus", searchTermChange: "searchTermChange", search: "search", searchTypeChange: "searchTypeChange", clearFeature: "clearFeature", searchSettingsChange: "searchSettingsChange" }, decls: 16, vars: 28, consts: [[1, "igo-search-bar-container", 3, "ngClass"], [3, "floatLabel", "appearance"], [4, "ngIf"], ["matInput", "", "autocomplete", "off", 3, "ngClass", "disabled", "placeholder", "value", "keyup", "touchend"], ["input", ""], [1, "search-bar-buttons"], ["mat-icon-button", "", 3, "color", "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", 3, "color", 4, "ngIf"], [3, "searchTypes", "searchType", "searchTypeChange", 4, "ngIf"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "reverseSearchCoordsFormatEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "reverseSearchCoordsFormatStatus", "searchSourceChange", 4, "ngIf"], ["mat-icon-button", "", 3, "color", "matTooltip", "click"], ["svgIcon", "close"], ["mat-icon-button", "", 3, "color"], ["svgIcon", "magnify"], [3, "searchTypes", "searchType", "searchTypeChange"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "reverseSearchCoordsFormatEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "reverseSearchCoordsFormatStatus", "searchSourceChange"]], template: function SearchBarComponent_Template(rf, ctx) { if (rf & 1) {
416
+ i0.ɵɵelementStart(0, "div", 0);
417
+ i0.ɵɵpipe(1, "async");
418
+ i0.ɵɵelementStart(2, "mat-form-field", 1);
419
+ i0.ɵɵtemplate(3, SearchBarComponent_mat_label_3_Template, 2, 1, "mat-label", 2);
420
+ i0.ɵɵelementStart(4, "input", 3, 4);
421
+ i0.ɵɵlistener("keyup", function SearchBarComponent_Template_input_keyup_4_listener($event) { return ctx.onKeyup($event); })("touchend", function SearchBarComponent_Template_input_touchend_4_listener($event) { return ctx.onKeyup($event); });
422
+ i0.ɵɵpipe(6, "async");
423
+ i0.ɵɵpipe(7, "async");
424
+ i0.ɵɵpipe(8, "translate");
425
+ i0.ɵɵpipe(9, "async");
426
+ i0.ɵɵelementEnd()();
427
+ i0.ɵɵelementStart(10, "div", 5);
428
+ i0.ɵɵtemplate(11, SearchBarComponent_button_11_Template, 3, 4, "button", 6);
429
+ i0.ɵɵpipe(12, "async");
430
+ i0.ɵɵtemplate(13, SearchBarComponent_button_13_Template, 2, 1, "button", 7);
431
+ i0.ɵɵtemplate(14, SearchBarComponent_igo_search_selector_14_Template, 2, 4, "igo-search-selector", 8);
432
+ i0.ɵɵtemplate(15, SearchBarComponent_igo_search_settings_15_Template, 1, 3, "igo-search-settings", 9);
433
+ i0.ɵɵelementEnd()();
434
+ } if (rf & 2) {
435
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(24, _c1, i0.ɵɵpipeBind1(1, 12, ctx.empty$)));
436
+ i0.ɵɵadvance(2);
437
+ i0.ɵɵproperty("floatLabel", ctx.floatLabel)("appearance", ctx.appearance);
438
+ i0.ɵɵadvance(1);
439
+ i0.ɵɵproperty("ngIf", ctx.label);
440
+ i0.ɵɵadvance(1);
441
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(26, _c2, ctx.showSearchButton))("disabled", i0.ɵɵpipeBind1(6, 14, ctx.disabled$))("placeholder", ctx.placeholder ? ctx.placeholder : i0.ɵɵpipeBind1(7, 16, ctx.placeholder$) ? i0.ɵɵpipeBind1(8, 18, ctx.placeholder$.value) : undefined)("value", i0.ɵɵpipeBind1(9, 20, ctx.term$));
442
+ i0.ɵɵadvance(7);
443
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(12, 22, ctx.empty$) === false);
444
+ i0.ɵɵadvance(2);
445
+ i0.ɵɵproperty("ngIf", ctx.showSearchButton);
446
+ i0.ɵɵadvance(1);
447
+ i0.ɵɵproperty("ngIf", ctx.searchSelector);
448
+ i0.ɵɵadvance(1);
449
+ i0.ɵɵproperty("ngIf", ctx.searchSettings);
450
+ } }, dependencies: [i4.NgClass, i4.NgIf, i5.MatTooltip, i6.MatIcon, i7.MatButton, i8.MatFormField, i8.MatLabel, i9.MatInput, i10.SearchSelectorComponent, i11.SearchSettingsComponent, i4.AsyncPipe, i12.TranslatePipe], styles: ["[_nghost-%COMP%] .mat-form-field{padding:0 5px}[_nghost-%COMP%] .mat-form-field-wrapper{margin-bottom:-1.5em}[_nghost-%COMP%] span.mat-form-field-label-wrapper{top:-20px}[_nghost-%COMP%] div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}[_nghost-%COMP%] div.mat-form-field-underline{display:none}.igo-search-bar-container[_ngcontent-%COMP%]{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 80px)}.igo-search-bar-container.empty[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 40px)}.search-bar-buttons[_ngcontent-%COMP%]{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}igo-search-settings[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}"], changeDetection: 0 });
451
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchBarComponent, [{
452
+ type: Component,
453
+ args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{empty: empty$ | async}\">\n <mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input\n #input\n matInput\n autocomplete=\"off\"\n [ngClass]=\"{'hasSearchIcon': showSearchButton}\"\n [disabled]=\"disabled$ | async\"\n [placeholder]=\"placeholder ? placeholder : (placeholder$ | async) ? (placeholder$.value | translate) : undefined\"\n [value]=\"term$ | async\"\n (keyup)=\"onKeyup($event)\"\n (touchend)=\"onKeyup($event)\">\n </mat-form-field>\n\n <div class=\"search-bar-buttons\">\n <button *ngIf=\"(empty$ | async)===false\"\n mat-icon-button\n [color]=\"color\"\n (click)=\"onClearButtonClick()\"\n [matTooltip]=\"'igo.geo.search.clearSearch' | translate\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n \n <button *ngIf=\"showSearchButton\"\n mat-icon-button\n [color]=\"color\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <igo-search-selector\n *ngIf=\"searchSelector\"\n [searchTypes]=\"searchTypes\"\n [searchType]=\"searchType$ | async\"\n (searchTypeChange)=\"onSearchTypeChange($event)\">\n </igo-search-selector>\n\n <igo-search-settings\n *ngIf=\"searchSettings\"\n [pointerSummaryEnabled]=\"pointerSummaryEnabled\"\n (pointerSummaryStatus)=\"pointerSummaryStatus.emit($event)\"\n [searchResultsGeometryEnabled]=\"searchResultsGeometryEnabled\"\n (searchResultsGeometryStatus)=\"searchResultsGeometryStatus.emit($event)\"\n [reverseSearchCoordsFormatEnabled]=\"reverseSearchCoordsFormatEnabled\"\n (reverseSearchCoordsFormatStatus)=\"reverseSearchCoordsFormatStatus.emit($event)\"\n (searchSourceChange)=\"onSearchSettingsChange()\">\n </igo-search-settings>\n </div>\n</div>\n", styles: [":host ::ng-deep .mat-form-field{padding:0 5px}:host ::ng-deep .mat-form-field-wrapper{margin-bottom:-1.5em}:host ::ng-deep span.mat-form-field-label-wrapper{top:-20px}:host ::ng-deep div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}:host ::ng-deep div.mat-form-field-underline{display:none}.igo-search-bar-container{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container>mat-form-field{width:calc(100% - 80px)}.igo-search-bar-container.empty>mat-form-field{width:calc(100% - 40px)}.search-bar-buttons{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons>button:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector{background-color:#fff;top:0;border-radius:0}igo-search-settings{background-color:#fff;top:0;border-radius:0}\n"] }]
454
+ }], function () { return [{ type: i1.ConfigService }, { type: i2.SearchService }, { type: i3.SearchSourceService }]; }, { searchTypes: [{
455
+ type: Input
456
+ }], searchType: [{
457
+ type: Input
458
+ }], pointerSummaryStatus: [{
459
+ type: Output
460
+ }], searchResultsGeometryStatus: [{
461
+ type: Output
462
+ }], reverseSearchCoordsFormatStatus: [{
463
+ type: Output
464
+ }], term: [{
465
+ type: Input
466
+ }], disabled: [{
467
+ type: Input
468
+ }], pointerSummaryEnabled: [{
469
+ type: Input
470
+ }], searchResultsGeometryEnabled: [{
471
+ type: Input
472
+ }], reverseSearchCoordsFormatEnabled: [{
473
+ type: Input
474
+ }], floatLabel: [{
475
+ type: Input
476
+ }], appearance: [{
477
+ type: Input
478
+ }], placeholder: [{
479
+ type: Input
480
+ }], label: [{
481
+ type: Input
482
+ }], color: [{
483
+ type: Input
484
+ }], termSplitter: [{
485
+ type: Input
486
+ }], debounce: [{
487
+ type: Input
488
+ }], minLength: [{
489
+ type: Input
490
+ }], searchSelector: [{
491
+ type: Input
492
+ }], searchSettings: [{
493
+ type: Input
494
+ }], forceNA: [{
495
+ type: Input
496
+ }], store: [{
497
+ type: Input
498
+ }], searchTermChange: [{
499
+ type: Output
500
+ }], search: [{
501
+ type: Output
502
+ }], searchTypeChange: [{
503
+ type: Output
504
+ }], clearFeature: [{
505
+ type: Output
506
+ }], searchSettingsChange: [{
507
+ type: Output
508
+ }], input: [{
509
+ type: ViewChild,
510
+ args: ['input', { static: true }]
511
+ }] }); })();
512
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0lDbkJsRCxpQ0FBeUI7SUFBQSxZQUFTO0lBQUEsaUJBQVk7OztJQUFyQixlQUFTO0lBQVQsa0NBQVM7Ozs7SUFjbEMsa0NBSTBEO0lBRHhELG1LQUFTLGVBQUEsMkJBQW9CLENBQUEsSUFBQzs7SUFFOUIsK0JBQXFDO0lBQ3ZDLGlCQUFTOzs7SUFKUCxvQ0FBZSxrRUFBQTs7O0lBTWpCLGtDQUVrQjtJQUNoQiwrQkFBdUM7SUFDekMsaUJBQVM7OztJQUZQLG9DQUFlOzs7O0lBSWpCLCtDQUlrRDtJQUFoRCx5TkFBb0IsZUFBQSxpQ0FBMEIsQ0FBQSxJQUFDOztJQUNqRCxpQkFBc0I7OztJQUhwQixnREFBMkIsd0RBQUE7Ozs7SUFLN0IsK0NBUWtEO0lBTGhELG1PQUF3QixlQUFBLHlDQUFpQyxDQUFBLElBQUMsb09BRTNCLGVBQUEsZ0RBQXdDLENBQUEsSUFGYiw0T0FJ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QkFBN0IsS0FBSztZQUNHLDRCQUE0QjtrQkFBcEMsS0FBSztZQU1GLGdDQUFnQztrQkFEbkMsS0FBSztZQWFHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsV0FBVztrQkFBbkIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUVHLFlBQVk7a0JBQXBCLEtBQUs7WUFLRyxRQUFRO2tCQUFoQixLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUtHLGNBQWM7a0JBQXRCLEtBQUs7WUFLRyxjQUFjO2tCQUF0QixLQUFLO1lBS0csT0FBTztrQkFBZixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0ksZ0JBQWdCO2tCQUF6QixNQUFNO1lBS0csTUFBTTtrQkFBZixNQUFNO1lBUUcsZ0JBQWdCO2tCQUF6QixNQUFNO1lBS0csWUFBWTtrQkFBckIsTUFBTTtZQUtHLG9CQUFvQjtrQkFBN0IsTUFBTTtZQU0rQixLQUFLO2tCQUExQyxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGbG9hdExhYmVsVHlwZSxcbiAgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IFNFQVJDSF9UWVBFUyB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guZW51bXMnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBSZXNlYXJjaCB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZWFyY2hiYXIgdGhhdCB0cmlnZ2VycyBhIHJlc2VhcmNoIGluIGFsbCBzZWFyY2ggc291cmNlcyBlbmFibGVkLlxuICogSWYgdGhlIHN0b3JlIGlucHV0IGlzIGRlZmluZWQsIHRoZSBzZWFyY2ggcmVzdWx0cyB3aWxsIGJlIGxvYWRlZFxuICogaW50byB0aGF0IHN0b3JlLiBBbiBldmVudCBpcyBhbHdheXMgZW1pdHRlZCB3aGVuIGEgcmVzZWFyY2ggaXMgY29tcGxldGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBJbnZhbGlkIGtleXNcbiAgICovXG4gIHN0YXRpYyBpbnZhbGlkS2V5cyA9IFtcbiAgICAnQ29udHJvbCcsXG4gICAgJ1NoaWZ0JyxcbiAgICAnQWx0JyxcbiAgICAnQXJyb3dEb3duJyxcbiAgICAnQXJyb3dVcCcsXG4gICAgJ0Fycm93UmlnaHQnLFxuICAgICdBcnJvd0xlZnQnXG4gIF07XG5cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgJ2lnby5nZW8uc2VhcmNoLnBsYWNlaG9sZGVyJ1xuICApO1xuXG4gIHJlYWRvbmx5IGVtcHR5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzc2VhcmNoIGJhciB0ZXJtXG4gICAqL1xuICBwcml2YXRlIHRlcm0kJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybSBzdHJlYW1cbiAgICovXG4gIHByaXZhdGUgc3RyZWFtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdGVybSBzdHJlYW1cbiAgICovXG4gIHByaXZhdGUgc3RyZWFtJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdHlwZVxuICAgKi9cbiAgcHJpdmF0ZSBzZWFyY2hUeXBlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHJlc2VhcmNoZXMkJDogU3Vic2NyaXB0aW9uW107XG5cbiAgLyoqXG4gICAqIHdoZXRoZXIgdG8gc2hvdyBzZWFyY2ggYnV0dG9uIG9yIG5vdFxuICAgKi9cblxuICBwdWJsaWMgc2hvd1NlYXJjaEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggdHlwZXNcbiAgICovXG4gIEBJbnB1dCgpIHNlYXJjaFR5cGVzOiBzdHJpbmdbXSA9IFNFQVJDSF9UWVBFUztcblxuICAvKipcbiAgICogU2VhcmNoIHRlcm1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzZWFyY2hUeXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFNlYXJjaFR5cGUodmFsdWUpO1xuICB9XG4gIGdldCBzZWFyY2hUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoVHlwZSQudmFsdWU7XG4gIH1cbiAgcmVhZG9ubHkgc2VhcmNoVHlwZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB1bmRlZmluZWRcbiAgKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb2ludGVyIHN1bW1hcnkgaXMgYWN0aXZhdGVkIGJ5IHRoZSBzZWFyY2hiYXIgc2V0dGluZ1xuICAgKi9cbiAgQE91dHB1dCgpIHBvaW50ZXJTdW1tYXJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNob3cgZ2VvbWV0cnkgc2V0dGluZyBpcyBjaGFuZ2VkXG4gICAqL1xuICAgQE91dHB1dCgpIHNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29vcmRzIGZvcm1hdCBzZXR0aW5nIGlzIGNoYW5nZWRcbiAgICovXG4gICBAT3V0cHV0KCkgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogU2VhcmNoIHRlcm1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB0ZXJtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFRlcm0odmFsdWUpO1xuICB9XG4gIGdldCB0ZXJtKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGVybSQudmFsdWU7XG4gIH1cbiAgcmVhZG9ubHkgdGVybSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb21wb25lbnQgaXMgZGlzYWJsZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCQudmFsdWU7XG4gIH1cbiAgcmVhZG9ubHkgZGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBASW5wdXQoKSBwb2ludGVyU3VtbWFyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGVuIHJldmVyc2UgY29vcmRpbmF0ZXMgc3RhdHVzIGNoYW5nZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZDtcbiAgfVxuICBzZXQgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuc2V0VGVybSh0aGlzLnRlcm0sIHRydWUpO1xuICB9XG4gIHByaXZhdGUgX3JldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBmbG9hdCBsYWJlbCBzaG91bGQgYmUgZGlzcGxheWVkXG4gICAqL1xuICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICduZXZlcic7XG5cbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSA9ICdsZWdhY3knO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogSWNvbnMgY29sb3IgKHNlYXJjaCBhbmQgY2xlYXIpXG4gICAqL1xuICBASW5wdXQoKSBjb2xvciA9ICdwcmltYXJ5JztcblxuICBASW5wdXQoKSB0ZXJtU3BsaXR0ZXI6IHN0cmluZyA9ICd8JztcblxuICAvKipcbiAgICogRGVib3VuY2UgdGltZSBiZXR3ZWVuIGVhY2gga2V5c3Ryb2tlXG4gICAqL1xuICBASW5wdXQoKSBkZWJvdW5jZSA9IDIwMDtcblxuICAvKipcbiAgICogTWluaW11bSB0ZXJtIGxlbmd0aCByZXF1aXJlZCB0byB0cmlnZ2VyIGEgcmVzZWFyY2hcbiAgICovXG4gIEBJbnB1dCgpIG1pbkxlbmd0aCA9IDI7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBTZWxlY3RvclxuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoU2VsZWN0b3IgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2VhcmNoIFNldHRpbmdzXG4gICAqL1xuICBASW5wdXQoKSBzZWFyY2hTZXR0aW5ncyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGb3JjZSBjb29yZGluYXRlcyBpbiBub3J0aCBhbWVyaWNhXG4gICAqL1xuICBASW5wdXQoKSBmb3JjZU5BID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHRzIHN0b3JlXG4gICAqL1xuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PjtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggdGVybSBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoVGVybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICByZXNlYXJjaDogUmVzZWFyY2g7XG4gICAgcmVzdWx0czogU2VhcmNoUmVzdWx0W107XG4gIH0+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHR5cGUgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFR5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggdHlwZSBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgY2xlYXJGZWF0dXJlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCBzZXR0aW5ncyBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoU2V0dGluZ3NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIElucHV0IGVsZW1lbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggYmFyIGlzIGVtcHR5XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRlcm0ubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbSBhbmQgdHJpZ2dlciByZXNlYXJjaGVzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50ZXJtJCQgPSB0aGlzLnRlcm0kLnN1YnNjcmliZSgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmVtcHR5JC5uZXh0KHRlcm0gPT09IHVuZGVmaW5lZCB8fCB0ZXJtLmxlbmd0aCA9PT0gMCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0cmVhbSQkID0gdGhpcy5zdHJlYW0kXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2UoKCkgPT4gdGltZXIodGhpcy5kZWJvdW5jZSkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMub25TZXRUZXJtKHRlcm0pKTtcblxuICAgIHRoaXMuaGFuZGxlUGxhY2Vob2xkZXIoKTtcblxuICAgIHRoaXMuc2VhcmNoVHlwZSQkID0gdGhpcy5zZWFyY2hUeXBlJFxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFR5cGU6IHN0cmluZykgPT4gdGhpcy5vblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZSkpO1xuXG4gICAgY29uc3QgY29uZmlnVmFsdWUgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKFwic2VhcmNoQmFyLnNob3dTZWFyY2hCdXR0b25cIik7XG4gICAgdGhpcy5zaG93U2VhcmNoQnV0dG9uID0gY29uZmlnVmFsdWUgIT09IHVuZGVmaW5lZCA/IGNvbmZpZ1ZhbHVlIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVW5zdWJzY3JpYmUgdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudGVybSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdHJlYW0kJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VhcmNoVHlwZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBhIHVzZXIgdHlwZXMsIHZhbGlkYXRlcyB0aGUga2V5IGFuZCBzZW5kIGl0IGludG8gdGhlXG4gICAqIHN0cmVhbSBpZiBpdCdzIHZhbGlkXG4gICAqIEBwYXJhbSBldmVudCBLZXlib2FyZCBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XG4gICAgaWYgKCF0aGlzLmtleUlzVmFsaWQoa2V5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0ZXJtID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLnNldFRlcm0odGVybSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIHN0cmVhbSBhbmQgdGhlIGlucHV0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25DbGVhckJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgICB0aGlzLmNsZWFyRmVhdHVyZS5lbWl0KCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNlYXJjaCB0eXBlXG4gICAqIEBwYXJhbSBzZWFyY2hUeXBlIEVuYWJsZWQgc2VhcmNoIHR5cGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblNlYXJjaFR5cGVDaGFuZ2Uoc2VhcmNoVHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgcGxhY2Vob2xkZXIgd2l0aCB0aGUgZW5hYmxlZCBzZWFyY2ggdHlwZS4gVGhlIHBsYWNlaG9sZGVyXG4gICAqIGZvciBhbGwgYXZhaWxhYmxlcyBzZWFyY2ggdHlwZXJzIG5lZWRzIHRvIGJlIGRlZmluZWQgaW4gdGhlIGxvY2FsZVxuICAgKiBmaWxlcyBvciBhbiBlcnJvciB3aWxsIGJlIHRocm93bi5cbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgRW5hYmxlZCBzZWFyY2ggdHlwZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUeXBlJC5uZXh0KHNlYXJjaFR5cGUpO1xuICB9XG5cbiAgb25TZWFyY2hTZXR0aW5nc0NoYW5nZSgpIHtcbiAgICB0aGlzLmRvU2VhcmNoKHRoaXMudGVybSk7XG4gICAgdGhpcy5zZWFyY2hTZXR0aW5nc0NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5oYW5kbGVQbGFjZWhvbGRlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgdGhlIHRlcm0gaW50byB0aGUgc3RyZWFtIG9ubHkgaWYgdGhpcyBjb21wb25lbnQgaXMgbm90IGRpc2FibGVkXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXG4gICAqL1xuICBzZXRUZXJtKHRlcm06IHN0cmluZywgcmV2ZXJzZUNvb3JkRXZlbnQ/OiBib29sZWFuKSB7XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRlcm0gPSB0ZXJtIHx8ICcnO1xuXG4gICAgaWYgKHRlcm0gIT09IHRoaXMudGVybSAmJiAhcmV2ZXJzZUNvb3JkRXZlbnQpIHtcbiAgICAgIHRoaXMudGVybSQubmV4dCh0ZXJtKTtcbiAgICB9XG5cbiAgICBjb25zdCBzbHVnID0gdGVybS5yZXBsYWNlKC8oI1teXFxzXSopL2csICcnKS50cmltKCk7XG4gICAgaWYgKHNsdWcubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoIHx8IHNsdWcubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnN0cmVhbSQubmV4dCh0ZXJtKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIHN0cmVhbSBhbmQgdGhlIGlucHV0XG4gICAqL1xuICBwcml2YXRlIGNsZWFyKCkge1xuICAgIHRoaXMudGVybSQubmV4dCgnJyk7XG4gICAgdGhpcy5zdHJlYW0kLm5leHQoJycpO1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGlmIGEgZ2l2ZW4ga2V5IHN0cm9rZSBpcyBhIHZhbGlkIGlucHV0XG4gICAqL1xuICBwcml2YXRlIGtleUlzVmFsaWQoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gU2VhcmNoQmFyQ29tcG9uZW50LmludmFsaWRLZXlzLmluZGV4T2Yoa2V5KSA9PT0gLTE7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlcywgZW1pdCBhbiBldmVudCBhbmQgdHJpZ2dlciBhXG4gICAqIHJlc2VhcmNoIGluIGV2ZXJ5IGVuYWJsZWQgc2VhcmNoIHNvdXJjZXMuXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXG4gICAqL1xuICBwcml2YXRlIG9uU2V0VGVybSh0ZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm1DaGFuZ2UuZW1pdCh0ZXJtKTtcbiAgICB0aGlzLmRvU2VhcmNoKHRlcm0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQbGFjZWhvbGRlcigpIHtcbiAgICBjb25zdCBzZWFyY2hUeXBlcyA9IFtcbiAgICAgIC4uLm5ldyBTZXQoXG4gICAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXG4gICAgICAgICAgLmZpbHRlcigoc3MpID0+ICFbJ21hcCcsICdjb29yZGluYXRlc3JldmVyc2UnXS5pbmNsdWRlcyhzcy5nZXRJZCgpKSlcbiAgICAgICAgICAubWFwKChzcykgPT4gc3MuZ2V0VHlwZSgpKVxuICAgICAgKVxuICAgIF07XG5cbiAgICBsZXQgcGxhY2Vob2xkZXIgPSBgaWdvLmdlby5zZWFyY2gucGxhY2Vob2xkZXJgO1xuICAgIGlmIChzZWFyY2hUeXBlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZXNbMF0udG9Mb3dlckNhc2UoKX0ucGxhY2Vob2xkZXJgO1xuICAgIH0gZWxzZSBpZiAoc2VhcmNoVHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC5lbXB0eVR5cGUucGxhY2Vob2xkZXJgO1xuICAgIH1cbiAgICB0aGlzLnBsYWNlaG9sZGVyJC5uZXh0KHBsYWNlaG9sZGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25TZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGU6IHN0cmluZykge1xuICAgIGlmIChzZWFyY2hUeXBlID09PSB1bmRlZmluZWQgfHwgc2VhcmNoVHlwZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoVHlwZUNoYW5nZS5lbWl0KHNlYXJjaFR5cGUpO1xuXG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPSBgaWdvLmdlby5zZWFyY2guJHtzZWFyY2hUeXBlLnRvTG93ZXJDYXNlKCl9LnBsYWNlaG9sZGVyYDtcbiAgICB0aGlzLnBsYWNlaG9sZGVyJC5uZXh0KHBsYWNlaG9sZGVyKTtcblxuICAgIHRoaXMuc2V0VGVybSh0aGlzLnRlcm0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgdGhlIHNlYXJjaFxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxuICAgKi9cbiAgcHJpdmF0ZSBkb1NlYXJjaChyYXdUZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5yZXNlYXJjaGVzJCQpIHtcbiAgICAgIHRoaXMucmVzZWFyY2hlcyQkLm1hcCgocmVzZWFyY2gpID0+IHJlc2VhcmNoLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgdGhpcy5yZXNlYXJjaGVzJCQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IHRlcm1zO1xuICAgIGlmICh0aGlzLnRlcm1TcGxpdHRlciAmJiByYXdUZXJtLm1hdGNoKG5ldyBSZWdFeHAodGhpcy50ZXJtU3BsaXR0ZXIsICdnJykpKSB7XG4gICAgICB0ZXJtcyA9IHJhd1Rlcm0uc3BsaXQodGhpcy50ZXJtU3BsaXR0ZXIpLmZpbHRlcigodCkgPT4gdC5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGgpO1xuICAgICAgaWYgKHRoaXMuc3RvcmUpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5jbGVhcigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0ZXJtcyA9IFtyYXdUZXJtXTtcbiAgICB9XG5cbiAgICBsZXQgcmVzZWFyY2hlczogUmVzZWFyY2hbXSA9IFtdO1xuICAgIHRlcm1zLm1hcCgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzbHVnID0gdGVybSA/IHRlcm0ucmVwbGFjZSgvKCNbXlxcc10qKS9nLCAnJykudHJpbSgpIDogJyc7XG4gICAgICBpZiAoc2x1ZyA9PT0gJycpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RvcmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJlc2VhcmNoZXMgPSByZXNlYXJjaGVzLmNvbmNhdCh0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoKHRlcm0sIHtcbiAgICAgICAgZm9yY2VOQTogdGhpcy5mb3JjZU5BXG4gICAgICB9KSk7XG4gICAgfSk7XG4gICAgdGhpcy5yZXNlYXJjaGVzJCQgPSByZXNlYXJjaGVzLm1hcCgocmVzZWFyY2gpID0+IHtcbiAgICAgIHJldHVybiByZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgocmVzdWx0czogU2VhcmNoUmVzdWx0W10pID0+IHtcbiAgICAgICAgdGhpcy5vblJlc2VhcmNoQ29tcGxldGVkKHJlc2VhcmNoLCByZXN1bHRzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSByZXNlYXJjaCAgaXMgY29tcGxldGVkLCBlbWl0IGFuIGV2ZW50IGFuZCB1cGRhdGVcbiAgICogdGhlIHN0b3JlJ3MgaXRlbXMuXG4gICAqIEBwYXJhbSByZXNlYXJjaCBSZXNlYXJjaFxuICAgKiBAcGFyYW0gcmVzdWx0cyBSZXNlYXJjaCByZXN1bHRzXG4gICAqL1xuICBwcml2YXRlIG9uUmVzZWFyY2hDb21wbGV0ZWQocmVzZWFyY2g6IFJlc2VhcmNoLCByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSkge1xuICAgIHRoaXMuc2VhcmNoLmVtaXQoeyByZXNlYXJjaCwgcmVzdWx0cyB9KTtcblxuICAgIGlmICh0aGlzLnN0b3JlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG5ld1Jlc3VsdHMgPSB0aGlzLnN0b3JlXG4gICAgICAgIC5hbGwoKVxuICAgICAgICAuZmlsdGVyKChyZXN1bHQpID0+IHJlc3VsdC5zb3VyY2UgIT09IHJlc2VhcmNoLnNvdXJjZSlcbiAgICAgICAgLmNvbmNhdChyZXN1bHRzKTtcbiAgICAgIHRoaXMuc3RvcmUudXBkYXRlTWFueShuZXdSZXN1bHRzKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ28tc2VhcmNoLWJhci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ZW1wdHk6IGVtcHR5JCB8IGFzeW5jfVwiPlxuICA8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgICNpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICBbbmdDbGFzc109XCJ7J2hhc1NlYXJjaEljb24nOiBzaG93U2VhcmNoQnV0dG9ufVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiAocGxhY2Vob2xkZXIkIHwgYXN5bmMpID8gKHBsYWNlaG9sZGVyJC52YWx1ZSB8IHRyYW5zbGF0ZSkgOiB1bmRlZmluZWRcIlxuICAgICAgW3ZhbHVlXT1cInRlcm0kIHwgYXN5bmNcIlxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAodG91Y2hlbmQpPVwib25LZXl1cCgkZXZlbnQpXCI+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1iYXItYnV0dG9uc1wiPlxuICAgIDxidXR0b24gKm5nSWY9XCIoZW1wdHkkIHwgYXN5bmMpPT09ZmFsc2VcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJCdXR0b25DbGljaygpXCJcbiAgICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5jbGVhclNlYXJjaCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIFxuICAgIDxidXR0b24gKm5nSWY9XCJzaG93U2VhcmNoQnV0dG9uXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgW2NvbG9yXT1cImNvbG9yXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hZ25pZnlcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlnby1zZWFyY2gtc2VsZWN0b3JcbiAgICAgICpuZ0lmPVwic2VhcmNoU2VsZWN0b3JcIlxuICAgICAgW3NlYXJjaFR5cGVzXT1cInNlYXJjaFR5cGVzXCJcbiAgICAgIFtzZWFyY2hUeXBlXT1cInNlYXJjaFR5cGUkIHwgYXN5bmNcIlxuICAgICAgKHNlYXJjaFR5cGVDaGFuZ2UpPVwib25TZWFyY2hUeXBlQ2hhbmdlKCRldmVudClcIj5cbiAgICA8L2lnby1zZWFyY2gtc2VsZWN0b3I+XG5cbiAgICA8aWdvLXNlYXJjaC1zZXR0aW5nc1xuICAgICAgKm5nSWY9XCJzZWFyY2hTZXR0aW5nc1wiXG4gICAgICBbcG9pbnRlclN1bW1hcnlFbmFibGVkXT1cInBvaW50ZXJTdW1tYXJ5RW5hYmxlZFwiXG4gICAgICAocG9pbnRlclN1bW1hcnlTdGF0dXMpPVwicG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCgkZXZlbnQpXCJcbiAgICAgIFtzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkXT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRcIlxuICAgICAgKHNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyk9XCJzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCgkZXZlbnQpXCJcbiAgICAgIFtyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZF09XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFwiXG4gICAgICAocmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cyk9XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0U3RhdHVzLmVtaXQoJGV2ZW50KVwiXG4gICAgICAoc2VhcmNoU291cmNlQ2hhbmdlKT1cIm9uU2VhcmNoU2V0dGluZ3NDaGFuZ2UoKVwiPlxuICAgIDwvaWdvLXNlYXJjaC1zZXR0aW5ncz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==