tasmota-esp-web-tools 11.2.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/components/ew-checkbox.d.ts +9 -0
  2. package/dist/components/ew-checkbox.js +6 -0
  3. package/dist/components/ew-circular-progress.d.ts +9 -0
  4. package/dist/components/ew-circular-progress.js +6 -0
  5. package/dist/components/{ewt-console.d.ts → ew-console.d.ts} +2 -1
  6. package/dist/components/{ewt-console.js → ew-console.js} +18 -7
  7. package/dist/components/ew-dialog.d.ts +9 -0
  8. package/dist/components/ew-dialog.js +6 -0
  9. package/dist/components/ew-divider.d.ts +9 -0
  10. package/dist/components/ew-divider.js +6 -0
  11. package/dist/components/ew-filled-select.d.ts +9 -0
  12. package/dist/components/ew-filled-select.js +7 -0
  13. package/dist/components/ew-filled-text-field.d.ts +10 -0
  14. package/dist/components/ew-filled-text-field.js +12 -0
  15. package/dist/components/ew-icon-button.d.ts +9 -0
  16. package/dist/components/ew-icon-button.js +7 -0
  17. package/dist/components/ew-list-item.d.ts +9 -0
  18. package/dist/components/ew-list-item.js +6 -0
  19. package/dist/components/ew-list.d.ts +9 -0
  20. package/dist/components/ew-list.js +6 -0
  21. package/dist/components/{ewt-littlefs-manager.d.ts → ew-littlefs-manager.d.ts} +1 -2
  22. package/dist/components/{ewt-littlefs-manager.js → ew-littlefs-manager.js} +35 -44
  23. package/dist/components/ew-select-option.d.ts +9 -0
  24. package/dist/components/ew-select-option.js +6 -0
  25. package/dist/components/ew-text-button.d.ts +9 -0
  26. package/dist/components/ew-text-button.js +7 -0
  27. package/dist/components/svg.d.ts +13 -0
  28. package/dist/components/svg.js +104 -1
  29. package/dist/install-button.js +5 -8
  30. package/dist/install-dialog.d.ts +17 -12
  31. package/dist/install-dialog.js +345 -302
  32. package/dist/no-port-picked/no-port-picked-dialog.d.ts +3 -2
  33. package/dist/no-port-picked/no-port-picked-dialog.js +104 -102
  34. package/dist/pages/{ewt-page-message.d.ts → ew-page-message.d.ts} +2 -2
  35. package/dist/pages/{ewt-page-message.js → ew-page-message.js} +7 -2
  36. package/dist/pages/{ewt-page-progress.d.ts → ew-page-progress.d.ts} +1 -1
  37. package/dist/pages/{ewt-page-progress.js → ew-page-progress.js} +5 -6
  38. package/dist/styles.js +19 -22
  39. package/dist/util/console-color.d.ts +7 -1
  40. package/dist/util/console-color.js +363 -106
  41. package/dist/util/line-break-transformer.js +3 -0
  42. package/dist/util/timestamp-transformer.d.ts +2 -0
  43. package/dist/util/timestamp-transformer.js +19 -14
  44. package/dist/web/index-DUmRg0Cu.js +131 -0
  45. package/dist/web/install-button.js +1 -1
  46. package/dist/web/install-dialog-7l9oLExq.js +1457 -0
  47. package/dist/web/styles-D69gtq6_.js +116 -0
  48. package/js/modules/index-DUmRg0Cu.js +131 -0
  49. package/js/modules/install-button.js +1 -1
  50. package/js/modules/install-dialog-7l9oLExq.js +1457 -0
  51. package/js/modules/styles-D69gtq6_.js +116 -0
  52. package/package.json +15 -20
  53. package/dist/components/ewt-button.d.ts +0 -9
  54. package/dist/components/ewt-button.js +0 -17
  55. package/dist/components/ewt-checkbox.d.ts +0 -9
  56. package/dist/components/ewt-checkbox.js +0 -6
  57. package/dist/components/ewt-circular-progress.d.ts +0 -9
  58. package/dist/components/ewt-circular-progress.js +0 -6
  59. package/dist/components/ewt-dialog.d.ts +0 -9
  60. package/dist/components/ewt-dialog.js +0 -14
  61. package/dist/components/ewt-formfield.d.ts +0 -9
  62. package/dist/components/ewt-formfield.js +0 -6
  63. package/dist/components/ewt-icon-button.d.ts +0 -9
  64. package/dist/components/ewt-icon-button.js +0 -6
  65. package/dist/components/ewt-list-item.d.ts +0 -9
  66. package/dist/components/ewt-list-item.js +0 -6
  67. package/dist/components/ewt-select.d.ts +0 -9
  68. package/dist/components/ewt-select.js +0 -15
  69. package/dist/components/ewt-textfield.d.ts +0 -9
  70. package/dist/components/ewt-textfield.js +0 -15
  71. package/dist/web/index-BK6drzlv.js +0 -135
  72. package/dist/web/install-dialog-DyJZE2aX.js +0 -1284
  73. package/dist/web/styles-ntwzvT31.js +0 -101
  74. package/js/modules/index-BK6drzlv.js +0 -135
  75. package/js/modules/install-dialog-DyJZE2aX.js +0 -1284
  76. package/js/modules/styles-ntwzvT31.js +0 -101
@@ -0,0 +1,9 @@
1
+ import { Checkbox } from "@material/web/checkbox/internal/checkbox.js";
2
+ export declare class EwCheckbox extends Checkbox {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-checkbox": EwCheckbox;
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ import { Checkbox } from "@material/web/checkbox/internal/checkbox.js";
2
+ import { styles } from "@material/web/checkbox/internal/checkbox-styles.js";
3
+ export class EwCheckbox extends Checkbox {
4
+ }
5
+ EwCheckbox.styles = [styles];
6
+ customElements.define("ew-checkbox", EwCheckbox);
@@ -0,0 +1,9 @@
1
+ import { CircularProgress } from "@material/web/progress/internal/circular-progress.js";
2
+ export declare class EwCircularProgress extends CircularProgress {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-circular-progress": EwCircularProgress;
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ import { CircularProgress } from "@material/web/progress/internal/circular-progress.js";
2
+ import { styles } from "@material/web/progress/internal/circular-progress-styles.js";
3
+ export class EwCircularProgress extends CircularProgress {
4
+ }
5
+ EwCircularProgress.styles = [styles];
6
+ customElements.define("ew-circular-progress", EwCircularProgress);
@@ -6,6 +6,7 @@ export declare class EwtConsole extends HTMLElement {
6
6
  onReset?: () => Promise<void>;
7
7
  private _console?;
8
8
  private _cancelConnection?;
9
+ private _clickHandler?;
9
10
  private _commandHistory;
10
11
  private _historyIndex;
11
12
  private _currentInput;
@@ -20,6 +21,6 @@ export declare class EwtConsole extends HTMLElement {
20
21
  }
21
22
  declare global {
22
23
  interface HTMLElementTagNameMap {
23
- "ewt-console": EwtConsole;
24
+ "ew-console": EwtConsole;
24
25
  }
25
26
  }
@@ -31,11 +31,13 @@ export class EwtConsole extends HTMLElement {
31
31
  line-height: 1.45;
32
32
  display: flex;
33
33
  flex-direction: column;
34
+ overflow: hidden;
34
35
  }
35
36
  form {
36
37
  display: flex;
37
38
  align-items: center;
38
39
  padding: 0 8px 0 16px;
40
+ flex-shrink: 0;
39
41
  }
40
42
  input {
41
43
  flex: 1;
@@ -49,8 +51,8 @@ export class EwtConsole extends HTMLElement {
49
51
  <div class="log"></div>
50
52
  ${this.allowInput
51
53
  ? `<form>
52
- >
53
- <input autofocus>
54
+ <span aria-hidden="true">></span>
55
+ <input aria-label="Serial command" autofocus>
54
56
  </form>
55
57
  `
56
58
  : ""}
@@ -58,13 +60,14 @@ export class EwtConsole extends HTMLElement {
58
60
  this._console = new ColoredConsole(this.shadowRoot.querySelector("div"));
59
61
  if (this.allowInput) {
60
62
  const input = this.shadowRoot.querySelector("input");
61
- this.addEventListener("click", () => {
63
+ this._clickHandler = () => {
62
64
  var _a;
63
65
  // Only focus input if user didn't select some text
64
66
  if (((_a = getSelection()) === null || _a === void 0 ? void 0 : _a.toString()) === "") {
65
67
  input.focus();
66
68
  }
67
- });
69
+ };
70
+ this.addEventListener("click", this._clickHandler);
68
71
  input.addEventListener("keydown", (ev) => {
69
72
  if (ev.key === "Enter") {
70
73
  ev.preventDefault();
@@ -181,12 +184,16 @@ export class EwtConsole extends HTMLElement {
181
184
  writer.releaseLock();
182
185
  }
183
186
  catch (err) {
184
- console.error("Ignoring release lock error", err);
187
+ this.logger.error("Ignoring release lock error", err);
185
188
  }
186
189
  }
187
190
  }
188
191
  async disconnect() {
189
192
  var _a;
193
+ if (this._clickHandler) {
194
+ this.removeEventListener("click", this._clickHandler);
195
+ this._clickHandler = undefined;
196
+ }
190
197
  if (this._cancelConnection) {
191
198
  await this._cancelConnection();
192
199
  this._cancelConnection = undefined;
@@ -196,6 +203,10 @@ export class EwtConsole extends HTMLElement {
196
203
  }
197
204
  disconnectedCallback() {
198
205
  var _a;
206
+ if (this._clickHandler) {
207
+ this.removeEventListener("click", this._clickHandler);
208
+ this._clickHandler = undefined;
209
+ }
199
210
  if (this._cancelConnection) {
200
211
  this._cancelConnection();
201
212
  this._cancelConnection = undefined;
@@ -213,7 +224,7 @@ export class EwtConsole extends HTMLElement {
213
224
  this.logger.error("Reset callback failed:", err);
214
225
  }
215
226
  }
216
- await new Promise((resolve) => setTimeout(resolve, 1000));
227
+ await sleep(1000);
217
228
  }
218
229
  }
219
- customElements.define("ewt-console", EwtConsole);
230
+ customElements.define("ew-console", EwtConsole);
@@ -0,0 +1,9 @@
1
+ import { Dialog } from "@material/web/dialog/internal/dialog.js";
2
+ export declare class EwDialog extends Dialog {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-dialog": EwDialog;
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ import { Dialog } from "@material/web/dialog/internal/dialog.js";
2
+ import { styles } from "@material/web/dialog/internal/dialog-styles.js";
3
+ export class EwDialog extends Dialog {
4
+ }
5
+ EwDialog.styles = [styles];
6
+ customElements.define("ew-dialog", EwDialog);
@@ -0,0 +1,9 @@
1
+ import { Divider } from "@material/web/divider/internal/divider.js";
2
+ export declare class EwDivider extends Divider {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-divider": EwDivider;
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ import { Divider } from "@material/web/divider/internal/divider.js";
2
+ import { styles } from "@material/web/divider/internal/divider-styles.js";
3
+ export class EwDivider extends Divider {
4
+ }
5
+ EwDivider.styles = [styles];
6
+ customElements.define("ew-divider", EwDivider);
@@ -0,0 +1,9 @@
1
+ import { FilledSelect } from "@material/web/select/internal/filled-select.js";
2
+ export declare class EwFilledSelect extends FilledSelect {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-filled-select": EwFilledSelect;
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ import { FilledSelect } from "@material/web/select/internal/filled-select.js";
2
+ import { styles } from "@material/web/select/internal/filled-select-styles.js";
3
+ import { styles as sharedStyles } from "@material/web/select/internal/shared-styles.js";
4
+ export class EwFilledSelect extends FilledSelect {
5
+ }
6
+ EwFilledSelect.styles = [sharedStyles, styles];
7
+ customElements.define("ew-filled-select", EwFilledSelect);
@@ -0,0 +1,10 @@
1
+ import { FilledTextField } from "@material/web/textfield/internal/filled-text-field.js";
2
+ export declare class EwFilledTextField extends FilledTextField {
3
+ static styles: import("lit").CSSResult[];
4
+ protected readonly fieldTag: import("lit-html/static.js").StaticValue;
5
+ }
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ "ew-filled-text-field": EwFilledTextField;
9
+ }
10
+ }
@@ -0,0 +1,12 @@
1
+ import { styles as filledStyles } from "@material/web/textfield/internal/filled-styles.js";
2
+ import { FilledTextField } from "@material/web/textfield/internal/filled-text-field.js";
3
+ import { styles as sharedStyles } from "@material/web/textfield/internal/shared-styles.js";
4
+ import { literal } from "lit/static-html.js";
5
+ export class EwFilledTextField extends FilledTextField {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.fieldTag = literal `md-filled-field`;
9
+ }
10
+ }
11
+ EwFilledTextField.styles = [sharedStyles, filledStyles];
12
+ customElements.define("ew-filled-text-field", EwFilledTextField);
@@ -0,0 +1,9 @@
1
+ import { IconButton } from "@material/web/iconbutton/internal/icon-button.js";
2
+ export declare class EwIconButton extends IconButton {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-icon-button": EwIconButton;
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ import { IconButton } from "@material/web/iconbutton/internal/icon-button.js";
2
+ import { styles as sharedStyles } from "@material/web/iconbutton/internal/shared-styles.js";
3
+ import { styles } from "@material/web/iconbutton/internal/standard-styles.js";
4
+ export class EwIconButton extends IconButton {
5
+ }
6
+ EwIconButton.styles = [sharedStyles, styles];
7
+ customElements.define("ew-icon-button", EwIconButton);
@@ -0,0 +1,9 @@
1
+ import { ListItemEl as ListItem } from "@material/web/list/internal/listitem/list-item.js";
2
+ export declare class EwListItem extends ListItem {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-list-item": EwListItem;
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ import { ListItemEl as ListItem } from "@material/web/list/internal/listitem/list-item.js";
2
+ import { styles } from "@material/web/list/internal/listitem/list-item-styles.js";
3
+ export class EwListItem extends ListItem {
4
+ }
5
+ EwListItem.styles = [styles];
6
+ customElements.define("ew-list-item", EwListItem);
@@ -0,0 +1,9 @@
1
+ import { List } from "@material/web/list/internal/list.js";
2
+ export declare class EwList extends List {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-list": EwList;
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ import { List } from "@material/web/list/internal/list.js";
2
+ import { styles } from "@material/web/list/internal/list-styles.js";
3
+ export class EwList extends List {
4
+ }
5
+ EwList.styles = [styles];
6
+ customElements.define("ew-list", EwList);
@@ -1,7 +1,6 @@
1
1
  import { LitElement } from "lit";
2
2
  import type { Partition } from "../partition.js";
3
- import "./ewt-button";
4
- import "./ewt-textfield";
3
+ import "./ew-text-button";
5
4
  export declare class EwtLittleFSManager extends LitElement {
6
5
  partition: Partition;
7
6
  espStub: any;
@@ -1,8 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { LitElement, html, css } from "lit";
3
3
  import { customElement, property, state } from "lit/decorators.js";
4
- import "./ewt-button";
5
- import "./ewt-textfield";
4
+ import "./ew-text-button";
6
5
  // Dynamic import for LittleFS WASM module
7
6
  let _wasmBasePath = null;
8
7
  let _littleFSModule = null;
@@ -458,38 +457,32 @@ let EwtLittleFSManager = class EwtLittleFSManager extends LitElement {
458
457
  </div>
459
458
 
460
459
  <div class="littlefs-controls">
461
- <ewt-button
462
- label="Refresh"
463
- @click=${this._refreshFiles}
464
- ?disabled=${this._busy}
465
- ></ewt-button>
466
- <ewt-button
467
- label="Backup Image"
468
- @click=${this._backupImage}
469
- ?disabled=${this._busy}
470
- ></ewt-button>
471
- <ewt-button
472
- label="Write to Flash"
473
- @click=${this._writeToFlash}
474
- ?disabled=${this._busy}
475
- ></ewt-button>
476
- <ewt-button
477
- label="Close"
460
+ <ew-text-button @click=${this._refreshFiles} ?disabled=${this._busy}
461
+ >Refresh</ew-text-button
462
+ >
463
+ <ew-text-button @click=${this._backupImage} ?disabled=${this._busy}
464
+ >Backup Image</ew-text-button
465
+ >
466
+ <ew-text-button @click=${this._writeToFlash} ?disabled=${this._busy}
467
+ >Write to Flash</ew-text-button
468
+ >
469
+ <ew-text-button
478
470
  @click=${() => {
479
471
  this._cleanup();
480
472
  if (this.onClose)
481
473
  this.onClose();
482
474
  }}
483
475
  ?disabled=${this._busy}
484
- ></ewt-button>
476
+ >Close</ew-text-button
477
+ >
485
478
  </div>
486
479
 
487
480
  <div class="littlefs-breadcrumb">
488
- <ewt-button
489
- label="↑ Up"
481
+ <ew-text-button
490
482
  @click=${this._navigateUp}
491
483
  ?disabled=${this._currentPath === "/" || this._busy}
492
- ></ewt-button>
484
+ >↑ Up</ew-text-button
485
+ >
493
486
  <span>${this._currentPath || "/"}</span>
494
487
  </div>
495
488
 
@@ -499,16 +492,14 @@ let EwtLittleFSManager = class EwtLittleFSManager extends LitElement {
499
492
  @change=${this._handleFileSelect}
500
493
  ?disabled=${this._busy}
501
494
  />
502
- <ewt-button
503
- label="Upload File"
495
+ <ew-text-button
504
496
  @click=${this._uploadFile}
505
497
  ?disabled=${!this._selectedFile || this._busy}
506
- ></ewt-button>
507
- <ewt-button
508
- label="New Folder"
509
- @click=${this._createFolder}
510
- ?disabled=${this._busy}
511
- ></ewt-button>
498
+ >Upload File</ew-text-button
499
+ >
500
+ <ew-text-button @click=${this._createFolder} ?disabled=${this._busy}
501
+ >New Folder</ew-text-button
502
+ >
512
503
  </div>
513
504
 
514
505
  <div class="littlefs-files">
@@ -560,19 +551,19 @@ let EwtLittleFSManager = class EwtLittleFSManager extends LitElement {
560
551
  <div class="file-actions">
561
552
  ${entry.type === "file"
562
553
  ? html `
563
- <ewt-button
564
- label="Download"
554
+ <ew-text-button
565
555
  @click=${() => this._downloadFile(entry.path)}
566
556
  ?disabled=${this._busy}
567
- ></ewt-button>
557
+ >Download</ew-text-button
558
+ >
568
559
  `
569
560
  : ""}
570
- <ewt-button
561
+ <ew-text-button
571
562
  class="danger"
572
- label="Delete"
573
563
  @click=${() => this._deleteFile(entry.path, entry.type)}
574
564
  ?disabled=${this._busy}
575
- ></ewt-button>
565
+ >Delete</ew-text-button
566
+ >
576
567
  </div>
577
568
  </td>
578
569
  </tr>
@@ -594,7 +585,7 @@ EwtLittleFSManager.styles = css `
594
585
  max-width: 100%;
595
586
  margin: 0 auto;
596
587
  padding: 15px;
597
- border: 2px solid var(--mdc-theme-primary, #03a9f4);
588
+ border: 2px solid var(--md-sys-color-primary, #03a9f4);
598
589
  border-radius: 10px;
599
590
  background-color: rgba(3, 169, 244, 0.05);
600
591
  box-sizing: border-box;
@@ -602,7 +593,7 @@ EwtLittleFSManager.styles = css `
602
593
 
603
594
  h3 {
604
595
  margin: 0 0 15px 0;
605
- color: var(--mdc-theme-primary, #03a9f4);
596
+ color: var(--md-sys-color-primary, #03a9f4);
606
597
  font-size: 18px;
607
598
  font-weight: 600;
608
599
  }
@@ -641,8 +632,8 @@ EwtLittleFSManager.styles = css `
641
632
  height: 100%;
642
633
  background: linear-gradient(
643
634
  90deg,
644
- var(--mdc-theme-primary, #03a9f4) 0%,
645
- var(--mdc-theme-primary, #03a9f4) 100%
635
+ var(--md-sys-color-primary, #03a9f4) 0%,
636
+ var(--md-sys-color-primary, #03a9f4) 100%
646
637
  );
647
638
  transition: width 0.3s ease;
648
639
  }
@@ -680,7 +671,7 @@ EwtLittleFSManager.styles = css `
680
671
  .disk-version {
681
672
  font-size: 11px;
682
673
  padding: 2px 6px;
683
- background-color: var(--mdc-theme-primary, #03a9f4);
674
+ background-color: var(--md-sys-color-primary, #03a9f4);
684
675
  color: white;
685
676
  border-radius: 4px;
686
677
  }
@@ -783,7 +774,7 @@ EwtLittleFSManager.styles = css `
783
774
  }
784
775
 
785
776
  .file-name.clickable:hover {
786
- color: var(--mdc-theme-primary, #03a9f4);
777
+ color: var(--md-sys-color-primary, #03a9f4);
787
778
  text-decoration: underline;
788
779
  }
789
780
 
@@ -797,7 +788,7 @@ EwtLittleFSManager.styles = css `
797
788
  }
798
789
 
799
790
  .danger {
800
- --mdc-theme-primary: var(--improv-danger-color, #db4437);
791
+ --md-sys-color-primary: var(--danger-color, #db4437);
801
792
  }
802
793
  `;
803
794
  __decorate([
@@ -0,0 +1,9 @@
1
+ import { SelectOptionEl } from "@material/web/select/internal/selectoption/select-option.js";
2
+ export declare class EwSelectOption extends SelectOptionEl {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-select-option": EwSelectOption;
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ import { styles } from "@material/web/menu/internal/menuitem/menu-item-styles.js";
2
+ import { SelectOptionEl } from "@material/web/select/internal/selectoption/select-option.js";
3
+ export class EwSelectOption extends SelectOptionEl {
4
+ }
5
+ EwSelectOption.styles = [styles];
6
+ customElements.define("ew-select-option", EwSelectOption);
@@ -0,0 +1,9 @@
1
+ import { TextButton } from "@material/web/button/internal/text-button.js";
2
+ export declare class EwTextButton extends TextButton {
3
+ static styles: import("lit").CSSResult[];
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ "ew-text-button": EwTextButton;
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ import { styles as sharedStyles } from "@material/web/button/internal/shared-styles.js";
2
+ import { TextButton } from "@material/web/button/internal/text-button.js";
3
+ import { styles as textStyles } from "@material/web/button/internal/text-styles.js";
4
+ export class EwTextButton extends TextButton {
5
+ }
6
+ EwTextButton.styles = [sharedStyles, textStyles];
7
+ customElements.define("ew-text-button", EwTextButton);
@@ -1,3 +1,16 @@
1
1
  export declare const closeIcon: import("lit-html").TemplateResult<2>;
2
2
  export declare const firmwareIcon: import("lit-html").TemplateResult<2>;
3
3
  export declare const chipIcon: import("lit-html").TemplateResult<2>;
4
+ export declare const refreshIcon: import("lit-html").TemplateResult<2>;
5
+ export declare const listItemInstallIcon: import("lit-html").TemplateResult<2>;
6
+ export declare const listItemWifi: import("lit-html").TemplateResult<2>;
7
+ export declare const listItemConsole: import("lit-html").TemplateResult<2>;
8
+ export declare const listItemVisitDevice: import("lit-html").TemplateResult<2>;
9
+ export declare const listItemHomeAssistant: import("lit-html").TemplateResult<2>;
10
+ export declare const listItemEraseUserData: import("lit-html").TemplateResult<2>;
11
+ export declare const listItemFundDevelopment: import("lit-html").TemplateResult<2>;
12
+ export declare const downloadIcon: import("lit-html").TemplateResult<2>;
13
+ export declare const settingsIcon: import("lit-html").TemplateResult<2>;
14
+ export declare const infoIcon: import("lit-html").TemplateResult<2>;
15
+ export declare const warningIcon: import("lit-html").TemplateResult<2>;
16
+ export declare const checkCircleIcon: import("lit-html").TemplateResult<2>;
@@ -2,12 +2,13 @@ import { svg } from "lit";
2
2
  export const closeIcon = svg `
3
3
  <svg width="24" height="24" viewBox="0 0 24 24">
4
4
  <path
5
+ fill="currentColor"
5
6
  d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"
6
7
  />
7
8
  </svg>
8
9
  `;
9
10
  export const firmwareIcon = svg `
10
- <svg viewBox="0 0 24 24" title="Software">
11
+ <svg slot="start" viewBox="0 0 24 24" title="Software">
11
12
  <path
12
13
  fill="currentColor"
13
14
  d="M9.5,8.5L11,10L8,13L11,16L9.5,17.5L5,13L9.5,8.5M14.5,17.5L13,16L16,13L13,10L14.5,8.5L19,13L14.5,17.5M21,2H3A2,2 0 0,0 1,4V20A2,2 0 0,0 3,22H21A2,2 0 0,0 23,20V4A2,2 0 0,0 21,2M21,20H3V6H21V20Z"
@@ -22,3 +23,105 @@ export const chipIcon = svg `
22
23
  />
23
24
  </svg>
24
25
  `;
26
+ export const refreshIcon = svg `
27
+ <svg viewBox="0 0 24 24">
28
+ <path
29
+ fill="currentColor"
30
+ d="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"
31
+ />
32
+ </svg>
33
+ `;
34
+ export const listItemInstallIcon = svg `
35
+ <svg slot="start" viewBox="0 0 24 24">
36
+ <path fill="currentColor" d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z" />
37
+ </svg>
38
+ `;
39
+ export const listItemWifi = svg `
40
+ <svg slot="start" viewBox="0 0 24 24">
41
+ <path
42
+ fill="currentColor"
43
+ d="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z"
44
+ />
45
+ </svg>
46
+ `;
47
+ export const listItemConsole = svg `
48
+ <svg slot="start" viewBox="0 0 24 24">
49
+ <path
50
+ fill="currentColor"
51
+ d="M20,19V7H4V19H20M20,3A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5C2,3.89 2.9,3 4,3H20M13,17V15H18V17H13M9.58,13L5.57,9H8.4L11.7,12.3C12.09,12.69 12.09,13.33 11.7,13.72L8.42,17H5.59L9.58,13Z"
52
+ />
53
+ </svg>
54
+ `;
55
+ export const listItemVisitDevice = svg `
56
+ <svg slot="start" viewBox="0 0 24 24">
57
+ <path
58
+ fill="currentColor"
59
+ d="M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"
60
+ />
61
+ </svg>
62
+ `;
63
+ export const listItemHomeAssistant = svg `
64
+ <svg slot="start" viewBox="0 0 24 24">
65
+ <path
66
+ fill="currentColor"
67
+ d="m12.151 1.5882c-.3262 0-.6523.1291-.8996.3867l-8.3848 8.7354c-.0619.0644-.1223.1368-.1807.2154-.0588.0789-.1151.1638-.1688.2534-.2593.4325-.4552.9749-.5232 1.4555-.0026.018-.0076.0369-.0094.0548-.0121.0987-.0184.1944-.0184.2857v8.0124a1.2731 1.2731 0 001.2731 1.2731h7.8313l-3.4484-3.593a1.7399 1.7399 0 111.0803-1.125l2.6847 2.7972v-10.248a1.7399 1.7399 0 111.5276-0v7.187l2.6702-2.782a1.7399 1.7399 0 111.0566 1.1505l-3.7269 3.8831v2.7299h8.174a1.2471 1.2471 0 001.2471-1.2471v-8.0375c0-.0912-.0059-.1868-.0184-.2855-.0603-.4935-.2636-1.0617-.5326-1.5105-.0537-.0896-.1101-.1745-.1684-.253-.0588-.079-.1191-.1513-.181-.2158l-8.3848-8.7363c-.2473-.2577-.5735-.3866-.8995-.3864"
68
+ />
69
+ </svg>
70
+ `;
71
+ export const listItemEraseUserData = svg `
72
+ <svg slot="start" viewBox="0 0 24 24">
73
+ <path
74
+ fill="currentColor"
75
+ d="M15,14C17.67,14 23,15.33 23,18V20H7V18C7,15.33 12.33,14 15,14M15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12M5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88L2.88,7.46L5,9.59Z"
76
+ />
77
+ </svg>
78
+ `;
79
+ export const listItemFundDevelopment = svg `
80
+ <svg slot="start" viewBox="0 0 24 24">
81
+ <path
82
+ fill="currentColor"
83
+ d="M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z"
84
+ />
85
+ </svg>
86
+ `;
87
+ // --- Additional utility icons ---
88
+ export const downloadIcon = svg `
89
+ <svg viewBox="0 0 24 24">
90
+ <path
91
+ fill="currentColor"
92
+ d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"
93
+ />
94
+ </svg>
95
+ `;
96
+ export const settingsIcon = svg `
97
+ <svg viewBox="0 0 24 24">
98
+ <path
99
+ fill="currentColor"
100
+ d="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.68 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z"
101
+ />
102
+ </svg>
103
+ `;
104
+ export const infoIcon = svg `
105
+ <svg viewBox="0 0 24 24">
106
+ <path
107
+ fill="currentColor"
108
+ d="M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"
109
+ />
110
+ </svg>
111
+ `;
112
+ export const warningIcon = svg `
113
+ <svg viewBox="0 0 24 24">
114
+ <path
115
+ fill="currentColor"
116
+ d="M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z"
117
+ />
118
+ </svg>
119
+ `;
120
+ export const checkCircleIcon = svg `
121
+ <svg viewBox="0 0 24 24">
122
+ <path
123
+ fill="currentColor"
124
+ d="M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8L10,17Z"
125
+ />
126
+ </svg>
127
+ `;