@everymatrix/general-footer-template 1.16.1
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.
- package/dist/cjs/custom-content-section.cjs.entry.js +9516 -0
- package/dist/cjs/general-footer-template.cjs.entry.js +308 -0
- package/dist/cjs/general-footer-template.cjs.js +19 -0
- package/dist/cjs/image-list.cjs.entry.js +21 -0
- package/dist/cjs/index-6cf0989a.js +1175 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/link-section-list.cjs.entry.js +44 -0
- package/dist/cjs/loader.cjs.js +21 -0
- package/dist/collection/collection-manifest.json +15 -0
- package/dist/collection/components/custom-content-section/custom-content-section.css +16 -0
- package/dist/collection/components/custom-content-section/custom-content-section.js +60 -0
- package/dist/collection/components/general-footer-template/general-footer-template.js +267 -0
- package/dist/collection/components/general-footer-template/pariuri_plus_variant.css +185 -0
- package/dist/collection/components/image-list/image-list.css +53 -0
- package/dist/collection/components/image-list/image-list.js +42 -0
- package/dist/collection/components/link-section-list/link-section-list.css +54 -0
- package/dist/collection/components/link-section-list/link-section-list.js +58 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/utils.js +209 -0
- package/dist/components/custom-content-section.d.ts +11 -0
- package/dist/components/custom-content-section.js +9538 -0
- package/dist/components/general-footer-template.d.ts +11 -0
- package/dist/components/general-footer-template.js +334 -0
- package/dist/components/image-list.d.ts +11 -0
- package/dist/components/image-list.js +6 -0
- package/dist/components/image-list2.js +33 -0
- package/dist/components/index.d.ts +26 -0
- package/dist/components/index.js +1 -0
- package/dist/components/link-section-list.d.ts +11 -0
- package/dist/components/link-section-list.js +59 -0
- package/dist/esm/custom-content-section.entry.js +9512 -0
- package/dist/esm/general-footer-template.entry.js +304 -0
- package/dist/esm/general-footer-template.js +17 -0
- package/dist/esm/image-list.entry.js +17 -0
- package/dist/esm/index-82b1d163.js +1149 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/link-section-list.entry.js +40 -0
- package/dist/esm/loader.js +17 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/general-footer-template/general-footer-template.esm.js +1 -0
- package/dist/general-footer-template/index.esm.js +0 -0
- package/dist/general-footer-template/p-0468caec.entry.js +1 -0
- package/dist/general-footer-template/p-212a82d9.entry.js +1 -0
- package/dist/general-footer-template/p-7998a5ba.entry.js +7 -0
- package/dist/general-footer-template/p-7aafd945.js +1 -0
- package/dist/general-footer-template/p-81253ed9.entry.js +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/stencil.config.js +22 -0
- package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/general-footer-template/.stencil/packages/general-footer-template/stencil.config.d.ts +2 -0
- package/dist/types/components/custom-content-section/custom-content-section.d.ts +11 -0
- package/dist/types/components/general-footer-template/general-footer-template.d.ts +63 -0
- package/dist/types/components/image-list/image-list.d.ts +7 -0
- package/dist/types/components/link-section-list/link-section-list.d.ts +7 -0
- package/dist/types/components.d.ts +180 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1565 -0
- package/dist/types/utils/utils.d.ts +95 -0
- package/loader/cdn.js +3 -0
- package/loader/index.cjs.js +3 -0
- package/loader/index.d.ts +12 -0
- package/loader/index.es2017.js +3 -0
- package/loader/index.js +4 -0
- package/loader/package.json +10 -0
- package/package.json +19 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GeneralFooterTemplate extends Components.GeneralFooterTemplate, HTMLElement {}
|
|
4
|
+
export const GeneralFooterTemplate: {
|
|
5
|
+
prototype: GeneralFooterTemplate;
|
|
6
|
+
new (): GeneralFooterTemplate;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* custom rules for component types
|
|
5
|
+
*/
|
|
6
|
+
const getDevice = () => {
|
|
7
|
+
let userAgent = window.navigator.userAgent;
|
|
8
|
+
if (userAgent.toLowerCase().match(/android/i)) {
|
|
9
|
+
return 'Android';
|
|
10
|
+
}
|
|
11
|
+
if (userAgent.toLowerCase().match(/iphone/i)) {
|
|
12
|
+
return 'iPhone';
|
|
13
|
+
}
|
|
14
|
+
if (userAgent.toLowerCase().match(/ipad|ipod/i)) {
|
|
15
|
+
return 'iPad';
|
|
16
|
+
}
|
|
17
|
+
return 'PC';
|
|
18
|
+
};
|
|
19
|
+
const getDevicePlatform = () => {
|
|
20
|
+
const device = getDevice();
|
|
21
|
+
if (device) {
|
|
22
|
+
if (device === 'PC') {
|
|
23
|
+
return 'dk';
|
|
24
|
+
}
|
|
25
|
+
else if (device === 'iPad' || device === 'iPhone') {
|
|
26
|
+
return 'ios';
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return 'mtWeb';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const componentRules = {
|
|
34
|
+
"downloadApp": {
|
|
35
|
+
component: 'custom-content-section'
|
|
36
|
+
},
|
|
37
|
+
"link-section": {
|
|
38
|
+
component: 'link-section-list'
|
|
39
|
+
},
|
|
40
|
+
"copyright": {
|
|
41
|
+
component: 'custom-content-section'
|
|
42
|
+
},
|
|
43
|
+
"download": {
|
|
44
|
+
component: 'custom-content-section'
|
|
45
|
+
},
|
|
46
|
+
"helpLinks": {
|
|
47
|
+
component: 'image-list'
|
|
48
|
+
},
|
|
49
|
+
"license-description": {
|
|
50
|
+
component: 'custom-content-section'
|
|
51
|
+
},
|
|
52
|
+
"licenses": {
|
|
53
|
+
component: 'image-list',
|
|
54
|
+
},
|
|
55
|
+
"payment": {
|
|
56
|
+
component: 'image-list',
|
|
57
|
+
},
|
|
58
|
+
"social": {
|
|
59
|
+
component: 'image-list',
|
|
60
|
+
},
|
|
61
|
+
"sponsors": {
|
|
62
|
+
component: 'image-list',
|
|
63
|
+
},
|
|
64
|
+
"vendors": {
|
|
65
|
+
component: 'image-list',
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
// DATA CONTRACT MOCK
|
|
69
|
+
const mockDataContract = (data) => {
|
|
70
|
+
const mockedResponse = {
|
|
71
|
+
repeaters: {
|
|
72
|
+
vendors: {
|
|
73
|
+
categoryTitle: data.gameVendorsLinksTitle,
|
|
74
|
+
content: []
|
|
75
|
+
},
|
|
76
|
+
"link-section": {
|
|
77
|
+
categoryTitle: data.helpLinksTitle,
|
|
78
|
+
content: []
|
|
79
|
+
},
|
|
80
|
+
helpLinks: {
|
|
81
|
+
categoryTitle: data.helpLinksTitle,
|
|
82
|
+
content: []
|
|
83
|
+
},
|
|
84
|
+
licenses: {
|
|
85
|
+
categoryTitle: data.licensesLinksTitle,
|
|
86
|
+
content: []
|
|
87
|
+
},
|
|
88
|
+
sponsors: {
|
|
89
|
+
categoryTitle: data.sponsorsLinksTitle,
|
|
90
|
+
content: []
|
|
91
|
+
},
|
|
92
|
+
payment: {
|
|
93
|
+
categoryTitle: data.paymentLinksTitle,
|
|
94
|
+
content: []
|
|
95
|
+
},
|
|
96
|
+
social: {
|
|
97
|
+
categoryTitle: data.socialLinksTitle,
|
|
98
|
+
content: []
|
|
99
|
+
},
|
|
100
|
+
downloadApp: {
|
|
101
|
+
categoryTitle: data.downloadAppLinksTitle,
|
|
102
|
+
content: []
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
wysiwyg: {
|
|
106
|
+
copyright: {
|
|
107
|
+
categoryTitle: 'test',
|
|
108
|
+
content: 'test'
|
|
109
|
+
},
|
|
110
|
+
download: {
|
|
111
|
+
categoryTitle: 'test',
|
|
112
|
+
content: 'test'
|
|
113
|
+
},
|
|
114
|
+
downloadApp: {
|
|
115
|
+
categoryTitle: 'test',
|
|
116
|
+
content: 'test'
|
|
117
|
+
},
|
|
118
|
+
"license-description": {
|
|
119
|
+
categoryTitle: 'test',
|
|
120
|
+
content: 'test'
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const propertyNamesMap = {
|
|
125
|
+
helpLinks: {
|
|
126
|
+
repeaterName: 'helpLinksRepeater',
|
|
127
|
+
isExternalLink: 'isExternalLink',
|
|
128
|
+
image: 'helpLinkImage',
|
|
129
|
+
title: 'helpLinkTitle',
|
|
130
|
+
url: 'helpLinkUrl',
|
|
131
|
+
target: 'target'
|
|
132
|
+
},
|
|
133
|
+
"link-section": {
|
|
134
|
+
repeaterName: 'helpLinksRepeater',
|
|
135
|
+
isExternalLink: 'isExternalLink',
|
|
136
|
+
linkCategory: 'helpLinkCategory',
|
|
137
|
+
image: 'helpLinkImage',
|
|
138
|
+
title: 'helpLinkTitle',
|
|
139
|
+
url: 'helpLinkUrl',
|
|
140
|
+
target: 'target'
|
|
141
|
+
},
|
|
142
|
+
social: {
|
|
143
|
+
repeaterName: 'socialLinksRepeater',
|
|
144
|
+
isExternalLink: 'isExternalLink',
|
|
145
|
+
image: 'socialLinkImage',
|
|
146
|
+
title: 'socialLinkTitle',
|
|
147
|
+
url: 'socialLinkUrl',
|
|
148
|
+
target: 'target'
|
|
149
|
+
},
|
|
150
|
+
vendors: {
|
|
151
|
+
repeaterName: 'gameVendorsRepeater',
|
|
152
|
+
isExternalLink: 'isExternalLink',
|
|
153
|
+
image: 'gameVendorImage',
|
|
154
|
+
title: 'gameVendorTitle',
|
|
155
|
+
url: 'gameVendorUrl',
|
|
156
|
+
target: 'target'
|
|
157
|
+
},
|
|
158
|
+
licenses: {
|
|
159
|
+
repeaterName: 'licensesRepeater',
|
|
160
|
+
isExternalLink: 'isExternalLink',
|
|
161
|
+
image: 'licenseImage',
|
|
162
|
+
title: 'licenseTitle',
|
|
163
|
+
url: 'licenseUrl',
|
|
164
|
+
target: 'target'
|
|
165
|
+
},
|
|
166
|
+
payment: {
|
|
167
|
+
repeaterName: 'paymentMethodsRepeater',
|
|
168
|
+
isExternalLink: 'isExternalLink',
|
|
169
|
+
image: 'paymentMethodImage',
|
|
170
|
+
title: 'paymentTitle',
|
|
171
|
+
url: 'paymentUrl',
|
|
172
|
+
target: 'target'
|
|
173
|
+
},
|
|
174
|
+
sponsors: {
|
|
175
|
+
repeaterName: 'sponsorsRepeater',
|
|
176
|
+
isExternalLink: 'isExternalLink',
|
|
177
|
+
image: 'sponsorImage',
|
|
178
|
+
title: 'sponsorTitle',
|
|
179
|
+
url: 'sponsorUrl',
|
|
180
|
+
target: 'target'
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
// Horrible - repeater content mock. Only implementing like this until we get a standardised CMS response. Should refactor ASAP once that is done.
|
|
184
|
+
Object.entries(mockedResponse.repeaters).forEach(repeater => {
|
|
185
|
+
var _a, _b, _c;
|
|
186
|
+
if (propertyNamesMap[repeater[0]] && data[(_a = propertyNamesMap[repeater[0]]) === null || _a === void 0 ? void 0 : _a.repeaterName]) {
|
|
187
|
+
repeater[1].content = (_c = data[(_b = propertyNamesMap[repeater[0]]) === null || _b === void 0 ? void 0 : _b.repeaterName]) === null || _c === void 0 ? void 0 : _c.map(content => {
|
|
188
|
+
return {
|
|
189
|
+
isExternalLink: content[propertyNamesMap[repeater[0]].isExternalLink],
|
|
190
|
+
linkCategory: content[propertyNamesMap[repeater[0]].linkCategory],
|
|
191
|
+
image: content[propertyNamesMap[repeater[0]].image],
|
|
192
|
+
title: content[propertyNamesMap[repeater[0]].title],
|
|
193
|
+
url: content[propertyNamesMap[repeater[0]].url],
|
|
194
|
+
target: content[propertyNamesMap[repeater[0]].target],
|
|
195
|
+
};
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
mockedResponse.repeaters.downloadApp.content = data.downloadInfos.imageArea;
|
|
200
|
+
mockedResponse.wysiwyg.downloadApp.content = data.downloadInfos.downloadDescription;
|
|
201
|
+
mockedResponse.wysiwyg.copyright.content = data.copyright;
|
|
202
|
+
mockedResponse.wysiwyg["license-description"].content = data.licenseDesc;
|
|
203
|
+
return mockedResponse;
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
const pariuriPlusVariantCss = ":host {\n display: block;\n}\n\n/* $-background-primary: #14202d; */\n\n* {\n font-family: sans-serif;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n font-family: inherit;\n}\n\n.FooterSectionContainer {\n color: #fff;\n padding: 12px;\n}\n\n/* // FOOTER CONTAINER - only serves to be read as a container */\n.FooterContainer {\n container-type: inline-size;\n container-name: footerContainer;\n}\n\n\n.FooterGrid {\n background-color: #14202D;\n display: grid;\n padding: 8px 24px 0 24px;\n grid-template-rows: repeat(9, auto);\n grid-template-areas: \"one\"\n \"two\"\n \"three\"\n \"four\"\n \"five\"\n \"six\"\n \"seven\";\n}\n\n \n\n.FooterSectionContainer1 {\n position: relative;\n grid-area: one;\n \n}\n.FooterSectionContainer2 {\n position: relative;\n grid-area: two;\n border-bottom: 1px solid rgba(254, 254, 254, 0.2);\n}\n.FooterSectionContainer3 {\n position: relative;\n grid-area: three;\n \n}\n.FooterSectionContainer4 {\n position: relative;\n grid-area: four;\n border-bottom: 1px solid rgba(254, 254, 254, 0.2);\n}\n.FooterSectionContainer5 {\n grid-area: five;\n /* border-bottom: 1px solid #444; */\n}\n.FooterSectionContainer6 {\n padding-top: 22px;\n grid-area: six;\n}\n.FooterSectionContainer7 {\n grid-area: seven;\n}\n\n/* // remove paddings */\n.FooterSectionContainer7 div{\n padding: 0;\n}\n\n.FooterSectionContainer3:after {\n position: absolute;\n content: \"\";\n left: 30%;\n bottom: -20px;\n height: 1px;\n width: 40%;\n background-color: #444;\n}\n\n\n\n/* // STYLES FOR TABLET / DESKTOP */\n@container (min-width: 750px) {\n .FooterGrid {\n background: $-background-primary;\n display: grid;\n grid-template-rows: repeat(5, auto);\n grid-template-columns: 2fr 1fr;\n grid-template-areas: \"one two\"\n \"three four\"\n \"five five\"\n \"six six\"\n \"seven seven\";\n }\n \n \n .FooterSectionContainer1 {\n grid-area: one;\n border-bottom: 1px solid rgba(254, 254, 254, 0.2);\n }\n .FooterSectionContainer2 {\n grid-area: two;\n\n }\n .FooterSectionContainer3 {\n grid-area: three;\n border-bottom: 1px solid rgba(254, 254, 254, 0.2);\n }\n .FooterSectionContainer4 {\n grid-area: four;\n }\n .FooterSectionContainer5 {\n grid-area: five;\n }\n .FooterSectionContainer6 {\n grid-area: six;\n padding: 0;\n }\n .FooterSectionContainer7 {\n grid-area: seven;\n padding: 0;\n }\n\n /* VERTICAL BARS */\n .FooterSectionContainer3:after {\n position: absolute;\n content: \"\";\n left: initial;\n bottom:initial;\n top: 30%;\n right: 20px;\n width: 1px;\n height: 40%;\n background-color: #444;\n }\n\n /* // remove paddings */\n .FooterSectionContainer5 .CustomContentSectionWrapper {\n padding: 0;\n }\n\n .FooterSectionContainer5 .CustomContentSectionWrapper div {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .FooterSectionContainer5 .CustomContentSectionWrapper div p {\n margin: 5px;\n text-align: center;\n }\n\n .FooterSectionContainer6 .CustomContentSectionWrapper div p {\n text-align: center;\n }\n\n .FooterSectionContainer6 .ImageListWrapper {\n padding: 0;\n }\n\n .FooterSectionContainer6 .ImageListWrapper {\n padding: 0;\n /* padding-bottom: 22px; */\n /* font-size: 14px; */\n }\n\n .FooterSectionContainer7 .CustomContentSectionWrapper {\n padding: 0;\n padding-bottom: 22px;\n font-size: 14px;\n }\n}";
|
|
207
|
+
|
|
208
|
+
const GeneralFooterTemplate$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
209
|
+
constructor() {
|
|
210
|
+
super();
|
|
211
|
+
this.__registerHost();
|
|
212
|
+
this.__attachShadow();
|
|
213
|
+
/**
|
|
214
|
+
* Environment segregation
|
|
215
|
+
*/
|
|
216
|
+
this.env = 'stage';
|
|
217
|
+
/**
|
|
218
|
+
* User roles
|
|
219
|
+
*/
|
|
220
|
+
this.userRoles = 'everyone';
|
|
221
|
+
/**
|
|
222
|
+
* custom styling by string content
|
|
223
|
+
*/
|
|
224
|
+
this.clientStyling = '';
|
|
225
|
+
/**
|
|
226
|
+
* custom styling by href
|
|
227
|
+
*/
|
|
228
|
+
this.clientStylingUrl = '';
|
|
229
|
+
/**
|
|
230
|
+
* wether or not styling appends should be disallowed
|
|
231
|
+
*/
|
|
232
|
+
this.limitStylingAppends = false;
|
|
233
|
+
this.hasErrors = false;
|
|
234
|
+
this.platform = getDevicePlatform();
|
|
235
|
+
this.MANDATORY_FIELDS = ['endpoint', 'language', 'sections'];
|
|
236
|
+
this.setClientStyling = () => {
|
|
237
|
+
let sheet = document.createElement('style');
|
|
238
|
+
sheet.innerHTML = this.clientStyling;
|
|
239
|
+
this.host.shadowRoot.prepend(sheet);
|
|
240
|
+
};
|
|
241
|
+
this.setClientStylingURL = () => {
|
|
242
|
+
let url = new URL(this.clientStylingUrl);
|
|
243
|
+
let cssFile = document.createElement('style');
|
|
244
|
+
fetch(url.href)
|
|
245
|
+
.then((res) => res.text())
|
|
246
|
+
.then((data) => {
|
|
247
|
+
this.clientStylingUrl = data;
|
|
248
|
+
cssFile.innerHTML = data;
|
|
249
|
+
setTimeout(() => { this.host.shadowRoot.prepend(cssFile); }, 1);
|
|
250
|
+
})
|
|
251
|
+
.catch((err) => {
|
|
252
|
+
console.log('error ', err);
|
|
253
|
+
});
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
validateMandatoryFields() {
|
|
257
|
+
this.MANDATORY_FIELDS.forEach((field) => {
|
|
258
|
+
if (!this[field]) {
|
|
259
|
+
console.error(`Mandatory parameter ${field} not received`);
|
|
260
|
+
this.hasErrors = true;
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
componentWillLoad() {
|
|
265
|
+
this.sectionsList = this.sections.split(',').map(section => section.trim());
|
|
266
|
+
const url = new URL(`${this.endpoint}/${this.language}/footer-raw-data`);
|
|
267
|
+
url.searchParams.append('env', this.env);
|
|
268
|
+
url.searchParams.append('device', this.platform);
|
|
269
|
+
url.searchParams.append('userroles', this.userRoles);
|
|
270
|
+
this.validateMandatoryFields();
|
|
271
|
+
return fetch(url.href)
|
|
272
|
+
.then((res) => res.json())
|
|
273
|
+
.then((data) => {
|
|
274
|
+
this.footerContent = mockDataContract(data);
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
componentDidRender() {
|
|
278
|
+
// start custom styling area
|
|
279
|
+
if (!this.limitStylingAppends && this.host.shadowRoot) {
|
|
280
|
+
if (this.clientStyling)
|
|
281
|
+
this.setClientStyling();
|
|
282
|
+
if (this.clientStylingUrl)
|
|
283
|
+
this.setClientStylingURL();
|
|
284
|
+
this.limitStylingAppends = true;
|
|
285
|
+
}
|
|
286
|
+
// end custom styling area
|
|
287
|
+
}
|
|
288
|
+
render() {
|
|
289
|
+
const footerSections = this.sectionsList.map((section, i) => {
|
|
290
|
+
const FooterElement = componentRules[section].component;
|
|
291
|
+
const elementIsRepeater = this.footerContent.repeaters.hasOwnProperty(section);
|
|
292
|
+
const elementIsCustom = this.footerContent.wysiwyg.hasOwnProperty(section);
|
|
293
|
+
return h(FooterElement, { class: `${section} FooterSectionContainer FooterSectionContainer${i + 1}`, userid: this.userid, session: this.session, ruleset: componentRules[section], repeaterContent: elementIsRepeater ? this.footerContent.repeaters[section] : null, customContent: elementIsCustom ? this.footerContent.wysiwyg[section].content : null });
|
|
294
|
+
});
|
|
295
|
+
if (this.hasErrors) {
|
|
296
|
+
return h("div", null, "There was an error while bootstraping the widget");
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
return (h("footer", { class: "FooterContainer" }, h("div", { class: "FooterGrid customStyle" }, footerSections)));
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
get host() { return this; }
|
|
303
|
+
static get style() { return pariuriPlusVariantCss; }
|
|
304
|
+
}, [1, "general-footer-template", {
|
|
305
|
+
"language": [513],
|
|
306
|
+
"sections": [513],
|
|
307
|
+
"endpoint": [513],
|
|
308
|
+
"env": [513],
|
|
309
|
+
"userRoles": [513, "user-roles"],
|
|
310
|
+
"userid": [513],
|
|
311
|
+
"session": [513],
|
|
312
|
+
"clientStyling": [513, "client-styling"],
|
|
313
|
+
"clientStylingUrl": [513, "client-styling-url"],
|
|
314
|
+
"limitStylingAppends": [32],
|
|
315
|
+
"hasErrors": [32]
|
|
316
|
+
}]);
|
|
317
|
+
function defineCustomElement$1() {
|
|
318
|
+
if (typeof customElements === "undefined") {
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
const components = ["general-footer-template"];
|
|
322
|
+
components.forEach(tagName => { switch (tagName) {
|
|
323
|
+
case "general-footer-template":
|
|
324
|
+
if (!customElements.get(tagName)) {
|
|
325
|
+
customElements.define(tagName, GeneralFooterTemplate$1);
|
|
326
|
+
}
|
|
327
|
+
break;
|
|
328
|
+
} });
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
const GeneralFooterTemplate = GeneralFooterTemplate$1;
|
|
332
|
+
const defineCustomElement = defineCustomElement$1;
|
|
333
|
+
|
|
334
|
+
export { GeneralFooterTemplate, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface ImageList extends Components.ImageList, HTMLElement {}
|
|
4
|
+
export const ImageList: {
|
|
5
|
+
prototype: ImageList;
|
|
6
|
+
new (): ImageList;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const imageListCss = ".sc-image-list-h{display:block;margin:0;padding:0}.ImageListContainer.sc-image-list{height:100%}.ImageListWrapper.sc-image-list{box-sizing:border-box;height:100%;display:flex;flex-direction:column;padding:20px 0;justify-content:center;align-items:center}.ImageListSectionTitle.sc-image-list{width:100%;display:flex;justify-content:center;align-content:center;padding-bottom:14px;color:#fff}.ImageListLineup.sc-image-list{box-sizing:border-box;height:100%;display:flex;flex-wrap:wrap;gap:30px;justify-content:center;align-items:center}.ImageListIcon.sc-image-list img.sc-image-list{width:auto;height:auto}a.sc-image-list{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-decoration:none}a.sc-image-list p.sc-image-list{text-decoration:none;color:#666;margin:0}";
|
|
4
|
+
|
|
5
|
+
const ImageList = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
}
|
|
10
|
+
render() {
|
|
11
|
+
return h("div", { class: "ImageListContainer" }, h("div", { class: "ImageListWrapper" }, h("div", { class: "ImageListSectionTitle" }, this.repeaterContent.categoryTitle), h("div", { class: "ImageListLineup" }, this.repeaterContent.content.map(repeater => {
|
|
12
|
+
return (h("div", { class: 'ImageListIcon' }, h("a", { href: repeater.url || 'javascript:void(0)', target: repeater.target || '_parent' }, h("div", { class: "ImageListPositioner" }, h("img", { src: repeater.image, alt: "" })), h("p", null, repeater.title))));
|
|
13
|
+
}))));
|
|
14
|
+
}
|
|
15
|
+
static get style() { return imageListCss; }
|
|
16
|
+
}, [2, "image-list", {
|
|
17
|
+
"repeaterContent": [8, "repeater-content"]
|
|
18
|
+
}]);
|
|
19
|
+
function defineCustomElement() {
|
|
20
|
+
if (typeof customElements === "undefined") {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const components = ["image-list"];
|
|
24
|
+
components.forEach(tagName => { switch (tagName) {
|
|
25
|
+
case "image-list":
|
|
26
|
+
if (!customElements.get(tagName)) {
|
|
27
|
+
customElements.define(tagName, ImageList);
|
|
28
|
+
}
|
|
29
|
+
break;
|
|
30
|
+
} });
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { ImageList as I, defineCustomElement as d };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* GeneralFooterTemplate custom elements */
|
|
2
|
+
|
|
3
|
+
import type { Components, JSX } from "../types/components";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Used to manually set the base path where assets can be found.
|
|
7
|
+
* If the script is used as "module", it's recommended to use "import.meta.url",
|
|
8
|
+
* such as "setAssetPath(import.meta.url)". Other options include
|
|
9
|
+
* "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
|
|
10
|
+
* dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
|
|
11
|
+
* But do note that this configuration depends on how your script is bundled, or lack of
|
|
12
|
+
* bundling, and where your assets can be loaded from. Additionally custom bundling
|
|
13
|
+
* will have to ensure the static assets are copied to its build directory.
|
|
14
|
+
*/
|
|
15
|
+
export declare const setAssetPath: (path: string) => void;
|
|
16
|
+
|
|
17
|
+
export interface SetPlatformOptions {
|
|
18
|
+
raf?: (c: FrameRequestCallback) => number;
|
|
19
|
+
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
20
|
+
rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
21
|
+
}
|
|
22
|
+
export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
|
|
23
|
+
|
|
24
|
+
export type { Components, JSX };
|
|
25
|
+
|
|
26
|
+
export * from '../types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface LinkSectionList extends Components.LinkSectionList, HTMLElement {}
|
|
4
|
+
export const LinkSectionList: {
|
|
5
|
+
prototype: LinkSectionList;
|
|
6
|
+
new (): LinkSectionList;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const linkSectionListCss = ":host {\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.LinkSectionListContainer {\n display: block;\n container-type: inline-size;\n}\n.LinkSectionListWrapper {\n box-sizing: border-box;\n display: grid;\n grid-gap: 2rem;\n grid-template-columns: 1fr;\n}\n.LinkSectionListTitle {\n font-weight: 600;\n}\n.LinkSectionListLink {\n font-weight: 300;\n text-decoration: underline;\n text-underline-offset: 0.2rem;\n}\n\nul {\n width: fit-content;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\nli {\n list-style: none;\n}\n\na {\n color: inherit;\n}\n\n@container (min-width: 280px) {\n .LinkSectionListWrapper {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n@container (min-width: 650px) {\n .LinkSectionListWrapper {\n grid-gap: 2rem;\n grid-template-columns: repeat(4, 1fr);\n grid-template-rows: 1fr;\n }\n}";
|
|
4
|
+
|
|
5
|
+
const LinkSectionList$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
}
|
|
10
|
+
render() {
|
|
11
|
+
const linkSections = this.repeaterContent.content.reduce((obj, elem) => {
|
|
12
|
+
const currentCategory = elem.linkCategory;
|
|
13
|
+
const foundCategory = obj.find(el => el.categoryTitle === currentCategory);
|
|
14
|
+
if (foundCategory) {
|
|
15
|
+
foundCategory.links.push({
|
|
16
|
+
linkName: elem.title,
|
|
17
|
+
linkUrl: elem.url,
|
|
18
|
+
target: elem.target
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
obj.push({
|
|
23
|
+
categoryTitle: currentCategory,
|
|
24
|
+
links: [{
|
|
25
|
+
linkName: elem.title,
|
|
26
|
+
linkUrl: elem.url,
|
|
27
|
+
target: elem.target
|
|
28
|
+
}]
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return obj;
|
|
32
|
+
}, []);
|
|
33
|
+
return h("div", { class: "LinkSectionListContainer" }, h("div", { class: "LinkSectionListWrapper" }, linkSections.map(category => h("ul", null, h("li", { class: "LinkSectionListTitle" }, category.categoryTitle), category.links.map(link => {
|
|
34
|
+
var _a;
|
|
35
|
+
return h("li", { class: "LinkSectionListLink" }, h("a", { href: link.linkUrl, target: (_a = link.target) !== null && _a !== void 0 ? _a : '_blank' }, link.linkName));
|
|
36
|
+
})))));
|
|
37
|
+
}
|
|
38
|
+
static get style() { return linkSectionListCss; }
|
|
39
|
+
}, [0, "link-section-list", {
|
|
40
|
+
"repeaterContent": [8, "repeater-content"]
|
|
41
|
+
}]);
|
|
42
|
+
function defineCustomElement$1() {
|
|
43
|
+
if (typeof customElements === "undefined") {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const components = ["link-section-list"];
|
|
47
|
+
components.forEach(tagName => { switch (tagName) {
|
|
48
|
+
case "link-section-list":
|
|
49
|
+
if (!customElements.get(tagName)) {
|
|
50
|
+
customElements.define(tagName, LinkSectionList$1);
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
} });
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const LinkSectionList = LinkSectionList$1;
|
|
57
|
+
const defineCustomElement = defineCustomElement$1;
|
|
58
|
+
|
|
59
|
+
export { LinkSectionList, defineCustomElement };
|