comand-component-library 4.0.7 → 4.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>