comand-component-library 3.3.10 → 3.3.11
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 +1 -1
- package/src/App.vue +2 -11
- package/src/assets/data/box-user.json +20 -4
- package/src/assets/data/image-gallery.json +8 -8
- package/src/components/CmdBox.vue +26 -2
- package/src/components/CmdFakeSelect.vue +1 -1
- package/src/components/CmdFancyBox.vue +102 -18
- package/src/components/CmdImageZoom.vue +4 -2
- package/src/components/CmdSiteHeader.vue +4 -18
- package/src/documentation/generated/CmdBoxPropertyDescriptions.json +14 -0
- package/src/documentation/generated/CmdFakeSelectPropertyDescriptions.json +7 -4
- package/src/documentation/generated/CmdFancyBoxPropertyDescriptions.json +10 -0
package/package.json
CHANGED
package/src/App.vue
CHANGED
@@ -998,16 +998,8 @@
|
|
998
998
|
<CmdWidthLimitationWrapper>
|
999
999
|
<h2 class="headline-demopage">Image-Zoom</h2>
|
1000
1000
|
<CmdImageZoom
|
1001
|
-
:imageSmall="
|
1002
|
-
|
1003
|
-
alt: 'Alternative text',
|
1004
|
-
tooltip: 'Tooltip'
|
1005
|
-
}"
|
1006
|
-
:imageLarge="{
|
1007
|
-
src: 'media/images/content-images/logo-business-edition-landscape.jpg',
|
1008
|
-
alt: 'Alternative text',
|
1009
|
-
tooltip: 'Tooltip'
|
1010
|
-
}"
|
1001
|
+
:imageSmall="imageData[0]"
|
1002
|
+
:imageLarge="imageData[0]"
|
1011
1003
|
/>
|
1012
1004
|
</CmdWidthLimitationWrapper>
|
1013
1005
|
<!-- end image-zoom ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
@@ -1516,7 +1508,6 @@ export default {
|
|
1516
1508
|
CmdUploadForm,
|
1517
1509
|
CmdWidthLimitationWrapper
|
1518
1510
|
},
|
1519
|
-
|
1520
1511
|
data() {
|
1521
1512
|
return {
|
1522
1513
|
acceptedCookies: ["google-maps"],
|
@@ -1,13 +1,17 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
3
|
"name": "User name 1",
|
4
|
-
"
|
5
|
-
|
6
|
-
|
7
|
-
},
|
4
|
+
"age": 35,
|
5
|
+
"gender": "m",
|
6
|
+
"imageSrc": "/media/images/user-images/fake-user-1.jpg",
|
8
7
|
"profession": "User profession",
|
9
8
|
"position": "User position",
|
10
9
|
"description": "User profile with image",
|
10
|
+
"tag": [
|
11
|
+
"Tagname",
|
12
|
+
"Long tag",
|
13
|
+
"One more tag"
|
14
|
+
],
|
11
15
|
"links": [
|
12
16
|
{
|
13
17
|
"path": "mailto:",
|
@@ -18,6 +22,9 @@
|
|
18
22
|
},
|
19
23
|
{
|
20
24
|
"name": "User name 2",
|
25
|
+
"age": 35,
|
26
|
+
"gender": "m",
|
27
|
+
"imageSrc": "/media/images/user-images/fake-user-2.jpg",
|
21
28
|
"profession": "User profession",
|
22
29
|
"position": "User position",
|
23
30
|
"description": "User description",
|
@@ -37,6 +44,9 @@
|
|
37
44
|
},
|
38
45
|
{
|
39
46
|
"name": "User name 3",
|
47
|
+
"age": 35,
|
48
|
+
"gender": "m",
|
49
|
+
"imageSrc": "/media/images/user-images/fake-user-3.jpg",
|
40
50
|
"profession": "User profession",
|
41
51
|
"position": "User position",
|
42
52
|
"description": "User with a long text as description that wraps over multiple lines",
|
@@ -61,6 +71,9 @@
|
|
61
71
|
},
|
62
72
|
{
|
63
73
|
"name": "User name 4",
|
74
|
+
"age": 35,
|
75
|
+
"gender": "m",
|
76
|
+
"imageSrc": "/media/images/user-images/fake-user-4.jpg",
|
64
77
|
"profession": "User profession",
|
65
78
|
"position": "User position",
|
66
79
|
"description": "User description",
|
@@ -85,6 +98,9 @@
|
|
85
98
|
},
|
86
99
|
{
|
87
100
|
"name": "User name 5",
|
101
|
+
"age": 35,
|
102
|
+
"gender": "m",
|
103
|
+
"imageSrc": "/media/images/user-images/fake-user-5.jpg",
|
88
104
|
"profession": "User profession",
|
89
105
|
"position": "User position",
|
90
106
|
"description": "User description",
|
@@ -1,8 +1,8 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
3
|
"image": {
|
4
|
-
"src": "media/images/
|
5
|
-
"srcImageLarge": "media/images/
|
4
|
+
"src": "media/images/gallery-images/large/landscape-01.jpg",
|
5
|
+
"srcImageLarge": "media/images/gallery-images/large/landscape-01.jpg",
|
6
6
|
"alt": "Alternative text 1"
|
7
7
|
},
|
8
8
|
"figcaption": {
|
@@ -14,8 +14,8 @@
|
|
14
14
|
},
|
15
15
|
{
|
16
16
|
"image": {
|
17
|
-
"src": "media/images/
|
18
|
-
"srcImageLarge": "media/images/
|
17
|
+
"src": "media/images/gallery-images/large/landscape-02.jpg",
|
18
|
+
"srcImageLarge": "media/images/gallery-images/large/landscape-02.jpg",
|
19
19
|
"alt": "Alternative text 2"
|
20
20
|
},
|
21
21
|
"figcaption": {
|
@@ -27,8 +27,8 @@
|
|
27
27
|
},
|
28
28
|
{
|
29
29
|
"image": {
|
30
|
-
"src": "media/images/
|
31
|
-
"srcImageLarge": "media/images/
|
30
|
+
"src": "media/images/gallery-images/large/landscape-03.jpg",
|
31
|
+
"srcImageLarge": "media/images/gallery-images/large/landscape-03.jpg",
|
32
32
|
"alt": "Alternative text 3"
|
33
33
|
},
|
34
34
|
"figcaption": {
|
@@ -40,8 +40,8 @@
|
|
40
40
|
},
|
41
41
|
{
|
42
42
|
"image": {
|
43
|
-
"src": "media/images/
|
44
|
-
"srcImageLarge": "media/images/
|
43
|
+
"src": "media/images/gallery-images/large/landscape-04.jpg",
|
44
|
+
"srcImageLarge": "media/images/gallery-images/large/landscape-04.jpg",
|
45
45
|
"alt": "Alternative text 4"
|
46
46
|
},
|
47
47
|
"figcaption": {
|
@@ -123,11 +123,19 @@
|
|
123
123
|
<!-- end boxType 'product' -->
|
124
124
|
|
125
125
|
<!-- begin boxType 'user' -->
|
126
|
-
<div v-else-if="boxType === 'user' && user"
|
126
|
+
<div v-else-if="boxType === 'user' && user"
|
127
|
+
:class="[
|
128
|
+
'cmd-box box user',
|
129
|
+
profileType,
|
130
|
+
{
|
131
|
+
'stretch-vertically': stretchVertically,
|
132
|
+
'stretch-horizontally': stretchHorizontally
|
133
|
+
}
|
134
|
+
]">
|
127
135
|
<div class="box-header flex-container vertical">
|
128
136
|
<figure v-if="user.image">
|
129
137
|
<img :src="user.image.src" :alt="user.image.alt"/>
|
130
|
-
<figcaption>{{ user.name }}</figcaption>
|
138
|
+
<figcaption>{{ user.name }} <span v-if="user.age">, {{user.age}}</span></figcaption>
|
131
139
|
</figure>
|
132
140
|
<div v-else>
|
133
141
|
<span :class="defaultProfileIconClass" :title="user.name"></span>
|
@@ -139,6 +147,11 @@
|
|
139
147
|
<p v-if="user.position">{{ user.position }}</p>
|
140
148
|
<p v-if="user.description" class="description">{{ user.description }}</p>
|
141
149
|
</div>
|
150
|
+
<ul class="tags">
|
151
|
+
<li v-for="(tag, index) in user.tags" :key="index">
|
152
|
+
{{tag}}
|
153
|
+
</li>
|
154
|
+
</ul>
|
142
155
|
<div v-if="user.links" class="box-footer">
|
143
156
|
<CmdListOfLinks :links="user.links" orientation="horizontal" :useGap="false"/>
|
144
157
|
</div>
|
@@ -249,6 +262,17 @@ export default {
|
|
249
262
|
type: Object,
|
250
263
|
required: false
|
251
264
|
},
|
265
|
+
/**
|
266
|
+
* profile types for user-boxes
|
267
|
+
*
|
268
|
+
* @required: only available for boxtype===user
|
269
|
+
*
|
270
|
+
* @allowedValues: 'business', 'influencer', 'dating'
|
271
|
+
*/
|
272
|
+
profileType: {
|
273
|
+
type: String,
|
274
|
+
default: 'business'
|
275
|
+
},
|
252
276
|
/**
|
253
277
|
* activated if all content (incl. headline) is given by slot
|
254
278
|
*
|
@@ -17,25 +17,31 @@
|
|
17
17
|
|
18
18
|
<!-- begin button-wrapper -->
|
19
19
|
<div
|
20
|
-
v-if="(fancyboxOptions.printButtons
|
20
|
+
v-if="(fancyboxOptions.printButtons?.color || fancyboxOptions.printButtons?.grayscale) || fancyboxOptions.closeIcon"
|
21
21
|
class="button-wrapper no-flex"
|
22
22
|
> <!-- begin print buttons -->
|
23
|
-
<a v-if="
|
23
|
+
<a v-if="showPrintButtons && fancyboxOptions.printButtons?.color"
|
24
24
|
href="#"
|
25
25
|
class="button print-color"
|
26
|
-
:title="fancyboxOptions.printButtons.color
|
26
|
+
:title="fancyboxOptions.printButtons.color?.tooltip"
|
27
27
|
@click.prevent="printInGrayscale = false">
|
28
28
|
<!-- begin CmdIcon -->
|
29
|
-
<CmdIcon
|
29
|
+
<CmdIcon
|
30
|
+
:iconClass="fancyboxOptions.printButtons.color?.iconClass"
|
31
|
+
:type="fancyboxOptions.printButtons.color?.iconType"
|
32
|
+
/>
|
30
33
|
<!-- end CmdIcon -->
|
31
34
|
</a>
|
32
|
-
<a v-if="
|
35
|
+
<a v-if="showPrintButtons && fancyboxOptions.printButtons?.grayscale"
|
33
36
|
href="#"
|
34
37
|
class="button print-grayscale"
|
35
|
-
:title="fancyboxOptions.printButtons.grayscale
|
38
|
+
:title="fancyboxOptions.printButtons.grayscale?.tooltip"
|
36
39
|
@click.prevent="printInGrayscale = true">
|
37
40
|
<!-- begin CmdIcon -->
|
38
|
-
<CmdIcon
|
41
|
+
<CmdIcon
|
42
|
+
:iconClass="fancyboxOptions.printButtons.grayscale?.iconClass"
|
43
|
+
:type="fancyboxOptions.printButtons.grayscale?.iconType"
|
44
|
+
/>
|
39
45
|
<!-- end CmdIcon -->
|
40
46
|
</a>
|
41
47
|
<!-- end print buttons -->
|
@@ -49,7 +55,10 @@
|
|
49
55
|
ref="close-dialog"
|
50
56
|
@click.prevent="close">
|
51
57
|
<!-- begin CmdIcon -->
|
52
|
-
<CmdIcon
|
58
|
+
<CmdIcon
|
59
|
+
:iconClass="fancyboxOptions.closeIcon.iconClass"
|
60
|
+
:type="fancyboxOptions.closeIcon.iconType"
|
61
|
+
/>
|
53
62
|
<!-- end CmdIcon -->
|
54
63
|
</a>
|
55
64
|
<!-- end close-icon -->
|
@@ -86,6 +95,37 @@
|
|
86
95
|
<!-- end slot-content -->
|
87
96
|
</div>
|
88
97
|
</div>
|
98
|
+
|
99
|
+
<footer v-if="showSubmitButtons && fancyboxOptions.submitButtons" class="flex-container no-flex">
|
100
|
+
<!-- begin cancel-button -->
|
101
|
+
<button
|
102
|
+
v-if="fancyboxOptions.submitButtons?.cancel"
|
103
|
+
@click="cancel"
|
104
|
+
:title="fancyboxOptions.submitButtons.cancel?.tooltip">
|
105
|
+
<CmdIcon
|
106
|
+
v-if="fancyboxOptions.submitButtons.cancel?.iconClass"
|
107
|
+
:iconClass="fancyboxOptions.submitButtons.cancel?.iconClass"
|
108
|
+
:type="fancyboxOptions.submitButtons.cancel?.iconType"
|
109
|
+
/>
|
110
|
+
<span v-if="fancyboxOptions.submitButtons.cancel?.buttonText">{{fancyboxOptions.submitButtons.cancel?.buttonText}}</span>
|
111
|
+
</button>
|
112
|
+
<!-- end cancel-button -->
|
113
|
+
|
114
|
+
<!-- begin confirm-button -->
|
115
|
+
<button
|
116
|
+
v-if="fancyboxOptions.submitButtons?.confirm"
|
117
|
+
@click="confirm"
|
118
|
+
:title="fancyboxOptions.submitButtons.cancel?.tooltip">
|
119
|
+
<CmdIcon
|
120
|
+
v-if="fancyboxOptions.submitButtons.confirm?.iconClass"
|
121
|
+
:iconClass="fancyboxOptions.submitButtons.confirm?.iconClass"
|
122
|
+
:type="fancyboxOptions.submitButtons.confirm?.iconType"
|
123
|
+
/>
|
124
|
+
<span v-if="fancyboxOptions.submitButtons.confirm?.buttonText">{{fancyboxOptions.submitButtons.confirm?.buttonText}}</span>
|
125
|
+
</button>
|
126
|
+
<!-- end confirm-button -->
|
127
|
+
</footer>
|
128
|
+
|
89
129
|
<!-- begin CmdThumbnailScroller -->
|
90
130
|
<CmdThumbnailScroller
|
91
131
|
v-if="fancyBoxGallery"
|
@@ -134,6 +174,7 @@ const FancyBox = defineComponent({
|
|
134
174
|
mixins: [
|
135
175
|
Identifier
|
136
176
|
],
|
177
|
+
emits: ['cancel', 'confirm'],
|
137
178
|
data() {
|
138
179
|
return {
|
139
180
|
fancyBoxContent: null,
|
@@ -161,6 +202,20 @@ const FancyBox = defineComponent({
|
|
161
202
|
type: String,
|
162
203
|
required: false
|
163
204
|
},
|
205
|
+
/**
|
206
|
+
* toggle visibility of print-buttons
|
207
|
+
*/
|
208
|
+
showPrintButtons: {
|
209
|
+
type: Boolean,
|
210
|
+
default: false
|
211
|
+
},
|
212
|
+
/**
|
213
|
+
* toggle visibility of print-buttons
|
214
|
+
*/
|
215
|
+
showSubmitButtons: {
|
216
|
+
type: Boolean,
|
217
|
+
default: true
|
218
|
+
},
|
164
219
|
/**
|
165
220
|
* options to show at top (closeIcon, printButtons)
|
166
221
|
*/
|
@@ -169,19 +224,35 @@ const FancyBox = defineComponent({
|
|
169
224
|
default() {
|
170
225
|
return {
|
171
226
|
closeIcon: {
|
172
|
-
|
173
|
-
|
227
|
+
iconClass: "icon-cancel",
|
228
|
+
iconType: "auto",
|
229
|
+
tooltip: "Close"
|
174
230
|
},
|
175
231
|
printButtons: {
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
232
|
+
color: {
|
233
|
+
iconClass: "icon-print",
|
234
|
+
iconType: "auto",
|
235
|
+
tooltip: "print in color"
|
236
|
+
},
|
237
|
+
grayscale: {
|
238
|
+
iconClass: "icon-print",
|
239
|
+
iconType: "auto",
|
240
|
+
tooltip: "print in grayscale"
|
241
|
+
}
|
242
|
+
},
|
243
|
+
submitButtons: {
|
244
|
+
cancel: {
|
245
|
+
iconClass: "icon-cancel",
|
246
|
+
iconType: "auto",
|
247
|
+
tooltip: "Cancel",
|
248
|
+
buttonText: "Cancel"
|
180
249
|
},
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
250
|
+
confirm: {
|
251
|
+
iconClass: "icon-check",
|
252
|
+
iconType: "auto",
|
253
|
+
buttonText: "Confirm",
|
254
|
+
tooltip: "Confirm",
|
255
|
+
buttonType: "primary"
|
185
256
|
}
|
186
257
|
}
|
187
258
|
}
|
@@ -368,6 +439,14 @@ const FancyBox = defineComponent({
|
|
368
439
|
|
369
440
|
// remove class to re-enable scrolling
|
370
441
|
document.querySelector("body").classList.remove("avoid-scrolling")
|
442
|
+
},
|
443
|
+
cancel() {
|
444
|
+
this.$emit("cancel", true)
|
445
|
+
this.close()
|
446
|
+
},
|
447
|
+
confirm() {
|
448
|
+
this.$emit("confirm", true)
|
449
|
+
this.close()
|
371
450
|
}
|
372
451
|
},
|
373
452
|
watch: {
|
@@ -502,6 +581,11 @@ export default FancyBox
|
|
502
581
|
}
|
503
582
|
}
|
504
583
|
|
584
|
+
> footer {
|
585
|
+
margin-top: auto;
|
586
|
+
justify-content: flex-end;
|
587
|
+
}
|
588
|
+
|
505
589
|
.outer-content-wrapper {
|
506
590
|
max-height: 85vh;
|
507
591
|
overflow-x: hidden;
|
@@ -5,7 +5,8 @@
|
|
5
5
|
<a href="#" class="thumbnails-imagezoom">
|
6
6
|
<!-- begin CmdImage -->
|
7
7
|
<CmdImage
|
8
|
-
:image="imageSmall"
|
8
|
+
:image="imageSmall.image"
|
9
|
+
:figcaption="imageSmall.figcaption"
|
9
10
|
@mouseover="onMouseOver"
|
10
11
|
@mousemove="onMouseMove"
|
11
12
|
@mouseout="onMouseOut"
|
@@ -19,7 +20,8 @@
|
|
19
20
|
<div v-if="showLargeImage" class="zoom-container grid-large-item">
|
20
21
|
<!-- begin CmdImage -->
|
21
22
|
<CmdImage
|
22
|
-
:image="imageLarge"
|
23
|
+
:image="imageLarge.image"
|
24
|
+
:figcaption="imageLarge.figcaption"
|
23
25
|
@mouseover="onMouseOver"
|
24
26
|
@mousemove="onMouseMove"
|
25
27
|
@mouseout="onMouseOut"
|
@@ -6,10 +6,10 @@
|
|
6
6
|
</div>
|
7
7
|
<!-- end slot for elements above header -->
|
8
8
|
|
9
|
-
<header
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
<header
|
10
|
+
:class="[
|
11
|
+
useGrid ? 'grid-container-create-columns': 'flex-container',
|
12
|
+
{'has-navigation': (cmdMainNavigation?.navigationEntries?.length && navigationInline) || $slots.navigation}
|
13
13
|
]">
|
14
14
|
<!-- begin slots for logo and other header elements -->
|
15
15
|
<template v-if="$slots.logo || $slots.header || $slots.navigation">
|
@@ -107,12 +107,6 @@ export default {
|
|
107
107
|
type: Object,
|
108
108
|
required: false
|
109
109
|
}
|
110
|
-
},
|
111
|
-
computed: {
|
112
|
-
oneChildOnly() {
|
113
|
-
// check if sum of children equals "1" by turning objects into booleans, which will be converted to numbers by using "+".
|
114
|
-
return (!!this.cmdCompanyLogo + !!this.cmdMainNavigation + !!this.$slots.logo + !!this.$slots.header + !!this.$slots.navigation) === 1
|
115
|
-
}
|
116
110
|
}
|
117
111
|
}
|
118
112
|
</script>
|
@@ -171,10 +165,6 @@ export default {
|
|
171
165
|
padding-bottom: 0;
|
172
166
|
}
|
173
167
|
|
174
|
-
&.one-child-only {
|
175
|
-
gap: 0;
|
176
|
-
}
|
177
|
-
|
178
168
|
&.flex-container {
|
179
169
|
width: 100%;
|
180
170
|
|
@@ -197,10 +187,6 @@ export default {
|
|
197
187
|
.cmd-company-logo {
|
198
188
|
grid-column: span var(--grid-small-span);
|
199
189
|
}
|
200
|
-
|
201
|
-
> *:only-child {
|
202
|
-
gap: 0;
|
203
|
-
}
|
204
190
|
}
|
205
191
|
|
206
192
|
&.navigation-inline {
|
@@ -61,6 +61,20 @@
|
|
61
61
|
]
|
62
62
|
}
|
63
63
|
},
|
64
|
+
"profileType": {
|
65
|
+
"comments": [
|
66
|
+
"profile types for user-boxes"
|
67
|
+
],
|
68
|
+
"annotations": {
|
69
|
+
"required": [
|
70
|
+
"only available for boxtype===user",
|
71
|
+
""
|
72
|
+
],
|
73
|
+
"allowedValues": [
|
74
|
+
"'business', 'influencer', 'dating'"
|
75
|
+
]
|
76
|
+
}
|
77
|
+
},
|
64
78
|
"useSlots": {
|
65
79
|
"comments": [
|
66
80
|
"activated if all content (incl. headline) is given by slot",
|
@@ -66,10 +66,13 @@
|
|
66
66
|
},
|
67
67
|
"labelText": {
|
68
68
|
"comments": [
|
69
|
-
"label-text for fake-select"
|
70
|
-
|
71
|
-
|
72
|
-
|
69
|
+
"label-text for fake-select"
|
70
|
+
],
|
71
|
+
"annotations": {
|
72
|
+
"requiredForAccessibility": [
|
73
|
+
"true"
|
74
|
+
]
|
75
|
+
}
|
73
76
|
},
|
74
77
|
"showLabel": {
|
75
78
|
"comments": [
|
@@ -14,6 +14,16 @@
|
|
14
14
|
"set if content should be loaded by url"
|
15
15
|
]
|
16
16
|
},
|
17
|
+
"showPrintButtons": {
|
18
|
+
"comments": [
|
19
|
+
"toggle visibility of print-buttons"
|
20
|
+
]
|
21
|
+
},
|
22
|
+
"showSubmitButtons": {
|
23
|
+
"comments": [
|
24
|
+
"toggle visibility of print-buttons"
|
25
|
+
]
|
26
|
+
},
|
17
27
|
"fancyboxOptions": {
|
18
28
|
"comments": [
|
19
29
|
"options to show at top (closeIcon, printButtons)"
|