comand-component-library 3.3.7 → 3.3.8
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/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
|
|