@progressive-development/pd-page 0.0.12 → 0.0.14

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/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Progressive development page helper, teaser, menu, footer.",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "author": "PD Progressive Development",
6
- "version": "0.0.12",
6
+ "version": "0.0.14",
7
7
  "main": "index.js",
8
8
  "module": "index.js",
9
9
  "scripts": {
package/src/PdMenu.js CHANGED
@@ -89,6 +89,11 @@ export class PdMenu extends LitElement {
89
89
  margin-top: -15px;
90
90
  }
91
91
 
92
+ ::slotted(.logo) {
93
+ max-width: 8rem;
94
+ width: 8rem; /* wird sonst im Chrome nicht angezeigt*/
95
+ }
96
+
92
97
  /* Size Elements for small width */
93
98
  @media (max-width: 440px) {
94
99
  .changevis {
@@ -195,13 +200,13 @@ export class PdMenu extends LitElement {
195
200
  _menuItemClicked(e) {
196
201
  const secParam = e.target.dataset.sec;
197
202
  const routeParam = e.target.dataset.route;
198
- if (secParam !== 'undefined') {
203
+ if (secParam !== 'undefined' && secParam !== '') {
199
204
  this._scrollToContent(secParam);
200
- } else if (routeParam !== 'undefined') {
205
+ } else if (routeParam !== 'undefined' && routeParam !== '') {
201
206
  this.dispatchEvent(
202
207
  new CustomEvent('route-event', {
203
208
  detail: {
204
- route: routeParam,
209
+ route: routeParam === 'back' ? '' : routeParam,
205
210
  },
206
211
  })
207
212
  );
@@ -0,0 +1,30 @@
1
+ import { html } from 'lit';
2
+ import '../pd-contact-us.js';
3
+
4
+ export default {
5
+ title: 'PdPage/Contact Us',
6
+ component: 'pd-contact-us',
7
+ argTypes: {},
8
+ };
9
+
10
+ function Template() {
11
+ return html`
12
+ <pd-contact-us
13
+ id="contactUsId"
14
+ .contact="${{
15
+ companyName: 'Ticomi BV',
16
+ street: 'Gaston Crommenlaan',
17
+ streetNr: '8',
18
+ city: 'Gent',
19
+ zip: '9050',
20
+ btw: 'BE 0743868155 / RPR Gent',
21
+
22
+ kbc: 'BE3487 43545 94858 45686',
23
+ }}"
24
+ >
25
+ </pd-contact-us>
26
+ `;
27
+ }
28
+
29
+ export const ContactUs = Template.bind({});
30
+ ContactUs.args = {};
@@ -0,0 +1,20 @@
1
+ import { html } from 'lit';
2
+ import '../pd-footer.js';
3
+
4
+ export default {
5
+ title: 'PdPage/Footer',
6
+ component: 'pd-footer',
7
+ argTypes: {},
8
+ };
9
+
10
+ function Template() {
11
+ return html`
12
+ <pd-footer version="0.1 Test">
13
+ <span slot="legal"><p>My AGB</p></span>
14
+ <span slot="privacy"><p>My Privacy</p></span>
15
+ </pd-footer>
16
+ `;
17
+ }
18
+
19
+ export const Footer = Template.bind({});
20
+ Footer.args = {};
@@ -1,44 +1,172 @@
1
1
  import { html } from 'lit';
2
+
3
+ import '../pd-teaser.js';
2
4
  import '../pd-menu.js';
5
+ import '../pd-contact-us.js';
6
+ import '../pd-footer.js';
7
+
8
+ const ticomiLogo = html`
9
+ <svg
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ viewBox="0 0 298.09 120.94"
12
+ class="logo"
13
+ >
14
+ <g id="Ebene_2" data-name="Ebene 2">
15
+ <!--g style="fill: var(--logo-fill-1,#15a1dc)"-->
16
+ <g id="Ebene_1-2" data-name="Ebene 1">
17
+ <path
18
+ d="M115.21,72.59c-2,0-3.5-1.46-3.5-4.68V48.68h7.2V44h-7.17l.12-9.64h-7l-3.49,9.6-5,.65v4.1h4.44V61.75c0,2.68-.07,4.52-.07,6.91,0,6.78,3.64,9.55,9.87,9.55,5,0,8.23-2,10.05-5.49l-1.68-1.65A6.16,6.16,0,0,1,115.21,72.59Z"
19
+ style="fill:#fff"
20
+ ></path>
21
+ <path
22
+ d="M136.92,62.74V53.63l.21-10L136,42.92l-14.38,4.57v2.7l4.24.62c.14,2.75.21,4.88.21,8.66v3.27c0,2.89,0,7.08-.1,10.43l-3.69.8v3.2h18.22V74L137,73.26C137,69.89,136.92,65.66,136.92,62.74Z"
23
+ style="fill:#fff"
24
+ ></path>
25
+ <ellipse
26
+ cx="131.35"
27
+ cy="32.37"
28
+ rx="5.82"
29
+ ry="5.47"
30
+ style="fill:#fff"
31
+ ></ellipse>
32
+ <path
33
+ d="M163.55,46.46a10.9,10.9,0,0,1,1.29.08l.44,3.46c.33,4.84,2.56,6.51,5.27,6.51,2.47,0,3.89-1.12,4.63-3.58-.5-5.48-5.58-10-12.83-10-10.25,0-18.55,6.51-18.55,17.74,0,11.55,7.74,17.55,17.1,17.55,6.5,0,11.44-2.67,14.09-8.27l-2.39-2.11a9.87,9.87,0,0,1-7.73,3.82c-5.77,0-9.57-4.34-9.57-12.25C155.3,50.11,159.6,46.46,163.55,46.46Z"
34
+ style="fill:#fff"
35
+ ></path>
36
+ <path
37
+ d="M196.07,42.92c-9.83,0-17.44,6.95-17.44,17.51s6.72,17.78,17.44,17.78,17.44-7.07,17.44-17.78S205.86,42.92,196.07,42.92Zm0,31.7c-3.88,0-5.81-4.24-5.81-14s1.93-14.07,5.81-14.07,5.81,4.32,5.81,14.07S199.92,74.62,196.07,74.62Z"
38
+ style="fill:#fff"
39
+ ></path>
40
+ <path
41
+ d="M272.87,62.74V55.07c0-8.16-3.08-12.15-10-12.15-3.92,0-7.26,1.47-11.09,6.12-1.35-4.09-4.39-6.12-9.07-6.12-4.13,0-7.47,1.94-10.76,5.8l-.41-5.06-1.18-.74L216.8,47.49v2.7l4.2.62c.19,2.75.21,4.18.21,8v4c0,2.89,0,7.07-.1,10.43l-3.7.8v3.2h18.07V74l-3.23-.69c-.06-3.37-.1-7.62-.1-10.54V52.07a9.42,9.42,0,0,1,5.68-2.5c3,0,4,1.76,4,6.56v6.61c0,3,0,7.1-.09,10.43l-3.56.8v3.2h17.73V74l-3.23-.7c-.07-3.34-.1-7.52-.1-10.53v-8a22.71,22.71,0,0,0-.15-2.69,9.14,9.14,0,0,1,5.8-2.48c2.82,0,3.91,1.36,3.91,6.52v6.65c0,3,0,7.11-.09,10.44l-3.32.79v3.2H276.4V74L273,73.24C272.9,69.91,272.87,65.74,272.87,62.74Z"
42
+ style="fill:#fff"
43
+ ></path>
44
+ <ellipse
45
+ cx="288.99"
46
+ cy="32.37"
47
+ rx="5.82"
48
+ ry="5.47"
49
+ style="fill:#fff"
50
+ ></ellipse>
51
+ <path
52
+ d="M294.66,73.26c-.06-3.37-.09-7.6-.09-10.52V53.63l.2-10-1.18-.74-14.38,4.57v2.7l4.24.62c.14,2.75.21,4.88.21,8.66v3.27c0,2.89,0,7.08-.1,10.43l-3.69.8v3.2h18.22V74Z"
53
+ style="fill:#fff"
54
+ ></path>
55
+ <path
56
+ d="M100.27,113.34V97.1H96.33V95.29l4-.22.29-7.31h2v7.31h7.32v2H102.6v16.42c0,3.22.81,5.4,4.29,5.4a9.14,9.14,0,0,0,3.17-.8l.61,1.88a14.75,14.75,0,0,1-4.13.94C101.69,120.94,100.27,117.87,100.27,113.34Zm17-5.6c0-8.24,5.36-13.3,11-13.3,6,0,9.67,4.25,9.67,11.68a10.92,10.92,0,0,1-.13,1.89H119.71c.09,6.37,3.82,10.93,9.51,10.93A11.4,11.4,0,0,0,136,116.7l1,1.76a13.84,13.84,0,0,1-8,2.48C122.55,120.94,117.32,116,117.32,107.74Zm18.49-1.64c0-6.45-2.92-9.66-7.46-9.66-4.26,0-8.12,3.62-8.65,9.66Zm10.84,1.64c0-8.44,5.4-13.3,11.54-13.3a10.35,10.35,0,0,1,7.39,3.11l-1.37,1.62a8.57,8.57,0,0,0-6-2.68c-5.16,0-9.15,4.6-9.15,11.25s3.63,11.15,9.12,11.15A10,10,0,0,0,165,116l1.2,1.63a12,12,0,0,1-8.06,3.33C151.59,120.94,146.65,116.09,146.65,107.74Zm29.67-25.25h2.32v11l0,5.56c2.64-2.62,5.26-4.59,8.74-4.59,5.21,0,7.63,3.16,7.63,9.68v16.19h-2.32V104.43c0-5.36-1.69-7.9-5.75-7.9-3,0-5.19,1.59-8.26,4.74v19h-2.32ZM208,95.07h2l.25,3.91h.12c2.57-2.57,5.2-4.54,8.68-4.54,5.22,0,7.64,3.16,7.64,9.68v16.19h-2.32V104.43c0-5.36-1.7-7.9-5.76-7.9-3,0-5.18,1.59-8.25,4.74v19H208Zm31-8.16a2.12,2.12,0,0,1,4.23,0,2.12,2.12,0,0,1-4.23,0Zm.91,8.16h2.32v25.24h-2.32Zm13.85,12.67c0-8.44,5.4-13.3,11.54-13.3a10.35,10.35,0,0,1,7.39,3.11l-1.37,1.62a8.57,8.57,0,0,0-6-2.68c-5.16,0-9.15,4.6-9.15,11.25s3.63,11.15,9.12,11.15a10,10,0,0,0,6.76-2.91l1.2,1.63a12,12,0,0,1-8.06,3.33C258.71,120.94,253.77,116.09,253.77,107.74Zm26.53,9.71,1.34-1.69a11.7,11.7,0,0,0,8,3.2c4,0,6-2.33,6-5,0-3.16-3.27-4.55-6.18-5.6-3.81-1.35-8-2.9-8-7.22,0-3.63,2.88-6.71,8.13-6.71a11.89,11.89,0,0,1,7.22,2.61l-1.25,1.68a9.6,9.6,0,0,0-6-2.31c-3.94,0-5.72,2.27-5.72,4.6,0,2.88,3,4,6,5.11,3.91,1.49,8.24,2.78,8.24,7.7,0,3.8-3,7.11-8.51,7.11A14.39,14.39,0,0,1,280.3,117.45Z"
57
+ style="fill:#fff"
58
+ ></path>
59
+ <path
60
+ d="M74,70.68C74,27.21,29.57,0,29.57,0a121.75,121.75,0,0,1-9,30.61C13.35,46.77,0,57.83,0,76.72c0,24.43,17.1,44.22,37.18,44.22S74,98.27,74,70.68Z"
61
+ style="fill:#db3a34"
62
+ ></path>
63
+ <path
64
+ d="M67.14,78.6C67.14,42,31,19.07,31,19.07a105.49,105.49,0,0,1-7.34,25.78C17.74,58.46,6.86,67.78,6.86,83.7c0,20.57,13.93,37.24,30.29,37.24S67.14,101.84,67.14,78.6Z"
65
+ style="fill:#f7931e"
66
+ ></path>
67
+ <path
68
+ d="M57.92,88.46c0-28.09-25.12-45.67-25.12-45.67a87.16,87.16,0,0,1-5.1,19.78C23.63,73,16.08,80.16,16.08,92.37c0,15.78,9.67,28.57,21,28.57S57.92,106.29,57.92,88.46Z"
69
+ style="fill:#ffc857"
70
+ ></path>
71
+ <path
72
+ d="M47.44,104.74c0-14-12.53-22.77-12.53-22.77a43.35,43.35,0,0,1-2.55,9.86c-2,5.21-5.79,8.77-5.79,14.86,0,7.87,4.82,14.25,10.48,14.25S47.44,113.64,47.44,104.74Z"
73
+ style="fill:#fff"
74
+ ></path>
75
+ </g>
76
+ </g>
77
+ </svg>
78
+ `;
3
79
 
4
80
  export default {
5
- title: 'PdMenu',
6
- component: 'pd-menu',
7
- argTypes: {
8
- title: { control: 'text' },
9
- counter: { control: 'number' },
10
- textColor: { control: 'color' },
11
- },
81
+ title: 'Page Examples',
82
+ component: 'pd-page',
83
+ argTypes: {},
12
84
  };
13
85
 
14
- function Template({ title = 'Hello world', counter = 5, textColor, slot }) {
86
+ function Template({ menuItems, topMenuItems, teaserClosed }) {
15
87
  return html`
16
- <pd-menu
17
- style="--pd-page-text-color: ${textColor || 'black'}"
18
- .title=${title}
19
- .counter=${counter}
20
- >
21
- ${slot}
22
- </pd-menu>
88
+ <header>
89
+ <pd-teaser
90
+ .teaserObjects="${[{ name: 't1' }, { name: 't2' }, { name: 't3' }]}"
91
+ @close-teaser="${this._closeTeaser}"
92
+ >
93
+ <pd-teaser-content
94
+ slot="t1"
95
+ primaryTxt="Teaser 1 Primary Text"
96
+ secondaryTxt="Teaser 1 Secondary Text."
97
+ >
98
+ </pd-teaser-content>
99
+ <pd-teaser-content
100
+ slot="t2"
101
+ primaryTxt="Teaser 2 Primary Text"
102
+ secondaryTxt="Teaser 2 Secondary Text."
103
+ style="--squi-teaser-image: url('/images/hero_3.svg');"
104
+ >
105
+ </pd-teaser-content>
106
+ <pd-teaser-content
107
+ slot="t3"
108
+ primaryTxt="Teaser 3 Primary Text"
109
+ secondaryTxt="Teaser 3 Secondary Text."
110
+ style="--squi-teaser-image: url('/images/hero_2.svg');"
111
+ >
112
+ </pd-teaser-content>
113
+ </pd-teaser>
114
+
115
+ <pd-menu
116
+ class="${this._teaserClosed ? 'menu-2' : 'menu-1'}"
117
+ .menuItems=${menuItems}
118
+ .topMenuItems=${topMenuItems}
119
+ ?teaserClosed="${teaserClosed}"
120
+ @route-event="${this._routeEvent}"
121
+ >
122
+ <span slot="slotLogo" class="logo">${ticomiLogo}</span>
123
+ </pd-menu>
124
+
125
+ <section id="secServices">
126
+ <h1>Section 1</h1>
127
+ <p>Hier steht dann etwas Text</p>
128
+ </section>
129
+
130
+ <section id="secAboutUs">
131
+ <h1>Section 2</h1>
132
+ <p>Hier steht dann etwas Text</p>
133
+ </section>
134
+
135
+ <section id="secContactUs">
136
+ <pd-contact-us
137
+ id="contactUsId"
138
+ .contact="${{
139
+ companyName: 'Ticomi BV',
140
+ street: 'Gaston Crommenlaan',
141
+ streetNr: '8',
142
+ city: 'Gent',
143
+ zip: '9050',
144
+ btw: 'BE 0743868155 / RPR Gent',
145
+
146
+ kbc: 'BE3487 43545 94858 45686',
147
+ }}"
148
+ ></pd-contact-us>
149
+ </section>
150
+
151
+ <footer>
152
+ <pd-footer version="0.1 Test">
153
+ <span slot="legal"><p>My AGB</p></span>
154
+ <span slot="privacy"><p>My Privacy</p></span>
155
+ </pd-footer>
156
+ </footer>
157
+ </header>
23
158
  `;
24
159
  }
25
160
 
26
- export const Regular = Template.bind({});
27
-
28
- export const CustomTitle = Template.bind({});
29
- CustomTitle.args = {
30
- title: 'My title',
31
- };
161
+ export const PageExamples = Template.bind({});
162
+ PageExamples.args = {
163
+ menuItems: [
164
+ { name: 'Service', sec: 'secServices' },
165
+ { name: 'Over ons', sec: 'secAboutUs' },
166
+ { name: 'Contact', sec: 'secContactUs' },
167
+ ],
32
168
 
33
- export const CustomCounter = Template.bind({});
34
- CustomCounter.args = {
35
- counter: 123456,
36
- };
169
+ topMenuItems: [{ name: 'Profiel', icon: 'userIcon', route: 'profile' }],
37
170
 
38
- export const SlottedContent = Template.bind({});
39
- SlottedContent.args = {
40
- slot: html`<p>Slotted content</p>`,
41
- };
42
- SlottedContent.argTypes = {
43
- slot: { table: { disable: true } },
171
+ teaserClosed: false,
44
172
  };
@@ -75,7 +75,7 @@ const ticomiLogo = html`
75
75
  `;
76
76
 
77
77
  export default {
78
- title: 'Menu',
78
+ title: 'PdPage/Menu',
79
79
  component: 'pd-menu',
80
80
  argTypes: {
81
81
  menuColor: { control: 'color' },
@@ -85,14 +85,18 @@ export default {
85
85
  function Template({ menuItems, topMenuItems, color, logo, menuColor }) {
86
86
  return html`
87
87
  <pd-menu
88
- style="
89
- --squi-menu-bg-color: ${menuColor || color};
88
+ style="--squi-menu-bg-color: ${menuColor || color};
90
89
  transition: background-color 1s;"
91
- .logo="${logo ? { svg: logo } : undefined}"
92
90
  .menuItems=${menuItems}
93
91
  .topMenuItems=${topMenuItems}
94
92
  ?teaserClosed="${true}"
93
+ @route-event="${e => {
94
+ console.log('Der route event ist da: ', e);
95
+ }}"
95
96
  >
97
+ ${logo
98
+ ? html`<span slot="slotLogo" class="logo">${ticomiLogo}</span>`
99
+ : ''}
96
100
  </pd-menu>
97
101
  `;
98
102
  }
@@ -140,7 +144,7 @@ WithTopItems.args = {
140
144
  { name: 'Over ons', sec: 'secAboutUs' },
141
145
  { name: 'Contact', sec: 'secContactUs' },
142
146
  ],
143
- topMenuItems: [{ name: 'Profile', icon: 'userIcon', sec: 'secServices' }],
147
+ topMenuItems: [{ name: 'Profile', icon: 'userIcon', route: 'profile' }],
144
148
  color: '#084c61',
145
149
  logo: ticomiLogo,
146
150
  };
@@ -2,7 +2,7 @@ import { html } from 'lit';
2
2
  import '../pd-teaser.js';
3
3
 
4
4
  export default {
5
- title: 'Teaser',
5
+ title: 'PdPage/Teaser',
6
6
  component: 'pd-teaser',
7
7
  argTypes: {},
8
8
  };