@vcmap/ui 6.1.14 → 6.2.0-rc.2

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 (307) hide show
  1. package/build/build.js +54 -9
  2. package/build/buildHelpers.js +2 -3
  3. package/build/buildTypes.js +1 -1
  4. package/build/commonViteConfig.js +0 -1
  5. package/build/lintTypes.js +1 -1
  6. package/config/dev.config.json +33 -19
  7. package/config/pano.config.json +420 -0
  8. package/config/projects.config.json +5 -0
  9. package/dist/assets/cesium/Workers/{chunk-P6TRGU3S.js → chunk-2PFJ45KC.js} +2 -2
  10. package/dist/assets/cesium/Workers/{chunk-7ZZ5LMZY.js → chunk-35ALNMG5.js} +15 -15
  11. package/dist/assets/cesium/Workers/{chunk-7YIOHQWH.js → chunk-35EJBV7X.js} +13 -13
  12. package/dist/assets/cesium/Workers/{chunk-EJVGYGLF.js → chunk-3E3OH65K.js} +7 -7
  13. package/dist/assets/cesium/Workers/{chunk-JBSKHTNX.js → chunk-4FHUY275.js} +4 -4
  14. package/dist/assets/cesium/Workers/{chunk-Z2QP3CXW.js → chunk-565T3GIE.js} +2 -2
  15. package/dist/assets/cesium/Workers/{chunk-IZGUQO6Q.js → chunk-5LGDCKCZ.js} +13 -13
  16. package/dist/assets/cesium/Workers/{chunk-3IFRSGEY.js → chunk-6JXJYBWN.js} +9 -9
  17. package/dist/assets/cesium/Workers/{chunk-WGDFYAGC.js → chunk-6RAEC3AW.js} +4 -4
  18. package/dist/assets/cesium/Workers/{chunk-44QAAS4P.js → chunk-6Z67VIOY.js} +7 -7
  19. package/dist/assets/cesium/Workers/{chunk-NGZJIN5Z.js → chunk-ADDGROZ6.js} +4 -4
  20. package/dist/assets/cesium/Workers/{chunk-GBT7MJ6X.js → chunk-ASYGMBRG.js} +1 -1
  21. package/dist/assets/cesium/Workers/{chunk-C4WPMOKT.js → chunk-BABDQOWA.js} +5 -5
  22. package/dist/assets/cesium/Workers/{chunk-IBRIWOCM.js → chunk-BQHHGIFB.js} +13 -13
  23. package/dist/assets/cesium/Workers/{chunk-LLAF3CPH.js → chunk-C33B4KHN.js} +2 -2
  24. package/dist/assets/cesium/Workers/{chunk-JXVLNVXC.js → chunk-CMCR2ZK4.js} +7 -7
  25. package/dist/assets/cesium/Workers/{chunk-3HQMMUPU.js → chunk-EGGJIATZ.js} +1 -1
  26. package/dist/assets/cesium/Workers/{chunk-RJM36CNY.js → chunk-EWS5LXAB.js} +6 -6
  27. package/dist/assets/cesium/Workers/{chunk-OPP2SKMA.js → chunk-FDXPBTSX.js} +12 -12
  28. package/dist/assets/cesium/Workers/{chunk-QN6TBED4.js → chunk-FIFQP4YX.js} +11 -11
  29. package/dist/assets/cesium/Workers/{chunk-JISPSEF3.js → chunk-HOGDZ2EB.js} +4 -4
  30. package/dist/assets/cesium/Workers/{chunk-2PTKXHJB.js → chunk-I4NB77NH.js} +10 -10
  31. package/dist/assets/cesium/Workers/{chunk-QQOZO7KO.js → chunk-JX4A2BCF.js} +7 -7
  32. package/dist/assets/cesium/Workers/{chunk-XIUSRWL6.js → chunk-K6PDUSH6.js} +5 -5
  33. package/dist/assets/cesium/Workers/{chunk-KHZNBFOH.js → chunk-KFHZFU5O.js} +7 -7
  34. package/dist/assets/cesium/Workers/{chunk-U5HSOKPQ.js → chunk-KYGXRFA6.js} +1 -1
  35. package/dist/assets/cesium/Workers/{chunk-56EDBCGT.js → chunk-LNWNAP2C.js} +10 -10
  36. package/dist/assets/cesium/Workers/{chunk-YCDZX5LS.js → chunk-LWN2B3KW.js} +1 -1
  37. package/dist/assets/cesium/Workers/{chunk-TI3TRKIC.js → chunk-LXLABO2L.js} +10 -10
  38. package/dist/assets/cesium/Workers/{chunk-C3EQ27WF.js → chunk-MB6B2UUL.js} +6 -6
  39. package/dist/assets/cesium/Workers/{chunk-57H6I3SV.js → chunk-MZSRINXK.js} +5 -5
  40. package/dist/assets/cesium/Workers/{chunk-ZVUUPJEM.js → chunk-NBI3GZSK.js} +17 -17
  41. package/dist/assets/cesium/Workers/{chunk-O72GZTSE.js → chunk-NUAXNUP5.js} +2 -2
  42. package/dist/assets/cesium/Workers/{chunk-M24KHENR.js → chunk-PNZR4RLL.js} +2 -2
  43. package/dist/assets/cesium/Workers/{chunk-HJMNR3GC.js → chunk-Q4K22DSJ.js} +11 -11
  44. package/dist/assets/cesium/Workers/{chunk-2LOWCAMW.js → chunk-Q4OS4EFN.js} +13 -13
  45. package/dist/assets/cesium/Workers/{chunk-TK5IIG2F.js → chunk-QLIMO7TQ.js} +4 -4
  46. package/dist/assets/cesium/Workers/{chunk-EDLRS3AW.js → chunk-RQ4F6YFU.js} +6 -6
  47. package/dist/assets/cesium/Workers/{chunk-JSQJDZI4.js → chunk-SB67D3JL.js} +6 -6
  48. package/dist/assets/cesium/Workers/{chunk-RTJKHZWU.js → chunk-SS6WRJ5J.js} +6 -6
  49. package/dist/assets/cesium/Workers/{chunk-L5GODJAR.js → chunk-TC4NTWIJ.js} +14 -14
  50. package/dist/assets/cesium/Workers/{chunk-IZJ42N4W.js → chunk-TKNA6WSZ.js} +17 -17
  51. package/dist/assets/cesium/Workers/{chunk-HP5XLODI.js → chunk-VQYEP77L.js} +6 -6
  52. package/dist/assets/cesium/Workers/{chunk-YSIJTJ7N.js → chunk-WKS5H3VW.js} +5 -5
  53. package/dist/assets/cesium/Workers/{chunk-XWOUPGUF.js → chunk-WPGX7DEA.js} +1 -1
  54. package/dist/assets/cesium/Workers/{chunk-6SQMLVGV.js → chunk-X3EPFVG3.js} +7 -7
  55. package/dist/assets/cesium/Workers/{chunk-NDDI2LWR.js → chunk-XH7MSR3A.js} +6 -6
  56. package/dist/assets/cesium/Workers/{chunk-FFLMY4TE.js → chunk-YDEBBUNQ.js} +5 -5
  57. package/dist/assets/cesium/Workers/{chunk-YK3QIKY7.js → chunk-YSVI7YNN.js} +9 -9
  58. package/dist/assets/cesium/Workers/{chunk-BVKITG4N.js → chunk-YVAS5WPH.js} +7 -7
  59. package/dist/assets/cesium/Workers/{chunk-X7IQYYHF.js → chunk-Z4QVAZM6.js} +2 -2
  60. package/dist/assets/cesium/Workers/{chunk-LJ2JQHJT.js → chunk-ZXOK77EW.js} +7 -7
  61. package/dist/assets/cesium/Workers/combineGeometry.js +22 -22
  62. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -16
  63. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -14
  64. package/dist/assets/cesium/Workers/createCircleGeometry.js +24 -24
  65. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -17
  66. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +31 -31
  67. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  68. package/dist/assets/cesium/Workers/createCorridorGeometry.js +27 -27
  69. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +26 -26
  70. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -18
  71. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +16 -16
  72. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -24
  73. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -17
  74. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -17
  75. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -16
  76. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -16
  77. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +16 -16
  78. package/dist/assets/cesium/Workers/createGeometry.js +22 -22
  79. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +20 -20
  80. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -14
  81. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -13
  82. package/dist/assets/cesium/Workers/createPolygonGeometry.js +30 -30
  83. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +28 -28
  84. package/dist/assets/cesium/Workers/createPolylineGeometry.js +23 -23
  85. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +29 -29
  86. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  87. package/dist/assets/cesium/Workers/createRectangleGeometry.js +25 -25
  88. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +18 -18
  89. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +21 -21
  90. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -17
  91. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -16
  92. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  93. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +13 -13
  94. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -22
  95. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  96. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -20
  97. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +13 -13
  98. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
  99. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +20 -20
  100. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
  101. package/dist/assets/cesium/Workers/createWallGeometry.js +22 -22
  102. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +21 -21
  103. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  104. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  105. package/dist/assets/cesium/Workers/decodeI3S.js +10 -10
  106. package/dist/assets/cesium/Workers/transcodeKTX2.js +7 -7
  107. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  108. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  109. package/dist/assets/{cesium-b99cf74c.js → cesium-8dd00805.js} +44609 -44606
  110. package/dist/assets/cesium.js +1 -1
  111. package/dist/assets/core-6b5c0363.js +34173 -0
  112. package/dist/assets/core-workers/panoramaImageWorker.js +1 -0
  113. package/dist/assets/core-workers/panoramaImageWorker.js-0ce7d2f3.js +34 -0
  114. package/dist/assets/core.js +1 -1
  115. package/dist/assets/ol.js +1 -1
  116. package/dist/assets/start.js +3 -1
  117. package/dist/assets/ui-aadb7707.css +1 -0
  118. package/dist/assets/{ui-1f833d5c.js → ui-aadb7707.js} +12940 -12232
  119. package/dist/assets/ui.js +1 -1
  120. package/dist/assets/vue.js +1 -1
  121. package/dist/assets/{vuetify-30b1b4a7.js → vuetify-533fb61b.js} +1 -1
  122. package/dist/assets/vuetify.js +1 -1
  123. package/index.d.ts +12 -0
  124. package/index.js +9 -0
  125. package/package.json +7 -49
  126. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +2 -3
  127. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +0 -1
  128. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +3 -3
  129. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +6 -6
  130. package/plugins/@vcmap-show-case/hello-world/src/index.js +0 -6
  131. package/plugins/@vcmap-show-case/hello-world/tests/helloWorld.spec.js +1 -1
  132. package/plugins/@vcmap-show-case/panel-tester/src/IframePanelExample.vue +1 -1
  133. package/plugins/@vcmap-show-case/panel-tester/src/ImgPanelExample.vue +1 -1
  134. package/plugins/@vcmap-show-case/panel-tester/src/PanelExample.vue +1 -1
  135. package/plugins/@vcmap-show-case/panel-tester/src/TextPanelExample.vue +1 -1
  136. package/plugins/@vcmap-show-case/panorama-inspector/package.json +10 -0
  137. package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaDebugInfo.vue +86 -0
  138. package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaDebugTools.vue +259 -0
  139. package/plugins/@vcmap-show-case/panorama-inspector/src/PanoramaInspector.vue +31 -0
  140. package/plugins/@vcmap-show-case/panorama-inspector/src/api.js +161 -0
  141. package/plugins/@vcmap-show-case/panorama-inspector/src/index.js +57 -0
  142. package/plugins/@vcmap-show-case/panorama-inspector/src/showClickInteraction.js +20 -0
  143. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +1 -0
  144. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +1 -1
  145. package/plugins/@vcmap-show-case/window-tester/src/EmptyComponent.vue +5 -5
  146. package/plugins/@vcmap-show-case/window-tester/src/MyCustomHeader.vue +1 -0
  147. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +1 -1
  148. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleContent.vue +1 -1
  149. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +1 -1
  150. package/src/actions/actionHelper.js +138 -26
  151. package/src/application/MapsGroupMobileMenu.vue +6 -5
  152. package/src/application/MapsGroupMobileMenu.vue.d.ts +3 -1
  153. package/src/application/VcsApp.vue +47 -46
  154. package/src/application/VcsApp.vue.d.ts +23 -45
  155. package/src/application/VcsAppWrapper.vue +4 -4
  156. package/src/application/VcsAttributions.vue +12 -12
  157. package/src/application/VcsAttributionsFooter.vue +27 -27
  158. package/src/application/VcsContainer.vue +50 -51
  159. package/src/application/VcsContainer.vue.d.ts +18 -2
  160. package/src/application/VcsMainMap.vue +2 -2
  161. package/src/application/VcsMap.vue +16 -16
  162. package/src/application/VcsNavbar.vue +19 -16
  163. package/src/application/VcsNavbarMobile.vue +15 -15
  164. package/src/application/VcsObliqueFooter.vue +10 -9
  165. package/src/application/VcsPositionDisplay.vue +8 -8
  166. package/src/application/VcsTextPage.vue +10 -10
  167. package/src/application/VcsTextPageFooter.vue +9 -9
  168. package/src/application/uiConfigHelper.d.ts +6 -0
  169. package/src/application/uiConfigHelper.js +19 -0
  170. package/src/callback/activateMapCallback.d.ts +30 -0
  171. package/src/callback/activateMapCallback.js +63 -0
  172. package/src/callback/activateOverviewMapCallback.d.ts +7 -0
  173. package/src/callback/activateOverviewMapCallback.js +26 -0
  174. package/src/callback/deactivateOverviewMapCallback.d.ts +7 -0
  175. package/src/callback/deactivateOverviewMapCallback.js +20 -0
  176. package/src/callback/stopRotationCallback.js +0 -1
  177. package/src/callback/toggleToolbarButtonCallback.d.ts +48 -0
  178. package/src/callback/toggleToolbarButtonCallback.js +115 -0
  179. package/src/components/attrsHelpers.js +1 -1
  180. package/src/components/buttons/VcsActionButtonList.vue +5 -5
  181. package/src/components/buttons/VcsButton.vue +26 -26
  182. package/src/components/buttons/VcsFormButton.vue +31 -31
  183. package/src/components/buttons/VcsToolButton.vue +29 -29
  184. package/src/components/extent/VcsExtent.vue +1 -1
  185. package/src/components/extent/VcsExtentEditor.vue +1 -1
  186. package/src/components/flight/VcsFlightAnchorsComponent.vue +2 -2
  187. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +1 -4
  188. package/src/components/flight/VcsFlightEditor.vue +1 -0
  189. package/src/components/flight/VcsFlightEditor.vue.d.ts +4 -2
  190. package/src/components/flight/VcsFlightPlayer.vue +1 -1
  191. package/src/components/form-inputs-controls/VcsCheckbox.vue +23 -23
  192. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +20 -20
  193. package/src/components/form-inputs-controls/VcsCoordinate.vue +3 -3
  194. package/src/components/form-inputs-controls/VcsDatePicker.vue +7 -7
  195. package/src/components/form-inputs-controls/VcsFileInput.vue +14 -14
  196. package/src/components/form-inputs-controls/VcsLabel.vue +26 -26
  197. package/src/components/form-inputs-controls/VcsRadio.vue +27 -27
  198. package/src/components/form-inputs-controls/VcsSelect.vue +78 -78
  199. package/src/components/form-inputs-controls/VcsSlider.vue +43 -43
  200. package/src/components/form-inputs-controls/VcsTextArea.vue +47 -47
  201. package/src/components/form-inputs-controls/VcsTextField.vue +4 -4
  202. package/src/components/form-inputs-controls/VcsWizard.vue +4 -4
  203. package/src/components/form-output/VcsFormattedNumber.vue +11 -11
  204. package/src/components/form-output/VcsMarkdown.vue +23 -22
  205. package/src/components/form-output/markdownHelper.js +1 -1
  206. package/src/components/import/VcsImportComponent.vue +1 -0
  207. package/src/components/import/VcsImportComponent.vue.d.ts +4 -2
  208. package/src/components/lists/VcsActionList.vue +14 -14
  209. package/src/components/lists/VcsGroupedList.vue +10 -2
  210. package/src/components/lists/VcsList.vue +24 -20
  211. package/src/components/lists/VcsList.vue.d.ts +4 -6
  212. package/src/components/lists/VcsListItemComponent.vue +28 -8
  213. package/src/components/lists/VcsTreeNode.vue +141 -38
  214. package/src/components/lists/VcsTreeview.vue +65 -23
  215. package/src/components/lists/VcsTreeview.vue.d.ts +34 -9
  216. package/src/components/lists/VcsTreeviewSearchbar.vue +50 -50
  217. package/src/components/lists/VcsTreeviewTitle.vue +13 -13
  218. package/src/components/lists/dragHelper.d.ts +118 -0
  219. package/src/components/lists/dragHelper.js +325 -0
  220. package/src/components/lists/listHelper.d.ts +3 -2
  221. package/src/components/lists/listHelper.js +8 -1
  222. package/src/components/notification/VcsBadge.vue +12 -12
  223. package/src/components/notification/VcsHelp.vue +9 -9
  224. package/src/components/notification/VcsHelpTooltip.vue +1 -1
  225. package/src/components/plugins/AbstractWorkspaceItemCreator.vue +104 -0
  226. package/src/components/plugins/AbstractWorkspaceItemCreator.vue.d.ts +82 -0
  227. package/src/components/section/VcsExpansionPanel.vue +13 -3
  228. package/src/components/style/StyleMenuWrapper.vue +1 -1
  229. package/src/components/tables/VcsDataTable.vue +3 -2
  230. package/src/components/tables/VcsDataTable.vue.d.ts +4 -2
  231. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +1 -1
  232. package/src/components/vector-properties/VcsFeatureTransforms.vue +1 -1
  233. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +1 -1
  234. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +1 -1
  235. package/src/components/viewpoint/VcsViewpointEditor.vue +1 -0
  236. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +4 -2
  237. package/src/contentTree/LayerSwap.vue +158 -0
  238. package/src/contentTree/LayerSwap.vue.d.ts +27 -0
  239. package/src/contentTree/LayerTree.vue +53 -3
  240. package/src/contentTree/LayerTree.vue.d.ts +3 -0
  241. package/src/contentTree/contentTreeCollection.js +0 -1
  242. package/src/featureInfo/featureInfo.js +1 -4
  243. package/src/featureInfo/iframeWmsFeatureInfoView.d.ts +10 -0
  244. package/src/featureInfo/iframeWmsFeatureInfoView.js +42 -0
  245. package/src/i18n/de.d.ts +67 -55
  246. package/src/i18n/de.js +8 -0
  247. package/src/i18n/en.d.ts +67 -55
  248. package/src/i18n/en.js +8 -0
  249. package/src/init.js +1 -1
  250. package/src/legend/VcsLegend.vue +5 -1
  251. package/src/manager/collectionManager/CollectionComponent.vue +1 -1
  252. package/src/manager/collectionManager/CollectionComponentContent.vue +2 -2
  253. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +1 -4
  254. package/src/manager/collectionManager/CollectionComponentList.vue +14 -13
  255. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +3 -7
  256. package/src/manager/collectionManager/CollectionComponentStandalone.vue +2 -2
  257. package/src/manager/collectionManager/CollectionManager.vue +2 -2
  258. package/src/manager/panel/PanelComponent.vue +40 -39
  259. package/src/manager/panel/PanelComponent.vue.d.ts +4 -2
  260. package/src/manager/panel/PanelManagerComponent.vue +13 -13
  261. package/src/manager/panel/PanelManagerComponent.vue.d.ts +4 -2
  262. package/src/manager/panel/panelHelper.js +19 -21
  263. package/src/manager/toolbox/GroupToolboxComponent.vue +9 -8
  264. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +5 -2
  265. package/src/manager/toolbox/SelectToolboxComponent.vue +9 -8
  266. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +5 -2
  267. package/src/manager/toolbox/ToolboxManagerComponent.vue +23 -23
  268. package/src/manager/window/WindowComponent.vue +12 -12
  269. package/src/manager/window/WindowComponent.vue.d.ts +7 -4
  270. package/src/manager/window/WindowComponentHeader.vue +24 -24
  271. package/src/manager/window/WindowComponentHeader.vue.d.ts +7 -4
  272. package/src/manager/window/WindowManager.vue +41 -41
  273. package/src/navigation/MapNavCompass.vue +4 -3
  274. package/src/navigation/MapNavCompass.vue.d.ts +4 -2
  275. package/src/navigation/MapNavigation.vue +60 -18
  276. package/src/navigation/MapNavigation.vue.d.ts +1 -0
  277. package/src/navigation/ObliqueRotation.vue +1 -0
  278. package/src/navigation/ObliqueRotation.vue.d.ts +4 -2
  279. package/src/navigation/OrientationToolsButton.vue +1 -1
  280. package/src/navigation/TiltSlider.vue +45 -37
  281. package/src/navigation/TiltSlider.vue.d.ts +20 -0
  282. package/src/navigation/VcsCompass.vue +20 -13
  283. package/src/navigation/VcsCompass.vue.d.ts +6 -2
  284. package/src/navigation/VcsZoomButton.vue +1 -0
  285. package/src/navigation/VcsZoomButton.vue.d.ts +5 -2
  286. package/src/navigation/locatorHelper.js +1 -1
  287. package/src/navigation/overviewMap.d.ts +5 -0
  288. package/src/navigation/overviewMap.js +17 -0
  289. package/src/notifier/NotifierComponent.vue +1 -1
  290. package/src/pluginHelper.js +2 -1
  291. package/src/search/ResultItem.vue +1 -0
  292. package/src/search/ResultsComponent.vue +8 -1
  293. package/src/search/SearchComponent.vue +38 -52
  294. package/src/search/SearchComponent.vue.d.ts +1 -2
  295. package/src/search/markText.js +2 -2
  296. package/src/search/search.d.ts +13 -0
  297. package/src/search/search.js +21 -1
  298. package/src/state.d.ts +12 -1
  299. package/src/state.js +59 -4
  300. package/src/uiConfig.d.ts +39 -3
  301. package/src/uiConfig.js +5 -1
  302. package/src/vcsUiApp.js +20 -0
  303. package/dist/assets/core-74bef978.js +0 -26249
  304. package/dist/assets/ui-1f833d5c.css +0 -1
  305. /package/dist/assets/{ol-82490708.js → ol-f58f403b.js} +0 -0
  306. /package/dist/assets/{vue-76d01dd8.js → vue-d7691a29.js} +0 -0
  307. /package/dist/assets/{vuetify-30b1b4a7.css → vuetify-533fb61b.css} +0 -0
@@ -37,19 +37,6 @@
37
37
  </v-file-input>
38
38
  </template>
39
39
 
40
- <style lang="scss" scoped>
41
- @use './vcsTextField.scss';
42
-
43
- // set text overflow for file input
44
- :deep(.v-field__input) {
45
- display: unset;
46
- overflow: hidden;
47
- text-overflow: ellipsis;
48
- white-space: nowrap;
49
- line-height: calc(var(--v-vcs-font-size) * 2 - 3px);
50
- }
51
- </style>
52
-
53
40
  <script>
54
41
  import { ref } from 'vue';
55
42
  import { VFileInput, VTooltip } from 'vuetify/components';
@@ -66,11 +53,11 @@
66
53
  */
67
54
  export default {
68
55
  name: 'VcsTextField',
69
- inheritAttrs: false,
70
56
  components: {
71
57
  VTooltip,
72
58
  VFileInput,
73
59
  },
60
+ inheritAttrs: false,
74
61
  props: {
75
62
  tooltip: {
76
63
  type: String,
@@ -97,3 +84,16 @@
97
84
  },
98
85
  };
99
86
  </script>
87
+
88
+ <style lang="scss" scoped>
89
+ @use './vcsTextField.scss';
90
+
91
+ // set text overflow for file input
92
+ :deep(.v-field__input) {
93
+ display: unset;
94
+ overflow: hidden;
95
+ text-overflow: ellipsis;
96
+ white-space: nowrap;
97
+ line-height: calc(var(--v-vcs-font-size) * 2 - 3px);
98
+ }
99
+ </style>
@@ -23,32 +23,6 @@
23
23
  </label>
24
24
  </template>
25
25
 
26
- <style lang="scss" scoped>
27
- .ellipsis-text {
28
- flex: 1;
29
- white-space: nowrap;
30
- overflow: hidden;
31
- text-overflow: ellipsis;
32
- }
33
- .vcs-label {
34
- box-sizing: content-box;
35
- display: flex;
36
- flex-direction: row;
37
- white-space: nowrap;
38
- overflow: hidden;
39
- text-overflow: ellipsis;
40
- align-items: center;
41
- height: calc(var(--v-vcs-font-size) * 2 - 2px);
42
- font-size: var(--v-vcs-font-size);
43
- }
44
- .vcs-label-required .ellipsis-text:after {
45
- content: ' *';
46
- color: rgb(var(--v-theme-error));
47
- }
48
- .vcs-label-disabled {
49
- opacity: var(--v-disabled-opacity);
50
- }
51
- </style>
52
26
  <script>
53
27
  import { VTooltip } from 'vuetify/components';
54
28
  import { computed, ref } from 'vue';
@@ -114,3 +88,29 @@
114
88
  },
115
89
  };
116
90
  </script>
91
+ <style lang="scss" scoped>
92
+ .ellipsis-text {
93
+ flex: 1;
94
+ white-space: nowrap;
95
+ overflow: hidden;
96
+ text-overflow: ellipsis;
97
+ }
98
+ .vcs-label {
99
+ box-sizing: content-box;
100
+ display: flex;
101
+ flex-direction: row;
102
+ white-space: nowrap;
103
+ overflow: hidden;
104
+ text-overflow: ellipsis;
105
+ align-items: center;
106
+ height: calc(var(--v-vcs-font-size) * 2 - 2px);
107
+ font-size: var(--v-vcs-font-size);
108
+ }
109
+ .vcs-label-required .ellipsis-text:after {
110
+ content: ' *';
111
+ color: rgb(var(--v-theme-error));
112
+ }
113
+ .vcs-label-disabled {
114
+ opacity: var(--v-disabled-opacity);
115
+ }
116
+ </style>
@@ -48,32 +48,6 @@
48
48
  ></v-tooltip>
49
49
  </v-radio-group>
50
50
  </template>
51
- <style lang="scss" scoped>
52
- .v-input--density-compact :deep(.v-selection-control) {
53
- --v-selection-control-size: calc(var(--v-vcs-font-size) * 2 - 2px);
54
- --v-input-control-height: calc(var(--v-vcs-font-size) + 3px);
55
- }
56
- // remove ripple effect
57
- :deep(.v-selection-control__input::before) {
58
- background-color: transparent;
59
- }
60
- :deep(.v-icon--size-default) {
61
- font-size: calc(var(--v-vcs-font-size) + 3px);
62
- padding-right: 2px;
63
- }
64
- // remove details
65
- :deep(.v-input__details) {
66
- display: none;
67
- }
68
- // switch input and label order
69
- :deep(.label-top > .v-selection-control__wrapper) {
70
- order: 2;
71
- }
72
- :deep(.v-selection-control-group) {
73
- row-gap: 8px;
74
- column-gap: 8px;
75
- }
76
- </style>
77
51
  <script>
78
52
  import { ref } from 'vue';
79
53
  import { VRadio, VRadioGroup, VTooltip } from 'vuetify/components';
@@ -100,12 +74,12 @@
100
74
  */
101
75
  export default {
102
76
  name: 'VcsRadio',
103
- inheritAttrs: false,
104
77
  components: {
105
78
  VTooltip,
106
79
  VRadioGroup,
107
80
  VRadio,
108
81
  },
82
+ inheritAttrs: false,
109
83
  props: {
110
84
  items: {
111
85
  type: Array,
@@ -143,3 +117,29 @@
143
117
  },
144
118
  };
145
119
  </script>
120
+ <style lang="scss" scoped>
121
+ .v-input--density-compact :deep(.v-selection-control) {
122
+ --v-selection-control-size: calc(var(--v-vcs-font-size) * 2 - 2px);
123
+ --v-input-control-height: calc(var(--v-vcs-font-size) + 3px);
124
+ }
125
+ // remove ripple effect
126
+ :deep(.v-selection-control__input::before) {
127
+ background-color: transparent;
128
+ }
129
+ :deep(.v-icon--size-default) {
130
+ font-size: calc(var(--v-vcs-font-size) + 3px);
131
+ padding-right: 2px;
132
+ }
133
+ // remove details
134
+ :deep(.v-input__details) {
135
+ display: none;
136
+ }
137
+ // switch input and label order
138
+ :deep(.label-top > .v-selection-control__wrapper) {
139
+ order: 2;
140
+ }
141
+ :deep(.v-selection-control-group) {
142
+ row-gap: 8px;
143
+ column-gap: 8px;
144
+ }
145
+ </style>
@@ -62,84 +62,6 @@
62
62
  </template>
63
63
  </v-select>
64
64
  </template>
65
- <style lang="scss" scoped>
66
- :deep(.v-field) {
67
- --v-field-padding-start: 4px;
68
- --v-field-padding-end: 4px;
69
- }
70
- :deep(.v-field__input) {
71
- flex-wrap: unset;
72
- padding-right: calc(var(--v-vcs-font-size) * 2 + 2px);
73
- > input {
74
- align-self: auto !important;
75
- }
76
- }
77
- .v-input--density-compact :deep(.v-field) {
78
- --v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
79
- --v-field-padding-bottom: 0px;
80
- --v-field-input-padding-top: 0px;
81
- --v-input-padding-top: 0px;
82
- }
83
- :deep(.v-field--focused .v-field__outline *) {
84
- --v-field-border-width: 1px;
85
- }
86
- // set the border color on focused to primary, but not on error
87
- :deep(.v-field--focused:not(.v-field--error) .v-field__outline *) {
88
- border-color: rgb(var(--v-theme-primary));
89
- }
90
- // Not color, just used if label is given
91
- :deep(.v-field--focused:not(.v-field--error) .v-field__outline *::after) {
92
- border-color: rgb(var(--v-theme-primary));
93
- }
94
- // remove outline, if not focused, hovered or an error
95
- :deep(.v-field:not(.v-field--focused):not(.v-field--error):not(:hover)) {
96
- .v-field__outline * {
97
- border-width: 0 0 1px 0;
98
- border-radius: 0;
99
- }
100
- .v-field__outline {
101
- padding-left: 4px;
102
- padding-right: 4px;
103
- }
104
- .v-field__loader {
105
- padding-left: 3px;
106
- padding-right: 3px;
107
- }
108
- .v-field__outline *::before {
109
- border-width: 0;
110
- border-radius: 0;
111
- }
112
- .v-field__outline * label {
113
- color: rgb(var(--v-theme-primary));
114
- margin-left: -4px;
115
- }
116
- }
117
- :deep(.v-field--appended) {
118
- padding-inline-end: 4px;
119
- .v-field__append-inner {
120
- i {
121
- margin-left: 0;
122
- }
123
- }
124
- }
125
- .primary--placeholder {
126
- :deep(input::placeholder) {
127
- color: rgb(var(--v-theme-primary));
128
- opacity: 1;
129
- font-style: italic !important;
130
- padding: 0 3px 0 0;
131
- }
132
- }
133
- // remove details
134
- :deep(.v-input__details) {
135
- display: none;
136
- }
137
-
138
- // Progress Bar
139
- :deep(.v-field__loader) {
140
- top: calc(100% - 2px);
141
- }
142
- </style>
143
65
  <script>
144
66
  import { VSelect, VTooltip, VListItem } from 'vuetify/components';
145
67
  import { computed, ref } from 'vue';
@@ -230,3 +152,81 @@
230
152
  },
231
153
  };
232
154
  </script>
155
+ <style lang="scss" scoped>
156
+ :deep(.v-field) {
157
+ --v-field-padding-start: 4px;
158
+ --v-field-padding-end: 4px;
159
+ }
160
+ :deep(.v-field__input) {
161
+ flex-wrap: unset;
162
+ padding-right: calc(var(--v-vcs-font-size) * 2 + 2px);
163
+ > input {
164
+ align-self: auto !important;
165
+ }
166
+ }
167
+ .v-input--density-compact :deep(.v-field) {
168
+ --v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
169
+ --v-field-padding-bottom: 0px;
170
+ --v-field-input-padding-top: 0px;
171
+ --v-input-padding-top: 0px;
172
+ }
173
+ :deep(.v-field--focused .v-field__outline *) {
174
+ --v-field-border-width: 1px;
175
+ }
176
+ // set the border color on focused to primary, but not on error
177
+ :deep(.v-field--focused:not(.v-field--error) .v-field__outline *) {
178
+ border-color: rgb(var(--v-theme-primary));
179
+ }
180
+ // Not color, just used if label is given
181
+ :deep(.v-field--focused:not(.v-field--error) .v-field__outline *::after) {
182
+ border-color: rgb(var(--v-theme-primary));
183
+ }
184
+ // remove outline, if not focused, hovered or an error
185
+ :deep(.v-field:not(.v-field--focused):not(.v-field--error):not(:hover)) {
186
+ .v-field__outline * {
187
+ border-width: 0 0 1px 0;
188
+ border-radius: 0;
189
+ }
190
+ .v-field__outline {
191
+ padding-left: 4px;
192
+ padding-right: 4px;
193
+ }
194
+ .v-field__loader {
195
+ padding-left: 3px;
196
+ padding-right: 3px;
197
+ }
198
+ .v-field__outline *::before {
199
+ border-width: 0;
200
+ border-radius: 0;
201
+ }
202
+ .v-field__outline * label {
203
+ color: rgb(var(--v-theme-primary));
204
+ margin-left: -4px;
205
+ }
206
+ }
207
+ :deep(.v-field--appended) {
208
+ padding-inline-end: 4px;
209
+ .v-field__append-inner {
210
+ i {
211
+ margin-left: 0;
212
+ }
213
+ }
214
+ }
215
+ .primary--placeholder {
216
+ :deep(input::placeholder) {
217
+ color: rgb(var(--v-theme-primary));
218
+ opacity: 1;
219
+ font-style: italic !important;
220
+ padding: 0 3px 0 0;
221
+ }
222
+ }
223
+ // remove details
224
+ :deep(.v-input__details) {
225
+ display: none;
226
+ }
227
+
228
+ // Progress Bar
229
+ :deep(.v-field__loader) {
230
+ top: calc(100% - 2px);
231
+ }
232
+ </style>
@@ -30,49 +30,6 @@
30
30
  </template>
31
31
  </v-slider>
32
32
  </template>
33
- <style lang="scss" scoped>
34
- .v-input--horizontal :deep(.v-input__control) {
35
- min-height: calc(var(--v-vcs-font-size) * 2 - 2px);
36
- }
37
- .v-input--horizontal.v-slider--has-labels {
38
- margin-bottom: var(--v-vcs-font-size);
39
- }
40
- .v-slider.v-input--horizontal {
41
- :deep(.v-slider-track__fill) {
42
- height: 2px;
43
- }
44
- :deep(.v-slider-track__tick--first) {
45
- margin-inline-start: 0;
46
- }
47
- :deep(.v-slider-track__tick--last) {
48
- margin-inline-start: 100%;
49
- }
50
- }
51
- .v-slider.v-input--vertical {
52
- :deep(.v-slider-track__fill) {
53
- width: 2px;
54
- }
55
- :deep(.v-slider-track__tick--first) {
56
- bottom: 0;
57
- }
58
- :deep(.v-slider-track__tick--last) {
59
- bottom: 100%;
60
- }
61
- }
62
- :deep(.v-slider-thumb__surface::before) {
63
- --v-focus-opacity: 0;
64
- --v-hover-opacity: 0;
65
- --v-pressed-opacity: 0;
66
- }
67
- :deep(.v-slider-track__tick) {
68
- background-color: rgb(var(--v-theme-base-darken-1));
69
- }
70
- .remove-append-margin {
71
- :deep(.v-input__append) {
72
- margin-inline-start: 0px;
73
- }
74
- }
75
- </style>
76
33
  <script>
77
34
  import { computed, ref } from 'vue';
78
35
  import { VSlider, VTooltip } from 'vuetify/components';
@@ -128,3 +85,46 @@
128
85
  },
129
86
  };
130
87
  </script>
88
+ <style lang="scss" scoped>
89
+ .v-input--horizontal :deep(.v-input__control) {
90
+ min-height: calc(var(--v-vcs-font-size) * 2 - 2px);
91
+ }
92
+ .v-input--horizontal.v-slider--has-labels {
93
+ margin-bottom: var(--v-vcs-font-size);
94
+ }
95
+ .v-slider.v-input--horizontal {
96
+ :deep(.v-slider-track__fill) {
97
+ height: 2px;
98
+ }
99
+ :deep(.v-slider-track__tick--first) {
100
+ margin-inline-start: 0;
101
+ }
102
+ :deep(.v-slider-track__tick--last) {
103
+ margin-inline-start: 100%;
104
+ }
105
+ }
106
+ .v-slider.v-input--vertical {
107
+ :deep(.v-slider-track__fill) {
108
+ width: 2px;
109
+ }
110
+ :deep(.v-slider-track__tick--first) {
111
+ bottom: 0;
112
+ }
113
+ :deep(.v-slider-track__tick--last) {
114
+ bottom: 100%;
115
+ }
116
+ }
117
+ :deep(.v-slider-thumb__surface::before) {
118
+ --v-focus-opacity: 0;
119
+ --v-hover-opacity: 0;
120
+ --v-pressed-opacity: 0;
121
+ }
122
+ :deep(.v-slider-track__tick) {
123
+ background-color: rgb(var(--v-theme-base-darken-1));
124
+ }
125
+ .remove-append-margin {
126
+ :deep(.v-input__append) {
127
+ margin-inline-start: 0px;
128
+ }
129
+ }
130
+ </style>
@@ -37,6 +37,53 @@
37
37
  </v-textarea>
38
38
  </template>
39
39
 
40
+ <script>
41
+ import { ref } from 'vue';
42
+ import { VTextarea, VTooltip } from 'vuetify/components';
43
+ import { getForwardSlots, usePadding } from '../composables.js';
44
+
45
+ /**
46
+ * @description extends API of {@link https://vuetifyjs.com/en/api/v-textarea/|vuetify v-textarea}.
47
+ * Default for number of rows can be overwritten using the vuetify API.
48
+ * Provides a tooltip to
49
+ * - show error messages on focus
50
+ * - show tooltips, if no error messages are available
51
+ * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the error tooltip.
52
+ * @vue-prop {string|undefined} tooltip - Optional tooltip which will be shown on hover when no error message is shown
53
+ */
54
+ export default {
55
+ name: 'VcsTextArea',
56
+ components: {
57
+ VTooltip,
58
+ VTextarea,
59
+ },
60
+ props: {
61
+ tooltip: {
62
+ type: String,
63
+ default: undefined,
64
+ },
65
+ tooltipPosition: {
66
+ type: String,
67
+ default: 'right',
68
+ },
69
+ },
70
+ setup(_p, { attrs, slots }) {
71
+ const textAreaRef = ref();
72
+ const errorTooltipRef = ref();
73
+
74
+ const paddingProvided = usePadding(attrs);
75
+ const forwardSlots = getForwardSlots(slots, ['append-inner', 'message']);
76
+
77
+ return {
78
+ forwardSlots,
79
+ textAreaRef,
80
+ errorTooltipRef,
81
+ paddingProvided,
82
+ };
83
+ },
84
+ };
85
+ </script>
86
+
40
87
  <style lang="scss" scoped>
41
88
  .v-input--density-compact :deep(.v-field) {
42
89
  --v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
@@ -142,50 +189,3 @@
142
189
  top: calc(100% - 2px);
143
190
  }
144
191
  </style>
145
-
146
- <script>
147
- import { ref } from 'vue';
148
- import { VTextarea, VTooltip } from 'vuetify/components';
149
- import { getForwardSlots, usePadding } from '../composables.js';
150
-
151
- /**
152
- * @description extends API of {@link https://vuetifyjs.com/en/api/v-textarea/|vuetify v-textarea}.
153
- * Default for number of rows can be overwritten using the vuetify API.
154
- * Provides a tooltip to
155
- * - show error messages on focus
156
- * - show tooltips, if no error messages are available
157
- * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the error tooltip.
158
- * @vue-prop {string|undefined} tooltip - Optional tooltip which will be shown on hover when no error message is shown
159
- */
160
- export default {
161
- name: 'VcsTextArea',
162
- components: {
163
- VTooltip,
164
- VTextarea,
165
- },
166
- props: {
167
- tooltip: {
168
- type: String,
169
- default: undefined,
170
- },
171
- tooltipPosition: {
172
- type: String,
173
- default: 'right',
174
- },
175
- },
176
- setup(_p, { attrs, slots }) {
177
- const textAreaRef = ref();
178
- const errorTooltipRef = ref();
179
-
180
- const paddingProvided = usePadding(attrs);
181
- const forwardSlots = getForwardSlots(slots, ['append-inner', 'message']);
182
-
183
- return {
184
- forwardSlots,
185
- textAreaRef,
186
- errorTooltipRef,
187
- paddingProvided,
188
- };
189
- },
190
- };
191
- </script>
@@ -54,9 +54,6 @@
54
54
  </v-text-field>
55
55
  </template>
56
56
 
57
- <style lang="scss" scoped>
58
- @use './vcsTextField.scss';
59
- </style>
60
57
  <script>
61
58
  import { computed, ref } from 'vue';
62
59
  import { VTextField, VTooltip } from 'vuetify/components';
@@ -88,11 +85,11 @@
88
85
  */
89
86
  export default {
90
87
  name: 'VcsTextField',
91
- inheritAttrs: false,
92
88
  components: {
93
89
  VTooltip,
94
90
  VTextField,
95
91
  },
92
+ inheritAttrs: false,
96
93
  props: {
97
94
  type: {
98
95
  type: String,
@@ -190,3 +187,6 @@
190
187
  },
191
188
  };
192
189
  </script>
190
+ <style lang="scss" scoped>
191
+ @use './vcsTextField.scss';
192
+ </style>
@@ -70,13 +70,13 @@
70
70
  z-index: 2;
71
71
  }
72
72
  :deep(
73
- .v-expansion-panel-title--active .v-stepper-vertical-item__avatar.v-avatar
74
- ) {
73
+ .v-expansion-panel-title--active .v-stepper-vertical-item__avatar.v-avatar
74
+ ) {
75
75
  background: rgb(var(--v-theme-primary));
76
76
  }
77
77
  :deep(
78
- .v-stepper-vertical-item--error .v-stepper-vertical-item__avatar.v-avatar
79
- ) {
78
+ .v-stepper-vertical-item--error .v-stepper-vertical-item__avatar.v-avatar
79
+ ) {
80
80
  background: rgb(var(--v-theme-error));
81
81
  }
82
82
  /* alignment of heading */
@@ -28,17 +28,6 @@
28
28
  ></v-tooltip>
29
29
  </span>
30
30
  </template>
31
- <style lang="scss" scoped>
32
- .vcs-formatted-number {
33
- box-sizing: content-box;
34
- display: flex;
35
- align-items: center;
36
- height: calc(var(--v-vcs-font-size) * 2 - 2px);
37
- }
38
- .vcs-disabled {
39
- opacity: var(--v-disabled-opacity);
40
- }
41
- </style>
42
31
  <script>
43
32
  import { computed, inject } from 'vue';
44
33
  import { VTooltip } from 'vuetify/components';
@@ -156,3 +145,14 @@
156
145
  },
157
146
  };
158
147
  </script>
148
+ <style lang="scss" scoped>
149
+ .vcs-formatted-number {
150
+ box-sizing: content-box;
151
+ display: flex;
152
+ align-items: center;
153
+ height: calc(var(--v-vcs-font-size) * 2 - 2px);
154
+ }
155
+ .vcs-disabled {
156
+ opacity: var(--v-disabled-opacity);
157
+ }
158
+ </style>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- eslint-disable vue/no-v-html -->
2
3
  <div
3
4
  class="marked vcs-markdown"
4
5
  :class="{
@@ -7,28 +8,6 @@
7
8
  v-html="markedHtml"
8
9
  ></div>
9
10
  </template>
10
- <style lang="scss" scoped>
11
- div {
12
- :deep(p) {
13
- margin-bottom: calc(var(--v-vcs-font-size) * 1);
14
- }
15
- :deep(h1) {
16
- margin-bottom: calc(var(--v-vcs-font-size) * 1);
17
- }
18
- :deep(h2) {
19
- margin-bottom: calc(var(--v-vcs-font-size) * 1);
20
- }
21
- :deep(ul) {
22
- margin-bottom: calc(var(--v-vcs-font-size) * 1);
23
- }
24
- :deep(ol) {
25
- margin-bottom: calc(var(--v-vcs-font-size) * 1);
26
- }
27
- :deep(li) {
28
- margin-left: 1.5em;
29
- }
30
- }
31
- </style>
32
11
  <script>
33
12
  import { computed } from 'vue';
34
13
  import { parseAndSanitizeMarkdown } from './markdownHelper.js';
@@ -54,3 +33,25 @@
54
33
  },
55
34
  };
56
35
  </script>
36
+ <style lang="scss" scoped>
37
+ div {
38
+ :deep(p) {
39
+ margin-bottom: calc(var(--v-vcs-font-size) * 1);
40
+ }
41
+ :deep(h1) {
42
+ margin-bottom: calc(var(--v-vcs-font-size) * 1);
43
+ }
44
+ :deep(h2) {
45
+ margin-bottom: calc(var(--v-vcs-font-size) * 1);
46
+ }
47
+ :deep(ul) {
48
+ margin-bottom: calc(var(--v-vcs-font-size) * 1);
49
+ }
50
+ :deep(ol) {
51
+ margin-bottom: calc(var(--v-vcs-font-size) * 1);
52
+ }
53
+ :deep(li) {
54
+ margin-left: 1.5em;
55
+ }
56
+ }
57
+ </style>
@@ -5,7 +5,7 @@ import DOMPurify from 'dompurify';
5
5
  * @param {string} content
6
6
  * @returns {string}
7
7
  */
8
- // eslint-disable-next-line import/prefer-default-export
8
+
9
9
  export function parseAndSanitizeMarkdown(content) {
10
10
  const html = marked.parse(content, { breaks: true });
11
11
  // Then sanitize the HTML using DOMPurify