@vcmap/ui 5.3.3 → 6.0.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 (699) hide show
  1. package/build/build.js +26 -4
  2. package/build/buildHelpers.js +6 -1
  3. package/build/buildTypes.js +18 -0
  4. package/build/commonViteConfig.js +7 -10
  5. package/build/generateOLLib.js +5 -1
  6. package/build/info/publish.js +2 -2
  7. package/build/lintTypes.js +5 -0
  8. package/build/staging/Dockerfile +1 -1
  9. package/config/base.config.json +9 -6
  10. package/config/dev.config.json +14 -10
  11. package/config/www.config.json +1 -1
  12. package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
  13. package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
  14. package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-3DRPXHZ4.js} +11 -11
  15. package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-3GI7DWF7.js} +5 -7
  16. package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-4EW3HFFI.js} +33 -22
  17. package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-4OX4RYLB.js} +5 -5
  18. package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-4RJH3H6D.js} +11 -9
  19. package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-5OUTANXX.js} +1 -1
  20. package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-6DH5PLFD.js} +1 -1
  21. package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-6DXIYFX3.js} +2 -2
  22. package/dist/assets/cesium/Workers/chunk-A5C2A5O5.js +963 -0
  23. package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-AGTH5JMJ.js} +6 -6
  24. package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-AVFIYUKX.js} +12 -14
  25. package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-BAJAVGUF.js} +5 -5
  26. package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-BPY4HDAK.js} +5 -6
  27. package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-D6PDWQXW.js} +2 -2
  28. package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-DR7LK6PG.js} +13 -13
  29. package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-DTACCQDR.js} +6 -6
  30. package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EVU2UNBD.js} +7 -7
  31. package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-F7IEM66T.js} +3 -5
  32. package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-FSXNF76Y.js} +4 -4
  33. package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FYYT5EVH.js} +830 -14
  34. package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-FZDKIUDT.js} +4 -4
  35. package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-G6346EDR.js} +16 -16
  36. package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-H7PSTL64.js} +95 -155
  37. package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-I67V66MN.js} +6 -6
  38. package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-IALQGTA2.js} +6 -6
  39. package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-KNMGSIIN.js} +16 -12
  40. package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-L4XQPD6P.js} +49 -88
  41. package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-LMTN7R7M.js} +10 -12
  42. package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-LUYI3XCB.js} +14 -14
  43. package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-N5MIFVXJ.js} +7 -7
  44. package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-O7OUBDMZ.js} +10 -10
  45. package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-P24I5VUS.js} +22 -22
  46. package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-PIOKSAZH.js} +15 -17
  47. package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-PRKEY4QK.js} +5 -5
  48. package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-Q7PM4W34.js} +8 -8
  49. package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QLC66ZRL.js} +13 -13
  50. package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-RRLGJV3Q.js} +16 -16
  51. package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-S2UEXF6T.js} +1 -1
  52. package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-S4VTLNAJ.js} +4 -4
  53. package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-SJC5PRDX.js} +2 -2
  54. package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-T6TZXGG5.js} +230 -20
  55. package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-TLGODPEV.js} +5 -5
  56. package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-UC566ISB.js} +6 -6
  57. package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-UMX265HW.js} +2 -2
  58. package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-V7WJDCPA.js} +12 -12
  59. package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-VD6G7UPU.js} +2 -2
  60. package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-WMVCLETM.js} +14 -16
  61. package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-WOA6WSHH.js} +12 -12
  62. package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-X67EJ6X6.js} +4398 -2722
  63. package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-XGI4FRXF.js} +11 -13
  64. package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-YFVI4SQI.js} +1 -1
  65. package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-YFYPR4MW.js} +11 -8
  66. package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
  67. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
  68. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
  69. package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
  70. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
  71. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
  72. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
  73. package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
  74. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
  75. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
  76. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
  77. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
  78. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
  79. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
  80. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
  81. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
  82. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
  83. package/dist/assets/cesium/Workers/createGeometry.js +52 -33
  84. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
  85. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
  86. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
  87. package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
  88. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
  89. package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
  90. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
  91. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
  92. package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
  93. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
  94. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
  95. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
  96. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
  97. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  98. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
  99. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
  100. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  101. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
  102. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
  103. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
  104. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +25 -26
  105. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
  106. package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
  107. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
  108. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  109. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +12 -19
  110. package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
  111. package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -82
  112. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  113. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
  114. package/dist/assets/{cesium.7b7975.js → cesium.0b750d.js} +150319 -144832
  115. package/dist/assets/cesium.js +1 -1
  116. package/dist/assets/{core.2823d9.js → core.cbf44a.js} +2810 -2749
  117. package/dist/assets/core.js +1 -1
  118. package/dist/assets/index-8eGauqjA.js +1 -0
  119. package/dist/assets/{ol.f4bb15.js → ol.86e93c.js} +19259 -19196
  120. package/dist/assets/ol.js +1 -1
  121. package/dist/assets/ui.7c276c.css +1 -0
  122. package/dist/assets/ui.7c276c.js +35158 -0
  123. package/dist/assets/ui.js +1 -1
  124. package/dist/assets/vue.a3cd64.js +6096 -0
  125. package/dist/assets/vue.js +1 -5
  126. package/dist/assets/vuetify.4d18fe.css +5 -0
  127. package/dist/assets/vuetify.4d18fe.js +24605 -0
  128. package/dist/assets/vuetify.js +1 -5
  129. package/dist/index.html +1 -2
  130. package/index.d.ts +27 -9
  131. package/index.js +12 -29
  132. package/lib/vue.js +0 -1
  133. package/lib/vuetify.js +1 -2
  134. package/lib/vuetifyLib.js +6 -0
  135. package/package.json +29 -19
  136. package/plugins/@vcmap-show-case/buttons-example/package.json +2 -2
  137. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +57 -61
  138. package/plugins/@vcmap-show-case/buttons-example/src/index.js +1 -1
  139. package/plugins/@vcmap-show-case/category-tester/package.json +2 -2
  140. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +12 -6
  141. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +4 -4
  142. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +4 -4
  143. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +11 -7
  144. package/plugins/@vcmap-show-case/config-editor/src/ConfigEditor.vue +2 -2
  145. package/plugins/@vcmap-show-case/extent-example/README.md +1 -1
  146. package/plugins/@vcmap-show-case/extent-example/src/index.js +11 -20
  147. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +3 -3
  148. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +122 -169
  149. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +7 -8
  150. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +1 -1
  151. package/plugins/@vcmap-show-case/icons-example/src/AllIconsComponent.vue +1 -1
  152. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +47 -80
  153. package/plugins/@vcmap-show-case/notifier-tester/src/NotifierTester.vue +4 -6
  154. package/plugins/@vcmap-show-case/panel-tester/src/PanelExample.vue +3 -4
  155. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +3 -7
  156. package/plugins/@vcmap-show-case/project-selector/src/ProjectSelectorComponent.vue +10 -16
  157. package/plugins/@vcmap-show-case/search-example/package.json +5 -0
  158. package/plugins/@vcmap-show-case/search-example/src/index.js +75 -0
  159. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +99 -0
  160. package/plugins/@vcmap-show-case/simple-graph/src/SimpleGraphComponent.vue +1 -1
  161. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +1 -1
  162. package/plugins/@vcmap-show-case/table-example/src/DataTableExample.vue +32 -16
  163. package/plugins/@vcmap-show-case/textfields-example/src/TextfieldsExample.vue +7 -1
  164. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +3 -3
  165. package/plugins/@vcmap-show-case/theme-changer/src/index.js +2 -2
  166. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +1 -1
  167. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +36 -11
  168. package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +4 -4
  169. package/plugins/@vcmap-show-case/window-tester/src/BrokenWindow.vue +17 -0
  170. package/plugins/@vcmap-show-case/window-tester/src/EmptyComponent.vue +1 -1
  171. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +10 -0
  172. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleContent.vue +1 -1
  173. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +1 -1
  174. package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
  175. package/src/actions/StyleSelector.vue +4 -34
  176. package/src/actions/StyleSelector.vue.d.ts +6 -4
  177. package/src/actions/actionHelper.js +6 -6
  178. package/src/actions/extentActions.d.ts +1 -2
  179. package/src/actions/extentActions.js +19 -8
  180. package/src/actions/flightActions.js +8 -8
  181. package/src/actions/listActions.d.ts +2 -2
  182. package/src/actions/listActions.js +3 -3
  183. package/src/actions/stateRefAction.js +3 -3
  184. package/src/application/VcsApp.vue +20 -30
  185. package/src/application/VcsApp.vue.d.ts +6 -6
  186. package/src/application/VcsAppWrapper.vue +1 -1
  187. package/src/application/VcsAppWrapper.vue.d.ts +2 -2
  188. package/src/application/VcsAttributions.vue +14 -18
  189. package/src/application/VcsAttributions.vue.d.ts +7 -7
  190. package/src/application/VcsAttributionsFooter.vue +1 -1
  191. package/src/application/VcsAttributionsFooter.vue.d.ts +2 -2
  192. package/src/application/VcsContainer.vue +13 -7
  193. package/src/application/VcsContainer.vue.d.ts +3 -2
  194. package/src/application/VcsCustomScreen.vue +5 -5
  195. package/src/application/VcsCustomScreen.vue.d.ts +3 -3
  196. package/src/application/VcsMainMap.vue +4 -1
  197. package/src/application/VcsMainMap.vue.d.ts +1 -1
  198. package/src/application/VcsMap.vue +21 -23
  199. package/src/application/VcsMap.vue.d.ts +2 -2
  200. package/src/application/VcsNavbar.vue +60 -56
  201. package/src/application/VcsNavbar.vue.d.ts +11 -8
  202. package/src/application/VcsPositionDisplay.vue +33 -46
  203. package/src/application/VcsPositionDisplay.vue.d.ts +3 -3
  204. package/src/application/VcsSettings.vue +19 -7
  205. package/src/application/VcsSettings.vue.d.ts +2 -1
  206. package/src/application/VcsSplashScreen.vue +19 -23
  207. package/src/application/VcsSplashScreen.vue.d.ts +7 -7
  208. package/src/application/VcsTextPage.vue +5 -5
  209. package/src/application/VcsTextPage.vue.d.ts +5 -5
  210. package/src/application/VcsTextPageFooter.vue +4 -4
  211. package/src/application/VcsTextPageFooter.vue.d.ts +2 -2
  212. package/src/application/attributionsHelper.d.ts +2 -2
  213. package/src/application/attributionsHelper.js +9 -9
  214. package/src/application/markdownHelper.js +2 -17
  215. package/src/components/ImageElementInjector.vue.d.ts +2 -2
  216. package/src/components/attrsHelpers.d.ts +5 -0
  217. package/src/components/attrsHelpers.js +14 -0
  218. package/src/components/buttons/VcsActionButtonList.vue +6 -23
  219. package/src/components/buttons/VcsActionButtonList.vue.d.ts +3 -12
  220. package/src/components/buttons/VcsButton.vue +79 -90
  221. package/src/components/buttons/VcsButton.vue.d.ts +19 -34
  222. package/src/components/buttons/VcsFormButton.vue +77 -125
  223. package/src/components/buttons/VcsFormButton.vue.d.ts +10 -43
  224. package/src/components/buttons/VcsToolButton.vue +91 -94
  225. package/src/components/buttons/VcsToolButton.vue.d.ts +21 -28
  226. package/src/components/composables.d.ts +21 -0
  227. package/src/components/composables.js +65 -0
  228. package/src/components/{form-inputs-controls → extent}/VcsExtent.vue +22 -18
  229. package/src/components/{form-inputs-controls → extent}/VcsExtent.vue.d.ts +10 -7
  230. package/src/components/extent/VcsExtentEditor.vue +79 -0
  231. package/src/components/extent/VcsExtentEditor.vue.d.ts +37 -0
  232. package/src/components/flight/VcsFlightAnchorsComponent.vue +7 -2
  233. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +6 -6
  234. package/src/components/flight/VcsFlightComponent.vue +2 -1
  235. package/src/components/flight/VcsFlightComponent.vue.d.ts +4 -4
  236. package/src/components/flight/VcsFlightEditor.vue.d.ts +2 -2
  237. package/src/components/flight/VcsFlightPlayer.vue +2 -3
  238. package/src/components/flight/VcsFlightPlayer.vue.d.ts +3 -3
  239. package/src/components/form-inputs-controls/VcsCheckbox.vue +62 -82
  240. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +14 -4
  241. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +128 -117
  242. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +17 -21
  243. package/src/components/form-inputs-controls/VcsCoordinate.vue +31 -41
  244. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +10 -11
  245. package/src/components/form-inputs-controls/VcsDatePicker.vue +39 -72
  246. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +75 -13
  247. package/src/components/form-inputs-controls/VcsFileInput.vue +100 -0
  248. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +27 -0
  249. package/src/components/form-inputs-controls/VcsFormSection.vue +12 -12
  250. package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +7 -5
  251. package/src/components/form-inputs-controls/VcsLabel.vue +38 -28
  252. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +22 -11
  253. package/src/components/form-inputs-controls/VcsRadio.vue +80 -104
  254. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +35 -9
  255. package/src/components/form-inputs-controls/VcsSelect.vue +166 -156
  256. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +36 -9
  257. package/src/components/form-inputs-controls/VcsSlider.vue +97 -52
  258. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +29 -1
  259. package/src/components/form-inputs-controls/VcsTextArea.vue +141 -144
  260. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +13 -10
  261. package/src/components/form-inputs-controls/VcsTextField.vue +100 -278
  262. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +34 -32
  263. package/src/components/form-inputs-controls/VcsWizard.vue +88 -117
  264. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
  265. package/src/components/form-inputs-controls/VcsWizardStep.vue +77 -59
  266. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +26 -13
  267. package/src/components/form-inputs-controls/vcsTextField.scss +83 -0
  268. package/src/components/form-output/VcsFormattedNumber.vue +42 -33
  269. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +21 -20
  270. package/src/components/form-output/VcsMarkdown.vue +53 -0
  271. package/src/components/form-output/VcsMarkdown.vue.d.ts +16 -0
  272. package/src/components/icons/+all.js +1 -1
  273. package/src/components/icons/2DAreaIcon.vue +1 -7
  274. package/src/components/icons/2DAreaIcon.vue.d.ts +1 -1
  275. package/src/components/icons/2DDistanceIcon.vue +1 -7
  276. package/src/components/icons/2DDistanceIcon.vue.d.ts +1 -1
  277. package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +1 -1
  278. package/src/components/icons/2DPointIcon.vue +0 -1
  279. package/src/components/icons/2DPointIcon.vue.d.ts +1 -1
  280. package/src/components/icons/3DAreaIcon.vue +1 -7
  281. package/src/components/icons/3DAreaIcon.vue.d.ts +1 -1
  282. package/src/components/icons/3DDistanceIcon.vue +1 -7
  283. package/src/components/icons/3DDistanceIcon.vue.d.ts +1 -1
  284. package/src/components/icons/3DHeightIcon.vue +1 -7
  285. package/src/components/icons/3DHeightIcon.vue.d.ts +1 -1
  286. package/src/components/icons/3DPointIcon.vue +0 -1
  287. package/src/components/icons/3DPointIcon.vue.d.ts +1 -1
  288. package/src/components/icons/AngleIcon.vue +1 -6
  289. package/src/components/icons/AngleIcon.vue.d.ts +1 -1
  290. package/src/components/icons/AssociationsIcon.vue +1 -6
  291. package/src/components/icons/AssociationsIcon.vue.d.ts +1 -1
  292. package/src/components/icons/AxisIcon.vue.d.ts +1 -1
  293. package/src/components/icons/BoundingBoxIcon.vue +1 -6
  294. package/src/components/icons/BoundingBoxIcon.vue.d.ts +1 -1
  295. package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +1 -1
  296. package/src/components/icons/CheckboxIcon.vue +1 -6
  297. package/src/components/icons/CheckboxIcon.vue.d.ts +1 -1
  298. package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +1 -1
  299. package/src/components/icons/CircleIcon.vue +1 -6
  300. package/src/components/icons/CircleIcon.vue.d.ts +1 -1
  301. package/src/components/icons/ClippingHorizontalIcon.vue +1 -6
  302. package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +1 -1
  303. package/src/components/icons/ClippingIcon.vue +1 -6
  304. package/src/components/icons/ClippingIcon.vue.d.ts +1 -1
  305. package/src/components/icons/ClippingVerticalIcon.vue +1 -6
  306. package/src/components/icons/ClippingVerticalIcon.vue.d.ts +1 -1
  307. package/src/components/icons/ColorPickerIcon.vue +1 -6
  308. package/src/components/icons/ColorPickerIcon.vue.d.ts +1 -1
  309. package/src/components/icons/ColorSwatchIcon.vue +1 -7
  310. package/src/components/icons/ColorSwatchIcon.vue.d.ts +1 -1
  311. package/src/components/icons/CommentIcon.vue +1 -6
  312. package/src/components/icons/CommentIcon.vue.d.ts +1 -1
  313. package/src/components/icons/CompassIcon.vue +1 -13
  314. package/src/components/icons/CompassIcon.vue.d.ts +1 -1
  315. package/src/components/icons/ComponentsIcon.vue +1 -6
  316. package/src/components/icons/ComponentsIcon.vue.d.ts +1 -1
  317. package/src/components/icons/ComponentsPlusIcon.vue +0 -1
  318. package/src/components/icons/ComponentsPlusIcon.vue.d.ts +1 -1
  319. package/src/components/icons/ConeIcon.vue +1 -13
  320. package/src/components/icons/ConeIcon.vue.d.ts +1 -1
  321. package/src/components/icons/CrosshairIcon.vue +0 -2
  322. package/src/components/icons/CrosshairIcon.vue.d.ts +1 -1
  323. package/src/components/icons/DimensionsHouseIcon.vue +1 -7
  324. package/src/components/icons/DimensionsHouseIcon.vue.d.ts +1 -1
  325. package/src/components/icons/EditIcon.vue +1 -6
  326. package/src/components/icons/EditIcon.vue.d.ts +1 -1
  327. package/src/components/icons/EditVerticesIcon.vue +1 -6
  328. package/src/components/icons/EditVerticesIcon.vue.d.ts +1 -1
  329. package/src/components/icons/ElevationProfileIcon.vue +1 -6
  330. package/src/components/icons/ElevationProfileIcon.vue.d.ts +1 -1
  331. package/src/components/icons/ExportAreaIcon.vue +1 -6
  332. package/src/components/icons/ExportAreaIcon.vue.d.ts +1 -1
  333. package/src/components/icons/ExportFlightIcon.vue +1 -6
  334. package/src/components/icons/ExportFlightIcon.vue.d.ts +1 -1
  335. package/src/components/icons/ExportIcon.vue +1 -13
  336. package/src/components/icons/ExportIcon.vue.d.ts +1 -1
  337. package/src/components/icons/ExternalLinkIcon.vue +1 -6
  338. package/src/components/icons/ExternalLinkIcon.vue.d.ts +1 -1
  339. package/src/components/icons/EyeIcon.vue +1 -6
  340. package/src/components/icons/EyeIcon.vue.d.ts +1 -1
  341. package/src/components/icons/FastForwardIcon.vue +1 -6
  342. package/src/components/icons/FastForwardIcon.vue.d.ts +1 -1
  343. package/src/components/icons/FilterIcon.vue +1 -7
  344. package/src/components/icons/FilterIcon.vue.d.ts +1 -1
  345. package/src/components/icons/GlobalTerrainIcon.vue +1 -6
  346. package/src/components/icons/GlobalTerrainIcon.vue.d.ts +1 -1
  347. package/src/components/icons/GlobeNatureIcon.vue +1 -6
  348. package/src/components/icons/GlobeNatureIcon.vue.d.ts +1 -1
  349. package/src/components/icons/GroundIcon.vue +1 -6
  350. package/src/components/icons/GroundIcon.vue.d.ts +1 -1
  351. package/src/components/icons/HealthCareIndustriesIcon.vue +1 -6
  352. package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +1 -1
  353. package/src/components/icons/HelpIcon.vue +1 -6
  354. package/src/components/icons/HelpIcon.vue.d.ts +1 -1
  355. package/src/components/icons/HideIcon.vue +1 -6
  356. package/src/components/icons/HideIcon.vue.d.ts +1 -1
  357. package/src/components/icons/HomePointIcon.vue +1 -6
  358. package/src/components/icons/HomePointIcon.vue.d.ts +1 -1
  359. package/src/components/icons/HospitalsIcon.vue +1 -6
  360. package/src/components/icons/HospitalsIcon.vue.d.ts +1 -1
  361. package/src/components/icons/HouseIcon.vue +1 -6
  362. package/src/components/icons/HouseIcon.vue.d.ts +1 -1
  363. package/src/components/icons/ImportIcon.vue +1 -7
  364. package/src/components/icons/ImportIcon.vue.d.ts +1 -1
  365. package/src/components/icons/InfoIcon.vue +1 -6
  366. package/src/components/icons/InfoIcon.vue.d.ts +1 -1
  367. package/src/components/icons/KebabIcon.vue +1 -7
  368. package/src/components/icons/KebabIcon.vue.d.ts +1 -1
  369. package/src/components/icons/LabelIcon.vue +1 -13
  370. package/src/components/icons/LabelIcon.vue.d.ts +1 -1
  371. package/src/components/icons/LayersIcon.vue +1 -7
  372. package/src/components/icons/LayersIcon.vue.d.ts +1 -1
  373. package/src/components/icons/LegendIcon.vue +1 -6
  374. package/src/components/icons/LegendIcon.vue.d.ts +1 -1
  375. package/src/components/icons/LineIcon.vue +1 -13
  376. package/src/components/icons/LineIcon.vue.d.ts +1 -1
  377. package/src/components/icons/LinkIcon.vue +1 -6
  378. package/src/components/icons/LinkIcon.vue.d.ts +1 -1
  379. package/src/components/icons/LogoutIcon.vue +1 -6
  380. package/src/components/icons/LogoutIcon.vue.d.ts +1 -1
  381. package/src/components/icons/MapIcon.vue +1 -7
  382. package/src/components/icons/MapIcon.vue.d.ts +1 -1
  383. package/src/components/icons/MenuIcon.vue +1 -7
  384. package/src/components/icons/MenuIcon.vue.d.ts +1 -1
  385. package/src/components/icons/MinusIcon.vue +1 -7
  386. package/src/components/icons/MinusIcon.vue.d.ts +1 -1
  387. package/src/components/icons/MultiViewIcon.vue +1 -7
  388. package/src/components/icons/MultiViewIcon.vue.d.ts +1 -1
  389. package/src/components/icons/ObjectAttributeIcon.vue +1 -7
  390. package/src/components/icons/ObjectAttributeIcon.vue.d.ts +1 -1
  391. package/src/components/icons/ObjectSelectIcon.vue +1 -7
  392. package/src/components/icons/ObjectSelectIcon.vue.d.ts +1 -1
  393. package/src/components/icons/ObliqueViewIcon.vue +1 -7
  394. package/src/components/icons/ObliqueViewIcon.vue.d.ts +1 -1
  395. package/src/components/icons/PdfIcon.vue +1 -7
  396. package/src/components/icons/PdfIcon.vue.d.ts +1 -1
  397. package/src/components/icons/PedestrianIcon.vue +1 -6
  398. package/src/components/icons/PedestrianIcon.vue.d.ts +1 -1
  399. package/src/components/icons/PenIcon.vue +1 -6
  400. package/src/components/icons/PenIcon.vue.d.ts +1 -1
  401. package/src/components/icons/PlayCircleIcon.vue +1 -6
  402. package/src/components/icons/PlayCircleIcon.vue.d.ts +1 -1
  403. package/src/components/icons/PlusIcon.vue +1 -7
  404. package/src/components/icons/PlusIcon.vue.d.ts +1 -1
  405. package/src/components/icons/PoiIcon.vue +1 -6
  406. package/src/components/icons/PoiIcon.vue.d.ts +1 -1
  407. package/src/components/icons/PointIcon.vue +1 -7
  408. package/src/components/icons/PointIcon.vue.d.ts +1 -1
  409. package/src/components/icons/PointMeasurementIcon.vue.d.ts +1 -1
  410. package/src/components/icons/PointSelectIcon.vue +1 -6
  411. package/src/components/icons/PointSelectIcon.vue.d.ts +1 -1
  412. package/src/components/icons/PresentationModeIcon.vue +1 -6
  413. package/src/components/icons/PresentationModeIcon.vue.d.ts +1 -1
  414. package/src/components/icons/ProgressIcon.vue +0 -1
  415. package/src/components/icons/ProgressIcon.vue.d.ts +1 -1
  416. package/src/components/icons/QueryIcon.vue +1 -6
  417. package/src/components/icons/QueryIcon.vue.d.ts +1 -1
  418. package/src/components/icons/RectangleIcon.vue +1 -13
  419. package/src/components/icons/RectangleIcon.vue.d.ts +1 -1
  420. package/src/components/icons/ReturnIcon.vue +1 -6
  421. package/src/components/icons/ReturnIcon.vue.d.ts +1 -1
  422. package/src/components/icons/RewindIcon.vue +1 -6
  423. package/src/components/icons/RewindIcon.vue.d.ts +1 -1
  424. package/src/components/icons/RotateLeftIcon.vue +1 -6
  425. package/src/components/icons/RotateLeftIcon.vue.d.ts +1 -1
  426. package/src/components/icons/RotateRightIcon.vue +1 -6
  427. package/src/components/icons/RotateRightIcon.vue.d.ts +1 -1
  428. package/src/components/icons/ScreenshotIcon.vue +1 -6
  429. package/src/components/icons/ScreenshotIcon.vue.d.ts +1 -1
  430. package/src/components/icons/SearchIcon.vue +1 -6
  431. package/src/components/icons/SearchIcon.vue.d.ts +1 -1
  432. package/src/components/icons/ShadowIcon.vue +1 -7
  433. package/src/components/icons/ShadowIcon.vue.d.ts +1 -1
  434. package/src/components/icons/ShapesIcon.vue +1 -6
  435. package/src/components/icons/ShapesIcon.vue.d.ts +1 -1
  436. package/src/components/icons/ShareIcon.vue +1 -6
  437. package/src/components/icons/ShareIcon.vue.d.ts +1 -1
  438. package/src/components/icons/SimpleCircleFilledIcon.vue +1 -6
  439. package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +1 -1
  440. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +1 -6
  441. package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +1 -1
  442. package/src/components/icons/SimpleCircleOutlinedIcon.vue +1 -6
  443. package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +1 -1
  444. package/src/components/icons/SkipNextIcon.vue +1 -6
  445. package/src/components/icons/SkipNextIcon.vue.d.ts +1 -1
  446. package/src/components/icons/SkipPreviousIcon.vue +1 -6
  447. package/src/components/icons/SkipPreviousIcon.vue.d.ts +1 -1
  448. package/src/components/icons/SplitViewIcon.vue +1 -6
  449. package/src/components/icons/SplitViewIcon.vue.d.ts +1 -1
  450. package/src/components/icons/TerrainBoxIcon.vue +1 -6
  451. package/src/components/icons/TerrainBoxIcon.vue.d.ts +1 -1
  452. package/src/components/icons/TextStyleIcon.vue +1 -7
  453. package/src/components/icons/TextStyleIcon.vue.d.ts +1 -1
  454. package/src/components/icons/ThreeDimensionsIcon.vue +1 -6
  455. package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +1 -1
  456. package/src/components/icons/ToolsIcon.vue +1 -7
  457. package/src/components/icons/ToolsIcon.vue.d.ts +1 -1
  458. package/src/components/icons/TouchIcon.vue +1 -7
  459. package/src/components/icons/TouchIcon.vue.d.ts +1 -1
  460. package/src/components/icons/TransparentTerrainIcon.vue +0 -1
  461. package/src/components/icons/TransparentTerrainIcon.vue.d.ts +1 -1
  462. package/src/components/icons/TrashCanIcon.vue +1 -7
  463. package/src/components/icons/TrashCanIcon.vue.d.ts +1 -1
  464. package/src/components/icons/TriangleIcon.vue +1 -6
  465. package/src/components/icons/TriangleIcon.vue.d.ts +1 -1
  466. package/src/components/icons/TwoDimensionsIcon.vue +1 -7
  467. package/src/components/icons/TwoDimensionsIcon.vue.d.ts +1 -1
  468. package/src/components/icons/UploadIcon.vue +1 -6
  469. package/src/components/icons/UploadIcon.vue.d.ts +1 -1
  470. package/src/components/icons/UserProfileIcon.vue +1 -7
  471. package/src/components/icons/UserProfileIcon.vue.d.ts +1 -1
  472. package/src/components/icons/UserShareIcon.vue +1 -6
  473. package/src/components/icons/UserShareIcon.vue.d.ts +1 -1
  474. package/src/components/icons/VideoRecorderIcon.vue +1 -6
  475. package/src/components/icons/VideoRecorderIcon.vue.d.ts +1 -1
  476. package/src/components/icons/ViewpointFlightIcon.vue +1 -6
  477. package/src/components/icons/ViewpointFlightIcon.vue.d.ts +1 -1
  478. package/src/components/icons/ViewpointIcon.vue +1 -6
  479. package/src/components/icons/ViewpointIcon.vue.d.ts +1 -1
  480. package/src/components/icons/Viewshed360Icon.vue +1 -7
  481. package/src/components/icons/Viewshed360Icon.vue.d.ts +1 -1
  482. package/src/components/icons/ViewshedConeIcon.vue +1 -7
  483. package/src/components/icons/ViewshedConeIcon.vue.d.ts +1 -1
  484. package/src/components/icons/ViewshedIcon.vue +1 -7
  485. package/src/components/icons/ViewshedIcon.vue.d.ts +1 -1
  486. package/src/components/icons/WalkingIcon.vue +1 -6
  487. package/src/components/icons/WalkingIcon.vue.d.ts +1 -1
  488. package/src/components/icons/WallIcon.vue +1 -6
  489. package/src/components/icons/WallIcon.vue.d.ts +1 -1
  490. package/src/components/icons/WandIcon.vue +1 -6
  491. package/src/components/icons/WandIcon.vue.d.ts +1 -1
  492. package/src/components/import/{FileDrop.vue → VcsFileDrop.vue} +21 -10
  493. package/src/components/import/VcsFileDrop.vue.d.ts +37 -0
  494. package/src/components/import/{ImportComponent.vue → VcsImportComponent.vue} +24 -12
  495. package/src/components/import/{ImportComponent.vue.d.ts → VcsImportComponent.vue.d.ts} +6 -3
  496. package/src/components/lists/VcsActionList.vue +41 -37
  497. package/src/components/lists/VcsActionList.vue.d.ts +5 -3
  498. package/src/components/lists/VcsList.vue +138 -200
  499. package/src/components/lists/VcsList.vue.d.ts +24 -27
  500. package/src/components/lists/VcsListItem.vue +154 -0
  501. package/src/components/lists/VcsListItem.vue.d.ts +21 -0
  502. package/src/components/lists/VcsTreeview.vue +56 -43
  503. package/src/components/lists/VcsTreeview.vue.d.ts +3 -5
  504. package/src/components/lists/VcsTreeviewLeaf.vue +76 -75
  505. package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +5 -17
  506. package/src/components/lists/VcsTreeviewSearchbar.vue +39 -83
  507. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +2 -20
  508. package/src/components/modelHelper.d.ts +36 -0
  509. package/src/components/modelHelper.js +128 -0
  510. package/src/components/notification/VcsBadge.vue +8 -6
  511. package/src/components/notification/VcsBadge.vue.d.ts +2 -2
  512. package/src/components/notification/VcsHelp.vue +19 -14
  513. package/src/components/notification/VcsHelp.vue.d.ts +2 -2
  514. package/src/components/notification/VcsTooltip.vue +4 -8
  515. package/src/components/notification/VcsTooltip.vue.d.ts +3 -3
  516. package/src/components/plugins/AbstractConfigEditor.vue +5 -5
  517. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +2 -2
  518. package/src/components/style/MenuWrapper.vue +10 -11
  519. package/src/components/style/MenuWrapper.vue.d.ts +5 -5
  520. package/src/components/style/VcsFeatureStyleComponent.vue +1 -1
  521. package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +7 -7
  522. package/src/components/style/VcsFillMenu.vue +5 -6
  523. package/src/components/style/VcsFillMenu.vue.d.ts +5 -5
  524. package/src/components/style/VcsFillSelector.vue +6 -7
  525. package/src/components/style/VcsFillSelector.vue.d.ts +5 -5
  526. package/src/components/style/VcsImageMenu.vue +13 -9
  527. package/src/components/style/VcsImageMenu.vue.d.ts +5 -5
  528. package/src/components/style/VcsImageSelector.vue +36 -32
  529. package/src/components/style/VcsImageSelector.vue.d.ts +11 -11
  530. package/src/components/style/VcsStrokeMenu.vue +6 -7
  531. package/src/components/style/VcsStrokeMenu.vue.d.ts +5 -5
  532. package/src/components/style/VcsStrokeSelector.vue +19 -13
  533. package/src/components/style/VcsStrokeSelector.vue.d.ts +5 -5
  534. package/src/components/style/VcsTextMenu.vue +9 -8
  535. package/src/components/style/VcsTextMenu.vue.d.ts +5 -5
  536. package/src/components/style/VcsTextSelector.vue +14 -11
  537. package/src/components/style/VcsTextSelector.vue.d.ts +10 -10
  538. package/src/components/style/VcsVectorStyleComponent.vue +4 -4
  539. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +8 -8
  540. package/src/components/style/composables.js +4 -1
  541. package/src/components/tables/VcsDataTable.vue +152 -207
  542. package/src/components/tables/VcsDataTable.vue.d.ts +10 -36
  543. package/src/components/tables/VcsTable.vue +13 -18
  544. package/src/components/tables/VcsTable.vue.d.ts +4 -4
  545. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +15 -7
  546. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +7 -7
  547. package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -1
  548. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -2
  549. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +476 -580
  550. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +199 -28
  551. package/src/components/viewpoint/VcsViewpointComponent.vue +56 -104
  552. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +14 -22
  553. package/src/components/viewpoint/VcsViewpointEditor.vue +2 -5
  554. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +3 -3
  555. package/src/contentTree/LayerTree.vue +31 -10
  556. package/src/contentTree/LayerTree.vue.d.ts +3 -3
  557. package/src/contentTree/contentTreeCollection.d.ts +2 -2
  558. package/src/contentTree/contentTreeCollection.js +6 -8
  559. package/src/contentTree/contentTreeItem.d.ts +11 -11
  560. package/src/contentTree/contentTreeItem.js +8 -7
  561. package/src/contentTree/flightContentTreeItem.js +5 -4
  562. package/src/contentTree/viewpointContentTreeItem.d.ts +1 -1
  563. package/src/featureInfo/AddressBalloonComponent.vue +24 -26
  564. package/src/featureInfo/AddressBalloonComponent.vue.d.ts +1 -1
  565. package/src/featureInfo/BalloonComponent.vue +21 -29
  566. package/src/featureInfo/BalloonComponent.vue.d.ts +2 -2
  567. package/src/featureInfo/IframeComponent.vue.d.ts +2 -2
  568. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  569. package/src/featureInfo/MarkdownComponent.vue +16 -0
  570. package/src/featureInfo/MarkdownComponent.vue.d.ts +7 -0
  571. package/src/featureInfo/abstractFeatureInfoView.d.ts +5 -5
  572. package/src/featureInfo/abstractFeatureInfoView.js +2 -2
  573. package/src/featureInfo/balloonFeatureInfoView.d.ts +2 -2
  574. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  575. package/src/featureInfo/featureInfo.js +2 -2
  576. package/src/featureInfo/markdownFeatureInfoView.js +1 -15
  577. package/src/i18n/de.d.ts +105 -0
  578. package/src/i18n/de.js +14 -5
  579. package/src/i18n/en.d.ts +105 -0
  580. package/src/i18n/en.js +14 -5
  581. package/src/init.js +10 -12
  582. package/src/legend/StyleLegendItem.vue +32 -28
  583. package/src/legend/StyleLegendItem.vue.d.ts +3 -2
  584. package/src/legend/VcsLegend.vue +19 -20
  585. package/src/legend/VcsLegend.vue.d.ts +8 -6
  586. package/src/legend/legendHelper.d.ts +2 -2
  587. package/src/legend/legendHelper.js +9 -8
  588. package/src/manager/buttonManager.d.ts +2 -2
  589. package/src/manager/buttonManager.js +6 -4
  590. package/src/manager/collectionManager/CollectionComponent.vue +30 -26
  591. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +14 -2
  592. package/src/manager/collectionManager/CollectionComponentContent.vue +9 -11
  593. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +1 -1
  594. package/src/manager/collectionManager/CollectionComponentList.vue +3 -3
  595. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +2 -2
  596. package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
  597. package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +2 -2
  598. package/src/manager/collectionManager/CollectionComponentStandalone.vue +1 -1
  599. package/src/manager/collectionManager/CollectionComponentStandalone.vue.d.ts +1 -1
  600. package/src/manager/collectionManager/CollectionManager.vue +11 -9
  601. package/src/manager/collectionManager/CollectionManager.vue.d.ts +1 -1
  602. package/src/manager/collectionManager/categoryManager.d.ts +2 -2
  603. package/src/manager/collectionManager/collectionComponentClass.d.ts +6 -6
  604. package/src/manager/collectionManager/collectionComponentClass.js +4 -8
  605. package/src/manager/collectionManager/collectionManager.d.ts +5 -4
  606. package/src/manager/collectionManager/collectionManager.js +4 -2
  607. package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +1 -1
  608. package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +2 -2
  609. package/src/manager/panel/PanelComponent.vue.d.ts +2 -2
  610. package/src/manager/panel/PanelManagerComponent.vue +7 -5
  611. package/src/manager/panel/PanelManagerComponent.vue.d.ts +4 -4
  612. package/src/manager/panel/panelManager.d.ts +6 -6
  613. package/src/manager/panel/panelManager.js +4 -4
  614. package/src/manager/toolbox/GroupToolboxComponent.vue +10 -34
  615. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +3 -4
  616. package/src/manager/toolbox/SelectToolboxComponent.vue +12 -58
  617. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +2 -3
  618. package/src/manager/toolbox/ToolboxManager.vue +12 -38
  619. package/src/manager/toolbox/ToolboxManager.vue.d.ts +3 -2
  620. package/src/manager/toolbox/toolboxManager.d.ts +3 -3
  621. package/src/manager/toolbox/toolboxManager.js +2 -3
  622. package/src/manager/window/WindowComponent.vue +3 -2
  623. package/src/manager/window/WindowComponent.vue.d.ts +2 -2
  624. package/src/manager/window/WindowComponentHeader.vue +8 -4
  625. package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -3
  626. package/src/manager/window/WindowManager.vue +4 -9
  627. package/src/manager/window/WindowManager.vue.d.ts +2 -2
  628. package/src/manager/window/windowManager.d.ts +52 -46
  629. package/src/manager/window/windowManager.js +33 -10
  630. package/src/navigation/MapNavCompass.vue.d.ts +3 -3
  631. package/src/navigation/MapNavigation.vue +17 -10
  632. package/src/navigation/MapNavigation.vue.d.ts +6 -3
  633. package/src/navigation/ObliqueRotation.vue +15 -17
  634. package/src/navigation/ObliqueRotation.vue.d.ts +5 -5
  635. package/src/navigation/OrientationToolsButton.vue +39 -21
  636. package/src/navigation/OrientationToolsButton.vue.d.ts +6 -2
  637. package/src/navigation/TiltSlider.vue +87 -95
  638. package/src/navigation/TiltSlider.vue.d.ts +13 -10
  639. package/src/navigation/VcsCompass.vue +24 -11
  640. package/src/navigation/VcsCompass.vue.d.ts +8 -6
  641. package/src/navigation/VcsZoomButton.vue +12 -14
  642. package/src/navigation/VcsZoomButton.vue.d.ts +2 -2
  643. package/src/navigation/locatorHelper.js +1 -1
  644. package/src/navigation/overviewMap.d.ts +1 -1
  645. package/src/navigation/overviewMap.js +3 -3
  646. package/src/notifier/NotifierComponent.vue +18 -21
  647. package/src/notifier/NotifierComponent.vue.d.ts +1 -1
  648. package/src/notifier/notifier.d.ts +2 -1
  649. package/src/notifier/notifier.js +6 -2
  650. package/src/search/ResultItem.vue +14 -13
  651. package/src/search/ResultItem.vue.d.ts +2 -2
  652. package/src/search/ResultsComponent.vue +13 -24
  653. package/src/search/ResultsComponent.vue.d.ts +2 -2
  654. package/src/search/SearchComponent.vue +16 -15
  655. package/src/search/SearchComponent.vue.d.ts +2 -2
  656. package/src/search/search.d.ts +2 -2
  657. package/src/search/search.js +6 -10
  658. package/src/setup.js +2 -2
  659. package/src/styles/_typography.scss +12 -7
  660. package/src/styles/main.scss +6 -3
  661. package/src/styles/settings.scss +6 -0
  662. package/src/styles/variables.scss +10 -8
  663. package/src/styles/vcsGrid.scss +0 -10
  664. package/src/styles/vcsList.scss +8 -0
  665. package/src/vcsUiApp.d.ts +127 -26
  666. package/src/vcsUiApp.js +63 -27
  667. package/src/vuePlugins/i18n.d.ts +8 -2
  668. package/src/vuePlugins/i18n.js +39 -11
  669. package/src/vuePlugins/vuetify.d.ts +79 -9
  670. package/src/vuePlugins/vuetify.js +177 -68
  671. package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
  672. package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
  673. package/dist/assets/index-7043a93a.js +0 -1
  674. package/dist/assets/ui.ce88d9.css +0 -5
  675. package/dist/assets/ui.ce88d9.js +0 -23835
  676. package/dist/assets/vue.808297.js +0 -4920
  677. package/dist/assets/vuetify.01ade4.css +0 -5
  678. package/dist/assets/vuetify.01ade4.js +0 -21263
  679. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +0 -71
  680. package/src/components/form-inputs-controls/VcsRadioGrid.vue +0 -160
  681. package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +0 -35
  682. package/src/components/form-inputs-controls/composables.d.ts +0 -7
  683. package/src/components/form-inputs-controls/composables.js +0 -31
  684. package/src/components/import/FileDrop.vue.d.ts +0 -26
  685. package/src/components/vector-properties/composables.d.ts +0 -33
  686. package/src/components/vector-properties/composables.js +0 -100
  687. package/src/styles/utils/_all.scss +0 -12
  688. package/src/styles/utils/_border.scss +0 -7
  689. package/src/styles/utils/_cursor.scss +0 -19
  690. package/src/styles/utils/_display.scss +0 -3
  691. package/src/styles/utils/_fade-in.scss +0 -8
  692. package/src/styles/utils/_position.scss +0 -38
  693. package/src/styles/utils/_size.scss +0 -79
  694. package/src/styles/utils/_slide-in.scss +0 -26
  695. package/src/styles/utils/_spacing.scss +0 -11
  696. package/src/styles/utils/_text.scss +0 -30
  697. package/src/styles/utils/_transform.scss +0 -11
  698. package/src/styles/utils/_transition.scss +0 -11
  699. package/src/styles/utils/_z-index.scss +0 -15
@@ -6,137 +6,134 @@
6
6
  :header-actions="headerActions"
7
7
  >
8
8
  <v-container class="px-1 py-0">
9
- <v-row
10
- v-if="visibleProperties.has('altitudeMode') && show3DProperties"
11
- no-gutters
12
- >
13
- <v-col>
14
- <VcsLabel html-for="vp-altitude-mode">{{
15
- $t('components.vectorProperties.altitudeMode')
16
- }}</VcsLabel>
17
- </v-col>
18
- <v-col>
19
- <VcsSelect
20
- id="vp-altitude-mode"
21
- :items="availableAltitudeModes"
22
- v-model="altitudeMode"
23
- dense
24
- />
25
- </v-col>
26
- </v-row>
27
- <v-row
28
- v-if="
29
- visibleProperties.has('heightAboveGround') &&
30
- altitudeMode === 'relativeToGround' &&
31
- show3DProperties
32
- "
33
- no-gutters
34
- >
35
- <v-col>
36
- <VcsLabel html-for="vp-height-above-ground">{{
37
- $t('components.vectorProperties.heightAboveGround')
38
- }}</VcsLabel>
39
- </v-col>
40
- <v-col>
41
- <VcsTextField
42
- id="vp-height-above-ground"
43
- dense
44
- v-model.number="heightAboveGround"
45
- type="number"
46
- unit="m"
47
- :placeholder="'heightAboveGround' in value ? '0' : ''"
48
- />
49
- </v-col>
50
- </v-row>
51
- <v-row
52
- v-if="visibleProperties.has('groundLevel') && show3DProperties"
53
- no-gutters
54
- >
55
- <v-col>
56
- <VcsLabel html-for="vp-ground-level">{{
57
- $t('components.vectorProperties.groundLevel')
58
- }}</VcsLabel>
59
- </v-col>
60
- <v-col>
61
- <VcsTextField
62
- id="vp-ground-level"
63
- dense
64
- v-model.number="groundLevel"
65
- type="number"
66
- unit="m"
67
- :placeholder="'groundLevel' in value ? '0' : ''"
68
- clearable
69
- />
70
- </v-col>
71
- </v-row>
72
- <v-row
73
- v-if="visibleProperties.has('scaleByDistance') && show3DProperties"
74
- no-gutters
75
- >
76
- <v-col>
77
- <VcsCheckbox
78
- label="components.vectorProperties.scaleByDistance"
79
- v-model="hasScaleByDistance"
80
- />
81
- </v-col>
82
- <v-col>
9
+ <template v-if="show3DProperties">
10
+ <v-row v-if="visibleProperties.has('altitudeMode')" no-gutters>
11
+ <v-col>
12
+ <VcsLabel html-for="vp-altitude-mode">{{
13
+ $t('components.vectorProperties.altitudeMode')
14
+ }}</VcsLabel>
15
+ </v-col>
16
+ <v-col>
17
+ <VcsSelect
18
+ id="vp-altitude-mode"
19
+ :items="availableAltitudeModes"
20
+ v-model="localValue.altitudeMode"
21
+ />
22
+ </v-col>
23
+ </v-row>
24
+ <v-row
25
+ v-if="
26
+ visibleProperties.has('heightAboveGround') &&
27
+ localValue.altitudeMode === 'relativeToGround'
28
+ "
29
+ no-gutters
30
+ >
31
+ <v-col>
32
+ <VcsLabel html-for="vp-height-above-ground">{{
33
+ $t('components.vectorProperties.heightAboveGround')
34
+ }}</VcsLabel>
35
+ </v-col>
36
+ <v-col>
37
+ <VcsTextField
38
+ id="vp-height-above-ground"
39
+ v-model.number="localValue.heightAboveGround"
40
+ :hide-spin-buttons="true"
41
+ type="number"
42
+ unit="m"
43
+ placeholder="0"
44
+ />
45
+ </v-col>
46
+ </v-row>
47
+ <v-row v-if="visibleProperties.has('groundLevel')" no-gutters>
48
+ <v-col>
49
+ <VcsLabel html-for="vp-ground-level">{{
50
+ $t('components.vectorProperties.groundLevel')
51
+ }}</VcsLabel>
52
+ </v-col>
53
+ <v-col>
54
+ <VcsTextField
55
+ id="vp-ground-level"
56
+ v-model.number="localValue.groundLevel"
57
+ :hide-spin-buttons="true"
58
+ type="number"
59
+ unit="m"
60
+ placeholder="0"
61
+ clearable
62
+ />
63
+ </v-col>
64
+ </v-row>
65
+ <template v-if="visibleProperties.has('scaleByDistance')">
83
66
  <v-row no-gutters>
84
- <v-col v-for="(nearFar, index) in scaleByDistance" :key="index">
85
- <VcsTextField
86
- dense
87
- v-model.number="nearFar.value"
88
- type="number"
89
- :unit="index % 2 === 0 ? 'm' : ''"
90
- :disabled="!hasScaleByDistance"
91
- :placeholder="
92
- 'scaleByDistance' in value
93
- ? `${scaleByDistanceDefault[index]}`
94
- : ''
95
- "
96
- :rules="[
97
- (v) =>
98
- !hasScaleByDistance ||
99
- !isNaN(v) ||
100
- 'components.validation.required',
101
- ]"
67
+ <v-col cols="6">
68
+ <VcsCheckbox
69
+ label="components.vectorProperties.scaleByDistance"
70
+ v-model="hasScaleByDistance"
102
71
  />
103
72
  </v-col>
104
73
  </v-row>
105
- </v-col>
106
- </v-row>
107
- <v-row
108
- v-if="visibleProperties.has('eyeOffset') && show3DProperties"
109
- no-gutters
110
- >
111
- <v-col>
112
- <VcsCheckbox
113
- label="components.vectorProperties.eyeOffset"
114
- v-model="hasEyeOffset"
115
- />
116
- </v-col>
117
- <v-col v-for="(distance, index) in eyeOffset" :key="index" cols="2">
118
- <VcsTextField
119
- dense
120
- v-model.number="distance.value"
121
- unit="m"
122
- type="number"
123
- :disabled="!hasEyeOffset"
124
- :prefix="dimensionsUpperCase[index]"
125
- :rules="[
126
- (v) =>
127
- !hasEyeOffset || !isNaN(v) || 'components.validation.required',
128
- ]"
129
- :placeholder="
130
- 'eyeOffset' in value ? `${eyeOffsetDefault[index]}` : ''
131
- "
132
- />
133
- </v-col>
134
- </v-row>
74
+ <template v-if="hasScaleByDistance">
75
+ <v-row no-gutters class="pb-2">
76
+ <v-col
77
+ v-for="(_, index) in localValue.scaleByDistance"
78
+ :key="index"
79
+ >
80
+ <VcsTextField
81
+ v-model="localValue.scaleByDistance[index]"
82
+ :hide-spin-buttons="true"
83
+ type="number"
84
+ :unit="index % 2 === 0 ? 'm' : ''"
85
+ :disabled="!localValue.scaleByDistance"
86
+ :placeholder="String(scaleByDistanceDefault[index])"
87
+ :rules="[
88
+ (v) =>
89
+ !hasScaleByDistance ||
90
+ !isNaN(v) ||
91
+ 'components.validation.required',
92
+ ]"
93
+ />
94
+ </v-col>
95
+ </v-row>
96
+ </template>
97
+ </template>
98
+ <template v-if="visibleProperties.has('eyeOffset')">
99
+ <v-row no-gutters>
100
+ <v-col>
101
+ <VcsCheckbox
102
+ label="components.vectorProperties.eyeOffset"
103
+ v-model="hasEyeOffset"
104
+ />
105
+ </v-col>
106
+ </v-row>
107
+ <template v-if="hasEyeOffset">
108
+ <v-row no-gutters class="pb-2">
109
+ <v-col v-for="(_, index) in localValue.eyeOffset" :key="index">
110
+ <VcsTextField
111
+ v-model.number="localValue.eyeOffset[index]"
112
+ unit="m"
113
+ :hide-spin-buttons="true"
114
+ type="number"
115
+ :disabled="!hasEyeOffset"
116
+ :prefix="dimensionsUpperCase[index]"
117
+ :rules="[
118
+ (v) =>
119
+ !hasEyeOffset ||
120
+ !isNaN(v) ||
121
+ 'components.validation.required',
122
+ ]"
123
+ :placeholder="String(eyeOffsetDefault[index])"
124
+ />
125
+ </v-col>
126
+ </v-row>
127
+ </template>
128
+ </template>
129
+ </template>
135
130
  <v-row v-if="visibleProperties.has('allowPicking')" no-gutters>
136
131
  <v-col>
137
132
  <VcsCheckbox
138
133
  label="components.vectorProperties.allowPicking"
139
- v-model="allowPicking"
134
+ v-model="localValue.allowPicking"
135
+ :true-value="true"
136
+ :false-value="false"
140
137
  />
141
138
  </v-col>
142
139
  </v-row>
@@ -145,336 +142,329 @@
145
142
  no-gutters
146
143
  >
147
144
  <v-col>
148
- <VcsLabel html-for="vp-classification-type" :dense="true">
145
+ <VcsLabel html-for="vp-classification-type">
149
146
  {{ $t('components.vectorProperties.classificationType') }}
150
147
  </VcsLabel>
151
148
  </v-col>
152
149
  <v-col>
153
150
  <VcsSelect
154
151
  id="vp-classification-type"
155
- :items="[
156
- { value: 'none', text: 'components.vectorProperties.none' },
157
- { value: 'both', text: 'components.vectorProperties.both' },
158
- {
159
- value: 'cesium3DTile',
160
- text: 'components.vectorProperties.cesium3DTile',
161
- },
162
- { value: 'terrain', text: 'components.vectorProperties.terrain' },
163
- ]"
152
+ :items="availableClassificationTypes"
164
153
  v-model="classificationType"
165
- dense
166
154
  />
167
155
  </v-col>
168
156
  </v-row>
169
157
  </v-container>
170
- <v-divider
171
- v-if="
172
- showDividers &&
173
- show3DProperties &&
174
- [
175
- 'extrudedHeight',
176
- 'skirt',
177
- 'storeysAboveGround',
178
- 'storeysBelowGround',
179
- 'storeyHeightsAboveGround',
180
- 'storeyHeightsBelowGround',
181
- ].some((prop) => visibleProperties.has(prop))
182
- "
183
- />
184
- <v-container class="px-1 py-0" v-if="show3DProperties">
185
- <v-row
158
+ <template v-if="show3DProperties">
159
+ <v-divider
186
160
  v-if="
187
- visibleProperties.has('storeysAboveGround') ||
188
- visibleProperties.has('storeyHeightsAboveGround')
161
+ showDividers &&
162
+ [
163
+ 'extrudedHeight',
164
+ 'skirt',
165
+ 'storeysAboveGround',
166
+ 'storeysBelowGround',
167
+ 'storeyHeightsAboveGround',
168
+ 'storeyHeightsBelowGround',
169
+ ].some((prop) => visibleProperties.has(prop))
189
170
  "
190
- no-gutters
191
- >
192
- <v-col>
193
- <VcsLabel>{{
194
- $t('components.vectorProperties.aboveGround')
195
- }}</VcsLabel>
196
- </v-col>
197
- </v-row>
198
- <v-row v-if="visibleProperties.has('extrudedHeight')" no-gutters>
199
- <v-col>
200
- <VcsLabel
201
- html-for="vp-extruded-height"
202
- :class="{
203
- 'px-4':
204
- visibleProperties.has('storeysAboveGround') ||
205
- visibleProperties.has('storeyHeightsAboveGround'),
206
- }"
207
- >{{ $t('components.vectorProperties.extrudedHeight') }}</VcsLabel
208
- >
209
- </v-col>
210
- <v-col>
211
- <VcsTextField
212
- id="vp-extruded-height"
213
- dense
214
- v-model.number="extrudedHeight"
215
- type="number"
216
- unit="m"
217
- :placeholder="'extrudedHeight' in value ? '0' : ''"
218
- clearable
219
- :rules="[
220
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
221
- ]"
222
- />
223
- </v-col>
224
- </v-row>
225
- <v-row v-if="visibleProperties.has('storeysAboveGround')" no-gutters>
226
- <v-col>
227
- <VcsLabel html-for="vp-storeys-above" class="px-4">{{
228
- $t('components.vectorProperties.storeys')
229
- }}</VcsLabel>
230
- </v-col>
231
- <v-col>
232
- <VcsTextField
233
- id="vp-storeys-above"
234
- dense
235
- v-model.number="storeysAboveGround"
236
- type="number"
237
- :placeholder="'storeysAboveGround' in value ? '0' : ''"
238
- clearable
239
- :rules="[
240
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
241
- ]"
242
- />
243
- </v-col>
244
- </v-row>
245
- <v-row
246
- v-if="visibleProperties.has('storeyHeightsAboveGround')"
247
- no-gutters
248
- >
249
- <v-col>
250
- <VcsLabel :html-for="'vp-storey-heights-above'" class="px-4">{{
251
- $t('components.vectorProperties.storeyHeights')
252
- }}</VcsLabel>
253
- </v-col>
254
- <v-col>
255
- <VcsChipArrayInput
256
- id="vp-storey-heights-above"
257
- dense
258
- column
259
- type="number"
260
- v-model="storeyHeights.storeyHeightsAboveGround.value"
261
- placeholder="3"
262
- :rules="[(v) => !(v <= 0) || 'components.validation.notValid']"
263
- />
264
- </v-col>
265
- </v-row>
266
- <v-row
171
+ />
172
+ <v-container class="px-1 py-0">
173
+ <v-row
174
+ v-if="
175
+ visibleProperties.has('storeysAboveGround') ||
176
+ visibleProperties.has('storeyHeightsAboveGround')
177
+ "
178
+ no-gutters
179
+ >
180
+ <v-col>
181
+ <VcsLabel>{{
182
+ $t('components.vectorProperties.aboveGround')
183
+ }}</VcsLabel>
184
+ </v-col>
185
+ </v-row>
186
+ <v-row v-if="visibleProperties.has('extrudedHeight')" no-gutters>
187
+ <v-col>
188
+ <VcsLabel
189
+ html-for="vp-extruded-height"
190
+ :class="{
191
+ 'px-4':
192
+ visibleProperties.has('storeysAboveGround') ||
193
+ visibleProperties.has('storeyHeightsAboveGround'),
194
+ }"
195
+ >{{ $t('components.vectorProperties.extrudedHeight') }}</VcsLabel
196
+ >
197
+ </v-col>
198
+ <v-col>
199
+ <VcsTextField
200
+ id="vp-extruded-height"
201
+ v-model.number="localValue.extrudedHeight"
202
+ :hide-spin-buttons="true"
203
+ type="number"
204
+ unit="m"
205
+ :placeholder="'extrudedHeight' in localValue ? '0' : ''"
206
+ clearable
207
+ :rules="[
208
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
209
+ ]"
210
+ />
211
+ </v-col>
212
+ </v-row>
213
+ <v-row v-if="visibleProperties.has('storeysAboveGround')" no-gutters>
214
+ <v-col>
215
+ <VcsLabel html-for="vp-storeys-above" class="px-4">{{
216
+ $t('components.vectorProperties.storeys')
217
+ }}</VcsLabel>
218
+ </v-col>
219
+ <v-col>
220
+ <VcsTextField
221
+ id="vp-storeys-above"
222
+ v-model.number="localValue.storeysAboveGround"
223
+ :hide-spin-buttons="true"
224
+ type="number"
225
+ :placeholder="'storeysAboveGround' in localValue ? '0' : ''"
226
+ clearable
227
+ :rules="[
228
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
229
+ ]"
230
+ />
231
+ </v-col>
232
+ </v-row>
233
+ <v-row
234
+ v-if="visibleProperties.has('storeyHeightsAboveGround')"
235
+ no-gutters
236
+ >
237
+ <v-col>
238
+ <VcsLabel :html-for="'vp-storey-heights-above'" class="px-4">{{
239
+ $t('components.vectorProperties.storeyHeights')
240
+ }}</VcsLabel>
241
+ </v-col>
242
+ <v-col>
243
+ <VcsChipArrayInput
244
+ id="vp-storey-heights-above"
245
+ column
246
+ type="number"
247
+ v-model="storeyHeights.storeyHeightsAboveGround.value"
248
+ placeholder="3"
249
+ :rules="[(v) => !(v <= 0) || 'components.validation.notValid']"
250
+ />
251
+ </v-col>
252
+ </v-row>
253
+ <v-row
254
+ v-if="
255
+ visibleProperties.has('storeysBelowGround') ||
256
+ visibleProperties.has('storeyHeightsBelowGround')
257
+ "
258
+ no-gutters
259
+ >
260
+ <v-col>
261
+ <VcsLabel>{{
262
+ $t('components.vectorProperties.belowGround')
263
+ }}</VcsLabel>
264
+ </v-col>
265
+ </v-row>
266
+ <v-row v-if="visibleProperties.has('skirt')" no-gutters>
267
+ <v-col>
268
+ <VcsLabel
269
+ html-for="vp-skirt"
270
+ :class="{
271
+ 'px-4':
272
+ visibleProperties.has('storeysBelowGround') ||
273
+ visibleProperties.has('storeyHeightsBelowGround'),
274
+ }"
275
+ >{{ $t('components.vectorProperties.skirt') }}</VcsLabel
276
+ >
277
+ </v-col>
278
+ <v-col>
279
+ <VcsTextField
280
+ id="vp-skirt"
281
+ v-model.number="localValue.skirt"
282
+ :hide-spin-buttons="true"
283
+ type="number"
284
+ unit="m"
285
+ :placeholder="'skirt' in localValue ? '0' : ''"
286
+ clearable
287
+ :rules="[
288
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
289
+ ]"
290
+ />
291
+ </v-col>
292
+ </v-row>
293
+ <v-row v-if="visibleProperties.has('storeysBelowGround')" no-gutters>
294
+ <v-col>
295
+ <VcsLabel html-for="vp-storeys-below" class="px-4">{{
296
+ $t('components.vectorProperties.storeys')
297
+ }}</VcsLabel>
298
+ </v-col>
299
+ <v-col>
300
+ <VcsTextField
301
+ id="vp-storeys-below"
302
+ v-model.number="localValue.storeysBelowGround"
303
+ :hide-spin-buttons="true"
304
+ type="number"
305
+ :placeholder="'storeysBelowGround' in localValue ? '0' : ''"
306
+ clearable
307
+ :rules="[
308
+ (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
309
+ ]"
310
+ />
311
+ </v-col>
312
+ </v-row>
313
+ <v-row
314
+ v-if="visibleProperties.has('storeyHeightsBelowGround')"
315
+ no-gutters
316
+ >
317
+ <v-col>
318
+ <VcsLabel :html-for="'vp-storey-heights-below'" class="px-4">{{
319
+ $t('components.vectorProperties.storeyHeights')
320
+ }}</VcsLabel>
321
+ </v-col>
322
+ <v-col>
323
+ <VcsChipArrayInput
324
+ :id="'vp-storey-heights-below'"
325
+ column
326
+ type="number"
327
+ v-model="storeyHeights.storeyHeightsBelowGround.value"
328
+ placeholder="3"
329
+ />
330
+ </v-col>
331
+ </v-row>
332
+ </v-container>
333
+ <v-divider
267
334
  v-if="
268
- visibleProperties.has('storeysBelowGround') ||
269
- visibleProperties.has('storeyHeightsBelowGround')
335
+ showDividers &&
336
+ [
337
+ 'modelUrl',
338
+ 'modelScaleX',
339
+ 'modelScaleY',
340
+ 'modelScaleZ',
341
+ 'modelHeading',
342
+ 'modelPitch',
343
+ 'modelRoll',
344
+ 'baseUrl',
345
+ ].some((prop) => visibleProperties.has(prop))
270
346
  "
271
- no-gutters
272
- >
273
- <v-col>
274
- <VcsLabel>{{
275
- $t('components.vectorProperties.belowGround')
276
- }}</VcsLabel>
277
- </v-col>
278
- </v-row>
279
- <v-row v-if="visibleProperties.has('skirt')" no-gutters>
280
- <v-col>
281
- <VcsLabel
282
- html-for="vp-skirt"
283
- :class="{
284
- 'px-4':
285
- visibleProperties.has('storeysBelowGround') ||
286
- visibleProperties.has('storeyHeightsBelowGround'),
287
- }"
288
- >{{ $t('components.vectorProperties.skirt') }}</VcsLabel
289
- >
290
- </v-col>
291
- <v-col>
292
- <VcsTextField
293
- id="vp-skirt"
294
- dense
295
- v-model.number="skirt"
296
- type="number"
297
- unit="m"
298
- :placeholder="'skirt' in value ? '0' : ''"
299
- clearable
300
- :rules="[
301
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
302
- ]"
303
- />
304
- </v-col>
305
- </v-row>
306
- <v-row v-if="visibleProperties.has('storeysBelowGround')" no-gutters>
307
- <v-col>
308
- <VcsLabel html-for="vp-storeys-below" class="px-4">{{
309
- $t('components.vectorProperties.storeys')
310
- }}</VcsLabel>
311
- </v-col>
312
- <v-col>
313
- <VcsTextField
314
- id="vp-storeys-below"
315
- dense
316
- v-model.number="storeysBelowGround"
317
- type="number"
318
- :placeholder="'storeysBelowGround' in value ? '0' : ''"
319
- clearable
320
- :rules="[
321
- (v) => v >= 0 || isNaN(v) || 'components.validation.notValid',
322
- ]"
323
- />
324
- </v-col>
325
- </v-row>
326
- <v-row
327
- v-if="visibleProperties.has('storeyHeightsBelowGround')"
328
- no-gutters
329
- >
330
- <v-col>
331
- <VcsLabel :html-for="'vp-storey-heights-below'" class="px-4">{{
332
- $t('components.vectorProperties.storeyHeights')
333
- }}</VcsLabel>
334
- </v-col>
335
- <v-col>
336
- <VcsChipArrayInput
337
- :id="'vp-storey-heights-below'"
338
- dense
339
- column
340
- type="number"
341
- v-model="storeyHeights.storeyHeightsBelowGround.value"
342
- placeholder="3"
343
- />
344
- </v-col>
345
- </v-row>
346
- </v-container>
347
- <v-divider
348
- v-if="
349
- showDividers &&
350
- show3DProperties &&
351
- [
352
- 'modelUrl',
353
- 'modelScaleX',
354
- 'modelScaleY',
355
- 'modelScaleZ',
356
- 'modelHeading',
357
- 'modelPitch',
358
- 'modelRoll',
359
- 'baseUrl',
360
- ].some((prop) => visibleProperties.has(prop))
361
- "
362
- />
363
- <v-container class="px-1 py-0" v-if="show3DProperties">
364
- <v-row v-if="visibleProperties.has('modelUrl')" no-gutters>
365
- <v-col>
366
- <VcsLabel html-for="vp-model-url">
367
- {{ $t('components.vectorProperties.modelUrl') }}
368
- </VcsLabel>
369
- </v-col>
370
- <v-col>
371
- <VcsTextField
372
- id="vp-model-url"
373
- dense
374
- v-model="modelUrl"
375
- clearable
376
- :placeholder="'modelUrl' in value ? 'example.glb' : ''"
377
- />
378
- </v-col>
379
- </v-row>
380
- <v-row v-if="Object.keys(modelScale).length" no-gutters>
381
- <v-col cols="6">
382
- <VcsLabel>{{
383
- $t('components.vectorProperties.modelScale')
384
- }}</VcsLabel>
385
- </v-col>
386
- <v-col v-for="(dimension, key) in modelScale" :key="key">
387
- <VcsTextField
388
- dense
389
- v-model.number="dimension.value"
390
- type="number"
391
- :placeholder="`modelScale${key}` in value ? '1' : ''"
392
- :prefix="key"
393
- :rules="[(v) => v > 0 || 'components.validation.notValid']"
394
- />
395
- </v-col>
396
- </v-row>
397
- <v-row v-if="visibleProperties.has('modelHeading')" no-gutters>
398
- <v-col cols="6">
399
- <VcsLabel>{{
400
- $t('components.vectorProperties.modelHeading')
401
- }}</VcsLabel>
402
- </v-col>
403
- <v-col>
404
- <VcsTextField
405
- dense
406
- v-model.number="modelHeading"
407
- type="number"
408
- :placeholder="'modelHeading' in value ? '0' : ''"
409
- unit="°"
410
- clearable
411
- />
412
- </v-col>
413
- </v-row>
414
- <v-row v-if="visibleProperties.has('modelPitch')" no-gutters>
415
- <v-col cols="6">
416
- <VcsLabel>{{
417
- $t('components.vectorProperties.modelPitch')
418
- }}</VcsLabel>
419
- </v-col>
420
- <v-col>
421
- <VcsTextField
422
- dense
423
- v-model.number="modelPitch"
424
- type="number"
425
- :placeholder="'modelPitch' in value ? '0' : ''"
426
- unit="°"
427
- clearable
428
- />
429
- </v-col>
430
- </v-row>
431
- <v-row v-if="visibleProperties.has('modelRoll')" no-gutters>
432
- <v-col cols="6">
433
- <VcsLabel>{{ $t('components.vectorProperties.modelRoll') }}</VcsLabel>
434
- </v-col>
435
- <v-col>
436
- <VcsTextField
437
- dense
438
- v-model.number="modelRoll"
439
- type="number"
440
- :placeholder="'modelRoll' in value ? '0' : ''"
441
- unit="°"
442
- clearable
443
- />
444
- </v-col>
445
- </v-row>
446
- <v-row v-if="visibleProperties.has('baseUrl')" no-gutters>
447
- <v-col>
448
- <VcsLabel html-for="vp-base-url">{{
449
- $t('components.vectorProperties.baseUrl')
450
- }}</VcsLabel>
451
- </v-col>
452
- <v-col>
453
- <VcsTextField
454
- id="vp-base-url"
455
- dense
456
- clearable
457
- v-model="baseUrl"
458
- :placeholder="'baseUrl' in value ? 'path/to/files/' : ''"
459
- />
460
- </v-col>
461
- </v-row>
462
- </v-container>
347
+ />
348
+ <v-container class="px-1 py-0">
349
+ <v-row v-if="visibleProperties.has('modelUrl')" no-gutters>
350
+ <v-col>
351
+ <VcsLabel html-for="vp-model-url">
352
+ {{ $t('components.vectorProperties.modelUrl') }}
353
+ </VcsLabel>
354
+ </v-col>
355
+ <v-col>
356
+ <VcsTextField
357
+ id="vp-model-url"
358
+ v-model="localValue.modelUrl"
359
+ clearable
360
+ :placeholder="'modelUrl' in localValue ? 'example.glb' : ''"
361
+ />
362
+ </v-col>
363
+ </v-row>
364
+ <template v-if="Object.keys(modelScale).length">
365
+ <v-row no-gutters>
366
+ <v-col cols="6">
367
+ <VcsLabel>{{
368
+ $t('components.vectorProperties.modelScale')
369
+ }}</VcsLabel>
370
+ </v-col>
371
+ </v-row>
372
+ <v-row no-gutters class="pb-2">
373
+ <v-col v-for="(dimension, key) in modelScale" :key="key">
374
+ <VcsTextField
375
+ v-model.number="dimension.value"
376
+ :hide-spin-buttons="true"
377
+ type="number"
378
+ :placeholder="`modelScale${key}` in localValue ? '1' : ''"
379
+ :prefix="key"
380
+ :rules="[(v) => v > 0 || 'components.validation.notValid']"
381
+ />
382
+ </v-col>
383
+ </v-row>
384
+ </template>
385
+ <v-row v-if="visibleProperties.has('modelHeading')" no-gutters>
386
+ <v-col cols="6">
387
+ <VcsLabel>{{
388
+ $t('components.vectorProperties.modelHeading')
389
+ }}</VcsLabel>
390
+ </v-col>
391
+ <v-col>
392
+ <VcsTextField
393
+ v-model.number="localValue.modelHeading"
394
+ :hide-spin-buttons="true"
395
+ type="number"
396
+ :placeholder="'modelHeading' in localValue ? '0' : ''"
397
+ unit="°"
398
+ clearable
399
+ />
400
+ </v-col>
401
+ </v-row>
402
+ <v-row v-if="visibleProperties.has('modelPitch')" no-gutters>
403
+ <v-col cols="6">
404
+ <VcsLabel>{{
405
+ $t('components.vectorProperties.modelPitch')
406
+ }}</VcsLabel>
407
+ </v-col>
408
+ <v-col>
409
+ <VcsTextField
410
+ v-model.number="localValue.modelPitch"
411
+ :hide-spin-buttons="true"
412
+ type="number"
413
+ :placeholder="'modelPitch' in localValue ? '0' : ''"
414
+ unit="°"
415
+ clearable
416
+ />
417
+ </v-col>
418
+ </v-row>
419
+ <v-row v-if="visibleProperties.has('modelRoll')" no-gutters>
420
+ <v-col cols="6">
421
+ <VcsLabel>{{
422
+ $t('components.vectorProperties.modelRoll')
423
+ }}</VcsLabel>
424
+ </v-col>
425
+ <v-col>
426
+ <VcsTextField
427
+ v-model.number="localValue.modelRoll"
428
+ :hide-spin-buttons="true"
429
+ type="number"
430
+ :placeholder="'modelRoll' in localValue ? '0' : ''"
431
+ unit="°"
432
+ clearable
433
+ />
434
+ </v-col>
435
+ </v-row>
436
+ <v-row v-if="visibleProperties.has('baseUrl')" no-gutters>
437
+ <v-col>
438
+ <VcsLabel html-for="vp-base-url">{{
439
+ $t('components.vectorProperties.baseUrl')
440
+ }}</VcsLabel>
441
+ </v-col>
442
+ <v-col>
443
+ <VcsTextField
444
+ id="vp-base-url"
445
+ clearable
446
+ v-model="localValue.baseUrl"
447
+ :placeholder="'baseUrl' in localValue ? 'path/to/files/' : ''"
448
+ />
449
+ </v-col>
450
+ </v-row>
451
+ </v-container>
452
+ </template>
463
453
  </VcsFormSection>
464
454
  </template>
465
455
  <script>
466
456
  import { computed } from 'vue';
467
- import { VContainer, VRow, VCol, VDivider } from 'vuetify/lib';
457
+ import { VContainer, VRow, VCol, VDivider } from 'vuetify/components';
458
+ import { VectorProperties } from '@vcmap/core';
459
+ import {
460
+ useProxiedComplexModel,
461
+ useModelHasProperty,
462
+ } from '../modelHelper.js';
468
463
  import VcsFormSection from '../form-inputs-controls/VcsFormSection.vue';
469
464
  import VcsLabel from '../form-inputs-controls/VcsLabel.vue';
470
465
  import VcsTextField from '../form-inputs-controls/VcsTextField.vue';
471
466
  import VcsSelect from '../form-inputs-controls/VcsSelect.vue';
472
467
  import VcsCheckbox from '../form-inputs-controls/VcsCheckbox.vue';
473
- import {
474
- usePrimitiveProperty,
475
- useArrayProperty,
476
- useHasProperty,
477
- } from './composables.js';
478
468
  import VcsChipArrayInput from '../form-inputs-controls/VcsChipArrayInput.vue';
479
469
 
480
470
  export const genericVectorProperties = [
@@ -533,6 +523,7 @@
533
523
  */
534
524
  export default {
535
525
  name: 'VcsVectorPropertiesComponent',
526
+ methods: { computed },
536
527
  components: {
537
528
  VcsFormSection,
538
529
  VcsLabel,
@@ -546,9 +537,9 @@
546
537
  VDivider,
547
538
  },
548
539
  props: {
549
- value: {
540
+ modelValue: {
550
541
  type: Object,
551
- default: () => {},
542
+ default: () => VectorProperties.getDefaultOptions(),
552
543
  },
553
544
  valueDefault: {
554
545
  type: Object,
@@ -579,159 +570,99 @@
579
570
  default: true,
580
571
  },
581
572
  },
573
+ emits: ['update:modelValue'],
582
574
  setup(props, { emit }) {
575
+ /**
576
+ * @type {import("vue").Ref<import("vue").UnwrapRef<import("@vcmap/core").VectorProperties>>}
577
+ */
578
+ const localValue = useProxiedComplexModel(props, 'modelValue', emit);
579
+
583
580
  const visibleProperties = computed(() => {
584
581
  return new Set(props.properties);
585
582
  });
586
583
 
587
- const altitudeMode = usePrimitiveProperty(
588
- () => props.value,
589
- 'altitudeMode',
590
- emit,
591
- );
592
-
593
584
  const availableAltitudeModes = computed(() => {
594
585
  const altitudeModes = [
595
586
  {
596
587
  value: 'clampToGround',
597
- text: 'components.vectorProperties.clampToGround',
588
+ title: 'components.vectorProperties.clampToGround',
598
589
  },
599
590
  {
600
591
  value: 'absolute',
601
- text: 'components.vectorProperties.absolute',
592
+ title: 'components.vectorProperties.absolute',
602
593
  },
603
594
  ];
604
595
 
605
596
  if (visibleProperties.value.has('heightAboveGround')) {
606
597
  altitudeModes.push({
607
598
  value: 'relativeToGround',
608
- text: 'components.vectorProperties.relativeToGround',
599
+ title: 'components.vectorProperties.relativeToGround',
609
600
  });
610
601
  }
611
602
 
612
603
  return altitudeModes;
613
604
  });
614
605
 
615
- const heightAboveGround = usePrimitiveProperty(
616
- () => props.value,
617
- 'heightAboveGround',
618
- emit,
619
- );
620
- const allowPicking = computed({
621
- get() {
622
- return props.value.allowPicking;
606
+ const availableClassificationTypes = [
607
+ { value: 'none', title: 'components.vectorProperties.none' },
608
+ { value: 'both', title: 'components.vectorProperties.both' },
609
+ {
610
+ value: 'cesium3DTile',
611
+ title: 'components.vectorProperties.cesium3DTile',
623
612
  },
624
- set(value) {
625
- if (props.value.allowPicking !== value) {
626
- const newParams = structuredClone(props.value);
627
- const changedParams = { allowPicking: value || false };
628
- emit('input', Object.assign(newParams, changedParams));
629
- emit('propertyChange', changedParams);
630
- }
631
- },
632
- });
613
+ { value: 'terrain', title: 'components.vectorProperties.terrain' },
614
+ ];
615
+
633
616
  const classificationType = computed({
634
617
  get() {
635
- if ('classificationType' in props.value) {
636
- return props.value.classificationType || 'none';
618
+ if ('classificationType' in localValue.value) {
619
+ return localValue.value.classificationType || 'none';
637
620
  } else {
638
621
  return undefined;
639
622
  }
640
623
  },
641
624
  set(value) {
642
- if (props.value.classificationType !== value) {
643
- const newParams = structuredClone(props.value);
644
- const changedParams = {
645
- classificationType: value === 'none' ? undefined : value,
646
- };
647
- emit('input', Object.assign(newParams, changedParams));
648
- emit('propertyChange', changedParams);
625
+ const v = value === 'none' ? undefined : value;
626
+ if (localValue.value.classificationType !== v) {
627
+ localValue.value.classificationType = v;
649
628
  }
650
629
  },
651
630
  });
652
- const scaleByDistance = useArrayProperty(
653
- () => props.value,
654
- 'scaleByDistance',
655
- emit,
656
- 4,
657
- );
658
- const hasScaleByDistance = useHasProperty(
659
- () => props.value,
631
+
632
+ const hasScaleByDistance = useModelHasProperty(
633
+ localValue,
660
634
  'scaleByDistance',
661
- emit,
662
635
  scaleByDistanceDefault,
663
636
  );
664
637
 
665
- const eyeOffset = useArrayProperty(
666
- () => props.value,
667
- 'eyeOffset',
668
- emit,
669
- 3,
670
- );
671
- const hasEyeOffset = useHasProperty(
672
- () => props.value,
638
+ const hasEyeOffset = useModelHasProperty(
639
+ localValue,
673
640
  'eyeOffset',
674
- emit,
675
641
  eyeOffsetDefault,
676
642
  );
677
643
 
678
- const groundLevel = usePrimitiveProperty(
679
- () => props.value,
680
- 'groundLevel',
681
- emit,
682
- );
683
- const extrudedHeight = usePrimitiveProperty(
684
- () => props.value,
685
- 'extrudedHeight',
686
- emit,
687
- );
688
- const skirt = usePrimitiveProperty(() => props.value, 'skirt', emit);
689
- const storeysAboveGround = usePrimitiveProperty(
690
- () => props.value,
691
- 'storeysAboveGround',
692
- emit,
693
- );
694
- const storeysBelowGround = usePrimitiveProperty(
695
- () => props.value,
696
- 'storeysBelowGround',
697
- emit,
698
- );
699
-
700
644
  const storeyHeights = computed(() => {
701
645
  return ['storeyHeightsAboveGround', 'storeyHeightsBelowGround']
702
646
  .filter((key) => visibleProperties.value.has(key))
703
647
  .reduce((acc, key) => {
704
- return {
705
- ...acc,
706
- [key]: computed({
707
- get() {
708
- if (Array.isArray(props.value?.[key])) {
709
- return props.value?.[key];
710
- } else if (props.value?.[key] > 0) {
711
- return [props.value?.[key]];
712
- } else {
713
- return [];
714
- }
715
- },
716
- set(value) {
717
- const newParams = structuredClone(props.value);
718
- const changedParams = {
719
- [key]: value,
720
- };
721
- emit('input', Object.assign(newParams, changedParams));
722
- emit('propertyChange', changedParams);
723
- },
724
- }),
725
- };
648
+ acc[key] = computed({
649
+ get() {
650
+ if (Array.isArray(localValue.value[key])) {
651
+ return localValue.value[key];
652
+ } else if (localValue.value[key] > 0) {
653
+ return [localValue.value[key]];
654
+ } else {
655
+ return [];
656
+ }
657
+ },
658
+ set(value) {
659
+ localValue.value[key] = value;
660
+ },
661
+ });
662
+ return acc;
726
663
  }, {});
727
664
  });
728
665
 
729
- const modelUrl = usePrimitiveProperty(
730
- () => props.value,
731
- 'modelUrl',
732
- emit,
733
- );
734
-
735
666
  const modelScale = computed(() => {
736
667
  return dimensionsUpperCase
737
668
  .filter((dimension) =>
@@ -740,39 +671,18 @@
740
671
  .reduce((acc, dimension) => {
741
672
  return {
742
673
  ...acc,
743
- [dimension]: usePrimitiveProperty(
744
- () => props.value,
745
- `modelScale${dimension}`,
746
- emit,
747
- ),
674
+ [dimension]: computed({
675
+ get() {
676
+ return localValue.value[`modelScale${dimension}`];
677
+ },
678
+ set(value) {
679
+ localValue.value[`modelScale${dimension}`] = value;
680
+ },
681
+ }),
748
682
  };
749
683
  }, {});
750
684
  });
751
685
 
752
- const modelHeading = usePrimitiveProperty(
753
- () => props.value,
754
- 'modelHeading',
755
- emit,
756
- );
757
- const modelPitch = usePrimitiveProperty(
758
- () => props.value,
759
- 'modelPitch',
760
- emit,
761
- );
762
- const modelRoll = usePrimitiveProperty(
763
- () => props.value,
764
- 'modelRoll',
765
- emit,
766
- );
767
- const baseUrl = usePrimitiveProperty(() => props.value, 'baseUrl', emit);
768
-
769
- function reset() {
770
- const newParams = structuredClone(props.valueDefault);
771
-
772
- emit('input', newParams);
773
- emit('propertyChange', newParams);
774
- }
775
-
776
686
  const headerActions = computed(() =>
777
687
  props.showReset
778
688
  ? [
@@ -781,7 +691,7 @@
781
691
  title: 'components.style.reset',
782
692
  icon: '$vcsReturn',
783
693
  callback: () => {
784
- reset();
694
+ localValue.value = props.valueDefault;
785
695
  },
786
696
  },
787
697
  ]
@@ -789,32 +699,18 @@
789
699
  );
790
700
 
791
701
  return {
702
+ localValue,
792
703
  headerActions,
793
704
  visibleProperties,
794
- altitudeMode,
795
705
  availableAltitudeModes,
796
- heightAboveGround,
797
- allowPicking,
706
+ availableClassificationTypes,
798
707
  classificationType,
799
- scaleByDistance,
800
708
  hasScaleByDistance,
801
709
  scaleByDistanceDefault,
802
- eyeOffset,
803
710
  hasEyeOffset,
804
711
  eyeOffsetDefault,
805
- groundLevel,
806
- extrudedHeight,
807
- skirt,
808
- storeysAboveGround,
809
- storeysBelowGround,
810
712
  storeyHeights,
811
- modelUrl,
812
713
  modelScale,
813
- modelHeading,
814
- modelPitch,
815
- modelRoll,
816
- baseUrl,
817
- reset,
818
714
  dimensionsUpperCase,
819
715
  };
820
716
  },