@vcmap/ui 5.0.2 → 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 (443) 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 +22 -0
  6. package/config/dev.config.json +176 -5
  7. package/config/www.config.json +24 -0
  8. package/dist/assets/{cesium.a3a1dc.js → cesium.e9b3ca.js} +1859 -1828
  9. package/dist/assets/cesium.js +1 -1
  10. package/dist/assets/{core.bb64ed.js → core.a9fe5a.js} +5859 -5041
  11. package/dist/assets/core.js +1 -1
  12. package/dist/assets/index-bb2549d6.js +1 -0
  13. package/dist/assets/{ol.833fa9.js → ol.5f0496.js} +7257 -7252
  14. package/dist/assets/ol.js +1 -1
  15. package/dist/assets/{ui.aeb2ec.css → ui.3c73c2.css} +2 -2
  16. package/dist/assets/{ui.aeb2ec.js → ui.3c73c2.js} +14199 -9198
  17. package/dist/assets/ui.js +1 -1
  18. package/dist/assets/{vue.8e1850.js → vue.4fe14e.js} +1243 -1234
  19. package/dist/assets/vue.js +2 -2
  20. package/dist/assets/{vuetify.3ed426.css → vuetify.260d9a.css} +1 -1
  21. package/dist/assets/{vuetify.3ed426.js → vuetify.260d9a.js} +155 -154
  22. package/dist/assets/vuetify.js +2 -2
  23. package/dist/index.html +1 -1
  24. package/index.d.ts +256 -0
  25. package/index.js +48 -11
  26. package/package.json +21 -14
  27. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +3 -0
  28. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +312 -43
  29. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +48 -182
  30. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +118 -0
  31. package/plugins/@vcmap-show-case/category-tester/src/importExportHelper.js +29 -0
  32. package/plugins/@vcmap-show-case/category-tester/src/index.js +16 -0
  33. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +2 -1
  34. package/plugins/@vcmap-show-case/collection-manager-example/src/index.js +8 -4
  35. package/plugins/@vcmap-show-case/extent-example/README.md +3 -0
  36. package/plugins/@vcmap-show-case/extent-example/package.json +5 -0
  37. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +71 -0
  38. package/plugins/@vcmap-show-case/extent-example/src/index.js +68 -0
  39. package/plugins/@vcmap-show-case/flight-component-example/README.md +3 -0
  40. package/plugins/@vcmap-show-case/flight-component-example/package.json +5 -0
  41. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +53 -0
  42. package/plugins/@vcmap-show-case/flight-component-example/src/index.js +42 -0
  43. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +78 -5
  44. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +2 -2
  45. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +22 -10
  46. package/plugins/@vcmap-show-case/toolbox-example/README.md +9 -0
  47. package/plugins/@vcmap-show-case/toolbox-example/package.json +5 -0
  48. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +21 -0
  49. package/plugins/@vcmap-show-case/toolbox-example/src/dummyToolboxActions.js +94 -0
  50. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +260 -0
  51. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +12 -2
  52. package/plugins/@vcmap-show-case/viewpoint-component-example/README.md +3 -0
  53. package/plugins/@vcmap-show-case/viewpoint-component-example/package.json +5 -0
  54. package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +52 -0
  55. package/plugins/@vcmap-show-case/viewpoint-component-example/src/index.js +42 -0
  56. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +31 -1
  57. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +20 -16
  58. package/plugins/@vcmap-show-case/window-tester/src/index.js +2 -17
  59. package/plugins/package.json +3 -1
  60. package/src/actions/StyleSelector.vue +8 -7
  61. package/src/actions/StyleSelector.vue.d.ts +27 -0
  62. package/src/actions/actionHelper.d.ts +153 -0
  63. package/src/actions/actionHelper.js +36 -19
  64. package/src/actions/extentActions.d.ts +40 -0
  65. package/src/actions/extentActions.js +359 -0
  66. package/src/actions/flightActions.d.ts +59 -0
  67. package/src/actions/flightActions.js +232 -0
  68. package/src/actions/listActions.d.ts +63 -0
  69. package/src/actions/listActions.js +185 -0
  70. package/src/actions/stateRefAction.d.ts +19 -0
  71. package/src/actions/stateRefAction.js +1 -1
  72. package/src/application/VcsApp.vue +103 -28
  73. package/src/application/VcsApp.vue.d.ts +86 -0
  74. package/src/application/VcsAppWrapper.vue.d.ts +12 -0
  75. package/src/application/VcsAttributions.vue.d.ts +14 -0
  76. package/src/application/VcsAttributionsFooter.vue +1 -4
  77. package/src/application/VcsAttributionsFooter.vue.d.ts +26 -0
  78. package/src/application/VcsMap.vue.d.ts +12 -0
  79. package/src/application/VcsNavbar.vue.d.ts +45 -0
  80. package/src/application/VcsPositionDisplay.vue +208 -0
  81. package/src/application/VcsPositionDisplay.vue.d.ts +18 -0
  82. package/src/application/VcsSettings.vue.d.ts +5 -0
  83. package/src/application/VcsTextPage.vue +65 -0
  84. package/src/application/VcsTextPage.vue.d.ts +16 -0
  85. package/src/application/VcsTextPageFooter.vue +89 -0
  86. package/src/application/VcsTextPageFooter.vue.d.ts +22 -0
  87. package/src/application/attributionsHelper.d.ts +64 -0
  88. package/src/application/attributionsHelper.js +1 -1
  89. package/src/application/markdownHelper.d.ts +5 -0
  90. package/src/application/markdownHelper.js +11 -0
  91. package/src/application/positionDisplayInteraction.d.ts +42 -0
  92. package/src/application/positionDisplayInteraction.js +65 -0
  93. package/src/callback/activateLayersCallback.d.ts +29 -0
  94. package/src/callback/activateLayersCallback.js +2 -2
  95. package/src/callback/applyLayerStyleCallback.d.ts +36 -0
  96. package/src/callback/applyLayerStyleCallback.js +2 -2
  97. package/src/callback/deactivateLayersCallback.d.ts +29 -0
  98. package/src/callback/deactivateLayersCallback.js +2 -2
  99. package/src/callback/goToViewpointCallback.d.ts +29 -0
  100. package/src/callback/goToViewpointCallback.js +2 -2
  101. package/src/callback/vcsCallback.d.ts +44 -0
  102. package/src/callback/vcsCallback.js +4 -9
  103. package/src/components/ImageElementInjector.vue.d.ts +24 -0
  104. package/src/components/buttons/VcsActionButtonList.vue +24 -16
  105. package/src/components/buttons/VcsActionButtonList.vue.d.ts +68 -0
  106. package/src/components/buttons/VcsButton.vue +7 -0
  107. package/src/components/buttons/VcsButton.vue.d.ts +89 -0
  108. package/src/components/buttons/VcsFormButton.vue +9 -0
  109. package/src/components/buttons/VcsFormButton.vue.d.ts +91 -0
  110. package/src/components/buttons/VcsToolButton.vue +9 -0
  111. package/src/components/buttons/VcsToolButton.vue.d.ts +91 -0
  112. package/src/components/flight/VcsFlightAnchorsComponent.vue +329 -0
  113. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +45 -0
  114. package/src/components/flight/VcsFlightComponent.vue +284 -0
  115. package/src/components/flight/VcsFlightComponent.vue.d.ts +104 -0
  116. package/src/components/flight/VcsFlightEditor.vue +77 -0
  117. package/src/components/flight/VcsFlightEditor.vue.d.ts +34 -0
  118. package/src/components/flight/VcsFlightPlayer.vue +124 -0
  119. package/src/components/flight/VcsFlightPlayer.vue.d.ts +25 -0
  120. package/src/components/flight/composables.d.ts +11 -0
  121. package/src/components/flight/composables.js +39 -0
  122. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +18 -0
  123. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +82 -0
  124. package/src/components/form-inputs-controls/VcsCoordinate.vue +152 -0
  125. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +90 -0
  126. package/src/components/form-inputs-controls/VcsDatePicker.vue +2 -2
  127. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +31 -0
  128. package/src/components/form-inputs-controls/VcsExtent.vue +122 -0
  129. package/src/components/form-inputs-controls/VcsExtent.vue.d.ts +36 -0
  130. package/src/components/form-inputs-controls/VcsFormSection.vue +6 -1
  131. package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +75 -0
  132. package/src/components/form-inputs-controls/VcsLabel.vue +18 -0
  133. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +41 -0
  134. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +32 -0
  135. package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +35 -0
  136. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +31 -0
  137. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -0
  138. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +22 -0
  139. package/src/components/form-inputs-controls/VcsTextField.vue +57 -10
  140. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +65 -0
  141. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +14 -0
  142. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +89 -0
  143. package/src/components/form-inputs-controls/composables.d.ts +7 -0
  144. package/src/components/form-inputs-controls/composables.js +1 -1
  145. package/src/components/form-output/VcsFormattedNumber.vue +13 -2
  146. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +89 -0
  147. package/src/components/icons/+all.d.ts +9 -0
  148. package/src/components/icons/+all.js +16 -0
  149. package/src/components/icons/2DAreaIcon.vue.d.ts +2 -0
  150. package/src/components/icons/2DDistanceIcon.vue.d.ts +2 -0
  151. package/src/components/icons/2DHeightObliqueIcon.vue +20 -0
  152. package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +2 -0
  153. package/src/components/icons/3DAreaIcon.vue.d.ts +2 -0
  154. package/src/components/icons/3DDistanceIcon.vue.d.ts +2 -0
  155. package/src/components/icons/3DHeightIcon.vue.d.ts +2 -0
  156. package/src/components/icons/AngleIcon.vue.d.ts +2 -0
  157. package/src/components/icons/AssociationsIcon.vue.d.ts +2 -0
  158. package/src/components/icons/AxisIcon.vue.d.ts +2 -0
  159. package/src/components/icons/BoundingBoxIcon.vue.d.ts +2 -0
  160. package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +2 -0
  161. package/src/components/icons/CheckboxIcon.vue.d.ts +2 -0
  162. package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +2 -0
  163. package/src/components/icons/CircleIcon.vue.d.ts +2 -0
  164. package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +2 -0
  165. package/src/components/icons/ClippingIcon.vue.d.ts +2 -0
  166. package/src/components/icons/ClippingVerticalIcon.vue.d.ts +2 -0
  167. package/src/components/icons/ColorPickerIcon.vue.d.ts +2 -0
  168. package/src/components/icons/ColorSwatchIcon.vue.d.ts +2 -0
  169. package/src/components/icons/CommentIcon.vue.d.ts +2 -0
  170. package/src/components/icons/CompassIcon.vue.d.ts +2 -0
  171. package/src/components/icons/ComponentsIcon.vue.d.ts +2 -0
  172. package/src/components/icons/ComponentsPlusIcon.vue +17 -0
  173. package/src/components/icons/ComponentsPlusIcon.vue.d.ts +2 -0
  174. package/src/components/icons/ConeIcon.vue.d.ts +2 -0
  175. package/src/components/icons/DimensionsHouseIcon.vue.d.ts +2 -0
  176. package/src/components/icons/EditIcon.vue.d.ts +2 -0
  177. package/src/components/icons/EditVerticesIcon.vue.d.ts +2 -0
  178. package/src/components/icons/ElevationProfileIcon.vue.d.ts +2 -0
  179. package/src/components/icons/ExportAreaIcon.vue.d.ts +2 -0
  180. package/src/components/icons/ExportFlightIcon.vue.d.ts +2 -0
  181. package/src/components/icons/ExportIcon.vue.d.ts +2 -0
  182. package/src/components/icons/ExternalLinkIcon.vue.d.ts +2 -0
  183. package/src/components/icons/EyeIcon.vue.d.ts +2 -0
  184. package/src/components/icons/FastForwardIcon.vue.d.ts +2 -0
  185. package/src/components/icons/FilterIcon.vue.d.ts +2 -0
  186. package/src/components/icons/GlobalTerrainIcon.vue.d.ts +2 -0
  187. package/src/components/icons/GlobeNatureIcon.vue.d.ts +2 -0
  188. package/src/components/icons/GroundIcon.vue.d.ts +2 -0
  189. package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +2 -0
  190. package/src/components/icons/HelpIcon.vue.d.ts +2 -0
  191. package/src/components/icons/HideIcon.vue.d.ts +2 -0
  192. package/src/components/icons/HomePointIcon.vue.d.ts +2 -0
  193. package/src/components/icons/HospitalsIcon.vue.d.ts +2 -0
  194. package/src/components/icons/HouseIcon.vue.d.ts +2 -0
  195. package/src/components/icons/ImportIcon.vue.d.ts +2 -0
  196. package/src/components/icons/InfoIcon.vue.d.ts +2 -0
  197. package/src/components/icons/KebabIcon.vue.d.ts +2 -0
  198. package/src/components/icons/LabelIcon.vue.d.ts +2 -0
  199. package/src/components/icons/LayersIcon.vue.d.ts +2 -0
  200. package/src/components/icons/LegendIcon.vue.d.ts +2 -0
  201. package/src/components/icons/LineIcon.vue.d.ts +2 -0
  202. package/src/components/icons/LinkIcon.vue.d.ts +2 -0
  203. package/src/components/icons/LogoutIcon.vue.d.ts +2 -0
  204. package/src/components/icons/MapIcon.vue.d.ts +2 -0
  205. package/src/components/icons/MenuIcon.vue.d.ts +2 -0
  206. package/src/components/icons/MinusIcon.vue.d.ts +2 -0
  207. package/src/components/icons/MultiViewIcon.vue +16 -0
  208. package/src/components/icons/MultiViewIcon.vue.d.ts +2 -0
  209. package/src/components/icons/ObjectAttributeIcon.vue.d.ts +2 -0
  210. package/src/components/icons/ObjectSelectIcon.vue.d.ts +2 -0
  211. package/src/components/icons/ObliqueViewIcon.vue.d.ts +2 -0
  212. package/src/components/icons/PdfIcon.vue.d.ts +2 -0
  213. package/src/components/icons/PedestrianIcon.vue.d.ts +2 -0
  214. package/src/components/icons/PenIcon.vue.d.ts +2 -0
  215. package/src/components/icons/PlayCircleIcon.vue.d.ts +2 -0
  216. package/src/components/icons/PlusIcon.vue.d.ts +2 -0
  217. package/src/components/icons/PoiIcon.vue.d.ts +2 -0
  218. package/src/components/icons/PointIcon.vue.d.ts +2 -0
  219. package/src/components/icons/PointMeasurementIcon.vue +36 -0
  220. package/src/components/icons/PointMeasurementIcon.vue.d.ts +2 -0
  221. package/src/components/icons/PointSelectIcon.vue.d.ts +2 -0
  222. package/src/components/icons/PresentationModeIcon.vue.d.ts +2 -0
  223. package/src/components/icons/ProgressIcon.vue.d.ts +2 -0
  224. package/src/components/icons/QueryIcon.vue.d.ts +2 -0
  225. package/src/components/icons/RectangleIcon.vue.d.ts +2 -0
  226. package/src/components/icons/ReturnIcon.vue.d.ts +2 -0
  227. package/src/components/icons/RewindIcon.vue.d.ts +2 -0
  228. package/src/components/icons/RotateLeftIcon.vue.d.ts +2 -0
  229. package/src/components/icons/RotateRightIcon.vue.d.ts +2 -0
  230. package/src/components/icons/ScreenshotIcon.vue.d.ts +2 -0
  231. package/src/components/icons/SearchIcon.vue.d.ts +2 -0
  232. package/src/components/icons/ShadowIcon.vue.d.ts +2 -0
  233. package/src/components/icons/ShapesIcon.vue.d.ts +2 -0
  234. package/src/components/icons/ShareIcon.vue.d.ts +2 -0
  235. package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +2 -0
  236. package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +2 -0
  237. package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +2 -0
  238. package/src/components/icons/SkipNextIcon.vue.d.ts +2 -0
  239. package/src/components/icons/SkipPreviousIcon.vue.d.ts +2 -0
  240. package/src/components/icons/SplitViewIcon.vue.d.ts +2 -0
  241. package/src/components/icons/TerrainBoxIcon.vue.d.ts +2 -0
  242. package/src/components/icons/TextStyleIcon.vue.d.ts +2 -0
  243. package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +2 -0
  244. package/src/components/icons/ToolsIcon.vue.d.ts +2 -0
  245. package/src/components/icons/TouchIcon.vue.d.ts +2 -0
  246. package/src/components/icons/TrashCanIcon.vue.d.ts +2 -0
  247. package/src/components/icons/TriangleIcon.vue.d.ts +2 -0
  248. package/src/components/icons/TwoDimensionsIcon.vue.d.ts +2 -0
  249. package/src/components/icons/UploadIcon.vue.d.ts +2 -0
  250. package/src/components/icons/UserProfileIcon.vue.d.ts +2 -0
  251. package/src/components/icons/UserShareIcon.vue.d.ts +2 -0
  252. package/src/components/icons/VideoRecorderIcon.vue.d.ts +2 -0
  253. package/src/components/icons/ViewpointFlightIcon.vue.d.ts +2 -0
  254. package/src/components/icons/ViewpointIcon.vue.d.ts +2 -0
  255. package/src/components/icons/Viewshed360Icon.vue.d.ts +2 -0
  256. package/src/components/icons/ViewshedConeIcon.vue.d.ts +2 -0
  257. package/src/components/icons/ViewshedIcon.vue.d.ts +2 -0
  258. package/src/components/icons/WalkingIcon.vue.d.ts +2 -0
  259. package/src/components/icons/WallIcon.vue.d.ts +2 -0
  260. package/src/components/icons/WandIcon.vue.d.ts +2 -0
  261. package/src/components/import/FileDrop.vue +69 -0
  262. package/src/components/import/FileDrop.vue.d.ts +26 -0
  263. package/src/components/import/ImportComponent.vue +78 -0
  264. package/src/components/import/ImportComponent.vue.d.ts +34 -0
  265. package/src/components/lists/VcsActionList.vue +8 -15
  266. package/src/components/lists/VcsActionList.vue.d.ts +66 -0
  267. package/src/components/lists/VcsList.vue +207 -116
  268. package/src/components/lists/VcsList.vue.d.ts +227 -0
  269. package/src/components/lists/VcsTreeview.vue +3 -1
  270. package/src/components/lists/VcsTreeview.vue.d.ts +28 -0
  271. package/src/components/lists/VcsTreeviewLeaf.vue +1 -0
  272. package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +19 -0
  273. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +41 -0
  274. package/src/components/notification/VcsBadge.vue.d.ts +14 -0
  275. package/src/components/notification/VcsHelp.vue.d.ts +22 -0
  276. package/src/components/notification/VcsTooltip.vue.d.ts +27 -0
  277. package/src/components/notification/validation.d.ts +8 -0
  278. package/src/components/notification/validation.js +3 -2
  279. package/src/components/plugins/AbstractConfigEditor.vue +25 -4
  280. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +55 -0
  281. package/src/components/style/MenuWrapper.vue.d.ts +55 -0
  282. package/src/components/style/VcsFeatureStyleComponent.vue +389 -0
  283. package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +31 -0
  284. package/src/components/style/VcsFillMenu.vue.d.ts +34 -0
  285. package/src/components/style/VcsFillSelector.vue.d.ts +22 -0
  286. package/src/components/style/VcsImageMenu.vue.d.ts +43 -0
  287. package/src/components/style/VcsImageSelector.vue.d.ts +128 -0
  288. package/src/components/style/VcsStrokeMenu.vue.d.ts +34 -0
  289. package/src/components/style/VcsStrokeSelector.vue.d.ts +23 -0
  290. package/src/components/style/VcsTextMenu.vue.d.ts +52 -0
  291. package/src/components/style/VcsTextSelector.vue.d.ts +58 -0
  292. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +76 -0
  293. package/src/components/style/composables.d.ts +43 -0
  294. package/src/components/style/composables.js +11 -8
  295. package/src/components/tables/VcsDataTable.vue +11 -3
  296. package/src/components/tables/VcsDataTable.vue.d.ts +142 -0
  297. package/src/components/tables/VcsTable.vue +71 -2
  298. package/src/components/tables/VcsTable.vue.d.ts +88 -0
  299. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +392 -0
  300. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +87 -0
  301. package/src/components/vector-properties/VcsFeatureTransforms.vue +217 -0
  302. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +45 -0
  303. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +96 -52
  304. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +119 -0
  305. package/src/components/vector-properties/composables.d.ts +33 -0
  306. package/src/components/vector-properties/composables.js +21 -14
  307. package/src/components/viewpoint/VcsViewpointComponent.vue +514 -0
  308. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +126 -0
  309. package/src/components/viewpoint/VcsViewpointEditor.vue +87 -0
  310. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +25 -0
  311. package/src/contentTree/LayerTree.vue.d.ts +15 -0
  312. package/src/contentTree/contentTreeCollection.d.ts +113 -0
  313. package/src/contentTree/contentTreeCollection.js +10 -20
  314. package/src/contentTree/contentTreeItem.d.ts +334 -0
  315. package/src/contentTree/contentTreeItem.js +31 -17
  316. package/src/contentTree/flightContentTreeItem.d.ts +53 -0
  317. package/src/contentTree/flightContentTreeItem.js +201 -0
  318. package/src/contentTree/groupContentTreeItem.d.ts +14 -0
  319. package/src/contentTree/groupContentTreeItem.js +2 -2
  320. package/src/contentTree/layerContentTreeItem.d.ts +76 -0
  321. package/src/contentTree/layerContentTreeItem.js +7 -9
  322. package/src/contentTree/layerGroupContentTreeItem.d.ts +50 -0
  323. package/src/contentTree/layerGroupContentTreeItem.js +2 -3
  324. package/src/contentTree/nodeContentTreeItem.d.ts +10 -0
  325. package/src/contentTree/nodeContentTreeItem.js +2 -2
  326. package/src/contentTree/obliqueCollectionContentTreeItem.d.ts +46 -0
  327. package/src/contentTree/obliqueCollectionContentTreeItem.js +3 -5
  328. package/src/contentTree/subContentTreeItem.d.ts +15 -0
  329. package/src/contentTree/subContentTreeItem.js +3 -3
  330. package/src/contentTree/vcsObjectContentTreeItem.d.ts +56 -0
  331. package/src/contentTree/vcsObjectContentTreeItem.js +3 -4
  332. package/src/contentTree/viewpointContentTreeItem.d.ts +46 -0
  333. package/src/contentTree/viewpointContentTreeItem.js +3 -4
  334. package/src/downloadHelper.d.ts +27 -0
  335. package/src/featureInfo/AddressBalloonComponent.vue.d.ts +2 -0
  336. package/src/featureInfo/BalloonComponent.vue +16 -3
  337. package/src/featureInfo/BalloonComponent.vue.d.ts +61 -0
  338. package/src/featureInfo/abstractFeatureInfoView.d.ts +199 -0
  339. package/src/featureInfo/abstractFeatureInfoView.js +82 -18
  340. package/src/featureInfo/addressBalloonFeatureInfoView.d.ts +67 -0
  341. package/src/featureInfo/addressBalloonFeatureInfoView.js +9 -2
  342. package/src/featureInfo/balloonFeatureInfoView.d.ts +49 -0
  343. package/src/featureInfo/balloonFeatureInfoView.js +12 -11
  344. package/src/featureInfo/balloonHelper.d.ts +31 -0
  345. package/src/featureInfo/balloonHelper.js +6 -6
  346. package/src/featureInfo/featureInfo.d.ts +146 -0
  347. package/src/featureInfo/featureInfo.js +11 -16
  348. package/src/featureInfo/featureInfoInteraction.d.ts +21 -0
  349. package/src/featureInfo/featureInfoInteraction.js +2 -2
  350. package/src/featureInfo/iframeFeatureInfoView.d.ts +48 -0
  351. package/src/featureInfo/iframeFeatureInfoView.js +3 -5
  352. package/src/featureInfo/tableFeatureInfoView.d.ts +75 -0
  353. package/src/featureInfo/tableFeatureInfoView.js +19 -9
  354. package/src/i18n/de.d.ts +353 -0
  355. package/src/i18n/de.js +114 -2
  356. package/src/i18n/en.d.ts +352 -0
  357. package/src/i18n/en.js +113 -1
  358. package/src/i18n/i18nCollection.d.ts +82 -0
  359. package/src/i18n/i18nCollection.js +3 -3
  360. package/src/init.d.ts +58 -0
  361. package/src/init.js +3 -5
  362. package/src/legend/StyleLegendItem.vue.d.ts +25 -0
  363. package/src/legend/VcsLegend.vue.d.ts +20 -0
  364. package/src/legend/legendHelper.d.ts +172 -0
  365. package/src/legend/legendHelper.js +21 -21
  366. package/src/manager/buttonManager.d.ts +106 -0
  367. package/src/manager/buttonManager.js +8 -4
  368. package/src/manager/collectionManager/CollectionComponent.vue +38 -42
  369. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +17 -0
  370. package/src/manager/collectionManager/CollectionComponentList.vue +53 -18
  371. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +38 -0
  372. package/src/manager/collectionManager/CollectionComponentProvider.vue +3 -2
  373. package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +12 -0
  374. package/src/manager/collectionManager/CollectionManager.vue +29 -4
  375. package/src/manager/collectionManager/CollectionManager.vue.d.ts +8 -0
  376. package/src/manager/collectionManager/categoryManager.d.ts +56 -0
  377. package/src/manager/collectionManager/categoryManager.js +21 -7
  378. package/src/manager/collectionManager/collectionComponentClass.d.ts +257 -0
  379. package/src/manager/collectionManager/{collectionComponent.js → collectionComponentClass.js} +210 -57
  380. package/src/manager/collectionManager/collectionManager.d.ts +200 -0
  381. package/src/manager/collectionManager/collectionManager.js +45 -39
  382. package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +60 -0
  383. package/src/manager/collectionManager/editorCollectionComponentClass.js +295 -0
  384. package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +18 -0
  385. package/src/manager/contextMenu/contextMenuInteraction.d.ts +24 -0
  386. package/src/manager/contextMenu/contextMenuManager.d.ts +70 -0
  387. package/src/manager/contextMenu/contextMenuManager.js +5 -5
  388. package/src/manager/navbarManager.d.ts +60 -0
  389. package/src/manager/navbarManager.js +10 -6
  390. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +17 -0
  391. package/src/manager/toolbox/SelectToolboxComponent.vue +1 -0
  392. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +15 -0
  393. package/src/manager/toolbox/ToolboxManager.vue +33 -7
  394. package/src/manager/toolbox/ToolboxManager.vue.d.ts +21 -0
  395. package/src/manager/toolbox/toolboxManager.d.ts +177 -0
  396. package/src/manager/toolbox/toolboxManager.js +86 -31
  397. package/src/manager/window/WindowComponent.vue.d.ts +40 -0
  398. package/src/manager/window/WindowComponentHeader.vue +1 -1
  399. package/src/manager/window/WindowComponentHeader.vue.d.ts +36 -0
  400. package/src/manager/window/WindowManager.vue +1 -0
  401. package/src/manager/window/WindowManager.vue.d.ts +19 -0
  402. package/src/manager/window/windowHelper.d.ts +134 -0
  403. package/src/manager/window/windowHelper.js +20 -20
  404. package/src/manager/window/windowManager.d.ts +422 -0
  405. package/src/manager/window/windowManager.js +95 -40
  406. package/src/navigation/MapNavCompass.vue.d.ts +25 -0
  407. package/src/navigation/MapNavigation.vue +2 -2
  408. package/src/navigation/MapNavigation.vue.d.ts +46 -0
  409. package/src/navigation/ObliqueRotation.vue +8 -4
  410. package/src/navigation/ObliqueRotation.vue.d.ts +14 -0
  411. package/src/navigation/OrientationToolsButton.vue.d.ts +30 -0
  412. package/src/navigation/TiltSlider.vue.d.ts +19 -0
  413. package/src/navigation/VcsCompass.vue.d.ts +25 -0
  414. package/src/navigation/VcsZoomButton.vue +6 -3
  415. package/src/navigation/VcsZoomButton.vue.d.ts +2 -0
  416. package/src/navigation/overviewMap.d.ts +199 -0
  417. package/src/navigation/overviewMap.js +3 -7
  418. package/src/navigation/overviewMapClickedInteraction.d.ts +21 -0
  419. package/src/notifier/NotifierComponent.vue.d.ts +10 -0
  420. package/src/notifier/notifier.d.ts +53 -0
  421. package/src/notifier/notifier.js +0 -1
  422. package/src/pluginHelper.d.ts +67 -0
  423. package/src/pluginHelper.js +11 -9
  424. package/src/search/ResultItem.vue.d.ts +25 -0
  425. package/src/search/ResultsComponent.vue +1 -1
  426. package/src/search/ResultsComponent.vue.d.ts +24 -0
  427. package/src/search/SearchComponent.vue +1 -1
  428. package/src/search/SearchComponent.vue.d.ts +10 -0
  429. package/src/search/search.d.ts +129 -0
  430. package/src/search/search.js +8 -11
  431. package/src/setup.d.ts +1 -0
  432. package/src/state.d.ts +57 -0
  433. package/src/state.js +7 -5
  434. package/src/uiConfig.d.ts +99 -0
  435. package/src/uiConfig.js +17 -7
  436. package/src/vcsUiApp.d.ts +301 -0
  437. package/src/vcsUiApp.js +58 -54
  438. package/src/vuePlugins/i18n.d.ts +10 -0
  439. package/src/vuePlugins/i18n.js +3 -3
  440. package/src/vuePlugins/vuetify.d.ts +27 -0
  441. package/tsconfig.json +36 -0
  442. package/dist/assets/index-661636d9.js +0 -1
  443. package/plugins/@vcmap-show-case/window-tester/src/toolboxData.js +0 -288
@@ -1,7 +1,7 @@
1
1
  import { VcsEvent } from '@vcmap/core';
2
2
  import { check, checkMaybe } from '@vcsuite/check';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
- import { reactive } from 'vue';
4
+ import { reactive, shallowReactive } from 'vue';
5
5
  import { vcsAppSymbol } from '../../pluginHelper.js';
6
6
  import ButtonManager from '../buttonManager.js';
7
7
  import { ActionPattern } from '../../components/lists/VcsActionList.vue';
@@ -24,20 +24,25 @@ export const ToolboxType = {
24
24
  * @typedef {Object} ToolboxComponentOptions
25
25
  * @property {string} [id] - Optional ID, If not provided an uuid will be generated.
26
26
  * @property {ToolboxType} type - Group type, defining the behaviour of the group
27
+ * @property {(string|symbol)[]} [toolboxNames] - optional specific toolboxes to render this component in.
27
28
  */
28
29
 
29
30
  /**
30
- * @typedef {ToolboxComponentOptions} SingleToolboxComponentOptions
31
+ * @typedef {ToolboxComponentOptions & { action: import("../../actions/actionHelper.js").VcsAction }} SingleToolboxComponentOptions
31
32
  * @property {VcsAction} action - An action of a single tool
32
33
  */
33
34
 
34
35
  /**
35
- * @typedef {ToolboxComponentOptions} SelectToolboxComponentOptions
36
+ * @typedef {ToolboxComponentOptions & { action: ToolboxSelectAction }} SelectToolboxComponentOptions
36
37
  * @property {ToolboxSelectAction} action - An action determining the behaviour of the select group
37
38
  */
38
39
 
39
40
  /**
40
- * @typedef {ToolboxComponentOptions} GroupToolboxComponentOptions
41
+ * @typedef {ToolboxComponentOptions & {
42
+ * icon: string,
43
+ * title?: string,
44
+ * disabled?: boolean,
45
+ * }} GroupToolboxComponentOptions
41
46
  * @property {string} icon - Group icon
42
47
  * @property {string} [title] - Optional group title, for dropdown
43
48
  * @property {boolean} [disabled=false]
@@ -48,28 +53,33 @@ export const ToolboxType = {
48
53
  * @property {string} id
49
54
  * @property {ToolboxType} type - Group type, defining the behaviour of the group
50
55
  * @property {string|vcsAppSymbol} owner
56
+ * @property {(string|symbol)[]} toolboxNames
51
57
  */
52
58
 
53
59
  /**
54
- * @typedef {ToolboxComponent} SingleToolboxComponent
55
- * @property {VcsAction} action
60
+ * @typedef {ToolboxComponent & { action: import("vue").UnwrapRef<import("../../actions/actionHelper.js").VcsAction> }} SingleToolboxComponent
56
61
  */
57
62
 
58
63
  /**
59
- * @typedef {ToolboxComponent} GroupToolboxComponent
60
- * @property {string|undefined} icon
61
- * @property {string|undefined} title
62
- * @property {ButtonManager} buttonManager
63
- * @property {boolean} [disabled=false]
64
+ * @typedef {ToolboxComponent & {
65
+ * icon: string,
66
+ * title?: string,
67
+ * buttonManager: ButtonManager,
68
+ * disabled?: boolean
69
+ * }} GroupToolboxComponent
64
70
  */
65
71
 
66
72
  /**
67
- * @typedef {ToolboxComponent} SelectToolboxComponent
73
+ * @typedef {ToolboxComponent & { action: import("vue").UnwrapRef<ToolboxSelectAction> }} SelectToolboxComponent
68
74
  * @property {ToolboxSelectAction} action
69
75
  */
70
76
 
71
77
  /**
72
- * @typedef {VcsAction} ToolboxSelectAction
78
+ * @typedef {import("../../actions/actionHelper.js").VcsAction & {
79
+ * selected: function(number):void,
80
+ * tools: ToolboxSelectItem[],
81
+ * currentIndex: number
82
+ * }} ToolboxSelectAction
73
83
  * @property {function(index:number):void} selected - A callback determining the select behavior of the group. Should set the currentIndex.
74
84
  * @property {Array<ToolboxSelectItem>} tools - A list of exclusive tools belonging to the group
75
85
  * @property {number} currentIndex - Index of the current item
@@ -108,15 +118,21 @@ const defaultGroups = [
108
118
  */
109
119
  const defaultOrder = ['featureInfo', 'flight'];
110
120
 
121
+ /**
122
+ * The default toolbox name
123
+ * @type {symbol}
124
+ */
125
+ export const defaultToolboxName = Symbol('defaultToolboxName');
126
+
111
127
  /**
112
128
  * sorts by owner and optionally plugin order
113
129
  * If both components are owned by vcsApp, defaultOrder is used to compare
114
- * @param {ToolboxComponent|ButtonComponent} compA
115
- * @param {ToolboxComponent|ButtonComponent} compB
130
+ * @param {ToolboxComponent|import("../buttonManager.js").ButtonComponent} compA
131
+ * @param {ToolboxComponent|import("../buttonManager.js").ButtonComponent} compB
116
132
  * @param {string[]} [order] order of owners to sort by
117
133
  * @returns {number}
118
134
  */
119
- export function sortByOwner(compA, compB, order = []) {
135
+ function sortByOwner(compA, compB, order = []) {
120
136
  const sorted = [vcsAppSymbol, ...order];
121
137
  let indexA = sorted.indexOf(compA.owner);
122
138
  let indexB = sorted.indexOf(compB.owner);
@@ -142,10 +158,10 @@ export function sortByOwner(compA, compB, order = []) {
142
158
 
143
159
  /**
144
160
  * returns ToolboxComponents sorted by owner (or other sort function)
145
- * @param {Array<ToolboxComponent|ButtonComponent>} components
161
+ * @param {Array<ToolboxComponent|import("../buttonManager.js").ButtonComponent>} components
146
162
  * @param {string[]} [order] optional order to sort by (plugin names)
147
163
  * @param {function(ownerA:string, ownerB:string, order: string[]):number} [compareFn=sortByOwner] Per default components are sorted by owner: app first, then plugins
148
- * @returns {Array<ToolboxComponent|ButtonComponent>}
164
+ * @returns {Array<ToolboxComponent|import("../buttonManager.js").ButtonComponent>}
149
165
  */
150
166
  export function getComponentsByOrder(
151
167
  components,
@@ -167,10 +183,14 @@ export function setupDefaultGroups(toolboxManager, groups = defaultGroups) {
167
183
  );
168
184
  }
169
185
 
186
+ /**
187
+ * @typedef {import("../../vcsUiApp.js").VcsComponentManager<ToolboxComponent,ToolboxComponentOptions>} IToolboxManager
188
+ */
189
+
170
190
  /**
171
191
  * @class ToolboxManager
172
192
  * @description Manages a set of Toolbox Components
173
- * @implements VcsComponentManager<ToolboxComponent,ToolboxComponentOptions>
193
+ * @implements {IToolboxManager}
174
194
  */
175
195
  class ToolboxManager {
176
196
  constructor() {
@@ -193,6 +213,34 @@ class ToolboxManager {
193
213
  * @private
194
214
  */
195
215
  this._toolboxGroups = new Map();
216
+
217
+ /**
218
+ * @type {symbol|string}
219
+ * @private
220
+ */
221
+ this._toolboxName = defaultToolboxName;
222
+
223
+ /**
224
+ * @type {VcsEvent<string>}
225
+ */
226
+ this.toolboxNameChanged = new VcsEvent();
227
+ }
228
+
229
+ get toolboxName() {
230
+ return this._toolboxName;
231
+ }
232
+
233
+ set toolboxName(name) {
234
+ check(name, [String, defaultToolboxName]);
235
+
236
+ if (this._toolboxName !== name) {
237
+ this._toolboxName = name;
238
+ this.toolboxNameChanged.raiseEvent(name);
239
+ }
240
+ }
241
+
242
+ setDefaultToolboxName() {
243
+ this.toolboxName = defaultToolboxName;
196
244
  }
197
245
 
198
246
  /**
@@ -235,7 +283,7 @@ class ToolboxManager {
235
283
  * @param {SingleToolboxComponentOptions|SelectToolboxComponentOptions|GroupToolboxComponentOptions} toolboxComponentOptions
236
284
  * @param {string|symbol} owner pluginName or vcsAppSymbol
237
285
  * @throws {Error} if a toolboxComponent with the same ID has already been added
238
- * @returns {SingleToolboxComponent|SelectToolboxComponent|GroupToolboxComponent}
286
+ * @returns {SingleToolboxComponent|SelectToolboxComponent|import("vue").ShallowReactive<GroupToolboxComponent>}
239
287
  */
240
288
  add(toolboxComponentOptions, owner) {
241
289
  checkMaybe(toolboxComponentOptions.id, String);
@@ -248,8 +296,11 @@ class ToolboxManager {
248
296
  );
249
297
  }
250
298
  const id = toolboxComponentOptions.id || uuidv4();
251
- const { type } = toolboxComponentOptions;
299
+ const { type, toolboxNames: toolboxNamesOptions } = toolboxComponentOptions;
252
300
 
301
+ const toolboxNames = toolboxNamesOptions
302
+ ? [...toolboxNamesOptions]
303
+ : [defaultToolboxName];
253
304
  /**
254
305
  * @type {ToolboxComponent}
255
306
  */
@@ -263,6 +314,9 @@ class ToolboxManager {
263
314
  get owner() {
264
315
  return owner;
265
316
  },
317
+ get toolboxNames() {
318
+ return toolboxNames;
319
+ },
266
320
  };
267
321
 
268
322
  if (type === ToolboxType.SINGLE) {
@@ -306,24 +360,24 @@ class ToolboxManager {
306
360
  check(toolboxComponentOptions.icon, String);
307
361
  checkMaybe(toolboxComponentOptions.title, String);
308
362
  checkMaybe(toolboxComponentOptions.disabled, Boolean);
309
- const { icon, title = undefined, disabled } = toolboxComponentOptions;
363
+ const {
364
+ icon,
365
+ title = undefined,
366
+ disabled = false,
367
+ } = toolboxComponentOptions;
310
368
  const buttonManager = new ButtonManager();
311
369
  /**
312
- * @type {GroupToolboxComponent}
370
+ * @type {import("vue").ShallowReactive<GroupToolboxComponent>}
313
371
  */
314
- toolboxComponent = {
372
+ toolboxComponent = shallowReactive({
315
373
  ...toolboxComponent,
316
374
  disabled,
317
- get icon() {
318
- return icon;
319
- },
320
- get title() {
321
- return title;
322
- },
375
+ icon,
376
+ title,
323
377
  get buttonManager() {
324
378
  return buttonManager;
325
379
  },
326
- };
380
+ });
327
381
  }
328
382
 
329
383
  this._toolboxGroups.set(toolboxComponent.id, toolboxComponent);
@@ -365,6 +419,7 @@ class ToolboxManager {
365
419
  destroy() {
366
420
  this.added.destroy();
367
421
  this.removed.destroy();
422
+ this.toolboxNameChanged.destroy();
368
423
  this.clear();
369
424
  this.componentIds.splice(0);
370
425
  this._toolboxGroups.clear();
@@ -0,0 +1,40 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ windowState: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ };
6
+ isOnTop: {
7
+ type: BooleanConstructor;
8
+ required: true;
9
+ default: boolean;
10
+ };
11
+ slotWindow: {
12
+ type: ObjectConstructor;
13
+ required: true;
14
+ };
15
+ }, {
16
+ isDynamic: import("vue").ComputedRef<boolean>;
17
+ isChild: import("vue").ComputedRef<boolean>;
18
+ isDocked: import("vue").ComputedRef<boolean>;
19
+ isDynamicLeft: import("vue").ComputedRef<boolean>;
20
+ isDynamicRight: import("vue").ComputedRef<boolean>;
21
+ isDraggable: import("vue").Ref<boolean>;
22
+ dragStart: (e: DragEvent) => void;
23
+ dragEnd: (endEvent: DragEvent) => void;
24
+ mousedown: (e: MouseEvent) => void;
25
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
26
+ windowState: {
27
+ type: ObjectConstructor;
28
+ required: true;
29
+ };
30
+ isOnTop: {
31
+ type: BooleanConstructor;
32
+ required: true;
33
+ default: boolean;
34
+ };
35
+ slotWindow: {
36
+ type: ObjectConstructor;
37
+ required: true;
38
+ };
39
+ }>>, {}>;
40
+ export default _default;
@@ -13,7 +13,7 @@
13
13
  </v-icon>
14
14
  <span
15
15
  class="d-inline-block user-select-none font-weight-bold"
16
- :class="{ 'text--primary': isOnTop }"
16
+ :class="{ 'primary--text': isOnTop }"
17
17
  >
18
18
  {{ translatedHeaderTitle }}
19
19
  </span>
@@ -0,0 +1,36 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ windowState: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ };
6
+ isOnTop: {
7
+ type: BooleanConstructor;
8
+ required: true;
9
+ default: boolean;
10
+ };
11
+ slotWindow: {
12
+ type: ObjectConstructor;
13
+ required: true;
14
+ };
15
+ }, {
16
+ pin: () => void;
17
+ close: () => void;
18
+ isDockable: import("vue").ComputedRef<any>;
19
+ translatedHeaderTitle: import("vue").ComputedRef<any>;
20
+ infoAction: import("../../actions/actionHelper.js").VcsAction | undefined;
21
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
22
+ windowState: {
23
+ type: ObjectConstructor;
24
+ required: true;
25
+ };
26
+ isOnTop: {
27
+ type: BooleanConstructor;
28
+ required: true;
29
+ default: boolean;
30
+ };
31
+ slotWindow: {
32
+ type: ObjectConstructor;
33
+ required: true;
34
+ };
35
+ }>>, {}>;
36
+ export default _default;
@@ -16,6 +16,7 @@
16
16
  :is="getComponent(id)"
17
17
  :window-state="getState(id)"
18
18
  v-bind="getProps(id)"
19
+ @close="close(id)"
19
20
  />
20
21
  <template v-if="!getState(id).hideHeader" #headerComponent>
21
22
  <component
@@ -0,0 +1,19 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ componentIds: WindowManager;
3
+ getComponent: (id: any) => any;
4
+ getHeaderComponent: (id: any) => any;
5
+ getStyles: (id: string) => import("vue").ComputedRef<Object>;
6
+ getState: (id: string) => WindowState;
7
+ getProps: (id: string) => Object;
8
+ isOnTop: (id: string) => boolean;
9
+ getSlot: (id: any) => any;
10
+ close: (id: any) => void;
11
+ pin: (id: any) => void;
12
+ bringWindowToTop: (id: string) => void;
13
+ move: (id: string, translation: {
14
+ dx: number;
15
+ dy: number;
16
+ }) => void;
17
+ addMobileClass: import("vue").ComputedRef<any>;
18
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
19
+ export default _default;
@@ -0,0 +1,134 @@
1
+ /**
2
+ *
3
+ * @param {HTMLElement} target
4
+ * @returns {DOMRect|null}
5
+ */
6
+ export function getTargetSize(target: HTMLElement): DOMRect | null;
7
+ /**
8
+ * WindowPositionOptions from client position relative to a HTMLElement
9
+ * @param {number} x - client pixel position
10
+ * @param {number} y - client pixel position
11
+ * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
12
+ * @param {WindowAlignment} [alignment=WindowAlignment.TOP_LEFT]
13
+ * @returns {import("./windowManager.js").WindowPositionOptions}
14
+ */
15
+ export function getWindowPositionOptions(x: number, y: number, target: HTMLElement, alignment?: number | undefined): import("./windowManager.js").WindowPositionOptions;
16
+ /**
17
+ * Get window position options based on a pixel in the map
18
+ * @param {import("@vcmap-cesium/engine").Cartesian2} windowPosition - the window position, as retrieved from an InteractionEvent
19
+ * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
20
+ * @param {WindowAlignment} [alignment]
21
+ * @returns {import("./windowManager.js").WindowPositionOptions}
22
+ */
23
+ export function getWindowPositionOptionsFromMapEvent(windowPosition: import("@vcmap-cesium/engine").Cartesian2, target: HTMLElement, alignment?: number | undefined): import("./windowManager.js").WindowPositionOptions;
24
+ /**
25
+ * Fits a window aligned top left, so it fits into the parent. This will change the alignment to be bottom or right depending
26
+ * on if the window would not fit into the parent.
27
+ * @param {number} x - client pixel position
28
+ * @param {number} y - client pixel position
29
+ * @param {number} width - window width to fit
30
+ * @param {number} height - window height to fit
31
+ * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
32
+ * @returns {import("./windowManager.js").WindowPositionOptions}
33
+ */
34
+ export function getFittedWindowPositionOptions(x: number, y: number, width: number, height: number, target: HTMLElement): import("./windowManager.js").WindowPositionOptions;
35
+ /**
36
+ * Fits a window aligned top left, so it fits into currently active map. This will change the alignment to be bottom or right depending
37
+ * on if the window would not fit into active map element.
38
+ * @param {import("@vcmap-cesium/engine").Cartesian2} windowPosition - the window position, as retrieved from an InteractionEvent
39
+ * @param {number} width
40
+ * @param {number} height
41
+ * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
42
+ * @returns {import("./windowManager.js").WindowPositionOptions}
43
+ */
44
+ export function getFittedWindowPositionOptionsFromMapEvent(windowPosition: import("@vcmap-cesium/engine").Cartesian2, width: number, height: number, target: HTMLElement): import("./windowManager.js").WindowPositionOptions;
45
+ /**
46
+ * Parses a position to numeric value. Non-numeric values return undefined.
47
+ * @param {string|number|undefined} pos
48
+ * @param {string} key - one of WindowPosition keys
49
+ * @param {DOMRect} targetSize - size of the current target
50
+ * @returns {number|undefined}
51
+ */
52
+ export function posToNumber(pos: string | number | undefined, key: string, targetSize: DOMRect): number | undefined;
53
+ /**
54
+ * @param {number} pos
55
+ * @param {string} key - one of WindowPosition keys
56
+ * @param {DOMRect} targetSize - size of the current target
57
+ * @returns {string}
58
+ */
59
+ export function posToPercent(pos: number, key: string, targetSize: DOMRect): string;
60
+ /**
61
+ * Parses CSS position string properties to absolute numeric position properties
62
+ * @param {import("./windowManager.js").WindowPosition} windowPosition
63
+ * @param {DOMRect} targetSize - the map's target size
64
+ * @returns {import("./windowManager.js").WindowPositionOptions|null}
65
+ */
66
+ export function optionsFromWindowPosition(windowPosition: import("./windowManager.js").WindowPosition, targetSize: DOMRect): import("./windowManager.js").WindowPositionOptions | null;
67
+ /**
68
+ * Returns an updated WindowPosition by applying new options keeping the original object unchanged.
69
+ * Ensures units are maintained.
70
+ * Previous values 'auto' and 'unset' will not be touched.
71
+ * @param {import("./windowManager.js").WindowPosition} previous
72
+ * @param {import("./windowManager.js").WindowPositionOptions} update
73
+ * @param {DOMRect} targetSize - the map's target size
74
+ * @returns {import("./windowManager.js").WindowPosition}
75
+ */
76
+ export function updateWindowPosition(previous: import("./windowManager.js").WindowPosition, update: import("./windowManager.js").WindowPositionOptions, targetSize: DOMRect): import("./windowManager.js").WindowPosition;
77
+ /**
78
+ * Move window position in x and y.
79
+ * Rightward and downward movements are positive.
80
+ * @param {string} id - the window id
81
+ * @param {{dx: number, dy: number}} translation - translation in px
82
+ * @param {import("./windowManager.js").default} windowManager
83
+ * @param {DOMRect} targetSize - the map's target size
84
+ * @param {import("./windowManager.js").WindowPosition|null} windowPosition - Optional position to be preferred over windowComponent's position as start.
85
+ */
86
+ export function moveWindow(id: string, translation: {
87
+ dx: number;
88
+ dy: number;
89
+ }, windowManager: import("./windowManager.js").default, targetSize: DOMRect, windowPosition?: import("./windowManager.js").WindowPosition | null): void;
90
+ /**
91
+ * Clips a provided WindowPosition corresponding to the size of its target
92
+ * @param {import("./windowManager.js").WindowPositionOptions} windowPositionOptions - numerical WindowPositionOptions
93
+ * @param {DOMRect} targetSize - the map's target size
94
+ * @returns {import("./windowManager.js").WindowPositionOptions}
95
+ */
96
+ export function clipToTargetSize(windowPositionOptions: import("./windowManager.js").WindowPositionOptions, targetSize: DOMRect): import("./windowManager.js").WindowPositionOptions;
97
+ /**
98
+ * Derives a child window position from a parent window, placing the child top-right of the parent.
99
+ * @param {import("./windowManager.js").WindowPositionOptions} windowPositionOptions - numerical WindowPositionOptions
100
+ * @param {DOMRect} targetSize - the map's target size
101
+ * @param {import("./windowManager.js").WindowPositionOptions} parentPosition - numerical WindowPositionOptions
102
+ */
103
+ export function applyParentPosition(windowPositionOptions: import("./windowManager.js").WindowPositionOptions, targetSize: DOMRect, parentPosition: import("./windowManager.js").WindowPositionOptions): void;
104
+ /**
105
+ * Returns the position applied on the target by clipping the position to the target's size.
106
+ * Maintains units of the input position.
107
+ * If parent position is provided, returned position is placed top-right of its parent
108
+ * @param {import("./windowManager.js").WindowPosition} position
109
+ * @param {DOMRect} targetSize
110
+ * @param {import("./windowManager.js").WindowPosition|null} parentPosition
111
+ * @returns {import("./windowManager.js").WindowPosition}
112
+ */
113
+ export function getPositionAppliedOnTarget(position: import("./windowManager.js").WindowPosition, targetSize: DOMRect, parentPosition: import("./windowManager.js").WindowPosition | null): import("./windowManager.js").WindowPosition;
114
+ /**
115
+ * margin in px at the border of the map target
116
+ * limiting windows to be moved out of screen
117
+ * @type {{top: number, left: number, bottom: number, right: number}}
118
+ */
119
+ export const windowMoveMargin: {
120
+ top: number;
121
+ left: number;
122
+ bottom: number;
123
+ right: number;
124
+ };
125
+ /**
126
+ * *
127
+ */
128
+ export type WindowAlignment = number;
129
+ export namespace WindowAlignment {
130
+ let TOP_LEFT: number;
131
+ let TOP_RIGHT: number;
132
+ let BOTTOM_LEFT: number;
133
+ let BOTTOM_RIGHT: number;
134
+ }
@@ -49,7 +49,7 @@ export function getTargetSize(target) {
49
49
  * @param {number} y - client pixel position
50
50
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
51
51
  * @param {WindowAlignment} [alignment=WindowAlignment.TOP_LEFT]
52
- * @returns {WindowPositionOptions}
52
+ * @returns {import("./windowManager.js").WindowPositionOptions}
53
53
  */
54
54
  export function getWindowPositionOptions(
55
55
  x,
@@ -78,7 +78,7 @@ export function getWindowPositionOptions(
78
78
  * @param {import("@vcmap-cesium/engine").Cartesian2} windowPosition - the window position, as retrieved from an InteractionEvent
79
79
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
80
80
  * @param {WindowAlignment} [alignment]
81
- * @returns {WindowPositionOptions}
81
+ * @returns {import("./windowManager.js").WindowPositionOptions}
82
82
  */
83
83
  export function getWindowPositionOptionsFromMapEvent(
84
84
  windowPosition,
@@ -107,7 +107,7 @@ export function getWindowPositionOptionsFromMapEvent(
107
107
  * @param {number} width - window width to fit
108
108
  * @param {number} height - window height to fit
109
109
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
110
- * @returns {WindowPositionOptions}
110
+ * @returns {import("./windowManager.js").WindowPositionOptions}
111
111
  */
112
112
  export function getFittedWindowPositionOptions(x, y, width, height, target) {
113
113
  const targetSize = getTargetSize(target);
@@ -138,7 +138,7 @@ export function getFittedWindowPositionOptions(x, y, width, height, target) {
138
138
  * @param {number} width
139
139
  * @param {number} height
140
140
  * @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
141
- * @returns {WindowPositionOptions}
141
+ * @returns {import("./windowManager.js").WindowPositionOptions}
142
142
  */
143
143
  export function getFittedWindowPositionOptionsFromMapEvent(
144
144
  windowPosition,
@@ -200,9 +200,9 @@ export function posToPercent(pos, key, targetSize) {
200
200
 
201
201
  /**
202
202
  * Parses CSS position string properties to absolute numeric position properties
203
- * @param {WindowPosition} windowPosition
203
+ * @param {import("./windowManager.js").WindowPosition} windowPosition
204
204
  * @param {DOMRect} targetSize - the map's target size
205
- * @returns {WindowPositionOptions|null}
205
+ * @returns {import("./windowManager.js").WindowPositionOptions|null}
206
206
  */
207
207
  export function optionsFromWindowPosition(windowPosition, targetSize) {
208
208
  const options = {};
@@ -218,17 +218,17 @@ export function optionsFromWindowPosition(windowPosition, targetSize) {
218
218
  * Returns an updated WindowPosition by applying new options keeping the original object unchanged.
219
219
  * Ensures units are maintained.
220
220
  * Previous values 'auto' and 'unset' will not be touched.
221
- * @param {WindowPosition} previous
222
- * @param {WindowPositionOptions} update
221
+ * @param {import("./windowManager.js").WindowPosition} previous
222
+ * @param {import("./windowManager.js").WindowPositionOptions} update
223
223
  * @param {DOMRect} targetSize - the map's target size
224
- * @returns {WindowPosition}
224
+ * @returns {import("./windowManager.js").WindowPosition}
225
225
  */
226
226
  export function updateWindowPosition(previous, update, targetSize) {
227
227
  /**
228
228
  * returns the position of a key in the same unit 'px' or '%' as previously
229
229
  * @param {string} key
230
- * @param {WindowPosition} prev
231
- * @param {WindowPositionOptions} updated
230
+ * @param {import("./windowManager.js").WindowPosition} prev
231
+ * @param {import("./windowManager.js").WindowPositionOptions} updated
232
232
  * @returns {string}
233
233
  */
234
234
  const toString = (key, prev, updated) => {
@@ -261,9 +261,9 @@ export function updateWindowPosition(previous, update, targetSize) {
261
261
  * Rightward and downward movements are positive.
262
262
  * @param {string} id - the window id
263
263
  * @param {{dx: number, dy: number}} translation - translation in px
264
- * @param {WindowManager} windowManager
264
+ * @param {import("./windowManager.js").default} windowManager
265
265
  * @param {DOMRect} targetSize - the map's target size
266
- * @param {WindowPosition|null} windowPosition - Optional position to be preferred over windowComponent's position as start.
266
+ * @param {import("./windowManager.js").WindowPosition|null} windowPosition - Optional position to be preferred over windowComponent's position as start.
267
267
  */
268
268
  export function moveWindow(
269
269
  id,
@@ -302,9 +302,9 @@ export function moveWindow(
302
302
 
303
303
  /**
304
304
  * Clips a provided WindowPosition corresponding to the size of its target
305
- * @param {WindowPositionOptions} windowPositionOptions - numerical WindowPositionOptions
305
+ * @param {import("./windowManager.js").WindowPositionOptions} windowPositionOptions - numerical WindowPositionOptions
306
306
  * @param {DOMRect} targetSize - the map's target size
307
- * @returns {WindowPositionOptions}
307
+ * @returns {import("./windowManager.js").WindowPositionOptions}
308
308
  */
309
309
  export function clipToTargetSize(windowPositionOptions, targetSize) {
310
310
  const { width: targetWidth, height: targetHeight } = targetSize;
@@ -384,9 +384,9 @@ export function clipToTargetSize(windowPositionOptions, targetSize) {
384
384
 
385
385
  /**
386
386
  * Derives a child window position from a parent window, placing the child top-right of the parent.
387
- * @param {WindowPositionOptions} windowPositionOptions - numerical WindowPositionOptions
387
+ * @param {import("./windowManager.js").WindowPositionOptions} windowPositionOptions - numerical WindowPositionOptions
388
388
  * @param {DOMRect} targetSize - the map's target size
389
- * @param {WindowPositionOptions} parentPosition - numerical WindowPositionOptions
389
+ * @param {import("./windowManager.js").WindowPositionOptions} parentPosition - numerical WindowPositionOptions
390
390
  */
391
391
  export function applyParentPosition(
392
392
  windowPositionOptions,
@@ -438,10 +438,10 @@ export function applyParentPosition(
438
438
  * Returns the position applied on the target by clipping the position to the target's size.
439
439
  * Maintains units of the input position.
440
440
  * If parent position is provided, returned position is placed top-right of its parent
441
- * @param {WindowPosition} position
441
+ * @param {import("./windowManager.js").WindowPosition} position
442
442
  * @param {DOMRect} targetSize
443
- * @param {WindowPosition|null} parentPosition
444
- * @returns {WindowPosition}
443
+ * @param {import("./windowManager.js").WindowPosition|null} parentPosition
444
+ * @returns {import("./windowManager.js").WindowPosition}
445
445
  */
446
446
  export function getPositionAppliedOnTarget(
447
447
  position,