comand-component-library 3.3.7 → 3.3.9
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/comand-component-library.css +1 -1
- package/dist/comand-component-library.umd.min.js +1 -1
- package/package.json +2 -2
- package/src/App.vue +97 -28
- package/src/assets/data/address-data.json +8 -0
- package/src/assets/data/image-gallery.json +44 -20
- package/src/assets/data/image.json +28 -0
- package/src/assets/data/slideshow.json +68 -51
- package/src/assets/data/thumbnail-scroller.json +96 -40
- package/src/assets/styles/global-styles.scss +1 -1
- package/src/components/CmdAddressData.vue +45 -2
- package/src/components/CmdBox.vue +112 -62
- package/src/components/CmdCompanyLogo.vue +19 -2
- package/src/components/CmdFakeSelect.vue +2 -2
- package/src/components/CmdFancyBox.vue +41 -43
- package/src/components/CmdFormElement.vue +52 -42
- package/src/components/CmdFormFilters.vue +1 -1
- package/src/components/CmdHeadline.vue +29 -4
- package/src/components/CmdIcon.vue +4 -4
- package/src/components/CmdImage.vue +55 -0
- package/src/components/CmdImageGallery.vue +16 -15
- package/src/components/CmdImageZoom.vue +29 -13
- package/src/components/CmdInputGroup.vue +1 -2
- package/src/components/CmdListOfRequirements.vue +1 -1
- package/src/components/CmdLoginForm.vue +1 -1
- package/src/components/CmdMainNavigation.vue +3 -3
- package/src/components/CmdMultistepFormProgressBar.vue +9 -9
- package/src/components/CmdPager.vue +124 -88
- package/src/components/CmdShareButtons.vue +1 -1
- package/src/components/CmdSlideButton.vue +10 -3
- package/src/components/CmdSlideshow.vue +38 -31
- package/src/components/CmdSystemMessage.vue +32 -16
- package/src/components/CmdTable.vue +1 -1
- package/src/components/CmdTabs.vue +11 -11
- package/src/components/CmdThumbnailScroller.vue +15 -12
- package/src/components/CmdTooltip.vue +3 -3
- package/src/components/CmdUploadForm.vue +20 -20
- package/src/documentation/generated/CmdBoxPropertyDescriptions.json +7 -0
- package/src/documentation/generated/CmdFancyBoxPropertyDescriptions.json +3 -13
- package/src/documentation/generated/CmdHeadlinePropertyDescriptions.json +10 -0
- package/src/documentation/generated/CmdIconPropertyDescriptions.json +1 -1
- package/src/documentation/generated/CmdImagePropertyDescriptions.json +12 -0
- package/src/documentation/generated/CmdImageZoomPropertyDescriptions.json +4 -4
- package/src/documentation/generated/CmdPagerPropertyDescriptions.json +14 -9
- package/src/index.js +3 -1
- package/src/mixins/CmdAddressData/DefaultMessageProperties.js +5 -2
- package/src/mixins/CmdBox/DefaultMessageProperties.js +3 -1
- package/src/mixins/CmdPager/DefaultMessageProperties.js +10 -0
@@ -1,58 +1,114 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
|
-
"
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
"image": {
|
4
|
+
"id": 1,
|
5
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
6
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
7
|
+
"alt": "Alternative Text 1"
|
8
|
+
},
|
9
|
+
"figcaption": {
|
10
|
+
"show": true,
|
11
|
+
"position": "bottom",
|
12
|
+
"text": "Figcaption 1",
|
13
|
+
"textAlign": "center"
|
14
|
+
}
|
8
15
|
},
|
9
16
|
{
|
10
|
-
"
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
"image": {
|
18
|
+
"id": 2,
|
19
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
20
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
21
|
+
"alt": "Alternative Text 2"
|
22
|
+
},
|
23
|
+
"figcaption": {
|
24
|
+
"show": true,
|
25
|
+
"position": "bottom",
|
26
|
+
"text": "Figcaption 2",
|
27
|
+
"textAlign": "center"
|
28
|
+
}
|
15
29
|
},
|
16
30
|
{
|
17
|
-
"
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
31
|
+
"image": {
|
32
|
+
"id": 3,
|
33
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
34
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
35
|
+
"alt": "Alternative Text 3"
|
36
|
+
},
|
37
|
+
"figcaption": {
|
38
|
+
"show": true,
|
39
|
+
"position": "bottom",
|
40
|
+
"text": "Figcaption 3",
|
41
|
+
"textAlign": "center"
|
42
|
+
}
|
22
43
|
},
|
23
44
|
{
|
24
|
-
"
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
45
|
+
"image": {
|
46
|
+
"id": 4,
|
47
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
48
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
49
|
+
"alt": "Alternative Text 4"
|
50
|
+
},
|
51
|
+
"figcaption": {
|
52
|
+
"show": true,
|
53
|
+
"position": "bottom",
|
54
|
+
"text": "Figcaption 4",
|
55
|
+
"textAlign": "center"
|
56
|
+
}
|
29
57
|
},
|
30
58
|
{
|
31
|
-
"
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
59
|
+
"image": {
|
60
|
+
"id": 5,
|
61
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
62
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
63
|
+
"alt": "Alternative Text 5"
|
64
|
+
},
|
65
|
+
"figcaption": {
|
66
|
+
"show": true,
|
67
|
+
"position": "bottom",
|
68
|
+
"text": "Figcaption 5",
|
69
|
+
"textAlign": "center"
|
70
|
+
}
|
36
71
|
},
|
37
72
|
{
|
38
|
-
"
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
73
|
+
"image": {
|
74
|
+
"id": 6,
|
75
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
76
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
77
|
+
"alt": "Alternative Text 6"
|
78
|
+
},
|
79
|
+
"figcaption": {
|
80
|
+
"show": true,
|
81
|
+
"position": "bottom",
|
82
|
+
"text": "Figcaption 6",
|
83
|
+
"textAlign": "center"
|
84
|
+
}
|
43
85
|
},
|
44
86
|
{
|
45
|
-
"
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
87
|
+
"image": {
|
88
|
+
"id": 7,
|
89
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
90
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
91
|
+
"alt": "Alternative Text 7"
|
92
|
+
},
|
93
|
+
"figcaption": {
|
94
|
+
"show": true,
|
95
|
+
"position": "bottom",
|
96
|
+
"text": "Figcaption 7",
|
97
|
+
"textAlign": "center"
|
98
|
+
}
|
50
99
|
},
|
51
100
|
{
|
52
|
-
"
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
101
|
+
"image": {
|
102
|
+
"id": 8,
|
103
|
+
"srcImageSmall": "media/images/thumbnail-scroller/thumbnail/logo-cmd-blue-landscape.jpg",
|
104
|
+
"srcImageLarge": "media/images/thumbnail-scroller/original/logo-cmd-blue-landscape.jpg",
|
105
|
+
"alt": "Alternative Text 8"
|
106
|
+
},
|
107
|
+
"figcaption": {
|
108
|
+
"show": true,
|
109
|
+
"position": "bottom",
|
110
|
+
"text": "Figcaption 8",
|
111
|
+
"textAlign": "center"
|
112
|
+
}
|
57
113
|
}
|
58
114
|
]
|
@@ -293,7 +293,7 @@ html {
|
|
293
293
|
--color-scheme-background-inverted: var(--light-mode-background-color);
|
294
294
|
--default-background-color-lightness: 20%;
|
295
295
|
|
296
|
-
:where(label, .label) .label-text > [class*="icon"] {
|
296
|
+
:where(label, .label) .label-text > [class*="icon-"] {
|
297
297
|
background: var(--dark-gray);
|
298
298
|
}
|
299
299
|
}
|
@@ -122,10 +122,44 @@
|
|
122
122
|
|
123
123
|
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.email')}}</span>
|
124
124
|
</dt>
|
125
|
-
<dd
|
125
|
+
<dd v-if="addressData.email?.value" class="email" >
|
126
126
|
<a :href="'mailto:' + addressData.email?.value" class="email">{{ addressData.email.value }}</a>
|
127
127
|
</dd>
|
128
128
|
<!-- end email -->
|
129
|
+
|
130
|
+
<!-- begin web site -->
|
131
|
+
<dt v-if="addressData.website?.value">
|
132
|
+
<!-- begin CmdIcon -->
|
133
|
+
<CmdIcon
|
134
|
+
v-if="addressData.website.iconClass && showLabelIcons"
|
135
|
+
:iconClass="addressData.website.iconClass"
|
136
|
+
:type="addressData.website.iconType"
|
137
|
+
/>
|
138
|
+
<!-- end CmdIcon -->
|
139
|
+
|
140
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.website')}}</span>
|
141
|
+
</dt>
|
142
|
+
<dd v-if="addressData.website?.value" >
|
143
|
+
<a :href="addressData.website.value" target="_blank" :title="getMessage('cmdaddressdata.title.visit_website')">{{ websiteUrlText }}</a>
|
144
|
+
</dd>
|
145
|
+
<!-- end web site -->
|
146
|
+
|
147
|
+
<!-- begin custom data -->
|
148
|
+
<dt v-if="addressData.custom?.value">
|
149
|
+
<!-- begin CmdIcon -->
|
150
|
+
<CmdIcon
|
151
|
+
v-if="addressData.custom.iconClass && showLabelIcons"
|
152
|
+
:iconClass="addressData.custom.iconClass"
|
153
|
+
:type="addressData.custom.iconType"
|
154
|
+
/>
|
155
|
+
<!-- end CmdIcon -->
|
156
|
+
|
157
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.custom')}}</span>
|
158
|
+
</dt>
|
159
|
+
<dd v-if="addressData.custom?.value" >
|
160
|
+
{{ addressData.custom.value }}
|
161
|
+
</dd>
|
162
|
+
<!-- end custom data -->
|
129
163
|
</dl>
|
130
164
|
<!-- end list with labels -->
|
131
165
|
|
@@ -159,6 +193,12 @@
|
|
159
193
|
<li v-if="addressData.email?.value" :title="getMessage('cmdaddressdata.title.send_email')">
|
160
194
|
<a :href="'mailto:' + addressData.email.value" class="email">{{ addressData.email.value }}</a>
|
161
195
|
</li>
|
196
|
+
<li v-if="addressData.website?.value" :title="getMessage('cmdaddressdata.title.visit_website')">
|
197
|
+
<a :href="addressData.website.value" target="_blank">{{ websiteUrlText }}</a>
|
198
|
+
</li>
|
199
|
+
<li v-if="addressData.custom?.value">
|
200
|
+
{{ addressData.custom.value }}
|
201
|
+
</li>
|
162
202
|
</ul>
|
163
203
|
<!-- end list without labels -->
|
164
204
|
</address>
|
@@ -229,6 +269,9 @@ export default {
|
|
229
269
|
computed: {
|
230
270
|
locateAddress() {
|
231
271
|
return "https://www.google.com/maps/place/" + this.addressData.address.streetNo + ", " + this.addressData.address.zip + " " + this.addressData.address.city
|
272
|
+
},
|
273
|
+
websiteUrlText() {
|
274
|
+
return this.addressData.website?.value.replace("https://", "")
|
232
275
|
}
|
233
276
|
}
|
234
277
|
}
|
@@ -245,7 +288,7 @@ export default {
|
|
245
288
|
align-items: center;
|
246
289
|
|
247
290
|
&.address {
|
248
|
-
align-
|
291
|
+
align-self: flex-start;
|
249
292
|
}
|
250
293
|
}
|
251
294
|
}
|
@@ -1,66 +1,85 @@
|
|
1
1
|
<template>
|
2
2
|
<!-- begin boxType 'content' -->
|
3
3
|
<div v-if="boxType === 'content'"
|
4
|
-
:class="[
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
4
|
+
:class="[
|
5
|
+
'cmd-box box content',
|
6
|
+
{open : open, collapsible: collapsible,
|
7
|
+
'stretch-vertically': stretchVertically && !collapsible,
|
8
|
+
'stretch-horizontally': stretchHorizontally}]"
|
9
|
+
>
|
10
|
+
<!-- begin collapsible header with slot -->
|
11
|
+
<a v-if="collapsible"
|
12
|
+
href="#"
|
13
|
+
class="box-header"
|
14
|
+
:title="open ? iconOpen.tooltip : iconClosed.tooltip"
|
15
|
+
@click.prevent="toggleContentVisibility"
|
16
|
+
>
|
17
|
+
<!-- begin slot 'header' -->
|
18
|
+
<slot v-if="useSlots?.includes('header')" name="header"></slot>
|
19
|
+
<!-- end slot 'header' -->
|
19
20
|
|
20
|
-
<!-- begin
|
21
|
-
<
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
/>
|
36
|
-
<!-- end CmdHeadline -->
|
21
|
+
<!-- begin CmdHeadline -->
|
22
|
+
<CmdHeadline
|
23
|
+
v-else-if="cmdHeadline?.headlineText"
|
24
|
+
v-bind="cmdHeadline"
|
25
|
+
/>
|
26
|
+
<!-- end CmdHeadline -->
|
27
|
+
|
28
|
+
<!-- begin CmdIcon -->
|
29
|
+
<CmdIcon
|
30
|
+
:iconClass="open ? iconOpen.iconClass : iconClosed.iconClass"
|
31
|
+
:type="open ? iconOpen.iconType : iconClosed.iconType"
|
32
|
+
/>
|
33
|
+
<!-- end CmdIcon -->
|
34
|
+
</a>
|
35
|
+
<!-- end collapsible header with slot -->
|
37
36
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
<!-- end header
|
37
|
+
<!-- begin default header with slot -->
|
38
|
+
<div v-else class="box-header">
|
39
|
+
<!-- begin slot 'header' -->
|
40
|
+
<slot v-if="useSlots?.includes('header')" name="header"></slot>
|
41
|
+
<!-- end slot 'header' -->
|
43
42
|
|
44
43
|
<!-- begin CmdHeadline -->
|
45
44
|
<CmdHeadline
|
46
|
-
v-else-if="
|
47
|
-
class="box-header"
|
45
|
+
v-else-if="cmdHeadline?.headlineText"
|
48
46
|
v-bind="cmdHeadline"
|
49
47
|
/>
|
50
48
|
<!-- end CmdHeadline -->
|
51
|
-
</
|
49
|
+
</div>
|
50
|
+
<!-- end default header with slot -->
|
52
51
|
|
53
52
|
<!-- begin box-body -->
|
54
53
|
<div v-if="open" class="box-body" aria-expanded="true" role="article">
|
55
54
|
<!-- begin slot 'body' -->
|
56
|
-
<slot name="body">
|
57
|
-
<transition :name="toggleTransition">
|
58
|
-
<
|
59
|
-
|
60
|
-
|
61
|
-
|
55
|
+
<slot v-if="useSlots?.includes('body')" name="body">
|
56
|
+
<transition-group :name="toggleTransition">
|
57
|
+
<p :class="{
|
58
|
+
'cutoff-text': cutoffTextLines > 0,
|
59
|
+
'fade-last-line': fadeLastLine && !showCutOffText,
|
60
|
+
'show-text' : showCutOffText
|
61
|
+
}">
|
62
|
+
{{ textBody }}
|
63
|
+
</p>
|
64
|
+
<a v-if="cutoffTextLines > 0" href="#" @click.prevent="toggleCutOffText">
|
65
|
+
{{ showCutOffText ? getMessage("cmdbox.contentbox.collapse_text") : getMessage("cmdbox.contentbox.expand_text") }}
|
66
|
+
</a>
|
67
|
+
</transition-group>
|
62
68
|
</slot>
|
63
69
|
<!-- end slot 'body' -->
|
70
|
+
|
71
|
+
<template v-else>
|
72
|
+
<img v-if="image" :src="image.src" :alt="image.altText"/>
|
73
|
+
|
74
|
+
<!-- begin CmdHeadline -->
|
75
|
+
<CmdHeadline
|
76
|
+
v-if="cmdHeadline?.headlineText"
|
77
|
+
v-bind="cmdHeadline"
|
78
|
+
/>
|
79
|
+
<!-- end CmdHeadline -->
|
80
|
+
|
81
|
+
<p v-if="textBody">{{ textBody }}</p>
|
82
|
+
</template>
|
64
83
|
</div>
|
65
84
|
<!-- end box-body -->
|
66
85
|
|
@@ -73,7 +92,10 @@
|
|
73
92
|
<!-- end boxType 'content' -->
|
74
93
|
|
75
94
|
<!-- begin boxType 'product' -->
|
76
|
-
<a v-else-if="boxType === 'product' && product"
|
95
|
+
<a v-else-if="boxType === 'product' && product"
|
96
|
+
:class="['cmd-box box product', {'stretch-vertically': stretchVertically, 'stretch-horizontally': stretchHorizontally}]"
|
97
|
+
href="#"
|
98
|
+
@click.prevent="clickOnProduct(product)">
|
77
99
|
<div class="box-header flex-container vertical">
|
78
100
|
<figure v-if="product.image !== undefined">
|
79
101
|
<img :src="product.image.src" :alt="product.image.alt"/>
|
@@ -150,7 +172,8 @@ export default {
|
|
150
172
|
data() {
|
151
173
|
return {
|
152
174
|
open: this.collapsible ? this.collapsingBoxesOpen : true,
|
153
|
-
active: true
|
175
|
+
active: true,
|
176
|
+
showCutOffText: false
|
154
177
|
}
|
155
178
|
},
|
156
179
|
emits: ["click", "toggle-collapse"],
|
@@ -235,6 +258,15 @@ export default {
|
|
235
258
|
type: Array,
|
236
259
|
required: false
|
237
260
|
},
|
261
|
+
/**
|
262
|
+
* image-object for box-body of content-box
|
263
|
+
*
|
264
|
+
* src and altText must be set if image is sed
|
265
|
+
*/
|
266
|
+
image: {
|
267
|
+
type: Object,
|
268
|
+
required: false
|
269
|
+
},
|
238
270
|
/**
|
239
271
|
* String used as content (placed in a paragraph-tag) for box-body
|
240
272
|
*
|
@@ -282,8 +314,8 @@ export default {
|
|
282
314
|
default: true
|
283
315
|
},
|
284
316
|
/**
|
285
|
-
|
286
|
-
|
317
|
+
* allow box to be stretched as high as parent-element
|
318
|
+
*/
|
287
319
|
stretchVertically: {
|
288
320
|
type: Boolean,
|
289
321
|
default: true
|
@@ -312,6 +344,11 @@ export default {
|
|
312
344
|
|
313
345
|
this.$emit('toggle-collapse', this.open)
|
314
346
|
},
|
347
|
+
// toggle cutofftext (between full and faded text)
|
348
|
+
toggleCutOffText() {
|
349
|
+
this.showCutOffText = !this.showCutOffText
|
350
|
+
this.$emit('toggle-cutofftext', this.showCutOffText)
|
351
|
+
},
|
315
352
|
// for boxType === product
|
316
353
|
clickOnProduct(product) {
|
317
354
|
this.$emit('click', product)
|
@@ -338,6 +375,7 @@ export default {
|
|
338
375
|
|
339
376
|
&.stretch-horizontally {
|
340
377
|
display: flex;
|
378
|
+
width: 100%;
|
341
379
|
}
|
342
380
|
|
343
381
|
&.stretch-vertically {
|
@@ -376,7 +414,7 @@ export default {
|
|
376
414
|
}
|
377
415
|
}
|
378
416
|
|
379
|
-
> .box-header
|
417
|
+
> .box-header {
|
380
418
|
display: flex;
|
381
419
|
align-items: center;
|
382
420
|
border-top-left-radius: var(--border-radius);
|
@@ -395,7 +433,11 @@ export default {
|
|
395
433
|
margin-bottom: 0;
|
396
434
|
}
|
397
435
|
|
398
|
-
> .toggle-icon
|
436
|
+
> .toggle-icon {
|
437
|
+
margin-left: auto;
|
438
|
+
}
|
439
|
+
|
440
|
+
> .toggle-icon, .toggle-icon > [class*="icon-"] {
|
399
441
|
font-size: var(--font-size-small);
|
400
442
|
}
|
401
443
|
}
|
@@ -405,6 +447,8 @@ export default {
|
|
405
447
|
padding: 0;
|
406
448
|
|
407
449
|
p.cutoff-text {
|
450
|
+
padding: var(--default-padding);
|
451
|
+
margin: 0;
|
408
452
|
overflow: hidden;
|
409
453
|
height: calc(var(--line-of-text-height) * v-bind(cutoffTextLines));
|
410
454
|
|
@@ -414,14 +458,20 @@ export default {
|
|
414
458
|
position: absolute;
|
415
459
|
left: 0;
|
416
460
|
bottom: 0;
|
417
|
-
height: var(--line-of-text-height);
|
418
|
-
background: linear-gradient(to bottom, transparent 0%, var(--default-background-color)
|
461
|
+
height: calc(var(--line-of-text-height) * 3);
|
462
|
+
background: linear-gradient(to bottom, transparent 0%, var(--default-background-color) 100%);
|
419
463
|
}
|
420
|
-
}
|
421
464
|
|
422
|
-
|
423
|
-
|
424
|
-
|
465
|
+
&.show-text {
|
466
|
+
height: auto;
|
467
|
+
}
|
468
|
+
|
469
|
+
& + a {
|
470
|
+
border-top: var(--default-border);
|
471
|
+
display: block;
|
472
|
+
padding: var(--default-padding);
|
473
|
+
margin: 0;
|
474
|
+
}
|
425
475
|
}
|
426
476
|
|
427
477
|
img {
|
@@ -564,14 +614,14 @@ export default {
|
|
564
614
|
|
565
615
|
padding: var(--default-padding);
|
566
616
|
|
567
|
-
.cmd-headline
|
617
|
+
.cmd-headline {
|
568
618
|
> * {
|
569
619
|
display: block;
|
570
620
|
text-align: center;
|
571
621
|
}
|
572
622
|
}
|
573
623
|
|
574
|
-
img, > div:first-child > [class*="icon"] {
|
624
|
+
img, > div:first-child > [class*="icon-"] {
|
575
625
|
display: table;
|
576
626
|
margin: 0 auto var(--default-margin) auto;
|
577
627
|
padding: calc(var(--default-padding) * 3);
|
@@ -593,7 +643,7 @@ export default {
|
|
593
643
|
aspect-ratio: 1/1;
|
594
644
|
}
|
595
645
|
|
596
|
-
> div:first-child > [class*="icon"] {
|
646
|
+
> div:first-child > [class*="icon-"] {
|
597
647
|
font-size: var(--icon-size);
|
598
648
|
}
|
599
649
|
}
|
@@ -640,7 +690,7 @@ export default {
|
|
640
690
|
background: var(--primary-color);
|
641
691
|
color: var(--pure-white);
|
642
692
|
|
643
|
-
span,
|
693
|
+
span, [class*="icon-"] {
|
644
694
|
color: var(--pure-white);
|
645
695
|
}
|
646
696
|
}
|
@@ -1,19 +1,30 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-company-logo">
|
3
3
|
<router-link v-if="link.type === 'router'" :to="link.path" :title="link.tooltip">
|
4
|
-
|
4
|
+
<!-- begin CmdImage -->
|
5
|
+
<CmdImage :image="image" />
|
6
|
+
<!-- end CmdImage -->
|
5
7
|
</router-link>
|
6
8
|
<a v-else :href="link.path" :title="link.tooltip">
|
7
|
-
|
9
|
+
<!-- begin CmdImage -->
|
10
|
+
<CmdImage :image="image" />
|
11
|
+
<!-- end CmdImage -->
|
8
12
|
</a>
|
9
13
|
</div>
|
10
14
|
</template>
|
11
15
|
|
12
16
|
<script>
|
17
|
+
// import functions
|
13
18
|
import {getRoute} from "../utilities.js"
|
14
19
|
|
20
|
+
// import components
|
21
|
+
import CmdImage from "./CmdImage"
|
22
|
+
|
15
23
|
export default {
|
16
24
|
name: "CmdCompanyLogo",
|
25
|
+
components: {
|
26
|
+
CmdImage
|
27
|
+
},
|
17
28
|
data() {
|
18
29
|
return {
|
19
30
|
prefersColorScheme: ""
|
@@ -57,6 +68,12 @@ export default {
|
|
57
68
|
return this.pathDefaultLogo
|
58
69
|
}
|
59
70
|
return this.pathDarkmodeLogo
|
71
|
+
},
|
72
|
+
image() {
|
73
|
+
return {
|
74
|
+
src: this.pathCurrentLogo,
|
75
|
+
alt: this.altText
|
76
|
+
}
|
60
77
|
}
|
61
78
|
},
|
62
79
|
created() {
|
@@ -60,7 +60,7 @@
|
|
60
60
|
|
61
61
|
<!-- begin optional icon -->
|
62
62
|
<!-- begin CmdIcon -->
|
63
|
-
<CmdIcon v-if="optionIcon?.iconClass" :type="optionIcon?.iconType" :
|
63
|
+
<CmdIcon v-if="optionIcon?.iconClass" :type="optionIcon?.iconType" :iconClass="optionIcon?.iconClass" />
|
64
64
|
<!-- end CmdIcon -->
|
65
65
|
<!-- end optional icon -->
|
66
66
|
|
@@ -661,7 +661,7 @@ export default {
|
|
661
661
|
> a {
|
662
662
|
border-color: var(--status-color);
|
663
663
|
|
664
|
-
> span,
|
664
|
+
> span, [class*="icon-"] {
|
665
665
|
color: var(--status-color);
|
666
666
|
}
|
667
667
|
|