comand-component-library 3.3.4 → 3.3.6

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.
Files changed (36) hide show
  1. package/dist/comand-component-library.css +1 -1
  2. package/dist/comand-component-library.umd.min.js +1 -1
  3. package/package.json +1 -1
  4. package/src/components/CmdAddressData.vue +36 -6
  5. package/src/components/CmdBackToTopButton.vue +4 -2
  6. package/src/components/CmdBankAccountData.vue +3 -2
  7. package/src/components/CmdBox.vue +6 -4
  8. package/src/components/CmdBoxWrapper.vue +6 -2
  9. package/src/components/CmdBreadcrumbs.vue +15 -3
  10. package/src/components/CmdCompanyLogo.vue +0 -2
  11. package/src/components/CmdFakeSelect.vue +41 -12
  12. package/src/components/CmdFancyBox.vue +11 -3
  13. package/src/components/CmdFormElement.vue +30 -6
  14. package/src/components/CmdFormFilters.vue +17 -8
  15. package/src/components/CmdHeadline.vue +3 -3
  16. package/src/components/CmdInputGroup.vue +8 -1
  17. package/src/components/CmdListOfLinks.vue +9 -3
  18. package/src/components/CmdListOfRequirements.vue +18 -11
  19. package/src/components/CmdLoginForm.vue +46 -27
  20. package/src/components/CmdMainNavigation.vue +30 -10
  21. package/src/components/CmdMultistepFormProgressBar.vue +15 -3
  22. package/src/components/CmdPager.vue +10 -2
  23. package/src/components/CmdShareButtons.vue +9 -3
  24. package/src/components/CmdSiteHeader.vue +3 -1
  25. package/src/components/CmdSiteSearch.vue +30 -5
  26. package/src/components/CmdSystemMessage.vue +10 -5
  27. package/src/components/CmdTable.vue +12 -2
  28. package/src/components/CmdTabs.vue +9 -1
  29. package/src/components/CmdTooltip.vue +6 -2
  30. package/src/components/CmdUploadForm.vue +116 -47
  31. package/src/documentation/generated/CmdFakeSelectPropertyDescriptions.json +6 -1
  32. package/src/documentation/generated/CmdFormFiltersPropertyDescriptions.json +1 -1
  33. package/src/documentation/generated/CmdHeadlinePropertyDescriptions.json +1 -1
  34. package/src/documentation/generated/CmdSiteSearchPropertyDescriptions.json +6 -1
  35. package/src/documentation/generated/CmdUploadFormPropertyDescriptions.json +16 -16
  36. package/src/mixins/FieldValidation.js +33 -8
@@ -16,7 +16,9 @@
16
16
  :target="link.target"
17
17
  @click="executeLink(link, $event)"
18
18
  :title="link.tooltip && link.tooltip !== undefined ? link.tooltip : undefined">
19
- <span v-if="link.iconClass" :class="link.iconClass"></span>
19
+ <!-- begin CmdIcon -->
20
+ <CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
21
+ <!-- end CmdIcon -->
20
22
  <span v-if="link.text">{{ link.text }}</span>
21
23
  </a>
22
24
  <!-- end use href --->
@@ -25,7 +27,9 @@
25
27
  <router-link v-else-if="link.type === 'router'"
26
28
  :to="getRoute(link)"
27
29
  :title="link.tooltip">
28
- <span v-if="link.iconClass" :class="link.iconClass"></span>
30
+ <!-- begin CmdIcon -->
31
+ <CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
32
+ <!-- end CmdIcon -->
29
33
  <span v-if="link.text">{{ link.text }}</span>
30
34
  </router-link>
31
35
  <!-- end use router-link -->
@@ -42,11 +46,13 @@ import {openFancyBox} from "./CmdFancyBox.vue"
42
46
 
43
47
  // import components
44
48
  import CmdHeadline from "./CmdHeadline"
49
+ import CmdIcon from "./CmdIcon"
45
50
 
46
51
  export default {
47
52
  name: "CmdListOfLinks",
48
53
  components: {
49
- CmdHeadline
54
+ CmdHeadline,
55
+ CmdIcon
50
56
  },
51
57
  props: {
52
58
  /**
@@ -1,22 +1,24 @@
1
1
  <template>
2
2
  <div class="cmd-list-of-requirements">
3
- <!-- begin cmd-custom-headline -->
3
+ <!-- begin CmdHeadline -->
4
4
  <CmdHeadline v-if="showHeadline" :headline-level="cmdHeadline.headlineLevel">
5
5
  {{ headlineRequirements }}<template v-if="labelText"><br/><em>{{ labelText }}</em></template>
6
6
  </CmdHeadline>
7
- <!-- end cmd-custom-headline -->
7
+ <!-- end CmdHeadline -->
8
8
 
9
9
  <!-- begin list of requirements -->
10
10
  <dl>
11
11
  <template v-for="(requirement, index) in inputRequirements" :key="index">
12
12
  <dt aria-live="assertive" :class="requirement.valid(inputModelValue, inputAttributes) ? 'success' : 'error'">{{ requirement.message }}:</dt>
13
13
  <dd :class="requirement.valid(inputModelValue, inputAttributes) ? 'success' : 'error'">
14
- <span
14
+ <!-- begin CmdIcon -->
15
+ <CmdIcon
15
16
  aria-live="assertive"
16
- :class="requirement.valid(inputModelValue, inputAttributes) ? iconSuccess.iconClass : iconError.iconClass"
17
+ :iconClass="requirement.valid(inputModelValue, inputAttributes) ? iconSuccess.iconClass : iconError.iconClass"
18
+ :type="requirement.valid(inputModelValue, inputAttributes) ? iconSuccess.iconType : iconError.iconType"
17
19
  :title="requirement.valid(inputModelValue, inputAttributes) ? iconSuccess.tooltip : iconError.tooltip"
18
- >
19
- </span>
20
+ />
21
+ <!-- end CmdIcon -->
20
22
  </dd>
21
23
  </template>
22
24
  </dl>
@@ -31,10 +33,13 @@
31
33
  :target="helplink.target"
32
34
  @click.prevent
33
35
  >
34
- <span v-if="helplink.icon?.iconClass"
35
- :class="helplink.icon?.iconClass"
36
- :title="helplink.icon?.tooltip">
37
- </span>
36
+ <!-- begin CmdIcon -->
37
+ <CmdIcon
38
+ v-if="helplink.icon?.iconClass"
39
+ :class="helplink.icon?.iconClass"
40
+ :title="helplink.icon?.tooltip"
41
+ />
42
+ <!-- end CmdIcon -->
38
43
  <span v-if="helplink.text">
39
44
  {{ helplink.text }}
40
45
  </span>
@@ -47,6 +52,7 @@
47
52
  <script>
48
53
  // import components
49
54
  import CmdHeadline from "./CmdHeadline"
55
+ import CmdIcon from "./CmdIcon"
50
56
 
51
57
  // import mixins
52
58
  import I18n from "../mixins/I18n"
@@ -55,7 +61,8 @@ import DefaultMessageProperties from "../mixins/CmdListOfRequirements/DefaultMes
55
61
  export default {
56
62
  name: "CmdListOfRequirements",
57
63
  components: {
58
- CmdHeadline
64
+ CmdHeadline,
65
+ CmdIcon
59
66
  },
60
67
  mixins: [
61
68
  I18n,
@@ -47,30 +47,38 @@
47
47
  <template v-if="options.forgotPassword || options.createAccount">
48
48
  <!-- begin link for 'forgot password' -->
49
49
  <a v-if="options.forgotPassword" href="#" @click.prevent="sendLogin = true">
50
- <span v-if="options.forgotPassword.icon?.show && options.forgotPassword.icon?.iconClass"
51
- :class="options.forgotPassword.icon.iconClass"
52
- :title="options.forgotPassword.icon.tooltip">
53
- </span>
50
+ <!-- begin CmdIcon -->
51
+ <CmdIcon v-if="options.forgotPassword.icon?.show && options.forgotPassword.icon?.iconClass"
52
+ :iconClass="options.forgotPassword.icon.iconClass"
53
+ :type="options.forgotPassword.icon.iconType"
54
+ :title="options.forgotPassword.icon.tooltip"
55
+ />
56
+ <!-- end CmdIcon -->
54
57
  <span v-if="options.forgotPassword.text">{{ options.forgotPassword.text }}</span>
55
58
  </a>
56
59
  <!-- end link for 'forgot password' -->
57
60
 
58
61
  <!-- begin link-type 'href' for 'create account' -->
59
62
  <a v-if="options.createAccount && options.createAccount.linkType === 'href'" :href="options.createAccount.path">
60
- <span v-if="options.createAccount.icon?.show && options.createAccount.icon?.iconClass"
61
- :class="options.createAccount.icon.iconClass"
62
- :title="options.forgotPassword.icon.tooltip">
63
- </span>
63
+ <!-- begin CmdIcon -->
64
+ <CmdIcon v-if="options.createAccount.icon?.show && options.createAccount.icon?.iconClass"
65
+ :iconClass="options.createAccount.icon.iconClass"
66
+ :type="options.createAccount.icon.iconType"
67
+ :title="options.createAccount.icon.tooltip" />
68
+ <!-- end CmdIcon -->
64
69
  <span v-if="options.createAccount.text">{{ options.createAccount.text }}</span>
65
70
  </a>
66
71
  <!-- end link-type 'href' for 'create account' -->
67
72
 
68
73
  <!-- begin link-type 'router' for 'create account' -->
69
74
  <router-link v-else-if="options.createAccount && options.createAccount.linkType === 'router'" :to="options.createAccount.path">
70
- <span v-if="options.createAccount.icon && options.createAccount.icon.show && options.createAccount.icon.iconClass"
75
+ <!-- begin CmdIcon -->
76
+ <CmdIcon v-if="options.createAccount.icon && options.createAccount.icon.show && options.createAccount.icon.iconClass"
71
77
  :class="options.createAccount.icon.iconClass"
72
- :title="options.forgotPassword.icon.tooltip">
73
- </span>
78
+ :type="options.createAccount.icon.iconType"
79
+ :title="options.createAccount.icon.tooltip" />
80
+ />
81
+ <!-- end CmdIcon -->
74
82
  <span v-if="options.createAccount.text">{{ options.createAccount.text }}</span>
75
83
  </router-link>
76
84
  <!-- end link-type 'router' for 'create account' -->
@@ -84,11 +92,14 @@
84
92
  @click="onClick"
85
93
  :disabled="buttonLoginDisabled"
86
94
  >
87
- <span
88
- v-if="buttons.login.icon.iconClass"
89
- :class="buttons.login.icon.iconClass"
90
- :title="buttons.login.icon.tooltip"
91
- ></span>
95
+ <!-- begin CmdIcon -->
96
+ <CmdIcon
97
+ v-if="buttons.login.icon.iconClass"
98
+ :iconClass="buttons.login.icon.iconClass"
99
+ :type="buttons.login.icon.iconType"
100
+ :title="buttons.login.icon.tooltip"
101
+ />
102
+ <!-- end CmdIcon -->
92
103
  <span v-if="buttons.login.text">{{ buttons.login.text }}</span>
93
104
  </button>
94
105
  <!-- begin link-type 'button' -->
@@ -123,10 +134,14 @@
123
134
 
124
135
  <div class="option-wrapper flex-container">
125
136
  <a href="#" @click.prevent="sendLogin = false">
126
- <span v-if="options.backToLoginForm && options.backToLoginForm.icon && options.backToLoginForm.icon.show && options.backToLoginForm.icon.iconClass"
127
- :class="options.backToLoginForm.icon.iconClass"
128
- :title="options.backToLoginForm.tooltip">
129
- </span>
137
+ <!-- begin CmdIcon -->
138
+ <CmdIcon
139
+ v-if="options.backToLoginForm && options.backToLoginForm.icon && options.backToLoginForm.icon.show && options.backToLoginForm.icon.iconClass"
140
+ :iconClass="options.backToLoginForm.icon.iconClass"
141
+ :type="options.backToLoginForm.icon.iconType"
142
+ :title="options.backToLoginForm.icon.tooltip"
143
+ />
144
+ <!-- end CmdIcon -->
130
145
  <span v-if="options.backToLoginForm.text">
131
146
  {{ options.backToLoginForm.text }}
132
147
  </span>
@@ -139,11 +154,13 @@
139
154
  :class="['button', { primary: buttons.sendLogin.primary }]"
140
155
  :disabled="buttonSendLoginDisabled"
141
156
  >
142
- <span
143
- v-if="buttons.sendLogin.icon?.iconClass"
144
- :class="buttons.sendLogin.icon?.iconClass"
145
- :title="buttons.sendLogin.icon?.tooltip"
146
- ></span>
157
+ <!-- begin CmdIcon -->
158
+ <CmdIcon
159
+ v-if="buttons.sendLogin.icon?.iconClass"
160
+ :iconClass="buttons.sendLogin.icon?.iconClass"
161
+ :title="buttons.sendLogin.icon?.tooltip"
162
+ />
163
+ <!-- end CmdIcon -->
147
164
  <span v-if="buttons.sendLogin.text">{{ buttons.sendLogin.text }}</span>
148
165
  </button>
149
166
  <!-- end link-type 'button' -->
@@ -157,8 +174,9 @@
157
174
  import {getRoute} from "../utilities.js"
158
175
 
159
176
  // import components
160
- import CmdHeadline from "./CmdHeadline"
161
177
  import CmdFormElement from "./CmdFormElement"
178
+ import CmdHeadline from "./CmdHeadline"
179
+ import CmdIcon from "./CmdIcon"
162
180
 
163
181
  export default {
164
182
  name: "CmdLoginForm",
@@ -172,8 +190,9 @@ export default {
172
190
  }
173
191
  },
174
192
  components: {
193
+ CmdFormElement,
175
194
  CmdHeadline,
176
- CmdFormElement
195
+ CmdIcon
177
196
  },
178
197
  props: {
179
198
  /**
@@ -14,7 +14,9 @@
14
14
  <ul :class="{'stretch-items' : stretchMainItems}">
15
15
  <li class="close-nav" v-if="showOffcanvas">
16
16
  <a href="#" id="close-offcanvas" role="button" @click.prevent="closeOffcanvasNavigation">
17
- <span v-if="closeOffcanvas.iconClass" :class="closeOffcanvas.iconClass"></span>
17
+ <!-- begin CmdIcon -->
18
+ <CmdIcon v-if="closeOffcanvas.iconClass" :iconClass="closeOffcanvas.iconClass" :type="closeOffcanvas.iconType" />
19
+ <!-- end CmdIcon -->
18
20
  <span :class="{'hidden': !closeOffcanvas.showText}">{{ closeOffcanvas.text }}</span>
19
21
  </a>
20
22
  </li>
@@ -30,7 +32,9 @@
30
32
  @mouseover="closeAllSubentries()"
31
33
  @focus="closeAllSubentries()"
32
34
  >
33
- <span v-if="navigationEntry.iconClass" :class="navigationEntry.iconClass"></span>
35
+ <!-- begin CmdIcon -->
36
+ <CmdIcon v-if="navigationEntry.iconClass" :iconClass="navigationEntry.iconClass" :type="navigationEntry.iconType" />
37
+ <!-- end CmdIcon -->
34
38
  <span v-if="navigationEntry.text">{{ navigationEntry.text }}</span>
35
39
  <span v-if="navigationEntry?.subentries?.length"
36
40
  :class="['subentry-icon', subentriesIconClass]"
@@ -44,7 +48,9 @@
44
48
  :to="getRoute(navigationEntry)"
45
49
  :title="navigationEntry.tooltip"
46
50
  >
47
- <span v-if="navigationEntry.iconClass" :class="navigationEntry.iconClass"></span>
51
+ <!-- begin CmdIcon -->
52
+ <CmdIcon v-if="navigationEntry.iconClass" :iconClass="navigationEntry.iconClass" :type="navigationEntry.iconType" />
53
+ <!-- end CmdIcon -->
48
54
  <span v-if="navigationEntry.text">{{ navigationEntry.text }}</span>
49
55
  <span v-if="navigationEntry.subentries && navigationEntry.subentries.length > 0"
50
56
  :class="['subentry-icon', subentriesIconClass]"></span>
@@ -63,7 +69,9 @@
63
69
  @mouseover="closeAllSubentries(1)"
64
70
  @focus="closeAllSubentries(1)"
65
71
  >
66
- <span v-if="navigationSubEntry.iconClass" :class="navigationSubEntry.iconClass"></span>
72
+ <!-- begin CmdIcon -->
73
+ <CmdIcon v-if="navigationSubEntry.iconClass" :iconClass="navigationSubEntry.iconClass" :type="navigationSubEntry.iconType" />
74
+ <!-- end CmdIcon -->
67
75
  <span v-if="navigationSubEntry.text">{{ navigationSubEntry.text }}</span>
68
76
  <span v-if="navigationSubEntry.subentries && navigationSubEntry.subentries.length > 0"
69
77
  :class="['subentry-icon', subentriesIconClass]"
@@ -77,7 +85,9 @@
77
85
  :to="getRoute(navigationSubEntry)"
78
86
  :title="navigationSubEntry.tooltip"
79
87
  >
80
- <span v-if="navigationSubEntry.iconClass" :class="navigationSubEntry.iconClass"></span>
88
+ <!-- begin CmdIcon -->
89
+ <CmdIcon v-if="navigationSubEntry.iconClass" :iconClass="navigationSubEntry.iconClass" :type="navigationSubEntry.iconType" />
90
+ <!-- end CmdIcon -->
81
91
  <span v-if="navigationSubEntry.text">{{ navigationSubEntry.text }}</span>
82
92
  <span v-if="navigationSubEntry.subentries && navigationSubEntry.subentries.length > 0"
83
93
  :class="['subentry-icon', subentriesIconClass]"></span>
@@ -95,7 +105,9 @@
95
105
  :target="navigationSubSubEntry.target"
96
106
  @click="executeLink($event, navigationSubSubEntry)"
97
107
  >
98
- <span v-if="navigationSubSubEntry.iconClass" :class="navigationSubSubEntry.iconClass"></span>
108
+ <!-- begin CmdIcon -->
109
+ <CmdIcon v-if="navigationSubSubEntry.iconClass" :iconClass="navigationSubSubEntry.iconClass" :type="navigationSubSubEntry.iconType" />
110
+ <!-- end CmdIcon -->
99
111
  <span v-if="navigationSubSubEntry.text">{{ navigationSubSubEntry.text }}</span>
100
112
  <span v-if="navigationSubSubEntry.subentries && navigationSubSubEntry.subentries.length > 0"
101
113
  :class="['subentry-icon', subentriesIconClass]"
@@ -107,7 +119,9 @@
107
119
  <router-link v-if="navigationEntry.type === 'router'"
108
120
  :to="getRoute(navigationSubSubEntry)"
109
121
  :target="navigationSubSubEntry.target">
110
- <span v-if="navigationSubSubEntry.iconClass" :class="navigationSubSubEntry.iconClass"></span>
122
+ <!-- begin CmdIcon -->
123
+ <CmdIcon v-if="navigationSubSubEntry.iconClass" :iconClass="navigationSubSubEntry.iconClass" :type="navigationSubSubEntry.iconType" />
124
+ <!-- end CmdIcon -->
111
125
  <span v-if="navigationSubSubEntry.text">{{ navigationSubSubEntry.text }}</span>
112
126
  <span v-if="navigationSubSubEntry.subentries && navigationSubSubEntry.subentries.length > 0"
113
127
  :class="['subentry-icon', subentriesIconClass]"></span>
@@ -126,7 +140,9 @@
126
140
 
127
141
  <!-- begin offCanvasButton -->
128
142
  <a v-if="persistOnMobile === false" href="#" class="button" id="toggle-offcanvas" @click.prevent="toggleOffcanvasNavigation">
129
- <span :class="buttonOffcanvas.iconClass"></span>
143
+ <!-- begin CmdIcon -->
144
+ <CmdIcon :iconClass="buttonOffcanvas.iconClass" :type="buttonOffcanvas.iconType" />
145
+ <!-- end CmdIcon -->
130
146
  <span :class="{'hidden' : !buttonOffcanvas.showText}">{{ buttonOffcanvas.text }}</span>
131
147
  </a>
132
148
  <!-- end offCanvasButton -->
@@ -137,8 +153,14 @@
137
153
  // import functions
138
154
  import {getRoute} from "../utilities.js"
139
155
 
156
+ // import components
157
+ import CmdIcon from "./CmdIcon"
158
+
140
159
  export default {
141
160
  name: "CmdMainNavigation",
161
+ components: {
162
+ CmdIcon
163
+ },
142
164
  data() {
143
165
  return {
144
166
  showOffcanvas: false,
@@ -286,8 +308,6 @@ export default {
286
308
  @import '../assets/styles/variables';
287
309
 
288
310
  .cmd-main-navigation {
289
- grid-area: main-navigation;
290
-
291
311
  &.hide-sub-navigation {
292
312
  ul {
293
313
  ul {
@@ -7,7 +7,9 @@
7
7
  :title="step.tooltip"
8
8
  >
9
9
  <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
10
- <span v-if="step.iconClass" :class="step.iconClass"></span>
10
+ <!-- begin CmdIcon -->
11
+ <CmdIcon v-if="step.iconClass" :iconClass="step.iconClass" :type="step.iconType" />
12
+ <!-- end CmdIcon -->
11
13
  <span v-if="step.text">{{ step.text }}</span>
12
14
  <span :class="separatorIconClass"></span>
13
15
  </a>
@@ -20,7 +22,9 @@
20
22
  :title="step.tooltip"
21
23
  >
22
24
  <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
23
- <span v-if="step.iconClass" :class="step.iconClass"></span>
25
+ <!-- begin CmdIcon -->
26
+ <CmdIcon v-if="step.iconClass" :iconClass="step.iconClass" :type="step.iconType" />
27
+ <!-- end CmdIcon -->
24
28
  <span v-if="step.text">{{ step.text }}</span>
25
29
  <span :class="separatorIconClass"></span>
26
30
  </router-link>
@@ -37,7 +41,9 @@
37
41
  @click.stop.prevent="clickedStep($event, index)"
38
42
  >
39
43
  <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
40
- <span v-if="step.iconClass" :class="step.iconClass"></span>
44
+ <!-- begin CmdIcon -->
45
+ <CmdIcon v-if="step.iconClass" :iconClass="step.iconClass" :type="step.iconType" />
46
+ <!-- end CmdIcon -->
41
47
  <span v-if="step.text">{{ step.text }}</span>
42
48
  <span :class="separatorIconClass"></span>
43
49
  </button>
@@ -50,8 +56,14 @@
50
56
  // import functions
51
57
  import {getRoute} from "../utilities.js"
52
58
 
59
+ // import components
60
+ import CmdIcon from "./CmdIcon"
61
+
53
62
  export default {
54
63
  name: 'CmdMultistepFormProgressBar',
64
+ components: {
65
+ CmdIcon
66
+ },
55
67
  data() {
56
68
  return {
57
69
  activeLink: 0
@@ -26,8 +26,10 @@
26
26
  <!-- begin button to next page -->
27
27
  <a class="page-change" :class="{'disabled': currentPage === numberOfPages, 'button': showLinksAsButtons}"
28
28
  @click.prevent="nextPage">
29
- <span v-if="nextButton.buttonText">{{ nextButton.buttonText }}</span><span
30
- :class="nextButton.iconClass"></span>
29
+ <span v-if="nextButton.buttonText">{{ nextButton.buttonText }}</span>
30
+ <!-- begin CmdIcon -->
31
+ <CmdIcon :iconClass="nextButton.iconClass" :type="nextButton.iconType" />
32
+ <!-- end CmdIcon -->
31
33
  </a>
32
34
  <!-- end button to next page -->
33
35
  </div>
@@ -35,8 +37,14 @@
35
37
  </template>
36
38
 
37
39
  <script>
40
+ // import components
41
+ import CmdIcon from "./CmdIcon"
42
+
38
43
  export default {
39
44
  name: "CmdPager",
45
+ components: {
46
+ CmdIcon
47
+ },
40
48
  emits: ['click'],
41
49
  data() {
42
50
  return {
@@ -17,9 +17,13 @@
17
17
  @click="preventOnDisabled"
18
18
  target="_blank"
19
19
  :title="tooltip(shareButton.tooltip)">
20
- <span v-if="shareButton.iconClass && shareButton.iconPosition !== 'right'" :class="shareButton.iconClass"></span>
20
+ <!-- begin CmdIcon -->
21
+ <CmdIcon v-if="shareButton.iconClass && shareButton.iconPosition !== 'right'" :iconClass="shareButton.iconClass" :type="shareButton.iconType" />
22
+ <!-- end CmdIcon -->
21
23
  <span v-if="shareButton.linkText">{{ shareButton.linkText }}</span>
22
- <span v-if="shareButton.iconClass && shareButton.iconPosition === 'right'" :class="shareButton.iconClass"></span>
24
+ <!-- begin CmdIcon -->
25
+ <CmdIcon v-if="shareButton.iconClass && shareButton.iconPosition === 'right'" :iconClass="shareButton.iconClass" :type="shareButton.iconType" />
26
+ <!-- end CmdIcon -->
23
27
  </a>
24
28
  </div>
25
29
  </div>
@@ -28,11 +32,13 @@
28
32
  <script>
29
33
  // import components
30
34
  import CmdFormElement from "./CmdFormElement"
35
+ import CmdIcon from "./CmdIcon"
31
36
 
32
37
  export default {
33
38
  name: "CmdShareButtons",
34
39
  components: {
35
- CmdFormElement
40
+ CmdFormElement,
41
+ CmdIcon
36
42
  },
37
43
  data() {
38
44
  return {
@@ -183,7 +183,8 @@ export default {
183
183
  &.flex-container {
184
184
  width: 100%;
185
185
 
186
- .cmd-logo {
186
+ .cmd-company-logo {
187
+ grid-area: company-logo;
187
188
  flex: none;
188
189
  }
189
190
  }
@@ -220,6 +221,7 @@ export default {
220
221
  }
221
222
 
222
223
  #main-navigation-wrapper {
224
+ grid-area: main-navigation;
223
225
  display: flex;
224
226
  align-items: center;
225
227
  border: 0;
@@ -70,7 +70,12 @@
70
70
  <!-- begin filters -->
71
71
  <template v-if="cmdFakeSelect?.show">
72
72
  <a href="#" @click.prevent="showFilters = !showFilters">
73
- <span :class="showFilters ? 'icon-single-arrow-up' : 'icon-single-arrow-down'"></span>
73
+ <!-- begin CmdIcon -->
74
+ <CmdIcon
75
+ :iconClass="showFilters ? cmdIcon?.showFilters?.iconClass : cmdIcon?.hideFilters?.iconClass"
76
+ :type="showFilters ? cmdIcon?.showFilters?.iconType : cmdIcon?.hideFilters?.iconType"
77
+ />
78
+ <!-- end CmdIcon -->
74
79
  <span v-if="showFilters">{{ getMessage("cmdsitesearch.hide_filter_options") }}</span>
75
80
  <span v-else>{{ getMessage("cmdsitesearch.show_filter_options") }}</span>
76
81
  </a>
@@ -102,10 +107,11 @@ import I18n from "../mixins/I18n"
102
107
  import DefaultMessageProperties from "../mixins/CmdSiteSearch/DefaultMessageProperties"
103
108
 
104
109
  // import files for components
105
- import CmdHeadline from "./CmdHeadline"
106
110
  import CmdFakeSelect from "./CmdFakeSelect"
107
111
  import CmdFormElement from "./CmdFormElement"
108
112
  import CmdFormFilters from "./CmdFormFilters"
113
+ import CmdHeadline from "./CmdHeadline"
114
+ import CmdIcon from "./CmdIcon"
109
115
 
110
116
  export default {
111
117
  emits: [
@@ -118,10 +124,11 @@ export default {
118
124
  name: "CmdBoxSiteSearch",
119
125
  mixins: [I18n, DefaultMessageProperties],
120
126
  components: {
121
- CmdHeadline,
122
127
  CmdFakeSelect,
123
128
  CmdFormElement,
124
- CmdFormFilters
129
+ CmdFormFilters,
130
+ CmdHeadline,
131
+ CmdIcon
125
132
  },
126
133
  data() {
127
134
  return {
@@ -158,7 +165,7 @@ export default {
158
165
  required: false
159
166
  },
160
167
  /**
161
- * toggle use of filters (must configured)
168
+ * toggle use of filters (must be configured)
162
169
  */
163
170
  useFilters: {
164
171
  type: Boolean,
@@ -290,6 +297,24 @@ export default {
290
297
  cmdFakeSelect: {
291
298
  type: Object,
292
299
  required: false
300
+ },
301
+ /**
302
+ * properties for CmdIcon-component for filters
303
+ */
304
+ cmdIcon: {
305
+ type: Object,
306
+ default() {
307
+ return {
308
+ showFilters: {
309
+ iconClass: "icon-single-arrow-up",
310
+ type: "auto"
311
+ },
312
+ hideFilters: {
313
+ iconClass: "icon-single-arrow-down",
314
+ type: "auto"
315
+ }
316
+ }
317
+ }
293
318
  }
294
319
  },
295
320
  computed: {
@@ -9,14 +9,17 @@
9
9
  <!-- begin close-icon -->
10
10
  <a
11
11
  v-if="iconClose.show && iconClose.iconClass"
12
- :class="iconClose.iconClass"
13
12
  href="#"
14
13
  @click.prevent="showSystemMessage = false"
15
14
  :title="iconClose.tooltip"
16
- ></a>
15
+ >
16
+ <!-- begin CmdIcon -->
17
+ <CmdIcon :iconClass="iconClose.iconClass" :type="iconClose.iconType" />
18
+ <!-- end CmdIcon -->
19
+ </a>
17
20
  <!-- end close-icon -->
18
21
 
19
- <!-- begin cmd-headline -->
22
+ <!-- begin CmdHeadline -->
20
23
  <CmdHeadline
21
24
  class="message-headline"
22
25
  :iconClass="iconMessage.iconClass"
@@ -24,7 +27,7 @@
24
27
  :headlineLevel="messageHeadlineLevel"
25
28
  :id="htmlId"
26
29
  />
27
- <!-- end cmd-headline -->
30
+ <!-- end CmdHeadline -->
28
31
 
29
32
  <!-- begin slot-content -->
30
33
  <slot></slot>
@@ -39,12 +42,14 @@ import Identifier from "../mixins/Identifier"
39
42
 
40
43
  // import components
41
44
  import CmdHeadline from "./CmdHeadline"
45
+ import CmdIcon from "./CmdIcon"
42
46
 
43
47
  export default {
44
48
  name: "CmdSystemMessage",
45
49
  mixins: [Identifier],
46
50
  components: {
47
- CmdHeadline
51
+ CmdHeadline,
52
+ CmdIcon
48
53
  },
49
54
  data() {
50
55
  return {
@@ -5,13 +5,17 @@
5
5
  href="#" @click.prevent="fullWidth = !fullWidth"
6
6
  :title="iconToggleWidth.tooltip"
7
7
  >
8
- <span :class="iconToggleWidth.iconClass"></span>
8
+ <!-- begin CmdIcon -->
9
+ <CmdIcon :iconClass="iconToggleWidth.iconClass" :type="iconToggleWidth.iconType" />
10
+ <!-- end CmdIcon -->
9
11
  </a>
10
12
  <a v-if="collapsible" class="button"
11
13
  href="#" @click.prevent="showTableData = !showTableData"
12
14
  :title="showTableData ? iconCollapse.tooltip : iconExpand.tooltip"
13
15
  >
14
- <span :class="showTableData ? iconCollapse.iconClass : iconExpand.iconClass"></span>
16
+ <!-- begin CmdIcon -->
17
+ <CmdIcon :iconClass="showTableData ? iconCollapse.iconClass : iconExpand.iconClass" :type="showTableData ? iconCollapse.iconType : iconExpand.iconType" />
18
+ <!-- end CmdIcon -->
15
19
  </a>
16
20
  </div>
17
21
  <div class="inner-wrapper">
@@ -50,8 +54,14 @@
50
54
  </template>
51
55
 
52
56
  <script>
57
+ // import components
58
+ import CmdIcon from "./CmdIcon"
59
+
53
60
  export default {
54
61
  name: "CmdTable",
62
+ components: {
63
+ CmdIcon,
64
+ },
55
65
  data() {
56
66
  return {
57
67
  showTableData: true,