@vcmap/ui 6.0.0-rc.1 → 6.0.0-rc.10

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 (485) hide show
  1. package/build/build.js +40 -60
  2. package/build/buildHelpers.js +63 -20
  3. package/build/buildTypes.js +9 -5
  4. package/build/bundle.js +1 -1
  5. package/build/info/conf.json +1 -1
  6. package/build/info/publish.js +25 -31
  7. package/build/lintTypes.js +5 -0
  8. package/config/aerowest.config.json +12 -2
  9. package/config/base.config.json +22 -17
  10. package/config/dev.config.json +164 -4
  11. package/config/projects.config.json +3 -1
  12. package/config/solar.config.json +65 -0
  13. package/config/splashscreen.config.json +45 -0
  14. package/config/theming.config.json +68 -0
  15. package/config/www.config.json +39 -23
  16. package/dist/.htaccess +7 -0
  17. package/dist/assets/@mdi/font/README.md +25 -0
  18. package/dist/assets/@mdi/font/css/materialdesignicons.min-680621ca.css +3 -0
  19. package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  20. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  21. package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
  22. package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
  23. package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-2LOWCAMW.js} +14 -14
  24. package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-2PTKXHJB.js} +12 -12
  25. package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-3HQMMUPU.js} +1 -1
  26. package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-3IFRSGEY.js} +11 -13
  27. package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-44QAAS4P.js} +11 -9
  28. package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-56EDBCGT.js} +33 -22
  29. package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-57H6I3SV.js} +5 -5
  30. package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-6SQMLVGV.js} +5206 -3483
  31. package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-7YIOHQWH.js} +16 -16
  32. package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-7ZZ5LMZY.js} +17 -16
  33. package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-BVKITG4N.js} +11 -8
  34. package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-C3EQ27WF.js} +7 -7
  35. package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-C4WPMOKT.js} +6 -5
  36. package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-EDLRS3AW.js} +6 -6
  37. package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EJVGYGLF.js} +7 -7
  38. package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FFLMY4TE.js} +830 -14
  39. package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-GBT7MJ6X.js} +1 -1
  40. package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-HJMNR3GC.js} +11 -11
  41. package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-HP5XLODI.js} +6 -6
  42. package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-IBRIWOCM.js} +13 -13
  43. package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-IZGUQO6Q.js} +14 -16
  44. package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-IZJ42N4W.js} +230 -20
  45. package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-JBSKHTNX.js} +4 -4
  46. package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-JISPSEF3.js} +4 -4
  47. package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-JSQJDZI4.js} +16 -12
  48. package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-JXVLNVXC.js} +10 -12
  49. package/dist/assets/cesium/Workers/chunk-KHZNBFOH.js +963 -0
  50. package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-L5GODJAR.js} +15 -17
  51. package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-LJ2JQHJT.js} +13 -8
  52. package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-LLAF3CPH.js} +2 -2
  53. package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-M24KHENR.js} +95 -155
  54. package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-NDDI2LWR.js} +6 -6
  55. package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-NGZJIN5Z.js} +4 -4
  56. package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-O72GZTSE.js} +2 -2
  57. package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-OPP2SKMA.js} +12 -12
  58. package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-P6TRGU3S.js} +2 -2
  59. package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QN6TBED4.js} +13 -13
  60. package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-QQOZO7KO.js} +10 -10
  61. package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-RJM36CNY.js} +6 -6
  62. package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-RTJKHZWU.js} +6 -6
  63. package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-TI3TRKIC.js} +425 -489
  64. package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-TK5IIG2F.js} +5 -7
  65. package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-U5HSOKPQ.js} +1 -1
  66. package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-WGDFYAGC.js} +5 -6
  67. package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-X7IQYYHF.js} +2 -2
  68. package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-XIUSRWL6.js} +9 -5
  69. package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-XWOUPGUF.js} +1 -1
  70. package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-YCDZX5LS.js} +3 -5
  71. package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-YK3QIKY7.js} +12 -14
  72. package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-YSIJTJ7N.js} +5 -5
  73. package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-Z2QP3CXW.js} +2 -2
  74. package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-ZVUUPJEM.js} +22 -22
  75. package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
  76. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
  77. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
  78. package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
  79. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
  80. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
  81. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
  82. package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
  83. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
  84. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
  85. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
  86. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
  87. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
  88. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
  89. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
  90. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
  91. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
  92. package/dist/assets/cesium/Workers/createGeometry.js +52 -33
  93. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
  94. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
  95. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
  96. package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
  97. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
  98. package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
  99. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
  100. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
  101. package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
  102. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
  103. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
  104. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
  105. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
  106. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  107. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
  108. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
  109. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  110. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
  111. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
  112. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
  113. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +29 -26
  114. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
  115. package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
  116. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
  117. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  118. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +35 -19
  119. package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
  120. package/dist/assets/cesium/Workers/transcodeKTX2.js +58 -93
  121. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  122. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
  123. package/dist/assets/{cesium.6b12b4.js → cesium-9ea5ba6e.js} +73315 -68035
  124. package/dist/assets/cesium.js +1 -1
  125. package/dist/assets/{core.074b78.js → core-9b003470.js} +7135 -5664
  126. package/dist/assets/core.js +1 -1
  127. package/dist/assets/{ol.8b2e3a.js → ol-8373d6ac.js} +43066 -44325
  128. package/dist/assets/ol.js +1 -1
  129. package/dist/assets/ui-163311a7.css +1 -0
  130. package/dist/assets/{ui.715986.js → ui-163311a7.js} +14696 -13170
  131. package/dist/assets/ui.js +1 -1
  132. package/dist/assets/vue-0f6dd813.js +6083 -0
  133. package/dist/assets/vue.js +1 -1
  134. package/dist/assets/{vuetify.28d881.css → vuetify-e2c4b35c.css} +2 -2
  135. package/dist/assets/{vuetify.28d881.js → vuetify-e2c4b35c.js} +8699 -8824
  136. package/dist/assets/vuetify.js +1 -1
  137. package/dist/index.html +11 -10
  138. package/index.d.ts +36 -20
  139. package/index.html +5 -5
  140. package/index.js +20 -10
  141. package/lib/olLib.js +90 -23
  142. package/package.json +25 -23
  143. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  144. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  145. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  146. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  147. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  148. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  149. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
  150. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +73 -34
  151. package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
  152. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
  153. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +50 -96
  154. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +14 -11
  155. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
  156. package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
  157. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
  158. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
  159. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  160. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  161. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  162. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  163. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  164. package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
  165. package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
  166. package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
  167. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +86 -70
  168. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
  169. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
  170. package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
  171. package/plugins/package.json +23 -21
  172. package/public/assets/@mdi/font/README.md +25 -0
  173. package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
  174. package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  175. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  176. package/src/actions/StyleSelector.vue +37 -21
  177. package/src/actions/StyleSelector.vue.d.ts +5 -5
  178. package/src/actions/actionHelper.d.ts +4 -11
  179. package/src/actions/actionHelper.js +35 -27
  180. package/src/actions/flightActions.js +44 -23
  181. package/src/actions/listActions.d.ts +5 -12
  182. package/src/actions/listActions.js +6 -22
  183. package/src/actions/stateRefAction.js +2 -2
  184. package/src/application/VcsApp.vue +196 -85
  185. package/src/application/VcsApp.vue.d.ts +309 -4
  186. package/src/application/VcsAppWrapper.vue +1 -1
  187. package/src/application/VcsAttributions.vue +4 -15
  188. package/src/application/VcsAttributionsFooter.vue +28 -18
  189. package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
  190. package/src/application/VcsContainer.vue +27 -10
  191. package/src/application/VcsContainer.vue.d.ts +248 -0
  192. package/src/application/VcsMainMap.vue +8 -8
  193. package/src/application/VcsMainMap.vue.d.ts +2 -2
  194. package/src/application/VcsMap.vue +1 -0
  195. package/src/application/VcsNavbar.vue +15 -3
  196. package/src/application/VcsNavbar.vue.d.ts +2 -1
  197. package/src/application/VcsPositionDisplay.vue +10 -25
  198. package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
  199. package/src/application/VcsSettings.vue +11 -18
  200. package/src/application/VcsSplashScreen.vue +43 -55
  201. package/src/application/VcsSplashScreen.vue.d.ts +4 -6
  202. package/src/application/VcsTextPage.vue +13 -44
  203. package/src/application/VcsTextPage.vue.d.ts +4 -8
  204. package/src/application/VcsTextPageFooter.vue +26 -41
  205. package/src/application/attributionsHelper.d.ts +20 -22
  206. package/src/application/attributionsHelper.js +14 -10
  207. package/src/callback/vcsCallback.d.ts +2 -2
  208. package/src/callback/vcsCallback.js +1 -1
  209. package/src/components/buttons/VcsActionButtonList.vue +66 -7
  210. package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
  211. package/src/components/buttons/VcsButton.vue +8 -10
  212. package/src/components/buttons/VcsButton.vue.d.ts +4 -4
  213. package/src/components/buttons/VcsFormButton.vue +9 -9
  214. package/src/components/buttons/VcsFormButton.vue.d.ts +3 -3
  215. package/src/components/buttons/VcsToolButton.vue +9 -7
  216. package/src/components/buttons/VcsToolButton.vue.d.ts +5 -5
  217. package/src/components/composables.d.ts +14 -2
  218. package/src/components/composables.js +106 -4
  219. package/src/components/extent/VcsExtent.vue +11 -7
  220. package/src/components/extent/VcsExtent.vue.d.ts +1 -0
  221. package/src/components/extent/VcsExtentEditor.vue +2 -1
  222. package/src/components/flight/VcsFlightAnchorsComponent.vue +64 -36
  223. package/src/components/flight/VcsFlightComponent.vue +25 -30
  224. package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
  225. package/src/components/flight/VcsFlightEditor.vue +1 -0
  226. package/src/components/flight/VcsFlightPlayer.vue +47 -19
  227. package/src/components/form-inputs-controls/VcsCheckbox.vue +32 -13
  228. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +10 -0
  229. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +14 -17
  230. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +2 -4
  231. package/src/components/form-inputs-controls/VcsCoordinate.vue +17 -5
  232. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
  233. package/src/components/form-inputs-controls/VcsDatePicker.vue +53 -59
  234. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +2 -64
  235. package/src/components/form-inputs-controls/VcsFileInput.vue +18 -19
  236. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
  237. package/src/components/form-inputs-controls/VcsLabel.vue +65 -3
  238. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +32 -1
  239. package/src/components/form-inputs-controls/VcsRadio.vue +26 -10
  240. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +2 -0
  241. package/src/components/form-inputs-controls/VcsSelect.vue +47 -47
  242. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +9 -6
  243. package/src/components/form-inputs-controls/VcsSlider.vue +53 -15
  244. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +26 -2
  245. package/src/components/form-inputs-controls/VcsTextArea.vue +56 -40
  246. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
  247. package/src/components/form-inputs-controls/VcsTextField.vue +46 -16
  248. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +12 -1
  249. package/src/components/form-inputs-controls/VcsWizard.vue +89 -112
  250. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
  251. package/src/components/form-inputs-controls/VcsWizardStep.vue +78 -58
  252. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +24 -11
  253. package/src/components/form-inputs-controls/vcsTextField.scss +21 -13
  254. package/src/components/form-output/VcsFormattedNumber.vue +46 -14
  255. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +27 -0
  256. package/src/components/form-output/VcsMarkdown.vue +56 -0
  257. package/src/{application/VcsCustomScreen.vue.d.ts → components/form-output/VcsMarkdown.vue.d.ts} +7 -5
  258. package/src/components/form-output/markdownHelper.d.ts +30 -0
  259. package/src/components/form-output/markdownHelper.js +398 -0
  260. package/src/components/import/VcsFileDrop.vue +9 -6
  261. package/src/components/import/VcsImportComponent.vue +12 -8
  262. package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
  263. package/src/components/lists/VcsActionList.vue +50 -34
  264. package/src/components/lists/VcsActionList.vue.d.ts +3 -1
  265. package/src/components/lists/VcsList.vue +105 -192
  266. package/src/components/lists/VcsList.vue.d.ts +18 -66
  267. package/src/components/lists/VcsListItemComponent.vue +216 -0
  268. package/src/components/lists/VcsListItemComponent.vue.d.ts +83 -0
  269. package/src/components/lists/VcsTreeview.vue +119 -26
  270. package/src/components/lists/VcsTreeview.vue.d.ts +26 -3
  271. package/src/components/lists/VcsTreeviewSearchbar.vue +17 -6
  272. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
  273. package/src/components/lists/VcsTreeviewTitle.vue +40 -0
  274. package/src/components/modelHelper.d.ts +21 -8
  275. package/src/components/modelHelper.js +50 -8
  276. package/src/components/notification/VcsBadge.vue +2 -2
  277. package/src/components/notification/VcsHelp.vue +6 -7
  278. package/src/components/notification/VcsHelp.vue.d.ts +0 -8
  279. package/src/components/notification/VcsHelpTooltip.vue +48 -0
  280. package/src/components/notification/VcsHelpTooltip.vue.d.ts +25 -0
  281. package/src/components/plugins/AbstractConfigEditor.vue +2 -23
  282. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
  283. package/src/components/section/VcsExpansionPanel.vue +111 -0
  284. package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
  285. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +13 -7
  286. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +2 -3
  287. package/src/components/style/MenuWrapper.vue +25 -27
  288. package/src/components/style/MenuWrapper.vue.d.ts +4 -4
  289. package/src/components/style/VcsFeatureStyleComponent.vue +1 -0
  290. package/src/components/style/VcsFillMenu.vue +10 -16
  291. package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
  292. package/src/components/style/VcsFillSelector.vue +14 -16
  293. package/src/components/style/VcsImageMenu.vue +9 -25
  294. package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
  295. package/src/components/style/VcsImageSelector.vue +115 -172
  296. package/src/components/style/VcsImageSelector.vue.d.ts +16 -15
  297. package/src/components/style/VcsStrokeMenu.vue +9 -15
  298. package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
  299. package/src/components/style/VcsStrokeSelector.vue +17 -21
  300. package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
  301. package/src/components/style/VcsTextMenu.vue +12 -14
  302. package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
  303. package/src/components/style/VcsTextSelector.vue +80 -96
  304. package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
  305. package/src/components/style/VcsVectorStyleComponent.vue +9 -20
  306. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
  307. package/src/components/style/composables.d.ts +0 -14
  308. package/src/components/style/composables.js +0 -49
  309. package/src/components/tables/VcsDataTable.vue +43 -33
  310. package/src/components/tables/VcsDataTable.vue.d.ts +2 -1
  311. package/src/components/tables/VcsTable.vue +46 -62
  312. package/src/components/tables/VcsTable.vue.d.ts +30 -17
  313. package/src/components/tables/VcsTableCell.vue +72 -0
  314. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  315. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +87 -51
  316. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +9 -7
  317. package/src/components/vector-properties/VcsFeatureTransforms.vue +45 -6
  318. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -1
  319. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +541 -596
  320. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +222 -24
  321. package/src/components/viewpoint/VcsViewpointComponent.vue +36 -20
  322. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
  323. package/src/components/viewpoint/VcsViewpointEditor.vue +3 -1
  324. package/src/contentTree/LayerTree.vue +10 -28
  325. package/src/contentTree/LayerTree.vue.d.ts +1 -1
  326. package/src/contentTree/contentTreeCollection.d.ts +1 -0
  327. package/src/contentTree/contentTreeCollection.js +45 -11
  328. package/src/contentTree/contentTreeItem.d.ts +4 -4
  329. package/src/contentTree/contentTreeItem.js +8 -8
  330. package/src/contentTree/layerContentTreeItem.d.ts +8 -5
  331. package/src/contentTree/layerContentTreeItem.js +48 -34
  332. package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
  333. package/src/contentTree/layerGroupContentTreeItem.js +22 -3
  334. package/src/contentTree/obliqueCollectionContentTreeItem.js +6 -1
  335. package/src/featureInfo/AddressBalloonComponent.vue +1 -1
  336. package/src/featureInfo/BalloonComponent.vue +33 -26
  337. package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
  338. package/src/featureInfo/IframeComponent.vue +6 -1
  339. package/src/featureInfo/MarkdownBalloonComponent.vue +5 -3
  340. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  341. package/src/featureInfo/abstractFeatureInfoView.d.ts +19 -4
  342. package/src/featureInfo/abstractFeatureInfoView.js +38 -13
  343. package/src/featureInfo/balloonHelper.js +1 -1
  344. package/src/featureInfo/featureInfo.d.ts +7 -7
  345. package/src/featureInfo/featureInfo.js +59 -41
  346. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  347. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  348. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  349. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  350. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  351. package/src/featureInfo/markdownFeatureInfoView.js +9 -11
  352. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  353. package/src/i18n/de.d.ts +59 -32
  354. package/src/i18n/de.js +28 -5
  355. package/src/i18n/en.d.ts +59 -32
  356. package/src/i18n/en.js +25 -2
  357. package/src/i18n/i18nCollection.d.ts +9 -15
  358. package/src/i18n/i18nCollection.js +3 -3
  359. package/src/init.d.ts +5 -38
  360. package/src/init.js +19 -18
  361. package/src/legend/StyleLegendItem.vue +4 -9
  362. package/src/legend/VcsLegend.vue +33 -55
  363. package/src/legend/VcsLegend.vue.d.ts +1 -0
  364. package/src/manager/buttonManager.js +4 -4
  365. package/src/manager/collectionManager/CollectionComponent.vue +18 -42
  366. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
  367. package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
  368. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
  369. package/src/manager/collectionManager/CollectionComponentList.vue +11 -9
  370. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +6 -4
  371. package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
  372. package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
  373. package/src/manager/collectionManager/CollectionManager.vue +1 -1
  374. package/src/manager/collectionManager/categoryManager.d.ts +1 -1
  375. package/src/manager/collectionManager/collectionComponentClass.d.ts +3 -3
  376. package/src/manager/collectionManager/collectionComponentClass.js +16 -15
  377. package/src/manager/collectionManager/collectionManager.d.ts +1 -1
  378. package/src/manager/collectionManager/collectionManager.js +10 -10
  379. package/src/manager/collectionManager/editorCollectionComponentClass.js +11 -8
  380. package/src/manager/contextMenu/ContextMenuComponent.vue +1 -1
  381. package/src/manager/contextMenu/contextMenuManager.js +2 -2
  382. package/src/manager/navbarManager.js +2 -2
  383. package/src/manager/panel/PanelComponent.vue +2 -9
  384. package/src/manager/panel/PanelManagerComponent.vue +9 -5
  385. package/src/manager/panel/panelHelper.js +3 -3
  386. package/src/manager/panel/panelManager.d.ts +9 -1
  387. package/src/manager/panel/panelManager.js +18 -6
  388. package/src/manager/toolbox/GroupToolboxComponent.vue +13 -7
  389. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  390. package/src/manager/toolbox/SelectToolboxComponent.vue +13 -8
  391. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  392. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +28 -8
  393. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -0
  394. package/src/manager/toolbox/toolboxManager.js +10 -10
  395. package/src/manager/window/WindowComponent.vue +13 -9
  396. package/src/manager/window/WindowComponentHeader.vue +33 -9
  397. package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -0
  398. package/src/manager/window/WindowManager.vue +6 -3
  399. package/src/manager/window/windowManager.d.ts +71 -15
  400. package/src/manager/window/windowManager.js +32 -11
  401. package/src/navigation/MapNavigation.vue +52 -9
  402. package/src/navigation/ObliqueRotation.vue +2 -2
  403. package/src/navigation/OrientationToolsButton.vue +37 -26
  404. package/src/navigation/OrientationToolsButton.vue.d.ts +5 -1
  405. package/src/navigation/TiltSlider.vue +82 -88
  406. package/src/navigation/TiltSlider.vue.d.ts +10 -7
  407. package/src/navigation/VcsCompass.vue +17 -11
  408. package/src/navigation/VcsCompass.vue.d.ts +2 -0
  409. package/src/navigation/VcsZoomButton.vue +1 -1
  410. package/src/navigation/locatorHelper.js +4 -22
  411. package/src/navigation/overviewMap.js +5 -2
  412. package/src/notifier/NotifierComponent.vue +19 -16
  413. package/src/obliqueFallbackWarnings.d.ts +5 -0
  414. package/src/obliqueFallbackWarnings.js +54 -0
  415. package/src/search/ResultItem.vue +18 -6
  416. package/src/search/ResultsComponent.vue +32 -21
  417. package/src/search/ResultsComponent.vue.d.ts +2 -1
  418. package/src/search/SearchComponent.vue +14 -16
  419. package/src/search/SearchComponent.vue.d.ts +1 -0
  420. package/src/search/search.js +2 -2
  421. package/src/siteConfig.js +9 -9
  422. package/src/state.js +4 -4
  423. package/src/styles/_typography.scss +1 -2
  424. package/src/styles/main.scss +0 -4
  425. package/src/styles/vcsList.scss +1 -1
  426. package/src/uiConfig.d.ts +323 -7
  427. package/src/uiConfig.js +31 -17
  428. package/src/vcsUiApp.d.ts +90 -80
  429. package/src/vcsUiApp.js +61 -41
  430. package/src/vuePlugins/i18n.js +8 -0
  431. package/src/vuePlugins/vuetify.d.ts +88 -60
  432. package/src/vuePlugins/vuetify.js +134 -20
  433. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  434. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
  435. package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
  436. package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
  437. package/dist/assets/index-ca7EmZ3d.js +0 -1
  438. package/dist/assets/ui.715986.css +0 -1
  439. package/dist/assets/vue.0f2c53.js +0 -6096
  440. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  441. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  442. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  443. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  444. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  445. package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  446. package/src/application/VcsCustomScreen.vue +0 -45
  447. package/src/application/markdownHelper.d.ts +0 -12
  448. package/src/application/markdownHelper.js +0 -85
  449. package/src/components/lists/VcsTreeviewLeaf.vue +0 -83
  450. package/src/components/notification/VcsTooltip.vue +0 -156
  451. package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
  452. package/src/components/vector-properties/composables.d.ts +0 -33
  453. package/src/components/vector-properties/composables.js +0 -100
  454. package/src/featureInfo/MarkdownComponent.vue +0 -16
  455. package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
  456. package/src/styles/_theming.scss +0 -73
  457. package/src/styles/settings.scss +0 -6
  458. package/src/styles/shades.scss +0 -4
  459. package/src/styles/variables.scss +0 -140
  460. package/src/styles/vcsFont.scss +0 -2
  461. package/src/styles/vcsGrid.scss +0 -3
  462. /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
  463. /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
  464. /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
  465. /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
  466. /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
  467. /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
  468. /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
  469. /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
  470. /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
  471. /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
  472. /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
  473. /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
  474. /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
  475. /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
  476. /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
  477. /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
  478. /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
  479. /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
  480. /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
  481. /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
  482. /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
  483. /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
  484. /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
  485. /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
package/src/vcsUiApp.d.ts CHANGED
@@ -1,48 +1,33 @@
1
1
  export default VcsUiApp;
2
2
  export type VcsUiModuleConfig = import("@vcmap/core").VcsModuleConfig & {
3
- plugins?: Object[];
3
+ plugins?: Record<string, unknown>[];
4
4
  contentTree?: import("./contentTree/contentTreeItem.js").ContentTreeItemOptions[];
5
5
  uiConfig?: import("./uiConfig.js").UiConfigurationItem<unknown>[];
6
6
  featureInfo?: import("./featureInfo/abstractFeatureInfoView.js").FeatureInfoViewOptions[];
7
- i18n?: Object[];
7
+ i18n?: import("./i18n/i18nCollection.js").I18nConfigurationItem[];
8
8
  };
9
9
  export type PluginConfig = {
10
10
  name: string;
11
- /**
12
- * - path to the plugin's index.js
13
- */
14
- entry: string | undefined;
15
- /**
16
- * - version or version range
17
- */
18
- version: string | undefined;
11
+ entry?: string;
12
+ version?: string;
19
13
  };
20
- export type PluginConfigEditor = {
21
- /**
22
- * - A editor component to configure a plugin or item
23
- */
24
- component: import("vue").Component & {
25
- title: string | undefined;
26
- };
27
- /**
28
- * - The collection the item belongs to. Default is plugins collection.
29
- */
30
- collectionName?: string | undefined;
31
- /**
32
- * - The item the editor can be used for. Can be a name or className. Default is the plugin's name.
33
- */
34
- itemName?: string | undefined;
35
- /**
36
- * - An optional function returning an url referencing help or further information regarding the config editor.
37
- */
38
- infoUrlCallback?: (() => string) | undefined;
14
+ export type PluginConfigEditorComponent<C extends Object> = import("vue").Component<{
15
+ getConfig(): C;
16
+ setConfig(config?: C): void;
17
+ }>;
18
+ export type PluginConfigEditor<C extends Object> = {
19
+ component: PluginConfigEditorComponent<C>;
20
+ title?: string;
21
+ collectionName?: string;
22
+ itemName?: string;
23
+ infoUrlCallback?: () => string;
39
24
  };
40
- export type createPlugin<P extends Object, S extends Object> = (arg0: P, arg1: string) => VcsPlugin<P, S>;
25
+ export type createPlugin<C extends Object, S extends Object> = (arg0: C, arg1: string) => VcsPlugin<C, S>;
41
26
  /**
42
27
  * Interface for VcsPlugins.
43
28
  * The function implementing the interface should not throw!
44
29
  */
45
- export type VcsPlugin<P extends Object, S extends Object> = {
30
+ export type VcsPlugin<C extends Object, S extends Object> = {
46
31
  name: string;
47
32
  version: string;
48
33
  mapVersion: string;
@@ -51,10 +36,10 @@ export type VcsPlugin<P extends Object, S extends Object> = {
51
36
  };
52
37
  initialize?: (arg0: import("@src/vcsUiApp.js").default, arg1: S | undefined) => void | Promise<void>;
53
38
  onVcsAppMounted?: (arg0: import("@src/vcsUiApp.js").default) => void;
54
- toJSON?: () => P;
55
- getDefaultOptions?: () => P;
39
+ toJSON?: () => C;
40
+ getDefaultOptions?: () => C;
56
41
  getState?: (arg0: boolean | undefined) => S | Promise<S>;
57
- getConfigEditors?: () => Array<PluginConfigEditor>;
42
+ getConfigEditors?: () => Array<PluginConfigEditor<object>>;
58
43
  destroy?: () => void;
59
44
  };
60
45
  export type VcsComponentManager<T extends Object, O extends Object> = {
@@ -85,20 +70,21 @@ declare class VcsUiApp extends VcsApp {
85
70
  */
86
71
  themeChanged: VcsEvent<void>;
87
72
  /**
88
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin>}
73
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
89
74
  * @private
90
75
  */
91
76
  private _plugins;
92
77
  /**
93
- * @type {Array<function():void>}
78
+ * I18n Collection adds plugin listener first, so the plugin i18n data is available on plugin initialize
79
+ * @type {I18nCollection<Object>}
94
80
  * @private
95
81
  */
96
- private _pluginListeners;
82
+ private _i18n;
97
83
  /**
98
- * @type {I18nCollection<Object>}
84
+ * @type {Array<function():void>}
99
85
  * @private
100
86
  */
101
- private _i18n;
87
+ private _pluginListeners;
102
88
  /**
103
89
  *
104
90
  * @type {import("vue-i18n").I18n}
@@ -128,10 +114,15 @@ declare class VcsUiApp extends VcsApp {
128
114
  */
129
115
  private _callbackClassRegistry;
130
116
  /**
131
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<ContentTreeItem>>}
117
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
132
118
  * @private
133
119
  */
134
120
  private _contentTreeClassRegistry;
121
+ /**
122
+ * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
123
+ * @private
124
+ */
125
+ private _uiConfig;
135
126
  /**
136
127
  * @type {import("@vcmap/core").OverrideCollection<import("./contentTree/contentTreeItem.js").ContentTreeItem, import("./contentTree/contentTreeCollection.js").ContentTreeCollection>}
137
128
  * @private
@@ -158,10 +149,10 @@ declare class VcsUiApp extends VcsApp {
158
149
  */
159
150
  private _navbarManager;
160
151
  /**
161
- * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
152
+ * @type {Search}
162
153
  * @private
163
154
  */
164
- private _uiConfig;
155
+ private _search;
165
156
  /**
166
157
  * @type {import("@vcmap/core").OverrideClassRegistry<AbstractFeatureInfoView>}
167
158
  * @private
@@ -187,11 +178,6 @@ declare class VcsUiApp extends VcsApp {
187
178
  * @private
188
179
  */
189
180
  private _contextMenuManager;
190
- /**
191
- * @type {Search}
192
- * @private
193
- */
194
- private _search;
195
181
  /**
196
182
  * @type {Notifier}
197
183
  * @private
@@ -209,26 +195,27 @@ declare class VcsUiApp extends VcsApp {
209
195
  */
210
196
  mounted: import("@vcmap/core").VcsEvent<string>;
211
197
  _destroySiteConfig: () => void;
198
+ _destroyObliqueFallback: () => void;
212
199
  /**
213
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>>}
200
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
214
201
  */
215
- get plugins(): import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>>;
202
+ get plugins(): import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>;
216
203
  /**
217
204
  * @type {import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>}
218
205
  */
219
- get contentTree(): import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>;
206
+ get contentTree(): import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection, import("./contentTree/contentTreeItem.js").ContentTreeItemOptions>;
220
207
  /**
221
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof import("./callback/vcsCallback.js").default>>}
208
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof import("./callback/vcsCallback.js").default>}
222
209
  */
223
- get callbackClassRegistry(): OverrideClassRegistry<import("@vcmap/core").Ctor<typeof import("./callback/vcsCallback.js").default>>;
210
+ get callbackClassRegistry(): OverrideClassRegistry<typeof import("./callback/vcsCallback.js").default>;
224
211
  /**
225
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof ContentTreeItem>>}
212
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
226
213
  */
227
- get contentTreeClassRegistry(): OverrideClassRegistry<import("@vcmap/core").Ctor<typeof ContentTreeItem>>;
214
+ get contentTreeClassRegistry(): OverrideClassRegistry<typeof ContentTreeItem>;
228
215
  /**
229
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
216
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof AbstractFeatureInfoView>}
230
217
  */
231
- get featureInfoClassRegistry(): OverrideClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>;
218
+ get featureInfoClassRegistry(): OverrideClassRegistry<typeof AbstractFeatureInfoView>;
232
219
  /**
233
220
  * @returns {ToolboxManager}
234
221
  */
@@ -267,14 +254,15 @@ declare class VcsUiApp extends VcsApp {
267
254
  get vuetify(): {
268
255
  install: (app: import("vue").App<any>) => void;
269
256
  defaults: import("vue").Ref<import("vuetify").DefaultsInstance>;
270
- display: import("vuetify").DisplayInstance; /**
271
- * @type {import("@vcmap/core").OverrideCollection<AbstractFeatureInfoView>}
272
- * @private
273
- */
257
+ display: import("vuetify").DisplayInstance;
274
258
  theme: import("vuetify").ThemeInstance & {
275
259
  install: (app: import("vue").App<any>) => void;
276
260
  };
277
- icons: Record<string, any>;
261
+ icons: {
262
+ defaultSet: string;
263
+ aliases: Partial<import("vuetify").IconAliases>;
264
+ sets: Record<string, import("vuetify").IconSet>;
265
+ };
278
266
  locale: {
279
267
  isRtl: import("vue").Ref<boolean>;
280
268
  rtl: import("vue").Ref<Record<string, boolean>>;
@@ -294,7 +282,33 @@ declare class VcsUiApp extends VcsApp {
294
282
  formats?: any;
295
283
  }) => import("vuetify").DateInstance) | import("vuetify").DateInstance;
296
284
  formats?: Record<string, any> | undefined;
297
- locale: Record<string, any>;
285
+ locale: Record<string, any>; /**
286
+ * Interface for VcsPlugins.
287
+ * The function implementing the interface should not throw!
288
+ * @typedef {{
289
+ * name: string,
290
+ * version: string,
291
+ * mapVersion: string,
292
+ * i18n?: Object<string, unknown>,
293
+ * initialize?: function(import("@src/vcsUiApp.js").default, S=):void|Promise<void>,
294
+ * onVcsAppMounted?: function(import("@src/vcsUiApp.js").default):void,
295
+ * toJSON?: function(): C,
296
+ * getDefaultOptions?: function(): C,
297
+ * getState?: function(boolean=):S|Promise<S>,
298
+ * getConfigEditors?: function():Array<PluginConfigEditor<object>>,
299
+ * destroy?: function(): void
300
+ * }} VcsPlugin
301
+ * @template {Object} C - plugin config
302
+ * @template {Object} S - plugin state
303
+ * @property {Object<string, *>} [i18n] - the i18n messages of this plugin
304
+ * @property {function(import("@src/vcsUiApp.js").default, S=)} initialize - called on plugin added. Is passed the VcsUiApp and optionally, the state for the plugin
305
+ * @property {function(import("@src/vcsUiApp.js").default)} onVcsAppMounted - called on mounted of VcsApp.vue
306
+ * @property {function():C} [toJSON] - should return the plugin's serialization excluding all default values
307
+ * @property {function():C} [getDefaultOptions] - should return the plugin's default options
308
+ * @property {function(boolean=):S|Promise<S>} [getState] - should return the plugin's state or a promise for said state. is passed a "for url" flag. If true, only the state relevant for sharing a URL should be passed and short keys shall be used
309
+ * @property {Array<PluginConfigEditor>} [getConfigEditors] - should return components for configuring the plugin or custom items defined by the plugin
310
+ * @api
311
+ */
298
312
  };
299
313
  instance: {
300
314
  locale?: any;
@@ -305,14 +319,14 @@ declare class VcsUiApp extends VcsApp {
305
319
  toISO: (date: unknown) => string;
306
320
  startOfDay: (date: unknown) => unknown;
307
321
  endOfDay: (date: unknown) => unknown;
308
- startOfWeek: (date: unknown) => unknown; /**
309
- * An event triggered when the VcsApp was mounted and a target was set for the maps.
310
- * Provides the id of the target html element.
311
- * @type {import("@vcmap/core").VcsEvent<string>}
312
- */
322
+ startOfWeek: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown;
313
323
  endOfWeek: (date: unknown) => unknown;
314
324
  startOfMonth: (date: unknown) => unknown;
315
325
  endOfMonth: (date: unknown) => unknown;
326
+ /**
327
+ * @type {ContextMenuManager}
328
+ * @private
329
+ */
316
330
  startOfYear: (date: unknown) => unknown;
317
331
  endOfYear: (date: unknown) => unknown;
318
332
  isAfter: (date: unknown, comparing: unknown) => boolean;
@@ -332,32 +346,28 @@ declare class VcsUiApp extends VcsApp {
332
346
  getYear: (date: unknown) => number;
333
347
  setYear: (date: unknown, year: number) => unknown;
334
348
  getDiff: (date: unknown, comparing: unknown, unit?: string | undefined) => number;
335
- getWeekArray: (date: unknown) => unknown[][];
336
- getWeekdays: () => string[];
337
- getMonth: (date: unknown) => number;
349
+ getWeekArray: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown[][];
350
+ getWeekdays: (firstDayOfWeek?: string | number | undefined) => string[];
351
+ getMonth: (date: unknown) => number; /**
352
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof AbstractFeatureInfoView>}
353
+ */
338
354
  setMonth: (date: unknown, month: number) => unknown;
339
355
  getDate: (date: unknown) => number;
340
356
  setDate: (date: unknown, day: number) => unknown;
341
357
  getNextMonth: (date: unknown) => unknown;
342
358
  getPreviousMonth: (date: unknown) => unknown;
343
- /**
344
- * @type {I18nCollection}
345
- */
346
359
  getHours: (date: unknown) => number;
347
360
  setHours: (date: unknown, hours: number) => unknown;
348
361
  getMinutes: (date: unknown) => number;
349
362
  setMinutes: (date: unknown, minutes: number) => unknown;
350
363
  };
351
364
  };
352
- goTo: {
353
- rtl: import("vue").Ref<boolean>;
354
- options: Record<string, any>;
355
- };
365
+ goTo: import("vuetify").GoToInstance;
356
366
  };
357
367
  /**
358
- * @returns {import("vue-i18n").VueI18n}
368
+ * @returns {import("vue-i18n").Composer<{}, {}, {}, string, string, string>}
359
369
  */
360
- get vueI18n(): import("vue-i18n").VueI18n<any, any, any, string, string, string, import("vue-i18n").Composer<any, any, any, string, string, string>>;
370
+ get vueI18n(): import("vue-i18n").Composer<{}, {}, {}, string, string, string>;
361
371
  /**
362
372
  * @returns {CategoryManager}
363
373
  */
@@ -373,7 +383,7 @@ declare class VcsUiApp extends VcsApp {
373
383
  /**
374
384
  * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
375
385
  */
376
- get uiConfig(): import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>;
386
+ get uiConfig(): import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig, import("./uiConfig.js").UiConfigurationItem<unknown>>;
377
387
  /**
378
388
  * @type {Notifier}
379
389
  */
package/src/vcsUiApp.js CHANGED
@@ -45,35 +45,49 @@ import { createVueI18n, setupI18n } from './vuePlugins/i18n.js';
45
45
  import { callbackClassRegistry } from './callback/vcsCallback.js';
46
46
  import createSiteConfig from './siteConfig.js';
47
47
  import { createVcsVuetify } from './vuePlugins/vuetify.js';
48
+ import createObliqueFallbackWarnings from './obliqueFallbackWarnings.js';
48
49
 
49
50
  /**
50
51
  * @typedef {import("@vcmap/core").VcsModuleConfig & {
51
- * plugins?: Object[],
52
+ * plugins?: Record<string, unknown>[],
52
53
  * contentTree?: import("./contentTree/contentTreeItem.js").ContentTreeItemOptions[],
53
54
  * uiConfig?: import("./uiConfig.js").UiConfigurationItem<unknown>[],
54
55
  * featureInfo?: import("./featureInfo/abstractFeatureInfoView.js").FeatureInfoViewOptions[],
55
- * i18n?: Object[]
56
+ * i18n?: import("./i18n/i18nCollection.js").I18nConfigurationItem[]
56
57
  * }} VcsUiModuleConfig
57
58
  */
58
59
 
59
60
  /**
60
- * @typedef {Object} PluginConfig
61
+ * @typedef {{ name: string, entry?: string, version?: string}} PluginConfig
61
62
  * @property {string} name
62
- * @property {string|undefined} entry - path to the plugin's index.js
63
- * @property {string|undefined} version - version or version range
63
+ * @property {string|undefined} [entry] - path to the plugin's index.js
64
+ * @property {string|undefined} [version] - version or version range
64
65
  */
65
66
 
66
67
  /**
67
- * @typedef {Object} PluginConfigEditor
68
- * @property {import("vue").Component & { title: string | undefined}} component - A editor component to configure a plugin or item
68
+ * @typedef {import("vue").Component<{ getConfig(): C, setConfig(config?: C): void }>} PluginConfigEditorComponent
69
+ * @template {Object} C - plugin or item config
70
+ */
71
+
72
+ /**
73
+ * @typedef {{
74
+ * component: PluginConfigEditorComponent<C>,
75
+ * title?: string,
76
+ * collectionName?: string,
77
+ * itemName?: string,
78
+ * infoUrlCallback?: () => string,
79
+ * }} PluginConfigEditor
80
+ * @template {Object} C - plugin or item config
81
+ * @property {PluginConfigEditorComponent<C>} component - A editor component to configure a plugin or item
82
+ * @property {string} [title] - optional title to render in the window header & actions of this editor
69
83
  * @property {string} [collectionName='plugins'] - The collection the item belongs to. Default is plugins collection.
70
84
  * @property {string} [itemName] - The item the editor can be used for. Can be a name or className. Default is the plugin's name.
71
85
  * @property {function():string} [infoUrlCallback] - An optional function returning an url referencing help or further information regarding the config editor.
72
86
  */
73
87
 
74
88
  /**
75
- * @typedef {function(P, string):VcsPlugin<P, S>} createPlugin
76
- * @template {Object} P
89
+ * @typedef {function(C, string):VcsPlugin<C, S>} createPlugin
90
+ * @template {Object} C
77
91
  * @template {Object} S
78
92
  */
79
93
 
@@ -87,19 +101,19 @@ import { createVcsVuetify } from './vuePlugins/vuetify.js';
87
101
  * i18n?: Object<string, unknown>,
88
102
  * initialize?: function(import("@src/vcsUiApp.js").default, S=):void|Promise<void>,
89
103
  * onVcsAppMounted?: function(import("@src/vcsUiApp.js").default):void,
90
- * toJSON?: function(): P,
91
- * getDefaultOptions?: function(): P,
104
+ * toJSON?: function(): C,
105
+ * getDefaultOptions?: function(): C,
92
106
  * getState?: function(boolean=):S|Promise<S>,
93
- * getConfigEditors?: function():Array<PluginConfigEditor>,
107
+ * getConfigEditors?: function():Array<PluginConfigEditor<object>>,
94
108
  * destroy?: function(): void
95
109
  * }} VcsPlugin
96
- * @template {Object} P
97
- * @template {Object} S
110
+ * @template {Object} C - plugin config
111
+ * @template {Object} S - plugin state
98
112
  * @property {Object<string, *>} [i18n] - the i18n messages of this plugin
99
113
  * @property {function(import("@src/vcsUiApp.js").default, S=)} initialize - called on plugin added. Is passed the VcsUiApp and optionally, the state for the plugin
100
114
  * @property {function(import("@src/vcsUiApp.js").default)} onVcsAppMounted - called on mounted of VcsApp.vue
101
- * @property {function():P} [toJSON] - should return the plugin's serialization excluding all default values
102
- * @property {function():P} [getDefaultOptions] - should return the plugin's default options
115
+ * @property {function():C} [toJSON] - should return the plugin's serialization excluding all default values
116
+ * @property {function():C} [getDefaultOptions] - should return the plugin's default options
103
117
  * @property {function(boolean=):S|Promise<S>} [getState] - should return the plugin's state or a promise for said state. is passed a "for url" flag. If true, only the state relevant for sharing a URL should be passed and short keys shall be used
104
118
  * @property {Array<PluginConfigEditor>} [getConfigEditors] - should return components for configuring the plugin or custom items defined by the plugin
105
119
  * @api
@@ -157,7 +171,7 @@ class VcsUiApp extends VcsApp {
157
171
  */
158
172
  this.themeChanged = new VcsEvent();
159
173
  /**
160
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin>}
174
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
161
175
  * @private
162
176
  */
163
177
  this._plugins = makeOverrideCollection(
@@ -166,6 +180,17 @@ class VcsUiApp extends VcsApp {
166
180
  serializePlugin,
167
181
  deserializePlugin,
168
182
  );
183
+
184
+ /**
185
+ * I18n Collection adds plugin listener first, so the plugin i18n data is available on plugin initialize
186
+ * @type {I18nCollection<Object>}
187
+ * @private
188
+ */
189
+ this._i18n = makeOverrideCollection(
190
+ new I18nCollection(this._plugins),
191
+ () => this.dynamicModuleId,
192
+ );
193
+
169
194
  /**
170
195
  * @type {Array<function():void>}
171
196
  * @private
@@ -209,15 +234,6 @@ class VcsUiApp extends VcsApp {
209
234
  }),
210
235
  ];
211
236
 
212
- /**
213
- * @type {I18nCollection<Object>}
214
- * @private
215
- */
216
- this._i18n = makeOverrideCollection(
217
- new I18nCollection(this._plugins),
218
- () => this.dynamicModuleId,
219
- );
220
-
221
237
  /**
222
238
  *
223
239
  * @type {import("vue-i18n").I18n}
@@ -253,13 +269,19 @@ class VcsUiApp extends VcsApp {
253
269
  );
254
270
 
255
271
  /**
256
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<ContentTreeItem>>}
272
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
257
273
  * @private
258
274
  */
259
275
  this._contentTreeClassRegistry = new OverrideClassRegistry(
260
276
  contentTreeClassRegistry,
261
277
  );
262
278
 
279
+ /**
280
+ * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
281
+ * @private
282
+ */
283
+ this._uiConfig = new UiConfig(() => this.dynamicModuleId);
284
+
263
285
  /**
264
286
  * @type {import("@vcmap/core").OverrideCollection<import("./contentTree/contentTreeItem.js").ContentTreeItem, import("./contentTree/contentTreeCollection.js").ContentTreeCollection>}
265
287
  * @private
@@ -291,10 +313,11 @@ class VcsUiApp extends VcsApp {
291
313
  this._navbarManager = new NavbarManager();
292
314
 
293
315
  /**
294
- * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
316
+ * @type {Search}
295
317
  * @private
296
318
  */
297
- this._uiConfig = new UiConfig(() => this.dynamicModuleId);
319
+ this._search = new Search(this);
320
+
298
321
  /**
299
322
  * @type {import("@vcmap/core").OverrideClassRegistry<AbstractFeatureInfoView>}
300
323
  * @private
@@ -333,12 +356,6 @@ class VcsUiApp extends VcsApp {
333
356
  */
334
357
  this._contextMenuManager = new ContextMenuManager(this);
335
358
 
336
- /**
337
- * @type {Search}
338
- * @private
339
- */
340
- this._search = new Search(this);
341
-
342
359
  /**
343
360
  * @type {Notifier}
344
361
  * @private
@@ -358,10 +375,12 @@ class VcsUiApp extends VcsApp {
358
375
  this.mounted = new VcsEvent();
359
376
 
360
377
  this._destroySiteConfig = createSiteConfig(this._uiConfig);
378
+
379
+ this._destroyObliqueFallback = createObliqueFallbackWarnings(this);
361
380
  }
362
381
 
363
382
  /**
364
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>>}
383
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
365
384
  */
366
385
  get plugins() {
367
386
  return this._plugins;
@@ -375,21 +394,21 @@ class VcsUiApp extends VcsApp {
375
394
  }
376
395
 
377
396
  /**
378
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof import("./callback/vcsCallback.js").default>>}
397
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof import("./callback/vcsCallback.js").default>}
379
398
  */
380
399
  get callbackClassRegistry() {
381
400
  return this._callbackClassRegistry;
382
401
  }
383
402
 
384
403
  /**
385
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof ContentTreeItem>>}
404
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
386
405
  */
387
406
  get contentTreeClassRegistry() {
388
407
  return this._contentTreeClassRegistry;
389
408
  }
390
409
 
391
410
  /**
392
- * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
411
+ * @type {import("@vcmap/core").OverrideClassRegistry<typeof AbstractFeatureInfoView>}
393
412
  */
394
413
  get featureInfoClassRegistry() {
395
414
  return this._featureInfoClassRegistry;
@@ -459,7 +478,7 @@ class VcsUiApp extends VcsApp {
459
478
  }
460
479
 
461
480
  /**
462
- * @returns {import("vue-i18n").VueI18n}
481
+ * @returns {import("vue-i18n").Composer<{}, {}, {}, string, string, string>}
463
482
  */
464
483
  get vueI18n() {
465
484
  return this._vueI18n;
@@ -520,7 +539,7 @@ class VcsUiApp extends VcsApp {
520
539
  )[0];
521
540
  return () => {
522
541
  const base =
523
- this.uiConfig.config.value.helpBaseUrl || 'https://help.vc.systems/';
542
+ this.uiConfig.config.helpBaseUrl || 'https://help.vc.systems/';
524
543
  const url = `${
525
544
  this.locale
526
545
  }/${subpage}/v${mayorMinorVersion}/${path.replace(/^\//, '')}`;
@@ -737,6 +756,7 @@ class VcsUiApp extends VcsApp {
737
756
  this._featureInfo.destroy();
738
757
  this._uiConfig.destroy();
739
758
  this._destroySiteConfig();
759
+ this._destroyObliqueFallback();
740
760
  super.destroy();
741
761
  }
742
762
  }
@@ -1,5 +1,6 @@
1
1
  import { createI18n } from 'vue-i18n';
2
2
  import { is } from '@vcsuite/check';
3
+ import { resolveValue } from '@intlify/core-base';
3
4
 
4
5
  /**
5
6
  * creates a new VueI18n Instance.
@@ -8,10 +9,17 @@ import { is } from '@vcsuite/check';
8
9
  export function createVueI18n() {
9
10
  return createI18n({
10
11
  legacy: false,
12
+ globalInjection: true,
11
13
  locale: 'en',
12
14
  missingWarn: false,
13
15
  fallbackWarn: false,
14
16
  fallbackLocale: ['en', 'de'],
17
+ messageResolver: (obj, path) => {
18
+ const value = resolveValue(obj, path);
19
+ return typeof value === 'string'
20
+ ? value.replaceAll(/@/g, "{'@'}")
21
+ : value;
22
+ },
15
23
  messages: {
16
24
  en: {},
17
25
  },