@progressive-development/pd-spa-helper 0.0.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/.editorconfig ADDED
@@ -0,0 +1,29 @@
1
+ # EditorConfig helps developers define and maintain consistent
2
+ # coding styles between different editors and IDEs
3
+ # editorconfig.org
4
+
5
+ root = true
6
+
7
+
8
+ [*]
9
+
10
+ # Change these settings to your own preference
11
+ indent_style = space
12
+ indent_size = 2
13
+
14
+ # We recommend you to keep these unchanged
15
+ end_of_line = lf
16
+ charset = utf-8
17
+ trim_trailing_whitespace = true
18
+ insert_final_newline = true
19
+
20
+ [*.md]
21
+ trim_trailing_whitespace = false
22
+
23
+ [*.json]
24
+ indent_size = 2
25
+
26
+ [*.{html,js,md}]
27
+ block_comment_start = /**
28
+ block_comment = *
29
+ block_comment_end = */
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ stories: ['../dist/stories/**/*.stories.{js,md,mdx}'],
3
+ };
@@ -0,0 +1,8 @@
1
+ import { storybookPlugin } from '@web/dev-server-storybook';
2
+ import baseConfig from '../web-dev-server.config.mjs';
3
+
4
+ export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
5
+ ...baseConfig,
6
+ open: '/',
7
+ plugins: [storybookPlugin({ type: 'web-components' }), ...baseConfig.plugins],
8
+ });
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 pd-spa-helper
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,76 @@
1
+ # \<pd-spa-helper>
2
+
3
+ This webcomponent follows the [open-wc](https://github.com/open-wc/open-wc) recommendation.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm i pd-spa-helper
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <script type="module">
15
+ import 'pd-spa-helper/pd-spa-helper.js';
16
+ </script>
17
+
18
+ <pd-spa-helper></pd-spa-helper>
19
+ ```
20
+
21
+ ## Linting and formatting
22
+
23
+ To scan the project for linting and formatting errors, run
24
+
25
+ ```bash
26
+ npm run lint
27
+ ```
28
+
29
+ To automatically fix linting and formatting errors, run
30
+
31
+ ```bash
32
+ npm run format
33
+ ```
34
+
35
+ ## Testing with Web Test Runner
36
+
37
+ To execute a single test run:
38
+
39
+ ```bash
40
+ npm run test
41
+ ```
42
+
43
+ To run the tests in interactive watch mode run:
44
+
45
+ ```bash
46
+ npm run test:watch
47
+ ```
48
+
49
+ ## Demoing with Storybook
50
+
51
+ To run a local instance of Storybook for your component, run
52
+
53
+ ```bash
54
+ npm run storybook
55
+ ```
56
+
57
+ To build a production version of Storybook, run
58
+
59
+ ```bash
60
+ npm run storybook:build
61
+ ```
62
+
63
+
64
+ ## Tooling configs
65
+
66
+ For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.
67
+
68
+ If you customize the configuration a lot, you can consider moving them to individual files.
69
+
70
+ ## Local Demo with `web-dev-server`
71
+
72
+ ```bash
73
+ npm start
74
+ ```
75
+
76
+ To run a local development server that serves the basic demo located in `demo/index.html`
@@ -0,0 +1,29 @@
1
+ <!doctype html>
2
+ <html lang="en-GB">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <style>
6
+ body {
7
+ background: #fafafa;
8
+ }
9
+ </style>
10
+ </head>
11
+ <body>
12
+ <div id="demo"></div>
13
+
14
+ <script type="module">
15
+ import { html, render } from 'lit';
16
+ import '../dist/src/pd-spa-helper.js';
17
+
18
+ const title = 'Hello owc World!';
19
+ render(
20
+ html`
21
+ <pd-spa-helper .title=${title}>
22
+ some light-dom
23
+ </pd-spa-helper>
24
+ `,
25
+ document.querySelector('#demo')
26
+ );
27
+ </script>
28
+ </body>
29
+ </html>
@@ -0,0 +1,10 @@
1
+ import { LitElement } from 'lit';
2
+ declare const PdSpaHelper_base: import("lit-element-router").Constructor<import("lit-element-router").Router> & import("lit-element-router").Constructor<import("lit-element-router").Navigator> & typeof LitElement;
3
+ export declare class PdSpaHelper extends PdSpaHelper_base {
4
+ static styles: import("lit").CSSResult;
5
+ title: string;
6
+ counter: number;
7
+ __increment(): void;
8
+ render(): import("lit-html").TemplateResult<1>;
9
+ }
10
+ export {};
@@ -0,0 +1,34 @@
1
+ import { __decorate } from "tslib";
2
+ import { router, navigator } from 'lit-element-router';
3
+ import { html, css, LitElement } from 'lit';
4
+ import { property } from 'lit/decorators.js';
5
+ export class PdSpaHelper extends router(navigator(LitElement)) {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.title = 'Hey there';
9
+ this.counter = 5;
10
+ }
11
+ __increment() {
12
+ this.counter += 1;
13
+ }
14
+ render() {
15
+ return html `
16
+ <h2>${this.title} Nr. ${this.counter}!</h2>
17
+ <button @click=${this.__increment}>increment</button>
18
+ `;
19
+ }
20
+ }
21
+ PdSpaHelper.styles = css `
22
+ :host {
23
+ display: block;
24
+ padding: 25px;
25
+ color: var(--pd-spa-helper-text-color, #000);
26
+ }
27
+ `;
28
+ __decorate([
29
+ property({ type: String })
30
+ ], PdSpaHelper.prototype, "title", void 0);
31
+ __decorate([
32
+ property({ type: Number })
33
+ ], PdSpaHelper.prototype, "counter", void 0);
34
+ //# sourceMappingURL=PdSpaHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdSpaHelper.js","sourceRoot":"","sources":["../../src/PdSpaHelper.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAA9D;;QAU8B,UAAK,GAAG,WAAW,CAAC;QAEpB,YAAO,GAAG,CAAC,CAAC;IAY1C,CAAC;IAVC,WAAW;QACT,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;YACH,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,OAAO;uBACnB,IAAI,CAAC,WAAW;KAClC,CAAC;IACJ,CAAC;;AArBM,kBAAM,GAAG,GAAG,CAAA;;;;;;GAMlB,CAAC;AAE0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAqB;AAEpB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAa","sourcesContent":["import { initializeApp } from 'firebase/app';\nimport { getAuth, onAuthStateChanged } from 'firebase/auth';\n\nimport { router, navigator } from 'lit-element-router';\n\nimport { html, css, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nexport class PdSpaHelper extends router(navigator(LitElement)) {\n\n static styles = css`\n :host {\n display: block;\n padding: 25px;\n color: var(--pd-spa-helper-text-color, #000);\n }\n `;\n\n @property({ type: String }) title = 'Hey there';\n\n @property({ type: Number }) counter = 5;\n\n __increment() {\n this.counter += 1;\n }\n\n render() {\n return html`\n <h2>${this.title} Nr. ${this.counter}!</h2>\n <button @click=${this.__increment}>increment</button>\n `;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export { PdSpaHelper } from './PdSpaHelper.js';
@@ -0,0 +1,2 @@
1
+ export { PdSpaHelper } from './PdSpaHelper.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["export { PdSpaHelper } from './PdSpaHelper.js';\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { PdSpaHelper } from './PdSpaHelper.js';
2
+ window.customElements.define('pd-spa-helper', PdSpaHelper);
3
+ //# sourceMappingURL=pd-spa-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-spa-helper.js","sourceRoot":"","sources":["../../src/pd-spa-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC","sourcesContent":["import { PdSpaHelper } from './PdSpaHelper.js';\n\nwindow.customElements.define('pd-spa-helper', PdSpaHelper);\n"]}
@@ -0,0 +1,33 @@
1
+ import { TemplateResult } from 'lit';
2
+ import '../src/pd-spa-helper.js';
3
+ declare const _default: {
4
+ title: string;
5
+ component: string;
6
+ argTypes: {
7
+ title: {
8
+ control: string;
9
+ };
10
+ counter: {
11
+ control: string;
12
+ };
13
+ textColor: {
14
+ control: string;
15
+ };
16
+ };
17
+ };
18
+ export default _default;
19
+ interface Story<T> {
20
+ (args: T): TemplateResult;
21
+ args?: Partial<T>;
22
+ argTypes?: Record<string, unknown>;
23
+ }
24
+ interface ArgTypes {
25
+ title?: string;
26
+ counter?: number;
27
+ textColor?: string;
28
+ slot?: TemplateResult;
29
+ }
30
+ export declare const Regular: Story<ArgTypes>;
31
+ export declare const CustomTitle: Story<ArgTypes>;
32
+ export declare const CustomCounter: Story<ArgTypes>;
33
+ export declare const SlottedContent: Story<ArgTypes>;
@@ -0,0 +1,37 @@
1
+ import { html } from 'lit';
2
+ import '../src/pd-spa-helper.js';
3
+ export default {
4
+ title: 'PdSpaHelper',
5
+ component: 'pd-spa-helper',
6
+ argTypes: {
7
+ title: { control: 'text' },
8
+ counter: { control: 'number' },
9
+ textColor: { control: 'color' },
10
+ },
11
+ };
12
+ const Template = ({ title = 'Hello world', counter = 5, textColor, slot, }) => html `
13
+ <pd-spa-helper
14
+ style="--pd-spa-helper-text-color: ${textColor || 'black'}"
15
+ .title=${title}
16
+ .counter=${counter}
17
+ >
18
+ ${slot}
19
+ </pd-spa-helper>
20
+ `;
21
+ export const Regular = Template.bind({});
22
+ export const CustomTitle = Template.bind({});
23
+ CustomTitle.args = {
24
+ title: 'My title',
25
+ };
26
+ export const CustomCounter = Template.bind({});
27
+ CustomCounter.args = {
28
+ counter: 123456,
29
+ };
30
+ export const SlottedContent = Template.bind({});
31
+ SlottedContent.args = {
32
+ slot: html `<p>Slotted content</p>`,
33
+ };
34
+ SlottedContent.argTypes = {
35
+ slot: { table: { disable: true } },
36
+ };
37
+ //# sourceMappingURL=index.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../stories/index.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC3C,OAAO,yBAAyB,CAAC;AAEjC,eAAe;IACb,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1B,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;KAChC;CACF,CAAC;AAeF,MAAM,QAAQ,GAAoB,CAAC,EACjC,KAAK,GAAG,aAAa,EACrB,OAAO,GAAG,CAAC,EACX,SAAS,EACT,IAAI,GACK,EAAE,EAAE,CAAC,IAAI,CAAA;;yCAEqB,SAAS,IAAI,OAAO;aAChD,KAAK;eACH,OAAO;;MAEhB,IAAI;;CAET,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,WAAW,CAAC,IAAI,GAAG;IACjB,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,aAAa,CAAC,IAAI,GAAG;IACnB,OAAO,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,cAAc,CAAC,IAAI,GAAG;IACpB,IAAI,EAAE,IAAI,CAAA,wBAAwB;CACnC,CAAC;AACF,cAAc,CAAC,QAAQ,GAAG;IACxB,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;CACnC,CAAC","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport '../src/pd-spa-helper.js';\n\nexport default {\n title: 'PdSpaHelper',\n component: 'pd-spa-helper',\n argTypes: {\n title: { control: 'text' },\n counter: { control: 'number' },\n textColor: { control: 'color' },\n },\n};\n\ninterface Story<T> {\n (args: T): TemplateResult;\n args?: Partial<T>;\n argTypes?: Record<string, unknown>;\n}\n\ninterface ArgTypes {\n title?: string;\n counter?: number;\n textColor?: string;\n slot?: TemplateResult;\n}\n\nconst Template: Story<ArgTypes> = ({\n title = 'Hello world',\n counter = 5,\n textColor,\n slot,\n}: ArgTypes) => html`\n <pd-spa-helper\n style=\"--pd-spa-helper-text-color: ${textColor || 'black'}\"\n .title=${title}\n .counter=${counter}\n >\n ${slot}\n </pd-spa-helper>\n`;\n\nexport const Regular = Template.bind({});\n\nexport const CustomTitle = Template.bind({});\nCustomTitle.args = {\n title: 'My title',\n};\n\nexport const CustomCounter = Template.bind({});\nCustomCounter.args = {\n counter: 123456,\n};\n\nexport const SlottedContent = Template.bind({});\nSlottedContent.args = {\n slot: html`<p>Slotted content</p>`,\n};\nSlottedContent.argTypes = {\n slot: { table: { disable: true } },\n};\n"]}
@@ -0,0 +1 @@
1
+ import '../src/pd-spa-helper.js';
@@ -0,0 +1,24 @@
1
+ import { html } from 'lit';
2
+ import { fixture, expect } from '@open-wc/testing';
3
+ import '../src/pd-spa-helper.js';
4
+ describe('PdSpaHelper', () => {
5
+ it('has a default title "Hey there" and counter 5', async () => {
6
+ const el = await fixture(html `<pd-spa-helper></pd-spa-helper>`);
7
+ expect(el.title).to.equal('Hey there');
8
+ expect(el.counter).to.equal(5);
9
+ });
10
+ it('increases the counter on button click', async () => {
11
+ const el = await fixture(html `<pd-spa-helper></pd-spa-helper>`);
12
+ el.shadowRoot.querySelector('button').click();
13
+ expect(el.counter).to.equal(6);
14
+ });
15
+ it('can override the title via attribute', async () => {
16
+ const el = await fixture(html `<pd-spa-helper title="attribute title"></pd-spa-helper>`);
17
+ expect(el.title).to.equal('attribute title');
18
+ });
19
+ it('passes the a11y audit', async () => {
20
+ const el = await fixture(html `<pd-spa-helper></pd-spa-helper>`);
21
+ await expect(el).shadowDom.to.be.accessible();
22
+ });
23
+ });
24
+ //# sourceMappingURL=pd-spa-helper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-spa-helper.test.js","sourceRoot":"","sources":["../../test/pd-spa-helper.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,yBAAyB,CAAC;AAEjC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAc,IAAI,CAAA,iCAAiC,CAAC,CAAC;QAE7E,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAc,IAAI,CAAA,iCAAiC,CAAC,CAAC;QAC7E,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,QAAQ,CAAE,CAAC,KAAK,EAAE,CAAC;QAEhD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAc,IAAI,CAAA,yDAAyD,CAAC,CAAC;QAErG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAc,IAAI,CAAA,iCAAiC,CAAC,CAAC;QAE7E,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { html } from 'lit';\nimport { fixture, expect } from '@open-wc/testing';\nimport { PdSpaHelper } from '../src/PdSpaHelper.js';\nimport '../src/pd-spa-helper.js';\n\ndescribe('PdSpaHelper', () => {\n it('has a default title \"Hey there\" and counter 5', async () => {\n const el = await fixture<PdSpaHelper>(html`<pd-spa-helper></pd-spa-helper>`);\n\n expect(el.title).to.equal('Hey there');\n expect(el.counter).to.equal(5);\n });\n\n it('increases the counter on button click', async () => {\n const el = await fixture<PdSpaHelper>(html`<pd-spa-helper></pd-spa-helper>`);\n el.shadowRoot!.querySelector('button')!.click();\n\n expect(el.counter).to.equal(6);\n });\n\n it('can override the title via attribute', async () => {\n const el = await fixture<PdSpaHelper>(html`<pd-spa-helper title=\"attribute title\"></pd-spa-helper>`);\n\n expect(el.title).to.equal('attribute title');\n });\n\n it('passes the a11y audit', async () => {\n const el = await fixture<PdSpaHelper>(html`<pd-spa-helper></pd-spa-helper>`);\n\n await expect(el).shadowDom.to.be.accessible();\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../node_modules/@firebase/component/dist/src/provider.d.ts","../node_modules/@firebase/component/dist/src/component_container.d.ts","../node_modules/@firebase/component/dist/src/types.d.ts","../node_modules/@firebase/component/dist/src/component.d.ts","../node_modules/@firebase/component/dist/index.d.ts","../node_modules/@firebase/util/dist/util-public.d.ts","../node_modules/@firebase/logger/dist/src/logger.d.ts","../node_modules/@firebase/logger/dist/index.d.ts","../node_modules/@firebase/app/dist/app-public.d.ts","../node_modules/firebase/app/dist/app/index.d.ts","../node_modules/@firebase/auth/dist/auth-public.d.ts","../node_modules/firebase/auth/dist/auth/index.d.ts","../node_modules/lit-element-router/lit-element-router.d.ts","../node_modules/@lit/reactive-element/css-tag.d.ts","../node_modules/@lit/reactive-element/reactive-controller.d.ts","../node_modules/@lit/reactive-element/reactive-element.d.ts","../node_modules/@types/trusted-types/lib/index.d.ts","../node_modules/@types/trusted-types/index.d.ts","../node_modules/lit-html/directive.d.ts","../node_modules/lit-html/lit-html.d.ts","../node_modules/lit-element/lit-element.d.ts","../node_modules/lit/index.d.ts","../node_modules/@lit/reactive-element/decorators/base.d.ts","../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../node_modules/@lit/reactive-element/decorators/property.d.ts","../node_modules/@lit/reactive-element/decorators/state.d.ts","../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../node_modules/@lit/reactive-element/decorators/query.d.ts","../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../node_modules/lit/decorators.d.ts","../src/PdSpaHelper.ts","../src/index.ts","../src/pd-spa-helper.ts","../stories/index.stories.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@open-wc/semantic-dom-diff/get-diffable-html.d.ts","../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff-plugin.d.ts","../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff.d.ts","../node_modules/@open-wc/semantic-dom-diff/index.d.ts","../node_modules/chai-a11y-axe/chai-a11y-axe-plugin.d.ts","../node_modules/chai-a11y-axe/src/accessible.d.ts","../node_modules/chai-a11y-axe/index.d.ts","../node_modules/@types/chai-dom/index.d.ts","../node_modules/@types/sinonjs__fake-timers/index.d.ts","../node_modules/@types/sinon/index.d.ts","../node_modules/@types/sinon-chai/index.d.ts","../node_modules/@open-wc/testing/register-chai-plugins.d.ts","../node_modules/@open-wc/testing-helpers/types/src/elementUpdated.d.ts","../node_modules/lit-html/static.d.ts","../node_modules/@open-wc/testing-helpers/types/src/renderable.d.ts","../node_modules/@open-wc/dedupe-mixin/index.d.ts","../node_modules/@open-wc/scoped-elements/types/src/types.d.ts","../node_modules/@open-wc/scoped-elements/types/src/ScopedElementsMixin.d.ts","../node_modules/@open-wc/scoped-elements/types/index.d.ts","../node_modules/@open-wc/testing-helpers/types/src/fixture-no-side-effect.d.ts","../node_modules/@open-wc/testing-helpers/types/src/fixture.d.ts","../node_modules/@open-wc/testing-helpers/types/src/fixtureWrapper.d.ts","../node_modules/@open-wc/testing-helpers/types/src/helpers.d.ts","../node_modules/@open-wc/testing-helpers/types/src/scopedElementsWrapper.d.ts","../node_modules/@open-wc/testing-helpers/types/src/litFixture.d.ts","../node_modules/@open-wc/testing-helpers/types/src/stringFixture.d.ts","../node_modules/@open-wc/testing-helpers/types/index.d.ts","../node_modules/@open-wc/testing/index.d.ts","../test/pd-spa-helper.test.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/accepts/index.d.ts","../node_modules/@types/babel__code-frame/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/co-body/index.d.ts","../node_modules/@types/command-line-args/index.d.ts","../node_modules/@types/content-disposition/index.d.ts","../node_modules/@types/convert-source-map/index.d.ts","../node_modules/@types/keygrip/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/express/index.d.ts","../node_modules/@types/cookies/index.d.ts","../node_modules/@types/debounce/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/unist/index.d.ts","../node_modules/@types/hast/index.d.ts","../node_modules/@types/http-assert/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/koa-compose/index.d.ts","../node_modules/@types/koa/index.d.ts","../node_modules/@types/long/index.d.ts","../node_modules/@types/mdast/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/parse-json/index.d.ts","../node_modules/@types/parse5/index.d.ts","../node_modules/@types/prismjs/index.d.ts","../node_modules/@types/resolve/index.d.ts","../node_modules/@types/ws/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","e94b01c6c9221682a1ffd8577103408642c5433923420e517d8d8c695c4875c0","466a15bf7238ebd3900d136db38eec3af69d0761c0286ab59952870eedd6e319","9113ebe8d776516d3a302ec431d28915c9398a75beaef1eb38cd66ae0bfeb014","1f4df460bfe98e20fae494ade49e50c98ed1997143c7eae7a00a1cd93bfd4307","e179bf25417780781dc994f657e724419e6dcbe5a136dbfa55efefe36bdb4b63","ac1e78ba8333ded0f125f42cde2ee8827db4d7dc0909a9b78bfc160eb9592a33","a0abcb32b7a9291276879912c9a3205fbd1d6930ae4f29e91fe30227e2762893","b67fb584ca2449669c113e75866d339ee4e6bc74a441efd00c1beac460412584","6d8c3bdcab3ca5b4f28fc1268668e6e25ded64681bb5af046929e0133d6181b5","0f79f9784797e5358bbed18b363b220eaed94de7c1ed2f193465ac232fe48eb1","ca75c7b594399648b2dc30a0ec8ea330983e23514577350003a0d7a324d9e9dc","6187d97d074e4a66a0179ff2cdd845e1809b70ff5d7b857e0c686f52a86f62f7","43fe650d6596e6f9bff164927de8f99918481899814a45a026e3262ee5ae01a6","6e2c5a9358c2be6791713f778c3af2d3357b8665d881e22f50b3aa861a2a9717","1e5743b25a63fd34ffbae89adcbf248ee17db6ed08d90079ffa93803c3e80d2a","13bb750b495c48fd60d7b5e09f65d4a7b010ab7e09a8943a6d54511e7d184f84","2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},"3f30c6b57bf5eb7a7d4298506b78b18d428a39a409e1eadd93a3fdd0299d2687","8be48c7828a22d50f128f317cdd8ac25ef0ee54c877b8b5c464887234f619783","eba7cf33380cc3a3cf614faf67300e14d0bdff9ea6c5cd6f4b040b1756a48ab1","f07a77a7fb1d49aa2b61cb68bf712a083487acd7130d20223a83de03af0c257d","97c58f6db61d45712d91d2260994817ae2b568bbb37cc280013079b6b5d2232d","ac388c7c7a262213a3700451bc921e382a93fb27c0252c34ccf03540b4ce044b","1da789e534bc558808021dd64abf33a91a68e422bbf28aeec236bd74df640401","fb0107c83e2e0e75b77dacd0c3c6c3ab6844e98dce2a8f858c6f0a57c12136a6","0a478dcb6e6bd8a5d871165659c79cee7b8c3b7a87289118d22e1a04d171e252","e385eb01000d045ea07cea09c488f66e051709a9ac460bf271623f9984e0c419","bf69beba89702c85d84546269e0d4e8b128d32e26b314ee9b501b0b32c82490b","46f3a421b048670d16a3c02589261f17c1cea687f2602eed31e1335b53aed785","4bcb813ea56182beaaab1e8274524eb9f1449b0d8e79efc4a0399de09e43f816","c784eab1cf838d9d6527bce3d9f2d373145606666b68f7610291a7adf6e6bda9","f0380f581cb015778c0fe51e95b5b7f6dae237280654558469b2486c1572268a",{"version":"31a40959125847369b723409982d2eb6528df55e3c5ccf93c97b90d0ba5bb52f","signature":"9c535280acf91a0080a3171fd1db24d632bf7b5241bc3ce28c26a4b4abcc13a3"},"088a4e3fb4cd2b072d8219d66a62ceaedded4466261812af4c65cd7523b64998",{"version":"ae6bb487ed31b1b0c8618a1cc5f3b35d6c197531bc3126077dee2423350b3cc6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"58c0edc30265397d8ce49e461a77b0f6be7bb2118d884af688cf285c7d790f98","signature":"5a74da1f894803938406f5412137ad4ac2d50597bfb50cf5e9ea379b607c69bb"},{"version":"3a15910b7f45dfc393f010ee8f913580b08d65752800fc48147ea13445acd5f7","affectsGlobalScope":true},"8a659f7d82d932649a78f89643c5b436953424a219d705d49b8b3d9ccd6e35ff",{"version":"75cd6dce1c5f87511772c891de86d0c9e6829e6273dea9f92a5bec9d0479d1e7","affectsGlobalScope":true},{"version":"cd711db43a952f15464b571ac11b7a440332cd52342bc92c4bf908c70688f57f","affectsGlobalScope":true},"9d8709c916778cb34830708ed47b78e9a46d1fb2eb73a682b14eee990bed4aa6",{"version":"5d90911f942229eb9049feab241739a5ced76f137948f8f42a615e5f01d4e7ea","affectsGlobalScope":true},"999a90d30a3183dcee987d0a5a7c586aba5bacbf6ce087ba8635124082ccfeea","8a5878edd52f4a720560b4c6e6247e9ddc3df6118ad9cf2f9927903b03d5f440",{"version":"d95d76d79a0351572ec5b1a6cc1e5c4bce1be82eedeed7278d6f31ea1059fa69","affectsGlobalScope":true},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","24a09dc3e07d69b0a224dbd14b2994c40d1efd0954e759004b61b9e683dabe5f",{"version":"0fd3b5704bf037608646df5aa053fd06819ff69302ff6ada9736c300f79df852","affectsGlobalScope":true},"65b91a3725399231d3469529b5e27b85bf2aa98013e607f308e5fe260b47eeff","a11181f6d68200e83ccb1fb48b262a7132a3257e0a230f41c9dc4c351964297a","d1a97fb7715a7b0bdbdb78a99b367c6d98b27b0a0ddd5296838de2b4ce447b62","51bce1535d9cb87390d75581866d79de7b2e2cb525a89fba84411c8bb5be52d2","88cda4269c54f0803834fd62b2fac61af8bff7a085693f7ca9df85c1f19dee8a",{"version":"d40075d9f1c08b4a8d8e468076f5258900e99895e7259c40f3923b7044bbed6c","affectsGlobalScope":true},"754006450e5de2b7dac5993194326e3a65c1474673f7304c20810f5eda18ca05","fdf0aa1a72ff0188a9013926201a391116ef6701cd439b89850786abdf755fb8","0b5817d9435c019648f2a2326eaf1086efb72e8e90e28eb53a58b2f31f61e161","abf9ea97b78a7b239186cf5b7ed59c4a593abac3c408c8c95fc5e604cfdfdb43","ae91c9161caf0af81c89e780a045fc5ea8382407e516342e409c5db9161d3b32","4eff87f0e05e7b2e65299869122a30538be7196bd94bc76c88663a4cac2ad88f","5e02756608c1ac8ddf96878c3af3d4db7ed4e272aef24837e255859ee0a4fb71","4a662115c4c7186cc027ef4a8163e48c7f1c57f05247f08d5acb2344fae2ca53","d598157512ae6e0d3aa6bb0dd261ae34845831dccf7bc7739695ee2589eb76f5","c523db72c97b64fb4afe53e79cd7a2b062bacc36b1d0b29c9686f71c05d4409c","d2173e08898108c0aaa6dbfed27725b4a71f5817153800c86f03fa06456a2fc7",{"version":"f90039b870c2e95c4f9ad296fbd29a9538f266c92f9ec2dc6ada80edd5647f04","signature":"e2163846f7c36dfc18f943ae762f94e730f7763853e04d89d37ba3e20e4ca6e5"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","025fc13211ed47d2798269017af3ec869122a050d5431a6ad3c1997900e65c58","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true},"40b991dc3365179e1365643589e168d7ea0588b4dd5bbb3a974ffefa7cb05e7f","bf057bb805c5e1c0e795ac7c759d40ebbe0e9894df9be3413bbdd8d1a2fc229e","74f2bb83d1ccf390f48681be57a30c09e85b4c7a801267746e382b2386fc667e","7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","5d357e7965026197a3152fa4e990fa7a4cbaf1578a17dff920ff1a71a325e198","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","70caef0271088abc5f5ae7ff6d84421d35bb192b690fbaa1b2ecf2b0ef01deb6",{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","12a70315c8281e46d65696086dd25827408e967b305a22276ae2779fe519e0fe","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","29d613c3964ea75b2b4e0d17098245c34529282e9cc72b7e4eeb2a7b12c27cb7",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"82fc37849846a3a0264047621d5beb6ce2ddeb2f83bdee2c79523af3c3282d97","6738101ae8e56cd3879ab3f99630ada7d78097fc9fd334df7e766216778ca219","b95f751a58d283cb5e32f2655361f6e2a27f0368f69edc463a3472aae21d1303","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","495da6628b9474e31d0636d66c54448bb8d84dbce902e8f70539ef6a525a2d7b","629766229f541d92210f30a92b6038568ec165fab14b7ee53bdf13667da37ca3","204dbe6c72467fb14bbe8f06510b11fb541b6ce29580c6e10ebd3bdb2eb0c1f9","c1ea344dc311b2c539ed1e3b4e17e9f4853dc7f348366b51f1d8a09a40fb223f","ce013414484233b24f42c0fcfca48a60bb66ab4e13c82953662305e8f1ee4925","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c",{"version":"101eb8b4e972b9326f39591e2e40e967e3331e8d960f81248daeb266ea1affec","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","eb96a2321f717bccc3e49e104e299152984b927ea4546b559ae631c06565819c","68c559681a043ca6d622debcce75c4d82446fec08e06bf1066f71d6c325f224e","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0","e98185f4249720ace1921d59c1ff4612fa5c633a183fc9bf28e2e7b8e3c7fd51","6168414aa12d33d0fcfac4f9870aa81ce27e136db6faf182001a5f3792e1d720","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","5006668996956580886022c05108e32c742823e1b5652aff7914917233731518","0c52f5366c9146ad79b546e70162c659972a2798522806e8283f3137feab3965","0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63",{"version":"5f186a758a616c107c70e8918db4630d063bd782f22e6e0b17573b125765b40b","affectsGlobalScope":true},"2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","e8bedf3edd60120a3317c031dc8f3832a7ff6412bf5f87206ca0c17eb1431052","6484309596f594ae824513336bd2a2e04a1902b06bb149fa904f5cae5fbe5c50","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5},"fileIdsList":[[47,48,50,154],[48,51,154],[43,44,45,46,154],[45,154],[43,45,46,154],[44,45,46,154],[44,154],[49,154],[154],[58,154],[65,154],[58,65,154],[58,65,73,154],[56,57,154],[98,154],[58,96,97,154],[58,96,154],[80,81,154],[82,154],[81,83,154],[93,94,101,102,103,105,106,154],[95,99,154],[100,154],[96,154],[95,100,104,154],[64,154],[95,154],[80,92,107,154],[84,87,88,91,154],[128,154,161],[128,154,161,164],[80,154],[128,154,161,166],[128,154,161,164,171,176],[125,128,154,161,166,172],[154,165,166,173,175],[154,180],[154,184],[154,185],[154,190],[125,128,129,133,139,153,154,161,162,169,171,177,182,183,189],[110,154],[113,154],[114,119,154],[115,125,126,133,142,153,154],[115,116,125,133,154],[117,154],[118,119,126,134,154],[119,142,150,154],[120,122,125,133,154],[121,154],[122,123,154],[124,125,154],[125,154],[125,126,127,142,153,154],[125,126,127,142,145,154],[154,158],[128,133,142,153,154],[125,126,128,129,133,142,150,153,154],[128,130,142,150,153,154],[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160],[125,131,154],[132,153,154],[122,125,133,142,154],[134,154],[135,154],[113,136,154],[137,152,154,158],[138,154],[139,154],[125,140,154],[140,141,154,156],[125,142,143,144,145,154],[142,144,154],[142,143,154],[145,154],[146,154],[125,148,149,154],[148,149,154],[119,133,142,150,154],[151,154],[133,152,154],[114,128,139,153,154],[119,154],[142,154,155],[154,156],[154,157],[114,119,125,127,136,142,153,154,156,158],[142,154,159],[125,142,154,161],[154,161],[128,154,161,174],[80,90,154],[89,154],[59,154],[125,128,130,133,142,150,153,154,159,161],[86,154],[85,154],[51,154],[53,154],[58,62,154],[62,154],[60,61,154],[66,67,68,69,70,71,72,73,74,154],[58,62,63,154],[42,52,54,55,64,75,154],[42,76,154],[42,64,78,154],[42,64,76,78,108,154],[55,62,64],[64,78],[78]],"referencedMap":[[51,1],[53,2],[47,3],[46,4],[44,5],[43,6],[45,7],[50,8],[49,9],[48,9],[56,9],[65,10],[66,11],[69,12],[67,12],[71,12],[74,13],[73,9],[72,12],[70,12],[68,11],[57,9],[58,14],[96,9],[99,15],[98,16],[97,17],[82,18],[83,19],[81,9],[84,20],[107,21],[93,9],[100,22],[101,23],[102,9],[103,24],[105,25],[95,26],[104,27],[106,23],[108,28],[92,29],[162,30],[163,9],[165,31],[88,32],[80,9],[167,33],[168,9],[164,30],[169,9],[170,9],[177,34],[178,9],[179,9],[173,35],[176,36],[181,37],[182,9],[183,9],[184,9],[185,38],[186,39],[187,9],[188,9],[171,9],[189,40],[190,41],[191,9],[192,37],[174,9],[193,9],[110,42],[111,42],[113,43],[114,44],[115,45],[116,46],[117,47],[118,48],[119,49],[120,50],[121,51],[122,52],[123,52],[124,53],[125,54],[126,55],[127,56],[112,57],[160,9],[128,58],[129,59],[130,60],[161,61],[131,62],[132,63],[133,64],[134,65],[135,66],[136,67],[137,68],[138,69],[139,70],[140,71],[141,72],[142,73],[144,74],[143,75],[145,76],[146,77],[147,9],[148,78],[149,79],[150,80],[151,81],[152,82],[153,83],[154,84],[155,85],[156,86],[157,87],[158,88],[159,89],[194,9],[195,90],[196,9],[166,9],[172,9],[197,91],[175,92],[91,93],[90,94],[89,9],[60,95],[59,9],[180,9],[198,96],[199,90],[85,32],[87,97],[86,98],[52,99],[54,100],[55,9],[63,101],[61,102],[62,103],[94,102],[75,104],[64,105],[42,9],[8,9],[10,9],[9,9],[2,9],[11,9],[12,9],[13,9],[14,9],[15,9],[16,9],[17,9],[18,9],[3,9],[4,9],[22,9],[19,9],[20,9],[21,9],[23,9],[24,9],[25,9],[5,9],[26,9],[27,9],[28,9],[29,9],[6,9],[30,9],[31,9],[32,9],[33,9],[7,9],[34,9],[39,9],[40,9],[35,9],[36,9],[37,9],[38,9],[1,9],[41,9],[76,106],[77,107],[78,107],[79,108],[109,109]],"exportedModulesMap":[[51,1],[53,2],[47,3],[46,4],[44,5],[43,6],[45,7],[50,8],[49,9],[48,9],[56,9],[65,10],[66,11],[69,12],[67,12],[71,12],[74,13],[73,9],[72,12],[70,12],[68,11],[57,9],[58,14],[96,9],[99,15],[98,16],[97,17],[82,18],[83,19],[81,9],[84,20],[107,21],[93,9],[100,22],[101,23],[102,9],[103,24],[105,25],[95,26],[104,27],[106,23],[108,28],[92,29],[162,30],[163,9],[165,31],[88,32],[80,9],[167,33],[168,9],[164,30],[169,9],[170,9],[177,34],[178,9],[179,9],[173,35],[176,36],[181,37],[182,9],[183,9],[184,9],[185,38],[186,39],[187,9],[188,9],[171,9],[189,40],[190,41],[191,9],[192,37],[174,9],[193,9],[110,42],[111,42],[113,43],[114,44],[115,45],[116,46],[117,47],[118,48],[119,49],[120,50],[121,51],[122,52],[123,52],[124,53],[125,54],[126,55],[127,56],[112,57],[160,9],[128,58],[129,59],[130,60],[161,61],[131,62],[132,63],[133,64],[134,65],[135,66],[136,67],[137,68],[138,69],[139,70],[140,71],[141,72],[142,73],[144,74],[143,75],[145,76],[146,77],[147,9],[148,78],[149,79],[150,80],[151,81],[152,82],[153,83],[154,84],[155,85],[156,86],[157,87],[158,88],[159,89],[194,9],[195,90],[196,9],[166,9],[172,9],[197,91],[175,92],[91,93],[90,94],[89,9],[60,95],[59,9],[180,9],[198,96],[199,90],[85,32],[87,97],[86,98],[52,99],[54,100],[55,9],[63,101],[61,102],[62,103],[94,102],[75,104],[64,105],[42,9],[8,9],[10,9],[9,9],[2,9],[11,9],[12,9],[13,9],[14,9],[15,9],[16,9],[17,9],[18,9],[3,9],[4,9],[22,9],[19,9],[20,9],[21,9],[23,9],[24,9],[25,9],[5,9],[26,9],[27,9],[28,9],[29,9],[6,9],[30,9],[31,9],[32,9],[33,9],[7,9],[34,9],[39,9],[40,9],[35,9],[36,9],[37,9],[38,9],[1,9],[41,9],[76,110],[77,107],[79,111],[109,112]],"semanticDiagnosticsPerFile":[51,53,47,46,44,43,45,50,49,48,56,65,66,69,67,71,74,73,72,70,68,57,58,96,99,98,97,82,83,81,84,107,93,100,101,102,103,105,95,104,106,108,92,162,163,165,88,80,167,168,164,169,170,177,178,179,173,176,181,182,183,184,185,186,187,188,171,189,190,191,192,174,193,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,112,160,128,129,130,161,131,132,133,134,135,136,137,138,139,140,141,142,144,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,194,195,196,166,172,197,175,91,90,89,60,59,180,198,199,85,87,86,52,54,55,63,61,62,94,75,64,42,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,76,77,78,79,109]},"version":"4.7.4"}
package/package.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "@progressive-development/pd-spa-helper",
3
+ "description": "Webcomponent pd-spa-helper following open-wc recommendations",
4
+ "license": "MIT",
5
+ "author": "pd-spa-helper",
6
+ "version": "0.0.1",
7
+ "main": "dist/src/index.js",
8
+ "module": "dist/src/index.js",
9
+ "exports": {
10
+ ".": "./dist/src/index.js",
11
+ "./pd-spa-helper.js": "./dist/src/pd-spa-helper.js"
12
+ },
13
+ "scripts": {
14
+ "analyze": "cem analyze --litelement",
15
+ "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
16
+ "build": "tsc && npm run analyze -- --exclude dist",
17
+ "prepublish": "tsc && npm run analyze -- --exclude dist",
18
+ "lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
19
+ "format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
20
+ "test": "tsc && wtr --coverage",
21
+ "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
22
+ "storybook": "tsc && npm run analyze -- --exclude dist && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds -c .storybook/server.mjs\"",
23
+ "storybook:build": "tsc && npm run analyze -- --exclude dist && build-storybook"
24
+ },
25
+ "dependencies": {
26
+ "firebase": "^9.8.4",
27
+ "lit": "^2.0.2",
28
+ "lit-element-router": "^2.0.3"
29
+ },
30
+ "devDependencies": {
31
+ "@custom-elements-manifest/analyzer": "^0.4.17",
32
+ "@open-wc/eslint-config": "^4.3.0",
33
+ "@open-wc/testing": "next",
34
+ "@typescript-eslint/eslint-plugin": "^4.33.0",
35
+ "@typescript-eslint/parser": "^4.33.0",
36
+ "@web/dev-server": "^0.1.28",
37
+ "@web/dev-server-storybook": "next",
38
+ "@web/test-runner": "next",
39
+ "concurrently": "^5.3.0",
40
+ "eslint": "^7.32.0",
41
+ "eslint-config-prettier": "^8.3.0",
42
+ "husky": "^4.3.8",
43
+ "lint-staged": "^10.5.4",
44
+ "prettier": "^2.4.1",
45
+ "tslib": "^2.3.1",
46
+ "typescript": "^4.5.2"
47
+ },
48
+ "customElements": "custom-elements.json",
49
+ "eslintConfig": {
50
+ "parser": "@typescript-eslint/parser",
51
+ "extends": [
52
+ "@open-wc",
53
+ "prettier"
54
+ ],
55
+ "plugins": [
56
+ "@typescript-eslint"
57
+ ],
58
+ "rules": {
59
+ "no-unused-vars": "off",
60
+ "@typescript-eslint/no-unused-vars": [
61
+ "error"
62
+ ],
63
+ "import/no-unresolved": "off",
64
+ "import/extensions": [
65
+ "error",
66
+ "always",
67
+ {
68
+ "ignorePackages": true
69
+ }
70
+ ]
71
+ }
72
+ },
73
+ "prettier": {
74
+ "singleQuote": true,
75
+ "arrowParens": "avoid"
76
+ },
77
+ "husky": {
78
+ "hooks": {
79
+ "pre-commit": "lint-staged"
80
+ }
81
+ },
82
+ "lint-staged": {
83
+ "*.ts": [
84
+ "eslint --fix",
85
+ "prettier --write"
86
+ ]
87
+ }
88
+ }
@@ -0,0 +1,33 @@
1
+ import { initializeApp } from 'firebase/app';
2
+ import { getAuth, onAuthStateChanged } from 'firebase/auth';
3
+
4
+ import { router, navigator } from 'lit-element-router';
5
+
6
+ import { html, css, LitElement } from 'lit';
7
+ import { property } from 'lit/decorators.js';
8
+
9
+ export class PdSpaHelper extends router(navigator(LitElement)) {
10
+
11
+ static styles = css`
12
+ :host {
13
+ display: block;
14
+ padding: 25px;
15
+ color: var(--pd-spa-helper-text-color, #000);
16
+ }
17
+ `;
18
+
19
+ @property({ type: String }) title = 'Hey there';
20
+
21
+ @property({ type: Number }) counter = 5;
22
+
23
+ __increment() {
24
+ this.counter += 1;
25
+ }
26
+
27
+ render() {
28
+ return html`
29
+ <h2>${this.title} Nr. ${this.counter}!</h2>
30
+ <button @click=${this.__increment}>increment</button>
31
+ `;
32
+ }
33
+ }
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export { PdSpaHelper } from './PdSpaHelper.js';
@@ -0,0 +1,3 @@
1
+ import { PdSpaHelper } from './PdSpaHelper.js';
2
+
3
+ window.customElements.define('pd-spa-helper', PdSpaHelper);
@@ -0,0 +1,60 @@
1
+ import { html, TemplateResult } from 'lit';
2
+ import '../src/pd-spa-helper.js';
3
+
4
+ export default {
5
+ title: 'PdSpaHelper',
6
+ component: 'pd-spa-helper',
7
+ argTypes: {
8
+ title: { control: 'text' },
9
+ counter: { control: 'number' },
10
+ textColor: { control: 'color' },
11
+ },
12
+ };
13
+
14
+ interface Story<T> {
15
+ (args: T): TemplateResult;
16
+ args?: Partial<T>;
17
+ argTypes?: Record<string, unknown>;
18
+ }
19
+
20
+ interface ArgTypes {
21
+ title?: string;
22
+ counter?: number;
23
+ textColor?: string;
24
+ slot?: TemplateResult;
25
+ }
26
+
27
+ const Template: Story<ArgTypes> = ({
28
+ title = 'Hello world',
29
+ counter = 5,
30
+ textColor,
31
+ slot,
32
+ }: ArgTypes) => html`
33
+ <pd-spa-helper
34
+ style="--pd-spa-helper-text-color: ${textColor || 'black'}"
35
+ .title=${title}
36
+ .counter=${counter}
37
+ >
38
+ ${slot}
39
+ </pd-spa-helper>
40
+ `;
41
+
42
+ export const Regular = Template.bind({});
43
+
44
+ export const CustomTitle = Template.bind({});
45
+ CustomTitle.args = {
46
+ title: 'My title',
47
+ };
48
+
49
+ export const CustomCounter = Template.bind({});
50
+ CustomCounter.args = {
51
+ counter: 123456,
52
+ };
53
+
54
+ export const SlottedContent = Template.bind({});
55
+ SlottedContent.args = {
56
+ slot: html`<p>Slotted content</p>`,
57
+ };
58
+ SlottedContent.argTypes = {
59
+ slot: { table: { disable: true } },
60
+ };
@@ -0,0 +1,32 @@
1
+ import { html } from 'lit';
2
+ import { fixture, expect } from '@open-wc/testing';
3
+ import { PdSpaHelper } from '../src/PdSpaHelper.js';
4
+ import '../src/pd-spa-helper.js';
5
+
6
+ describe('PdSpaHelper', () => {
7
+ it('has a default title "Hey there" and counter 5', async () => {
8
+ const el = await fixture<PdSpaHelper>(html`<pd-spa-helper></pd-spa-helper>`);
9
+
10
+ expect(el.title).to.equal('Hey there');
11
+ expect(el.counter).to.equal(5);
12
+ });
13
+
14
+ it('increases the counter on button click', async () => {
15
+ const el = await fixture<PdSpaHelper>(html`<pd-spa-helper></pd-spa-helper>`);
16
+ el.shadowRoot!.querySelector('button')!.click();
17
+
18
+ expect(el.counter).to.equal(6);
19
+ });
20
+
21
+ it('can override the title via attribute', async () => {
22
+ const el = await fixture<PdSpaHelper>(html`<pd-spa-helper title="attribute title"></pd-spa-helper>`);
23
+
24
+ expect(el.title).to.equal('attribute title');
25
+ });
26
+
27
+ it('passes the a11y audit', async () => {
28
+ const el = await fixture<PdSpaHelper>(html`<pd-spa-helper></pd-spa-helper>`);
29
+
30
+ await expect(el).shadowDom.to.be.accessible();
31
+ });
32
+ });
package/tsconfig.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2018",
4
+ "module": "esnext",
5
+ "moduleResolution": "node",
6
+ "noEmitOnError": true,
7
+ "lib": ["es2017", "dom"],
8
+ "strict": true,
9
+ "esModuleInterop": false,
10
+ "allowSyntheticDefaultImports": true,
11
+ "experimentalDecorators": true,
12
+ "importHelpers": true,
13
+ "outDir": "dist",
14
+ "sourceMap": true,
15
+ "inlineSources": true,
16
+ "rootDir": "./",
17
+ "declaration": true,
18
+ "incremental": true
19
+ },
20
+ "include": ["**/*.ts"]
21
+ }
@@ -0,0 +1,27 @@
1
+ // import { hmrPlugin, presets } from '@open-wc/dev-server-hmr';
2
+
3
+ /** Use Hot Module replacement by adding --hmr to the start command */
4
+ const hmr = process.argv.includes('--hmr');
5
+
6
+ export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
7
+ open: '/demo/',
8
+ /** Use regular watch mode if HMR is not enabled. */
9
+ watch: !hmr,
10
+ /** Resolve bare module imports */
11
+ nodeResolve: {
12
+ exportConditions: ['browser', 'development'],
13
+ },
14
+
15
+ /** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
16
+ // esbuildTarget: 'auto'
17
+
18
+ /** Set appIndex to enable SPA routing */
19
+ // appIndex: 'demo/index.html',
20
+
21
+ plugins: [
22
+ /** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
23
+ // hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
24
+ ],
25
+
26
+ // See documentation for all available options
27
+ });
@@ -0,0 +1,41 @@
1
+ // import { playwrightLauncher } from '@web/test-runner-playwright';
2
+
3
+ const filteredLogs = ['Running in dev mode', 'lit-html is in dev mode'];
4
+
5
+ export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
6
+ /** Test files to run */
7
+ files: 'dist/test/**/*.test.js',
8
+
9
+ /** Resolve bare module imports */
10
+ nodeResolve: {
11
+ exportConditions: ['browser', 'development'],
12
+ },
13
+
14
+ /** Filter out lit dev mode logs */
15
+ filterBrowserLogs(log) {
16
+ for (const arg of log.args) {
17
+ if (typeof arg === 'string' && filteredLogs.some(l => arg.includes(l))) {
18
+ return false;
19
+ }
20
+ }
21
+ return true;
22
+ },
23
+
24
+ /** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
25
+ // esbuildTarget: 'auto',
26
+
27
+ /** Amount of browsers to run concurrently */
28
+ // concurrentBrowsers: 2,
29
+
30
+ /** Amount of test files per browser to test concurrently */
31
+ // concurrency: 1,
32
+
33
+ /** Browsers to run tests on */
34
+ // browsers: [
35
+ // playwrightLauncher({ product: 'chromium' }),
36
+ // playwrightLauncher({ product: 'firefox' }),
37
+ // playwrightLauncher({ product: 'webkit' }),
38
+ // ],
39
+
40
+ // See documentation for all available options
41
+ });