@matter-server/dashboard 0.6.1 → 0.6.2-alpha.0-20260422-4efb179

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 (120) hide show
  1. package/README.md +19 -0
  2. package/dist/esm/client/models/descriptions.d.ts +10 -0
  3. package/dist/esm/client/models/descriptions.d.ts.map +1 -1
  4. package/dist/esm/client/models/descriptions.js +5684 -1881
  5. package/dist/esm/client/models/descriptions.js.map +1 -1
  6. package/dist/esm/components/dialog-box/dialog-box.d.ts.map +1 -1
  7. package/dist/esm/components/dialog-box/show-dialog-box.d.ts.map +1 -1
  8. package/dist/esm/components/dialogs/acl/model.d.ts.map +1 -1
  9. package/dist/esm/components/dialogs/binding/model.d.ts.map +1 -1
  10. package/dist/esm/components/dialogs/binding/node-binding-dialog.d.ts.map +1 -1
  11. package/dist/esm/components/dialogs/binding/show-node-binding-dialog.d.ts.map +1 -1
  12. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-dialog.d.ts.map +1 -1
  13. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.d.ts.map +1 -1
  14. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.d.ts.map +1 -1
  15. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.d.ts.map +1 -1
  16. package/dist/esm/components/dialogs/commission-node-dialog/show-commission-node-dialog.d.ts.map +1 -1
  17. package/dist/esm/components/dialogs/dev/attribute-write-dialog.d.ts +34 -0
  18. package/dist/esm/components/dialogs/dev/attribute-write-dialog.d.ts.map +1 -0
  19. package/dist/esm/components/dialogs/dev/attribute-write-dialog.js +187 -0
  20. package/dist/esm/components/dialogs/dev/attribute-write-dialog.js.map +6 -0
  21. package/dist/esm/components/dialogs/dev/command-invoke-dialog.d.ts +33 -0
  22. package/dist/esm/components/dialogs/dev/command-invoke-dialog.d.ts.map +1 -0
  23. package/dist/esm/components/dialogs/dev/command-invoke-dialog.js +221 -0
  24. package/dist/esm/components/dialogs/dev/command-invoke-dialog.js.map +6 -0
  25. package/dist/esm/components/dialogs/dev/parse-json-payload.d.ts +27 -0
  26. package/dist/esm/components/dialogs/dev/parse-json-payload.d.ts.map +1 -0
  27. package/dist/esm/components/dialogs/dev/parse-json-payload.js +25 -0
  28. package/dist/esm/components/dialogs/dev/parse-json-payload.js.map +6 -0
  29. package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.d.ts +17 -0
  30. package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.d.ts.map +1 -0
  31. package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.js +21 -0
  32. package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.js.map +6 -0
  33. package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.d.ts +16 -0
  34. package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.d.ts.map +1 -0
  35. package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.js +20 -0
  36. package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.js.map +6 -0
  37. package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts +2 -11
  38. package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts.map +1 -1
  39. package/dist/esm/components/dialogs/settings/log-level-dialog.js +13 -140
  40. package/dist/esm/components/dialogs/settings/log-level-dialog.js.map +1 -1
  41. package/dist/esm/components/dialogs/settings/log-level-section.d.ts +34 -0
  42. package/dist/esm/components/dialogs/settings/log-level-section.d.ts.map +1 -0
  43. package/dist/esm/components/dialogs/settings/log-level-section.js +181 -0
  44. package/dist/esm/components/dialogs/settings/log-level-section.js.map +6 -0
  45. package/dist/esm/components/dialogs/settings/settings-dialog.d.ts +31 -0
  46. package/dist/esm/components/dialogs/settings/settings-dialog.d.ts.map +1 -0
  47. package/dist/esm/components/dialogs/settings/settings-dialog.js +165 -0
  48. package/dist/esm/components/dialogs/settings/settings-dialog.js.map +6 -0
  49. package/dist/esm/components/dialogs/settings/show-log-level-dialog.d.ts.map +1 -1
  50. package/dist/esm/components/dialogs/settings/show-settings-dialog.d.ts +8 -0
  51. package/dist/esm/components/dialogs/settings/show-settings-dialog.d.ts.map +1 -0
  52. package/dist/esm/components/dialogs/settings/show-settings-dialog.js +15 -0
  53. package/dist/esm/components/dialogs/settings/show-settings-dialog.js.map +6 -0
  54. package/dist/esm/components/ha-svg-icon.d.ts.map +1 -1
  55. package/dist/esm/pages/cluster-commands/base-cluster-commands.d.ts.map +1 -1
  56. package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts.map +1 -1
  57. package/dist/esm/pages/cluster-commands/clusters/level-control-commands.d.ts.map +1 -1
  58. package/dist/esm/pages/cluster-commands/clusters/on-off-commands.d.ts.map +1 -1
  59. package/dist/esm/pages/components/footer.d.ts.map +1 -1
  60. package/dist/esm/pages/components/header.d.ts +2 -0
  61. package/dist/esm/pages/components/header.d.ts.map +1 -1
  62. package/dist/esm/pages/components/header.js +47 -3
  63. package/dist/esm/pages/components/header.js.map +1 -1
  64. package/dist/esm/pages/components/node-details.d.ts.map +1 -1
  65. package/dist/esm/pages/components/server-details.d.ts.map +1 -1
  66. package/dist/esm/pages/matter-cluster-view.d.ts +13 -2
  67. package/dist/esm/pages/matter-cluster-view.d.ts.map +1 -1
  68. package/dist/esm/pages/matter-cluster-view.js +338 -4
  69. package/dist/esm/pages/matter-cluster-view.js.map +2 -2
  70. package/dist/esm/pages/matter-dashboard-app.d.ts.map +1 -1
  71. package/dist/esm/pages/matter-endpoint-view.d.ts.map +1 -1
  72. package/dist/esm/pages/matter-network-view.d.ts.map +1 -1
  73. package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
  74. package/dist/esm/pages/matter-server-view.d.ts.map +1 -1
  75. package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -1
  76. package/dist/esm/pages/network/base-network-graph.js +1 -0
  77. package/dist/esm/pages/network/base-network-graph.js.map +1 -1
  78. package/dist/esm/pages/network/device-panel.d.ts.map +1 -1
  79. package/dist/esm/pages/network/network-details.d.ts.map +1 -1
  80. package/dist/esm/pages/network/thread-graph.d.ts.map +1 -1
  81. package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -1
  82. package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -1
  83. package/dist/esm/util/clone_class.d.ts.map +1 -1
  84. package/dist/esm/util/dev-mode-service.d.ts +14 -0
  85. package/dist/esm/util/dev-mode-service.d.ts.map +1 -0
  86. package/dist/esm/util/dev-mode-service.js +37 -0
  87. package/dist/esm/util/dev-mode-service.js.map +6 -0
  88. package/dist/esm/util/fire_event.d.ts.map +1 -1
  89. package/dist/esm/util/prevent_default.d.ts.map +1 -1
  90. package/dist/esm/util/theme-service.d.ts.map +1 -1
  91. package/dist/web/index.html +6 -0
  92. package/dist/web/js/attribute-write-dialog-BjBvI9Vg.js +166 -0
  93. package/dist/web/js/command-invoke-dialog-GfZXZjFc.js +192 -0
  94. package/dist/web/js/{commission-node-dialog-DfwKU9qk.js → commission-node-dialog-BAEMNaRj.js} +4 -4
  95. package/dist/web/js/{commission-node-existing-C7ITvNfj.js → commission-node-existing-NbcOLhCW.js} +2 -2
  96. package/dist/web/js/{commission-node-thread-D-icSzto.js → commission-node-thread-CPS6eA4_.js} +2 -2
  97. package/dist/web/js/{commission-node-wifi-DwUkXlWz.js → commission-node-wifi-DgnCq_XI.js} +2 -2
  98. package/dist/web/js/{dialog-box-BmpaTrvT.js → dialog-box-CRmSjFmJ.js} +1 -1
  99. package/dist/web/js/{fire_event-2ZxL-AHZ.js → fire_event-CMN0BnIt.js} +1 -1
  100. package/dist/web/js/main.js +2 -2
  101. package/dist/web/js/{matter-dashboard-app-BtHTmAPq.js → matter-dashboard-app-Cne9OvsE.js} +6201 -1897
  102. package/dist/web/js/{node-binding-dialog-MMx9rkCF.js → node-binding-dialog-C3d1oHJA.js} +1 -1
  103. package/dist/web/js/parse-json-payload-DU9TWKdu.js +32 -0
  104. package/dist/web/js/{log-level-dialog-D4hubdib.js → settings-dialog-WGqWo_ox.js} +583 -69
  105. package/package.json +29 -29
  106. package/src/client/models/descriptions.ts +5690 -1878
  107. package/src/components/dialogs/dev/attribute-write-dialog.ts +169 -0
  108. package/src/components/dialogs/dev/command-invoke-dialog.ts +204 -0
  109. package/src/components/dialogs/dev/parse-json-payload.ts +37 -0
  110. package/src/components/dialogs/dev/show-attribute-write-dialog.ts +30 -0
  111. package/src/components/dialogs/dev/show-command-invoke-dialog.ts +28 -0
  112. package/src/components/dialogs/settings/log-level-dialog.ts +15 -138
  113. package/src/components/dialogs/settings/log-level-section.ts +174 -0
  114. package/src/components/dialogs/settings/settings-dialog.ts +165 -0
  115. package/src/components/dialogs/settings/show-settings-dialog.ts +14 -0
  116. package/src/pages/components/header.ts +47 -3
  117. package/src/pages/matter-cluster-view.ts +366 -4
  118. package/src/pages/network/base-network-graph.ts +1 -1
  119. package/src/tsconfig.json +9 -2
  120. package/src/util/dev-mode-service.ts +44 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MatterClient } from "@matter-server/ws-client";
7
+ export interface ShowAttributeWriteDialogOptions {
8
+ client: MatterClient;
9
+ nodeId: number | bigint;
10
+ endpointId: number;
11
+ clusterId: number;
12
+ attributeId: number;
13
+ label: string;
14
+ currentValue: unknown;
15
+ }
16
+ export declare const showAttributeWriteDialog: (options: ShowAttributeWriteDialogOptions) => Promise<void>;
17
+ //# sourceMappingURL=show-attribute-write-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-attribute-write-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/dev/show-attribute-write-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,wBAAwB,YAAmB,+BAA+B,kBAWtF,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ const showAttributeWriteDialog = async (options) => {
7
+ await import("./attribute-write-dialog.js");
8
+ const dialog = document.createElement("attribute-write-dialog");
9
+ dialog.client = options.client;
10
+ dialog.nodeId = options.nodeId;
11
+ dialog.endpointId = options.endpointId;
12
+ dialog.clusterId = options.clusterId;
13
+ dialog.attributeId = options.attributeId;
14
+ dialog.label = options.label;
15
+ dialog.currentValue = options.currentValue;
16
+ document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
17
+ };
18
+ export {
19
+ showAttributeWriteDialog
20
+ };
21
+ //# sourceMappingURL=show-attribute-write-dialog.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/dialogs/dev/show-attribute-write-dialog.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAkBO,MAAM,2BAA2B,OAAO,YAA6C;AACxF,QAAM,OAAO,6BAA6B;AAC1C,QAAM,SAAS,SAAS,cAAc,wBAAwB;AAC9D,SAAO,SAAS,QAAQ;AACxB,SAAO,SAAS,QAAQ;AACxB,SAAO,aAAa,QAAQ;AAC5B,SAAO,YAAY,QAAQ;AAC3B,SAAO,cAAc,QAAQ;AAC7B,SAAO,QAAQ,QAAQ;AACvB,SAAO,eAAe,QAAQ;AAC9B,WAAS,cAAc,sBAAsB,GAAG,WAAW,YAAY,MAAM;AACjF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MatterClient } from "@matter-server/ws-client";
7
+ export interface ShowCommandInvokeDialogOptions {
8
+ client: MatterClient;
9
+ nodeId: number | bigint;
10
+ endpointId: number;
11
+ clusterId: number;
12
+ commandName: string;
13
+ commandLabel: string;
14
+ }
15
+ export declare const showCommandInvokeDialog: (options: ShowCommandInvokeDialogOptions) => Promise<void>;
16
+ //# sourceMappingURL=show-command-invoke-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-command-invoke-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/dev/show-command-invoke-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,YAAmB,8BAA8B,kBAUpF,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ const showCommandInvokeDialog = async (options) => {
7
+ await import("./command-invoke-dialog.js");
8
+ const dialog = document.createElement("command-invoke-dialog");
9
+ dialog.client = options.client;
10
+ dialog.nodeId = options.nodeId;
11
+ dialog.endpointId = options.endpointId;
12
+ dialog.clusterId = options.clusterId;
13
+ dialog.commandName = options.commandName;
14
+ dialog.commandLabel = options.commandLabel;
15
+ document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
16
+ };
17
+ export {
18
+ showCommandInvokeDialog
19
+ };
20
+ //# sourceMappingURL=show-command-invoke-dialog.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/dialogs/dev/show-command-invoke-dialog.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,0BAA0B,OAAO,YAA4C;AACtF,QAAM,OAAO,4BAA4B;AACzC,QAAM,SAAS,SAAS,cAAc,uBAAuB;AAC7D,SAAO,SAAS,QAAQ;AACxB,SAAO,SAAS,QAAQ;AACxB,SAAO,aAAa,QAAQ;AAC5B,SAAO,YAAY,QAAQ;AAC3B,SAAO,cAAc,QAAQ;AAC7B,SAAO,eAAe,QAAQ;AAC9B,WAAS,cAAc,sBAAsB,GAAG,WAAW,YAAY,MAAM;AACjF;",
5
+ "names": []
6
+ }
@@ -5,23 +5,14 @@
5
5
  */
6
6
  import "@material/web/button/text-button";
7
7
  import "@material/web/dialog/dialog";
8
- import "@material/web/select/outlined-select";
9
- import "@material/web/select/select-option";
10
8
  import { MatterClient } from "@matter-server/ws-client";
11
9
  import { LitElement } from "lit";
10
+ import "./log-level-section.js";
12
11
  export declare class LogLevelDialog extends LitElement {
13
12
  client: MatterClient;
14
- private _consoleLevel;
15
- private _fileLevel;
16
- private _loading;
17
- private _applying;
18
- private _consoleSelect;
19
- private _fileSelect?;
20
- connectedCallback(): void;
21
- private _loadLogLevels;
22
- private _apply;
23
13
  private _close;
24
14
  private _handleClosed;
15
+ private _handleApplied;
25
16
  protected render(): import("lit-html").TemplateResult<1>;
26
17
  static styles: import("lit").CSSResult;
27
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"log-level-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/settings/log-level-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,sCAAsC,CAAC;AAE9C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAcrD,qBACa,cAAe,SAAQ,UAAU;IAEnC,MAAM,EAAG,YAAY,CAAC;IAEpB,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAS;IAGnC,OAAO,CAAC,cAAc,CAAoB;IAG1C,OAAO,CAAC,WAAW,CAAC,CAAmB;IAE9B,iBAAiB;YAKZ,cAAc;YAYd,MAAM;IAsBpB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;cAIF,MAAM;IA0DzB,OAAgB,MAAM,0BA4BpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,kBAAkB,EAAE,cAAc,CAAC;KACtC;CACJ"}
1
+ {"version":3,"file":"log-level-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/settings/log-level-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,wBAAwB,CAAC;AAEhC,qBACa,cAAe,SAAQ,UAAU;IAEnC,MAAM,EAAG,YAAY,CAAC;IAE7B,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAItB,UAAmB,MAAM,yCAexB;IAED,OAAgB,MAAM,0BAIpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,kBAAkB,EAAE,cAAc,CAAC;KACtC;CACJ"}
@@ -15,172 +15,45 @@ var __decorateClass = (decorators, target, key, kind) => {
15
15
  */
16
16
  import "@material/web/button/text-button";
17
17
  import "@material/web/dialog/dialog";
18
- import "@material/web/select/outlined-select";
19
- import "@material/web/select/select-option";
20
- import { css, html, LitElement, nothing } from "lit";
21
- import { customElement, property, query, state } from "lit/decorators.js";
22
- import { fireAndForget, handleAsync } from "../../../util/async-handler.js";
18
+ import { css, html, LitElement } from "lit";
19
+ import { customElement, property } from "lit/decorators.js";
23
20
  import { preventDefault } from "../../../util/prevent_default.js";
24
- import { showAlertDialog } from "../../dialog-box/show-dialog-box.js";
25
- const LOG_LEVELS = [
26
- { value: "critical", label: "Critical" },
27
- { value: "error", label: "Error" },
28
- { value: "warning", label: "Warning" },
29
- { value: "info", label: "Info" },
30
- { value: "debug", label: "Debug" }
31
- ];
21
+ import "./log-level-section.js";
32
22
  let LogLevelDialog = class extends LitElement {
33
- constructor() {
34
- super(...arguments);
35
- this._consoleLevel = "info";
36
- this._fileLevel = null;
37
- this._loading = true;
38
- this._applying = false;
39
- }
40
- connectedCallback() {
41
- super.connectedCallback();
42
- fireAndForget(this._loadLogLevels());
43
- }
44
- async _loadLogLevels() {
45
- try {
46
- const result = await this.client.getLogLevel();
47
- this._consoleLevel = result.console_loglevel;
48
- this._fileLevel = result.file_loglevel;
49
- } catch (err) {
50
- console.error("Failed to load log levels:", err);
51
- } finally {
52
- this._loading = false;
53
- }
54
- }
55
- async _apply() {
56
- this._applying = true;
57
- try {
58
- const consoleLevel = this._consoleSelect.value;
59
- const fileLevel = this._fileSelect?.value;
60
- const result = await this.client.setLogLevel(
61
- consoleLevel,
62
- this._fileLevel !== null ? fileLevel : void 0
63
- );
64
- this._consoleLevel = result.console_loglevel;
65
- this._fileLevel = result.file_loglevel;
66
- this._close();
67
- } catch (err) {
68
- console.error("Failed to apply log levels:", err);
69
- showAlertDialog({ title: "Error", text: "Failed to apply log levels" });
70
- } finally {
71
- this._applying = false;
72
- }
73
- }
74
23
  _close() {
75
24
  this.shadowRoot.querySelector("md-dialog").close();
76
25
  }
77
26
  _handleClosed() {
78
27
  this.parentNode.removeChild(this);
79
28
  }
29
+ _handleApplied() {
30
+ this._close();
31
+ }
80
32
  render() {
81
33
  return html`
82
34
  <md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
83
35
  <div slot="headline">Server Log Settings</div>
84
36
  <div slot="content">
85
- ${this._loading ? html` <p class="loading">Loading...</p> ` : html`
86
- <p class="hint">Changes are temporary and will be reset on the next server restart.</p>
87
- <div class="form-field">
88
- <label>Console Log Level</label>
89
- <md-outlined-select name="console" .value=${this._consoleLevel}>
90
- ${LOG_LEVELS.map(
91
- (level) => html`
92
- <md-select-option
93
- value=${level.value}
94
- ?selected=${level.value === this._consoleLevel}
95
- >
96
- <div slot="headline">${level.label}</div>
97
- </md-select-option>
98
- `
99
- )}
100
- </md-outlined-select>
101
- </div>
102
- ${this._fileLevel !== null ? html`
103
- <div class="form-field">
104
- <label>File Log Level</label>
105
- <md-outlined-select name="file" .value=${this._fileLevel}>
106
- ${LOG_LEVELS.map(
107
- (level) => html`
108
- <md-select-option
109
- value=${level.value}
110
- ?selected=${level.value === this._fileLevel}
111
- >
112
- <div slot="headline">${level.label}</div>
113
- </md-select-option>
114
- `
115
- )}
116
- </md-outlined-select>
117
- </div>
118
- ` : nothing}
119
- `}
37
+ <log-level-section
38
+ .client=${this.client}
39
+ @log-level-applied=${this._handleApplied}
40
+ ></log-level-section>
120
41
  </div>
121
42
  <div slot="actions">
122
- <md-text-button @click=${this._close}>Cancel</md-text-button>
123
- <md-text-button
124
- @click=${handleAsync(() => this._apply())}
125
- ?disabled=${this._loading || this._applying}
126
- >
127
- ${this._applying ? "Applying..." : "Apply"}
128
- </md-text-button>
43
+ <md-text-button @click=${this._close}>Close</md-text-button>
129
44
  </div>
130
45
  </md-dialog>
131
46
  `;
132
47
  }
133
48
  };
134
49
  LogLevelDialog.styles = css`
135
- .loading {
136
- text-align: center;
137
- padding: 24px;
138
- color: var(--md-sys-color-on-surface-variant);
139
- }
140
-
141
- .hint {
142
- font-size: 0.875rem;
143
- color: var(--md-sys-color-on-surface-variant);
144
- margin: 0 0 16px 0;
145
- font-style: italic;
146
- }
147
-
148
- .form-field {
149
- margin-bottom: 16px;
150
- }
151
-
152
- .form-field label {
153
- display: block;
154
- margin-bottom: 8px;
155
- font-weight: 500;
156
- color: var(--md-sys-color-on-surface);
157
- }
158
-
159
- md-outlined-select {
160
- width: 100%;
50
+ md-dialog {
51
+ min-width: 360px;
161
52
  }
162
53
  `;
163
54
  __decorateClass([
164
55
  property({ attribute: false })
165
56
  ], LogLevelDialog.prototype, "client", 2);
166
- __decorateClass([
167
- state()
168
- ], LogLevelDialog.prototype, "_consoleLevel", 2);
169
- __decorateClass([
170
- state()
171
- ], LogLevelDialog.prototype, "_fileLevel", 2);
172
- __decorateClass([
173
- state()
174
- ], LogLevelDialog.prototype, "_loading", 2);
175
- __decorateClass([
176
- state()
177
- ], LogLevelDialog.prototype, "_applying", 2);
178
- __decorateClass([
179
- query("md-outlined-select[name='console']")
180
- ], LogLevelDialog.prototype, "_consoleSelect", 2);
181
- __decorateClass([
182
- query("md-outlined-select[name='file']")
183
- ], LogLevelDialog.prototype, "_fileSelect", 2);
184
57
  LogLevelDialog = __decorateClass([
185
58
  customElement("log-level-dialog")
186
59
  ], LogLevelDialog);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/dialogs/settings/log-level-dialog.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AAGP,SAAS,KAAK,MAAM,kBAAkB;AACtC,SAAS,eAAe,gBAAgB;AACxC,SAAS,sBAAsB;AAC/B,OAAO;AAGA,IAAM,iBAAN,cAA6B,WAAW;AAAA,EAInC,SAAS;AACb,SAAK,WAAY,cAAwB,WAAW,EAAG,MAAM;AAAA,EACjE;AAAA,EAEQ,gBAAgB;AACpB,SAAK,WAAY,YAAY,IAAI;AAAA,EACrC;AAAA,EAEQ,iBAAiB;AACrB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEmB,SAAS;AACxB,WAAO;AAAA,sCACuB,cAAc,YAAY,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA,kCAIhD,KAAK,MAAM;AAAA,6CACA,KAAK,cAAc;AAAA;AAAA;AAAA;AAAA,6CAInB,KAAK,MAAM;AAAA;AAAA;AAAA;AAAA,EAIpD;AAOJ;AAtCa,eAiCO,SAAS;AAAA;AAAA;AAAA;AAAA;AA/BlB;AAAA,EADN,SAAS,EAAE,WAAW,MAAM,CAAC;AAAA,GADrB,eAEF;AAFE,iBAAN;AAAA,EADN,cAAc,kBAAkB;AAAA,GACpB;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import "@material/web/button/text-button";
7
+ import "@material/web/select/outlined-select";
8
+ import "@material/web/select/select-option";
9
+ import { MatterClient } from "@matter-server/ws-client";
10
+ import { LitElement } from "lit";
11
+ /**
12
+ * Server log-level form. Shared between the standalone log-level dialog and the
13
+ * combined settings dialog.
14
+ */
15
+ export declare class LogLevelSection extends LitElement {
16
+ client: MatterClient;
17
+ private _consoleLevel;
18
+ private _fileLevel;
19
+ private _loading;
20
+ private _applying;
21
+ private _consoleSelect;
22
+ private _fileSelect?;
23
+ connectedCallback(): void;
24
+ private _loadLogLevels;
25
+ private _apply;
26
+ protected render(): import("lit-html").TemplateResult<1>;
27
+ static styles: import("lit").CSSResult;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ "log-level-section": LogLevelSection;
32
+ }
33
+ }
34
+ //# sourceMappingURL=log-level-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-level-section.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/settings/log-level-section.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,sCAAsC,CAAC;AAE9C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAarD;;;GAGG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAEpC,MAAM,EAAG,YAAY,CAAC;IAEpB,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAS;IAGnC,OAAO,CAAC,cAAc,CAAoB;IAG1C,OAAO,CAAC,WAAW,CAAC,CAAmB;IAE9B,iBAAiB,SAGzB;YAEa,cAAc;YAYd,MAAM;IAsBpB,UAAmB,MAAM,yCA2CxB;IAED,OAAgB,MAAM,0BAsCpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
@@ -0,0 +1,181 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __decorateClass = (decorators, target, key, kind) => {
4
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
+ if (decorator = decorators[i])
7
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
+ if (kind && result) __defProp(target, key, result);
9
+ return result;
10
+ };
11
+ /**
12
+ * @license
13
+ * Copyright 2025-2026 Open Home Foundation
14
+ * SPDX-License-Identifier: Apache-2.0
15
+ */
16
+ import "@material/web/button/text-button";
17
+ import "@material/web/select/outlined-select";
18
+ import "@material/web/select/select-option";
19
+ import { css, html, LitElement, nothing } from "lit";
20
+ import { customElement, property, query, state } from "lit/decorators.js";
21
+ import { fireAndForget, handleAsync } from "../../../util/async-handler.js";
22
+ import { showAlertDialog } from "../../dialog-box/show-dialog-box.js";
23
+ const LOG_LEVELS = [
24
+ { value: "critical", label: "Critical" },
25
+ { value: "error", label: "Error" },
26
+ { value: "warning", label: "Warning" },
27
+ { value: "info", label: "Info" },
28
+ { value: "debug", label: "Debug" }
29
+ ];
30
+ let LogLevelSection = class extends LitElement {
31
+ constructor() {
32
+ super(...arguments);
33
+ this._consoleLevel = "info";
34
+ this._fileLevel = null;
35
+ this._loading = true;
36
+ this._applying = false;
37
+ }
38
+ connectedCallback() {
39
+ super.connectedCallback();
40
+ fireAndForget(this._loadLogLevels());
41
+ }
42
+ async _loadLogLevels() {
43
+ try {
44
+ const result = await this.client.getLogLevel();
45
+ this._consoleLevel = result.console_loglevel;
46
+ this._fileLevel = result.file_loglevel;
47
+ } catch (err) {
48
+ console.error("Failed to load log levels:", err);
49
+ } finally {
50
+ this._loading = false;
51
+ }
52
+ }
53
+ async _apply() {
54
+ this._applying = true;
55
+ try {
56
+ const consoleLevel = this._consoleSelect.value;
57
+ const fileLevel = this._fileSelect?.value;
58
+ const result = await this.client.setLogLevel(
59
+ consoleLevel,
60
+ this._fileLevel !== null ? fileLevel : void 0
61
+ );
62
+ this._consoleLevel = result.console_loglevel;
63
+ this._fileLevel = result.file_loglevel;
64
+ this.dispatchEvent(new CustomEvent("log-level-applied", { bubbles: true, composed: true }));
65
+ } catch (err) {
66
+ console.error("Failed to apply log levels:", err);
67
+ showAlertDialog({ title: "Error", text: "Failed to apply log levels" });
68
+ } finally {
69
+ this._applying = false;
70
+ }
71
+ }
72
+ render() {
73
+ if (this._loading) {
74
+ return html` <p class="loading">Loading...</p> `;
75
+ }
76
+ return html`
77
+ <p class="hint">Changes are temporary and will be reset on the next server restart.</p>
78
+ <div class="form-field">
79
+ <label>Console Log Level</label>
80
+ <md-outlined-select name="console" .value=${this._consoleLevel}>
81
+ ${LOG_LEVELS.map(
82
+ (level) => html`
83
+ <md-select-option value=${level.value} ?selected=${level.value === this._consoleLevel}>
84
+ <div slot="headline">${level.label}</div>
85
+ </md-select-option>
86
+ `
87
+ )}
88
+ </md-outlined-select>
89
+ </div>
90
+ ${this._fileLevel !== null ? html`
91
+ <div class="form-field">
92
+ <label>File Log Level</label>
93
+ <md-outlined-select name="file" .value=${this._fileLevel}>
94
+ ${LOG_LEVELS.map(
95
+ (level) => html`
96
+ <md-select-option
97
+ value=${level.value}
98
+ ?selected=${level.value === this._fileLevel}
99
+ >
100
+ <div slot="headline">${level.label}</div>
101
+ </md-select-option>
102
+ `
103
+ )}
104
+ </md-outlined-select>
105
+ </div>
106
+ ` : nothing}
107
+ <div class="actions">
108
+ <md-text-button @click=${handleAsync(() => this._apply())} ?disabled=${this._applying}>
109
+ ${this._applying ? "Applying..." : "Apply"}
110
+ </md-text-button>
111
+ </div>
112
+ `;
113
+ }
114
+ };
115
+ LogLevelSection.styles = css`
116
+ :host {
117
+ display: block;
118
+ }
119
+
120
+ .loading {
121
+ text-align: center;
122
+ padding: 24px;
123
+ color: var(--md-sys-color-on-surface-variant);
124
+ }
125
+
126
+ .hint {
127
+ font-size: 0.875rem;
128
+ color: var(--md-sys-color-on-surface-variant);
129
+ margin: 0 0 16px 0;
130
+ font-style: italic;
131
+ }
132
+
133
+ .form-field {
134
+ margin-bottom: 16px;
135
+ }
136
+
137
+ .form-field label {
138
+ display: block;
139
+ margin-bottom: 8px;
140
+ font-weight: 500;
141
+ color: var(--md-sys-color-on-surface);
142
+ }
143
+
144
+ md-outlined-select {
145
+ width: 100%;
146
+ }
147
+
148
+ .actions {
149
+ display: flex;
150
+ justify-content: flex-end;
151
+ margin-top: 8px;
152
+ }
153
+ `;
154
+ __decorateClass([
155
+ property({ attribute: false })
156
+ ], LogLevelSection.prototype, "client", 2);
157
+ __decorateClass([
158
+ state()
159
+ ], LogLevelSection.prototype, "_consoleLevel", 2);
160
+ __decorateClass([
161
+ state()
162
+ ], LogLevelSection.prototype, "_fileLevel", 2);
163
+ __decorateClass([
164
+ state()
165
+ ], LogLevelSection.prototype, "_loading", 2);
166
+ __decorateClass([
167
+ state()
168
+ ], LogLevelSection.prototype, "_applying", 2);
169
+ __decorateClass([
170
+ query("md-outlined-select[name='console']")
171
+ ], LogLevelSection.prototype, "_consoleSelect", 2);
172
+ __decorateClass([
173
+ query("md-outlined-select[name='file']")
174
+ ], LogLevelSection.prototype, "_fileSelect", 2);
175
+ LogLevelSection = __decorateClass([
176
+ customElement("log-level-section")
177
+ ], LogLevelSection);
178
+ export {
179
+ LogLevelSection
180
+ };
181
+ //# sourceMappingURL=log-level-section.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/dialogs/settings/log-level-section.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import "@material/web/button/text-button";
7
+ import "@material/web/dialog/dialog";
8
+ import "@material/web/divider/divider";
9
+ import "@material/web/switch/switch";
10
+ import { MatterClient } from "@matter-server/ws-client";
11
+ import { LitElement } from "lit";
12
+ import "./log-level-section.js";
13
+ export declare class SettingsDialog extends LitElement {
14
+ client: MatterClient;
15
+ private _devMode;
16
+ private _unsubscribeDev?;
17
+ connectedCallback(): void;
18
+ disconnectedCallback(): void;
19
+ private _close;
20
+ private _handleClosed;
21
+ private _onDevToggle;
22
+ private _copyDevLink;
23
+ protected render(): import("lit-html").TemplateResult<1>;
24
+ static styles: import("lit").CSSResult;
25
+ }
26
+ declare global {
27
+ interface HTMLElementTagNameMap {
28
+ "settings-dialog": SettingsDialog;
29
+ }
30
+ }
31
+ //# sourceMappingURL=settings-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/settings/settings-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAI5C,OAAO,wBAAwB,CAAC;AAEhC,qBACa,cAAe,SAAQ,UAAU;IAEnC,MAAM,EAAG,YAAY,CAAC;IAEpB,OAAO,CAAC,QAAQ,CAAyB;IAElD,OAAO,CAAC,eAAe,CAAC,CAAa;IAE5B,iBAAiB,SAKzB;IAEQ,oBAAoB,SAG5B;IAED,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,YAAY;IAQpB,UAAmB,MAAM,yCAsCxB;IAED,OAAgB,MAAM,0BAwDpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,iBAAiB,EAAE,cAAc,CAAC;KACrC;CACJ"}