comand-component-library 3.1.81 → 3.1.84

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comand-component-library",
3
- "version": "3.1.81",
3
+ "version": "3.1.84",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
package/src/App.vue CHANGED
@@ -137,7 +137,6 @@
137
137
  <h2>Inputfields in Columns</h2>
138
138
  <div class="flex-container">
139
139
  <CmdFormElement element="input"
140
- labelText="Label for inputfield (with tooltip):"
141
140
  type="text"
142
141
  minlength="5"
143
142
  id="inputfield1"
@@ -145,10 +144,13 @@
145
144
  v-model="inputField1"
146
145
  tooltipText="This is a tooltip!"
147
146
  :status="validationStatus"
148
- :disabled="disabledStatus"
149
- />
147
+ :disabled="disabledStatus">
148
+ <template v-slot:labeltext>
149
+ <span v-html="'Label with <a href=\'#\'>Link</a> given by slot'"></span>
150
+ </template>
151
+ </CmdFormElement>
150
152
  <CmdFormElement element="input"
151
- labelText="Label for inputfield (required):"
153
+ labelText="Label for inputfield (required, with tooltip):"
152
154
  type="text"
153
155
  required="required"
154
156
  minlength="5"
@@ -1079,7 +1081,10 @@
1079
1081
  <a id="section-thumbnail-scroller"></a>
1080
1082
  <CmdWidthLimitationWrapper>
1081
1083
  <h2 class="headline-demopage">Thumbnail-Scroller</h2>
1084
+ <h3>Thumbnail-Scroller as wide as content</h3>
1082
1085
  <CmdThumbnailScroller :thumbnail-scroller-items="thumbnailScrollerData"/>
1086
+ <h3>Thumbnail-Scroller stretched to full width</h3>
1087
+ <CmdThumbnailScroller :thumbnail-scroller-items="thumbnailScrollerData" :fullWidth="true" />
1083
1088
  </CmdWidthLimitationWrapper>
1084
1089
 
1085
1090
  <a id="section-tooltip"></a>
@@ -1134,7 +1139,7 @@
1134
1139
  textMiscInfo="Miscellaneous information"
1135
1140
  />
1136
1141
  <CmdAddressData :addressData="addressData"
1137
- :linkGoogleMaps="true"
1142
+ :linkGoogleMaps="false"
1138
1143
  :cmdHeadline="{headlineText: 'Address data', headlineLevel: 6}"
1139
1144
  />
1140
1145
  </div>
@@ -1226,8 +1231,8 @@ import CmdSiteHeader from "./components/CmdSiteHeader"
1226
1231
  import CmdSlideshow from "@/components/CmdSlideshow.vue"
1227
1232
  import CmdSwitchLanguage from "@/components/CmdSwitchLanguage.vue"
1228
1233
  import CmdSystemMessage from "@/components/CmdSystemMessage.vue"
1229
- import CmdTabs from "@/components/CmdTabs.vue"
1230
1234
  import CmdTable from "@/components/CmdTable.vue"
1235
+ import CmdTabs from "@/components/CmdTabs.vue"
1231
1236
  import CmdThumbnailScroller from "@/components/CmdThumbnailScroller.vue"
1232
1237
  import CmdToggleDarkMode from "@/components/CmdToggleDarkMode.vue"
1233
1238
  import CmdTooltip from "@/components/CmdTooltip.vue"
@@ -26,13 +26,13 @@
26
26
  :title="getMessage('cmdaddressdata.title.open_address_on_google_maps')">
27
27
  <span v-if="addressData.address.streetNo" class="street-address">{{ addressData.address.streetNo }}</span><br/>
28
28
  <span v-if="addressData.address.zip" class="postal-code">{{ addressData.address.zip }}&nbsp;</span>
29
- <span v-if="addressData.address.city" class="locality">{{ addressData.address.city }}</span>
29
+ <span v-if="addressData.address.city" class="locality">{{ addressData.address.city }}</span><br/>
30
30
  <span v-if="addressData.address.country" class="country-name">{{ addressData.address.country }}</span>
31
31
  </a>
32
32
  <template v-else>
33
33
  <span v-if="addressData.address.streetNo" class="street-address">{{addressData.address.streetNo }}</span><br/>
34
- <span v-if="addressData.address.zip" class="postal-code">{{ addressData.address.zip }}</span>
35
- <span v-if="addressData.address.city" class="locality">{{ addressData.address.city }}</span>
34
+ <span v-if="addressData.address.zip" class="postal-code">{{ addressData.address.zip }} </span>
35
+ <span v-if="addressData.address.city" class="locality">{{ addressData.address.city }}</span><br/>
36
36
  <span v-if="addressData.address.country" class="country-name">{{ addressData.address.country }}</span>
37
37
  </template>
38
38
  </dd>
@@ -87,14 +87,14 @@
87
87
  <a :href="locateAddress" target="google-maps" v-if="linkGoogleMaps"
88
88
  :title="getMessage('cmdaddressdata.title.open_address_on_google_maps')">
89
89
  <span class="street-address" v-if="addressData.address.streetNo">{{ addressData.address.streetNo }}</span><br/>
90
- <span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }}</span>
91
- <span class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
90
+ <span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }} </span>
91
+ <span class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span><br/>
92
92
  <span class="country-name" v-if="addressData.address.country">{{ addressData.address.country }}</span>
93
93
  </a>
94
94
  <template v-else>
95
95
  <span class="street-address" v-if="addressData.address.streetNo">{{ addressData.address.streetNo }}</span><br/>
96
- <span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }}</span>
97
- <span class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
96
+ <span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }} </span>
97
+ <span class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span><br/>
98
98
  <span class="country-name" v-if="addressData.address.country">{{ addressData.address.country }}</span>
99
99
  </template>
100
100
  </li>
@@ -137,19 +137,12 @@ export default {
137
137
  default: true
138
138
  },
139
139
  /**
140
- * show a label-text
140
+ * show a label-text for each entry
141
141
  */
142
142
  showLabelTexts: {
143
143
  type: Boolean,
144
144
  default: true
145
145
  },
146
- /**
147
- * properties for CmdHeadline-component
148
- */
149
- cmdHeadline: {
150
- type: Object,
151
- required: false
152
- },
153
146
  /**
154
147
  * option to toggle labels (i.e. telephone, email etc.) in front/left of data
155
148
  */
@@ -170,6 +163,13 @@ export default {
170
163
  linkGoogleMaps: {
171
164
  type: Boolean,
172
165
  default: false
166
+ },
167
+ /**
168
+ * properties for CmdHeadline-component
169
+ */
170
+ cmdHeadline: {
171
+ type: Object,
172
+ required: false
173
173
  }
174
174
  },
175
175
  computed: {
@@ -186,13 +186,12 @@ export default {
186
186
  dl {
187
187
  grid-row-gap: calc(var(--default-gap) / 2);
188
188
 
189
- dt, dd {
189
+ dt {
190
190
  display: flex;
191
191
  align-items: center;
192
192
  }
193
193
  }
194
194
 
195
-
196
195
  ul {
197
196
  flex-direction: column;
198
197
  gap: calc(var(--default-gap) / 2);
@@ -13,7 +13,7 @@
13
13
  import {getRoute} from "../utilities.js"
14
14
 
15
15
  export default {
16
- name: "CmdLogo",
16
+ name: "CmdCompanyLogo",
17
17
  data() {
18
18
  return {
19
19
  prefersColorScheme: ""
@@ -20,9 +20,10 @@
20
20
  ref="label">
21
21
 
22
22
  <!-- begin label-text (+ required asterisk) -->
23
- <span v-if="labelText && $attrs.type !== 'checkbox' && $attrs.type !== 'radio'"
23
+ <span v-if="(labelText || $slots.labeltext) && $attrs.type !== 'checkbox' && $attrs.type !== 'radio'"
24
24
  :class="['label-text', !showLabel ? 'hidden' : undefined]">
25
- <span>{{ labelText }}<sup v-if="$attrs.required">*</sup></span>
25
+ <span v-if="labelText">{{ labelText }}<sup v-if="$attrs.required">*</sup></span>
26
+ <slot name="labeltext" />
26
27
 
27
28
  <!-- begin CmdTooltipForInputElements -->
28
29
  <CmdTooltipForInputElements
@@ -211,7 +212,7 @@ import CmdTooltipForInputElements from "./CmdTooltipForInputElements"
211
212
 
212
213
  export default {
213
214
  inheritAttrs: false,
214
- name: "FormElement",
215
+ name: "CmdFormElement",
215
216
  components: {
216
217
  CmdTooltipForInputElements
217
218
  },
@@ -423,6 +424,16 @@ export default {
423
424
  type: Boolean,
424
425
  default: true
425
426
  },
427
+ /**
428
+ * text shown in front of character-count below textarea
429
+ *
430
+ * type-property must be set to textarea
431
+ * showCharactersTextarea-property must be activated
432
+ */
433
+ textCharacters: {
434
+ type: String,
435
+ default: "Characters"
436
+ },
426
437
  /**
427
438
  * toggle visibility of search-button (next to search-field)
428
439
  */
@@ -591,7 +602,7 @@ export default {
591
602
  iconClass: "icon-not-visible",
592
603
  }
593
604
  }
594
- },
605
+ }
595
606
  },
596
607
  computed: {
597
608
  elementAttributes() {
@@ -640,7 +651,7 @@ export default {
640
651
  return false
641
652
  },
642
653
  charactersTextarea() {
643
- return "Characters: " + this.modelValue.length + "/" + this.getMaxLength()
654
+ return this.textCharacters + " " + this.modelValue.length + "/" + this.getMaxLength()
644
655
  },
645
656
  validationTooltip() {
646
657
  if (!this.useCustomTooltip) {
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="cmd-list-of-requirements">
3
3
  <!-- begin cmd-custom-headline -->
4
- <CmdHeadline :headline-level="cmdHeadline.headlineLevel">
4
+ <CmdHeadline v-if="showHeadline" :headline-level="cmdHeadline.headlineLevel">
5
5
  {{ headlineRequirements }}<template v-if="labelText"><br/><em>{{ labelText }}</em></template>
6
6
  </CmdHeadline>
7
7
  <!-- end cmd-custom-headline -->
@@ -94,7 +94,7 @@ export default {
94
94
  * set a helplink to a different page for further support
95
95
  */
96
96
  helplink: {
97
- type: String,
97
+ type: Object,
98
98
  required: false
99
99
  },
100
100
  /**
@@ -121,6 +121,13 @@ export default {
121
121
  }
122
122
  }
123
123
  },
124
+ /**
125
+ * toggle headline-visibility
126
+ */
127
+ showHeadline: {
128
+ type: Boolean,
129
+ default: true
130
+ },
124
131
  /**
125
132
  * properties of CmdHeadline-component
126
133
  */
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <div
3
+ v-if="navigationEntries.length"
3
4
  :class="[
4
5
  'cmd-main-navigation main-navigation-wrapper',
5
6
  {
@@ -297,7 +298,6 @@ export default {
297
298
  @media only screen and (max-width: $medium-max-width) {
298
299
  .cmd-main-navigation {
299
300
  --nav-transition: all .5s linear;
300
-
301
301
  display: flex;
302
302
  background: none; /* overwrite framework-css */
303
303
  border: 0; /* overwrite framework-css */
@@ -340,7 +340,7 @@ export default {
340
340
  }
341
341
 
342
342
  nav {
343
- --nav-width: 30%;
343
+ --nav-width: 33%;
344
344
 
345
345
  position: fixed;
346
346
  top: 0;
@@ -42,15 +42,10 @@ import CmdHeadline from "./CmdHeadline"
42
42
 
43
43
  export default {
44
44
  name: "CmdOpeningHours",
45
- components: {CmdHeadline},
45
+ components: {
46
+ CmdHeadline
47
+ },
46
48
  props: {
47
- /**
48
- * properties for CmdHeadline-component
49
- */
50
- cmdHeadline: {
51
- type: Object,
52
- required: false
53
- },
54
49
  /**
55
50
  * set a link to a detail page
56
51
  */
@@ -94,6 +89,13 @@ export default {
94
89
  textMiscInfo: {
95
90
  type: String,
96
91
  required: false
92
+ },
93
+ /**
94
+ * properties for CmdHeadline-component
95
+ */
96
+ cmdHeadline: {
97
+ type: Object,
98
+ required: false
97
99
  }
98
100
  }
99
101
  }
@@ -49,7 +49,7 @@ export default {
49
49
  required: false
50
50
  },
51
51
  /**
52
- * activate if page to share is not given by json-data)
52
+ * activate if page to share is not given by json-data
53
53
  */
54
54
  appendPage: {
55
55
  type: Boolean,
@@ -4,18 +4,18 @@
4
4
  <li v-for="(language, index) in languages" :key="index">
5
5
  <!-- begin link-type 'href' -->
6
6
  <a v-if="language.link.type === 'href'" :href="language.link.path"
7
- :class="['flag', language.iso2, {'active': language.active}]"
7
+ :class="['flag', language.iso2, {'active': activeLanguage(language)}]"
8
8
  :title="language.tooltip"
9
9
  @click="$emit('click', { originalEvent: $event, language} )">
10
10
  <img :src="getFlagURL(language.iso2)" :alt="language.name" />
11
11
  </a>
12
- <!-- end link-type 'href -->
12
+ <!-- end link-type 'href' -->
13
13
 
14
14
  <!-- begin link-type 'router' -->
15
15
  <router-link v-else
16
- :class="['flag', language.iso2]"
17
- :to="getRoute(language)" :title="language.tooltip"
18
- @click="$emit('click', { originalEvent: $event, language})">
16
+ :class="['flag', language.iso2]"
17
+ :to="getRoute(language)" :title="language.tooltip"
18
+ @click="$emit('click', { originalEvent: $event, language})">
19
19
  <img :src="getFlagURL(language.iso2)" :alt="language.name" />
20
20
  </router-link>
21
21
  <!-- end link-type 'router' -->
@@ -45,6 +45,11 @@ export default {
45
45
  },
46
46
  getFlagURL(isoCode) {
47
47
  return require("../assets/images/flags/flag-" + isoCode + ".svg")
48
+ },
49
+ activeLanguage(language) {
50
+ if(language.active || language.iso2 === navigator.language) {
51
+ return true
52
+ }
48
53
  }
49
54
  }
50
55
  }
@@ -61,6 +66,14 @@ export default {
61
66
  li {
62
67
  list-style-type: none;
63
68
  margin: 0;
69
+
70
+ a:not(.active) {
71
+ filter: contrast(.5);
72
+
73
+ &:hover, &:focus, &:active {
74
+ filter: none;
75
+ }
76
+ }
64
77
  }
65
78
  }
66
79
  }
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div :class="['cmd-thumbnail-scroller', {'gallery-scroller' : !allowOpenFancyBox}]">
2
+ <div :class="['cmd-thumbnail-scroller', {'gallery-scroller' : !allowOpenFancyBox, 'full-width' : fullWidth}]">
3
3
  <!-- begin CmdSlideButton -->
4
4
  <CmdSlideButton
5
5
  @click.prevent="showPrevItem"
@@ -31,9 +31,12 @@
31
31
  </template>
32
32
 
33
33
  <script>
34
- import {openFancyBox} from './CmdFancyBox.vue'
34
+ // import components
35
35
  import CmdSlideButton from "./CmdSlideButton.vue"
36
36
 
37
+ // import functions
38
+ import {openFancyBox} from './CmdFancyBox.vue'
39
+
37
40
  export default {
38
41
  name: "CmdThumbnailScroller",
39
42
  components: {
@@ -45,6 +48,15 @@ export default {
45
48
  }
46
49
  },
47
50
  props: {
51
+ /**
52
+ * activate to stretch component to full width (of parent element)
53
+ *
54
+ * @affectsStyling: true
55
+ */
56
+ fullWidth: {
57
+ type: Boolean,
58
+ default: false
59
+ },
48
60
  /**
49
61
  * list of thumbnail-scroller-items
50
62
  */
@@ -87,18 +99,18 @@ export default {
87
99
  type: Object,
88
100
  default() {
89
101
  return {
90
- "next": {
91
- "next": {
102
+ next: {
103
+ next: {
92
104
  type: "next",
93
- "iconClass": "icon-single-arrow-right",
94
- "tooltip": "Next"
105
+ iconClass: "icon-single-arrow-right",
106
+ tooltip: "Next"
95
107
  }
96
108
  },
97
- "prev": {
98
- "prev": {
109
+ prev: {
110
+ prev: {
99
111
  type: "prev",
100
- "iconClass": "icon-single-arrow-left",
101
- "tooltip": "Previous"
112
+ iconClass: "icon-single-arrow-left",
113
+ tooltip: "Previous"
102
114
  }
103
115
  }
104
116
  }
@@ -112,7 +124,6 @@ export default {
112
124
  this.thumbnails.push(thumbnail);
113
125
  }
114
126
  },
115
-
116
127
  showPrevItem() {
117
128
  const thumbnail = this.thumbnails.pop(); // remove last element of array
118
129
  if (thumbnail) {
@@ -123,10 +134,9 @@ export default {
123
134
  if (this.allowOpenFancyBox) {
124
135
  openFancyBox({fancyBoxGallery: this.thumbnails, defaultGalleryIndex: index})
125
136
  }
126
- this.$emit('click', this.thumbnails[index].imgId)
137
+ this.$emit("click", this.thumbnails[index].imgId)
127
138
  }
128
139
  },
129
-
130
140
  watch: {
131
141
  thumbnailScrollerItems: {
132
142
  handler() {
@@ -153,9 +163,9 @@ export default {
153
163
  > ul {
154
164
  overflow: hidden;
155
165
  margin: 0;
156
- display: -webkit-flex; /* Safari 6-8 */
157
166
  display: flex;
158
167
  gap: var(--grid-gap);
168
+ justify-content: space-between;
159
169
 
160
170
  > li {
161
171
  align-self: center;
@@ -175,7 +185,6 @@ export default {
175
185
  max-height: 10rem;
176
186
  }
177
187
 
178
-
179
188
  &.active {
180
189
  a {
181
190
  figcaption {
@@ -8,6 +8,7 @@
8
8
  v-model="darkMode"
9
9
  :toggle-switch="true"
10
10
  :title="!showLabel ? labelText: ''"
11
+ @update:modelValue="setColorScheme"
11
12
  />
12
13
  </div>
13
14
  </template>
@@ -63,31 +64,55 @@ export default {
63
64
  }
64
65
  },
65
66
  created() {
66
- const mql = window.matchMedia('(prefers-color-scheme: dark)')
67
+ const mql = window.matchMedia("(prefers-color-scheme: dark)")
67
68
  mql.addEventListener("change", this.onColorSchemeChange)
68
69
  this.onColorSchemeChange(mql)
70
+
71
+ // load color-scheme from local-storage
72
+ const savedColorScheme = window.localStorage.getItem("cmd-color-scheme")
73
+
74
+ if(savedColorScheme) {
75
+ this.darkMode = savedColorScheme === "dark-mode"
76
+ }
77
+
78
+ // add eventListener on html-tag (= documentElement) to react on 'toggle-color-scheme'-event
79
+ document.documentElement.addEventListener("toggle-color-scheme", this.onToggleColorScheme)
69
80
  },
70
81
  beforeUnmount() {
71
- window.matchMedia('(prefers-color-scheme: dark)').removeEventListener("change", this.onColorSchemeChange)
82
+ window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change", this.onColorSchemeChange)
83
+
84
+ // remove eventListener on html-tag (= documentElement)
85
+ document.documentElement.removeEventListener("toggle-color-scheme", this.onToggleColorScheme)
72
86
  },
73
87
  methods: {
74
88
  onColorSchemeChange(event) {
89
+ // assign browser/os-color-scheme to data-property (and toggle class on html-tag)
75
90
  this.darkMode = event.matches
76
- document.querySelector('html').classList.add(this.darkMode ? 'dark-mode' : 'light-mode')
91
+ document.documentElement.classList.add(this.darkMode ? "dark-mode" : "light-mode")
92
+ },
93
+ setColorScheme() {
94
+ // save color-scheme in local-storage to avoid toggling on page-reload
95
+ window.localStorage.setItem("cmd-color-scheme", this.darkMode ? "dark-mode": "light-mode")
96
+ },
97
+ onToggleColorScheme(event) {
98
+ // get current color-scheme from event-listener (if color-scheme is toggled by (another) switch or browser-/os-settings)
99
+ this.darkMode = event.detail === "dark-mode"
77
100
  }
78
101
  },
79
102
  watch: {
80
103
  darkMode: {
81
104
  handler() {
82
105
  // toggle classes to overwrite media-query styles for color-schemes
83
- const htmlTag = document.querySelector('html')
106
+ const htmlTag = document.documentElement
84
107
  if (this.darkMode) {
85
- htmlTag.classList.replace("light-mode", "dark-mode");
108
+ htmlTag.classList.replace("light-mode", "dark-mode")
86
109
  this.labelText = this.labelTextDarkMode
87
110
  } else {
88
- htmlTag.classList.replace("dark-mode", "light-mode");
111
+ htmlTag.classList.replace("dark-mode", "light-mode")
89
112
  this.labelText = this.labelTextLightMode
90
113
  }
114
+
115
+ // emits custom events from html-tag
91
116
  htmlTag.dispatchEvent(new CustomEvent('toggle-color-scheme', {detail: this.darkMode ? 'dark-mode' : 'light-mode'}))
92
117
  },
93
118
  immediate: true
@@ -116,8 +116,8 @@ export default {
116
116
  * helplink for CmdListOfRequirements-component
117
117
  */
118
118
  helplink: {
119
- type: String,
120
- default: ""
119
+ type: Object,
120
+ required: false
121
121
  }
122
122
  },
123
123
  methods: {
@@ -6,12 +6,7 @@
6
6
  },
7
7
  "showLabelTexts": {
8
8
  "comments": [
9
- "show a label-text"
10
- ]
11
- },
12
- "cmdHeadline": {
13
- "comments": [
14
- "properties for CmdHeadline-component"
9
+ "show a label-text for each entry"
15
10
  ]
16
11
  },
17
12
  "showLabels": {
@@ -28,5 +23,10 @@
28
23
  "comments": [
29
24
  "link physical address (street, no, zip and city) with Google Maps"
30
25
  ]
26
+ },
27
+ "cmdHeadline": {
28
+ "comments": [
29
+ "properties for CmdHeadline-component"
30
+ ]
31
31
  }
32
32
  }
@@ -157,6 +157,14 @@
157
157
  "type-property must be set to textarea"
158
158
  ]
159
159
  },
160
+ "textCharacters": {
161
+ "comments": [
162
+ "text shown in front of character-count below textarea",
163
+ "",
164
+ "type-property must be set to textarea",
165
+ "showCharactersTextarea-property must be activated"
166
+ ]
167
+ },
160
168
  "showSearchButton": {
161
169
  "comments": [
162
170
  "toggle visibility of search-button (next to search-field)"
@@ -34,6 +34,11 @@
34
34
  "icon to show error-status"
35
35
  ]
36
36
  },
37
+ "showHeadline": {
38
+ "comments": [
39
+ "toggle headline-visibility"
40
+ ]
41
+ },
37
42
  "cmdHeadline": {
38
43
  "comments": [
39
44
  "properties of CmdHeadline-component"
@@ -1,9 +1,4 @@
1
1
  {
2
- "cmdHeadline": {
3
- "comments": [
4
- "properties for CmdHeadline-component"
5
- ]
6
- },
7
2
  "link": {
8
3
  "comments": [
9
4
  "set a link to a detail page"
@@ -38,5 +33,10 @@
38
33
  "comments": [
39
34
  "additional/miscellaneous text (shown below holiday-closed-text/opening hours)"
40
35
  ]
36
+ },
37
+ "cmdHeadline": {
38
+ "comments": [
39
+ "properties for CmdHeadline-component"
40
+ ]
41
41
  }
42
42
  }
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "appendPage": {
30
30
  "comments": [
31
- "activate if page to share is not given by json-data)"
31
+ "activate if page to share is not given by json-data"
32
32
  ]
33
33
  }
34
34
  }
@@ -1,4 +1,14 @@
1
1
  {
2
+ "fullWidth": {
3
+ "comments": [
4
+ "activate to stretch component to full width (of parent element)"
5
+ ],
6
+ "annotations": {
7
+ "affectsStyling": [
8
+ "true"
9
+ ]
10
+ }
11
+ },
2
12
  "thumbnailScrollerItems": {
3
13
  "comments": [
4
14
  "list of thumbnail-scroller-items"