comand-component-library 3.1.45 → 3.1.48
Sign up to get free protection for your applications and to get access to all the features.
- 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,
|