@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.
- package/build/buildTypes.js +9 -5
- package/config/base.config.json +0 -6
- package/config/dev.config.json +4 -0
- package/config/projects.config.json +2 -1
- package/config/theming.config.json +68 -0
- package/config/www.config.json +31 -30
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-1c8b8674.js → core-e06aa7a6.js} +1403 -1375
- package/dist/assets/core.js +1 -1
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-5dda32d2.css +1 -0
- package/dist/assets/{ui-7214428e.js → ui-5dda32d2.js} +11632 -11501
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-88a2fabe.css → vuetify-4c4e4217.css} +1 -1
- package/dist/assets/{vuetify-88a2fabe.js → vuetify-4c4e4217.js} +2375 -2369
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +22 -10
- package/index.js +9 -3
- package/package.json +3 -3
- package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
- package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
- package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
- package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
- package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
- package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
- package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
- package/plugins/package.json +5 -1
- package/src/actions/actionHelper.d.ts +4 -11
- package/src/actions/actionHelper.js +2 -5
- package/src/actions/listActions.d.ts +2 -2
- package/src/application/VcsApp.vue +17 -19
- package/src/application/VcsApp.vue.d.ts +5 -1
- package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
- package/src/application/VcsContainer.vue +2 -2
- package/src/application/VcsContainer.vue.d.ts +5 -1
- package/src/application/VcsNavbar.vue +9 -1
- package/src/application/VcsNavbar.vue.d.ts +1 -0
- package/src/application/VcsSplashScreen.vue +11 -2
- package/src/application/attributionsHelper.d.ts +20 -22
- package/src/application/attributionsHelper.js +4 -4
- package/src/callback/vcsCallback.d.ts +2 -2
- package/src/callback/vcsCallback.js +1 -1
- package/src/components/buttons/VcsActionButtonList.vue +2 -3
- package/src/components/buttons/VcsButton.vue +2 -4
- package/src/components/buttons/VcsButton.vue.d.ts +1 -1
- package/src/components/buttons/VcsFormButton.vue +4 -4
- package/src/components/buttons/VcsToolButton.vue +4 -2
- package/src/components/buttons/VcsToolButton.vue.d.ts +2 -2
- package/src/components/composables.d.ts +5 -0
- package/src/components/composables.js +79 -9
- package/src/components/extent/VcsExtent.vue +10 -6
- package/src/components/extent/VcsExtent.vue.d.ts +1 -0
- package/src/components/flight/VcsFlightComponent.vue +13 -13
- package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsCheckbox.vue +8 -3
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +3 -8
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +0 -1
- package/src/components/form-inputs-controls/VcsCoordinate.vue +1 -2
- package/src/components/form-inputs-controls/VcsFileInput.vue +1 -1
- package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
- package/src/components/form-inputs-controls/VcsRadio.vue +8 -6
- package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +1 -1
- package/src/components/form-inputs-controls/VcsSlider.vue +5 -5
- package/src/components/form-inputs-controls/VcsTextArea.vue +1 -1
- package/src/components/form-inputs-controls/VcsTextField.vue +10 -1
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +2 -1
- package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
- package/src/components/form-inputs-controls/VcsWizardStep.vue +5 -1
- package/src/components/form-inputs-controls/vcsTextField.scss +7 -1
- package/src/components/form-output/VcsFormattedNumber.vue +1 -1
- package/src/components/import/VcsImportComponent.vue +7 -4
- package/src/components/import/VcsImportComponent.vue.d.ts +1 -1
- package/src/components/lists/VcsActionList.vue +2 -6
- package/src/components/lists/VcsListItemComponent.vue +20 -10
- package/src/components/lists/VcsListItemComponent.vue.d.ts +11 -1
- package/src/components/lists/VcsTreeview.vue +53 -11
- package/src/components/lists/VcsTreeview.vue.d.ts +2 -0
- package/src/components/lists/VcsTreeviewSearchbar.vue +14 -3
- package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
- package/src/components/lists/VcsTreeviewTitle.vue +36 -0
- package/src/components/modelHelper.d.ts +10 -8
- package/src/components/modelHelper.js +8 -6
- package/src/components/notification/VcsHelp.vue +6 -7
- package/src/components/notification/VcsHelp.vue.d.ts +0 -9
- package/src/components/plugins/AbstractConfigEditor.vue +1 -22
- package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
- package/src/components/section/VcsExpansionPanel.vue +9 -3
- package/src/components/section/VcsExpansionPanel.vue.d.ts +2 -2
- package/src/components/section/VcsFormSection.vue +6 -6
- package/src/components/section/VcsFormSection.vue.d.ts +2 -2
- package/src/components/style/VcsImageSelector.vue +14 -6
- package/src/components/style/VcsImageSelector.vue.d.ts +1 -0
- package/src/components/style/VcsStrokeSelector.vue +5 -2
- package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
- package/src/components/style/VcsTextMenu.vue +2 -2
- package/src/components/tables/VcsDataTable.vue +14 -10
- package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +42 -31
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +1 -0
- package/src/components/viewpoint/VcsViewpointComponent.vue +12 -9
- package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
- package/src/contentTree/contentTreeItem.d.ts +2 -2
- package/src/contentTree/contentTreeItem.js +1 -1
- package/src/featureInfo/BalloonComponent.vue +21 -13
- package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
- package/src/featureInfo/abstractFeatureInfoView.d.ts +4 -4
- package/src/featureInfo/abstractFeatureInfoView.js +4 -4
- package/src/featureInfo/featureInfo.d.ts +2 -2
- package/src/featureInfo/featureInfo.js +1 -1
- package/src/i18n/i18nCollection.d.ts +9 -15
- package/src/i18n/i18nCollection.js +3 -3
- package/src/legend/VcsLegend.vue +6 -2
- package/src/legend/VcsLegend.vue.d.ts +1 -0
- package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
- package/src/manager/collectionManager/categoryManager.d.ts +1 -1
- package/src/manager/collectionManager/collectionComponentClass.d.ts +2 -2
- package/src/manager/collectionManager/collectionComponentClass.js +4 -4
- package/src/manager/collectionManager/collectionManager.d.ts +1 -1
- package/src/manager/toolbox/GroupToolboxComponent.vue +8 -6
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -1
- package/src/manager/toolbox/SelectToolboxComponent.vue +8 -6
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -1
- package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +8 -5
- package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -1
- package/src/manager/window/WindowComponentHeader.vue +6 -3
- package/src/manager/window/WindowComponentHeader.vue.d.ts +1 -0
- package/src/manager/window/windowManager.d.ts +6 -6
- package/src/manager/window/windowManager.js +3 -3
- package/src/navigation/OrientationToolsButton.vue +2 -4
- package/src/navigation/TiltSlider.vue +3 -5
- package/src/search/SearchComponent.vue +8 -6
- package/src/search/SearchComponent.vue.d.ts +1 -1
- package/src/styles/vcsList.scss +1 -1
- package/src/uiConfig.d.ts +12 -3
- package/src/uiConfig.js +2 -1
- package/src/vcsUiApp.d.ts +41 -56
- package/src/vcsUiApp.js +34 -28
- package/src/vuePlugins/vuetify.d.ts +88 -62
- package/src/vuePlugins/vuetify.js +116 -20
- package/dist/assets/ui-7214428e.css +0 -1
- package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
- package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
- package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
- package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
- package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
- package/src/components/lists/VcsTreeviewLeaf.vue +0 -92
- /package/dist/assets/{cesium-126f111a.js → cesium-ccb4cc30.js} +0 -0
- /package/dist/assets/{ol-27f9b3f3.js → ol-e7981d5c.js} +0 -0
- /package/dist/assets/{vue-c78a5f76.js → vue-87bc6efe.js} +0 -0
- /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -18,23 +18,23 @@
|
|
18
18
|
<v-container class="py-0 px-1">
|
19
19
|
<v-row no-gutters v-if="!hideName">
|
20
20
|
<v-col cols="6">
|
21
|
-
<VcsLabel html-for="name" required>
|
21
|
+
<VcsLabel :html-for="`${cid}-name`" required>
|
22
22
|
{{ $t('components.flight.name') }}
|
23
23
|
</VcsLabel>
|
24
24
|
</v-col>
|
25
25
|
<v-col>
|
26
|
-
<VcsTextField id="name" clearable v-model="name" />
|
26
|
+
<VcsTextField :id="`${cid}-name`" clearable v-model="name" />
|
27
27
|
</v-col>
|
28
28
|
</v-row>
|
29
29
|
<v-row no-gutters v-if="!hideTitle">
|
30
30
|
<v-col cols="6">
|
31
|
-
<VcsLabel html-for="title">
|
31
|
+
<VcsLabel :html-for="`${cid}-title`">
|
32
32
|
{{ $t('components.flight.title') }}
|
33
33
|
</VcsLabel>
|
34
34
|
</v-col>
|
35
35
|
<v-col>
|
36
36
|
<VcsTextField
|
37
|
-
id="title"
|
37
|
+
:id="`${cid}-title`"
|
38
38
|
clearable
|
39
39
|
:placeholder="$t('components.flight.titlePlaceholder')"
|
40
40
|
v-model="title"
|
@@ -43,13 +43,13 @@
|
|
43
43
|
</v-row>
|
44
44
|
<v-row no-gutters v-if="!hideInterpolation">
|
45
45
|
<v-col cols="6">
|
46
|
-
<VcsLabel html-for="interpolation">
|
46
|
+
<VcsLabel :html-for="`${cid}-interpolation`">
|
47
47
|
{{ $t('components.flight.interpolation') }}
|
48
48
|
</VcsLabel>
|
49
49
|
</v-col>
|
50
50
|
<v-col>
|
51
51
|
<VcsSelect
|
52
|
-
id="
|
52
|
+
:id="`${cid}-interpolation`"
|
53
53
|
:items="[
|
54
54
|
{ value: 'spline', title: 'components.flight.spline' },
|
55
55
|
{ value: 'linear', title: 'components.flight.linear' },
|
@@ -60,13 +60,13 @@
|
|
60
60
|
</v-row>
|
61
61
|
<v-row no-gutters v-if="!hideDuration">
|
62
62
|
<v-col cols="6">
|
63
|
-
<VcsLabel html-for="duration">
|
63
|
+
<VcsLabel :html-for="`${cid}-duration`">
|
64
64
|
{{ $t('components.flight.duration') }}
|
65
65
|
</VcsLabel>
|
66
66
|
</v-col>
|
67
67
|
<v-col>
|
68
68
|
<VcsTextField
|
69
|
-
id="duration"
|
69
|
+
:id="`${cid}-duration`"
|
70
70
|
v-model="duration"
|
71
71
|
:hide-spin-buttons="true"
|
72
72
|
type="number"
|
@@ -79,11 +79,7 @@
|
|
79
79
|
</v-row>
|
80
80
|
<v-row no-gutters v-if="!hideLoop">
|
81
81
|
<v-col cols="6">
|
82
|
-
<VcsCheckbox
|
83
|
-
id="animate"
|
84
|
-
label="components.flight.loop"
|
85
|
-
v-model="loop"
|
86
|
-
/>
|
82
|
+
<VcsCheckbox label="components.flight.loop" v-model="loop" />
|
87
83
|
</v-col>
|
88
84
|
</v-row>
|
89
85
|
</v-container>
|
@@ -116,6 +112,7 @@
|
|
116
112
|
getProvidedFlightInstance,
|
117
113
|
setupFlightAnchorEditingListener,
|
118
114
|
} from './composables.js';
|
115
|
+
import { useComponentId } from '../composables.js';
|
119
116
|
|
120
117
|
/**
|
121
118
|
* @param {import("@vcmap/core").FlightInstance} instance
|
@@ -228,6 +225,8 @@
|
|
228
225
|
editingListener();
|
229
226
|
});
|
230
227
|
|
228
|
+
const cid = useComponentId();
|
229
|
+
|
231
230
|
return {
|
232
231
|
name: flightInstance.name,
|
233
232
|
title: computed({
|
@@ -275,6 +274,7 @@
|
|
275
274
|
},
|
276
275
|
}),
|
277
276
|
disablePlayer,
|
277
|
+
cid,
|
278
278
|
};
|
279
279
|
},
|
280
280
|
};
|
@@ -47,6 +47,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
47
47
|
durationRule: typeof durationRule;
|
48
48
|
loop: import("vue").WritableComputedRef<boolean>;
|
49
49
|
disablePlayer: import("vue").Ref<boolean>;
|
50
|
+
cid: string;
|
50
51
|
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
51
52
|
heading: {
|
52
53
|
type: StringConstructor;
|
@@ -37,12 +37,17 @@
|
|
37
37
|
</v-checkbox>
|
38
38
|
</template>
|
39
39
|
<style lang="scss" scoped>
|
40
|
+
:deep(.v-icon--size-default) {
|
41
|
+
font-size: calc(var(--v-vcs-font-size) * (1.2 + 0.1 / 3));
|
42
|
+
}
|
40
43
|
.v-input--density-compact :deep(.v-selection-control) {
|
41
|
-
--v-selection-control-size:
|
42
|
-
|
44
|
+
--v-selection-control-size: calc(
|
45
|
+
var(--v-vcs-font-size) * (1.2 + 0.1 / 3) + 4
|
46
|
+
);
|
47
|
+
--v-input-control-height: calc(var(--v-vcs-font-size) + 3px);
|
43
48
|
}
|
44
49
|
:deep(.v-input__control) {
|
45
|
-
height: calc(var(--v-vcs-
|
50
|
+
height: calc(var(--v-vcs-font-size) * 2 - 2px);
|
46
51
|
}
|
47
52
|
// remove ripple effect
|
48
53
|
:deep(.v-selection-control__input::before) {
|
@@ -38,7 +38,6 @@
|
|
38
38
|
filled
|
39
39
|
autofocus
|
40
40
|
hide-spin-buttons
|
41
|
-
:height="itemHeight - 8"
|
42
41
|
@keydown.esc="selected = -1"
|
43
42
|
@blur="selected = -1"
|
44
43
|
@keydown.enter="submitChange($event)"
|
@@ -66,7 +65,6 @@
|
|
66
65
|
filled
|
67
66
|
autofocus
|
68
67
|
hide-spin-buttons
|
69
|
-
:height="itemHeight - 8"
|
70
68
|
@keydown.enter="add($event, newValue)"
|
71
69
|
@click:append-inner="add($event, newValue)"
|
72
70
|
@keydown.esc="cancel"
|
@@ -96,10 +94,11 @@
|
|
96
94
|
display: none;
|
97
95
|
}
|
98
96
|
.v-chip.v-chip--size-small {
|
99
|
-
--v-chip-height: calc(var(--v-vcs-
|
97
|
+
--v-chip-height: calc(var(--v-vcs-font-size) * 2 - 2px);
|
98
|
+
padding: 0 calc(var(--v-vcs-font-size) - 3px);
|
100
99
|
}
|
101
100
|
:deep(.v-icon--size-x-small) {
|
102
|
-
font-size:
|
101
|
+
font-size: calc(var(--v-vcs-font-size) + 3px);
|
103
102
|
}
|
104
103
|
.row-gap {
|
105
104
|
row-gap: 8px !important;
|
@@ -111,7 +110,6 @@
|
|
111
110
|
import { VChip, VIcon } from 'vuetify/components';
|
112
111
|
import { v4 as uuid } from 'uuid';
|
113
112
|
import { usePadding } from '../composables.js';
|
114
|
-
import { useItemHeight } from '../../vuePlugins/vuetify.js';
|
115
113
|
import VcsButton from '../buttons/VcsButton.vue';
|
116
114
|
import VcsTextField from './VcsTextField.vue';
|
117
115
|
import { removeListenersFromAttrs } from '../attrsHelpers.js';
|
@@ -279,8 +277,6 @@
|
|
279
277
|
|
280
278
|
const paddingProvided = usePadding(attrs);
|
281
279
|
|
282
|
-
const itemHeight = useItemHeight();
|
283
|
-
|
284
280
|
return {
|
285
281
|
paddingProvided,
|
286
282
|
localValue,
|
@@ -296,7 +292,6 @@
|
|
296
292
|
submitChange,
|
297
293
|
add,
|
298
294
|
cancel,
|
299
|
-
itemHeight,
|
300
295
|
};
|
301
296
|
},
|
302
297
|
};
|
@@ -38,7 +38,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
38
38
|
submitChange: (e: any) => void;
|
39
39
|
add: (e: any, v: any) => Promise<void>;
|
40
40
|
cancel: () => void;
|
41
|
-
itemHeight: import("vue").ComputedRef<number>;
|
42
41
|
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
43
42
|
modelValue: {
|
44
43
|
type: ArrayConstructor;
|
@@ -11,7 +11,6 @@
|
|
11
11
|
<template v-for="(_, idx) in localValue">
|
12
12
|
<v-col :key="`coordinate-${idx}`" v-if="!hideZ || idx < 2">
|
13
13
|
<VcsTextField
|
14
|
-
:id="`coordinate-${idx}`"
|
15
14
|
:hide-spin-buttons="true"
|
16
15
|
type="number"
|
17
16
|
class="py-0"
|
@@ -23,7 +22,7 @@
|
|
23
22
|
force-prefix
|
24
23
|
:decimals="decimals[idx]"
|
25
24
|
v-bind="noListenerAttrs"
|
26
|
-
v-model="localValue[idx]"
|
25
|
+
v-model.number="localValue[idx]"
|
27
26
|
:rules="getRulesForAxis(idx)"
|
28
27
|
/>
|
29
28
|
</v-col>
|
@@ -9,8 +9,8 @@
|
|
9
9
|
>
|
10
10
|
<v-radio
|
11
11
|
v-for="(item, idx) in items"
|
12
|
-
:id="`${
|
13
|
-
:key="`${
|
12
|
+
:id="`${cid}-${idx}`"
|
13
|
+
:key="`${cid}-${idx}`"
|
14
14
|
:value="item[itemValue] ?? item"
|
15
15
|
:disabled="$attrs.disabled ?? item.disabled ?? false"
|
16
16
|
:color="item?.color ?? undefined"
|
@@ -23,7 +23,7 @@
|
|
23
23
|
>
|
24
24
|
<template #label>
|
25
25
|
<slot name="label" :item="item" :error="!!errorTooltip">
|
26
|
-
<span :html-for="`${
|
26
|
+
<span :html-for="`${cid}-${idx}`">
|
27
27
|
{{ $st(item.label ?? item) }}
|
28
28
|
</span>
|
29
29
|
</slot>
|
@@ -50,8 +50,8 @@
|
|
50
50
|
</template>
|
51
51
|
<style lang="scss" scoped>
|
52
52
|
.v-input--density-compact :deep(.v-selection-control) {
|
53
|
-
--v-selection-control-size: calc(var(--v-vcs-
|
54
|
-
--v-input-control-height: calc(var(--v-vcs-
|
53
|
+
--v-selection-control-size: calc(var(--v-vcs-font-size) * 2 - 2px);
|
54
|
+
--v-input-control-height: calc(var(--v-vcs-font-size) + 3px);
|
55
55
|
}
|
56
56
|
// remove ripple effect
|
57
57
|
:deep(.v-selection-control__input::before) {
|
@@ -73,7 +73,7 @@
|
|
73
73
|
<script>
|
74
74
|
import { ref } from 'vue';
|
75
75
|
import { VRadio, VRadioGroup, VTooltip } from 'vuetify/components';
|
76
|
-
import { usePadding } from '../composables.js';
|
76
|
+
import { useComponentId, usePadding } from '../composables.js';
|
77
77
|
|
78
78
|
/**
|
79
79
|
* @typedef {Object} VcsRadioItem
|
@@ -128,11 +128,13 @@
|
|
128
128
|
const radioGroup = ref();
|
129
129
|
const errorTooltip = ref();
|
130
130
|
const paddingProvided = usePadding(attrs);
|
131
|
+
const cid = useComponentId();
|
131
132
|
|
132
133
|
return {
|
133
134
|
paddingProvided,
|
134
135
|
radioGroup,
|
135
136
|
errorTooltip,
|
137
|
+
cid,
|
136
138
|
};
|
137
139
|
},
|
138
140
|
};
|
@@ -23,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
23
23
|
paddingProvided: import("vue").ComputedRef<boolean>;
|
24
24
|
radioGroup: import("vue").Ref<any>;
|
25
25
|
errorTooltip: import("vue").Ref<any>;
|
26
|
+
cid: string;
|
26
27
|
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
27
28
|
items: {
|
28
29
|
type: ArrayConstructor;
|
@@ -73,7 +73,7 @@
|
|
73
73
|
}
|
74
74
|
}
|
75
75
|
.v-input--density-compact :deep(.v-field) {
|
76
|
-
--v-input-control-height: calc(var(--v-vcs-
|
76
|
+
--v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
|
77
77
|
--v-field-padding-bottom: 0px;
|
78
78
|
--v-field-input-padding-top: 0px;
|
79
79
|
--v-input-padding-top: 0px;
|
@@ -32,7 +32,7 @@
|
|
32
32
|
</template>
|
33
33
|
<style lang="scss" scoped>
|
34
34
|
.v-input--horizontal :deep(.v-input__control) {
|
35
|
-
min-height: calc(var(--v-vcs-
|
35
|
+
min-height: calc(var(--v-vcs-font-size) * 2 - 2px);
|
36
36
|
}
|
37
37
|
.v-input--horizontal.v-slider--has-labels {
|
38
38
|
margin-bottom: var(--v-vcs-font-size);
|
@@ -77,7 +77,7 @@
|
|
77
77
|
import { computed, ref } from 'vue';
|
78
78
|
import { VSlider, VTooltip } from 'vuetify/components';
|
79
79
|
import { useForwardSlots, usePadding } from '../composables.js';
|
80
|
-
import {
|
80
|
+
import { useFontSize } from '../../vuePlugins/vuetify.js';
|
81
81
|
|
82
82
|
/**
|
83
83
|
* @description stylized wrapper around {@link https://vuetifyjs.com/en/components/sliders/#usage}.
|
@@ -101,12 +101,12 @@
|
|
101
101
|
},
|
102
102
|
},
|
103
103
|
setup(props, { attrs, slots }) {
|
104
|
-
const
|
104
|
+
const fontSize = useFontSize();
|
105
105
|
const thumbSize = computed(() => {
|
106
|
-
return Math.floor(
|
106
|
+
return Math.floor((fontSize.value + 3) / 2);
|
107
107
|
});
|
108
108
|
const trackSize = computed(() => {
|
109
|
-
return Math.floor(
|
109
|
+
return Math.floor((fontSize.value + 3) / 6);
|
110
110
|
});
|
111
111
|
const tickSize = computed(() => {
|
112
112
|
return trackSize.value * 2;
|
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
<style lang="scss" scoped>
|
41
41
|
.v-input--density-compact :deep(.v-field) {
|
42
|
-
--v-input-control-height: calc(var(--v-vcs-
|
42
|
+
--v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
|
43
43
|
--v-field-padding-bottom: 0px;
|
44
44
|
--v-field-input-padding-top: 0px;
|
45
45
|
--v-input-padding-top: 0px;
|
@@ -10,6 +10,7 @@
|
|
10
10
|
class="vcs-text-field primary--placeholder"
|
11
11
|
:class="{
|
12
12
|
'py-1': !paddingProvided,
|
13
|
+
'no-prepended-content': !prependedContent,
|
13
14
|
}"
|
14
15
|
v-bind="$attrs"
|
15
16
|
:prefix="forcePrefix ? undefined : $attrs.prefix"
|
@@ -151,8 +152,12 @@
|
|
151
152
|
return localValue.value ?? '';
|
152
153
|
},
|
153
154
|
set(value) {
|
154
|
-
localValue.value = value;
|
155
155
|
// emit is not needed since the vuetify component already emits an @input event. (forwarded listeners)
|
156
|
+
if (props.type === 'number') {
|
157
|
+
localValue.value = parseFloat(value);
|
158
|
+
} else {
|
159
|
+
localValue.value = value;
|
160
|
+
}
|
156
161
|
},
|
157
162
|
});
|
158
163
|
|
@@ -169,7 +174,11 @@
|
|
169
174
|
const paddingProvided = usePadding(attrs);
|
170
175
|
const forwardSlots = useForwardSlots(slots, ['default', 'message']);
|
171
176
|
|
177
|
+
const prependedContent = computed(() => {
|
178
|
+
return (props.forcePrefix && attrs.prefix) || !!slots['prepend-inner'];
|
179
|
+
});
|
172
180
|
return {
|
181
|
+
prependedContent,
|
173
182
|
forwardSlots,
|
174
183
|
paddingProvided,
|
175
184
|
visibleValue,
|
@@ -28,9 +28,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
28
28
|
default: boolean;
|
29
29
|
};
|
30
30
|
}, {
|
31
|
+
prependedContent: import("vue").ComputedRef<{}>;
|
31
32
|
forwardSlots: import("vue").ComputedRef<string[]>;
|
32
33
|
paddingProvided: import("vue").ComputedRef<boolean>;
|
33
|
-
visibleValue: import("vue").WritableComputedRef<
|
34
|
+
visibleValue: import("vue").WritableComputedRef<string | number | boolean>;
|
34
35
|
rules: import("vue").ComputedRef<unknown>;
|
35
36
|
textFieldRef: import("vue").Ref<any>;
|
36
37
|
errorTooltipRef: import("vue").Ref<any>;
|
@@ -35,8 +35,8 @@
|
|
35
35
|
</script>
|
36
36
|
<style scoped lang="scss">
|
37
37
|
:deep(.v-expansion-panel-title) {
|
38
|
-
height: var(--v-vcs-
|
39
|
-
min-height: var(--v-vcs-
|
38
|
+
height: calc(var(--v-vcs-font-size) * 2 + 6px);
|
39
|
+
min-height: calc(var(--v-vcs-font-size) * 2 + 6px);
|
40
40
|
padding: 0 8px;
|
41
41
|
}
|
42
42
|
:deep(.v-expansion-panel-title.v-expansion-panel-title--active) {
|
@@ -58,7 +58,7 @@
|
|
58
58
|
}
|
59
59
|
:deep(.v-stepper-vertical-item:not(:last-child):before) {
|
60
60
|
height: 100%;
|
61
|
-
top: calc(var(--v-vcs-
|
61
|
+
top: calc(var(--v-vcs-font-size) * 2 - 16px);
|
62
62
|
left: calc(14px + var(--v-vcs-font-size) * 0.42);
|
63
63
|
width: calc(var(--v-vcs-font-size) * 0.1);
|
64
64
|
}
|
@@ -30,7 +30,11 @@
|
|
30
30
|
</template>
|
31
31
|
<template #default>
|
32
32
|
<div>
|
33
|
-
<VcsHelp
|
33
|
+
<VcsHelp
|
34
|
+
:text="helpText"
|
35
|
+
v-if="showHelp && ($slots.help || helpText)"
|
36
|
+
class="mb-1"
|
37
|
+
>
|
34
38
|
<slot name="help" />
|
35
39
|
</VcsHelp>
|
36
40
|
<slot />
|
@@ -3,7 +3,7 @@
|
|
3
3
|
--v-field-padding-end: 4px;
|
4
4
|
}
|
5
5
|
.v-input--density-compact :deep(.v-field) {
|
6
|
-
--v-input-control-height: calc(var(--v-vcs-
|
6
|
+
--v-input-control-height: calc(var(--v-vcs-font-size) * 2 - 2px);
|
7
7
|
--v-field-padding-bottom: 0px;
|
8
8
|
--v-field-input-padding-top: 0px;
|
9
9
|
--v-input-padding-top: 0px;
|
@@ -50,6 +50,12 @@
|
|
50
50
|
:deep(.v-field--appended) {
|
51
51
|
padding-inline-end: 4px;
|
52
52
|
}
|
53
|
+
:deep(.v-field--prepended) {
|
54
|
+
padding-inline-start: 4px;
|
55
|
+
}
|
56
|
+
.no-prepended-content :deep(.v-field--prepended) {
|
57
|
+
padding-inline-start: 0px;
|
58
|
+
}
|
53
59
|
|
54
60
|
// remove margin from prepended Icon
|
55
61
|
.v-input--horizontal :deep(.v-input__prepend) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<v-card flat class="pa-2">
|
3
3
|
<vcs-file-drop
|
4
|
-
:height="
|
4
|
+
:height="dropElementHeight"
|
5
5
|
:multiple="multiple"
|
6
6
|
v-model="files"
|
7
7
|
/>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
import { VCard } from 'vuetify/components';
|
31
31
|
import { computed, inject, ref } from 'vue';
|
32
32
|
import { removeListenersFromAttrs } from '../attrsHelpers.js';
|
33
|
-
import {
|
33
|
+
import { useFontSize } from '../../vuePlugins/vuetify.js';
|
34
34
|
import VcsFileDrop from './VcsFileDrop.vue';
|
35
35
|
import VcsFormButton from '../buttons/VcsFormButton.vue';
|
36
36
|
import VcsFileInput from '../form-inputs-controls/VcsFileInput.vue';
|
@@ -77,13 +77,16 @@
|
|
77
77
|
|
78
78
|
const noListenerAttrs = computed(() => removeListenersFromAttrs(attrs));
|
79
79
|
|
80
|
-
const
|
80
|
+
const fontSize = useFontSize();
|
81
|
+
const dropElementHeight = computed(() => {
|
82
|
+
return fontSize.value * 6 + 18;
|
83
|
+
});
|
81
84
|
|
82
85
|
return {
|
83
86
|
files,
|
84
87
|
loading,
|
85
88
|
noListenerAttrs,
|
86
|
-
|
89
|
+
dropElementHeight,
|
87
90
|
async doImport() {
|
88
91
|
loading.value = true;
|
89
92
|
try {
|
@@ -15,7 +15,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
15
15
|
files: WritableComputedRef<File[]>;
|
16
16
|
loading: import("vue").Ref<boolean>;
|
17
17
|
noListenerAttrs: import("vue").ComputedRef<Record<string, unknown>>;
|
18
|
-
|
18
|
+
dropElementHeight: import("vue").ComputedRef<number>;
|
19
19
|
doImport(): Promise<void>;
|
20
20
|
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
21
21
|
importFiles: {
|
@@ -37,7 +37,6 @@
|
|
37
37
|
}
|
38
38
|
</style>
|
39
39
|
<script>
|
40
|
-
import { computed } from 'vue';
|
41
40
|
import { is, optional } from '@vcsuite/check';
|
42
41
|
import {
|
43
42
|
VIcon,
|
@@ -46,7 +45,7 @@
|
|
46
45
|
VListItemTitle,
|
47
46
|
VTooltip,
|
48
47
|
} from 'vuetify/components';
|
49
|
-
import {
|
48
|
+
import { useIconSize } from '../../vuePlugins/vuetify.js';
|
50
49
|
|
51
50
|
/**
|
52
51
|
* pattern to check actions
|
@@ -121,10 +120,7 @@
|
|
121
120
|
},
|
122
121
|
},
|
123
122
|
setup() {
|
124
|
-
const
|
125
|
-
const iconSize = computed(() => {
|
126
|
-
return fontSize.value * (1.2 + 0.1 / 3);
|
127
|
-
});
|
123
|
+
const iconSize = useIconSize();
|
128
124
|
return {
|
129
125
|
iconSize,
|
130
126
|
};
|
@@ -127,16 +127,26 @@
|
|
127
127
|
<template #default="scope">
|
128
128
|
<slot name="default" v-bind="{ ...scope, item, dragging, tooltip }" />
|
129
129
|
</template>
|
130
|
-
<template #append>
|
131
|
-
<
|
132
|
-
|
133
|
-
v-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
130
|
+
<template #append="appendScope">
|
131
|
+
<slot
|
132
|
+
name="append"
|
133
|
+
v-bind="{
|
134
|
+
...appendScope,
|
135
|
+
item,
|
136
|
+
actions,
|
137
|
+
actionButtonListOverflowCount,
|
138
|
+
}"
|
139
|
+
>
|
140
|
+
<vcs-badge v-if="item.hasUpdate" class="mr-1" />
|
141
|
+
<vcs-action-button-list
|
142
|
+
v-if="actions.length > 0"
|
143
|
+
:actions="actions"
|
144
|
+
:disabled="item.disabled"
|
145
|
+
:block-overflow="true"
|
146
|
+
:overflow-count="actionButtonListOverflowCount"
|
147
|
+
class="ml-2"
|
148
|
+
/>
|
149
|
+
</slot>
|
140
150
|
</template>
|
141
151
|
</v-list-item>
|
142
152
|
</template>
|
@@ -21,6 +21,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}
|
|
21
21
|
isIndeterminate: boolean;
|
22
22
|
select: (value: boolean) => void;
|
23
23
|
}): any;
|
24
|
+
append?(_: {
|
25
|
+
item: any;
|
26
|
+
actions: any[];
|
27
|
+
actionButtonListOverflowCount: any;
|
28
|
+
isActive: boolean;
|
29
|
+
isOpen: boolean;
|
30
|
+
isSelected: boolean;
|
31
|
+
isIndeterminate: boolean;
|
32
|
+
select: (value: boolean) => void;
|
33
|
+
}): any;
|
24
34
|
}>;
|
25
35
|
export default _default;
|
26
36
|
export type VcsListItem = {
|
@@ -36,7 +46,7 @@ export type VcsListItem = {
|
|
36
46
|
/**
|
37
47
|
* - Whether the title of can be edited. will add a rename action to the end of the action list. This action will call titleChanged with the new title, you must provide the callback yourself, otherwise this does not work as expeted.
|
38
48
|
*/
|
39
|
-
renamable?: boolean | import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).
|
49
|
+
renamable?: boolean | Omit<import("../../actions/actionHelper.js", { with: { "resolution-mode": "import" } }).VcsAction, "callback"> | undefined;
|
40
50
|
/**
|
41
51
|
* - The title to be displayed
|
42
52
|
*/
|