@vcmap/ui 5.0.1 → 5.1.0-rc.1

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 (444) hide show
  1. package/README.md +2 -2
  2. package/build/buildTypes.js +176 -0
  3. package/build/lintTypes.js +30 -0
  4. package/config/aerowest.config.json +4 -0
  5. package/config/base.config.json +24 -2
  6. package/config/dev.config.json +176 -5
  7. package/config/www.config.json +25 -1
  8. package/dist/assets/{cesium.888ef7.js → cesium.e9b3ca.js} +1859 -1828
  9. package/dist/assets/cesium.js +1 -1
  10. package/dist/assets/{core.860907.js → core.a9fe5a.js} +5865 -5041
  11. package/dist/assets/core.js +1 -1
  12. package/dist/assets/index-bb2549d6.js +1 -0
  13. package/dist/assets/{ol.5e8a90.js → ol.5f0496.js} +7257 -7252
  14. package/dist/assets/ol.js +1 -1
  15. package/dist/assets/{ui.7758a8.css → ui.3c73c2.css} +2 -2
  16. package/dist/assets/{ui.7758a8.js → ui.3c73c2.js} +14281 -9264
  17. package/dist/assets/ui.js +1 -1
  18. package/dist/assets/{vue.9771b3.js → vue.4fe14e.js} +1243 -1234
  19. package/dist/assets/vue.js +2 -2
  20. package/dist/assets/{vuetify.2818ff.css → vuetify.260d9a.css} +1 -1
  21. package/dist/assets/{vuetify.2818ff.js → vuetify.260d9a.js} +155 -154
  22. package/dist/assets/vuetify.js +2 -2
  23. package/dist/index.html +2 -2
  24. package/index.d.ts +256 -0
  25. package/index.html +1 -1
  26. package/index.js +48 -11
  27. package/package.json +22 -15
  28. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +3 -0
  29. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +312 -43
  30. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +48 -182
  31. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +118 -0
  32. package/plugins/@vcmap-show-case/category-tester/src/importExportHelper.js +29 -0
  33. package/plugins/@vcmap-show-case/category-tester/src/index.js +16 -0
  34. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +2 -1
  35. package/plugins/@vcmap-show-case/collection-manager-example/src/index.js +8 -4
  36. package/plugins/@vcmap-show-case/extent-example/README.md +3 -0
  37. package/plugins/@vcmap-show-case/extent-example/package.json +5 -0
  38. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +71 -0
  39. package/plugins/@vcmap-show-case/extent-example/src/index.js +68 -0
  40. package/plugins/@vcmap-show-case/flight-component-example/README.md +3 -0
  41. package/plugins/@vcmap-show-case/flight-component-example/package.json +5 -0
  42. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +53 -0
  43. package/plugins/@vcmap-show-case/flight-component-example/src/index.js +42 -0
  44. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +78 -5
  45. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +2 -2
  46. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +22 -10
  47. package/plugins/@vcmap-show-case/toolbox-example/README.md +9 -0
  48. package/plugins/@vcmap-show-case/toolbox-example/package.json +5 -0
  49. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +21 -0
  50. package/plugins/@vcmap-show-case/toolbox-example/src/dummyToolboxActions.js +94 -0
  51. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +260 -0
  52. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +12 -2
  53. package/plugins/@vcmap-show-case/viewpoint-component-example/README.md +3 -0
  54. package/plugins/@vcmap-show-case/viewpoint-component-example/package.json +5 -0
  55. package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +52 -0
  56. package/plugins/@vcmap-show-case/viewpoint-component-example/src/index.js +42 -0
  57. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +31 -1
  58. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +20 -16
  59. package/plugins/@vcmap-show-case/window-tester/src/index.js +2 -17
  60. package/plugins/package.json +3 -1
  61. package/src/actions/StyleSelector.vue +8 -7
  62. package/src/actions/StyleSelector.vue.d.ts +27 -0
  63. package/src/actions/actionHelper.d.ts +153 -0
  64. package/src/actions/actionHelper.js +48 -21
  65. package/src/actions/extentActions.d.ts +40 -0
  66. package/src/actions/extentActions.js +359 -0
  67. package/src/actions/flightActions.d.ts +59 -0
  68. package/src/actions/flightActions.js +232 -0
  69. package/src/actions/listActions.d.ts +63 -0
  70. package/src/actions/listActions.js +185 -0
  71. package/src/actions/stateRefAction.d.ts +19 -0
  72. package/src/actions/stateRefAction.js +1 -1
  73. package/src/application/VcsApp.vue +103 -28
  74. package/src/application/VcsApp.vue.d.ts +86 -0
  75. package/src/application/VcsAppWrapper.vue.d.ts +12 -0
  76. package/src/application/VcsAttributions.vue.d.ts +14 -0
  77. package/src/application/VcsAttributionsFooter.vue +1 -4
  78. package/src/application/VcsAttributionsFooter.vue.d.ts +26 -0
  79. package/src/application/VcsMap.vue.d.ts +12 -0
  80. package/src/application/VcsNavbar.vue.d.ts +45 -0
  81. package/src/application/VcsPositionDisplay.vue +208 -0
  82. package/src/application/VcsPositionDisplay.vue.d.ts +18 -0
  83. package/src/application/VcsSettings.vue.d.ts +5 -0
  84. package/src/application/VcsTextPage.vue +65 -0
  85. package/src/application/VcsTextPage.vue.d.ts +16 -0
  86. package/src/application/VcsTextPageFooter.vue +89 -0
  87. package/src/application/VcsTextPageFooter.vue.d.ts +22 -0
  88. package/src/application/attributionsHelper.d.ts +64 -0
  89. package/src/application/attributionsHelper.js +1 -1
  90. package/src/application/markdownHelper.d.ts +5 -0
  91. package/src/application/markdownHelper.js +11 -0
  92. package/src/application/positionDisplayInteraction.d.ts +42 -0
  93. package/src/application/positionDisplayInteraction.js +65 -0
  94. package/src/callback/activateLayersCallback.d.ts +29 -0
  95. package/src/callback/activateLayersCallback.js +2 -2
  96. package/src/callback/applyLayerStyleCallback.d.ts +36 -0
  97. package/src/callback/applyLayerStyleCallback.js +2 -2
  98. package/src/callback/deactivateLayersCallback.d.ts +29 -0
  99. package/src/callback/deactivateLayersCallback.js +2 -2
  100. package/src/callback/goToViewpointCallback.d.ts +29 -0
  101. package/src/callback/goToViewpointCallback.js +2 -2
  102. package/src/callback/vcsCallback.d.ts +44 -0
  103. package/src/callback/vcsCallback.js +4 -9
  104. package/src/components/ImageElementInjector.vue.d.ts +24 -0
  105. package/src/components/buttons/VcsActionButtonList.vue +24 -16
  106. package/src/components/buttons/VcsActionButtonList.vue.d.ts +68 -0
  107. package/src/components/buttons/VcsButton.vue +7 -0
  108. package/src/components/buttons/VcsButton.vue.d.ts +89 -0
  109. package/src/components/buttons/VcsFormButton.vue +9 -0
  110. package/src/components/buttons/VcsFormButton.vue.d.ts +91 -0
  111. package/src/components/buttons/VcsToolButton.vue +9 -0
  112. package/src/components/buttons/VcsToolButton.vue.d.ts +91 -0
  113. package/src/components/flight/VcsFlightAnchorsComponent.vue +329 -0
  114. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +45 -0
  115. package/src/components/flight/VcsFlightComponent.vue +284 -0
  116. package/src/components/flight/VcsFlightComponent.vue.d.ts +104 -0
  117. package/src/components/flight/VcsFlightEditor.vue +77 -0
  118. package/src/components/flight/VcsFlightEditor.vue.d.ts +34 -0
  119. package/src/components/flight/VcsFlightPlayer.vue +124 -0
  120. package/src/components/flight/VcsFlightPlayer.vue.d.ts +25 -0
  121. package/src/components/flight/composables.d.ts +11 -0
  122. package/src/components/flight/composables.js +39 -0
  123. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +18 -0
  124. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +82 -0
  125. package/src/components/form-inputs-controls/VcsCoordinate.vue +152 -0
  126. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +90 -0
  127. package/src/components/form-inputs-controls/VcsDatePicker.vue +2 -2
  128. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +31 -0
  129. package/src/components/form-inputs-controls/VcsExtent.vue +122 -0
  130. package/src/components/form-inputs-controls/VcsExtent.vue.d.ts +36 -0
  131. package/src/components/form-inputs-controls/VcsFormSection.vue +6 -1
  132. package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +75 -0
  133. package/src/components/form-inputs-controls/VcsLabel.vue +18 -0
  134. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +41 -0
  135. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +32 -0
  136. package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +35 -0
  137. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +31 -0
  138. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -0
  139. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +22 -0
  140. package/src/components/form-inputs-controls/VcsTextField.vue +57 -10
  141. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +65 -0
  142. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +14 -0
  143. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +89 -0
  144. package/src/components/form-inputs-controls/composables.d.ts +7 -0
  145. package/src/components/form-inputs-controls/composables.js +1 -1
  146. package/src/components/form-output/VcsFormattedNumber.vue +13 -2
  147. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +89 -0
  148. package/src/components/icons/+all.d.ts +9 -0
  149. package/src/components/icons/+all.js +16 -0
  150. package/src/components/icons/2DAreaIcon.vue.d.ts +2 -0
  151. package/src/components/icons/2DDistanceIcon.vue.d.ts +2 -0
  152. package/src/components/icons/2DHeightObliqueIcon.vue +20 -0
  153. package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +2 -0
  154. package/src/components/icons/3DAreaIcon.vue.d.ts +2 -0
  155. package/src/components/icons/3DDistanceIcon.vue.d.ts +2 -0
  156. package/src/components/icons/3DHeightIcon.vue.d.ts +2 -0
  157. package/src/components/icons/AngleIcon.vue.d.ts +2 -0
  158. package/src/components/icons/AssociationsIcon.vue.d.ts +2 -0
  159. package/src/components/icons/AxisIcon.vue.d.ts +2 -0
  160. package/src/components/icons/BoundingBoxIcon.vue.d.ts +2 -0
  161. package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +2 -0
  162. package/src/components/icons/CheckboxIcon.vue.d.ts +2 -0
  163. package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +2 -0
  164. package/src/components/icons/CircleIcon.vue.d.ts +2 -0
  165. package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +2 -0
  166. package/src/components/icons/ClippingIcon.vue.d.ts +2 -0
  167. package/src/components/icons/ClippingVerticalIcon.vue.d.ts +2 -0
  168. package/src/components/icons/ColorPickerIcon.vue.d.ts +2 -0
  169. package/src/components/icons/ColorSwatchIcon.vue.d.ts +2 -0
  170. package/src/components/icons/CommentIcon.vue.d.ts +2 -0
  171. package/src/components/icons/CompassIcon.vue.d.ts +2 -0
  172. package/src/components/icons/ComponentsIcon.vue.d.ts +2 -0
  173. package/src/components/icons/ComponentsPlusIcon.vue +17 -0
  174. package/src/components/icons/ComponentsPlusIcon.vue.d.ts +2 -0
  175. package/src/components/icons/ConeIcon.vue.d.ts +2 -0
  176. package/src/components/icons/DimensionsHouseIcon.vue.d.ts +2 -0
  177. package/src/components/icons/EditIcon.vue.d.ts +2 -0
  178. package/src/components/icons/EditVerticesIcon.vue.d.ts +2 -0
  179. package/src/components/icons/ElevationProfileIcon.vue.d.ts +2 -0
  180. package/src/components/icons/ExportAreaIcon.vue.d.ts +2 -0
  181. package/src/components/icons/ExportFlightIcon.vue.d.ts +2 -0
  182. package/src/components/icons/ExportIcon.vue.d.ts +2 -0
  183. package/src/components/icons/ExternalLinkIcon.vue.d.ts +2 -0
  184. package/src/components/icons/EyeIcon.vue.d.ts +2 -0
  185. package/src/components/icons/FastForwardIcon.vue.d.ts +2 -0
  186. package/src/components/icons/FilterIcon.vue.d.ts +2 -0
  187. package/src/components/icons/GlobalTerrainIcon.vue.d.ts +2 -0
  188. package/src/components/icons/GlobeNatureIcon.vue.d.ts +2 -0
  189. package/src/components/icons/GroundIcon.vue.d.ts +2 -0
  190. package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +2 -0
  191. package/src/components/icons/HelpIcon.vue.d.ts +2 -0
  192. package/src/components/icons/HideIcon.vue.d.ts +2 -0
  193. package/src/components/icons/HomePointIcon.vue.d.ts +2 -0
  194. package/src/components/icons/HospitalsIcon.vue.d.ts +2 -0
  195. package/src/components/icons/HouseIcon.vue.d.ts +2 -0
  196. package/src/components/icons/ImportIcon.vue.d.ts +2 -0
  197. package/src/components/icons/InfoIcon.vue.d.ts +2 -0
  198. package/src/components/icons/KebabIcon.vue.d.ts +2 -0
  199. package/src/components/icons/LabelIcon.vue.d.ts +2 -0
  200. package/src/components/icons/LayersIcon.vue.d.ts +2 -0
  201. package/src/components/icons/LegendIcon.vue.d.ts +2 -0
  202. package/src/components/icons/LineIcon.vue.d.ts +2 -0
  203. package/src/components/icons/LinkIcon.vue.d.ts +2 -0
  204. package/src/components/icons/LogoutIcon.vue.d.ts +2 -0
  205. package/src/components/icons/MapIcon.vue.d.ts +2 -0
  206. package/src/components/icons/MenuIcon.vue.d.ts +2 -0
  207. package/src/components/icons/MinusIcon.vue.d.ts +2 -0
  208. package/src/components/icons/MultiViewIcon.vue +16 -0
  209. package/src/components/icons/MultiViewIcon.vue.d.ts +2 -0
  210. package/src/components/icons/ObjectAttributeIcon.vue.d.ts +2 -0
  211. package/src/components/icons/ObjectSelectIcon.vue.d.ts +2 -0
  212. package/src/components/icons/ObliqueViewIcon.vue.d.ts +2 -0
  213. package/src/components/icons/PdfIcon.vue.d.ts +2 -0
  214. package/src/components/icons/PedestrianIcon.vue.d.ts +2 -0
  215. package/src/components/icons/PenIcon.vue.d.ts +2 -0
  216. package/src/components/icons/PlayCircleIcon.vue.d.ts +2 -0
  217. package/src/components/icons/PlusIcon.vue.d.ts +2 -0
  218. package/src/components/icons/PoiIcon.vue.d.ts +2 -0
  219. package/src/components/icons/PointIcon.vue.d.ts +2 -0
  220. package/src/components/icons/PointMeasurementIcon.vue +36 -0
  221. package/src/components/icons/PointMeasurementIcon.vue.d.ts +2 -0
  222. package/src/components/icons/PointSelectIcon.vue.d.ts +2 -0
  223. package/src/components/icons/PresentationModeIcon.vue.d.ts +2 -0
  224. package/src/components/icons/ProgressIcon.vue.d.ts +2 -0
  225. package/src/components/icons/QueryIcon.vue.d.ts +2 -0
  226. package/src/components/icons/RectangleIcon.vue.d.ts +2 -0
  227. package/src/components/icons/ReturnIcon.vue.d.ts +2 -0
  228. package/src/components/icons/RewindIcon.vue.d.ts +2 -0
  229. package/src/components/icons/RotateLeftIcon.vue.d.ts +2 -0
  230. package/src/components/icons/RotateRightIcon.vue.d.ts +2 -0
  231. package/src/components/icons/ScreenshotIcon.vue.d.ts +2 -0
  232. package/src/components/icons/SearchIcon.vue.d.ts +2 -0
  233. package/src/components/icons/ShadowIcon.vue.d.ts +2 -0
  234. package/src/components/icons/ShapesIcon.vue.d.ts +2 -0
  235. package/src/components/icons/ShareIcon.vue.d.ts +2 -0
  236. package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +2 -0
  237. package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +2 -0
  238. package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +2 -0
  239. package/src/components/icons/SkipNextIcon.vue.d.ts +2 -0
  240. package/src/components/icons/SkipPreviousIcon.vue.d.ts +2 -0
  241. package/src/components/icons/SplitViewIcon.vue.d.ts +2 -0
  242. package/src/components/icons/TerrainBoxIcon.vue.d.ts +2 -0
  243. package/src/components/icons/TextStyleIcon.vue.d.ts +2 -0
  244. package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +2 -0
  245. package/src/components/icons/ToolsIcon.vue.d.ts +2 -0
  246. package/src/components/icons/TouchIcon.vue.d.ts +2 -0
  247. package/src/components/icons/TrashCanIcon.vue.d.ts +2 -0
  248. package/src/components/icons/TriangleIcon.vue.d.ts +2 -0
  249. package/src/components/icons/TwoDimensionsIcon.vue.d.ts +2 -0
  250. package/src/components/icons/UploadIcon.vue.d.ts +2 -0
  251. package/src/components/icons/UserProfileIcon.vue.d.ts +2 -0
  252. package/src/components/icons/UserShareIcon.vue.d.ts +2 -0
  253. package/src/components/icons/VideoRecorderIcon.vue.d.ts +2 -0
  254. package/src/components/icons/ViewpointFlightIcon.vue.d.ts +2 -0
  255. package/src/components/icons/ViewpointIcon.vue.d.ts +2 -0
  256. package/src/components/icons/Viewshed360Icon.vue.d.ts +2 -0
  257. package/src/components/icons/ViewshedConeIcon.vue.d.ts +2 -0
  258. package/src/components/icons/ViewshedIcon.vue.d.ts +2 -0
  259. package/src/components/icons/WalkingIcon.vue.d.ts +2 -0
  260. package/src/components/icons/WallIcon.vue.d.ts +2 -0
  261. package/src/components/icons/WandIcon.vue.d.ts +2 -0
  262. package/src/components/import/FileDrop.vue +69 -0
  263. package/src/components/import/FileDrop.vue.d.ts +26 -0
  264. package/src/components/import/ImportComponent.vue +78 -0
  265. package/src/components/import/ImportComponent.vue.d.ts +34 -0
  266. package/src/components/lists/VcsActionList.vue +8 -15
  267. package/src/components/lists/VcsActionList.vue.d.ts +66 -0
  268. package/src/components/lists/VcsList.vue +207 -116
  269. package/src/components/lists/VcsList.vue.d.ts +227 -0
  270. package/src/components/lists/VcsTreeview.vue +3 -1
  271. package/src/components/lists/VcsTreeview.vue.d.ts +28 -0
  272. package/src/components/lists/VcsTreeviewLeaf.vue +1 -0
  273. package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +19 -0
  274. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +41 -0
  275. package/src/components/notification/VcsBadge.vue.d.ts +14 -0
  276. package/src/components/notification/VcsHelp.vue.d.ts +22 -0
  277. package/src/components/notification/VcsTooltip.vue.d.ts +27 -0
  278. package/src/components/notification/validation.d.ts +8 -0
  279. package/src/components/notification/validation.js +3 -2
  280. package/src/components/plugins/AbstractConfigEditor.vue +25 -4
  281. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +55 -0
  282. package/src/components/style/MenuWrapper.vue.d.ts +55 -0
  283. package/src/components/style/VcsFeatureStyleComponent.vue +389 -0
  284. package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +31 -0
  285. package/src/components/style/VcsFillMenu.vue.d.ts +34 -0
  286. package/src/components/style/VcsFillSelector.vue.d.ts +22 -0
  287. package/src/components/style/VcsImageMenu.vue.d.ts +43 -0
  288. package/src/components/style/VcsImageSelector.vue.d.ts +128 -0
  289. package/src/components/style/VcsStrokeMenu.vue.d.ts +34 -0
  290. package/src/components/style/VcsStrokeSelector.vue.d.ts +23 -0
  291. package/src/components/style/VcsTextMenu.vue.d.ts +52 -0
  292. package/src/components/style/VcsTextSelector.vue.d.ts +58 -0
  293. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +76 -0
  294. package/src/components/style/composables.d.ts +43 -0
  295. package/src/components/style/composables.js +11 -8
  296. package/src/components/tables/VcsDataTable.vue +11 -3
  297. package/src/components/tables/VcsDataTable.vue.d.ts +142 -0
  298. package/src/components/tables/VcsTable.vue +71 -2
  299. package/src/components/tables/VcsTable.vue.d.ts +88 -0
  300. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +392 -0
  301. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +87 -0
  302. package/src/components/vector-properties/VcsFeatureTransforms.vue +217 -0
  303. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +45 -0
  304. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +96 -52
  305. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +119 -0
  306. package/src/components/vector-properties/composables.d.ts +33 -0
  307. package/src/components/vector-properties/composables.js +21 -14
  308. package/src/components/viewpoint/VcsViewpointComponent.vue +514 -0
  309. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +126 -0
  310. package/src/components/viewpoint/VcsViewpointEditor.vue +87 -0
  311. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +25 -0
  312. package/src/contentTree/LayerTree.vue.d.ts +15 -0
  313. package/src/contentTree/contentTreeCollection.d.ts +113 -0
  314. package/src/contentTree/contentTreeCollection.js +10 -20
  315. package/src/contentTree/contentTreeItem.d.ts +334 -0
  316. package/src/contentTree/contentTreeItem.js +31 -17
  317. package/src/contentTree/flightContentTreeItem.d.ts +53 -0
  318. package/src/contentTree/flightContentTreeItem.js +201 -0
  319. package/src/contentTree/groupContentTreeItem.d.ts +14 -0
  320. package/src/contentTree/groupContentTreeItem.js +2 -2
  321. package/src/contentTree/layerContentTreeItem.d.ts +76 -0
  322. package/src/contentTree/layerContentTreeItem.js +7 -9
  323. package/src/contentTree/layerGroupContentTreeItem.d.ts +50 -0
  324. package/src/contentTree/layerGroupContentTreeItem.js +2 -3
  325. package/src/contentTree/nodeContentTreeItem.d.ts +10 -0
  326. package/src/contentTree/nodeContentTreeItem.js +2 -2
  327. package/src/contentTree/obliqueCollectionContentTreeItem.d.ts +46 -0
  328. package/src/contentTree/obliqueCollectionContentTreeItem.js +3 -5
  329. package/src/contentTree/subContentTreeItem.d.ts +15 -0
  330. package/src/contentTree/subContentTreeItem.js +3 -3
  331. package/src/contentTree/vcsObjectContentTreeItem.d.ts +56 -0
  332. package/src/contentTree/vcsObjectContentTreeItem.js +3 -4
  333. package/src/contentTree/viewpointContentTreeItem.d.ts +46 -0
  334. package/src/contentTree/viewpointContentTreeItem.js +3 -4
  335. package/src/downloadHelper.d.ts +27 -0
  336. package/src/featureInfo/AddressBalloonComponent.vue.d.ts +2 -0
  337. package/src/featureInfo/BalloonComponent.vue +16 -3
  338. package/src/featureInfo/BalloonComponent.vue.d.ts +61 -0
  339. package/src/featureInfo/abstractFeatureInfoView.d.ts +199 -0
  340. package/src/featureInfo/abstractFeatureInfoView.js +82 -18
  341. package/src/featureInfo/addressBalloonFeatureInfoView.d.ts +67 -0
  342. package/src/featureInfo/addressBalloonFeatureInfoView.js +9 -2
  343. package/src/featureInfo/balloonFeatureInfoView.d.ts +49 -0
  344. package/src/featureInfo/balloonFeatureInfoView.js +12 -11
  345. package/src/featureInfo/balloonHelper.d.ts +31 -0
  346. package/src/featureInfo/balloonHelper.js +6 -6
  347. package/src/featureInfo/featureInfo.d.ts +146 -0
  348. package/src/featureInfo/featureInfo.js +11 -16
  349. package/src/featureInfo/featureInfoInteraction.d.ts +21 -0
  350. package/src/featureInfo/featureInfoInteraction.js +2 -2
  351. package/src/featureInfo/iframeFeatureInfoView.d.ts +48 -0
  352. package/src/featureInfo/iframeFeatureInfoView.js +3 -5
  353. package/src/featureInfo/tableFeatureInfoView.d.ts +75 -0
  354. package/src/featureInfo/tableFeatureInfoView.js +19 -9
  355. package/src/i18n/de.d.ts +353 -0
  356. package/src/i18n/de.js +114 -2
  357. package/src/i18n/en.d.ts +352 -0
  358. package/src/i18n/en.js +113 -1
  359. package/src/i18n/i18nCollection.d.ts +82 -0
  360. package/src/i18n/i18nCollection.js +3 -3
  361. package/src/init.d.ts +58 -0
  362. package/src/init.js +3 -5
  363. package/src/legend/StyleLegendItem.vue.d.ts +25 -0
  364. package/src/legend/VcsLegend.vue.d.ts +20 -0
  365. package/src/legend/legendHelper.d.ts +172 -0
  366. package/src/legend/legendHelper.js +21 -21
  367. package/src/manager/buttonManager.d.ts +106 -0
  368. package/src/manager/buttonManager.js +8 -4
  369. package/src/manager/collectionManager/CollectionComponent.vue +38 -38
  370. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +17 -0
  371. package/src/manager/collectionManager/CollectionComponentList.vue +78 -24
  372. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +38 -0
  373. package/src/manager/collectionManager/CollectionComponentProvider.vue +3 -2
  374. package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +12 -0
  375. package/src/manager/collectionManager/CollectionManager.vue +29 -4
  376. package/src/manager/collectionManager/CollectionManager.vue.d.ts +8 -0
  377. package/src/manager/collectionManager/categoryManager.d.ts +56 -0
  378. package/src/manager/collectionManager/categoryManager.js +21 -7
  379. package/src/manager/collectionManager/collectionComponentClass.d.ts +257 -0
  380. package/src/manager/collectionManager/{collectionComponent.js → collectionComponentClass.js} +210 -57
  381. package/src/manager/collectionManager/collectionManager.d.ts +200 -0
  382. package/src/manager/collectionManager/collectionManager.js +45 -39
  383. package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +60 -0
  384. package/src/manager/collectionManager/editorCollectionComponentClass.js +295 -0
  385. package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +18 -0
  386. package/src/manager/contextMenu/contextMenuInteraction.d.ts +24 -0
  387. package/src/manager/contextMenu/contextMenuManager.d.ts +70 -0
  388. package/src/manager/contextMenu/contextMenuManager.js +5 -5
  389. package/src/manager/navbarManager.d.ts +60 -0
  390. package/src/manager/navbarManager.js +10 -6
  391. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +17 -0
  392. package/src/manager/toolbox/SelectToolboxComponent.vue +1 -0
  393. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +15 -0
  394. package/src/manager/toolbox/ToolboxManager.vue +33 -7
  395. package/src/manager/toolbox/ToolboxManager.vue.d.ts +21 -0
  396. package/src/manager/toolbox/toolboxManager.d.ts +177 -0
  397. package/src/manager/toolbox/toolboxManager.js +86 -31
  398. package/src/manager/window/WindowComponent.vue.d.ts +40 -0
  399. package/src/manager/window/WindowComponentHeader.vue +1 -1
  400. package/src/manager/window/WindowComponentHeader.vue.d.ts +36 -0
  401. package/src/manager/window/WindowManager.vue +1 -0
  402. package/src/manager/window/WindowManager.vue.d.ts +19 -0
  403. package/src/manager/window/windowHelper.d.ts +134 -0
  404. package/src/manager/window/windowHelper.js +20 -20
  405. package/src/manager/window/windowManager.d.ts +422 -0
  406. package/src/manager/window/windowManager.js +95 -40
  407. package/src/navigation/MapNavCompass.vue.d.ts +25 -0
  408. package/src/navigation/MapNavigation.vue +2 -2
  409. package/src/navigation/MapNavigation.vue.d.ts +46 -0
  410. package/src/navigation/ObliqueRotation.vue +8 -4
  411. package/src/navigation/ObliqueRotation.vue.d.ts +14 -0
  412. package/src/navigation/OrientationToolsButton.vue.d.ts +30 -0
  413. package/src/navigation/TiltSlider.vue.d.ts +19 -0
  414. package/src/navigation/VcsCompass.vue.d.ts +25 -0
  415. package/src/navigation/VcsZoomButton.vue +6 -3
  416. package/src/navigation/VcsZoomButton.vue.d.ts +2 -0
  417. package/src/navigation/overviewMap.d.ts +199 -0
  418. package/src/navigation/overviewMap.js +3 -7
  419. package/src/navigation/overviewMapClickedInteraction.d.ts +21 -0
  420. package/src/notifier/NotifierComponent.vue.d.ts +10 -0
  421. package/src/notifier/notifier.d.ts +53 -0
  422. package/src/notifier/notifier.js +0 -1
  423. package/src/pluginHelper.d.ts +67 -0
  424. package/src/pluginHelper.js +11 -9
  425. package/src/search/ResultItem.vue.d.ts +25 -0
  426. package/src/search/ResultsComponent.vue +1 -1
  427. package/src/search/ResultsComponent.vue.d.ts +24 -0
  428. package/src/search/SearchComponent.vue +1 -1
  429. package/src/search/SearchComponent.vue.d.ts +10 -0
  430. package/src/search/search.d.ts +129 -0
  431. package/src/search/search.js +8 -11
  432. package/src/setup.d.ts +1 -0
  433. package/src/state.d.ts +57 -0
  434. package/src/state.js +7 -5
  435. package/src/uiConfig.d.ts +99 -0
  436. package/src/uiConfig.js +17 -7
  437. package/src/vcsUiApp.d.ts +301 -0
  438. package/src/vcsUiApp.js +57 -53
  439. package/src/vuePlugins/i18n.d.ts +10 -0
  440. package/src/vuePlugins/i18n.js +3 -3
  441. package/src/vuePlugins/vuetify.d.ts +27 -0
  442. package/tsconfig.json +36 -0
  443. package/dist/assets/index-f265c560.js +0 -1
  444. package/plugins/@vcmap-show-case/window-tester/src/toolboxData.js +0 -288
@@ -0,0 +1,301 @@
1
+ export default VcsUiApp;
2
+ export type VcsUiModuleConfig = import("@vcmap/core").VcsModuleConfig & {
3
+ plugins?: Object[];
4
+ contentTree?: import("./contentTree/contentTreeItem.js").ContentTreeItemOptions[];
5
+ uiConfig?: import("./uiConfig.js").UiConfigurationItem<unknown>[];
6
+ featureInfo?: import("./featureInfo/abstractFeatureInfoView.js").FeatureInfoViewOptions[];
7
+ i18n?: Object[];
8
+ };
9
+ export type PluginConfig = {
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;
19
+ };
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
+ export type createPlugin<P extends Object, S extends Object> = (arg0: P, arg1: string) => VcsPlugin<P, S>;
37
+ /**
38
+ * Interface for VcsPlugins.
39
+ * The function implementing the interface should not throw!
40
+ */
41
+ export type VcsPlugin<P extends Object, S extends Object> = {
42
+ name: string;
43
+ version: string;
44
+ mapVersion: string;
45
+ i18n?: {
46
+ [x: string]: unknown;
47
+ };
48
+ initialize?: (arg0: import("@src/vcsUiApp.js").default, arg1: S | undefined) => void | Promise<void>;
49
+ onVcsAppMounted?: (arg0: import("@src/vcsUiApp.js").default) => void;
50
+ toJSON?: () => P;
51
+ getDefaultOptions?: () => P;
52
+ getState?: (arg0: boolean | undefined) => S | Promise<S>;
53
+ getConfigEditors?: () => Array<PluginConfigEditor>;
54
+ destroy?: () => void;
55
+ };
56
+ export type VcsComponentManager<T extends Object, O extends Object> = {
57
+ added: import("@vcmap/core").VcsEvent<T>;
58
+ removed: import("@vcmap/core").VcsEvent<T>;
59
+ componentIds: Array<string>;
60
+ get: (arg0: string) => T | undefined;
61
+ has: (arg0: string) => boolean;
62
+ remove: (arg0: string) => void;
63
+ add: (arg0: O, arg1: string | symbol) => T;
64
+ removeOwner: (arg0: string | symbol) => void;
65
+ clear: () => void;
66
+ destroy: () => void;
67
+ };
68
+ /**
69
+ * @class
70
+ */
71
+ declare class VcsUiApp extends VcsApp {
72
+ /**
73
+ * Gets the version of the @vcmap/ui npm package
74
+ * @returns {string}
75
+ */
76
+ static getVersion(): string;
77
+ constructor();
78
+ /**
79
+ * An event triggered when the vuetify theme mode changes or the primary color is updated by a new uiConfig entry.
80
+ * @type {VcsEvent<void>}
81
+ */
82
+ themeChanged: VcsEvent<void>;
83
+ /**
84
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin>}
85
+ * @private
86
+ */
87
+ private _plugins;
88
+ /**
89
+ * @type {Array<function():void>}
90
+ * @private
91
+ */
92
+ private _pluginListeners;
93
+ /**
94
+ * @type {OverrideClassRegistry<import("./callback/vcsCallback.js").default>}
95
+ * @private
96
+ */
97
+ private _callbackClassRegistry;
98
+ /**
99
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<ContentTreeItem>>}
100
+ * @private
101
+ */
102
+ private _contentTreeClassRegistry;
103
+ /**
104
+ * @type {import("@vcmap/core").OverrideCollection<import("./contentTree/contentTreeItem.js").ContentTreeItem, import("./contentTree/contentTreeCollection.js").ContentTreeCollection>}
105
+ * @private
106
+ */
107
+ private _contentTree;
108
+ /**
109
+ * @type {ToolboxManager}
110
+ * @private
111
+ */
112
+ private _toolboxManager;
113
+ /**
114
+ * @type {WindowManager}
115
+ * @private
116
+ */
117
+ private _windowManager;
118
+ /**
119
+ * @type {NavbarManager}
120
+ * @private
121
+ */
122
+ private _navbarManager;
123
+ /**
124
+ * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
125
+ * @private
126
+ */
127
+ private _uiConfig;
128
+ /**
129
+ * @type {import("@vcmap/core").OverrideClassRegistry<AbstractFeatureInfoView>}
130
+ * @private
131
+ */
132
+ private _featureInfoClassRegistry;
133
+ /**
134
+ * @type {import("@vcmap/core").OverrideCollection<AbstractFeatureInfoView>}
135
+ * @private
136
+ */
137
+ private _featureInfo;
138
+ /**
139
+ * @type {OverviewMap}
140
+ * @private
141
+ */
142
+ private _overviewMap;
143
+ /**
144
+ * @type {I18nCollection<Object>}
145
+ * @private
146
+ */
147
+ private _i18n;
148
+ /**
149
+ *
150
+ * @type {import("vue-i18n").VueI18n}
151
+ * @private
152
+ */
153
+ private _vueI18n;
154
+ /**
155
+ *
156
+ * @type {function(): void}
157
+ * @private
158
+ */
159
+ private _vueI18nDestroy;
160
+ /**
161
+ * @type {CategoryManager}
162
+ * @private
163
+ */
164
+ private _categoryManager;
165
+ /**
166
+ * @type {ContextMenuManager}
167
+ * @private
168
+ */
169
+ private _contextMenuManager;
170
+ /**
171
+ * @type {Search}
172
+ * @private
173
+ */
174
+ private _search;
175
+ /**
176
+ * @type {Notifier}
177
+ * @private
178
+ */
179
+ private _notifier;
180
+ /**
181
+ * @type {AppState}
182
+ * @private
183
+ */
184
+ private _cachedAppState;
185
+ /**
186
+ * An event triggered when the VcsApp was mounted and a target was set for the maps.
187
+ * Provides the id of the target html element.
188
+ * @type {import("@vcmap/core").VcsEvent<string>}
189
+ */
190
+ mounted: import("@vcmap/core").VcsEvent<string>;
191
+ /**
192
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>>}
193
+ */
194
+ get plugins(): import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>>;
195
+ /**
196
+ * @type {import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>}
197
+ */
198
+ get contentTree(): import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>;
199
+ /**
200
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof import("./callback/vcsCallback.js").default>>}
201
+ */
202
+ get callbackClassRegistry(): OverrideClassRegistry<import("@vcmap/core").Ctor<typeof import("./callback/vcsCallback.js").default>>;
203
+ /**
204
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof ContentTreeItem>>}
205
+ */
206
+ get contentTreeClassRegistry(): OverrideClassRegistry<import("@vcmap/core").Ctor<typeof ContentTreeItem>>;
207
+ /**
208
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
209
+ */
210
+ get featureInfoClassRegistry(): OverrideClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>;
211
+ /**
212
+ * @returns {ToolboxManager}
213
+ */
214
+ get toolboxManager(): ToolboxManager;
215
+ /**
216
+ * @returns {WindowManager}
217
+ */
218
+ get windowManager(): WindowManager;
219
+ /**
220
+ * @returns {NavbarManager}
221
+ */
222
+ get navbarManager(): NavbarManager;
223
+ /**
224
+ * @returns {FeatureInfo}
225
+ */
226
+ get featureInfo(): FeatureInfo;
227
+ /**
228
+ * @type {OverviewMap}
229
+ */
230
+ get overviewMap(): OverviewMap;
231
+ /**
232
+ * @type {I18nCollection}
233
+ */
234
+ get i18n(): I18nCollection;
235
+ /**
236
+ * @returns {import("vue-i18n").IVueI18n}
237
+ */
238
+ get vueI18n(): import("vue-i18n").IVueI18n;
239
+ /**
240
+ * @returns {CategoryManager}
241
+ */
242
+ get categoryManager(): CategoryManager;
243
+ /**
244
+ * @type {ContextMenuManager}
245
+ */
246
+ get contextMenuManager(): ContextMenuManager;
247
+ /**
248
+ * @type {Search}
249
+ */
250
+ get search(): Search;
251
+ /**
252
+ * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
253
+ */
254
+ get uiConfig(): import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>;
255
+ /**
256
+ * @type {Notifier}
257
+ */
258
+ get notifier(): Notifier;
259
+ /**
260
+ * Returns a callback function providing a URL to help page.
261
+ * The default helpBaseUrl can be changed by adding an 'helpBaseUrl' item to the UiConfig Collection.
262
+ * The callback derives the url from the VC Map mayor and minor version, the current app locale and a provided path pointing to a specific help section.
263
+ * This function can be used for the WindowState infoUrlCallback property.
264
+ * @param {string} [path] - the path to a help section
265
+ * @param {string} [subpage='vc-map'] - path to a subpage. Default is 'vc-map'.
266
+ * @returns {function():string}
267
+ */
268
+ getHelpUrlCallback(path?: string | undefined, subpage?: string | undefined): () => string;
269
+ /**
270
+ * Get the state of the application. When passed the forUrl flag, only a minimal set of states shall be provided for a sharable link to the current state (to ensure
271
+ * the maximum URL length is not exceeded). This includes: layer active state & styling, active map, active viewpoint,
272
+ * currently selected feature info & any state deemed required for a sharable URL by the currently loaded plugins.
273
+ * @param {boolean=} forUrl
274
+ * @returns {Promise<import("./state.js").AppState>}
275
+ */
276
+ getState(forUrl?: boolean | undefined): Promise<import("./state.js").AppState>;
277
+ /**
278
+ * @param {string} moduleId
279
+ * @returns {VcsUiModuleConfig}
280
+ */
281
+ serializeModule(moduleId: string): VcsUiModuleConfig;
282
+ }
283
+ import { version } from '../package.json';
284
+ import { VcsApp } from '@vcmap/core';
285
+ import { VcsEvent } from '@vcmap/core';
286
+ import { Collection } from '@vcmap/core';
287
+ import ContentTreeItem from './contentTree/contentTreeItem.js';
288
+ import ContentTreeCollection from './contentTree/contentTreeCollection.js';
289
+ import { OverrideClassRegistry } from '@vcmap/core';
290
+ import AbstractFeatureInfoView from './featureInfo/abstractFeatureInfoView.js';
291
+ import ToolboxManager from './manager/toolbox/toolboxManager.js';
292
+ import WindowManager from './manager/window/windowManager.js';
293
+ import NavbarManager from './manager/navbarManager.js';
294
+ import FeatureInfo from './featureInfo/featureInfo.js';
295
+ import OverviewMap from './navigation/overviewMap.js';
296
+ import I18nCollection from './i18n/i18nCollection.js';
297
+ import CategoryManager from './manager/collectionManager/categoryManager.js';
298
+ import ContextMenuManager from './manager/contextMenu/contextMenuManager.js';
299
+ import Search from './search/search.js';
300
+ import UiConfig from './uiConfig.js';
301
+ import Notifier from './notifier/notifier.js';
package/src/vcsUiApp.js CHANGED
@@ -19,8 +19,14 @@ import ToolboxManager, {
19
19
  } from './manager/toolbox/toolboxManager.js';
20
20
  import WindowManager from './manager/window/windowManager.js';
21
21
  import NavbarManager from './manager/navbarManager.js';
22
- import { createContentTreeCollection } from './contentTree/contentTreeCollection.js';
23
- import { contentTreeClassRegistry } from './contentTree/contentTreeItem.js';
22
+ // eslint-disable-next-line no-unused-vars
23
+ import ContentTreeCollection, { // imported for type
24
+ createContentTreeCollection,
25
+ } from './contentTree/contentTreeCollection.js';
26
+ // eslint-disable-next-line no-unused-vars
27
+ import ContentTreeItem, { // imported for type
28
+ contentTreeClassRegistry,
29
+ } from './contentTree/contentTreeItem.js';
24
30
  import OverviewMap from './navigation/overviewMap.js';
25
31
  import I18nCollection from './i18n/i18nCollection.js';
26
32
  import CategoryManager from './manager/collectionManager/categoryManager.js';
@@ -38,12 +44,13 @@ import { createVueI18n, setupI18n } from './vuePlugins/i18n.js';
38
44
  import { callbackClassRegistry } from './callback/vcsCallback.js';
39
45
 
40
46
  /**
41
- * @typedef {import("@vcmap/core").VcsModuleConfig} VcsUiModuleConfig
42
- * @property {Array<Object>} [plugins]
43
- * @property {Array<ContentTreeItemOptions>} [contentTree]
44
- * @property {Array<UiConfigurationItem>} [uiConfig]
45
- * @property {Array<FeatureInfoViewOptions>} [featureInfo]
46
- * @property {Array<Object>} [i18n]
47
+ * @typedef {import("@vcmap/core").VcsModuleConfig & {
48
+ * plugins?: Object[],
49
+ * contentTree?: import("./contentTree/contentTreeItem.js").ContentTreeItemOptions[],
50
+ * uiConfig?: import("./uiConfig.js").UiConfigurationItem<unknown>[],
51
+ * featureInfo?: import("./featureInfo/abstractFeatureInfoView.js").FeatureInfoViewOptions[],
52
+ * i18n?: Object[]
53
+ * }} VcsUiModuleConfig
47
54
  */
48
55
 
49
56
  /**
@@ -61,39 +68,54 @@ import { callbackClassRegistry } from './callback/vcsCallback.js';
61
68
  */
62
69
 
63
70
  /**
64
- * @callback createPlugin
71
+ * @typedef {function(P, string):VcsPlugin<P, S>} createPlugin
65
72
  * @template {Object} P
66
- * @param {P} config
67
- * @param {string} pluginBaseUrl
68
- * @returns {VcsPlugin<P>}
73
+ * @template {Object} S
69
74
  */
70
75
 
71
76
  /**
72
77
  * Interface for VcsPlugins.
73
78
  * The function implementing the interface should not throw!
74
- * @interface VcsPlugin
79
+ * @typedef {{
80
+ * name: string,
81
+ * version: string,
82
+ * mapVersion: string,
83
+ * i18n?: Object<string, unknown>,
84
+ * initialize?: function(import("@src/vcsUiApp.js").default, S=):void|Promise<void>,
85
+ * onVcsAppMounted?: function(import("@src/vcsUiApp.js").default):void,
86
+ * toJSON?: function(): P,
87
+ * getDefaultOptions?: function(): P,
88
+ * getState?: function(boolean=):S|Promise<S>,
89
+ * getConfigEditors?: function():Array<PluginConfigEditor>,
90
+ * destroy?: function(): void
91
+ * }} VcsPlugin
75
92
  * @template {Object} P
76
93
  * @template {Object} S
77
- * @property {string} name
78
- * @property {string} version
79
- * @property {string} mapVersion - version range of the VC Map, which this plugin supports
80
94
  * @property {Object<string, *>} [i18n] - the i18n messages of this plugin
81
- * @property {function(VcsUiApp, S=)} initialize - called on plugin added. Is passed the VcsUiApp and optionally, the state for the plugin
82
- * @property {function(VcsUiApp)} onVcsAppMounted - called on mounted of VcsApp.vue
95
+ * @property {function(import("@src/vcsUiApp.js").default, S=)} initialize - called on plugin added. Is passed the VcsUiApp and optionally, the state for the plugin
96
+ * @property {function(import("@src/vcsUiApp.js").default)} onVcsAppMounted - called on mounted of VcsApp.vue
83
97
  * @property {function():P} [toJSON] - should return the plugin's serialization excluding all default values
84
98
  * @property {function():P} [getDefaultOptions] - should return the plugin's default options
85
99
  * @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
86
100
  * @property {Array<PluginConfigEditor>} [getConfigEditors] - should return components for configuring the plugin or custom items defined by the plugin
87
- * @property {function():Promise<void>} destroy
88
101
  * @api
89
102
  */
90
103
 
91
104
  /**
92
- * @interface VcsComponentManager
105
+ * @typedef {{
106
+ * added: import("@vcmap/core").VcsEvent<T>,
107
+ * removed: import("@vcmap/core").VcsEvent<T>,
108
+ * componentIds: Array<string>,
109
+ * get: function(string):T|undefined,
110
+ * has: function(string):boolean,
111
+ * remove: function(string):void,
112
+ * add: function(O, string|import("./pluginHelper.js").vcsAppSymbol):T,
113
+ * removeOwner: function(string|import("./pluginHelper.js").vcsAppSymbol):void,
114
+ * clear: function():void,
115
+ * destroy: function(): void,
116
+ * }} VcsComponentManager
93
117
  * @template {Object} T - the component type
94
- * @template {Object} O - component options
95
- * @property {import("@vcmap/core").VcsEvent<T>} added
96
- * @property {import("@vcmap/core").VcsEvent<T>} removed
118
+ * @template {Object} O - the component options type
97
119
  * @property {string[]} componentIds - all registered component ids as reactive array
98
120
  * @property {function(string):T} get - get component by id
99
121
  * @property {function(string):boolean} has - has component with id
@@ -101,7 +123,6 @@ import { callbackClassRegistry } from './callback/vcsCallback.js';
101
123
  * @property {function(O, string|vcsAppSymbol):T} add - add component of owner
102
124
  * @property {function(string|vcsAppSymbol)} removeOwner - remove all components of owner
103
125
  * @property {function()} clear - remove all registered components
104
- * @property {function()} destroy
105
126
  * @api
106
127
  */
107
128
 
@@ -183,7 +204,7 @@ class VcsUiApp extends VcsApp {
183
204
  ];
184
205
 
185
206
  /**
186
- * @type {OverrideClassRegistry<VcsCallback>}
207
+ * @type {OverrideClassRegistry<import("./callback/vcsCallback.js").default>}
187
208
  * @private
188
209
  */
189
210
  this._callbackClassRegistry = new OverrideClassRegistry(
@@ -191,7 +212,7 @@ class VcsUiApp extends VcsApp {
191
212
  );
192
213
 
193
214
  /**
194
- * @type {import("@vcmap/core").OverrideClassRegistry<ContentTreeItem>}
215
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<ContentTreeItem>>}
195
216
  * @private
196
217
  */
197
218
  this._contentTreeClassRegistry = new OverrideClassRegistry(
@@ -199,7 +220,7 @@ class VcsUiApp extends VcsApp {
199
220
  );
200
221
 
201
222
  /**
202
- * @type {OverrideContentTreeCollection}
223
+ * @type {import("@vcmap/core").OverrideCollection<import("./contentTree/contentTreeItem.js").ContentTreeItem, import("./contentTree/contentTreeCollection.js").ContentTreeCollection>}
203
224
  * @private
204
225
  */
205
226
  this._contentTree = createContentTreeCollection(this);
@@ -222,7 +243,7 @@ class VcsUiApp extends VcsApp {
222
243
  */
223
244
  this._navbarManager = new NavbarManager();
224
245
  /**
225
- * @type {UiConfig}
246
+ * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
226
247
  * @private
227
248
  */
228
249
  this._uiConfig = new UiConfig(() => this.dynamicModuleId);
@@ -312,40 +333,35 @@ class VcsUiApp extends VcsApp {
312
333
  }
313
334
 
314
335
  /**
315
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin>}
316
- * @readonly
336
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>>}
317
337
  */
318
338
  get plugins() {
319
339
  return this._plugins;
320
340
  }
321
341
 
322
342
  /**
323
- * @type {OverrideContentTreeCollection}
324
- * @readonly
343
+ * @type {import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>}
325
344
  */
326
345
  get contentTree() {
327
346
  return this._contentTree;
328
347
  }
329
348
 
330
349
  /**
331
- * @type {import("@vcmap/core").OverrideClassRegistry<VcsCallback>}
332
- * @readonly
350
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof import("./callback/vcsCallback.js").default>>}
333
351
  */
334
352
  get callbackClassRegistry() {
335
353
  return this._callbackClassRegistry;
336
354
  }
337
355
 
338
356
  /**
339
- * @type {import("@vcmap/core").OverrideClassRegistry<ContentTreeItem>}
340
- * @readonly
357
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof ContentTreeItem>>}
341
358
  */
342
359
  get contentTreeClassRegistry() {
343
360
  return this._contentTreeClassRegistry;
344
361
  }
345
362
 
346
363
  /**
347
- * @type {import("@vcmap/core").OverrideClassRegistry<AbstractFeatureInfoView>}
348
- * @readonly
364
+ * @type {import("@vcmap/core").OverrideClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
349
365
  */
350
366
  get featureInfoClassRegistry() {
351
367
  return this._featureInfoClassRegistry;
@@ -353,7 +369,6 @@ class VcsUiApp extends VcsApp {
353
369
 
354
370
  /**
355
371
  * @returns {ToolboxManager}
356
- * @readonly
357
372
  */
358
373
  get toolboxManager() {
359
374
  return this._toolboxManager;
@@ -361,7 +376,6 @@ class VcsUiApp extends VcsApp {
361
376
 
362
377
  /**
363
378
  * @returns {WindowManager}
364
- * @readonly
365
379
  */
366
380
  get windowManager() {
367
381
  return this._windowManager;
@@ -369,7 +383,6 @@ class VcsUiApp extends VcsApp {
369
383
 
370
384
  /**
371
385
  * @returns {NavbarManager}
372
- * @readonly
373
386
  */
374
387
  get navbarManager() {
375
388
  return this._navbarManager;
@@ -377,7 +390,6 @@ class VcsUiApp extends VcsApp {
377
390
 
378
391
  /**
379
392
  * @returns {FeatureInfo}
380
- * @readonly
381
393
  */
382
394
  get featureInfo() {
383
395
  return this._featureInfo;
@@ -385,7 +397,6 @@ class VcsUiApp extends VcsApp {
385
397
 
386
398
  /**
387
399
  * @type {OverviewMap}
388
- * @readonly
389
400
  */
390
401
  get overviewMap() {
391
402
  return this._overviewMap;
@@ -393,15 +404,13 @@ class VcsUiApp extends VcsApp {
393
404
 
394
405
  /**
395
406
  * @type {I18nCollection}
396
- * @readonly
397
407
  */
398
408
  get i18n() {
399
409
  return this._i18n;
400
410
  }
401
411
 
402
412
  /**
403
- * @returns {import("vue-i18n").VueI18n}
404
- * @readonly
413
+ * @returns {import("vue-i18n").IVueI18n}
405
414
  */
406
415
  get vueI18n() {
407
416
  return this._vueI18n;
@@ -409,7 +418,6 @@ class VcsUiApp extends VcsApp {
409
418
 
410
419
  /**
411
420
  * @returns {CategoryManager}
412
- * @readonly
413
421
  */
414
422
  get categoryManager() {
415
423
  return this._categoryManager;
@@ -417,7 +425,6 @@ class VcsUiApp extends VcsApp {
417
425
 
418
426
  /**
419
427
  * @type {ContextMenuManager}
420
- * @readonly
421
428
  */
422
429
  get contextMenuManager() {
423
430
  return this._contextMenuManager;
@@ -425,15 +432,13 @@ class VcsUiApp extends VcsApp {
425
432
 
426
433
  /**
427
434
  * @type {Search}
428
- * @readonly
429
435
  */
430
436
  get search() {
431
437
  return this._search;
432
438
  }
433
439
 
434
440
  /**
435
- * @type {UiConfig}
436
- * @readonly
441
+ * @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
437
442
  */
438
443
  get uiConfig() {
439
444
  return this._uiConfig;
@@ -441,7 +446,6 @@ class VcsUiApp extends VcsApp {
441
446
 
442
447
  /**
443
448
  * @type {Notifier}
444
- * @readonly
445
449
  */
446
450
  get notifier() {
447
451
  return this._notifier;
@@ -474,7 +478,7 @@ class VcsUiApp extends VcsApp {
474
478
  * the maximum URL length is not exceeded). This includes: layer active state & styling, active map, active viewpoint,
475
479
  * currently selected feature info & any state deemed required for a sharable URL by the currently loaded plugins.
476
480
  * @param {boolean=} forUrl
477
- * @returns {Promise<AppState>}
481
+ * @returns {Promise<import("./state.js").AppState>}
478
482
  */
479
483
  async getState(forUrl) {
480
484
  const state = createEmptyState();
@@ -0,0 +1,10 @@
1
+ /**
2
+ * creates a new VueI18n Instance.
3
+ * @returns {import("vue-i18n").IVueI18n}
4
+ */
5
+ export function createVueI18n(): import("vue-i18n").IVueI18n;
6
+ /**
7
+ * @param {import("../vcsUiApp.js").default} app
8
+ * @returns {function():void} returns a destroy function
9
+ */
10
+ export function setupI18n(app: import("../vcsUiApp.js").default): () => void;
@@ -5,7 +5,7 @@ Vue.use(VueI18n);
5
5
 
6
6
  /**
7
7
  * creates a new VueI18n Instance.
8
- * @returns {import("vue-i18n").VueI18n}
8
+ * @returns {import("vue-i18n").IVueI18n}
9
9
  */
10
10
  export function createVueI18n() {
11
11
  return new VueI18n({
@@ -22,7 +22,7 @@ export function createVueI18n() {
22
22
 
23
23
  /**
24
24
  * sets the messages to the app's I18n Instance;
25
- * @param {VcsUiApp} app
25
+ * @param {import("../vcsUiApp.js").default} app
26
26
  */
27
27
  function setI18nMessages(app) {
28
28
  app.vueI18n.availableLocales.forEach((locale) => {
@@ -36,7 +36,7 @@ function setI18nMessages(app) {
36
36
  }
37
37
 
38
38
  /**
39
- * @param {VcsUiApp} app
39
+ * @param {import("../vcsUiApp.js").default} app
40
40
  * @returns {function():void} returns a destroy function
41
41
  */
42
42
  export function setupI18n(app) {
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @returns {import("vuetify").default}
3
+ */
4
+ export function createVuetify(): import("vuetify").default;
5
+ /**
6
+ * Returns the default primary color depending on the selected theme mode
7
+ * @returns {string}
8
+ */
9
+ export function getDefaultPrimaryColor(): string;
10
+ /**
11
+ * Returns the color depending on the current theme mode
12
+ * @param {string} value - color key, e.g. 'primary'
13
+ * @param {string=} variant - color variant, e.g. 'lighten1', 'darken4', ...
14
+ * @returns {string}
15
+ */
16
+ export function getColorByKey(value: string, variant?: string | undefined): string;
17
+ /**
18
+ * @type {{light:string,dark:string}}
19
+ */
20
+ export const defaultPrimaryColor: {
21
+ light: string;
22
+ dark: string;
23
+ };
24
+ /**
25
+ * @type {import("vuetify").default}
26
+ */
27
+ export const vuetify: import("vuetify").default;