UNPKG

@hakit/core

Version:

A collection of React hooks and helpers for Home Assistant to easily communicate with the Home Assistant WebSocket API.

3 lines (2 loc) 932 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");const t=require("../../../index-iGClY3ec.cjs"),u=require("react");require("../useLocale/locales/index.js");require("home-assistant-js-websocket");require("../../utils/date.js");require("@iconify/react");require("use-debounce");const l=require("../useAreas/index.js");function a(){const r=l.useAreas(),o=t.useHass(e=>e.floors);return u.useMemo(()=>{const e=f(r),i=r.filter(s=>!s.floor_id||!e[s.floor_id]),n=Object.values(o).map(s=>({...s,type:"floor",areas:e[s.floor_id]||[]}));return i.length&&n.push({floor_id:"unassigned",name:"Unassigned",level:null,icon:null,aliases:[],created_at:Date.now(),modified_at:Date.now(),type:"unassigned",areas:i}),n},[r,o])}const f=r=>{const o={};for(const e of r)e.floor_id&&(e.floor_id in o||(o[e.floor_id]=[]),o[e.floor_id].push(e));return o};exports.useFloors=a; //# sourceMappingURL=index.js.map