@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
@@ -1 +1 @@
1
- {"version":3,"file":"dialog-box.d.ts","sourceRoot":"","sources":["../../../../src/components/dialog-box/dialog-box.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,qBACa,SAAU,SAAQ,UAAU;IACE,MAAM,EAAG,qBAAqB,CAAC;IAE/B,YAAY,EAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7D,IAAI,EAAG,OAAO,GAAG,QAAQ,CAAC;cAE1B,MAAM;IAwBzB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IAIhB,UAAU,CAAC,MAAM,EAAE,OAAO;IAK1B,OAAO,CAAC,aAAa;IAIrB,OAAgB,MAAM,0BAapB;CACL;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,YAAY,EAAE,SAAS,CAAC;KAC3B;CACJ"}
1
+ {"version":3,"file":"dialog-box.d.ts","sourceRoot":"","sources":["../../../../src/components/dialog-box/dialog-box.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,qBACa,SAAU,SAAQ,UAAU;IACE,MAAM,EAAG,qBAAqB,CAAC;IAE/B,YAAY,EAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7D,IAAI,EAAG,OAAO,GAAG,QAAQ,CAAC;IAE7C,UAAmB,MAAM,yCAsBxB;IAED,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,QAAQ;IAIhB,UAAU,CAAC,MAAM,EAAE,OAAO,QAGzB;IAED,OAAO,CAAC,aAAa;IAIrB,OAAgB,MAAM,0BAapB;CACL;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,YAAY,EAAE,SAAS,CAAC;KAC3B;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"show-dialog-box.d.ts","sourceRoot":"","sources":["../../../../src/components/dialog-box/show-dialog-box.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1C,UAAU,mBAAmB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD,eAAO,MAAM,eAAe,GAAI,cAAc,mBAAmB,qBAAyC,CAAC;AAE3G,eAAO,MAAM,gBAAgB,GAAI,cAAc,mBAAmB,qBAA0C,CAAC"}
1
+ {"version":3,"file":"show-dialog-box.d.ts","sourceRoot":"","sources":["../../../../src/components/dialog-box/show-dialog-box.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1C,UAAU,mBAAmB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD,eAAO,MAAM,eAAe,iBAAkB,mBAAmB,qBAAyC,CAAC;AAE3G,eAAO,MAAM,gBAAgB,iBAAkB,mBAAmB,qBAA0C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/acl/model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,yBAAyB,GAAG;IACpC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACzB,GAAG,EAAE,yBAAyB,EAAE,GAAG,SAAS,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B,OAAO,EAAE,yBAAyB,EAAE,GAAG,SAAS,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,8BAA8B;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAMjC;WAEY,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,yBAAyB;CAoBjE;AAED,qBAAa,iCAAiC;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAQjC;WAEY,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,wBAAwB;CAkChE"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/acl/model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,yBAAyB,GAAG;IACpC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACzB,GAAG,EAAE,yBAAyB,EAAE,GAAG,SAAS,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B,OAAO,EAAE,yBAAyB,EAAE,GAAG,SAAS,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,8BAA8B;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAMjC;IAEF,OAAc,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,yBAAyB,CAmB7D;CACJ;AAED,qBAAa,iCAAiC;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAQjC;IAEF,OAAc,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,wBAAwB,CAiC5D;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,qBAAa,2BAA2B;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAQjC;WAEY,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,kBAAkB;CA6B1D"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,qBAAa,2BAA2B;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAQjC;IAEF,OAAc,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,kBAAkB,CA4BtD;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-binding-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/node-binding-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,6CAA6C,CAAC;AAErD,OAAO,iCAAiC,CAAC;AAEzC,OAAO,EAAqC,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAcrD,qBACa,iBAAkB,SAAQ,UAAU;IAGtC,MAAM,EAAG,YAAY,CAAC;IAGtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAGzB,QAAQ,EAAG,MAAM,CAAC;IAGlB,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,eAAe,CAAuB;IAG9C,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,aAAa;YAUP,oBAAoB;YA4CpB,oBAAoB;IAgBlC,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,oBAAoB;YAId,kBAAkB;IAgBhC,OAAO,CAAC,0BAA0B;YAKpB,cAAc;IAiC5B,kFAAkF;IAClF,OAAO,CAAC,eAAe;IASvB,6FAA6F;IAC7F,OAAO,CAAC,oBAAoB;YAcd,YAAY;IAyBpB,iBAAiB;IAkFvB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,QAAQ;cAmBG,MAAM;IAoFzB,OAAgB,MAAM,0BAsCpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ"}
1
+ {"version":3,"file":"node-binding-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/node-binding-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,6CAA6C,CAAC;AAErD,OAAO,iCAAiC,CAAC;AAEzC,OAAO,EAAqC,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAcrD,qBACa,iBAAkB,SAAQ,UAAU;IAGtC,MAAM,EAAG,YAAY,CAAC;IAGtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAGzB,QAAQ,EAAG,MAAM,CAAC;IAGlB,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,eAAe,CAAuB;IAG9C,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,aAAa;YAUP,oBAAoB;YA4CpB,oBAAoB;IAgBlC,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,oBAAoB;YAId,kBAAkB;IAgBhC,OAAO,CAAC,0BAA0B;YAKpB,cAAc;IAiC5B,kFAAkF;IAClF,OAAO,CAAC,eAAe;IASvB,6FAA6F;IAC7F,OAAO,CAAC,oBAAoB;YAcd,YAAY;IAyBpB,iBAAiB,kBAgFtB;IAED,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,QAAQ;IAmBhB,UAAmB,MAAM,yCAkFxB;IAED,OAAgB,MAAM,0BAsCpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"show-node-binding-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/show-node-binding-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpE,eAAO,MAAM,qBAAqB,GAAU,QAAQ,YAAY,EAAE,MAAM,UAAU,EAAE,UAAU,MAAM,kBAOnG,CAAC"}
1
+ {"version":3,"file":"show-node-binding-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/show-node-binding-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpE,eAAO,MAAM,qBAAqB,WAAkB,YAAY,QAAQ,UAAU,YAAY,MAAM,kBAOnG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commission-node-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAIvC,qBACa,mBAAoB,SAAQ,UAAU;IACR,MAAM,EAAG,YAAY,CAAC;IAEpD,OAAO,CAAC,KAAK,CAAC,CAAiC;cAErC,MAAM;IAoCzB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;CAGxB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,wBAAwB,EAAE,mBAAmB,CAAC;KACjD;IAED,UAAU,aAAa;QACnB,mBAAmB,EAAE,UAAU,CAAC;KACnC;CACJ"}
1
+ {"version":3,"file":"commission-node-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAIvC,qBACa,mBAAoB,SAAQ,UAAU;IACR,MAAM,EAAG,YAAY,CAAC;IAEpD,OAAO,CAAC,KAAK,CAAC,CAAiC;IAExD,UAAmB,MAAM,yCAkCxB;IAED,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;CAGxB;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,wBAAwB,EAAE,mBAAmB,CAAC;KACjD;IAED,UAAU,aAAa;QACnB,mBAAmB,EAAE,UAAU,CAAC;KACnC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"commission-node-existing.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-existing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,0CAA0C,CAAC;AAClD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD,qBACa,sBAAuB,SAAQ,UAAU;IAG3C,MAAM,EAAG,YAAY,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,iBAAiB,CAAuB;cAE7B,MAAM;YASX,eAAe;CAWhC"}
1
+ {"version":3,"file":"commission-node-existing.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-existing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,0CAA0C,CAAC;AAClD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD,qBACa,sBAAuB,SAAQ,UAAU;IAG3C,MAAM,EAAG,YAAY,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,UAAmB,MAAM,yCAOxB;YAEa,eAAe;CAWhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commission-node-thread.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-thread.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,0CAA0C,CAAC;AAClD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD,qBACa,oBAAqB,SAAQ,UAAU;IAGzC,MAAM,EAAG,YAAY,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,iBAAiB,CAAuB;cAE7B,MAAM;YAsBX,iBAAiB;YAuBjB,eAAe;CAWhC"}
1
+ {"version":3,"file":"commission-node-thread.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-thread.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,0CAA0C,CAAC;AAClD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD,qBACa,oBAAqB,SAAQ,UAAU;IAGzC,MAAM,EAAG,YAAY,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,aAAa,CAAuB;IAE5C,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,UAAmB,MAAM,yCAoBxB;YAEa,iBAAiB;YAuBjB,eAAe;CAWhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commission-node-wifi.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-wifi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,0CAA0C,CAAC;AAClD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD,qBACa,kBAAmB,SAAQ,UAAU;IAGvC,MAAM,EAAG,YAAY,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,UAAU,CAAuB;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,iBAAiB,CAAuB;cAE7B,MAAM;YAwBX,mBAAmB;YAqBnB,eAAe;CAehC"}
1
+ {"version":3,"file":"commission-node-wifi.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/commission-node-wifi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,0CAA0C,CAAC;AAClD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAOhD,qBACa,kBAAmB,SAAQ,UAAU;IAGvC,MAAM,EAAG,YAAY,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,UAAU,CAAuB;IAEzC,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,UAAmB,MAAM,yCAsBxB;YAEa,mBAAmB;YAqBnB,eAAe;CAehC"}
@@ -1 +1 @@
1
- {"version":3,"file":"show-commission-node-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/show-commission-node-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,eAAO,MAAM,wBAAwB,GAAU,QAAQ,YAAY,kBAKlE,CAAC"}
1
+ {"version":3,"file":"show-commission-node-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/commission-node-dialog/show-commission-node-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,eAAO,MAAM,wBAAwB,WAAkB,YAAY,kBAKlE,CAAC"}
@@ -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/dialog/dialog";
8
+ import { MatterClient } from "@matter-server/ws-client";
9
+ import { LitElement } from "lit";
10
+ export declare class AttributeWriteDialog extends LitElement {
11
+ client: MatterClient;
12
+ nodeId: number | bigint;
13
+ endpointId: number;
14
+ clusterId: number;
15
+ attributeId: number;
16
+ label: string;
17
+ currentValue: unknown;
18
+ private _busy;
19
+ private _error;
20
+ private _textarea;
21
+ protected firstUpdated(): void;
22
+ private get _attributePath();
23
+ private _close;
24
+ private _handleClosed;
25
+ private _write;
26
+ protected render(): import("lit-html").TemplateResult<1>;
27
+ static styles: import("lit").CSSResult;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ "attribute-write-dialog": AttributeWriteDialog;
32
+ }
33
+ }
34
+ //# sourceMappingURL=attribute-write-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-write-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/dev/attribute-write-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAOrD,qBACa,oBAAqB,SAAQ,UAAU;IAEzC,MAAM,EAAG,YAAY,CAAC;IAEM,MAAM,EAAG,MAAM,GAAG,MAAM,CAAC;IACzB,UAAU,EAAG,MAAM,CAAC;IACpB,SAAS,EAAG,MAAM,CAAC;IACnB,WAAW,EAAG,MAAM,CAAC;IACrB,KAAK,EAAG,MAAM,CAAC;IACX,YAAY,EAAE,OAAO,CAAQ;IAE3D,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAuB;IAE3B,OAAO,CAAC,SAAS,CAAuB;IAE3D,UAAmB,YAAY,SAM9B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;YAIP,MAAM;IAkBpB,UAAmB,MAAM,yCA+BxB;IAED,OAAgB,MAAM,0BAwDpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,wBAAwB,EAAE,oBAAoB,CAAC;KAClD;CACJ"}
@@ -0,0 +1,187 @@
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/dialog/dialog";
18
+ import { toBigIntAwareJson } from "@matter-server/ws-client";
19
+ import { css, html, LitElement, nothing } from "lit";
20
+ import { customElement, property, query, state } from "lit/decorators.js";
21
+ import { handleAsync } from "../../../util/async-handler.js";
22
+ import { formatHex } from "../../../util/format_hex.js";
23
+ import { preventDefault } from "../../../util/prevent_default.js";
24
+ import { parseJsonPayload } from "./parse-json-payload.js";
25
+ let AttributeWriteDialog = class extends LitElement {
26
+ constructor() {
27
+ super(...arguments);
28
+ this.currentValue = null;
29
+ this._busy = false;
30
+ this._error = null;
31
+ }
32
+ firstUpdated() {
33
+ if (this._textarea && this._textarea.value === "") {
34
+ this._textarea.value = toBigIntAwareJson(this.currentValue ?? null, 2);
35
+ }
36
+ }
37
+ get _attributePath() {
38
+ return `${this.endpointId}/${this.clusterId}/${this.attributeId}`;
39
+ }
40
+ _close() {
41
+ this.shadowRoot.querySelector("md-dialog").close();
42
+ }
43
+ _handleClosed() {
44
+ this.parentNode.removeChild(this);
45
+ }
46
+ async _write() {
47
+ this._error = null;
48
+ const parsed = parseJsonPayload(this._textarea.value);
49
+ if (!parsed.ok) {
50
+ this._error = `Invalid JSON: ${parsed.error}`;
51
+ return;
52
+ }
53
+ this._busy = true;
54
+ try {
55
+ await this.client.writeAttribute(this.nodeId, this._attributePath, parsed.value);
56
+ this._close();
57
+ } catch (err) {
58
+ this._error = err instanceof Error ? err.message : String(err);
59
+ } finally {
60
+ this._busy = false;
61
+ }
62
+ }
63
+ render() {
64
+ return html`
65
+ <md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
66
+ <div slot="headline">Write ${this.label}</div>
67
+ <div slot="content">
68
+ <p class="path" id="write-path">
69
+ Path <code>${this._attributePath}</code>
70
+ (${formatHex(this.endpointId)}/${formatHex(this.clusterId)}/${formatHex(this.attributeId)})
71
+ </p>
72
+ <label class="textarea-label" for="write-payload">Value (JSON)</label>
73
+ <textarea
74
+ id="write-payload"
75
+ class="payload"
76
+ spellcheck="false"
77
+ autocomplete="off"
78
+ autocapitalize="off"
79
+ aria-describedby="write-path${this._error ? " write-error" : ""}"
80
+ rows="10"
81
+ ></textarea>
82
+ ${this._error ? html`<div id="write-error" class="error" role="alert">${this._error}</div>` : nothing}
83
+ </div>
84
+ <div slot="actions">
85
+ <md-text-button @click=${this._close} ?disabled=${this._busy}>Cancel</md-text-button>
86
+ <md-text-button @click=${handleAsync(() => this._write())} ?disabled=${this._busy}>
87
+ ${this._busy ? "Writing..." : "Write"}
88
+ </md-text-button>
89
+ </div>
90
+ </md-dialog>
91
+ `;
92
+ }
93
+ };
94
+ AttributeWriteDialog.styles = css`
95
+ md-dialog {
96
+ min-width: 520px;
97
+ max-width: 720px;
98
+ }
99
+
100
+ .path {
101
+ margin: 0 0 12px 0;
102
+ font-size: 0.85rem;
103
+ color: var(--md-sys-color-on-surface-variant);
104
+ }
105
+
106
+ .path code {
107
+ font-family: var(--monospace-font);
108
+ background: var(--md-sys-color-surface-container-high);
109
+ padding: 0 4px;
110
+ border-radius: 3px;
111
+ }
112
+
113
+ .textarea-label {
114
+ display: block;
115
+ margin: 0 0 6px 0;
116
+ font-size: 0.85rem;
117
+ font-weight: 500;
118
+ color: var(--md-sys-color-on-surface);
119
+ }
120
+
121
+ .payload {
122
+ width: 100%;
123
+ box-sizing: border-box;
124
+ font-family: var(--monospace-font);
125
+ font-size: 0.9rem;
126
+ padding: 8px;
127
+ background: var(--md-sys-color-surface-container-low);
128
+ color: var(--md-sys-color-on-surface);
129
+ border: 1px solid var(--md-sys-color-outline);
130
+ border-radius: 6px;
131
+ resize: vertical;
132
+ min-height: 140px;
133
+ }
134
+
135
+ .payload:focus {
136
+ outline: 2px solid var(--dev-color);
137
+ outline-offset: -1px;
138
+ }
139
+
140
+ .error {
141
+ margin-top: 10px;
142
+ padding: 10px 12px;
143
+ background: var(--md-sys-color-error-container);
144
+ color: var(--md-sys-color-on-error-container);
145
+ border-radius: 6px;
146
+ font-size: 0.875rem;
147
+ white-space: pre-wrap;
148
+ word-break: break-word;
149
+ }
150
+ `;
151
+ __decorateClass([
152
+ property({ attribute: false })
153
+ ], AttributeWriteDialog.prototype, "client", 2);
154
+ __decorateClass([
155
+ property({ type: Number })
156
+ ], AttributeWriteDialog.prototype, "nodeId", 2);
157
+ __decorateClass([
158
+ property({ type: Number })
159
+ ], AttributeWriteDialog.prototype, "endpointId", 2);
160
+ __decorateClass([
161
+ property({ type: Number })
162
+ ], AttributeWriteDialog.prototype, "clusterId", 2);
163
+ __decorateClass([
164
+ property({ type: Number })
165
+ ], AttributeWriteDialog.prototype, "attributeId", 2);
166
+ __decorateClass([
167
+ property({ type: String })
168
+ ], AttributeWriteDialog.prototype, "label", 2);
169
+ __decorateClass([
170
+ property({ attribute: false })
171
+ ], AttributeWriteDialog.prototype, "currentValue", 2);
172
+ __decorateClass([
173
+ state()
174
+ ], AttributeWriteDialog.prototype, "_busy", 2);
175
+ __decorateClass([
176
+ state()
177
+ ], AttributeWriteDialog.prototype, "_error", 2);
178
+ __decorateClass([
179
+ query("textarea")
180
+ ], AttributeWriteDialog.prototype, "_textarea", 2);
181
+ AttributeWriteDialog = __decorateClass([
182
+ customElement("attribute-write-dialog")
183
+ ], AttributeWriteDialog);
184
+ export {
185
+ AttributeWriteDialog
186
+ };
187
+ //# sourceMappingURL=attribute-write-dialog.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/dialogs/dev/attribute-write-dialog.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,33 @@
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 { MatterClient } from "@matter-server/ws-client";
9
+ import { LitElement } from "lit";
10
+ export declare class CommandInvokeDialog extends LitElement {
11
+ client: MatterClient;
12
+ nodeId: number | bigint;
13
+ endpointId: number;
14
+ clusterId: number;
15
+ commandName: string;
16
+ commandLabel: string;
17
+ private _busy;
18
+ private _error;
19
+ private _response;
20
+ private _textarea;
21
+ protected firstUpdated(): void;
22
+ private _close;
23
+ private _handleClosed;
24
+ private _invoke;
25
+ protected render(): import("lit-html").TemplateResult<1>;
26
+ static styles: import("lit").CSSResult;
27
+ }
28
+ declare global {
29
+ interface HTMLElementTagNameMap {
30
+ "command-invoke-dialog": CommandInvokeDialog;
31
+ }
32
+ }
33
+ //# sourceMappingURL=command-invoke-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-invoke-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/dev/command-invoke-dialog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAOrD,qBACa,mBAAoB,SAAQ,UAAU;IAExC,MAAM,EAAG,YAAY,CAAC;IAEM,MAAM,EAAG,MAAM,GAAG,MAAM,CAAC;IACzB,UAAU,EAAG,MAAM,CAAC;IACpB,SAAS,EAAG,MAAM,CAAC;IACnB,WAAW,EAAG,MAAM,CAAC;IACrB,YAAY,EAAG,MAAM,CAAC;IAEhD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAuB;IAE9B,OAAO,CAAC,SAAS,CAAuB;IAE3D,UAAmB,YAAY,SAM9B;IAED,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,aAAa;YAIP,OAAO;IAiCrB,UAAmB,MAAM,yCAqCxB;IAED,OAAgB,MAAM,0BA0EpB;CACL;AAED,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,uBAAuB,EAAE,mBAAmB,CAAC;KAChD;CACJ"}
@@ -0,0 +1,221 @@
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/dialog/dialog";
18
+ import { toBigIntAwareJson } from "@matter-server/ws-client";
19
+ import { css, html, LitElement, nothing } from "lit";
20
+ import { customElement, property, query, state } from "lit/decorators.js";
21
+ import { handleAsync } from "../../../util/async-handler.js";
22
+ import { formatHex } from "../../../util/format_hex.js";
23
+ import { preventDefault } from "../../../util/prevent_default.js";
24
+ import { isPlainObject, parseJsonPayload } from "./parse-json-payload.js";
25
+ let CommandInvokeDialog = class extends LitElement {
26
+ constructor() {
27
+ super(...arguments);
28
+ this._busy = false;
29
+ this._error = null;
30
+ this._response = null;
31
+ }
32
+ firstUpdated() {
33
+ if (this._textarea && this._textarea.value === "") {
34
+ this._textarea.value = "{}";
35
+ }
36
+ }
37
+ _close() {
38
+ this.shadowRoot.querySelector("md-dialog").close();
39
+ }
40
+ _handleClosed() {
41
+ this.parentNode.removeChild(this);
42
+ }
43
+ async _invoke() {
44
+ this._error = null;
45
+ const parsed = parseJsonPayload(this._textarea.value);
46
+ if (!parsed.ok) {
47
+ this._error = `Invalid JSON: ${parsed.error}`;
48
+ this._response = null;
49
+ return;
50
+ }
51
+ const payload = parsed.value;
52
+ if (!isPlainObject(payload)) {
53
+ this._error = "Payload must be a JSON object (use {} for commands with no arguments).";
54
+ this._response = null;
55
+ return;
56
+ }
57
+ this._busy = true;
58
+ try {
59
+ const result = await this.client.deviceCommand(
60
+ this.nodeId,
61
+ this.endpointId,
62
+ this.clusterId,
63
+ this.commandName,
64
+ payload
65
+ );
66
+ this._response = toBigIntAwareJson(result ?? null, 2);
67
+ this._error = null;
68
+ } catch (err) {
69
+ this._error = err instanceof Error ? err.message : String(err);
70
+ this._response = null;
71
+ } finally {
72
+ this._busy = false;
73
+ }
74
+ }
75
+ render() {
76
+ return html`
77
+ <md-dialog open @cancel=${preventDefault} @closed=${this._handleClosed}>
78
+ <div slot="headline">Invoke ${this.commandLabel}</div>
79
+ <div slot="content">
80
+ <p class="path" id="invoke-path">
81
+ Cluster <code>${this.clusterId}</code> (${formatHex(this.clusterId)}) · Endpoint
82
+ <code>${this.endpointId}</code> · Command <code>${this.commandName}</code>
83
+ </p>
84
+ <label class="textarea-label" for="payload">Payload (JSON)</label>
85
+ <textarea
86
+ id="payload"
87
+ class="payload"
88
+ spellcheck="false"
89
+ autocomplete="off"
90
+ autocapitalize="off"
91
+ aria-describedby="invoke-path${this._error ? " invoke-error" : ""}"
92
+ rows="8"
93
+ ></textarea>
94
+ ${this._error ? html`<div id="invoke-error" class="error" role="alert">${this._error}</div>` : nothing}
95
+ ${this._response !== null ? html`
96
+ <label class="textarea-label">Response</label>
97
+ <pre class="response"><code>${this._response}</code></pre>
98
+ ` : nothing}
99
+ </div>
100
+ <div slot="actions">
101
+ <md-text-button @click=${this._close} ?disabled=${this._busy}>Close</md-text-button>
102
+ <md-text-button @click=${handleAsync(() => this._invoke())} ?disabled=${this._busy}>
103
+ ${this._busy ? "Invoking..." : "Invoke"}
104
+ </md-text-button>
105
+ </div>
106
+ </md-dialog>
107
+ `;
108
+ }
109
+ };
110
+ CommandInvokeDialog.styles = css`
111
+ md-dialog {
112
+ min-width: 520px;
113
+ max-width: 720px;
114
+ }
115
+
116
+ .path {
117
+ margin: 0 0 12px 0;
118
+ font-size: 0.85rem;
119
+ color: var(--md-sys-color-on-surface-variant);
120
+ }
121
+
122
+ .path code {
123
+ font-family: var(--monospace-font);
124
+ background: var(--md-sys-color-surface-container-high);
125
+ padding: 0 4px;
126
+ border-radius: 3px;
127
+ }
128
+
129
+ .textarea-label {
130
+ display: block;
131
+ margin: 6px 0 6px 0;
132
+ font-size: 0.85rem;
133
+ font-weight: 500;
134
+ color: var(--md-sys-color-on-surface);
135
+ }
136
+
137
+ .payload {
138
+ width: 100%;
139
+ box-sizing: border-box;
140
+ font-family: var(--monospace-font);
141
+ font-size: 0.9rem;
142
+ padding: 8px;
143
+ background: var(--md-sys-color-surface-container-low);
144
+ color: var(--md-sys-color-on-surface);
145
+ border: 1px solid var(--md-sys-color-outline);
146
+ border-radius: 6px;
147
+ resize: vertical;
148
+ min-height: 120px;
149
+ }
150
+
151
+ .payload:focus {
152
+ outline: 2px solid var(--dev-color);
153
+ outline-offset: -1px;
154
+ }
155
+
156
+ .error {
157
+ margin-top: 10px;
158
+ padding: 10px 12px;
159
+ background: var(--md-sys-color-error-container);
160
+ color: var(--md-sys-color-on-error-container);
161
+ border-radius: 6px;
162
+ font-size: 0.875rem;
163
+ white-space: pre-wrap;
164
+ word-break: break-word;
165
+ }
166
+
167
+ .response {
168
+ margin: 6px 0 0 0;
169
+ padding: 10px 12px;
170
+ background: var(--md-sys-color-surface-container-low);
171
+ color: var(--md-sys-color-on-surface);
172
+ border: 1px solid var(--md-sys-color-outline);
173
+ border-radius: 6px;
174
+ max-height: 260px;
175
+ overflow: auto;
176
+ font-size: 0.85rem;
177
+ }
178
+
179
+ .response code {
180
+ font-family: var(--monospace-font);
181
+ white-space: pre-wrap;
182
+ word-break: break-word;
183
+ }
184
+ `;
185
+ __decorateClass([
186
+ property({ attribute: false })
187
+ ], CommandInvokeDialog.prototype, "client", 2);
188
+ __decorateClass([
189
+ property({ type: Number })
190
+ ], CommandInvokeDialog.prototype, "nodeId", 2);
191
+ __decorateClass([
192
+ property({ type: Number })
193
+ ], CommandInvokeDialog.prototype, "endpointId", 2);
194
+ __decorateClass([
195
+ property({ type: Number })
196
+ ], CommandInvokeDialog.prototype, "clusterId", 2);
197
+ __decorateClass([
198
+ property({ type: String })
199
+ ], CommandInvokeDialog.prototype, "commandName", 2);
200
+ __decorateClass([
201
+ property({ type: String })
202
+ ], CommandInvokeDialog.prototype, "commandLabel", 2);
203
+ __decorateClass([
204
+ state()
205
+ ], CommandInvokeDialog.prototype, "_busy", 2);
206
+ __decorateClass([
207
+ state()
208
+ ], CommandInvokeDialog.prototype, "_error", 2);
209
+ __decorateClass([
210
+ state()
211
+ ], CommandInvokeDialog.prototype, "_response", 2);
212
+ __decorateClass([
213
+ query("textarea")
214
+ ], CommandInvokeDialog.prototype, "_textarea", 2);
215
+ CommandInvokeDialog = __decorateClass([
216
+ customElement("command-invoke-dialog")
217
+ ], CommandInvokeDialog);
218
+ export {
219
+ CommandInvokeDialog
220
+ };
221
+ //# sourceMappingURL=command-invoke-dialog.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/dialogs/dev/command-invoke-dialog.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export type ParsedPayload = {
7
+ ok: true;
8
+ value: unknown;
9
+ } | {
10
+ ok: false;
11
+ error: string;
12
+ };
13
+ /**
14
+ * Parse a JSON payload from a developer-facing textarea.
15
+ *
16
+ * Uses {@link parseBigIntAwareJson} so that literals exceeding `Number.MAX_SAFE_INTEGER`
17
+ * round-trip as `bigint` on the wire (matching the rest of the WebSocket client).
18
+ */
19
+ export declare function parseJsonPayload(text: string): ParsedPayload;
20
+ /**
21
+ * True if the value is a JSON object (non-null, non-array, plain record shape).
22
+ *
23
+ * Matter command payloads are struct-shaped, so invoking with a raw array / string /
24
+ * number is almost certainly a user mistake.
25
+ */
26
+ export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
27
+ //# sourceMappingURL=parse-json-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-json-payload.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/dev/parse-json-payload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAU5D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9E"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { parseBigIntAwareJson } from "@matter-server/ws-client";
7
+ function parseJsonPayload(text) {
8
+ const trimmed = text.trim();
9
+ if (trimmed.length === 0) {
10
+ return { ok: false, error: "Payload must not be empty" };
11
+ }
12
+ try {
13
+ return { ok: true, value: parseBigIntAwareJson(trimmed) };
14
+ } catch (err) {
15
+ return { ok: false, error: err instanceof Error ? err.message : String(err) };
16
+ }
17
+ }
18
+ function isPlainObject(value) {
19
+ return typeof value === "object" && value !== null && !Array.isArray(value);
20
+ }
21
+ export {
22
+ isPlainObject,
23
+ parseJsonPayload
24
+ };
25
+ //# sourceMappingURL=parse-json-payload.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/dialogs/dev/parse-json-payload.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,4BAA4B;AAU9B,SAAS,iBAAiB,MAA6B;AAC1D,QAAM,UAAU,KAAK,KAAK;AAC1B,MAAI,QAAQ,WAAW,GAAG;AACtB,WAAO,EAAE,IAAI,OAAO,OAAO,4BAA4B;AAAA,EAC3D;AACA,MAAI;AACA,WAAO,EAAE,IAAI,MAAM,OAAO,qBAAqB,OAAO,EAAE;AAAA,EAC5D,SAAS,KAAK;AACV,WAAO,EAAE,IAAI,OAAO,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,EAAE;AAAA,EAChF;AACJ;AAQO,SAAS,cAAc,OAAkD;AAC5E,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC9E;",
5
+ "names": []
6
+ }