zigbee2mqtt-windfront 1.3.0 → 1.4.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 (204) hide show
  1. package/dist/assets/About-CsN4GzvF.js +1 -0
  2. package/dist/assets/About-CsN4GzvF.js.br +0 -0
  3. package/dist/assets/{Availability-CGAWml3l.js → Availability-DxRGSmh6.js} +1 -1
  4. package/dist/assets/Availability-DxRGSmh6.js.br +0 -0
  5. package/dist/assets/{Bind-vE7zlFIT.js → Bind-D5soDk_7.js} +1 -1
  6. package/dist/assets/Bind-D5soDk_7.js.br +0 -0
  7. package/dist/assets/{Bridge-PZYcbf0O.js → Bridge-uKtdZHp4.js} +1 -1
  8. package/dist/assets/Bridge-uKtdZHp4.js.br +0 -0
  9. package/dist/assets/{CheckboxField-CKgIp8a8.js → CheckboxField-B0ZAooGT.js} +1 -1
  10. package/dist/assets/CheckboxField-B0ZAooGT.js.br +0 -0
  11. package/dist/assets/{ClusterSinglePicker-9espeMwv.js → ClusterSinglePicker-Cz6fnglh.js} +1 -1
  12. package/dist/assets/ClusterSinglePicker-Cz6fnglh.js.br +0 -0
  13. package/dist/assets/{Clusters-qjfQFe32.js → Clusters-BnHOJn4e.js} +1 -1
  14. package/dist/assets/Clusters-BnHOJn4e.js.br +0 -0
  15. package/dist/assets/Dashboard-CPU9Dlfq.js +1 -0
  16. package/dist/assets/Dashboard-CPU9Dlfq.js.br +0 -0
  17. package/dist/assets/{DashboardFeatureWrapper-2XgC0Vbu.js → DashboardFeatureWrapper-CvTRlO7L.js} +1 -1
  18. package/dist/assets/DashboardFeatureWrapper-CvTRlO7L.js.br +0 -0
  19. package/dist/assets/{DebouncedInput-xxDjw8fK.js → DebouncedInput-CQn1amHY.js} +1 -1
  20. package/dist/assets/DebouncedInput-CQn1amHY.js.br +0 -0
  21. package/dist/assets/{DevConsole-c4Go_5Cx.js → DevConsole-BMsuo5jq.js} +1 -1
  22. package/dist/assets/DevConsole-BMsuo5jq.js.br +0 -0
  23. package/dist/assets/{DevConsole-BwmfFlaa.js → DevConsole-CjMvBn3F.js} +1 -1
  24. package/dist/assets/DevConsole-CjMvBn3F.js.br +0 -0
  25. package/dist/assets/{DeviceCard-Dn-YPJeh.js → DeviceCard-CqjKMuGs.js} +1 -1
  26. package/dist/assets/DeviceCard-CqjKMuGs.js.br +0 -0
  27. package/dist/assets/{DeviceControlEditName-Cib2zvRH.js → DeviceControlEditName-BwoBZKij.js} +1 -1
  28. package/dist/assets/DeviceControlEditName-BwoBZKij.js.br +0 -0
  29. package/dist/assets/{DeviceImage-Cbh-Uae_.js → DeviceImage-D1eMVw0z.js} +1 -1
  30. package/dist/assets/DeviceImage-D1eMVw0z.js.br +0 -0
  31. package/dist/assets/{DeviceInfo-CtFO_0zq.js → DeviceInfo-DHlCOKM3.js} +1 -1
  32. package/dist/assets/DeviceInfo-DHlCOKM3.js.br +0 -0
  33. package/dist/assets/{DevicePage-CL6QW70V.js → DevicePage-B2tXPfXy.js} +2 -2
  34. package/dist/assets/DevicePage-B2tXPfXy.js.br +0 -0
  35. package/dist/assets/{DevicePicker-B8wvglJO.js → DevicePicker-BSj7s6Os.js} +1 -1
  36. package/dist/assets/DevicePicker-BSj7s6Os.js.br +0 -0
  37. package/dist/assets/{DeviceSettings-cyraV-PD.js → DeviceSettings-BI4caBIt.js} +1 -1
  38. package/dist/assets/DeviceSettings-BI4caBIt.js.br +0 -0
  39. package/dist/assets/{DeviceSpecificSettings-DG-B0QXU.js → DeviceSpecificSettings-DKENaBOD.js} +1 -1
  40. package/dist/assets/DeviceSpecificSettings-DKENaBOD.js.br +0 -0
  41. package/dist/assets/{Devices-CCdlvPKX.js → Devices-CNUs_WDM.js} +1 -1
  42. package/dist/assets/Devices-CNUs_WDM.js.br +0 -0
  43. package/dist/assets/{DevicesPage-B_ORU6zT.js → DevicesPage-CltsJHhz.js} +1 -1
  44. package/dist/assets/DevicesPage-CltsJHhz.js.br +0 -0
  45. package/dist/assets/{DisplayValue-CThy0Fna.js → DisplayValue-DF3KVUYK.js} +1 -1
  46. package/dist/assets/DisplayValue-DF3KVUYK.js.br +0 -0
  47. package/dist/assets/{Donate-ChPkbQIQ.js → Donate-J54tmjMR.js} +1 -1
  48. package/dist/assets/Donate-J54tmjMR.js.br +0 -0
  49. package/dist/assets/{EndpointPicker-C6ej_jn-.js → EndpointPicker-QBnwwpG7.js} +1 -1
  50. package/dist/assets/EndpointPicker-QBnwwpG7.js.br +2 -0
  51. package/dist/assets/{Exposes-DGppzhCM.js → Exposes-DB1nUv-y.js} +1 -1
  52. package/dist/assets/Exposes-DB1nUv-y.js.br +2 -0
  53. package/dist/assets/Feature-DXpEIH6i.js +1 -0
  54. package/dist/assets/Feature-DXpEIH6i.js.br +0 -0
  55. package/dist/assets/{Frontend-LOSYcYD-.js → Frontend-DbI75_sQ.js} +1 -1
  56. package/dist/assets/Frontend-DbI75_sQ.js.br +0 -0
  57. package/dist/assets/{GroupPage-CgDVJI3N.js → GroupPage-C-uGQ967.js} +2 -2
  58. package/dist/assets/GroupPage-C-uGQ967.js.br +0 -0
  59. package/dist/assets/{GroupSettings-DpkTM-Xz.js → GroupSettings-BrVKINoM.js} +1 -1
  60. package/dist/assets/GroupSettings-BrVKINoM.js.br +0 -0
  61. package/dist/assets/{Groups-6SwxNIoO.js → Groups-CwWwtqiu.js} +1 -1
  62. package/dist/assets/Groups-CwWwtqiu.js.br +0 -0
  63. package/dist/assets/{GroupsPage-BjOIYU5x.js → GroupsPage-DfLXjejW.js} +1 -1
  64. package/dist/assets/GroupsPage-DfLXjejW.js.br +0 -0
  65. package/dist/assets/{Health-R4q8Sk9W.js → Health-BHwQBdn9.js} +1 -1
  66. package/dist/assets/Health-BHwQBdn9.js.br +0 -0
  67. package/dist/assets/{HomePage-MR57BFif.js → HomePage-DAbwX6AM.js} +1 -1
  68. package/dist/assets/HomePage-DAbwX6AM.js.br +0 -0
  69. package/dist/assets/{InputField-DXwsrdm2.js → InputField-DwVHyBbK.js} +1 -1
  70. package/dist/assets/InputField-DwVHyBbK.js.br +0 -0
  71. package/dist/assets/{LastSeen-Y67K4Fqv.js → LastSeen-Dzc_PuKE.js} +1 -1
  72. package/dist/assets/LastSeen-Dzc_PuKE.js.br +0 -0
  73. package/dist/assets/{LogsPage-Cld3pboD.js → LogsPage-DzlWQ0Qw.js} +1 -1
  74. package/dist/assets/LogsPage-DzlWQ0Qw.js.br +0 -0
  75. package/dist/assets/{Lqi-CH0xJyhG.js → Lqi-YSPJvreQ.js} +1 -1
  76. package/dist/assets/Lqi-YSPJvreQ.js.br +0 -0
  77. package/dist/assets/{NetworkPage-BV0-BL18.js → NetworkPage-BeS7YkCJ.js} +2 -2
  78. package/dist/assets/NetworkPage-BeS7YkCJ.js.br +0 -0
  79. package/dist/assets/{NumberField-BELYPu7B.js → NumberField-BGsY1mZs.js} +1 -1
  80. package/dist/assets/NumberField-BGsY1mZs.js.br +0 -0
  81. package/dist/assets/OtaPage-BCVRElfT.js +1 -0
  82. package/dist/assets/OtaPage-BCVRElfT.js.br +0 -0
  83. package/dist/assets/PowerSource-o1vFxO_3.js +1 -0
  84. package/dist/assets/PowerSource-o1vFxO_3.js.br +0 -0
  85. package/dist/assets/{RawNetworkData-KimVYxDA.js → RawNetworkData-CeSDwrpo.js} +1 -1
  86. package/dist/assets/RawNetworkData-CeSDwrpo.js.br +0 -0
  87. package/dist/assets/{RawNetworkMap-g31InUyr.js → RawNetworkMap-CGARBCHA.js} +26 -26
  88. package/dist/assets/RawNetworkMap-CGARBCHA.js.br +0 -0
  89. package/dist/assets/RecallRemove-qhHT3b6Y.js +1 -0
  90. package/dist/assets/RecallRemove-qhHT3b6Y.js.br +0 -0
  91. package/dist/assets/{Reporting-CivFNA3N.js → Reporting-qquUW4HQ.js} +1 -1
  92. package/dist/assets/Reporting-qquUW4HQ.js.br +0 -0
  93. package/dist/assets/Scene-CoCPIiDa.js +1 -0
  94. package/dist/assets/Scene-CoCPIiDa.js.br +0 -0
  95. package/dist/assets/{SelectField-BiRFHt2I.js → SelectField-DsBhV18y.js} +1 -1
  96. package/dist/assets/SelectField-DsBhV18y.js.br +0 -0
  97. package/dist/assets/{Settings-Dsglzgx-.js → Settings-4wju5kjK.js} +1 -1
  98. package/dist/assets/Settings-4wju5kjK.js.br +0 -0
  99. package/dist/assets/{SettingsList-BkAg1hoT.js → SettingsList-BA676BSd.js} +1 -1
  100. package/dist/assets/SettingsList-BA676BSd.js.br +0 -0
  101. package/dist/assets/{SettingsPage-B0fphXWV.js → SettingsPage-Cg3VXcPX.js} +2 -2
  102. package/dist/assets/SettingsPage-Cg3VXcPX.js.br +0 -0
  103. package/dist/assets/{State-DleJA1Ta.js → State-CDxVFhly.js} +1 -1
  104. package/dist/assets/State-CDxVFhly.js.br +0 -0
  105. package/dist/assets/{Table-CVp4F28v.js → Table-CCXyChbm.js} +1 -1
  106. package/dist/assets/Table-CCXyChbm.js.br +0 -0
  107. package/dist/assets/{TextareaField-DAJIKD73.js → TextareaField-CKk5rFN-.js} +1 -1
  108. package/dist/assets/TextareaField-CKk5rFN-.js.br +0 -0
  109. package/dist/assets/{Tools-DQ8GQ7z9.js → Tools-B-tYRgCW.js} +1 -1
  110. package/dist/assets/Tools-B-tYRgCW.js.br +0 -0
  111. package/dist/assets/{TouchlinkPage-B_a_dvf1.js → TouchlinkPage-Cq33rQxG.js} +1 -1
  112. package/dist/assets/TouchlinkPage-Cq33rQxG.js.br +0 -0
  113. package/dist/assets/{VendorLink-DTNZMMP5.js → VendorLink-BDajakAs.js} +1 -1
  114. package/dist/assets/VendorLink-BDajakAs.js.br +0 -0
  115. package/dist/assets/{_createCompounder-EtfNZAeu.js → _createCompounder-D8WZ6ZEG.js} +1 -1
  116. package/dist/assets/_createCompounder-D8WZ6ZEG.js.br +0 -0
  117. package/dist/assets/{format-DKj-n12h.js → format-t-kPiPTm.js} +1 -1
  118. package/dist/assets/format-t-kPiPTm.js.br +2 -0
  119. package/dist/assets/index-DgPAmC_w.js +644 -0
  120. package/dist/assets/index-DgPAmC_w.js.br +0 -0
  121. package/dist/assets/{index-BEfVjKh5.js → index-DrTwaLT5.js} +1 -1
  122. package/dist/assets/index-DrTwaLT5.js.br +2 -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-szgaw0VD.js} +1 -1
  126. package/dist/assets/jszip.min-szgaw0VD.js.br +0 -0
  127. package/dist/assets/snakeCase-qp4IAc5c.js +1 -0
  128. package/dist/assets/snakeCase-qp4IAc5c.js.br +0 -0
  129. package/dist/index.html +2 -2
  130. package/dist/index.html.br +0 -0
  131. package/package.json +7 -7
  132. package/dist/assets/About-BFY7urtC.js +0 -1
  133. package/dist/assets/About-BFY7urtC.js.br +0 -0
  134. package/dist/assets/Availability-CGAWml3l.js.br +0 -0
  135. package/dist/assets/Bind-vE7zlFIT.js.br +0 -0
  136. package/dist/assets/Bridge-PZYcbf0O.js.br +0 -1
  137. package/dist/assets/CheckboxField-CKgIp8a8.js.br +0 -0
  138. package/dist/assets/ClusterSinglePicker-9espeMwv.js.br +0 -0
  139. package/dist/assets/Clusters-qjfQFe32.js.br +0 -0
  140. package/dist/assets/Dashboard-C6eKkVo2.js +0 -1
  141. package/dist/assets/Dashboard-C6eKkVo2.js.br +0 -0
  142. package/dist/assets/DashboardFeatureWrapper-2XgC0Vbu.js.br +0 -0
  143. package/dist/assets/DebouncedInput-xxDjw8fK.js.br +0 -0
  144. package/dist/assets/DevConsole-BwmfFlaa.js.br +0 -0
  145. package/dist/assets/DevConsole-c4Go_5Cx.js.br +0 -0
  146. package/dist/assets/DeviceCard-Dn-YPJeh.js.br +0 -0
  147. package/dist/assets/DeviceControlEditName-Cib2zvRH.js.br +0 -0
  148. package/dist/assets/DeviceImage-Cbh-Uae_.js.br +0 -0
  149. package/dist/assets/DeviceInfo-CtFO_0zq.js.br +0 -0
  150. package/dist/assets/DevicePage-CL6QW70V.js.br +0 -0
  151. package/dist/assets/DevicePicker-B8wvglJO.js.br +0 -0
  152. package/dist/assets/DeviceSettings-cyraV-PD.js.br +0 -0
  153. package/dist/assets/DeviceSpecificSettings-DG-B0QXU.js.br +0 -0
  154. package/dist/assets/Devices-CCdlvPKX.js.br +0 -0
  155. package/dist/assets/DevicesPage-B_ORU6zT.js.br +0 -0
  156. package/dist/assets/DisplayValue-CThy0Fna.js.br +0 -0
  157. package/dist/assets/Donate-ChPkbQIQ.js.br +0 -0
  158. package/dist/assets/EndpointPicker-C6ej_jn-.js.br +0 -0
  159. package/dist/assets/Exposes-DGppzhCM.js.br +0 -0
  160. package/dist/assets/Feature-BhPmnoZF.js +0 -1
  161. package/dist/assets/Feature-BhPmnoZF.js.br +0 -0
  162. package/dist/assets/Frontend-LOSYcYD-.js.br +0 -0
  163. package/dist/assets/GroupPage-CgDVJI3N.js.br +0 -0
  164. package/dist/assets/GroupSettings-DpkTM-Xz.js.br +0 -0
  165. package/dist/assets/Groups-6SwxNIoO.js.br +0 -0
  166. package/dist/assets/GroupsPage-BjOIYU5x.js.br +0 -0
  167. package/dist/assets/Health-R4q8Sk9W.js.br +0 -0
  168. package/dist/assets/HomePage-MR57BFif.js.br +0 -0
  169. package/dist/assets/InputField-DXwsrdm2.js.br +0 -1
  170. package/dist/assets/LastSeen-Y67K4Fqv.js.br +0 -0
  171. package/dist/assets/LogsPage-Cld3pboD.js.br +0 -0
  172. package/dist/assets/Lqi-CH0xJyhG.js.br +0 -0
  173. package/dist/assets/NetworkPage-BV0-BL18.js.br +0 -0
  174. package/dist/assets/NumberField-BELYPu7B.js.br +0 -0
  175. package/dist/assets/OtaPage-DIuJii1H.js +0 -1
  176. package/dist/assets/OtaPage-DIuJii1H.js.br +0 -0
  177. package/dist/assets/PowerSource-CpboKkXb.js +0 -1
  178. package/dist/assets/PowerSource-CpboKkXb.js.br +0 -0
  179. package/dist/assets/RawNetworkData-KimVYxDA.js.br +0 -0
  180. package/dist/assets/RawNetworkMap-g31InUyr.js.br +0 -0
  181. package/dist/assets/RecallRemove-D_Wf53dt.js +0 -1
  182. package/dist/assets/RecallRemove-D_Wf53dt.js.br +0 -0
  183. package/dist/assets/Reporting-CivFNA3N.js.br +0 -0
  184. package/dist/assets/Scene-DzbrrQhW.js +0 -1
  185. package/dist/assets/Scene-DzbrrQhW.js.br +0 -0
  186. package/dist/assets/SelectField-BiRFHt2I.js.br +0 -0
  187. package/dist/assets/Settings-Dsglzgx-.js.br +0 -0
  188. package/dist/assets/SettingsList-BkAg1hoT.js.br +0 -0
  189. package/dist/assets/SettingsPage-B0fphXWV.js.br +0 -0
  190. package/dist/assets/State-DleJA1Ta.js.br +0 -0
  191. package/dist/assets/Table-CVp4F28v.js.br +0 -0
  192. package/dist/assets/TextareaField-DAJIKD73.js.br +0 -0
  193. package/dist/assets/Tools-DQ8GQ7z9.js.br +0 -0
  194. package/dist/assets/TouchlinkPage-B_a_dvf1.js.br +0 -0
  195. package/dist/assets/VendorLink-DTNZMMP5.js.br +0 -0
  196. package/dist/assets/_createCompounder-EtfNZAeu.js.br +0 -0
  197. package/dist/assets/format-DKj-n12h.js.br +0 -3
  198. package/dist/assets/index-BEfVjKh5.js.br +0 -1
  199. package/dist/assets/index-C1gKvOQY.js +0 -635
  200. package/dist/assets/index-C1gKvOQY.js.br +0 -0
  201. package/dist/assets/index-C5jxp7BF.css.br +0 -0
  202. package/dist/assets/jszip.min-BfmyMf_j.js.br +0 -0
  203. package/dist/assets/snakeCase-BPEk2aWA.js +0 -1
  204. package/dist/assets/snakeCase-BPEk2aWA.js.br +0 -0
@@ -0,0 +1 @@
1
+ import{af as ie,aS as er,aT as rr,aU as tr,aV as ar,l as nr,aW as sr,aX as or,aY as cr,aZ as ir,a_ as lr,aK as le,a$ as ue,b0 as ur,b1 as mr,b2 as fr,b3 as hr,b4 as dr,b5 as xr,b6 as me,b7 as pr,b8 as fe,b9 as br,ba as gr,bb as H,bc as he,bd as de,a1 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 Gr,bx as w,aM as Vr,by as xe,bz as Or,bA as Ur,bB as Hr,bC as Lr,bD as Ie,bE as zr,bF as Be,bG as Pr,bH as Wr,bI as Dr,bJ as Xr,r as i,j as o,b as A,B as j,F as ce,bK as Kr,at as Yr,bL as Jr,bM as Qr,K as Zr}from"./index-DgPAmC_w.js";import{D as O}from"./DisplayValue-DF3KVUYK.js";import{r as Me,a as Ge,b as et}from"./_createCompounder-D8WZ6ZEG.js";var L,pe;function rt(){if(pe)return L;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 L=e,L}var z,be;function tt(){if(be)return z;be=1;var e=rt();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 z=t,z}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 at(){if(_e)return W;_e=1;function e(t){return t.split("")}return W=e,W}var D,ye;function nt(){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 st(){if(Ce)return X;Ce=1;var e=at(),t=Ve(),a=nt();function r(s){return t(s)?a(s):e(s)}return X=r,X}var K,ve;function ot(){if(ve)return K;ve=1;var e=tt(),t=Ve(),a=st(),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=ot(),t=e("toUpperCase");return Y=t,Y}var J,Se;function ct(){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 it(){if(Te)return Q;Te=1;var e=ct(),t=Ge(),a=t(function(r,s,n){return s=s.toLowerCase(),r+(n?e(s):s)});return Q=a,Q}var lt=it();const ut=ie(lt);var Z,ke;function mt(){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 ft=mt();const ht=ie(ft),dt={battery_low:w,humidity:Gr,illuminance:H,pressure:Mr,co2:Br,voltage:Ir,state:qr,brightness:H,occupancy:$r,presence:Fr,current:wr,power:Ar,energy:Nr,frequency:Rr,tamper:Er,smoke:kr,radiation_dose_per_hour:Tr,radioactive_events_per_minute:Sr,power_factor:jr,mode:vr,sound:Cr,position:yr,alarm:_r,color_xy:de,color_hs:de,color_temp:he,color_temp_startup:he,illuminance_lux:H,soil_moisture:gr,water_leak:me,week:br,workdays_schedule:fe,holidays_schedule:fe,away_mode:pr,vibration:me,power_outage_count:xr,action:dr,angle_x:hr,angle_y:fr,angle_z:mr,side:ur,humidity_alarm:ue,temperature_alarm:ue,approach_distance:le,distance:le,trigger_count:lr,level_config:ir,station:cr,effect:or,linkquality:sr,system_mode:nr,gradient:ar,sensitivity:tr,test:rr,flow:er},xt=(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=Pr:(a=w,t.push("text-error"))),a},pt=(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},bt=(e,t,a)=>{let r=xe;return e==null||(t==="°F"&&(e=(e-32)/1.8),e>=30?(r=Or,a.push("text-error")):e>=25?r=Ur:e>=20?r=Hr:e>=15?r=Lr:e<5&&(r=xe,a.push("text-info"))),r},gt=(e,t,a)=>{let r;const s=[],n={};switch(e){case"battery":{r=xt(t,s);break}case"battery_state":{r=pt(t,s);break}case"battery_low":{t&&s.push("text-error");break}case"device_temperature":case"temperature":case"local_temperature":{r=bt(t,a,s);break}case"humidity":{t!=null&&t>60&&s.push("text-info");break}case"contact":{r=t?Dr:Xr,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}default:{e.includes("cyclic")&&(r=Wr);break}}return r?[r,s.join(" "),n]:(r=dt[e],r?[r,s.join(" "),n]:[Vr,"opacity-0",{}])},_t=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})]})),yt=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:Kr,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(()=>Yr({},u,h),[u,h]),k="features"in t&&t.features||[],E=i.useMemo(()=>{if(d==="composite"&&r!==void 0){if(r.length===0)return!0;if(r.length===1){const g=r[0].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]},_t(g))),E&&o.jsx("div",{className:"self-end float-right",children:o.jsx(j,{className:`btn btn-primary ${f?"btn-sm":""}`,onClick:b,children:_("common:apply")})})]})}),Ct=i.memo(e=>o.jsx(R,{...e}));var ee,Ee;function vt(){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 jt(){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 St(){if(Ne)return te;Ne=1;var e=jt(),t=/^\s+/;function a(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return te=a,te}var ae,Ae;function Tt(){if(Ae)return ae;Ae=1;var e=St(),t=Jr(),a=et(),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 kt(){if(we)return ne;we=1;var e=vt(),t=Tt();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 Et=kt();const T=ie(Et),Rt=[.412453,.35758,.180423,.212671,.71516,.072169,.019334,.119193,.950227],Nt=[3.2404813432005266,-1.5371515162713183,-.49853632616888777,-.9692549499965684,1.8759900014898907,.041555926558292815,.05564663913517715,-.20404133836651123,1.0573110696453443],Ue=.42,He=.0031308,Le=12.92,U=.055,G=e=>e<=He?Le*e:(1+U)*e**Ue-U,At=1/Ue,wt=G(He),Ft=1/Le,se=e=>e<=wt?e*Ft:((e+U)/(1+U))**At,ze=(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 ze(r,Rt)},$t=(e,t,a)=>{const r=ze([e,t,a],Nt);return[G(r[0]),G(r[1]),G(r[2])]},Pe=(e,t,a)=>{const r=1-e-t;return $t(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]},qt=(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)]},It=(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}`},Bt=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]:qt(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=It(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=Bt(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)}),Mt=e=>{const t=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((a,r)=>+(t[r]??0))},Gt=e=>{const t=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((a,r)=>T(+(t[r]??0),0,r?100:360))},Vt=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=Mt(e);return N({x:a[0],y:a[1]},"color_xy")}case"color_hs":{const a=Gt(e);return N({hue:a[0],saturation:a[1]},"color_hs")}case"color_rgb":{const a=Vt(e);return N({r:a[0],g:a[1],b:a[2]},"color_rgb")}case"hex":return N({hex:e},"hex")}},Ot="linear-gradient(to right, white, transparent)",Ut="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:Ot,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:Ut},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})]})]})}),Ht=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})}),Lt={position:[0,25,50,75,100].map(e=>({value:e,name:`${e}`})),tilt:[0,25,50,75,100].map(e=>({value:e,name:`${e}`}))},zt=i.memo(e=>o.jsx(R,{...e,steps:Lt}));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))})}),Pt=6,Wt=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>Pt}):a&C.STATE?o.jsx(F,{...e}):o.jsx($,{...e})}),Dt=i.memo(e=>o.jsx(R,{...e})),Xt=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")})})]})}),Kt={brightness:[0,25,50,75,100].map(e=>({value:Qr(e,[0,100],[0,255]),name:`${e}%`})),color_temp:[1e3,2e3,3e3,4e3,5e3,6500].map(e=>({value:1e6/e,name:`${e}K`}))},Yt=i.memo(e=>o.jsx(R,{...e,steps:Kt}));function Jt(e){return e.type==="composite"&&(e.name==="color_xy"||e.name==="color_hs")}const Qt=i.memo(e=>{const{t}=A("zigbee"),{children:a,feature:r,deviceValue:s,onRead:n}=e,u=r.unit,c=i.useMemo(()=>gt(r.name,s,u),[u,r.name,s]),f=i.useMemo(()=>r.property&&r.access&C.GET||Jt(r),[r]),l=e.parentFeatures?.[e.parentFeatures.length-1],d=r.name==="state"?r.property:r.name;let m=r.label||ht(ut(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:Zr})})]})}),Zt=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:Qt,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))}),ea=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(Zt,{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})}),ra=i.memo(e=>o.jsx(R,{...e})),ta=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]})]})}),aa=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(ta,{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})}),na=i.memo(e=>o.jsx(R,{...e})),sa=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})}),oa=i.memo(e=>{const{feature:{access:t=C.SET,property:a},deviceValue:r,onChange:s}=e;return t&C.SET?o.jsx(sa,{onChange:n=>s({[a]:n}),value:r??""}):t&C.STATE?o.jsx(F,{...e}):o.jsx($,{...e})}),ca=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(()=>ca(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(yt,{feature:t,...h},m)},m);case"numeric":return o.jsx(c,{...x,children:o.jsx(aa,{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(Xt,{feature:t,...h},m)},m):o.jsx(c,{...x,children:o.jsx(ea,{feature:t,...h},m)},m);case"text":return o.jsx(c,{...x,children:o.jsx(oa,{feature:t,...h},m)},m);case"enum":return o.jsx(c,{...x,children:o.jsx(Wt,{feature:t,...h},m)},m);case"light":return o.jsx(Yt,{feature:t,...h,deviceState:r},m);case"switch":return o.jsx(na,{feature:t,...h,deviceState:r},m);case"cover":return o.jsx(zt,{feature:t,...h,deviceState:r},m);case"lock":return o.jsx(ra,{feature:t,...h,deviceState:r},m);case"climate":return o.jsx(Ct,{feature:t,...h,deviceState:r},m);case"fan":return o.jsx(Dt,{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(Ht,{feature:t,...h},m)},m);const _=l&&t.property?r[t.property]:r;return o.jsx(c,{...x,children:o.jsx(R,{feature:t,...h,deviceState:_},m)},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,Qt as a,C as b,gt as c,ut as d,_t as g,ht as s};
@@ -1 +1 @@
1
- import{b as P,r as o,s as e,H as x,v as g,bW as h,bX as f,E as b,aN as E,aO as N,aP as w,aQ as j,bY as F,bZ as H,D as W,b_ as q,b$ as B,j as t,R as k}from"./index-C1gKvOQY.js";import{C as G}from"./CheckboxField-CKgIp8a8.js";import{I as y}from"./InputField-DXwsrdm2.js";import{N as T}from"./NumberField-BELYPu7B.js";import{S as n}from"./SelectField-BiRFHt2I.js";import"./envs-DFlyG_dH.js";function Z(){const{t:s}=P(["settings","navbar","network","common"]),[r,S]=o.useState(e.get(x,"devices")),[l,D]=o.useState(e.get(g,!1)),[i,M]=o.useState(e.get(h,254)),[c,C]=o.useState(e.get(f,4)),[m,O]=o.useState(e.get(b,"data")),[d,A]=o.useState(e.get(E,"forceDirected2d")),[u,K]=o.useState(e.get(N,"all")),[p,Y]=o.useState(e.get(w,-750)),[_,L]=o.useState(e.get(j,50));o.useEffect(()=>{e.set(x,r)},[r]),o.useEffect(()=>{e.set(g,l)},[l]),o.useEffect(()=>{e.set(h,i)},[i]),o.useEffect(()=>{e.set(f,c)},[c]),o.useEffect(()=>{e.set(b,m)},[m]),o.useEffect(()=>{e.set(E,d)},[d]),o.useEffect(()=>{e.set(N,u)},[u]),o.useEffect(()=>{e.set(w,p)},[p]),o.useEffect(()=>{e.set(j,_)},[_]);const I=o.useCallback(()=>{e.remove(F),e.remove(x),e.remove(g),e.remove(h),e.remove(f),e.remove(b),e.remove(E),e.remove(N),e.remove(w),e.remove(j),e.remove(H),e.remove(W),e.remove("all-devices-column-visibility"),e.remove("all-groups-column-visibility"),e.remove("ota-devices-column-visibility"),e.remove("touchlink-devices-column-visibility"),e.remove("health-devices-column-visibility"),window.location.reload()},[]),R=o.useCallback(()=>{e.remove(q),e.remove(B),window.location.reload()},[]);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"alert alert-info alert-vertical sm:alert-horizontal",children:[s("frontend_notice"),t.jsxs("div",{className:"flex flex-row flex-wrap gap-2",children:[t.jsx(k,{className:"btn btn-sm btn-error",onClick:I,title:s("reset_settings"),modalDescription:s("common:dialog_confirmation_prompt"),modalCancelLabel:s("common:cancel"),children:s("reset_settings")}),t.jsx(k,{className:"btn btn-sm btn-error",onClick:R,title:s("reset_auth"),modalDescription:s("common:dialog_confirmation_prompt"),modalCancelLabel:s("common:cancel"),children:s("reset_auth")})]})]}),t.jsxs("div",{className:"flex flex-row flex-wrap gap-4 mt-3",children:[t.jsxs(n,{name:"homepage",label:s("homepage"),onChange:a=>!a.target.validationMessage&&S(a.target.value),value:r,required:!0,children:[t.jsx("option",{value:"devices",children:s("navbar:devices")}),t.jsx("option",{value:"dashboard",children:s("navbar:dashboard")})]}),t.jsx(G,{name:"dashboard_column_display",label:s("dashboard_column_display"),checked:l,onChange:a=>D(a.target.checked)}),t.jsx(y,{type:"number",name:"permit_join_time",label:s("permit_join_time"),min:10,max:254,required:!0,value:i,onChange:a=>!a.target.validationMessage&&!!a.target.value&&M(a.target.valueAsNumber)}),t.jsx(y,{type:"number",name:"max_on_screen_notifications",label:s("max_on_screen_notifications"),min:1,max:5,required:!0,value:c,onChange:a=>!a.target.validationMessage&&!!a.target.value&&C(a.target.valueAsNumber)})]}),t.jsx("h2",{className:"text-lg mt-2",children:s("network_raw")}),t.jsx("div",{className:"flex flex-row flex-wrap gap-4",children:t.jsxs(n,{name:"network:display_type",label:s("network:display_type"),onChange:a=>!a.target.validationMessage&&O(a.target.value),value:m,required:!0,children:[t.jsx("option",{value:"data",children:s("network:data")}),t.jsx("option",{value:"map",children:s("network:map")})]})}),t.jsx("h2",{className:"text-lg mt-2",children:s("network_map")}),t.jsxs("div",{className:"flex flex-row flex-wrap gap-4",children:[t.jsxs(n,{name:"network:layout_type",label:s("network:layout_type"),onChange:a=>!a.target.validationMessage&&A(a.target.value),value:d,required:!0,children:[t.jsx("option",{value:"forceDirected2d",children:"forceDirected2d"}),t.jsx("option",{value:"forceDirected3d",children:"forceDirected3d"}),t.jsx("option",{value:"radialOut2d",children:"radialOut2d"}),t.jsx("option",{value:"radialOut3d",children:"radialOut3d"})]}),t.jsxs(n,{name:"network:label_type",label:s("network:label_type"),onChange:a=>!a.target.validationMessage&&K(a.target.value),value:u,required:!0,children:[t.jsx("option",{value:"all",children:"all"}),t.jsx("option",{value:"auto",children:"auto"}),t.jsx("option",{value:"none",children:"none"}),t.jsx("option",{value:"nodes",children:"nodes"}),t.jsx("option",{value:"edges",children:"edges"})]}),t.jsx("div",{className:"min-w-xs",children:t.jsx(T,{name:"network:node_strength",label:s("network:node_strength"),onSubmit:(a,v)=>v&&typeof a=="number"&&Y(a),min:-1e3,max:-100,step:10,defaultValue:p})}),t.jsx("div",{className:"min-w-xs",children:t.jsx(T,{name:"network:link_distance",label:s("network:link_distance"),onSubmit:(a,v)=>v&&typeof a=="number"&&L(a),min:10,max:200,step:5,defaultValue:_})})]})]})}export{Z as default};
1
+ import{b as P,r as o,s as e,H as x,v as g,bY as h,bZ as f,E as b,aN as E,aO as N,aP as w,aQ as j,b_ as F,b$ as H,D as q,c0 as W,c1 as B,j as t,R as k}from"./index-DgPAmC_w.js";import{C as G}from"./CheckboxField-B0ZAooGT.js";import{I as y}from"./InputField-DwVHyBbK.js";import{N as T}from"./NumberField-BGsY1mZs.js";import{S as n}from"./SelectField-DsBhV18y.js";import"./envs-DFlyG_dH.js";function Z(){const{t:s}=P(["settings","navbar","network","common"]),[r,S]=o.useState(e.get(x,"devices")),[l,D]=o.useState(e.get(g,!1)),[i,M]=o.useState(e.get(h,254)),[c,C]=o.useState(e.get(f,4)),[m,O]=o.useState(e.get(b,"data")),[d,A]=o.useState(e.get(E,"forceDirected2d")),[u,K]=o.useState(e.get(N,"all")),[p,Y]=o.useState(e.get(w,-750)),[_,L]=o.useState(e.get(j,50));o.useEffect(()=>{e.set(x,r)},[r]),o.useEffect(()=>{e.set(g,l)},[l]),o.useEffect(()=>{e.set(h,i)},[i]),o.useEffect(()=>{e.set(f,c)},[c]),o.useEffect(()=>{e.set(b,m)},[m]),o.useEffect(()=>{e.set(E,d)},[d]),o.useEffect(()=>{e.set(N,u)},[u]),o.useEffect(()=>{e.set(w,p)},[p]),o.useEffect(()=>{e.set(j,_)},[_]);const I=o.useCallback(()=>{e.remove(F),e.remove(x),e.remove(g),e.remove(h),e.remove(f),e.remove(b),e.remove(E),e.remove(N),e.remove(w),e.remove(j),e.remove(H),e.remove(q),e.remove("all-devices-column-visibility"),e.remove("all-groups-column-visibility"),e.remove("ota-devices-column-visibility"),e.remove("touchlink-devices-column-visibility"),e.remove("health-devices-column-visibility"),window.location.reload()},[]),R=o.useCallback(()=>{e.remove(W),e.remove(B),window.location.reload()},[]);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"alert alert-info alert-vertical sm:alert-horizontal",children:[s("frontend_notice"),t.jsxs("div",{className:"flex flex-row flex-wrap gap-2",children:[t.jsx(k,{className:"btn btn-sm btn-error",onClick:I,title:s("reset_settings"),modalDescription:s("common:dialog_confirmation_prompt"),modalCancelLabel:s("common:cancel"),children:s("reset_settings")}),t.jsx(k,{className:"btn btn-sm btn-error",onClick:R,title:s("reset_auth"),modalDescription:s("common:dialog_confirmation_prompt"),modalCancelLabel:s("common:cancel"),children:s("reset_auth")})]})]}),t.jsxs("div",{className:"flex flex-row flex-wrap gap-4 mt-3",children:[t.jsxs(n,{name:"homepage",label:s("homepage"),onChange:a=>!a.target.validationMessage&&S(a.target.value),value:r,required:!0,children:[t.jsx("option",{value:"devices",children:s("navbar:devices")}),t.jsx("option",{value:"dashboard",children:s("navbar:dashboard")})]}),t.jsx(G,{name:"dashboard_column_display",label:s("dashboard_column_display"),checked:l,onChange:a=>D(a.target.checked)}),t.jsx(y,{type:"number",name:"permit_join_time",label:s("permit_join_time"),min:10,max:254,required:!0,value:i,onChange:a=>!a.target.validationMessage&&!!a.target.value&&M(a.target.valueAsNumber)}),t.jsx(y,{type:"number",name:"max_on_screen_notifications",label:s("max_on_screen_notifications"),min:1,max:5,required:!0,value:c,onChange:a=>!a.target.validationMessage&&!!a.target.value&&C(a.target.valueAsNumber)})]}),t.jsx("h2",{className:"text-lg mt-2",children:s("network_raw")}),t.jsx("div",{className:"flex flex-row flex-wrap gap-4",children:t.jsxs(n,{name:"network:display_type",label:s("network:display_type"),onChange:a=>!a.target.validationMessage&&O(a.target.value),value:m,required:!0,children:[t.jsx("option",{value:"data",children:s("network:data")}),t.jsx("option",{value:"map",children:s("network:map")})]})}),t.jsx("h2",{className:"text-lg mt-2",children:s("network_map")}),t.jsxs("div",{className:"flex flex-row flex-wrap gap-4",children:[t.jsxs(n,{name:"network:layout_type",label:s("network:layout_type"),onChange:a=>!a.target.validationMessage&&A(a.target.value),value:d,required:!0,children:[t.jsx("option",{value:"forceDirected2d",children:"forceDirected2d"}),t.jsx("option",{value:"forceDirected3d",children:"forceDirected3d"}),t.jsx("option",{value:"radialOut2d",children:"radialOut2d"}),t.jsx("option",{value:"radialOut3d",children:"radialOut3d"})]}),t.jsxs(n,{name:"network:label_type",label:s("network:label_type"),onChange:a=>!a.target.validationMessage&&K(a.target.value),value:u,required:!0,children:[t.jsx("option",{value:"all",children:"all"}),t.jsx("option",{value:"auto",children:"auto"}),t.jsx("option",{value:"none",children:"none"}),t.jsx("option",{value:"nodes",children:"nodes"}),t.jsx("option",{value:"edges",children:"edges"})]}),t.jsx("div",{className:"min-w-xs",children:t.jsx(T,{name:"network:node_strength",label:s("network:node_strength"),onSubmit:(a,v)=>v&&typeof a=="number"&&Y(a),min:-1e3,max:-100,step:10,defaultValue:p})}),t.jsx("div",{className:"min-w-xs",children:t.jsx(T,{name:"network:link_distance",label:s("network:link_distance"),onSubmit:(a,v)=>v&&typeof a=="number"&&L(a),min:10,max:200,step:5,defaultValue:_})})]})]})}export{Z as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Devices-CCdlvPKX.js","./index-C1gKvOQY.js","./envs-DFlyG_dH.js","./index-C5jxp7BF.css","./RecallRemove-D_Wf53dt.js","./DashboardFeatureWrapper-2XgC0Vbu.js","./Feature-BhPmnoZF.js","./DisplayValue-CThy0Fna.js","./_createCompounder-EtfNZAeu.js","./InputField-DXwsrdm2.js","./SelectField-BiRFHt2I.js","./DevicePicker-B8wvglJO.js","./EndpointPicker-C6ej_jn-.js","./DeviceCard-Dn-YPJeh.js","./LastSeen-Y67K4Fqv.js","./format-DKj-n12h.js","./Lqi-CH0xJyhG.js","./PowerSource-CpboKkXb.js","./snakeCase-BPEk2aWA.js","./DeviceImage-Cbh-Uae_.js","./index-BEfVjKh5.js","./GroupSettings-DpkTM-Xz.js","./SettingsList-BkAg1hoT.js","./CheckboxField-CKgIp8a8.js","./NumberField-BELYPu7B.js"])))=>i.map(i=>d[i]);
2
- import{r as n,b as g,j as e,L as f,P as j,F as m,f as v,u as b,d as h,a as _,N as p,o as N,k as w,_ as x}from"./index-C1gKvOQY.js";import"./envs-DFlyG_dH.js";const y=n.memo(u=>{const{groups:r,currentGroup:t,tab:o="devices"}=u,[c,l]=n.useState(""),{t:s}=g("common"),d=n.useMemo(()=>r.filter(a=>a.friendly_name.toLowerCase().includes(c.toLowerCase())&&a.id!==t?.id).map(a=>e.jsx("li",{children:e.jsx(f,{to:`/group/${a.id}/${o}`,onClick:()=>l(""),className:"dropdown-item",children:a.friendly_name})},a.id)),[r,c,t,o]);return e.jsxs(j,{name:"header-group-selector",buttonChildren:`${t?`#${t.id} - ${t.friendly_name}`:s("unknown_group")}`,dropdownStyle:"dropdown-start",children:[e.jsxs("label",{className:"input",children:[e.jsx(m,{icon:v}),e.jsx("input",{type:"search",placeholder:s("type_to_filter"),onChange:a=>l(a.target.value),value:c})]},"search"),d]})}),T=n.lazy(async()=>await x(()=>import("./Devices-CCdlvPKX.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]),import.meta.url)),$=n.lazy(async()=>await x(()=>import("./GroupSettings-DpkTM-Xz.js"),__vite__mapDeps([21,1,2,3,22,23,9,24,10]),import.meta.url));function G(){const u=b(),{t:r}=g(["groups","common"]),{groupId:t,tab:o}=h(),c=_(i=>i.groups),l=Number.parseInt(t,10),s=t?c.find(i=>i.id===l):void 0;n.useEffect(()=>{!o&&s&&u(`/group/${s.id}/devices`,{replace:!0})},[o,s,u]);const d=({isActive:i})=>i?"tab tab-active":"tab",a=n.useMemo(()=>{if(!s)return e.jsx("div",{className:"flex-auto justify-center items-center",children:r("common:unknown_group")});switch(o){case"devices":return e.jsx(T,{group:s});case"settings":return e.jsx($,{group:s})}},[o,s,r]);return e.jsxs(e.Fragment,{children:[e.jsx(y,{groups:c,currentGroup:s,tab:o}),e.jsxs("div",{className:"tabs tabs-border mt-2",children:[e.jsxs(p,{to:`/group/${t}/devices`,className:d,children:[e.jsx(m,{icon:N,className:"me-2"}),r("common:devices")]}),e.jsxs(p,{to:`/group/${t}/settings`,className:d,children:[e.jsx(m,{icon:w,className:"me-2"}),r("settings")]})]}),e.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:a})]})}export{G as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Devices-CNUs_WDM.js","./index-DgPAmC_w.js","./envs-DFlyG_dH.js","./index-sQ1gk-WC.css","./RecallRemove-qhHT3b6Y.js","./DashboardFeatureWrapper-CvTRlO7L.js","./Feature-DXpEIH6i.js","./DisplayValue-DF3KVUYK.js","./_createCompounder-D8WZ6ZEG.js","./InputField-DwVHyBbK.js","./SelectField-DsBhV18y.js","./DevicePicker-BSj7s6Os.js","./EndpointPicker-QBnwwpG7.js","./DeviceCard-CqjKMuGs.js","./LastSeen-Dzc_PuKE.js","./format-t-kPiPTm.js","./Lqi-YSPJvreQ.js","./PowerSource-o1vFxO_3.js","./snakeCase-qp4IAc5c.js","./DeviceImage-D1eMVw0z.js","./index-DrTwaLT5.js","./GroupSettings-BrVKINoM.js","./SettingsList-BA676BSd.js","./CheckboxField-B0ZAooGT.js","./NumberField-BGsY1mZs.js"])))=>i.map(i=>d[i]);
2
+ import{r as n,b as g,j as e,L as f,P as j,F as m,f as v,u as b,d as h,a as _,N as p,o as N,k as w,_ as x}from"./index-DgPAmC_w.js";import"./envs-DFlyG_dH.js";const y=n.memo(u=>{const{groups:r,currentGroup:t,tab:o="devices"}=u,[c,l]=n.useState(""),{t:s}=g("common"),d=n.useMemo(()=>r.filter(a=>a.friendly_name.toLowerCase().includes(c.toLowerCase())&&a.id!==t?.id).map(a=>e.jsx("li",{children:e.jsx(f,{to:`/group/${a.id}/${o}`,onClick:()=>l(""),className:"dropdown-item",children:a.friendly_name})},a.id)),[r,c,t,o]);return e.jsxs(j,{name:"header-group-selector",buttonChildren:`${t?`#${t.id} - ${t.friendly_name}`:s("unknown_group")}`,dropdownStyle:"dropdown-start",children:[e.jsxs("label",{className:"input",children:[e.jsx(m,{icon:v}),e.jsx("input",{type:"search",placeholder:s("type_to_filter"),onChange:a=>l(a.target.value),value:c})]},"search"),d]})}),T=n.lazy(async()=>await x(()=>import("./Devices-CNUs_WDM.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]),import.meta.url)),$=n.lazy(async()=>await x(()=>import("./GroupSettings-BrVKINoM.js"),__vite__mapDeps([21,1,2,3,22,23,9,24,10]),import.meta.url));function G(){const u=b(),{t:r}=g(["groups","common"]),{groupId:t,tab:o}=h(),c=_(i=>i.groups),l=Number.parseInt(t,10),s=t?c.find(i=>i.id===l):void 0;n.useEffect(()=>{!o&&s&&u(`/group/${s.id}/devices`,{replace:!0})},[o,s,u]);const d=({isActive:i})=>i?"tab tab-active":"tab",a=n.useMemo(()=>{if(!s)return e.jsx("div",{className:"flex-auto justify-center items-center",children:r("common:unknown_group")});switch(o){case"devices":return e.jsx(T,{group:s});case"settings":return e.jsx($,{group:s})}},[o,s,r]);return e.jsxs(e.Fragment,{children:[e.jsx(y,{groups:c,currentGroup:s,tab:o}),e.jsxs("div",{className:"tabs tabs-border mt-2",children:[e.jsxs(p,{to:`/group/${t}/devices`,className:d,children:[e.jsx(m,{icon:N,className:"me-2"}),r("common:devices")]}),e.jsxs(p,{to:`/group/${t}/settings`,className:d,children:[e.jsx(m,{icon:w,className:"me-2"}),r("settings")]})]}),e.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:a})]})}export{G as default};
@@ -1 +1 @@
1
- import{b as c,a as l,r as i,W as m,j as e,F as p,J as d,bN as f}from"./index-C1gKvOQY.js";import{S as g}from"./SettingsList-BkAg1hoT.js";import"./envs-DFlyG_dH.js";import"./CheckboxField-CKgIp8a8.js";import"./InputField-DXwsrdm2.js";import"./NumberField-BELYPu7B.js";import"./SelectField-BiRFHt2I.js";function k({group:s}){const{t:n}=c(["settings","common"]),o=l(t=>t.bridgeInfo),{sendMessage:r}=i.useContext(m),a=i.useCallback(async t=>{await r("bridge/request/group/options",{id:s.id.toString(),options:t})},[r,s.id]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(p,{icon:d,size:"2xl"}),e.jsx("a",{href:f,target:"_blank",rel:"noreferrer",className:"link link-hover",children:n("common:read_the_docs_info")})]}),e.jsx(g,{schema:o.config_schema.definitions.group??{properties:{}},data:o.config.groups[s.id]??{},set:a})]})}export{k as default};
1
+ import{b as c,a as l,r as i,W as m,j as e,F as p,J as d,bP as f}from"./index-DgPAmC_w.js";import{S as g}from"./SettingsList-BA676BSd.js";import"./envs-DFlyG_dH.js";import"./CheckboxField-B0ZAooGT.js";import"./InputField-DwVHyBbK.js";import"./NumberField-BGsY1mZs.js";import"./SelectField-DsBhV18y.js";function k({group:s}){const{t:n}=c(["settings","common"]),o=l(t=>t.bridgeInfo),{sendMessage:r}=i.useContext(m),a=i.useCallback(async t=>{await r("bridge/request/group/options",{id:s.id.toString(),options:t})},[r,s.id]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(p,{icon:d,size:"2xl"}),e.jsx("a",{href:f,target:"_blank",rel:"noreferrer",className:"link link-hover",children:n("common:read_the_docs_info")})]}),e.jsx(g,{schema:o.config_schema.definitions.group??{properties:{}},data:o.config.groups[s.id]??{},set:a})]})}export{k as default};
@@ -1 +1 @@
1
- import{r as t,b as _,j as e,a as w,W as C,ah as N,B as k,L as y,R as G,F as S,x as M}from"./index-C1gKvOQY.js";import{E}from"./EndpointPicker-C6ej_jn-.js";import{S as I}from"./SelectField-BiRFHt2I.js";import"./envs-DFlyG_dH.js";const q=t.memo(o=>{const{t:r}=_("common"),{groups:a,value:c,label:l,onChange:m,...i}=o,g=t.useCallback(u=>{const{value:d}=u.target,x=Number.parseInt(d,10);m(a.find(b=>x===b.id))},[a,m]),p=t.useMemo(()=>{const u=[];for(const d of a)u.push(e.jsx("option",{value:d.id,children:d.friendly_name},d.id));return u},[a]);return e.jsxs(I,{name:"group_picker",label:l,value:c,onChange:g,...i,children:[e.jsx("option",{value:"",disabled:!0,children:r("select_group")}),p]})});function B({device:o}){const{t:r}=_(["groups","zigbee","common"]),a=w(s=>s.groups),{sendMessage:c}=t.useContext(C),[l,m]=t.useState(""),[i,g]=t.useState(""),p=t.useMemo(()=>N(o),[o]),[u,d]=t.useMemo(()=>{const s=[],n=[];for(const f of a){const j=f.members.filter(h=>h.ieee_address===o.ieee_address);if(j.length>0)for(const h of j)s.push([f,h.endpoint]);else n.push(f)}return[s,n]},[a,o.ieee_address]),x=t.useCallback(s=>{g(s.id),m(p.values().next().value)},[p]),b=t.useCallback(async()=>await c("bridge/request/group/members/add",{group:i.toString(),endpoint:l,device:o.ieee_address}),[c,i,o.ieee_address,l]),v=t.useCallback(async([s,n])=>await c("bridge/request/group/members/remove",{device:o.ieee_address,endpoint:n,group:s.id.toString()}),[c,o.ieee_address]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row flex-wrap justify-around items-start gap-3 my-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:r("add_to_group")}),e.jsxs("div",{className:"mb-3",children:[e.jsx(q,{label:r("zigbee:group"),value:i,groups:d,onChange:x,required:!0}),e.jsx(E,{label:r("zigbee:endpoint"),values:p,value:l,onChange:s=>m(s),required:!0})]}),e.jsx(k,{onClick:b,className:"btn btn-primary",disabled:l==null||i==null||l===""||i==="",children:r("add_to_group")})]})}),e.jsx("div",{className:"flex flex-row flex-wrap justify-center gap-3 mt-3",children:u.map(([s,n])=>e.jsxs("ul",{className:"w-[23rem] list bg-base-200 rounded-box shadow-md",children:[e.jsxs("li",{className:"list-row grow",children:[e.jsxs("div",{children:[e.jsxs(y,{to:`/group/${s.id}/devices`,className:"link link-hover",children:["#",s.id," - ",s.friendly_name,n?` (${r("endpoint")}: ${n})`:""]}),o.description&&e.jsx("div",{className:"text-xs opacity-50 truncate",title:o.description,children:o.description})]}),e.jsxs("div",{className:"list-col-wrap text-sm w-full gap-2",children:[e.jsxs("div",{className:"badge badge-soft badge-ghost cursor-default me-2",children:[r("group_members"),": ",s.members.length]}),e.jsxs("div",{className:"badge badge-soft badge-ghost cursor-default me-2",children:[r("group_scenes"),": ",s.scenes.length]})]})]}),e.jsx("li",{className:"flex flex-row flex-wrap gap-1 m-4 justify-around items-center",children:e.jsx(G,{item:[s,n],onClick:v,className:"btn btn-square btn-error btn-sm",title:r("remove_from_group"),modalDescription:r("common:dialog_confirmation_prompt"),modalCancelLabel:r("common:cancel"),children:e.jsx(S,{icon:M})})})]},`${s.id}-${n}`))})]})}export{B as default};
1
+ import{r as t,b as _,j as e,a as w,W as C,ah as N,B as k,L as y,R as G,F as S,x as M}from"./index-DgPAmC_w.js";import{E}from"./EndpointPicker-QBnwwpG7.js";import{S as I}from"./SelectField-DsBhV18y.js";import"./envs-DFlyG_dH.js";const q=t.memo(o=>{const{t:r}=_("common"),{groups:a,value:c,label:l,onChange:m,...i}=o,g=t.useCallback(u=>{const{value:d}=u.target,x=Number.parseInt(d,10);m(a.find(b=>x===b.id))},[a,m]),p=t.useMemo(()=>{const u=[];for(const d of a)u.push(e.jsx("option",{value:d.id,children:d.friendly_name},d.id));return u},[a]);return e.jsxs(I,{name:"group_picker",label:l,value:c,onChange:g,...i,children:[e.jsx("option",{value:"",disabled:!0,children:r("select_group")}),p]})});function B({device:o}){const{t:r}=_(["groups","zigbee","common"]),a=w(s=>s.groups),{sendMessage:c}=t.useContext(C),[l,m]=t.useState(""),[i,g]=t.useState(""),p=t.useMemo(()=>N(o),[o]),[u,d]=t.useMemo(()=>{const s=[],n=[];for(const f of a){const j=f.members.filter(h=>h.ieee_address===o.ieee_address);if(j.length>0)for(const h of j)s.push([f,h.endpoint]);else n.push(f)}return[s,n]},[a,o.ieee_address]),x=t.useCallback(s=>{g(s.id),m(p.values().next().value)},[p]),b=t.useCallback(async()=>await c("bridge/request/group/members/add",{group:i.toString(),endpoint:l,device:o.ieee_address}),[c,i,o.ieee_address,l]),v=t.useCallback(async([s,n])=>await c("bridge/request/group/members/remove",{device:o.ieee_address,endpoint:n,group:s.id.toString()}),[c,o.ieee_address]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row flex-wrap justify-around items-start gap-3 my-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:r("add_to_group")}),e.jsxs("div",{className:"mb-3",children:[e.jsx(q,{label:r("zigbee:group"),value:i,groups:d,onChange:x,required:!0}),e.jsx(E,{label:r("zigbee:endpoint"),values:p,value:l,onChange:s=>m(s),required:!0})]}),e.jsx(k,{onClick:b,className:"btn btn-primary",disabled:l==null||i==null||l===""||i==="",children:r("add_to_group")})]})}),e.jsx("div",{className:"flex flex-row flex-wrap justify-center gap-3 mt-3",children:u.map(([s,n])=>e.jsxs("ul",{className:"w-[23rem] list bg-base-200 rounded-box shadow-md",children:[e.jsxs("li",{className:"list-row grow",children:[e.jsxs("div",{children:[e.jsxs(y,{to:`/group/${s.id}/devices`,className:"link link-hover",children:["#",s.id," - ",s.friendly_name,n?` (${r("endpoint")}: ${n})`:""]}),o.description&&e.jsx("div",{className:"text-xs opacity-50 truncate",title:o.description,children:o.description})]}),e.jsxs("div",{className:"list-col-wrap text-sm w-full gap-2",children:[e.jsxs("div",{className:"badge badge-soft badge-ghost cursor-default me-2",children:[r("group_members"),": ",s.members.length]}),e.jsxs("div",{className:"badge badge-soft badge-ghost cursor-default me-2",children:[r("group_scenes"),": ",s.scenes.length]})]})]}),e.jsx("li",{className:"flex flex-row flex-wrap gap-1 m-4 justify-around items-center",children:e.jsx(G,{item:[s,n],onClick:v,className:"btn btn-square btn-error btn-sm",title:r("remove_from_group"),modalDescription:r("common:dialog_confirmation_prompt"),modalCancelLabel:r("common:cancel"),children:e.jsx(S,{icon:M})})})]},`${s.id}-${n}`))})]})}export{B as default};
@@ -1 +1 @@
1
- import{w as g,M as _,b as h,r,j as a,O as N,B as m,a as w,W as C,L as f,F as b,Q as k,R as F,x as S}from"./index-C1gKvOQY.js";import{I as u}from"./InputField-DXwsrdm2.js";import{T as G}from"./Table-CVp4F28v.js";import"./envs-DFlyG_dH.js";import"./DebouncedInput-xxDjw8fK.js";const R=g.create(t=>{const{name:i,onRename:o}=t,c=_(),{t:l}=h(["groups","common"]),[s,n]=r.useState(i);return r.useEffect(()=>{n(i)},[i]),a.jsx(N,{isOpen:c.visible,title:`${l("rename_group")} ${i}`,footer:a.jsxs(a.Fragment,{children:[a.jsx(m,{className:"btn btn-neutral",onClick:c.remove,children:l("common:cancel")}),a.jsx(m,{className:"btn btn-primary ms-1",onClick:async()=>{s&&(c.remove(),await o(i,s))},children:l("rename_group")})]}),children:a.jsx("div",{className:"flex flex-col gap-2",children:a.jsx(u,{name:"friendly_name",label:l("common:friendly_name"),onChange:d=>n(d.target.value),value:s,type:"text",required:!0})})})});function $(){const[t,i]=r.useState(""),[o,c]=r.useState(""),l=w(e=>e.groups),{sendMessage:s}=r.useContext(C),{t:n}=h(["groups","common"]),d=r.useCallback(async()=>{const e={friendly_name:t};o&&(e.id=o),await s("bridge/request/group/add",e)},[t,o,s]),p=r.useCallback(async(e,v)=>await s("bridge/request/group/rename",{from:e,to:v}),[s]),x=r.useCallback(async e=>await s("bridge/request/group/remove",{id:e}),[s]),j=r.useMemo(()=>t?!o||!l.find(e=>e.id.toString()===o):!1,[t,o,l]),y=r.useMemo(()=>[{id:"group_id",header:n("group_id"),accessorFn:e=>e.id,cell:({row:{original:e}})=>a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"avatar"}),a.jsxs("div",{className:"flex-grow flex flex-col",children:[a.jsx(f,{to:`/group/${e.id}/devices`,className:"link link-hover",children:e.id}),e.description&&a.jsx("div",{className:"max-w-xs text-xs opacity-50 truncate",title:e.description,children:e.description}),a.jsx("div",{className:"flex flex-row gap-1 mt-0.5",children:a.jsxs("span",{className:"badge badge-soft badge-sm badge-ghost cursor-default",children:[n("scenes"),": ",e.scenes?.length??0]})})]})]})},{id:"friendly_name",header:n("common:friendly_name"),accessorFn:e=>e.friendly_name,cell:({row:{original:e}})=>a.jsx(f,{to:`/group/${e.id}/devices`,className:"link link-hover",children:e.friendly_name})},{id:"members",header:n("group_members"),accessorFn:e=>e.members.length??0,enableColumnFilter:!1},{id:"actions",header:"",cell:({row:{original:e}})=>a.jsxs("div",{className:"join join-horizontal",children:[a.jsx(m,{className:"btn btn-square btn-outline btn-primary join-item",onClick:async()=>await g.show(R,{name:e.friendly_name,onRename:p}),title:n("rename_group"),disabled:e.friendly_name==="default_bind_group",children:a.jsx(b,{icon:k})}),a.jsx(F,{title:n("remove_group"),item:e.id.toString(),onClick:x,className:"btn btn-square btn-outline btn-error join-item",modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:a.jsx(b,{icon:S})})]}),enableSorting:!1,enableColumnFilter:!1}],[p,x,n]);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"collapse collapse-arrow bg-base-100 shadow mb-3",children:[a.jsx("input",{type:"checkbox"}),a.jsx("div",{className:"collapse-title text-lg font-semibold text-center",children:n("create_group")}),a.jsx("div",{className:"collapse-content",children:a.jsxs("div",{className:"flex flex-row flex-wrap justify-center gap-2",children:[a.jsx(u,{type:"text",name:"friendly_name",label:n("common:friendly_name"),value:t,placeholder:n("friendly_name_placeholder"),onChange:e=>i(e.target.value),required:!0}),a.jsx(u,{type:"number",name:"group_id",label:n("group_id"),value:o,detail:n("common:optional"),min:0,max:255,onChange:e=>c(e.target.value)}),a.jsx(m,{onClick:d,className:"btn btn-primary self-center",disabled:!j,children:n("create_group")})]})})]}),a.jsx(G,{id:"all-groups",columns:y,data:l})]})}export{$ as default};
1
+ import{w as g,M as _,b as h,r,j as a,O as N,B as m,a as w,W as C,L as f,F as b,Q as k,R as F,x as S}from"./index-DgPAmC_w.js";import{I as u}from"./InputField-DwVHyBbK.js";import{T as G}from"./Table-CCXyChbm.js";import"./envs-DFlyG_dH.js";import"./DebouncedInput-CQn1amHY.js";const R=g.create(t=>{const{name:i,onRename:o}=t,c=_(),{t:l}=h(["groups","common"]),[s,n]=r.useState(i);return r.useEffect(()=>{n(i)},[i]),a.jsx(N,{isOpen:c.visible,title:`${l("rename_group")} ${i}`,footer:a.jsxs(a.Fragment,{children:[a.jsx(m,{className:"btn btn-neutral",onClick:c.remove,children:l("common:cancel")}),a.jsx(m,{className:"btn btn-primary ms-1",onClick:async()=>{s&&(c.remove(),await o(i,s))},children:l("rename_group")})]}),children:a.jsx("div",{className:"flex flex-col gap-2",children:a.jsx(u,{name:"friendly_name",label:l("common:friendly_name"),onChange:d=>n(d.target.value),value:s,type:"text",required:!0})})})});function $(){const[t,i]=r.useState(""),[o,c]=r.useState(""),l=w(e=>e.groups),{sendMessage:s}=r.useContext(C),{t:n}=h(["groups","common"]),d=r.useCallback(async()=>{const e={friendly_name:t};o&&(e.id=o),await s("bridge/request/group/add",e)},[t,o,s]),p=r.useCallback(async(e,v)=>await s("bridge/request/group/rename",{from:e,to:v}),[s]),x=r.useCallback(async e=>await s("bridge/request/group/remove",{id:e}),[s]),j=r.useMemo(()=>t?!o||!l.find(e=>e.id.toString()===o):!1,[t,o,l]),y=r.useMemo(()=>[{id:"group_id",header:n("group_id"),accessorFn:e=>e.id,cell:({row:{original:e}})=>a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"avatar"}),a.jsxs("div",{className:"flex-grow flex flex-col",children:[a.jsx(f,{to:`/group/${e.id}/devices`,className:"link link-hover",children:e.id}),e.description&&a.jsx("div",{className:"max-w-xs text-xs opacity-50 truncate",title:e.description,children:e.description}),a.jsx("div",{className:"flex flex-row gap-1 mt-0.5",children:a.jsxs("span",{className:"badge badge-soft badge-sm badge-ghost cursor-default",children:[n("scenes"),": ",e.scenes?.length??0]})})]})]})},{id:"friendly_name",header:n("common:friendly_name"),accessorFn:e=>e.friendly_name,cell:({row:{original:e}})=>a.jsx(f,{to:`/group/${e.id}/devices`,className:"link link-hover",children:e.friendly_name})},{id:"members",header:n("group_members"),accessorFn:e=>e.members.length??0,enableColumnFilter:!1},{id:"actions",header:"",cell:({row:{original:e}})=>a.jsxs("div",{className:"join join-horizontal",children:[a.jsx(m,{className:"btn btn-square btn-outline btn-primary join-item",onClick:async()=>await g.show(R,{name:e.friendly_name,onRename:p}),title:n("rename_group"),disabled:e.friendly_name==="default_bind_group",children:a.jsx(b,{icon:k})}),a.jsx(F,{title:n("remove_group"),item:e.id.toString(),onClick:x,className:"btn btn-square btn-outline btn-error join-item",modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:a.jsx(b,{icon:S})})]}),enableSorting:!1,enableColumnFilter:!1}],[p,x,n]);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"collapse collapse-arrow bg-base-100 shadow mb-3",children:[a.jsx("input",{type:"checkbox"}),a.jsx("div",{className:"collapse-title text-lg font-semibold text-center",children:n("create_group")}),a.jsx("div",{className:"collapse-content",children:a.jsxs("div",{className:"flex flex-row flex-wrap justify-center gap-2",children:[a.jsx(u,{type:"text",name:"friendly_name",label:n("common:friendly_name"),value:t,placeholder:n("friendly_name_placeholder"),onChange:e=>i(e.target.value),required:!0}),a.jsx(u,{type:"number",name:"group_id",label:n("group_id"),value:o,detail:n("common:optional"),min:0,max:255,onChange:e=>c(e.target.value)}),a.jsx(m,{onClick:d,className:"btn btn-primary self-center",disabled:!j,children:n("create_group")})]})})]}),a.jsx(G,{id:"all-groups",columns:y,data:l})]})}export{$ as default};
@@ -1 +1 @@
1
- import{b as p,a as d,r as m,j as e,L as u,F as l,J as o,a8 as x,bS as g}from"./index-C1gKvOQY.js";import{D as N}from"./DeviceImage-Cbh-Uae_.js";import{T as f}from"./Table-CVp4F28v.js";import{f as w}from"./format-DKj-n12h.js";import"./envs-DFlyG_dH.js";import"./index-BEfVjKh5.js";import"./DebouncedInput-xxDjw8fK.js";function z(){const{t:a,i18n:h}=p(["health","settings","common"]),t=d(s=>s.bridgeHealth),i=d(s=>s.devices),v=m.useMemo(()=>{const s=[];if(t)for(const r in t.devices){const n=i.find(_=>_.ieee_address===r);n&&s.push({device:n,health:t.devices[r]})}return s},[t,i]),j=m.useMemo(()=>[{id:"friendly_name",header:a("common:friendly_name"),accessorFn:({device:s})=>[s.friendly_name,s.description,s.ieee_address].join(" "),cell:({row:{original:{device:s}}})=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"avatar",children:e.jsx("div",{className:"h-11 w-11",style:{overflow:"visible"},children:e.jsx(N,{device:s,disabled:!1})})}),e.jsx("div",{className:"flex flex-col",children:e.jsxs(u,{to:`/device/${s.ieee_address}/info`,className:"link link-hover",children:[s.friendly_name,s.friendly_name!==s.ieee_address?` (${s.ieee_address})`:""]})})]})},{id:"messages",header:a("messages"),accessorFn:({health:s})=>s.messages,enableColumnFilter:!1},{id:"messages_per_sec",header:a("messages_per_sec"),accessorFn:({health:s})=>s.messages_per_sec,enableColumnFilter:!1,cell:({row:{original:{health:s}}})=>e.jsx("span",{className:s.messages_per_sec>1?s.messages_per_sec>3?"text-error":"text-warning":s.messages_per_sec<.2?"text-success":"",children:s.messages_per_sec<=.001?a("very_low"):s.messages_per_sec})},{id:"leave_count",header:a("leave_count"),accessorFn:({health:s})=>s.leave_count,enableColumnFilter:!1},{id:"network_address_changes",header:a("network_address_changes"),accessorFn:({health:s})=>s.network_address_changes,enableColumnFilter:!1}],[a]);if(t.response_time===0)return e.jsxs("div",{className:"alert alert-info alert-soft",role:"alert",children:[e.jsx(l,{icon:o,size:"2xl"}),a("awaiting_next_check")]});const c=new Date(Date.now()-t.process.uptime_sec*1e3);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(l,{icon:o,size:"2xl"}),a("interview_info")]}),e.jsxs("div",{className:"flex flex-col gap-3 items-center mb-2",children:[e.jsxs("p",{className:"text-sm",children:[a("last_check"),": ",x(new Date(t.response_time))]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("os")})}),t.os.load_average.some(s=>s!==0)&&e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("load_average")}),e.jsx("div",{className:"stat-value text-lg",children:t.os.load_average.join(", ")}),e.jsx("div",{className:"stat-desc",children:e.jsx("a",{href:"https://www.digitalocean.com/community/tutorials/load-average-in-linux",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"1min, 5min, 15min"})})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("ram_usage")}),e.jsxs("div",{className:"stat-value text-lg",children:[t.os.memory_percent," %"]}),e.jsxs("div",{className:"stat-desc",children:[t.os.memory_used_mb," MB"]})]})]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("process")})}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("uptime")}),e.jsx("div",{className:"stat-value text-lg",children:w(c,h.language)}),e.jsx("div",{className:"stat-desc",children:x(c)})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("ram_usage")}),e.jsxs("div",{className:"stat-value text-lg",children:[t.process.memory_percent," %"]}),e.jsxs("div",{className:"stat-desc",children:[t.process.memory_used_mb," MB"]})]})]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("settings:mqtt")})}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-value text-lg",children:e.jsx(l,{icon:g,className:t.mqtt.connected?"text-success":"text-error"})}),e.jsxs("div",{className:"stat-desc",children:[a("queued"),": ",t.mqtt.queued]})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("published")}),e.jsx("div",{className:"stat-value text-lg",children:t.mqtt.published})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("received")}),e.jsx("div",{className:"stat-value text-lg",children:t.mqtt.received})]})]})]}),e.jsx(f,{id:"health-devices",columns:j,data:v})]})}export{z as default};
1
+ import{b as p,a as d,r as m,j as e,L as u,F as l,J as o,a8 as x,bU as g}from"./index-DgPAmC_w.js";import{D as N}from"./DeviceImage-D1eMVw0z.js";import{T as f}from"./Table-CCXyChbm.js";import{f as w}from"./format-t-kPiPTm.js";import"./envs-DFlyG_dH.js";import"./index-DrTwaLT5.js";import"./DebouncedInput-CQn1amHY.js";function z(){const{t:a,i18n:h}=p(["health","settings","common"]),t=d(s=>s.bridgeHealth),i=d(s=>s.devices),v=m.useMemo(()=>{const s=[];if(t)for(const r in t.devices){const n=i.find(_=>_.ieee_address===r);n&&s.push({device:n,health:t.devices[r]})}return s},[t,i]),j=m.useMemo(()=>[{id:"friendly_name",header:a("common:friendly_name"),accessorFn:({device:s})=>[s.friendly_name,s.description,s.ieee_address].join(" "),cell:({row:{original:{device:s}}})=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"avatar",children:e.jsx("div",{className:"h-11 w-11",style:{overflow:"visible"},children:e.jsx(N,{device:s,disabled:!1})})}),e.jsx("div",{className:"flex flex-col",children:e.jsxs(u,{to:`/device/${s.ieee_address}/info`,className:"link link-hover",children:[s.friendly_name,s.friendly_name!==s.ieee_address?` (${s.ieee_address})`:""]})})]})},{id:"messages",header:a("messages"),accessorFn:({health:s})=>s.messages,enableColumnFilter:!1},{id:"messages_per_sec",header:a("messages_per_sec"),accessorFn:({health:s})=>s.messages_per_sec,enableColumnFilter:!1,cell:({row:{original:{health:s}}})=>e.jsx("span",{className:s.messages_per_sec>1?s.messages_per_sec>3?"text-error":"text-warning":s.messages_per_sec<.2?"text-success":"",children:s.messages_per_sec<=.001?a("very_low"):s.messages_per_sec})},{id:"leave_count",header:a("leave_count"),accessorFn:({health:s})=>s.leave_count,enableColumnFilter:!1},{id:"network_address_changes",header:a("network_address_changes"),accessorFn:({health:s})=>s.network_address_changes,enableColumnFilter:!1}],[a]);if(t.response_time===0)return e.jsxs("div",{className:"alert alert-info alert-soft",role:"alert",children:[e.jsx(l,{icon:o,size:"2xl"}),a("awaiting_next_check")]});const c=new Date(Date.now()-t.process.uptime_sec*1e3);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(l,{icon:o,size:"2xl"}),a("interview_info")]}),e.jsxs("div",{className:"flex flex-col gap-3 items-center mb-2",children:[e.jsxs("p",{className:"text-sm",children:[a("last_check"),": ",x(new Date(t.response_time))]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("os")})}),t.os.load_average.some(s=>s!==0)&&e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("load_average")}),e.jsx("div",{className:"stat-value text-lg",children:t.os.load_average.join(", ")}),e.jsx("div",{className:"stat-desc",children:e.jsx("a",{href:"https://www.digitalocean.com/community/tutorials/load-average-in-linux",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"1min, 5min, 15min"})})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("ram_usage")}),e.jsxs("div",{className:"stat-value text-lg",children:[t.os.memory_percent," %"]}),e.jsxs("div",{className:"stat-desc",children:[t.os.memory_used_mb," MB"]})]})]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("process")})}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("uptime")}),e.jsx("div",{className:"stat-value text-lg",children:w(c,h.language)}),e.jsx("div",{className:"stat-desc",children:x(c)})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("ram_usage")}),e.jsxs("div",{className:"stat-value text-lg",children:[t.process.memory_percent," %"]}),e.jsxs("div",{className:"stat-desc",children:[t.process.memory_used_mb," MB"]})]})]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("settings:mqtt")})}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-value text-lg",children:e.jsx(l,{icon:g,className:t.mqtt.connected?"text-success":"text-error"})}),e.jsxs("div",{className:"stat-desc",children:[a("queued"),": ",t.mqtt.queued]})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("published")}),e.jsx("div",{className:"stat-value text-lg",children:t.mqtt.published})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("received")}),e.jsx("div",{className:"stat-value text-lg",children:t.mqtt.received})]})]})]}),e.jsx(f,{id:"health-devices",columns:j,data:v})]})}export{z as default};
@@ -1 +1 @@
1
- import{u as a,r as s,s as t,H as r,j as o}from"./index-C1gKvOQY.js";import"./envs-DFlyG_dH.js";function d(){const e=a();return s.useEffect(()=>{e(t.get(r)==="dashboard"?"/dashboard":"/devices",{replace:!0})},[e]),o.jsx("div",{})}export{d as default};
1
+ import{u as a,r as s,s as t,H as r,j as o}from"./index-DgPAmC_w.js";import"./envs-DFlyG_dH.js";function d(){const e=a();return s.useEffect(()=>{e(t.get(r)==="dashboard"?"/dashboard":"/devices",{replace:!0})},[e]),o.jsx("div",{})}export{d as default};
@@ -1 +1 @@
1
- import{r as i,j as e}from"./index-C1gKvOQY.js";const c=i.memo(s=>{const{label:l,detail:t,onChange:a,onBlur:n,...r}=s;return e.jsxs("fieldset",{className:"fieldset",children:[l&&e.jsx("legend",{className:"fieldset-legend",children:l}),e.jsx("input",{className:`input min-w-xs${s.pattern||s.required?" validator":""}`,onChange:a,onBlur:n,...r}),t&&e.jsx("p",{className:"label",children:t})]})});export{c as I};
1
+ import{r as i,j as e}from"./index-DgPAmC_w.js";const c=i.memo(s=>{const{label:l,detail:t,onChange:a,onBlur:n,...r}=s;return e.jsxs("fieldset",{className:"fieldset",children:[l&&e.jsx("legend",{className:"fieldset-legend",children:l}),e.jsx("input",{className:`input min-w-xs${s.pattern||s.required?" validator":""}`,onChange:a,onBlur:n,...r}),t&&e.jsx("p",{className:"label",children:t})]})});export{c as I};
@@ -1 +1 @@
1
- import{r,b as o,c as m,j as t,a8 as c}from"./index-C1gKvOQY.js";import{f as i}from"./format-DKj-n12h.js";const x=r.memo(({lastSeen:s,config:e})=>{const{i18n:n}=o(),a=m(s,e);return a?t.jsx("span",{title:c(a),children:i(a,n.language)}):t.jsx("span",{children:"N/A"})});export{x as L};
1
+ import{r,b as o,c as m,j as t,a8 as c}from"./index-DgPAmC_w.js";import{f as i}from"./format-t-kPiPTm.js";const x=r.memo(({lastSeen:s,config:e})=>{const{i18n:n}=o(),a=m(s,e);return a?t.jsx("span",{title:c(a),children:i(a,n.language)}):t.jsx("span",{children:"N/A"})});export{x as L};
@@ -1 +1 @@
1
- import{r as l,W as w,C as y,a as r,b as N,a3 as S,j as s,a4 as x,F as u,f as k,B as f,y as E,a5 as I,a6 as M,a7 as A,a8 as F}from"./index-C1gKvOQY.js";import{C as G}from"./CheckboxField-CKgIp8a8.js";import{D}from"./DebouncedInput-xxDjw8fK.js";import{S as g}from"./SelectField-BiRFHt2I.js";import"./envs-DFlyG_dH.js";const O={error:"bg-error text-error-content",warning:"bg-warning text-warning-content",info:"bg-info text-info-content",debug:"bg-accent text-accent-content opacity-50"};function B(){const{sendMessage:m}=l.useContext(w),[t,d]=l.useState(""),[n,j]=l.useState("all"),[i,L]=l.useState(!1),h=y(),b=r(e=>e.logsLimit),v=r(e=>e.bridgeInfo.config.advanced.log_level),{t:a}=N("logs"),c=r(e=>e.logs),p=l.useMemo(()=>c.filter(e=>(n==="all"||e.level===n)&&(i||!t||e.message.toLowerCase().includes(t.toLowerCase()))),[t,i,n,c]),C=l.useCallback((e,o)=>t&&e.toLowerCase().includes(t.toLowerCase())?O[o]:S[o],[t]),_=l.useCallback(async e=>{await m("bridge/request/options",{options:{advanced:{log_level:e}}})},[m]);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex flex-row flex-wrap gap-3 items-top",children:[s.jsxs(g,{name:"log_level",label:a("show_only"),value:n,onChange:e=>j(e.target.value),children:[s.jsx("option",{value:"all",children:"all"},"all"),x.map(e=>s.jsx("option",{value:e,children:e},e))]}),s.jsxs("fieldset",{className:"fieldset",children:[s.jsx("legend",{className:"fieldset-legend",children:a("filter_by_text")}),s.jsxs("div",{className:"join",children:[s.jsxs("label",{className:"input w-64 join-item",children:[s.jsx(u,{icon:k}),s.jsx(D,{className:"",type:"search",onChange:e=>d(e.toString()),placeholder:a("common:search"),value:t})]}),s.jsx(f,{item:"",onClick:d,className:"btn btn-square join-item",title:a("common:clear"),children:s.jsx(u,{icon:E})})]})]}),s.jsx(G,{name:"highlight_only",label:a("highlight_only"),checked:i,onChange:e=>L(e.target.checked)}),s.jsx(g,{name:"log_limit",label:a("logs_limit"),onChange:e=>{h(M(Number.parseInt(e.target.value)))},value:b,children:I.map(e=>s.jsx("option",{value:e,children:e},e))}),s.jsx(f,{onClick:()=>{h(A())},className:"btn btn-primary self-center",disabled:c.length===0,children:a("common:clear")}),s.jsx("div",{className:"ml-auto",children:s.jsx(g,{name:"log_level_config",label:a("log_level_config"),value:v,onChange:e=>!e.target.validationMessage&&_(e.target.value),children:x.map(e=>s.jsx("option",{value:e,children:e},e))})})]}),s.jsx("div",{className:"mockup-code w-full mt-1 mb-3",children:p.length>0?p.map((e,o)=>s.jsx("pre",{"data-prefix":o,className:C(e.message,e.level),children:s.jsxs("code",{children:["[",e.timestamp,"] ",e.message]})},`${e.timestamp}-${e.message}`)):s.jsx("pre",{"data-prefix":"~",children:s.jsxs("code",{children:["[",F(new Date),"] ",a("empty_logs_message")]})})})]})}export{B as default};
1
+ import{r as l,W as w,C as y,a as r,b as N,a3 as S,j as s,a4 as x,F as u,f as k,B as f,y as E,a5 as I,a6 as M,a7 as A,a8 as F}from"./index-DgPAmC_w.js";import{C as G}from"./CheckboxField-B0ZAooGT.js";import{D}from"./DebouncedInput-CQn1amHY.js";import{S as g}from"./SelectField-DsBhV18y.js";import"./envs-DFlyG_dH.js";const O={error:"bg-error text-error-content",warning:"bg-warning text-warning-content",info:"bg-info text-info-content",debug:"bg-accent text-accent-content opacity-50"};function B(){const{sendMessage:m}=l.useContext(w),[t,d]=l.useState(""),[n,j]=l.useState("all"),[i,L]=l.useState(!1),h=y(),b=r(e=>e.logsLimit),v=r(e=>e.bridgeInfo.config.advanced.log_level),{t:a}=N("logs"),c=r(e=>e.logs),p=l.useMemo(()=>c.filter(e=>(n==="all"||e.level===n)&&(i||!t||e.message.toLowerCase().includes(t.toLowerCase()))),[t,i,n,c]),C=l.useCallback((e,o)=>t&&e.toLowerCase().includes(t.toLowerCase())?O[o]:S[o],[t]),_=l.useCallback(async e=>{await m("bridge/request/options",{options:{advanced:{log_level:e}}})},[m]);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex flex-row flex-wrap gap-3 items-top",children:[s.jsxs(g,{name:"log_level",label:a("show_only"),value:n,onChange:e=>j(e.target.value),children:[s.jsx("option",{value:"all",children:"all"},"all"),x.map(e=>s.jsx("option",{value:e,children:e},e))]}),s.jsxs("fieldset",{className:"fieldset",children:[s.jsx("legend",{className:"fieldset-legend",children:a("filter_by_text")}),s.jsxs("div",{className:"join",children:[s.jsxs("label",{className:"input w-64 join-item",children:[s.jsx(u,{icon:k}),s.jsx(D,{className:"",type:"search",onChange:e=>d(e.toString()),placeholder:a("common:search"),value:t})]}),s.jsx(f,{item:"",onClick:d,className:"btn btn-square join-item",title:a("common:clear"),children:s.jsx(u,{icon:E})})]})]}),s.jsx(G,{name:"highlight_only",label:a("highlight_only"),checked:i,onChange:e=>L(e.target.checked)}),s.jsx(g,{name:"log_limit",label:a("logs_limit"),onChange:e=>{h(M(Number.parseInt(e.target.value)))},value:b,children:I.map(e=>s.jsx("option",{value:e,children:e},e))}),s.jsx(f,{onClick:()=>{h(A())},className:"btn btn-primary self-center",disabled:c.length===0,children:a("common:clear")}),s.jsx("div",{className:"ml-auto",children:s.jsx(g,{name:"log_level_config",label:a("log_level_config"),value:v,onChange:e=>!e.target.validationMessage&&_(e.target.value),children:x.map(e=>s.jsx("option",{value:e,children:e},e))})})]}),s.jsx("div",{className:"mockup-code w-full mt-1 mb-3",children:p.length>0?p.map((e,o)=>s.jsx("pre",{"data-prefix":o,className:C(e.message,e.level),children:s.jsxs("code",{children:["[",e.timestamp,"] ",e.message]})},`${e.timestamp}-${e.message}`)):s.jsx("pre",{"data-prefix":"~",children:s.jsxs("code",{children:["[",F(new Date),"] ",a("empty_logs_message")]})})})]})}export{B as default};
@@ -1 +1 @@
1
- import{r,j as t,F as i,aV as a}from"./index-C1gKvOQY.js";import{D as n}from"./DisplayValue-CThy0Fna.js";const x=r.memo(({value:s})=>{let e="";return s&&(s<75?e="text-error":s<125?e="text-warning":s>200&&(e="text-success")),t.jsxs(t.Fragment,{children:[t.jsx(i,{icon:a,className:e})," ",t.jsx("span",{className:e,children:t.jsx(n,{value:s,name:"linkquality"})})]})});export{x as L};
1
+ import{r,j as t,F as i,aW as a}from"./index-DgPAmC_w.js";import{D as n}from"./DisplayValue-DF3KVUYK.js";const x=r.memo(({value:s})=>{let e="";return s&&(s<75?e="text-error":s<125?e="text-warning":s>200&&(e="text-success")),t.jsxs(t.Fragment,{children:[t.jsx(i,{icon:a,className:e})," ",t.jsx("span",{className:e,children:t.jsx(n,{value:s,name:"linkquality"})})]})});export{x as L};
Binary file
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./RawNetworkData-KimVYxDA.js","./index-C1gKvOQY.js","./envs-DFlyG_dH.js","./index-C5jxp7BF.css","./DeviceImage-Cbh-Uae_.js","./index-BEfVjKh5.js","./DebouncedInput-xxDjw8fK.js","./PowerSource-CpboKkXb.js","./snakeCase-BPEk2aWA.js","./_createCompounder-EtfNZAeu.js","./index-Bs7zcW7e.js","./Lqi-CH0xJyhG.js","./DisplayValue-CThy0Fna.js","./RawNetworkMap-g31InUyr.js"])))=>i.map(i=>d[i]);
2
- import{C,r as s,W as E,b as R,a as m,s as d,E as h,G as M,I as T,j as e,F as n,J as x,B as z,K as I,i as S,_ as g}from"./index-C1gKvOQY.js";import{C as A}from"./CheckboxField-CKgIp8a8.js";import{S as f}from"./SelectField-BiRFHt2I.js";import"./envs-DFlyG_dH.js";const D=s.lazy(async()=>await g(()=>import("./RawNetworkData-KimVYxDA.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url)),F=s.lazy(async()=>await g(()=>import("./RawNetworkMap-g31InUyr.js"),__vite__mapDeps([13,1,2,3,10]),import.meta.url));function q(){const o=C(),{sendMessage:u}=s.useContext(E),{t:a}=R(["network","common"]),i=m(t=>t.networkMapIsLoading),r=m(t=>t.networkMap),[l,w]=s.useState("raw"),[c,j]=s.useState(!1),[p,k]=s.useState(d.get(h,"data")),v=s.useCallback(t=>{t.target.value&&w(t.target.value)},[]),y=s.useCallback(t=>{t.target.value&&(d.set(h,t.target.value),k(t.target.value))},[]),b=s.useCallback(t=>{j(t.target.checked)},[]),_=s.useCallback(async()=>{o(M(void 0)),o(T()),await u("bridge/request/networkmap",{type:l,routes:c})},[l,c,o,u]),N=s.useMemo(()=>{if(i)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:e.jsx("span",{className:"loading loading-infinity loading-xl"})}),e.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:a("loading")})]});if(r)switch(r.type){case"raw":return p==="data"?e.jsx(D,{map:r.value}):e.jsx(F,{map:r.value});case"graphviz":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(n,{icon:x,size:"2xl"}),a("copy_paste_on"),e.jsx("a",{href:"https://dreampuf.github.io/GraphvizOnline",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://dreampuf.github.io/GraphvizOnline"}),e.jsx("a",{href:"https://edotor.net/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://edotor.net/"})]}),e.jsx("textarea",{className:"textarea w-full",rows:5,readOnly:!0,value:r.value})]});case"plantuml":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(n,{icon:x,size:"2xl"}),a("copy_paste_on"),e.jsx("a",{href:"https://editor.plantuml.com/uml/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://editor.plantuml.com/uml/"}),e.jsx("a",{href:"https://www.planttext.com/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://www.planttext.com/"})]}),e.jsx("textarea",{className:"textarea w-full",rows:5,readOnly:!0,value:r.value})]})}return null},[r,i,p,a]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-row justify-center gap-3 mb-2",children:[e.jsxs(f,{name:"type",label:a("type"),value:l,onChange:v,children:[e.jsx("option",{value:"raw",children:a("raw")}),e.jsx("option",{value:"graphviz",children:a("graphviz")}),e.jsx("option",{value:"plantuml",children:a("plantuml")})]}),e.jsx(A,{name:"enable_routes",label:a("enable_routes"),checked:c,onChange:b}),e.jsx(z,{className:"btn btn-primary btn-square self-center ms-3 me-6",onClick:_,title:a(r?"reload":"load"),disabled:i,children:r?e.jsx(n,{icon:I}):e.jsx(n,{icon:S})}),l==="raw"&&e.jsxs(f,{name:"display_type",label:a("display_type"),value:p,onChange:y,children:[e.jsx("option",{value:"data",children:a("data")}),e.jsx("option",{value:"map",children:a("map")})]})]}),N]})}export{q as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./RawNetworkData-CeSDwrpo.js","./index-DgPAmC_w.js","./envs-DFlyG_dH.js","./index-sQ1gk-WC.css","./DeviceImage-D1eMVw0z.js","./index-DrTwaLT5.js","./DebouncedInput-CQn1amHY.js","./PowerSource-o1vFxO_3.js","./snakeCase-qp4IAc5c.js","./_createCompounder-D8WZ6ZEG.js","./index-Bs7zcW7e.js","./Lqi-YSPJvreQ.js","./DisplayValue-DF3KVUYK.js","./RawNetworkMap-CGARBCHA.js"])))=>i.map(i=>d[i]);
2
+ import{C,r as s,W as E,b as R,a as m,s as d,E as h,G as M,I as T,j as e,F as n,J as x,B as z,K as I,i as S,_ as g}from"./index-DgPAmC_w.js";import{C as A}from"./CheckboxField-B0ZAooGT.js";import{S as f}from"./SelectField-DsBhV18y.js";import"./envs-DFlyG_dH.js";const D=s.lazy(async()=>await g(()=>import("./RawNetworkData-CeSDwrpo.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url)),F=s.lazy(async()=>await g(()=>import("./RawNetworkMap-CGARBCHA.js"),__vite__mapDeps([13,1,2,3,10]),import.meta.url));function q(){const o=C(),{sendMessage:u}=s.useContext(E),{t:a}=R(["network","common"]),i=m(t=>t.networkMapIsLoading),r=m(t=>t.networkMap),[l,w]=s.useState("raw"),[c,j]=s.useState(!1),[p,k]=s.useState(d.get(h,"data")),v=s.useCallback(t=>{t.target.value&&w(t.target.value)},[]),y=s.useCallback(t=>{t.target.value&&(d.set(h,t.target.value),k(t.target.value))},[]),b=s.useCallback(t=>{j(t.target.checked)},[]),_=s.useCallback(async()=>{o(M(void 0)),o(T()),await u("bridge/request/networkmap",{type:l,routes:c})},[l,c,o,u]),N=s.useMemo(()=>{if(i)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:e.jsx("span",{className:"loading loading-infinity loading-xl"})}),e.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:a("loading")})]});if(r)switch(r.type){case"raw":return p==="data"?e.jsx(D,{map:r.value}):e.jsx(F,{map:r.value});case"graphviz":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(n,{icon:x,size:"2xl"}),a("copy_paste_on"),e.jsx("a",{href:"https://dreampuf.github.io/GraphvizOnline",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://dreampuf.github.io/GraphvizOnline"}),e.jsx("a",{href:"https://edotor.net/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://edotor.net/"})]}),e.jsx("textarea",{className:"textarea w-full",rows:5,readOnly:!0,value:r.value})]});case"plantuml":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(n,{icon:x,size:"2xl"}),a("copy_paste_on"),e.jsx("a",{href:"https://editor.plantuml.com/uml/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://editor.plantuml.com/uml/"}),e.jsx("a",{href:"https://www.planttext.com/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://www.planttext.com/"})]}),e.jsx("textarea",{className:"textarea w-full",rows:5,readOnly:!0,value:r.value})]})}return null},[r,i,p,a]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-row justify-center gap-3 mb-2",children:[e.jsxs(f,{name:"type",label:a("type"),value:l,onChange:v,children:[e.jsx("option",{value:"raw",children:a("raw")}),e.jsx("option",{value:"graphviz",children:a("graphviz")}),e.jsx("option",{value:"plantuml",children:a("plantuml")})]}),e.jsx(A,{name:"enable_routes",label:a("enable_routes"),checked:c,onChange:b}),e.jsx(z,{className:"btn btn-primary btn-square self-center ms-3 me-6",onClick:_,title:a(r?"reload":"load"),disabled:i,children:r?e.jsx(n,{icon:I}):e.jsx(n,{icon:S})}),l==="raw"&&e.jsxs(f,{name:"display_type",label:a("display_type"),value:p,onChange:y,children:[e.jsx("option",{value:"data",children:a("data")}),e.jsx("option",{value:"map",children:a("map")})]})]}),N]})}export{q as default};
@@ -1 +1 @@
1
- import{r as l,j as e}from"./index-C1gKvOQY.js";const j=l.memo(a=>{const{label:i,detail:u,onChange:c,onSubmit:m,defaultValue:t,minimal:d,...x}=a,[n,o]=l.useState(t);l.useEffect(()=>{o(t)},[t]);const g=l.useCallback(s=>{o(s.target.value?s.target.valueAsNumber:""),c?.(s)},[c]),r=l.useCallback(s=>{m?.(n,!s.target.validationMessage)},[m,n]);return e.jsxs("fieldset",{className:"fieldset",children:[i&&e.jsx("legend",{className:"fieldset-legend",children:i}),a.min!=null&&a.max!=null&&e.jsxs("div",{className:"w-full max-w-xs",children:[e.jsx("input",{className:"range range-xs range-primary",onChange:g,onTouchEnd:r,onMouseUp:r,...x,type:"range",value:n}),e.jsxs("div",{className:"flex justify-between px-1 mt-1 text-xs",children:[e.jsx("span",{children:a.min}),d&&e.jsx("span",{children:n}),e.jsx("span",{children:a.max})]})]}),!d&&e.jsx("input",{className:`input${a.pattern||a.required?" validator":""}`,onChange:g,onBlur:r,...x,type:"number",value:n}),u&&e.jsx("p",{className:"label whitespace-normal",children:u})]})});export{j as N};
1
+ import{r as l,j as e}from"./index-DgPAmC_w.js";const j=l.memo(a=>{const{label:i,detail:u,onChange:c,onSubmit:m,defaultValue:t,minimal:d,...x}=a,[n,o]=l.useState(t);l.useEffect(()=>{o(t)},[t]);const g=l.useCallback(s=>{o(s.target.value?s.target.valueAsNumber:""),c?.(s)},[c]),r=l.useCallback(s=>{m?.(n,!s.target.validationMessage)},[m,n]);return e.jsxs("fieldset",{className:"fieldset",children:[i&&e.jsx("legend",{className:"fieldset-legend",children:i}),a.min!=null&&a.max!=null&&e.jsxs("div",{className:"w-full max-w-xs",children:[e.jsx("input",{className:"range range-xs range-primary",onChange:g,onTouchEnd:r,onMouseUp:r,...x,type:"range",value:n}),e.jsxs("div",{className:"flex justify-between px-1 mt-1 text-xs",children:[e.jsx("span",{children:a.min}),d&&e.jsx("span",{children:n}),e.jsx("span",{children:a.max})]})]}),!d&&e.jsx("input",{className:`input${a.pattern||a.required?" validator":""}`,onChange:g,onBlur:r,...x,type:"number",value:n}),u&&e.jsx("p",{className:"label whitespace-normal",children:u})]})});export{j as N};
@@ -0,0 +1 @@
1
+ import{r as o,b as f,j as s,B as S,F as u,S as F,R as h,T as g,U as q,V as M,a as $,W as z,L as A,X as O}from"./index-DgPAmC_w.js";import{D as U}from"./DeviceImage-D1eMVw0z.js";import{C as P}from"./CheckboxField-B0ZAooGT.js";import{T as B}from"./Table-CCXyChbm.js";import{M as R,V as T}from"./VendorLink-BDajakAs.js";import{P as E}from"./PowerSource-o1vFxO_3.js";import"./envs-DFlyG_dH.js";import"./index-DrTwaLT5.js";import"./DebouncedInput-CQn1amHY.js";import"./snakeCase-qp4IAc5c.js";import"./_createCompounder-D8WZ6ZEG.js";const I=o.memo(({label:l,remaining:n,progress:t})=>{if(n&&n>0){const a=Math.floor(n/3600),i=Math.floor(n/60)%60,m=Math.floor(n%60),r=a>0,b=i>0;return s.jsxs(s.Fragment,{children:[s.jsx("progress",{className:"progress w-48",value:t,max:"100"}),s.jsxs("div",{children:[l," ",`${r?`${a}:`:""}${b?`${i}:`:""}${m}`]})]})}return s.jsx("progress",{className:"progress w-48",value:t,max:"100"})}),V=o.memo(l=>{const{t:n}=f(["ota","common"]),{device:t,state:a,onCheckClick:i,onUpdateClick:m,onScheduleClick:r,onUnscheduleClick:b}=l;return a==null||a.state==="idle"?s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(S,{className:"btn btn-square btn-outline btn-primary join-item",onClick:i,item:t.ieee_address,title:n("check"),children:s.jsx(u,{icon:F})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info join-item",onClick:r,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:g})})]}):a.state==="updating"?s.jsx(I,{label:n("remaining_time"),remaining:a.remaining,progress:a.progress}):s.jsx("div",{className:"join join-horizontal",children:a.state==="available"?s.jsxs(s.Fragment,{children:[s.jsx(h,{className:"btn btn-square btn-outline btn-error join-item",onClick:m,item:t.ieee_address,title:n("update"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:q})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info join-item",onClick:r,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:g})})]}):a.state==="scheduled"?s.jsx(h,{className:"btn btn-square btn-outline btn-error join-item",onClick:b,item:t.ieee_address,title:n("unschedule"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:M})}):s.jsxs(s.Fragment,{children:[s.jsx(S,{className:"btn btn-square btn-outline btn-primary join-item",onClick:i,item:t.ieee_address,title:n("check"),children:s.jsx(u,{icon:F})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info join-item",onClick:r,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:g})})]})})}),L=o.memo(l=>{const{t:n}=f("ota"),t=o.useMemo(()=>{if(l.version==null||l.version<0)return;const a=l.version.toString(16).padStart(8,"0"),i=`${a[0]}.${a[1]}`,m=a.slice(2,4),r=`${a[4]}.${a[5]}`,b=a.slice(6);return[i,m,r,b]},[l.version]);return t===void 0?s.jsx("span",{children:"N/A"}):s.jsxs("div",{className:"join join-vertical",children:[s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default join-item w-full",children:[n("app"),": ",`${t[0]} build ${t[1]}`]}),s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default join-item w-full",children:[n("stack"),": ",`${t[2]} build ${t[3]}`]})]})}),K=o.memo(({device:l})=>{const{t:n}=f("zigbee");let t="https://github.com/Koenkk/zigbee-OTA/releases";const a=l.software_build_id||n("unknown");switch(l?.definition?.vendor){case"IKEA":t="https://ww8.ikea.com/ikeahomesmart/releasenotes/releasenotes.html";break;case"Inovelli":t="https://help.inovelli.com/en/articles/8503774-what-is-the-latest-firmware-version-for-your-device#h_b74c1e7dc6";break;case"Philips":t=`https://www.philips-hue.com/en-us/support/release-notes/${l.definition?.exposes.find(i=>i.type==="light")?"lamps":"accessories"}`;break;case"Ubisys":t=`https://www.ubisys.de/en/support/firmware/change-logs-${l.definition?.model?.replace(/[-]/g,"").toLowerCase()}/`;break}return s.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:t,className:"link link-hover",children:a})});function te(){const l=$(e=>e.devices),n=$(e=>e.deviceStates),{sendMessage:t}=o.useContext(z),{t:a}=f(["ota","zigbee","common"]),[i,m]=o.useState([]),[r,b]=o.useState(!1);o.useEffect(()=>{m([])},[l]);const p=o.useMemo(()=>{const e=[];for(const c of l)if(c.definition?.supports_ota&&!c.disabled){const d=n[c.friendly_name]??{};(!r||d.update?.state==="available")&&e.push({device:c,state:d.update,batteryState:c.power_source==="Battery"?{batteryPercent:d.battery,batteryState:d.battery_state,batteryLow:d.battery_low}:void 0,selected:i.includes(c.ieee_address)})}return e},[n,l,i,r]),x=o.useCallback(e=>{e.target.checked?m(p.map(({device:c})=>c.ieee_address)):m([])},[p]),j=o.useCallback((e,c)=>{m(c?[...i,e.ieee_address]:i.filter(d=>d!==e.ieee_address))},[i]),k=o.useCallback(async()=>{await Promise.allSettled(i.map(e=>t("bridge/request/device/ota_update/check",{id:e})))},[t,i]),_=o.useCallback(async()=>{await Promise.allSettled(i.map(e=>t("bridge/request/device/ota_update/update",{id:e})))},[t,i]),C=o.useCallback(async e=>await t("bridge/request/device/ota_update/check",{id:e}),[t]),v=o.useCallback(async e=>await t("bridge/request/device/ota_update/update",{id:e}),[t]),w=o.useCallback(async e=>await t("bridge/request/device/ota_update/schedule",{id:e}),[t]),y=o.useCallback(async e=>await t("bridge/request/device/ota_update/unschedule",{id:e}),[t]),N=o.useCallback(e=>{b(e.target.checked)},[]),D=o.useMemo(()=>[{id:"select",header:()=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:x,defaultChecked:i.length===p.length})}),accessorFn:()=>"",cell:({row:{original:{device:e,selected:c}}})=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:d=>j(e,d.target.checked),defaultChecked:c})}),enableColumnFilter:!1,enableSorting:!1},{id:"friendly_name",header:a("common:friendly_name"),accessorFn:({device:e})=>[e.friendly_name,e.description,e.ieee_address].join(" "),cell:({row:{original:{device:e,state:c,batteryState:d}}})=>s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"avatar",children:s.jsx("div",{className:"h-11 w-11",style:{overflow:"visible"},children:s.jsx(U,{device:e,otaState:c?.state,disabled:!1})})}),s.jsxs("div",{className:"flex-grow flex flex-col",children:[s.jsxs(A,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:[e.friendly_name,e.friendly_name!==e.ieee_address?` (${e.ieee_address})`:""]}),e.description&&s.jsx("div",{className:"max-w-3xs text-xs opacity-50 truncate",title:e.description,children:e.description}),s.jsxs("div",{className:"flex flex-row gap-1 mt-0.5 items-center",children:[s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default",title:a("zigbee:firmware_id"),children:[s.jsx(u,{icon:O}),s.jsx(K,{device:e}),e.date_code?s.jsxs("span",{title:a("zigbee:firmware_build_date"),children:[" (",e.date_code,")"]}):void 0]}),d&&s.jsx("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default",children:s.jsx(E,{device:e,...d})})]})]})]})},{id:"model",header:a("zigbee:model"),accessorFn:({device:e})=>[e.definition?.model,e.model_id,e.definition?.vendor,e.manufacturer].join(" "),cell:({row:{original:{device:e}}})=>s.jsxs(s.Fragment,{children:[s.jsx(R,{device:e}),s.jsx("div",{children:s.jsx("span",{className:"badge badge-sm badge-ghost",title:a("zigbee:manufacturer"),children:s.jsx(T,{device:e})})})]})},{id:"firmware_version",header:a("firmware_version"),accessorFn:({state:e})=>e?.installed_version,cell:({row:{original:{state:e}}})=>s.jsx(L,{version:e?.installed_version}),enableColumnFilter:!1},{id:"available_firmware_version",header:a("available_firmware_version"),accessorFn:({state:e})=>e?.latest_version,cell:({row:{original:{state:e}}})=>s.jsx(L,{version:e?.latest_version}),enableColumnFilter:!1},{id:"actions",header:()=>s.jsxs(s.Fragment,{children:[s.jsx(P,{name:"available_only",detail:a("common:available_only"),onChange:N,checked:r,className:"checkbox checkbox-sm"}),s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(h,{className:"btn btn-outline btn-error btn-xs join-item",onClick:k,title:a("check_selected"),modalDescription:a("common:dialog_confirmation_prompt"),modalCancelLabel:a("common:cancel"),disabled:i.length===0,children:a("check_selected")}),s.jsx(h,{className:"btn btn-outline btn-error btn-xs join-item",onClick:_,title:a("update_selected"),modalDescription:a("update_selected_info"),modalCancelLabel:a("common:cancel"),disabled:i.length===0,children:a("update_selected")})]})]}),accessorFn:({state:e})=>e?.state,cell:({row:{original:{device:e,state:c}}})=>s.jsx(V,{device:e,state:c,onCheckClick:C,onUpdateClick:v,onScheduleClick:w,onUnscheduleClick:y}),enableSorting:!1,enableColumnFilter:!1}],[i.length,p.length,r,x,j,k,_,C,v,w,y,N,a]);return s.jsx(B,{id:"ota-devices",columns:D,data:p})}export{te as default};
@@ -0,0 +1 @@
1
+ import{r as d,b as j,j as t,F as o,bN as g,bK as E,bO as B,bn as P,bD as f,bE as k,bF as w,bG as F,bx as m}from"./index-DgPAmC_w.js";import{s as y}from"./snakeCase-qp4IAc5c.js";const G=d.memo(x=>{const{device:u,batteryPercent:a,batteryState:b,batteryLow:c,showLevel:h,...n}=x,{t:i}=j("zigbee");let s;switch(u?.power_source&&(s=u.power_source),s){case"Battery":{let p=i("battery"),r="",e=f,l=!1;if(a!=null)r=`${a}%`,a>=85?e=f:a>=65?e=k:a>=40?e=w:a>=20?e=F:(e=m,l=!0);else if(b!=null)switch(r=b,b){case"high":e=f;break;case"medium":e=w;break;case"low":e=m,l=!0;break}else c!=null&&(r=c?"low":"ok",e=c?m:f);return c===!0&&(l=!0),r!==""&&(p+=`, ${i("power_level")}: ${r}`),t.jsxs("span",{className:l?"text-error":"",children:[t.jsx(o,{icon:e,fade:l,title:p,...n}),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:i(y(s)),...n});case"Emergency mains and transfer switch":case"Emergency mains constantly powered":return t.jsx(o,{icon:B,title:i(y(s)),...n});default:return u?.type==="GreenPower"?t.jsx(o,{icon:g,title:"Green",...n}):t.jsx(o,{icon:E,title:s?i(y(s)):void 0,...n})}});export{G as P};
@@ -1,4 +1,4 @@
1
- import{ae as or,r as ee,b as Ni,j as w,t as pt,F as Ge,au as pp,L as Wi,a as dp,a1 as vp,f as xp,B as _s,y as ps,av as wp}from"./index-C1gKvOQY.js";import{D as xs}from"./DeviceImage-Cbh-Uae_.js";import{D as ds}from"./DebouncedInput-xxDjw8fK.js";import{P as Ap}from"./PowerSource-CpboKkXb.js";import{Z as gt}from"./index-Bs7zcW7e.js";import{L as mp}from"./Lqi-CH0xJyhG.js";import"./envs-DFlyG_dH.js";import"./index-BEfVjKh5.js";import"./snakeCase-BPEk2aWA.js";import"./_createCompounder-EtfNZAeu.js";import"./DisplayValue-CThy0Fna.js";var _t={exports:{}};/**
1
+ import{ae as or,r as ee,b as Ni,j as w,t as pt,F as Ge,au as pp,L as Wi,a as dp,a1 as vp,f as xp,B as _s,y as ps,av as wp}from"./index-DgPAmC_w.js";import{D as xs}from"./DeviceImage-D1eMVw0z.js";import{D as ds}from"./DebouncedInput-CQn1amHY.js";import{P as Ap}from"./PowerSource-o1vFxO_3.js";import{Z as gt}from"./index-Bs7zcW7e.js";import{L as mp}from"./Lqi-YSPJvreQ.js";import"./envs-DFlyG_dH.js";import"./index-DrTwaLT5.js";import"./snakeCase-qp4IAc5c.js";import"./_createCompounder-D8WZ6ZEG.js";import"./DisplayValue-DF3KVUYK.js";var _t={exports:{}};/**
2
2
  * @license
3
3
  * Lodash <https://lodash.com/>
4
4
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>