comand-component-library 3.1.45 → 3.1.48
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.
- package/dist/comand-component-library.css +1 -1
- package/dist/comand-component-library.umd.min.js +1 -1
- package/package.json +47 -41
- package/src/App.vue +373 -135
- package/src/ComponentDocumentation.vue +156 -0
- package/src/ComponentLibraryHelp.vue +20 -0
- package/src/assets/data/accordion.json +21 -24
- package/src/assets/data/address-data.json +34 -0
- package/src/assets/data/bank-account-data.json +22 -0
- package/src/assets/data/box-product.json +14 -4
- package/src/assets/data/box-user.json +48 -22
- package/src/assets/data/breadcrumbs.json +11 -3
- package/src/assets/data/cookie-disclaimer.json +4 -4
- package/src/assets/data/fake-select-colors.json +4 -0
- package/src/assets/data/fake-select-filter-options.json +14 -0
- package/src/assets/data/fake-select-options-with-icons.json +6 -12
- package/src/assets/data/fake-select-options.json +3 -3
- package/src/assets/data/list-of-links-section-anchors.json +23 -0
- package/src/assets/data/list-of-links-top-header-navigation.json +20 -0
- package/src/assets/data/list-of-links.json +42 -0
- package/src/assets/data/main-navigation.json +48 -0
- package/src/assets/data/multistep-form-progress-bar.json +33 -0
- package/src/assets/data/select-options.json +4 -0
- package/src/assets/data/{share-buttons.json → share-buttons-page-by-json.json} +8 -8
- package/src/assets/data/share-buttons-page-by-property.json +30 -0
- package/src/assets/data/switch-language.json +20 -0
- package/src/assets/data/table-large.json +1 -1
- package/src/assets/data/table-small.json +1 -1
- package/src/assets/styles/global-styles.scss +43 -13
- package/src/assets/styles/transitions.scss +21 -1
- package/src/components/CmdAccordion.vue +43 -42
- package/src/components/CmdAddressData.vue +124 -56
- package/src/components/CmdBackToTopButton.vue +3 -3
- package/src/components/CmdBankAccountData.vue +104 -0
- package/src/components/CmdBox.vue +253 -56
- package/src/components/CmdBoxSiteSearch.vue +138 -39
- package/src/components/CmdBoxWrapper.vue +206 -0
- package/src/components/CmdBreadcrumbs.vue +29 -13
- package/src/components/CmdCompanyLogo.vue +6 -4
- package/src/components/CmdCookieDisclaimer.vue +99 -75
- package/src/components/CmdCopyrightInformation.vue +1 -1
- package/src/components/CmdCustomHeadline.vue +93 -0
- package/src/components/CmdFakeSelect.vue +285 -60
- package/src/components/CmdFancyBox.vue +47 -33
- package/src/components/CmdForm.vue +107 -0
- package/src/components/CmdFormElement.vue +515 -81
- package/src/components/CmdFormFilters.vue +25 -11
- package/src/components/CmdGoogleMaps.vue +9 -3
- package/src/components/CmdImageGallery.vue +28 -5
- package/src/components/CmdImageZoom.vue +9 -1
- package/src/components/CmdListOfLinks.vue +169 -0
- package/src/components/CmdLoginForm.vue +143 -63
- package/src/components/CmdMainNavigation.vue +140 -42
- package/src/components/CmdMultipleSwitch.vue +33 -2
- package/src/components/CmdMultistepFormProgressBar.vue +60 -10
- package/src/components/CmdOpeningHours.vue +36 -10
- package/src/components/CmdPager.vue +7 -5
- package/src/components/CmdProgressBar.vue +20 -3
- package/src/components/CmdShareButtons.vue +64 -9
- package/src/components/CmdSiteHeader.vue +27 -14
- package/src/components/CmdSlideButton.vue +5 -2
- package/src/components/CmdSlideshow.vue +23 -7
- package/src/components/CmdSwitchButton.vue +10 -3
- package/src/components/CmdSwitchLanguage.vue +18 -10
- package/src/components/CmdSystemMessage.vue +30 -17
- package/src/components/CmdTable.vue +15 -7
- package/src/components/CmdTabs.vue +43 -3
- package/src/components/CmdThumbnailScroller.vue +22 -6
- package/src/components/CmdTooltip.vue +184 -11
- package/src/components/CmdUploadForm.vue +198 -92
- package/src/components/CmdWidthLimitationWrapper.vue +9 -6
- package/src/composables/event.js +8 -0
- package/src/composables/scrollspy.js +52 -0
- package/src/directives/focus.js +19 -0
- package/src/directives/telephone.js +1 -1
- package/src/documentation/commonProps.js +6 -0
- package/src/documentation/components/ComponentCode.vue +50 -0
- package/src/documentation/components/ComponentProperties.vue +237 -0
- package/src/documentation/components/ExampleSectionWrapper.vue +46 -0
- package/src/documentation/components/ViewCodeData.vue +113 -0
- package/src/documentation/data/CmdAccordionHelp.js +22 -0
- package/src/documentation/data/CmdAddressDataHelp.js +17 -0
- package/src/documentation/data/CmdBackToTopButtonHelp.js +3 -0
- package/src/documentation/data/CmdBankAccountDataHelp.js +8 -0
- package/src/documentation/data/CmdBoxHelp.js +45 -0
- package/src/documentation/data/CmdBoxSiteSearchHelp.js +11 -0
- package/src/documentation/data/CmdBreadcrumbsHelp.js +6 -0
- package/src/documentation/data/CmdCompanyLogoHelp.js +8 -0
- package/src/documentation/data/CmdCookieDisclaimerHelp.js +9 -0
- package/src/documentation/data/CmdCopyrightInformation.js +2 -0
- package/src/documentation/data/CmdCustomHeadlineHelp.js +8 -0
- package/src/documentation/data/CmdFakeSelectHelp.js +60 -0
- package/src/documentation/data/CmdFancyBoxHelp.js +7 -0
- package/src/documentation/data/CmdFooterNavigationHelp.js +5 -0
- package/src/documentation/data/CmdFormElementHelp.js +189 -0
- package/src/documentation/data/CmdFormFiltersHelp.js +6 -0
- package/src/documentation/data/CmdFormHelp.js +10 -0
- package/src/documentation/data/CmdGoogleMapsHelp.js +5 -0
- package/src/documentation/data/CmdImageGalleryHelp.js +5 -0
- package/src/documentation/data/CmdImageZoomHelp.js +6 -0
- package/src/documentation/data/CmdListOfLinksHelp.js +24 -0
- package/src/documentation/data/CmdLoginFormHelp.js +6 -0
- package/src/documentation/data/CmdMainNavigationHelp.js +7 -0
- package/src/documentation/data/CmdMultistepFormProgressBarHelp.js +6 -0
- package/src/documentation/data/CmdOpeningHoursHelp.js +10 -0
- package/src/documentation/data/CmdPagerHelp.js +7 -0
- package/src/documentation/data/CmdProgressBarHelp.js +13 -0
- package/src/documentation/data/CmdShareButtonsHelp.js +13 -0
- package/src/documentation/data/CmdSiteHeaderHelp.js +21 -0
- package/src/documentation/data/CmdSlideButtonHelp.js +10 -0
- package/src/documentation/data/CmdSlideshowHelp.js +7 -0
- package/src/documentation/data/CmdSwitchLanguageHelp.js +6 -0
- package/src/documentation/data/CmdSystemMessageHelp.js +32 -0
- package/src/documentation/data/CmdTableHelp.js +14 -0
- package/src/documentation/data/CmdTabsHelp.js +10 -0
- package/src/documentation/data/CmdThumbnailScrollerHelp.js +5 -0
- package/src/documentation/data/CmdTooltipHelp.js +13 -0
- package/src/documentation/data/CmdUploadFormHelp.js +17 -0
- package/src/documentation/data/CmdWidthLimitationWrapperHelp.js +7 -0
- package/src/documentation/data/componentsDescription.json +158 -0
- package/src/documentation/generated/CmdAccordionPropertyDescriptions.json +57 -0
- package/src/documentation/generated/CmdAddressDataPropertyDescriptions.json +32 -0
- package/src/documentation/generated/CmdBackToTopButtonPropertyDescriptions.json +12 -0
- package/src/documentation/generated/CmdBankAccountDataPropertyDescriptions.json +34 -0
- package/src/documentation/generated/CmdBoxPropertyDescriptions.json +91 -0
- package/src/documentation/generated/CmdBoxSiteSearchPropertyDescriptions.json +41 -0
- package/src/documentation/generated/CmdBoxWrapperPropertyDescriptions.json +47 -0
- package/src/documentation/generated/CmdBreadcrumbsPropertyDescriptions.json +17 -0
- package/src/documentation/generated/CmdCompanyLogoPropertyDescriptions.json +27 -0
- package/src/documentation/generated/CmdCookieDisclaimerPropertyDescriptions.json +22 -0
- package/src/documentation/generated/CmdCustomHeadlinePropertyDescriptions.json +22 -0
- package/src/documentation/generated/CmdFakeSelectPropertyDescriptions.json +79 -0
- package/src/documentation/generated/CmdFancyBoxPropertyDescriptions.json +62 -0
- package/src/documentation/generated/CmdFooterNavigationPropertyDescriptions.json +17 -0
- package/src/documentation/generated/CmdFormElementPropertyDescriptions.json +178 -0
- package/src/documentation/generated/CmdFormFiltersPropertyDescriptions.json +32 -0
- package/src/documentation/generated/CmdFormPropertyDescriptions.json +40 -0
- package/src/documentation/generated/CmdGoogleMapsPropertyDescriptions.json +7 -0
- package/src/documentation/generated/CmdImageGalleryPropertyDescriptions.json +22 -0
- package/src/documentation/generated/CmdImageZoomPropertyDescriptions.json +12 -0
- package/src/documentation/generated/CmdListOfLinksPropertyDescriptions.json +60 -0
- package/src/documentation/generated/CmdLoginFormPropertyDescriptions.json +90 -0
- package/src/documentation/generated/CmdMainNavigationPropertyDescriptions.json +62 -0
- package/src/documentation/generated/CmdMultipleSwitchPropertyDescriptions.json +52 -0
- package/src/documentation/generated/CmdMultistepFormProgressBarPropertyDescriptions.json +17 -0
- package/src/documentation/generated/CmdOpeningHoursPropertyDescriptions.json +42 -0
- package/src/documentation/generated/CmdPagerPropertyDescriptions.json +37 -0
- package/src/documentation/generated/CmdProgressBarPropertyDescriptions.json +32 -0
- package/src/documentation/generated/CmdShareButtonsPropertyDescriptions.json +34 -0
- package/src/documentation/generated/CmdSiteHeaderPropertyDescriptions.json +27 -0
- package/src/documentation/generated/CmdSlideButtonPropertyDescriptions.json +25 -0
- package/src/documentation/generated/CmdSlideshowPropertyDescriptions.json +42 -0
- package/src/documentation/generated/CmdSwitchButtonPropertyDescriptions.json +79 -0
- package/src/documentation/generated/CmdSwitchLanguagePropertyDescriptions.json +7 -0
- package/src/documentation/generated/CmdSystemMessagePropertyDescriptions.json +40 -0
- package/src/documentation/generated/CmdTablePropertyDescriptions.json +62 -0
- package/src/documentation/generated/CmdTabsPropertyDescriptions.json +27 -0
- package/src/documentation/generated/CmdThumbnailScrollerPropertyDescriptions.json +32 -0
- package/src/documentation/generated/CmdTooltipPropertyDescriptions.json +17 -0
- package/src/documentation/generated/CmdUploadFormPropertyDescriptions.json +90 -0
- package/src/documentation/generated/CmdWidthLimitationWrapperPropertyDescriptions.json +41 -0
- package/src/documentation/generated/frameworkIcons.json +730 -0
- package/src/documentation/generated/logosIcons.json +110 -0
- package/src/documentation/tabs.js +46 -0
- package/src/documentation/views/ContainerPage.vue +237 -0
- package/src/documentation/views/HelpHome.vue +13 -0
- package/src/documentation/views/IconFont.vue +80 -0
- package/src/documentation/views/components/CmdAccordionHelp.vue +78 -0
- package/src/documentation/views/components/CmdAddressDataHelp.vue +65 -0
- package/src/documentation/views/components/CmdBackToTopButtonHelp.vue +62 -0
- package/src/documentation/views/components/CmdBankAccountDataHelp.vue +88 -0
- package/src/documentation/views/components/CmdBoxHelp.vue +137 -0
- package/src/documentation/views/components/CmdBoxSiteSearchHelp.vue +60 -0
- package/src/documentation/views/components/CmdBoxWrapperHelp.vue +111 -0
- package/src/documentation/views/components/CmdBreadcrumbsHelp.vue +51 -0
- package/src/documentation/views/components/CmdCompanyLogoHelp.vue +48 -0
- package/src/documentation/views/components/CmdCookieDisclaimerHelp.vue +105 -0
- package/src/documentation/views/components/CmdCustomHeadlineHelp.vue +53 -0
- package/src/documentation/views/components/CmdFakeSelectHelp.vue +175 -0
- package/src/documentation/views/components/CmdFancyBoxHelp.vue +79 -0
- package/src/documentation/views/components/CmdFormElementHelp.vue +412 -0
- package/src/documentation/views/components/CmdFormFiltersHelp.vue +69 -0
- package/src/documentation/views/components/CmdFormHelp.vue +41 -0
- package/src/documentation/views/components/CmdGoogleMapsHelp.vue +55 -0
- package/src/documentation/views/components/CmdImageGalleryHelp.vue +46 -0
- package/src/documentation/views/components/CmdImageZoomHelp.vue +34 -0
- package/src/documentation/views/components/CmdListOfLinksHelp.vue +64 -0
- package/src/documentation/views/components/CmdLoginFormHelp.vue +117 -0
- package/src/documentation/views/components/CmdMainNavigationHelp.vue +94 -0
- package/src/documentation/views/components/CmdMultistepFormProgressBarHelp.vue +49 -0
- package/src/documentation/views/components/CmdOpeningHoursHelp.vue +49 -0
- package/src/documentation/views/components/CmdPagerHelp.vue +57 -0
- package/src/documentation/views/components/CmdProgressBarHelp.vue +47 -0
- package/src/documentation/views/components/CmdShareButtonsHelp.vue +65 -0
- package/src/documentation/views/components/CmdSiteHeaderHelp.vue +72 -0
- package/src/documentation/views/components/CmdSlideButtonHelp.vue +90 -0
- package/src/documentation/views/components/CmdSlideshowHelp.vue +60 -0
- package/src/documentation/views/components/CmdSwitchLanguageHelp.vue +64 -0
- package/src/documentation/views/components/CmdSystemMessageHelp.vue +86 -0
- package/src/documentation/views/components/CmdTableHelp.vue +84 -0
- package/src/documentation/views/components/CmdTabsHelp.vue +52 -0
- package/src/documentation/views/components/CmdThumbnailScrollerHelp.vue +50 -0
- package/src/documentation/views/components/CmdTooltipHelp.vue +59 -0
- package/src/documentation/views/components/CmdUploadFormHelp.vue +59 -0
- package/src/documentation/views/components/CmdWidthLimitationWrapperHelp.vue +46 -0
- package/src/index.js +7 -3
- package/src/main.js +25 -15
- package/src/mixins/CmdAddressData/DefaultMessageProperties.js +17 -0
- package/src/mixins/CmdBox/DefaultMessageProperties.js +10 -0
- package/src/mixins/CmdFakeSelect/DefaultMessageProperties.js +9 -0
- package/src/mixins/CmdFormElement/DefaultMessageProperties.js +9 -0
- package/src/mixins/CmdImageGallery/DefaultMessageProperties.js +9 -0
- package/src/mixins/CmdSiteSearch/DefaultMessageProperties.js +14 -0
- package/src/mixins/CmdUploadForm/DefaultMessageProperties.js +5 -1
- package/src/mixins/FieldValidation.js +220 -0
- package/src/mixins/GlobalDefaultMessageProperties.js +15 -0
- package/src/mixins/Tooltip.js +26 -0
- package/src/router/index.js +67 -0
- package/src/utilities.js +3 -6
- package/src/utils/common.js +6 -0
- package/src/utils/dom.js +8 -0
- package/src/utils/globalSequence.js +13 -0
- package/src/utils/string.js +8 -0
- package/src/assets/data/address.json +0 -13
- package/src/assets/data/footer-navigation.json +0 -38
- package/src/assets/data/languages.json +0 -31
- package/src/assets/data/multisteps.json +0 -27
- package/src/assets/data/navigation.json +0 -47
- package/src/assets/data/pager.json +0 -11
- package/src/assets/data/top-header-navigation.json +0 -27
- package/src/components/CmdFooterNavigation.vue +0 -71
- package/src/components/CmdMainHeadline.vue +0 -75
- package/src/components/CmdTopHeaderNavigation.vue +0 -88
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<label class="cmd-progressbar" :for="id">
|
|
3
|
-
<span
|
|
3
|
+
<span :class="{hidden: !showLabel}">{{ labelText }}</span>
|
|
4
4
|
<span class="progressbar">
|
|
5
|
-
<span>{{ loadingStatus }}%</span><!-- do not place inside progress-tag (will not be displayed then) -->
|
|
5
|
+
<span v-if="showLoadingStatus">{{ loadingStatus }}%</span><!-- do not place inside progress-tag (will not be displayed then) -->
|
|
6
6
|
<progress v-bind="$attrs" :id="id" :value="loadingStatus"></progress>
|
|
7
7
|
</span>
|
|
8
8
|
</label>
|
|
@@ -19,13 +19,31 @@ export default {
|
|
|
19
19
|
props: {
|
|
20
20
|
/**
|
|
21
21
|
* label-text for progress-bar
|
|
22
|
+
*
|
|
23
|
+
* @requiredForAccessibility: true
|
|
22
24
|
*/
|
|
23
25
|
labelText: {
|
|
24
26
|
type: String,
|
|
25
27
|
required: false
|
|
26
28
|
},
|
|
29
|
+
/**
|
|
30
|
+
* toggle visibility for label-text
|
|
31
|
+
*/
|
|
32
|
+
showLabel: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: true
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* toggle visibility for loading-status
|
|
38
|
+
*/
|
|
39
|
+
showLoadingStatus: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: true
|
|
42
|
+
},
|
|
27
43
|
/**
|
|
28
44
|
* id for progress-bar
|
|
45
|
+
*
|
|
46
|
+
* @requiredForAccessibility: true
|
|
29
47
|
*/
|
|
30
48
|
id: {
|
|
31
49
|
type: String,
|
|
@@ -49,6 +67,5 @@ export default {
|
|
|
49
67
|
}
|
|
50
68
|
}
|
|
51
69
|
}
|
|
52
|
-
|
|
53
70
|
/* end cmd-progressbar ------------------------------------------------------------------------------------------ */
|
|
54
71
|
</style>
|
|
@@ -1,23 +1,36 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="['cmd-share-buttons',{'stretch': stretchButtons}]">
|
|
3
|
-
<a
|
|
4
|
-
:
|
|
2
|
+
<div :class="['cmd-share-buttons',{'stretch': stretchButtons, 'align-right': align === 'right'}]">
|
|
3
|
+
<a v-for="shareButton in validShareButtons"
|
|
4
|
+
:key="shareButton.path" class="button"
|
|
5
|
+
:id="shareButton.id"
|
|
6
|
+
:href="getUrl(shareButton)"
|
|
7
|
+
target="_blank"
|
|
8
|
+
:title="shareButton.tooltip">
|
|
5
9
|
<span v-if="shareButton.iconClass" :class="shareButton.iconClass"></span>
|
|
6
|
-
<span v-if="shareButton.
|
|
10
|
+
<span v-if="shareButton.linkText">{{ shareButton.linkText }}</span>
|
|
7
11
|
</a>
|
|
8
12
|
</div>
|
|
9
13
|
</template>
|
|
10
14
|
|
|
11
15
|
<script>
|
|
12
16
|
export default {
|
|
13
|
-
name: "
|
|
17
|
+
name: "CmdShareButtons",
|
|
14
18
|
props: {
|
|
19
|
+
/**
|
|
20
|
+
* set horizontal alignment
|
|
21
|
+
*
|
|
22
|
+
* @allowedValues: left, right
|
|
23
|
+
*/
|
|
24
|
+
align: {
|
|
25
|
+
type: String,
|
|
26
|
+
required: false
|
|
27
|
+
},
|
|
15
28
|
/**
|
|
16
29
|
* stretch-buttons to share horizontal space vertically
|
|
17
30
|
*/
|
|
18
31
|
stretchButtons: {
|
|
19
32
|
type: Boolean,
|
|
20
|
-
default:
|
|
33
|
+
default: false
|
|
21
34
|
},
|
|
22
35
|
/**
|
|
23
36
|
* list of share-buttons (i.e. facebook, twitter etc.)
|
|
@@ -25,21 +38,63 @@ export default {
|
|
|
25
38
|
shareButtons: {
|
|
26
39
|
type: Array,
|
|
27
40
|
required: true
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* page to share (appended to social-bookmark-url)
|
|
44
|
+
*
|
|
45
|
+
* appendPage-property must be activated
|
|
46
|
+
*/
|
|
47
|
+
page: {
|
|
48
|
+
type: String,
|
|
49
|
+
required: false
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
* activate if page to share is not given by json-data)
|
|
53
|
+
*/
|
|
54
|
+
appendPage: {
|
|
55
|
+
type: Boolean,
|
|
56
|
+
default: true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
computed: {
|
|
60
|
+
validShareButtons() {
|
|
61
|
+
return this.shareButtons.filter(item => item.path)
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
methods: {
|
|
65
|
+
getUrl(shareButton) {
|
|
66
|
+
// if path is not given completely by json-data
|
|
67
|
+
if(this.appendPage) {
|
|
68
|
+
// if page to share is given by property
|
|
69
|
+
if (this.page) {
|
|
70
|
+
return shareButton.path + encodeURIComponent(this.page)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// if current page should be append to url
|
|
74
|
+
return shareButton.path + encodeURIComponent(location.href)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// if path is given completely by json-data
|
|
78
|
+
return shareButton.path
|
|
28
79
|
}
|
|
29
80
|
}
|
|
30
81
|
}
|
|
31
82
|
</script>
|
|
32
83
|
|
|
33
84
|
<style lang="scss">
|
|
34
|
-
@import '../assets/styles/variables';
|
|
35
85
|
/* begin cmd-share-buttons -------------------------------------------------------------------------------------------- */
|
|
86
|
+
@import '../assets/styles/variables';
|
|
87
|
+
|
|
36
88
|
.cmd-share-buttons {
|
|
37
89
|
display: flex;
|
|
38
|
-
|
|
90
|
+
gap: var(--default-gap);
|
|
91
|
+
|
|
92
|
+
&.align-right {
|
|
93
|
+
justify-content: flex-end;
|
|
94
|
+
}
|
|
39
95
|
|
|
40
96
|
.button {
|
|
41
97
|
padding: calc(var(--default-padding) / 2) var(--default-padding);
|
|
42
|
-
margin-left: var(--default-margin);
|
|
43
98
|
|
|
44
99
|
&:first-of-type {
|
|
45
100
|
margin: 0;
|
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="['cmd-site-header', { sticky: sticky }]" role="banner">
|
|
3
|
+
<!-- begin slot for elements above header -->
|
|
3
4
|
<slot name="top-header"></slot>
|
|
4
|
-
|
|
5
|
+
<!-- end for elements above header -->
|
|
6
|
+
|
|
7
|
+
<!-- begin header-wrapper with slots for logo and other header elements -->
|
|
8
|
+
<header v-if="$slots.logo || $slots.header" :class="useGrid ? 'grid-container-create-columns': 'flex-container'">
|
|
5
9
|
<slot name="logo"></slot>
|
|
6
10
|
<slot name="header"></slot>
|
|
7
11
|
</header>
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
<!-- end header-wrapper with slots for logo and other header elements -->
|
|
13
|
+
|
|
14
|
+
<!-- begin CmdMainNavigation -->
|
|
15
|
+
<CmdMainNavigation
|
|
16
|
+
v-if="cmdMainNavigation?.navigationEntries?.length"
|
|
17
|
+
v-bind="cmdMainNavigation"
|
|
18
|
+
:closeOffcanvas="closeOffcanvas"/>
|
|
19
|
+
<!-- end CmdMainNavigation -->
|
|
10
20
|
</div>
|
|
11
21
|
</template>
|
|
12
22
|
|
|
13
23
|
<script>
|
|
24
|
+
// import components
|
|
14
25
|
import CmdMainNavigation from "./CmdMainNavigation"
|
|
15
26
|
|
|
16
27
|
export default {
|
|
@@ -20,14 +31,21 @@ export default {
|
|
|
20
31
|
},
|
|
21
32
|
props: {
|
|
22
33
|
/**
|
|
23
|
-
*
|
|
34
|
+
* properties for CmdMainNavigation-component
|
|
24
35
|
*/
|
|
25
|
-
|
|
26
|
-
type:
|
|
36
|
+
cmdMainNavigation: {
|
|
37
|
+
type: Object,
|
|
27
38
|
required: true
|
|
28
39
|
},
|
|
29
40
|
/**
|
|
30
|
-
*
|
|
41
|
+
* use only if default-button of inner navigation-component should not be used
|
|
42
|
+
*/
|
|
43
|
+
closeOffcanvas: {
|
|
44
|
+
type: Object,
|
|
45
|
+
required: false
|
|
46
|
+
},
|
|
47
|
+
/**
|
|
48
|
+
* activated sticky-header (stays on top if page is scrolled)
|
|
31
49
|
*/
|
|
32
50
|
sticky: {
|
|
33
51
|
type: Boolean,
|
|
@@ -35,17 +53,12 @@ export default {
|
|
|
35
53
|
},
|
|
36
54
|
/**
|
|
37
55
|
* use a grid for positioning of inner-elements (else a flex-container will be used)
|
|
56
|
+
*
|
|
57
|
+
* @affectsStyling: true
|
|
38
58
|
*/
|
|
39
59
|
useGrid: {
|
|
40
60
|
type: Boolean,
|
|
41
61
|
default: true
|
|
42
|
-
},
|
|
43
|
-
/**
|
|
44
|
-
* use only if default-button of inner navigation-component should not be used
|
|
45
|
-
*/
|
|
46
|
-
closeOffcanvas: {
|
|
47
|
-
type: Object,
|
|
48
|
-
required: false
|
|
49
62
|
}
|
|
50
63
|
}
|
|
51
64
|
}
|
|
@@ -14,7 +14,8 @@ export default {
|
|
|
14
14
|
/**
|
|
15
15
|
* set slide-button-type
|
|
16
16
|
*
|
|
17
|
-
*
|
|
17
|
+
* @allowedValues: next, prev, up, down
|
|
18
|
+
* @affectsStyling: true
|
|
18
19
|
*/
|
|
19
20
|
slideButtonType: {
|
|
20
21
|
type: String,
|
|
@@ -22,6 +23,8 @@ export default {
|
|
|
22
23
|
},
|
|
23
24
|
/**
|
|
24
25
|
* default slide-buttons
|
|
26
|
+
*
|
|
27
|
+
* @requiredForAccessibility: partial
|
|
25
28
|
*/
|
|
26
29
|
slideButtons: {
|
|
27
30
|
type: Object,
|
|
@@ -52,7 +55,7 @@ export default {
|
|
|
52
55
|
if(this.slideButtons[this.slideButtonType]) {
|
|
53
56
|
return this.slideButtons[this.slideButtonType]
|
|
54
57
|
}
|
|
55
|
-
console.
|
|
58
|
+
console.warn("Property 'slideButtonType' does not match slideButtons-key")
|
|
56
59
|
return {}
|
|
57
60
|
}
|
|
58
61
|
}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="cmd-slideshow" :class="{'full-width': fullWidth}">
|
|
3
3
|
<div class="inner-slideshow-wrapper" @mouseenter="pause = true" @mouseleave="pause = false">
|
|
4
|
-
|
|
4
|
+
<!-- begin CmdSlideButton -->
|
|
5
|
+
<CmdSlideButton
|
|
6
|
+
@click.prevent="showPrevItem"
|
|
7
|
+
slideButtonType="prev"
|
|
8
|
+
/>
|
|
9
|
+
<!-- end CmdSlideButton -->
|
|
10
|
+
|
|
11
|
+
<!-- begin area to slide -->
|
|
5
12
|
<transition name="fade">
|
|
6
13
|
<a v-if="currentItem.href" :href="currentItem.href" :key="index" :title="currentItem.title">
|
|
7
14
|
<figure v-if="currentItem && !useSlot" class="slideshow-item">
|
|
@@ -22,7 +29,14 @@
|
|
|
22
29
|
<slot :name="'item' + currentSlotItem"></slot>
|
|
23
30
|
</div>
|
|
24
31
|
</transition>
|
|
25
|
-
|
|
32
|
+
<!-- end area to slide -->
|
|
33
|
+
|
|
34
|
+
<!-- begin CmdSlideButton -->
|
|
35
|
+
<CmdSlideButton
|
|
36
|
+
@click.prevent="showNextItem"
|
|
37
|
+
/>
|
|
38
|
+
<!-- end CmdSlideButton -->
|
|
39
|
+
|
|
26
40
|
<ol v-if="showQuickLinkIcons">
|
|
27
41
|
<li v-for="(item, i) in slideshowItems" :key="i" :class="{active: i === index }">
|
|
28
42
|
<a href="#" @click.prevent="index = i" :aria-label="index"></a>
|
|
@@ -34,7 +48,8 @@
|
|
|
34
48
|
</template>
|
|
35
49
|
|
|
36
50
|
<script>
|
|
37
|
-
import
|
|
51
|
+
// import components
|
|
52
|
+
import CmdSlideButton from "./CmdSlideButton"
|
|
38
53
|
|
|
39
54
|
const NOT_YET_PRELOADED_IMAGE = image => !image.loaded
|
|
40
55
|
const NOT_YET_PRELOADED_IMAGES = item => item.images && item.images.find(NOT_YET_PRELOADED_IMAGE)
|
|
@@ -91,16 +106,18 @@ export default {
|
|
|
91
106
|
default: false
|
|
92
107
|
},
|
|
93
108
|
/**
|
|
94
|
-
* list of images to display (use slot
|
|
109
|
+
* list of images to display (use slot must be set to false)
|
|
95
110
|
*/
|
|
96
111
|
slideshowItems: {
|
|
97
112
|
type: Array,
|
|
98
113
|
required: true
|
|
99
114
|
},
|
|
100
115
|
/**
|
|
101
|
-
*
|
|
116
|
+
* properties for CmdSlideButtons-component
|
|
117
|
+
*
|
|
118
|
+
* @requiredForAccessibility: partial
|
|
102
119
|
*/
|
|
103
|
-
|
|
120
|
+
cmdSlideButtons: {
|
|
104
121
|
type: Object,
|
|
105
122
|
default() {
|
|
106
123
|
return {
|
|
@@ -127,7 +144,6 @@ export default {
|
|
|
127
144
|
this.hnd = null;
|
|
128
145
|
}
|
|
129
146
|
},
|
|
130
|
-
|
|
131
147
|
methods: {
|
|
132
148
|
showPrevItem() {
|
|
133
149
|
if (this.useSlot) {
|
|
@@ -33,8 +33,7 @@ export default {
|
|
|
33
33
|
/**
|
|
34
34
|
* set id for input
|
|
35
35
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
36
|
+
* @requiredForAccessibility: true
|
|
38
37
|
*/
|
|
39
38
|
id: {
|
|
40
39
|
type: String,
|
|
@@ -43,7 +42,7 @@ export default {
|
|
|
43
42
|
/**
|
|
44
43
|
* set name for input
|
|
45
44
|
*
|
|
46
|
-
*
|
|
45
|
+
* required for radio-buttons (and form-submit by browser)
|
|
47
46
|
*/
|
|
48
47
|
name: {
|
|
49
48
|
type: String,
|
|
@@ -67,6 +66,8 @@ export default {
|
|
|
67
66
|
* text for label
|
|
68
67
|
*
|
|
69
68
|
* required if onLabel/offLabel are not set
|
|
69
|
+
*
|
|
70
|
+
* @requiredForAccessibility: true
|
|
70
71
|
*/
|
|
71
72
|
labelText: {
|
|
72
73
|
type: String,
|
|
@@ -76,6 +77,8 @@ export default {
|
|
|
76
77
|
* text for on-label
|
|
77
78
|
*
|
|
78
79
|
* set to activate switch-label (=label is placed on toggle-switch (not behind))
|
|
80
|
+
*
|
|
81
|
+
* @requiredForAccessibility: true
|
|
79
82
|
*/
|
|
80
83
|
onLabel: {
|
|
81
84
|
type: String,
|
|
@@ -85,6 +88,8 @@ export default {
|
|
|
85
88
|
* text for off-label
|
|
86
89
|
*
|
|
87
90
|
* set to activate switch-label (=label is placed on toggle-switch (not behind))
|
|
91
|
+
*
|
|
92
|
+
* @requiredForAccessibility: true
|
|
88
93
|
*/
|
|
89
94
|
offLabel: {
|
|
90
95
|
type: String,
|
|
@@ -92,6 +97,8 @@ export default {
|
|
|
92
97
|
},
|
|
93
98
|
/**
|
|
94
99
|
* set to true, if checkbox/radio-buttons should have green/checked and red/unchecked color-coding
|
|
100
|
+
*
|
|
101
|
+
* @affectsStyling: true
|
|
95
102
|
*/
|
|
96
103
|
colored: {
|
|
97
104
|
type: Boolean,
|
|
@@ -2,15 +2,23 @@
|
|
|
2
2
|
<div class="cmd-switch-language">
|
|
3
3
|
<ul>
|
|
4
4
|
<li v-for="(language, index) in languages" :key="index">
|
|
5
|
-
|
|
5
|
+
<!-- begin link-type 'href' -->
|
|
6
|
+
<a v-if="language.link.type === 'href'" :href="language.link.path"
|
|
7
|
+
:class="['flag', language.iso2, {'active': language.active}]"
|
|
8
|
+
:title="language.tooltip"
|
|
9
|
+
@click="$emit('click', { originalEvent: $event, language} )">
|
|
10
|
+
<img :src="getFlagURL(language.iso2)" :alt="language.name" />
|
|
11
|
+
</a>
|
|
12
|
+
<!-- end link-type 'href -->
|
|
13
|
+
|
|
14
|
+
<!-- begin link-type 'router' -->
|
|
15
|
+
<router-link v-else
|
|
16
|
+
:class="['flag', language.iso2]"
|
|
6
17
|
:to="getRoute(language)" :title="language.tooltip"
|
|
7
|
-
@click="$emit('click', $event, language)">
|
|
8
|
-
<img :src="getFlagURL(language.iso2)" :alt="language.name"/>
|
|
18
|
+
@click="$emit('click', { originalEvent: $event, language})">
|
|
19
|
+
<img :src="getFlagURL(language.iso2)" :alt="language.name" />
|
|
9
20
|
</router-link>
|
|
10
|
-
|
|
11
|
-
:title="language.tooltip" @click="$emit('click', $event, language)">
|
|
12
|
-
<img :src="getFlagURL(language.iso2)" :alt="language.name"/>
|
|
13
|
-
</a>
|
|
21
|
+
<!-- end link-type 'router' -->
|
|
14
22
|
</li>
|
|
15
23
|
</ul>
|
|
16
24
|
</div>
|
|
@@ -23,6 +31,9 @@ export default {
|
|
|
23
31
|
name: "CmdSwitchLanguage",
|
|
24
32
|
emits: ["click"],
|
|
25
33
|
props: {
|
|
34
|
+
/**
|
|
35
|
+
* list of languages
|
|
36
|
+
*/
|
|
26
37
|
languages: {
|
|
27
38
|
type: Array,
|
|
28
39
|
required: true
|
|
@@ -32,9 +43,6 @@ export default {
|
|
|
32
43
|
getRoute(language) {
|
|
33
44
|
return getRoute(language)
|
|
34
45
|
},
|
|
35
|
-
switchLanguage(iso2) {
|
|
36
|
-
alert("Switch to " + iso2)
|
|
37
|
-
},
|
|
38
46
|
getFlagURL(isoCode) {
|
|
39
47
|
return require("../assets/images/flags/flag-" + isoCode + ".svg")
|
|
40
48
|
}
|
|
@@ -2,21 +2,23 @@
|
|
|
2
2
|
<transition name="fade">
|
|
3
3
|
<div
|
|
4
4
|
v-if="showSystemMessage"
|
|
5
|
-
:class="['cmd-system-message', 'system-message', { 'full-width': fullWidth },
|
|
6
|
-
role="alert"
|
|
5
|
+
:class="['cmd-system-message', 'system-message', 'flex-container', 'vertical', { 'full-width': fullWidth }, validationStatus]"
|
|
6
|
+
:role="status === 'error' ? 'alert' : 'dialog'"
|
|
7
7
|
>
|
|
8
8
|
<a
|
|
9
|
-
v-if="iconClose.iconClass"
|
|
9
|
+
v-if="iconClose.show && iconClose.iconClass"
|
|
10
10
|
:class="iconClose.iconClass"
|
|
11
11
|
href="#"
|
|
12
12
|
@click.prevent="showSystemMessage = false"
|
|
13
13
|
:title="iconClose.tooltip"
|
|
14
14
|
></a>
|
|
15
15
|
<h6>
|
|
16
|
-
<span v-if="iconMessage && iconMessage.iconClass
|
|
17
|
-
<strong v-if="
|
|
16
|
+
<span v-if="iconMessage && iconMessage.iconClass" :class="iconMessage.iconClass"></span>
|
|
17
|
+
<strong v-if="systemMessage">{{ systemMessage }}</strong>
|
|
18
18
|
</h6>
|
|
19
|
+
<!-- begin slot-content -->
|
|
19
20
|
<slot></slot>
|
|
21
|
+
<!-- end slot-content -->
|
|
20
22
|
</div>
|
|
21
23
|
</transition>
|
|
22
24
|
</template>
|
|
@@ -31,49 +33,53 @@ export default {
|
|
|
31
33
|
},
|
|
32
34
|
props: {
|
|
33
35
|
/**
|
|
34
|
-
* status
|
|
36
|
+
* validation-status for the message-box
|
|
35
37
|
*
|
|
36
|
-
*
|
|
38
|
+
* @allowedValues: error, warning, success, info
|
|
39
|
+
* @affectsStyling: true
|
|
37
40
|
*/
|
|
38
|
-
|
|
41
|
+
validationStatus: {
|
|
39
42
|
type: String,
|
|
40
43
|
required: true
|
|
41
44
|
},
|
|
42
45
|
/**
|
|
43
|
-
* activate to stretch message-box as wide as parent container (else message-box is as wide as message)
|
|
46
|
+
* activate to stretch message-box as wide as parent container (else message-box is as wide as message (+padding))
|
|
44
47
|
*/
|
|
45
48
|
fullWidth: {
|
|
46
49
|
type: Boolean,
|
|
47
50
|
default: true
|
|
48
51
|
},
|
|
49
52
|
/**
|
|
50
|
-
* set icon-class for message (will be displayed left from
|
|
53
|
+
* set icon-class for message (will be displayed left from message)
|
|
51
54
|
*/
|
|
52
55
|
iconMessage: {
|
|
53
56
|
type: Object,
|
|
54
57
|
default: function() {
|
|
55
58
|
return {
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
show: true,
|
|
60
|
+
iconClass: "icon-warning"
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
},
|
|
61
64
|
/**
|
|
62
65
|
* the system-message-text
|
|
63
66
|
*/
|
|
64
|
-
|
|
67
|
+
systemMessage: {
|
|
65
68
|
type: String,
|
|
66
69
|
required: false
|
|
67
70
|
},
|
|
68
71
|
/**
|
|
69
72
|
* icon to close system-message
|
|
73
|
+
*
|
|
74
|
+
* @requiredForAccessibility: partial
|
|
70
75
|
*/
|
|
71
76
|
iconClose: {
|
|
72
77
|
type: Object,
|
|
73
78
|
default: function () {
|
|
74
79
|
return {
|
|
80
|
+
show: true,
|
|
75
81
|
iconClass: "icon-cancel",
|
|
76
|
-
tooltip: "Close"
|
|
82
|
+
tooltip: "Close this message"
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
85
|
}
|
|
@@ -90,11 +96,9 @@ export default {
|
|
|
90
96
|
/* begin cmd-system-message ---------------------------------------------------------------------------------------- */
|
|
91
97
|
.cmd-system-message {
|
|
92
98
|
margin: var(--default-margin) 0;
|
|
99
|
+
align-items: center;
|
|
93
100
|
|
|
94
101
|
h6 {
|
|
95
|
-
display: table;
|
|
96
|
-
margin: 0 auto var(--default-margin) auto;
|
|
97
|
-
|
|
98
102
|
strong {
|
|
99
103
|
margin-left: calc(var(--default-margin) / 2);
|
|
100
104
|
}
|
|
@@ -104,6 +108,15 @@ export default {
|
|
|
104
108
|
margin-bottom: 0;
|
|
105
109
|
}
|
|
106
110
|
|
|
111
|
+
ul {
|
|
112
|
+
display: flex;
|
|
113
|
+
flex-direction: column;
|
|
114
|
+
|
|
115
|
+
li {
|
|
116
|
+
margin-left: 0;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
107
120
|
> a[class*="icon-"]:not(.button) {
|
|
108
121
|
font-size: 1rem;
|
|
109
122
|
color: var(--pure-white) !important;
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
</a>
|
|
16
16
|
</div>
|
|
17
17
|
<table :class="{'full-width': fullWidth}">
|
|
18
|
-
<caption :class="{hidden: tableData.caption.
|
|
18
|
+
<caption :class="{hidden: !tableData.caption.show}">{{ tableData.caption.text }}</caption>
|
|
19
19
|
<thead>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
<tr>
|
|
21
|
+
<th v-for="(tablehead, indexHead) in tableData.thead" :key="indexHead">
|
|
22
|
+
{{ tablehead }}
|
|
23
|
+
</th>
|
|
24
|
+
</tr>
|
|
25
25
|
</thead>
|
|
26
26
|
<transition name="fade">
|
|
27
27
|
<tbody v-show="showTableData" aria-expanded="true">
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
<script>
|
|
49
49
|
export default {
|
|
50
|
-
name: "
|
|
50
|
+
name: "CmdTable",
|
|
51
51
|
data() {
|
|
52
52
|
return {
|
|
53
53
|
showTableData: true,
|
|
@@ -85,6 +85,8 @@ export default {
|
|
|
85
85
|
},
|
|
86
86
|
/**
|
|
87
87
|
* icon to expand table (vertically)
|
|
88
|
+
*
|
|
89
|
+
* @requiredForAccessibility: partial
|
|
88
90
|
*/
|
|
89
91
|
iconExpand: {
|
|
90
92
|
type: Object,
|
|
@@ -97,6 +99,8 @@ export default {
|
|
|
97
99
|
},
|
|
98
100
|
/**
|
|
99
101
|
* icon to collapse table (vertically)
|
|
102
|
+
*
|
|
103
|
+
* @requiredForAccessibility: partial
|
|
100
104
|
*/
|
|
101
105
|
iconCollapse: {
|
|
102
106
|
type: Object,
|
|
@@ -109,6 +113,8 @@ export default {
|
|
|
109
113
|
},
|
|
110
114
|
/**
|
|
111
115
|
* icon to shrink table (horizontally)
|
|
116
|
+
*
|
|
117
|
+
* @requiredForAccessibility: partial
|
|
112
118
|
*/
|
|
113
119
|
iconShrink: {
|
|
114
120
|
type: Object,
|
|
@@ -121,6 +127,8 @@ export default {
|
|
|
121
127
|
},
|
|
122
128
|
/**
|
|
123
129
|
* icon to stretch table (horizontally)
|
|
130
|
+
*
|
|
131
|
+
* @requiredForAccessibility: partial
|
|
124
132
|
*/
|
|
125
133
|
iconStretch: {
|
|
126
134
|
type: Object,
|