@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.
Files changed (43) hide show
  1. package/dist/generated/locale-codes.d.ts +14 -0
  2. package/dist/generated/locale-codes.d.ts.map +1 -0
  3. package/dist/generated/locales/be.d.ts +11 -0
  4. package/dist/generated/locales/be.d.ts.map +1 -0
  5. package/dist/generated/locales/de.d.ts +11 -0
  6. package/dist/generated/locales/de.d.ts.map +1 -0
  7. package/dist/generated/locales/en.d.ts +11 -0
  8. package/dist/generated/locales/en.d.ts.map +1 -0
  9. package/dist/index.d.ts +8 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +3 -7
  12. package/dist/locales/be.d.ts +2 -0
  13. package/dist/locales/be.js +2 -1
  14. package/dist/locales/de.d.ts +2 -0
  15. package/dist/locales/de.js +2 -1
  16. package/dist/locales/en.d.ts +2 -0
  17. package/dist/locales/en.js +2 -1
  18. package/dist/pd-contact-us.d.ts +18 -0
  19. package/dist/pd-contact-us.d.ts.map +1 -0
  20. package/dist/pd-contact-us.js +218 -4
  21. package/dist/pd-footer.d.ts +31 -0
  22. package/dist/pd-footer.d.ts.map +1 -0
  23. package/dist/pd-footer.js +165 -4
  24. package/dist/pd-menu.d.ts +67 -0
  25. package/dist/pd-menu.d.ts.map +1 -0
  26. package/dist/pd-menu.js +483 -4
  27. package/dist/stories/01_index.stories.d.ts +5 -0
  28. package/dist/stories/01_index.stories.d.ts.map +1 -0
  29. package/dist/stories/pd-contact-us.stories.d.ts +6 -0
  30. package/dist/stories/pd-contact-us.stories.d.ts.map +1 -0
  31. package/dist/stories/pd-footer.stories.d.ts +8 -0
  32. package/dist/stories/pd-footer.stories.d.ts.map +1 -0
  33. package/dist/stories/pd-menu.stories.d.ts +20 -0
  34. package/dist/stories/pd-menu.stories.d.ts.map +1 -0
  35. package/dist/types.d.ts +25 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/package.json +31 -48
  38. package/dist/pd-teaser.js +0 -8
  39. package/dist/src/PdContactUs.js +0 -204
  40. package/dist/src/PdFooter.js +0 -140
  41. package/dist/src/PdMenu.js +0 -449
  42. package/dist/src/PdTeaser.js +0 -247
  43. 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
- "lint": "eslint --ext .js,.html . --ignore-path .gitignore && prettier \"**/*.{js,html}\" --check --ignore-path .gitignore",
31
- "format": "eslint --ext .js,.html . --fix --ignore-path .gitignore && prettier \"**/*.{js,html}\" --write --ignore-path .gitignore",
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.11.4",
41
- "@progressive-development/pd-contact": "^0.5.10",
42
- "@progressive-development/pd-dialog": "^0.5.8",
43
- "@progressive-development/pd-forms": "^0.5.7",
44
- "@progressive-development/pd-icon": "^0.5.0",
45
- "@progressive-development/pd-shared-styles": "^0.1.1",
46
- "lit": "^2.8.0",
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.3.4",
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.0.10",
54
- "@storybook/addon-links": "^8.0.10",
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.0.10",
59
+ "@storybook/test": "^8.6.14",
57
60
  "@storybook/web-components": "^8.0.10",
58
- "@storybook/web-components-vite": "^8.0.10",
59
- "eslint": "^7.32.0",
60
- "eslint-config-prettier": "^8.10.0",
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
- "husky": "^4.3.8",
63
- "lint-staged": "^10.5.4",
64
- "prettier": "^2.8.8",
65
- "rollup-plugin-visualizer": "^5.13.1",
66
- "storybook": "^8.0.10",
67
- "vite": "^5.4.11",
68
- "vitest": "^2.1.8"
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
- }
@@ -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
- };
@@ -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
- };