@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
@@ -1 +1 @@
1
- export * from "./vuetify-88a2fabe.js";
1
+ export * from "./vuetify-c3b6c9b3.js";
package/index.d.ts CHANGED
@@ -46,6 +46,8 @@ export { default as PanelComponent } from "./src/manager/panel/PanelComponent.vu
46
46
  export type * from "./src/manager/panel/PanelComponent.vue.d.ts";
47
47
  export { default as ButtonManager } from "./src/manager/buttonManager.js";
48
48
  export type * from "./src/manager/buttonManager.d.ts";
49
+ export { default as ToolboxManagerComponent } from "./src/manager/toolbox/ToolboxManagerComponent.vue";
50
+ export type * from "./src/manager/toolbox/ToolboxManagerComponent.vue.d.ts";
49
51
  export { default as CategoryManager } from "./src/manager/collectionManager/categoryManager.js";
50
52
  export type * from "./src/manager/collectionManager/categoryManager.d.ts";
51
53
  export { default as CollectionManager } from "./src/manager/collectionManager/collectionManager.js";
@@ -102,8 +104,8 @@ export { default as VcsCompass } from "./src/navigation/VcsCompass.vue";
102
104
  export type * from "./src/navigation/VcsCompass.vue.d.ts";
103
105
  export { default as VcsZoomButton } from "./src/navigation/VcsZoomButton.vue";
104
106
  export type * from "./src/navigation/VcsZoomButton.vue.d.ts";
105
- export { i18nPluginSymbol } from "./src/i18n/i18nCollection.js";
106
- export type * from "./src/i18n/i18nCollection.d.ts";
107
+ export { default as UiConfig } from "./src/uiConfig.js";
108
+ export type * from "./src/uiConfig.d.ts";
107
109
  export { default as VcsUiApp } from "./src/vcsUiApp.js";
108
110
  export type * from "./src/vcsUiApp.d.ts";
109
111
  export { default as Icons } from "./src/components/icons/+all.js";
@@ -162,8 +164,8 @@ export { default as VcsListItemComponent } from "./src/components/lists/VcsListI
162
164
  export type * from "./src/components/lists/VcsListItemComponent.vue.d.ts";
163
165
  export { default as VcsTreeview } from "./src/components/lists/VcsTreeview.vue";
164
166
  export type * from "./src/components/lists/VcsTreeview.vue.d.ts";
165
- export { default as VcsTreeviewLeaf } from "./src/components/lists/VcsTreeviewLeaf.vue";
166
- export type * from "./src/components/lists/VcsTreeviewLeaf.vue.d.ts";
167
+ export { default as VcsTreeviewTitle } from "./src/components/lists/VcsTreeviewTitle.vue";
168
+ export type * from "./src/components/lists/VcsTreeviewTitle.vue.d.ts";
167
169
  export { default as VcsTreeviewSearchbar } from "./src/components/lists/VcsTreeviewSearchbar.vue";
168
170
  export type * from "./src/components/lists/VcsTreeviewSearchbar.vue.d.ts";
169
171
  export { default as VcsBadge } from "./src/components/notification/VcsBadge.vue";
@@ -214,10 +216,14 @@ export { default as VcsExpansionPanel } from "./src/components/section/VcsExpans
214
216
  export type * from "./src/components/section/VcsExpansionPanel.vue.d.ts";
215
217
  export { default as VcsSplashScreen } from "./src/application/VcsSplashScreen.vue";
216
218
  export type * from "./src/application/VcsSplashScreen.vue.d.ts";
219
+ export * from "./src/application/attributionsHelper.js";
220
+ export type * from "./src/application/attributionsHelper.d.ts";
217
221
  export * from "./src/components/attrsHelpers.js";
218
222
  export type * from "./src/components/attrsHelpers.d.ts";
219
223
  export * from "./src/components/modelHelper.js";
220
224
  export type * from "./src/components/modelHelper.d.ts";
225
+ export * from "./src/components/composables.js";
226
+ export type * from "./src/components/composables.d.ts";
221
227
  export { createMapButtonAction, createToggleAction, createOverviewMapAction, createModalAction, createLinkAction, createGoToViewpointAction, createZoomToFeatureAction } from "./src/actions/actionHelper.js";
222
228
  export type * from "./src/actions/actionHelper.d.ts";
223
229
  export { parseAndSanitizeMarkdown, renderTemplate } from "./src/components/form-output/markdownHelper.js";
@@ -264,7 +270,9 @@ export { getWindowComponentOptions, default as OverviewMap } from "./src/navigat
264
270
  export type * from "./src/navigation/overviewMap.d.ts";
265
271
  export { createVueI18n, setupI18n } from "./src/vuePlugins/i18n.js";
266
272
  export type * from "./src/vuePlugins/i18n.d.ts";
267
- export { createVcsThemes, createVcsVuetify, isDark, getDefaultPrimaryColor, getColorByKey, useItemHeight, useFontSize } from "./src/vuePlugins/vuetify.js";
273
+ export { default as I18nCollection, i18nPluginSymbol } from "./src/i18n/i18nCollection.js";
274
+ export type * from "./src/i18n/i18nCollection.d.ts";
275
+ export { createVcsThemes, createVcsVuetify, isDark, getDefaultPrimaryColor, getColorByKey, useFontSize } from "./src/vuePlugins/vuetify.js";
268
276
  export type * from "./src/vuePlugins/vuetify.d.ts";
269
277
  export { downloadURI, downloadBlob, downloadText, downloadCanvas } from "./src/downloadHelper.js";
270
278
  export type * from "./src/downloadHelper.d.ts";
@@ -288,11 +296,15 @@ export { default as VcsFeatureEditingWindow, EditorTransformationIcons, getAllow
288
296
  export type * from "./src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts";
289
297
 
290
298
  declare module 'vue' {
291
- type ReplaceFirstParam<TParams extends readonly any[], TReplace> = {
292
- [K in keyof TParams]: K extends "0" ? TReplace : TParams[K]
293
- }
294
-
295
299
  interface ComponentCustomProperties {
296
- $st: (...params: ReplaceFirstParam<Parameters<import("vue-i18n").ComposerTranslation>, string | null | undefined>) => ReturnType<import("vue-i18n").ComposerTranslation>
300
+ $st(key: string | number | undefined | null): string;
301
+ $st(key: string | number | undefined | null, plural: number, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
302
+ $st(key: string | number | undefined | null, defaultMsg: string, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
303
+ $st(key: string | number | undefined | null, list: unknown[], options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
304
+ $st(key: string | number | undefined | null, list: unknown[], plural: number): string;
305
+ $st(key: string | number | undefined | null, list: unknown[], defaultMsg: string): string;
306
+ $st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
307
+ $st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, plural: number): string;
308
+ $st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, defaultMsg: string): string;
297
309
  }
298
310
  }
package/index.js CHANGED
@@ -124,6 +124,7 @@ export {
124
124
  ToolboxType,
125
125
  defaultToolboxName,
126
126
  } from './src/manager/toolbox/toolboxManager.js';
127
+ export { default as ToolboxManagerComponent } from './src/manager/toolbox/ToolboxManagerComponent.vue';
127
128
  export { default as CategoryManager } from './src/manager/collectionManager/categoryManager.js';
128
129
  export { default as CollectionManager } from './src/manager/collectionManager/collectionManager.js';
129
130
  export { default as CollectionManagerComponent } from './src/manager/collectionManager/CollectionManager.vue';
@@ -185,14 +186,17 @@ export { default as VcsCompass } from './src/navigation/VcsCompass.vue';
185
186
  export { default as VcsZoomButton } from './src/navigation/VcsZoomButton.vue';
186
187
  //
187
188
  export { createVueI18n, setupI18n } from './src/vuePlugins/i18n.js';
188
- export { i18nPluginSymbol } from './src/i18n/i18nCollection.js';
189
+ export {
190
+ default as I18nCollection,
191
+ i18nPluginSymbol,
192
+ } from './src/i18n/i18nCollection.js';
193
+ export { default as UiConfig } from './src/uiConfig.js'; // export UiConfig types
189
194
  export {
190
195
  createVcsThemes,
191
196
  createVcsVuetify,
192
197
  isDark,
193
198
  getDefaultPrimaryColor,
194
199
  getColorByKey,
195
- useItemHeight,
196
200
  useFontSize,
197
201
  } from './src/vuePlugins/vuetify.js';
198
202
  export {
@@ -262,7 +266,7 @@ export {
262
266
  export { default as VcsList } from './src/components/lists/VcsList.vue';
263
267
  export { default as VcsListItemComponent } from './src/components/lists/VcsListItemComponent.vue';
264
268
  export { default as VcsTreeview } from './src/components/lists/VcsTreeview.vue';
265
- export { default as VcsTreeviewLeaf } from './src/components/lists/VcsTreeviewLeaf.vue';
269
+ export { default as VcsTreeviewTitle } from './src/components/lists/VcsTreeviewTitle.vue';
266
270
  export { default as VcsTreeviewSearchbar } from './src/components/lists/VcsTreeviewSearchbar.vue';
267
271
  export { default as VcsBadge } from './src/components/notification/VcsBadge.vue';
268
272
  export { default as VcsDefaultLogo } from './src/logo.svg';
@@ -307,5 +311,7 @@ export { default as VcsFileDrop } from './src/components/import/VcsFileDrop.vue'
307
311
  export { default as VcsImportComponent } from './src/components/import/VcsImportComponent.vue';
308
312
  export { default as VcsExpansionPanel } from './src/components/section/VcsExpansionPanel.vue';
309
313
  export { default as VcsSplashScreen } from './src/application/VcsSplashScreen.vue';
314
+ export * from './src/application/attributionsHelper.js';
310
315
  export * from './src/components/attrsHelpers.js';
311
316
  export * from './src/components/modelHelper.js';
317
+ export * from './src/components/composables.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vcmap/ui",
3
- "version": "6.0.0-rc.5",
3
+ "version": "6.0.0-rc.7",
4
4
  "author": "Virtual City Systems",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -56,11 +56,11 @@
56
56
  "vue-i18n": "^9.13.1"
57
57
  },
58
58
  "peerDependencies": {
59
- "@vcmap-cesium/engine": "^10.0.1",
60
- "@vcmap/core": "6.0.0-rc.3",
59
+ "@vcmap-cesium/engine": "^11.0.2",
60
+ "@vcmap/core": "^6.0.0-rc.7",
61
61
  "ol": "^10.0.0",
62
62
  "vue": "~3.4.38",
63
- "vuetify": "^3.7.0"
63
+ "vuetify": "^3.7.1"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@histoire/plugin-vue": "^0.17.17",
@@ -0,0 +1,3 @@
1
+ # Custom icons example
2
+
3
+ This is a show-case plugin demonstrating the usage of [custom icons](../../../documentation/CUSTOM_ICONS.md)
@@ -0,0 +1 @@
1
+ <svg fill="#000000" width="200px" height="200px" viewBox="0 0 480 480" xmlns="http://www.w3.org/2000/svg"><path id="test" d="M296.482 395.294c0 31.144 -25.327 56.471 -56.471 56.471s-56.471 -25.327 -56.471 -56.471zM240.011 56.471c85.609 0 155.294 69.656 155.294 155.294v98.823c0 21.685 8.188 41.477 21.6 56.471H63.089c13.44 -14.993 21.628 -34.786 21.628 -56.471V211.765c0 -85.638 69.656 -155.294 155.294 -155.294m183.53 254.118V211.765c0 -96.424 -74.823 -175.567 -169.412 -182.823V0H225.894v28.941c-94.617 7.256 -169.412 86.4 -169.412 182.823v98.823c0 31.143 -25.327 56.471 -56.471 56.471v28.235h155.294c0 46.701 37.977 84.706 84.706 84.706 46.701 0 84.706 -38.005 84.706 -84.706h155.294v-28.235c-31.143 0 -56.471 -25.327 -56.471 -56.471Z" fill-rule="evenodd"/></svg>
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@vcmap-show-case/custom-icon-tester",
3
+ "version": "1.0.0",
4
+ "mapVersion": "^6.0"
5
+ }
@@ -0,0 +1,90 @@
1
+ <template>
2
+ <div>
3
+ <VcsFormSection heading="VIcon">
4
+ <v-row no-gutters v-for="icon in icons" :key="icon.title">
5
+ <v-col cols="6">
6
+ <VcsLabel>{{ icon.title }}</VcsLabel>
7
+ </v-col>
8
+ <v-col>
9
+ <VIcon size="x-small">{{ `${icon.set}:${icon.icon}` }}</VIcon>
10
+ </v-col>
11
+ <v-col>
12
+ <VIcon>{{ `${icon.set}:${icon.icon}` }}</VIcon>
13
+ </v-col>
14
+ <v-col>
15
+ <VIcon size="large">{{ `${icon.set}:${icon.icon}` }}</VIcon>
16
+ </v-col>
17
+ </v-row>
18
+ </VcsFormSection>
19
+ </div>
20
+ </template>
21
+
22
+ <script>
23
+ import { VcsFormSection, VcsLabel } from '@vcmap/ui';
24
+ import { VRow, VCol, VIcon } from 'vuetify/components';
25
+
26
+ export default {
27
+ name: 'CustomIconsExample',
28
+ components: {
29
+ VcsLabel,
30
+ VcsFormSection,
31
+ VIcon,
32
+ VRow,
33
+ VCol,
34
+ },
35
+ setup() {
36
+ const icons = [
37
+ {
38
+ title: 'Base64 image',
39
+ set: 'imageUrl',
40
+ icon: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhLS0gTGljZW5zZTogQ0MwLiBNYWRlIGJ5IFNWRyBSZXBvOiBodHRwczovL3d3dy5zdmdyZXBvLmNvbS9zdmcvNjUxNjMvYmVhY2ggLS0+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHJlY3QgeT0iMjcwLjMyNyIgc3R5bGU9ImZpbGw6IzNGQTlGNTsiIHdpZHRoPSI1MTIiIGhlaWdodD0iMTA0LjQ5Ii8+CjxyZWN0IHk9IjM3NC44MTciIHN0eWxlPSJmaWxsOiNGRkQ0NkE7IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjEzMC42MTIiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0ZGRDI0ODsiIGQ9Ik00MTIuNzM1LDcxLjc5OWMzNC41ODYsMCw2Mi42OTQsMjguMTA4LDYyLjY5NCw2Mi42OTRzLTI4LjEwOCw2Mi42OTQtNjIuNjk0LDYyLjY5NAoJcy02Mi42OTQtMjguMTA4LTYyLjY5NC02Mi42OTRTMzc4LjE0OSw3MS43OTksNDEyLjczNSw3MS43OTl6Ii8+CjxwYXRoIHN0eWxlPSJmaWxsOiNCM0IzQjM7IiBkPSJNMjQ1LjU1MSwxOTcuMTg2aC02Mi42OTRjMC02Mi42OTQtMzYuNTcxLTk5LjI2NS0zNi41NzEtOTkuMjY1CglDMjAxLjE0Myw5Ny45MjEsMjQ1LjU1MSwxNDIuMzI5LDI0NS41NTEsMTk3LjE4NnoiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0NDQ0NDQzsiIGQ9Ik0xNDYuMjg2LDk3LjkyMWMwLDAsMzYuNTcxLDM2LjU3MSwzNi41NzEsOTkuMjY1aC0zNi41NzFIMTA0LjQ5CglDMTA0LjQ5LDE0NC45NDEsMTQ2LjI4Niw5Ny45MjEsMTQ2LjI4Niw5Ny45MjF6Ii8+CjxwYXRoIHN0eWxlPSJmaWxsOiNFNkU2RTY7IiBkPSJNMTQ2LjI4Niw5Ny45MjFjMCwwLTQxLjc5Niw0Ny4wMi00MS43OTYsOTkuMjY1SDQ3LjAyQzQ3LjAyLDE0Mi4zMjksOTEuNDI5LDk3LjkyMSwxNDYuMjg2LDk3LjkyMXoiCgkvPgo8cGF0aCBkPSJNMTgwLjI0NSw0MC40NTJoMTUuNjczYzAtNS4xODYsNC40NzItOS43NTcsMTMuMjkyLTEzLjU5YzguMDg5LTMuNTE0LDE2LjQ3OS00Ljc2NSwxNi41NjMtNC43NzZsLTEuMTItNy43NTZsLTEuMTA5LTcuNzU4CgljLTEwLjY1LDEuNTIyLTI2LjE4NCw2LjMtMzUuNDYzLDE1LjcwM2MtOS4yNzktOS40MDMtMjQuODEzLTE0LjE4MS0zNS40NjMtMTUuNzAzbC0yLjIxNiwxNS41MTcKCUMxNTYuNzA2LDIyLjk4OCwxODAuMjQ1LDI4Ljc0NCwxODAuMjQ1LDQwLjQ1MnoiLz4KPHBhdGggZD0iTTI2My44MzcsOTIuNjk3aDE1LjY3M2MwLTUuMTg2LDQuNDcyLTkuNzU3LDEzLjI5Mi0xMy41OWM4LjA4OS0zLjUxNCwxNi40NzktNC43NjUsMTYuNTYzLTQuNzc2bC0xLjEyLTcuNzU2bC0xLjEwOS03Ljc1OAoJYy0xMC42NSwxLjUyMS0yNi4xODUsNi4zLTM1LjQ2MywxNS43MDNjLTkuMjc5LTkuNDAzLTI0LjgxMy0xNC4xODEtMzUuNDYzLTE1LjcwM2wtMi4yMTYsMTUuNTE3CglDMjQwLjI5OCw3NS4yMzMsMjYzLjgzNyw4MC45ODgsMjYzLjgzNyw5Mi42OTd6Ii8+CjxyZWN0IHg9IjI2LjEyMiIgeT0iNDUwLjU3MiIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iNjcuOTE4IiB5PSI0MDguNzc2IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSI2Ny45MTgiIHk9IjQ3MS40NyIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iMTMwLjYxMiIgeT0iNDYxLjAyMSIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iMjAzLjc1NSIgeT0iNDcxLjQ3IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyMDMuNzU1IiB5PSI0MTkuMjI1IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyNjYuNDQ5IiB5PSI0MDguNzc2IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIzMzkuNTkyIiB5PSI0NDAuMTIzIiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyODcuMzQ3IiB5PSI0NzEuNDciIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjM5MS44MzciIHk9IjQwOC43NzYiIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjM5MS44MzciIHk9IjQ3MS40NyIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iNDY0Ljk4IiB5PSI0NDAuMTIzIiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyMTkuNDI5IiB5PSIzMDkuNTExIiB3aWR0aD0iNDcuMDIiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjI3Ni44OTgiIHk9IjMwOS41MTEiIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjIwLjg5OCIgeT0iMzMwLjQwOSIgd2lkdGg9IjQ3LjAyIiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSI3OC4zNjciIHk9IjMzMC40MDkiIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjQwNy41MSIgeT0iMzMwLjQwOSIgd2lkdGg9IjQ3LjAyIiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIzNzYuMTYzIiB5PSIzMzAuNDA5IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cGF0aCBkPSJNNTEyLDI2Mi40OTJIMTU0LjEyMnYtNTcuNDY5aDk5LjI2NXYtNy44MzdjMC01OS4wNTctNDguMDQ1LTEwNy4xMDItMTA3LjEwMi0xMDcuMTAyUzM5LjE4NCwxMzguMTMsMzkuMTg0LDE5Ny4xODZ2Ny44MzcKCWg5OS4yNjV2NTcuNDY5SDB2MTUuNjczaDEzOC40NDl2ODguODE2SDB2MTUuNjczaDEzOC40NDl2MzEuMzQ3aC0yMy41MXYxNS42NzNoNjIuNjk0di0xNS42NzNoLTIzLjUxdi0zMS4zNDdINTEydi0xNS42NzNIMTU0LjEyMgoJdi04OC44MTZINTEyVjI2Mi40OTJ6IE0xMTIuNjY2LDE4OS4zNWMyLjg2OC0zNC4xODEsMjMuNTI2LTY1LjQ2NiwzMy43NjMtNzkuMDY2YzkuMTUxLDEyLjA3NCwyNi4yOTUsMzkuNywyOC4zNjQsNzkuMDY2SDExMi42NjZ6CgkgTTIzNy4zODIsMTg5LjM1aC00Ni44OTFjLTEuNzY4LTM4LjA1NC0xNi4wMzktNjYuMDQyLTI2Ljc1NS04MS45MjFDMjAzLjMzMiwxMTUuMTEzLDIzMy44OTEsMTQ4LjQzLDIzNy4zODIsMTg5LjM1egoJIE0xMjkuMTAzLDEwNy4zODRjLTEyLjA3LDE3LjI2OC0yOS43MjcsNDcuODktMzIuMTY1LDgxLjk2Nkg1NS4xODlDNTguNjg5LDE0OC4zMzgsODkuMzc4LDExNC45NywxMjkuMTAzLDEwNy4zODR6Ii8+CjxwYXRoIGQ9Ik00MTIuNzM1LDIwNS4wMjNjMzguODkxLDAsNzAuNTMxLTMxLjY0LDcwLjUzMS03MC41MzFzLTMxLjY0LTcwLjUzMS03MC41MzEtNzAuNTMxcy03MC41MzEsMzEuNjQtNzAuNTMxLDcwLjUzMQoJUzM3My44NDQsMjA1LjAyMyw0MTIuNzM1LDIwNS4wMjN6IE00MTIuNzM1LDc5LjYzNWMzMC4yNDgsMCw1NC44NTcsMjQuNjA4LDU0Ljg1Nyw1NC44NTdzLTI0LjYwOSw1NC44NTctNTQuODU3LDU0Ljg1NwoJcy01NC44NTctMjQuNjA4LTU0Ljg1Ny01NC44NTdTMzgyLjQ4Nyw3OS42MzUsNDEyLjczNSw3OS42MzV6Ii8+Cjwvc3ZnPgo=',
41
+ },
42
+ {
43
+ title: 'Image file',
44
+ set: 'imageUrl',
45
+ icon: './plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png',
46
+ },
47
+ {
48
+ title: 'SVG File as image',
49
+ set: 'imageUrl',
50
+ icon: './plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg',
51
+ },
52
+ {
53
+ title: 'SVG Path',
54
+ set: 'svgPathData',
55
+ icon: 'M20.1 15.9A10 10 0 0 1 19.5 12.3v-3A8 8 0 0 0 17.6 4.1 8 8 0 0 0 12.7 1.5a10 10 0 0 0 -3.1 0.3 10 10 0 0 0 -2.7 1.6 10 10 0 0 0 -1.8 2.5 10 10 0 0 0 -0.6 3v3.3a10 10 0 0 1 -0.6 3.6L3 18.5l0.7 1H9q0 1.3 0.9 2.1T12 22.5C13.2 22.5 13.6 22.2 14.1 21.6S15 20.3 15 19.5h5.3L21 18.5zm-7 4.7A2 2 0 0 1 12 21 2 2 0 0 1 10.9 20.6 2 2 0 0 1 10.5 19.5h3a1 1 0 0 1 -0.4 1.1M4.8 18 5.4 16.3a10 10 0 0 0 0.7 -4V9q0 -1.3 0.5 -2.4a4 4 0 0 1 1.5 -2 10 10 0 0 1 2.2 -1.3Q11.6 2.9 12.8 3a6 6 0 0 1 3.9 2.1 6 6 0 0 1 1.5 4.2v3q0 2 0.7 4L19.5 18H5.1z',
56
+ },
57
+ {
58
+ title: 'SVG File',
59
+ set: 'svgString',
60
+ icon: `<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
61
+ viewBox="0 0 475.279 475.279" style="enable-background:new 0 0 475.279 475.279;" xml:space="preserve">
62
+ <g>
63
+ <path d="M361.531,395.98c-33.02,0-50.146,11.539-65.257,21.718c-13.766,9.274-24.639,16.599-48.496,16.599
64
+ c-23.856,0-34.729-7.325-48.495-16.599c-15.111-10.18-32.237-21.718-65.257-21.718c-2.381,0-4.67,0.067-6.891,0.182V236.423
65
+ c23.946,6.592,41.592,28.547,41.592,54.559h30c0-28.366-13.71-53.59-34.852-69.394c14.009,2.427,27.128,10.074,36.125,22.457
66
+ l24.271-17.634c-16.673-22.948-42.59-35.296-68.983-35.655c12.76-6.271,27.868-7.796,42.424-3.066l9.271-28.531
67
+ c-22.013-7.154-45.479-5.311-66.078,5.185c-11.382,5.799-21.13,13.869-28.791,23.635c-21.817-27.68-59.396-40.329-94.824-28.82
68
+ l9.271,28.532c14.556-4.729,29.664-3.205,42.424,3.066C42.59,191.115,16.672,203.463,0,226.411l24.271,17.634
69
+ c8.997-12.385,22.116-20.032,36.126-22.458c-21.143,15.804-34.854,41.028-34.854,69.395h30c0-26.012,17.646-47.967,41.592-54.559
70
+ v165.655c-11.486,4.257-20.22,10.135-28.364,15.621c-13.765,9.273-24.637,16.599-48.492,16.599v30
71
+ c33.018,0,50.145-11.539,65.255-21.719c13.765-9.273,24.637-16.599,48.492-16.599c23.856,0,34.729,7.325,48.495,16.599
72
+ c15.111,10.18,32.237,21.718,65.257,21.718s50.146-11.539,65.257-21.718c13.766-9.274,24.639-16.599,48.496-16.599
73
+ c23.855,0,34.728,7.325,48.493,16.599c15.11,10.18,32.237,21.719,65.255,21.719v-30c-23.855,0-34.728-7.325-48.493-16.599
74
+ C411.676,407.519,394.55,395.98,361.531,395.98z"/>
75
+ <path d="M438.776,105.982c-1.944-9.575-5.72-18.48-10.933-26.351l25.824-25.824l-21.213-21.213l-25.824,25.824
76
+ c-7.871-5.213-16.777-8.989-26.351-10.933V10.982h-30v36.503c-9.575,1.944-18.48,5.72-26.351,10.933l-25.824-25.824l-21.213,21.213
77
+ l25.824,25.824c-5.213,7.871-8.989,16.777-10.933,26.351h-36.503v30h36.503c1.944,9.575,5.72,18.48,10.933,26.351l-25.824,25.824
78
+ l21.213,21.213l25.824-25.824c7.871,5.213,16.777,8.989,26.351,10.933v36.503h30v-36.503c9.575-1.944,18.48-5.72,26.351-10.933
79
+ l25.824,25.824l21.213-21.213l-25.824-25.824c5.213-7.871,8.989-16.777,10.933-26.351h36.503v-30H438.776z"/>
80
+ </g>
81
+ </svg>`,
82
+ },
83
+ ];
84
+
85
+ return {
86
+ icons,
87
+ };
88
+ },
89
+ };
90
+ </script>
@@ -0,0 +1,45 @@
1
+ import { ButtonLocation, createToggleAction } from '@vcmap/ui';
2
+ import CustomIconsExample from './CustomIconsExample.vue';
3
+ import packageJSON from '../package.json';
4
+
5
+ export default async function customIconExample() {
6
+ return {
7
+ get name() {
8
+ return packageJSON.name;
9
+ },
10
+ get version() {
11
+ return packageJSON.version;
12
+ },
13
+ get mapVersion() {
14
+ return packageJSON.mapVersion;
15
+ },
16
+ onVcsAppMounted(app) {
17
+ const { action, destroy } = createToggleAction(
18
+ {
19
+ name: 'Custom icons example',
20
+ },
21
+ {
22
+ id: 'custom-icons-example',
23
+ state: {
24
+ headerTitle: 'Custom icons example',
25
+ },
26
+ component: CustomIconsExample,
27
+ },
28
+ app.windowManager,
29
+ packageJSON.name,
30
+ );
31
+ app.navbarManager.add(
32
+ { id: 'custom-icons-example', action },
33
+ packageJSON.name,
34
+ ButtonLocation.TOOL,
35
+ );
36
+ this._destoryAction = [destroy];
37
+ },
38
+ destroy() {
39
+ if (this._destroyActions) {
40
+ this._destroyActions.forEach((cb) => cb());
41
+ this._destroyActions = null;
42
+ }
43
+ },
44
+ };
45
+ }
@@ -41,9 +41,9 @@
41
41
  </v-col>
42
42
  </v-row>
43
43
  <v-row no-gutters>
44
- <v-col>
44
+ <v-col cols="6">
45
45
  <VcsLabel :disabled="disabled" html-for="conditionalInput">
46
- ConditionalInput
46
+ Conditional Input with long label
47
47
  </VcsLabel>
48
48
  </v-col>
49
49
  <v-col>
@@ -1,15 +1,21 @@
1
1
  <template>
2
- <VcsList :items="plugins" :show-title="false" />
2
+ <div>
3
+ <VcsHelp
4
+ text="Below all config editors provided by plugins are listed. Important Note: Changes made in editors are not applied!"
5
+ ></VcsHelp>
6
+ <VcsList :items="plugins" :show-title="false" />
7
+ </div>
3
8
  </template>
4
9
 
5
10
  <script>
6
11
  import { inject, onUnmounted, ref } from 'vue';
7
- import { VcsList, createToggleAction, WindowSlot } from '@vcmap/ui';
12
+ import { VcsList, createToggleAction, WindowSlot, VcsHelp } from '@vcmap/ui';
8
13
  import { name } from '../package.json';
9
14
 
10
15
  export default {
11
16
  name: 'PluginEditors',
12
17
  components: {
18
+ VcsHelp,
13
19
  VcsList,
14
20
  },
15
21
  setup() {
@@ -41,12 +47,10 @@
41
47
  if (config) {
42
48
  vcsApp.notifier.add({
43
49
  type: 'info',
44
- message: `${plugin.name}: ${JSON.stringify(
45
- config,
46
- null,
47
- 2,
48
- )}`,
50
+ title: plugin.name,
51
+ message: JSON.stringify(config, null, 2),
49
52
  });
53
+ console.log(config);
50
54
  } else {
51
55
  vcsApp.notifier.add({
52
56
  type: 'warning',
@@ -13,7 +13,7 @@
13
13
  <v-icon
14
14
  v-if="module.description && toggleable"
15
15
  right
16
- v-bind="{ ...$attrs, ...props }"
16
+ v-bind="{ ...$attrs, ...$props }"
17
17
  >
18
18
  mdi-help-circle
19
19
  </v-icon>
@@ -0,0 +1,3 @@
1
+ # Theming Example
2
+
3
+ This is a show-case plugin demonstrating the different Theming options.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@vcmap-show-case/theming-example",
3
+ "version": "1.0.0",
4
+ "mapVersion": "^6.0.0"
5
+ }
@@ -0,0 +1,116 @@
1
+ <template>
2
+ <VCard>
3
+ <VcsFormSection heading="Colors" expandable start-open>
4
+ <v-container class="px-1 py-0">
5
+ <v-row
6
+ v-for="key in Object.keys(currentTheme.colors)"
7
+ :key="key"
8
+ no-gutters
9
+ >
10
+ <v-col>
11
+ <VcsLabel>{{ key }}</VcsLabel>
12
+ </v-col>
13
+ <v-col>
14
+ <VcsTextField
15
+ v-model="currentTheme.colors[key]"
16
+ :bg-color="currentTheme.colors[key]"
17
+ ></VcsTextField>
18
+ </v-col>
19
+ </v-row>
20
+ </v-container>
21
+ </VcsFormSection>
22
+ <VcsFormSection heading="Variables" expandable start-open>
23
+ <v-container class="px-1 py-0">
24
+ <v-row
25
+ no-gutters
26
+ v-for="key in Object.keys(currentTheme.variables)"
27
+ :key="key"
28
+ >
29
+ <v-col>
30
+ <VcsLabel>{{ key }}</VcsLabel>
31
+ </v-col>
32
+ <v-col>
33
+ <VcsTextField v-model="currentTheme.variables[key]"></VcsTextField>
34
+ </v-col>
35
+ </v-row>
36
+ </v-container>
37
+ </VcsFormSection>
38
+ <v-container class="px-1 py-0">
39
+ <VcsFormButton @click="reset"> Reset default </VcsFormButton>
40
+ </v-container>
41
+ </VCard>
42
+ </template>
43
+
44
+ <script>
45
+ import {
46
+ createVcsThemes,
47
+ VcsTextField,
48
+ VcsLabel,
49
+ VcsFormSection,
50
+ VcsFormButton,
51
+ isDark,
52
+ } from '@vcmap/ui';
53
+ import {
54
+ watch,
55
+ inject,
56
+ ref,
57
+ computed,
58
+ toRaw,
59
+ onMounted,
60
+ onUnmounted,
61
+ } from 'vue';
62
+ import { VCard, VCol, VRow, VContainer } from 'vuetify/components';
63
+
64
+ export default {
65
+ name: 'ThemingExample',
66
+ components: {
67
+ VcsLabel,
68
+ VcsFormSection,
69
+ VcsFormButton,
70
+ VcsTextField,
71
+ VContainer,
72
+ VCard,
73
+ VRow,
74
+ VCol,
75
+ },
76
+ setup() {
77
+ const app = inject('vcsApp');
78
+ const theming = ref(createVcsThemes());
79
+ const currentTheme = computed(() => {
80
+ if (isDark(app)) {
81
+ return theming.value.dark;
82
+ } else {
83
+ return theming.value.light;
84
+ }
85
+ });
86
+ onMounted(() => {
87
+ app.uiConfig.override({
88
+ name: 'vuetifyTheme',
89
+ value: toRaw(theming.value),
90
+ });
91
+ });
92
+ onUnmounted(() => {
93
+ app.uiConfig.remove(app.uiConfig.getByKey('vuetifyTheme'));
94
+ });
95
+ watch(
96
+ () => theming.value,
97
+ () => {
98
+ app.uiConfig.replace({
99
+ name: 'vuetifyTheme',
100
+ value: toRaw(theming.value),
101
+ });
102
+ },
103
+ { deep: true },
104
+ );
105
+ return {
106
+ reset: () => {
107
+ theming.value = createVcsThemes();
108
+ },
109
+ theming,
110
+ currentTheme,
111
+ };
112
+ },
113
+ };
114
+ </script>
115
+
116
+ <style scoped></style>
@@ -0,0 +1,53 @@
1
+ import { createToggleAction, ButtonLocation, WindowSlot } from '@vcmap/ui';
2
+ import packageJSON from '../package.json';
3
+ import ThemingExample from './ThemingExample.vue';
4
+
5
+ /**
6
+ * @returns {VcsPlugin}
7
+ */
8
+ export default async () => {
9
+ return {
10
+ get name() {
11
+ return packageJSON.name;
12
+ },
13
+ get version() {
14
+ return packageJSON.version;
15
+ },
16
+ get mapVersion() {
17
+ return packageJSON.mapVersion;
18
+ },
19
+ onVcsAppMounted(app) {
20
+ const { action, destroy } = createToggleAction(
21
+ {
22
+ name: 'Theming Example',
23
+ icon: '$vcsWand',
24
+ title: 'Theming Example Plugin',
25
+ },
26
+ {
27
+ id: 'theming-example',
28
+ component: ThemingExample,
29
+ slot: WindowSlot.DYNAMIC_LEFT,
30
+ state: {
31
+ headerTitle: 'Theming Example',
32
+ headerIcon: '$vcsWand',
33
+ styles: { width: '350px', height: 'auto' },
34
+ },
35
+ },
36
+ app.windowManager,
37
+ packageJSON.name,
38
+ );
39
+ app.navbarManager.add(
40
+ { id: 'theming-example', action },
41
+ packageJSON.name,
42
+ ButtonLocation.MENU,
43
+ );
44
+ this._destroyAction = destroy;
45
+ },
46
+ destroy() {
47
+ if (this._destroyAction) {
48
+ this._destroyAction();
49
+ this._destroyAction = null;
50
+ }
51
+ },
52
+ };
53
+ };