comand-component-library 4.3.26 → 4.3.28

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 (50) hide show
  1. package/dist/comand-component-library.css +1 -1
  2. package/dist/comand-component-library.js +8574 -8438
  3. package/dist/styles/demopage-only.css +48 -0
  4. package/package.json +2 -2
  5. package/src/ComponentLibrary.vue +1923 -1881
  6. package/src/assets/data/text-image-block.json +3 -1
  7. package/src/assets/data/thumbnail-scroller-images.json +1 -1
  8. package/src/components/CmdAccordion.vue +1 -1
  9. package/src/components/CmdAddressData.vue +60 -72
  10. package/src/components/CmdBankAccountData.vue +55 -33
  11. package/src/components/CmdBasicForm.vue +19 -7
  12. package/src/components/CmdBox.vue +8 -0
  13. package/src/components/CmdBoxWrapper.vue +14 -0
  14. package/src/components/CmdBreadcrumbs.vue +10 -27
  15. package/src/components/CmdCompanyLogo.vue +3 -0
  16. package/src/components/CmdContainer.vue +21 -2
  17. package/src/components/CmdCookieDisclaimer.vue +5 -5
  18. package/src/components/CmdFakeSelect.vue +27 -17
  19. package/src/components/CmdFancyBox.vue +73 -85
  20. package/src/components/CmdFootnote.vue +2 -1
  21. package/src/components/CmdForm.vue +118 -160
  22. package/src/components/CmdFormFilters.vue +1 -0
  23. package/src/components/CmdGoogleMaps.vue +9 -2
  24. package/src/components/CmdHeadline.vue +10 -9
  25. package/src/components/CmdImage.vue +44 -21
  26. package/src/components/CmdImageGallery.vue +13 -8
  27. package/src/components/CmdLink.vue +20 -5
  28. package/src/components/CmdList.vue +7 -2
  29. package/src/components/CmdLoginForm.vue +156 -255
  30. package/src/components/CmdMailToolEntry.vue +2 -1
  31. package/src/components/CmdMultistepFormProgressBar.vue +2 -2
  32. package/src/components/CmdMultistepFormWrapper.vue +2 -6
  33. package/src/components/CmdOpeningHours.vue +14 -2
  34. package/src/components/CmdSidebar.vue +2 -2
  35. package/src/components/CmdSiteWrapper.vue +66 -58
  36. package/src/components/CmdSlideshow.vue +5 -0
  37. package/src/components/CmdSocialNetworks.vue +27 -17
  38. package/src/components/CmdSwitchLanguage.vue +16 -19
  39. package/src/components/CmdSystemMessage.vue +71 -66
  40. package/src/components/CmdTable.vue +42 -24
  41. package/src/components/CmdTabs.vue +15 -7
  42. package/src/components/CmdTag.vue +28 -23
  43. package/src/components/CmdTextImageBlock.vue +62 -53
  44. package/src/components/CmdThumbnailScroller.vue +18 -6
  45. package/src/components/CmdToast.vue +60 -17
  46. package/src/components/CmdToggleDarkMode.vue +31 -32
  47. package/src/components/CmdTooltip.vue +33 -20
  48. package/src/components/CmdUploadForm.vue +212 -183
  49. package/src/components/CmdWidthLimitationWrapper.vue +19 -3
  50. package/dist/styles/templates/casual.css +0 -3
@@ -220,11 +220,12 @@ export default {
220
220
  }
221
221
 
222
222
  .cmd-image {
223
- width: 3rem;
223
+ max-width: 3rem;
224
224
  aspect-ratio: 1/1;
225
225
  border: var(--default-border);
226
226
  border-radius: var(--full-circle);
227
227
  margin: 0; /* overwrite "a img"-selector from frontend-framework */
228
+ box-shadow: none;
228
229
  }
229
230
 
230
231
  .options-wrapper {
@@ -61,13 +61,13 @@ export default {
61
61
  /**
62
62
  * set highlight-level for steps
63
63
  *
64
- * @allowedValues: "none", "primary", "secondary", "tertiary"
64
+ * @allowedValues: null, "primary", "secondary", "tertiary"
65
65
  */
66
66
  highlightLevel: {
67
67
  type: String,
68
68
  default: "primary",
69
69
  validator(value) {
70
- return value === "none" ||
70
+ return value === null ||
71
71
  value === "primary" ||
72
72
  value === "secondary" ||
73
73
  value === "tertiary"
@@ -4,7 +4,7 @@
4
4
  <!-- begin slot for progress-bar -->
5
5
  <slot name="progress-bar" :setCurrentPage="setCurrentPage" :numberOfPages="numberOfPages">
6
6
  <CmdMultistepFormProgressBar
7
- v-if="cmdMultistepFormProgressBar.show"
7
+ v-if="cmdMultistepFormProgressBarProperties.show"
8
8
  v-bind="cmdMultistepFormProgressBarProperties"
9
9
  :multisteps="multisteps"
10
10
  :activeStep="currentPage - 1"
@@ -105,11 +105,7 @@ export default {
105
105
  */
106
106
  cmdMultistepFormProgressBar: {
107
107
  type: Object,
108
- default() {
109
- return {
110
- show: true
111
- }
112
- }
108
+ required: false
113
109
  },
114
110
  /**
115
111
  * properties for CmdLink-component
@@ -3,8 +3,8 @@
3
3
  <div class="cmd-opening-hours">
4
4
  <!-- begin cmd-headline -->
5
5
  <CmdHeadline
6
- v-if="cmdHeadline?.headlineText || editModeContext"
7
- v-bind="cmdHeadline"
6
+ v-if="(cmdHeadlineProperties?.show && cmdHeadlineProperties?.headlineText) || editModeContext"
7
+ v-bind="cmdHeadlineProperties"
8
8
  />
9
9
  <!-- end cmd-headline -->
10
10
 
@@ -157,6 +157,11 @@ export function timeFormatting(separator, suffix1, suffix2, hoursLeadingZero = t
157
157
  export default {
158
158
  name: "CmdOpeningHours",
159
159
  mixins: [EditMode],
160
+ inject: {
161
+ editModeContext: {
162
+ default: null
163
+ }
164
+ },
160
165
  data() {
161
166
  return {
162
167
  currentTime: new Date(),
@@ -302,6 +307,13 @@ export default {
302
307
  }
303
308
  },
304
309
  computed: {
310
+ cmdHeadlineProperties() {
311
+ return {
312
+ show: true,
313
+ headlineLevel: 2,
314
+ ...this.cmdHeadline
315
+ }
316
+ },
305
317
  openingHoursFormatted() {
306
318
  const weekdays = []
307
319
  for (let i = 0; i < this.openingHours.length; i++) {
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <!-- begin CmdSidebar ---------------------------------------------------------------------------------------- -->
3
- <aside :class="['cmd-sidebar', wrapperClass, {'box': styledAsBox, 'collapse-to-right': !collapseToLeft}]">
3
+ <div :class="['cmd-sidebar', wrapperClass, {'box': styledAsBox, 'collapse-to-right': !collapseToLeft}]">
4
4
  <!-- begin inner-sidebar-wrapper -->
5
5
  <div class="inner-sidebar-wrapper">
6
6
  <!-- begin CmdHeadline -->
@@ -34,7 +34,7 @@
34
34
  <span :class="iconClassOpenCollapse"></span>
35
35
  </a>
36
36
  <!-- end column to toggle sidebar open-closed-status -->
37
- </aside>
37
+ </div>
38
38
  <!-- end CmdSidebar ---------------------------------------------------------------------------------------- -->
39
39
  </template>
40
40
 
@@ -1,29 +1,31 @@
1
1
  <template>
2
2
  <!-- begin CmdSiteWrapper ---------------------------------------------------------------------------------------- -->
3
- <a id="anchor-back-to-top"></a>
4
3
  <div :class="['cmd-site-wrapper site-wrapper', { 'overflow-hidden': offCanvasOpen }]"
5
4
  :style="{ 'scroll-padding-top': heightSiteHeader + 'px' }" v-fancybox>
6
- <!-- begin above-site-header-slot-->
5
+ <a id="anchor-back-to-top"></a>
6
+ <!-- begin above-site-header-slot -->
7
7
  <slot name="above-site-header"></slot>
8
- <!-- end above-site-header-slot-->
8
+ <!-- end above-site-header-slot -->
9
9
 
10
- <CmdSiteHeader v-if="cmdSiteHeaderProperties.show" v-bind="cmdSiteHeaderProperties"
11
- @offcanvas="offcanvasToggled">
12
- <!-- begin site-header-slots-->
13
- <template v-slot:topheader>
14
- <slot name="topheader"></slot>
15
- </template>
16
- <template v-slot:logo>
17
- <slot name="logo"></slot>
18
- </template>
19
- <template v-slot:header>
20
- <slot name="header"></slot>
21
- </template>
22
- <template v-slot:navigation>
23
- <slot name="navigation"></slot>
24
- </template>
25
- <!-- end site-header-slots-->
26
- </CmdSiteHeader>
10
+ <slot name="site-header">
11
+ <CmdSiteHeader v-if="cmdSiteHeaderProperties.show" v-bind="cmdSiteHeaderProperties"
12
+ @offcanvas="offcanvasToggled">
13
+ <!-- begin site-header-slots-->
14
+ <template v-slot:topheader>
15
+ <slot name="topheader"></slot>
16
+ </template>
17
+ <template v-slot:logo>
18
+ <slot name="logo"></slot>
19
+ </template>
20
+ <template v-slot:header>
21
+ <slot name="header"></slot>
22
+ </template>
23
+ <template v-slot:navigation>
24
+ <slot name="navigation"></slot>
25
+ </template>
26
+ <!-- end site-header-slots-->
27
+ </CmdSiteHeader>
28
+ </slot>
27
29
 
28
30
  <!-- begin hero-section-wrapper -->
29
31
  <div v-if="useHeroSection" class="hero-section-wrapper">
@@ -33,6 +35,7 @@
33
35
  </div>
34
36
  <!-- end hero-section-wrapper -->
35
37
 
38
+ <!-- begin main-content-wrapper -->
36
39
  <main class="main-content-wrapper">
37
40
  <CmdWidthLimitationWrapper :useFullDeviceWidth="useFullWidthForMainContent"
38
41
  :contentOrientation="contentOrientation">
@@ -67,43 +70,44 @@
67
70
  <!-- begin right column -->
68
71
  </CmdWidthLimitationWrapper>
69
72
  </main>
73
+ <!-- end main-content-wrapper -->
70
74
 
71
- <CmdSiteFooter v-if="cmdSiteFooterProperties.show" v-bind="cmdSiteFooterProperties">
72
- <!-- begin site-footer-slot-->
73
- <slot name="site-footer">
74
- <!-- begin parent-component -->
75
- <template v-if="editMode">
76
- <EditComponentWrapper v-for="(component, componentIndex) in cmdSiteFooter.components || []"
77
- :key="componentIndex" :allow-add-component="component.allowAddComponent"
78
- :componentName="component.name" :componentProps="component.props"
79
- :componentPath="componentPath(componentIndex)">
80
- <component :is="component.name" v-bind="component.props">
75
+ <!-- begin site-footer-slot -->
76
+ <slot name="site-footer">
77
+ <CmdSiteFooter v-if="cmdSiteFooterProperties.show" v-bind="cmdSiteFooterProperties">
78
+ <!-- begin parent-component -->
79
+ <template v-if="editMode">
80
+ <EditComponentWrapper v-for="(component, componentIndex) in cmdSiteFooter?.components || []"
81
+ :key="componentIndex" :allow-add-component="component.allowAddComponent"
82
+ :componentName="component.name" :componentProps="component.props"
83
+ :componentPath="componentPath(componentIndex)">
84
+ <component :is="component.name" v-bind="component.props">
85
+ <!-- begin child-component -->
86
+ <component v-for="(childComponent, childComponentIndex) in component.components || []"
87
+ :key="childComponentIndex" :is="childComponent.name" v-bind="childComponent.props"
88
+ :editContent="childComponent.editContent" />
89
+ <!-- end child-component -->
90
+ </component>
91
+ </EditComponentWrapper>
92
+ </template>
93
+ <template v-else>
94
+ <component v-for="(component, index) in cmdSiteFooter?.components || []" :key="index"
95
+ :is="component.name" v-bind="component.props">
81
96
  <!-- begin child-component -->
82
97
  <component v-for="(childComponent, childComponentIndex) in component.components || []"
83
98
  :key="childComponentIndex" :is="childComponent.name" v-bind="childComponent.props"
84
99
  :editContent="childComponent.editContent" />
85
100
  <!-- end child-component -->
86
101
  </component>
87
- </EditComponentWrapper>
88
- </template>
89
- <template v-else>
90
- <component v-for="(component, index) in cmdSiteFooter.components || []" :key="index"
91
- :is="component.name" v-bind="component.props">
92
- <!-- begin child-component -->
93
- <component v-for="(childComponent, childComponentIndex) in component.components || []"
94
- :key="childComponentIndex" :is="childComponent.name" v-bind="childComponent.props"
95
- :editContent="childComponent.editContent" />
96
- <!-- end child-component -->
97
- </component>
98
- </template>
99
- <!-- end parent-component -->
100
- </slot>
101
- <!-- end site-footer-slot-->
102
- </CmdSiteFooter>
102
+ </template>
103
+ <!-- end parent-component -->
104
+ </CmdSiteFooter>
105
+ </slot>
106
+ <!-- end site-footer-slot -->
103
107
 
104
- <!-- begin below-site-footer-slot-->
108
+ <!-- begin below-site-footer-slot -->
105
109
  <slot name="below-site-footer"></slot>
106
- <!-- end below-site-footer-slot-->
110
+ <!-- end below-site-footer-slot -->
107
111
 
108
112
  <CmdBackToTopButton v-if="!offCanvasOpen && cmdBackToTopButtonProperties.show" href="#anchor-back-to-top"
109
113
  v-bind="cmdBackToTopButtonProperties" />
@@ -133,15 +137,12 @@ export default {
133
137
  }
134
138
  },
135
139
  props: {
140
+ /**
141
+ * active sections shown in page-content-wrapper
142
+ */
136
143
  activeSections: {
137
- type: Array
138
- },
139
- heroSectionActiveSections: {
140
- type: Array
141
- },
142
- editMdoe: {
143
- type: Boolean,
144
- default: false
144
+ type: Array,
145
+ required: false
145
146
  },
146
147
  /**
147
148
  * set aside (left-/right-column) in main-content-wrapper
@@ -225,6 +226,13 @@ export default {
225
226
  cmdCookieDisclaimer: {
226
227
  type: Object,
227
228
  required: false
229
+ },
230
+ /**
231
+ * activate edit-mode
232
+ */
233
+ editMode: {
234
+ type: Boolean,
235
+ default: false
228
236
  }
229
237
  },
230
238
  computed: {
@@ -375,7 +383,7 @@ export default {
375
383
  }
376
384
  </style>
377
385
  <style lang="scss">
378
- /*
386
+
379
387
  @import '../assets/styles/variables';
380
388
 
381
389
  @media only screen and (width <=$medium-max-width) {
@@ -423,5 +431,5 @@ export default {
423
431
  }
424
432
  }
425
433
  }
426
- }*/
434
+ }
427
435
  </style>
@@ -92,6 +92,11 @@ import {createUuid} from "../utils/common.js"
92
92
  export default {
93
93
  name: "CmdSlideshow",
94
94
  mixins: [EditMode],
95
+ inject: {
96
+ editModeContext: {
97
+ default: null
98
+ }
99
+ },
95
100
  data() {
96
101
  return {
97
102
  index: 0,
@@ -1,22 +1,16 @@
1
1
  <template>
2
2
  <!-- begin CmdSocialNetworks ---------------------------------------------------------------------------------------- -->
3
3
  <div :class="['cmd-social-networks', {'stretch': stretchButtons}, alignment]">
4
- <!-- begin CmdHeadline -->
5
4
  <CmdHeadline
6
- v-if="cmdHeadline?.headlineText || editModeContext?.editing"
7
- v-bind="cmdHeadline || {}"
5
+ v-if="(cmdHeadlineProperties?.show && cmdHeadlineProperties?.headlineText) || editModeContext"
6
+ v-bind="cmdHeadlineProperties"
8
7
  />
9
- <!-- end CmdHeadline -->
10
8
 
11
- <!-- begin CmdFormElement -->
12
9
  <CmdFormElement
13
10
  v-if="userMustAcceptDataPrivacy"
14
- element="input"
15
- type="checkbox"
16
- v-bind="cmdFormElement"
11
+ v-bind="cmdFormElementDataPrivacyProperties"
17
12
  v-model="dataPrivacyAccepted"
18
13
  />
19
- <!-- end CmdFormElement -->
20
14
 
21
15
  <!-- begin list of networks -->
22
16
  <ul v-if="validNetworks.length > 0" :class="['button-wrapper', {'no-gap': !useGap}]">
@@ -78,6 +72,11 @@ import {buildComponentPath} from "../utils/editmode.js"
78
72
  export default {
79
73
  name: "CmdSocialNetworks",
80
74
  mixins: [EditMode],
75
+ inject: {
76
+ editModeContext: {
77
+ default: null
78
+ }
79
+ },
81
80
  data() {
82
81
  return {
83
82
  dataPrivacyAccepted: false
@@ -176,15 +175,9 @@ export default {
176
175
  *
177
176
  * userMustAcceptDataPrivacy-property must be activated
178
177
  */
179
- cmdFormElement: {
178
+ cmdFormElementDataPrivacy: {
180
179
  type: Object,
181
- default() {
182
- return {
183
- toggleSwitch: true,
184
- labelText: "I accept that anonymous data will be send to the platform I share this page on!",
185
- required: true
186
- }
187
- }
180
+ required: false
188
181
  },
189
182
  /**
190
183
  * properties for CmdHeadline-component
@@ -195,6 +188,23 @@ export default {
195
188
  }
196
189
  },
197
190
  computed: {
191
+ cmdFormElementDataPrivacyProperties() {
192
+ return {
193
+ element: "input",
194
+ type: "checkbox",
195
+ toggleSwitch: true,
196
+ labelText: "I accept that anonymous data will be send to the platform I share this page on!",
197
+ required: true,
198
+ ...this.cmdFormElementDataPrivacy
199
+ }
200
+ },
201
+ cmdHeadlineProperties() {
202
+ return {
203
+ show: true,
204
+ headlineLevel: 2,
205
+ ...this.cmdHeadline
206
+ }
207
+ },
198
208
  validNetworks() {
199
209
  return this.networks.filter(item => item.path)
200
210
  },
@@ -3,26 +3,16 @@
3
3
  <div class="cmd-switch-language">
4
4
  <ul>
5
5
  <li v-for="(language, index) in languages" :key="index">
6
- <!-- begin link-type 'href' -->
7
- <a v-if="language.link.type === 'href'"
8
- :href="language.link.path"
9
- :class="['flag', language.iso2, {'active': activeLanguage(language.iso2)}]"
10
- :title="language.tooltip"
11
- @click.prevent="changeLanguage(language.iso2, $event)">
12
- <img :src="pathFlag(language.iso2)" :alt="language.name" />
13
- </a>
14
-
15
- <!-- end link-type 'href' -->
16
-
17
- <!-- begin link-type 'router' -->
18
- <router-link v-else
19
- :to="getRoute(language)"
20
- :class="['flag', language.iso2]"
21
- :title="language.tooltip"
22
- @click.prevent="changeLanguage(language.iso2, $event)">
6
+ <CmdLink
7
+ v-bind="cmdLink"
8
+ :linkType="language?.link?.type"
9
+ :path="language?.link?.type === 'router' ? getRoute(language) : language?.link?.path"
10
+ :class="['flag', language.iso2, {'active': activeLanguage(language.iso2)}]"
11
+ :title="language.tooltip"
12
+ @click="changeLanguage(language.iso2, $event)"
13
+ >
23
14
  <img :src="pathFlag(language.iso2)" :alt="language.name" />
24
- </router-link>
25
- <!-- end link-type 'router' -->
15
+ </CmdLink>
26
16
  </li>
27
17
  </ul>
28
18
  </div>
@@ -55,6 +45,13 @@ export default {
55
45
  pathFlags: {
56
46
  type: String,
57
47
  default: "/media/images/flags"
48
+ },
49
+ /**
50
+ * properties for CmdLink-component
51
+ */
52
+ cmdLink: {
53
+ type: Object,
54
+ required: false
58
55
  }
59
56
  },
60
57
  mounted() {