comand-component-library 3.3.74 → 3.3.76

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,11 +14,7 @@
14
14
  },
15
15
  {
16
16
  "image": {
17
- "src": {
18
- "small": "media/images/demo-images/small/landscape-01.jpg",
19
- "medium": "media/images/demo-images/medium/landscape-01.jpg",
20
- "large": "media/images/demo-images/large/landscape-01.jpg"
21
- },
17
+ "src": "media/images/demo-images/large/landscape-02.jpg",
22
18
  "alt": "Alternative text",
23
19
  "tooltip": "Tooltip"
24
20
  },
@@ -41,282 +41,293 @@
41
41
 
42
42
  // assign scss-variables for breakpoints (from variables.scss) to css-variables, to get access to their value in JavaScript by getComputedStyle(document.documentElement).getPropertyValue
43
43
  html {
44
- --medium-max-width: #{$medium-max-width};
45
- --small-max-width: #{$small-max-width};
44
+ --medium-max-width: #{$medium-max-width};
45
+ --small-max-width: #{$small-max-width};
46
46
  }
47
+
47
48
  /* ---------------------------------------------- BEGIN COMPONENTS AND GLOBAL STYLES -------------------------------------------------- */
48
49
  /* begin styles for main structure --------------------------------------------------------------------------------------------------------------------------------------------------- */
49
50
  body {
50
- overflow: hidden;
51
+ overflow: hidden;
51
52
  }
52
53
 
53
54
  #page-wrapper {
54
- scroll-padding-top: 10.5rem;
55
- display: flex;
56
- flex-direction: column;
57
- scroll-snap-type: y mandatory;
58
- overflow-y: scroll;
59
- height: 100vh;
60
- scroll-behavior: smooth;
61
-
62
- .cmd-site-footer {
63
- margin-top: auto;
64
- }
55
+ scroll-padding-top: 10.5rem;
56
+ display: flex;
57
+ flex-direction: column;
58
+ scroll-snap-type: y mandatory;
59
+ overflow-y: scroll;
60
+ width: 100vw;
61
+ height: 100vh;
62
+ scroll-behavior: smooth;
63
+
64
+ .cmd-site-footer {
65
+ margin-top: auto;
66
+ }
65
67
  }
66
68
 
67
69
  #component-library {
68
- /*scroll-padding-top: unset !important;*/
69
- scroll-snap-type: unset !important;
70
+ /*scroll-padding-top: unset !important;*/
71
+ scroll-snap-type: unset !important;
70
72
  }
71
73
 
72
74
  body, .cmd-site-header, .cmd-site-footer, .cmd-copyright-information {
73
- transition: background linear .5s;
75
+ transition: background linear .5s;
74
76
  }
77
+
75
78
  /* end styles for main structure --------------------------------------------------------------------------------------------------------------------------------------------------- */
76
79
 
77
80
  /* begin .avoid-scrolling --------------------------------------------------------------------------------------------------------------------------------------------------- */
78
81
  body.avoid-scrolling {
79
- overflow: hidden;
80
- height: 100%;
82
+ overflow: hidden;
83
+ height: 100%;
81
84
  }
85
+
82
86
  /* end .avoid-scrolling --------------------------------------------------------------------------------------------------------------------------------------------------- */
83
87
 
84
88
  /* begin flags --------------------------------------------------------------------------------------------------------------------------------------------------- */
85
89
  .flag {
86
- width: 3rem;
87
- background-size: 100% 100%;
88
- display: block;
90
+ width: 3rem;
91
+ background-size: 100% 100%;
92
+ display: block;
89
93
  }
94
+
90
95
  /* end flags --------------------------------------------------------------------------------------------------------------------------------------------------- */
91
96
 
92
97
  /* begin input-wrapper for .select --------------------------------------------------------------------------------------------------------------------------------------------------- */
93
98
  .select {
94
- height: var(--input-height); /* forces different browsers to render same height */
99
+ height: var(--input-height); /* forces different browsers to render same height */
95
100
  }
96
101
 
97
102
  .input-wrapper {
98
- .select {
99
- &:first-of-type {
100
- > ul {
101
- > li {
102
- &:first-child {
103
- border-top-right-radius: 0;
104
- border-bottom-right-radius: 0;
105
- }
103
+ .select {
104
+ &:first-of-type {
105
+ > ul {
106
+ > li {
107
+ &:first-child {
108
+ border-top-right-radius: 0;
109
+ border-bottom-right-radius: 0;
110
+ }
111
+ }
112
+ }
106
113
  }
107
- }
108
- }
109
-
110
- &:last-of-type {
111
- > ul {
112
- > li {
113
- &:first-child {
114
- border-top-left-radius: 0;
115
- border-bottom-left-radius: 0;
116
- }
114
+
115
+ &:last-of-type {
116
+ > ul {
117
+ > li {
118
+ &:first-child {
119
+ border-top-left-radius: 0;
120
+ border-bottom-left-radius: 0;
121
+ }
122
+ }
123
+ }
117
124
  }
118
- }
119
125
  }
120
- }
121
126
  }
127
+
122
128
  /* end input-wrapper for .select --------------------------------------------------------------------------------------------------------------------------------------------------- */
123
129
 
124
130
  /* begin product-listing --------------------------------------------------------------------------------------------------------------------------------------------------- */
125
131
  #product-listing-wrapper {
126
- > a {
127
- border: var(--default-border);
128
- text-decoration: none;
129
- display: flex;
130
- flex-direction: column;
131
- grid-column: span var(--grid-small-span);
132
- order: 1;
133
-
134
- &:hover, &:active, &:focus {
135
- border-color: var(--primary-color);
136
- background: var(--default-background-color);
132
+ > a {
133
+ border: var(--default-border);
134
+ text-decoration: none;
135
+ display: flex;
136
+ flex-direction: column;
137
+ grid-column: span var(--grid-small-span);
138
+ order: 1;
139
+
140
+ &:hover, &:active, &:focus {
141
+ border-color: var(--primary-color);
142
+ background: var(--default-background-color);
143
+ }
137
144
  }
138
- }
139
145
 
140
- img {
141
- order: 1;
142
- }
146
+ img {
147
+ order: 1;
148
+ }
143
149
 
144
- &.products-squares {
145
- > a {
146
- grid-column: span calc(var(--grid-columns) / 2);
150
+ &.products-squares {
151
+ > a {
152
+ grid-column: span calc(var(--grid-columns) / 2);
153
+ }
147
154
  }
148
- }
149
155
 
150
- &.products-lines {
151
- > a {
152
- grid-column: span var(--grid-columns);
153
- flex-direction: unset;
156
+ &.products-lines {
157
+ > a {
158
+ grid-column: span var(--grid-columns);
159
+ flex-direction: unset;
160
+
161
+ img {
162
+ margin-left: 0;
163
+ }
164
+ }
165
+
166
+ & .product-information {
167
+ display: flex;
168
+ flex-direction: column;
169
+ padding: calc(var(--default-padding) * 2);
170
+ margin-right: auto;
171
+ }
154
172
 
155
- img {
156
- margin-left: 0;
157
- }
173
+ .description {
174
+ display: block;
175
+ }
158
176
  }
159
177
 
160
- & .product-information {
161
- display: flex;
162
- flex-direction: column;
163
- padding: calc(var(--default-padding) * 2);
164
- margin-right: auto;
178
+ &.product-information {
179
+ order: 2;
165
180
  }
166
181
 
167
182
  .description {
168
- display: block;
183
+ display: none;
184
+ }
185
+
186
+ h3, div {
187
+ padding: var(--default-padding);
188
+ margin: 0;
169
189
  }
170
- }
171
-
172
- &.product-information {
173
- order: 2;
174
- }
175
-
176
- .description {
177
- display: none;
178
- }
179
-
180
- h3, div {
181
- padding: var(--default-padding);
182
- margin: 0;
183
- }
184
-
185
- h3, p {
186
- text-align: center;
187
- }
188
-
189
- .price {
190
- order: 3;
191
- margin-top: auto;
192
- }
193
-
194
- p {
195
- &:last-child {
196
- &, & > span {
197
- margin-bottom: 0;
198
- font-size: 2rem;
199
- }
190
+
191
+ h3, p {
192
+ text-align: center;
200
193
  }
201
194
 
202
- > span {
203
- &:first-child {
204
- text-decoration: line-through;
205
- font-style: italic;
206
- margin-right: var(--default-margin);
207
- opacity: var(--reduced-opacity);
208
- font-size: 1.5rem;
209
- }
195
+ .price {
196
+ order: 3;
197
+ margin-top: auto;
198
+ }
199
+
200
+ p {
201
+ &:last-child {
202
+ &, & > span {
203
+ margin-bottom: 0;
204
+ font-size: 2rem;
205
+ }
206
+ }
207
+
208
+ > span {
209
+ &:first-child {
210
+ text-decoration: line-through;
211
+ font-style: italic;
212
+ margin-right: var(--default-margin);
213
+ opacity: var(--reduced-opacity);
214
+ font-size: 1.5rem;
215
+ }
216
+ }
210
217
  }
211
- }
212
218
  }
219
+
213
220
  /* end product-listing --------------------------------------------------------------------------------------------------------------------------------------------------- */
214
221
 
215
222
  /* begin tooltip for cmd-form-element and cmd-fake-select ---------------------------------------------------------------------------------------------------------------- */
216
223
  .cmd-form-element, .cmd-fake-select, .cmd-input-group {
217
- .cmd-tooltip {
218
- position: absolute;
219
- right: 0;
220
- transform: translateY(calc(-100% - calc(var(--default-margin) / 2)));
221
- left: auto !important; /* overwrite calculated inline-styles from javascript for cmd-tooltip-component */
222
- top: 0 !important; /* overwrite calculated inline-styles from javascript for cmd-tooltip-component */
223
- }
224
-
225
- &.has-state, & + .cmd-tooltip {
226
- .label-text {
227
- > span, > a, sup {
228
- color: var(--status-color);
229
- }
224
+ .cmd-tooltip {
225
+ position: absolute;
226
+ right: 0;
227
+ transform: translateY(calc(-100% - calc(var(--default-margin) / 2)));
228
+ left: auto !important; /* overwrite calculated inline-styles from javascript for cmd-tooltip-component */
229
+ top: 0 !important; /* overwrite calculated inline-styles from javascript for cmd-tooltip-component */
230
230
  }
231
231
 
232
- &.error {
233
- --status-color: var(--error-color);
234
- }
232
+ &.has-state, & + .cmd-tooltip {
233
+ .label-text {
234
+ > span, > a, sup {
235
+ color: var(--status-color);
236
+ }
237
+ }
235
238
 
236
- &.warning {
237
- --status-color: var(--warning-color);
238
- }
239
+ &.error {
240
+ --status-color: var(--error-color);
241
+ }
239
242
 
240
- &.success {
241
- --status-color: var(--success-color);
242
- }
243
+ &.warning {
244
+ --status-color: var(--warning-color);
245
+ }
246
+
247
+ &.success {
248
+ --status-color: var(--success-color);
249
+ }
243
250
 
244
- &.info {
245
- --status-color: var(--info-color);
251
+ &.info {
252
+ --status-color: var(--info-color);
253
+ }
246
254
  }
247
- }
248
255
 
249
- & + .cmd-tooltip {
250
- border-color: var(--status-color);
251
- }
256
+ & + .cmd-tooltip {
257
+ border-color: var(--status-color);
258
+ }
252
259
  }
260
+
253
261
  /* end tooltip for cmd-form-element and cmd-fake-select ------------------------------------------------------------------------------------------------------------------ */
254
262
  /* ---------------------------------------------- END COMPONENTS AND GLOBAL STYLES -------------------------------------------------- */
255
263
 
256
264
  /* ---------------------------------------------- BEGIN MEDIA QUERIES AND BROWSER SPECIFIC STYLES -------------------------------------------------- */
257
265
  /* begin styles for medium screens --------------------------------------------------------------------------------------------------------------------------------------------------- */
258
266
  @media only screen and (max-width: $medium-max-width) {
259
- html {
260
- --grid-small-span: 3; /* default column span smaller part */
261
- --grid-large-span: 3; /* default column span larger part */
262
- }
267
+ html {
268
+ --grid-small-span: 3; /* default column span smaller part */
269
+ --grid-large-span: 3; /* default column span larger part */
270
+ }
263
271
  }
272
+
264
273
  /* end styles for medium screens --------------------------------------------------------------------------------------------------------------------------------------------------- */
265
274
 
266
275
  /* begin styles for small screens --------------------------------------------------------------------------------------------------------------------------------------------------- */
267
276
  @media only screen and (max-width: $small-max-width) {
268
- body, html {
269
- height: auto;
270
- }
271
-
272
- html {
273
- --grid-small-span: 4; /* default column span smaller part */
274
- --grid-large-span: 4; /* default column span larger part */
275
- }
276
-
277
- .section-wrapper {
278
- padding: calc(var(--default-padding) * 2) 0;
279
- }
280
-
281
- a[href^="tel"] {
282
- text-decoration: underline;
283
- }
277
+ body, html {
278
+ height: auto;
279
+ }
280
+
281
+ html {
282
+ --grid-small-span: 4; /* default column span smaller part */
283
+ --grid-large-span: 4; /* default column span larger part */
284
+ }
285
+
286
+ .section-wrapper {
287
+ padding: calc(var(--default-padding) * 2) 0;
288
+ }
289
+
290
+ a[href^="tel"] {
291
+ text-decoration: underline;
292
+ }
284
293
  }
294
+
285
295
  /* end styles for small screens --------------------------------------------------------------------------------------------------------------------------------------------------- */
286
296
  /* ---------------------------------------------- END MEDIA QUERIES AND BROWSER SPECIFIC STYLES -------------------------------------------------- */
287
297
 
288
298
  /* ---------------------------------------------- BEGIN COLORS-SCHEMES (LIGHT-/DARK-MODE) -------------------------------------------------- */
289
299
  html {
290
- &.light-mode {
291
- /* assign default colors for custom light-mode set by class */
292
- --color-scheme-text-color: var(--light-mode-text-color);
293
- --color-scheme-text-color-buttons: var(--light-mode-text-color-buttons);
294
- --color-scheme-background-color: var(--light-mode-background-color);
295
- --color-scheme-text-color-inverted: var(--dark-mode-text-color);
296
- --color-scheme-background-inverted: var(--dark-mode-background-color);
297
- --default-background-color-lightness: 97%;
298
- }
299
-
300
-
301
- --color-scheme-text-color-buttons: var(--dark-mode-text-color-buttons);
302
- --color-scheme-text-color-inverted: var(--light-mode-text-color);
303
- --color-scheme-background: var(--dark-mode-background-color);
304
- --color-scheme-background-inverted: var(--light-mode-background-color);
305
- --default-background-color-lightness: 20%;
306
- --hyperlink-color: var(--hyperlink-color-highlighted);
307
-
308
- &.dark-mode {
309
- /* assign default colors for custom dark-mode set by class */
310
- --color-scheme-text-color: var(--dark-mode-text-color);
300
+ &.light-mode {
301
+ /* assign default colors for custom light-mode set by class */
302
+ --color-scheme-text-color: var(--light-mode-text-color);
303
+ --color-scheme-text-color-buttons: var(--light-mode-text-color-buttons);
304
+ --color-scheme-background-color: var(--light-mode-background-color);
305
+ --color-scheme-text-color-inverted: var(--dark-mode-text-color);
306
+ --color-scheme-background-inverted: var(--dark-mode-background-color);
307
+ --default-background-color-lightness: 97%;
308
+ }
309
+
311
310
  --color-scheme-text-color-buttons: var(--dark-mode-text-color-buttons);
312
- --color-scheme-background-color: var(--dark-mode-background-color);
313
311
  --color-scheme-text-color-inverted: var(--light-mode-text-color);
312
+ --color-scheme-background: var(--dark-mode-background-color);
314
313
  --color-scheme-background-inverted: var(--light-mode-background-color);
315
314
  --default-background-color-lightness: 20%;
316
315
 
317
- :where(label, .label) .label-text > [class*="icon-"] {
318
- background: var(--dark-gray);
316
+ &.dark-mode {
317
+ /* assign default colors for custom dark-mode set by class */
318
+ --color-scheme-text-color: var(--dark-mode-text-color);
319
+ --color-scheme-text-color-buttons: var(--dark-mode-text-color-buttons);
320
+ --color-scheme-background-color: var(--dark-mode-background-color);
321
+ --color-scheme-text-color-inverted: var(--light-mode-text-color);
322
+ --color-scheme-background-inverted: var(--light-mode-background-color);
323
+ --default-background-color-lightness: 20%;
324
+ --hyperlink-color-lightness: 40%; /* hyperlink-color-lightness */
325
+ --hyperlink-color-highlighted-lightness: 50%; /* hyperlink-color-highlighted-lightness (used for highlighted hyperlinks) */
326
+
327
+ :where(label, .label) .label-text > [class*="icon-"] {
328
+ background: var(--dark-gray);
329
+ }
319
330
  }
320
- }
321
331
  }
332
+
322
333
  /* ---------------------------------------------- END COLORS-SCHEMES (LIGHT-/DARK-MODE) -------------------------------------------------- */
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <!-- begin cmd-back-to-top-button -->
3
3
  <transition name="fade">
4
- <a v-if="show" class="cmd-back-to-top-button" href="#" :title="iconBackToTop.tooltip" @click.prevent="onBackToTop">
4
+ <a v-if="show" class="cmd-back-to-top-button button" id="back-to-top-button" href="#" role="button" :title="iconBackToTop.tooltip" @click.prevent="onBackToTop">
5
5
  <!-- begin CmdIcon -->
6
6
  <CmdIcon :iconClass="iconBackToTop.iconClass" :type="iconBackToTop.iconType" />
7
7
  <!-- end CmdIcon -->
@@ -89,31 +89,3 @@ export default {
89
89
  }
90
90
  }
91
91
  </script>
92
-
93
- <style lang="scss">
94
- /* begin cmd-back-to-top-button ---------------------------------------------------------------------------------------- */
95
- .cmd-back-to-top-button {
96
- padding: var(--default-padding);
97
- display: inline-flex;
98
- position: fixed;
99
- right: 2rem;
100
- bottom: 2rem;
101
- text-decoration: none;
102
- z-index: 1000;
103
- border: var(--default-border);
104
- background: var(--color-scheme-background-color);
105
- border-radius: var(--full-circle);
106
- line-height: 100%;
107
-
108
- & [class*="icon-"] {
109
- line-height: 100%; /* avoids icon-bounding-box to be stretched by global line-height */
110
- }
111
-
112
- &:hover, &:active, &:focus {
113
- border-color: var(--primary-color);
114
- transition: var(--default-transition);
115
- }
116
- }
117
-
118
- /* cmd-back-to-top-button ------------------------------------------------------------------------------------------ */
119
- </style>
@@ -466,11 +466,17 @@ export default {
466
466
  }
467
467
  }
468
468
 
469
+ &.open {
470
+ > .box-header {
471
+ border-bottom-left-radius: 0;
472
+ border-bottom-right-radius: 0;
473
+ }
474
+ }
475
+
469
476
  > .box-header {
470
477
  display: flex;
471
478
  align-items: center;
472
- border-top-left-radius: var(--border-radius);
473
- border-top-right-radius: var(--border-radius);
479
+ border-radius: var(--border-radius);
474
480
  padding: calc(var(--default-padding) / 2) var(--default-padding);
475
481
  background: var(--secondary-color);
476
482
  color: var(--pure-white);
@@ -532,12 +538,12 @@ export default {
532
538
 
533
539
  img {
534
540
  display: block;
541
+ border-radius: 0;
535
542
  }
536
543
 
537
544
  .navigation {
538
545
  margin: 0;
539
546
  height: 100%;
540
- background: var(--pure-white);
541
547
 
542
548
  li {
543
549
  list-style-type: none;
@@ -547,7 +553,6 @@ export default {
547
553
  display: block;
548
554
  padding: var(--default-padding);
549
555
  text-decoration: none;
550
- background: var(--pure-white);
551
556
  border-bottom: var(--default-border);
552
557
 
553
558
  &:hover, &:active, &:focus {
@@ -632,6 +637,8 @@ export default {
632
637
 
633
638
  img {
634
639
  border: 0;
640
+ border-bottom-left-radius: 0;
641
+ border-bottom-right-radius: 0;
635
642
  }
636
643
 
637
644
  figcaption {
@@ -532,10 +532,10 @@ export default {
532
532
  height: inherit;
533
533
  border: var(--default-border);
534
534
  background: var(--color-scheme-background-color);
535
- color: var(--text-color);
535
+ color: var(--color-scheme-text-color);
536
536
 
537
537
  span, [class*="icon"] {
538
- color: var(--text-color);
538
+ color: var(--color-scheme-text-color);
539
539
  }
540
540
 
541
541
  .option-name {
@@ -553,7 +553,7 @@ export default {
553
553
  border-color: var(--primary-color);
554
554
 
555
555
  span, [class*="icon"] {
556
- color: var(--text-color);
556
+ color: var(--color-scheme-text-color-inverted);
557
557
  }
558
558
  }
559
559
  }
@@ -611,7 +611,7 @@ export default {
611
611
  background: var(--light-gray);
612
612
 
613
613
  span {
614
- color: var(--text-color);
614
+ color: var(--hyperlink-color);
615
615
  }
616
616
 
617
617
  &:hover, &:active, &:focus {
@@ -22,14 +22,13 @@
22
22
 
23
23
  <!-- begin label-text (+ required asterisk) -->
24
24
  <span v-if="(labelText || $slots.labeltext) && $attrs.type !== 'checkbox' && $attrs.type !== 'radio'"
25
- v-show="showLabel"
26
- class="label-text">
25
+ :class="['label-text', { hidden: !showLabel }]">
27
26
  <span>
28
27
  <template v-if="labelText">{{ labelText }}</template>
29
28
  <!-- begin slot 'labeltext' -->
30
29
  <slot v-else name="labeltext" />
31
30
  <!-- end slot 'labeltext' -->
32
- <sup v-if="$attrs.required">*</sup>
31
+ <sup v-if="$attrs.required" aria-hidden="true">*</sup>
33
32
  </span>
34
33
 
35
34
  <!-- begin CmdTooltipForInputElements -->
@@ -154,7 +153,7 @@
154
153
  <span class="label-text">{{ onLabel }}</span>
155
154
  <span class="label-text">{{ offLabel }}</span>
156
155
  </span>
157
- <span v-if="labelText" class="label-text">
156
+ <span v-if="labelText" :class="['label-text', {hidden: !showLabel}]">
158
157
  <span>{{ labelText }}<sup v-if="$attrs.required">*</sup></span>
159
158
  </span>
160
159
  </template>
@@ -879,12 +878,12 @@ export default {
879
878
  // set styles to avoid overwriting by has-state-colors
880
879
  &.button {
881
880
  span {
882
- color: var(--pure-white);
881
+ color: var(--color-scheme-background-color);
883
882
  }
884
883
 
885
884
  &:hover, &:active, &:focus {
886
885
  span {
887
- color: var(--text-color);
886
+ color: var(--color-scheme-text-color);
888
887
  }
889
888
  }
890
889
  }