zigbee2mqtt-frontend 0.7.6 → 0.7.7

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 (85) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/assets/{Availability-f0b23599.js → Availability-7d1ad67a.js} +1 -1
  3. package/dist/assets/Availability-7d1ad67a.js.br +0 -0
  4. package/dist/assets/{CodeEditor-db28b75a.js → CodeEditor-162d545c.js} +1 -1
  5. package/dist/assets/CodeEditor-162d545c.js.br +0 -0
  6. package/dist/assets/{ConnectedDevicePage-904482a0.js → ConnectedDevicePage-020b39b8.js} +1 -1
  7. package/dist/assets/ConnectedDevicePage-020b39b8.js.br +0 -0
  8. package/dist/assets/{ConnectedMap-ad767e1b.js → ConnectedMap-d32cda0c.js} +1 -1
  9. package/dist/assets/ConnectedMap-d32cda0c.js.br +0 -0
  10. package/dist/assets/{Dashboard-d3d4628c.js → Dashboard-f146f49a.js} +1 -1
  11. package/dist/assets/Dashboard-f146f49a.js.br +0 -0
  12. package/dist/assets/{DashboardDevice-395e073f.js → DashboardDevice-fd421c8c.js} +1 -1
  13. package/dist/assets/DashboardDevice-fd421c8c.js.br +0 -0
  14. package/dist/assets/{DashboardFeatureWrapper-155f3706.js → DashboardFeatureWrapper-8ac440be.js} +1 -1
  15. package/dist/assets/DashboardFeatureWrapper-8ac440be.js.br +0 -0
  16. package/dist/assets/{DeviceImage-a061f5db.js → DeviceImage-48997860.js} +1 -1
  17. package/dist/assets/DeviceImage-48997860.js.br +0 -0
  18. package/dist/assets/{GroupPage-c483fae1.js → GroupPage-10f47920.js} +1 -1
  19. package/dist/assets/GroupPage-10f47920.js.br +0 -0
  20. package/dist/assets/{ReactTableCom-6781cab1.js → ReactTableCom-b480890d.js} +1 -1
  21. package/dist/assets/ReactTableCom-b480890d.js.br +0 -0
  22. package/dist/assets/{RecallRemove-0cbfef09.js → RecallRemove-06f1f30a.js} +1 -1
  23. package/dist/assets/RecallRemove-06f1f30a.js.br +0 -0
  24. package/dist/assets/{_baseSet-0d6ca43e.js → _baseSet-74ca6149.js} +1 -1
  25. package/dist/assets/{_getAllKeysIn-56690519.js → _getAllKeysIn-ace9893e.js} +1 -1
  26. package/dist/assets/{bootstrap-5.esm-d9fb6ca4.js → bootstrap-5.esm-bb33d65c.js} +1 -1
  27. package/dist/assets/bootstrap-5.esm-bb33d65c.js.br +0 -0
  28. package/dist/assets/{index-e42bdf4a.js → index-3b9ed763.js} +1 -1
  29. package/dist/assets/index-3b9ed763.js.br +0 -0
  30. package/dist/assets/{index-89eed468.js → index-51f2b290.js} +1 -1
  31. package/dist/assets/index-51f2b290.js.br +0 -0
  32. package/dist/assets/{index-a7046605.js → index-53072883.js} +1 -1
  33. package/dist/assets/index-53072883.js.br +0 -0
  34. package/dist/assets/{index-172e5c4f.js → index-5d073519.js} +1 -1
  35. package/dist/assets/index-5d073519.js.br +0 -0
  36. package/dist/assets/{index-abe21901.js → index-860ee670.js} +1 -1
  37. package/dist/assets/index-860ee670.js.br +0 -0
  38. package/dist/assets/{index-09c76387.js → index-8e5ef2b0.js} +1 -1
  39. package/dist/assets/{index-ba82a8b0.js → index-8f39548e.js} +1 -1
  40. package/dist/assets/index-8f39548e.js.br +0 -0
  41. package/dist/assets/{index-16cc7fdf.js → index-b3404931.js} +2 -2
  42. package/dist/assets/index-b3404931.js.br +0 -0
  43. package/dist/assets/{index-d1461a4f.js → index-c8da3237.js} +1 -1
  44. package/dist/assets/index-c8da3237.js.br +0 -0
  45. package/dist/assets/{index-1213f99f.js → index-df1b6001.js} +2 -2
  46. package/dist/assets/index-df1b6001.js.br +0 -0
  47. package/dist/assets/{intersection-88030dad.js → intersection-c3d96feb.js} +1 -1
  48. package/dist/assets/intersection-c3d96feb.js.br +0 -0
  49. package/dist/assets/{isEqual-0dd0f6d1.js → isEqual-d6e4d58f.js} +1 -1
  50. package/dist/assets/{jszip.min-232abc42.js → jszip.min-467e2c1e.js} +1 -1
  51. package/dist/assets/jszip.min-467e2c1e.js.br +0 -0
  52. package/dist/assets/{persist-8cc120f5.js → persist-44dd6f07.js} +1 -1
  53. package/dist/assets/persist-44dd6f07.js.br +0 -0
  54. package/dist/assets/{rjsf-translation-fields-3efc16a1.js → rjsf-translation-fields-3cb3ae9d.js} +1 -1
  55. package/dist/assets/{spinner-0a4b53d7.js → spinner-350c4bef.js} +1 -1
  56. package/dist/assets/{vendor-links-e591f1c0.js → vendor-links-50c24297.js} +1 -1
  57. package/dist/assets/vendor-links-50c24297.js.br +0 -0
  58. package/dist/index.html +1 -1
  59. package/dist/index.html.br +0 -0
  60. package/package.json +1 -1
  61. package/dist/assets/Availability-f0b23599.js.br +0 -0
  62. package/dist/assets/CodeEditor-db28b75a.js.br +0 -0
  63. package/dist/assets/ConnectedDevicePage-904482a0.js.br +0 -0
  64. package/dist/assets/ConnectedMap-ad767e1b.js.br +0 -0
  65. package/dist/assets/Dashboard-d3d4628c.js.br +0 -0
  66. package/dist/assets/DashboardDevice-395e073f.js.br +0 -0
  67. package/dist/assets/DashboardFeatureWrapper-155f3706.js.br +0 -0
  68. package/dist/assets/DeviceImage-a061f5db.js.br +0 -0
  69. package/dist/assets/GroupPage-c483fae1.js.br +0 -0
  70. package/dist/assets/ReactTableCom-6781cab1.js.br +0 -0
  71. package/dist/assets/RecallRemove-0cbfef09.js.br +0 -0
  72. package/dist/assets/bootstrap-5.esm-d9fb6ca4.js.br +0 -0
  73. package/dist/assets/index-1213f99f.js.br +0 -0
  74. package/dist/assets/index-16cc7fdf.js.br +0 -0
  75. package/dist/assets/index-172e5c4f.js.br +0 -0
  76. package/dist/assets/index-89eed468.js.br +0 -0
  77. package/dist/assets/index-a7046605.js.br +0 -0
  78. package/dist/assets/index-abe21901.js.br +0 -0
  79. package/dist/assets/index-ba82a8b0.js.br +0 -0
  80. package/dist/assets/index-d1461a4f.js.br +0 -0
  81. package/dist/assets/index-e42bdf4a.js.br +0 -0
  82. package/dist/assets/intersection-88030dad.js.br +0 -0
  83. package/dist/assets/jszip.min-232abc42.js.br +0 -0
  84. package/dist/assets/persist-8cc120f5.js.br +0 -0
  85. package/dist/assets/vendor-links-e591f1c0.js.br +0 -0
@@ -1 +1 @@
1
- import{u as g,l as D,j as i,r as j,L as x,g as w,d as f,c as C,a as h,w as k,R as S,i as H}from"./index-1213f99f.js";import{V as E,M as L}from"./vendor-links-e591f1c0.js";import{L as T,D as q,P as F}from"./index-abe21901.js";import{i as M,A as N,D as P}from"./Availability-f0b23599.js";import{T as A}from"./ReactTableCom-6781cab1.js";import{D as I}from"./DeviceImage-a061f5db.js";import{D as R}from"./DEVICES_GLOBAL_NAME-6620c611.js";import"./powerSourceTypeToTranslationKey-452dac81.js";import"./persist-8cc120f5.js";import"./index-09c76387.js";const V={"action-column":"_action-column_1729o_1","device-pic":"_device-pic_1729o_8","device-image":"_device-image_1729o_14"};function B(t){const{data:l,lastSeenType:o,availabilityFeatureEnabled:r,homeassistantEnabled:d,setDeviceDescription:y}=t,{renameDevice:c,removeDevice:m,configureDevice:v,interviewDevice:u}=t,{t:s}=g(["zigbee","common","avaliability"]),b=o!=="disable"?[{id:"last_seen",Header:s("last_seen"),accessor:({state:e})=>{var a;return(a=D(e,o))==null?void 0:a.getTime()},Cell:({row:{original:{state:e}}})=>i.jsx(T,{state:e,lastSeenType:o})}]:[],_=r?[{id:"availability",Header:s("avaliability:avaliability"),accessor:({availabilityState:e})=>M(e)?e:e.state,Cell:({row:{original:{availabilityState:e,availabilityEnabledForDevice:a,disabled:n}}})=>i.jsx(N,{disabled:n,availability:e,availabilityEnabledForDevice:a})}]:[],p=j.useMemo(()=>[{id:"pic",Header:s("pic"),Cell:({row:{original:{device:e,state:a,disabled:n}}})=>i.jsx(I,{className:V["device-image"],device:e,deviceStatus:a,disabled:n}),accessor:e=>e,disableSortBy:!0},{id:"friendly_name",Header:s("friendly_name"),accessor:({device:e})=>[e.friendly_name,e.description].join(" "),Cell:({row:{original:{device:e}}})=>i.jsxs(i.Fragment,{children:[i.jsx(x,{to:w(e.ieee_address),children:e.friendly_name}),i.jsx("small",{className:"d-block",children:e.description})]})},{id:"ieee_address",Header:s("ieee_address"),accessor:({device:e})=>[e.ieee_address,f(e.network_address,4)].join(" "),Cell:({row:{original:{device:e}}})=>i.jsxs(i.Fragment,{children:[i.jsx("div",{children:e.ieee_address}),i.jsx("div",{children:i.jsxs("abbr",{title:`${s("network_address_hex")} (${s("network_address_dec")}: ${e.network_address})`,children:["(",f(e.network_address,4),")"]})})]})},{id:"manufacturer",Header:s("manufacturer"),accessor:({device:e})=>{var a;return[(a=e.definition)==null?void 0:a.vendor,e.manufacturer].join(" ")},Cell:({row:{original:{device:e}}})=>i.jsx(E,{device:e})},{id:"model",Header:s("model"),accessor:({device:e})=>{var a;return[(a=e.definition)==null?void 0:a.model,e.model_id].join(" ")},Cell:({row:{original:{device:e}}})=>i.jsx(L,{device:e})},{id:"lqi",Header:s("lqi"),accessor:({state:e})=>e.linkquality,Cell:({row:{original:{state:e}}})=>i.jsx(q,{value:e.linkquality,name:"linkquality"})},...b,..._,{id:"power",Header:s("power"),accessor:({state:e,device:a})=>{var n;return[e.battery,(n=a.definition)==null?void 0:n.power].join(" ")},Cell:({row:{original:{state:e,device:a}}})=>i.jsx(F,{device:a,deviceState:e})},{id:"controls",Header:"",Cell:({row:{original:{device:e,state:a}}})=>i.jsx(P,{device:e,state:a,homeassistantEnabled:d,renameDevice:c,removeDevice:m,configureDevice:v,setDeviceDescription:y,interviewDevice:u}),disableSortBy:!0}],[b,_,s,d,c,m,v,u]);return i.jsx("div",{className:"card",children:i.jsx("div",{className:"table-responsive",children:i.jsx(A,{id:R,columns:p,data:l})})})}function $(t){const{devices:l,deviceStates:o,bridgeInfo:{config:r},availability:d}=t,{renameDevice:y,removeDevice:c,configureDevice:m,setDeviceDescription:v,interviewDevice:u}=t,s=!!r.availability,b=!!(r!=null&&r.homeassistant),_=()=>Object.values(l).filter(e=>e.type!=="Coordinator").map(e=>{var n;const a=o[e.friendly_name]??{};return{id:e.friendly_name,disabled:H(e,r),device:e,state:a,availabilityState:d[e.friendly_name]??"offline",availabilityEnabledForDevice:((n=r.devices[e.ieee_address])==null?void 0:n.availability)!==!1}}),p=S.useMemo(()=>_(),[l,o]);return i.jsx(B,{data:p,lastSeenType:r.advanced.last_seen,availabilityFeatureEnabled:s,homeassistantEnabled:b,renameDevice:y,removeDevice:c,configureDevice:m,setDeviceDescription:v,interviewDevice:u})}const z=["devices","deviceStates","bridgeInfo","availability"],ee=C(z,h)(k(["zigbee","common"])($));export{ee as ConnectedZigbeePage};
1
+ import{u as g,l as D,j as i,r as j,L as x,g as w,d as f,c as C,a as h,w as k,R as S,i as H}from"./index-df1b6001.js";import{V as E,M as L}from"./vendor-links-50c24297.js";import{L as T,D as q,P as F}from"./index-860ee670.js";import{i as M,A as N,D as P}from"./Availability-7d1ad67a.js";import{T as A}from"./ReactTableCom-b480890d.js";import{D as I}from"./DeviceImage-48997860.js";import{D as R}from"./DEVICES_GLOBAL_NAME-6620c611.js";import"./powerSourceTypeToTranslationKey-452dac81.js";import"./persist-44dd6f07.js";import"./index-8e5ef2b0.js";const V={"action-column":"_action-column_1729o_1","device-pic":"_device-pic_1729o_8","device-image":"_device-image_1729o_14"};function B(t){const{data:l,lastSeenType:o,availabilityFeatureEnabled:r,homeassistantEnabled:d,setDeviceDescription:y}=t,{renameDevice:c,removeDevice:m,configureDevice:v,interviewDevice:u}=t,{t:s}=g(["zigbee","common","avaliability"]),b=o!=="disable"?[{id:"last_seen",Header:s("last_seen"),accessor:({state:e})=>{var a;return(a=D(e,o))==null?void 0:a.getTime()},Cell:({row:{original:{state:e}}})=>i.jsx(T,{state:e,lastSeenType:o})}]:[],_=r?[{id:"availability",Header:s("avaliability:avaliability"),accessor:({availabilityState:e})=>M(e)?e:e.state,Cell:({row:{original:{availabilityState:e,availabilityEnabledForDevice:a,disabled:n}}})=>i.jsx(N,{disabled:n,availability:e,availabilityEnabledForDevice:a})}]:[],p=j.useMemo(()=>[{id:"pic",Header:s("pic"),Cell:({row:{original:{device:e,state:a,disabled:n}}})=>i.jsx(I,{className:V["device-image"],device:e,deviceStatus:a,disabled:n}),accessor:e=>e,disableSortBy:!0},{id:"friendly_name",Header:s("friendly_name"),accessor:({device:e})=>[e.friendly_name,e.description].join(" "),Cell:({row:{original:{device:e}}})=>i.jsxs(i.Fragment,{children:[i.jsx(x,{to:w(e.ieee_address),children:e.friendly_name}),i.jsx("small",{className:"d-block",children:e.description})]})},{id:"ieee_address",Header:s("ieee_address"),accessor:({device:e})=>[e.ieee_address,f(e.network_address,4)].join(" "),Cell:({row:{original:{device:e}}})=>i.jsxs(i.Fragment,{children:[i.jsx("div",{children:e.ieee_address}),i.jsx("div",{children:i.jsxs("abbr",{title:`${s("network_address_hex")} (${s("network_address_dec")}: ${e.network_address})`,children:["(",f(e.network_address,4),")"]})})]})},{id:"manufacturer",Header:s("manufacturer"),accessor:({device:e})=>{var a;return[(a=e.definition)==null?void 0:a.vendor,e.manufacturer].join(" ")},Cell:({row:{original:{device:e}}})=>i.jsx(E,{device:e})},{id:"model",Header:s("model"),accessor:({device:e})=>{var a;return[(a=e.definition)==null?void 0:a.model,e.model_id].join(" ")},Cell:({row:{original:{device:e}}})=>i.jsx(L,{device:e})},{id:"lqi",Header:s("lqi"),accessor:({state:e})=>e.linkquality,Cell:({row:{original:{state:e}}})=>i.jsx(q,{value:e.linkquality,name:"linkquality"})},...b,..._,{id:"power",Header:s("power"),accessor:({state:e,device:a})=>{var n;return[e.battery,(n=a.definition)==null?void 0:n.power].join(" ")},Cell:({row:{original:{state:e,device:a}}})=>i.jsx(F,{device:a,deviceState:e})},{id:"controls",Header:"",Cell:({row:{original:{device:e,state:a}}})=>i.jsx(P,{device:e,state:a,homeassistantEnabled:d,renameDevice:c,removeDevice:m,configureDevice:v,setDeviceDescription:y,interviewDevice:u}),disableSortBy:!0}],[b,_,s,d,c,m,v,u]);return i.jsx("div",{className:"card",children:i.jsx("div",{className:"table-responsive",children:i.jsx(A,{id:R,columns:p,data:l})})})}function $(t){const{devices:l,deviceStates:o,bridgeInfo:{config:r},availability:d}=t,{renameDevice:y,removeDevice:c,configureDevice:m,setDeviceDescription:v,interviewDevice:u}=t,s=!!r.availability,b=!!(r!=null&&r.homeassistant),_=()=>Object.values(l).filter(e=>e.type!=="Coordinator").map(e=>{var n;const a=o[e.friendly_name]??{};return{id:e.friendly_name,disabled:H(e,r),device:e,state:a,availabilityState:d[e.friendly_name]??"offline",availabilityEnabledForDevice:((n=r.devices[e.ieee_address])==null?void 0:n.availability)!==!1}}),p=S.useMemo(()=>_(),[l,o]);return i.jsx(B,{data:p,lastSeenType:r.advanced.last_seen,availabilityFeatureEnabled:s,homeassistantEnabled:b,renameDevice:y,removeDevice:c,configureDevice:m,setDeviceDescription:v,interviewDevice:u})}const z=["devices","deviceStates","bridgeInfo","availability"],ee=C(z,h)(k(["zigbee","common"])($));export{ee as ConnectedZigbeePage};
Binary file
@@ -1 +1 @@
1
- import{p as N,q as S,u as T,j as t,w as _,r as v,B as u,n as C,c as D,a as z,v as F,F as I,x as O,y as q,z as A,A as B,b as K}from"./index-1213f99f.js";import{_ as P,w as E,T as V,c as j}from"./bootstrap-5.esm-d9fb6ca4.js";import{T as R,D as M}from"./rjsf-translation-fields-3efc16a1.js";import{p as L}from"./powerSourceTypeToTranslationKey-452dac81.js";import{S as $}from"./spinner-0a4b53d7.js";import{g as G,a as U}from"./index-09c76387.js";import"./_getAllKeysIn-56690519.js";import"./isEqual-0dd0f6d1.js";import"./intersection-88030dad.js";const Z={"ui:order":["base_topic","server","user","password","client_id","version","ca","key","cert","reject_unauthorized","*"]},H={"ui:order":["port","adapter","disable_led","*"]},J={"ui:order":["port","host","*"]},Y={mqtt:Z,serial:H,frontend:J};var W=P,x=S;function Q(a,e,s,n){return a==null?[]:(x(e)||(e=e==null?[]:[e]),s=n?void 0:s,x(s)||(s=s==null?[]:[s]),W(a,e,s))}var X=Q;const ee=N(X);function te(a){const{devices:e}=a,{t:s}=T(["stats","zigbee"]),n=Object.values(e).filter(i=>i.type!=="Coordinator"),r=n.length,o={byType:{},byPowerSource:{},byVendor:{},byModel:{}};n.forEach(i=>{o.byModel[i.model_id]=(o.byModel[i.model_id]||0)+1,o.byVendor[i.manufacturer]=(o.byVendor[i.manufacturer]||0)+1,o.byType[s(i.type)]=(o.byType[s(i.type)]||0)+1;const l=s("zigbee:"+L(i.power_source));o.byPowerSource[l]=(o.byPowerSource[l]||0)+1});const m=Object.entries(o).map(([i,l])=>t.jsx("li",{className:"list-group-item d-flex justify-content-between align-items-start",children:t.jsxs("div",{className:"ms-2 me-auto",children:[t.jsx("div",{className:"fw-bold",children:s(i)}),ee(Object.entries(l),[([c,d])=>d],["desc"]).map(([c,d])=>t.jsxs("div",{children:[c,": ",d]},c))]})},i));return t.jsxs("ol",{className:"list-group list-group-numbered",children:[t.jsx("li",{className:"list-group-item d-flex justify-content-between align-items-start",children:t.jsx("div",{className:"ms-2 me-auto",children:t.jsxs("div",{className:"fw-bold",children:[s("total")," ",r]})})}),m]})}const se={access:"public",cache:""},ne=["*.css"],re="zigbee2mqtt-frontend",oe="0.7.6",ie="GPL-3.0",ae={build:"vite build",preview:"vite preview",start:"vite dev",postversion:"git push && git push --tags",version:"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md",pretty:'prettier --write "./**/*.{js,jsx,tsx}"',postinstall:"husky install",prepublishOnly:"pinst --disable",postpublish:"pinst --enable","test:unit":"vitest","test:coverage":"vitest run --coverage","test:eslint":'eslint "./src/**/*.{js,jsx,tsx}"',"test:pretty":'prettier --check "./**/*.{js,jsx,tsx}"',"i18n:download":"node download_translations.js","i18n:trim":"node trim-locales.js"},ce=["dist/*"],le={node:">=18"},de={"@codemirror/lang-javascript":"^6.2.2","@commitlint/cli":"~17.8.0","@commitlint/config-conventional":"~17.8.0","@ebay/nice-modal-react":"~1.2.13","@fortawesome/fontawesome-free":"~6.6.0","@rjsf/bootstrap-5":"https://github.com/nurikk/fileshare/blob/main/rjsf-bootstrap-5-4.2.0.tgz?raw=true","@rjsf/core":"~4.2.3","@testing-library/jest-dom":"^6.3.0","@testing-library/react":"^14.1.2","@testing-library/user-event":"^14.5.2","@types/color-convert":"~2.0.1","@types/d3-drag":"~3.0.4","@types/d3-force":"~3.0.6","@types/d3-selection":"~3.0.7","@types/d3-zoom":"~3.0.5","@types/events":"~3.0.1","@types/file-saver":"~2.0.5","@types/json-schema":"~7.0.13","@types/lodash":"~4.17.0","@types/react":"~18.2.24","@types/react-dom":"~18.2.8","@types/react-router-dom":"~5.3.3","@types/react-table":"~7.7.16","@types/react-transition-group":"~4.4.7","@types/reconnectingwebsocket":"~1.0.8","@types/ws":"~8.5.6","@typescript-eslint/eslint-plugin":"~6.7.4","@typescript-eslint/parser":"~6.7.4","@uiw/codemirror-theme-github":"^4.21.24","@uiw/react-codemirror":"^4.21.24","@vitejs/plugin-react":"~4.3.0","@vitest/coverage-v8":"^1.2.2",bootstrap:"~5.3.2",classnames:"~2.5.0","color-convert":"~2.0.1","conventional-changelog-cli":"~4.1.0","d3-drag":"~3.0.0","d3-force":"~3.0.0","d3-force-reuse":"~1.0.1","d3-selection":"~3.0.0","d3-zoom":"~3.0.0","deep-diff":"~1.0.2","deep-object-diff":"~1.1.9",eslint:"~8.57.0","eslint-config-prettier":"~9.1.0","eslint-config-react":"~1.1.7","eslint-plugin-prettier":"~5.0.0","eslint-plugin-react":"~7.33.2","eslint-plugin-react-refresh":"*",events:"~3.3.0","file-saver":"~2.0.5",husky:"~8.0.3",i18next:"~23.5.1","i18next-browser-languagedetector":"~7.1.0",jsdom:"^24.0.0",jszip:"~3.10.1",lodash:"~4.17.21",notyf:"~3.10.0",pinst:"~3.0.0",prettier:"~3.0.3",react:"~18.2.0","react-app-polyfill":"~3.0.0","react-bootstrap":"~2.10.0","react-css-theme-switcher":"~0.3.0","react-dom":"~18.2.0","react-i18next":"~13.5.0","react-image":"~4.1.0","react-notifications-component":"^4.0.1","react-router-dom":"~5.3.4","react-table":"~7.8.0","react-transition-group":"~4.4.5","reconnecting-websocket":"~4.4.0",sass:"~1.71.0",store2:"^2.14.2","timeago.js":"~4.0.2",typescript:"~5.2.2",unistore:"~3.5.2",vite:"~4.5.0","vite-plugin-compression":"~0.5.1","vite-plugin-html":"~3.2.0","vite-plugin-sass-dts":"~1.3.11",vitest:"^1.3.1",ws:"~8.17.0"},me="index.js",pe={hooks:{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},ue={type:"git",url:"git+https://github.com/nurikk/zigbee2mqtt-frontend.git"},ge={url:"https://github.com/nurikk/zigbee2mqtt-frontend/issues"},he="pnpm@9.1.0+sha256.22e36fba7f4880ecf749a5ca128b8435da085ecd49575e7fb9e64d6bf4fad394",fe={private:!1,publishConfig:se,sideEffects:ne,name:re,version:oe,license:ie,scripts:ae,eslintIgnore:ce,engines:le,devDependencies:de,main:me,husky:pe,repository:ue,bugs:ge,packageManager:he};function be(a){return new Promise((e,s)=>{const n=new FileReader;n.onloadend=()=>e(n.result),n.onerror=r=>s(r),n.readAsDataURL(a)})}async function ve(a){const e=await fetch(a);if(e.ok){const s=await e.blob();return be(s)}else return Promise.reject(e.status)}async function ye(a,e){for(const s of a)try{if(await e(s))return!0}catch{}return!1}function je(a){const[e,s]=v.useState("none"),{setDeviceOptions:n,t:r,devices:o}=a,[m,i]=v.useState({});async function l(c){if(i(p=>({...p,[c.ieee_address]:"init"})),!await ye([G,U],async p=>{const g=p(c),h=await ve(g);return await n(c.ieee_address,{icon:h}),i(f=>({...f,[c.ieee_address]:"done"})),!0}))throw new Error("Failed to localise image")}switch(v.useEffect(()=>{if(e=="start"){for(const c of Object.values(o).filter(d=>d.type!=="Coordinator"))l(c).catch(d=>{console.log("Error localising image",d),i(p=>({...p,[c.ieee_address]:"error"}))}).then();s("inprogress")}},[e]),e){case"none":return t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:()=>s("start"),children:r("localise_images")});case"inprogress":return t.jsx("div",{children:Object.values(o).map(c=>t.jsxs("div",{children:[c.friendly_name," ",m[c.ieee_address]]},c.ieee_address))});case"done":return t.jsx("div",{children:"done"})}return t.jsx("div",{children:"Unknown"})}const xe=_(["settings"])(je),ke=E(V),b="main",w=["groups","devices","device_options","ban","whitelist","map_options"],_e=["object","array"],k=(a,e={},s={})=>{e.required&&(e.required=e.required.filter(n=>a.includes(n)));for(const n of a)e.properties&&delete e.properties[n],delete s[n];return{schema:e,config:s}},we=[t.jsx("div",{className:"row pb-2",children:t.jsx("div",{className:"col",children:t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.buymeacoffee.com/nurikk",children:t.jsx("img",{crossOrigin:"anonymous",src:"https://img.buymeacoffee.com/button-api/?text=Thanks for frontend&emoji=🍺&slug=nurikk&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff"})})})},"nurikk"),t.jsx("div",{className:"row pb-2",children:t.jsx("div",{className:"col",children:t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.buymeacoffee.com/koenkk",children:t.jsx("img",{crossOrigin:"anonymous",src:"https://img.buymeacoffee.com/button-api/?text=Thanks for zigbee2mqtt&emoji=☕&slug=koenkk&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff"})})})},"koenkk")].sort(()=>Math.random()-.5),Ne=(a,e)=>_e.includes(e.type)&&!w.includes(a)||(e&&e.oneOf?e.oneOf.length>0:!1);class Se extends v.Component{constructor(){super(...arguments),this.state={keyName:b},this.settingsFormData={},this.downloadBackup=()=>{const{backup:e,bridgeInfo:s}=this.props,n=F(new Date).replace(/[\s_:]/g,"-"),r=`z2m-backup.${s.version}.${n}.zip`;I.saveAs(`data:application/zip;base64,${e}`,r)},this.addInstallCode=()=>{const{t:e,addInstallCode:s}=this.props,n=prompt(e("enter_install_code"));n&&s(n)},this.onSettingsSave=e=>{const{formData:s}=e,{updateBridgeConfig:n}=this.props,{keyName:r}=this.state,o=O(this.getSettingsInfo().currentConfig,s);n(r===b?o:{[r]:o})}}renderCategoriesTabs(){const{t:e}=this.props;return t.jsx("ul",{className:"nav nav-tabs",children:q.map(s=>t.jsx("li",{className:"nav-item",children:t.jsx(A,{className:"nav-link",activeClassName:"active",to:s.url,children:e(s.translationKey)})},s.url))})}render(){return t.jsxs("div",{className:"tab",children:[this.renderCategoriesTabs(),t.jsx("div",{className:"tab-content h-100 p-0 p-sm-3",children:t.jsx("div",{className:"tab-pane fade show active",children:this.renderSwitcher()})})]})}renderSwitcher(){const{match:e}=this.props,{tab:s}=e.params;switch(s){case"tools":return this.renderTools();case"bridge":return this.renderBridgeInfo();case"about":return this.renderAbout();case"settings":return this.renderSettings();case"donate":return this.renderDonate();case"translate":return this.renderTranslate();default:return t.jsx(B,{to:"/settings/settings"})}}renderTranslate(){const{t:e}=this.props;return t.jsx("div",{className:"p-3",children:t.jsxs("p",{children:[e("settings:translation_prompt")," ",t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://poeditor.com/join/project?hash=Az88waAhPd",children:"POEditor"})]})})}renderAbout(){var l,c,d,p,g,h,f;const{bridgeInfo:e,devices:s,t:n}=this.props,o=((l=e.version)==null?void 0:l.match(/^\d+\.\d+\.\d+$/))===null?e.version:t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee2mqtt/releases/tag/${e.version}`,children:e.version}),m=e.commit?t.jsxs(t.Fragment,{children:["commit:"," ",t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee2mqtt/commit/${e.commit}`,children:e.commit})]}):null,i=[{translationKey:"zigbee2mqtt_version",content:t.jsxs(t.Fragment,{children:[o," ",m]})},{translationKey:"coordinator_type",content:t.jsx(t.Fragment,{children:((c=e.coordinator)==null?void 0:c.type)??n("common:unknown")})},{translationKey:"coordinator_revision",content:t.jsx(t.Fragment,{children:((p=(d=e.coordinator)==null?void 0:d.meta)==null?void 0:p.revision)??n("common:unknown")})},{translationKey:"coordinator_ieee_address",content:t.jsx(t.Fragment,{children:((g=e.coordinator)==null?void 0:g.ieee_address)??n("common:unknown")})},{translationKey:"frontend_version",content:fe.version},{translationKey:"zigbee_herdsman_converters_version",content:((h=e.zigbee_herdsman_converters)==null?void 0:h.version)??n("common:unknown")},{translationKey:"zigbee_herdsman_version",content:((f=e.zigbee_herdsman)==null?void 0:f.version)??n("common:unknown")},{translationKey:"stats",content:t.jsx(te,{devices:s})}];return t.jsx("div",{className:"p-3",children:i.map(y=>t.jsxs("dl",{className:"row",children:[t.jsx("dt",{className:"col-sm-3",children:n(y.translationKey)}),t.jsx("dd",{className:"col-sm-9",children:y.content})]},y.translationKey))})}renderBridgeInfo(){const{bridgeInfo:e}=this.props;return t.jsx("div",{className:"p-3",children:t.jsx("pre",{children:JSON.stringify(e,null,4)})})}renderBackupControls(){const{backup:e,preparingBackup:s,requestBackup:n,t:r}=this.props;return s?t.jsx(u,{className:"btn btn-primary d-block mt-2 disabled",children:t.jsx($,{})}):e?t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:this.downloadBackup,children:r("download_z2m_backup")}):t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:n,children:r("request_z2m_backup")})}renderTools(){const{exportState:e,restartBridge:s,setDeviceOptions:n,devices:r,t:o}=this.props;return t.jsxs("div",{className:"p-3",children:[t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:e,children:o("download_state")}),t.jsx(u,{className:"btn btn-danger d-block mt-2",onClick:s,prompt:!0,children:o("restart_zigbee2mqtt")}),this.renderBackupControls(),t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:this.addInstallCode,children:o("add_install_code")}),t.jsx(xe,{setDeviceOptions:n,devices:r})]})}getSettingsTabs(){const{bridgeInfo:{config_schema:e={properties:{}}},t:s}=this.props,n=Object.entries(e.properties).filter(([r,o])=>Ne(r,o)).map(([r,o])=>({name:r,title:s(r,{defaultValue:o.title})}));return n.unshift({name:b,title:s("main",{defaultValue:"Main"})}),n}getSettingsInfo(){const{keyName:e}=this.state,{bridgeInfo:{config_schema:s,config:n}}=this.props;let r=k(w,j(s),j(n)),o=r.schema,m;if(e===b){const i=this.getSettingsTabs().map(l=>l.name);r=k(i,r.schema,r.config),o=r.schema,m=r.config}else m=r.config[e],r.schema.properties&&(o=r.schema.properties[e]);return{currentSchema:o,currentConfig:m}}renderSettingsTabs(){const{t:e}=this.props,s=this.getSettingsTabs(),{keyName:n}=this.state;return t.jsx("div",{className:"nav nav-pills",children:s.map(r=>t.jsx("li",{className:"nav-item",children:t.jsx("a",{className:K("nav-link",{"bg-primary active":n===r.name}),"aria-current":"page",href:"#",onClick:o=>{this.setState({keyName:r.name}),o.preventDefault()},children:e(r.name,{defaultValue:r.title})})},r.name))})}renderSettings(){const{keyName:e}=this.state,{currentSchema:s,currentConfig:n}=this.getSettingsInfo();return e in this.settingsFormData||(this.settingsFormData[e]=n),t.jsxs("div",{className:"tab",children:[this.renderSettingsTabs(),t.jsx("div",{className:"tab-content",children:t.jsx("div",{className:"tab-pane active",children:t.jsx(ke,{idPrefix:e,schema:s,formData:this.settingsFormData[e],onChange:r=>this.settingsFormData[e]=r.formData,onSubmit:this.onSettingsSave,uiSchema:Y[e],fields:{TitleField:R,DescriptionField:M}})})})]})}renderDonate(){const{t:e}=this.props,s=e("donation_text",{returnObjects:!0,defaultValue:[]});return t.jsxs("div",{className:"container-fluid",children:[s.map(n=>t.jsx("p",{children:n},n)),we]})}}const Te=C(Se),Ce=["bridgeInfo","missingTranslations","devices","backup","preparingBackup"],Pe=_(["settings","common"])(D(Ce,z)(Te));export{Pe as ConnectedSettingsPage};
1
+ import{p as N,q as S,u as T,j as t,w as _,r as v,B as u,n as C,c as D,a as z,v as F,F as I,x as O,y as q,z as A,A as B,b as K}from"./index-df1b6001.js";import{_ as P,w as E,T as V,c as j}from"./bootstrap-5.esm-bb33d65c.js";import{T as R,D as M}from"./rjsf-translation-fields-3cb3ae9d.js";import{p as L}from"./powerSourceTypeToTranslationKey-452dac81.js";import{S as $}from"./spinner-350c4bef.js";import{g as G,a as U}from"./index-8e5ef2b0.js";import"./_getAllKeysIn-ace9893e.js";import"./isEqual-d6e4d58f.js";import"./intersection-c3d96feb.js";const Z={"ui:order":["base_topic","server","user","password","client_id","version","ca","key","cert","reject_unauthorized","*"]},H={"ui:order":["port","adapter","disable_led","*"]},J={"ui:order":["port","host","*"]},Y={mqtt:Z,serial:H,frontend:J};var W=P,x=S;function Q(a,e,s,n){return a==null?[]:(x(e)||(e=e==null?[]:[e]),s=n?void 0:s,x(s)||(s=s==null?[]:[s]),W(a,e,s))}var X=Q;const ee=N(X);function te(a){const{devices:e}=a,{t:s}=T(["stats","zigbee"]),n=Object.values(e).filter(i=>i.type!=="Coordinator"),r=n.length,o={byType:{},byPowerSource:{},byVendor:{},byModel:{}};n.forEach(i=>{o.byModel[i.model_id]=(o.byModel[i.model_id]||0)+1,o.byVendor[i.manufacturer]=(o.byVendor[i.manufacturer]||0)+1,o.byType[s(i.type)]=(o.byType[s(i.type)]||0)+1;const l=s("zigbee:"+L(i.power_source));o.byPowerSource[l]=(o.byPowerSource[l]||0)+1});const m=Object.entries(o).map(([i,l])=>t.jsx("li",{className:"list-group-item d-flex justify-content-between align-items-start",children:t.jsxs("div",{className:"ms-2 me-auto",children:[t.jsx("div",{className:"fw-bold",children:s(i)}),ee(Object.entries(l),[([c,d])=>d],["desc"]).map(([c,d])=>t.jsxs("div",{children:[c,": ",d]},c))]})},i));return t.jsxs("ol",{className:"list-group list-group-numbered",children:[t.jsx("li",{className:"list-group-item d-flex justify-content-between align-items-start",children:t.jsx("div",{className:"ms-2 me-auto",children:t.jsxs("div",{className:"fw-bold",children:[s("total")," ",r]})})}),m]})}const se={access:"public",cache:""},ne=["*.css"],re="zigbee2mqtt-frontend",oe="0.7.7",ie="GPL-3.0",ae={build:"vite build",preview:"vite preview",start:"vite dev",postversion:"git push && git push --tags",version:"conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md",pretty:'prettier --write "./**/*.{js,jsx,tsx}"',postinstall:"husky install",prepublishOnly:"pinst --disable",postpublish:"pinst --enable","test:unit":"vitest","test:coverage":"vitest run --coverage","test:eslint":'eslint "./src/**/*.{js,jsx,tsx}"',"test:pretty":'prettier --check "./**/*.{js,jsx,tsx}"',"i18n:download":"node download_translations.js","i18n:trim":"node trim-locales.js"},ce=["dist/*"],le={node:">=18"},de={"@codemirror/lang-javascript":"^6.2.2","@commitlint/cli":"~17.8.0","@commitlint/config-conventional":"~17.8.0","@ebay/nice-modal-react":"~1.2.13","@fortawesome/fontawesome-free":"~6.6.0","@rjsf/bootstrap-5":"https://github.com/nurikk/fileshare/blob/main/rjsf-bootstrap-5-4.2.0.tgz?raw=true","@rjsf/core":"~4.2.3","@testing-library/jest-dom":"^6.3.0","@testing-library/react":"^14.1.2","@testing-library/user-event":"^14.5.2","@types/color-convert":"~2.0.1","@types/d3-drag":"~3.0.4","@types/d3-force":"~3.0.6","@types/d3-selection":"~3.0.7","@types/d3-zoom":"~3.0.5","@types/events":"~3.0.1","@types/file-saver":"~2.0.5","@types/json-schema":"~7.0.13","@types/lodash":"~4.17.0","@types/react":"~18.2.24","@types/react-dom":"~18.2.8","@types/react-router-dom":"~5.3.3","@types/react-table":"~7.7.16","@types/react-transition-group":"~4.4.7","@types/reconnectingwebsocket":"~1.0.8","@types/ws":"~8.5.6","@typescript-eslint/eslint-plugin":"~6.7.4","@typescript-eslint/parser":"~6.7.4","@uiw/codemirror-theme-github":"^4.21.24","@uiw/react-codemirror":"^4.21.24","@vitejs/plugin-react":"~4.3.0","@vitest/coverage-v8":"^1.2.2",bootstrap:"~5.3.2",classnames:"~2.5.0","color-convert":"~2.0.1","conventional-changelog-cli":"~4.1.0","d3-drag":"~3.0.0","d3-force":"~3.0.0","d3-force-reuse":"~1.0.1","d3-selection":"~3.0.0","d3-zoom":"~3.0.0","deep-diff":"~1.0.2","deep-object-diff":"~1.1.9",eslint:"~8.57.0","eslint-config-prettier":"~9.1.0","eslint-config-react":"~1.1.7","eslint-plugin-prettier":"~5.0.0","eslint-plugin-react":"~7.33.2","eslint-plugin-react-refresh":"*",events:"~3.3.0","file-saver":"~2.0.5",husky:"~8.0.3",i18next:"~23.5.1","i18next-browser-languagedetector":"~7.1.0",jsdom:"^24.0.0",jszip:"~3.10.1",lodash:"~4.17.21",notyf:"~3.10.0",pinst:"~3.0.0",prettier:"~3.0.3",react:"~18.2.0","react-app-polyfill":"~3.0.0","react-bootstrap":"~2.10.0","react-css-theme-switcher":"~0.3.0","react-dom":"~18.2.0","react-i18next":"~13.5.0","react-image":"~4.1.0","react-notifications-component":"^4.0.1","react-router-dom":"~5.3.4","react-table":"~7.8.0","react-transition-group":"~4.4.5","reconnecting-websocket":"~4.4.0",sass:"~1.71.0",store2:"^2.14.2","timeago.js":"~4.0.2",typescript:"~5.2.2",unistore:"~3.5.2",vite:"~4.5.0","vite-plugin-compression":"~0.5.1","vite-plugin-html":"~3.2.0","vite-plugin-sass-dts":"~1.3.11",vitest:"^1.3.1",ws:"~8.17.0"},me="index.js",pe={hooks:{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},ue={type:"git",url:"git+https://github.com/nurikk/zigbee2mqtt-frontend.git"},ge={url:"https://github.com/nurikk/zigbee2mqtt-frontend/issues"},he="pnpm@9.1.0+sha256.22e36fba7f4880ecf749a5ca128b8435da085ecd49575e7fb9e64d6bf4fad394",fe={private:!1,publishConfig:se,sideEffects:ne,name:re,version:oe,license:ie,scripts:ae,eslintIgnore:ce,engines:le,devDependencies:de,main:me,husky:pe,repository:ue,bugs:ge,packageManager:he};function be(a){return new Promise((e,s)=>{const n=new FileReader;n.onloadend=()=>e(n.result),n.onerror=r=>s(r),n.readAsDataURL(a)})}async function ve(a){const e=await fetch(a);if(e.ok){const s=await e.blob();return be(s)}else return Promise.reject(e.status)}async function ye(a,e){for(const s of a)try{if(await e(s))return!0}catch{}return!1}function je(a){const[e,s]=v.useState("none"),{setDeviceOptions:n,t:r,devices:o}=a,[m,i]=v.useState({});async function l(c){if(i(p=>({...p,[c.ieee_address]:"init"})),!await ye([G,U],async p=>{const g=p(c),h=await ve(g);return await n(c.ieee_address,{icon:h}),i(f=>({...f,[c.ieee_address]:"done"})),!0}))throw new Error("Failed to localise image")}switch(v.useEffect(()=>{if(e=="start"){for(const c of Object.values(o).filter(d=>d.type!=="Coordinator"))l(c).catch(d=>{console.log("Error localising image",d),i(p=>({...p,[c.ieee_address]:"error"}))}).then();s("inprogress")}},[e]),e){case"none":return t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:()=>s("start"),children:r("localise_images")});case"inprogress":return t.jsx("div",{children:Object.values(o).map(c=>t.jsxs("div",{children:[c.friendly_name," ",m[c.ieee_address]]},c.ieee_address))});case"done":return t.jsx("div",{children:"done"})}return t.jsx("div",{children:"Unknown"})}const xe=_(["settings"])(je),ke=E(V),b="main",w=["groups","devices","device_options","ban","whitelist","map_options"],_e=["object","array"],k=(a,e={},s={})=>{e.required&&(e.required=e.required.filter(n=>a.includes(n)));for(const n of a)e.properties&&delete e.properties[n],delete s[n];return{schema:e,config:s}},we=[t.jsx("div",{className:"row pb-2",children:t.jsx("div",{className:"col",children:t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.buymeacoffee.com/nurikk",children:t.jsx("img",{crossOrigin:"anonymous",src:"https://img.buymeacoffee.com/button-api/?text=Thanks for frontend&emoji=🍺&slug=nurikk&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff"})})})},"nurikk"),t.jsx("div",{className:"row pb-2",children:t.jsx("div",{className:"col",children:t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://www.buymeacoffee.com/koenkk",children:t.jsx("img",{crossOrigin:"anonymous",src:"https://img.buymeacoffee.com/button-api/?text=Thanks for zigbee2mqtt&emoji=☕&slug=koenkk&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff"})})})},"koenkk")].sort(()=>Math.random()-.5),Ne=(a,e)=>_e.includes(e.type)&&!w.includes(a)||(e&&e.oneOf?e.oneOf.length>0:!1);class Se extends v.Component{constructor(){super(...arguments),this.state={keyName:b},this.settingsFormData={},this.downloadBackup=()=>{const{backup:e,bridgeInfo:s}=this.props,n=F(new Date).replace(/[\s_:]/g,"-"),r=`z2m-backup.${s.version}.${n}.zip`;I.saveAs(`data:application/zip;base64,${e}`,r)},this.addInstallCode=()=>{const{t:e,addInstallCode:s}=this.props,n=prompt(e("enter_install_code"));n&&s(n)},this.onSettingsSave=e=>{const{formData:s}=e,{updateBridgeConfig:n}=this.props,{keyName:r}=this.state,o=O(this.getSettingsInfo().currentConfig,s);n(r===b?o:{[r]:o})}}renderCategoriesTabs(){const{t:e}=this.props;return t.jsx("ul",{className:"nav nav-tabs",children:q.map(s=>t.jsx("li",{className:"nav-item",children:t.jsx(A,{className:"nav-link",activeClassName:"active",to:s.url,children:e(s.translationKey)})},s.url))})}render(){return t.jsxs("div",{className:"tab",children:[this.renderCategoriesTabs(),t.jsx("div",{className:"tab-content h-100 p-0 p-sm-3",children:t.jsx("div",{className:"tab-pane fade show active",children:this.renderSwitcher()})})]})}renderSwitcher(){const{match:e}=this.props,{tab:s}=e.params;switch(s){case"tools":return this.renderTools();case"bridge":return this.renderBridgeInfo();case"about":return this.renderAbout();case"settings":return this.renderSettings();case"donate":return this.renderDonate();case"translate":return this.renderTranslate();default:return t.jsx(B,{to:"/settings/settings"})}}renderTranslate(){const{t:e}=this.props;return t.jsx("div",{className:"p-3",children:t.jsxs("p",{children:[e("settings:translation_prompt")," ",t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://poeditor.com/join/project?hash=Az88waAhPd",children:"POEditor"})]})})}renderAbout(){var l,c,d,p,g,h,f;const{bridgeInfo:e,devices:s,t:n}=this.props,o=((l=e.version)==null?void 0:l.match(/^\d+\.\d+\.\d+$/))===null?e.version:t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee2mqtt/releases/tag/${e.version}`,children:e.version}),m=e.commit?t.jsxs(t.Fragment,{children:["commit:"," ",t.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee2mqtt/commit/${e.commit}`,children:e.commit})]}):null,i=[{translationKey:"zigbee2mqtt_version",content:t.jsxs(t.Fragment,{children:[o," ",m]})},{translationKey:"coordinator_type",content:t.jsx(t.Fragment,{children:((c=e.coordinator)==null?void 0:c.type)??n("common:unknown")})},{translationKey:"coordinator_revision",content:t.jsx(t.Fragment,{children:((p=(d=e.coordinator)==null?void 0:d.meta)==null?void 0:p.revision)??n("common:unknown")})},{translationKey:"coordinator_ieee_address",content:t.jsx(t.Fragment,{children:((g=e.coordinator)==null?void 0:g.ieee_address)??n("common:unknown")})},{translationKey:"frontend_version",content:fe.version},{translationKey:"zigbee_herdsman_converters_version",content:((h=e.zigbee_herdsman_converters)==null?void 0:h.version)??n("common:unknown")},{translationKey:"zigbee_herdsman_version",content:((f=e.zigbee_herdsman)==null?void 0:f.version)??n("common:unknown")},{translationKey:"stats",content:t.jsx(te,{devices:s})}];return t.jsx("div",{className:"p-3",children:i.map(y=>t.jsxs("dl",{className:"row",children:[t.jsx("dt",{className:"col-sm-3",children:n(y.translationKey)}),t.jsx("dd",{className:"col-sm-9",children:y.content})]},y.translationKey))})}renderBridgeInfo(){const{bridgeInfo:e}=this.props;return t.jsx("div",{className:"p-3",children:t.jsx("pre",{children:JSON.stringify(e,null,4)})})}renderBackupControls(){const{backup:e,preparingBackup:s,requestBackup:n,t:r}=this.props;return s?t.jsx(u,{className:"btn btn-primary d-block mt-2 disabled",children:t.jsx($,{})}):e?t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:this.downloadBackup,children:r("download_z2m_backup")}):t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:n,children:r("request_z2m_backup")})}renderTools(){const{exportState:e,restartBridge:s,setDeviceOptions:n,devices:r,t:o}=this.props;return t.jsxs("div",{className:"p-3",children:[t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:e,children:o("download_state")}),t.jsx(u,{className:"btn btn-danger d-block mt-2",onClick:s,prompt:!0,children:o("restart_zigbee2mqtt")}),this.renderBackupControls(),t.jsx(u,{className:"btn btn-primary d-block mt-2",onClick:this.addInstallCode,children:o("add_install_code")}),t.jsx(xe,{setDeviceOptions:n,devices:r})]})}getSettingsTabs(){const{bridgeInfo:{config_schema:e={properties:{}}},t:s}=this.props,n=Object.entries(e.properties).filter(([r,o])=>Ne(r,o)).map(([r,o])=>({name:r,title:s(r,{defaultValue:o.title})}));return n.unshift({name:b,title:s("main",{defaultValue:"Main"})}),n}getSettingsInfo(){const{keyName:e}=this.state,{bridgeInfo:{config_schema:s,config:n}}=this.props;let r=k(w,j(s),j(n)),o=r.schema,m;if(e===b){const i=this.getSettingsTabs().map(l=>l.name);r=k(i,r.schema,r.config),o=r.schema,m=r.config}else m=r.config[e],r.schema.properties&&(o=r.schema.properties[e]);return{currentSchema:o,currentConfig:m}}renderSettingsTabs(){const{t:e}=this.props,s=this.getSettingsTabs(),{keyName:n}=this.state;return t.jsx("div",{className:"nav nav-pills",children:s.map(r=>t.jsx("li",{className:"nav-item",children:t.jsx("a",{className:K("nav-link",{"bg-primary active":n===r.name}),"aria-current":"page",href:"#",onClick:o=>{this.setState({keyName:r.name}),o.preventDefault()},children:e(r.name,{defaultValue:r.title})})},r.name))})}renderSettings(){const{keyName:e}=this.state,{currentSchema:s,currentConfig:n}=this.getSettingsInfo();return e in this.settingsFormData||(this.settingsFormData[e]=n),t.jsxs("div",{className:"tab",children:[this.renderSettingsTabs(),t.jsx("div",{className:"tab-content",children:t.jsx("div",{className:"tab-pane active",children:t.jsx(ke,{idPrefix:e,schema:s,formData:this.settingsFormData[e],onChange:r=>this.settingsFormData[e]=r.formData,onSubmit:this.onSettingsSave,uiSchema:Y[e],fields:{TitleField:R,DescriptionField:M}})})})]})}renderDonate(){const{t:e}=this.props,s=e("donation_text",{returnObjects:!0,defaultValue:[]});return t.jsxs("div",{className:"container-fluid",children:[s.map(n=>t.jsx("p",{children:n},n)),we]})}}const Te=C(Se),Ce=["bridgeInfo","missingTranslations","devices","backup","preparingBackup"],Pe=_(["settings","common"])(D(Ce,z)(Te));export{Pe as ConnectedSettingsPage};
Binary file
@@ -1 +1 @@
1
- import{aJ as d,u as p,j as t,b as g,l as h,v as w,r as j}from"./index-1213f99f.js";import{p as y}from"./powerSourceTypeToTranslationKey-452dac81.js";var m=[60,60,24,7,365/7/12,12];function x(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function _(e,a){var s=e<0?1:0;e=Math.abs(e);for(var r=e,n=0;e>=m[n]&&n<m.length;n++)e/=m[n];return e=Math.floor(e),n*=2,e>(n===0?9:1)&&(n+=1),a(e,n,r)[s].replace("%s",e.toString())}function N(e,a){var s=a?x(a):new Date;return(+s-+x(e))/1e3}var k=function(e,a,s){var r=N(e,s&&s.relativeDate);return _(r,d(a))};function D(e){const{value:a,name:s}=e,{t:r}=p("values"),n={contact:new Map([[!0,r("closed")],[!1,r("open")]]),occupancy:new Map([[!0,r("occupied")],[!1,r("clear")]]),water_leak:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("leaking")},"Leaking")],[!1,r("clear")]]),tamper:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("tampered")},"tampered")],[!1,r("clear")]]),supported:new Map([[!0,r("supported")],[!1,r("not_supported")]]),_default:new Map([[!0,r("true")],[!1,r("false")]])},i=n[s]||n._default;return t.jsx(t.Fragment,{children:i.get(a)})}function L(e){const{t:a}=p("values"),{value:s}=e;switch(typeof s){case"boolean":return t.jsx(D,{...e});case"undefined":return t.jsx(t.Fragment,{children:"N/A"});case"object":return t.jsx(t.Fragment,{children:s===null?a("null"):JSON.stringify(s)});case"string":return t.jsx(t.Fragment,{children:s===""?t.jsx("small",{className:"text-muted",children:a("empty_string")}):s});default:return t.jsx(t.Fragment,{children:JSON.stringify(s)})}}function q(e){const{i18n:a}=p(),{state:s,lastSeenType:r}=e,n=h(s,r);return n?t.jsx("span",{title:w(n),children:k(n,a.language)}):t.jsx(t.Fragment,{children:"N/A"})}const M="_plug_1sba2_1",$={plug:M},F=({device:e,deviceState:a,showLevel:s,...r})=>{const{t:n}=p("zigbee");let i;switch(e!==void 0&&(i=e.power_source),i){case"Battery":let b=n(y(i)),u="",l="fa-question",o,f,c;if(a!==void 0&&((a==null?void 0:a.battery)!==void 0&&(o=a.battery),(a==null?void 0:a.battery_state)!==void 0&&(f=a.battery_state),(a==null?void 0:a.battery_low)!==void 0&&(c=a.battery_low)),o!==void 0)if(u=o+"%",o>=85)l="fa-battery-full";else if(o>=65)l="fa-battery-three-quarters";else if(o>=40)l="fa-battery-half";else if(o>=20)l="fa-battery-quarter";else if(o>=10)l="fa-battery-empty animation-blinking";else return t.jsxs("span",{className:"animation-blinking text-danger",role:"alert",children:[o,"%"]});else if(f!==void 0)switch(u=f,f){case"high":l="fa-battery-full";break;case"medium":l="fa-battery-half";break;case"low":l="fa-battery-empty animation-blinking";break}else c!==void 0&&(u=c?"LOW":"OK",l=c?"fa-battery-empty":"fa-battery-full");return c===!0&&(l+=" animation-blinking text-danger"),u!==""&&(b+=", "+n("power_level")+`: ${u}`),t.jsxs(j.Fragment,{children:[s?t.jsxs("span",{className:"pe-2",children:[n("battery")," ",u]}):null,t.jsx("i",{className:`fa ${l}`,title:b,...r})]});case"Mains (single phase)":case"DC Source":return t.jsx("i",{className:`fa fa-plug ${$.plug}`,title:n(y(i)),...r});default:return t.jsx("i",{className:"fa fa-question",title:i,...r})}},A=F;export{L as D,q as L,A as P};
1
+ import{aJ as d,u as p,j as t,b as g,l as h,v as w,r as j}from"./index-df1b6001.js";import{p as y}from"./powerSourceTypeToTranslationKey-452dac81.js";var m=[60,60,24,7,365/7/12,12];function x(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function _(e,a){var s=e<0?1:0;e=Math.abs(e);for(var r=e,n=0;e>=m[n]&&n<m.length;n++)e/=m[n];return e=Math.floor(e),n*=2,e>(n===0?9:1)&&(n+=1),a(e,n,r)[s].replace("%s",e.toString())}function N(e,a){var s=a?x(a):new Date;return(+s-+x(e))/1e3}var k=function(e,a,s){var r=N(e,s&&s.relativeDate);return _(r,d(a))};function D(e){const{value:a,name:s}=e,{t:r}=p("values"),n={contact:new Map([[!0,r("closed")],[!1,r("open")]]),occupancy:new Map([[!0,r("occupied")],[!1,r("clear")]]),water_leak:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("leaking")},"Leaking")],[!1,r("clear")]]),tamper:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("tampered")},"tampered")],[!1,r("clear")]]),supported:new Map([[!0,r("supported")],[!1,r("not_supported")]]),_default:new Map([[!0,r("true")],[!1,r("false")]])},i=n[s]||n._default;return t.jsx(t.Fragment,{children:i.get(a)})}function L(e){const{t:a}=p("values"),{value:s}=e;switch(typeof s){case"boolean":return t.jsx(D,{...e});case"undefined":return t.jsx(t.Fragment,{children:"N/A"});case"object":return t.jsx(t.Fragment,{children:s===null?a("null"):JSON.stringify(s)});case"string":return t.jsx(t.Fragment,{children:s===""?t.jsx("small",{className:"text-muted",children:a("empty_string")}):s});default:return t.jsx(t.Fragment,{children:JSON.stringify(s)})}}function q(e){const{i18n:a}=p(),{state:s,lastSeenType:r}=e,n=h(s,r);return n?t.jsx("span",{title:w(n),children:k(n,a.language)}):t.jsx(t.Fragment,{children:"N/A"})}const M="_plug_1sba2_1",$={plug:M},F=({device:e,deviceState:a,showLevel:s,...r})=>{const{t:n}=p("zigbee");let i;switch(e!==void 0&&(i=e.power_source),i){case"Battery":let b=n(y(i)),u="",l="fa-question",o,f,c;if(a!==void 0&&((a==null?void 0:a.battery)!==void 0&&(o=a.battery),(a==null?void 0:a.battery_state)!==void 0&&(f=a.battery_state),(a==null?void 0:a.battery_low)!==void 0&&(c=a.battery_low)),o!==void 0)if(u=o+"%",o>=85)l="fa-battery-full";else if(o>=65)l="fa-battery-three-quarters";else if(o>=40)l="fa-battery-half";else if(o>=20)l="fa-battery-quarter";else if(o>=10)l="fa-battery-empty animation-blinking";else return t.jsxs("span",{className:"animation-blinking text-danger",role:"alert",children:[o,"%"]});else if(f!==void 0)switch(u=f,f){case"high":l="fa-battery-full";break;case"medium":l="fa-battery-half";break;case"low":l="fa-battery-empty animation-blinking";break}else c!==void 0&&(u=c?"LOW":"OK",l=c?"fa-battery-empty":"fa-battery-full");return c===!0&&(l+=" animation-blinking text-danger"),u!==""&&(b+=", "+n("power_level")+`: ${u}`),t.jsxs(j.Fragment,{children:[s?t.jsxs("span",{className:"pe-2",children:[n("battery")," ",u]}):null,t.jsx("i",{className:`fa ${l}`,title:b,...r})]});case"Mains (single phase)":case"DC Source":return t.jsx("i",{className:`fa fa-plug ${$.plug}`,title:n(y(i)),...r});default:return t.jsx("i",{className:"fa fa-question",title:i,...r})}},A=F;export{L as D,q as L,A as P};
Binary file
@@ -1 +1 @@
1
- import{aP as n}from"./index-1213f99f.js";const a=""+new URL("generic-zigbee-device-c9aa86d9.png",import.meta.url).href,i="https://www.zigbee2mqtt.io/images/devices/",o=e=>{var t;return`${i}${n((t=e==null?void 0:e.definition)==null?void 0:t.model)}.jpg`},g=e=>{var t;return`${i}${n((t=e==null?void 0:e.definition)==null?void 0:t.model)}.png`},s=e=>{var t;return(t=e.definition)==null?void 0:t.icon},r=[s,g,o,()=>a];export{r as A,o as a,a as b,g};
1
+ import{aP as n}from"./index-df1b6001.js";const a=""+new URL("generic-zigbee-device-c9aa86d9.png",import.meta.url).href,i="https://www.zigbee2mqtt.io/images/devices/",o=e=>{var t;return`${i}${n((t=e==null?void 0:e.definition)==null?void 0:t.model)}.jpg`},g=e=>{var t;return`${i}${n((t=e==null?void 0:e.definition)==null?void 0:t.model)}.png`},s=e=>{var t;return(t=e.definition)==null?void 0:t.icon},r=[s,g,o,()=>a];export{r as A,o as a,a as b,g};
@@ -1 +1 @@
1
- import{c as m,a as p,w as u,r as g,j as e,L as f,g as k,B as t,b as d}from"./index-1213f99f.js";import{T as x}from"./ReactTableCom-6781cab1.js";import"./persist-8cc120f5.js";class b extends g.Component{constructor(){super(...arguments),this.onIdentifyClick=n=>{const{touchlinkIdentify:i}=this.props;i(n)},this.onResetClick=n=>{const{touchlinkReset:i}=this.props;i(n)}}renderTouchlinkDevices(){const{touchlinkDevices:n,devices:i,touchlinkIdentifyInProgress:r,touchlinkResetInProgress:a,t:c}=this.props,o=r||a,h=[{Header:c("zigbee:ieee_address"),accessor:s=>s.ieee_address,Cell:({row:{original:s}})=>i[s.ieee_address]?e.jsx(f,{to:k(s.ieee_address),children:s.ieee_address}):s.ieee_address},{Header:c("zigbee:friendly_name"),accessor:s=>{var l;return(l=i[s.ieee_address])==null?void 0:l.friendly_name}},{id:"channel",Header:c("zigbee:channel"),accessor:"channel"},{id:"actions",Header:"",Cell:({row:{original:s}})=>e.jsxs("div",{className:"btn-group float-right",role:"group","aria-label":"Basic example",children:[e.jsx(t,{disabled:o,item:s,title:c("identify"),className:"btn btn-primary",onClick:this.onIdentifyClick,children:e.jsx("i",{className:d("fa",{"fa-exclamation-triangle":!r,"fas fa-circle-notch fa-spin":r})})}),e.jsx(t,{disabled:o,item:s,title:c("factory_reset"),className:"btn btn-danger",onClick:this.onResetClick,children:e.jsx("i",{className:d("fa",{"fa-broom":!a,"fas fa-circle-notch fa-spin":a})})})]})}];return e.jsx("div",{className:"table-responsive",children:e.jsx(x,{id:"touchlinkDevices",columns:h,data:n})})}renderNoDevices(){const{touchlinkScan:n,t:i}=this.props;return e.jsx(t,{className:"btn btn-primary mx-auto d-block",onClick:n,children:i("scan")})}render(){const{touchlinkDevices:n,touchlinkScanInProgress:i,touchlinkScan:r,t:a}=this.props;return e.jsxs("div",{className:"card",children:[e.jsxs("div",{className:"card-header allign-middle",children:[a("detected_devices_message",{count:n.length}),e.jsx(t,{title:a("rescan"),className:"btn btn-primary btn-sm float-right",onClick:r,children:e.jsx("i",{className:"fa fa-sync"})})]}),e.jsx("div",{className:"card-body",children:i?e.jsx("div",{className:"d-flex justify-content-center",children:e.jsx("div",{className:"spinner-border",role:"status",children:e.jsx("span",{className:"sr-only",children:a("common:loading")})})}):n.length===0?this.renderNoDevices():this.renderTouchlinkDevices()})]})}}const j=["touchlinkDevices","devices","touchlinkScanInProgress","touchlinkIdentifyInProgress","touchlinkResetInProgress"],I=m(j,p)(u(["touchlink","zigbee","common"])(b));export{I as ConnectedTouchlinkPage};
1
+ import{c as m,a as p,w as u,r as g,j as e,L as f,g as k,B as t,b as d}from"./index-df1b6001.js";import{T as x}from"./ReactTableCom-b480890d.js";import"./persist-44dd6f07.js";class b extends g.Component{constructor(){super(...arguments),this.onIdentifyClick=n=>{const{touchlinkIdentify:i}=this.props;i(n)},this.onResetClick=n=>{const{touchlinkReset:i}=this.props;i(n)}}renderTouchlinkDevices(){const{touchlinkDevices:n,devices:i,touchlinkIdentifyInProgress:r,touchlinkResetInProgress:a,t:c}=this.props,o=r||a,h=[{Header:c("zigbee:ieee_address"),accessor:s=>s.ieee_address,Cell:({row:{original:s}})=>i[s.ieee_address]?e.jsx(f,{to:k(s.ieee_address),children:s.ieee_address}):s.ieee_address},{Header:c("zigbee:friendly_name"),accessor:s=>{var l;return(l=i[s.ieee_address])==null?void 0:l.friendly_name}},{id:"channel",Header:c("zigbee:channel"),accessor:"channel"},{id:"actions",Header:"",Cell:({row:{original:s}})=>e.jsxs("div",{className:"btn-group float-right",role:"group","aria-label":"Basic example",children:[e.jsx(t,{disabled:o,item:s,title:c("identify"),className:"btn btn-primary",onClick:this.onIdentifyClick,children:e.jsx("i",{className:d("fa",{"fa-exclamation-triangle":!r,"fas fa-circle-notch fa-spin":r})})}),e.jsx(t,{disabled:o,item:s,title:c("factory_reset"),className:"btn btn-danger",onClick:this.onResetClick,children:e.jsx("i",{className:d("fa",{"fa-broom":!a,"fas fa-circle-notch fa-spin":a})})})]})}];return e.jsx("div",{className:"table-responsive",children:e.jsx(x,{id:"touchlinkDevices",columns:h,data:n})})}renderNoDevices(){const{touchlinkScan:n,t:i}=this.props;return e.jsx(t,{className:"btn btn-primary mx-auto d-block",onClick:n,children:i("scan")})}render(){const{touchlinkDevices:n,touchlinkScanInProgress:i,touchlinkScan:r,t:a}=this.props;return e.jsxs("div",{className:"card",children:[e.jsxs("div",{className:"card-header allign-middle",children:[a("detected_devices_message",{count:n.length}),e.jsx(t,{title:a("rescan"),className:"btn btn-primary btn-sm float-right",onClick:r,children:e.jsx("i",{className:"fa fa-sync"})})]}),e.jsx("div",{className:"card-body",children:i?e.jsx("div",{className:"d-flex justify-content-center",children:e.jsx("div",{className:"spinner-border",role:"status",children:e.jsx("span",{className:"sr-only",children:a("common:loading")})})}):n.length===0?this.renderNoDevices():this.renderTouchlinkDevices()})]})}}const j=["touchlinkDevices","devices","touchlinkScanInProgress","touchlinkIdentifyInProgress","touchlinkResetInProgress"],I=m(j,p)(u(["touchlink","zigbee","common"])(b));export{I as ConnectedTouchlinkPage};
Binary file
@@ -1,4 +1,4 @@
1
- import{j as e,B as c,N as m,u,e as E,r as l,M as g,f as C,h as v,k as b,_ as j,c as _,a as y,w as N}from"./index-1213f99f.js";const f=`class MyExampleExtension_TS_ {
1
+ import{j as e,B as c,N as m,u,e as E,r as l,M as g,f as C,h as v,k as b,_ as j,c as _,a as y,w as N}from"./index-df1b6001.js";const f=`class MyExampleExtension_TS_ {
2
2
  constructor(zigbee, mqtt, state, publishEntityState, eventBus, settings, logger) {
3
3
  logger.info('Loaded MyExampleExtension_TS_');
4
4
  mqtt.publish('example/extension', 'hello from MyExampleExtension_TS_');
@@ -33,4 +33,4 @@ import{j as e,B as c,N as m,u,e as E,r as l,M as g,f as C,h as v,k as b,_ as j,c
33
33
  }
34
34
 
35
35
  module.exports = MyExampleExtension_TS_;
36
- `,S=m.create(r=>{const{updateExtensionCode:t,onCreated:o,ts:n}=r,{t:a}=u(["extensions","common"]),s=E(),[i,x]=l.useState(`example-user-extension${n}.js`),d=f.replace(/_TS_/g,n.toString()),h=()=>{t({name:i,code:d}),o({name:i,code:d}),s.remove()};return e.jsxs(g,{isOpen:s.visible,children:[e.jsx(C,{children:a("create_new_extension")}),e.jsxs(v,{children:[e.jsx("label",{className:"form-label",children:a("extension_name_propmt")}),e.jsx("input",{type:"text",className:"form-control",value:i,onChange:p=>x(p.target.value)})]}),e.jsxs(b,{children:[e.jsx("button",{type:"button",className:"btn btn-secondary",onClick:s.remove,children:a("common:close")}),e.jsx("button",{type:"button",className:"btn btn-primary",onClick:h,children:a("common:ok")})]})]})});function M(r){return e.jsx(c,{className:"btn btn-success me-2",onClick:()=>m.show(S,{ts:Date.now(),...r}),children:e.jsx("i",{className:"fa fa-plus"})})}const T=l.lazy(()=>j(()=>import("./CodeEditor-db28b75a.js"),["./CodeEditor-db28b75a.js","./index-1213f99f.js","./index-0f5e7faa.css","./extends-98964cd2.js"],import.meta.url));class k extends l.Component{constructor(){super(...arguments),this.state={},this.loadExtension=t=>{const{value:o}=t.target;this.setState({currentExtension:o})},this.onExtensionCodeChange=t=>{const{updateExtensionCode:o}=this.props,{currentExtension:n}=this.state;n&&o({name:n,code:t})},this.onSaveClick=()=>{const{saveExtensionCode:t}=this.props;t(this.getCurrentExtension())},this.removeExtension=()=>{const{removeExtension:t}=this.props;t(this.getCurrentExtension())}}getCurrentExtension(){const{currentExtension:t}=this.state,{extensions:o}=this.props;return o.find(n=>n.name===t)}renderControls(){const{currentExtension:t}=this.state,{extensions:o,t:n,updateExtensionCode:a}=this.props;return e.jsxs("div",{className:"row mb-2",children:[e.jsx("div",{className:"col-6",children:e.jsxs("select",{value:t,className:"form-control",onChange:this.loadExtension,children:[e.jsx("option",{hidden:!0,children:n("select_extension_to_edit")},"hidden"),o.map(({name:s})=>e.jsx("option",{value:s,children:s},s))]})}),e.jsxs("div",{className:"col-6",children:[e.jsx(M,{updateExtensionCode:a,onCreated:s=>this.setState({currentExtension:s.name})}),e.jsx(c,{prompt:!0,disabled:!t,onClick:this.removeExtension,className:"btn btn-danger me-2",children:e.jsx("i",{className:"fa fa-trash"})}),e.jsx(c,{disabled:!t,onClick:this.onSaveClick,className:"btn btn-primary",children:n("common:save")})]})]})}renderEditor(){var s;const{currentExtension:t}=this.state,{extensions:o,theme:n}=this.props,a=((s=o.find(i=>i.name===t))==null?void 0:s.code)??"";return e.jsx(T,{value:a,onChange:this.onExtensionCodeChange,theme:n})}render(){return e.jsx("div",{className:"card h-100",children:e.jsxs("div",{className:"card-body h-100",children:[this.renderControls(),this.renderEditor()]})})}}const B=["extensions","theme"],q=_(B,y)(N("extensions")(k));export{q as ConnectedExtensionsEditorPage};
36
+ `,S=m.create(r=>{const{updateExtensionCode:t,onCreated:o,ts:n}=r,{t:a}=u(["extensions","common"]),s=E(),[i,x]=l.useState(`example-user-extension${n}.js`),d=f.replace(/_TS_/g,n.toString()),h=()=>{t({name:i,code:d}),o({name:i,code:d}),s.remove()};return e.jsxs(g,{isOpen:s.visible,children:[e.jsx(C,{children:a("create_new_extension")}),e.jsxs(v,{children:[e.jsx("label",{className:"form-label",children:a("extension_name_propmt")}),e.jsx("input",{type:"text",className:"form-control",value:i,onChange:p=>x(p.target.value)})]}),e.jsxs(b,{children:[e.jsx("button",{type:"button",className:"btn btn-secondary",onClick:s.remove,children:a("common:close")}),e.jsx("button",{type:"button",className:"btn btn-primary",onClick:h,children:a("common:ok")})]})]})});function M(r){return e.jsx(c,{className:"btn btn-success me-2",onClick:()=>m.show(S,{ts:Date.now(),...r}),children:e.jsx("i",{className:"fa fa-plus"})})}const T=l.lazy(()=>j(()=>import("./CodeEditor-162d545c.js"),["./CodeEditor-162d545c.js","./index-df1b6001.js","./index-0f5e7faa.css","./extends-98964cd2.js"],import.meta.url));class k extends l.Component{constructor(){super(...arguments),this.state={},this.loadExtension=t=>{const{value:o}=t.target;this.setState({currentExtension:o})},this.onExtensionCodeChange=t=>{const{updateExtensionCode:o}=this.props,{currentExtension:n}=this.state;n&&o({name:n,code:t})},this.onSaveClick=()=>{const{saveExtensionCode:t}=this.props;t(this.getCurrentExtension())},this.removeExtension=()=>{const{removeExtension:t}=this.props;t(this.getCurrentExtension())}}getCurrentExtension(){const{currentExtension:t}=this.state,{extensions:o}=this.props;return o.find(n=>n.name===t)}renderControls(){const{currentExtension:t}=this.state,{extensions:o,t:n,updateExtensionCode:a}=this.props;return e.jsxs("div",{className:"row mb-2",children:[e.jsx("div",{className:"col-6",children:e.jsxs("select",{value:t,className:"form-control",onChange:this.loadExtension,children:[e.jsx("option",{hidden:!0,children:n("select_extension_to_edit")},"hidden"),o.map(({name:s})=>e.jsx("option",{value:s,children:s},s))]})}),e.jsxs("div",{className:"col-6",children:[e.jsx(M,{updateExtensionCode:a,onCreated:s=>this.setState({currentExtension:s.name})}),e.jsx(c,{prompt:!0,disabled:!t,onClick:this.removeExtension,className:"btn btn-danger me-2",children:e.jsx("i",{className:"fa fa-trash"})}),e.jsx(c,{disabled:!t,onClick:this.onSaveClick,className:"btn btn-primary",children:n("common:save")})]})]})}renderEditor(){var s;const{currentExtension:t}=this.state,{extensions:o,theme:n}=this.props,a=((s=o.find(i=>i.name===t))==null?void 0:s.code)??"";return e.jsx(T,{value:a,onChange:this.onExtensionCodeChange,theme:n})}render(){return e.jsx("div",{className:"card h-100",children:e.jsxs("div",{className:"card-body h-100",children:[this.renderControls(),this.renderEditor()]})})}}const B=["extensions","theme"],q=_(B,y)(N("extensions")(k));export{q as ConnectedExtensionsEditorPage};
Binary file
@@ -1 +1 @@
1
- import{p as v,O as u,C as x,j as e,b,v as _,c as N,a as y,w as C,r as L,H as g}from"./index-1213f99f.js";import{w,T as S}from"./bootstrap-5.esm-d9fb6ca4.js";import{_ as E}from"./_baseSet-0d6ca43e.js";var F=u,j=/[\\^$.*+?()[\]{}|]/g,R=RegExp(j.source);function T(s){return s=F(s),s&&R.test(s)?s.replace(j,"\\$&"):s}var $=T;const D=v($);var K=E;function P(s,o,a){return s==null?s:K(s,o,a)}var H=P;const I=v(H),O={"hide-description":"_hide-description_19xm6_1"},k=w(S);function z(s){const{schema:o={},schemaKey:a="",config:c={},configKey:t="",onChange:r}=s,n=x(c,t,{}),d=x(o,a,{}),l=i=>{const h={};I(h,t,i.formData),r(h)};return e.jsx(k,{schema:d,className:O["hide-description"],formData:n,onChange:l,children:e.jsx("div",{})})}const m="all",p=({text:s})=>e.jsx(e.Fragment,{children:s}),A=({text:s="",highlight:o=""})=>{if(!o.trim())return e.jsx(p,{text:s});const a=new RegExp(`(${D(o)})`,"gi"),c=s.split(a);return e.jsx(e.Fragment,{children:c.filter(t=>t).map((t,r)=>a.test(t)?e.jsx("mark",{children:t},r):e.jsx(p,{text:t},r))})};function f(s){const{logLevel:o,log:a,search:c}=s,t=o===m&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{width:"60px"},className:b("badge",{"bg-danger":a.level==="error","bg-warning":a.level==="warning","bg-info":a.level==="info","bg-secondary":!["error","warning","info"].includes(a.level)},"text-capitalize"),children:a.level})," "]});return e.jsxs("div",{children:[t,e.jsx("small",{className:"pe-1",children:_(a.timestamp)}),e.jsx("code",{children:e.jsx(A,{text:a.message,highlight:c})})]})}const B=[m,"debug","info","warning","error"],M=[100,200,500,1e3];class W extends L.Component{constructor(){super(...arguments),this.state={search:"",logLevel:m}}renderSearch(){const{clearLogs:o,bridgeInfo:{config_schema:a,config:c},updateBridgeConfig:t,t:r}=this.props,{search:n}=this.state,{logsLimit:d}=g.getState();return e.jsx("div",{className:"card",children:e.jsx("div",{className:"card-body",children:e.jsxs("div",{className:"row row-cols-lg-auto g-3 align-items-center",children:[e.jsxs("div",{className:"col-12 col-sm-4 col-xxl-4",children:[e.jsx("label",{htmlFor:"log-level",className:"form-label",children:r("show_only")}),e.jsx("select",{id:"log-level",className:"form-select",onChange:l=>this.setState({logLevel:l.target.value}),children:B.map(l=>e.jsx("option",{value:l,children:l},l))})]}),e.jsxs("div",{className:"col-12 col-sm-4 col-xxl-4",children:[e.jsx("label",{htmlFor:"search-filter",className:"form-label",children:r("filter_by_text")}),e.jsx("input",{id:"search-filter",className:"form-control col-10",placeholder:r("common:enter_search_criteria"),value:n,onChange:l=>this.setState({search:l.target.value}),type:"text"})]}),e.jsx("div",{className:"col-12 col-sm-4 col-xxl-4",children:e.jsx(z,{schema:a,schemaKey:"properties.advanced.properties.log_level",config:c,configKey:"advanced.log_level",onChange:t})}),e.jsxs("div",{className:"col-12 col-sm-4 col-xxl-4",children:[e.jsx("label",{htmlFor:"logs-limit",className:"form-label",children:r("logs_limit")}),e.jsx("select",{id:"logs-limit",className:"form-select",onChange:l=>{const i=parseInt(l.target.value);g.setState({logsLimit:i,logs:[...g.getState().logs.slice(-i)]})},children:M.map(l=>e.jsx("option",{value:l,selected:l==d,children:l},l))})]}),e.jsxs("div",{className:"col-12",children:[e.jsx("label",{htmlFor:"reset",children:" "}),e.jsx("input",{id:"reset",type:"button",onClick:o,className:"btn btn-primary form-control",value:r("common:clear")})]})]})})})}render(){let{logs:o}=this.props;const{t:a}=this.props,{search:c,logLevel:t}=this.state;return o=o.filter(r=>(t===m||r.level===t)&&(!c||r.message.toLowerCase().includes(c.toLowerCase()))).sort(),e.jsxs(e.Fragment,{children:[this.renderSearch(),e.jsx("div",{className:"card",children:e.jsxs("div",{className:"card-body",children:[o.length==0?e.jsx("h1",{children:a("empty_logs_message")}):null,e.jsx("div",{className:"overflow-auto",children:o.map((r,n)=>e.jsx(f,{log:r,search:c,logLevel:t},n))})]})})]})}}const q=["logs","bridgeInfo"],G=N(q,y)(C(["logs","common"])(W)),V=Object.freeze(Object.defineProperty({__proto__:null,ConnectedLogsPage:G,LogRow:f},Symbol.toStringTag,{value:"Module"}));export{m as A,f as L,V as i};
1
+ import{p as v,O as u,C as x,j as e,b,v as _,c as N,a as y,w as C,r as L,H as g}from"./index-df1b6001.js";import{w,T as S}from"./bootstrap-5.esm-bb33d65c.js";import{_ as E}from"./_baseSet-74ca6149.js";var F=u,j=/[\\^$.*+?()[\]{}|]/g,R=RegExp(j.source);function T(s){return s=F(s),s&&R.test(s)?s.replace(j,"\\$&"):s}var $=T;const D=v($);var K=E;function P(s,o,a){return s==null?s:K(s,o,a)}var H=P;const I=v(H),O={"hide-description":"_hide-description_19xm6_1"},k=w(S);function z(s){const{schema:o={},schemaKey:a="",config:c={},configKey:t="",onChange:r}=s,n=x(c,t,{}),d=x(o,a,{}),l=i=>{const h={};I(h,t,i.formData),r(h)};return e.jsx(k,{schema:d,className:O["hide-description"],formData:n,onChange:l,children:e.jsx("div",{})})}const m="all",p=({text:s})=>e.jsx(e.Fragment,{children:s}),A=({text:s="",highlight:o=""})=>{if(!o.trim())return e.jsx(p,{text:s});const a=new RegExp(`(${D(o)})`,"gi"),c=s.split(a);return e.jsx(e.Fragment,{children:c.filter(t=>t).map((t,r)=>a.test(t)?e.jsx("mark",{children:t},r):e.jsx(p,{text:t},r))})};function f(s){const{logLevel:o,log:a,search:c}=s,t=o===m&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{width:"60px"},className:b("badge",{"bg-danger":a.level==="error","bg-warning":a.level==="warning","bg-info":a.level==="info","bg-secondary":!["error","warning","info"].includes(a.level)},"text-capitalize"),children:a.level})," "]});return e.jsxs("div",{children:[t,e.jsx("small",{className:"pe-1",children:_(a.timestamp)}),e.jsx("code",{children:e.jsx(A,{text:a.message,highlight:c})})]})}const B=[m,"debug","info","warning","error"],M=[100,200,500,1e3];class W extends L.Component{constructor(){super(...arguments),this.state={search:"",logLevel:m}}renderSearch(){const{clearLogs:o,bridgeInfo:{config_schema:a,config:c},updateBridgeConfig:t,t:r}=this.props,{search:n}=this.state,{logsLimit:d}=g.getState();return e.jsx("div",{className:"card",children:e.jsx("div",{className:"card-body",children:e.jsxs("div",{className:"row row-cols-lg-auto g-3 align-items-center",children:[e.jsxs("div",{className:"col-12 col-sm-4 col-xxl-4",children:[e.jsx("label",{htmlFor:"log-level",className:"form-label",children:r("show_only")}),e.jsx("select",{id:"log-level",className:"form-select",onChange:l=>this.setState({logLevel:l.target.value}),children:B.map(l=>e.jsx("option",{value:l,children:l},l))})]}),e.jsxs("div",{className:"col-12 col-sm-4 col-xxl-4",children:[e.jsx("label",{htmlFor:"search-filter",className:"form-label",children:r("filter_by_text")}),e.jsx("input",{id:"search-filter",className:"form-control col-10",placeholder:r("common:enter_search_criteria"),value:n,onChange:l=>this.setState({search:l.target.value}),type:"text"})]}),e.jsx("div",{className:"col-12 col-sm-4 col-xxl-4",children:e.jsx(z,{schema:a,schemaKey:"properties.advanced.properties.log_level",config:c,configKey:"advanced.log_level",onChange:t})}),e.jsxs("div",{className:"col-12 col-sm-4 col-xxl-4",children:[e.jsx("label",{htmlFor:"logs-limit",className:"form-label",children:r("logs_limit")}),e.jsx("select",{id:"logs-limit",className:"form-select",onChange:l=>{const i=parseInt(l.target.value);g.setState({logsLimit:i,logs:[...g.getState().logs.slice(-i)]})},children:M.map(l=>e.jsx("option",{value:l,selected:l==d,children:l},l))})]}),e.jsxs("div",{className:"col-12",children:[e.jsx("label",{htmlFor:"reset",children:" "}),e.jsx("input",{id:"reset",type:"button",onClick:o,className:"btn btn-primary form-control",value:r("common:clear")})]})]})})})}render(){let{logs:o}=this.props;const{t:a}=this.props,{search:c,logLevel:t}=this.state;return o=o.filter(r=>(t===m||r.level===t)&&(!c||r.message.toLowerCase().includes(c.toLowerCase()))).sort(),e.jsxs(e.Fragment,{children:[this.renderSearch(),e.jsx("div",{className:"card",children:e.jsxs("div",{className:"card-body",children:[o.length==0?e.jsx("h1",{children:a("empty_logs_message")}):null,e.jsx("div",{className:"overflow-auto",children:o.map((r,n)=>e.jsx(f,{log:r,search:c,logLevel:t},n))})]})})]})}}const q=["logs","bridgeInfo"],G=N(q,y)(C(["logs","common"])(W)),V=Object.freeze(Object.defineProperty({__proto__:null,ConnectedLogsPage:G,LogRow:f},Symbol.toStringTag,{value:"Module"}));export{m as A,f as L,V as i};
Binary file