@vcmap/ui 6.0.0-rc.5 → 6.0.0-rc.7

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 (282) hide show
  1. package/build/buildTypes.js +9 -5
  2. package/config/base.config.json +8 -8
  3. package/config/dev.config.json +4 -0
  4. package/config/projects.config.json +2 -1
  5. package/config/theming.config.json +68 -0
  6. package/config/www.config.json +31 -30
  7. package/dist/assets/cesium/Workers/{chunk-LUYI3XCB.js → chunk-2LOWCAMW.js} +13 -13
  8. package/dist/assets/cesium/Workers/{chunk-V7WJDCPA.js → chunk-2PTKXHJB.js} +10 -10
  9. package/dist/assets/cesium/Workers/{chunk-YFVI4SQI.js → chunk-3HQMMUPU.js} +1 -1
  10. package/dist/assets/cesium/Workers/{chunk-XGI4FRXF.js → chunk-3IFRSGEY.js} +9 -9
  11. package/dist/assets/cesium/Workers/{chunk-4RJH3H6D.js → chunk-44QAAS4P.js} +7 -7
  12. package/dist/assets/cesium/Workers/{chunk-4EW3HFFI.js → chunk-56EDBCGT.js} +10 -10
  13. package/dist/assets/cesium/Workers/{chunk-PRKEY4QK.js → chunk-57H6I3SV.js} +5 -5
  14. package/dist/assets/cesium/Workers/{chunk-X67EJ6X6.js → chunk-6SQMLVGV.js} +54 -7
  15. package/dist/assets/cesium/Workers/{chunk-RRLGJV3Q.js → chunk-7YIOHQWH.js} +13 -13
  16. package/dist/assets/cesium/Workers/{chunk-G6346EDR.js → chunk-7ZZ5LMZY.js} +16 -15
  17. package/dist/assets/cesium/Workers/{chunk-YFYPR4MW.js → chunk-BVKITG4N.js} +7 -7
  18. package/dist/assets/cesium/Workers/{chunk-N5MIFVXJ.js → chunk-C3EQ27WF.js} +6 -6
  19. package/dist/assets/cesium/Workers/{chunk-TLGODPEV.js → chunk-C4WPMOKT.js} +6 -5
  20. package/dist/assets/cesium/Workers/{chunk-DTACCQDR.js → chunk-EDLRS3AW.js} +6 -6
  21. package/dist/assets/cesium/Workers/{chunk-EVU2UNBD.js → chunk-EJVGYGLF.js} +7 -7
  22. package/dist/assets/cesium/Workers/{chunk-FYYT5EVH.js → chunk-FFLMY4TE.js} +5 -5
  23. package/dist/assets/cesium/Workers/{chunk-5OUTANXX.js → chunk-GBT7MJ6X.js} +1 -1
  24. package/dist/assets/cesium/Workers/{chunk-3DRPXHZ4.js → chunk-HJMNR3GC.js} +11 -11
  25. package/dist/assets/cesium/Workers/{chunk-IALQGTA2.js → chunk-HP5XLODI.js} +6 -6
  26. package/dist/assets/cesium/Workers/{chunk-DR7LK6PG.js → chunk-IBRIWOCM.js} +13 -13
  27. package/dist/assets/cesium/Workers/{chunk-WMVCLETM.js → chunk-IZGUQO6Q.js} +13 -13
  28. package/dist/assets/cesium/Workers/{chunk-T6TZXGG5.js → chunk-IZJ42N4W.js} +17 -17
  29. package/dist/assets/cesium/Workers/{chunk-FZDKIUDT.js → chunk-JBSKHTNX.js} +4 -4
  30. package/dist/assets/cesium/Workers/{chunk-S4VTLNAJ.js → chunk-JISPSEF3.js} +4 -4
  31. package/dist/assets/cesium/Workers/{chunk-KNMGSIIN.js → chunk-JSQJDZI4.js} +6 -6
  32. package/dist/assets/cesium/Workers/{chunk-LMTN7R7M.js → chunk-JXVLNVXC.js} +7 -7
  33. package/dist/assets/cesium/Workers/{chunk-A5C2A5O5.js → chunk-KHZNBFOH.js} +7 -7
  34. package/dist/assets/cesium/Workers/{chunk-PIOKSAZH.js → chunk-L5GODJAR.js} +14 -14
  35. package/dist/assets/cesium/Workers/{chunk-Q7PM4W34.js → chunk-LJ2JQHJT.js} +12 -7
  36. package/dist/assets/cesium/Workers/{chunk-D6PDWQXW.js → chunk-LLAF3CPH.js} +2 -2
  37. package/dist/assets/cesium/Workers/{chunk-H7PSTL64.js → chunk-M24KHENR.js} +2 -2
  38. package/dist/assets/cesium/Workers/{chunk-I67V66MN.js → chunk-NDDI2LWR.js} +6 -6
  39. package/dist/assets/cesium/Workers/{chunk-FSXNF76Y.js → chunk-NGZJIN5Z.js} +4 -4
  40. package/dist/assets/cesium/Workers/{chunk-UMX265HW.js → chunk-O72GZTSE.js} +2 -2
  41. package/dist/assets/cesium/Workers/{chunk-WOA6WSHH.js → chunk-OPP2SKMA.js} +12 -12
  42. package/dist/assets/cesium/Workers/{chunk-VD6G7UPU.js → chunk-P6TRGU3S.js} +2 -2
  43. package/dist/assets/cesium/Workers/{chunk-QLC66ZRL.js → chunk-QN6TBED4.js} +11 -11
  44. package/dist/assets/cesium/Workers/{chunk-O7OUBDMZ.js → chunk-QQOZO7KO.js} +7 -7
  45. package/dist/assets/cesium/Workers/{chunk-AGTH5JMJ.js → chunk-RJM36CNY.js} +6 -6
  46. package/dist/assets/cesium/Workers/{chunk-UC566ISB.js → chunk-RTJKHZWU.js} +6 -6
  47. package/dist/assets/cesium/Workers/{chunk-L4XQPD6P.js → chunk-TI3TRKIC.js} +423 -448
  48. package/dist/assets/cesium/Workers/{chunk-3GI7DWF7.js → chunk-TK5IIG2F.js} +4 -4
  49. package/dist/assets/cesium/Workers/{chunk-6DH5PLFD.js → chunk-U5HSOKPQ.js} +1 -1
  50. package/dist/assets/cesium/Workers/{chunk-BPY4HDAK.js → chunk-WGDFYAGC.js} +4 -4
  51. package/dist/assets/cesium/Workers/{chunk-SJC5PRDX.js → chunk-X7IQYYHF.js} +2 -2
  52. package/dist/assets/cesium/Workers/{chunk-4OX4RYLB.js → chunk-XIUSRWL6.js} +9 -5
  53. package/dist/assets/cesium/Workers/{chunk-S2UEXF6T.js → chunk-XWOUPGUF.js} +1 -1
  54. package/dist/assets/cesium/Workers/{chunk-F7IEM66T.js → chunk-YCDZX5LS.js} +1 -1
  55. package/dist/assets/cesium/Workers/{chunk-AVFIYUKX.js → chunk-YK3QIKY7.js} +9 -9
  56. package/dist/assets/cesium/Workers/{chunk-BAJAVGUF.js → chunk-YSIJTJ7N.js} +5 -5
  57. package/dist/assets/cesium/Workers/{chunk-6DXIYFX3.js → chunk-Z2QP3CXW.js} +2 -2
  58. package/dist/assets/cesium/Workers/{chunk-P24I5VUS.js → chunk-ZVUUPJEM.js} +17 -17
  59. package/dist/assets/cesium/Workers/combineGeometry.js +22 -22
  60. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -16
  61. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -14
  62. package/dist/assets/cesium/Workers/createCircleGeometry.js +24 -24
  63. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -17
  64. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +31 -31
  65. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  66. package/dist/assets/cesium/Workers/createCorridorGeometry.js +27 -27
  67. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +26 -26
  68. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -18
  69. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +16 -16
  70. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -24
  71. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -17
  72. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -17
  73. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -16
  74. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -16
  75. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +16 -16
  76. package/dist/assets/cesium/Workers/createGeometry.js +22 -22
  77. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +20 -20
  78. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -14
  79. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -13
  80. package/dist/assets/cesium/Workers/createPolygonGeometry.js +30 -30
  81. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +28 -28
  82. package/dist/assets/cesium/Workers/createPolylineGeometry.js +23 -23
  83. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +29 -29
  84. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  85. package/dist/assets/cesium/Workers/createRectangleGeometry.js +25 -25
  86. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +18 -18
  87. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +21 -21
  88. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -17
  89. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -16
  90. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  91. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +13 -13
  92. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -22
  93. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  94. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -20
  95. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +13 -13
  96. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
  97. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +24 -20
  98. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
  99. package/dist/assets/cesium/Workers/createWallGeometry.js +22 -22
  100. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +21 -21
  101. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  102. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  103. package/dist/assets/cesium/Workers/decodeI3S.js +10 -10
  104. package/dist/assets/cesium/Workers/transcodeKTX2.js +19 -18
  105. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  106. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  107. package/dist/assets/{cesium-126f111a.js → cesium-2afc3568.js} +136600 -136700
  108. package/dist/assets/cesium.js +1 -1
  109. package/dist/assets/{core-1c8b8674.js → core-3fd82bc2.js} +8384 -7554
  110. package/dist/assets/core.js +1 -1
  111. package/dist/assets/{ol-27f9b3f3.js → ol-edf7bfb3.js} +2246 -2248
  112. package/dist/assets/ol.js +1 -1
  113. package/dist/assets/ui-c6eb55a5.css +1 -0
  114. package/dist/assets/{ui-7214428e.js → ui-c6eb55a5.js} +8687 -8464
  115. package/dist/assets/ui.js +1 -1
  116. package/dist/assets/vue.js +1 -1
  117. package/dist/assets/{vuetify-88a2fabe.css → vuetify-c3b6c9b3.css} +1 -1
  118. package/dist/assets/{vuetify-88a2fabe.js → vuetify-c3b6c9b3.js} +2375 -2369
  119. package/dist/assets/vuetify.js +1 -1
  120. package/index.d.ts +22 -10
  121. package/index.js +9 -3
  122. package/package.json +4 -4
  123. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  124. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  125. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  126. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  127. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  128. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  129. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -2
  130. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
  131. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +1 -1
  132. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  133. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  134. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  135. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  136. package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
  137. package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
  138. package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
  139. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +61 -70
  140. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
  141. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
  142. package/plugins/package.json +5 -1
  143. package/src/actions/StyleSelector.vue +35 -19
  144. package/src/actions/StyleSelector.vue.d.ts +5 -5
  145. package/src/actions/actionHelper.d.ts +4 -11
  146. package/src/actions/actionHelper.js +2 -5
  147. package/src/actions/listActions.d.ts +2 -2
  148. package/src/application/VcsApp.vue +20 -26
  149. package/src/application/VcsApp.vue.d.ts +5 -1
  150. package/src/application/VcsAttributionsFooter.vue +20 -11
  151. package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
  152. package/src/application/VcsContainer.vue +2 -2
  153. package/src/application/VcsContainer.vue.d.ts +5 -1
  154. package/src/application/VcsNavbar.vue +9 -1
  155. package/src/application/VcsNavbar.vue.d.ts +1 -0
  156. package/src/application/VcsSplashScreen.vue +11 -2
  157. package/src/application/VcsTextPageFooter.vue +4 -4
  158. package/src/application/attributionsHelper.d.ts +20 -22
  159. package/src/application/attributionsHelper.js +4 -4
  160. package/src/callback/vcsCallback.d.ts +2 -2
  161. package/src/callback/vcsCallback.js +1 -1
  162. package/src/components/buttons/VcsActionButtonList.vue +2 -3
  163. package/src/components/buttons/VcsButton.vue +2 -4
  164. package/src/components/buttons/VcsButton.vue.d.ts +1 -1
  165. package/src/components/buttons/VcsFormButton.vue +4 -4
  166. package/src/components/buttons/VcsToolButton.vue +4 -2
  167. package/src/components/buttons/VcsToolButton.vue.d.ts +2 -2
  168. package/src/components/composables.d.ts +5 -0
  169. package/src/components/composables.js +79 -9
  170. package/src/components/extent/VcsExtent.vue +10 -6
  171. package/src/components/extent/VcsExtent.vue.d.ts +1 -0
  172. package/src/components/flight/VcsFlightComponent.vue +13 -13
  173. package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
  174. package/src/components/form-inputs-controls/VcsCheckbox.vue +8 -3
  175. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +3 -8
  176. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +0 -1
  177. package/src/components/form-inputs-controls/VcsCoordinate.vue +1 -2
  178. package/src/components/form-inputs-controls/VcsFileInput.vue +1 -1
  179. package/src/components/form-inputs-controls/VcsLabel.vue +32 -9
  180. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +2 -0
  181. package/src/components/form-inputs-controls/VcsRadio.vue +8 -6
  182. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
  183. package/src/components/form-inputs-controls/VcsSelect.vue +2 -2
  184. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +2 -2
  185. package/src/components/form-inputs-controls/VcsSlider.vue +5 -5
  186. package/src/components/form-inputs-controls/VcsTextArea.vue +1 -1
  187. package/src/components/form-inputs-controls/VcsTextField.vue +10 -1
  188. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +2 -1
  189. package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
  190. package/src/components/form-inputs-controls/VcsWizardStep.vue +5 -1
  191. package/src/components/form-inputs-controls/vcsTextField.scss +7 -1
  192. package/src/components/form-output/VcsFormattedNumber.vue +1 -1
  193. package/src/components/import/VcsImportComponent.vue +7 -4
  194. package/src/components/import/VcsImportComponent.vue.d.ts +1 -1
  195. package/src/components/lists/VcsActionList.vue +2 -6
  196. package/src/components/lists/VcsListItemComponent.vue +20 -10
  197. package/src/components/lists/VcsListItemComponent.vue.d.ts +11 -1
  198. package/src/components/lists/VcsTreeview.vue +75 -11
  199. package/src/components/lists/VcsTreeview.vue.d.ts +12 -0
  200. package/src/components/lists/VcsTreeviewSearchbar.vue +14 -3
  201. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
  202. package/src/components/lists/VcsTreeviewTitle.vue +40 -0
  203. package/src/components/modelHelper.d.ts +10 -8
  204. package/src/components/modelHelper.js +8 -6
  205. package/src/components/notification/VcsHelp.vue +6 -7
  206. package/src/components/notification/VcsHelp.vue.d.ts +0 -9
  207. package/src/components/plugins/AbstractConfigEditor.vue +1 -22
  208. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
  209. package/src/components/section/VcsExpansionPanel.vue +9 -3
  210. package/src/components/section/VcsExpansionPanel.vue.d.ts +2 -2
  211. package/src/components/section/VcsFormSection.vue +6 -6
  212. package/src/components/section/VcsFormSection.vue.d.ts +2 -2
  213. package/src/components/style/VcsImageSelector.vue +14 -6
  214. package/src/components/style/VcsImageSelector.vue.d.ts +1 -0
  215. package/src/components/style/VcsStrokeSelector.vue +5 -2
  216. package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
  217. package/src/components/style/VcsTextMenu.vue +2 -2
  218. package/src/components/tables/VcsDataTable.vue +14 -10
  219. package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
  220. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +17 -34
  221. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +5 -3
  222. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +78 -43
  223. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +4 -2
  224. package/src/components/viewpoint/VcsViewpointComponent.vue +12 -9
  225. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
  226. package/src/contentTree/contentTreeItem.d.ts +2 -2
  227. package/src/contentTree/contentTreeItem.js +1 -1
  228. package/src/contentTree/layerContentTreeItem.d.ts +8 -5
  229. package/src/contentTree/layerContentTreeItem.js +48 -34
  230. package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
  231. package/src/contentTree/layerGroupContentTreeItem.js +22 -3
  232. package/src/featureInfo/BalloonComponent.vue +21 -13
  233. package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
  234. package/src/featureInfo/abstractFeatureInfoView.d.ts +4 -4
  235. package/src/featureInfo/abstractFeatureInfoView.js +4 -4
  236. package/src/featureInfo/balloonHelper.js +1 -1
  237. package/src/featureInfo/featureInfo.d.ts +2 -2
  238. package/src/featureInfo/featureInfo.js +1 -1
  239. package/src/i18n/de.d.ts +5 -0
  240. package/src/i18n/de.js +7 -2
  241. package/src/i18n/en.d.ts +5 -0
  242. package/src/i18n/en.js +6 -1
  243. package/src/i18n/i18nCollection.d.ts +9 -15
  244. package/src/i18n/i18nCollection.js +3 -3
  245. package/src/legend/VcsLegend.vue +6 -2
  246. package/src/legend/VcsLegend.vue.d.ts +1 -0
  247. package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
  248. package/src/manager/collectionManager/categoryManager.d.ts +1 -1
  249. package/src/manager/collectionManager/collectionComponentClass.d.ts +2 -2
  250. package/src/manager/collectionManager/collectionComponentClass.js +4 -4
  251. package/src/manager/collectionManager/collectionManager.d.ts +1 -1
  252. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -6
  253. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -1
  254. package/src/manager/toolbox/SelectToolboxComponent.vue +8 -6
  255. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -1
  256. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +8 -5
  257. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -1
  258. package/src/manager/window/WindowComponentHeader.vue +6 -3
  259. package/src/manager/window/WindowComponentHeader.vue.d.ts +1 -0
  260. package/src/manager/window/windowManager.d.ts +6 -6
  261. package/src/manager/window/windowManager.js +3 -3
  262. package/src/navigation/OrientationToolsButton.vue +2 -4
  263. package/src/navigation/TiltSlider.vue +3 -5
  264. package/src/navigation/locatorHelper.js +3 -21
  265. package/src/search/SearchComponent.vue +8 -6
  266. package/src/search/SearchComponent.vue.d.ts +1 -1
  267. package/src/styles/vcsList.scss +1 -1
  268. package/src/uiConfig.d.ts +12 -3
  269. package/src/uiConfig.js +2 -1
  270. package/src/vcsUiApp.d.ts +39 -53
  271. package/src/vcsUiApp.js +30 -24
  272. package/src/vuePlugins/vuetify.d.ts +88 -62
  273. package/src/vuePlugins/vuetify.js +116 -20
  274. package/dist/assets/ui-7214428e.css +0 -1
  275. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  276. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  277. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  278. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  279. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  280. package/src/components/lists/VcsTreeviewLeaf.vue +0 -92
  281. /package/dist/assets/{vue-c78a5f76.js → vue-aefad438.js} +0 -0
  282. /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -3,13 +3,14 @@ import ContentTreeItem, {
3
3
  } from './contentTreeItem.js';
4
4
  import {
5
5
  getStateFromLayer,
6
+ setStyleAction,
6
7
  setViewpointAction,
7
8
  } from './layerContentTreeItem.js';
8
9
  import { StateActionState } from '../actions/stateRefAction.js';
9
10
  import { executeCallbacks } from '../callback/vcsCallback.js';
10
11
 
11
12
  /**
12
- * @typedef {import("./contentTreeItem.js").ContentTreeItemOptions & { layerNames: string[], defaultViewpoint?: string }} LayerGroupContentTreeItemOptions
13
+ * @typedef {import("./contentTreeItem.js").ContentTreeItemOptions & { layerNames: string[], defaultViewpoint?: string, availableStyles?: string[] }} LayerGroupContentTreeItemOptions
13
14
  * @property {Array<string>} layerNames list of LayerNames which should be activated on click
14
15
  * @property {string} [defaultViewpoint] - the name of an optional default viewpoint
15
16
  */
@@ -69,10 +70,18 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
69
70
  this._listeners = [];
70
71
 
71
72
  /**
72
- * @type {string|null}
73
+ * @type {string|undefined}
73
74
  * @private
74
75
  */
75
- this._defaultViewpoint = options.defaultViewpoint || null;
76
+ this._defaultViewpoint = options.defaultViewpoint;
77
+
78
+ /**
79
+ * @type {string[]}
80
+ * @private
81
+ */
82
+ this._availableStyles = Array.isArray(options.availableStyles)
83
+ ? options.availableStyles.slice()
84
+ : [];
76
85
 
77
86
  this._setup();
78
87
  }
@@ -116,6 +125,13 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
116
125
  this.visible = layers.some((l) => l.isSupported(this._app.maps.activeMap));
117
126
  this.state = getStateFromLayers(layers);
118
127
  setViewpointAction(this, this._app, this._defaultViewpoint);
128
+ setStyleAction(
129
+ this,
130
+ this._app,
131
+ this._listeners,
132
+ this._layerNames,
133
+ this._availableStyles,
134
+ );
119
135
 
120
136
  this._listeners.push(
121
137
  this._app.layers.removed.addEventListener(resetHandler),
@@ -166,6 +182,9 @@ class LayerGroupContentTreeItem extends ContentTreeItem {
166
182
  if (this._defaultViewpoint) {
167
183
  config.defaultViewpoint = this._defaultViewpoint;
168
184
  }
185
+ if (this._availableStyles.length > 0) {
186
+ config.availableStyles = this._availableStyles.slice();
187
+ }
169
188
  return config;
170
189
  }
171
190
 
@@ -2,19 +2,23 @@
2
2
  <v-card class="mx-auto elevation-0" v-if="position">
3
3
  <slot name="balloon-header" :attrs="{ ...$props, ...$attrs }">
4
4
  <v-list-item class="px-1">
5
- <template #prepend>
6
- <div class="pl-1 pr-2">
7
- <v-icon color="primary" size="16"> $vcsInfo </v-icon>
8
- </div>
5
+ <template #prepend="prependScope">
6
+ <slot name="prepend" v-bind="prependScope">
7
+ <div class="pl-1 pr-2">
8
+ <v-icon color="primary" :size="iconSize"> $vcsInfo </v-icon>
9
+ </div>
10
+ </slot>
9
11
  </template>
10
- <v-list-item-title>
11
- <h3 class="font-weight-bold">
12
- {{ $st(balloonTitle) }}
13
- </h3>
14
- </v-list-item-title>
15
- <v-list-item-subtitle v-if="balloonSubtitle">
16
- {{ $st(balloonSubtitle) }}
17
- </v-list-item-subtitle>
12
+ <slot name="balloon-title" :attrs="{ ...$props, ...$attrs }">
13
+ <v-list-item-title>
14
+ <h3 class="font-weight-bold">
15
+ {{ $st(balloonTitle) }}
16
+ </h3>
17
+ </v-list-item-title>
18
+ <v-list-item-subtitle v-if="balloonSubtitle">
19
+ {{ $st(balloonSubtitle) }}
20
+ </v-list-item-subtitle>
21
+ </slot>
18
22
  <template #append>
19
23
  <VcsButton
20
24
  @click.stop="close"
@@ -73,6 +77,7 @@
73
77
  import { setupBalloonPositionListener } from './balloonHelper.js';
74
78
  import VcsButton from '../components/buttons/VcsButton.vue';
75
79
  import { getTag, getTagOptions } from '../components/tables/VcsTable.vue';
80
+ import { useIconSize } from '../vuePlugins/vuetify.js';
76
81
 
77
82
  /**
78
83
  * @description A balloon viewing feature attributes. Size dynamic dependent on number of attributes.
@@ -84,7 +89,9 @@
84
89
  * @vue-prop {Object} tags - optional object containing keys rendered as tags
85
90
  * @vue-prop {Array<import("ol/coordinate").Coordinate>} position - clicked position balloon is rendered at
86
91
  * @vue-data {slot} [#balloon-header] - slot to override balloon header, $props and $attrs are passed to `attrs`
92
+ * @vue-data {slot} [#balloon-title] - slot to override balloon title and subtitle, $props and $attrs are passed to `attrs`. Is overwritten by balloon-header slot.
87
93
  * @vue-data {slot} [#default] - slot to override balloon content, $props and $attrs are passed to `attrs`
94
+ * @vue-data {slot} [#prepend] - slot to override balloon header icon
88
95
  */
89
96
  export default {
90
97
  name: 'BalloonComponent',
@@ -186,8 +193,9 @@
186
193
  app.windowManager.remove(attrs['window-state'].id);
187
194
  destroyListener();
188
195
  };
189
-
196
+ const iconSize = useIconSize();
190
197
  return {
198
+ iconSize,
191
199
  close,
192
200
  getTag,
193
201
  getTagOptions,
@@ -24,6 +24,7 @@ declare const _default: import("vue").DefineComponent<{
24
24
  default: null;
25
25
  };
26
26
  }, {
27
+ iconSize: import("vue").ComputedRef<number>;
27
28
  close: () => void;
28
29
  getTag: typeof getTag;
29
30
  getTagOptions: typeof getTagOptions;
@@ -103,7 +103,7 @@ export type FeatureInfoViewOptions = import("@vcmap/core").VcsObjectOptions & {
103
103
  keyMapping?: Record<string, string>;
104
104
  valueMapping?: Record<string, string | Record<string, string>>;
105
105
  tags?: Record<string, HTMLTagOptions>;
106
- window?: import("../manager/window/windowManager.js").WindowComponentOptions;
106
+ window?: Pick<import("../manager/window/windowManager.js").WindowComponentOptions, 'state' | 'slot' | 'position'>;
107
107
  };
108
108
  /**
109
109
  * Abstract class to be extended by FeatureInfoView classes
@@ -145,7 +145,7 @@ declare class AbstractFeatureInfoView extends VcsObject {
145
145
  [x: string]: HTMLTagOptions;
146
146
  };
147
147
  /**
148
- * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
148
+ * @type {Pick<import("../manager/window/windowManager.js").WindowComponentOptions,'state'|'slot'|'position'>|Object}
149
149
  * @private
150
150
  */
151
151
  private _window;
@@ -156,9 +156,9 @@ declare class AbstractFeatureInfoView extends VcsObject {
156
156
  private _component;
157
157
  /**
158
158
  * window options, configured in a module, used only internally by AbstractFeatureInfoView or subclass
159
- * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
159
+ * @type {Pick<import("../manager/window/windowManager.js").WindowComponentOptions<FeatureInfoProps>,'state'|'slot'|'position'>|Object}
160
160
  */
161
- get window(): Object | import("../manager/window/windowManager.js").WindowComponentOptions<Object>;
161
+ get window(): Object | Pick<import("../manager/window/windowManager.js").WindowComponentOptions<FeatureInfoProps>, "slot" | "state" | "position">;
162
162
  /**
163
163
  * component provided by a FeatureInfoView class, passed to featureInfo via `getWindowComponentOptions()`
164
164
  * @type {import("vue").Component<FeatureInfoProps, unknown, unknown>|undefined}
@@ -24,13 +24,13 @@ import { renderTemplate } from '../components/form-output/markdownHelper.js';
24
24
  * keyMapping?: Record<string,string>,
25
25
  * valueMapping?: Record<string, string|Record<string,string>>,
26
26
  * tags?: Record<string, HTMLTagOptions>,
27
- * window?: import("../manager/window/windowManager.js").WindowComponentOptions
27
+ * window?: Pick<import("../manager/window/windowManager.js").WindowComponentOptions,'state'|'slot'|'position'>
28
28
  * }} FeatureInfoViewOptions
29
29
  * @property {Array<string>} [attributeKeys] - list of keys to filter attributes of selected feature
30
30
  * @property {Object<string,string>} [keyMapping] - object providing text replacements or i18n strings for attribute keys
31
31
  * @property {Object<string, string|Object<string,string>>} [valueMapping] - object providing text replacements or i18n strings for attribute values
32
32
  * @property {Object<string,HTMLTagOptions>} [tags] - object with keys rendered as special html element. Value contains html options
33
- * @property {import("../manager/window/windowManager.js").WindowComponentOptions} [window] - state, slot, position can be set. Other options are predefined. headerTitle of window state can be a template string, e.g. "{{myAttribute}}" or ["{{layerName}}", " - ", "{{myAttribute}}"]
33
+ * @property {Pick<import("../manager/window/windowManager.js").WindowComponentOptions,'state'|'slot'|'position'>} [window] - state, slot, position can be set. Other options are predefined. headerTitle of window state can be a template string, e.g. "{{myAttribute}}" or ["{{layerName}}", " - ", "{{myAttribute}}"]
34
34
  */
35
35
 
36
36
  /**
@@ -314,7 +314,7 @@ class AbstractFeatureInfoView extends VcsObject {
314
314
  */
315
315
  this.tags = options.tags || defaultOptions.tags;
316
316
  /**
317
- * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
317
+ * @type {Pick<import("../manager/window/windowManager.js").WindowComponentOptions,'state'|'slot'|'position'>|Object}
318
318
  * @private
319
319
  */
320
320
  this._window = options.window || defaultOptions.window;
@@ -327,7 +327,7 @@ class AbstractFeatureInfoView extends VcsObject {
327
327
 
328
328
  /**
329
329
  * window options, configured in a module, used only internally by AbstractFeatureInfoView or subclass
330
- * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
330
+ * @type {Pick<import("../manager/window/windowManager.js").WindowComponentOptions<FeatureInfoProps>,'state'|'slot'|'position'>|Object}
331
331
  */
332
332
  get window() {
333
333
  return this._window;
@@ -28,7 +28,7 @@ export const balloonOffset = { x: 55, y: 25 };
28
28
  * @returns {undefined|import("@vcmap-cesium/engine").Cartesian2}
29
29
  */
30
30
  function getBalloonPositionCesium(scene, cartesian) {
31
- return SceneTransforms.wgs84ToWindowCoordinates(scene, cartesian);
31
+ return SceneTransforms.worldToWindowCoordinates(scene, cartesian);
32
32
  }
33
33
 
34
34
  /**
@@ -11,9 +11,9 @@ export function getHighlightStyle(feature: FeatureType, layer: import("@vcmap/co
11
11
  */
12
12
  export function createFeatureInfoSession(app: import("../vcsUiApp.js").default): FeatureInfoSession;
13
13
  /**
14
- * @type {ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
14
+ * @type {ClassRegistry<typeof AbstractFeatureInfoView>}
15
15
  */
16
- export const featureInfoClassRegistry: ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>;
16
+ export const featureInfoClassRegistry: ClassRegistry<typeof AbstractFeatureInfoView>;
17
17
  /**
18
18
  * Symbol added to features to overwrite the layers predefined feature info
19
19
  * @type {symbol}
@@ -54,7 +54,7 @@ function getLogger() {
54
54
  }
55
55
 
56
56
  /**
57
- * @type {ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
57
+ * @type {ClassRegistry<typeof AbstractFeatureInfoView>}
58
58
  */
59
59
  export const featureInfoClassRegistry = new ClassRegistry();
60
60
 
package/src/i18n/de.d.ts CHANGED
@@ -334,8 +334,12 @@ declare namespace messages {
334
334
  export { header_1 as header };
335
335
  export let altitudeMode: string;
336
336
  export let clampToGround: string;
337
+ export let clampToTerrain: string;
338
+ export let clampTo3DTiles: string;
337
339
  export let absolute: string;
338
340
  export let relativeToGround: string;
341
+ export let relativeToTerrain: string;
342
+ export let relativeTo3DTiles: string;
339
343
  export let groundLevel: string;
340
344
  export let classificationType: string;
341
345
  export let none: string;
@@ -354,6 +358,7 @@ declare namespace messages {
354
358
  export let modelHeading: string;
355
359
  export let modelPitch: string;
356
360
  export let modelRoll: string;
361
+ export let modelAutoScale: string;
357
362
  export let baseUrl: string;
358
363
  export let extrudedHeight: string;
359
364
  export let skirt: string;
package/src/i18n/de.js CHANGED
@@ -217,9 +217,13 @@ const messages = {
217
217
  vectorProperties: {
218
218
  header: 'Vektor Eigenschaften',
219
219
  altitudeMode: 'Höhenmodus',
220
- clampToGround: 'Auf Gelände legen',
220
+ clampToGround: 'Auf Grund legen',
221
+ clampToTerrain: 'Auf Gelände legen',
222
+ clampTo3DTiles: 'Auf 3D Tiles legen',
221
223
  absolute: 'Absolut',
222
- relativeToGround: 'Relativ zum Gelände',
224
+ relativeToGround: 'Relativ zum Grund',
225
+ relativeToTerrain: 'Relativ zum Gelände',
226
+ relativeTo3DTiles: 'Relativ zu 3D Tiles',
223
227
  groundLevel: 'Geländehöhe',
224
228
  classificationType: 'Klassifizierung',
225
229
  none: 'Keine',
@@ -238,6 +242,7 @@ const messages = {
238
242
  modelHeading: 'Modell Ausrichtung',
239
243
  modelPitch: 'Modell Neigung',
240
244
  modelRoll: 'Modell Rotation',
245
+ modelAutoScale: 'Modellautoskalierung',
241
246
  baseUrl: 'Basis URL',
242
247
  extrudedHeight: 'Extrusion',
243
248
  skirt: 'Skirts',
package/src/i18n/en.d.ts CHANGED
@@ -334,8 +334,12 @@ declare namespace messages {
334
334
  export { header_1 as header };
335
335
  export let altitudeMode: string;
336
336
  export let clampToGround: string;
337
+ export let clampToTerrain: string;
338
+ export let clampTo3DTiles: string;
337
339
  export let absolute: string;
338
340
  export let relativeToGround: string;
341
+ export let relativeToTerrain: string;
342
+ export let relativeTo3DTiles: string;
339
343
  export let groundLevel: string;
340
344
  export let classificationType: string;
341
345
  export let none: string;
@@ -354,6 +358,7 @@ declare namespace messages {
354
358
  export let modelHeading: string;
355
359
  export let modelPitch: string;
356
360
  export let modelRoll: string;
361
+ export let modelAutoScale: string;
357
362
  export let baseUrl: string;
358
363
  export let extrudedHeight: string;
359
364
  export let skirt: string;
package/src/i18n/en.js CHANGED
@@ -217,9 +217,13 @@ const messages = {
217
217
  vectorProperties: {
218
218
  header: 'Vector properties',
219
219
  altitudeMode: 'Altitude mode',
220
- clampToGround: 'Clamp to ground',
220
+ clampToGround: 'Drape on ground',
221
+ clampToTerrain: 'Drape on terrain',
222
+ clampTo3DTiles: 'Drape on 3D tiles',
221
223
  absolute: 'Absolute',
222
224
  relativeToGround: 'Relative to ground',
225
+ relativeToTerrain: 'Relative to terrain',
226
+ relativeTo3DTiles: 'Relative to 3D tiles',
223
227
  groundLevel: 'Ground level',
224
228
  classificationType: 'Classification',
225
229
  none: 'None',
@@ -238,6 +242,7 @@ const messages = {
238
242
  modelHeading: 'Model heading',
239
243
  modelPitch: 'Model pitch',
240
244
  modelRoll: 'Model roll',
245
+ modelAutoScale: 'Model auto scale',
241
246
  baseUrl: 'Base URL',
242
247
  extrudedHeight: 'Extrusion',
243
248
  skirt: 'Skirts',
@@ -16,8 +16,8 @@ export function mergeDeep(...sources: Object[]): Object;
16
16
  /**
17
17
  * Item for internationalization containing an object with key value mapping for each locale (de, en, nl, pl, ...).
18
18
  * Other locales can be supported by adding corresponding mapping objects with associated locale key.
19
- * @typedef {Object} I18nConfigurationItem
20
- * @property {string} [name] - optional name for the item. If not provided checksum is used.
19
+ * @typedef {Record<string, string | object> & { name: string, properties?: object, de?: object, en?: object }} I18nConfigurationItem
20
+ * @property {string} name - the name for the item.
21
21
  * @property {Object} [properties]
22
22
  * @property {Object} [de]
23
23
  * @property {Object} [en]
@@ -33,17 +33,11 @@ export default I18nCollection;
33
33
  * Item for internationalization containing an object with key value mapping for each locale (de, en, nl, pl, ...).
34
34
  * Other locales can be supported by adding corresponding mapping objects with associated locale key.
35
35
  */
36
- export type I18nConfigurationItem = {
37
- /**
38
- * - optional name for the item. If not provided checksum is used.
39
- */
40
- name?: string | undefined;
41
- properties?: Object | undefined;
42
- de?: Object | undefined;
43
- /**
44
- * ...
45
- */
46
- en?: Object | undefined;
36
+ export type I18nConfigurationItem = Record<string, string | object> & {
37
+ name: string;
38
+ properties?: object;
39
+ de?: object;
40
+ en?: object;
47
41
  };
48
42
  /**
49
43
  * @extends {IndexedCollection<I18nConfigurationItem>}
@@ -74,9 +68,9 @@ declare class I18nCollection extends IndexedCollection<I18nConfigurationItem> {
74
68
  /**
75
69
  * Returns a merged Message Object with the locale as a key and an Object with all the translated keys.
76
70
  * Includes all available plugin messages.
77
- * @returns {Object}
71
+ * @returns {Record<string, object>}
78
72
  */
79
- getMergedMessages(): Object;
73
+ getMergedMessages(): Record<string, object>;
80
74
  }
81
75
  import { IndexedCollection } from '@vcmap/core';
82
76
  import { VcsEvent } from '@vcmap/core';
@@ -17,8 +17,8 @@ export function isObject(item) {
17
17
  /**
18
18
  * Item for internationalization containing an object with key value mapping for each locale (de, en, nl, pl, ...).
19
19
  * Other locales can be supported by adding corresponding mapping objects with associated locale key.
20
- * @typedef {Object} I18nConfigurationItem
21
- * @property {string} [name] - optional name for the item. If not provided checksum is used.
20
+ * @typedef {Record<string, string | object> & { name: string, properties?: object, de?: object, en?: object }} I18nConfigurationItem
21
+ * @property {string} name - the name for the item.
22
22
  * @property {Object} [properties]
23
23
  * @property {Object} [de]
24
24
  * @property {Object} [en]
@@ -113,7 +113,7 @@ class I18nCollection extends IndexedCollection {
113
113
  /**
114
114
  * Returns a merged Message Object with the locale as a key and an Object with all the translated keys.
115
115
  * Includes all available plugin messages.
116
- * @returns {Object}
116
+ * @returns {Record<string, object>}
117
117
  */
118
118
  getMergedMessages() {
119
119
  const pluginMessages = [...this._pluginCollection]
@@ -25,12 +25,12 @@
25
25
  </div>
26
26
  <div v-else-if="item.type === LegendType.Iframe">
27
27
  <iframe
28
- :id="`legendIframe${idx}`"
28
+ :id="`${cid}-legendIframe${idx}`"
29
29
  :src="$st(item.src)"
30
30
  scrolling="no"
31
31
  style="width: 100%; height: 100%"
32
32
  frameBorder="0"
33
- @load="setIframeHeight(`legendIframe${idx}`)"
33
+ @load="setIframeHeight(`${cid}-legendIframe${idx}`)"
34
34
  />
35
35
  </div>
36
36
  <style-legend-item v-else :item="item" />
@@ -47,6 +47,7 @@
47
47
  <script>
48
48
  import { VExpansionPanels, VList, VSheet } from 'vuetify/components';
49
49
  import { computed } from 'vue';
50
+ import { useComponentId } from '../components/composables.js';
50
51
  import { LegendType } from './legendHelper.js';
51
52
  import StyleLegendItem from './StyleLegendItem.vue';
52
53
  import VcsExpansionPanel from '../components/section/VcsExpansionPanel.vue';
@@ -93,10 +94,13 @@
93
94
  set() {},
94
95
  });
95
96
 
97
+ const cid = useComponentId();
98
+
96
99
  return {
97
100
  LegendType,
98
101
  setIframeHeight,
99
102
  panels, // TODO
103
+ cid,
100
104
  };
101
105
  },
102
106
  };
@@ -11,6 +11,7 @@ declare const _default: import("vue").DefineComponent<{
11
11
  };
12
12
  setIframeHeight: (id: string) => void;
13
13
  panels: import("vue").ComputedRef<number[]>;
14
+ cid: string;
14
15
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
16
  entries: {
16
17
  type: ArrayConstructor;
@@ -136,6 +136,6 @@
136
136
 
137
137
  <style lang="scss" scoped>
138
138
  .inner-header {
139
- height: calc(var(--v-vcs-item-height) - 8px);
139
+ height: calc(var(--v-vcs-font-size) * 2 - 2px);
140
140
  }
141
141
  </style>
@@ -57,7 +57,7 @@ declare class CategoryManager extends CollectionManager implements ICategoryMana
57
57
  */
58
58
  requestCategory<T extends Object | import("@vcmap/core").VcsObject>(options: import("@vcmap/core").CategoryOptions<T>, owner: string | symbol, collectionComponentOptions?: import("./collectionComponentClass.js").CollectionComponentUiOptions): Promise<{
59
59
  collectionComponent: import("./collectionComponentClass.js").default<T>;
60
- category: import("@vcmap/core").Category<T>;
60
+ category: import("@vcmap/core").Category<T, object>;
61
61
  }>;
62
62
  /**
63
63
  * Updates the filterFunction for added moduleIds.
@@ -51,9 +51,9 @@ export type CollectionComponentListItem = import("../../components/lists/VcsList
51
51
  * Listens to all collection events and synchronizes changes to the items array.
52
52
  * The Collection Items will be transformed and filtered with the given itemMappings and itemFilter functions
53
53
  * @class
54
- * @template {Object|import("@vcmap/core").VcsObject} T
54
+ * @template {Object|import("@vcmap/core").VcsObject} [T=Object|import("@vcmap/core").VcsObject]
55
55
  */
56
- declare class CollectionComponentClass<T extends Object | import("@vcmap/core").VcsObject> {
56
+ declare class CollectionComponentClass<T extends Object | import("@vcmap/core").VcsObject = Object | import("@vcmap/core").VcsObject> {
57
57
  /**
58
58
  * @param {CollectionComponentClassOptions<T>} options
59
59
  * @param {string|import("../../pluginHelper.js").vcsAppSymbol} owner
@@ -1,7 +1,7 @@
1
1
  import { IndexedCollection, isOverrideCollection } from '@vcmap/core';
2
2
  import { getLogger } from '@vcsuite/logger';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
- import { computed, ref, shallowRef, watch } from 'vue';
4
+ import { computed, reactive, ref, shallowRef, watch } from 'vue';
5
5
  import { parseBoolean, parseNumber } from '@vcsuite/parsers';
6
6
  import { check, oneOf } from '@vcsuite/check';
7
7
  import { validateAction } from '../../components/lists/VcsActionList.vue';
@@ -95,7 +95,7 @@ export function createSupportedMapMappingFunction(
95
95
  * Listens to all collection events and synchronizes changes to the items array.
96
96
  * The Collection Items will be transformed and filtered with the given itemMappings and itemFilter functions
97
97
  * @class
98
- * @template {Object|import("@vcmap/core").VcsObject} T
98
+ * @template {Object|import("@vcmap/core").VcsObject} [T=Object|import("@vcmap/core").VcsObject]
99
99
  */
100
100
  class CollectionComponentClass {
101
101
  /**
@@ -341,7 +341,7 @@ class CollectionComponentClass {
341
341
  */
342
342
  _transformItem(item) {
343
343
  const keyProperty = this._collection.uniqueKey;
344
- const listItem = {
344
+ const listItem = reactive({
345
345
  get name() {
346
346
  return item[keyProperty];
347
347
  },
@@ -356,7 +356,7 @@ class CollectionComponentClass {
356
356
  clickedCallbacks: [],
357
357
  destroy: undefined,
358
358
  destroyFunctions: [],
359
- };
359
+ });
360
360
  if (this.renamable.value) {
361
361
  listItem.renamable = {
362
362
  name: this._actionTitles.renameTitle,
@@ -18,7 +18,7 @@ export type OwnedAction = {
18
18
  weight?: number | undefined;
19
19
  owner: string | symbol;
20
20
  };
21
- export type ICollectionManager = import("../../vcsUiApp.js").VcsComponentManager<CollectionComponentClass<any>, import("./collectionComponentClass.js").CollectionComponentClassOptions<Object>>;
21
+ export type ICollectionManager = import("../../vcsUiApp.js").VcsComponentManager<CollectionComponentClass, import("./collectionComponentClass.js").CollectionComponentClassOptions<Object>>;
22
22
  /**
23
23
  * @typedef {function(T, import("./collectionComponentClass.js").default<T>, import("./collectionComponentClass.js").CollectionComponentListItem): void} MappingFunction
24
24
  * @template {Object} T
@@ -22,9 +22,8 @@
22
22
  </template>
23
23
 
24
24
  <v-toolbar
25
- id="vcs-toolbox-toolbar--secondary"
26
- class="mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
27
- :height="itemHeight + 8"
25
+ class="vcs-toolbox-toolbar--secondary mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
26
+ :height="toolboxHeight"
28
27
  >
29
28
  <v-toolbar-items class="w-100">
30
29
  <div class="d-flex align-center justify-space-between gc-1 w-100">
@@ -54,7 +53,7 @@
54
53
  import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
55
54
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
56
55
  import { getComponentsByOrder } from './toolboxManager.js';
57
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
56
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
58
57
 
59
58
  /**
60
59
  * @description
@@ -95,13 +94,16 @@
95
94
  orderedButtons.value.some((a) => a.action.active),
96
95
  );
97
96
 
98
- const itemHeight = useItemHeight();
97
+ const fontSize = useFontSize();
98
+ const toolboxHeight = computed(() => {
99
+ return fontSize.value * 3 + 1;
100
+ });
99
101
 
100
102
  return {
101
103
  open,
102
104
  orderedButtons,
103
105
  hasActiveAction,
104
- itemHeight,
106
+ toolboxHeight,
105
107
  };
106
108
  },
107
109
  };
@@ -7,7 +7,7 @@ declare const _default: import("vue").DefineComponent<{
7
7
  open: import("vue").Ref<boolean>;
8
8
  orderedButtons: import("vue").ComputedRef<(import("../buttonManager.js", { with: { "resolution-mode": "import" } }).ButtonComponent | import("./toolboxManager.js", { with: { "resolution-mode": "import" } }).ToolboxComponent)[]>;
9
9
  hasActiveAction: import("vue").ComputedRef<boolean>;
10
- itemHeight: import("vue").ComputedRef<number>;
10
+ toolboxHeight: import("vue").ComputedRef<number>;
11
11
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
12
  group: {
13
13
  type: ObjectConstructor;
@@ -38,7 +38,7 @@
38
38
 
39
39
  <v-toolbar
40
40
  class="vcs-toolbox-2 mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
41
- :height="itemHeight + 8"
41
+ :height="toolboxHeight"
42
42
  dense
43
43
  >
44
44
  <v-toolbar-items class="w-100">
@@ -64,10 +64,10 @@
64
64
  }
65
65
  </style>
66
66
  <script>
67
- import { ref } from 'vue';
67
+ import { ref, computed } from 'vue';
68
68
  import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
69
69
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
70
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
70
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
71
71
 
72
72
  /**
73
73
  * @description
@@ -91,11 +91,13 @@
91
91
  },
92
92
  setup() {
93
93
  const open = ref(false);
94
- const itemHeight = useItemHeight();
95
-
94
+ const fontSize = useFontSize();
95
+ const toolboxHeight = computed(() => {
96
+ return fontSize.value * 3 + 1;
97
+ });
96
98
  return {
97
99
  open,
98
- itemHeight,
100
+ toolboxHeight,
99
101
  };
100
102
  },
101
103
  };
@@ -5,7 +5,7 @@ declare const _default: import("vue").DefineComponent<{
5
5
  };
6
6
  }, {
7
7
  open: import("vue").Ref<boolean>;
8
- itemHeight: import("vue").ComputedRef<number>;
8
+ toolboxHeight: import("vue").ComputedRef<number>;
9
9
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
10
  group: {
11
11
  type: ObjectConstructor;