@vcmap/ui 6.0.0-rc.1 → 6.0.0-rc.2

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 (200) hide show
  1. package/config/base.config.json +4 -4
  2. package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
  3. package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
  4. package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-3DRPXHZ4.js} +11 -11
  5. package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-3GI7DWF7.js} +5 -7
  6. package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-4EW3HFFI.js} +33 -22
  7. package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-4OX4RYLB.js} +5 -5
  8. package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-4RJH3H6D.js} +11 -9
  9. package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-5OUTANXX.js} +1 -1
  10. package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-6DH5PLFD.js} +1 -1
  11. package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-6DXIYFX3.js} +2 -2
  12. package/dist/assets/cesium/Workers/chunk-A5C2A5O5.js +963 -0
  13. package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-AGTH5JMJ.js} +6 -6
  14. package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-AVFIYUKX.js} +12 -14
  15. package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-BAJAVGUF.js} +5 -5
  16. package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-BPY4HDAK.js} +5 -6
  17. package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-D6PDWQXW.js} +2 -2
  18. package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-DR7LK6PG.js} +13 -13
  19. package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-DTACCQDR.js} +6 -6
  20. package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EVU2UNBD.js} +7 -7
  21. package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-F7IEM66T.js} +3 -5
  22. package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-FSXNF76Y.js} +4 -4
  23. package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FYYT5EVH.js} +830 -14
  24. package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-FZDKIUDT.js} +4 -4
  25. package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-G6346EDR.js} +16 -16
  26. package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-H7PSTL64.js} +95 -155
  27. package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-I67V66MN.js} +6 -6
  28. package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-IALQGTA2.js} +6 -6
  29. package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-KNMGSIIN.js} +16 -12
  30. package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-L4XQPD6P.js} +49 -88
  31. package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-LMTN7R7M.js} +10 -12
  32. package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-LUYI3XCB.js} +14 -14
  33. package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-N5MIFVXJ.js} +7 -7
  34. package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-O7OUBDMZ.js} +10 -10
  35. package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-P24I5VUS.js} +22 -22
  36. package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-PIOKSAZH.js} +15 -17
  37. package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-PRKEY4QK.js} +5 -5
  38. package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-Q7PM4W34.js} +8 -8
  39. package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QLC66ZRL.js} +13 -13
  40. package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-RRLGJV3Q.js} +16 -16
  41. package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-S2UEXF6T.js} +1 -1
  42. package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-S4VTLNAJ.js} +4 -4
  43. package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-SJC5PRDX.js} +2 -2
  44. package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-T6TZXGG5.js} +230 -20
  45. package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-TLGODPEV.js} +5 -5
  46. package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-UC566ISB.js} +6 -6
  47. package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-UMX265HW.js} +2 -2
  48. package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-V7WJDCPA.js} +12 -12
  49. package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-VD6G7UPU.js} +2 -2
  50. package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-WMVCLETM.js} +14 -16
  51. package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-WOA6WSHH.js} +12 -12
  52. package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-X67EJ6X6.js} +4398 -2722
  53. package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-XGI4FRXF.js} +11 -13
  54. package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-YFVI4SQI.js} +1 -1
  55. package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-YFYPR4MW.js} +11 -8
  56. package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
  57. package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
  58. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
  59. package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
  60. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
  61. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
  62. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
  63. package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
  64. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
  65. package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
  66. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
  67. package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
  68. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
  69. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
  70. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
  71. package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
  72. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
  73. package/dist/assets/cesium/Workers/createGeometry.js +52 -33
  74. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
  75. package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
  76. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
  77. package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
  78. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
  79. package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
  80. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
  81. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
  82. package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
  83. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
  84. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
  85. package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
  86. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
  87. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
  88. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
  89. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
  90. package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
  91. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
  92. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
  93. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
  94. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +25 -26
  95. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
  96. package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
  97. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
  98. package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
  99. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +12 -19
  100. package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
  101. package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -82
  102. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
  103. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
  104. package/dist/assets/{cesium.6b12b4.js → cesium.0b750d.js} +151166 -145641
  105. package/dist/assets/cesium.js +1 -1
  106. package/dist/assets/{core.074b78.js → core.cbf44a.js} +1944 -1902
  107. package/dist/assets/core.js +1 -1
  108. package/dist/assets/index-8eGauqjA.js +1 -0
  109. package/dist/assets/ol.js +1 -1
  110. package/dist/assets/ui.7c276c.css +1 -0
  111. package/dist/assets/{ui.715986.js → ui.7c276c.js} +13826 -12887
  112. package/dist/assets/ui.js +1 -1
  113. package/dist/assets/vue.js +1 -1
  114. package/dist/assets/{vuetify.28d881.js → vuetify.4d18fe.js} +1 -1
  115. package/dist/assets/vuetify.js +1 -1
  116. package/dist/index.html +1 -1
  117. package/index.d.ts +2 -0
  118. package/index.js +1 -0
  119. package/package.json +7 -6
  120. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +24 -86
  121. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +35 -10
  122. package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
  123. package/src/application/VcsApp.vue +1 -2
  124. package/src/application/VcsCustomScreen.vue +4 -4
  125. package/src/application/VcsCustomScreen.vue.d.ts +1 -1
  126. package/src/application/VcsNavbar.vue.d.ts +1 -1
  127. package/src/application/VcsSplashScreen.vue +18 -21
  128. package/src/application/VcsSplashScreen.vue.d.ts +5 -5
  129. package/src/application/VcsTextPage.vue +4 -4
  130. package/src/application/VcsTextPage.vue.d.ts +1 -1
  131. package/src/application/markdownHelper.js +2 -17
  132. package/src/components/buttons/VcsButton.vue +1 -1
  133. package/src/components/buttons/VcsButton.vue.d.ts +3 -3
  134. package/src/components/buttons/VcsFormButton.vue +1 -1
  135. package/src/components/buttons/VcsFormButton.vue.d.ts +2 -2
  136. package/src/components/buttons/VcsToolButton.vue +1 -1
  137. package/src/components/buttons/VcsToolButton.vue.d.ts +4 -4
  138. package/src/components/composables.d.ts +7 -0
  139. package/src/components/composables.js +35 -1
  140. package/src/components/form-inputs-controls/VcsCheckbox.vue +12 -8
  141. package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +1 -0
  142. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +1 -1
  143. package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +1 -1
  144. package/src/components/form-inputs-controls/VcsFileInput.vue +2 -2
  145. package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +1 -1
  146. package/src/components/form-inputs-controls/VcsLabel.vue +31 -1
  147. package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +21 -1
  148. package/src/components/form-inputs-controls/VcsRadio.vue +2 -2
  149. package/src/components/form-inputs-controls/VcsSelect.vue +7 -16
  150. package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +2 -2
  151. package/src/components/form-inputs-controls/VcsSlider.vue +36 -10
  152. package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +25 -2
  153. package/src/components/form-inputs-controls/VcsTextArea.vue +35 -20
  154. package/src/components/form-inputs-controls/VcsTextField.vue +17 -12
  155. package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +1 -0
  156. package/src/components/form-inputs-controls/VcsWizard.vue +89 -112
  157. package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
  158. package/src/components/form-inputs-controls/VcsWizardStep.vue +75 -57
  159. package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +24 -11
  160. package/src/components/form-inputs-controls/vcsTextField.scss +5 -0
  161. package/src/components/form-output/VcsFormattedNumber.vue +25 -9
  162. package/src/components/form-output/VcsFormattedNumber.vue.d.ts +18 -0
  163. package/src/components/form-output/VcsMarkdown.vue +53 -0
  164. package/src/components/form-output/VcsMarkdown.vue.d.ts +16 -0
  165. package/src/components/lists/VcsActionList.vue +43 -27
  166. package/src/components/lists/VcsActionList.vue.d.ts +3 -1
  167. package/src/components/lists/VcsList.vue +82 -151
  168. package/src/components/lists/VcsList.vue.d.ts +5 -8
  169. package/src/components/lists/VcsListItem.vue +154 -0
  170. package/src/components/lists/VcsListItem.vue.d.ts +21 -0
  171. package/src/components/lists/VcsTreeviewLeaf.vue +1 -1
  172. package/src/components/modelHelper.d.ts +11 -0
  173. package/src/components/modelHelper.js +42 -2
  174. package/src/components/vector-properties/VcsFeatureEditingWindow.vue +14 -6
  175. package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +3 -3
  176. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +474 -585
  177. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +193 -22
  178. package/src/manager/window/windowManager.d.ts +4 -4
  179. package/src/manager/window/windowManager.js +2 -2
  180. package/src/navigation/MapNavigation.vue +6 -3
  181. package/src/navigation/OrientationToolsButton.vue +39 -26
  182. package/src/navigation/OrientationToolsButton.vue.d.ts +5 -1
  183. package/src/navigation/TiltSlider.vue +83 -88
  184. package/src/navigation/TiltSlider.vue.d.ts +10 -7
  185. package/src/navigation/VcsCompass.vue +17 -11
  186. package/src/navigation/VcsCompass.vue.d.ts +2 -0
  187. package/src/styles/_typography.scss +1 -0
  188. package/src/vcsUiApp.d.ts +11 -17
  189. package/src/vcsUiApp.js +10 -3
  190. package/src/vuePlugins/i18n.js +7 -0
  191. package/src/vuePlugins/vuetify.js +4 -0
  192. package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
  193. package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
  194. package/dist/assets/index-ca7EmZ3d.js +0 -1
  195. package/dist/assets/ui.715986.css +0 -1
  196. package/src/components/vector-properties/composables.d.ts +0 -33
  197. package/src/components/vector-properties/composables.js +0 -100
  198. /package/dist/assets/{ol.8b2e3a.js → ol.86e93c.js} +0 -0
  199. /package/dist/assets/{vue.0f2c53.js → vue.a3cd64.js} +0 -0
  200. /package/dist/assets/{vuetify.28d881.css → vuetify.4d18fe.css} +0 -0
@@ -20,7 +20,7 @@ declare const _default: import("vue").DefineComponent<{
20
20
  default: undefined;
21
21
  };
22
22
  }, {
23
- forwardedModelValue: import("vue").WritableComputedRef<string | number | boolean | unknown[]>;
23
+ localModelValue: import("vue").Ref<any>;
24
24
  additionalItems: import("vue").ComputedRef<number>;
25
25
  isMultiple: import("vue").ComputedRef<boolean>;
26
26
  paddingProvided: import("vue").ComputedRef<boolean>;
@@ -50,9 +50,9 @@ declare const _default: import("vue").DefineComponent<{
50
50
  };
51
51
  }>>, {
52
52
  modelValue: string | number | boolean | unknown[];
53
+ multiple: boolean;
53
54
  tooltip: string;
54
55
  tooltipPosition: string;
55
- multiple: boolean;
56
56
  itemText: Function;
57
57
  }, {}>;
58
58
  export default _default;
@@ -3,8 +3,9 @@
3
3
  :class="{
4
4
  'py-1': !paddingProvided,
5
5
  }"
6
- class="VcsSlider"
6
+ class="vcs-slider"
7
7
  hide-details
8
+ ref="sliderRef"
8
9
  :track-color="'base-darken-1'"
9
10
  thumb-color="base-darken-3"
10
11
  track-fill-color="base-darken-1"
@@ -13,8 +14,18 @@
13
14
  :tick-size="tickSize"
14
15
  v-bind="{ ...$attrs }"
15
16
  >
16
- <template v-for="slot of Object.keys($slots)" #[slot]="scope">
17
- <slot :name="slot" v-bind="scope" />
17
+ <template v-for="slot of forwardSlots" #[slot]="scope">
18
+ <slot :name="slot" v-bind="scope ?? {}" />
19
+ </template>
20
+
21
+ <template #append="scope">
22
+ <slot name="append" v-bind="scope ?? {}"></slot>
23
+ <v-tooltip
24
+ v-if="tooltip"
25
+ :activator="sliderRef"
26
+ :location="tooltipPosition"
27
+ :text="$st(tooltip)"
28
+ ></v-tooltip>
18
29
  </template>
19
30
  </v-slider>
20
31
  </template>
@@ -54,25 +65,37 @@
54
65
  }
55
66
  </style>
56
67
  <script>
57
- import { computed } from 'vue';
58
- import { VSlider } from 'vuetify/components';
59
- import { usePadding } from '../composables.js';
68
+ import { computed, ref } from 'vue';
69
+ import { VSlider, VTooltip } from 'vuetify/components';
70
+ import { useForwardSlots, usePadding } from '../composables.js';
60
71
  import { useItemHeight } from '../../vuePlugins/vuetify.js';
61
72
 
62
73
  /**
63
- * @description stylized wrapper around {@link https://v2.vuetifyjs.com/en/components/sliders/#api}.
74
+ * @description stylized wrapper around {@link https://vuetifyjs.com/en/components/sliders/#usage}.
75
+ * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the tooltip.
76
+ * @vue-prop {string|undefined} tooltip - Optional tooltip which will be shown on hover when no error message is shown
64
77
  */
65
78
  export default {
66
79
  name: 'VcsSlider',
67
80
  components: {
68
81
  VSlider,
82
+ VTooltip,
83
+ },
84
+ props: {
85
+ tooltip: {
86
+ type: String,
87
+ default: undefined,
88
+ },
89
+ tooltipPosition: {
90
+ type: String,
91
+ default: 'right',
92
+ },
69
93
  },
70
- setup(props, { attrs }) {
94
+ setup(props, { attrs, slots }) {
71
95
  const itemHeight = useItemHeight();
72
96
  const thumbSize = computed(() => {
73
97
  return Math.floor(itemHeight.value / 4);
74
98
  });
75
-
76
99
  const trackSize = computed(() => {
77
100
  return Math.floor(itemHeight.value / 12);
78
101
  });
@@ -80,8 +103,11 @@
80
103
  return trackSize.value * 2;
81
104
  });
82
105
  const paddingProvided = usePadding(attrs);
83
-
106
+ const forwardSlots = useForwardSlots(slots, ['append']);
107
+ const sliderRef = ref();
84
108
  return {
109
+ forwardSlots,
110
+ sliderRef,
85
111
  thumbSize,
86
112
  tickSize,
87
113
  trackSize,
@@ -1,7 +1,30 @@
1
- declare const _default: import("vue").DefineComponent<{}, {
1
+ declare const _default: import("vue").DefineComponent<{
2
+ tooltip: {
3
+ type: StringConstructor;
4
+ default: undefined;
5
+ };
6
+ tooltipPosition: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ }, {
11
+ forwardSlots: import("vue").ComputedRef<string[]>;
12
+ sliderRef: import("vue").Ref<any>;
2
13
  thumbSize: import("vue").ComputedRef<number>;
3
14
  tickSize: import("vue").ComputedRef<number>;
4
15
  trackSize: import("vue").ComputedRef<number>;
5
16
  paddingProvided: import("vue").ComputedRef<boolean>;
6
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
17
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18
+ tooltip: {
19
+ type: StringConstructor;
20
+ default: undefined;
21
+ };
22
+ tooltipPosition: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ }>>, {
27
+ tooltip: string;
28
+ tooltipPosition: string;
29
+ }, {}>;
7
30
  export default _default;
@@ -18,7 +18,7 @@
18
18
  ref="errorTooltipRef"
19
19
  :activator="textAreaRef"
20
20
  v-if="message"
21
- :text="message"
21
+ :text="$st(message)"
22
22
  content-class="bg-error"
23
23
  :location="tooltipPosition"
24
24
  />
@@ -29,7 +29,7 @@
29
29
  v-if="tooltip && !errorTooltipRef"
30
30
  :activator="textAreaRef"
31
31
  :location="tooltipPosition"
32
- :text="tooltip"
32
+ :text="$st(tooltip)"
33
33
  ></v-tooltip>
34
34
  </template>
35
35
  </v-textarea>
@@ -43,20 +43,26 @@
43
43
  --v-input-padding-top: 0px;
44
44
  }
45
45
 
46
- .remove-outline :deep(fieldset) {
47
- border-width: 0;
48
- border-radius: 0;
49
- }
50
46
  :deep(.v-field) {
51
47
  --v-field-padding-start: 8px;
52
48
  --v-field-padding-end: 8px;
49
+ padding-left: 8px;
50
+ padding-right: 8px;
51
+ .v-field__clearable {
52
+ margin: 4px -4px 0px 0px;
53
+ }
54
+ }
55
+
56
+ :deep(.v-field__field) {
57
+ padding-bottom: 2px;
58
+ padding-top: 2px;
53
59
  }
54
60
 
55
- //:deep(.v-field__input) {
56
- // padding: 0 0 6px 0;
57
- //}
58
- :deep(.v-field--focused .v-field__outline *) {
59
- --v-field-border-width: 1px;
61
+ :deep(.v-field__input) {
62
+ padding: 0;
63
+ // remove white fade out on top
64
+ mask-image: none !important;
65
+ -webkit-mask-image: none !important;
60
66
  }
61
67
 
62
68
  // set the border color on focused to primary, but not on error
@@ -64,16 +70,26 @@
64
70
  border-color: rgb(var(--v-theme-primary));
65
71
  }
66
72
 
73
+ :deep(.v-field--focused .v-field__outline__end) {
74
+ border-width: 1px 1px 1px 0 !important;
75
+ }
76
+ :deep(.v-field--focused .v-field__outline__start) {
77
+ border-width: 1px 0 1px 1px !important;
78
+ }
79
+
67
80
  // remove outline, if not focused, hovered or an error
68
81
  :deep(.v-field:not(.v-field--focused):not(.v-field--error):not(:hover)) {
69
82
  .v-field__outline * {
70
- border-width: 0 0 1px 0;
83
+ border-width: 0 0 0 0;
71
84
  border-radius: 0;
72
85
  }
73
- .v-field__outline {
74
- padding-left: 8px;
75
- padding-right: 8px;
86
+ .v-field__outline__end {
87
+ border-width: 0 0 1px 0 !important;
88
+ border-radius: 0;
89
+ margin-right: 8px;
90
+ margin-left: -4px;
76
91
  }
92
+
77
93
  .v-field__outline *::before {
78
94
  border-width: 0;
79
95
  border-radius: 0;
@@ -83,10 +99,13 @@
83
99
  margin-left: -4px;
84
100
  }
85
101
  }
86
-
102
+ :deep(.v-field .v-field--focused .v-field--error):hover {
103
+ border-width: 1px !important;
104
+ }
87
105
  // Not color, just used if label is given
88
106
  :deep(.v-field--focused:not(.v-field--error) .v-field__outline *::after) {
89
107
  border-color: rgb(var(--v-theme-primary));
108
+ border-width: 1px !important;
90
109
  }
91
110
 
92
111
  // remove margin from prepended Icon
@@ -118,10 +137,6 @@
118
137
  :deep(.v-field__loader) {
119
138
  top: calc(100% - 2px);
120
139
  }
121
-
122
- :deep(.v-field--appended) {
123
- padding-inline-end: 8px;
124
- }
125
140
  </style>
126
141
 
127
142
  <script>
@@ -6,7 +6,7 @@
6
6
  :hide-details="false"
7
7
  :rules="rules"
8
8
  :type="type"
9
- class="primary--placeholder"
9
+ class="vcs-text-field primary--placeholder"
10
10
  :class="{
11
11
  'py-1': !paddingProvided,
12
12
  }"
@@ -17,25 +17,28 @@
17
17
  <template #append-inner v-if="unit">
18
18
  <slot name="append-inner">{{ unit }}</slot>
19
19
  </template>
20
- <template v-for="slot of Object.keys($slots)" #[slot]="scope">
21
- <slot :name="slot" v-bind="scope" />
20
+ <template v-for="slot of forwardSlots" #[slot]="scope">
21
+ <slot :name="slot" v-bind="scope ?? {}" />
22
22
  </template>
23
23
  <template #message="{ message }">
24
24
  <v-tooltip
25
25
  ref="errorTooltipRef"
26
26
  :activator="textFieldRef"
27
27
  v-if="message"
28
- :text="message"
28
+ :text="$st(message)"
29
29
  content-class="bg-error"
30
30
  :location="tooltipPosition"
31
31
  />
32
32
  </template>
33
- <v-tooltip
34
- v-if="tooltip && !errorTooltipRef"
35
- :activator="textFieldRef"
36
- :location="tooltipPosition"
37
- :text="tooltip"
38
- ></v-tooltip>
33
+ <template #default="scope">
34
+ <v-tooltip
35
+ v-if="tooltip && !errorTooltipRef"
36
+ :activator="textFieldRef"
37
+ :location="tooltipPosition"
38
+ :text="$st(tooltip)"
39
+ ></v-tooltip>
40
+ <slot name="default" v-bind="scope ?? {}"></slot>
41
+ </template>
39
42
  </v-text-field>
40
43
  </template>
41
44
 
@@ -45,7 +48,7 @@
45
48
  <script>
46
49
  import { computed, ref } from 'vue';
47
50
  import { VTextField, VTooltip } from 'vuetify/components';
48
- import { usePadding } from '../composables.js';
51
+ import { useForwardSlots, usePadding } from '../composables.js';
49
52
  import { useProxiedAtomicModel } from '../modelHelper.js';
50
53
 
51
54
  function countDecimalPlaces(value) {
@@ -108,7 +111,7 @@
108
111
  default: undefined,
109
112
  },
110
113
  },
111
- setup(props, { attrs }) {
114
+ setup(props, { attrs, slots }) {
112
115
  const textFieldRef = ref();
113
116
  const errorTooltipRef = ref();
114
117
  const focused = ref(attrs.autofocus);
@@ -148,8 +151,10 @@
148
151
  });
149
152
 
150
153
  const paddingProvided = usePadding(attrs);
154
+ const forwardSlots = useForwardSlots(slots, ['default']);
151
155
 
152
156
  return {
157
+ forwardSlots,
153
158
  paddingProvided,
154
159
  visibleValue,
155
160
  rules,
@@ -24,6 +24,7 @@ declare const _default: import("vue").DefineComponent<{
24
24
  default: undefined;
25
25
  };
26
26
  }, {
27
+ forwardSlots: import("vue").ComputedRef<string[]>;
27
28
  paddingProvided: import("vue").ComputedRef<boolean>;
28
29
  visibleValue: import("vue").WritableComputedRef<any>;
29
30
  rules: import("vue").ComputedRef<unknown>;
@@ -1,131 +1,108 @@
1
1
  <template>
2
- <v-stepper
3
- vertical
4
- :model-value="modelValue"
5
- @change="(newValue) => $emit('update:modelValue', newValue)"
6
- class="rounded-0 pb-1"
7
- >
8
- <slot />
9
- </v-stepper>
2
+ <v-stepper-vertical v-bind="$attrs">
3
+ <template #icon>
4
+ <slot name="icon"><v-icon>mdi-circle</v-icon></slot>
5
+ </template>
6
+ <template v-for="slot of forwardSlots" #[slot]="scope">
7
+ <slot :name="slot" v-bind="scope ?? {}" />
8
+ </template>
9
+ </v-stepper-vertical>
10
10
  </template>
11
11
 
12
12
  <script>
13
- import { VStepper } from 'vuetify/components';
13
+ import { VStepperVertical } from 'vuetify/labs/VStepperVertical';
14
+ import { VIcon } from 'vuetify/components';
15
+ import { useForwardSlots } from '../composables.js';
14
16
 
15
17
  /**
16
- * @description Stylized wrapper around {@link https://vuetifyjs.com/en/api/v-stepper/ |vuetify stepper}
17
- * Is always vertical.
18
- * Only passes the step property, all other props are ignored.
19
- * @vue-prop {number} value - The current step of the stepper.
18
+ * @description Stylized wrapper around {@link https://vuetifyjs.com/en/api/v-stepper-vertical/ |vuetify stepper vertical}per.
20
19
  * @vue-data {slot} [#default] - Slot to add VcsWizardSteps.
21
20
  */
22
21
  export default {
23
22
  name: 'VcsWizard',
24
23
  components: {
25
- VStepper,
24
+ VStepperVertical,
25
+ VIcon,
26
26
  },
27
- props: {
28
- modelValue: {
29
- type: Number,
30
- default: undefined,
31
- },
27
+ setup(_p, { slots }) {
28
+ const forwardSlots = useForwardSlots(slots, ['icon']);
29
+
30
+ return {
31
+ forwardSlots,
32
+ };
32
33
  },
33
34
  };
34
35
  </script>
35
36
  <style scoped lang="scss">
36
- /*@import '../../styles/shades.scss';
37
- .v-stepper {
38
- &.theme--light {
39
- :deep(.v-stepper__step) {
40
- .v-stepper__label {
41
- color: map-get($shades, 'black');
42
- }
43
- &--complete {
44
- .v-stepper__label {
45
- color: map-get($shades, 'black');
46
- }
47
- }
48
- &--active {
49
- background-color: rgba(34, 34, 34, 0.1);
50
- .v-stepper__label {
51
- color: var(--v-primary-base);
52
- }
53
- }
54
- .v-stepper__step__step::before {
55
- color: map-get($shades, 'white');
56
- }
57
- }
58
- :deep(.step-border:not(:last-child) > .v-stepper__content) {
59
- border-left: 2px solid rgba(0, 0, 0, 0.12);
60
- }
61
- }
62
- &.theme--dark {
63
- background: map-get($shades, 'black');
64
- :deep(.v-stepper__step) {
65
- .v-stepper__label {
66
- color: map-get($shades, 'white');
67
- }
68
- &--complete {
69
- .v-stepper__label {
70
- color: map-get($shades, 'white');
71
- }
72
- }
73
- &--active {
74
- background-color: rgba(255, 255, 255, 0.17);
75
- .v-stepper__label {
76
- color: var(--v-primary-base);
77
- }
78
- }
79
- .v-stepper__step__step {
80
- .v-icon {
81
- color: transparent;
82
- }
83
- &:before {
84
- color: map-get($shades, 'black');
85
- }
86
- }
87
- &.v-stepper__step--error {
88
- .v-stepper__label {
89
- color: var(--v-error-darken2);
90
- }
91
- .v-stepper__step__step {
92
- background-color: var(--v-error-darken1);
93
- }
94
- }
95
- }
96
- :deep(.step-border:not(:last-child) > .v-stepper__content) {
97
- border-left: 2px solid rgba(255, 255, 255, 0.8);
98
- }
99
- }
100
- :deep(.v-stepper__step) {
101
- padding-top: 0;
102
- padding-bottom: 0;
103
- .v-stepper__label {
104
- font-weight: 700;
105
- text-shadow: none !important;
106
- }
107
- .v-stepper__step__step {
108
- color: transparent;
109
- position: relative;
110
- margin-top: 1px;
111
- &:before {
112
- content: '\25cf';
113
- font-size: 18px;
114
- position: absolute;
115
- top: -9px;
116
- }
117
- }
118
- &.v-stepper__step--error {
119
- .v-stepper__step__step {
120
- background-color: var(--v-error-base);
121
- }
122
- .v-stepper__label {
123
- color: var(--v-error-base);
124
- }
125
- }
37
+ :deep(.v-expansion-panel-title) {
38
+ height: var(--v-vcs-item-height);
39
+ min-height: var(--v-vcs-item-height);
40
+ padding: 0 8px;
41
+ }
42
+ :deep(.v-expansion-panel-title.v-expansion-panel-title--active) {
43
+ background-color: rgba(
44
+ var(--v-theme-base-darken-4),
45
+ var(--v-selected-opacity)
46
+ );
47
+
48
+ color: rgb(var(--v-theme-primary));
49
+
50
+ .action-btn-wrap {
51
+ color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
126
52
  }
127
- :deep(.v-stepper__content .v-stepper__wrapper) {
128
- margin: 4px 0 4px 4px;
53
+
54
+ .v-expansion-panel-title__overlay:hover,
55
+ .v-expansion-panel-title__overlay {
56
+ background-color: rgb(var(--v-theme-base));
129
57
  }
130
- }*/
58
+ }
59
+ :deep(.v-stepper-vertical-item:not(:last-child):before) {
60
+ height: 100%;
61
+ top: calc(var(--v-vcs-item-height) * 0.5);
62
+ left: calc(14px + var(--v-vcs-font-size) * 0.42);
63
+ width: calc(var(--v-vcs-font-size) * 0.1);
64
+ }
65
+ :deep(.v-stepper-vertical-item__avatar.v-avatar) {
66
+ background: rgb(var(--v-theme-base-darken-2));
67
+ color: rgb(var(--v-theme-background)) !important;
68
+ width: calc(var(--v-vcs-font-size) - 1px) !important;
69
+ height: calc(var(--v-vcs-font-size) - 1px) !important;
70
+ z-index: 2;
71
+ }
72
+ :deep(
73
+ .v-expansion-panel-title--active .v-stepper-vertical-item__avatar.v-avatar
74
+ ) {
75
+ background: rgb(var(--v-theme-primary));
76
+ }
77
+ :deep(
78
+ .v-stepper-vertical-item--error .v-stepper-vertical-item__avatar.v-avatar
79
+ ) {
80
+ background: rgb(var(--v-theme-error));
81
+ }
82
+ /* alignment of heading */
83
+ :deep(.v-stepper-vertical-item__avatar.v-avatar) + div {
84
+ width: 100%;
85
+ }
86
+ /* Removes padding right at header actions */
87
+ :deep(.v-expansion-panel-title__icon) {
88
+ display: none;
89
+ }
90
+ :deep(.v-stepper-vertical-item__avatar.v-avatar .v-icon) {
91
+ font-size: calc(var(--v-vcs-font-size) - 3px) !important;
92
+ height: calc(var(--v-vcs-font-size) - 3px) !important;
93
+ width: calc(var(--v-vcs-font-size) - 3px) !important;
94
+ }
95
+ :deep(.v-avatar--start) {
96
+ margin-inline-start: 6px;
97
+ }
98
+ /* button on disabled shouldn't still contain the .bg-primary class! */
99
+ :deep(.v-btn--disabled.v-btn--variant-flat.bg-primary) {
100
+ color: rgba(var(--v-theme-on-surface), 0.26) !important;
101
+ }
102
+ :deep(.v-expansion-panel__shadow) {
103
+ box-shadow: unset;
104
+ }
105
+ :deep(.v-expansion-panel-text) {
106
+ padding-left: 12px;
107
+ }
131
108
  </style>
@@ -1,14 +1,4 @@
1
- declare const _default: import("vue").DefineComponent<{
2
- modelValue: {
3
- type: NumberConstructor;
4
- default: undefined;
5
- };
6
- }, any, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
- modelValue: {
8
- type: NumberConstructor;
9
- default: undefined;
10
- };
11
- }>>, {
12
- modelValue: number;
13
- }, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ forwardSlots: import("vue").ComputedRef<string[]>;
3
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
14
4
  export default _default;