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

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 (103) hide show
  1. package/dist/assets/cesium.js +1 -1
  2. package/dist/assets/{core-3fd82bc2.js → core-6f2522e5.js} +3551 -3506
  3. package/dist/assets/core.js +1 -1
  4. package/dist/assets/ol.js +1 -1
  5. package/dist/assets/ui-bf3d1f84.css +1 -0
  6. package/dist/assets/{ui-c6eb55a5.js → ui-bf3d1f84.js} +3465 -3423
  7. package/dist/assets/ui.js +1 -1
  8. package/dist/assets/vue.js +1 -1
  9. package/dist/assets/{vuetify-c3b6c9b3.js → vuetify-99bf601c.js} +1 -1
  10. package/dist/assets/vuetify.js +1 -1
  11. package/package.json +2 -2
  12. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +3 -4
  13. package/src/actions/StyleSelector.vue +1 -1
  14. package/src/application/VcsApp.vue +29 -1
  15. package/src/application/VcsApp.vue.d.ts +5 -1
  16. package/src/application/VcsAppWrapper.vue +1 -1
  17. package/src/application/VcsAttributions.vue +1 -1
  18. package/src/application/VcsAttributionsFooter.vue +3 -1
  19. package/src/application/VcsContainer.vue.d.ts +5 -1
  20. package/src/application/VcsMainMap.vue +1 -1
  21. package/src/application/VcsMap.vue +1 -0
  22. package/src/application/VcsNavbar.vue +1 -1
  23. package/src/application/VcsPositionDisplay.vue +3 -3
  24. package/src/application/VcsSettings.vue +1 -1
  25. package/src/application/VcsSplashScreen.vue +1 -0
  26. package/src/application/VcsTextPage.vue +1 -1
  27. package/src/application/VcsTextPageFooter.vue +3 -1
  28. package/src/components/buttons/VcsActionButtonList.vue +5 -1
  29. package/src/components/buttons/VcsButton.vue +3 -3
  30. package/src/components/buttons/VcsFormButton.vue +2 -2
  31. package/src/components/buttons/VcsToolButton.vue +2 -2
  32. package/src/components/extent/VcsExtent.vue +1 -1
  33. package/src/components/extent/VcsExtentEditor.vue +1 -0
  34. package/src/components/flight/VcsFlightAnchorsComponent.vue +1 -0
  35. package/src/components/flight/VcsFlightComponent.vue +1 -1
  36. package/src/components/flight/VcsFlightEditor.vue +1 -0
  37. package/src/components/flight/VcsFlightPlayer.vue +1 -1
  38. package/src/components/form-inputs-controls/VcsTextField.vue +1 -1
  39. package/src/components/form-inputs-controls/VcsWizard.vue +1 -1
  40. package/src/components/form-inputs-controls/VcsWizardStep.vue +1 -0
  41. package/src/components/form-output/VcsMarkdown.vue +1 -1
  42. package/src/components/import/VcsFileDrop.vue +1 -1
  43. package/src/components/import/VcsImportComponent.vue +1 -1
  44. package/src/components/lists/VcsListItemComponent.vue +5 -1
  45. package/src/components/lists/VcsTreeviewSearchbar.vue +1 -1
  46. package/src/components/lists/VcsTreeviewTitle.vue +1 -1
  47. package/src/components/notification/VcsBadge.vue +2 -2
  48. package/src/components/notification/VcsHelp.vue +1 -1
  49. package/src/components/plugins/AbstractConfigEditor.vue +1 -1
  50. package/src/components/section/VcsExpansionPanel.vue +5 -1
  51. package/src/components/style/MenuWrapper.vue +1 -1
  52. package/src/components/style/VcsFeatureStyleComponent.vue +1 -0
  53. package/src/components/style/VcsFillMenu.vue +1 -0
  54. package/src/components/style/VcsFillSelector.vue +1 -0
  55. package/src/components/style/VcsImageMenu.vue +1 -0
  56. package/src/components/style/VcsImageSelector.vue +1 -1
  57. package/src/components/style/VcsStrokeMenu.vue +1 -0
  58. package/src/components/style/VcsStrokeSelector.vue +1 -1
  59. package/src/components/style/VcsTextMenu.vue +1 -0
  60. package/src/components/style/VcsTextSelector.vue +1 -1
  61. package/src/components/style/VcsVectorStyleComponent.vue +1 -1
  62. package/src/components/tables/VcsDataTable.vue +1 -1
  63. package/src/components/tables/VcsTable.vue +1 -0
  64. package/src/components/tables/VcsTableCell.vue +1 -1
  65. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +1 -1
  66. package/src/components/vector-properties/VcsFeatureTransforms.vue +1 -1
  67. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +1 -0
  68. package/src/components/viewpoint/VcsViewpointComponent.vue +1 -1
  69. package/src/components/viewpoint/VcsViewpointEditor.vue +1 -0
  70. package/src/contentTree/LayerTree.vue +1 -1
  71. package/src/featureInfo/AddressBalloonComponent.vue +1 -1
  72. package/src/featureInfo/BalloonComponent.vue +1 -1
  73. package/src/featureInfo/IframeComponent.vue +6 -1
  74. package/src/featureInfo/MarkdownBalloonComponent.vue +1 -1
  75. package/src/legend/StyleLegendItem.vue +1 -1
  76. package/src/legend/VcsLegend.vue +1 -1
  77. package/src/manager/collectionManager/CollectionComponent.vue +1 -0
  78. package/src/manager/contextMenu/ContextMenuComponent.vue +1 -1
  79. package/src/manager/panel/PanelManagerComponent.vue +2 -2
  80. package/src/manager/toolbox/GroupToolboxComponent.vue +2 -2
  81. package/src/manager/toolbox/SelectToolboxComponent.vue +2 -2
  82. package/src/manager/toolbox/ToolboxManagerComponent.vue +12 -1
  83. package/src/manager/window/WindowComponent.vue +1 -1
  84. package/src/manager/window/WindowManager.vue +4 -1
  85. package/src/navigation/MapNavigation.vue +4 -1
  86. package/src/navigation/ObliqueRotation.vue +2 -2
  87. package/src/navigation/OrientationToolsButton.vue +1 -1
  88. package/src/navigation/TiltSlider.vue +1 -0
  89. package/src/navigation/VcsCompass.vue +1 -1
  90. package/src/navigation/VcsZoomButton.vue +1 -1
  91. package/src/notifier/NotifierComponent.vue +1 -1
  92. package/src/search/ResultItem.vue +1 -1
  93. package/src/search/ResultsComponent.vue +1 -1
  94. package/src/search/SearchComponent.vue +3 -1
  95. package/src/uiConfig.d.ts +13 -4
  96. package/src/uiConfig.js +3 -2
  97. package/src/vcsUiApp.d.ts +15 -16
  98. package/src/vcsUiApp.js +13 -11
  99. package/dist/assets/ui-c6eb55a5.css +0 -1
  100. /package/dist/assets/{cesium-2afc3568.js → cesium-2ec6aae0.js} +0 -0
  101. /package/dist/assets/{ol-edf7bfb3.js → ol-b0e134cb.js} +0 -0
  102. /package/dist/assets/{vue-aefad438.js → vue-43880c5a.js} +0 -0
  103. /package/dist/assets/{vuetify-c3b6c9b3.css → vuetify-99bf601c.css} +0 -0
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-sheet>
2
+ <v-sheet class="vcs-feature-transforms">
3
3
  <v-container class="pl-0 pr-1 py-1">
4
4
  <v-row
5
5
  no-gutters
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <VcsFormSection
3
+ class="vcs-vector-properties-component"
3
4
  :heading="$attrs.heading || 'components.vectorProperties.header'"
4
5
  :expandable="expandable"
5
6
  :start-open="startOpen"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-sheet>
2
+ <v-sheet class="vcs-viewpoint-component">
3
3
  <VcsFormSection
4
4
  heading="components.viewpoint.general"
5
5
  :expandable="expandable"
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <AbstractConfigEditor
3
+ class="vcs-viewpoint-editor"
3
4
  @submit="apply"
4
5
  @cancel="cancel"
5
6
  @reset="reset"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div>
2
+ <div class="layer-tree">
3
3
  <VcsTreeview
4
4
  v-if="tree && tree.length"
5
5
  :items="tree"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <BalloonComponent v-bind="{ ...$attrs }">
2
+ <BalloonComponent v-bind="{ ...$attrs }" class="address-balloon-component">
3
3
  <template #default="{ attrs }">
4
4
  <v-list-item
5
5
  lines="two"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-card class="mx-auto elevation-0" v-if="position">
2
+ <v-card class="mx-auto elevation-0 balloon-component" v-if="position">
3
3
  <slot name="balloon-header" :attrs="{ ...$props, ...$attrs }">
4
4
  <v-list-item class="px-1">
5
5
  <template #prepend="prependScope">
@@ -1,5 +1,10 @@
1
1
  <template>
2
- <iframe :src="src" :title="title" :style="{ height, width }" />
2
+ <iframe
3
+ :src="src"
4
+ :title="title"
5
+ :style="{ height, width }"
6
+ class="iframe-component"
7
+ />
3
8
  </template>
4
9
  <script>
5
10
  import { inject } from 'vue';
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <BalloonComponent v-bind="{ ...$attrs }">
2
+ <BalloonComponent v-bind="{ ...$attrs }" class="markdown-balloon-component">
3
3
  <VcsMarkdown :content="content" />
4
4
  </BalloonComponent>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-list>
2
+ <v-list class="style-legend-item">
3
3
  <v-row no-gutters>
4
4
  <v-col
5
5
  v-for="(row, idx) in item.rows"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-sheet class="overflow-y-auto">
2
+ <v-sheet class="overflow-y-auto vcs-legend">
3
3
  <v-expansion-panels
4
4
  variant="accordion"
5
5
  multiple
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <vcs-expansion-panel
3
+ class="collection-component"
3
4
  :heading="title"
4
5
  :header-actions="actions"
5
6
  :action-button-list-overflow-count="overflowCount"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div @click.stop="close">
2
+ <div @click.stop="close" class="context-menu-component">
3
3
  <VcsActionList :actions="actions" :show-icon="true" />
4
4
  </div>
5
5
  </template>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- class="vcs-panel-frame"
3
+ class="vcs-panel-frame panel-manager-component"
4
4
  @mouseup="setResizing(undefined)"
5
5
  @mouseleave="setResizing(undefined)"
6
6
  ref="panelFrameRef"
@@ -85,7 +85,7 @@
85
85
  * @description PanelManager rendering all Panels
86
86
  */
87
87
  export default {
88
- name: 'VcsPanelManager',
88
+ name: 'VcsPanelManagerComponent',
89
89
  components: {
90
90
  VcsMainMap,
91
91
  PanelComponent,
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div v-if="orderedButtons.length > 0">
2
+ <div v-if="orderedButtons.length > 0" class="group-toolbox-component">
3
3
  <v-menu
4
4
  v-model="open"
5
5
  @update:model-value="$emit('toggle', open)"
@@ -66,7 +66,7 @@
66
66
  * @vue-computed {boolean} hasActiveAction - Whether the group has an active action.
67
67
  */
68
68
  export default {
69
- name: 'ToolboxActionGroup',
69
+ name: 'GroupToolboxComponent',
70
70
  components: {
71
71
  VcsToolButton,
72
72
  VMenu,
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="group.action"
4
- class="d-flex"
4
+ class="d-flex select-toolbox-component"
5
5
  :class="{ 'vcs-toolbox-action-select-button--active': open }"
6
6
  >
7
7
  <VcsToolButton
@@ -75,7 +75,7 @@
75
75
  * @vue-prop {SelectToolboxComponent} group - A toolbox group of type 'select'.
76
76
  */
77
77
  export default {
78
- name: 'ToolboxActionSelect',
78
+ name: 'SelectToolboxComponent',
79
79
  components: {
80
80
  VcsToolButton,
81
81
  VMenu,
@@ -1,9 +1,10 @@
1
1
  <template>
2
2
  <v-toolbar
3
3
  v-if="toolboxOpen && orderedGroups.length > 0 && mdAndUp"
4
- class="vcs-toolbox mx-auto elevation-4 opacity-80"
4
+ class="vcs-toolbox mx-auto elevation-4 opacity-80 toolbox-manager-component"
5
5
  :class="{
6
6
  'rounded-b': !open,
7
+ 'vcs-toolbox__secondary': !isDefaultToolbox,
7
8
  }"
8
9
  :height="toolboxHeight"
9
10
  :style="{ zIndex }"
@@ -41,6 +42,16 @@
41
42
  </template>
42
43
 
43
44
  <style lang="scss" scoped>
45
+ .vcs-toolbox__secondary {
46
+ &.vcs-toolbox.v-theme {
47
+ &--light {
48
+ background-color: rgba(var(--v-theme-primary-lighten-3));
49
+ }
50
+ &--dark {
51
+ background-color: rgba(var(--v-theme-primary-darken-4));
52
+ }
53
+ }
54
+ }
44
55
  .vcs-toolbox {
45
56
  margin-top: 2px;
46
57
  width: fit-content;
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <v-sheet
3
3
  :id="`window-component--${windowState.id}`"
4
- class="elevation-3 position-absolute d-flex flex-column"
4
+ class="elevation-3 position-absolute d-flex flex-column window-component"
5
5
  v-bind="$attrs"
6
6
  @dragstart="dragStart"
7
7
  @dragend="dragEnd"
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <div :class="{ 'win-container-mobile': addMobileClass }">
2
+ <div
3
+ :class="{ 'win-container-mobile': addMobileClass }"
4
+ class="window-manager"
5
+ >
3
6
  <WindowComponent
4
7
  v-for="id in componentIds"
5
8
  :key="id"
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <v-container :class="xs ? 'nav-container mobile' : 'nav-container'">
2
+ <v-container
3
+ :class="xs ? 'nav-container mobile' : 'nav-container'"
4
+ class="map-navigation"
5
+ >
3
6
  <v-row>
4
7
  <VcsCompass
5
8
  :view-mode="viewMode"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="d-inline-flex rounded vcs-oblique-orientation">
2
+ <div class="d-inline-flex rounded oblique-orientation">
3
3
  <div class="d-inline-flex rounded inner">
4
4
  <OrientationToolsButton
5
5
  @click="input(-90)"
@@ -56,7 +56,7 @@
56
56
  </script>
57
57
 
58
58
  <style lang="scss" scoped>
59
- .vcs-oblique-orientation {
59
+ .oblique-orientation {
60
60
  box-shadow: rgba(0, 0, 0, 0.15) 0 2px 2px 0;
61
61
  .inner {
62
62
  box-shadow: rgba(0, 0, 0, 0.25) 0 -2px 2px 0 inset;
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <v-card
3
- class="d-flex align-center justify-center text-center btn-orientation-tools"
3
+ class="d-flex align-center justify-center text-center btn-orientation-tools orientation-tools-button"
4
4
  v-bind="{ ...$attrs }"
5
5
  :height="height"
6
6
  :width="width"
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <v-card
3
+ class="tilt-slider"
3
4
  :width="minWidth"
4
5
  :height="minHeight"
5
6
  v-bind="props"
@@ -4,7 +4,7 @@
4
4
  transform: `rotate(${compassRotation}deg)`,
5
5
  }"
6
6
  @click="$emit('update:modelValue', 0)"
7
- class="d-flex flex-column justify-center align-center position-relative rounded-circle user-select-none transition-transform-200-ease"
7
+ class="d-flex flex-column justify-center align-center position-relative rounded-circle user-select-none transition-transform-200-ease vcs-compass"
8
8
  elevation="1"
9
9
  :height="height"
10
10
  :width="width"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="rounded vcs-navigation-zoom">
2
+ <div class="rounded vcs-navigation-zoom vcs-zoom-button">
3
3
  <div class="rounded inner">
4
4
  <OrientationToolsButton
5
5
  @click="$emit('zoom-in')"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div>
2
+ <div class="notifier-component">
3
3
  <v-snackbar
4
4
  v-for="notification in notifications"
5
5
  :key="notification.id"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-list-item v-if="item" v-bind="$attrs">
2
+ <v-list-item v-if="item" v-bind="$attrs" class="result-item">
3
3
  <template #prepend v-if="item.icon">
4
4
  <v-icon>
5
5
  {{ item.icon }}
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <v-list
3
- class="ma-0 overflow-y-auto vcs-search-results"
3
+ class="ma-0 overflow-y-auto vcs-search-results results-component"
4
4
  v-model:selected="highlighted"
5
5
  >
6
6
  <ResultItem
@@ -1,6 +1,8 @@
1
1
  <template>
2
2
  <v-sheet>
3
- <span class="d-flex justify-space-between align-center mt-1 ml-2">
3
+ <span
4
+ class="d-flex justify-space-between align-center mt-1 ml-2 search-component"
5
+ >
4
6
  <v-icon class="pa-1" :size="searchIconSize"> $vcsSearch </v-icon>
5
7
  <VcsTextField
6
8
  class="d-inline-block user-select-none w-100 mx-1"
package/src/uiConfig.d.ts CHANGED
@@ -137,9 +137,13 @@ export type UiConfigObject = {
137
137
  */
138
138
  displayQuality?: import("@vcmap/core").DisplayQualityOptions | undefined;
139
139
  /**
140
- * - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
140
+ * - Vuetify Theming, also see vuetify configuraton https://vuetifyjs.com/en/features/theme/
141
141
  */
142
142
  vuetifyTheme?: any;
143
+ /**
144
+ * - open the legend window, if new layer has a config
145
+ */
146
+ openLegendOnAdd?: boolean | undefined;
143
147
  };
144
148
  /**
145
149
  * @typedef {{
@@ -206,7 +210,8 @@ export type UiConfigObject = {
206
210
  * @property {boolean} [hideSettings] - can be used to hide the settings Window
207
211
  * @property {boolean} [overviewMapActiveOnStartup] - can be used to activate the overviewMap on startup
208
212
  * @property {import("@vcmap/core").DisplayQualityOptions} [displayQuality] - the display quality settings
209
- * @property {import("./vuetifyPlugins/vuetify.js").VcsThemes} [vuetifyTheme] - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
213
+ * @property {import("./vuetifyPlugins/vuetify.js").VcsThemes} [vuetifyTheme] - Vuetify Theming, also see vuetify configuraton https://vuetifyjs.com/en/features/theme/
214
+ * @property {boolean} [openLegendOnAdd] - open the legend window, if new layer has a config
210
215
  */
211
216
  /**
212
217
  * @extends {Collection<UiConfigurationItem<unknown>>}
@@ -233,7 +238,7 @@ declare class UiConfig extends Collection<UiConfigurationItem<unknown>> {
233
238
  */
234
239
  private _listeners;
235
240
  /**
236
- * @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>>}
241
+ * @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Record<string, *> & UiConfigObject>>}
237
242
  */
238
243
  get config(): {
239
244
  readonly [x: string]: any;
@@ -472,9 +477,13 @@ declare class UiConfig extends Collection<UiConfigurationItem<unknown>> {
472
477
  } | undefined;
473
478
  } | undefined;
474
479
  /**
475
- * - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
480
+ * - Vuetify Theming, also see vuetify configuraton https://vuetifyjs.com/en/features/theme/
476
481
  */
477
482
  readonly vuetifyTheme?: any;
483
+ /**
484
+ * - open the legend window, if new layer has a config
485
+ */
486
+ readonly openLegendOnAdd?: boolean | undefined;
478
487
  };
479
488
  }
480
489
  import { Collection } from '@vcmap/core';
package/src/uiConfig.js CHANGED
@@ -70,7 +70,8 @@ import { reactive, readonly } from 'vue';
70
70
  * @property {boolean} [hideSettings] - can be used to hide the settings Window
71
71
  * @property {boolean} [overviewMapActiveOnStartup] - can be used to activate the overviewMap on startup
72
72
  * @property {import("@vcmap/core").DisplayQualityOptions} [displayQuality] - the display quality settings
73
- * @property {import("./vuetifyPlugins/vuetify.js").VcsThemes} [vuetifyTheme] - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
73
+ * @property {import("./vuetifyPlugins/vuetify.js").VcsThemes} [vuetifyTheme] - Vuetify Theming, also see vuetify configuraton https://vuetifyjs.com/en/features/theme/
74
+ * @property {boolean} [openLegendOnAdd] - open the legend window, if new layer has a config
74
75
  */
75
76
 
76
77
  /**
@@ -117,7 +118,7 @@ class UiConfig extends Collection {
117
118
  }
118
119
 
119
120
  /**
120
- * @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Object<string, *> & UiConfigObject>>}
121
+ * @type {import("vue").DeepReadonly<import("vue").UnwrapNestedRefs<Record<string, *> & UiConfigObject>>}
121
122
  */
122
123
  get config() {
123
124
  return this._readonlyConfig;
package/src/vcsUiApp.d.ts CHANGED
@@ -70,20 +70,21 @@ declare class VcsUiApp extends VcsApp {
70
70
  */
71
71
  themeChanged: VcsEvent<void>;
72
72
  /**
73
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
73
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
74
74
  * @private
75
75
  */
76
76
  private _plugins;
77
77
  /**
78
- * @type {Array<function():void>}
78
+ * I18n Collection adds plugin listener first, so the plugin i18n data is available on plugin initialize
79
+ * @type {I18nCollection<Object>}
79
80
  * @private
80
81
  */
81
- private _pluginListeners;
82
+ private _i18n;
82
83
  /**
83
- * @type {I18nCollection<Object>}
84
+ * @type {Array<function():void>}
84
85
  * @private
85
86
  */
86
- private _i18n;
87
+ private _pluginListeners;
87
88
  /**
88
89
  *
89
90
  * @type {import("vue-i18n").I18n}
@@ -195,9 +196,9 @@ declare class VcsUiApp extends VcsApp {
195
196
  mounted: import("@vcmap/core").VcsEvent<string>;
196
197
  _destroySiteConfig: () => void;
197
198
  /**
198
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
199
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
199
200
  */
200
- get plugins(): import("@vcmap/core").OverrideCollection<any, Collection<any>, Object>;
201
+ get plugins(): import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>;
201
202
  /**
202
203
  * @type {import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>}
203
204
  */
@@ -250,13 +251,12 @@ declare class VcsUiApp extends VcsApp {
250
251
  * @returns {ReturnType<typeof import("vuetify").createVuetify>}
251
252
  */
252
253
  get vuetify(): {
253
- install: (app: import("vue").App<any>) => void;
254
- defaults: import("vue").Ref<import("vuetify").DefaultsInstance>;
255
- display: import("vuetify").DisplayInstance;
256
- /**
257
- * @type {NavbarManager}
254
+ install: (app: import("vue").App<any>) => void; /**
255
+ * @type {WindowManager}
258
256
  * @private
259
257
  */
258
+ defaults: import("vue").Ref<import("vuetify").DefaultsInstance>;
259
+ display: import("vuetify").DisplayInstance;
260
260
  theme: import("vuetify").ThemeInstance & {
261
261
  install: (app: import("vue").App<any>) => void;
262
262
  };
@@ -291,13 +291,12 @@ declare class VcsUiApp extends VcsApp {
291
291
  date: (value?: any) => unknown;
292
292
  format: (date: unknown, formatString: string) => string;
293
293
  toJsDate: (value: unknown) => Date;
294
- /**
294
+ parseISO: (date: string) => unknown;
295
+ toISO: (date: unknown) => string;
296
+ startOfDay: (date: unknown) => unknown; /**
295
297
  * @type {OverviewMap}
296
298
  * @private
297
299
  */
298
- parseISO: (date: string) => unknown;
299
- toISO: (date: unknown) => string;
300
- startOfDay: (date: unknown) => unknown;
301
300
  endOfDay: (date: unknown) => unknown;
302
301
  startOfWeek: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown;
303
302
  endOfWeek: (date: unknown) => unknown;
package/src/vcsUiApp.js CHANGED
@@ -170,7 +170,7 @@ class VcsUiApp extends VcsApp {
170
170
  */
171
171
  this.themeChanged = new VcsEvent();
172
172
  /**
173
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
173
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
174
174
  * @private
175
175
  */
176
176
  this._plugins = makeOverrideCollection(
@@ -179,6 +179,17 @@ class VcsUiApp extends VcsApp {
179
179
  serializePlugin,
180
180
  deserializePlugin,
181
181
  );
182
+
183
+ /**
184
+ * I18n Collection adds plugin listener first, so the plugin i18n data is available on plugin initialize
185
+ * @type {I18nCollection<Object>}
186
+ * @private
187
+ */
188
+ this._i18n = makeOverrideCollection(
189
+ new I18nCollection(this._plugins),
190
+ () => this.dynamicModuleId,
191
+ );
192
+
182
193
  /**
183
194
  * @type {Array<function():void>}
184
195
  * @private
@@ -222,15 +233,6 @@ class VcsUiApp extends VcsApp {
222
233
  }),
223
234
  ];
224
235
 
225
- /**
226
- * @type {I18nCollection<Object>}
227
- * @private
228
- */
229
- this._i18n = makeOverrideCollection(
230
- new I18nCollection(this._plugins),
231
- () => this.dynamicModuleId,
232
- );
233
-
234
236
  /**
235
237
  *
236
238
  * @type {import("vue-i18n").I18n}
@@ -375,7 +377,7 @@ class VcsUiApp extends VcsApp {
375
377
  }
376
378
 
377
379
  /**
378
- * @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
380
+ * @type {import("@vcmap/core").OverrideCollection<VcsPlugin<Object, Object>, Collection<VcsPlugin<Object, Object>>, Object>}
379
381
  */
380
382
  get plugins() {
381
383
  return this._plugins;