@artstesh/maps 6.1.16 → 8.0.0

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 (244) hide show
  1. package/dist/fesm2022/maps-components-src-map.mjs +433 -484
  2. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  3. package/dist/fesm2022/maps-components.mjs +433 -484
  4. package/dist/fesm2022/maps-components.mjs.map +1 -1
  5. package/dist/map/common/destructible.component.d.ts +1 -1
  6. package/dist/map/helpers/text-style.helper.d.ts +1 -1
  7. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +1 -1
  8. package/dist/map/map-plate/features/markers/markers.component.d.ts +1 -1
  9. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  10. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  11. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  12. package/dist/map/map-plate/layers/image-layer/image-layer.component.d.ts +1 -1
  13. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  14. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +1 -1
  15. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  16. package/dist/map/map-plate/map-plate.component.d.ts +3 -2
  17. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +3 -2
  18. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +2 -2
  19. package/dist/map/models/map-settings.d.ts +1 -1
  20. package/dist/map/public-api.d.ts +0 -1
  21. package/dist/map/services/map-click.service.d.ts +1 -1
  22. package/dist/src/map/common/destructible.component.d.ts +1 -1
  23. package/dist/src/map/helpers/text-style.helper.d.ts +1 -1
  24. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +1 -1
  25. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +1 -1
  26. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  27. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  28. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  29. package/dist/src/map/map-plate/layers/image-layer/image-layer.component.d.ts +1 -1
  30. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  31. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +1 -1
  32. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  33. package/dist/src/map/map-plate/map-plate.component.d.ts +3 -2
  34. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +3 -2
  35. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +2 -2
  36. package/dist/src/map/models/map-settings.d.ts +1 -1
  37. package/dist/src/map/public-api.d.ts +0 -1
  38. package/dist/src/map/services/map-click.service.d.ts +1 -1
  39. package/package.json +26 -26
  40. package/dist/esm2022/map/common/destructible.component.mjs +0 -18
  41. package/dist/esm2022/map/common/id.generator.mjs +0 -14
  42. package/dist/esm2022/map/helpers/index.mjs +0 -5
  43. package/dist/esm2022/map/helpers/marker-style.helper.mjs +0 -55
  44. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +0 -54
  45. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +0 -61
  46. package/dist/esm2022/map/helpers/text-style.helper.mjs +0 -33
  47. package/dist/esm2022/map/map-plate/controls/index.mjs +0 -3
  48. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  49. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  50. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  51. package/dist/esm2022/map/map-plate/features/index.mjs +0 -3
  52. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +0 -52
  53. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  54. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  55. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  56. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  57. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  58. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  59. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  60. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  61. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  62. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  63. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  64. package/dist/esm2022/map/map-plate/layers/index.mjs +0 -12
  65. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  66. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  67. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  68. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  69. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  70. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  71. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  72. package/dist/esm2022/map/map-plate/map-plate.component.mjs +0 -121
  73. package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +0 -29
  74. package/dist/esm2022/map/map-plate/tooltips/index.mjs +0 -3
  75. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -81
  76. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  77. package/dist/esm2022/map/map.module.mjs +0 -73
  78. package/dist/esm2022/map/messages/commands/add-control.command.mjs +0 -18
  79. package/dist/esm2022/map/messages/commands/add-image-layer.command.mjs +0 -10
  80. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +0 -10
  81. package/dist/esm2022/map/messages/commands/add-raster-tile-command.mjs +0 -10
  82. package/dist/esm2022/map/messages/commands/add-tile.command.mjs +0 -10
  83. package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +0 -8
  84. package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  85. package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +0 -18
  86. package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +0 -26
  87. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +0 -12
  88. package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  89. package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +0 -31
  90. package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +0 -12
  91. package/dist/esm2022/map/messages/commands/remove-control.command.mjs +0 -23
  92. package/dist/esm2022/map/messages/commands/remove-image-layer.command.mjs +0 -10
  93. package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +0 -10
  94. package/dist/esm2022/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  95. package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +0 -10
  96. package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +0 -23
  97. package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +0 -25
  98. package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +0 -5
  99. package/dist/esm2022/map/messages/events/map-click.event.mjs +0 -27
  100. package/dist/esm2022/map/messages/events/map-feature-hovered.event.mjs +0 -23
  101. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +0 -16
  102. package/dist/esm2022/map/messages/events/map-pointer-move.event.mjs +0 -21
  103. package/dist/esm2022/map/messages/events/map-rendered.event.mjs +0 -18
  104. package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +0 -17
  105. package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  106. package/dist/esm2022/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  107. package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +0 -14
  108. package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  109. package/dist/esm2022/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  110. package/dist/esm2022/map/messages/executors/get-map-position.executor.mjs +0 -13
  111. package/dist/esm2022/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  112. package/dist/esm2022/map/messages/index.mjs +0 -25
  113. package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +0 -22
  114. package/dist/esm2022/map/messages/queries/get-features-in-point.query.mjs +0 -25
  115. package/dist/esm2022/map/messages/queries/get-layer.query.mjs +0 -10
  116. package/dist/esm2022/map/models/drawing-type.enum.mjs +0 -22
  117. package/dist/esm2022/map/models/feature-format.enum.mjs +0 -15
  118. package/dist/esm2022/map/models/i-identified.mjs +0 -2
  119. package/dist/esm2022/map/models/index.mjs +0 -10
  120. package/dist/esm2022/map/models/map-control.mjs +0 -15
  121. package/dist/esm2022/map/models/map-lyrs.enum.mjs +0 -19
  122. package/dist/esm2022/map/models/map-position.model.mjs +0 -2
  123. package/dist/esm2022/map/models/map-settings.mjs +0 -124
  124. package/dist/esm2022/map/models/map.constants.mjs +0 -6
  125. package/dist/esm2022/map/models/marker-model.mjs +0 -29
  126. package/dist/esm2022/map/models/polygon.model.mjs +0 -40
  127. package/dist/esm2022/map/ol-proxy.mjs +0 -6
  128. package/dist/esm2022/map/public-api.mjs +0 -17
  129. package/dist/esm2022/map/services/controls/controls.service.mjs +0 -37
  130. package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +0 -25
  131. package/dist/esm2022/map/services/drawing/drawing.service.mjs +0 -99
  132. package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +0 -105
  133. package/dist/esm2022/map/services/feature.service.mjs +0 -77
  134. package/dist/esm2022/map/services/map-click.service.mjs +0 -55
  135. package/dist/esm2022/map/services/map-feature.service.mjs +0 -75
  136. package/dist/esm2022/map/services/map-management.service.mjs +0 -143
  137. package/dist/esm2022/map/services/map-postboy.service.mjs +0 -14
  138. package/dist/esm2022/map/services/map-state.service.mjs +0 -48
  139. package/dist/esm2022/map/services/message-registrator.service.mjs +0 -105
  140. package/dist/esm2022/maps-components.mjs +0 -5
  141. package/dist/esm2022/public-api.mjs +0 -5
  142. package/dist/esm2022/src/map/common/destructible.component.mjs +0 -18
  143. package/dist/esm2022/src/map/common/id.generator.mjs +0 -14
  144. package/dist/esm2022/src/map/helpers/index.mjs +0 -5
  145. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +0 -55
  146. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +0 -54
  147. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +0 -61
  148. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +0 -33
  149. package/dist/esm2022/src/map/map-plate/controls/index.mjs +0 -3
  150. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  151. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  152. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  153. package/dist/esm2022/src/map/map-plate/features/index.mjs +0 -3
  154. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +0 -52
  155. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  156. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  157. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  158. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  159. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  160. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  161. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  162. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  163. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  164. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  165. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  166. package/dist/esm2022/src/map/map-plate/layers/index.mjs +0 -12
  167. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  168. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  169. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  170. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  171. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  172. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  173. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  174. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +0 -121
  175. package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +0 -29
  176. package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +0 -3
  177. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -81
  178. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  179. package/dist/esm2022/src/map/map.module.mjs +0 -73
  180. package/dist/esm2022/src/map/maps-components-src-map.mjs +0 -5
  181. package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +0 -18
  182. package/dist/esm2022/src/map/messages/commands/add-image-layer.command.mjs +0 -10
  183. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +0 -10
  184. package/dist/esm2022/src/map/messages/commands/add-raster-tile-command.mjs +0 -10
  185. package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +0 -10
  186. package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +0 -8
  187. package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  188. package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +0 -18
  189. package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +0 -26
  190. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +0 -12
  191. package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  192. package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +0 -31
  193. package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +0 -12
  194. package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +0 -23
  195. package/dist/esm2022/src/map/messages/commands/remove-image-layer.command.mjs +0 -10
  196. package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +0 -10
  197. package/dist/esm2022/src/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  198. package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +0 -10
  199. package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +0 -23
  200. package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +0 -25
  201. package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +0 -5
  202. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +0 -27
  203. package/dist/esm2022/src/map/messages/events/map-feature-hovered.event.mjs +0 -23
  204. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +0 -16
  205. package/dist/esm2022/src/map/messages/events/map-pointer-move.event.mjs +0 -21
  206. package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +0 -18
  207. package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +0 -17
  208. package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  209. package/dist/esm2022/src/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  210. package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +0 -14
  211. package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  212. package/dist/esm2022/src/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  213. package/dist/esm2022/src/map/messages/executors/get-map-position.executor.mjs +0 -13
  214. package/dist/esm2022/src/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  215. package/dist/esm2022/src/map/messages/index.mjs +0 -25
  216. package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +0 -22
  217. package/dist/esm2022/src/map/messages/queries/get-features-in-point.query.mjs +0 -25
  218. package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +0 -10
  219. package/dist/esm2022/src/map/models/drawing-type.enum.mjs +0 -22
  220. package/dist/esm2022/src/map/models/feature-format.enum.mjs +0 -15
  221. package/dist/esm2022/src/map/models/i-identified.mjs +0 -2
  222. package/dist/esm2022/src/map/models/index.mjs +0 -10
  223. package/dist/esm2022/src/map/models/map-control.mjs +0 -15
  224. package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +0 -19
  225. package/dist/esm2022/src/map/models/map-position.model.mjs +0 -2
  226. package/dist/esm2022/src/map/models/map-settings.mjs +0 -124
  227. package/dist/esm2022/src/map/models/map.constants.mjs +0 -6
  228. package/dist/esm2022/src/map/models/marker-model.mjs +0 -29
  229. package/dist/esm2022/src/map/models/polygon.model.mjs +0 -40
  230. package/dist/esm2022/src/map/ol-proxy.mjs +0 -6
  231. package/dist/esm2022/src/map/public-api.mjs +0 -17
  232. package/dist/esm2022/src/map/services/controls/controls.service.mjs +0 -37
  233. package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +0 -25
  234. package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +0 -99
  235. package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +0 -105
  236. package/dist/esm2022/src/map/services/feature.service.mjs +0 -77
  237. package/dist/esm2022/src/map/services/map-click.service.mjs +0 -55
  238. package/dist/esm2022/src/map/services/map-feature.service.mjs +0 -75
  239. package/dist/esm2022/src/map/services/map-management.service.mjs +0 -143
  240. package/dist/esm2022/src/map/services/map-postboy.service.mjs +0 -14
  241. package/dist/esm2022/src/map/services/map-state.service.mjs +0 -48
  242. package/dist/esm2022/src/map/services/message-registrator.service.mjs +0 -105
  243. package/dist/map/map.module.d.ts +0 -19
  244. package/dist/src/map/map.module.d.ts +0 -19
@@ -1,7 +1,3 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, Injectable, ChangeDetectionStrategy, Input, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
3
- import * as i4 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
1
  import { Feature, Collection } from 'ol';
6
2
  export { Feature } from 'ol';
7
3
  import { Point, LineString } from 'ol/geom';
@@ -10,6 +6,8 @@ import { GeoJSON, WKT } from 'ol/format';
10
6
  import { getCenter, createEmpty, extend } from 'ol/extent';
11
7
  import Polygon, { circular, fromExtent } from 'ol/geom/Polygon';
12
8
  import { Control, Zoom } from 'ol/control';
9
+ import * as i0 from '@angular/core';
10
+ import { Component, Injectable, Input, ChangeDetectionStrategy, input, ViewEncapsulation, ViewChild } from '@angular/core';
13
11
  import { get, useGeographic, transform } from 'ol/proj';
14
12
  import { PostboyGenericMessage, PostboyCallbackMessage, PostboyExecutor, PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
15
13
  import * as Sphere from 'ol/sphere';
@@ -28,32 +26,17 @@ import Cluster from 'ol/source/Cluster';
28
26
  import Static from 'ol/source/ImageStatic';
29
27
  import ImageLayer from 'ol/layer/Image';
30
28
  import RasterSource from 'ol/source/Raster';
29
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
31
30
  import Map from 'ol/Map';
32
31
  import View from 'ol/View';
33
- import Overlay from 'ol/Overlay';
34
32
  import Style from 'ol/style/Style';
35
- import { Icon, Circle as Circle$1, Fill, Stroke, Text } from 'ol/style';
33
+ import { Icon, Circle as Circle$1, Stroke, Fill, Text } from 'ol/style';
36
34
  export { Fill, RegularShape, Stroke, Style, Text } from 'ol/style';
37
35
  import { METERS_PER_UNIT } from 'ol/proj/epsg4326';
36
+ import Overlay from 'ol/Overlay';
38
37
  import * as Circle from 'ol/style/Circle';
39
38
  export { Circle as CircleStyle };
40
39
 
41
- class DestructibleComponent {
42
- subs = [];
43
- onDestroy;
44
- ngOnDestroy() {
45
- this.subs.forEach((s) => s.unsubscribe());
46
- if (this.onDestroy)
47
- this.onDestroy();
48
- }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DestructibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: DestructibleComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DestructibleComponent, decorators: [{
53
- type: Component,
54
- args: [{ template: '' }]
55
- }] });
56
-
57
40
  var MapLyrs;
58
41
  (function (MapLyrs) {
59
42
  MapLyrs[MapLyrs["Hybrid"] = 1] = "Hybrid";
@@ -326,6 +309,22 @@ class MapControl extends Control {
326
309
  }
327
310
  }
328
311
 
312
+ class DestructibleComponent {
313
+ subs = [];
314
+ onDestroy;
315
+ ngOnDestroy() {
316
+ this.subs.forEach((s) => s.unsubscribe());
317
+ if (this.onDestroy)
318
+ this.onDestroy();
319
+ }
320
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DestructibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
321
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: DestructibleComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true });
322
+ }
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DestructibleComponent, decorators: [{
324
+ type: Component,
325
+ args: [{ template: '' }]
326
+ }] });
327
+
329
328
  /**
330
329
  * Represents a command to add a custom control to a map.
331
330
  */
@@ -1002,10 +1001,10 @@ class MapPostboyService extends PostboyService {
1002
1001
  constructor() {
1003
1002
  super();
1004
1003
  }
1005
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPostboyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1006
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPostboyService });
1004
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPostboyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1005
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPostboyService });
1007
1006
  }
1008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPostboyService, decorators: [{
1007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPostboyService, decorators: [{
1009
1008
  type: Injectable
1010
1009
  }], ctorParameters: () => [] });
1011
1010
 
@@ -1127,10 +1126,10 @@ class MapManagementService {
1127
1126
  action(l, source);
1128
1127
  });
1129
1128
  }
1130
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapManagementService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1131
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapManagementService });
1129
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapManagementService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1130
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapManagementService });
1132
1131
  }
1133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapManagementService, decorators: [{
1132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapManagementService, decorators: [{
1134
1133
  type: Injectable
1135
1134
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1136
1135
 
@@ -1170,10 +1169,10 @@ class MapStateService {
1170
1169
  this.map?.getView().setZoom(c.zoom);
1171
1170
  });
1172
1171
  }
1173
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapStateService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1174
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapStateService });
1172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapStateService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1173
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapStateService });
1175
1174
  }
1176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapStateService, decorators: [{
1175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapStateService, decorators: [{
1177
1176
  type: Injectable
1178
1177
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1179
1178
 
@@ -1236,10 +1235,10 @@ class MapFeatureService {
1236
1235
  this.map.getView().fit(extent);
1237
1236
  this.map.getView().setZoom(this.map.getView().getZoom() + zoomAfter);
1238
1237
  }
1239
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapFeatureService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1240
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapFeatureService });
1238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapFeatureService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1239
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapFeatureService });
1241
1240
  }
1242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapFeatureService, decorators: [{
1241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapFeatureService, decorators: [{
1243
1242
  type: Injectable
1244
1243
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1245
1244
 
@@ -1285,10 +1284,10 @@ class MapClickService {
1285
1284
  });
1286
1285
  return result;
1287
1286
  }
1288
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapClickService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1289
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapClickService });
1287
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapClickService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1288
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapClickService });
1290
1289
  }
1291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapClickService, decorators: [{
1290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapClickService, decorators: [{
1292
1291
  type: Injectable
1293
1292
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1294
1293
 
@@ -1367,10 +1366,10 @@ class DrawingService {
1367
1366
  this.postboy.unlock(MapClickEvent);
1368
1367
  setTimeout(() => this.postboy.fire(new DrawingFinishedEvent()), 300);
1369
1368
  }
1370
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DrawingService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1371
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DrawingService });
1369
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DrawingService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1370
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DrawingService });
1372
1371
  }
1373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DrawingService, decorators: [{
1372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DrawingService, decorators: [{
1374
1373
  type: Injectable
1375
1374
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1376
1375
 
@@ -1459,10 +1458,10 @@ class FeatureModificationService {
1459
1458
  if (this.translate)
1460
1459
  this.map?.removeInteraction(this.translate);
1461
1460
  }
1462
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureModificationService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1463
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureModificationService });
1461
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureModificationService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1462
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureModificationService });
1464
1463
  }
1465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureModificationService, decorators: [{
1464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureModificationService, decorators: [{
1466
1465
  type: Injectable
1467
1466
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1468
1467
 
@@ -1491,10 +1490,10 @@ class ControlsService {
1491
1490
  observeRemoving() {
1492
1491
  this.postboy.sub(RemoveControlCommand).subscribe((c) => this.map?.removeControl(c.item));
1493
1492
  }
1494
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ControlsService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1495
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ControlsService });
1493
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ControlsService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1494
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ControlsService });
1496
1495
  }
1497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ControlsService, decorators: [{
1496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ControlsService, decorators: [{
1498
1497
  type: Injectable
1499
1498
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1500
1499
 
@@ -1547,10 +1546,10 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
1547
1546
  this.recordExecutor(GetMapPositionExecutor, () => this.state.getMapPosition());
1548
1547
  this.recordExecutor(GetGeometryLengthExecutor, (e) => new GetGeometryLengthExecutorHandler().handle(e));
1549
1548
  }
1550
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }, { token: ControlsService }], target: i0.ɵɵFactoryTarget.Injectable });
1551
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MessageRegistratorService });
1549
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }, { token: ControlsService }], target: i0.ɵɵFactoryTarget.Injectable });
1550
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MessageRegistratorService });
1552
1551
  }
1553
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MessageRegistratorService, decorators: [{
1552
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MessageRegistratorService, decorators: [{
1554
1553
  type: Injectable
1555
1554
  }], ctorParameters: () => [{ type: MapPostboyService }, { type: MapManagementService }, { type: MapStateService }, { type: MapFeatureService }, { type: MapClickService }, { type: DrawingService }, { type: FeatureModificationService }, { type: ControlsService }] });
1556
1555
 
@@ -1746,10 +1745,10 @@ class TileLayerFactory {
1746
1745
  x = ((x % tileRange) + tileRange) % tileRange;
1747
1746
  return { x: x, y: y };
1748
1747
  }
1749
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1750
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
1748
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1749
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
1751
1750
  }
1752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerFactory, decorators: [{
1751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TileLayerFactory, decorators: [{
1753
1752
  type: Injectable,
1754
1753
  args: [{
1755
1754
  providedIn: 'root',
@@ -1788,12 +1787,12 @@ class TileLayerComponent extends DestructibleComponent {
1788
1787
  if (this.layer)
1789
1788
  this.postboy.fire(new RemoveTileCommand(this.layer));
1790
1789
  }
1791
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerComponent, deps: [{ token: MapPostboyService }, { token: TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1792
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: TileLayerComponent, selector: "art-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1790
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TileLayerComponent, deps: [{ token: MapPostboyService }, { token: TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
1791
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: TileLayerComponent, isStandalone: true, selector: "art-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1793
1792
  }
1794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TileLayerComponent, decorators: [{
1793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TileLayerComponent, decorators: [{
1795
1794
  type: Component,
1796
- args: [{ selector: 'art-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1795
+ args: [{ selector: 'art-tile-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1797
1796
  }], ctorParameters: () => [{ type: MapPostboyService }, { type: TileLayerFactory }], propDecorators: { settings: [{
1798
1797
  type: Input
1799
1798
  }] } });
@@ -1846,12 +1845,12 @@ class OsmTileLayerComponent extends DestructibleComponent {
1846
1845
  this.layer.set('name', 'osm-tile-layer');
1847
1846
  this._map.addLayer(this.layer);
1848
1847
  }
1849
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1850
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: { url: "url", opacity: "opacity", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1848
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1849
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: OsmTileLayerComponent, isStandalone: true, selector: "art-osm-tile-layer", inputs: { url: "url", opacity: "opacity", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1851
1850
  }
1852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
1851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
1853
1852
  type: Component,
1854
- args: [{ selector: 'art-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1853
+ args: [{ selector: 'art-osm-tile-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1855
1854
  }], ctorParameters: () => [], propDecorators: { url: [{
1856
1855
  type: Input
1857
1856
  }], opacity: [{
@@ -2012,10 +2011,10 @@ class FeatureLayerFactory {
2012
2011
  layer.set('name', settings.name);
2013
2012
  return layer;
2014
2013
  }
2015
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2016
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerFactory, providedIn: 'root' });
2014
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2015
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureLayerFactory, providedIn: 'root' });
2017
2016
  }
2018
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerFactory, decorators: [{
2017
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureLayerFactory, decorators: [{
2019
2018
  type: Injectable,
2020
2019
  args: [{
2021
2020
  providedIn: 'root',
@@ -2054,12 +2053,12 @@ class FeatureLayerComponent extends DestructibleComponent {
2054
2053
  if (this.layer)
2055
2054
  this.postboy.fire(new RemoveLayerCommand(this.layer));
2056
2055
  }
2057
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerComponent, deps: [{ token: MapPostboyService }, { token: FeatureLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2058
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2056
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureLayerComponent, deps: [{ token: MapPostboyService }, { token: FeatureLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2057
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: FeatureLayerComponent, isStandalone: true, selector: "art-feature-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2059
2058
  }
2060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerComponent, decorators: [{
2059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FeatureLayerComponent, decorators: [{
2061
2060
  type: Component,
2062
- args: [{ selector: 'art-feature-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2061
+ args: [{ selector: 'art-feature-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2063
2062
  }], ctorParameters: () => [{ type: MapPostboyService }, { type: FeatureLayerFactory }], propDecorators: { settings: [{
2064
2063
  type: Input
2065
2064
  }] } });
@@ -2281,10 +2280,10 @@ class ClusterLayerFactory {
2281
2280
  return settings.style(features.map((f) => ({ id: f.getId(), ...f.get(MapConstants.FeatureInfo) })));
2282
2281
  };
2283
2282
  }
2284
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2285
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
2283
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2284
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
2286
2285
  }
2287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, decorators: [{
2286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ClusterLayerFactory, decorators: [{
2288
2287
  type: Injectable,
2289
2288
  args: [{
2290
2289
  providedIn: 'root',
@@ -2331,12 +2330,12 @@ class ClusterLayerComponent extends DestructibleComponent {
2331
2330
  if (this.manager?.layer)
2332
2331
  this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
2333
2332
  }
2334
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: MapPostboyService }, { token: ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2335
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: ClusterLayerComponent, selector: "art-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2333
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: MapPostboyService }, { token: ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2334
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ClusterLayerComponent, isStandalone: true, selector: "art-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2336
2335
  }
2337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerComponent, decorators: [{
2336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ClusterLayerComponent, decorators: [{
2338
2337
  type: Component,
2339
- args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2338
+ args: [{ selector: 'art-cluster-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2340
2339
  }], ctorParameters: () => [{ type: MapPostboyService }, { type: ClusterLayerFactory }], propDecorators: { settings: [{
2341
2340
  type: Input
2342
2341
  }] } });
@@ -2486,10 +2485,10 @@ class ImageLayerFactory {
2486
2485
  });
2487
2486
  return new ImageLayer({ source });
2488
2487
  }
2489
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2490
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerFactory, providedIn: 'root' });
2488
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ImageLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2489
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ImageLayerFactory, providedIn: 'root' });
2491
2490
  }
2492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerFactory, decorators: [{
2491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ImageLayerFactory, decorators: [{
2493
2492
  type: Injectable,
2494
2493
  args: [{
2495
2494
  providedIn: 'root',
@@ -2528,12 +2527,12 @@ class ImageLayerComponent extends DestructibleComponent {
2528
2527
  if (this.layer)
2529
2528
  this.postboy.fire(new RemoveImageLayerCommand(this.layer));
2530
2529
  }
2531
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerComponent, deps: [{ token: MapPostboyService }, { token: ImageLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2532
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: ImageLayerComponent, selector: "art-image-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2530
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ImageLayerComponent, deps: [{ token: MapPostboyService }, { token: ImageLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2531
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ImageLayerComponent, isStandalone: true, selector: "art-image-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2533
2532
  }
2534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerComponent, decorators: [{
2533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ImageLayerComponent, decorators: [{
2535
2534
  type: Component,
2536
- args: [{ selector: 'art-image-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2535
+ args: [{ selector: 'art-image-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2537
2536
  }], ctorParameters: () => [{ type: MapPostboyService }, { type: ImageLayerFactory }], propDecorators: { settings: [{
2538
2537
  type: Input
2539
2538
  }] } });
@@ -2761,10 +2760,10 @@ class RasterTileLayerFactory {
2761
2760
  x = ((x % tileRange) + tileRange) % tileRange;
2762
2761
  return { x: x, y: y };
2763
2762
  }
2764
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: RasterTileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2765
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: RasterTileLayerFactory, providedIn: 'root' });
2763
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: RasterTileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2764
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: RasterTileLayerFactory, providedIn: 'root' });
2766
2765
  }
2767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: RasterTileLayerFactory, decorators: [{
2766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: RasterTileLayerFactory, decorators: [{
2768
2767
  type: Injectable,
2769
2768
  args: [{
2770
2769
  providedIn: 'root',
@@ -2803,12 +2802,12 @@ class RasterTileLayerComponent extends DestructibleComponent {
2803
2802
  if (this.layer)
2804
2803
  this.postboy.fire(new RemoveRasterTileCommand(this.layer));
2805
2804
  }
2806
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: RasterTileLayerComponent, deps: [{ token: MapPostboyService }, { token: RasterTileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2807
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: RasterTileLayerComponent, selector: "art-raster-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2805
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: RasterTileLayerComponent, deps: [{ token: MapPostboyService }, { token: RasterTileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
2806
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: RasterTileLayerComponent, isStandalone: true, selector: "art-raster-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2808
2807
  }
2809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: RasterTileLayerComponent, decorators: [{
2808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: RasterTileLayerComponent, decorators: [{
2810
2809
  type: Component,
2811
- args: [{ selector: 'art-raster-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2810
+ args: [{ selector: 'art-raster-tile-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2812
2811
  }], ctorParameters: () => [{ type: MapPostboyService }, { type: RasterTileLayerFactory }], propDecorators: { settings: [{
2813
2812
  type: Input
2814
2813
  }] } });
@@ -2827,10 +2826,10 @@ class MapPlateFactory {
2827
2826
  interactions: defaults(settings.interactionSettings),
2828
2827
  });
2829
2828
  }
2830
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPlateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2831
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPlateFactory, providedIn: 'root' });
2829
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPlateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2830
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPlateFactory, providedIn: 'root' });
2832
2831
  }
2833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPlateFactory, decorators: [{
2832
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPlateFactory, decorators: [{
2834
2833
  type: Injectable,
2835
2834
  args: [{
2836
2835
  providedIn: 'root',
@@ -2843,6 +2842,7 @@ class MapPlateComponent extends DestructibleComponent {
2843
2842
  mapFactory;
2844
2843
  registrator;
2845
2844
  detector;
2845
+ contentRef = input.required();
2846
2846
  renderTryCount = 0;
2847
2847
  map;
2848
2848
  osmUrl = '';
@@ -2901,8 +2901,8 @@ class MapPlateComponent extends DestructibleComponent {
2901
2901
  this.detector.detectChanges();
2902
2902
  this.map.updateSize();
2903
2903
  }
2904
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPlateComponent, deps: [{ token: i0.ElementRef }, { token: MapPostboyService }, { token: MapPlateFactory }, { token: MessageRegistratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2905
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: MapPlateComponent, selector: "art-map-plate", inputs: { settings: "settings" }, providers: [
2904
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPlateComponent, deps: [{ token: i0.ElementRef }, { token: MapPostboyService }, { token: MapPlateFactory }, { token: MessageRegistratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2905
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.19", type: MapPlateComponent, isStandalone: true, selector: "art-map-plate", inputs: { contentRef: { classPropertyName: "contentRef", publicName: "contentRef", isSignal: true, isRequired: true, transformFunction: null }, settings: { classPropertyName: "settings", publicName: "settings", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
2906
2906
  MessageRegistratorService,
2907
2907
  MapStateService,
2908
2908
  MapManagementService,
@@ -2913,11 +2913,11 @@ class MapPlateComponent extends DestructibleComponent {
2913
2913
  FeatureService,
2914
2914
  FeatureModificationService,
2915
2915
  ControlsService,
2916
- ], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\" [opacity]=\"_settings.osmOpacity\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-map-plate{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "opacity", "map"] }, { kind: "component", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2916
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"contentRef()\"> </ng-container>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\" [opacity]=\"_settings.osmOpacity\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-map-plate{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "opacity", "map"] }, { kind: "component", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2917
2917
  }
2918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapPlateComponent, decorators: [{
2918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapPlateComponent, decorators: [{
2919
2919
  type: Component,
2920
- args: [{ selector: 'art-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2920
+ args: [{ selector: 'art-map-plate', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2921
2921
  MessageRegistratorService,
2922
2922
  MapStateService,
2923
2923
  MapManagementService,
@@ -2928,7 +2928,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
2928
2928
  FeatureService,
2929
2929
  FeatureModificationService,
2930
2930
  ControlsService,
2931
- ], encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\" [opacity]=\"_settings.osmOpacity\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-map-plate{display:block;width:100%;height:100%}\n"] }]
2931
+ ], encapsulation: ViewEncapsulation.None, imports: [
2932
+ OsmTileLayerComponent,
2933
+ FeatureLayerComponent,
2934
+ NgIf,
2935
+ NgTemplateOutlet
2936
+ ], template: "<ng-container *ngTemplateOutlet=\"contentRef()\"> </ng-container>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\" [opacity]=\"_settings.osmOpacity\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-map-plate{display:block;width:100%;height:100%}\n"] }]
2932
2937
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: MapPostboyService }, { type: MapPlateFactory }, { type: MessageRegistratorService }, { type: i0.ChangeDetectorRef }], propDecorators: { settings: [{
2933
2938
  type: Input
2934
2939
  }] } });
@@ -2966,120 +2971,18 @@ class MarkersComponent extends DestructibleComponent {
2966
2971
  return;
2967
2972
  this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._markers.map((m) => m.feature)));
2968
2973
  }
2969
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MarkersComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
2970
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: MarkersComponent, selector: "art-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2974
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MarkersComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
2975
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: MarkersComponent, isStandalone: true, selector: "art-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2971
2976
  }
2972
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MarkersComponent, decorators: [{
2977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MarkersComponent, decorators: [{
2973
2978
  type: Component,
2974
- args: [{ selector: 'art-markers', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2979
+ args: [{ selector: 'art-markers', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
2975
2980
  }], ctorParameters: () => [{ type: MapPostboyService }], propDecorators: { layerName: [{
2976
2981
  type: Input
2977
2982
  }], markers: [{
2978
2983
  type: Input
2979
2984
  }] } });
2980
2985
 
2981
- class TooltipSettings {
2982
- id;
2983
- containerClass = 'custom-tooltip-class';
2984
- constructor(id) {
2985
- this.id = id ?? IdGenerator.get();
2986
- }
2987
- static copy(model) {
2988
- const result = new TooltipSettings(model.id);
2989
- result.show = model.show;
2990
- result.containerClass = model.containerClass;
2991
- return result;
2992
- }
2993
- show = (e) => true;
2994
- setShow(show) {
2995
- return TooltipSettings.copy({ ...this, show });
2996
- }
2997
- setClass(containerClass) {
2998
- return TooltipSettings.copy({ ...this, containerClass });
2999
- }
3000
- isSame(model) {
3001
- if (this.show !== model.show)
3002
- return false;
3003
- if (this.containerClass !== model.containerClass)
3004
- return false;
3005
- if (this.id !== model.id)
3006
- return false;
3007
- return true;
3008
- }
3009
- }
3010
-
3011
- class TooltipComponent extends DestructibleComponent {
3012
- postboy;
3013
- detector;
3014
- container;
3015
- overlay;
3016
- show = false;
3017
- map;
3018
- constructor(postboy, detector) {
3019
- super();
3020
- this.postboy = postboy;
3021
- this.detector = detector;
3022
- }
3023
- _settings = new TooltipSettings();
3024
- set settings(value) {
3025
- if (!value || this._settings.isSame(value))
3026
- return;
3027
- this._settings = value;
3028
- this.detector.detectChanges();
3029
- }
3030
- ngOnInit() {
3031
- this.subs.push(this.observeMapRender());
3032
- this.subs.push(this.observeMapClick());
3033
- this.subs.push(this.observeClose());
3034
- }
3035
- addOverlay(coordinates) {
3036
- this.removeOverlay();
3037
- this.overlay = new Overlay(this.options(coordinates));
3038
- this.map?.addOverlay(this.overlay);
3039
- this.show = true;
3040
- this.detector.detectChanges();
3041
- }
3042
- options = (coordinates) => {
3043
- return {
3044
- element: this.container?.nativeElement,
3045
- autoPan: false,
3046
- autoPanAnimation: { duration: 0 },
3047
- position: coordinates,
3048
- };
3049
- };
3050
- observeMapClick() {
3051
- return this.postboy.sub(MapClickEvent).subscribe((ev) => {
3052
- this._settings.show(ev) ? this.addOverlay(ev.coordinates) : this.removeOverlay();
3053
- });
3054
- }
3055
- observeClose() {
3056
- return this.postboy
3057
- .sub(CloseTooltipCommand)
3058
- .pipe(filter((ev) => ev.tooltipId === this._settings.id))
3059
- .subscribe(() => this.removeOverlay());
3060
- }
3061
- observeMapRender() {
3062
- return this.postboy.sub(MapRenderedEvent).subscribe((m) => {
3063
- this.map = m.map;
3064
- });
3065
- }
3066
- removeOverlay = () => {
3067
- !!this.overlay && this.map?.removeOverlay(this.overlay);
3068
- this.show = false;
3069
- };
3070
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TooltipComponent, deps: [{ token: MapPostboyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3071
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: TooltipComponent, selector: "art-tooltip", inputs: { settings: "settings" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["tip"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3072
- }
3073
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: TooltipComponent, decorators: [{
3074
- type: Component,
3075
- args: [{ selector: 'art-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"] }]
3076
- }], ctorParameters: () => [{ type: MapPostboyService }, { type: i0.ChangeDetectorRef }], propDecorators: { container: [{
3077
- type: ViewChild,
3078
- args: ['tip']
3079
- }], settings: [{
3080
- type: Input
3081
- }] } });
3082
-
3083
2986
  /**
3084
2987
  * Component for rendering polygons on a map.
3085
2988
  * It listens for changes in the `polygons` input property and
@@ -3116,12 +3019,12 @@ class PolygonsComponent extends DestructibleComponent {
3116
3019
  return m.feature;
3117
3020
  })));
3118
3021
  }
3119
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
3120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: PolygonsComponent, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3022
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: PolygonsComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
3023
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: PolygonsComponent, isStandalone: true, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3121
3024
  }
3122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, decorators: [{
3025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: PolygonsComponent, decorators: [{
3123
3026
  type: Component,
3124
- args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
3027
+ args: [{ selector: 'art-polygons', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
3125
3028
  }], ctorParameters: () => [{ type: MapPostboyService }], propDecorators: { layerName: [{
3126
3029
  type: Input
3127
3030
  }], polygons: [{
@@ -3129,59 +3032,251 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
3129
3032
  }] } });
3130
3033
 
3131
3034
  /**
3132
- * Represents the settings for a zoom control.
3035
+ * Helper class to create and modify marker styles.
3133
3036
  */
3134
- class ZoomControlSettings {
3135
- /**
3136
- * The CSS class name of the control element.
3137
- *
3138
- * @type {string}
3139
- */
3140
- controlClass = 'ol-zoom';
3037
+ class MarkerStyleHelper {
3141
3038
  /**
3142
- * The CSS class name for zoom in button.
3143
- * @type {string}
3039
+ * Creates a new Style object from an SVG.
3040
+ * @param {string} svg - The SVG string.
3041
+ * @param {Array<number>} [size=[30, 30]] - The size of the icon image.
3042
+ * @param {number} [zIndex=400] - The zIndex of the style.
3043
+ * @returns {Style} A new Style object.
3144
3044
  */
3145
- zoomInClass = 'ol-zoom-in';
3045
+ static fromSvg(svg, size = [30, 30], zIndex = 400) {
3046
+ let image = new Image();
3047
+ image.src = 'data:image/svg+xml,' + escape(svg);
3048
+ return new Style({
3049
+ image: new Icon({
3050
+ img: image,
3051
+ size: size,
3052
+ }),
3053
+ zIndex,
3054
+ });
3055
+ }
3146
3056
  /**
3147
- * The CSS class name for the zoom out button element.
3057
+ * Returns a Style object with a circle style.
3148
3058
  *
3149
- * @type {string}
3059
+ * @param {number} radius - The radius of the circle.
3060
+ * @param {string} fill - The fill color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
3061
+ * @param {string} strokeColor - The stroke color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
3062
+ * @param {number} [strokeWidth=1] - The width of the stroke. Default is 1.
3063
+ * @returns {Style} - A Style object with a Circle image.
3150
3064
  */
3151
- zoomOutClass = 'ol-zoom-out';
3065
+ static circle(radius, fill, strokeColor, strokeWidth = 1) {
3066
+ return new Style({
3067
+ image: new Circle$1({
3068
+ radius,
3069
+ fill: new Fill({ color: fill }),
3070
+ stroke: new Stroke({ color: strokeColor, width: strokeWidth }),
3071
+ }),
3072
+ });
3073
+ }
3152
3074
  /**
3153
- * The label for the zoom in action.
3075
+ * Applies the given Text to the provided Style.
3154
3076
  *
3155
- * @type {string}
3077
+ * @param {Style} style - The Style to modify.
3078
+ * @param {Text} text - The Text to apply to the Style.
3079
+ * @return {Style} - The modified Style with the applied Text.
3156
3080
  */
3157
- zoomInLabel = 'Zoom In';
3081
+ static withText(style, text) {
3082
+ style.setText(text);
3083
+ return style;
3084
+ }
3085
+ }
3086
+
3087
+ /**
3088
+ * A helper class for creating polygon styles.
3089
+ * @class
3090
+ */
3091
+ class PolygonStyleHelper {
3158
3092
  /**
3159
- * The label for the zoom out control.
3093
+ * Creates a Style object with the given fill color, stroke color, and stroke width.
3160
3094
  *
3161
- * @type {string}
3095
+ * @param {string} fill - The fill color in hexadecimal or RGB format.
3096
+ * @param {string} stroke - The stroke color in hexadecimal or RGB format.
3097
+ * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
3098
+ * @return {Style} The created Style object.
3162
3099
  */
3163
- zoomOutLabel = 'Zoom Out';
3100
+ static simple(fill, stroke, strokeWidth = 1) {
3101
+ return new Style({
3102
+ fill: new Fill({
3103
+ color: fill,
3104
+ }),
3105
+ stroke: new Stroke({
3106
+ color: stroke,
3107
+ width: strokeWidth,
3108
+ }),
3109
+ });
3110
+ }
3164
3111
  /**
3165
- * Copies the provided ZoomControlSettings object.
3112
+ * Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
3166
3113
  *
3167
- * @param {ZoomControlSettings} model - The ZoomControlSettings object to be copied.
3168
- * @return {ZoomControlSettings} - The copied ZoomControlSettings object.
3114
+ * @param {string} fill - The color to use for the fill of the style.
3115
+ * @param {string} stroke - The color to use for the stroke of the style.
3116
+ * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
3117
+ * @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
3118
+ * @returns {Style} - The newly created Style object.
3169
3119
  */
3170
- static copy(model) {
3171
- const result = new ZoomControlSettings();
3172
- result.controlClass = model.controlClass;
3173
- result.zoomInClass = model.zoomInClass;
3174
- result.zoomOutClass = model.zoomOutClass;
3175
- result.zoomInLabel = model.zoomInLabel;
3176
- result.zoomOutLabel = model.zoomOutLabel;
3177
- return result;
3120
+ static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
3121
+ return new Style({
3122
+ image: new Circle$1({
3123
+ fill: new Fill({
3124
+ color: stroke,
3125
+ }),
3126
+ radius: pinRadius,
3127
+ }),
3128
+ fill: new Fill({
3129
+ color: fill,
3130
+ }),
3131
+ stroke: new Stroke({
3132
+ color: stroke,
3133
+ width: strokeWidth,
3134
+ }),
3135
+ });
3178
3136
  }
3137
+ }
3138
+
3139
+ /**
3140
+ * Helper class for creating text styles.
3141
+ */
3142
+ class TextStyleHelper {
3179
3143
  /**
3180
- * Checks if the current ZoomControlSettings object is equal to the given model.
3181
- *
3182
- * @param {ZoomControlSettings} model - The ZoomControlSettings object to compare with.
3144
+ * Creates and returns a new Text instance with specified styling properties.
3183
3145
  *
3184
- * @return {boolean} - true if the current object is equal to the given model, false otherwise.
3146
+ * @param {string} text - The text content to display.
3147
+ * @param {string} font - The font style to use for the text.
3148
+ * @param {string} color - The color of the text.
3149
+ * @param {string|null|undefined} [backColor] - The background color of the text. Optional.
3150
+ * @param {number[]|null|undefined} [padding] - The padding around the text in pixels. Optional.
3151
+ * @param {string|null|undefined} [textBaseline] - The text baseline alignment. Optional.
3152
+ * @param {number|null|undefined} [offsetY] - The vertical offset for the text. Optional.
3153
+ * @return {Text} A new Text instance configured with the specified properties.
3154
+ */
3155
+ static get(text, font, color, backColor, padding, textBaseline, offsetY) {
3156
+ return new Text({
3157
+ text: text,
3158
+ font: font,
3159
+ textAlign: 'center',
3160
+ fill: new Fill({
3161
+ color: color,
3162
+ }),
3163
+ backgroundFill: backColor ? new Fill({ color: backColor }) : undefined,
3164
+ padding: padding ?? undefined,
3165
+ textBaseline: textBaseline ?? undefined,
3166
+ offsetY: offsetY ?? undefined,
3167
+ });
3168
+ }
3169
+ }
3170
+
3171
+ /**
3172
+ * A helper class for converting and stringify features.
3173
+ */
3174
+ class StringifyFeatureHelper {
3175
+ static polygon(feature, format = FeatureOutputFormat.GeoJson) {
3176
+ return format === FeatureOutputFormat.GeoJson
3177
+ ? new GeoJSON().writeFeature(feature)
3178
+ : new WKT().writeFeature(feature);
3179
+ }
3180
+ /**
3181
+ * Creates a polygon feature representing a circle based on a given feature with a circle geometry.
3182
+ *
3183
+ * @param {Feature<Geometry>} feature - The input feature with a circle geometry.
3184
+ * @param {FeatureOutputFormat} format - The format for outputting the polygon feature. (default: FeatureOutputFormat.GeoJson)
3185
+ *
3186
+ * @return {string} - The string representation of the polygon feature.
3187
+ */
3188
+ static circle(feature, format = FeatureOutputFormat.GeoJson) {
3189
+ const circle = feature.getGeometry();
3190
+ const ext = feature.getGeometry().getExtent();
3191
+ const coords = [
3192
+ ...transform([ext[0], ext[1]], 'EPSG:4326', 'EPSG:3857'),
3193
+ ...transform([ext[2], ext[3]], 'EPSG:4326', 'EPSG:3857'),
3194
+ ];
3195
+ const radius = (coords[2] - coords[0]) / 2;
3196
+ const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
3197
+ return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
3198
+ }
3199
+ /**
3200
+ * Draw a circle based on a center point and radius.
3201
+ *
3202
+ * @param {number[]} point - The center point coordinates in EPSG:4326 format.
3203
+ * @param {number} radius - The radius of the circle in meters.
3204
+ * @return {Coordinate[][]} - The coordinates of the circle boundary in EPSG:4326 format.
3205
+ */
3206
+ static drawCircle(point, radius) {
3207
+ const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
3208
+ // const tetetemp = point;
3209
+ const radians = Math.PI / 180; // degrees to radians
3210
+ const degrees = 180 / Math.PI; // radians to degrees
3211
+ const earthsradius = 6378137.0;
3212
+ const rlat = (radius / earthsradius) * degrees;
3213
+ const rlng = rlat / Math.cos(tetetemp[1] * radians);
3214
+ const extp = [];
3215
+ for (let i = 0; i <= 32; i++) {
3216
+ const theta = Math.PI * (i / 16);
3217
+ extp.push([
3218
+ tetetemp[0] + rlng * Math.cos(theta) * METERS_PER_UNIT,
3219
+ tetetemp[1] + rlat * Math.sin(theta) * METERS_PER_UNIT,
3220
+ ]);
3221
+ }
3222
+ return [extp.map((e) => transform(e, 'EPSG:3857', 'EPSG:4326'))];
3223
+ }
3224
+ }
3225
+
3226
+ /**
3227
+ * Represents the settings for a zoom control.
3228
+ */
3229
+ class ZoomControlSettings {
3230
+ /**
3231
+ * The CSS class name of the control element.
3232
+ *
3233
+ * @type {string}
3234
+ */
3235
+ controlClass = 'ol-zoom';
3236
+ /**
3237
+ * The CSS class name for zoom in button.
3238
+ * @type {string}
3239
+ */
3240
+ zoomInClass = 'ol-zoom-in';
3241
+ /**
3242
+ * The CSS class name for the zoom out button element.
3243
+ *
3244
+ * @type {string}
3245
+ */
3246
+ zoomOutClass = 'ol-zoom-out';
3247
+ /**
3248
+ * The label for the zoom in action.
3249
+ *
3250
+ * @type {string}
3251
+ */
3252
+ zoomInLabel = 'Zoom In';
3253
+ /**
3254
+ * The label for the zoom out control.
3255
+ *
3256
+ * @type {string}
3257
+ */
3258
+ zoomOutLabel = 'Zoom Out';
3259
+ /**
3260
+ * Copies the provided ZoomControlSettings object.
3261
+ *
3262
+ * @param {ZoomControlSettings} model - The ZoomControlSettings object to be copied.
3263
+ * @return {ZoomControlSettings} - The copied ZoomControlSettings object.
3264
+ */
3265
+ static copy(model) {
3266
+ const result = new ZoomControlSettings();
3267
+ result.controlClass = model.controlClass;
3268
+ result.zoomInClass = model.zoomInClass;
3269
+ result.zoomOutClass = model.zoomOutClass;
3270
+ result.zoomInLabel = model.zoomInLabel;
3271
+ result.zoomOutLabel = model.zoomOutLabel;
3272
+ return result;
3273
+ }
3274
+ /**
3275
+ * Checks if the current ZoomControlSettings object is equal to the given model.
3276
+ *
3277
+ * @param {ZoomControlSettings} model - The ZoomControlSettings object to compare with.
3278
+ *
3279
+ * @return {boolean} - true if the current object is equal to the given model, false otherwise.
3185
3280
  */
3186
3281
  isSame(model) {
3187
3282
  if (this.zoomInClass !== model.zoomInClass)
@@ -3295,265 +3390,119 @@ class MapControlZoomComponent extends DestructibleComponent {
3295
3390
  this.map.addControl(this.control);
3296
3391
  }
3297
3392
  eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
3298
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
3299
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: MapControlZoomComponent, selector: "art-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3393
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
3394
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: MapControlZoomComponent, isStandalone: true, selector: "art-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3300
3395
  }
3301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapControlZoomComponent, decorators: [{
3396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MapControlZoomComponent, decorators: [{
3302
3397
  type: Component,
3303
- args: [{ selector: 'art-map-control-zoom', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
3398
+ args: [{ selector: 'art-map-control-zoom', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
3304
3399
  }], ctorParameters: () => [{ type: MapPostboyService }], propDecorators: { settings: [{
3305
3400
  type: Input
3306
3401
  }] } });
3307
3402
 
3308
- class MapModule {
3309
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3310
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: MapModule, declarations: [DestructibleComponent,
3311
- MapPlateComponent,
3312
- TileLayerComponent,
3313
- OsmTileLayerComponent,
3314
- FeatureLayerComponent,
3315
- MarkersComponent,
3316
- TooltipComponent,
3317
- PolygonsComponent,
3318
- ClusterLayerComponent,
3319
- MapControlZoomComponent,
3320
- ImageLayerComponent,
3321
- RasterTileLayerComponent], imports: [CommonModule], exports: [MapPlateComponent,
3322
- FeatureLayerComponent,
3323
- MarkersComponent,
3324
- TileLayerComponent,
3325
- TooltipComponent,
3326
- PolygonsComponent,
3327
- ClusterLayerComponent,
3328
- MapControlZoomComponent,
3329
- ImageLayerComponent,
3330
- RasterTileLayerComponent] });
3331
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapModule, imports: [CommonModule] });
3332
- }
3333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapModule, decorators: [{
3334
- type: NgModule,
3335
- args: [{
3336
- imports: [CommonModule],
3337
- declarations: [
3338
- DestructibleComponent,
3339
- MapPlateComponent,
3340
- TileLayerComponent,
3341
- OsmTileLayerComponent,
3342
- FeatureLayerComponent,
3343
- MarkersComponent,
3344
- TooltipComponent,
3345
- PolygonsComponent,
3346
- ClusterLayerComponent,
3347
- MapControlZoomComponent,
3348
- ImageLayerComponent,
3349
- RasterTileLayerComponent,
3350
- ],
3351
- exports: [
3352
- MapPlateComponent,
3353
- FeatureLayerComponent,
3354
- MarkersComponent,
3355
- TileLayerComponent,
3356
- TooltipComponent,
3357
- PolygonsComponent,
3358
- ClusterLayerComponent,
3359
- MapControlZoomComponent,
3360
- ImageLayerComponent,
3361
- RasterTileLayerComponent,
3362
- ],
3363
- }]
3364
- }] });
3365
-
3366
- /**
3367
- * Helper class to create and modify marker styles.
3368
- */
3369
- class MarkerStyleHelper {
3370
- /**
3371
- * Creates a new Style object from an SVG.
3372
- * @param {string} svg - The SVG string.
3373
- * @param {Array<number>} [size=[30, 30]] - The size of the icon image.
3374
- * @param {number} [zIndex=400] - The zIndex of the style.
3375
- * @returns {Style} A new Style object.
3376
- */
3377
- static fromSvg(svg, size = [30, 30], zIndex = 400) {
3378
- let image = new Image();
3379
- image.src = 'data:image/svg+xml,' + escape(svg);
3380
- return new Style({
3381
- image: new Icon({
3382
- img: image,
3383
- imgSize: size,
3384
- }),
3385
- zIndex,
3386
- });
3403
+ class TooltipSettings {
3404
+ id;
3405
+ containerClass = 'custom-tooltip-class';
3406
+ constructor(id) {
3407
+ this.id = id ?? IdGenerator.get();
3387
3408
  }
3388
- /**
3389
- * Returns a Style object with a circle style.
3390
- *
3391
- * @param {number} radius - The radius of the circle.
3392
- * @param {string} fill - The fill color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
3393
- * @param {string} strokeColor - The stroke color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
3394
- * @param {number} [strokeWidth=1] - The width of the stroke. Default is 1.
3395
- * @returns {Style} - A Style object with a Circle image.
3396
- */
3397
- static circle(radius, fill, strokeColor, strokeWidth = 1) {
3398
- return new Style({
3399
- image: new Circle$1({
3400
- radius,
3401
- fill: new Fill({ color: fill }),
3402
- stroke: new Stroke({ color: strokeColor, width: strokeWidth }),
3403
- }),
3404
- });
3409
+ static copy(model) {
3410
+ const result = new TooltipSettings(model.id);
3411
+ result.show = model.show;
3412
+ result.containerClass = model.containerClass;
3413
+ return result;
3405
3414
  }
3406
- /**
3407
- * Applies the given Text to the provided Style.
3408
- *
3409
- * @param {Style} style - The Style to modify.
3410
- * @param {Text} text - The Text to apply to the Style.
3411
- * @return {Style} - The modified Style with the applied Text.
3412
- */
3413
- static withText(style, text) {
3414
- style.setText(text);
3415
- return style;
3415
+ show = (e) => true;
3416
+ setShow(show) {
3417
+ return TooltipSettings.copy({ ...this, show });
3416
3418
  }
3417
- }
3418
-
3419
- /**
3420
- * A helper class for creating polygon styles.
3421
- * @class
3422
- */
3423
- class PolygonStyleHelper {
3424
- /**
3425
- * Creates a Style object with the given fill color, stroke color, and stroke width.
3426
- *
3427
- * @param {string} fill - The fill color in hexadecimal or RGB format.
3428
- * @param {string} stroke - The stroke color in hexadecimal or RGB format.
3429
- * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
3430
- * @return {Style} The created Style object.
3431
- */
3432
- static simple(fill, stroke, strokeWidth = 1) {
3433
- return new Style({
3434
- fill: new Fill({
3435
- color: fill,
3436
- }),
3437
- stroke: new Stroke({
3438
- color: stroke,
3439
- width: strokeWidth,
3440
- }),
3441
- });
3419
+ setClass(containerClass) {
3420
+ return TooltipSettings.copy({ ...this, containerClass });
3442
3421
  }
3443
- /**
3444
- * Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
3445
- *
3446
- * @param {string} fill - The color to use for the fill of the style.
3447
- * @param {string} stroke - The color to use for the stroke of the style.
3448
- * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
3449
- * @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
3450
- * @returns {Style} - The newly created Style object.
3451
- */
3452
- static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
3453
- return new Style({
3454
- image: new Circle$1({
3455
- fill: new Fill({
3456
- color: stroke,
3457
- }),
3458
- radius: pinRadius,
3459
- }),
3460
- fill: new Fill({
3461
- color: fill,
3462
- }),
3463
- stroke: new Stroke({
3464
- color: stroke,
3465
- width: strokeWidth,
3466
- }),
3467
- });
3422
+ isSame(model) {
3423
+ if (this.show !== model.show)
3424
+ return false;
3425
+ if (this.containerClass !== model.containerClass)
3426
+ return false;
3427
+ if (this.id !== model.id)
3428
+ return false;
3429
+ return true;
3468
3430
  }
3469
3431
  }
3470
3432
 
3471
- /**
3472
- * Helper class for creating text styles.
3473
- */
3474
- class TextStyleHelper {
3475
- /**
3476
- * Creates and returns a new Text instance with specified styling properties.
3477
- *
3478
- * @param {string} text - The text content to display.
3479
- * @param {string} font - The font style to use for the text.
3480
- * @param {string} color - The color of the text.
3481
- * @param {string|null|undefined} [backColor] - The background color of the text. Optional.
3482
- * @param {number[]|null|undefined} [padding] - The padding around the text in pixels. Optional.
3483
- * @param {string|null|undefined} [textBaseline] - The text baseline alignment. Optional.
3484
- * @param {number|null|undefined} [offsetY] - The vertical offset for the text. Optional.
3485
- * @return {Text} A new Text instance configured with the specified properties.
3486
- */
3487
- static get(text, font, color, backColor, padding, textBaseline, offsetY) {
3488
- return new Text({
3489
- text: text,
3490
- font: font,
3491
- textAlign: 'center',
3492
- fill: new Fill({
3493
- color: color,
3494
- }),
3495
- backgroundFill: backColor ? new Fill({ color: backColor }) : undefined,
3496
- padding: padding ?? undefined,
3497
- textBaseline: textBaseline ?? undefined,
3498
- offsetY: offsetY ?? undefined,
3499
- });
3433
+ class TooltipComponent extends DestructibleComponent {
3434
+ postboy;
3435
+ detector;
3436
+ contentRef = input.required();
3437
+ container;
3438
+ overlay;
3439
+ show = false;
3440
+ map;
3441
+ constructor(postboy, detector) {
3442
+ super();
3443
+ this.postboy = postboy;
3444
+ this.detector = detector;
3500
3445
  }
3501
- }
3502
-
3503
- /**
3504
- * A helper class for converting and stringify features.
3505
- */
3506
- class StringifyFeatureHelper {
3507
- static polygon(feature, format = FeatureOutputFormat.GeoJson) {
3508
- return format === FeatureOutputFormat.GeoJson
3509
- ? new GeoJSON().writeFeature(feature)
3510
- : new WKT().writeFeature(feature);
3446
+ _settings = new TooltipSettings();
3447
+ set settings(value) {
3448
+ if (!value || this._settings.isSame(value))
3449
+ return;
3450
+ this._settings = value;
3451
+ this.detector.detectChanges();
3511
3452
  }
3512
- /**
3513
- * Creates a polygon feature representing a circle based on a given feature with a circle geometry.
3514
- *
3515
- * @param {Feature<Geometry>} feature - The input feature with a circle geometry.
3516
- * @param {FeatureOutputFormat} format - The format for outputting the polygon feature. (default: FeatureOutputFormat.GeoJson)
3517
- *
3518
- * @return {string} - The string representation of the polygon feature.
3519
- */
3520
- static circle(feature, format = FeatureOutputFormat.GeoJson) {
3521
- const circle = feature.getGeometry();
3522
- const ext = feature.getGeometry().getExtent();
3523
- const coords = [
3524
- ...transform([ext[0], ext[1]], 'EPSG:4326', 'EPSG:3857'),
3525
- ...transform([ext[2], ext[3]], 'EPSG:4326', 'EPSG:3857'),
3526
- ];
3527
- const radius = (coords[2] - coords[0]) / 2;
3528
- const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
3529
- return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
3453
+ ngOnInit() {
3454
+ this.subs.push(this.observeMapRender());
3455
+ this.subs.push(this.observeMapClick());
3456
+ this.subs.push(this.observeClose());
3530
3457
  }
3531
- /**
3532
- * Draw a circle based on a center point and radius.
3533
- *
3534
- * @param {number[]} point - The center point coordinates in EPSG:4326 format.
3535
- * @param {number} radius - The radius of the circle in meters.
3536
- * @return {Coordinate[][]} - The coordinates of the circle boundary in EPSG:4326 format.
3537
- */
3538
- static drawCircle(point, radius) {
3539
- const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
3540
- // const tetetemp = point;
3541
- const radians = Math.PI / 180; // degrees to radians
3542
- const degrees = 180 / Math.PI; // radians to degrees
3543
- const earthsradius = 6378137.0;
3544
- const rlat = (radius / earthsradius) * degrees;
3545
- const rlng = rlat / Math.cos(tetetemp[1] * radians);
3546
- const extp = [];
3547
- for (let i = 0; i <= 32; i++) {
3548
- const theta = Math.PI * (i / 16);
3549
- extp.push([
3550
- tetetemp[0] + rlng * Math.cos(theta) * METERS_PER_UNIT,
3551
- tetetemp[1] + rlat * Math.sin(theta) * METERS_PER_UNIT,
3552
- ]);
3553
- }
3554
- return [extp.map((e) => transform(e, 'EPSG:3857', 'EPSG:4326'))];
3458
+ addOverlay(coordinates) {
3459
+ this.removeOverlay();
3460
+ this.overlay = new Overlay(this.options(coordinates));
3461
+ this.map?.addOverlay(this.overlay);
3462
+ this.show = true;
3463
+ this.detector.detectChanges();
3464
+ }
3465
+ options = (coordinates) => {
3466
+ return {
3467
+ element: this.container?.nativeElement,
3468
+ autoPan: false,
3469
+ position: coordinates,
3470
+ };
3471
+ };
3472
+ observeMapClick() {
3473
+ return this.postboy.sub(MapClickEvent).subscribe((ev) => {
3474
+ this._settings.show(ev) ? this.addOverlay(ev.coordinates) : this.removeOverlay();
3475
+ });
3555
3476
  }
3477
+ observeClose() {
3478
+ return this.postboy
3479
+ .sub(CloseTooltipCommand)
3480
+ .pipe(filter((ev) => ev.tooltipId === this._settings.id))
3481
+ .subscribe(() => this.removeOverlay());
3482
+ }
3483
+ observeMapRender() {
3484
+ return this.postboy.sub(MapRenderedEvent).subscribe((m) => {
3485
+ this.map = m.map;
3486
+ });
3487
+ }
3488
+ removeOverlay = () => {
3489
+ !!this.overlay && this.map?.removeOverlay(this.overlay);
3490
+ this.show = false;
3491
+ };
3492
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TooltipComponent, deps: [{ token: MapPostboyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3493
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.19", type: TooltipComponent, isStandalone: true, selector: "art-tooltip", inputs: { contentRef: { classPropertyName: "contentRef", publicName: "contentRef", isSignal: true, isRequired: true, transformFunction: null }, settings: { classPropertyName: "settings", publicName: "settings", isSignal: false, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["tip"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-container *ngTemplateOutlet=\"contentRef()\"> </ng-container>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3556
3494
  }
3495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TooltipComponent, decorators: [{
3496
+ type: Component,
3497
+ args: [{ selector: 'art-tooltip', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
3498
+ NgTemplateOutlet
3499
+ ], template: "<div #tip [class]=\"['tooltip-wrapper', _settings.containerClass]\" [hidden]=\"!show\">\r\n <ng-container *ngTemplateOutlet=\"contentRef()\"> </ng-container>\r\n</div>\r\n", styles: [".tooltip-wrapper{position:absolute}\n"] }]
3500
+ }], ctorParameters: () => [{ type: MapPostboyService }, { type: i0.ChangeDetectorRef }], propDecorators: { container: [{
3501
+ type: ViewChild,
3502
+ args: ['tip']
3503
+ }], settings: [{
3504
+ type: Input
3505
+ }] } });
3557
3506
 
3558
3507
  /*
3559
3508
  * Public API Surface of maps
@@ -3563,5 +3512,5 @@ class StringifyFeatureHelper {
3563
3512
  * Generated bundle index. Do not edit.
3564
3513
  */
3565
3514
 
3566
- export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FilterFeaturesInAreaExecutor, FilterFeaturesInPointExecutor, FitToFeaturesCommand, FitToPolygonsCommand, GetFeaturesInAreaQuery, GetFeaturesInPointQuery, GetGeometryLengthExecutor, GetMapPositionExecutor, ImageLayerComponent, ImageLayerSettings, MapClickEvent, MapConstants, MapControl, MapControlZoomComponent, MapFeatureHoveredEvent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPointerMoveEvent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonSelfIntersectionExecutor, PolygonStyleHelper, PolygonsComponent, RasterTileLayerComponent, RasterTileLayerSettings, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
3515
+ export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FilterFeaturesInAreaExecutor, FilterFeaturesInPointExecutor, FitToFeaturesCommand, FitToPolygonsCommand, GetFeaturesInAreaQuery, GetFeaturesInPointQuery, GetGeometryLengthExecutor, GetMapPositionExecutor, ImageLayerComponent, ImageLayerSettings, MapClickEvent, MapConstants, MapControl, MapControlZoomComponent, MapFeatureHoveredEvent, MapLyrs, MapLyrsLabel, MapMoveEndEvent, MapPlateComponent, MapPointerMoveEvent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonSelfIntersectionExecutor, PolygonStyleHelper, PolygonsComponent, RasterTileLayerComponent, RasterTileLayerSettings, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
3567
3516
  //# sourceMappingURL=maps-components-src-map.mjs.map