comand-component-library 3.1.64 → 3.1.67

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,80 +3,84 @@
3
3
  <div class="cmd-cookie-disclaimer flex-container vertical">
4
4
  <!-- begin CmdCustomHeadline -->
5
5
  <CmdCustomHeadline
6
- v-if="cmdCustomHeadline"
7
- v-bind="cmdCustomHeadline"
6
+ v-if="cmdCustomHeadlineCookieDisclaimer?.show && cmdCustomHeadlineCookieDisclaimer?.headlineText && cmdCustomHeadlineCookieDisclaimer?.headlineLevel"
7
+ v-bind="cmdCustomHeadlineCookieDisclaimer"
8
+ :headlineText="cmdCustomHeadlineCookieDisclaimer.headlineText"
9
+ :headlineLevel="cmdCustomHeadlineCookieDisclaimer.headlineLevel"
8
10
  />
9
11
  <!-- end CmdCustomHeadline -->
10
12
 
11
13
  <!-- begin slot for cookie-options -->
12
14
  <slot name="cookie-options">
13
- <div v-if="cookieOptions.required">
14
- <h3>{{ cookieOptions.required.headline }}</h3>
15
-
16
- <!-- &lt;!&ndash; begin CmdAccordion &ndash;&gt;-->
17
- <!-- <CmdAccordion :accordion-data="cookieOptions.required.cookies.length" :accordionData="2">-->
18
- <!-- <template v-for="(cookie, index) in cookieOptions.required.cookies"-->
19
- <!-- v-slot:[`accordionHeadline${index}`]-->
20
- <!-- :key="index">-->
21
- <!-- &lt;!&ndash; begin CmdSwitchButton &ndash;&gt;-->
22
- <!-- <CmdSwitchButton-->
23
- <!-- type="checkbox"-->
24
- <!-- :id="cookie.id"-->
25
- <!-- :labelText="cookie.labelText"-->
26
- <!-- v-model="cookie.checked"-->
27
- <!-- :status="cookie.status"-->
28
- <!-- disabled="disabled"-->
29
- <!-- />-->
30
- <!-- &lt;!&ndash; end CmdSwitchButton &ndash;&gt;-->
31
- <!-- </template>-->
32
- <!-- <template v-for="(cookie, index) in cookieOptions.required.cookies"-->
33
- <!-- v-slot:[`accordionContent${index}`]-->
34
- <!-- :key="index">-->
35
- <!-- <p v-if="cookie.description">{{ cookie.description }}</p>-->
36
- <!-- <p v-if="cookie.linkDataPrivacy">-->
37
- <!-- {{ cookie.linkDataPrivacy.label }}-->
38
- <!-- <a @click="openDataPrivacy"-->
39
- <!-- :href="cookie.linkDataPrivacy.link"-->
40
- <!-- :target="cookie.linkDataPrivacy.target">-->
41
- <!-- {{ cookie.linkDataPrivacy.linkText }}-->
42
- <!-- </a>-->
43
- <!-- </p>-->
44
- <!-- <div v-if="dataPrivacyContent" v-html="dataPrivacyContent"></div>-->
45
- <!-- </template>-->
46
- <!-- </CmdAccordion>-->
47
- <!-- &lt;!&ndash; end CmdAccordion &ndash;&gt;-->
15
+ <div v-if="cookieOptions.required" class="flex-container vertical">
16
+ <CmdCustomHeadline v-if="cmdBoxRequiredCookies?.showHeadline" :headline-text="cmdBoxRequiredCookies?.headlineText" :headline-level="cmdBoxRequiredCookies?.headlineLevel "/>
17
+ <!-- begin CmdBox -->
18
+ <CmdBox v-for="(cookie, index) in cookieOptions.required.cookies"
19
+ :useSlots="['header', 'body']"
20
+ v-bind="cmdBoxRequiredCookies"
21
+ :key="index"
22
+ >
23
+ <template v-slot:header>
24
+ <!-- begin CmdSwitchButton -->
25
+ <CmdSwitchButton
26
+ type="checkbox"
27
+ :id="cookie.id"
28
+ :labelText="cookie.labelText"
29
+ v-model="cookie.checked"
30
+ :status="cookie.status"
31
+ disabled="disabled"
32
+ />
33
+ <!-- end CmdSwitchButton -->
34
+ </template>
35
+ <template v-slot:body>
36
+ <p v-if="cookie.description">{{ cookie.description }}</p>
37
+ <p v-if="cookie.linkDataPrivacy">
38
+ {{ cookie.linkDataPrivacy.label }}
39
+ <a @click="openDataPrivacy"
40
+ :href="cookie.linkDataPrivacy.link"
41
+ :target="cookie.linkDataPrivacy.target">
42
+ {{ cookie.linkDataPrivacy.linkText }}
43
+ </a>
44
+ </p>
45
+ <div v-if="dataPrivacyContent" v-html="dataPrivacyContent"></div>
46
+ </template>
47
+ </CmdBox>
48
+ <!-- end CmdBox -->
48
49
  </div>
49
- <hr />
50
- <div v-if="cookieOptions.optional">
51
- <h3>{{ cookieOptions.optional.headline }}</h3>
52
- <!-- &lt;!&ndash; begin CmdAccordion &ndash;&gt;-->
53
- <!-- <CmdAccordion :accordion-data="cookieOptions.optional.cookies.length" :accordionData="2">-->
54
- <!-- <template v-for="(cookie, index) in cookieOptions.optional.cookies"-->
55
- <!-- v-slot:[`accordionHeadline${index}`]-->
56
- <!-- :key="index">-->
57
- <!-- &lt;!&ndash; begin CmdSwitchButton &ndash;&gt;-->
58
- <!-- <CmdSwitchButton-->
59
- <!-- type="checkbox"-->
60
- <!-- :id="cookie.id"-->
61
- <!-- :labelText="cookie.labelText"-->
62
- <!-- v-model="cookie.checked"-->
63
- <!-- :status="cookie.status"-->
64
- <!-- />-->
65
- <!-- &lt;!&ndash; end CmdSwitchButton &ndash;&gt;-->
66
- <!-- </template>-->
67
- <!-- <template v-for="(cookie, index) in cookieOptions.optional.cookies"-->
68
- <!-- v-slot:[`accordionContent${index}`]-->
69
- <!-- :key="index">-->
70
- <!-- <p>{{ cookie.description }}</p>-->
71
- <!-- <p v-if="cookie.linkDataPrivacy">-->
72
- <!-- {{ cookie.linkDataPrivacy.label }}-->
73
- <!-- <a @click="openDataPrivacy" :href="cookie.linkDataPrivacy.link"-->
74
- <!-- :target="cookie.linkDataPrivacy.target">{{ cookie.linkDataPrivacy.linkText }}</a>-->
75
- <!-- </p>-->
76
- <!-- <div v-if="dataPrivacyContent" v-html="dataPrivacyContent"></div>-->
77
- <!-- </template>-->
78
- <!-- </CmdAccordion>-->
79
- <!-- &lt;!&ndash; end CmdAccordion &ndash;&gt;-->
50
+ <hr/>
51
+ <div v-if="cookieOptions.optional" class="flex-container vertical">
52
+ <CmdCustomHeadline v-if="cmdBoxOptionalCookies?.showHeadline" :headline-text="cmdBoxOptionalCookies?.headlineText" :headline-level="cmdBoxOptionalCookies?.headlineLevel "/>
53
+ <!-- begin CmdBox -->
54
+ <CmdBox v-for="(cookie, index) in cookieOptions.optional.cookies"
55
+ :useSlots="['header', 'body']"
56
+ v-bind="cmdBoxOptionalCookies"
57
+ :key="index"
58
+ >
59
+ <template v-slot:header>
60
+ <!-- begin CmdSwitchButton -->
61
+ <CmdSwitchButton
62
+ type="checkbox"
63
+ :id="cookie.id"
64
+ :labelText="cookie.labelText"
65
+ v-model="cookie.checked"
66
+ :status="cookie.status"
67
+ />
68
+ <!-- end CmdSwitchButton -->
69
+ </template>
70
+ <template v-slot:body>
71
+ <p v-if="cookie.description">{{ cookie.description }}</p>
72
+ <p v-if="cookie.linkDataPrivacy">
73
+ {{ cookie.linkDataPrivacy.label }}
74
+ <a @click="openDataPrivacy"
75
+ :href="cookie.linkDataPrivacy.link"
76
+ :target="cookie.linkDataPrivacy.target">
77
+ {{ cookie.linkDataPrivacy.linkText }}
78
+ </a>
79
+ </p>
80
+ <div v-if="dataPrivacyContent" v-html="dataPrivacyContent"></div>
81
+ </template>
82
+ </CmdBox>
83
+ <!-- end CmdBox -->
80
84
  </div>
81
85
  </slot>
82
86
  <!-- end slot for cookie-options -->
@@ -87,7 +91,7 @@
87
91
 
88
92
  <!-- begin button-wrapper for 'accept'-buttons -->
89
93
  <div class="button-wrapper align-center">
90
- <button v-if="buttonLabelAcceptCurrentSettings" type="button" @click="acceptCookies('currentSettings')">
94
+ <button v-if="buttonLabelAcceptCurrentSettings" type="button" @click="acceptCookies('currentSettings')">
91
95
  <span>{{ buttonLabelAcceptCurrentSettings }}</span>
92
96
  </button>
93
97
  <button v-if="buttonLabelAcceptAllCookies" type="button" class="primary" @click="acceptCookies('allCookies')">
@@ -101,14 +105,16 @@
101
105
 
102
106
  <script>
103
107
  // import components
108
+ import CmdBox from "./CmdBox"
104
109
  import CmdCustomHeadline from "./CmdCustomHeadline"
105
- // import CmdSwitchButton from "./CmdSwitchButton"
110
+ import CmdSwitchButton from "./CmdSwitchButton"
106
111
 
107
112
  export default {
108
113
  name: "CmdCookieDisclaimer",
109
114
  components: {
110
- CmdCustomHeadline
111
- // CmdSwitchButton
115
+ CmdBox,
116
+ CmdCustomHeadline,
117
+ CmdSwitchButton
112
118
  },
113
119
  data() {
114
120
  return {
@@ -118,11 +124,45 @@ export default {
118
124
  },
119
125
  props: {
120
126
  /**
121
- * properties for CmdCustomHeadline-component
127
+ * properties for CmdCustomHeadline-component at top of cookie disclaimer
122
128
  */
123
- cmdCustomHeadline: {
129
+ cmdCustomHeadlineCookieDisclaimer: {
124
130
  type: Object,
125
- required: false
131
+ default() {
132
+ return {
133
+ show: true,
134
+ headlineText: "Cookie disclaimer",
135
+ headlineLevel: 2
136
+ }
137
+ }
138
+ },
139
+ /**
140
+ * property for CmdBox-component surrounding the required cookies
141
+ */
142
+ cmdBoxRequiredCookies: {
143
+ type: Object,
144
+ default() {
145
+ return {
146
+ collapsible: true,
147
+ showHeadline: true,
148
+ headlineText: "Required cookies",
149
+ headlineLevel: 3
150
+ }
151
+ }
152
+ },
153
+ /**
154
+ * property for CmdBox-component surrounding the optional cookies
155
+ */
156
+ cmdBoxOptionalCookies: {
157
+ type: Object,
158
+ default() {
159
+ return {
160
+ collapsible: true,
161
+ showHeadline: true,
162
+ headlineText: "Optional cookies",
163
+ headlineLevel: 3
164
+ }
165
+ }
126
166
  },
127
167
  /**
128
168
  * list of cookie-options
@@ -175,6 +215,12 @@ export default {
175
215
  bottom: 0;
176
216
  top: auto;
177
217
 
218
+ .cmd-box {
219
+ .box-body {
220
+ padding: var(--default-padding);
221
+ }
222
+ }
223
+
178
224
  h1 {
179
225
  text-align: center;
180
226
  }
@@ -191,22 +237,6 @@ export default {
191
237
  margin-bottom: var(--default-margin);
192
238
  }
193
239
 
194
- .cmd-accordion {
195
- .accordion-headline {
196
- &:hover, &:active, &:focus {
197
- label, .label {
198
- span {
199
- color: var(--pure-white) !important;
200
- }
201
- }
202
- }
203
- }
204
-
205
- .toggle-switch {
206
- display: flex;
207
- }
208
- }
209
-
210
240
  p {
211
241
  a {
212
242
  text-decoration: underline;
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <header :class="['cmd-custom-headline', { 'has-pre-headline-text': preHeadlineText}]">
2
+ <div :class="['cmd-custom-headline', { 'has-pre-headline-text': preHeadlineText}]">
3
3
  <span v-if="iconClass" :class="iconClass"></span>
4
4
  <div v-if="preHeadlineText">
5
5
  <span class="pre-headline-text">{{ preHeadlineText }}</span>
@@ -10,7 +10,7 @@
10
10
  <component v-else :is="getHeadlineTag">
11
11
  <slot>{{ headlineText }}</slot>
12
12
  </component>
13
- </header>
13
+ </div>
14
14
  </template>
15
15
 
16
16
  <script>
@@ -22,7 +22,7 @@ export default {
22
22
  */
23
23
  headlineText: {
24
24
  type: String,
25
- required: true
25
+ required: false
26
26
  },
27
27
  /**
28
28
  * level for headline
@@ -8,13 +8,13 @@
8
8
  'has-state': validationStatus && validationStatus !== 'none'
9
9
  }
10
10
  ]"
11
- :aria-labelledby="labelText"
11
+ :aria-labelledby="labelId"
12
12
  :aria-required="$attrs.required !== undefined"
13
13
  ref="fakeselect"
14
14
  >
15
15
  <span v-if="showLabel">
16
16
  <!-- begin label -->
17
- <span>
17
+ <span :id="labelId">
18
18
  {{ labelText }}<sup v-if="$attrs.required !== undefined">*</sup>
19
19
  </span>
20
20
  <!-- end label -->
@@ -149,6 +149,9 @@
149
149
  </template>
150
150
 
151
151
  <script>
152
+ // import utils
153
+ import {createUuid} from "../utils/common.js"
154
+
152
155
  // import mixins
153
156
  import I18n from "../mixins/I18n"
154
157
  import DefaultMessageProperties from "../mixins/CmdBox/DefaultMessageProperties"
@@ -327,6 +330,13 @@ export default {
327
330
  },
328
331
  selectAllOptionsIcon() {
329
332
  return "icon-check"
333
+ },
334
+ // get ID for accessibility
335
+ labelId() {
336
+ if(this.$attrs.id !== undefined) {
337
+ return this.$attrs.id
338
+ }
339
+ return "label-" + createUuid()
330
340
  }
331
341
  },
332
342
  mounted() {
@@ -13,7 +13,7 @@
13
13
  off: colored && !isChecked,
14
14
  'has-state': validationStatus
15
15
  }]"
16
- :for="id"
16
+ :for="labelId"
17
17
  ref="label">
18
18
 
19
19
  <!-- begin label-text (+ required asterisk) -->
@@ -50,17 +50,17 @@
50
50
  <template
51
51
  v-if="element === 'input' && $attrs.type !== 'checkbox' && $attrs.type !== 'radio' && $attrs.type !== 'search'">
52
52
  <input v-bind="$attrs"
53
- :id="id"
53
+ :id="labelId"
54
54
  :class="htmlClass"
55
55
  @focus="tooltip = true"
56
56
  @blur="onBlur"
57
57
  @input="onInput"
58
58
  @mouseover="datalistFocus"
59
59
  @keyup="checkForCapsLock"
60
- :autocomplete="datalist ? 'off' : 'on'"
61
- :list="datalist ? datalist.id : false"
60
+ :autocomplete="autocomplete"
61
+ :list="datalist ? datalist.id : null"
62
62
  :value="modelValue"
63
- :maxlength="$attrs.maxlength > 0 ? $attrs.maxlength : 255"
63
+ :maxlength="getMaxLength()"
64
64
  ref="input"
65
65
  />
66
66
  </template>
@@ -92,27 +92,24 @@
92
92
  @change="onChange"
93
93
  @blur="onBlur"
94
94
  :checked="isChecked"
95
- :role="$attrs.type"
96
- :aria-checked="isChecked"
97
95
  :value="inputValue"
98
96
  :class="[htmlClass, validationStatus, { 'replace-input-type': replaceInputType, 'toggle-switch': toggleSwitch }]"
99
- :id="id"
97
+ :id="labelId"
100
98
  :aria-invalid="validationStatus === 'error'"
101
- :aria-describedby="`status-message-${id}`"
102
99
  />
103
-
104
- <!-- begin labels for toggle-switch -->
105
100
  <span v-if="!(onLabel && offLabel)" :class="{ hidden: !showLabel }">
106
101
  <span v-if="labelText">{{ labelText }}<sup v-if="$attrs.required">*</sup></span>
107
102
  </span>
103
+
104
+ <!-- begin labels for toggle-switch -->
108
105
  <template v-else-if="onLabel && offLabel">
109
106
  <span v-if="labelText">
110
107
  <span>{{ labelText }}<sup v-if="$attrs.required">*</sup></span>
111
108
  </span>
112
- <div class="toggle-switch switch-label">
109
+ <span class="toggle-switch switch-label">
113
110
  <span class="label">{{ onLabel }}</span>
114
111
  <span class="label">{{ offLabel }}</span>
115
- </div>
112
+ </span>
116
113
  </template>
117
114
  <slot v-else></slot>
118
115
  <!-- end labels for toggle-switch -->
@@ -122,7 +119,7 @@
122
119
  <!-- begin selectbox -->
123
120
  <select v-if="element === 'select'"
124
121
  v-bind="$attrs"
125
- :id="id"
122
+ :id="labelId"
126
123
  @blur="onBlur"
127
124
  @change="$emit('update:modelValue', $event.target.value)">
128
125
  <option v-for="(option, index) in selectOptions" :key="index" :value="option.value"
@@ -134,9 +131,9 @@
134
131
  <!-- begin textarea -->
135
132
  <textarea v-if="element === 'textarea'"
136
133
  v-bind="$attrs"
137
- :id="id"
134
+ :id="labelId"
138
135
  :value="modelValue"
139
- :maxlength="getMaxLength"
136
+ :maxlength="getMaxLength()"
140
137
  @input="onInput"
141
138
  @focus="tooltip = true"
142
139
  @blur="onBlur">
@@ -150,15 +147,15 @@
150
147
  <a v-if="iconDelete.show" href="#" @click.prevent="$emit('update:modelValue', '')" :class="iconDelete.iconClass" :title="iconDelete.tooltip"/>
151
148
  <input
152
149
  v-bind="$attrs"
153
- :id="id"
150
+ :id="labelId"
154
151
  @input="onInput"
155
152
  :maxlength="$attrs.maxlength > 0 ? $attrs.maxlength : 255"
156
153
  :value="modelValue"
157
154
  />
158
155
  </div>
159
- <button v-if="showSearchButton" class="no-flex" type="button" :title="iconSearch.tooltip">
156
+ <a v-if="showSearchButton" href="#" class="button no-flex" :title="iconSearch.tooltip" @click.prevent="executeSearch">
160
157
  <span :class="iconSearch.iconClass"></span>
161
- </button>
158
+ </a>
162
159
  </template>
163
160
  </label>
164
161
  <!-- end searchfield -->
@@ -215,6 +212,9 @@
215
212
  </template>
216
213
 
217
214
  <script>
215
+ // import utils
216
+ import {createUuid} from "../utils/common.js"
217
+
218
218
  // import mixins
219
219
  import I18n from "../mixins/I18n"
220
220
  import DefaultMessageProperties from "../mixins/CmdBox/DefaultMessageProperties"
@@ -546,7 +546,40 @@ export default {
546
546
  tooltip: "Info"
547
547
  }
548
548
  }
549
- }
549
+ },
550
+ /**
551
+ * icon to toggle password-visibility
552
+ *
553
+ * element-property must me set to 'input'
554
+ * type-property must be set to 'password'
555
+ *
556
+ */
557
+ iconPasswordVisible: {
558
+ type: Object,
559
+ default() {
560
+ return {
561
+ show: true,
562
+ iconClass: "icon-visible",
563
+ tooltip: "Show password"
564
+ }
565
+ }
566
+ },
567
+ /**
568
+ * icon to toggle password-visibility
569
+ *
570
+ * element-property must me set to 'input'
571
+ * type-property must be set to 'password'
572
+ *
573
+ */
574
+ iconPasswordInvisible: {
575
+ type: Object,
576
+ default() {
577
+ return {
578
+ show: true,
579
+ iconClass: "icon-not-visible",
580
+ }
581
+ }
582
+ },
550
583
  },
551
584
  computed: {
552
585
  buttonAttrs() {
@@ -598,6 +631,19 @@ export default {
598
631
  return this.getMessage("cmdformelement.validationTooltip.caps_lock_is_activated")
599
632
  }
600
633
  return this.getMessage("cmdformelement.validationTooltip.open_field_requirements")
634
+ },
635
+ autocomplete() {
636
+ if(this.$attrs.type !== 'file') {
637
+ return this.datalist ? 'off' : 'on'
638
+ }
639
+ return null
640
+ },
641
+ // get ID for accessibility
642
+ labelId() {
643
+ if(this.$attrs.id !== undefined) {
644
+ return this.$attrs.id
645
+ }
646
+ return "label-" + createUuid()
601
647
  }
602
648
  },
603
649
  methods: {
@@ -605,7 +651,15 @@ export default {
605
651
  return this.$refs.label
606
652
  },
607
653
  getMaxLength() {
608
- return this.$attrs.maxlength > 0 ? this.$attrs.maxlength : 5000
654
+ if (this.$attrs.element === 'textarea') {
655
+ return this.$attrs.maxlength > 0 ? this.$attrs.maxlength : 5000
656
+ }
657
+
658
+ if (this.$attrs.type !== 'file') {
659
+ return this.$attrs.maxlength > 0 ? this.$attrs.maxlength : 255
660
+ }
661
+
662
+ return null
609
663
  },
610
664
  onBlur(event) {
611
665
  // check if surrounding form with data-use-validation exists
@@ -678,6 +732,9 @@ export default {
678
732
  hidePassword() {
679
733
  this.$refs.input.nextElementSibling.classList.replace(this.iconPasswordInvisible.iconClass, this.iconPasswordVisible.iconClass)
680
734
  this.$refs.input.setAttribute("type", "password")
735
+ },
736
+ executeSearch() {
737
+ this.$emit("search", this.value)
681
738
  }
682
739
  },
683
740
  watch: {
@@ -25,7 +25,7 @@ export default {
25
25
  },
26
26
  props: {
27
27
  /**
28
- * list of all selected options
28
+ * model-value to support v-model
29
29
  */
30
30
  modelValue: {
31
31
  type: Array,
@@ -0,0 +1,38 @@
1
+ <template>
2
+ <div class="cmd-input-group">
3
+ <span :class="['label', { hidden: !showLabel, inline: labelInline }]">{{ labelText }}</span>
4
+ <div class="flex-container no-flex">
5
+ <slot></slot>
6
+ </div>
7
+ </div>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ props: {
13
+ /**
14
+ * toggle label-text visibility
15
+ */
16
+ showLabel: {
17
+ type: Boolean,
18
+ default: true
19
+ },
20
+ /**
21
+ * label-text for input-group
22
+ *
23
+ * @requiredForAccessibility: true
24
+ */
25
+ labelText: {
26
+ type: String,
27
+ required: true
28
+ },
29
+ /**
30
+ * toggle label-position (inline/left of input-elements or above input-elements)
31
+ */
32
+ labelInline: {
33
+ type: Boolean,
34
+ default: false
35
+ }
36
+ }
37
+ }
38
+ </script>
@@ -16,7 +16,7 @@
16
16
  :name="cmdFormElementUsername.name"
17
17
  :id="cmdFormElementUsername.id"
18
18
  v-model="username"
19
- :inner-icon-class="cmdFormElementUsername.innerIconClass"
19
+ :fieldIconClass="cmdFormElementUsername.innerIconClass"
20
20
  :labelText="cmdFormElementUsername.labelText"
21
21
  :placeholder="cmdFormElementUsername.placeholder"
22
22
  />
@@ -28,7 +28,7 @@
28
28
  type="password"
29
29
  :name="cmdFormElementPassword.name"
30
30
  :id="cmdFormElementPassword.id"
31
- :inner-icon-class="cmdFormElementPassword.innerIconClass"
31
+ :fieldIconClass="cmdFormElementPassword.innerIconClass"
32
32
  v-model="password"
33
33
  :labelText="cmdFormElementPassword.labelText"
34
34
  :placeholder="cmdFormElementPassword.placeholder"
@@ -133,7 +133,7 @@
133
133
  <CmdFormElement
134
134
  element="input"
135
135
  type="email"
136
- :inner-icon-class="cmdFormElementSendLogin.innerIconClass"
136
+ :fieldIconClass="cmdFormElementSendLogin.innerIconClass"
137
137
  :labelText="cmdFormElementSendLogin.labelText"
138
138
  :placeholder="cmdFormElementSendLogin.placeholder"
139
139
  :name="cmdFormElementSendLogin.name"
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div :class="['label', 'multiple-switch', {disabled: status === 'disabled', error: status === 'error'}]">
3
- <span :class="{hidden: !showLegend}">{{ labelText }}</span>
3
+ <span :class="{hidden: !showLabel}">{{ labelText }}</span>
4
4
  <span class="flex-container no-gap no-flex">
5
5
  <label :class="{disabled: status === 'disabled'}" :for="multipleswitch.id"
6
6
  v-for="(multipleswitch, index) in multipleSwitches" :key="index">
@@ -11,6 +11,7 @@
11
11
  <script>
12
12
  export default {
13
13
  name: "CmdProgressBar",
14
+ inheritAttrs: false,
14
15
  data() {
15
16
  return {
16
17
  loadingStatus: 30
@@ -81,7 +81,7 @@ export default {
81
81
  z-index: 300;
82
82
  }
83
83
 
84
- header, .cmd-main-navigation nav, .cmd-top-header-navigation > ul {
84
+ header, .cmd-main-navigation nav, .cmd-list-of-links > ul {
85
85
  max-width: var(--max-width);
86
86
  margin: 0 auto;
87
87
  padding: 0 var(--default-padding);
@@ -92,6 +92,8 @@ export default {
92
92
  }
93
93
 
94
94
  header {
95
+ padding: calc(var(--default-padding) * 2) 0;
96
+
95
97
  &.flex-container {
96
98
  width: 100%;
97
99
 
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="cmd-tabs">
3
- <ul :class="{'stretch-tabs' : stretchTabs}">
3
+ <ul :class="{'stretch-tabs' : stretchTabs}" role="tablist">
4
4
  <li :class="{active : showTab === index}" v-for="(tab, index) in tabs" :key="index" role="tab">
5
5
  <a @click.prevent="setActiveTab(index)" :title="!tab.name ? tab.tooltip : false">
6
6
  <span v-if="tab.iconClass">{{ tab.iconClass }}</span>