@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
@@ -28,9 +28,10 @@ declare const _default: import("vue").DefineComponent<{
28
28
  default: boolean;
29
29
  };
30
30
  }, {
31
+ prependedContent: import("vue").ComputedRef<{}>;
31
32
  forwardSlots: import("vue").ComputedRef<string[]>;
32
33
  paddingProvided: import("vue").ComputedRef<boolean>;
33
- visibleValue: import("vue").WritableComputedRef<any>;
34
+ visibleValue: import("vue").WritableComputedRef<string | number | boolean>;
34
35
  rules: import("vue").ComputedRef<unknown>;
35
36
  textFieldRef: import("vue").Ref<any>;
36
37
  errorTooltipRef: import("vue").Ref<any>;
@@ -35,8 +35,8 @@
35
35
  </script>
36
36
  <style scoped lang="scss">
37
37
  :deep(.v-expansion-panel-title) {
38
- height: var(--v-vcs-item-height);
39
- min-height: var(--v-vcs-item-height);
38
+ height: calc(var(--v-vcs-font-size) * 2 + 6px);
39
+ min-height: calc(var(--v-vcs-font-size) * 2 + 6px);
40
40
  padding: 0 8px;
41
41
  }
42
42
  :deep(.v-expansion-panel-title.v-expansion-panel-title--active) {
@@ -58,7 +58,7 @@
58
58
  }
59
59
  :deep(.v-stepper-vertical-item:not(:last-child):before) {
60
60
  height: 100%;
61
- top: calc(var(--v-vcs-item-height) * 0.5);
61
+ top: calc(var(--v-vcs-font-size) * 2 - 16px);
62
62
  left: calc(14px + var(--v-vcs-font-size) * 0.42);
63
63
  width: calc(var(--v-vcs-font-size) * 0.1);
64
64
  }
@@ -30,7 +30,11 @@
30
30
  </template>
31
31
  <template #default>
32
32
  <div>
33
- <VcsHelp :text="helpText" :show="showHelp" class="mb-1">
33
+ <VcsHelp
34
+ :text="helpText"
35
+ v-if="showHelp && ($slots.help || helpText)"
36
+ class="mb-1"
37
+ >
34
38
  <slot name="help" />
35
39
  </VcsHelp>
36
40
  <slot />
@@ -3,7 +3,7 @@
3
3
  --v-field-padding-end: 4px;
4
4
  }
5
5
  .v-input--density-compact :deep(.v-field) {
6
- --v-input-control-height: calc(var(--v-vcs-item-height) - 8px);
6
+ --v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
7
7
  --v-field-padding-bottom: 0px;
8
8
  --v-field-input-padding-top: 0px;
9
9
  --v-input-padding-top: 0px;
@@ -50,6 +50,12 @@
50
50
  :deep(.v-field--appended) {
51
51
  padding-inline-end: 4px;
52
52
  }
53
+ :deep(.v-field--prepended) {
54
+ padding-inline-start: 4px;
55
+ }
56
+ .no-prepended-content :deep(.v-field--prepended) {
57
+ padding-inline-start: 0px;
58
+ }
53
59
 
54
60
  // remove margin from prepended Icon
55
61
  .v-input--horizontal :deep(.v-input__prepend) {
@@ -33,7 +33,7 @@
33
33
  box-sizing: content-box;
34
34
  display: flex;
35
35
  align-items: center;
36
- height: calc(var(--v-vcs-item-height) - 8px);
36
+ height: calc(var(--v-vcs-font-size) * 2 - 2px);
37
37
  }
38
38
  .vcs-disabled {
39
39
  opacity: var(--v-disabled-opacity);
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <v-card flat class="pa-2">
3
3
  <vcs-file-drop
4
- :height="3 * itemHeight"
4
+ :height="dropElementHeight"
5
5
  :multiple="multiple"
6
6
  v-model="files"
7
7
  />
@@ -30,7 +30,7 @@
30
30
  import { VCard } from 'vuetify/components';
31
31
  import { computed, inject, ref } from 'vue';
32
32
  import { removeListenersFromAttrs } from '../attrsHelpers.js';
33
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
33
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
34
34
  import VcsFileDrop from './VcsFileDrop.vue';
35
35
  import VcsFormButton from '../buttons/VcsFormButton.vue';
36
36
  import VcsFileInput from '../form-inputs-controls/VcsFileInput.vue';
@@ -77,13 +77,16 @@
77
77
 
78
78
  const noListenerAttrs = computed(() => removeListenersFromAttrs(attrs));
79
79
 
80
- const itemHeight = useItemHeight();
80
+ const fontSize = useFontSize();
81
+ const dropElementHeight = computed(() => {
82
+ return fontSize.value * 6 + 18;
83
+ });
81
84
 
82
85
  return {
83
86
  files,
84
87
  loading,
85
88
  noListenerAttrs,
86
- itemHeight,
89
+ dropElementHeight,
87
90
  async doImport() {
88
91
  loading.value = true;
89
92
  try {
@@ -15,7 +15,7 @@ declare const _default: import("vue").DefineComponent<{
15
15
  files: WritableComputedRef<File[]>;
16
16
  loading: import("vue").Ref<boolean>;
17
17
  noListenerAttrs: import("vue").ComputedRef<Record<string, unknown>>;
18
- itemHeight: import("vue").ComputedRef<number>;
18
+ dropElementHeight: import("vue").ComputedRef<number>;
19
19
  doImport(): Promise<void>;
20
20
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
21
21
  importFiles: {
@@ -37,7 +37,6 @@
37
37
  }
38
38
  </style>
39
39
  <script>
40
- import { computed } from 'vue';
41
40
  import { is, optional } from '@vcsuite/check';
42
41
  import {
43
42
  VIcon,
@@ -46,7 +45,7 @@
46
45
  VListItemTitle,
47
46
  VTooltip,
48
47
  } from 'vuetify/components';
49
- import { useFontSize } from '../../vuePlugins/vuetify.js';
48
+ import { useIconSize } from '../../vuePlugins/vuetify.js';
50
49
 
51
50
  /**
52
51
  * pattern to check actions
@@ -121,10 +120,7 @@
121
120
  },
122
121
  },
123
122
  setup() {
124
- const fontSize = useFontSize();
125
- const iconSize = computed(() => {
126
- return fontSize.value * (1.2 + 0.1 / 3);
127
- });
123
+ const iconSize = useIconSize();
128
124
  return {
129
125
  iconSize,
130
126
  };
@@ -127,16 +127,26 @@
127
127
  <template #default="scope">
128
128
  <slot name="default" v-bind="{ ...scope, item, dragging, tooltip }" />
129
129
  </template>
130
- <template #append>
131
- <vcs-badge v-if="item.hasUpdate" class="mr-1" />
132
- <vcs-action-button-list
133
- v-if="actions.length > 0"
134
- :actions="actions"
135
- :disabled="item.disabled"
136
- :block-overflow="true"
137
- :overflow-count="actionButtonListOverflowCount"
138
- class="ml-2"
139
- />
130
+ <template #append="appendScope">
131
+ <slot
132
+ name="append"
133
+ v-bind="{
134
+ ...appendScope,
135
+ item,
136
+ actions,
137
+ actionButtonListOverflowCount,
138
+ }"
139
+ >
140
+ <vcs-badge v-if="item.hasUpdate" class="mr-1" />
141
+ <vcs-action-button-list
142
+ v-if="actions.length > 0"
143
+ :actions="actions"
144
+ :disabled="item.disabled"
145
+ :block-overflow="true"
146
+ :overflow-count="actionButtonListOverflowCount"
147
+ class="ml-2"
148
+ />
149
+ </slot>
140
150
  </template>
141
151
  </v-list-item>
142
152
  </template>
@@ -21,6 +21,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}
21
21
  isIndeterminate: boolean;
22
22
  select: (value: boolean) => void;
23
23
  }): any;
24
+ append?(_: {
25
+ item: any;
26
+ actions: any[];
27
+ actionButtonListOverflowCount: any;
28
+ isActive: boolean;
29
+ isOpen: boolean;
30
+ isSelected: boolean;
31
+ isIndeterminate: boolean;
32
+ select: (value: boolean) => void;
33
+ }): any;
24
34
  }>;
25
35
  export default _default;
26
36
  export type VcsListItem = {
@@ -36,7 +46,7 @@ export type VcsListItem = {
36
46
  /**
37
47
  * - Whether the title of can be edited. will add a rename action to the end of the action list. This action will call titleChanged with the new title, you must provide the callback yourself, otherwise this does not work as expeted.
38
48
  */
39
- renamable?: boolean | import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).ActionOptions | undefined;
49
+ renamable?: boolean | Omit<import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).VcsAction, "callback"> | undefined;
40
50
  /**
41
51
  * - The title to be displayed
42
52
  */
@@ -17,15 +17,42 @@
17
17
  collapse-icon="mdi-chevron-down"
18
18
  v-bind="{ ...$props, ...$attrs }"
19
19
  :search="localSearchValue"
20
+ @click:select="itemClicked($event.id, $event.event)"
20
21
  >
21
- <template #item="{ props: item }">
22
- <VcsTreeviewLeaf
23
- @click.stop="item.clicked && !item.disabled && item.clicked($event)"
24
- :item="item"
25
- />
22
+ <template #title="scope">
23
+ <slot name="title" v-bind="scope ?? {}">
24
+ <VcsTreeviewTitle :item="scope.item"></VcsTreeviewTitle>
25
+ </slot>
26
26
  </template>
27
- <template #title="{ item }">
28
- {{ $st(item.title || item.name) }}
27
+ <template v-for="slot of forwardSlots" #[slot]="scope">
28
+ <slot :name="slot" v-bind="scope ?? {}" />
29
+ </template>
30
+ <template #prepend="scope">
31
+ <slot name="prepend" v-bind="scope ?? {}">
32
+ <template v-if="scope.item?.icon">
33
+ <v-icon
34
+ v-if="typeof scope.item?.icon === 'string'"
35
+ :size="iconSize"
36
+ >
37
+ {{ scope.item.icon }}
38
+ </v-icon>
39
+ <ImageElementInjector :element="scope.item.icon" v-else />
40
+ </template>
41
+ </slot>
42
+ </template>
43
+ <template #append="scope">
44
+ <slot name="append" v-bind="scope ?? {}">
45
+ <VcsActionButtonList
46
+ v-if="scope.item.actions?.length > 0"
47
+ :actions="scope.item.actions"
48
+ :overflow-count="3"
49
+ :disabled="scope.item.disabled"
50
+ right
51
+ tooltip-position="right"
52
+ block-overflow
53
+ class="col-4 pa-0 d-flex align-center"
54
+ />
55
+ </slot>
29
56
  </template>
30
57
  </v-treeview>
31
58
  </div>
@@ -35,7 +62,7 @@
35
62
  // Root Level Entries should be 40px high
36
63
  > .v-list-item,
37
64
  > .v-list-group > .v-list-item {
38
- min-height: calc(var(--v-vcs-item-height) + 8px) !important;
65
+ min-height: calc(var(--v-vcs-font-size) * 2 + 14px) !important;
39
66
  padding-left: 6px;
40
67
  }
41
68
  // Border around root nodes with children included
@@ -88,10 +115,15 @@
88
115
 
89
116
  <script>
90
117
  import { getCurrentInstance } from 'vue';
118
+ import { VIcon } from 'vuetify/components';
91
119
  import { VTreeview } from 'vuetify/labs/VTreeview';
92
120
  import { useProxiedAtomicModel } from '../modelHelper.js';
121
+ import { useForwardSlots } from '../composables.js';
93
122
  import VcsTreeviewSearchbar from './VcsTreeviewSearchbar.vue';
94
- import VcsTreeviewLeaf from './VcsTreeviewLeaf.vue';
123
+ import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
124
+ import ImageElementInjector from '../ImageElementInjector.vue';
125
+ import VcsTreeviewTitle from './VcsTreeviewTitle.vue';
126
+ import { useIconSize } from '../../vuePlugins/vuetify.js';
95
127
 
96
128
  /**
97
129
  * @description extends API of https://vuetifyjs.com/en/api/v-treeview/
@@ -104,11 +136,18 @@
104
136
  export default {
105
137
  name: 'VcsTreeview',
106
138
  components: {
107
- VcsTreeviewLeaf,
139
+ VcsTreeviewTitle,
140
+ VIcon,
141
+ ImageElementInjector,
142
+ VcsActionButtonList,
108
143
  VcsTreeviewSearchbar,
109
144
  VTreeview,
110
145
  },
111
146
  props: {
147
+ items: {
148
+ type: Array,
149
+ default: () => [],
150
+ },
112
151
  search: {
113
152
  type: String,
114
153
  default: '',
@@ -123,7 +162,7 @@
123
162
  },
124
163
  },
125
164
  emits: ['update:search'],
126
- setup(props, { emit }) {
165
+ setup(props, { emit, slots }) {
127
166
  const localSearchValue = useProxiedAtomicModel(props, 'search', emit);
128
167
 
129
168
  // TODO properly type the tree view item interface & export in index.d.ts
@@ -145,9 +184,34 @@
145
184
  .indexOf(q.toLocaleLowerCase());
146
185
  };
147
186
 
187
+ const forwardSlots = useForwardSlots(slots, [
188
+ 'append',
189
+ 'title',
190
+ 'prepend',
191
+ ]);
192
+ const iconSize = useIconSize();
148
193
  return {
194
+ iconSize,
149
195
  localSearchValue,
150
196
  handleFilter,
197
+ forwardSlots,
198
+ itemClicked(name, event) {
199
+ const items = props.items.slice();
200
+ let item;
201
+ while (items.length > 0) {
202
+ item = items.pop();
203
+ if (item.name === name) {
204
+ break;
205
+ }
206
+ if (item.children?.length > 0) {
207
+ items.push(...item.children);
208
+ }
209
+ }
210
+
211
+ if (item?.clicked && !item?.disabled) {
212
+ item.clicked(event);
213
+ }
214
+ },
151
215
  };
152
216
  },
153
217
  };
@@ -1,4 +1,8 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
+ items: {
3
+ type: ArrayConstructor;
4
+ default: () => never[];
5
+ };
2
6
  search: {
3
7
  type: StringConstructor;
4
8
  default: string;
@@ -12,9 +16,16 @@ declare const _default: import("vue").DefineComponent<{
12
16
  default: undefined;
13
17
  };
14
18
  }, {
19
+ iconSize: import("vue").ComputedRef<number>;
15
20
  localSearchValue: import("vue").Ref<any>;
16
21
  handleFilter: (value: string, q: string, item: Object) => number;
22
+ forwardSlots: import("vue").ComputedRef<string[]>;
23
+ itemClicked(name: any, event: any): void;
17
24
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:search"[], "update:search", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
25
+ items: {
26
+ type: ArrayConstructor;
27
+ default: () => never[];
28
+ };
18
29
  search: {
19
30
  type: StringConstructor;
20
31
  default: string;
@@ -31,6 +42,7 @@ declare const _default: import("vue").DefineComponent<{
31
42
  "onUpdate:search"?: ((...args: any[]) => any) | undefined;
32
43
  }, {
33
44
  search: string;
45
+ items: unknown[];
34
46
  showSearchbar: boolean;
35
47
  searchbarPlaceholder: string;
36
48
  }, {}>;
@@ -3,7 +3,9 @@
3
3
  class="pa-2 bg-base-lighten-3 position-relative d-flex flex-row justify-space-between align-center rounded-0"
4
4
  >
5
5
  <slot name="prepend">
6
- <v-icon class="search-icon my-0 ml-1" size="12"> $vcsSearch </v-icon>
6
+ <v-icon class="search-icon my-0 ml-1" :size="iconSize - 4">
7
+ $vcsSearch
8
+ </v-icon>
7
9
  </slot>
8
10
 
9
11
  <slot v-bind="{ ...$props, attrs: $attrs }">
@@ -16,7 +18,7 @@
16
18
  </slot>
17
19
 
18
20
  <slot name="append" :has-filter="hasFilter">
19
- <v-icon v-if="hasFilter" class="ml-2" size="16">$vcsFilter</v-icon>
21
+ <v-icon v-if="hasFilter" class="ml-2" :size="iconSize">$vcsFilter</v-icon>
20
22
  </slot>
21
23
  </div>
22
24
  </template>
@@ -48,7 +50,9 @@
48
50
  > .v-field__field
49
51
  > .v-field__input
50
52
  ) {
51
- --v-input-control-height: calc(var(--v-vcs-item-height) - 20px) !important;
53
+ --v-input-control-height: calc(
54
+ var(--v-vcs-font-size) * 2 - 14px
55
+ ) !important;
52
56
  min-height: var(--v-input-control-height);
53
57
  }
54
58
 
@@ -74,6 +78,7 @@
74
78
  <script>
75
79
  import { VIcon } from 'vuetify/components';
76
80
  import VcsTextField from '../form-inputs-controls/VcsTextField.vue';
81
+ import { useIconSize } from '../../vuePlugins/vuetify.js';
77
82
 
78
83
  /**
79
84
  * @description stylized searchbar used in VcsTreeview, VcsDataTable and VcsList
@@ -100,5 +105,11 @@
100
105
  default: false,
101
106
  },
102
107
  },
108
+ setup() {
109
+ const iconSize = useIconSize();
110
+ return {
111
+ iconSize,
112
+ };
113
+ },
103
114
  };
104
115
  </script>
@@ -7,7 +7,9 @@ declare const _default: import("vue").DefineComponent<{
7
7
  type: BooleanConstructor;
8
8
  default: boolean;
9
9
  };
10
- }, any, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ }, {
11
+ iconSize: import("vue").ComputedRef<number>;
12
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
13
  placeholder: {
12
14
  type: StringConstructor;
13
15
  default: string;
@@ -0,0 +1,40 @@
1
+ <script setup>
2
+ import { computed, ref } from 'vue';
3
+ import { VTooltip } from 'vuetify/components';
4
+ import { createEllipseTooltip } from '../composables.js';
5
+
6
+ const props = defineProps({
7
+ item: {
8
+ type: Object,
9
+ default: undefined,
10
+ },
11
+ });
12
+
13
+ const titleParent = ref();
14
+
15
+ const tooltip = createEllipseTooltip(
16
+ computed(() => titleParent.value),
17
+ computed(() => props.item.tooltip),
18
+ computed(() => props.item.title || props.item.name),
19
+ );
20
+ </script>
21
+ <style lang="scss" scoped>
22
+ .title-parent {
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ }
26
+ </style>
27
+ <template>
28
+ <div
29
+ class="title-parent pr-2"
30
+ ref="titleParent"
31
+ @click.stop="item.clicked && !item.disabled && item.clicked($event)"
32
+ >
33
+ <span>
34
+ {{ $st(item.title || item.name) }}
35
+ </span>
36
+ <v-tooltip v-if="tooltip" activator="parent">
37
+ {{ $st(tooltip) }}
38
+ </v-tooltip>
39
+ </div>
40
+ </template>
@@ -4,25 +4,27 @@
4
4
  * getter returns the internal value
5
5
  * setter updates internal value and emits the update event
6
6
  * simplified based on https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/composables/proxiedModel.ts
7
- * @param {Object} props
8
- * @param {string} prop
9
- * @param {(event: string, value: T) => void} emit
7
+ * @param {{ [k in P]: string extends P ? unknown : T }} props
8
+ * @param {P} prop
9
+ * @param {(event: string extends P ? P : `update:${P}`, value: T) => void} emit
10
10
  * @returns {import("vue").Ref<import("vue").UnwrapRef<T>>}
11
11
  * @template T
12
+ * @template {string} [P=string]
12
13
  */
13
- export function useProxiedAtomicModel<T>(props: Object, prop: string, emit: (event: string, value: T) => void): import("vue").Ref<import("vue").UnwrapRef<T>>;
14
+ export function useProxiedAtomicModel<T, P extends string = string>(props: { [k in P]: string extends P ? unknown : T; }, prop: P, emit: (event: string extends P ? P : `update:${P}`, value: T) => void): import("vue").Ref<import("vue").UnwrapRef<T>>;
14
15
  /**
15
16
  * Can only be used in setup of Vue components!
16
17
  * Provides a ref model for complex properties.
17
18
  * Watches changes on the provided prop and updates the internal ref
18
19
  * Watches changes on the internal ref and emits the change, if prop has not already been updated
19
- * @param {Object} props
20
- * @param {string} prop
21
- * @param {(event: string, value: T) => void} emit
20
+ * @param {{ [k in P]: string extends P ? unknown : T }} props
21
+ * @param {P} prop
22
+ * @param {(event: string extends P ? P : `update:${P}`, value: T) => void} emit
22
23
  * @returns {import("vue").Ref<import("vue").UnwrapRef<T>>}
23
24
  * @template T
25
+ * @template {string} [P=string]
24
26
  */
25
- export function useProxiedComplexModel<T>(props: Object, prop: string, emit: (event: string, value: T) => void): import("vue").Ref<import("vue").UnwrapRef<T>>;
27
+ export function useProxiedComplexModel<T, P extends string = string>(props: { [k in P]: string extends P ? unknown : T; }, prop: P, emit: (event: string extends P ? P : `update:${P}`, value: T) => void): import("vue").Ref<import("vue").UnwrapRef<T>>;
26
28
  /**
27
29
  * Helper function that returns a modelValue for VcsCheckbox depending on the availability of a specific property within a model object
28
30
  * Getter returns true, if property is available, otherwise false.
@@ -8,11 +8,12 @@ import { getLogger } from '@vcsuite/logger';
8
8
  * getter returns the internal value
9
9
  * setter updates internal value and emits the update event
10
10
  * simplified based on https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/composables/proxiedModel.ts
11
- * @param {Object} props
12
- * @param {string} prop
13
- * @param {(event: string, value: T) => void} emit
11
+ * @param {{ [k in P]: string extends P ? unknown : T }} props
12
+ * @param {P} prop
13
+ * @param {(event: string extends P ? P : `update:${P}`, value: T) => void} emit
14
14
  * @returns {import("vue").Ref<import("vue").UnwrapRef<T>>}
15
15
  * @template T
16
+ * @template {string} [P=string]
16
17
  */
17
18
  export function useProxiedAtomicModel(props, prop, emit) {
18
19
  const internal = ref(props[prop]);
@@ -43,11 +44,12 @@ export function useProxiedAtomicModel(props, prop, emit) {
43
44
  * Provides a ref model for complex properties.
44
45
  * Watches changes on the provided prop and updates the internal ref
45
46
  * Watches changes on the internal ref and emits the change, if prop has not already been updated
46
- * @param {Object} props
47
- * @param {string} prop
48
- * @param {(event: string, value: T) => void} emit
47
+ * @param {{ [k in P]: string extends P ? unknown : T }} props
48
+ * @param {P} prop
49
+ * @param {(event: string extends P ? P : `update:${P}`, value: T) => void} emit
49
50
  * @returns {import("vue").Ref<import("vue").UnwrapRef<T>>}
50
51
  * @template T
52
+ * @template {string} [P=string]
51
53
  */
52
54
  export function useProxiedComplexModel(props, prop, emit) {
53
55
  const internal = ref(structuredClone(toRaw(props[prop])));
@@ -1,6 +1,9 @@
1
1
  <template>
2
- <div v-if="show" class="ma-0 font-weight-regular rounded-0 bg-base-lighten-4">
3
- <v-container class="pa-1 vcs-help">
2
+ <div
3
+ v-if="$slots.default || text"
4
+ class="ma-0 font-weight-regular rounded-0 bg-base-lighten-4"
5
+ >
6
+ <v-container class="py-1 px-2 vcs-help">
4
7
  <slot>
5
8
  <span>{{ $st(text) }}</span>
6
9
  </slot>
@@ -10,6 +13,7 @@
10
13
  <style lang="scss">
11
14
  .vcs-help {
12
15
  box-sizing: border-box;
16
+ padding-left: 16px;
13
17
  ol,
14
18
  ul {
15
19
  padding-left: 16px; /* Indentation for list items */
@@ -22,7 +26,6 @@
22
26
  /**
23
27
  * @description A component for displaying help.
24
28
  * @vue-data {slot} [#default] - Slot to specify html based help. Gets precedence over text prop.
25
- * @vue-prop {boolean} show - If help should be displayed. If false, component is completely hidden.
26
29
  * @vue-prop {string} [text] - Optional help text. Must be plain string. Use 'help' slot for html based help texts. Help slot has precedence over text prop.
27
30
  */
28
31
  export default {
@@ -35,10 +38,6 @@
35
38
  type: String,
36
39
  default: undefined,
37
40
  },
38
- show: {
39
- type: Boolean,
40
- default: true,
41
- },
42
41
  },
43
42
  };
44
43
  </script>
@@ -3,21 +3,12 @@ declare const _default: import("vue").DefineComponent<{
3
3
  type: StringConstructor;
4
4
  default: undefined;
5
5
  };
6
- show: {
7
- type: BooleanConstructor;
8
- default: boolean;
9
- };
10
6
  }, any, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
7
  text: {
12
8
  type: StringConstructor;
13
9
  default: undefined;
14
10
  };
15
- show: {
16
- type: BooleanConstructor;
17
- default: boolean;
18
- };
19
11
  }>>, {
20
12
  text: string;
21
- show: boolean;
22
13
  }, {}>;
23
14
  export default _default;