@matter-server/dashboard 0.5.15 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/esm/components/dialog-box/dialog-box.d.ts +1 -0
  2. package/dist/esm/components/dialog-box/dialog-box.d.ts.map +1 -1
  3. package/dist/esm/components/dialog-box/dialog-box.js +15 -1
  4. package/dist/esm/components/dialog-box/dialog-box.js.map +1 -1
  5. package/dist/esm/components/dialogs/binding/node-binding-dialog.js +15 -19
  6. package/dist/esm/components/dialogs/binding/node-binding-dialog.js.map +1 -1
  7. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.d.ts.map +1 -1
  8. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.js +2 -1
  9. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-existing.js.map +1 -1
  10. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.d.ts.map +1 -1
  11. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.js +13 -5
  12. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-thread.js.map +1 -1
  13. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.d.ts.map +1 -1
  14. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.js +13 -9
  15. package/dist/esm/components/dialogs/commission-node-dialog/commission-node-wifi.js.map +1 -1
  16. package/dist/esm/components/dialogs/settings/log-level-dialog.d.ts.map +1 -1
  17. package/dist/esm/components/dialogs/settings/log-level-dialog.js +2 -1
  18. package/dist/esm/components/dialogs/settings/log-level-dialog.js.map +1 -1
  19. package/dist/esm/components/ha-svg-icon.d.ts.map +1 -1
  20. package/dist/esm/components/ha-svg-icon.js +0 -1
  21. package/dist/esm/components/ha-svg-icon.js.map +1 -1
  22. package/dist/esm/entrypoint/main.js +1 -1
  23. package/dist/esm/entrypoint/main.js.map +1 -1
  24. package/dist/esm/pages/cluster-commands/base-cluster-commands.d.ts.map +1 -1
  25. package/dist/esm/pages/cluster-commands/base-cluster-commands.js +72 -68
  26. package/dist/esm/pages/cluster-commands/base-cluster-commands.js.map +1 -1
  27. package/dist/esm/pages/components/header.d.ts +1 -1
  28. package/dist/esm/pages/components/header.d.ts.map +1 -1
  29. package/dist/esm/pages/components/header.js +59 -55
  30. package/dist/esm/pages/components/header.js.map +1 -1
  31. package/dist/esm/pages/components/node-details.js +1 -1
  32. package/dist/esm/pages/components/server-details.d.ts.map +1 -1
  33. package/dist/esm/pages/components/server-details.js +2 -0
  34. package/dist/esm/pages/components/server-details.js.map +1 -1
  35. package/dist/esm/pages/matter-cluster-view.d.ts +2 -1
  36. package/dist/esm/pages/matter-cluster-view.d.ts.map +1 -1
  37. package/dist/esm/pages/matter-cluster-view.js +49 -39
  38. package/dist/esm/pages/matter-cluster-view.js.map +1 -1
  39. package/dist/esm/pages/matter-endpoint-view.d.ts +2 -1
  40. package/dist/esm/pages/matter-endpoint-view.d.ts.map +1 -1
  41. package/dist/esm/pages/matter-endpoint-view.js +44 -35
  42. package/dist/esm/pages/matter-endpoint-view.js.map +1 -1
  43. package/dist/esm/pages/matter-network-view.d.ts +1 -1
  44. package/dist/esm/pages/matter-network-view.d.ts.map +1 -1
  45. package/dist/esm/pages/matter-network-view.js +216 -207
  46. package/dist/esm/pages/matter-network-view.js.map +1 -1
  47. package/dist/esm/pages/matter-node-view.d.ts +2 -1
  48. package/dist/esm/pages/matter-node-view.d.ts.map +1 -1
  49. package/dist/esm/pages/matter-node-view.js +104 -94
  50. package/dist/esm/pages/matter-node-view.js.map +1 -1
  51. package/dist/esm/pages/network/base-network-graph.d.ts.map +1 -1
  52. package/dist/esm/pages/network/base-network-graph.js +12 -5
  53. package/dist/esm/pages/network/base-network-graph.js.map +1 -1
  54. package/dist/esm/pages/network/device-panel.d.ts +1 -0
  55. package/dist/esm/pages/network/device-panel.d.ts.map +1 -1
  56. package/dist/esm/pages/network/device-panel.js +19 -5
  57. package/dist/esm/pages/network/device-panel.js.map +1 -1
  58. package/dist/esm/pages/network/network-details.d.ts +1 -1
  59. package/dist/esm/pages/network/network-details.d.ts.map +1 -1
  60. package/dist/esm/pages/network/network-details.js +275 -272
  61. package/dist/esm/pages/network/network-details.js.map +1 -1
  62. package/dist/esm/pages/network/network-utils.d.ts +5 -0
  63. package/dist/esm/pages/network/network-utils.d.ts.map +1 -1
  64. package/dist/esm/pages/network/network-utils.js +47 -17
  65. package/dist/esm/pages/network/network-utils.js.map +1 -1
  66. package/dist/esm/pages/network/update-connections-dialog.d.ts +1 -1
  67. package/dist/esm/pages/network/update-connections-dialog.d.ts.map +1 -1
  68. package/dist/esm/pages/network/update-connections-dialog.js +51 -47
  69. package/dist/esm/pages/network/update-connections-dialog.js.map +1 -1
  70. package/dist/esm/util/device-icons.d.ts.map +1 -1
  71. package/dist/esm/util/device-icons.js +6 -6
  72. package/dist/esm/util/device-icons.js.map +1 -1
  73. package/dist/esm/util/shared-styles.d.ts +10 -0
  74. package/dist/esm/util/shared-styles.d.ts.map +1 -0
  75. package/dist/esm/util/shared-styles.js +56 -0
  76. package/dist/esm/util/shared-styles.js.map +6 -0
  77. package/dist/web/index.html +53 -1
  78. package/dist/web/js/{commission-node-dialog-ByflSEDK.js → commission-node-dialog-DfwKU9qk.js} +4 -4
  79. package/dist/web/js/{commission-node-existing-CD6-Epwb.js → commission-node-existing-C7ITvNfj.js} +6 -3
  80. package/dist/web/js/{commission-node-thread-CekKshVL.js → commission-node-thread-D-icSzto.js} +23 -7
  81. package/dist/web/js/{commission-node-wifi-D_VKTWwF.js → commission-node-wifi-DwUkXlWz.js} +29 -11
  82. package/dist/web/js/{dialog-box-DdVdxz2_.js → dialog-box-BmpaTrvT.js} +16 -2
  83. package/dist/web/js/{fire_event-uMluKQub.js → fire_event-2ZxL-AHZ.js} +1 -1
  84. package/dist/web/js/{log-level-dialog-BO1OSL0z.js → log-level-dialog-D4hubdib.js} +5 -2
  85. package/dist/web/js/main.js +2 -2
  86. package/dist/web/js/{matter-dashboard-app-b1R3Pout.js → matter-dashboard-app-BtHTmAPq.js} +874 -788
  87. package/dist/web/js/{node-binding-dialog-rikORH9_.js → node-binding-dialog-MMx9rkCF.js} +40 -20
  88. package/package.json +4 -4
  89. package/src/components/dialog-box/dialog-box.ts +16 -1
  90. package/src/components/dialogs/binding/node-binding-dialog.ts +15 -15
  91. package/src/components/dialogs/commission-node-dialog/commission-node-existing.ts +2 -1
  92. package/src/components/dialogs/commission-node-dialog/commission-node-thread.ts +13 -5
  93. package/src/components/dialogs/commission-node-dialog/commission-node-wifi.ts +13 -9
  94. package/src/components/dialogs/settings/log-level-dialog.ts +2 -1
  95. package/src/components/ha-svg-icon.ts +0 -1
  96. package/src/entrypoint/main.ts +1 -1
  97. package/src/pages/cluster-commands/base-cluster-commands.ts +84 -80
  98. package/src/pages/components/header.ts +59 -55
  99. package/src/pages/components/node-details.ts +1 -1
  100. package/src/pages/components/server-details.ts +2 -0
  101. package/src/pages/matter-cluster-view.ts +49 -39
  102. package/src/pages/matter-endpoint-view.ts +49 -40
  103. package/src/pages/matter-network-view.ts +200 -191
  104. package/src/pages/matter-node-view.ts +94 -84
  105. package/src/pages/network/base-network-graph.ts +12 -5
  106. package/src/pages/network/device-panel.ts +20 -5
  107. package/src/pages/network/network-details.ts +236 -231
  108. package/src/pages/network/network-utils.ts +51 -17
  109. package/src/pages/network/update-connections-dialog.ts +51 -47
  110. package/src/util/device-icons.ts +12 -6
  111. package/src/util/shared-styles.ts +58 -0
@@ -234,7 +234,7 @@ function c$4({
234
234
  }
235
235
 
236
236
  // Material Design Icons v7.4.47
237
- var mdiAccessPoint="M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4.89,7.78 6.34,6.34L4.93,4.93M19.07,4.93L17.66,6.34C19.11,7.78 20,9.79 20,12C20,14.22 19.11,16.22 17.66,17.66L19.07,19.07C20.88,17.26 22,14.76 22,12C22,9.24 20.88,6.74 19.07,4.93M7.76,7.76C6.67,8.85 6,10.35 6,12C6,13.65 6.67,15.15 7.76,16.24L9.17,14.83C8.45,14.11 8,13.11 8,12C8,10.89 8.45,9.89 9.17,9.17L7.76,7.76M16.24,7.76L14.83,9.17C15.55,9.89 16,10.89 16,12C16,13.11 15.55,14.11 14.83,14.83L16.24,16.24C17.33,15.15 18,13.65 18,12C18,10.35 17.33,8.85 16.24,7.76M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z";var mdiAirConditioner="M6.59,0.66C8.93,-1.15 11.47,1.06 12.04,4.5C12.47,4.5 12.89,4.62 13.27,4.84C13.79,4.24 14.25,3.42 14.07,2.5C13.65,0.35 16.06,-1.39 18.35,1.58C20.16,3.92 17.95,6.46 14.5,7.03C14.5,7.46 14.39,7.89 14.16,8.27C14.76,8.78 15.58,9.24 16.5,9.06C18.63,8.64 20.38,11.04 17.41,13.34C15.07,15.15 12.53,12.94 11.96,9.5C11.53,9.5 11.11,9.37 10.74,9.15C10.22,9.75 9.75,10.58 9.93,11.5C10.35,13.64 7.94,15.39 5.65,12.42C3.83,10.07 6.05,7.53 9.5,6.97C9.5,6.54 9.63,6.12 9.85,5.74C9.25,5.23 8.43,4.76 7.5,4.94C5.37,5.36 3.62,2.96 6.59,0.66M5,16H7A2,2 0 0,1 9,18V24H7V22H5V24H3V18A2,2 0 0,1 5,16M5,18V20H7V18H5M12.93,16H15L12.07,24H10L12.93,16M18,16H21V18H18V22H21V24H18A2,2 0 0,1 16,22V18A2,2 0 0,1 18,16Z";var mdiAirFilter="M19,18.31V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V16.3C4.54,16.12 3.95,16 3,16A1,1 0 0,1 2,15A1,1 0 0,1 3,14C3.82,14 4.47,14.08 5,14.21V12.3C4.54,12.12 3.95,12 3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10C3.82,10 4.47,10.08 5,10.21V8.3C4.54,8.12 3.95,8 3,8A1,1 0 0,1 2,7A1,1 0 0,1 3,6C3.82,6 4.47,6.08 5,6.21V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V6.16C20.78,6.47 21.54,7.13 21.71,7.29C22.1,7.68 22.1,8.32 21.71,8.71C21.32,9.1 20.8,9.09 20.29,8.71V8.71C20.29,8.71 19.25,8 17,8C15.74,8 14.91,8.41 13.95,8.9C12.91,9.41 11.74,10 10,10C9.64,10 9.31,10 9,9.96V7.95C9.3,8 9.63,8 10,8C11.26,8 12.09,7.59 13.05,7.11C14.09,6.59 15.27,6 17,6V4H7V20H17V18C18.5,18 18.97,18.29 19,18.31M17,10C15.27,10 14.09,10.59 13.05,11.11C12.09,11.59 11.26,12 10,12C9.63,12 9.3,12 9,11.95V13.96C9.31,14 9.64,14 10,14C11.74,14 12.91,13.41 13.95,12.9C14.91,12.42 15.74,12 17,12C19.25,12 20.29,12.71 20.29,12.71V12.71C20.8,13.1 21.32,13.1 21.71,12.71C22.1,12.32 22.1,11.69 21.71,11.29C21.5,11.08 20.25,10 17,10M17,14C15.27,14 14.09,14.59 13.05,15.11C12.09,15.59 11.26,16 10,16C9.63,16 9.3,16 9,15.95V17.96C9.31,18 9.64,18 10,18C11.74,18 12.91,17.41 13.95,16.9C14.91,16.42 15.74,16 17,16C19.25,16 20.29,16.71 20.29,16.71V16.71C20.8,17.1 21.32,17.1 21.71,16.71C22.1,16.32 22.1,15.69 21.71,15.29C21.5,15.08 20.25,14 17,14Z";var mdiAirPurifier="M11,9A4,4 0 0,1 15,13A4,4 0 0,1 11,17A4,4 0 0,1 7,13A4,4 0 0,1 11,9M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13A2,2 0 0,0 11,11M7,4H14A4,4 0 0,1 18,8V9H16V8A2,2 0 0,0 14,6H7A2,2 0 0,0 5,8V20H16V18H18V22H3V8A4,4 0 0,1 7,4M16,11C18.5,11 18.5,9 21,9V11C18.5,11 18.5,13 16,13V11M16,15C18.5,15 18.5,13 21,13V15C18.5,15 18.5,17 16,17V15Z";var mdiArrowLeft="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z";var mdiBell="M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21";var mdiBlindsHorizontal="M20 19V3H4V19H2V21H22V19H20M16 9H18V11H16V9M14 11H6V9H14V11M18 7H16V5H18V7M14 5V7H6V5H14M6 19V13H14V14.82C13.55 15.14 13.25 15.66 13.25 16.25C13.25 17.22 14.03 18 15 18S16.75 17.22 16.75 16.25C16.75 15.66 16.45 15.13 16 14.82V13H18V19H6Z";var mdiBrightnessAuto="M14.3,16L13.6,14H10.4L9.7,16H7.8L11,7H13L16.2,16H14.3M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69M10.85,12.65H13.15L12,9L10.85,12.65Z";var mdiBrightnessPercent="M20.04,8.71V4H15.34L12,0.69L8.71,4H4V8.71L0.69,12L4,15.34V20.04H8.71L12,23.35L15.34,20.04H20.04V15.34L23.35,12L20.04,8.71M8.83,7.05C9.81,7.05 10.6,7.84 10.6,8.83A1.77,1.77 0 0,1 8.83,10.6C7.84,10.6 7.05,9.81 7.05,8.83C7.05,7.84 7.84,7.05 8.83,7.05M15.22,17C14.24,17 13.45,16.2 13.45,15.22A1.77,1.77 0 0,1 15.22,13.45C16.2,13.45 17,14.24 17,15.22A1.78,1.78 0 0,1 15.22,17M8.5,17.03L7,15.53L15.53,7L17.03,8.5L8.5,17.03Z";var mdiCamera="M4,4H7L9,2H15L17,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z";var mdiCast="M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3Z";var mdiCctv="M6.03 12.03L8.03 15.5L5.5 18.68L2 12.62L6.03 12.03M17 18V15.29C17.88 14.9 18.5 14.03 18.5 13C18.5 12.43 18.3 11.9 17.97 11.5L19.94 10.35C20.95 9.76 21.3 8.47 20.71 7.46L19.33 5.06C18.74 4.05 17.45 3.7 16.44 4.28L8.31 9C7.36 9.53 7.03 10.75 7.58 11.71L9.08 14.31C9.63 15.26 10.86 15.59 11.81 15.04L13.69 13.96C13.94 14.55 14.41 15.03 15 15.29V18C15 19.1 15.9 20 17 20H22V18H17Z";var mdiChatProcessing="M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M17,12V10H15V12H17M13,12V10H11V12H13M9,12V10H7V12H9Z";var mdiChevronDown="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z";var mdiChevronRight="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";var mdiChip="M6,4H18V5H21V7H18V9H21V11H18V13H21V15H18V17H21V19H18V20H6V19H3V17H6V15H3V13H6V11H3V9H6V7H3V5H6V4M11,15V18H12V15H11M13,15V18H14V15H13M15,15V18H16V15H15Z";var mdiClose="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";var mdiCog="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z";var mdiDishwasher="M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2M10,4A1,1 0 0,1 11,5A1,1 0 0,1 10,6A1,1 0 0,1 9,5A1,1 0 0,1 10,4M7,4A1,1 0 0,1 8,5A1,1 0 0,1 7,6A1,1 0 0,1 6,5A1,1 0 0,1 7,4M18,20H6V8H18V20M14.67,15.33C14.69,16.03 14.41,16.71 13.91,17.21C12.86,18.26 11.15,18.27 10.09,17.21C9.59,16.71 9.31,16.03 9.33,15.33C9.4,14.62 9.63,13.94 10,13.33C10.37,12.5 10.81,11.73 11.33,11L12,10C13.79,12.59 14.67,14.36 14.67,15.33";var mdiDoorOpen="M12,3C10.89,3 10,3.89 10,5H3V19H2V21H22V19H21V5C21,3.89 20.11,3 19,3H12M12,5H19V19H12V5M5,11H7V13H5V11Z";var mdiDoorbell="M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M16 2H8C6.9 2 6 2.9 6 4V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V4C18 2.9 17.1 2 16 2M16 20H8V4H16V20Z";var mdiDoorbellVideo="M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M18 4V20C18 21.1 17.11 22 16 22H8C6.9 22 6 21.11 6 20V4C6 2.9 6.9 2 8 2H16C17.11 2 18 2.9 18 4M10.5 7C10.5 7.83 11.17 8.5 12 8.5S13.5 7.83 13.5 7 12.83 5.5 12 5.5 10.5 6.17 10.5 7M16 10H8V20H16V10Z";var mdiEthernet="M7,15H9V18H11V15H13V18H15V15H17V18H19V9H15V6H9V9H5V18H7V15M4.38,3H19.63C20.94,3 22,4.06 22,5.38V19.63A2.37,2.37 0 0,1 19.63,22H4.38C3.06,22 2,20.94 2,19.63V5.38C2,4.06 3.06,3 4.38,3Z";var mdiEvStation="M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M8,18V13.5H6L10,6V11H12L8,18Z";var mdiFan="M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z";var mdiFile="M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z";var mdiFitToScreen="M17 4H20C21.1 4 22 4.9 22 6V8H20V6H17V4M4 8V6H7V4H4C2.9 4 2 4.9 2 6V8H4M20 16V18H17V20H20C21.1 20 22 19.1 22 18V16H20M7 18H4V16H2V18C2 19.1 2.9 20 4 20H7V18M18 8H6V16H18V8Z";var mdiFridge="M7,2H17A2,2 0 0,1 19,4V9H5V4A2,2 0 0,1 7,2M19,19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V10H19V19M8,5V7H10V5H8M8,12V15H10V12H8Z";var mdiGauge="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M14,5.89C13.62,5.9 13.26,6.15 13.1,6.54L11.81,9.77L11.71,10C11,10.13 10.41,10.6 10.14,11.26C9.73,12.29 10.23,13.45 11.26,13.86C12.29,14.27 13.45,13.77 13.86,12.74C14.12,12.08 14,11.32 13.57,10.76L13.67,10.5L14.96,7.29L14.97,7.26C15.17,6.75 14.92,6.17 14.41,5.96C14.28,5.91 14.15,5.89 14,5.89M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9M17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9Z";var mdiGraphOutline="M19.5 17C19.36 17 19.24 17 19.11 17.04L17.5 13.8C17.95 13.35 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.61 9.5 15.5 9.5 15.35 9.54L13.74 6.3C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.2 9.79 5.84 10.26 6.29L8.65 9.54C8.5 9.5 8.39 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.04 13.34 6.5 13.79L4.89 17.04C4.76 17 4.64 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.63 14.46L10.26 17.71C9.79 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.8C10.45 13.35 10.75 12.71 10.75 12C10.75 11.3 10.46 10.67 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7C12.13 7 12.26 7 12.39 6.96L14 10.21C13.54 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.13 14.46L17.76 17.71C17.29 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17M4.5 20.5C3.95 20.5 3.5 20.05 3.5 19.5S3.95 18.5 4.5 18.5 5.5 18.95 5.5 19.5 5.05 20.5 4.5 20.5M13 19.5C13 20.05 12.55 20.5 12 20.5S11 20.05 11 19.5 11.45 18.5 12 18.5 13 18.95 13 19.5M7.25 12C7.25 11.45 7.7 11 8.25 11S9.25 11.45 9.25 12 8.8 13 8.25 13 7.25 12.55 7.25 12M11 4.5C11 3.95 11.45 3.5 12 3.5S13 3.95 13 4.5 12.55 5.5 12 5.5 11 5.05 11 4.5M14.75 12C14.75 11.45 15.2 11 15.75 11S16.75 11.45 16.75 12 16.3 13 15.75 13 14.75 12.55 14.75 12M19.5 20.5C18.95 20.5 18.5 20.05 18.5 19.5S18.95 18.5 19.5 18.5 20.5 18.95 20.5 19.5 20.05 20.5 19.5 20.5Z";var mdiHeatPump="M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12.75 7.08C13.57 7.2 14.32 7.5 14.95 8L12.75 10.19V7.08M11.25 7.08V10.19L9.05 8C9.68 7.5 10.43 7.2 11.25 7.08M8 9.05L10.19 11.25H7.08C7.2 10.43 7.5 9.68 8 9.05M7.08 12.75H10.19L8 14.95C7.5 14.32 7.2 13.57 7.08 12.75M11.25 16.92C10.43 16.8 9.68 16.5 9.05 16L11.25 13.81V16.92M12 13C11.45 13 11 12.55 11 12S11.45 11 12 11 13 11.45 13 12 12.55 13 12 13M12.75 16.92V13.81L14.95 16C14.32 16.5 13.57 16.8 12.75 16.92M16 14.95L13.81 12.75H16.92C16.8 13.57 16.5 14.32 16 14.95M13.81 11.25L16 9.05C16.5 9.69 16.8 10.44 16.92 11.25H13.81Z";var mdiHelp="M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z";var mdiHome="M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z";var mdiLeaf="M17,8C8,10 5.9,16.17 3.82,21.34L5.71,22L6.66,19.7C7.14,19.87 7.64,20 8,20C19,20 22,3 22,3C21,5 14,5.25 9,6.25C4,7.25 2,11.5 2,13.5C2,15.5 3.75,17.25 3.75,17.25C7,8 17,8 17,8Z";var mdiLightbulb="M12,2A7,7 0 0,0 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H15A1,1 0 0,0 16,17V14.74C17.81,13.47 19,11.38 19,9A7,7 0 0,0 12,2M9,21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9V21Z";var mdiLink="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z";var mdiLoading="M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z";var mdiLock="M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z";var mdiLogout="M17 7L15.59 8.41L18.17 11H8V13H18.17L15.59 15.58L17 17L22 12M4 5H12V3H4C2.9 3 2 3.9 2 5V19C2 20.1 2.9 21 4 21H12V19H4V5Z";var mdiMagnifyMinus="M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M5,8V10H13V8H5Z";var mdiMagnifyPlus="M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M8,5V8H5V10H8V13H10V10H13V8H10V5H8Z";var mdiMeterElectric="M12 2C7.04 2 3 6.04 3 11C3 14.91 5.5 18.24 9 19.47V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.47C18.5 18.23 21 14.9 21 11C21 6.04 16.96 2 12 2M14.25 14L11.25 17L9.75 15.5L11 14.25L9.75 13L12.75 10L14.25 11.5L13 12.75L14.25 14M16 9H8V7H16V9Z";var mdiMicrowave="M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M13,9V15H15V9H13M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z";var mdiMotionSensor="M10,0.2C9,0.2 8.2,1 8.2,2C8.2,3 9,3.8 10,3.8C11,3.8 11.8,3 11.8,2C11.8,1 11,0.2 10,0.2M15.67,1A7.33,7.33 0 0,0 23,8.33V7A6,6 0 0,1 17,1H15.67M18.33,1C18.33,3.58 20.42,5.67 23,5.67V4.33C21.16,4.33 19.67,2.84 19.67,1H18.33M21,1A2,2 0 0,0 23,3V1H21M7.92,4.03C7.75,4.03 7.58,4.06 7.42,4.11L2,5.8V11H3.8V7.33L5.91,6.67L2,22H3.8L6.67,13.89L9,17V22H10.8V15.59L8.31,11.05L9.04,8.18L10.12,10H15V8.2H11.38L9.38,4.87C9.08,4.37 8.54,4.03 7.92,4.03Z";var mdiPause="M14,19H18V5H14M6,19H10V5H6V19Z";var mdiPlay="M8,5.14V19.14L19,12.14L8,5.14Z";var mdiPlus="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";var mdiPowerPlug="M16,7V3H14V7H10V3H8V7H8C7,7 6,8 6,9V14.5L9.5,18V21H14.5V18L18,14.5V9C18,8 17,7 16,7Z";var mdiPump="M2 21V15H3.5C3.18 14.06 3 13.05 3 12C3 7.03 7.03 3 12 3H22V9H20.5C20.82 9.94 21 10.95 21 12C21 16.97 16.97 21 12 21H2M5 12C5 13.28 5.34 14.47 5.94 15.5L9.4 13.5C9.15 13.06 9 12.55 9 12C9 11.35 9.21 10.75 9.56 10.26L6.3 7.93C5.5 9.08 5 10.5 5 12M12 19C14.59 19 16.85 17.59 18.06 15.5L14.6 13.5C14.08 14.4 13.11 15 12 15L11.71 15L11.33 18.97L12 19M12 9C13.21 9 14.26 9.72 14.73 10.76L18.37 9.1C17.27 6.68 14.83 5 12 5V9M12 11C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13C12.55 13 13 12.55 13 12C13 11.45 12.55 11 12 11Z";var mdiRefresh="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z";var mdiRemote="M12,0C8.96,0 6.21,1.23 4.22,3.22L5.63,4.63C7.26,3 9.5,2 12,2C14.5,2 16.74,3 18.36,4.64L19.77,3.23C17.79,1.23 15.04,0 12,0M7.05,6.05L8.46,7.46C9.37,6.56 10.62,6 12,6C13.38,6 14.63,6.56 15.54,7.46L16.95,6.05C15.68,4.78 13.93,4 12,4C10.07,4 8.32,4.78 7.05,6.05M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M15,9H9A1,1 0 0,0 8,10V22A1,1 0 0,0 9,23H15A1,1 0 0,0 16,22V10A1,1 0 0,0 15,9Z";var mdiRobotVacuum="M12,2C14.65,2 17.19,3.06 19.07,4.93L17.65,6.35C16.15,4.85 14.12,4 12,4C9.88,4 7.84,4.84 6.35,6.35L4.93,4.93C6.81,3.06 9.35,2 12,2M3.66,6.5L5.11,7.94C4.39,9.17 4,10.57 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,10.57 19.61,9.17 18.88,7.94L20.34,6.5C21.42,8.12 22,10.04 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.04 2.58,8.12 3.66,6.5M12,6A6,6 0 0,1 18,12C18,13.59 17.37,15.12 16.24,16.24L14.83,14.83C14.08,15.58 13.06,16 12,16C10.94,16 9.92,15.58 9.17,14.83L7.76,16.24C6.63,15.12 6,13.59 6,12A6,6 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z";var mdiRouter="M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20M13 13V16H15L12 19L9 16H11V13M5 13H8V15L11 12L8 9V11H5M11 11V8H9L12 5L15 8H13V11M19 11H16V9L13 12L16 15V13H19";var mdiShareVariant="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z";var mdiSignalCellular1="M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z";var mdiSignalCellular2="M19.5,5.5V18.5H17.5V5.5H19.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z";var mdiSignalCellular3="M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z";var mdiSmokeDetector="M12,18A6,6 0 0,0 18,12C18,8.68 15.31,6 12,6C8.68,6 6,8.68 6,12A6,6 0 0,0 12,18M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12Z";var mdiSnowflakeAlert="M16.46,9.41L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L16.46,14.61M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44M19,13V7H21V13H19M19,17V15H21V17H19Z";var mdiSolarPower="M11.45,2V5.55L15,3.77L11.45,2M10.45,8L8,10.46L11.75,11.71L10.45,8M2,11.45L3.77,15L5.55,11.45H2M10,2H2V10C2.57,10.17 3.17,10.25 3.77,10.25C7.35,10.26 10.26,7.35 10.27,3.75C10.26,3.16 10.17,2.57 10,2M17,22V16H14L19,7V13H22L17,22Z";var mdiSpeaker="M12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M17,2H7C5.89,2 5,2.89 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4C19,2.89 18.1,2 17,2Z";var mdiSprinkler="M11 7H13V9H11V7M5 22H9V10H5V22M14 11H16V9H14V11M17 10H19V8H17V10M17 5V7H19V5H17M14 8H16V6H14V8M17 13H19V11H17V13M5 7H5.33L6 9H8L8.67 7H9V6H5V7Z";var mdiStove="M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z";var mdiTelevision="M21,17H3V5H21M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z";var mdiThermometer="M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z";var mdiToggleSwitch="M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z";var mdiTrashCan="M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z";var mdiTumbleDryer="M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8M8.11,10.5H10C9.76,11.88 10,12.67 10.58,13.29C11.68,14.36 12.16,15.71 11.89,17.5H10C10.24,16.12 10,15.33 9.42,14.71C8.32,13.64 7.85,12.29 8.11,10.5M12.11,10.5H14C13.76,11.88 14,12.67 14.58,13.29C15.68,14.36 16.16,15.71 15.89,17.5H14C14.24,16.12 14,15.33 13.42,14.71C12.32,13.64 11.85,12.29 12.11,10.5Z";var mdiUpdate="M21,10.12H14.22L16.96,7.3C14.23,4.6 9.81,4.5 7.08,7.2C4.35,9.91 4.35,14.28 7.08,17C9.81,19.7 14.23,19.7 16.96,17C18.32,15.65 19,14.08 19,12.1H21C21,14.08 20.12,16.65 18.36,18.39C14.85,21.87 9.15,21.87 5.64,18.39C2.14,14.92 2.11,9.28 5.62,5.81C9.13,2.34 14.76,2.34 18.27,5.81L21,3V10.12M12.5,8V12.25L16,14.33L15.28,15.54L11,13V8H12.5Z";var mdiWashingMachine="M14.83,11.17C16.39,12.73 16.39,15.27 14.83,16.83C13.27,18.39 10.73,18.39 9.17,16.83L14.83,11.17M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8Z";var mdiWater="M12,20A6,6 0 0,1 6,14C6,10 12,3.25 12,3.25C12,3.25 18,10 18,14A6,6 0 0,1 12,20Z";var mdiWaterBoiler="M8 2C6.89 2 6 2.89 6 4V16C6 17.11 6.89 18 8 18H9V20H6V22H9C10.11 22 11 21.11 11 20V18H13V20C13 21.11 13.89 22 15 22H18V20H15V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.11 2 16 2H8M12 4.97A2 2 0 0 1 14 6.97A2 2 0 0 1 12 8.97A2 2 0 0 1 10 6.97A2 2 0 0 1 12 4.97M10 14.5H14V16H10V14.5Z";var mdiWaterPercent="M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z";var mdiWeatherNight="M17.75,4.09L15.22,6.03L16.13,9.09L13.5,7.28L10.87,9.09L11.78,6.03L9.25,4.09L12.44,4L13.5,1L14.56,4L17.75,4.09M21.25,11L19.61,12.25L20.2,14.23L18.5,13.06L16.8,14.23L17.39,12.25L15.75,11L17.81,10.95L18.5,9L19.19,10.95L21.25,11M18.97,15.95C19.8,15.87 20.69,17.05 20.16,17.8C19.84,18.25 19.5,18.67 19.08,19.07C15.17,23 8.84,23 4.94,19.07C1.03,15.17 1.03,8.83 4.94,4.93C5.34,4.53 5.76,4.17 6.21,3.85C6.96,3.32 8.14,4.21 8.06,5.04C7.79,7.9 8.75,10.87 10.95,13.06C13.14,15.26 16.1,16.22 18.97,15.95M17.33,17.97C14.5,17.81 11.7,16.64 9.53,14.5C7.36,12.31 6.2,9.5 6.04,6.68C3.23,9.82 3.34,14.64 6.35,17.66C9.37,20.67 14.19,20.78 17.33,17.97Z";var mdiWeatherRainy="M6,14.03A1,1 0 0,1 7,15.03C7,15.58 6.55,16.03 6,16.03C3.24,16.03 1,13.79 1,11.03C1,8.27 3.24,6.03 6,6.03C7,3.68 9.3,2.03 12,2.03C15.43,2.03 18.24,4.69 18.5,8.06L19,8.03A4,4 0 0,1 23,12.03C23,14.23 21.21,16.03 19,16.03H18C17.45,16.03 17,15.58 17,15.03C17,14.47 17.45,14.03 18,14.03H19A2,2 0 0,0 21,12.03A2,2 0 0,0 19,10.03H17V9.03C17,6.27 14.76,4.03 12,4.03C9.5,4.03 7.45,5.84 7.06,8.21C6.73,8.09 6.37,8.03 6,8.03A3,3 0 0,0 3,11.03A3,3 0 0,0 6,14.03M12,14.15C12.18,14.39 12.37,14.66 12.56,14.94C13,15.56 14,17.03 14,18C14,19.11 13.1,20 12,20A2,2 0 0,1 10,18C10,17.03 11,15.56 11.44,14.94C11.63,14.66 11.82,14.4 12,14.15M12,11.03L11.5,11.59C11.5,11.59 10.65,12.55 9.79,13.81C8.93,15.06 8,16.56 8,18A4,4 0 0,0 12,22A4,4 0 0,0 16,18C16,16.56 15.07,15.06 14.21,13.81C13.35,12.55 12.5,11.59 12.5,11.59";var mdiWeatherSunny="M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M20.64,17L16.5,17.36C17.09,16.85 17.62,16.22 18.04,15.5C18.46,14.77 18.73,14 18.87,13.21L20.64,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56L12,22Z";var mdiWifi="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z";
237
+ var mdiAccessPoint="M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4.89,7.78 6.34,6.34L4.93,4.93M19.07,4.93L17.66,6.34C19.11,7.78 20,9.79 20,12C20,14.22 19.11,16.22 17.66,17.66L19.07,19.07C20.88,17.26 22,14.76 22,12C22,9.24 20.88,6.74 19.07,4.93M7.76,7.76C6.67,8.85 6,10.35 6,12C6,13.65 6.67,15.15 7.76,16.24L9.17,14.83C8.45,14.11 8,13.11 8,12C8,10.89 8.45,9.89 9.17,9.17L7.76,7.76M16.24,7.76L14.83,9.17C15.55,9.89 16,10.89 16,12C16,13.11 15.55,14.11 14.83,14.83L16.24,16.24C17.33,15.15 18,13.65 18,12C18,10.35 17.33,8.85 16.24,7.76M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z";var mdiAirConditioner="M6.59,0.66C8.93,-1.15 11.47,1.06 12.04,4.5C12.47,4.5 12.89,4.62 13.27,4.84C13.79,4.24 14.25,3.42 14.07,2.5C13.65,0.35 16.06,-1.39 18.35,1.58C20.16,3.92 17.95,6.46 14.5,7.03C14.5,7.46 14.39,7.89 14.16,8.27C14.76,8.78 15.58,9.24 16.5,9.06C18.63,8.64 20.38,11.04 17.41,13.34C15.07,15.15 12.53,12.94 11.96,9.5C11.53,9.5 11.11,9.37 10.74,9.15C10.22,9.75 9.75,10.58 9.93,11.5C10.35,13.64 7.94,15.39 5.65,12.42C3.83,10.07 6.05,7.53 9.5,6.97C9.5,6.54 9.63,6.12 9.85,5.74C9.25,5.23 8.43,4.76 7.5,4.94C5.37,5.36 3.62,2.96 6.59,0.66M5,16H7A2,2 0 0,1 9,18V24H7V22H5V24H3V18A2,2 0 0,1 5,16M5,18V20H7V18H5M12.93,16H15L12.07,24H10L12.93,16M18,16H21V18H18V22H21V24H18A2,2 0 0,1 16,22V18A2,2 0 0,1 18,16Z";var mdiAirFilter="M19,18.31V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V16.3C4.54,16.12 3.95,16 3,16A1,1 0 0,1 2,15A1,1 0 0,1 3,14C3.82,14 4.47,14.08 5,14.21V12.3C4.54,12.12 3.95,12 3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10C3.82,10 4.47,10.08 5,10.21V8.3C4.54,8.12 3.95,8 3,8A1,1 0 0,1 2,7A1,1 0 0,1 3,6C3.82,6 4.47,6.08 5,6.21V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V6.16C20.78,6.47 21.54,7.13 21.71,7.29C22.1,7.68 22.1,8.32 21.71,8.71C21.32,9.1 20.8,9.09 20.29,8.71V8.71C20.29,8.71 19.25,8 17,8C15.74,8 14.91,8.41 13.95,8.9C12.91,9.41 11.74,10 10,10C9.64,10 9.31,10 9,9.96V7.95C9.3,8 9.63,8 10,8C11.26,8 12.09,7.59 13.05,7.11C14.09,6.59 15.27,6 17,6V4H7V20H17V18C18.5,18 18.97,18.29 19,18.31M17,10C15.27,10 14.09,10.59 13.05,11.11C12.09,11.59 11.26,12 10,12C9.63,12 9.3,12 9,11.95V13.96C9.31,14 9.64,14 10,14C11.74,14 12.91,13.41 13.95,12.9C14.91,12.42 15.74,12 17,12C19.25,12 20.29,12.71 20.29,12.71V12.71C20.8,13.1 21.32,13.1 21.71,12.71C22.1,12.32 22.1,11.69 21.71,11.29C21.5,11.08 20.25,10 17,10M17,14C15.27,14 14.09,14.59 13.05,15.11C12.09,15.59 11.26,16 10,16C9.63,16 9.3,16 9,15.95V17.96C9.31,18 9.64,18 10,18C11.74,18 12.91,17.41 13.95,16.9C14.91,16.42 15.74,16 17,16C19.25,16 20.29,16.71 20.29,16.71V16.71C20.8,17.1 21.32,17.1 21.71,16.71C22.1,16.32 22.1,15.69 21.71,15.29C21.5,15.08 20.25,14 17,14Z";var mdiAirPurifier="M11,9A4,4 0 0,1 15,13A4,4 0 0,1 11,17A4,4 0 0,1 7,13A4,4 0 0,1 11,9M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13A2,2 0 0,0 11,11M7,4H14A4,4 0 0,1 18,8V9H16V8A2,2 0 0,0 14,6H7A2,2 0 0,0 5,8V20H16V18H18V22H3V8A4,4 0 0,1 7,4M16,11C18.5,11 18.5,9 21,9V11C18.5,11 18.5,13 16,13V11M16,15C18.5,15 18.5,13 21,13V15C18.5,15 18.5,17 16,17V15Z";var mdiAlertCircleOutline="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z";var mdiArrowLeft="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z";var mdiBell="M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21";var mdiBlindsHorizontal="M20 19V3H4V19H2V21H22V19H20M16 9H18V11H16V9M14 11H6V9H14V11M18 7H16V5H18V7M14 5V7H6V5H14M6 19V13H14V14.82C13.55 15.14 13.25 15.66 13.25 16.25C13.25 17.22 14.03 18 15 18S16.75 17.22 16.75 16.25C16.75 15.66 16.45 15.13 16 14.82V13H18V19H6Z";var mdiBrightnessAuto="M14.3,16L13.6,14H10.4L9.7,16H7.8L11,7H13L16.2,16H14.3M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69M10.85,12.65H13.15L12,9L10.85,12.65Z";var mdiBrightnessPercent="M20.04,8.71V4H15.34L12,0.69L8.71,4H4V8.71L0.69,12L4,15.34V20.04H8.71L12,23.35L15.34,20.04H20.04V15.34L23.35,12L20.04,8.71M8.83,7.05C9.81,7.05 10.6,7.84 10.6,8.83A1.77,1.77 0 0,1 8.83,10.6C7.84,10.6 7.05,9.81 7.05,8.83C7.05,7.84 7.84,7.05 8.83,7.05M15.22,17C14.24,17 13.45,16.2 13.45,15.22A1.77,1.77 0 0,1 15.22,13.45C16.2,13.45 17,14.24 17,15.22A1.78,1.78 0 0,1 15.22,17M8.5,17.03L7,15.53L15.53,7L17.03,8.5L8.5,17.03Z";var mdiCamera="M4,4H7L9,2H15L17,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z";var mdiCast="M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3Z";var mdiCctv="M6.03 12.03L8.03 15.5L5.5 18.68L2 12.62L6.03 12.03M17 18V15.29C17.88 14.9 18.5 14.03 18.5 13C18.5 12.43 18.3 11.9 17.97 11.5L19.94 10.35C20.95 9.76 21.3 8.47 20.71 7.46L19.33 5.06C18.74 4.05 17.45 3.7 16.44 4.28L8.31 9C7.36 9.53 7.03 10.75 7.58 11.71L9.08 14.31C9.63 15.26 10.86 15.59 11.81 15.04L13.69 13.96C13.94 14.55 14.41 15.03 15 15.29V18C15 19.1 15.9 20 17 20H22V18H17Z";var mdiChatProcessing="M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M17,12V10H15V12H17M13,12V10H11V12H13M9,12V10H7V12H9Z";var mdiChevronDown="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z";var mdiChevronRight="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";var mdiChip="M6,4H18V5H21V7H18V9H21V11H18V13H21V15H18V17H21V19H18V20H6V19H3V17H6V15H3V13H6V11H3V9H6V7H3V5H6V4M11,15V18H12V15H11M13,15V18H14V15H13M15,15V18H16V15H15Z";var mdiClose="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";var mdiCog="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z";var mdiDishwasher="M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2M10,4A1,1 0 0,1 11,5A1,1 0 0,1 10,6A1,1 0 0,1 9,5A1,1 0 0,1 10,4M7,4A1,1 0 0,1 8,5A1,1 0 0,1 7,6A1,1 0 0,1 6,5A1,1 0 0,1 7,4M18,20H6V8H18V20M14.67,15.33C14.69,16.03 14.41,16.71 13.91,17.21C12.86,18.26 11.15,18.27 10.09,17.21C9.59,16.71 9.31,16.03 9.33,15.33C9.4,14.62 9.63,13.94 10,13.33C10.37,12.5 10.81,11.73 11.33,11L12,10C13.79,12.59 14.67,14.36 14.67,15.33";var mdiDoorOpen="M12,3C10.89,3 10,3.89 10,5H3V19H2V21H22V19H21V5C21,3.89 20.11,3 19,3H12M12,5H19V19H12V5M5,11H7V13H5V11Z";var mdiDoorbell="M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M16 2H8C6.9 2 6 2.9 6 4V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V4C18 2.9 17.1 2 16 2M16 20H8V4H16V20Z";var mdiDoorbellVideo="M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M18 4V20C18 21.1 17.11 22 16 22H8C6.9 22 6 21.11 6 20V4C6 2.9 6.9 2 8 2H16C17.11 2 18 2.9 18 4M10.5 7C10.5 7.83 11.17 8.5 12 8.5S13.5 7.83 13.5 7 12.83 5.5 12 5.5 10.5 6.17 10.5 7M16 10H8V20H16V10Z";var mdiEthernet="M7,15H9V18H11V15H13V18H15V15H17V18H19V9H15V6H9V9H5V18H7V15M4.38,3H19.63C20.94,3 22,4.06 22,5.38V19.63A2.37,2.37 0 0,1 19.63,22H4.38C3.06,22 2,20.94 2,19.63V5.38C2,4.06 3.06,3 4.38,3Z";var mdiEvStation="M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M8,18V13.5H6L10,6V11H12L8,18Z";var mdiFan="M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z";var mdiFile="M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z";var mdiFitToScreen="M17 4H20C21.1 4 22 4.9 22 6V8H20V6H17V4M4 8V6H7V4H4C2.9 4 2 4.9 2 6V8H4M20 16V18H17V20H20C21.1 20 22 19.1 22 18V16H20M7 18H4V16H2V18C2 19.1 2.9 20 4 20H7V18M18 8H6V16H18V8Z";var mdiFridge="M7,2H17A2,2 0 0,1 19,4V9H5V4A2,2 0 0,1 7,2M19,19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V10H19V19M8,5V7H10V5H8M8,12V15H10V12H8Z";var mdiGauge="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M14,5.89C13.62,5.9 13.26,6.15 13.1,6.54L11.81,9.77L11.71,10C11,10.13 10.41,10.6 10.14,11.26C9.73,12.29 10.23,13.45 11.26,13.86C12.29,14.27 13.45,13.77 13.86,12.74C14.12,12.08 14,11.32 13.57,10.76L13.67,10.5L14.96,7.29L14.97,7.26C15.17,6.75 14.92,6.17 14.41,5.96C14.28,5.91 14.15,5.89 14,5.89M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9M17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9Z";var mdiGraphOutline="M19.5 17C19.36 17 19.24 17 19.11 17.04L17.5 13.8C17.95 13.35 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.61 9.5 15.5 9.5 15.35 9.54L13.74 6.3C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.2 9.79 5.84 10.26 6.29L8.65 9.54C8.5 9.5 8.39 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.04 13.34 6.5 13.79L4.89 17.04C4.76 17 4.64 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.63 14.46L10.26 17.71C9.79 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.8C10.45 13.35 10.75 12.71 10.75 12C10.75 11.3 10.46 10.67 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7C12.13 7 12.26 7 12.39 6.96L14 10.21C13.54 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.13 14.46L17.76 17.71C17.29 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17M4.5 20.5C3.95 20.5 3.5 20.05 3.5 19.5S3.95 18.5 4.5 18.5 5.5 18.95 5.5 19.5 5.05 20.5 4.5 20.5M13 19.5C13 20.05 12.55 20.5 12 20.5S11 20.05 11 19.5 11.45 18.5 12 18.5 13 18.95 13 19.5M7.25 12C7.25 11.45 7.7 11 8.25 11S9.25 11.45 9.25 12 8.8 13 8.25 13 7.25 12.55 7.25 12M11 4.5C11 3.95 11.45 3.5 12 3.5S13 3.95 13 4.5 12.55 5.5 12 5.5 11 5.05 11 4.5M14.75 12C14.75 11.45 15.2 11 15.75 11S16.75 11.45 16.75 12 16.3 13 15.75 13 14.75 12.55 14.75 12M19.5 20.5C18.95 20.5 18.5 20.05 18.5 19.5S18.95 18.5 19.5 18.5 20.5 18.95 20.5 19.5 20.05 20.5 19.5 20.5Z";var mdiHeatPump="M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12.75 7.08C13.57 7.2 14.32 7.5 14.95 8L12.75 10.19V7.08M11.25 7.08V10.19L9.05 8C9.68 7.5 10.43 7.2 11.25 7.08M8 9.05L10.19 11.25H7.08C7.2 10.43 7.5 9.68 8 9.05M7.08 12.75H10.19L8 14.95C7.5 14.32 7.2 13.57 7.08 12.75M11.25 16.92C10.43 16.8 9.68 16.5 9.05 16L11.25 13.81V16.92M12 13C11.45 13 11 12.55 11 12S11.45 11 12 11 13 11.45 13 12 12.55 13 12 13M12.75 16.92V13.81L14.95 16C14.32 16.5 13.57 16.8 12.75 16.92M16 14.95L13.81 12.75H16.92C16.8 13.57 16.5 14.32 16 14.95M13.81 11.25L16 9.05C16.5 9.69 16.8 10.44 16.92 11.25H13.81Z";var mdiHelp="M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z";var mdiHome="M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z";var mdiLeaf="M17,8C8,10 5.9,16.17 3.82,21.34L5.71,22L6.66,19.7C7.14,19.87 7.64,20 8,20C19,20 22,3 22,3C21,5 14,5.25 9,6.25C4,7.25 2,11.5 2,13.5C2,15.5 3.75,17.25 3.75,17.25C7,8 17,8 17,8Z";var mdiLightbulb="M12,2A7,7 0 0,0 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H15A1,1 0 0,0 16,17V14.74C17.81,13.47 19,11.38 19,9A7,7 0 0,0 12,2M9,21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9V21Z";var mdiLink="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z";var mdiLoading="M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z";var mdiLock="M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z";var mdiLogout="M17 7L15.59 8.41L18.17 11H8V13H18.17L15.59 15.58L17 17L22 12M4 5H12V3H4C2.9 3 2 3.9 2 5V19C2 20.1 2.9 21 4 21H12V19H4V5Z";var mdiMagnifyMinus="M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M5,8V10H13V8H5Z";var mdiMagnifyPlus="M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M8,5V8H5V10H8V13H10V10H13V8H10V5H8Z";var mdiMeterElectric="M12 2C7.04 2 3 6.04 3 11C3 14.91 5.5 18.24 9 19.47V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.47C18.5 18.23 21 14.9 21 11C21 6.04 16.96 2 12 2M14.25 14L11.25 17L9.75 15.5L11 14.25L9.75 13L12.75 10L14.25 11.5L13 12.75L14.25 14M16 9H8V7H16V9Z";var mdiMicrowave="M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M13,9V15H15V9H13M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z";var mdiMotionSensor="M10,0.2C9,0.2 8.2,1 8.2,2C8.2,3 9,3.8 10,3.8C11,3.8 11.8,3 11.8,2C11.8,1 11,0.2 10,0.2M15.67,1A7.33,7.33 0 0,0 23,8.33V7A6,6 0 0,1 17,1H15.67M18.33,1C18.33,3.58 20.42,5.67 23,5.67V4.33C21.16,4.33 19.67,2.84 19.67,1H18.33M21,1A2,2 0 0,0 23,3V1H21M7.92,4.03C7.75,4.03 7.58,4.06 7.42,4.11L2,5.8V11H3.8V7.33L5.91,6.67L2,22H3.8L6.67,13.89L9,17V22H10.8V15.59L8.31,11.05L9.04,8.18L10.12,10H15V8.2H11.38L9.38,4.87C9.08,4.37 8.54,4.03 7.92,4.03Z";var mdiPause="M14,19H18V5H14M6,19H10V5H6V19Z";var mdiPlay="M8,5.14V19.14L19,12.14L8,5.14Z";var mdiPlus="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z";var mdiPowerPlug="M16,7V3H14V7H10V3H8V7H8C7,7 6,8 6,9V14.5L9.5,18V21H14.5V18L18,14.5V9C18,8 17,7 16,7Z";var mdiPump="M2 21V15H3.5C3.18 14.06 3 13.05 3 12C3 7.03 7.03 3 12 3H22V9H20.5C20.82 9.94 21 10.95 21 12C21 16.97 16.97 21 12 21H2M5 12C5 13.28 5.34 14.47 5.94 15.5L9.4 13.5C9.15 13.06 9 12.55 9 12C9 11.35 9.21 10.75 9.56 10.26L6.3 7.93C5.5 9.08 5 10.5 5 12M12 19C14.59 19 16.85 17.59 18.06 15.5L14.6 13.5C14.08 14.4 13.11 15 12 15L11.71 15L11.33 18.97L12 19M12 9C13.21 9 14.26 9.72 14.73 10.76L18.37 9.1C17.27 6.68 14.83 5 12 5V9M12 11C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13C12.55 13 13 12.55 13 12C13 11.45 12.55 11 12 11Z";var mdiRefresh="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z";var mdiRemote="M12,0C8.96,0 6.21,1.23 4.22,3.22L5.63,4.63C7.26,3 9.5,2 12,2C14.5,2 16.74,3 18.36,4.64L19.77,3.23C17.79,1.23 15.04,0 12,0M7.05,6.05L8.46,7.46C9.37,6.56 10.62,6 12,6C13.38,6 14.63,6.56 15.54,7.46L16.95,6.05C15.68,4.78 13.93,4 12,4C10.07,4 8.32,4.78 7.05,6.05M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M15,9H9A1,1 0 0,0 8,10V22A1,1 0 0,0 9,23H15A1,1 0 0,0 16,22V10A1,1 0 0,0 15,9Z";var mdiRobotVacuum="M12,2C14.65,2 17.19,3.06 19.07,4.93L17.65,6.35C16.15,4.85 14.12,4 12,4C9.88,4 7.84,4.84 6.35,6.35L4.93,4.93C6.81,3.06 9.35,2 12,2M3.66,6.5L5.11,7.94C4.39,9.17 4,10.57 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,10.57 19.61,9.17 18.88,7.94L20.34,6.5C21.42,8.12 22,10.04 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.04 2.58,8.12 3.66,6.5M12,6A6,6 0 0,1 18,12C18,13.59 17.37,15.12 16.24,16.24L14.83,14.83C14.08,15.58 13.06,16 12,16C10.94,16 9.92,15.58 9.17,14.83L7.76,16.24C6.63,15.12 6,13.59 6,12A6,6 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z";var mdiRouter="M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20M13 13V16H15L12 19L9 16H11V13M5 13H8V15L11 12L8 9V11H5M11 11V8H9L12 5L15 8H13V11M19 11H16V9L13 12L16 15V13H19";var mdiShareVariant="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z";var mdiSignalCellular1="M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z";var mdiSignalCellular2="M19.5,5.5V18.5H17.5V5.5H19.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z";var mdiSignalCellular3="M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z";var mdiSmokeDetector="M12,18A6,6 0 0,0 18,12C18,8.68 15.31,6 12,6C8.68,6 6,8.68 6,12A6,6 0 0,0 12,18M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12Z";var mdiSnowflakeAlert="M16.46,9.41L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L16.46,14.61M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44M19,13V7H21V13H19M19,17V15H21V17H19Z";var mdiSolarPower="M11.45,2V5.55L15,3.77L11.45,2M10.45,8L8,10.46L11.75,11.71L10.45,8M2,11.45L3.77,15L5.55,11.45H2M10,2H2V10C2.57,10.17 3.17,10.25 3.77,10.25C7.35,10.26 10.26,7.35 10.27,3.75C10.26,3.16 10.17,2.57 10,2M17,22V16H14L19,7V13H22L17,22Z";var mdiSpeaker="M12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M17,2H7C5.89,2 5,2.89 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4C19,2.89 18.1,2 17,2Z";var mdiSprinkler="M11 7H13V9H11V7M5 22H9V10H5V22M14 11H16V9H14V11M17 10H19V8H17V10M17 5V7H19V5H17M14 8H16V6H14V8M17 13H19V11H17V13M5 7H5.33L6 9H8L8.67 7H9V6H5V7Z";var mdiStove="M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z";var mdiTelevision="M21,17H3V5H21M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z";var mdiThermometer="M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z";var mdiToggleSwitch="M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z";var mdiTrashCan="M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z";var mdiTumbleDryer="M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8M8.11,10.5H10C9.76,11.88 10,12.67 10.58,13.29C11.68,14.36 12.16,15.71 11.89,17.5H10C10.24,16.12 10,15.33 9.42,14.71C8.32,13.64 7.85,12.29 8.11,10.5M12.11,10.5H14C13.76,11.88 14,12.67 14.58,13.29C15.68,14.36 16.16,15.71 15.89,17.5H14C14.24,16.12 14,15.33 13.42,14.71C12.32,13.64 11.85,12.29 12.11,10.5Z";var mdiUpdate="M21,10.12H14.22L16.96,7.3C14.23,4.6 9.81,4.5 7.08,7.2C4.35,9.91 4.35,14.28 7.08,17C9.81,19.7 14.23,19.7 16.96,17C18.32,15.65 19,14.08 19,12.1H21C21,14.08 20.12,16.65 18.36,18.39C14.85,21.87 9.15,21.87 5.64,18.39C2.14,14.92 2.11,9.28 5.62,5.81C9.13,2.34 14.76,2.34 18.27,5.81L21,3V10.12M12.5,8V12.25L16,14.33L15.28,15.54L11,13V8H12.5Z";var mdiWashingMachine="M14.83,11.17C16.39,12.73 16.39,15.27 14.83,16.83C13.27,18.39 10.73,18.39 9.17,16.83L14.83,11.17M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8Z";var mdiWater="M12,20A6,6 0 0,1 6,14C6,10 12,3.25 12,3.25C12,3.25 18,10 18,14A6,6 0 0,1 12,20Z";var mdiWaterBoiler="M8 2C6.89 2 6 2.89 6 4V16C6 17.11 6.89 18 8 18H9V20H6V22H9C10.11 22 11 21.11 11 20V18H13V20C13 21.11 13.89 22 15 22H18V20H15V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.11 2 16 2H8M12 4.97A2 2 0 0 1 14 6.97A2 2 0 0 1 12 8.97A2 2 0 0 1 10 6.97A2 2 0 0 1 12 4.97M10 14.5H14V16H10V14.5Z";var mdiWaterPercent="M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z";var mdiWeatherNight="M17.75,4.09L15.22,6.03L16.13,9.09L13.5,7.28L10.87,9.09L11.78,6.03L9.25,4.09L12.44,4L13.5,1L14.56,4L17.75,4.09M21.25,11L19.61,12.25L20.2,14.23L18.5,13.06L16.8,14.23L17.39,12.25L15.75,11L17.81,10.95L18.5,9L19.19,10.95L21.25,11M18.97,15.95C19.8,15.87 20.69,17.05 20.16,17.8C19.84,18.25 19.5,18.67 19.08,19.07C15.17,23 8.84,23 4.94,19.07C1.03,15.17 1.03,8.83 4.94,4.93C5.34,4.53 5.76,4.17 6.21,3.85C6.96,3.32 8.14,4.21 8.06,5.04C7.79,7.9 8.75,10.87 10.95,13.06C13.14,15.26 16.1,16.22 18.97,15.95M17.33,17.97C14.5,17.81 11.7,16.64 9.53,14.5C7.36,12.31 6.2,9.5 6.04,6.68C3.23,9.82 3.34,14.64 6.35,17.66C9.37,20.67 14.19,20.78 17.33,17.97Z";var mdiWeatherRainy="M6,14.03A1,1 0 0,1 7,15.03C7,15.58 6.55,16.03 6,16.03C3.24,16.03 1,13.79 1,11.03C1,8.27 3.24,6.03 6,6.03C7,3.68 9.3,2.03 12,2.03C15.43,2.03 18.24,4.69 18.5,8.06L19,8.03A4,4 0 0,1 23,12.03C23,14.23 21.21,16.03 19,16.03H18C17.45,16.03 17,15.58 17,15.03C17,14.47 17.45,14.03 18,14.03H19A2,2 0 0,0 21,12.03A2,2 0 0,0 19,10.03H17V9.03C17,6.27 14.76,4.03 12,4.03C9.5,4.03 7.45,5.84 7.06,8.21C6.73,8.09 6.37,8.03 6,8.03A3,3 0 0,0 3,11.03A3,3 0 0,0 6,14.03M12,14.15C12.18,14.39 12.37,14.66 12.56,14.94C13,15.56 14,17.03 14,18C14,19.11 13.1,20 12,20A2,2 0 0,1 10,18C10,17.03 11,15.56 11.44,14.94C11.63,14.66 11.82,14.4 12,14.15M12,11.03L11.5,11.59C11.5,11.59 10.65,12.55 9.79,13.81C8.93,15.06 8,16.56 8,18A4,4 0 0,0 12,22A4,4 0 0,0 16,18C16,16.56 15.07,15.06 14.21,13.81C13.35,12.55 12.5,11.59 12.5,11.59";var mdiWeatherSunny="M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M20.64,17L16.5,17.36C17.09,16.85 17.62,16.22 18.04,15.5C18.46,14.77 18.73,14 18.87,13.21L20.64,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56L12,22Z";var mdiWifi="M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z";
238
238
 
239
239
  /**
240
240
  * @license
@@ -1095,7 +1095,6 @@ let HaSvgIcon = class extends i$4 {
1095
1095
  viewBox=${this.viewBox ?? "0 0 24 24"}
1096
1096
  preserveAspectRatio="xMidYMid meet"
1097
1097
  focusable="false"
1098
- role="img"
1099
1098
  aria-hidden="true"
1100
1099
  >
1101
1100
  <g>
@@ -4026,12 +4025,61 @@ MdListItem = __decorate([t$1('md-list-item')], MdListItem);
4026
4025
  */
4027
4026
  const showLogLevelDialog = async client => {
4028
4027
  var _document$querySelect;
4029
- await import('./log-level-dialog-BO1OSL0z.js');
4028
+ await import('./log-level-dialog-D4hubdib.js');
4030
4029
  const dialog = document.createElement("log-level-dialog");
4031
4030
  dialog.client = client;
4032
4031
  (_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
4033
4032
  };
4034
4033
 
4034
+ /**
4035
+ * @license
4036
+ * Copyright 2025-2026 Open Home Foundation
4037
+ * SPDX-License-Identifier: Apache-2.0
4038
+ */
4039
+ const cssVarCache = /* @__PURE__ */new Map();
4040
+ ThemeService.subscribe(() => cssVarCache.clear());
4041
+ function getCssVar(name, fallback = "") {
4042
+ let value = cssVarCache.get(name);
4043
+ if (value === void 0) {
4044
+ value = getComputedStyle(document.body).getPropertyValue(name).trim();
4045
+ cssVarCache.set(name, value);
4046
+ }
4047
+ return value || fallback;
4048
+ }
4049
+ const reducedMotionStyles = i$7`
4050
+ @media (prefers-reduced-motion: reduce) {
4051
+ *,
4052
+ *::before,
4053
+ *::after {
4054
+ animation-duration: 0.01ms !important;
4055
+ animation-iteration-count: 1 !important;
4056
+ transition-duration: 0.01ms !important;
4057
+ }
4058
+ }
4059
+ `;
4060
+ const notFoundStyles = i$7`
4061
+ .not-found {
4062
+ display: flex;
4063
+ flex-direction: column;
4064
+ align-items: center;
4065
+ justify-content: center;
4066
+ padding: 48px 16px;
4067
+ gap: 16px;
4068
+ color: var(--md-sys-color-on-surface-variant);
4069
+ }
4070
+
4071
+ .not-found ha-svg-icon {
4072
+ --icon-primary-color: var(--md-sys-color-error);
4073
+ width: 48px;
4074
+ height: 48px;
4075
+ }
4076
+
4077
+ .not-found p {
4078
+ margin: 0;
4079
+ font-size: 1.1rem;
4080
+ }
4081
+ `;
4082
+
4035
4083
  var __defProp$e = Object.defineProperty;
4036
4084
  var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
4037
4085
  var __decorateClass$j = (decorators, target, key, kind) => {
@@ -4160,70 +4208,70 @@ let DashboardHeader = class extends i$4 {
4160
4208
  `;
4161
4209
  }
4162
4210
  };
4163
- DashboardHeader.styles = i$7`
4164
- .header {
4165
- background-color: var(--md-sys-color-primary);
4166
- color: var(--md-sys-color-on-primary);
4167
- --icon-primary-color: var(--md-sys-color-on-primary);
4168
- font-weight: 400;
4169
- display: flex;
4170
- align-items: center;
4171
- padding-left: 18px;
4172
- padding-right: 8px;
4173
- min-height: 48px;
4174
- }
4211
+ DashboardHeader.styles = [reducedMotionStyles, i$7`
4212
+ .header {
4213
+ background-color: var(--md-sys-color-primary);
4214
+ color: var(--md-sys-color-on-primary);
4215
+ --icon-primary-color: var(--md-sys-color-on-primary);
4216
+ font-weight: 400;
4217
+ display: flex;
4218
+ align-items: center;
4219
+ padding-left: 18px;
4220
+ padding-right: 8px;
4221
+ min-height: 48px;
4222
+ }
4175
4223
 
4176
- md-icon-button {
4177
- margin-right: 8px;
4178
- }
4224
+ md-icon-button {
4225
+ margin-right: 8px;
4226
+ }
4179
4227
 
4180
- .title {
4181
- flex: 1;
4182
- min-width: 0;
4183
- overflow: hidden;
4184
- text-overflow: ellipsis;
4185
- white-space: nowrap;
4186
- }
4228
+ .title {
4229
+ flex: 1;
4230
+ min-width: 0;
4231
+ overflow: hidden;
4232
+ text-overflow: ellipsis;
4233
+ white-space: nowrap;
4234
+ }
4187
4235
 
4188
- .actions {
4189
- display: flex;
4190
- max-width: 100%;
4191
- align-items: center;
4192
- }
4236
+ .actions {
4237
+ display: flex;
4238
+ max-width: 100%;
4239
+ align-items: center;
4240
+ }
4193
4241
 
4194
- .nav-tabs {
4195
- display: flex;
4196
- margin-left: 24px;
4197
- gap: 4px;
4198
- }
4242
+ .nav-tabs {
4243
+ display: flex;
4244
+ margin-left: 24px;
4245
+ gap: 4px;
4246
+ }
4199
4247
 
4200
- .nav-tab {
4201
- padding: 8px 16px;
4202
- color: var(--md-sys-color-on-primary);
4203
- text-decoration: none;
4204
- font-size: 0.875rem;
4205
- font-weight: 500;
4206
- border-radius: 4px 4px 0 0;
4207
- opacity: 0.7;
4208
- transition: opacity 0.2s;
4209
- }
4248
+ .nav-tab {
4249
+ padding: 8px 16px;
4250
+ color: var(--md-sys-color-on-primary);
4251
+ text-decoration: none;
4252
+ font-size: 0.875rem;
4253
+ font-weight: 500;
4254
+ border-radius: 4px 4px 0 0;
4255
+ opacity: 0.7;
4256
+ transition: opacity 0.2s;
4257
+ }
4210
4258
 
4211
- .nav-tab:hover {
4212
- opacity: 0.9;
4213
- }
4259
+ .nav-tab:hover {
4260
+ opacity: 0.9;
4261
+ }
4214
4262
 
4215
- .nav-tab.active {
4216
- opacity: 1;
4217
- background-color: rgba(255, 255, 255, 0.15);
4218
- border-bottom: 2px solid var(--md-sys-color-on-primary);
4219
- }
4263
+ .nav-tab.active {
4264
+ opacity: 1;
4265
+ background-color: rgba(255, 255, 255, 0.15);
4266
+ border-bottom: 2px solid var(--md-sys-color-on-primary);
4267
+ }
4220
4268
 
4221
- @media (max-width: 768px) {
4222
- .nav-tabs {
4223
- display: none;
4269
+ @media (max-width: 768px) {
4270
+ .nav-tabs {
4271
+ display: none;
4272
+ }
4224
4273
  }
4225
- }
4226
- `;
4274
+ `];
4227
4275
  __decorateClass$j([n$2()], DashboardHeader.prototype, "backButton", 2);
4228
4276
  __decorateClass$j([n$2()], DashboardHeader.prototype, "actions", 2);
4229
4277
  __decorateClass$j([n$2()], DashboardHeader.prototype, "activeView", 2);
@@ -15728,7 +15776,7 @@ const clusters = {
15728
15776
  * SPDX-License-Identifier: Apache-2.0
15729
15777
  */
15730
15778
  const showDialogBox = async (type, dialogParams) => {
15731
- await import('./dialog-box-DdVdxz2_.js');
15779
+ await import('./dialog-box-BmpaTrvT.js');
15732
15780
  return new Promise(resolve => {
15733
15781
  const dialog = document.createElement("dialog-box");
15734
15782
  dialog.params = dialogParams;
@@ -15902,7 +15950,7 @@ MdTextButton = __decorate([t$1('md-text-button')], MdTextButton);
15902
15950
  */
15903
15951
  const showNodeBindingDialog = async (client, node, endpoint) => {
15904
15952
  var _document$querySelect;
15905
- await import('./node-binding-dialog-rikORH9_.js');
15953
+ await import('./node-binding-dialog-MMx9rkCF.js');
15906
15954
  const dialog = document.createElement("node-binding-dialog");
15907
15955
  dialog.client = client;
15908
15956
  dialog.node = node;
@@ -15934,7 +15982,7 @@ function fireAndForget(promise, onError) {
15934
15982
  * SPDX-License-Identifier: Apache-2.0
15935
15983
  */
15936
15984
  function getDefaultIconColor() {
15937
- return ThemeService.effectiveTheme === "dark" ? "#b0b0b0" : "#666666";
15985
+ return getCssVar("--node-color-default", "#666666");
15938
15986
  }
15939
15987
  const DeviceTypes = {
15940
15988
  // Utility (per Matter spec - deprioritized for icon selection)
@@ -16213,9 +16261,9 @@ function createNodeIconDataUrl(node, threadRole, isSelected = false, isOffline =
16213
16261
  const iconPath = getDeviceIcon(node, threadRole);
16214
16262
  let color;
16215
16263
  if (isSelected) {
16216
- color = isOffline ? "#b71c1c" : "#1976d2";
16264
+ color = isOffline ? getCssVar("--node-color-selected-offline", "#b71c1c") : getCssVar("--node-color-selected", "#1976d2");
16217
16265
  } else if (isOffline) {
16218
- color = "#d32f2f";
16266
+ color = getCssVar("--node-color-offline", "#d32f2f");
16219
16267
  } else {
16220
16268
  color = getDefaultIconColor();
16221
16269
  }
@@ -16223,11 +16271,11 @@ function createNodeIconDataUrl(node, threadRole, isSelected = false, isOffline =
16223
16271
  }
16224
16272
  function createUnknownDeviceIconDataUrl(isRouter = false, isSelected = false) {
16225
16273
  const iconPath = isRouter ? mdiAccessPoint : mdiHelp;
16226
- const color = isSelected ? "#1976d2" : "#ff9800";
16274
+ const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : getCssVar("--node-color-unknown", "#ff9800");
16227
16275
  return createIconDataUrl(iconPath, color);
16228
16276
  }
16229
16277
  function createWiFiRouterIconDataUrl(isSelected = false) {
16230
- const color = isSelected ? "#1976d2" : "#ff9800";
16278
+ const color = isSelected ? getCssVar("--node-color-selected", "#1976d2") : getCssVar("--node-color-unknown", "#ff9800");
16231
16279
  return createIconDataUrl(mdiWifi, color);
16232
16280
  }
16233
16281
 
@@ -16319,8 +16367,12 @@ let MatterEndpointView = class extends i$4 {
16319
16367
  var _this$node;
16320
16368
  if (!this.node || this.endpoint == void 0) {
16321
16369
  return b`
16322
- <p>Node or endpoint not found!</p>
16323
- <button @click=${this._goBack}>Back</button>
16370
+ <dashboard-header title="Not found" .client=${this.client} backButton="#"></dashboard-header>
16371
+ <div class="not-found">
16372
+ <ha-svg-icon .path=${mdiAlertCircleOutline}></ha-svg-icon>
16373
+ <p>Node or endpoint not found</p>
16374
+ <md-outlined-button @click=${this._goBack}>Back</md-outlined-button>
16375
+ </div>
16324
16376
  `;
16325
16377
  }
16326
16378
  const fabricIndex = getEffectiveFabricIndex(this.client.serverInfo.fabric_index, isTestNodeId(this.node.node_id));
@@ -16372,43 +16424,43 @@ let MatterEndpointView = class extends i$4 {
16372
16424
  history.back();
16373
16425
  }
16374
16426
  };
16375
- MatterEndpointView.styles = i$7`
16376
- :host {
16377
- display: block;
16378
- background-color: var(--md-sys-color-background);
16379
- }
16427
+ MatterEndpointView.styles = [notFoundStyles, i$7`
16428
+ :host {
16429
+ display: block;
16430
+ background-color: var(--md-sys-color-background);
16431
+ }
16380
16432
 
16381
- .header {
16382
- background-color: var(--md-sys-color-primary);
16383
- color: var(--md-sys-color-on-primary);
16384
- --icon-primary-color: var(--md-sys-color-on-primary);
16385
- font-weight: 400;
16386
- display: flex;
16387
- align-items: center;
16388
- padding-right: 8px;
16389
- height: 48px;
16390
- }
16433
+ .header {
16434
+ background-color: var(--md-sys-color-primary);
16435
+ color: var(--md-sys-color-on-primary);
16436
+ --icon-primary-color: var(--md-sys-color-on-primary);
16437
+ font-weight: 400;
16438
+ display: flex;
16439
+ align-items: center;
16440
+ padding-right: 8px;
16441
+ height: 48px;
16442
+ }
16391
16443
 
16392
- md-icon-button {
16393
- margin-right: 8px;
16394
- }
16444
+ md-icon-button {
16445
+ margin-right: 8px;
16446
+ }
16395
16447
 
16396
- .flex {
16397
- flex: 1;
16398
- }
16448
+ .flex {
16449
+ flex: 1;
16450
+ }
16399
16451
 
16400
- .container {
16401
- padding: 16px;
16402
- max-width: 95%;
16403
- margin: 0 auto;
16404
- }
16452
+ .container {
16453
+ padding: 16px;
16454
+ max-width: 95%;
16455
+ margin: 0 auto;
16456
+ }
16405
16457
 
16406
- .status {
16407
- color: var(--danger-color);
16408
- font-weight: bold;
16409
- font-size: 0.8em;
16410
- }
16411
- `;
16458
+ .status {
16459
+ color: var(--danger-color);
16460
+ font-weight: bold;
16461
+ font-size: 0.8em;
16462
+ }
16463
+ `];
16412
16464
  __decorateClass$i([n$2()], MatterEndpointView.prototype, "node", 2);
16413
16465
  __decorateClass$i([n$2()], MatterEndpointView.prototype, "endpoint", 2);
16414
16466
  MatterEndpointView = __decorateClass$i([t$1("matter-endpoint-view")], MatterEndpointView);
@@ -16536,7 +16588,7 @@ let NodeDetails = class extends i$4 {
16536
16588
  title: "Reinterview node",
16537
16589
  text: "Success!"
16538
16590
  });
16539
- location.reload();
16591
+ location.hash = "#";
16540
16592
  } catch (err) {
16541
16593
  showAlertDialog({
16542
16594
  title: "Failed to reinterview node",
@@ -16724,86 +16776,86 @@ class BaseClusterCommands extends i$4 {
16724
16776
  console.error(`Failed to send command ${command}:`, error);
16725
16777
  }
16726
16778
  }
16727
- static #_ = _staticBlock$1 = () => this.styles = i$7`
16728
- :host {
16729
- display: block;
16730
- }
16779
+ static #_ = _staticBlock$1 = () => this.styles = [reducedMotionStyles, i$7`
16780
+ :host {
16781
+ display: block;
16782
+ }
16731
16783
 
16732
- details.command-panel {
16733
- background-color: var(--md-sys-color-surface-container);
16734
- border-radius: 12px;
16735
- overflow: hidden;
16736
- }
16784
+ details.command-panel {
16785
+ background-color: var(--md-sys-color-surface-container);
16786
+ border-radius: 12px;
16787
+ overflow: hidden;
16788
+ }
16737
16789
 
16738
- details.command-panel summary {
16739
- padding: 16px;
16740
- font-weight: 500;
16741
- color: var(--md-sys-color-on-surface);
16742
- cursor: pointer;
16743
- user-select: none;
16744
- display: flex;
16745
- align-items: center;
16746
- gap: 8px;
16747
- }
16790
+ details.command-panel summary {
16791
+ padding: 16px;
16792
+ font-weight: 500;
16793
+ color: var(--md-sys-color-on-surface);
16794
+ cursor: pointer;
16795
+ user-select: none;
16796
+ display: flex;
16797
+ align-items: center;
16798
+ gap: 8px;
16799
+ }
16748
16800
 
16749
- details.command-panel summary:hover {
16750
- background-color: var(--md-sys-color-surface-container-high);
16751
- }
16801
+ details.command-panel summary:hover {
16802
+ background-color: var(--md-sys-color-surface-container-high);
16803
+ }
16752
16804
 
16753
- details.command-panel summary::before {
16754
- content: "▶";
16755
- font-size: 12px;
16756
- transition: transform 0.2s ease;
16757
- }
16805
+ details.command-panel summary::before {
16806
+ content: "▶";
16807
+ font-size: 12px;
16808
+ transition: transform 0.2s ease;
16809
+ }
16758
16810
 
16759
- details.command-panel[open] summary::before {
16760
- transform: rotate(90deg);
16761
- }
16811
+ details.command-panel[open] summary::before {
16812
+ transform: rotate(90deg);
16813
+ }
16762
16814
 
16763
- details.command-panel summary::-webkit-details-marker {
16764
- display: none;
16765
- }
16815
+ details.command-panel summary::-webkit-details-marker {
16816
+ display: none;
16817
+ }
16766
16818
 
16767
- .command-content {
16768
- padding: 0 16px 16px 16px;
16769
- }
16819
+ .command-content {
16820
+ padding: 0 16px 16px 16px;
16821
+ }
16770
16822
 
16771
- .command-row {
16772
- display: flex;
16773
- align-items: center;
16774
- gap: 12px;
16775
- flex-wrap: wrap;
16776
- }
16823
+ .command-row {
16824
+ display: flex;
16825
+ align-items: center;
16826
+ gap: 12px;
16827
+ flex-wrap: wrap;
16828
+ }
16777
16829
 
16778
- .command-row label {
16779
- font-size: 14px;
16780
- color: var(--md-sys-color-on-surface-variant);
16781
- display: flex;
16782
- align-items: center;
16783
- gap: 4px;
16784
- }
16830
+ .command-row label {
16831
+ font-size: 14px;
16832
+ color: var(--md-sys-color-on-surface-variant);
16833
+ display: flex;
16834
+ align-items: center;
16835
+ gap: 4px;
16836
+ }
16785
16837
 
16786
- .command-row input[type="number"] {
16787
- width: 70px;
16788
- padding: 8px;
16789
- border: 1px solid var(--md-sys-color-outline);
16790
- border-radius: 4px;
16791
- background: var(--md-sys-color-surface);
16792
- color: var(--md-sys-color-on-surface);
16793
- }
16838
+ .command-row input[type="number"] {
16839
+ width: 70px;
16840
+ padding: 8px;
16841
+ border: 1px solid var(--md-sys-color-outline);
16842
+ border-radius: 4px;
16843
+ background: var(--md-sys-color-surface);
16844
+ color: var(--md-sys-color-on-surface);
16845
+ }
16794
16846
 
16795
- .command-row input[type="checkbox"] {
16796
- width: 16px;
16797
- height: 16px;
16798
- margin: 0;
16799
- }
16847
+ .command-row input[type="checkbox"] {
16848
+ width: 16px;
16849
+ height: 16px;
16850
+ margin: 0;
16851
+ }
16800
16852
 
16801
- md-filled-button,
16802
- md-outlined-button {
16803
- --md-filled-button-container-height: 36px;
16804
- --md-outlined-button-container-height: 36px;
16805
- }
16806
- `;
16853
+ md-filled-button,
16854
+ md-outlined-button {
16855
+ --md-filled-button-container-height: 36px;
16856
+ --md-outlined-button-container-height: 36px;
16857
+ }
16858
+ `];
16807
16859
  }
16808
16860
  _staticBlock$1();
16809
16861
  __decorateClass$g([n$2({
@@ -19261,8 +19313,12 @@ let MatterClusterView = class extends i$4 {
19261
19313
  var _clusters$this$cluste;
19262
19314
  if (!this.node || this.endpoint == void 0 || this.cluster == void 0) {
19263
19315
  return b`
19264
- <p>Node, endpoint or cluster not found!</p>
19265
- <button @click=${this._goBack}>Back</button>
19316
+ <dashboard-header title="Not found" .client=${this.client} backButton="#"></dashboard-header>
19317
+ <div class="not-found">
19318
+ <ha-svg-icon .path=${mdiAlertCircleOutline}></ha-svg-icon>
19319
+ <p>Node, endpoint, or cluster not found</p>
19320
+ <md-outlined-button @click=${this._goBack}>Back</md-outlined-button>
19321
+ </div>
19266
19322
  `;
19267
19323
  }
19268
19324
  const fabricIndex = getEffectiveFabricIndex(this.client.serverInfo.fabric_index, isTestNodeId(this.node.node_id));
@@ -19307,13 +19363,13 @@ let MatterClusterView = class extends i$4 {
19307
19363
  ${((_clusters$this$cluste3 = clusters[this.cluster]) === null || _clusters$this$cluste3 === void 0 || (_clusters$this$cluste3 = _clusters$this$cluste3.attributes[attribute.key]) === null || _clusters$this$cluste3 === void 0 ? void 0 : _clusters$this$cluste3.type) ?? "unknown"}
19308
19364
  </div>
19309
19365
  <div slot="end">
19310
- ${toBigIntAwareJson(attribute.value).length > 30 ? b`<button
19366
+ ${toBigIntAwareJson(attribute.value).length > 30 ? b`<md-outlined-button
19311
19367
  @click=${() => {
19312
19368
  this._showAttributeValue(attribute.value);
19313
19369
  }}
19314
19370
  >
19315
19371
  Show value
19316
- </button>` : b`<code>${toBigIntAwareJson(attribute.value)}</code>`}
19372
+ </md-outlined-button>` : b`<code>${toBigIntAwareJson(attribute.value)}</code>`}
19317
19373
  </div>
19318
19374
  </md-list-item>
19319
19375
  `;
@@ -19361,47 +19417,47 @@ let MatterClusterView = class extends i$4 {
19361
19417
  history.back();
19362
19418
  }
19363
19419
  };
19364
- MatterClusterView.styles = i$7`
19365
- :host {
19366
- display: block;
19367
- background-color: var(--md-sys-color-background);
19368
- }
19420
+ MatterClusterView.styles = [notFoundStyles, i$7`
19421
+ :host {
19422
+ display: block;
19423
+ background-color: var(--md-sys-color-background);
19424
+ }
19369
19425
 
19370
- .header {
19371
- background-color: var(--md-sys-color-primary);
19372
- color: var(--md-sys-color-on-primary);
19373
- --icon-primary-color: var(--md-sys-color-on-primary);
19374
- font-weight: 400;
19375
- display: flex;
19376
- align-items: center;
19377
- padding-right: 8px;
19378
- height: 48px;
19379
- }
19426
+ .header {
19427
+ background-color: var(--md-sys-color-primary);
19428
+ color: var(--md-sys-color-on-primary);
19429
+ --icon-primary-color: var(--md-sys-color-on-primary);
19430
+ font-weight: 400;
19431
+ display: flex;
19432
+ align-items: center;
19433
+ padding-right: 8px;
19434
+ height: 48px;
19435
+ }
19380
19436
 
19381
- md-icon-button {
19382
- margin-right: 8px;
19383
- }
19437
+ md-icon-button {
19438
+ margin-right: 8px;
19439
+ }
19384
19440
 
19385
- .flex {
19386
- flex: 1;
19387
- }
19441
+ .flex {
19442
+ flex: 1;
19443
+ }
19388
19444
 
19389
- .container {
19390
- padding: 16px;
19391
- max-width: 95%;
19392
- margin: 0 auto;
19393
- }
19445
+ .container {
19446
+ padding: 16px;
19447
+ max-width: 95%;
19448
+ margin: 0 auto;
19449
+ }
19394
19450
 
19395
- .status {
19396
- color: var(--danger-color);
19397
- font-weight: bold;
19398
- font-size: 0.8em;
19399
- }
19451
+ .status {
19452
+ color: var(--danger-color);
19453
+ font-weight: bold;
19454
+ font-size: 0.8em;
19455
+ }
19400
19456
 
19401
- md-list-item.alternate-row {
19402
- background-color: rgba(128, 128, 128, 0.1);
19403
- }
19404
- `;
19457
+ md-list-item.alternate-row {
19458
+ background-color: var(--md-sys-color-surface-container-low);
19459
+ }
19460
+ `];
19405
19461
  __decorateClass$c([n$2()], MatterClusterView.prototype, "node", 2);
19406
19462
  __decorateClass$c([e$a({
19407
19463
  context: bindingContext
@@ -19454,9 +19510,15 @@ const SIGNAL_STRONG_THRESHOLD = -70;
19454
19510
  const SIGNAL_MEDIUM_THRESHOLD = -85;
19455
19511
  const LQI_STRONG_THRESHOLD = 200;
19456
19512
  const LQI_MEDIUM_THRESHOLD = 100;
19457
- const SIGNAL_COLOR_STRONG = "#4caf50";
19458
- const SIGNAL_COLOR_MEDIUM = "#ff9800";
19459
- const SIGNAL_COLOR_WEAK = "#f44336";
19513
+ function getSignalColorStrong() {
19514
+ return getCssVar("--signal-color-strong", "#4caf50");
19515
+ }
19516
+ function getSignalColorMedium() {
19517
+ return getCssVar("--signal-color-medium", "#ff9800");
19518
+ }
19519
+ function getSignalColorWeak() {
19520
+ return getCssVar("--signal-color-weak", "#f44336");
19521
+ }
19460
19522
  function base64ToBigInt(base64) {
19461
19523
  try {
19462
19524
  const binary = atob(base64);
@@ -19699,29 +19761,29 @@ function getSignalColor(neighbor) {
19699
19761
  const rssi = neighbor.avgRssi ?? neighbor.lastRssi;
19700
19762
  if (rssi !== null) {
19701
19763
  if (rssi > SIGNAL_STRONG_THRESHOLD) {
19702
- return SIGNAL_COLOR_STRONG;
19764
+ return getSignalColorStrong();
19703
19765
  }
19704
19766
  if (rssi > SIGNAL_MEDIUM_THRESHOLD) {
19705
- return SIGNAL_COLOR_MEDIUM;
19767
+ return getSignalColorMedium();
19706
19768
  }
19707
- return SIGNAL_COLOR_WEAK;
19769
+ return getSignalColorWeak();
19708
19770
  }
19709
19771
  if (neighbor.lqi > LQI_STRONG_THRESHOLD) {
19710
- return SIGNAL_COLOR_STRONG;
19772
+ return getSignalColorStrong();
19711
19773
  }
19712
19774
  if (neighbor.lqi > LQI_MEDIUM_THRESHOLD) {
19713
- return SIGNAL_COLOR_MEDIUM;
19775
+ return getSignalColorMedium();
19714
19776
  }
19715
- return SIGNAL_COLOR_WEAK;
19777
+ return getSignalColorWeak();
19716
19778
  }
19717
19779
  function getSignalColorFromLqi(lqi) {
19718
19780
  if (lqi > LQI_STRONG_THRESHOLD) {
19719
- return SIGNAL_COLOR_STRONG;
19781
+ return getSignalColorStrong();
19720
19782
  }
19721
19783
  if (lqi > LQI_MEDIUM_THRESHOLD) {
19722
- return SIGNAL_COLOR_MEDIUM;
19784
+ return getSignalColorMedium();
19723
19785
  }
19724
- return SIGNAL_COLOR_WEAK;
19786
+ return getSignalColorWeak();
19725
19787
  }
19726
19788
  function getDeviceName(node) {
19727
19789
  if (node.nodeLabel) {
@@ -19779,15 +19841,15 @@ function getWiFiDiagnostics(node) {
19779
19841
  }
19780
19842
  function getSignalColorFromRssi(rssi) {
19781
19843
  if (rssi === null) {
19782
- return SIGNAL_COLOR_MEDIUM;
19844
+ return getSignalColorMedium();
19783
19845
  }
19784
19846
  if (rssi > SIGNAL_STRONG_THRESHOLD) {
19785
- return SIGNAL_COLOR_STRONG;
19847
+ return getSignalColorStrong();
19786
19848
  }
19787
19849
  if (rssi > SIGNAL_MEDIUM_THRESHOLD) {
19788
- return SIGNAL_COLOR_MEDIUM;
19850
+ return getSignalColorMedium();
19789
19851
  }
19790
- return SIGNAL_COLOR_WEAK;
19852
+ return getSignalColorWeak();
19791
19853
  }
19792
19854
  function getWiFiSecurityTypeName(securityType) {
19793
19855
  switch (securityType) {
@@ -20008,6 +20070,12 @@ let DevicePanel = class extends i$4 {
20008
20070
  _toggleExpanded() {
20009
20071
  this._isExpanded = !this._isExpanded;
20010
20072
  }
20073
+ _handleHeaderKeydown(event) {
20074
+ if (event.key === "Enter" || event.key === " ") {
20075
+ event.preventDefault();
20076
+ this._toggleExpanded();
20077
+ }
20078
+ }
20011
20079
  _handleNodeClick(nodeId) {
20012
20080
  this.dispatchEvent(new CustomEvent("node-selected", {
20013
20081
  detail: {
@@ -20023,7 +20091,14 @@ let DevicePanel = class extends i$4 {
20023
20091
  }
20024
20092
  return b`
20025
20093
  <div class="panel">
20026
- <div class="header" @click=${this._toggleExpanded}>
20094
+ <div
20095
+ class="header"
20096
+ role="button"
20097
+ tabindex="0"
20098
+ aria-expanded=${this._isExpanded}
20099
+ @click=${this._toggleExpanded}
20100
+ @keydown=${this._handleHeaderKeydown}
20101
+ >
20027
20102
  <ha-svg-icon .path=${this._getIcon()} class="type-icon"></ha-svg-icon>
20028
20103
  <span class="title">${this._getTitle()}</span>
20029
20104
  <span class="count">(${this.nodeIds.length})</span>
@@ -20076,6 +20151,11 @@ DevicePanel.styles = i$7`
20076
20151
  background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
20077
20152
  }
20078
20153
 
20154
+ .header:focus-visible {
20155
+ outline: 2px solid var(--md-sys-color-primary);
20156
+ outline-offset: -2px;
20157
+ }
20158
+
20079
20159
  .type-icon {
20080
20160
  --icon-primary-color: var(--md-sys-color-primary, #6200ee);
20081
20161
  margin-right: 12px;
@@ -20105,10 +20185,6 @@ DevicePanel.styles = i$7`
20105
20185
  md-list-item {
20106
20186
  --md-list-item-one-line-container-height: 48px;
20107
20187
  }
20108
-
20109
- md-list-item::part(focus-ring) {
20110
- display: none;
20111
- }
20112
20188
  `;
20113
20189
  __decorateClass$a([n$2()], DevicePanel.prototype, "type", 2);
20114
20190
  __decorateClass$a([n$2({
@@ -21310,63 +21386,63 @@ let UpdateConnectionsDialog = class extends i$4 {
21310
21386
  `;
21311
21387
  }
21312
21388
  };
21313
- UpdateConnectionsDialog.styles = i$7`
21314
- md-dialog {
21315
- --md-dialog-container-color: var(--md-sys-color-surface, #fff);
21316
- }
21317
-
21318
- [slot="content"] {
21319
- padding: 0 24px;
21320
- }
21389
+ UpdateConnectionsDialog.styles = [reducedMotionStyles, i$7`
21390
+ md-dialog {
21391
+ --md-dialog-container-color: var(--md-sys-color-surface, #fff);
21392
+ }
21321
21393
 
21322
- [slot="content"] p {
21323
- margin: 0 0 16px 0;
21324
- font-size: 0.875rem;
21325
- line-height: 1.5;
21326
- color: var(--md-sys-color-on-surface, #333);
21327
- }
21394
+ [slot="content"] {
21395
+ padding: 0 24px;
21396
+ }
21328
21397
 
21329
- [slot="content"] p:last-child {
21330
- margin-bottom: 0;
21331
- }
21398
+ [slot="content"] p {
21399
+ margin: 0 0 16px 0;
21400
+ font-size: 0.875rem;
21401
+ line-height: 1.5;
21402
+ color: var(--md-sys-color-on-surface, #333);
21403
+ }
21332
21404
 
21333
- .checkbox-row {
21334
- display: flex;
21335
- align-items: center;
21336
- gap: 8px;
21337
- cursor: pointer;
21338
- font-size: 0.875rem;
21339
- color: var(--md-sys-color-on-surface, #333);
21340
- }
21405
+ [slot="content"] p:last-child {
21406
+ margin-bottom: 0;
21407
+ }
21341
21408
 
21342
- .updating-content {
21343
- display: inline-flex;
21344
- align-items: center;
21345
- gap: 8px;
21346
- }
21409
+ .checkbox-row {
21410
+ display: flex;
21411
+ align-items: center;
21412
+ gap: 8px;
21413
+ cursor: pointer;
21414
+ font-size: 0.875rem;
21415
+ color: var(--md-sys-color-on-surface, #333);
21416
+ }
21347
21417
 
21348
- .spinner {
21349
- animation: spin 1s linear infinite;
21350
- flex-shrink: 0;
21351
- }
21418
+ .updating-content {
21419
+ display: inline-flex;
21420
+ align-items: center;
21421
+ gap: 8px;
21422
+ }
21352
21423
 
21353
- .updating-content svg {
21354
- color: inherit;
21355
- }
21424
+ .spinner {
21425
+ animation: spin 1s linear infinite;
21426
+ flex-shrink: 0;
21427
+ }
21356
21428
 
21357
- @keyframes spin {
21358
- from {
21359
- transform: rotate(0deg);
21429
+ .updating-content svg {
21430
+ color: inherit;
21360
21431
  }
21361
- to {
21362
- transform: rotate(360deg);
21432
+
21433
+ @keyframes spin {
21434
+ from {
21435
+ transform: rotate(0deg);
21436
+ }
21437
+ to {
21438
+ transform: rotate(360deg);
21439
+ }
21363
21440
  }
21364
- }
21365
21441
 
21366
- md-filled-button {
21367
- min-width: 140px;
21368
- }
21369
- `;
21442
+ md-filled-button {
21443
+ min-width: 140px;
21444
+ }
21445
+ `];
21370
21446
  __decorateClass$9([n$2({
21371
21447
  type: Object
21372
21448
  })], UpdateConnectionsDialog.prototype, "client", 2);
@@ -21434,14 +21510,13 @@ let NetworkDetails = class extends i$4 {
21434
21510
  return extAddr;
21435
21511
  }
21436
21512
  _getSignalIcon(neighbor) {
21437
- const color = getSignalColor(neighbor);
21438
- if (color === "#4caf50") return mdiSignalCellular3;
21439
- if (color === "#ff9800") return mdiSignalCellular2;
21440
- return mdiSignalCellular1;
21513
+ return this._getSignalIconFromColor(getSignalColor(neighbor));
21441
21514
  }
21442
21515
  _getSignalIconFromColor(color) {
21443
- if (color === "#4caf50") return mdiSignalCellular3;
21444
- if (color === "#ff9800") return mdiSignalCellular2;
21516
+ const strongColor = getCssVar("--signal-color-strong", "#4caf50");
21517
+ const mediumColor = getCssVar("--signal-color-medium", "#ff9800");
21518
+ if (color === strongColor) return mdiSignalCellular3;
21519
+ if (color === mediumColor) return mdiSignalCellular2;
21445
21520
  return mdiSignalCellular1;
21446
21521
  }
21447
21522
  /**
@@ -21696,7 +21771,7 @@ let NetworkDetails = class extends i$4 {
21696
21771
  const node = this.nodes[nodeId.toString()];
21697
21772
  if (!node) return A;
21698
21773
  const neighborEntry = this._findNeighborEntry(node, unknown.extAddressHex);
21699
- const signalColor = neighborEntry ? getSignalColor(neighborEntry) : "#999";
21774
+ const signalColor = neighborEntry ? getSignalColor(neighborEntry) : getCssVar("--graph-node-fallback", "#999");
21700
21775
  const rssi = (neighborEntry === null || neighborEntry === void 0 ? void 0 : neighborEntry.avgRssi) ?? (neighborEntry === null || neighborEntry === void 0 ? void 0 : neighborEntry.lastRssi) ?? null;
21701
21776
  const lqi = neighborEntry === null || neighborEntry === void 0 ? void 0 : neighborEntry.lqi;
21702
21777
  return b`
@@ -22003,271 +22078,271 @@ let NetworkDetails = class extends i$4 {
22003
22078
  `;
22004
22079
  }
22005
22080
  };
22006
- NetworkDetails.styles = i$7`
22007
- :host {
22008
- display: block;
22009
- height: 100%;
22010
- }
22081
+ NetworkDetails.styles = [reducedMotionStyles, i$7`
22082
+ :host {
22083
+ display: block;
22084
+ height: 100%;
22085
+ }
22011
22086
 
22012
- .empty-state {
22013
- display: flex;
22014
- align-items: center;
22015
- justify-content: center;
22016
- height: 100%;
22017
- color: var(--md-sys-color-on-surface-variant, #666);
22018
- text-align: center;
22019
- padding: 24px;
22020
- }
22087
+ .empty-state {
22088
+ display: flex;
22089
+ align-items: center;
22090
+ justify-content: center;
22091
+ height: 100%;
22092
+ color: var(--md-sys-color-on-surface-variant, #666);
22093
+ text-align: center;
22094
+ padding: 24px;
22095
+ }
22021
22096
 
22022
- .details-panel {
22023
- display: flex;
22024
- flex-direction: column;
22025
- height: 100%;
22026
- background-color: var(--md-sys-color-surface, #fff);
22027
- border-radius: 8px;
22028
- border: 1px solid var(--md-sys-color-outline-variant, #ccc);
22029
- overflow: hidden;
22030
- }
22097
+ .details-panel {
22098
+ display: flex;
22099
+ flex-direction: column;
22100
+ height: 100%;
22101
+ background-color: var(--md-sys-color-surface, #fff);
22102
+ border-radius: 8px;
22103
+ border: 1px solid var(--md-sys-color-outline-variant, #ccc);
22104
+ overflow: hidden;
22105
+ }
22031
22106
 
22032
- .header {
22033
- display: flex;
22034
- align-items: center;
22035
- justify-content: space-between;
22036
- padding: 12px 16px;
22037
- background-color: var(--md-sys-color-surface-container, #f5f5f5);
22038
- border-bottom: 1px solid var(--md-sys-color-outline-variant, #ccc);
22039
- }
22107
+ .header {
22108
+ display: flex;
22109
+ align-items: center;
22110
+ justify-content: space-between;
22111
+ padding: 12px 16px;
22112
+ background-color: var(--md-sys-color-surface-container, #f5f5f5);
22113
+ border-bottom: 1px solid var(--md-sys-color-outline-variant, #ccc);
22114
+ }
22040
22115
 
22041
- .header h3 {
22042
- margin: 0;
22043
- font-size: 1rem;
22044
- font-weight: 500;
22045
- color: var(--md-sys-color-on-surface, #333);
22046
- }
22116
+ .header h3 {
22117
+ margin: 0;
22118
+ font-size: 1rem;
22119
+ font-weight: 500;
22120
+ color: var(--md-sys-color-on-surface, #333);
22121
+ }
22047
22122
 
22048
- .node-id-hex {
22049
- font-size: 0.75em;
22050
- font-weight: 400;
22051
- color: var(--md-sys-color-on-surface-variant, #666);
22052
- font-family: monospace;
22053
- }
22123
+ .node-id-hex {
22124
+ font-size: 0.75em;
22125
+ font-weight: 400;
22126
+ color: var(--md-sys-color-on-surface-variant, #666);
22127
+ font-family: var(--monospace-font, monospace);
22128
+ }
22054
22129
 
22055
- .header-actions {
22056
- display: flex;
22057
- align-items: center;
22058
- gap: 4px;
22059
- }
22130
+ .header-actions {
22131
+ display: flex;
22132
+ align-items: center;
22133
+ gap: 4px;
22134
+ }
22060
22135
 
22061
- .action-button {
22062
- background: none;
22063
- border: none;
22064
- padding: 4px;
22065
- cursor: pointer;
22066
- border-radius: 50%;
22067
- display: flex;
22068
- align-items: center;
22069
- justify-content: center;
22070
- }
22136
+ .action-button {
22137
+ background: none;
22138
+ border: none;
22139
+ padding: 4px;
22140
+ cursor: pointer;
22141
+ border-radius: 50%;
22142
+ display: flex;
22143
+ align-items: center;
22144
+ justify-content: center;
22145
+ }
22071
22146
 
22072
- .action-button:hover {
22073
- background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22074
- }
22147
+ .action-button:hover {
22148
+ background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22149
+ }
22075
22150
 
22076
- .action-button ha-svg-icon {
22077
- --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
22078
- }
22151
+ .action-button ha-svg-icon {
22152
+ --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
22153
+ }
22079
22154
 
22080
- .close-button {
22081
- background: none;
22082
- border: none;
22083
- padding: 4px;
22084
- cursor: pointer;
22085
- border-radius: 50%;
22086
- display: flex;
22087
- align-items: center;
22088
- justify-content: center;
22089
- }
22155
+ .close-button {
22156
+ background: none;
22157
+ border: none;
22158
+ padding: 4px;
22159
+ cursor: pointer;
22160
+ border-radius: 50%;
22161
+ display: flex;
22162
+ align-items: center;
22163
+ justify-content: center;
22164
+ }
22090
22165
 
22091
- .close-button:hover {
22092
- background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22093
- }
22166
+ .close-button:hover {
22167
+ background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22168
+ }
22094
22169
 
22095
- .close-button ha-svg-icon {
22096
- --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
22097
- }
22170
+ .close-button ha-svg-icon {
22171
+ --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
22172
+ }
22098
22173
 
22099
- .content {
22100
- flex: 1;
22101
- overflow-y: auto;
22102
- padding: 0;
22103
- }
22174
+ .content {
22175
+ flex: 1;
22176
+ overflow-y: auto;
22177
+ padding: 0;
22178
+ }
22104
22179
 
22105
- .section {
22106
- padding: 16px;
22107
- }
22180
+ .section {
22181
+ padding: 16px;
22182
+ }
22108
22183
 
22109
- .section h4 {
22110
- margin: 0 0 12px 0;
22111
- font-size: 0.875rem;
22112
- font-weight: 500;
22113
- color: var(--md-sys-color-primary, #6200ee);
22114
- text-transform: uppercase;
22115
- letter-spacing: 0.5px;
22116
- }
22184
+ .section h4 {
22185
+ margin: 0 0 12px 0;
22186
+ font-size: 0.875rem;
22187
+ font-weight: 500;
22188
+ color: var(--md-sys-color-primary, #6200ee);
22189
+ text-transform: uppercase;
22190
+ letter-spacing: 0.5px;
22191
+ }
22117
22192
 
22118
- .info-row {
22119
- display: flex;
22120
- justify-content: space-between;
22121
- padding: 6px 0;
22122
- font-size: 0.875rem;
22123
- }
22193
+ .info-row {
22194
+ display: flex;
22195
+ justify-content: space-between;
22196
+ padding: 6px 0;
22197
+ font-size: 0.875rem;
22198
+ }
22124
22199
 
22125
- .label {
22126
- color: var(--md-sys-color-on-surface-variant, #666);
22127
- }
22200
+ .label {
22201
+ color: var(--md-sys-color-on-surface-variant, #666);
22202
+ }
22128
22203
 
22129
- .value {
22130
- color: var(--md-sys-color-on-surface, #333);
22131
- font-weight: 500;
22132
- text-align: right;
22133
- word-break: break-all;
22134
- max-width: 60%;
22135
- }
22204
+ .value {
22205
+ color: var(--md-sys-color-on-surface, #333);
22206
+ font-weight: 500;
22207
+ text-align: right;
22208
+ word-break: break-all;
22209
+ max-width: 60%;
22210
+ }
22136
22211
 
22137
- .value.mono {
22138
- font-family: monospace;
22139
- font-size: 0.8rem;
22140
- }
22212
+ .value.mono {
22213
+ font-family: var(--monospace-font, monospace);
22214
+ font-size: 0.8rem;
22215
+ }
22141
22216
 
22142
- .status-online {
22143
- color: #4caf50;
22144
- }
22217
+ .status-online {
22218
+ color: var(--signal-color-strong, #4caf50);
22219
+ }
22145
22220
 
22146
- .status-offline {
22147
- color: var(--danger-color, #f44336);
22148
- }
22221
+ .status-offline {
22222
+ color: var(--danger-color, #f44336);
22223
+ }
22149
22224
 
22150
- .neighbors-list {
22151
- display: flex;
22152
- flex-direction: column;
22153
- gap: 8px;
22154
- }
22225
+ .neighbors-list {
22226
+ display: flex;
22227
+ flex-direction: column;
22228
+ gap: 8px;
22229
+ }
22155
22230
 
22156
- .neighbor-item {
22157
- display: flex;
22158
- align-items: flex-start;
22159
- gap: 12px;
22160
- padding: 8px;
22161
- background-color: var(--md-sys-color-surface-container, #f5f5f5);
22162
- border-radius: 4px;
22163
- }
22231
+ .neighbor-item {
22232
+ display: flex;
22233
+ align-items: flex-start;
22234
+ gap: 12px;
22235
+ padding: 8px;
22236
+ background-color: var(--md-sys-color-surface-container, #f5f5f5);
22237
+ border-radius: 4px;
22238
+ }
22164
22239
 
22165
- .neighbor-item.clickable {
22166
- cursor: pointer;
22167
- transition: background-color 0.15s;
22168
- }
22240
+ .neighbor-item.clickable {
22241
+ cursor: pointer;
22242
+ transition: background-color 0.15s;
22243
+ }
22169
22244
 
22170
- .neighbor-item.clickable:hover {
22171
- background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22172
- }
22245
+ .neighbor-item.clickable:hover {
22246
+ background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22247
+ }
22173
22248
 
22174
- .neighbor-item ha-svg-icon {
22175
- flex-shrink: 0;
22176
- margin-top: 2px;
22177
- }
22249
+ .neighbor-item ha-svg-icon {
22250
+ flex-shrink: 0;
22251
+ margin-top: 2px;
22252
+ }
22178
22253
 
22179
- .neighbor-info {
22180
- flex: 1;
22181
- min-width: 0;
22182
- }
22254
+ .neighbor-info {
22255
+ flex: 1;
22256
+ min-width: 0;
22257
+ }
22183
22258
 
22184
- .neighbor-name {
22185
- font-size: 0.875rem;
22186
- color: var(--md-sys-color-on-surface, #333);
22187
- word-break: break-word;
22188
- }
22259
+ .neighbor-name {
22260
+ font-size: 0.875rem;
22261
+ color: var(--md-sys-color-on-surface, #333);
22262
+ word-break: break-word;
22263
+ }
22189
22264
 
22190
- .neighbor-signal {
22191
- font-size: 0.75rem;
22192
- color: var(--md-sys-color-on-surface-variant, #666);
22193
- margin-top: 2px;
22194
- }
22265
+ .neighbor-signal {
22266
+ font-size: 0.75rem;
22267
+ color: var(--md-sys-color-on-surface-variant, #666);
22268
+ margin-top: 2px;
22269
+ }
22195
22270
 
22196
- .direction-hint {
22197
- font-style: italic;
22198
- opacity: 0.8;
22199
- }
22271
+ .direction-hint {
22272
+ font-style: italic;
22273
+ opacity: 0.8;
22274
+ }
22200
22275
 
22201
- .route-info {
22202
- color: var(--md-sys-color-tertiary, #7d5260);
22203
- font-size: 0.85em;
22204
- }
22276
+ .route-info {
22277
+ color: var(--md-sys-color-tertiary, #7d5260);
22278
+ font-size: 0.85em;
22279
+ }
22205
22280
 
22206
- .footer {
22207
- padding: 12px 16px;
22208
- border-top: 1px solid var(--md-sys-color-outline-variant, #ccc);
22209
- text-align: center;
22210
- }
22281
+ .footer {
22282
+ padding: 12px 16px;
22283
+ border-top: 1px solid var(--md-sys-color-outline-variant, #ccc);
22284
+ text-align: center;
22285
+ }
22211
22286
 
22212
- .view-link {
22213
- color: var(--md-sys-color-primary, #6200ee);
22214
- text-decoration: none;
22215
- font-size: 0.875rem;
22216
- font-weight: 500;
22217
- }
22287
+ .view-link {
22288
+ color: var(--md-sys-color-primary, #6200ee);
22289
+ text-decoration: none;
22290
+ font-size: 0.875rem;
22291
+ font-weight: 500;
22292
+ }
22218
22293
 
22219
- .view-link:hover {
22220
- text-decoration: underline;
22221
- }
22294
+ .view-link:hover {
22295
+ text-decoration: underline;
22296
+ }
22222
22297
 
22223
- md-divider {
22224
- --md-divider-color: var(--md-sys-color-outline-variant, #ccc);
22225
- }
22298
+ md-divider {
22299
+ --md-divider-color: var(--md-sys-color-outline-variant, #ccc);
22300
+ }
22226
22301
 
22227
- .hint-text {
22228
- font-size: 0.8rem;
22229
- color: var(--md-sys-color-on-surface-variant, #666);
22230
- line-height: 1.4;
22231
- margin: 0;
22232
- }
22302
+ .hint-text {
22303
+ font-size: 0.8rem;
22304
+ color: var(--md-sys-color-on-surface-variant, #666);
22305
+ line-height: 1.4;
22306
+ margin: 0;
22307
+ }
22233
22308
 
22234
- .connected-nodes-list {
22235
- display: flex;
22236
- flex-direction: column;
22237
- gap: 8px;
22238
- }
22309
+ .connected-nodes-list {
22310
+ display: flex;
22311
+ flex-direction: column;
22312
+ gap: 8px;
22313
+ }
22239
22314
 
22240
- .connected-node-item {
22241
- display: flex;
22242
- align-items: center;
22243
- justify-content: space-between;
22244
- padding: 8px;
22245
- background-color: var(--md-sys-color-surface-container, #f5f5f5);
22246
- border-radius: 4px;
22247
- }
22315
+ .connected-node-item {
22316
+ display: flex;
22317
+ align-items: center;
22318
+ justify-content: space-between;
22319
+ padding: 8px;
22320
+ background-color: var(--md-sys-color-surface-container, #f5f5f5);
22321
+ border-radius: 4px;
22322
+ }
22248
22323
 
22249
- .connected-node-item.clickable {
22250
- cursor: pointer;
22251
- transition: background-color 0.15s;
22252
- }
22324
+ .connected-node-item.clickable {
22325
+ cursor: pointer;
22326
+ transition: background-color 0.15s;
22327
+ }
22253
22328
 
22254
- .connected-node-item.clickable:hover {
22255
- background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22256
- }
22329
+ .connected-node-item.clickable:hover {
22330
+ background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
22331
+ }
22257
22332
 
22258
- .connected-node-item .node-name {
22259
- font-size: 0.875rem;
22260
- color: var(--md-sys-color-on-surface, #333);
22261
- word-break: break-word;
22262
- }
22333
+ .connected-node-item .node-name {
22334
+ font-size: 0.875rem;
22335
+ color: var(--md-sys-color-on-surface, #333);
22336
+ word-break: break-word;
22337
+ }
22263
22338
 
22264
- .connected-node-item .node-signal {
22265
- font-size: 0.8rem;
22266
- font-weight: 500;
22267
- flex-shrink: 0;
22268
- margin-left: 8px;
22269
- }
22270
- `;
22339
+ .connected-node-item .node-signal {
22340
+ font-size: 0.8rem;
22341
+ font-weight: 500;
22342
+ flex-shrink: 0;
22343
+ margin-left: 8px;
22344
+ }
22345
+ `];
22271
22346
  __decorateClass$8([n$2()], NetworkDetails.prototype, "selectedNodeId", 2);
22272
22347
  __decorateClass$8([n$2({
22273
22348
  type: Object
@@ -30210,10 +30285,10 @@ class BaseNetworkGraph extends i$4 {
30210
30285
  this._originalEdgeColors = /* @__PURE__ */new Map();
30211
30286
  }
30212
30287
  _getFontColor() {
30213
- return ThemeService.effectiveTheme === "dark" ? "#e0e0e0" : "#333333";
30288
+ return getCssVar("--graph-font-color", ThemeService.effectiveTheme === "dark" ? "#e0e0e0" : "#333333");
30214
30289
  }
30215
30290
  _getDimmedEdgeColor() {
30216
- return ThemeService.effectiveTheme === "dark" ? "#555555" : "#cccccc";
30291
+ return getCssVar("--graph-edge-dimmed", ThemeService.effectiveTheme === "dark" ? "#555555" : "#cccccc");
30217
30292
  }
30218
30293
  /**
30219
30294
  * Returns physics options for the network. Override in subclasses for different behavior.
@@ -30542,7 +30617,7 @@ class BaseNetworkGraph extends i$4 {
30542
30617
  const edgeId = String(edge.id);
30543
30618
  if (!this._originalEdgeColors.has(edgeId)) {
30544
30619
  const colorObj = edge.color;
30545
- const color = (colorObj === null || colorObj === void 0 ? void 0 : colorObj.color) ?? "#999999";
30620
+ const color = (colorObj === null || colorObj === void 0 ? void 0 : colorObj.color) ?? getCssVar("--graph-node-fallback", "#999999");
30546
30621
  const highlight = (colorObj === null || colorObj === void 0 ? void 0 : colorObj.highlight) ?? color;
30547
30622
  this._originalEdgeColors.set(edgeId, {
30548
30623
  color,
@@ -30566,8 +30641,8 @@ class BaseNetworkGraph extends i$4 {
30566
30641
  const isConnected = edge.from === nodeId || edge.to === nodeId;
30567
30642
  const originalColor = this._originalEdgeColors.get(String(edge.id));
30568
30643
  const connectedColor = originalColor ?? {
30569
- color: "#999999",
30570
- highlight: "#999999"
30644
+ color: getCssVar("--graph-node-fallback", "#999999"),
30645
+ highlight: getCssVar("--graph-node-fallback", "#999999")
30571
30646
  };
30572
30647
  return {
30573
30648
  id: edge.id,
@@ -30613,8 +30688,8 @@ class BaseNetworkGraph extends i$4 {
30613
30688
  id: edge.id,
30614
30689
  width: 2,
30615
30690
  color: originalColor ?? {
30616
- color: "#999999",
30617
- highlight: "#999999"
30691
+ color: getCssVar("--graph-node-fallback", "#999999"),
30692
+ highlight: getCssVar("--graph-node-fallback", "#999999")
30618
30693
  }
30619
30694
  };
30620
30695
  });
@@ -31233,236 +31308,241 @@ let MatterNetworkView = class extends i$4 {
31233
31308
  `;
31234
31309
  }
31235
31310
  };
31236
- MatterNetworkView.styles = i$7`
31237
- :host {
31238
- display: flex;
31239
- flex-direction: column;
31240
- height: 100vh;
31241
- height: 100dvh; /* dynamic viewport height - fallback above for older browsers */
31242
- overflow: hidden;
31243
- background-color: var(--md-sys-color-background, #fafafa);
31244
- }
31245
-
31246
- .content {
31247
- display: flex;
31248
- flex: 1 1 0;
31249
- padding: 8px 16px;
31250
- gap: 8px;
31251
- max-width: 1600px;
31252
- margin: 0 auto;
31253
- width: 100%;
31254
- box-sizing: border-box;
31255
- min-height: 0;
31256
- overflow: hidden;
31257
- }
31258
-
31259
- .main-area {
31260
- flex: 1 1 0;
31261
- display: flex;
31262
- flex-direction: column;
31263
- min-width: 0;
31264
- min-height: 0;
31265
- overflow: hidden;
31266
- }
31267
-
31268
- .graph-section {
31269
- flex: 1 1 0;
31270
- min-height: 0;
31271
- display: flex;
31272
- flex-direction: column;
31273
- overflow: hidden;
31274
- }
31275
-
31276
- .graph-header {
31277
- display: flex;
31278
- align-items: center;
31279
- justify-content: space-between;
31280
- margin-bottom: 4px;
31281
- flex-shrink: 0;
31282
- }
31311
+ MatterNetworkView.styles = [reducedMotionStyles, i$7`
31312
+ :host {
31313
+ display: flex;
31314
+ flex-direction: column;
31315
+ height: 100vh;
31316
+ height: 100dvh; /* dynamic viewport height - fallback above for older browsers */
31317
+ overflow: hidden;
31318
+ background-color: var(--md-sys-color-background, #fafafa);
31319
+ }
31283
31320
 
31284
- .graph-header h2 {
31285
- margin: 0;
31286
- font-size: 1.1rem;
31287
- font-weight: 500;
31288
- color: var(--md-sys-color-on-background, #333);
31289
- }
31321
+ .content {
31322
+ display: flex;
31323
+ flex: 1 1 0;
31324
+ padding: 8px 16px;
31325
+ gap: 8px;
31326
+ max-width: 1600px;
31327
+ margin: 0 auto;
31328
+ width: 100%;
31329
+ box-sizing: border-box;
31330
+ min-height: 0;
31331
+ overflow: hidden;
31332
+ }
31290
31333
 
31291
- .graph-controls {
31292
- display: flex;
31293
- gap: 4px;
31294
- }
31334
+ .main-area {
31335
+ flex: 1 1 0;
31336
+ display: flex;
31337
+ flex-direction: column;
31338
+ min-width: 0;
31339
+ min-height: 0;
31340
+ overflow: hidden;
31341
+ }
31295
31342
 
31296
- .graph-actions {
31297
- display: flex;
31298
- align-items: center;
31299
- gap: 8px;
31300
- min-width: 0;
31301
- }
31343
+ .graph-section {
31344
+ flex: 1 1 0;
31345
+ min-height: 0;
31346
+ display: flex;
31347
+ flex-direction: column;
31348
+ overflow: hidden;
31349
+ }
31302
31350
 
31303
- .thread-search {
31304
- display: flex;
31305
- align-items: center;
31306
- gap: 4px;
31307
- }
31351
+ .graph-header {
31352
+ display: flex;
31353
+ align-items: center;
31354
+ justify-content: space-between;
31355
+ margin-bottom: 4px;
31356
+ flex-shrink: 0;
31357
+ }
31308
31358
 
31309
- .thread-search input {
31310
- width: 260px;
31311
- max-width: 45vw;
31312
- padding: 6px 8px;
31313
- border: 1px solid var(--md-sys-color-outline-variant, #ccc);
31314
- border-radius: 4px;
31315
- background-color: var(--md-sys-color-surface, #fff);
31316
- color: var(--md-sys-color-on-surface, #1c1b1f);
31317
- font: inherit;
31318
- }
31359
+ .graph-header h2 {
31360
+ margin: 0;
31361
+ font-size: 1.1rem;
31362
+ font-weight: 500;
31363
+ color: var(--md-sys-color-on-background, #333);
31364
+ }
31319
31365
 
31320
- .thread-search input:focus {
31321
- outline: 2px solid var(--md-sys-color-primary, #6750a4);
31322
- outline-offset: 1px;
31323
- }
31366
+ .graph-controls {
31367
+ display: flex;
31368
+ gap: 4px;
31369
+ }
31324
31370
 
31325
- .search-button {
31326
- padding: 6px 10px;
31327
- border: 1px solid var(--md-sys-color-outline-variant, #ccc);
31328
- border-radius: 4px;
31329
- background-color: var(--md-sys-color-surface, #fff);
31330
- color: var(--md-sys-color-on-surface, #1c1b1f);
31331
- cursor: pointer;
31332
- font: inherit;
31333
- }
31371
+ .graph-actions {
31372
+ display: flex;
31373
+ align-items: center;
31374
+ gap: 8px;
31375
+ min-width: 0;
31376
+ }
31334
31377
 
31335
- .search-button:hover {
31336
- background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
31337
- }
31378
+ .thread-search {
31379
+ display: flex;
31380
+ align-items: center;
31381
+ gap: 4px;
31382
+ }
31338
31383
 
31339
- .thread-search-status {
31340
- margin: 0 0 6px;
31341
- font-size: 0.85rem;
31342
- color: var(--md-sys-color-on-surface-variant, #666);
31343
- }
31384
+ .thread-search input {
31385
+ width: 260px;
31386
+ max-width: 45vw;
31387
+ padding: 6px 8px;
31388
+ border: 1px solid var(--md-sys-color-outline-variant, #ccc);
31389
+ border-radius: 4px;
31390
+ background-color: var(--md-sys-color-surface, #fff);
31391
+ color: var(--md-sys-color-on-surface, #1c1b1f);
31392
+ font: inherit;
31393
+ }
31344
31394
 
31345
- .thread-search-status.found {
31346
- color: #2e7d32;
31347
- }
31395
+ .thread-search input:focus {
31396
+ outline: 2px solid var(--md-sys-color-primary, #6750a4);
31397
+ outline-offset: 1px;
31398
+ }
31348
31399
 
31349
- .thread-search-status.not-found {
31350
- color: #c62828;
31351
- }
31400
+ .search-button {
31401
+ padding: 6px 10px;
31402
+ border: 1px solid var(--md-sys-color-outline-variant, #ccc);
31403
+ border-radius: 4px;
31404
+ background-color: var(--md-sys-color-surface, #fff);
31405
+ color: var(--md-sys-color-on-surface, #1c1b1f);
31406
+ cursor: pointer;
31407
+ font: inherit;
31408
+ }
31352
31409
 
31353
- .control-button {
31354
- background: none;
31355
- border: 1px solid var(--md-sys-color-outline-variant, #ccc);
31356
- border-radius: 4px;
31357
- padding: 6px;
31358
- cursor: pointer;
31359
- display: flex;
31360
- align-items: center;
31361
- justify-content: center;
31362
- transition:
31363
- background-color 0.2s,
31364
- border-color 0.2s;
31365
- }
31410
+ .search-button:hover {
31411
+ background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
31412
+ }
31366
31413
 
31367
- .control-button:hover {
31368
- background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
31369
- }
31414
+ .search-button:focus-visible {
31415
+ outline: 2px solid var(--md-sys-color-primary);
31416
+ outline-offset: 1px;
31417
+ }
31370
31418
 
31371
- .control-button.active {
31372
- background-color: var(--md-sys-color-primary-container, #e8def8);
31373
- border-color: var(--md-sys-color-primary, #6750a4);
31374
- }
31419
+ .thread-search-status {
31420
+ margin: 0 0 6px;
31421
+ font-size: 0.85rem;
31422
+ color: var(--md-sys-color-on-surface-variant, #666);
31423
+ }
31375
31424
 
31376
- .control-button ha-svg-icon {
31377
- --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
31378
- }
31425
+ .thread-search-status.found {
31426
+ color: var(--signal-color-strong);
31427
+ }
31379
31428
 
31380
- .control-button.active ha-svg-icon {
31381
- --icon-primary-color: var(--md-sys-color-on-primary-container, #21005d);
31382
- }
31429
+ .thread-search-status.not-found {
31430
+ color: var(--md-sys-color-error);
31431
+ }
31383
31432
 
31384
- .graph-section thread-graph,
31385
- .graph-section wifi-graph {
31386
- flex: 1 1 0;
31387
- min-height: 0;
31388
- }
31433
+ .control-button {
31434
+ background: none;
31435
+ border: 1px solid var(--md-sys-color-outline-variant, #ccc);
31436
+ border-radius: 4px;
31437
+ padding: 6px;
31438
+ cursor: pointer;
31439
+ display: flex;
31440
+ align-items: center;
31441
+ justify-content: center;
31442
+ transition:
31443
+ background-color 0.2s,
31444
+ border-color 0.2s;
31445
+ }
31389
31446
 
31390
- .wifi-section {
31391
- display: flex;
31392
- flex-direction: column;
31393
- gap: 16px;
31394
- overflow-y: auto;
31395
- }
31447
+ .control-button:hover {
31448
+ background-color: var(--md-sys-color-surface-container-high, #e8e8e8);
31449
+ }
31396
31450
 
31397
- .wifi-section h2 {
31398
- margin: 0;
31399
- font-size: 1.25rem;
31400
- font-weight: 500;
31401
- color: var(--md-sys-color-on-background, #333);
31402
- }
31451
+ .control-button.active {
31452
+ background-color: var(--md-sys-color-primary-container, #e8def8);
31453
+ border-color: var(--md-sys-color-primary, #6750a4);
31454
+ }
31403
31455
 
31404
- .wifi-section device-panel {
31405
- flex-shrink: 0;
31406
- }
31456
+ .control-button ha-svg-icon {
31457
+ --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
31458
+ }
31407
31459
 
31408
- .details-sidebar {
31409
- width: 320px;
31410
- flex-shrink: 0;
31411
- display: none;
31412
- min-height: 0;
31413
- overflow-y: auto;
31414
- }
31460
+ .control-button.active ha-svg-icon {
31461
+ --icon-primary-color: var(--md-sys-color-on-primary-container, #21005d);
31462
+ }
31415
31463
 
31416
- .details-sidebar.visible {
31417
- display: block;
31418
- }
31464
+ .graph-section thread-graph,
31465
+ .graph-section wifi-graph {
31466
+ flex: 1 1 0;
31467
+ min-height: 0;
31468
+ }
31419
31469
 
31420
- @media (max-width: 1024px) {
31421
- .content {
31470
+ .wifi-section {
31471
+ display: flex;
31422
31472
  flex-direction: column;
31473
+ gap: 16px;
31474
+ overflow-y: auto;
31423
31475
  }
31424
31476
 
31425
- .details-sidebar {
31426
- width: 100%;
31427
- max-height: 300px;
31477
+ .wifi-section h2 {
31478
+ margin: 0;
31479
+ font-size: 1.25rem;
31480
+ font-weight: 500;
31481
+ color: var(--md-sys-color-on-background, #333);
31428
31482
  }
31429
31483
 
31430
- .details-sidebar.visible {
31431
- display: block;
31484
+ .wifi-section device-panel {
31485
+ flex-shrink: 0;
31432
31486
  }
31433
- }
31434
31487
 
31435
- @media (max-width: 600px) {
31436
- .content {
31437
- padding: 8px;
31488
+ .details-sidebar {
31489
+ width: 320px;
31490
+ flex-shrink: 0;
31491
+ display: none;
31492
+ min-height: 0;
31493
+ overflow-y: auto;
31438
31494
  }
31439
31495
 
31440
- .graph-header {
31441
- align-items: flex-start;
31442
- gap: 6px;
31496
+ .details-sidebar.visible {
31497
+ display: block;
31443
31498
  }
31444
31499
 
31445
- .graph-actions {
31446
- flex-direction: column;
31447
- align-items: stretch;
31448
- width: 100%;
31449
- }
31500
+ @media (max-width: 1024px) {
31501
+ .content {
31502
+ flex-direction: column;
31503
+ }
31450
31504
 
31451
- .thread-search {
31452
- width: 100%;
31453
- }
31505
+ .details-sidebar {
31506
+ width: 100%;
31507
+ max-height: 300px;
31508
+ }
31454
31509
 
31455
- .thread-search input {
31456
- flex: 1 1 auto;
31457
- width: auto;
31458
- max-width: none;
31510
+ .details-sidebar.visible {
31511
+ display: block;
31512
+ }
31459
31513
  }
31460
31514
 
31461
- .graph-controls {
31462
- justify-content: flex-end;
31515
+ @media (max-width: 600px) {
31516
+ .content {
31517
+ padding: 8px;
31518
+ }
31519
+
31520
+ .graph-header {
31521
+ align-items: flex-start;
31522
+ gap: 6px;
31523
+ }
31524
+
31525
+ .graph-actions {
31526
+ flex-direction: column;
31527
+ align-items: stretch;
31528
+ width: 100%;
31529
+ }
31530
+
31531
+ .thread-search {
31532
+ width: 100%;
31533
+ }
31534
+
31535
+ .thread-search input {
31536
+ flex: 1 1 auto;
31537
+ width: auto;
31538
+ max-width: none;
31539
+ }
31540
+
31541
+ .graph-controls {
31542
+ justify-content: flex-end;
31543
+ }
31463
31544
  }
31464
- }
31465
- `;
31545
+ `];
31466
31546
  __decorateClass$4([n$2({
31467
31547
  type: Object
31468
31548
  })], MatterNetworkView.prototype, "nodes", 2);
@@ -31501,8 +31581,12 @@ let MatterNodeView = class extends i$4 {
31501
31581
  var _this$node;
31502
31582
  if (!this.node) {
31503
31583
  return b`
31504
- <p>Node not found!</p>
31505
- <button @click=${this._goBack}>Back</button>
31584
+ <dashboard-header title="Node not found" .client=${this.client} backButton="#"></dashboard-header>
31585
+ <div class="not-found">
31586
+ <ha-svg-icon .path=${mdiAlertCircleOutline}></ha-svg-icon>
31587
+ <p>Node not found</p>
31588
+ <md-outlined-button @click=${this._goBack}>Back</md-outlined-button>
31589
+ </div>
31506
31590
  `;
31507
31591
  }
31508
31592
  const networkType = getNetworkType(this.node);
@@ -31570,105 +31654,105 @@ let MatterNodeView = class extends i$4 {
31570
31654
  history.back();
31571
31655
  }
31572
31656
  };
31573
- MatterNodeView.styles = i$7`
31574
- :host {
31575
- display: flex;
31576
- background-color: var(--md-sys-color-background);
31577
- box-sizing: border-box;
31578
- flex-direction: column;
31579
- min-height: 100vh;
31580
- }
31581
-
31582
- .container {
31583
- padding: 16px;
31584
- max-width: 95%;
31585
- margin: 0 auto;
31586
- width: 100%;
31587
- }
31657
+ MatterNodeView.styles = [notFoundStyles, reducedMotionStyles, i$7`
31658
+ :host {
31659
+ display: flex;
31660
+ background-color: var(--md-sys-color-background);
31661
+ box-sizing: border-box;
31662
+ flex-direction: column;
31663
+ min-height: 100vh;
31664
+ }
31588
31665
 
31589
- @media (max-width: 600px) {
31590
31666
  .container {
31591
- padding: 16px 0;
31667
+ padding: 16px;
31668
+ max-width: 95%;
31669
+ margin: 0 auto;
31670
+ width: 100%;
31592
31671
  }
31593
- }
31594
31672
 
31595
- .status {
31596
- color: var(--danger-color);
31597
- font-weight: bold;
31598
- font-size: 0.8em;
31599
- }
31673
+ @media (max-width: 600px) {
31674
+ .container {
31675
+ padding: 16px 0;
31676
+ }
31677
+ }
31600
31678
 
31601
- .node-title-bar {
31602
- display: flex;
31603
- align-items: center;
31604
- gap: 16px;
31605
- margin-bottom: 16px;
31606
- }
31679
+ .status {
31680
+ color: var(--danger-color);
31681
+ font-weight: bold;
31682
+ font-size: 0.8em;
31683
+ }
31607
31684
 
31608
- .node-icon {
31609
- --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
31610
- --mdc-icon-size: 28px;
31611
- }
31685
+ .node-title-bar {
31686
+ display: flex;
31687
+ align-items: center;
31688
+ gap: 16px;
31689
+ margin-bottom: 16px;
31690
+ }
31612
31691
 
31613
- .endpoint-icon {
31614
- --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
31615
- }
31692
+ .node-icon {
31693
+ --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
31694
+ --mdc-icon-size: 28px;
31695
+ }
31616
31696
 
31617
- .node-title-bar h2 {
31618
- margin: 0;
31619
- font-size: 1.25rem;
31620
- font-weight: 500;
31621
- color: var(--md-sys-color-on-background, #333);
31622
- }
31697
+ .endpoint-icon {
31698
+ --icon-primary-color: var(--md-sys-color-on-surface-variant, #666);
31699
+ }
31623
31700
 
31624
- .node-id-hex {
31625
- font-size: 0.75em;
31626
- font-weight: 400;
31627
- color: var(--md-sys-color-on-surface-variant, #666);
31628
- font-family: monospace;
31629
- }
31701
+ .node-title-bar h2 {
31702
+ margin: 0;
31703
+ font-size: 1.25rem;
31704
+ font-weight: 500;
31705
+ color: var(--md-sys-color-on-background, #333);
31706
+ }
31630
31707
 
31631
- .show-in-graph-button {
31632
- display: inline-flex;
31633
- align-items: center;
31634
- gap: 6px;
31635
- padding: 6px 12px;
31636
- background-color: var(--md-sys-color-primary);
31637
- color: var(--md-sys-color-on-primary);
31638
- text-decoration: none;
31639
- border-radius: 4px;
31640
- font-size: 0.8rem;
31641
- font-weight: 500;
31642
- transition: opacity 0.2s;
31643
- white-space: nowrap;
31644
- }
31708
+ .node-id-hex {
31709
+ font-size: 0.75em;
31710
+ font-weight: 400;
31711
+ color: var(--md-sys-color-on-surface-variant, #666);
31712
+ font-family: var(--monospace-font, monospace);
31713
+ }
31645
31714
 
31646
- .show-in-graph-button:hover {
31647
- opacity: 0.9;
31648
- }
31715
+ .show-in-graph-button {
31716
+ display: inline-flex;
31717
+ align-items: center;
31718
+ gap: 6px;
31719
+ padding: 6px 12px;
31720
+ background-color: var(--md-sys-color-primary);
31721
+ color: var(--md-sys-color-on-primary);
31722
+ text-decoration: none;
31723
+ border-radius: 4px;
31724
+ font-size: 0.8rem;
31725
+ font-weight: 500;
31726
+ transition: opacity 0.2s;
31727
+ white-space: nowrap;
31728
+ }
31649
31729
 
31650
- .show-in-graph-button ha-svg-icon {
31651
- --icon-primary-color: var(--md-sys-color-on-primary);
31652
- width: 16px;
31653
- height: 16px;
31654
- }
31730
+ .show-in-graph-button:hover {
31731
+ opacity: 0.9;
31732
+ }
31655
31733
 
31656
- @media (max-width: 768px) {
31657
- .show-in-graph-button {
31658
- display: none;
31734
+ .show-in-graph-button ha-svg-icon {
31735
+ --icon-primary-color: var(--md-sys-color-on-primary);
31736
+ width: 16px;
31737
+ height: 16px;
31659
31738
  }
31660
- }
31661
31739
 
31662
- @media (max-width: 480px) {
31663
- .show-in-graph-button .button-text {
31664
- display: none;
31740
+ @media (max-width: 768px) {
31741
+ .show-in-graph-button {
31742
+ display: none;
31743
+ }
31665
31744
  }
31666
31745
 
31667
- .show-in-graph-button {
31668
- padding: 6px;
31746
+ @media (max-width: 480px) {
31747
+ .show-in-graph-button .button-text {
31748
+ display: none;
31749
+ }
31750
+
31751
+ .show-in-graph-button {
31752
+ padding: 6px;
31753
+ }
31669
31754
  }
31670
- }
31671
- `;
31755
+ `];
31672
31756
  __decorateClass$3([n$2()], MatterNodeView.prototype, "node", 2);
31673
31757
  MatterNodeView = __decorateClass$3([t$1("matter-node-view")], MatterNodeView);
31674
31758
 
@@ -31679,7 +31763,7 @@ MatterNodeView = __decorateClass$3([t$1("matter-node-view")], MatterNodeView);
31679
31763
  */
31680
31764
  const showCommissionNodeDialog = async client => {
31681
31765
  var _document$querySelect;
31682
- await import('./commission-node-dialog-ByflSEDK.js');
31766
+ await import('./commission-node-dialog-DfwKU9qk.js');
31683
31767
  const dialog = document.createElement("commission-node-dialog");
31684
31768
  dialog.client = client;
31685
31769
  (_document$querySelect = document.querySelector("matter-dashboard-app")) === null || _document$querySelect === void 0 || _document$querySelect.renderRoot.appendChild(dialog);
@@ -31709,6 +31793,8 @@ let ServerDetails = class extends i$4 {
31709
31793
  title: "Failed to import test node",
31710
31794
  text: err.message
31711
31795
  });
31796
+ } finally {
31797
+ fileElem.value = "";
31712
31798
  }
31713
31799
  };
31714
31800
  }
@@ -32219,4 +32305,4 @@ var matterDashboardApp = /*#__PURE__*/Object.freeze({
32219
32305
  __proto__: null
32220
32306
  });
32221
32307
 
32222
- export { A, i$2 as B, fireAndForget as C, D, EASING as E, handleAsync as F, c$4 as G, clientContext as H, showPromptDialog as I, showAlertDialog as J, matterDashboardApp as K, ListController as L, NavigableKeys as N, Validator$2 as V, __decorate as _, e$5 as a, getLastActivatableItem as b, createAnimationSignal as c, getFirstActivatableItem as d, e$6 as e, e$2 as f, getActiveItem as g, o as h, i$4 as i, b as j, i$7 as k, mixinOnReportValidity as l, mixinDelegatesAria as m, n$2 as n, o$3 as o, mixinConstraintValidation as p, mixinFormAssociated as q, r$2 as r, mixinElementInternals as s, t$1 as t, onReportValidity as u, u as v, redispatchEvent as w, getFormValue as x, createValidator as y, getValidityAnchor as z };
32308
+ export { A, i$2 as B, fireAndForget as C, D, EASING as E, showAlertDialog as F, handleAsync as G, c$4 as H, clientContext as I, showPromptDialog as J, matterDashboardApp as K, ListController as L, NavigableKeys as N, Validator$2 as V, __decorate as _, e$5 as a, getLastActivatableItem as b, createAnimationSignal as c, getFirstActivatableItem as d, e$6 as e, e$2 as f, getActiveItem as g, o as h, i$4 as i, b as j, i$7 as k, mixinOnReportValidity as l, mixinDelegatesAria as m, n$2 as n, o$3 as o, mixinConstraintValidation as p, mixinFormAssociated as q, r$2 as r, mixinElementInternals as s, t$1 as t, onReportValidity as u, u as v, redispatchEvent as w, getFormValue as x, createValidator as y, getValidityAnchor as z };