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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/build/build.js +40 -60
  2. package/build/buildHelpers.js +63 -20
  3. package/build/buildTypes.js +9 -5
  4. package/build/bundle.js +1 -1
  5. package/build/info/conf.json +1 -1
  6. package/build/info/publish.js +25 -31
  7. package/build/lintTypes.js +5 -0
  8. package/config/aerowest.config.json +12 -2
  9. package/config/base.config.json +22 -17
  10. package/config/dev.config.json +164 -4
  11. package/config/projects.config.json +3 -1
  12. package/config/solar.config.json +65 -0
  13. package/config/splashscreen.config.json +45 -0
  14. package/config/theming.config.json +68 -0
  15. package/config/www.config.json +39 -23
  16. package/dist/.htaccess +7 -0
  17. package/dist/assets/@mdi/font/README.md +25 -0
  18. package/dist/assets/@mdi/font/css/materialdesignicons.min-680621ca.css +3 -0
  19. package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  20. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  21. package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
  22. package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
  23. package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-2LOWCAMW.js} +14 -14
  24. package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-2PTKXHJB.js} +12 -12
  25. package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-3HQMMUPU.js} +1 -1
  26. package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-3IFRSGEY.js} +11 -13
  27. package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-44QAAS4P.js} +11 -9
  28. package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-56EDBCGT.js} +33 -22
  29. package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-57H6I3SV.js} +5 -5
  30. package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-6SQMLVGV.js} +5206 -3483
  31. package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-7YIOHQWH.js} +16 -16
  32. package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-7ZZ5LMZY.js} +17 -16
  33. package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-BVKITG4N.js} +11 -8
  34. package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-C3EQ27WF.js} +7 -7
  35. package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-C4WPMOKT.js} +6 -5
  36. package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-EDLRS3AW.js} +6 -6
  37. package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EJVGYGLF.js} +7 -7
  38. package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FFLMY4TE.js} +830 -14
  39. package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-GBT7MJ6X.js} +1 -1
  40. package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-HJMNR3GC.js} +11 -11
  41. package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-HP5XLODI.js} +6 -6
  42. package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-IBRIWOCM.js} +13 -13
  43. package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-IZGUQO6Q.js} +14 -16
  44. package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-IZJ42N4W.js} +230 -20
  45. package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-JBSKHTNX.js} +4 -4
  46. package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-JISPSEF3.js} +4 -4
  47. package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-JSQJDZI4.js} +16 -12
  48. package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-JXVLNVXC.js} +10 -12
  49. package/dist/assets/cesium/Workers/chunk-KHZNBFOH.js +963 -0
  50. package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-L5GODJAR.js} +15 -17
  51. package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-LJ2JQHJT.js} +13 -8
  52. package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-LLAF3CPH.js} +2 -2
  53. package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-M24KHENR.js} +95 -155
  54. package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-NDDI2LWR.js} +6 -6
  55. package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-NGZJIN5Z.js} +4 -4
  56. package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-O72GZTSE.js} +2 -2
  57. package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-OPP2SKMA.js} +12 -12
  58. package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-P6TRGU3S.js} +2 -2
  59. package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QN6TBED4.js} +13 -13
  60. package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-QQOZO7KO.js} +10 -10
  61. package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-RJM36CNY.js} +6 -6
  62. package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-RTJKHZWU.js} +6 -6
  63. package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-TI3TRKIC.js} +425 -489
  64. package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-TK5IIG2F.js} +5 -7
  65. package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-U5HSOKPQ.js} +1 -1
  66. package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-WGDFYAGC.js} +5 -6
  67. package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-X7IQYYHF.js} +2 -2
  68. package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-XIUSRWL6.js} +9 -5
  69. package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-XWOUPGUF.js} +1 -1
  70. package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-YCDZX5LS.js} +3 -5
  71. package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-YK3QIKY7.js} +12 -14
  72. package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-YSIJTJ7N.js} +5 -5
  73. package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-Z2QP3CXW.js} +2 -2
  74. package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-ZVUUPJEM.js} +22 -22
  75. package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
  76. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
  77. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
  78. package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
  79. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
  80. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
  81. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
  82. package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
  83. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
  84. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
  85. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
  86. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
  87. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
  88. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
  89. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
  90. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
  91. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
  92. package/dist/assets/cesium/Workers/createGeometry.js +52 -33
  93. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
  94. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
  95. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
  96. package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
  97. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
  98. package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
  99. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
  100. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
  101. package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
  102. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
  103. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
  104. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
  105. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
  106. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  107. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
  108. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
  109. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  110. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
  111. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
  112. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
  113. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +29 -26
  114. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
  115. package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
  116. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
  117. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  118. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +35 -19
  119. package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
  120. package/dist/assets/cesium/Workers/transcodeKTX2.js +58 -93
  121. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  122. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
  123. package/dist/assets/{cesium.6b12b4.js → cesium-9ea5ba6e.js} +73315 -68035
  124. package/dist/assets/cesium.js +1 -1
  125. package/dist/assets/{core.074b78.js → core-9b003470.js} +7135 -5664
  126. package/dist/assets/core.js +1 -1
  127. package/dist/assets/{ol.8b2e3a.js → ol-8373d6ac.js} +43066 -44325
  128. package/dist/assets/ol.js +1 -1
  129. package/dist/assets/ui-163311a7.css +1 -0
  130. package/dist/assets/{ui.715986.js → ui-163311a7.js} +14696 -13170
  131. package/dist/assets/ui.js +1 -1
  132. package/dist/assets/vue-0f6dd813.js +6083 -0
  133. package/dist/assets/vue.js +1 -1
  134. package/dist/assets/{vuetify.28d881.css → vuetify-e2c4b35c.css} +2 -2
  135. package/dist/assets/{vuetify.28d881.js → vuetify-e2c4b35c.js} +8699 -8824
  136. package/dist/assets/vuetify.js +1 -1
  137. package/dist/index.html +11 -10
  138. package/index.d.ts +36 -20
  139. package/index.html +5 -5
  140. package/index.js +20 -10
  141. package/lib/olLib.js +90 -23
  142. package/package.json +25 -23
  143. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  144. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  145. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  146. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  147. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  148. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  149. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
  150. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +73 -34
  151. package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
  152. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
  153. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +50 -96
  154. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +14 -11
  155. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
  156. package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
  157. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
  158. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
  159. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  160. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  161. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  162. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  163. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  164. package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
  165. package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
  166. package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
  167. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +86 -70
  168. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
  169. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
  170. package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
  171. package/plugins/package.json +23 -21
  172. package/public/assets/@mdi/font/README.md +25 -0
  173. package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
  174. package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  175. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  176. package/src/actions/StyleSelector.vue +37 -21
  177. package/src/actions/StyleSelector.vue.d.ts +5 -5
  178. package/src/actions/actionHelper.d.ts +4 -11
  179. package/src/actions/actionHelper.js +35 -27
  180. package/src/actions/flightActions.js +44 -23
  181. package/src/actions/listActions.d.ts +5 -12
  182. package/src/actions/listActions.js +6 -22
  183. package/src/actions/stateRefAction.js +2 -2
  184. package/src/application/VcsApp.vue +196 -85
  185. package/src/application/VcsApp.vue.d.ts +309 -4
  186. package/src/application/VcsAppWrapper.vue +1 -1
  187. package/src/application/VcsAttributions.vue +4 -15
  188. package/src/application/VcsAttributionsFooter.vue +28 -18
  189. package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
  190. package/src/application/VcsContainer.vue +27 -10
  191. package/src/application/VcsContainer.vue.d.ts +248 -0
  192. package/src/application/VcsMainMap.vue +8 -8
  193. package/src/application/VcsMainMap.vue.d.ts +2 -2
  194. package/src/application/VcsMap.vue +1 -0
  195. package/src/application/VcsNavbar.vue +15 -3
  196. package/src/application/VcsNavbar.vue.d.ts +2 -1
  197. package/src/application/VcsPositionDisplay.vue +10 -25
  198. package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
  199. package/src/application/VcsSettings.vue +11 -18
  200. package/src/application/VcsSplashScreen.vue +43 -55
  201. package/src/application/VcsSplashScreen.vue.d.ts +4 -6
  202. package/src/application/VcsTextPage.vue +13 -44
  203. package/src/application/VcsTextPage.vue.d.ts +4 -8
  204. package/src/application/VcsTextPageFooter.vue +26 -41
  205. package/src/application/attributionsHelper.d.ts +20 -22
  206. package/src/application/attributionsHelper.js +14 -10
  207. package/src/callback/vcsCallback.d.ts +2 -2
  208. package/src/callback/vcsCallback.js +1 -1
  209. package/src/components/buttons/VcsActionButtonList.vue +66 -7
  210. package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
  211. package/src/components/buttons/VcsButton.vue +8 -10
  212. package/src/components/buttons/VcsButton.vue.d.ts +4 -4
  213. package/src/components/buttons/VcsFormButton.vue +9 -9
  214. package/src/components/buttons/VcsFormButton.vue.d.ts +3 -3
  215. package/src/components/buttons/VcsToolButton.vue +9 -7
  216. package/src/components/buttons/VcsToolButton.vue.d.ts +5 -5
  217. package/src/components/composables.d.ts +14 -2
  218. package/src/components/composables.js +106 -4
  219. package/src/components/extent/VcsExtent.vue +11 -7
  220. package/src/components/extent/VcsExtent.vue.d.ts +1 -0
  221. package/src/components/extent/VcsExtentEditor.vue +2 -1
  222. package/src/components/flight/VcsFlightAnchorsComponent.vue +64 -36
  223. package/src/components/flight/VcsFlightComponent.vue +25 -30
  224. package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
  225. package/src/components/flight/VcsFlightEditor.vue +1 -0
  226. package/src/components/flight/VcsFlightPlayer.vue +47 -19
  227. package/src/components/form-inputs-controls/VcsCheckbox.vue +32 -13
  228. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +10 -0
  229. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +14 -17
  230. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +2 -4
  231. package/src/components/form-inputs-controls/VcsCoordinate.vue +17 -5
  232. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
  233. package/src/components/form-inputs-controls/VcsDatePicker.vue +53 -59
  234. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +2 -64
  235. package/src/components/form-inputs-controls/VcsFileInput.vue +18 -19
  236. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
  237. package/src/components/form-inputs-controls/VcsLabel.vue +65 -3
  238. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +32 -1
  239. package/src/components/form-inputs-controls/VcsRadio.vue +26 -10
  240. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +2 -0
  241. package/src/components/form-inputs-controls/VcsSelect.vue +47 -47
  242. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +9 -6
  243. package/src/components/form-inputs-controls/VcsSlider.vue +53 -15
  244. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +26 -2
  245. package/src/components/form-inputs-controls/VcsTextArea.vue +56 -40
  246. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
  247. package/src/components/form-inputs-controls/VcsTextField.vue +46 -16
  248. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +12 -1
  249. package/src/components/form-inputs-controls/VcsWizard.vue +89 -112
  250. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
  251. package/src/components/form-inputs-controls/VcsWizardStep.vue +78 -58
  252. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +24 -11
  253. package/src/components/form-inputs-controls/vcsTextField.scss +21 -13
  254. package/src/components/form-output/VcsFormattedNumber.vue +46 -14
  255. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +27 -0
  256. package/src/components/form-output/VcsMarkdown.vue +56 -0
  257. package/src/{application/VcsCustomScreen.vue.d.ts → components/form-output/VcsMarkdown.vue.d.ts} +7 -5
  258. package/src/components/form-output/markdownHelper.d.ts +30 -0
  259. package/src/components/form-output/markdownHelper.js +398 -0
  260. package/src/components/import/VcsFileDrop.vue +9 -6
  261. package/src/components/import/VcsImportComponent.vue +12 -8
  262. package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
  263. package/src/components/lists/VcsActionList.vue +50 -34
  264. package/src/components/lists/VcsActionList.vue.d.ts +3 -1
  265. package/src/components/lists/VcsList.vue +105 -192
  266. package/src/components/lists/VcsList.vue.d.ts +18 -66
  267. package/src/components/lists/VcsListItemComponent.vue +216 -0
  268. package/src/components/lists/VcsListItemComponent.vue.d.ts +83 -0
  269. package/src/components/lists/VcsTreeview.vue +119 -26
  270. package/src/components/lists/VcsTreeview.vue.d.ts +26 -3
  271. package/src/components/lists/VcsTreeviewSearchbar.vue +17 -6
  272. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
  273. package/src/components/lists/VcsTreeviewTitle.vue +40 -0
  274. package/src/components/modelHelper.d.ts +21 -8
  275. package/src/components/modelHelper.js +50 -8
  276. package/src/components/notification/VcsBadge.vue +2 -2
  277. package/src/components/notification/VcsHelp.vue +6 -7
  278. package/src/components/notification/VcsHelp.vue.d.ts +0 -8
  279. package/src/components/notification/VcsHelpTooltip.vue +48 -0
  280. package/src/components/notification/VcsHelpTooltip.vue.d.ts +25 -0
  281. package/src/components/plugins/AbstractConfigEditor.vue +2 -23
  282. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
  283. package/src/components/section/VcsExpansionPanel.vue +111 -0
  284. package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
  285. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +13 -7
  286. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +2 -3
  287. package/src/components/style/MenuWrapper.vue +25 -27
  288. package/src/components/style/MenuWrapper.vue.d.ts +4 -4
  289. package/src/components/style/VcsFeatureStyleComponent.vue +1 -0
  290. package/src/components/style/VcsFillMenu.vue +10 -16
  291. package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
  292. package/src/components/style/VcsFillSelector.vue +14 -16
  293. package/src/components/style/VcsImageMenu.vue +9 -25
  294. package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
  295. package/src/components/style/VcsImageSelector.vue +115 -172
  296. package/src/components/style/VcsImageSelector.vue.d.ts +16 -15
  297. package/src/components/style/VcsStrokeMenu.vue +9 -15
  298. package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
  299. package/src/components/style/VcsStrokeSelector.vue +17 -21
  300. package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
  301. package/src/components/style/VcsTextMenu.vue +12 -14
  302. package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
  303. package/src/components/style/VcsTextSelector.vue +80 -96
  304. package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
  305. package/src/components/style/VcsVectorStyleComponent.vue +9 -20
  306. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
  307. package/src/components/style/composables.d.ts +0 -14
  308. package/src/components/style/composables.js +0 -49
  309. package/src/components/tables/VcsDataTable.vue +43 -33
  310. package/src/components/tables/VcsDataTable.vue.d.ts +2 -1
  311. package/src/components/tables/VcsTable.vue +46 -62
  312. package/src/components/tables/VcsTable.vue.d.ts +30 -17
  313. package/src/components/tables/VcsTableCell.vue +72 -0
  314. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  315. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +87 -51
  316. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +9 -7
  317. package/src/components/vector-properties/VcsFeatureTransforms.vue +45 -6
  318. package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -1
  319. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +541 -596
  320. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +222 -24
  321. package/src/components/viewpoint/VcsViewpointComponent.vue +36 -20
  322. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
  323. package/src/components/viewpoint/VcsViewpointEditor.vue +3 -1
  324. package/src/contentTree/LayerTree.vue +10 -28
  325. package/src/contentTree/LayerTree.vue.d.ts +1 -1
  326. package/src/contentTree/contentTreeCollection.d.ts +1 -0
  327. package/src/contentTree/contentTreeCollection.js +45 -11
  328. package/src/contentTree/contentTreeItem.d.ts +4 -4
  329. package/src/contentTree/contentTreeItem.js +8 -8
  330. package/src/contentTree/layerContentTreeItem.d.ts +8 -5
  331. package/src/contentTree/layerContentTreeItem.js +48 -34
  332. package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
  333. package/src/contentTree/layerGroupContentTreeItem.js +22 -3
  334. package/src/contentTree/obliqueCollectionContentTreeItem.js +6 -1
  335. package/src/featureInfo/AddressBalloonComponent.vue +1 -1
  336. package/src/featureInfo/BalloonComponent.vue +33 -26
  337. package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
  338. package/src/featureInfo/IframeComponent.vue +6 -1
  339. package/src/featureInfo/MarkdownBalloonComponent.vue +5 -3
  340. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  341. package/src/featureInfo/abstractFeatureInfoView.d.ts +19 -4
  342. package/src/featureInfo/abstractFeatureInfoView.js +38 -13
  343. package/src/featureInfo/balloonHelper.js +1 -1
  344. package/src/featureInfo/featureInfo.d.ts +7 -7
  345. package/src/featureInfo/featureInfo.js +59 -41
  346. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  347. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  348. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  349. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  350. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  351. package/src/featureInfo/markdownFeatureInfoView.js +9 -11
  352. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  353. package/src/i18n/de.d.ts +59 -32
  354. package/src/i18n/de.js +28 -5
  355. package/src/i18n/en.d.ts +59 -32
  356. package/src/i18n/en.js +25 -2
  357. package/src/i18n/i18nCollection.d.ts +9 -15
  358. package/src/i18n/i18nCollection.js +3 -3
  359. package/src/init.d.ts +5 -38
  360. package/src/init.js +19 -18
  361. package/src/legend/StyleLegendItem.vue +4 -9
  362. package/src/legend/VcsLegend.vue +33 -55
  363. package/src/legend/VcsLegend.vue.d.ts +1 -0
  364. package/src/manager/buttonManager.js +4 -4
  365. package/src/manager/collectionManager/CollectionComponent.vue +18 -42
  366. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
  367. package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
  368. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
  369. package/src/manager/collectionManager/CollectionComponentList.vue +11 -9
  370. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +6 -4
  371. package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
  372. package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
  373. package/src/manager/collectionManager/CollectionManager.vue +1 -1
  374. package/src/manager/collectionManager/categoryManager.d.ts +1 -1
  375. package/src/manager/collectionManager/collectionComponentClass.d.ts +3 -3
  376. package/src/manager/collectionManager/collectionComponentClass.js +16 -15
  377. package/src/manager/collectionManager/collectionManager.d.ts +1 -1
  378. package/src/manager/collectionManager/collectionManager.js +10 -10
  379. package/src/manager/collectionManager/editorCollectionComponentClass.js +11 -8
  380. package/src/manager/contextMenu/ContextMenuComponent.vue +1 -1
  381. package/src/manager/contextMenu/contextMenuManager.js +2 -2
  382. package/src/manager/navbarManager.js +2 -2
  383. package/src/manager/panel/PanelComponent.vue +2 -9
  384. package/src/manager/panel/PanelManagerComponent.vue +9 -5
  385. package/src/manager/panel/panelHelper.js +3 -3
  386. package/src/manager/panel/panelManager.d.ts +9 -1
  387. package/src/manager/panel/panelManager.js +18 -6
  388. package/src/manager/toolbox/GroupToolboxComponent.vue +13 -7
  389. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  390. package/src/manager/toolbox/SelectToolboxComponent.vue +13 -8
  391. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  392. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +28 -8
  393. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -0
  394. package/src/manager/toolbox/toolboxManager.js +10 -10
  395. package/src/manager/window/WindowComponent.vue +13 -9
  396. package/src/manager/window/WindowComponentHeader.vue +33 -9
  397. package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -0
  398. package/src/manager/window/WindowManager.vue +6 -3
  399. package/src/manager/window/windowManager.d.ts +71 -15
  400. package/src/manager/window/windowManager.js +32 -11
  401. package/src/navigation/MapNavigation.vue +52 -9
  402. package/src/navigation/ObliqueRotation.vue +2 -2
  403. package/src/navigation/OrientationToolsButton.vue +37 -26
  404. package/src/navigation/OrientationToolsButton.vue.d.ts +5 -1
  405. package/src/navigation/TiltSlider.vue +82 -88
  406. package/src/navigation/TiltSlider.vue.d.ts +10 -7
  407. package/src/navigation/VcsCompass.vue +17 -11
  408. package/src/navigation/VcsCompass.vue.d.ts +2 -0
  409. package/src/navigation/VcsZoomButton.vue +1 -1
  410. package/src/navigation/locatorHelper.js +4 -22
  411. package/src/navigation/overviewMap.js +5 -2
  412. package/src/notifier/NotifierComponent.vue +19 -16
  413. package/src/obliqueFallbackWarnings.d.ts +5 -0
  414. package/src/obliqueFallbackWarnings.js +54 -0
  415. package/src/search/ResultItem.vue +18 -6
  416. package/src/search/ResultsComponent.vue +32 -21
  417. package/src/search/ResultsComponent.vue.d.ts +2 -1
  418. package/src/search/SearchComponent.vue +14 -16
  419. package/src/search/SearchComponent.vue.d.ts +1 -0
  420. package/src/search/search.js +2 -2
  421. package/src/siteConfig.js +9 -9
  422. package/src/state.js +4 -4
  423. package/src/styles/_typography.scss +1 -2
  424. package/src/styles/main.scss +0 -4
  425. package/src/styles/vcsList.scss +1 -1
  426. package/src/uiConfig.d.ts +323 -7
  427. package/src/uiConfig.js +31 -17
  428. package/src/vcsUiApp.d.ts +90 -80
  429. package/src/vcsUiApp.js +61 -41
  430. package/src/vuePlugins/i18n.js +8 -0
  431. package/src/vuePlugins/vuetify.d.ts +88 -60
  432. package/src/vuePlugins/vuetify.js +134 -20
  433. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  434. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
  435. package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
  436. package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
  437. package/dist/assets/index-ca7EmZ3d.js +0 -1
  438. package/dist/assets/ui.715986.css +0 -1
  439. package/dist/assets/vue.0f2c53.js +0 -6096
  440. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  441. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  442. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  443. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  444. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  445. package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  446. package/src/application/VcsCustomScreen.vue +0 -45
  447. package/src/application/markdownHelper.d.ts +0 -12
  448. package/src/application/markdownHelper.js +0 -85
  449. package/src/components/lists/VcsTreeviewLeaf.vue +0 -83
  450. package/src/components/notification/VcsTooltip.vue +0 -156
  451. package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
  452. package/src/components/vector-properties/composables.d.ts +0 -33
  453. package/src/components/vector-properties/composables.js +0 -100
  454. package/src/featureInfo/MarkdownComponent.vue +0 -16
  455. package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
  456. package/src/styles/_theming.scss +0 -73
  457. package/src/styles/settings.scss +0 -6
  458. package/src/styles/shades.scss +0 -4
  459. package/src/styles/variables.scss +0 -140
  460. package/src/styles/vcsFont.scss +0 -2
  461. package/src/styles/vcsGrid.scss +0 -3
  462. /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
  463. /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
  464. /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
  465. /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
  466. /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
  467. /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
  468. /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
  469. /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
  470. /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
  471. /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
  472. /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
  473. /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
  474. /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
  475. /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
  476. /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
  477. /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
  478. /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
  479. /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
  480. /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
  481. /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
  482. /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
  483. /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
  484. /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
  485. /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -1,26 +1,25 @@
1
1
  <template>
2
- <div class="d-contents">
2
+ <div class="d-contents vcs-list">
3
3
  <vcs-treeview-searchbar
4
4
  v-if="searchable"
5
5
  :placeholder="searchbarPlaceholder"
6
6
  v-model="query"
7
7
  />
8
- <v-list density="compact">
9
- <v-list-item v-if="showTitle" class="font-weight-bold">
8
+ <v-list :class="{ 'vcs-list__selectable': selectable }">
9
+ <v-list-item v-if="showTitle && title">
10
10
  <template #prepend>
11
11
  <v-icon v-if="icon">
12
12
  {{ icon }}
13
13
  </v-icon>
14
14
  </template>
15
- <v-list-item-title>
16
- <VcsTooltip :tooltip="$st(listHeaderTooltip)">
17
- <template #activator="{ props }">
18
- <span v-bind="props" ref="listHeader">
19
- {{ $st(title) }}
20
- </span>
21
- </template>
22
- </VcsTooltip>
23
- <span v-if="selectable && selected.length > 0">
15
+ <v-list-item-title class="font-weight-bold" ref="listHeader">
16
+ <span :class="{ 'vcs-list-title__selected': selected.length > 0 }">
17
+ {{ $st(title) }}
18
+ </span>
19
+ <v-tooltip v-if="listHeaderTooltip" activator="parent">
20
+ {{ $st(listHeaderTooltip) }}
21
+ </v-tooltip>
22
+ <span v-if="selectable && selected.length > 0" class="ml-1">
24
23
  {{ `(${selected.length})` }}
25
24
  </span>
26
25
  </v-list-item-title>
@@ -32,90 +31,51 @@
32
31
  />
33
32
  </template>
34
33
  </v-list-item>
35
- <div v-for="(item, index) in renderingItems" :key="`item-${index}`">
36
- <v-list-item
34
+ <template v-for="(item, index) in renderingItems">
35
+ <VcsListItemComponent
36
+ v-if="item"
37
+ :dragging="dragging === index"
38
+ :item="item"
39
+ :key="`item-${index}`"
37
40
  :active="selected.includes(item)"
38
- :disabled="item.disabled"
39
41
  @mousedown.shift="$event.preventDefault()"
40
42
  @mouseover="hovering = index"
41
43
  @mouseout="hovering = undefined"
42
44
  :draggable="isDraggable"
43
45
  @dragstart="drag($event, item, index)"
44
46
  @mouseup="drop($event, index)"
45
- color="primary"
46
47
  :class="{
47
48
  'v-list-item__selected': selected.includes(item),
48
49
  'v-list-item__lighten_even': lightenEven,
49
50
  'v-list-item__lighten_odd': !lightenEven,
50
51
  'vcs-draggable-item': isDraggable,
51
52
  'v-list-item__dragged': dragging === index,
53
+ 'v-list-item__dragged_over': dragging !== undefined,
52
54
  'border-bottom': borderBottom(index),
53
55
  'border-top': borderTop(index),
54
56
  'cursor-pointer': selectable && !isDraggable,
55
57
  }"
56
58
  @click="select(item, $event)"
57
59
  >
58
- <template #prepend>
59
- <v-icon v-if="item.icon">
60
- {{ item.icon }}
61
- </v-icon>
60
+ <template #append="scope">
61
+ <slot name="item.append" v-bind="{ ...scope, index, item }" />
62
+ </template>
63
+ <template #title="scope">
64
+ <slot name="item.title" v-bind="{ ...scope, index, item }" />
65
+ </template>
66
+ <template #subtitle="scope">
67
+ <slot name="item.subtitle" v-bind="{ ...scope, index, item }" />
62
68
  </template>
63
- <VcsTooltip
64
- :tooltip="
65
- dragging !== undefined
66
- ? undefined
67
- : $st(item.tooltip || overflowTitle(index, item.title))
68
- "
69
- >
70
- <template #activator="{ props }">
71
- <v-list-item-title
72
- v-bind="props"
73
- ref="titles"
74
- class="d-flex gc-2"
75
- >
76
- <slot name="item.prepend-title" :item="item" :index="index" />
77
- <slot name="item.title" :item="item" :index="index">
78
- <VcsTextField
79
- v-if="item.rename"
80
- :model-value="item.title"
81
- autofocus
82
- :no-padding="true"
83
- @update:model-value="(value) => rename(item, value)"
84
- @click.stop
85
- @keydown.enter="item.rename = false"
86
- @blur="item.rename = false"
87
- :rules="[(v) => !!v || 'components.validation.required']"
88
- />
89
- <span v-else>
90
- {{ $st(item.title) }}
91
- </span>
92
- </slot>
93
- <slot
94
- name="item.append-title"
95
- :item="item"
96
- :index="index"
97
- class="ml-auto"
98
- />
99
- </v-list-item-title>
100
- </template>
101
- </VcsTooltip>
102
- <template #append>
103
- <VcsBadge v-if="item.hasUpdate" :color="'warning'" />
104
- <vcs-action-button-list
105
- v-if="item.actions?.length > 0"
106
- :actions="item.actions"
107
- :disabled="item.disabled"
108
- :block-overflow="true"
109
- :overflow-count="actionButtonListOverflowCount"
110
- />
69
+ <template #prepend="scope">
70
+ <slot name="item.prepend" v-bind="{ ...scope, index, item }" />
111
71
  </template>
112
- </v-list-item>
72
+ </VcsListItemComponent>
113
73
  <slot name="item.intermediate" :item="item" :index="index" />
114
74
  <div
115
75
  v-if="hasIntermediateSlot"
116
76
  :key="`item-intermediate-child-balance-${index}`"
117
77
  />
118
- </div>
78
+ </template>
119
79
  </v-list>
120
80
  </div>
121
81
  </template>
@@ -130,16 +90,21 @@
130
90
  shallowRef,
131
91
  watch,
132
92
  } from 'vue';
133
- import { VList, VListItem, VIcon, VListItemTitle } from 'vuetify/components';
93
+ import {
94
+ VList,
95
+ VListItem,
96
+ VIcon,
97
+ VListItemTitle,
98
+ VTooltip,
99
+ } from 'vuetify/components';
100
+ import VcsListItemComponent from './VcsListItemComponent.vue';
134
101
  import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
135
- import VcsTooltip from '../notification/VcsTooltip.vue';
136
102
  import VcsTreeviewSearchbar from './VcsTreeviewSearchbar.vue';
137
- import VcsBadge from '../notification/VcsBadge.vue';
138
- import VcsTextField from '../form-inputs-controls/VcsTextField.vue';
103
+ import { createEllipseTooltip } from '../composables.js';
139
104
 
140
105
  /**
141
- * @param {import("vue").Ref<VcsListItem[]>} items
142
- * @param {import("vue").ShallowRef<VcsListItem[]>} selected
106
+ * @param {import("vue").Ref<import("./VcsListItemComponent.vue").VcsListItem[]>} items
107
+ * @param {import("vue").ShallowRef<import("./VcsListItemComponent.vue").VcsListItem[]>} selected
143
108
  * @param {function(string, ...any[]):void} emit
144
109
  * @returns {Array<import("../../actions/actionHelper.js").VcsAction>}
145
110
  */
@@ -176,34 +141,12 @@
176
141
  ];
177
142
  }
178
143
 
179
- /**
180
- * @typedef {Object} VcsListItem
181
- * @property {string} name
182
- * @property {boolean} [visible] - Whether to display this item or not.
183
- * @property {boolean} [disabled] - Whether this item should be displayed as disabled.
184
- * @property {boolean} [rename] - Whether the title of this item is currently in edit mode.
185
- * @property {string} title - The title to be displayed
186
- * @property {string} [tooltip]
187
- * @property {string|HTMLCanvasElement|HTMLImageElement|undefined} [icon] - An optional icon to display with this item. Can be a URL or HTMLElement.
188
- * @property {boolean} [hasUpdate] - Shows badge, if item has an update.
189
- * @property {Array<import("../../actions/actionHelper.js").VcsAction>} [actions]
190
- * @property {Array<function(PointerEvent):void>|undefined} [clickedCallbacks] - An array of callbacks called on item click. called before selection update
191
- * @property {function(boolean):void} [selectionChanged] - A callback called if the selection changes with the current selection status. called before value update
192
- * @property {function(string):void} [titleChanged] - A callback called if the title changes via rename action. called before value update
193
- */
194
-
195
144
  /**
196
145
  * @typedef {Object} ItemMovedEvent
197
- * @property {VcsListItem} item
146
+ * @property {import("./VcsListItemComponent.vue").VcsListItem} item
198
147
  * @property {number} targetIndex
199
148
  */
200
149
 
201
- /**
202
- * @typedef {Object} ItemRenamedEvent
203
- * @property {VcsListItem} item
204
- * @property {string} newTitle
205
- */
206
-
207
150
  /**
208
151
  * @description
209
152
  * The VCS list is intended to render items. Items can be selectable (by default, more than one) or only a single item can
@@ -216,12 +159,12 @@
216
159
  * Clicking with CTRL adds or removes to a selection set.
217
160
  * Clicking with SHIFT will create a selection range, starting or ending with the first item in the list
218
161
  * or the last normally selected item (not the last item clicked with CTRL for instance).
219
- * @vue-prop {Array<VcsListItem>} items
162
+ * @vue-prop {Array<import("./VcsListItemComponent.vue").VcsListItem>} items
220
163
  * @vue-prop {boolean} [draggable=false]
221
164
  * @vue-prop {boolean} [selectable=false]
222
165
  * @vue-prop {boolean} [singleSelect=false]
223
- * @vue-prop {Array<VcsListItem>} [value=[]] - the initial items to be selected.
224
- * @vue-prop {boolean} [searchable=false] - if this list can have its items searched. you can provide your own predicate function by providing "filterPredicate" which is of type function(VcsListItem, string):boolean
166
+ * @vue-prop {Array<import("./VcsListItemComponent.vue").VcsListItem>} [value=[]] - the initial items to be selected.
167
+ * @vue-prop {boolean} [searchable=false] - if this list can have its items searched. you can provide your own predicate function by providing "filterPredicate" which is of type function(import("./VcsListItemComponent.vue").VcsListItem, string):boolean
225
168
  * @vue-prop {string} [searchbarPlaceholder] - placeholder to render inside the search field
226
169
  * @vue-prop {boolean} [showTitle=true] - show the title component
227
170
  * @vue-prop {number} [actionButtonListOverflowCount] - overflow count to use for action lists in the title and items
@@ -230,24 +173,23 @@
230
173
  * @vue-prop {string} [tooltip] - tooltip to render on the list title
231
174
  * @vue-prop {Array<import("../../actions/actionHelper.js").VcsAction>} [actions] - actions to render in the list title
232
175
  * @vue-event {ItemMovedEvent} item-moved - event triggered after item was dragged and is dropped
233
- * @vue-event {ItemRenamedEvent} item-renamed - event triggered after item was renamed
234
- * @vue-data {slot} [#item.prepend-title] - A slot to adapt the list item titel, adding content before the title. Binds item and index.
235
- * @vue-data {slot} [#item.title] - A slot to adapt the list item titel. Default content is a span or VcsTextField for active rename action. Binds item and index.
236
- * @vue-data {slot} [#item.append-title] - A slot to adapt the list item titel, adding content after the title. Binds item and index.
237
- * @vue-data {slot} [#item.intermediate] - A slot to introduce content, e.g. buttons between two list items. Binds item and index.
176
+ * @vue-data {slot} [#item.prepend] - A slot that forwads to v-list-item prepend slot. Binds v-list-item append slot props, item and item index.
177
+ * @vue-data {slot} [#item.title] - A slot that forwards to v-list-item title slot. Binds v-list-item title slot props, item and item index.
178
+ * @vue-data {slot} [#item.subtitle] - A slot that forwards to v-list-item subtitle slot. Binds v-list-item subtitle slot props, item and item index.
179
+ * @vue-data {slot} [#item.append] - A slot that forwards to v-list-item append slot. Binds v-list-item append slot props, item and item index.
180
+ * @vue-data {slot} [#item.intermediate] - A slot to introduce content, e.g. buttons between two list items. Binds item and item index.
238
181
  */
239
182
  export default {
240
183
  name: 'VcsList',
241
184
  components: {
242
- VcsBadge,
185
+ VcsListItemComponent,
243
186
  VcsTreeviewSearchbar,
244
187
  VcsActionButtonList,
245
- VcsTooltip,
188
+ VTooltip,
246
189
  VList,
247
190
  VListItem,
248
191
  VIcon,
249
192
  VListItemTitle,
250
- VcsTextField,
251
193
  },
252
194
  props: {
253
195
  items: {
@@ -309,7 +251,7 @@
309
251
  },
310
252
  },
311
253
  setup(props, { emit, slots }) {
312
- /** @type {import("vue").ShallowRef<Array<VcsListItem>>} */
254
+ /** @type {import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>} */
313
255
  const selected = shallowRef([]);
314
256
  /** @type {import("vue").Ref<string>} */
315
257
  const query = ref('');
@@ -335,8 +277,7 @@
335
277
  return !(!props.searchable && !props.showTitle);
336
278
  });
337
279
  let firstSelected = null;
338
- const titles = ref([]);
339
- const listHeader = ref(null);
280
+ const listHeader = ref();
340
281
 
341
282
  watch(
342
283
  props,
@@ -366,7 +307,7 @@
366
307
  );
367
308
 
368
309
  const vm = getCurrentInstance().proxy;
369
- /** @type {function(VcsListItem, string):boolean} */
310
+ /** @type {function(import("./VcsListItemComponent.vue").VcsListItem, string):boolean} */
370
311
  const filterPredicate = inject(
371
312
  'filterPredicate',
372
313
  (item, queryString = '') => {
@@ -378,12 +319,12 @@
378
319
  );
379
320
 
380
321
  /**
381
- * @type {VcsListItem|null}
322
+ * @type {import("./VcsListItemComponent.vue").VcsListItem|null}
382
323
  */
383
324
  let draggedItem = null;
384
325
 
385
326
  const isDraggable = computed(() => {
386
- return query.value === '' && props.draggable;
327
+ return !query.value && props.draggable;
387
328
  });
388
329
 
389
330
  /**
@@ -403,7 +344,7 @@
403
344
 
404
345
  /**
405
346
  * @param {MouseEvent} e
406
- * @param {VcsListItem} item
347
+ * @param {import("./VcsListItemComponent.vue").VcsListItem} item
407
348
  * @param {number} index
408
349
  */
409
350
  function drag(e, item, index) {
@@ -416,7 +357,7 @@
416
357
  }
417
358
 
418
359
  /**
419
- * @type {import("vue").ComputedRef<Array<VcsListItem>>}
360
+ * @type {import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>}
420
361
  */
421
362
  const renderingItems = computed(() => {
422
363
  let items = props.items.filter((i) => i.visible !== false);
@@ -455,13 +396,13 @@
455
396
  */
456
397
  renderingActions,
457
398
  /**
458
- * @type {import("vue").ComputedRef<Array<VcsListItem>>}
399
+ * @type {import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>}
459
400
  */
460
401
  renderingItems,
461
- /** @type {import("vue").ShallowRef<Array<VcsListItem>>} */
402
+ /** @type {import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>} */
462
403
  selected,
463
404
  /**
464
- * @param {import("vue").UnwrapNestedRef<VcsListItem>} item
405
+ * @param {import("vue").UnwrapNestedRef<import("./VcsListItemComponent.vue").VcsListItem>} item
465
406
  * @param {PointerEvent} event
466
407
  */
467
408
  select(item, event) {
@@ -555,7 +496,7 @@
555
496
  emit('update:modelValue', selected.value);
556
497
  },
557
498
  /**
558
- * @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
499
+ * @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
559
500
  */
560
501
  add(item) {
561
502
  if (!isReactive(item)) {
@@ -568,7 +509,7 @@
568
509
  }
569
510
  },
570
511
  /**
571
- * @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
512
+ * @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
572
513
  */
573
514
  remove(item) {
574
515
  if (selected.value.includes(item) && !item.disabled) {
@@ -587,31 +528,12 @@
587
528
  },
588
529
  drag,
589
530
  drop,
590
- titles,
591
- overflowTitle(index, alternative) {
592
- const elem = titles.value[index];
593
- if (elem && elem.offsetWidth < elem.scrollWidth) {
594
- return alternative;
595
- }
596
- return '';
597
- },
598
531
  listHeader,
599
- listHeaderTooltip: computed(() => {
600
- if (props.tooltip) {
601
- return props.tooltip;
602
- }
603
- const elem = listHeader.value;
604
- if (elem && elem.offsetWidth < elem.scrollWidth) {
605
- return props.title;
606
- }
607
- return '';
608
- }),
609
- rename(item, newTitle) {
610
- if (newTitle) {
611
- emit('item-renamed', { item, newTitle });
612
- item.titleChanged?.(newTitle);
613
- }
614
- },
532
+ listHeaderTooltip: createEllipseTooltip(
533
+ computed(() => listHeader.value?.$el),
534
+ computed(() => props.tooltip),
535
+ computed(() => props.title),
536
+ ),
615
537
  hasIntermediateSlot: computed(() => !!slots['item.intermediate']),
616
538
  };
617
539
  },
@@ -620,67 +542,58 @@
620
542
 
621
543
  <style lang="scss" scoped>
622
544
  :deep(.v-list) {
623
- .v-list-item__lighten_even {
624
- &:nth-child(even) {
625
- background-color: var(--v-base-lighten4);
626
- }
545
+ .v-list-item__lighten_even:nth-child(even) {
546
+ background-color: rgb(var(--v-theme-base-lighten-4));
627
547
  }
628
- .v-list-item__lighten_odd {
629
- &:nth-child(odd) {
630
- background-color: var(--v-base-lighten4);
631
- }
548
+ .v-list-item__lighten_odd:nth-child(odd) {
549
+ background-color: rgb(var(--v-theme-base-lighten-4));
632
550
  }
633
551
  .v-list-item__dragged {
634
- background-color: var(--v-base-lighten2) !important;
552
+ background-color: rgb(var(--v-theme-base-lighten-2)) !important;
553
+ }
554
+ .v-list-item__dragged_over:hover {
555
+ background-color: rgb(var(--v-theme-base-lighten-1)) !important;
635
556
  }
636
557
  .v-list-item__selected {
637
558
  border-left: solid 4px;
638
- border-left-color: var(--v-primary-base);
559
+ border-left-color: rgb(var(--v-theme-primary));
560
+ color: rgb(var(--v-theme-primary));
639
561
  padding-left: 12px !important;
640
562
  }
563
+ .v-list-item--active {
564
+ .v-list-item__append {
565
+ color: rgb(var(--v-theme-on-surface));
566
+ }
567
+ }
641
568
  .v-list-item {
642
- padding: 4px 8px 4px 16px;
643
569
  &.vcs-draggable-item:hover {
644
570
  cursor: grab;
645
571
  user-select: none;
646
572
  }
647
- &.border-bottom {
648
- border-bottom: solid;
649
- border-bottom-color: var(--v-base-lighten2);
650
- }
651
- &.border-top {
652
- border-top: solid;
653
- border-top-color: var(--v-base-lighten2);
654
- }
655
- &:after {
656
- display: none;
657
- }
658
- &.font-weight-bold {
659
- .v-list-item__title {
660
- font-weight: 700;
573
+ &:hover {
574
+ .v-list-item__overlay {
575
+ background-color: rgb(var(--v-theme-base));
661
576
  }
662
577
  }
663
- .v-list-item__action {
664
- .v-icon {
665
- font-size: 16px;
666
- }
667
- &:last-child {
668
- min-width: auto;
669
- }
578
+ .vcs-list-title__selected {
579
+ width: 90%;
580
+ display: inline-block;
581
+ overflow: hidden;
582
+ text-overflow: ellipsis;
583
+ vertical-align: bottom;
670
584
  }
671
- .v-list-item__content {
672
- flex-wrap: nowrap;
673
- column-gap: 4px;
674
- .v-icon,
675
- .action-btn-wrap {
676
- flex: 1 1 auto;
677
- }
678
- .v-icon {
679
- font-size: 16px;
680
- .v-icon__component {
681
- width: 16px;
682
- height: 16px;
683
- }
585
+ }
586
+
587
+ &:not(.vcs-list__selectable) {
588
+ cursor: auto;
589
+
590
+ .v-list-item--link {
591
+ cursor: auto;
592
+ }
593
+
594
+ &:hover {
595
+ .v-list-item__overlay {
596
+ background-color: transparent;
684
597
  }
685
598
  }
686
599
  }
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @param {import("vue").Ref<VcsListItem[]>} items
3
- * @param {import("vue").ShallowRef<VcsListItem[]>} selected
2
+ * @param {import("vue").Ref<import("./VcsListItemComponent.vue").VcsListItem[]>} items
3
+ * @param {import("vue").ShallowRef<import("./VcsListItemComponent.vue").VcsListItem[]>} selected
4
4
  * @param {function(string, ...any[]):void} emit
5
5
  * @returns {Array<import("../../actions/actionHelper.js").VcsAction>}
6
6
  */
7
- export function createSelectionActions(items: import("vue").Ref<VcsListItem[]>, selected: import("vue").ShallowRef<VcsListItem[]>, emit: (arg0: string, ...args: any[][]) => void): Array<import("../../actions/actionHelper.js").VcsAction>;
7
+ export function createSelectionActions(items: import("vue").Ref<import("./VcsListItemComponent.vue").VcsListItem[]>, selected: import("vue").ShallowRef<import("./VcsListItemComponent.vue").VcsListItem[]>, emit: (arg0: string, ...args: any[][]) => void): Array<import("../../actions/actionHelper.js").VcsAction>;
8
8
  declare const _default: import("vue").DefineComponent<{
9
9
  items: {
10
10
  type: ArrayConstructor;
@@ -76,32 +76,29 @@ declare const _default: import("vue").DefineComponent<{
76
76
  */
77
77
  renderingActions: import("vue").ComputedRef<Array<import("../../actions/actionHelper.js").VcsAction>>;
78
78
  /**
79
- * @type {import("vue").ComputedRef<Array<VcsListItem>>}
79
+ * @type {import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>}
80
80
  */
81
- renderingItems: import("vue").ComputedRef<Array<VcsListItem>>;
82
- /** @type {import("vue").ShallowRef<Array<VcsListItem>>} */
83
- selected: import("vue").ShallowRef<Array<VcsListItem>>;
81
+ renderingItems: import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>;
82
+ /** @type {import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>} */
83
+ selected: import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>;
84
84
  /**
85
- * @param {import("vue").UnwrapNestedRef<VcsListItem>} item
85
+ * @param {import("vue").UnwrapNestedRef<import("./VcsListItemComponent.vue").VcsListItem>} item
86
86
  * @param {PointerEvent} event
87
87
  */
88
88
  select(item: any, event: PointerEvent): void;
89
89
  /**
90
- * @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
90
+ * @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
91
91
  */
92
- add(item: import("vue").UnwrapNestedRefs<VcsListItem>): void;
92
+ add(item: import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>): void;
93
93
  /**
94
- * @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
94
+ * @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
95
95
  */
96
- remove(item: import("vue").UnwrapNestedRefs<VcsListItem>): void;
96
+ remove(item: import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>): void;
97
97
  clear(): void;
98
- drag: (e: MouseEvent, item: VcsListItem, index: number) => void;
98
+ drag: (e: MouseEvent, item: import("./VcsListItemComponent.vue").VcsListItem, index: number) => void;
99
99
  drop: (e: MouseEvent, targetIndex: number) => void;
100
- titles: import("vue").Ref<never[]>;
101
- overflowTitle(index: any, alternative: any): any;
102
- listHeader: import("vue").Ref<null>;
100
+ listHeader: import("vue").Ref<any>;
103
101
  listHeaderTooltip: import("vue").ComputedRef<string>;
104
- rename(item: any, newTitle: any): void;
105
102
  hasIntermediateSlot: import("vue").ComputedRef<boolean>;
106
103
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
107
104
  items: {
@@ -163,65 +160,20 @@ declare const _default: import("vue").DefineComponent<{
163
160
  };
164
161
  }>>, {
165
162
  title: string;
166
- modelValue: unknown[];
167
- tooltip: string;
168
163
  icon: string;
164
+ modelValue: unknown[];
169
165
  draggable: boolean;
166
+ tooltip: string;
170
167
  selectable: boolean;
171
168
  actions: unknown[];
172
169
  searchbarPlaceholder: string;
170
+ actionButtonListOverflowCount: number;
173
171
  singleSelect: boolean;
174
172
  searchable: boolean;
175
173
  showTitle: boolean;
176
- actionButtonListOverflowCount: number;
177
174
  }, {}>;
178
175
  export default _default;
179
- export type VcsListItem = {
180
- name: string;
181
- /**
182
- * - Whether to display this item or not.
183
- */
184
- visible?: boolean | undefined;
185
- /**
186
- * - Whether this item should be displayed as disabled.
187
- */
188
- disabled?: boolean | undefined;
189
- /**
190
- * - Whether the title of this item is currently in edit mode.
191
- */
192
- rename?: boolean | undefined;
193
- /**
194
- * - The title to be displayed
195
- */
196
- title: string;
197
- tooltip?: string | undefined;
198
- /**
199
- * - An optional icon to display with this item. Can be a URL or HTMLElement.
200
- */
201
- icon?: string | HTMLCanvasElement | HTMLImageElement | undefined;
202
- /**
203
- * - Shows badge, if item has an update.
204
- */
205
- hasUpdate?: boolean | undefined;
206
- actions?: import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).VcsAction[] | undefined;
207
- /**
208
- * - An array of callbacks called on item click. called before selection update
209
- */
210
- clickedCallbacks?: Array<(arg0: PointerEvent) => void> | undefined;
211
- /**
212
- * - A callback called if the selection changes with the current selection status. called before value update
213
- */
214
- selectionChanged?: ((arg0: boolean) => void) | undefined;
215
- /**
216
- * - A callback called if the title changes via rename action. called before value update
217
- */
218
- titleChanged?: ((arg0: string) => void) | undefined;
219
- };
220
176
  export type ItemMovedEvent = {
221
- item: VcsListItem;
177
+ item: import("./VcsListItemComponent.vue").VcsListItem;
222
178
  targetIndex: number;
223
179
  };
224
- export type ItemRenamedEvent = {
225
- item: VcsListItem;
226
- newTitle: string;
227
- };