@fastybird/smart-panel-admin 0.4.0-alpha.0 → 0.4.0-alpha.2

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 (212) hide show
  1. package/dist/assets/{card-add-form-Db2XjYRW.js → card-add-form-DJjD46KD.js} +1 -1
  2. package/dist/assets/{card-edit-form-BkhbZr1u.js → card-edit-form-B4pzh8Jh.js} +1 -1
  3. package/dist/assets/common-CuZ_xZk0.js +150 -0
  4. package/dist/assets/{common-D_v-7H8R.css → common-oMRoU5Bz.css} +1 -1
  5. package/dist/assets/components--8slTWfq.js +1 -0
  6. package/dist/assets/components-1FJQuOsn.js +1 -0
  7. package/dist/assets/{components-CLMvIyA8.js → components-CYhZuz_U.js} +1 -1
  8. package/dist/assets/{components-C4FrTJpq.js → components-Cy5Au214.js} +2 -2
  9. package/dist/assets/components-D0w847oe.js +1 -0
  10. package/dist/assets/{components-CKXvBgZH.js → components-D9EFEkn-.js} +1 -1
  11. package/dist/assets/components-DTDNlAlb.css +1 -0
  12. package/dist/assets/components-D_PxgPh0.js +1 -0
  13. package/dist/assets/components-DjCWWump.js +1 -0
  14. package/dist/assets/composables-45Qf6Tpo.js +1 -0
  15. package/dist/assets/composables-B8EZevdC.js +1 -0
  16. package/dist/assets/{composables-UhwwO7oA.js → composables-BzQcMQYz.js} +1 -1
  17. package/dist/assets/{composables-Ww4pROYr.js → composables-Cdr1nKuj.js} +1 -1
  18. package/dist/assets/composables-CsB8a1Eo.js +1 -0
  19. package/dist/assets/composables-MbRDGuBm2.js +1 -0
  20. package/dist/assets/composables-OjpGmE6o.js +1 -0
  21. package/dist/assets/composables-UkmIQBwQ.js +1 -0
  22. package/dist/assets/composables-xm8kmFSg.js +1 -0
  23. package/dist/assets/dashboard-BvHybU0m.js +2 -0
  24. package/dist/assets/dashboard.types-BXvrgq1h.js +1 -0
  25. package/dist/assets/{data-source-edit-form-CBDZ-OY9.js → data-source-edit-form-B1_8N02_.js} +1 -1
  26. package/dist/assets/{drawer-Bd7mWPmH.js → drawer-CXUi1sD6.js} +1 -1
  27. package/dist/assets/index-Btl0VkCg.css +1 -0
  28. package/dist/assets/index-D1EVq8DY.js +16 -0
  29. package/dist/assets/input-number-CFk40dYg.js +1 -0
  30. package/dist/assets/integration-config-dialog-Cd9QIwwx.js +1 -0
  31. package/dist/assets/{layout-config-8HRM1pHd.js → layout-config-B_Wan1Fi.js} +1 -1
  32. package/dist/assets/{layout-default-EZzLKXQF.js → layout-default-CiR6wz6-.js} +1 -1
  33. package/dist/assets/{layout-lock-DxsBdtoH.js → layout-lock-BVL1vgwh.js} +1 -1
  34. package/dist/assets/layout-profile-BSTB-Ski.js +1 -0
  35. package/dist/assets/{layout-profile-Ds29vrBb.js → layout-profile-iS2ePMQH.js} +1 -1
  36. package/dist/assets/layout-sign-BI5Zk7NV.js +1 -0
  37. package/dist/assets/{layout-sign-D-kN8DK1.js → layout-sign-HrO5WTyQ.js} +1 -1
  38. package/dist/assets/{list-data-sources-adjust-qxURzcj8.js → list-data-sources-adjust-CGAUKrwM.js} +1 -1
  39. package/dist/assets/list-locations-CyLBxJth.js +1 -0
  40. package/dist/assets/{list-users-DxfBpmLZ.js → list-users-CZjEs_yy.js} +1 -1
  41. package/dist/assets/logs-entries.transformers-BQ2QZGrJ.js +1 -0
  42. package/dist/assets/page-configure-B9lyoBrF.js +1 -0
  43. package/dist/assets/page-configure-TbEYJQBA.js +1 -0
  44. package/dist/assets/{pagination-e4DiU-Sy.js → pagination-Ci8clkJE.js} +1 -1
  45. package/dist/assets/popover-Deo8J3Rw.js +1 -0
  46. package/dist/assets/{radio-y6_rGpZ-.js → radio-CeJXtx88.js} +1 -1
  47. package/dist/assets/{scene-add-form-Brz12OWY.js → scene-add-form-GAddQGCX.js} +1 -1
  48. package/dist/assets/{scene-edit-form-Cm608tTO.js → scene-edit-form-DORt9txH.js} +1 -1
  49. package/dist/assets/{select-data-source-plugin-BB6GXf0y.js → select-data-source-plugin-DRYj8DQe.js} +1 -1
  50. package/dist/assets/{steps-CUrxTWuj.js → steps-DgoNjH2W.js} +1 -1
  51. package/dist/assets/system-BT7TPQPb.js +2 -0
  52. package/dist/assets/{table-D0cG6bxj.js → table-CeXzTYbf.js} +1 -1
  53. package/dist/assets/{tile-detail-Cpp7TqqL.js → tile-detail-Ce3heH8y.js} +1 -1
  54. package/dist/assets/{tile-edit-form-B1Q8pG5c.js → tile-edit-form-CU46hItJ.js} +1 -1
  55. package/dist/assets/types-CGHLt1p3.js +1 -0
  56. package/dist/assets/useBuddyChat-BAXQTpDe.js +1 -0
  57. package/dist/assets/useDataSources-BzANkZ-2.js +1 -0
  58. package/dist/assets/useDevices-BVdyDydh.js +1 -0
  59. package/dist/assets/useGeolocation-pw7czrxn.js +2 -0
  60. package/dist/assets/useLocation-EHr-mjoF.js +1 -0
  61. package/dist/assets/usePage-BxSyn1ra.js +1 -0
  62. package/dist/assets/{useSpaces-BLX5dcRn.js → useSpaces-DHNQFuNx.js} +1 -1
  63. package/dist/assets/{view-buddy-chat-zsw9qejY.js → view-buddy-chat-Chaaewes.js} +1 -1
  64. package/dist/assets/{view-card-add-B_sgzHrs.js → view-card-add-BXvnQWAc.js} +1 -1
  65. package/dist/assets/view-card-edit-CgLb5mwj.js +1 -0
  66. package/dist/assets/{view-channel-CdQg_5ue.js → view-channel-DvDBCPeY.js} +1 -1
  67. package/dist/assets/{view-channel-add-D4q7ETmT.js → view-channel-add-C7mEoHoB.js} +1 -1
  68. package/dist/assets/{view-channel-edit-CR0ZY31p.js → view-channel-edit-CZvrSz7b.js} +1 -1
  69. package/dist/assets/{view-channel-property-add-DyngAXiG.js → view-channel-property-add-orwLCjl5.js} +1 -1
  70. package/dist/assets/{view-channel-property-edit-CjlvsEFh.js → view-channel-property-edit-DOF9PPjM.js} +1 -1
  71. package/dist/assets/{view-channels-DA37YWd3.js → view-channels-Db-mcQI1.js} +1 -1
  72. package/dist/assets/view-config-module-edit-Bj8goT9V.js +1 -0
  73. package/dist/assets/view-config-modules-CSE8CNL5.js +1 -0
  74. package/dist/assets/view-config-plugin-edit-Ccz23Li3.js +1 -0
  75. package/dist/assets/view-config-plugins-nqfwBN99.js +1 -0
  76. package/dist/assets/{view-data-source-add-dmr-Oy1J.js → view-data-source-add-DtM9XLfg.js} +1 -1
  77. package/dist/assets/view-data-source-add-nopH0ylY.js +1 -0
  78. package/dist/assets/view-data-source-edit-D4ydk2VH.js +1 -0
  79. package/dist/assets/view-data-source-edit-Dp0Pqy0i.js +1 -0
  80. package/dist/assets/{view-device-E11gumVb.js → view-device-7jkJP622.js} +1 -1
  81. package/dist/assets/{view-device-add-DmuY3Nex.js → view-device-add-6i_XWchh.js} +1 -1
  82. package/dist/assets/{view-device-control-C9efhxX6.js → view-device-control-DlsRrZxC.js} +1 -1
  83. package/dist/assets/{view-device-edit-CvtWXup8.js → view-device-edit-BD2K34VG.js} +1 -1
  84. package/dist/assets/{view-devices-BwMpm6Zg.js → view-devices-DB8_q7_P.js} +1 -1
  85. package/dist/assets/view-display-COiayQkL.js +1 -0
  86. package/dist/assets/{view-display-edit-CekgS7VQ.js → view-display-edit-DTaEWtO3.js} +1 -1
  87. package/dist/assets/{view-display-tokens-Db_0xxNh.js → view-display-tokens-BoACswdD.js} +1 -1
  88. package/dist/assets/{view-displays-DHLyfOTN.js → view-displays-CBdDRgaL.js} +1 -1
  89. package/dist/assets/view-extension-detail-B2wnbsk9.js +1 -0
  90. package/dist/assets/{view-extensions-6Gitch6c.js → view-extensions-Bz--Fjaj.js} +1 -1
  91. package/dist/assets/view-location-CDyLfVDO.js +1 -0
  92. package/dist/assets/view-location-add-CGgBIAgB.js +1 -0
  93. package/dist/assets/view-location-edit-CAX2ggvY.js +1 -0
  94. package/dist/assets/{view-locations-Dv7cV_5V.js → view-locations-B7aVeHAD.js} +1 -1
  95. package/dist/assets/{view-lock-screen-tZAiDrMd.js → view-lock-screen-kdhlLwSb.js} +1 -1
  96. package/dist/assets/view-onboarding-CaGlPJM6.js +1 -0
  97. package/dist/assets/{view-page-CVwZzNdH.js → view-page-DxNV6y5m.js} +1 -1
  98. package/dist/assets/{view-page-add-1D7giLtV.js → view-page-add-CvGvxMSE.js} +1 -1
  99. package/dist/assets/{view-page-configure-DUvxcSmP.js → view-page-configure-CrTxMJgk.js} +1 -1
  100. package/dist/assets/{view-page-configure-BS7zZ9g_.js → view-page-configure-DrBIxFGf.js} +1 -1
  101. package/dist/assets/{view-page-data-source-add-2C2-Z74K.js → view-page-data-source-add-DuYoPOar.js} +1 -1
  102. package/dist/assets/{view-page-data-source-edit-B0wjmkZD.js → view-page-data-source-edit-B5w4QGHW.js} +1 -1
  103. package/dist/assets/{view-page-edit-alDjMIlH.js → view-page-edit-BlQLgqiZ.js} +1 -1
  104. package/dist/assets/{view-page-plugin-TLht-bg8.js → view-page-plugin-VSF1J0Oi.js} +1 -1
  105. package/dist/assets/{view-pages-D-rCoyl6.js → view-pages-DWKbwrRQ.js} +1 -1
  106. package/dist/assets/{view-profile-general-BtvkiiEu.js → view-profile-general-BMx8lWXa.js} +1 -1
  107. package/dist/assets/{view-profile-security-BIC2NObt.js → view-profile-security-KnRAWa6Q.js} +1 -1
  108. package/dist/assets/{view-scene-add-BOMy4IGB.js → view-scene-add-wIBq7EFZ.js} +1 -1
  109. package/dist/assets/{view-scene-edit-0CMQWdaK.js → view-scene-edit-wePOMmC5.js} +1 -1
  110. package/dist/assets/{view-scenes-DEjSRBWu.js → view-scenes-D6ZlGr8N.js} +1 -1
  111. package/dist/assets/{view-sign-in-BlqCSu2x.js → view-sign-in-CieZpBrE.js} +1 -1
  112. package/dist/assets/{view-sign-up-DZgUwhLl.js → view-sign-up-CpGd1iHT.js} +1 -1
  113. package/dist/assets/view-space-DDSKSpra.js +1 -0
  114. package/dist/assets/view-space-FBfL1ie4.css +1 -0
  115. package/dist/assets/{view-space-add-DZmGsmcN.js → view-space-add-CL9Z65tb.js} +1 -1
  116. package/dist/assets/view-space-edit-Dn9A5lZ4.js +1 -0
  117. package/dist/assets/{view-spaces-BjvJoXdD.js → view-spaces-Bc2MKnNu.js} +1 -1
  118. package/dist/assets/{view-spaces-onboarding-B9sTxdTg.js → view-spaces-onboarding-DHbfPIGq.js} +1 -1
  119. package/dist/assets/{view-stats-CttqaCvg.js → view-stats-DvlHM7Jl.js} +1 -1
  120. package/dist/assets/{view-system-info-DN9PyzhN.js → view-system-info-CQIInO9H.js} +1 -1
  121. package/dist/assets/{view-system-log-detail-BUaIjf7K.js → view-system-log-detail-Cw6LoiFl.js} +1 -1
  122. package/dist/assets/view-system-logs-ElwwOlY8.js +1 -0
  123. package/dist/assets/{view-tile-BniApB-E.js → view-tile-BsWOTLib.js} +1 -1
  124. package/dist/assets/{view-tile-add-BiA2KGti.js → view-tile-add-CjfCjQSC.js} +1 -1
  125. package/dist/assets/{view-tile-add-ACtlCkNh.js → view-tile-add-jXqH7ZJv.js} +1 -1
  126. package/dist/assets/{view-tile-data-source-add-DpmeDEiX.js → view-tile-data-source-add-D9VaAuc8.js} +1 -1
  127. package/dist/assets/{view-tile-data-source-edit-CNT_U0E7.js → view-tile-data-source-edit-CGhHf-LJ.js} +1 -1
  128. package/dist/assets/view-tile-edit-D6iaLL2E.js +1 -0
  129. package/dist/assets/view-tile-edit-QB7R06l0.js +1 -0
  130. package/dist/assets/view-tile-edit-UmVRTa9L.js +1 -0
  131. package/dist/assets/{view-user-add-DcxsPok0.js → view-user-add-B8tLA57m.js} +1 -1
  132. package/dist/assets/{view-user-edit-CgEeWlCF.js → view-user-edit-DeGnbWON.js} +1 -1
  133. package/dist/assets/{view-users-BS-spavt.js → view-users-DsPFN_gY.js} +1 -1
  134. package/dist/assets/weather-Cn8defxt.js +2 -0
  135. package/dist/assets/weather-forecast.transformers-CMVl2ts0.js +1 -0
  136. package/dist/index.html +80 -68
  137. package/package.json +1 -1
  138. package/dist/assets/common-cN85xDKw.js +0 -150
  139. package/dist/assets/components-AFjGnJ25.js +0 -1
  140. package/dist/assets/components-Br7LKZlm.js +0 -1
  141. package/dist/assets/components-C59v4_pJ.css +0 -1
  142. package/dist/assets/components-CGnzhpoZ.js +0 -1
  143. package/dist/assets/components-CXgzOYZ_.js +0 -1
  144. package/dist/assets/components-DNszp1Of.js +0 -1
  145. package/dist/assets/composables-BRBIeA1m.js +0 -1
  146. package/dist/assets/composables-C-sW1sdO.js +0 -1
  147. package/dist/assets/composables-CT-gUS9h2.js +0 -1
  148. package/dist/assets/composables-DMou12fO.js +0 -1
  149. package/dist/assets/composables-Z6_f_-h6.js +0 -1
  150. package/dist/assets/composables-drOusMF7.js +0 -1
  151. package/dist/assets/composables-giB9ZLTn.js +0 -1
  152. package/dist/assets/dashboard-CQM-Y3p4.js +0 -2
  153. package/dist/assets/dashboard.types-DuGoinI9.js +0 -1
  154. package/dist/assets/index-DowlhwO_.css +0 -1
  155. package/dist/assets/index-dNGzbMwi.js +0 -16
  156. package/dist/assets/input-number-C7JOAR4a.js +0 -1
  157. package/dist/assets/integration-config-dialog-Dcb-VziW.js +0 -1
  158. package/dist/assets/layout-profile-BWxuYUGu.js +0 -1
  159. package/dist/assets/layout-sign-DXHWLWm8.js +0 -1
  160. package/dist/assets/list-locations-C2VothPX.js +0 -1
  161. package/dist/assets/logs-entries.transformers-BnRxEggq.js +0 -1
  162. package/dist/assets/page-configure-B9xgkt0n.js +0 -1
  163. package/dist/assets/page-configure-IJzKV_zn.js +0 -1
  164. package/dist/assets/system-DmGcOxzw.js +0 -2
  165. package/dist/assets/types-PhBYs4jt.js +0 -1
  166. package/dist/assets/useBuddyChat-wJHfLu8C.js +0 -1
  167. package/dist/assets/useDataSources-Xo2JI-j1.js +0 -1
  168. package/dist/assets/useDevices-C4I_mc6g.js +0 -1
  169. package/dist/assets/useGeolocation-B-lLIPuH.js +0 -2
  170. package/dist/assets/useLocation-X9X01BDi.js +0 -1
  171. package/dist/assets/usePage-DGYAAccW.js +0 -1
  172. package/dist/assets/view-card-edit-BGwgB8KO.js +0 -1
  173. package/dist/assets/view-config-module-edit-YaW7Nc9X.js +0 -1
  174. package/dist/assets/view-config-modules-CX0ll8u8.js +0 -1
  175. package/dist/assets/view-config-plugin-edit-C8WnaQVh.js +0 -1
  176. package/dist/assets/view-config-plugins-CHK5H7hn.js +0 -1
  177. package/dist/assets/view-data-source-add-DUyxIdZT.js +0 -1
  178. package/dist/assets/view-data-source-edit-CNTAkZCd.js +0 -1
  179. package/dist/assets/view-data-source-edit-FLqXPAgo.js +0 -1
  180. package/dist/assets/view-display-CPYKKMYq.js +0 -1
  181. package/dist/assets/view-extension-detail-D1oTrpIB.js +0 -1
  182. package/dist/assets/view-location-add-bYLT1klE.js +0 -1
  183. package/dist/assets/view-location-edit-CBLVTUQB.js +0 -1
  184. package/dist/assets/view-location-zL7wbMRX.js +0 -1
  185. package/dist/assets/view-onboarding-D87y3v5U.js +0 -1
  186. package/dist/assets/view-space-Doiu9Fxd.js +0 -1
  187. package/dist/assets/view-space-edit-D5h_5a-5.js +0 -1
  188. package/dist/assets/view-system-logs-Czbaer7r.js +0 -1
  189. package/dist/assets/view-tile-edit-B8en6Fdi.js +0 -1
  190. package/dist/assets/view-tile-edit-BD7D0ofK.js +0 -1
  191. package/dist/assets/view-tile-edit-CX4MyysW.js +0 -1
  192. package/dist/assets/weather-BMdp5G2E.js +0 -2
  193. package/dist/assets/weather-forecast.transformers-CUCx0H5R.js +0 -1
  194. /package/dist/assets/{auth.constants-BUY5f92r.js → auth.constants-BtlHaDRV.js} +0 -0
  195. /package/dist/assets/{composables-CoWw0p8s2.js → composables-BU1aKa642.js} +0 -0
  196. /package/dist/assets/{empty-C13Ke09q.js → empty-C-72o5ew.js} +0 -0
  197. /package/dist/assets/{extensions.constants-BtEcoiTe.js → extensions.constants-zRRiNzmt.js} +0 -0
  198. /package/dist/assets/{gridstack.min-Df4k2Mbm.js → gridstack.min-BC6WoZvX.js} +0 -0
  199. /package/dist/assets/{keys-DHzb5Fmv.js → keys-C6Zi4a10.js} +0 -0
  200. /package/dist/assets/{keys-BrCp8xLt.js → keys-DVEtutPb.js} +0 -0
  201. /package/dist/assets/{keys-C5lGGSUO.js → keys-DWeeqbdi.js} +0 -0
  202. /package/dist/assets/{keys-C9WPkx4T.js → keys-o2K4DVjh.js} +0 -0
  203. /package/dist/assets/{leaflet-src-CM2g0oWb.js → leaflet-src-B49UyrlR.js} +0 -0
  204. /package/dist/assets/{leaflet-src.esm-BvgZn2LC.js → leaflet-src.esm-YKGwaZsZ.js} +0 -0
  205. /package/dist/assets/{marker-icon-2x-aQZMbcaM.js → marker-icon-2x-BCzqJChB.js} +0 -0
  206. /package/dist/assets/{marker-icon-BgxhuWdA.js → marker-icon-JzPv91fE.js} +0 -0
  207. /package/dist/assets/{marker-shadow-DdS0J0ev.js → marker-shadow-tj6c2pB6.js} +0 -0
  208. /package/dist/assets/{pages-cards.contants-Ca3ia7K9.js → pages-cards.contants-B5RdaI3z.js} +0 -0
  209. /package/dist/assets/{pages-tiles.constants-BnyIVevk.js → pages-tiles.constants-Day6cR-b.js} +0 -0
  210. /package/dist/assets/{system.exceptions-VjLQngEF.js → system.exceptions-CLPql-b3.js} +0 -0
  211. /package/dist/assets/{view-not-found-BIMavSUn.js → view-not-found-C0Nl0aC-.js} +0 -0
  212. /package/dist/assets/{weather-icon-BbtxrOUW.js → weather-icon-CkuFNv0P.js} +0 -0
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Br as n,C as r,Ct as i,Di as a,Hr as o,Jr as s,Jt as c,Kr as l,Lr as u,Lt as d,M as f,Mr as p,N as m,Nr as h,O as g,Oi as _,Or as v,Qr as y,Qt as b,S as x,Si as S,Sr as C,T as ee,Tr as te,Ur as ne,V as re,Xr as w,Yr as ie,Zn as ae,Zr as oe,Zt as se,_i as T,_r as E,_t as ce,ai as le,ar as ue,br as D,bt as de,ci as fe,cr as pe,ct as me,d as O,di as he,f as ge,gr as k,h as A,hr as j,in as _e,ir as ve,ji as M,kr as ye,lr as N,m as P,mr as F,on as be,p as I,pi as xe,pt as Se,sr as L,t as R,tt as Ce,ui as z,vi as we,vr as B,w as Te,xr as V}from"./icon-with-child-DmQ_XhQy.js";import{$n as Ee,Ai as De,Bi as Oe,Br as ke,Ci as Ae,Di as H,Ei as je,Fi as Me,Fr as U,Gi as Ne,Gr as W,H as Pe,Ii as G,Jr as Fe,Li as K,Nr as Ie,On as Le,Rr as Re,Si as ze,T as Be,Ti as Ve,Ui as He,Vi as Ue,Vr as We,Wi as Ge,Wr as Ke,Xi as qe,Xr as Je,Zi as Ye,Zn as Xe,_a as Ze,_i as Qe,aa as $e,dr as q,er as J,fi as et,ga as tt,gi as nt,ha as rt,ma as it,nr as Y,pi as at,qi as ot,rr as st,ti as X,tr as ct,vi as lt,xi as Z,yi as Q,zr as ut}from"./common-cN85xDKw.js";import{n as $,t as dt}from"./table-D0cG6bxj.js";import{t as ft}from"./input-number-C7JOAR4a.js";import{n as pt,r as mt}from"./radio-y6_rGpZ-.js";import{t as ht}from"./drawer-Bd7mWPmH.js";import{t as gt}from"./pagination-e4DiU-Sy.js";import{m as _t,p as vt,t as yt}from"./components-CXgzOYZ_.js";import{o as bt}from"./keys-C9WPkx4T.js";import{A as xt,D as St,G as Ct,I as wt,K as Tt,M as Et,N as Dt,O as Ot,S as kt,T as At,U as jt,_ as Mt,c as Nt,g as Pt,k as Ft,l as It,o as Lt,p as Rt,s as zt,t as Bt,v as Vt,w as Ht}from"./composables-UhwwO7oA.js";import{t as Ut}from"./useDevices-C4I_mc6g.js";var Wt=se({modelValue:{type:b(Array)},max:Number,tagType:{...Ae.type,default:`info`},tagEffect:Ae.effect,effect:{type:b(String),default:`light`},trigger:{type:b(String),default:Ze.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:``},size:me,clearable:Boolean,clearIcon:{type:m,default:re},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:b(String),default:`off`},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),Gt={[tt]:e=>S(e)||be(e),[it]:e=>S(e)||be(e),[rt]:e=>a(e),"add-tag":e=>a(e)||S(e),"remove-tag":(e,t)=>a(e)&&_e(t),"drag-tag":(e,t,n)=>_e(e)&&_e(t)&&a(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function Kt({wrapperRef:e,handleDragged:t,afterDragged:n}){let r=Se(`input-tag`),i=he(),a=z(!1),o,s,c,l;function u(e){return`.${r.e(`inner`)} .${r.namespace.value}-tag:nth-child(${e+1})`}function d(t,n){o=n,s=e.value.querySelector(u(n)),s&&(s.style.opacity=`0.5`),t.dataTransfer.effectAllowed=`move`}function f(t,n){if(c=n,t.preventDefault(),t.dataTransfer.dropEffect=`move`,be(o)||o===n){a.value=!1;return}let s=e.value.querySelector(u(n)).getBoundingClientRect(),d=o+1!==n,f=o-1!==n,p=t.clientX-s.left,m=d?f?.5:1:-1,h=f?d?.5:0:1;l=p<=s.width*m?`before`:p>s.width*h?`after`:void 0;let g=e.value.querySelector(`.${r.e(`inner`)}`),_=g.getBoundingClientRect(),v=Number.parseFloat(ce(g,`gap`))/2,y=s.top-_.top,b=-9999;if(l===`before`)b=Math.max(s.left-_.left-v,Math.floor(-v/2));else if(l===`after`){let e=s.right-_.left;b=e+(_.width===e?Math.floor(v/2):v)}de(i.value,{top:`${y}px`,left:`${b}px`}),a.value=!!l}function p(e){e.preventDefault(),s&&(s.style.opacity=``),l&&!be(o)&&!be(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:d,handleDragOver:f,handleDragEnd:p}}function qt(){let e=z(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function Jt({props:e,emit:t,formItem:n}){let r=Te(),a=ee(),o=he(),s=z(),l=z(),u=F(()=>[`small`].includes(a.value)?`small`:`default`),d=F(()=>e.modelValue?.length?void 0:e.placeholder),f=F(()=>!(e.readonly||r.value)),p=F(()=>be(e.max)?!1:(e.modelValue?.length??0)>=e.max),m=F(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),h=F(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),g=n=>{let r=[...e.modelValue??[],...$e(n)];t(tt,r),t(it,r),t(`add-tag`,n),s.value=void 0},_=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},v=n=>{let r=n.clipboardData?.getData(`text`);if(e.readonly||p.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=_(s);c.length&&(g(c),t(rt,s),n.preventDefault())},y=n=>{if(p.value){s.value=void 0;return}if(!se.value){if(e.delimiter&&s.value){let e=_(s.value);e.length&&g(e)}t(rt,n.target.value)}},b=t=>{if(!se.value)switch(ot(t)){case e.trigger:t.preventDefault(),t.stopPropagation(),S();break;case Ze.numpadEnter:e.trigger===Ze.enter&&(t.preventDefault(),t.stopPropagation(),S());break;case Ze.backspace:!s.value&&e.modelValue?.length&&(t.preventDefault(),t.stopPropagation(),C(e.modelValue.length-1));break}},x=t=>{if(!(se.value||!i()))switch(ot(t)){case Ze.space:e.trigger===Ze.space&&(t.preventDefault(),t.stopPropagation(),S());break}},S=()=>{let e=s.value?.trim();!e||p.value||g(e)},C=n=>{let r=(e.modelValue??[]).slice(),[i]=r.splice(n,1);t(tt,r),t(it,r),t(`remove-tag`,i,n)},te=()=>{s.value=void 0,t(tt,void 0),t(it,void 0),t(`clear`)},ne=(n,r,i)=>{let a=(e.modelValue??[]).slice(),[o]=a.splice(n,1),s=r>n&&i===`before`?-1:r<n&&i===`after`?1:0;a.splice(r+s,0,o),t(tt,a),t(it,a),t(`drag-tag`,n,r+s,o)},re=()=>{o.value?.focus()},ie=()=>{o.value?.blur()},{wrapperRef:ae,isFocused:oe}=Ue(o,{disabled:r,beforeBlur(e){return l.value?.isFocusInsideContent(e)},afterBlur(){e.saveOnBlur?S():s.value=void 0,e.validateEvent&&n?.validate?.(`blur`).catch(e=>c(e))}}),{isComposing:se,handleCompositionStart:T,handleCompositionUpdate:E,handleCompositionEnd:ce}=Oe({afterComposition:y});return w(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(it).catch(e=>c(e))}),{inputRef:o,wrapperRef:ae,tagTooltipRef:l,isFocused:oe,isComposing:se,inputValue:s,size:a,tagSize:u,placeholder:d,closable:f,disabled:r,inputLimit:p,showTagList:m,collapseTagList:h,handleDragged:ne,handlePaste:v,handleInput:y,handleKeydown:b,handleKeyup:x,handleAddTag:S,handleRemoveTag:C,handleClear:te,handleCompositionStart:T,handleCompositionUpdate:E,handleCompositionEnd:ce,focus:re,blur:ie}}function Yt({props:e,isFocused:t,hovering:n,disabled:r,inputValue:i,size:a,validateState:o,validateIcon:c,needStatusIcon:l}){let u=s(),f=ie(),p=Se(`input-tag`),m=Se(`input`),h=z(),g=z(),_=F(()=>[p.b(),p.is(`focused`,t.value),p.is(`hovering`,n.value),p.is(`disabled`,r.value),p.m(a.value),p.e(`wrapper`),u.class]),v=F(()=>[u.style]),y=F(()=>[p.e(`inner`),p.is(`draggable`,e.draggable),p.is(`left-space`,!e.modelValue?.length&&!f.prefix),p.is(`right-space`,!e.modelValue?.length&&!x.value)]),b=F(()=>e.clearable&&!r.value&&!e.readonly&&(e.modelValue?.length||i.value)&&(t.value||n.value)),x=F(()=>f.suffix||b.value||o.value&&c.value&&l.value),S=fe({innerWidth:0,collapseItemWidth:0}),C=()=>{if(!g.value)return 0;let e=window.getComputedStyle(g.value);return Number.parseFloat(e.gap||`6px`)},ee=()=>{S.innerWidth=Number.parseFloat(window.getComputedStyle(g.value).width)},te=()=>{S.collapseItemWidth=h.value.getBoundingClientRect().width},ne=F(()=>{if(!e.collapseTags)return{};let t=C(),n=t+11,r=h.value&&e.maxCollapseTags===1?S.innerWidth-S.collapseItemWidth-t-n:S.innerWidth-n;return{maxWidth:`${Math.max(r,0)}px`}});return d(g,ee),d(h,te),{ns:p,nsInput:m,containerKls:_,containerStyle:v,innerKls:y,showClear:b,showSuffix:x,tagStyle:ne,collapseItemRef:h,innerRef:g}}var Xt=[`id`,`minlength`,`maxlength`,`disabled`,`readonly`,`autocomplete`,`tabindex`,`placeholder`,`autofocus`,`ariaLabel`],Zt=[`textContent`],Qt=Ce(C({name:`ElInputTag`,inheritAttrs:!1,__name:`input-tag`,props:Wt,emits:Gt,setup(i,{expose:a,emit:s}){let c=i,u=s,d=Ye(),p=ie(),{form:m,formItem:h}=x(),{inputId:v}=r(c,{formItemContext:h}),b=F(()=>m?.statusIcon??!1),S=F(()=>h?.validateState||``),C=F(()=>S.value&&f[S.value]),{inputRef:ee,wrapperRef:te,tagTooltipRef:re,isFocused:w,inputValue:ae,size:oe,tagSize:se,placeholder:ce,closable:de,disabled:fe,showTagList:pe,collapseTagList:me,handleDragged:O,handlePaste:he,handleInput:ge,handleKeydown:A,handleKeyup:_e,handleRemoveTag:P,handleClear:be,handleCompositionStart:I,handleCompositionUpdate:xe,handleCompositionEnd:Se,focus:R,blur:Ce}=Jt({props:c,emit:u,formItem:h}),{hovering:z,handleMouseEnter:Te,handleMouseLeave:Ee}=qt(),{calculatorRef:Oe,inputStyle:ke}=qe(),{dropIndicatorRef:Ae,showDropIndicator:H,handleDragStart:je,handleDragOver:Me,handleDragEnd:U}=Kt({wrapperRef:te,handleDragged:O,afterDragged:R}),{ns:Ne,nsInput:W,containerKls:Pe,containerStyle:G,innerKls:Fe,showClear:K,showSuffix:Ie,tagStyle:Le,collapseItemRef:Re,innerRef:Be}=Yt({props:c,hovering:z,isFocused:w,inputValue:ae,disabled:fe,size:oe,validateState:S,validateIcon:C,needStatusIcon:b});return a({focus:R,blur:Ce}),(r,a)=>(n(),B(`div`,{ref_key:`wrapperRef`,ref:te,class:_(T(Pe)),style:t(T(G)),onMouseenter:a[9]||=(...e)=>T(Te)&&T(Te)(...e),onMouseleave:a[10]||=(...e)=>T(Ee)&&T(Ee)(...e)},[T(p).prefix?(n(),B(`div`,{key:0,class:_(T(Ne).e(`prefix`))},[ne(r.$slots,`prefix`)],2)):E(`v-if`,!0),j(`div`,{ref_key:`innerRef`,ref:Be,class:_(T(Fe))},[(n(!0),B(N,null,o(T(pe),(e,o)=>(n(),k(T(ze),{key:o,size:T(se),closable:T(de),type:i.tagType,effect:i.tagEffect,draggable:T(de)&&i.draggable,style:t(T(Le)),"disable-transitions":``,onClose:e=>T(P)(o),onDragstart:e=>T(je)(e,o),onDragover:e=>T(Me)(e,o),onDragend:T(U),onDrop:a[0]||=L(()=>{},[`stop`])},{default:y(()=>[ne(r.$slots,`tag`,{value:e,index:o},()=>[D(M(e),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`draggable`,`style`,`onClose`,`onDragstart`,`onDragover`,`onDragend`]))),128)),i.collapseTags&&i.modelValue&&i.modelValue.length>i.maxCollapseTags?(n(),k(T(De),{key:0,ref_key:`tagTooltipRef`,ref:re,disabled:!i.collapseTagsTooltip,"fallback-placements":[`bottom`,`top`,`right`,`left`],effect:i.effect,placement:`bottom`},{default:y(()=>[j(`div`,{ref_key:`collapseItemRef`,ref:Re,class:_(T(Ne).e(`collapse-tag`))},[V(T(ze),{closable:!1,size:T(se),type:i.tagType,effect:i.tagEffect,"disable-transitions":``},{default:y(()=>[D(` + `+M(i.modelValue.length-i.maxCollapseTags),1)]),_:1},8,[`size`,`type`,`effect`])],2)]),content:y(()=>[j(`div`,{class:_(T(Ne).e(`input-tag-list`))},[(n(!0),B(N,null,o(T(me),(e,t)=>(n(),k(T(ze),{key:t,size:T(se),closable:T(de),type:i.tagType,effect:i.tagEffect,"disable-transitions":``,onClose:e=>T(P)(t+i.maxCollapseTags)},{default:y(()=>[ne(r.$slots,`tag`,{value:e,index:t+i.maxCollapseTags},()=>[D(M(e),1)])]),_:2},1032,[`size`,`closable`,`type`,`effect`,`onClose`]))),128))],2)]),_:3},8,[`disabled`,`effect`])):E(`v-if`,!0),j(`div`,{class:_(T(Ne).e(`input-wrapper`))},[e(j(`input`,ye({id:T(v),ref_key:`inputRef`,ref:ee,"onUpdate:modelValue":a[1]||=e=>le(ae)?ae.value=e:null},T(d),{type:`text`,minlength:i.minlength,maxlength:i.maxlength,disabled:T(fe),readonly:i.readonly,autocomplete:i.autocomplete,tabindex:i.tabindex,placeholder:T(ce),autofocus:i.autofocus,ariaLabel:i.ariaLabel,class:T(Ne).e(`input`),style:T(ke),onCompositionstart:a[2]||=(...e)=>T(I)&&T(I)(...e),onCompositionupdate:a[3]||=(...e)=>T(xe)&&T(xe)(...e),onCompositionend:a[4]||=(...e)=>T(Se)&&T(Se)(...e),onPaste:a[5]||=(...e)=>T(he)&&T(he)(...e),onInput:a[6]||=(...e)=>T(ge)&&T(ge)(...e),onKeydown:a[7]||=(...e)=>T(A)&&T(A)(...e),onKeyup:a[8]||=(...e)=>T(_e)&&T(_e)(...e)}),null,16,Xt),[[ve,T(ae)]]),j(`span`,{ref_key:`calculatorRef`,ref:Oe,"aria-hidden":`true`,class:_(T(Ne).e(`input-calculator`)),textContent:M(T(ae))},null,10,Zt)],2),e(j(`div`,{ref_key:`dropIndicatorRef`,ref:Ae,class:_(T(Ne).e(`drop-indicator`))},null,2),[[ue,T(H)]])],2),T(Ie)?(n(),B(`div`,{key:1,class:_(T(Ne).e(`suffix`))},[ne(r.$slots,`suffix`),T(K)?(n(),k(T(g),{key:0,class:_([T(Ne).e(`icon`),T(Ne).e(`clear`)]),onMousedown:L(T(we),[`prevent`]),onClick:T(be)},{default:y(()=>[(n(),k(l(i.clearIcon)))]),_:1},8,[`class`,`onMousedown`,`onClick`])):E(`v-if`,!0),S.value&&C.value&&b.value?(n(),k(T(g),{key:1,class:_([T(W).e(`icon`),T(W).e(`validateIcon`),T(W).is(`loading`,S.value===`validating`)])},{default:y(()=>[(n(),k(l(C.value)))]),_:1},8,[`class`])):E(`v-if`,!0)],2)):E(`v-if`,!0)],38))}})),$t=C({name:`ElSpaceItem`,props:se({prefixCls:{type:String}}),setup(e,{slots:t}){let n=Se(`space`),r=F(()=>`${e.prefixCls||n.b()}__item`);return()=>te(`div`,{class:r.value},ne(t,`default`))}}),en={small:8,default:12,large:16};function tn(e){let t=Se(`space`),n=F(()=>[t.b(),t.m(e.direction),e.class]),r=z(0),i=z(0),a=F(()=>[e.wrap||e.fill?{flexWrap:`wrap`}:{},{alignItems:e.alignment},{rowGap:`${i.value}px`,columnGap:`${r.value}px`},e.style]),o=F(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return oe(()=>{let{size:t=`small`,wrap:n,direction:a,fill:o}=e;if(S(t)){let[e=0,n=0]=t;r.value=e,i.value=n}else{let e;e=_e(t)?t:en[t||`small`]||en.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 nn=Ce(C({name:`ElSpace`,props:se({direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},class:{type:b([String,Object,Array]),default:``},style:{type:b([String,Array,Object]),default:``},alignment:{type:b(String),default:`center`},prefixCls:{type:String},spacer:{type:b([Object,String,Number,Array]),default:null,validator:e=>v(e)||_e(e)||a(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:ae,validator:e=>_e(e)||S(e)&&e.length===2&&e.every(_e)}}),setup(e,{slots:t}){let{classes:n,containerStyle:r,itemStyle:i}=tn(e);function a(t,n=``,r=[]){let{prefixCls:o}=e;return t.forEach((e,t)=>{Ge(e)?S(e.children)&&e.children.forEach((e,t)=>{Ge(e)&&S(e.children)?a(e.children,`${n+t}-`,r):v(e)&&e?.type===pe?r.push(e):r.push(V($t,{style:i.value,prefixCls:o,key:`nested-${n+t}`},{default:()=>[e]},He.PROPS|He.STYLE,[`style`,`prefixCls`]))}):Ne(e)&&r.push(V($t,{style:i.value,prefixCls:o,key:`LoopKey${n+t}`},{default:()=>[e]},He.PROPS|He.STYLE,[`style`,`prefixCls`]))}),r}return()=>{let{spacer:o,direction:s}=e,c=ne(t,`default`,{key:0},()=>[]);if((c.children??[]).length===0)return null;if(S(c.children)){let e=a(c.children);if(o){let t=e.length-1;e=e.reduce((e,n,r)=>{let a=[...e,n];return r!==t&&a.push(V(`span`,{style:[i.value,s===`vertical`?`width: 100%`:null],key:r},[v(o)?o:D(o,He.TEXT)],He.STYLE)),a},[])}return V(`div`,{class:n.value,style:r.value},e,He.STYLE|He.CLASS)}return c.children}}})),rn=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}=Tt({id:r.property.channel});return u(()=>{o().catch(()=>{})}),(t,o)=>r.withFilters?(n(),k(T(Je),{key:0,type:r.filters.channels.includes(e.property.channel)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=L(t=>i(`filter-by`,e.property.channel,!r.filters.channels.includes(e.property.channel)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.channels.includes(e.property.channel)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)?.name||e.property.channel),1)]),_:1},8,[`type`])):(n(),k(T(W),{key:1,class:`font-400!`},{default:y(()=>[D(M(T(a)?.name||e.property.channel),1)]),_:1}))}}),an={class:`flex flex-row items-center gap-1`},on=C({name:`ChannelsPropertiesTableColumnDataType`,__name:`channels-properties-table-column-data-type`,props:{property:{},filters:{},withFilters:{type:Boolean,default:!0}},emits:[`filter-by`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),o=F(()=>r.property.dataType===Y.enum),s=F(()=>r.property.dataType===Y.char||r.property.dataType===Y.uchar||r.property.dataType===Y.short||r.property.dataType===Y.ushort||r.property.dataType===Y.int||r.property.dataType===Y.uint||r.property.dataType===Y.float),c=F(()=>o.value&&Array.isArray(r.property.format)?r.property.format.filter(e=>e!==null).map(e=>e.toString()):[]),l=F(()=>s.value&&Array.isArray(r.property.format)&&r.property.format.length===2?Number(r.property.format[0]):null),u=F(()=>s.value&&Array.isArray(r.property.format)&&r.property.format.length===2?Number(r.property.format[1]):null),d=F(()=>s.value&&r.property.step?r.property.step:null),f=F(()=>r.property.invalid?r.property.invalid:null);return(t,p)=>(n(),B(`div`,an,[r.withFilters?(n(),k(T(Je),{key:0,type:r.filters.dataTypes.includes(e.property.dataType)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:p[0]||=L(t=>i(`filter-by`,e.property.dataType,!r.filters.dataTypes.includes(e.property.dataType)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.dataTypes.includes(e.property.dataType)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)(`devicesModule.dataTypes.${r.property.dataType}`)),1)]),_:1},8,[`type`])):(n(),k(T(W),{key:1,class:`font-400!`},{default:y(()=>[D(M(T(a)(`devicesModule.dataTypes.${r.property.dataType}`)),1)]),_:1})),o.value?(n(),k(T(vt),{key:2,title:T(a)(`devicesModule.table.channelsProperties.columns.dataType.type.enum`),width:200,placement:`left`,trigger:`click`},{reference:y(()=>[V(T(A),{link:``},{default:y(()=>[V(T(I),{icon:`mdi:information-outline`,class:`font-size-base`})]),_:1})]),default:y(()=>[V(T(W),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.format.title.enum`))+`:`,1),D(` `+M(c.value.join(`, `)||T(a)(`devicesModule.texts.misc.noValuesProvided`)),1)]),_:1}),f.value===null?E(``,!0):(n(),k(T(W),{key:0,class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.invalid.title`))+`:`,1),D(` `+M(f.value),1)]),_:1}))]),_:1},8,[`title`])):s.value?(n(),k(T(vt),{key:3,title:T(a)(`devicesModule.table.channelsProperties.columns.dataType.type.numeric`),width:200,trigger:`click`,placement:`left`},{reference:y(()=>[V(T(A),{link:``},{default:y(()=>[V(T(I),{icon:`mdi:information-outline`,class:`font-size-base`})]),_:1})]),default:y(()=>[V(T(W),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.format.title.min`))+`:`,1),D(` `+M(l.value??T(a)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),V(T(W),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.format.title.max`))+`:`,1),D(` `+M(u.value??T(a)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),V(T(W),{class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.step.title`))+`:`,1),D(` `+M(d.value??T(a)(`devicesModule.texts.misc.notSet`)),1)]),_:1}),f.value===null?E(``,!0):(n(),k(T(W),{key:0,class:`block`},{default:y(()=>[j(`strong`,null,M(T(a)(`devicesModule.fields.channelsProperties.invalid.title`))+`:`,1),D(` `+M(f.value),1)]),_:1}))]),_:1},8,[`title`])):E(``,!0)]))}}),sn=C({name:`ChannelsPropertiesTableColumnIcon`,__name:`channels-properties-table-column-icon`,props:{property:{}},setup(e){let{icon:t}=kt({id:e.property.id});return(e,r)=>(n(),k(T(Ve),{size:32},{default:y(()=>[V(T(I),{icon:T(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),cn=[`title`],ln=C({name:`ChannelsPropertiesTableColumnValue`,__name:`channels-properties-table-column-value`,props:{property:{}},setup(e){let t=e,r=F(()=>{let e=t.property.value;return typeof e==`object`&&e&&`value`in e?e.value:e}),i=F(()=>{let e=t.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=F(()=>{let e=t.property.value;return typeof e==`object`&&e&&`trend`in e?e.trend??``:``});return(e,o)=>t.property.dataType===T(Y).string?(n(),k(T(W),{key:0,truncated:``},{default:y(()=>[D(M(r.value),1)]),_:1})):(n(),B(N,{key:1},[D(M(r.value===null?`-`:r.value)+M(t.property.unit?` ${t.property.unit}`:``)+` `,1),i.value?(n(),B(`span`,{key:0,title:a.value},M(i.value),9,cn)):E(``,!0)],64))}}),un={key:0,class:`h-full w-full leading-normal`},dn={key:1,class:`h-full w-full leading-normal`},fn={key:2,class:`h-full w-full leading-normal`},pn={class:`block`},mn=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(r,{emit:i}){let a=r,s=i,{t:c}=O(),{isMDDevice:l}=Ie(),u=F(()=>a.totalRows===0),d=U(a,`filters`,s),f=te(X,{direction:`vertical`}),p=({prop:e,order:t})=>{s(`update:sort-by`,e),s(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},m=e=>{s(`selected-changes`,e)},h=(e,t,n)=>{if(e===`channel`){let e=d.value.channels;n===!0?e.push(t):e=d.value.channels.filter(e=>e!==t),d.value.channels=Array.from(new Set(e))}else if(e===`category`){let e=d.value.categories;n===!0?e.push(t):e=d.value.categories.filter(e=>e!==t),d.value.categories=Array.from(new Set(e))}else if(e===`permission`){let e=d.value.permissions;n===!0?e.push(t):e=d.value.permissions.filter(e=>e!==t),d.value.permissions=Array.from(new Set(e))}else if(e===`dataType`){let e=d.value.dataTypes;n===!0?e.push(t):e=d.value.dataTypes.filter(e=>e!==t),d.value.dataTypes=Array.from(new Set(e))}};return(i,_)=>e((n(),k(T(dt),{"element-loading-text":T(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:t({maxHeight:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:p,onSelectionChange:m},{empty:y(()=>[a.loading?(n(),B(`div`,un,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:tune`})]),secondary:y(()=>[V(T(I),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):u.value&&!a.loading?(n(),B(`div`,dn,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:tune`})]),secondary:y(()=>[V(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[D(M(T(c)(`devicesModule.texts.channelsProperties.noProperties`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),B(`div`,fn,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:tune`})]),secondary:y(()=>[V(T(I),{icon:`mdi:filter-multiple`})]),_:1})]),title:y(()=>[V(T(W),{class:`block`},{default:y(()=>[D(M(T(c)(`devicesModule.texts.channelsProperties.noFilteredProperties`)),1)]),_:1}),V(T(A),{type:`primary`,plain:``,class:`mt-4`,onClick:_[0]||=e=>s(`reset-filters`)},{icon:y(()=>[V(T(I),{icon:`mdi:filter-off`})]),default:y(()=>[D(` `+M(T(c)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):E(``,!0)]),default:y(()=>[T(l)?(n(),k(T($),{key:0,type:`selection`,width:30})):E(``,!0),V(T($),{width:60,align:`center`},{default:y(e=>[V(sn,{property:e.row},null,8,[`property`])]),_:1}),V(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150,"class-name":`py-0!`},{default:y(e=>[e.row.name?(n(),B(N,{key:0},[j(`strong`,pn,M(e.row.name),1),a.withFilters?(n(),k(T(Je),{key:0,type:T(d).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400! block! leading-4`,onClick:L(t=>h(`category`,e.row.category,!T(d).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[T(d).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])):(n(),k(T(W),{key:1,class:`font-400! block! leading-4`},{default:y(()=>[D(M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1024))],64)):(n(),B(N,{key:1},[a.withFilters?(n(),k(T(Je),{key:0,type:T(d).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:L(t=>h(`category`,e.row.category,!T(d).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[T(d).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])):(n(),k(T(W),{key:1,class:`font-400!`},{default:y(()=>[D(M(T(c)(`devicesModule.categories.channelsProperties.${e.row.category}`)),1)]),_:2},1024))],64))]),_:1},8,[`label`]),a.withChannelColumn?(n(),k(T($),{key:1,label:T(c)(`devicesModule.table.channelsProperties.columns.channel.title`),prop:`channel`,"min-width":150},{default:y(e=>[V(rn,{property:e.row,filters:T(d),"with-filters":a.withFilters,onFilterBy:_[1]||=(e,t)=>h(`channel`,e,t)},null,8,[`property`,`filters`,`with-filters`])]),_:1},8,[`label`])):E(``,!0),V(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.permissions.title`),prop:`permissions`,"min-width":180},{default:y(e=>[V(T(nn),{spacer:T(f),direction:`horizontal`},{default:y(()=>[a.withFilters?(n(!0),B(N,{key:0},o(e.row.permissions,(e,t)=>(n(),k(T(Je),{key:`filter-${t}`,type:T(d).permissions.includes(e)?`danger`:void 0,underline:`never`,onClick:L(t=>h(`permission`,e,!T(d).permissions.includes(e)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[T(d).permissions.includes(e)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(c)(`devicesModule.permissions.${e}`)),1)]),_:2},1032,[`type`,`onClick`]))),128)):(n(!0),B(N,{key:1},o(e.row.permissions,(e,t)=>(n(),k(T(W),{key:`no-filter-${t}`},{default:y(()=>[D(M(T(c)(`devicesModule.permissions.${e}`)),1)]),_:2},1024))),128))]),_:2},1032,[`spacer`])]),_:1},8,[`label`]),V(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.dataType.title`),prop:`dataType`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":180},{default:y(e=>[V(on,{property:e.row,filters:T(d),"with-filters":a.withFilters,onFilterBy:_[2]||=(e,t)=>h(`dataType`,e,t)},null,8,[`property`,`filters`,`with-filters`])]),_:1},8,[`label`]),V(T($),{label:T(c)(`devicesModule.table.channelsProperties.columns.value.title`),prop:`value`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150},{default:y(e=>[V(ln,{property:e.row},null,8,[`property`])]),_:1},8,[`label`]),V(T($),{width:100,align:`right`},{default:y(e=>[V(T(A),{size:`small`,plain:``,"data-test-id":`edit-property`,onClick:L(t=>s(`edit`,e.row.id),[`stop`])},{icon:y(()=>[V(T(I),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),V(T(A),{size:`small`,type:`warning`,"data-test-id":`remove-property`,plain:``,class:`ml-1!`,onClick:L(t=>s(`remove`,e.row.id),[`stop`])},{icon:y(()=>[V(T(I),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[T(Ke),a.loading]])}}),hn={class:`flex flex-row items-center`},gn={class:`flex-grow flex flex-row items-center`},_n={class:`ml-3`},vn={class:`flex-grow flex flex-row items-center justify-end`},yn=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,i=t,{t:a}=O(),{properties:o,totalRows:s,sortBy:c,sortDir:l,filters:d,filtersActive:f,fetchProperties:p,areLoading:m,resetFilter:h}=Ht({channelId:r.channel.id,key:`channel-detail-${r.channel.id}`}),{canAddAnotherProperty:g}=xt({id:r.channel.id}),_=()=>{h()};return u(()=>{p().catch(()=>{})}),(t,u)=>(n(),k(T(lt),{shadow:`never`,"body-class":`p-0!`},{header:y(()=>[j(`div`,hn,[j(`div`,gn,[j(`div`,null,[V(T(Ve),{size:32},{default:y(()=>[V(T(I),{icon:`mdi:chip`,class:`w[20px] h[20px]`})]),_:1})]),j(`div`,_n,[j(`strong`,null,M(e.channel.name),1),V(T(W),{class:`block`},{default:y(()=>[D(M(T(a)(`devicesModule.categories.channels.${e.channel.category}`)),1)]),_:1})])]),j(`div`,vn,[V(T(A),{type:`primary`,plain:``,class:`px-4!`,size:`small`,disabled:!T(g),"data-test-id":`add-property`,onClick:u[0]||=e=>i(`property-add`,r.channel.id)},{icon:y(()=>[V(T(I),{icon:`mdi:plus`})]),default:y(()=>[D(` `+M(T(a)(`devicesModule.buttons.addProperty.title`)),1)]),_:1},8,[`disabled`]),V(T(A),{plain:``,class:`ml-2! px-4!`,size:`small`,"data-test-id":`edit-channel`,onClick:u[1]||=e=>i(`channel-edit`,r.channel.id)},{icon:y(()=>[V(T(I),{icon:`mdi:pencil`})]),_:1}),V(T(A),{type:`warning`,plain:``,class:`ml-2! px-4!`,size:`small`,"data-test-id":`remove-channel`,onClick:u[2]||=e=>i(`channel-remove`,r.channel.id)},{icon:y(()=>[V(T(I),{icon:`mdi:trash`})]),_:1})])])]),default:y(()=>[V(mn,{filters:T(d),"onUpdate:filters":u[3]||=e=>le(d)?d.value=e:null,"sort-by":T(c),"onUpdate:sortBy":u[4]||=e=>le(c)?c.value=e:null,"sort-dir":T(l),"onUpdate:sortDir":u[5]||=e=>le(l)?l.value=e:null,items:T(o),"total-rows":T(s),loading:T(m),"filters-active":T(f),"with-filters":!1,onEdit:u[6]||=e=>i(`property-edit`,r.channel.id,e),onRemove:u[7]||=e=>i(`property-remove`,r.channel.id,e),onResetFilters:_},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`])]),_:1}))}}),bn=[`element-loading-text`],xn=C({name:`ChannelAddForm`,__name:`channel-add-form`,props:{id:{},type:{},device:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:jt.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:r}){let i=t,a=r,{t:s}=O(),{devices:c}=Ut(),{categoriesOptions:l,devicesOptions:u,model:d,formEl:f,formChanged:p,submit:m,formResult:h,loadingDevices:g}=Ot({id:i.id,type:i.type,deviceId:i.device?.id}),_=fe({device:[{required:!0,message:s(`devicesModule.fields.channels.device.validation.required`),trigger:`change`}],category:[{required:!0,message:s(`devicesModule.fields.channels.category.validation.required`),trigger:`change`}],name:[{required:!0,message:s(`devicesModule.fields.channels.name.validation.required`),trigger:`change`}]}),v=F(()=>c.value.find(e=>e.id===d.device));return w(()=>h.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),m().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!f.value)return;f.value.resetFields()}}),w(()=>p.value,e=>{a(`update:remote-form-changed`,e)}),(t,r)=>(n(),k(T(Me),{ref_key:`formEl`,ref:f,model:T(d),rules:_,"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),B(`div`,{"element-loading-text":T(s)(`devicesModule.texts.devices.loadingDevices`)},[V(T(G),{label:T(s)(`devicesModule.fields.channels.device.title`),prop:[`device`]},{default:y(()=>[V(T(Z),{modelValue:T(d).device,"onUpdate:modelValue":r[0]||=e=>T(d).device=e,placeholder:T(s)(`devicesModule.fields.channels.device.placeholder`),name:`device`,filterable:``,readonly:i.device!==void 0,disabled:i.device!==void 0},{default:y(()=>[(n(!0),B(N,null,o(T(u),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`readonly`,`disabled`])]),_:1},8,[`label`]),v.value?(n(),k(T(K),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.device.description`),description:T(s)(`devicesModule.texts.devices.description.${v.value.category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,bn)),[[T(Ke),T(g)]]),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channels.id.title`),prop:[`id`]},{default:y(()=>[V(T(H),{modelValue:T(d).id,"onUpdate:modelValue":r[1]||=e=>T(d).id=e,placeholder:T(s)(`devicesModule.fields.channels.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channels.name.title`),prop:[`name`]},{default:y(()=>[V(T(H),{modelValue:T(d).name,"onUpdate:modelValue":r[2]||=e=>T(d).name=e,placeholder:T(s)(`devicesModule.fields.channels.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channels.category.title`),prop:[`category`]},{default:y(()=>[V(T(Z),{modelValue:T(d).category,"onUpdate:modelValue":r[3]||=e=>T(d).category=e,placeholder:T(s)(`devicesModule.fields.channels.category.placeholder`),name:`category`,filterable:``},{default:y(()=>[(n(!0),B(N,null,o(T(l),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(d).category?(n(),k(T(K),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.category.description`),description:T(s)(`devicesModule.texts.channels.description.${T(d).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channels.description.title`),prop:[`description`]},{default:y(()=>[V(T(H),{modelValue:T(d).description,"onUpdate:modelValue":r[4]||=e=>T(d).description=e,placeholder:T(s)(`devicesModule.fields.channels.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),Sn=[`element-loading-text`],Cn=C({name:`ChannelEditForm`,__name:`channel-edit-form`,props:{channel:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:jt.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:r}){let i=t,a=r,{t:s}=O(),{categoriesOptions:c,devicesOptions:l,model:u,formEl:d,formChanged:f,submit:p,formResult:m,loadingDevices:h}=St({channel:i.channel}),{device:g}=Pt({id:i.channel.device}),_=fe({name:[{required:!0,message:s(`devicesModule.fields.channels.name.validation.required`),trigger:`change`}]});return w(()=>m.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),p().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!d.value)return;d.value.resetFields()}}),w(()=>f.value,e=>{a(`update:remote-form-changed`,e)}),(t,r)=>(n(),k(T(Me),{ref_key:`formEl`,ref:d,model:T(u),rules:_,"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),B(`div`,{"element-loading-text":T(s)(`devicesModule.texts.devices.loadingDevices`)},[V(T(G),{label:T(s)(`devicesModule.fields.channels.device.title`),prop:[`device`]},{default:y(()=>[V(T(Z),{modelValue:T(u).device,"onUpdate:modelValue":r[0]||=e=>T(u).device=e,placeholder:T(s)(`devicesModule.fields.channels.device.placeholder`),name:`device`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),B(N,null,o(T(l),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(g)?(n(),k(T(K),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.device.description`),description:T(s)(`devicesModule.texts.devices.description.${T(g).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,Sn)),[[T(Ke),T(h)]]),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channels.id.title`),prop:[`id`]},{default:y(()=>[V(T(H),{modelValue:T(u).id,"onUpdate:modelValue":r[1]||=e=>T(u).id=e,placeholder:T(s)(`devicesModule.fields.channels.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channels.name.title`),prop:[`name`]},{default:y(()=>[V(T(H),{modelValue:T(u).name,"onUpdate:modelValue":r[2]||=e=>T(u).name=e,placeholder:T(s)(`devicesModule.fields.channels.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channels.category.title`),prop:[`category`]},{default:y(()=>[V(T(Z),{modelValue:T(u).category,"onUpdate:modelValue":r[3]||=e=>T(u).category=e,placeholder:T(s)(`devicesModule.fields.channels.category.placeholder`),name:`category`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),B(N,null,o(T(c),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(u).category?(n(),k(T(K),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channels.category.description`),description:T(s)(`devicesModule.texts.channels.description.${T(u).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channels.description.title`),prop:[`description`]},{default:y(()=>[V(T(H),{modelValue:T(u).description,"onUpdate:modelValue":r[4]||=e=>T(u).description=e,placeholder:T(s)(`devicesModule.fields.channels.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),wn={class:`flex w-full`},Tn=C({name:`ChannelsFilter`,__name:`channels-filter`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`,`adjust-list`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),o=z(void 0),s=U(r,`filters`,i);return w(()=>s.value.search,e=>{e===``&&(s.value.search=void 0)}),(e,t)=>(n(),B(`div`,wn,[V(T(Me),{ref_key:`filterFormEl`,ref:o,inline:!0,model:T(s),class:`grow-1`},{default:y(()=>[V(T(H),{modelValue:T(s).search,"onUpdate:modelValue":t[0]||=e=>T(s).search=e,placeholder:T(a)(`devicesModule.fields.channels.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:y(()=>[V(T(g),null,{default:y(()=>[V(T(I),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),r.filtersActive?(n(),k(T(A),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[1]||=e=>i(`reset-filters`)},{default:y(()=>[V(T(I),{icon:`mdi:filter-off`})]),_:1})):E(``,!0),V(T(A),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`adjust-list`)},{default:y(()=>[V(T(I),{icon:`mdi:slider`})]),_:1})]))}}),En=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}=Pt({id:r.channel.device});return u(()=>{o().catch(()=>{})}),(t,o)=>(n(),k(T(Je),{type:r.filters.devices.includes(e.channel.device)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=L(t=>i(`filter-by`,e.channel.device,!r.filters.devices.includes(e.channel.device)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.devices.includes(e.channel.device)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)?.name||e.channel.device),1)]),_:1},8,[`type`]))}}),Dn=C({name:`ChannelsTableColumnIcon`,__name:`channels-table-column-icon`,props:{channel:{}},setup(e){let{icon:t}=Dt({id:e.channel.id});return(e,r)=>(n(),k(T(Ve),{size:32},{default:y(()=>[V(T(I),{icon:T(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),On={key:0,class:`h-full w-full leading-normal`},kn={key:1,class:`h-full w-full leading-normal`},An={key:2,class:`h-full w-full leading-normal`},jn={class:`block`},Mn=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(r,{emit:i}){let a=r,o=i,{t:s}=O(),{isMDDevice:c}=Ie(),l=F(()=>a.totalRows===0),u=U(a,`filters`,o),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`selected-changes`,e)},p=e=>{o(`detail`,e.id)},m=(e,t,n)=>{if(e===`device`){let e=u.value.devices;n===!0?e.push(t):e=u.value.devices.filter(e=>e!==t),u.value.devices=Array.from(new Set(e))}else if(e===`category`){let e=u.value.categories;n===!0?e.push(t):e=u.value.categories.filter(e=>e!==t),u.value.categories=Array.from(new Set(e))}};return(i,h)=>e((n(),k(T(dt),{"element-loading-text":T(s)(`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:t({maxHeight:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:d,onSelectionChange:f,onRowClick:p},{empty:y(()=>[a.loading?(n(),B(`div`,On,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:chip`})]),secondary:y(()=>[V(T(I),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):l.value&&!a.loading?(n(),B(`div`,kn,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:chip`})]),secondary:y(()=>[V(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[D(M(T(s)(`devicesModule.texts.channels.noChannels`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),B(`div`,An,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:chip`})]),secondary:y(()=>[V(T(I),{icon:`mdi:filter-multiple`})]),_:1})]),title:y(()=>[V(T(W),{class:`block`},{default:y(()=>[D(M(T(s)(`devicesModule.texts.channels.noFilteredChannels`)),1)]),_:1}),V(T(A),{type:`primary`,plain:``,class:`mt-4`,onClick:h[0]||=e=>o(`reset-filters`)},{icon:y(()=>[V(T(I),{icon:`mdi:filter-off`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):E(``,!0)]),default:y(()=>[T(c)?(n(),k(T($),{key:0,type:`selection`,width:30})):E(``,!0),V(T($),{width:60,align:`center`},{default:y(e=>[V(Dn,{channel:e.row},null,8,[`channel`])]),_:1}),V(T($),{label:T(s)(`devicesModule.table.channels.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":150,"class-name":`py-0!`},{default:y(e=>[e.row.description?(n(),B(N,{key:0},[j(`strong`,jn,M(e.row.name),1),V(T(W),{size:`small`,class:`block leading-4`,truncated:``},{default:y(()=>[D(M(e.row.description),1)]),_:2},1024)],64)):(n(),B(N,{key:1},[D(M(e.row.name),1)],64))]),_:1},8,[`label`]),V(T($),{label:T(s)(`devicesModule.table.channels.columns.device.title`),prop:`device`,"min-width":180},{default:y(e=>[V(En,{channel:e.row,filters:T(u),onFilterBy:h[1]||=(e,t)=>m(`device`,e,t)},null,8,[`channel`,`filters`])]),_:1},8,[`label`]),V(T($),{label:T(s)(`devicesModule.table.channels.columns.category.title`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:180},{default:y(e=>[V(T(Je),{type:T(u).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:L(t=>m(`category`,e.row.category,!T(u).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[T(u).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(T(s)(`devicesModule.categories.channels.${e.row.category}`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),V(T($),{width:190,align:`right`},{default:y(e=>[V(T(A),{size:`small`,plain:``,"data-test-id":`detail-channel`,onClick:L(t=>o(`detail`,e.row.id),[`stop`])},{icon:y(()=>[V(T(I),{icon:`mdi:file-search-outline`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),V(T(A),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-channel`,onClick:L(t=>o(`edit`,e.row.id),[`stop`])},{icon:y(()=>[V(T(I),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),V(T(A),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-channel`,onClick:L(t=>o(`remove`,e.row.id),[`stop`])},{icon:y(()=>[V(T(I),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[T(Ke),a.loading]])}}),Nn=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(e,{emit:t}){let r=e,i=t,{isMDDevice:a}=Ie(),o=null,s=z(null),c=z(null),l=U(r,`filters`,i),d=z(r.sortBy),f=z(r.sortDir),p=z(r.paginatePage),m=z(r.paginateSize),g=z(250),_=e=>{i(`detail`,e)},v=e=>{i(`edit`,e)},b=e=>{i(`remove`,e)},x=()=>{i(`reset-filters`)},S=e=>{i(`update:paginate-size`,e)},C=e=>{i(`update:paginate-page`,e)};return u(()=>{if(!s.value)return;let e=()=>{g.value=s.value.clientHeight-c.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(o=new ResizeObserver(e),o.observe(s.value)),e()}),h(()=>{o&&s.value&&o.unobserve(s.value)}),w(()=>d.value,e=>{i(`update:sort-by`,e)}),w(()=>f.value,e=>{i(`update:sort-dir`,e)}),w(()=>r.paginatePage,e=>{p.value=e}),w(()=>r.paginateSize,e=>{m.value=e}),w(()=>r.sortDir,e=>{f.value=e}),w(()=>r.sortBy,e=>{d.value=e}),(e,t)=>(n(),B(N,null,[V(T(lt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:y(()=>[V(Tn,{filters:T(l),"onUpdate:filters":t[0]||=e=>le(l)?l.value=e:null,"filters-active":r.filtersActive,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`)},null,8,[`filters`,`filters-active`])]),_:1}),j(`div`,{ref_key:`wrapper`,ref:s,class:`flex-grow overflow-hidden`},[V(T(lt),{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:y(()=>[V(Mn,{filters:T(l),"onUpdate:filters":t[3]||=e=>le(l)?l.value=e:null,"sort-by":d.value,"onUpdate:sortBy":t[4]||=e=>d.value=e,"sort-dir":f.value,"onUpdate:sortDir":t[5]||=e=>f.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":g.value,onDetail:_,onEdit:v,onRemove:b,onResetFilters:x},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),j(`div`,{ref_key:`paginator`,ref:c,class:`flex justify-center w-full py-4`},[V(T(gt),{"current-page":p.value,"onUpdate:currentPage":t[6]||=e=>p.value=e,"page-size":m.value,"onUpdate:pageSize":t[7]||=e=>m.value=e,layout:T(a)?`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))}}),Pn={class:`px-2`},Fn={class:`px-5 py-2 text-center`},In=ge(C({name:`ListChannelsAdjust`,__name:`list-channels-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=Se(`list-channels-adjust`),{t:s}=O(),c=Object.values(J),l=z([`categories`]),u=U(r,`filters`,i);return(e,t)=>(n(),B(N,null,[V(T(Re),{teleport:``},{icon:y(()=>[V(T(I),{icon:`mdi:filter`})]),title:y(()=>[D(M(T(s)(`devicesModule.headings.channels.adjustFilters`)),1)]),subtitle:y(()=>[D(M(T(s)(`devicesModule.subHeadings.channels.adjustFilters`)),1)]),_:1}),j(`div`,{class:_([[T(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[V(T(je),{class:`flex-grow`},{default:y(()=>[V(T(et),{modelValue:l.value,"onUpdate:modelValue":t[1]||=e=>l.value=e},{default:y(()=>[V(T(at),{name:`categories`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channels.category.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Pn,[V(T(Z),{modelValue:T(u).categories,"onUpdate:modelValue":t[0]||=e=>T(u).categories=e,placeholder:T(s)(`devicesModule.filters.channels.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:y(()=>[(n(!0),B(N,null,o(T(c),(e,t)=>(n(),k(T(Q),{key:t,label:T(s)(`devicesModule.categories.channels.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),j(`div`,Fn,[V(T(A),{disabled:!r.filtersActive,onClick:t[2]||=e=>i(`reset-filters`)},{icon:y(()=>[V(T(I),{icon:`mdi:filter-remove`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-1ba3feea`]]),Ln=({channel:e,property:t,field:n})=>{let r=Et(e,t);if([`category`,`required`,`description`].includes(n))throw new wt(`Wrong field type provided`);return{required:r?.required??!1,description:r?.description,value:r&&n in r?r[n]:void 0}},Rn=C({name:`ChannelPropertyFormDataType`,__name:`channel-property-form-data-type`,props:{modelValue:{},dataTypesOptions:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:s}=Ln({channel:r.channelCategory,property:r.propertyCategory,field:`data_type`}),c=z(s!==void 0),l=z(!c.value&&r.modelValue?r.modelValue:s??Y.unknown);return w(()=>l.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(e,t)=>(n(),B(N,null,[V(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.dataType.title`),prop:[`dataType`],class:_([{"hidden!":c.value}])},{default:y(()=>[V(T(Z),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.dataType.placeholder`),disabled:r.disabled,name:`dataType`},{default:y(()=>[(n(!0),B(N,null,o(r.dataTypesOptions,e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]),l.value&&!c.value?(n(),k(T(K),{key:0,type:`info`,closable:!1},{default:y(()=>[D(M(T(a)(`devicesModule.texts.channelsProperties.dataTypes.${l.value}`)),1)]),_:1})):E(``,!0)],64))}}),zn=C({name:`ChannelPropertyFormEnum`,__name:`channel-property-form-enum`,props:{modelValue:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:s}=Ln({channel:r.channelCategory,property:r.propertyCategory,field:`format`}),c=z(s??[]),l=z(s!==void 0);return w(()=>c.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.format.title.enum`),prop:[`format`]},{default:y(()=>[l.value?(n(),k(T(Z),{key:0,modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.format.placeholder.enum`),disabled:r.disabled,name:`format`,multiple:``},{default:y(()=>[(n(!0),B(N,null,o(T(s),e=>(n(),k(T(Q),{key:e,value:e,label:e},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])):(n(),k(T(Qt),{key:1,modelValue:c.value,"onUpdate:modelValue":t[1]||=e=>c.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.format.placeholder.enum`),disabled:r.disabled,name:`format`},null,8,[`modelValue`,`placeholder`,`disabled`]))]),_:1},8,[`label`]))}}),Bn=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 r=e,i=t,{t:a}=O(),{value:o}=Ln({channel:r.channelCategory,property:r.propertyCategory,field:`invalid`}),s=z(o??``),c=z(o!==void 0);return w(()=>s.value,e=>{i(`update:modelValue`,e||null)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.invalid.title`),prop:[`invalid`],class:_([{"hidden!":c.value}])},{default:y(()=>[V(T(H),{modelValue:s.value,"onUpdate:modelValue":t[0]||=e=>s.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.invalid.placeholder`),disabled:r.disabled,name:`invalid`},null,8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),Vn={class:`flex flex-row gap-4`},Hn=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(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:o}=Ln({channel:r.channelCategory,property:r.propertyCategory,field:`format`}),s=[o?.[0]??void 0,o?.[1]??void 0],c=z(r.minValue??s[0]??void 0),l=z(r.maxValue??s[1]??void 0);return w(()=>c.value,e=>{i(`update:minValue`,e)},{immediate:!0}),w(()=>l.value,e=>{i(`update:maxValue`,e)},{immediate:!0}),(e,t)=>(n(),B(`div`,Vn,[V(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.format.title.min`),prop:[`format`],class:`grow-1`},{default:y(()=>[V(T(ft),{modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,placeholder:T(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`]),V(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.format.title.max`),prop:[`format`],class:`grow-1`},{default:y(()=>[V(T(ft),{modelValue:l.value,"onUpdate:modelValue":t[1]||=e=>l.value=e,placeholder:T(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`])]))}}),Un=C({name:`ChannelPropertyFormPermissions`,__name:`channel-property-form-permissions`,props:{modelValue:{},permissionsOptions:{},channelCategory:{},propertyCategory:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{value:s}=Ln({channel:r.channelCategory,property:r.propertyCategory,field:`permissions`}),c=z(s!==void 0),l=z(!c.value&&r.modelValue?r.modelValue:s??[]);return w(()=>l.value,e=>{i(`update:modelValue`,e)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.permissions.title`),prop:[`permissions`],class:_([{"hidden!":c.value}])},{default:y(()=>[V(T(Z),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.permissions.placeholder`),disabled:r.disabled,name:`permissions`,multiple:``},{default:y(()=>[(n(!0),B(N,null,o(r.permissionsOptions,e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),Wn=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 r=e,i=t,{t:a}=O(),{value:o}=Ln({channel:r.channelCategory,property:r.propertyCategory,field:`step`}),s=z(o??``),c=z(o!==void 0);return w(()=>s.value,e=>{i(`update:modelValue`,e||null)},{immediate:!0}),(e,t)=>(n(),k(T(G),{label:T(a)(`devicesModule.fields.channelsProperties.step.title`),prop:[`step`],class:_([{"hidden!":c.value}])},{default:y(()=>[V(T(H),{modelValue:s.value,"onUpdate:modelValue":t[0]||=e=>s.value=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.step.placeholder`),disabled:r.disabled,name:`step`},null,8,[`modelValue`,`placeholder`,`disabled`])]),_:1},8,[`label`,`class`]))}}),Gn=[`element-loading-text`],Kn=C({name:`ChannelPropertyAddForm`,__name:`channel-property-add-form`,props:{id:{},type:{},channel:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:jt.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:r}){let i=t,a=r,{t:s}=O(),{categoriesOptions:c,channelsOptions:l,permissionsOptions:u,dataTypesOptions:d,formEl:f,model:p,formChanged:m,submit:h,formResult:g,loadingChannels:_}=Vt({id:i.id,type:i.type,channelId:i.channel?.id}),v=fe({channel:[{required:!0,message:s(`devicesModule.fields.channelsProperties.channel.validation.required`),trigger:`change`}],category:[{required:!0,message:s(`devicesModule.fields.channelsProperties.category.validation.required`),trigger:`change`}],permissions:[{required:!0,message:s(`devicesModule.fields.channelsProperties.permissions.validation.required`),trigger:`change`}],dataType:[{required:!0,message:s(`devicesModule.fields.channelsProperties.dataType.validation.required`),trigger:`change`}]});return w(()=>g.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),h().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!f.value)return;f.value.resetFields()}}),w(()=>m.value,e=>{a(`update:remote-form-changed`,e)}),(r,i)=>(n(),k(T(Me),{ref_key:`formEl`,ref:f,model:T(p),rules:v,"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),B(`div`,{"element-loading-text":T(s)(`devicesModule.texts.channels.loadingChannels`)},[V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.channel.title`),prop:[`channel`]},{default:y(()=>[V(T(Z),{modelValue:T(p).channel,"onUpdate:modelValue":i[0]||=e=>T(p).channel=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.channel.placeholder`),name:`channel`,size:`large`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),B(N,null,o(T(l),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),t.channel?(n(),k(T(K),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channelsProperties.channel.description`),description:T(s)(`devicesModule.texts.channels.description.${t.channel.category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,Gn)),[[T(Ke),T(_)]]),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.id.title`),prop:[`id`]},{default:y(()=>[V(T(H),{modelValue:T(p).id,"onUpdate:modelValue":i[1]||=e=>T(p).id=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.name.title`),prop:[`name`]},{default:y(()=>[V(T(H),{modelValue:T(p).name,"onUpdate:modelValue":i[2]||=e=>T(p).name=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.name.placeholder`),name:`name`,size:`large`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.category.title`),prop:[`category`]},{default:y(()=>[V(T(Z),{modelValue:T(p).category,"onUpdate:modelValue":i[3]||=e=>T(p).category=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.category.placeholder`),name:`category`,size:`large`,filterable:``},{default:y(()=>[(n(!0),B(N,null,o(T(c),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),(n(),k(Un,{key:`${t.channel?.category||T(J).generic}-${T(p).category}-permissions`,modelValue:T(p).permissions,"onUpdate:modelValue":i[4]||=e=>T(p).permissions=e,"permissions-options":T(u),"channel-category":t.channel?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`permissions-options`,`channel-category`,`property-category`])),(n(),k(Rn,{key:`${t.channel?.category||T(J).generic}-${T(p).category}-dataType`,modelValue:T(p).dataType,"onUpdate:modelValue":i[5]||=e=>T(p).dataType=e,"data-types-options":T(d),"channel-category":t.channel?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`data-types-options`,`channel-category`,`property-category`])),[T(Y).char,T(Y).uchar,T(Y).short,T(Y).ushort,T(Y).int,T(Y).uint,T(Y).float].includes(T(p).dataType)?(n(),k(Hn,{key:`${t.channel?.category||T(J).generic}-${T(p).category}-min-max`,"min-value":T(p).minValue,"onUpdate:minValue":i[6]||=e=>T(p).minValue=e,"max-value":T(p).maxValue,"onUpdate:maxValue":i[7]||=e=>T(p).maxValue=e,"channel-category":t.channel?.category||T(J).generic,"property-category":T(p).category},null,8,[`min-value`,`max-value`,`channel-category`,`property-category`])):E(``,!0),[T(Y).enum].includes(T(p).dataType)?(n(),k(zn,{key:`${t.channel?.category||T(J).generic}-${T(p).category}-enum`,modelValue:T(p).enumValues,"onUpdate:modelValue":i[8]||=e=>T(p).enumValues=e,"channel-category":t.channel?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),(n(),k(Bn,{key:`${t.channel?.category||T(J).generic}-${T(p).category}-invalid`,modelValue:T(p).invalid,"onUpdate:modelValue":i[9]||=e=>T(p).invalid=e,"channel-category":t.channel?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])),[T(Y).char,T(Y).uchar,T(Y).short,T(Y).ushort,T(Y).int,T(Y).uint,T(Y).float].includes(T(p).dataType)?(n(),k(Wn,{key:`${t.channel?.category||T(J).generic}-${T(p).category}-step`,modelValue:T(p).step,"onUpdate:modelValue":i[10]||=e=>T(p).step=e,"channel-category":t.channel?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.enterValue.title`),"label-position":`left`},{default:y(()=>[V(T(Fe),{modelValue:T(p).enterValue,"onUpdate:modelValue":i[11]||=e=>T(p).enterValue=e},null,8,[`modelValue`])]),_:1},8,[`label`]),T(p).enterValue?(n(),k(T(K),{key:3,type:`warning`,description:T(s)(`devicesModule.texts.channelsProperties.editValue`),closable:!1,"show-icon":``},null,8,[`description`])):E(``,!0),T(p).enterValue&&T(p).dataType===T(Y).bool?(n(),k(T(G),{key:4,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(Fe),{modelValue:T(p).value,"onUpdate:modelValue":i[12]||=e=>T(p).value=e},null,8,[`modelValue`])]),_:1},8,[`label`])):T(p).enterValue&&[T(Y).char,T(Y).uchar,T(Y).short,T(Y).ushort,T(Y).int,T(Y).uint,T(Y).float].includes(T(p).dataType)?(n(),k(T(G),{key:5,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(ft),{modelValue:T(p).value,"onUpdate:modelValue":i[13]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),min:T(p).minValue,max:T(p).maxValue,step:T(p).step??void 0,name:`value`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`step`])]),_:1},8,[`label`])):T(p).enterValue&&T(p).dataType===T(Y).enum?(n(),k(T(G),{key:6,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(Z),{modelValue:T(p).value,"onUpdate:modelValue":i[14]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},{default:y(()=>[(n(!0),B(N,null,o(T(p).enumValues,e=>(n(),k(T(Q),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):T(p).enterValue?(n(),k(T(G),{key:7,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(H),{modelValue:T(p).value,"onUpdate:modelValue":i[15]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):E(``,!0)]),_:1},8,[`model`,`rules`]))}}),qn=[`element-loading-text`],Jn=C({name:`ChannelPropertyEditForm`,__name:`channel-property-edit-form`,props:{property:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:jt.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:r}){let i=t,a=r,{t:s}=O(),{categoriesOptions:c,channelsOptions:l,permissionsOptions:u,dataTypesOptions:d,formEl:f,model:p,formChanged:m,submit:h,formResult:g,loadingChannels:_}=Mt({property:i.property}),{channel:v}=Tt({id:i.property.channel});return w(()=>g.value,async e=>{a(`update:remote-form-result`,e)}),w(()=>i.remoteFormSubmit,async e=>{e&&(a(`update:remote-form-submit`,!1),h().catch(()=>{}))}),w(()=>i.remoteFormReset,e=>{if(a(`update:remote-form-reset`,!1),e){if(!f.value)return;f.value.resetFields()}}),w(()=>m.value,e=>{a(`update:remote-form-changed`,e)}),(t,r)=>(n(),k(T(Me),{ref_key:`formEl`,ref:f,model:T(p),"label-position":`top`,"status-icon":``},{default:y(()=>[e((n(),B(`div`,{"element-loading-text":T(s)(`devicesModule.texts.channels.loadingChannels`)},[V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.channel.title`),prop:[`channel`]},{default:y(()=>[V(T(Z),{modelValue:T(p).channel,"onUpdate:modelValue":r[0]||=e=>T(p).channel=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.channel.placeholder`),name:`channel`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),B(N,null,o(T(l),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(v)?(n(),k(T(K),{key:0,type:`info`,title:T(s)(`devicesModule.fields.channelsProperties.channel.description`),description:T(s)(`devicesModule.texts.channels.description.${T(v).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0)],8,qn)),[[T(Ke),T(_)]]),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.id.title`),prop:[`id`]},{default:y(()=>[V(T(H),{modelValue:T(p).id,"onUpdate:modelValue":r[1]||=e=>T(p).id=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.name.title`),prop:[`name`]},{default:y(()=>[V(T(H),{modelValue:T(p).name,"onUpdate:modelValue":r[2]||=e=>T(p).name=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.name.placeholder`),name:`name`,size:`large`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.category.title`),prop:[`category`]},{default:y(()=>[V(T(Z),{modelValue:T(p).category,"onUpdate:modelValue":r[3]||=e=>T(p).category=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.category.placeholder`),name:`category`,size:`large`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),B(N,null,o(T(c),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),(n(),k(Un,{key:`${T(v)?.category||T(J).generic}-${T(p).category}-permissions`,modelValue:T(p).permissions,"onUpdate:modelValue":r[4]||=e=>T(p).permissions=e,"permissions-options":T(u),"channel-category":T(v)?.category||T(J).generic,"property-category":T(p).category,disabled:``},null,8,[`modelValue`,`permissions-options`,`channel-category`,`property-category`])),(n(),k(Rn,{key:`${T(v)?.category||T(J).generic}-${T(p).category}-dataType`,modelValue:T(p).dataType,"onUpdate:modelValue":r[5]||=e=>T(p).dataType=e,"data-types-options":T(d),"channel-category":T(v)?.category||T(J).generic,"property-category":T(p).category,disabled:``},null,8,[`modelValue`,`data-types-options`,`channel-category`,`property-category`])),[T(Y).char,T(Y).uchar,T(Y).short,T(Y).ushort,T(Y).int,T(Y).uint,T(Y).float].includes(T(p).dataType)?(n(),k(Hn,{key:`${T(v)?.category||T(J).generic}-${T(p).category}-min-max`,"min-value":T(p).minValue,"onUpdate:minValue":r[6]||=e=>T(p).minValue=e,"max-value":T(p).maxValue,"onUpdate:maxValue":r[7]||=e=>T(p).maxValue=e,"channel-category":T(v)?.category||T(J).generic,"property-category":T(p).category},null,8,[`min-value`,`max-value`,`channel-category`,`property-category`])):E(``,!0),[T(Y).enum].includes(T(p).dataType)?(n(),k(zn,{key:`${T(v)?.category||T(J).generic}-${T(p).category}-enum`,modelValue:T(p).enumValues,"onUpdate:modelValue":r[8]||=e=>T(p).enumValues=e,"channel-category":T(v)?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),(n(),k(Bn,{key:`${T(v)?.category||T(J).generic}-${T(p).category}-invalid`,modelValue:T(p).invalid,"onUpdate:modelValue":r[9]||=e=>T(p).invalid=e,"channel-category":T(v)?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])),[T(Y).char,T(Y).uchar,T(Y).short,T(Y).ushort,T(Y).int,T(Y).uint,T(Y).float].includes(T(p).dataType)?(n(),k(Wn,{key:`${T(v)?.category||T(J).generic}-${T(p).category}-step`,modelValue:T(p).step,"onUpdate:modelValue":r[10]||=e=>T(p).step=e,"channel-category":T(v)?.category||T(J).generic,"property-category":T(p).category},null,8,[`modelValue`,`channel-category`,`property-category`])):E(``,!0),V(T(X)),V(T(G),{label:T(s)(`devicesModule.fields.channelsProperties.enterValue.title`),"label-position":`left`},{default:y(()=>[V(T(Fe),{modelValue:T(p).enterValue,"onUpdate:modelValue":r[11]||=e=>T(p).enterValue=e},null,8,[`modelValue`])]),_:1},8,[`label`]),T(p).enterValue?(n(),k(T(K),{key:3,type:`warning`,description:T(s)(`devicesModule.texts.channelsProperties.editValue`),closable:!1,"show-icon":``},null,8,[`description`])):E(``,!0),T(p).enterValue&&T(p).dataType===T(Y).bool?(n(),k(T(G),{key:4,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(Fe),{modelValue:T(p).value,"onUpdate:modelValue":r[12]||=e=>T(p).value=e},null,8,[`modelValue`])]),_:1},8,[`label`])):T(p).enterValue&&[T(Y).char,T(Y).uchar,T(Y).short,T(Y).ushort,T(Y).int,T(Y).uint,T(Y).float].includes(T(p).dataType)?(n(),k(T(G),{key:5,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(ft),{modelValue:T(p).value,"onUpdate:modelValue":r[13]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),min:T(p).minValue,max:T(p).maxValue,step:T(p).step??void 0,name:`value`,class:`w-full!`},null,8,[`modelValue`,`placeholder`,`min`,`max`,`step`])]),_:1},8,[`label`])):T(p).enterValue&&T(p).dataType===T(Y).enum?(n(),k(T(G),{key:6,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(Z),{modelValue:T(p).value,"onUpdate:modelValue":r[14]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},{default:y(()=>[(n(!0),B(N,null,o(T(p).enumValues,e=>(n(),k(T(Q),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):T(p).enterValue?(n(),k(T(G),{key:7,label:T(s)(`devicesModule.fields.channelsProperties.value.title`),prop:[`value`],class:`mt-2`},{default:y(()=>[V(T(H),{modelValue:T(p).value,"onUpdate:modelValue":r[15]||=e=>T(p).value=e,placeholder:T(s)(`devicesModule.fields.channelsProperties.value.placeholder`),name:`value`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`])):E(``,!0)]),_:1},8,[`model`]))}}),Yn={class:`flex w-full`},Xn=C({name:`ChannelsPropertiesFilter`,__name:`channels-properties-filter`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`,`adjust-list`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),o=z(void 0),s=U(r,`filters`,i);return w(()=>s.value.search,e=>{e===``&&(s.value.search=void 0)}),(e,t)=>(n(),B(`div`,Yn,[V(T(Me),{ref_key:`filterFormEl`,ref:o,inline:!0,model:T(s),class:`grow-1`},{default:y(()=>[V(T(H),{modelValue:T(s).search,"onUpdate:modelValue":t[0]||=e=>T(s).search=e,placeholder:T(a)(`devicesModule.fields.channelsProperties.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:y(()=>[V(T(g),null,{default:y(()=>[V(T(I),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),r.filtersActive?(n(),k(T(A),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[1]||=e=>i(`reset-filters`)},{default:y(()=>[V(T(I),{icon:`mdi:filter-off`})]),_:1})):E(``,!0),V(T(A),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`adjust-list`)},{default:y(()=>[V(T(I),{icon:`mdi:slider`})]),_:1})]))}}),Zn=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(e,{emit:t}){let r=e,i=t,{isMDDevice:a}=Ie(),o=null,s=z(null),c=z(null),l=U(r,`filters`,i),d=z(r.sortBy),f=z(r.sortDir),p=z(r.paginatePage),m=z(r.paginateSize),g=z(250),_=e=>{i(`detail`,e)},v=e=>{i(`edit`,e)},b=e=>{i(`remove`,e)},x=()=>{i(`reset-filters`)},S=e=>{i(`update:paginate-size`,e)},C=e=>{i(`update:paginate-page`,e)};return u(()=>{if(!s.value)return;let e=()=>{g.value=s.value.clientHeight-c.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(o=new ResizeObserver(e),o.observe(s.value)),e()}),h(()=>{o&&s.value&&o.unobserve(s.value)}),w(()=>d.value,e=>{i(`update:sort-by`,e)}),w(()=>f.value,e=>{i(`update:sort-dir`,e)}),w(()=>r.paginatePage,e=>{p.value=e}),w(()=>r.paginateSize,e=>{m.value=e}),w(()=>r.sortDir,e=>{f.value=e}),w(()=>r.sortBy,e=>{d.value=e}),(e,t)=>(n(),B(N,null,[V(T(lt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:y(()=>[V(Xn,{filters:T(l),"onUpdate:filters":t[0]||=e=>le(l)?l.value=e:null,"filters-active":r.filtersActive,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`)},null,8,[`filters`,`filters-active`])]),_:1}),j(`div`,{ref_key:`wrapper`,ref:s,class:`flex-grow overflow-hidden`},[V(T(lt),{shadow:`never`,class:`mt-2 max-h-full`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{default:y(()=>[V(mn,{filters:T(l),"onUpdate:filters":t[3]||=e=>le(l)?l.value=e:null,"sort-by":d.value,"onUpdate:sortBy":t[4]||=e=>d.value=e,"sort-dir":f.value,"onUpdate:sortDir":t[5]||=e=>f.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":g.value,onDetail:_,onEdit:v,onRemove:b,onResetFilters:x},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),j(`div`,{ref_key:`paginator`,ref:c,class:`flex justify-center w-full py-4`},[V(T(gt),{"current-page":p.value,"onUpdate:currentPage":t[6]||=e=>p.value=e,"page-size":m.value,"onUpdate:pageSize":t[7]||=e=>m.value=e,layout:T(a)?`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))}}),Qn={class:`px-2`},$n={class:`px-5 py-2 text-center`},er=ge(C({name:`ListChannelsPropertiesAdjust`,__name:`list-channels-properties-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=Se(`list-channels-properties-adjust`),{t:s}=O(),c=Object.values(ct),l=Object.values(Y),u=Object.values(st),d=z([`categories`,`dataTypes`,`permissions`]),f=U(r,`filters`,i);return(e,t)=>(n(),B(N,null,[V(T(Re),{teleport:``},{icon:y(()=>[V(T(I),{icon:`mdi:filter`})]),title:y(()=>[D(M(T(s)(`devicesModule.headings.channelsProperties.adjustFilters`)),1)]),subtitle:y(()=>[D(M(T(s)(`devicesModule.subHeadings.channelsProperties.adjustFilters`)),1)]),_:1}),j(`div`,{class:_([[T(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[V(T(je),{class:`flex-grow`},{default:y(()=>[V(T(et),{modelValue:d.value,"onUpdate:modelValue":t[3]||=e=>d.value=e},{default:y(()=>[V(T(at),{name:`categories`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channelsProperties.category.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Qn,[V(T(Z),{modelValue:T(f).categories,"onUpdate:modelValue":t[0]||=e=>T(f).categories=e,placeholder:T(s)(`devicesModule.filters.channelsProperties.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:y(()=>[(n(!0),B(N,null,o(T(c),(e,t)=>(n(),k(T(Q),{key:t,label:T(s)(`devicesModule.categories.channelsProperties.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),V(T(at),{name:`dataTypes`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channelsProperties.dataType.title`)),1)]),_:1})]),default:y(()=>[V(T(Qe),{modelValue:T(f).dataTypes,"onUpdate:modelValue":t[1]||=e=>T(f).dataTypes=e,class:`flex flex-col px-4`},{default:y(()=>[(n(!0),B(N,null,o(T(l),(e,t)=>(n(),k(T(nt),{key:t,label:T(s)(`devicesModule.dataTypes.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),V(T(at),{name:`permissions`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.channelsProperties.permission.title`)),1)]),_:1})]),default:y(()=>[V(T(Qe),{modelValue:T(f).permissions,"onUpdate:modelValue":t[2]||=e=>T(f).permissions=e,class:`flex flex-col px-4`},{default:y(()=>[(n(!0),B(N,null,o(T(u),(e,t)=>(n(),k(T(nt),{key:t,label:T(s)(`devicesModule.permissions.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),j(`div`,$n,[V(T(A),{disabled:!r.filtersActive,onClick:t[4]||=e=>i(`reset-filters`)},{icon:y(()=>[V(T(I),{icon:`mdi:filter-remove`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-26d10ca7`]]),tr=C({name:`SelectChannelPlugin`,__name:`select-channel-plugin`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{plugins:s,options:c}=Ft(),l=z(r.modelValue),u=F(()=>s.value.find(e=>(e.elements??[]).some(e=>e.type===l.value))),d=F(()=>(u.value?.elements??[]).find(e=>e.type===l.value));return w(()=>l.value,e=>{i(`update:modelValue`,e)}),(e,t)=>(n(),B(N,null,[V(T(G),{label:T(a)(`devicesModule.fields.channels.plugin.title`),"label-position":`top`},{default:y(()=>[V(T(Z),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.channels.plugin.placeholder`),name:`plugin`,filterable:``},{default:y(()=>[(n(!0),B(N,null,o(T(c),e=>(n(),k(T(Q),{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?(n(),k(T(K),{key:0,description:d.value.description??u.value?.description,closable:!1,"show-icon":``,type:`info`},null,8,[`description`])):E(``,!0)],64))}}),nr=C({name:`DeviceAddForm`,__name:`device-add-form`,props:{id:{},type:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:jt.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(e,{emit:t}){let r=e,i=t,{t:a}=O(),{categoriesOptions:s,model:c,formEl:l,formChanged:u,submit:d,formResult:f}=zt({id:r.id,type:r.type}),p=fe({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 w(()=>f.value,async e=>{i(`update:remote-form-result`,e)}),w(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),d().catch(()=>{}))}),w(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!l.value)return;l.value.resetFields()}}),w(()=>u.value,e=>{i(`update:remote-form-changed`,e)}),(e,t)=>(n(),k(T(Me),{ref_key:`formEl`,ref:l,model:T(c),rules:p,"label-position":`top`,"status-icon":``},{default:y(()=>[V(T(G),{label:T(a)(`devicesModule.fields.devices.id.title`),prop:[`id`]},{default:y(()=>[V(T(H),{modelValue:T(c).id,"onUpdate:modelValue":t[0]||=e=>T(c).id=e,placeholder:T(a)(`devicesModule.fields.devices.id.placeholder`),name:`id`,required:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.identifier.title`),prop:[`identifier`]},{default:y(()=>[V(T(H),{modelValue:T(c).identifier,"onUpdate:modelValue":t[1]||=e=>T(c).identifier=e,placeholder:T(a)(`devicesModule.fields.devices.identifier.placeholder`),name:`identifier`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.name.title`),prop:[`name`]},{default:y(()=>[V(T(H),{modelValue:T(c).name,"onUpdate:modelValue":t[2]||=e=>T(c).name=e,placeholder:T(a)(`devicesModule.fields.devices.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.category.title`),prop:[`category`]},{default:y(()=>[V(T(Z),{modelValue:T(c).category,"onUpdate:modelValue":t[3]||=e=>T(c).category=e,placeholder:T(a)(`devicesModule.fields.devices.category.placeholder`),name:`category`,filterable:``},{default:y(()=>[(n(!0),B(N,null,o(T(s),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(c).category?(n(),k(T(K),{key:0,type:`info`,title:T(a)(`devicesModule.fields.devices.category.description`),description:T(a)(`devicesModule.texts.devices.description.${T(c).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),V(T(X)),V(T(G),{label:T(a)(`devicesModule.fields.devices.description.title`),prop:[`description`]},{default:y(()=>[V(T(H),{modelValue:T(c).description,"onUpdate:modelValue":t[4]||=e=>T(c).description=e,placeholder:T(a)(`devicesModule.fields.devices.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.enabled.title`),prop:[`enabled`],"label-position":`left`},{default:y(()=>[V(T(Fe),{modelValue:T(c).enabled,"onUpdate:modelValue":t[5]||=e=>T(c).enabled=e,name:`enabled`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),rr={class:`text-xs text-gray-500 mt-1`},ir=C({name:`DeviceEditForm`,__name:`device-edit-form`,props:{device:{},remoteFormSubmit:{type:Boolean},remoteFormResult:{default:jt.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(e,{emit:t}){let r=e,i=t,{t:a}=O(),{categoriesOptions:s,model:c,formEl:l,formChanged:u,submit:d,formResult:f}=Lt({device:r.device}),p=fe({name:[{required:!0,message:a(`devicesModule.fields.devices.name.validation.required`),trigger:`change`}]});return w(()=>f.value,async e=>{i(`update:remote-form-result`,e)}),w(()=>r.remoteFormSubmit,async e=>{e&&(i(`update:remote-form-submit`,!1),d().catch(()=>{}))}),w(()=>r.remoteFormReset,e=>{if(i(`update:remote-form-reset`,!1),e){if(!l.value)return;l.value.resetFields()}}),w(()=>u.value,e=>{i(`update:remote-form-changed`,e)}),(e,t)=>(n(),k(T(Me),{ref_key:`formEl`,ref:l,model:T(c),rules:p,"label-position":`top`,"status-icon":``},{default:y(()=>[V(T(G),{label:T(a)(`devicesModule.fields.devices.id.title`),prop:[`id`]},{default:y(()=>[V(T(H),{modelValue:T(c).id,"onUpdate:modelValue":t[0]||=e=>T(c).id=e,placeholder:T(a)(`devicesModule.fields.devices.id.placeholder`),name:`id`,readonly:``,disabled:``},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.identifier.title`),prop:[`identifier`]},{default:y(()=>[V(T(H),{modelValue:T(c).identifier,"onUpdate:modelValue":t[1]||=e=>T(c).identifier=e,placeholder:T(a)(`devicesModule.fields.devices.identifier.placeholder`),name:`identifier`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.name.title`),prop:[`name`]},{default:y(()=>[V(T(H),{modelValue:T(c).name,"onUpdate:modelValue":t[2]||=e=>T(c).name=e,placeholder:T(a)(`devicesModule.fields.devices.name.placeholder`),name:`name`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.category.title`),prop:[`category`]},{default:y(()=>[V(T(Z),{modelValue:T(c).category,"onUpdate:modelValue":t[3]||=e=>T(c).category=e,placeholder:T(a)(`devicesModule.fields.devices.category.placeholder`),name:`category`,filterable:``,readonly:``,disabled:``},{default:y(()=>[(n(!0),B(N,null,o(T(s),e=>(n(),k(T(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),T(c).category?(n(),k(T(K),{key:0,type:`info`,title:T(a)(`devicesModule.fields.devices.category.description`),description:T(a)(`devicesModule.texts.devices.description.${T(c).category}`),closable:!1,"show-icon":``},null,8,[`title`,`description`])):E(``,!0),V(T(X)),V(T(G),{label:T(a)(`devicesModule.fields.devices.description.title`),prop:[`description`]},{default:y(()=>[V(T(H),{modelValue:T(c).description,"onUpdate:modelValue":t[4]||=e=>T(c).description=e,placeholder:T(a)(`devicesModule.fields.devices.description.placeholder`),rows:4,type:`textarea`,name:`description`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),V(T(G),{label:T(a)(`devicesModule.fields.devices.enabled.title`),prop:[`enabled`],"label-position":`left`},{default:y(()=>[V(T(Fe),{modelValue:T(c).enabled,"onUpdate:modelValue":t[5]||=e=>T(c).enabled=e,name:`enabled`},null,8,[`modelValue`])]),_:1},8,[`label`]),V(T(X)),V(T(G),{label:T(a)(`devicesModule.fields.devices.room.title`),prop:[`roomId`]},{default:y(()=>[V(T(yt),{modelValue:T(c).roomId,"onUpdate:modelValue":t[6]||=e=>T(c).roomId=e,placeholder:T(a)(`devicesModule.fields.devices.room.placeholder`),filter:`room`},null,8,[`modelValue`,`placeholder`]),j(`div`,rr,M(T(a)(`devicesModule.fields.devices.room.hint`)),1)]),_:1},8,[`label`])]),_:1},8,[`model`,`rules`]))}}),ar={class:`flex flex-row items-center`},or={class:`ml-3`},sr={class:`p-4`},cr={key:2,class:`w-full flex items-center gap-4`},lr=C({name:`DeviceControlForm`,__name:`device-control-form`,props:{deviceControl:{}},setup(e){let t=e,{t:r}=O(),{controllableChannels:i,getPropertiesForChannel:a,isPropertyWritable:s,getPropertyValue:c,isPropertyLoading:l,setPropertyValue:u}=t.deviceControl,d=e=>a(e).filter(e=>s(e)),f=e=>c(e),p=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`,m=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`},h=e=>[Y.char,Y.uchar,Y.short,Y.ushort,Y.int,Y.uint,Y.float].includes(e),g=e=>!e.format||!Array.isArray(e.format)?!1:e.format.length>=2&&typeof e.format[0]==`number`&&typeof e.format[1]==`number`,_=e=>e.format&&Array.isArray(e.format)&&typeof e.format[0]==`number`?e.format[0]:0,v=e=>e.format&&Array.isArray(e.format)&&typeof e.format[1]==`number`?e.format[1]:100,b=e=>!e.format||!Array.isArray(e.format)?[]:e.format.filter(e=>typeof e==`string`),x=(e,t,n)=>{u(e,t,n)};return(e,t)=>(n(),k(T(je),{class:`grow-1 p-2 md:px-4`},{default:y(()=>[T(i).length>0?(n(),k(T(nn),{key:0,direction:`vertical`,size:`large`,class:`w-full`,fill:``},{default:y(()=>[(n(!0),B(N,null,o(T(i),e=>(n(),k(T(lt),{key:e.id,"body-class":`p-0!`,style:{"--el-card-padding":`0.5rem`}},{header:y(()=>[j(`div`,ar,[j(`div`,null,[V(T(Ve),{size:32},{default:y(()=>[V(T(I),{icon:p(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),j(`div`,or,[j(`strong`,null,M(e.name),1),V(T(W),{class:`block`},{default:y(()=>[D(M(T(r)(`devicesModule.categories.channels.${e.category}`)),1)]),_:2},1024)])])]),default:y(()=>[j(`div`,sr,[V(T(Me),{"label-position":`top`,size:`default`},{default:y(()=>[(n(!0),B(N,null,o(d(e.id),t=>(n(),k(T(G),{key:t.id,label:t.name??T(r)(`devicesModule.categories.channelsProperties.${t.category}`),class:`mb-4`},{default:y(()=>[t.dataType===T(Y).bool?(n(),k(T(Fe),{key:0,"model-value":m(f(t.id)),loading:T(l)(t.id),onChange:n=>x(e.id,t.id,!!n)},null,8,[`model-value`,`loading`,`onChange`])):t.dataType===T(Y).enum?(n(),k(T(Z),{key:1,"model-value":String(f(t.id)??``),loading:T(l)(t.id),class:`w-full`,onChange:n=>x(e.id,t.id,n)},{default:y(()=>[(n(!0),B(N,null,o(b(t),e=>(n(),k(T(Q),{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`loading`,`onChange`])):h(t.dataType)&&g(t)?(n(),B(`div`,cr,[V(T(_t),{"model-value":Number(f(t.id)??_(t)),min:_(t),max:v(t),step:t.step??1,disabled:T(l)(t.id),class:`flex-grow touch-action-none`,onInput:n=>x(e.id,t.id,Array.isArray(n)?n[0]??0:n)},null,8,[`model-value`,`min`,`max`,`step`,`disabled`,`onInput`]),V(T(W),{class:`min-w-[60px] text-right`},{default:y(()=>[D(M(f(t.id)??`-`)+M(t.unit?` ${t.unit}`:``),1)]),_:2},1024)])):h(t.dataType)?(n(),B(N,{key:3},[V(T(ft),{"model-value":Number(f(t.id)??0),step:t.step??1,disabled:T(l)(t.id),"controls-position":`right`,onChange:n=>x(e.id,t.id,n??0)},null,8,[`model-value`,`step`,`disabled`,`onChange`]),t.unit?(n(),k(T(W),{key:0,class:`ml-2`},{default:y(()=>[D(M(t.unit),1)]),_:2},1024)):E(``,!0)],64)):(n(),k(T(H),{key:4,"model-value":String(f(t.id)??``),disabled:T(l)(t.id),onChange:n=>x(e.id,t.id,n)},null,8,[`model-value`,`disabled`,`onChange`]))]),_:2},1032,[`label`]))),128))]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(n(),k(T(P),{key:1,class:`h-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:tune-variant`})]),secondary:y(()=>[V(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[V(T(W),{class:`block`},{default:y(()=>[D(M(T(r)(`devicesModule.texts.devices.noControllableProperties`)),1)]),_:1})]),_:1}))]),_:1}))}}),ur=C({name:`DeviceDetailDescription`,__name:`device-detail-description`,props:{device:{},channel:{}},setup(e){let t=e,{t:r}=O(),{properties:i}=At({channelId:t.channel.id}),a=[ct.status,ct.link_quality],s=F(()=>i.value.filter(e=>!a.includes(e.category))),c=e=>{let t=Math.floor((s.value.length-1)/2);return Math.floor(e/2)===t};return(e,t)=>(n(!0),B(N,null,o(s.value,(e,t)=>(n(),B(N,{key:e.id},[j(`dt`,{class:_([`b-r b-r-solid py-3 px-2 flex items-center justify-end`,{"b-b b-b-solid":!c(t)}]),style:{background:`var(--el-fill-color-light)`}},M(T(r)(`devicesModule.categories.channelsProperties.${e.category}`)),3),j(`dd`,{class:_([`m-0 p-2 flex items-center min-w-[8rem]`,{"b-b b-b-solid":!c(t),"b-r b-r-solid":t%2==0}])},[V(T(W),null,{default:y(()=>[D(M(e.value!==null&&typeof e.value==`object`&&`value`in e.value?e.value.value:e.value),1)]),_:2},1024)],2)],64))),128))}}),dr={class:`grid grid-cols-[auto_1fr_auto_1fr] m-0`},fr=C({name:`DeviceDetail`,__name:`device-detail`,props:{device:{}},setup(e){let t=e,{t:r}=O(),{channels:i}=Ct({deviceId:t.device.id}),a=F(()=>i.value.find(e=>e.category===J.device_information)),o=[ct.status,ct.link_quality],{properties:s}=At({channelId:F(()=>a.value?.id)}),c=F(()=>!!a.value&&s.value.some(e=>!o.includes(e.category))),l=F(()=>{if(![q.unknown].includes(t.device.status.status))return[q.connected,q.ready,q.running].includes(t.device.status.status)?`success`:[q.init].includes(t.device.status.status)?`info`:[q.disconnected,q.stopped,q.sleeping].includes(t.device.status.status)?`warning`:`danger`});return(t,i)=>(n(),k(T(lt),{class:`mt-2`,shadow:`never`,"body-class":`p-0!`},{default:y(()=>[j(`dl`,dr,[j(`dt`,{class:_([`b-r b-r-solid py-3 px-2 flex items-center justify-end`,{"b-b b-b-solid":c.value}]),style:{background:`var(--el-fill-color-light)`}},M(T(r)(`devicesModule.texts.devices.category`)),3),j(`dd`,{class:_([`b-r b-r-solid m-0 p-2 flex items-center min-w-[8rem]`,{"b-b b-b-solid":c.value}])},[V(T(W),null,{default:y(()=>[D(M(T(r)(`devicesModule.categories.devices.${e.device.category}`)),1)]),_:1})],2),j(`dt`,{class:_([`b-r b-r-solid py-3 px-2 flex items-center justify-end`,{"b-b b-b-solid":c.value}]),style:{background:`var(--el-fill-color-light)`}},M(T(r)(`devicesModule.texts.devices.status`)),3),j(`dd`,{class:_([`m-0 p-2 flex items-center min-w-[8rem]`,{"b-b b-b-solid":c.value}])},[V(T(W),null,{default:y(()=>[V(T(ze),{type:l.value,size:`small`},{default:y(()=>[D(M(T(r)(`devicesModule.states.${String(e.device.status?.status??T(q).unknown).toLowerCase()}`)),1)]),_:1},8,[`type`])]),_:1})],2),c.value&&a.value?(n(),k(ur,{key:0,device:e.device,channel:a.value},null,8,[`device`,`channel`])):E(``,!0)])]),_:1}))}}),pr={class:`h-full w-full flex flex-col`},mr={class:`flex w-full items-center content-center`},hr={class:`flex-1 overflow-hidden flex flex-col`},gr={class:`flex flex-col h-full`},_r={class:`flex flex-col overflow-hidden h-full`},vr=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(e,{emit:t}){let r=e,i=t,{t:a}=O(),o=r.logs!==void 0,s=o?null:Bt({deviceId:xe(()=>r.deviceId)}),c=F(()=>o?r.logs.value:s.logs.value),l=F(()=>o?r.hasMore.value:s.hasMore.value),u=F(()=>o?r.isLoading.value:s.isLoading.value),d=o?r.liveRef:s.live,f=()=>o?r.refreshLogs():s.refreshLogs(),m=()=>o?r.loadMoreLogs():s.loadMoreLogs(),h=()=>o?r.fetchLogs():s.fetchLogs(),_=U(r,`live`,i,{defaultValue:!1}),v=z(null),b=F({get:()=>v.value!==null,set:e=>{e||(v.value=null)}});w(_,e=>{d.value=e},{immediate:!0}),w(d,e=>{_.value=e});let x=e=>{let t=c.value.find(t=>t.id===e);t&&(v.value=t)},S=()=>{f()},C=()=>{m()};return p(()=>{o||h()}),(e,t)=>(n(),B(`div`,pr,[V(T(lt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:y(()=>[j(`div`,mr,[t[3]||=j(`div`,{class:`grow-1`},null,-1),V(T(Fe),{modelValue:T(_),"onUpdate:modelValue":t[0]||=e=>le(_)?_.value=e:null,class:`mr-6`,"active-text":T(a)(`devicesModule.labels.liveTail`),"inactive-text":T(a)(`devicesModule.labels.paused`)},null,8,[`modelValue`,`active-text`,`inactive-text`]),V(T(A),{plain:``,class:`px-2! mt-1 mr-1`,onClick:S},{default:y(()=>[V(T(I),{icon:`mdi:refresh`})]),_:1})])]),_:1}),j(`div`,hr,[V(T(lt),{shadow:`never`,class:`mt-2 flex flex-col`,"body-class":`p-0! flex-1 overflow-hidden`},{default:y(()=>[V(T(je),null,{default:y(()=>[V(T(Xe),{items:c.value,loading:u.value,"has-more":l.value,"filters-active":!1,onDetail:x,onLoadMore:C},null,8,[`items`,`loading`,`has-more`])]),_:1})]),_:1})]),V(T(ht),{modelValue:b.value,"onUpdate:modelValue":t[2]||=e=>b.value=e,"show-close":!1,"with-header":!1,direction:`rtl`,size:`40%`},{default:y(()=>[j(`div`,gr,[V(T(We),{"menu-button-hidden":``},{"button-right":y(()=>[V(T(ut),{align:T(ke).RIGHT,class:`mr-2`,onClick:t[1]||=e=>v.value=null},{icon:y(()=>[V(T(g),null,{default:y(()=>[V(T(I),{icon:`mdi:close`})]),_:1})]),_:1},8,[`align`])]),_:1}),V(T(Re),{teleport:``},{icon:y(()=>[V(T(I),{icon:`mdi:note-text-outline`,class:`w[20px] h[20px]`})]),title:y(()=>[D(M(T(a)(`systemModule.headings.systemLogs.detail`)),1)]),subtitle:y(()=>[D(M(T(a)(`systemModule.subHeadings.systemLogs.detail`)),1)]),_:1}),j(`div`,_r,[v.value?(n(),k(T(je),{key:0,class:`grow-1 p-2 md:px-4`},{default:y(()=>[V(T(Le),{"system-log":v.value},null,8,[`system-log`])]),_:1})):E(``,!0)])])]),_:1},8,[`modelValue`])]))}}),yr={class:`flex w-full`},br=ge(C({name:`DevicesFilter`,__name:`devices-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,a=Se(`devices-filter`),{t:o}=O(),s=U(r,`filters`,i),c=z(void 0);return w(()=>s.value.search,e=>{e===``&&(s.value.search=void 0)}),(e,t)=>(n(),B(`div`,yr,[V(T(Me),{ref_key:`filterFormEl`,ref:c,inline:!0,model:T(s),class:_([[T(a).b()],`grow-1`])},{default:y(()=>[V(T(H),{modelValue:T(s).search,"onUpdate:modelValue":t[0]||=e=>T(s).search=e,placeholder:T(o)(`devicesModule.fields.devices.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:y(()=>[V(T(g),null,{default:y(()=>[V(T(I),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`]),V(T(X),{direction:`vertical`}),V(T(G),{label:T(o)(`devicesModule.fields.devices.state.title`),class:_([[T(a).e(`device-state`)],`p-1 m-0!`])},{default:y(()=>[V(T(mt),{modelValue:T(s).state,"onUpdate:modelValue":t[1]||=e=>T(s).state=e},{default:y(()=>[V(T(pt),{label:T(o)(`devicesModule.states.online`),value:`online`},null,8,[`label`]),V(T(pt),{label:T(o)(`devicesModule.states.offline`),value:`offline`},null,8,[`label`]),V(T(pt),{label:T(o)(`devicesModule.states.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`,`class`])]),_:1},8,[`model`,`class`]),V(T(Pe),{"selected-count":r.selectedCount,actions:r.bulkActions,onAction:t[2]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),r.filtersActive?(n(),k(T(A),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`reset-filters`)},{default:y(()=>[V(T(I),{icon:`mdi:filter-off`})]),_:1})):E(``,!0),V(T(A),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[4]||=e=>i(`adjust-list`)},{default:y(()=>[V(T(I),{icon:`mdi:slider`})]),_:1})]))}}),[[`__scopeId`,`data-v-b644ae60`]]),xr=C({name:`DevicesTableColumnIcon`,__name:`devices-table-column-icon`,props:{device:{}},setup(e){let{icon:t}=Rt({id:e.device.id});return(e,r)=>(n(),k(T(Ve),{size:32},{default:y(()=>[V(T(I),{icon:T(t),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:1}))}}),Sr=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}=Nt({type:r.device.type});return(e,t)=>(n(),k(T(W),{truncated:``},{default:y(()=>[V(T(Je),{type:r.filters.types.includes(r.device.type)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:t[0]||=L(e=>i(`filter-by`,r.device.type,!r.filters.types.includes(r.device.type)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.types.includes(r.device.type)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)?.name||r.device.type),1)]),_:1},8,[`type`])]),_:1}))}}),Cr=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}=O();return(t,o)=>(n(),k(T(Je),{type:r.filters.states.includes(e.device.status.status)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:o[0]||=L(t=>i(`filter-by`,e.device.status.status,!r.filters.states.includes(e.device.status.status)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[r.filters.states.includes(e.device.status.status)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:1}),D(` `+M(T(a)(`devicesModule.states.${e.device.status.status}`)),1)]),_:1},8,[`type`]))}}),wr={class:`text-sm`},Tr={class:`font-semibold mb-2 flex items-center gap-2`},Er={class:`text-xs text-gray-500`},Dr=C({name:`DevicesTableColumnValidation`,__name:`devices-table-column-validation`,props:{device:{}},setup(e){let t=e,{t:r}=O(),i=Be().getStore(bt),a=z(!1),o=F(()=>i.findById(t.device.id)),s=F(()=>o.value?.isValid??null),c=F(()=>o.value?.issues??[]),l=F(()=>c.value.length),u=F(()=>i.fetching()||i.getting(t.device.id));return(e,t)=>u.value?(n(),k(T(ze),{key:0,size:`small`,type:`info`},{default:y(()=>[V(T(I),{icon:`mdi:loading`,class:`animate-spin`})]),_:1})):s.value===!0?(n(),k(T(ze),{key:1,size:`small`,type:`success`},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.valid`)),1)]),_:1})):s.value===!1?(n(),k(T(vt),{key:2,placement:`bottom`,width:400,trigger:`click`,onShow:t[1]||=e=>a.value=!0,onHide:t[2]||=e=>a.value=!1},{reference:y(()=>[V(T(ze),{size:`small`,type:`danger`,class:`cursor-pointer`,onClick:t[0]||=L(()=>{},[`stop`])},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.invalid`))+` `,1),l.value>0?(n(),B(N,{key:0},[D(` (`+M(l.value)+`) `,1)],64)):E(``,!0),V(T(g),{class:`ml-1 inline-block!`},{default:y(()=>[V(T(I),{icon:a.value?`mdi:chevron-up`:`mdi:chevron-down`},null,8,[`icon`])]),_:1})]),_:1})]),default:y(()=>[j(`div`,wr,[j(`div`,Tr,[V(T(g),null,{default:y(()=>[V(T(I),{icon:`mdi:alert-circle-outline`})]),_:1}),D(` `+M(T(r)(`devicesModule.validation.issuesTitle`)),1)]),V(T(dt),{data:c.value,size:`small`,"show-header":!1},{default:y(()=>[V(T($),{prop:`severity`,width:70},{default:y(e=>[V(T(ze),{type:e.row.severity===`error`?`danger`:`warning`,size:`small`},{default:y(()=>[D(M(e.row.severity===`error`?T(r)(`devicesModule.validation.severity.error`):T(r)(`devicesModule.validation.severity.warning`)),1)]),_:2},1032,[`type`])]),_:1}),V(T($),{prop:`message`},{default:y(e=>[j(`div`,Er,M(T(r)(`devicesModule.validation.issueTypes.${e.row.type}`,e.row.type)),1),j(`div`,null,M(e.row.message),1)]),_:1})]),_:1},8,[`data`])])]),_:1})):(n(),k(T(ze),{key:3,size:`small`,type:`info`},{default:y(()=>[D(M(T(r)(`devicesModule.validation.status.unknown`)),1)]),_:1}))}}),Or={key:0,class:`h-full w-full leading-normal`},kr={key:1,class:`h-full w-full leading-normal`},Ar={key:2,class:`h-full w-full leading-normal`},jr={class:`block`},Mr=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(r,{emit:i}){let a=r,o=i,{t:s}=O(),{isMDDevice:c}=Ie(),l=F(()=>a.totalRows===0),u=U(a,`filters`,o),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`selected-changes`,e)},p=e=>{o(`detail`,e.id)},m=(e,t,n)=>{if(e===`type`){let e=u.value.types;n===!0?e.push(t):e=u.value.types.filter(e=>e!==t),u.value.types=Array.from(new Set(e))}else if(e===`category`){let e=u.value.categories;n===!0?e.push(t):e=u.value.categories.filter(e=>e!==t),u.value.categories=Array.from(new Set(e))}else if(e===`state`){let e=u.value.states;n===!0?e.push(t):e=u.value.states.filter(e=>e!==t),u.value.states=Array.from(new Set(e))}else e===`enabled`?n===!0?u.value.enabled=t:u.value.enabled=`all`:e===`validation`&&(n===!0?u.value.validation=t:u.value.validation=`all`)};return(i,h)=>e((n(),k(T(dt),{"element-loading-text":T(s)(`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:t({maxHeight:r.tableHeight+`px`}),"max-height":r.tableHeight,onSortChange:d,onSelectionChange:f,onRowClick:p},{empty:y(()=>[a.loading?(n(),B(`div`,Or,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:devices`})]),secondary:y(()=>[V(T(I),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):l.value&&!a.loading?(n(),B(`div`,kr,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:devices`})]),secondary:y(()=>[V(T(I),{icon:`mdi:information`})]),_:1})]),title:y(()=>[D(M(T(s)(`devicesModule.texts.devices.noDevices`)),1)]),_:1})])):a.filtersActive&&!a.loading?(n(),B(`div`,Ar,[V(T(P),{class:`h-full w-full`},{icon:y(()=>[V(T(R),{size:80},{primary:y(()=>[V(T(I),{icon:`mdi:devices`})]),secondary:y(()=>[V(T(I),{icon:`mdi:filter-multiple`})]),_:1})]),title:y(()=>[V(T(W),{class:`block`},{default:y(()=>[D(M(T(s)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1}),V(T(A),{type:`primary`,plain:``,class:`mt-4`,onClick:h[0]||=e=>o(`reset-filters`)},{icon:y(()=>[V(T(I),{icon:`mdi:filter-off`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):E(``,!0)]),default:y(()=>[T(c)?(n(),k(T($),{key:0,type:`selection`,fixed:``,width:30})):E(``,!0),V(T($),{width:60,align:`center`},{default:y(e=>[V(xr,{device:e.row},null,8,[`device`])]),_:1}),V(T($),{label:T(s)(`devicesModule.table.devices.columns.name.title`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:y(e=>[e.row.description?(n(),B(N,{key:0},[j(`strong`,jr,M(e.row.name),1),V(T(W),{size:`small`,class:`block leading-4`,truncated:``},{default:y(()=>[D(M(e.row.description),1)]),_:2},1024)],64)):(n(),B(N,{key:1},[D(M(e.row.name),1)],64))]),_:1},8,[`label`]),V(T($),{label:T(s)(`devicesModule.table.devices.columns.type.title`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:170},{default:y(e=>[V(Sr,{device:e.row,filters:T(u),onFilterBy:h[1]||=(e,t)=>m(`type`,e,t)},null,8,[`device`,`filters`])]),_:1},8,[`label`]),V(T($),{label:T(s)(`devicesModule.table.devices.columns.state.title`),prop:`state`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:130},{default:y(e=>[V(Cr,{device:e.row,filters:T(u),onFilterBy:h[2]||=(e,t)=>m(`state`,e,t)},null,8,[`device`,`filters`])]),_:1},8,[`label`]),V(T($),{label:T(s)(`devicesModule.table.devices.columns.category.title`),prop:`category`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:140},{default:y(e=>[V(T(De),{content:T(s)(`devicesModule.categories.devices.${e.row.category}`),placement:`top`,"show-after":500},{default:y(()=>[V(T(Je),{type:T(u).categories.includes(e.row.category)?`danger`:void 0,underline:`never`,class:`font-400! overflow-hidden`,onClick:L(t=>m(`category`,e.row.category,!T(u).categories.includes(e.row.category)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[T(u).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),V(T(W),{class:`block leading-4 max-w-[80%]!`,truncated:``},{default:y(()=>[D(M(T(s)(`devicesModule.categories.devices.${e.row.category}`)),1)]),_:2},1024)]),_:2},1032,[`type`,`onClick`])]),_:2},1032,[`content`])]),_:1},8,[`label`]),V(T($),{label:T(s)(`devicesModule.table.devices.columns.enabled.title`),prop:`enabled`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:110},{default:y(e=>[V(T(Je),{type:T(u).enabled===(e.row.enabled?`enabled`:`disabled`)?`danger`:void 0,underline:`never`,class:`font-400!`,onClick:L(t=>m(`enabled`,e.row.enabled?`enabled`:`disabled`,T(u).enabled!==(e.row.enabled?`enabled`:`disabled`)),[`stop`])},{default:y(()=>[V(T(g),{class:`el-icon--left`},{default:y(()=>[T(u).categories.includes(e.row.category)?(n(),k(T(I),{key:0,icon:`mdi:filter-minus`})):(n(),k(T(I),{key:1,icon:`mdi:filter-plus`}))]),_:2},1024),D(` `+M(e.row.enabled?T(s)(`devicesModule.table.devices.columns.enabled.values.enabled`):T(s)(`devicesModule.table.devices.columns.enabled.values.disabled`)),1)]),_:2},1032,[`type`,`onClick`])]),_:1},8,[`label`]),V(T($),{label:T(s)(`devicesModule.table.devices.columns.validation.title`),prop:`validation`,width:120},{default:y(e=>[V(Dr,{device:e.row},null,8,[`device`])]),_:1},8,[`label`]),V(T($),{width:190,align:`right`},{default:y(e=>[j(`div`,{onClick:h[3]||=L(()=>{},[`stop`])},[V(T(A),{size:`small`,plain:``,"data-test-id":`detail-device`,onClick:t=>o(`detail`,e.row.id)},{icon:y(()=>[V(T(I),{icon:`mdi:file-search-outline`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),V(T(A),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-device`,onClick:t=>o(`edit`,e.row.id)},{icon:y(()=>[V(T(I),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),V(T(A),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-device`,onClick:t=>o(`remove`,e.row.id)},{icon:y(()=>[V(T(I),{icon:`mdi:trash`})]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[T(Ke),a.loading]])}}),Nr=C({name:`ListDevices`,__name:`list-devices`,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`,`bulk-action`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{isMDDevice:o}=Ie(),s=null,c=z(null),l=z(null),d=U(r,`filters`,i),f=z(r.sortBy),p=z(r.sortDir),m=z(r.paginatePage),g=z(r.paginateSize),_=z(250),v=z([]),b=F(()=>[{key:`enable`,label:a(`application.bulkActions.enable`),icon:`mdi:check-circle-outline`,type:`success`},{key:`disable`,label:a(`application.bulkActions.disable`),icon:`mdi:close-circle-outline`,type:`warning`},{key:`delete`,label:a(`application.bulkActions.delete`),icon:`mdi:trash`,type:`danger`}]),x=e=>{i(`detail`,e)},S=e=>{i(`edit`,e)},C=e=>{i(`remove`,e)},ee=()=>{i(`reset-filters`)},te=e=>{i(`update:paginate-size`,e)},ne=e=>{i(`update:paginate-page`,e)},re=e=>{v.value=e},ie=e=>{i(`bulk-action`,e,v.value)};return u(()=>{if(!c.value)return;let e=()=>{_.value=c.value.clientHeight-l.value.clientHeight};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(c.value)),e()}),h(()=>{s&&c.value&&s.unobserve(c.value)}),w(()=>f.value,e=>{i(`update:sort-by`,e)}),w(()=>p.value,e=>{i(`update:sort-dir`,e)}),w(()=>r.paginatePage,e=>{m.value=e}),w(()=>r.paginateSize,e=>{g.value=e}),w(()=>r.sortDir,e=>{p.value=e}),w(()=>r.sortBy,e=>{f.value=e}),w(()=>o.value,e=>{e||(v.value=[])}),(e,t)=>(n(),B(N,null,[V(T(lt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:y(()=>[V(br,{filters:T(d),"onUpdate:filters":t[0]||=e=>le(d)?d.value=e:null,"filters-active":r.filtersActive,"selected-count":v.value.length,"bulk-actions":b.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:ie},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),j(`div`,{ref_key:`wrapper`,ref:c,class:`flex-grow overflow-hidden`},[V(T(lt),{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:y(()=>[V(Mr,{filters:T(d),"onUpdate:filters":t[3]||=e=>le(d)?d.value=e:null,"sort-by":f.value,"onUpdate:sortBy":t[4]||=e=>f.value=e,"sort-dir":p.value,"onUpdate:sortDir":t[5]||=e=>p.value=e,items:r.items,"total-rows":r.totalRows,loading:r.loading,"filters-active":r.filtersActive,"table-height":_.value,onDetail:x,onEdit:S,onRemove:C,onResetFilters:ee,onSelectedChanges:re},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),j(`div`,{ref_key:`paginator`,ref:l,class:`flex justify-center w-full py-4`},[V(T(gt),{"current-page":m.value,"onUpdate:currentPage":t[6]||=e=>m.value=e,"page-size":g.value,"onUpdate:pageSize":t[7]||=e=>g.value=e,layout:T(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:r.allItems.length,onSizeChange:te,onCurrentChange:ne},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),Pr={class:`px-2`},Fr={class:`px-2`},Ir={class:`px-2`},Lr={class:`px-5 py-2 text-center`},Rr=ge(C({name:`ListDevicesAdjust`,__name:`list-devices-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let r=e,i=t,a=Se(`list-devices-adjust`),{t:s}=O(),{options:c}=It(),l=[q.connected,q.disconnected,q.init,q.ready,q.running,q.sleeping,q.stopped,q.lost,q.alert,q.unknown],u=Object.values(Ee),d=z([`types`,`states`,`enabled`,`categories`,`validation`]),f=U(r,`filters`,i);return(e,t)=>(n(),B(N,null,[V(T(Re),{teleport:``},{icon:y(()=>[V(T(I),{icon:`mdi:filter`})]),title:y(()=>[D(M(T(s)(`devicesModule.headings.devices.adjustFilters`)),1)]),subtitle:y(()=>[D(M(T(s)(`devicesModule.subHeadings.devices.adjustFilters`)),1)]),_:1}),j(`div`,{class:_([[T(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[V(T(je),{class:`flex-grow`},{default:y(()=>[V(T(et),{modelValue:d.value,"onUpdate:modelValue":t[5]||=e=>d.value=e},{default:y(()=>[V(T(at),{name:`types`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.types.title`)),1)]),_:1})]),default:y(()=>[V(T(Qe),{modelValue:T(f).types,"onUpdate:modelValue":t[0]||=e=>T(f).types=e,class:`flex flex-col px-4`},{default:y(()=>[(n(!0),B(N,null,o(T(c),e=>(n(),k(T(nt),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),V(T(at),{name:`states`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.states.title`)),1)]),_:1})]),default:y(()=>[V(T(Qe),{modelValue:T(f).states,"onUpdate:modelValue":t[1]||=e=>T(f).states=e,class:`flex flex-col px-4`},{default:y(()=>[(n(),B(N,null,o(l,(e,t)=>V(T(nt),{key:t,label:T(s)(`devicesModule.states.${e}`),value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`class`]),V(T(at),{name:`enabled`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.enabled.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Pr,[V(T(mt),{modelValue:T(f).enabled,"onUpdate:modelValue":t[2]||=e=>T(f).enabled=e},{default:y(()=>[V(T(pt),{label:T(s)(`devicesModule.filters.devices.enabled.values.enabled`),value:`enabled`},null,8,[`label`]),V(T(pt),{label:T(s)(`devicesModule.filters.devices.enabled.values.disabled`),value:`disabled`},null,8,[`label`]),V(T(pt),{label:T(s)(`devicesModule.filters.devices.enabled.values.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`]),V(T(at),{name:`categories`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.category.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Fr,[V(T(Z),{modelValue:T(f).categories,"onUpdate:modelValue":t[3]||=e=>T(f).categories=e,placeholder:T(s)(`devicesModule.filters.devices.category.placeholder`),name:`categories`,filterable:``,multiple:``,clearable:``,"collapse-tags":``,"collapse-tags-tooltip":``,"max-collapse-tags":3},{default:y(()=>[(n(!0),B(N,null,o(T(u),(e,t)=>(n(),k(T(Q),{key:t,label:T(s)(`devicesModule.categories.devices.${e}`),value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])]),_:1},8,[`class`]),V(T(at),{name:`validation`,class:_([T(a).e(`filter-item`)])},{title:y(()=>[V(T(W),{class:`!px-2`},{default:y(()=>[D(M(T(s)(`devicesModule.filters.devices.validation.title`)),1)]),_:1})]),default:y(()=>[j(`div`,Ir,[V(T(mt),{modelValue:T(f).validation,"onUpdate:modelValue":t[4]||=e=>T(f).validation=e},{default:y(()=>[V(T(pt),{label:T(s)(`devicesModule.validation.filter.valid`),value:`valid`},null,8,[`label`]),V(T(pt),{label:T(s)(`devicesModule.validation.filter.invalid`),value:`invalid`},null,8,[`label`]),V(T(pt),{label:T(s)(`devicesModule.validation.filter.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),j(`div`,Lr,[V(T(A),{disabled:!r.filtersActive,onClick:t[6]||=e=>i(`reset-filters`)},{icon:y(()=>[V(T(I),{icon:`mdi:filter-remove`})]),default:y(()=>[D(` `+M(T(s)(`devicesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-125871e6`]]),zr=C({name:`SelectDevicePlugin`,__name:`select-device-plugin`,props:{modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=t,{t:a}=O(),{plugins:s,options:c}=It(),l=z(r.modelValue),u=F(()=>s.value.find(e=>(e.elements??[]).some(e=>e.type===l.value))),d=F(()=>(u.value?.elements??[]).find(e=>e.type===l.value));return w(()=>l.value,e=>{i(`update:modelValue`,e)}),(e,t)=>(n(),B(N,null,[V(T(G),{label:T(a)(`devicesModule.fields.devices.plugin.title`),"label-position":`top`},{default:y(()=>[V(T(Z),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:T(a)(`devicesModule.fields.devices.plugin.placeholder`),name:`plugin`,filterable:``},{default:y(()=>[(n(!0),B(N,null,o(T(c),e=>(n(),k(T(Q),{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?(n(),k(T(K),{key:0,description:d.value.description??u.value?.description,closable:!1,"show-icon":``,type:`info`},null,8,[`description`])):E(``,!0)],64))}});export{xn as C,Cn as S,nn as T,Bn as _,fr as a,In as b,nr as c,Zn as d,Jn as f,Hn as g,Un as h,vr as i,tr as l,Wn as m,Rr as n,lr as o,Kn as p,Nr as r,ir as s,zr as t,er as u,zn as v,yn as w,Nn as x,Rn as y};
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{Xr as e,ci as t,d as n,fi as r,mr as i,n as a,ui as o}from"./icon-with-child-DmQ_XhQy.js";import{A as s,Bn as c,Fn as l,In as u,Jn as d,Pn as f,S as p,T as m,Tn as h,Un as g,Ur as _,Wn as v,Yn as y,_ as b,an as x,ba as S,d as C,m as w,pn as T,qn as E,wn as D,y as O}from"./common-cN85xDKw.js";import{c as k,d as A,f as j,h as M,i as N,n as P,o as F,p as ee}from"./useLocation-X9X01BDi.js";var I=()=>{let e=m().getStore(ee),{data:t,semaphore:n}=S(e);return{weatherDay:i(()=>t.value),isLoading:i(()=>t.value===null?n.value.getting:!1),fetchWeatherDay:async()=>{await e.get()}}},L=()=>{let e=m().getStore(M),{firstLoad:t,semaphore:n}=S(e);return{locations:i(()=>e.findAll().filter(e=>!e.draft)),areLoading:i(()=>n.value.fetching.items),loaded:i(()=>t.value),fetchLocations:async()=>{await e.fetch()}}},R={search:void 0,types:[],primary:`all`},z=()=>{let t=m().getStore(M),{firstLoad:n,semaphore:r}=S(t),{configModule:a}=h({type:A}),s=i(()=>a.value?.primaryLocationId??null),c=o(10),l=o(1),u=o({...R}),d=i(()=>u.value.search!==R.search||u.value.types.length>0||u.value.primary!==R.primary),f=o(`name`),p=o(`ascending`),g=i(()=>{let e=t.findAll().filter(e=>!(e.draft||u.value.search&&!e.name.toLowerCase().includes(u.value.search.toLowerCase())||u.value.types.length>0&&!u.value.types.includes(e.type)||u.value.primary===`primary`&&e.id!==s.value||u.value.primary===`secondary`&&e.id===s.value));return p.value===null?e:T(e,[e=>e[f.value]??``],[p.value===`ascending`?`asc`:`desc`])}),_=i(()=>{let e=(l.value-1)*c.value,t=e+c.value;return g.value.slice(e,t)}),v=async()=>{await t.fetch()},y=i(()=>r.value.fetching.items||!n.value),b=i(()=>n.value),x=i(()=>t.findAll().filter(e=>!e.draft).length);return e(()=>u.value,()=>{l.value=1},{deep:!0}),{locations:g,locationsPaginated:_,totalRows:x,areLoading:y,loaded:b,fetchLocations:v,filters:u,filtersActive:d,paginateSize:c,paginatePage:l,sortBy:f,sortDir:p,resetFilter:()=>{u.value={...R}},primaryLocationId:s}},B=()=>{let e=O(),t=p(),n=o({}),r=o(!1),s=o(!1),c=o(!1);return{weatherByLocation:i(()=>n.value),isLoading:r,hasError:s,fetchCompleted:c,fetchLocationsWeather:async()=>{if(!r.value){r.value=!0,s.value=!1;try{let{data:r,error:i,response:o}=await e.client.GET(`/${a}/${j}/weather`,{});if(r!==void 0&&Array.isArray(r.data)){let e={};for(let n of r.data)if(n.location_id)try{let t=P(n.current),r=n.location;e[n.location_id]={current:t,locationName:r?.name??``,country:r?.country??null}}catch(e){t.error(`[WEATHER] Failed to transform weather data for location ${n.location_id}`,e)}n.value=e,Object.keys(e).length===0&&(s.value=!0);return}let c=`Failed to fetch locations weather.`;throw i&&(c=i.message??c),new N(c,o?.status??500)}catch(e){if(s.value=!0,e instanceof N)throw e;t.error(`[WEATHER] Failed to fetch locations weather`,e)}finally{r.value=!1,c.value=!0}}}}},V=()=>{let{t:e}=n(),t=b(),r=m().getStore(M);return{add:async e=>r.add(e),edit:async e=>r.edit(e),remove:async n=>{let i=r.findById(n);if(i)try{await _.confirm(e(`weatherModule.messages.locations.confirmDeleteLocation`,{name:i.name}),e(`weatherModule.headings.deleteLocation`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`});try{await r.remove({id:n}),t.success(e(`weatherModule.messages.locations.deleted`))}catch{t.error(e(`weatherModule.messages.locations.notDeleted`))}}catch{t.info(e(`weatherModule.messages.locations.deleteCanceled`,{location:i.name}))}},bulkRemove:async n=>{if(n.length!==0)try{await _.confirm(e(`weatherModule.messages.locations.confirmBulkDelete`,{count:n.length}),e(`weatherModule.headings.bulkDeleteLocations`),{confirmButtonText:e(`weatherModule.buttons.yes.title`),cancelButtonText:e(`weatherModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of n)try{await r.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`weatherModule.messages.locations.bulkDeleted`,{count:i})),a>0&&t.error(e(`weatherModule.messages.locations.bulkDeleteFailed`,{count:a}))}catch{t.info(e(`weatherModule.messages.locations.bulkDeleteCanceled`))}}}},H=E().uuid(),U=v({id:H,draft:l().default(!1),type:E().trim().nonempty(),name:E().trim().nonempty(),order:g().int().nonnegative().default(0),createdAt:d([E().datetime({offset:!0}),u()]).transform(e=>e instanceof Date?e:new Date(e)),updatedAt:d([E().datetime({offset:!0}),u()]).transform(e=>e instanceof Date?e:new Date(e)).optional().nullable().default(null)}).catchall(y());v({fetching:v({items:l().default(!1),item:f(H)}),creating:f(H),updating:f(H),deleting:f(H)}),v({id:H,type:E().trim().nonempty(),data:c({})}),v({id:H,data:v({type:E().trim().nonempty(),name:E().trim().nonempty()}).catchall(y())}),v({id:H}),v({id:H});var W=v({id:H.optional().default(C()),draft:l().optional().default(!1),data:v({type:E().trim().nonempty(),name:E().trim().nonempty()}).catchall(y())}),G=v({id:H,data:v({type:E().trim().nonempty(),name:E().trim().optional()}).catchall(y())});v({id:H}),v({id:H});var K=v({id:E().uuid().optional(),type:E().trim().nonempty(),name:E().trim().nonempty()}).catchall(y()),q=v({type:E().trim().nonempty(),name:E().trim().nonempty().optional()}).catchall(y());v({id:E().uuid(),type:E(),name:E().trim().nonempty(),order:g().int().nonnegative().default(0),created_at:E(),updated_at:E().nullable()}).catchall(y()),v({id:H,type:E().trim().nonempty(),name:E().trim().min(1,`Name is required`)});var J=v({name:E().trim().min(1,`Name is required`)}),Y=U,X=K,Z=q,Q=D(),te=({id:i})=>{let a=m().getStore(M),{t:s}=n(),c=b(),l=p(),u=o(k.NONE),d,f=t({name:a.findById(i.value)?.name??``}),h=w(r(f)),g=o(void 0),_=o(!1),v=async()=>{if(g.value.clearValidate(),!await g.value.validate())throw new F(`Form not valid`);let e=J.safeParse(f);if(!e.success)throw l.error(`[WEATHER_MODULE] Schema validation failed:`,e.error),new F(`Failed to validate update location model.`);u.value=k.WORKING;let t=a.findById(i.value);if(!t)throw new F(`Location not found.`);let n=s(`weatherModule.messages.locations.notUpdated`,{location:f.name});try{await a.edit({id:i.value,data:{type:t.type,...e.data}}),u.value=k.OK,c.success(s(`weatherModule.messages.locations.updated`,{location:f.name})),Object.assign(h,w(r(f))),_.value=!1}catch(e){throw u.value=k.ERROR,d=window.setTimeout(y,2e3),e instanceof N&&e.code===422?c.error(e.message):c.error(n),e}},y=()=>{window.clearTimeout(d),u.value=k.NONE};return e(()=>f,()=>{_.value=!(0,Q.isEqual)(r(f),h)},{deep:!0}),e(()=>a.findById(i.value),e=>{e&&!_.value&&(f.name=e.name,Object.assign(h,w(r(f))))}),{model:f,formEl:g,formChanged:_,submit:v}},$=()=>{let e=s(),{enabled:t}=x(),n=[`locationAddForm`,`locationEditForm`],r=[`locationSchema`,`locationAddFormSchema`,`locationEditFormSchema`,`locationCreateReqSchema`,`locationUpdateReqSchema`],a=i(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`weather-module`)))return!1;let t=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),i=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return t||i}):!1));return{plugins:a,options:i(()=>T(a.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`weather-module`)).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(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(`weather-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(`weather-module`)));if(n)return n}}}},ne=({type:e})=>{let{getByType:t}=$(),n=i(()=>t(e));return{plugin:n,element:i(()=>(n.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`weather-module`))))}};export{I as _,Y as a,U as c,G as d,H as f,L as g,z as h,X as i,q as l,B as m,$ as n,Z as o,V as p,te as r,K as s,ne as t,W as u};
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{Nr as e,Xr as t,ci as n,d as r,fi as i,mr as a,n as o,ui as s}from"./icon-with-child-DmQ_XhQy.js";import{Lr as c,Mn as l,Pn as u,S as d,T as f,Ur as p,Wn as m,_ as h,ba as g,f as _,m as v,pn as y,qn as b,wn as x,y as S}from"./common-cN85xDKw.js";import{t as C}from"./keys-C5lGGSUO.js";var w=e=>{let n=f().getStore(C),{tokenRefreshTriggers:r}=g(n),i=d(),o=s([]),l=a(()=>e.value===null?null:n?.findById(e.value)??null),u=a(()=>e.value===null?!1:n?.getting(e.value)??!1),p=async()=>{if(e.value!==null)try{await n?.get({id:e.value})}catch(e){i.error(`Failed to fetch display:`,e)}},m=async()=>{if(e.value!==null)try{o.value=await n?.getTokens({id:e.value})??[]}catch(e){i.error(`Failed to fetch display tokens:`,e),o.value=[]}};return c(a(()=>{if(e.value===null||!n)return 0;let t=r.value;return!t||typeof t!=`object`?0:t[e.value]??0}),async()=>{if(e.value!==null)try{await m()}catch(e){i.error(`Failed to refresh tokens:`,e)}},{debounce:300}),t(()=>e.value,async e=>{if(e!==null&&n?.findById(e)===null)try{await p()}catch(e){i.error(`Failed to fetch display on id change:`,e)}},{immediate:!0}),{display:l,tokens:o,isLoading:u,fetchDisplay:p,fetchTokens:m,revokeToken:async()=>{if(e.value===null)return!1;let t=await n?.revokeToken({id:e.value});return t&&(o.value=[]),t??!1}}},T=`displays`,E=`displays-module`,D=`DisplaysModule.`,O=function(e){return e.DISPLAY_CREATED=`DisplaysModule.Display.Created`,e.DISPLAY_UPDATED=`DisplaysModule.Display.Updated`,e.DISPLAY_DELETED=`DisplaysModule.Display.Deleted`,e.DISPLAY_TOKEN_REVOKED=`DisplaysModule.Display.TokenRevoked`,e}({}),k=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),A={DISPLAYS:`displays_module-displays`,DISPLAYS_EDIT:`displays_module-displays_edit`,DISPLAY:`displays_module-display`,DISPLAY_EDIT:`displays_module-display_edit`,DISPLAY_TOKENS:`displays_module-display_tokens`},j=[{value:15,labelKey:`15s`},{value:30,labelKey:`30s`},{value:60,labelKey:`1min`},{value:120,labelKey:`2min`},{value:300,labelKey:`5min`},{value:600,labelKey:`10min`},{value:1800,labelKey:`30min`},{value:0,labelKey:`never`}],M=class extends Error{exception;constructor(e,t=null){super(e),this.name=`DisplaysException`,this.exception=t}},N=class extends M{constructor(e,t=null){super(e,t),this.name=`DisplaysValidationException`}},P=class extends M{code;constructor(e,t=null,n=null){super(e,n),this.name=`DisplaysApiException`,this.code=t}},F=x(),I=({display:a,messages:o})=>{let c=f().getStore(C),{t:l}=r(),u=h(),d=s(k.NONE),p,m=n({id:a.id,name:a.name,role:a.role,roomId:a.roomId,unitSize:a.unitSize,rows:a.rows,cols:a.cols,brightness:a.brightness,screenLockDuration:a.screenLockDuration,darkMode:a.darkMode,screenSaver:a.screenSaver,screenPowerOff:a.screenPowerOff,speaker:a.speaker,speakerVolume:a.speakerVolume,microphone:a.microphone,microphoneVolume:a.microphoneVolume,homeMode:a.homeMode,homePageId:a.homePageId,numberFormat:a.numberFormat??``,temperatureUnit:a.temperatureUnit??``,windSpeedUnit:a.windSpeedUnit??``,pressureUnit:a.pressureUnit??``,precipitationUnit:a.precipitationUnit??``,distanceUnit:a.distanceUnit??``,weatherLocationId:a.weatherLocationId??null}),g=v(i(m)),_=s(void 0),y=s(!1),b=async()=>{let e=o&&o.error?o.error:l(`displaysModule.messages.notEdited`,{display:a.name||a.macAddress});if(!_.value)throw new N(`Form element is not available`);if(_.value.clearValidate(),!await _.value.validate())throw new N(`Form not valid`);d.value=k.WORKING;try{let e={name:m.name||null,role:m.role,roomId:m.role===`room`?m.roomId:null,unitSize:m.unitSize,rows:m.rows,cols:m.cols,brightness:m.brightness,screenLockDuration:m.screenLockDuration,darkMode:m.darkMode,screenSaver:m.screenSaver,screenPowerOff:m.screenPowerOff,homeMode:m.homeMode,homePageId:m.homeMode===`explicit`?m.homePageId:null,numberFormat:m.numberFormat||null,temperatureUnit:m.temperatureUnit||null,windSpeedUnit:m.windSpeedUnit||null,pressureUnit:m.pressureUnit||null,precipitationUnit:m.precipitationUnit||null,distanceUnit:m.distanceUnit||null,weatherLocationId:m.weatherLocationId||null};a.audioOutputSupported&&(e.speaker=m.speaker,e.speakerVolume=m.speakerVolume),a.audioInputSupported&&(e.microphone=m.microphone,e.microphoneVolume=m.microphoneVolume),await c.edit({id:a.id,data:e})}catch(t){throw d.value=k.ERROR,p=window.setTimeout(x,2e3),t instanceof P&&t.code===422?u.error(t.message):u.error(e),t}return d.value=k.OK,p=window.setTimeout(x,2e3),u.success(l(o&&o.success?o.success:`displaysModule.messages.edited`,{display:a.name||a.macAddress})),y.value=!1,g=v(i(m)),`saved`},x=()=>{p!==void 0&&(window.clearTimeout(p),p=void 0),d.value=k.NONE};return t(m,()=>{y.value=!(0,F.isEqual)(i(m),g)}),e(()=>{x()}),{model:m,formEl:_,formChanged:y,submit:b,clear:x,formResult:d}},L=()=>{let e=f().getStore(C),{firstLoad:t}=g(e),n=a(()=>e?.findAll()??[]);return{displays:n,isLoading:a(()=>e?.fetching()??!1),isLoaded:a(()=>t.value),fetchDisplays:async()=>{await e?.fetch()},options:a(()=>n.value.map(e=>({value:e.id,label:e.name||e.macAddress})))}},R=m({search:b().optional(),darkMode:l([`all`,`enabled`,`disabled`]).default(`all`),screenSaver:l([`all`,`enabled`,`disabled`]).default(`all`),state:l([`all`,`offline`,`online`]).default(`all`),states:u(l([`connected`,`disconnected`,`lost`,`unknown`]))}),z={search:void 0,darkMode:`all`,screenSaver:`all`,state:`all`,states:[]},B={by:`name`,dir:`asc`},V=()=>{let e=f().getStore(C),{firstLoad:n,semaphore:r}=g(e),{filters:i,sort:o,pagination:c,reset:l}=_({key:`${E}:displays:list`,filters:{schema:R,defaults:z},sort:{defaults:[B]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=a(()=>i.value.search!==z.search||!(0,F.isEqual)(i.value.darkMode,z.darkMode)||!(0,F.isEqual)(i.value.screenSaver,z.screenSaver)||!(0,F.isEqual)(i.value.state,z.state)||!(0,F.isEqual)(i.value.states,z.states)),d=s(c.value.size||10),p=s(c.value.page||1),m=s(o.value.length>0?o.value[0]?.by:void 0),h=s(o.value.length>0?o.value[0]?.dir??null:null),v=a(()=>y(e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name?.toLowerCase().includes(i.value.search.toLowerCase())||e.macAddress.toLowerCase().includes(i.value.search.toLowerCase())||e.version.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.darkMode===`all`||i.value.darkMode===`enabled`&&e.darkMode||i.value.darkMode===`disabled`&&!e.darkMode)&&(i.value.screenSaver===`all`||i.value.screenSaver===`enabled`&&e.screenSaver||i.value.screenSaver===`disabled`&&!e.screenSaver)&&(!i.value.states||i.value.states.length===0||i.value.states.includes(e.status??`unknown`))&&(i.value.state===`all`||i.value.state===`online`&&e.status===`connected`||i.value.state===`offline`&&[`disconnected`,`lost`,`unknown`].includes(e.status??`unknown`))),[e=>{switch(m.value){case`name`:return e.name||e.macAddress;case`version`:return e.version;case`screenWidth`:return e.screenWidth??0;case`status`:return e.status??`unknown`;default:return e.name||e.macAddress}}],[h.value===`asc`?`asc`:`desc`])),b=a(()=>{let e=(p.value-1)*d.value,t=e+d.value;return v.value.slice(e,t)}),x=async()=>{await e.fetch()},S=a(()=>r.value.fetching.items||!n.value),w=a(()=>n.value),T=a(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>c.value,e=>{p.value=e.page??1,d.value=e.size??10},{deep:!0}),t(()=>p.value,e=>{c.value.page=e}),t(()=>d.value,e=>{c.value.size=e}),t(()=>h.value,e=>{m.value===void 0||e===null?o.value=[]:o.value=[{by:m.value,dir:e}]}),t(()=>m.value,e=>{e===void 0?o.value=[]:o.value=[{by:e,dir:h.value}]}),{displays:v,displaysPaginated:b,totalRows:T,areLoading:S,loaded:w,fetchDisplays:x,filters:i,filtersActive:u,paginateSize:d,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}},H=()=>{let e=f().getStore(C),{t}=r(),n=h();return{remove:async r=>{let i=e?.findById(r);if(!i){n.error(t(`displaysModule.messages.notFound`));return}try{await p.confirm(t(`displaysModule.messages.confirmRemove`,{name:i.name||i.macAddress}),t(`displaysModule.headings.removeDisplay`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`}),await e.remove({id:r}),n.success(t(`displaysModule.messages.removed`))}catch{}},bulkRemove:async r=>{if(r.length!==0)try{await p.confirm(t(`displaysModule.messages.confirmBulkRemove`,{count:r.length}),t(`displaysModule.headings.removeBulkDisplays`),{confirmButtonText:t(`displaysModule.buttons.yes.title`),cancelButtonText:t(`displaysModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let t of r)try{await e.remove({id:t.id}),i++}catch{a++}i>0&&n.success(t(`displaysModule.messages.bulkRemoved`,{count:i})),a>0&&n.error(t(`displaysModule.messages.bulkRemoveFailed`,{count:a}))}catch{}}}},U=()=>{let e=S(),t=d(),n=s(null),r=s(!1),i=s(!1),c=a(()=>n.value?.available??!1),l=a(()=>n.value?.active??!1),u=a(()=>n.value?.deploymentMode??`combined`),f=a(()=>n.value?.remainingTime??null),p=a(()=>{let e=f.value;return e===null?0:Math.ceil(e/1e3)}),m=a(()=>{let e=p.value;return e<=0?`0:00`:`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`}),h=async()=>{try{r.value=!0;let{data:t}=await e.client.GET(`/${o}/${T}/displays/permit-join/status`);if(t?.data){let e=t.data;n.value={active:e.active??!1,expiresAt:e.expires_at?new Date(e.expires_at):null,remainingTime:e.remaining_time??null,deploymentMode:e.deployment_mode??`combined`,available:e.available??!1}}}catch(e){throw t.error(`Failed to fetch permit join status`,e),new M(`Failed to fetch permit join status`)}finally{r.value=!1}};return{status:n,loading:r,activating:i,isAvailable:c,isActive:l,deploymentMode:u,remainingTime:f,remainingTimeSeconds:p,remainingTimeFormatted:m,fetchStatus:h,activate:async()=>{try{i.value=!0,await e.client.POST(`/${o}/${T}/displays/permit-join`),await h()}catch(e){throw t.error(`Failed to activate permit join`,e),new M(`Failed to activate permit join`)}finally{i.value=!1}},deactivate:async()=>{try{i.value=!0,await e.client.DELETE(`/${o}/${T}/displays/permit-join`,{}),await h()}catch(e){throw t.error(`Failed to deactivate permit join`,e),new M(`Failed to deactivate permit join`)}finally{i.value=!1}}}};export{I as a,N as c,T as d,O as f,w as g,j as h,L as i,D as l,A as m,H as n,P as o,k as p,V as r,M as s,U as t,E as u};
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{Dr as e,Vr as t,Xr as n,d as r,hi as i,mr as a,n as o,si as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{Mn as l,S as u,T as d,Ur as f,Wn as p,_ as m,ba as h,cn as g,cr as _,f as v,ln as y,pn as b,qn as x,wt as S,y as C}from"./common-cN85xDKw.js";import{n as w}from"./logs-entries.transformers-BnRxEggq.js";import{n as T,r as E,t as D}from"./extensions.constants-BtEcoiTe.js";var O=class e extends Error{exception;constructor(t,n=null){super(t),this.name=`ExtensionsException`,this.exception=n,Object.setPrototypeOf(this,e.prototype)}},k=class e extends O{code;constructor(t,n=null){super(t),this.name=`ExtensionsApiException`,this.code=n,Object.setPrototypeOf(this,e.prototype)}},A=class e extends O{constructor(t){super(t),this.name=`ExtensionsValidationException`,Object.setPrototypeOf(this,e.prototype)}},j=()=>{let e=C(),t=c([]),n=c(!1),r=c(new Map),i=0;return{actions:t,isLoading:n,executingActions:r,fetchActions:async r=>{let a=++i;n.value=!0;try{let{data:n}=await e.client.GET(`/modules/extensions/extensions/${r}/actions`);if(a!==i)return;n?.data?t.value=n.data:t.value=[]}catch{if(a!==i)return;t.value=[]}finally{a===i&&(n.value=!1)}},executeAction:async(t,n,i)=>{let a=r.value.get(n)??0;r.value.set(n,a+1);try{let{data:r,error:a}=await e.client.POST(`/modules/extensions/extensions/${t}/actions/${n}`,{body:{data:{params:i??{}}}});return r?.data?r.data:{success:!1,message:a?.error?.message??`Action execution failed`}}catch(e){return{success:!1,message:e instanceof Error?e.message:`Action execution failed`}}finally{let e=(r.value.get(n)??1)-1;e<=0?r.value.delete(n):r.value.set(n,e)}}}},M=Symbol(`useActions`),N=()=>{let e=j();return t(M,e),e},P=()=>e(M,null)??j(),F=e=>{let t=d().getStore(g),{semaphore:n,firstLoad:r}=h(t);return{extension:a(()=>t.findByType(i(e.type))),isLoading:a(()=>n.value.fetching.items||!r.value),fetchExtension:async()=>{await t.fetch()}}},I=p({search:x().optional(),kind:l([`all`,E.MODULE,E.PLUGIN]).default(`all`),enabled:l([`all`,`enabled`,`disabled`]).default(`all`),isCore:l([`all`,`core`,`addon`]).default(`all`)}),L={search:void 0,kind:`all`,enabled:`all`,isCore:`all`},R={by:`name`,dir:`asc`},z=()=>{let e=d().getStore(g),{semaphore:t}=h(e),{filters:r,sort:i,pagination:o,viewMode:s,reset:l}=v({key:`${T}:extensions:list`,filters:{schema:I,defaults:L},sort:{defaults:[R]},pagination:{defaults:{page:1,size:10}},viewMode:{options:[`table`,`cards`],default:D},syncQuery:!0,version:1}),u=a({get:()=>s.value??`table`,set:e=>{s.value=e}}),f=a(()=>r.value.search!==L.search||r.value.kind!==L.kind||r.value.enabled!==L.enabled||r.value.isCore!==L.isCore),p=c(o.value.size||10),m=c(o.value.page||1),_=c(i.value.length>0?i.value[0]?.by:void 0),y=c(i.value.length>0?i.value[0]?.dir??null:null),x=a(()=>Object.values(e.data)),S=a(()=>b(x.value.filter(e=>(!r.value.search||e.type.toLowerCase().includes(r.value.search.toLowerCase())||e.name.toLowerCase().includes(r.value.search.toLowerCase())||e.description?.toLowerCase().includes(r.value.search.toLowerCase()))&&(r.value.kind===`all`||e.kind===r.value.kind)&&(r.value.enabled===`all`||r.value.enabled===`enabled`&&e.enabled||r.value.enabled===`disabled`&&!e.enabled)&&(r.value.isCore===`all`||r.value.isCore===`core`&&e.isCore||r.value.isCore===`addon`&&!e.isCore)),[e=>_.value===`enabled`?e.enabled?1:0:e[_.value]??``],[y.value===`asc`?`asc`:`desc`])),C=a(()=>S.value),w=a(()=>{let e=(m.value-1)*p.value,t=e+p.value;return C.value.slice(e,t)}),O=a(()=>S.value.filter(e=>e.kind===E.MODULE)),k=a(()=>S.value.filter(e=>e.kind===E.PLUGIN)),A=async()=>{await e.fetch()},j=a(()=>t.value.fetching.items),M=a(()=>C.value.length);return n(()=>o.value,e=>{m.value=e.page??1,p.value=e.size??10},{deep:!0}),n(()=>m.value,e=>{o.value.page=e}),n(()=>p.value,e=>{o.value.size=e}),n(()=>y.value,e=>{_.value===void 0||e===null?i.value=[]:i.value=[{by:_.value,dir:e}]}),n(()=>_.value,e=>{e===void 0||y.value===null?i.value=[]:i.value=[{by:e,dir:y.value}]}),{extensions:C,extensionsPaginated:w,modules:O,plugins:k,totalRows:M,areLoading:j,fetchExtensions:A,filters:r,filtersActive:f,paginateSize:p,paginatePage:m,sortBy:_,sortDir:y,viewMode:u,resetFilter:l}},B=()=>{let{t:e}=r(),t=d(),n=m(),i=t.getStore(g),a=t.getStore(y);return{toggleEnabled:async(t,r)=>{try{return await i.update({type:t,data:{enabled:r}}),n.success(e(r?`extensionsModule.messages.extensionEnabled`:`extensionsModule.messages.extensionDisabled`)),r&&setTimeout(()=>{a.fetch().then(()=>{let e=a.findAll().filter(e=>e.pluginName===t);for(let t of e)t.lastError&&n.warning(t.lastError)}).catch(()=>{})},1500),!0}catch(t){return t instanceof k&&t.code===400?n.error(e(`extensionsModule.messages.notConfigurableError`)):n.error(e(`extensionsModule.messages.updateError`)),!1}},bulkEnable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&!e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToEnable`));return}try{await f.confirm(e(`extensionsModule.messages.confirmBulkEnable`,{count:r.length}),e(`extensionsModule.headings.bulkEnable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`info`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!0}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkEnabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkEnableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkEnableCanceled`))}},bulkDisable:async t=>{let r=t.filter(e=>e.canToggleEnabled&&e.enabled);if(r.length===0){n.info(e(`extensionsModule.messages.noExtensionsToDisable`));return}try{await f.confirm(e(`extensionsModule.messages.confirmBulkDisable`,{count:r.length}),e(`extensionsModule.headings.bulkDisable`),{confirmButtonText:e(`extensionsModule.buttons.yes`),cancelButtonText:e(`extensionsModule.buttons.no`),type:`warning`});let t=0,a=0;for(let e of r)try{await i.update({type:e.type,data:{enabled:!1}}),t++}catch{a++}t>0&&n.success(e(`extensionsModule.messages.bulkDisabled`,{count:t})),a>0&&n.error(e(`extensionsModule.messages.bulkDisableFailed`,{count:a}))}catch{n.info(e(`extensionsModule.messages.bulkDisableCanceled`))}}}},V=e=>{let t=C(),r=u(),l=c({}),d=c(!1),f=c(!1),p=c(!1),m=c(void 0),h=c(!1),g=c([]),_=c(`all`),v=null,y={"1h":3600*1e3,"6h":360*60*1e3,"24h":1440*60*1e3,"7d":10080*60*1e3,all:0},b=a(()=>Object.values(l.value).sort((e,t)=>new Date(t.ts).getTime()-new Date(e.ts).getTime())),x=a(()=>{let e=b.value;if(g.value.length>0&&(e=e.filter(e=>g.value.includes(e.type))),_.value!==`all`){let t=Date.now()-y[_.value];e=e.filter(e=>new Date(e.ts).getTime()>=t)}return e}),T=a(()=>g.value.length>0||_.value!==`all`),E=()=>{g.value=[],_.value=`all`},D=async()=>{let n=i(e.extensionType);v=n,f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${S}/logs`,{params:{query:{extension:n,limit:50}}});if(v!==n)return;e===void 0?i&&r.error(`Failed to fetch extension logs:`,i):(l.value=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]})),p.value=!0,d.value=e.metadata.has_more,m.value=e.metadata.next_cursor)}catch(e){v===n&&r.error(`Error fetching extension logs:`,e)}finally{v===n&&(f.value=!1)}},O=async()=>{if(f.value||!d.value||!m.value)return;let n=i(e.extensionType),a=m.value;f.value=!0;try{let{data:e,error:i}=await t.client.GET(`/${o}/${S}/logs`,{params:{query:{extension:n,after_id:a,limit:50}}});if(v!==n)return;if(e!==void 0){let t=Object.fromEntries(e.data.map(e=>{let t=w(e);return[t.id,t]}));l.value={...l.value,...t},d.value=e.metadata.has_more,m.value=e.metadata.next_cursor}else i&&r.error(`Failed to load more extension logs:`,i)}catch(e){v===n&&r.error(`Error loading more extension logs:`,e)}finally{v===n&&(f.value=!1)}},k=async()=>{l.value={},m.value=void 0,d.value=!1,p.value=!1,await D()},A=null;return n(()=>h.value,e=>{A&&=(clearInterval(A),null),e&&(A=setInterval(()=>void D(),3e3))}),s(()=>{A&&=(clearInterval(A),null)}),n(()=>i(e.extensionType),()=>{k()}),{logs:x,hasMore:d,isLoading:f,loaded:p,live:h,filterLevels:g,filterTimeRange:_,filtersActive:T,clearFilters:E,fetchLogs:D,loadMoreLogs:O,refreshLogs:k}},H=()=>{let e=d().getStore(y),{data:t,semaphore:n}=h(e);return{services:a(()=>Object.values(t.value)),areLoading:a(()=>n.value.fetching.items),fetchServices:async()=>{await e.fetch()}}},U=()=>{let{t:e}=r(),t=d(),n=m(),i=t.getStore(y);return{startService:async(t,r)=>{try{let a=await i.start({pluginName:t,serviceId:r});return a.state===_.started?n.success(e(`extensionsModule.services.messages.started`)):a.state===_.starting?n.info(e(`extensionsModule.services.messages.serviceStarting`)):a.lastError?n.warning(a.lastError):n.warning(e(`extensionsModule.services.messages.startError`)),a.state===_.started||a.state===_.starting}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.startError`)),!1}},stopService:async(t,r)=>{try{return await i.stop({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.stopped`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.stopError`)),!1}},restartService:async(t,r)=>{try{return await i.restart({pluginName:t,serviceId:r}),n.success(e(`extensionsModule.services.messages.restarted`)),!0}catch(t){return t instanceof k,n.error(e(`extensionsModule.services.messages.restartError`)),!1}},isActing:(e,t)=>i.acting(e,t)}};export{z as a,N as c,A as d,B as i,k as l,H as n,F as o,V as r,P as s,U as t,O as u};
@@ -1 +0,0 @@
1
- import{mr as e}from"./icon-with-child-DmQ_XhQy.js";import{$t as t,T as n,ba as r}from"./common-cN85xDKw.js";var i=()=>{let i=n().getStore(t),{profile:a}=r(i);return{profile:e(()=>a.value),isSignedIn:e(()=>i.isSignedIn())}};export{i as t};
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{Dr as e,Xr as t,_i as n,ci as r,d as i,fi as a,mr as o,n as s,ui as c}from"./icon-with-child-DmQ_XhQy.js";import{Fn as l,Gt as u,Ht as d,Jn as f,Jt as p,Kt as m,L as h,Lt as g,Nt as _,Pn as v,Qt as y,Rt as b,T as x,Un as S,Ur as C,Ut as w,Vn as T,Vt as E,Wn as D,Yt as O,Zt as k,_ as A,ba as j,f as M,kt as ee,l as te,m as N,pn as P,pr as F,qn as I,wn as ne,y as L,zn as re,zt as ie}from"./common-cN85xDKw.js";import{t as ae}from"./keys-C5lGGSUO.js";import{a as R,i as z,n as oe}from"./useSpaces-BLX5dcRn.js";import{a as se}from"./keys-C9WPkx4T.js";var ce=e=>{let t=x().getStore(y),{data:n,semaphore:r}=j(t);return{space:o(()=>e.value?n.value[e.value]??null:null),fetching:o(()=>e.value?r.value.fetching.item.includes(e.value):!1),fetchSpace:async()=>e.value?t.get({id:e.value}):null,editSpace:async n=>{if(!e.value)throw Error(`Space ID is required`);return t.edit({id:e.value,data:n})},removeSpace:async()=>{if(!e.value)throw Error(`Space ID is required`);return t.remove({id:e.value})}}},le=D({search:I().optional(),type:f([T(d),re(`all`)]).default(`all`)}),B=D({name:I().min(1),description:I().nullable().optional(),category:f([T(E),T(w)]).nullable().optional(),icon:I().nullable().optional(),displayOrder:S().int().min(0).default(0),parentId:I().uuid().nullable().optional()}),ue=B.extend({id:I().uuid(),type:T(d).default(d.ROOM)}),de=B.extend({id:I().uuid(),type:T(d),suggestionsEnabled:l().default(!0),statusWidgets:v(oe).nullable().optional()}),V=ne(),H=({id:e})=>{let n=x().getStore(y),{t:o}=i(),s=A(),l=c(_.NONE),u=c(null),f,p=r({id:e,type:d.ROOM,name:``,description:null,category:null,icon:null,displayOrder:0,parentId:null}),m=N(a(p)),h=c(void 0),g=c(!1),v=async()=>{if(h.value.clearValidate(),!await h.value.validate())throw Error(`Form not valid`);let t=ue.safeParse(p);if(!t.success)throw Error(`Failed to validate create space model.`);l.value=_.WORKING;let r=o(`spacesModule.messages.notCreated`,{space:p.name});try{u.value=await n.add({id:e,data:{name:t.data.name,type:t.data.type,category:t.data.category??null,description:t.data.description??null,icon:t.data.icon??null,displayOrder:t.data.displayOrder,parentId:t.data.parentId??null}})}catch(e){throw l.value=_.ERROR,u.value=null,f=window.setTimeout(b,2e3),s.error(r),e}return l.value=_.OK,f=window.setTimeout(b,2e3),s.success(o(`spacesModule.messages.created`,{space:p.name})),`added`},b=()=>{window.clearTimeout(f),l.value=_.NONE,u.value=null};return t(p,()=>{g.value=!(0,V.isEqual)(a(p),m)}),{model:p,formEl:h,formChanged:g,submit:v,clear:b,formResult:l,createdSpace:u}};function fe(e){let t=e=>{let t=u(e);return e===d.ROOM?[...t].sort((e,t)=>e.localeCompare(t)):t},r=e=>{let t=m(e);return t&&t.length>0?t:null};return{getCategoryOptions:t,getCategoryGroups:r,getCategoryTemplates:e=>p(e),categoryOptions:o(()=>t(n(e)??d.ROOM)),categoryGroups:o(()=>r(n(e)??d.ROOM)),currentTemplates:o(()=>p(n(e)??d.ROOM))}}var pe=(e,t)=>{let n=x(),r=n.getStore(se),i=n.getStore(y),{semaphore:a,firstLoad:s}=j(r),l=c(!1);return{devices:o(()=>{if(!e.value||!t.value)return[];let n=r.findAll().filter(e=>!e.draft),i;return i=t.value===d.ROOM?n.filter(t=>t.roomId===e.value):n.filter(t=>t.zoneIds.includes(e.value)),i.sort((e,t)=>e.name.localeCompare(t.name))}),loading:o(()=>!!(l.value||a.value.fetching.items||!s.value)),firstLoadFinished:o(()=>s.value),fetchDevices:async()=>{await r.fetch()},addDevice:async n=>{if(!e.value||!t.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(t.value===d.ROOM){let t=r.findById(n);if(!t)throw Error(`Device not found`);await r.edit({id:n,data:{type:t.type,roomId:e.value}})}else{let t=i.findById(e.value);if(t&&O(t.category))throw Error(`Cannot assign devices to floor zones. Floor membership is derived from room assignment.`);await r.addZone({id:n,zoneId:e.value})}}finally{l.value=!1}},removeDevice:async n=>{if(!e.value||!t.value)throw Error(`Space ID and type are required`);l.value=!0;try{if(t.value===d.ROOM){let e=r.findById(n);if(!e)throw Error(`Device not found`);await r.edit({id:n,data:{type:e.type,roomId:null}})}else await r.removeZone({id:n,zoneId:e.value})}finally{l.value=!1}},reassignDevice:async(e,t)=>{l.value=!0;try{let n=r.findById(e);if(!n)throw Error(`Device not found`);await r.edit({id:e,data:{type:n.type,roomId:t}})}finally{l.value=!1}}}},me=e=>{let t=x().getStore(ae),n=c(!1);return{displays:o(()=>e.value?t.findAll().filter(t=>t.roomId===e.value).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)):[]),loading:o(()=>n.value?!0:t.fetching()),fetchDisplays:async()=>{await t.fetch()},reassignDisplay:async(e,r)=>{n.value=!0;try{await t.edit({id:e,data:{roomId:r}})}finally{n.value=!1}},removeDisplay:async e=>{n.value=!0;try{await t.edit({id:e,data:{roomId:null}})}finally{n.value=!1}}}},he=({space:e})=>{let n=()=>`value`in e?e.value:e,o=n(),s=x().getStore(y),{t:l}=i(),u=A(),d=c(_.NONE),f,p=r({id:o.id,type:o.type,name:o.name,description:o.description,category:o.category,icon:o.icon,displayOrder:o.displayOrder,parentId:o.parentId,suggestionsEnabled:o.suggestionsEnabled,statusWidgets:o.statusWidgets?[...o.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null}),m=N(a(p)),h=c(void 0),g=c(!1),v=async()=>{if(h.value.clearValidate(),!await h.value.validate())throw Error(`Form not valid`);let e=de.safeParse(p);if(!e.success)throw Error(`Failed to validate edit space model.`);d.value=_.WORKING;let t=l(`spacesModule.messages.notEdited`,{space:p.name});try{await s.edit({id:o.id,data:{name:e.data.name,type:e.data.type,category:e.data.category??null,description:e.data.description??null,icon:e.data.icon??null,displayOrder:e.data.displayOrder,parentId:e.data.parentId??null,suggestionsEnabled:e.data.suggestionsEnabled,statusWidgets:e.data.statusWidgets??null}})}catch(e){throw d.value=_.ERROR,f=window.setTimeout(b,2e3),u.error(t),e}return d.value=_.OK,f=window.setTimeout(b,2e3),g.value=!1,m=N(a(p)),`saved`},b=()=>{window.clearTimeout(f),d.value=_.NONE};return t(p,()=>{g.value=!(0,V.isEqual)(a(p),m)}),t(()=>n(),e=>{e&&(p.id=e.id,p.type=e.type,p.name=e.name,p.description=e.description,p.category=e.category,p.icon=e.icon,p.displayOrder=e.displayOrder,p.parentId=e.parentId,p.suggestionsEnabled=e.suggestionsEnabled,p.statusWidgets=e.statusWidgets?[...e.statusWidgets.map(e=>({...e,settings:{...e.settings}}))]:null,m=N(a(p)),g.value=!1)},{deep:!0}),{model:p,formEl:h,formChanged:g,submit:v,clear:b,formResult:d}},ge=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),_e=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=ge(n.input_select??n.inputSelect)),{endpointId:e.endpoint_id,spaceId:e.space_id,deviceId:e.device_id,type:e.type,name:e.name,capabilities:{power:t.power??!1,volume:t.volume??!1,mute:t.mute??!1,playback:t.playback??!1,track:t.track??!1,inputSelect:t.input_select??!1,remoteCommands:t.remote_commands??!1},links:r}},U=e=>({id:e.id,spaceId:e.space_id,activityKey:e.activity_key,displayEndpointId:e.display_endpoint_id??null,audioEndpointId:e.audio_endpoint_id??null,sourceEndpointId:e.source_endpoint_id??null,remoteEndpointId:e.remote_endpoint_id??null,displayInputId:e.display_input_id??null,audioInputId:e.audio_input_id??null,sourceInputId:e.source_input_id??null,audioVolumePreset:e.audio_volume_preset??null,createdAt:e.created_at,updatedAt:e.updated_at??null}),W=e=>({stepIndex:e.step_index??e.stepIndex??0,critical:e.critical??!1,reason:e.reason??``,targetDeviceId:e.target_device_id??e.targetDeviceId,kind:e.kind,propertyId:e.property_id??e.propertyId,commandId:e.command_id??e.commandId,label:e.label,timestamp:e.timestamp}),G=e=>({displayDeviceId:e.display_device_id??e.displayDeviceId,audioDeviceId:e.audio_device_id??e.audioDeviceId,sourceDeviceId:e.source_device_id??e.sourceDeviceId,remoteDeviceId:e.remote_device_id??e.remoteDeviceId}),K=e=>({stepsTotal:e.steps_total??e.stepsTotal??0,stepsSucceeded:e.steps_succeeded??e.stepsSucceeded??0,stepsFailed:e.steps_failed??e.stepsFailed??0,failures:Array.isArray(e.failures)?e.failures.map(W):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(W):void 0,errors:Array.isArray(e.errors)?e.errors.map(W):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),ve=e=>{let t=e.action??{};return{targetDeviceId:e.target_device_id??e.targetDeviceId??``,action:{kind:t.kind??`unknown`,propertyId:t.property_id??t.propertyId,value:t.value},critical:e.critical??!1,label:e.label}},ye=e=>{let t=e.resolved,n=e.plan??[],r=e.warnings??[];return{spaceId:e.space_id??e.spaceId??``,activityKey:e.activity_key??e.activityKey??``,resolved:t?G(t):{},plan:n.map(ve),warnings:r.map(e=>({label:e.label??``}))}},q=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?G(t):void 0,summary:n?K(n):void 0,warnings:e.warnings}},be=e=>{let t,n;if(e.resolved)try{t=G(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=K(typeof e.last_result==`string`?JSON.parse(e.last_result):e.last_result)}catch{}return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t,summary:n,warnings:e.warnings,activatedAt:e.activated_at??null,updatedAt:e.updated_at??null}},xe=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},Se=e=>{switch(e){case`watch`:return`mdi:television-play`;case`listen`:return`mdi:music`;case`gaming`:return`mdi:controller`;case`background`:return`mdi:music-note`;default:return`mdi:help-circle`}},Ce=e=>{let t=L(),n=c([]),r=c([]),i=c(null),a=c(!1),l=c(!1),u=c(!1),d=c(!1),f=c(!1),p=c(!1),m=c(!1),h=c(null),g=c(null),_=c(null),v=c(!1),y=c(null),x=c(null),S=o(()=>n.value),C=o(()=>r.value),w=async()=>{if(!(!e.value||a.value)){a.value=!0,h.value=null;try{let{data:r,error:i}=await t.client.GET(`/${s}/${b}/spaces/{id}/media/endpoints`,{params:{path:{id:e.value}}});if(i||!r)throw Error(`Failed to fetch media endpoints`);n.value=((r.data??{}).endpoints??[]).map(_e)}catch(e){h.value=e instanceof Error?e.message:`Unknown error`}finally{a.value=!1}}},T=async()=>{if(!(!e.value||l.value)){l.value=!0,g.value=null;try{let{data:n,error:i}=await t.client.GET(`/${s}/${b}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to fetch media bindings`);r.value=(n.data??[]).map(U)}catch(e){g.value=e instanceof Error?e.message:`Unknown error`}finally{l.value=!1}}},E=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);p.value=!0,_.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${s}/${b}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}},body:{data:{display_endpoint_id:i.displayEndpointId,audio_endpoint_id:i.audioEndpointId,source_endpoint_id:i.sourceEndpointId,remote_endpoint_id:i.remoteEndpointId,display_input_id:i.displayInputId,audio_input_id:i.audioInputId,source_input_id:i.sourceInputId,audio_volume_preset:i.audioVolumePreset}}});if(o||!a||!a.data){let e=o?.message??`Failed to save binding`;throw Error(e)}let c=U(a.data),l=r.value.findIndex(e=>e.id===c.id);return l>=0&&(r.value[l]=c),c}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,e}finally{p.value=!1}},D=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);p.value=!0,_.value=null;try{let{data:a,error:o}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}},body:{data:{activity_key:n,display_endpoint_id:i.displayEndpointId??void 0,audio_endpoint_id:i.audioEndpointId??void 0,source_endpoint_id:i.sourceEndpointId??void 0,remote_endpoint_id:i.remoteEndpointId??void 0,display_input_id:i.displayInputId??void 0,audio_input_id:i.audioInputId??void 0,source_input_id:i.sourceInputId??void 0,audio_volume_preset:i.audioVolumePreset??void 0}}});if(o||!a||!a.data){let e=o?.message??`Failed to create binding`;throw Error(e)}let c=U(a.data);return r.value.push(c),c}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,e}finally{p.value=!1}},O=async n=>{if(!e.value)throw Error(`Space ID is required`);p.value=!0,_.value=null;try{let{error:i}=await t.client.DELETE(`/${s}/${b}/spaces/{id}/media/bindings/{bindingId}`,{params:{path:{id:e.value,bindingId:n}}});if(i){let e=i?.message??`Failed to delete binding`;throw Error(e)}r.value=r.value.filter(e=>e.id!==n)}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,e}finally{p.value=!1}},k=async()=>{if(e.value){m.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/bindings/apply-defaults`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to apply defaults`);r.value=(n.data??[]).map(U)}catch(e){throw g.value=e instanceof Error?e.message:`Unknown error`,e}finally{m.value=!1}}},A=async()=>{if(!(!e.value||u.value)){u.value=!0,y.value=null,x.value=null;try{let{data:n,error:r}=await t.client.GET(`/${s}/${b}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);let a=n.data;i.value=a?be(a):null}catch(e){y.value=e instanceof Error?e.message:`Unknown error`,x.value=`fetch`}finally{u.value=!1}}},j=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await A(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:S,bindings:C,activeState:i,fetchingEndpoints:a,fetchingBindings:l,fetchingActiveState:u,activating:d,deactivating:f,previewing:v,savingBinding:p,applyingDefaults:m,endpointsError:h,bindingsError:g,saveError:_,activationError:y,activationErrorSource:x,fetchEndpoints:w,fetchBindings:T,fetchActiveState:A,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,y.value=null,x.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/activities/{activityKey}/activate`,{params:{path:{id:e.value,activityKey:n}}});if(a||!r||!r.data){let e=a?.message??`Failed to activate activity`;throw Error(e)}let o=q(r.data);return i.value=o,o.state===`activating`&&await j(),i.value??o}catch(e){throw y.value=e instanceof Error?e.message:`Unknown error`,x.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{d.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);v.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/activities/{activityKey}/preview`,{params:{path:{id:e.value,activityKey:n}}});if(i||!r||!r.data){let e=i?.message??`Failed to preview activity`;throw Error(e)}return ye(r.data)}finally{v.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);f.value=!0,y.value=null,x.value=null;try{let{data:n,error:r}=await t.client.POST(`/${s}/${b}/spaces/{id}/media/activities/deactivate`,{params:{path:{id:e.value}}});if(r||!n||!n.data){let e=r?.message??`Failed to deactivate`;throw Error(e)}let a=q(n.data);return i.value=a,a}catch(e){throw y.value=e instanceof Error?e.message:`Unknown error`,x.value=`deactivate`,e}finally{f.value=!1}},saveBinding:E,createBinding:D,deleteBinding:O,applyDefaults:k,endpointsByType:e=>o(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},J=Symbol(`FB-Module-Scenes-ScenesStore`),we=Symbol(`FB-Module-Scenes-ScenesActionsStore`),Y=e=>{let t=x().getStore(J),{semaphore:n,firstLoad:r}=j(t),i=c(!1);return{scenes:o(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:o(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:o(()=>r.value),fetchScenes:async()=>{await t.fetch()},reassignScene:async(e,n)=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:n}})}finally{i.value=!1}},removeScene:async e=>{i.value=!0;try{await t.edit({id:e,data:{primarySpaceId:null}})}finally{i.value=!1}}}},Te=()=>{let{t:e}=i(),t=A(),n=x().getStore(y);return{remove:async r=>{let i=n.findById(r);return i?C.confirm(e(`spacesModule.messages.confirmRemove`,{name:i.name}),e(`spacesModule.headings.removeSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{return await n.remove({id:r}),t.success(e(`spacesModule.messages.removed`,{space:i.name})),!0}catch(e){return e instanceof R&&t.error(e.message),!1}}).catch(()=>(t.info(e(`spacesModule.messages.removeCanceled`,{space:i.name})),!1)):(t.error(e(`spacesModule.messages.notFound`)),!1)},bulkRemove:async r=>{if(r.length!==0)try{await C.confirm(e(`spacesModule.messages.confirmBulkRemove`,{count:r.length}),e(`spacesModule.headings.bulkRemoveSpace`),{confirmButtonText:e(`spacesModule.buttons.yes.title`),cancelButtonText:e(`spacesModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of r)try{await n.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`spacesModule.messages.bulkRemoved`,{count:i})),a>0&&t.error(e(`spacesModule.messages.bulkRemoveFailed`,{count:a}))}catch{}}}},X={search:void 0,type:`all`},Ee={by:`name`,dir:`asc`},De=()=>{let e=x().getStore(y),{firstLoad:n,semaphore:r}=j(e),{filters:i,sort:a,pagination:s,reset:l}=M({key:`${g}:spaces:list`,filters:{schema:le,defaults:X},sort:{defaults:[Ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=o(()=>i.value.search!==X.search||!(0,V.isEqual)(i.value.type,X.type)),f=c(s.value.size||10),p=c(s.value.page||1),m=c(a.value.length>0?a.value[0]?.by:void 0),h=c(a.value.length>0?a.value[0]?.dir??null:null),_=o(()=>P(e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name?.toLowerCase().includes(i.value.search.toLowerCase())||e.description?.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.type===`all`||i.value.type===d.ROOM&&e.type===d.ROOM||i.value.type===d.ZONE&&e.type===d.ZONE)),[e=>{switch(m.value){case`name`:return e.name;case`type`:return e.type;case`displayOrder`:return e.displayOrder;default:return e.displayOrder}}],[h.value??`asc`])),v=o(()=>{let e=(p.value-1)*f.value,t=e+f.value;return _.value.slice(e,t)}),b=async()=>{await e.fetch()},S=o(()=>!!(r.value.fetching.items||!n.value)),C=o(()=>n.value),w=o(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>s.value,e=>{p.value=e.page??1,f.value=e.size??10},{deep:!0}),t(()=>p.value,e=>{s.value.page=e}),t(()=>f.value,e=>{s.value.size=e}),t(()=>h.value,e=>{m.value===void 0||e===null?a.value=[]:a.value=[{by:m.value,dir:e}]}),t(()=>m.value,e=>{e===void 0?a.value=[]:a.value=[{by:e,dir:h.value}]}),{spaces:_,spacesPaginated:v,totalRows:w,areLoading:S,loaded:C,fetchSpaces:b,filters:i,filtersActive:u,paginateSize:f,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}};function Z(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var Oe=e=>{switch(e){case F.room:return d.ROOM;case F.zone:return d.ZONE;default:return d.ROOM}},Q=e=>{switch(e){case d.ROOM:return F.room;case d.ZONE:return F.zone;default:return F.room}},ke=e=>e||null,$=e=>{if(e)return e},Ae=()=>{let e=h(),{generate:t}=te(),n=r({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),i=o(()=>n.isLoading),a=o(()=>n.error),s=o(()=>n.currentStep),c=o(()=>n.existingSpaces),l=o(()=>n.spaces),u=o(()=>n.proposedSpaces),f=o(()=>n.customSpaces),p=o(()=>n.matchedSpaces),m=o(()=>n.deviceAssignments),g=o(()=>n.displayAssignments),_=o(()=>n.zoneAssignments),v=o({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),y=o(()=>x.value.filter(e=>e.type===d.ZONE&&e.category&&ee.includes(e.category))),b=o(()=>n.proposedSpaces.filter(e=>!n.matchedSpaces.some(t=>Z(t.proposedName)===Z(e.name)))),x=o(()=>{let e=new Map;for(let t of n.existingSpaces)e.set(t.id,t);for(let t of n.spaces)e.set(t.id,t);return Array.from(e.values())}),S=async()=>{n.isLoading=!0,n.error=null;try{let r=await e.GET(`/modules/spaces/spaces/propose`);if(r.error||!r.data?.data)throw new R(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=ke(e.category),r=n?ie[n]:null,i=r?.description??null,a=r?.icon??null,o=e.name??``;return{name:o,description:i,icon:a,deviceIds:e.device_ids??[],deviceCount:e.device_count??0,selected:!0,type:e.type?Oe(e.type):d.ROOM,category:n,draftId:t(),editing:!1,editName:o}});n.matchedSpaces=[];let a=[];for(let e of i){let t=Z(e.name),r=n.existingSpaces.find(e=>Z(e.name)===t);r?n.matchedSpaces.push({proposedName:e.name,existingSpace:r,deviceIds:e.deviceIds,deviceCount:e.deviceCount}):a.push(e)}n.proposedSpaces=a}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},C=()=>{let e=[],t=n.proposedSpaces.filter(e=>e.selected),r=n.customSpaces.filter(e=>e.selected);for(let e of n.matchedSpaces)if(e.existingSpace.type===d.ROOM)for(let t of e.deviceIds)n.deviceAssignments[t]||(n.deviceAssignments[t]=e.existingSpace.id);for(let r of t){let t=n.spaces.find(e=>e.id===r.draftId);if(t){if(r.type===d.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]||(n.deviceAssignments[e]=t.id);continue}let i={id:r.draftId,name:r.name,description:r.description,type:r.type,category:r.category,icon:r.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};if(n.spaces=[...n.spaces,i],e.push(i),r.type===d.ROOM)for(let e of r.deviceIds)n.deviceAssignments[e]=i.id}for(let t of r){if(n.spaces.find(e=>e.id===t.draftId))continue;let r={id:t.draftId,name:t.name,description:t.description,type:t.type,category:t.category,icon:t.icon,displayOrder:0,parentId:null,suggestionsEnabled:!0,statusWidgets:null,createdAt:new Date,updatedAt:null,draft:!0};n.spaces=[...n.spaces,r],e.push(r)}return e},w=async()=>{n.isLoading=!0,n.error=null;let t=[];try{let r=n.spaces.filter(e=>e.draft),i=new Set(n.proposedSpaces.filter(e=>e.selected).map(e=>e.name)),a=new Set(n.customSpaces.map(e=>e.name)),o=new Set([...Object.values(n.deviceAssignments),...Object.values(n.displayAssignments)].filter(e=>e!==null));for(let s of r){let r=i.has(s.name),c=a.has(s.name),l=o.has(s.id);if(!r&&!c&&!l){n.spaces=n.spaces.filter(e=>e.id!==s.id);continue}let u=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:s.name,description:s.description,icon:s.icon,type:Q(s.type),category:$(s.category)}}});if(u.error||!u.data?.data)throw new R(`Failed to create space: ${s.name}`);let d=z(u.data.data);for(let[e,t]of Object.entries(n.deviceAssignments))t===s.id&&(n.deviceAssignments[e]=d.id);for(let[e,t]of Object.entries(n.displayAssignments))t===s.id&&(n.displayAssignments[e]=d.id);for(let[e,t]of Object.entries(n.zoneAssignments))n.zoneAssignments[e]=t.map(e=>e===s.id?d.id:e);let f=n.spaces.findIndex(e=>e.id===s.id);f===-1?n.spaces=[...n.spaces,d]:n.spaces[f]=d,t.push(d)}return t}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},T=async t=>{n.isLoading=!0,n.error=null;try{let r=await e.POST(`/modules/spaces/spaces`,{body:{data:{name:t.name,description:t.description,type:Q(t.type),category:$(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new R(`Failed to create space`);let i=z(r.data.data);return n.spaces.push(i),i}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},E=(e,t)=>{n.deviceAssignments[e]=t},D=(e,t)=>{n.displayAssignments[e]=t},O=async()=>{n.isLoading=!0,n.error=null;let t=0,r=0,i=0;try{let a={};for(let[e,t]of Object.entries(n.deviceAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].deviceIds.push(e));for(let[e,t]of Object.entries(n.displayAssignments))t&&(a[t]||(a[t]={deviceIds:[],displayIds:[]}),a[t].displayIds.push(e));for(let[n,i]of Object.entries(a)){let a=await e.POST(`/modules/spaces/spaces/{id}/assign`,{params:{path:{id:n}},body:{data:{device_ids:i.deviceIds,display_ids:i.displayIds}}});if(a.error)throw new R(`Failed to assign items to space ${n}`);a.data?.data&&(t+=a.data.data.devices_assigned??0,r+=a.data.data.displays_assigned??0)}for(let[t,r]of Object.entries(n.zoneAssignments))for(let n of r){if((await e.POST(`/modules/devices/devices/{id}/zones/{zoneId}`,{params:{path:{id:t,zoneId:n}}})).error)throw new R(`Failed to assign device ${t} to zone ${n}`);i++}return{devicesAssigned:t,displaysAssigned:r,zonesAssigned:i}}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},k=e=>{n.currentStep=e},A=()=>{n.currentStep++},j=()=>{n.currentStep>0&&n.currentStep--},M=e=>{for(let[t,r]of Object.entries(n.deviceAssignments))r===e&&(n.deviceAssignments[t]=null);for(let[t,r]of Object.entries(n.displayAssignments))r===e&&(n.displayAssignments[t]=null)},N=e=>{let t=n.proposedSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)))},P=e=>{let t=n.customSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)))},F=e=>{let t=Z(e),r=n.existingSpaces.find(e=>Z(e.name)===t);if(r)return r.name;let i=n.proposedSpaces.find(e=>Z(e.name)===t);if(i)return i.name;let a=n.customSpaces.find(e=>Z(e.name)===t);return a?a.name:null};return{isLoading:i,error:a,currentStep:s,existingSpaces:c,spaces:l,proposedSpaces:u,customSpaces:f,matchedSpaces:p,unmatchedProposals:b,availableSpaces:x,deviceAssignments:m,displayAssignments:g,zoneAssignments:_,showAdvancedZones:v,assignableZones:y,fetchProposedSpaces:S,fetchDevices:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/devices/devices`);if(t.error||!t.data?.data)throw new R(`Failed to fetch devices`);return t.data.data.map(e=>({id:e.id,name:e.name,description:e.description??null,spaceId:e.room_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchDisplays:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/displays/displays`);if(t.error||!t.data?.data)throw new R(`Failed to fetch displays`);return t.data.data.map(e=>({id:e.id,name:e.name??null,macAddress:e.mac_address??``,role:e.role??`room`,roomId:e.room_id??null}))}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},fetchExistingSpaces:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/spaces/spaces`);if(t.error||!t.data?.data)throw new R(`Failed to fetch spaces`);let r=t.data.data.map(e=>z(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:C,createSpacesFromProposals:w,createSpace:T,setDeviceAssignment:E,setDisplayAssignment:D,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:O,setStep:k,nextStep:A,prevStep:j,toggleProposedSpace:N,toggleCustomSpace:P,addManualSpace:e=>{let r=F(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:d.ROOM,category:null,draftId:t(),editing:!1,editName:e}),{success:!0})},checkDuplicateSpaceName:F,removeProposedSpace:e=>{let t=n.proposedSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)),n.proposedSpaces.splice(e,1)},removeCustomSpace:e=>{let t=n.customSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),M(t.draftId)),n.customSpaces.splice(e,1)},startEditingProposedName:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmProposedNameEdit:e=>{let t=n.proposedSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=Z(r),a=n.existingSpaces.find(e=>Z(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:t.deviceIds,deviceCount:t.deviceCount}),n.proposedSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find((t,n)=>n!==e&&Z(t.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find(e=>Z(e.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardProposedNameEdit:e=>{let t=n.proposedSpaces[e];t&&(t.editing=!1,t.editName=t.name)},startEditingCustomName:e=>{let t=n.customSpaces[e];t&&(t.editing=!0,t.editName=t.name)},confirmCustomNameEdit:e=>{let t=n.customSpaces[e];if(!t)return{success:!1};let r=t.editName.trim();if(!r)return t.editing=!1,t.editName=t.name,{success:!1};if(r===t.name)return t.editing=!1,{success:!0};let i=Z(r),a=n.existingSpaces.find(e=>Z(e.name)===i);if(a)return n.matchedSpaces.push({proposedName:r,existingSpace:a,deviceIds:[],deviceCount:0}),n.customSpaces.splice(e,1),{success:!0,convertedToMatch:!0};let o=n.proposedSpaces.find(e=>Z(e.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find((t,n)=>n!==e&&Z(t.name)===i);if(s)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:s.name};t.name=r,t.editing=!1;let c=n.spaces.find(e=>e.id===t.draftId);return c&&(c.name=r),{success:!0}},discardCustomNameEdit:e=>{let t=n.customSpaces[e];t&&(t.editing=!1,t.editName=t.name)},initializeFromExistingSpaces:e=>{n.existingSpaces=[...e]},initializeDeviceAssignments:e=>{for(let t of e)n.deviceAssignments[t.id]=t.spaceId??null},initializeDisplayAssignments:e=>{for(let t of e)n.displayAssignments[t.id]=t.roomId??null},summary:o(()=>{let e=n.existingSpaces.length+n.spaces.length,t=Object.values(n.deviceAssignments).filter(e=>e!==null).length,r=Object.values(n.displayAssignments).filter(e=>e!==null).length,i=Object.values(n.deviceAssignments).filter(e=>e===null).length,a=Object.values(n.displayAssignments).filter(e=>e===null).length,o={},s={};for(let e of Object.values(n.deviceAssignments))e&&(o[e]=(o[e]??0)+1);for(let e of Object.values(n.zoneAssignments))for(let t of e)o[t]=(o[t]??0)+1;for(let e of Object.values(n.displayAssignments))e&&(s[e]=(s[e]??0)+1);return{spaceCount:e,assignedDevices:t,assignedDisplays:r,unassignedDevices:i,unassignedDisplays:a,devicesBySpace:o,displaysBySpace:s}})}},je=()=>{let t=e(k);return{climateSignal:t?.climate,lightingSignal:t?.lighting,coversSignal:t?.covers,sensorSignal:t?.sensor,climateStateSignal:t?.climateState,lightingStateSignal:t?.lightingState,coversStateSignal:t?.coversState,sensorStateSignal:t?.sensorState}};export{Y as a,xe as c,he as d,me as f,ce as g,H as h,Te as i,Se as l,fe as m,Ae as n,we as o,pe as p,De as r,J as s,je as t,Ce as u};
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{Xr as e,ci as t,d as n,fi as r,mr as i,ui as a}from"./icon-with-child-DmQ_XhQy.js";import{A as o,Fn as s,Pn as c,S as l,T as u,Un as d,Ur as f,Wn as p,_ as m,an as h,ba as g,f as _,m as v,n as y,pn as b,qn as x,wn as S}from"./common-cN85xDKw.js";import{a as C,c as w,d as T,i as E,n as D,o as O,r as k,t as A}from"./keys-BrCp8xLt.js";import{i as j,t as M}from"./types-PhBYs4jt.js";import{n as N}from"./useDataSources-Xo2JI-j1.js";var P=()=>{let e=o(),{enabled:t}=h(),n=[`pageDetail`,`pageAddForm`,`pageEditForm`],r=[`pageSchema`,`pageAddFormSchema`,`pageEditFormSchema`,`pageCreateReqSchema`,`pageUpdateReqSchema`],a=[`configure`],s=i(()=>e.getPlugins().filter(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let t=a.some(t=>e.routes&&t in e.routes)??!0;return(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`dashboard-module`)))return!1;let i=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),a=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return i||a||t})}));return{plugins:s,options:i(()=>b(s.value.flatMap(e=>(e.elements??[]).filter(e=>e.modules===void 0||e.modules.includes(`dashboard-module`)).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>s.value.find(t=>t.type===e),getByType:e=>s.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)))),getElement:e=>{for(let t of s.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`)));if(n)return n}}}},F=()=>{let e=u().getStore(D),{firstLoad:t,semaphore:n}=g(e);return{pages:i(()=>e.findAll().filter(e=>!e.draft)),areLoading:i(()=>!!n.value.fetching.items||!t.value),loaded:i(()=>t.value),fetchPages:async()=>{await e.fetch()}}},I=S(),L={search:void 0,types:[],displays:[]},ee={by:`title`,dir:`asc`},te=()=>{let t=u().getStore(D),{firstLoad:n,semaphore:r}=g(t),{filters:o,sort:s,pagination:c,reset:l}=_({key:`${w}:pages:list`,filters:{schema:j,defaults:L},sort:{defaults:[ee]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),d=i(()=>o.value.search!==L.search||!(0,I.isEqual)(o.value.types,L.types)||!(0,I.isEqual)(o.value.displays,L.displays)),f=a(c.value.size||10),p=a(c.value.page||1),m=a(s.value.length>0?s.value[0]?.by:void 0),h=a(s.value.length>0?s.value[0]?.dir??null:null),v=i(()=>b(t.findAll().filter(e=>!e.draft&&(!o.value.search||e.title.toLowerCase().includes(o.value.search.toLowerCase()))&&(o.value.types.length===0||o.value.types.includes(e.type))&&(o.value.displays.length===0||o.value.displays.includes(`all`)&&(e.displays===null||e.displays.length===0)||e.displays!==null&&e.displays.length>0&&e.displays.some(e=>o.value.displays.includes(e)))),[e=>e[m.value]??``],[h.value===`asc`?`asc`:`desc`])),y=i(()=>{let e=(p.value-1)*f.value,t=e+f.value;return v.value.slice(e,t)}),x=async()=>{await t.fetch()},S=i(()=>r.value.fetching.items||!n.value),C=i(()=>n.value),T=i(()=>t.findAll().filter(e=>!e.draft).length);return e(()=>c.value,e=>{p.value=e.page??1,f.value=e.size??10},{deep:!0}),e(()=>p.value,e=>{c.value.page=e}),e(()=>f.value,e=>{c.value.size=e}),e(()=>h.value,e=>{m.value===void 0||e===null?s.value=[]:s.value=[{by:m.value,dir:e}]}),e(()=>m.value,e=>{e===void 0?s.value=[]:s.value=[{by:e,dir:h.value}]}),{pages:v,pagesPaginated:y,totalRows:T,areLoading:S,loaded:C,fetchPages:x,filters:o,filtersActive:d,paginateSize:f,paginatePage:p,sortBy:m,sortDir:h,resetFilter:l}},R=()=>{let{t:e}=n(),t=m(),r=u().getStore(D);return{remove:async n=>{let i=r.findById(n);if(i===null)throw new C(`Something went wrong, page can't be loaded`);f.confirm(e(`dashboardModule.texts.pages.confirmRemove`,{page:i.title}),e(`dashboardModule.headings.pages.remove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await r.remove({id:i.id}),t.success(e(`dashboardModule.messages.pages.removed`,{page:i.title}))}catch(n){if(n instanceof E&&n.code===404){let n=e(`dashboardModule.messages.pages.notFound`,{page:i.title});t.error(n)}else if(n instanceof E&&n.code===422)t.error(n.message);else{let n=e(`dashboardModule.messages.pages.notRemoved`,{page:i.title});t.error(n)}}}).catch(()=>{t.info(e(`dashboardModule.messages.pages.removeCanceled`,{page:i.title}))})},bulkRemove:async n=>{if(n.length!==0)try{await f.confirm(e(`dashboardModule.texts.pages.confirmBulkRemove`,{count:n.length}),e(`dashboardModule.headings.pages.bulkRemove`),{confirmButtonText:e(`dashboardModule.buttons.yes.title`),cancelButtonText:e(`dashboardModule.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of n)try{await r.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`dashboardModule.messages.pages.bulkRemoved`,{count:i})),a>0&&t.error(e(`dashboardModule.messages.pages.bulkRemoveFailed`,{count:a}))}catch{}}}},z=({id:e})=>{let t=u().getStore(D);return{icon:i(()=>`mdi:${t.findById(e)?.icon??`view-dashboard`}`)}},B=p({id:x().uuid().optional(),type:x().trim().nonempty(),title:x().trim().nonempty(),icon:x().trim().transform(e=>e===``?null:e).nullable().optional(),order:d(),showTopBar:s().optional(),displays:c(x().uuid()).nullable().optional()}),V=p({id:x().uuid(),type:x().trim().nonempty(),title:x().trim().nonempty().optional(),icon:x().trim().transform(e=>e===``?null:e).nullable().optional(),order:d().optional(),showTopBar:s().optional(),displays:c(x().uuid()).nullable().optional()}),H=({type:e})=>{let{getByType:t}=P(),n=i(()=>t(e));return{plugin:n,element:i(()=>(n.value?.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`dashboard-module`))))}},U=({id:i,type:o})=>{let s=u(),{element:c}=H({type:o}),d=s.getStore(D),{t:f}=n(),p=m(),h=l(),g=a(T.NONE),_,b=t({...y(c.value?.schemas?.pageAddFormSchema||B),id:i,type:o,title:``,icon:``,order:0,showTopBar:!0}),x=v(r(b)),S=a(void 0),C=a(!1),w=async()=>{if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let e=(c.value?.schemas?.pageAddFormSchema||B).safeParse(b);if(!e.success)throw h.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create page model.`);g.value=T.WORKING;let t=f(`dashboardModule.messages.pages.notCreated`,{page:b.title});try{await d.add({id:i,draft:!1,data:{...e.data,type:o}})}catch(e){throw g.value=T.ERROR,_=window.setTimeout(k,2e3),e instanceof E&&e.code===422?p.error(e.message):p.error(t),e}return g.value=T.OK,_=window.setTimeout(k,2e3),p.success(f(`dashboardModule.messages.pages.created`,{page:b.title})),`added`},k=()=>{window.clearTimeout(_),g.value=T.NONE};return e(b,()=>{C.value=!(0,I.isEqual)(r(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:k,formResult:g}},W=({page:i,messages:o})=>{let s=u(),{element:c}=H({type:i.type}),d=s.getStore(D),{t:f}=n(),p=m(),h=l(),g=a(T.NONE),_,y=t(i),b=v(r(y)),x=a(void 0),S=a(!1),C=async()=>{let e=i.draft,t=o&&o.error?o.error:i.draft?f(`dashboardModule.messages.pages.notCreated`,{page:i.title}):f(`dashboardModule.messages.pages.notEdited`,{page:i.title});if(x.value.clearValidate(),!await x.value.validate())throw new O(`Form not valid`);let n=(c.value?.schemas?.pageEditFormSchema||V).safeParse(y);if(!n.success)throw h.error(`Schema validation failed with:`,n.error),new O(`Failed to validate edit page model.`);g.value=T.WORKING;try{let e;if(e=await d.edit({id:i.id,data:{...n.data,type:i.type}}),i.draft&&(e=await d.save({id:i.id})),e){let t=e;Object.assign(y,t)}}catch(e){throw g.value=T.ERROR,_=window.setTimeout(w,2e3),e instanceof E&&e.code===422?p.error(e.message):p.error(t),e}return g.value=T.OK,_=window.setTimeout(w,2e3),e?(p.success(f(o&&o.success?o.success:`dashboardModule.messages.pages.created`,{page:i.title})),`added`):(p.success(f(o&&o.success?o.success:`dashboardModule.messages.pages.edited`,{page:i.title})),S.value=!1,b=v(r(y)),`saved`)},w=()=>{window.clearTimeout(_),g.value=T.NONE};return e(y,()=>{S.value=!(0,I.isEqual)(r(y),b)}),{model:y,formEl:x,formChanged:S,submit:C,clear:w,formResult:g}},G=e=>{let t=u().getStore(k),{firstLoad:n,semaphore:r}=g(t);return{tiles:i(()=>t.findForParent(e.parent,e.parentId)),areLoading:i(()=>r.value.fetching.items.includes(e.parentId)?!0:n.value.includes(e.parentId)?!1:r.value.fetching.items.includes(e.parentId)),loaded:i(()=>n.value.includes(e.parentId)),fetchTiles:async()=>{await t.fetch({parent:{type:e.parent,id:e.parentId}})}}},K=e=>{let{t}=n(),r=m(),i=u().getStore(k);return{findById:(e,t)=>i.findById(e,t),edit:async e=>i.edit(e),save:async e=>i.save(e),remove:async n=>{let a=i.findById(e.parent,n);if(a===null)throw new C(`Something went wrong, tile can't be loaded`);f.confirm(t(`dashboardModule.texts.tiles.confirmRemove`),t(`dashboardModule.headings.tiles.remove`),{confirmButtonText:t(`dashboardModule.buttons.yes.title`),cancelButtonText:t(`dashboardModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await i.remove({id:a.id,parent:{type:e.parent,id:e.parentId}}),r.success(t(`dashboardModule.messages.tiles.removed`))}catch(e){if(e instanceof E&&e.code===404){let e=t(`dashboardModule.messages.tiles.notFound`);r.error(e)}else if(e instanceof E&&e.code===422)r.error(e.message);else{let e=t(`dashboardModule.messages.tiles.notRemoved`);r.error(e)}}}).catch(()=>{r.info(t(`dashboardModule.messages.tiles.removeCanceled`))})},removeDirectly:async e=>i.remove(e)}},q=p({id:x().uuid().optional(),type:x().trim().nonempty(),row:d(),col:d(),rowSpan:d(),colSpan:d(),hidden:s()}),J=p({id:x().uuid(),type:x().trim().nonempty(),row:d().optional(),col:d().optional(),rowSpan:d().optional(),colSpan:d().optional(),hidden:s()}),Y=({id:i,parent:o,parentId:s,type:c,onlyDraft:d=!1})=>{let f=u(),{element:p}=N({type:c}),h=f.getStore(k),{t:g}=n(),_=m(),b=l(),x=a(T.NONE),S,C=t({...y(p.value?.schemas?.tileAddFormSchema||q),id:i,type:c,row:1,col:1,rowSpan:1,colSpan:1,hidden:!1}),w=v(r(C)),D=a(void 0),A=a(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(p.value?.schemas?.tileAddFormSchema||q).safeParse(C);if(!e.success)throw b.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create tile model.`);x.value=T.WORKING;let t=g(`dashboardModule.messages.tiles.notCreated`);try{await h.add({id:i,parent:{type:o,id:s},draft:d,data:{...e.data,type:c}})}catch(e){throw x.value=T.ERROR,S=window.setTimeout(M,2e3),e instanceof E&&e.code===422?_.error(e.message):_.error(t),e}return x.value=T.OK,S=window.setTimeout(M,2e3),_.success(g(`dashboardModule.messages.tiles.created`)),`added`},M=()=>{window.clearTimeout(S),x.value=T.NONE};return e(C,()=>{A.value=!(0,I.isEqual)(r(C),w)}),{model:C,formEl:D,formChanged:A,submit:j,clear:M,formResult:x}},X=({tile:i,messages:o,onlyDraft:s=!1})=>{let c=u(),{element:d}=N({type:i.type}),f=c.getStore(k),{t:p}=n(),h=m(),g=l(),_=a(T.NONE),y,b=t(i),x=v(r(b)),S=a(void 0),C=a(!1),w=async()=>{let e=i.draft,t=o&&o.error?o.error:i.draft&&!s?p(`dashboardModule.messages.tiles.notCreated`):p(`dashboardModule.messages.tiles.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let n=(d.value?.schemas?.tileEditFormSchema||J).safeParse(b);if(!n.success)throw g.error(`Schema validation failed with:`,n.error),new O(`Failed to validate create tile model.`);_.value=T.WORKING;try{await f.edit({id:i.id,parent:i.parent,data:{...n.data,type:i.type}}),i.draft&&!s&&await f.save({id:i.id,parent:i.parent})}catch(e){throw _.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(t),e}return _.value=T.OK,y=window.setTimeout(D,2e3),e&&!s?(h.success(p(o&&o.success?o.success:`dashboardModule.messages.tiles.created`)),`added`):(h.success(p(o&&o.success?o.success:`dashboardModule.messages.tiles.edited`)),C.value=!1,x=v(r(b)),`saved`)},D=()=>{window.clearTimeout(y),_.value=T.NONE};return e(b,()=>{C.value=!(0,I.isEqual)(r(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:_}},Z=e=>{let{id:t}=e,n=u().getStore(A),{data:r,semaphore:a}=g(n);return{dataSource:i(()=>t===null?null:t in r.value?r.value[t]:null),isLoading:i(()=>a.value.fetching.item.includes(t)?!0:(t in r.value?r.value[t]:null)===null?a.value.fetching.items.includes(e.parentId):!1),fetchDataSource:async()=>{(t in r.value?r.value[t]:null)?.draft||await n.get({id:t,parent:{type:e.parent,id:e.parentId}})}}},Q=p({id:x().uuid().optional(),type:x().trim().nonempty()}),$=p({id:x().uuid(),type:x().trim().nonempty()}),ne=({id:i,type:o,parent:s,parentId:c,onlyDraft:d=!1})=>{let f=u(),{element:p}=M({type:o}),h=f.getStore(A),{t:g}=n(),_=m(),b=l(),x=a(T.NONE),S,C=t({...y(p.value?.schemas?.dataSourceAddFormSchema||Q),id:i,type:o}),w=v(r(C)),D=a(void 0),k=a(!1),j=async()=>{if(D.value.clearValidate(),!await D.value.validate())throw new O(`Form not valid`);let e=(p.value?.schemas?.dataSourceAddFormSchema||Q).safeParse(C);if(!e.success)throw b.error(`Schema validation failed with:`,e.error),new O(`Failed to validate create data source model.`);x.value=T.WORKING;let t=g(`dashboardModule.messages.dataSources.notCreated`);try{await h.add({id:i,parent:{type:s,id:c},draft:d,data:{...e.data,type:o}})}catch(e){throw x.value=T.ERROR,S=window.setTimeout(N,2e3),e instanceof E&&e.code===422?_.error(e.message):_.error(t),e}return x.value=T.OK,S=window.setTimeout(N,2e3),_.success(g(`dashboardModule.messages.dataSources.created`)),`added`},N=()=>{window.clearTimeout(S),x.value=T.NONE};return e(C,()=>{k.value=!(0,I.isEqual)(r(C),w)}),{model:C,formEl:D,formChanged:k,submit:j,clear:N,formResult:x}},re=({dataSource:i,messages:o,onlyDraft:s=!1})=>{let c=u(),{element:d}=M({type:i.type}),f=c.getStore(A),{t:p}=n(),h=m(),g=l(),_=a(T.NONE),y,b=t(i),x=v(r(b)),S=a(void 0),C=a(!1),w=async()=>{let e=i.draft,t=o&&o.error?o.error:i.draft&&!s?p(`dashboardModule.messages.dataSources.notCreated`):p(`dashboardModule.messages.dataSources.notEdited`);if(S.value.clearValidate(),!await S.value.validate())throw new O(`Form not valid`);let n=(d.value?.schemas?.dataSourceEditFormSchema||$).safeParse(b);if(!n.success)throw g.error(`Schema validation failed with:`,n.error),new O(`Failed to validate create dataSource model.`);_.value=T.WORKING;try{await f.edit({id:i.id,parent:i.parent,data:{...n.data,type:i.type}}),i.draft&&!s&&await f.save({id:i.id,parent:i.parent})}catch(e){throw _.value=T.ERROR,y=window.setTimeout(D,2e3),e instanceof E&&e.code===422?h.error(e.message):h.error(t),e}return _.value=T.OK,y=window.setTimeout(D,2e3),e&&!s?(h.success(p(o&&o.success?o.success:`dashboardModule.messages.dataSources.created`)),`added`):(h.success(p(o&&o.success?o.success:`dashboardModule.messages.dataSources.edited`)),C.value=!1,x=v(r(b)),`saved`)},D=()=>{window.clearTimeout(y),_.value=T.NONE};return e(b,()=>{C.value=!(0,I.isEqual)(r(b),x)}),{model:b,formEl:S,formChanged:C,submit:w,clear:D,formResult:_}};export{z as _,Z as a,F as b,q as c,G as d,W as f,V as g,B as h,$ as i,J as l,H as m,ne as n,X as o,U as p,Q as r,Y as s,re as t,K as u,R as v,P as x,te as y};
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{Nr as e,Xr as t,ci as n,d as r,fi as i,mr as a,ui as o}from"./icon-with-child-DmQ_XhQy.js";import{A as s,Fn as c,Ht as l,Jn as u,Kn as d,Mn as f,Pn as p,S as m,T as h,Un as g,Ur as _,Vn as v,Wn as y,Yn as b,_ as x,an as S,ba as C,f as w,m as T,pn as E,qn as D,qt as O,wn as k,zn as A}from"./common-cN85xDKw.js";import{t as ee}from"./useSpaces-BLX5dcRn.js";import{o as te,s as j}from"./composables-Z6_f_-h6.js";var M=`scenes`,N=`scenes-module`,P=`ScenesModule.`,F=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerScene`,e}({}),I=function(e){return e.TRIGGER_SCENE=`ScenesModule.TriggerSceneHandler`,e}({}),L=function(e){return e.SCENE_CREATED=`ScenesModule.Scene.Created`,e.SCENE_UPDATED=`ScenesModule.Scene.Updated`,e.SCENE_DELETED=`ScenesModule.Scene.Deleted`,e.SCENE_TRIGGERED=`ScenesModule.Scene.Triggered`,e.SCENE_EXECUTION_STARTED=`ScenesModule.Scene.ExecutionStarted`,e.SCENE_EXECUTION_COMPLETED=`ScenesModule.Scene.ExecutionCompleted`,e.SCENE_EXECUTION_FAILED=`ScenesModule.Scene.ExecutionFailed`,e.SCENE_ACTION_CREATED=`ScenesModule.SceneAction.Created`,e.SCENE_ACTION_UPDATED=`ScenesModule.SceneAction.Updated`,e.SCENE_ACTION_DELETED=`ScenesModule.SceneAction.Deleted`,e}({}),R=function(e){return e.GENERIC=`generic`,e.LIGHTING=`lighting`,e.CLIMATE=`climate`,e.MEDIA=`media`,e.WORK=`work`,e.RELAX=`relax`,e.NIGHT=`night`,e.MORNING=`morning`,e.PARTY=`party`,e.MOVIE=`movie`,e.AWAY=`away`,e.HOME=`home`,e.SECURITY=`security`,e.ENERGY=`energy`,e.CUSTOM=`custom`,e}({}),z=function(e){return e.NONE=`none`,e.WORKING=`working`,e.ERROR=`error`,e.OK=`ok`,e}({}),B={SCENES:`scenes_module-scenes`,SCENES_ADD:`scenes_module-scenes_add`,SCENES_EDIT:`scenes_module-scenes_edit`,SCENE:`scenes_module-scene`,SCENE_EDIT:`scenes_module-scene_edit`,SCENE_ADD_ACTION:`scenes_module-scene_add_action`,SCENE_EDIT_ACTION:`scenes_module-scene_edit_action`},V={[R.GENERIC]:`mdi:playlist-play`,[R.LIGHTING]:`mdi:lightbulb-group`,[R.CLIMATE]:`mdi:thermostat`,[R.MEDIA]:`mdi:television-play`,[R.WORK]:`mdi:briefcase`,[R.RELAX]:`mdi:sofa`,[R.NIGHT]:`mdi:weather-night`,[R.MORNING]:`mdi:weather-sunset-up`,[R.PARTY]:`mdi:party-popper`,[R.MOVIE]:`mdi:movie-open`,[R.AWAY]:`mdi:home-export-outline`,[R.HOME]:`mdi:home-import-outline`,[R.SECURITY]:`mdi:shield-home`,[R.ENERGY]:`mdi:flash`,[R.CUSTOM]:`mdi:shape-outline`},H=y({search:D().optional(),categories:p(v(R)),primarySpaceId:u([D().uuid(),A(`whole_home`)]).optional(),enabled:f([`all`,`enabled`,`disabled`]).default(`all`)}),U=({id:e})=>{let t=h(),n=t.getStore(j),r=t.getStore(te),{data:i,semaphore:o}=C(n);return{scene:a(()=>e===null?null:i.value.get(e)??null),isLoading:a(()=>o.value.fetching.item.includes(e)?!0:i.value.get(e)===void 0?o.value.fetching.items:!1),fetchScene:async()=>{i.value.get(e)?.draft||(await n.get({id:e}),await r.fetch({sceneId:e}))}}},W=y({id:D().uuid().optional(),type:D().trim().nonempty(),configuration:d(D(),b()).default({}),order:g().int().min(0).optional(),enabled:c().default(!0)}).catchall(b());y({id:D().uuid(),type:D().trim().nonempty(),configuration:d(D(),b()).optional(),order:g().int().min(0).optional(),enabled:c().optional()}).catchall(b());var G=y({id:D().uuid().optional(),name:D().trim().nonempty(),description:D().trim().transform(e=>e===``?null:e).nullable().optional(),category:v(R).default(R.GENERIC),icon:D().nullable().optional(),enabled:c().default(!0),order:g().optional(),primarySpaceId:D().uuid().nullable().optional().transform(e=>e===``?null:e),actions:p(W).default([])}),K=y({id:D().uuid(),name:D().trim().nonempty().optional(),description:D().trim().transform(e=>e===``?null:e).nullable().optional(),category:v(R).optional(),icon:D().nullable().optional(),enabled:c().optional(),order:g().optional(),primarySpaceId:D().uuid().nullable().optional().transform(e=>e===``?null:e),actions:p(W).default([])}),q=class extends Error{exception;constructor(e,t=null){super(e),this.name=`ScenesException`,this.exception=t}},J=class extends q{code;constructor(e,t=null,n=null){super(e,n),this.name=`ScenesApiException`,this.code=t}},Y=class extends q{constructor(e,t=null){super(e,t),this.name=`ScenesValidationException`}},ne=()=>{let e=s(),{enabled:t}=S(),n=[`sceneActionAddForm`,`sceneActionEditForm`,`sceneActionCard`],r=[`sceneActionSchema`,`sceneActionAddFormSchema`,`sceneActionEditFormSchema`,`sceneActionCreateReqSchema`,`sceneActionUpdateReqSchema`],i=a(()=>e.getPlugins().filter(e=>e.modules===void 0||e.modules.includes(`scenes-module`)?(e.elements??[]).some(e=>{if(!(e.modules===void 0||e.modules.includes(`scenes-module`)))return!1;let t=n.length===0||!!e.components&&n.some(t=>e.components&&t in e.components),i=r.length===0||!!e.schemas&&r.some(t=>e.schemas&&t in e.schemas);return t||i}):!1));return{plugins:i,options:a(()=>E(i.value.flatMap(e=>(e.elements??[]).filter(e=>{let t=e.modules===void 0||e.modules.includes(`scenes-module`),r=!!e.components&&n.some(t=>e.components&&t in e.components);return t&&r}).map(n=>({value:n.type,label:n.name?.trim()?n.name:e.name,disabled:!t(e.type)}))),[e=>e.label],[`asc`])),getByName:e=>i.value.find(t=>t.type===e),getByType:e=>i.value.find(t=>(t.elements??[]).some(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)))),getElement:e=>{for(let t of i.value){let n=(t.elements??[]).find(t=>t.type===e&&(t.modules===void 0||t.modules.includes(`scenes-module`)));if(n)return n}}}},X=k(),Z=({id:e})=>{let s=h(),c=s.getStore(j),u=s.getStore(te),{t:d}=r(),f=x(),p=m(),{spaces:g,fetching:_,fetchSpaces:v}=ee(),y=o(z.NONE),b,S=a(()=>Object.values(R).map(e=>({value:e,label:d(`scenes.categories.${e}`),icon:V[e]}))),C=a(()=>{let e=g.value.filter(e=>e.type===l.ROOM).map(e=>({value:e.id,label:e.name,icon:O(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=g.value.filter(e=>e.type===l.ZONE).map(e=>({value:e.id,label:e.name,icon:O(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:l.ROOM,label:d(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:l.ZONE,label:d(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),w=n({id:e,category:R.GENERIC,name:``,description:null,icon:null,enabled:!0,primarySpaceId:null,actions:[]}),{options:E,getElement:D}=ne(),k=e=>{let t=e.propertyId;return t&&w.actions.find(e=>e.propertyId===t)?(f.warning(d(`scenes.messages.duplicateAction`)),!1):(w.actions.push(e),!0)},A=e=>{w.actions.splice(e,1)},M=(e,t)=>{e>=0&&e<w.actions.length&&(w.actions[e]=t)},N=e=>D(e)?.components?.sceneActionCard??null,P=e=>D(e)?.components?.sceneActionAddForm??null,F=e=>D(e)?.components?.sceneActionEditForm??null,I=e=>E.value.find(t=>t.value===e)?.label??e,L=T(i(w)),B=o(void 0),H=o(!1),U=async(e,t)=>{try{for(let n=0;n<t.length;n++){let r=t[n];r&&await u.add({sceneId:e,data:{...r,order:n,enabled:r.enabled??!0}})}}catch(e){throw p.error(`Error syncing scene actions:`,e),e}},W=async()=>{if(B.value.clearValidate(),!await B.value.validate())throw new Y(`Form not valid`);let t=G.safeParse(w);if(!t.success)throw p.error(`Schema validation failed with:`,t.error),new Y(`Failed to validate create scene model.`);y.value=z.WORKING;let n=d(`scenes.messages.createFailed`);try{let n=await c.add({id:e,draft:!1,data:t.data});t.data.actions.length>0&&await U(n.id,t.data.actions)}catch(e){throw y.value=z.ERROR,b=window.setTimeout(K,2e3),e instanceof J&&e.code===422?f.error(e.message):f.error(n),e}return y.value=z.OK,b=window.setTimeout(K,2e3),f.success(d(`scenes.messages.created`)),`added`},K=()=>{window.clearTimeout(b),y.value=z.NONE};return t(w,()=>{H.value=!(0,X.isEqual)(i(w),L)}),{categoriesOptions:S,spacesOptionsGrouped:C,model:w,formEl:B,formChanged:H,submit:W,clear:K,formResult:y,loadingSpaces:_,fetchSpaces:v,actionPluginOptions:E,addAction:k,removeAction:A,updateAction:M,getActionCardComponent:N,getActionFormComponent:P,getActionEditFormComponent:F,getPluginLabel:I}},re=({scene:s,messages:c})=>{let u=h(),d=u.getStore(j),f=u.getStore(te),{t:p}=r(),g=x(),_=m(),{spaces:v,fetching:y,fetchSpaces:b}=ee(),S=o(z.NONE),C=a(()=>f.findForScene(s.id)),w=o(T(C.value)),E,D=a(()=>Object.values(R).map(e=>({value:e,label:p(`scenes.categories.${e}`),icon:V[e]}))),k=a(()=>{let e=v.value.filter(e=>e.type===l.ROOM).map(e=>({value:e.id,label:e.name,icon:O(e)})).sort((e,t)=>e.label.localeCompare(t.label)),t=v.value.filter(e=>e.type===l.ZONE).map(e=>({value:e.id,label:e.name,icon:O(e)})).sort((e,t)=>e.label.localeCompare(t.label)),n=[];return e.length>0&&n.push({type:l.ROOM,label:p(`scenes.form.spaceGroups.rooms`),icon:`mdi:door`,options:e}),t.length>0&&n.push({type:l.ZONE,label:p(`scenes.form.spaceGroups.zones`),icon:`mdi:map-marker-radius`,options:t}),n}),A=a(()=>C.value.map(e=>({...e}))),M=n({id:s.id,category:s.category,name:s.name,description:s.description,icon:s.icon,enabled:s.enabled,primarySpaceId:s.primarySpaceId,actions:A.value}),{options:N,getElement:P}=ne(),F=e=>{let t=e.propertyId;return t&&M.actions.find(e=>e.propertyId===t)?(g.warning(p(`scenes.messages.duplicateAction`)),!1):(M.actions.push(e),!0)},I=e=>{M.actions.splice(e,1)},L=(e,t)=>{e>=0&&e<M.actions.length&&(M.actions[e]=t)},B=e=>P(e)?.components?.sceneActionCard??null,H=e=>P(e)?.components?.sceneActionAddForm??null,U=e=>P(e)?.components?.sceneActionEditForm??null,W=e=>N.value.find(t=>t.value===e)?.label??e,G=o(void 0),q=o(!1),Z=T(i(M)),re=async(e,t)=>{try{let n=new Set(w.value.map(e=>e.id)),r=new Set(t.filter(e=>e.id).map(e=>e.id));for(let t of w.value)r.has(t.id)||await f.remove({id:t.id,sceneId:e});let i=new Map;for(let r=0;r<t.length;r++){let a=t[r];if(!a)continue;let o=a.id;if(!o||!n.has(o)){let t=await f.add({sceneId:e,data:{...a,order:r,enabled:a.enabled??!0}});i.set(r,t.id)}else{let t=w.value.find(e=>e.id===o);if(t){let n=new Set([`id`,`draft`,`createdAt`,`updatedAt`,`scene`]),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n.has(e)));(0,X.isEqual)(i(t),{...i(a),order:r})||await f.edit({id:o,sceneId:e,data:{...a,order:r}})}}}for(let[e,t]of i){let n=M.actions[e];n&&(n.id=t)}w.value=T(f.findForScene(e))}catch(e){throw _.error(`Error syncing scene actions:`,e),e}},ie=async()=>{let e=s.draft,t=c&&c.error?c.error:s.draft?p(`scenes.messages.createFailed`):p(`scenes.messages.editFailed`,{scene:s.name});if(G.value.clearValidate(),!await G.value.validate())throw new Y(`Form not valid`);let n=K.safeParse(M);if(!n.success)throw _.error(`Schema validation failed with:`,n.error),new Y(`Failed to validate edit scene model.`);S.value=z.WORKING;try{await d.edit({id:s.id,data:n.data});let t=s.id;if(e){let e=await d.save({id:s.id});M.id=e.id,M.category=e.category,M.name=e.name,M.description=e.description,M.icon=e.icon,M.enabled=e.enabled,M.primarySpaceId=e.primarySpaceId,t=e.id}await re(t,n.data.actions)}catch(e){throw S.value=z.ERROR,E=window.setTimeout(Q,2e3),e instanceof J&&e.code===422?g.error(e.message):e instanceof Y||(g.error(t),_.error(`Scene edit failed:`,e)),e}return S.value=z.OK,E=window.setTimeout(Q,2e3),e?(g.success(p(c&&c.success?c.success:`scenes.messages.created`)),`added`):(g.success(p(c&&c.success?c.success:`scenes.messages.edited`,{scene:s.name})),q.value=!1,Z=T(i(M)),`saved`)},Q=()=>{window.clearTimeout(E),S.value=z.NONE};return t(M,()=>{q.value=!(0,X.isEqual)(i(M),Z)}),e(()=>{Q()}),{categoriesOptions:D,spacesOptionsGrouped:k,model:M,formEl:G,formChanged:q,submit:ie,clear:Q,formResult:S,loadingSpaces:y,fetchSpaces:b,actionPluginOptions:N,addAction:F,removeAction:I,updateAction:L,getActionCardComponent:B,getActionFormComponent:H,getActionEditFormComponent:U,getPluginLabel:W}},ie=({id:e})=>{let t=h().getStore(j);return{icon:a(()=>{let n=t.findById(e);return n?.icon?n.icon:n?.category&&n.category in V?V[n.category]:V[R.GENERIC]})}},Q=()=>{let e=h().getStore(j),{data:t,semaphore:n,firstLoad:r}=C(e);return{scenes:a(()=>Array.from(t.value.values()).sort((e,t)=>e.name.localeCompare(t.name))),fetching:a(()=>n.value.fetching.items),loaded:a(()=>r.value),fetchScenes:async()=>e.fetch(),getScene:async t=>e.get({id:t}),findById:t=>e.findById(t),findBySpace:t=>e.findBySpace(t),triggerScene:async(t,n)=>{await e.trigger({id:t,source:n})},removeScene:async t=>{await e.remove({id:t})}}},ae=()=>{let{t:e}=r(),t=x(),n=h().getStore(j);return{addScene:async e=>n.add(e),editScene:async e=>n.edit(e),removeScene:async e=>{await n.remove({id:e})},bulkRemove:async r=>{if(r.length!==0)try{await _.confirm(e(`scenes.texts.confirmBulkRemove`,{count:r.length}),e(`scenes.headings.bulkRemove`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of r)try{await n.remove({id:e.id}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkRemoved`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkRemoveFailed`,{count:a}))}catch{}},bulkEnable:async r=>{if(r.length!==0)try{await _.confirm(e(`scenes.texts.confirmBulkEnable`,{count:r.length}),e(`scenes.headings.bulkEnable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`info`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!0}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkEnabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkEnableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkEnableCanceled`))}},bulkDisable:async r=>{if(r.length!==0)try{await _.confirm(e(`scenes.texts.confirmBulkDisable`,{count:r.length}),e(`scenes.headings.bulkDisable`),{confirmButtonText:e(`scenes.buttons.yes.title`),cancelButtonText:e(`scenes.buttons.no.title`),type:`warning`});let i=0,a=0;for(let e of r)try{await n.edit({id:e.id,data:{enabled:!1}}),i++}catch{a++}i>0&&t.success(e(`scenes.messages.bulkDisabled`,{count:i})),a>0&&t.error(e(`scenes.messages.bulkDisableFailed`,{count:a}))}catch{t.info(e(`scenes.messages.bulkDisableCanceled`))}}}},$={search:void 0,categories:[],primarySpaceId:void 0,enabled:`all`},oe={by:`name`,dir:`asc`},se=()=>{let e=h().getStore(j),{firstLoad:n,semaphore:r}=C(e),{filters:i,sort:s,pagination:c,reset:l}=w({key:`${N}:scenes:list`,filters:{schema:H,defaults:$},sort:{defaults:[oe]},pagination:{defaults:{page:1,size:10}},syncQuery:!0,version:1}),u=a(()=>i.value.search!==$.search||!(0,X.isEqual)(i.value.categories,$.categories)||i.value.primarySpaceId!==$.primarySpaceId||i.value.enabled!==$.enabled),d=o(c.value.size||10),f=o(c.value.page||1),p=o(s.value.length>0?s.value[0]?.by:void 0),m=o(s.value.length>0?s.value[0]?.dir??null:null),g=(e,t)=>t?t===`whole_home`?!e:e===t:!0,_=a(()=>{let t=e.findAll().filter(e=>!e.draft&&(!i.value.search||e.id.toLowerCase().includes(i.value.search.toLowerCase())||e.name.toLowerCase().includes(i.value.search.toLowerCase())||e.description?.toLowerCase().includes(i.value.search.toLowerCase()))&&(i.value.categories.length===0||i.value.categories.includes(e.category))&&g(e.primarySpaceId,i.value.primarySpaceId)&&(i.value.enabled===`all`||i.value.enabled===`enabled`&&e.enabled||i.value.enabled===`disabled`&&!e.enabled)),n=p.value??`order`;return E(t,[e=>e[n]??``],[m.value??`asc`])}),v=a(()=>{let e=(f.value-1)*d.value,t=e+d.value;return _.value.slice(e,t)}),y=async()=>{await e.fetch()},b=a(()=>r.value.fetching.items||!n.value),x=a(()=>n.value),S=a(()=>e.findAll().filter(e=>!e.draft).length);return t(()=>c.value,e=>{f.value=e.page??1,d.value=e.size??10},{deep:!0}),t(()=>f.value,e=>{c.value.page=e}),t(()=>d.value,e=>{c.value.size=e}),t(()=>m.value,e=>{p.value===void 0||e===null?s.value=[]:s.value=[{by:p.value,dir:e}]}),t(()=>p.value,e=>{e===void 0||m.value===null?s.value=[]:s.value=[{by:e,dir:m.value}]}),t(()=>i.value,()=>{f.value=1},{deep:!0}),{scenes:_,scenesPaginated:v,totalRows:S,areLoading:b,loaded:x,fetchScenes:y,filters:i,filtersActive:u,paginateSize:d,paginatePage:f,sortBy:p,sortDir:m,resetFilter:l}};export{N as _,re as a,R as b,q as c,I as d,F as f,P as g,B as h,ie as i,Y as l,z as m,ae as n,Z as o,L as p,Q as r,J as s,se as t,U as u,M as v,V as y};