@progressive-development/pd-page 0.5.10 → 0.6.0
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/generated/locale-codes.d.ts +14 -0
- package/dist/generated/locale-codes.d.ts.map +1 -0
- package/dist/generated/locales/be.d.ts +11 -0
- package/dist/generated/locales/be.d.ts.map +1 -0
- package/dist/generated/locales/de.d.ts +11 -0
- package/dist/generated/locales/de.d.ts.map +1 -0
- package/dist/generated/locales/en.d.ts +11 -0
- package/dist/generated/locales/en.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -7
- package/dist/locales/be.d.ts +2 -0
- package/dist/locales/be.js +2 -1
- package/dist/locales/de.d.ts +2 -0
- package/dist/locales/de.js +2 -1
- package/dist/locales/en.d.ts +2 -0
- package/dist/locales/en.js +2 -1
- package/dist/pd-contact-us.d.ts +18 -0
- package/dist/pd-contact-us.d.ts.map +1 -0
- package/dist/pd-contact-us.js +218 -4
- package/dist/pd-footer.d.ts +31 -0
- package/dist/pd-footer.d.ts.map +1 -0
- package/dist/pd-footer.js +165 -4
- package/dist/pd-menu.d.ts +67 -0
- package/dist/pd-menu.d.ts.map +1 -0
- package/dist/pd-menu.js +483 -4
- package/dist/stories/01_index.stories.d.ts +5 -0
- package/dist/stories/01_index.stories.d.ts.map +1 -0
- package/dist/stories/pd-contact-us.stories.d.ts +6 -0
- package/dist/stories/pd-contact-us.stories.d.ts.map +1 -0
- package/dist/stories/pd-footer.stories.d.ts +8 -0
- package/dist/stories/pd-footer.stories.d.ts.map +1 -0
- package/dist/stories/pd-menu.stories.d.ts +20 -0
- package/dist/stories/pd-menu.stories.d.ts.map +1 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +31 -48
- package/dist/pd-teaser.js +0 -8
- package/dist/src/PdContactUs.js +0 -204
- package/dist/src/PdFooter.js +0 -140
- package/dist/src/PdMenu.js +0 -449
- package/dist/src/PdTeaser.js +0 -247
- package/dist/src/PdTeaserContent.js +0 -211
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progressive-development/pd-page",
|
|
3
|
+
"version": "0.6.0",
|
|
3
4
|
"description": "Progressive development page helper, teaser, menu, footer.",
|
|
4
5
|
"author": "PD Progressive Development",
|
|
5
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
|
-
"version": "0.5.10",
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
9
10
|
"exports": {
|
|
10
11
|
".": "./dist/index.js",
|
|
11
12
|
"./pd-contact-us": "./dist/pd-contact-us.js",
|
|
12
13
|
"./pd-footer": "./dist/pd-footer.js",
|
|
13
14
|
"./pd-menu": "./dist/pd-menu.js",
|
|
14
|
-
"./pd-teaser": "./dist/pd-teaser.js",
|
|
15
15
|
"./locales/be": "./dist/locales/be.js",
|
|
16
16
|
"./locales/de": "./dist/locales/de.js",
|
|
17
17
|
"./locales/en": "./dist/locales/en.js"
|
|
@@ -23,73 +23,56 @@
|
|
|
23
23
|
"LICENSE"
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
|
-
"analyze": "cem analyze --litelement",
|
|
26
|
+
"analyze": "cem analyze --litelement --exclude dist,demo",
|
|
27
27
|
"start": "vite",
|
|
28
28
|
"build": "vite build",
|
|
29
29
|
"preview": "vite preview",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
30
|
+
"clean": "rm -rf dist",
|
|
31
|
+
"lint": "eslint --ext .ts,.html src --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
|
|
32
|
+
"format": "eslint --ext .ts,.html src --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
|
|
32
33
|
"test": "vitest run --coverage",
|
|
33
34
|
"test:watch": "vitest --watch",
|
|
35
|
+
"check": "npm run lint && npm run build",
|
|
36
|
+
"prepublishOnly": "npm run clean && npm run check",
|
|
34
37
|
"localizeExtract": "lit-localize extract",
|
|
35
38
|
"localizeBuild": "lit-localize build",
|
|
36
39
|
"storybook": "storybook dev -p 6006",
|
|
37
40
|
"build-storybook": "storybook build"
|
|
38
41
|
},
|
|
39
42
|
"dependencies": {
|
|
40
|
-
"@lit/localize": "^0.
|
|
41
|
-
"@progressive-development/pd-contact": "^0.
|
|
42
|
-
"@progressive-development/pd-dialog": "^0.
|
|
43
|
-
"@progressive-development/pd-forms": "^0.
|
|
44
|
-
"@progressive-development/pd-icon": "^0.
|
|
45
|
-
"@progressive-development/pd-shared-styles": "^0.
|
|
46
|
-
"lit": "^
|
|
43
|
+
"@lit/localize": "^0.12.2",
|
|
44
|
+
"@progressive-development/pd-contact": "^0.6.1",
|
|
45
|
+
"@progressive-development/pd-dialog": "^0.6.0",
|
|
46
|
+
"@progressive-development/pd-forms": "^0.6.0",
|
|
47
|
+
"@progressive-development/pd-icon": "^0.6.1",
|
|
48
|
+
"@progressive-development/pd-shared-styles": "^0.2.1",
|
|
49
|
+
"lit": "^3.3.0",
|
|
47
50
|
"pwa-helpers": "^0.9.1"
|
|
48
51
|
},
|
|
49
52
|
"devDependencies": {
|
|
50
|
-
"@chromatic-com/storybook": "^1.
|
|
53
|
+
"@chromatic-com/storybook": "^1.9.0",
|
|
51
54
|
"@custom-elements-manifest/analyzer": "^0.4.17",
|
|
52
55
|
"@lit/localize-tools": "^0.6.10",
|
|
53
|
-
"@storybook/addon-essentials": "^8.
|
|
54
|
-
"@storybook/addon-links": "^8.
|
|
56
|
+
"@storybook/addon-essentials": "^8.6.14",
|
|
57
|
+
"@storybook/addon-links": "^8.6.14",
|
|
55
58
|
"@storybook/blocks": "^8.0.10",
|
|
56
|
-
"@storybook/test": "^8.
|
|
59
|
+
"@storybook/test": "^8.6.14",
|
|
57
60
|
"@storybook/web-components": "^8.0.10",
|
|
58
|
-
"@storybook/web-components-vite": "^8.
|
|
59
|
-
"eslint": "^
|
|
60
|
-
"eslint
|
|
61
|
+
"@storybook/web-components-vite": "^8.6.14",
|
|
62
|
+
"@typescript-eslint/eslint-plugin": "^8.32.1",
|
|
63
|
+
"@typescript-eslint/parser": "^8.32.1",
|
|
64
|
+
"eslint": "^8.57.1",
|
|
65
|
+
"eslint-config-prettier": "^9.1.0",
|
|
61
66
|
"eslint-plugin-storybook": "^0.8.0",
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"vite": "^5.4
|
|
68
|
-
"vitest": "^2.1.
|
|
67
|
+
"prettier": "^3.5.3",
|
|
68
|
+
"rollup-plugin-visualizer": "^5.14.0",
|
|
69
|
+
"storybook": "^8.6.14",
|
|
70
|
+
"typescript": "^5.8.3",
|
|
71
|
+
"vite": "^5.4.19",
|
|
72
|
+
"vite-plugin-dts": "^4.5.4",
|
|
73
|
+
"vitest": "^2.1.9"
|
|
69
74
|
},
|
|
70
75
|
"customElements": "custom-elements.json",
|
|
71
|
-
"eslintConfig": {
|
|
72
|
-
"extends": [
|
|
73
|
-
"@open-wc",
|
|
74
|
-
"prettier",
|
|
75
|
-
"plugin:storybook/recommended"
|
|
76
|
-
]
|
|
77
|
-
},
|
|
78
|
-
"prettier": {
|
|
79
|
-
"singleQuote": true,
|
|
80
|
-
"arrowParens": "avoid"
|
|
81
|
-
},
|
|
82
|
-
"husky": {
|
|
83
|
-
"hooks": {
|
|
84
|
-
"pre-commit": "lint-staged"
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
"lint-staged": {
|
|
88
|
-
"*.js": [
|
|
89
|
-
"eslint --fix",
|
|
90
|
-
"prettier --write"
|
|
91
|
-
]
|
|
92
|
-
},
|
|
93
76
|
"keywords": [
|
|
94
77
|
"pd",
|
|
95
78
|
"progressive",
|
package/dist/pd-teaser.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PdTeaser } from "./src/PdTeaser.js";
|
|
2
|
-
import { PdTeaserContent } from "./src/PdTeaserContent.js";
|
|
3
|
-
if (!customElements.get("pd-teaser")) {
|
|
4
|
-
window.customElements.define("pd-teaser", PdTeaser);
|
|
5
|
-
}
|
|
6
|
-
if (!customElements.get("pd-teaser-content")) {
|
|
7
|
-
window.customElements.define("pd-teaser-content", PdTeaserContent);
|
|
8
|
-
}
|
package/dist/src/PdContactUs.js
DELETED
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { LitElement, css, html } from "lit";
|
|
2
|
-
import { updateWhenLocaleChanges, msg } from "@lit/localize";
|
|
3
|
-
import "@progressive-development/pd-forms/pd-button";
|
|
4
|
-
import "@progressive-development/pd-forms/pd-form-container";
|
|
5
|
-
import "@progressive-development/pd-forms/pd-form-row";
|
|
6
|
-
import "@progressive-development/pd-forms/pd-input";
|
|
7
|
-
import "@progressive-development/pd-forms/pd-input-area";
|
|
8
|
-
import "@progressive-development/pd-contact/pd-contact";
|
|
9
|
-
import { PDColorStyles, PDFontStyles } from "@progressive-development/pd-shared-styles";
|
|
10
|
-
/**
|
|
11
|
-
* @license
|
|
12
|
-
* Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
|
|
13
|
-
*/
|
|
14
|
-
class PdContactUs extends LitElement {
|
|
15
|
-
/**
|
|
16
|
-
* Fired when free date clicked => At the moment only for freeDates
|
|
17
|
-
* @event send-contact-request
|
|
18
|
-
*/
|
|
19
|
-
static get styles() {
|
|
20
|
-
return [
|
|
21
|
-
PDColorStyles,
|
|
22
|
-
PDFontStyles,
|
|
23
|
-
css`
|
|
24
|
-
:host {
|
|
25
|
-
|
|
26
|
-
display: flex;
|
|
27
|
-
flex-flow: row;
|
|
28
|
-
background-color: var(--pd-contactus-bg-col, var(--pd-default-col));
|
|
29
|
-
|
|
30
|
-
background-image: var(--pd-contactus-bg-image);
|
|
31
|
-
background-repeat: no-repeat;
|
|
32
|
-
|
|
33
|
-
min-height: 500px; /* Temporär hier... */
|
|
34
|
-
width: 100%;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
h2 {
|
|
38
|
-
font-family: var(--pd-default-font-title-family);
|
|
39
|
-
font-style: normal;
|
|
40
|
-
color: var(--pd-contactus-font-col, var(--pd-default-bg-col));
|
|
41
|
-
margin-top: 1.4em;
|
|
42
|
-
margin-bottom: 2.5rem;
|
|
43
|
-
font-size: var(--pd-contactus-font-h2-size, 2.5rem);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.content-block {
|
|
47
|
-
overflow: hidden;
|
|
48
|
-
display: flex;
|
|
49
|
-
flex-direction: column;
|
|
50
|
-
align-items: left;
|
|
51
|
-
justify-content: flex-start;
|
|
52
|
-
flex-grow: 1;
|
|
53
|
-
max-width: 1170px;
|
|
54
|
-
margin: 0 auto;
|
|
55
|
-
text-align: left;
|
|
56
|
-
padding-left: 30px;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.contact-block {
|
|
60
|
-
display: flex;
|
|
61
|
-
flex-wrap: wrap;
|
|
62
|
-
padding-bottom: 50px;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.left-content {
|
|
66
|
-
width: 35%;
|
|
67
|
-
min-width: 230px;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.right-content {
|
|
71
|
-
width: 65%;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.company-contact {
|
|
75
|
-
--app-font-content-col: var(--pd-contactus-font-col, var(--pd-default-bg-col));;
|
|
76
|
-
--app-font-title-col: var(--pd-contactus-font-col, var(--pd-default-bg-col));;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* Size Elements for small width */
|
|
80
|
-
@media (max-width: 440px) {
|
|
81
|
-
.item {
|
|
82
|
-
display: none;
|
|
83
|
-
}
|
|
84
|
-
ul {
|
|
85
|
-
justify-content: left;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
`
|
|
89
|
-
];
|
|
90
|
-
}
|
|
91
|
-
static get properties() {
|
|
92
|
-
return {
|
|
93
|
-
contact: { type: Object }
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
constructor() {
|
|
97
|
-
super();
|
|
98
|
-
updateWhenLocaleChanges(this);
|
|
99
|
-
this.contact = {};
|
|
100
|
-
}
|
|
101
|
-
render() {
|
|
102
|
-
return html`
|
|
103
|
-
<div class="content-block">
|
|
104
|
-
<h2>${msg("Kontakt", { id: "pd.contactus.title" })}</h2>
|
|
105
|
-
<div class="contact-block">
|
|
106
|
-
<div class="left-content">
|
|
107
|
-
<pd-contact
|
|
108
|
-
class="company-contact"
|
|
109
|
-
.contact="${this.contact}"
|
|
110
|
-
addressTitle="${msg("Adresse", { id: "pd.contactus.address.title" })}"
|
|
111
|
-
summary
|
|
112
|
-
></pd-contact>
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
<div class="right-content">
|
|
116
|
-
<pd-form-container id="contactFormId">
|
|
117
|
-
<pd-form-row>
|
|
118
|
-
<pd-input
|
|
119
|
-
id="nameInputId"
|
|
120
|
-
class="quarter3"
|
|
121
|
-
placeHolder="${msg("Name", { id: "pd.contactus.address.name" })}"
|
|
122
|
-
valueName="name"
|
|
123
|
-
autoCompleteName="full-name"
|
|
124
|
-
required
|
|
125
|
-
></pd-input>
|
|
126
|
-
</pd-form-row>
|
|
127
|
-
|
|
128
|
-
<pd-form-row>
|
|
129
|
-
<pd-input
|
|
130
|
-
id="mailInputId"
|
|
131
|
-
class="quarter3"
|
|
132
|
-
placeHolder="${msg("Email", { id: "pd.contactus.address.email" })}"
|
|
133
|
-
valueName="mail"
|
|
134
|
-
autoCompleteName="email"
|
|
135
|
-
name="email"
|
|
136
|
-
field-type="mail"
|
|
137
|
-
required
|
|
138
|
-
></pd-input>
|
|
139
|
-
</pd-form-row>
|
|
140
|
-
|
|
141
|
-
<pd-form-row>
|
|
142
|
-
<pd-input
|
|
143
|
-
id="phoneInputId"
|
|
144
|
-
class="quarter3"
|
|
145
|
-
placeHolder="${msg("Telefon", { id: "pd.contactus.address.phone" })}"
|
|
146
|
-
valueName="phone"
|
|
147
|
-
field-type="phone"
|
|
148
|
-
autoCompleteName="tel"
|
|
149
|
-
required
|
|
150
|
-
></pd-input>
|
|
151
|
-
</pd-form-row>
|
|
152
|
-
|
|
153
|
-
<pd-form-row>
|
|
154
|
-
<pd-input-area
|
|
155
|
-
id="msgInputId"
|
|
156
|
-
class="quarter3-area"
|
|
157
|
-
placeHolder="${msg("Nachricht", { id: "pd.contactus.address.message" })}"
|
|
158
|
-
rows="15"
|
|
159
|
-
required
|
|
160
|
-
valueName="msg"
|
|
161
|
-
></pd-input-area>
|
|
162
|
-
</pd-form-row>
|
|
163
|
-
|
|
164
|
-
<pd-form-row>
|
|
165
|
-
<pd-button class="quarter3" text="${msg("Absenden", { id: "pd.contactus.address.send" })}" @click="${this._sendMail}" primary></pd-button>
|
|
166
|
-
</pd-form-row>
|
|
167
|
-
|
|
168
|
-
</pd-form-container>
|
|
169
|
-
|
|
170
|
-
</div>
|
|
171
|
-
</div>
|
|
172
|
-
</div>
|
|
173
|
-
`;
|
|
174
|
-
}
|
|
175
|
-
clear() {
|
|
176
|
-
this.shadowRoot.getElementById("nameInputId").clear();
|
|
177
|
-
this.shadowRoot.getElementById("mailInputId").clear();
|
|
178
|
-
this.shadowRoot.getElementById("phoneInputId").clear();
|
|
179
|
-
this.shadowRoot.getElementById("msgInputId").clear();
|
|
180
|
-
}
|
|
181
|
-
_sendMail() {
|
|
182
|
-
const detail = {
|
|
183
|
-
errorMap: /* @__PURE__ */ new Map()
|
|
184
|
-
};
|
|
185
|
-
const curentStepEl = this.shadowRoot.getElementById("contactFormId");
|
|
186
|
-
curentStepEl.dispatchEvent(new CustomEvent("validate-form", { detail }));
|
|
187
|
-
if (detail.errorMap.size === 0) {
|
|
188
|
-
const name = this.shadowRoot.getElementById("nameInputId").value;
|
|
189
|
-
const email = this.shadowRoot.getElementById("mailInputId").value;
|
|
190
|
-
const phone = this.shadowRoot.getElementById("phoneInputId").value;
|
|
191
|
-
const msg1 = this.shadowRoot.getElementById("msgInputId").value;
|
|
192
|
-
this.dispatchEvent(
|
|
193
|
-
new CustomEvent("send-contact-request", {
|
|
194
|
-
detail: {
|
|
195
|
-
msgObj: { name, email, phone, msg1 }
|
|
196
|
-
}
|
|
197
|
-
})
|
|
198
|
-
);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
export {
|
|
203
|
-
PdContactUs
|
|
204
|
-
};
|
package/dist/src/PdFooter.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { LitElement, css, html } from "lit";
|
|
2
|
-
import { PDColorStyles, PDFontStyles } from "@progressive-development/pd-shared-styles";
|
|
3
|
-
/**
|
|
4
|
-
* @license
|
|
5
|
-
* Copyright (c) 2021 PD Progressive Development UG. All rights reserved.
|
|
6
|
-
*/
|
|
7
|
-
class PdFooter extends LitElement {
|
|
8
|
-
/**
|
|
9
|
-
* Fired when footer link clicked.
|
|
10
|
-
* @event footer-link
|
|
11
|
-
*/
|
|
12
|
-
static get properties() {
|
|
13
|
-
return {
|
|
14
|
-
version: { type: String },
|
|
15
|
-
copyright: { type: String },
|
|
16
|
-
madeBy: { type: Object },
|
|
17
|
-
footerLinks: { type: Array }
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
static get styles() {
|
|
21
|
-
return [
|
|
22
|
-
PDColorStyles,
|
|
23
|
-
PDFontStyles,
|
|
24
|
-
css`
|
|
25
|
-
:host {
|
|
26
|
-
display: flex;
|
|
27
|
-
flex-flow: column;
|
|
28
|
-
justify-content: end;
|
|
29
|
-
background-color: var(--pd-footer-bg-col, var(--pd-default-col));
|
|
30
|
-
width: 100%;
|
|
31
|
-
white-space: nowrap;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.footer-links {
|
|
35
|
-
display: flex;
|
|
36
|
-
align-items: center;
|
|
37
|
-
justify-content: right;
|
|
38
|
-
height: 100%;
|
|
39
|
-
color: var(--pd-footer-font-col, var(--pd-default-bg-col));
|
|
40
|
-
font-family: var(--pd-footer-font-family, var(--pd-default-font-link-family));
|
|
41
|
-
font-size: var(--pd-footer-font-size, 1.1em);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.footer-links ul {
|
|
45
|
-
display: flex;
|
|
46
|
-
flex-wrap: wrap;
|
|
47
|
-
list-style: none;
|
|
48
|
-
gap: 2em;
|
|
49
|
-
margin: 0px;
|
|
50
|
-
padding: 2em 2.5em 2em 2.5em;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.footer-links li {
|
|
54
|
-
cursor: pointer;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.footer-links li:hover {
|
|
58
|
-
color: var(--pd-default-hover-col);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.bottom-line {
|
|
62
|
-
background-color: var(--pd-footer-bottom-col, var(--pd-default-light-col));
|
|
63
|
-
font-size: var(--pd-footer-bottom-font-size, 0.9em);
|
|
64
|
-
color: var(--pd-footer-bottom-font-col, var(--pd-default-dark-col));
|
|
65
|
-
padding: 0.5em;
|
|
66
|
-
display: flex;
|
|
67
|
-
gap: 1em;
|
|
68
|
-
flex-wrap: wrap;
|
|
69
|
-
justify-content: space-between;
|
|
70
|
-
align-items: center;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.copyright {
|
|
74
|
-
font-weight: bold;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.version {
|
|
78
|
-
font-weight: normal;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.madeBy {
|
|
82
|
-
cursor: pointer;
|
|
83
|
-
font-style: italic;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.madeBy:hover {
|
|
87
|
-
color: var(--pd-default-col);
|
|
88
|
-
}
|
|
89
|
-
`
|
|
90
|
-
];
|
|
91
|
-
}
|
|
92
|
-
constructor() {
|
|
93
|
-
super();
|
|
94
|
-
this.footerLinks = [];
|
|
95
|
-
this._mailTo = "info@progressive-development.com";
|
|
96
|
-
}
|
|
97
|
-
firstUpdated() {
|
|
98
|
-
}
|
|
99
|
-
render() {
|
|
100
|
-
return html`
|
|
101
|
-
|
|
102
|
-
<div class="footer-links">
|
|
103
|
-
<ul>
|
|
104
|
-
${this.footerLinks.map((link) => html`
|
|
105
|
-
<li class="item">
|
|
106
|
-
<a @click="${this._footerLinkClicked}" data-link="${link.key}">${link.name}</a>
|
|
107
|
-
</li>
|
|
108
|
-
`)}
|
|
109
|
-
</ul>
|
|
110
|
-
</div>
|
|
111
|
-
<div class="bottom-line">
|
|
112
|
-
<div>
|
|
113
|
-
${this.copyright ? html`<span class="copyright">© ${this.copyright}, </span>` : ""}
|
|
114
|
-
${this.version ? html`<span class="version">${this.version}</span>` : ""}
|
|
115
|
-
</div>
|
|
116
|
-
${this.madeBy ? html`<span class="madeBy" @click="${this._clickMadeby}">${this.madeBy.txt}</span>` : ""}
|
|
117
|
-
</div>
|
|
118
|
-
`;
|
|
119
|
-
}
|
|
120
|
-
_clickMadeby() {
|
|
121
|
-
if (this.madeBy.email) {
|
|
122
|
-
window.location.href = `mailto:${this.madeBy.email}`;
|
|
123
|
-
} else if (this.madeBy.link) {
|
|
124
|
-
window.open(this.madeBy.link, "_blank");
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
_footerLinkClicked(e) {
|
|
128
|
-
const linkKey = e.target.dataset.link;
|
|
129
|
-
this.dispatchEvent(
|
|
130
|
-
new CustomEvent("footer-link", {
|
|
131
|
-
detail: {
|
|
132
|
-
linkObj: this.footerLinks.filter((fl) => fl.key === linkKey)[0]
|
|
133
|
-
}
|
|
134
|
-
})
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
export {
|
|
139
|
-
PdFooter
|
|
140
|
-
};
|