@vcmap/ui 6.0.0-rc.3 → 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 (161) hide show
  1. package/build/buildHelpers.js +60 -11
  2. package/build/bundle.js +1 -1
  3. package/build/info/publish.js +25 -31
  4. package/build/lintTypes.js +5 -0
  5. package/config/base.config.json +2 -1
  6. package/config/dev.config.json +7 -1
  7. package/config/www.config.json +25 -22
  8. package/dist/assets/@mdi/font/css/{materialdesignicons.min-7a4f6be0.css → materialdesignicons.min-680621ca.css} +1 -1
  9. package/dist/assets/{cesium-cb4dbfba.js → cesium-126f111a.js} +272 -385
  10. package/dist/assets/cesium.js +1 -1
  11. package/dist/assets/{core-72f21835.js → core-1c8b8674.js} +1417 -1453
  12. package/dist/assets/core.js +1 -1
  13. package/dist/assets/{ol-2d33bc8b.js → ol-27f9b3f3.js} +233 -329
  14. package/dist/assets/ol.js +1 -1
  15. package/dist/assets/ui-7214428e.css +1 -0
  16. package/dist/assets/{ui-2ab43a16.js → ui-7214428e.js} +9573 -9438
  17. package/dist/assets/ui.js +1 -1
  18. package/dist/assets/vue-c78a5f76.js +6083 -0
  19. package/dist/assets/vue.js +1 -1
  20. package/dist/assets/{vuetify-760ced3b.css → vuetify-88a2fabe.css} +2 -2
  21. package/dist/assets/{vuetify-760ced3b.js → vuetify-88a2fabe.js} +7672 -7877
  22. package/dist/assets/vuetify.js +1 -1
  23. package/index.d.ts +6 -8
  24. package/index.js +7 -5
  25. package/package.json +16 -16
  26. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +2 -3
  27. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
  28. package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
  29. package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
  30. package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
  31. package/plugins/package.json +3 -23
  32. package/public/assets/@mdi/font/css/materialdesignicons.min.css +1 -1
  33. package/src/actions/StyleSelector.vue +1 -1
  34. package/src/actions/actionHelper.js +13 -2
  35. package/src/actions/listActions.d.ts +4 -4
  36. package/src/actions/listActions.js +2 -2
  37. package/src/application/VcsApp.vue +96 -31
  38. package/src/application/VcsApp.vue.d.ts +297 -4
  39. package/src/application/VcsContainer.vue +26 -9
  40. package/src/application/VcsContainer.vue.d.ts +237 -0
  41. package/src/application/VcsMainMap.vue +7 -7
  42. package/src/application/VcsMainMap.vue.d.ts +2 -2
  43. package/src/application/VcsNavbar.vue +5 -1
  44. package/src/application/VcsSplashScreen.vue +24 -26
  45. package/src/application/VcsTextPageFooter.vue +2 -1
  46. package/src/components/buttons/VcsActionButtonList.vue +59 -3
  47. package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
  48. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +15 -13
  49. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +3 -4
  50. package/src/components/form-inputs-controls/VcsCoordinate.vue +4 -3
  51. package/src/components/form-inputs-controls/VcsSelect.vue +1 -4
  52. package/src/components/form-inputs-controls/VcsSlider.vue +0 -1
  53. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -4
  54. package/src/components/form-inputs-controls/VcsTextArea.vue +1 -4
  55. package/src/components/form-inputs-controls/VcsTextField.vue +14 -0
  56. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +9 -0
  57. package/src/components/form-inputs-controls/VcsWizardStep.vue +2 -5
  58. package/src/components/form-inputs-controls/vcsTextField.scss +1 -4
  59. package/src/components/form-output/VcsFormattedNumber.vue +6 -4
  60. package/src/components/form-output/VcsMarkdown.vue +15 -12
  61. package/src/components/form-output/VcsMarkdown.vue.d.ts +1 -0
  62. package/src/components/form-output/markdownHelper.d.ts +30 -0
  63. package/src/components/form-output/markdownHelper.js +398 -0
  64. package/src/components/import/VcsFileDrop.vue +8 -5
  65. package/src/components/import/VcsImportComponent.vue +4 -3
  66. package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
  67. package/src/components/lists/VcsActionList.vue +4 -0
  68. package/src/components/lists/VcsList.vue +22 -37
  69. package/src/components/lists/VcsList.vue.d.ts +14 -55
  70. package/src/components/lists/{VcsListItem.vue → VcsListItemComponent.vue} +17 -1
  71. package/src/components/lists/VcsListItemComponent.vue.d.ts +69 -0
  72. package/src/components/lists/VcsTreeview.vue +43 -16
  73. package/src/components/lists/VcsTreeview.vue.d.ts +14 -3
  74. package/src/components/lists/VcsTreeviewLeaf.vue +15 -6
  75. package/src/components/lists/VcsTreeviewSearchbar.vue +2 -2
  76. package/src/components/notification/VcsHelp.vue +1 -1
  77. package/src/components/notification/VcsHelp.vue.d.ts +3 -2
  78. package/src/components/section/VcsExpansionPanel.vue +2 -2
  79. package/src/components/section/VcsFormSection.vue +10 -4
  80. package/src/components/section/VcsFormSection.vue.d.ts +1 -2
  81. package/src/components/style/VcsTextMenu.vue +1 -1
  82. package/src/components/style/VcsVectorStyleComponent.vue +1 -1
  83. package/src/components/tables/VcsDataTable.vue +28 -22
  84. package/src/components/tables/VcsTable.vue +45 -62
  85. package/src/components/tables/VcsTable.vue.d.ts +30 -17
  86. package/src/components/tables/VcsTableCell.vue +72 -0
  87. package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
  88. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +6 -5
  89. package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -0
  90. package/src/components/viewpoint/VcsViewpointComponent.vue +2 -2
  91. package/src/components/viewpoint/VcsViewpointEditor.vue +2 -2
  92. package/src/contentTree/LayerTree.vue +9 -27
  93. package/src/contentTree/LayerTree.vue.d.ts +1 -1
  94. package/src/contentTree/contentTreeCollection.d.ts +1 -0
  95. package/src/contentTree/contentTreeCollection.js +45 -11
  96. package/src/featureInfo/BalloonComponent.vue +14 -15
  97. package/src/featureInfo/MarkdownBalloonComponent.vue +4 -2
  98. package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
  99. package/src/featureInfo/abstractFeatureInfoView.d.ts +6 -0
  100. package/src/featureInfo/abstractFeatureInfoView.js +15 -7
  101. package/src/featureInfo/featureInfo.d.ts +5 -5
  102. package/src/featureInfo/featureInfo.js +51 -31
  103. package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
  104. package/src/featureInfo/iframeFeatureInfoView.js +15 -5
  105. package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
  106. package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
  107. package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
  108. package/src/featureInfo/markdownFeatureInfoView.js +9 -11
  109. package/src/featureInfo/tableFeatureInfoView.js +13 -4
  110. package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
  111. package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +2 -2
  112. package/src/manager/collectionManager/collectionComponentClass.d.ts +1 -1
  113. package/src/manager/collectionManager/collectionComponentClass.js +2 -2
  114. package/src/manager/collectionManager/editorCollectionComponentClass.js +2 -1
  115. package/src/manager/panel/PanelComponent.vue +2 -9
  116. package/src/manager/panel/PanelManagerComponent.vue +7 -3
  117. package/src/manager/panel/panelHelper.js +3 -3
  118. package/src/manager/panel/panelManager.d.ts +9 -1
  119. package/src/manager/panel/panelManager.js +15 -3
  120. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -4
  121. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
  122. package/src/manager/toolbox/SelectToolboxComponent.vue +7 -4
  123. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
  124. package/src/manager/toolbox/ToolboxManager.vue +9 -6
  125. package/src/manager/toolbox/ToolboxManager.vue.d.ts +1 -0
  126. package/src/manager/window/WindowComponent.vue +12 -8
  127. package/src/manager/window/WindowComponentHeader.vue +29 -8
  128. package/src/manager/window/WindowComponentHeader.vue.d.ts +2 -0
  129. package/src/manager/window/WindowManager.vue +2 -2
  130. package/src/navigation/MapNavigation.vue +20 -0
  131. package/src/navigation/locatorHelper.js +1 -1
  132. package/src/navigation/overviewMap.js +1 -1
  133. package/src/notifier/NotifierComponent.vue +18 -15
  134. package/src/search/ResultItem.vue +18 -6
  135. package/src/search/ResultsComponent.vue +31 -20
  136. package/src/search/ResultsComponent.vue.d.ts +2 -1
  137. package/src/search/SearchComponent.vue +8 -14
  138. package/src/search/SearchComponent.vue.d.ts +1 -0
  139. package/src/siteConfig.js +8 -8
  140. package/src/styles/_typography.scss +0 -2
  141. package/src/styles/main.scss +0 -4
  142. package/src/uiConfig.d.ts +300 -5
  143. package/src/uiConfig.js +28 -16
  144. package/src/vcsUiApp.d.ts +7 -7
  145. package/src/vcsUiApp.js +10 -9
  146. package/src/vuePlugins/vuetify.js +3 -0
  147. package/dist/assets/ui-2ab43a16.css +0 -1
  148. package/dist/assets/vue-03b265aa.js +0 -6096
  149. package/src/application/markdownHelper.d.ts +0 -12
  150. package/src/application/markdownHelper.js +0 -70
  151. package/src/components/lists/VcsListItem.vue.d.ts +0 -27
  152. package/src/components/notification/VcsTooltip.vue +0 -156
  153. package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
  154. package/src/featureInfo/MarkdownComponent.vue +0 -16
  155. package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
  156. package/src/styles/_theming.scss +0 -73
  157. package/src/styles/settings.scss +0 -6
  158. package/src/styles/shades.scss +0 -4
  159. package/src/styles/variables.scss +0 -140
  160. package/src/styles/vcsFont.scss +0 -2
  161. package/src/styles/vcsGrid.scss +0 -3
@@ -1,13 +1,18 @@
1
1
  <template>
2
- <v-list-item class="ma-2 d-flex flex-row align-center" v-if="item">
2
+ <v-list-item v-if="item" v-bind="$attrs">
3
3
  <template #prepend v-if="item.icon">
4
4
  <v-icon>
5
5
  {{ item.icon }}
6
6
  </v-icon>
7
7
  </template>
8
- <div class="px-2 d-flex align-center" :title="$t('search.select')">
9
- <span v-html="marked" />
10
- </div>
8
+ <template #title>
9
+ <v-list-item-title>
10
+ <span v-html="marked" />
11
+ </v-list-item-title>
12
+ </template>
13
+ <v-tooltip activator="parent">
14
+ {{ $st('search.select') }}
15
+ </v-tooltip>
11
16
  <template #append>
12
17
  <VcsActionButtonList
13
18
  v-if="hasActions"
@@ -21,7 +26,12 @@
21
26
 
22
27
  <script>
23
28
  import { computed } from 'vue';
24
- import { VIcon, VListItem } from 'vuetify/components';
29
+ import {
30
+ VIcon,
31
+ VListItem,
32
+ VListItemTitle,
33
+ VTooltip,
34
+ } from 'vuetify/components';
25
35
  import VcsActionButtonList from '../components/buttons/VcsActionButtonList.vue';
26
36
 
27
37
  /**
@@ -38,7 +48,7 @@
38
48
  partials.forEach((partial) => {
39
49
  replacement = replacement.replaceAll(
40
50
  new RegExp(`(^|[^>])(${partial})`, 'ig'),
41
- '<span>$1<span class="primary--text">$2</span></span>',
51
+ '<span>$1<span class="text-primary">$2</span></span>',
42
52
  );
43
53
  });
44
54
  }
@@ -58,6 +68,8 @@
58
68
  VcsActionButtonList,
59
69
  VIcon,
60
70
  VListItem,
71
+ VListItemTitle,
72
+ VTooltip,
61
73
  },
62
74
  props: {
63
75
  query: {
@@ -1,15 +1,16 @@
1
1
  <template>
2
2
  <v-list
3
- density="compact"
4
3
  class="ma-0 overflow-y-auto vcs-search-results"
5
- v-model="highlighted"
4
+ v-model:selected="highlighted"
6
5
  >
7
6
  <ResultItem
8
7
  :item="item"
9
8
  :query="query"
10
- class="cursor-pointer px-0"
11
- v-for="(item, index) in results"
9
+ class="cursor-pointer"
10
+ :class="{ 'vcs-search-result-border': index < items.length - 1 }"
11
+ v-for="(item, index) in items"
12
12
  :key="index"
13
+ :value="item.value"
13
14
  />
14
15
  </v-list>
15
16
  </template>
@@ -22,7 +23,7 @@
22
23
  /**
23
24
  * @description ResultsComponent listing all available result items in a scrollable list
24
25
  * @vue-prop {string} query - The query string forwarded to mark results within resultItem component.
25
- * @vue-prop {Array<ResultItem>} results - Array of results.
26
+ * @vue-prop {Array<import("./search.js").ResultItem>} results - Array of results.
26
27
  * @vue-computed {import("vue").Ref<string>} highlighted - The highlighted result item. Updates also on feature select.
27
28
  */
28
29
  export default {
@@ -42,23 +43,27 @@
42
43
  },
43
44
  },
44
45
  setup(props) {
45
- const highlightedRef = ref(-1);
46
+ const items = computed(() => {
47
+ return props.results.map((item, index) => ({
48
+ ...item,
49
+ value: index,
50
+ }));
51
+ });
52
+ const selectedRef = ref([]);
46
53
  /** @type {import("@src/vcsUiApp.js").default} */
47
54
  const app = inject('vcsApp');
48
55
  const selectedListener = app.featureInfo.featureChanged.addEventListener(
49
56
  (feature) => {
50
- if (highlightedRef.value >= 0) {
51
- if (
52
- feature &&
53
- props.results[highlightedRef.value].feature === feature
54
- ) {
57
+ if (selectedRef.value.length > 0) {
58
+ const [index] = selectedRef.value;
59
+ if (feature && items.value[index].feature === feature) {
55
60
  return;
56
61
  }
57
- highlightedRef.value = -1;
62
+ selectedRef.value = [];
58
63
  } else if (feature) {
59
- highlightedRef.value = props.results.findIndex(
60
- (r) => r.feature === feature,
61
- );
64
+ selectedRef.value = [
65
+ items.value.findIndex((r) => r.feature === feature),
66
+ ];
62
67
  }
63
68
  },
64
69
  );
@@ -68,14 +73,16 @@
68
73
  });
69
74
 
70
75
  return {
76
+ items,
71
77
  highlighted: computed({
72
78
  get() {
73
- return highlightedRef.value;
79
+ return selectedRef.value;
74
80
  },
75
81
  set(value) {
76
- highlightedRef.value = value;
77
- if (value >= 0) {
78
- const item = props.results[value];
82
+ selectedRef.value = value;
83
+ const [index] = value;
84
+ if (index >= 0) {
85
+ const item = items.value[index];
79
86
  item.clicked();
80
87
  }
81
88
  },
@@ -85,8 +92,12 @@
85
92
  };
86
93
  </script>
87
94
 
88
- <style scoped>
95
+ <style lang="scss" scoped>
89
96
  .vcs-search-results {
90
97
  max-height: 400px;
91
98
  }
99
+ .vcs-search-result-border {
100
+ border-bottom: thin solid;
101
+ border-color: rgb(var(--v-theme-base-lighten-2));
102
+ }
92
103
  </style>
@@ -8,7 +8,8 @@ declare const _default: import("vue").DefineComponent<{
8
8
  required: true;
9
9
  };
10
10
  }, {
11
- highlighted: import("vue").WritableComputedRef<number>;
11
+ items: import("vue").ComputedRef<any[]>;
12
+ highlighted: import("vue").WritableComputedRef<never[]>;
12
13
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
14
  query: {
14
15
  type: StringConstructor;
@@ -1,17 +1,17 @@
1
1
  <template>
2
2
  <v-sheet>
3
3
  <span class="d-flex justify-space-between align-center mt-1 ml-2">
4
- <v-icon class="pa-1"> $vcsSearch </v-icon>
4
+ <v-icon class="pa-1" :size="itemHeight - 8"> $vcsSearch </v-icon>
5
5
  <VcsTextField
6
6
  class="d-inline-block user-select-none w-100 mx-1"
7
7
  autofocus
8
8
  :loading="searching"
9
9
  clearable
10
- dense
11
10
  :placeholder="$t('search.placeholder')"
12
11
  v-model.trim="query"
13
12
  @keydown.enter="search"
14
13
  @input="reset"
14
+ @click:clear="reset"
15
15
  />
16
16
  </span>
17
17
  <v-divider class="mt-1 base-darken-1" v-if="!!results.length" />
@@ -26,18 +26,8 @@
26
26
  </template>
27
27
 
28
28
  <style lang="scss" scoped>
29
- :deep(.v-input) {
30
- fieldset {
31
- padding: 0 !important;
32
- }
33
- fieldset,
34
- input {
35
- border-color: transparent !important;
36
- }
37
- }
38
- :deep(.v-icon .v-icon__component) {
39
- width: 16px;
40
- height: 16px;
29
+ :deep(.v-field .v-field__outline *) {
30
+ border-color: transparent !important;
41
31
  }
42
32
  .user-select-none {
43
33
  user-select: none;
@@ -51,6 +41,7 @@
51
41
  import VcsTextField from '../components/form-inputs-controls/VcsTextField.vue';
52
42
  import ResultsComponent from './ResultsComponent.vue';
53
43
  import VcsFormButton from '../components/buttons/VcsFormButton.vue';
44
+ import { useItemHeight } from '../vuePlugins/vuetify.js';
54
45
 
55
46
  /**
56
47
  * @description Stylized search component providing an input field for search inputs.
@@ -103,6 +94,8 @@
103
94
  clear();
104
95
  });
105
96
 
97
+ const itemHeight = useItemHeight();
98
+
106
99
  return {
107
100
  query,
108
101
  searching,
@@ -111,6 +104,7 @@
111
104
  clear,
112
105
  search,
113
106
  zoomToAll,
107
+ itemHeight,
114
108
  };
115
109
  },
116
110
  };
@@ -6,5 +6,6 @@ declare const _default: import("vue").DefineComponent<{}, {
6
6
  clear: () => void;
7
7
  search: () => Promise<void>;
8
8
  zoomToAll: () => void;
9
+ itemHeight: import("vue").ComputedRef<number>;
9
10
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
10
11
  export default _default;
package/src/siteConfig.js CHANGED
@@ -44,25 +44,25 @@ const defaultHeaderTitle = 'VC Map';
44
44
  * @returns {() => void}
45
45
  */
46
46
  export default function createSiteConfig(uiConfig) {
47
- if (typeof uiConfig.config.value.favicon === 'string') {
48
- setFavicon(uiConfig.config.value.favicon);
47
+ if (typeof uiConfig.config.favicon === 'string') {
48
+ setFavicon(uiConfig.config.favicon);
49
49
  }
50
50
 
51
- if (typeof uiConfig.config.value.headerTitle === 'string') {
52
- setHeaderTitle(uiConfig.config.value.headerTitle);
51
+ if (typeof uiConfig.config.headerTitle === 'string') {
52
+ setHeaderTitle(uiConfig.config.headerTitle);
53
53
  }
54
54
 
55
55
  const updateFavicon = () => {
56
- if (typeof uiConfig.config.value.favicon === 'string') {
57
- setFavicon(uiConfig.config.value.favicon);
56
+ if (typeof uiConfig.config.favicon === 'string') {
57
+ setFavicon(uiConfig.config.favicon);
58
58
  } else {
59
59
  setFavicon(defaultFavicon);
60
60
  }
61
61
  };
62
62
 
63
63
  const updateHeaderTitle = () => {
64
- if (typeof uiConfig.config.value.headerTitle === 'string') {
65
- setHeaderTitle(uiConfig.config.value.headerTitle);
64
+ if (typeof uiConfig.config.headerTitle === 'string') {
65
+ setHeaderTitle(uiConfig.config.headerTitle);
66
66
  } else {
67
67
  setHeaderTitle(defaultHeaderTitle);
68
68
  }
@@ -1,5 +1,3 @@
1
- @import 'vcsFont.scss';
2
-
3
1
  .v-application,
4
2
  .v-overlay-container {
5
3
  h1,
@@ -1,8 +1,4 @@
1
1
  @import './typography';
2
- @import './shades';
3
- @import './variables';
4
- @import './vcsFont';
5
- @import './vcsGrid';
6
2
  @import './vcsList';
7
3
 
8
4
  /* latin-ext */
package/src/uiConfig.d.ts CHANGED
@@ -88,6 +88,50 @@ export type UiConfigObject = {
88
88
  * - an optional flag whether to show the Locator in the map.
89
89
  */
90
90
  showLocator?: boolean | undefined;
91
+ /**
92
+ * - can be used to hide the default Header of the map
93
+ */
94
+ hideHeader?: boolean | undefined;
95
+ /**
96
+ * - can be used to hide the integrated Search bar
97
+ */
98
+ hideSearch?: boolean | undefined;
99
+ /**
100
+ * - can be used to hide the default Map Buttons
101
+ */
102
+ hideMapButtons?: boolean | undefined;
103
+ /**
104
+ * - can be used to hide the toolbox
105
+ */
106
+ hideToolbox?: boolean | undefined;
107
+ /**
108
+ * - can be used to hide the navigation
109
+ */
110
+ hideMapNavigation?: boolean | undefined;
111
+ /**
112
+ * - can be used to hide the footer
113
+ */
114
+ hideFooter?: boolean | undefined;
115
+ /**
116
+ * - can be used to hide the myWorkspace button
117
+ */
118
+ hideMyWorkspace?: boolean | undefined;
119
+ /**
120
+ * - can be used to hide the contentTree
121
+ */
122
+ hideContentTree?: boolean | undefined;
123
+ /**
124
+ * - can be used to hide the legend
125
+ */
126
+ hideLegend?: boolean | undefined;
127
+ /**
128
+ * - can be used to hide the settings Window
129
+ */
130
+ hideSettings?: boolean | undefined;
131
+ /**
132
+ * - can be used to activate the overviewMap on startup
133
+ */
134
+ overviewMapActiveOnStartup?: boolean | undefined;
91
135
  /**
92
136
  * - the display quality settings
93
137
  */
@@ -146,6 +190,17 @@ export type UiConfigObject = {
146
190
  * @property {string} [favicon] - the favicon to set
147
191
  * @property {string} [headerTitle] - the title to display in the tab of the browser
148
192
  * @property {boolean} [showLocator] - an optional flag whether to show the Locator in the map.
193
+ * @property {boolean} [hideHeader] - can be used to hide the default Header of the map
194
+ * @property {boolean} [hideSearch] - can be used to hide the integrated Search bar
195
+ * @property {boolean} [hideMapButtons] - can be used to hide the default Map Buttons
196
+ * @property {boolean} [hideToolbox] - can be used to hide the toolbox
197
+ * @property {boolean} [hideMapNavigation] - can be used to hide the navigation
198
+ * @property {boolean} [hideFooter] - can be used to hide the footer
199
+ * @property {boolean} [hideMyWorkspace] - can be used to hide the myWorkspace button
200
+ * @property {boolean} [hideContentTree] - can be used to hide the contentTree
201
+ * @property {boolean} [hideLegend] - can be used to hide the legend
202
+ * @property {boolean} [hideSettings] - can be used to hide the settings Window
203
+ * @property {boolean} [overviewMapActiveOnStartup] - can be used to activate the overviewMap on startup
149
204
  * @property {import("@vcmap/core").DisplayQualityOptions} [displayQuality] - the display quality settings
150
205
  */
151
206
  /**
@@ -157,20 +212,260 @@ declare class UiConfig extends Collection<UiConfigurationItem<unknown>> {
157
212
  */
158
213
  constructor(getDynamicModuleId: () => string);
159
214
  /**
160
- * @type {import("vue").Ref<Object<string, *>>}
215
+ * @type {import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>}
161
216
  * @private
162
217
  */
163
218
  private _config;
219
+ /**
220
+ * @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>>}
221
+ */
222
+ _readonlyConfig: import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<{
223
+ [x: string]: any;
224
+ } & UiConfigObject>>;
164
225
  /**
165
226
  * @type {Array<function():void>}
166
227
  * @private
167
228
  */
168
229
  private _listeners;
169
230
  /**
170
- * @type {import("vue").Ref<Object<string, unknown>|UiConfigObject>}
231
+ * @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>>}
171
232
  */
172
- get config(): import("vue").Ref<{
173
- [x: string]: unknown;
174
- } | UiConfigObject>;
233
+ get config(): {
234
+ readonly [x: string]: any;
235
+ /**
236
+ * - the company logo to display. this will override any and all css overrides.
237
+ */
238
+ readonly logo?: string | undefined;
239
+ /**
240
+ * - an alternative logo to display in mobile view
241
+ */
242
+ readonly mobileLogo?: string | undefined;
243
+ /**
244
+ * - an optional title to display next to the company logo
245
+ */
246
+ readonly appTitle?: string | undefined;
247
+ /**
248
+ * - an optional primary color to use in all themes
249
+ */
250
+ readonly primaryColor?: string | undefined;
251
+ /**
252
+ * - an optional flag whether to activate feature info on startup (default active)
253
+ */
254
+ readonly startingFeatureInfo?: boolean | undefined;
255
+ /**
256
+ * - mouse event, when position display is updated. Either 'click' (default) or 'move'.
257
+ */
258
+ readonly positionDisplayEventType?: string | undefined;
259
+ /**
260
+ * - an optional URL to a help landing page
261
+ */
262
+ readonly helpBaseUrl?: string | undefined;
263
+ /**
264
+ * - an option imprint, will show a link in the footer. Default title is 'footer.imprint.title'.
265
+ */
266
+ readonly imprint?: {
267
+ readonly title?: string | undefined;
268
+ readonly url?: string | {
269
+ readonly hash: string;
270
+ readonly host: string;
271
+ readonly hostname: string;
272
+ readonly href: string;
273
+ readonly toString: () => string;
274
+ readonly origin: string;
275
+ readonly password: string;
276
+ readonly pathname: string;
277
+ readonly port: string;
278
+ readonly protocol: string;
279
+ readonly search: string;
280
+ readonly searchParams: ReadonlyMap<string, string | null>;
281
+ readonly username: string;
282
+ readonly toJSON: () => string;
283
+ } | undefined;
284
+ readonly content?: string | undefined;
285
+ } | undefined;
286
+ /**
287
+ * - an option dataProtection, will show a link in the footer. Default title is 'footer.dataProtection.title'.
288
+ */
289
+ readonly dataProtection?: {
290
+ readonly title?: string | undefined;
291
+ readonly url?: string | {
292
+ readonly hash: string;
293
+ readonly host: string;
294
+ readonly hostname: string;
295
+ readonly href: string;
296
+ readonly toString: () => string;
297
+ readonly origin: string;
298
+ readonly password: string;
299
+ readonly pathname: string;
300
+ readonly port: string;
301
+ readonly protocol: string;
302
+ readonly search: string;
303
+ readonly searchParams: ReadonlyMap<string, string | null>;
304
+ readonly username: string;
305
+ readonly toJSON: () => string;
306
+ } | undefined;
307
+ readonly content?: string | undefined;
308
+ } | undefined;
309
+ /**
310
+ * - an option splashScreen, will show a splash Screen on Map Load.
311
+ */
312
+ readonly splashScreen?: {
313
+ readonly title?: string | undefined;
314
+ readonly icon?: string | undefined;
315
+ readonly content?: string | undefined;
316
+ readonly name?: string | undefined;
317
+ readonly checkBoxText?: string | undefined;
318
+ readonly buttonTitle?: string | undefined;
319
+ readonly menuEntry?: boolean | undefined;
320
+ readonly acceptInput?: boolean | undefined;
321
+ readonly position?: {
322
+ readonly width?: string | undefined;
323
+ readonly height?: string | undefined;
324
+ readonly maxHeight?: string | undefined;
325
+ readonly maxWidth?: string | undefined;
326
+ } | undefined;
327
+ } | undefined;
328
+ /**
329
+ * - an option customScreen, will show a Custom Menu Point that opens a window with custom content.
330
+ */
331
+ readonly customScreen?: {
332
+ readonly title?: string | undefined;
333
+ readonly icon?: string | undefined;
334
+ readonly content?: string | undefined;
335
+ readonly name?: string | undefined;
336
+ readonly windowPosition?: {
337
+ /**
338
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
339
+ */
340
+ readonly left?: string | number | undefined;
341
+ /**
342
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
343
+ */
344
+ readonly top?: string | number | undefined;
345
+ /**
346
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
347
+ */
348
+ readonly right?: string | number | undefined;
349
+ /**
350
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
351
+ */
352
+ readonly bottom?: string | number | undefined;
353
+ /**
354
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
355
+ */
356
+ readonly width?: string | number | undefined;
357
+ /**
358
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
359
+ */
360
+ readonly height?: string | number | undefined;
361
+ /**
362
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
363
+ */
364
+ readonly maxHeight?: string | number | undefined;
365
+ /**
366
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
367
+ */
368
+ readonly maxWidth?: string | number | undefined;
369
+ /**
370
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
371
+ */
372
+ readonly minHeight?: string | number | undefined;
373
+ /**
374
+ * Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
375
+ */
376
+ readonly minWidth?: string | number | undefined;
377
+ } | undefined;
378
+ } | undefined;
379
+ /**
380
+ * - the favicon to set
381
+ */
382
+ readonly favicon?: string | undefined;
383
+ /**
384
+ * - the title to display in the tab of the browser
385
+ */
386
+ readonly headerTitle?: string | undefined;
387
+ /**
388
+ * - an optional flag whether to show the Locator in the map.
389
+ */
390
+ readonly showLocator?: boolean | undefined;
391
+ /**
392
+ * - can be used to hide the default Header of the map
393
+ */
394
+ readonly hideHeader?: boolean | undefined;
395
+ /**
396
+ * - can be used to hide the integrated Search bar
397
+ */
398
+ readonly hideSearch?: boolean | undefined;
399
+ /**
400
+ * - can be used to hide the default Map Buttons
401
+ */
402
+ readonly hideMapButtons?: boolean | undefined;
403
+ /**
404
+ * - can be used to hide the toolbox
405
+ */
406
+ readonly hideToolbox?: boolean | undefined;
407
+ /**
408
+ * - can be used to hide the navigation
409
+ */
410
+ readonly hideMapNavigation?: boolean | undefined;
411
+ /**
412
+ * - can be used to hide the footer
413
+ */
414
+ readonly hideFooter?: boolean | undefined;
415
+ /**
416
+ * - can be used to hide the myWorkspace button
417
+ */
418
+ readonly hideMyWorkspace?: boolean | undefined;
419
+ /**
420
+ * - can be used to hide the contentTree
421
+ */
422
+ readonly hideContentTree?: boolean | undefined;
423
+ /**
424
+ * - can be used to hide the legend
425
+ */
426
+ readonly hideLegend?: boolean | undefined;
427
+ /**
428
+ * - can be used to hide the settings Window
429
+ */
430
+ readonly hideSettings?: boolean | undefined;
431
+ /**
432
+ * - can be used to activate the overviewMap on startup
433
+ */
434
+ readonly overviewMapActiveOnStartup?: boolean | undefined;
435
+ /**
436
+ * - the display quality settings
437
+ */
438
+ readonly displayQuality?: {
439
+ readonly startingQualityLevel?: import("@vcmap/core").DisplayQualityLevel | undefined;
440
+ readonly startingMobileQualityLevel?: import("@vcmap/core").DisplayQualityLevel | undefined;
441
+ readonly low?: {
442
+ readonly sse?: number | undefined;
443
+ readonly fxaa?: boolean | undefined;
444
+ readonly fogEnabled?: boolean | undefined;
445
+ readonly fogDensity?: number | undefined;
446
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
447
+ readonly resolutionScale?: number | undefined;
448
+ readonly layerSSEFactor?: number | undefined;
449
+ } | undefined;
450
+ readonly medium?: {
451
+ readonly sse?: number | undefined;
452
+ readonly fxaa?: boolean | undefined;
453
+ readonly fogEnabled?: boolean | undefined;
454
+ readonly fogDensity?: number | undefined;
455
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
456
+ readonly resolutionScale?: number | undefined;
457
+ readonly layerSSEFactor?: number | undefined;
458
+ } | undefined;
459
+ readonly high?: {
460
+ readonly sse?: number | undefined;
461
+ readonly fxaa?: boolean | undefined;
462
+ readonly fogEnabled?: boolean | undefined;
463
+ readonly fogDensity?: number | undefined;
464
+ readonly fogScreenSpaceErrorFactor?: number | undefined;
465
+ readonly resolutionScale?: number | undefined;
466
+ readonly layerSSEFactor?: number | undefined;
467
+ } | undefined;
468
+ } | undefined;
469
+ };
175
470
  }
176
471
  import { Collection } from '@vcmap/core';