comand-component-library 4.0.7 → 4.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. package/dist/comand-component-library.js +2016 -1892
  2. package/dist/comand-component-library.umd.cjs +3 -3
  3. package/dist/style.css +1 -1
  4. package/package.json +2 -2
  5. package/src/ComponentLibrary.vue +95 -17
  6. package/src/assets/data/list-of-links.json +13 -1
  7. package/src/assets/data/pages/list-of-downloads.json +56 -0
  8. package/src/assets/data/pages/list-of-site-links.json +78 -0
  9. package/src/assets/data/social-networks-page-by-json.json +2 -2
  10. package/src/assets/styles/component-library-global-styles.scss +12 -0
  11. package/src/componentSettingsDataAndControls.vue +27 -2
  12. package/src/components/CmdFakeSelect.vue +10 -21
  13. package/src/components/CmdFormElement.vue +5 -2
  14. package/src/components/CmdInputGroup.vue +1 -1
  15. package/src/components/CmdListOfLinks.vue +72 -12
  16. package/src/components/CmdListOfLinksItem.vue +14 -3
  17. package/src/components/CmdPageFooter.vue +83 -0
  18. package/src/components/CmdPagination.vue +4 -4
  19. package/src/components/CmdSidebar.vue +2 -0
  20. package/src/components/CmdSocialNetworks.vue +28 -20
  21. package/src/components/CmdSwitchLanguage.vue +3 -1
  22. package/src/components/CmdTextImageBlock.vue +44 -15
  23. package/src/components/CmdWidthLimitationWrapper.vue +27 -6
  24. package/src/components/EditComponentWrapper.vue +4 -0
  25. package/src/index.js +2 -1
  26. package/src/mixins/CmdFakeSelect/DefaultMessageProperties.js +0 -1
  27. package/src/mixins/pages/BasicForm/DefaultMessageProperties.js +28 -0
  28. package/src/pages/BasicForm.vue +341 -0
  29. package/src/pages/PageOverview.vue +53 -0
  30. package/src/pages/PageWrapper.vue +260 -0
  31. package/src/pages/SegmentedListsOfLinks.vue +34 -0
  32. /package/src/mixins/{CmdPager → CmdPagination}/DefaultMessageProperties.js +0 -0
@@ -0,0 +1,260 @@
1
+ <template>
2
+ <a id="anchor-back-to-top"></a>
3
+ <div :class="{'overflow-hidden': offCanvasOpen}" id="page-wrapper"
4
+ :style="{'scroll-padding-top': heightSiteHeader + 'px'}">
5
+ <!-- begin cmd-site-header -->
6
+ <CmdSiteHeader
7
+ v-if="cmdSiteHeader"
8
+ :cmdMainNavigation="{navigationEntries: mainNavigationEntries}"
9
+ :closeOffcanvas="{ iconClass: 'icon-cancel', text: label('main_navigation.close_navigation'), showText: true}"
10
+ :navigationInline="cmdSiteHeader.navigationInline"
11
+ @offcanvas="offcanvasToggled"
12
+ >
13
+ <template v-slot:top-header>
14
+ <!-- begin cmd-list-of-links (for top-header-navigation) -->
15
+ <CmdListOfLinks
16
+ v-if="topHeaderNavigationEntries"
17
+ :links="topHeaderNavigationEntries"
18
+ orientation="horizontal"
19
+ align="right"
20
+ />
21
+ <!-- end cmd-list-of-links (for top-header-navigation) -->
22
+ </template>
23
+ <template v-slot:logo>
24
+ <!-- begin cmd-company-logo -->
25
+ <CmdCompanyLogo
26
+ v-if="cmdCompanyLogo.pathDefaultLogo"
27
+ :altText="cmdCompanyLogo.altText"
28
+ :pathDefaultLogo="cmdCompanyLogo.pathDefaultLogo"
29
+ :pathDarkmodeLogo="cmdCompanyLogo.pathDarkmodeLogo"
30
+ />
31
+ <!-- end cmd-company-logo -->
32
+ </template>
33
+ </CmdSiteHeader>
34
+ <!-- end cmd-site-header -->
35
+
36
+ <!-- begin main-content -->
37
+ <main id="content">
38
+ <div class="inner-content-wrapper">
39
+ <!-- begin left column -->
40
+ <aside v-if="mainContent.leftColumn.show" class="left-column">
41
+ <!-- begin slot left column -->
42
+ <slot name="left-column"></slot>
43
+ <!-- end slot left column -->
44
+ </aside>
45
+ <!-- end left column -->
46
+
47
+ <!-- begin center/main column -->
48
+ <div class="main-content-wrapper">
49
+ <!-- begin CmdBreadcrumbs -->
50
+ <CmdBreadcrumbs v-if="cmdBreadcrumbs" v-bind="cmdBreadcrumbs"/>
51
+ <!-- end CmdBreadcrumbs -->
52
+
53
+ <!-- begin CmdHeadline -->
54
+ <CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline"/>
55
+ <!-- end CmdHeadline -->
56
+
57
+ <slot></slot>
58
+
59
+ <!-- begin CmdSocialNetworks -->
60
+ <CmdSocialNetworks v-if="cmdSocialNetworks" v-bind="cmdSocialNetworks"/>
61
+ <!-- end CmdSocialNetworks -->
62
+ </div>
63
+ <!-- end center/main column -->
64
+
65
+ <!-- begin right column -->
66
+ <aside v-if="mainContent.rightColumn.show" class="right-column">
67
+ <!-- begin slot right column -->
68
+ <slot name="left-column"></slot>
69
+ <!-- end slot right column -->
70
+ </aside>
71
+ <!-- begin right column -->
72
+ </div>
73
+ </main>
74
+ <!-- end main-content -->
75
+
76
+ <!-- begin cmd-site-footer -->
77
+ <CmdSiteFooter v-if="cmdSiteFooter">
78
+ <!-- begin parent-component -->
79
+ <component
80
+ v-for="(component, index) in cmdSiteFooter.components || []" :key="index"
81
+ :is="component.name"
82
+ v-bind="component.props"
83
+ v-on="handlers(component)"
84
+ >
85
+ <!-- begin child-component -->
86
+ <component
87
+ v-for="(childComponent, childComponentIndex) in component.components || []"
88
+ :key="childComponentIndex" :is="childComponent.name"
89
+ v-bind="childComponent.props"
90
+ v-on="handlers(childComponent)"
91
+ :editContent="childComponent.editContent"
92
+ />
93
+ <!-- end child-component -->
94
+ </component>
95
+ <!-- end parent-component -->
96
+ </CmdSiteFooter>
97
+ <!-- end cmd-site-footer -->
98
+
99
+ <!-- begin cmd-copyright-information DO NOT REMOVE -->
100
+ <CmdCopyrightInformation/>
101
+ <!-- end cmd-copyright-information DO NOT REMOVE -->
102
+
103
+ <!-- begin cmd-back-to-top-button -->
104
+ <CmdBackToTopButton
105
+ href="#anchor-back-to-top"
106
+ :iconBackToTop="iconBackToTop"
107
+ scroll-container="#page-wrapper"
108
+ />
109
+ <!-- end cmd-back-to-top-button -->
110
+
111
+ <!-- begin fancy-box ------------------------------------------------------------------------------------------------------------------------------------------------------->
112
+ <CmdFancyBox
113
+ v-if="cmdCookieDisclaimer"
114
+ :show="fancyBoxCookieDisclaimer"
115
+ :fancyboxOptions="{}"
116
+ :allowEscapeKey="false"
117
+ :cmdHeadline="{show: true, headlineText: 'Cookie Disclaimer', headlineLevel: 2}"
118
+ ariaLabelText="Cookie Disclaimer"
119
+ >
120
+ <!-- begin cookie-disclaimer ------------------------------------------------------------------------------------------------------------------------------------------------------->
121
+ <CmdCookieDisclaimer
122
+ :cookieOptions="cmdCookieDisclaimer.options"
123
+ buttonLabelAcceptAllCookies="Accept all cookies"
124
+ buttonLabelAcceptCurrentSettings="Accept current settings"
125
+ @closeCookieDisclaimer="closeCookieDisclaimer"
126
+ v-model="acceptedCookies"
127
+ :cmdHeadlineCookieDisclaimer="{ show: false }">
128
+ <template #privacy-text>
129
+ <p>
130
+ <strong>
131
+ By browsing this web site you accept the usage and saving of anonymous data!
132
+ </strong>
133
+ </p>
134
+ </template>
135
+ </CmdCookieDisclaimer>
136
+ <!-- end cookie-disclaimer ------------------------------------------------------------------------------------------------------------------------------------------------------->
137
+ </CmdFancyBox>
138
+ <!-- end fancy-box ------------------------------------------------------------------------------------------------------------------------------------------------------->
139
+ </div>
140
+ </template>
141
+
142
+ <script>
143
+ // import functions
144
+ import {openFancyBox} from "@/components/CmdFancyBox.vue"
145
+
146
+ export default {
147
+ name: "PageWrapper",
148
+ data() {
149
+ return {
150
+ offCanvasOpen: false,
151
+ heightSiteHeader: 150,
152
+ acceptedCookies: [],
153
+ fancyBoxCookieDisclaimer: true
154
+ }
155
+ },
156
+ props: {
157
+ topHeaderNavigationEntries: {
158
+ default: []
159
+ },
160
+ mainNavigationEntries: {
161
+ default: []
162
+ },
163
+ mainContent: {
164
+ leftColumn: {
165
+ show: true
166
+ },
167
+ rightColumn: {
168
+ show: true
169
+ }
170
+ },
171
+ cmdSiteHeader: {
172
+ default: null
173
+ },
174
+ cmdCompanyLogo: {
175
+ default: null
176
+ },
177
+ cmdBreadcrumbs: {
178
+ default: null
179
+ },
180
+ cmdHeadline: {
181
+ default: null
182
+ },
183
+ cmdSocialNetworks: {
184
+ default: null
185
+ },
186
+ cmdSiteFooter: {
187
+ default: null
188
+ },
189
+ cmdCookieDisclaimer: {
190
+ default: null
191
+ }
192
+ },
193
+ mounted() {
194
+ const siteHeader = document.getElementsByClassName("cmd-site-header")
195
+
196
+ if (siteHeader.length > 0) {
197
+ const resizeObserver = new ResizeObserver(entries => {
198
+ // get height of site-header to set scroll-padding on #page-wrapper
199
+ this.heightSiteHeader = entries[0].target.offsetHeight
200
+ })
201
+ resizeObserver.observe(siteHeader[0])
202
+ }
203
+ },
204
+ computed: {
205
+ iconBackToTop() {
206
+ return {
207
+ iconClass: "icon-single-arrow-up",
208
+ tooltip: this.label("back_to_top_button.tooltip")
209
+ }
210
+ }
211
+ },
212
+ methods: {
213
+ offcanvasToggled(event) {
214
+ this.offCanvasOpen = event.open
215
+ },
216
+ handlers(component) {
217
+ if (component.handlers === "toggleSection") {
218
+ return {
219
+ "click": this.toggleSection
220
+ }
221
+ }
222
+ return {}
223
+ },
224
+ openFancybox(event) {
225
+ openFancyBox({url: event.target.href})
226
+ },
227
+ closeCookieDisclaimer() {
228
+ this.fancyBoxCookieDisclaimer = false
229
+ localStorage.setItem("onepagerPrivacySettingsAccepted", "true")
230
+ }
231
+ }
232
+ }
233
+ </script>
234
+
235
+ <style>
236
+ .inner-content-wrapper {
237
+ display: flex;
238
+
239
+ &:has(> aside) {
240
+ aside {
241
+ flex: 1;
242
+
243
+ &:first-child {
244
+ & + .main-content-wrapper {
245
+ flex: 2;
246
+
247
+ &:last-child {
248
+ flex: 3;
249
+ }
250
+ }
251
+ }
252
+ }
253
+ }
254
+
255
+ .main-content-wrapper {
256
+ width: 100%;
257
+ }
258
+
259
+ }
260
+ </style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <div class="cmd-page-segmented-lists-of-links flex-container vertical">
3
+ <template v-for="(segment, index) in segments" :key="index">
4
+ <!-- begin CmdListOfLinks -->
5
+ <CmdListOfLinks
6
+ :links="segment.links"
7
+ :orientation="segment.orientation"
8
+ :largeIcons="segment.largeIcons"
9
+ :cmdHeadline="segment.headline"
10
+ />
11
+ <!-- end CmdListOfLinks -->
12
+
13
+ <!-- begin slot-content -->
14
+ <slot name="segmented-lists-of-links-slot-${index}"></slot>
15
+ <!-- end slot-content -->
16
+ </template>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ export default {
22
+ name: "SegmentedListsOfLinks",
23
+ props: {
24
+ segments: {
25
+ type: Array,
26
+ default: null
27
+ }
28
+ }
29
+ }
30
+ </script>
31
+
32
+ <style>
33
+
34
+ </style>