comand-component-library 4.0.40 → 4.0.42

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.
@@ -1,21 +1,23 @@
1
1
  <template>
2
- <div class="cmd-imagezoom flex-container">
3
-
2
+ <div class="cmd-image-zoom flex-container">
4
3
  <!-- begin small image -->
5
4
  <a href="#" class="no-flex thumbnails-imagezoom" :title="imageSmall.tooltip">
6
- <img :src="imageSmall.src"
5
+ <!-- begin CmdImage for small image -->
6
+ <CmdImage :src="imageSmall.src"
7
7
  :alt="imageSmall.alt"
8
8
  @mouseover="onMouseOver"
9
9
  @mousemove="onMouseMove"
10
10
  @mouseout="onMouseOut"
11
11
  />
12
- <!-- end CmdImage -->
12
+ <!-- end CmdImage for small image -->
13
13
  </a>
14
14
  <!-- end small image -->
15
15
 
16
16
  <!-- begin large image -->
17
17
  <div v-if="showLargeImage" class="zoom-container">
18
- <img :src="imageLarge.src" :alt="imageLarge.alt"/>
18
+ <!-- begin CmdImage for large image -->
19
+ <CmdImage v-bind="imageLarge" />
20
+ <!-- end CmdImage for large image -->
19
21
  </div>
20
22
  <div v-if="showLargeImage" class="zoom-overlay"></div>
21
23
  <!-- end large image -->
@@ -111,7 +113,7 @@ function clamp(value, min, max) {
111
113
 
112
114
  <style>
113
115
  /* begin cmd-imagezoom ---------------------------------------------------------------------------------------- */
114
- .cmd-imagezoom {
116
+ .cmd-image-zoom {
115
117
  overflow: hidden;
116
118
 
117
119
  .zoom-container {
@@ -1,35 +1,62 @@
1
1
  <template>
2
2
  <!-- begin CmdLink -->
3
3
  <!-- begin href -->
4
- <a v-if="linkType === 'href'" :href="path" :target="target" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click.prevent="emitClick($event, 'href')">
5
- <span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
6
- <span v-if="text">{{ text }}</span>
7
- <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
4
+ <a v-if="linkType === 'href'" :href="path" :target="target" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click="emitClick($event, 'href')">
5
+ <InnerLink :text="text" :icon="icon">
6
+ <slot></slot>
7
+ </InnerLink>
8
8
  </a>
9
9
  <!-- end href -->
10
10
 
11
11
  <!-- begin router -->
12
- <router-link v-else-if="linkType === 'router'" :to="path" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click.prevent="emitClick($event, 'router')">
13
- <span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
14
- <span v-if="text">{{ text }}</span>
15
- <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
12
+ <router-link v-else-if="linkType === 'router'" :to="path" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click="emitClick($event, 'router')">
13
+ <InnerLink :text="text" :icon="icon">
14
+ <slot></slot>
15
+ </InnerLink>
16
16
  </router-link>
17
17
  <!-- end router -->
18
18
 
19
19
  <!-- begin button -->
20
- <button v-else-if="linkType === 'button'" :class="['cmd-link button', {'primary': primaryButton}]" type="submit" @click.prevent="emitClick($event, 'button')">
21
- <span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
22
- <span v-if="text">{{ text }}</span>
23
- <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
20
+ <button v-else-if="linkType === 'button'" :class="['cmd-link button', {'primary': primaryButton}]" type="submit" @click="emitClick($event, 'button')">
21
+ <InnerLink :text="text" :icon="icon">
22
+ <slot></slot>
23
+ </InnerLink>
24
24
  </button>
25
25
  <!-- end button -->
26
26
  <!-- end CmdLink -->
27
27
  </template>
28
28
 
29
29
  <script>
30
+ import { defineComponent } from "vue"
31
+ const InnerLink = defineComponent({
32
+ template: `<span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
33
+ <span v-if="text">{{ text }}</span>
34
+ <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
35
+ <slot></slot>`,
36
+ props: {
37
+ /**
38
+ * icon to display
39
+ */
40
+ icon: {
41
+ type: Object,
42
+ default: {}
43
+ },
44
+ /**
45
+ * displayed text
46
+ */
47
+ text: {
48
+ type: String,
49
+ default: ""
50
+ }
51
+ }
52
+ })
53
+
30
54
  export default {
31
55
  name: "CmdLink",
32
56
  emits: ["click"],
57
+ components: {
58
+ InnerLink
59
+ },
33
60
  props: {
34
61
  /**
35
62
  * set type of link
@@ -51,7 +78,7 @@ export default {
51
78
  * linkType-property must be 'href', 'router'
52
79
  */
53
80
  path: {
54
- type: String,
81
+ type: [String, Object],
55
82
  default: "#"
56
83
  },
57
84
  /**
@@ -12,6 +12,7 @@
12
12
  <!-- end CmdIcon -->
13
13
  <span v-if="link.text">{{ link.text }}</span>
14
14
  </a>
15
+ <!--CmdLink @click="executeLink()" /-->
15
16
  <!-- end use href --->
16
17
 
17
18
  <!-- begin use router-link -->
@@ -24,6 +25,7 @@
24
25
  <!-- end CmdIcon -->
25
26
  <span v-if="link.text">{{ link.text }}</span>
26
27
  </router-link>
28
+ <!--CmdLink :path="getRoute(link)" /-->
27
29
  <!-- end use router-link -->
28
30
 
29
31
  <!-- begin CmdListOfLinksItem for nested children -->
@@ -1,43 +1,11 @@
1
1
  <template>
2
2
  <ol :class="['cmd-multistep-form-progress-bar', {'use-gap': useGap}]">
3
3
  <li v-for="(step, index) in multisteps" :key="index" :class="{active : activeLink === index}">
4
- <!-- begin type === href -->
5
- <a v-if="step.type === 'href'"
6
- :href="step.path" @click.stop.prevent="clickedStep($event, index)"
7
- :title="step.tooltip"
8
- >
9
- <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
10
- <!-- begin CmdIcon -->
11
- <CmdIcon v-if="step.iconClass" :iconClass="step.iconClass" :type="step.iconType" />
12
- <!-- end CmdIcon -->
13
- <span v-if="step.text">{{ step.text }}</span>
14
- <span :class="separatorIconClass"></span>
15
- </a>
16
- <!-- end type === href -->
17
-
18
- <!-- begin type === router -->
19
- <router-link
20
- v-if="step.type === 'router'"
21
- :to="getRoute(step)"
22
- :title="step.tooltip"
23
- >
24
- <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
25
- <!-- begin CmdIcon -->
26
- <CmdIcon v-if="step.iconClass" :iconClass="step.iconClass" :type="step.iconType" />
27
- <!-- end CmdIcon -->
28
- <span v-if="step.text">{{ step.text }}</span>
29
- <span :class="separatorIconClass"></span>
30
- </router-link>
31
- <!-- end type === router -->
32
-
33
- <!-- begin type === button/submit -->
34
- <button
35
- v-if="step.type === 'button' || step.type === 'submit'"
36
- class="button"
37
- :type="step.type"
38
- :name="step.name"
4
+ <!-- begin CmdLink -->
5
+ <CmdLink
6
+ :linkType="step.type"
7
+ :path="step.path"
39
8
  :title="step.tooltip"
40
- :formaction="step.formaction"
41
9
  @click.stop.prevent="clickedStep($event, index)"
42
10
  >
43
11
  <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
@@ -46,8 +14,8 @@
46
14
  <!-- end CmdIcon -->
47
15
  <span v-if="step.text">{{ step.text }}</span>
48
16
  <span :class="separatorIconClass"></span>
49
- </button>
50
- <!-- end type === button/submit -->
17
+ </CmdLink>
18
+ <!-- end CmdLink -->
51
19
  </li>
52
20
  </ol>
53
21
  </template>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <fieldset class="cmd-newsletter-subscription flex-container">
3
3
  <!-- begin legend -->
4
- <legend :class="{'hidden' : !showLegend}">{{ textLegend }}</legend>
4
+ <legend :class="{hidden : !legend.show, 'align-left': legend.align === 'left'}">{{ legend.text }}</legend>
5
5
  <!-- end legend -->
6
6
 
7
7
  <!-- begin cmd-input-group -->
@@ -64,6 +64,11 @@ export default {
64
64
  }
65
65
  }
66
66
  },
67
+ /**
68
+ * set type for button
69
+ *
70
+ * @allowedValues: "submit", "button"
71
+ */
67
72
  buttonType: {
68
73
  type: String,
69
74
  default: "button",
@@ -72,20 +77,20 @@ export default {
72
77
  }
73
78
  },
74
79
  /**
75
- * toggle legend visibility
76
- */
77
- showLegend: {
78
- type: Boolean,
79
- default: true
80
- },
81
- /**
82
- * text used as legend for login-fieldset
80
+ * legend for form
83
81
  *
84
- * @requiredForAccessibility: true
82
+ * useFieldset-property must be activated
83
+ *
84
+ * @requiredForAccessiblity: true
85
85
  */
86
- textLegend: {
87
- type: String,
88
- default: "Stay up-to-date"
86
+ legend: {
87
+ default() {
88
+ return {
89
+ show: true,
90
+ align: "left",
91
+ text: "Legend"
92
+ }
93
+ }
89
94
  },
90
95
  /**
91
96
  * properties for CmdInputGroup-component
@@ -9,16 +9,8 @@
9
9
 
10
10
  <!-- begin opening-status with link to detail-page -->
11
11
  <template v-if="!editing">
12
- <template v-if="link && link?.path && link?.show">
13
- <a v-if="link.type === 'href'" :href="link.path" :class="{closed: isClosed}">{{ textOpenClosed }}</a>
14
- <router-link v-if="link.type === 'router'" :to="link.path" :class="{closed: isClosed}">{{
15
- textOpenClosed
16
- }}
17
- </router-link>
18
- <button v-if="link.type === 'button'" :class="['button', {closed: isClosed}]">{{
19
- textOpenClosed
20
- }}
21
- </button>
12
+ <template v-if="cmdLink?.path">
13
+ <CmdLink :linkType="cmdLink.type || 'href'" v-bind="cmdLink" :class="{closed: isClosed}">{{ textOpenClosed }}</CmdLink>
22
14
  </template>
23
15
  <!-- end opening-status with link to detail-page -->
24
16
 
@@ -182,13 +174,6 @@ export default {
182
174
  type: Boolean,
183
175
  default: false
184
176
  },
185
- /**
186
- * set a link to a detail page
187
- */
188
- link: {
189
- type: Object,
190
- required: false
191
- },
192
177
  /**
193
178
  * text for 'open'-information
194
179
  */
@@ -266,6 +251,13 @@ export default {
266
251
  type: Number,
267
252
  default: 5000
268
253
  },
254
+ /**
255
+ * properties for CmdLink-component
256
+ */
257
+ cmdLink: {
258
+ type: Object,
259
+ required: false
260
+ },
269
261
  /**
270
262
  * properties for CmdHeadline-component
271
263
  */
@@ -5,9 +5,8 @@
5
5
  <!-- begin CmdHeadline -->
6
6
  <CmdHeadline
7
7
  v-if="cmdHeadline?.headlineText && open"
8
- :headlineText="cmdHeadline.headlineText"
8
+ v-bind="cmdHeadline"
9
9
  :headlineLevel="cmdHeadline.headlineLevel || 3"
10
- :textAlign="cmdHeadline.textAlign"
11
10
  class="sidebar-main-headline"
12
11
  />
13
12
  <!-- end CmdHeadline -->
@@ -11,7 +11,7 @@ export default {
11
11
  name: "CmdSiteFooter",
12
12
  props: {
13
13
  /**
14
- * set to vertical if items inside should be arranged vertically
14
+ * set to vertical if inner content should be arranged vertically
15
15
  *
16
16
  * @allowedValues: horizontal, vertical
17
17
  */
@@ -43,9 +43,7 @@
43
43
  <!-- begin CmdMainNavigation -->
44
44
  <CmdMainNavigation
45
45
  v-if="cmdMainNavigation?.navigationEntries?.length && navigationInline"
46
- :navigationEntries="cmdMainNavigation.navigationEntries"
47
- :offcanvasPosition="cmdMainNavigation.offcanvasPosition"
48
- :stretchMainItems="cmdMainNavigation.stretchMainItems"
46
+ v-bind="cmdMainNavigation"
49
47
  :closeOffcanvas="closeOffcanvas"
50
48
  @offcanvas="emitOffcanvasStatus"
51
49
  />
@@ -58,10 +56,8 @@
58
56
  <!-- begin CmdMainNavigation -->
59
57
  <CmdMainNavigation
60
58
  v-if="cmdMainNavigation?.navigationEntries?.length && !navigationInline"
61
- :navigationEntries="cmdMainNavigation.navigationEntries"
62
- :offcanvasPosition="cmdMainNavigation.offcanvasPosition"
59
+ v-bind="cmdMainNavigation"
63
60
  :closeOffcanvas="closeOffcanvas"
64
- :stretchMainItems="cmdMainNavigation.stretchMainItems"
65
61
  @offcanvas="emitOffcanvasStatus"
66
62
  />
67
63
  <!-- end CmdMainNavigation -->
@@ -4,7 +4,7 @@
4
4
  :class="['cmd-slide-button', 'button', 'keep-behavior-on-small-devices', slideButtonType]"
5
5
  :title="getDirection.tooltip">
6
6
  <!-- begin CmdIcon -->
7
- <CmdIcon :iconClass="getDirection.iconClass || 'next'" />
7
+ <CmdIcon :type="getDirection.iconType || 'auto'" :iconClass="getDirection.iconClass || 'next'" />
8
8
  <!-- end CmdIcon -->
9
9
  </a>
10
10
  </template>
@@ -7,7 +7,7 @@
7
7
  :class="['flag', language.iso2, {'active': activeLanguage(language)}]"
8
8
  :title="language.tooltip"
9
9
  @click="$emit('click', { originalEvent: $event, language} )">
10
- <img :src="imageSources[index]" :alt="language.name" />
10
+ <img :src="imageSources[index]" :alt="language.name" />
11
11
  </a>
12
12
  <!-- end link-type 'href' -->
13
13
 
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <div class="cmd-tabs">
3
+ <!-- being tab-list -->
3
4
  <ul :class="{'stretch-tabs' : stretchTabs}" role="tablist">
4
5
  <li v-for="(tab, index) in tabs" :class="{active : showTab === index}" :key="index" role="tab">
5
6
  <a href="#" @click.prevent="setActiveTab(index)" :title="!tab.name ? tab.tooltip : undefined">
@@ -10,7 +11,9 @@
10
11
  </a>
11
12
  </li>
12
13
  </ul>
14
+ <!-- end tab-list -->
13
15
 
16
+ <!-- being tab-content -->
14
17
  <!-- begin slot -->
15
18
  <template v-if="useSlot">
16
19
  <div v-show="showTab === index - 1" v-for="index in tabs.length" :key="index" aria-live="assertive">
@@ -32,6 +35,7 @@
32
35
  <!-- end CmdHeadline -->
33
36
  <div v-html="tabs[showTab].htmlContent"></div>
34
37
  </div>
38
+ <!-- end tab-content -->
35
39
  </div>
36
40
  </template>
37
41
 
@@ -36,19 +36,19 @@
36
36
  <template v-else>
37
37
  <!-- begin edit-mode -->
38
38
  <CmdFormElement
39
- element="input"
40
- type="text"
41
- labelText="Label for Light Mode"
42
- placeholder="Label for Light Mode"
43
- v-model="labelTextLightModeModel"
39
+ element="input"
40
+ type="text"
41
+ labelText="Label for Light Mode"
42
+ placeholder="Label for Light Mode"
43
+ v-model="labelTextLightModeModel"
44
44
  />
45
45
 
46
46
  <CmdFormElement
47
- element="input"
48
- type="text"
49
- labelText="Label for Dark Mode"
50
- placeholder="Label for Dark Mode"
51
- v-model="labelTextDarkModeModel"
47
+ element="input"
48
+ type="text"
49
+ labelText="Label for Dark Mode"
50
+ placeholder="Label for Dark Mode"
51
+ v-model="labelTextDarkModeModel"
52
52
  />
53
53
  <!-- end edit-mode -->
54
54
  </template>
@@ -4,10 +4,7 @@
4
4
  <!-- begin CmdHeadline -->
5
5
  <CmdHeadline
6
6
  v-if="cmdHeadline"
7
- :iconClass="cmdHeadline.iconClass"
8
- :preHeadline="cmdHeadline.preHeadline"
9
- :headlineLevel="cmdHeadline.headlineLevel"
10
- :headlineText="cmdHeadline.headlineText"
7
+ v-bind="cmdHeadline"
11
8
  />
12
9
  <!-- end CmdHeadline -->
13
10
 
@@ -2,7 +2,7 @@
2
2
  <!-- begin CmdTooltip -->
3
3
  <CmdTooltip
4
4
  ref="tooltip"
5
- class="box cmd-tooltip-for-form-elements"
5
+ class="cmd-tooltip-for-form-elements box"
6
6
  :class="validationStatus"
7
7
  :relatedId="relatedId"
8
8
  :toggle-visibility-by-click="true">
@@ -10,12 +10,7 @@
10
10
  <!-- begin CmdListOfRequirements -->
11
11
  <CmdListOfRequirements
12
12
  v-if="cmdListOfRequirements.showRequirements"
13
- :showHeadline="cmdListOfRequirements.showHeadline"
14
- :inputRequirements="cmdListOfRequirements.inputRequirements"
15
- :helplink="cmdListOfRequirements.helplink"
16
- :inputModelValue="cmdListOfRequirements.inputModelValue"
17
- :inputAttributes="cmdListOfRequirements.inputAttributes"
18
- :labelText="cmdListOfRequirements.labelText"
13
+ v-bind="cmdListOfRequirements"
19
14
  />
20
15
  <!-- end CmdListOfRequirements -->
21
16
  </CmdTooltip>
@@ -10,13 +10,7 @@
10
10
  <!-- begin CmdListOfRequirements -->
11
11
  <CmdListOfRequirements
12
12
  v-if="cmdListOfRequirements.showRequirements"
13
- :showHeadline="cmdListOfRequirements.showHeadline"
14
- :inputRequirements="cmdListOfRequirements.inputRequirements"
15
- :helplink="cmdListOfRequirements.helplink"
16
- :inputModelValue="cmdListOfRequirements.inputModelValue"
17
- :inputAttributes="cmdListOfRequirements.inputAttributes"
18
- :validationTooltip="cmdListOfRequirements.validationTooltip"
19
- :labelText="cmdListOfRequirements.labelText"
13
+ v-bind="cmdListOfRequirements"
20
14
  />
21
15
  <!-- end CmdListOfRequirements -->
22
16
  </CmdTooltip>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <!-- begin advanced mode -->
3
3
  <fieldset v-if="advancedMode" :class="['cmd-upload-form flex-container', { 'upload-initiated': uploadInitiated }]">
4
- <legend :class="{hidden : !showLegend}">{{ textLegend }}</legend>
4
+ <legend :class="{hidden : !legend.show, 'align-left': legend.align === 'left'}">{{ legend.text }}</legend>
5
5
  <!-- begin CmdHeadlineFieldset -->
6
6
  <CmdHeadline
7
7
  v-if="cmdHeadlineFieldset"
@@ -52,7 +52,7 @@
52
52
  @click.prevent="cancelUpload"
53
53
  >
54
54
  <!-- begin CmdIcon -->
55
- <CmdIcon :iconClass="deleteIcon.iconClass" :type="deleteIcon.iconClass"/>
55
+ <CmdIcon v-bind="iconDelete" />
56
56
  <!-- end CmdIcon -->
57
57
  </a>
58
58
  <span>
@@ -105,7 +105,7 @@
105
105
  @click.prevent="removeFile(index)"
106
106
  >
107
107
  <!-- begin CmdIcon -->
108
- <CmdIcon :iconClass="iconDelete.iconClass" :type="iconDelete.iconType"/>
108
+ <CmdIcon v-bind="iconDelete" />
109
109
  <!-- end CmdIcon -->
110
110
  </a>
111
111
  <span
@@ -271,7 +271,7 @@
271
271
  @click="uploadFiles"
272
272
  >
273
273
  <!-- begin CmdIcon -->
274
- <CmdIcon :iconClass="iconUpload.iconClass" :type="iconUpload.iconType"/>
274
+ <CmdIcon v-bind="iconUpload" />
275
275
  <!-- end CmdIcon -->
276
276
  <span v-if="listOfFiles.length === 1 || !allowMultipleFileUploads">
277
277
  {{ getMessage("cmduploadform.buttontext.upload_file") }}
@@ -280,7 +280,7 @@
280
280
  </button>
281
281
  <button :class="['button', { disabled: listOfFiles.length === 0 }]" @click="cancel">
282
282
  <!-- begin CmdIcon -->
283
- <CmdIcon :iconClass="iconCancel.iconClass" :type="iconCancel.iconType"/>
283
+ <CmdIcon v-bind="iconCancel" />
284
284
  <!-- end CmdIcon -->
285
285
  <span>{{ getMessage("cmduploadform.buttontext.cancel") }}</span>
286
286
  </button>
@@ -481,20 +481,20 @@ export default {
481
481
  default: true
482
482
  },
483
483
  /**
484
- * toggle visibility for legend-text
485
- */
486
- showLegend: {
487
- type: Boolean,
488
- default: true
489
- },
490
- /**
491
- * text for legend
484
+ * legend for form
485
+ *
486
+ * useFieldset-property must be activated
492
487
  *
493
- * @requiredForAccessibility: true
488
+ * @requiredForAccessiblity: true
494
489
  */
495
- textLegend: {
496
- type: String,
497
- required: false
490
+ legend: {
491
+ default() {
492
+ return {
493
+ show: true,
494
+ align: "left",
495
+ text: "Legend"
496
+ }
497
+ }
498
498
  },
499
499
  /**
500
500
  * set icon for delete-icons