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

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 (278) hide show
  1. package/build/build.js +40 -60
  2. package/build/buildHelpers.js +62 -19
  3. package/build/bundle.js +1 -1
  4. package/build/info/conf.json +1 -1
  5. package/build/info/publish.js +25 -31
  6. package/build/lintTypes.js +5 -0
  7. package/config/base.config.json +2 -1
  8. package/config/dev.config.json +7 -1
  9. package/config/projects.config.json +2 -1
  10. package/config/splashscreen.config.json +45 -0
  11. package/config/www.config.json +25 -22
  12. package/dist/.htaccess +7 -0
  13. package/dist/assets/@mdi/font/README.md +25 -0
  14. package/dist/assets/@mdi/font/css/materialdesignicons.min-680621ca.css +3 -0
  15. package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  16. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  17. package/dist/assets/{cesium.0b750d.js → cesium-126f111a.js} +272 -385
  18. package/dist/assets/cesium.js +1 -1
  19. package/dist/assets/{core.cbf44a.js → core-1c8b8674.js} +2015 -2019
  20. package/dist/assets/core.js +1 -1
  21. package/dist/assets/{ol.86e93c.js → ol-27f9b3f3.js} +42521 -44394
  22. package/dist/assets/ol.js +1 -1
  23. package/dist/assets/ui-7214428e.css +1 -0
  24. package/dist/assets/{ui.7c276c.js → ui-7214428e.js} +13968 -13907
  25. package/dist/assets/ui.js +1 -1
  26. package/dist/assets/vue-c78a5f76.js +6083 -0
  27. package/dist/assets/vue.js +1 -1
  28. package/dist/assets/{vuetify.4d18fe.css → vuetify-88a2fabe.css} +2 -2
  29. package/dist/assets/{vuetify.4d18fe.js → vuetify-88a2fabe.js} +7793 -7940
  30. package/dist/assets/vuetify.js +1 -1
  31. package/dist/index.html +11 -10
  32. package/index.d.ts +11 -11
  33. package/index.html +5 -5
  34. package/index.js +9 -7
  35. package/lib/olLib.js +84 -23
  36. package/package.json +19 -19
  37. package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
  38. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +71 -32
  39. package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
  40. package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
  41. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +21 -8
  42. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
  43. package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
  44. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
  45. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
  46. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  47. package/plugins/package.json +3 -23
  48. package/public/assets/@mdi/font/README.md +25 -0
  49. package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
  50. package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
  51. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  52. package/src/actions/StyleSelector.vue +1 -1
  53. package/src/actions/actionHelper.js +33 -22
  54. package/src/actions/flightActions.js +5 -5
  55. package/src/actions/listActions.d.ts +4 -11
  56. package/src/actions/listActions.js +6 -22
  57. package/src/actions/stateRefAction.js +2 -2
  58. package/src/application/VcsApp.vue +147 -57
  59. package/src/application/VcsApp.vue.d.ts +298 -4
  60. package/src/application/VcsAttributions.vue +2 -13
  61. package/src/application/VcsAttributionsFooter.vue +10 -11
  62. package/src/application/VcsContainer.vue +26 -9
  63. package/src/application/VcsContainer.vue.d.ts +237 -0
  64. package/src/application/VcsMainMap.vue +7 -7
  65. package/src/application/VcsMainMap.vue.d.ts +2 -2
  66. package/src/application/VcsNavbar.vue +5 -1
  67. package/src/application/VcsPositionDisplay.vue +8 -23
  68. package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
  69. package/src/application/VcsSettings.vue +10 -17
  70. package/src/application/VcsSplashScreen.vue +21 -40
  71. package/src/application/VcsSplashScreen.vue.d.ts +0 -2
  72. package/src/application/VcsTextPage.vue +12 -43
  73. package/src/application/VcsTextPage.vue.d.ts +4 -8
  74. package/src/application/VcsTextPageFooter.vue +23 -40
  75. package/src/components/buttons/VcsActionButtonList.vue +59 -3
  76. package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
  77. package/src/components/extent/VcsExtentEditor.vue +1 -1
  78. package/src/components/flight/VcsFlightAnchorsComponent.vue +63 -36
  79. package/src/components/flight/VcsFlightComponent.vue +16 -21
  80. package/src/components/flight/VcsFlightPlayer.vue +27 -5
  81. package/src/components/form-inputs-controls/VcsCheckbox.vue +9 -5
  82. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +15 -13
  83. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +3 -4
  84. package/src/components/form-inputs-controls/VcsCoordinate.vue +17 -4
  85. package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
  86. package/src/components/form-inputs-controls/VcsDatePicker.vue +34 -60
  87. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -63
  88. package/src/components/form-inputs-controls/VcsFileInput.vue +17 -18
  89. package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
  90. package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
  91. package/src/components/form-inputs-controls/VcsRadio.vue +17 -3
  92. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
  93. package/src/components/form-inputs-controls/VcsSelect.vue +40 -31
  94. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +5 -2
  95. package/src/components/form-inputs-controls/VcsSlider.vue +13 -1
  96. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +1 -0
  97. package/src/components/form-inputs-controls/VcsTextArea.vue +27 -26
  98. package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
  99. package/src/components/form-inputs-controls/VcsTextField.vue +20 -4
  100. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +9 -0
  101. package/src/components/form-inputs-controls/VcsWizardStep.vue +3 -6
  102. package/src/components/form-inputs-controls/vcsTextField.scss +9 -12
  103. package/src/components/form-output/VcsFormattedNumber.vue +21 -5
  104. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +9 -0
  105. package/src/components/form-output/VcsMarkdown.vue +15 -12
  106. package/src/components/form-output/VcsMarkdown.vue.d.ts +1 -0
  107. package/src/components/form-output/markdownHelper.d.ts +30 -0
  108. package/src/components/form-output/markdownHelper.js +398 -0
  109. package/src/components/import/VcsFileDrop.vue +8 -5
  110. package/src/components/import/VcsImportComponent.vue +4 -3
  111. package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
  112. package/src/components/lists/VcsActionList.vue +11 -7
  113. package/src/components/lists/VcsList.vue +30 -52
  114. package/src/components/lists/VcsList.vue.d.ts +14 -59
  115. package/src/components/lists/{VcsListItem.vue → VcsListItemComponent.vue} +68 -22
  116. package/src/components/lists/VcsListItemComponent.vue.d.ts +69 -0
  117. package/src/components/lists/VcsTreeview.vue +43 -16
  118. package/src/components/lists/VcsTreeview.vue.d.ts +14 -3
  119. package/src/components/lists/VcsTreeviewLeaf.vue +15 -6
  120. package/src/components/lists/VcsTreeviewSearchbar.vue +2 -2
  121. package/src/components/notification/VcsHelp.vue +1 -1
  122. package/src/components/notification/VcsHelp.vue.d.ts +3 -2
  123. package/src/components/section/VcsExpansionPanel.vue +101 -0
  124. package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
  125. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +10 -4
  126. package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +1 -2
  127. package/src/components/style/MenuWrapper.vue +24 -26
  128. package/src/components/style/MenuWrapper.vue.d.ts +4 -4
  129. package/src/components/style/VcsFillMenu.vue +9 -16
  130. package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
  131. package/src/components/style/VcsFillSelector.vue +13 -16
  132. package/src/components/style/VcsImageMenu.vue +8 -25
  133. package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
  134. package/src/components/style/VcsImageSelector.vue +102 -167
  135. package/src/components/style/VcsImageSelector.vue.d.ts +15 -15
  136. package/src/components/style/VcsStrokeMenu.vue +8 -15
  137. package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
  138. package/src/components/style/VcsStrokeSelector.vue +11 -18
  139. package/src/components/style/VcsTextMenu.vue +9 -12
  140. package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
  141. package/src/components/style/VcsTextSelector.vue +79 -95
  142. package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
  143. package/src/components/style/VcsVectorStyleComponent.vue +8 -19
  144. package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
  145. package/src/components/style/composables.d.ts +0 -14
  146. package/src/components/style/composables.js +0 -49
  147. package/src/components/tables/VcsDataTable.vue +28 -22
  148. package/src/components/tables/VcsTable.vue +45 -62
  149. package/src/components/tables/VcsTable.vue.d.ts +30 -17
  150. package/src/components/tables/VcsTableCell.vue +72 -0
  151. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  152. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +43 -9
  153. package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -0
  154. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +1 -1
  155. package/src/components/viewpoint/VcsViewpointComponent.vue +23 -10
  156. package/src/components/viewpoint/VcsViewpointEditor.vue +2 -1
  157. package/src/contentTree/LayerTree.vue +9 -27
  158. package/src/contentTree/LayerTree.vue.d.ts +1 -1
  159. package/src/contentTree/contentTreeCollection.d.ts +1 -0
  160. package/src/contentTree/contentTreeCollection.js +45 -11
  161. package/src/contentTree/contentTreeItem.d.ts +2 -2
  162. package/src/contentTree/contentTreeItem.js +7 -7
  163. package/src/featureInfo/BalloonComponent.vue +14 -15
  164. package/src/featureInfo/MarkdownBalloonComponent.vue +4 -2
  165. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  166. package/src/featureInfo/abstractFeatureInfoView.d.ts +6 -0
  167. package/src/featureInfo/abstractFeatureInfoView.js +15 -7
  168. package/src/featureInfo/featureInfo.d.ts +5 -5
  169. package/src/featureInfo/featureInfo.js +59 -41
  170. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  171. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  172. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  173. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  174. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  175. package/src/featureInfo/markdownFeatureInfoView.js +9 -11
  176. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  177. package/src/init.d.ts +5 -38
  178. package/src/init.js +19 -18
  179. package/src/legend/StyleLegendItem.vue +4 -9
  180. package/src/legend/VcsLegend.vue +28 -54
  181. package/src/manager/buttonManager.js +4 -4
  182. package/src/manager/collectionManager/CollectionComponent.vue +17 -42
  183. package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
  184. package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
  185. package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
  186. package/src/manager/collectionManager/CollectionComponentList.vue +11 -9
  187. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +6 -4
  188. package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
  189. package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
  190. package/src/manager/collectionManager/CollectionManager.vue +1 -1
  191. package/src/manager/collectionManager/collectionComponentClass.d.ts +1 -1
  192. package/src/manager/collectionManager/collectionComponentClass.js +7 -10
  193. package/src/manager/collectionManager/collectionManager.js +10 -10
  194. package/src/manager/collectionManager/editorCollectionComponentClass.js +6 -5
  195. package/src/manager/contextMenu/contextMenuManager.js +2 -2
  196. package/src/manager/navbarManager.js +2 -2
  197. package/src/manager/panel/PanelComponent.vue +2 -9
  198. package/src/manager/panel/PanelManagerComponent.vue +7 -3
  199. package/src/manager/panel/panelHelper.js +3 -3
  200. package/src/manager/panel/panelManager.d.ts +9 -1
  201. package/src/manager/panel/panelManager.js +18 -6
  202. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -4
  203. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  204. package/src/manager/toolbox/SelectToolboxComponent.vue +7 -4
  205. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  206. package/src/manager/toolbox/ToolboxManager.vue +9 -6
  207. package/src/manager/toolbox/ToolboxManager.vue.d.ts +1 -0
  208. package/src/manager/toolbox/toolboxManager.js +10 -10
  209. package/src/manager/window/WindowComponent.vue +12 -8
  210. package/src/manager/window/WindowComponentHeader.vue +29 -8
  211. package/src/manager/window/WindowComponentHeader.vue.d.ts +2 -0
  212. package/src/manager/window/WindowManager.vue +2 -2
  213. package/src/manager/window/windowManager.d.ts +2 -2
  214. package/src/manager/window/windowManager.js +4 -4
  215. package/src/navigation/MapNavigation.vue +20 -0
  216. package/src/navigation/locatorHelper.js +1 -1
  217. package/src/navigation/overviewMap.js +1 -1
  218. package/src/notifier/NotifierComponent.vue +18 -15
  219. package/src/search/ResultItem.vue +18 -6
  220. package/src/search/ResultsComponent.vue +31 -20
  221. package/src/search/ResultsComponent.vue.d.ts +2 -1
  222. package/src/search/SearchComponent.vue +8 -14
  223. package/src/search/SearchComponent.vue.d.ts +1 -0
  224. package/src/search/search.js +2 -2
  225. package/src/siteConfig.js +9 -9
  226. package/src/state.js +4 -4
  227. package/src/styles/_typography.scss +0 -2
  228. package/src/styles/main.scss +0 -4
  229. package/src/uiConfig.d.ts +300 -5
  230. package/src/uiConfig.js +28 -16
  231. package/src/vcsUiApp.d.ts +21 -17
  232. package/src/vcsUiApp.js +11 -10
  233. package/src/vuePlugins/vuetify.d.ts +2 -0
  234. package/src/vuePlugins/vuetify.js +14 -0
  235. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  236. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
  237. package/dist/assets/index-8eGauqjA.js +0 -1
  238. package/dist/assets/ui.7c276c.css +0 -1
  239. package/dist/assets/vue.a3cd64.js +0 -6096
  240. package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
  241. package/src/application/VcsCustomScreen.vue +0 -45
  242. package/src/application/VcsCustomScreen.vue.d.ts +0 -15
  243. package/src/application/markdownHelper.d.ts +0 -12
  244. package/src/application/markdownHelper.js +0 -70
  245. package/src/components/lists/VcsListItem.vue.d.ts +0 -21
  246. package/src/components/notification/VcsTooltip.vue +0 -156
  247. package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
  248. package/src/featureInfo/MarkdownComponent.vue +0 -16
  249. package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
  250. package/src/styles/_theming.scss +0 -73
  251. package/src/styles/settings.scss +0 -6
  252. package/src/styles/shades.scss +0 -4
  253. package/src/styles/variables.scss +0 -140
  254. package/src/styles/vcsFont.scss +0 -2
  255. package/src/styles/vcsGrid.scss +0 -3
  256. /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
  257. /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
  258. /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
  259. /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
  260. /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
  261. /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
  262. /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
  263. /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
  264. /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
  265. /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
  266. /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
  267. /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
  268. /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
  269. /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
  270. /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
  271. /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
  272. /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
  273. /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
  274. /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
  275. /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
  276. /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
  277. /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
  278. /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
@@ -3,13 +3,12 @@ import { getLogger } from '@vcsuite/logger';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
4
  import { computed, ref, shallowRef, watch } from 'vue';
5
5
  import { parseBoolean, parseNumber } from '@vcsuite/parsers';
6
- import { check } from '@vcsuite/check';
6
+ import { check, oneOf } from '@vcsuite/check';
7
7
  import { validateAction } from '../../components/lists/VcsActionList.vue';
8
8
  import { sortByWeight } from '../buttonManager.js';
9
9
  import {
10
10
  createListItemBulkAction,
11
11
  createListItemDeleteAction,
12
- createListItemRenameAction,
13
12
  } from '../../actions/listActions.js';
14
13
  import { sortByOwner } from '../navbarManager.js';
15
14
 
@@ -37,7 +36,7 @@ import { sortByOwner } from '../navbarManager.js';
37
36
  */
38
37
 
39
38
  /**
40
- * @typedef {import("../../components/lists/VcsList.vue").VcsListItem & {
39
+ * @typedef {import("../../components/lists/VcsListItemComponent.vue").VcsListItem & {
41
40
  * actions: Array<import("../../actions/actionHelper.js").VcsAction & { weight?: number }>,
42
41
  * clickedCallbacks: Array<function(PointerEvent):void>,
43
42
  * destroy: function():void|undefined
@@ -56,7 +55,7 @@ function destroyListItem(listItem) {
56
55
  /**
57
56
  * Renames the title of an item for VcsObject based items.
58
57
  * @param {import("@vcmap/core").VcsObject} item
59
- * @param {import("../../components/lists/VcsList").VcsListItem} listItem
58
+ * @param {import("../../components/lists/VcsListItemComponent.vue").VcsListItem} listItem
60
59
  * @param {string} newTitle
61
60
  */
62
61
  function titleChanged(item, listItem, newTitle) {
@@ -77,7 +76,7 @@ export function createSupportedMapMappingFunction(
77
76
  supportedMaps,
78
77
  mapCollection,
79
78
  ) {
80
- check(supportedMaps, [[String], Function]);
79
+ check(supportedMaps, oneOf([String], Function));
81
80
 
82
81
  return (item, _c, listItem) => {
83
82
  const mapNames =
@@ -359,11 +358,9 @@ class CollectionComponentClass {
359
358
  destroyFunctions: [],
360
359
  };
361
360
  if (this.renamable.value) {
362
- listItem.actions.push(
363
- createListItemRenameAction(listItem, {
364
- name: this._actionTitles.renameTitle,
365
- }),
366
- );
361
+ listItem.renamable = {
362
+ name: this._actionTitles.renameTitle,
363
+ };
367
364
  listItem.titleChanged = (newTitle) =>
368
365
  titleChanged(item, listItem, newTitle);
369
366
  }
@@ -1,6 +1,6 @@
1
1
  import { VcsEvent, Collection } from '@vcmap/core';
2
2
  import { reactive } from 'vue';
3
- import { check, checkMaybe } from '@vcsuite/check';
3
+ import { check, maybe, oneOf } from '@vcsuite/check';
4
4
  import { validateActions } from '../../components/lists/VcsActionList.vue';
5
5
  import CollectionComponentClass from './collectionComponentClass.js';
6
6
 
@@ -133,7 +133,7 @@ class CollectionManager {
133
133
  */
134
134
  add(collectionComponentOptions, owner) {
135
135
  check(collectionComponentOptions, { collection: Collection });
136
- check(owner, [String, Symbol]);
136
+ check(owner, oneOf(String, Symbol));
137
137
 
138
138
  if (
139
139
  collectionComponentOptions.id &&
@@ -220,9 +220,9 @@ class CollectionManager {
220
220
  owner,
221
221
  collectionComponentIds = [],
222
222
  ) {
223
- checkMaybe(predicate, Function);
223
+ check(predicate, maybe(Function));
224
224
  check(mappingFunction, Function);
225
- check(owner, [String, Symbol]);
225
+ check(owner, oneOf(String, Symbol));
226
226
  check(collectionComponentIds, [String]);
227
227
 
228
228
  /** @type {ItemMapping} */
@@ -260,7 +260,7 @@ class CollectionManager {
260
260
  */
261
261
  removeMappingFunction(mappingFunction, owner) {
262
262
  check(mappingFunction, Function);
263
- check(owner, [String, Symbol]);
263
+ check(owner, oneOf(String, Symbol));
264
264
 
265
265
  [...this._collectionComponents.values()].forEach((collectionComponent) => {
266
266
  collectionComponent.removeItemMapping({ mappingFunction, owner });
@@ -279,7 +279,7 @@ class CollectionManager {
279
279
  */
280
280
  addFilterFunction(filterFunction, owner, collectionComponentIds = []) {
281
281
  check(filterFunction, Function);
282
- check(owner, [String, Symbol]);
282
+ check(owner, oneOf(String, Symbol));
283
283
  check(collectionComponentIds, [String]);
284
284
 
285
285
  /** @type {ItemFilter} */
@@ -316,7 +316,7 @@ class CollectionManager {
316
316
  */
317
317
  removeFilterFunction(filterFunction, owner) {
318
318
  check(filterFunction, Function);
319
- check(owner, [String, Symbol]);
319
+ check(owner, oneOf(String, Symbol));
320
320
 
321
321
  [...this._collectionComponents.values()].forEach((collectionComponent) => {
322
322
  collectionComponent.removeItemFilter({ filterFunction, owner });
@@ -334,7 +334,7 @@ class CollectionManager {
334
334
  * @param {Array<string>} [collectionComponentIds] list of collectionComponents this mappingFunction should be used on. If empty, actions are applied to all managed collectionComponents.
335
335
  */
336
336
  addActions(actions, owner, collectionComponentIds = []) {
337
- check(owner, [String, Symbol]);
337
+ check(owner, oneOf(String, Symbol));
338
338
  check(collectionComponentIds, [String]);
339
339
 
340
340
  if (!validateActions(actions)) {
@@ -367,7 +367,7 @@ class CollectionManager {
367
367
  * @param {string | symbol} owner
368
368
  */
369
369
  removeActions(actions, owner) {
370
- check(owner, [String, Symbol]);
370
+ check(owner, oneOf(String, Symbol));
371
371
 
372
372
  const idx = this._itemActions.findIndex((a) => a.actions === actions);
373
373
  if (idx > -1) {
@@ -386,7 +386,7 @@ class CollectionManager {
386
386
  * @param {string | symbol} owner
387
387
  */
388
388
  removeOwner(owner) {
389
- check(owner, [String, Symbol]);
389
+ check(owner, oneOf(String, Symbol));
390
390
 
391
391
  [...this._collectionComponents.values()].forEach((collectionComponent) => {
392
392
  if (collectionComponent.owner === owner) {
@@ -1,8 +1,9 @@
1
1
  import { nextTick, reactive, watch } from 'vue';
2
- import { check, checkMaybe } from '@vcsuite/check';
2
+ import { check, maybe, oneOf } from '@vcsuite/check';
3
3
  import { WindowSlot } from '../window/windowManager.js';
4
4
  import CollectionComponentClass from './collectionComponentClass.js';
5
5
  import { createListEditAction } from '../../actions/listActions.js';
6
+ import { categoryManagerWindowId } from '../../application/VcsApp.vue';
6
7
 
7
8
  /**
8
9
  * @typedef {Omit<import("../window/windowManager.js").WindowComponentOptions,"id"|"parentId"|"slot">} EditorWindowComponentOptions
@@ -62,12 +63,12 @@ export function makeEditorCollectionComponentClass(
62
63
  app,
63
64
  collectionComponent,
64
65
  editingOptions,
65
- parentId = 'category-manager',
66
+ parentId = categoryManagerWindowId,
66
67
  ) {
67
68
  check(collectionComponent, CollectionComponentClass);
68
- check(editingOptions.editor, [Object, Function]);
69
- checkMaybe(editingOptions.multiEditor, Object);
70
- checkMaybe(editingOptions.predicate, Function);
69
+ check(editingOptions.editor, oneOf(Object, Function));
70
+ check(editingOptions.multiEditor, maybe(Object));
71
+ check(editingOptions.predicate, maybe(Function));
71
72
 
72
73
  const editorCollectionComponent =
73
74
  /** @type {EditorCollectionComponentClass} */ collectionComponent;
@@ -1,6 +1,6 @@
1
1
  import { CesiumMap, BaseOLMap, VcsEvent } from '@vcmap/core';
2
2
  import { unByKey } from 'ol/Observable.js';
3
- import { check } from '@vcsuite/check';
3
+ import { check, oneOf } from '@vcsuite/check';
4
4
  import ContextMenuInteraction from './contextMenuInteraction.js';
5
5
  import { vcsAppSymbol } from '../../pluginHelper.js';
6
6
  import { validateAction } from '../../components/lists/VcsActionList.vue';
@@ -176,7 +176,7 @@ class ContextMenuManager {
176
176
  */
177
177
  addEventHandler(handler, owner) {
178
178
  check(handler, Function);
179
- check(owner, [String, vcsAppSymbol]);
179
+ check(owner, oneOf(String, vcsAppSymbol));
180
180
 
181
181
  this._ensureInteraction();
182
182
  this._eventHandlers.push({ owner, handler });
@@ -1,4 +1,4 @@
1
- import { check } from '@vcsuite/check';
1
+ import { check, ofEnum } from '@vcsuite/check';
2
2
  import ButtonManager, { sortByWeight } from './buttonManager.js';
3
3
  import { vcsAppSymbol } from '../pluginHelper.js';
4
4
 
@@ -89,7 +89,7 @@ class NavbarManager extends ButtonManager {
89
89
  * @returns {import("./buttonManager.js").ButtonComponent}
90
90
  */
91
91
  add(buttonComponentOptions, owner, location) {
92
- check(location, Object.values(ButtonLocation));
92
+ check(location, ofEnum(ButtonLocation));
93
93
  const buttonComponent = super.add(buttonComponentOptions, owner);
94
94
  buttonComponent[locationSymbol] = location;
95
95
  return buttonComponent;
@@ -18,20 +18,13 @@
18
18
  </template>
19
19
 
20
20
  <style scoped lang="scss">
21
- @import '../../styles/shades.scss';
22
-
23
21
  .panel-component {
24
22
  padding: 0 4px;
25
23
  }
26
- .panel-component.theme--dark::after {
27
- content: '';
28
- position: absolute;
29
- background: map-get($shades, 'black');
30
- }
31
- .panel-component.theme--light::after {
24
+ .panel-component::after {
32
25
  content: '';
33
26
  position: absolute;
34
- background: map-get($shades, 'white');
27
+ background: rgb(var(--v-theme-surface-light));
35
28
  }
36
29
 
37
30
  .panel-component-left::after {
@@ -143,17 +143,21 @@
143
143
  ((panelFrameRef.value.offsetTop + e.y) /
144
144
  panelFrameRef.value.parentElement.offsetHeight) *
145
145
  100;
146
- setPanelPosition(panel, { height: `${Math.round(100 - height)}%` });
146
+ setPanelPosition(panelManager, panel, {
147
+ height: `${Math.round(100 - height)}%`,
148
+ });
147
149
  } else {
148
150
  const width =
149
151
  ((panelFrameRef.value.offsetLeft + e.x) /
150
152
  panelFrameRef.value.parentElement.offsetWidth) *
151
153
  100;
152
154
  if (panel[panelLocationSymbol] === PanelLocation.LEFT) {
153
- setPanelPosition(panel, { width: `${width}%` });
155
+ setPanelPosition(panelManager, panel, { width: `${width}%` });
154
156
  resizeKey = 'left';
155
157
  } else if (panel[panelLocationSymbol] === PanelLocation.RIGHT) {
156
- setPanelPosition(panel, { width: `${Math.round(100 - width)}%` });
158
+ setPanelPosition(panelManager, panel, {
159
+ width: `${Math.round(100 - width)}%`,
160
+ });
157
161
  resizeKey = 'right';
158
162
  }
159
163
  }
@@ -239,7 +239,7 @@ export function updatePanelSizes(
239
239
  },
240
240
  targetSize,
241
241
  );
242
- setPanelPosition(leftPanel, updatedLeft);
242
+ setPanelPosition(panelManager, leftPanel, updatedLeft);
243
243
  }
244
244
  if (panelManager.hasLocation(PanelLocation.RIGHT) && resizeKey !== 'left') {
245
245
  const updatedRight = handleSidePanel(
@@ -252,7 +252,7 @@ export function updatePanelSizes(
252
252
  },
253
253
  targetSize,
254
254
  );
255
- setPanelPosition(rightPanel, updatedRight);
255
+ setPanelPosition(panelManager, rightPanel, updatedRight);
256
256
  }
257
257
 
258
258
  const main = percentageFromPanelOptions(
@@ -267,6 +267,6 @@ export function updatePanelSizes(
267
267
  return acc;
268
268
  }, {});
269
269
  if (Object.keys(toUpdate).length > 0) {
270
- setPanelPosition(mainPanel, toUpdate);
270
+ setPanelPosition(panelManager, mainPanel, toUpdate);
271
271
  }
272
272
  }
@@ -30,10 +30,11 @@
30
30
  */
31
31
  export function getPanelPosition(panelComponent: Partial<PanelComponent>): PanelPosition | undefined;
32
32
  /**
33
+ * @param {PanelManager} panelManager
33
34
  * @param {PanelComponent} panelComponent
34
35
  * @param {Partial<PanelPosition>} panelPosition
35
36
  */
36
- export function setPanelPosition(panelComponent: PanelComponent, panelPosition: Partial<PanelPosition>): void;
37
+ export function setPanelPosition(panelManager: PanelManager, panelComponent: PanelComponent, panelPosition: Partial<PanelPosition>): void;
37
38
  export const panelLocationSymbol: unique symbol;
38
39
  export const panelPositionSymbol: unique symbol;
39
40
  /**
@@ -249,6 +250,13 @@ declare class PanelManager implements IPanelManager {
249
250
  * @type {import("@vcmap/core").VcsEvent<PanelComponent>}
250
251
  */
251
252
  removed: import("@vcmap/core").VcsEvent<PanelComponent>;
253
+ /**
254
+ * @type {import("@vcmap/core").VcsEvent<{panelId: string, panelPosition: PanelPosition}>}
255
+ */
256
+ positionChanged: import("@vcmap/core").VcsEvent<{
257
+ panelId: string;
258
+ panelPosition: PanelPosition;
259
+ }>;
252
260
  /**
253
261
  * reactive ordered array of ids,
254
262
  * @type {import("vue").UnwrapRef<string[]>}
@@ -1,6 +1,6 @@
1
1
  import { reactive } from 'vue';
2
2
  import { VcsEvent } from '@vcmap/core';
3
- import { check } from '@vcsuite/check';
3
+ import { check, ofEnum, oneOf } from '@vcsuite/check';
4
4
  import { v4 as uuidv4 } from 'uuid';
5
5
  import { parseBoolean } from '@vcsuite/parsers';
6
6
  import { vcsAppSymbol } from '../../pluginHelper.js';
@@ -114,10 +114,11 @@ export function getPanelPosition(panelComponent) {
114
114
  }
115
115
 
116
116
  /**
117
+ * @param {PanelManager} panelManager
117
118
  * @param {PanelComponent} panelComponent
118
119
  * @param {Partial<PanelPosition>} panelPosition
119
120
  */
120
- export function setPanelPosition(panelComponent, panelPosition) {
121
+ export function setPanelPosition(panelManager, panelComponent, panelPosition) {
121
122
  const position = getPanelPosition(panelComponent);
122
123
  const toUpdate = Object.keys(panelPosition).reduce((acc, key) => {
123
124
  if (position?.[key] !== panelPosition[key]) {
@@ -126,7 +127,14 @@ export function setPanelPosition(panelComponent, panelPosition) {
126
127
  return acc;
127
128
  }, {});
128
129
  if (Object.keys(toUpdate).length > 0) {
129
- Object.assign(panelComponent[panelPositionSymbol], panelPosition);
130
+ const newPosition = Object.assign(
131
+ panelComponent[panelPositionSymbol],
132
+ panelPosition,
133
+ );
134
+ panelManager.positionChanged.raiseEvent({
135
+ panelId: panelComponent.id,
136
+ panelPosition: newPosition,
137
+ });
130
138
  }
131
139
  }
132
140
 
@@ -149,6 +157,10 @@ class PanelManager {
149
157
  * @type {import("@vcmap/core").VcsEvent<PanelComponent>}
150
158
  */
151
159
  this.removed = new VcsEvent();
160
+ /**
161
+ * @type {import("@vcmap/core").VcsEvent<{panelId: string, panelPosition: PanelPosition}>}
162
+ */
163
+ this.positionChanged = new VcsEvent();
152
164
  /**
153
165
  * reactive ordered array of ids,
154
166
  * @type {import("vue").UnwrapRef<string[]>}
@@ -266,7 +278,7 @@ class PanelManager {
266
278
  return acc;
267
279
  }, {});
268
280
  if (Object.keys(toUpdate).length > 0) {
269
- setPanelPosition(panelComponent, toUpdate);
281
+ setPanelPosition(this, panelComponent, toUpdate);
270
282
  }
271
283
  }
272
284
  }
@@ -279,8 +291,8 @@ class PanelManager {
279
291
  * @returns {PanelComponent}
280
292
  */
281
293
  add(panelComponentOptions, owner, location) {
282
- check(owner, [String, vcsAppSymbol]);
283
- check(location, Object.values(PanelLocation));
294
+ check(owner, oneOf(String, vcsAppSymbol));
295
+ check(location, ofEnum(PanelLocation));
284
296
 
285
297
  const id = panelComponentOptions.id || uuidv4();
286
298
  const { component, position: panelPosition } = panelComponentOptions;
@@ -13,7 +13,7 @@
13
13
  :icon="group.icon"
14
14
  :disabled="group.disabled"
15
15
  :tooltip="group.title"
16
- :active="open || hasActiveAction"
16
+ :active="hasActiveAction"
17
17
  :color="hasActiveAction ? 'primary' : ''"
18
18
  v-bind="props"
19
19
  >
@@ -23,11 +23,11 @@
23
23
 
24
24
  <v-toolbar
25
25
  id="vcs-toolbox-toolbar--secondary"
26
- class="mx-auto marginToTop px-1 rounded-b opacity-80 px-1"
27
- :height="40"
26
+ class="mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
27
+ :height="itemHeight + 8"
28
28
  >
29
29
  <v-toolbar-items class="w-100">
30
- <div class="d-flex align-center justify-space-between w-100">
30
+ <div class="d-flex align-center justify-space-between gc-1 w-100">
31
31
  <VcsToolButton
32
32
  v-for="{ id, action } in orderedButtons"
33
33
  :key="id"
@@ -54,6 +54,7 @@
54
54
  import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
55
55
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
56
56
  import { getComponentsByOrder } from './toolboxManager.js';
57
+ import { useItemHeight } from '../../vuePlugins/vuetify.js';
57
58
 
58
59
  /**
59
60
  * @description
@@ -94,10 +95,13 @@
94
95
  orderedButtons.value.some((a) => a.action.active),
95
96
  );
96
97
 
98
+ const itemHeight = useItemHeight();
99
+
97
100
  return {
98
101
  open,
99
102
  orderedButtons,
100
103
  hasActiveAction,
104
+ itemHeight,
101
105
  };
102
106
  },
103
107
  };
@@ -7,6 +7,7 @@ declare const _default: import("vue").DefineComponent<{
7
7
  open: import("vue").Ref<boolean>;
8
8
  orderedButtons: import("vue").ComputedRef<(import("../buttonManager.js", { with: { "resolution-mode": "import" } }).ButtonComponent | import("./toolboxManager.js", { with: { "resolution-mode": "import" } }).ToolboxComponent)[]>;
9
9
  hasActiveAction: import("vue").ComputedRef<boolean>;
10
+ itemHeight: import("vue").ComputedRef<number>;
10
11
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
12
  group: {
12
13
  type: ObjectConstructor;
@@ -28,7 +28,7 @@
28
28
  :tooltip="group.action.title"
29
29
  :disabled="group.action.disabled"
30
30
  v-bind="props"
31
- class="vcs-toolbox-action-select"
31
+ class="vcs-toolbox-action-select px-0"
32
32
  :min-width="16"
33
33
  :width="16"
34
34
  >
@@ -37,12 +37,12 @@
37
37
  </template>
38
38
 
39
39
  <v-toolbar
40
- class="vcs-toolbox-2 mx-auto marginToTop rounded-b opacity-80 px-1"
41
- :height="40"
40
+ class="vcs-toolbox-2 mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
41
+ :height="itemHeight + 8"
42
42
  dense
43
43
  >
44
44
  <v-toolbar-items class="w-100">
45
- <div class="d-flex align-center justify-space-between w-100">
45
+ <div class="d-flex align-center justify-space-between gc-1 w-100">
46
46
  <VcsToolButton
47
47
  v-for="(item, index) in group.action.tools"
48
48
  :key="`${item.name}-${index}`"
@@ -67,6 +67,7 @@
67
67
  import { ref } from 'vue';
68
68
  import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
69
69
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
70
+ import { useItemHeight } from '../../vuePlugins/vuetify.js';
70
71
 
71
72
  /**
72
73
  * @description
@@ -90,9 +91,11 @@
90
91
  },
91
92
  setup() {
92
93
  const open = ref(false);
94
+ const itemHeight = useItemHeight();
93
95
 
94
96
  return {
95
97
  open,
98
+ itemHeight,
96
99
  };
97
100
  },
98
101
  };
@@ -5,6 +5,7 @@ declare const _default: import("vue").DefineComponent<{
5
5
  };
6
6
  }, {
7
7
  open: import("vue").Ref<boolean>;
8
+ itemHeight: import("vue").ComputedRef<number>;
8
9
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
10
  group: {
10
11
  type: ObjectConstructor;
@@ -1,14 +1,13 @@
1
1
  <template>
2
2
  <v-toolbar
3
3
  v-if="toolboxOpen && orderedGroups.length > 0 && mdAndUp"
4
- class="vcs-toolbox mx-auto marginToTop opacity-80"
4
+ class="vcs-toolbox mx-auto elevation-4 opacity-80"
5
5
  :class="{
6
6
  'rounded-b': !open,
7
7
  }"
8
- :height="40"
8
+ :height="itemHeight + 8"
9
9
  :style="{ zIndex }"
10
10
  @click.stop="bringToTop"
11
- style="width: fit-content"
12
11
  >
13
12
  <v-toolbar-items class="w-100 px-4 gc-1">
14
13
  <div
@@ -42,8 +41,9 @@
42
41
  </template>
43
42
 
44
43
  <style lang="scss" scoped>
45
- .marginToTop {
44
+ .vcs-toolbox {
46
45
  margin-top: 2px;
46
+ width: fit-content;
47
47
  }
48
48
  </style>
49
49
 
@@ -61,6 +61,7 @@
61
61
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
62
62
  import { vcsAppSymbol } from '../../pluginHelper.js';
63
63
  import { ButtonLocation } from '../navbarManager.js';
64
+ import { useItemHeight } from '../../vuePlugins/vuetify.js';
64
65
 
65
66
  /**
66
67
  * @typedef {Object} ToolboxButtonGroup
@@ -163,12 +164,12 @@
163
164
  }
164
165
  handleToolboxButton();
165
166
 
166
- const stopWatching = watch(groups, () => handleToolboxButton());
167
+ watch(groups, () => handleToolboxButton());
167
168
 
168
169
  onUnmounted(() => {
169
- stopWatching();
170
170
  nameChangeListener();
171
171
  app.windowManager.removeExternalIdFromZIndex('toolbox');
172
+ app.navbarManager.remove('toolbox');
172
173
  });
173
174
 
174
175
  watch(toolboxOpen, () => {
@@ -183,6 +184,7 @@
183
184
  };
184
185
 
185
186
  const { mdAndUp } = useDisplay();
187
+ const itemHeight = useItemHeight();
186
188
  return {
187
189
  mdAndUp,
188
190
  toolboxOpen,
@@ -200,6 +202,7 @@
200
202
  bringToTop();
201
203
  }
202
204
  },
205
+ itemHeight,
203
206
  };
204
207
  },
205
208
  };
@@ -12,6 +12,7 @@ declare const _default: import("vue").DefineComponent<{}, {
12
12
  open: import("vue").Ref<boolean>;
13
13
  bringToTop: () => void;
14
14
  openGroup(group: any): void;
15
+ itemHeight: import("vue").ComputedRef<number>;
15
16
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
16
17
  export default _default;
17
18
  export type ToolboxButtonGroup = {
@@ -1,5 +1,5 @@
1
1
  import { VcsEvent } from '@vcmap/core';
2
- import { check, checkMaybe } from '@vcsuite/check';
2
+ import { check, maybe, ofEnum, oneOf, optional } from '@vcsuite/check';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
4
  import { reactive, shallowReactive } from 'vue';
5
5
  import { vcsAppSymbol } from '../../pluginHelper.js';
@@ -230,7 +230,7 @@ class ToolboxManager {
230
230
  }
231
231
 
232
232
  set toolboxName(name) {
233
- check(name, [String, defaultToolboxName]);
233
+ check(name, oneOf(String, defaultToolboxName));
234
234
 
235
235
  if (this._toolboxName !== name) {
236
236
  this._toolboxName = name;
@@ -285,9 +285,9 @@ class ToolboxManager {
285
285
  * @returns {SingleToolboxComponent|SelectToolboxComponent|import("vue").ShallowReactive<GroupToolboxComponent>}
286
286
  */
287
287
  add(toolboxComponentOptions, owner) {
288
- checkMaybe(toolboxComponentOptions.id, String);
289
- check(toolboxComponentOptions.type, Object.values(ToolboxType));
290
- check(owner, [String, vcsAppSymbol]);
288
+ check(toolboxComponentOptions.id, maybe(String));
289
+ check(toolboxComponentOptions.type, ofEnum(ToolboxType));
290
+ check(owner, oneOf(String, vcsAppSymbol));
291
291
 
292
292
  if (toolboxComponentOptions.id && this.has(toolboxComponentOptions.id)) {
293
293
  throw new Error(
@@ -335,13 +335,13 @@ class ToolboxManager {
335
335
  ...ActionPattern,
336
336
  selected: Function,
337
337
  currentIndex: Number,
338
- disabled: [undefined, Boolean],
338
+ disabled: optional(Boolean),
339
339
  tools: [
340
340
  {
341
341
  name: String,
342
- title: [undefined, String],
342
+ title: optional(String),
343
343
  icon: String,
344
- disabled: [undefined, Boolean],
344
+ disabled: optional(Boolean),
345
345
  },
346
346
  ],
347
347
  });
@@ -357,8 +357,8 @@ class ToolboxManager {
357
357
  };
358
358
  } else {
359
359
  check(toolboxComponentOptions.icon, String);
360
- checkMaybe(toolboxComponentOptions.title, String);
361
- checkMaybe(toolboxComponentOptions.disabled, Boolean);
360
+ check(toolboxComponentOptions.title, maybe(String));
361
+ check(toolboxComponentOptions.disabled, maybe(Boolean));
362
362
  const {
363
363
  icon,
364
364
  title = undefined,
@@ -9,8 +9,8 @@
9
9
  :class="{
10
10
  rounded: !isDocked,
11
11
  marginToTop: isDocked || !isChild,
12
- 'rounded-br': isDynamicLeft,
13
- 'rounded-bl': isDynamicRight,
12
+ 'rounded-be': isDynamicLeft,
13
+ 'rounded-bs': isDynamicRight,
14
14
  }"
15
15
  >
16
16
  <div
@@ -89,17 +89,21 @@
89
89
  });
90
90
 
91
91
  const isChild = computed(() => !!props.windowState.parentId);
92
- const isDynamic = computed(() => props.slotWindow !== WindowSlot.STATIC);
93
- const isDocked = computed(() => props.slotWindow !== WindowSlot.DETACHED);
92
+ const isDynamic = computed(
93
+ () => props.slotWindow.value !== WindowSlot.STATIC,
94
+ );
95
+ const isDocked = computed(
96
+ () => props.slotWindow.value !== WindowSlot.DETACHED,
97
+ );
94
98
  const isDockedLeft = computed(() => {
95
99
  return (
96
- props.slotWindow === WindowSlot.STATIC ||
97
- props.slotWindow === WindowSlot.DYNAMIC_LEFT ||
98
- props.slotWindow === WindowSlot.DYNAMIC_CHILD
100
+ props.slotWindow.value === WindowSlot.STATIC ||
101
+ props.slotWindow.value === WindowSlot.DYNAMIC_LEFT ||
102
+ props.slotWindow.value === WindowSlot.DYNAMIC_CHILD
99
103
  );
100
104
  });
101
105
  const isDockedRight = computed(
102
- () => props.slotWindow === WindowSlot.DYNAMIC_RIGHT,
106
+ () => props.slotWindow.value === WindowSlot.DYNAMIC_RIGHT,
103
107
  );
104
108
  const isDraggable = ref(false);
105
109
  /**