comand-component-library 3.3.11 → 3.3.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/dist/style.css +1 -0
  2. package/package.json +20 -22
  3. package/src/App.vue +9 -95
  4. package/src/components/CmdAddressData.vue +99 -27
  5. package/src/components/CmdBackToTopButton.vue +0 -5
  6. package/src/components/CmdBankAccountData.vue +0 -8
  7. package/src/components/CmdBox.vue +51 -16
  8. package/src/components/CmdBoxWrapper.vue +28 -22
  9. package/src/components/CmdBreadcrumbs.vue +0 -6
  10. package/src/components/CmdCompanyLogo.vue +0 -6
  11. package/src/components/CmdCookieDisclaimer.vue +0 -10
  12. package/src/components/CmdFakeSelect.vue +0 -8
  13. package/src/components/CmdFancyBox.vue +0 -14
  14. package/src/components/CmdFormElement.vue +0 -8
  15. package/src/components/CmdFormFilters.vue +0 -6
  16. package/src/components/CmdHeadline.vue +0 -6
  17. package/src/components/CmdImageGallery.vue +1 -7
  18. package/src/components/CmdImageZoom.vue +0 -6
  19. package/src/components/CmdInputGroup.vue +0 -8
  20. package/src/components/CmdListOfLinks.vue +0 -8
  21. package/src/components/CmdListOfRequirements.vue +0 -8
  22. package/src/components/CmdLoginForm.vue +0 -10
  23. package/src/components/CmdMainNavigation.vue +0 -6
  24. package/src/components/CmdMultistepFormProgressBar.vue +0 -6
  25. package/src/components/CmdNewsletterSubscription.vue +0 -8
  26. package/src/components/CmdOpeningHours.vue +0 -6
  27. package/src/components/CmdPager.vue +0 -7
  28. package/src/components/CmdShareButtons.vue +0 -8
  29. package/src/components/CmdSiteHeader.vue +0 -8
  30. package/src/components/CmdSiteSearch.vue +0 -14
  31. package/src/components/CmdSlideButton.vue +0 -8
  32. package/src/components/CmdSlideshow.vue +0 -8
  33. package/src/components/CmdSwitchLanguage.vue +31 -5
  34. package/src/components/CmdSystemMessage.vue +0 -8
  35. package/src/components/CmdTable.vue +0 -6
  36. package/src/components/CmdTabs.vue +0 -8
  37. package/src/components/CmdToggleDarkMode.vue +0 -5
  38. package/src/components/CmdTooltip.vue +0 -8
  39. package/src/components/CmdTooltipForInputElements.vue +0 -8
  40. package/src/components/CmdUploadForm.vue +0 -12
  41. package/src/components/CmdWidthLimitationWrapper.vue +1 -1
  42. package/src/documentation/generated/CmdBoxPropertyDescriptions.json +10 -0
  43. package/src/index.js +43 -43
  44. package/src/main.js +1 -1
  45. package/src/rest.vue +18 -0
  46. package/src/router/index.js +1 -1
  47. package/dist/comand-component-library.css +0 -1
  48. package/dist/comand-component-library.umd.min.js +0 -2
@@ -3,9 +3,13 @@
3
3
  <div v-if="boxType === 'content'"
4
4
  :class="[
5
5
  'cmd-box box content',
6
- {open : open, collapsible: collapsible,
7
- 'stretch-vertically': stretchVertically && !collapsible,
8
- 'stretch-horizontally': stretchHorizontally}]"
6
+ {
7
+ open : open, collapsible: collapsible,
8
+ 'stretch-vertically': stretchVertically && !collapsible,
9
+ 'stretch-horizontally': stretchHorizontally,
10
+ 'row-view': isRowView
11
+ }
12
+ ]"
9
13
  >
10
14
  <!-- begin collapsible header with slot -->
11
15
  <a v-if="collapsible"
@@ -139,10 +143,11 @@
139
143
  </figure>
140
144
  <div v-else>
141
145
  <span :class="defaultProfileIconClass" :title="user.name"></span>
142
- <p>{{ user.name }}</p>
146
+ <p v-if="!rowView">{{ user.name }}</p>
143
147
  </div>
144
148
  </div>
145
149
  <div class="box-body">
150
+ <p v-if="rowView">{{ user.name }}</p>
146
151
  <p v-if="user.profession">{{ user.profession }}</p>
147
152
  <p v-if="user.position">{{ user.position }}</p>
148
153
  <p v-if="user.description" class="description">{{ user.description }}</p>
@@ -165,36 +170,36 @@ import I18n from "../mixins/I18n"
165
170
  import DefaultMessageProperties from "../mixins/CmdBox/DefaultMessageProperties"
166
171
  import GlobalCurrency from "../mixins/GlobalCurrency"
167
172
 
168
- // import components
169
- import CmdHeadline from "./CmdHeadline"
170
- import CmdIcon from "./CmdIcon"
171
- import CmdListOfLinks from "./CmdListOfLinks"
172
-
173
173
  export default {
174
174
  name: "CmdBox",
175
- components: {
176
- CmdHeadline,
177
- CmdIcon,
178
- CmdListOfLinks,
179
- },
180
175
  mixins: [
181
176
  I18n,
182
177
  DefaultMessageProperties,
183
178
  GlobalCurrency
184
179
  ],
180
+ emits: ["click", "toggle-collapse"],
185
181
  data() {
186
182
  return {
187
183
  open: this.collapsible ? this.collapsingBoxesOpen : true,
188
184
  active: true,
189
- showCutOffText: false
185
+ showCutOffText: false,
186
+ isRowView: false
190
187
  }
191
188
  },
192
- emits: ["click", "toggle-collapse"],
193
189
  props: {
194
190
  collapsingBoxesOpen: {
195
191
  type: Boolean,
196
192
  required: false
197
193
  },
194
+ /**
195
+ * arranges box-content in a row
196
+ *
197
+ * @affectsStyling: true
198
+ */
199
+ rowView: {
200
+ type: Boolean,
201
+ default: false
202
+ },
198
203
  /**
199
204
  * set boyType to show different types of boxes/contents
200
205
  *
@@ -384,6 +389,9 @@ export default {
384
389
  if (this.collapsible) {
385
390
  this.open = this.collapsingBoxesOpen
386
391
  }
392
+ },
393
+ isRowView() {
394
+ this.isRowView = this.rowView
387
395
  }
388
396
  }
389
397
  }
@@ -729,6 +737,33 @@ export default {
729
737
  }
730
738
  }
731
739
  }
740
+
741
+ &.row-view {
742
+ [class*="icon"] {
743
+ --icon-size: 3rem;
744
+ }
745
+
746
+ .box-header > div:first-child > [class*="icon-"] {
747
+ padding: calc(var(--default-padding) * 1.5);
748
+ }
749
+
750
+ .box-body p {
751
+ text-align: left;
752
+ }
753
+
754
+ .box-footer {
755
+ border: 0;
756
+
757
+ .cmd-list-of-links {
758
+ background: none;
759
+
760
+ ul, ul * {
761
+ border: 0;
762
+ background: inherit;
763
+ }
764
+ }
765
+ }
766
+ }
732
767
  }
733
768
  }
734
769
 
@@ -18,26 +18,18 @@
18
18
  </a>
19
19
  </div>
20
20
  </div>
21
- <div :class="[useFlexbox ? 'flex-container' : 'grid-container-create-columns', {'one-box-per-row': oneBoxPerRow, 'stretch-boxes-vertically': stretchBoxesVertically}]">
22
- <slot :collapsingBoxesOpen="collapsingBoxesOpen" :boxToggled="boxToggled" :currentOpenBox="currentOpenBox"></slot>
21
+ <div :class="[useFlexbox ? 'flex-container' : 'grid-container-create-columns', {'row-view': rowView, 'stretch-boxes-vertically': stretchBoxesVertically}]">
22
+ <slot :collapsingBoxesOpen="collapsingBoxesOpen" :boxToggled="boxToggled" :currentOpenBox="currentOpenBox" :rowView="rowView"></slot>
23
23
  </div>
24
24
  </div>
25
25
  </template>
26
26
 
27
27
  <script>
28
- // import components
29
- import CmdHeadline from "./CmdHeadline"
30
- import CmdIcon from "./CmdIcon"
31
-
32
28
  export default {
33
29
  name: "CmdBoxWrapper",
34
- components: {
35
- CmdHeadline,
36
- CmdIcon
37
- },
38
30
  data() {
39
31
  return {
40
- oneBoxPerRow: this.useRowViewAsDefault,
32
+ rowView: this.useRowViewAsDefault,
41
33
  collapsingBoxesOpen: true,
42
34
  currentOpenBox: 0
43
35
  }
@@ -227,28 +219,42 @@ export default {
227
219
  margin: 0;
228
220
  }
229
221
 
230
- &.one-box-per-row {
231
- flex-direction: column;
222
+ &.stretch-boxes-vertically {
223
+ .stretch-vertically {
224
+ align-self: stretch;
225
+ height: auto; /* must be set to auto if inner boxes have als stretchVertically-property activated */
226
+ }
227
+ }
228
+ }
229
+
230
+ .row-view {
231
+ flex-direction: column;
232
232
 
233
- p.cutoff-text {
234
- height: auto;
233
+ p.cutoff-text {
234
+ height: auto;
235
235
 
236
- &.fade-last-line::after {
237
- background: none;
238
- }
236
+ &.fade-last-line::after {
237
+ background: none;
239
238
  }
240
239
  }
241
240
 
242
- &.stretch-boxes-vertically {
243
- .stretch-vertically {
244
- align-self: stretch;
245
- height: auto; /* must be set to auto if inner boxes have als stretchVertically-property activated */
241
+ .cmd-box.user {
242
+ flex-direction: row;
243
+ padding: var(--default-padding);
244
+ align-items: center;
245
+
246
+ .box-footer {
247
+ margin-top: 0;
246
248
  }
247
249
  }
248
250
  }
249
251
 
250
252
  > .grid-container-create-columns {
251
253
  grid-template-columns: repeat(v-bind(boxesPerRowLarge), minmax(0, 1fr));
254
+
255
+ &.row-view {
256
+ grid-template-columns: repeat(1, minmax(0, 1fr));
257
+ }
252
258
  }
253
259
 
254
260
  @media only screen and (max-width: $medium-max-width) {
@@ -35,14 +35,8 @@
35
35
  // import functions
36
36
  import {getRoute} from "../utilities.js"
37
37
 
38
- // import components
39
- import CmdIcon from "./CmdIcon"
40
-
41
38
  export default {
42
39
  name: "CmdBreadcrumbs",
43
- components: {
44
- CmdIcon
45
- },
46
40
  props: {
47
41
  /**
48
42
  * label in front/left of breadcrumbs
@@ -17,14 +17,8 @@
17
17
  // import functions
18
18
  import {getRoute} from "../utilities.js"
19
19
 
20
- // import components
21
- import CmdImage from "./CmdImage"
22
-
23
20
  export default {
24
21
  name: "CmdCompanyLogo",
25
- components: {
26
- CmdImage
27
- },
28
22
  data() {
29
23
  return {
30
24
  prefersColorScheme: ""
@@ -134,19 +134,9 @@
134
134
  import I18n from "../mixins/I18n"
135
135
  import DefaultMessageProperties from "../mixins/CmdCookieDisclaimer/DefaultMessageProperties"
136
136
 
137
- // import components
138
- import CmdBox from "./CmdBox"
139
- import CmdHeadline from "./CmdHeadline"
140
- import CmdFormElement from "./CmdFormElement"
141
-
142
137
  export default {
143
138
  name: "CmdCookieDisclaimer",
144
139
  mixins: [I18n, DefaultMessageProperties],
145
- components: {
146
- CmdBox,
147
- CmdHeadline,
148
- CmdFormElement
149
- },
150
140
  data() {
151
141
  return {
152
142
  showCookieDisclaimer: true,
@@ -168,10 +168,6 @@ import FieldValidation from "../mixins/FieldValidation"
168
168
  import Identifier from "../mixins/Identifier"
169
169
  import Tooltip from "../mixins/Tooltip"
170
170
 
171
- // import components
172
- import CmdIcon from "./CmdIcon"
173
- import CmdTooltipForInputElements from "./CmdTooltipForInputElements"
174
-
175
171
  export default {
176
172
  name: 'CmdFakeSelect',
177
173
  inheritAttrs: false,
@@ -182,10 +178,6 @@ export default {
182
178
  Identifier,
183
179
  Tooltip
184
180
  ],
185
- components: {
186
- CmdIcon,
187
- CmdTooltipForInputElements
188
- },
189
181
  data() {
190
182
  return {
191
183
  showOptions: false,
@@ -145,13 +145,6 @@ import {defineComponent, createApp} from "vue"
145
145
  // import mixins
146
146
  import Identifier from "../mixins/Identifier"
147
147
 
148
- // import components
149
- import CmdHeadline from "./CmdHeadline"
150
- import CmdIcon from "./CmdIcon"
151
- import CmdImage from "./CmdImage"
152
- import CmdSlideButton from "./CmdSlideButton.vue"
153
- import CmdThumbnailScroller from './CmdThumbnailScroller.vue'
154
-
155
148
  const openFancyBox = (config) => {
156
149
  const node = document.createElement("div");
157
150
  document.querySelector("body").appendChild(node);
@@ -164,13 +157,6 @@ const openFancyBox = (config) => {
164
157
 
165
158
  const FancyBox = defineComponent({
166
159
  name: "CmdFancyBox",
167
- components: {
168
- CmdHeadline,
169
- CmdIcon,
170
- CmdImage,
171
- CmdSlideButton,
172
- CmdThumbnailScroller
173
- },
174
160
  mixins: [
175
161
  Identifier
176
162
  ],
@@ -245,19 +245,11 @@ import FieldValidation from "../mixins/FieldValidation.js"
245
245
  import Identifier from "../mixins/Identifier.js"
246
246
  import Tooltip from "../mixins/Tooltip.js"
247
247
 
248
- // import components
249
- import CmdIcon from "./CmdIcon"
250
- import CmdTooltipForInputElements from "./CmdTooltipForInputElements"
251
-
252
248
  const TYPES_WITHOUT_MAXLENGTH = ["color", "date", "datetime-local", "file", "number", "range"]
253
249
 
254
250
  export default {
255
251
  inheritAttrs: false,
256
252
  name: "CmdFormElement",
257
- components: {
258
- CmdIcon,
259
- CmdTooltipForInputElements
260
- },
261
253
  mixins: [
262
254
  I18n,
263
255
  DefaultMessageProperties,
@@ -20,9 +20,6 @@
20
20
  </template>
21
21
 
22
22
  <script>
23
- // import components
24
- import CmdIcon from "./CmdIcon"
25
-
26
23
  export default {
27
24
  name: "CmdFormFilters",
28
25
  data() {
@@ -30,9 +27,6 @@ export default {
30
27
  options: []
31
28
  }
32
29
  },
33
- components: {
34
- CmdIcon
35
- },
36
30
  props: {
37
31
  /**
38
32
  * model-value to support v-model
@@ -21,14 +21,8 @@
21
21
  </template>
22
22
 
23
23
  <script>
24
- // import components
25
- import CmdIcon from "./CmdIcon"
26
-
27
24
  export default {
28
25
  name: "CmdHeadline",
29
- components: {
30
- CmdIcon
31
- },
32
26
  props: {
33
27
  /**
34
28
  * text for headline
@@ -11,11 +11,8 @@
11
11
  </template>
12
12
 
13
13
  <script>
14
- // import components
15
- import CmdImage from "./CmdImage.vue"
16
-
17
14
  // import functions
18
- import {openFancyBox} from "./CmdFancyBox"
15
+ import {openFancyBox} from "./CmdFancyBox.vue"
19
16
 
20
17
  // import mixins
21
18
  import I18n from "../mixins/I18n"
@@ -23,9 +20,6 @@ import DefaultMessageProperties from "../mixins/CmdImageGallery/DefaultMessagePr
23
20
 
24
21
  export default {
25
22
  name: "CmdImageGallery",
26
- components: {
27
- CmdImage
28
- },
29
23
  mixins: [I18n, DefaultMessageProperties],
30
24
  props: {
31
25
  /**
@@ -34,14 +34,8 @@
34
34
  </template>
35
35
 
36
36
  <script>
37
- // import components
38
- import CmdImage from "./CmdImage"
39
-
40
37
  export default {
41
38
  name: "CmdImageZoom",
42
- components: {
43
- CmdImage
44
- },
45
39
  props: {
46
40
  /**
47
41
  * object for small image
@@ -75,15 +75,7 @@ import FieldValidation from "../mixins/FieldValidation.js"
75
75
  import Identifier from "../mixins/Identifier"
76
76
  import Tooltip from "../mixins/Tooltip.js"
77
77
 
78
- // import components
79
- import CmdIcon from "./CmdIcon"
80
- import CmdTooltipForInputElements from "./CmdTooltipForInputElements"
81
-
82
78
  export default {
83
- components: {
84
- CmdIcon,
85
- CmdTooltipForInputElements
86
- },
87
79
  mixins: [
88
80
  FieldValidation,
89
81
  Identifier,
@@ -44,16 +44,8 @@
44
44
  import {getRoute} from "../utilities.js"
45
45
  import {openFancyBox} from "./CmdFancyBox.vue"
46
46
 
47
- // import components
48
- import CmdHeadline from "./CmdHeadline"
49
- import CmdIcon from "./CmdIcon"
50
-
51
47
  export default {
52
48
  name: "CmdListOfLinks",
53
- components: {
54
- CmdHeadline,
55
- CmdIcon
56
- },
57
49
  props: {
58
50
  /**
59
51
  * activate if component should contain a list of anchors for the section within th page
@@ -50,20 +50,12 @@
50
50
  </template>
51
51
 
52
52
  <script>
53
- // import components
54
- import CmdHeadline from "./CmdHeadline"
55
- import CmdIcon from "./CmdIcon"
56
-
57
53
  // import mixins
58
54
  import I18n from "../mixins/I18n"
59
55
  import DefaultMessageProperties from "../mixins/CmdListOfRequirements/DefaultMessageProperties"
60
56
 
61
57
  export default {
62
58
  name: "CmdListOfRequirements",
63
- components: {
64
- CmdHeadline,
65
- CmdIcon
66
- },
67
59
  mixins: [
68
60
  I18n,
69
61
  DefaultMessageProperties
@@ -173,11 +173,6 @@
173
173
  // import utilities
174
174
  import {getRoute} from "../utilities.js"
175
175
 
176
- // import components
177
- import CmdFormElement from "./CmdFormElement"
178
- import CmdHeadline from "./CmdHeadline"
179
- import CmdIcon from "./CmdIcon"
180
-
181
176
  export default {
182
177
  name: "CmdLoginForm",
183
178
  data() {
@@ -189,11 +184,6 @@ export default {
189
184
  sendLogin: false
190
185
  }
191
186
  },
192
- components: {
193
- CmdFormElement,
194
- CmdHeadline,
195
- CmdIcon
196
- },
197
187
  props: {
198
188
  /**
199
189
  * value for v-model (modelValue is default name in vue 3)
@@ -153,14 +153,8 @@
153
153
  // import functions
154
154
  import {getRoute} from "../utilities.js"
155
155
 
156
- // import components
157
- import CmdIcon from "./CmdIcon"
158
-
159
156
  export default {
160
157
  name: "CmdMainNavigation",
161
- components: {
162
- CmdIcon
163
- },
164
158
  data() {
165
159
  return {
166
160
  showOffcanvas: false,
@@ -56,14 +56,8 @@
56
56
  // import functions
57
57
  import {getRoute} from "../utilities.js"
58
58
 
59
- // import components
60
- import CmdIcon from "./CmdIcon"
61
-
62
59
  export default {
63
60
  name: 'CmdMultistepFormProgressBar',
64
- components: {
65
- CmdIcon
66
- },
67
61
  data() {
68
62
  return {
69
63
  activeLink: 0
@@ -43,17 +43,9 @@
43
43
  </template>
44
44
 
45
45
  <script>
46
- // import components
47
- import CmdFormElement from "./CmdFormElement"
48
- import CmdInputGroup from "./CmdInputGroup"
49
-
50
46
  export default {
51
47
  name: "CmdNewsletterSubscription",
52
48
  emits: ["button-click"],
53
- components: {
54
- CmdFormElement,
55
- CmdInputGroup
56
- },
57
49
  data() {
58
50
  return {
59
51
  buttonDisabled: true
@@ -37,9 +37,6 @@
37
37
  </template>
38
38
 
39
39
  <script>
40
- // import components
41
- import CmdHeadline from "./CmdHeadline"
42
-
43
40
  export function localizedTime(language) {
44
41
  return (hour, minute) => {
45
42
  const now = new Date()
@@ -72,9 +69,6 @@ export function timeFormatting(separator, suffix1, suffix2, hoursLeadingZero = t
72
69
 
73
70
  export default {
74
71
  name: "CmdOpeningHours",
75
- components: {
76
- CmdHeadline
77
- },
78
72
  props: {
79
73
  /**
80
74
  * set a link to a detail page
@@ -48,15 +48,8 @@
48
48
  // import mixins
49
49
  import I18n from "../mixins/I18n"
50
50
  import DefaultMessageProperties from "../mixins/CmdPager/DefaultMessageProperties"
51
-
52
- // import components
53
- import CmdIcon from "./CmdIcon"
54
-
55
51
  export default {
56
52
  name: "CmdPager",
57
- components: {
58
- CmdIcon
59
- },
60
53
  mixins: [
61
54
  I18n,
62
55
  DefaultMessageProperties
@@ -30,16 +30,8 @@
30
30
  </template>
31
31
 
32
32
  <script>
33
- // import components
34
- import CmdFormElement from "./CmdFormElement"
35
- import CmdIcon from "./CmdIcon"
36
-
37
33
  export default {
38
34
  name: "CmdShareButtons",
39
- components: {
40
- CmdFormElement,
41
- CmdIcon
42
- },
43
35
  data() {
44
36
  return {
45
37
  dataPrivacyAccepted: false
@@ -50,16 +50,8 @@
50
50
  </template>
51
51
 
52
52
  <script>
53
- // import components
54
- import CmdCompanyLogo from "./CmdCompanyLogo"
55
- import CmdMainNavigation from "./CmdMainNavigation"
56
-
57
53
  export default {
58
54
  name: "CmdSiteHeader",
59
- components: {
60
- CmdCompanyLogo,
61
- CmdMainNavigation
62
- },
63
55
  props: {
64
56
  /**
65
57
  * use only if default-button of inner navigation-component should not be used
@@ -106,13 +106,6 @@
106
106
  import I18n from "../mixins/I18n"
107
107
  import DefaultMessageProperties from "../mixins/CmdSiteSearch/DefaultMessageProperties"
108
108
 
109
- // import files for components
110
- import CmdFakeSelect from "./CmdFakeSelect"
111
- import CmdFormElement from "./CmdFormElement"
112
- import CmdFormFilters from "./CmdFormFilters"
113
- import CmdHeadline from "./CmdHeadline"
114
- import CmdIcon from "./CmdIcon"
115
-
116
109
  export default {
117
110
  emits: [
118
111
  "search",
@@ -123,13 +116,6 @@ export default {
123
116
  ],
124
117
  name: "CmdBoxSiteSearch",
125
118
  mixins: [I18n, DefaultMessageProperties],
126
- components: {
127
- CmdFakeSelect,
128
- CmdFormElement,
129
- CmdFormFilters,
130
- CmdHeadline,
131
- CmdIcon
132
- },
133
119
  data() {
134
120
  return {
135
121
  showFilters: false
@@ -10,14 +10,8 @@
10
10
  </template>
11
11
 
12
12
  <script>
13
- // import components
14
- import CmdIcon from "./CmdIcon"
15
-
16
13
  export default {
17
14
  name: "CmdSlideButton",
18
- components: {
19
- CmdIcon
20
- },
21
15
  props: {
22
16
  /**
23
17
  * set slide-button-type
@@ -76,10 +70,8 @@ export default {
76
70
  &.button {
77
71
  font-size: 2rem;
78
72
  z-index: 10;
79
- width: 5rem;
80
73
  height: 100%;
81
74
  position: absolute;
82
- display: -webkit-flex; /* Safari 6-8 */
83
75
  display: flex;
84
76
  justify-content: center;
85
77
  text-decoration: none;