@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.
- package/README.md +19 -0
- package/dist/esm/client/models/descriptions.d.ts +10 -0
- package/dist/esm/client/models/descriptions.d.ts.map +1 -1
- package/dist/esm/client/models/descriptions.js +5684 -1881
- package/dist/esm/client/models/descriptions.js.map +1 -1
- package/dist/esm/components/dialog-box/dialog-box.d.ts.map +1 -1
- package/dist/esm/components/dialog-box/show-dialog-box.d.ts.map +1 -1
- package/dist/esm/components/dialogs/acl/model.d.ts.map +1 -1
- package/dist/esm/components/dialogs/binding/model.d.ts.map +1 -1
- package/dist/esm/components/dialogs/binding/node-binding-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/binding/show-node-binding-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.d.ts.map +1 -1
- package/dist/esm/components/dialogs/commission-node-dialog/show-commission-node-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.d.ts +34 -0
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.js +187 -0
- package/dist/esm/components/dialogs/dev/attribute-write-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.d.ts +33 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.js +221 -0
- package/dist/esm/components/dialogs/dev/command-invoke-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.d.ts +27 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.js +25 -0
- package/dist/esm/components/dialogs/dev/parse-json-payload.js.map +6 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.d.ts +17 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.js +21 -0
- package/dist/esm/components/dialogs/dev/show-attribute-write-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.d.ts +16 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.js +20 -0
- package/dist/esm/components/dialogs/dev/show-command-invoke-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts +2 -11
- package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/settings/log-level-dialog.js +13 -140
- package/dist/esm/components/dialogs/settings/log-level-dialog.js.map +1 -1
- package/dist/esm/components/dialogs/settings/log-level-section.d.ts +34 -0
- package/dist/esm/components/dialogs/settings/log-level-section.d.ts.map +1 -0
- package/dist/esm/components/dialogs/settings/log-level-section.js +181 -0
- package/dist/esm/components/dialogs/settings/log-level-section.js.map +6 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.d.ts +31 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.js +165 -0
- package/dist/esm/components/dialogs/settings/settings-dialog.js.map +6 -0
- package/dist/esm/components/dialogs/settings/show-log-level-dialog.d.ts.map +1 -1
- package/dist/esm/components/dialogs/settings/show-settings-dialog.d.ts +8 -0
- package/dist/esm/components/dialogs/settings/show-settings-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/settings/show-settings-dialog.js +15 -0
- package/dist/esm/components/dialogs/settings/show-settings-dialog.js.map +6 -0
- package/dist/esm/components/ha-svg-icon.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/base-cluster-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/basic-information-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/level-control-commands.d.ts.map +1 -1
- package/dist/esm/pages/cluster-commands/clusters/on-off-commands.d.ts.map +1 -1
- package/dist/esm/pages/components/footer.d.ts.map +1 -1
- package/dist/esm/pages/components/header.d.ts +2 -0
- package/dist/esm/pages/components/header.d.ts.map +1 -1
- package/dist/esm/pages/components/header.js +47 -3
- package/dist/esm/pages/components/header.js.map +1 -1
- package/dist/esm/pages/components/node-details.d.ts.map +1 -1
- package/dist/esm/pages/components/server-details.d.ts.map +1 -1
- package/dist/esm/pages/matter-cluster-view.d.ts +13 -2
- package/dist/esm/pages/matter-cluster-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-cluster-view.js +338 -4
- package/dist/esm/pages/matter-cluster-view.js.map +2 -2
- package/dist/esm/pages/matter-dashboard-app.d.ts.map +1 -1
- package/dist/esm/pages/matter-endpoint-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-network-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
- package/dist/esm/pages/matter-server-view.d.ts.map +1 -1
- package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/base-network-graph.js +1 -0
- package/dist/esm/pages/network/base-network-graph.js.map +1 -1
- package/dist/esm/pages/network/device-panel.d.ts.map +1 -1
- package/dist/esm/pages/network/network-details.d.ts.map +1 -1
- package/dist/esm/pages/network/thread-graph.d.ts.map +1 -1
- package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -1
- package/dist/esm/pages/network/wifi-graph.d.ts.map +1 -1
- package/dist/esm/util/clone_class.d.ts.map +1 -1
- package/dist/esm/util/dev-mode-service.d.ts +14 -0
- package/dist/esm/util/dev-mode-service.d.ts.map +1 -0
- package/dist/esm/util/dev-mode-service.js +37 -0
- package/dist/esm/util/dev-mode-service.js.map +6 -0
- package/dist/esm/util/fire_event.d.ts.map +1 -1
- package/dist/esm/util/prevent_default.d.ts.map +1 -1
- package/dist/esm/util/theme-service.d.ts.map +1 -1
- package/dist/web/index.html +6 -0
- package/dist/web/js/attribute-write-dialog-BjBvI9Vg.js +166 -0
- package/dist/web/js/command-invoke-dialog-GfZXZjFc.js +192 -0
- package/dist/web/js/{commission-node-dialog-DfwKU9qk.js → commission-node-dialog-BAEMNaRj.js} +4 -4
- package/dist/web/js/{commission-node-existing-C7ITvNfj.js → commission-node-existing-NbcOLhCW.js} +2 -2
- package/dist/web/js/{commission-node-thread-D-icSzto.js → commission-node-thread-CPS6eA4_.js} +2 -2
- package/dist/web/js/{commission-node-wifi-DwUkXlWz.js → commission-node-wifi-DgnCq_XI.js} +2 -2
- package/dist/web/js/{dialog-box-BmpaTrvT.js → dialog-box-CRmSjFmJ.js} +1 -1
- package/dist/web/js/{fire_event-2ZxL-AHZ.js → fire_event-CMN0BnIt.js} +1 -1
- package/dist/web/js/main.js +2 -2
- package/dist/web/js/{matter-dashboard-app-BtHTmAPq.js → matter-dashboard-app-Cne9OvsE.js} +6201 -1897
- package/dist/web/js/{node-binding-dialog-MMx9rkCF.js → node-binding-dialog-C3d1oHJA.js} +1 -1
- package/dist/web/js/parse-json-payload-DU9TWKdu.js +32 -0
- package/dist/web/js/{log-level-dialog-D4hubdib.js → settings-dialog-WGqWo_ox.js} +583 -69
- package/package.json +29 -29
- package/src/client/models/descriptions.ts +5690 -1878
- package/src/components/dialogs/dev/attribute-write-dialog.ts +169 -0
- package/src/components/dialogs/dev/command-invoke-dialog.ts +204 -0
- package/src/components/dialogs/dev/parse-json-payload.ts +37 -0
- package/src/components/dialogs/dev/show-attribute-write-dialog.ts +30 -0
- package/src/components/dialogs/dev/show-command-invoke-dialog.ts +28 -0
- package/src/components/dialogs/settings/log-level-dialog.ts +15 -138
- package/src/components/dialogs/settings/log-level-section.ts +174 -0
- package/src/components/dialogs/settings/settings-dialog.ts +165 -0
- package/src/components/dialogs/settings/show-settings-dialog.ts +14 -0
- package/src/pages/components/header.ts +47 -3
- package/src/pages/matter-cluster-view.ts +366 -4
- package/src/pages/network/base-network-graph.ts +1 -1
- package/src/tsconfig.json +9 -2
- 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;
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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,
|
|
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;
|
|
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"}
|
package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/esm/components/dialogs/commission-node-dialog/show-commission-node-dialog.d.ts.map
CHANGED
|
@@ -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,
|
|
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": ";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AAEP,SAAuB,yBAAyB;AAChD,SAAS,KAAK,MAAM,YAAY,eAAe;AAC/C,SAAS,eAAe,UAAU,OAAO,aAAa;AACtD,SAAS,mBAAmB;AAC5B,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAC/B,SAAS,eAAe,wBAAwB;AAGzC,IAAM,sBAAN,cAAkC,WAAW;AAAA,EAA7C;AAAA;AAUM,SAAQ,QAAQ;AAChB,SAAQ,SAAwB;AAChC,SAAQ,YAA2B;AAAA;AAAA,EAIzB,eAAe;AAG9B,QAAI,KAAK,aAAa,KAAK,UAAU,UAAU,IAAI;AAC/C,WAAK,UAAU,QAAQ;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEQ,SAAS;AACb,SAAK,WAAY,cAAwB,WAAW,EAAG,MAAM;AAAA,EACjE;AAAA,EAEQ,gBAAgB;AACpB,SAAK,WAAY,YAAY,IAAI;AAAA,EACrC;AAAA,EAEA,MAAc,UAAU;AACpB,SAAK,SAAS;AACd,UAAM,SAAS,iBAAiB,KAAK,UAAU,KAAK;AACpD,QAAI,CAAC,OAAO,IAAI;AACZ,WAAK,SAAS,iBAAiB,OAAO,KAAK;AAC3C,WAAK,YAAY;AACjB;AAAA,IACJ;AACA,UAAM,UAAU,OAAO;AACvB,QAAI,CAAC,cAAc,OAAO,GAAG;AACzB,WAAK,SAAS;AACd,WAAK,YAAY;AACjB;AAAA,IACJ;AACA,SAAK,QAAQ;AACb,QAAI;AACA,YAAM,SAAS,MAAM,KAAK,OAAO;AAAA,QAC7B,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL;AAAA,MACJ;AACA,WAAK,YAAY,kBAAkB,UAAU,MAAM,CAAC;AACpD,WAAK,SAAS;AAAA,IAClB,SAAS,KAAK;AACV,WAAK,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC7D,WAAK,YAAY;AAAA,IACrB,UAAE;AACE,WAAK,QAAQ;AAAA,IACjB;AAAA,EACJ;AAAA,EAEmB,SAAS;AACxB,WAAO;AAAA,sCACuB,cAAc,YAAY,KAAK,aAAa;AAAA,8CACpC,KAAK,YAAY;AAAA;AAAA;AAAA,wCAGvB,KAAK,SAAS,YAAY,UAAU,KAAK,SAAS,CAAC;AAAA,gCAC3D,KAAK,UAAU,2BAA2B,KAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uDASnC,KAAK,SAAS,kBAAkB,EAAE;AAAA;AAAA;AAAA,sBAGnE,KAAK,SACD,yDAAyD,KAAK,MAAM,WACpE,OAAO;AAAA,sBACX,KAAK,cAAc,OACf;AAAA;AAAA,4DAEkC,KAAK,SAAS;AAAA,8BAEhD,OAAO;AAAA;AAAA;AAAA,6CAGY,KAAK,MAAM,cAAc,KAAK,KAAK;AAAA,6CACnC,YAAY,MAAM,KAAK,QAAQ,CAAC,CAAC,cAAc,KAAK,KAAK;AAAA,0BAC5E,KAAK,QAAQ,gBAAgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAK3D;AA6EJ;AAnLa,oBAwGO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAtGlB;AAAA,EADN,SAAS,EAAE,WAAW,MAAM,CAAC;AAAA,GADrB,oBAEF;AAE4B;AAAA,EAAlC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAJjB,oBAI0B;AACA;AAAA,EAAlC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GALjB,oBAK0B;AACA;AAAA,EAAlC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GANjB,oBAM0B;AACA;AAAA,EAAlC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAPjB,oBAO0B;AACA;AAAA,EAAlC,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GARjB,oBAQ0B;AAElB;AAAA,EAAhB,MAAM;AAAA,GAVE,oBAUQ;AACA;AAAA,EAAhB,MAAM;AAAA,GAXE,oBAWQ;AACA;AAAA,EAAhB,MAAM;AAAA,GAZE,oBAYQ;AAEU;AAAA,EAA1B,MAAM,UAAU;AAAA,GAdR,oBAckB;AAdlB,sBAAN;AAAA,EADN,cAAc,uBAAuB;AAAA,GACzB;",
|
|
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
|
+
}
|