comand-component-library 3.3.5 → 3.3.7

Sign up to get free protection for your applications and to get access to all the features.
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 +3 -2
  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/CmdFakeSelect.vue +41 -12
  11. package/src/components/CmdFancyBox.vue +11 -3
  12. package/src/components/CmdFormElement.vue +30 -6
  13. package/src/components/CmdFormFilters.vue +17 -8
  14. package/src/components/CmdHeadline.vue +3 -3
  15. package/src/components/CmdInputGroup.vue +8 -1
  16. package/src/components/CmdListOfLinks.vue +9 -3
  17. package/src/components/CmdListOfRequirements.vue +18 -11
  18. package/src/components/CmdLoginForm.vue +46 -27
  19. package/src/components/CmdMainNavigation.vue +30 -8
  20. package/src/components/CmdMultistepFormProgressBar.vue +15 -3
  21. package/src/components/CmdPager.vue +10 -2
  22. package/src/components/CmdShareButtons.vue +9 -3
  23. package/src/components/CmdSiteHeader.vue +0 -5
  24. package/src/components/CmdSiteSearch.vue +30 -5
  25. package/src/components/CmdSystemMessage.vue +10 -5
  26. package/src/components/CmdTable.vue +12 -2
  27. package/src/components/CmdTabs.vue +9 -1
  28. package/src/components/CmdTooltip.vue +6 -2
  29. package/src/components/CmdUploadForm.vue +116 -47
  30. package/src/documentation/generated/CmdFakeSelectPropertyDescriptions.json +6 -1
  31. package/src/documentation/generated/CmdFormFiltersPropertyDescriptions.json +1 -1
  32. package/src/documentation/generated/CmdHeadlinePropertyDescriptions.json +1 -1
  33. package/src/documentation/generated/CmdSiteSearchPropertyDescriptions.json +6 -1
  34. package/src/documentation/generated/CmdUploadFormPropertyDescriptions.json +16 -16
  35. package/src/index.js +1 -0
  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,
@@ -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 {
@@ -154,11 +154,6 @@ export default {
154
154
  #main-navigation-wrapper {
155
155
  grid-column: span var(--grid-columns);
156
156
  border-bottom: 0;
157
-
158
- nav {
159
- padding: 0;
160
-
161
- }
162
157
  }
163
158
 
164
159
  // use id to ensure high specificity
@@ -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,
@@ -3,7 +3,9 @@
3
3
  <ul :class="{'stretch-tabs' : stretchTabs}" role="tablist">
4
4
  <li v-for="(tab, index) in tabs" :key="index" role="tab">
5
5
  <a :class="{active : showTab === index}" @click.prevent="setActiveTab(index)" :title="!tab.name ? tab.tooltip : undefined" href="#">
6
- <CmdIcon v-if="tab.iconClass" :iconClass="tab.iconClass"></CmdIcon>
6
+ <!-- begin CmdIcon -->
7
+ <CmdIcon v-if="tab.iconClass" :iconClass="tab.iconClass" :type="tab.iconType" />
8
+ <!-- end CmdIcon -->
7
9
  <span v-if="tab.name">{{ tab.name }}</span>
8
10
  </a>
9
11
  </li>
@@ -32,12 +34,18 @@
32
34
  </template>
33
35
 
34
36
  <script>
37
+ // import functions
35
38
  import {addCollection} from "@iconify/vue"
39
+
40
+ // import data
36
41
  import IconData from '@/assets/data/icon.json'
42
+
37
43
  // import components
38
44
  import CmdHeadline from "./CmdHeadline"
39
45
  import CmdIcon from "./CmdIcon"
46
+
40
47
  addCollection(IconData)
48
+
41
49
  export default {
42
50
  name: "CmdTabs",
43
51
  components: {