@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,96 +1,76 @@
1
1
  <template>
2
- <VcsTooltip
3
- :tooltip-position="tooltipPosition"
4
- :tooltip="errorMessage"
5
- color="error"
6
- :max-width="200"
2
+ <v-checkbox
3
+ ref="checkbox"
4
+ true-icon="$vcsCheckboxChecked"
5
+ false-icon="$vcsCheckbox"
6
+ indeterminate-icon="$vcsCheckboxIndeterminate"
7
+ :hide-details="false"
8
+ :class="{
9
+ 'py-1': !paddingProvided,
10
+ }"
11
+ v-bind="$attrs"
7
12
  >
8
- <template #activator="{ on, attrs }">
9
- <span v-on="on">
10
- <v-checkbox
11
- ref="checkbox"
12
- :input-value="$attrs.value"
13
- on-icon="$vcsCheckboxChecked"
14
- off-icon="$vcsCheckbox"
15
- class="vcs-checkbox"
16
- :class="{ 'pl-1': !isDense }"
17
- hide-details
18
- indeterminate-icon="$vcsCheckboxIndeterminate"
19
- :dense="isDense"
20
- :ripple="false"
21
- v-bind="{ ...$attrs, ...attrs }"
22
- v-on="{ ...$listeners, ...on }"
23
- >
24
- <template #label>
25
- <VcsLabel :html-for="$attrs.id" :dense="isDense">
26
- <slot name="label" />
27
- <span v-if="!$slots.label">{{ $t($attrs.label) }}</span>
28
- </VcsLabel>
29
- </template>
30
- </v-checkbox>
31
- </span>
13
+ <template #label>
14
+ <slot name="label" />
15
+ <template v-if="!$slots.label">{{ $st($attrs.label) }}</template>
32
16
  </template>
33
- </VcsTooltip>
17
+ <template #message="{ message }">
18
+ <v-tooltip
19
+ ref="errorTooltip"
20
+ :activator="checkbox"
21
+ v-if="message"
22
+ :text="message"
23
+ content-class="bg-error"
24
+ :location="tooltipPosition"
25
+ />
26
+ </template>
27
+ <v-tooltip
28
+ v-if="tooltip && !errorTooltip"
29
+ :activator="checkbox"
30
+ :location="tooltipPosition"
31
+ :text="tooltip"
32
+ ></v-tooltip>
33
+ </v-checkbox>
34
34
  </template>
35
35
  <style lang="scss" scoped>
36
- @import '../../styles/shades.scss';
37
- .vcs-checkbox {
38
- ::v-deep {
39
- .v-input--selection-controls__input {
40
- margin: 0;
41
- padding: 0;
42
- }
43
- label.v-label.error--text {
44
- animation: none;
45
- }
46
-
47
- .primary--text,
48
- .v-label:not(.v-label--is-disabled) {
49
- &.theme--light {
50
- color: map-get($shades, 'black') !important;
51
- &.error--text {
52
- color: var(--v-error-base) !important;
53
- }
54
- }
55
- &.theme--dark {
56
- color: map-get($shades, 'white') !important;
57
- &.error--text {
58
- color: var(--v-error-base) !important;
59
- }
60
- }
61
- }
62
- }
36
+ .v-input--density-compact :deep(.v-selection-control) {
37
+ --v-selection-control-size: calc(var(--v-vcs-item-height) - 8px);
38
+ --v-input-control-height: calc(var(--v-vcs-item-height) - 16px);
63
39
  }
64
- .v-input--selection-controls {
65
- margin: 0;
66
- padding: 0;
40
+ // remove ripple effect
41
+ :deep(.v-selection-control__input::before) {
42
+ background-color: transparent;
43
+ }
44
+ // remove details
45
+ :deep(.v-input__details) {
46
+ display: none;
67
47
  }
68
48
  </style>
69
49
  <script>
70
- import { computed, ref } from 'vue';
71
- import { VCheckbox } from 'vuetify/lib';
72
- import VcsLabel from './VcsLabel.vue';
73
- import VcsTooltip from '../notification/VcsTooltip.vue';
74
- import { useErrorSync } from './composables.js';
50
+ import { ref } from 'vue';
51
+ import { VCheckbox, VTooltip } from 'vuetify/components';
52
+ import { usePadding } from '../composables.js';
75
53
 
76
54
  /**
77
55
  * @description Stylized wrapper around {@link https://vuetifyjs.com/en/api/v-checkbox/ |vuetify checkbox}.
78
- * Provides two height options depending on "dense" property:
79
- * - if dense is set true (default), height is 24 px
80
- * - if dense is set false, height is 32 px
81
- * Provides VcsTooltip to show error messages
82
- * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the error tooltip.
56
+ * Provides VTooltip to show error messages
57
+ * @vue-prop {string} [tooltip] - A message to be displayed when there is no error.
58
+ * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the error tooltip, see {@link https://vuetifyjs.com/en/api/v-tooltip/#props-location | vuetify tooltip}.
83
59
  * @vue-prop {string} label - Label to be displayed, will be translated.
84
60
  * @vue-data {slot} [#label] - slot to pass html for Checkbox label. Overrides label passed as prop.
85
61
  */
86
62
  export default {
87
63
  name: 'VcsCheckbox',
64
+ inheritAttrs: true,
88
65
  components: {
89
- VcsTooltip,
90
- VcsLabel,
66
+ VTooltip,
91
67
  VCheckbox,
92
68
  },
93
69
  props: {
70
+ tooltip: {
71
+ type: String,
72
+ default: undefined,
73
+ },
94
74
  tooltipPosition: {
95
75
  type: String,
96
76
  default: 'right',
@@ -98,18 +78,14 @@
98
78
  },
99
79
  setup(props, { attrs }) {
100
80
  const checkbox = ref();
101
-
102
- const errorMessage = useErrorSync(checkbox);
103
- const isDense = computed(() => attrs.dense !== false);
81
+ const errorTooltip = ref();
82
+ const paddingProvided = usePadding(attrs);
104
83
 
105
84
  return {
85
+ paddingProvided,
106
86
  checkbox,
107
- errorMessage,
108
- isDense,
87
+ errorTooltip,
109
88
  };
110
89
  },
111
- model: {
112
- event: 'change',
113
- },
114
90
  };
115
91
  </script>
@@ -1,18 +1,27 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
+ tooltip: {
3
+ type: StringConstructor;
4
+ default: undefined;
5
+ };
2
6
  tooltipPosition: {
3
7
  type: StringConstructor;
4
8
  default: string;
5
9
  };
6
10
  }, {
11
+ paddingProvided: import("vue").ComputedRef<boolean>;
7
12
  checkbox: import("vue").Ref<any>;
8
- errorMessage: import("vue").Ref<string>;
9
- isDense: import("vue").ComputedRef<boolean>;
10
- }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
13
+ errorTooltip: 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
+ };
11
19
  tooltipPosition: {
12
20
  type: StringConstructor;
13
21
  default: string;
14
22
  };
15
23
  }>>, {
24
+ tooltip: string;
16
25
  tooltipPosition: string;
17
- }>;
26
+ }, {}>;
18
27
  export default _default;
@@ -1,70 +1,60 @@
1
1
  <template>
2
2
  <div
3
- class="d-flex d-inline-block align-center mb-1"
4
- :class="{ 'mt-1': !column }"
3
+ class="d-flex d-inline-block align-center"
4
+ :class="{
5
+ 'py-1': !paddingProvided,
6
+ }"
5
7
  >
6
- <v-btn
8
+ <VcsButton
7
9
  v-if="hasScrollbar"
8
- :dense="isDense"
9
- x-small
10
- icon
11
- :ripple="false"
12
- elevation="0"
10
+ icon="mdi-chevron-left"
13
11
  @click="vcsChipArrayInput.scrollLeft -= scrollDx"
14
- >
15
- <v-icon>mdi-chevron-left</v-icon>
16
- </v-btn>
12
+ />
17
13
  <div
18
14
  ref="vcsChipArrayInput"
19
- class="d-flex d-inline-block mx-1 my-0"
15
+ class="d-flex d-inline-block mx-1 my-0 ga-1"
20
16
  :class="{
21
17
  'overflow-x-auto': !column,
22
18
  'hide-scrollbar': !column,
23
- row: column,
19
+ 'v-row': column,
20
+ 'row-gap': column,
24
21
  }"
25
22
  >
26
- <div
27
- v-for="(item, index) in value"
28
- :key="index"
29
- class="pr-1"
30
- :class="{ 'pt-1': column }"
31
- >
23
+ <div v-for="({ key, value }, index) in localValue" :key="key">
32
24
  <v-chip
33
25
  v-if="selected !== index"
34
- v-bind="{ ...$attrs }"
35
- :small="isDense"
26
+ v-bind="{ ...noListenerAttrs }"
27
+ size="small"
36
28
  :disabled="disabled"
37
- :close="deletableChips"
29
+ :closable="deletableChips"
38
30
  @click="select(index)"
39
31
  @click:close="remove(index)"
40
32
  >
41
- <span class="text-truncate d-inline-block">{{ item }}</span>
33
+ <span class="text-truncate d-inline-block">{{ value }}</span>
42
34
  </v-chip>
43
35
  <VcsTextField
44
36
  v-else
45
- hide-details
46
- :dense="isDense"
37
+ v-bind="{ ...noListenerAttrs }"
47
38
  rounded
48
39
  filled
49
40
  autofocus
50
- no-padding
51
- :height="24"
52
- v-bind="{ ...$attrs }"
41
+ hide-spin-buttons
42
+ :height="useItemHeight().value - 8"
53
43
  v-model="editValue"
54
44
  @keydown.esc="selected = -1"
55
45
  @blur="selected = -1"
56
46
  @keydown.enter="submitChange($event)"
57
- @click:append="submitChange($event)"
58
- @update:error="(err) => (isEditValid = !err)"
59
- append-icon="mdi-check"
47
+ @click:append-inner="submitChange($event)"
48
+ append-inner-icon="mdi-check"
60
49
  :style="{ width: `${inputWidth}px` }"
50
+ class="py-0"
61
51
  />
62
52
  </div>
63
- <div :class="{ 'pt-1': column }">
53
+ <div>
64
54
  <v-chip
65
55
  v-if="adding === false"
66
- v-bind="{ ...$attrs }"
67
- :small="isDense"
56
+ v-bind="{ ...noListenerAttrs }"
57
+ size="small"
68
58
  :disabled="disabled"
69
59
  @click="adding = true"
70
60
  >
@@ -72,37 +62,28 @@
72
62
  </v-chip>
73
63
  <VcsTextField
74
64
  v-else
75
- hide-details
76
- :dense="isDense"
65
+ v-bind="{ ...noListenerAttrs }"
77
66
  rounded
78
67
  filled
79
68
  autofocus
80
- no-padding
81
- :height="24"
82
- class="vcs-inside-chip"
69
+ hide-spin-buttons
70
+ :height="useItemHeight().value - 8"
83
71
  v-model="newValue"
84
- v-bind="{ ...$attrs }"
85
72
  @keydown.enter="add($event, newValue)"
73
+ @click:append-inner="add($event, newValue)"
86
74
  @keydown.esc="cancel"
87
75
  @blur="cancel"
88
- @click:append="add($event, newValue)"
89
- @update:error="(err) => (isNewValid = !err)"
90
- append-icon="mdi-check"
76
+ append-inner-icon="mdi-check"
91
77
  :style="{ width: `${inputWidth}px` }"
78
+ class="py-0"
92
79
  />
93
80
  </div>
94
81
  </div>
95
- <v-btn
82
+ <VcsButton
96
83
  v-if="hasScrollbar"
97
- :dense="isDense"
98
- x-small
99
- icon
100
- :ripple="false"
101
- elevation="0"
84
+ icon="mdi-chevron-right"
102
85
  @click="vcsChipArrayInput.scrollLeft += scrollDx"
103
- >
104
- <v-icon>mdi-chevron-right</v-icon>
105
- </v-btn>
86
+ />
106
87
  </div>
107
88
  </template>
108
89
 
@@ -114,63 +95,51 @@
114
95
  .hide-scrollbar::-webkit-scrollbar {
115
96
  display: none;
116
97
  }
117
- .v-chip {
118
- display: flex;
119
- max-width: 260px;
120
- padding: 0 8px;
121
- .v-chip__content {
122
- display: flex;
123
- }
98
+ .v-chip.v-chip--size-small {
99
+ --v-chip-height: calc(var(--v-vcs-item-height) - 8px);
124
100
  }
125
- .vcs-inside-chip {
126
- ::v-deep {
127
- .v-input__slot {
128
- .v-input__append-inner {
129
- margin-top: 5px;
130
- }
131
- }
132
- .v-text-field--filled > .v-input__control > .v-input__slot,
133
- .v-text-field--outlined > .v-input__control > .v-input__slot {
134
- min-height: unset;
135
- }
136
- }
101
+ :deep(.v-icon--size-x-small) {
102
+ font-size: 18px;
103
+ }
104
+ .row-gap {
105
+ row-gap: 8px !important;
137
106
  }
138
107
  </style>
139
108
 
140
109
  <script>
141
- import { computed, nextTick, onMounted, ref } from 'vue';
142
- import { VBtn, VChip, VIcon } from 'vuetify/lib';
110
+ import { computed, nextTick, onMounted, ref, shallowRef, watch } from 'vue';
111
+ import { VChip, VIcon } from 'vuetify/components';
112
+ import { v4 as uuid } from 'uuid';
113
+ import { usePadding } from '../composables.js';
114
+ import { useItemHeight } from '../../vuePlugins/vuetify.js';
115
+ import VcsButton from '../buttons/VcsButton.vue';
143
116
  import VcsTextField from './VcsTextField.vue';
117
+ import { removeListenersFromAttrs } from '../attrsHelpers.js';
144
118
 
145
119
  /**
146
120
  * @description Renders elements of an array as chips with an input field to edit or add new elements.
147
- * Provides two height options depending on "dense" property
148
121
  * Provides VcsTooltip to show error messages on focus
149
122
  * When clicking esc key, previous input is restored.
150
- * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the error tooltip.
123
+ * @vue-prop {T[]} modelValue
151
124
  * @vue-prop {string} [type] - The input type (string or number)
152
125
  * @vue-prop {boolean} [disabled] - Disables adding or removing new elements
153
126
  * @vue-prop {boolean} [column] - Remove horizontal pagination and wrap items as needed
154
127
  * @vue-prop {boolean} [scrollDx=20] - scroll amount in px
155
128
  * @vue-prop {boolean} [deletableChips=true] - Adds a delete button to elements to remove them from array
156
- * @vue-prop {number} [inputWidth=50] - Width of the text fields in px.
129
+ * @vue-prop {number} [inputWidth=75] - Width of the text fields in px.
157
130
  */
158
131
  export default {
159
132
  name: 'VcsChipArrayInput',
160
133
  components: {
161
- VBtn,
134
+ VcsButton,
162
135
  VcsTextField,
163
136
  VChip,
164
137
  VIcon,
165
138
  },
166
139
  props: {
167
- value: {
140
+ modelValue: {
168
141
  type: Array,
169
- required: true,
170
- },
171
- tooltipPosition: {
172
- type: String,
173
- default: 'right',
142
+ default: () => [],
174
143
  },
175
144
  deletableChips: {
176
145
  type: Boolean,
@@ -178,7 +147,7 @@
178
147
  },
179
148
  inputWidth: {
180
149
  type: Number,
181
- default: 50,
150
+ default: 75,
182
151
  },
183
152
  disabled: {
184
153
  type: Boolean,
@@ -193,27 +162,14 @@
193
162
  default: 20,
194
163
  },
195
164
  },
165
+ emits: ['update:modelValue'],
196
166
  setup(props, { attrs, emit }) {
197
167
  const selected = ref(-1);
198
168
  const adding = ref(false);
199
- const isEditValid = ref(true);
200
169
  const editValue = ref(undefined);
201
- const isNewValid = ref(true);
202
170
  const newValue = ref(undefined);
203
171
  const vcsChipArrayInput = ref();
204
172
  const hasScrollbar = ref();
205
- const isDense = computed(() => attrs.dense !== false);
206
-
207
- function emitValue(value) {
208
- if (attrs.type === 'number') {
209
- emit(
210
- 'input',
211
- value.map((v) => parseFloat(v)),
212
- );
213
- } else {
214
- emit('input', value);
215
- }
216
- }
217
173
 
218
174
  function updateHasScrollbar() {
219
175
  if (!props.column) {
@@ -226,25 +182,68 @@
226
182
 
227
183
  onMounted(() => updateHasScrollbar());
228
184
 
185
+ function isValid(value) {
186
+ if (attrs.rules) {
187
+ return !attrs.rules.some((r) => {
188
+ if (typeof r === 'function') {
189
+ return r(value) !== true;
190
+ }
191
+ return r !== true;
192
+ });
193
+ }
194
+ return true;
195
+ }
196
+
197
+ function parseValue(value) {
198
+ return attrs.type === 'number' ? parseFloat(value) : value;
199
+ }
200
+
201
+ function mapModelValue(modelValue) {
202
+ return modelValue.map((value) => ({
203
+ key: uuid(),
204
+ value: parseValue(value),
205
+ }));
206
+ }
207
+
208
+ function emitValue(value) {
209
+ emit(
210
+ 'update:modelValue',
211
+ value.map((i) => i.value),
212
+ );
213
+ }
214
+
215
+ const localValue = shallowRef(mapModelValue(props.modelValue));
216
+
217
+ watch(
218
+ () => props.modelValue,
219
+ () => {
220
+ localValue.value = mapModelValue(props.modelValue);
221
+ },
222
+ );
223
+
229
224
  function remove(index) {
230
- emitValue(props.value.toSpliced(index, 1));
225
+ localValue.value.splice(index, 1);
226
+ emitValue(localValue.value);
231
227
  updateHasScrollbar();
232
228
  }
233
229
 
234
230
  function select(index) {
235
231
  if (!props.disabled) {
236
232
  selected.value = index;
237
- editValue.value = props.value[index];
233
+ editValue.value = localValue.value[index].value;
238
234
  }
239
235
  }
240
236
 
241
237
  function submitChange(e) {
242
238
  e.stopPropagation();
243
239
  e.preventDefault();
244
- if (isEditValid.value) {
245
- emitValue(props.value.toSpliced(selected.value, 1, editValue.value));
246
- selected.value = -1;
240
+ const value = parseValue(editValue.value);
241
+ if (!isValid(value)) {
242
+ return;
247
243
  }
244
+ localValue.value[selected.value].value = value;
245
+ emitValue(localValue.value);
246
+ selected.value = -1;
248
247
  }
249
248
 
250
249
  function cancel() {
@@ -252,31 +251,42 @@
252
251
  adding.value = false;
253
252
  }
254
253
 
255
- async function add(e, value) {
254
+ async function add(e, v) {
256
255
  e.stopPropagation();
257
256
  e.preventDefault();
258
- if (isNewValid.value) {
259
- if (value) {
260
- emitValue([...props.value, value]);
261
- await nextTick();
262
- updateHasScrollbar();
263
- await nextTick();
264
- vcsChipArrayInput.value.scrollLeft =
265
- vcsChipArrayInput.value.scrollWidth;
257
+
258
+ if (v) {
259
+ const value = parseValue(v);
260
+ if (!isValid(value)) {
261
+ return;
266
262
  }
267
- newValue.value = undefined;
268
- adding.value = true;
263
+ localValue.value.push({
264
+ key: uuid(),
265
+ value,
266
+ });
267
+ emitValue(localValue.value);
268
+ await nextTick();
269
+ updateHasScrollbar();
270
+ await nextTick();
271
+ vcsChipArrayInput.value.scrollLeft =
272
+ vcsChipArrayInput.value.scrollWidth;
269
273
  }
274
+ newValue.value = undefined;
275
+ adding.value = true;
270
276
  }
271
277
 
278
+ const noListenerAttrs = computed(() => removeListenersFromAttrs(attrs));
279
+
280
+ const paddingProvided = usePadding(attrs);
281
+
272
282
  return {
283
+ paddingProvided,
284
+ localValue,
285
+ noListenerAttrs,
273
286
  selected,
274
287
  adding,
275
288
  editValue,
276
- isEditValid,
277
289
  newValue,
278
- isNewValid,
279
- isDense,
280
290
  vcsChipArrayInput,
281
291
  hasScrollbar,
282
292
  remove,
@@ -284,6 +294,7 @@
284
294
  submitChange,
285
295
  add,
286
296
  cancel,
297
+ useItemHeight,
287
298
  };
288
299
  },
289
300
  };
@@ -1,11 +1,7 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- value: {
2
+ modelValue: {
3
3
  type: ArrayConstructor;
4
- required: true;
5
- };
6
- tooltipPosition: {
7
- type: StringConstructor;
8
- default: string;
4
+ default: () => never[];
9
5
  };
10
6
  deletableChips: {
11
7
  type: BooleanConstructor;
@@ -28,28 +24,25 @@ declare const _default: import("vue").DefineComponent<{
28
24
  default: number;
29
25
  };
30
26
  }, {
27
+ paddingProvided: import("vue").ComputedRef<boolean>;
28
+ localValue: import("vue").ShallowRef<any>;
29
+ noListenerAttrs: import("vue").ComputedRef<Record<string, unknown>>;
31
30
  selected: import("vue").Ref<number>;
32
31
  adding: import("vue").Ref<boolean>;
33
32
  editValue: import("vue").Ref<undefined>;
34
- isEditValid: import("vue").Ref<boolean>;
35
33
  newValue: import("vue").Ref<undefined>;
36
- isNewValid: import("vue").Ref<boolean>;
37
- isDense: import("vue").ComputedRef<boolean>;
38
34
  vcsChipArrayInput: import("vue").Ref<any>;
39
35
  hasScrollbar: import("vue").Ref<any>;
40
36
  remove: (index: any) => void;
41
37
  select: (index: any) => void;
42
38
  submitChange: (e: any) => void;
43
- add: (e: any, value: any) => Promise<void>;
39
+ add: (e: any, v: any) => Promise<void>;
44
40
  cancel: () => void;
45
- }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
46
- value: {
41
+ useItemHeight: typeof useItemHeight;
42
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
43
+ modelValue: {
47
44
  type: ArrayConstructor;
48
- required: true;
49
- };
50
- tooltipPosition: {
51
- type: StringConstructor;
52
- default: string;
45
+ default: () => never[];
53
46
  };
54
47
  deletableChips: {
55
48
  type: BooleanConstructor;
@@ -71,12 +64,15 @@ declare const _default: import("vue").DefineComponent<{
71
64
  type: NumberConstructor;
72
65
  default: number;
73
66
  };
74
- }>>, {
75
- tooltipPosition: string;
67
+ }>> & {
68
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
69
+ }, {
76
70
  disabled: boolean;
77
- column: boolean;
71
+ modelValue: unknown[];
78
72
  deletableChips: boolean;
79
73
  inputWidth: number;
74
+ column: boolean;
80
75
  scrollDx: number;
81
- }>;
76
+ }, {}>;
82
77
  export default _default;
78
+ import { useItemHeight } from '../../vuePlugins/vuetify.js';