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,91 +1,153 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-address-data vcard">
|
3
|
-
|
3
|
+
<!-- begin CmdCustomHeadline -->
|
4
|
+
<CmdCustomHeadline v-if="cmdCustomHeadline" v-bind="cmdCustomHeadline" />
|
5
|
+
<!-- end CmdCustomHeadline -->
|
6
|
+
|
7
|
+
<!-- begin address-data in vCard microformat -->
|
4
8
|
<address class="adr">
|
9
|
+
<!-- begin list with labels -->
|
5
10
|
<dl v-if="showLabels">
|
6
|
-
|
7
|
-
<
|
8
|
-
|
11
|
+
<!-- begin company -->
|
12
|
+
<dt v-if="addressData.company?.value">
|
13
|
+
<span v-if="addressData.company.iconClass && showLabelIcons" :class="addressData.company.iconClass" :title="getMessage('cmdaddressdata.labeltext.company')"></span>
|
14
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.company')}}</span>
|
15
|
+
</dt>
|
16
|
+
<dd v-if="addressData.company?.value" class="org">{{ addressData.company.value }}</dd>
|
17
|
+
<!-- end company -->
|
18
|
+
|
19
|
+
<!-- begin address -->
|
20
|
+
<dt v-if="addressData.address && addressData.address.length">
|
21
|
+
<span v-if="addressData.address.iconClass && showLabelIcons" :class="addressData.address.iconClass" :title="getMessage('cmdaddressdata.labeltext.address')"></span>
|
22
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.address')}}</span>
|
23
|
+
</dt>
|
9
24
|
<dd v-if="addressData.address">
|
10
|
-
<a :href="locateAddress" target="
|
11
|
-
title="
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
<span
|
16
|
-
class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
|
17
|
-
<span class="country-name" v-if="addressData.country">{{ addressData.country }}</span>
|
25
|
+
<a v-if="linkGoogleMaps" :href="locateAddress" target="google-maps"
|
26
|
+
:title="getMessage('cmdaddressdata.title.open_address_on_google_maps')">
|
27
|
+
<span v-if="addressData.address.streetNo" class="street-address">{{ addressData.address.streetNo }}</span><br/>
|
28
|
+
<span v-if="addressData.address.zip" class="postal-code">{{ addressData.address.zip }} </span>
|
29
|
+
<span v-if="addressData.address.city" class="locality">{{ addressData.address.city }}</span>
|
30
|
+
<span v-if="addressData.country" class="country-name">{{ addressData.country }}</span>
|
18
31
|
</a>
|
19
32
|
<template v-else>
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<span
|
24
|
-
class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
|
25
|
-
<span class="country-name" v-if="addressData.country">{{ addressData.country }}</span>
|
33
|
+
<span v-if="addressData.address.streetNo" class="street-address">{{addressData.address.streetNo }}</span><br/>
|
34
|
+
<span v-if="addressData.address.zip" class="postal-code">{{ addressData.address.zip }}</span>
|
35
|
+
<span v-if="addressData.address.city" class="locality">{{ addressData.address.city }}</span>
|
36
|
+
<span v-if="addressData.country" class="country-name">{{ addressData.country }}</span>
|
26
37
|
</template>
|
27
38
|
</dd>
|
28
|
-
|
29
|
-
|
30
|
-
|
39
|
+
<!-- end address -->
|
40
|
+
|
41
|
+
<!-- begin telephone -->
|
42
|
+
<dt v-if="addressData.telephone?.value">
|
43
|
+
<span v-if="addressData.telephone.iconClass && showLabelIcons" :class="addressData.telephone.iconClass" :title="getMessage('cmdaddressdata.labeltext.telephone')"></span>
|
44
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.telephone')}}</span>
|
45
|
+
</dt>
|
46
|
+
<dd v-if="addressData.telephone?.value">
|
47
|
+
<a :href="'tel:' + addressData.telephone" title="Call number" class="tel" v-telephone="addressData.telephone.value">{{ addressData.telephone.value }}</a>
|
48
|
+
</dd>
|
49
|
+
<!-- end telephone -->
|
50
|
+
|
51
|
+
<!-- begin mobilephone -->
|
52
|
+
<dt v-if="addressData.mobilephone?.value">
|
53
|
+
<span v-if="addressData.mobilephone.iconClass && showLabelIcons" :class="addressData.mobilephone.iconClass" :title="getMessage('cmdaddressdata.labeltext.mobile_phone')"></span>
|
54
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.mobile_phone')}}</span>
|
55
|
+
</dt>
|
56
|
+
<dd v-if="addressData.mobilephone?.value">
|
57
|
+
<a :href="'tel:' + addressData.mobilephone" title="Call number" class="tel" v-telephone="addressData.mobilephone.value">{{ addressData.mobilephone.value }}</a>
|
31
58
|
</dd>
|
32
|
-
|
33
|
-
|
34
|
-
|
59
|
+
<!-- end mobilephone -->
|
60
|
+
|
61
|
+
<!-- begin fax -->
|
62
|
+
<dt v-if="addressData.fax?.value">
|
63
|
+
<span v-if="addressData.fax.iconClass && showLabelIcons" :class="addressData.fax.iconClass" :title="getMessage('cmdaddressdata.labeltext.fax')"></span>
|
64
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.fax')}}</span>
|
65
|
+
</dt>
|
66
|
+
<dd v-if="addressData.fax?.value" class="fax">{{ addressData.fax.value }}</dd>
|
67
|
+
<!-- end fax -->
|
68
|
+
|
69
|
+
<!-- begin email -->
|
70
|
+
<dt v-if="addressData.email?.value">
|
71
|
+
<span v-if="addressData.email.iconClass && showLabelIcons" :class="addressData.email.iconClass" :title="getMessage('cmdaddressdata.labeltext.email')"></span>
|
72
|
+
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.email')}}</span>
|
73
|
+
</dt>
|
74
|
+
<dd class="email" v-if="addressData.email?.value">
|
75
|
+
<a :href="'mailto:' + addressData.email?.value" class="email">{{ addressData.email.value }}</a>
|
35
76
|
</dd>
|
36
|
-
|
37
|
-
<dd v-if="addressData.fax" class="fax">{{ addressData.fax }}</dd>
|
38
|
-
<dt v-if="addressData.email">E-Mail:</dt>
|
39
|
-
<dd class="email" v-if="addressData.email"><a :href="'mailto:' + addressData.email"
|
40
|
-
class="email">{{ addressData.email }}</a></dd>
|
77
|
+
<!-- end email -->
|
41
78
|
</dl>
|
79
|
+
<!-- end list with labels -->
|
80
|
+
|
81
|
+
<!-- begin list without labels -->
|
42
82
|
<ul v-else class="flex-container">
|
43
83
|
<li v-if="addressData.company">
|
44
|
-
<span
|
84
|
+
<span class="org">{{ addressData.company.value }}</span>
|
45
85
|
</li>
|
46
86
|
<li>
|
47
|
-
<a :href="locateAddress" target="
|
48
|
-
title="
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
<span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }}</span> <span
|
53
|
-
class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
|
87
|
+
<a :href="locateAddress" target="google-maps" v-if="linkGoogleMaps"
|
88
|
+
:title="getMessage('cmdaddressdata.title.open_address_on_google_maps')">
|
89
|
+
<span class="street-address" v-if="addressData.address.streetNo">{{ addressData.address.streetNo }}</span><br/>
|
90
|
+
<span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }}</span>
|
91
|
+
<span class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
|
54
92
|
<span class="country-name" v-if="addressData.country">{{ addressData.country }}</span>
|
55
93
|
</a>
|
56
94
|
<template v-else>
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
<span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }}</span> <span
|
61
|
-
class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
|
95
|
+
<span class="street-address" v-if="addressData.address.streetNo">{{ addressData.address.streetNo }}</span><br/>
|
96
|
+
<span class="postal-code" v-if="addressData.address.zip">{{ addressData.address.zip }}</span>
|
97
|
+
<span class="locality" v-if="addressData.address.city">{{ addressData.address.city }}</span>
|
62
98
|
<span class="country-name" v-if="addressData.country">{{ addressData.country }}</span>
|
63
99
|
</template>
|
64
100
|
</li>
|
65
|
-
<li v-if="addressData.telephone">
|
66
|
-
<a :href="'tel:' + addressData.telephone" title="
|
67
|
-
|
68
|
-
|
101
|
+
<li v-if="addressData.telephone?.value">
|
102
|
+
<a :href="'tel:' + addressData.telephone.value" :title="getMessage('cmdaddressdata.title.call_number')" class="tel">{{ addressData.telephone.value }}</a>
|
103
|
+
</li>
|
104
|
+
<li v-if="addressData.fax?.value">
|
105
|
+
<span class="fax">{{ addressData.fax.value }}</span>
|
69
106
|
</li>
|
70
|
-
<li v-if="addressData.
|
71
|
-
|
72
|
-
addressData.email
|
73
|
-
}}</a>
|
107
|
+
<li v-if="addressData.email?.value" :title="getMessage('cmdaddressdata.title.send_email')">
|
108
|
+
<a :href="'mailto:' + addressData.email.value" class="email">{{ addressData.email.value }}</a>
|
74
109
|
</li>
|
75
110
|
</ul>
|
111
|
+
<!-- end list without labels -->
|
76
112
|
</address>
|
113
|
+
<!-- end address-data in vCard microformat -->
|
77
114
|
</div>
|
78
115
|
</template>
|
79
116
|
|
80
117
|
<script>
|
118
|
+
// import mixins
|
119
|
+
import I18n from "../mixins/I18n"
|
120
|
+
import DefaultMessageProperties from "../mixins/CmdAddressData/DefaultMessageProperties"
|
121
|
+
|
122
|
+
// import components
|
123
|
+
import CmdCustomHeadline from "./CmdCustomHeadline"
|
124
|
+
|
81
125
|
export default {
|
82
126
|
name: "CmdAddressData",
|
127
|
+
mixins: [I18n, DefaultMessageProperties],
|
128
|
+
components: {
|
129
|
+
CmdCustomHeadline
|
130
|
+
},
|
83
131
|
props: {
|
84
132
|
/**
|
85
|
-
*
|
133
|
+
* show a label-icon (if exists)
|
86
134
|
*/
|
87
|
-
|
88
|
-
type:
|
135
|
+
showLabelIcons: {
|
136
|
+
type: Boolean,
|
137
|
+
default: true
|
138
|
+
},
|
139
|
+
/**
|
140
|
+
* show a label-text
|
141
|
+
*/
|
142
|
+
showLabelTexts: {
|
143
|
+
type: Boolean,
|
144
|
+
default: true
|
145
|
+
},
|
146
|
+
/**
|
147
|
+
* properties for CmdCustomHeadline-component
|
148
|
+
*/
|
149
|
+
cmdCustomHeadline: {
|
150
|
+
type: Object,
|
89
151
|
required: false
|
90
152
|
},
|
91
153
|
/**
|
@@ -96,7 +158,7 @@ export default {
|
|
96
158
|
default: true
|
97
159
|
},
|
98
160
|
/**
|
99
|
-
* all address-data (incl.
|
161
|
+
* all address-data (incl. labels) that will be shown
|
100
162
|
*/
|
101
163
|
addressData: {
|
102
164
|
type: Object,
|
@@ -121,10 +183,16 @@ export default {
|
|
121
183
|
<style lang="scss">
|
122
184
|
/* begin cmd-address-data ---------------------------------------------------------------------------------------- */
|
123
185
|
.cmd-address-data {
|
124
|
-
|
125
|
-
|
186
|
+
dl {
|
187
|
+
grid-row-gap: calc(var(--default-gap) / 2);
|
188
|
+
|
189
|
+
dt, dd {
|
190
|
+
display: flex;
|
191
|
+
align-items: center;
|
192
|
+
}
|
126
193
|
}
|
127
194
|
|
195
|
+
|
128
196
|
ul {
|
129
197
|
flex-direction: column;
|
130
198
|
gap: calc(var(--default-gap) / 2);
|
@@ -1,9 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<!-- begin cmd-back-to-top-button -->
|
3
3
|
<transition name="fade">
|
4
|
-
<a :class="iconBackToTop.iconClass" class="cmd-back-to-top-button" href="#" :title="iconBackToTop.tooltip"
|
5
|
-
@click.prevent="onBackToTop"
|
6
|
-
v-if="show"></a>
|
4
|
+
<a v-if="show" :class="iconBackToTop.iconClass" class="cmd-back-to-top-button" href="#" :title="iconBackToTop.tooltip" @click.prevent="onBackToTop"></a>
|
7
5
|
</transition>
|
8
6
|
<!-- end cmd-back-to-top-button -->
|
9
7
|
</template>
|
@@ -21,6 +19,8 @@ export default {
|
|
21
19
|
props: {
|
22
20
|
/**
|
23
21
|
* icon-class (and shown tooltip on hover) for back to top button
|
22
|
+
*
|
23
|
+
* @requiredForAccessibility: partial
|
24
24
|
*/
|
25
25
|
iconBackToTop: {
|
26
26
|
type: Object,
|
@@ -0,0 +1,104 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="cmd-bank-account-data">
|
3
|
+
<!-- begin CmdCustomHeadline -->
|
4
|
+
<CmdCustomHeadline v-if="cmdCustomHeadline" v-bind="cmdCustomHeadline"/>
|
5
|
+
<!-- end CmdCustomHeadline -->
|
6
|
+
|
7
|
+
<!-- begin account data -->
|
8
|
+
<dl>
|
9
|
+
<template v-for="(entry, index) in accountData" :key="index">
|
10
|
+
<dt>{{ entry.text }}</dt>
|
11
|
+
<dd v-if="allowCopyByClick && entry.allowCopy" class="flex-container no-flex">
|
12
|
+
<span>{{ entry.value }}</span>
|
13
|
+
<a href="#" @click.prevent="copyToClipboard(entry.value)" :title="iconCopy.tooltip">
|
14
|
+
<span :class="iconCopy.iconClass"></span>
|
15
|
+
</a>
|
16
|
+
</dd>
|
17
|
+
<dd v-else :key="index">{{ entry.value }}</dd>
|
18
|
+
</template>
|
19
|
+
</dl>
|
20
|
+
<!-- end account data -->
|
21
|
+
|
22
|
+
<!-- begin additional information -->
|
23
|
+
<p v-if="additionalInformation">{{ additionalInformation }}</p>
|
24
|
+
<!-- end additional information -->
|
25
|
+
</div>
|
26
|
+
</template>
|
27
|
+
|
28
|
+
<script>
|
29
|
+
// import components
|
30
|
+
import CmdCustomHeadline from "./CmdCustomHeadline"
|
31
|
+
|
32
|
+
export default {
|
33
|
+
name: "CmdBankAccountData",
|
34
|
+
components: {CmdCustomHeadline},
|
35
|
+
props: {
|
36
|
+
/**
|
37
|
+
* bank account data
|
38
|
+
*
|
39
|
+
* must contain: owner, name of bank, IBAN, SWIFT/BIC
|
40
|
+
*/
|
41
|
+
accountData: {
|
42
|
+
type: Array,
|
43
|
+
required: true
|
44
|
+
},
|
45
|
+
/**
|
46
|
+
* enable if data can be copied by click on icon
|
47
|
+
*/
|
48
|
+
allowCopyByClick: {
|
49
|
+
type: Boolean,
|
50
|
+
default: true
|
51
|
+
},
|
52
|
+
/**
|
53
|
+
* additional information shown in a paragraph below account data
|
54
|
+
*/
|
55
|
+
additionalInformation: {
|
56
|
+
type: String,
|
57
|
+
required: false
|
58
|
+
},
|
59
|
+
/**
|
60
|
+
* icon 'copy'
|
61
|
+
*
|
62
|
+
* @requiredForAccessibility: partial
|
63
|
+
*/
|
64
|
+
iconCopy: {
|
65
|
+
type: Object,
|
66
|
+
default() {
|
67
|
+
return {
|
68
|
+
iconClass: "icon-file-copy",
|
69
|
+
tooltip: "Copy data to clipboard!"
|
70
|
+
}
|
71
|
+
}
|
72
|
+
},
|
73
|
+
/**
|
74
|
+
* properties for CmdCustomHeadline-component
|
75
|
+
*/
|
76
|
+
cmdCustomHeadline: {
|
77
|
+
type: Object,
|
78
|
+
required: false
|
79
|
+
}
|
80
|
+
},
|
81
|
+
methods: {
|
82
|
+
copyToClipboard(entry) {
|
83
|
+
// get data, remove spaces and copy to clipboard
|
84
|
+
const output = entry.replace(/\s/g, "")
|
85
|
+
navigator.clipboard.writeText(output)
|
86
|
+
alert(output + " was copied to clipboard")
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
</script>
|
91
|
+
|
92
|
+
<style lang="scss">
|
93
|
+
.cmd-bank-account-data {
|
94
|
+
dd.flex-container {
|
95
|
+
gap: calc(var(--default-gap) / 2);
|
96
|
+
|
97
|
+
> span {
|
98
|
+
&:first-child {
|
99
|
+
white-space: nowrap;
|
100
|
+
}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
</style>
|