comand-component-library 3.3.87 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
  }