comand-component-library 3.3.87 → 4.0.1

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 (73) hide show
  1. package/dist/comand-component-library.js +1728 -1655
  2. package/dist/comand-component-library.umd.cjs +4 -4
  3. package/dist/media/images/slideshow-images/large/slide1.jpg +0 -0
  4. package/dist/media/images/slideshow-images/large/slide2.jpg +0 -0
  5. package/dist/media/images/slideshow-images/large/slide3.jpg +0 -0
  6. package/dist/media/images/slideshow-images/large/slide4.jpg +0 -0
  7. package/dist/media/images/slideshow-images/medium/slide1.jpg +0 -0
  8. package/dist/media/images/slideshow-images/medium/slide2.jpg +0 -0
  9. package/dist/media/images/slideshow-images/medium/slide3.jpg +0 -0
  10. package/dist/media/images/slideshow-images/medium/slide4.jpg +0 -0
  11. package/dist/media/images/slideshow-images/small/slide1.jpg +0 -0
  12. package/dist/media/images/slideshow-images/small/slide2.jpg +0 -0
  13. package/dist/media/images/slideshow-images/small/slide3.jpg +0 -0
  14. package/dist/media/images/slideshow-images/small/slide4.jpg +0 -0
  15. package/dist/style.css +1 -1
  16. package/package.json +2 -2
  17. package/src/ComponentLibrary.vue +2629 -0
  18. package/src/assets/data/address-data.json +3 -3
  19. package/src/assets/data/main-navigation.json +2 -0
  20. package/src/components/CmdAddressData.vue +91 -97
  21. package/src/components/CmdAddressDataItem.vue +60 -52
  22. package/src/components/CmdBankAccountData.vue +1 -1
  23. package/src/components/CmdBox.vue +50 -14
  24. package/src/components/CmdBoxWrapper.vue +23 -9
  25. package/src/components/CmdBreadcrumbs.vue +1 -1
  26. package/src/components/CmdCompanyLogo.vue +14 -11
  27. package/src/components/CmdContainer.vue +1 -1
  28. package/src/components/CmdCookieDisclaimer.vue +1 -1
  29. package/src/components/CmdCopyrightInformation.vue +1 -1
  30. package/src/components/CmdFancyBox.vue +8 -5
  31. package/src/components/CmdForm.vue +7 -1
  32. package/src/components/CmdFormElement.vue +58 -108
  33. package/src/components/CmdFormFilters.vue +2 -1
  34. package/src/components/CmdGoogleMaps.vue +1 -1
  35. package/src/components/CmdHeadline.vue +116 -52
  36. package/src/components/CmdIcon.vue +1 -1
  37. package/src/components/CmdImage.vue +1 -1
  38. package/src/components/CmdImageGallery.vue +1 -1
  39. package/src/components/CmdImageZoom.vue +1 -1
  40. package/src/components/CmdInputGroup.vue +8 -7
  41. package/src/components/CmdListOfLinks.vue +25 -25
  42. package/src/components/CmdListOfLinksItem.vue +0 -4
  43. package/src/components/CmdListOfRequirements.vue +10 -2
  44. package/src/components/CmdLoginForm.vue +2 -1
  45. package/src/components/CmdMainNavigation.vue +38 -26
  46. package/src/components/CmdMultistepFormProgressBar.vue +50 -4
  47. package/src/components/CmdNewsletterSubscription.vue +8 -15
  48. package/src/components/CmdOpeningHours.vue +34 -19
  49. package/src/components/CmdOpeningHoursItem.vue +22 -14
  50. package/src/components/CmdPagination.vue +22 -16
  51. package/src/components/CmdProgressBar.vue +1 -1
  52. package/src/components/CmdSidebar.vue +13 -2
  53. package/src/components/CmdSiteFooter.vue +14 -14
  54. package/src/components/CmdSiteHeader.vue +14 -29
  55. package/src/components/CmdSiteSearch.vue +12 -11
  56. package/src/components/CmdSlideButton.vue +9 -7
  57. package/src/components/CmdSlideshow.vue +14 -12
  58. package/src/components/CmdSocialNetworks.vue +11 -4
  59. package/src/components/CmdSocialNetworksItem.vue +2 -7
  60. package/src/components/CmdSwitchLanguage.vue +1 -1
  61. package/src/components/CmdSystemMessage.vue +11 -6
  62. package/src/components/CmdTable.vue +64 -16
  63. package/src/components/CmdTabs.vue +2 -2
  64. package/src/components/CmdTextImageBlock.vue +3 -1
  65. package/src/components/CmdThumbnailScroller.vue +180 -155
  66. package/src/components/CmdToggleDarkMode.vue +1 -1
  67. package/src/components/CmdTooltip.vue +6 -1
  68. package/src/components/CmdUploadForm.vue +69 -43
  69. package/src/components/CmdWidthLimitationWrapper.vue +7 -3
  70. package/src/components/ComponentSettings.vue +171 -0
  71. package/src/main.js +3 -3
  72. package/src/mixins/FieldValidation.js +0 -17
  73. package/src/App.vue +0 -2119
@@ -66,8 +66,6 @@ export default {
66
66
 
67
67
  <style lang="scss">
68
68
  /* begin cmd-slide-button ---------------------------------------------------------------------------------------- */
69
- @import '../assets/styles/variables';
70
-
71
69
  .cmd-slide-button {
72
70
  &.button {
73
71
  font-size: 2rem;
@@ -84,10 +82,6 @@ export default {
84
82
  align-self: center;
85
83
  }
86
84
 
87
- &:hover, &:active, &:focus {
88
- transition: var(--default-transition);
89
- }
90
-
91
85
  &.prev {
92
86
  left: 0;
93
87
  top: 0;
@@ -111,7 +105,15 @@ export default {
111
105
  }
112
106
  }
113
107
 
114
- @media only screen and (max-width: $small-max-width) {
108
+
109
+ }
110
+ </style>
111
+
112
+ <style lang="scss">
113
+ @import '../assets/styles/variables';
114
+
115
+ @media only screen and (max-width: $small-max-width) {
116
+ .cmd-slide-button {
115
117
  &.button {
116
118
  width: auto; /* overwrite button-behavior for small-devices from frontend-framework */
117
119
  }
@@ -313,10 +313,8 @@ export default {
313
313
  }
314
314
  </script>
315
315
 
316
- <style lang="scss">
316
+ <style>
317
317
  /* begin cmd-slideshow ---------------------------------------------------------------------------------------- */
318
- @import '../assets/styles/variables';
319
-
320
318
  .cmd-slideshow {
321
319
  figure a, img {
322
320
  display: block;
@@ -375,12 +373,11 @@ export default {
375
373
 
376
374
  .image-wrapper {
377
375
  width: 100%;
378
- min-width: 11.1rem; // assure to be as wide as action-buttons in edit-mode
376
+ min-width: 11.1rem; /* assure to be as wide as action-buttons in edit-mode */
379
377
  min-height: 50rem;
380
378
  }
381
379
 
382
380
  > ol {
383
- display: -webkit-flex; /* Safari 6-8 */
384
381
  display: flex;
385
382
  margin: 0 auto;
386
383
  position: absolute;
@@ -404,7 +401,7 @@ export default {
404
401
  }
405
402
 
406
403
  &:hover, &:active, &:focus, &.active {
407
- border-color: var(--pure-white);
404
+ border-color: var(--hyperlink-color);
408
405
 
409
406
  a {
410
407
  background: var(--pure-white);
@@ -448,12 +445,6 @@ export default {
448
445
  background: var(--pure-white-reduced-opacity);
449
446
  }
450
447
  }
451
-
452
- @media only screen and (max-width: $medium-max-width) {
453
- figcaption {
454
- font-size: 2rem;
455
- }
456
- }
457
448
  }
458
449
 
459
450
  .edit-mode .cmd-slideshow .image-wrapper.edit-items {
@@ -464,6 +455,17 @@ export default {
464
455
  font-size: 3rem;
465
456
  }
466
457
  }
458
+ </style>
467
459
 
460
+ <style lang="scss">
461
+ @import '../assets/styles/variables';
462
+
463
+ @media only screen and (max-width: $medium-max-width) {
464
+ .cmd-slideshow {
465
+ figcaption {
466
+ font-size: 2rem;
467
+ }
468
+ }
469
+ }
468
470
  /* end cmd-slideshow ------------------------------------------------------------------------------------------ */
469
471
  </style>
@@ -21,12 +21,17 @@
21
21
 
22
22
  <!-- begin list of networks -->
23
23
  <ul v-if="validNetworks.length > 0" :class="['button-wrapper', {'no-gap': !useGap}]">
24
+ <!-- begin cmd-social-networks (default view) -->
24
25
  <CmdSocialNetworksItem
25
26
  v-if="!editModeContext"
26
27
  v-for="(entry, index) in validNetworks"
27
28
  :key="index"
28
29
  :network="entry"
29
- />
30
+ :userMustAcceptDataPrivacy="userMustAcceptDataPrivacy"
31
+ :buttonTextAlign="buttonTextAlign"
32
+ :dataPrivacyAccepted="dataPrivacyAccepted"
33
+ />
34
+ <!-- end cmd-social-networks (default view) -->
30
35
 
31
36
  <!-- begin edit-mode -->
32
37
  <EditComponentWrapper
@@ -254,8 +259,6 @@ export default {
254
259
 
255
260
  <style lang="scss">
256
261
  /* begin cmd-social-networks -------------------------------------------------------------------------------------------- */
257
- @import "../assets/styles/variables";
258
-
259
262
  .cmd-social-networks {
260
263
  display: flex;
261
264
  flex-direction: column;
@@ -285,7 +288,7 @@ export default {
285
288
  margin: 0;
286
289
  }
287
290
 
288
- &.text-align-right {
291
+ &.text-align-right {
289
292
  flex-direction: row-reverse;
290
293
  }
291
294
  }
@@ -401,6 +404,10 @@ export default {
401
404
  --social-network-color: #0077b5;
402
405
  }
403
406
  }
407
+ </style>
408
+
409
+ <style lang="scss">
410
+ @import "../assets/styles/variables";
404
411
 
405
412
  @container (max-width: #{$small-max-width}) {
406
413
  .button-wrapper {
@@ -10,11 +10,7 @@
10
10
  :title="tooltip(network.tooltip)">
11
11
 
12
12
  <!-- begin CmdIcon -->
13
- <CmdIcon
14
- v-if="network.iconClass"
15
- :iconClass="network.iconClass"
16
- :type="network.iconType"
17
- />
13
+ <CmdIcon v-if="network.iconClass" :iconClass="network.iconClass" :type="network.iconType" />
18
14
  <!-- end CmdIcon -->
19
15
 
20
16
  <span v-if="network.linkText">{{ network.linkText }}</span>
@@ -46,8 +42,7 @@ export default {
46
42
  * toggle if user has to accept that anonymous data will be send while sharing
47
43
  */
48
44
  userMustAcceptDataPrivacy: {
49
- type: Boolean,
50
- default: true
45
+ type: Boolean
51
46
  },
52
47
  /**
53
48
  * alignment for buttons
@@ -80,7 +80,7 @@ export default {
80
80
  }
81
81
  </script>
82
82
 
83
- <style lang="scss">
83
+ <style>
84
84
  /* begin cmd-switch-language ---------------------------------------------------------------------------------------- */
85
85
  .cmd-switch-language {
86
86
  ul {
@@ -130,9 +130,10 @@ export default {
130
130
  }
131
131
  </script>
132
132
 
133
- <style lang="scss">
133
+ <style>
134
134
  /* begin cmd-system-message ---------------------------------------------------------------------------------------- */
135
135
  .cmd-system-message {
136
+ display: inline-flex;
136
137
  margin: var(--default-margin) 0;
137
138
  align-items: center;
138
139
 
@@ -158,31 +159,35 @@ export default {
158
159
  text-decoration: none;
159
160
  z-index: 100;
160
161
  line-height: 1;
162
+ background: var(--pure-white);
163
+ border-radius: var(--full-circle);
161
164
 
162
165
  [class*="icon-"] {
163
- color: var(--pure-white);
166
+ color: var(--default-text-color);
164
167
  }
165
168
 
166
169
  &:hover, &:active, &:focus {
170
+ background: none;
171
+
167
172
  [class*="icon-"] {
168
- color: var(--hyperlink-color);
173
+ color: var(--pure-white);
169
174
  }
170
175
  }
171
176
  }
172
177
 
173
178
  &.warning {
174
179
  > a:not(.button) {
175
- border-color: var(--text-color);
180
+ border-color: var(--default-text-color);
176
181
 
177
182
  [class*="icon-"] {
178
- color: var(--text-color);
183
+ color: var(--default-text-color);
179
184
  }
180
185
 
181
186
  &:hover, &:active, &:focus {
182
187
  border-color: var(--hyperlink-color);
183
188
 
184
189
  [class*="icon-"] {
185
- color: var(--hyperlink-color);
190
+ color: var(--pure-white);
186
191
  }
187
192
  }
188
193
  }
@@ -20,7 +20,7 @@
20
20
  <!-- end CmdIcon -->
21
21
  </a>
22
22
  </div>
23
- <div class="inner-wrapper" ref="innerWrapper">
23
+ <div class="inner-wrapper" ref="innerWrapper" @scroll="updatePosition">
24
24
  <!-- begin CmdSlideButton -->
25
25
  <CmdSlideButton
26
26
  v-if="showSlideButtons"
@@ -83,7 +83,7 @@ export default {
83
83
  data() {
84
84
  return {
85
85
  showTableData: true,
86
- fullWidth: this.fullWidthOnDefault,
86
+ fullWidth: false,
87
87
  hasOverflow: false
88
88
  }
89
89
  },
@@ -190,8 +190,6 @@ export default {
190
190
  }
191
191
  },
192
192
  mounted() {
193
- console.log("this.$refs.innerWrapper.clientWidth", this.$refs.innerWrapper.clientWidth)
194
- console.log("this.$refs.table.clientWidth", this.$refs.table.clientWidth)
195
193
  this.hasOverflow = this.$refs.table.clientWidth > this.$refs.innerWrapper.clientWidth
196
194
  },
197
195
  computed: {
@@ -209,16 +207,70 @@ export default {
209
207
  },
210
208
  methods: {
211
209
  scrollLeft() {
212
- this.$refs.table.scrollLeft = 0
210
+ this.$refs.innerWrapper.scrollLeft = 0
211
+ this.$refs.table.previousElementSibling.style.cssText = "left: 0;"
212
+ this.updatePosition()
213
213
  },
214
214
  scrollRight() {
215
- this.$refs.table.scrollRight = 0
215
+ this.$refs.table.querySelector("th:last-child").scrollIntoView()
216
+ this.$refs.table.nextElementSibling.style.cssText = "right: auto;"
217
+ this.updatePosition()
218
+ },
219
+ updatePosition() {
220
+ const leftSlidebutton = this.$refs.table.previousElementSibling
221
+ const rightSlidebutton = this.$refs.table.nextElementSibling
222
+ const innerWrapper = this.$refs.innerWrapper
223
+
224
+ const parentRect = innerWrapper.getBoundingClientRect();
225
+ const newRight = parentRect.width + innerWrapper.scrollLeft - rightSlidebutton.getBoundingClientRect().width
226
+ const newLeft = innerWrapper.scrollLeft
227
+
228
+ console.log("parentRect", parentRect)
229
+
230
+ leftSlidebutton.style.left = `${newLeft}px`
231
+ rightSlidebutton.style.left = `${newRight}px`;
232
+
233
+ if(newLeft === 0) {
234
+ leftSlidebutton.style.display = "none"
235
+ } else {
236
+ leftSlidebutton.style.display = "flex"
237
+ }
238
+
239
+ if(newLeft === innerWrapper.scrollLeftMax) {
240
+ rightSlidebutton.style.display = "none"
241
+ } else {
242
+ rightSlidebutton.style.display = "flex"
243
+ }
244
+
245
+ // const parentRect = this.$refs.innerWrapper.getBoundingClientRect();
246
+ // const rightSlidebutton = this.$refs.table.nextElementSibling.getBoundingClientRect();
247
+ // const leftSlidebutton = this.$refs.table.previousElementSibling.getBoundingClientRect();
248
+ //
249
+ // // Calculate the new right position
250
+ // const newRight = rightSlidebutton.width + parentRect.right;
251
+ // const newLeft = parentRect.width - parentRect.left;
252
+ // console.log("parentRect.width", parentRect.width)
253
+ // console.log("parentRect.right", parentRect.right)
254
+ // console.log("parentRect.left", parentRect.left)
255
+ //
256
+ // // Apply the new right position
257
+ // this.$refs.table.nextElementSibling.style.left = `${newRight}px`;
258
+ // this.$refs.table.previousElementSibling.style.right = `${newLeft}px`;
259
+ }
260
+
261
+ },
262
+ watch: {
263
+ fullWidthOnDefault: {
264
+ handler() {
265
+ this.fullWidth = this.fullWidthOnDefault
266
+ },
267
+ immediate: true
216
268
  }
217
269
  }
218
270
  }
219
271
  </script>
220
272
 
221
- <style lang="scss">
273
+ <style>
222
274
  /* begin cmd-table-wrapper ---------------------------------------------------------------------------------------- */
223
275
  .cmd-table-wrapper {
224
276
  display: inline-flex;
@@ -264,11 +316,11 @@ export default {
264
316
 
265
317
  .cmd-slide-button {
266
318
  left: 0;
267
- }
268
319
 
269
- .cmd-slide-button:last-child {
270
- right: 0;
271
- left: auto;
320
+ &:last-child {
321
+ right: 0;
322
+ left: auto;
323
+ }
272
324
  }
273
325
 
274
326
  table {
@@ -300,11 +352,7 @@ export default {
300
352
 
301
353
  &.has-overflow {
302
354
  .cmd-slide-button {
303
- display: block;
304
- }
305
-
306
- .inner-wrapper {
307
- padding: 0 4rem;
355
+ display: flex;
308
356
  }
309
357
  }
310
358
  }
@@ -103,11 +103,11 @@ export default {
103
103
  }
104
104
  </script>
105
105
 
106
- <style lang="scss">
106
+ <style>
107
107
  /* begin cmd-tabs ------------------------------------------------------------------------------------------ */
108
108
  .cmd-tabs {
109
109
  > ul {
110
- margin-bottom: 0;
110
+ margin: 0;
111
111
  display: flex;
112
112
 
113
113
  > li {
@@ -78,6 +78,8 @@ export default {
78
78
  },
79
79
  /**
80
80
  * text-alignment for paragraph/continuous text
81
+ *
82
+ * @allowedValues: "left", "center", "right"
81
83
  */
82
84
  paragraphTextAlign: {
83
85
  type: String,
@@ -151,7 +153,7 @@ export default {
151
153
  }
152
154
  </script>
153
155
 
154
- <style lang="scss">
156
+ <style>
155
157
  .edit-mode .cmd-text-image-block textarea {
156
158
  width: 100%;
157
159
  }