@matter-server/dashboard 0.2.7-alpha.0-20260118-45c7af0 → 0.2.7-alpha.0-20260119-49e7237

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 (68) hide show
  1. package/dist/esm/components/dialogs/binding/node-binding-dialog.d.ts.map +1 -1
  2. package/dist/esm/components/dialogs/binding/node-binding-dialog.js +3 -2
  3. package/dist/esm/components/dialogs/binding/node-binding-dialog.js.map +1 -1
  4. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.d.ts.map +1 -1
  5. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.js +2 -1
  6. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.js.map +1 -1
  7. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.d.ts.map +1 -1
  8. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.js +3 -2
  9. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.js.map +1 -1
  10. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.d.ts.map +1 -1
  11. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.js +5 -4
  12. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.js.map +1 -1
  13. package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts.map +1 -1
  14. package/dist/esm/components/dialogs/settings/log-level-dialog.js +6 -2
  15. package/dist/esm/components/dialogs/settings/log-level-dialog.js.map +1 -1
  16. package/dist/esm/pages/cluster-commands/clusters/level-control-commands.d.ts.map +1 -1
  17. package/dist/esm/pages/cluster-commands/clusters/level-control-commands.js +5 -2
  18. package/dist/esm/pages/cluster-commands/clusters/level-control-commands.js.map +1 -1
  19. package/dist/esm/pages/cluster-commands/clusters/on-off-commands.d.ts.map +1 -1
  20. package/dist/esm/pages/cluster-commands/clusters/on-off-commands.js +6 -3
  21. package/dist/esm/pages/cluster-commands/clusters/on-off-commands.js.map +1 -1
  22. package/dist/esm/pages/components/node-details.d.ts.map +1 -1
  23. package/dist/esm/pages/components/node-details.js +6 -5
  24. package/dist/esm/pages/components/node-details.js.map +1 -1
  25. package/dist/esm/pages/components/server-details.d.ts.map +1 -1
  26. package/dist/esm/pages/components/server-details.js +3 -2
  27. package/dist/esm/pages/components/server-details.js.map +1 -1
  28. package/dist/esm/pages/matter-server-view.d.ts.map +1 -1
  29. package/dist/esm/pages/matter-server-view.js +14 -1
  30. package/dist/esm/pages/matter-server-view.js.map +1 -1
  31. package/dist/esm/util/async-handler.d.ts +50 -0
  32. package/dist/esm/util/async-handler.d.ts.map +1 -0
  33. package/dist/esm/util/async-handler.js +33 -0
  34. package/dist/esm/util/async-handler.js.map +6 -0
  35. package/dist/esm/util/fire_event.d.ts.map +1 -1
  36. package/dist/esm/util/fire_event.js +1 -2
  37. package/dist/esm/util/fire_event.js.map +1 -1
  38. package/dist/esm/util/format_hex.d.ts +13 -2
  39. package/dist/esm/util/format_hex.d.ts.map +1 -1
  40. package/dist/esm/util/format_hex.js +6 -1
  41. package/dist/esm/util/format_hex.js.map +1 -1
  42. package/dist/web/js/{commission-node-dialog-CoaDIV2Y.js → commission-node-dialog-B4_wgFye.js} +5 -5
  43. package/dist/web/js/{commission-node-existing-DEU_mJjO.js → commission-node-existing-BktL7vHX.js} +6 -6
  44. package/dist/web/js/{commission-node-thread-DZ6DghSs.js → commission-node-thread-ox6fB3dO.js} +7 -7
  45. package/dist/web/js/{commission-node-wifi-DOyin0q3.js → commission-node-wifi-Dlayi41Z.js} +9 -9
  46. package/dist/web/js/{dialog-box-B5sunUPv.js → dialog-box-DFs0hcPv.js} +2 -2
  47. package/dist/web/js/{fire_event-C9Duc1j-.js → fire_event-oVtV3_P5.js} +2 -3
  48. package/dist/web/js/{log-level-dialog-B7LsZYUL.js → log-level-dialog-BVxKJJ49.js} +8 -5
  49. package/dist/web/js/main.js +151 -73
  50. package/dist/web/js/{matter-dashboard-app-DlHSE_Qh.js → matter-dashboard-app-Dr-IYMsD.js} +62 -17
  51. package/dist/web/js/{node-binding-dialog-BifZsigR.js → node-binding-dialog-CqE3VuZN.js} +6 -6
  52. package/dist/web/js/{outlined-text-field-D2BOt1yD.js → outlined-text-field-BVcHUxiS.js} +3 -3
  53. package/dist/web/js/{prevent_default-CuW2EnKR.js → prevent_default-tLhqZmsK.js} +1 -1
  54. package/dist/web/js/{validator-MOJiFndw.js → validator-muF28wYx.js} +1 -1
  55. package/package.json +3 -3
  56. package/src/components/dialogs/binding/node-binding-dialog.ts +3 -2
  57. package/src/components/dialogs/commission-node-dialog/commission-node-existing.ts +2 -1
  58. package/src/components/dialogs/commission-node-dialog/commission-node-thread.ts +3 -2
  59. package/src/components/dialogs/commission-node-dialog/commission-node-wifi.ts +5 -4
  60. package/src/components/dialogs/settings/log-level-dialog.ts +6 -2
  61. package/src/pages/cluster-commands/clusters/level-control-commands.ts +5 -2
  62. package/src/pages/cluster-commands/clusters/on-off-commands.ts +6 -3
  63. package/src/pages/components/node-details.ts +6 -5
  64. package/src/pages/components/server-details.ts +3 -3
  65. package/src/pages/matter-server-view.ts +17 -2
  66. package/src/util/async-handler.ts +74 -0
  67. package/src/util/fire_event.ts +1 -3
  68. package/src/util/format_hex.ts +17 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-handler.d.ts","sourceRoot":"","sources":["../../../src/util/async-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI,CAOjG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAC/C,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GACjC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAOpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAK5F"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ function handleAsync(fn, onError) {
7
+ return () => {
8
+ fn().catch((error) => {
9
+ console.error("Async operation failed:", error);
10
+ onError?.(error);
11
+ });
12
+ };
13
+ }
14
+ function handleAsyncEvent(fn, onError) {
15
+ return (event) => {
16
+ fn(event).catch((error) => {
17
+ console.error("Async operation failed:", error);
18
+ onError?.(error);
19
+ });
20
+ };
21
+ }
22
+ function fireAndForget(promise, onError) {
23
+ promise.catch((error) => {
24
+ console.error("Async operation failed:", error);
25
+ onError?.(error);
26
+ });
27
+ }
28
+ export {
29
+ fireAndForget,
30
+ handleAsync,
31
+ handleAsyncEvent
32
+ };
33
+ //# sourceMappingURL=async-handler.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/async-handler.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,SAAS,YAAe,IAAsB,SAA8C;AAC/F,SAAO,MAAM;AACT,OAAG,EAAE,MAAM,CAAC,UAAiB;AACzB,cAAQ,MAAM,2BAA2B,KAAK;AAC9C,gBAAU,KAAK;AAAA,IACnB,CAAC;AAAA,EACL;AACJ;AAUO,SAAS,iBACZ,IACA,SACkB;AAClB,SAAO,CAAC,UAAa;AACjB,OAAG,KAAK,EAAE,MAAM,CAAC,UAAiB;AAC9B,cAAQ,MAAM,2BAA2B,KAAK;AAC9C,gBAAU,KAAK;AAAA,IACnB,CAAC;AAAA,EACL;AACJ;AAiBO,SAAS,cAAiB,SAAqB,SAAwC;AAC1F,UAAQ,MAAM,CAAC,UAAiB;AAC5B,YAAQ,MAAM,2BAA2B,KAAK;AAC9C,cAAU,KAAK;AAAA,EACnB,CAAC;AACL;",
5
+ "names": []
6
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"fire_event.d.ts","sourceRoot":"","sources":["../../../src/util/fire_event.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,aAAa;KAAG;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,KAAK;IAC1C,MAAM,EAAE,CAAC,CAAC;CACb;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,SAAS,iBAAiB,EACzD,MAAM,WAAW,GAAG,MAAM,EAC1B,MAAM,SAAS,EACf,SAAS,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU;IACN,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,UAaJ,CAAC"}
1
+ {"version":3,"file":"fire_event.d.ts","sourceRoot":"","sources":["../../../src/util/fire_event.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,aAAa;KAAG;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,KAAK;IAC1C,MAAM,EAAE,CAAC,CAAC;CACb;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,SAAS,iBAAiB,EACzD,MAAM,WAAW,GAAG,MAAM,EAC1B,MAAM,SAAS,EACf,SAAS,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU;IACN,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,UAWJ,CAAC"}
@@ -5,13 +5,12 @@
5
5
  */
6
6
  const fireEvent = (node, type, detail, options) => {
7
7
  options = options || {};
8
- detail = detail === null || detail === void 0 ? {} : detail;
9
8
  const event = new Event(type, {
10
9
  bubbles: options.bubbles === void 0 ? true : options.bubbles,
11
10
  cancelable: Boolean(options.cancelable),
12
11
  composed: options.composed === void 0 ? true : options.composed
13
12
  });
14
- event.detail = detail;
13
+ event.detail = detail ?? {};
15
14
  node.dispatchEvent(event);
16
15
  return event;
17
16
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/fire_event.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AA6DO,MAAM,YAAY,CACrB,MACA,MACA,QACA,YAKC;AACD,YAAU,WAAW,CAAC;AAEtB,WAAS,WAAW,QAAQ,WAAW,SAAY,CAAC,IAAI;AACxD,QAAM,QAAQ,IAAI,MAAM,MAAM;AAAA,IAC1B,SAAS,QAAQ,YAAY,SAAY,OAAO,QAAQ;AAAA,IACxD,YAAY,QAAQ,QAAQ,UAAU;AAAA,IACtC,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,EAC9D,CAAC;AACD,EAAC,MAAc,SAAS;AACxB,OAAK,cAAc,KAAK;AACxB,SAAO;AACX;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AA6DO,MAAM,YAAY,CACrB,MACA,MACA,QACA,YAKC;AACD,YAAU,WAAW,CAAC;AACtB,QAAM,QAAQ,IAAI,MAAM,MAAM;AAAA,IAC1B,SAAS,QAAQ,YAAY,SAAY,OAAO,QAAQ;AAAA,IACxD,YAAY,QAAQ,QAAQ,UAAU;AAAA,IACtC,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,EAC9D,CAAC;AACD,EAAC,MAAc,SAAS,UAAU,CAAC;AACnC,OAAK,cAAc,KAAK;AACxB,SAAO;AACX;",
5
5
  "names": []
6
6
  }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /**
7
- * Format a number as a hex string with 0x prefix.
7
+ * Format a number or bigint as a hex string with 0x prefix.
8
8
  * Ensures even number of digits with a minimum of 4 digits.
9
9
  *
10
10
  * Examples:
@@ -13,5 +13,16 @@
13
13
  * 65535 -> "0xFFFF"
14
14
  * 65536 -> "0x010000"
15
15
  */
16
- export declare function formatHex(value: number): string;
16
+ export declare function formatHex(value: number | bigint): string;
17
+ /**
18
+ * Format a node address in Matter format: @fabricIndex:nodeIdHex
19
+ * For test nodes (where fabric index is unknown), uses "?" as the fabric index.
20
+ *
21
+ * Examples:
22
+ * (1, 2) -> "@1:2"
23
+ * (1, 255) -> "@1:ff"
24
+ * (2, 65535) -> "@2:ffff"
25
+ * (undefined, 2) -> "@?:2"
26
+ */
27
+ export declare function formatNodeAddress(fabricIndex: number | undefined, nodeId: number | bigint): string;
17
28
  //# sourceMappingURL=format_hex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format_hex.d.ts","sourceRoot":"","sources":["../../../src/util/format_hex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa/C"}
1
+ {"version":3,"file":"format_hex.d.ts","sourceRoot":"","sources":["../../../src/util/format_hex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAaxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGlG"}
@@ -12,7 +12,12 @@ function formatHex(value) {
12
12
  }
13
13
  return `0x${hex}`;
14
14
  }
15
+ function formatNodeAddress(fabricIndex, nodeId) {
16
+ const fabricPart = fabricIndex !== void 0 ? fabricIndex : "?";
17
+ return `@${fabricPart}:${nodeId.toString(16)}`;
18
+ }
15
19
  export {
16
- formatHex
20
+ formatHex,
21
+ formatNodeAddress
17
22
  };
18
23
  //# sourceMappingURL=format_hex.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/format_hex.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAgBO,SAAS,UAAU,OAAuB;AAC7C,MAAI,MAAM,MAAM,SAAS,EAAE,EAAE,YAAY;AAGzC,MAAI,IAAI,SAAS,GAAG;AAChB,UAAM,IAAI,SAAS,GAAG,GAAG;AAAA,EAC7B,WAES,IAAI,SAAS,MAAM,GAAG;AAC3B,UAAM,MAAM;AAAA,EAChB;AAEA,SAAO,KAAK,GAAG;AACnB;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAgBO,SAAS,UAAU,OAAgC;AACtD,MAAI,MAAM,MAAM,SAAS,EAAE,EAAE,YAAY;AAGzC,MAAI,IAAI,SAAS,GAAG;AAChB,UAAM,IAAI,SAAS,GAAG,GAAG;AAAA,EAC7B,WAES,IAAI,SAAS,MAAM,GAAG;AAC3B,UAAM,MAAM;AAAA,EAChB;AAEA,SAAO,KAAK,GAAG;AACnB;AAYO,SAAS,kBAAkB,aAAiC,QAAiC;AAChG,QAAM,aAAa,gBAAgB,SAAY,cAAc;AAC7D,SAAO,IAAI,UAAU,IAAI,OAAO,SAAS,EAAE,CAAC;AAChD;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,5 @@
1
- import { r, n, t, i, h as b } from './matter-dashboard-app-DlHSE_Qh.js';
2
- import { p as preventDefault } from './prevent_default-CuW2EnKR.js';
1
+ import { r, n, t, i, h as b } from './matter-dashboard-app-Dr-IYMsD.js';
2
+ import { p as preventDefault } from './prevent_default-tLhqZmsK.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -44,18 +44,18 @@ let ComissionNodeDialog = class extends i {
44
44
  if (!this.client.serverInfo.bluetooth_enabled) {
45
45
  return;
46
46
  }
47
- import('./commission-node-wifi-DOyin0q3.js');
47
+ import('./commission-node-wifi-Dlayi41Z.js');
48
48
  this._mode = "wifi";
49
49
  }
50
50
  _commissionThread() {
51
51
  if (!this.client.serverInfo.bluetooth_enabled) {
52
52
  return;
53
53
  }
54
- import('./commission-node-thread-DZ6DghSs.js');
54
+ import('./commission-node-thread-ox6fB3dO.js');
55
55
  this._mode = "thread";
56
56
  }
57
57
  _commissionExisting() {
58
- import('./commission-node-existing-DEU_mJjO.js');
58
+ import('./commission-node-existing-BktL7vHX.js');
59
59
  this._mode = "existing";
60
60
  }
61
61
  _nodeCommissioned(ev) {
@@ -1,9 +1,9 @@
1
- import { r, p as c, n, q as clientContext, a as e, t, i, A, h as b } from './matter-dashboard-app-DlHSE_Qh.js';
2
- import { f as fireEvent } from './fire_event-C9Duc1j-.js';
3
- import './outlined-text-field-D2BOt1yD.js';
1
+ import { r, s as c, n, v as clientContext, a as e, t, i, q as handleAsync, A, h as b } from './matter-dashboard-app-Dr-IYMsD.js';
2
+ import { f as fireEvent } from './fire_event-oVtV3_P5.js';
3
+ import './outlined-text-field-BVcHUxiS.js';
4
4
  import './main.js';
5
- import './validator-MOJiFndw.js';
6
- import './prevent_default-CuW2EnKR.js';
5
+ import './validator-muF28wYx.js';
6
+ import './prevent_default-tLhqZmsK.js';
7
7
 
8
8
  var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -22,7 +22,7 @@ let CommissionNodeExisting = class extends i {
22
22
  return b`<md-outlined-text-field label="Share code" .disabled="${this._loading}"> </md-outlined-text-field>
23
23
  <br />
24
24
  <br />
25
- <md-outlined-button @click=${this._commissionNode} .disabled="${this._loading}"
25
+ <md-outlined-button @click=${handleAsync(() => this._commissionNode())} .disabled="${this._loading}"
26
26
  >Commission</md-outlined-button
27
27
  >${this._loading ? b`<md-circular-progress indeterminate></md-circular-progress>` : A}`;
28
28
  }
@@ -1,9 +1,9 @@
1
- import { r, p as c, n, q as clientContext, a as e, t, i, A, h as b } from './matter-dashboard-app-DlHSE_Qh.js';
2
- import { f as fireEvent } from './fire_event-C9Duc1j-.js';
3
- import './outlined-text-field-D2BOt1yD.js';
1
+ import { r, s as c, n, v as clientContext, a as e, t, i, q as handleAsync, A, h as b } from './matter-dashboard-app-Dr-IYMsD.js';
2
+ import { f as fireEvent } from './fire_event-oVtV3_P5.js';
3
+ import './outlined-text-field-BVcHUxiS.js';
4
4
  import './main.js';
5
- import './validator-MOJiFndw.js';
6
- import './prevent_default-CuW2EnKR.js';
5
+ import './validator-muF28wYx.js';
6
+ import './prevent_default-tLhqZmsK.js';
7
7
 
8
8
  var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -24,14 +24,14 @@ let CommissionNodeThread = class extends i {
24
24
  </md-outlined-text-field>
25
25
  <br />
26
26
  <br />
27
- <md-outlined-button @click=${this._setThreadDataset} .disabled="${this._loading}"
27
+ <md-outlined-button @click=${handleAsync(() => this._setThreadDataset())} .disabled="${this._loading}"
28
28
  >Set Thread Dataset</md-outlined-button
29
29
  >${this._loading ? b`<md-circular-progress indeterminate></md-circular-progress>` : A}`;
30
30
  }
31
31
  return b`<md-outlined-text-field label="Pairing code" .disabled="${this._loading}"> </md-outlined-text-field>
32
32
  <br />
33
33
  <br />
34
- <md-outlined-button @click=${this._commissionNode} .disabled="${this._loading}"
34
+ <md-outlined-button @click=${handleAsync(() => this._commissionNode())} .disabled="${this._loading}"
35
35
  >Commission</md-outlined-button
36
36
  >${this._loading ? b`<md-circular-progress indeterminate></md-circular-progress>` : A}`;
37
37
  }
@@ -1,9 +1,9 @@
1
- import { r, p as c, n, q as clientContext, a as e, t, i, A, h as b } from './matter-dashboard-app-DlHSE_Qh.js';
2
- import { f as fireEvent } from './fire_event-C9Duc1j-.js';
3
- import './outlined-text-field-D2BOt1yD.js';
1
+ import { r, s as c, n, v as clientContext, a as e, t, i, q as handleAsync, A, h as b } from './matter-dashboard-app-Dr-IYMsD.js';
2
+ import { f as fireEvent } from './fire_event-oVtV3_P5.js';
3
+ import './outlined-text-field-BVcHUxiS.js';
4
4
  import './main.js';
5
- import './validator-MOJiFndw.js';
6
- import './prevent_default-CuW2EnKR.js';
5
+ import './validator-muF28wYx.js';
6
+ import './prevent_default-tLhqZmsK.js';
7
7
 
8
8
  var __defProp = Object.defineProperty;
9
9
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -25,18 +25,18 @@ let CommissionNodeWifi = class extends i {
25
25
  </md-outlined-text-field>
26
26
  <br />
27
27
  <br />
28
- <md-outlined-button @click=${this._setWifiCredentials} .disabled="${this._loading}"
28
+ <md-outlined-button @click=${handleAsync(() => this._setWifiCredentials())} .disabled="${this._loading}"
29
29
  >Set WiFi Credentials</md-outlined-button
30
30
  >${this._loading ? b`<md-circular-progress indeterminate .visible="${this._loading}"></md-circular-progress>` : A}`;
31
31
  }
32
32
  return b`<md-outlined-text-field label="Pairing code" .disabled="${this._loading}"> </md-outlined-text-field>
33
33
  <br />
34
34
  <br />
35
- <md-outlined-button @click=${this._commissionNode} .disabled="${this._loading}"
35
+ <md-outlined-button @click=${handleAsync(() => this._commissionNode())} .disabled="${this._loading}"
36
36
  >Commission</md-outlined-button
37
37
  >${this._loading ? b`<md-circular-progress indeterminate></md-circular-progress>` : A}`;
38
38
  }
39
- _setWifiCredentials() {
39
+ async _setWifiCredentials() {
40
40
  const ssid = this._ssidField.value;
41
41
  if (!ssid) {
42
42
  alert("SSID is required");
@@ -49,7 +49,7 @@ let CommissionNodeWifi = class extends i {
49
49
  }
50
50
  this._loading = true;
51
51
  try {
52
- this.client.setWifiCredentials(ssid, password);
52
+ await this.client.setWifiCredentials(ssid, password);
53
53
  } catch (err) {
54
54
  alert(`Error setting WiFi credentials:
55
55
  ${err.message}`);
@@ -1,5 +1,5 @@
1
- import { n, t, i, h as b } from './matter-dashboard-app-DlHSE_Qh.js';
2
- import { p as preventDefault } from './prevent_default-CuW2EnKR.js';
1
+ import { n, t, i, h as b } from './matter-dashboard-app-Dr-IYMsD.js';
2
+ import { p as preventDefault } from './prevent_default-tLhqZmsK.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- import { m as mixinDelegatesAria, i, _ as __decorate, n, f as e, A, h as b, j as i$1, t } from './matter-dashboard-app-DlHSE_Qh.js';
1
+ import { m as mixinDelegatesAria, i, _ as __decorate, n, f as e, A, h as b, j as i$1, t } from './matter-dashboard-app-Dr-IYMsD.js';
2
2
 
3
3
  /**
4
4
  * @license
@@ -155,13 +155,12 @@ MdCircularProgress = __decorate([t('md-circular-progress')], MdCircularProgress)
155
155
  */
156
156
  const fireEvent = (node, type, detail, options) => {
157
157
  options = options || {};
158
- detail = detail === null || detail === void 0 ? {} : detail;
159
158
  const event = new Event(type, {
160
159
  bubbles: options.bubbles === void 0 ? true : options.bubbles,
161
160
  cancelable: Boolean(options.cancelable),
162
161
  composed: options.composed === void 0 ? true : options.composed
163
162
  });
164
- event.detail = detail;
163
+ event.detail = detail ?? {};
165
164
  node.dispatchEvent(event);
166
165
  return event;
167
166
  };
@@ -1,6 +1,6 @@
1
- import { e, N as NavigableKeys, _ as __decorate, a as e$1, n as n$1, o, r, i, c as createAnimationSignal, L as ListController, g as getActiveItem, b as getLastActivatableItem, d as getFirstActivatableItem, f as e$2, A, h as b, E as EASING, j as i$1, t, D, m as mixinDelegatesAria, k as mixinElementInternals, u, l as i$2 } from './matter-dashboard-app-DlHSE_Qh.js';
2
- import { r as redispatchEvent, p as preventDefault } from './prevent_default-CuW2EnKR.js';
3
- import { o as o$1, V as Validator, m as mixinOnReportValidity, a as mixinConstraintValidation, b as mixinFormAssociated, c as onReportValidity, g as getFormValue, d as createValidator, e as getValidityAnchor } from './validator-MOJiFndw.js';
1
+ import { e, N as NavigableKeys, _ as __decorate, a as e$1, n as n$1, o, r, i, c as createAnimationSignal, L as ListController, g as getActiveItem, b as getLastActivatableItem, d as getFirstActivatableItem, f as e$2, A, h as b, E as EASING, j as i$1, t, D, m as mixinDelegatesAria, k as mixinElementInternals, u, l as i$2, p as fireAndForget, q as handleAsync } from './matter-dashboard-app-Dr-IYMsD.js';
2
+ import { r as redispatchEvent, p as preventDefault } from './prevent_default-tLhqZmsK.js';
3
+ import { o as o$1, V as Validator, m as mixinOnReportValidity, a as mixinConstraintValidation, b as mixinFormAssociated, c as onReportValidity, g as getFormValue, d as createValidator, e as getValidityAnchor } from './validator-muF28wYx.js';
4
4
  import './main.js';
5
5
 
6
6
  /**
@@ -3106,7 +3106,7 @@ let LogLevelDialog = class extends i {
3106
3106
  }
3107
3107
  connectedCallback() {
3108
3108
  super.connectedCallback();
3109
- void this._loadLogLevels();
3109
+ fireAndForget(this._loadLogLevels());
3110
3110
  }
3111
3111
  async _loadLogLevels() {
3112
3112
  try {
@@ -3181,7 +3181,10 @@ let LogLevelDialog = class extends i {
3181
3181
  </div>
3182
3182
  <div slot="actions">
3183
3183
  <md-text-button @click=${this._close}>Cancel</md-text-button>
3184
- <md-text-button @click=${this._apply} ?disabled=${this._loading || this._applying}>
3184
+ <md-text-button
3185
+ @click=${handleAsync(() => this._apply())}
3186
+ ?disabled=${this._loading || this._applying}
3187
+ >
3185
3188
  ${this._applying ? "Applying..." : "Apply"}
3186
3189
  </md-text-button>
3187
3190
  </div>