@vcmap/ui 6.0.0-rc.3 → 6.0.0-rc.6

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 (235) hide show
  1. package/build/buildHelpers.js +60 -11
  2. package/build/buildTypes.js +9 -5
  3. package/build/bundle.js +1 -1
  4. package/build/info/publish.js +25 -31
  5. package/build/lintTypes.js +5 -0
  6. package/config/base.config.json +2 -7
  7. package/config/dev.config.json +11 -1
  8. package/config/projects.config.json +2 -1
  9. package/config/theming.config.json +68 -0
  10. package/config/www.config.json +27 -23
  11. package/dist/assets/@mdi/font/css/{materialdesignicons.min-7a4f6be0.css → materialdesignicons.min-680621ca.css} +1 -1
  12. package/dist/assets/{cesium-cb4dbfba.js → cesium-ccb4cc30.js} +272 -385
  13. package/dist/assets/cesium.js +1 -1
  14. package/dist/assets/{core-72f21835.js → core-e06aa7a6.js} +2313 -2321
  15. package/dist/assets/core.js +1 -1
  16. package/dist/assets/{ol-2d33bc8b.js → ol-e7981d5c.js} +233 -329
  17. package/dist/assets/ol.js +1 -1
  18. package/dist/assets/ui-5dda32d2.css +1 -0
  19. package/dist/assets/{ui-2ab43a16.js → ui-5dda32d2.js} +11344 -11078
  20. package/dist/assets/ui.js +1 -1
  21. package/dist/assets/vue-87bc6efe.js +6083 -0
  22. package/dist/assets/vue.js +1 -1
  23. package/dist/assets/{vuetify-760ced3b.css → vuetify-4c4e4217.css} +2 -2
  24. package/dist/assets/{vuetify-760ced3b.js → vuetify-4c4e4217.js} +8063 -8262
  25. package/dist/assets/vuetify.js +1 -1
  26. package/index.d.ts +27 -17
  27. package/index.js +16 -8
  28. package/package.json +17 -17
  29. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  30. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  31. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  32. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  33. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  34. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  35. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -3
  36. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
  37. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
  38. package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
  39. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
  40. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  41. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  42. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  43. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  44. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  45. package/plugins/package.json +7 -23
  46. package/public/assets/@mdi/font/css/materialdesignicons.min.css +1 -1
  47. package/src/actions/StyleSelector.vue +1 -1
  48. package/src/actions/actionHelper.d.ts +4 -11
  49. package/src/actions/actionHelper.js +15 -7
  50. package/src/actions/listActions.d.ts +5 -5
  51. package/src/actions/listActions.js +2 -2
  52. package/src/application/VcsApp.vue +113 -50
  53. package/src/application/VcsApp.vue.d.ts +301 -4
  54. package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
  55. package/src/application/VcsContainer.vue +27 -10
  56. package/src/application/VcsContainer.vue.d.ts +241 -0
  57. package/src/application/VcsMainMap.vue +7 -7
  58. package/src/application/VcsMainMap.vue.d.ts +2 -2
  59. package/src/application/VcsNavbar.vue +14 -2
  60. package/src/application/VcsNavbar.vue.d.ts +1 -0
  61. package/src/application/VcsSplashScreen.vue +33 -26
  62. package/src/application/VcsTextPageFooter.vue +2 -1
  63. package/src/application/attributionsHelper.d.ts +20 -22
  64. package/src/application/attributionsHelper.js +4 -4
  65. package/src/callback/vcsCallback.d.ts +2 -2
  66. package/src/callback/vcsCallback.js +1 -1
  67. package/src/components/buttons/VcsActionButtonList.vue +61 -6
  68. package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
  69. package/src/components/buttons/VcsButton.vue +2 -4
  70. package/src/components/buttons/VcsButton.vue.d.ts +1 -1
  71. package/src/components/buttons/VcsFormButton.vue +4 -4
  72. package/src/components/buttons/VcsToolButton.vue +4 -2
  73. package/src/components/buttons/VcsToolButton.vue.d.ts +2 -2
  74. package/src/components/composables.d.ts +5 -0
  75. package/src/components/composables.js +79 -9
  76. package/src/components/extent/VcsExtent.vue +10 -6
  77. package/src/components/extent/VcsExtent.vue.d.ts +1 -0
  78. package/src/components/flight/VcsFlightComponent.vue +13 -13
  79. package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
  80. package/src/components/form-inputs-controls/VcsCheckbox.vue +8 -3
  81. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +13 -16
  82. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +2 -4
  83. package/src/components/form-inputs-controls/VcsCoordinate.vue +4 -4
  84. package/src/components/form-inputs-controls/VcsFileInput.vue +1 -1
  85. package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
  86. package/src/components/form-inputs-controls/VcsRadio.vue +8 -6
  87. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
  88. package/src/components/form-inputs-controls/VcsSelect.vue +2 -5
  89. package/src/components/form-inputs-controls/VcsSlider.vue +5 -6
  90. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -4
  91. package/src/components/form-inputs-controls/VcsTextArea.vue +2 -5
  92. package/src/components/form-inputs-controls/VcsTextField.vue +24 -1
  93. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +11 -1
  94. package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
  95. package/src/components/form-inputs-controls/VcsWizardStep.vue +6 -5
  96. package/src/components/form-inputs-controls/vcsTextField.scss +8 -5
  97. package/src/components/form-output/VcsFormattedNumber.vue +7 -5
  98. package/src/components/form-output/VcsMarkdown.vue +15 -12
  99. package/src/components/form-output/VcsMarkdown.vue.d.ts +1 -0
  100. package/src/components/form-output/markdownHelper.d.ts +30 -0
  101. package/src/components/form-output/markdownHelper.js +398 -0
  102. package/src/components/import/VcsFileDrop.vue +8 -5
  103. package/src/components/import/VcsImportComponent.vue +8 -4
  104. package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
  105. package/src/components/lists/VcsActionList.vue +6 -6
  106. package/src/components/lists/VcsList.vue +22 -37
  107. package/src/components/lists/VcsList.vue.d.ts +14 -55
  108. package/src/components/lists/{VcsListItem.vue → VcsListItemComponent.vue} +37 -11
  109. package/src/components/lists/VcsListItemComponent.vue.d.ts +79 -0
  110. package/src/components/lists/VcsTreeview.vue +95 -26
  111. package/src/components/lists/VcsTreeview.vue.d.ts +16 -3
  112. package/src/components/lists/VcsTreeviewSearchbar.vue +16 -5
  113. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
  114. package/src/components/lists/VcsTreeviewTitle.vue +36 -0
  115. package/src/components/modelHelper.d.ts +10 -8
  116. package/src/components/modelHelper.js +8 -6
  117. package/src/components/notification/VcsHelp.vue +6 -7
  118. package/src/components/notification/VcsHelp.vue.d.ts +0 -8
  119. package/src/components/plugins/AbstractConfigEditor.vue +1 -22
  120. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
  121. package/src/components/section/VcsExpansionPanel.vue +9 -3
  122. package/src/components/section/VcsExpansionPanel.vue.d.ts +2 -2
  123. package/src/components/section/VcsFormSection.vue +13 -7
  124. package/src/components/section/VcsFormSection.vue.d.ts +2 -3
  125. package/src/components/style/VcsImageSelector.vue +14 -6
  126. package/src/components/style/VcsImageSelector.vue.d.ts +1 -0
  127. package/src/components/style/VcsStrokeSelector.vue +5 -2
  128. package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
  129. package/src/components/style/VcsTextMenu.vue +3 -3
  130. package/src/components/style/VcsVectorStyleComponent.vue +1 -1
  131. package/src/components/tables/VcsDataTable.vue +42 -32
  132. package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
  133. package/src/components/tables/VcsTable.vue +45 -62
  134. package/src/components/tables/VcsTable.vue.d.ts +30 -17
  135. package/src/components/tables/VcsTableCell.vue +72 -0
  136. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  137. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +6 -5
  138. package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -0
  139. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +42 -31
  140. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +1 -0
  141. package/src/components/viewpoint/VcsViewpointComponent.vue +14 -11
  142. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
  143. package/src/components/viewpoint/VcsViewpointEditor.vue +2 -2
  144. package/src/contentTree/LayerTree.vue +9 -27
  145. package/src/contentTree/LayerTree.vue.d.ts +1 -1
  146. package/src/contentTree/contentTreeCollection.d.ts +1 -0
  147. package/src/contentTree/contentTreeCollection.js +45 -11
  148. package/src/contentTree/contentTreeItem.d.ts +2 -2
  149. package/src/contentTree/contentTreeItem.js +1 -1
  150. package/src/featureInfo/BalloonComponent.vue +32 -25
  151. package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
  152. package/src/featureInfo/MarkdownBalloonComponent.vue +4 -2
  153. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  154. package/src/featureInfo/abstractFeatureInfoView.d.ts +10 -4
  155. package/src/featureInfo/abstractFeatureInfoView.js +19 -11
  156. package/src/featureInfo/featureInfo.d.ts +7 -7
  157. package/src/featureInfo/featureInfo.js +51 -31
  158. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  159. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  160. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  161. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  162. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  163. package/src/featureInfo/markdownFeatureInfoView.js +9 -11
  164. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  165. package/src/i18n/i18nCollection.d.ts +9 -15
  166. package/src/i18n/i18nCollection.js +3 -3
  167. package/src/legend/VcsLegend.vue +6 -2
  168. package/src/legend/VcsLegend.vue.d.ts +1 -0
  169. package/src/manager/collectionManager/CollectionComponentList.vue +2 -2
  170. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +2 -2
  171. package/src/manager/collectionManager/categoryManager.d.ts +1 -1
  172. package/src/manager/collectionManager/collectionComponentClass.d.ts +3 -3
  173. package/src/manager/collectionManager/collectionComponentClass.js +6 -6
  174. package/src/manager/collectionManager/collectionManager.d.ts +1 -1
  175. package/src/manager/collectionManager/editorCollectionComponentClass.js +2 -1
  176. package/src/manager/panel/PanelComponent.vue +2 -9
  177. package/src/manager/panel/PanelManagerComponent.vue +7 -3
  178. package/src/manager/panel/panelHelper.js +3 -3
  179. package/src/manager/panel/panelManager.d.ts +9 -1
  180. package/src/manager/panel/panelManager.js +15 -3
  181. package/src/manager/toolbox/GroupToolboxComponent.vue +11 -5
  182. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  183. package/src/manager/toolbox/SelectToolboxComponent.vue +11 -6
  184. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  185. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +13 -7
  186. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -0
  187. package/src/manager/window/WindowComponent.vue +12 -8
  188. package/src/manager/window/WindowComponentHeader.vue +33 -9
  189. package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -0
  190. package/src/manager/window/WindowManager.vue +2 -2
  191. package/src/manager/window/windowManager.d.ts +6 -6
  192. package/src/manager/window/windowManager.js +3 -3
  193. package/src/navigation/MapNavigation.vue +20 -0
  194. package/src/navigation/OrientationToolsButton.vue +2 -4
  195. package/src/navigation/TiltSlider.vue +3 -5
  196. package/src/navigation/locatorHelper.js +1 -1
  197. package/src/navigation/overviewMap.js +1 -1
  198. package/src/notifier/NotifierComponent.vue +18 -15
  199. package/src/search/ResultItem.vue +18 -6
  200. package/src/search/ResultsComponent.vue +31 -20
  201. package/src/search/ResultsComponent.vue.d.ts +2 -1
  202. package/src/search/SearchComponent.vue +11 -15
  203. package/src/search/SearchComponent.vue.d.ts +1 -0
  204. package/src/siteConfig.js +8 -8
  205. package/src/styles/_typography.scss +0 -2
  206. package/src/styles/main.scss +0 -4
  207. package/src/styles/vcsList.scss +1 -1
  208. package/src/uiConfig.d.ts +311 -7
  209. package/src/uiConfig.js +30 -17
  210. package/src/vcsUiApp.d.ts +48 -63
  211. package/src/vcsUiApp.js +44 -37
  212. package/src/vuePlugins/vuetify.d.ts +88 -62
  213. package/src/vuePlugins/vuetify.js +119 -20
  214. package/dist/assets/ui-2ab43a16.css +0 -1
  215. package/dist/assets/vue-03b265aa.js +0 -6096
  216. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  217. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  218. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  219. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  220. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  221. package/src/application/markdownHelper.d.ts +0 -12
  222. package/src/application/markdownHelper.js +0 -70
  223. package/src/components/lists/VcsListItem.vue.d.ts +0 -27
  224. package/src/components/lists/VcsTreeviewLeaf.vue +0 -83
  225. package/src/components/notification/VcsTooltip.vue +0 -156
  226. package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
  227. package/src/featureInfo/MarkdownComponent.vue +0 -16
  228. package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
  229. package/src/styles/_theming.scss +0 -73
  230. package/src/styles/settings.scss +0 -6
  231. package/src/styles/shades.scss +0 -4
  232. package/src/styles/variables.scss +0 -140
  233. package/src/styles/vcsFont.scss +0 -2
  234. package/src/styles/vcsGrid.scss +0 -3
  235. /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -1,3 +1,11 @@
1
+ /**
2
+ * This helper checks the uiConfig and depending on the value will setup/teardown the providedSetupFunction
3
+ * @param {import("../vcsUiApp.js").default} app
4
+ * @param {(import("../vcsUiApp.js").default) => () => void} setupFunction
5
+ * @param {string} configOption parameter name of a uiConfig parameter, for example `app.uiConfig.config.hideContentTree`
6
+ * @returns {function():void} - cleanup function
7
+ */
8
+ export function setupUIConfigDependency(app: import("../vcsUiApp.js").default, setupFunction: any, configOption: string): () => void;
1
9
  /**
2
10
  * You should call this function in the component providing the vcsUiApp to your
3
11
  * application in the components mounted hook. This will call VcsAppMounted on all plugins in the app
@@ -10,6 +18,7 @@ export function setupPluginMountedListeners(app: import("../vcsUiApp.js").defaul
10
18
  /**
11
19
  * This helper function will add a map action button based on the default icons
12
20
  * to the apps NavbarManager. Furthermore, all maps on the app are synced for adding and removing.
21
+ * The buttons can be removed with the uiConfig hideMapButtons
13
22
  * @param {import("../vcsUiApp.js").default} app
14
23
  * @returns {function():void}
15
24
  */
@@ -65,31 +74,319 @@ export function setupAttributions(app: import("../vcsUiApp.js").default): {
65
74
  attributionAction: import("../actions/actionHelper.js").VcsAction;
66
75
  destroyAttributions: () => void;
67
76
  };
77
+ /**
78
+ * @type {string}
79
+ */
80
+ export const categoryManagerWindowId: string;
68
81
  declare const _default: import("vue").DefineComponent<{
69
82
  appId: {
70
83
  type: StringConstructor;
71
84
  required: true;
72
85
  };
73
86
  }, {
74
- smAndUp: import("vue").Ref<boolean>;
87
+ config: {
88
+ readonly [x: string]: any;
89
+ /**
90
+ * - the company logo to display. this will override any and all css overrides.
91
+ */
92
+ readonly logo?: string | undefined;
93
+ /**
94
+ * - an alternative logo to display in mobile view
95
+ */
96
+ readonly mobileLogo?: string | undefined;
97
+ /**
98
+ * - an optional title to display next to the company logo
99
+ */
100
+ readonly appTitle?: string | undefined;
101
+ /**
102
+ * - an optional primary color to use in all themes, can be overwritten by `vuetifyTheme`
103
+ */
104
+ readonly primaryColor?: string | undefined;
105
+ /**
106
+ * - an optional flag whether to activate feature info on startup (default active)
107
+ */
108
+ readonly startingFeatureInfo?: boolean | undefined;
109
+ /**
110
+ * - mouse event, when position display is updated. Either 'click' (default) or 'move'.
111
+ */
112
+ readonly positionDisplayEventType?: string | undefined;
113
+ /**
114
+ * - an optional URL to a help landing page
115
+ */
116
+ readonly helpBaseUrl?: string | undefined;
117
+ /**
118
+ * - an option imprint, will show a link in the footer. Default title is 'footer.imprint.title'.
119
+ */
120
+ readonly imprint?: {
121
+ readonly title?: string | undefined;
122
+ readonly url?: string | {
123
+ readonly hash: string;
124
+ readonly host: string;
125
+ readonly hostname: string;
126
+ readonly href: string;
127
+ readonly toString: () => string;
128
+ readonly origin: string;
129
+ readonly password: string;
130
+ readonly pathname: string;
131
+ readonly port: string;
132
+ readonly protocol: string;
133
+ readonly search: string;
134
+ readonly searchParams: ReadonlyMap<string, string | null>;
135
+ readonly username: string;
136
+ readonly toJSON: () => string;
137
+ } | undefined;
138
+ readonly content?: string | undefined;
139
+ } | undefined;
140
+ /**
141
+ * - an option dataProtection, will show a link in the footer. Default title is 'footer.dataProtection.title'.
142
+ */
143
+ readonly dataProtection?: {
144
+ readonly title?: string | undefined;
145
+ readonly url?: string | {
146
+ readonly hash: string;
147
+ readonly host: string;
148
+ readonly hostname: string;
149
+ readonly href: string;
150
+ readonly toString: () => string;
151
+ readonly origin: string;
152
+ readonly password: string;
153
+ readonly pathname: string;
154
+ readonly port: string;
155
+ readonly protocol: string;
156
+ readonly search: string;
157
+ readonly searchParams: ReadonlyMap<string, string | null>;
158
+ readonly username: string;
159
+ readonly toJSON: () => string;
160
+ } | undefined;
161
+ readonly content?: string | undefined;
162
+ } | undefined;
163
+ /**
164
+ * - an option splashScreen, will show a splash Screen on Map Load.
165
+ */
166
+ readonly splashScreen?: {
167
+ readonly title?: string | undefined;
168
+ readonly icon?: string | undefined;
169
+ readonly content?: string | undefined;
170
+ readonly name?: string | undefined;
171
+ readonly checkBoxText?: string | undefined;
172
+ readonly buttonTitle?: string | undefined;
173
+ readonly menuEntry?: boolean | undefined;
174
+ readonly acceptInput?: boolean | undefined;
175
+ readonly position?: {
176
+ readonly width?: string | undefined;
177
+ readonly height?: string | undefined;
178
+ readonly maxHeight?: string | undefined;
179
+ readonly maxWidth?: string | undefined;
180
+ } | undefined;
181
+ } | undefined;
182
+ /**
183
+ * - an option customScreen, will show a Custom Menu Point that opens a window with custom content.
184
+ */
185
+ readonly customScreen?: {
186
+ readonly title?: string | undefined;
187
+ readonly icon?: string | undefined;
188
+ readonly content?: string | undefined;
189
+ readonly name?: string | undefined;
190
+ readonly windowPosition?: {
191
+ /**
192
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
193
+ */
194
+ readonly left?: string | number | undefined;
195
+ /**
196
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
197
+ */
198
+ readonly top?: string | number | undefined;
199
+ /**
200
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
201
+ */
202
+ readonly right?: string | number | undefined;
203
+ /**
204
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
205
+ */
206
+ readonly bottom?: string | number | undefined;
207
+ /**
208
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
209
+ */
210
+ readonly width?: string | number | undefined;
211
+ /**
212
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
213
+ */
214
+ readonly height?: string | number | undefined;
215
+ /**
216
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
217
+ */
218
+ readonly maxHeight?: string | number | undefined;
219
+ /**
220
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
221
+ */
222
+ readonly maxWidth?: string | number | undefined;
223
+ /**
224
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
225
+ */
226
+ readonly minHeight?: string | number | undefined;
227
+ /**
228
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
229
+ */
230
+ readonly minWidth?: string | number | undefined;
231
+ } | undefined;
232
+ } | undefined;
233
+ /**
234
+ * - the favicon to set
235
+ */
236
+ readonly favicon?: string | undefined;
237
+ /**
238
+ * - the title to display in the tab of the browser
239
+ */
240
+ readonly headerTitle?: string | undefined;
241
+ /**
242
+ * - an optional flag whether to show the Locator in the map.
243
+ */
244
+ readonly showLocator?: boolean | undefined;
245
+ /**
246
+ * - can be used to hide the default Header of the map
247
+ */
248
+ readonly hideHeader?: boolean | undefined;
249
+ /**
250
+ * - can be used to hide the integrated Search bar
251
+ */
252
+ readonly hideSearch?: boolean | undefined;
253
+ /**
254
+ * - can be used to hide the default Map Buttons
255
+ */
256
+ readonly hideMapButtons?: boolean | undefined;
257
+ /**
258
+ * - can be used to hide the toolbox
259
+ */
260
+ readonly hideToolbox?: boolean | undefined;
261
+ /**
262
+ * - can be used to hide the navigation
263
+ */
264
+ readonly hideMapNavigation?: boolean | undefined;
265
+ /**
266
+ * - can be used to hide the footer
267
+ */
268
+ readonly hideFooter?: boolean | undefined;
269
+ /**
270
+ * - can be used to hide the myWorkspace button
271
+ */
272
+ readonly hideMyWorkspace?: boolean | undefined;
273
+ /**
274
+ * - can be used to hide the contentTree
275
+ */
276
+ readonly hideContentTree?: boolean | undefined;
277
+ /**
278
+ * - can be used to hide the legend
279
+ */
280
+ readonly hideLegend?: boolean | undefined;
281
+ /**
282
+ * - can be used to hide the settings Window
283
+ */
284
+ readonly hideSettings?: boolean | undefined;
285
+ /**
286
+ * - can be used to activate the overviewMap on startup
287
+ */
288
+ readonly overviewMapActiveOnStartup?: boolean | undefined;
289
+ /**
290
+ * - the display quality settings
291
+ */
292
+ readonly displayQuality?: {
293
+ readonly startingQualityLevel?: import("@vcmap/core", { with: { "resolution-mode": "import" } }).DisplayQualityLevel | undefined;
294
+ readonly startingMobileQualityLevel?: import("@vcmap/core", { with: { "resolution-mode": "import" } }).DisplayQualityLevel | undefined;
295
+ readonly low?: {
296
+ readonly sse?: number | undefined;
297
+ readonly fxaa?: boolean | undefined;
298
+ readonly fogEnabled?: boolean | undefined;
299
+ readonly fogDensity?: number | undefined;
300
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
301
+ readonly resolutionScale?: number | undefined;
302
+ readonly layerSSEFactor?: number | undefined;
303
+ } | undefined;
304
+ readonly medium?: {
305
+ readonly sse?: number | undefined;
306
+ readonly fxaa?: boolean | undefined;
307
+ readonly fogEnabled?: boolean | undefined;
308
+ readonly fogDensity?: number | undefined;
309
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
310
+ readonly resolutionScale?: number | undefined;
311
+ readonly layerSSEFactor?: number | undefined;
312
+ } | undefined;
313
+ readonly high?: {
314
+ readonly sse?: number | undefined;
315
+ readonly fxaa?: boolean | undefined;
316
+ readonly fogEnabled?: boolean | undefined;
317
+ readonly fogDensity?: number | undefined;
318
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
319
+ readonly resolutionScale?: number | undefined;
320
+ readonly layerSSEFactor?: number | undefined;
321
+ } | undefined;
322
+ } | undefined;
323
+ /**
324
+ * - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
325
+ */
326
+ readonly vuetifyTheme?: any;
327
+ };
328
+ showFooter: import("vue").ComputedRef<boolean>;
75
329
  footerHeight: import("vue").ComputedRef<number>;
76
330
  mobileLogo: import("vue").ComputedRef<any>;
77
331
  imprint: import("vue").ComputedRef<{
78
332
  title: string;
333
+ url?: string | {
334
+ readonly hash: string;
335
+ readonly host: string;
336
+ readonly hostname: string;
337
+ readonly href: string;
338
+ readonly toString: () => string;
339
+ readonly origin: string;
340
+ readonly password: string;
341
+ readonly pathname: string;
342
+ readonly port: string;
343
+ readonly protocol: string;
344
+ readonly search: string;
345
+ readonly searchParams: ReadonlyMap<string, string | null>;
346
+ readonly username: string;
347
+ readonly toJSON: () => string;
348
+ } | undefined;
349
+ content?: string | undefined;
79
350
  tooltip: string;
80
351
  } | undefined>;
81
352
  dataProtection: import("vue").ComputedRef<{
82
353
  title: string;
354
+ url?: string | {
355
+ readonly hash: string;
356
+ readonly host: string;
357
+ readonly hostname: string;
358
+ readonly href: string;
359
+ readonly toString: () => string;
360
+ readonly origin: string;
361
+ readonly password: string;
362
+ readonly pathname: string;
363
+ readonly port: string;
364
+ readonly protocol: string;
365
+ readonly search: string;
366
+ readonly searchParams: ReadonlyMap<string, string | null>;
367
+ readonly username: string;
368
+ readonly toJSON: () => string;
369
+ } | undefined;
370
+ content?: string | undefined;
83
371
  tooltip: string;
84
372
  } | undefined>;
85
373
  splashScreenRef: import("vue").Ref<boolean>;
86
374
  splashScreen: import("vue").ComputedRef<{
87
375
  title: string;
88
- tooltip: string;
376
+ icon?: string | undefined;
377
+ content?: string | undefined;
378
+ name?: string | undefined;
379
+ checkBoxText?: string | undefined;
380
+ buttonTitle?: string | undefined;
381
+ menuEntry?: boolean | undefined;
382
+ acceptInput?: boolean | undefined;
89
383
  position: {
90
- width: string;
91
- height: string;
384
+ readonly width?: string | undefined;
385
+ readonly height?: string | undefined;
386
+ readonly maxHeight?: string | undefined;
387
+ readonly maxWidth?: string | undefined;
92
388
  };
389
+ tooltip: string;
93
390
  } | undefined>;
94
391
  attributionEntries: import("vue").Ref<import("./attributionsHelper.js", { with: { "resolution-mode": "import" } }).AttributionEntry[]>;
95
392
  attributionAction: import("../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).VcsAction;
@@ -11,7 +11,7 @@ declare const _default: import("vue").DefineComponent<{
11
11
  mergedAttributions: import("vue").ComputedRef<{
12
12
  provider: string;
13
13
  years: string;
14
- url: URL;
14
+ url: string;
15
15
  }[]>;
16
16
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
17
  entries: {
@@ -1,7 +1,12 @@
1
1
  <template>
2
2
  <v-container
3
3
  class="vcs-container pa-0"
4
- :class="{ 'vcs-container-xs': xs }"
4
+ :class="{
5
+ 'vcs-container-xs': xs,
6
+ 'with-header': !config.hideHeader,
7
+ 'without-header': config.hideHeader,
8
+ 'without-footer': config.hideFooter,
9
+ }"
5
10
  fluid
6
11
  absolute
7
12
  style="background: #1b5e20"
@@ -25,25 +30,37 @@
25
30
  class="z-index-1 mobile-attribution-btn"
26
31
  /-->
27
32
  <PanelManagerComponent />
28
- <ToolboxManagerComponent />
33
+ <ToolboxManagerComponent v-if="!config.hideToolbox" />
29
34
  <WindowManagerComponent />
30
35
  <NotifierComponent />
31
36
  </v-container>
32
37
  </template>
33
38
 
34
39
  <style scoped lang="scss">
40
+ .without-header {
41
+ top: 0px;
42
+ }
43
+ .with-header {
44
+ top: calc(var(--v-vcs-font-size) * 3 + 9px);
45
+ }
35
46
  .vcs-container {
36
47
  position: absolute;
37
- top: 48px;
38
48
  left: 0;
39
49
  right: 0;
40
- bottom: 22px;
50
+ bottom: round(up, calc(var(--v-vcs-font-size) * 1.65), 1px);
51
+ }
52
+ .vcs-container.without-footer {
53
+ bottom: 0;
41
54
  }
42
55
 
43
- .vcs-container-xs {
56
+ .vcs-container-xs.with-header {
44
57
  top: 0;
45
58
  bottom: 56px;
46
59
  }
60
+ .vcs-container-xs.without-header {
61
+ top: 0;
62
+ bottom: 0px;
63
+ }
47
64
 
48
65
  .mobile-logo {
49
66
  max-height: 40px;
@@ -70,7 +87,7 @@
70
87
  import { VContainer } from 'vuetify/components';
71
88
  import PanelManagerComponent from '../manager/panel/PanelManagerComponent.vue';
72
89
  import WindowManagerComponent from '../manager/window/WindowManager.vue';
73
- import ToolboxManagerComponent from '../manager/toolbox/ToolboxManager.vue';
90
+ import ToolboxManagerComponent from '../manager/toolbox/ToolboxManagerComponent.vue';
74
91
  import NotifierComponent from '../notifier/NotifierComponent.vue';
75
92
  import VcsDefaultLogoMobile from '../logo-mobile.svg';
76
93
 
@@ -93,16 +110,16 @@
93
110
  },
94
111
  },
95
112
  setup() {
113
+ /** @type {import("../vcsUiApp.js").default} */
96
114
  const app = inject('vcsApp');
97
-
98
115
  const { xs } = useDisplay();
99
-
100
116
  return {
117
+ config: app.uiConfig.config,
101
118
  xs,
102
119
  mobileLogo: computed(
103
120
  () =>
104
- app.uiConfig.config.value.mobileLogo ??
105
- app.uiConfig.config.value.logo ??
121
+ app.uiConfig.config.mobileLogo ??
122
+ app.uiConfig.config.logo ??
106
123
  VcsDefaultLogoMobile,
107
124
  ),
108
125
  };
@@ -4,6 +4,247 @@ declare const _default: import("vue").DefineComponent<{
4
4
  required: true;
5
5
  };
6
6
  }, {
7
+ config: {
8
+ readonly [x: string]: any;
9
+ /**
10
+ * - the company logo to display. this will override any and all css overrides.
11
+ */
12
+ readonly logo?: string | undefined;
13
+ /**
14
+ * - an alternative logo to display in mobile view
15
+ */
16
+ readonly mobileLogo?: string | undefined;
17
+ /**
18
+ * - an optional title to display next to the company logo
19
+ */
20
+ readonly appTitle?: string | undefined;
21
+ /**
22
+ * - an optional primary color to use in all themes, can be overwritten by `vuetifyTheme`
23
+ */
24
+ readonly primaryColor?: string | undefined;
25
+ /**
26
+ * - an optional flag whether to activate feature info on startup (default active)
27
+ */
28
+ readonly startingFeatureInfo?: boolean | undefined;
29
+ /**
30
+ * - mouse event, when position display is updated. Either 'click' (default) or 'move'.
31
+ */
32
+ readonly positionDisplayEventType?: string | undefined;
33
+ /**
34
+ * - an optional URL to a help landing page
35
+ */
36
+ readonly helpBaseUrl?: string | undefined;
37
+ /**
38
+ * - an option imprint, will show a link in the footer. Default title is 'footer.imprint.title'.
39
+ */
40
+ readonly imprint?: {
41
+ readonly title?: string | undefined;
42
+ readonly url?: string | {
43
+ readonly hash: string;
44
+ readonly host: string;
45
+ readonly hostname: string;
46
+ readonly href: string;
47
+ readonly toString: () => string;
48
+ readonly origin: string;
49
+ readonly password: string;
50
+ readonly pathname: string;
51
+ readonly port: string;
52
+ readonly protocol: string;
53
+ readonly search: string;
54
+ readonly searchParams: ReadonlyMap<string, string | null>;
55
+ readonly username: string;
56
+ readonly toJSON: () => string;
57
+ } | undefined;
58
+ readonly content?: string | undefined;
59
+ } | undefined;
60
+ /**
61
+ * - an option dataProtection, will show a link in the footer. Default title is 'footer.dataProtection.title'.
62
+ */
63
+ readonly dataProtection?: {
64
+ readonly title?: string | undefined;
65
+ readonly url?: string | {
66
+ readonly hash: string;
67
+ readonly host: string;
68
+ readonly hostname: string;
69
+ readonly href: string;
70
+ readonly toString: () => string;
71
+ readonly origin: string;
72
+ readonly password: string;
73
+ readonly pathname: string;
74
+ readonly port: string;
75
+ readonly protocol: string;
76
+ readonly search: string;
77
+ readonly searchParams: ReadonlyMap<string, string | null>;
78
+ readonly username: string;
79
+ readonly toJSON: () => string;
80
+ } | undefined;
81
+ readonly content?: string | undefined;
82
+ } | undefined;
83
+ /**
84
+ * - an option splashScreen, will show a splash Screen on Map Load.
85
+ */
86
+ readonly splashScreen?: {
87
+ readonly title?: string | undefined;
88
+ readonly icon?: string | undefined;
89
+ readonly content?: string | undefined;
90
+ readonly name?: string | undefined;
91
+ readonly checkBoxText?: string | undefined;
92
+ readonly buttonTitle?: string | undefined;
93
+ readonly menuEntry?: boolean | undefined;
94
+ readonly acceptInput?: boolean | undefined;
95
+ readonly position?: {
96
+ readonly width?: string | undefined;
97
+ readonly height?: string | undefined;
98
+ readonly maxHeight?: string | undefined;
99
+ readonly maxWidth?: string | undefined;
100
+ } | undefined;
101
+ } | undefined;
102
+ /**
103
+ * - an option customScreen, will show a Custom Menu Point that opens a window with custom content.
104
+ */
105
+ readonly customScreen?: {
106
+ readonly title?: string | undefined;
107
+ readonly icon?: string | undefined;
108
+ readonly content?: string | undefined;
109
+ readonly name?: string | undefined;
110
+ readonly windowPosition?: {
111
+ /**
112
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
113
+ */
114
+ readonly left?: string | number | undefined;
115
+ /**
116
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
117
+ */
118
+ readonly top?: string | number | undefined;
119
+ /**
120
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
121
+ */
122
+ readonly right?: string | number | undefined;
123
+ /**
124
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
125
+ */
126
+ readonly bottom?: string | number | undefined;
127
+ /**
128
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
129
+ */
130
+ readonly width?: string | number | undefined;
131
+ /**
132
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
133
+ */
134
+ readonly height?: string | number | undefined;
135
+ /**
136
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
137
+ */
138
+ readonly maxHeight?: string | number | undefined;
139
+ /**
140
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
141
+ */
142
+ readonly maxWidth?: string | number | undefined;
143
+ /**
144
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
145
+ */
146
+ readonly minHeight?: string | number | undefined;
147
+ /**
148
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
149
+ */
150
+ readonly minWidth?: string | number | undefined;
151
+ } | undefined;
152
+ } | undefined;
153
+ /**
154
+ * - the favicon to set
155
+ */
156
+ readonly favicon?: string | undefined;
157
+ /**
158
+ * - the title to display in the tab of the browser
159
+ */
160
+ readonly headerTitle?: string | undefined;
161
+ /**
162
+ * - an optional flag whether to show the Locator in the map.
163
+ */
164
+ readonly showLocator?: boolean | undefined;
165
+ /**
166
+ * - can be used to hide the default Header of the map
167
+ */
168
+ readonly hideHeader?: boolean | undefined;
169
+ /**
170
+ * - can be used to hide the integrated Search bar
171
+ */
172
+ readonly hideSearch?: boolean | undefined;
173
+ /**
174
+ * - can be used to hide the default Map Buttons
175
+ */
176
+ readonly hideMapButtons?: boolean | undefined;
177
+ /**
178
+ * - can be used to hide the toolbox
179
+ */
180
+ readonly hideToolbox?: boolean | undefined;
181
+ /**
182
+ * - can be used to hide the navigation
183
+ */
184
+ readonly hideMapNavigation?: boolean | undefined;
185
+ /**
186
+ * - can be used to hide the footer
187
+ */
188
+ readonly hideFooter?: boolean | undefined;
189
+ /**
190
+ * - can be used to hide the myWorkspace button
191
+ */
192
+ readonly hideMyWorkspace?: boolean | undefined;
193
+ /**
194
+ * - can be used to hide the contentTree
195
+ */
196
+ readonly hideContentTree?: boolean | undefined;
197
+ /**
198
+ * - can be used to hide the legend
199
+ */
200
+ readonly hideLegend?: boolean | undefined;
201
+ /**
202
+ * - can be used to hide the settings Window
203
+ */
204
+ readonly hideSettings?: boolean | undefined;
205
+ /**
206
+ * - can be used to activate the overviewMap on startup
207
+ */
208
+ readonly overviewMapActiveOnStartup?: boolean | undefined;
209
+ /**
210
+ * - the display quality settings
211
+ */
212
+ readonly displayQuality?: {
213
+ readonly startingQualityLevel?: import("@vcmap/core", { with: { "resolution-mode": "import" } }).DisplayQualityLevel | undefined;
214
+ readonly startingMobileQualityLevel?: import("@vcmap/core", { with: { "resolution-mode": "import" } }).DisplayQualityLevel | undefined;
215
+ readonly low?: {
216
+ readonly sse?: number | undefined;
217
+ readonly fxaa?: boolean | undefined;
218
+ readonly fogEnabled?: boolean | undefined;
219
+ readonly fogDensity?: number | undefined;
220
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
221
+ readonly resolutionScale?: number | undefined;
222
+ readonly layerSSEFactor?: number | undefined;
223
+ } | undefined;
224
+ readonly medium?: {
225
+ readonly sse?: number | undefined;
226
+ readonly fxaa?: boolean | undefined;
227
+ readonly fogEnabled?: boolean | undefined;
228
+ readonly fogDensity?: number | undefined;
229
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
230
+ readonly resolutionScale?: number | undefined;
231
+ readonly layerSSEFactor?: number | undefined;
232
+ } | undefined;
233
+ readonly high?: {
234
+ readonly sse?: number | undefined;
235
+ readonly fxaa?: boolean | undefined;
236
+ readonly fogEnabled?: boolean | undefined;
237
+ readonly fogDensity?: number | undefined;
238
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
239
+ readonly resolutionScale?: number | undefined;
240
+ readonly layerSSEFactor?: number | undefined;
241
+ } | undefined;
242
+ } | undefined;
243
+ /**
244
+ * - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
245
+ */
246
+ readonly vuetifyTheme?: any;
247
+ };
7
248
  xs: import("vue").Ref<boolean>;
8
249
  mobileLogo: import("vue").ComputedRef<any>;
9
250
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{