comand-component-library 4.2.51 → 4.2.53
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.js +4040 -3388
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/ComponentLibrary.vue +179 -41
- package/src/assets/data/box-product.json +15 -10
- package/src/assets/data/box-user.json +8 -8
- package/src/assets/data/list-description-list.json +74 -0
- package/src/assets/data/listOfComponents.json +3 -1
- package/src/assets/data/pages/boxes-team-overview.json +8 -8
- package/src/assets/styles/component-library-global-styles.scss +0 -14
- package/src/componentSettingsDataAndControls.vue +131 -10
- package/src/components/CmdAddressData.vue +2 -0
- package/src/components/CmdAddressDataItem.vue +2 -1
- package/src/components/CmdBackToTopButton.vue +12 -3
- package/src/components/CmdBankAccountData.vue +2 -0
- package/src/components/CmdBasicForm.vue +6 -2
- package/src/components/CmdBox.vue +62 -35
- package/src/components/CmdBoxWrapper.vue +6 -0
- package/src/components/CmdBreadcrumbs.vue +2 -0
- package/src/components/CmdCodeOutput.vue +2 -2
- package/src/components/CmdCompanyLogo.vue +2 -0
- package/src/components/CmdContainer.vue +100 -87
- package/src/components/CmdCookieDisclaimer.vue +12 -1
- package/src/components/CmdCopyrightInformation.vue +2 -0
- package/src/components/CmdFakeSelect.vue +10 -6
- package/src/components/CmdFancyBox.vue +2 -0
- package/src/components/CmdFlexibleScrollContainer.vue +2 -0
- package/src/components/CmdForm.vue +2 -0
- package/src/components/CmdFormElement.vue +11 -1
- package/src/components/CmdFormFilters.vue +2 -0
- package/src/components/CmdGoogleMaps.vue +2 -0
- package/src/components/CmdHeadline.vue +23 -1
- package/src/components/CmdIcon.vue +2 -0
- package/src/components/CmdImage.vue +3 -0
- package/src/components/CmdImageGallery.vue +3 -1
- package/src/components/CmdImageZoom.vue +2 -0
- package/src/components/CmdInnerLink.vue +2 -0
- package/src/components/CmdInputGroup.vue +2 -0
- package/src/components/CmdLink.vue +17 -10
- package/src/components/CmdList.vue +191 -99
- package/src/components/CmdListOfLinksItem.vue +2 -0
- package/src/components/CmdListOfRequirements.vue +2 -0
- package/src/components/CmdLoginForm.vue +2 -2
- package/src/components/CmdMailTool.vue +2 -0
- package/src/components/CmdMailToolEntry.vue +2 -1
- package/src/components/CmdMailToolFilter.vue +2 -0
- package/src/components/CmdMainNavigation.vue +2 -0
- package/src/components/CmdMultistepFormProgressBar.vue +35 -14
- package/src/components/CmdNewsletterSubscription.vue +2 -0
- package/src/components/CmdOpeningHours.vue +2 -0
- package/src/components/CmdOpeningHoursItem.vue +2 -0
- package/src/components/CmdPageFooter.vue +2 -0
- package/src/components/CmdPageHeader.vue +2 -0
- package/src/components/CmdPagination.vue +2 -0
- package/src/components/CmdParagraph.vue +50 -0
- package/src/components/CmdProgressBar.vue +1 -1
- package/src/components/CmdSection.vue +2 -0
- package/src/components/CmdSidebar.vue +2 -0
- package/src/components/CmdSiteFooter.vue +2 -0
- package/src/components/CmdSiteHeader.vue +2 -0
- package/src/components/CmdSiteSearch.vue +12 -1
- package/src/components/CmdSlideButton.vue +5 -4
- package/src/components/CmdSlideshow.vue +10 -1
- package/src/components/CmdSmartSearch.vue +42 -11
- package/src/components/CmdSocialNetworks.vue +2 -0
- package/src/components/CmdSocialNetworksItem.vue +2 -0
- package/src/components/CmdSwitchLanguage.vue +2 -0
- package/src/components/CmdSystemMessage.vue +10 -5
- package/src/components/CmdTable.vue +10 -6
- package/src/components/CmdTabs.vue +39 -3
- package/src/components/CmdTag.vue +101 -0
- package/src/components/CmdTextImageBlock.vue +2 -0
- package/src/components/CmdThumbnailScroller.vue +14 -3
- package/src/components/CmdToggleDarkMode.vue +2 -0
- package/src/components/CmdTooltip.vue +2 -0
- package/src/components/CmdTooltipForFormElements.vue +2 -0
- package/src/components/CmdUploadForm.vue +14 -1
- package/src/components/CmdWidthLimitationWrapper.vue +2 -0
- package/src/components/CmdFlexContainer.vue +0 -109
@@ -1,93 +1,111 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdContainer ---------------------------------------------------------------------------------------- -->
|
2
3
|
<div class="cmd-container">
|
3
|
-
<!-- begin
|
4
|
-
<CmdHeadline
|
5
|
-
|
6
|
-
v-bind="cmdHeadline"
|
7
|
-
/>
|
8
|
-
<!-- end cmd-headline -->
|
4
|
+
<!-- begin CmdHeadline -->
|
5
|
+
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline" />
|
6
|
+
<!-- end CmdHeadline -->
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
<!-- begin slot-content (one column/slot-item only) -->
|
15
|
-
<slot v-if="oneSlotItem()"></slot>
|
16
|
-
<!-- end slot-content (one column/slot-item only) -->
|
17
|
-
|
18
|
-
<!-- begin grid-/flex-container to wrap multiple columns/items -->
|
19
|
-
<div v-else :class="[setInnerClass, 'inner-slot-wrapper']">
|
20
|
-
<!-- begin slot-content (multiple columns only) -->
|
21
|
-
<slot><p>{{innerText}}</p></slot>
|
22
|
-
<!-- end slot-content (multiple columns only) -->
|
8
|
+
<div :class="htmlClasses">
|
9
|
+
<!-- begin slot-content -->
|
10
|
+
<slot></slot>
|
11
|
+
<!-- end slot-content -->
|
23
12
|
</div>
|
24
|
-
<!-- end grid-/flex-container to wrap multiple columns/items -->
|
25
|
-
|
26
|
-
<!-- begin contentBelowSlot -->
|
27
|
-
<div v-if="contentBelowSlot" v-html="contentBelowSlot"></div>
|
28
|
-
<!-- end contentBelowSlot -->
|
29
13
|
</div>
|
14
|
+
<!-- end CmdContainer ---------------------------------------------------------------------------------------- -->
|
30
15
|
</template>
|
31
16
|
|
32
17
|
<script>
|
33
18
|
export default {
|
34
19
|
name: "CmdContainer",
|
35
20
|
props: {
|
36
|
-
/**
|
37
|
-
* define (html-)content to display above slot-content
|
21
|
+
/** define container-type
|
38
22
|
*
|
39
|
-
* @
|
23
|
+
* @affectsStyling: true
|
24
|
+
* @allowedValues: "", "default", "flex", "grid"
|
40
25
|
*/
|
41
|
-
|
26
|
+
containerType: {
|
42
27
|
type: String,
|
43
|
-
|
28
|
+
default: "default",
|
29
|
+
validator(value) {
|
30
|
+
return value === "" ||
|
31
|
+
value === "default" ||
|
32
|
+
value === "flex" ||
|
33
|
+
value === "grid"
|
34
|
+
}
|
44
35
|
},
|
45
36
|
/**
|
46
|
-
* define
|
37
|
+
* define content-orientation
|
38
|
+
*
|
39
|
+
* containerType-property must be set to "flex"
|
40
|
+
*
|
41
|
+
* @affectsStyling: true
|
42
|
+
* @allowedValues: "vertical", "horizontal"
|
47
43
|
*/
|
48
|
-
|
49
|
-
type: String
|
50
|
-
|
44
|
+
contentOrientation: {
|
45
|
+
type: String,
|
46
|
+
default: "vertical",
|
47
|
+
validator(value) {
|
48
|
+
return value === "horizontal" ||
|
49
|
+
value === "vertical"
|
50
|
+
}
|
51
51
|
},
|
52
52
|
/**
|
53
|
-
*
|
53
|
+
* activate if no gap between items should be used
|
54
54
|
*
|
55
|
-
* @
|
55
|
+
* @affectsStyling: true
|
56
56
|
*/
|
57
|
-
|
58
|
-
type:
|
59
|
-
|
57
|
+
noGap: {
|
58
|
+
type: Boolean,
|
59
|
+
default: true
|
60
60
|
},
|
61
61
|
/**
|
62
|
-
*
|
62
|
+
* activate if items should not behave like flex-items (they are now shrunk to their content)
|
63
63
|
*
|
64
|
-
* @
|
64
|
+
* @affectsStyling: true
|
65
65
|
*/
|
66
|
-
|
67
|
-
type:
|
68
|
-
|
66
|
+
flexNone: {
|
67
|
+
type: Boolean,
|
68
|
+
default: false
|
69
69
|
},
|
70
70
|
/**
|
71
|
-
* define
|
71
|
+
* define how the items will be aligned vertically
|
72
72
|
*
|
73
|
-
*
|
73
|
+
* attention: if alignContentVertical is activated, this property defines the horizontal alignment
|
74
74
|
*
|
75
|
-
* @allowedValues:
|
75
|
+
* @allowedValues: top, flex-start, center, flex-end, bottom
|
76
|
+
* @affectsStyling: true
|
76
77
|
*/
|
77
|
-
|
78
|
+
alignItems: {
|
78
79
|
type: String,
|
79
|
-
|
80
|
+
required: false,
|
80
81
|
validator(value) {
|
81
|
-
return value === "
|
82
|
-
value === "
|
82
|
+
return value === "top" ||
|
83
|
+
value === "flex-start" ||
|
84
|
+
value === "center" ||
|
85
|
+
value === "flex-end" ||
|
86
|
+
value === "bottom"
|
83
87
|
}
|
84
88
|
},
|
85
89
|
/**
|
86
|
-
* define
|
90
|
+
* define how the items will be aligned/justified horizontally.
|
91
|
+
*
|
92
|
+
* attention: if alignContentVertical is activated, this property defines the vertical alignment/justification
|
93
|
+
*
|
94
|
+
* @allowedValues: top, flex-start, center, flex-end, bottom, space-between, space-around
|
95
|
+
* @affectsStyling: true
|
87
96
|
*/
|
88
|
-
|
97
|
+
justifyContent: {
|
89
98
|
type: String,
|
90
|
-
required: false
|
99
|
+
required: false,
|
100
|
+
validator(value) {
|
101
|
+
return value === "top" ||
|
102
|
+
value === "flex-start" ||
|
103
|
+
value === "center" ||
|
104
|
+
value === "flex-end" ||
|
105
|
+
value === "bottom" ||
|
106
|
+
value === "space-between" ||
|
107
|
+
value === "space-around"
|
108
|
+
}
|
91
109
|
},
|
92
110
|
/**
|
93
111
|
* properties for CmdHeadline-component
|
@@ -97,43 +115,38 @@ export default {
|
|
97
115
|
required: false
|
98
116
|
}
|
99
117
|
},
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
},
|
104
|
-
oneSlotItem() {
|
105
|
-
if (typeof this.$slots.default !== "function") {
|
106
|
-
return false
|
107
|
-
}
|
118
|
+
computed: {
|
119
|
+
htmlClasses() {
|
120
|
+
const htmlClasses = []
|
108
121
|
|
109
|
-
|
122
|
+
if (this.containerType !== 'default') {
|
123
|
+
if (this.containerType === "flex") {
|
124
|
+
htmlClasses.push("flex-container")
|
110
125
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
}
|
117
|
-
return vnodes.length === 1
|
118
|
-
}
|
119
|
-
},
|
120
|
-
computed: {
|
121
|
-
setInnerClass() {
|
122
|
-
let htmlClass = this.innerClass || ""
|
123
|
-
switch (this.containerType) {
|
124
|
-
case "grid":
|
125
|
-
htmlClass += " grid-container-create-columns"
|
126
|
-
break
|
127
|
-
case "flex":
|
128
|
-
if (this.contentOrientation === "horizontal") {
|
129
|
-
htmlClass += " flex-container"
|
130
|
-
} else if (this.contentOrientation === "vertical") {
|
131
|
-
htmlClass += " flex-container vertical"
|
126
|
+
if (this.contentOrientation) {
|
127
|
+
htmlClasses.push(this.contentOrientation === "vertical" ? "flex-direction-column" : null)
|
128
|
+
}
|
129
|
+
if (this.useGap) {
|
130
|
+
htmlClasses.push("no-gap")
|
132
131
|
}
|
133
|
-
|
134
|
-
|
132
|
+
if (this.flexNone) {
|
133
|
+
htmlClasses.push("flex-none")
|
134
|
+
}
|
135
|
+
if (this.alignItems) {
|
136
|
+
htmlClasses.push("align-items-" + this.alignItems)
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
if (this.containerType === "grid") {
|
141
|
+
htmlClasses.push("grid-container-create-columns")
|
142
|
+
}
|
135
143
|
}
|
136
|
-
|
144
|
+
|
145
|
+
if (this.justifyContent) {
|
146
|
+
htmlClasses.push("justify-content-" + this.justifyContent)
|
147
|
+
}
|
148
|
+
|
149
|
+
return htmlClasses.join(" ")
|
137
150
|
}
|
138
151
|
}
|
139
152
|
}
|
@@ -143,4 +156,4 @@ export default {
|
|
143
156
|
.cmd-container {
|
144
157
|
min-height: 1rem;
|
145
158
|
}
|
146
|
-
</style>
|
159
|
+
</style>
|
@@ -1,5 +1,6 @@
|
|
1
1
|
<template>
|
2
|
-
<transition name="
|
2
|
+
<transition :name="transition">
|
3
|
+
<!-- begin CmdCookieDisclaimer ---------------------------------------------------------------------------------------- -->
|
3
4
|
<div class="cmd-cookie-disclaimer flex-container vertical">
|
4
5
|
<!-- begin slot -->
|
5
6
|
<template v-if="useSlot">
|
@@ -135,6 +136,7 @@
|
|
135
136
|
<!-- end button-wrapper for 'accept'-buttons -->
|
136
137
|
</div>
|
137
138
|
</div>
|
139
|
+
<!-- end CmdCookieDisclaimer ---------------------------------------------------------------------------------------- -->
|
138
140
|
</transition>
|
139
141
|
</template>
|
140
142
|
|
@@ -153,6 +155,15 @@ export default {
|
|
153
155
|
}
|
154
156
|
},
|
155
157
|
props: {
|
158
|
+
/**
|
159
|
+
* define the transition when cookie disclaimer disappears
|
160
|
+
*
|
161
|
+
* @allowedValues: "none", "fade", "scroll"
|
162
|
+
*/
|
163
|
+
transition: {
|
164
|
+
type: String,
|
165
|
+
default: "fade"
|
166
|
+
},
|
156
167
|
/**
|
157
168
|
* define icon-class for collapsed box
|
158
169
|
*/
|
@@ -1,7 +1,9 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdCopyrightInformation ---------------------------------------------------------------------------------------- -->
|
2
3
|
<div class="cmd-copyright-information" role="contentinfo">
|
3
4
|
<a href="https://www.comand-ui.com" target="comand-ui-website" lang="en" title="CoManD-UI-Website">© CoManD-UI</a>
|
4
5
|
</div>
|
6
|
+
<!-- end CmdCopyrightInformation ---------------------------------------------------------------------------------------- -->
|
5
7
|
</template>
|
6
8
|
|
7
9
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdFakeSelect ---------------------------------------------------------------------------------------- -->
|
2
3
|
<div
|
3
4
|
:class="[
|
4
5
|
validationStatus,
|
@@ -174,6 +175,7 @@
|
|
174
175
|
</li>
|
175
176
|
</ul>
|
176
177
|
</div>
|
178
|
+
<!-- end CmdFakeSelect ---------------------------------------------------------------------------------------- -->
|
177
179
|
</template>
|
178
180
|
|
179
181
|
<script>
|
@@ -525,7 +527,7 @@ export default {
|
|
525
527
|
/* begin cmd-fake-select ------------------------------------------------------------------------------------------ */
|
526
528
|
.cmd-fake-select {
|
527
529
|
align-self: flex-end;
|
528
|
-
border-radius: var(--
|
530
|
+
border-radius: var(--form-input-border-radius);
|
529
531
|
|
530
532
|
> span:first-child {
|
531
533
|
a {
|
@@ -551,16 +553,16 @@ export default {
|
|
551
553
|
display: block;
|
552
554
|
min-width: 0;
|
553
555
|
box-shadow: none;
|
554
|
-
border-radius: var(--
|
556
|
+
border-radius: var(--form-input-border-radius);
|
555
557
|
|
556
558
|
> li {
|
557
559
|
height: 100%;
|
558
|
-
border-radius: var(--
|
560
|
+
border-radius: var(--form-input-border-radius);
|
559
561
|
|
560
562
|
&:first-child {
|
561
563
|
> a {
|
562
564
|
height: inherit;
|
563
|
-
border: var(--
|
565
|
+
border: var(--form-input-border);
|
564
566
|
background: var(--color-scheme-background);
|
565
567
|
color: var(--color-scheme-text-color);
|
566
568
|
border-radius: var(--default-border-radius);
|
@@ -631,8 +633,10 @@ export default {
|
|
631
633
|
display: flex;
|
632
634
|
align-items: center;
|
633
635
|
width: 100%;
|
634
|
-
padding:
|
635
|
-
padding-top: .
|
636
|
+
padding: var(--form-input-padding);
|
637
|
+
padding-top: calc(var(--default-padding) - .06rem);
|
638
|
+
padding-right: calc(var(--default-padding) / 2);
|
639
|
+
padding-bottom: calc(var(--default-padding) - .06rem);
|
636
640
|
outline: none;
|
637
641
|
border-bottom: var(--default-border);
|
638
642
|
text-decoration: none;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdFancybox ---------------------------------------------------------------------------------------- -->
|
2
3
|
<dialog
|
3
4
|
ref="dialog"
|
4
5
|
:class="['cmd-fancybox', {'show-overlay': showOverlay, 'image' : fancyBoxImageUrl || fancyBoxGallery, 'image-gallery': fancyBoxGallery}]"
|
@@ -135,6 +136,7 @@
|
|
135
136
|
/>
|
136
137
|
<!-- end CmdThumbnailScroller -->
|
137
138
|
</dialog>
|
139
|
+
<!-- end CmdFancybox ---------------------------------------------------------------------------------------- -->
|
138
140
|
</template>
|
139
141
|
|
140
142
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdFlexibleScrollContainer ---------------------------------------------------------------------------------------- -->
|
2
3
|
<div :class="['cmd-flexible-scroll-container flexible-scroll-container', {'reverse-order': fixedContainerAtBottom}]">
|
3
4
|
<div class="fixed-wrapper">
|
4
5
|
<!-- begin slot for fixed-wrapper -->
|
@@ -11,6 +12,7 @@
|
|
11
12
|
<!-- end slot for scroll-wrapper -->
|
12
13
|
</div>
|
13
14
|
</div>
|
15
|
+
<!-- end CmdFlexibleScrollContainer ---------------------------------------------------------------------------------------- -->
|
14
16
|
</template>
|
15
17
|
|
16
18
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdForm ---------------------------------------------------------------------------------------- -->
|
2
3
|
<form class="cmd-form" :action="formAction" :data-use-validation="useValidation" @submit="onSubmit"
|
3
4
|
:class="{error: errorOccurred}" :novalidate="novalidate" :method="formMethod">
|
4
5
|
<template v-if="useFieldset">
|
@@ -95,6 +96,7 @@
|
|
95
96
|
<slot v-else></slot>
|
96
97
|
<!-- end default-slot-content -->
|
97
98
|
</form>
|
99
|
+
<!-- end CmdForm ---------------------------------------------------------------------------------------- -->
|
98
100
|
</template>
|
99
101
|
|
100
102
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdFormElement ---------------------------------------------------------------------------------------- -->
|
2
3
|
<label
|
3
4
|
v-if="(element === 'input' || element === 'select' || element === 'textarea')"
|
4
5
|
:class="[
|
@@ -283,6 +284,7 @@
|
|
283
284
|
<!-- end CmdIcon -->
|
284
285
|
</button>
|
285
286
|
<!-- end button -->
|
287
|
+
<!-- end CmdFormElement ---------------------------------------------------------------------------------------- -->
|
286
288
|
</template>
|
287
289
|
|
288
290
|
<script>
|
@@ -1033,6 +1035,13 @@ export default {
|
|
1033
1035
|
.inner-input-wrapper {
|
1034
1036
|
margin: 0;
|
1035
1037
|
|
1038
|
+
&:has(.button, button) {
|
1039
|
+
input {
|
1040
|
+
border-top-right-radius: 0;
|
1041
|
+
border-bottom-right-radius: 0;
|
1042
|
+
}
|
1043
|
+
}
|
1044
|
+
|
1036
1045
|
a.deleteicon {
|
1037
1046
|
position: absolute;
|
1038
1047
|
top: 50%;
|
@@ -1057,7 +1066,8 @@ export default {
|
|
1057
1066
|
|
1058
1067
|
a.button {
|
1059
1068
|
right: 0;
|
1060
|
-
|
1069
|
+
align-self: stretch;
|
1070
|
+
aspect-ratio: 1 / 1; /* square */
|
1061
1071
|
& + a {
|
1062
1072
|
right: 5rem;
|
1063
1073
|
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdFormFilters ---------------------------------------------------------------------------------------- -->
|
2
3
|
<ul v-if="options.length" class="cmd-form-filters">
|
3
4
|
<li v-if="options.length > 1">
|
4
5
|
<a href="#" @click.prevent="deleteAllFilters">
|
@@ -17,6 +18,7 @@
|
|
17
18
|
</a>
|
18
19
|
</li>
|
19
20
|
</ul>
|
21
|
+
<!-- end CmdFormElement ---------------------------------------------------------------------------------------- -->
|
20
22
|
</template>
|
21
23
|
|
22
24
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdGoogleMaps ---------------------------------------------------------------------------------------- -->
|
2
3
|
<div class="cmd-google-maps responsive-wrapper">
|
3
4
|
<!-- begin CmdHeadline -->
|
4
5
|
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline" />
|
@@ -22,6 +23,7 @@
|
|
22
23
|
</iframe>
|
23
24
|
<!-- end iframe with google-map -->
|
24
25
|
</div>
|
26
|
+
<!-- end CmdGoogleMaps ---------------------------------------------------------------------------------------- -->
|
25
27
|
</template>
|
26
28
|
|
27
29
|
<script>
|
@@ -1,10 +1,11 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdHeadline ---------------------------------------------------------------------------------------- -->
|
2
3
|
<!-- begin default-view -->
|
3
4
|
<div v-if="!editModeContext || settingsContext || mainSidebarContext || headlineText"
|
4
5
|
:class="['cmd-headline', {'has-pre-headline-text': preHeadlineText, 'has-icon': cmdIcon?.iconClass}, headlineTextAlign]">
|
5
6
|
<!-- begin headline with pre-headline-text -->
|
6
7
|
<template v-if="preHeadlineText">
|
7
|
-
<component v-if="headlineText" :is="headlineTag">
|
8
|
+
<component v-if="headlineText" :is="headlineTag" :class="highlightLevel">
|
8
9
|
<!-- begin CmdIcon -->
|
9
10
|
<CmdIcon v-if="cmdIcon" v-bind="cmdIcon"/>
|
10
11
|
<!-- end CmdIcon -->
|
@@ -115,6 +116,7 @@
|
|
115
116
|
</template>
|
116
117
|
</EditComponentWrapper>
|
117
118
|
<!-- end edit-mode -->
|
119
|
+
<!-- end CmdHeadline ---------------------------------------------------------------------------------------- -->
|
118
120
|
</template>
|
119
121
|
|
120
122
|
<script>
|
@@ -145,6 +147,21 @@ export default {
|
|
145
147
|
type: [String, Number],
|
146
148
|
default: "2"
|
147
149
|
},
|
150
|
+
/**
|
151
|
+
* set highlight-level for headline
|
152
|
+
*
|
153
|
+
* @allowedValues: "none", "primary", "secondary", "tertiary"
|
154
|
+
*/
|
155
|
+
highlightLevel: {
|
156
|
+
type: Boolean,
|
157
|
+
default: "none",
|
158
|
+
validator(value) {
|
159
|
+
return value === "none" ||
|
160
|
+
value === "primary" ||
|
161
|
+
value === "secondary" ||
|
162
|
+
value === "tertiary"
|
163
|
+
}
|
164
|
+
},
|
148
165
|
/**
|
149
166
|
* small pre-headline-text above main-headline
|
150
167
|
*
|
@@ -314,6 +331,11 @@ export default {
|
|
314
331
|
}
|
315
332
|
|
316
333
|
&.has-icon {
|
334
|
+
h1, h2, h3, h4, h5, h6 {
|
335
|
+
display: flex;
|
336
|
+
align-items: center;
|
337
|
+
}
|
338
|
+
|
317
339
|
&.text-center {
|
318
340
|
justify-content: center;
|
319
341
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdIcon ---------------------------------------------------------------------------------------- -->
|
2
3
|
<!-- begin iconify-icon -->
|
3
4
|
<Icon v-if="isIconify" :icon="iconClass" :title="tooltip" :class="$attrs.class"></Icon>
|
4
5
|
<!-- end iconify-icon -->
|
@@ -6,6 +7,7 @@
|
|
6
7
|
<!-- begin icon from local iconfont -->
|
7
8
|
<span v-else :class="[iconClass, $attrs.class]" :title="tooltip"></span>
|
8
9
|
<!-- end icon from local iconfont -->
|
10
|
+
<!-- end CmdIcon ---------------------------------------------------------------------------------------- -->
|
9
11
|
</template>
|
10
12
|
|
11
13
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdImage ---------------------------------------------------------------------------------------- -->
|
2
3
|
<!-- begin edit-mode -->
|
3
4
|
<EditComponentWrapper
|
4
5
|
v-if="editModeContext"
|
@@ -108,7 +109,9 @@
|
|
108
109
|
<img v-else class="cmd-image" :src="imageSource" :alt="image?.alt" :title="image?.tooltip" :loading="image?.lazyLoading ? 'lazy' : null" @load="onImageLoaded"/>
|
109
110
|
<!-- end image without figure/figcaption -->
|
110
111
|
<!-- end default-view -->
|
112
|
+
<!-- end CmdImage ---------------------------------------------------------------------------------------- -->
|
111
113
|
</template>
|
114
|
+
|
112
115
|
<script>
|
113
116
|
import {createUuid} from "../utils/common.js"
|
114
117
|
import {checkAndUploadFile} from "../utils/checkAndUploadFile"
|
@@ -1,5 +1,6 @@
|
|
1
1
|
<template>
|
2
|
-
|
2
|
+
<!-- begin CmdImageGallery ---------------------------------------------------------------------------------------- -->
|
3
|
+
<div class="cmd-image-gallery grid-container-create-columns">
|
3
4
|
<!-- begin cmd-headline -->
|
4
5
|
<CmdHeadline
|
5
6
|
v-if="cmdHeadline?.headlineText || editModeContext"
|
@@ -47,6 +48,7 @@
|
|
47
48
|
</button>
|
48
49
|
<!-- end show placeholder if no image exists (and component is not edited) -->
|
49
50
|
</div>
|
51
|
+
<!-- end CmdImageGallery ---------------------------------------------------------------------------------------- -->
|
50
52
|
</template>
|
51
53
|
|
52
54
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdImageZoom ---------------------------------------------------------------------------------------- -->
|
2
3
|
<div class="cmd-image-zoom flex-container">
|
3
4
|
<!-- begin small image -->
|
4
5
|
<a href="#" class="flex-none thumbnail-imagezoom" :title="imageSmall.image.tooltip">
|
@@ -22,6 +23,7 @@
|
|
22
23
|
|
23
24
|
<!-- end large image -->
|
24
25
|
</div>
|
26
|
+
<!-- end CmdImageZoom ---------------------------------------------------------------------------------------- -->
|
25
27
|
</template>
|
26
28
|
|
27
29
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdInnerLink ---------------------------------------------------------------------------------------- -->
|
2
3
|
<img v-if="image?.src && (image?.position === 'left' || image?.position === 'top' || !image?.position)" :src="image?.src" :alt="image?.alt" />
|
3
4
|
<span v-if="icon?.iconClass && (icon?.position === 'left' || icon?.position === 'top' || !icon?.position)" :class="icon?.iconClass" :title="icon?.tooltip"></span>
|
4
5
|
<span v-if="text">{{ text }}</span>
|
@@ -7,6 +8,7 @@
|
|
7
8
|
<!-- begin default-slot -->
|
8
9
|
<slot></slot>
|
9
10
|
<!-- end default-slot -->
|
11
|
+
<!-- end CmdInnerLink ---------------------------------------------------------------------------------------- -->
|
10
12
|
</template>
|
11
13
|
|
12
14
|
<script>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- begin CmdInputGroup ---------------------------------------------------------------------------------------- -->
|
2
3
|
<div :class="[
|
3
4
|
'cmd-input-group label',
|
4
5
|
validationStatus,
|
@@ -80,6 +81,7 @@
|
|
80
81
|
</div>
|
81
82
|
<!-- end useSlot -->
|
82
83
|
</div>
|
84
|
+
<!-- end CmdInputGroup ---------------------------------------------------------------------------------------- -->
|
83
85
|
</template>
|
84
86
|
|
85
87
|
<script>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<template>
|
2
|
-
<!-- begin CmdLink -->
|
2
|
+
<!-- begin CmdLink ---------------------------------------------------------------------------------------- -->
|
3
3
|
<!-- begin href -->
|
4
4
|
<a v-if="linkType === 'href'"
|
5
5
|
:href="!disabled ? path : null"
|
6
6
|
:target="target"
|
7
|
-
:class="['cmd-link', {'button': styleAsButton, '
|
7
|
+
:class="['cmd-link', highlightLevel, {'button': styleAsButton, 'disabled': disabled, 'box': styleAsBox, 'fancybox': fancybox}]"
|
8
8
|
@click.prevent="emitClick($event, 'href')"
|
9
9
|
:title="icon?.tooltip"
|
10
10
|
>
|
@@ -21,7 +21,8 @@
|
|
21
21
|
<!-- begin router-link -->
|
22
22
|
<router-link v-else-if="linkType === 'router'"
|
23
23
|
:to="!disabled ? path : {}"
|
24
|
-
|
24
|
+
exact-active-class="router-link-exact-active active"
|
25
|
+
:class="['cmd-link', highlightLevel, {'button': styleAsButton, 'disabled': disabled, 'box': styleAsBox, 'fancybox': fancybox}]"
|
25
26
|
@click="emitClick($event, 'router')"
|
26
27
|
:title="icon?.tooltip">
|
27
28
|
<!-- begin CmdInnterLink -->
|
@@ -36,7 +37,7 @@
|
|
36
37
|
|
37
38
|
<!-- begin button -->
|
38
39
|
<button v-else-if="linkType === 'button' || linkType === 'submit'"
|
39
|
-
:class="['cmd-link button',
|
40
|
+
:class="['cmd-link button', highlightLevel, {'disabled': disabled, 'box': styleAsBox, 'fancybox': fancybox}]"
|
40
41
|
type="submit"
|
41
42
|
:disabled="disabled"
|
42
43
|
@click="emitClick($event, 'button')"
|
@@ -51,7 +52,7 @@
|
|
51
52
|
<!-- end CmdInnterLink -->
|
52
53
|
</button>
|
53
54
|
<!-- end button -->
|
54
|
-
<!-- end CmdLink -->
|
55
|
+
<!-- end CmdLink ---------------------------------------------------------------------------------------- -->
|
55
56
|
</template>
|
56
57
|
|
57
58
|
<script>
|
@@ -123,13 +124,19 @@ export default {
|
|
123
124
|
default: false
|
124
125
|
},
|
125
126
|
/**
|
126
|
-
*
|
127
|
-
*
|
128
|
-
*
|
127
|
+
* set highlight-level for link/button
|
128
|
+
*
|
129
|
+
* @allowedValues: "none", "primary", "secondary", "tertiary"
|
129
130
|
*/
|
130
|
-
|
131
|
+
highlightLevel: {
|
131
132
|
type: Boolean,
|
132
|
-
default:
|
133
|
+
default: "primary",
|
134
|
+
validator(value) {
|
135
|
+
return value === "none" ||
|
136
|
+
value === "primary" ||
|
137
|
+
value === "secondary" ||
|
138
|
+
value === "tertiary"
|
139
|
+
}
|
133
140
|
},
|
134
141
|
/**
|
135
142
|
* activate if link/button should be disabled
|