comand-component-library 3.3.11 → 3.3.12

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 (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;