comand-component-library 4.2.51 → 4.2.53

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 (79) hide show
  1. package/dist/comand-component-library.js +4040 -3388
  2. package/dist/style.css +1 -1
  3. package/package.json +2 -2
  4. package/src/ComponentLibrary.vue +179 -41
  5. package/src/assets/data/box-product.json +15 -10
  6. package/src/assets/data/box-user.json +8 -8
  7. package/src/assets/data/list-description-list.json +74 -0
  8. package/src/assets/data/listOfComponents.json +3 -1
  9. package/src/assets/data/pages/boxes-team-overview.json +8 -8
  10. package/src/assets/styles/component-library-global-styles.scss +0 -14
  11. package/src/componentSettingsDataAndControls.vue +131 -10
  12. package/src/components/CmdAddressData.vue +2 -0
  13. package/src/components/CmdAddressDataItem.vue +2 -1
  14. package/src/components/CmdBackToTopButton.vue +12 -3
  15. package/src/components/CmdBankAccountData.vue +2 -0
  16. package/src/components/CmdBasicForm.vue +6 -2
  17. package/src/components/CmdBox.vue +62 -35
  18. package/src/components/CmdBoxWrapper.vue +6 -0
  19. package/src/components/CmdBreadcrumbs.vue +2 -0
  20. package/src/components/CmdCodeOutput.vue +2 -2
  21. package/src/components/CmdCompanyLogo.vue +2 -0
  22. package/src/components/CmdContainer.vue +100 -87
  23. package/src/components/CmdCookieDisclaimer.vue +12 -1
  24. package/src/components/CmdCopyrightInformation.vue +2 -0
  25. package/src/components/CmdFakeSelect.vue +10 -6
  26. package/src/components/CmdFancyBox.vue +2 -0
  27. package/src/components/CmdFlexibleScrollContainer.vue +2 -0
  28. package/src/components/CmdForm.vue +2 -0
  29. package/src/components/CmdFormElement.vue +11 -1
  30. package/src/components/CmdFormFilters.vue +2 -0
  31. package/src/components/CmdGoogleMaps.vue +2 -0
  32. package/src/components/CmdHeadline.vue +23 -1
  33. package/src/components/CmdIcon.vue +2 -0
  34. package/src/components/CmdImage.vue +3 -0
  35. package/src/components/CmdImageGallery.vue +3 -1
  36. package/src/components/CmdImageZoom.vue +2 -0
  37. package/src/components/CmdInnerLink.vue +2 -0
  38. package/src/components/CmdInputGroup.vue +2 -0
  39. package/src/components/CmdLink.vue +17 -10
  40. package/src/components/CmdList.vue +191 -99
  41. package/src/components/CmdListOfLinksItem.vue +2 -0
  42. package/src/components/CmdListOfRequirements.vue +2 -0
  43. package/src/components/CmdLoginForm.vue +2 -2
  44. package/src/components/CmdMailTool.vue +2 -0
  45. package/src/components/CmdMailToolEntry.vue +2 -1
  46. package/src/components/CmdMailToolFilter.vue +2 -0
  47. package/src/components/CmdMainNavigation.vue +2 -0
  48. package/src/components/CmdMultistepFormProgressBar.vue +35 -14
  49. package/src/components/CmdNewsletterSubscription.vue +2 -0
  50. package/src/components/CmdOpeningHours.vue +2 -0
  51. package/src/components/CmdOpeningHoursItem.vue +2 -0
  52. package/src/components/CmdPageFooter.vue +2 -0
  53. package/src/components/CmdPageHeader.vue +2 -0
  54. package/src/components/CmdPagination.vue +2 -0
  55. package/src/components/CmdParagraph.vue +50 -0
  56. package/src/components/CmdProgressBar.vue +1 -1
  57. package/src/components/CmdSection.vue +2 -0
  58. package/src/components/CmdSidebar.vue +2 -0
  59. package/src/components/CmdSiteFooter.vue +2 -0
  60. package/src/components/CmdSiteHeader.vue +2 -0
  61. package/src/components/CmdSiteSearch.vue +12 -1
  62. package/src/components/CmdSlideButton.vue +5 -4
  63. package/src/components/CmdSlideshow.vue +10 -1
  64. package/src/components/CmdSmartSearch.vue +42 -11
  65. package/src/components/CmdSocialNetworks.vue +2 -0
  66. package/src/components/CmdSocialNetworksItem.vue +2 -0
  67. package/src/components/CmdSwitchLanguage.vue +2 -0
  68. package/src/components/CmdSystemMessage.vue +10 -5
  69. package/src/components/CmdTable.vue +10 -6
  70. package/src/components/CmdTabs.vue +39 -3
  71. package/src/components/CmdTag.vue +101 -0
  72. package/src/components/CmdTextImageBlock.vue +2 -0
  73. package/src/components/CmdThumbnailScroller.vue +14 -3
  74. package/src/components/CmdToggleDarkMode.vue +2 -0
  75. package/src/components/CmdTooltip.vue +2 -0
  76. package/src/components/CmdTooltipForFormElements.vue +2 -0
  77. package/src/components/CmdUploadForm.vue +14 -1
  78. package/src/components/CmdWidthLimitationWrapper.vue +2 -0
  79. package/src/components/CmdFlexContainer.vue +0 -109
@@ -1,103 +1,121 @@
1
1
  <template>
2
- <div :class="['cmd-list',
3
- {
4
- box: styleAsBox,
5
- 'section-anchors': sectionAnchors,
6
- 'large-icons': largeIcons,
7
- 'show-list-style-items': showListStyleItems,
8
- },
9
- 'list-type-' + listType
10
- ]">
11
- <!-- begin cmd-headline -->
12
- <CmdHeadline
13
- v-if="cmdHeadline?.headlineText || editModeContext"
14
- v-bind="cmdHeadline"
15
- />
16
- <!-- end cmd-headline -->
17
-
18
- <!-- begin list of links -->
19
- <ul :class="['flex-container', {'no-gap': !useGap}, 'align-' + align, setStretchClass, {horizontal: orientation === 'horizontal'}]">
20
- <template v-if="listType === 'links'">
21
- <!-- begin CmdListOfLinksItem-->
22
- <CmdListOfLinksItem
23
- v-if="!editModeContext"
24
- v-for="(link, index) in items"
25
- :key="index"
26
- :class="{'active': sectionAnchors && activeSection === index}"
27
- :link="link"
28
- @click="emitClick($event, linkType)"
29
- />
30
- <!-- end CmdListOfLinksItem-->
2
+ <!-- begin CmdList ---------------------------------------------------------------------------------------- -->
3
+ <transition :name="transition">
4
+ <div :class="['cmd-list',
5
+ {
6
+ box: styleAsBox,
7
+ 'section-anchors': sectionAnchors,
8
+ 'large-icons': largeIcons,
9
+ 'show-list-style-items': showListStyleItems,
10
+ },
11
+ 'list-content-type-' + listContentType
12
+ ]">
13
+ <!-- begin cmd-headline -->
14
+ <CmdHeadline v-if="cmdHeadline?.headlineText || editModeContext" v-bind="cmdHeadline" />
15
+ <!-- end cmd-headline -->
31
16
 
32
- <!-- begin edit-mode -->
33
- <li v-else>
34
- <EditComponentWrapper
35
- v-for="(link, index) in links"
36
- :key="'x' + index"
37
- class="edit-items"
38
- :showComponentName="false"
39
- componentTag="ul"
40
- componentName="CmdLinkItem"
41
- :componentProps="link"
42
- :allowedComponentTypes="[]"
43
- :componentPath="['props', 'links', index]"
44
- :itemProvider="itemProvider"
45
- >
17
+ <!-- begin list of links ordered/unordered -->
18
+ <component v-if="listType !== 'description'" :is="listTag"
19
+ :class="['flex-container', { 'no-gap': !useGap }, 'align-' + align, setStretchClass, { horizontal: orientation === 'horizontal' }]">
20
+ <template v-if="listContentType === 'links'">
21
+ <slot>
46
22
  <!-- begin CmdListOfLinksItem-->
47
- <CmdListOfLinksItem
48
- :class="{'active': sectionAnchors && activeSection === index}"
49
- :link="link"
50
- />
23
+ <CmdListOfLinksItem v-if="!editModeContext" v-for="(link, index) in items" :key="index"
24
+ :class="{ 'active': sectionAnchors && activeSection === index }" :link="link"
25
+ @click="emitClick($event, linkType)" />
51
26
  <!-- end CmdListOfLinksItem-->
52
- </EditComponentWrapper>
53
27
 
54
- <button v-if="links.length === 0" type="button" class="button confirm small" @click="onAddItem">
55
- <span class="icon-plus"></span>
56
- <span>Add new entry</span>
57
- </button>
58
- </li>
59
- <!-- end edit-mode -->
60
- </template>
28
+ <!-- begin edit-mode -->
29
+ <li v-else>
30
+ <EditComponentWrapper v-for="(link, index) in links" :key="'x' + index" class="edit-items"
31
+ :showComponentName="false" componentTag="ul" componentName="CmdLinkItem"
32
+ :componentProps="link" :allowedComponentTypes="[]"
33
+ :componentPath="['props', 'links', index]" :itemProvider="itemProvider">
34
+ <!-- begin CmdListOfLinksItem-->
35
+ <CmdListOfLinksItem :class="{ 'active': sectionAnchors && activeSection === index }"
36
+ :link="link" />
37
+ <!-- end CmdListOfLinksItem-->
38
+ </EditComponentWrapper>
61
39
 
62
- <!-- begin list of images -->
63
- <template v-if="listType === 'images'">
64
- <li v-for="(image, index) in items" :key="index">
65
- <!-- begin CmdImage with link-->
66
- <a v-if="image.image.url" :href="image.image.url">
67
- <CmdImage v-bind="image"/>
68
- </a>
69
- <!-- end CmdImage with link-->
40
+ <button v-if="links.length === 0" type="button" class="button confirm small"
41
+ @click="onAddItem">
42
+ <span class="icon-plus"></span>
43
+ <span>Add new entry</span>
44
+ </button>
45
+ </li>
46
+ <!-- end edit-mode -->
47
+ </slot>
48
+ </template>
70
49
 
71
- <!-- begin CmdImage without link-->
72
- <CmdImage v-else v-bind="image"/>
73
- <!-- end CmdImage without link-->
74
- </li>
75
- </template>
76
- <!-- end list of images -->
50
+ <!-- begin list of images -->
51
+ <template v-if="listContentType === 'images'">
52
+ <slot>
53
+ <li v-for="(image, index) in items" :key="index">
54
+ <!-- begin CmdImage with link-->
55
+ <a v-if="image.image.url" :href="image.image.url">
56
+ <CmdImage v-bind="image" />
57
+ </a>
58
+ <!-- end CmdImage with link-->
77
59
 
78
- <!-- begin tags -->
79
- <template v-if="listType === 'tags'">
80
- <li v-for="(tag, index) in listOfTagItems" :key="index">
81
- <small class="tag flex-container">
82
- <span>{{ tag }}</span>
83
- <!-- begin icon 'remove tag' -->
84
- <a v-if="iconRemoveTag.show"
85
- href="#"
86
- @click.prevent="removeTag(index)"
87
- :title="iconRemoveTag.tooltip"
88
- class="flex-none"
89
- >
90
- <span :class="iconRemoveTag.iconClass"></span>
91
- </a>
92
- <!-- end icon 'remove tag' -->
93
- </small>
60
+ <!-- begin CmdImage without link-->
61
+ <CmdImage v-else v-bind="image" />
62
+ <!-- end CmdImage without link-->
63
+ </li>
64
+ </slot>
65
+ </template>
66
+ <!-- end list of images -->
94
67
 
95
- </li>
96
- </template>
97
- <!-- end tags -->
98
- </ul>
99
- <!-- end list of links -->
100
- </div>
68
+ <!-- begin tags -->
69
+ <template v-if="listContentType === 'tags'">
70
+ <slot>
71
+ <li v-for="(tag, index) in listOfTagItems" :key="index">
72
+ <!-- begin CmdTag -->
73
+ <CmdTag
74
+ :tagText="tag"
75
+ :highlightLevel="highlightLevel"
76
+ :removeTagByClick="true"
77
+ @click.prevent="removeTag(event, index)"
78
+ />
79
+ <!-- end CmdTag -->
80
+ </li>
81
+ </slot>
82
+ </template>
83
+ <!-- end tags -->
84
+ </component>
85
+ <!-- end list of links ordered/unordered -->
86
+
87
+ <!-- begin description list -->
88
+ <dl v-else>
89
+ <template v-for="(entry, index) in items" :key="index">
90
+ <dt v-if="!alignDescriptionTermRight">
91
+ <CmdIcon
92
+ v-if="entry.descriptionTerm?.cmdIcon?.iconClass"
93
+ v-bind="entry.descriptionTerm.cmdIcon"
94
+ />
95
+ <span v-if="entry.descriptionTerm?.text">{{ entry.descriptionTerm?.text }}</span>
96
+ </dt>
97
+ <dd>
98
+ <CmdLink
99
+ v-if="entry.descriptionData.cmdLink !== undefined"
100
+ v-bind="entry.descriptionData.cmdLink">
101
+ </CmdLink>
102
+ <template v-else>
103
+ {{ entry.descriptionData.text }}
104
+ </template>
105
+ </dd>
106
+ <dt v-if="alignDescriptionTermRight">
107
+ <CmdIcon
108
+ v-if="entry.descriptionTerm?.cmdIcon?.iconClass"
109
+ v-bind="entry.descriptionTerm.cmdIcon"
110
+ />
111
+ <span v-if="entry.descriptionTerm?.text">{{ entry.descriptionTerm?.text }}</span>
112
+ </dt>
113
+ </template>
114
+ </dl>
115
+ <!-- end description list -->
116
+ </div>
117
+ </transition>
118
+ <!-- end CmdList ---------------------------------------------------------------------------------------- -->
101
119
  </template>
102
120
 
103
121
  <script>
@@ -105,7 +123,7 @@
105
123
  import EditMode from "../mixins/EditMode.vue"
106
124
 
107
125
  // import utils (editMode only)
108
- import {buildComponentPath, updateHandlerProvider} from "../utils/editmode.js"
126
+ import { buildComponentPath, updateHandlerProvider } from "../utils/editmode.js"
109
127
 
110
128
  export default {
111
129
  name: "CmdListOfLinks",
@@ -117,12 +135,51 @@ export default {
117
135
  }
118
136
  },
119
137
  props: {
138
+ /**
139
+ * define the transition when the list appears/disappears
140
+ *
141
+ * @allowedValues: "none", "fade", "scroll"
142
+ */
143
+ transition: {
144
+ type: String,
145
+ default: "fade"
146
+ },
147
+ /**
148
+ * define the highlight-level
149
+ *
150
+ * @allowedValues: "none", "primary", "secondary", "tertiary"
151
+ */
152
+ highlightLevel: {
153
+ type: String,
154
+ default: "none",
155
+ validator(value) {
156
+ return value === "none" ||
157
+ value === "primary" ||
158
+ value === "secondary" ||
159
+ value === "tertiary"
160
+ }
161
+ },
162
+ /**
163
+ * define the list type
164
+ *
165
+ * @affectsStyling: true
166
+ * @allowedValues: "unordered", "ordered", "description"
167
+ */
168
+ listType: {
169
+ typ: String,
170
+ default: "unordered",
171
+ validator(value) {
172
+ return value === "unordered" ||
173
+ value === "ordered" ||
174
+ value === "description"
175
+ }
176
+ },
120
177
  /**
121
178
  * set list-type
122
179
  *
123
180
  * @allowedValues: links, images, tags
124
181
  */
125
- listType: {
182
+ listContentType: {
126
183
  typ: String,
127
184
  default: "links",
128
185
  validator(value) {
@@ -181,6 +238,15 @@ export default {
181
238
  type: Boolean,
182
239
  default: false
183
240
  },
241
+ /**
242
+ * set if description term should be aligned right
243
+ *
244
+ * @affectsStyling: true
245
+ */
246
+ alignDescriptionTermRight: {
247
+ type: Boolean,
248
+ default: false
249
+ },
184
250
  /**
185
251
  * set horizontal alignment
186
252
  *
@@ -238,23 +304,32 @@ export default {
238
304
  required: false
239
305
  }
240
306
  },
307
+ mounted() {
308
+ this.updateActiveClass()
309
+ },
241
310
  computed: {
242
311
  setStretchClass() {
243
312
  if (this.largeIcons && this.orientation === "horizontal") {
244
313
  return "stretch"
245
314
  }
246
315
  return null
316
+ },
317
+ listTag() {
318
+ if(this.listType !== "description") {
319
+ return this.listType === "ordered" ? "ol" : "ul"
320
+ }
247
321
  }
248
322
  },
249
323
  methods: {
250
324
  removeTag(event, index) {
251
325
  this.listOfTagItems.splice(index, 1);
252
- this.$emit("remove-tag", {originalEvent: event, tagIndex: index})
326
+ this.$emit("remove-tag", { originalEvent: event, tagIndex: index })
253
327
  },
254
328
  onAddItem() {
255
329
  this.editModeContext.content.addContent(
256
330
  buildComponentPath(this, 'props', 'links', -1),
257
- this.itemProvider)
331
+ this.itemProvider
332
+ )
258
333
  },
259
334
  itemProvider() {
260
335
  return {
@@ -278,9 +353,18 @@ export default {
278
353
  })
279
354
  },
280
355
  emitClick(event, linkType) {
281
- this.$emit("click", {originalEvent: event, linkType: linkType})
356
+ this.$emit("click", { originalEvent: event, linkType: linkType })
357
+ },
358
+ updateActiveClass() {
359
+ // remove "active" from all links first
360
+ document.querySelectorAll(".router-link-exact-active").forEach(el => {
361
+ el.classList.add("active")
362
+ })
282
363
  }
283
- }
364
+ },
365
+ watch: (() => route.fullPath, () => {
366
+ this.updateActiveClass();
367
+ })
284
368
  }
285
369
  </script>
286
370
 
@@ -294,11 +378,18 @@ export default {
294
378
 
295
379
  li {
296
380
  list-style: none;
297
- margin-left: 0 !important; /* overwrite default-settings from frontend-framework */
381
+ margin-left: 0 !important;
382
+ /* overwrite default-settings from frontend-framework */
298
383
 
299
384
  &:has(.tag) {
300
385
  .tag {
301
386
  gap: var(--default-gap-half);
387
+
388
+ &.primary, &.secondary, &.tertiary {
389
+ [class*="icon-"] {
390
+ color: var(--color-white);
391
+ }
392
+ }
302
393
  }
303
394
 
304
395
  [class*="icon-"] {
@@ -337,7 +428,8 @@ export default {
337
428
  flex: none;
338
429
  display: flex;
339
430
  flex-direction: column;
340
- max-width: 100%; /* avoid li to be stretched by large content */
431
+ max-width: 100%;
432
+ /* avoid li to be stretched by large content */
341
433
  }
342
434
 
343
435
  &.align-right {
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdLinkOfLinksItem ---------------------------------------------------------------------------------------- -->
2
3
  <!-- begin default-view -->
3
4
  <li v-if="!editing" class="cmd-list-of-links-item">
4
5
  <!-- begin CmdLink -->
@@ -44,6 +45,7 @@
44
45
  </div>
45
46
  </template>
46
47
  <!-- end edit-mode -->
48
+ <!-- end CmdLinkOfLinksItem ---------------------------------------------------------------------------------------- -->
47
49
  </template>
48
50
 
49
51
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdListOfRequirements ---------------------------------------------------------------------------------------- -->
2
3
  <div class="cmd-list-of-requirements">
3
4
  <!-- begin CmdHeadline -->
4
5
  <CmdHeadline v-if="showHeadline" :headline-level="cmdHeadline.headlineLevel">
@@ -47,6 +48,7 @@
47
48
  </template>
48
49
  <!-- end helplink -->
49
50
  </div>
51
+ <!-- end CmdListOfRequirements ---------------------------------------------------------------------------------------- -->
50
52
  </template>
51
53
 
52
54
  <script>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <!-- begin login-form -->
2
+ <!-- begin CmdLoginForm ---------------------------------------------------------------------------------------- -->
3
3
  <fieldset v-show="!sendLogin" class="cmd-login-form flex-container">
4
4
  <legend :class="{hidden : !legendLoginForm.show, 'align-left': legendLoginForm.align === 'left'}">
5
5
  {{ legendLoginForm.text }}
@@ -215,7 +215,7 @@
215
215
  <!-- end link-type 'button' -->
216
216
  </div>
217
217
  </fieldset>
218
- <!-- end send-login-form -->
218
+ <!-- end CmdLoginForm ---------------------------------------------------------------------------------------- -->
219
219
  </template>
220
220
 
221
221
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdMailTool ---------------------------------------------------------------------------------------- -->
2
3
  <CmdTabs class="cmd-mail-tool" v-bind="cmdTabs">
3
4
  <!-- begin tab "inbox" -->
4
5
  <template v-slot:tab-content-0>
@@ -24,6 +25,7 @@
24
25
  </template>
25
26
  <!-- end tab "outbox" -->
26
27
  </CmdTabs>
28
+ <!-- end CmdMailTool ---------------------------------------------------------------------------------------- -->
27
29
  </template>
28
30
 
29
31
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdMailToolEntry ---------------------------------------------------------------------------------------- -->
2
3
  <template v-if="mails.length"
3
4
  v-for="(mail, index) in mails"
4
5
  :key="index">
@@ -59,7 +60,7 @@
59
60
  <!-- begin CmdSystemMessage (if no mails exist) -->
60
61
  <CmdSystemMessage v-else v-bind="cmdSystemMessage"/>
61
62
  <!-- end CmdSystemMessage (if no mails exist) -->
62
-
63
+ <!-- end CmdMailToolEntry ---------------------------------------------------------------------------------------- -->
63
64
  </template>
64
65
 
65
66
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdMailToolFilter ---------------------------------------------------------------------------------------- -->
2
3
  <div class="cmd-mail-tool-filter">
3
4
  <!-- begin CmdHeadline -->
4
5
  <CmdHeadline v-if="headlineText" :headlineText="headlineText" :headlineLevel="headlineLevel"/>
@@ -60,6 +61,7 @@
60
61
  <!-- end link sort descending -->
61
62
  </div>
62
63
  </div>
64
+ <!-- end CmdMailToolFilter ---------------------------------------------------------------------------------------- -->
63
65
  </template>
64
66
 
65
67
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdMainNavigationWrapper ---------------------------------------------------------------------------------------- -->
2
3
  <div
3
4
  :class="[
4
5
  'cmd-main-navigation main-navigation-wrapper',
@@ -151,6 +152,7 @@
151
152
  </a>
152
153
  <!-- end off-canvas-button -->
153
154
  </div>
155
+ <!-- end CmdMainNavigationWrapper ---------------------------------------------------------------------------------------- -->
154
156
  </template>
155
157
 
156
158
  <script>
@@ -1,12 +1,13 @@
1
1
  <template>
2
+ <!-- begin CmdMultistepFormProgressBar ---------------------------------------------------------------------------------------- -->
2
3
  <ol :class="['cmd-multistep-form-progress-bar', {'use-gap': useGap, 'full-width': fullWidth}]">
3
4
  <li v-for="(step, index) in multisteps" :key="index">
4
5
  <!-- begin CmdLink -->
5
6
  <CmdLink
6
7
  :linkType="step.linkType"
7
- :class="['stretch-on-small-devices', activeLinkClass(step.linkType, index)]"
8
+ :class="['stretch-on-small-devices', activeLinkClass(index)]"
8
9
  :styleAsButton="styleAsButtons"
9
- :primaryButton="usePrimaryButtons"
10
+ :highlightLevel="highlightLevel"
10
11
  :path="step.path"
11
12
  :title="step.tooltip"
12
13
  :disabled="step.disabled"
@@ -25,6 +26,7 @@
25
26
  <!-- end separator -->
26
27
  </li>
27
28
  </ol>
29
+ <!-- end CmdMultistepFormProgressBar ---------------------------------------------------------------------------------------- -->
28
30
  </template>
29
31
 
30
32
  <script>
@@ -40,6 +42,28 @@ export default {
40
42
  }
41
43
  },
42
44
  props: {
45
+ /**
46
+ * set highlight-level for steps
47
+ *
48
+ * @allowedValues: "none", "primary", "secondary", "tertiary"
49
+ */
50
+ highlightLevel: {
51
+ type: Boolean,
52
+ default: "primary",
53
+ validator(value) {
54
+ return value === "none" ||
55
+ value === "primary" ||
56
+ value === "secondary" ||
57
+ value === "tertiary"
58
+ }
59
+ },
60
+ /**
61
+ * set active step
62
+ */
63
+ activeStep: {
64
+ type: Number,
65
+ default: 0
66
+ },
43
67
  /**
44
68
  * toggle if steps should be stretched to full-width of parent container (else steps will be centered)
45
69
  */
@@ -63,15 +87,6 @@ export default {
63
87
  type: Boolean,
64
88
  default: false
65
89
  },
66
- /**
67
- * activate if step-buttons should be primary-buttons (linkType for steps must be "button" or styleAsButton-property must be activated)
68
- *
69
- * @affectsStyling: true
70
- */
71
- usePrimaryButtons: {
72
- type: Boolean,
73
- default: true
74
- },
75
90
  /**
76
91
  * list of multisteps
77
92
  */
@@ -94,11 +109,9 @@ export default {
94
109
  }
95
110
  },
96
111
  methods: {
97
- activeLinkClass(linkType, index) {
112
+ activeLinkClass(index) {
98
113
  if(this.activeLink === index) {
99
- if(linkType !== "router") {
100
114
  return "active"
101
- }
102
115
  }
103
116
  return ""
104
117
  },
@@ -109,6 +122,14 @@ export default {
109
122
  getRoute(step) {
110
123
  return getRoute(step)
111
124
  }
125
+ },
126
+ watch: {
127
+ activeStep: {
128
+ handler() {
129
+ this.activeLink = this.activeStep
130
+ },
131
+ immediate: true
132
+ }
112
133
  }
113
134
  }
114
135
  </script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdNewsletterSubscription ---------------------------------------------------------------------------------------- -->
2
3
  <fieldset class="cmd-newsletter-subscription flex-container">
3
4
  <!-- begin legend -->
4
5
  <legend :class="{hidden : !legend.show, 'align-left': legend.align === 'left'}">{{ legend.text }}</legend>
@@ -41,6 +42,7 @@
41
42
  <!-- end cmd-form-element -->
42
43
  </div>
43
44
  </fieldset>
45
+ <!-- end CmdNewsletterSubscription ---------------------------------------------------------------------------------------- -->
44
46
  </template>
45
47
 
46
48
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdOpeningHours ---------------------------------------------------------------------------------------- -->
2
3
  <div class="cmd-opening-hours">
3
4
  <!-- begin cmd-headline -->
4
5
  <CmdHeadline
@@ -116,6 +117,7 @@
116
117
  </div>
117
118
  <!-- end edit-mode -->
118
119
  </div>
120
+ <!-- end CmdOpeningHours ---------------------------------------------------------------------------------------- -->
119
121
  </template>
120
122
 
121
123
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdOpeningHoursItem ---------------------------------------------------------------------------------------- -->
2
3
  <!-- begin opening-days and -hours -->
3
4
  <template v-if="!editing">
4
5
  <dt class="cmd-opening-hours-item">{{ day.day }}</dt>
@@ -120,6 +121,7 @@
120
121
  <!-- end hours -->
121
122
  </template>
122
123
  <!-- end edit-mode -->
124
+ <!-- end CmdOpeningHoursItem ---------------------------------------------------------------------------------------- -->
123
125
  </template>
124
126
 
125
127
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdPageFooter ---------------------------------------------------------------------------------------- -->
2
3
  <footer :class="['cmd-page-footer flex-container', {'small-buttons': useSmallButtons}]">
3
4
  <!-- begin CmdSocialNetworks -->
4
5
  <CmdSocialNetworks v-if="cmdSocialNetworks" v-bind="cmdSocialNetworks">
@@ -26,6 +27,7 @@
26
27
  <!-- end button print-preview -->
27
28
  </div>
28
29
  </footer>
30
+ <!-- end CmdPageFooter ---------------------------------------------------------------------------------------- -->
29
31
  </template>
30
32
 
31
33
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdPageHeader ---------------------------------------------------------------------------------------- -->
2
3
  <header v-if="cmdBreadcrumbs || cmdHeadline || $slots.default" class="cmd-page-header flex-container">
3
4
  <div v-if="cmdBreadcrumbs || cmdHeadline" class="headline-wrapper flex-container vertical">
4
5
  <!-- begin CmdBreadcrumbs -->
@@ -14,6 +15,7 @@
14
15
  <slot v-if="$slots.default"></slot>
15
16
  <!-- end slot -->
16
17
  </header>
18
+ <!-- end CmdPageHeader ---------------------------------------------------------------------------------------- -->
17
19
  </template>
18
20
 
19
21
  <script>
@@ -1,4 +1,5 @@
1
1
  <template>
2
+ <!-- begin CmdPagination ---------------------------------------------------------------------------------------- -->
2
3
  <div class="cmd-pagination">
3
4
  <!-- begin button/link to previous page -->
4
5
  <a
@@ -42,6 +43,7 @@
42
43
  </a>
43
44
  <!-- end button/link to next page -->
44
45
  </div>
46
+ <!-- end CmdPagination ---------------------------------------------------------------------------------------- -->
45
47
  </template>
46
48
 
47
49
  <script>