comand-component-library 3.1.44 → 3.1.47
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-countries.json +12 -12
- 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 -14
- 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 +330 -66
- package/src/components/CmdFancyBox.vue +47 -33
- package/src/components/CmdForm.vue +107 -0
- package/src/components/CmdFormElement.vue +528 -79
- 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 +25 -12
- 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
@@ -0,0 +1,69 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {ref} from "vue"
|
4
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
5
|
+
import {isFrameMode} from "../../../utils/common"
|
6
|
+
|
7
|
+
// import components
|
8
|
+
import CmdFormFilters from "../../../components/CmdFormFilters"
|
9
|
+
import CmdFakeSelect from "../../../components/CmdFakeSelect"
|
10
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
11
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
12
|
+
import CmdTabs from "../../../components/CmdTabs"
|
13
|
+
import ExampleSectionWrapper from "../../components/ExampleSectionWrapper"
|
14
|
+
|
15
|
+
// import example-data
|
16
|
+
import CmdCode from "../../data/CmdFormFiltersHelp"
|
17
|
+
import fakeSelectFilterOptions from '../../../assets/data/fake-select-filter-options.json'
|
18
|
+
import propertyDescriptions from "../../generated/CmdFormFiltersPropertyDescriptions.json"
|
19
|
+
|
20
|
+
function getOptionName(option) {
|
21
|
+
for (let i = 0; i < fakeSelectFilterOptions.length; i++) {
|
22
|
+
if (option === fakeSelectFilterOptions[i].value) {
|
23
|
+
return fakeSelectFilterOptions[i].text
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return null
|
27
|
+
}
|
28
|
+
|
29
|
+
const propertyStructures = {
|
30
|
+
selectedOptions: [
|
31
|
+
{
|
32
|
+
"text": "<string>",
|
33
|
+
"value": "<string>"
|
34
|
+
}
|
35
|
+
]
|
36
|
+
}
|
37
|
+
|
38
|
+
const fakeSelectFilters = ref([])
|
39
|
+
</script>
|
40
|
+
|
41
|
+
<template>
|
42
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
43
|
+
<template v-slot:tab-content-0>
|
44
|
+
<h2>Component</h2>
|
45
|
+
<ExampleSectionWrapper componentName="CmdFormFilters" headlineText="Form Filters">
|
46
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]">
|
47
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
48
|
+
<CmdFormFilters
|
49
|
+
v-model="fakeSelectFilters"
|
50
|
+
:selectedOptionsName="getOptionName"
|
51
|
+
/>
|
52
|
+
<CmdFakeSelect
|
53
|
+
labelText="Selectbox with filters:"
|
54
|
+
:selectData="fakeSelectFilterOptions"
|
55
|
+
v-model="fakeSelectFilters"
|
56
|
+
defaultOptionName="Filters:"
|
57
|
+
id="selectbox-with-filters"
|
58
|
+
type="checkboxOptions"
|
59
|
+
:useCustomTooltip="true"
|
60
|
+
/>
|
61
|
+
</teleport>
|
62
|
+
</ViewCodeData>
|
63
|
+
</ExampleSectionWrapper>
|
64
|
+
</template>
|
65
|
+
<template v-slot:tab-content-1>
|
66
|
+
<ComponentProperties :properties="CmdFormFilters.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
67
|
+
</template>
|
68
|
+
</CmdTabs>
|
69
|
+
</template>
|
@@ -0,0 +1,41 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
|
6
|
+
// import components
|
7
|
+
import CmdForm from "../../../components/CmdForm"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
import ExampleSectionWrapper from "../../components/ExampleSectionWrapper"
|
12
|
+
|
13
|
+
// import example-data
|
14
|
+
import CmdCode from "../../data/CmdFormHelp"
|
15
|
+
import propertyDescriptions from "../../generated/CmdFormPropertyDescriptions.json"
|
16
|
+
</script>
|
17
|
+
|
18
|
+
<template>
|
19
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
20
|
+
<template v-slot:tab-content-0>
|
21
|
+
<h2>Component</h2>
|
22
|
+
<ExampleSectionWrapper componentName="CmdForm" headlineText="Form">
|
23
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]">
|
24
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
25
|
+
<CmdForm
|
26
|
+
:use-fieldset="true"
|
27
|
+
novalidate="novalidate"
|
28
|
+
text-legend="Legend">
|
29
|
+
<!-- begin slot-content -->
|
30
|
+
Form content (put form elements here)
|
31
|
+
<!-- end slot-content -->
|
32
|
+
</CmdForm>
|
33
|
+
</teleport>
|
34
|
+
</ViewCodeData>
|
35
|
+
</ExampleSectionWrapper>
|
36
|
+
</template>
|
37
|
+
<template v-slot:tab-content-1>
|
38
|
+
<ComponentProperties :properties="CmdForm.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
39
|
+
</template>
|
40
|
+
</CmdTabs>
|
41
|
+
</template>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
|
6
|
+
// import components
|
7
|
+
import CmdGoogleMaps from "../../../components/CmdGoogleMaps"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
import ExampleSectionWrapper from "../../components/ExampleSectionWrapper"
|
12
|
+
|
13
|
+
// import example-data
|
14
|
+
import CmdCode from "../../data/CmdGoogleMapsHelp"
|
15
|
+
import propertyDescriptions from "../../generated/CmdFormFiltersPropertyDescriptions.json"
|
16
|
+
import addressData from '../../../assets/data/address-data.json'
|
17
|
+
|
18
|
+
const propertyStructures = {
|
19
|
+
"address": {
|
20
|
+
"streetNo": "<string>",
|
21
|
+
"zip": "<number>",
|
22
|
+
"city": "<string>",
|
23
|
+
"longitude": "<string>",
|
24
|
+
"latitude": "<string>",
|
25
|
+
"location": "<string>"
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
function coordinates(address) {
|
30
|
+
return {
|
31
|
+
longitude: address.longitude,
|
32
|
+
latitude: address.latitude
|
33
|
+
}
|
34
|
+
}
|
35
|
+
</script>
|
36
|
+
|
37
|
+
<template>
|
38
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
39
|
+
<template v-slot:tab-content-0>
|
40
|
+
<h2>Component</h2>
|
41
|
+
<ExampleSectionWrapper componentName="CmdGoogleMaps" headlineText="Google Maps™">
|
42
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]">
|
43
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
44
|
+
<CmdGoogleMaps
|
45
|
+
:address="coordinates(addressData.address)"
|
46
|
+
/>
|
47
|
+
</teleport>
|
48
|
+
</ViewCodeData>
|
49
|
+
</ExampleSectionWrapper>
|
50
|
+
</template>
|
51
|
+
<template v-slot:tab-content-1>
|
52
|
+
<ComponentProperties :properties="CmdGoogleMaps.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
53
|
+
</template>
|
54
|
+
</CmdTabs>
|
55
|
+
</template>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
|
6
|
+
// import components
|
7
|
+
import CmdImageGallery from "../../../components/CmdImageGallery"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
|
12
|
+
// import example-data
|
13
|
+
import CmdCode from "../../data/CmdImageGalleryHelp"
|
14
|
+
import imageGallery from '../../../assets/data/image-gallery.json'
|
15
|
+
import propertyDescriptions from "../../generated/CmdImageGalleryPropertyDescriptions.json"
|
16
|
+
|
17
|
+
const propertyStructures = {
|
18
|
+
images: [
|
19
|
+
{
|
20
|
+
"imgId": "<number>",
|
21
|
+
"srcImageSmall": "<string>",
|
22
|
+
"srcImageLarge": "<string>",
|
23
|
+
"alt": "<string>",
|
24
|
+
"figcaption": "<string>"
|
25
|
+
}
|
26
|
+
]
|
27
|
+
}
|
28
|
+
</script>
|
29
|
+
|
30
|
+
<template>
|
31
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
32
|
+
<template v-slot:tab-content-0>
|
33
|
+
<h2>Component</h2>
|
34
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]" :data="imageGallery">
|
35
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
36
|
+
<CmdImageGallery
|
37
|
+
:images="imageGallery"
|
38
|
+
/>
|
39
|
+
</teleport>
|
40
|
+
</ViewCodeData>>
|
41
|
+
</template>
|
42
|
+
<template v-slot:tab-content-1>
|
43
|
+
<ComponentProperties :properties="CmdImageGallery.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
44
|
+
</template>
|
45
|
+
</CmdTabs>
|
46
|
+
</template>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
|
6
|
+
// import components
|
7
|
+
import CmdImageZoom from "../../../components/CmdImageZoom"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
|
12
|
+
// import example-data
|
13
|
+
import CmdCode from "../../data/CmdImageZoomHelp"
|
14
|
+
import propertyDescriptions from "../../generated/CmdImageZoomPropertyDescriptions.json"
|
15
|
+
</script>
|
16
|
+
|
17
|
+
<template>
|
18
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
19
|
+
<template v-slot:tab-content-0>
|
20
|
+
<h2>Component</h2>
|
21
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]">
|
22
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
23
|
+
<CmdImageZoom
|
24
|
+
small-image-url="media/images/content-images/logo-business-edition-landscape.jpg"
|
25
|
+
large-image-url="media/images/content-images/logo-business-edition-landscape-large.jpg"
|
26
|
+
/>
|
27
|
+
</teleport>
|
28
|
+
</ViewCodeData>
|
29
|
+
</template>
|
30
|
+
<template v-slot:tab-content-1>
|
31
|
+
<ComponentProperties :properties="CmdImageZoom.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
32
|
+
</template>
|
33
|
+
</CmdTabs>
|
34
|
+
</template>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
|
6
|
+
// import components
|
7
|
+
import CmdListOfLinks from "../../../components/CmdListOfLinks"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
import CmdCustomHeadline from "../../../components/CmdCustomHeadline"
|
12
|
+
|
13
|
+
// import example-data
|
14
|
+
import CmdCode from "../../data/CmdListOfLinksHelp"
|
15
|
+
import listOfLinks from "../../../assets/data/list-of-links.json"
|
16
|
+
import listOfLinksSectionAnchors from "../../../assets/data/list-of-links-section-anchors.json"
|
17
|
+
import propertyDescriptions from "../../generated/CmdListOfLinksPropertyDescriptions.json"
|
18
|
+
|
19
|
+
const propertyStructures = {
|
20
|
+
listOfLinks: [
|
21
|
+
{
|
22
|
+
"iconClass": "<string>",
|
23
|
+
"type": "<string>",
|
24
|
+
"text": "<string>",
|
25
|
+
"path": "<string>",
|
26
|
+
"target": "<string>",
|
27
|
+
"tooltip": "<string>",
|
28
|
+
"fancybox": "<boolean>"
|
29
|
+
}
|
30
|
+
]
|
31
|
+
}
|
32
|
+
</script>
|
33
|
+
|
34
|
+
<template>
|
35
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
36
|
+
<template v-slot:tab-content-0>
|
37
|
+
<h2>Component</h2>
|
38
|
+
<CmdCustomHeadline headlineText="Vertical" :headlineLevel="3" preHeadlineText="Example #1" />
|
39
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]" :data="listOfLinks">
|
40
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
41
|
+
<CmdListOfLinks :links="listOfLinks" :cmdCustomHeadline="{headlineText: 'Links', headlineLevel: 5}" />
|
42
|
+
</teleport>
|
43
|
+
</ViewCodeData>
|
44
|
+
<hr />
|
45
|
+
<CmdCustomHeadline headlineText="Horizontal" :headlineLevel="3" preHeadlineText="Example #2" />
|
46
|
+
<ViewCodeData :code="CmdCode[1]" :data="listOfLinks">
|
47
|
+
<CmdListOfLinks :links="listOfLinks" orientation="horizontal" :cmdCustomHeadline="{headlineText: 'Links', headlineLevel: 5}" />
|
48
|
+
</ViewCodeData>
|
49
|
+
<hr />
|
50
|
+
<CmdCustomHeadline headlineText="Styled as box" :headlineLevel="3" preHeadlineText="Example #3" />
|
51
|
+
<ViewCodeData :code="CmdCode[2]" :data="listOfLinks">
|
52
|
+
<CmdListOfLinks :links="listOfLinks" :styleAsBox="true" :cmdCustomHeadline="{headlineText: 'Links', headlineLevel: 5}" />
|
53
|
+
</ViewCodeData>
|
54
|
+
<hr />
|
55
|
+
<CmdCustomHeadline headlineText="Use as section anchors" :headlineLevel="3" preHeadlineText="Example #4" />
|
56
|
+
<ViewCodeData :code="CmdCode[2]" :data="listOfLinksSectionAnchors">
|
57
|
+
<CmdListOfLinks :links="listOfLinksSectionAnchors" :sectionAnchors="true" />
|
58
|
+
</ViewCodeData>
|
59
|
+
</template>
|
60
|
+
<template v-slot:tab-content-1>
|
61
|
+
<ComponentProperties :properties="CmdListOfLinks.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
62
|
+
</template>
|
63
|
+
</CmdTabs>
|
64
|
+
</template>
|
@@ -0,0 +1,117 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
|
6
|
+
// import components
|
7
|
+
import CmdLoginForm from "../../../components/CmdLoginForm"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
|
12
|
+
// import example-data
|
13
|
+
import CmdCode from "../../data/CmdLoginFormHelp"
|
14
|
+
import propertyDescriptions from "../../generated/CmdLoginFormPropertyDescriptions.json"
|
15
|
+
|
16
|
+
const propertyStructures = {
|
17
|
+
cmdCustomHeadlineLoginForm: {
|
18
|
+
show: "<boolean>",
|
19
|
+
text: "<string>",
|
20
|
+
level: "<number>"
|
21
|
+
},
|
22
|
+
cmdCustomHeadlineSendLoginForm: {
|
23
|
+
show: "<boolean>",
|
24
|
+
text: "<string>",
|
25
|
+
level: "<number>"
|
26
|
+
},
|
27
|
+
cmdFormElementUsername: {
|
28
|
+
labelText: "<string>",
|
29
|
+
placeholder: "<string>",
|
30
|
+
innerIconClass: "<string>",
|
31
|
+
name: "<string>",
|
32
|
+
id: "<string>"
|
33
|
+
},
|
34
|
+
cmdFormElementPassword: {
|
35
|
+
labelText: "<string>",
|
36
|
+
placeholder: "<string>",
|
37
|
+
innerIconClass: "<string>",
|
38
|
+
name: "<string>",
|
39
|
+
id: "<string>"
|
40
|
+
},
|
41
|
+
cmdFormElementSendLogin: "-",
|
42
|
+
options: {
|
43
|
+
forgotPassword: {
|
44
|
+
icon: {
|
45
|
+
show: "<boolean>",
|
46
|
+
iconClass: "<string>",
|
47
|
+
tooltip: "<string>",
|
48
|
+
},
|
49
|
+
text: "<string>",
|
50
|
+
},
|
51
|
+
createAccount: {
|
52
|
+
linkType: "href | router | button",
|
53
|
+
path: "<string>",
|
54
|
+
icon: {
|
55
|
+
show: "<boolean>",
|
56
|
+
iconClass: "<string>",
|
57
|
+
tooltip: "<string>",
|
58
|
+
},
|
59
|
+
text: "<string>",
|
60
|
+
},
|
61
|
+
backToLoginForm: {
|
62
|
+
icon: {
|
63
|
+
show: "<boolean>",
|
64
|
+
iconClass: "<string>",
|
65
|
+
tooltip: "<string>",
|
66
|
+
},
|
67
|
+
text: "<string>",
|
68
|
+
}
|
69
|
+
},
|
70
|
+
buttons: {
|
71
|
+
login: {
|
72
|
+
linkType: "<string>",
|
73
|
+
type: "<string>",
|
74
|
+
path: "<string>",
|
75
|
+
text: "<string>",
|
76
|
+
primary: "<boolean>",
|
77
|
+
icon: {
|
78
|
+
show: "<boolean>",
|
79
|
+
iconClass: "<string>",
|
80
|
+
tooltip: "<string>",
|
81
|
+
}
|
82
|
+
},
|
83
|
+
sendLogin: {
|
84
|
+
linkType: "<string>",
|
85
|
+
type: "<string>",
|
86
|
+
path: "<string>",
|
87
|
+
text: "<string>",
|
88
|
+
primary: "<boolean>",
|
89
|
+
icon: {
|
90
|
+
show: "<boolean>",
|
91
|
+
iconClass: "<string>",
|
92
|
+
tooltip: "<string>",
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
const loginData = ""
|
99
|
+
</script>
|
100
|
+
|
101
|
+
<template>
|
102
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
103
|
+
<template v-slot:tab-content-0>
|
104
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]">
|
105
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
106
|
+
<CmdLoginForm
|
107
|
+
v-model="loginData"
|
108
|
+
v-focus
|
109
|
+
/>
|
110
|
+
</teleport>
|
111
|
+
</ViewCodeData>
|
112
|
+
</template>
|
113
|
+
<template v-slot:tab-content-1>
|
114
|
+
<ComponentProperties :properties="CmdLoginForm.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
115
|
+
</template>
|
116
|
+
</CmdTabs>
|
117
|
+
</template>
|
@@ -0,0 +1,94 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {ref} from "vue"
|
4
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
5
|
+
import {isFrameMode} from "../../../utils/common"
|
6
|
+
|
7
|
+
// import components
|
8
|
+
import CmdMainNavigation from "../../../components/CmdMainNavigation"
|
9
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
10
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
11
|
+
import CmdTabs from "../../../components/CmdTabs"
|
12
|
+
|
13
|
+
// import example-data
|
14
|
+
import CmdCode from "../../data/CmdMainNavigationHelp"
|
15
|
+
import mainNavigation from '../../../assets/data/main-navigation.json'
|
16
|
+
import propertyDescriptions from "../../generated/CmdMainNavigationPropertyDescriptions.json"
|
17
|
+
|
18
|
+
const propertyStructures = {
|
19
|
+
closeOffcanvas: {
|
20
|
+
iconClass: "<string>",
|
21
|
+
text: "<string>",
|
22
|
+
showText: "<boolean>"
|
23
|
+
},
|
24
|
+
buttonOffcanvas: {
|
25
|
+
iconClass: "<string>",
|
26
|
+
text: "<string>",
|
27
|
+
showText: "<boolean>"
|
28
|
+
},
|
29
|
+
navigationEntries: {
|
30
|
+
"name": "<string>",
|
31
|
+
"href": "<string>",
|
32
|
+
"target": "<string>",
|
33
|
+
"subentries": [
|
34
|
+
{
|
35
|
+
"name": "<string>",
|
36
|
+
"href": "<string>",
|
37
|
+
"target": "<string>",
|
38
|
+
"subentries": "<array>"
|
39
|
+
}
|
40
|
+
]
|
41
|
+
},
|
42
|
+
subentriesIconClass: {
|
43
|
+
labelText: "<string>",
|
44
|
+
placeholder: "<string>",
|
45
|
+
innerIconClass: "<string>",
|
46
|
+
name: "<string>",
|
47
|
+
id: "<string>"
|
48
|
+
},
|
49
|
+
subSubentriesIconClass: {
|
50
|
+
labelText: "<string>",
|
51
|
+
placeholder: "<string>",
|
52
|
+
innerIconClass: "<string>",
|
53
|
+
name: "<string>",
|
54
|
+
id: "<string>"
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
// use ref and assign to const to make reactive
|
59
|
+
const navigationEntries = ref(mainNavigation)
|
60
|
+
</script>
|
61
|
+
|
62
|
+
<template>
|
63
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
64
|
+
<template v-slot:tab-content-0>
|
65
|
+
<h2>Component</h2>
|
66
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]" :data="navigationEntries">
|
67
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
68
|
+
<CmdMainNavigation
|
69
|
+
:stretchMainItems="false"
|
70
|
+
:persistOnMobile="false"
|
71
|
+
:navigationEntries="navigationEntries"
|
72
|
+
/>
|
73
|
+
</teleport>
|
74
|
+
</ViewCodeData>
|
75
|
+
</template>
|
76
|
+
<template v-slot:tab-content-1>
|
77
|
+
<ComponentProperties :properties="CmdMainNavigation.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
78
|
+
</template>
|
79
|
+
</CmdTabs>
|
80
|
+
</template>
|
81
|
+
|
82
|
+
<style lang="scss">
|
83
|
+
@import '../../../assets/styles/variables';
|
84
|
+
|
85
|
+
main#cmd-main-navigation {
|
86
|
+
padding: 0;
|
87
|
+
|
88
|
+
@media only screen and (max-width: $medium-max-width) {
|
89
|
+
#toggle-offcanvas {
|
90
|
+
margin-top: var(--default-margin);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
</style>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
|
6
|
+
// import components
|
7
|
+
import CmdMultistepFormProgressBar from "../../../components/CmdMultistepFormProgressBar"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
|
12
|
+
// import example-data
|
13
|
+
import CmdCode from "../../data/CmdMultistepFormProgressBarHelp"
|
14
|
+
import multistepFormProgressBar from '../../../assets/data/multistep-form-progress-bar.json'
|
15
|
+
import propertyDescriptions from "../../generated/CmdMultistepFormProgressBarPropertyDescriptions.json"
|
16
|
+
|
17
|
+
const propertyStructures = {
|
18
|
+
multisteps: [
|
19
|
+
{
|
20
|
+
"path": "<string>",
|
21
|
+
"tooltip": "<string>",
|
22
|
+
"type": "<string>",
|
23
|
+
"name": "<string>",
|
24
|
+
"formaction": "<string>",
|
25
|
+
"text": "<string>",
|
26
|
+
"iconClass": "<string>"
|
27
|
+
}
|
28
|
+
]
|
29
|
+
}
|
30
|
+
</script>
|
31
|
+
|
32
|
+
<template>
|
33
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
34
|
+
<template v-slot:tab-content-0>
|
35
|
+
<h2>Component</h2>
|
36
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]" :data="multistepFormProgressBar">
|
37
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
38
|
+
<CmdMultistepFormProgressBar
|
39
|
+
:multisteps="multistepFormProgressBar"
|
40
|
+
@click="showPageMultistep = $event.index + 1"
|
41
|
+
/>
|
42
|
+
</teleport>
|
43
|
+
</ViewCodeData>
|
44
|
+
</template>
|
45
|
+
<template v-slot:tab-content-1>
|
46
|
+
<ComponentProperties :properties="CmdMultistepFormProgressBar.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
47
|
+
</template>
|
48
|
+
</CmdTabs>
|
49
|
+
</template>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<script setup>
|
2
|
+
// import functions
|
3
|
+
import {tabProps, tabHandlers} from "../../tabs"
|
4
|
+
import {isFrameMode} from "../../../utils/common"
|
5
|
+
// import components
|
6
|
+
|
7
|
+
import CmdOpeningHours from "../../../components/CmdOpeningHours"
|
8
|
+
import ComponentProperties from "../../components/ComponentProperties"
|
9
|
+
import ViewCodeData from "../../components/ViewCodeData"
|
10
|
+
import CmdTabs from "../../../components/CmdTabs"
|
11
|
+
|
12
|
+
// import example-data
|
13
|
+
import CmdCode from "../../data/CmdOpeningHoursHelp"
|
14
|
+
import openingHours from '../../../assets/data/opening-hours.json'
|
15
|
+
import propertyDescriptions from "../../generated/CmdOpeningHoursPropertyDescriptions.json"
|
16
|
+
|
17
|
+
const propertyStructures = {
|
18
|
+
openingHours: [
|
19
|
+
{
|
20
|
+
"day": "<string>",
|
21
|
+
"fromTime": "<string>",
|
22
|
+
"tillTime": "<string>"
|
23
|
+
}
|
24
|
+
]
|
25
|
+
}
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<CmdTabs v-show="!isFrameMode()" v-bind="tabProps" :active-tab="tabProps.activeTab" v-on="tabHandlers">
|
30
|
+
<template v-slot:tab-content-0>
|
31
|
+
<h2>Component</h2>
|
32
|
+
<ViewCodeData :isFirstComponent="true" :code="CmdCode[0]" :data="openingHours">
|
33
|
+
<teleport to="#frame-component-target" :disabled="!isFrameMode()">
|
34
|
+
<CmdOpeningHours
|
35
|
+
:openingHours="openingHours"
|
36
|
+
:closed="true"
|
37
|
+
:cmdCustomHeadline="{text: 'Opening hours', level: 4}"
|
38
|
+
textOpenClosed="Closed right now!"
|
39
|
+
textHolidaysClosed="Closed on holidays"
|
40
|
+
textMiscInfo="Miscellaneous information"
|
41
|
+
/>
|
42
|
+
</teleport>
|
43
|
+
</ViewCodeData>
|
44
|
+
</template>
|
45
|
+
<template v-slot:tab-content-1>
|
46
|
+
<ComponentProperties :properties="CmdOpeningHours.props" :propertyDescriptions="propertyDescriptions" :propertyStructures="propertyStructures"/>
|
47
|
+
</template>
|
48
|
+
</CmdTabs>
|
49
|
+
</template>
|