zigbee2mqtt-windfront 1.3.0 → 1.3.1

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 (201) hide show
  1. package/dist/assets/{About-BFY7urtC.js → About-Cd5G1nNd.js} +1 -1
  2. package/dist/assets/About-Cd5G1nNd.js.br +0 -0
  3. package/dist/assets/{Availability-CGAWml3l.js → Availability-Dg28cVsy.js} +1 -1
  4. package/dist/assets/Availability-Dg28cVsy.js.br +0 -0
  5. package/dist/assets/{Bind-vE7zlFIT.js → Bind-Dj7BlJ9c.js} +1 -1
  6. package/dist/assets/Bind-Dj7BlJ9c.js.br +0 -0
  7. package/dist/assets/{Bridge-PZYcbf0O.js → Bridge-Dg4Q3BhD.js} +1 -1
  8. package/dist/assets/Bridge-Dg4Q3BhD.js.br +2 -0
  9. package/dist/assets/{CheckboxField-CKgIp8a8.js → CheckboxField-BhwpagjA.js} +1 -1
  10. package/dist/assets/CheckboxField-BhwpagjA.js.br +0 -0
  11. package/dist/assets/{ClusterSinglePicker-9espeMwv.js → ClusterSinglePicker-BavLYJxh.js} +1 -1
  12. package/dist/assets/ClusterSinglePicker-BavLYJxh.js.br +0 -0
  13. package/dist/assets/{Clusters-qjfQFe32.js → Clusters-PG0HopAK.js} +1 -1
  14. package/dist/assets/Clusters-PG0HopAK.js.br +0 -0
  15. package/dist/assets/Dashboard-D1wWXNU0.js +1 -0
  16. package/dist/assets/Dashboard-D1wWXNU0.js.br +0 -0
  17. package/dist/assets/{DashboardFeatureWrapper-2XgC0Vbu.js → DashboardFeatureWrapper-QO-XFtKk.js} +1 -1
  18. package/dist/assets/DashboardFeatureWrapper-QO-XFtKk.js.br +0 -0
  19. package/dist/assets/{DebouncedInput-xxDjw8fK.js → DebouncedInput-jeSVRz3c.js} +1 -1
  20. package/dist/assets/DebouncedInput-jeSVRz3c.js.br +0 -0
  21. package/dist/assets/{DevConsole-c4Go_5Cx.js → DevConsole-CRKukHFU.js} +1 -1
  22. package/dist/assets/DevConsole-CRKukHFU.js.br +0 -0
  23. package/dist/assets/{DevConsole-BwmfFlaa.js → DevConsole-DeRbEIDK.js} +1 -1
  24. package/dist/assets/DevConsole-DeRbEIDK.js.br +0 -0
  25. package/dist/assets/{DeviceCard-Dn-YPJeh.js → DeviceCard-D2ifb9S1.js} +1 -1
  26. package/dist/assets/DeviceCard-D2ifb9S1.js.br +0 -0
  27. package/dist/assets/{DeviceControlEditName-Cib2zvRH.js → DeviceControlEditName-D6ss-GnK.js} +1 -1
  28. package/dist/assets/DeviceControlEditName-D6ss-GnK.js.br +0 -0
  29. package/dist/assets/{DeviceImage-Cbh-Uae_.js → DeviceImage-CGx5yo8m.js} +1 -1
  30. package/dist/assets/DeviceImage-CGx5yo8m.js.br +0 -0
  31. package/dist/assets/{DeviceInfo-CtFO_0zq.js → DeviceInfo-Ll9Bxn4L.js} +1 -1
  32. package/dist/assets/DeviceInfo-Ll9Bxn4L.js.br +0 -0
  33. package/dist/assets/{DevicePage-CL6QW70V.js → DevicePage-BTarwyEH.js} +2 -2
  34. package/dist/assets/DevicePage-BTarwyEH.js.br +0 -0
  35. package/dist/assets/{DevicePicker-B8wvglJO.js → DevicePicker-DIWryjuN.js} +1 -1
  36. package/dist/assets/DevicePicker-DIWryjuN.js.br +0 -0
  37. package/dist/assets/{DeviceSettings-cyraV-PD.js → DeviceSettings-B8rSL_p0.js} +1 -1
  38. package/dist/assets/DeviceSettings-B8rSL_p0.js.br +0 -0
  39. package/dist/assets/{DeviceSpecificSettings-DG-B0QXU.js → DeviceSpecificSettings-DRSJ44yr.js} +1 -1
  40. package/dist/assets/DeviceSpecificSettings-DRSJ44yr.js.br +0 -0
  41. package/dist/assets/{Devices-CCdlvPKX.js → Devices-BXMoCKuc.js} +1 -1
  42. package/dist/assets/Devices-BXMoCKuc.js.br +0 -0
  43. package/dist/assets/{DevicesPage-B_ORU6zT.js → DevicesPage-D4M96fmP.js} +1 -1
  44. package/dist/assets/DevicesPage-D4M96fmP.js.br +0 -0
  45. package/dist/assets/{DisplayValue-CThy0Fna.js → DisplayValue-y4u-p3TF.js} +1 -1
  46. package/dist/assets/DisplayValue-y4u-p3TF.js.br +0 -0
  47. package/dist/assets/{Donate-ChPkbQIQ.js → Donate-Ceq-2-mP.js} +1 -1
  48. package/dist/assets/Donate-Ceq-2-mP.js.br +0 -0
  49. package/dist/assets/{EndpointPicker-C6ej_jn-.js → EndpointPicker-Cni8eLro.js} +1 -1
  50. package/dist/assets/EndpointPicker-Cni8eLro.js.br +0 -0
  51. package/dist/assets/{Exposes-DGppzhCM.js → Exposes-CVaHXwu-.js} +1 -1
  52. package/dist/assets/Exposes-CVaHXwu-.js.br +0 -0
  53. package/dist/assets/Feature-B18PTY7Z.js +1 -0
  54. package/dist/assets/Feature-B18PTY7Z.js.br +0 -0
  55. package/dist/assets/{Frontend-LOSYcYD-.js → Frontend-Bw0vB4aZ.js} +1 -1
  56. package/dist/assets/Frontend-Bw0vB4aZ.js.br +0 -0
  57. package/dist/assets/{GroupPage-CgDVJI3N.js → GroupPage-SyuMBjnt.js} +2 -2
  58. package/dist/assets/GroupPage-SyuMBjnt.js.br +0 -0
  59. package/dist/assets/{GroupSettings-DpkTM-Xz.js → GroupSettings-Wbczyt9u.js} +1 -1
  60. package/dist/assets/GroupSettings-Wbczyt9u.js.br +0 -0
  61. package/dist/assets/{Groups-6SwxNIoO.js → Groups-C16FRyjr.js} +1 -1
  62. package/dist/assets/Groups-C16FRyjr.js.br +0 -0
  63. package/dist/assets/{GroupsPage-BjOIYU5x.js → GroupsPage-DZiiSPYf.js} +1 -1
  64. package/dist/assets/GroupsPage-DZiiSPYf.js.br +0 -0
  65. package/dist/assets/{Health-R4q8Sk9W.js → Health-D0P1xz_-.js} +1 -1
  66. package/dist/assets/Health-D0P1xz_-.js.br +0 -0
  67. package/dist/assets/{HomePage-MR57BFif.js → HomePage-DG90gg1s.js} +1 -1
  68. package/dist/assets/HomePage-DG90gg1s.js.br +0 -0
  69. package/dist/assets/{InputField-DXwsrdm2.js → InputField-E2g5qJCn.js} +1 -1
  70. package/dist/assets/InputField-E2g5qJCn.js.br +0 -0
  71. package/dist/assets/{LastSeen-Y67K4Fqv.js → LastSeen-Tt-X3bir.js} +1 -1
  72. package/dist/assets/LastSeen-Tt-X3bir.js.br +0 -0
  73. package/dist/assets/{LogsPage-Cld3pboD.js → LogsPage-CWjf1H8Z.js} +1 -1
  74. package/dist/assets/LogsPage-CWjf1H8Z.js.br +0 -0
  75. package/dist/assets/{Lqi-CH0xJyhG.js → Lqi-Bexjv2VI.js} +1 -1
  76. package/dist/assets/Lqi-Bexjv2VI.js.br +0 -0
  77. package/dist/assets/{NetworkPage-BV0-BL18.js → NetworkPage-a2O4oSwP.js} +2 -2
  78. package/dist/assets/NetworkPage-a2O4oSwP.js.br +0 -0
  79. package/dist/assets/{NumberField-BELYPu7B.js → NumberField-CH6-YRbT.js} +1 -1
  80. package/dist/assets/NumberField-CH6-YRbT.js.br +0 -0
  81. package/dist/assets/{OtaPage-DIuJii1H.js → OtaPage-j_Bw2-GQ.js} +1 -1
  82. package/dist/assets/OtaPage-j_Bw2-GQ.js.br +0 -0
  83. package/dist/assets/PowerSource-M8I2qqUm.js +1 -0
  84. package/dist/assets/PowerSource-M8I2qqUm.js.br +0 -0
  85. package/dist/assets/{RawNetworkData-KimVYxDA.js → RawNetworkData-ZdR_BdBV.js} +1 -1
  86. package/dist/assets/RawNetworkData-ZdR_BdBV.js.br +0 -0
  87. package/dist/assets/{RawNetworkMap-g31InUyr.js → RawNetworkMap-DIse-aug.js} +26 -26
  88. package/dist/assets/RawNetworkMap-DIse-aug.js.br +0 -0
  89. package/dist/assets/RecallRemove-BT61_xFm.js +1 -0
  90. package/dist/assets/RecallRemove-BT61_xFm.js.br +0 -0
  91. package/dist/assets/{Reporting-CivFNA3N.js → Reporting-CUO_xgvP.js} +1 -1
  92. package/dist/assets/Reporting-CUO_xgvP.js.br +0 -0
  93. package/dist/assets/Scene-C7Y19gU0.js +1 -0
  94. package/dist/assets/Scene-C7Y19gU0.js.br +0 -0
  95. package/dist/assets/{SelectField-BiRFHt2I.js → SelectField-CgXiODUe.js} +1 -1
  96. package/dist/assets/SelectField-CgXiODUe.js.br +0 -0
  97. package/dist/assets/{Settings-Dsglzgx-.js → Settings-CwUeWW5z.js} +1 -1
  98. package/dist/assets/Settings-CwUeWW5z.js.br +0 -0
  99. package/dist/assets/{SettingsList-BkAg1hoT.js → SettingsList-wPZC4AYF.js} +1 -1
  100. package/dist/assets/SettingsList-wPZC4AYF.js.br +0 -0
  101. package/dist/assets/{SettingsPage-B0fphXWV.js → SettingsPage-DQqFAgM7.js} +2 -2
  102. package/dist/assets/SettingsPage-DQqFAgM7.js.br +0 -0
  103. package/dist/assets/{State-DleJA1Ta.js → State-B0esCQUT.js} +1 -1
  104. package/dist/assets/State-B0esCQUT.js.br +2 -0
  105. package/dist/assets/{Table-CVp4F28v.js → Table-CH7yonv3.js} +1 -1
  106. package/dist/assets/Table-CH7yonv3.js.br +0 -0
  107. package/dist/assets/{TextareaField-DAJIKD73.js → TextareaField-DAyUngHz.js} +1 -1
  108. package/dist/assets/TextareaField-DAyUngHz.js.br +0 -0
  109. package/dist/assets/{Tools-DQ8GQ7z9.js → Tools-BQ5g0Zg_.js} +1 -1
  110. package/dist/assets/Tools-BQ5g0Zg_.js.br +0 -0
  111. package/dist/assets/{TouchlinkPage-B_a_dvf1.js → TouchlinkPage-gI3LcGdI.js} +1 -1
  112. package/dist/assets/TouchlinkPage-gI3LcGdI.js.br +0 -0
  113. package/dist/assets/{VendorLink-DTNZMMP5.js → VendorLink-B_MZftSG.js} +1 -1
  114. package/dist/assets/VendorLink-B_MZftSG.js.br +0 -0
  115. package/dist/assets/{_createCompounder-EtfNZAeu.js → _createCompounder-HA4t3BbU.js} +1 -1
  116. package/dist/assets/_createCompounder-HA4t3BbU.js.br +0 -0
  117. package/dist/assets/{format-DKj-n12h.js → format-LeabZw87.js} +1 -1
  118. package/dist/assets/format-LeabZw87.js.br +0 -0
  119. package/dist/assets/{index-C1gKvOQY.js → index-BeDhuS24.js} +12 -12
  120. package/dist/assets/index-BeDhuS24.js.br +0 -0
  121. package/dist/assets/{index-BEfVjKh5.js → index-CIWfMo3U.js} +1 -1
  122. package/dist/assets/index-CIWfMo3U.js.br +0 -0
  123. package/dist/assets/{index-C5jxp7BF.css → index-sQ1gk-WC.css} +1 -1
  124. package/dist/assets/index-sQ1gk-WC.css.br +0 -0
  125. package/dist/assets/{jszip.min-BfmyMf_j.js → jszip.min-D01WTHXF.js} +1 -1
  126. package/dist/assets/jszip.min-D01WTHXF.js.br +0 -0
  127. package/dist/assets/snakeCase-DF3cbatb.js +1 -0
  128. package/dist/assets/snakeCase-DF3cbatb.js.br +0 -0
  129. package/dist/index.html +2 -2
  130. package/dist/index.html.br +0 -0
  131. package/package.json +6 -6
  132. package/dist/assets/About-BFY7urtC.js.br +0 -0
  133. package/dist/assets/Availability-CGAWml3l.js.br +0 -0
  134. package/dist/assets/Bind-vE7zlFIT.js.br +0 -0
  135. package/dist/assets/Bridge-PZYcbf0O.js.br +0 -1
  136. package/dist/assets/CheckboxField-CKgIp8a8.js.br +0 -0
  137. package/dist/assets/ClusterSinglePicker-9espeMwv.js.br +0 -0
  138. package/dist/assets/Clusters-qjfQFe32.js.br +0 -0
  139. package/dist/assets/Dashboard-C6eKkVo2.js +0 -1
  140. package/dist/assets/Dashboard-C6eKkVo2.js.br +0 -0
  141. package/dist/assets/DashboardFeatureWrapper-2XgC0Vbu.js.br +0 -0
  142. package/dist/assets/DebouncedInput-xxDjw8fK.js.br +0 -0
  143. package/dist/assets/DevConsole-BwmfFlaa.js.br +0 -0
  144. package/dist/assets/DevConsole-c4Go_5Cx.js.br +0 -0
  145. package/dist/assets/DeviceCard-Dn-YPJeh.js.br +0 -0
  146. package/dist/assets/DeviceControlEditName-Cib2zvRH.js.br +0 -0
  147. package/dist/assets/DeviceImage-Cbh-Uae_.js.br +0 -0
  148. package/dist/assets/DeviceInfo-CtFO_0zq.js.br +0 -0
  149. package/dist/assets/DevicePage-CL6QW70V.js.br +0 -0
  150. package/dist/assets/DevicePicker-B8wvglJO.js.br +0 -0
  151. package/dist/assets/DeviceSettings-cyraV-PD.js.br +0 -0
  152. package/dist/assets/DeviceSpecificSettings-DG-B0QXU.js.br +0 -0
  153. package/dist/assets/Devices-CCdlvPKX.js.br +0 -0
  154. package/dist/assets/DevicesPage-B_ORU6zT.js.br +0 -0
  155. package/dist/assets/DisplayValue-CThy0Fna.js.br +0 -0
  156. package/dist/assets/Donate-ChPkbQIQ.js.br +0 -0
  157. package/dist/assets/EndpointPicker-C6ej_jn-.js.br +0 -0
  158. package/dist/assets/Exposes-DGppzhCM.js.br +0 -0
  159. package/dist/assets/Feature-BhPmnoZF.js +0 -1
  160. package/dist/assets/Feature-BhPmnoZF.js.br +0 -0
  161. package/dist/assets/Frontend-LOSYcYD-.js.br +0 -0
  162. package/dist/assets/GroupPage-CgDVJI3N.js.br +0 -0
  163. package/dist/assets/GroupSettings-DpkTM-Xz.js.br +0 -0
  164. package/dist/assets/Groups-6SwxNIoO.js.br +0 -0
  165. package/dist/assets/GroupsPage-BjOIYU5x.js.br +0 -0
  166. package/dist/assets/Health-R4q8Sk9W.js.br +0 -0
  167. package/dist/assets/HomePage-MR57BFif.js.br +0 -0
  168. package/dist/assets/InputField-DXwsrdm2.js.br +0 -1
  169. package/dist/assets/LastSeen-Y67K4Fqv.js.br +0 -0
  170. package/dist/assets/LogsPage-Cld3pboD.js.br +0 -0
  171. package/dist/assets/Lqi-CH0xJyhG.js.br +0 -0
  172. package/dist/assets/NetworkPage-BV0-BL18.js.br +0 -0
  173. package/dist/assets/NumberField-BELYPu7B.js.br +0 -0
  174. package/dist/assets/OtaPage-DIuJii1H.js.br +0 -0
  175. package/dist/assets/PowerSource-CpboKkXb.js +0 -1
  176. package/dist/assets/PowerSource-CpboKkXb.js.br +0 -0
  177. package/dist/assets/RawNetworkData-KimVYxDA.js.br +0 -0
  178. package/dist/assets/RawNetworkMap-g31InUyr.js.br +0 -0
  179. package/dist/assets/RecallRemove-D_Wf53dt.js +0 -1
  180. package/dist/assets/RecallRemove-D_Wf53dt.js.br +0 -0
  181. package/dist/assets/Reporting-CivFNA3N.js.br +0 -0
  182. package/dist/assets/Scene-DzbrrQhW.js +0 -1
  183. package/dist/assets/Scene-DzbrrQhW.js.br +0 -0
  184. package/dist/assets/SelectField-BiRFHt2I.js.br +0 -0
  185. package/dist/assets/Settings-Dsglzgx-.js.br +0 -0
  186. package/dist/assets/SettingsList-BkAg1hoT.js.br +0 -0
  187. package/dist/assets/SettingsPage-B0fphXWV.js.br +0 -0
  188. package/dist/assets/State-DleJA1Ta.js.br +0 -0
  189. package/dist/assets/Table-CVp4F28v.js.br +0 -0
  190. package/dist/assets/TextareaField-DAJIKD73.js.br +0 -0
  191. package/dist/assets/Tools-DQ8GQ7z9.js.br +0 -0
  192. package/dist/assets/TouchlinkPage-B_a_dvf1.js.br +0 -0
  193. package/dist/assets/VendorLink-DTNZMMP5.js.br +0 -0
  194. package/dist/assets/_createCompounder-EtfNZAeu.js.br +0 -0
  195. package/dist/assets/format-DKj-n12h.js.br +0 -3
  196. package/dist/assets/index-BEfVjKh5.js.br +0 -1
  197. package/dist/assets/index-C1gKvOQY.js.br +0 -0
  198. package/dist/assets/index-C5jxp7BF.css.br +0 -0
  199. package/dist/assets/jszip.min-BfmyMf_j.js.br +0 -0
  200. package/dist/assets/snakeCase-BPEk2aWA.js +0 -1
  201. package/dist/assets/snakeCase-BPEk2aWA.js.br +0 -0
@@ -1,4 +1,4 @@
1
- import{ae as bt,af as It}from"./index-C1gKvOQY.js";function vt(yt){throw new Error('Could not dynamically require "'+yt+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var kt={exports:{}};/*!
1
+ import{ae as bt,af as It}from"./index-BeDhuS24.js";function vt(yt){throw new Error('Could not dynamically require "'+yt+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var kt={exports:{}};/*!
2
2
 
3
3
  JSZip v3.10.1 - A JavaScript class for generating and reading zip files
4
4
  <http://stuartk.com/jszip>
@@ -0,0 +1 @@
1
+ import{af as u}from"./index-BeDhuS24.js";import{a as C}from"./_createCompounder-HA4t3BbU.js";var e,r;function i(){if(r)return e;r=1;var a=C(),s=a(function(o,n,t){return o+(t?"_":"")+n.toLowerCase()});return e=s,e}var f=i();const k=u(f);export{k as s};
package/dist/index.html CHANGED
@@ -12,9 +12,9 @@
12
12
  <link rel="apple-touch-icon" href="./assets/apple-touch-icon-DxTaGN3y.png" sizes="150x150">
13
13
 
14
14
 
15
- <script type="module" crossorigin src="./assets/index-C1gKvOQY.js"></script>
15
+ <script type="module" crossorigin src="./assets/index-BeDhuS24.js"></script>
16
16
  <link rel="modulepreload" crossorigin href="./assets/envs-DFlyG_dH.js">
17
- <link rel="stylesheet" crossorigin href="./assets/index-C5jxp7BF.css">
17
+ <link rel="stylesheet" crossorigin href="./assets/index-sQ1gk-WC.css">
18
18
  </head>
19
19
 
20
20
  <body>
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee2mqtt-windfront",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -30,7 +30,7 @@
30
30
  "prepack": "npm run clean && npm run build"
31
31
  },
32
32
  "devDependencies": {
33
- "@biomejs/biome": "^2.1.1",
33
+ "@biomejs/biome": "^2.0.6",
34
34
  "@ebay/nice-modal-react": "^1.2.13",
35
35
  "@fortawesome/fontawesome-svg-core": "^6.7.2",
36
36
  "@fortawesome/free-solid-svg-icons": "^6.7.2",
@@ -48,7 +48,7 @@
48
48
  "@vitest/coverage-v8": "^3.2.4",
49
49
  "daisyui": "^5.0.46",
50
50
  "file-saver": "^2.0.5",
51
- "i18next": "^25.3.1",
51
+ "i18next": "^25.3.2",
52
52
  "i18next-browser-languagedetector": "^8.2.0",
53
53
  "jsdom": "^26.1.0",
54
54
  "jszip": "^3.10.1",
@@ -61,12 +61,12 @@
61
61
  "react-redux": "^9.2.0",
62
62
  "react-router": "^7.6.3",
63
63
  "react-use-websocket": "^4.13.0",
64
- "reagraph": "^4.24.2",
64
+ "reagraph": "^4.25.0",
65
65
  "store2": "^2.14.4",
66
66
  "tailwindcss": "^4.1.4",
67
67
  "timeago.js": "^4.0.2",
68
68
  "typescript": "^5.8.3",
69
- "vite": "^7.0.3",
69
+ "vite": "^7.0.4",
70
70
  "vite-plugin-compression2": "^2.2.0",
71
71
  "vitest": "^3.1.2",
72
72
  "ws": "^8.18.3",
@@ -80,4 +80,4 @@
80
80
  "./index.d.ts",
81
81
  "./dist"
82
82
  ]
83
- }
83
+ }
Binary file
Binary file
@@ -1 +0,0 @@
1
- ( !I���:%���� �3�s�����y[ 9l!��[��؎ר���kaV��d�Q�oQ���C-�����%:n����^�h��&}o
Binary file
@@ -1 +0,0 @@
1
- import{a as v,r as l,W as N,b as S,s as y,v as D,j as e,B as _,w as F,F as g,x as T,f as k,y as L,z as R,A as I}from"./index-C1gKvOQY.js";import{D as M}from"./DashboardFeatureWrapper-2XgC0Vbu.js";import{D as q}from"./DeviceCard-Dn-YPJeh.js";import{D as $,R as B}from"./DeviceControlEditName-Cib2zvRH.js";import{D as W}from"./DebouncedInput-xxDjw8fK.js";import"./envs-DFlyG_dH.js";import"./Feature-BhPmnoZF.js";import"./DisplayValue-CThy0Fna.js";import"./_createCompounder-EtfNZAeu.js";import"./LastSeen-Y67K4Fqv.js";import"./format-DKj-n12h.js";import"./Lqi-CH0xJyhG.js";import"./PowerSource-CpboKkXb.js";import"./snakeCase-BPEk2aWA.js";import"./DeviceImage-Cbh-Uae_.js";import"./index-BEfVjKh5.js";import"./CheckboxField-CKgIp8a8.js";import"./InputField-DXwsrdm2.js";const U=["schedule_","_mode","_options","_startup","_type","inching_"],z=["battery","linkquality","options","position","programming","strength","voltage","warning","gradient","power_outage_memory","power_on_behavior"],K=["state","brightness","color_temp","mode","sound","occupancy","tamper","alarm","action","contact"],C=(a,i)=>{if(a){if(K.includes(a))return!0;for(const c of U)if(a.includes(c))return!1;if(z.includes(a))return!1}return!0},w=(a,i={})=>{const{property:c,name:n,access:d}=a;if("features"in a&&a.features&&a.features.length>0){const o=[],f=c?i[c]:i;for(const r of a.features){const u=w(r,f);u&&!o.some(b=>b.property===u.property)&&o.push(u)}return o.length>0||C(n)?{...a,features:o}:void 0}return C(n)?{...a}:void 0};function ce(){const a=v(s=>s.deviceStates),i=v(s=>s.bridgeInfo.config),c=v(s=>s.devices),{sendMessage:n}=l.useContext(N),{t:d}=S(["zigbee","settings"]),[o,f]=l.useState(""),[r,u]=l.useState(y.get(D,!1)),b=l.useCallback(async(s,t,m)=>{await n("bridge/request/device/rename",{from:s,to:t,homeassistant_rename:m,last:!1})},[n]),x=l.useCallback(async(s,t,m)=>{await n("bridge/request/device/remove",{id:s,force:t,block:m})},[n]),E=l.useCallback(s=>{y.set(D,s),u(s)},[]),A=l.useMemo(()=>{const s=[];for(const t of c)if(!t.disabled&&t.supported&&(!o||t.friendly_name.toLowerCase().includes(o.toLowerCase()))){const m=a[t.friendly_name]??{},h=[];if(t.definition?.exposes)for(const p of t.definition.exposes){const j=w(p,m);if(j&&(h.push(j),h.length===10))break}h.length>0&&s.push(e.jsx("div",{className:`${r?"break-inside-avoid-column mb-3":"w-[23rem]"} card bg-base-200 rounded-box shadow-md`,children:e.jsx(q,{features:h,device:t,deviceState:m,onChange:async p=>await n(`${t.ieee_address}/set`,p),onRead:async p=>await n(`${t.ieee_address}/get`,p),featureWrapperClass:M,lastSeenConfig:i.advanced.last_seen,children:e.jsxs("div",{className:"join join-horizontal",children:[e.jsx($,{name:t.friendly_name,renameDevice:b,homeassistantEnabled:i.homeassistant.enabled,style:"btn-outline btn-primary btn-square btn-sm join-item"}),e.jsx(_,{onClick:async()=>await F.show(B,{device:t,removeDevice:x}),className:"btn btn-outline btn-error btn-square btn-sm join-item",title:d("remove_device"),children:e.jsx(g,{icon:T})})]})})},t.ieee_address))}return s},[c,a,i.advanced.last_seen,i.homeassistant.enabled,n,x,b,d,o,r]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-row justify-center items-center gap-3 mb-3",children:[e.jsxs("div",{className:"join",children:[e.jsxs("label",{className:"input w-64 join-item",children:[e.jsx(g,{icon:k}),e.jsx(W,{className:"",type:"search",onChange:s=>f(s.toString()),placeholder:d("common:search"),value:o})]}),e.jsx(_,{item:"",onClick:f,className:"btn btn-square join-item",title:d("common:clear"),children:e.jsx(g,{icon:L})})]}),e.jsx(_,{className:"btn btn-square",item:!r,onClick:E,title:`${d("settings:dashboard_column_display")}: ${r}`,children:e.jsx(g,{icon:r?R:I})})]}),e.jsx("div",{className:`${r?"columns-md":"flex flex-row flex-wrap justify-center"} gap-3 mb-3`,children:A})]})}export{ce as default};
Binary file
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{af as ie,aS as er,aT as rr,aU as tr,l as ar,aV as nr,aW as sr,aX as or,aY as cr,aZ as ir,aK as le,a_ as ue,a$ as lr,b0 as ur,b1 as mr,b2 as fr,b3 as hr,b4 as dr,b5 as me,b6 as xr,b7 as fe,b8 as pr,b9 as br,ba as H,bb as he,bc as de,a1 as gr,bd as _r,be as yr,bf as Cr,bg as vr,bh as jr,bi as Sr,bj as Tr,bk as kr,bl as Er,bm as Rr,bn as Nr,bo as Ar,bp as wr,bq as Fr,br as $r,bs as qr,bt as Ir,bu as Br,bv as Mr,bw as w,aM as Gr,bx as xe,by as Vr,bz as Or,bA as Ur,bB as Hr,bC as Ie,bD as zr,bE as Be,bF as Lr,bG as Pr,bH as Wr,r as i,j as o,b as A,B as j,F as ce,bI as Dr,at as Xr,bJ as Kr,bK as Yr,K as Jr}from"./index-C1gKvOQY.js";import{D as O}from"./DisplayValue-CThy0Fna.js";import{r as Me,a as Ge,b as Qr}from"./_createCompounder-EtfNZAeu.js";var z,pe;function Zr(){if(pe)return z;pe=1;function e(t,a,r){var s=-1,n=t.length;a<0&&(a=-a>n?0:n+a),r=r>n?n:r,r<0&&(r+=n),n=a>r?0:r-a>>>0,a>>>=0;for(var u=Array(n);++s<n;)u[s]=t[s+a];return u}return z=e,z}var L,be;function et(){if(be)return L;be=1;var e=Zr();function t(a,r,s){var n=a.length;return s=s===void 0?n:s,!r&&s>=n?a:e(a,r,s)}return L=t,L}var P,ge;function Ve(){if(ge)return P;ge=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",a="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+a+r,n="\\ufe0e\\ufe0f",u="\\u200d",c=RegExp("["+u+e+s+n+"]");function f(l){return c.test(l)}return P=f,P}var W,_e;function rt(){if(_e)return W;_e=1;function e(t){return t.split("")}return W=e,W}var D,ye;function tt(){if(ye)return D;ye=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",a="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+a+r,n="\\ufe0e\\ufe0f",u="["+e+"]",c="["+s+"]",f="\\ud83c[\\udffb-\\udfff]",l="(?:"+c+"|"+f+")",d="[^"+e+"]",m="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",_=l+"?",v="["+n+"]?",k="(?:"+x+"(?:"+[d,m,h].join("|")+")"+v+_+")*",E=v+_+k,p="(?:"+[d+c+"?",c,m,h,u].join("|")+")",b=RegExp(f+"(?="+f+")|"+p+E,"g");function y(g){return g.match(b)||[]}return D=y,D}var X,Ce;function at(){if(Ce)return X;Ce=1;var e=rt(),t=Ve(),a=tt();function r(s){return t(s)?a(s):e(s)}return X=r,X}var K,ve;function nt(){if(ve)return K;ve=1;var e=et(),t=Ve(),a=at(),r=Me();function s(n){return function(u){u=r(u);var c=t(u)?a(u):void 0,f=c?c[0]:u.charAt(0),l=c?e(c,1).join(""):u.slice(1);return f[n]()+l}}return K=s,K}var Y,je;function Oe(){if(je)return Y;je=1;var e=nt(),t=e("toUpperCase");return Y=t,Y}var J,Se;function st(){if(Se)return J;Se=1;var e=Me(),t=Oe();function a(r){return t(e(r).toLowerCase())}return J=a,J}var Q,Te;function ot(){if(Te)return Q;Te=1;var e=st(),t=Ge(),a=t(function(r,s,n){return s=s.toLowerCase(),r+(n?e(s):s)});return Q=a,Q}var ct=ot();const it=ie(ct);var Z,ke;function lt(){if(ke)return Z;ke=1;var e=Ge(),t=Oe(),a=e(function(r,s,n){return r+(n?" ":"")+t(s)});return Z=a,Z}var ut=lt();const mt=ie(ut),ft={battery_low:w,humidity:Mr,illuminance:H,pressure:Br,co2:Ir,voltage:qr,state:$r,brightness:H,occupancy:Fr,presence:wr,current:Ar,power:Nr,energy:Rr,frequency:Er,tamper:kr,smoke:Tr,radiation_dose_per_hour:Sr,radioactive_events_per_minute:jr,power_factor:vr,mode:Cr,sound:yr,position:_r,alarm:gr,color_xy:de,color_hs:de,color_temp:he,color_temp_startup:he,illuminance_lux:H,soil_moisture:br,water_leak:me,week:pr,workdays_schedule:fe,holidays_schedule:fe,away_mode:xr,vibration:me,power_outage_count:dr,action:hr,angle_x:fr,angle_y:mr,angle_z:ur,side:lr,humidity_alarm:ue,temperature_alarm:ue,approach_distance:le,distance:le,trigger_count:ir,level_config:cr,station:or,effect:sr,linkquality:nr,system_mode:ar,gradient:tr,sensitivity:rr,test:er},ht=(e,t)=>{let a=w;return e==null||(e>=85?(a=Ie,t.push("text-success")):e>=65?a=zr:e>=40?a=Be:e>=20?a=Lr:(a=w,t.push("text-error"))),a},dt=(e,t)=>{let a=w;switch(e){case"high":{a=Ie,t.push("text-success");break}case"medium":{a=Be;break}case"low":{a=w,t.push("text-error");break}}return a},xt=(e,t,a)=>{let r=xe;return e==null||(t==="°F"&&(e=(e-32)/1.8),e>=30?(r=Vr,a.push("text-error")):e>=25?r=Or:e>=20?r=Ur:e>=15?r=Hr:e<5&&(r=xe,a.push("text-info"))),r},pt=(e,t,a)=>{let r;const s=[],n={};switch(e){case"battery":{r=ht(t,s);break}case"battery_state":{r=dt(t,s);break}case"battery_low":{t&&s.push("text-error");break}case"device_temperature":case"temperature":case"local_temperature":{r=xt(t,a,s);break}case"humidity":{t!=null&&t>60&&s.push("text-info");break}case"contact":{r=t?Pr:Wr,t||s.push("text-primary");break}case"occupancy":{t&&(s.push("text-warning"),n.beat=!0);break}case"presence":{t&&(s.push("text-warning"),n.beat=!0);break}case"tamper":{t&&(s.push("text-error"),n.beatFade=!0,n.shake=!0);break}case"water_leak":{t&&(s.push("text-primary"),n.beatFade=!0);break}case"vibration":{t&&(s.push("text-primary"),n.shake=!0);break}}return r?[r,s.join(" "),n]:(r=ft[e],r?[r,s.join(" "),n]:[Gr,"opacity-0",{}])},bt=e=>`${e.type}-${e.name}-${e.label}-${e.property}-${e.access}-${e.category}-${e.endpoint}`;var C=(e=>(e[e.STATE=1]="STATE",e[e.SET=2]="SET",e[e.GET=4]="GET",e[e.STATE_SET=3]="STATE_SET",e[e.STATE_GET=5]="STATE_GET",e[e.ALL=7]="ALL",e))(C||{});const F=i.memo(({feature:e,deviceValue:t})=>o.jsxs("div",{children:[e.property&&o.jsx("span",{className:"font-bold",children:o.jsx(O,{value:t,name:e.name})}),"unit"in e&&o.jsx("span",{className:"text-xs ms-1",children:e.unit})]})),$=i.memo(e=>o.jsxs("div",{className:"alert alert-warning",role:"alert",children:["Unknown access ",o.jsx("pre",{children:e.feature.access})]})),gt=i.memo(e=>{const{feature:{access:t=C.SET,name:a,property:r,value_off:s,value_on:n},deviceValue:u,onChange:c,minimal:f}=e,{t:l}=A("zigbee"),d=i.useCallback(h=>c({[r]:h}),[r,c]),m=i.useCallback(h=>c({[r]:h.target.checked?n:s}),[n,s,r,c]);if(t&C.SET){const h=u!=null,x=!f||f&&!h;return o.jsxs("div",{children:[x&&o.jsx(j,{className:"btn btn-link",item:s,onClick:d,children:o.jsx(O,{value:s,name:a})}),h?o.jsx("input",{className:"toggle",type:"checkbox",checked:u===n,onChange:m}):o.jsx(ce,{icon:Dr,title:l("unknown")}),x&&o.jsx(j,{className:"btn btn-link",item:n,onClick:d,children:o.jsx(O,{value:n,name:a})})]})}return t&C.STATE?o.jsx(F,{...e}):o.jsx($,{...e})}),R=i.memo(e=>{const{feature:t,onChange:a,parentFeatures:r,onRead:s,device:n,deviceState:u,featureWrapperClass:c,minimal:f,steps:l}=e,{type:d,property:m}=t,[h,x]=i.useState({}),{t:_}=A(["composite","common"]),v=i.useMemo(()=>Xr({},u,h),[u,h]),k="features"in t&&t.features||[],E=i.useMemo(()=>{if(d==="composite"&&r!==void 0){if(r.length===1)return!0;if(r.length===2){const g=r[1].type;return g!=null&&g!=="composite"&&g!=="list"}}return!1},[d,r]);i.useEffect(()=>{x({})},[n.ieee_address]);const p=i.useCallback(g=>{x({...h,...g}),E||a(d==="composite"&&m?{[m]:{...h,...g}}:g)},[h,d,m,E,a]),b=i.useCallback(()=>{const g={...u,...h};a(m?{[m]:g}:g)},[m,a,h,u]),y=i.useCallback(g=>{s?.(d==="composite"&&m?{[m]:g}:g)},[s,d,m]);return o.jsxs(o.Fragment,{children:[k.map(g=>o.jsx(Qe,{feature:g,parentFeatures:r??[],device:n,deviceState:v,onChange:p,onRead:y,featureWrapperClass:c,minimal:f,steps:l?.[g.name]},bt(g))),E&&o.jsx("div",{children:o.jsx(j,{className:`btn btn-primary ${f?"btn-sm":""}`,onClick:b,children:_("common:apply")})})]})}),_t=i.memo(e=>o.jsx(R,{...e}));var ee,Ee;function yt(){if(Ee)return ee;Ee=1;function e(t,a,r){return t===t&&(r!==void 0&&(t=t<=r?t:r),a!==void 0&&(t=t>=a?t:a)),t}return ee=e,ee}var re,Re;function Ct(){if(Re)return re;Re=1;var e=/\s/;function t(a){for(var r=a.length;r--&&e.test(a.charAt(r)););return r}return re=t,re}var te,Ne;function vt(){if(Ne)return te;Ne=1;var e=Ct(),t=/^\s+/;function a(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return te=a,te}var ae,Ae;function jt(){if(Ae)return ae;Ae=1;var e=vt(),t=Kr(),a=Qr(),r=NaN,s=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;function f(l){if(typeof l=="number")return l;if(a(l))return r;if(t(l)){var d=typeof l.valueOf=="function"?l.valueOf():l;l=t(d)?d+"":d}if(typeof l!="string")return l===0?l:+l;l=e(l);var m=n.test(l);return m||u.test(l)?c(l.slice(2),m?2:8):s.test(l)?r:+l}return ae=f,ae}var ne,we;function St(){if(we)return ne;we=1;var e=yt(),t=jt();function a(r,s,n){return n===void 0&&(n=s,s=void 0),n!==void 0&&(n=t(n),n=n===n?n:0),s!==void 0&&(s=t(s),s=s===s?s:0),e(t(r),s,n)}return ne=a,ne}var Tt=St();const T=ie(Tt),kt=[.412453,.35758,.180423,.212671,.71516,.072169,.019334,.119193,.950227],Et=[3.2404813432005266,-1.5371515162713183,-.49853632616888777,-.9692549499965684,1.8759900014898907,.041555926558292815,.05564663913517715,-.20404133836651123,1.0573110696453443],Ue=.42,He=.0031308,ze=12.92,U=.055,G=e=>e<=He?ze*e:(1+U)*e**Ue-U,Rt=1/Ue,Nt=G(He),At=1/ze,se=e=>e<=Nt?e*At:((e+U)/(1+U))**Rt,Le=(e,t)=>{const a=[0,0,0];for(let r=0;r<3;r++){a[r]=0;for(let s=0;s<3;s++)a[r]+=t[r*3+s]*e[s]}return a},Fe=(e,t,a)=>{const r=[se(e),se(t),se(a)];return Le(r,kt)},wt=(e,t,a)=>{const r=Le([e,t,a],Et);return[G(r[0]),G(r[1]),G(r[2])]},Pe=(e,t,a)=>{const r=1-e-t;return wt(a/t*e,a,a/t*r)},We=(e,t,a=10)=>{let r=1;for(let s=0;s<a;s++){const n=Math.max(...Pe(e,t,r));r=r/n}return r},q=(e,t,a)=>{if(e/=255,t/=255,a/=255,e<1e-12&&t<1e-12&&a<1e-12){const[c,f,l]=Fe(1,1,1),d=c+f+l;return[c/d,f/d,0]}const[r,s,n]=Fe(e,t,a),u=r+s+n;return[r/u,s/u,s]},Ft=(e,t,a)=>{a===void 0&&(a=We(e,t));const[r,s,n]=Pe(e,t,a);return[T(r*255,0,255),T(s*255,0,255),T(n*255,0,255)]},I=(e,t,a)=>{e/=255,t/=255,a/=255;const r=Math.max(e,t,a),s=r-Math.min(e,t,a),n=s?(r===e?(t-a)/s+(t<a?6:0):r===t?2+(a-e)/s:4+(e-t)/s)*60:0,u=r?s/r*100:0,c=r*100;return[T(n,0,360),T(u,0,100),T(c,0,100)]},$t=(e,t,a)=>{t/=100,a/=100;const r=~~(e/60),s=e/60-r,n=a*(1-t),u=a*(1-t*s),c=a*(1-t*(1-s)),f=r%6,l=[a,u,n,n,c,a][f]*255,d=[c,a,a,u,n,n][f]*255,m=[n,n,c,a,a,u][f]*255;return[T(l,0,255),T(d,0,255),T(m,0,255)]},B=(e,t,a)=>{const[r,s,n]=[e,t,a].map(u=>Math.round(u).toString(16).padStart(2,"0"));return`#${r}${s}${n}`},qt=e=>(e=e.slice(1),Array.from({length:3}).map((t,a)=>Number.parseInt(e.slice(a*2,a*2+2),16))),N=(e,t)=>{switch(t){case"color_xy":{const{x:a=.313,y:r=.329,Y:s=We(a,r===0?.329:r)}=e,n=r===0?[255,255,255]:Ft(a,r,s);return{color_rgb:n,color_hs:I(...n),color_xy:[a,r,s],hex:B(...n)}}case"color_hs":{const{hue:a=0,saturation:r=0}=e,s=100,n=$t(a,r,s);return{color_rgb:n,color_hs:[a,r,s],color_xy:q(...n),hex:B(...n)}}case"color_rgb":{const{r:a=255,g:r=255,b:s=255}=e;return{color_rgb:[a,r,s],color_hs:I(a,r,s),color_xy:q(a,r,s),hex:B(a,r,s)}}case"hex":{const a=e.hex,r=qt(a);return{color_rgb:r,color_hs:I(...r),color_xy:q(...r),hex:a}}default:{const a=[255,255,255];return{color_rgb:a,color_hs:I(...a),color_xy:q(...a),hex:B(...a)}}}},$e=(e,t)=>{switch(t){case"color_xy":return{x:e.color_xy[0],y:e.color_xy[1]};case"color_hs":return{hue:e.color_hs[0],saturation:e.color_hs[1]};case"color_rgb":return{r:e.color_rgb[0],g:e.color_rgb[1],b:e.color_rgb[2]};case"hex":return{hex:e.hex}}},De=e=>`${e[0].toFixed(3)}, ${e[1].toFixed(3)}, ${e[2].toFixed(3)}`,V=e=>`${e[0].toFixed(2)}°, ${e[1].toFixed(2)}%, ${e[2].toFixed(2)}%`,Xe=e=>`${e[0].toFixed(0)}, ${e[1].toFixed(0)}, ${e[2].toFixed(0)}`,Ke=e=>e,qe=e=>({color_xy:De(e.color_xy),color_hs:V(e.color_hs),color_rgb:Xe(e.color_rgb),hex:Ke(e.hex)}),It=e=>{const t=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((a,r)=>+(t[r]??0))},Bt=e=>{const t=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((a,r)=>T(+(t[r]??0),0,r?100:360))},Mt=e=>{const t=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((a,r)=>T(+(t[r]??0),0,255))},oe=(e,t)=>{switch(t){case"color_xy":{const a=It(e);return N({x:a[0],y:a[1]},"color_xy")}case"color_hs":{const a=Bt(e);return N({hue:a[0],saturation:a[1]},"color_hs")}case"color_rgb":{const a=Mt(e);return N({r:a[0],g:a[1],b:a[2]},"color_rgb")}case"hex":return N({hex:e},"hex")}},Gt="linear-gradient(to right, white, transparent)",Vt="linear-gradient(to right, rgb(255, 0, 0), rgb(255, 255, 0), rgb(0, 255, 0), rgb(0, 255, 255), rgb(0, 0, 255), rgb(255, 0, 255), rgb(255, 0, 0))",M=i.memo(({label:e,...t})=>o.jsxs("label",{className:"input",children:[e,o.jsx("input",{type:"text",className:"grow",...t})]})),Ye=i.memo(e=>{const{onChange:t,value:a={},format:r,minimal:s}=e,[n,u]=i.useState(N(a,r)),[c,f]=i.useState(qe(n)),[l,d]=i.useState({color_rgb:!1,color_hs:!1,color_xy:!1,hex:!1});i.useEffect(()=>{const p=N(a,r);u(p),f(qe(p))},[a,r]),i.useEffect(()=>{if(!l.color_xy){const p=De(n.color_xy);f(b=>({...b,color_xy:p}))}},[l.color_xy,n.color_xy]),i.useEffect(()=>{if(!l.color_hs){const p=V(n.color_hs);f(b=>({...b,color_hs:p}))}},[l.color_hs,n.color_hs]),i.useEffect(()=>{if(!l.color_rgb){const p=Xe(n.color_rgb);f(b=>({...b,color_rgb:p}))}},[l.color_rgb,n.color_rgb]),i.useEffect(()=>{if(!l.hex){const p=Ke(n.hex);f(b=>({...b,hex:p}))}},[l.hex,n.hex]);const m=i.useCallback(p=>{if(p.target.value){const b=Array.from(n.color_hs);b[1]=p.target.valueAsNumber;const y=V(b);f(g=>({...g,color_hs:y})),u(oe(y,"color_hs"))}},[n.color_hs]),h=i.useCallback(p=>{if(p.target.value){const b=Array.from(n.color_hs),y=b[1];b[1]=y===0?100:y,b[0]=p.target.valueAsNumber;const g=V(b);f(Ze=>({...Ze,color_hs:g})),u(oe(g,"color_hs"))}},[n.color_hs]),x=i.useCallback(p=>{const{value:b,name:y}=p.target;f(g=>({...g,[y]:b})),u(oe(b,y))},[]),_=i.useCallback(p=>{d(b=>({...b,[p.target.name]:!0}))},[]),v=i.useCallback(p=>{d(b=>({...b,[p.target.name]:!1})),t($e(n,r))},[n,r,t]),k=i.useCallback(()=>{t($e(n,r))},[n,r,t]),E=i.useMemo(()=>`hsl(${n.color_hs[0]}, 100%, 50%)`,[n.color_hs[0]]);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex flex-row flex-wrap gap-3 items-center",children:o.jsx("div",{className:`w-full${s?" max-w-xs":""}`,children:o.jsx("input",{type:"range",min:0,max:100,value:n.color_hs[1],className:`range [--range-bg:transparent] [--range-fill:0] w-full${s?" range-xs ":""}`,style:{backgroundImage:Gt,backgroundColor:E},onChange:m,onTouchEnd:k,onMouseUp:k})})}),o.jsx("div",{className:"flex flex-row flex-wrap gap-3 items-center",children:o.jsx("div",{className:`w-full${s?" max-w-xs":""}`,children:o.jsx("input",{type:"range",min:0,max:360,value:n.color_hs[0],className:`range [--range-bg:transparent] [--range-fill:0] w-full${s?" range-xs ":""}`,style:{backgroundImage:Vt},onChange:h,onTouchEnd:k,onMouseUp:k})})}),!s&&o.jsxs("div",{className:"flex flex-row flex-wrap gap-2 justify-around",children:[o.jsx(M,{label:"hex",name:"hex",value:c.hex,onChange:x,onFocus:_,onBlur:v}),o.jsx(M,{label:"rgb",name:"color_rgb",value:c.color_rgb,onChange:x,onFocus:_,onBlur:v}),o.jsx(M,{label:"hsv",name:"color_hs",value:c.color_hs,onChange:x,onFocus:_,onBlur:v}),o.jsx(M,{label:"xyY",name:"color_xy",value:c.color_xy,onChange:x,onFocus:_,onBlur:v})]})]})}),Ot=i.memo(e=>{const{deviceValue:t,feature:{name:a,features:r,property:s},onChange:n,minimal:u}=e,c=i.useMemo(()=>{const l={};for(const d of r){const m=Number.parseFloat(t?.[d.name]);l[d.name]=Number.isNaN(m)?0:m}return l},[t,r]),f=i.useCallback(l=>n({[s??"color"]:l}),[s,n]);return o.jsx(Ye,{onChange:f,value:c,format:a,minimal:u})}),Ut={position:[0,25,50,75,100].map(e=>({value:e,name:`${e}`})),tilt:[0,25,50,75,100].map(e=>({value:e,name:`${e}`}))},Ht=i.memo(e=>o.jsx(R,{...e,steps:Ut}));function S(e){return typeof e!="object"}const Je=i.memo(e=>{const{onChange:t,values:a,value:r,minimal:s}=e,{t:n}=A("common"),u=i.useCallback(c=>{const f=a.find(l=>S(l)?l===c.target.value:l.value===Number.parseInt(c.target.value,10));t(f)},[a,t]);return s?o.jsxs("select",{className:"select",onChange:u,value:S(r)?r:r?.value,children:[o.jsx("option",{value:"",disabled:!0,children:n("select_value")}),a.map(c=>o.jsx("option",{value:S(c)?c:c.value,children:S(c)?c:c.name},S(c)?c:c.name))]}):o.jsx("div",{className:"join join-vertical lg:join-horizontal",children:a.map(c=>o.jsx(j,{className:`btn btn-soft btn-sm join-item${(S(c)?c===r:c.value===(S(r)?r:r?.value))?" btn-active":""}`,onClick:f=>t(f),item:S(c)?c:c.value,title:S(c)?`${c}`:c.description,children:S(c)?o.jsx(O,{value:c,name:""}):c.name},S(c)?c:c.name))})}),zt=6,Lt=i.memo(e=>{const{onChange:t,feature:{access:a=C.SET,values:r,property:s},deviceValue:n,minimal:u}=e;return a&C.SET?o.jsx(Je,{onChange:c=>t({[s]:c}),values:r,value:n||"",minimal:u||r.length>zt}):a&C.STATE?o.jsx(F,{...e}):o.jsx($,{...e})}),Pt=i.memo(e=>o.jsx(R,{...e})),Wt=i.memo(e=>{const{minimal:t,onChange:a,feature:{length_min:r,length_max:s,property:n},deviceValue:u}=e,{t:c}=A(["gradient","common"]),[f,l]=i.useState(r>0?Array(r).fill("#ffffff"):[]);i.useEffect(()=>{u&&Array.isArray(u)&&u.length>0&&l(u)},[u]);const d=i.useCallback((p,b)=>{const y=Array.from(f);y[p]=b,l(y)},[f]),m=i.useCallback(()=>{const p=Array.from(f);p.push("#ffffff"),l(p)},[f]),h=i.useCallback(p=>{const b=Array.from(f);b.splice(p,1),l(b)},[f]),x=i.useCallback(()=>a({[n??"gradient"]:f}),[f,n,a]),[_,v]=i.useState(!1),[k,E]=i.useState(!1);return i.useEffect(()=>{v(f.length<s),E(f.length>r)},[f,r,s]),o.jsxs("div",{className:"flex flex-col gap-2",children:[f.map((p,b)=>o.jsxs("div",{className:"flex flex-row flex-wrap gap-2 items-center",children:[o.jsx(Ye,{onChange:y=>{d(b,y.hex)},value:{hex:p},format:"hex",minimal:t}),k&&o.jsx(j,{className:"btn btn-sm btn-error",onClick:()=>h(b),children:"-"})]},`${p}-${b}`)),_&&o.jsx("div",{className:"flex flex-row flex-wrap gap-2",children:o.jsx(j,{className:"btn btn-sm btn-success",onClick:m,children:"+"})}),o.jsx("div",{children:o.jsx(j,{className:`btn btn-primary ${t?"btn-sm":""}`,onClick:x,children:c("common:apply")})})]})}),Dt={brightness:[0,25,50,75,100].map(e=>({value:Yr(e,[0,100],[0,255]),name:`${e}%`})),color_temp:[1e3,2e3,3e3,4e3,5e3,6500].map(e=>({value:1e6/e,name:`${e}K`}))},Xt=i.memo(e=>o.jsx(R,{...e,steps:Dt}));function Kt(e){return e.type==="composite"&&(e.name==="color_xy"||e.name==="color_hs")}const Yt=i.memo(e=>{const{t}=A("zigbee"),{children:a,feature:r,deviceValue:s,onRead:n}=e,u=r.unit,c=i.useMemo(()=>pt(r.name,s,u),[u,r.name,s]),f=i.useMemo(()=>r.property&&r.access&C.GET||Kt(r),[r]),l=e.parentFeatures?.[e.parentFeatures.length-1],d=r.name==="state"?r.property:r.name;let m=r.label||mt(it(d));l?.label&&r.name==="state"&&l.type!=="light"&&l.type!=="switch"&&(m=`${l.label} ${r.label.charAt(0).toLowerCase()}${r.label.slice(1)}`);const h=i.useCallback(x=>{x.property&&n?.({[x.property]:""})},[n]);return o.jsxs("div",{className:"list-row p-3",children:[o.jsx("div",{children:o.jsx(ce,{icon:c[0],fixedWidth:!0,className:c[1],...c[2],size:"2xl"})}),o.jsxs("div",{children:[o.jsxs("div",{title:d,children:[m,r.endpoint?` (${t("endpoint")}: ${r.endpoint})`:""]}),o.jsx("div",{className:"text-xs font-semibold opacity-60",children:r.description})]}),o.jsx("div",{className:"list-col-wrap flex flex-col gap-2",children:a}),f&&o.jsx(j,{item:r,onClick:h,className:"btn btn-xs btn-square btn-primary",children:o.jsx(ce,{icon:Jr})})]})}),Jt=i.memo(e=>{const{onChange:t,value:a,feature:r,parentFeatures:s}=e,[n,u]=i.useState(a);i.useEffect(()=>{u(a)},[a]);const c=i.useCallback(m=>{u(m),t(m)},[t]),f=i.useCallback((m,h)=>{const x=Array.from(n);typeof m=="object"&&(m={...n[h],...m}),x[h]=m,c(x)},[n,c]),l=i.useCallback(m=>{const h=Array.from(n);h.splice(m,1),c(h)},[n,c]),d=i.useCallback(()=>u([...n,{}]),[n]);return n.length===0?o.jsx("div",{className:"flex flex-row flex-wrap gap-2",children:o.jsx(j,{className:"btn btn-success col-1",onClick:d,children:"+"})}):n.map((m,h)=>o.jsxs("div",{className:"flex flex-row flex-wrap gap-2",children:[o.jsx(Qe,{feature:r,device:{},deviceState:m,onChange:x=>f(x,h),onRead:x=>{},featureWrapperClass:Yt,parentFeatures:s}),o.jsxs("div",{className:"join join-vertical lg:join-horizontal",children:[o.jsx(j,{item:h,className:"btn btn-sm btn-error btn-square join-item",onClick:l,children:"-"}),n.length-1===h&&o.jsx(j,{className:"btn btn-sm btn-success btn-square join-item",onClick:d,children:"+"})]})]},h))}),Qt=i.memo(e=>{const{feature:t,minimal:a,parentFeatures:r,onChange:s,deviceValue:n}=e,[u,c]=i.useState({value:t.property?n?.[t.property]??[]:[]}),{t:f}=A(["list","common"]),l=i.useMemo(()=>{if(r!==void 0){if(r.length===1)return!0;if(r.length===2){const _=r[1].type;return _!=null&&_!=="composite"&&_!=="list"}}return!1},[r]),d=i.useCallback(_=>{c({value:_}),l||s(t.property?{[t.property]:_}:_)},[t.property,s,l]),m=i.useCallback(()=>{s(t.property?{[t.property]:u.value}:u.value)},[t.property,s,u.value]),{access:h=C.SET,item_type:x}=t;return h&C.SET?o.jsxs(o.Fragment,{children:[o.jsx(Jt,{feature:x,parentFeatures:[...r,t],onChange:d,value:u.value}),l&&o.jsx("div",{children:o.jsx(j,{className:`btn btn-primary ${a?"btn-sm":""}`,onClick:m,disabled:u.value.length===0,children:f("common:apply")})})]}):h&C.STATE?o.jsx(F,{...e}):o.jsx($,{...e})}),Zt=i.memo(e=>o.jsx(R,{...e})),ea=i.memo(e=>{const{onChange:t,value:a,valueStep:r,min:s,max:n,unit:u,steps:c,minimal:f,...l}=e,[d,m]=i.useState(a),h=s!=null&&n!=null;i.useEffect(()=>{m(a)},[a]);const x=i.useCallback(v=>!!v.target.value&&m(v.target.valueAsNumber),[]),_=i.useCallback(v=>!v.target.validationMessage&&t(d),[d,t]);return o.jsxs("div",{className:"flex flex-row flex-wrap gap-3 items-center",children:[!f&&c?o.jsx(Je,{values:c,onChange:t,value:d}):null,h?o.jsxs("div",{className:"w-full max-w-xs",children:[o.jsx("input",{min:s,max:n,step:r,type:"range",className:"range range-xs range-primary validator",value:d,onChange:x,onTouchEnd:_,onMouseUp:_,...l}),o.jsxs("div",{className:"flex justify-between px-1 mt-1 text-xs",children:[o.jsx("span",{children:s}),f&&o.jsx("span",{children:d}),o.jsx("span",{children:n})]})]}):null,(!f||!h)&&o.jsxs("label",{className:"input",children:[o.jsx("input",{type:"number",className:"grow validator",value:d,step:r,onChange:x,onBlur:_,min:s,max:n,...l}),u]})]})}),ra=i.memo(e=>{const{feature:{presets:t,access:a=C.SET,property:r,unit:s,value_max:n,value_min:u,value_step:c},deviceValue:f,steps:l,onChange:d,minimal:m}=e;return a&C.SET?o.jsx(ea,{onChange:h=>d({[r]:h}),value:f??"",min:u,max:n,step:c,steps:t?.length?t:l,unit:s,minimal:m}):a&C.STATE?o.jsx(F,{...e}):o.jsx($,{...e})}),ta=i.memo(e=>o.jsx(R,{...e})),aa=i.memo(e=>{const{onChange:t,value:a,...r}=e,[s,n]=i.useState(a);return i.useEffect(()=>{n(a)},[a]),o.jsx("input",{type:"text",className:"input validator",value:s,onChange:u=>n(u.target.value),onBlur:u=>!u.target.validationMessage&&t(s),...r})}),na=i.memo(e=>{const{feature:{access:t=C.SET,property:a},deviceValue:r,onChange:s}=e;return t&C.SET?o.jsx(aa,{onChange:n=>s({[a]:n}),value:r??""}):t&C.STATE?o.jsx(F,{...e}):o.jsx($,{...e})}),sa=e=>`${e.type}-${e.name}-${e.label}-${e.access}-${e.category}-${e.property}-${e.endpoint}`,Qe=i.memo(e=>{const{feature:t,device:a,deviceState:r,steps:s,onRead:n,onChange:u,featureWrapperClass:c,minimal:f,parentFeatures:l}=e,d=i.useMemo(()=>t.property?r[t.property]:void 0,[t.property,r[t.property]]),m=i.useMemo(()=>sa(t),[t]),h=i.useMemo(()=>({device:a,deviceValue:d,onChange:u,onRead:n,featureWrapperClass:c,minimal:f,parentFeatures:l}),[a,d,u,n,c,f,l]),x=i.useMemo(()=>({feature:t,onRead:n,deviceValue:d,parentFeatures:l}),[t,n,d,l]);switch(t.type){case"binary":return o.jsx(c,{...x,children:o.jsx(gt,{feature:t,...h},m)},m);case"numeric":return o.jsx(c,{...x,children:o.jsx(ra,{feature:t,...h,steps:s},m)},m);case"list":return t.name==="gradient"&&t.length_min!=null&&t.length_max!=null?o.jsx(c,{...x,children:o.jsx(Wt,{feature:t,...h},m)},m):o.jsx(c,{...x,children:o.jsx(Qt,{feature:t,...h},m)},m);case"text":return o.jsx(c,{...x,children:o.jsx(na,{feature:t,...h},m)},m);case"enum":return o.jsx(c,{...x,children:o.jsx(Lt,{feature:t,...h},m)},m);case"light":return o.jsx(Xt,{feature:t,...h,deviceState:r},m);case"switch":return o.jsx(ta,{feature:t,...h,deviceState:r},m);case"cover":return o.jsx(Ht,{feature:t,...h,deviceState:r},m);case"lock":return o.jsx(Zt,{feature:t,...h,deviceState:r},m);case"climate":return o.jsx(_t,{feature:t,...h,deviceState:r},m);case"fan":return o.jsx(Pt,{feature:t,...h,deviceState:r},m);case"composite":{if(t.name==="color_xy"||t.name==="color_hs")return o.jsx(c,{...x,children:o.jsx(Ot,{feature:t,...h},m)},m);const _=l&&t.property?r[t.property]:r;return o.jsx(R,{feature:t,...h,deviceState:_},m)}default:return console.error("Unsupported feature",t),o.jsx(c,{...x,children:o.jsx("pre",{children:JSON.stringify(t,null,4)})},m)}});export{Qe as F,Yt as a,C as b,pt as c,it as d,bt as g,mt as s};
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1 +0,0 @@
1
- ���R��eJ�ӿcM�'ѱ*�~�������xey�y:Ƞ�9�S�!�ok��7��H�dKw���pC�?(����z�Xm\ء���r�w�p,�g�����b��@�{��������ct��؉����÷*a�/�EE������3[$m�����X����S���8��7(&�i��wrܞ��B��P���C/��v��7���?�02(�|sA�d:8<<�|�����i
Binary file
Binary file
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{r as d,b as j,j as t,F as o,bL as g,bI as E,bM as B,bm as P,bC as f,bD as k,bE as w,bF as F,bw as m}from"./index-C1gKvOQY.js";import{s as y}from"./snakeCase-BPEk2aWA.js";const L=d.memo(x=>{const{device:u,batteryPercent:a,batteryState:b,batteryLow:c,showLevel:h,...i}=x,{t:l}=j("zigbee");let s;switch(u?.power_source&&(s=u.power_source),s){case"Battery":{let p=l("battery"),r="",e=f,n=!1;if(a!=null)r=`${a}%`,a>=85?e=f:a>=65?e=k:a>=40?e=w:a>=20?e=F:(e=m,n=!0);else if(b!=null)switch(r=b,b){case"high":e=f;break;case"medium":e=w;break;case"low":e=m,n=!0;break}else c!=null&&(r=c?"low":"ok",e=c?m:f);return c===!0&&(n=!0),r!==""&&(p+=`, ${l("power_level")}: ${r}`),t.jsxs("span",{className:n?"text-error":"",children:[t.jsx(o,{icon:e,fade:n,title:p,...i}),h&&t.jsx("span",{className:"ps-2",children:r})]})}case"Mains (single phase)":case"Mains (3 phase)":case"DC Source":return t.jsx(o,{icon:P,title:l(y(s)),...i});case"Emergency mains and transfer switch":case"Emergency mains constantly powered":return t.jsx(o,{icon:B,title:l(y(s)),...i});default:return u?.type==="GreenPower"?t.jsx(o,{icon:g,title:"Green",...i}):t.jsx(o,{icon:E,title:s?l(y(s)):void 0,...i})}});export{L as P};
@@ -1 +0,0 @@
1
- import{ag as y,r,b as S,W as N,j as a,B as k,R as C}from"./index-C1gKvOQY.js";import{D as E}from"./DashboardFeatureWrapper-2XgC0Vbu.js";import{b as v,F as R,g as T}from"./Feature-BhPmnoZF.js";import{I as g}from"./InputField-DXwsrdm2.js";import{S as I}from"./SelectField-BiRFHt2I.js";function A(s){if(y(s)){const e=[];for(const o in s.endpoints){const t=s.endpoints[o];for(const i of t.scenes)e.push({...i})}return e}return s.scenes}const M=["schedule_","_mode","_options","_startup","_type","inching_"],L=["effect"],D=["state","color_temp","color","transition","brightness"],j=(s,e)=>{if(s){if(D.includes(s))return!0;for(const o of M)if(s.includes(o))return!1;if(L.includes(s))return!1}return e===v.ALL||e===v.SET||e===v.STATE_SET};function F(s,e={}){const{property:o,name:t,access:i}=s;if("features"in s&&s.features&&s.features.length>0){const n=[],d=o?e[o]:e;for(const m of s.features){const l=F(m,d);l&&!n.some(u=>u.property===l.property)&&n.push(l)}return n.length>0||j(t,i)?{...s,features:n}:void 0}return j(t,i)?{...s}:void 0}const P=r.memo(s=>{const{target:e,deviceState:o}=s,{t}=S("scene"),{sendMessage:i}=r.useContext(N),[n,d]=r.useState(0),[m,l]=r.useState(""),u=r.useMemo(()=>A(e),[e]),f=r.useMemo(()=>{const c=[];if(y(e))for(const h of e.definition?.exposes??[]){const x=F(h,o);x&&c.push(x)}return c},[e,o]),_=r.useCallback(async c=>{await i(`${e.friendly_name}/set`,c)},[i,e]),b=r.useCallback(async()=>{const c={ID:n,name:m||`Scene ${n}`};await i(`${e.friendly_name}/set`,{scene_store:c})},[i,e,n,m]),p=r.useMemo(()=>n>=0&&n<=255&&!u.find(c=>c.id===n),[n,u]);return a.jsxs(a.Fragment,{children:[a.jsx("h2",{className:"text-lg font-semibold",children:t("add_update_header")}),a.jsxs("div",{className:"mb-3",children:[a.jsx(g,{name:"scene_id",label:t("scene_id"),type:"number",value:n,onChange:c=>!!c.target.value&&d(c.target.valueAsNumber),min:0,max:255}),a.jsx(g,{name:"scene_name",label:t("scene_name"),type:"text",value:m,placeholder:`Scene ${n}`,onChange:c=>l(c.target.value)}),f.length>0&&a.jsx("div",{className:"card card-border bg-base-200 shadow my-2",children:a.jsx("div",{className:"card-body",children:f.map(c=>a.jsx(R,{feature:c,device:e,deviceState:o,onChange:_,featureWrapperClass:E,minimal:!0,parentFeatures:[]},T(c)))})})]}),a.jsx(k,{disabled:!p,onClick:b,className:"btn btn-primary",children:t("store")})]})}),$=r.memo(s=>{const{t:e}=S("scene"),{onSceneSelected:o,scenes:t=[],value:i}=s;return t.length>0?a.jsxs(I,{name:"scene_picker",label:e("scene_name"),value:i?.id??"",onChange:n=>!n.target.validationMessage&&!!n.target.value&&o(Number.parseInt(n.target.value,10)),children:[a.jsx("option",{value:"",disabled:!0,children:e("select_scene")}),t.map(n=>a.jsxs("option",{value:n.id,children:[n.id,": ",n.name]},n.id))]}):a.jsx(g,{name:"scene_picker",label:e("scene_id"),type:"number",value:i?.id??"",onChange:n=>!n.target.validationMessage&&!!n.target.value&&o(n.target.valueAsNumber),min:0,max:255})}),V=r.memo(s=>{const{target:e}=s,{sendMessage:o}=r.useContext(N),{t}=S(["scene","common"]),[i,n]=r.useState({id:0,name:"Scene 0"}),[d,m]=r.useState(!0),l=r.useMemo(()=>A(e),[e]),u=r.useCallback(p=>{m(!1);const c=l.find(h=>h.id===p);n(c!==void 0?c:{id:p,name:`Scene ${p}`})},[l]),f=r.useCallback(async()=>await o(`${e.friendly_name}/set`,{scene_recall:i.id}),[o,e.friendly_name,i.id]),_=r.useCallback(async()=>await o(`${e.friendly_name}/set`,{scene_remove:i.id}),[o,e.friendly_name,i.id]),b=r.useCallback(async()=>await o(`${e.friendly_name}/set`,{scene_remove_all:""}),[o,e.friendly_name]);return a.jsxs(a.Fragment,{children:[a.jsx("h2",{className:"text-lg font-semibold",children:t("manage_scenes_header")}),a.jsx("div",{className:"mb-3",children:a.jsx($,{onSceneSelected:u,value:d?void 0:i,scenes:l})}),a.jsxs("div",{className:"join join-horizontal",children:[a.jsx(k,{disabled:d,onClick:f,className:"btn btn-success join-item",children:t("recall")}),a.jsx(C,{disabled:d,onClick:_,className:"btn btn-error join-item",title:t("remove"),modalDescription:t("common:dialog_confirmation_prompt"),modalCancelLabel:t("common:cancel"),children:t("remove")}),a.jsx(C,{onClick:b,className:"btn btn-error btn-outline join-item",title:t("remove_all"),modalDescription:t("common:dialog_confirmation_prompt"),modalCancelLabel:t("common:cancel"),children:t("remove_all")})]})]})});export{P as A,V as R,F as g};
@@ -1 +0,0 @@
1
- import{a,j as e}from"./index-C1gKvOQY.js";import{A as s,R as m}from"./RecallRemove-D_Wf53dt.js";import"./envs-DFlyG_dH.js";import"./DashboardFeatureWrapper-2XgC0Vbu.js";import"./Feature-BhPmnoZF.js";import"./DisplayValue-CThy0Fna.js";import"./_createCompounder-EtfNZAeu.js";import"./InputField-DXwsrdm2.js";import"./SelectField-BiRFHt2I.js";function j(t){const i=a(r=>r.deviceStates[t.device.friendly_name]??{});return e.jsxs("div",{className:"flex flex-row flex-wrap justify-around items-start gap-3 my-2",children:[e.jsx("div",{children:e.jsx(s,{target:t.device,deviceState:i})}),e.jsx("div",{children:e.jsx(m,{target:t.device,deviceState:i})})]})}export{j as default};
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,3 +0,0 @@
1
- y@dQ�����J����9ƀF`�@7Ӏ
2
- Mq�e�ƶl��a`���_�}w=njk�g��>��:>W�U?[Y�-�|�Oʯ{����‡u����k�(��ԨI�F��,�+쇮�� � ��F�}�M��@:λ=�Ap�)>ާ�/\$80 ��
3
- b����u��>�����}���T6O9^�ܧx>���_V~��ޒ���|"����CB��HT~Y�i�����E��w��+
@@ -1 +0,0 @@
1
-  e�m��D�s�/F�F=�F==p�����,
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{af as u}from"./index-C1gKvOQY.js";import{a as C}from"./_createCompounder-EtfNZAeu.js";var e,r;function i(){if(r)return e;r=1;var a=C(),s=a(function(o,n,t){return o+(t?"_":"")+n.toLowerCase()});return e=s,e}var f=i();const k=u(f);export{k as s};