@fastybird/smart-panel-admin 1.1.0-alpha.15 → 1.1.0-alpha.16

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 (84) hide show
  1. package/dist/assets/{card-add-form-E8HD5P7x.js → card-add-form-CwVNfOa0.js} +1 -1
  2. package/dist/assets/{card-edit-form-krG-iKtG.js → card-edit-form-CSyu6tst.js} +1 -1
  3. package/dist/assets/{components-BvH9AXH1.js → components-C29cEP3E.js} +1 -1
  4. package/dist/assets/{components-V875k_UY.js → components-ChpIwZ2c.js} +1 -1
  5. package/dist/assets/{components-DwaYj6Cf.js → components-DOu6SAYU.js} +1 -1
  6. package/dist/assets/{components-Zbysysf4.js → components-EQDhXTcZ.js} +2 -2
  7. package/dist/assets/components-I6YluL_k.js +1 -0
  8. package/dist/assets/{components-fOCQ1-ME.js → components-g-LPjaFP.js} +1 -1
  9. package/dist/assets/{components-DGTDixMX.js → components-xe0tG-zv.js} +2 -2
  10. package/dist/assets/composables-2NuyfNXO.js +1 -0
  11. package/dist/assets/{composables-CEiy-ejt.js → composables-Cpk78oG1.js} +1 -1
  12. package/dist/assets/{composables-DHJBUFeX.js → composables-D2O7i4W5.js} +1 -1
  13. package/dist/assets/{composables-DDdN4T8e.js → composables-DeXiqZuU.js} +1 -1
  14. package/dist/assets/{dashboard-DtLQGoww.js → dashboard-YUP0xrqH.js} +2 -2
  15. package/dist/assets/devices-DQl0qr-s.js +2 -0
  16. package/dist/assets/devices.constants-DHQemX04.js +1 -0
  17. package/dist/assets/index-CV45di_J.css +1 -0
  18. package/dist/assets/{index-CgcWJbCW.js → index-W6henE9u.js} +5 -5
  19. package/dist/assets/{keys-DghNVBR5.js → keys-DMEIfK2a.js} +1 -1
  20. package/dist/assets/{page-configure-DNI83REl.js → page-configure-Dn69RQ5P.js} +1 -1
  21. package/dist/assets/{page-configure-B_5W0yDK.js → page-configure-Dz17Sp3H.js} +1 -1
  22. package/dist/assets/{scene-add-form-B5GZmYBe.js → scene-add-form-telggkNn.js} +1 -1
  23. package/dist/assets/{scene-edit-form-BpyqxJsJ.js → scene-edit-form-D6fUKT6Q.js} +1 -1
  24. package/dist/assets/{spaces-CJibihNe.js → spaces-DVdwHxsH.js} +2 -2
  25. package/dist/assets/{spaces-home-control.constants-Bmyd_bxK.js → spaces-home-control.constants-BgmjmN0q.js} +1 -1
  26. package/dist/assets/{system-BHTxM7b2.js → system-EoTYvhDY.js} +2 -2
  27. package/dist/assets/{useDevicesPlugins-C5GU_Od9.js → useDevicesPlugins-DEYJEOHX.js} +1 -1
  28. package/dist/assets/{view-card-add-6cJ2Oi8A.js → view-card-add-pt5m96qu.js} +1 -1
  29. package/dist/assets/{view-card-edit-Cj0ZaAZc.js → view-card-edit-DXjl5oBU.js} +1 -1
  30. package/dist/assets/{view-channel-DhNP8G5E.js → view-channel-Ba138KV7.js} +1 -1
  31. package/dist/assets/{view-channel-add-Dq2g9C2Q.js → view-channel-add-DuoPUzeY.js} +1 -1
  32. package/dist/assets/{view-channel-edit-CRBGnNO1.js → view-channel-edit-DQ6tJADU.js} +1 -1
  33. package/dist/assets/{view-channel-property-add-CiPpsqLa.js → view-channel-property-add-CnTLdMir.js} +1 -1
  34. package/dist/assets/{view-channel-property-edit-DgKq8lY_.js → view-channel-property-edit-1YMqTX0A.js} +1 -1
  35. package/dist/assets/{view-channels-V4deGym0.js → view-channels-CGqkcr4L.js} +1 -1
  36. package/dist/assets/{view-data-source-add-Duyt58zK.js → view-data-source-add-BwwcOapn.js} +1 -1
  37. package/dist/assets/{view-data-source-add-BVOljAgp.js → view-data-source-add-C-YsEqNf.js} +1 -1
  38. package/dist/assets/{view-data-source-edit-BrHBWN9M.js → view-data-source-edit-3a7uStGk.js} +1 -1
  39. package/dist/assets/{view-data-source-edit-DAp5tr92.js → view-data-source-edit-Bjpg7BqJ.js} +1 -1
  40. package/dist/assets/{view-device-HW-FYK6m.js → view-device-CbiJT-WF.js} +1 -1
  41. package/dist/assets/{view-device-add-h9XeQkR4.js → view-device-add-BbaM0dhl.js} +1 -1
  42. package/dist/assets/{view-device-control-k8ySBs5q.js → view-device-control-DaaVC0p8.js} +1 -1
  43. package/dist/assets/{view-device-edit-B6w4Pwoa.js → view-device-edit-Bmi8qely.js} +1 -1
  44. package/dist/assets/{view-devices-CuSYafue.js → view-devices-D3bJGe5R.js} +1 -1
  45. package/dist/assets/{view-devices-wizard-CVWxP2qH.js → view-devices-wizard-Bie75MnV.js} +1 -1
  46. package/dist/assets/{view-display-WkLUe2li.js → view-display-BPX9RiY5.js} +1 -1
  47. package/dist/assets/{view-display-edit-CVsjKYSe.js → view-display-edit-C1nr56vB.js} +1 -1
  48. package/dist/assets/{view-displays-DEfXxQsx.js → view-displays-DvlfLyrG.js} +1 -1
  49. package/dist/assets/{view-extension-detail-Dt-TRcGZ.js → view-extension-detail-DFw0OsMF.js} +1 -1
  50. package/dist/assets/{view-extensions-Djz5EFGI.js → view-extensions-BA9i1fyS.js} +1 -1
  51. package/dist/assets/{view-onboarding-DHUjhce1.js → view-onboarding-BHdDgVMj.js} +1 -1
  52. package/dist/assets/{view-page-add-B6B4ZDvT.js → view-page-add-CMkgrgRF.js} +1 -1
  53. package/dist/assets/{view-page-configure-CN7s71ow.js → view-page-configure-JhXEhrod.js} +1 -1
  54. package/dist/assets/{view-page-configure-CXwMF5sY.js → view-page-configure-ho3B4Gtr.js} +1 -1
  55. package/dist/assets/{view-page-edit-Cd0oAyro.js → view-page-edit-ubc81fqj.js} +1 -1
  56. package/dist/assets/{view-pages-BA2aoTFo.js → view-pages-CZR6c3uY.js} +1 -1
  57. package/dist/assets/{view-scene-add-CcmfdYfo.js → view-scene-add-H5f00zTk.js} +1 -1
  58. package/dist/assets/{view-scene-edit-CJnJk4xt.js → view-scene-edit-BYUTky-m.js} +1 -1
  59. package/dist/assets/{view-scenes-CzLR08or.js → view-scenes-eWQiAb02.js} +1 -1
  60. package/dist/assets/{view-simulator-device-wizard-DULtvgds.js → view-simulator-device-wizard-xcGSPrEU.js} +1 -1
  61. package/dist/assets/{view-space-add-bXDK88NX.js → view-space-add-DLF9C3Az.js} +1 -1
  62. package/dist/assets/{view-space-configure-sQY9tDyB.js → view-space-configure-LA94Bfj9.js} +1 -1
  63. package/dist/assets/{view-space-edit-DPp0vLpb.js → view-space-edit-CVBH6AaO.js} +1 -1
  64. package/dist/assets/{view-space-plugin-BoJTYQbN.js → view-space-plugin-DALFumLq.js} +1 -1
  65. package/dist/assets/{view-spaces-D76KLcmr.js → view-spaces-BpplLq0s.js} +1 -1
  66. package/dist/assets/{view-spaces-wizard-CbbVSvgt.js → view-spaces-wizard-DTzT5Ajh.js} +1 -1
  67. package/dist/assets/{view-stats-BdFxYCJ1.js → view-stats-DgbiVpuT.js} +1 -1
  68. package/dist/assets/{view-system-backups-DupEuFGr.js → view-system-backups-BUaKjaoI.js} +1 -1
  69. package/dist/assets/{view-system-info-BRiwO4VM.js → view-system-info-DOVllJ0V.js} +1 -1
  70. package/dist/assets/{view-system-log-detail-Bilyx2Rg.js → view-system-log-detail-D19o4Zoo.js} +1 -1
  71. package/dist/assets/{view-system-logs-CCBxaNJd.js → view-system-logs-CnF-VVpx.js} +1 -1
  72. package/dist/assets/{view-tile-add-Bv0G2Mux.js → view-tile-add-ChtKYIGF.js} +1 -1
  73. package/dist/assets/{view-tile-add-ByeFvQ1C.js → view-tile-add-DNOx9gjy.js} +1 -1
  74. package/dist/assets/{view-tile-edit-9CB74778.js → view-tile-edit-CLNWeo9W.js} +1 -1
  75. package/dist/assets/{view-tile-edit--n1jPylB.js → view-tile-edit-pikK5iSE.js} +1 -1
  76. package/dist/assets/{view-virtual-device-wizard-CbkHskbg.js → view-virtual-device-wizard-CHj4A2oD.js} +1 -1
  77. package/dist/assets/{weather-Dkj5so01.js → weather-Bd3vPXEz.js} +1 -1
  78. package/dist/index.html +28 -28
  79. package/package.json +1 -1
  80. package/dist/assets/components-CExMo9as.js +0 -1
  81. package/dist/assets/composables-CsFD_4mm.js +0 -1
  82. package/dist/assets/devices-3HwG1Cda.js +0 -2
  83. package/dist/assets/devices.constants-HX5whDWr.js +0 -1
  84. package/dist/assets/index-hWiJEHfB.css +0 -1
@@ -1 +0,0 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ar as e,Br as t,D as n,Di as r,Dr as i,Dt as a,E as o,Er as s,Gr as c,H as l,I as u,It as d,K as f,Ki as p,L as m,Li as h,Lr as g,Mi as _,Mr as v,Mt as y,Nr as b,O as x,Or as S,Pr as C,Qr as w,R as T,Si as E,T as D,Ti as ee,Ui as te,Vr as ne,Wi as O,Wr as k,Yr as re,_i as A,_r as ie,an as ae,bi as oe,br as se,bt as ce,ci as j,cn as le,di as ue,ei as M,gn as de,gr as fe,ii as pe,ji as N,jr as me,k as P,kr as F,li as he,ln as ge,lr as _e,ni as ve,nt as ye,oi as be,q as xe,qi as I,si as Se,t as L,ti as Ce,ui as R,vn as we,x as Te,xr as z,yr as B,z as Ee,zt as De}from"./icon-with-child-CgZMNB3F.js";import{Bi as Oe,Ci as ke,Dr as Ae,Er as je,In as V,Jr as Me,M as Ne,Mi as Pe,Mr as H,Nr as Fe,Or as Ie,Qr as Le,Rr as U,Sr as W,Tr as Re,Wi as ze,Yi as Be,Zr as Ve,_ as He,aa as Ue,an as G,bi as We,ei as K,h as Ge,hi as Ke,ia as qe,in as Je,ji as Ye,kr as Xe,mi as Ze,nn as Qe,oa as $e,on as et,p as tt,pi as nt,qr as q,ra as rt,ri as it,rn as J,sn as at,vr as ot,x as st,yi as ct,yr as lt}from"./common-D4Z2wgrj.js";import{n as Y,t as ut}from"./table-CeNNpGH7.js";import{n as X,t as dt}from"./form-Wa6uIXea.js";import{t as Z}from"./alert-I-oSc4A8.js";import{t as ft}from"./input-number-Cqu-p2BC.js";import{r as Q,t as $}from"./select-CTZp3DyT.js";import{t as pt}from"./card-C50YgvLJ.js";import{n as mt,t as ht}from"./checkbox-CtqO8Xm5.js";import{n as gt,r as _t}from"./radio-DvF3ArlX.js";import{n as vt,t as yt}from"./collapse-hdC45R5w.js";import{t as bt}from"./drawer-Dnlv6Zc7.js";import{t as xt}from"./link-mE1gaRBg.js";import{t as St}from"./pagination-BFOA9Lqt.js";import{g as Ct,x as wt,y as Tt}from"./components-DGTDixMX.js";import{t as Et}from"./slider-CaVuBQD9.js";import{n as Dt,t as Ot}from"./steps-DuddYjrb.js";import{t as kt}from"./components-V875k_UY.js";import{t as At}from"./directive-D42ORGRu.js";import{a as jt,o as Mt}from"./keys-DghNVBR5.js";import{a as Nt,o as Pt}from"./devices.constants-HX5whDWr.js";import{B as Ft,C as It,D as Lt,E as Rt,F as zt,M as Bt,O as Vt,R as Ht,S as Ut,T as Wt,U as Gt,_ as Kt,b as qt,c as Jt,f as Yt,g as Xt,h as Zt,o as Qt,s as $t,t as en,z as tn}from"./composables-CsFD_4mm.js";import{t as nn}from"./useDevicesPlugins-C5GU_Od9.js";import"./system-BHTxM7b2.js";var rn=le({modelValue:{type:ge(Array)},max:Number,tagType:{...Me.type,default:`info`},tagEffect:Me.effect,effect:{type:ge(String),default:`light`},trigger:{type:ge(String),default:$e.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:``},size:a,clearable:Boolean,clearIcon:{type:xe,default:ye},disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},readonly:Boolean,autofocus:Boolean,id:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},placeholder:String,autocomplete:{type:ge(String),default:`off`},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),an={[Ue]:e=>h(e)||we(e),[rt]:e=>h(e)||we(e),[qe]:e=>te(e),"add-tag":e=>te(e)||h(e),"remove-tag":(e,t)=>te(e)&&de(t),"drag-tag":(e,t,n)=>de(e)&&de(t)&&te(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function on({wrapperRef:e,handleDragged:t,afterDragged:n}){let r=y(`input-tag`),i=ee(),a=E(!1),o,s,c,l;function u(e){return`.${r.e(`inner`)} .${r.namespace.value}-tag:nth-child(${e+1})`}function f(t,n){o=n,s=e.value.querySelector(u(n)),s&&(s.style.opacity=`0.5`),t.dataTransfer.effectAllowed=`move`}function p(t,n){if(c=n,t.preventDefault(),t.dataTransfer.dropEffect=`move`,we(o)||o===n){a.value=!1;return}let s=e.value.querySelector(u(n)).getBoundingClientRect(),f=o+1!==n,p=o-1!==n,m=t.clientX-s.left,h=f?p?.5:1:-1,g=p?f?.5:0:1;l=m<=s.width*h?`before`:m>s.width*g?`after`:void 0;let _=e.value.querySelector(`.${r.e(`inner`)}`),v=_.getBoundingClientRect(),y=Number.parseFloat(d(_,`gap`))/2,b=s.top-v.top,x=-9999;if(l===`before`)x=Math.max(s.left-v.left-y,Math.floor(-y/2));else if(l===`after`){let e=s.right-v.left;x=e+(v.width===e?Math.floor(y/2):y)}De(i.value,{top:`${b}px`,left:`${x}px`}),a.value=!!l}function m(e){e.preventDefault(),s&&(s.style.opacity=``),l&&!we(o)&&!we(c)&&o!==c&&t(o,c,l),a.value=!1,o=void 0,s=null,c=void 0,l=void 0,n?.()}return{dropIndicatorRef:i,showDropIndicator:a,handleDragStart:f,handleDragOver:p,handleDragEnd:m}}function sn(){let e=E(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function cn({props:e,emit:t,formItem:n}){let r=T(),i=Ee(),a=ee(),o=E(),c=E(),l=s(()=>[`small`].includes(i.value)?`small`:`default`),u=s(()=>e.modelValue?.length?void 0:e.placeholder),d=s(()=>!(e.readonly||r.value)),f=s(()=>!we(e.max)&&(e.modelValue?.length??0)>=e.max),p=s(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),m=s(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),h=n=>{let r=[...e.modelValue??[],...Be(n)];t(Ue,r),t(rt,r),t(`add-tag`,n),o.value=void 0},g=t=>{let n=t.split(e.delimiter),r=n.length>1?n.map(e=>e.trim()).filter(Boolean):[];if(e.max){let t=e.max-(e.modelValue?.length??0);r.splice(t)}return r.length===1?r[0]:r},_=n=>{let r=n.clipboardData?.getData(`text`);if(e.readonly||f.value||!e.delimiter||!r)return;let{selectionStart:i=0,selectionEnd:a=0,value:o}=n.target,s=o.slice(0,i)+r+o.slice(a),c=g(s);c.length&&(h(c),t(qe,s),n.preventDefault())},v=n=>{if(f.value){o.value=void 0;return}if(!k.value){if(e.delimiter&&o.value){let e=g(o.value);e.length&&h(e)}t(qe,n.target.value)}},y=t=>{if(!k.value)switch(ke(t)){case e.trigger:t.preventDefault(),t.stopPropagation(),x();break;case $e.numpadEnter:e.trigger===$e.enter&&(t.preventDefault(),t.stopPropagation(),x());break;case $e.backspace:!o.value&&e.modelValue?.length&&(t.preventDefault(),t.stopPropagation(),S(e.modelValue.length-1));break}},b=t=>{if(!(k.value||!Ye()))switch(ke(t)){case $e.space:e.trigger===$e.space&&(t.preventDefault(),t.stopPropagation(),x());break}},x=()=>{let e=o.value?.trim();!e||f.value||h(e)},S=n=>{let r=(e.modelValue??[]).slice(),[i]=r.splice(n,1);t(Ue,r),t(rt,r),t(`remove-tag`,i,n)},C=()=>{o.value=void 0,t(Ue,void 0),t(rt,void 0),t(`clear`)},w=(n,r,i)=>{let a=(e.modelValue??[]).slice(),[o]=a.splice(n,1),s=r>n&&i===`before`?-1:+(r<n&&i===`after`);a.splice(r+s,0,o),t(Ue,a),t(rt,a),t(`drag-tag`,n,r+s,o)},D=()=>{a.value?.focus()},te=()=>{a.value?.blur()},{wrapperRef:ne,isFocused:O}=Ze(a,{disabled:r,beforeBlur(e){return c.value?.isFocusInsideContent(e)},afterBlur(){e.saveOnBlur?x():o.value=void 0,e.validateEvent&&n?.validate?.(`blur`).catch(e=>ae(e))}}),{isComposing:k,handleCompositionStart:re,handleCompositionUpdate:A,handleCompositionEnd:ie}=nt({afterComposition:v});return j(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(rt).catch(e=>ae(e))}),{inputRef:a,wrapperRef:ne,tagTooltipRef:c,isFocused:O,isComposing:k,inputValue:o,size:i,tagSize:l,placeholder:u,closable:d,disabled:r,inputLimit:f,showTagList:p,collapseTagList:m,handleDragged:w,handlePaste:_,handleInput:v,handleKeydown:y,handleKeyup:b,handleAddTag:x,handleRemoveTag:S,handleClear:C,handleCompositionStart:re,handleCompositionUpdate:A,handleCompositionEnd:ie,focus:D,blur:te}}function ln({props:e,isFocused:t,hovering:n,disabled:r,inputValue:i,size:a,validateState:o,validateIcon:c,needStatusIcon:l}){let u=be(),d=Se(),f=y(`input-tag`),p=y(`input`),m=E(),h=E(),g=s(()=>[f.b(),f.is(`focused`,t.value),f.is(`hovering`,n.value),f.is(`disabled`,r.value),f.m(a.value),f.e(`wrapper`),u.class]),_=s(()=>[u.style]),v=s(()=>[f.e(`inner`),f.is(`draggable`,e.draggable),f.is(`left-space`,!e.modelValue?.length&&!d.prefix),f.is(`right-space`,!e.modelValue?.length&&!x.value)]),b=s(()=>e.clearable&&!r.value&&!e.readonly&&(e.modelValue?.length||i.value)&&(t.value||n.value)),x=s(()=>d.suffix||b.value||o.value&&c.value&&l.value),S=oe({innerWidth:0,collapseItemWidth:0}),C=()=>{if(!h.value)return 0;let e=window.getComputedStyle(h.value);return Number.parseFloat(e.gap||`6px`)},w=()=>{S.innerWidth=Number.parseFloat(window.getComputedStyle(h.value).width)},T=()=>{S.collapseItemWidth=m.value.getBoundingClientRect().width},D=s(()=>{if(!e.collapseTags)return{};let t=C(),n=t+11,r=m.value&&e.maxCollapseTags===1?S.innerWidth-S.collapseItemWidth-t-n:S.innerWidth-n;return{maxWidth:`${Math.max(r,0)}px`}});return Oe(h,w),Oe(m,T),{ns:f,nsInput:p,containerKls:g,containerStyle:_,innerKls:v,showClear:b,showSuffix:x,tagStyle:D,collapseItemRef:m,innerRef:h}}var un=[`id`,`minlength`,`maxlength`,`disabled`,`readonly`,`autocomplete`,`tabindex`,`placeholder`,`autofocus`,`ariaLabel`],dn=[`textContent`],fn=ce(C({name:`ElInputTag`,inheritAttrs:!1,__name:`input-tag`,props:rn,emits:an,setup(t,{expose:n,emit:r}){let a=t,o=r,c=ze(),d=Se(),{form:h,formItem:g}=u(),{inputId:y}=m(a,{formItemContext:g}),x=s(()=>h?.statusIcon??!1),C=s(()=>g?.validateState||``),T=s(()=>C.value&&f[C.value]),{inputRef:E,wrapperRef:D,tagTooltipRef:ee,isFocused:te,inputValue:k,size:re,tagSize:ae,placeholder:oe,closable:se,disabled:ce,showTagList:j,collapseTagList:le,handleDragged:de,handlePaste:me,handleInput:P,handleKeydown:he,handleKeyup:ge,handleRemoveTag:_e,handleClear:ve,handleCompositionStart:ye,handleCompositionUpdate:be,handleCompositionEnd:xe,focus:L,blur:we}=cn({props:a,emit:o,formItem:g}),{hovering:Te,handleMouseEnter:Ee,handleMouseLeave:De}=sn(),{calculatorRef:Oe,inputStyle:ke}=Pe(),{dropIndicatorRef:Ae,showDropIndicator:je,handleDragStart:V,handleDragOver:Me,handleDragEnd:Ne}=on({wrapperRef:D,handleDragged:de,afterDragged:L}),{ns:H,nsInput:Fe,containerKls:Ie,containerStyle:Le,innerKls:U,showClear:W,showSuffix:Re,tagStyle:Be,collapseItemRef:Ve,innerRef:He}=ln({props:a,hovering:Te,isFocused:te,inputValue:k,disabled:ce,size:re,validateState:C,validateIcon:T,needStatusIcon:x});return n({focus:L,blur:we}),(n,r)=>(w(),e(`div`,{ref_key:`wrapperRef`,ref:D,class:O(N(Ie)),style:p(N(Le)),onMouseenter:r[9]||=(...e)=>N(Ee)&&N(Ee)(...e),onMouseleave:r[10]||=(...e)=>N(De)&&N(De)(...e)},[N(d).prefix?(w(),e(`div`,{key:0,class:O(N(H).e(`prefix`))},[Ce(n.$slots,`prefix`)],2)):F(`v-if`,!0),i(`div`,{ref_key:`innerRef`,ref:He,class:O(N(U))},[(w(!0),e(z,null,M(N(j),(e,i)=>(w(),S(N(q),{key:i,size:N(ae),closable:N(se),type:t.tagType,effect:t.tagEffect,draggable:N(se)&&t.draggable,style:p(N(Be)),"disable-transitions":``,onClose:e=>N(_e)(i),onDragstart:e=>N(V)(e,i),onDragover:e=>N(Me)(e,i),onDragend:N(Ne),onDrop:r[0]||=B(()=>{},[`stop`])},{default:R(()=>[Ce(n.$slots,`tag`,{value:e,index:i},()=>[v(I(e),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`draggable`,`style`,`onClose`,`onDragstart`,`onDragover`,`onDragend`]))),128)),t.collapseTags&&t.modelValue&&t.modelValue.length>t.maxCollapseTags?(w(),S(N(it),{key:0,ref_key:`tagTooltipRef`,ref:ee,disabled:!t.collapseTagsTooltip,"fallback-placements":[`bottom`,`top`,`right`,`left`],effect:t.effect,placement:`bottom`},{default:R(()=>[i(`div`,{ref_key:`collapseItemRef`,ref:Ve,class:O(N(H).e(`collapse-tag`))},[b(N(q),{closable:!1,size:N(ae),type:t.tagType,effect:t.tagEffect,"disable-transitions":``},{default:R(()=>[v(` + `+I(t.modelValue.length-t.maxCollapseTags),1)]),_:1},8,[`size`,`type`,`effect`])],2)]),content:R(()=>[i(`div`,{class:O(N(H).e(`input-tag-list`))},[(w(!0),e(z,null,M(N(le),(e,r)=>(w(),S(N(q),{key:r,size:N(ae),closable:N(se),type:t.tagType,effect:t.tagEffect,"disable-transitions":``,onClose:e=>N(_e)(r+t.maxCollapseTags)},{default:R(()=>[Ce(n.$slots,`tag`,{value:e,index:r+t.maxCollapseTags},()=>[v(I(e),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`onClose`]))),128))],2)]),_:3},8,[`disabled`,`effect`])):F(`v-if`,!0),i(`div`,{class:O(N(H).e(`input-wrapper`))},[ue(i(`input`,ne({id:N(y),ref_key:`inputRef`,ref:E,"onUpdate:modelValue":r[1]||=e=>A(k)?k.value=e:null},N(c),{type:`text`,minlength:t.minlength,maxlength:t.maxlength,disabled:N(ce),readonly:t.readonly,autocomplete:t.autocomplete,tabindex:t.tabindex,placeholder:N(oe),autofocus:t.autofocus,ariaLabel:t.ariaLabel,class:N(H).e(`input`),style:N(ke),onCompositionstart:r[2]||=(...e)=>N(ye)&&N(ye)(...e),onCompositionupdate:r[3]||=(...e)=>N(be)&&N(be)(...e),onCompositionend:r[4]||=(...e)=>N(xe)&&N(xe)(...e),onPaste:r[5]||=(...e)=>N(me)&&N(me)(...e),onInput:r[6]||=(...e)=>N(P)&&N(P)(...e),onKeydown:r[7]||=(...e)=>N(he)&&N(he)(...e),onKeyup:r[8]||=(...e)=>N(ge)&&N(ge)(...e)}),null,16,un),[[fe,N(k)]]),i(`span`,{ref_key:`calculatorRef`,ref:Oe,"aria-hidden":`true`,class:O(N(H).e(`input-calculator`)),textContent:I(N(k))},null,10,dn)],2),ue(i(`div`,{ref_key:`dropIndicatorRef`,ref:Ae,class:O(N(H).e(`drop-indicator`))},null,2),[[ie,N(je)]])],2),N(Re)?(w(),e(`div`,{key:1,class:O(N(H).e(`suffix`))},[Ce(n.$slots,`suffix`),N(W)?(w(),S(N(l),{key:0,class:O([N(H).e(`icon`),N(H).e(`clear`)]),onMousedown:B(N(_),[`prevent`]),onClick:N(ve)},{default:R(()=>[(w(),S(pe(t.clearIcon)))]),_:1},8,[`class`,`onMousedown`,`onClick`])):F(`v-if`,!0),C.value&&T.value&&x.value?(w(),S(N(l),{key:1,class:O([N(Fe).e(`icon`),N(Fe).e(`validateIcon`),N(Fe).is(`loading`,C.value===`validating`)])},{default:R(()=>[(w(),S(pe(T.value)))]),_:1},8,[`class`])):F(`v-if`,!0)],2)):F(`v-if`,!0)],38))}})),pn=C({name:`ElSpaceItem`,props:le({prefixCls:{type:String}}),setup(e,{slots:t}){let n=y(`space`),r=s(()=>`${e.prefixCls||n.b()}__item`);return()=>g(`div`,{class:r.value},Ce(t,`default`))}}),mn={small:8,default:12,large:16};function hn(e){let t=y(`space`),n=s(()=>[t.b(),t.m(e.direction),e.class]),r=E(0),i=E(0),a=s(()=>[e.wrap||e.fill?{flexWrap:`wrap`}:{},{alignItems:e.alignment},{rowGap:`${i.value}px`,columnGap:`${r.value}px`},e.style]),o=s(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return he(()=>{let{size:t=`small`,wrap:n,direction:a,fill:o}=e;if(h(t)){let[e=0,n=0]=t;r.value=e,i.value=n}else{let e;e=de(t)?t:mn[t||`small`]||mn.small,(n||o)&&a===`horizontal`?r.value=i.value=e:a===`horizontal`?(r.value=e,i.value=0):(i.value=e,r.value=0)}}),{classes:n,containerStyle:a,itemStyle:o}}var gn=ce(C({name:`ElSpace`,props:le({direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},class:{type:ge([String,Object,Array]),default:``},style:{type:ge([String,Array,Object]),default:``},alignment:{type:ge(String),default:`center`},prefixCls:{type:String},spacer:{type:ge([Object,String,Number,Array]),default:null,validator:e=>t(e)||de(e)||te(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:_e,validator:e=>de(e)||h(e)&&e.length===2&&e.every(de)}}),setup(e,{slots:n}){let{classes:r,containerStyle:i,itemStyle:a}=hn(e);function o(n,r=``,i=[]){let{prefixCls:s}=e;return n.forEach((e,n)=>{ct(e)?h(e.children)&&e.children.forEach((e,n)=>{ct(e)&&h(e.children)?o(e.children,`${r+n}-`,i):t(e)&&e?.type===se?i.push(e):i.push(b(pn,{style:a.value,prefixCls:s,key:`nested-${r+n}`},{default:()=>[e]},Ke.PROPS|Ke.STYLE,[`style`,`prefixCls`]))}):We(e)&&i.push(b(pn,{style:a.value,prefixCls:s,key:`LoopKey${r+n}`},{default:()=>[e]},Ke.PROPS|Ke.STYLE,[`style`,`prefixCls`]))}),i}return()=>{let{spacer:s,direction:c}=e,l=Ce(n,`default`,{key:0},()=>[]);if((l.children??[]).length===0)return null;if(h(l.children)){let e=o(l.children);if(s){let n=e.length-1;e=e.reduce((e,r,i)=>{let o=[...e,r];return i!==n&&o.push(b(`span`,{style:[a.value,c===`vertical`?`width: 100%`:null],key:i},[t(s)?s:v(s,Ke.TEXT)],Ke.STYLE)),o},[])}return b(`div`,{class:r.value,style:i.value},e,Ke.STYLE|Ke.CLASS)}return l.children}}})),_n=(e=E([]))=>{let t=oe({}),n=oe({}),r=oe({}),i=E([]),a=new Set,o=E(`discover`),c=s(()=>o.value===`confirm`?1:o.value===`results`?2:0),l=s(()=>e.value.filter(e=>e.adoptable)),u=s(()=>l.value.filter(e=>t[e.key]===!0)),d=s(()=>u.value.length!==0&&u.value.every(e=>{let t=n[e.key],i=r[e.key];return typeof t==`string`&&t.trim().length>0&&i!=null})),f=s(()=>l.value.length>0&&l.value.every(e=>t[e.key]===!0)),p=s(()=>l.value.some(e=>t[e.key]===!0)),m=(e,n)=>{let r=new Set(l.value.map(e=>e.key));for(let i of e)r.has(i)&&(t[i]=n)};return{activeStep:o,activeStepIndex:c,selected:t,nameByKey:n,categoryByKey:r,adoptableRows:l,selectedRows:u,canContinue:d,allSelected:f,someSelected:p,toggleAll:e=>{m(l.value.map(e=>e.key),e)},toggleRows:m,reconcile:e=>{for(let o of e){let e=i.value.find(e=>e.key===o.key),s=o.selectedByDefault??o.status===`ready`,c=o.status===`ready`&&s&&!a.has(o.key),l=e!==void 0&&e.status!==`already_registered`&&o.status===`already_registered`,u=e!==void 0&&!e.adoptable&&o.adoptable;t[o.key]===void 0||c?t[o.key]=s:l&&(t[o.key]=!1),(n[o.key]===void 0||u&&n[o.key]===o.identifier)&&(n[o.key]=o.suggestedName),(r[o.key]===void 0||r[o.key]===null&&o.suggestedCategory!==null)&&(r[o.key]=o.suggestedCategory),o.status===`ready`&&a.add(o.key)}i.value=e.slice()},reset:()=>{for(let e of Object.keys(t))delete t[e];for(let e of Object.keys(n))delete n[e];for(let e of Object.keys(r))delete r[e];a.clear(),i.value=[]},buildSelection:()=>u.value.map(e=>({key:e.key,name:(n[e.key]??e.suggestedName).trim(),category:r[e.key]}))}},vn=C({name:`ChannelsPropertiesTableColumnChannel`,__name:`channels-properties-table-column-channel`,props:{property:{},filters:{},withFilters:{type:Boolean,default:!0}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{channel:a,fetchChannel:o}=tn({id:r.property.channel});return re(()=>{o().catch(()=>{})}),(t,o)=>r.withFilters?(w(),S(N(xt),{key:0,type:r.filters.channels.includes(e.property.channel)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=B(t=>i(`filter-by`,e.property.channel,!r.filters.channels.includes(e.property.channel)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[r.filters.channels.includes(e.property.channel)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:1}),v(` `+I(N(a)?.name||e.property.channel),1)]),_:1},8,[`type`])):(w(),S(N(H),{key:1,class:`font-400!`},{default:R(()=>[v(I(N(a)?.name||e.property.channel),1)]),_:1}))}}),yn={class:`flex flex-row items-center gap-1`},bn=C({name:`ChannelsPropertiesTableColumnDataType`,__name:`channels-properties-table-column-data-type`,props:{property:{},filters:{},withFilters:{type:Boolean,default:!0}},emits:[`filter-by`],setup(t,{emit:r}){let a=t,o=r,{t:c}=D(),u=s(()=>a.property.dataType===G.enum),d=s(()=>a.property.dataType===G.char||a.property.dataType===G.uchar||a.property.dataType===G.short||a.property.dataType===G.ushort||a.property.dataType===G.int||a.property.dataType===G.uint||a.property.dataType===G.float),f=s(()=>u.value&&Array.isArray(a.property.format)?a.property.format.filter(e=>e!==null).map(e=>e.toString()):[]),p=s(()=>d.value&&Array.isArray(a.property.format)&&a.property.format.length===2?Number(a.property.format[0]):null),m=s(()=>d.value&&Array.isArray(a.property.format)&&a.property.format.length===2?Number(a.property.format[1]):null),h=s(()=>d.value&&a.property.step?a.property.step:null),g=s(()=>a.property.invalid?a.property.invalid:null);return(r,s)=>(w(),e(`div`,yn,[a.withFilters?(w(),S(N(xt),{key:0,type:a.filters.dataTypes.includes(t.property.dataType)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:s[0]||=B(e=>o(`filter-by`,t.property.dataType,!a.filters.dataTypes.includes(t.property.dataType)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[a.filters.dataTypes.includes(t.property.dataType)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:1}),v(` `+I(N(c)(`devicesModule.dataTypes.${a.property.dataType}`)),1)]),_:1},8,[`type`])):(w(),S(N(H),{key:1,class:`font-400!`},{default:R(()=>[v(I(N(c)(`devicesModule.dataTypes.${a.property.dataType}`)),1)]),_:1})),u.value?(w(),S(N(Xe),{key:2,title:N(c)(`devicesModule.table.channelsProperties.columns.dataType.type.enum`),width:200,placement:`left`,trigger:`click`},{reference:R(()=>[b(N(P),{link:``},{default:R(()=>[b(N(n),{icon:`mdi:information-outline`,class:`font-size-base`})]),_:1})]),default:R(()=>[b(N(H),{class:`block`},{default:R(()=>[i(`strong`,null,I(N(c)(`devicesModule.fields.channelsProperties.format.title.enum`))+`:`,1),v(` `+I(f.value.join(`, `)||N(c)(`devicesModule.texts.misc.noValuesProvided`)),1)]),_:1}),g.value===null?F(``,!0):(w(),S(N(H),{key:0,class:`block`},{default:R(()=>[i(`strong`,null,I(N(c)(`devicesModule.fields.channelsProperties.invalid.title`))+`:`,1),v(` `+I(g.value),1)]),_:1}))]),_:1},8,[`title`])):d.value?(w(),S(N(Xe),{key:3,title:N(c)(`devicesModule.table.channelsProperties.columns.dataType.type.numeric`),width:200,trigger:`click`,placement:`left`},{reference:R(()=>[b(N(P),{link:``},{default:R(()=>[b(N(n),{icon:`mdi:information-outline`,class:`font-size-base`})]),_:1})]),default:R(()=>[b(N(H),{class:`block`},{default:R(()=>[i(`strong`,null,I(N(c)(`devicesModule.fields.channelsProperties.format.title.min`))+`:`,1),v(` `+I(p.value??N(c)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),b(N(H),{class:`block`},{default:R(()=>[i(`strong`,null,I(N(c)(`devicesModule.fields.channelsProperties.format.title.max`))+`:`,1),v(` `+I(m.value??N(c)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),b(N(H),{class:`block`},{default:R(()=>[i(`strong`,null,I(N(c)(`devicesModule.fields.channelsProperties.step.title`))+`:`,1),v(` `+I(h.value??N(c)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),g.value===null?F(``,!0):(w(),S(N(H),{key:0,class:`block`},{default:R(()=>[i(`strong`,null,I(N(c)(`devicesModule.fields.channelsProperties.invalid.title`))+`:`,1),v(` `+I(g.value),1)]),_:1}))]),_:1},8,[`title`])):F(``,!0)]))}}),xn=C({name:`ChannelsPropertiesTableColumnIcon`,__name:`channels-properties-table-column-icon`,props:{property:{}},setup(e){let{icon:t}=qt({id:e.property.id});return(e,r)=>(w(),S(N(Ve),{size:32},{default:R(()=>[b(N(n),{icon:N(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),Sn=[`title`],Cn=C({name:`ChannelsPropertiesTableColumnValue`,__name:`channels-properties-table-column-value`,props:{property:{}},setup(t){let n=t,r=s(()=>{let e=n.property.value;return typeof e==`object`&&e&&`value`in e?e.value:e}),i=s(()=>{let e=n.property.value;if(typeof e==`object`&&e&&`trend`in e)switch(e.trend){case`rising`:return`↑`;case`falling`:return`↓`;case`stable`:return`→`}return null}),a=s(()=>{let e=n.property.value;return typeof e==`object`&&e&&`trend`in e?e.trend??``:``});return(t,o)=>n.property.dataType===N(G).string?(w(),S(N(H),{key:0,truncated:``},{default:R(()=>[v(I(r.value),1)]),_:1})):(w(),e(z,{key:1},[v(I(r.value===null?`-`:r.value)+I(n.property.unit?` ${n.property.unit}`:``)+` `,1),i.value?(w(),e(`span`,{key:0,title:a.value},I(i.value),9,Sn)):F(``,!0)],64))}}),wn={key:0,class:`h-full w-full leading-normal`},Tn={key:1,class:`h-full w-full leading-normal`},En={key:2,class:`h-full w-full leading-normal`},Dn={class:`block`},On=C({name:`ChannelsPropertiesTable`,__name:`channels-properties-table`,props:{items:{},totalRows:{},sortBy:{},sortDir:{},loading:{type:Boolean},filters:{},filtersActive:{type:Boolean},withChannelColumn:{type:Boolean,default:!1},withFilters:{type:Boolean,default:!0},tableHeight:{}},emits:[`edit`,`remove`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(t,{emit:r}){let a=t,o=r,{t:c}=D(),{isMDDevice:u}=lt(),d=s(()=>a.totalRows===0),f=W(a,`filters`,o),m=g(U,{direction:`vertical`}),h=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},_=e=>{o(`selected-changes`,e)},y=(e,t,n)=>{if(e===`channel`){let e=f.value.channels;n===!0?e.push(t):e=f.value.channels.filter(e=>e!==t),f.value.channels=Array.from(new Set(e))}else if(e===`category`){let e=f.value.categories;n===!0?e.push(t):e=f.value.categories.filter(e=>e!==t),f.value.categories=Array.from(new Set(e))}else if(e===`permission`){let e=f.value.permissions;n===!0?e.push(t):e=f.value.permissions.filter(e=>e!==t),f.value.permissions=Array.from(new Set(e))}else if(e===`dataType`){let e=f.value.dataTypes;n===!0?e.push(t):e=f.value.dataTypes.filter(e=>e!==t),f.value.dataTypes=Array.from(new Set(e))}};return(r,s)=>ue((w(),S(N(ut),{"element-loading-text":N(c)(`devicesModule.texts.channelsProperties.loadingProperties`),data:a.items,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:p({maxHeight:t.tableHeight+`px`}),"max-height":t.tableHeight,onSortChange:h,onSelectionChange:_},{empty:R(()=>[a.loading?(w(),e(`div`,wn,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:tune`})]),secondary:R(()=>[b(N(n),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):d.value&&!a.loading?(w(),e(`div`,Tn,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:tune`})]),secondary:R(()=>[b(N(n),{icon:`mdi:information`})]),_:1})]),title:R(()=>[v(I(N(c)(`devicesModule.texts.channelsProperties.noProperties`)),1)]),_:1})])):a.filtersActive&&!a.loading?(w(),e(`div`,En,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:tune`})]),secondary:R(()=>[b(N(n),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[b(N(H),{class:`block`},{default:R(()=>[v(I(N(c)(`devicesModule.texts.channelsProperties.noFilteredProperties`)),1)]),_:1}),b(N(P),{type:`primary`,plain:``,class:`mt-4`,onClick:s[0]||=e=>o(`reset-filters`)},{icon:R(()=>[b(N(n),{icon:`mdi:filter-off`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):F(``,!0)]),default:R(()=>[N(u)?(w(),S(N(Y),{key:0,type:`selection`,width:30})):F(``,!0),b(N(Y),{width:60,align:`center`},{default:R(e=>[b(xn,{property:e.row},null,8,[`property`])]),_:1}),b(N(Y),{label:N(c)(`devicesModule.table.channelsProperties.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150,"class-name":`py-0!`},{default:R(t=>[t.row.name?(w(),e(z,{key:0},[i(`strong`,Dn,I(t.row.name),1),a.withFilters?(w(),S(N(xt),{key:0,type:N(f).categories.includes(t.row.category)?`danger`:void 0,underline:`never`,class:`font-400! block! leading-4`,onClick:B(e=>y(`category`,t.row.category,!N(f).categories.includes(t.row.category)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[N(f).categories.includes(t.row.category)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),v(` `+I(N(c)(`devicesModule.categories.channelsProperties.${t.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])):(w(),S(N(H),{key:1,class:`font-400! block! leading-4`},{default:R(()=>[v(I(N(c)(`devicesModule.categories.channelsProperties.${t.row.category}`)),1)]),_:2},1024))],64)):(w(),e(z,{key:1},[a.withFilters?(w(),S(N(xt),{key:0,type:N(f).categories.includes(t.row.category)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:B(e=>y(`category`,t.row.category,!N(f).categories.includes(t.row.category)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[N(f).categories.includes(t.row.category)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),v(` `+I(N(c)(`devicesModule.categories.channelsProperties.${t.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])):(w(),S(N(H),{key:1,class:`font-400!`},{default:R(()=>[v(I(N(c)(`devicesModule.categories.channelsProperties.${t.row.category}`)),1)]),_:2},1024))],64))]),_:1},8,[`label`]),a.withChannelColumn?(w(),S(N(Y),{key:1,label:N(c)(`devicesModule.table.channelsProperties.columns.channel.title`),prop:`channel`,"min-width":150},{default:R(e=>[b(vn,{property:e.row,filters:N(f),"with-filters":a.withFilters,onFilterBy:s[1]||=(e,t)=>y(`channel`,e,t)},null,8,[`property`,`filters`,`with-filters`])]),_:1},8,[`label`])):F(``,!0),b(N(Y),{label:N(c)(`devicesModule.table.channelsProperties.columns.permissions.title`),prop:`permissions`,"min-width":180},{default:R(t=>[b(N(gn),{spacer:N(m),direction:`horizontal`},{default:R(()=>[a.withFilters?(w(!0),e(z,{key:0},M(t.row.permissions,(e,t)=>(w(),S(N(xt),{key:`filter-${t}`,type:N(f).permissions.includes(e)?`danger`:void 0,underline:`never`,onClick:B(t=>y(`permission`,e,!N(f).permissions.includes(e)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[N(f).permissions.includes(e)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),v(` `+I(N(c)(`devicesModule.permissions.${e}`)),1)]),_:2},1032,[`type`,`onClick`]))),128)):(w(!0),e(z,{key:1},M(t.row.permissions,(e,t)=>(w(),S(N(H),{key:`no-filter-${t}`},{default:R(()=>[v(I(N(c)(`devicesModule.permissions.${e}`)),1)]),_:2},1024))),128))]),_:2},1032,[`spacer`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.channelsProperties.columns.dataType.title`),prop:`dataType`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":180},{default:R(e=>[b(bn,{property:e.row,filters:N(f),"with-filters":a.withFilters,onFilterBy:s[2]||=(e,t)=>y(`dataType`,e,t)},null,8,[`property`,`filters`,`with-filters`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.channelsProperties.columns.value.title`),prop:`value`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150},{default:R(e=>[b(Cn,{property:e.row},null,8,[`property`])]),_:1},8,[`label`]),b(N(Y),{width:100,align:`right`},{default:R(e=>[b(N(P),{size:`small`,plain:``,"data-test-id":`edit-property`,onClick:B(t=>o(`edit`,e.row.id),[`stop`])},{icon:R(()=>[b(N(n),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),b(N(P),{size:`small`,type:`warning`,"data-test-id":`remove-property`,plain:``,class:`ml-1!`,onClick:B(t=>o(`remove`,e.row.id),[`stop`])},{icon:R(()=>[b(N(n),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[N(At),a.loading]])}}),kn={class:`flex flex-row items-center`},An={class:`flex-grow flex flex-row items-center`},jn={class:`ml-3`},Mn={class:`flex-grow flex flex-row items-center justify-end`},Nn=C({name:`ChannelDetail`,__name:`channel-detail`,props:{channel:{}},emits:[`channel-edit`,`channel-remove`,`property-add`,`property-edit`,`property-remove`],setup(e,{emit:t}){let r=e,a=t,{t:o}=D(),{properties:s,totalRows:c,sortBy:l,sortDir:u,filters:d,filtersActive:f,fetchProperties:p,areLoading:m,resetFilter:h}=Ut({channelId:r.channel.id,key:`channel-detail-${r.channel.id}`}),{canAddAnotherProperty:g}=Vt({id:r.channel.id}),_=()=>{h()};return re(()=>{p().catch(()=>{})}),(t,p)=>(w(),S(N(pt),{shadow:`never`,"body-class":`p-0!`},{header:R(()=>[i(`div`,kn,[i(`div`,An,[i(`div`,null,[b(N(Ve),{size:32},{default:R(()=>[b(N(n),{icon:`mdi:chip`,class:`w[20px] h[20px]`})]),_:1})]),i(`div`,jn,[i(`strong`,null,I(e.channel.name),1),b(N(H),{class:`block`},{default:R(()=>[v(I(N(o)(`devicesModule.categories.channels.${e.channel.category}`)),1)]),_:1})])]),i(`div`,Mn,[b(N(P),{type:`primary`,plain:``,class:`px-4!`,size:`small`,disabled:!N(g),"data-test-id":`add-property`,onClick:p[0]||=e=>a(`property-add`,r.channel.id)},{icon:R(()=>[b(N(n),{icon:`mdi:plus`})]),default:R(()=>[v(` `+I(N(o)(`devicesModule.buttons.addProperty.title`)),1)]),_:1},8,[`disabled`]),b(N(P),{plain:``,class:`ml-2! px-4!`,size:`small`,"data-test-id":`edit-channel`,onClick:p[1]||=e=>a(`channel-edit`,r.channel.id)},{icon:R(()=>[b(N(n),{icon:`mdi:pencil`})]),_:1}),b(N(P),{type:`warning`,plain:``,class:`ml-2! px-4!`,size:`small`,"data-test-id":`remove-channel`,onClick:p[2]||=e=>a(`channel-remove`,r.channel.id)},{icon:R(()=>[b(N(n),{icon:`mdi:trash`})]),_:1})])])]),default:R(()=>[b(On,{filters:N(d),"onUpdate:filters":p[3]||=e=>A(d)?d.value=e:null,"sort-by":N(l),"onUpdate:sortBy":p[4]||=e=>A(l)?l.value=e:null,"sort-dir":N(u),"onUpdate:sortDir":p[5]||=e=>A(u)?u.value=e:null,items:N(s),"total-rows":N(c),loading:N(m),"filters-active":N(f),"with-filters":!1,onEdit:p[6]||=e=>a(`property-edit`,r.channel.id,e),onRemove:p[7]||=e=>a(`property-remove`,r.channel.id,e),onResetFilters:_},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`])]),_:1}))}}),Pn=[`element-loading-text`],Fn=C({name:`ChannelAddForm`,__name:`channel-add-form`,props:{id:{},type:{},device:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:Nt.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{devices:o}=Lt(),{categoriesOptions:c,devicesOptions:l,model:u,formEl:d,formChanged:f,submit:p,formResult:m,loadingDevices:h}=Rt({id:r.id,type:r.type,deviceId:r.device?.id}),g=oe({device:[{required:!0,message:a(`devicesModule.fields.channels.device.validation.required`),trigger:`change`}],category:[{required:!0,message:a(`devicesModule.fields.channels.category.validation.required`),trigger:`change`}],name:[{required:!0,message:a(`devicesModule.fields.channels.name.validation.required`),trigger:`change`}]}),_=s(()=>o.value.find(e=>e.id===u.device));return j(()=>m.value,async e=>{i(`update:remote-form-result`,e)}),j(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),p().catch(()=>{}))}),j(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!d.value)return;d.value.resetFields()}}),j(()=>f.value,e=>{i(`update:remote-form-changed`,e)}),(t,n)=>(w(),S(N(dt),{ref_key:`formEl`,ref:d,model:N(u),rules:g,"label-position":`top`,"status-icon":``},{default:R(()=>[ue((w(),e(`div`,{"element-loading-text":N(a)(`devicesModule.texts.devices.loadingDevices`)},[b(N(X),{label:N(a)(`devicesModule.fields.channels.device.title`),prop:[`device`]},{default:R(()=>[b(N(Q),{modelValue:N(u).device,"onUpdate:modelValue":n[0]||=e=>N(u).device=e,placeholder:N(a)(`devicesModule.fields.channels.device.placeholder`),name:`device`,filterable:``,readonly:r.device!==void 0,disabled:r.device!==void 0},{default:R(()=>[(w(!0),e(z,null,M(N(l),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`readonly`,`disabled`])]),_:1},8,[`label`]),_.value?(w(),S(N(Z),{key:0,type:`info`,title:N(a)(`devicesModule.fields.channels.device.description`),description:N(a)(`devicesModule.texts.devices.description.${_.value.category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0)],8,Pn)),[[N(At),N(h)]]),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channels.id.title`),prop:[`id`]},{default:R(()=>[b(N(K),{modelValue:N(u).id,"onUpdate:modelValue":n[1]||=e=>N(u).id=e,placeholder:N(a)(`devicesModule.fields.channels.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channels.name.title`),prop:[`name`]},{default:R(()=>[b(N(K),{modelValue:N(u).name,"onUpdate:modelValue":n[2]||=e=>N(u).name=e,placeholder:N(a)(`devicesModule.fields.channels.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channels.category.title`),prop:[`category`]},{default:R(()=>[b(N(Q),{modelValue:N(u).category,"onUpdate:modelValue":n[3]||=e=>N(u).category=e,placeholder:N(a)(`devicesModule.fields.channels.category.placeholder`),name:`category`,filterable:``},{default:R(()=>[(w(!0),e(z,null,M(N(c),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),N(u).category?(w(),S(N(Z),{key:0,type:`info`,title:N(a)(`devicesModule.fields.channels.category.description`),description:N(a)(`devicesModule.texts.channels.description.${N(u).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channels.description.title`),prop:[`description`]},{default:R(()=>[b(N(K),{modelValue:N(u).description,"onUpdate:modelValue":n[4]||=e=>N(u).description=e,placeholder:N(a)(`devicesModule.fields.channels.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),In=[`element-loading-text`],Ln=C({name:`ChannelEditForm`,__name:`channel-edit-form`,props:{channel:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:Nt.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{categoriesOptions:o,devicesOptions:s,model:c,formEl:l,formChanged:u,submit:d,formResult:f,loadingDevices:p}=Wt({channel:r.channel}),{device:m}=Zt({id:r.channel.device}),h=oe({name:[{required:!0,message:a(`devicesModule.fields.channels.name.validation.required`),trigger:`change`}]});return j(()=>f.value,async e=>{i(`update:remote-form-result`,e)}),j(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),d().catch(()=>{}))}),j(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!l.value)return;l.value.resetFields()}}),j(()=>u.value,e=>{i(`update:remote-form-changed`,e)}),(t,n)=>(w(),S(N(dt),{ref_key:`formEl`,ref:l,model:N(c),rules:h,"label-position":`top`,"status-icon":``},{default:R(()=>[ue((w(),e(`div`,{"element-loading-text":N(a)(`devicesModule.texts.devices.loadingDevices`)},[b(N(X),{label:N(a)(`devicesModule.fields.channels.device.title`),prop:[`device`]},{default:R(()=>[b(N(Q),{modelValue:N(c).device,"onUpdate:modelValue":n[0]||=e=>N(c).device=e,placeholder:N(a)(`devicesModule.fields.channels.device.placeholder`),name:`device`,filterable:``,readonly:``,disabled:``},{default:R(()=>[(w(!0),e(z,null,M(N(s),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),N(m)?(w(),S(N(Z),{key:0,type:`info`,title:N(a)(`devicesModule.fields.channels.device.description`),description:N(a)(`devicesModule.texts.devices.description.${N(m).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0)],8,In)),[[N(At),N(p)]]),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channels.id.title`),prop:[`id`]},{default:R(()=>[b(N(K),{modelValue:N(c).id,"onUpdate:modelValue":n[1]||=e=>N(c).id=e,placeholder:N(a)(`devicesModule.fields.channels.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channels.name.title`),prop:[`name`]},{default:R(()=>[b(N(K),{modelValue:N(c).name,"onUpdate:modelValue":n[2]||=e=>N(c).name=e,placeholder:N(a)(`devicesModule.fields.channels.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channels.category.title`),prop:[`category`]},{default:R(()=>[b(N(Q),{modelValue:N(c).category,"onUpdate:modelValue":n[3]||=e=>N(c).category=e,placeholder:N(a)(`devicesModule.fields.channels.category.placeholder`),name:`category`,filterable:``,readonly:``,disabled:``},{default:R(()=>[(w(!0),e(z,null,M(N(o),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),N(c).category?(w(),S(N(Z),{key:0,type:`info`,title:N(a)(`devicesModule.fields.channels.category.description`),description:N(a)(`devicesModule.texts.channels.description.${N(c).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channels.description.title`),prop:[`description`]},{default:R(()=>[b(N(K),{modelValue:N(c).description,"onUpdate:modelValue":n[4]||=e=>N(c).description=e,placeholder:N(a)(`devicesModule.fields.channels.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),Rn={class:`flex w-full`},zn=C({name:`ChannelsFilter`,__name:`channels-filter`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`,`adjust-list`],setup(t,{emit:r}){let i=t,a=r,{t:o}=D(),s=E(void 0),c=W(i,`filters`,a);return j(()=>c.value.search,e=>{e===``&&(c.value.search=void 0)}),(t,r)=>(w(),e(`div`,Rn,[b(N(dt),{ref_key:`filterFormEl`,ref:s,inline:!0,model:N(c),class:`grow-1`},{default:R(()=>[b(N(K),{modelValue:N(c).search,"onUpdate:modelValue":r[0]||=e=>N(c).search=e,placeholder:N(o)(`devicesModule.fields.channels.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:R(()=>[b(N(l),null,{default:R(()=>[b(N(n),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),i.filtersActive?(w(),S(N(P),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:r[1]||=e=>a(`reset-filters`)},{default:R(()=>[b(N(n),{icon:`mdi:filter-off`})]),_:1})):F(``,!0),b(N(P),{plain:``,class:`px-2! mt-1 mr-1`,onClick:r[2]||=e=>a(`adjust-list`)},{default:R(()=>[b(N(n),{icon:`mdi:slider`})]),_:1})]))}}),Bn=C({name:`ChannelsTableColumnDevice`,__name:`channels-table-column-device`,props:{channel:{},filters:{}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{device:a,fetchDevice:o}=Zt({id:r.channel.device});return re(()=>{o().catch(()=>{})}),(t,o)=>(w(),S(N(xt),{type:r.filters.devices.includes(e.channel.device)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=B(t=>i(`filter-by`,e.channel.device,!r.filters.devices.includes(e.channel.device)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[r.filters.devices.includes(e.channel.device)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:1}),v(` `+I(N(a)?.name||e.channel.device),1)]),_:1},8,[`type`]))}}),Vn=C({name:`ChannelsTableColumnIcon`,__name:`channels-table-column-icon`,props:{channel:{}},setup(e){let{icon:t}=zt({id:e.channel.id});return(e,r)=>(w(),S(N(Ve),{size:32},{default:R(()=>[b(N(n),{icon:N(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),Hn={key:0,class:`h-full w-full leading-normal`},Un={key:1,class:`h-full w-full leading-normal`},Wn={key:2,class:`h-full w-full leading-normal`},Gn={class:`block`},Kn=C({name:`ChannelsTable`,__name:`channels-table`,props:{items:{},totalRows:{},sortBy:{},sortDir:{},loading:{type:Boolean},filters:{},filtersActive:{type:Boolean},tableHeight:{}},emits:[`detail`,`edit`,`remove`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(t,{emit:r}){let a=t,o=r,{t:c}=D(),{isMDDevice:u}=lt(),d=s(()=>a.totalRows===0),f=W(a,`filters`,o),m=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},h=e=>{o(`selected-changes`,e)},g=e=>{o(`detail`,e.id)},_=(e,t,n)=>{if(e===`device`){let e=f.value.devices;n===!0?e.push(t):e=f.value.devices.filter(e=>e!==t),f.value.devices=Array.from(new Set(e))}else if(e===`category`){let e=f.value.categories;n===!0?e.push(t):e=f.value.categories.filter(e=>e!==t),f.value.categories=Array.from(new Set(e))}};return(r,s)=>ue((w(),S(N(ut),{"element-loading-text":N(c)(`devicesModule.texts.channels.loadingChannels`),data:a.items,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:p({maxHeight:t.tableHeight+`px`}),"max-height":t.tableHeight,onSortChange:m,onSelectionChange:h,onRowClick:g},{empty:R(()=>[a.loading?(w(),e(`div`,Hn,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:chip`})]),secondary:R(()=>[b(N(n),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):d.value&&!a.loading?(w(),e(`div`,Un,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:chip`})]),secondary:R(()=>[b(N(n),{icon:`mdi:information`})]),_:1})]),title:R(()=>[v(I(N(c)(`devicesModule.texts.channels.noChannels`)),1)]),_:1})])):a.filtersActive&&!a.loading?(w(),e(`div`,Wn,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:chip`})]),secondary:R(()=>[b(N(n),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[b(N(H),{class:`block`},{default:R(()=>[v(I(N(c)(`devicesModule.texts.channels.noFilteredChannels`)),1)]),_:1}),b(N(P),{type:`primary`,plain:``,class:`mt-4`,onClick:s[0]||=e=>o(`reset-filters`)},{icon:R(()=>[b(N(n),{icon:`mdi:filter-off`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):F(``,!0)]),default:R(()=>[N(u)?(w(),S(N(Y),{key:0,type:`selection`,width:30})):F(``,!0),b(N(Y),{width:60,align:`center`},{default:R(e=>[b(Vn,{channel:e.row},null,8,[`channel`])]),_:1}),b(N(Y),{label:N(c)(`devicesModule.table.channels.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150,"class-name":`py-0!`},{default:R(t=>[t.row.description?(w(),e(z,{key:0},[i(`strong`,Gn,I(t.row.name),1),b(N(H),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[v(I(t.row.description),1)]),_:2},1024)],64)):(w(),e(z,{key:1},[v(I(t.row.name),1)],64))]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.channels.columns.device.title`),prop:`device`,"min-width":180},{default:R(e=>[b(Bn,{channel:e.row,filters:N(f),onFilterBy:s[1]||=(e,t)=>_(`device`,e,t)},null,8,[`channel`,`filters`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.channels.columns.category.title`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:180},{default:R(e=>[b(N(xt),{type:N(f).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:B(t=>_(`category`,e.row.category,!N(f).categories.includes(e.row.category)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[N(f).categories.includes(e.row.category)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),v(` `+I(N(c)(`devicesModule.categories.channels.${e.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),b(N(Y),{width:190,align:`right`},{default:R(e=>[b(N(P),{size:`small`,plain:``,"data-test-id":`detail-channel`,onClick:B(t=>o(`detail`,e.row.id),[`stop`])},{icon:R(()=>[b(N(n),{icon:`mdi:file-search-outline`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),b(N(P),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-channel`,onClick:B(t=>o(`edit`,e.row.id),[`stop`])},{icon:R(()=>[b(N(n),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),b(N(P),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-channel`,onClick:B(t=>o(`remove`,e.row.id),[`stop`])},{icon:R(()=>[b(N(n),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[N(At),a.loading]])}}),qn=C({name:`ListChannels`,__name:`list-channels`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean}},emits:[`detail`,`edit`,`remove`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`],setup(t,{emit:n}){let r=t,a=n,{isMDDevice:o}=lt(),s=null,l=E(null),u=E(null),d=W(r,`filters`,a),f=E(r.sortBy),p=E(r.sortDir),m=E(r.paginatePage),h=E(r.paginateSize),g=E(250),_=e=>{a(`detail`,e)},v=e=>{a(`edit`,e)},y=e=>{a(`remove`,e)},x=()=>{a(`reset-filters`)},S=e=>{a(`update:paginate-size`,e)},C=e=>{a(`update:paginate-page`,e)};return re(()=>{if(!l.value)return;let e=()=>{g.value=l.value.clientHeight-u.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(l.value)),e()}),c(()=>{s&&l.value&&s.unobserve(l.value)}),j(()=>f.value,e=>{a(`update:sort-by`,e)}),j(()=>p.value,e=>{a(`update:sort-dir`,e)}),j(()=>r.paginatePage,e=>{m.value=e}),j(()=>r.paginateSize,e=>{h.value=e}),j(()=>r.sortDir,e=>{p.value=e}),j(()=>r.sortBy,e=>{f.value=e}),(t,n)=>(w(),e(z,null,[b(N(pt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:R(()=>[b(zn,{filters:N(d),"onUpdate:filters":n[0]||=e=>A(d)?d.value=e:null,"filters-active":r.filtersActive,onResetFilters:n[1]||=e=>a(`reset-filters`),onAdjustList:n[2]||=e=>a(`adjust-list`)},null,8,[`filters`,`filters-active`])]),_:1}),i(`div`,{ref_key:`wrapper`,ref:l,class:`flex-grow overflow-hidden`},[b(N(pt),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:R(()=>[b(Kn,{filters:N(d),"onUpdate:filters":n[3]||=e=>A(d)?d.value=e:null,"sort-by":f.value,"onUpdate:sortBy":n[4]||=e=>f.value=e,"sort-dir":p.value,"onUpdate:sortDir":n[5]||=e=>p.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":g.value,onDetail:_,onEdit:v,onRemove:y,onResetFilters:x},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),i(`div`,{ref_key:`paginator`,ref:u,class:`flex justify-center w-full py-4`},[b(N(St),{"current-page":m.value,"onUpdate:currentPage":n[6]||=e=>m.value=e,"page-size":h.value,"onUpdate:pageSize":n[7]||=e=>h.value=e,layout:N(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:S,onCurrentChange:C},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Jn={class:`px-2`},Yn={class:`px-5 py-2 text-center`},Xn=o(C({name:`ListChannelsAdjust`,__name:`list-channels-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(t,{emit:r}){let a=t,o=r,s=y(`list-channels-adjust`),{t:c}=D(),l=Object.values(J),u=E([`categories`]),d=W(a,`filters`,o);return(t,r)=>(w(),e(z,null,[b(N(Re),{teleport:``},{icon:R(()=>[b(N(n),{icon:`mdi:filter`})]),title:R(()=>[v(I(N(c)(`devicesModule.headings.channels.adjustFilters`)),1)]),subtitle:R(()=>[v(I(N(c)(`devicesModule.subHeadings.channels.adjustFilters`)),1)]),_:1}),i(`div`,{class:O([[N(s).b()],`flex flex-col h-full w-full overflow-hidden`])},[b(N(Le),{class:`flex-grow`},{default:R(()=>[b(N(yt),{modelValue:u.value,"onUpdate:modelValue":r[1]||=e=>u.value=e},{default:R(()=>[b(N(vt),{name:`categories`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.channels.category.title`)),1)]),_:1})]),default:R(()=>[i(`div`,Jn,[b(N(Q),{modelValue:N(d).categories,"onUpdate:modelValue":r[0]||=e=>N(d).categories=e,placeholder:N(c)(`devicesModule.filters.channels.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:R(()=>[(w(!0),e(z,null,M(N(l),(e,t)=>(w(),S(N($),{key:t,label:N(c)(`devicesModule.categories.channels.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),i(`div`,Yn,[b(N(P),{disabled:!a.filtersActive,onClick:r[2]||=e=>o(`reset-filters`)},{icon:R(()=>[b(N(n),{icon:`mdi:filter-remove`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-1ba3feea`]]),Zn=({channel:e,property:t,field:n})=>{let r=Bt(e,t);if([`category`,`required`,`description`].includes(n))throw new Gt(`Wrong field type provided`);return{required:r?.required??!1,description:r?.description,value:r&&n in r?r[n]:void 0}},Qn=C({name:`ChannelPropertyFormDataType`,__name:`channel-property-form-data-type`,props:{modelValue:{},dataTypesOptions:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{value:o}=Zn({channel:r.channelCategory,property:r.propertyCategory,field:`data_type`}),s=E(o!==void 0),c=E(!s.value&&r.modelValue?r.modelValue:o??G.unknown);return j(()=>c.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(t,n)=>(w(),e(z,null,[b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.dataType.title`),prop:[`dataType`],class:O([{"hidden!":s.value}])},{default:R(()=>[b(N(Q),{modelValue:c.value,"onUpdate:modelValue":n[0]||=e=>c.value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.dataType.placeholder`),disabled:r.disabled,name:`dataType`},{default:R(()=>[(w(!0),e(z,null,M(r.dataTypesOptions,e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]),c.value&&!s.value?(w(),S(N(Z),{key:0,type:`info`,closable:!1},{default:R(()=>[v(I(N(a)(`devicesModule.texts.channelsProperties.dataTypes.${c.value}`)),1)]),_:1})):F(``,!0)],64))}}),$n=C({name:`ChannelPropertyFormEnum`,__name:`channel-property-form-enum`,props:{modelValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{value:o}=Zn({channel:r.channelCategory,property:r.propertyCategory,field:`format`}),s=E(o??[]),c=E(o!==void 0);return j(()=>s.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(t,n)=>(w(),S(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.format.title.enum`),prop:[`format`]},{default:R(()=>[c.value?(w(),S(N(Q),{key:0,modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.format.placeholder.enum`),disabled:r.disabled,name:`format`,multiple:``},{default:R(()=>[(w(!0),e(z,null,M(N(o),e=>(w(),S(N($),{key:e,value:e,label:e},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])):(w(),S(N(fn),{key:1,modelValue:s.value,"onUpdate:modelValue":n[1]||=e=>s.value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.format.placeholder.enum`),disabled:r.disabled,name:`format`},null,8,[`modelValue`,`placeholder`,`disabled`]))]),_:1},8,[`label`]))}}),er=C({name:`ChannelPropertyFormInvalid`,__name:`channel-property-form-invalid`,props:{modelValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{t:i}=D(),{value:a}=Zn({channel:n.channelCategory,property:n.propertyCategory,field:`invalid`}),o=E(a??``),s=E(a!==void 0);return j(()=>o.value,e=>{r(`update:modelValue`,e||null)},{immediate:!0}),(e,t)=>(w(),S(N(X),{label:N(i)(`devicesModule.fields.channelsProperties.invalid.title`),prop:[`invalid`],class:O([{"hidden!":s.value}])},{default:R(()=>[b(N(K),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,placeholder:N(i)(`devicesModule.fields.channelsProperties.invalid.placeholder`),disabled:n.disabled,name:`invalid`},null,8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),tr={class:`flex flex-row gap-4`},nr=C({name:`ChannelPropertyFormMinMax`,__name:`channel-property-form-min-max`,props:{minValue:{},maxValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:minValue`,`update:maxValue`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{value:o}=Zn({channel:r.channelCategory,property:r.propertyCategory,field:`format`}),s=[o?.[0]??void 0,o?.[1]??void 0],c=E(r.minValue??s[0]??void 0),l=E(r.maxValue??s[1]??void 0);return j(()=>c.value,e=>{i(`update:minValue`,e)},{immediate:!0}),j(()=>l.value,e=>{i(`update:maxValue`,e)},{immediate:!0}),(t,n)=>(w(),e(`div`,tr,[b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.format.title.min`),prop:[`format`],class:`grow-1`},{default:R(()=>[b(N(ft),{modelValue:c.value,"onUpdate:modelValue":n[0]||=e=>c.value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.format.placeholder.min`),min:typeof s[0]==`number`?s[0]:void 0,max:l.value,disabled:r.disabled,name:`minValue`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`disabled`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.format.title.max`),prop:[`format`],class:`grow-1`},{default:R(()=>[b(N(ft),{modelValue:l.value,"onUpdate:modelValue":n[1]||=e=>l.value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.format.placeholder.max`),min:c.value,max:typeof s[1]==`number`?s[1]:void 0,disabled:r.disabled,name:`maxValue`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`disabled`])]),_:1},8,[`label`])]))}}),rr=C({name:`ChannelPropertyFormPermissions`,__name:`channel-property-form-permissions`,props:{modelValue:{},permissionsOptions:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{value:o}=Zn({channel:r.channelCategory,property:r.propertyCategory,field:`permissions`}),s=E(o!==void 0),c=E(!s.value&&r.modelValue?r.modelValue:o??[]);return j(()=>c.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(t,n)=>(w(),S(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.permissions.title`),prop:[`permissions`],class:O([{"hidden!":s.value}])},{default:R(()=>[b(N(Q),{modelValue:c.value,"onUpdate:modelValue":n[0]||=e=>c.value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.permissions.placeholder`),disabled:r.disabled,name:`permissions`,multiple:``},{default:R(()=>[(w(!0),e(z,null,M(r.permissionsOptions,e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),ir=C({name:`ChannelPropertyFormStep`,__name:`channel-property-form-step`,props:{modelValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{t:i}=D(),{value:a}=Zn({channel:n.channelCategory,property:n.propertyCategory,field:`step`}),o=E(a??``),s=E(a!==void 0);return j(()=>o.value,e=>{r(`update:modelValue`,e||null)},{immediate:!0}),(e,t)=>(w(),S(N(X),{label:N(i)(`devicesModule.fields.channelsProperties.step.title`),prop:[`step`],class:O([{"hidden!":s.value}])},{default:R(()=>[b(N(K),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,placeholder:N(i)(`devicesModule.fields.channelsProperties.step.placeholder`),disabled:n.disabled,name:`step`},null,8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),ar=[`element-loading-text`],or=C({name:`ChannelPropertyAddForm`,__name:`channel-property-add-form`,props:{id:{},type:{},channel:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:Nt.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{categoriesOptions:o,channelsOptions:s,permissionsOptions:c,dataTypesOptions:l,formEl:u,model:d,formChanged:f,submit:p,formResult:m,loadingChannels:h}=Kt({id:r.id,type:r.type,channelId:r.channel?.id}),g=oe({channel:[{required:!0,message:a(`devicesModule.fields.channelsProperties.channel.validation.required`),trigger:`change`}],category:[{required:!0,message:a(`devicesModule.fields.channelsProperties.category.validation.required`),trigger:`change`}],permissions:[{required:!0,message:a(`devicesModule.fields.channelsProperties.permissions.validation.required`),trigger:`change`}],dataType:[{required:!0,message:a(`devicesModule.fields.channelsProperties.dataType.validation.required`),trigger:`change`}]});return j(()=>m.value,async e=>{i(`update:remote-form-result`,e)}),j(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),p().catch(()=>{}))}),j(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!u.value)return;u.value.resetFields()}}),j(()=>f.value,e=>{i(`update:remote-form-changed`,e)}),(n,r)=>(w(),S(N(dt),{ref_key:`formEl`,ref:u,model:N(d),rules:g,"label-position":`top`,"status-icon":``},{default:R(()=>[ue((w(),e(`div`,{"element-loading-text":N(a)(`devicesModule.texts.channels.loadingChannels`)},[b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.channel.title`),prop:[`channel`]},{default:R(()=>[b(N(Q),{modelValue:N(d).channel,"onUpdate:modelValue":r[0]||=e=>N(d).channel=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.channel.placeholder`),name:`channel`,size:`large`,filterable:``,readonly:``,disabled:``},{default:R(()=>[(w(!0),e(z,null,M(N(s),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),t.channel?(w(),S(N(Z),{key:0,type:`info`,title:N(a)(`devicesModule.fields.channelsProperties.channel.description`),description:N(a)(`devicesModule.texts.channels.description.${t.channel.category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0)],8,ar)),[[N(At),N(h)]]),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.id.title`),prop:[`id`]},{default:R(()=>[b(N(K),{modelValue:N(d).id,"onUpdate:modelValue":r[1]||=e=>N(d).id=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.name.title`),prop:[`name`]},{default:R(()=>[b(N(K),{modelValue:N(d).name,"onUpdate:modelValue":r[2]||=e=>N(d).name=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.name.placeholder`),name:`name`,size:`large`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.category.title`),prop:[`category`]},{default:R(()=>[b(N(Q),{modelValue:N(d).category,"onUpdate:modelValue":r[3]||=e=>N(d).category=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.category.placeholder`),name:`category`,size:`large`,filterable:``},{default:R(()=>[(w(!0),e(z,null,M(N(o),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),(w(),S(rr,{key:`${t.channel?.category||N(J).generic}-${N(d).category}-permissions`,modelValue:N(d).permissions,"onUpdate:modelValue":r[4]||=e=>N(d).permissions=e,"permissions-options":N(c),"channel-category":t.channel?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`permissions-options`,`channel-category`,`property-category`])),(w(),S(Qn,{key:`${t.channel?.category||N(J).generic}-${N(d).category}-dataType`,modelValue:N(d).dataType,"onUpdate:modelValue":r[5]||=e=>N(d).dataType=e,"data-types-options":N(l),"channel-category":t.channel?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`data-types-options`,`channel-category`,`property-category`])),[N(G).char,N(G).uchar,N(G).short,N(G).ushort,N(G).int,N(G).uint,N(G).float].includes(N(d).dataType)?(w(),S(nr,{key:`${t.channel?.category||N(J).generic}-${N(d).category}-min-max`,"min-value":N(d).minValue,"onUpdate:minValue":r[6]||=e=>N(d).minValue=e,"max-value":N(d).maxValue,"onUpdate:maxValue":r[7]||=e=>N(d).maxValue=e,"channel-category":t.channel?.category||N(J).generic,"property-category":N(d).category},null,8,[`min-value`,`max-value`,`channel-category`,`property-category`])):F(``,!0),[N(G).enum].includes(N(d).dataType)?(w(),S($n,{key:`${t.channel?.category||N(J).generic}-${N(d).category}-enum`,modelValue:N(d).enumValues,"onUpdate:modelValue":r[8]||=e=>N(d).enumValues=e,"channel-category":t.channel?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`channel-category`,`property-category`])):F(``,!0),(w(),S(er,{key:`${t.channel?.category||N(J).generic}-${N(d).category}-invalid`,modelValue:N(d).invalid,"onUpdate:modelValue":r[9]||=e=>N(d).invalid=e,"channel-category":t.channel?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`channel-category`,`property-category`])),[N(G).char,N(G).uchar,N(G).short,N(G).ushort,N(G).int,N(G).uint,N(G).float].includes(N(d).dataType)?(w(),S(ir,{key:`${t.channel?.category||N(J).generic}-${N(d).category}-step`,modelValue:N(d).step,"onUpdate:modelValue":r[10]||=e=>N(d).step=e,"channel-category":t.channel?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`channel-category`,`property-category`])):F(``,!0),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.enterValue.title`),"label-position":`left`},{default:R(()=>[b(N(Fe),{modelValue:N(d).enterValue,"onUpdate:modelValue":r[11]||=e=>N(d).enterValue=e},null,8,[`modelValue`])]),_:1},8,[`label`]),N(d).enterValue?(w(),S(N(Z),{key:3,type:`warning`,description:N(a)(`devicesModule.texts.channelsProperties.editValue`),closable:!1,"show-icon":``},null,8,[`description`])):F(``,!0),N(d).enterValue&&N(d).dataType===N(G).bool?(w(),S(N(X),{key:4,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(Fe),{modelValue:N(d).value,"onUpdate:modelValue":r[12]||=e=>N(d).value=e},null,8,[`modelValue`])]),_:1},8,[`label`])):N(d).enterValue&&[N(G).char,N(G).uchar,N(G).short,N(G).ushort,N(G).int,N(G).uint,N(G).float].includes(N(d).dataType)?(w(),S(N(X),{key:5,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(ft),{modelValue:N(d).value,"onUpdate:modelValue":r[13]||=e=>N(d).value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.value.placeholder`),min:N(d).minValue,max:N(d).maxValue,step:N(d).step??void 0,name:`value`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`step`])]),_:1},8,[`label`])):N(d).enterValue&&N(d).dataType===N(G).enum?(w(),S(N(X),{key:6,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(Q),{modelValue:N(d).value,"onUpdate:modelValue":r[14]||=e=>N(d).value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},{default:R(()=>[(w(!0),e(z,null,M(N(d).enumValues,e=>(w(),S(N($),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):N(d).enterValue?(w(),S(N(X),{key:7,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(K),{modelValue:N(d).value,"onUpdate:modelValue":r[15]||=e=>N(d).value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):F(``,!0)]),_:1},8,[`model`,`rules`]))}}),sr=[`element-loading-text`],cr=C({name:`ChannelPropertyEditForm`,__name:`channel-property-edit-form`,props:{property:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:Nt.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{categoriesOptions:o,channelsOptions:s,permissionsOptions:c,dataTypesOptions:l,formEl:u,model:d,formChanged:f,submit:p,formResult:m,loadingChannels:h}=Xt({property:r.property}),{channel:g}=tn({id:r.property.channel});return j(()=>m.value,async e=>{i(`update:remote-form-result`,e)}),j(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),p().catch(()=>{}))}),j(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!u.value)return;u.value.resetFields()}}),j(()=>f.value,e=>{i(`update:remote-form-changed`,e)}),(t,n)=>(w(),S(N(dt),{ref_key:`formEl`,ref:u,model:N(d),"label-position":`top`,"status-icon":``},{default:R(()=>[ue((w(),e(`div`,{"element-loading-text":N(a)(`devicesModule.texts.channels.loadingChannels`)},[b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.channel.title`),prop:[`channel`]},{default:R(()=>[b(N(Q),{modelValue:N(d).channel,"onUpdate:modelValue":n[0]||=e=>N(d).channel=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.channel.placeholder`),name:`channel`,filterable:``,readonly:``,disabled:``},{default:R(()=>[(w(!0),e(z,null,M(N(s),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),N(g)?(w(),S(N(Z),{key:0,type:`info`,title:N(a)(`devicesModule.fields.channelsProperties.channel.description`),description:N(a)(`devicesModule.texts.channels.description.${N(g).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0)],8,sr)),[[N(At),N(h)]]),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.id.title`),prop:[`id`]},{default:R(()=>[b(N(K),{modelValue:N(d).id,"onUpdate:modelValue":n[1]||=e=>N(d).id=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.name.title`),prop:[`name`]},{default:R(()=>[b(N(K),{modelValue:N(d).name,"onUpdate:modelValue":n[2]||=e=>N(d).name=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.name.placeholder`),name:`name`,size:`large`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.category.title`),prop:[`category`]},{default:R(()=>[b(N(Q),{modelValue:N(d).category,"onUpdate:modelValue":n[3]||=e=>N(d).category=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.category.placeholder`),name:`category`,size:`large`,filterable:``,readonly:``,disabled:``},{default:R(()=>[(w(!0),e(z,null,M(N(o),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),(w(),S(rr,{key:`${N(g)?.category||N(J).generic}-${N(d).category}-permissions`,modelValue:N(d).permissions,"onUpdate:modelValue":n[4]||=e=>N(d).permissions=e,"permissions-options":N(c),"channel-category":N(g)?.category||N(J).generic,"property-category":N(d).category,disabled:``},null,8,[`modelValue`,`permissions-options`,`channel-category`,`property-category`])),(w(),S(Qn,{key:`${N(g)?.category||N(J).generic}-${N(d).category}-dataType`,modelValue:N(d).dataType,"onUpdate:modelValue":n[5]||=e=>N(d).dataType=e,"data-types-options":N(l),"channel-category":N(g)?.category||N(J).generic,"property-category":N(d).category,disabled:``},null,8,[`modelValue`,`data-types-options`,`channel-category`,`property-category`])),[N(G).char,N(G).uchar,N(G).short,N(G).ushort,N(G).int,N(G).uint,N(G).float].includes(N(d).dataType)?(w(),S(nr,{key:`${N(g)?.category||N(J).generic}-${N(d).category}-min-max`,"min-value":N(d).minValue,"onUpdate:minValue":n[6]||=e=>N(d).minValue=e,"max-value":N(d).maxValue,"onUpdate:maxValue":n[7]||=e=>N(d).maxValue=e,"channel-category":N(g)?.category||N(J).generic,"property-category":N(d).category},null,8,[`min-value`,`max-value`,`channel-category`,`property-category`])):F(``,!0),[N(G).enum].includes(N(d).dataType)?(w(),S($n,{key:`${N(g)?.category||N(J).generic}-${N(d).category}-enum`,modelValue:N(d).enumValues,"onUpdate:modelValue":n[8]||=e=>N(d).enumValues=e,"channel-category":N(g)?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`channel-category`,`property-category`])):F(``,!0),(w(),S(er,{key:`${N(g)?.category||N(J).generic}-${N(d).category}-invalid`,modelValue:N(d).invalid,"onUpdate:modelValue":n[9]||=e=>N(d).invalid=e,"channel-category":N(g)?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`channel-category`,`property-category`])),[N(G).char,N(G).uchar,N(G).short,N(G).ushort,N(G).int,N(G).uint,N(G).float].includes(N(d).dataType)?(w(),S(ir,{key:`${N(g)?.category||N(J).generic}-${N(d).category}-step`,modelValue:N(d).step,"onUpdate:modelValue":n[10]||=e=>N(d).step=e,"channel-category":N(g)?.category||N(J).generic,"property-category":N(d).category},null,8,[`modelValue`,`channel-category`,`property-category`])):F(``,!0),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.channelsProperties.enterValue.title`),"label-position":`left`},{default:R(()=>[b(N(Fe),{modelValue:N(d).enterValue,"onUpdate:modelValue":n[11]||=e=>N(d).enterValue=e},null,8,[`modelValue`])]),_:1},8,[`label`]),N(d).enterValue?(w(),S(N(Z),{key:3,type:`warning`,description:N(a)(`devicesModule.texts.channelsProperties.editValue`),closable:!1,"show-icon":``},null,8,[`description`])):F(``,!0),N(d).enterValue&&N(d).dataType===N(G).bool?(w(),S(N(X),{key:4,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(Fe),{modelValue:N(d).value,"onUpdate:modelValue":n[12]||=e=>N(d).value=e},null,8,[`modelValue`])]),_:1},8,[`label`])):N(d).enterValue&&[N(G).char,N(G).uchar,N(G).short,N(G).ushort,N(G).int,N(G).uint,N(G).float].includes(N(d).dataType)?(w(),S(N(X),{key:5,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(ft),{modelValue:N(d).value,"onUpdate:modelValue":n[13]||=e=>N(d).value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.value.placeholder`),min:N(d).minValue,max:N(d).maxValue,step:N(d).step??void 0,name:`value`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`step`])]),_:1},8,[`label`])):N(d).enterValue&&N(d).dataType===N(G).enum?(w(),S(N(X),{key:6,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(Q),{modelValue:N(d).value,"onUpdate:modelValue":n[14]||=e=>N(d).value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},{default:R(()=>[(w(!0),e(z,null,M(N(d).enumValues,e=>(w(),S(N($),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):N(d).enterValue?(w(),S(N(X),{key:7,label:N(a)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:R(()=>[b(N(K),{modelValue:N(d).value,"onUpdate:modelValue":n[15]||=e=>N(d).value=e,placeholder:N(a)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):F(``,!0)]),_:1},8,[`model`]))}}),lr={class:`flex w-full`},ur=C({name:`ChannelsPropertiesFilter`,__name:`channels-properties-filter`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`,`adjust-list`],setup(t,{emit:r}){let i=t,a=r,{t:o}=D(),s=E(void 0),c=W(i,`filters`,a);return j(()=>c.value.search,e=>{e===``&&(c.value.search=void 0)}),(t,r)=>(w(),e(`div`,lr,[b(N(dt),{ref_key:`filterFormEl`,ref:s,inline:!0,model:N(c),class:`grow-1`},{default:R(()=>[b(N(K),{modelValue:N(c).search,"onUpdate:modelValue":r[0]||=e=>N(c).search=e,placeholder:N(o)(`devicesModule.fields.channelsProperties.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:R(()=>[b(N(l),null,{default:R(()=>[b(N(n),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),i.filtersActive?(w(),S(N(P),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:r[1]||=e=>a(`reset-filters`)},{default:R(()=>[b(N(n),{icon:`mdi:filter-off`})]),_:1})):F(``,!0),b(N(P),{plain:``,class:`px-2! mt-1 mr-1`,onClick:r[2]||=e=>a(`adjust-list`)},{default:R(()=>[b(N(n),{icon:`mdi:slider`})]),_:1})]))}}),dr=C({name:`ListChannelsProperties`,__name:`list-channels-properties`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean}},emits:[`detail`,`edit`,`remove`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`],setup(t,{emit:n}){let r=t,a=n,{isMDDevice:o}=lt(),s=null,l=E(null),u=E(null),d=W(r,`filters`,a),f=E(r.sortBy),p=E(r.sortDir),m=E(r.paginatePage),h=E(r.paginateSize),g=E(250),_=e=>{a(`detail`,e)},v=e=>{a(`edit`,e)},y=e=>{a(`remove`,e)},x=()=>{a(`reset-filters`)},S=e=>{a(`update:paginate-size`,e)},C=e=>{a(`update:paginate-page`,e)};return re(()=>{if(!l.value)return;let e=()=>{g.value=l.value.clientHeight-u.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(l.value)),e()}),c(()=>{s&&l.value&&s.unobserve(l.value)}),j(()=>f.value,e=>{a(`update:sort-by`,e)}),j(()=>p.value,e=>{a(`update:sort-dir`,e)}),j(()=>r.paginatePage,e=>{m.value=e}),j(()=>r.paginateSize,e=>{h.value=e}),j(()=>r.sortDir,e=>{p.value=e}),j(()=>r.sortBy,e=>{f.value=e}),(t,n)=>(w(),e(z,null,[b(N(pt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:R(()=>[b(ur,{filters:N(d),"onUpdate:filters":n[0]||=e=>A(d)?d.value=e:null,"filters-active":r.filtersActive,onResetFilters:n[1]||=e=>a(`reset-filters`),onAdjustList:n[2]||=e=>a(`adjust-list`)},null,8,[`filters`,`filters-active`])]),_:1}),i(`div`,{ref_key:`wrapper`,ref:l,class:`flex-grow overflow-hidden`},[b(N(pt),{shadow:`never`,class:`mt-2 max-h-full`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:R(()=>[b(On,{filters:N(d),"onUpdate:filters":n[3]||=e=>A(d)?d.value=e:null,"sort-by":f.value,"onUpdate:sortBy":n[4]||=e=>f.value=e,"sort-dir":p.value,"onUpdate:sortDir":n[5]||=e=>p.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":g.value,onDetail:_,onEdit:v,onRemove:y,onResetFilters:x},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),i(`div`,{ref_key:`paginator`,ref:u,class:`flex justify-center w-full py-4`},[b(N(St),{"current-page":m.value,"onUpdate:currentPage":n[6]||=e=>m.value=e,"page-size":h.value,"onUpdate:pageSize":n[7]||=e=>h.value=e,layout:N(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:S,onCurrentChange:C},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),fr={class:`px-2`},pr={class:`px-5 py-2 text-center`},mr=o(C({name:`ListChannelsPropertiesAdjust`,__name:`list-channels-properties-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(t,{emit:r}){let a=t,o=r,s=y(`list-channels-properties-adjust`),{t:c}=D(),l=Object.values(Je),u=Object.values(G),d=Object.values(et),f=E([`categories`,`dataTypes`,`permissions`]),p=W(a,`filters`,o);return(t,r)=>(w(),e(z,null,[b(N(Re),{teleport:``},{icon:R(()=>[b(N(n),{icon:`mdi:filter`})]),title:R(()=>[v(I(N(c)(`devicesModule.headings.channelsProperties.adjustFilters`)),1)]),subtitle:R(()=>[v(I(N(c)(`devicesModule.subHeadings.channelsProperties.adjustFilters`)),1)]),_:1}),i(`div`,{class:O([[N(s).b()],`flex flex-col h-full w-full overflow-hidden`])},[b(N(Le),{class:`flex-grow`},{default:R(()=>[b(N(yt),{modelValue:f.value,"onUpdate:modelValue":r[3]||=e=>f.value=e},{default:R(()=>[b(N(vt),{name:`categories`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.channelsProperties.category.title`)),1)]),_:1})]),default:R(()=>[i(`div`,fr,[b(N(Q),{modelValue:N(p).categories,"onUpdate:modelValue":r[0]||=e=>N(p).categories=e,placeholder:N(c)(`devicesModule.filters.channelsProperties.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:R(()=>[(w(!0),e(z,null,M(N(l),(e,t)=>(w(),S(N($),{key:t,label:N(c)(`devicesModule.categories.channelsProperties.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),b(N(vt),{name:`dataTypes`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.channelsProperties.dataType.title`)),1)]),_:1})]),default:R(()=>[b(N(mt),{modelValue:N(p).dataTypes,"onUpdate:modelValue":r[1]||=e=>N(p).dataTypes=e,class:`flex flex-col px-4`},{default:R(()=>[(w(!0),e(z,null,M(N(u),(e,t)=>(w(),S(N(ht),{key:t,label:N(c)(`devicesModule.dataTypes.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),b(N(vt),{name:`permissions`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.channelsProperties.permission.title`)),1)]),_:1})]),default:R(()=>[b(N(mt),{modelValue:N(p).permissions,"onUpdate:modelValue":r[2]||=e=>N(p).permissions=e,class:`flex flex-col px-4`},{default:R(()=>[(w(!0),e(z,null,M(N(d),(e,t)=>(w(),S(N(ht),{key:t,label:N(c)(`devicesModule.permissions.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),i(`div`,pr,[b(N(P),{disabled:!a.filtersActive,onClick:r[4]||=e=>o(`reset-filters`)},{icon:R(()=>[b(N(n),{icon:`mdi:filter-remove`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-26d10ca7`]]),hr=C({name:`SelectChannelPlugin`,__name:`select-channel-plugin`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{plugins:o,options:c}=Ft(),l=E(r.modelValue),u=s(()=>o.value.find(e=>(e.elements??[]).some(e=>e.type===l.value))),d=s(()=>(u.value?.elements??[]).find(e=>e.type===l.value));return j(()=>l.value,e=>{i(`update:modelValue`,e)}),(t,n)=>(w(),e(z,null,[b(N(X),{label:N(a)(`devicesModule.fields.channels.plugin.title`),"label-position":`top`},{default:R(()=>[b(N(Q),{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,placeholder:N(a)(`devicesModule.fields.channels.plugin.placeholder`),name:`plugin`,filterable:``},{default:R(()=>[(w(!0),e(z,null,M(N(c),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value,disabled:e.disabled},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),d.value?(w(),S(N(Z),{key:0,description:d.value.description??u.value?.description,closable:!1,"show-icon":``,type:`info`},null,8,[`description`])):F(``,!0)],64))}}),gr=C({name:`DeviceAddForm`,__name:`device-add-form`,props:{id:{},type:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:Nt.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{categoriesOptions:o,model:s,formEl:c,formChanged:l,submit:u,formResult:d}=$t({id:r.id,type:r.type}),f=oe({category:[{required:!0,message:a(`devicesModule.fields.devices.category.validation.required`),trigger:`change`}],name:[{required:!0,message:a(`devicesModule.fields.devices.name.validation.required`),trigger:`change`}]});return j(()=>d.value,async e=>{i(`update:remote-form-result`,e)}),j(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),u().catch(()=>{}))}),j(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!c.value)return;c.value.resetFields()}}),j(()=>l.value,e=>{i(`update:remote-form-changed`,e)}),(t,n)=>(w(),S(N(dt),{ref_key:`formEl`,ref:c,model:N(s),rules:f,"label-position":`top`,"status-icon":``},{default:R(()=>[b(N(X),{label:N(a)(`devicesModule.fields.devices.id.title`),prop:[`id`]},{default:R(()=>[b(N(K),{modelValue:N(s).id,"onUpdate:modelValue":n[0]||=e=>N(s).id=e,placeholder:N(a)(`devicesModule.fields.devices.id.placeholder`),name:`id`,required:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.devices.identifier.title`),prop:[`identifier`]},{default:R(()=>[b(N(K),{modelValue:N(s).identifier,"onUpdate:modelValue":n[1]||=e=>N(s).identifier=e,placeholder:N(a)(`devicesModule.fields.devices.identifier.placeholder`),name:`identifier`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.devices.name.title`),prop:[`name`]},{default:R(()=>[b(N(K),{modelValue:N(s).name,"onUpdate:modelValue":n[2]||=e=>N(s).name=e,placeholder:N(a)(`devicesModule.fields.devices.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.devices.category.title`),prop:[`category`]},{default:R(()=>[b(N(Q),{modelValue:N(s).category,"onUpdate:modelValue":n[3]||=e=>N(s).category=e,placeholder:N(a)(`devicesModule.fields.devices.category.placeholder`),name:`category`,filterable:``},{default:R(()=>[(w(!0),e(z,null,M(N(o),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),N(s).category?(w(),S(N(Z),{key:0,type:`info`,title:N(a)(`devicesModule.fields.devices.category.description`),description:N(a)(`devicesModule.texts.devices.description.${N(s).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0),b(N(U)),b(N(X),{label:N(a)(`devicesModule.fields.devices.description.title`),prop:[`description`]},{default:R(()=>[b(N(K),{modelValue:N(s).description,"onUpdate:modelValue":n[4]||=e=>N(s).description=e,placeholder:N(a)(`devicesModule.fields.devices.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(a)(`devicesModule.fields.devices.enabled.title`),prop:[`enabled`],"label-position":`left`},{default:R(()=>[b(N(Fe),{modelValue:N(s).enabled,"onUpdate:modelValue":n[5]||=e=>N(s).enabled=e,name:`enabled`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),_r={class:`text-xs text-gray-500 mt-1`},vr=C({name:`DeviceEditForm`,__name:`device-edit-form`,props:{device:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:Nt.NONE},remoteFormReset:{type:Boolean,default:!1},remoteFormChanged:{type:Boolean,default:!1}},emits:[`update:remote-form-submit`,`update:remote-form-result`,`update:remote-form-reset`,`update:remote-form-changed`],setup(t,{emit:n}){let r=t,a=n,{t:o}=D(),{categoriesOptions:s,model:c,formEl:l,formChanged:u,submit:d,formResult:f}=Qt({device:r.device}),p=oe({name:[{required:!0,message:o(`devicesModule.fields.devices.name.validation.required`),trigger:`change`}]});return j(()=>f.value,async e=>{a(`update:remote-form-result`,e)}),j(()=>r.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),d().catch(()=>{}))}),j(()=>r.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!l.value)return;l.value.resetFields()}}),j(()=>u.value,e=>{a(`update:remote-form-changed`,e)}),(t,n)=>(w(),S(N(dt),{ref_key:`formEl`,ref:l,model:N(c),rules:p,"label-position":`top`,"status-icon":``},{default:R(()=>[b(N(X),{label:N(o)(`devicesModule.fields.devices.id.title`),prop:[`id`]},{default:R(()=>[b(N(K),{modelValue:N(c).id,"onUpdate:modelValue":n[0]||=e=>N(c).id=e,placeholder:N(o)(`devicesModule.fields.devices.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(o)(`devicesModule.fields.devices.identifier.title`),prop:[`identifier`]},{default:R(()=>[b(N(K),{modelValue:N(c).identifier,"onUpdate:modelValue":n[1]||=e=>N(c).identifier=e,placeholder:N(o)(`devicesModule.fields.devices.identifier.placeholder`),name:`identifier`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(o)(`devicesModule.fields.devices.name.title`),prop:[`name`]},{default:R(()=>[b(N(K),{modelValue:N(c).name,"onUpdate:modelValue":n[2]||=e=>N(c).name=e,placeholder:N(o)(`devicesModule.fields.devices.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(o)(`devicesModule.fields.devices.category.title`),prop:[`category`]},{default:R(()=>[b(N(Q),{modelValue:N(c).category,"onUpdate:modelValue":n[3]||=e=>N(c).category=e,placeholder:N(o)(`devicesModule.fields.devices.category.placeholder`),name:`category`,filterable:``,readonly:``,disabled:``},{default:R(()=>[(w(!0),e(z,null,M(N(s),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),N(c).category?(w(),S(N(Z),{key:0,type:`info`,title:N(o)(`devicesModule.fields.devices.category.description`),description:N(o)(`devicesModule.texts.devices.description.${N(c).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):F(``,!0),b(N(U)),b(N(X),{label:N(o)(`devicesModule.fields.devices.description.title`),prop:[`description`]},{default:R(()=>[b(N(K),{modelValue:N(c).description,"onUpdate:modelValue":n[4]||=e=>N(c).description=e,placeholder:N(o)(`devicesModule.fields.devices.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),b(N(X),{label:N(o)(`devicesModule.fields.devices.enabled.title`),prop:[`enabled`],"label-position":`left`},{default:R(()=>[b(N(Fe),{modelValue:N(c).enabled,"onUpdate:modelValue":n[5]||=e=>N(c).enabled=e,name:`enabled`},null,8,[`modelValue`])]),_:1},8,[`label`]),b(N(U)),b(N(X),{label:N(o)(`devicesModule.fields.devices.room.title`),prop:[`roomId`]},{default:R(()=>[b(N(kt),{modelValue:N(c).roomId,"onUpdate:modelValue":n[6]||=e=>N(c).roomId=e,placeholder:N(o)(`devicesModule.fields.devices.room.placeholder`),filter:`room`},null,8,[`modelValue`,`placeholder`]),i(`div`,_r,I(N(o)(`devicesModule.fields.devices.room.hint`)),1)]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),yr={class:`flex flex-row items-center`},br={class:`ml-3`},xr={class:`p-4`},Sr={key:2,class:`w-full flex items-center gap-4`},Cr=C({name:`DeviceControlForm`,__name:`device-control-form`,props:{deviceControl:{}},setup(t){let r=t,{t:a}=D(),{controllableChannels:o,getPropertiesForChannel:s,isPropertyWritable:c,getPropertyValue:l,isPropertyLoading:u,setPropertyValue:d}=r.deviceControl,f=e=>s(e).filter(e=>c(e)),p=e=>l(e),m=e=>({light:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,temperature:`mdi:thermometer`,humidity:`mdi:water-percent`,thermostat:`mdi:thermostat`,fan:`mdi:fan`,heater:`mdi:radiator`,cooler:`mdi:snowflake`,lock:`mdi:lock`,door:`mdi:door`,valve:`mdi:pipe-valve`,speaker:`mdi:volume-high`,media_playback:`mdi:play-circle`,outlet:`mdi:power-socket`,window_covering:`mdi:blinds`})[e.category]??`mdi:chip`,h=e=>{if(e===null)return!1;if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;let t=e.toLowerCase();return t===`true`||t===`1`||t===`on`||t===`yes`},g=e=>[G.char,G.uchar,G.short,G.ushort,G.int,G.uint,G.float].includes(e),_=e=>!e.format||!Array.isArray(e.format)?!1:e.format.length>=2&&typeof e.format[0]==`number`&&typeof e.format[1]==`number`,y=e=>e.format&&Array.isArray(e.format)&&typeof e.format[0]==`number`?e.format[0]:0,C=e=>e.format&&Array.isArray(e.format)&&typeof e.format[1]==`number`?e.format[1]:100,T=e=>!e.format||!Array.isArray(e.format)?[]:e.format.filter(e=>typeof e==`string`),E=(e,t,n)=>{d(e,t,n)};return(t,r)=>(w(),S(N(Le),{class:`grow-1 p-2 md:px-4`},{default:R(()=>[N(o).length>0?(w(),S(N(gn),{key:0,direction:`vertical`,size:`large`,class:`w-full`,fill:``},{default:R(()=>[(w(!0),e(z,null,M(N(o),t=>(w(),S(N(pt),{key:t.id,"body-class":`p-0!`,style:{"--el-card-padding":`0.5rem`}},{header:R(()=>[i(`div`,yr,[i(`div`,null,[b(N(Ve),{size:32},{default:R(()=>[b(N(n),{icon:m(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),i(`div`,br,[i(`strong`,null,I(t.name),1),b(N(H),{class:`block`},{default:R(()=>[v(I(N(a)(`devicesModule.categories.channels.${t.category}`)),1)]),_:2},1024)])])]),default:R(()=>[i(`div`,xr,[b(N(dt),{"label-position":`top`,size:`default`},{default:R(()=>[(w(!0),e(z,null,M(f(t.id),n=>(w(),S(N(X),{key:n.id,label:n.name??N(a)(`devicesModule.categories.channelsProperties.${n.category}`),class:`mb-4`},{default:R(()=>[n.dataType===N(G).bool?(w(),S(N(Fe),{key:0,"model-value":h(p(n.id)),loading:N(u)(n.id),onChange:e=>E(t.id,n.id,!!e)},null,8,[`model-value`,`loading`,`onChange`])):n.dataType===N(G).enum?(w(),S(N(Q),{key:1,"model-value":String(p(n.id)??``),loading:N(u)(n.id),class:`w-full`,onChange:e=>E(t.id,n.id,e)},{default:R(()=>[(w(!0),e(z,null,M(T(n),e=>(w(),S(N($),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`loading`,`onChange`])):g(n.dataType)&&_(n)?(w(),e(`div`,Sr,[b(N(Et),{"model-value":Number(p(n.id)??y(n)),min:y(n),max:C(n),step:n.step??1,disabled:N(u)(n.id),class:`flex-grow touch-action-none`,onInput:e=>E(t.id,n.id,Array.isArray(e)?e[0]??0:e)},null,8,[`model-value`,`min`,`max`,`step`,`disabled`,`onInput`]),b(N(H),{class:`min-w-[60px] text-right`},{default:R(()=>[v(I(p(n.id)??`-`)+I(n.unit?` ${n.unit}`:``),1)]),_:2},1024)])):g(n.dataType)?(w(),e(z,{key:3},[b(N(ft),{"model-value":Number(p(n.id)??0),step:n.step??1,disabled:N(u)(n.id),"controls-position":`right`,onChange:e=>E(t.id,n.id,e??0)},null,8,[`model-value`,`step`,`disabled`,`onChange`]),n.unit?(w(),S(N(H),{key:0,class:`ml-2`},{default:R(()=>[v(I(n.unit),1)]),_:2},1024)):F(``,!0)],64)):(w(),S(N(K),{key:4,"model-value":String(p(n.id)??``),disabled:N(u)(n.id),onChange:e=>E(t.id,n.id,e)},null,8,[`model-value`,`disabled`,`onChange`]))]),_:2},1032,[`label`]))),128))]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(w(),S(N(x),{key:1,class:`h-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:tune-variant`})]),secondary:R(()=>[b(N(n),{icon:`mdi:information`})]),_:1})]),title:R(()=>[b(N(H),{class:`block`},{default:R(()=>[v(I(N(a)(`devicesModule.texts.devices.noControllableProperties`)),1)]),_:1})]),_:1}))]),_:1}))}}),wr=C({name:`DeviceDetailDescription`,__name:`device-detail-description`,props:{device:{},channel:{}},setup(t){let n=t,{t:r}=D(),{properties:a}=It({channelId:n.channel.id}),o=[Je.status,Je.link_quality],c=s(()=>a.value.filter(e=>!o.includes(e.category))),l=e=>{let t=Math.floor((c.value.length-1)/2);return Math.floor(e/2)===t};return(t,n)=>(w(!0),e(z,null,M(c.value,(t,n)=>(w(),e(z,{key:t.id},[i(`dt`,{class:O([`b-r b-r-solid py-3 px-2 flex items-center justify-end`,{"b-b b-b-solid":!l(n)}]),style:{background:`var(--el-fill-color-light)`}},I(N(r)(`devicesModule.categories.channelsProperties.${t.category}`)),3),i(`dd`,{class:O([`m-0 p-2 flex items-center min-w-[8rem]`,{"b-b b-b-solid":!l(n),"b-r b-r-solid":n%2==0}])},[b(N(H),null,{default:R(()=>[v(I(t.value!==null&&typeof t.value==`object`&&`value`in t.value?t.value.value:t.value),1)]),_:2},1024)],2)],64))),128))}}),Tr={class:`grid grid-cols-[auto_1fr_auto_1fr] m-0`},Er=C({name:`DeviceDetail`,__name:`device-detail`,props:{device:{}},setup(e){let t=e,{t:n}=D(),{channels:r}=Ht({deviceId:t.device.id}),a=s(()=>r.value.find(e=>e.category===J.device_information)),o=[Je.status,Je.link_quality],{properties:c}=It({channelId:s(()=>a.value?.id)}),l=s(()=>!!a.value&&c.value.some(e=>!o.includes(e.category))),u=s(()=>{if(![V.unknown].includes(t.device.status.status))return[V.connected,V.ready,V.running].includes(t.device.status.status)?`success`:[V.init].includes(t.device.status.status)?`info`:[V.disconnected,V.stopped,V.sleeping].includes(t.device.status.status)?`warning`:`danger`});return(t,r)=>(w(),S(N(pt),{class:`mt-2`,shadow:`never`,"body-class":`p-0!`},{default:R(()=>[i(`dl`,Tr,[i(`dt`,{class:O([`b-r b-r-solid py-3 px-2 flex items-center justify-end`,{"b-b b-b-solid":l.value}]),style:{background:`var(--el-fill-color-light)`}},I(N(n)(`devicesModule.texts.devices.category`)),3),i(`dd`,{class:O([`b-r b-r-solid m-0 p-2 flex items-center min-w-[8rem]`,{"b-b b-b-solid":l.value}])},[b(N(H),null,{default:R(()=>[v(I(N(n)(`devicesModule.categories.devices.${e.device.category}`)),1)]),_:1})],2),i(`dt`,{class:O([`b-r b-r-solid py-3 px-2 flex items-center justify-end`,{"b-b b-b-solid":l.value}]),style:{background:`var(--el-fill-color-light)`}},I(N(n)(`devicesModule.texts.devices.status`)),3),i(`dd`,{class:O([`m-0 p-2 flex items-center min-w-[8rem]`,{"b-b b-b-solid":l.value}])},[b(N(H),null,{default:R(()=>[b(N(q),{type:u.value,size:`small`},{default:R(()=>[v(I(N(n)(`devicesModule.states.${String(e.device.status?.status??N(V).unknown).toLowerCase()}`)),1)]),_:1},8,[`type`])]),_:1})],2),l.value&&a.value?(w(),S(wr,{key:0,device:e.device,channel:a.value},null,8,[`device`,`channel`])):F(``,!0)])]),_:1}))}}),Dr={class:`h-full w-full flex flex-col`},Or={class:`flex w-full items-center content-center`},kr={class:`flex-1 overflow-hidden flex flex-col`},Ar={class:`flex flex-col h-full`},jr={class:`flex flex-col overflow-hidden h-full`},Mr=C({name:`DeviceLogs`,__name:`device-logs`,props:{logs:{},deviceId:{},live:{type:Boolean},hasMore:{},isLoading:{},liveRef:{},fetchLogs:{type:Function},loadMoreLogs:{type:Function},refreshLogs:{type:Function}},emits:[`update:live`],setup(t,{emit:a}){let o=t,c=a,{t:u}=D(),d=o.logs!==void 0,f=d?null:en({deviceId:r(()=>o.deviceId)}),p=s(()=>d?o.logs.value:f.logs.value),m=s(()=>d?o.hasMore.value:f.hasMore.value),h=s(()=>d?o.isLoading.value:f.isLoading.value),g=d?o.liveRef:f.live,_=()=>d?o.refreshLogs():f.refreshLogs(),y=()=>d?o.loadMoreLogs():f.loadMoreLogs(),x=()=>d?o.fetchLogs():f.fetchLogs(),C=W(o,`live`,c,{defaultValue:!1}),T=E(null),ee=s({get:()=>T.value!==null,set:e=>{e||(T.value=null)}});j(C,e=>{g.value=e},{immediate:!0}),j(g,e=>{C.value=e});let te=e=>{let t=p.value.find(t=>t.id===e);t&&(T.value=t)},ne=()=>{_()},O=()=>{y()};return k(()=>{d||x()}),(t,r)=>(w(),e(`div`,Dr,[b(N(pt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:R(()=>[i(`div`,Or,[r[3]||=i(`div`,{class:`grow-1`},null,-1),b(N(Fe),{modelValue:N(C),"onUpdate:modelValue":r[0]||=e=>A(C)?C.value=e:null,class:`mr-6`,"active-text":N(u)(`devicesModule.labels.liveTail`),"inactive-text":N(u)(`devicesModule.labels.paused`)},null,8,[`modelValue`,`active-text`,`inactive-text`]),b(N(P),{plain:``,class:`px-2! mt-1 mr-1`,onClick:ne},{default:R(()=>[b(N(n),{icon:`mdi:refresh`})]),_:1})])]),_:1}),i(`div`,kr,[b(N(pt),{shadow:`never`,class:`mt-2 flex flex-col`,"body-class":`p-0! flex-1 overflow-hidden`},{default:R(()=>[b(N(Le),null,{default:R(()=>[b(N(Tt),{items:p.value,loading:h.value,"has-more":m.value,"filters-active":!1,onDetail:te,onLoadMore:O},null,8,[`items`,`loading`,`has-more`])]),_:1})]),_:1})]),b(N(bt),{modelValue:ee.value,"onUpdate:modelValue":r[2]||=e=>ee.value=e,"show-close":!1,"with-header":!1,direction:`rtl`,size:`40%`},{default:R(()=>[i(`div`,Ar,[b(N(Ie),{"menu-button-hidden":``},{"button-right":R(()=>[b(N(je),{align:N(Ae).RIGHT,class:`mr-2`,onClick:r[1]||=e=>T.value=null},{icon:R(()=>[b(N(l),null,{default:R(()=>[b(N(n),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),b(N(Re),{teleport:``},{icon:R(()=>[b(N(n),{icon:`mdi:note-text-outline`,class:`w[20px] h[20px]`})]),title:R(()=>[v(I(N(u)(`systemModule.headings.systemLogs.detail`)),1)]),subtitle:R(()=>[v(I(N(u)(`systemModule.subHeadings.systemLogs.detail`)),1)]),_:1}),i(`div`,jr,[T.value?(w(),S(N(Le),{key:0,class:`grow-1 p-2 md:px-4`},{default:R(()=>[b(N(Ct),{"system-log":T.value},null,8,[`system-log`])]),_:1})):F(``,!0)])])]),_:1},8,[`modelValue`])]))}}),Nr={class:`flex w-full`},Pr=o(C({name:`DevicesFilter`,__name:`devices-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{},showHidden:{type:Boolean},loading:{type:Boolean}},emits:[`update:filters`,`update:show-hidden`,`reset-filters`,`adjust-list`,`bulk-action`],setup(t,{emit:r}){let i=t,a=r,o=y(`devices-filter`),{t:s}=D(),c=W(i,`filters`,a),u=W(i,`showHidden`,a),d=E(void 0);return j(()=>c.value.search,e=>{e===``&&(c.value.search=void 0)}),(t,r)=>(w(),e(`div`,Nr,[b(N(dt),{ref_key:`filterFormEl`,ref:d,inline:!0,model:N(c),class:O([[N(o).b()],`grow-1`])},{default:R(()=>[b(N(K),{modelValue:N(c).search,"onUpdate:modelValue":r[0]||=e=>N(c).search=e,placeholder:N(s)(`devicesModule.fields.devices.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:R(()=>[b(N(l),null,{default:R(()=>[b(N(n),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),b(N(U),{direction:`vertical`}),b(N(X),{label:N(s)(`devicesModule.fields.devices.state.title`),class:O([[N(o).e(`device-state`)],`p-1 m-0!`])},{default:R(()=>[b(N(_t),{modelValue:N(c).state,"onUpdate:modelValue":r[1]||=e=>N(c).state=e},{default:R(()=>[b(N(gt),{label:N(s)(`devicesModule.states.online`),value:`online`},null,8,[`label`]),b(N(gt),{label:N(s)(`devicesModule.states.offline`),value:`offline`},null,8,[`label`]),b(N(gt),{label:N(s)(`devicesModule.states.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`,`class`]),b(N(U),{direction:`vertical`}),b(N(X),{label:N(s)(`devicesModule.fields.devices.showHidden.title`),class:O([[N(o).e(`show-hidden`)],`p-1 m-0!`])},{default:R(()=>[b(N(Fe),{modelValue:N(u),"onUpdate:modelValue":r[2]||=e=>A(u)?u.value=e:null,disabled:i.loading,loading:i.loading,"data-test-id":`show-hidden-devices`},null,8,[`modelValue`,`disabled`,`loading`])]),_:1},8,[`label`,`class`])]),_:1},8,[`model`,`class`]),b(N(Ne),{"selected-count":i.selectedCount,actions:i.bulkActions,onAction:r[3]||=e=>a(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),i.filtersActive?(w(),S(N(P),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:r[4]||=e=>a(`reset-filters`)},{default:R(()=>[b(N(n),{icon:`mdi:filter-off`})]),_:1})):F(``,!0),b(N(P),{plain:``,class:`px-2! mt-1 mr-1`,onClick:r[5]||=e=>a(`adjust-list`)},{default:R(()=>[b(N(n),{icon:`mdi:slider`})]),_:1})]))}}),[[`__scopeId`,`data-v-ff34c392`]]),Fr={key:0,class:`flex items-center gap-1 mt-1`},Ir=C({name:`DevicesTableColumnHidden`,__name:`devices-table-column-hidden`,props:{device:{}},setup(t){let n=t,{t:r}=D(),i=He(),a=tt(),o=st().getStore(jt),c=E(!1),l=async()=>{c.value=!0;try{await o.edit({id:n.device.id,data:{type:n.device.type,hidden:!1}}),a.success(r(`devicesModule.messages.devices.unhidden`,{device:n.device.name}))}catch(e){i.error(`Failed to unhide device`,e),a.error(r(`devicesModule.messages.devices.notUnhidden`,{device:n.device.name}))}finally{c.value=!1}},u=s(()=>n.device.hiddenBy===at.system),d=s(()=>u.value?r(`devicesModule.hidden.by.system`):r(`devicesModule.hidden.by.user`)),f=s(()=>u.value?r(`devicesModule.hidden.hint.system`):r(`devicesModule.hidden.hint.user`));return(t,i)=>n.device.hidden?(w(),e(`div`,Fr,[b(N(q),{size:`small`,type:`info`},{default:R(()=>[v(I(N(r)(`devicesModule.hidden.badge`)),1)]),_:1}),b(N(it),{content:f.value,placement:`top`,"show-after":500},{default:R(()=>[b(N(q),{size:`small`,type:u.value?`warning`:`primary`},{default:R(()=>[v(I(d.value),1)]),_:1},8,[`type`])]),_:1},8,[`content`]),u.value?F(``,!0):(w(),S(N(P),{key:0,link:``,size:`small`,type:`primary`,loading:c.value,"data-test-id":`unhide-device`,onClick:B(l,[`stop`])},{default:R(()=>[v(I(N(r)(`devicesModule.hidden.unhide`)),1)]),_:1},8,[`loading`]))])):F(``,!0)}}),Lr=C({name:`DevicesTableColumnIcon`,__name:`devices-table-column-icon`,props:{device:{}},setup(e){let{icon:t}=Yt({id:e.device.id});return(e,r)=>(w(),S(N(Ve),{size:32},{default:R(()=>[b(N(n),{icon:N(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),Rr=C({name:`DevicesTableColumnPlugin`,__name:`devices-table-column-plugin`,props:{device:{},filters:{}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{plugin:a}=Jt({type:r.device.type});return(e,t)=>(w(),S(N(H),{truncated:``},{default:R(()=>[b(N(xt),{type:r.filters.types.includes(r.device.type)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:t[0]||=B(e=>i(`filter-by`,r.device.type,!r.filters.types.includes(r.device.type)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[r.filters.types.includes(r.device.type)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:1}),v(` `+I(N(a)?.name||r.device.type),1)]),_:1},8,[`type`])]),_:1}))}}),zr=C({name:`DevicesTableColumnState`,__name:`devices-table-column-state`,props:{device:{},filters:{}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{t:a}=D();return(t,o)=>(w(),S(N(xt),{type:r.filters.states.includes(e.device.status.status)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=B(t=>i(`filter-by`,e.device.status.status,!r.filters.states.includes(e.device.status.status)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[r.filters.states.includes(e.device.status.status)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:1}),v(` `+I(N(a)(`devicesModule.states.${e.device.status.status}`)),1)]),_:1},8,[`type`]))}}),Br={class:`text-sm`},Vr={class:`font-semibold mb-2 flex items-center gap-2`},Hr={class:`text-xs text-gray-500`},Ur=C({name:`DevicesTableColumnValidation`,__name:`devices-table-column-validation`,props:{device:{}},setup(t){let r=t,{t:a}=D(),o=st().getStore(Mt),c=E(!1),u=s(()=>o.findById(r.device.id)),d=s(()=>u.value?.isValid??null),f=s(()=>u.value?.issues??[]),p=s(()=>f.value.length),m=s(()=>o.fetching()||o.getting(r.device.id));return(t,r)=>m.value?(w(),S(N(q),{key:0,size:`small`,type:`info`},{default:R(()=>[b(N(n),{icon:`mdi:loading`,class:`animate-spin`})]),_:1})):d.value===!0?(w(),S(N(q),{key:1,size:`small`,type:`success`},{default:R(()=>[v(I(N(a)(`devicesModule.validation.status.valid`)),1)]),_:1})):d.value===!1?(w(),S(N(Xe),{key:2,placement:`bottom`,width:400,trigger:`click`,onShow:r[1]||=e=>c.value=!0,onHide:r[2]||=e=>c.value=!1},{reference:R(()=>[b(N(q),{size:`small`,type:`danger`,class:`cursor-pointer`,onClick:r[0]||=B(()=>{},[`stop`])},{default:R(()=>[v(I(N(a)(`devicesModule.validation.status.invalid`))+` `,1),p.value>0?(w(),e(z,{key:0},[v(` (`+I(p.value)+`) `,1)],64)):F(``,!0),b(N(l),{class:`ml-1 inline-block!`},{default:R(()=>[b(N(n),{icon:c.value?`mdi:chevron-up`:`mdi:chevron-down`},null,8,[`icon`])]),_:1})]),_:1})]),default:R(()=>[i(`div`,Br,[i(`div`,Vr,[b(N(l),null,{default:R(()=>[b(N(n),{icon:`mdi:alert-circle-outline`})]),_:1}),v(` `+I(N(a)(`devicesModule.validation.issuesTitle`)),1)]),b(N(ut),{data:f.value,size:`small`,"show-header":!1},{default:R(()=>[b(N(Y),{prop:`severity`,width:70},{default:R(e=>[b(N(q),{type:e.row.severity===`error`?`danger`:`warning`,size:`small`},{default:R(()=>[v(I(e.row.severity===`error`?N(a)(`devicesModule.validation.severity.error`):N(a)(`devicesModule.validation.severity.warning`)),1)]),_:2},1032,[`type`])]),_:1}),b(N(Y),{prop:`message`},{default:R(e=>[i(`div`,Hr,I(N(a)(`devicesModule.validation.issueTypes.${e.row.type}`,e.row.type)),1),i(`div`,null,I(e.row.message),1)]),_:1})]),_:1},8,[`data`])])]),_:1})):(w(),S(N(q),{key:3,size:`small`,type:`info`},{default:R(()=>[v(I(N(a)(`devicesModule.validation.status.unknown`)),1)]),_:1}))}}),Wr={key:0,class:`h-full w-full leading-normal`},Gr={key:1,class:`h-full w-full leading-normal`},Kr={key:2,class:`h-full w-full leading-normal`},qr={class:`block`},Jr=C({name:`DevicesTable`,__name:`devices-table`,props:{items:{},totalRows:{},sortBy:{},sortDir:{},loading:{type:Boolean},filters:{},filtersActive:{type:Boolean},tableHeight:{}},emits:[`detail`,`edit`,`remove`,`reset-filters`,`selected-changes`,`update:filters`,`update:sort-by`,`update:sort-dir`],setup(t,{emit:r}){let a=t,o=r,{t:c}=D(),{isMDDevice:u}=lt(),d=s(()=>a.totalRows===0),f=W(a,`filters`,o),m=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},h=e=>{o(`selected-changes`,e)},g=e=>{o(`detail`,e.id)},_=(e,t,n)=>{if(e===`type`){let e=f.value.types;n===!0?e.push(t):e=f.value.types.filter(e=>e!==t),f.value.types=Array.from(new Set(e))}else if(e===`category`){let e=f.value.categories;n===!0?e.push(t):e=f.value.categories.filter(e=>e!==t),f.value.categories=Array.from(new Set(e))}else if(e===`state`){let e=f.value.states;n===!0?e.push(t):e=f.value.states.filter(e=>e!==t),f.value.states=Array.from(new Set(e))}else e===`enabled`?n===!0?f.value.enabled=t:f.value.enabled=`all`:e===`validation`&&(n===!0?f.value.validation=t:f.value.validation=`all`)};return(r,s)=>ue((w(),S(N(ut),{"element-loading-text":N(c)(`devicesModule.texts.devices.loadingDevices`),data:a.items,"default-sort":a.sortBy!==void 0&&a.sortDir!==null?{prop:a.sortBy,order:a.sortDir===`desc`?`descending`:`ascending`}:void 0,"table-layout":`fixed`,"row-key":`id`,class:`flex-grow`,style:p({maxHeight:t.tableHeight+`px`}),"max-height":t.tableHeight,onSortChange:m,onSelectionChange:h,onRowClick:g},{empty:R(()=>[a.loading?(w(),e(`div`,Wr,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:devices`})]),secondary:R(()=>[b(N(n),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):d.value&&!a.loading?(w(),e(`div`,Gr,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:devices`})]),secondary:R(()=>[b(N(n),{icon:`mdi:information`})]),_:1})]),title:R(()=>[v(I(N(c)(`devicesModule.texts.devices.noDevices`)),1)]),_:1})])):a.filtersActive&&!a.loading?(w(),e(`div`,Kr,[b(N(x),{class:`h-full w-full`},{icon:R(()=>[b(N(L),{size:80},{primary:R(()=>[b(N(n),{icon:`mdi:devices`})]),secondary:R(()=>[b(N(n),{icon:`mdi:filter-multiple`})]),_:1})]),title:R(()=>[b(N(H),{class:`block`},{default:R(()=>[v(I(N(c)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1}),b(N(P),{type:`primary`,plain:``,class:`mt-4`,onClick:s[0]||=e=>o(`reset-filters`)},{icon:R(()=>[b(N(n),{icon:`mdi:filter-off`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):F(``,!0)]),default:R(()=>[N(u)?(w(),S(N(Y),{key:0,type:`selection`,fixed:``,width:30})):F(``,!0),b(N(Y),{width:60,align:`center`},{default:R(e=>[b(Lr,{device:e.row},null,8,[`device`])]),_:1}),b(N(Y),{label:N(c)(`devicesModule.table.devices.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:R(t=>[t.row.description?(w(),e(z,{key:0},[i(`strong`,qr,I(t.row.name),1),b(N(H),{size:`small`,class:`block leading-4`,truncated:``},{default:R(()=>[v(I(t.row.description),1)]),_:2},1024)],64)):(w(),e(z,{key:1},[v(I(t.row.name),1)],64)),b(Ir,{device:t.row},null,8,[`device`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.devices.columns.type.title`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:170},{default:R(e=>[b(Rr,{device:e.row,filters:N(f),onFilterBy:s[1]||=(e,t)=>_(`type`,e,t)},null,8,[`device`,`filters`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.devices.columns.state.title`),prop:`state`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:130},{default:R(e=>[b(zr,{device:e.row,filters:N(f),onFilterBy:s[2]||=(e,t)=>_(`state`,e,t)},null,8,[`device`,`filters`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.devices.columns.category.title`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:140},{default:R(e=>[b(N(it),{content:N(c)(`devicesModule.categories.devices.${e.row.category}`),placement:`top`,"show-after":500},{default:R(()=>[b(N(xt),{type:N(f).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400! overflow-hidden`,onClick:B(t=>_(`category`,e.row.category,!N(f).categories.includes(e.row.category)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[N(f).categories.includes(e.row.category)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),b(N(H),{class:`block leading-4 max-w-[80%]!`,truncated:``},{default:R(()=>[v(I(N(c)(`devicesModule.categories.devices.${e.row.category}`)),1)]),_:2},1024)]),_:2},1032,[`type`,`onClick`])]),_:2},1032,[`content`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.devices.columns.enabled.title`),prop:`enabled`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:110},{default:R(e=>[b(N(xt),{type:N(f).enabled===(e.row.enabled?`enabled`:`disabled`)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:B(t=>_(`enabled`,e.row.enabled?`enabled`:`disabled`,N(f).enabled!==(e.row.enabled?`enabled`:`disabled`)),[`stop`])},{default:R(()=>[b(N(l),{class:`el-icon--left`},{default:R(()=>[N(f).categories.includes(e.row.category)?(w(),S(N(n),{key:0,icon:`mdi:filter-minus`})):(w(),S(N(n),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),v(` `+I(e.row.enabled?N(c)(`devicesModule.table.devices.columns.enabled.values.enabled`):N(c)(`devicesModule.table.devices.columns.enabled.values.disabled`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),b(N(Y),{label:N(c)(`devicesModule.table.devices.columns.validation.title`),prop:`validation`,width:120},{default:R(e=>[b(Ur,{device:e.row},null,8,[`device`])]),_:1},8,[`label`]),b(N(Y),{width:190,align:`right`},{default:R(e=>[i(`div`,{onClick:s[3]||=B(()=>{},[`stop`])},[b(N(P),{size:`small`,plain:``,"data-test-id":`detail-device`,onClick:t=>o(`detail`,e.row.id)},{icon:R(()=>[b(N(n),{icon:`mdi:file-search-outline`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),b(N(P),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-device`,onClick:t=>o(`edit`,e.row.id)},{icon:R(()=>[b(N(n),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),b(N(P),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-device`,onClick:t=>o(`remove`,e.row.id)},{icon:R(()=>[b(N(n),{icon:`mdi:trash`})]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[N(At),a.loading]])}}),Yr=C({name:`ListDevices`,__name:`list-devices`,props:{items:{},allItems:{},totalRows:{},filters:{},filtersActive:{type:Boolean},paginateSize:{},paginatePage:{},sortBy:{},sortDir:{},loading:{type:Boolean},showHidden:{type:Boolean}},emits:[`detail`,`edit`,`remove`,`adjust-list`,`reset-filters`,`update:filters`,`update:paginate-size`,`update:paginate-page`,`update:sort-by`,`update:sort-dir`,`update:show-hidden`,`bulk-action`],setup(t,{emit:n}){let r=t,a=n,{t:o}=D(),{isMDDevice:l}=lt(),u=null,d=E(null),f=E(null),p=W(r,`filters`,a),m=W(r,`showHidden`,a),h=E(r.sortBy),g=E(r.sortDir),_=E(r.paginatePage),v=E(r.paginateSize),y=E(250),x=E([]),S=s(()=>[{key:`enable`,label:o(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:o(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`},{key:`delete`,label:o(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),C=e=>{a(`detail`,e)},T=e=>{a(`edit`,e)},ee=e=>{a(`remove`,e)},te=()=>{a(`reset-filters`)},ne=e=>{a(`update:paginate-size`,e)},O=e=>{a(`update:paginate-page`,e)},k=e=>{x.value=e},ie=e=>{a(`bulk-action`,e,x.value)};return re(()=>{if(!d.value)return;let e=()=>{y.value=d.value.clientHeight-f.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(u=new ResizeObserver(e),u.observe(d.value)),e()}),c(()=>{u&&d.value&&u.unobserve(d.value)}),j(()=>h.value,e=>{a(`update:sort-by`,e)}),j(()=>g.value,e=>{a(`update:sort-dir`,e)}),j(()=>r.paginatePage,e=>{_.value=e}),j(()=>r.paginateSize,e=>{v.value=e}),j(()=>r.sortDir,e=>{g.value=e}),j(()=>r.sortBy,e=>{h.value=e}),j(()=>l.value,e=>{e||(x.value=[])}),(t,n)=>(w(),e(z,null,[b(N(pt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:R(()=>[b(Pr,{filters:N(p),"onUpdate:filters":n[0]||=e=>A(p)?p.value=e:null,"show-hidden":N(m),"onUpdate:showHidden":n[1]||=e=>A(m)?m.value=e:null,"filters-active":r.filtersActive,"selected-count":x.value.length,"bulk-actions":S.value,loading:r.loading,onResetFilters:n[2]||=e=>a(`reset-filters`),onAdjustList:n[3]||=e=>a(`adjust-list`),onBulkAction:ie},null,8,[`filters`,`show-hidden`,`filters-active`,`selected-count`,`bulk-actions`,`loading`])]),_:1}),i(`div`,{ref_key:`wrapper`,ref:d,class:`flex-grow overflow-hidden`},[b(N(pt),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:R(()=>[b(Jr,{filters:N(p),"onUpdate:filters":n[4]||=e=>A(p)?p.value=e:null,"sort-by":h.value,"onUpdate:sortBy":n[5]||=e=>h.value=e,"sort-dir":g.value,"onUpdate:sortDir":n[6]||=e=>g.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":y.value,onDetail:C,onEdit:T,onRemove:ee,onResetFilters:te,onSelectedChanges:k},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),i(`div`,{ref_key:`paginator`,ref:f,class:`flex justify-center w-full py-4`},[b(N(St),{"current-page":_.value,"onUpdate:currentPage":n[7]||=e=>_.value=e,"page-size":v.value,"onUpdate:pageSize":n[8]||=e=>v.value=e,layout:N(l)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:ne,onCurrentChange:O},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Xr={class:`px-2`},Zr={class:`px-2`},Qr={class:`px-2`},$r={class:`px-5 py-2 text-center`},ei=o(C({name:`ListDevicesAdjust`,__name:`list-devices-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(t,{emit:r}){let a=t,o=r,s=y(`list-devices-adjust`),{t:c}=D(),{options:l}=nn(),u=[V.connected,V.disconnected,V.init,V.ready,V.running,V.sleeping,V.stopped,V.lost,V.alert,V.unknown],d=Object.values(Qe),f=E([`types`,`states`,`enabled`,`categories`,`validation`]),p=W(a,`filters`,o);return(t,r)=>(w(),e(z,null,[b(N(Re),{teleport:``},{icon:R(()=>[b(N(n),{icon:`mdi:filter`})]),title:R(()=>[v(I(N(c)(`devicesModule.headings.devices.adjustFilters`)),1)]),subtitle:R(()=>[v(I(N(c)(`devicesModule.subHeadings.devices.adjustFilters`)),1)]),_:1}),i(`div`,{class:O([[N(s).b()],`flex flex-col h-full w-full overflow-hidden`])},[b(N(Le),{class:`flex-grow`},{default:R(()=>[b(N(yt),{modelValue:f.value,"onUpdate:modelValue":r[5]||=e=>f.value=e},{default:R(()=>[b(N(vt),{name:`types`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.devices.types.title`)),1)]),_:1})]),default:R(()=>[b(N(mt),{modelValue:N(p).types,"onUpdate:modelValue":r[0]||=e=>N(p).types=e,class:`flex flex-col px-4`},{default:R(()=>[(w(!0),e(z,null,M(N(l),e=>(w(),S(N(ht),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),b(N(vt),{name:`states`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.devices.states.title`)),1)]),_:1})]),default:R(()=>[b(N(mt),{modelValue:N(p).states,"onUpdate:modelValue":r[1]||=e=>N(p).states=e,class:`flex flex-col px-4`},{default:R(()=>[(w(),e(z,null,M(u,(e,t)=>b(N(ht),{key:t,label:N(c)(`devicesModule.states.${e}`),value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),b(N(vt),{name:`enabled`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.devices.enabled.title`)),1)]),_:1})]),default:R(()=>[i(`div`,Xr,[b(N(_t),{modelValue:N(p).enabled,"onUpdate:modelValue":r[2]||=e=>N(p).enabled=e},{default:R(()=>[b(N(gt),{label:N(c)(`devicesModule.filters.devices.enabled.values.enabled`),value:`enabled`},null,8,[`label`]),b(N(gt),{label:N(c)(`devicesModule.filters.devices.enabled.values.disabled`),value:`disabled`},null,8,[`label`]),b(N(gt),{label:N(c)(`devicesModule.filters.devices.enabled.values.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),b(N(vt),{name:`categories`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.devices.category.title`)),1)]),_:1})]),default:R(()=>[i(`div`,Zr,[b(N(Q),{modelValue:N(p).categories,"onUpdate:modelValue":r[3]||=e=>N(p).categories=e,placeholder:N(c)(`devicesModule.filters.devices.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:R(()=>[(w(!0),e(z,null,M(N(d),(e,t)=>(w(),S(N($),{key:t,label:N(c)(`devicesModule.categories.devices.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),b(N(vt),{name:`validation`,class:O([N(s).e(`filter-item`)])},{title:R(()=>[b(N(H),{class:`!px-2`},{default:R(()=>[v(I(N(c)(`devicesModule.filters.devices.validation.title`)),1)]),_:1})]),default:R(()=>[i(`div`,Qr,[b(N(_t),{modelValue:N(p).validation,"onUpdate:modelValue":r[4]||=e=>N(p).validation=e},{default:R(()=>[b(N(gt),{label:N(c)(`devicesModule.validation.filter.valid`),value:`valid`},null,8,[`label`]),b(N(gt),{label:N(c)(`devicesModule.validation.filter.invalid`),value:`invalid`},null,8,[`label`]),b(N(gt),{label:N(c)(`devicesModule.validation.filter.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),i(`div`,$r,[b(N(P),{disabled:!a.filtersActive,onClick:r[6]||=e=>o(`reset-filters`)},{icon:R(()=>[b(N(n),{icon:`mdi:filter-remove`})]),default:R(()=>[v(` `+I(N(c)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-125871e6`]]),ti=C({name:`SelectDevicePlugin`,__name:`select-device-plugin`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,{t:a}=D(),{plugins:o,options:c}=nn(),l=E(r.modelValue),u=s(()=>o.value.find(e=>(e.elements??[]).some(e=>e.type===l.value))),d=s(()=>(u.value?.elements??[]).find(e=>e.type===l.value));return j(()=>l.value,e=>{i(`update:modelValue`,e)}),(t,n)=>(w(),e(z,null,[b(N(X),{label:N(a)(`devicesModule.fields.devices.plugin.title`),"label-position":`top`},{default:R(()=>[b(N(Q),{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,placeholder:N(a)(`devicesModule.fields.devices.plugin.placeholder`),name:`plugin`,filterable:``},{default:R(()=>[(w(!0),e(z,null,M(N(c),e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value,disabled:e.disabled},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),d.value?(w(),S(N(Z),{key:0,description:d.value.description??u.value?.description,closable:!1,"show-icon":``,type:`info`},null,8,[`description`])):F(``,!0)],64))}}),ni={key:2,class:`text-sm`},ri={key:4,class:`text-gray-400`},ii=C({name:`DeviceWizardCell`,__name:`device-wizard-cell`,props:{cell:{}},setup(t){return(n,r)=>t.cell?.render===`tag`&&t.cell.tooltip?(w(),S(N(it),{key:0,content:t.cell.tooltip,placement:`top`},{default:R(()=>[b(N(q),{size:`small`,type:t.cell.variant??`info`,effect:`plain`},{default:R(()=>[v(I(t.cell.value),1)]),_:1},8,[`type`])]),_:1},8,[`content`])):t.cell?.render===`tag`?(w(),S(N(q),{key:1,size:`small`,type:t.cell.variant??`info`,effect:`plain`},{default:R(()=>[v(I(t.cell.value),1)]),_:1},8,[`type`])):t.cell?.render===`code`?(w(),e(`code`,ni,I(t.cell.value),1)):t.cell?.render===`text`?(w(),e(`span`,{key:3,class:O(t.cell.muted?`text-gray-500`:void 0)},I(t.cell.value),3)):(w(),e(`span`,ri,` — `))}}),ai={"data-test-id":`wizard-inventory-summary`,class:`flex shrink-0 flex-wrap items-center gap-x-4 gap-y-1 text-xs`,"aria-live":`polite`},oi=C({name:`DeviceWizardInventorySummary`,__name:`device-wizard-inventory-summary`,props:{rows:{},visibleCount:{}},setup(t){let n=t,{t:r}=D(),i=s(()=>[{key:`found`,count:n.rows.length},{key:`adoptable`,count:n.rows.filter(e=>e.adoptable).length},{key:`alreadyAdded`,count:n.rows.filter(e=>e.status===`already_registered`).length},{key:`unsupported`,count:n.rows.filter(e=>e.status===`unsupported`).length},{key:`visible`,count:n.visibleCount}]);return(t,n)=>(w(),e(`div`,ai,[(w(!0),e(z,null,M(i.value,e=>(w(),S(N(H),{key:e.key,"data-test-id":`wizard-inventory-${e.key}`,size:`small`},{default:R(()=>[v(I(N(r)(`devicesModule.wizard.totals.${e.key}`,{count:e.count})),1)]),_:2},1032,[`data-test-id`]))),128))]))}}),si=(e,t)=>{let n=(e??``).toString(),r=(t??``).toString();return n.localeCompare(r,void 0,{numeric:!0,sensitivity:`base`})},ci={class:`flex flex-col gap-3 h-full overflow-hidden`},li={"data-test-id":`wizard-confirm-search`,class:`shrink-0`},ui={"data-test-id":`wizard-confirm-table-scroll`,class:`min-h-0 flex-1 overflow-x-auto overscroll-x-contain`},di={key:1,class:`font-medium`},fi={class:`text-sm`},pi={key:1},mi=25,hi=C({name:`DeviceWizardConfirmStep`,__name:`device-wizard-confirm-step`,props:{rows:{},summaryRows:{},columns:{},selected:{},nameByKey:{},categoryByKey:{},identifierLabel:{},confirmationMode:{}},emits:[`toggle-row`,`toggle-rows`,`update-name`,`update-category`],setup(t,{emit:n}){let r=t,a=n,{t:o}=D(),c=E(``),l=E(1),u=E(`name`),d=E(`ascending`),f=e=>{let t=r.categoryByKey[e.key]??e.suggestedCategory;return e.categoryOptions.find(e=>e.value===t)?.label??``},m=s(()=>{let e=c.value.trim().toLocaleLowerCase();return e.length===0?r.rows:r.rows.filter(t=>[t.label,t.subLabel,t.identifier,t.statusLabel??o(`devicesModule.wizard.statuses.${t.status}`),r.nameByKey[t.key],f(t),...Object.values(t.cells??{}).map(e=>e.value)].some(t=>t?.toLocaleLowerCase().includes(e)))}),h=s(()=>m.value.length>0&&m.value.every(e=>r.selected[e.key]===!0)),g=s(()=>m.value.some(e=>r.selected[e.key]===!0)),_=s(()=>r.columns.filter(e=>e.steps.includes(`confirm`))),y=s(()=>_.value.reduce((e,t)=>e+(t.width??t.minWidth??150),900)),x=(e,t)=>si(r.nameByKey[e.key]??e.suggestedName,r.nameByKey[t.key]??t.suggestedName),C=(e,t)=>si(e.identifier,t.identifier),T=(e,t)=>{let n=!!e.willUpdate-+!!t.willUpdate;return n===0?si(e.identifier,t.identifier):n},ee=(e,t)=>si(f(e),f(t)),te=(e,t,n)=>si(t.cells?.[e]?.value,n.cells?.[e]?.value),ne=(e,t)=>u.value===`name`?x(e,t):u.value===`identifier`?C(e,t):u.value===`change`?T(e,t):u.value===`category`?ee(e,t):u.value===null?0:te(u.value,e,t),O=s(()=>{if(u.value===null||d.value===null)return m.value;let e=d.value===`ascending`?1:-1;return[...m.value].sort((t,n)=>e*ne(t,n))}),k=s(()=>{let e=(l.value-1)*mi;return O.value.slice(e,e+mi)});j(c,()=>{l.value=1}),j(()=>m.value.length,e=>{l.value=Math.min(l.value,Math.max(1,Math.ceil(e/mi)))});let re=({prop:e,order:t})=>{u.value=e,d.value=t,l.value=1};return(n,r)=>(w(),e(`div`,ci,[i(`div`,li,[b(N(K),{modelValue:c.value,"onUpdate:modelValue":r[0]||=e=>c.value=e,placeholder:N(o)(`devicesModule.fields.devices.search.placeholder`),clearable:``},null,8,[`modelValue`,`placeholder`])]),b(oi,{rows:t.summaryRows,"visible-count":m.value.length},null,8,[`rows`,`visible-count`]),i(`div`,ui,[b(N(ut),{data:k.value,class:`h-full w-full`,style:p({minWidth:`${y.value}px`}),"table-layout":`fixed`,"empty-text":N(o)(`devicesModule.wizard.texts.noSelection`),"default-sort":{prop:`name`,order:`ascending`},onSortChange:re},{default:R(()=>[b(N(Y),{width:`60`},{header:R(()=>[b(N(ht),{"model-value":h.value,indeterminate:g.value&&!h.value,disabled:m.value.length===0,onChange:r[1]||=e=>a(`toggle-rows`,m.value.map(e=>e.key),e===!0)},null,8,[`model-value`,`indeterminate`,`disabled`])]),default:R(({row:e})=>[b(N(ht),{"model-value":t.selected[e.key]===!0,onChange:t=>a(`toggle-row`,e.key,t===!0)},null,8,[`model-value`,`onChange`])]),_:1}),b(N(Y),{prop:`name`,label:N(o)(`devicesModule.wizard.columns.name`),"min-width":`220`,sortable:`custom`},{default:R(({row:n})=>[t.confirmationMode===`editable`?(w(),S(N(K),{key:0,"model-value":t.nameByKey[n.key]??``,"onUpdate:modelValue":e=>a(`update-name`,n.key,e)},null,8,[`model-value`,`onUpdate:modelValue`])):(w(),e(`span`,di,I(t.nameByKey[n.key]??n.suggestedName),1))]),_:1},8,[`label`]),b(N(Y),{prop:`identifier`,label:t.identifierLabel,"min-width":`150`,sortable:`custom`},{default:R(({row:e})=>[i(`code`,fi,I(e.identifier),1)]),_:1},8,[`label`]),b(N(Y),{prop:`change`,label:N(o)(`devicesModule.wizard.columns.change`),width:`170`,sortable:`custom`},{default:R(({row:e})=>[b(N(q),{size:`small`,type:e.willUpdate?`warning`:`success`},{default:R(()=>[v(I(e.willUpdate?N(o)(`devicesModule.wizard.statuses.willUpdate`):N(o)(`devicesModule.wizard.statuses.willCreate`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),b(N(Y),{prop:`category`,label:N(o)(`devicesModule.wizard.columns.category`),"min-width":`240`,sortable:`custom`},{default:R(({row:n})=>[t.confirmationMode===`editable`?(w(),S(N(Q),{key:0,"model-value":t.categoryByKey[n.key]??null,filterable:``,"onUpdate:modelValue":e=>a(`update-category`,n.key,e)},{default:R(()=>[(w(!0),e(z,null,M(n.categoryOptions,e=>(w(),S(N($),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`onUpdate:modelValue`])):(w(),e(`span`,pi,I(f(n)),1))]),_:1},8,[`label`]),(w(!0),e(z,null,M(_.value,e=>(w(),S(N(Y),{key:e.key,prop:e.key,label:e.label,width:e.width,"min-width":e.minWidth,sortable:e.sortable?`custom`:!1},{default:R(({row:t})=>[b(ii,{cell:t.cells?.[e.key]},null,8,[`cell`])]),_:2},1032,[`prop`,`label`,`width`,`min-width`,`sortable`]))),128))]),_:1},8,[`data`,`style`,`empty-text`])]),m.value.length>mi?(w(),S(N(St),{key:0,"current-page":l.value,"onUpdate:currentPage":r[2]||=e=>l.value=e,"data-test-id":`wizard-confirm-pagination`,class:`shrink-0 justify-center`,layout:`prev, pager, next`,"page-size":mi,"pager-count":5,total:m.value.length},null,8,[`current-page`,`total`])):F(``,!0)]))}}),gi=e=>e===`ready`?`success`:e===`checking`||e===`already_registered`?`info`:e===`needs_credentials`||e===`needs_attention`||e===`unsupported`?`warning`:`danger`,_i=e=>e===`created`?`success`:e===`updated`||e===`skipped`?`info`:`danger`,vi=[`element-loading-text`],yi={class:`flex flex-col gap-2`},bi={key:0,class:`flex min-w-0 flex-col gap-3 shrink-0`},xi=[`data-test-id`],Si=[`data-test-id`],Ci={"data-test-id":`wizard-discover-search`,class:`shrink-0`},wi={"data-test-id":`wizard-discover-table-scroll`,class:`min-h-0 flex-1 overflow-x-auto overscroll-x-contain`},Ti={class:`flex flex-col`},Ei={class:`font-medium`},Di={key:0,class:`text-xs text-gray-500`},Oi={class:`text-sm`},ki=25,Ai=C({name:`DeviceWizardDiscoverStep`,__name:`device-wizard-discover-step`,props:{rows:{},columns:{},controls:{},identifierLabel:{},ready:{type:Boolean}},setup(t){let r=t,{t:a}=D(),o=E(``),c=E(1),l=E(null),u=E(null),d=s(()=>{let e=o.value.trim().toLocaleLowerCase();return e.length===0?r.rows:r.rows.filter(t=>[t.label,t.subLabel,t.identifier,t.statusLabel??a(`devicesModule.wizard.statuses.${t.status}`),...Object.values(t.cells??{}).map(e=>e.value)].some(t=>t?.toLocaleLowerCase().includes(e)))}),f=s(()=>r.controls.filter(e=>e.type===`banner`)),m=s(()=>r.controls.filter(e=>e.type===`progress`)),h=s(()=>r.controls.filter(e=>e.type===`form`)),g=s(()=>r.columns.filter(e=>e.steps.includes(`discover`))),_=s(()=>g.value.reduce((e,t)=>e+(t.width??t.minWidth??150),680)),y=oe({});j(h,e=>{for(let t of e)y[t.id]===void 0&&(y[t.id]=Object.fromEntries(t.fields.map(e=>[e.key,``])))},{immediate:!0});let x=async e=>{try{await e.handler({...y[e.id]}),y[e.id]=Object.fromEntries(e.fields.map(e=>[e.key,``]))}catch{}},C=(e,t)=>si(e.label,t.label),T=(e,t)=>si(e.identifier,t.identifier),ee=(e,t)=>{let n=!e.adoptable-+!t.adoptable;return n===0?si(e.identifier,t.identifier):n},te=(e,t,n)=>si(t.cells?.[e]?.value,n.cells?.[e]?.value),ne=(e,t)=>l.value===`name`?C(e,t):l.value===`identifier`?T(e,t):l.value===`status`?ee(e,t):l.value===null?0:te(l.value,e,t),k=s(()=>{if(l.value===null||u.value===null)return d.value;let e=u.value===`ascending`?1:-1;return[...d.value].sort((t,n)=>e*ne(t,n))}),re=s(()=>{let e=(c.value-1)*ki;return k.value.slice(e,e+ki)});j(o,()=>{c.value=1}),j(()=>d.value.length,e=>{c.value=Math.min(c.value,Math.max(1,Math.ceil(e/ki)))});let A=({prop:e,order:t})=>{l.value=e,u.value=t,c.value=1};return(r,s)=>{let l=ve(`router-link`);return ue((w(),e(`div`,{"element-loading-text":N(a)(`devicesModule.wizard.texts.loading`),"element-loading-background":`var(--el-bg-color-overlay)`,class:`flex flex-col gap-3 h-full overflow-hidden min-h-[200px]`},[(w(!0),e(z,null,M(f.value,e=>(w(),S(N(Z),{key:e.id,"data-test-id":`wizard-control-${e.id}`,type:e.severity,closable:!1,"show-icon":``,class:`shrink-0`},me({title:R(()=>[v(I(e.title),1)]),_:2},[e.message||e.link?{name:`default`,fn:R(()=>[i(`div`,yi,[e.message?(w(),S(N(H),{key:0},{default:R(()=>[v(I(e.message),1)]),_:2},1024)):F(``,!0),e.link?(w(),S(l,{key:1,to:e.link.to,class:`text-primary`},{default:R(()=>[v(I(e.link.label),1)]),_:2},1032,[`to`])):F(``,!0)])]),key:`0`}:void 0]),1032,[`data-test-id`,`type`]))),128)),m.value.length>0?(w(),e(`div`,bi,[(w(!0),e(z,null,M(m.value,t=>(w(),e(`div`,{key:t.id,"data-test-id":`wizard-control-${t.id}`,class:O([`flex min-w-0 flex-col gap-1`,{invisible:!t.visible}]),"aria-live":`polite`},[b(N(H),null,{default:R(()=>[v(I(t.label),1)]),_:2},1024),b(N(wt),{percentage:t.percentage,status:t.state},null,8,[`percentage`,`status`])],10,xi))),128))])):F(``,!0),(w(!0),e(z,null,M(h.value,t=>(w(),e(`div`,{key:t.id,"data-test-id":`wizard-control-${t.id}`,class:`shrink-0`},[b(N(dt),{"label-position":`top`,class:`grid gap-3 md:grid-cols-[repeat(auto-fit,minmax(0,1fr))_auto]`,onSubmit:B(e=>x(t),[`prevent`])},{default:R(()=>[(w(!0),e(z,null,M(t.fields,e=>(w(),S(N(X),{key:e.key,label:e.label,class:`mb-0!`},{default:R(()=>[b(N(K),{modelValue:y[t.id][e.key],"onUpdate:modelValue":n=>y[t.id][e.key]=n,placeholder:e.placeholder,name:e.key,"show-password":e.secret},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`name`,`show-password`])]),_:2},1032,[`label`]))),128)),b(N(X),{class:`mb-0! md:self-end`},{default:R(()=>[b(N(P),{type:`primary`,"native-type":`submit`,disabled:t.submitDisabled,loading:t.loading},me({default:R(()=>[v(` `+I(t.submitLabel),1)]),_:2},[t.submitIcon?{name:`icon`,fn:R(()=>[b(N(n),{icon:t.submitIcon},null,8,[`icon`])]),key:`0`}:void 0]),1032,[`disabled`,`loading`])]),_:2},1024)]),_:2},1032,[`onSubmit`])],8,Si))),128)),i(`div`,Ci,[b(N(K),{modelValue:o.value,"onUpdate:modelValue":s[0]||=e=>o.value=e,placeholder:N(a)(`devicesModule.fields.devices.search.placeholder`),clearable:``},null,8,[`modelValue`,`placeholder`])]),b(oi,{rows:t.rows,"visible-count":d.value.length},null,8,[`rows`,`visible-count`]),i(`div`,wi,[b(N(ut),{data:re.value,class:`h-full w-full`,style:p({minWidth:`${_.value}px`}),"table-layout":`fixed`,"empty-text":N(a)(`devicesModule.wizard.texts.empty`),onSortChange:A},{default:R(()=>[b(N(Y),{prop:`name`,label:N(a)(`devicesModule.wizard.columns.name`),"min-width":`200`,sortable:`custom`},{default:R(({row:t})=>[i(`div`,Ti,[i(`span`,Ei,I(t.label),1),t.subLabel?(w(),e(`span`,Di,I(t.subLabel),1)):F(``,!0)])]),_:1},8,[`label`]),b(N(Y),{prop:`identifier`,label:t.identifierLabel,"min-width":`150`,sortable:`custom`},{default:R(({row:e})=>[i(`code`,Oi,I(e.identifier),1)]),_:1},8,[`label`]),b(N(Y),{prop:`status`,label:N(a)(`devicesModule.wizard.columns.status`),width:`180`,sortable:`custom`},{default:R(({row:e})=>[b(N(q),{type:N(gi)(e.status)},{default:R(()=>[v(I(e.statusLabel??N(a)(`devicesModule.wizard.statuses.${e.status}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),(w(!0),e(z,null,M(g.value,e=>(w(),S(N(Y),{key:e.key,prop:e.key,label:e.label,width:e.width,"min-width":e.minWidth,sortable:e.sortable?`custom`:!1},{default:R(({row:t})=>[b(ii,{cell:t.cells?.[e.key]},null,8,[`cell`])]),_:2},1032,[`prop`,`label`,`width`,`min-width`,`sortable`]))),128))]),_:1},8,[`data`,`style`,`empty-text`])]),d.value.length>ki?(w(),S(N(St),{key:1,"current-page":c.value,"onUpdate:currentPage":s[1]||=e=>c.value=e,"data-test-id":`wizard-discover-pagination`,class:`shrink-0 justify-center`,layout:`prev, pager, next`,"page-size":ki,"pager-count":5,total:d.value.length},null,8,[`current-page`,`total`])):F(``,!0)],8,vi)),[[N(At),!t.ready]])}}}),ji={class:`flex flex-col gap-3 h-full overflow-hidden`},Mi={class:`font-medium`},Ni={class:`text-sm`},Pi={key:0,class:`text-red-500`},Fi={key:1,class:`text-gray-400`},Ii=C({name:`DeviceWizardResultsStep`,__name:`device-wizard-results-step`,props:{results:{},columns:{},identifierLabel:{}},setup(t){let n=t,{t:r}=D(),a=s(()=>n.results.some(e=>e.status===`failed`)),o=s(()=>n.columns.filter(e=>e.steps.includes(`results`))),c=s(()=>{let e=e=>e===`failed`?0:e===`created`?1:e===`updated`?2:3;return n.results.slice().sort((t,n)=>{let r=e(t.status)-e(n.status);return r===0?si(t.name,n.name):r})});return(n,s)=>(w(),e(`div`,ji,[b(N(Z),{title:a.value?N(r)(`devicesModule.wizard.texts.resultsFailed`):N(r)(`devicesModule.wizard.texts.resultsSuccess`),type:a.value?`warning`:`success`,closable:!1,"show-icon":``,class:`shrink-0`},null,8,[`title`,`type`]),b(N(ut),{data:c.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{default:R(()=>[b(N(Y),{label:N(r)(`devicesModule.wizard.columns.status`),width:`140`},{default:R(({row:e})=>[b(N(q),{type:N(_i)(e.status)},{default:R(()=>[v(I(N(r)(`devicesModule.wizard.statuses.${e.status}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),b(N(Y),{label:N(r)(`devicesModule.wizard.columns.name`),"min-width":`200`},{default:R(({row:e})=>[i(`span`,Mi,I(e.name),1)]),_:1},8,[`label`]),b(N(Y),{label:t.identifierLabel,"min-width":`150`},{default:R(({row:e})=>[i(`code`,Ni,I(e.identifier),1)]),_:1},8,[`label`]),b(N(Y),{label:N(r)(`devicesModule.wizard.columns.error`),"min-width":`220`},{default:R(({row:t})=>[t.error?(w(),e(`span`,Pi,I(t.error),1)):(w(),e(`span`,Fi,` — `))]),_:1},8,[`label`]),(w(!0),e(z,null,M(o.value,e=>(w(),S(N(Y),{key:e.key,label:e.label,width:e.width,"min-width":e.minWidth},{default:R(({row:t})=>[b(ii,{cell:t.cells?.[e.key]},null,8,[`cell`])]),_:2},1032,[`label`,`width`,`min-width`]))),128))]),_:1},8,[`data`])]))}}),Li=e=>({id:`control-${e.id}`,label:e.label,variant:e.variant===`warning`?`warning`:`default`,icon:e.icon,disabled:e.disabled,loading:e.loading,handler:e.handler}),Ri=(e,t)=>{let{t:n}=t;if(e===`discover`)return[...t.actionControls.map(Li),{id:`cancel`,label:n(`devicesModule.wizard.actions.cancel`),variant:`link`,handler:t.onCancel},{id:`next`,label:n(`devicesModule.wizard.actions.next`),variant:`primary`,disabled:!t.hasAdoptable,handler:t.onNext}];if(e===`confirm`)return[{id:`back`,label:n(`devicesModule.wizard.actions.back`),variant:`default`,handler:t.onBack},{id:`cancel`,label:n(`devicesModule.wizard.actions.cancel`),variant:`link`,handler:t.onCancel},{id:`adopt`,label:n(`devicesModule.wizard.actions.adopt`),variant:`primary`,disabled:!t.canContinue,loading:t.busy,handler:t.onAdopt}];let r=[];return t.capabilities.addMore&&r.push({id:`addMore`,label:n(`devicesModule.wizard.actions.addMore`),variant:`default`,loading:t.busy,handler:t.onAddMore}),r.push({id:`done`,label:n(`devicesModule.wizard.actions.done`),variant:`primary`,handler:t.onDone}),r},zi={class:`flex items-center gap-2`},Bi={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},Vi={class:`p-4 max-h-full box-border flex flex-col gap-3 overflow-hidden`},Hi={key:0,class:`flex flex-wrap justify-end gap-2 p-4 border-t border-t-solid`},Ui=C({name:`DeviceWizard`,__name:`device-wizard`,props:{adapterFactory:{type:Function}},setup(t){let r=t,{t:a}=D(),o=Te(),{isMDDevice:u,isLGDevice:d}=lt(),f=r.adapterFactory(),{activeStep:p,activeStepIndex:m,selected:h,nameByKey:g,categoryByKey:_,adoptableRows:y,canContinue:x,toggleRows:C,reconcile:T,reset:E,buildSelection:ee}=_n(f.rows);j(()=>f.sessionKey?.value??null,(e,t)=>{e!==null&&t!==null&&e!==t&&E()}),j(f.rows,e=>{T(e)},{immediate:!0}),re(async()=>{try{await f.start()}catch{}}),c(async()=>{try{await f.dispose?.()}catch{}});let te=s(()=>[{label:a(`devicesModule.breadcrumbs.devices.list`),route:o.resolve({name:Pt.DEVICES})},{label:f.breadcrumbLabel,route:o.resolve({name:Pt.DEVICES_WIZARD,params:{type:f.pluginType}})}]),ne=()=>{d.value?o.replace({name:Pt.DEVICES}):o.push({name:Pt.DEVICES})},O=async()=>{try{await f.beforeLeaveDiscover?.()}catch{}p.value=`confirm`},k=()=>{p.value=`discover`},A=async()=>{try{await f.adopt(ee()),p.value=`results`}catch{}},ie=async()=>{E();try{await f.restart?.()}catch{}p.value=`discover`},ae=()=>{ne()},oe=s(()=>f.controls.value.filter(e=>e.type===`action`)),se=e=>e.variant===`primary`||e.variant===`warning`?e.variant:void 0,ce=s(()=>Ri(p.value,{t:a,capabilities:f.capabilities,canContinue:x.value,hasAdoptable:y.value.length>0,busy:f.busy.value,actionControls:oe.value,onCancel:ne,onBack:k,onNext:O,onAdopt:A,onAddMore:ie,onDone:ae})),le=(e,t)=>{h[e]=t},ue=(e,t)=>{g[e]=t},de=(e,t)=>{_[e]=t};return(t,r)=>(w(),e(z,null,[N(u)?F(``,!0):(w(),S(N(Re),{key:0,teleport:``},{icon:R(()=>[b(N(n),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:R(()=>[v(I(N(f).title),1)]),subtitle:R(()=>[v(I(N(f).subtitle),1)]),_:1})),N(u)?F(``,!0):(w(),S(N(je),{key:1,align:N(Ae).LEFT,teleport:``,small:``,onClick:ne},{icon:R(()=>[b(N(l),{size:24},{default:R(()=>[b(N(n),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),b(N(ot),{items:te.value},null,8,[`items`]),b(N(Ge),{heading:N(f).title,"sub-heading":N(f).subtitle,icon:`mdi:wizard-hat`},me({_:2},[N(u)?{name:`extra`,fn:R(()=>[i(`div`,zi,[(w(!0),e(z,null,M(ce.value,e=>(w(),S(N(P),{key:e.id,"data-test-id":`wizard-action-${e.id}`,link:e.variant===`link`,type:se(e),class:`px-4!`,disabled:e.disabled,loading:e.loading,onClick:e.handler},me({default:R(()=>[v(` `+I(e.label),1)]),_:2},[e.icon?{name:`icon`,fn:R(()=>[b(N(n),{icon:e.icon},null,8,[`icon`])]),key:`0`}:void 0]),1032,[`data-test-id`,`link`,`type`,`disabled`,`loading`,`onClick`]))),128))])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),i(`div`,Bi,[b(N(pt),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{header:R(()=>[b(N(Dt),{active:N(m),"finish-status":`success`,"align-center":``},{default:R(()=>[b(N(Ot),{title:N(a)(`devicesModule.wizard.steps.discover`)},null,8,[`title`]),b(N(Ot),{title:N(a)(`devicesModule.wizard.steps.confirm`)},null,8,[`title`]),b(N(Ot),{title:N(a)(`devicesModule.wizard.steps.results`)},null,8,[`title`])]),_:1},8,[`active`])]),default:R(()=>[i(`div`,Vi,[N(p)===`discover`?(w(),S(Ai,{key:0,"data-test-id":`wizard-step-discover`,rows:N(f).rows.value,columns:N(f).columns,controls:N(f).controls.value,"identifier-label":N(f).identifierLabel,ready:N(f).ready.value},null,8,[`rows`,`columns`,`controls`,`identifier-label`,`ready`])):N(p)===`confirm`?(w(),S(hi,{key:1,"data-test-id":`wizard-step-confirm`,rows:N(y),"summary-rows":N(f).rows.value,columns:N(f).columns,selected:N(h),"name-by-key":N(g),"category-by-key":N(_),"identifier-label":N(f).identifierLabel,"confirmation-mode":N(f).confirmationMode??`editable`,onToggleRow:le,onToggleRows:N(C),onUpdateName:ue,onUpdateCategory:de},null,8,[`rows`,`summary-rows`,`columns`,`selected`,`name-by-key`,`category-by-key`,`identifier-label`,`confirmation-mode`,`onToggleRows`])):(w(),S(Ii,{key:2,"data-test-id":`wizard-step-results`,results:N(f).results.value,columns:N(f).columns,"identifier-label":N(f).identifierLabel},null,8,[`results`,`columns`,`identifier-label`]))]),N(u)?F(``,!0):(w(),e(`div`,Hi,[(w(!0),e(z,null,M(ce.value,e=>(w(),S(N(P),{key:e.id,"data-test-id":`wizard-action-mobile-${e.id}`,link:e.variant===`link`,type:se(e),disabled:e.disabled,loading:e.loading,onClick:e.handler},me({default:R(()=>[v(` `+I(e.label),1)]),_:2},[e.icon?{name:`icon`,fn:R(()=>[b(N(n),{icon:e.icon},null,8,[`icon`])]),key:`0`}:void 0]),1032,[`data-test-id`,`link`,`type`,`disabled`,`loading`,`onClick`]))),128))]))]),_:1})])],64))}});export{Ln as C,gn as E,qn as S,Nn as T,nr as _,Mr as a,Qn as b,vr as c,mr as d,dr as f,rr as g,ir as h,Yr as i,gr as l,or as m,ti as n,Er as o,cr as p,ei as r,Cr as s,Ui as t,hr as u,er as v,Fn as w,Xn as x,$n as y};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{Ei as e,Er as t,Gr as n,Si as r,T as i,bi as a,ci as o,ki as s,n as c,yi as l}from"./icon-with-child-CgZMNB3F.js";import{In as u,_ as d,a as f,an as p,at as m,bt as h,er as g,f as _,gt as v,ht as y,in as b,it as x,jr as S,kn as C,l as w,la as T,m as E,nn as D,on as O,ot as k,p as A,pt as j,rn as M,s as N,st as P,x as F,yt as I}from"./common-D4Z2wgrj.js";import{r as L}from"./config-DAgVgX46.js";import{r as R}from"./usePlugins-CLZiBdYY.js";import{t as z}from"./schemas.utils-fK_cgNcT.js";import{t as B}from"./dist-DJgPCOr0.js";import{a as V,i as ee,n as H,o as U,r as W}from"./keys-DghNVBR5.js";import{a as G,i as te,n as ne}from"./devices.constants-HX5whDWr.js";import{t as re}from"./useDevicesPlugins-C5GU_Od9.js";import{s as ie}from"./system.constants-BvSIFqdm.js";import{n as ae}from"./logs-entries.transformers-Bp2zoFAY.js";var K=_(),q=class extends Error{exception;constructor(e,t=null){super(e),this.name=`DevicesException`,this.exception=t}},J=class extends q{code;constructor(e,t=null,n=null){super(e,n),this.name=`DevicesApiException`,this.code=t}},Y=class extends q{constructor(e,t=null){super(e,t),this.name=`DevicesValidationException`}},oe=()=>{let e=R(),{enabled:n}=L(),r=[`channelPropertyAddForm`,`channelPropertyEditForm`],i=[`channelPropertySchema`,`channelPropertyAddFormSchema`,`channelPropertyEditFormSchema`,`channelPropertyCreateReqSchema`,`channelPropertyUpdateReqSchema`],a=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`devices-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`devices-module`)))return!1;let t=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),n=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return t||n}):!1));return{plugins:a,options:t(()=>B(a.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`devices-module`)).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`devices-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`devices-module`)));if(n)return n}}}},se=()=>{let e=R(),{enabled:n}=L(),r=[`channelAddForm`,`channelEditForm`],i=[`channelSchema`,`channelAddFormSchema`,`channelEditFormSchema`,`channelCreateReqSchema`,`channelUpdateReqSchema`],a=t(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`devices-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`devices-module`)))return!1;let t=r.length===0||!!e.components&&r.some(t=>e.components&&t in e.components),n=i.length===0||!!e.schemas&&i.some(t=>e.schemas&&t in e.schemas);return t||n}):!1));return{plugins:a,options:t(()=>B(a.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`devices-module`)).map(t=>({value:t.type,label:t.name?.trim()?t.name:e.name,disabled:!n(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>a.value.find(t=>t.type===e),getByType:e=>a.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`devices-module`)))),getElement:e=>{for(let t of a.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`devices-module`)));if(n)return n}}}},ce=({id:e})=>{let n=F().getStore(W),{data:r,semaphore:i}=T(n);return{channel:t(()=>e===null?null:r.value[e]??null),isLoading:t(()=>i.value.fetching.item.includes(e)?!0:(r.value[e]??null)===null&&i.value.fetching.items.includes(`all`)),fetchChannel:async()=>{(r.value[e]??null)?.draft||await n.get({id:e})}}},le=(e={})=>{let{deviceId:n}=e,r=F().getStore(W),{firstLoad:i,semaphore:a}=T(r),o=n===void 0?void 0:typeof n==`string`?t(()=>n):n;return{channels:t(()=>r.findAll().filter(e=>!o?.value||e.device===o.value)),areLoading:t(()=>a.value.fetching.items.includes(o?.value??`all`)?!0:!i.value.includes(o?.value??`all`)&&a.value.fetching.items.includes(o?.value??`all`)),loaded:t(()=>i.value.includes(o?.value??`all`)),fetchChannels:async()=>{await r.fetch({deviceId:o?.value})}}},ue=v({search:I().optional(),types:k(I()),state:x([`all`,`offline`,`online`]).default(`all`),states:k(j(u)),categories:k(j(D)),enabled:x([`all`,`enabled`,`disabled`]).default(`all`),validation:x([`all`,`valid`,`invalid`]).default(`all`)}),de=v({search:I().optional(),devices:k(I()),categories:k(j(M))}),fe=v({search:I().optional(),channels:k(I()),categories:k(j(b)),permissions:k(j(O)),dataTypes:k(j(p))}),X={search:void 0,devices:[],categories:[]},pe={by:`name`,dir:`asc`},me=(e={})=>{let{deviceId:n}=e,i=F().getStore(W),{firstLoad:a,semaphore:s}=T(i),{filters:c,sort:l,pagination:u,reset:d}=N({key:`${ne}:channels:list`,filters:{schema:de,defaults:X},sort:{defaults:[pe]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),f=t(()=>c.value.search!==X.search||!(0,K.isEqual)(c.value.devices,X.devices)||!(0,K.isEqual)(c.value.categories,X.categories)),p=r(u.value.size||10),m=r(u.value.page||1),h=r(l.value.length>0?l.value[0]?.by:void 0),g=r(l.value.length>0?l.value[0]?.dir??null:null),_=t(()=>B(i.findAll().filter(e=>!n||e.device===n).filter(e=>!e.draft&&(!c.value.search||e.id.toLowerCase().includes(c.value.search.toLowerCase())||e.name.toLowerCase().includes(c.value.search.toLowerCase())||e.description?.toLowerCase().includes(c.value.search.toLowerCase())||e.identifier?.toLowerCase().includes(c.value.search.toLowerCase()))&&(c.value.categories.length===0||c.value.categories.includes(e.category))&&(c.value.devices.length===0||c.value.devices.includes(e.device))),[e=>e[h.value]??``],[g.value===`asc`?`asc`:`desc`])),v=t(()=>{let e=(m.value-1)*p.value,t=e+p.value;return _.value.slice(e,t)}),y=async()=>{await i.fetch({deviceId:n})},b=t(()=>s.value.fetching.items.includes(n??`all`)?!0:!a.value.includes(n??`all`)&&s.value.fetching.items.includes(n??`all`)),x=t(()=>a.value.includes(n??`all`)),S=t(()=>i.findAll().filter(e=>!n||e.device===n).filter(e=>!e.draft).length);return o(()=>u.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),o(()=>m.value,e=>{u.value.page=e}),o(()=>p.value,e=>{u.value.size=e}),o(()=>g.value,e=>{h.value===void 0||e===null?l.value=[]:l.value=[{by:h.value,dir:e}]}),o(()=>h.value,e=>{e===void 0?l.value=[]:l.value=[{by:e,dir:g.value}]}),{channels:_,channelsPaginated:v,totalRows:S,areLoading:b,loaded:x,fetchChannels:y,filters:c,filtersActive:f,paginateSize:p,paginatePage:m,sortBy:h,sortDir:g,resetFilter:d}},he=()=>{let{t:e}=i(),t=A(),n=F().getStore(W),r=e=>n.findById(e);return{remove:async i=>{let a=r(i);if(a===null)throw new q(`Something went wrong, channel can't be loaded`);S.confirm(e(`devicesModule.texts.channels.confirmRemove`,{channel:a.name}),e(`devicesModule.headings.channels.remove`),{confirmButtonText:e(`devicesModule.buttons.yes.title`),cancelButtonText:e(`devicesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await n.remove({id:a.id}),t.success(e(`devicesModule.messages.channels.removed`,{channel:a.name}))}catch(n){if(n instanceof J&&n.code===404){let n=e(`devicesModule.messages.channels.notFound`,{channel:a.name});t.error(n)}else if(n instanceof J&&n.code===422)t.error(n.message);else{let n=e(`devicesModule.messages.channels.notRemoved`,{channel:a.name});t.error(n)}}}).catch(()=>{t.info(e(`devicesModule.messages.channels.removeCanceled`,{channel:a.name}))})}}},ge=({id:e})=>{let n=F().getStore(W);return{icon:t(()=>{switch(n.findById(e)?.category){default:return`mdi:chip`}})}},_e={air_quality:{category:`air_quality`,constraints:{oneOrMoreOf:[[`aqi`,`level`]]},properties:{aqi:{category:`aqi`,required:!1,permissions:[`ro`],data_type:`ushort`,unit:null,format:[0,500]},level:{category:`level`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`excellent`,`good`,`fair`,`inferior`,`poor`,`unknown`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},air_particulate:{category:`air_particulate`,constraints:{oneOrMoreOf:[[`detected`,`concentration`]]},properties:{detected:{category:`detected`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},concentration:{category:`concentration`,required:!1,permissions:[`ro`],data_type:`float`,unit:`µg/m³`,format:[0,1e3]},mode:{category:`mode`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`pm1`,`pm2_5`,`pm10`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},carbon_dioxide:{category:`carbon_dioxide`,constraints:{oneOrMoreOf:[[`detected`,`concentration`]]},properties:{detected:{category:`detected`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},concentration:{category:`concentration`,required:!1,permissions:[`ro`],data_type:`float`,unit:`ppm`,format:[0,1e5]},peak_level:{category:`peak_level`,required:!1,permissions:[`ro`],data_type:`float`,unit:`ppm`,format:[0,1e5]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},carbon_monoxide:{category:`carbon_monoxide`,constraints:{oneOrMoreOf:[[`detected`,`concentration`]]},properties:{detected:{category:`detected`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},concentration:{category:`concentration`,required:!1,permissions:[`ro`],data_type:`float`,unit:`ppm`,format:[0,100]},peak_level:{category:`peak_level`,required:!1,permissions:[`ro`],data_type:`float`,unit:`ppm`,format:[0,100]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},flow:{category:`flow`,properties:{rate:{category:`rate`,required:!0,permissions:[`ro`],data_type:`float`,unit:`m³/h`,format:[0,65533]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},humidity:{category:`humidity`,properties:{humidity:{category:`humidity`,required:!0,permissions:[`ro`],data_type:`uchar`,unit:`%`,format:[0,100]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},illuminance:{category:`illuminance`,properties:{illuminance:{category:`illuminance`,required:!0,permissions:[`ro`],data_type:`float`,unit:`lx`,format:[0,1e5]},level:{category:`level`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`bright`,`moderate`,`dusky`,`dark`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},nitrogen_dioxide:{category:`nitrogen_dioxide`,constraints:{oneOrMoreOf:[[`detected`,`concentration`]]},properties:{detected:{category:`detected`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},concentration:{category:`concentration`,required:!1,permissions:[`ro`],data_type:`float`,unit:`µg/m³`,format:[0,1e5]},mode:{category:`mode`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`annual`,`1_hour`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},ozone:{category:`ozone`,constraints:{oneOrMoreOf:[[`detected`,`concentration`,`level`]],oneOf:[[`concentration`,`level`]]},properties:{detected:{category:`detected`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},concentration:{category:`concentration`,required:!1,permissions:[`ro`],data_type:`float`,unit:`µg/m³`,format:[0,1e5]},level:{category:`level`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`low`,`medium`,`high`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},pressure:{category:`pressure`,properties:{pressure:{category:`pressure`,required:!0,permissions:[`ro`],data_type:`float`,unit:`kPa`,format:[0,32767]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},sulphur_dioxide:{category:`sulphur_dioxide`,properties:{detected:{category:`detected`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},concentration:{category:`concentration`,required:!0,permissions:[`ro`],data_type:`float`,unit:`µg/m³`,format:[0,1e5]},level:{category:`level`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`low`,`medium`,`high`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},temperature:{category:`temperature`,properties:{temperature:{category:`temperature`,required:!0,permissions:[`ro`],data_type:`float`,unit:`°C`,format:[0,100]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},volatile_organic_compounds:{category:`volatile_organic_compounds`,constraints:{oneOrMoreOf:[[`detected`,`concentration`,`level`]],oneOf:[[`concentration`,`level`]]},properties:{detected:{category:`detected`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},concentration:{category:`concentration`,required:!1,permissions:[`ro`],data_type:`float`,unit:`µg/m³`,format:[0,1e3]},level:{category:`level`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`low`,`medium`,`high`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},alarm:{category:`alarm`,properties:{state:{category:`state`,required:!0,permissions:[`rw`],data_type:`enum`,unit:null,format:[`disarmed`,`armed_home`,`armed_away`,`armed_night`]},alarm_state:{category:`alarm_state`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`idle`,`pending`,`triggered`,`silenced`]},triggered:{category:`triggered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},siren:{category:`siren`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},fault_description:{category:`fault_description`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},last_event:{category:`last_event`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null}}},contact:{category:`contact`,properties:{detected:{category:`detected`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},gas:{category:`gas`,properties:{detected:{category:`detected`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},status:{category:`status`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`normal`,`warning`,`alarm`]},concentration:{category:`concentration`,required:!1,permissions:[`ro`],data_type:`uint`,unit:`ppm`,format:[0,65535]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},leak:{category:`leak`,properties:{detected:{category:`detected`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},level:{category:`level`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`low`,`medium`,`high`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},lock:{category:`lock`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},status:{category:`status`,required:!0,permissions:[`rw`],data_type:`enum`,unit:null,format:[`locked`,`unlocked`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},motion:{category:`motion`,properties:{detected:{category:`detected`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},distance:{category:`distance`,required:!1,permissions:[`ro`],data_type:`float`,unit:`m`,format:[0,100]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},occupancy:{category:`occupancy`,properties:{detected:{category:`detected`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},distance:{category:`distance`,required:!1,permissions:[`ro`],data_type:`float`,unit:`m`,format:[0,100]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},smoke:{category:`smoke`,properties:{detected:{category:`detected`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},cooler:{category:`cooler`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},temperature:{category:`temperature`,required:!0,permissions:[`rw`],data_type:`float`,unit:`°C`,format:[0,100]},status:{category:`status`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},dehumidifier:{category:`dehumidifier`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},humidity:{category:`humidity`,required:!0,permissions:[`rw`],data_type:`uchar`,unit:`%`,format:[0,100]},mode:{category:`mode`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`auto`,`manual`,`continuous`,`laundry`,`quiet`]},status:{category:`status`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`idle`,`dehumidifying`,`defrosting`]},water_tank_full:{category:`water_tank_full`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},water_tank_level:{category:`water_tank_level`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:`%`,format:[0,100]},defrost_active:{category:`defrost_active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},timer:{category:`timer`,required:!1,permissions:[`rw`],data_types:[{id:`duration`,data_type:`ushort`,unit:`s`,format:[0,86400],step:60,description:{en:`Timer duration in seconds (0-86400)`}},{id:`preset`,data_type:`enum`,format:[`off`,`30m`,`1h`,`2h`,`4h`,`8h`,`12h`],description:{en:`Preset timer intervals`}}]},locked:{category:`locked`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},door:{category:`door`,properties:{obstruction:{category:`obstruction`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},status:{category:`status`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`opened`,`closed`,`opening`,`closing`,`stopped`]},position:{category:`position`,required:!0,permissions:[`rw`],data_type:`enum`,unit:null,format:[`open`,`close`,`stop`]},type:{category:`type`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`door`,`garage`]},percentage:{category:`percentage`,required:!1,permissions:[`rw`],data_type:`uchar`,unit:null,format:[0,100]},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},fan:{category:`fan`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},swing:{category:`swing`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},speed:{category:`speed`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Speed as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`off`,`low`,`medium`,`high`,`turbo`,`auto`],description:{en:`Speed as discrete levels`}}]},mode:{category:`mode`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`auto`,`manual`,`eco`,`sleep`,`natural`,`turbo`]},direction:{category:`direction`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`clockwise`,`counter_clockwise`]},natural_breeze:{category:`natural_breeze`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},timer:{category:`timer`,required:!1,permissions:[`rw`],data_types:[{id:`duration`,data_type:`ushort`,unit:`s`,format:[0,86400],step:60,description:{en:`Timer duration in seconds (0-86400)`}},{id:`preset`,data_type:`enum`,format:[`off`,`30m`,`1h`,`2h`,`4h`,`8h`,`12h`],description:{en:`Preset timer intervals`}}]},locked:{category:`locked`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null}}},heater:{category:`heater`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},temperature:{category:`temperature`,required:!0,permissions:[`rw`],data_type:`float`,unit:`°C`,format:[0,100]},status:{category:`status`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},position:{category:`position`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Position as percentage (0-100%)`}},{id:`state`,data_type:`enum`,format:[`closed`,`quarter`,`half`,`three_quarter`,`open`],description:{en:`Position as discrete states`}}]}}},humidifier:{category:`humidifier`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},humidity:{category:`humidity`,required:!0,permissions:[`rw`],data_type:`uchar`,unit:`%`,format:[0,100]},mode:{category:`mode`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`auto`,`manual`,`sleep`,`baby`]},status:{category:`status`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`idle`,`humidifying`]},mist_level:{category:`mist_level`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Mist level as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`off`,`low`,`medium`,`high`],description:{en:`Mist level as discrete levels`}}]},warm_mist:{category:`warm_mist`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},water_tank_empty:{category:`water_tank_empty`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},water_tank_level:{category:`water_tank_level`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:`%`,format:[0,100]},timer:{category:`timer`,required:!1,permissions:[`rw`],data_types:[{id:`duration`,data_type:`ushort`,unit:`s`,format:[0,86400],step:60,description:{en:`Timer duration in seconds (0-86400)`}},{id:`preset`,data_type:`enum`,format:[`off`,`30m`,`1h`,`2h`,`4h`,`8h`,`12h`],description:{en:`Preset timer intervals`}}]},locked:{category:`locked`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},light:{category:`light`,constraints:{mutuallyExclusiveGroups:[[[`color_red`,`color_green`,`color_blue`],[`hue`,`saturation`]]]},properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},brightness:{category:`brightness`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Brightness as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`off`,`low`,`medium`,`high`,`full`],description:{en:`Brightness as discrete levels`}}]},color_red:{category:`color_red`,required:!1,permissions:[`rw`],data_type:`uchar`,unit:null,format:[0,255]},color_green:{category:`color_green`,required:!1,permissions:[`rw`],data_type:`uchar`,unit:null,format:[0,255]},color_blue:{category:`color_blue`,required:!1,permissions:[`rw`],data_type:`uchar`,unit:null,format:[0,255]},color_white:{category:`color_white`,required:!1,permissions:[`rw`],data_type:`uchar`,unit:null,format:[0,255]},color_temperature:{category:`color_temperature`,required:!1,permissions:[`rw`],data_type:`ushort`,unit:`K`,format:[2e3,1e4]},hue:{category:`hue`,required:!1,permissions:[`rw`],data_type:`ushort`,unit:`deg`,format:[0,360]},saturation:{category:`saturation`,required:!1,permissions:[`rw`],data_type:`uchar`,unit:`%`,format:[0,100]}}},outlet:{category:`outlet`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},in_use:{category:`in_use`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},robot_vacuum:{category:`robot_vacuum`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},status:{category:`status`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`idle`,`cleaning`,`vacuuming`,`mopping`,`docking`,`charging`]},mode:{category:`mode`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`auto`,`spot`,`manual`]},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},switcher:{category:`switcher`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},child_lock:{category:`child_lock`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},timer:{category:`timer`,required:!1,permissions:[`rw`],data_types:[{id:`duration`,data_type:`ushort`,unit:`s`,format:[0,86400],step:60,description:{en:`Timer duration in seconds (0-86400)`}},{id:`preset`,data_type:`enum`,format:[`off`,`30m`,`1h`,`2h`,`4h`,`8h`,`12h`],description:{en:`Preset timer intervals`}}]}}},thermostat:{category:`thermostat`,properties:{locked:{category:`locked`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null}}},valve:{category:`valve`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},type:{category:`type`,required:!0,permissions:[`rw`],data_type:`enum`,unit:null,format:[`generic`,`irrigation`,`shower_head`,`water_faucet`]},duration:{category:`duration`,required:!1,permissions:[`rw`],data_type:`ushort`,unit:`s`,format:[0,3600]},remaining:{category:`remaining`,required:!1,permissions:[`ro`],data_type:`ushort`,unit:`s`,format:[0,3600]},mode:{category:`mode`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`manual`,`scheduled`]},position:{category:`position`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Position as percentage (0-100%)`}},{id:`state`,data_type:`enum`,format:[`closed`,`quarter`,`half`,`three_quarter`,`open`],description:{en:`Position as discrete states`}}]},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},window_covering:{category:`window_covering`,properties:{status:{category:`status`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`opened`,`closed`,`opening`,`closing`,`stopped`]},position:{category:`position`,required:!0,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Position as percentage (0-100%)`}},{id:`state`,data_type:`enum`,format:[`closed`,`quarter`,`half`,`three_quarter`,`open`],description:{en:`Position as discrete states`}}]},type:{category:`type`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`curtain`,`roller`,`blind`,`venetian_blind`,`vertical_blind`,`shutter`,`outdoor_blind`,`awning`]},command:{category:`command`,required:!0,permissions:[`wo`],data_type:`enum`,unit:null,format:[`open`,`close`,`stop`]},obstruction:{category:`obstruction`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},tilt:{category:`tilt`,required:!1,permissions:[`rw`],data_type:`float`,unit:`°`,format:[-90,90]},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},battery:{category:`battery`,properties:{percentage:{category:`percentage`,required:!0,permissions:[`ro`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Battery as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`critical`,`low`,`medium`,`high`,`full`],description:{en:`Battery as discrete levels`}}]},status:{category:`status`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`ok`,`low`,`charging`]},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},electrical_energy:{category:`electrical_energy`,properties:{consumption:{category:`consumption`,required:!0,permissions:[`ro`],data_type:`float`,unit:`kWh`,format:[0,null],measurement_kind:`cumulative`,reset_behavior:`unknown`},average_power:{category:`average_power`,required:!1,permissions:[`ro`],data_type:`float`,unit:`W`,format:[0,1e5],measurement_kind:`interval_average`},grid_import:{category:`grid_import`,required:!1,permissions:[`ro`],data_type:`float`,unit:`kWh`,format:[0,null],measurement_kind:`cumulative`,reset_behavior:`unknown`},grid_export:{category:`grid_export`,required:!1,permissions:[`ro`],data_type:`float`,unit:`kWh`,format:[0,null],measurement_kind:`cumulative`,reset_behavior:`unknown`},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},electrical_generation:{category:`electrical_generation`,properties:{production:{category:`production`,required:!0,permissions:[`ro`],data_type:`float`,unit:`kWh`,format:[0,null],measurement_kind:`cumulative`,reset_behavior:`unknown`},power:{category:`power`,required:!1,permissions:[`ro`],data_type:`float`,unit:`W`,format:[0,1e5],measurement_kind:`instantaneous`},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},electrical_power:{category:`electrical_power`,properties:{power:{category:`power`,required:!0,permissions:[`ro`],data_type:`float`,unit:`W`,format:[0,1e4],measurement_kind:`instantaneous`},voltage:{category:`voltage`,required:!1,permissions:[`ro`],data_type:`float`,unit:`V`,format:[0,500],measurement_kind:`instantaneous`},current:{category:`current`,required:!1,permissions:[`ro`],data_type:`float`,unit:`A`,format:[0,100],measurement_kind:`instantaneous`},frequency:{category:`frequency`,required:!1,permissions:[`ro`],data_type:`float`,unit:`Hz`,format:[40,70],measurement_kind:`instantaneous`},over_current:{category:`over_current`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},over_voltage:{category:`over_voltage`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},over_power:{category:`over_power`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},camera:{category:`camera`,properties:{status:{category:`status`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`available`,`in_use`,`unavailable`,`offline`,`initializing`,`error`]},source:{category:`source`,required:!0,permissions:[`ro`],data_type:`string`,unit:null,format:null},zoom:{category:`zoom`,required:!1,permissions:[`rw`],data_type:`float`,unit:null,format:[1,10]},pan:{category:`pan`,required:!1,permissions:[`rw`],data_type:`float`,unit:`°`,format:[-180,180]},tilt:{category:`tilt`,required:!1,permissions:[`rw`],data_type:`float`,unit:`°`,format:[-90,90]},infrared:{category:`infrared`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},doorbell:{category:`doorbell`,properties:{event:{category:`event`,required:!0,permissions:[`ro`],data_type:`enum`,unit:null,format:[`single_press`,`double_press`,`long_press`]},brightness:{category:`brightness`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Brightness as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`off`,`low`,`medium`,`high`,`full`],description:{en:`Brightness as discrete levels`}}]},tampered:{category:`tampered`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},media_input:{category:`media_input`,properties:{source:{category:`source`,required:!0,permissions:[`rw`],data_types:[{id:`standard`,data_type:`enum`,unit:null,format:`hdmi1.hdmi2.hdmi3.hdmi4.hdmi5.hdmi6.arc.earc.tv.cable.satellite.antenna.av1.av2.component.vga.dvi.usb.bluetooth.wifi.airplay.cast.dlna.miracast.app_netflix.app_youtube.app_spotify.app_prime_video.app_disney_plus.app_hbo_max.app_apple_tv.app_plex.app_kodi.other`.split(`.`),step:null,description:{en:`Standardized input/source identifier (recommended for UI).`}},{id:`custom`,data_type:`string`,unit:null,format:null,step:null,description:{en:`Integration-specific input/source value (fallback).`}}]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},source_label:{category:`source_label`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null}}},media_playback:{category:`media_playback`,properties:{status:{category:`status`,required:!0,permissions:[`rw`],data_type:`enum`,unit:null,format:[`playing`,`paused`,`stopped`]},track:{category:`track`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},duration:{category:`duration`,required:!1,permissions:[`ro`],data_type:`uint`,unit:`s`,format:[0,86400]},position:{category:`position`,required:!1,permissions:[`rw`],data_type:`uint`,unit:`s`,format:[0,86400]},shuffle:{category:`shuffle`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},repeat:{category:`repeat`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`off`,`one`,`all`]},command:{category:`command`,required:!1,permissions:[`wo`],data_type:`enum`,unit:null,format:[`play`,`pause`,`stop`,`next`,`previous`,`rewind`,`fast_forward`]},artist:{category:`artist`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},album:{category:`album`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},artwork_url:{category:`artwork_url`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},media_type:{category:`media_type`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`music`,`tvshow`,`movie`,`video`,`playlist`,`podcast`,`audiobook`,`radio`,`unknown`]}}},microphone:{category:`microphone`,properties:{active:{category:`active`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},volume:{category:`volume`,required:!1,permissions:[`ro`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Volume as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`mute`,`low`,`medium`,`high`,`max`],description:{en:`Volume as discrete levels`}}]}}},speaker:{category:`speaker`,properties:{active:{category:`active`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},volume:{category:`volume`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Volume as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`mute`,`low`,`medium`,`high`,`max`],description:{en:`Volume as discrete levels`}}]},mode:{category:`mode`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`stereo`,`mono`,`surround`]},mute:{category:`mute`,required:!1,permissions:[`rw`],data_type:`bool`,unit:null,format:null},balance:{category:`balance`,required:!1,permissions:[`rw`],data_type:`float`,unit:null,format:[-1,1]},bass:{category:`bass`,required:!1,permissions:[`rw`],data_type:`float`,unit:null,format:[-10,10]},treble:{category:`treble`,required:!1,permissions:[`rw`],data_type:`float`,unit:null,format:[-10,10]}}},television:{category:`television`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},brightness:{category:`brightness`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Brightness as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`off`,`low`,`medium`,`high`,`full`],description:{en:`Brightness as discrete levels`}}]},remote_key:{category:`remote_key`,required:!1,permissions:[`wo`],data_type:`enum`,unit:null,format:[`rewind`,`fast_forward`,`next`,`previous`,`arrow_up`,`arrow_down`,`arrow_left`,`arrow_right`,`select`,`back`,`exit`,`info`,`play`,`pause`]}}},projector:{category:`projector`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},brightness:{category:`brightness`,required:!1,permissions:[`rw`],data_types:[{id:`percentage`,data_type:`uchar`,unit:`%`,format:[0,100],step:1,description:{en:`Brightness as percentage (0-100%)`}},{id:`level`,data_type:`enum`,format:[`off`,`low`,`medium`,`high`,`full`],description:{en:`Brightness as discrete levels`}}]},remote_key:{category:`remote_key`,required:!1,permissions:[`wo`],data_type:`enum`,unit:null,format:[`rewind`,`fast_forward`,`next`,`previous`,`arrow_up`,`arrow_down`,`arrow_left`,`arrow_right`,`select`,`back`,`exit`,`info`,`play`,`pause`]}}},device_information:{category:`device_information`,properties:{manufacturer:{category:`manufacturer`,required:!0,permissions:[`ro`],data_type:`string`,unit:null,format:null},model:{category:`model`,required:!0,permissions:[`ro`],data_type:`string`,unit:null,format:null},serial_number:{category:`serial_number`,required:!0,permissions:[`ro`],data_type:`string`,unit:null,format:null},firmware_revision:{category:`firmware_revision`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},hardware_revision:{category:`hardware_revision`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},link_quality:{category:`link_quality`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:`%`,format:[0,100]},connection_type:{category:`connection_type`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`wired`,`wifi`,`zigbee`,`bluetooth`]},status:{category:`status`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`connected`,`disconnected`,`init`,`ready`,`running`,`sleeping`,`stopped`,`lost`,`alert`,`unknown`]},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},filter:{category:`filter`,properties:{life_remaining:{category:`life_remaining`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:`%`,format:[0,100]},status:{category:`status`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`good`,`replace_soon`,`replace_now`]},change_needed:{category:`change_needed`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},reset:{category:`reset`,required:!1,permissions:[`wo`],data_type:`bool`,unit:null,format:null},fault:{category:`fault`,required:!1,permissions:[`ro`],data_type:`uchar`,unit:null,format:[0,255]}}},button:{category:`button`,properties:{event:{category:`event`,required:!0,permissions:[`ev`],data_type:`enum`,unit:null,format:[`press`,`long_press`,`double_press`,`triple_press`,`down`,`up`]},detected:{category:`detected`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},binary_input:{category:`binary_input`,properties:{state:{category:`state`,required:!0,permissions:[`ro`],data_type:`bool`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},analog_input:{category:`analog_input`,properties:{value:{category:`value`,required:!0,permissions:[`ro`],data_type:`float`,unit:null,format:null},unit:{category:`unit`,required:!1,permissions:[`ro`],data_type:`string`,unit:null,format:null},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},indicator:{category:`indicator`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},brightness:{category:`brightness`,required:!1,permissions:[`rw`],data_type:`uchar`,unit:null,format:[0,255]},color:{category:`color_red`,required:!1,permissions:[`rw`],data_type:`enum`,unit:null,format:[`red`,`green`,`blue`,`yellow`,`white`,`off`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},buzzer:{category:`buzzer`,properties:{on:{category:`on`,required:!0,permissions:[`rw`],data_type:`bool`,unit:null,format:null},frequency:{category:`frequency`,required:!1,permissions:[`rw`],data_type:`uint`,unit:`Hz`,format:[100,1e4]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},accelerometer:{category:`accelerometer`,properties:{acceleration_x:{category:`acceleration_x`,required:!0,permissions:[`ro`],data_type:`float`,unit:`g`,format:[-16,16],step:.001},acceleration_y:{category:`acceleration_y`,required:!0,permissions:[`ro`],data_type:`float`,unit:`g`,format:[-16,16],step:.001},acceleration_z:{category:`acceleration_z`,required:!0,permissions:[`ro`],data_type:`float`,unit:`g`,format:[-16,16],step:.001},orientation:{category:`orientation`,required:!1,permissions:[`ro`],data_type:`enum`,unit:null,format:[`landscape`,`portrait`,`landscape_inverted`,`portrait_inverted`,`face_up`,`face_down`]},active:{category:`active`,required:!1,permissions:[`ro`],data_type:`bool`,unit:null,format:null}}},generic:{category:`generic`,properties:{generic:{category:`generic`,required:!1}}}},ve={generic:{category:`generic`,channels:{generic:{category:`generic`,required:!1,multiple:!0},device_information:{category:`device_information`,required:!0,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},air_conditioner:{category:`air_conditioner`,channels:{cooler:{category:`cooler`,required:!0,multiple:!1},fan:{category:`fan`,required:!0,multiple:!1},temperature:{category:`temperature`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},heater:{category:`heater`,required:!1,multiple:!1},humidity:{category:`humidity`,required:!1,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},filter:{category:`filter`,required:!1,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},air_dehumidifier:{category:`air_dehumidifier`,channels:{dehumidifier:{category:`dehumidifier`,required:!0,multiple:!1},humidity:{category:`humidity`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},fan:{category:`fan`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},temperature:{category:`temperature`,required:!1,multiple:!1}}},air_humidifier:{category:`air_humidifier`,channels:{humidifier:{category:`humidifier`,required:!0,multiple:!1},humidity:{category:`humidity`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},fan:{category:`fan`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},temperature:{category:`temperature`,required:!1,multiple:!1}}},air_purifier:{category:`air_purifier`,channels:{fan:{category:`fan`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},air_quality:{category:`air_quality`,required:!1,multiple:!1},filter:{category:`filter`,required:!1,multiple:!1},air_particulate:{category:`air_particulate`,required:!1,multiple:!1},carbon_dioxide:{category:`carbon_dioxide`,required:!1,multiple:!1},carbon_monoxide:{category:`carbon_monoxide`,required:!1,multiple:!1},humidity:{category:`humidity`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},nitrogen_dioxide:{category:`nitrogen_dioxide`,required:!1,multiple:!1},ozone:{category:`ozone`,required:!1,multiple:!1},pressure:{category:`pressure`,required:!1,multiple:!1},sulphur_dioxide:{category:`sulphur_dioxide`,required:!1,multiple:!1},temperature:{category:`temperature`,required:!1,multiple:!1},volatile_organic_compounds:{category:`volatile_organic_compounds`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1}}},thermostat:{category:`thermostat`,channels:{temperature:{category:`temperature`,required:!0,multiple:!1},thermostat:{category:`thermostat`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1},cooler:{category:`cooler`,required:!1,multiple:!1},heater:{category:`heater`,required:!1,multiple:!1},humidity:{category:`humidity`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},alarm:{category:`alarm`,channels:{alarm:{category:`alarm`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1}}},camera:{category:`camera`,channels:{camera:{category:`camera`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1},humidity:{category:`humidity`,required:!1,multiple:!1},light:{category:`light`,required:!1,multiple:!1},microphone:{category:`microphone`,required:!1,multiple:!1},motion:{category:`motion`,required:!1,multiple:!1},speaker:{category:`speaker`,required:!1,multiple:!1},temperature:{category:`temperature`,required:!1,multiple:!1}}},doorbell:{category:`doorbell`,channels:{doorbell:{category:`doorbell`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1},camera:{category:`camera`,required:!1,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1},light:{category:`light`,required:!1,multiple:!1},lock:{category:`lock`,required:!1,multiple:!1},microphone:{category:`microphone`,required:!1,multiple:!1},motion:{category:`motion`,required:!1,multiple:!1},speaker:{category:`speaker`,required:!1,multiple:!1}}},door:{category:`door`,channels:{door:{category:`door`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1},lock:{category:`lock`,required:!1,multiple:!1},motion:{category:`motion`,required:!1,multiple:!1}}},lock:{category:`lock`,channels:{lock:{category:`lock`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1},motion:{category:`motion`,required:!1,multiple:!1}}},fan:{category:`fan`,channels:{fan:{category:`fan`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},heating_unit:{category:`heating_unit`,channels:{heater:{category:`heater`,required:!0,multiple:!1},temperature:{category:`temperature`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},humidity:{category:`humidity`,required:!1,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1}}},water_heater:{category:`water_heater`,channels:{heater:{category:`heater`,required:!0,multiple:!1},temperature:{category:`temperature`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1}}},input_controller:{category:`input_controller`,constraints:{oneOrMoreOf:[[`button`,`binary_input`,`analog_input`]]},channels:{device_information:{category:`device_information`,required:!0,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0},battery:{category:`battery`,required:!1,multiple:!1}}},lighting:{category:`lighting`,channels:{light:{category:`light`,required:!0,multiple:!0},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},illuminance:{category:`illuminance`,required:!1,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},outlet:{category:`outlet`,channels:{outlet:{category:`outlet`,required:!0,multiple:!0},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},pump:{category:`pump`,channels:{flow:{category:`flow`,required:!1,multiple:!1},switcher:{category:`switcher`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},pressure:{category:`pressure`,required:!1,multiple:!1}}},sprinkler:{category:`sprinkler`,channels:{valve:{category:`valve`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},flow:{category:`flow`,required:!1,multiple:!1},humidity:{category:`humidity`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},pressure:{category:`pressure`,required:!1,multiple:!1}}},switcher:{category:`switcher`,constraints:{oneOrMoreOf:[[`outlet`,`switcher`]],mutuallyExclusiveGroups:[[[`outlet`],[`switcher`]]]},channels:{outlet:{category:`outlet`,required:!1,multiple:!0},switcher:{category:`switcher`,required:!1,multiple:!0},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},valve:{category:`valve`,channels:{valve:{category:`valve`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},flow:{category:`flow`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},pressure:{category:`pressure`,required:!1,multiple:!1}}},window_covering:{category:`window_covering`,channels:{window_covering:{category:`window_covering`,required:!0,multiple:!0},device_information:{category:`device_information`,required:!0,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},button:{category:`button`,required:!1,multiple:!0},binary_input:{category:`binary_input`,required:!1,multiple:!0},analog_input:{category:`analog_input`,required:!1,multiple:!0}}},media:{category:`media`,channels:{switcher:{category:`switcher`,required:!1,multiple:!1},media_input:{category:`media_input`,required:!1,multiple:!1},media_playback:{category:`media_playback`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},microphone:{category:`microphone`,required:!1,multiple:!1},speaker:{category:`speaker`,required:!1,multiple:!1}}},speaker:{category:`speaker`,channels:{switcher:{category:`switcher`,required:!1,multiple:!1},speaker:{category:`speaker`,required:!0,multiple:!0},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},media_input:{category:`media_input`,required:!1,multiple:!1},media_playback:{category:`media_playback`,required:!1,multiple:!1}}},television:{category:`television`,channels:{speaker:{category:`speaker`,required:!0,multiple:!1},television:{category:`television`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},media_playback:{category:`media_playback`,required:!1,multiple:!1},media_input:{category:`media_input`,required:!1,multiple:!1}}},projector:{category:`projector`,channels:{projector:{category:`projector`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},speaker:{category:`speaker`,required:!1,multiple:!1},media_playback:{category:`media_playback`,required:!1,multiple:!1},media_input:{category:`media_input`,required:!1,multiple:!1}}},av_receiver:{category:`av_receiver`,channels:{switcher:{category:`switcher`,required:!1,multiple:!1},speaker:{category:`speaker`,required:!0,multiple:!0},media_input:{category:`media_input`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},media_playback:{category:`media_playback`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1}}},set_top_box:{category:`set_top_box`,channels:{switcher:{category:`switcher`,required:!1,multiple:!1},media_playback:{category:`media_playback`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},media_input:{category:`media_input`,required:!1,multiple:!1},speaker:{category:`speaker`,required:!1,multiple:!1}}},game_console:{category:`game_console`,channels:{switcher:{category:`switcher`,required:!1,multiple:!1},media_playback:{category:`media_playback`,required:!1,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1}}},streaming_service:{category:`streaming_service`,channels:{media_playback:{category:`media_playback`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1}}},robot_vacuum:{category:`robot_vacuum`,channels:{battery:{category:`battery`,required:!0,multiple:!1},robot_vacuum:{category:`robot_vacuum`,required:!0,multiple:!1},device_information:{category:`device_information`,required:!0,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},filter:{category:`filter`,required:!1,multiple:!1}}},sensor:{category:`sensor`,channels:{device_information:{category:`device_information`,required:!0,multiple:!1},air_particulate:{category:`air_particulate`,required:!1,multiple:!1},battery:{category:`battery`,required:!1,multiple:!1},carbon_dioxide:{category:`carbon_dioxide`,required:!1,multiple:!1},carbon_monoxide:{category:`carbon_monoxide`,required:!1,multiple:!1},gas:{category:`gas`,required:!1,multiple:!1},contact:{category:`contact`,required:!1,multiple:!1},humidity:{category:`humidity`,required:!1,multiple:!1},illuminance:{category:`illuminance`,required:!1,multiple:!1},leak:{category:`leak`,required:!1,multiple:!1},motion:{category:`motion`,required:!1,multiple:!1},nitrogen_dioxide:{category:`nitrogen_dioxide`,required:!1,multiple:!1},occupancy:{category:`occupancy`,required:!1,multiple:!1},ozone:{category:`ozone`,required:!1,multiple:!1},pressure:{category:`pressure`,required:!1,multiple:!1},smoke:{category:`smoke`,required:!1,multiple:!1},sulphur_dioxide:{category:`sulphur_dioxide`,required:!1,multiple:!1},temperature:{category:`temperature`,required:!1,multiple:!1},volatile_organic_compounds:{category:`volatile_organic_compounds`,required:!1,multiple:!1},electrical_energy:{category:`electrical_energy`,required:!1,multiple:!1},electrical_power:{category:`electrical_power`,required:!1,multiple:!1}}},terminal:{category:`terminal`,channels:{device_information:{category:`device_information`,required:!0,multiple:!1},button:{category:`button`,required:!1,multiple:!0},indicator:{category:`indicator`,required:!1,multiple:!0},buzzer:{category:`buzzer`,required:!1,multiple:!1},illuminance:{category:`illuminance`,required:!1,multiple:!1},accelerometer:{category:`accelerometer`,required:!1,multiple:!1},binary_input:{category:`binary_input`,required:!1,multiple:!0},switcher:{category:`switcher`,required:!1,multiple:!0},temperature:{category:`temperature`,required:!1,multiple:!1}}}},ye={[D.generic]:[],[D.air_conditioner]:[M.cooler,M.heater,M.fan,M.temperature,M.humidity,M.electrical_energy,M.electrical_power,M.leak,M.device_information],[D.air_dehumidifier]:[M.cooler,M.fan,M.temperature,M.humidity,M.electrical_energy,M.electrical_power,M.leak,M.device_information],[D.air_humidifier]:[M.humidity,M.switcher,M.temperature,M.fan,M.electrical_energy,M.electrical_power,M.leak,M.device_information],[D.air_purifier]:[M.fan,M.air_particulate,M.carbon_dioxide,M.carbon_monoxide,M.humidity,M.leak,M.nitrogen_dioxide,M.ozone,M.pressure,M.sulphur_dioxide,M.temperature,M.volatile_organic_compounds,M.electrical_energy,M.electrical_power,M.device_information],[D.alarm]:[M.alarm,M.device_information],[D.camera]:[M.camera,M.motion,M.microphone,M.speaker,M.contact,M.light,M.temperature,M.humidity,M.battery,M.device_information],[D.door]:[M.door,M.lock,M.contact,M.motion,M.battery,M.device_information],[D.doorbell]:[M.doorbell,M.camera,M.lock,M.motion,M.microphone,M.speaker,M.contact,M.light,M.battery,M.device_information],[D.fan]:[M.fan,M.electrical_energy,M.electrical_power,M.device_information],[D.heating_unit]:[M.heater,M.temperature,M.humidity,M.electrical_energy,M.electrical_power,M.device_information],[D.input_controller]:[M.button,M.binary_input,M.analog_input,M.device_information],[D.lighting]:[M.light,M.illuminance,M.electrical_energy,M.electrical_power,M.device_information],[D.lock]:[M.lock,M.contact,M.motion,M.battery,M.device_information],[D.media]:[M.media_input,M.media_playback,M.microphone,M.speaker,M.device_information],[D.av_receiver]:[M.media_input,M.media_playback,M.speaker,M.device_information],[D.game_console]:[M.media_playback,M.media_input,M.device_information],[D.projector]:[M.projector,M.speaker,M.media_playback,M.media_input,M.device_information],[D.set_top_box]:[M.media_input,M.media_playback,M.device_information],[D.streaming_service]:[M.media_playback,M.device_information],[D.outlet]:[M.outlet,M.electrical_energy,M.electrical_power,M.device_information],[D.pump]:[M.flow,M.switcher,M.leak,M.pressure,M.electrical_energy,M.electrical_power,M.device_information],[D.robot_vacuum]:[M.robot_vacuum,M.electrical_energy,M.electrical_power,M.leak,M.battery,M.device_information],[D.sensor]:[M.air_particulate,M.battery,M.carbon_dioxide,M.carbon_monoxide,M.contact,M.humidity,M.illuminance,M.leak,M.motion,M.nitrogen_dioxide,M.occupancy,M.ozone,M.pressure,M.smoke,M.sulphur_dioxide,M.temperature,M.volatile_organic_compounds,M.device_information],[D.speaker]:[M.speaker,M.media_input,M.media_playback,M.electrical_energy,M.electrical_power,M.device_information],[D.sprinkler]:[M.valve,M.flow,M.pressure,M.leak,M.humidity,M.electrical_energy,M.electrical_power,M.device_information],[D.switcher]:[M.switcher,M.electrical_energy,M.electrical_power,M.device_information],[D.television]:[M.television,M.speaker,M.media_playback,M.media_input,M.device_information],[D.terminal]:[M.button,M.indicator,M.buzzer,M.illuminance,M.accelerometer,M.temperature,M.contact,M.switcher,M.device_information],[D.thermostat]:[M.thermostat,M.cooler,M.heater,M.temperature,M.humidity,M.contact,M.electrical_energy,M.electrical_power,M.device_information],[D.valve]:[M.valve,M.pressure,M.flow,M.leak,M.battery,M.electrical_energy,M.electrical_power,M.device_information],[D.water_heater]:[M.heater,M.temperature,M.leak,M.electrical_energy,M.electrical_power,M.device_information],[D.window_covering]:[M.window_covering,M.battery,M.electrical_energy,M.electrical_power,M.device_information]},be=Object.fromEntries(Object.entries(ve).map(([e,t])=>{let n=Object.values(t.channels).map(e=>e.category),r=ye[e];return[e,r?[...n].sort((e,t)=>{let n=r.indexOf(e),i=r.indexOf(t);return n===-1&&i===-1?0:n===-1?1:i===-1?-1:n-i}):n]})),Z=Object.fromEntries(Object.entries(ve).map(([e,t])=>[e,{required:Object.values(t.channels).filter(e=>e.required).map(e=>e.category),optional:Object.values(t.channels).filter(e=>!e.required).map(e=>e.category),multiple:Object.values(t.channels).filter(e=>e.multiple).map(e=>e.category)}])),xe=Object.fromEntries(Object.entries(_e).map(([e,t])=>[e,{required:Object.values(t.properties).filter(e=>e.required).map(e=>e.category),optional:Object.values(t.properties).filter(e=>!e.required).map(e=>e.category)}])),Se=(e,t)=>{let n=_e[e];if(!n)return;let r=Object.values(n.properties).find(e=>e.category===t);if(!r)return;let i=r.data_types?.[0];if(i)return{category:r.category,required:r.required,description:i.description??r.description??{en:``},permissions:r.permissions,data_type:i.data_type,unit:i.unit??null,format:i.format??null,invalid:r.invalid,step:i.step??null};if(r.data_type)return{category:r.category,required:r.required,description:r.description??{en:``},permissions:r.permissions,data_type:r.data_type,unit:r.unit??null,format:r.format??null,invalid:r.invalid,step:r.step??null}},Ce=({id:e})=>{let n=F(),r=n.getStore(W),i=n.getStore(H),a=e=>r.findById(e),o=e=>xe[e.category]??null;return{canAddAnotherProperty:t(()=>{let t=a(e);if(t===null)return!0;let{required:n,optional:r}=o(t)??{required:[],optional:[]},s=[...n,...r],c=i.findForChannel(t.id).map(e=>e.category);return s.filter(e=>!c.includes(e)).length>0}),missingRequiredProperties:t(()=>{let t=a(e);if(t===null)throw new q(`Something went wrong, channel can't be loaded`);let{required:n}=o(t)??{required:[]},r=i.findForChannel(t.id).map(e=>e.category);return n.filter(e=>!r.includes(e))})}},we=v({id:I().uuid().optional(),type:I().trim().nonempty(),device:I().uuid().optional(),category:j(M).default(M.generic),identifier:I().trim().nonempty().nullable().optional(),name:I().trim().nonempty(),description:I().trim().transform(e=>e===``?null:e).nullable().optional()}),Te=v({id:I().uuid(),type:I().trim().nonempty(),device:I().uuid(),category:j(M).default(M.generic),identifier:I().trim().nonempty().nullable().optional(),name:I().trim().nonempty().optional(),description:I().trim().transform(e=>e===``?null:e).nullable().optional()}),Ee=({type:e})=>{let{getByType:n}=se(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`devices-module`))))}},De=()=>{let e=F().getStore(V),{firstLoad:n,semaphore:r}=T(e);return{devices:t(()=>e.findAll().filter(e=>!e.draft&&!e.hidden)),areLoading:t(()=>r.value.fetching.items),loaded:t(()=>n.value),fetchDevices:async()=>{await e.fetch()}}},Oe=({id:n,type:s,deviceId:c})=>{let l=F(),{element:u}=Ee({type:s}),f=l.getStore(W),{devices:p,fetchDevices:m,areLoading:h}=De(),{t:g}=i(),_=A(),v=d(),y=r(G.NONE),b,x=t(()=>D.device?p.value.find(e=>e.id===D.device)??null:null),S=t(()=>x.value?f.findForDevice(x.value.id).map(e=>e.category):[]),C=t(()=>x.value?Z[x.value.category]??null:null),T=t(()=>C.value===null?[]:Object.values(M).filter(e=>C.value?.required.includes(e)||C.value?.optional.includes(e)).filter(e=>!S.value.includes(e)||C.value?.multiple?.includes(e)).map(e=>({value:e,label:g(`devicesModule.categories.channels.${e}`)}))),E=t(()=>p.value.filter(e=>e.type===s).map(e=>({value:e.id,label:e.name}))),D=a({...z(u.value?.schemas?.channelAddFormSchema||we),id:n,type:s,device:c,category:M.generic,name:``,description:``}),O=w(e(D)),k=r(void 0),j=r(!1),N=async()=>{if(k.value.clearValidate(),!await k.value.validate())throw new Y(`Form not valid`);let e=c??D.device;if(!e)throw new Y(`Missing device identifier`);if(!D.category)throw new Y(`Missing data type definition`);let t=(u.value?.schemas?.channelAddFormSchema||we).safeParse(D);if(!t.success)throw v.error(`Schema validation failed with:`,t.error),new Y(`Failed to validate create channel model.`);y.value=G.WORKING;let r=g(`devicesModule.messages.channels.notCreated`,{device:D.name});try{await f.add({id:n,deviceId:e,draft:!1,data:{...t.data,type:s}})}catch(e){throw y.value=G.ERROR,b=window.setTimeout(P,2e3),e instanceof J&&e.code===422?_.error(e.message):_.error(r),e}return y.value=G.OK,b=window.setTimeout(P,2e3),_.success(g(`devicesModule.messages.channels.created`,{device:D.name})),`added`},P=()=>{window.clearTimeout(b),y.value=G.NONE};return m().catch(()=>{}),o(D,()=>{j.value=!(0,K.isEqual)(e(D),O)}),o(()=>T.value,e=>{e.length&&e[0]&&(D.category=e[0].value,O.category=e[0].value)},{immediate:!0}),{categoriesOptions:T,devicesOptions:E,model:D,formEl:k,formChanged:j,submit:N,clear:P,formResult:y,loadingDevices:h}},ke=({channel:n,messages:s})=>{let c=F(),{element:l}=Ee({type:n.type}),u=c.getStore(W),{devices:f,fetchDevices:p,areLoading:m}=De(),{t:h}=i(),g=A(),_=d(),v=r(G.NONE),y,b=t(()=>f.value.find(e=>e.id===n.device)??null),x=t(()=>b.value?u.findForDevice(b.value.id).filter(e=>e.id!==n.id).map(e=>e.category):[]),S=t(()=>b.value?Z[b.value.category]??null:null),C=t(()=>S.value===null?[]:Object.values(M).filter(e=>S.value?.required.includes(e)||S.value?.optional.includes(e)).filter(e=>!x.value.includes(e)||S.value?.multiple?.includes(e)).map(e=>({value:e,label:h(`devicesModule.categories.channels.${e}`)}))),T=t(()=>f.value.map(e=>({value:e.id,label:e.name}))),E=a(n),D=w(e(E)),O=r(void 0),k=r(!1),j=async()=>{let t=n.draft,r=s&&s.error?s.error:n.draft?h(`devicesModule.messages.channels.notCreated`,{channel:n.name}):h(`devicesModule.messages.channels.notEdited`,{channel:n.name});if(O.value.clearValidate(),!await O.value.validate())throw new Y(`Form not valid`);let i=(l.value?.schemas?.channelEditFormSchema||Te).safeParse(E);if(!i.success)throw _.error(`Schema validation failed with:`,i.error),new Y(`Failed to validate edit channel model.`);v.value=G.WORKING;try{await u.edit({id:n.id,data:{...i.data,type:n.type}}),n.draft&&await u.save({id:n.id,deviceId:n.device})}catch(e){throw v.value=G.ERROR,y=window.setTimeout(N,2e3),e instanceof J&&e.code===422?g.error(e.message):g.error(r),e}return v.value=G.OK,y=window.setTimeout(N,2e3),t?(g.success(h(s&&s.success?s.success:`devicesModule.messages.channels.created`,{channel:n.name})),`added`):(g.success(h(s&&s.success?s.success:`devicesModule.messages.channels.edited`,{channel:n.name})),k.value=!1,D=w(e(E)),`saved`)},N=()=>{window.clearTimeout(y),v.value=G.NONE};return p().catch(()=>{}),o(E,()=>{k.value=!(0,K.isEqual)(e(E),D)}),{categoriesOptions:C,devicesOptions:T,model:E,formEl:O,formChanged:k,submit:j,clear:N,formResult:v,loadingDevices:m}},Ae=({channelId:e,id:n})=>{let r=F().getStore(H),{data:i,semaphore:a}=T(r);return{property:t(()=>n===null?null:i.value[n]??null),isLoading:t(()=>a.value.fetching.item.includes(n)?!0:(i.value[n]??null)===null?a.value.fetching.items.includes(e)||a.value.fetching.items.includes(`all`):!1),fetchProperty:async()=>{(i.value[n]??null)?.draft||await r.get({id:n,channelId:e})}}},je=({channelId:e})=>{let n=F().getStore(H),{firstLoad:r,semaphore:i}=T(n),a=typeof e==`string`?t(()=>e):e;return{properties:t(()=>n.findAll().filter(e=>!a?.value||e.channel===a.value)),areLoading:t(()=>a.value?i.value.fetching.items.includes(a.value)?!0:!r.value.includes(a.value)&&i.value.fetching.items.includes(a.value):!1),loaded:t(()=>a.value?r.value.includes(a.value):!1),fetchProperties:async()=>{a.value&&await n.fetch({channelId:a.value})}}},Q={search:void 0,channels:[],categories:[],permissions:[],dataTypes:[]},Me={by:`category`,dir:`asc`},Ne=({channelId:e,key:n=`list`})=>{let i=F().getStore(H),{firstLoad:a,semaphore:s}=T(i),{filters:c,sort:l,pagination:u,reset:d}=N({key:`${ne}:channels-properties:${n}`,filters:{schema:fe,defaults:Q},sort:{defaults:[Me]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),f=t(()=>c.value.search!==Q.search||!(0,K.isEqual)(c.value.channels,Q.channels)||!(0,K.isEqual)(c.value.categories,Q.categories)||!(0,K.isEqual)(c.value.permissions,Q.permissions)||!(0,K.isEqual)(c.value.dataTypes,Q.dataTypes)),p=r(u.value.size||10),m=r(u.value.page||1),h=r(l.value.length>0?l.value[0]?.by:void 0),g=r(l.value.length>0?l.value[0]?.dir??null:null),_=t(()=>B(i.findAll().filter(t=>!e||t.channel===e).filter(e=>!e.draft&&(!c.value.search||e.id?.toLowerCase().includes(c.value.search.toLowerCase())||e.name?.toLowerCase().includes(c.value.search.toLowerCase())||e.identifier?.toLowerCase().includes(c.value.search.toLowerCase()))&&(c.value.categories.length===0||c.value.categories.includes(e.category))&&(c.value.dataTypes.length===0||c.value.dataTypes.includes(e.dataType))&&(c.value.permissions.length===0||e.permissions.some(e=>c.value.permissions.includes(e)))),[e=>e[h.value]??``],[g.value===`asc`?`asc`:`desc`])),v=t(()=>{let e=(m.value-1)*p.value,t=e+p.value;return _.value.slice(e,t)}),y=async()=>{await i.fetch({channelId:e})},b=t(()=>s.value.fetching.items.includes(e)?!0:!a.value.includes(e)&&s.value.fetching.items.includes(e)),x=t(()=>a.value.includes(e)),S=t(()=>i.findAll().filter(t=>!e||t.channel===e).filter(e=>!e.draft).length);return o(()=>u.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),o(()=>m.value,e=>{u.value.page=e}),o(()=>p.value,e=>{u.value.size=e}),o(()=>g.value,e=>{h.value===void 0||e===null?l.value=[]:l.value=[{by:h.value,dir:e}]}),o(()=>h.value,e=>{e===void 0?l.value=[]:l.value=[{by:e,dir:g.value}]}),{properties:_,propertiesPaginated:v,totalRows:S,areLoading:b,loaded:x,fetchProperties:y,filters:c,filtersActive:f,paginateSize:p,paginatePage:m,sortBy:h,sortDir:g,resetFilter:d}},Pe=()=>{let{t:e}=i(),t=A(),n=F().getStore(H);return{remove:async r=>{let i=n.findById(r);if(i===null)throw new q(`Something went wrong, channel property can't be loaded`);S.confirm(e(`devicesModule.texts.channelsProperties.confirmRemove`,{property:i.name??e(`devicesModule.categories.channelsProperties.${i.category}`)}),e(`devicesModule.headings.channelsProperties.remove`),{confirmButtonText:e(`devicesModule.buttons.yes.title`),cancelButtonText:e(`devicesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await n.remove({id:i.id,channelId:i.channel}),t.success(e(`devicesModule.messages.channelsProperties.removed`,{property:i.name??e(`devicesModule.categories.channelsProperties.${i.category}`)}))}catch(n){if(n instanceof J&&n.code===404){let n=e(`devicesModule.messages.channelsProperties.notFound`,{property:i.name??e(`devicesModule.categories.channelsProperties.${i.category}`)});t.error(n)}else if(n instanceof J&&n.code===422)t.error(n.message);else{let n=e(`devicesModule.messages.channelsProperties.notRemoved`,{property:i.name??e(`devicesModule.categories.channelsProperties.${i.category}`)});t.error(n)}}}).catch(()=>{t.info(e(`devicesModule.messages.channelsProperties.removeCanceled`,{property:i.name??e(`devicesModule.categories.channelsProperties.${i.category}`)}))})}}},Fe=({id:e})=>{let n=F().getStore(H);return{icon:t(()=>{switch(n.findById(e)?.category){default:return`mdi:tune`}})}},Ie=v({id:I().uuid().optional(),type:I().trim().nonempty(),channel:I().uuid().optional(),category:j(b).default(b.generic),identifier:I().trim().nonempty().nullable().optional(),name:I().trim().nonempty().nullable(),permissions:k(j(O)),dataType:j(p),format:k(h([I(),h([y(),m()])])).nullable(),invalid:h([I(),y(),P(),m()]),step:h([I(),y()]).transform(e=>e===``?null:Number(e)).nullable(),enterValue:P().default(!1),value:h([I(),y(),P(),m()]).optional(),enumValues:k(I()),minValue:h([I(),y()]).transform(e=>e===``?void 0:Number(e)).optional(),maxValue:h([I(),y()]).transform(e=>e===``?void 0:Number(e)).optional()}),Le=v({id:I().uuid(),type:I().trim().nonempty(),channel:I().uuid(),category:j(b).default(b.generic),identifier:I().trim().nonempty().nullable().optional(),name:I().trim().nonempty().nullable().optional(),permissions:k(j(O)),dataType:j(p),format:k(h([I(),h([y(),m()])])).nullable(),invalid:h([I(),y(),P(),m()]),step:h([I(),y()]).transform(e=>e===``?null:Number(e)).nullable(),enterValue:P().default(!1),value:h([I(),y(),P(),m()]).optional(),enumValues:k(I()),minValue:h([I(),y()]).transform(e=>e===``?void 0:Number(e)).optional(),maxValue:h([I(),y()]).transform(e=>e===``?void 0:Number(e)).optional()}),Re=({type:e})=>{let{getByType:n}=oe(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`devices-module`))))}},ze=({id:n,type:s,channelId:c})=>{let l=F(),{element:u}=Re({type:s}),f=l.getStore(H),{channels:m,fetchChannels:h,areLoading:g}=le(),{t:_}=i(),v=A(),y=d(),x=r(G.NONE),S,C=t(()=>P.channel?m.value.find(e=>e.id===P.channel)??null:null),T=t(()=>C.value?f.findForChannel(C.value.id).map(e=>e.category):[]),E=t(()=>C.value?xe[C.value.category]??null:null),D=t(()=>E.value===null?[]:Object.values(b).filter(e=>E.value?.required.includes(e)||E.value?.optional.includes(e)).filter(e=>!T.value.includes(e)).map(e=>({value:e,label:_(`devicesModule.categories.channelsProperties.${e}`)}))),k=t(()=>m.value.map(e=>({value:e.id,label:e.name}))),j=Object.values(O).map(e=>({value:e,label:_(`devicesModule.permissions.${e}`)})),N=Object.values(p).map(e=>({value:e,label:_(`devicesModule.dataTypes.${e}`)})),P=a({...z(u.value?.schemas?.channelPropertyAddFormSchema||Ie),id:n,type:s,channel:c,category:b.generic,name:``,permissions:[],dataType:p.unknown,format:null,invalid:null,step:null,enumValues:[],minValue:void 0,maxValue:void 0,enterValue:!1,value:void 0}),I=w(e(P)),L=r(void 0),R=r(!1),B=async()=>{if(L.value.clearValidate(),!await L.value.validate())throw new Y(`Form not valid`);let e=c??P.channel;if(!e)throw new Y(`Missing channel identifier`);if(P.name===``&&(P.name=null),!P.category)throw new Y(`Missing data type definition`);P.dataType===p.enum?P.format=P.enumValues:[p.char,p.uchar,p.short,p.ushort,p.int,p.uint,p.float].includes(P.dataType)&&(P.format=[typeof P.minValue==`string`&&P.minValue!==``?Number(P.minValue):typeof P.minValue==`number`?P.minValue:null,typeof P.maxValue==`string`&&P.maxValue!==``?Number(P.maxValue):typeof P.maxValue==`number`?P.maxValue:null]),P.enterValue||delete P.value;let t=(u.value?.schemas?.channelPropertyAddFormSchema||Ie).safeParse(P);if(!t.success)throw y.error(`Schema validation failed with:`,t.error),new Y(`Failed to validate create channel property model.`);x.value=G.WORKING;let r=_(`devicesModule.messages.channelsProperties.notCreated`,{device:P.name});try{await f.add({id:n,channelId:e,draft:!1,data:{...t.data,type:s}})}catch(e){throw x.value=G.ERROR,S=window.setTimeout(V,2e3),e instanceof J&&e.code===422?v.error(e.message):v.error(r),e}return x.value=G.OK,S=window.setTimeout(V,2e3),v.success(_(`devicesModule.messages.channelsProperties.created`,{device:P.name})),`added`},V=()=>{window.clearTimeout(S),x.value=G.NONE};return h().catch(()=>{}),o(P,()=>{R.value=!(0,K.isEqual)(e(P),I)}),o(()=>P.category,t=>{let n=Se(C.value?.category??M.generic,t);n&&(I.permissions=n.permissions,I.dataType=n.data_type,P.permissions=n.permissions,P.dataType=n.data_type,n.invalid!==void 0&&(I.invalid=n.invalid,P.invalid=n.invalid),n.step!==void 0&&(I.step=n.step,P.step=n.step),I.dataType===p.enum?(I.enumValues=n.format??[],I.minValue=void 0,I.maxValue=void 0,P.enumValues=n.format??[],P.minValue=void 0,P.maxValue=void 0):[p.char,p.uchar,p.short,p.ushort,p.int,p.uint,p.float].includes(P.dataType)?(I.enumValues=[],I.minValue=n.format?.[0],I.maxValue=n.format?.[1],P.enumValues=[],P.minValue=n.format?.[0],P.maxValue=n.format?.[1]):(I.enumValues=[],I.minValue=void 0,I.maxValue=void 0,P.enumValues=[],P.minValue=void 0,P.maxValue=void 0),R.value=!(0,K.isEqual)(e(P),I))},{immediate:!0}),o(()=>D.value,e=>{e.length&&e[0]&&(P.category=e[0].value,I.category=e[0].value)},{immediate:!0}),{categoriesOptions:D,channelsOptions:k,permissionsOptions:j,dataTypesOptions:N,model:P,formEl:L,formChanged:R,submit:B,clear:V,formResult:x,loadingChannels:g}},Be=({property:n,messages:s})=>{let c=F(),{element:l}=Re({type:n.type}),u=c.getStore(H),{channels:f,fetchChannels:m,areLoading:h}=le(),{t:g}=i(),_=A(),v=d(),y=r(G.NONE),x,S=[],C,T;n.dataType===p.enum?S=n.format?n.format.map(e=>e?.toString()||``):[]:[p.char,p.uchar,p.short,p.ushort,p.int,p.uint,p.float].includes(n.dataType)&&Array.isArray(n.format)&&n.format.length===2&&(C=n.format[0],T=n.format[1]);let E=t(()=>f.value.find(e=>e.id===n.channel)??null),D=t(()=>E.value?u.findForChannel(E.value.id).filter(e=>e.id!==n.id).map(e=>e.category):[]),k=t(()=>E.value?xe[E.value.category]??null:null),j=t(()=>k.value===null?[]:Object.values(b).filter(e=>k.value?.required.includes(e)||k.value?.optional.includes(e)).filter(e=>!D.value.includes(e)).map(e=>({value:e,label:g(`devicesModule.categories.channelsProperties.${e}`)}))),M=t(()=>f.value.map(e=>({value:e.id,label:e.name}))),N=Object.values(O).map(e=>({value:e,label:g(`devicesModule.permissions.${e}`)})),P=Object.values(p).map(e=>({value:e,label:g(`devicesModule.dataTypes.${e}`)})),I=a({...n,format:e(n.format),value:n.value?.value??null,enumValues:S,minValue:C,maxValue:T,enterValue:!1}),L=w(e(I)),R=r(void 0),z=r(!1),B=async()=>{let t=n.draft,r=s&&s.error?s.error:n.draft?g(`devicesModule.messages.channelsProperties.notCreated`,{property:n.name??g(`devicesModule.categories.channelsProperties.${n.category}`)}):g(`devicesModule.messages.channelsProperties.notEdited`,{property:n.name??g(`devicesModule.categories.channelsProperties.${n.category}`)});if(R.value.clearValidate(),!await R.value.validate())throw new Y(`Form not valid`);I.name===``&&(I.name=null),n.dataType===p.enum?I.format=I.enumValues:[p.char,p.uchar,p.short,p.ushort,p.int,p.uint,p.float].includes(n.dataType)&&(I.format=[I.minValue??null,I.maxValue??null]),I.enterValue||delete I.value;let i=(l.value?.schemas?.channelPropertyEditFormSchema||Le).safeParse(I);if(!i.success)throw v.error(`Schema validation failed with:`,i.error),new Y(`Failed to validate edit channel property model.`);y.value=G.WORKING;try{await u.edit({id:n.id,channelId:n.channel,data:{...i.data,type:n.type}}),n.draft&&await u.save({id:n.id,channelId:n.channel})}catch(e){throw y.value=G.ERROR,x=window.setTimeout(V,2e3),e instanceof J&&e.code===422?_.error(e.message):_.error(r),e}return y.value=G.OK,x=window.setTimeout(V,2e3),t?(_.success(g(s&&s.success?s.success:`devicesModule.messages.channelsProperties.created`,{property:n.name??g(`devicesModule.categories.channelsProperties.${n.category}`)})),`added`):(_.success(g(s&&s.success?s.success:`devicesModule.messages.channelsProperties.edited`,{property:n.name??g(`devicesModule.categories.channelsProperties.${n.category}`)})),z.value=!1,L=w(e(I)),`saved`)},V=()=>{window.clearTimeout(x),y.value=G.NONE};return m().catch(()=>{}),o(I,()=>{z.value=!(0,K.isEqual)(e(I),L)}),{categoriesOptions:j,channelsOptions:M,permissionsOptions:N,dataTypesOptions:P,model:I,formEl:R,formChanged:z,submit:B,clear:V,formResult:y,loadingChannels:h}},Ve=({id:e})=>{let n=F().getStore(V),{data:r,semaphore:i}=T(n);return{device:t(()=>{let t=s(e);return t===null?null:r.value[t]??null}),isLoading:t(()=>{let t=s(e);return i.value.fetching.item.includes(t)?!0:(r.value[t]??null)===null&&i.value.fetching.items}),fetchDevice:async()=>{let t=s(e);(r.value[t]??null)?.draft||await n.get({id:t})}}},$={search:void 0,types:[],state:`all`,states:[],categories:[],enabled:`all`,validation:`all`},He={by:`name`,dir:`asc`},Ue=()=>{let e=F(),n=e.getStore(V),i=e.getStore(U),{firstLoad:a,semaphore:s}=T(n),{filters:c,sort:l,pagination:d,reset:f}=N({key:`${ne}:devices:list`,filters:{schema:ue,defaults:$},sort:{defaults:[He]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),p=t(()=>c.value.search!==$.search||!(0,K.isEqual)(c.value.types,$.types)||c.value.state!==$.state||!(0,K.isEqual)(c.value.states,$.states)||!(0,K.isEqual)(c.value.categories,$.categories)||!(0,K.isEqual)(c.value.enabled,$.enabled)||c.value.validation!==$.validation),m=r(d.value.size||10),h=r(d.value.page||1),g=r(l.value.length>0?l.value[0]?.by:void 0),_=r(l.value.length>0?l.value[0]?.dir??null:null),v=r(!1),y=e=>i.findById(e)?.isValid??null,b=t(()=>B(n.findAll().filter(e=>!e.draft&&(v.value||!e.hidden)&&(!c.value.search||e.id.toLowerCase().includes(c.value.search.toLowerCase())||e.name.toLowerCase().includes(c.value.search.toLowerCase())||e.description?.toLowerCase().includes(c.value.search.toLowerCase())||e.identifier?.toLowerCase().includes(c.value.search.toLowerCase()))&&(c.value.types.length===0||c.value.types.includes(e.type))&&(c.value.categories.length===0||c.value.categories.includes(e.category))&&(c.value.enabled===`all`||c.value.enabled===`enabled`&&e.enabled||c.value.enabled===`disabled`&&!e.enabled)&&(c.value.states.length===0||c.value.states.includes(e.status?.status??u.unknown))&&(c.value.state===`all`||c.value.state===`online`&&[u.ready,u.connected,u.running].includes(e.status.status)||c.value.state===`offline`&&[u.disconnected,u.stopped,u.lost,u.unknown].includes(e.status.status))&&(c.value.validation===`all`||c.value.validation===`valid`&&y(e.id)===!0||c.value.validation===`invalid`&&y(e.id)===!1)),[e=>g.value===`state`?e.status?.status??u.unknown:e[g.value]??``],[_.value===`asc`?`asc`:`desc`])),x=t(()=>{let e=(h.value-1)*m.value,t=e+m.value;return b.value.slice(e,t)}),S=async()=>{await n.fetch({hidden:v.value?C.all:C.false})},w=t(()=>s.value.fetching.items||!a.value),E=t(()=>a.value),D=t(()=>n.findAll().filter(e=>!e.draft&&(v.value||!e.hidden)).length);return o(()=>d.value,e=>{h.value=e.page??1,m.value=e.size??10},{deep:!0}),o(()=>h.value,e=>{d.value.page=e}),o(()=>m.value,e=>{d.value.size=e}),o(()=>_.value,e=>{g.value===void 0||e===null?l.value=[]:l.value=[{by:g.value,dir:e}]}),o(()=>g.value,e=>{e===void 0?l.value=[]:l.value=[{by:e,dir:_.value}]}),{devices:b,devicesPaginated:x,totalRows:D,areLoading:w,loaded:E,fetchDevices:S,filters:c,filtersActive:p,paginateSize:m,paginatePage:h,sortBy:g,sortDir:_,resetFilter:f,showHidden:v}},We=()=>{let{t:e}=i(),t=A(),n=F().getStore(V);return{remove:async r=>{let i=n.findById(r);if(i===null)throw new q(`Something went wrong, device can't be loaded`);S.confirm(e(`devicesModule.texts.devices.confirmRemove`,{device:i.name}),e(`devicesModule.headings.devices.remove`),{confirmButtonText:e(`devicesModule.buttons.yes.title`),cancelButtonText:e(`devicesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await n.remove({id:i.id}),t.success(e(`devicesModule.messages.devices.removed`,{device:i.name}))}catch(n){if(n instanceof J&&n.code===404){let n=e(`devicesModule.messages.devices.notFound`,{device:i.name});t.error(n)}else if(n instanceof J&&n.code===422)t.error(n.message);else{let n=e(`devicesModule.messages.devices.notRemoved`,{device:i.name});t.error(n)}}}).catch(()=>{t.info(e(`devicesModule.messages.devices.removeCanceled`,{device:i.name}))})},bulkRemove:async r=>{if(r.length!==0){try{await S.confirm(e(`devicesModule.texts.devices.confirmBulkRemove`,{count:r.length}),e(`devicesModule.headings.devices.bulkRemove`),{confirmButtonText:e(`devicesModule.buttons.yes.title`),cancelButtonText:e(`devicesModule.buttons.no.title`),type:`warning`})}catch{return}try{let i=await n.bulkRemove({ids:r.map(e=>e.id)});i.succeeded.length>0&&t.success(e(`devicesModule.messages.devices.bulkRemoved`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`devicesModule.messages.devices.bulkRemoveFailed`,{count:i.failed.length}))}catch{t.error(e(`devicesModule.messages.devices.bulkRemoveFailed`,{count:r.length}))}}},bulkEnable:async r=>{if(r.length!==0){try{await S.confirm(e(`devicesModule.texts.devices.confirmBulkEnable`,{count:r.length}),e(`devicesModule.headings.devices.bulkEnable`),{confirmButtonText:e(`devicesModule.buttons.yes.title`),cancelButtonText:e(`devicesModule.buttons.no.title`),type:`info`})}catch{t.info(e(`devicesModule.messages.devices.bulkEnableCanceled`));return}try{let i=await n.bulkSetEnabled({ids:r.map(e=>e.id),enabled:!0});i.succeeded.length>0&&t.success(e(`devicesModule.messages.devices.bulkEnabled`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`devicesModule.messages.devices.bulkEnableFailed`,{count:i.failed.length}))}catch{t.error(e(`devicesModule.messages.devices.bulkEnableFailed`,{count:r.length}))}}},bulkDisable:async r=>{if(r.length!==0){try{await S.confirm(e(`devicesModule.texts.devices.confirmBulkDisable`,{count:r.length}),e(`devicesModule.headings.devices.bulkDisable`),{confirmButtonText:e(`devicesModule.buttons.yes.title`),cancelButtonText:e(`devicesModule.buttons.no.title`),type:`warning`})}catch{t.info(e(`devicesModule.messages.devices.bulkDisableCanceled`));return}try{let i=await n.bulkSetEnabled({ids:r.map(e=>e.id),enabled:!1});i.succeeded.length>0&&t.success(e(`devicesModule.messages.devices.bulkDisabled`,{count:i.succeeded.length})),i.failed.length>0&&t.error(e(`devicesModule.messages.devices.bulkDisableFailed`,{count:i.failed.length}))}catch{t.error(e(`devicesModule.messages.devices.bulkDisableFailed`,{count:r.length}))}}}}},Ge=({id:e})=>{let n=F().getStore(V);return{icon:t(()=>{switch(n.findById(e)?.category){default:return`mdi:devices`}})}},Ke=({id:e})=>{let n=F(),r=n.getStore(V),i=n.getStore(W),a=e=>r.findById(e),o=e=>Z[e.category]??null;return{canAddAnotherChannel:t(()=>{let t=a(typeof e==`string`?e:e.value);if(t===null)return!0;let{required:n,optional:r,multiple:s}=o(t)??{required:[],optional:[]},c=[...n,...r],l=i.findForDevice(t.id).map(e=>e.category);return c.filter(e=>!l.includes(e)).length>0||s!==void 0&&s.length>0}),missingRequiredChannels:t(()=>{let t=a(typeof e==`string`?e:e.value);if(t===null)throw new q(`Something went wrong, device can't be loaded`);let{required:n}=o(t)??{required:[]},r=i.findForDevice(t.id).map(e=>e.category);return n.filter(e=>!r.includes(e))})}},qe=v({id:I().uuid().optional(),type:I().trim().nonempty(),category:j(D).default(D.generic),identifier:I().trim().nonempty().nullable().optional(),name:I().trim().nonempty(),description:I().trim().transform(e=>e===``?null:e).nullable().optional(),enabled:P().default(!0).optional()}),Je=v({id:I().uuid(),type:I().trim().nonempty(),category:j(D).default(D.generic),identifier:I().trim().nonempty().nullable().optional(),name:I().trim().nonempty().optional(),description:I().trim().transform(e=>e===``?null:e).nullable().optional(),enabled:P().optional(),roomId:I().uuid().nullable().optional()}),Ye=({type:e})=>{let{getByType:n}=re(),r=t(()=>n(e));return{plugin:r,element:t(()=>(r.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`devices-module`))))}},Xe=({id:t,type:n})=>{let s=F(),{element:c}=Ye({type:n}),l=s.getStore(V),{t:u}=i(),f=A(),p=d(),m=r(G.NONE),h,g=Object.values(D).map(e=>({value:e,label:u(`devicesModule.categories.devices.${e}`)})),_=a({...z(c.value?.schemas?.deviceAddFormSchema||qe),id:t,type:n,category:D.generic,name:``,description:``}),v=w(e(_)),y=r(void 0),b=r(!1),x=async()=>{if(y.value.clearValidate(),!await y.value.validate())throw new Y(`Form not valid`);let e=(c.value?.schemas?.deviceAddFormSchema||qe).safeParse(_);if(!e.success)throw p.error(`Schema validation failed with:`,e.error),new Y(`Failed to validate create device model.`);m.value=G.WORKING;let r=u(`devicesModule.messages.devices.notCreated`,{device:_.name});try{await l.add({id:t,draft:!1,data:{...e.data,type:n}})}catch(e){throw m.value=G.ERROR,h=window.setTimeout(S,2e3),e instanceof J&&e.code===422?f.error(e.message):f.error(r),e}return m.value=G.OK,h=window.setTimeout(S,2e3),f.success(u(`devicesModule.messages.devices.created`,{device:_.name})),`added`},S=()=>{window.clearTimeout(h),m.value=G.NONE};return o(_,()=>{b.value=!(0,K.isEqual)(e(_),v)}),{categoriesOptions:g,model:_,formEl:y,formChanged:b,submit:x,clear:S,formResult:m}},Ze=({device:t,messages:n})=>{let s=F(),{element:c}=Ye({type:t.type}),l=s.getStore(V),{t:u}=i(),f=A(),p=d(),m=r(G.NONE),h,g=Object.values(D).map(e=>({value:e,label:u(`devicesModule.categories.devices.${e}`)})),_=a(t),v=w(e(_)),y=r(void 0),b=r(!1),x=async()=>{let r=t.draft,i=n&&n.error?n.error:t.draft?u(`devicesModule.messages.devices.notCreated`,{device:t.name}):u(`devicesModule.messages.devices.notEdited`,{device:t.name});if(y.value.clearValidate(),!await y.value.validate())throw new Y(`Form not valid`);let a=(c.value?.schemas?.deviceEditFormSchema||Je).safeParse(_);if(!a.success)throw p.error(`Schema validation failed with:`,a.error),new Y(`Failed to validate edit device model.`);let o={...a.data};(0,K.isEqual)(o.roomId,v.roomId)&&delete o.roomId,m.value=G.WORKING;try{await l.edit({id:t.id,data:{...o,type:t.type}}),t.draft&&await l.save({id:t.id})}catch(e){throw m.value=G.ERROR,h=window.setTimeout(S,2e3),e instanceof J&&e.code===422?f.error(e.message):f.error(i),e}return m.value=G.OK,h=window.setTimeout(S,2e3),r?(f.success(u(n&&n.success?n.success:`devicesModule.messages.devices.created`,{device:t.name})),`added`):(f.success(u(n&&n.success?n.success:`devicesModule.messages.devices.edited`,{device:t.name})),b.value=!1,v=w(e(_)),`saved`)},S=()=>{window.clearTimeout(h),m.value=G.NONE};return o(_,()=>{b.value=!(0,K.isEqual)(e(_),v)}),{categoriesOptions:g,model:_,formEl:y,formChanged:b,submit:x,clear:S,formResult:m}},Qe=()=>{let e=F().getStore(U),{data:n,semaphore:r,firstLoad:i}=T(e);return{validation:t(()=>n.value),summary:t(()=>n.value?.summary??null),invalidDevices:t(()=>n.value?n.value.devices.filter(e=>!e.isValid):[]),isLoading:t(()=>r.value.fetching.items),isLoaded:t(()=>i.value),fetchValidation:async()=>{await e.fetch()},findById:t=>e.findById(t),isDeviceValid:t=>{let n=e.findById(t);return n?n.isValid:null},getDeviceIssueCount:t=>{let n=e.findById(t);return n?n.issues.length:0}}},$e=({id:e})=>{let n=F().getStore(U),{semaphore:r}=T(n);return{validation:t(()=>n.findById(typeof e==`string`?e:e.value)),isValid:t(()=>{let t=n.findById(typeof e==`string`?e:e.value);return t?t.isValid:null}),issues:t(()=>{let t=n.findById(typeof e==`string`?e:e.value);return t?t.issues:[]}),errorCount:t(()=>{let t=n.findById(typeof e==`string`?e:e.value);return t?t.issues.filter(e=>e.severity===`error`).length:0}),warningCount:t(()=>{let t=n.findById(typeof e==`string`?e:e.value);return t?t.issues.filter(e=>e.severity===`warning`).length:0}),isLoading:t(()=>r.value.fetching.item.includes(typeof e==`string`?e:e.value)),fetchValidation:async()=>{await n.get({id:typeof e==`string`?e:e.value})}}},et=300,tt=1e4,nt=({id:e})=>{let i=F(),a=i.getStore(V),s=i.getStore(W),c=i.getStore(H),{data:l,semaphore:u}=T(a),{data:d,semaphore:p,firstLoad:m}=T(s),{semaphore:h,firstLoad:g}=T(c),{sendCommand:_}=f(),v={},y={},b={},x=r({}),S=r({}),C=t(()=>e===null?null:l.value[e]??null),w=t(()=>Object.values(d.value).filter(t=>t.device===e&&t.category!==M.device_information)),E=t(()=>w.value.filter(e=>c.findForChannel(e.id).some(e=>e.permissions.includes(O.rw)||e.permissions.includes(O.wo)))),D=t(()=>E.value.length>0),k=e=>c.findForChannel(e),A=e=>e.permissions.includes(O.rw)||e.permissions.includes(O.wo),j=e=>{let t=x.value[e];return t===void 0?c.findById(e)?.value?.value??null:t},N=e=>S.value[e]??!1,P=(e,t)=>{if(t!==void 0){let n=x.value[e];if(n!==t&&String(n)!==String(t))return}delete x.value[e],b[e]&&(clearTimeout(b[e]),delete b[e])},I=(e,t)=>{b[e]&&clearTimeout(b[e]),b[e]=setTimeout(()=>{let n=x.value[e];(n===t||String(n)===String(t))&&delete x.value[e],delete b[e]},tt)},L=async(t,n,r)=>c.findById(n)?(v[n]&&(clearTimeout(v[n]),delete v[n],y[n]&&(y[n](!1),delete y[n])),x.value[n]=r,new Promise(i=>{y[n]=i;let a=setTimeout(async()=>{delete y[n],S.value[n]=!0;try{await _(te.CHANNEL_PROPERTY_SET,{context:{origin:`admin`},properties:[{device:e,channel:t,property:n,value:r}]},`DevicesModule.Internal.SetPropertyValue`)===!0?(I(n,r),i(!0)):(P(n,r),i(!1))}catch{P(n,r),i(!1)}finally{S.value[n]=!1,v[n]===a&&delete v[n]}},et);v[n]=a})):!1,R=async()=>{(e in l.value?l.value[e]:null)?.draft||await a.get({id:e})},z=async()=>{await s.fetch({deviceId:e})},B=async()=>{let t=Object.values(d.value).filter(t=>t.device===e);for(let e of t)await c.fetch({channelId:e.id})},ee=t(()=>{if(u.value.fetching.item.includes(e)||p.value.fetching.items.includes(e))return!0;for(let e of w.value)if(h.value.fetching.items.includes(e.id))return!0;return!1}),U=t(()=>m.value.includes(e)),G=t(()=>{if(!U.value)return!1;for(let e of w.value)if(!g.value.includes(e.id))return!1;return!0});return o(()=>{let e={};for(let t of Object.keys(x.value)){let n=c.findById(t);n&&(e[t]=n.value?.value??null)}return e},e=>{for(let[t,n]of Object.entries(x.value)){let r=e[t];(r===n||String(r)===String(n))&&P(t)}},{deep:!0}),n(()=>{for(let e of Object.keys(v))clearTimeout(v[e]),delete v[e],y[e]&&(y[e](!1),delete y[e]);for(let e of Object.keys(b))clearTimeout(b[e]),delete b[e]}),{device:C,channels:w,controllableChannels:E,hasControllableProperties:D,isLoading:ee,areChannelsLoaded:U,arePropertiesLoaded:G,fetchDevice:R,fetchChannels:z,fetchProperties:B,getPropertiesForChannel:k,isPropertyWritable:A,getPropertyValue:j,isPropertyLoading:N,setPropertyValue:L}},rt=({deviceId:e})=>{let n=F().getStore(ee),{firstLoad:r,semaphore:i}=T(n);return{controls:t(()=>n.findForDevice(typeof e==`string`?e:e.value)),areLoading:t(()=>i.value.fetching.items.includes(typeof e==`string`?e:e.value)),loaded:t(()=>r.value.includes(typeof e==`string`?e:e.value)),fetchControls:async()=>n.fetch({deviceId:typeof e==`string`?e:e.value})}},it=e=>{let n=E(),i=d(),a=r({}),u=r(!1),f=r(!1),p=r(!1),m=r(void 0),h=r(!1),_=null,v=0,y=t(()=>Object.values(a.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),b=t(()=>{let e=[g.warn,g.error,g.fatal,g.fail];return y.value.filter(t=>e.includes(t.type))}),x=t(()=>b.value.length),S=t(()=>x.value>0),C=async()=>{let t=s(e.deviceId);_=t,v++;let r=v;f.value=!0;try{let{data:e,error:o}=await n.client.GET(`/${c}/${ie}/logs`,{params:{query:{resource:t,limit:50}}});if(_!==t||v!==r)return;if(e!==void 0){let t=Object.fromEntries(e.data.map(e=>{let t=ae(e);return[t.id,t]}));a.value=t,p.value=!0,u.value=e.metadata.has_more,m.value=e.metadata.next_cursor}else o&&i.error(`Failed to fetch device logs:`,o)}catch(e){_===t&&v===r&&i.error(`Error fetching device logs:`,e)}finally{_===t&&v===r&&(f.value=!1)}},w=async()=>{if(f.value||!u.value||!m.value)return;let t=s(e.deviceId),r=m.value,o=v;f.value=!0;try{let{data:e,error:s}=await n.client.GET(`/${c}/${ie}/logs`,{params:{query:{resource:t,after_id:r,limit:50}}});if(_!==t||v!==o)return;if(e!==void 0){let t=Object.fromEntries(e.data.map(e=>{let t=ae(e);return[t.id,t]}));a.value={...a.value,...t},u.value=e.metadata.has_more,m.value=e.metadata.next_cursor}else s&&i.error(`Failed to load more device logs:`,s)}catch(e){_===t&&v===o&&i.error(`Error loading more device logs:`,e)}finally{_===t&&v===o&&(f.value=!1)}},T=async()=>{a.value={},m.value=void 0,u.value=!1,p.value=!1,await C()},D=null;return o(()=>h.value,e=>{D&&=(clearInterval(D),null),e&&(D=setInterval(()=>{f.value||C()},3e3))}),l(()=>{D&&=(clearInterval(D),null)}),o(()=>s(e.deviceId),()=>{T()}),{logs:y,alertLogs:b,alertCount:x,hasAlerts:S,hasMore:u,isLoading:f,loaded:p,live:h,fetchLogs:C,loadMoreLogs:w,refreshLogs:T}};export{Z as A,se as B,je as C,De as D,Oe as E,ge as F,J as H,he as I,me as L,Se as M,ve as N,Ce as O,_e as P,le as R,Ne as S,ke as T,q as U,oe as V,Y as W,ze as _,Qe as a,Fe as b,Ye as c,Ke as d,Ge as f,Be as g,Ve as h,$e as i,be as j,xe as k,qe as l,Ue as m,rt as n,Ze as o,We as p,nt as r,Xe as s,it as t,Je as u,Ie as v,Ae as w,Pe as x,Le as y,ce as z};