@vcmap/ui 6.0.0-rc.5 → 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 (156) hide show
  1. package/build/buildTypes.js +9 -5
  2. package/config/base.config.json +0 -6
  3. package/config/dev.config.json +4 -0
  4. package/config/projects.config.json +2 -1
  5. package/config/theming.config.json +68 -0
  6. package/config/www.config.json +31 -30
  7. package/dist/assets/cesium.js +1 -1
  8. package/dist/assets/{core-1c8b8674.js → core-e06aa7a6.js} +1403 -1375
  9. package/dist/assets/core.js +1 -1
  10. package/dist/assets/ol.js +1 -1
  11. package/dist/assets/ui-5dda32d2.css +1 -0
  12. package/dist/assets/{ui-7214428e.js → ui-5dda32d2.js} +11632 -11501
  13. package/dist/assets/ui.js +1 -1
  14. package/dist/assets/vue.js +1 -1
  15. package/dist/assets/{vuetify-88a2fabe.css → vuetify-4c4e4217.css} +1 -1
  16. package/dist/assets/{vuetify-88a2fabe.js → vuetify-4c4e4217.js} +2375 -2369
  17. package/dist/assets/vuetify.js +1 -1
  18. package/index.d.ts +22 -10
  19. package/index.js +9 -3
  20. package/package.json +3 -3
  21. package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
  22. package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
  23. package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
  24. package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
  25. package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
  26. package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
  27. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
  28. package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
  29. package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
  30. package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
  31. package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
  32. package/plugins/package.json +5 -1
  33. package/src/actions/actionHelper.d.ts +4 -11
  34. package/src/actions/actionHelper.js +2 -5
  35. package/src/actions/listActions.d.ts +2 -2
  36. package/src/application/VcsApp.vue +17 -19
  37. package/src/application/VcsApp.vue.d.ts +5 -1
  38. package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
  39. package/src/application/VcsContainer.vue +2 -2
  40. package/src/application/VcsContainer.vue.d.ts +5 -1
  41. package/src/application/VcsNavbar.vue +9 -1
  42. package/src/application/VcsNavbar.vue.d.ts +1 -0
  43. package/src/application/VcsSplashScreen.vue +11 -2
  44. package/src/application/attributionsHelper.d.ts +20 -22
  45. package/src/application/attributionsHelper.js +4 -4
  46. package/src/callback/vcsCallback.d.ts +2 -2
  47. package/src/callback/vcsCallback.js +1 -1
  48. package/src/components/buttons/VcsActionButtonList.vue +2 -3
  49. package/src/components/buttons/VcsButton.vue +2 -4
  50. package/src/components/buttons/VcsButton.vue.d.ts +1 -1
  51. package/src/components/buttons/VcsFormButton.vue +4 -4
  52. package/src/components/buttons/VcsToolButton.vue +4 -2
  53. package/src/components/buttons/VcsToolButton.vue.d.ts +2 -2
  54. package/src/components/composables.d.ts +5 -0
  55. package/src/components/composables.js +79 -9
  56. package/src/components/extent/VcsExtent.vue +10 -6
  57. package/src/components/extent/VcsExtent.vue.d.ts +1 -0
  58. package/src/components/flight/VcsFlightComponent.vue +13 -13
  59. package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
  60. package/src/components/form-inputs-controls/VcsCheckbox.vue +8 -3
  61. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +3 -8
  62. package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +0 -1
  63. package/src/components/form-inputs-controls/VcsCoordinate.vue +1 -2
  64. package/src/components/form-inputs-controls/VcsFileInput.vue +1 -1
  65. package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
  66. package/src/components/form-inputs-controls/VcsRadio.vue +8 -6
  67. package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
  68. package/src/components/form-inputs-controls/VcsSelect.vue +1 -1
  69. package/src/components/form-inputs-controls/VcsSlider.vue +5 -5
  70. package/src/components/form-inputs-controls/VcsTextArea.vue +1 -1
  71. package/src/components/form-inputs-controls/VcsTextField.vue +10 -1
  72. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +2 -1
  73. package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
  74. package/src/components/form-inputs-controls/VcsWizardStep.vue +5 -1
  75. package/src/components/form-inputs-controls/vcsTextField.scss +7 -1
  76. package/src/components/form-output/VcsFormattedNumber.vue +1 -1
  77. package/src/components/import/VcsImportComponent.vue +7 -4
  78. package/src/components/import/VcsImportComponent.vue.d.ts +1 -1
  79. package/src/components/lists/VcsActionList.vue +2 -6
  80. package/src/components/lists/VcsListItemComponent.vue +20 -10
  81. package/src/components/lists/VcsListItemComponent.vue.d.ts +11 -1
  82. package/src/components/lists/VcsTreeview.vue +53 -11
  83. package/src/components/lists/VcsTreeview.vue.d.ts +2 -0
  84. package/src/components/lists/VcsTreeviewSearchbar.vue +14 -3
  85. package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
  86. package/src/components/lists/VcsTreeviewTitle.vue +36 -0
  87. package/src/components/modelHelper.d.ts +10 -8
  88. package/src/components/modelHelper.js +8 -6
  89. package/src/components/notification/VcsHelp.vue +6 -7
  90. package/src/components/notification/VcsHelp.vue.d.ts +0 -9
  91. package/src/components/plugins/AbstractConfigEditor.vue +1 -22
  92. package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
  93. package/src/components/section/VcsExpansionPanel.vue +9 -3
  94. package/src/components/section/VcsExpansionPanel.vue.d.ts +2 -2
  95. package/src/components/section/VcsFormSection.vue +6 -6
  96. package/src/components/section/VcsFormSection.vue.d.ts +2 -2
  97. package/src/components/style/VcsImageSelector.vue +14 -6
  98. package/src/components/style/VcsImageSelector.vue.d.ts +1 -0
  99. package/src/components/style/VcsStrokeSelector.vue +5 -2
  100. package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
  101. package/src/components/style/VcsTextMenu.vue +2 -2
  102. package/src/components/tables/VcsDataTable.vue +14 -10
  103. package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
  104. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +42 -31
  105. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +1 -0
  106. package/src/components/viewpoint/VcsViewpointComponent.vue +12 -9
  107. package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
  108. package/src/contentTree/contentTreeItem.d.ts +2 -2
  109. package/src/contentTree/contentTreeItem.js +1 -1
  110. package/src/featureInfo/BalloonComponent.vue +21 -13
  111. package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
  112. package/src/featureInfo/abstractFeatureInfoView.d.ts +4 -4
  113. package/src/featureInfo/abstractFeatureInfoView.js +4 -4
  114. package/src/featureInfo/featureInfo.d.ts +2 -2
  115. package/src/featureInfo/featureInfo.js +1 -1
  116. package/src/i18n/i18nCollection.d.ts +9 -15
  117. package/src/i18n/i18nCollection.js +3 -3
  118. package/src/legend/VcsLegend.vue +6 -2
  119. package/src/legend/VcsLegend.vue.d.ts +1 -0
  120. package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
  121. package/src/manager/collectionManager/categoryManager.d.ts +1 -1
  122. package/src/manager/collectionManager/collectionComponentClass.d.ts +2 -2
  123. package/src/manager/collectionManager/collectionComponentClass.js +4 -4
  124. package/src/manager/collectionManager/collectionManager.d.ts +1 -1
  125. package/src/manager/toolbox/GroupToolboxComponent.vue +8 -6
  126. package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -1
  127. package/src/manager/toolbox/SelectToolboxComponent.vue +8 -6
  128. package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -1
  129. package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +8 -5
  130. package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -1
  131. package/src/manager/window/WindowComponentHeader.vue +6 -3
  132. package/src/manager/window/WindowComponentHeader.vue.d.ts +1 -0
  133. package/src/manager/window/windowManager.d.ts +6 -6
  134. package/src/manager/window/windowManager.js +3 -3
  135. package/src/navigation/OrientationToolsButton.vue +2 -4
  136. package/src/navigation/TiltSlider.vue +3 -5
  137. package/src/search/SearchComponent.vue +8 -6
  138. package/src/search/SearchComponent.vue.d.ts +1 -1
  139. package/src/styles/vcsList.scss +1 -1
  140. package/src/uiConfig.d.ts +12 -3
  141. package/src/uiConfig.js +2 -1
  142. package/src/vcsUiApp.d.ts +41 -56
  143. package/src/vcsUiApp.js +34 -28
  144. package/src/vuePlugins/vuetify.d.ts +88 -62
  145. package/src/vuePlugins/vuetify.js +116 -20
  146. package/dist/assets/ui-7214428e.css +0 -1
  147. package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
  148. package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
  149. package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
  150. package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
  151. package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
  152. package/src/components/lists/VcsTreeviewLeaf.vue +0 -92
  153. /package/dist/assets/{cesium-126f111a.js → cesium-ccb4cc30.js} +0 -0
  154. /package/dist/assets/{ol-27f9b3f3.js → ol-e7981d5c.js} +0 -0
  155. /package/dist/assets/{vue-c78a5f76.js → vue-87bc6efe.js} +0 -0
  156. /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -1,108 +0,0 @@
1
- import { ref } from 'vue';
2
- import { check } from '@vcsuite/check';
3
- import { ButtonLocation, createToggleAction, createVcsThemes } from '@vcmap/ui';
4
- import ThemeChangerComponent from './ThemeChangerComponent.vue';
5
- import packageJSON from '../package.json';
6
- import defaultConfig from '../config.json';
7
-
8
- /**
9
- * @typedef {Object} VuetifyTheme
10
- * @property {string} primary
11
- * @property {string} secondary
12
- * @property {string} accent
13
- * @property {string} error
14
- * @property {string} info
15
- * @property {string} success
16
- * @property {string} warning
17
- */
18
-
19
- /**
20
- * @typedef {Object} VcMapTheme
21
- * @property {string} name
22
- * @property {VuetifyTheme} light
23
- * @property {VuetifyTheme} dark
24
- */
25
-
26
- /**
27
- * @param {Object} config
28
- * @returns {VcsPlugin}
29
- */
30
- export default async function themeChanger(config) {
31
- /** @type {VcMapTheme} */
32
- const vcsTheme = {
33
- name: 'VCS Theme',
34
- ...createVcsThemes(),
35
- };
36
- const customThemes = config.themes || defaultConfig.themes;
37
- const availableThemes = [vcsTheme, ...customThemes];
38
-
39
- const pluginConfig = {
40
- themes: ref(/** @type {Array<VcMapTheme>} */ []),
41
- };
42
-
43
- const pluginState = {
44
- selected: ref(vcsTheme.name),
45
- };
46
-
47
- /**
48
- * @param {VcMapTheme} theme
49
- */
50
- function addTheme(theme) {
51
- check(theme.name, String);
52
- check(theme.light, Object);
53
- check(theme.dark, Object);
54
- pluginConfig.themes.value.push(theme);
55
- }
56
- availableThemes.forEach((t) => addTheme(t));
57
-
58
- return {
59
- get name() {
60
- return packageJSON.name;
61
- },
62
- get version() {
63
- return packageJSON.version;
64
- },
65
- get mapVersion() {
66
- return packageJSON.mapVersion;
67
- },
68
- config: pluginConfig,
69
- state: pluginState,
70
- addTheme,
71
- onVcsAppMounted(app) {
72
- const { action, destroy } = createToggleAction(
73
- {
74
- name: 'Theme Changer',
75
- icon: 'mdi-palette',
76
- },
77
- {
78
- id: 'theme-changer',
79
- component: ThemeChangerComponent,
80
- position: {
81
- left: '60%',
82
- right: '0%',
83
- top: '5%',
84
- bottom: '50%',
85
- },
86
- state: {
87
- headerTitle: 'Theme Changer',
88
- headerIcon: 'mdi-palette',
89
- },
90
- },
91
- app.windowManager,
92
- packageJSON.name,
93
- );
94
- app.navbarManager.add(
95
- { id: 'theme-changer', action },
96
- packageJSON.name,
97
- ButtonLocation.MENU,
98
- );
99
- this._destroyAction = destroy;
100
- },
101
- destroy() {
102
- if (this._destroyAction) {
103
- this._destroyAction();
104
- this._destroyAction = null;
105
- }
106
- },
107
- };
108
- }
@@ -1,92 +0,0 @@
1
- <script setup>
2
- import { computed, onUnmounted, ref, watch } from 'vue';
3
- import { VIcon, VTooltip } from 'vuetify/components';
4
- import { VTreeviewItem } from 'vuetify/labs/VTreeview';
5
- import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
6
- import ImageElementInjector from '../ImageElementInjector.vue';
7
-
8
- const props = defineProps({
9
- item: {
10
- type: Object,
11
- default: undefined,
12
- },
13
- });
14
-
15
- const isStringIcon = computed(() => typeof props.item?.icon === 'string');
16
- const parentElement = ref();
17
- const titleElem = ref();
18
- const offsetWidth = ref(0);
19
- const scrollWidth = ref(0);
20
-
21
- const observer = new ResizeObserver(() => {
22
- offsetWidth.value = titleElem.value.offsetWidth;
23
- scrollWidth.value = titleElem.value.scrollWidth;
24
- });
25
-
26
- watch(
27
- parentElement,
28
- (newValue, oldValue) => {
29
- if (oldValue) {
30
- observer.unobserve(oldValue.$el);
31
- }
32
- if (newValue) {
33
- observer.observe(newValue.$el);
34
- }
35
- },
36
- { immediate: true },
37
- );
38
-
39
- const tooltip = computed(() => {
40
- // tooltipIteration.value -= 1;
41
- if (props.item?.tooltip) {
42
- return props.item.tooltip;
43
- }
44
- if (offsetWidth.value < scrollWidth.value) {
45
- return props.item?.title ?? '';
46
- }
47
- return '';
48
- });
49
-
50
- onUnmounted(() => {
51
- observer.disconnect();
52
- });
53
- </script>
54
-
55
- <template>
56
- <v-treeview-item
57
- v-if="item"
58
- ref="parentElement"
59
- density="compact"
60
- class="vcs-treeview-leaf pr-2"
61
- >
62
- <template #prepend>
63
- <template v-if="item.icon">
64
- <v-icon v-if="isStringIcon" :size="16">
65
- {{ item.icon }}
66
- </v-icon>
67
- <ImageElementInjector :element="item.icon" v-else />
68
- </template>
69
- </template>
70
- <div class="text-truncate" ref="titleElem">
71
- {{ $st(item.title || item.name) }}
72
- </div>
73
- <v-tooltip
74
- activator="parent"
75
- v-if="tooltip"
76
- :text="$st(tooltip)"
77
- location="bottom"
78
- />
79
- <template #append>
80
- <VcsActionButtonList
81
- v-if="item.actions?.length > 0"
82
- :actions="item.actions"
83
- :overflow-count="3"
84
- :disabled="item.disabled"
85
- right
86
- tooltip-position="right"
87
- block-overflow
88
- class="col-4 pa-0 d-flex align-center"
89
- />
90
- </template>
91
- </v-treeview-item>
92
- </template>
File without changes