@vcmap/ui 6.0.0-rc.5 → 6.0.0-rc.7

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 (282) hide show
  1. package/build/buildTypes.js +9 -5
  2. package/config/base.config.json +8 -8
  3. package/config/dev.config.json +4 -0
  4. package/config/projects.config.json +2 -1
  5. package/config/theming.config.json +68 -0
  6. package/config/www.config.json +31 -30
  7. package/dist/assets/cesium/Workers/{chunk-LUYI3XCB.js → chunk-2LOWCAMW.js} +13 -13
  8. package/dist/assets/cesium/Workers/{chunk-V7WJDCPA.js → chunk-2PTKXHJB.js} +10 -10
  9. package/dist/assets/cesium/Workers/{chunk-YFVI4SQI.js → chunk-3HQMMUPU.js} +1 -1
  10. package/dist/assets/cesium/Workers/{chunk-XGI4FRXF.js → chunk-3IFRSGEY.js} +9 -9
  11. package/dist/assets/cesium/Workers/{chunk-4RJH3H6D.js → chunk-44QAAS4P.js} +7 -7
  12. package/dist/assets/cesium/Workers/{chunk-4EW3HFFI.js → chunk-56EDBCGT.js} +10 -10
  13. package/dist/assets/cesium/Workers/{chunk-PRKEY4QK.js → chunk-57H6I3SV.js} +5 -5
  14. package/dist/assets/cesium/Workers/{chunk-X67EJ6X6.js → chunk-6SQMLVGV.js} +54 -7
  15. package/dist/assets/cesium/Workers/{chunk-RRLGJV3Q.js → chunk-7YIOHQWH.js} +13 -13
  16. package/dist/assets/cesium/Workers/{chunk-G6346EDR.js → chunk-7ZZ5LMZY.js} +16 -15
  17. package/dist/assets/cesium/Workers/{chunk-YFYPR4MW.js → chunk-BVKITG4N.js} +7 -7
  18. package/dist/assets/cesium/Workers/{chunk-N5MIFVXJ.js → chunk-C3EQ27WF.js} +6 -6
  19. package/dist/assets/cesium/Workers/{chunk-TLGODPEV.js → chunk-C4WPMOKT.js} +6 -5
  20. package/dist/assets/cesium/Workers/{chunk-DTACCQDR.js → chunk-EDLRS3AW.js} +6 -6
  21. package/dist/assets/cesium/Workers/{chunk-EVU2UNBD.js → chunk-EJVGYGLF.js} +7 -7
  22. package/dist/assets/cesium/Workers/{chunk-FYYT5EVH.js → chunk-FFLMY4TE.js} +5 -5
  23. package/dist/assets/cesium/Workers/{chunk-5OUTANXX.js → chunk-GBT7MJ6X.js} +1 -1
  24. package/dist/assets/cesium/Workers/{chunk-3DRPXHZ4.js → chunk-HJMNR3GC.js} +11 -11
  25. package/dist/assets/cesium/Workers/{chunk-IALQGTA2.js → chunk-HP5XLODI.js} +6 -6
  26. package/dist/assets/cesium/Workers/{chunk-DR7LK6PG.js → chunk-IBRIWOCM.js} +13 -13
  27. package/dist/assets/cesium/Workers/{chunk-WMVCLETM.js → chunk-IZGUQO6Q.js} +13 -13
  28. package/dist/assets/cesium/Workers/{chunk-T6TZXGG5.js → chunk-IZJ42N4W.js} +17 -17
  29. package/dist/assets/cesium/Workers/{chunk-FZDKIUDT.js → chunk-JBSKHTNX.js} +4 -4
  30. package/dist/assets/cesium/Workers/{chunk-S4VTLNAJ.js → chunk-JISPSEF3.js} +4 -4
  31. package/dist/assets/cesium/Workers/{chunk-KNMGSIIN.js → chunk-JSQJDZI4.js} +6 -6
  32. package/dist/assets/cesium/Workers/{chunk-LMTN7R7M.js → chunk-JXVLNVXC.js} +7 -7
  33. package/dist/assets/cesium/Workers/{chunk-A5C2A5O5.js → chunk-KHZNBFOH.js} +7 -7
  34. package/dist/assets/cesium/Workers/{chunk-PIOKSAZH.js → chunk-L5GODJAR.js} +14 -14
  35. package/dist/assets/cesium/Workers/{chunk-Q7PM4W34.js → chunk-LJ2JQHJT.js} +12 -7
  36. package/dist/assets/cesium/Workers/{chunk-D6PDWQXW.js → chunk-LLAF3CPH.js} +2 -2
  37. package/dist/assets/cesium/Workers/{chunk-H7PSTL64.js → chunk-M24KHENR.js} +2 -2
  38. package/dist/assets/cesium/Workers/{chunk-I67V66MN.js → chunk-NDDI2LWR.js} +6 -6
  39. package/dist/assets/cesium/Workers/{chunk-FSXNF76Y.js → chunk-NGZJIN5Z.js} +4 -4
  40. package/dist/assets/cesium/Workers/{chunk-UMX265HW.js → chunk-O72GZTSE.js} +2 -2
  41. package/dist/assets/cesium/Workers/{chunk-WOA6WSHH.js → chunk-OPP2SKMA.js} +12 -12
  42. package/dist/assets/cesium/Workers/{chunk-VD6G7UPU.js → chunk-P6TRGU3S.js} +2 -2
  43. package/dist/assets/cesium/Workers/{chunk-QLC66ZRL.js → chunk-QN6TBED4.js} +11 -11
  44. package/dist/assets/cesium/Workers/{chunk-O7OUBDMZ.js → chunk-QQOZO7KO.js} +7 -7
  45. package/dist/assets/cesium/Workers/{chunk-AGTH5JMJ.js → chunk-RJM36CNY.js} +6 -6
  46. package/dist/assets/cesium/Workers/{chunk-UC566ISB.js → chunk-RTJKHZWU.js} +6 -6
  47. package/dist/assets/cesium/Workers/{chunk-L4XQPD6P.js → chunk-TI3TRKIC.js} +423 -448
  48. package/dist/assets/cesium/Workers/{chunk-3GI7DWF7.js → chunk-TK5IIG2F.js} +4 -4
  49. package/dist/assets/cesium/Workers/{chunk-6DH5PLFD.js → chunk-U5HSOKPQ.js} +1 -1
  50. package/dist/assets/cesium/Workers/{chunk-BPY4HDAK.js → chunk-WGDFYAGC.js} +4 -4
  51. package/dist/assets/cesium/Workers/{chunk-SJC5PRDX.js → chunk-X7IQYYHF.js} +2 -2
  52. package/dist/assets/cesium/Workers/{chunk-4OX4RYLB.js → chunk-XIUSRWL6.js} +9 -5
  53. package/dist/assets/cesium/Workers/{chunk-S2UEXF6T.js → chunk-XWOUPGUF.js} +1 -1
  54. package/dist/assets/cesium/Workers/{chunk-F7IEM66T.js → chunk-YCDZX5LS.js} +1 -1
  55. package/dist/assets/cesium/Workers/{chunk-AVFIYUKX.js → chunk-YK3QIKY7.js} +9 -9
  56. package/dist/assets/cesium/Workers/{chunk-BAJAVGUF.js → chunk-YSIJTJ7N.js} +5 -5
  57. package/dist/assets/cesium/Workers/{chunk-6DXIYFX3.js → chunk-Z2QP3CXW.js} +2 -2
  58. package/dist/assets/cesium/Workers/{chunk-P24I5VUS.js → chunk-ZVUUPJEM.js} +17 -17
  59. package/dist/assets/cesium/Workers/combineGeometry.js +22 -22
  60. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -16
  61. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -14
  62. package/dist/assets/cesium/Workers/createCircleGeometry.js +24 -24
  63. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -17
  64. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +31 -31
  65. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  66. package/dist/assets/cesium/Workers/createCorridorGeometry.js +27 -27
  67. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +26 -26
  68. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -18
  69. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +16 -16
  70. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -24
  71. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -17
  72. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -17
  73. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -16
  74. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -16
  75. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +16 -16
  76. package/dist/assets/cesium/Workers/createGeometry.js +22 -22
  77. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +20 -20
  78. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -14
  79. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -13
  80. package/dist/assets/cesium/Workers/createPolygonGeometry.js +30 -30
  81. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +28 -28
  82. package/dist/assets/cesium/Workers/createPolylineGeometry.js +23 -23
  83. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +29 -29
  84. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  85. package/dist/assets/cesium/Workers/createRectangleGeometry.js +25 -25
  86. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +18 -18
  87. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +21 -21
  88. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -17
  89. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -16
  90. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  91. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +13 -13
  92. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -22
  93. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  94. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -20
  95. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +13 -13
  96. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -20
  97. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +24 -20
  98. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -17
  99. package/dist/assets/cesium/Workers/createWallGeometry.js +22 -22
  100. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +21 -21
  101. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  102. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  103. package/dist/assets/cesium/Workers/decodeI3S.js +10 -10
  104. package/dist/assets/cesium/Workers/transcodeKTX2.js +19 -18
  105. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  106. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  107. package/dist/assets/{cesium-126f111a.js → cesium-2afc3568.js} +136600 -136700
  108. package/dist/assets/cesium.js +1 -1
  109. package/dist/assets/{core-1c8b8674.js → core-3fd82bc2.js} +8384 -7554
  110. package/dist/assets/core.js +1 -1
  111. package/dist/assets/{ol-27f9b3f3.js → ol-edf7bfb3.js} +2246 -2248
  112. package/dist/assets/ol.js +1 -1
  113. package/dist/assets/ui-c6eb55a5.css +1 -0
  114. package/dist/assets/{ui-7214428e.js → ui-c6eb55a5.js} +8687 -8464
  115. package/dist/assets/ui.js +1 -1
  116. package/dist/assets/vue.js +1 -1
  117. package/dist/assets/{vuetify-88a2fabe.css → vuetify-c3b6c9b3.css} +1 -1
  118. package/dist/assets/{vuetify-88a2fabe.js → vuetify-c3b6c9b3.js} +2375 -2369
  119. package/dist/assets/vuetify.js +1 -1
  120. package/index.d.ts +22 -10
  121. package/index.js +9 -3
  122. package/package.json +4 -4
  123. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  124. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  125. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  126. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  127. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  128. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  129. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -2
  130. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
  131. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +1 -1
  132. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  133. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  134. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  135. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  136. package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
  137. package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
  138. package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
  139. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +61 -70
  140. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
  141. package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
  142. package/plugins/package.json +5 -1
  143. package/src/actions/StyleSelector.vue +35 -19
  144. package/src/actions/StyleSelector.vue.d.ts +5 -5
  145. package/src/actions/actionHelper.d.ts +4 -11
  146. package/src/actions/actionHelper.js +2 -5
  147. package/src/actions/listActions.d.ts +2 -2
  148. package/src/application/VcsApp.vue +20 -26
  149. package/src/application/VcsApp.vue.d.ts +5 -1
  150. package/src/application/VcsAttributionsFooter.vue +20 -11
  151. package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
  152. package/src/application/VcsContainer.vue +2 -2
  153. package/src/application/VcsContainer.vue.d.ts +5 -1
  154. package/src/application/VcsNavbar.vue +9 -1
  155. package/src/application/VcsNavbar.vue.d.ts +1 -0
  156. package/src/application/VcsSplashScreen.vue +11 -2
  157. package/src/application/VcsTextPageFooter.vue +4 -4
  158. package/src/application/attributionsHelper.d.ts +20 -22
  159. package/src/application/attributionsHelper.js +4 -4
  160. package/src/callback/vcsCallback.d.ts +2 -2
  161. package/src/callback/vcsCallback.js +1 -1
  162. package/src/components/buttons/VcsActionButtonList.vue +2 -3
  163. package/src/components/buttons/VcsButton.vue +2 -4
  164. package/src/components/buttons/VcsButton.vue.d.ts +1 -1
  165. package/src/components/buttons/VcsFormButton.vue +4 -4
  166. package/src/components/buttons/VcsToolButton.vue +4 -2
  167. package/src/components/buttons/VcsToolButton.vue.d.ts +2 -2
  168. package/src/components/composables.d.ts +5 -0
  169. package/src/components/composables.js +79 -9
  170. package/src/components/extent/VcsExtent.vue +10 -6
  171. package/src/components/extent/VcsExtent.vue.d.ts +1 -0
  172. package/src/components/flight/VcsFlightComponent.vue +13 -13
  173. package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
  174. package/src/components/form-inputs-controls/VcsCheckbox.vue +8 -3
  175. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +3 -8
  176. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +0 -1
  177. package/src/components/form-inputs-controls/VcsCoordinate.vue +1 -2
  178. package/src/components/form-inputs-controls/VcsFileInput.vue +1 -1
  179. package/src/components/form-inputs-controls/VcsLabel.vue +32 -9
  180. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +2 -0
  181. package/src/components/form-inputs-controls/VcsRadio.vue +8 -6
  182. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
  183. package/src/components/form-inputs-controls/VcsSelect.vue +2 -2
  184. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +2 -2
  185. package/src/components/form-inputs-controls/VcsSlider.vue +5 -5
  186. package/src/components/form-inputs-controls/VcsTextArea.vue +1 -1
  187. package/src/components/form-inputs-controls/VcsTextField.vue +10 -1
  188. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +2 -1
  189. package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
  190. package/src/components/form-inputs-controls/VcsWizardStep.vue +5 -1
  191. package/src/components/form-inputs-controls/vcsTextField.scss +7 -1
  192. package/src/components/form-output/VcsFormattedNumber.vue +1 -1
  193. package/src/components/import/VcsImportComponent.vue +7 -4
  194. package/src/components/import/VcsImportComponent.vue.d.ts +1 -1
  195. package/src/components/lists/VcsActionList.vue +2 -6
  196. package/src/components/lists/VcsListItemComponent.vue +20 -10
  197. package/src/components/lists/VcsListItemComponent.vue.d.ts +11 -1
  198. package/src/components/lists/VcsTreeview.vue +75 -11
  199. package/src/components/lists/VcsTreeview.vue.d.ts +12 -0
  200. package/src/components/lists/VcsTreeviewSearchbar.vue +14 -3
  201. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
  202. package/src/components/lists/VcsTreeviewTitle.vue +40 -0
  203. package/src/components/modelHelper.d.ts +10 -8
  204. package/src/components/modelHelper.js +8 -6
  205. package/src/components/notification/VcsHelp.vue +6 -7
  206. package/src/components/notification/VcsHelp.vue.d.ts +0 -9
  207. package/src/components/plugins/AbstractConfigEditor.vue +1 -22
  208. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
  209. package/src/components/section/VcsExpansionPanel.vue +9 -3
  210. package/src/components/section/VcsExpansionPanel.vue.d.ts +2 -2
  211. package/src/components/section/VcsFormSection.vue +6 -6
  212. package/src/components/section/VcsFormSection.vue.d.ts +2 -2
  213. package/src/components/style/VcsImageSelector.vue +14 -6
  214. package/src/components/style/VcsImageSelector.vue.d.ts +1 -0
  215. package/src/components/style/VcsStrokeSelector.vue +5 -2
  216. package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
  217. package/src/components/style/VcsTextMenu.vue +2 -2
  218. package/src/components/tables/VcsDataTable.vue +14 -10
  219. package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
  220. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +17 -34
  221. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +5 -3
  222. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +78 -43
  223. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +4 -2
  224. package/src/components/viewpoint/VcsViewpointComponent.vue +12 -9
  225. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
  226. package/src/contentTree/contentTreeItem.d.ts +2 -2
  227. package/src/contentTree/contentTreeItem.js +1 -1
  228. package/src/contentTree/layerContentTreeItem.d.ts +8 -5
  229. package/src/contentTree/layerContentTreeItem.js +48 -34
  230. package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
  231. package/src/contentTree/layerGroupContentTreeItem.js +22 -3
  232. package/src/featureInfo/BalloonComponent.vue +21 -13
  233. package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
  234. package/src/featureInfo/abstractFeatureInfoView.d.ts +4 -4
  235. package/src/featureInfo/abstractFeatureInfoView.js +4 -4
  236. package/src/featureInfo/balloonHelper.js +1 -1
  237. package/src/featureInfo/featureInfo.d.ts +2 -2
  238. package/src/featureInfo/featureInfo.js +1 -1
  239. package/src/i18n/de.d.ts +5 -0
  240. package/src/i18n/de.js +7 -2
  241. package/src/i18n/en.d.ts +5 -0
  242. package/src/i18n/en.js +6 -1
  243. package/src/i18n/i18nCollection.d.ts +9 -15
  244. package/src/i18n/i18nCollection.js +3 -3
  245. package/src/legend/VcsLegend.vue +6 -2
  246. package/src/legend/VcsLegend.vue.d.ts +1 -0
  247. package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
  248. package/src/manager/collectionManager/categoryManager.d.ts +1 -1
  249. package/src/manager/collectionManager/collectionComponentClass.d.ts +2 -2
  250. package/src/manager/collectionManager/collectionComponentClass.js +4 -4
  251. package/src/manager/collectionManager/collectionManager.d.ts +1 -1
  252. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -6
  253. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -1
  254. package/src/manager/toolbox/SelectToolboxComponent.vue +8 -6
  255. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -1
  256. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +8 -5
  257. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -1
  258. package/src/manager/window/WindowComponentHeader.vue +6 -3
  259. package/src/manager/window/WindowComponentHeader.vue.d.ts +1 -0
  260. package/src/manager/window/windowManager.d.ts +6 -6
  261. package/src/manager/window/windowManager.js +3 -3
  262. package/src/navigation/OrientationToolsButton.vue +2 -4
  263. package/src/navigation/TiltSlider.vue +3 -5
  264. package/src/navigation/locatorHelper.js +3 -21
  265. package/src/search/SearchComponent.vue +8 -6
  266. package/src/search/SearchComponent.vue.d.ts +1 -1
  267. package/src/styles/vcsList.scss +1 -1
  268. package/src/uiConfig.d.ts +12 -3
  269. package/src/uiConfig.js +2 -1
  270. package/src/vcsUiApp.d.ts +39 -53
  271. package/src/vcsUiApp.js +30 -24
  272. package/src/vuePlugins/vuetify.d.ts +88 -62
  273. package/src/vuePlugins/vuetify.js +116 -20
  274. package/dist/assets/ui-7214428e.css +0 -1
  275. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  276. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  277. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  278. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  279. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  280. package/src/components/lists/VcsTreeviewLeaf.vue +0 -92
  281. /package/dist/assets/{vue-c78a5f76.js → vue-aefad438.js} +0 -0
  282. /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { computed, nextTick, ref, watch } from 'vue';
1
+ import { computed, nextTick, onUnmounted, ref, watch } from 'vue';
2
2
 
3
3
  /**
4
4
  * returns a computed which is true, if the provided attributes contain one or more
@@ -30,6 +30,35 @@ export function useForwardSlots(slots, exclude = []) {
30
30
  });
31
31
  }
32
32
 
33
+ let intersectionObserver = null;
34
+ /** @type {WeakMap<WeakKey<HTMLElement>, import("vue").ComputedRef<boolean>>} */
35
+ const observedTargets = new WeakMap();
36
+
37
+ /**
38
+ * if the visibility of the element changes, the computed ref will be set.
39
+ * @param {HTMLElement} elem
40
+ * @param {import("vue").ComputedRef<boolean>} visible
41
+ * @returns {() => void}}
42
+ */
43
+ function registerTargetWithIntersectionObserver(elem, visible) {
44
+ if (!intersectionObserver) {
45
+ intersectionObserver = new IntersectionObserver((targets) => {
46
+ targets.forEach((target) => {
47
+ const visibilityRef = observedTargets.get(target.target);
48
+ if (visibilityRef) {
49
+ visibilityRef.value = target.isIntersecting;
50
+ }
51
+ });
52
+ });
53
+ }
54
+ intersectionObserver.observe(elem);
55
+ observedTargets.set(elem, visible);
56
+ return () => {
57
+ intersectionObserver.unobserve(elem);
58
+ observedTargets.delete(elem);
59
+ };
60
+ }
61
+
33
62
  /**
34
63
  * @param {import("vue").ComputedRef<HTMLElement|undefined>} parent
35
64
  * @param {import("vue").ComputedRef<string|undefined>} tooltip
@@ -39,19 +68,49 @@ export function useForwardSlots(slots, exclude = []) {
39
68
  export function createEllipseTooltip(parent, tooltip, title) {
40
69
  const offsetWidth = ref(0);
41
70
  const scrollWidth = ref(0);
42
-
43
- watch([parent, title], async () => {
44
- const elem = parent.value;
45
- if (elem) {
46
- await nextTick(() => {
47
- offsetWidth.value = elem.offsetWidth;
48
- scrollWidth.value = elem.scrollWidth;
49
- });
71
+ const visible = ref(false);
72
+ let observerListener = () => {};
73
+ watch(visible, () => {
74
+ if (visible.value && parent.value) {
75
+ offsetWidth.value = parent.value.offsetWidth;
76
+ scrollWidth.value = parent.value.scrollWidth;
50
77
  } else {
51
78
  offsetWidth.value = 0;
52
79
  scrollWidth.value = 0;
53
80
  }
54
81
  });
82
+ watch(
83
+ parent,
84
+ () => {
85
+ observerListener();
86
+ visible.value = false;
87
+ const elem = parent.value;
88
+ if (elem) {
89
+ if (elem.checkVisibility()) {
90
+ visible.value = true;
91
+ } else {
92
+ observerListener = registerTargetWithIntersectionObserver(
93
+ elem,
94
+ visible,
95
+ );
96
+ }
97
+ }
98
+ },
99
+ { immediate: true },
100
+ );
101
+
102
+ watch(title, async () => {
103
+ if (visible.value) {
104
+ await nextTick(() => {
105
+ offsetWidth.value = parent.value.offsetWidth;
106
+ scrollWidth.value = parent.value.scrollWidth;
107
+ });
108
+ }
109
+ });
110
+
111
+ onUnmounted(() => {
112
+ observerListener();
113
+ });
55
114
 
56
115
  return computed(() => {
57
116
  if (tooltip.value) {
@@ -63,3 +122,14 @@ export function createEllipseTooltip(parent, tooltip, title) {
63
122
  return '';
64
123
  });
65
124
  }
125
+
126
+ let componentIdCounter = 0;
127
+
128
+ /**
129
+ * Returns a globally unique vcs component id string
130
+ * @returns {string}
131
+ */
132
+ export function useComponentId() {
133
+ componentIdCounter += 1;
134
+ return `vcs-${componentIdCounter}`;
135
+ }
@@ -2,13 +2,13 @@
2
2
  <v-container class="py-0 px-1">
3
3
  <v-row no-gutters v-if="modelValue.projection">
4
4
  <v-col :cols="firstCols">
5
- <VcsLabel html-for="projection">
5
+ <VcsLabel :html-for="`${cid}-projection`">
6
6
  {{ $t('components.extent.projection') }}
7
7
  </VcsLabel>
8
8
  </v-col>
9
9
  <v-col>
10
10
  <VcsTextField
11
- id="projection"
11
+ :id="`${cid}-projection`"
12
12
  disabled
13
13
  :model-value="modelValue.projection.epsg"
14
14
  />
@@ -23,9 +23,9 @@
23
23
  [(v) => checkInput(v, max[1])],
24
24
  ]"
25
25
  >
26
- <template #prepend="{ prefixes }">
26
+ <template #prepend>
27
27
  <v-col :cols="firstCols">
28
- <VcsLabel :html-for="`${prefixes[0]}-coordinate`">
28
+ <VcsLabel>
29
29
  {{ $t('components.extent.min') }}
30
30
  </VcsLabel>
31
31
  </v-col>
@@ -40,9 +40,9 @@
40
40
  [(v) => checkInput(min[1], v)],
41
41
  ]"
42
42
  >
43
- <template #prepend="{ prefixes }">
43
+ <template #prepend>
44
44
  <v-col :cols="firstCols">
45
- <VcsLabel :html-for="`${prefixes[0]}-coordinate`">
45
+ <VcsLabel>
46
46
  {{ $t('components.extent.max') }}
47
47
  </VcsLabel>
48
48
  </v-col>
@@ -59,6 +59,7 @@
59
59
  import VcsTextField from '../form-inputs-controls/VcsTextField.vue';
60
60
  import VcsCoordinate from '../form-inputs-controls/VcsCoordinate.vue';
61
61
  import { useProxiedComplexModel } from '../modelHelper.js';
62
+ import { useComponentId } from '../composables.js';
62
63
 
63
64
  function checkInput(min, max) {
64
65
  return min < max || 'components.extent.invalid';
@@ -114,10 +115,13 @@
114
115
  },
115
116
  });
116
117
 
118
+ const cid = useComponentId();
119
+
117
120
  return {
118
121
  min: getCoordinate(0, 2),
119
122
  max: getCoordinate(2),
120
123
  checkInput,
124
+ cid,
121
125
  };
122
126
  },
123
127
  };
@@ -15,6 +15,7 @@ declare const _default: import("vue").DefineComponent<{
15
15
  min: import("vue").WritableComputedRef<any>;
16
16
  max: import("vue").WritableComputedRef<any>;
17
17
  checkInput: typeof checkInput;
18
+ cid: string;
18
19
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
20
  modelValue: {
20
21
  type: ObjectConstructor;
@@ -18,23 +18,23 @@
18
18
  <v-container class="py-0 px-1">
19
19
  <v-row no-gutters v-if="!hideName">
20
20
  <v-col cols="6">
21
- <VcsLabel html-for="name" required>
21
+ <VcsLabel :html-for="`${cid}-name`" required>
22
22
  {{ $t('components.flight.name') }}
23
23
  </VcsLabel>
24
24
  </v-col>
25
25
  <v-col>
26
- <VcsTextField id="name" clearable v-model="name" />
26
+ <VcsTextField :id="`${cid}-name`" clearable v-model="name" />
27
27
  </v-col>
28
28
  </v-row>
29
29
  <v-row no-gutters v-if="!hideTitle">
30
30
  <v-col cols="6">
31
- <VcsLabel html-for="title">
31
+ <VcsLabel :html-for="`${cid}-title`">
32
32
  {{ $t('components.flight.title') }}
33
33
  </VcsLabel>
34
34
  </v-col>
35
35
  <v-col>
36
36
  <VcsTextField
37
- id="title"
37
+ :id="`${cid}-title`"
38
38
  clearable
39
39
  :placeholder="$t('components.flight.titlePlaceholder')"
40
40
  v-model="title"
@@ -43,13 +43,13 @@
43
43
  </v-row>
44
44
  <v-row no-gutters v-if="!hideInterpolation">
45
45
  <v-col cols="6">
46
- <VcsLabel html-for="interpolation">
46
+ <VcsLabel :html-for="`${cid}-interpolation`">
47
47
  {{ $t('components.flight.interpolation') }}
48
48
  </VcsLabel>
49
49
  </v-col>
50
50
  <v-col>
51
51
  <VcsSelect
52
- id="title"
52
+ :id="`${cid}-interpolation`"
53
53
  :items="[
54
54
  { value: 'spline', title: 'components.flight.spline' },
55
55
  { value: 'linear', title: 'components.flight.linear' },
@@ -60,13 +60,13 @@
60
60
  </v-row>
61
61
  <v-row no-gutters v-if="!hideDuration">
62
62
  <v-col cols="6">
63
- <VcsLabel html-for="duration">
63
+ <VcsLabel :html-for="`${cid}-duration`">
64
64
  {{ $t('components.flight.duration') }}
65
65
  </VcsLabel>
66
66
  </v-col>
67
67
  <v-col>
68
68
  <VcsTextField
69
- id="duration"
69
+ :id="`${cid}-duration`"
70
70
  v-model="duration"
71
71
  :hide-spin-buttons="true"
72
72
  type="number"
@@ -79,11 +79,7 @@
79
79
  </v-row>
80
80
  <v-row no-gutters v-if="!hideLoop">
81
81
  <v-col cols="6">
82
- <VcsCheckbox
83
- id="animate"
84
- label="components.flight.loop"
85
- v-model="loop"
86
- />
82
+ <VcsCheckbox label="components.flight.loop" v-model="loop" />
87
83
  </v-col>
88
84
  </v-row>
89
85
  </v-container>
@@ -116,6 +112,7 @@
116
112
  getProvidedFlightInstance,
117
113
  setupFlightAnchorEditingListener,
118
114
  } from './composables.js';
115
+ import { useComponentId } from '../composables.js';
119
116
 
120
117
  /**
121
118
  * @param {import("@vcmap/core").FlightInstance} instance
@@ -228,6 +225,8 @@
228
225
  editingListener();
229
226
  });
230
227
 
228
+ const cid = useComponentId();
229
+
231
230
  return {
232
231
  name: flightInstance.name,
233
232
  title: computed({
@@ -275,6 +274,7 @@
275
274
  },
276
275
  }),
277
276
  disablePlayer,
277
+ cid,
278
278
  };
279
279
  },
280
280
  };
@@ -47,6 +47,7 @@ declare const _default: import("vue").DefineComponent<{
47
47
  durationRule: typeof durationRule;
48
48
  loop: import("vue").WritableComputedRef<boolean>;
49
49
  disablePlayer: import("vue").Ref<boolean>;
50
+ cid: string;
50
51
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
51
52
  heading: {
52
53
  type: StringConstructor;
@@ -37,12 +37,17 @@
37
37
  </v-checkbox>
38
38
  </template>
39
39
  <style lang="scss" scoped>
40
+ :deep(.v-icon--size-default) {
41
+ font-size: calc(var(--v-vcs-font-size) * (1.2 + 0.1 / 3));
42
+ }
40
43
  .v-input--density-compact :deep(.v-selection-control) {
41
- --v-selection-control-size: 20px;
42
- --v-input-control-height: calc(var(--v-vcs-item-height) - 16px);
44
+ --v-selection-control-size: calc(
45
+ var(--v-vcs-font-size) * (1.2 + 0.1 / 3) + 4
46
+ );
47
+ --v-input-control-height: calc(var(--v-vcs-font-size) + 3px);
43
48
  }
44
49
  :deep(.v-input__control) {
45
- height: calc(var(--v-vcs-item-height) - 8px);
50
+ height: calc(var(--v-vcs-font-size) * 2 - 2px);
46
51
  }
47
52
  // remove ripple effect
48
53
  :deep(.v-selection-control__input::before) {
@@ -38,7 +38,6 @@
38
38
  filled
39
39
  autofocus
40
40
  hide-spin-buttons
41
- :height="itemHeight - 8"
42
41
  @keydown.esc="selected = -1"
43
42
  @blur="selected = -1"
44
43
  @keydown.enter="submitChange($event)"
@@ -66,7 +65,6 @@
66
65
  filled
67
66
  autofocus
68
67
  hide-spin-buttons
69
- :height="itemHeight - 8"
70
68
  @keydown.enter="add($event, newValue)"
71
69
  @click:append-inner="add($event, newValue)"
72
70
  @keydown.esc="cancel"
@@ -96,10 +94,11 @@
96
94
  display: none;
97
95
  }
98
96
  .v-chip.v-chip--size-small {
99
- --v-chip-height: calc(var(--v-vcs-item-height) - 8px);
97
+ --v-chip-height: calc(var(--v-vcs-font-size) * 2 - 2px);
98
+ padding: 0 calc(var(--v-vcs-font-size) - 3px);
100
99
  }
101
100
  :deep(.v-icon--size-x-small) {
102
- font-size: 18px;
101
+ font-size: calc(var(--v-vcs-font-size) + 3px);
103
102
  }
104
103
  .row-gap {
105
104
  row-gap: 8px !important;
@@ -111,7 +110,6 @@
111
110
  import { VChip, VIcon } from 'vuetify/components';
112
111
  import { v4 as uuid } from 'uuid';
113
112
  import { usePadding } from '../composables.js';
114
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
115
113
  import VcsButton from '../buttons/VcsButton.vue';
116
114
  import VcsTextField from './VcsTextField.vue';
117
115
  import { removeListenersFromAttrs } from '../attrsHelpers.js';
@@ -279,8 +277,6 @@
279
277
 
280
278
  const paddingProvided = usePadding(attrs);
281
279
 
282
- const itemHeight = useItemHeight();
283
-
284
280
  return {
285
281
  paddingProvided,
286
282
  localValue,
@@ -296,7 +292,6 @@
296
292
  submitChange,
297
293
  add,
298
294
  cancel,
299
- itemHeight,
300
295
  };
301
296
  },
302
297
  };
@@ -38,7 +38,6 @@ declare const _default: import("vue").DefineComponent<{
38
38
  submitChange: (e: any) => void;
39
39
  add: (e: any, v: any) => Promise<void>;
40
40
  cancel: () => void;
41
- itemHeight: import("vue").ComputedRef<number>;
42
41
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
43
42
  modelValue: {
44
43
  type: ArrayConstructor;
@@ -11,7 +11,6 @@
11
11
  <template v-for="(_, idx) in localValue">
12
12
  <v-col :key="`coordinate-${idx}`" v-if="!hideZ || idx < 2">
13
13
  <VcsTextField
14
- :id="`coordinate-${idx}`"
15
14
  :hide-spin-buttons="true"
16
15
  type="number"
17
16
  class="py-0"
@@ -23,7 +22,7 @@
23
22
  force-prefix
24
23
  :decimals="decimals[idx]"
25
24
  v-bind="noListenerAttrs"
26
- v-model="localValue[idx]"
25
+ v-model.number="localValue[idx]"
27
26
  :rules="getRulesForAxis(idx)"
28
27
  />
29
28
  </v-col>
@@ -46,7 +46,7 @@
46
46
  overflow: hidden;
47
47
  text-overflow: ellipsis;
48
48
  white-space: nowrap;
49
- line-height: calc(var(--v-vcs-item-height) - 9px);
49
+ line-height: calc(var(--v-vcs-font-size) * 2 - 3px);
50
50
  }
51
51
  </style>
52
52
 
@@ -8,22 +8,34 @@
8
8
  'pa-1': !paddingProvided,
9
9
  }"
10
10
  >
11
- <slot />
12
- <v-tooltip
13
- v-if="tooltip"
14
- activator="parent"
15
- :location="tooltipPosition"
16
- :text="$st(tooltip)"
17
- ></v-tooltip>
11
+ <span class="ellipsis-text" ref="labelTextRef">
12
+ <slot />
13
+ <v-tooltip
14
+ v-if="labelTooltip"
15
+ activator="parent"
16
+ :location="tooltipPosition"
17
+ :text="$st(labelTooltip)"
18
+ ></v-tooltip>
19
+ </span>
18
20
  </label>
19
21
  </template>
20
22
 
21
23
  <style lang="scss" scoped>
24
+ .ellipsis-text {
25
+ flex: 1;
26
+ white-space: nowrap;
27
+ overflow: hidden;
28
+ text-overflow: ellipsis;
29
+ }
22
30
  .vcs-label {
23
31
  box-sizing: content-box;
24
32
  display: flex;
33
+ flex-direction: row;
34
+ white-space: nowrap;
35
+ overflow: hidden;
36
+ text-overflow: ellipsis;
25
37
  align-items: center;
26
- height: calc(var(--v-vcs-item-height) - 8px);
38
+ height: calc(var(--v-vcs-font-size) * 2 - 2px);
27
39
  font-size: var(--v-vcs-font-size);
28
40
  }
29
41
  .vcs-label-required:after {
@@ -36,7 +48,8 @@
36
48
  </style>
37
49
  <script>
38
50
  import { VTooltip } from 'vuetify/components';
39
- import { usePadding } from '../composables.js';
51
+ import { computed, ref } from 'vue';
52
+ import { createEllipseTooltip, usePadding } from '../composables.js';
40
53
 
41
54
  /**
42
55
  * @description Stylized wrapper around {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label |label label}.
@@ -76,8 +89,18 @@
76
89
  },
77
90
  setup(props, { attrs }) {
78
91
  const paddingProvided = usePadding(attrs);
92
+ const labelTextRef = ref();
93
+ const labelTooltip = createEllipseTooltip(
94
+ computed(() => {
95
+ return labelTextRef.value;
96
+ }),
97
+ computed(() => props.tooltip),
98
+ computed(() => labelTextRef.value?.textContent),
99
+ );
79
100
  return {
80
101
  paddingProvided,
102
+ labelTooltip,
103
+ labelTextRef,
81
104
  };
82
105
  },
83
106
  };
@@ -21,6 +21,8 @@ declare const _default: import("vue").DefineComponent<{
21
21
  };
22
22
  }, {
23
23
  paddingProvided: import("vue").ComputedRef<boolean>;
24
+ labelTooltip: import("vue").ComputedRef<string>;
25
+ labelTextRef: import("vue").Ref<any>;
24
26
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
25
27
  htmlFor: {
26
28
  type: StringConstructor;
@@ -9,8 +9,8 @@
9
9
  >
10
10
  <v-radio
11
11
  v-for="(item, idx) in items"
12
- :id="`${$.uid}-${idx}`"
13
- :key="`${$.uid}-${idx}`"
12
+ :id="`${cid}-${idx}`"
13
+ :key="`${cid}-${idx}`"
14
14
  :value="item[itemValue] ?? item"
15
15
  :disabled="$attrs.disabled ?? item.disabled ?? false"
16
16
  :color="item?.color ?? undefined"
@@ -23,7 +23,7 @@
23
23
  >
24
24
  <template #label>
25
25
  <slot name="label" :item="item" :error="!!errorTooltip">
26
- <span :html-for="`${$.uid}-${idx}`">
26
+ <span :html-for="`${cid}-${idx}`">
27
27
  {{ $st(item.label ?? item) }}
28
28
  </span>
29
29
  </slot>
@@ -50,8 +50,8 @@
50
50
  </template>
51
51
  <style lang="scss" scoped>
52
52
  .v-input--density-compact :deep(.v-selection-control) {
53
- --v-selection-control-size: calc(var(--v-vcs-item-height) - 8px);
54
- --v-input-control-height: calc(var(--v-vcs-item-height) - 16px);
53
+ --v-selection-control-size: calc(var(--v-vcs-font-size) * 2 - 2px);
54
+ --v-input-control-height: calc(var(--v-vcs-font-size) + 3px);
55
55
  }
56
56
  // remove ripple effect
57
57
  :deep(.v-selection-control__input::before) {
@@ -73,7 +73,7 @@
73
73
  <script>
74
74
  import { ref } from 'vue';
75
75
  import { VRadio, VRadioGroup, VTooltip } from 'vuetify/components';
76
- import { usePadding } from '../composables.js';
76
+ import { useComponentId, usePadding } from '../composables.js';
77
77
 
78
78
  /**
79
79
  * @typedef {Object} VcsRadioItem
@@ -128,11 +128,13 @@
128
128
  const radioGroup = ref();
129
129
  const errorTooltip = ref();
130
130
  const paddingProvided = usePadding(attrs);
131
+ const cid = useComponentId();
131
132
 
132
133
  return {
133
134
  paddingProvided,
134
135
  radioGroup,
135
136
  errorTooltip,
137
+ cid,
136
138
  };
137
139
  },
138
140
  };
@@ -23,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
23
23
  paddingProvided: import("vue").ComputedRef<boolean>;
24
24
  radioGroup: import("vue").Ref<any>;
25
25
  errorTooltip: import("vue").Ref<any>;
26
+ cid: string;
26
27
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
27
28
  items: {
28
29
  type: ArrayConstructor;
@@ -73,7 +73,7 @@
73
73
  }
74
74
  }
75
75
  .v-input--density-compact :deep(.v-field) {
76
- --v-input-control-height: calc(var(--v-vcs-item-height) - 8px);
76
+ --v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
77
77
  --v-field-padding-bottom: 0px;
78
78
  --v-field-input-padding-top: 0px;
79
79
  --v-input-padding-top: 0px;
@@ -173,7 +173,7 @@
173
173
  if (rawProps.multiple) {
174
174
  return [];
175
175
  }
176
- return '';
176
+ return null;
177
177
  },
178
178
  },
179
179
  tooltip: {
@@ -5,7 +5,7 @@ declare const _default: import("vue").DefineComponent<{
5
5
  };
6
6
  modelValue: {
7
7
  type: (BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
8
- default(rawProps: any): never[] | "";
8
+ default(rawProps: any): never[] | null;
9
9
  };
10
10
  tooltip: {
11
11
  type: StringConstructor;
@@ -35,7 +35,7 @@ declare const _default: import("vue").DefineComponent<{
35
35
  };
36
36
  modelValue: {
37
37
  type: (BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
38
- default(rawProps: any): never[] | "";
38
+ default(rawProps: any): never[] | null;
39
39
  };
40
40
  tooltip: {
41
41
  type: StringConstructor;
@@ -32,7 +32,7 @@
32
32
  </template>
33
33
  <style lang="scss" scoped>
34
34
  .v-input--horizontal :deep(.v-input__control) {
35
- min-height: calc(var(--v-vcs-item-height) - 8px);
35
+ min-height: calc(var(--v-vcs-font-size) * 2 - 2px);
36
36
  }
37
37
  .v-input--horizontal.v-slider--has-labels {
38
38
  margin-bottom: var(--v-vcs-font-size);
@@ -77,7 +77,7 @@
77
77
  import { computed, ref } from 'vue';
78
78
  import { VSlider, VTooltip } from 'vuetify/components';
79
79
  import { useForwardSlots, usePadding } from '../composables.js';
80
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
80
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
81
81
 
82
82
  /**
83
83
  * @description stylized wrapper around {@link https://vuetifyjs.com/en/components/sliders/#usage}.
@@ -101,12 +101,12 @@
101
101
  },
102
102
  },
103
103
  setup(props, { attrs, slots }) {
104
- const itemHeight = useItemHeight();
104
+ const fontSize = useFontSize();
105
105
  const thumbSize = computed(() => {
106
- return Math.floor(itemHeight.value / 4);
106
+ return Math.floor((fontSize.value + 3) / 2);
107
107
  });
108
108
  const trackSize = computed(() => {
109
- return Math.floor(itemHeight.value / 12);
109
+ return Math.floor((fontSize.value + 3) / 6);
110
110
  });
111
111
  const tickSize = computed(() => {
112
112
  return trackSize.value * 2;
@@ -39,7 +39,7 @@
39
39
 
40
40
  <style lang="scss" scoped>
41
41
  .v-input--density-compact :deep(.v-field) {
42
- --v-input-control-height: calc(var(--v-vcs-item-height) - 8px);
42
+ --v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
43
43
  --v-field-padding-bottom: 0px;
44
44
  --v-field-input-padding-top: 0px;
45
45
  --v-input-padding-top: 0px;
@@ -10,6 +10,7 @@
10
10
  class="vcs-text-field primary--placeholder"
11
11
  :class="{
12
12
  'py-1': !paddingProvided,
13
+ 'no-prepended-content': !prependedContent,
13
14
  }"
14
15
  v-bind="$attrs"
15
16
  :prefix="forcePrefix ? undefined : $attrs.prefix"
@@ -151,8 +152,12 @@
151
152
  return localValue.value ?? '';
152
153
  },
153
154
  set(value) {
154
- localValue.value = value;
155
155
  // emit is not needed since the vuetify component already emits an @input event. (forwarded listeners)
156
+ if (props.type === 'number') {
157
+ localValue.value = parseFloat(value);
158
+ } else {
159
+ localValue.value = value;
160
+ }
156
161
  },
157
162
  });
158
163
 
@@ -169,7 +174,11 @@
169
174
  const paddingProvided = usePadding(attrs);
170
175
  const forwardSlots = useForwardSlots(slots, ['default', 'message']);
171
176
 
177
+ const prependedContent = computed(() => {
178
+ return (props.forcePrefix && attrs.prefix) || !!slots['prepend-inner'];
179
+ });
172
180
  return {
181
+ prependedContent,
173
182
  forwardSlots,
174
183
  paddingProvided,
175
184
  visibleValue,