@vcmap/ui 5.3.2 → 6.0.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 (589) hide show
  1. package/build/build.js +26 -4
  2. package/build/buildHelpers.js +6 -1
  3. package/build/buildTypes.js +18 -0
  4. package/build/commonViteConfig.js +7 -10
  5. package/build/generateOLLib.js +5 -1
  6. package/build/info/publish.js +2 -2
  7. package/build/lintTypes.js +5 -0
  8. package/build/staging/Dockerfile +1 -1
  9. package/config/base.config.json +5 -2
  10. package/config/dev.config.json +14 -10
  11. package/config/www.config.json +1 -1
  12. package/dist/assets/{cesium.a9cd10.js → cesium.6b12b4.js} +1654 -1692
  13. package/dist/assets/cesium.js +1 -1
  14. package/dist/assets/{core.5e0ca2.js → core.074b78.js} +2607 -2581
  15. package/dist/assets/core.js +1 -1
  16. package/dist/assets/index-ca7EmZ3d.js +1 -0
  17. package/dist/assets/{ol.8edcc5.js → ol.8b2e3a.js} +19259 -19196
  18. package/dist/assets/ol.js +1 -1
  19. package/dist/assets/ui.715986.css +1 -0
  20. package/dist/assets/ui.715986.js +34219 -0
  21. package/dist/assets/ui.js +1 -1
  22. package/dist/assets/vue.0f2c53.js +6096 -0
  23. package/dist/assets/vue.js +1 -5
  24. package/dist/assets/vuetify.28d881.css +5 -0
  25. package/dist/assets/vuetify.28d881.js +24605 -0
  26. package/dist/assets/vuetify.js +1 -5
  27. package/dist/index.html +1 -2
  28. package/index.d.ts +25 -9
  29. package/index.js +11 -29
  30. package/lib/vue.js +0 -1
  31. package/lib/vuetify.js +1 -2
  32. package/lib/vuetifyLib.js +6 -0
  33. package/package.json +23 -14
  34. package/plugins/@vcmap-show-case/buttons-example/package.json +2 -2
  35. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +57 -61
  36. package/plugins/@vcmap-show-case/buttons-example/src/index.js +1 -1
  37. package/plugins/@vcmap-show-case/category-tester/package.json +2 -2
  38. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +12 -6
  39. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +4 -4
  40. package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +4 -4
  41. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +11 -7
  42. package/plugins/@vcmap-show-case/config-editor/src/ConfigEditor.vue +2 -2
  43. package/plugins/@vcmap-show-case/extent-example/README.md +1 -1
  44. package/plugins/@vcmap-show-case/extent-example/src/index.js +11 -20
  45. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +3 -3
  46. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +122 -169
  47. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +7 -8
  48. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +1 -1
  49. package/plugins/@vcmap-show-case/icons-example/src/AllIconsComponent.vue +1 -1
  50. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +33 -4
  51. package/plugins/@vcmap-show-case/notifier-tester/src/NotifierTester.vue +4 -6
  52. package/plugins/@vcmap-show-case/panel-tester/src/PanelExample.vue +3 -4
  53. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +3 -7
  54. package/plugins/@vcmap-show-case/project-selector/src/ProjectSelectorComponent.vue +10 -16
  55. package/plugins/@vcmap-show-case/search-example/package.json +5 -0
  56. package/plugins/@vcmap-show-case/search-example/src/index.js +75 -0
  57. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +99 -0
  58. package/plugins/@vcmap-show-case/simple-graph/src/SimpleGraphComponent.vue +1 -1
  59. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +1 -1
  60. package/plugins/@vcmap-show-case/table-example/src/DataTableExample.vue +32 -16
  61. package/plugins/@vcmap-show-case/textfields-example/src/TextfieldsExample.vue +7 -1
  62. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +3 -3
  63. package/plugins/@vcmap-show-case/theme-changer/src/index.js +2 -2
  64. package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +1 -1
  65. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +1 -1
  66. package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +4 -4
  67. package/plugins/@vcmap-show-case/window-tester/src/BrokenWindow.vue +17 -0
  68. package/plugins/@vcmap-show-case/window-tester/src/EmptyComponent.vue +1 -1
  69. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +10 -0
  70. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleContent.vue +1 -1
  71. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +1 -1
  72. package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +1 -1
  73. package/src/actions/StyleSelector.vue +4 -34
  74. package/src/actions/StyleSelector.vue.d.ts +6 -4
  75. package/src/actions/actionHelper.js +6 -6
  76. package/src/actions/extentActions.d.ts +1 -2
  77. package/src/actions/extentActions.js +19 -8
  78. package/src/actions/flightActions.js +8 -8
  79. package/src/actions/listActions.d.ts +2 -2
  80. package/src/actions/listActions.js +3 -3
  81. package/src/actions/stateRefAction.js +3 -3
  82. package/src/application/VcsApp.vue +19 -28
  83. package/src/application/VcsApp.vue.d.ts +6 -6
  84. package/src/application/VcsAppWrapper.vue +1 -1
  85. package/src/application/VcsAppWrapper.vue.d.ts +2 -2
  86. package/src/application/VcsAttributions.vue +14 -18
  87. package/src/application/VcsAttributions.vue.d.ts +7 -7
  88. package/src/application/VcsAttributionsFooter.vue +1 -1
  89. package/src/application/VcsAttributionsFooter.vue.d.ts +2 -2
  90. package/src/application/VcsContainer.vue +13 -7
  91. package/src/application/VcsContainer.vue.d.ts +3 -2
  92. package/src/application/VcsCustomScreen.vue +1 -1
  93. package/src/application/VcsCustomScreen.vue.d.ts +2 -2
  94. package/src/application/VcsMainMap.vue +4 -1
  95. package/src/application/VcsMainMap.vue.d.ts +1 -1
  96. package/src/application/VcsMap.vue +21 -23
  97. package/src/application/VcsMap.vue.d.ts +2 -2
  98. package/src/application/VcsNavbar.vue +60 -56
  99. package/src/application/VcsNavbar.vue.d.ts +11 -8
  100. package/src/application/VcsPositionDisplay.vue +33 -46
  101. package/src/application/VcsPositionDisplay.vue.d.ts +3 -3
  102. package/src/application/VcsSettings.vue +19 -7
  103. package/src/application/VcsSettings.vue.d.ts +2 -1
  104. package/src/application/VcsSplashScreen.vue +3 -3
  105. package/src/application/VcsSplashScreen.vue.d.ts +3 -3
  106. package/src/application/VcsTextPage.vue +2 -2
  107. package/src/application/VcsTextPage.vue.d.ts +4 -4
  108. package/src/application/VcsTextPageFooter.vue +4 -4
  109. package/src/application/VcsTextPageFooter.vue.d.ts +2 -2
  110. package/src/application/attributionsHelper.d.ts +2 -2
  111. package/src/application/attributionsHelper.js +9 -9
  112. package/src/components/ImageElementInjector.vue.d.ts +2 -2
  113. package/src/components/attrsHelpers.d.ts +5 -0
  114. package/src/components/attrsHelpers.js +14 -0
  115. package/src/components/buttons/VcsActionButtonList.vue +6 -23
  116. package/src/components/buttons/VcsActionButtonList.vue.d.ts +3 -12
  117. package/src/components/buttons/VcsButton.vue +79 -90
  118. package/src/components/buttons/VcsButton.vue.d.ts +17 -32
  119. package/src/components/buttons/VcsFormButton.vue +77 -125
  120. package/src/components/buttons/VcsFormButton.vue.d.ts +8 -41
  121. package/src/components/buttons/VcsToolButton.vue +91 -94
  122. package/src/components/buttons/VcsToolButton.vue.d.ts +18 -25
  123. package/src/components/composables.d.ts +14 -0
  124. package/src/components/composables.js +31 -0
  125. package/src/components/{form-inputs-controls → extent}/VcsExtent.vue +22 -18
  126. package/src/components/{form-inputs-controls → extent}/VcsExtent.vue.d.ts +10 -7
  127. package/src/components/extent/VcsExtentEditor.vue +79 -0
  128. package/src/components/extent/VcsExtentEditor.vue.d.ts +37 -0
  129. package/src/components/flight/VcsFlightAnchorsComponent.vue +7 -2
  130. package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +6 -6
  131. package/src/components/flight/VcsFlightComponent.vue +2 -1
  132. package/src/components/flight/VcsFlightComponent.vue.d.ts +4 -4
  133. package/src/components/flight/VcsFlightEditor.vue.d.ts +2 -2
  134. package/src/components/flight/VcsFlightPlayer.vue +2 -3
  135. package/src/components/flight/VcsFlightPlayer.vue.d.ts +3 -3
  136. package/src/components/form-inputs-controls/VcsCheckbox.vue +56 -80
  137. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +13 -4
  138. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +128 -117
  139. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +17 -21
  140. package/src/components/form-inputs-controls/VcsCoordinate.vue +31 -41
  141. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +10 -11
  142. package/src/components/form-inputs-controls/VcsDatePicker.vue +39 -72
  143. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +75 -13
  144. package/src/components/form-inputs-controls/VcsFileInput.vue +100 -0
  145. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +27 -0
  146. package/src/components/form-inputs-controls/VcsFormSection.vue +12 -12
  147. package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +6 -4
  148. package/src/components/form-inputs-controls/VcsLabel.vue +8 -28
  149. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +2 -11
  150. package/src/components/form-inputs-controls/VcsRadio.vue +80 -104
  151. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +35 -9
  152. package/src/components/form-inputs-controls/VcsSelect.vue +172 -153
  153. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +36 -9
  154. package/src/components/form-inputs-controls/VcsSlider.vue +71 -52
  155. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +6 -1
  156. package/src/components/form-inputs-controls/VcsTextArea.vue +126 -144
  157. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +13 -10
  158. package/src/components/form-inputs-controls/VcsTextField.vue +95 -278
  159. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +33 -32
  160. package/src/components/form-inputs-controls/VcsWizard.vue +71 -77
  161. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +5 -5
  162. package/src/components/form-inputs-controls/VcsWizardStep.vue +14 -14
  163. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +4 -4
  164. package/src/components/form-inputs-controls/vcsTextField.scss +78 -0
  165. package/src/components/form-output/VcsFormattedNumber.vue +20 -27
  166. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +7 -24
  167. package/src/components/icons/+all.js +1 -1
  168. package/src/components/icons/2DAreaIcon.vue +1 -7
  169. package/src/components/icons/2DAreaIcon.vue.d.ts +1 -1
  170. package/src/components/icons/2DDistanceIcon.vue +1 -7
  171. package/src/components/icons/2DDistanceIcon.vue.d.ts +1 -1
  172. package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +1 -1
  173. package/src/components/icons/2DPointIcon.vue +0 -1
  174. package/src/components/icons/2DPointIcon.vue.d.ts +1 -1
  175. package/src/components/icons/3DAreaIcon.vue +1 -7
  176. package/src/components/icons/3DAreaIcon.vue.d.ts +1 -1
  177. package/src/components/icons/3DDistanceIcon.vue +1 -7
  178. package/src/components/icons/3DDistanceIcon.vue.d.ts +1 -1
  179. package/src/components/icons/3DHeightIcon.vue +1 -7
  180. package/src/components/icons/3DHeightIcon.vue.d.ts +1 -1
  181. package/src/components/icons/3DPointIcon.vue +0 -1
  182. package/src/components/icons/3DPointIcon.vue.d.ts +1 -1
  183. package/src/components/icons/AngleIcon.vue +1 -6
  184. package/src/components/icons/AngleIcon.vue.d.ts +1 -1
  185. package/src/components/icons/AssociationsIcon.vue +1 -6
  186. package/src/components/icons/AssociationsIcon.vue.d.ts +1 -1
  187. package/src/components/icons/AxisIcon.vue.d.ts +1 -1
  188. package/src/components/icons/BoundingBoxIcon.vue +1 -6
  189. package/src/components/icons/BoundingBoxIcon.vue.d.ts +1 -1
  190. package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +1 -1
  191. package/src/components/icons/CheckboxIcon.vue +1 -6
  192. package/src/components/icons/CheckboxIcon.vue.d.ts +1 -1
  193. package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +1 -1
  194. package/src/components/icons/CircleIcon.vue +1 -6
  195. package/src/components/icons/CircleIcon.vue.d.ts +1 -1
  196. package/src/components/icons/ClippingHorizontalIcon.vue +1 -6
  197. package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +1 -1
  198. package/src/components/icons/ClippingIcon.vue +1 -6
  199. package/src/components/icons/ClippingIcon.vue.d.ts +1 -1
  200. package/src/components/icons/ClippingVerticalIcon.vue +1 -6
  201. package/src/components/icons/ClippingVerticalIcon.vue.d.ts +1 -1
  202. package/src/components/icons/ColorPickerIcon.vue +1 -6
  203. package/src/components/icons/ColorPickerIcon.vue.d.ts +1 -1
  204. package/src/components/icons/ColorSwatchIcon.vue +1 -7
  205. package/src/components/icons/ColorSwatchIcon.vue.d.ts +1 -1
  206. package/src/components/icons/CommentIcon.vue +1 -6
  207. package/src/components/icons/CommentIcon.vue.d.ts +1 -1
  208. package/src/components/icons/CompassIcon.vue +1 -13
  209. package/src/components/icons/CompassIcon.vue.d.ts +1 -1
  210. package/src/components/icons/ComponentsIcon.vue +1 -6
  211. package/src/components/icons/ComponentsIcon.vue.d.ts +1 -1
  212. package/src/components/icons/ComponentsPlusIcon.vue +0 -1
  213. package/src/components/icons/ComponentsPlusIcon.vue.d.ts +1 -1
  214. package/src/components/icons/ConeIcon.vue +1 -13
  215. package/src/components/icons/ConeIcon.vue.d.ts +1 -1
  216. package/src/components/icons/CrosshairIcon.vue +0 -2
  217. package/src/components/icons/CrosshairIcon.vue.d.ts +1 -1
  218. package/src/components/icons/DimensionsHouseIcon.vue +1 -7
  219. package/src/components/icons/DimensionsHouseIcon.vue.d.ts +1 -1
  220. package/src/components/icons/EditIcon.vue +1 -6
  221. package/src/components/icons/EditIcon.vue.d.ts +1 -1
  222. package/src/components/icons/EditVerticesIcon.vue +1 -6
  223. package/src/components/icons/EditVerticesIcon.vue.d.ts +1 -1
  224. package/src/components/icons/ElevationProfileIcon.vue +1 -6
  225. package/src/components/icons/ElevationProfileIcon.vue.d.ts +1 -1
  226. package/src/components/icons/ExportAreaIcon.vue +1 -6
  227. package/src/components/icons/ExportAreaIcon.vue.d.ts +1 -1
  228. package/src/components/icons/ExportFlightIcon.vue +1 -6
  229. package/src/components/icons/ExportFlightIcon.vue.d.ts +1 -1
  230. package/src/components/icons/ExportIcon.vue +1 -13
  231. package/src/components/icons/ExportIcon.vue.d.ts +1 -1
  232. package/src/components/icons/ExternalLinkIcon.vue +1 -6
  233. package/src/components/icons/ExternalLinkIcon.vue.d.ts +1 -1
  234. package/src/components/icons/EyeIcon.vue +1 -6
  235. package/src/components/icons/EyeIcon.vue.d.ts +1 -1
  236. package/src/components/icons/FastForwardIcon.vue +1 -6
  237. package/src/components/icons/FastForwardIcon.vue.d.ts +1 -1
  238. package/src/components/icons/FilterIcon.vue +1 -7
  239. package/src/components/icons/FilterIcon.vue.d.ts +1 -1
  240. package/src/components/icons/GlobalTerrainIcon.vue +1 -6
  241. package/src/components/icons/GlobalTerrainIcon.vue.d.ts +1 -1
  242. package/src/components/icons/GlobeNatureIcon.vue +1 -6
  243. package/src/components/icons/GlobeNatureIcon.vue.d.ts +1 -1
  244. package/src/components/icons/GroundIcon.vue +1 -6
  245. package/src/components/icons/GroundIcon.vue.d.ts +1 -1
  246. package/src/components/icons/HealthCareIndustriesIcon.vue +1 -6
  247. package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +1 -1
  248. package/src/components/icons/HelpIcon.vue +1 -6
  249. package/src/components/icons/HelpIcon.vue.d.ts +1 -1
  250. package/src/components/icons/HideIcon.vue +1 -6
  251. package/src/components/icons/HideIcon.vue.d.ts +1 -1
  252. package/src/components/icons/HomePointIcon.vue +1 -6
  253. package/src/components/icons/HomePointIcon.vue.d.ts +1 -1
  254. package/src/components/icons/HospitalsIcon.vue +1 -6
  255. package/src/components/icons/HospitalsIcon.vue.d.ts +1 -1
  256. package/src/components/icons/HouseIcon.vue +1 -6
  257. package/src/components/icons/HouseIcon.vue.d.ts +1 -1
  258. package/src/components/icons/ImportIcon.vue +1 -7
  259. package/src/components/icons/ImportIcon.vue.d.ts +1 -1
  260. package/src/components/icons/InfoIcon.vue +1 -6
  261. package/src/components/icons/InfoIcon.vue.d.ts +1 -1
  262. package/src/components/icons/KebabIcon.vue +1 -7
  263. package/src/components/icons/KebabIcon.vue.d.ts +1 -1
  264. package/src/components/icons/LabelIcon.vue +1 -13
  265. package/src/components/icons/LabelIcon.vue.d.ts +1 -1
  266. package/src/components/icons/LayersIcon.vue +1 -7
  267. package/src/components/icons/LayersIcon.vue.d.ts +1 -1
  268. package/src/components/icons/LegendIcon.vue +1 -6
  269. package/src/components/icons/LegendIcon.vue.d.ts +1 -1
  270. package/src/components/icons/LineIcon.vue +1 -13
  271. package/src/components/icons/LineIcon.vue.d.ts +1 -1
  272. package/src/components/icons/LinkIcon.vue +1 -6
  273. package/src/components/icons/LinkIcon.vue.d.ts +1 -1
  274. package/src/components/icons/LogoutIcon.vue +1 -6
  275. package/src/components/icons/LogoutIcon.vue.d.ts +1 -1
  276. package/src/components/icons/MapIcon.vue +1 -7
  277. package/src/components/icons/MapIcon.vue.d.ts +1 -1
  278. package/src/components/icons/MenuIcon.vue +1 -7
  279. package/src/components/icons/MenuIcon.vue.d.ts +1 -1
  280. package/src/components/icons/MinusIcon.vue +1 -7
  281. package/src/components/icons/MinusIcon.vue.d.ts +1 -1
  282. package/src/components/icons/MultiViewIcon.vue +1 -7
  283. package/src/components/icons/MultiViewIcon.vue.d.ts +1 -1
  284. package/src/components/icons/ObjectAttributeIcon.vue +1 -7
  285. package/src/components/icons/ObjectAttributeIcon.vue.d.ts +1 -1
  286. package/src/components/icons/ObjectSelectIcon.vue +1 -7
  287. package/src/components/icons/ObjectSelectIcon.vue.d.ts +1 -1
  288. package/src/components/icons/ObliqueViewIcon.vue +1 -7
  289. package/src/components/icons/ObliqueViewIcon.vue.d.ts +1 -1
  290. package/src/components/icons/PdfIcon.vue +1 -7
  291. package/src/components/icons/PdfIcon.vue.d.ts +1 -1
  292. package/src/components/icons/PedestrianIcon.vue +1 -6
  293. package/src/components/icons/PedestrianIcon.vue.d.ts +1 -1
  294. package/src/components/icons/PenIcon.vue +1 -6
  295. package/src/components/icons/PenIcon.vue.d.ts +1 -1
  296. package/src/components/icons/PlayCircleIcon.vue +1 -6
  297. package/src/components/icons/PlayCircleIcon.vue.d.ts +1 -1
  298. package/src/components/icons/PlusIcon.vue +1 -7
  299. package/src/components/icons/PlusIcon.vue.d.ts +1 -1
  300. package/src/components/icons/PoiIcon.vue +1 -6
  301. package/src/components/icons/PoiIcon.vue.d.ts +1 -1
  302. package/src/components/icons/PointIcon.vue +1 -7
  303. package/src/components/icons/PointIcon.vue.d.ts +1 -1
  304. package/src/components/icons/PointMeasurementIcon.vue.d.ts +1 -1
  305. package/src/components/icons/PointSelectIcon.vue +1 -6
  306. package/src/components/icons/PointSelectIcon.vue.d.ts +1 -1
  307. package/src/components/icons/PresentationModeIcon.vue +1 -6
  308. package/src/components/icons/PresentationModeIcon.vue.d.ts +1 -1
  309. package/src/components/icons/ProgressIcon.vue +0 -1
  310. package/src/components/icons/ProgressIcon.vue.d.ts +1 -1
  311. package/src/components/icons/QueryIcon.vue +1 -6
  312. package/src/components/icons/QueryIcon.vue.d.ts +1 -1
  313. package/src/components/icons/RectangleIcon.vue +1 -13
  314. package/src/components/icons/RectangleIcon.vue.d.ts +1 -1
  315. package/src/components/icons/ReturnIcon.vue +1 -6
  316. package/src/components/icons/ReturnIcon.vue.d.ts +1 -1
  317. package/src/components/icons/RewindIcon.vue +1 -6
  318. package/src/components/icons/RewindIcon.vue.d.ts +1 -1
  319. package/src/components/icons/RotateLeftIcon.vue +1 -6
  320. package/src/components/icons/RotateLeftIcon.vue.d.ts +1 -1
  321. package/src/components/icons/RotateRightIcon.vue +1 -6
  322. package/src/components/icons/RotateRightIcon.vue.d.ts +1 -1
  323. package/src/components/icons/ScreenshotIcon.vue +1 -6
  324. package/src/components/icons/ScreenshotIcon.vue.d.ts +1 -1
  325. package/src/components/icons/SearchIcon.vue +1 -6
  326. package/src/components/icons/SearchIcon.vue.d.ts +1 -1
  327. package/src/components/icons/ShadowIcon.vue +1 -7
  328. package/src/components/icons/ShadowIcon.vue.d.ts +1 -1
  329. package/src/components/icons/ShapesIcon.vue +1 -6
  330. package/src/components/icons/ShapesIcon.vue.d.ts +1 -1
  331. package/src/components/icons/ShareIcon.vue +1 -6
  332. package/src/components/icons/ShareIcon.vue.d.ts +1 -1
  333. package/src/components/icons/SimpleCircleFilledIcon.vue +1 -6
  334. package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +1 -1
  335. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +1 -6
  336. package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +1 -1
  337. package/src/components/icons/SimpleCircleOutlinedIcon.vue +1 -6
  338. package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +1 -1
  339. package/src/components/icons/SkipNextIcon.vue +1 -6
  340. package/src/components/icons/SkipNextIcon.vue.d.ts +1 -1
  341. package/src/components/icons/SkipPreviousIcon.vue +1 -6
  342. package/src/components/icons/SkipPreviousIcon.vue.d.ts +1 -1
  343. package/src/components/icons/SplitViewIcon.vue +1 -6
  344. package/src/components/icons/SplitViewIcon.vue.d.ts +1 -1
  345. package/src/components/icons/TerrainBoxIcon.vue +1 -6
  346. package/src/components/icons/TerrainBoxIcon.vue.d.ts +1 -1
  347. package/src/components/icons/TextStyleIcon.vue +1 -7
  348. package/src/components/icons/TextStyleIcon.vue.d.ts +1 -1
  349. package/src/components/icons/ThreeDimensionsIcon.vue +1 -6
  350. package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +1 -1
  351. package/src/components/icons/ToolsIcon.vue +1 -7
  352. package/src/components/icons/ToolsIcon.vue.d.ts +1 -1
  353. package/src/components/icons/TouchIcon.vue +1 -7
  354. package/src/components/icons/TouchIcon.vue.d.ts +1 -1
  355. package/src/components/icons/TransparentTerrainIcon.vue +0 -1
  356. package/src/components/icons/TransparentTerrainIcon.vue.d.ts +1 -1
  357. package/src/components/icons/TrashCanIcon.vue +1 -7
  358. package/src/components/icons/TrashCanIcon.vue.d.ts +1 -1
  359. package/src/components/icons/TriangleIcon.vue +1 -6
  360. package/src/components/icons/TriangleIcon.vue.d.ts +1 -1
  361. package/src/components/icons/TwoDimensionsIcon.vue +1 -7
  362. package/src/components/icons/TwoDimensionsIcon.vue.d.ts +1 -1
  363. package/src/components/icons/UploadIcon.vue +1 -6
  364. package/src/components/icons/UploadIcon.vue.d.ts +1 -1
  365. package/src/components/icons/UserProfileIcon.vue +1 -7
  366. package/src/components/icons/UserProfileIcon.vue.d.ts +1 -1
  367. package/src/components/icons/UserShareIcon.vue +1 -6
  368. package/src/components/icons/UserShareIcon.vue.d.ts +1 -1
  369. package/src/components/icons/VideoRecorderIcon.vue +1 -6
  370. package/src/components/icons/VideoRecorderIcon.vue.d.ts +1 -1
  371. package/src/components/icons/ViewpointFlightIcon.vue +1 -6
  372. package/src/components/icons/ViewpointFlightIcon.vue.d.ts +1 -1
  373. package/src/components/icons/ViewpointIcon.vue +1 -6
  374. package/src/components/icons/ViewpointIcon.vue.d.ts +1 -1
  375. package/src/components/icons/Viewshed360Icon.vue +1 -7
  376. package/src/components/icons/Viewshed360Icon.vue.d.ts +1 -1
  377. package/src/components/icons/ViewshedConeIcon.vue +1 -7
  378. package/src/components/icons/ViewshedConeIcon.vue.d.ts +1 -1
  379. package/src/components/icons/ViewshedIcon.vue +1 -7
  380. package/src/components/icons/ViewshedIcon.vue.d.ts +1 -1
  381. package/src/components/icons/WalkingIcon.vue +1 -6
  382. package/src/components/icons/WalkingIcon.vue.d.ts +1 -1
  383. package/src/components/icons/WallIcon.vue +1 -6
  384. package/src/components/icons/WallIcon.vue.d.ts +1 -1
  385. package/src/components/icons/WandIcon.vue +1 -6
  386. package/src/components/icons/WandIcon.vue.d.ts +1 -1
  387. package/src/components/import/{FileDrop.vue → VcsFileDrop.vue} +21 -10
  388. package/src/components/import/VcsFileDrop.vue.d.ts +37 -0
  389. package/src/components/import/{ImportComponent.vue → VcsImportComponent.vue} +24 -12
  390. package/src/components/import/{ImportComponent.vue.d.ts → VcsImportComponent.vue.d.ts} +6 -3
  391. package/src/components/lists/VcsActionList.vue +15 -27
  392. package/src/components/lists/VcsActionList.vue.d.ts +3 -3
  393. package/src/components/lists/VcsList.vue +159 -152
  394. package/src/components/lists/VcsList.vue.d.ts +20 -20
  395. package/src/components/lists/VcsTreeview.vue +56 -43
  396. package/src/components/lists/VcsTreeview.vue.d.ts +3 -5
  397. package/src/components/lists/VcsTreeviewLeaf.vue +76 -75
  398. package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +5 -17
  399. package/src/components/lists/VcsTreeviewSearchbar.vue +39 -83
  400. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +2 -20
  401. package/src/components/modelHelper.d.ts +25 -0
  402. package/src/components/modelHelper.js +88 -0
  403. package/src/components/notification/VcsBadge.vue +8 -6
  404. package/src/components/notification/VcsBadge.vue.d.ts +2 -2
  405. package/src/components/notification/VcsHelp.vue +19 -14
  406. package/src/components/notification/VcsHelp.vue.d.ts +2 -2
  407. package/src/components/notification/VcsTooltip.vue +4 -8
  408. package/src/components/notification/VcsTooltip.vue.d.ts +3 -3
  409. package/src/components/plugins/AbstractConfigEditor.vue +5 -5
  410. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +2 -2
  411. package/src/components/style/MenuWrapper.vue +10 -11
  412. package/src/components/style/MenuWrapper.vue.d.ts +5 -5
  413. package/src/components/style/VcsFeatureStyleComponent.vue +1 -1
  414. package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +7 -7
  415. package/src/components/style/VcsFillMenu.vue +5 -6
  416. package/src/components/style/VcsFillMenu.vue.d.ts +5 -5
  417. package/src/components/style/VcsFillSelector.vue +6 -7
  418. package/src/components/style/VcsFillSelector.vue.d.ts +5 -5
  419. package/src/components/style/VcsImageMenu.vue +13 -9
  420. package/src/components/style/VcsImageMenu.vue.d.ts +5 -5
  421. package/src/components/style/VcsImageSelector.vue +36 -32
  422. package/src/components/style/VcsImageSelector.vue.d.ts +11 -11
  423. package/src/components/style/VcsStrokeMenu.vue +6 -7
  424. package/src/components/style/VcsStrokeMenu.vue.d.ts +5 -5
  425. package/src/components/style/VcsStrokeSelector.vue +19 -13
  426. package/src/components/style/VcsStrokeSelector.vue.d.ts +5 -5
  427. package/src/components/style/VcsTextMenu.vue +9 -8
  428. package/src/components/style/VcsTextMenu.vue.d.ts +5 -5
  429. package/src/components/style/VcsTextSelector.vue +14 -11
  430. package/src/components/style/VcsTextSelector.vue.d.ts +10 -10
  431. package/src/components/style/VcsVectorStyleComponent.vue +4 -4
  432. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +8 -8
  433. package/src/components/style/composables.js +4 -1
  434. package/src/components/tables/VcsDataTable.vue +152 -207
  435. package/src/components/tables/VcsDataTable.vue.d.ts +10 -36
  436. package/src/components/tables/VcsTable.vue +13 -18
  437. package/src/components/tables/VcsTable.vue.d.ts +4 -4
  438. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +2 -2
  439. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +4 -4
  440. package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -1
  441. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -2
  442. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +54 -47
  443. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +7 -7
  444. package/src/components/vector-properties/composables.js +3 -3
  445. package/src/components/viewpoint/VcsViewpointComponent.vue +56 -104
  446. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +14 -22
  447. package/src/components/viewpoint/VcsViewpointEditor.vue +2 -5
  448. package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +3 -3
  449. package/src/contentTree/LayerTree.vue +31 -10
  450. package/src/contentTree/LayerTree.vue.d.ts +3 -3
  451. package/src/contentTree/contentTreeCollection.d.ts +2 -2
  452. package/src/contentTree/contentTreeCollection.js +6 -8
  453. package/src/contentTree/contentTreeItem.d.ts +11 -11
  454. package/src/contentTree/contentTreeItem.js +8 -7
  455. package/src/contentTree/flightContentTreeItem.js +5 -4
  456. package/src/contentTree/viewpointContentTreeItem.d.ts +1 -1
  457. package/src/featureInfo/AddressBalloonComponent.vue +24 -26
  458. package/src/featureInfo/AddressBalloonComponent.vue.d.ts +1 -1
  459. package/src/featureInfo/BalloonComponent.vue +21 -29
  460. package/src/featureInfo/BalloonComponent.vue.d.ts +2 -2
  461. package/src/featureInfo/IframeComponent.vue.d.ts +2 -2
  462. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  463. package/src/featureInfo/MarkdownComponent.vue +16 -0
  464. package/src/featureInfo/MarkdownComponent.vue.d.ts +7 -0
  465. package/src/featureInfo/abstractFeatureInfoView.d.ts +5 -5
  466. package/src/featureInfo/abstractFeatureInfoView.js +2 -2
  467. package/src/featureInfo/balloonFeatureInfoView.d.ts +2 -2
  468. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  469. package/src/featureInfo/featureInfo.js +2 -2
  470. package/src/featureInfo/markdownFeatureInfoView.js +1 -15
  471. package/src/i18n/de.d.ts +105 -0
  472. package/src/i18n/de.js +14 -5
  473. package/src/i18n/en.d.ts +105 -0
  474. package/src/i18n/en.js +14 -5
  475. package/src/init.js +10 -12
  476. package/src/legend/StyleLegendItem.vue +32 -28
  477. package/src/legend/StyleLegendItem.vue.d.ts +3 -2
  478. package/src/legend/VcsLegend.vue +19 -20
  479. package/src/legend/VcsLegend.vue.d.ts +8 -6
  480. package/src/legend/legendHelper.d.ts +2 -2
  481. package/src/legend/legendHelper.js +9 -8
  482. package/src/manager/buttonManager.d.ts +2 -2
  483. package/src/manager/buttonManager.js +6 -4
  484. package/src/manager/collectionManager/CollectionComponent.vue +30 -26
  485. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +14 -2
  486. package/src/manager/collectionManager/CollectionComponentContent.vue +9 -11
  487. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +1 -1
  488. package/src/manager/collectionManager/CollectionComponentList.vue +3 -3
  489. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +2 -2
  490. package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
  491. package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +2 -2
  492. package/src/manager/collectionManager/CollectionComponentStandalone.vue +1 -1
  493. package/src/manager/collectionManager/CollectionComponentStandalone.vue.d.ts +1 -1
  494. package/src/manager/collectionManager/CollectionManager.vue +11 -9
  495. package/src/manager/collectionManager/CollectionManager.vue.d.ts +1 -1
  496. package/src/manager/collectionManager/categoryManager.d.ts +2 -2
  497. package/src/manager/collectionManager/collectionComponentClass.d.ts +6 -6
  498. package/src/manager/collectionManager/collectionComponentClass.js +3 -3
  499. package/src/manager/collectionManager/collectionManager.d.ts +5 -4
  500. package/src/manager/collectionManager/collectionManager.js +4 -2
  501. package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +1 -1
  502. package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +2 -2
  503. package/src/manager/panel/PanelComponent.vue.d.ts +2 -2
  504. package/src/manager/panel/PanelManagerComponent.vue +7 -5
  505. package/src/manager/panel/PanelManagerComponent.vue.d.ts +4 -4
  506. package/src/manager/panel/panelManager.d.ts +6 -6
  507. package/src/manager/panel/panelManager.js +4 -4
  508. package/src/manager/toolbox/GroupToolboxComponent.vue +10 -34
  509. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +3 -4
  510. package/src/manager/toolbox/SelectToolboxComponent.vue +12 -58
  511. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +2 -3
  512. package/src/manager/toolbox/ToolboxManager.vue +12 -38
  513. package/src/manager/toolbox/ToolboxManager.vue.d.ts +3 -2
  514. package/src/manager/toolbox/toolboxManager.d.ts +3 -3
  515. package/src/manager/toolbox/toolboxManager.js +2 -3
  516. package/src/manager/window/WindowComponent.vue +3 -2
  517. package/src/manager/window/WindowComponent.vue.d.ts +2 -2
  518. package/src/manager/window/WindowComponentHeader.vue +8 -4
  519. package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -3
  520. package/src/manager/window/WindowManager.vue +4 -9
  521. package/src/manager/window/WindowManager.vue.d.ts +2 -2
  522. package/src/manager/window/windowManager.d.ts +52 -46
  523. package/src/manager/window/windowManager.js +33 -10
  524. package/src/navigation/MapNavCompass.vue.d.ts +3 -3
  525. package/src/navigation/MapNavigation.vue +11 -7
  526. package/src/navigation/MapNavigation.vue.d.ts +6 -3
  527. package/src/navigation/ObliqueRotation.vue +15 -17
  528. package/src/navigation/ObliqueRotation.vue.d.ts +5 -5
  529. package/src/navigation/OrientationToolsButton.vue +9 -4
  530. package/src/navigation/OrientationToolsButton.vue.d.ts +2 -2
  531. package/src/navigation/TiltSlider.vue +39 -42
  532. package/src/navigation/TiltSlider.vue.d.ts +5 -5
  533. package/src/navigation/VcsCompass.vue +15 -8
  534. package/src/navigation/VcsCompass.vue.d.ts +6 -6
  535. package/src/navigation/VcsZoomButton.vue +12 -14
  536. package/src/navigation/VcsZoomButton.vue.d.ts +2 -2
  537. package/src/navigation/locatorHelper.js +1 -1
  538. package/src/navigation/overviewMap.d.ts +1 -1
  539. package/src/navigation/overviewMap.js +3 -3
  540. package/src/notifier/NotifierComponent.vue +18 -21
  541. package/src/notifier/NotifierComponent.vue.d.ts +1 -1
  542. package/src/notifier/notifier.d.ts +2 -1
  543. package/src/notifier/notifier.js +6 -2
  544. package/src/search/ResultItem.vue +14 -13
  545. package/src/search/ResultItem.vue.d.ts +2 -2
  546. package/src/search/ResultsComponent.vue +13 -24
  547. package/src/search/ResultsComponent.vue.d.ts +2 -2
  548. package/src/search/SearchComponent.vue +16 -15
  549. package/src/search/SearchComponent.vue.d.ts +2 -2
  550. package/src/search/search.d.ts +2 -2
  551. package/src/search/search.js +6 -10
  552. package/src/setup.js +2 -2
  553. package/src/styles/_typography.scss +11 -7
  554. package/src/styles/main.scss +6 -3
  555. package/src/styles/settings.scss +6 -0
  556. package/src/styles/variables.scss +10 -8
  557. package/src/styles/vcsGrid.scss +0 -10
  558. package/src/styles/vcsList.scss +8 -0
  559. package/src/vcsUiApp.d.ts +128 -21
  560. package/src/vcsUiApp.js +53 -24
  561. package/src/vuePlugins/i18n.d.ts +8 -2
  562. package/src/vuePlugins/i18n.js +32 -11
  563. package/src/vuePlugins/vuetify.d.ts +79 -9
  564. package/src/vuePlugins/vuetify.js +173 -68
  565. package/dist/assets/index-2c09148f.js +0 -1
  566. package/dist/assets/ui.078e16.css +0 -5
  567. package/dist/assets/ui.078e16.js +0 -23835
  568. package/dist/assets/vue.007115.js +0 -4920
  569. package/dist/assets/vuetify.6ef1af.css +0 -5
  570. package/dist/assets/vuetify.6ef1af.js +0 -21263
  571. package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +0 -71
  572. package/src/components/form-inputs-controls/VcsRadioGrid.vue +0 -160
  573. package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +0 -35
  574. package/src/components/form-inputs-controls/composables.d.ts +0 -7
  575. package/src/components/form-inputs-controls/composables.js +0 -31
  576. package/src/components/import/FileDrop.vue.d.ts +0 -26
  577. package/src/styles/utils/_all.scss +0 -12
  578. package/src/styles/utils/_border.scss +0 -7
  579. package/src/styles/utils/_cursor.scss +0 -19
  580. package/src/styles/utils/_display.scss +0 -3
  581. package/src/styles/utils/_fade-in.scss +0 -8
  582. package/src/styles/utils/_position.scss +0 -38
  583. package/src/styles/utils/_size.scss +0 -79
  584. package/src/styles/utils/_slide-in.scss +0 -26
  585. package/src/styles/utils/_spacing.scss +0 -11
  586. package/src/styles/utils/_text.scss +0 -30
  587. package/src/styles/utils/_transform.scss +0 -11
  588. package/src/styles/utils/_transition.scss +0 -11
  589. package/src/styles/utils/_z-index.scss +0 -15
@@ -1,24 +1,25 @@
1
1
  <template>
2
- <v-row no-gutters v-if="coordinate">
2
+ <v-row no-gutters v-if="localValue">
3
3
  <slot name="prepend" v-bind="{ ...$props }" />
4
- <v-col v-for="(_, idx) in coordinate" :key="`${prefixes[idx]}-coordinate`">
5
- <VcsTextField
6
- :id="`${prefixes[idx]}-coordinate`"
7
- dense
8
- type="number"
9
- :min="getRangeFromExtent(idx, extent)?.[0]"
10
- :max="getRangeFromExtent(idx, extent)?.[1]"
11
- :step="steps[idx]"
12
- :prefix="prefixes[idx]"
13
- :unit="units[idx]"
14
- :decimals="decimals[idx]"
15
- v-model.number="coordinate[idx]"
16
- v-bind="{ ...$attrs }"
17
- @input="emitInput(coordinate, idx)"
18
- :rules="getRulesForAxis(idx)"
19
- v-on="{ ...forwardListener($listeners) }"
20
- />
21
- </v-col>
4
+ <template v-for="(_, idx) in localValue">
5
+ <v-col :key="`${prefixes[idx]}-coordinate`" v-if="!hideZ || idx < 2">
6
+ <VcsTextField
7
+ :id="`${prefixes[idx]}-coordinate`"
8
+ :hide-spin-buttons="true"
9
+ type="number"
10
+ :min="getRangeFromExtent(idx, extent)?.[0]"
11
+ :max="getRangeFromExtent(idx, extent)?.[1]"
12
+ :step="steps[idx]"
13
+ :prefix="prefixes[idx]"
14
+ :unit="units[idx]"
15
+ :decimals="decimals[idx]"
16
+ v-bind="noListenerAttrs"
17
+ v-model="localValue[idx]"
18
+ :rules="getRulesForAxis(idx)"
19
+ />
20
+ </v-col>
21
+ </template>
22
+
22
23
  <slot name="append" v-bind="{ ...$props }" />
23
24
  </v-row>
24
25
  </template>
@@ -27,10 +28,11 @@
27
28
 
28
29
  <script>
29
30
  import { computed } from 'vue';
30
- import { VRow, VCol } from 'vuetify/lib';
31
- import { Extent } from '@vcmap/core';
31
+ import { VRow, VCol } from 'vuetify/components';
32
32
  import VcsTextField from './VcsTextField.vue';
33
33
  import { between } from '../style/composables.js';
34
+ import { useProxiedComplexModel } from '../modelHelper.js';
35
+ import { removeListenersFromAttrs } from '../attrsHelpers.js';
34
36
 
35
37
  /**
36
38
  *
@@ -59,7 +61,7 @@
59
61
  /**
60
62
  * @description An input for a coordinate providing a VcsTextField for each dimension.
61
63
  * All attrs and listeners are forwarded to the input fields.
62
- * @vue-prop {import("ol").Coordinate} value - A coordinate, with x, y and optionally z value.
64
+ * @vue-prop {import("ol").Coordinate} modelValue - A coordinate, with x, y and optionally z value.
63
65
  * @vue-prop {boolean} [hideZ=false] - Hide z input field.
64
66
  * @vue-prop {Array<string>} [prefixes=['X','Y','Z']] - An optional array of length three, with prefixes for each input
65
67
  * @vue-prop {Array<string>} [units=['°','°','m']] - An optional array of length three, with units for each input
@@ -72,13 +74,14 @@
72
74
  */
73
75
  export default {
74
76
  name: 'VcsCoordinate',
77
+ inheritAttrs: false,
75
78
  components: {
76
79
  VRow,
77
80
  VCol,
78
81
  VcsTextField,
79
82
  },
80
83
  props: {
81
- value: {
84
+ modelValue: {
82
85
  type: Array,
83
86
  default: () => [0, 0, 0],
84
87
  },
@@ -104,7 +107,7 @@
104
107
  },
105
108
  extent: {
106
109
  type: Array,
107
- default: () => Extent.WGS_84_EXTENT,
110
+ default: () => [-180, -90, 180, 90],
108
111
  },
109
112
  axisRules: {
110
113
  type: Array,
@@ -112,25 +115,12 @@
112
115
  },
113
116
  },
114
117
  setup(props, { attrs, emit }) {
115
- function emitInput(value) {
116
- emit('input', structuredClone(value));
117
- }
118
- const coordinate = computed({
119
- get() {
120
- return props.value?.slice(0, props.hideZ ? 2 : 3);
121
- },
122
- set(value) {
123
- emitInput(value);
124
- },
125
- });
118
+ const localValue = useProxiedComplexModel(props, 'modelValue', emit);
119
+ const noListenerAttrs = computed(() => removeListenersFromAttrs(attrs));
126
120
 
127
121
  return {
128
- coordinate,
129
- emitInput,
130
- forwardListener(listener) {
131
- const { input, ...rest } = listener;
132
- return rest;
133
- },
122
+ localValue,
123
+ noListenerAttrs,
134
124
  getRangeFromExtent,
135
125
  getRulesForAxis(idx) {
136
126
  const rules = [];
@@ -1,5 +1,5 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- value: {
2
+ modelValue: {
3
3
  type: ArrayConstructor;
4
4
  default: () => number[];
5
5
  };
@@ -25,20 +25,19 @@ declare const _default: import("vue").DefineComponent<{
25
25
  };
26
26
  extent: {
27
27
  type: ArrayConstructor;
28
- default: () => import("ol/extent.js").Extent;
28
+ default: () => number[];
29
29
  };
30
30
  axisRules: {
31
31
  type: ArrayConstructor;
32
32
  default: () => never[][];
33
33
  };
34
34
  }, {
35
- coordinate: import("vue").WritableComputedRef<any>;
36
- emitInput: (value: any) => void;
37
- forwardListener(listener: any): any;
35
+ localValue: import("vue").Ref<any>;
36
+ noListenerAttrs: import("vue").ComputedRef<Record<string, unknown>>;
38
37
  getRangeFromExtent: typeof getRangeFromExtent;
39
38
  getRulesForAxis(idx: any): any[];
40
- }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
41
- value: {
39
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
40
+ modelValue: {
42
41
  type: ArrayConstructor;
43
42
  default: () => number[];
44
43
  };
@@ -64,14 +63,14 @@ declare const _default: import("vue").DefineComponent<{
64
63
  };
65
64
  extent: {
66
65
  type: ArrayConstructor;
67
- default: () => import("ol/extent.js").Extent;
66
+ default: () => number[];
68
67
  };
69
68
  axisRules: {
70
69
  type: ArrayConstructor;
71
70
  default: () => never[][];
72
71
  };
73
72
  }>>, {
74
- value: unknown[];
73
+ modelValue: unknown[];
75
74
  decimals: unknown[];
76
75
  extent: unknown[];
77
76
  hideZ: boolean;
@@ -79,7 +78,7 @@ declare const _default: import("vue").DefineComponent<{
79
78
  units: unknown[];
80
79
  steps: unknown[];
81
80
  axisRules: unknown[];
82
- }>;
81
+ }, {}>;
83
82
  export default _default;
84
83
  /**
85
84
  *
@@ -87,4 +86,4 @@ export default _default;
87
86
  * @param {import("ol/extent").Extent} extent
88
87
  * @returns {undefined|number[]}
89
88
  */
90
- declare function getRangeFromExtent(idx: number, extent: any): undefined | number[];
89
+ declare function getRangeFromExtent(idx: number, extent: import("ol/extent").Extent): undefined | number[];
@@ -3,75 +3,53 @@
3
3
  v-model="menuOpen"
4
4
  :close-on-content-click="false"
5
5
  transition="scale-transition"
6
- offset-y
7
6
  max-width="290px"
8
7
  min-width="290px"
9
8
  >
10
- <template #activator="{ on, attrs }">
11
- <v-text-field
12
- v-model="formattedDate"
9
+ <template #activator="{ props }">
10
+ <VcsTextField
13
11
  :placeholder="formatDate(new Date().toISOString())"
14
- v-bind="{ ...$attrs, ...attrs }"
15
- v-on="{ ...$listeners, ...on }"
16
12
  :prepend-icon="icon"
17
- :dense="isDense"
18
13
  readonly
19
14
  hide-details
20
15
  class="ma-0 py-1"
21
- :class="{
22
- 'input--dense': isDense,
23
- 'input--not-dense': !isDense,
24
- }"
16
+ v-bind="props"
17
+ v-model="formattedDate"
25
18
  />
26
19
  </template>
27
20
  <v-date-picker
28
21
  v-model="date"
29
- no-title
30
- @input="menuOpen = false"
31
- :locale="locale"
22
+ hide-header
23
+ @update:model-value="menuOpen = false"
32
24
  color="primary"
33
25
  >
34
- <v-btn color="primary" @click="goToToday">
35
- {{ $t('datePicker.today') }}
36
- </v-btn>
26
+ <template #actions>
27
+ <v-btn color="primary" @click="goToToday">
28
+ {{ $t('datePicker.today') }}
29
+ </v-btn>
30
+ </template>
37
31
  </v-date-picker>
38
32
  </v-menu>
39
33
  </template>
40
- <style lang="scss" scoped>
41
- ::v-deep {
42
- .v-input__control {
43
- padding: 0 4px;
44
- }
45
- .v-input__prepend-outer {
46
- margin-right: 4px;
47
- }
48
- .v-icon {
49
- font-size: 16px;
50
- }
51
- }
52
- </style>
34
+ <style lang="scss" scoped></style>
53
35
  <script>
54
- import {
55
- computed,
56
- ref,
57
- watch,
58
- inject,
59
- onUnmounted,
60
- onBeforeMount,
61
- } from 'vue';
62
- import { VMenu, VTextField, VDatePicker, VBtn } from 'vuetify/lib';
36
+ import { computed, ref, watch, onBeforeMount } from 'vue';
37
+ import { VMenu, VDatePicker, VBtn } from 'vuetify/components';
38
+ import { useI18n } from 'vue-i18n';
39
+ import { getLogger } from '@vcsuite/logger';
40
+ import VcsTextField from './VcsTextField.vue';
41
+
63
42
  /**
64
43
  * @description stylized wrapper around {@link https://v15.vuetifyjs.com/en/components/date-pickers/#month-pickers-in-dialog-and-menu}.
65
- * @vue-prop {string} value - value of the date picker in {@link https://tc39.es/ecma262/#sec-date-time-string-format | Date Time String Format}
66
- * @vue-prop {string} icon - specify optional prepend icon, defaults to mdi-calendar
67
- * @vue-event {string} input - raised when calendar date is selected
44
+ * @vue-prop {string} modelValue - value of the date picker in {@link https://tc39.es/ecma262/#sec-date-time-string-format | Date Time String Format}
45
+ * @vue-prop {string} [icon] - specify optional prepend icon, defaults to mdi-calendar
68
46
  */
69
47
  export default {
70
48
  name: 'VcsDatePicker',
71
49
  props: {
72
- value: {
73
- type: String,
74
- default: new Date().toISOString().substring(0, 10),
50
+ modelValue: {
51
+ type: Date,
52
+ default: new Date(),
75
53
  },
76
54
  icon: {
77
55
  type: String,
@@ -80,52 +58,43 @@
80
58
  },
81
59
  components: {
82
60
  VMenu,
83
- VTextField,
61
+ VcsTextField,
84
62
  VDatePicker,
85
63
  VBtn,
86
64
  },
87
- setup(props, { emit, attrs }) {
88
- /**
89
- * @type {import("@vcmap/ui").VcsUiApp}
90
- */
91
- const app = /** @type {import("@vcmap/ui").VcsUiApp} */ (
92
- inject('vcsApp')
93
- );
94
- const localValue = ref(props.value);
65
+ emits: ['update:modelValue'],
66
+ setup(props, { emit }) {
67
+ const i18n = useI18n();
68
+ const localValue = ref(props.modelValue);
95
69
  const menuOpen = ref(false);
96
- const locale = ref(app.locale);
97
-
98
- const isDense = computed(() => attrs.dense !== false);
99
70
 
100
- const isValid = (date) => !Number.isNaN(new Date(date).getTime());
71
+ const isValid = (date) => !Number.isNaN(date.getTime());
101
72
  const setFromValue = () => {
102
- if (isValid(props.value)) {
103
- localValue.value = props.value;
73
+ if (isValid(props.modelValue)) {
74
+ localValue.value = props.modelValue;
104
75
  } else if (localValue.value) {
105
- // eslint-disable-next-line no-console
106
- console.error('Invalid date provided: ', props.value);
76
+ getLogger('VcsDatePicker').error(
77
+ 'Invalid date provided: ',
78
+ props.modelValue,
79
+ );
107
80
  }
108
81
  };
109
82
  onBeforeMount(() => setFromValue());
110
- const destroyLocaleChanged = app.localeChanged.addEventListener(() => {
111
- locale.value = app.locale;
112
- });
113
- onUnmounted(() => destroyLocaleChanged());
114
83
 
115
84
  const formatDate = (date) => {
116
85
  if (date) {
117
- return new Intl.DateTimeFormat(locale.value, {
86
+ return new Intl.DateTimeFormat(i18n.locale.value, {
118
87
  dateStyle: 'short',
119
88
  }).format(Date.parse(date));
120
89
  }
121
90
  return '';
122
91
  };
123
92
  const goToToday = () => {
124
- localValue.value = new Date(Date.now()).toISOString().substring(0, 10);
93
+ localValue.value = new Date();
125
94
  menuOpen.value = false;
126
95
  };
127
96
  watch(
128
- () => props.value,
97
+ () => props.modelValue,
129
98
  () => setFromValue(),
130
99
  );
131
100
  const formattedDate = computed({
@@ -138,17 +107,15 @@
138
107
  get: () => localValue.value,
139
108
  set: (nv) => {
140
109
  localValue.value = nv;
141
- emit('input', localValue.value);
110
+ emit('update:modelValue', localValue.value);
142
111
  },
143
112
  });
144
113
 
145
114
  return {
146
115
  formattedDate,
147
116
  date,
148
- isDense,
149
117
  menuOpen,
150
118
  formatDate,
151
- locale,
152
119
  goToToday,
153
120
  };
154
121
  },
@@ -1,7 +1,7 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- value: {
3
- type: StringConstructor;
4
- default: string;
2
+ modelValue: {
3
+ type: DateConstructor;
4
+ default: Date;
5
5
  };
6
6
  icon: {
7
7
  type: StringConstructor;
@@ -9,23 +9,85 @@ declare const _default: import("vue").DefineComponent<{
9
9
  };
10
10
  }, {
11
11
  formattedDate: import("vue").WritableComputedRef<string>;
12
- date: import("vue").WritableComputedRef<any>;
13
- isDense: import("vue").ComputedRef<boolean>;
12
+ date: import("vue").WritableComputedRef<{
13
+ toString: () => string;
14
+ toDateString: () => string;
15
+ toTimeString: () => string;
16
+ toLocaleString: {
17
+ (): string;
18
+ (locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
19
+ (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions | undefined): string;
20
+ };
21
+ toLocaleDateString: {
22
+ (): string;
23
+ (locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
24
+ (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions | undefined): string;
25
+ };
26
+ toLocaleTimeString: {
27
+ (): string;
28
+ (locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
29
+ (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions | undefined): string;
30
+ };
31
+ valueOf: () => number;
32
+ getTime: () => number;
33
+ getFullYear: () => number;
34
+ getUTCFullYear: () => number;
35
+ getMonth: () => number;
36
+ getUTCMonth: () => number;
37
+ getDate: () => number;
38
+ getUTCDate: () => number;
39
+ getDay: () => number;
40
+ getUTCDay: () => number;
41
+ getHours: () => number;
42
+ getUTCHours: () => number;
43
+ getMinutes: () => number;
44
+ getUTCMinutes: () => number;
45
+ getSeconds: () => number;
46
+ getUTCSeconds: () => number;
47
+ getMilliseconds: () => number;
48
+ getUTCMilliseconds: () => number;
49
+ getTimezoneOffset: () => number;
50
+ setTime: (time: number) => number;
51
+ setMilliseconds: (ms: number) => number;
52
+ setUTCMilliseconds: (ms: number) => number;
53
+ setSeconds: (sec: number, ms?: number | undefined) => number;
54
+ setUTCSeconds: (sec: number, ms?: number | undefined) => number;
55
+ setMinutes: (min: number, sec?: number | undefined, ms?: number | undefined) => number;
56
+ setUTCMinutes: (min: number, sec?: number | undefined, ms?: number | undefined) => number;
57
+ setHours: (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number;
58
+ setUTCHours: (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number;
59
+ setDate: (date: number) => number;
60
+ setUTCDate: (date: number) => number;
61
+ setMonth: (month: number, date?: number | undefined) => number;
62
+ setUTCMonth: (month: number, date?: number | undefined) => number;
63
+ setFullYear: (year: number, month?: number | undefined, date?: number | undefined) => number;
64
+ setUTCFullYear: (year: number, month?: number | undefined, date?: number | undefined) => number;
65
+ toUTCString: () => string;
66
+ toISOString: () => string;
67
+ toJSON: (key?: any) => string;
68
+ [Symbol.toPrimitive]: {
69
+ (hint: "default"): string;
70
+ (hint: "string"): string;
71
+ (hint: "number"): number;
72
+ (hint: string): string | number;
73
+ };
74
+ }>;
14
75
  menuOpen: import("vue").Ref<boolean>;
15
76
  formatDate: (date: any) => string;
16
- locale: import("vue").Ref<string>;
17
77
  goToToday: () => void;
18
- }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
19
- value: {
20
- type: StringConstructor;
21
- default: string;
78
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
79
+ modelValue: {
80
+ type: DateConstructor;
81
+ default: Date;
22
82
  };
23
83
  icon: {
24
84
  type: StringConstructor;
25
85
  default: string;
26
86
  };
27
- }>>, {
28
- value: string;
87
+ }>> & {
88
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
89
+ }, {
90
+ modelValue: Date;
29
91
  icon: string;
30
- }>;
92
+ }, {}>;
31
93
  export default _default;
@@ -0,0 +1,100 @@
1
+ <template>
2
+ <v-file-input
3
+ ref="fileInputRef"
4
+ variant="outlined"
5
+ clear-icon="$close"
6
+ :hide-details="false"
7
+ class="primary--placeholder"
8
+ :class="{
9
+ 'py-1': !paddingProvided,
10
+ }"
11
+ v-bind="$attrs"
12
+ >
13
+ <template #message="{ message }">
14
+ <v-tooltip
15
+ ref="errorTooltipRef"
16
+ :activator="fileInputRef"
17
+ v-if="message"
18
+ :text="message"
19
+ content-class="bg-error"
20
+ :location="tooltipPosition"
21
+ />
22
+ </template>
23
+ <template #append-inner>
24
+ <slot name="append-inner"></slot>
25
+ <v-tooltip
26
+ :activator="fileInputRef"
27
+ v-if="tooltip && !errorTooltipRef"
28
+ :text="tooltip"
29
+ :location="tooltipPosition"
30
+ />
31
+ </template>
32
+ <template
33
+ v-for="slot of Object.keys($slots).filter(
34
+ (name) => name !== 'append-inner',
35
+ )"
36
+ #[slot]="scope"
37
+ >
38
+ <slot :name="slot" v-bind="scope" />
39
+ </template>
40
+ </v-file-input>
41
+ </template>
42
+
43
+ <style lang="scss" scoped>
44
+ @import './vcsTextField.scss';
45
+
46
+ // set text overflow for file input
47
+ :deep(.v-field__field) {
48
+ display: inline-block;
49
+ max-width: 100%;
50
+ overflow: hidden;
51
+ text-overflow: ellipsis;
52
+ white-space: nowrap;
53
+ }
54
+ </style>
55
+
56
+ <script>
57
+ import { ref } from 'vue';
58
+ import { VFileInput, VTooltip } from 'vuetify/components';
59
+ import { usePadding } from '../composables.js';
60
+
61
+ /**
62
+ * @description extends API of {@link https://vuetifyjs.com/en/api/v-file-input v-text-field}.
63
+ * Provides VcsTooltip to
64
+ * - show error messages on focus
65
+ * - show tooltips, if supplied, when hovered over append-icon
66
+ * When clicking esc key, previous input is restored.
67
+ * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the tooltip.
68
+ * @vue-prop {string|undefined} tooltip - Optional tooltip which will be shown on hover when no error message is shown
69
+ */
70
+ export default {
71
+ name: 'VcsTextField',
72
+ inheritAttrs: false,
73
+ components: {
74
+ VTooltip,
75
+ VFileInput,
76
+ },
77
+ props: {
78
+ tooltip: {
79
+ type: String,
80
+ default: undefined,
81
+ },
82
+ tooltipPosition: {
83
+ type: String,
84
+ default: 'right',
85
+ },
86
+ },
87
+ setup(props, { attrs }) {
88
+ const fileInputRef = ref();
89
+ const errorTooltipRef = ref();
90
+
91
+ const paddingProvided = usePadding(attrs);
92
+
93
+ return {
94
+ paddingProvided,
95
+ fileInputRef,
96
+ errorTooltipRef,
97
+ };
98
+ },
99
+ };
100
+ </script>
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ tooltip: {
3
+ type: StringConstructor;
4
+ default: undefined;
5
+ };
6
+ tooltipPosition: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ }, {
11
+ paddingProvided: import("vue").ComputedRef<boolean>;
12
+ fileInputRef: import("vue").Ref<any>;
13
+ errorTooltipRef: import("vue").Ref<any>;
14
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ tooltip: {
16
+ type: StringConstructor;
17
+ default: undefined;
18
+ };
19
+ tooltipPosition: {
20
+ type: StringConstructor;
21
+ default: string;
22
+ };
23
+ }>>, {
24
+ tooltip: string;
25
+ tooltipPosition: string;
26
+ }, {}>;
27
+ export default _default;
@@ -2,30 +2,29 @@
2
2
  <section class="vcs-form-section">
3
3
  <slot name="header" :heading="heading" :actions="actions">
4
4
  <div
5
- class="vcs-form-section-header d-flex base lighten-3"
5
+ class="vcs-form-section-header d-flex bg-base-lighten-3"
6
6
  :aria-expanded="open"
7
7
  >
8
- <div class="d-flex justify-space-between w-full">
8
+ <div class="d-flex justify-space-between w-100">
9
9
  <div class="d-flex align-center" :class="{ 'px-2': !expandable }">
10
10
  <v-btn
11
11
  :ripple="false"
12
12
  dense
13
- plain
13
+ variant="plain"
14
14
  icon
15
- small
16
- text
15
+ :size="useItemHeight().value - 4"
17
16
  :disabled="disabled"
18
17
  elevation="0"
19
18
  @click="open = !open"
20
19
  v-if="expandable"
21
20
  :aria-expanded="open"
22
21
  >
23
- <v-icon>{{
22
+ <v-icon :size="useItemHeight().value - 8">{{
24
23
  open ? 'mdi-chevron-down' : 'mdi-chevron-right'
25
24
  }}</v-icon>
26
25
  </v-btn>
27
- <strong :class="{ 'text--disabled': disabled }">{{
28
- $t(heading)
26
+ <strong :class="{ 'text-disabled': disabled }">{{
27
+ $st(heading)
29
28
  }}</strong>
30
29
  </div>
31
30
  <VcsActionButtonList
@@ -37,7 +36,7 @@
37
36
  </div>
38
37
  </div>
39
38
  </slot>
40
- <VcsHelp :text="helpText" :show="showHelp" class="base lighten-4">
39
+ <VcsHelp :text="helpText" :show="showHelp">
41
40
  <slot name="help" />
42
41
  </VcsHelp>
43
42
  <article class="section-content" v-if="showContent">
@@ -48,7 +47,8 @@
48
47
 
49
48
  <script>
50
49
  import { computed, reactive, ref } from 'vue';
51
- import { VBtn, VIcon } from 'vuetify/lib';
50
+ import { VBtn, VIcon } from 'vuetify/components';
51
+ import { useItemHeight } from '../../vuePlugins/vuetify.js';
52
52
  import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
53
53
  import VcsHelp from '../notification/VcsHelp.vue';
54
54
 
@@ -139,15 +139,15 @@
139
139
  showContent,
140
140
  showHelp,
141
141
  actions,
142
+ useItemHeight,
142
143
  };
143
144
  },
144
145
  };
145
146
  </script>
146
147
 
147
148
  <style lang="scss" scoped>
148
- @import '../../styles/shades.scss';
149
149
  .vcs-form-section-header {
150
- height: 40px;
150
+ height: calc(var(--v-vcs-item-height) + 8px);
151
151
  }
152
152
  .v-alert--text:before {
153
153
  background-color: transparent;