@vcmap/ui 5.0.0-rc.23 → 5.0.0-rc.25

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 (479) hide show
  1. package/README.md +36 -18
  2. package/app.config.json +2 -4
  3. package/build/.eslintrc +3 -0
  4. package/build/build.js +302 -174
  5. package/build/buildCesium.js +32 -19
  6. package/build/buildHelpers.js +267 -94
  7. package/build/buildPreview.js +7 -4
  8. package/build/bundle.js +56 -0
  9. package/build/commonViteConfig.js +2 -4
  10. package/build/determineHost.js +17 -4
  11. package/build/generateOLLib.js +13 -16
  12. package/build/getPluginProxies.js +16 -3
  13. package/build/info/conf.json +21 -21
  14. package/build/info/publish.js +15 -4
  15. package/config/aerowest.config.json +16 -44
  16. package/config/base.config.json +100 -248
  17. package/config/codes.config.json +3 -1
  18. package/config/dev.config.json +34 -14
  19. package/config/graphFeatureInfo.config.json +55 -16
  20. package/config/projects.config.json +5 -2
  21. package/config/www.config.json +174 -333
  22. package/dist/assets/@mdi/font/LICENSE +20 -0
  23. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  24. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +3 -0
  25. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  26. package/dist/assets/cesium/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
  27. package/dist/assets/cesium/Workers/{AttributeCompression-b646d393.js → AttributeCompression-f9f6c717.js} +24 -24
  28. package/dist/assets/cesium/Workers/{AxisAlignedBoundingBox-ff186ccc.js → AxisAlignedBoundingBox-4140c51f.js} +3 -3
  29. package/dist/assets/cesium/Workers/{BoundingRectangle-be5924f4.js → BoundingRectangle-c714b156.js} +18 -18
  30. package/dist/assets/cesium/Workers/{BoxGeometry-12eeccaf.js → BoxGeometry-6f3da43d.js} +9 -9
  31. package/dist/assets/cesium/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
  32. package/dist/assets/cesium/Workers/{Color-a84038cb.js → Color-8a565ff2.js} +63 -63
  33. package/dist/assets/cesium/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
  34. package/dist/assets/cesium/Workers/{CoplanarPolygonGeometryLibrary-3272c1b3.js → CoplanarPolygonGeometryLibrary-4b4d4096.js} +1 -1
  35. package/dist/assets/cesium/Workers/{CorridorGeometryLibrary-0170e093.js → CorridorGeometryLibrary-7b94502b.js} +1 -1
  36. package/dist/assets/cesium/Workers/{CylinderGeometry-7c5da648.js → CylinderGeometry-ca070b87.js} +12 -12
  37. package/dist/assets/cesium/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
  38. package/dist/assets/cesium/Workers/{EllipseGeometry-797d580e.js → EllipseGeometry-122e51fa.js} +20 -20
  39. package/dist/assets/cesium/Workers/{EllipseGeometryLibrary-2939e1dc.js → EllipseGeometryLibrary-4d326efc.js} +1 -1
  40. package/dist/assets/cesium/Workers/{EllipseOutlineGeometry-8b50870f.js → EllipseOutlineGeometry-16cc2bd7.js} +15 -15
  41. package/dist/assets/cesium/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-5b3623dc.js} +6 -6
  42. package/dist/assets/cesium/Workers/{EllipsoidGeometry-21c0e3a5.js → EllipsoidGeometry-cb148ca2.js} +14 -14
  43. package/dist/assets/cesium/Workers/{EllipsoidOutlineGeometry-eff247c8.js → EllipsoidOutlineGeometry-0fa10c79.js} +15 -15
  44. package/dist/assets/cesium/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-ef872433.js} +9 -9
  45. package/dist/assets/cesium/Workers/{EllipsoidTangentPlane-214683dc.js → EllipsoidTangentPlane-6dd1b7af.js} +1 -1
  46. package/dist/assets/cesium/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-57415c8a.js} +6 -6
  47. package/dist/assets/cesium/Workers/{FrustumGeometry-ac42a6d9.js → FrustumGeometry-ee73037c.js} +139 -111
  48. package/dist/assets/cesium/Workers/{GeometryAttribute-7d6f1732.js → GeometryAttribute-ff5b4fb1.js} +20 -20
  49. package/dist/assets/cesium/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
  50. package/dist/assets/cesium/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-34d9e21e.js} +6 -6
  51. package/dist/assets/cesium/Workers/{GeometryPipeline-ce4339ed.js → GeometryPipeline-1f8fbf05.js} +22 -22
  52. package/dist/assets/cesium/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-2643aa47.js} +13 -13
  53. package/dist/assets/cesium/Workers/{IntersectionTests-f6e6bd8a.js → IntersectionTests-70d39ba9.js} +37 -37
  54. package/dist/assets/cesium/Workers/{Math-2dbd6b93.js → Math-0a2ac845.js} +149 -139
  55. package/dist/assets/cesium/Workers/{Matrix2-13178034.js → Matrix2-e1298525.js} +256 -256
  56. package/dist/assets/cesium/Workers/{Matrix3-315394f6.js → Matrix3-41c58dde.js} +150 -150
  57. package/dist/assets/cesium/Workers/{OrientedBoundingBox-04920dc7.js → OrientedBoundingBox-159cf1d6.js} +19 -17
  58. package/dist/assets/cesium/Workers/{Plane-900aa728.js → Plane-4c3d403b.js} +5 -5
  59. package/dist/assets/cesium/Workers/{PolygonGeometryLibrary-a8680d96.js → PolygonGeometryLibrary-076a5d25.js} +6 -6
  60. package/dist/assets/cesium/Workers/PolygonPipeline-b9f2810a.js +1344 -0
  61. package/dist/assets/cesium/Workers/{PolylinePipeline-32f36d2a.js → PolylinePipeline-639192e0.js} +16 -16
  62. package/dist/assets/cesium/Workers/{PolylineVolumeGeometryLibrary-a510d657.js → PolylineVolumeGeometryLibrary-b73549fb.js} +7 -7
  63. package/dist/assets/cesium/Workers/{PrimitivePipeline-ba38434a.js → PrimitivePipeline-10ede1b6.js} +6 -6
  64. package/dist/assets/cesium/Workers/{RectangleGeometryLibrary-bdba697e.js → RectangleGeometryLibrary-c35a7356.js} +1 -1
  65. package/dist/assets/cesium/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
  66. package/dist/assets/cesium/Workers/{TerrainEncoding-833187da.js → TerrainEncoding-668d242f.js} +30 -30
  67. package/dist/assets/cesium/Workers/Transforms-a2a85221.js +14712 -0
  68. package/dist/assets/cesium/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
  69. package/dist/assets/cesium/Workers/{WallGeometryLibrary-919eed92.js → WallGeometryLibrary-1938bf0d.js} +1 -1
  70. package/dist/assets/cesium/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
  71. package/dist/assets/cesium/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-13ed1a6e.js} +6 -6
  72. package/dist/assets/cesium/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-d2061e85.js} +5 -5
  73. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +5 -5
  74. package/dist/assets/cesium/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
  75. package/dist/assets/cesium/Workers/combineGeometry.js +1 -1
  76. package/dist/assets/cesium/Workers/createBoxGeometry.js +1 -1
  77. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +9 -9
  78. package/dist/assets/cesium/Workers/createCircleGeometry.js +13 -13
  79. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +13 -13
  80. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +11 -11
  81. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
  82. package/dist/assets/cesium/Workers/createCorridorGeometry.js +14 -14
  83. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +12 -12
  84. package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -1
  85. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +13 -13
  86. package/dist/assets/cesium/Workers/createEllipseGeometry.js +1 -1
  87. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  88. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +1 -1
  89. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  90. package/dist/assets/cesium/Workers/createFrustumGeometry.js +1 -1
  91. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +8 -8
  92. package/dist/assets/cesium/Workers/createGeometry.js +1 -1
  93. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +33 -33
  94. package/dist/assets/cesium/Workers/createPlaneGeometry.js +8 -8
  95. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +6 -6
  96. package/dist/assets/cesium/Workers/createPolygonGeometry.js +25 -25
  97. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +17 -17
  98. package/dist/assets/cesium/Workers/createPolylineGeometry.js +11 -11
  99. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +9 -9
  100. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
  101. package/dist/assets/cesium/Workers/createRectangleGeometry.js +16 -16
  102. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +12 -12
  103. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +10 -10
  104. package/dist/assets/cesium/Workers/createSphereGeometry.js +11 -11
  105. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +12 -12
  106. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +2 -2
  107. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  108. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +8 -8
  109. package/dist/assets/cesium/Workers/createVectorTilePoints.js +1 -1
  110. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +1 -1
  111. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +1 -1
  112. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  113. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +27 -28
  114. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +33 -38
  115. package/dist/assets/cesium/Workers/createWallGeometry.js +14 -14
  116. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +14 -14
  117. package/dist/assets/cesium/Workers/decodeDraco.js +10 -2
  118. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
  119. package/dist/assets/cesium/Workers/decodeI3S.js +1 -1
  120. package/dist/assets/cesium/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
  121. package/dist/assets/cesium/Workers/package.js +1 -1
  122. package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -26
  123. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  124. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +24 -24
  125. package/dist/assets/{cesium.166f91.js → cesium.1457fa.js} +155448 -127152
  126. package/dist/assets/cesium.js +1 -1
  127. package/dist/assets/core.47836f.js +19060 -0
  128. package/dist/assets/core.js +1 -1
  129. package/dist/assets/index-bb372634.js +1 -0
  130. package/dist/assets/{ol.d2cba3.js → ol.9e4d23.js} +28380 -13095
  131. package/dist/assets/ol.js +1 -1
  132. package/dist/assets/ui.6ed89d.css +5 -0
  133. package/dist/assets/ui.6ed89d.js +13461 -0
  134. package/dist/assets/ui.js +1 -1
  135. package/dist/assets/{vue.5d00e9.js → vue.7327e4.js} +834 -598
  136. package/dist/assets/vue.js +2 -2
  137. package/dist/assets/{vuetify.2f1432.css → vuetify.d2131d.css} +2 -2
  138. package/dist/assets/{vuetify.2f1432.js → vuetify.d2131d.js} +343 -103
  139. package/dist/assets/vuetify.js +2 -2
  140. package/dist/index.html +28 -7
  141. package/index.html +35 -7
  142. package/index.js +82 -17
  143. package/lib/cesium.js +1 -1
  144. package/lib/core.js +1 -1
  145. package/lib/olLib.js +19 -16
  146. package/lib/ui.js +1 -1
  147. package/lib/vue.js +2 -2
  148. package/lib/vuetify.js +2 -2
  149. package/package.json +29 -19
  150. package/plugins/.eslintrc +9 -0
  151. package/plugins/@vcmap/create-link/fallbackCreateLink.vue +13 -11
  152. package/plugins/@vcmap/create-link/index.js +15 -6
  153. package/plugins/@vcmap/project-selector/ModulesListComponent.vue +4 -8
  154. package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +5 -10
  155. package/plugins/@vcmap/project-selector/README.md +4 -2
  156. package/plugins/@vcmap/project-selector/config.json +13 -13
  157. package/plugins/@vcmap/project-selector/de.json +2 -2
  158. package/plugins/@vcmap/project-selector/en.json +2 -2
  159. package/plugins/@vcmap/project-selector/index.js +63 -28
  160. package/plugins/@vcmap/search-nominatim/LICENSE.md +5 -6
  161. package/plugins/@vcmap/search-nominatim/README.md +2 -1
  162. package/plugins/@vcmap/search-nominatim/config.json +1 -2
  163. package/plugins/@vcmap/search-nominatim/index.js +7 -4
  164. package/plugins/@vcmap/search-nominatim/nominatim.js +7 -2
  165. package/plugins/@vcmap/search-nominatim/package.json +2 -36
  166. package/plugins/@vcmap/simple-graph/README.md +29 -9
  167. package/plugins/@vcmap/simple-graph/SimpleGraphComponent.vue +2 -7
  168. package/plugins/@vcmap/simple-graph/index.js +2 -2
  169. package/plugins/@vcmap/simple-graph/simpleGraphView.js +3 -1
  170. package/plugins/@vcmap/theme-changer/README.md +5 -3
  171. package/plugins/@vcmap/theme-changer/ThemeChangerComponent.vue +6 -10
  172. package/plugins/@vcmap/theme-changer/config.json +67 -67
  173. package/plugins/@vcmap/theme-changer/index.js +11 -5
  174. package/plugins/@vcmap-show-case/README.md +2 -1
  175. package/plugins/@vcmap-show-case/buttons-example/ButtonsExample.vue +87 -46
  176. package/plugins/@vcmap-show-case/buttons-example/index.js +10 -8
  177. package/plugins/@vcmap-show-case/category-tester/CategoriesExample.vue +135 -0
  178. package/plugins/@vcmap-show-case/category-tester/CollectionComponentOptions.vue +209 -0
  179. package/plugins/@vcmap-show-case/category-tester/index.js +28 -4
  180. package/plugins/@vcmap-show-case/collection-manager-example/CollectionManagerExample.vue +182 -0
  181. package/plugins/@vcmap-show-case/collection-manager-example/README.md +3 -0
  182. package/plugins/@vcmap-show-case/collection-manager-example/index.js +74 -0
  183. package/plugins/@vcmap-show-case/collection-manager-example/package.json +5 -0
  184. package/plugins/@vcmap-show-case/config-editor/{editor.vue → ConfigEditor.vue} +20 -24
  185. package/plugins/@vcmap-show-case/config-editor/index.js +13 -11
  186. package/plugins/@vcmap-show-case/context-menu-tester/index.js +18 -10
  187. package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +109 -121
  188. package/plugins/@vcmap-show-case/form-inputs-example/config.json +3 -3
  189. package/plugins/@vcmap-show-case/form-inputs-example/exampleActions.js +14 -4
  190. package/plugins/@vcmap-show-case/form-inputs-example/index.js +41 -19
  191. package/plugins/@vcmap-show-case/form-inputs-example/validation.js +2 -1
  192. package/plugins/@vcmap-show-case/icons-example/README.md +1 -1
  193. package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +10 -10
  194. package/plugins/@vcmap-show-case/icons-example/index.js +10 -8
  195. package/plugins/@vcmap-show-case/list-example/ListExample.vue +221 -103
  196. package/plugins/@vcmap-show-case/list-example/index.js +10 -8
  197. package/plugins/@vcmap-show-case/notifier-tester/index.js +9 -3
  198. package/plugins/@vcmap-show-case/notifier-tester/notifierTester.vue +15 -21
  199. package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +21 -0
  200. package/plugins/@vcmap-show-case/switch-map-callback-example/SwitchMapCallback.js +47 -0
  201. package/plugins/@vcmap-show-case/switch-map-callback-example/config.json +3 -0
  202. package/plugins/@vcmap-show-case/switch-map-callback-example/index.js +34 -0
  203. package/plugins/@vcmap-show-case/switch-map-callback-example/package.json +5 -0
  204. package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +22 -42
  205. package/plugins/@vcmap-show-case/table-example/index.js +10 -8
  206. package/plugins/@vcmap-show-case/textfields-example/TextfieldsExample.vue +7 -30
  207. package/plugins/@vcmap-show-case/textfields-example/index.js +10 -4
  208. package/plugins/@vcmap-show-case/window-tester/WindowExample.vue +16 -13
  209. package/plugins/@vcmap-show-case/window-tester/emptyComponent.vue +4 -7
  210. package/plugins/@vcmap-show-case/window-tester/index.js +26 -20
  211. package/plugins/@vcmap-show-case/window-tester/myCustomHeader.vue +7 -3
  212. package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +82 -5
  213. package/plugins/@vcmap-show-case/window-tester/windowExampleContent.vue +3 -7
  214. package/plugins/@vcmap-show-case/wizard-example/index.js +9 -3
  215. package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +36 -38
  216. package/plugins/package.json +3 -1
  217. package/public/assets/@mdi/font/LICENSE +20 -0
  218. package/public/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  219. package/public/assets/@mdi/font/css/materialdesignicons.min.css +3 -0
  220. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  221. package/public/assets/favicon-128.png +0 -0
  222. package/public/assets/favicon-180.png +0 -0
  223. package/public/assets/favicon-192.png +0 -0
  224. package/public/assets/favicon-32.png +0 -0
  225. package/public/assets/logo-mobile.svg +9 -0
  226. package/public/assets/logo.svg +26 -0
  227. package/src/actions/actionHelper.js +49 -11
  228. package/src/actions/styleSelector.vue +20 -11
  229. package/src/application/VcsApp.vue +151 -85
  230. package/src/application/VcsAttributions.vue +25 -11
  231. package/src/application/VcsAttributionsFooter.vue +12 -10
  232. package/src/application/VcsMap.vue +9 -5
  233. package/src/application/VcsNavbar.vue +58 -36
  234. package/src/application/VcsSettings.vue +5 -12
  235. package/src/application/attributionsHelper.js +23 -11
  236. package/src/application/vcsAppWrapper.vue +1 -3
  237. package/src/callback/activateLayersCallback.js +54 -0
  238. package/src/callback/applyLayerStyleCallback.js +63 -0
  239. package/src/callback/deactivateLayersCallback.js +54 -0
  240. package/src/callback/goToViewpointCallback.js +54 -0
  241. package/src/callback/vcsCallback.js +66 -0
  242. package/src/components/buttons/VcsActionButtonList.vue +43 -22
  243. package/src/components/buttons/VcsButton.vue +50 -116
  244. package/src/components/buttons/VcsFormButton.vue +178 -0
  245. package/src/components/buttons/VcsToolButton.vue +161 -0
  246. package/src/components/form-inputs-controls/VcsCheckbox.vue +6 -7
  247. package/src/components/form-inputs-controls/VcsDatePicker.vue +66 -21
  248. package/src/components/form-inputs-controls/VcsFormSection.vue +11 -13
  249. package/src/components/form-inputs-controls/VcsLabel.vue +9 -10
  250. package/src/components/form-inputs-controls/VcsRadio.vue +44 -44
  251. package/src/components/form-inputs-controls/VcsSelect.vue +32 -15
  252. package/src/components/form-inputs-controls/VcsSlider.vue +72 -0
  253. package/src/components/form-inputs-controls/VcsTextArea.vue +21 -14
  254. package/src/components/form-inputs-controls/VcsTextField.vue +43 -18
  255. package/src/components/form-inputs-controls/VcsWizard.vue +79 -80
  256. package/src/components/form-inputs-controls/VcsWizardStep.vue +20 -21
  257. package/src/components/form-inputs-controls/composables.js +13 -8
  258. package/src/components/form-output/VcsFormattedNumber.vue +26 -26
  259. package/src/components/icons/+all.js +13 -5
  260. package/src/components/icons/2DAreaIcon.vue +62 -10
  261. package/src/components/icons/2DDistanceIcon.vue +14 -2
  262. package/src/components/icons/3DAreaIcon.vue +62 -10
  263. package/src/components/icons/3DDistanceIcon.vue +14 -2
  264. package/src/components/icons/3DHeightIcon.vue +14 -2
  265. package/src/components/icons/AngleIcon.vue +12 -3
  266. package/src/components/icons/AssociationsIcon.vue +6 -1
  267. package/src/components/icons/AxisIcon.vue +34 -5
  268. package/src/components/icons/BoundingBoxIcon.vue +31 -5
  269. package/src/components/icons/CheckboxCheckedIcon.vue +4 -1
  270. package/src/components/icons/CheckboxIcon.vue +1 -8
  271. package/src/components/icons/CheckboxIndeterminateIcon.vue +9 -2
  272. package/src/components/icons/CircleIcon.vue +24 -4
  273. package/src/components/icons/ClippingHorizontalIcon.vue +14 -2
  274. package/src/components/icons/ClippingIcon.vue +13 -2
  275. package/src/components/icons/ClippingVerticalIcon.vue +14 -2
  276. package/src/components/icons/ColorPickerIcon.vue +13 -2
  277. package/src/components/icons/ColorSwatchIcon.vue +7 -1
  278. package/src/components/icons/CommentIcon.vue +6 -1
  279. package/src/components/icons/CompassIcon.vue +21 -3
  280. package/src/components/icons/ComponentsIcon.vue +14 -2
  281. package/src/components/icons/ConeIcon.vue +26 -4
  282. package/src/components/icons/DimensionsHouseIcon.vue +7 -1
  283. package/src/components/icons/EditIcon.vue +13 -2
  284. package/src/components/icons/ElevationProfileIcon.vue +6 -1
  285. package/src/components/icons/ExportAreaIcon.vue +13 -2
  286. package/src/components/icons/ExportFlightIcon.vue +13 -2
  287. package/src/components/icons/ExportIcon.vue +14 -2
  288. package/src/components/icons/ExternalLinkIcon.vue +18 -3
  289. package/src/components/icons/EyeIcon.vue +12 -2
  290. package/src/components/icons/FastForwardIcon.vue +13 -2
  291. package/src/components/icons/FilterIcon.vue +13 -2
  292. package/src/components/icons/GlobalTerrainIcon.vue +12 -2
  293. package/src/components/icons/GlobeNatureIcon.vue +7 -1
  294. package/src/components/icons/GroundIcon.vue +12 -2
  295. package/src/components/icons/HealthCareIndustriesIcon.vue +6 -1
  296. package/src/components/icons/HelpIcon.vue +12 -2
  297. package/src/components/icons/HideIcon.vue +17 -3
  298. package/src/components/icons/HomePointIcon.vue +13 -3
  299. package/src/components/icons/HospitalsIcon.vue +6 -1
  300. package/src/components/icons/HouseIcon.vue +20 -3
  301. package/src/components/icons/ImportIcon.vue +21 -3
  302. package/src/components/icons/InfoIcon.vue +19 -3
  303. package/src/components/icons/KebabIcon.vue +12 -2
  304. package/src/components/icons/LabelIcon.vue +21 -3
  305. package/src/components/icons/LayersIcon.vue +12 -2
  306. package/src/components/icons/LegendIcon.vue +13 -3
  307. package/src/components/icons/LineIcon.vue +20 -3
  308. package/src/components/icons/LinkIcon.vue +13 -2
  309. package/src/components/icons/LogoutIcon.vue +13 -2
  310. package/src/components/icons/MapIcon.vue +14 -2
  311. package/src/components/icons/MenuIcon.vue +7 -1
  312. package/src/components/icons/MinusIcon.vue +14 -2
  313. package/src/components/icons/ObjectAttributeIcon.vue +13 -2
  314. package/src/components/icons/ObjectSelectIcon.vue +14 -2
  315. package/src/components/icons/ObliqueViewIcon.vue +11 -2
  316. package/src/components/icons/PdfIcon.vue +12 -2
  317. package/src/components/icons/PedestrianIcon.vue +13 -2
  318. package/src/components/icons/PenIcon.vue +13 -3
  319. package/src/components/icons/PlayCircleIcon.vue +20 -3
  320. package/src/components/icons/PlusIcon.vue +14 -3
  321. package/src/components/icons/PoiIcon.vue +17 -3
  322. package/src/components/icons/PointSelectIcon.vue +12 -2
  323. package/src/components/icons/PolygonIcon.vue +7 -1
  324. package/src/components/icons/PresentationModeIcon.vue +13 -2
  325. package/src/components/icons/ProgressIcon.vue +8 -6
  326. package/src/components/icons/QueryIcon.vue +31 -5
  327. package/src/components/icons/RectangleIcon.vue +24 -4
  328. package/src/components/icons/ReturnIcon.vue +13 -2
  329. package/src/components/icons/RewindIcon.vue +13 -2
  330. package/src/components/icons/RotateLeftIcon.vue +13 -2
  331. package/src/components/icons/RotateRightIcon.vue +13 -2
  332. package/src/components/icons/ScreenshotIcon.vue +52 -10
  333. package/src/components/icons/SearchIcon.vue +13 -3
  334. package/src/components/icons/ShadowIcon.vue +14 -3
  335. package/src/components/icons/ShapesIcon.vue +13 -3
  336. package/src/components/icons/ShareIcon.vue +17 -4
  337. package/src/components/icons/SimpleCircleFilledIcon.vue +14 -10
  338. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +6 -1
  339. package/src/components/icons/SimpleCircleOutlinedIcon.vue +14 -10
  340. package/src/components/icons/SkipNextIcon.vue +11 -2
  341. package/src/components/icons/SkipPreviousIcon.vue +17 -3
  342. package/src/components/icons/SplitViewIcon.vue +6 -1
  343. package/src/components/icons/TerrainBoxIcon.vue +12 -2
  344. package/src/components/icons/TextStyleIcon.vue +7 -1
  345. package/src/components/icons/ThreeDimensionsIcon.vue +13 -2
  346. package/src/components/icons/ToolsIcon.vue +12 -2
  347. package/src/components/icons/TouchIcon.vue +13 -2
  348. package/src/components/icons/TrashCanIcon.vue +13 -2
  349. package/src/components/icons/TriangleIcon.vue +6 -2
  350. package/src/components/icons/TwoDimensionsIcon.vue +14 -2
  351. package/src/components/icons/UploadIcon.vue +13 -2
  352. package/src/components/icons/UserProfileIcon.vue +13 -2
  353. package/src/components/icons/UserShareIcon.vue +12 -2
  354. package/src/components/icons/VideoRecorderIcon.vue +16 -3
  355. package/src/components/icons/ViewpointFlightIcon.vue +22 -4
  356. package/src/components/icons/ViewpointIcon.vue +22 -4
  357. package/src/components/icons/Viewshed360Icon.vue +14 -2
  358. package/src/components/icons/ViewshedConeIcon.vue +13 -2
  359. package/src/components/icons/ViewshedIcon.vue +14 -2
  360. package/src/components/icons/WalkingIcon.vue +13 -2
  361. package/src/components/icons/WallIcon.vue +19 -3
  362. package/src/components/icons/WandIcon.vue +129 -21
  363. package/src/components/imageElementInjector.vue +1 -3
  364. package/src/components/lists/VcsActionList.vue +21 -18
  365. package/src/components/lists/VcsList.vue +211 -100
  366. package/src/components/lists/VcsTreeview.vue +30 -26
  367. package/src/components/lists/VcsTreeviewLeaf.vue +23 -23
  368. package/src/components/lists/VcsTreeviewSearchbar.vue +19 -15
  369. package/src/components/notification/VcsBadge.vue +4 -6
  370. package/src/components/notification/VcsTooltip.vue +95 -94
  371. package/src/components/notification/validation.js +1 -1
  372. package/src/components/tables/VcsDataTable.vue +107 -97
  373. package/src/components/tables/VcsTable.vue +38 -30
  374. package/src/contentTree/LayerTree.vue +17 -12
  375. package/src/contentTree/contentTreeCollection.js +49 -23
  376. package/src/contentTree/contentTreeItem.js +58 -17
  377. package/src/contentTree/groupContentTreeItem.js +45 -22
  378. package/src/contentTree/layerContentTreeItem.js +40 -28
  379. package/src/contentTree/layerGroupContentTreeItem.js +51 -39
  380. package/src/contentTree/nodeContentTreeItem.js +18 -7
  381. package/src/contentTree/obliqueCollectionContentTreeItem.js +49 -20
  382. package/src/contentTree/subContentTreeItem.js +13 -4
  383. package/src/contentTree/vcsObjectContentTreeItem.js +24 -15
  384. package/src/contentTree/viewpointContentTreeItem.js +20 -6
  385. package/src/downloadHelper.js +4 -1
  386. package/src/featureInfo/AddressBalloonComponent.vue +11 -16
  387. package/src/featureInfo/BalloonComponent.vue +35 -27
  388. package/src/featureInfo/abstractFeatureInfoView.js +45 -14
  389. package/src/featureInfo/addressBalloonFeatureInfoView.js +19 -7
  390. package/src/featureInfo/balloonFeatureInfoView.js +22 -9
  391. package/src/featureInfo/balloonHelper.js +61 -42
  392. package/src/featureInfo/featureInfo.js +102 -73
  393. package/src/featureInfo/featureInfoInteraction.js +13 -7
  394. package/src/featureInfo/iframeFeatureInfoView.js +3 -1
  395. package/src/featureInfo/tableFeatureInfoView.js +15 -5
  396. package/src/i18n/de.js +5 -2
  397. package/src/i18n/en.js +5 -2
  398. package/src/i18n/i18nCollection.js +182 -155
  399. package/src/init.js +121 -121
  400. package/src/legend/legendHelper.js +11 -6
  401. package/src/legend/styleLegendItem.vue +18 -12
  402. package/src/legend/vcsLegend.vue +16 -18
  403. package/src/manager/buttonManager.js +21 -3
  404. package/src/manager/collectionManager/CollectionComponent.vue +142 -0
  405. package/src/manager/collectionManager/CollectionComponentList.vue +62 -0
  406. package/src/manager/collectionManager/CollectionComponentProvider.vue +38 -0
  407. package/src/manager/collectionManager/CollectionManager.vue +43 -0
  408. package/src/manager/collectionManager/categoryManager.js +83 -0
  409. package/src/manager/collectionManager/collectionComponent.js +453 -0
  410. package/src/manager/collectionManager/collectionManager.js +432 -0
  411. package/src/manager/contextMenu/contextMenuComponent.vue +2 -6
  412. package/src/manager/contextMenu/contextMenuInteraction.js +6 -1
  413. package/src/manager/contextMenu/contextMenuManager.js +37 -22
  414. package/src/manager/navbarManager.js +19 -11
  415. package/src/manager/toolbox/GroupToolboxComponent.vue +27 -28
  416. package/src/manager/toolbox/SelectToolboxComponent.vue +42 -44
  417. package/src/manager/toolbox/ToolboxManager.vue +22 -15
  418. package/src/manager/toolbox/toolboxManager.js +30 -12
  419. package/src/manager/window/WindowComponent.vue +18 -21
  420. package/src/manager/window/WindowComponentHeader.vue +34 -30
  421. package/src/manager/window/WindowManager.vue +33 -22
  422. package/src/manager/window/windowHelper.js +79 -23
  423. package/src/manager/window/windowManager.js +61 -32
  424. package/src/navigation/mapNavCompass.vue +17 -3
  425. package/src/navigation/mapNavigation.vue +93 -48
  426. package/src/navigation/obliqueRotation.vue +6 -8
  427. package/src/navigation/orientationToolsButton.vue +6 -9
  428. package/src/navigation/overviewMap.js +79 -42
  429. package/src/navigation/overviewMapClickedInteraction.js +6 -1
  430. package/src/navigation/tiltSlider.vue +6 -10
  431. package/src/navigation/vcsCompass.vue +1 -9
  432. package/src/navigation/vcsZoomButton.vue +16 -17
  433. package/src/notifier/notifier.js +22 -13
  434. package/src/notifier/notifierComponent.vue +21 -22
  435. package/src/pluginHelper.js +28 -9
  436. package/src/search/resultItem.vue +10 -16
  437. package/src/search/resultsComponent.vue +30 -24
  438. package/src/search/search.js +36 -19
  439. package/src/search/searchComponent.vue +27 -19
  440. package/src/setup.js +9 -9
  441. package/src/state.js +22 -6
  442. package/src/styles/_theming.scss +2 -2
  443. package/src/styles/_typography.scss +2 -3
  444. package/src/styles/main.scss +8 -0
  445. package/src/styles/shades.scss +4 -2
  446. package/src/styles/utils/_border.scss +1 -1
  447. package/src/styles/utils/_display.scss +1 -1
  448. package/src/styles/variables.scss +39 -34
  449. package/src/styles/vcsFont.scss +2 -22
  450. package/src/styles/vcsGrid.scss +9 -0
  451. package/src/uiConfig.js +3 -1
  452. package/src/vcsUiApp.js +227 -66
  453. package/src/vuePlugins/i18n.js +22 -23
  454. package/src/vuePlugins/vuetify.js +4 -1
  455. package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +0 -1345
  456. package/dist/assets/cesium/Workers/Transforms-40229881.js +0 -14696
  457. package/dist/assets/core.9342a1.js +0 -18431
  458. package/dist/assets/index.fd041928.js +0 -1
  459. package/dist/assets/ui.c27597.css +0 -5
  460. package/dist/assets/ui.c27597.js +0 -17799
  461. package/plugins/@vcmap-show-case/category-tester/Categories.vue +0 -264
  462. package/plugins/@vcmap-show-case/category-tester/Category.vue +0 -144
  463. package/src/manager/categoryManager/CategoryComponent.vue +0 -124
  464. package/src/manager/categoryManager/CategoryComponentList.vue +0 -57
  465. package/src/manager/categoryManager/CategoryManager.vue +0 -48
  466. package/src/manager/categoryManager/categoryManager.js +0 -588
  467. package/start.js +0 -9
  468. /package/dist/assets/cesium/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
  469. /package/{src/assets/favicon-128.png → dist/assets/favicon-128.4c4ce5.png} +0 -0
  470. /package/{src/assets/favicon-180.png → dist/assets/favicon-180.5b99c0.png} +0 -0
  471. /package/{src/assets/favicon-192.png → dist/assets/favicon-192.0e205e.png} +0 -0
  472. /package/{src/assets/favicon-32.png → dist/assets/favicon-32.6b9add.png} +0 -0
  473. /package/dist/assets/{favicon.decf54cc.svg → favicon.d5ec97.svg} +0 -0
  474. /package/dist/assets/font/{TitilliumWeb-Regular.woff2 → TitilliumWeb-Regular.9ca076.woff2} +0 -0
  475. /package/{src/assets/logo-mobile.svg → dist/assets/logo-mobile.2d10a6.svg} +0 -0
  476. /package/{src/assets/logo.svg → dist/assets/logo.27089a.svg} +0 -0
  477. /package/{src → public}/assets/favicon.svg +0 -0
  478. /package/{src → public}/assets/font/OFL.txt +0 -0
  479. /package/{src → public}/assets/font/TitilliumWeb-Regular.woff2 +0 -0
@@ -1,7 +1,5 @@
1
1
  <template>
2
- <div
3
- :class="{ 'win-container-mobile' : $vuetify.breakpoint.xs }"
4
- >
2
+ <div :class="{ 'win-container-mobile': $vuetify.breakpoint.xs }">
5
3
  <WindowComponent
6
4
  v-for="id in componentIds"
7
5
  :key="id"
@@ -41,13 +39,12 @@
41
39
  width: 100%;
42
40
  }
43
41
  .win-container-mobile > {
44
- div{
42
+ div {
45
43
  width: 100% !important;
46
44
  inset: unset !important;
47
45
  border-radius: 0 !important;
48
46
  }
49
47
  }
50
-
51
48
  </style>
52
49
 
53
50
  <script>
@@ -55,7 +52,11 @@
55
52
 
56
53
  import WindowComponent from './WindowComponent.vue';
57
54
  import WindowComponentHeader from './WindowComponentHeader.vue';
58
- import { applyPositionOnTarget, getTargetSize, moveWindow } from './windowHelper.js';
55
+ import {
56
+ applyPositionOnTarget,
57
+ getTargetSize,
58
+ moveWindow,
59
+ } from './windowHelper.js';
59
60
 
60
61
  /**
61
62
  * WindowManager rendering all registered WindowComponents
@@ -94,16 +95,20 @@
94
95
  * @param {string} id
95
96
  * @returns {import("vue").ComputedRef<Object>}
96
97
  */
97
- const getStyles = id => computed(() => {
98
- const windowComponent = windowManager.get(id);
99
- const state = windowComponent?.state;
100
- const position = applyPositionOnTarget(windowComponent?.position, targetSize.value);
101
- return {
102
- zIndex: windowComponent.zIndex.value,
103
- ...position,
104
- ...(state.styles || {}),
105
- };
106
- });
98
+ const getStyles = (id) =>
99
+ computed(() => {
100
+ const windowComponent = windowManager.get(id);
101
+ const state = windowComponent?.state;
102
+ const position = applyPositionOnTarget(
103
+ windowComponent?.position,
104
+ targetSize.value,
105
+ );
106
+ return {
107
+ zIndex: windowComponent.zIndex.value,
108
+ ...position,
109
+ ...(state.styles || {}),
110
+ };
111
+ });
107
112
  /**
108
113
  * @param {string} id
109
114
  */
@@ -124,7 +129,8 @@
124
129
  targetSize.value = getTargetSize(app.maps.target);
125
130
  };
126
131
  window.addEventListener('resize', setTargetSize);
127
- const setTargetDestroy = app.maps.mapActivated.addEventListener(setTargetSize);
132
+ const setTargetDestroy =
133
+ app.maps.mapActivated.addEventListener(setTargetSize);
128
134
 
129
135
  onUnmounted(() => {
130
136
  window.removeEventListener('resize', setTargetSize);
@@ -133,15 +139,20 @@
133
139
 
134
140
  return {
135
141
  componentIds: ref(componentIds),
136
- getComponent: id => windowManager.get(id).component,
137
- getHeaderComponent: id => windowManager.get(id).headerComponent || WindowComponentHeader,
142
+ getComponent: (id) => windowManager.get(id).component,
143
+ getHeaderComponent: (id) =>
144
+ windowManager.get(id).headerComponent || WindowComponentHeader,
138
145
  getStyles,
139
146
  getState,
140
147
  getProps,
141
148
  isOnTop,
142
- getSlot: id => windowManager.get(id).slot,
143
- close: (id) => { windowManager.remove(id); },
144
- pin: (id) => { windowManager.pinWindow(id); },
149
+ getSlot: (id) => windowManager.get(id).slot,
150
+ close: (id) => {
151
+ windowManager.remove(id);
152
+ },
153
+ pin: (id) => {
154
+ windowManager.pinWindow(id);
155
+ },
145
156
  bringWindowToTop,
146
157
  move,
147
158
  };
@@ -51,7 +51,12 @@ export function getTargetSize(target) {
51
51
  * @param {WindowAlignment} [alignment=WindowAlignment.TOP_LEFT]
52
52
  * @returns {WindowPositionOptions}
53
53
  */
54
- export function getWindowPositionOptions(x, y, target, alignment = WindowAlignment.TOP_LEFT) {
54
+ export function getWindowPositionOptions(
55
+ x,
56
+ y,
57
+ target,
58
+ alignment = WindowAlignment.TOP_LEFT,
59
+ ) {
55
60
  const targetSize = getTargetSize(target);
56
61
  if (!targetSize) {
57
62
  return { left: x, top: y };
@@ -61,11 +66,11 @@ export function getWindowPositionOptions(x, y, target, alignment = WindowAlignme
61
66
  if (alignment === WindowAlignment.TOP_LEFT) {
62
67
  return { left: x - left, top: y - top };
63
68
  } else if (alignment === WindowAlignment.TOP_RIGHT) {
64
- return { right: (left + width) - x, top: y - top };
69
+ return { right: left + width - x, top: y - top };
65
70
  } else if (alignment === WindowAlignment.BOTTOM_LEFT) {
66
- return { left: x - left, bottom: (height + top) - y };
71
+ return { left: x - left, bottom: height + top - y };
67
72
  }
68
- return { right: (left + width) - x, bottom: (height + top) - y };
73
+ return { right: left + width - x, bottom: height + top - y };
69
74
  }
70
75
 
71
76
  /**
@@ -75,17 +80,25 @@ export function getWindowPositionOptions(x, y, target, alignment = WindowAlignme
75
80
  * @param {WindowAlignment} [alignment]
76
81
  * @returns {WindowPositionOptions}
77
82
  */
78
- export function getWindowPositionOptionsFromMapEvent(windowPosition, target, alignment) {
83
+ export function getWindowPositionOptionsFromMapEvent(
84
+ windowPosition,
85
+ target,
86
+ alignment,
87
+ ) {
79
88
  const targetSize = getTargetSize(target);
80
89
  if (!targetSize) {
81
90
  return { left: windowPosition.x, top: windowPosition.y };
82
91
  }
83
92
 
84
93
  const { left, top } = targetSize;
85
- return getWindowPositionOptions(windowPosition.x + left, windowPosition.y + top, target, alignment);
94
+ return getWindowPositionOptions(
95
+ windowPosition.x + left,
96
+ windowPosition.y + top,
97
+ target,
98
+ alignment,
99
+ );
86
100
  }
87
101
 
88
-
89
102
  /**
90
103
  * Fits a window aligned top left, so it fits into the parent. This will change the alignment to be bottom or right depending
91
104
  * on if the window would not fit into the parent.
@@ -127,13 +140,24 @@ export function getFittedWindowPositionOptions(x, y, width, height, target) {
127
140
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
128
141
  * @returns {WindowPositionOptions}
129
142
  */
130
- export function getFittedWindowPositionOptionsFromMapEvent(windowPosition, width, height, target) {
143
+ export function getFittedWindowPositionOptionsFromMapEvent(
144
+ windowPosition,
145
+ width,
146
+ height,
147
+ target,
148
+ ) {
131
149
  const targetSize = getTargetSize(target);
132
150
  if (!targetSize) {
133
151
  return { left: windowPosition.x, top: windowPosition.y };
134
152
  }
135
153
  const { left, top } = targetSize;
136
- return getFittedWindowPositionOptions(windowPosition.x + left, windowPosition.y + top, width, height, target);
154
+ return getFittedWindowPositionOptions(
155
+ windowPosition.x + left,
156
+ windowPosition.y + top,
157
+ width,
158
+ height,
159
+ target,
160
+ );
137
161
  }
138
162
 
139
163
  /**
@@ -148,7 +172,9 @@ export function posToNumber(pos, key, targetSize) {
148
172
  if (pos.match(/^-?\d+\.?\d*px$/)) {
149
173
  return parseInt(pos, 10);
150
174
  } else if (targetSize && pos.match(/^-?\d+\.?\d*%$/)) {
151
- const scalar = ['bottom', 'top', 'height', 'maxHeight'].includes(key) ? targetSize?.height : targetSize?.width;
175
+ const scalar = ['bottom', 'top', 'height', 'maxHeight'].includes(key)
176
+ ? targetSize?.height
177
+ : targetSize?.width;
152
178
  return (parseInt(pos, 10) / 100) * scalar;
153
179
  }
154
180
  return undefined;
@@ -166,7 +192,9 @@ export function posToPercent(pos, key, targetSize) {
166
192
  if (!targetSize) {
167
193
  return undefined;
168
194
  }
169
- const scalar = ['bottom', 'top', 'height', 'maxHeight'].includes(key) ? targetSize.height : targetSize.width;
195
+ const scalar = ['bottom', 'top', 'height', 'maxHeight'].includes(key)
196
+ ? targetSize.height
197
+ : targetSize.width;
170
198
  return `${((pos / scalar) * 100).toFixed(0)}%`;
171
199
  }
172
200
 
@@ -204,7 +232,11 @@ export function updateWindowPosition(previous, update, targetSize) {
204
232
  * @returns {string}
205
233
  */
206
234
  const toString = (key, prev, updated) => {
207
- if (prev[key] === 'auto' || prev[key] === 'unset' || updated[key] === undefined) {
235
+ if (
236
+ prev[key] === 'auto' ||
237
+ prev[key] === 'unset' ||
238
+ updated[key] === undefined
239
+ ) {
208
240
  return prev[key];
209
241
  } else if (updated[key] !== 'auto' && updated[key] !== 'unset') {
210
242
  const numeric = posToNumber(updated[key], key, targetSize);
@@ -224,7 +256,6 @@ export function updateWindowPosition(previous, update, targetSize) {
224
256
  return updatedPosition;
225
257
  }
226
258
 
227
-
228
259
  /**
229
260
  * Move window position in x and y.
230
261
  * Rightward and downward movements are positive.
@@ -251,7 +282,11 @@ export function moveWindow(id, translation, windowManager, targetSize) {
251
282
  if (windowPositionOptions.right !== undefined) {
252
283
  windowPositionOptions.right -= translation.dx;
253
284
  }
254
- const updatedPosition = updateWindowPosition(position, windowPositionOptions, targetSize);
285
+ const updatedPosition = updateWindowPosition(
286
+ position,
287
+ windowPositionOptions,
288
+ targetSize,
289
+ );
255
290
  windowManager.setWindowPositionOptions(id, updatedPosition);
256
291
  }
257
292
 
@@ -274,15 +309,18 @@ export function clipToTargetSize(windowPositionOptions, targetSize) {
274
309
  );
275
310
  }
276
311
  if (windowPositionOptions.bottom !== undefined) {
277
- const height = windowPositionOptions.height ||
278
- targetHeight - windowPositionOptions.bottom - windowPositionOptions.top || windowMoveMargin.bottom;
312
+ const height =
313
+ windowPositionOptions.height ||
314
+ targetHeight - windowPositionOptions.bottom - windowPositionOptions.top ||
315
+ windowMoveMargin.bottom;
279
316
  clippedPosition.bottom = Math.min(
280
317
  Math.max(windowPositionOptions.bottom, -height + windowMoveMargin.bottom),
281
318
  targetHeight - height,
282
319
  );
283
320
  }
284
321
  if (windowPositionOptions.left !== undefined) {
285
- const width = windowPositionOptions.width ||
322
+ const width =
323
+ windowPositionOptions.width ||
286
324
  targetWidth - windowPositionOptions.right - windowPositionOptions.left;
287
325
  clippedPosition.left = Math.min(
288
326
  Math.max(windowPositionOptions.left, -width + windowMoveMargin.left),
@@ -290,7 +328,8 @@ export function clipToTargetSize(windowPositionOptions, targetSize) {
290
328
  );
291
329
  }
292
330
  if (windowPositionOptions.right !== undefined) {
293
- const width = windowPositionOptions.width ||
331
+ const width =
332
+ windowPositionOptions.width ||
294
333
  targetWidth - windowPositionOptions.right - windowPositionOptions.left;
295
334
  clippedPosition.right = Math.min(
296
335
  Math.max(windowPositionOptions.right, -width + windowMoveMargin.right),
@@ -306,15 +345,28 @@ export function clipToTargetSize(windowPositionOptions, targetSize) {
306
345
  clippedPosition.maxWidth = targetWidth;
307
346
  clippedPosition.maxHeight = targetHeight - 4; // 2px space plus 2px due to margin bottom
308
347
  if (windowPositionOptions.maxWidth !== undefined) {
309
- clippedPosition.maxWidth = Math.min(windowPositionOptions.maxWidth, targetWidth);
348
+ clippedPosition.maxWidth = Math.min(
349
+ windowPositionOptions.maxWidth,
350
+ targetWidth,
351
+ );
310
352
  }
311
353
  if (windowPositionOptions.maxHeight !== undefined) {
312
- clippedPosition.maxHeight = Math.min(windowPositionOptions.maxHeight, targetHeight);
354
+ clippedPosition.maxHeight = Math.min(
355
+ windowPositionOptions.maxHeight,
356
+ targetHeight,
357
+ );
313
358
  }
314
359
  // max width of a top left 2 window (active static window)
315
- const topLeft2 = posToNumber(WindowPositions.TOP_LEFT2.left, 'left', targetSize);
360
+ const topLeft2 = posToNumber(
361
+ WindowPositions.TOP_LEFT2.left,
362
+ 'left',
363
+ targetSize,
364
+ );
316
365
  if (clippedPosition.left === topLeft2) {
317
- clippedPosition.maxWidth = Math.min(clippedPosition.maxWidth - topLeft2, targetWidth);
366
+ clippedPosition.maxWidth = Math.min(
367
+ clippedPosition.maxWidth - topLeft2,
368
+ targetWidth,
369
+ );
318
370
  }
319
371
 
320
372
  return clippedPosition;
@@ -332,6 +384,10 @@ export function applyPositionOnTarget(position, targetSize) {
332
384
  }
333
385
  const windowPositionOptions = optionsFromWindowPosition(position, targetSize);
334
386
  const clippedPosition = clipToTargetSize(windowPositionOptions, targetSize);
335
- const updatedPosition = updateWindowPosition(position, clippedPosition, targetSize);
387
+ const updatedPosition = updateWindowPosition(
388
+ position,
389
+ clippedPosition,
390
+ targetSize,
391
+ );
336
392
  return windowPositionFromOptions(updatedPosition);
337
393
  }
@@ -20,7 +20,6 @@ export const WindowSlot = {
20
20
  DETACHED: 'detached',
21
21
  };
22
22
 
23
-
24
23
  /**
25
24
  * @typedef {Object} WindowPositionOptions
26
25
  * @property {string|number|undefined} left Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
@@ -84,7 +83,7 @@ export const WindowPositions = {
84
83
  * @returns {boolean}
85
84
  */
86
85
  export function compareWindowPositions(pos1, pos2) {
87
- return !(Object.keys(pos1).some(key => pos1[key] !== pos2[key]));
86
+ return !Object.keys(pos1).some((key) => pos1[key] !== pos2[key]);
88
87
  }
89
88
 
90
89
  /**
@@ -93,8 +92,11 @@ export function compareWindowPositions(pos1, pos2) {
93
92
  * @returns {boolean}
94
93
  */
95
94
  export function isSlotPosition(windowPosition) {
96
- return [WindowPositions.TOP_LEFT, WindowPositions.TOP_LEFT2, WindowPositions.TOP_RIGHT]
97
- .some(s => compareWindowPositions(s, windowPosition));
95
+ return [
96
+ WindowPositions.TOP_LEFT,
97
+ WindowPositions.TOP_LEFT2,
98
+ WindowPositions.TOP_RIGHT,
99
+ ].some((s) => compareWindowPositions(s, windowPosition));
98
100
  }
99
101
 
100
102
  /**
@@ -157,7 +159,10 @@ export function posToPixel(pos) {
157
159
  * @param {WindowPosition=} windowPosition
158
160
  * @returns {WindowPosition}
159
161
  */
160
- export function windowPositionFromOptions(windowPositionOptions, windowPosition = {}) {
162
+ export function windowPositionFromOptions(
163
+ windowPositionOptions,
164
+ windowPosition = {},
165
+ ) {
161
166
  let left = posToPixel(windowPositionOptions.left) || 'unset';
162
167
  const right = posToPixel(windowPositionOptions.right) || 'unset';
163
168
  let top = posToPixel(windowPositionOptions.top) || 'unset';
@@ -208,14 +213,20 @@ export function windowPositionFromOptions(windowPositionOptions, windowPosition
208
213
  * @param {WindowPositionOptions} windowPositionOptions
209
214
  */
210
215
  function setWindowPosition(windowComponent, windowPositionOptions) {
211
- const windowPosition = windowPositionFromOptions(windowPositionOptions, windowComponent.position);
216
+ const windowPosition = windowPositionFromOptions(
217
+ windowPositionOptions,
218
+ windowComponent.position,
219
+ );
212
220
  // not one of the default Positions, so we also have to DETACH the windowState.
213
221
  if (!isSlotPosition(windowPosition)) {
214
222
  windowComponent.slot.value = WindowSlot.DETACHED;
215
223
  }
216
224
  // check dockable state
217
- const initialWindowPosition = windowPositionFromOptions(windowComponent.initialPositionOptions);
218
- windowComponent.state.dockable = windowComponent.slot.value === WindowSlot.DETACHED &&
225
+ const initialWindowPosition = windowPositionFromOptions(
226
+ windowComponent.initialPositionOptions,
227
+ );
228
+ windowComponent.state.dockable =
229
+ windowComponent.slot.value === WindowSlot.DETACHED &&
219
230
  !compareWindowPositions(windowPosition, initialWindowPosition);
220
231
  }
221
232
 
@@ -313,15 +324,15 @@ class WindowManager {
313
324
  const staticWindow = this._findWindowBySlot(WindowSlot.STATIC);
314
325
  const dynamicWindowLeft = this._findWindowBySlot(WindowSlot.DYNAMIC_LEFT);
315
326
  if (staticWindow && dynamicWindowLeft) {
316
- this.setWindowPositionOptions(
317
- dynamicWindowLeft.id,
318
- { ...dynamicWindowLeft.position, ...WindowPositions.TOP_LEFT2 },
319
- );
327
+ this.setWindowPositionOptions(dynamicWindowLeft.id, {
328
+ ...dynamicWindowLeft.position,
329
+ ...WindowPositions.TOP_LEFT2,
330
+ });
320
331
  } else if (!staticWindow && dynamicWindowLeft) {
321
- this.setWindowPositionOptions(
322
- dynamicWindowLeft.id,
323
- { ...dynamicWindowLeft.position, ...WindowPositions.TOP_LEFT },
324
- );
332
+ this.setWindowPositionOptions(dynamicWindowLeft.id, {
333
+ ...dynamicWindowLeft.position,
334
+ ...WindowPositions.TOP_LEFT,
335
+ });
325
336
  }
326
337
  }
327
338
  }
@@ -332,7 +343,9 @@ class WindowManager {
332
343
  * @private
333
344
  */
334
345
  _findWindowBySlot(slot) {
335
- return Array.from(this._windowComponents.values()).find(item => item.slot.value === slot);
346
+ return Array.from(this._windowComponents.values()).find(
347
+ (item) => item.slot.value === slot,
348
+ );
336
349
  }
337
350
 
338
351
  /**
@@ -387,9 +400,15 @@ class WindowManager {
387
400
  * @private
388
401
  */
389
402
  _cachePosition(windowComponent) {
390
- const initialWindowPosition = windowPositionFromOptions(windowComponent.initialPositionOptions);
391
- if (!compareWindowPositions(initialWindowPosition, windowComponent.position)) {
392
- this._windowPositionsCache.set(windowComponent.id, { ...windowComponent.position });
403
+ const initialWindowPosition = windowPositionFromOptions(
404
+ windowComponent.initialPositionOptions,
405
+ );
406
+ if (
407
+ !compareWindowPositions(initialWindowPosition, windowComponent.position)
408
+ ) {
409
+ this._windowPositionsCache.set(windowComponent.id, {
410
+ ...windowComponent.position,
411
+ });
393
412
  }
394
413
  }
395
414
 
@@ -422,22 +441,26 @@ class WindowManager {
422
441
  check(owner, [String, vcsAppSymbol]);
423
442
 
424
443
  if (windowComponentOptions.id && this.has(windowComponentOptions.id)) {
425
- throw new Error(`A window with id ${windowComponentOptions.id} has already been registered.`);
444
+ throw new Error(
445
+ `A window with id ${windowComponentOptions.id} has already been registered.`,
446
+ );
426
447
  }
427
448
  const id = windowComponentOptions.id || uuidv4();
428
- const slotOption = windowComponentOptions.slot?.value || windowComponentOptions.slot;
449
+ const slotOption =
450
+ windowComponentOptions.slot?.value || windowComponentOptions.slot;
429
451
  const slot = parseEnumValue(slotOption, WindowSlot, WindowSlot.DETACHED);
430
- const windowPositionOptions = this._getPositionOptionsForSlot(slot, windowComponentOptions.position);
452
+ const windowPositionOptions = this._getPositionOptionsForSlot(
453
+ slot,
454
+ windowComponentOptions.position,
455
+ );
431
456
  const windowPosition = windowPositionFromOptions(windowPositionOptions);
432
457
 
433
458
  const slotRef = ref(slot);
434
- const {
435
- component, headerComponent,
436
- } = windowComponentOptions;
459
+ const { component, headerComponent } = windowComponentOptions;
437
460
  const styles = { ...windowComponentOptions?.state?.styles };
438
- const classes = Array.isArray(windowComponentOptions?.state?.classes) ?
439
- [...(windowComponentOptions?.state?.classes ?? [])] :
440
- { ...windowComponentOptions?.state?.classes };
461
+ const classes = Array.isArray(windowComponentOptions?.state?.classes)
462
+ ? [...(windowComponentOptions?.state?.classes ?? [])]
463
+ : { ...windowComponentOptions?.state?.classes };
441
464
 
442
465
  const state = reactive({
443
466
  id,
@@ -447,7 +470,8 @@ class WindowManager {
447
470
  headerTitle: windowComponentOptions?.state?.headerTitle,
448
471
  headerIcon: windowComponentOptions?.state?.headerIcon,
449
472
  headerActions: windowComponentOptions?.state?.headerActions,
450
- headerActionsOverflow: windowComponentOptions?.state?.headerActionsOverflow,
473
+ headerActionsOverflow:
474
+ windowComponentOptions?.state?.headerActionsOverflow,
451
475
  dockable: false,
452
476
  infoUrl: windowComponentOptions?.state?.infoUrl,
453
477
  classes,
@@ -537,7 +561,10 @@ class WindowManager {
537
561
  }
538
562
  this._removeWindowAtSlot(component.initialSlot);
539
563
  component.slot.value = component.initialSlot;
540
- const dockedPosition = this._getPositionOptionsForSlot(component.initialSlot, component.initialPositionOptions);
564
+ const dockedPosition = this._getPositionOptionsForSlot(
565
+ component.initialSlot,
566
+ component.initialPositionOptions,
567
+ );
541
568
  this.setWindowPositionOptions(id, dockedPosition);
542
569
  this._windowPositionsCache.delete(id);
543
570
  }
@@ -561,7 +588,9 @@ class WindowManager {
561
588
  */
562
589
  clear() {
563
590
  const componentIds = [...this.componentIds];
564
- componentIds.forEach((id) => { this.remove(id); });
591
+ componentIds.forEach((id) => {
592
+ this.remove(id);
593
+ });
565
594
  }
566
595
 
567
596
  /**
@@ -1,5 +1,10 @@
1
1
  <template>
2
- <svg xmlns="http://www.w3.org/2000/svg" width="58" height="58" viewBox="0 0 58 58">
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ width="58"
5
+ height="58"
6
+ viewBox="0 0 58 58"
7
+ >
3
8
  <g id="Group_1654" data-name="Group 1654" transform="translate(24)">
4
9
  <path
5
10
  :class="canEmit ? 'cursor-pointer' : ''"
@@ -20,7 +25,11 @@
20
25
  @click="emit($event, 180)"
21
26
  />
22
27
  </g>
23
- <g id="Group_1653" data-name="Group 1653" transform="translate(0 33) rotate(-90)">
28
+ <g
29
+ id="Group_1653"
30
+ data-name="Group 1653"
31
+ transform="translate(0 33) rotate(-90)"
32
+ >
24
33
  <path
25
34
  :class="canEmit ? 'cursor-pointer' : ''"
26
35
  id="west_arrow"
@@ -39,7 +48,12 @@
39
48
  @click="emit($event, 90)"
40
49
  />
41
50
  </g>
42
- <g id="Group_1672" data-name="Group 1672" transform="translate(1)" v-if="!hideTicks">
51
+ <g
52
+ id="Group_1672"
53
+ data-name="Group 1672"
54
+ transform="translate(1)"
55
+ v-if="!hideTicks"
56
+ >
43
57
  <line
44
58
  id="Line_289-2"
45
59
  data-name="Line 289"