comand-component-library 4.1.76 → 4.1.78

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,214 @@
1
+ <template>
2
+ <div :class="['cmd-list-of-images',
3
+ {
4
+ box: styleAsBox
5
+ }
6
+ ]">
7
+ <!-- begin cmd-headline -->
8
+ <CmdHeadline
9
+ v-if="cmdHeadline?.headlineText || editModeContext"
10
+ v-bind="cmdHeadline"
11
+ />
12
+ <!-- end cmd-headline -->
13
+
14
+ <!-- begin list of images -->
15
+ <ul :class="['list-of-images', {vertical: orientation === 'vertical'}]">
16
+ <li v-for="(image, index) in images" :key="index">
17
+ <!-- begin CmdImage with link-->
18
+ <a v-if="image.image.url" href="#">
19
+ <CmdImage v-bind="image" />
20
+ </a>
21
+ <!-- end CmdImage with link-->
22
+
23
+ <!-- begin CmdImage without link-->
24
+ <CmdImage v-else v-bind="image" />
25
+ <!-- end CmdImage without link-->
26
+ </li>
27
+ <!-- end edit-mode -->
28
+ </ul>
29
+ <!-- end list of links -->
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ // import mixins (editMode only)
35
+ // import EditMode from "../mixins/EditMode.vue"
36
+
37
+ // import utils (editMode only)
38
+ // import {buildComponentPath, updateHandlerProvider} from "../utils/editmode.js"
39
+
40
+ export default {
41
+ name: "CmdListOfImages",
42
+ emits: ["click"],
43
+ // mixins: [EditMode],
44
+ props: {
45
+ /**
46
+ * style component like a box
47
+ *
48
+ * @affectsStyling: true
49
+ */
50
+ styleAsBox: {
51
+ type: Boolean,
52
+ default: false
53
+ },
54
+ /**
55
+ * list of displayed images
56
+ */
57
+ images: {
58
+ type: Array,
59
+ required: false
60
+ },
61
+ /**
62
+ * toggle orientation of list
63
+ *
64
+ * @allowedValues: horizontal, vertical
65
+ */
66
+ orientation: {
67
+ type: String,
68
+ default: "vertical",
69
+ validator(value) {
70
+ return value === "horizontal" ||
71
+ value === "vertical"
72
+ }
73
+ },
74
+ /**
75
+ * properties for CmdHeadline-component
76
+ */
77
+ cmdHeadline: {
78
+ type: Object,
79
+ required: false
80
+ }
81
+ },
82
+ methods: {
83
+ /*
84
+ onAddItem() {
85
+ this.editModeContext.content.addContent(
86
+ buildComponentPath(this, 'props', 'links', -1),
87
+ this.itemProvider)
88
+ },
89
+ itemProvider() {
90
+ return {
91
+ "iconClass": "icon-user-profile",
92
+ "type": "href",
93
+ "text": "Linktext",
94
+ "path": "#",
95
+ "tooltip": "Tooltip",
96
+ "target": "_blank"
97
+ }
98
+ },
99
+ updateHandlerProvider() {
100
+ return updateHandlerProvider(this, {
101
+ update(props, childUpdateHandlers) {
102
+ const cmdHeadlineUpdateHandler = childUpdateHandlers?.find(handler => handler.name === "CmdHeadline")
103
+ if (cmdHeadlineUpdateHandler) {
104
+ props.cmdHeadline = props.cmdHeadline || {}
105
+ cmdHeadlineUpdateHandler.update(props.cmdHeadline)
106
+ }
107
+ }
108
+ })
109
+ }
110
+ */
111
+ }
112
+ }
113
+ </script>
114
+
115
+ <style>
116
+ /* begin cmd-list-of-links ---------------------------------------------------------------------------------------- */
117
+ .cmd-list-of-links {
118
+ > ul {
119
+ flex-direction: column;
120
+ gap: calc(var(--default-gap) / 2);
121
+ margin: 0;
122
+
123
+ li {
124
+ list-style: none;
125
+ margin-left: 0 !important; /* overwrite default-settings from frontend-framework */
126
+ }
127
+
128
+ &.align-center {
129
+ justify-content: center;
130
+ }
131
+
132
+ &.align-right li {
133
+ text-align: right;
134
+ }
135
+
136
+ ul {
137
+ display: flex;
138
+ flex-direction: column;
139
+ margin-left: calc(var(--default-padding) * 2);
140
+ }
141
+ }
142
+
143
+ &.show-list-style-items {
144
+ li {
145
+ list-style-type: disc;
146
+ margin-left: 1.7rem;
147
+ }
148
+ }
149
+
150
+ &.horizontal {
151
+ > ul {
152
+ gap: var(--default-gap);
153
+ flex-direction: row;
154
+
155
+ > li {
156
+ flex: none;
157
+ display: flex;
158
+ flex-direction: column;
159
+ }
160
+
161
+ &.align-right {
162
+ justify-content: flex-end;
163
+ }
164
+
165
+ &.stretch {
166
+ justify-content: space-around;
167
+ }
168
+ }
169
+
170
+ }
171
+
172
+ &.large-icons {
173
+ li {
174
+ list-style-type: none;
175
+
176
+ a {
177
+ display: flex;
178
+ flex-direction: column;
179
+ gap: calc(var(--default-gap) / 4);
180
+ text-decoration: none;
181
+ align-items: center;
182
+ justify-content: center;
183
+
184
+ span {
185
+ margin: 0;
186
+ }
187
+
188
+ [class*="icon-"] {
189
+ font-size: 5rem;
190
+ }
191
+ }
192
+ }
193
+ }
194
+ }
195
+ </style>
196
+
197
+ <style lang="scss">
198
+ @import '../assets/styles/variables';
199
+
200
+ @media only screen and (max-width: $medium-max-width) {
201
+ .cmd-list-of-links {
202
+ > ul {
203
+ ul {
204
+ gap: calc(var(--default-gap) / 2);
205
+
206
+ > li:first-child {
207
+ margin-top: calc(var(--default-gap) / 2);
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+ /* end cmd-list-of-links------------------------------------------------------------------------------------------ */
214
+ </style>
@@ -36,7 +36,7 @@
36
36
 
37
37
  <!-- begin table -->
38
38
  <table ref="table" :class="{'full-width': fullWidth}">
39
- <slot name="table-top">
39
+ <slot name="table-caption">
40
40
  <caption v-if="tableData.caption?.text || caption?.text" :class="{ hidden: hideCaption }">
41
41
  {{ caption?.text || tableData.caption?.text }}
42
42
  </caption>
@@ -16,7 +16,7 @@
16
16
  <!-- being tab-content -->
17
17
  <!-- begin slot -->
18
18
  <template v-if="useSlot">
19
- <div v-show="showTab === index - 1" v-for="index in tabs.length" :key="index" aria-live="assertive" :class="{'no-padding': !useDefaultPadding}">
19
+ <div v-show="showTab === index - 1" v-for="index in tabs.length" :key="index" aria-live="assertive" :class="['tab-content-' + (index - 1), {'no-padding': !useDefaultPadding}]">
20
20
  <!-- begin named slot-content -->
21
21
  <slot :name="'tab-content-' + (index - 1)"></slot>
22
22
  <!-- end named slot-content -->
@@ -388,7 +388,7 @@ function buildComponentPath(component) {
388
388
  &.edit-mode input, select, .cmd-fake-select {
389
389
  padding: 0;
390
390
  height: auto;
391
- min-height: calc(var(--input-height) / 2);
391
+ min-height: calc(var(--form-input-height) / 2);
392
392
  }
393
393
  }
394
394