@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
@@ -24,13 +24,13 @@ import { renderTemplate } from '../components/form-output/markdownHelper.js';
24
24
  * keyMapping?: Record<string,string>,
25
25
  * valueMapping?: Record<string, string|Record<string,string>>,
26
26
  * tags?: Record<string, HTMLTagOptions>,
27
- * window?: import("../manager/window/windowManager.js").WindowComponentOptions
27
+ * window?: Pick<import("../manager/window/windowManager.js").WindowComponentOptions,'state'|'slot'|'position'>
28
28
  * }} FeatureInfoViewOptions
29
29
  * @property {Array<string>} [attributeKeys] - list of keys to filter attributes of selected feature
30
30
  * @property {Object<string,string>} [keyMapping] - object providing text replacements or i18n strings for attribute keys
31
31
  * @property {Object<string, string|Object<string,string>>} [valueMapping] - object providing text replacements or i18n strings for attribute values
32
32
  * @property {Object<string,HTMLTagOptions>} [tags] - object with keys rendered as special html element. Value contains html options
33
- * @property {import("../manager/window/windowManager.js").WindowComponentOptions} [window] - state, slot, position can be set. Other options are predefined. headerTitle of window state can be a template string, e.g. "{{myAttribute}}" or ["{{layerName}}", " - ", "{{myAttribute}}"]
33
+ * @property {Pick<import("../manager/window/windowManager.js").WindowComponentOptions,'state'|'slot'|'position'>} [window] - state, slot, position can be set. Other options are predefined. headerTitle of window state can be a template string, e.g. "{{myAttribute}}" or ["{{layerName}}", " - ", "{{myAttribute}}"]
34
34
  */
35
35
 
36
36
  /**
@@ -314,7 +314,7 @@ class AbstractFeatureInfoView extends VcsObject {
314
314
  */
315
315
  this.tags = options.tags || defaultOptions.tags;
316
316
  /**
317
- * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
317
+ * @type {Pick<import("../manager/window/windowManager.js").WindowComponentOptions,'state'|'slot'|'position'>|Object}
318
318
  * @private
319
319
  */
320
320
  this._window = options.window || defaultOptions.window;
@@ -327,7 +327,7 @@ class AbstractFeatureInfoView extends VcsObject {
327
327
 
328
328
  /**
329
329
  * window options, configured in a module, used only internally by AbstractFeatureInfoView or subclass
330
- * @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
330
+ * @type {Pick<import("../manager/window/windowManager.js").WindowComponentOptions<FeatureInfoProps>,'state'|'slot'|'position'>|Object}
331
331
  */
332
332
  get window() {
333
333
  return this._window;
@@ -11,9 +11,9 @@ export function getHighlightStyle(feature: FeatureType, layer: import("@vcmap/co
11
11
  */
12
12
  export function createFeatureInfoSession(app: import("../vcsUiApp.js").default): FeatureInfoSession;
13
13
  /**
14
- * @type {ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
14
+ * @type {ClassRegistry<typeof AbstractFeatureInfoView>}
15
15
  */
16
- export const featureInfoClassRegistry: ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>;
16
+ export const featureInfoClassRegistry: ClassRegistry<typeof AbstractFeatureInfoView>;
17
17
  /**
18
18
  * Symbol added to features to overwrite the layers predefined feature info
19
19
  * @type {symbol}
@@ -54,7 +54,7 @@ function getLogger() {
54
54
  }
55
55
 
56
56
  /**
57
- * @type {ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
57
+ * @type {ClassRegistry<typeof AbstractFeatureInfoView>}
58
58
  */
59
59
  export const featureInfoClassRegistry = new ClassRegistry();
60
60
 
@@ -16,8 +16,8 @@ export function mergeDeep(...sources: Object[]): Object;
16
16
  /**
17
17
  * Item for internationalization containing an object with key value mapping for each locale (de, en, nl, pl, ...).
18
18
  * Other locales can be supported by adding corresponding mapping objects with associated locale key.
19
- * @typedef {Object} I18nConfigurationItem
20
- * @property {string} [name] - optional name for the item. If not provided checksum is used.
19
+ * @typedef {Record<string, string | object> & { name: string, properties?: object, de?: object, en?: object }} I18nConfigurationItem
20
+ * @property {string} name - the name for the item.
21
21
  * @property {Object} [properties]
22
22
  * @property {Object} [de]
23
23
  * @property {Object} [en]
@@ -33,17 +33,11 @@ export default I18nCollection;
33
33
  * Item for internationalization containing an object with key value mapping for each locale (de, en, nl, pl, ...).
34
34
  * Other locales can be supported by adding corresponding mapping objects with associated locale key.
35
35
  */
36
- export type I18nConfigurationItem = {
37
- /**
38
- * - optional name for the item. If not provided checksum is used.
39
- */
40
- name?: string | undefined;
41
- properties?: Object | undefined;
42
- de?: Object | undefined;
43
- /**
44
- * ...
45
- */
46
- en?: Object | undefined;
36
+ export type I18nConfigurationItem = Record<string, string | object> & {
37
+ name: string;
38
+ properties?: object;
39
+ de?: object;
40
+ en?: object;
47
41
  };
48
42
  /**
49
43
  * @extends {IndexedCollection<I18nConfigurationItem>}
@@ -74,9 +68,9 @@ declare class I18nCollection extends IndexedCollection<I18nConfigurationItem> {
74
68
  /**
75
69
  * Returns a merged Message Object with the locale as a key and an Object with all the translated keys.
76
70
  * Includes all available plugin messages.
77
- * @returns {Object}
71
+ * @returns {Record<string, object>}
78
72
  */
79
- getMergedMessages(): Object;
73
+ getMergedMessages(): Record<string, object>;
80
74
  }
81
75
  import { IndexedCollection } from '@vcmap/core';
82
76
  import { VcsEvent } from '@vcmap/core';
@@ -17,8 +17,8 @@ export function isObject(item) {
17
17
  /**
18
18
  * Item for internationalization containing an object with key value mapping for each locale (de, en, nl, pl, ...).
19
19
  * Other locales can be supported by adding corresponding mapping objects with associated locale key.
20
- * @typedef {Object} I18nConfigurationItem
21
- * @property {string} [name] - optional name for the item. If not provided checksum is used.
20
+ * @typedef {Record<string, string | object> & { name: string, properties?: object, de?: object, en?: object }} I18nConfigurationItem
21
+ * @property {string} name - the name for the item.
22
22
  * @property {Object} [properties]
23
23
  * @property {Object} [de]
24
24
  * @property {Object} [en]
@@ -113,7 +113,7 @@ class I18nCollection extends IndexedCollection {
113
113
  /**
114
114
  * Returns a merged Message Object with the locale as a key and an Object with all the translated keys.
115
115
  * Includes all available plugin messages.
116
- * @returns {Object}
116
+ * @returns {Record<string, object>}
117
117
  */
118
118
  getMergedMessages() {
119
119
  const pluginMessages = [...this._pluginCollection]
@@ -25,12 +25,12 @@
25
25
  </div>
26
26
  <div v-else-if="item.type === LegendType.Iframe">
27
27
  <iframe
28
- :id="`legendIframe${idx}`"
28
+ :id="`${cid}-legendIframe${idx}`"
29
29
  :src="$st(item.src)"
30
30
  scrolling="no"
31
31
  style="width: 100%; height: 100%"
32
32
  frameBorder="0"
33
- @load="setIframeHeight(`legendIframe${idx}`)"
33
+ @load="setIframeHeight(`${cid}-legendIframe${idx}`)"
34
34
  />
35
35
  </div>
36
36
  <style-legend-item v-else :item="item" />
@@ -47,6 +47,7 @@
47
47
  <script>
48
48
  import { VExpansionPanels, VList, VSheet } from 'vuetify/components';
49
49
  import { computed } from 'vue';
50
+ import { useComponentId } from '../components/composables.js';
50
51
  import { LegendType } from './legendHelper.js';
51
52
  import StyleLegendItem from './StyleLegendItem.vue';
52
53
  import VcsExpansionPanel from '../components/section/VcsExpansionPanel.vue';
@@ -93,10 +94,13 @@
93
94
  set() {},
94
95
  });
95
96
 
97
+ const cid = useComponentId();
98
+
96
99
  return {
97
100
  LegendType,
98
101
  setIframeHeight,
99
102
  panels, // TODO
103
+ cid,
100
104
  };
101
105
  },
102
106
  };
@@ -11,6 +11,7 @@ declare const _default: import("vue").DefineComponent<{
11
11
  };
12
12
  setIframeHeight: (id: string) => void;
13
13
  panels: import("vue").ComputedRef<number[]>;
14
+ cid: string;
14
15
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
16
  entries: {
16
17
  type: ArrayConstructor;
@@ -136,6 +136,6 @@
136
136
 
137
137
  <style lang="scss" scoped>
138
138
  .inner-header {
139
- height: calc(var(--v-vcs-item-height) - 8px);
139
+ height: calc(var(--v-vcs-font-size) * 2 - 2px);
140
140
  }
141
141
  </style>
@@ -57,7 +57,7 @@ declare class CategoryManager extends CollectionManager implements ICategoryMana
57
57
  */
58
58
  requestCategory<T extends Object | import("@vcmap/core").VcsObject>(options: import("@vcmap/core").CategoryOptions<T>, owner: string | symbol, collectionComponentOptions?: import("./collectionComponentClass.js").CollectionComponentUiOptions): Promise<{
59
59
  collectionComponent: import("./collectionComponentClass.js").default<T>;
60
- category: import("@vcmap/core").Category<T>;
60
+ category: import("@vcmap/core").Category<T, object>;
61
61
  }>;
62
62
  /**
63
63
  * Updates the filterFunction for added moduleIds.
@@ -51,9 +51,9 @@ export type CollectionComponentListItem = import("../../components/lists/VcsList
51
51
  * Listens to all collection events and synchronizes changes to the items array.
52
52
  * The Collection Items will be transformed and filtered with the given itemMappings and itemFilter functions
53
53
  * @class
54
- * @template {Object|import("@vcmap/core").VcsObject} T
54
+ * @template {Object|import("@vcmap/core").VcsObject} [T=Object|import("@vcmap/core").VcsObject]
55
55
  */
56
- declare class CollectionComponentClass<T extends Object | import("@vcmap/core").VcsObject> {
56
+ declare class CollectionComponentClass<T extends Object | import("@vcmap/core").VcsObject = Object | import("@vcmap/core").VcsObject> {
57
57
  /**
58
58
  * @param {CollectionComponentClassOptions<T>} options
59
59
  * @param {string|import("../../pluginHelper.js").vcsAppSymbol} owner
@@ -1,7 +1,7 @@
1
1
  import { IndexedCollection, isOverrideCollection } from '@vcmap/core';
2
2
  import { getLogger } from '@vcsuite/logger';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
- import { computed, ref, shallowRef, watch } from 'vue';
4
+ import { computed, reactive, ref, shallowRef, watch } from 'vue';
5
5
  import { parseBoolean, parseNumber } from '@vcsuite/parsers';
6
6
  import { check, oneOf } from '@vcsuite/check';
7
7
  import { validateAction } from '../../components/lists/VcsActionList.vue';
@@ -95,7 +95,7 @@ export function createSupportedMapMappingFunction(
95
95
  * Listens to all collection events and synchronizes changes to the items array.
96
96
  * The Collection Items will be transformed and filtered with the given itemMappings and itemFilter functions
97
97
  * @class
98
- * @template {Object|import("@vcmap/core").VcsObject} T
98
+ * @template {Object|import("@vcmap/core").VcsObject} [T=Object|import("@vcmap/core").VcsObject]
99
99
  */
100
100
  class CollectionComponentClass {
101
101
  /**
@@ -341,7 +341,7 @@ class CollectionComponentClass {
341
341
  */
342
342
  _transformItem(item) {
343
343
  const keyProperty = this._collection.uniqueKey;
344
- const listItem = {
344
+ const listItem = reactive({
345
345
  get name() {
346
346
  return item[keyProperty];
347
347
  },
@@ -356,7 +356,7 @@ class CollectionComponentClass {
356
356
  clickedCallbacks: [],
357
357
  destroy: undefined,
358
358
  destroyFunctions: [],
359
- };
359
+ });
360
360
  if (this.renamable.value) {
361
361
  listItem.renamable = {
362
362
  name: this._actionTitles.renameTitle,
@@ -18,7 +18,7 @@ export type OwnedAction = {
18
18
  weight?: number | undefined;
19
19
  owner: string | symbol;
20
20
  };
21
- export type ICollectionManager = import("../../vcsUiApp.js").VcsComponentManager<CollectionComponentClass<any>, import("./collectionComponentClass.js").CollectionComponentClassOptions<Object>>;
21
+ export type ICollectionManager = import("../../vcsUiApp.js").VcsComponentManager<CollectionComponentClass, import("./collectionComponentClass.js").CollectionComponentClassOptions<Object>>;
22
22
  /**
23
23
  * @typedef {function(T, import("./collectionComponentClass.js").default<T>, import("./collectionComponentClass.js").CollectionComponentListItem): void} MappingFunction
24
24
  * @template {Object} T
@@ -22,9 +22,8 @@
22
22
  </template>
23
23
 
24
24
  <v-toolbar
25
- id="vcs-toolbox-toolbar--secondary"
26
- class="mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
27
- :height="itemHeight + 8"
25
+ class="vcs-toolbox-toolbar--secondary mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
26
+ :height="toolboxHeight"
28
27
  >
29
28
  <v-toolbar-items class="w-100">
30
29
  <div class="d-flex align-center justify-space-between gc-1 w-100">
@@ -54,7 +53,7 @@
54
53
  import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
55
54
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
56
55
  import { getComponentsByOrder } from './toolboxManager.js';
57
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
56
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
58
57
 
59
58
  /**
60
59
  * @description
@@ -95,13 +94,16 @@
95
94
  orderedButtons.value.some((a) => a.action.active),
96
95
  );
97
96
 
98
- const itemHeight = useItemHeight();
97
+ const fontSize = useFontSize();
98
+ const toolboxHeight = computed(() => {
99
+ return fontSize.value * 3 + 1;
100
+ });
99
101
 
100
102
  return {
101
103
  open,
102
104
  orderedButtons,
103
105
  hasActiveAction,
104
- itemHeight,
106
+ toolboxHeight,
105
107
  };
106
108
  },
107
109
  };
@@ -7,7 +7,7 @@ declare const _default: import("vue").DefineComponent<{
7
7
  open: import("vue").Ref<boolean>;
8
8
  orderedButtons: import("vue").ComputedRef<(import("../buttonManager.js", { with: { "resolution-mode": "import" } }).ButtonComponent | import("./toolboxManager.js", { with: { "resolution-mode": "import" } }).ToolboxComponent)[]>;
9
9
  hasActiveAction: import("vue").ComputedRef<boolean>;
10
- itemHeight: import("vue").ComputedRef<number>;
10
+ toolboxHeight: import("vue").ComputedRef<number>;
11
11
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
12
  group: {
13
13
  type: ObjectConstructor;
@@ -38,7 +38,7 @@
38
38
 
39
39
  <v-toolbar
40
40
  class="vcs-toolbox-2 mx-auto marginToTop rounded-b elevation-4 opacity-80 px-1"
41
- :height="itemHeight + 8"
41
+ :height="toolboxHeight"
42
42
  dense
43
43
  >
44
44
  <v-toolbar-items class="w-100">
@@ -64,10 +64,10 @@
64
64
  }
65
65
  </style>
66
66
  <script>
67
- import { ref } from 'vue';
67
+ import { ref, computed } from 'vue';
68
68
  import { VMenu, VIcon, VToolbar, VToolbarItems } from 'vuetify/components';
69
69
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
70
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
70
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
71
71
 
72
72
  /**
73
73
  * @description
@@ -91,11 +91,13 @@
91
91
  },
92
92
  setup() {
93
93
  const open = ref(false);
94
- const itemHeight = useItemHeight();
95
-
94
+ const fontSize = useFontSize();
95
+ const toolboxHeight = computed(() => {
96
+ return fontSize.value * 3 + 1;
97
+ });
96
98
  return {
97
99
  open,
98
- itemHeight,
100
+ toolboxHeight,
99
101
  };
100
102
  },
101
103
  };
@@ -5,7 +5,7 @@ declare const _default: import("vue").DefineComponent<{
5
5
  };
6
6
  }, {
7
7
  open: import("vue").Ref<boolean>;
8
- itemHeight: import("vue").ComputedRef<number>;
8
+ toolboxHeight: import("vue").ComputedRef<number>;
9
9
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
10
  group: {
11
11
  type: ObjectConstructor;
@@ -5,7 +5,7 @@
5
5
  :class="{
6
6
  'rounded-b': !open,
7
7
  }"
8
- :height="itemHeight + 8"
8
+ :height="toolboxHeight"
9
9
  :style="{ zIndex }"
10
10
  @click.stop="bringToTop"
11
11
  >
@@ -61,7 +61,7 @@
61
61
  import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
62
62
  import { vcsAppSymbol } from '../../pluginHelper.js';
63
63
  import { ButtonLocation } from '../navbarManager.js';
64
- import { useItemHeight } from '../../vuePlugins/vuetify.js';
64
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
65
65
 
66
66
  /**
67
67
  * @typedef {Object} ToolboxButtonGroup
@@ -85,7 +85,7 @@
85
85
  * @vue-computed {Array<ToolboxButtonGroup>} orderedGroups - Array of group components sorted by owner
86
86
  */
87
87
  export default {
88
- name: 'VcsToolboxManager',
88
+ name: 'ToolboxManagerComponent',
89
89
  components: {
90
90
  ToolboxActionSelect,
91
91
  ToolboxActionGroup,
@@ -184,7 +184,10 @@
184
184
  };
185
185
 
186
186
  const { mdAndUp } = useDisplay();
187
- const itemHeight = useItemHeight();
187
+ const fontSize = useFontSize();
188
+ const toolboxHeight = computed(() => {
189
+ return fontSize.value * 3 + 1;
190
+ });
188
191
  return {
189
192
  mdAndUp,
190
193
  toolboxOpen,
@@ -202,7 +205,7 @@
202
205
  bringToTop();
203
206
  }
204
207
  },
205
- itemHeight,
208
+ toolboxHeight,
206
209
  };
207
210
  },
208
211
  };
@@ -12,7 +12,7 @@ declare const _default: import("vue").DefineComponent<{}, {
12
12
  open: import("vue").Ref<boolean>;
13
13
  bringToTop: () => void;
14
14
  openGroup(group: any): void;
15
- itemHeight: import("vue").ComputedRef<number>;
15
+ toolboxHeight: import("vue").ComputedRef<number>;
16
16
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
17
17
  export default _default;
18
18
  export type ToolboxButtonGroup = {
@@ -7,7 +7,7 @@
7
7
  v-if="windowState.headerIcon"
8
8
  class="mr-1"
9
9
  :class="{ 'text-primary': isOnTop }"
10
- size="16"
10
+ :size="iconSize"
11
11
  >
12
12
  {{ windowState.headerIcon }}
13
13
  </v-icon>
@@ -56,10 +56,10 @@
56
56
 
57
57
  <style lang="scss" scoped>
58
58
  .window-component-header {
59
- max-height: calc(var(--v-vcs-item-height) / 2);
59
+ max-height: calc(var(--v-vcs-font-size) * 2 - 10px);
60
60
 
61
61
  h3 {
62
- line-height: calc(var(--v-vcs-item-height) / 2);
62
+ line-height: calc(var(--v-vcs-font-size) * 2 - 10px);
63
63
  }
64
64
  .v-divider--vertical.v-divider--inset {
65
65
  margin-top: 2px;
@@ -84,6 +84,7 @@
84
84
  import VcsButton from '../../components/buttons/VcsButton.vue';
85
85
  import VcsActionButtonList from '../../components/buttons/VcsActionButtonList.vue';
86
86
  import { createLinkAction } from '../../actions/actionHelper.js';
87
+ import { useIconSize } from '../../vuePlugins/vuetify.js';
87
88
 
88
89
  /**
89
90
  * @description Default window component header with drag functionality close action and further optional window actions.
@@ -151,12 +152,14 @@
151
152
  )
152
153
  : undefined;
153
154
 
155
+ const iconSize = useIconSize();
154
156
  return {
155
157
  pin,
156
158
  close,
157
159
  isDockable,
158
160
  translatedHeaderTitle,
159
161
  headerRef,
162
+ iconSize,
160
163
  headerTooltip: createEllipseTooltip(
161
164
  computed(() => headerRef.value),
162
165
  computed(() => undefined),
@@ -18,6 +18,7 @@ declare const _default: import("vue").DefineComponent<{
18
18
  isDockable: import("vue").ComputedRef<any>;
19
19
  translatedHeaderTitle: import("vue").ComputedRef<any>;
20
20
  headerRef: import("vue").Ref<null>;
21
+ iconSize: import("vue").ComputedRef<number>;
21
22
  headerTooltip: import("vue").ComputedRef<string>;
22
23
  infoAction: import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).VcsAction | undefined;
23
24
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -15,15 +15,15 @@ export function isSlotPosition(windowPosition: WindowPosition): boolean;
15
15
  * @typedef {{
16
16
  * id?: string,
17
17
  * parentId?: string,
18
- * component: import("vue").Component<T, unknown, unknown>,
19
- * headerComponent?: import("vue").Component<T, unknown, unknown>,
18
+ * component: import("vue").Component<T>,
19
+ * headerComponent?: import("vue").Component<T>,
20
20
  * state? : Partial<WindowState>,
21
21
  * position? : Partial<WindowPositionOptions>,
22
22
  * slot?: WindowSlot,
23
23
  * props?: T,
24
24
  * provides?: Record<string, unknown>
25
25
  * }} WindowComponentOptions
26
- * @template {Object} [T=Object]
26
+ * @template [T=any]
27
27
  * @property {string} [id] Optional ID, If not provided an uuid will be generated.
28
28
  * @property {string} [parentId] An optional ID of a parent window for 'dynamicChild' slot. Parent windows with slot dynamicRight are not supported.
29
29
  * @property {import("vue").Component<T, unknown, unknown>} component Main Component which is shown below the header.
@@ -129,11 +129,11 @@ export namespace WindowPositions {
129
129
  export { DETACHED_1 as DETACHED };
130
130
  }
131
131
  export default WindowManager;
132
- export type WindowComponentOptions<T extends Object = Object> = {
132
+ export type WindowComponentOptions<T = any> = {
133
133
  id?: string;
134
134
  parentId?: string;
135
- component: import("vue").Component<T, unknown, unknown>;
136
- headerComponent?: import("vue").Component<T, unknown, unknown>;
135
+ component: import("vue").Component<T>;
136
+ headerComponent?: import("vue").Component<T>;
137
137
  state?: Partial<WindowState>;
138
138
  position?: Partial<WindowPositionOptions>;
139
139
  slot?: WindowSlot;
@@ -105,15 +105,15 @@ export function isSlotPosition(windowPosition) {
105
105
  * @typedef {{
106
106
  * id?: string,
107
107
  * parentId?: string,
108
- * component: import("vue").Component<T, unknown, unknown>,
109
- * headerComponent?: import("vue").Component<T, unknown, unknown>,
108
+ * component: import("vue").Component<T>,
109
+ * headerComponent?: import("vue").Component<T>,
110
110
  * state? : Partial<WindowState>,
111
111
  * position? : Partial<WindowPositionOptions>,
112
112
  * slot?: WindowSlot,
113
113
  * props?: T,
114
114
  * provides?: Record<string, unknown>
115
115
  * }} WindowComponentOptions
116
- * @template {Object} [T=Object]
116
+ * @template [T=any]
117
117
  * @property {string} [id] Optional ID, If not provided an uuid will be generated.
118
118
  * @property {string} [parentId] An optional ID of a parent window for 'dynamicChild' slot. Parent windows with slot dynamicRight are not supported.
119
119
  * @property {import("vue").Component<T, unknown, unknown>} component Main Component which is shown below the header.
@@ -18,7 +18,7 @@
18
18
  <script>
19
19
  import { VCard, VIcon, VTooltip } from 'vuetify/components';
20
20
  import { computed } from 'vue';
21
- import { useFontSize } from '../vuePlugins/vuetify.js';
21
+ import { useFontSize, useIconSize } from '../vuePlugins/vuetify.js';
22
22
 
23
23
  /**
24
24
  * @description v-card with h & w 8. Requires an icon and binds all attributes & listeners to the v-card
@@ -50,9 +50,7 @@
50
50
  setup() {
51
51
  const fontSize = useFontSize();
52
52
 
53
- const iconSize = computed(() => {
54
- return fontSize.value * (1.2 + 0.1 / 3);
55
- });
53
+ const iconSize = useIconSize();
56
54
  const height = computed(() => {
57
55
  return fontSize.value * 2.5;
58
56
  });
@@ -65,7 +65,7 @@
65
65
  <script>
66
66
  import { computed, defineComponent } from 'vue';
67
67
  import { VCard, VSlider, VTooltip } from 'vuetify/components';
68
- import { useFontSize, useItemHeight } from '../vuePlugins/vuetify.js';
68
+ import { useFontSize } from '../vuePlugins/vuetify.js';
69
69
  import { useProxiedAtomicModel } from '../components/modelHelper.js';
70
70
 
71
71
  export default defineComponent({
@@ -87,15 +87,13 @@
87
87
  },
88
88
  },
89
89
  setup(props, { emit }) {
90
- const itemHeight = useItemHeight();
91
-
90
+ const fontSize = useFontSize();
92
91
  const trackSize = computed(() => {
93
- return Math.floor(itemHeight.value / 12);
92
+ return Math.floor((fontSize.value + 3) / 6);
94
93
  });
95
94
  const tickSize = computed(() => {
96
95
  return trackSize.value * 2;
97
96
  });
98
- const fontSize = useFontSize();
99
97
  const minWidth = computed(() => {
100
98
  return fontSize.value * 2.5;
101
99
  });
@@ -1,7 +1,7 @@
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" :size="itemHeight - 8"> $vcsSearch </v-icon>
4
+ <v-icon class="pa-1" :size="searchIconSize"> $vcsSearch </v-icon>
5
5
  <VcsTextField
6
6
  class="d-inline-block user-select-none w-100 mx-1"
7
7
  autofocus
@@ -35,13 +35,13 @@
35
35
  </style>
36
36
 
37
37
  <script>
38
- import { inject, onUnmounted, ref } from 'vue';
38
+ import { inject, onUnmounted, ref, computed } from 'vue';
39
39
  import { getLogger } from '@vcsuite/logger';
40
40
  import { VSheet, VDivider, VIcon } from 'vuetify/components';
41
41
  import VcsTextField from '../components/form-inputs-controls/VcsTextField.vue';
42
42
  import ResultsComponent from './ResultsComponent.vue';
43
43
  import VcsFormButton from '../components/buttons/VcsFormButton.vue';
44
- import { useItemHeight } from '../vuePlugins/vuetify.js';
44
+ import { useFontSize } from '../vuePlugins/vuetify.js';
45
45
 
46
46
  /**
47
47
  * @description Stylized search component providing an input field for search inputs.
@@ -94,8 +94,10 @@
94
94
  clear();
95
95
  });
96
96
 
97
- const itemHeight = useItemHeight();
98
-
97
+ const fontSize = useFontSize();
98
+ const searchIconSize = computed(() => {
99
+ return fontSize.value + 11;
100
+ });
99
101
  return {
100
102
  query,
101
103
  searching,
@@ -104,7 +106,7 @@
104
106
  clear,
105
107
  search,
106
108
  zoomToAll,
107
- itemHeight,
109
+ searchIconSize,
108
110
  };
109
111
  },
110
112
  };
@@ -6,6 +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
+ searchIconSize: import("vue").ComputedRef<number>;
10
10
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
11
11
  export default _default;
@@ -3,6 +3,6 @@
3
3
 
4
4
  .vcsList {
5
5
  .v-list-item--density-compact.v-list-item--one-line {
6
- min-height: var(--v-vcs-item-height);
6
+ min-height: calc(var(--v-vcs-font-size) * 2 + 6px);
7
7
  }
8
8
  }