@digital-realty/ix-button 3.0.3
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/LICENSE +21 -0
- package/README.md +75 -0
- package/demo/index.html +28 -0
- package/dist/src/IxButton.d.ts +38 -0
- package/dist/src/IxButton.js +136 -0
- package/dist/src/IxButton.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/ix-button-styles.d.ts +1 -0
- package/dist/src/ix-button-styles.js +10 -0
- package/dist/src/ix-button-styles.js.map +1 -0
- package/dist/src/ix-button.d.ts +1 -0
- package/dist/src/ix-button.js +3 -0
- package/dist/src/ix-button.js.map +1 -0
- package/dist/test/ix-button.test.d.ts +1 -0
- package/dist/test/ix-button.test.js +124 -0
- package/dist/test/ix-button.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +95 -0
- package/src/IxButton.ts +116 -0
- package/src/index.ts +1 -0
- package/src/ix-button-styles.ts +10 -0
- package/src/ix-button.ts +3 -0
- package/test/ix-button.test.ts +126 -0
- package/tsconfig.json +21 -0
- package/web-dev-server.config.mjs +27 -0
- package/web-test-runner.config.mjs +41 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 ix-button
|
|
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,75 @@
|
|
|
1
|
+
# \<ix-button>
|
|
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 @digital-realty/ix-button
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<script type="module">
|
|
15
|
+
import '@digital-realty/ix-button/ix-button.js';
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<ix-button></ix-button>
|
|
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
|
+
## Tooling configs
|
|
64
|
+
|
|
65
|
+
For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.
|
|
66
|
+
|
|
67
|
+
If you customize the configuration a lot, you can consider moving them to individual files.
|
|
68
|
+
|
|
69
|
+
## Local Demo with `web-dev-server`
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm start
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
To run a local development server that serves the basic demo located in `demo/index.html`
|
package/demo/index.html
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
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/ix-button.js';
|
|
17
|
+
|
|
18
|
+
const text = 'HELLO, world!';
|
|
19
|
+
render(
|
|
20
|
+
html`
|
|
21
|
+
<ix-button .text=${text}>
|
|
22
|
+
</ix-button>
|
|
23
|
+
`,
|
|
24
|
+
document.querySelector('#demo')
|
|
25
|
+
);
|
|
26
|
+
</script>
|
|
27
|
+
</body>
|
|
28
|
+
</html>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import '@material/web/button/text-button.js';
|
|
3
|
+
import '@material/web/button/elevated-button.js';
|
|
4
|
+
import '@material/web/button/filled-button.js';
|
|
5
|
+
import '@material/web/button/outlined-button.js';
|
|
6
|
+
import '@material/web/button/filled-tonal-button.js';
|
|
7
|
+
export declare class IxButton extends LitElement {
|
|
8
|
+
static get styles(): never[];
|
|
9
|
+
/**
|
|
10
|
+
* Whether or not the button is disabled.
|
|
11
|
+
*/
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The URL that the link button points to.
|
|
15
|
+
*/
|
|
16
|
+
href: string;
|
|
17
|
+
/**
|
|
18
|
+
* Where to display the linked `href` URL for a link button. Common options
|
|
19
|
+
* include `_blank` to open in a new tab.
|
|
20
|
+
*/
|
|
21
|
+
target: '_blank' | '_parent' | '_self' | '_top' | '';
|
|
22
|
+
/**
|
|
23
|
+
* Whether to render the icon at the inline end of the label rather than the
|
|
24
|
+
* inline start.
|
|
25
|
+
*
|
|
26
|
+
* _Note:_ Link buttons cannot have trailing icons.
|
|
27
|
+
*/
|
|
28
|
+
trailingIcon: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Whether to display the icon or not.
|
|
31
|
+
*/
|
|
32
|
+
hasIcon: boolean;
|
|
33
|
+
text: string;
|
|
34
|
+
type: 'button' | 'submit' | 'reset';
|
|
35
|
+
appearance: 'elevated' | 'filled' | 'filled-tonal' | 'outlined' | 'text';
|
|
36
|
+
onClick: (event: MouseEvent) => void;
|
|
37
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, LitElement } from 'lit';
|
|
3
|
+
import { property } from 'lit/decorators.js';
|
|
4
|
+
import '@material/web/button/text-button.js';
|
|
5
|
+
import '@material/web/button/elevated-button.js';
|
|
6
|
+
import '@material/web/button/filled-button.js';
|
|
7
|
+
import '@material/web/button/outlined-button.js';
|
|
8
|
+
import '@material/web/button/filled-tonal-button.js';
|
|
9
|
+
export class IxButton extends LitElement {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
/**
|
|
13
|
+
* Whether or not the button is disabled.
|
|
14
|
+
*/
|
|
15
|
+
this.disabled = false;
|
|
16
|
+
/**
|
|
17
|
+
* The URL that the link button points to.
|
|
18
|
+
*/
|
|
19
|
+
this.href = '';
|
|
20
|
+
/**
|
|
21
|
+
* Where to display the linked `href` URL for a link button. Common options
|
|
22
|
+
* include `_blank` to open in a new tab.
|
|
23
|
+
*/
|
|
24
|
+
this.target = '';
|
|
25
|
+
/**
|
|
26
|
+
* Whether to render the icon at the inline end of the label rather than the
|
|
27
|
+
* inline start.
|
|
28
|
+
*
|
|
29
|
+
* _Note:_ Link buttons cannot have trailing icons.
|
|
30
|
+
*/
|
|
31
|
+
this.trailingIcon = false;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to display the icon or not.
|
|
34
|
+
*/
|
|
35
|
+
this.hasIcon = false;
|
|
36
|
+
this.text = 'Submit';
|
|
37
|
+
this.type = 'button';
|
|
38
|
+
this.appearance = 'filled';
|
|
39
|
+
this.onClick = () => { };
|
|
40
|
+
}
|
|
41
|
+
static get styles() {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
render() {
|
|
45
|
+
let comp;
|
|
46
|
+
if (this.appearance === 'elevated') {
|
|
47
|
+
comp = html `<md-elevated-button
|
|
48
|
+
@click=${this.onClick}
|
|
49
|
+
.disabled=${this.disabled}
|
|
50
|
+
.target=${this.target}
|
|
51
|
+
.href=${this.href}
|
|
52
|
+
.trailingIcon=${this.trailingIcon}
|
|
53
|
+
.hasIcon=${this.hasIcon}
|
|
54
|
+
.value="${this.text}"
|
|
55
|
+
>${this.text}</md-elevated-button
|
|
56
|
+
>`;
|
|
57
|
+
}
|
|
58
|
+
else if (this.appearance === 'filled') {
|
|
59
|
+
comp = html `<md-filled-button
|
|
60
|
+
@click=${this.onClick}
|
|
61
|
+
.disabled=${this.disabled}
|
|
62
|
+
.target=${this.target}
|
|
63
|
+
.href=${this.href}
|
|
64
|
+
.trailingIcon=${this.trailingIcon}
|
|
65
|
+
.hasIcon=${this.hasIcon}
|
|
66
|
+
.value="${this.text}"
|
|
67
|
+
>${this.text}</md-filled-button
|
|
68
|
+
>`;
|
|
69
|
+
}
|
|
70
|
+
else if (this.appearance === 'filled-tonal') {
|
|
71
|
+
comp = html `<md-filled-tonal-button
|
|
72
|
+
@click=${this.onClick}
|
|
73
|
+
.disabled=${this.disabled}
|
|
74
|
+
.target=${this.target}
|
|
75
|
+
.href=${this.href}
|
|
76
|
+
.trailingIcon=${this.trailingIcon}
|
|
77
|
+
.hasIcon=${this.hasIcon}
|
|
78
|
+
.value="${this.text}"
|
|
79
|
+
>${this.text}</md-filled-tonal-button
|
|
80
|
+
>`;
|
|
81
|
+
}
|
|
82
|
+
else if (this.appearance === 'outlined') {
|
|
83
|
+
comp = html `<md-outlined-button
|
|
84
|
+
@click=${this.onClick}
|
|
85
|
+
.disabled=${this.disabled}
|
|
86
|
+
.target=${this.target}
|
|
87
|
+
.href=${this.href}
|
|
88
|
+
.trailingIcon=${this.trailingIcon}
|
|
89
|
+
.hasIcon=${this.hasIcon}
|
|
90
|
+
.value="${this.text}"
|
|
91
|
+
>${this.text}</md-outlined-button
|
|
92
|
+
>`;
|
|
93
|
+
}
|
|
94
|
+
else if (this.appearance === 'text') {
|
|
95
|
+
comp = html `<md-text-button
|
|
96
|
+
@click=${this.onClick}
|
|
97
|
+
.disabled=${this.disabled}
|
|
98
|
+
.target=${this.target}
|
|
99
|
+
.href=${this.href}
|
|
100
|
+
.trailingIcon=${this.trailingIcon}
|
|
101
|
+
.hasIcon=${this.hasIcon}
|
|
102
|
+
.value="${this.text}"
|
|
103
|
+
>${this.text}</md-text-button
|
|
104
|
+
>`;
|
|
105
|
+
}
|
|
106
|
+
return html `${comp}`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
__decorate([
|
|
110
|
+
property({ type: Boolean, reflect: true })
|
|
111
|
+
], IxButton.prototype, "disabled", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
property()
|
|
114
|
+
], IxButton.prototype, "href", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
property()
|
|
117
|
+
], IxButton.prototype, "target", void 0);
|
|
118
|
+
__decorate([
|
|
119
|
+
property({ type: Boolean, attribute: 'trailing-icon' })
|
|
120
|
+
], IxButton.prototype, "trailingIcon", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
property({ type: Boolean, attribute: 'has-icon' })
|
|
123
|
+
], IxButton.prototype, "hasIcon", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
property()
|
|
126
|
+
], IxButton.prototype, "text", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
property()
|
|
129
|
+
], IxButton.prototype, "type", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
property()
|
|
132
|
+
], IxButton.prototype, "appearance", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
property()
|
|
135
|
+
], IxButton.prototype, "onClick", void 0);
|
|
136
|
+
//# sourceMappingURL=IxButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IxButton.js","sourceRoot":"","sources":["../../src/IxButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport '@material/web/button/text-button.js';\nimport '@material/web/button/elevated-button.js';\nimport '@material/web/button/filled-button.js';\nimport '@material/web/button/outlined-button.js';\nimport '@material/web/button/filled-tonal-button.js';\n\nexport class IxButton extends LitElement {\n static get styles() {\n return [];\n }\n\n /**\n * Whether or not the button is disabled.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * The URL that the link button points to.\n */\n @property() href = '';\n\n /**\n * Where to display the linked `href` URL for a link button. Common options\n * include `_blank` to open in a new tab.\n */\n @property() target: '_blank' | '_parent' | '_self' | '_top' | '' = '';\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({ type: Boolean, attribute: 'trailing-icon' }) trailingIcon = false;\n\n /**\n * Whether to display the icon or not.\n */\n @property({ type: Boolean, attribute: 'has-icon' }) hasIcon = false;\n\n @property()\n text: string = 'Submit';\n\n @property()\n type: 'button' | 'submit' | 'reset' = 'button';\n\n @property()\n appearance: 'elevated' | 'filled' | 'filled-tonal' | 'outlined' | 'text' =\n 'filled';\n\n @property()\n onClick: (event: MouseEvent) => void = () => {};\n\n render() {\n let comp;\n if (this.appearance === 'elevated') {\n comp = html`<md-elevated-button\n @click=${this.onClick}\n .disabled=${this.disabled}\n .target=${this.target}\n .href=${this.href}\n .trailingIcon=${this.trailingIcon}\n .hasIcon=${this.hasIcon}\n .value=\"${this.text}\"\n >${this.text}</md-elevated-button\n >`;\n } else if (this.appearance === 'filled') {\n comp = html`<md-filled-button\n @click=${this.onClick}\n .disabled=${this.disabled}\n .target=${this.target}\n .href=${this.href}\n .trailingIcon=${this.trailingIcon}\n .hasIcon=${this.hasIcon}\n .value=\"${this.text}\"\n >${this.text}</md-filled-button\n >`;\n } else if (this.appearance === 'filled-tonal') {\n comp = html`<md-filled-tonal-button\n @click=${this.onClick}\n .disabled=${this.disabled}\n .target=${this.target}\n .href=${this.href}\n .trailingIcon=${this.trailingIcon}\n .hasIcon=${this.hasIcon}\n .value=\"${this.text}\"\n >${this.text}</md-filled-tonal-button\n >`;\n } else if (this.appearance === 'outlined') {\n comp = html`<md-outlined-button\n @click=${this.onClick}\n .disabled=${this.disabled}\n .target=${this.target}\n .href=${this.href}\n .trailingIcon=${this.trailingIcon}\n .hasIcon=${this.hasIcon}\n .value=\"${this.text}\"\n >${this.text}</md-outlined-button\n >`;\n } else if (this.appearance === 'text') {\n comp = html`<md-text-button\n @click=${this.onClick}\n .disabled=${this.disabled}\n .target=${this.target}\n .href=${this.href}\n .trailingIcon=${this.trailingIcon}\n .hasIcon=${this.hasIcon}\n .value=\"${this.text}\"\n >${this.text}</md-text-button\n >`;\n }\n return html`${comp}`;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { IxButton } from './IxButton.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { IxButton } from './IxButton.js';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const IxButtonStyles: import("lit").CSSResult;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const IxButtonStyles = css `
|
|
3
|
+
:host {
|
|
4
|
+
font-family: var(--ix-button-font-family, 'Museo-300', Arial, sans-serif);
|
|
5
|
+
}
|
|
6
|
+
button {
|
|
7
|
+
font-family: var(--ix-button-font-family, 'Museo-300', Arial, sans-serif);
|
|
8
|
+
}
|
|
9
|
+
`;
|
|
10
|
+
//# sourceMappingURL=ix-button-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ix-button-styles.js","sourceRoot":"","sources":["../../src/ix-button-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;CAOhC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const IxButtonStyles = css`\n :host {\n font-family: var(--ix-button-font-family, 'Museo-300', Arial, sans-serif);\n }\n button {\n font-family: var(--ix-button-font-family, 'Museo-300', Arial, sans-serif);\n }\n`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ix-button.js","sourceRoot":"","sources":["../../src/ix-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC","sourcesContent":["import { IxButton } from './IxButton.js';\n\nwindow.customElements.define('ix-button', IxButton);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '../src/ix-button.js';
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { fixture, expect } from '@open-wc/testing';
|
|
3
|
+
import '../src/ix-button.js';
|
|
4
|
+
describe('IxButton', () => {
|
|
5
|
+
it('Should fire event when submit button is clicked', async () => {
|
|
6
|
+
let message = '';
|
|
7
|
+
const props = {
|
|
8
|
+
disabled: false,
|
|
9
|
+
text: 'Click me!',
|
|
10
|
+
type: 'submit',
|
|
11
|
+
appearance: 'elevated',
|
|
12
|
+
onClick: () => {
|
|
13
|
+
message = 'Hello world!';
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
const el = await fixture(html `
|
|
17
|
+
<ix-button
|
|
18
|
+
.text=${props.text}
|
|
19
|
+
@click=${props.onClick}
|
|
20
|
+
type="${props.type}"
|
|
21
|
+
?disabled=${props.disabled}
|
|
22
|
+
appearance="${props.appearance}"
|
|
23
|
+
></ix-button>
|
|
24
|
+
`);
|
|
25
|
+
el.click();
|
|
26
|
+
expect(message).to.equal('Hello world!');
|
|
27
|
+
});
|
|
28
|
+
it('should render elevated button when appearance is elevated', async () => {
|
|
29
|
+
var _a;
|
|
30
|
+
const props = {
|
|
31
|
+
disabled: false,
|
|
32
|
+
text: 'Click me!',
|
|
33
|
+
type: 'submit',
|
|
34
|
+
appearance: 'elevated',
|
|
35
|
+
};
|
|
36
|
+
const el = await fixture(html `
|
|
37
|
+
<ix-button
|
|
38
|
+
.text=${props.text}
|
|
39
|
+
type="${props.type}"
|
|
40
|
+
?disabled=${props.disabled}
|
|
41
|
+
appearance="${props.appearance}"
|
|
42
|
+
></ix-button>
|
|
43
|
+
`);
|
|
44
|
+
const button = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('md-elevated-button');
|
|
45
|
+
expect(button).to.be.not.null;
|
|
46
|
+
});
|
|
47
|
+
it('should render filled button when appearance is filled', async () => {
|
|
48
|
+
var _a;
|
|
49
|
+
const props = {
|
|
50
|
+
disabled: false,
|
|
51
|
+
text: 'Click me!',
|
|
52
|
+
type: 'submit',
|
|
53
|
+
appearance: 'filled',
|
|
54
|
+
};
|
|
55
|
+
const el = await fixture(html `
|
|
56
|
+
<ix-button
|
|
57
|
+
.text=${props.text}
|
|
58
|
+
type="${props.type}"
|
|
59
|
+
?disabled=${props.disabled}
|
|
60
|
+
appearance="${props.appearance}"
|
|
61
|
+
></ix-button>
|
|
62
|
+
`);
|
|
63
|
+
const button = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('md-filled-button');
|
|
64
|
+
expect(button).to.be.not.null;
|
|
65
|
+
});
|
|
66
|
+
it('should render filled-tonal button when appearance is filled-tonal', async () => {
|
|
67
|
+
var _a;
|
|
68
|
+
const props = {
|
|
69
|
+
disabled: false,
|
|
70
|
+
text: 'Click me!',
|
|
71
|
+
type: 'submit',
|
|
72
|
+
appearance: 'filled-tonal',
|
|
73
|
+
};
|
|
74
|
+
const el = await fixture(html `
|
|
75
|
+
<ix-button
|
|
76
|
+
.text=${props.text}
|
|
77
|
+
type="${props.type}"
|
|
78
|
+
?disabled=${props.disabled}
|
|
79
|
+
appearance="${props.appearance}"
|
|
80
|
+
></ix-button>
|
|
81
|
+
`);
|
|
82
|
+
const button = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('md-filled-tonal-button');
|
|
83
|
+
expect(button).to.be.not.null;
|
|
84
|
+
});
|
|
85
|
+
it('should render outlined button when appearance is outlined', async () => {
|
|
86
|
+
var _a;
|
|
87
|
+
const props = {
|
|
88
|
+
disabled: false,
|
|
89
|
+
text: 'Click me!',
|
|
90
|
+
type: 'submit',
|
|
91
|
+
appearance: 'outlined',
|
|
92
|
+
};
|
|
93
|
+
const el = await fixture(html `
|
|
94
|
+
<ix-button
|
|
95
|
+
.text=${props.text}
|
|
96
|
+
type="${props.type}"
|
|
97
|
+
?disabled=${props.disabled}
|
|
98
|
+
appearance="${props.appearance}"
|
|
99
|
+
></ix-button>
|
|
100
|
+
`);
|
|
101
|
+
const button = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('md-outlined-button');
|
|
102
|
+
expect(button).to.be.not.null;
|
|
103
|
+
});
|
|
104
|
+
it('should render text button when appearance is text', async () => {
|
|
105
|
+
var _a;
|
|
106
|
+
const props = {
|
|
107
|
+
disabled: false,
|
|
108
|
+
text: 'Click me!',
|
|
109
|
+
type: 'submit',
|
|
110
|
+
appearance: 'text',
|
|
111
|
+
};
|
|
112
|
+
const el = await fixture(html `
|
|
113
|
+
<ix-button
|
|
114
|
+
.text=${props.text}
|
|
115
|
+
type="${props.type}"
|
|
116
|
+
?disabled=${props.disabled}
|
|
117
|
+
appearance="${props.appearance}"
|
|
118
|
+
></ix-button>
|
|
119
|
+
`);
|
|
120
|
+
const button = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('md-text-button');
|
|
121
|
+
expect(button).to.be.not.null;
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=ix-button.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ix-button.test.js","sourceRoot":"","sources":["../../test/ix-button.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { fixture, expect } from '@open-wc/testing';\nimport { IxButton } from '../src/IxButton.js';\nimport '../src/ix-button.js';\n\ndescribe('IxButton', () => {\n it('Should fire event when submit button is clicked', async () => {\n let message = '';\n const props = {\n disabled: false,\n text: 'Click me!',\n type: 'submit',\n appearance: 'elevated',\n onClick: () => {\n message = 'Hello world!';\n },\n };\n const el = await fixture<IxButton>(html`\n <ix-button\n .text=${props.text}\n @click=${props.onClick}\n type=\"${props.type}\"\n ?disabled=${props.disabled}\n appearance=\"${props.appearance}\"\n ></ix-button>\n `);\n\n el.click();\n expect(message).to.equal('Hello world!');\n });\n it('should render elevated button when appearance is elevated', async () => {\n const props = {\n disabled: false,\n text: 'Click me!',\n type: 'submit',\n appearance: 'elevated',\n };\n const el = await fixture<IxButton>(html`\n <ix-button\n .text=${props.text}\n type=\"${props.type}\"\n ?disabled=${props.disabled}\n appearance=\"${props.appearance}\"\n ></ix-button>\n `);\n\n const button = el.shadowRoot?.querySelector('md-elevated-button');\n expect(button).to.be.not.null;\n });\n it('should render filled button when appearance is filled', async () => {\n const props = {\n disabled: false,\n text: 'Click me!',\n type: 'submit',\n appearance: 'filled',\n };\n const el = await fixture<IxButton>(html`\n <ix-button\n .text=${props.text}\n type=\"${props.type}\"\n ?disabled=${props.disabled}\n appearance=\"${props.appearance}\"\n ></ix-button>\n `);\n\n const button = el.shadowRoot?.querySelector('md-filled-button');\n expect(button).to.be.not.null;\n });\n it('should render filled-tonal button when appearance is filled-tonal', async () => {\n const props = {\n disabled: false,\n text: 'Click me!',\n type: 'submit',\n appearance: 'filled-tonal',\n };\n const el = await fixture<IxButton>(html`\n <ix-button\n .text=${props.text}\n type=\"${props.type}\"\n ?disabled=${props.disabled}\n appearance=\"${props.appearance}\"\n ></ix-button>\n `);\n\n const button = el.shadowRoot?.querySelector('md-filled-tonal-button');\n expect(button).to.be.not.null;\n });\n it('should render outlined button when appearance is outlined', async () => {\n const props = {\n disabled: false,\n text: 'Click me!',\n type: 'submit',\n appearance: 'outlined',\n };\n const el = await fixture<IxButton>(html`\n <ix-button\n .text=${props.text}\n type=\"${props.type}\"\n ?disabled=${props.disabled}\n appearance=\"${props.appearance}\"\n ></ix-button>\n `);\n\n const button = el.shadowRoot?.querySelector('md-outlined-button');\n expect(button).to.be.not.null;\n });\n it('should render text button when appearance is text', async () => {\n const props = {\n disabled: false,\n text: 'Click me!',\n type: 'submit',\n appearance: 'text',\n };\n const el = await fixture<IxButton>(html`\n <ix-button\n .text=${props.text}\n type=\"${props.type}\"\n ?disabled=${props.disabled}\n appearance=\"${props.appearance}\"\n ></ix-button>\n `);\n\n const button = el.shadowRoot?.querySelector('md-text-button');\n expect(button).to.be.not.null;\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.es2019.intl.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/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.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/node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.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","../../../node_modules/@material/web/internal/controller/attachable-controller.d.ts","../../../node_modules/@material/web/focus/internal/focus-ring.d.ts","../../../node_modules/@material/web/focus/md-focus-ring.d.ts","../../../node_modules/@material/web/ripple/internal/ripple.d.ts","../../../node_modules/@material/web/ripple/ripple.d.ts","../../../node_modules/@material/web/internal/controller/element-internals.d.ts","../../../node_modules/@material/web/internal/controller/form-submitter.d.ts","../../../node_modules/@material/web/button/internal/button.d.ts","../../../node_modules/@material/web/button/internal/text-button.d.ts","../../../node_modules/@material/web/button/text-button.d.ts","../../../node_modules/@material/web/elevation/internal/elevation.d.ts","../../../node_modules/@material/web/elevation/elevation.d.ts","../../../node_modules/@material/web/button/internal/elevated-button.d.ts","../../../node_modules/@material/web/button/elevated-button.d.ts","../../../node_modules/@material/web/button/internal/filled-button.d.ts","../../../node_modules/@material/web/button/filled-button.d.ts","../../../node_modules/@material/web/button/internal/outlined-button.d.ts","../../../node_modules/@material/web/button/outlined-button.d.ts","../../../node_modules/@material/web/button/internal/filled-tonal-button.d.ts","../../../node_modules/@material/web/button/filled-tonal-button.d.ts","../src/ixbutton.ts","../src/index.ts","../src/ix-button-styles.ts","../src/ix-button.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/ix-button.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/dom-events.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/readline/promises.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/source-map/source-map.d.ts","../../../node_modules/@types/clean-css/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/mime/index.d.ts","../../../node_modules/@types/send/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/http-errors/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/uglify-js/index.d.ts","../../../node_modules/@types/relateurl/index.d.ts","../../../node_modules/@types/html-minifier/index.d.ts","../../../node_modules/@types/http-assert/index.d.ts","../../../node_modules/@types/intl-tel-input/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/jquery/jquerystatic.d.ts","../../../node_modules/@types/jquery/jquery.d.ts","../../../node_modules/@types/jquery/misc.d.ts","../../../node_modules/@types/jquery/legacy.d.ts","../../../node_modules/@types/sizzle/index.d.ts","../../../node_modules/@types/jquery/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/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/parse5/lib/tree-adapters/default.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/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","e59262ddaae67dec2d226f8a5d05cf6c4dc353c0d9b1e4980a61d7fcf9a2b051","5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","470b8c2386c916bad4aa0d05e89b271a47dbe1250cb25dc0f93102b457228dde","2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"3c150a2e1758724811db3bdc5c773421819343b1627714e09f29b1f40a5dfb26","affectsGlobalScope":true},"7000ec8572390d035ba5ef993953957150d0c38ffb31b56653c97dd78cb6e1aa","056892cca68dca10a914f1580ba0e5710d26794e8707225dca9b5717ed702f1e","4ddf3962990379d1ea59b369a5516c7533b7944010d6998e0e9b1ab35d5af1f0","1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","2a8f0a19a927e83421597c056c90695557142f54ca96358f01eb1f2a5eb228be","d08415b3d6d7fd153ba6e7bf7707ffc57f3c6ad85730ea63544756610b4350c6","411f23da7a63c3d3fd4860c41a458e8df239776fd5d9cd36dd3ad6be92afccbd","6ada3e065916c0ef2dbc9bc0f9b5d59afb25d9176f81fa2c8993a536924140c6","356cc1b058e05e07d2acd73bfa87f83a6f4a343450ee375dad232ff4a55d41d8","df286e6b181ed08766bc19cf1a2fddc50bc5d540f233bc1ce4430a3c1c8c8379","f436800c0af503703110c93144fcc7392524636fb4216296411243b29fe0162d","0d5002560b45ce4fd6c4124632f61789e584be0634602486a2ce59541311d153","bbe13c947d7d6c3426e0e5815e2b3464fa03d34a4bf47298c43b9237cf59555b","9f7d0ee33b9f8fa4dc2e9628e0cdf8683104d01de9d3d24f62cd5da014a5bec4","a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","a77a6868abae3235c668c1a0a65d40bbb99a3b0c741791f1831f7607341ff7cd","6d6c363af3f054e0669460c422f1bf08dce0075ef5321a56d23f9090bdc2c902",{"version":"17fef45daf4268739c248d3fd4904112e247beaa33ec18214cf0830cbebae306","affectsGlobalScope":true},"e267ef061e8586da512ef8eeb09d06686612d4c004c86dbbc75c3e9423afd7dc",{"version":"726740c77a2cfbf8ddf85c52584bb359be7effbbcb8da1eb74132c9fda946c29","affectsGlobalScope":true},"8736c27cdcd3585148931d1684aa33a611dc00e789e08c3a17f5c2994985c9f0","7a64f400283279e45a541e9339cc8c15ac924f8e55c6fe2563aa7aa72b99332c","ec65b86fceba5c73b295e7f13302c42b183b4bd2e267fd12800f4963010180ee","0f28503979e769f6ee6e55350f621dc00e300f15688d52b02edc62d837d29b1d",{"version":"8973f59fcbe2a53314d8ef5a692693142be85b8a4b454d676395d6d1354215e5","affectsGlobalScope":true},"4af14419afc4a17f1b348db19e4bd2b65bc4a930abd6139ea8f43cd6538d176d",{"version":"e2cd30c507d2cef0fa1675b90a46a726aa56078be47d0ae79cfdefaae5abef43","affectsGlobalScope":true},"614e0cbf4a0cf857bbb770ba562a67446d69131bd450c6e32c6ab9bb3a15bec4",{"version":"5d685f03674946016263048ee6b9c21e2cee7ce9c5610df3f33498f273f4e9fe","affectsGlobalScope":true},"58b7b1e7fb26cdf192c0f2d328efdb52db1099542eb7530a08d022a6e7562088",{"version":"a66b042cf41a6bf6b032350465188121d826f2f0c1fe5e7a35a63a509ebe5220","affectsGlobalScope":true},"92ecb50ec31c5d5804a7d701dd2ec138c9e9dd30d2383c2bade52cfdaee9e100",{"version":"e4ead30d4a9a31568263f3b1c5684d3cd5ae447a55b43cab3928eaea33f1282a","affectsGlobalScope":true},"f62447a24f44165bcdaf31e71321004853eba4a718408200fb7a033f81cc3a21",{"version":"4c90df944afb173a031cda4533c7b2fd36df65b6e184c89f69791ce325b9abfa","affectsGlobalScope":true},{"version":"1ab8598f6a2dd3caba96bd6d27c98a79f1c0755a711466bac9d538fe893e3776","signature":"95ad3d90455bd2a6453f992bab95cfa37949d364c58f03cdf8dd48f3454c16fd"},"0dc5fc82b4442551434decb8769d7f8ee0e86c3ac45a85963e3716eeb553795b",{"version":"eecfee044863453c40febd5c7e17aa1be2bb1c5ca5559d1a39516f808c310a38","signature":"d23ebf3d49f967034986717934e4172e915cc0e6e2a514d53cb3f8b015230392"},{"version":"55aceb3dc948c7c4f4159920a97def0f6ebbc6420a22362eb2f24197c0df15ca","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},"72bee526b949b9932edba50997ff3b9cdede7b314d790d5f0d94f3d2944930ea",{"version":"2d412861573a672bd90fdcb1e48740593324565f3b3aaf6808c0e3e2f0d54ae8","affectsGlobalScope":true},{"version":"cd711db43a952f15464b571ac11b7a440332cd52342bc92c4bf908c70688f57f","affectsGlobalScope":true},"9d8709c916778cb34830708ed47b78e9a46d1fb2eb73a682b14eee990bed4aa6",{"version":"507e2131e89b515ce40c05c0c2fef6cc575ba8947703f92e8cdf36078747a9ff","affectsGlobalScope":true},"999a90d30a3183dcee987d0a5a7c586aba5bacbf6ce087ba8635124082ccfeea","8a5878edd52f4a720560b4c6e6247e9ddc3df6118ad9cf2f9927903b03d5f440",{"version":"4cdd1b520504f86d680470dc91baa79d625fa20e1f9dc1f99eba242eae9fada4","affectsGlobalScope":true},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","5445b5383991fff958fe3a7b0a9c1b9c672a613bc30fda97aee6eddb4053c0d3",{"version":"4f0ad52a7fbd6bfba88ec22ec719b6956a0fc647030462f9db490e74236d116f","affectsGlobalScope":true},"65b91a3725399231d3469529b5e27b85bf2aa98013e607f308e5fe260b47eeff","04e3793f33c71ceae20a4719698c068b72c98cf925b3c5f8a33096c00ed44258","bbc354c6a2740b087f1139e88e90309de480c5390362e2f0d32a145d8d7cf539","605e0f5adf8993110c06c775e2a59b7774d1e7a99fc9657140380bab005063bc","88cda4269c54f0803834fd62b2fac61af8bff7a085693f7ca9df85c1f19dee8a",{"version":"d40075d9f1c08b4a8d8e468076f5258900e99895e7259c40f3923b7044bbed6c","affectsGlobalScope":true},"47a20e497d83cd84ad0aa5363200003f08f850fa819339044e03399941eef063","ade0d37a4c1d1abede2abf2591b7cc6347892ea53d4a39bf44a25fb6f707822f","eefa12914a21dafe4352e79866599498b73b3bd232d19854932f58ef36303fb0","d7840fd94e6dfb5b0d9df5a20fe1e79c8dd72b1efdb74d2ef04c31e3588c6b5b","fa6d684e15fe6e99c7208a51b45c04f8e0147f1c8587871aac48fff55b7b1f24","26a3d4bf5351a0034f4203d42946ef5308b22919ba2f26a3ecb976a17c714d83","735eca4958f164c1121f08f9de89352e6f75a56c1533ceefeae075c085799618","d5b69429138b2fb26076427c630064a71c12959263ec3d92cbec54baf89354e1","793fca6322a14fa8fa6bc6a4fc694fd7bcc88922c4f9abcd48bf6908f8bf939b","0b2b7cb8164fcc6f4a71c1bf47c2cd4828c867f0ec19d178bb20954348de9a30","50f63746fc2a779d1f9c5657fd78e292045dc98b540e026799e039ea629f2943",{"version":"aad460a05d382aa45dbfb7977483637e14f680f531726cd12d0069a96dce7047","signature":"f1d92bbe90fbc41ef11716f52d454edfd989e196f268b72b7077c949b774b360"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"d32f90e6cf32e99c86009b5f79fa50bc750fe54e17137d9bb029c377a2822ee2","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"3dd49afd822c82b63b3905a13e22240f34cf367aea4f4dd0e6564f4bddcb8370","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","93db4c949a785a3dbef7f5e08523be538e468c580dd276178b818e761b3b68cd","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"6e335a70826a634c5a1a1fa36a2dacbf3712ef2be7a517540ae1de8a1e8ea4f6","affectsGlobalScope":true},"8ff1b82376564edb18f2dec6ff7810af65f5108979f8f6deccc7d24f2e2a8dd7","df8529626079d6f9d5d3cd7b6fb7db9cda5a3118d383d8cd46c52aadb59593e7","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","3122a3f1136508a27a229e0e4e2848299028300ffa11d0cdfe99df90c492fe20","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"8c30d54a10914cecc89f0ae444e8a3786a39f1ab33640274f85232127aa3e49e","affectsGlobalScope":true},"fe6dba0e8c69f2b244e3da38e53dd2cc9e51b2543e647e805396af73006613f7","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"5810080a0da989a944d3b691b7b479a4a13c75947fb538abb8070710baa5ccee","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","8bbe7e6c5844e38754c041b52e3d90f7bbd5a0d60739daf30805c92e4f0c65c6","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"99822adc2defda34dc1b28b727577ec7c098d878d713157dbe90d212c6bf5e58","affectsGlobalScope":true},{"version":"8a985c7d30aea82342d5017730b546bb2b734fe37a2684ca55d4734deb019d58","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"4d06f3abc2a6aae86f1be39e397372f74fb6e7964f594d645926b4a3419cc15d","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"4905d61a3e1e9b12e12dbf8660fc8d2f085734da6da8d725f395bf41a04853d6","6738101ae8e56cd3879ab3f99630ada7d78097fc9fd334df7e766216778ca219","b95f751a58d283cb5e32f2655361f6e2a27f0368f69edc463a3472aae21d1303","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","2d1323c55cb7a4f2cf73f03797b26645a7657dd0217beb41b0079b0490ec3370","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","495da6628b9474e31d0636d66c54448bb8d84dbce902e8f70539ef6a525a2d7b","629766229f541d92210f30a92b6038568ec165fab14b7ee53bdf13667da37ca3","204dbe6c72467fb14bbe8f06510b11fb541b6ce29580c6e10ebd3bdb2eb0c1f9","13d94ac3ee5780f99988ae4cce0efd139598ca159553bc0100811eba74fc2351","ce013414484233b24f42c0fcfca48a60bb66ab4e13c82953662305e8f1ee4925","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","aad5ffa61406b8e19524738fcf0e6fda8b3485bba98626268fdf252d1b2b630a","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c",{"version":"352fc8497a30bc806d7defa0043d85802e5f35a7688731ee9a21456f5cb32a94","affectsGlobalScope":true},"f463d61cf39c3a6a5f96cdf7adfdb72a0b1d663f7b5d5b6dd042adba835430c2","f7a9cb83c8fbc081a8b605880d191e0d0527cde2c1b2b2b623beca8f0203a2cd","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","eb96a2321f717bccc3e49e104e299152984b927ea4546b559ae631c06565819c","68c559681a043ca6d622debcce75c4d82446fec08e06bf1066f71d6c325f224e","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0","9dcd1a6ae84def6ce3e80b27a367912e5b8e9f15c039143820ab76f7ceb8f3ab","0def05b4e59413659e7f1cad8b0e32858d7d272a4701457e7fea95618f6ef7db","3f6bff86e78e065dad71ca8e395824703f56977f7309139127e58718d7915410","e98185f4249720ace1921d59c1ff4612fa5c633a183fc9bf28e2e7b8e3c7fd51",{"version":"5307adc4b2b1298a0f3b661d93e6fbf558d3a65e62a62c006271f2e87cb2e628","affectsGlobalScope":true},"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0",{"version":"f1ccbbd822e6e6b82cd12c8e737b9785b16354b257d011c8bb36b922abd5358f","affectsGlobalScope":true},{"version":"e78254e27cd0f5473fb1a68da88c16de429cbd1ea6e80fef0923073ca9fdf817","affectsGlobalScope":true},{"version":"28c375e6685170af8542ed1523a31fb5972be45854800ddc26efdd1bed4ed1c8","affectsGlobalScope":true},{"version":"6f1f78e8c2a5c7cd2c38aa9cc5da26d9c039f2bbfa753f2a0a54ce41c4dff8d0","affectsGlobalScope":true},"ec89427601297d439c961528832a75017d9356bec2ee42c1d16f2274590d9330","2b1af4170f6dfa90f43d2fe3d6c36f95b7fa121aa434a2acefb763d7be460a53","dca41e86e89dfb2e85e6935260250f02eb6683b86c2fa16bec729ddd1bcd9b4b","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","5006668996956580886022c05108e32c742823e1b5652aff7914917233731518","d8ff10c7c1f825a87b2b2a1cef499c7079d2d1b880323ce9edbb81282aceee8d","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","19c816167e076e7c24f074389c6cf3ed87bdbb917d1ea439ca281f9d26db2439","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","30abc554c7ad13063a02ddd06757929b34357aea1f6fcf4ca39114cb0fc19384","5774751340e987a6a9e4a5dcc03ff68a6515adc2b91423e1af2f660fc8f30e81","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"5f186a758a616c107c70e8918db4630d063bd782f22e6e0b17573b125765b40b","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","6484309596f594ae824513336bd2a2e04a1902b06bb149fa904f5cae5fbe5c50","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[[87,90],120],"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":[[167],[48,167],[56,167],[48,56,167],[48,56,64,167],[46,47,167],[55,79,167],[55,81,167],[55,85,167],[52,55,69,71,72,73,167],[52,74,78,167],[52,74,167],[74,167],[55,83,167],[55,75,167],[55,77,167],[52,55,167],[55,67,167],[55,68,167],[55,167],[55,72,167],[52,55,67,167],[55,70,167],[109,167],[48,107,108,167],[48,107,167],[91,92,167],[93,167],[92,94,167],[104,105,112,113,114,116,117,167],[106,110,167],[111,167],[107,167],[106,111,115,167],[106,167],[91,103,118,167],[95,98,99,102,167],[140,167,174],[140,167,174,177],[91,167],[140,142,167,174,179],[140,167,174,181],[140,167,174,177,186,193],[137,140,167,174,181,188,189],[167,178,181,190,192],[167,197],[167,180,199,200],[167,204],[167,205],[167,207,208,209,210,211],[167,216],[137,140,141,145,151,166,167,174,175,184,186,191,194,202,215],[167,217,219,220,221,222,223,224,225,226,227,228,229],[167,217,218,220,221,222,223,224,225,226,227,228,229],[167,218,219,220,221,222,223,224,225,226,227,228,229],[167,217,218,219,221,222,223,224,225,226,227,228,229],[167,217,218,219,220,222,223,224,225,226,227,228,229],[167,217,218,219,220,221,223,224,225,226,227,228,229],[167,217,218,219,220,221,222,224,225,226,227,228,229],[167,217,218,219,220,221,222,223,225,226,227,228,229],[167,217,218,219,220,221,222,223,224,226,227,228,229],[167,217,218,219,220,221,222,223,224,225,227,228,229],[167,217,218,219,220,221,222,223,224,225,226,228,229],[167,217,218,219,220,221,222,223,224,225,226,227,229],[167,217,218,219,220,221,222,223,224,225,226,227,228],[121,167],[124,167],[125,130,158,167],[126,137,138,145,155,166,167],[126,127,137,145,167],[128,167],[129,130,138,146,167],[130,155,163,167],[131,133,137,145,167],[132,167],[133,134,167],[137,167],[135,137,167],[137,138,139,155,166,167],[137,138,139,152,155,158,167],[167,171],[133,137,140,145,155,166,167],[137,138,140,141,145,155,163,166,167],[140,142,155,163,166,167],[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,161,162,163,164,165,166,167,168,169,170,171,172,173],[137,143,167],[144,166,167,171],[133,137,145,155,167],[146,167],[147,167],[124,148,167],[149,165,167,171],[150,167],[151,167],[137,152,153,167],[152,154,167,169],[125,137,155,156,157,158,167],[125,155,157,167],[155,156,167],[158,167],[159,167],[124,155,167],[137,161,162,167],[161,162,167],[130,145,155,163,167],[164,167],[145,165,167],[125,140,151,166,167],[130,167],[155,167,168],[167,169],[167,170],[125,130,137,139,148,155,166,167,169,171],[155,167,172],[167,236],[167,237],[167,174],[167,240,279],[167,240,264,279],[167,279],[167,240],[167,240,265,279],[167,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278],[167,265,279],[138,155,167,174,187],[140,167,174,187,191],[91,101,167],[100,167],[49,167],[167,179],[137,140,142,145,155,163,166,167,172,174],[137,155,167,174],[97,167],[96,167],[52,167],[50,51,167],[57,58,59,60,61,62,63,64,65,167],[48,52,53,54,167],[48,52,167],[45,87,167],[45,55,167],[45,55,66,76,80,82,84,86,167],[45,55,87,90,119,167],[55],[52,55,76,80,82,84,86],[90]],"referencedMap":[[46,1],[56,2],[57,3],[60,4],[58,4],[62,4],[65,5],[64,1],[63,4],[61,4],[59,3],[47,1],[48,6],[80,7],[82,8],[86,9],[74,10],[79,11],[81,11],[85,11],[83,12],[75,13],[84,14],[76,15],[78,16],[77,17],[68,18],[69,19],[67,20],[72,1],[73,21],[70,22],[71,23],[107,1],[110,24],[109,25],[108,26],[93,27],[94,28],[92,1],[95,29],[118,30],[104,1],[111,31],[112,32],[113,1],[114,33],[116,34],[106,20],[115,35],[117,32],[119,36],[103,37],[175,38],[176,1],[178,39],[99,40],[91,1],[180,41],[182,42],[183,1],[177,38],[184,1],[185,1],[194,43],[195,1],[196,1],[190,44],[193,45],[198,46],[201,47],[202,1],[191,1],[203,1],[204,1],[205,48],[206,49],[212,50],[208,1],[207,1],[210,1],[209,1],[213,1],[214,1],[186,1],[215,51],[216,52],[218,53],[219,54],[217,55],[220,56],[221,57],[222,58],[223,59],[224,60],[225,61],[226,62],[227,63],[228,64],[229,65],[230,46],[187,1],[231,1],[232,1],[233,1],[121,66],[122,66],[124,67],[125,68],[126,69],[127,70],[128,71],[129,72],[130,73],[131,74],[132,75],[133,76],[134,76],[136,77],[135,78],[137,77],[138,79],[139,80],[123,81],[173,1],[140,82],[141,83],[142,84],[174,85],[143,86],[144,87],[145,88],[146,89],[147,90],[148,91],[149,92],[150,93],[151,94],[152,95],[153,95],[154,96],[155,97],[157,98],[156,99],[158,100],[159,101],[160,102],[161,103],[162,104],[163,105],[164,106],[165,107],[166,108],[167,109],[168,110],[169,111],[170,112],[171,113],[172,114],[234,1],[235,1],[237,115],[236,116],[238,1],[181,1],[189,1],[200,1],[239,117],[264,118],[265,119],[240,120],[243,120],[262,118],[263,118],[253,118],[252,121],[250,118],[245,118],[258,118],[256,118],[260,118],[244,118],[257,118],[261,118],[246,118],[247,118],[259,118],[241,118],[248,118],[249,118],[251,118],[255,118],[266,122],[254,118],[242,118],[279,123],[278,1],[273,122],[275,124],[274,122],[267,122],[268,122],[270,122],[272,122],[276,124],[277,124],[269,124],[271,124],[188,125],[192,126],[102,127],[101,128],[100,1],[211,1],[50,129],[49,1],[199,130],[197,1],[280,131],[281,132],[96,40],[98,133],[97,134],[51,135],[54,1],[52,136],[105,135],[66,137],[55,138],[53,139],[179,1],[45,1],[43,1],[44,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[88,140],[89,141],[90,140],[87,142],[120,143]],"exportedModulesMap":[[46,1],[56,2],[57,3],[60,4],[58,4],[62,4],[65,5],[64,1],[63,4],[61,4],[59,3],[47,1],[48,6],[80,7],[82,8],[86,9],[74,10],[79,11],[81,11],[85,11],[83,12],[75,13],[84,14],[76,15],[78,16],[77,17],[68,18],[69,19],[67,20],[72,1],[73,21],[70,22],[71,23],[107,1],[110,24],[109,25],[108,26],[93,27],[94,28],[92,1],[95,29],[118,30],[104,1],[111,31],[112,32],[113,1],[114,33],[116,34],[106,20],[115,35],[117,32],[119,36],[103,37],[175,38],[176,1],[178,39],[99,40],[91,1],[180,41],[182,42],[183,1],[177,38],[184,1],[185,1],[194,43],[195,1],[196,1],[190,44],[193,45],[198,46],[201,47],[202,1],[191,1],[203,1],[204,1],[205,48],[206,49],[212,50],[208,1],[207,1],[210,1],[209,1],[213,1],[214,1],[186,1],[215,51],[216,52],[218,53],[219,54],[217,55],[220,56],[221,57],[222,58],[223,59],[224,60],[225,61],[226,62],[227,63],[228,64],[229,65],[230,46],[187,1],[231,1],[232,1],[233,1],[121,66],[122,66],[124,67],[125,68],[126,69],[127,70],[128,71],[129,72],[130,73],[131,74],[132,75],[133,76],[134,76],[136,77],[135,78],[137,77],[138,79],[139,80],[123,81],[173,1],[140,82],[141,83],[142,84],[174,85],[143,86],[144,87],[145,88],[146,89],[147,90],[148,91],[149,92],[150,93],[151,94],[152,95],[153,95],[154,96],[155,97],[157,98],[156,99],[158,100],[159,101],[160,102],[161,103],[162,104],[163,105],[164,106],[165,107],[166,108],[167,109],[168,110],[169,111],[170,112],[171,113],[172,114],[234,1],[235,1],[237,115],[236,116],[238,1],[181,1],[189,1],[200,1],[239,117],[264,118],[265,119],[240,120],[243,120],[262,118],[263,118],[253,118],[252,121],[250,118],[245,118],[258,118],[256,118],[260,118],[244,118],[257,118],[261,118],[246,118],[247,118],[259,118],[241,118],[248,118],[249,118],[251,118],[255,118],[266,122],[254,118],[242,118],[279,123],[278,1],[273,122],[275,124],[274,122],[267,122],[268,122],[270,122],[272,122],[276,124],[277,124],[269,124],[271,124],[188,125],[192,126],[102,127],[101,128],[100,1],[211,1],[50,129],[49,1],[199,130],[197,1],[280,131],[281,132],[96,40],[98,133],[97,134],[51,135],[54,1],[52,136],[105,135],[66,137],[55,138],[53,139],[179,1],[45,1],[43,1],[44,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[1,1],[42,1],[88,140],[89,144],[87,145],[120,146]],"semanticDiagnosticsPerFile":[46,56,57,60,58,62,65,64,63,61,59,47,48,80,82,86,74,79,81,85,83,75,84,76,78,77,68,69,67,72,73,70,71,107,110,109,108,93,94,92,95,118,104,111,112,113,114,116,106,115,117,119,103,175,176,178,99,91,180,182,183,177,184,185,194,195,196,190,193,198,201,202,191,203,204,205,206,212,208,207,210,209,213,214,186,215,216,218,219,217,220,221,222,223,224,225,226,227,228,229,230,187,231,232,233,121,122,124,125,126,127,128,129,130,131,132,133,134,136,135,137,138,139,123,173,140,141,142,174,143,144,145,146,147,148,149,150,151,152,153,154,155,157,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,234,235,237,236,238,181,189,200,239,264,265,240,243,262,263,253,252,250,245,258,256,260,244,257,261,246,247,259,241,248,249,251,255,266,254,242,279,278,273,275,274,267,268,270,272,276,277,269,271,188,192,102,101,100,211,50,49,199,197,280,281,96,98,97,51,54,52,105,66,55,53,179,45,43,44,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,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,88,89,90,87,120]},"version":"5.1.6"}
|
package/package.json
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@digital-realty/ix-button",
|
|
3
|
+
"description": "Webcomponent ix-button following open-wc recommendations",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"author": "interxion",
|
|
6
|
+
"version": "3.0.3",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "dist/src/index.js",
|
|
9
|
+
"module": "dist/src/index.js",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./dist/src/index.js",
|
|
12
|
+
"./ix-button.js": "./dist/src/ix-button.js"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"analyze": "cem analyze --litelement",
|
|
19
|
+
"start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
|
|
20
|
+
"build": "tsc && npm run analyze -- --exclude dist",
|
|
21
|
+
"prepublish": "tsc && npm run analyze -- --exclude dist",
|
|
22
|
+
"lint": "eslint --ext .ts,.html . --ignore-path .gitignore && prettier \"**/*.ts\" --check --ignore-path .gitignore",
|
|
23
|
+
"format": "eslint --ext .ts,.html . --fix --ignore-path .gitignore && prettier \"**/*.ts\" --write --ignore-path .gitignore",
|
|
24
|
+
"test": "tsc && wtr --coverage",
|
|
25
|
+
"test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\""
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@digital-realty/theme": "*",
|
|
29
|
+
"@material/web": "^1.0.0-pre.16",
|
|
30
|
+
"i18next": "^23.3.0",
|
|
31
|
+
"lit": "^2.7.6",
|
|
32
|
+
"lit-html": "^2.7.5"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@custom-elements-manifest/analyzer": "^0.4.17",
|
|
36
|
+
"@open-wc/eslint-config": "^9.2.1",
|
|
37
|
+
"@open-wc/testing": "^3.1.6",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^5.48.0",
|
|
39
|
+
"@typescript-eslint/parser": "^5.48.0",
|
|
40
|
+
"@web/dev-server": "^0.1.34",
|
|
41
|
+
"@web/test-runner": "^0.14.0",
|
|
42
|
+
"concurrently": "^5.3.0",
|
|
43
|
+
"eslint": "^8.31.0",
|
|
44
|
+
"eslint-config-prettier": "^8.3.0",
|
|
45
|
+
"husky": "^4.3.8",
|
|
46
|
+
"lint-staged": "^10.5.4",
|
|
47
|
+
"prettier": "^2.4.1",
|
|
48
|
+
"tslib": "^2.3.1",
|
|
49
|
+
"typescript": "^5.1.6"
|
|
50
|
+
},
|
|
51
|
+
"customElements": "custom-elements.json",
|
|
52
|
+
"eslintConfig": {
|
|
53
|
+
"parser": "@typescript-eslint/parser",
|
|
54
|
+
"root": true,
|
|
55
|
+
"extends": [
|
|
56
|
+
"@open-wc/eslint-config",
|
|
57
|
+
"eslint-config-prettier",
|
|
58
|
+
"plugin:json/recommended"
|
|
59
|
+
],
|
|
60
|
+
"plugins": [
|
|
61
|
+
"@typescript-eslint"
|
|
62
|
+
],
|
|
63
|
+
"rules": {
|
|
64
|
+
"no-unused-vars": "off",
|
|
65
|
+
"@typescript-eslint/no-unused-vars": [
|
|
66
|
+
"error"
|
|
67
|
+
],
|
|
68
|
+
"class-methods-use-this": "off",
|
|
69
|
+
"import/no-unresolved": "off",
|
|
70
|
+
"import/extensions": [
|
|
71
|
+
"error",
|
|
72
|
+
"always",
|
|
73
|
+
{
|
|
74
|
+
"ignorePackages": true
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"prettier": {
|
|
80
|
+
"singleQuote": true,
|
|
81
|
+
"arrowParens": "avoid"
|
|
82
|
+
},
|
|
83
|
+
"husky": {
|
|
84
|
+
"hooks": {
|
|
85
|
+
"pre-commit": "lint-staged"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"lint-staged": {
|
|
89
|
+
"*.ts": [
|
|
90
|
+
"eslint --fix",
|
|
91
|
+
"prettier --write"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"gitHead": "b2bd86ae4fd75a100f98b84d6076ac35730a0fc2"
|
|
95
|
+
}
|
package/src/IxButton.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
|
+
import { property } from 'lit/decorators.js';
|
|
3
|
+
import '@material/web/button/text-button.js';
|
|
4
|
+
import '@material/web/button/elevated-button.js';
|
|
5
|
+
import '@material/web/button/filled-button.js';
|
|
6
|
+
import '@material/web/button/outlined-button.js';
|
|
7
|
+
import '@material/web/button/filled-tonal-button.js';
|
|
8
|
+
|
|
9
|
+
export class IxButton extends LitElement {
|
|
10
|
+
static get styles() {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Whether or not the button is disabled.
|
|
16
|
+
*/
|
|
17
|
+
@property({ type: Boolean, reflect: true }) disabled = false;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The URL that the link button points to.
|
|
21
|
+
*/
|
|
22
|
+
@property() href = '';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Where to display the linked `href` URL for a link button. Common options
|
|
26
|
+
* include `_blank` to open in a new tab.
|
|
27
|
+
*/
|
|
28
|
+
@property() target: '_blank' | '_parent' | '_self' | '_top' | '' = '';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Whether to render the icon at the inline end of the label rather than the
|
|
32
|
+
* inline start.
|
|
33
|
+
*
|
|
34
|
+
* _Note:_ Link buttons cannot have trailing icons.
|
|
35
|
+
*/
|
|
36
|
+
@property({ type: Boolean, attribute: 'trailing-icon' }) trailingIcon = false;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Whether to display the icon or not.
|
|
40
|
+
*/
|
|
41
|
+
@property({ type: Boolean, attribute: 'has-icon' }) hasIcon = false;
|
|
42
|
+
|
|
43
|
+
@property()
|
|
44
|
+
text: string = 'Submit';
|
|
45
|
+
|
|
46
|
+
@property()
|
|
47
|
+
type: 'button' | 'submit' | 'reset' = 'button';
|
|
48
|
+
|
|
49
|
+
@property()
|
|
50
|
+
appearance: 'elevated' | 'filled' | 'filled-tonal' | 'outlined' | 'text' =
|
|
51
|
+
'filled';
|
|
52
|
+
|
|
53
|
+
@property()
|
|
54
|
+
onClick: (event: MouseEvent) => void = () => {};
|
|
55
|
+
|
|
56
|
+
render() {
|
|
57
|
+
let comp;
|
|
58
|
+
if (this.appearance === 'elevated') {
|
|
59
|
+
comp = html`<md-elevated-button
|
|
60
|
+
@click=${this.onClick}
|
|
61
|
+
.disabled=${this.disabled}
|
|
62
|
+
.target=${this.target}
|
|
63
|
+
.href=${this.href}
|
|
64
|
+
.trailingIcon=${this.trailingIcon}
|
|
65
|
+
.hasIcon=${this.hasIcon}
|
|
66
|
+
.value="${this.text}"
|
|
67
|
+
>${this.text}</md-elevated-button
|
|
68
|
+
>`;
|
|
69
|
+
} else if (this.appearance === 'filled') {
|
|
70
|
+
comp = html`<md-filled-button
|
|
71
|
+
@click=${this.onClick}
|
|
72
|
+
.disabled=${this.disabled}
|
|
73
|
+
.target=${this.target}
|
|
74
|
+
.href=${this.href}
|
|
75
|
+
.trailingIcon=${this.trailingIcon}
|
|
76
|
+
.hasIcon=${this.hasIcon}
|
|
77
|
+
.value="${this.text}"
|
|
78
|
+
>${this.text}</md-filled-button
|
|
79
|
+
>`;
|
|
80
|
+
} else if (this.appearance === 'filled-tonal') {
|
|
81
|
+
comp = html`<md-filled-tonal-button
|
|
82
|
+
@click=${this.onClick}
|
|
83
|
+
.disabled=${this.disabled}
|
|
84
|
+
.target=${this.target}
|
|
85
|
+
.href=${this.href}
|
|
86
|
+
.trailingIcon=${this.trailingIcon}
|
|
87
|
+
.hasIcon=${this.hasIcon}
|
|
88
|
+
.value="${this.text}"
|
|
89
|
+
>${this.text}</md-filled-tonal-button
|
|
90
|
+
>`;
|
|
91
|
+
} else if (this.appearance === 'outlined') {
|
|
92
|
+
comp = html`<md-outlined-button
|
|
93
|
+
@click=${this.onClick}
|
|
94
|
+
.disabled=${this.disabled}
|
|
95
|
+
.target=${this.target}
|
|
96
|
+
.href=${this.href}
|
|
97
|
+
.trailingIcon=${this.trailingIcon}
|
|
98
|
+
.hasIcon=${this.hasIcon}
|
|
99
|
+
.value="${this.text}"
|
|
100
|
+
>${this.text}</md-outlined-button
|
|
101
|
+
>`;
|
|
102
|
+
} else if (this.appearance === 'text') {
|
|
103
|
+
comp = html`<md-text-button
|
|
104
|
+
@click=${this.onClick}
|
|
105
|
+
.disabled=${this.disabled}
|
|
106
|
+
.target=${this.target}
|
|
107
|
+
.href=${this.href}
|
|
108
|
+
.trailingIcon=${this.trailingIcon}
|
|
109
|
+
.hasIcon=${this.hasIcon}
|
|
110
|
+
.value="${this.text}"
|
|
111
|
+
>${this.text}</md-text-button
|
|
112
|
+
>`;
|
|
113
|
+
}
|
|
114
|
+
return html`${comp}`;
|
|
115
|
+
}
|
|
116
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { IxButton } from './IxButton.js';
|
package/src/ix-button.ts
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { fixture, expect } from '@open-wc/testing';
|
|
3
|
+
import { IxButton } from '../src/IxButton.js';
|
|
4
|
+
import '../src/ix-button.js';
|
|
5
|
+
|
|
6
|
+
describe('IxButton', () => {
|
|
7
|
+
it('Should fire event when submit button is clicked', async () => {
|
|
8
|
+
let message = '';
|
|
9
|
+
const props = {
|
|
10
|
+
disabled: false,
|
|
11
|
+
text: 'Click me!',
|
|
12
|
+
type: 'submit',
|
|
13
|
+
appearance: 'elevated',
|
|
14
|
+
onClick: () => {
|
|
15
|
+
message = 'Hello world!';
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const el = await fixture<IxButton>(html`
|
|
19
|
+
<ix-button
|
|
20
|
+
.text=${props.text}
|
|
21
|
+
@click=${props.onClick}
|
|
22
|
+
type="${props.type}"
|
|
23
|
+
?disabled=${props.disabled}
|
|
24
|
+
appearance="${props.appearance}"
|
|
25
|
+
></ix-button>
|
|
26
|
+
`);
|
|
27
|
+
|
|
28
|
+
el.click();
|
|
29
|
+
expect(message).to.equal('Hello world!');
|
|
30
|
+
});
|
|
31
|
+
it('should render elevated button when appearance is elevated', async () => {
|
|
32
|
+
const props = {
|
|
33
|
+
disabled: false,
|
|
34
|
+
text: 'Click me!',
|
|
35
|
+
type: 'submit',
|
|
36
|
+
appearance: 'elevated',
|
|
37
|
+
};
|
|
38
|
+
const el = await fixture<IxButton>(html`
|
|
39
|
+
<ix-button
|
|
40
|
+
.text=${props.text}
|
|
41
|
+
type="${props.type}"
|
|
42
|
+
?disabled=${props.disabled}
|
|
43
|
+
appearance="${props.appearance}"
|
|
44
|
+
></ix-button>
|
|
45
|
+
`);
|
|
46
|
+
|
|
47
|
+
const button = el.shadowRoot?.querySelector('md-elevated-button');
|
|
48
|
+
expect(button).to.be.not.null;
|
|
49
|
+
});
|
|
50
|
+
it('should render filled button when appearance is filled', async () => {
|
|
51
|
+
const props = {
|
|
52
|
+
disabled: false,
|
|
53
|
+
text: 'Click me!',
|
|
54
|
+
type: 'submit',
|
|
55
|
+
appearance: 'filled',
|
|
56
|
+
};
|
|
57
|
+
const el = await fixture<IxButton>(html`
|
|
58
|
+
<ix-button
|
|
59
|
+
.text=${props.text}
|
|
60
|
+
type="${props.type}"
|
|
61
|
+
?disabled=${props.disabled}
|
|
62
|
+
appearance="${props.appearance}"
|
|
63
|
+
></ix-button>
|
|
64
|
+
`);
|
|
65
|
+
|
|
66
|
+
const button = el.shadowRoot?.querySelector('md-filled-button');
|
|
67
|
+
expect(button).to.be.not.null;
|
|
68
|
+
});
|
|
69
|
+
it('should render filled-tonal button when appearance is filled-tonal', async () => {
|
|
70
|
+
const props = {
|
|
71
|
+
disabled: false,
|
|
72
|
+
text: 'Click me!',
|
|
73
|
+
type: 'submit',
|
|
74
|
+
appearance: 'filled-tonal',
|
|
75
|
+
};
|
|
76
|
+
const el = await fixture<IxButton>(html`
|
|
77
|
+
<ix-button
|
|
78
|
+
.text=${props.text}
|
|
79
|
+
type="${props.type}"
|
|
80
|
+
?disabled=${props.disabled}
|
|
81
|
+
appearance="${props.appearance}"
|
|
82
|
+
></ix-button>
|
|
83
|
+
`);
|
|
84
|
+
|
|
85
|
+
const button = el.shadowRoot?.querySelector('md-filled-tonal-button');
|
|
86
|
+
expect(button).to.be.not.null;
|
|
87
|
+
});
|
|
88
|
+
it('should render outlined button when appearance is outlined', async () => {
|
|
89
|
+
const props = {
|
|
90
|
+
disabled: false,
|
|
91
|
+
text: 'Click me!',
|
|
92
|
+
type: 'submit',
|
|
93
|
+
appearance: 'outlined',
|
|
94
|
+
};
|
|
95
|
+
const el = await fixture<IxButton>(html`
|
|
96
|
+
<ix-button
|
|
97
|
+
.text=${props.text}
|
|
98
|
+
type="${props.type}"
|
|
99
|
+
?disabled=${props.disabled}
|
|
100
|
+
appearance="${props.appearance}"
|
|
101
|
+
></ix-button>
|
|
102
|
+
`);
|
|
103
|
+
|
|
104
|
+
const button = el.shadowRoot?.querySelector('md-outlined-button');
|
|
105
|
+
expect(button).to.be.not.null;
|
|
106
|
+
});
|
|
107
|
+
it('should render text button when appearance is text', async () => {
|
|
108
|
+
const props = {
|
|
109
|
+
disabled: false,
|
|
110
|
+
text: 'Click me!',
|
|
111
|
+
type: 'submit',
|
|
112
|
+
appearance: 'text',
|
|
113
|
+
};
|
|
114
|
+
const el = await fixture<IxButton>(html`
|
|
115
|
+
<ix-button
|
|
116
|
+
.text=${props.text}
|
|
117
|
+
type="${props.type}"
|
|
118
|
+
?disabled=${props.disabled}
|
|
119
|
+
appearance="${props.appearance}"
|
|
120
|
+
></ix-button>
|
|
121
|
+
`);
|
|
122
|
+
|
|
123
|
+
const button = el.shadowRoot?.querySelector('md-text-button');
|
|
124
|
+
expect(button).to.be.not.null;
|
|
125
|
+
});
|
|
126
|
+
});
|
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
|
+
});
|