@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
@@ -1,45 +1,64 @@
1
1
  <template>
2
- <div class="step-border">
3
- <v-stepper-vertical-item
4
- :step="step"
5
- :editable="editable"
6
- :complete="complete"
7
- :rules="rules"
8
- class="pr-2"
9
- >
10
- <div class="d-flex justify-space-between align-center">
11
- <slot name="header" />
12
- <div v-if="!$slots.header" class="step-label-wrap">
13
- <span>{{ $st(heading) }}</span>
2
+ <v-stepper-vertical-item
3
+ :value="step"
4
+ :editable="isActiveStep || editable"
5
+ :complete="complete"
6
+ :rules="rules"
7
+ :multiple="multiple"
8
+ :hide-actions="true"
9
+ icon="mdi-circle"
10
+ complete-icon="mdi-circle"
11
+ edit-icon="mdi-circle"
12
+ error-icon="mdi-circle"
13
+ v-bind="$attrs"
14
+ >
15
+ <template #title>
16
+ <slot name="title">
17
+ <div class="d-flex align-center justify-space-between">
18
+ <div v-if="!$slots.title">
19
+ <span>{{ $st(heading) }}</span>
20
+ </div>
21
+ <v-spacer />
22
+ <VcsActionButtonList
23
+ v-if="isActiveStep"
24
+ :actions="actions"
25
+ :overflow-count="actionButtonListOverflowCount"
26
+ @mousedown.stop
27
+ @touchstart.stop
28
+ @keydown.stop
29
+ class="justify-end"
30
+ />
14
31
  </div>
15
- <VcsActionButtonList
16
- v-if="Number(step) === Number(value)"
17
- :actions="actions"
18
- :overflow-count="actionButtonListOverflowCount"
19
- @mousedown.stop
20
- @touchstart.stop
21
- @keydown.stop
22
- />
32
+ </slot>
33
+ </template>
34
+ <template #default>
35
+ <div class="pr-4">
36
+ <VcsHelp :text="helpText" :show="showHelp">
37
+ <slot name="help" />
38
+ </VcsHelp>
39
+ <slot />
23
40
  </div>
24
- </v-stepper-vertical-item>
25
- <v-stepper-content v-if="$slots.content" class="pr-4" :step="step">
26
- <VcsHelp :text="helpText" :show="showHelp">
27
- <slot name="help" />
28
- </VcsHelp>
29
- <slot name="content" />
30
- </v-stepper-content>
31
- </div>
41
+ </template>
42
+ <template v-for="slot of forwardSlots" #[slot]="scope">
43
+ <slot :name="slot" v-bind="scope ?? {}" />
44
+ </template>
45
+ </v-stepper-vertical-item>
32
46
  </template>
33
47
 
34
48
  <script>
35
49
  import { computed, reactive, watch } from 'vue';
36
50
  import { VStepperVerticalItem } from 'vuetify/labs/VStepperVertical';
51
+ import { VSpacer } from 'vuetify/components';
52
+ import { useProxiedComplexModel } from '../modelHelper.js';
53
+ import { useForwardSlots } from '../composables.js';
37
54
  import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
38
55
  import VcsHelp from '../notification/VcsHelp.vue';
39
56
 
40
57
  /**
41
58
  * @description Stylized wrapper around {@link https://vuetifyjs.com/en/api/v-stepper-step/ |vuetify VStepperStep} and
42
59
  * {@link https://vuetifyjs.com/en/api/v-stepper-content/ |vuetify VStepperContent}.
60
+ * @vue-prop {boolean} multiple - Whether multiple steps can be active at the same time.
61
+ * @vue-prop {string | number} modelValue - The current step of the VcsWizard.
43
62
  * @vue-prop {number | string} step - Declares which step of the VcsWizard this VcsWizardStep is.
44
63
  * @vue-prop {boolean} [editable=false] - If this step is editable. If so, user can jump to that step by clicking on the v-stepper-step.
45
64
  * @vue-prop {boolean} [complete=false] - If this step is completed. Has effect on the look of the v-stepper-step.
@@ -48,7 +67,6 @@
48
67
  * @vue-prop {Array<VcsAction>} [headerActions] - Action buttons to be displayed on the right side of the v-stepper-step.
49
68
  * @vue-prop {number} [actionButtonListOverflowCount] - Overflow count to use for the headerActions.
50
69
  * @vue-prop {string} [helpText] - Optional help text. Must be plain string. Use 'help' slot for html based help texts. Help slot has precedence over helpText prop.
51
- * @vue-prop {string | number} value - The current step of the VcsWizard.
52
70
  * @vue-data {slot} [#header] - Slot to override the heading prop. Allows to pass html as v-stepper-step content.
53
71
  * @vue-data {slot} [#content] - Slot to add content to the step. Is rendered in v-stepper-content.
54
72
  * @vue-data {slot} [#help] - Slot to add html to the help section. Overrides content of helpText prop.
@@ -56,14 +74,28 @@
56
74
  export default {
57
75
  name: 'VcsWizardStep',
58
76
  components: {
77
+ VSpacer,
59
78
  VStepperVerticalItem,
60
79
  VcsActionButtonList,
61
80
  VcsHelp,
62
81
  },
63
82
  props: {
83
+ multiple: {
84
+ type: Boolean,
85
+ default: false,
86
+ },
87
+ modelValue: {
88
+ type: [Array, String, Boolean, Number],
89
+ default(rawProps) {
90
+ if (rawProps.multiple) {
91
+ return [];
92
+ }
93
+ return 0;
94
+ },
95
+ },
64
96
  step: {
65
97
  type: [String, Number],
66
- required: true,
98
+ default: 0,
67
99
  },
68
100
  editable: {
69
101
  type: Boolean,
@@ -94,12 +126,13 @@
94
126
  type: String,
95
127
  default: undefined,
96
128
  },
97
- modelValue: {
98
- type: [String, Number],
99
- required: true,
100
- },
101
129
  },
102
130
  setup(props, { slots, emit }) {
131
+ const localValue = useProxiedComplexModel(props, 'modelValue', emit);
132
+ const isActiveStep = computed(
133
+ () => Number(props.step) === Number(localValue.value),
134
+ );
135
+
103
136
  const helpAction = reactive({
104
137
  name: 'help',
105
138
  title: 'components.vcsFormSection.help',
@@ -107,18 +140,15 @@
107
140
  icon: 'mdi-help-circle',
108
141
  callback() {
109
142
  this.active = !this.active;
110
- if (
111
- Number(props.modelValue) !== Number(props.step) &&
112
- props.editable
113
- ) {
114
- emit('update:modelValue', props.step);
143
+ if (!isActiveStep.value && props.editable) {
144
+ localValue.value = props.step;
115
145
  }
116
146
  },
117
147
  });
118
148
  const showHelp = computed(() => helpAction.active);
119
149
  // deactivate help when leaving a step
120
150
  watch(
121
- () => props.modelValue,
151
+ () => localValue,
122
152
  (currentStep, previousStep) => {
123
153
  if (Number(previousStep) === Number(props.step)) {
124
154
  helpAction.active = false;
@@ -135,27 +165,15 @@
135
165
  return props.headerActions;
136
166
  });
137
167
 
168
+ const forwardSlots = useForwardSlots(slots, ['title', 'default']);
169
+
138
170
  return {
139
171
  showHelp,
140
172
  actions,
173
+ isActiveStep,
174
+ forwardSlots,
141
175
  };
142
176
  },
143
177
  };
144
178
  </script>
145
- <style scoped lang="scss">
146
- .v-alert--text:before {
147
- background-color: transparent;
148
- }
149
- .v-stepper__step {
150
- :deep(.v-ripple__container) {
151
- display: none !important;
152
- }
153
- }
154
- .v-stepper__content {
155
- padding-left: 2px !important;
156
- }
157
- .step-label-wrap {
158
- padding-top: 13px !important;
159
- padding-bottom: 13px !important;
160
- }
161
- </style>
179
+ <style scoped lang="scss"></style>
@@ -1,7 +1,15 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
+ multiple: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ modelValue: {
7
+ type: (BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
8
+ default(rawProps: any): 0 | never[];
9
+ };
2
10
  step: {
3
11
  type: (StringConstructor | NumberConstructor)[];
4
- required: true;
12
+ default: number;
5
13
  };
6
14
  editable: {
7
15
  type: BooleanConstructor;
@@ -32,17 +40,23 @@ declare const _default: import("vue").DefineComponent<{
32
40
  type: StringConstructor;
33
41
  default: undefined;
34
42
  };
35
- modelValue: {
36
- type: (StringConstructor | NumberConstructor)[];
37
- required: true;
38
- };
39
43
  }, {
40
44
  showHelp: import("vue").ComputedRef<boolean>;
41
45
  actions: import("vue").ComputedRef<VcsAction>;
46
+ isActiveStep: import("vue").ComputedRef<boolean>;
47
+ forwardSlots: import("vue").ComputedRef<string[]>;
42
48
  }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
49
+ multiple: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
53
+ modelValue: {
54
+ type: (BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
55
+ default(rawProps: any): 0 | never[];
56
+ };
43
57
  step: {
44
58
  type: (StringConstructor | NumberConstructor)[];
45
- required: true;
59
+ default: number;
46
60
  };
47
61
  editable: {
48
62
  type: BooleanConstructor;
@@ -73,14 +87,13 @@ declare const _default: import("vue").DefineComponent<{
73
87
  type: StringConstructor;
74
88
  default: undefined;
75
89
  };
76
- modelValue: {
77
- type: (StringConstructor | NumberConstructor)[];
78
- required: true;
79
- };
80
90
  }>>, {
91
+ complete: boolean;
81
92
  headerActions: unknown[];
93
+ modelValue: string | number | boolean | unknown[];
82
94
  rules: unknown[];
83
- complete: boolean;
95
+ multiple: boolean;
96
+ step: string | number;
84
97
  heading: string;
85
98
  actionButtonListOverflowCount: number;
86
99
  helpText: string;
@@ -76,3 +76,8 @@
76
76
  :deep(.v-field__loader) {
77
77
  top: calc(100% - 2px);
78
78
  }
79
+
80
+ // unit margin
81
+ :deep(.v-field__clearable) {
82
+ margin-left: 0;
83
+ }
@@ -12,19 +12,25 @@
12
12
  {{ unit }}
13
13
  </span>
14
14
  </slot>
15
+ <v-tooltip
16
+ v-if="tooltip"
17
+ activator="parent"
18
+ :location="tooltipPosition"
19
+ :text="$st(tooltip)"
20
+ ></v-tooltip>
15
21
  </span>
16
22
  </template>
17
23
  <style lang="scss" scoped>
18
- @import '../../styles/vcsGrid.scss';
19
- @import '../../styles/vcsFont';
20
- .vcs-formatted-number,
21
- .vcs-formatted-number span {
22
- font-size: var(--v-vcs-font-size);
23
- line-height: $line-height-dense;
24
+ .vcs-formatted-number {
25
+ box-sizing: content-box;
26
+ display: flex;
27
+ align-items: center;
28
+ height: calc(var(--v-vcs-item-height) - 8px);
24
29
  }
25
30
  </style>
26
31
  <script>
27
32
  import { computed } from 'vue';
33
+ import { VTooltip } from 'vuetify/components';
28
34
  import { usePadding } from '../composables.js';
29
35
 
30
36
  /**
@@ -68,12 +74,14 @@
68
74
  * @vue-prop {number} [fractionDigits=undefined]
69
75
  * @vue-prop {number} modelValue
70
76
  * @vue-prop {string|number} prefix
71
- * @vue-prop {boolean} [dense=true] - default line height is 32px (dense). If set false, height is 40px.
72
- * @vue-prop {boolean} noPadding - Padding is required for usage within rows. For standalone usage this prop removes class.
73
- * @vue-computed {string} formatted - value formatted to locale string
77
+ * @vue-prop {('bottom' | 'left' | 'top' | 'right')} [tooltipPosition='right'] - Position of the tooltip.
78
+ * @vue-prop {string|undefined} tooltip - Optional tooltip which will be shown on hover when no error message is shown
74
79
  */
75
80
  export default {
76
81
  name: 'VcsFormattedNumber',
82
+ components: {
83
+ VTooltip,
84
+ },
77
85
  props: {
78
86
  unit: {
79
87
  type: [String || SpecialUnits],
@@ -91,6 +99,14 @@
91
99
  type: [String, Number],
92
100
  default: undefined,
93
101
  },
102
+ tooltip: {
103
+ type: String,
104
+ default: undefined,
105
+ },
106
+ tooltipPosition: {
107
+ type: String,
108
+ default: 'right',
109
+ },
94
110
  },
95
111
  setup(props, { attrs }) {
96
112
  const formatted = computed(() =>
@@ -32,6 +32,14 @@ declare const _default: import("vue").DefineComponent<{
32
32
  type: (StringConstructor | NumberConstructor)[];
33
33
  default: undefined;
34
34
  };
35
+ tooltip: {
36
+ type: StringConstructor;
37
+ default: undefined;
38
+ };
39
+ tooltipPosition: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
35
43
  }, {
36
44
  SpecialUnits: {
37
45
  SQM: string;
@@ -57,9 +65,19 @@ declare const _default: import("vue").DefineComponent<{
57
65
  type: (StringConstructor | NumberConstructor)[];
58
66
  default: undefined;
59
67
  };
68
+ tooltip: {
69
+ type: StringConstructor;
70
+ default: undefined;
71
+ };
72
+ tooltipPosition: {
73
+ type: StringConstructor;
74
+ default: string;
75
+ };
60
76
  }>>, {
61
77
  modelValue: number;
62
78
  prefix: string | number;
79
+ tooltip: string;
80
+ tooltipPosition: string;
63
81
  unit: string;
64
82
  fractionDigits: number;
65
83
  }, {}>;
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <div class="marked" v-html="markedHtml"></div>
3
+ </template>
4
+ <style lang="scss" scoped>
5
+ div {
6
+ :deep(p) {
7
+ margin-bottom: calc(var(--v-vcs-font-size) * 1);
8
+ }
9
+ :deep(h1) {
10
+ margin-bottom: calc(var(--v-vcs-font-size) * 1);
11
+ }
12
+ :deep(h2) {
13
+ margin-bottom: calc(
14
+ var(--v-vcs-font-size) * 1
15
+ ); /* or any other value you prefer */
16
+ }
17
+ :deep(ul) {
18
+ margin-bottom: calc(
19
+ var(--v-vcs-font-size) * 1
20
+ ); /* or any other value you prefer */
21
+ }
22
+ :deep(ol) {
23
+ margin-bottom: calc(
24
+ var(--v-vcs-font-size) * 1
25
+ ); /* or any other value you prefer */
26
+ }
27
+ :deep(li) {
28
+ margin-left: 1.5em;
29
+ }
30
+ }
31
+ </style>
32
+ <script>
33
+ import { computed } from 'vue';
34
+ import { parseAndSanitizeMarkdown } from '../../application/markdownHelper.js';
35
+
36
+ export default {
37
+ name: 'VcsMarkdown',
38
+ props: {
39
+ content: {
40
+ type: String,
41
+ default: undefined,
42
+ },
43
+ },
44
+ setup(props) {
45
+ const markedHtml = computed(() =>
46
+ parseAndSanitizeMarkdown(props.content),
47
+ );
48
+ return {
49
+ markedHtml,
50
+ };
51
+ },
52
+ };
53
+ </script>
@@ -0,0 +1,16 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ content: {
3
+ type: StringConstructor;
4
+ default: undefined;
5
+ };
6
+ }, {
7
+ markedHtml: import("vue").ComputedRef<string>;
8
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
+ content: {
10
+ type: StringConstructor;
11
+ default: undefined;
12
+ };
13
+ }>>, {
14
+ content: string;
15
+ }, {}>;
16
+ export default _default;
@@ -1,40 +1,48 @@
1
1
  <template>
2
- <v-list v-if="actions.length > 0" rounded>
3
- <VcsTooltip
2
+ <v-list v-if="actions.length > 0" rounded class="vcs-action-list">
3
+ <v-list-item
4
4
  v-for="(action, index) in actions"
5
5
  :key="`${action.name}-${index}`"
6
- :tooltip="action.title"
7
- :tooltip-position="tooltipPosition"
8
- v-bind="{ ...tooltipProps }"
6
+ :class="action.active ? 'text-primary' : ''"
7
+ :disabled="action.disabled || disabled"
8
+ @click="action.callback($event)"
9
+ v-bind="{ ...$attrs }"
9
10
  >
10
- <template #activator="{ props }">
11
- <v-list-item
12
- :class="action.active ? 'text-primary' : ''"
13
- :disabled="action.disabled || disabled"
14
- @click="action.callback($event)"
15
- v-bind="{ ...$attrs, ...props }"
16
- >
17
- <template #prepend v-if="showIcon && action.icon">
18
- <v-icon>{{ action.icon }}</v-icon>
19
- </template>
20
- <v-list-item-title>{{ $st(action.name) }}</v-list-item-title>
21
- </v-list-item>
11
+ <template #prepend v-if="showIcon && action.icon">
12
+ <v-icon :size="iconSize">{{ action.icon }}</v-icon>
22
13
  </template>
23
- </VcsTooltip>
14
+ <v-list-item-title>{{ $st(action.name) }}</v-list-item-title>
15
+ <v-tooltip
16
+ v-if="action.title"
17
+ activator="parent"
18
+ :text="$st(action.title)"
19
+ :location="tooltipPosition"
20
+ v-bind="{ ...tooltipProps }"
21
+ />
22
+ </v-list-item>
24
23
  </v-list>
25
24
  </template>
26
25
  <style lang="scss" scoped>
27
- :deep(.v-list-item-title:hover) {
28
- color: rgb(var(--v-theme-primary));
26
+ :deep(.v-list-item:hover) {
27
+ .v-list-item-title {
28
+ color: rgb(var(--v-theme-primary));
29
+ }
29
30
  }
30
31
  :deep(.v-list-item .v-list-item__prepend .v-list-item__spacer) {
31
32
  width: 8px;
32
33
  }
33
34
  </style>
34
35
  <script>
36
+ import { computed } from 'vue';
35
37
  import { is } from '@vcsuite/check';
36
- import { VIcon, VList, VListItem, VListItemTitle } from 'vuetify/components';
37
- import VcsTooltip from '../notification/VcsTooltip.vue';
38
+ import {
39
+ VIcon,
40
+ VList,
41
+ VListItem,
42
+ VListItemTitle,
43
+ VTooltip,
44
+ } from 'vuetify/components';
45
+ import { useFontSize } from '../../vuePlugins/vuetify.js';
38
46
 
39
47
  /**
40
48
  * pattern to check actions
@@ -69,22 +77,21 @@
69
77
 
70
78
  /**
71
79
  * @description
72
- * A component rendering a list of actions with overflow mechanic using
73
- * {@link https://vuetifyjs.com/en/api/v-list-item-group/|vuetify v-list-item-group} and {@link VcsTooltip}.
80
+ * A component rendering a list of actions
74
81
  * @vue-prop {Array<VcsAction>} actions - Array of actions
75
- * @vue-prop {('bottom' | 'left' | 'top' | 'right')} tooltipPosition - Position of the tooltip.
76
- * @vue-prop {Object<string, any>} tooltipProps - Properties to be passed to VcsTooltip {@link https://vuetifyjs.com/en/api/v-tooltip/#props|vuetify v-tooltip}
82
+ * @vue-prop {('bottom' | 'left' | 'top' | 'right')} tooltipPosition - Position of the tooltip. (action.title will be rendered as a tooltip)
83
+ * @vue-prop {Object<string, any>} tooltipProps - Properties to be passed to v-tooltip
77
84
  * @vue-prop {boolean} [showIcon=false] - Whether list item icons should be displayed.
78
85
  * @vue-prop {boolean} [disabled=false] - disable all actions
79
86
  */
80
87
  export default {
81
88
  name: 'VcsActionList',
82
89
  components: {
83
- VcsTooltip,
84
90
  VList,
85
91
  VListItem,
86
92
  VIcon,
87
93
  VListItemTitle,
94
+ VTooltip,
88
95
  },
89
96
  props: {
90
97
  actions: {
@@ -109,5 +116,14 @@
109
116
  default: false,
110
117
  },
111
118
  },
119
+ setup() {
120
+ const fontSize = useFontSize();
121
+ const iconSize = computed(() => {
122
+ return fontSize.value * (1.2 + 0.1 / 3);
123
+ });
124
+ return {
125
+ iconSize,
126
+ };
127
+ },
112
128
  };
113
129
  </script>
@@ -35,7 +35,9 @@ declare const _default: import("vue").DefineComponent<{
35
35
  type: BooleanConstructor;
36
36
  default: boolean;
37
37
  };
38
- }, any, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
38
+ }, {
39
+ iconSize: import("vue").ComputedRef<number>;
40
+ }, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
41
  actions: {
40
42
  type: ArrayConstructor;
41
43
  required: true;