zigbee2mqtt-windfront
Version: 
[](https://npmjs.org/package/zigbee2mqtt-windfront) [](https://github.com/Nerivec/zigbee2mqtt-windf
2 lines (1 loc) • 1.03 kB
JavaScript
import{r as d,b as f,j as n}from"./index-C9teBVht.js";import{S as h}from"./SelectField-Cjwi2kGD.js";const b=d.memo(({devices:r,value:c,label:p,onChange:a,groups:o=[],...m})=>{const{t:l}=f("common"),u=t=>{const{value:i}=t.target;if(i.startsWith("0x"))a(r.find(e=>e.ieee_address===i));else{const e=Number.parseInt(i,10);a(o.find(s=>e===s.id))}},x=d.useMemo(()=>{const t=[],i=r.map(e=>n.jsxs("option",{title:e.definition?.description,value:e.ieee_address,children:[e.friendly_name," ",e.definition?.model?`(${e.definition?.model})`:""]},e.ieee_address));if(o?.length){const e=o.map(s=>n.jsx("option",{value:s.id,children:s.friendly_name},s.id));t.push(n.jsx("optgroup",{label:l(s=>s.groups),children:e},"Groups")),t.push(n.jsx("optgroup",{label:l(s=>s.devices),children:i},"Devices"))}else t.push(...i);return t},[r,o,l]);return n.jsxs(h,{name:"device_picker",label:p,value:c,onChange:u,className:"select validator max-w-64",...m,children:[n.jsx("option",{value:"",disabled:!0,children:l(t=>t.select_device)}),x]})});export{b as D};