@fastybird/smart-panel-admin 0.5.0-alpha.1 → 0.5.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 (238) hide show
  1. package/dist/assets/{card-add-form-kmvsoeLv.js → card-add-form-DQXmUGYB.js} +1 -1
  2. package/dist/assets/{card-edit-form-BdnxGuno.js → card-edit-form-C_ueLwAl.js} +1 -1
  3. package/dist/assets/common-ODOYsFyB.js +150 -0
  4. package/dist/assets/{common-D_v-7H8R.css → common-oMRoU5Bz.css} +1 -1
  5. package/dist/assets/components-B0yDuRWl.js +1 -0
  6. package/dist/assets/{components-DSMoiSYB.css → components-B8YODd0w.css} +1 -1
  7. package/dist/assets/components-BawtJjUe.css +1 -0
  8. package/dist/assets/components-CLcIzP_8.js +1 -0
  9. package/dist/assets/{components-DjcdKT6l.js → components-DUJCqruw.js} +2 -2
  10. package/dist/assets/components-DswxKCzv.js +1 -0
  11. package/dist/assets/components-DuDfTryK.js +1 -0
  12. package/dist/assets/{components-Onta8FuW.js → components-Dy1D-m8H.js} +1 -1
  13. package/dist/assets/components-uhACvBFm.js +1 -0
  14. package/dist/assets/components-xu2Ecpu3.js +1 -0
  15. package/dist/assets/composables-BYBvtJtZ2.js +1 -0
  16. package/dist/assets/composables-BdOPVRLy.js +1 -0
  17. package/dist/assets/composables-COtKPd6m.js +1 -0
  18. package/dist/assets/composables-CYtwppqp.js +1 -0
  19. package/dist/assets/composables-CyeF6JUD.js +1 -0
  20. package/dist/assets/{composables-UHdVu_Jy.js → composables-DMWrW6cA.js} +1 -1
  21. package/dist/assets/composables-OVMFuMEO.js +1 -0
  22. package/dist/assets/composables-V0w_6yLu.js +1 -0
  23. package/dist/assets/{composables-C7pWRqwL.js → composables-ovO3IuNm.js} +1 -1
  24. package/dist/assets/{dashboard-B7d0IEBI.js → dashboard-Bh7IoBmK.js} +2 -2
  25. package/dist/assets/dashboard.types-C9xYIAqN.js +1 -0
  26. package/dist/assets/{data-source-edit-form-BfZbLZAd.js → data-source-edit-form-1USzMzsk.js} +1 -1
  27. package/dist/assets/drawer-SsHoXCM6.js +1 -0
  28. package/dist/assets/extensions.constants-CqiZbt61.js +1 -0
  29. package/dist/assets/index-CBZlPHi6.css +1 -0
  30. package/dist/assets/index-DIIEtvlc.js +16 -0
  31. package/dist/assets/input-number-BcTX03rU.js +1 -0
  32. package/dist/assets/{integration-config-dialog-DK_07eug.js → integration-config-dialog-BJktCyLq.js} +1 -1
  33. package/dist/assets/{layout-config-DULoZdsG.js → layout-config-wkusTAdj.js} +1 -1
  34. package/dist/assets/{layout-default-DXsqhuCv.js → layout-default-BYUkR3hs.js} +1 -1
  35. package/dist/assets/{layout-lock-KcQanwyR.js → layout-lock-C-eqz7Us.js} +1 -1
  36. package/dist/assets/layout-profile--lk7ll_B.js +1 -0
  37. package/dist/assets/{layout-profile-q5lEjlhZ.js → layout-profile-CSv2mvny.js} +1 -1
  38. package/dist/assets/{layout-sign-BXdwT0qX.js → layout-sign-7JaoeYCx.js} +1 -1
  39. package/dist/assets/layout-sign-CFeVTVnB.js +1 -0
  40. package/dist/assets/{list-data-sources-adjust-BosyZfMx.js → list-data-sources-adjust-BYOPPONj.js} +1 -1
  41. package/dist/assets/list-locations-DLldQrVV.js +1 -0
  42. package/dist/assets/{list-users-QYgwJeH4.js → list-users-qrVLd1pk.js} +1 -1
  43. package/dist/assets/logs-entries.transformers-DfCpw1Mg.js +1 -0
  44. package/dist/assets/{page-configure-Dq7G5ZDW.js → page-configure-BSOS0YWC.js} +1 -1
  45. package/dist/assets/{page-configure-DTgbatK9.js → page-configure-C9foGeW1.js} +1 -1
  46. package/dist/assets/pagination-BN2OOlZX.js +1 -0
  47. package/dist/assets/{popover-2GniQC-j.js → popover-maUqtNv9.js} +1 -1
  48. package/dist/assets/{radio-CaxKR-YD.js → radio-D90nO0cl.js} +1 -1
  49. package/dist/assets/{scene-add-form-DLkQXhjq.js → scene-add-form-B6aQgGC0.js} +1 -1
  50. package/dist/assets/{scene-edit-form-DWKf9sNY.js → scene-edit-form-2gyHb7pp.js} +1 -1
  51. package/dist/assets/{select-data-source-plugin-CzYMSKaB.js → select-data-source-plugin-CgCYxWux.js} +1 -1
  52. package/dist/assets/{steps-BAssrJjb.js → steps-CqRZSdTY.js} +1 -1
  53. package/dist/assets/system-DxZSaAT-.js +2 -0
  54. package/dist/assets/{table-CvJFN6qk.js → table-B8jVmQb4.js} +1 -1
  55. package/dist/assets/{tile-detail-LzcNryPj.js → tile-detail-e8sF8ITC.js} +1 -1
  56. package/dist/assets/{tile-edit-form-BrLWcyuG.js → tile-edit-form-8b25z62v.js} +1 -1
  57. package/dist/assets/types-il6fmL4i.js +1 -0
  58. package/dist/assets/useBuddyChat-BR1c5D1G.js +1 -0
  59. package/dist/assets/{useDataSources-BeTczwoa.js → useDataSources-CQ5RpxTF.js} +1 -1
  60. package/dist/assets/useDevices-BW3E3-_x.js +1 -0
  61. package/dist/assets/useGeolocation-B12pka0s.js +2 -0
  62. package/dist/assets/useLocation-C6TegHQd.js +1 -0
  63. package/dist/assets/usePage-CZkNy5eQ.js +1 -0
  64. package/dist/assets/usePersonalTokens-DkMIEhh0.js +1 -0
  65. package/dist/assets/{useSpaces-DoHSAZGH.js → useSpaces-CwuN3REG.js} +1 -1
  66. package/dist/assets/{view-buddy-chat-CyFS9GYo.js → view-buddy-chat-CrwcDa3M.js} +1 -1
  67. package/dist/assets/{view-card-add-j4wwG2MD.js → view-card-add-BHxtttSX.js} +1 -1
  68. package/dist/assets/view-card-edit-DY4LnDlA.js +1 -0
  69. package/dist/assets/view-channel-add-C-KNpSke.js +1 -0
  70. package/dist/assets/view-channel-edit-DyorqKCt.js +1 -0
  71. package/dist/assets/view-channel-ncXhyIGi.js +1 -0
  72. package/dist/assets/view-channel-property-add-CIFJh3ZE.js +1 -0
  73. package/dist/assets/view-channel-property-edit-CrQTmWxu.js +1 -0
  74. package/dist/assets/view-channels-Ol_mozxl.js +1 -0
  75. package/dist/assets/view-config-module-edit-DacuUceh.js +1 -0
  76. package/dist/assets/{view-config-modules-CF1iuvVz.js → view-config-modules-N_v2eK_U.js} +1 -1
  77. package/dist/assets/{view-config-plugin-edit-CvKjUt2K.js → view-config-plugin-edit-CjlZ3EEe.js} +1 -1
  78. package/dist/assets/view-config-plugins-bYWa-Ujv.js +1 -0
  79. package/dist/assets/view-data-source-add-CexuIpgu.js +1 -0
  80. package/dist/assets/{view-data-source-add-BI03NhnB.js → view-data-source-add-DM304vey.js} +1 -1
  81. package/dist/assets/view-data-source-edit-Ca8K4gfX.js +1 -0
  82. package/dist/assets/{view-data-source-edit-CG_77wW5.js → view-data-source-edit-FHNzBHLd.js} +1 -1
  83. package/dist/assets/view-device-4MStawAp.js +1 -0
  84. package/dist/assets/view-device-add-B0Lt9OK4.js +1 -0
  85. package/dist/assets/view-device-control-vnzLerf1.js +1 -0
  86. package/dist/assets/view-device-edit-DVVrHmS2.js +1 -0
  87. package/dist/assets/view-devices-Bpn9DvaU.js +1 -0
  88. package/dist/assets/view-display-BbvkyPbH.js +1 -0
  89. package/dist/assets/{view-display-edit-DJqEY8hD.js → view-display-edit-CI52n4pj.js} +1 -1
  90. package/dist/assets/{view-display-tokens-D0vtwlcT.js → view-display-tokens-DF6pWwNi.js} +1 -1
  91. package/dist/assets/view-displays-hc3Dn3Qr.js +1 -0
  92. package/dist/assets/view-extension-detail-CVm5R10T.js +1 -0
  93. package/dist/assets/view-extensions-uCxnYjwJ.js +1 -0
  94. package/dist/assets/view-location-DBtyd0pi.js +1 -0
  95. package/dist/assets/view-location-add-D3fbqOhD.js +1 -0
  96. package/dist/assets/view-location-edit-C3geS5oJ.js +1 -0
  97. package/dist/assets/view-locations-8ZqZDbAk.js +1 -0
  98. package/dist/assets/view-lock-screen-B9MwbZ7J.js +1 -0
  99. package/dist/assets/view-onboarding-Ci9OqPoQ.js +1 -0
  100. package/dist/assets/{view-page-D1sCXvpn.js → view-page-CUptupIj.js} +1 -1
  101. package/dist/assets/view-page-add-DLfnWIKK.js +1 -0
  102. package/dist/assets/view-page-configure-CBMGoYcU.js +1 -0
  103. package/dist/assets/view-page-configure-jPI1gdzu.js +1 -0
  104. package/dist/assets/{view-page-data-source-add-CNE-4EFT.js → view-page-data-source-add-CBln54WX.js} +1 -1
  105. package/dist/assets/view-page-data-source-edit-9Dldezpi.js +1 -0
  106. package/dist/assets/{view-page-edit-DzxBGHQY.js → view-page-edit-BH7tMoob.js} +1 -1
  107. package/dist/assets/{view-page-plugin-B1Tb9lAw.js → view-page-plugin-D-vtnnCA.js} +1 -1
  108. package/dist/assets/view-pages-CvkGoSlO.js +1 -0
  109. package/dist/assets/view-profile-general-Cq6MIsx5.js +1 -0
  110. package/dist/assets/view-profile-security-gyKy2iQC.js +1 -0
  111. package/dist/assets/{view-scene-add-CV0D7NNa.js → view-scene-add-COkl_MaE.js} +1 -1
  112. package/dist/assets/{view-scene-edit-oN5Gwu3v.js → view-scene-edit-Bq08EufU.js} +1 -1
  113. package/dist/assets/{view-scenes-CzcnbD3z.js → view-scenes-DxNwHqS7.js} +1 -1
  114. package/dist/assets/view-sign-in-yDDqsso7.js +1 -0
  115. package/dist/assets/view-sign-up-D-jEaa9v.js +1 -0
  116. package/dist/assets/{view-space-DnVEsxTP.js → view-space-NuALoUGM.js} +1 -1
  117. package/dist/assets/{view-space-add-B8dRy9rw.js → view-space-add-Bq3ktwr8.js} +1 -1
  118. package/dist/assets/view-space-edit-Dmjg8QeN.js +1 -0
  119. package/dist/assets/view-spaces-CYQKPDfV.js +1 -0
  120. package/dist/assets/{view-spaces-onboarding-Dc4-p1XM.js → view-spaces-onboarding-CFxbUAb4.js} +1 -1
  121. package/dist/assets/view-stats-De-kusx5.js +1 -0
  122. package/dist/assets/{view-system-info-DyAW1JmB.js → view-system-info-vArgYxKA.js} +1 -1
  123. package/dist/assets/{view-system-log-detail-BVsXrvNX.js → view-system-log-detail-CB_-ytuO.js} +1 -1
  124. package/dist/assets/view-system-logs-DKGVQZn3.js +1 -0
  125. package/dist/assets/{view-tile-oFaFfv5a.js → view-tile-BsLyvePU.js} +1 -1
  126. package/dist/assets/view-tile-add-BIY19wOW.js +1 -0
  127. package/dist/assets/view-tile-add-Cq75xbje.js +1 -0
  128. package/dist/assets/{view-tile-data-source-add-BbTYMt77.js → view-tile-data-source-add-CIX8tkna.js} +1 -1
  129. package/dist/assets/view-tile-data-source-edit-CW0xFJ2S.js +1 -0
  130. package/dist/assets/view-tile-edit-CASH-bTT.js +1 -0
  131. package/dist/assets/view-tile-edit-CbylTxla.js +1 -0
  132. package/dist/assets/view-tile-edit-DiEvgqjD.js +1 -0
  133. package/dist/assets/view-user-add-DvKzPDIS.js +1 -0
  134. package/dist/assets/view-user-edit-Bbs0gylG.js +1 -0
  135. package/dist/assets/{view-users-fRqpr_eL.js → view-users-CLqMdwqb.js} +1 -1
  136. package/dist/assets/weather-Cqr91jk4.js +2 -0
  137. package/dist/assets/weather-forecast.transformers-BJTdFLSr.js +1 -0
  138. package/dist/index.html +79 -68
  139. package/package.json +1 -1
  140. package/dist/assets/common-DitknrxN.js +0 -150
  141. package/dist/assets/components-4himNGln.js +0 -1
  142. package/dist/assets/components-BDA9RsM-.js +0 -1
  143. package/dist/assets/components-BXqiBk7T.js +0 -1
  144. package/dist/assets/components-Bc5yn4qW.js +0 -1
  145. package/dist/assets/components-D8uUYiQ0.js +0 -1
  146. package/dist/assets/components-W7KcmsWr.css +0 -1
  147. package/dist/assets/components-bQQErF8x.js +0 -1
  148. package/dist/assets/composables-BtOMC6SO.js +0 -1
  149. package/dist/assets/composables-C46ZLEsP2.js +0 -1
  150. package/dist/assets/composables-CC6upzs6.js +0 -1
  151. package/dist/assets/composables-DIsxr7rr.js +0 -1
  152. package/dist/assets/composables-DtyITy1r.js +0 -1
  153. package/dist/assets/composables-DxxfUmLS.js +0 -1
  154. package/dist/assets/composables-DyKltTYD.js +0 -1
  155. package/dist/assets/dashboard.types-DzHU66I8.js +0 -1
  156. package/dist/assets/drawer-eMQrURHR.js +0 -1
  157. package/dist/assets/extensions.constants-zRRiNzmt.js +0 -1
  158. package/dist/assets/index-BZI30D7S.css +0 -1
  159. package/dist/assets/index-D1fa7dFw.js +0 -16
  160. package/dist/assets/input-number-DWPwyGIz.js +0 -1
  161. package/dist/assets/layout-profile-xLNa8jBg.js +0 -1
  162. package/dist/assets/layout-sign-DZJ_e6dT.js +0 -1
  163. package/dist/assets/list-locations-BZcLwZZq.js +0 -1
  164. package/dist/assets/logs-entries.transformers-InCczx23.js +0 -1
  165. package/dist/assets/pagination-DzdCpUO6.js +0 -1
  166. package/dist/assets/system-D5UsRLYQ.js +0 -2
  167. package/dist/assets/types-DFpBJXK4.js +0 -1
  168. package/dist/assets/useBuddyChat-CkSvC-pn.js +0 -1
  169. package/dist/assets/useDevices-OVLlwqEQ.js +0 -1
  170. package/dist/assets/useGeolocation-_W93BjAG.js +0 -2
  171. package/dist/assets/useLocation-CnjASICx.js +0 -1
  172. package/dist/assets/usePage-ieVJALDp.js +0 -1
  173. package/dist/assets/view-card-edit-DZTczuJY.js +0 -1
  174. package/dist/assets/view-channel-DKBQ9suY.js +0 -1
  175. package/dist/assets/view-channel-add-Dqz3uysY.js +0 -1
  176. package/dist/assets/view-channel-edit-BC0xRMz0.js +0 -1
  177. package/dist/assets/view-channel-property-add-BCPcvzS1.js +0 -1
  178. package/dist/assets/view-channel-property-edit-CuN5pr46.js +0 -1
  179. package/dist/assets/view-channels-BT7LYZp1.js +0 -1
  180. package/dist/assets/view-config-module-edit-zZ-UwMUy.js +0 -1
  181. package/dist/assets/view-config-plugins-B0cuWMle.js +0 -1
  182. package/dist/assets/view-data-source-add-D3WbcClv.js +0 -1
  183. package/dist/assets/view-data-source-edit-iFtuiXQQ.js +0 -1
  184. package/dist/assets/view-device-CkDaSpt8.js +0 -1
  185. package/dist/assets/view-device-add-BAzZtNnc.js +0 -1
  186. package/dist/assets/view-device-control-BQiJftiQ.js +0 -1
  187. package/dist/assets/view-device-edit-YRRz1sNH.js +0 -1
  188. package/dist/assets/view-devices-vPvslfmH.js +0 -1
  189. package/dist/assets/view-display-zjndSwfE.js +0 -1
  190. package/dist/assets/view-displays-BSNWi56f.js +0 -1
  191. package/dist/assets/view-extension-detail-RW-wTS86.js +0 -1
  192. package/dist/assets/view-extensions-BBKZ2N3L.js +0 -1
  193. package/dist/assets/view-location--WKVDjlx.js +0 -1
  194. package/dist/assets/view-location-add-DK6sM4IG.js +0 -1
  195. package/dist/assets/view-location-edit-CzuW4tBm.js +0 -1
  196. package/dist/assets/view-locations-CxbYYpS4.js +0 -1
  197. package/dist/assets/view-lock-screen-DJ4AEbiE.js +0 -1
  198. package/dist/assets/view-onboarding-BX7INX5P.js +0 -1
  199. package/dist/assets/view-page-add-3cUCcxxn.js +0 -1
  200. package/dist/assets/view-page-configure-CMq091a6.js +0 -1
  201. package/dist/assets/view-page-configure-iF4kTpPf.js +0 -1
  202. package/dist/assets/view-page-data-source-edit-8W7htB6X.js +0 -1
  203. package/dist/assets/view-pages-9jw_EwpO.js +0 -1
  204. package/dist/assets/view-profile-general-DZ3OdJvK.js +0 -1
  205. package/dist/assets/view-profile-security-lCeNZ9Oz.js +0 -1
  206. package/dist/assets/view-sign-in-ZlkRXp7N.js +0 -1
  207. package/dist/assets/view-sign-up-JNnyc01a.js +0 -1
  208. package/dist/assets/view-space-edit-Cl9htHR9.js +0 -1
  209. package/dist/assets/view-spaces-BuZ8CtBB.js +0 -1
  210. package/dist/assets/view-stats--5LlIHyO.js +0 -1
  211. package/dist/assets/view-system-logs-DsMuwck_.js +0 -1
  212. package/dist/assets/view-tile-add-B4x4jQsp.js +0 -1
  213. package/dist/assets/view-tile-add-BKsu1Kia.js +0 -1
  214. package/dist/assets/view-tile-data-source-edit-Cj2QlG8m.js +0 -1
  215. package/dist/assets/view-tile-edit-B1TPcmd4.js +0 -1
  216. package/dist/assets/view-tile-edit-BhNpgYEO.js +0 -1
  217. package/dist/assets/view-tile-edit-CAuussd-.js +0 -1
  218. package/dist/assets/view-user-add-Dkj9Dc8J.js +0 -1
  219. package/dist/assets/view-user-edit-B0UYak5T.js +0 -1
  220. package/dist/assets/weather-C56mRuE6.js +0 -2
  221. package/dist/assets/weather-forecast.transformers-zuwBxXhr.js +0 -1
  222. /package/dist/assets/{composables-BU1aKa642.js → composables-CFy1PUwT2.js} +0 -0
  223. /package/dist/assets/{empty-C13Ke09q.js → empty-C-72o5ew.js} +0 -0
  224. /package/dist/assets/{gridstack.min-BC6WoZvX.js → gridstack.min-CkFfNuVm.js} +0 -0
  225. /package/dist/assets/{keys-C6Zi4a10.js → keys-BBDlM2pa.js} +0 -0
  226. /package/dist/assets/{keys-DVEtutPb.js → keys-CGGnS6tq.js} +0 -0
  227. /package/dist/assets/{keys-o2K4DVjh.js → keys-Cm97UJHM.js} +0 -0
  228. /package/dist/assets/{keys-DWeeqbdi.js → keys-DHSxrtbW.js} +0 -0
  229. /package/dist/assets/{leaflet-src-B49UyrlR.js → leaflet-src-w7aZLeZy.js} +0 -0
  230. /package/dist/assets/{leaflet-src.esm-YKGwaZsZ.js → leaflet-src.esm-CP3k43VF.js} +0 -0
  231. /package/dist/assets/{marker-icon-2x-BCzqJChB.js → marker-icon-2x-BQwQunh3.js} +0 -0
  232. /package/dist/assets/{marker-icon-JzPv91fE.js → marker-icon-D5WnykN_.js} +0 -0
  233. /package/dist/assets/{marker-shadow-tj6c2pB6.js → marker-shadow-7oepq6ij.js} +0 -0
  234. /package/dist/assets/{pages-cards.contants-B5RdaI3z.js → pages-cards.contants-DaE51N8m.js} +0 -0
  235. /package/dist/assets/{pages-tiles.constants-Day6cR-b.js → pages-tiles.constants-CQ5vmfVa.js} +0 -0
  236. /package/dist/assets/{system.exceptions-CLPql-b3.js → system.exceptions-7sdV6yZT.js} +0 -0
  237. /package/dist/assets/{view-not-found-C0Nl0aC-.js → view-not-found-Cyh2GjBD.js} +0 -0
  238. /package/dist/assets/{weather-icon-CkuFNv0P.js → weather-icon-CoJVymBk.js} +0 -0
@@ -1 +0,0 @@
1
- import"./chunk-DECur_0Z.js";import{$r as e,Ai as t,Ar as n,Br as r,C as i,Di as a,Dr as o,Ft as s,Hr as c,Jt as l,Lr as u,Lt as d,Mt as f,Nr as p,O as m,Oi as h,Qr as g,Qt as _,S as v,Si as y,Sr as b,T as x,Tr as S,Ur as C,Vr as w,Xr as T,Yt as ee,Zt as E,_i as D,_r as O,ai as te,br as k,ci as ne,ct as re,d as A,di as ie,f as ae,gr as j,h as M,hr as N,in as P,ji as F,lr as I,m as L,mi as oe,mr as R,mt as se,n as z,p as B,pi as ce,pt as le,sr as ue,t as V,tn as de,tt as fe,ui as H,ut as pe,vr as U,w as me,wi as he,xr as W}from"./icon-with-child-DmQ_XhQy.js";import{Ai as ge,At as _e,B as ve,Bt as ye,Di as be,Ei as xe,Fi as Se,Fr as Ce,Ft as we,Gr as Te,H as Ee,Ht as G,Ii as K,Jr as De,Ki as Oe,Li as ke,Nr as Ae,Nt as je,Rr as Me,Rt as q,Si as J,Ti as Ne,Ur as Pe,Wr as Fe,Wt as Ie,Xt as Le,Yt as Re,_ as ze,_a as Be,_r as Y,bi as Ve,d as He,fi as Ue,fr as We,ga as Ge,ha as Ke,hr as X,ia as qe,jt as Je,ma as Ye,mr as Xe,ni as Ze,pi as Qe,qi as $e,qt as et,ti as tt,ur as Z,vi as nt,wi as rt,xi as it,y as at,yi as Q,zi as ot}from"./common-DitknrxN.js";import{n as $,r as st,t as ct}from"./table-CvJFN6qk.js";import{t as lt}from"./skeleton-DMwdgp1r.js";import{t as ut}from"./input-number-DWPwyGIz.js";import{n as dt,r as ft}from"./radio-CaxKR-YD.js";import{t as pt}from"./pagination-DzdCpUO6.js";import{i as mt}from"./composables-UHdVu_Jy.js";import{t as ht}from"./useSpaces-DoHSAZGH.js";import{a as gt,c as _t,d as vt,f as yt,g as bt,h as xt,l as St,m as Ct,p as wt,t as Tt,u as Et}from"./composables-BtOMC6SO.js";import{b as Dt,n as Ot,r as kt,y as At}from"./composables-CC6upzs6.js";import{t as jt}from"./useDevices-OVLlwqEQ.js";var Mt=Symbol(`sliderContextKey`),Nt=E({modelValue:{type:_([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:re,inputSize:re,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:_(Function),default:void 0},disabled:{type:Boolean,default:void 0},range:Boolean,vertical:Boolean,height:String,rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:_(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Oe,default:`top`},marks:{type:_(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...ot([`ariaLabel`])}),Pt=e=>P(e)||y(e)&&e.every(P),Ft={[Ge]:Pt,[Ke]:Pt,[Ye]:Pt},It=(e,t,r)=>{let i=H();return u(async()=>{e.range?(y(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(!P(e.modelValue)||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),s(window,`resize`,r),await n(),r()}),{sliderWrapper:i}},Lt=e=>R(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((e,t)=>e-t).filter(t=>t<=e.max&&t>=e.min).map(t=>({point:t,position:(t-e.min)*100/(e.max-e.min),mark:e.marks[t]})):[]),Rt=(e,t,r)=>{let{formItem:i}=v(),a=ie(),o=H(),s=H(),c={firstButton:o,secondButton:s},l=me(),u=R(()=>Math.min(t.firstValue,t.secondValue)),d=R(()=>Math.max(t.firstValue,t.secondValue)),f=R(()=>e.range?`${100*(d.value-u.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),p=R(()=>e.range?`${100*(u.value-e.min)/(e.max-e.min)}%`:`0%`),m=R(()=>e.vertical?{height:e.height}:{}),h=R(()=>e.vertical?{height:f.value,bottom:p.value}:{width:f.value,left:p.value}),g=()=>{a.value&&(t.sliderSize=a.value.getBoundingClientRect()[e.vertical?`height`:`width`])},_=n=>{let r=e.min+n*(e.max-e.min)/100;if(!e.range)return o;let i;return i=Math.abs(u.value-r)<Math.abs(d.value-r)?t.firstValue<t.secondValue?`firstButton`:`secondButton`:t.firstValue>t.secondValue?`firstButton`:`secondButton`,c[i]},y=e=>{let t=_(e);return t.value.setPosition(e),t},b=n=>{t.firstValue=n??e.min,S(e.range?[u.value,d.value]:n??e.min)},x=n=>{t.secondValue=n,e.range&&S([u.value,d.value])},S=e=>{r(Ge,e),r(Ke,e)},C=async()=>{await n(),r(Ye,e.range?[u.value,d.value]:e.modelValue)},w=n=>{if(l.value||t.dragging)return;g();let r=0;if(e.vertical){let e=n.touches?.item(0)?.clientY??n.clientY;r=(a.value.getBoundingClientRect().bottom-e)/t.sliderSize*100}else r=((n.touches?.item(0)?.clientX??n.clientX)-a.value.getBoundingClientRect().left)/t.sliderSize*100;if(!(r<0||r>100))return y(r)};return{elFormItem:i,slider:a,firstButton:o,secondButton:s,sliderDisabled:l,minValue:u,maxValue:d,runwayStyle:m,barStyle:h,resetSize:g,setPosition:y,emitChange:C,onSliderWrapperPrevent:e=>{(c.firstButton.value?.dragging||c.secondButton.value?.dragging)&&e.preventDefault()},onSliderClick:e=>{w(e)&&C()},onSliderDown:async e=>{let t=w(e);t&&(await n(),t.value.onButtonDown(e))},onSliderMarkerDown:e=>{l.value||t.dragging||y(e)&&C()},setFirstValue:b,setSecondValue:x}},zt=(e,t,n,r)=>({stops:R(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===0)return l(`ElSlider`,`step should not be 0.`),[];let i=Math.ceil((e.max-e.min)/e.step),a=100*e.step/(e.max-e.min),o=Array.from({length:i-1}).map((e,t)=>(t+1)*a);return e.range?o.filter(t=>t<100*(n.value-e.min)/(e.max-e.min)||t>100*(r.value-e.min)/(e.max-e.min)):o.filter(n=>n>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:t=>e.vertical?{bottom:`${t}%`}:{left:`${t}%`}}),Bt=(e,t,n,r,i,a)=>{let o=e=>{i(Ge,e),i(Ke,e)},s=()=>e.range?![n.value,r.value].every((e,n)=>e===t.oldValue[n]):e.modelValue!==t.oldValue,c=()=>{e.min>e.max&&ee(`Slider`,`min should not be greater than max.`);let n=e.modelValue;e.range&&y(n)?n[1]<e.min?o([e.min,e.min]):n[0]>e.max?o([e.max,e.max]):n[0]<e.min?o([e.min,n[1]]):n[1]>e.max?o([n[0],e.max]):(t.firstValue=n[0],t.secondValue=n[1],s()&&(e.validateEvent&&a?.validate?.(`change`).catch(e=>l(e)),t.oldValue=n.slice())):!e.range&&P(n)&&!Number.isNaN(n)&&(n<e.min?o(e.min):n>e.max?o(e.max):(t.firstValue=n,s()&&(e.validateEvent&&a?.validate?.(`change`).catch(e=>l(e)),t.oldValue=n)))};c(),T(()=>t.dragging,e=>{e||c()}),T(()=>e.modelValue,(e,n)=>{t.dragging||y(e)&&y(n)&&e.every((e,t)=>e===n[t])&&t.firstValue===e[0]&&t.secondValue===e[1]||c()},{deep:!0}),T(()=>[e.min,e.max],()=>{c()})},Vt=(e,t,n)=>{let r=H(),i=H(!1),a=R(()=>t.value instanceof Function);return{tooltip:r,tooltipVisible:i,formatValue:R(()=>a.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:st(()=>{n.value&&(i.value=!0)},50),hideTooltip:st(()=>{n.value&&(i.value=!1)},50)}},Ht=(e,t,r)=>{let{disabled:i,min:a,max:c,step:l,showTooltip:u,persistent:d,precision:f,sliderSize:p,formatTooltip:m,emitChange:h,resetSize:g,updateDragging:_}=o(Mt),{tooltip:v,tooltipVisible:y,formatValue:b,displayTooltip:x,hideTooltip:S}=Vt(e,m,u),C=H(),w=R(()=>`${(e.modelValue-a.value)/(c.value-a.value)*100}%`),ee=R(()=>e.vertical?{bottom:w.value}:{left:w.value}),E=()=>{t.hovering=!0,x()},D=()=>{t.hovering=!1,t.dragging||S()},O=e=>{i.value||(e.preventDefault(),N(e),window.addEventListener(`mousemove`,P),window.addEventListener(`touchmove`,P),window.addEventListener(`mouseup`,F),window.addEventListener(`touchend`,F),window.addEventListener(`contextmenu`,F),C.value.focus())},te=e=>{i.value||(t.newPosition=Number.parseFloat(w.value)+e/(c.value-a.value)*100,I(t.newPosition),h())},k=()=>{te(-l.value)},ne=()=>{te(l.value)},re=()=>{te(-l.value*4)},A=()=>{te(l.value*4)},ie=()=>{i.value||(I(0),h())},ae=()=>{i.value||(I(100),h())},j=e=>{let t=$e(e),n=!0;switch(t){case Be.left:case Be.down:k();break;case Be.right:case Be.up:ne();break;case Be.home:ie();break;case Be.end:ae();break;case Be.pageDown:re();break;case Be.pageUp:A();break;default:n=!1;break}n&&e.preventDefault()},M=e=>{let t,n;return e.type.startsWith(`touch`)?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}},N=n=>{t.dragging=!0,t.isClick=!0;let{clientX:r,clientY:i}=M(n);e.vertical?t.startY=i:t.startX=r,t.startPosition=Number.parseFloat(w.value),t.newPosition=t.startPosition},P=n=>{if(t.dragging){t.isClick=!1,x(),g();let r,{clientX:i,clientY:a}=M(n);e.vertical?(t.currentY=a,r=(t.startY-t.currentY)/p.value*100):(t.currentX=i,r=(t.currentX-t.startX)/p.value*100),t.newPosition=t.startPosition+r,I(t.newPosition)}},F=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||S(),t.isClick||I(t.newPosition),h()},0),window.removeEventListener(`mousemove`,P),window.removeEventListener(`touchmove`,P),window.removeEventListener(`mouseup`,F),window.removeEventListener(`touchend`,F),window.removeEventListener(`contextmenu`,F))},I=async i=>{if(i===null||Number.isNaN(+i))return;i=qe(i,0,100);let o=Math.floor((c.value-a.value)/l.value),s=o*l.value/(c.value-a.value)*100,u=s+(100-s)/2,d;if(i<s){let e=s/o,t=Math.round(i/e);d=a.value+t*l.value}else d=i<u?a.value+o*l.value:c.value;d=Number.parseFloat(d.toFixed(f.value)),d!==e.modelValue&&r(Ge,d),!t.dragging&&e.modelValue!==t.oldValue&&(t.oldValue=e.modelValue),await n(),t.dragging&&x(),v.value.updatePopper()};return T(()=>t.dragging,e=>{_(e)}),s(C,`touchstart`,O,{passive:!1}),{disabled:i,button:C,tooltip:v,tooltipVisible:y,showTooltip:u,persistent:d,wrapperStyle:ee,formatValue:b,handleMouseEnter:E,handleMouseLeave:D,onButtonDown:O,onKeyDown:j,setPosition:I}},Ut=E({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Oe,default:`top`}}),Wt={[Ge]:e=>P(e)},Gt=[`tabindex`],Kt=b({name:`ElSliderButton`,__name:`button`,props:Ut,emits:Wt,setup(e,{expose:n,emit:i}){let a=e,o=i,s=le(`slider`),c=ne({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:a.modelValue}),l=R(()=>p.value?m.value:!1),{disabled:u,button:d,tooltip:f,showTooltip:p,persistent:m,tooltipVisible:_,wrapperStyle:v,formatValue:y,handleMouseEnter:b,handleMouseLeave:x,onButtonDown:S,onKeyDown:C,setPosition:w}=Ht(a,c,o),{hovering:T,dragging:ee}=oe(c);return n({onButtonDown:S,onKeyDown:C,setPosition:w,hovering:T,dragging:ee}),(e,n)=>(r(),U(`div`,{ref_key:`button`,ref:d,class:h([D(s).e(`button-wrapper`),{hover:D(T),dragging:D(ee)}]),style:t(D(v)),tabindex:D(u)?void 0:0,onMouseenter:n[0]||=(...e)=>D(b)&&D(b)(...e),onMouseleave:n[1]||=(...e)=>D(x)&&D(x)(...e),onMousedown:n[2]||=(...e)=>D(S)&&D(S)(...e),onFocus:n[3]||=(...e)=>D(b)&&D(b)(...e),onBlur:n[4]||=(...e)=>D(x)&&D(x)(...e),onKeydown:n[5]||=(...e)=>D(C)&&D(C)(...e)},[W(D(ge),{ref_key:`tooltip`,ref:f,visible:D(_),placement:e.placement,"fallback-placements":[`top`,`bottom`,`right`,`left`],"stop-popper-mouse-event":!1,"popper-class":e.tooltipClass,disabled:!D(p),persistent:l.value},{content:g(()=>[N(`span`,null,F(D(y)),1)]),default:g(()=>[N(`div`,{class:h([D(s).e(`button`),{hover:D(T),dragging:D(ee)}])},null,2)]),_:1},8,[`visible`,`placement`,`popper-class`,`disabled`,`persistent`])],46,Gt))}}),qt=b({name:`ElSliderMarker`,props:E({mark:{type:_([String,Object]),default:void 0}}),setup(e){let t=le(`slider`),n=R(()=>a(e.mark)?e.mark:e.mark.label),r=R(()=>a(e.mark)?void 0:e.mark.style);return()=>S(`div`,{class:t.e(`marks-text`),style:r.value},n.value)}}),Jt=[`id`,`role`,`aria-label`,`aria-labelledby`],Yt={key:1},Xt=fe(b({name:`ElSlider`,__name:`slider`,props:Nt,emits:Ft,setup(e,{expose:n,emit:a}){let o=e,l=a,u=le(`slider`),{t:d}=se(),f=ne({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:p,slider:m,firstButton:g,secondButton:_,sliderDisabled:v,minValue:y,maxValue:b,runwayStyle:S,barStyle:C,resetSize:T,emitChange:ee,onSliderWrapperPrevent:E,onSliderClick:te,onSliderDown:k,onSliderMarkerDown:re,setFirstValue:A,setSecondValue:ie}=Rt(o,f,l),{stops:ae,getStopStyle:M}=zt(o,f,y,b),{inputId:P,isLabeledByFormItem:F}=i(o,{formItemContext:p}),L=x(),z=R(()=>o.inputSize||L.value),B=R(()=>o.ariaLabel||d(`el.slider.defaultLabel`,{min:o.min,max:o.max})),ce=R(()=>o.range?o.rangeStartLabel||d(`el.slider.defaultRangeStartLabel`):B.value),V=R(()=>o.formatValueText?o.formatValueText(ge.value):`${ge.value}`),de=R(()=>o.rangeEndLabel||d(`el.slider.defaultRangeEndLabel`)),fe=R(()=>o.formatValueText?o.formatValueText(_e.value):`${_e.value}`),H=R(()=>[u.b(),u.m(L.value),u.is(`vertical`,o.vertical),{[u.m(`with-input`)]:o.showInput}]),pe=Lt(o);Bt(o,f,y,b,l,p);let me=R(()=>{let e=[o.min,o.max,o.step].map(e=>{let t=`${e}`.split(`.`)[1];return t?t.length:0});return Math.max.apply(null,e)}),{sliderWrapper:he}=It(o,f,T),{firstValue:ge,secondValue:_e,sliderSize:ve}=oe(f),ye=e=>{f.dragging=e};return s(he,`touchstart`,E,{passive:!1}),s(he,`touchmove`,E,{passive:!1}),w(Mt,{...oe(o),sliderSize:ve,disabled:v,precision:me,emitChange:ee,resetSize:T,updateDragging:ye}),n({onSliderClick:te}),(e,n)=>(r(),U(`div`,{id:e.range?D(P):void 0,ref_key:`sliderWrapper`,ref:he,class:h(H.value),role:e.range?`group`:void 0,"aria-label":e.range&&!D(F)?B.value:void 0,"aria-labelledby":e.range&&D(F)?D(p)?.labelId:void 0},[N(`div`,{ref_key:`slider`,ref:m,class:h([D(u).e(`runway`),{"show-input":e.showInput&&!e.range},D(u).is(`disabled`,D(v))]),style:t(D(S)),onMousedown:n[0]||=(...e)=>D(k)&&D(k)(...e),onTouchstartPassive:n[1]||=(...e)=>D(k)&&D(k)(...e)},[N(`div`,{class:h(D(u).e(`bar`)),style:t(D(C))},null,6),W(Kt,{id:e.range?void 0:D(P),ref_key:`firstButton`,ref:g,"model-value":D(ge),vertical:e.vertical,"tooltip-class":e.tooltipClass,placement:e.placement,role:`slider`,"aria-label":e.range||!D(F)?ce.value:void 0,"aria-labelledby":!e.range&&D(F)?D(p)?.labelId:void 0,"aria-valuemin":e.min,"aria-valuemax":e.range?D(_e):e.max,"aria-valuenow":D(ge),"aria-valuetext":V.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-disabled":D(v),"onUpdate:modelValue":D(A)},null,8,[`id`,`model-value`,`vertical`,`tooltip-class`,`placement`,`aria-label`,`aria-labelledby`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-orientation`,`aria-disabled`,`onUpdate:modelValue`]),e.range?(r(),j(Kt,{key:0,ref_key:`secondButton`,ref:_,"model-value":D(_e),vertical:e.vertical,"tooltip-class":e.tooltipClass,placement:e.placement,role:`slider`,"aria-label":de.value,"aria-valuemin":D(ge),"aria-valuemax":e.max,"aria-valuenow":D(_e),"aria-valuetext":fe.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-disabled":D(v),"onUpdate:modelValue":D(ie)},null,8,[`model-value`,`vertical`,`tooltip-class`,`placement`,`aria-label`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-orientation`,`aria-disabled`,`onUpdate:modelValue`])):O(`v-if`,!0),e.showStops?(r(),U(`div`,Yt,[(r(!0),U(I,null,c(D(ae),(e,n)=>(r(),U(`div`,{key:n,class:h(D(u).e(`stop`)),style:t(D(M)(e))},null,6))),128))])):O(`v-if`,!0),D(pe).length>0?(r(),U(I,{key:2},[N(`div`,null,[(r(!0),U(I,null,c(D(pe),(e,n)=>(r(),U(`div`,{key:n,style:t(D(M)(e.position)),class:h([D(u).e(`stop`),D(u).e(`marks-stop`)])},null,6))),128))]),N(`div`,{class:h(D(u).e(`marks`))},[(r(!0),U(I,null,c(D(pe),(e,n)=>(r(),j(D(qt),{key:n,mark:e.mark,style:t(D(M)(e.position)),onMousedown:ue(t=>D(re)(e.position),[`stop`])},null,8,[`mark`,`style`,`onMousedown`]))),128))],2)],64)):O(`v-if`,!0)],38),e.showInput&&!e.range?(r(),j(D(ut),{key:0,ref:`input`,"model-value":D(ge),class:h(D(u).e(`input`)),step:e.step,disabled:D(v),controls:e.showInputControls,min:e.min,max:e.max,precision:me.value,size:z.value,"onUpdate:modelValue":D(A),onChange:D(ee)},null,8,[`model-value`,`class`,`step`,`disabled`,`controls`,`min`,`max`,`precision`,`size`,`onUpdate:modelValue`,`onChange`])):O(`v-if`,!0)],10,Jt))}})),Zt={label:`label`,value:`value`,disabled:`disabled`},Qt=E({direction:{type:_(String),default:`horizontal`},options:{type:_(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:_(Object),default:()=>Zt},block:Boolean,size:re,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...ot([`ariaLabel`])}),$t={[Ge]:e=>a(e)||P(e)||de(e),[Ye]:e=>a(e)||P(e)||de(e)},en=[`id`,`aria-label`,`aria-labelledby`],tn=[`name`,`disabled`,`checked`,`onChange`],nn=fe(b({name:`ElSegmented`,__name:`segmented`,props:Qt,emits:$t,setup(e,{emit:n}){let a=e,o=n,s=le(`segmented`),u=pe(),p=x(),m=me(),{formItem:g}=v(),{inputId:_,isLabeledByFormItem:y}=i(a,{formItemContext:g}),b=H(null),S=f(),w=ne({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),ee=(e,t)=>{let n=re(t);o(Ge,n),o(Ye,n),e.target.checked=n===a.modelValue},E=R(()=>({...Zt,...a.props})),te=e=>e,re=e=>he(e)?e[E.value.value]:e,A=e=>he(e)?e[E.value.label]:e,ie=e=>!!(m.value||he(e)&&e[E.value.disabled]),ae=e=>a.modelValue===re(e),j=e=>a.options.find(t=>re(t)===e),M=e=>[s.e(`item`),s.is(`selected`,ae(e)),s.is(`disabled`,ie(e))],P=()=>{if(!b.value)return;let e=b.value.querySelector(`.is-selected`),t=b.value.querySelector(`.is-selected input`);if(!e||!t){w.width=0,w.height=0,w.translateX=0,w.translateY=0,w.focusVisible=!1;return}w.isInit=!0,a.direction===`vertical`?(w.height=e.offsetHeight,w.translateY=e.offsetTop):(w.width=e.offsetWidth,w.translateX=e.offsetLeft);try{w.focusVisible=t.matches(`:focus-visible`)}catch{}},L=R(()=>[s.b(),s.m(p.value),s.is(`block`,a.block)]),oe=R(()=>({width:a.direction===`vertical`?`100%`:`${w.width}px`,height:a.direction===`vertical`?`${w.height}px`:`100%`,transform:a.direction===`vertical`?`translateY(${w.translateY}px)`:`translateX(${w.translateX}px)`,display:w.isInit?`block`:`none`})),se=R(()=>[s.e(`item-selected`),s.is(`disabled`,ie(j(a.modelValue))),s.is(`focus-visible`,w.focusVisible)]),z=R(()=>a.name||u.value);return d(b,P),T(S,P),T(()=>a.modelValue,()=>{P(),a.validateEvent&&g?.validate?.(`change`).catch(e=>l(e))},{flush:`post`}),(n,i)=>e.options.length?(r(),U(`div`,{key:0,id:D(_),ref_key:`segmentedRef`,ref:b,class:h(L.value),role:`radiogroup`,"aria-label":D(y)?void 0:e.ariaLabel||`segmented`,"aria-labelledby":D(y)?D(g).labelId:void 0},[N(`div`,{class:h([D(s).e(`group`),D(s).m(e.direction)])},[N(`div`,{style:t(oe.value),class:h(se.value)},null,6),(r(!0),U(I,null,c(e.options,(e,t)=>(r(),U(`label`,{key:t,class:h(M(e))},[N(`input`,{class:h(D(s).e(`item-input`)),type:`radio`,name:z.value,disabled:ie(e),checked:ae(e),onChange:t=>ee(t,e)},null,42,tn),N(`div`,{class:h(D(s).e(`item-label`))},[C(n.$slots,`default`,{item:te(e)},()=>[k(F(A(e)),1)])],2)],2))),128))],2)],10,en)):O(`v-if`,!0)}})),rn={class:`flex w-full`},an=b({name:`SpacesFilter`,__name:`spaces-filter`,props:{filters:{},filtersActive:{type:Boolean},selectedCount:{},bulkActions:{}},emits:[`update:filters`,`reset-filters`,`adjust-list`,`bulk-action`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=Ce(n,`filters`,i),s=H(void 0);return T(()=>o.value.search,e=>{e===``&&(o.value.search=void 0)}),(e,t)=>(r(),U(`div`,rn,[W(D(Se),{ref_key:`filterFormEl`,ref:s,inline:!0,model:D(o),class:`grow-1`},{default:g(()=>[W(D(be),{modelValue:D(o).search,"onUpdate:modelValue":t[0]||=e=>D(o).search=e,placeholder:D(a)(`spacesModule.fields.search.placeholder`),class:`max-w[280px] p-1`,clearable:``},{suffix:g(()=>[W(D(m),null,{default:g(()=>[W(D(B),{icon:`mdi:magnify`})]),_:1})]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`model`]),W(D(Ee),{"selected-count":n.selectedCount,actions:n.bulkActions,onAction:t[1]||=e=>i(`bulk-action`,e)},null,8,[`selected-count`,`actions`]),n.filtersActive?(r(),j(D(M),{key:0,plain:``,class:`px-2! mt-1 mr-1`,onClick:t[2]||=e=>i(`reset-filters`)},{default:g(()=>[W(D(B),{icon:`mdi:filter-off`})]),_:1})):O(``,!0),W(D(M),{plain:``,class:`px-2! mt-1 mr-1`,onClick:t[3]||=e=>i(`adjust-list`)},{default:g(()=>[W(D(B),{icon:`mdi:slider`})]),_:1})]))}}),on={key:0,class:`h-full w-full leading-normal`},sn={key:1,class:`h-full w-full leading-normal`},cn={key:2,class:`h-full w-full leading-normal`},ln={class:`block`},un=b({name:`SpacesTable`,__name:`spaces-table`,props:{items:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},tableHeight:{},filters:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`reset-filters`,`update:sort-by`,`update:sort-dir`,`selected-changes`],setup(n,{emit:i}){let a=n,o=i,{t:s}=A(),{isMDDevice:c}=Ae(),l=R(()=>a.totalRows===0),u=R(()=>a.tableHeight??400),d=({prop:e,order:t})=>{o(`update:sort-by`,e),o(`update:sort-dir`,t===`descending`?`desc`:t===`ascending`?`asc`:null)},f=e=>{o(`detail`,e.id)},p=e=>{o(`selected-changes`,e)};return(n,i)=>e((r(),j(D(ct),{"element-loading-text":D(s)(`spacesModule.texts.loadingSpaces`),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:u.value+`px`}),"max-height":u.value,onSortChange:d,onSelectionChange:p,onRowClick:f},{empty:g(()=>[a.loading?(r(),U(`div`,on,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:home-group`})]),secondary:g(()=>[W(D(B),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):a.filtersActive&&!a.loading?(r(),U(`div`,sn,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:home-group`})]),secondary:g(()=>[W(D(B),{icon:`mdi:filter-multiple`})]),_:1})]),title:g(()=>[W(D(Te),{class:`block`},{default:g(()=>[k(F(D(s)(`spacesModule.texts.noFilteredSpaces`)),1)]),_:1}),W(D(M),{type:`primary`,plain:``,class:`mt-4`,onClick:i[0]||=e=>o(`reset-filters`)},{icon:g(()=>[W(D(B),{icon:`mdi:filter-off`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.buttons.resetFilters.title`)),1)]),_:1})]),_:1})])):l.value&&!a.loading?(r(),U(`div`,cn,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:home-group`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(s)(`spacesModule.texts.noSpaces`)),1)]),_:1})])):O(``,!0)]),default:g(()=>[D(c)?(r(),j(D($),{key:0,type:`selection`,fixed:``,width:30})):O(``,!0),W(D($),{width:60,align:`center`},{default:g(e=>[W(D(Ne),{size:32},{default:g(()=>[W(D(B),{icon:e.row.icon||(e.row.type===D(G).ROOM?`mdi:door`:`mdi:home-floor-1`),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024)]),_:1}),W(D($),{label:D(s)(`spacesModule.table.columns.name`),prop:`name`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],"min-width":200,"class-name":`py-0!`},{default:g(e=>[N(`strong`,ln,F(e.row.name),1),e.row.description?(r(),j(D(Te),{key:0,size:`small`,class:`block leading-4`,truncated:``},{default:g(()=>[k(F(e.row.description),1)]),_:2},1024)):O(``,!0)]),_:1},8,[`label`]),W(D($),{label:D(s)(`spacesModule.table.columns.type`),prop:`type`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:120},{default:g(e=>[W(D(J),{type:e.row.type===D(G).ROOM?`primary`:`info`,size:`small`},{default:g(()=>[k(F(D(s)(`spacesModule.misc.types.${e.row.type}`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),W(D($),{label:D(s)(`spacesModule.table.columns.category`),prop:`category`,width:150},{default:g(e=>[e.row.category?(r(),j(D(Te),{key:0,size:`small`},{default:g(()=>[k(F(D(s)(`spacesModule.fields.spaces.category.options.${e.row.category}`)),1)]),_:2},1024)):(r(),j(D(Te),{key:1,size:`small`,type:`info`},{default:g(()=>[...i[2]||=[k(` — `,-1)]]),_:1}))]),_:1},8,[`label`]),W(D($),{label:D(s)(`spacesModule.table.columns.order`),prop:`displayOrder`,sortable:`custom`,"sort-orders":[`ascending`,`descending`],width:100,align:`center`},{default:g(e=>[k(F(e.row.displayOrder),1)]),_:1},8,[`label`]),W(D($),{width:190,align:`right`},{default:g(e=>[N(`div`,{onClick:i[1]||=ue(()=>{},[`stop`])},[W(D(M),{size:`small`,plain:``,"data-test-id":`detail-space`,onClick:t=>o(`detail`,e.row.id)},{icon:g(()=>[W(D(B),{icon:`mdi:file-search-outline`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.buttons.detail.title`)),1)]),_:1},8,[`onClick`]),W(D(M),{size:`small`,plain:``,class:`ml-1!`,"data-test-id":`edit-space`,onClick:t=>o(`edit`,e.row.id)},{icon:g(()=>[W(D(B),{icon:`mdi:pencil`})]),_:1},8,[`onClick`]),W(D(M),{size:`small`,type:`warning`,plain:``,class:`ml-1!`,"data-test-id":`remove-space`,onClick:t=>o(`remove`,e.row.id)},{icon:g(()=>[W(D(B),{icon:`mdi:trash`})]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`,`default-sort`,`style`,`max-height`])),[[D(Fe),a.loading]])}}),dn=b({name:`ListSpaces`,__name:`list-spaces`,props:{items:{},allItems:{},totalRows:{},loading:{type:Boolean},filtersActive:{type:Boolean},filters:{},paginatePage:{},paginateSize:{},sortBy:{},sortDir:{}},emits:[`detail`,`edit`,`remove`,`add`,`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 n=e,i=t,{t:a}=A(),{isMDDevice:o}=Ae(),s=null,c=H(null),l=H(null),d=Ce(n,`filters`,i),f=H(n.sortBy),m=H(n.sortDir??null),h=H(n.paginatePage),_=H(n.paginateSize),v=H(250),y=H([]),b=R(()=>[{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)},w=()=>{i(`add`)},ee=()=>{i(`reset-filters`)},E=e=>{i(`update:paginate-size`,e)},O=e=>{i(`update:paginate-page`,e)},k=e=>{y.value=e},ne=e=>{i(`bulk-action`,e,y.value)};return u(()=>{if(!c.value)return;let e=()=>{c.value&&l.value&&(v.value=c.value.clientHeight-l.value.clientHeight)};typeof window<`u`&&`ResizeObserver`in window&&(s=new ResizeObserver(e),s.observe(c.value)),e()}),p(()=>{s&&c.value&&s.unobserve(c.value)}),T(()=>f.value,e=>{i(`update:sort-by`,e)}),T(()=>m.value,e=>{i(`update:sort-dir`,e)}),T(()=>n.paginatePage,e=>{h.value=e}),T(()=>n.paginateSize,e=>{_.value=e}),T(()=>n.sortDir??null,e=>{m.value=e}),T(()=>n.sortBy,e=>{f.value=e}),T(()=>o.value,e=>{e||(y.value=[])}),(e,t)=>(r(),U(I,null,[W(D(nt),{shadow:`never`,class:`px-1 py-2 shrink-0`,"body-class":`p-0!`},{default:g(()=>[W(an,{filters:D(d),"onUpdate:filters":t[0]||=e=>te(d)?d.value=e:null,"filters-active":n.filtersActive,"selected-count":y.value.length,"bulk-actions":b.value,onResetFilters:t[1]||=e=>i(`reset-filters`),onAdjustList:t[2]||=e=>i(`adjust-list`),onBulkAction:ne},null,8,[`filters`,`filters-active`,`selected-count`,`bulk-actions`])]),_:1}),N(`div`,{ref_key:`wrapper`,ref:c,class:`flex-grow overflow-hidden`},[W(D(nt),{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:g(()=>[W(un,{filters:D(d),"onUpdate:filters":t[3]||=e=>te(d)?d.value=e:null,"sort-by":f.value,"onUpdate:sortBy":t[4]||=e=>f.value=e,"sort-dir":m.value,"onUpdate:sortDir":t[5]||=e=>m.value=e,items:n.items,"total-rows":n.totalRows,loading:n.loading,"filters-active":n.filtersActive,"table-height":v.value,onDetail:x,onEdit:S,onRemove:C,onAdd:w,onResetFilters:ee,onSelectedChanges:k},null,8,[`filters`,`sort-by`,`sort-dir`,`items`,`total-rows`,`loading`,`filters-active`,`table-height`]),N(`div`,{ref_key:`paginator`,ref:l,class:`flex justify-center w-full py-4`},[W(D(pt),{"current-page":h.value,"onUpdate:currentPage":t[6]||=e=>h.value=e,"page-size":_.value,"onUpdate:pageSize":t[7]||=e=>_.value=e,layout:D(o)?`total, sizes, prev, pager, next, jumper`:`total, sizes, prev, pager, next`,total:n.allItems.length,onSizeChange:E,onCurrentChange:O},null,8,[`current-page`,`page-size`,`layout`,`total`])],512)]),_:1})],512)],64))}}),fn={class:`px-2`},pn={class:`px-5 py-2 text-center`},mn=ae(b({name:`ListSpacesAdjust`,__name:`list-spaces-adjust`,props:{filters:{},filtersActive:{type:Boolean}},emits:[`update:filters`,`reset-filters`],setup(e,{emit:t}){let n=e,i=t,a=le(`list-spaces-adjust`),{t:o}=A(),s=H([`type`]),c=Ce(n,`filters`,i);return(e,t)=>(r(),U(I,null,[W(D(Me),{teleport:``},{icon:g(()=>[W(D(B),{icon:`mdi:filter`})]),title:g(()=>[k(F(D(o)(`spacesModule.headings.adjustFilters`)),1)]),subtitle:g(()=>[k(F(D(o)(`spacesModule.subHeadings.adjustFilters`)),1)]),_:1}),N(`div`,{class:h([[D(a).b()],`flex flex-col h-full w-full overflow-hidden`])},[W(D(xe),{class:`flex-grow`},{default:g(()=>[W(D(Ue),{modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e},{default:g(()=>[W(D(Qe),{name:`type`,class:h([D(a).e(`filter-item`)])},{title:g(()=>[W(D(Te),{class:`!px-2`},{default:g(()=>[k(F(D(o)(`spacesModule.filters.type.title`)),1)]),_:1})]),default:g(()=>[N(`div`,fn,[W(D(ft),{modelValue:D(c).type,"onUpdate:modelValue":t[0]||=e=>D(c).type=e},{default:g(()=>[W(D(dt),{label:D(o)(`spacesModule.misc.types.room`),value:D(G).ROOM},null,8,[`label`,`value`]),W(D(dt),{label:D(o)(`spacesModule.misc.types.zone`),value:D(G).ZONE},null,8,[`label`,`value`]),W(D(dt),{label:D(o)(`spacesModule.filters.type.all`),value:`all`},null,8,[`label`])]),_:1},8,[`modelValue`])])]),_:1},8,[`class`])]),_:1},8,[`modelValue`])]),_:1}),N(`div`,pn,[W(D(M),{disabled:!n.filtersActive,onClick:t[2]||=e=>i(`reset-filters`)},{icon:g(()=>[W(D(B),{icon:`mdi:filter-remove`})]),default:g(()=>[k(` `+F(D(o)(`spacesModule.buttons.reset.title`)),1)]),_:1},8,[`disabled`])])],2)],64))}}),[[`__scopeId`,`data-v-2f65479c`]]),hn={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},gn={class:`flex items-center gap-2`},_n={class:`font-medium`},vn={class:`px-2`},yn={class:`flex items-center gap-2`},bn={class:`flex items-center gap-2`},xn={class:`flex items-center gap-2`},Sn={class:`font-medium`},Cn={class:`px-2`},wn={class:`flex items-center gap-2`},Tn={key:0,class:`flex gap-2 justify-end mt-4`},En=b({__name:`space-add-form`,props:{hideActions:{type:Boolean,default:!1}},emits:hn,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:o}=A(),{zoneSpaces:s}=ht(),{model:l,formEl:u,formChanged:d,submit:f,formResult:p,createdSpace:h}=xt({id:He().toString()}),_=H();T(_,e=>{u.value=e},{immediate:!0});let v=H([`general`,`organization`]),y=ne({icon:null,description:null}),b=R({get:()=>l.icon?.replace(`mdi:`,``)??null,set:e=>{l.icon=e?`mdi:${e}`:null}}),{categoryOptions:x,categoryGroups:S,currentTemplates:C}=Ct(R(()=>l.type));T(()=>l.type,e=>{l.category&&!Le(l.category,e)&&(l.category=null,l.icon===y.icon&&(l.icon=null,y.icon=null),l.description===y.description&&(l.description=null,y.description=null)),e===G.ZONE&&(l.parentId=null),_.value?.clearValidate()});let w=e=>{if(e&&C.value[e]){let t=C.value[e];(!l.icon||l.icon===y.icon)&&(l.icon=t.icon,y.icon=t.icon),(!l.description||l.description===y.description)&&(l.description=t.description,y.description=t.description)}},ee=R(()=>({name:[{required:!0,message:o(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:l.type===G.ZONE,message:o(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));T(()=>d.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0});let E=async()=>{try{await f(),h.value&&a(`saved`,h.value)}catch{}},te=()=>{a(`cancel`)};return t({submit:E}),(e,t)=>(r(),j(D(Se),{ref_key:`formElRef`,ref:_,model:D(l),rules:ee.value,"label-position":`top`,onSubmit:ue(E,[`prevent`])},{default:g(()=>[W(D(Ue),{modelValue:v.value,"onUpdate:modelValue":t[7]||=e=>v.value=e},{default:g(()=>[W(D(Qe),{name:`general`},{title:g(()=>[N(`div`,gn,[W(D(m),{size:20},{default:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1}),N(`span`,_n,F(D(o)(`spacesModule.edit.sections.general.title`)),1)])]),default:g(()=>[N(`div`,vn,[W(D(K),{label:D(o)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:g(()=>[W(D(be),{modelValue:D(l).name,"onUpdate:modelValue":t[0]||=e=>D(l).name=e,placeholder:D(o)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.type.title`),prop:`type`},{default:g(()=>[W(D(it),{modelValue:D(l).type,"onUpdate:modelValue":t[1]||=e=>D(l).type=e},{default:g(()=>[W(D(Q),{label:D(o)(`spacesModule.fields.spaces.type.options.room`),value:D(G).ROOM},null,8,[`label`,`value`]),W(D(Q),{label:D(o)(`spacesModule.fields.spaces.type.options.zone`),value:D(G).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:g(()=>[W(D(it),{modelValue:D(l).category,"onUpdate:modelValue":t[2]||=e=>D(l).category=e,placeholder:D(o)(`spacesModule.fields.spaces.category.placeholder`),clearable:D(l).type!==D(G).ZONE,onChange:w},{default:g(()=>[D(S)?(r(!0),U(I,{key:0},c(D(S),e=>(r(),j(D(Ve),{key:e.key,label:D(o)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:g(()=>[(r(!0),U(I,null,c(e.categories,e=>(r(),j(D(Q),{key:e,label:D(o)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:g(()=>[N(`span`,yn,[D(C)[e]?(r(),j(D(m),{key:0},{default:g(()=>[W(D(B),{icon:D(C)[e].icon},null,8,[`icon`])]),_:2},1024)):O(``,!0),k(` `+F(D(o)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),U(I,{key:1},c(D(x),e=>(r(),j(D(Q),{key:e,label:D(o)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:g(()=>[N(`span`,bn,[D(C)[e]?(r(),j(D(m),{key:0},{default:g(()=>[W(D(B),{icon:D(C)[e].icon},null,8,[`icon`])]),_:2},1024)):O(``,!0),k(` `+F(D(o)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),W(D(ke),{title:D(o)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`my-2!`},null,8,[`title`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:g(()=>[W(D(be),{modelValue:D(l).description,"onUpdate:modelValue":t[3]||=e=>D(l).description=e,type:`textarea`,rows:3,placeholder:D(o)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:g(()=>[W(D(ve),{modelValue:b.value,"onUpdate:modelValue":t[4]||=e=>b.value=e,placeholder:D(o)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:g(()=>[W(D(ut),{modelValue:D(l).displayOrder,"onUpdate:modelValue":t[5]||=e=>D(l).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),D(l).type===D(G).ROOM?(r(),j(D(Qe),{key:0,name:`organization`},{title:g(()=>[N(`div`,xn,[W(D(m),{size:20},{default:g(()=>[W(D(B),{icon:`mdi:sitemap`})]),_:1}),N(`span`,Sn,F(D(o)(`spacesModule.edit.sections.organization.title`)),1)])]),default:g(()=>[N(`div`,Cn,[W(D(K),{label:D(o)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:g(()=>[W(D(it),{modelValue:D(l).parentId,"onUpdate:modelValue":t[6]||=e=>D(l).parentId=e,placeholder:D(o)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:g(()=>[(r(!0),U(I,null,c(D(s),e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id},{default:g(()=>[N(`span`,wn,[e.icon?(r(),j(D(m),{key:0},{default:g(()=>[W(D(B),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):O(``,!0),k(` `+F(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(ke),{title:D(o)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):O(``,!0)]),_:1},8,[`modelValue`]),i.hideActions?O(``,!0):(r(),U(`div`,Tn,[W(D(M),{onClick:te},{default:g(()=>[k(F(D(o)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),W(D(M),{type:`primary`,loading:D(p)===D(je).WORKING,onClick:E},{default:g(()=>[k(F(D(o)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),Dn={saved:e=>typeof e==`object`,cancel:()=>!0,"update:remote-form-changed":e=>typeof e==`boolean`},On={class:`flex items-center gap-2`},kn={class:`font-medium`},An={class:`px-2`},jn={class:`flex items-center gap-2`},Mn={class:`flex items-center gap-2`},Nn={class:`flex items-center gap-2`},Pn={class:`font-medium`},Fn={class:`px-2`},In={class:`flex items-center gap-2`},Ln={class:`flex items-center gap-2`},Rn={class:`font-medium`},zn={class:`px-2`},Bn={class:`border border-solid border-gray-200 rounded-lg p-4 mb-2`},Vn={class:`flex items-center justify-between mb-3`},Hn={class:`flex items-center gap-2`},Un={class:`font-medium`},Wn={class:`flex items-center gap-2`},Gn={class:`font-medium`},Kn={class:`px-2`},qn={key:0,class:`flex gap-2 justify-end mt-4`},Jn=b({__name:`space-edit-form`,props:{space:{},hideActions:{type:Boolean,default:!1}},emits:Dn,setup(e,{expose:t,emit:n}){let i=e,a=n,{t:o}=A(),{zoneSpaces:s,findById:l}=ht(),{model:u,formEl:d,formChanged:f,submit:p,formResult:h}=vt({space:R(()=>i.space)}),_=H();T(_,e=>{d.value=e},{immediate:!0});let v=H([`general`,`organization`]),y=ne({icon:null,description:null}),b=R({get:()=>u.icon?.replace(`mdi:`,``)??null,set:e=>{u.icon=e?`mdi:${e}`:null}}),{categoryOptions:x,categoryGroups:S,currentTemplates:C}=Ct(R(()=>u.type)),w=R(()=>s.value.filter(e=>!i.space||e.id!==i.space.id)),ee=()=>u.statusWidgets?.find(e=>e.type===Ie.ENERGY),E=R(()=>!!ee()),te=R(()=>[{label:o(`spacesModule.fields.spaces.statusWidgets.energy.range.options.today`),value:Je.TODAY},{label:o(`spacesModule.fields.spaces.statusWidgets.energy.range.options.week`),value:Je.WEEK},{label:o(`spacesModule.fields.spaces.statusWidgets.energy.range.options.month`),value:Je.MONTH}]),re=R({get:()=>ee()?.settings?.range??_e.range,set:e=>{let t=ee();t&&(t.settings={...t.settings,range:e})}}),ie=R({get:()=>ee()?.settings?.showProduction??_e.showProduction,set:e=>{let t=ee();t&&(t.settings={...t.settings,showProduction:e})}}),ae=e=>{if(e){let e=u.statusWidgets??[];if(e.some(e=>e.type===Ie.ENERGY))return;e.push({type:Ie.ENERGY,order:e.length,settings:{range:_e.range,showProduction:_e.showProduction}}),u.statusWidgets=e}else{let e=(u.statusWidgets??[]).filter(e=>e.type!==Ie.ENERGY);u.statusWidgets=e.length>0?e:null}};T(()=>u.type,e=>{u.category&&!Le(u.category,e)&&(u.category=null,u.icon===y.icon&&(u.icon=null,y.icon=null),u.description===y.description&&(u.description=null,y.description=null)),e===G.ZONE&&(u.parentId=null),_.value?.clearValidate()});let P=e=>{if(e&&C.value[e]){let t=C.value[e];(!u.icon||u.icon===y.icon)&&(u.icon=t.icon,y.icon=t.icon),(!u.description||u.description===y.description)&&(u.description=t.description,y.description=t.description)}},L=R(()=>({name:[{required:!0,message:o(`spacesModule.fields.spaces.name.validation.required`),trigger:`blur`}],category:[{required:u.type===G.ZONE,message:o(`spacesModule.fields.spaces.category.validation.requiredForZone`),trigger:`blur`}]}));T(()=>f.value,e=>{a(`update:remote-form-changed`,e)},{immediate:!0}),T(()=>i.space,e=>{e&&(y.icon=null,y.description=null)});let oe=async()=>{try{await p();let e=l(u.id);e&&a(`saved`,e)}catch{}},se=()=>{a(`cancel`)};return t({submit:oe}),(t,n)=>(r(),j(D(Se),{ref_key:`formRef`,ref:_,model:D(u),rules:L.value,"label-position":`top`,onSubmit:ue(oe,[`prevent`])},{default:g(()=>[W(D(Ue),{modelValue:v.value,"onUpdate:modelValue":n[9]||=e=>v.value=e},{default:g(()=>[W(D(Qe),{name:`general`},{title:g(()=>[N(`div`,On,[W(D(m),{size:20},{default:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1}),N(`span`,kn,F(D(o)(`spacesModule.edit.sections.general.title`)),1)])]),default:g(()=>[N(`div`,An,[W(D(K),{label:D(o)(`spacesModule.fields.spaces.name.title`),prop:`name`},{default:g(()=>[W(D(be),{modelValue:D(u).name,"onUpdate:modelValue":n[0]||=e=>D(u).name=e,placeholder:D(o)(`spacesModule.fields.spaces.name.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.category.title`),prop:`category`},{default:g(()=>[W(D(it),{modelValue:D(u).category,"onUpdate:modelValue":n[1]||=e=>D(u).category=e,placeholder:D(o)(`spacesModule.fields.spaces.category.placeholder`),clearable:D(u).type!==D(G).ZONE,onChange:P},{default:g(()=>[D(S)?(r(!0),U(I,{key:0},c(D(S),e=>(r(),j(D(Ve),{key:e.key,label:D(o)(`spacesModule.fields.spaces.category.groups.${e.key}`)},{default:g(()=>[(r(!0),U(I,null,c(e.categories,e=>(r(),j(D(Q),{key:e,label:D(o)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:g(()=>[N(`span`,jn,[D(C)[e]?(r(),j(D(m),{key:0},{default:g(()=>[W(D(B),{icon:D(C)[e].icon},null,8,[`icon`])]),_:2},1024)):O(``,!0),k(` `+F(D(o)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),U(I,{key:1},c(D(x),e=>(r(),j(D(Q),{key:e,label:D(o)(`spacesModule.fields.spaces.category.options.${e}`),value:e},{default:g(()=>[N(`span`,Mn,[D(C)[e]?(r(),j(D(m),{key:0},{default:g(()=>[W(D(B),{icon:D(C)[e].icon},null,8,[`icon`])]),_:2},1024)):O(``,!0),k(` `+F(D(o)(`spacesModule.fields.spaces.category.options.${e}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`clearable`])]),_:1},8,[`label`]),W(D(ke),{title:D(o)(`spacesModule.fields.spaces.category.hint`),type:`info`,closable:!1,"show-icon":``,class:`!my-2`},null,8,[`title`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.description.title`),prop:`description`},{default:g(()=>[W(D(be),{modelValue:D(u).description,"onUpdate:modelValue":n[2]||=e=>D(u).description=e,type:`textarea`,rows:3,placeholder:D(o)(`spacesModule.fields.spaces.description.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.icon.title`),prop:`icon`},{default:g(()=>[W(D(ve),{modelValue:b.value,"onUpdate:modelValue":n[3]||=e=>b.value=e,placeholder:D(o)(`spacesModule.fields.spaces.icon.placeholder`)},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(K),{label:D(o)(`spacesModule.fields.spaces.displayOrder.title`),prop:`displayOrder`},{default:g(()=>[W(D(ut),{modelValue:D(u).displayOrder,"onUpdate:modelValue":n[4]||=e=>D(u).displayOrder=e,min:0},null,8,[`modelValue`])]),_:1},8,[`label`])])]),_:1}),D(u).type===D(G).ROOM?(r(),j(D(Qe),{key:0,name:`organization`},{title:g(()=>[N(`div`,Nn,[W(D(m),{size:20},{default:g(()=>[W(D(B),{icon:`mdi:sitemap`})]),_:1}),N(`span`,Pn,F(D(o)(`spacesModule.edit.sections.organization.title`)),1)])]),default:g(()=>[N(`div`,Fn,[W(D(K),{label:D(o)(`spacesModule.fields.spaces.parentZone.title`),prop:`parentId`},{default:g(()=>[W(D(it),{modelValue:D(u).parentId,"onUpdate:modelValue":n[5]||=e=>D(u).parentId=e,placeholder:D(o)(`spacesModule.fields.spaces.parentZone.placeholder`),clearable:``,filterable:``},{default:g(()=>[(r(!0),U(I,null,c(w.value,e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id},{default:g(()=>[N(`span`,In,[e.icon?(r(),j(D(m),{key:0},{default:g(()=>[W(D(B),{icon:e.icon},null,8,[`icon`])]),_:2},1024)):O(``,!0),k(` `+F(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`label`]),W(D(ke),{title:D(o)(`spacesModule.edit.sections.organization.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})):O(``,!0),W(D(Qe),{name:`statusWidgets`},{title:g(()=>[N(`div`,Ln,[W(D(m),{size:20},{default:g(()=>[W(D(B),{icon:`mdi:view-dashboard-variant`})]),_:1}),N(`span`,Rn,F(D(o)(`spacesModule.edit.sections.statusWidgets.title`)),1)])]),default:g(()=>[N(`div`,zn,[W(D(ke),{title:D(o)(`spacesModule.edit.sections.statusWidgets.hint`),type:`info`,closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`]),N(`div`,Bn,[N(`div`,Vn,[N(`div`,Hn,[W(D(B),{icon:`mdi:flash-outline`,class:`text-lg`}),N(`span`,Un,F(D(o)(`spacesModule.fields.spaces.statusWidgets.energy.title`)),1)]),W(D(De),{"model-value":E.value,onChange:ae},null,8,[`model-value`])]),E.value?(r(),U(I,{key:0},[W(D(K),{label:D(o)(`spacesModule.fields.spaces.statusWidgets.energy.range.title`)},{default:g(()=>[W(D(nn),{modelValue:re.value,"onUpdate:modelValue":n[6]||=e=>re.value=e,options:te.value,block:``},null,8,[`modelValue`,`options`])]),_:1},8,[`label`]),W(D(K),{"label-position":`left`},{label:g(()=>[k(F(D(o)(`spacesModule.fields.spaces.statusWidgets.energy.showProduction.title`)),1)]),default:g(()=>[W(D(De),{modelValue:ie.value,"onUpdate:modelValue":n[7]||=e=>ie.value=e},null,8,[`modelValue`])]),_:1})],64)):O(``,!0)])])]),_:1}),W(D(Qe),{name:`smartOverrides`},{title:g(()=>[N(`div`,Wn,[W(D(m),{size:20},{default:g(()=>[W(D(B),{icon:`mdi:tune`})]),_:1}),N(`span`,Gn,F(D(o)(`spacesModule.edit.sections.smartOverrides.title`)),1),W(D(J),{size:`small`,type:`info`},{default:g(()=>[k(F(D(o)(`spacesModule.edit.sections.smartOverrides.badge`)),1)]),_:1})])]),default:g(()=>[N(`div`,Kn,[W(D(ke),{title:D(o)(`spacesModule.edit.sections.smartOverrides.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`]),W(D(K),{prop:`suggestionsEnabled`,"label-position":`left`},{label:g(()=>[k(F(D(o)(`spacesModule.fields.spaces.suggestionsEnabled.title`)),1)]),default:g(()=>[W(D(De),{modelValue:D(u).suggestionsEnabled,"onUpdate:modelValue":n[8]||=e=>D(u).suggestionsEnabled=e},null,8,[`modelValue`])]),_:1}),W(D(ke),{title:D(o)(`spacesModule.fields.spaces.suggestionsEnabled.hint`),type:`info`,closable:!1,"show-icon":``},null,8,[`title`])])]),_:1})]),_:1},8,[`modelValue`]),e.hideActions?O(``,!0):(r(),U(`div`,qn,[W(D(M),{onClick:se},{default:g(()=>[k(F(D(o)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),W(D(M),{type:`primary`,loading:D(h)===D(je).WORKING,onClick:oe},{default:g(()=>[k(F(D(o)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]))]),_:1},8,[`model`,`rules`]))}}),Yn={key:1,class:`flex justify-center py-4`},Xn={class:`flex items-center gap-2`},Zn={class:`flex flex-col`},Qn={key:0,class:`text-xs text-gray-400`},$n={class:`flex gap-1`},er={class:`flex justify-between items-center mt-4`},tr={class:`text-xs text-gray-400`},nr=b({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=A(),i=at(),a=ze(),{lightingSignal:o}=Tt(),s=H(!1),l=H(!1),d=H([]),f=R(()=>[{value:X.main,label:n(`spacesModule.lightingRoles.main`)},{value:X.task,label:n(`spacesModule.lightingRoles.task`)},{value:X.ambient,label:n(`spacesModule.lightingRoles.ambient`)},{value:X.accent,label:n(`spacesModule.lightingRoles.accent`)},{value:X.night,label:n(`spacesModule.lightingRoles.night`)},{value:X.other,label:n(`spacesModule.lightingRoles.other`)},{value:X.hidden,label:n(`spacesModule.lightingRoles.hidden`)}]),p=async()=>{s.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${z}/${q}/spaces/{id}/lighting/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasBrightness:e.has_brightness??!1,hasColorTemp:e.has_color_temp??!1,hasColor:e.has_color??!1}))}finally{s.value=!1}},m=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${z}/${q}/spaces/{id}/lighting/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update lighting role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${z}/${q}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear lighting role`);return}e.role=null}}catch{a.error(`Failed to update lighting role`)}},_=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${z}/${q}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await p(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{l.value=!1}};return T(()=>t.space?.id,e=>{e&&p()}),T(()=>o?.value,()=>{t.space?.id&&p()}),u(()=>{t.space?.id&&p()}),(t,i)=>(r(),U(`div`,{class:h({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(r(),j(D(tt),{key:0,"content-position":`left`,class:`mt-6!`},{default:g(()=>[k(F(D(n)(`spacesModule.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),W(D(ke),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.lightingRoles.description`)),1)]),_:1}),s.value&&d.value.length===0?(r(),U(`div`,Yn,[W(D(B),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||s.value?(r(),U(I,{key:2},[W(D(ct),{data:d.value,border:``,"max-height":`400px`},{default:g(()=>[W(D($),{prop:`deviceName`,label:D(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:g(({row:e})=>[N(`div`,Xn,[W(D(B),{icon:`mdi:lightbulb`}),N(`div`,Zn,[N(`span`,null,F(e.deviceName),1),e.channelName?(r(),U(`span`,Qn,F(e.channelName),1)):O(``,!0)])])]),_:1},8,[`label`]),W(D($),{label:D(n)(`spacesModule.fields.spaces.lightingRoles.role.title`),width:`160`},{default:g(({row:e})=>[W(D(it),{"model-value":e.role??``,placeholder:D(n)(`spacesModule.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>m(e,t)},{default:g(()=>[(r(!0),U(I,null,c(f.value,e=>(r(),j(D(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),W(D($),{label:``,width:`100`},{default:g(({row:e})=>[N(`div`,$n,[e.hasBrightness?(r(),j(D(J),{key:0,type:`info`,size:`small`},{default:g(()=>[...i[0]||=[k(`Dim`,-1)]]),_:1})):O(``,!0),e.hasColor?(r(),j(D(J),{key:1,type:`success`,size:`small`},{default:g(()=>[...i[1]||=[k(`RGB`,-1)]]),_:1})):O(``,!0)])]),_:1})]),_:1},8,[`data`]),N(`div`,er,[W(D(M),{size:`small`,loading:l.value,onClick:_},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),N(`div`,tr,F(D(n)(`spacesModule.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(r(),j(D(L),{key:3},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:lightbulb`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),rr={key:1,class:`flex justify-center py-4`},ir={class:`flex items-center gap-2`},ar={class:`flex flex-col`},or={key:0,class:`text-xs text-gray-400`},sr={class:`flex gap-1`},cr={class:`flex justify-between items-center mt-4`},lr={class:`text-xs text-gray-400 ml-4`},ur=b({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=A(),i=at(),a=ze(),{climateSignal:o}=Tt(),s=H(!1),l=H(!1),d=H([]),f=R(()=>[{value:Y.heating_only,label:n(`spacesModule.climateRoles.${Y.heating_only}`)},{value:Y.cooling_only,label:n(`spacesModule.climateRoles.${Y.cooling_only}`)},{value:Y.auto,label:n(`spacesModule.climateRoles.${Y.auto}`)},{value:Y.auxiliary,label:n(`spacesModule.climateRoles.${Y.auxiliary}`)},{value:Y.hidden,label:n(`spacesModule.climateRoles.${Y.hidden}`)}]),p=R(()=>[{value:Y.sensor,label:n(`spacesModule.climateRoles.${Y.sensor}`)},{value:Y.hidden,label:n(`spacesModule.climateRoles.${Y.hidden}`)}]),m=e=>e.deviceCategory===`sensor`?p.value:f.value,_=e=>{switch(e){case`thermostat`:return`mdi:thermostat`;case`heating_unit`:return`mdi:radiator`;case`water_heater`:return`mdi:water-boiler`;case`air_conditioner`:return`mdi:air-conditioner`;case`fan`:return`mdi:fan`;case`air_humidifier`:return`mdi:air-humidifier`;case`air_dehumidifier`:return`mdi:air-humidifier-off`;case`air_purifier`:return`mdi:air-purifier`;case`sensor`:return`mdi:thermometer`;default:return`mdi:thermostat-box`}},v=async()=>{s.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${z}/${q}/spaces/{id}/climate/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,deviceCategory:e.device_category??``,channelId:e.channel_id??null,channelName:e.channel_name??null,role:e.role?e.role:null,priority:e.priority??0,hasTemperature:e.has_temperature??!1,hasHumidity:e.has_humidity??!1}))}finally{s.value=!1}},y=async(e,n)=>{try{if(n){let r={device_id:e.deviceId,role:n};e.channelId&&(r.channel_id=e.channelId);let{error:o}=await i.client.POST(`/${z}/${q}/spaces/{id}/climate/roles`,{params:{path:{id:t.space.id}},body:{data:r}});if(o){a.error(`Failed to update climate role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${z}/${q}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(n){a.error(`Failed to clear climate role`);return}e.role=null}}catch{a.error(`Failed to update climate role`)}},b=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${z}/${q}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await v(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{l.value=!1}};return T(()=>t.space?.id,e=>{e&&v()}),T(()=>o?.value,()=>{t.space?.id&&v()}),u(()=>{t.space?.id&&v()}),(t,i)=>(r(),U(`div`,{class:h({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(r(),j(D(tt),{key:0,"content-position":`left`,class:`mt-6!`},{default:g(()=>[k(F(D(n)(`spacesModule.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),W(D(ke),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.climateRoles.description`)),1)]),_:1}),s.value&&d.value.length===0?(r(),U(`div`,rr,[W(D(B),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||s.value?(r(),U(I,{key:2},[W(D(ct),{data:d.value,border:``,"max-height":`400px`},{default:g(()=>[W(D($),{prop:`deviceName`,label:D(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:g(({row:e})=>[N(`div`,ir,[W(D(B),{icon:_(e.deviceCategory)},null,8,[`icon`]),N(`div`,ar,[N(`span`,null,F(e.deviceName),1),e.channelName?(r(),U(`span`,or,F(e.channelName),1)):O(``,!0)])])]),_:1},8,[`label`]),W(D($),{label:D(n)(`spacesModule.fields.spaces.climateRoles.role.title`),width:`200`},{default:g(({row:e})=>[W(D(it),{"model-value":e.role??``,placeholder:D(n)(`spacesModule.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>y(e,t)},{default:g(()=>[(r(!0),U(I,null,c(m(e),e=>(r(),j(D(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),W(D($),{label:``,width:`120`},{default:g(({row:e})=>[N(`div`,sr,[e.hasTemperature?(r(),j(D(J),{key:0,type:`warning`,size:`small`},{default:g(()=>[...i[0]||=[k(`Temp`,-1)]]),_:1})):O(``,!0),e.hasHumidity?(r(),j(D(J),{key:1,type:`info`,size:`small`},{default:g(()=>[...i[1]||=[k(`Humid`,-1)]]),_:1})):O(``,!0)])]),_:1})]),_:1},8,[`data`]),N(`div`,cr,[W(D(M),{size:`small`,loading:l.value,onClick:b},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),N(`div`,lr,F(D(n)(`spacesModule.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(r(),j(D(L),{key:3},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:thermostat`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),dr={key:1,class:`flex justify-center py-4`},fr={class:`flex items-center gap-2`},pr={class:`flex flex-col`},mr={key:0,class:`text-xs text-gray-400`},hr={class:`flex gap-1`},gr={class:`flex justify-between items-center mt-4`},_r={class:`text-xs text-gray-400`},vr=b({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=A(),i=at(),a=ze(),{coversSignal:o}=Tt(),s=H(!1),l=H(!1),d=H([]),f=R(()=>[{value:We.primary,label:n(`spacesModule.coversRoles.primary`)},{value:We.blackout,label:n(`spacesModule.coversRoles.blackout`)},{value:We.sheer,label:n(`spacesModule.coversRoles.sheer`)},{value:We.outdoor,label:n(`spacesModule.coversRoles.outdoor`)},{value:We.hidden,label:n(`spacesModule.coversRoles.hidden`)}]),p=async()=>{s.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${z}/${q}/spaces/{id}/covers/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map(e=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name,role:e.role?e.role:null,priority:e.priority??0,hasPosition:e.has_position??!1,hasCommand:e.has_command??!1,hasTilt:e.has_tilt??!1,coverType:e.cover_type??null}))}finally{s.value=!1}},m=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${z}/${q}/spaces/{id}/covers/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update covers role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${z}/${q}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear covers role`);return}e.role=null}}catch{a.error(`Failed to update covers role`)}},_=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${z}/${q}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await p(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{l.value=!1}};return T(()=>t.space?.id,e=>{e&&p()}),T(()=>o?.value,()=>{t.space?.id&&p()}),u(()=>{t.space?.id&&p()}),(t,i)=>(r(),U(`div`,{class:h({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(r(),j(D(tt),{key:0,"content-position":`left`,class:`mt-6!`},{default:g(()=>[k(F(D(n)(`spacesModule.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),W(D(ke),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.coversRoles.description`)),1)]),_:1}),s.value&&d.value.length===0?(r(),U(`div`,dr,[W(D(B),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||s.value?(r(),U(I,{key:2},[W(D(ct),{data:d.value,border:``,"max-height":`400px`},{default:g(()=>[W(D($),{prop:`deviceName`,label:D(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:g(({row:e})=>[N(`div`,fr,[W(D(B),{icon:`mdi:blinds`}),N(`div`,pr,[N(`span`,null,F(e.deviceName),1),e.channelName?(r(),U(`span`,mr,F(e.channelName),1)):O(``,!0)])])]),_:1},8,[`label`]),W(D($),{label:D(n)(`spacesModule.fields.spaces.coversRoles.role.title`),width:`160`},{default:g(({row:e})=>[W(D(it),{"model-value":e.role??``,placeholder:D(n)(`spacesModule.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>m(e,t)},{default:g(()=>[(r(!0),U(I,null,c(f.value,e=>(r(),j(D(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),W(D($),{label:``,width:`100`},{default:g(({row:e})=>[N(`div`,hr,[e.hasPosition?(r(),j(D(J),{key:0,type:`info`,size:`small`},{default:g(()=>[...i[0]||=[k(`Pos`,-1)]]),_:1})):O(``,!0),e.hasTilt?(r(),j(D(J),{key:1,type:`success`,size:`small`},{default:g(()=>[...i[1]||=[k(`Tilt`,-1)]]),_:1})):O(``,!0)])]),_:1})]),_:1},8,[`data`]),N(`div`,gr,[W(D(M),{size:`small`,loading:l.value,onClick:_},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),N(`div`,_r,F(D(n)(`spacesModule.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(r(),j(D(L),{key:3},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:blinds`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),yr={key:1,class:`flex justify-center py-4`},br={class:`flex items-center gap-2`},xr={class:`flex flex-col`},Sr={class:`text-xs text-gray-400`},Cr={class:`flex justify-between items-center mt-4`},wr={class:`text-xs text-gray-400 ml-4`},Tr=b({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let t=e,{t:n}=A(),i=at(),a=ze(),{sensorSignal:o}=Tt(),s=H(!1),l=H(!1),d=H([]),f=R(()=>we.map(e=>({value:e,label:n(`spacesModule.sensorRoles.${e}`)}))),p=e=>{switch(e){case`temperature`:return n(`spacesModule.sensorRoles.categories.temperature`);case`humidity`:return n(`spacesModule.sensorRoles.categories.humidity`);case`pressure`:return n(`spacesModule.sensorRoles.categories.pressure`);case`illuminance`:return n(`spacesModule.sensorRoles.categories.illuminance`);case`smoke`:return n(`spacesModule.sensorRoles.categories.smoke`);case`gas`:return n(`spacesModule.sensorRoles.categories.gas`);case`carbon_monoxide`:return n(`spacesModule.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return n(`spacesModule.sensorRoles.categories.carbon_dioxide`);case`leak`:return n(`spacesModule.sensorRoles.categories.leak`);case`motion`:return n(`spacesModule.sensorRoles.categories.motion`);case`occupancy`:return n(`spacesModule.sensorRoles.categories.occupancy`);case`contact`:return n(`spacesModule.sensorRoles.categories.contact`);case`air_quality`:return n(`spacesModule.sensorRoles.categories.air_quality`);case`air_particulate`:return n(`spacesModule.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return n(`spacesModule.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return n(`spacesModule.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return n(`spacesModule.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return n(`spacesModule.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return n(`spacesModule.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return n(`spacesModule.sensorRoles.categories.electrical_generation`);case`electrical_power`:return n(`spacesModule.sensorRoles.categories.electrical_power`);case`battery`:return n(`spacesModule.sensorRoles.categories.battery`);default:return e}},m=async()=>{s.value=!0;try{let{data:e,error:n}=await i.client.GET(`/${z}/${q}/spaces/{id}/sensors/targets`,{params:{path:{id:t.space.id}}});if(n||!e)return;d.value=(e.data??[]).map((e,t)=>({deviceId:e.device_id,deviceName:e.device_name,channelId:e.channel_id,channelName:e.channel_name??e.channel_category,channelCategory:e.channel_category,role:e.role?e.role:null,priority:e.priority??t}))}finally{s.value=!1}},_=async(e,n)=>{try{if(n){let{error:r}=await i.client.POST(`/${z}/${q}/spaces/{id}/sensors/roles`,{params:{path:{id:t.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:n}}});if(r){a.error(`Failed to update sensor role`);return}e.role=n}else{let{error:n}=await i.client.DELETE(`/${z}/${q}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:t.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(n){a.error(`Failed to clear sensor role`);return}e.role=null}}catch{a.error(`Failed to update sensor role`)}},v=async()=>{l.value=!0;try{let{data:e,error:n}=await i.client.POST(`/${z}/${q}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:t.space.id}}});if(n||!e){a.error(`Failed to apply default roles`);return}await m(),a.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{l.value=!1}};return T(()=>t.space?.id,e=>{e&&m()}),T(()=>o?.value,()=>{t.space?.id&&m()}),u(()=>{t.space?.id&&m()}),(t,i)=>(r(),U(`div`,{class:h({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(r(),j(D(tt),{key:0,"content-position":`left`,class:`mt-6!`},{default:g(()=>[k(F(D(n)(`spacesModule.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),W(D(ke),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.sensorRoles.description`)),1)]),_:1}),s.value&&d.value.length===0?(r(),U(`div`,yr,[W(D(B),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):d.value.length>0||s.value?(r(),U(I,{key:2},[W(D(ct),{data:d.value,border:``,"max-height":`400px`},{default:g(()=>[W(D($),{prop:`deviceName`,label:D(n)(`spacesModule.onboarding.deviceName`),"min-width":`180`},{default:g(({row:e})=>[N(`div`,br,[W(D(B),{icon:`mdi:motion-sensor`}),N(`div`,xr,[N(`span`,null,F(e.deviceName),1),N(`span`,Sr,F(e.channelName),1)])])]),_:1},8,[`label`]),W(D($),{label:D(n)(`spacesModule.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:g(({row:e})=>[W(D(J),{size:`small`,type:`info`},{default:g(()=>[k(F(p(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),W(D($),{label:D(n)(`spacesModule.fields.spaces.sensorRoles.role.title`),width:`200`},{default:g(({row:e})=>[W(D(it),{"model-value":e.role??``,placeholder:D(n)(`spacesModule.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>_(e,t)},{default:g(()=>[(r(!0),U(I,null,c(f.value,e=>(r(),j(D(Q),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`]),N(`div`,Cr,[W(D(M),{size:`small`,loading:l.value,onClick:v},{default:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),N(`div`,wr,F(D(n)(`spacesModule.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(r(),j(D(L),{key:3},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:motion-sensor`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(n)(`spacesModule.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),Er=b({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=R({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),j(D(Ze),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:D(a)(`spacesModule.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:g(()=>[W(D(M),{type:`primary`,onClick:s},{default:g(()=>[k(F(D(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:g(()=>[W(nr,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Dr=b({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=R({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),j(D(Ze),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:D(a)(`spacesModule.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:g(()=>[W(D(M),{type:`primary`,onClick:s},{default:g(()=>[k(F(D(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:g(()=>[W(ur,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Or=b({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=R({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),j(D(Ze),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:D(a)(`spacesModule.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:g(()=>[W(D(M),{type:`primary`,onClick:s},{default:g(()=>[k(F(D(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:g(()=>[W(vr,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),kr=b({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=R({get:()=>n.visible,set:e=>i(`update:visible`,e)}),s=()=>{i(`roles-changed`),o.value=!1};return(e,t)=>(r(),j(D(Ze),{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:D(a)(`spacesModule.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:s},{footer:g(()=>[W(D(M),{type:`primary`,onClick:s},{default:g(()=>[k(F(D(a)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:g(()=>[W(Tr,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Ar={class:`flex items-start gap-3`},jr={class:`flex-1 min-w-0 space-domain-card__content`},Mr={class:`space-domain-card__title`},Nr={class:`space-domain-card__description`},Pr={class:`space-domain-card__tags`},Fr={class:`flex items-center gap-1`},Ir={key:2,class:`space-domain-card__not-configured`},Lr={class:`space-domain-card__chevron`},Rr=ae(b({name:`SpaceDomainCard`,__name:`space-domain-card`,props:{icon:{},iconColor:{},title:{},description:{},tags:{},loading:{type:Boolean}},emits:[`click`],setup(e,{emit:n}){let i=e,a=n,{t:o}=A();return(e,n)=>(r(),j(D(nt),{shadow:`hover`,class:`space-domain-card`,"body-class":`p-4!`,onClick:n[0]||=e=>a(`click`)},{default:g(()=>[N(`div`,Ar,[N(`div`,{class:`space-domain-card__icon`,style:t({backgroundColor:`var(--el-color-${i.iconColor}-light-9)`,color:`var(--el-color-${i.iconColor})`})},[W(D(B),{icon:i.icon},null,8,[`icon`])],4),N(`div`,jr,[N(`h3`,Mr,F(i.title),1),N(`p`,Nr,F(i.description),1),N(`div`,Pr,[i.loading?(r(),j(D(lt),{key:0,animated:``,rows:0,class:`w-20`})):i.tags.length>0?(r(!0),U(I,{key:1},c(i.tags,e=>(r(),j(D(J),{key:e.label,type:e.type,size:`small`},{default:g(()=>[N(`div`,Fr,[W(D(B),{icon:e.icon},null,8,[`icon`]),k(` `+F(e.label)+` `,1),W(D(rt),{value:e.count,type:e.type,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`]))),128)):(r(),U(`span`,Ir,F(D(o)(`spacesModule.detail.domains.notConfigured`)),1))])]),N(`div`,Lr,[W(D(B),{icon:`mdi:chevron-right`})])])]),_:1}))}}),[[`__scopeId`,`data-v-c693d882`]]),zr=[`element-loading-text`],Br={class:`flex items-center gap-3 flex-1 pr-2`},Vr={class:`font-medium text-sm`},Hr={class:`flex items-center justify-between w-full`},Ur={class:`flex gap-1 ml-2`},Wr={class:`flex items-center justify-between w-full`},Gr={class:`flex gap-1 ml-2`},Kr={class:`flex items-center justify-between w-full`},qr={class:`flex gap-1 ml-2`},Jr={class:`flex justify-between items-center mt-2`},Yr={class:`flex items-center gap-2`},Xr={class:`text-xs text-gray-400`},Zr=b({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(t,{emit:i}){let a=t,o=i,{t:s}=A(),l=ze(),u=R({get:()=>a.visible,set:e=>o(`update:visible`,e)}),{endpoints:d,activeState:f,fetchingEndpoints:p,fetchingBindings:m,activating:_,deactivating:v,applyingDefaults:y,activationError:b,fetchEndpoints:x,fetchBindings:S,fetchActiveState:C,activate:w,deactivate:ee,saveBinding:E,createBinding:te,deleteBinding:re,applyDefaults:ie,findBindingByActivity:ae,endpointsByType:P}=Et(R(()=>a.space?.id)),L=[Z.watch,Z.listen,Z.gaming,Z.background],oe=H(``),se=H(null),z=H(!1),ce=R(()=>p.value||m.value),le=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),V=ne({[Z.watch]:le(),[Z.listen]:le(),[Z.gaming]:le(),[Z.background]:le()}),de=ne({[Z.watch]:le(),[Z.listen]:le(),[Z.gaming]:le(),[Z.background]:le()}),fe=ne({[Z.watch]:!1,[Z.listen]:!1,[Z.gaming]:!1,[Z.background]:!1}),pe=ne({[Z.watch]:null,[Z.listen]:null,[Z.gaming]:null,[Z.background]:null}),me=P(Xe.display),he=P(Xe.audio_output),ge=P(Xe.source),_e=P(Xe.remote_target),ve=(e,t)=>{V[e].displayEndpointId=t?.displayEndpointId??``,V[e].audioEndpointId=t?.audioEndpointId??``,V[e].sourceEndpointId=t?.sourceEndpointId??``,V[e].remoteEndpointId=t?.remoteEndpointId??``,V[e].displayInputId=t?.displayInputId??``,V[e].audioInputId=t?.audioInputId??``,V[e].sourceInputId=t?.sourceInputId??``,V[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(de[e],{...V[e]})},ye=()=>{for(let e of L)ve(e,ae(e))},xe=e=>{let t=V[e],n=de[e];return t.displayEndpointId!==n.displayEndpointId||t.audioEndpointId!==n.audioEndpointId||t.sourceEndpointId!==n.sourceEndpointId||t.remoteEndpointId!==n.remoteEndpointId||t.displayInputId!==n.displayInputId||t.audioInputId!==n.audioInputId||t.sourceInputId!==n.sourceInputId||t.audioVolumePreset!==n.audioVolumePreset},Ce=(e,t)=>{let n=V[e][t];return n?d.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},we=e=>{let t=V[e].audioEndpointId;return t?d.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Te=e=>{let t=d.value.find(t=>t.endpointId===e);return t?.links?.inputSelect?.dataType===`enum`&&Array.isArray(t.links.inputSelect.format)&&t.links.inputSelect.format.length>0?{type:`select`,options:t.links.inputSelect.format}:{type:`text`}},Ee=e=>{let t=Te(e);return t.type===`select`?t.options:[]},G=e=>{let t=`spacesModule.media.activities.mediaInputSources.${e}`,n=s(t);return n===t?String(e):n},De=e=>{let t=` (${s(`spacesModule.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},Oe=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Ae=e=>{let t=f.value?.activityKey===e&&f.value?.state!==`deactivated`,n=t?f.value.state:void 0,r=ae(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},je=e=>{let{isActive:t,state:n}=Ae(e);return t&&n?Oe(n):_t(e)},Me=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Ae(e);return s(t?`spacesModule.media.activities.activationState.${n}`:r?i?`spacesModule.media.activities.status.configured`:`spacesModule.media.activities.status.incomplete`:`spacesModule.media.activities.status.unconfigured`)},q=new Map,Ne=e=>{let t=V[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:Ce(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:Ce(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:Ce(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:we(e)?t.audioVolumePreset:null}},Pe=async e=>{if(!fe[e]){fe[e]=!0,pe[e]=null;try{let t=ae(e),n=Ne(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...V[e]};r&&t?(await re(t.id),ve(e,void 0),Object.assign(de[e],i)):r?Object.assign(de[e],i):t?(await E(t.id,n),Object.assign(de[e],i)):(await te(e,n),Object.assign(de[e],i))}catch(t){pe[e]=t instanceof Error?t.message:`Failed to save`}finally{fe[e]=!1}}},Ie=e=>{let t=q.get(e);t&&clearTimeout(t),q.set(e,setTimeout(()=>{q.delete(e),Pe(e)},500))};for(let e of L)T(()=>V[e],()=>{!z.value||!xe(e)||Ie(e)},{deep:!0}),T(()=>V[e].displayEndpointId,()=>{z.value&&(V[e].displayInputId=``)}),T(()=>V[e].audioEndpointId,()=>{z.value&&(V[e].audioInputId=``,V[e].audioVolumePreset=30)}),T(()=>V[e].sourceEndpointId,()=>{z.value&&(V[e].sourceInputId=``)});let Le=async e=>{se.value=e;try{await w(e),l.success(s(`spacesModule.media.activities.activateSuccess`))}catch{l.error(s(`spacesModule.media.activities.activateFailed`))}finally{se.value=null}},Re=async()=>{try{await ee(),l.success(s(`spacesModule.media.activities.deactivateSuccess`))}catch{b.value=null,l.error(s(`spacesModule.media.activities.deactivateFailed`))}},Be=async()=>{z.value=!1;try{await ie(),ye(),l.success(s(`spacesModule.media.activities.defaultsApplied`))}catch{l.error(s(`spacesModule.media.activities.defaultsFailed`))}await n(),z.value=!0},Y=async()=>{z.value=!1,await Promise.all([x(),S(),C()]),ye(),await n(),z.value=!0},Ve=async()=>{z.value=!1;let e=[],t=new Set;for(let[n,r]of q)clearTimeout(r),t.add(n),e.push(Pe(n));q.clear();for(let n of L)!t.has(n)&&xe(n)&&e.push(Pe(n));await Promise.allSettled(e),o(`bindings-changed`),u.value=!1};return(t,n)=>(r(),j(D(Ze),{modelValue:u.value,"onUpdate:modelValue":n[2]||=e=>u.value=e,title:D(s)(`spacesModule.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:Y,onClose:Ve},{footer:g(()=>[W(D(M),{type:`primary`,onClick:Ve},{default:g(()=>[k(F(D(s)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:g(()=>[e((r(),U(`div`,{"element-loading-text":D(s)(`spacesModule.media.activities.loading`),class:`flex flex-col gap-4`},[W(D(ke),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:g(()=>[k(F(D(s)(`spacesModule.media.activities.description`)),1)]),_:1}),W(D(Ue),{modelValue:oe.value,"onUpdate:modelValue":n[0]||=e=>oe.value=e,accordion:``},{default:g(()=>[(r(),U(I,null,c(L,e=>W(D(Qe),{key:e,name:e},{title:g(()=>[N(`div`,Br,[W(D(B),{icon:D(St)(e),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),N(`span`,Vr,F(D(s)(`spacesModule.media.activityLabels.${e}`)),1),W(D(J),{type:je(e),size:`small`,round:``},{default:g(()=>[k(F(Me(e)),1)]),_:2},1032,[`type`]),fe[e]?(r(),j(D(B),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):O(``,!0),n[3]||=N(`div`,{class:`flex-1`},null,-1),W(D(M),{size:`small`,type:`success`,circle:``,loading:D(_)&&se.value===e,disabled:D(_)||D(v)||D(f)?.state===`activating`,title:D(s)(`spacesModule.media.activities.run`),onClick:ue(t=>Le(e),[`stop`])},{icon:g(()=>[W(D(B),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:g(()=>[W(D(Se),{"label-position":`top`,class:`flex flex-col gap-2`},{default:g(()=>[N(`div`,{class:h(Ce(e,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[W(D(K),{label:D(s)(`spacesModule.media.activities.slots.display`)},{default:g(()=>[W(D(it),{modelValue:V[e].displayEndpointId,"onUpdate:modelValue":t=>V[e].displayEndpointId=t,placeholder:D(s)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(D(me),e=>(r(),j(D(Q),{key:e.endpointId,label:De(e),value:e.endpointId},{default:g(()=>[N(`div`,Hr,[N(`span`,null,F(De(e)),1),N(`div`,Ur,[e.capabilities.inputSelect?(r(),j(D(J),{key:0,size:`small`,type:`info`},{default:g(()=>[k(F(D(s)(`spacesModule.media.capabilities.input`)),1)]),_:1})):O(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`displayEndpointId`)?(r(),j(D(K),{key:0,label:D(s)(`spacesModule.media.activities.overrides.displayInput`)},{default:g(()=>[Te(V[e].displayEndpointId).type===`select`?(r(),j(D(it),{key:0,modelValue:V[e].displayInputId,"onUpdate:modelValue":t=>V[e].displayInputId=t,placeholder:D(s)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(Ee(V[e].displayEndpointId),e=>(r(),j(D(Q),{key:String(e),label:G(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),j(D(be),{key:1,modelValue:V[e].displayInputId,"onUpdate:modelValue":t=>V[e].displayInputId=t,placeholder:D(s)(`spacesModule.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):O(``,!0)],2),N(`div`,{class:h(Ce(e,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[W(D(K),{label:D(s)(`spacesModule.media.activities.slots.audio`)},{default:g(()=>[W(D(it),{modelValue:V[e].audioEndpointId,"onUpdate:modelValue":t=>V[e].audioEndpointId=t,placeholder:D(s)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(D(he),e=>(r(),j(D(Q),{key:e.endpointId,label:De(e),value:e.endpointId},{default:g(()=>[N(`div`,Wr,[N(`span`,null,F(De(e)),1),N(`div`,Gr,[e.capabilities.volume?(r(),j(D(J),{key:0,size:`small`,type:`info`},{default:g(()=>[k(F(D(s)(`spacesModule.media.capabilities.volume`)),1)]),_:1})):O(``,!0),e.capabilities.inputSelect?(r(),j(D(J),{key:1,size:`small`,type:`info`},{default:g(()=>[k(F(D(s)(`spacesModule.media.capabilities.input`)),1)]),_:1})):O(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`audioEndpointId`)?(r(),j(D(K),{key:0,label:D(s)(`spacesModule.media.activities.overrides.audioInput`)},{default:g(()=>[Te(V[e].audioEndpointId).type===`select`?(r(),j(D(it),{key:0,modelValue:V[e].audioInputId,"onUpdate:modelValue":t=>V[e].audioInputId=t,placeholder:D(s)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(Ee(V[e].audioEndpointId),e=>(r(),j(D(Q),{key:String(e),label:G(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),j(D(be),{key:1,modelValue:V[e].audioInputId,"onUpdate:modelValue":t=>V[e].audioInputId=t,placeholder:D(s)(`spacesModule.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):O(``,!0)],2),we(e)?(r(),j(D(K),{key:0,label:D(s)(`spacesModule.media.activities.overrides.audioVolume`)},{default:g(()=>[W(D(Xt),{modelValue:V[e].audioVolumePreset,"onUpdate:modelValue":t=>V[e].audioVolumePreset=t,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):O(``,!0),N(`div`,{class:h(Ce(e,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[W(D(K),{label:D(s)(`spacesModule.media.activities.slots.source`)},{default:g(()=>[W(D(it),{modelValue:V[e].sourceEndpointId,"onUpdate:modelValue":t=>V[e].sourceEndpointId=t,placeholder:D(s)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(D(ge),e=>(r(),j(D(Q),{key:e.endpointId,label:De(e),value:e.endpointId},{default:g(()=>[N(`div`,Kr,[N(`span`,null,F(De(e)),1),N(`div`,qr,[e.capabilities.inputSelect?(r(),j(D(J),{key:0,size:`small`,type:`info`},{default:g(()=>[k(F(D(s)(`spacesModule.media.capabilities.input`)),1)]),_:1})):O(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Ce(e,`sourceEndpointId`)?(r(),j(D(K),{key:0,label:D(s)(`spacesModule.media.activities.overrides.sourceInput`)},{default:g(()=>[Te(V[e].sourceEndpointId).type===`select`?(r(),j(D(it),{key:0,modelValue:V[e].sourceInputId,"onUpdate:modelValue":t=>V[e].sourceInputId=t,placeholder:D(s)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(Ee(V[e].sourceEndpointId),e=>(r(),j(D(Q),{key:String(e),label:G(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(r(),j(D(be),{key:1,modelValue:V[e].sourceInputId,"onUpdate:modelValue":t=>V[e].sourceInputId=t,placeholder:D(s)(`spacesModule.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):O(``,!0)],2),W(D(K),{label:D(s)(`spacesModule.media.activities.slots.remote`)},{default:g(()=>[W(D(it),{modelValue:V[e].remoteEndpointId,"onUpdate:modelValue":t=>V[e].remoteEndpointId=t,placeholder:D(s)(`spacesModule.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(D(_e),e=>(r(),j(D(Q),{key:e.endpointId,label:De(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),pe[e]?(r(),j(D(ke),{key:1,type:`error`,title:D(s)(`spacesModule.media.activities.saveError`),description:pe[e],"show-icon":``,closable:``,onClose:t=>pe[e]=null},null,8,[`title`,`description`,`onClose`])):O(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),N(`div`,Jr,[N(`div`,Yr,[W(D(M),{size:`small`,loading:D(y),onClick:Be},{default:g(()=>[k(F(D(s)(`spacesModule.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),D(f)&&D(f).state!==`deactivated`?(r(),j(D(M),{key:0,size:`small`,type:`warning`,loading:D(v),disabled:D(_),onClick:Re},{icon:g(()=>[W(D(B),{icon:`mdi:stop`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):O(``,!0)]),N(`div`,Xr,F(D(s)(`spacesModule.media.activities.applyDefaultsHint`)),1)]),D(b)?(r(),j(D(ke),{key:0,type:`error`,title:D(s)(`spacesModule.media.activities.activateFailed`),description:D(b),"show-icon":``,closable:``,onClose:n[1]||=e=>b.value=null},null,8,[`title`,`description`])):O(``,!0)],8,zr)),[[D(Fe),ce.value]])]),_:1},8,[`modelValue`,`title`]))}}),Qr={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},$r=b({name:`SpaceDomainsSection`,__name:`space-domains-section`,props:{space:{}},setup(e,{expose:t}){let n=e,{t:i}=A(),a=at(),{lightingSignal:o,climateSignal:s,coversSignal:l,sensorSignal:d}=Tt(),f=H(!1),p=H(!1),m=H(!1),h=H(!1),g=H(!1),_=H(!1),v=H([]),y=e=>{switch(e){case X.main:return`primary`;case X.task:return`warning`;case X.ambient:return`success`;case X.accent:return`danger`;case X.night:default:return`info`}},b=e=>{switch(e){case X.main:return`mdi:lightbulb`;case X.task:return`mdi:desk-lamp`;case X.ambient:return`mdi:lightbulb-group`;case X.accent:return`mdi:spotlight-beam`;case X.night:return`mdi:weather-night`;default:return`mdi:lightbulb-outline`}},x=async()=>{if(n.space?.id){_.value=!0;try{let{data:e,error:t}=await a.client.GET(`/${z}/${q}/spaces/{id}/lighting/targets`,{params:{path:{id:n.space.id}}});if(t||!e){v.value=[];return}let r=e.data??[],o=new Map;for(let e of r){if(!e.role)continue;let t=e.role;o.set(t,(o.get(t)??0)+1)}let s=[X.main,X.task,X.ambient,X.accent,X.night,X.other];v.value=Array.from(o.entries()).sort(([e],[t])=>s.indexOf(e)-s.indexOf(t)).map(([e,t])=>({label:i(`spacesModule.lightingRoles.${e}`),type:y(e),icon:b(e),count:t}))}finally{_.value=!1}}},S=H(!1),C=H([]),w=e=>{switch(e){case Y.heating_only:return`danger`;case Y.cooling_only:return`primary`;case Y.auto:return`success`;case Y.auxiliary:return`warning`;default:return`info`}},ee=e=>{switch(e){case Y.heating_only:return`mdi:fire`;case Y.cooling_only:return`mdi:snowflake`;case Y.auto:return`mdi:thermostat-auto`;case Y.auxiliary:return`mdi:radiator`;case Y.sensor:return`mdi:thermometer`;default:return`mdi:eye-off`}},E=async()=>{if(n.space?.id){S.value=!0;try{let{data:e,error:t}=await a.client.GET(`/${z}/${q}/spaces/{id}/climate/targets`,{params:{path:{id:n.space.id}}});if(t||!e){C.value=[];return}let r=e.data??[],o=new Map;for(let e of r){if(!e.role||e.role===Y.hidden)continue;let t=e.role;o.set(t,(o.get(t)??0)+1)}let s=[Y.heating_only,Y.cooling_only,Y.auto,Y.auxiliary,Y.sensor];C.value=Array.from(o.entries()).sort(([e],[t])=>s.indexOf(e)-s.indexOf(t)).map(([e,t])=>({label:i(`spacesModule.climateRoles.${e}`),type:w(e),icon:ee(e),count:t}))}finally{S.value=!1}}},D=H(!1),O=H([]),te=e=>{switch(e){case We.primary:return`primary`;case We.blackout:return`danger`;case We.sheer:return`success`;case We.outdoor:return`warning`;default:return`info`}},k=e=>{switch(e){case We.primary:return`mdi:blinds`;case We.blackout:return`mdi:blinds-horizontal-closed`;case We.sheer:return`mdi:curtains`;case We.outdoor:return`mdi:window-shutter`;default:return`mdi:blinds-horizontal`}},ne=async()=>{if(n.space?.id){D.value=!0;try{let{data:e,error:t}=await a.client.GET(`/${z}/${q}/spaces/{id}/covers/targets`,{params:{path:{id:n.space.id}}});if(t||!e){O.value=[];return}let r=e.data??[],o=new Map;for(let e of r){if(!e.role)continue;let t=e.role;o.set(t,(o.get(t)??0)+1)}let s=[We.primary,We.blackout,We.sheer,We.outdoor,We.hidden];O.value=Array.from(o.entries()).sort(([e],[t])=>s.indexOf(e)-s.indexOf(t)).map(([e,t])=>({label:i(`spacesModule.coversRoles.${e}`),type:te(e),icon:k(e),count:t}))}finally{D.value=!1}}},re=H(!1),ie=H([]),ae=e=>{switch(e){case ye.ENVIRONMENT:return`success`;case ye.SAFETY:return`danger`;case ye.SECURITY:return`warning`;case ye.AIR_QUALITY:return`info`;case ye.ENERGY:return`primary`;default:return`info`}},M=e=>{switch(e){case ye.ENVIRONMENT:return`mdi:thermometer`;case ye.SAFETY:return`mdi:shield-alert`;case ye.SECURITY:return`mdi:motion-sensor`;case ye.AIR_QUALITY:return`mdi:air-filter`;case ye.ENERGY:return`mdi:lightning-bolt`;default:return`mdi:chart-line`}},P=async()=>{if(n.space?.id){re.value=!0;try{let{data:e,error:t}=await a.client.GET(`/${z}/${q}/spaces/{id}/sensors/targets`,{params:{path:{id:n.space.id}}});if(t||!e){ie.value=[];return}let r=e.data??[],o=new Map;for(let e of r){if(!e.role||e.role===ye.HIDDEN)continue;let t=e.role;o.set(t,(o.get(t)??0)+1)}ie.value=Array.from(o.entries()).sort(([e],[t])=>we.indexOf(e)-we.indexOf(t)).map(([e,t])=>({label:i(`spacesModule.sensorRoles.${e}`),type:ae(e),icon:M(e),count:t}))}finally{re.value=!1}}},{fetchEndpoints:F,fetchBindings:L,findBindingByActivity:oe}=Et(R(()=>n.space?.id)),se=H(!1),B=H([]),ce=[Z.watch,Z.listen,Z.gaming,Z.background],le=async()=>{if(n.space?.id){se.value=!0;try{await Promise.all([F(),L()]);let e=[];for(let t of ce){let n=oe(t);if(!n)continue;let r=[n.displayEndpointId,n.audioEndpointId,n.sourceEndpointId,n.remoteEndpointId].filter(Boolean).length;e.push({label:i(`spacesModule.media.activityLabels.${t}`),type:_t(t),icon:St(t),count:r})}B.value=e}catch{B.value=[]}finally{se.value=!1}}},ue=R(()=>[{key:`lighting`,icon:`mdi:lightbulb`,iconColor:`warning`,title:i(`spacesModule.detail.domains.lighting.title`),description:i(`spacesModule.detail.domains.lighting.description`),tags:v.value,loading:_.value,openDialog:()=>{f.value=!0}},{key:`climate`,icon:`mdi:thermostat`,iconColor:`danger`,title:i(`spacesModule.detail.domains.climate.title`),description:i(`spacesModule.detail.domains.climate.description`),tags:C.value,loading:S.value,openDialog:()=>{p.value=!0}},{key:`covers`,icon:`mdi:blinds`,iconColor:`primary`,title:i(`spacesModule.detail.domains.covers.title`),description:i(`spacesModule.detail.domains.covers.description`),tags:O.value,loading:D.value,openDialog:()=>{m.value=!0}},{key:`sensor`,icon:`mdi:chart-bell-curve`,iconColor:`success`,title:i(`spacesModule.detail.domains.sensor.title`),description:i(`spacesModule.detail.domains.sensor.description`),tags:ie.value,loading:re.value,openDialog:()=>{h.value=!0}},{key:`media`,icon:`mdi:play-box-multiple`,iconColor:`info`,title:i(`spacesModule.detail.domains.media.title`),description:i(`spacesModule.detail.domains.media.description`),tags:B.value,loading:se.value,openDialog:()=>{g.value=!0}}]),V=()=>{x(),E(),ne(),P(),le()};T(()=>o?.value,()=>{n.space?.id&&x()}),T(()=>s?.value,()=>{n.space?.id&&E()}),T(()=>l?.value,()=>{n.space?.id&&ne()}),T(()=>d?.value,()=>{n.space?.id&&P()}),T(()=>n.space?.id,e=>{e&&V()});let de=()=>{x()},fe=()=>{E()},pe=()=>{ne()},me=()=>{P()},he=()=>{le()};return u(()=>{n.space?.id&&V()}),t({reload:V}),(e,t)=>(r(),U(I,null,[N(`div`,Qr,[(r(!0),U(I,null,c(ue.value,e=>(r(),j(Rr,{key:e.key,icon:e.icon,"icon-color":e.iconColor,title:e.title,description:e.description,tags:e.tags,loading:e.loading,onClick:t=>e.openDialog()},null,8,[`icon`,`icon-color`,`title`,`description`,`tags`,`loading`,`onClick`]))),128))]),W(Er,{visible:f.value,"onUpdate:visible":t[0]||=e=>f.value=e,space:n.space,onRolesChanged:de},null,8,[`visible`,`space`]),W(Dr,{visible:p.value,"onUpdate:visible":t[1]||=e=>p.value=e,space:n.space,onRolesChanged:fe},null,8,[`visible`,`space`]),W(Or,{visible:m.value,"onUpdate:visible":t[2]||=e=>m.value=e,space:n.space,onRolesChanged:pe},null,8,[`visible`,`space`]),W(kr,{visible:h.value,"onUpdate:visible":t[3]||=e=>h.value=e,space:n.space,onRolesChanged:me},null,8,[`visible`,`space`]),W(Zr,{visible:g.value,"onUpdate:visible":t[4]||=e=>g.value=e,space:n.space,onBindingsChanged:he},null,8,[`visible`,`space`])],64))}}),ei={class:`grid m-0`},ti={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ni={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},ri={class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ii={class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},ai={key:0,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},oi={key:1,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center min-w-[8rem]`},si={key:2,class:`b-b b-b-solid b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ci={key:3,class:`col-start-2 b-b b-b-solid m-0 p-2 flex items-center gap-2 min-w-[8rem]`},li={key:4,class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},ui={key:5,class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},di={class:`flex items-center gap-1`},fi={key:1,class:`text-gray-400 text-sm`},pi={class:`flex items-center gap-2`},mi=b({name:`SpaceDetail`,__name:`space-detail`,props:{space:{}},setup(e){let t=e,{t:i}=A(),a=ze(),{spaces:o,firstLoadFinished:s,fetchSpaces:l}=ht(),{editSpace:d}=bt(R(()=>t.space?.id));u(async()=>{s.value||await l().catch(()=>{})});let f=H(null),h=H(!1),_=H(!1),v=H(null),y=H(null),b=H(!1),x=R(()=>o.value.filter(e=>!(e.type!==G.ZONE||!Re(e.category)))),S=R(()=>t.space?.parentId?o.value.find(e=>e.id===t.space?.parentId)??null:null),C=()=>{_.value=!0,y.value=t.space?.parentId??null,f.value=t.space?.parentId??null,b.value=!1,n(()=>{v.value?.focus()})},w=()=>{setTimeout(()=>{!b.value&&!h.value&&_.value&&(_.value=!1),b.value=!1},200)},ee=e=>{_.value&&e.key===`Escape`&&(f.value=y.value,_.value=!1,b.value=!1)},E=async e=>{if(!t.space||e===t.space.parentId){_.value=!1,b.value=!1;return}b.value=!0,h.value=!0;try{await d({name:t.space.name,parentId:e}),a.success(i(`spacesModule.messages.edited`,{space:t.space.name})),_.value=!1,b.value=!1}catch{f.value=y.value,a.error(i(`spacesModule.messages.saveError`)),_.value=!1,b.value=!1}finally{h.value=!1}};return T(()=>t.space?.parentId??null,e=>{_.value||(f.value=e,y.value=e)},{immediate:!0}),u(()=>{document.addEventListener(`keydown`,ee)}),p(()=>{document.removeEventListener(`keydown`,ee)}),(t,n)=>(r(),j(D(nt),{class:`mt-2`,"body-class":`p-0!`},{default:g(()=>[N(`dl`,ei,[N(`dt`,ti,F(D(i)(`spacesModule.fields.spaces.name.title`)),1),N(`dd`,ni,[W(D(Te),null,{default:g(()=>[k(F(e.space.name),1)]),_:1})]),N(`dt`,ri,F(D(i)(`spacesModule.fields.spaces.type.title`)),1),N(`dd`,ii,[W(D(Te),null,{default:g(()=>[k(F(D(i)(`spacesModule.misc.types.${e.space.type}`)),1)]),_:1})]),e.space.description?(r(),U(`dt`,ai,F(D(i)(`spacesModule.fields.spaces.description.title`)),1)):O(``,!0),e.space.description?(r(),U(`dd`,oi,[W(D(Te),null,{default:g(()=>[k(F(e.space.description),1)]),_:1})])):O(``,!0),e.space.icon?(r(),U(`dt`,si,F(D(i)(`spacesModule.fields.spaces.icon.title`)),1)):O(``,!0),e.space.icon?(r(),U(`dd`,ci,[W(D(m),null,{default:g(()=>[W(D(B),{icon:e.space.icon},null,8,[`icon`])]),_:1}),W(D(Te),null,{default:g(()=>[k(F(e.space.icon),1)]),_:1})])):O(``,!0),e.space.type===D(G).ROOM?(r(),U(`dt`,li,F(D(i)(`spacesModule.detail.parentZone.title`)),1)):O(``,!0),e.space.type===D(G).ROOM?(r(),U(`dd`,ui,[_.value?(r(),j(D(it),{key:1,ref_key:`floorSelectRef`,ref:v,modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,placeholder:D(i)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:h.value,onChange:E,onBlur:w},{default:g(()=>[(r(!0),U(I,null,c(x.value,e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id},{default:g(()=>[N(`div`,pi,[W(D(B),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),N(`span`,null,F(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(r(),U(`div`,{key:0,class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:C},[S.value?(r(),j(D(J),{key:0,type:`success`,size:`small`},{default:g(()=>[N(`div`,di,[W(D(B),{icon:S.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),k(` `+F(S.value.name),1)])]),_:1})):(r(),U(`span`,fi,F(D(i)(`spacesModule.detail.parentZone.none`)),1))]))])):O(``,!0)])]),_:1}))}}),hi={class:`flex items-center gap-2`},gi={class:`font-medium`},_i={key:0,class:`text-xs text-gray-500`},vi={class:`flex items-center gap-2 justify-end`},yi={key:0,class:`h-full w-full leading-normal`},bi={key:1,class:`h-full w-full leading-normal`},xi={class:`mb-4`},Si=b({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,o=i,{t:s}=A(),l=ze(),{roomSpaces:d}=ht(),{devices:f,loading:p,firstLoadFinished:m,fetchDevices:h,removeDevice:_,reassignDevice:v}=wt(ce(a,`spaceId`),ce(a,`spaceType`)),y=H(!1),b=H(null),x=H(null),S=H(!1),C=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e]||`mdi:devices`,w=()=>{o(`open-add-dialog`)},T=e=>{b.value=e,x.value=null,y.value=!0},ee=async()=>{if(b.value){S.value=!0;try{await v(b.value.id,x.value),y.value=!1,l.success(s(`spacesModule.messages.edited`,{space:b.value.name}))}catch{l.error(s(`spacesModule.messages.saveError`))}finally{S.value=!1}}},E=e=>{Pe.confirm(s(`spacesModule.detail.devices.confirmRemove`,{name:e.name}),s(`spacesModule.detail.devices.removeHeading`),{confirmButtonText:s(`spacesModule.buttons.yes.title`),cancelButtonText:s(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await _(e.id),l.success(s(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{l.error(s(`spacesModule.messages.saveError`))}}).catch(()=>{l.info(s(`spacesModule.detail.devices.removeCanceled`))})};return u(async()=>{m.value||await h()}),n({openAddDialog:w,fetchDevices:h}),(t,n)=>(r(),U(I,null,[e((r(),j(D(ct),{"element-loading-text":D(s)(`spacesModule.detail.devices.loading`),data:D(f),"table-layout":`fixed`,"row-key":`id`},{empty:g(()=>[D(p)?(r(),U(`div`,yi,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:devices`})]),secondary:g(()=>[W(D(B),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),U(`div`,bi,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:devices`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(s)(`spacesModule.detail.devices.empty`)),1)]),extra:g(()=>[W(D(M),{type:`primary`,plain:``,onClick:w},{icon:g(()=>[W(D(B),{icon:`mdi:plus`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:g(()=>[W(D($),{label:D(s)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:g(({row:e})=>[N(`div`,hi,[W(D(Ne),{size:32},{default:g(()=>[W(D(B),{icon:C(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),N(`div`,null,[N(`div`,gi,F(e.name),1),e.description?(r(),U(`div`,_i,F(e.description),1)):O(``,!0)])])]),_:1},8,[`label`]),W(D($),{label:D(s)(`spacesModule.table.columns.category`),width:`150`},{default:g(({row:e})=>[W(D(J),{size:`small`,type:`info`},{default:g(()=>[k(F(D(s)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),W(D($),{label:D(s)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:g(({row:e})=>[W(D(J),{type:e.status?.online?`success`:`danger`,size:`small`},{default:g(()=>[k(F(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),W(D($),{label:``,width:a.spaceType===D(G).ZONE?110:220,align:`right`},{default:g(({row:e})=>[N(`div`,vi,[a.spaceType===D(G).ROOM?(r(),j(D(M),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>T(e)},{icon:g(()=>[W(D(B),{icon:`mdi:swap-horizontal`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):O(``,!0),W(D(M),{type:`danger`,plain:``,size:`small`,onClick:t=>E(e)},{icon:g(()=>[W(D(B),{icon:`mdi:close`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[D(Fe),D(p)]]),W(D(Ze),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:D(s)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:g(()=>[W(D(M),{onClick:n[1]||=e=>y.value=!1},{default:g(()=>[k(F(D(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),W(D(M),{type:`primary`,loading:S.value,onClick:ee},{default:g(()=>[k(F(D(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:g(()=>[N(`p`,xi,F(D(s)(`spacesModule.detail.devices.selectRoom`)),1),W(D(it),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:D(s)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(D(d),e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Ci={class:`flex items-center gap-2`},wi={class:`font-medium`},Ti={key:0,class:`text-xs text-gray-500`},Ei={class:`flex items-center gap-2 justify-end`},Di={key:0,class:`h-full w-full leading-normal`},Oi={key:1,class:`h-full w-full leading-normal`},ki={class:`mb-4`},Ai=b({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,o=i,{t:s}=A(),l=ze(),{spaces:d}=ht(),{scenes:f,loading:p,firstLoadFinished:m,fetchScenes:h,reassignScene:_,removeScene:v}=gt(ce(a,`spaceId`)),y=H(!1),b=H(null),x=H(null),S=H(!1),C=e=>e.icon?e.icon:At[e.category]||At[Dt.GENERIC],w=()=>{o(`open-add-dialog`)},T=e=>{b.value=e,x.value=null,y.value=!0},ee=async()=>{if(b.value){S.value=!0;try{await _(b.value.id,x.value),y.value=!1,l.success(s(`spacesModule.detail.scenes.reassigned`,{name:b.value.name}))}catch{l.error(s(`spacesModule.messages.saveError`))}finally{S.value=!1}}},E=e=>{Pe.confirm(s(`spacesModule.detail.scenes.confirmRemove`,{name:e.name}),s(`spacesModule.detail.scenes.removeHeading`),{confirmButtonText:s(`spacesModule.buttons.yes.title`),cancelButtonText:s(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await v(e.id),l.success(s(`spacesModule.detail.scenes.removed`,{name:e.name}))}catch{l.error(s(`spacesModule.messages.saveError`))}}).catch(()=>{l.info(s(`spacesModule.detail.scenes.removeCanceled`))})};return u(async()=>{m.value||await h()}),n({openAddDialog:w,fetchScenes:h}),(t,n)=>(r(),U(I,null,[e((r(),j(D(ct),{"element-loading-text":D(s)(`spacesModule.detail.scenes.loading`),data:D(f),"table-layout":`fixed`,"row-key":`id`},{empty:g(()=>[D(p)?(r(),U(`div`,Di,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:play-box-multiple`})]),secondary:g(()=>[W(D(B),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),U(`div`,Oi,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:play-box-multiple`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(s)(`spacesModule.detail.scenes.empty`)),1)]),extra:g(()=>[W(D(M),{type:`primary`,plain:``,onClick:w},{icon:g(()=>[W(D(B),{icon:`mdi:plus`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:g(()=>[W(D($),{label:D(s)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:g(({row:e})=>[N(`div`,Ci,[W(D(Ne),{size:32},{default:g(()=>[W(D(B),{icon:C(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),N(`div`,null,[N(`div`,wi,F(e.name),1),e.description?(r(),U(`div`,Ti,F(e.description),1)):O(``,!0)])])]),_:1},8,[`label`]),W(D($),{label:D(s)(`spacesModule.detail.scenes.category`),width:`150`},{default:g(({row:e})=>[W(D(J),{size:`small`,type:`info`},{default:g(()=>[k(F(D(s)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),W(D($),{label:D(s)(`spacesModule.detail.scenes.status`),width:`100`,align:`center`},{default:g(({row:e})=>[W(D(J),{type:e.enabled?`success`:`info`,size:`small`},{default:g(()=>[k(F(e.enabled?D(s)(`spacesModule.detail.scenes.enabled`):D(s)(`spacesModule.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),W(D($),{label:``,width:`220`,align:`right`},{default:g(({row:e})=>[N(`div`,Ei,[W(D(M),{type:`warning`,plain:``,size:`small`,onClick:t=>T(e)},{icon:g(()=>[W(D(B),{icon:`mdi:swap-horizontal`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),W(D(M),{type:`danger`,plain:``,size:`small`,onClick:t=>E(e)},{icon:g(()=>[W(D(B),{icon:`mdi:close`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[D(Fe),D(p)]]),W(D(Ze),{modelValue:y.value,"onUpdate:modelValue":n[2]||=e=>y.value=e,title:D(s)(`spacesModule.detail.scenes.reassign`),width:`400px`},{footer:g(()=>[W(D(M),{onClick:n[1]||=e=>y.value=!1},{default:g(()=>[k(F(D(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),W(D(M),{type:`primary`,loading:S.value,onClick:ee},{default:g(()=>[k(F(D(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:g(()=>[N(`p`,ki,F(D(s)(`spacesModule.detail.scenes.selectSpace`)),1),W(D(it),{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,placeholder:D(s)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(D(d),e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),ji={class:`flex items-center gap-2`},Mi={class:`block`},Ni={key:1,class:`font-medium`},Pi={class:`flex items-center gap-2 justify-end`},Fi={key:0,class:`h-full w-full leading-normal`},Ii={key:1,class:`h-full w-full leading-normal`},Li={class:`mb-4`},Ri=b({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(t,{expose:n,emit:i}){let a=t,o=i,{t:s}=A(),l=ze(),{roomSpaces:d}=ht(),{displays:f,loading:p,fetchDisplays:m,removeDisplay:h,reassignDisplay:_}=yt(ce(a,`spaceId`)),v=H(!1),y=H(null),b=H(null),x=H(!1),S=()=>{o(`open-add-dialog`)},C=e=>{y.value=e,b.value=null,v.value=!0},w=async()=>{if(y.value){x.value=!0;try{await _(y.value.id,b.value),v.value=!1,l.success(s(`spacesModule.messages.edited`,{space:y.value.name||y.value.macAddress}))}catch{l.error(s(`spacesModule.messages.saveError`))}finally{x.value=!1}}},T=e=>{let t=e.name||e.macAddress;Pe.confirm(s(`spacesModule.detail.displays.confirmRemove`,{name:t}),s(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:s(`spacesModule.buttons.yes.title`),cancelButtonText:s(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await h(e.id),l.success(s(`spacesModule.detail.displays.removed`,{name:t}))}catch{l.error(s(`spacesModule.messages.saveError`))}}).catch(()=>{l.info(s(`spacesModule.detail.displays.removeCanceled`))})};return u(async()=>{await m()}),n({openAddDialog:S,fetchDisplays:m}),(t,n)=>(r(),U(I,null,[e((r(),j(D(ct),{"element-loading-text":D(s)(`spacesModule.detail.displays.loading`),data:D(f),"table-layout":`fixed`,"row-key":`id`},{empty:g(()=>[D(p)?(r(),U(`div`,Fi,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:monitor`})]),secondary:g(()=>[W(D(B),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(r(),U(`div`,Ii,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:monitor`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(s)(`spacesModule.detail.displays.empty`)),1)]),extra:g(()=>[W(D(M),{type:`primary`,plain:``,onClick:S},{icon:g(()=>[W(D(B),{icon:`mdi:plus`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:g(()=>[W(D($),{label:D(s)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:g(({row:e})=>[N(`div`,ji,[W(D(Ne),{size:32},{default:g(()=>[W(D(B),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),N(`div`,null,[e.name?(r(),U(I,{key:0},[N(`strong`,Mi,F(e.name),1),W(D(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:g(()=>[k(F(e.macAddress),1)]),_:2},1024)],64)):(r(),U(`div`,Ni,F(e.macAddress),1))])])]),_:1},8,[`label`]),W(D($),{label:D(s)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:g(({row:e})=>[W(D(J),{type:e.online?`success`:`danger`,size:`small`},{default:g(()=>[k(F(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),W(D($),{label:``,width:`220`,align:`right`},{default:g(({row:e})=>[N(`div`,Pi,[W(D(M),{type:`warning`,plain:``,size:`small`,onClick:t=>C(e)},{icon:g(()=>[W(D(B),{icon:`mdi:swap-horizontal`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),W(D(M),{type:`danger`,plain:``,size:`small`,onClick:t=>T(e)},{icon:g(()=>[W(D(B),{icon:`mdi:close`})]),default:g(()=>[k(` `+F(D(s)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[D(Fe),D(p)]]),W(D(Ze),{modelValue:v.value,"onUpdate:modelValue":n[2]||=e=>v.value=e,title:D(s)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:g(()=>[W(D(M),{onClick:n[1]||=e=>v.value=!1},{default:g(()=>[k(F(D(s)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),W(D(M),{type:`primary`,loading:x.value,onClick:w},{default:g(()=>[k(F(D(s)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:g(()=>[N(`p`,Li,F(D(s)(`spacesModule.detail.displays.selectRoom`)),1),W(D(it),{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,placeholder:D(s)(`spacesModule.onboarding.selectSpace`),clearable:``,class:`w-full`},{default:g(()=>[(r(!0),U(I,null,c(D(d),e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id,disabled:e.id===a.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),zi={key:0,class:`h-full w-full leading-normal`},Bi={key:1,class:`h-full w-full leading-normal`},Vi={class:`flex items-center gap-2`},Hi={class:`block text-sm`},Ui={key:1,class:`font-medium`},Wi={key:1,class:`text-gray-400 text-sm`},Gi=b({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=ze(),{devices:s}=jt(),{findById:c}=ht(),l=H(``),u=H(null),{devices:d,addDevice:f}=wt(R(()=>n.spaceId),R(()=>n.spaceType)),p=R(()=>new Set(d.value.map(e=>e.id))),m=R(()=>s.value.filter(e=>n.spaceType===G.ZONE?!p.value.has(e.id):e.roomId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),h=R(()=>(l.value.trim()?m.value.filter(e=>{let t=l.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):m.value).sort((e,t)=>e.name.localeCompare(t.name))),_=e=>({generic:`mdi:devices`,lighting:`mdi:lightbulb`,switcher:`mdi:toggle-switch`,thermostat:`mdi:thermostat`,sensor:`mdi:gauge`,valve:`mdi:pipe-valve`,media:`mdi:cast`,camera:`mdi:camera`,door:`mdi:door`,lock:`mdi:lock`,window_covering:`mdi:blinds`})[e.category]||`mdi:devices`,v=e=>c(e)?.name||`Unknown`,y=R({get:()=>n.visible,set:e=>i(`update:visible`,e)}),b=()=>{y.value=!1,l.value=``,u.value=null},x=async e=>{u.value=e.id;try{await f(e.id),o.success(a(`spacesModule.messages.edited`,{space:e.name})),i(`device-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return T(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),j(D(Ze),{modelValue:y.value,"onUpdate:modelValue":t[1]||=e=>y.value=e,title:D(a)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:b},{footer:g(()=>[W(D(M),{onClick:b},{default:g(()=>[k(F(D(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:g(()=>[W(D(be),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:D(a)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:g(()=>[W(D(B),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),W(D(ct),{data:h.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:g(()=>[m.value.length===0?(r(),U(`div`,zi,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:devices`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(a)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):l.value.trim()&&h.value.length===0?(r(),U(`div`,Bi,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:devices`})]),secondary:g(()=>[W(D(B),{icon:`mdi:filter-multiple`})]),_:1})]),title:g(()=>[W(D(Te),{class:`block`},{default:g(()=>[k(F(D(a)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):O(``,!0)]),default:g(()=>[W(D($),{label:D(a)(`spacesModule.onboarding.deviceName`),"min-width":`200`},{default:g(({row:e})=>[N(`div`,Vi,[W(D(Ne),{size:32},{default:g(()=>[W(D(B),{icon:_(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),N(`div`,null,[e.description?(r(),U(I,{key:0},[N(`strong`,Hi,F(e.name),1),W(D(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:g(()=>[k(F(e.description),1)]),_:2},1024)],64)):(r(),U(`div`,Ui,F(e.name),1))])])]),_:1},8,[`label`]),W(D($),{label:D(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:g(({row:e})=>[e.roomId?(r(),j(D(J),{key:0,size:`small`,type:`warning`},{default:g(()=>[k(F(v(e.roomId)),1)]),_:2},1024)):(r(),U(`span`,Wi,`-`))]),_:1},8,[`label`]),W(D($),{label:``,width:`150`,align:`right`},{default:g(({row:e})=>[W(D(M),{type:n.spaceType===D(G).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>x(e)},{icon:g(()=>[W(D(B),{icon:n.spaceType===D(G).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:g(()=>[k(` `+F(n.spaceType===D(G).ROOM&&e.roomId?D(a)(`spacesModule.detail.devices.reassign`):D(a)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),Ki={key:0,class:`h-full w-full leading-normal`},qi={key:1,class:`h-full w-full leading-normal`},Ji={class:`flex items-center gap-2`},Yi={class:`block text-sm`},Xi={key:1,class:`font-medium`},Zi={key:1,class:`text-gray-400 text-sm`},Qi=b({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=ze(),{scenes:s,loaded:c,fetchScenes:l}=kt(),{editScene:d}=Ot(),{findById:f}=ht(),p=H(``),m=H(null),h=R(()=>s.value.filter(e=>e.draft?!1:e.primarySpaceId!==n.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),_=R(()=>(p.value.trim()?h.value.filter(e=>{let t=p.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):h.value).sort((e,t)=>e.name.localeCompare(t.name))),v=e=>At[e.category]||At[Dt.GENERIC],y=e=>f(e)?.name||`Unknown`,b=R({get:()=>n.visible,set:e=>i(`update:visible`,e)}),x=()=>{b.value=!1,p.value=``,m.value=null},S=async e=>{m.value=e.id;try{await d({id:e.id,data:{primarySpaceId:n.spaceId}}),o.success(a(`spacesModule.detail.scenes.assigned`,{name:e.name})),i(`scene-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{m.value=null}};return u(async()=>{c.value||await l()}),T(()=>n.visible,e=>{e||(p.value=``,m.value=null)}),(e,t)=>(r(),j(D(Ze),{modelValue:b.value,"onUpdate:modelValue":t[1]||=e=>b.value=e,title:D(a)(`spacesModule.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:x},{footer:g(()=>[W(D(M),{onClick:x},{default:g(()=>[k(F(D(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:g(()=>[W(D(be),{modelValue:p.value,"onUpdate:modelValue":t[0]||=e=>p.value=e,placeholder:D(a)(`spacesModule.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:g(()=>[W(D(B),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),W(D(ct),{data:_.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:g(()=>[h.value.length===0?(r(),U(`div`,Ki,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:play-box-multiple`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(a)(`spacesModule.detail.scenes.noAvailable`)),1)]),_:1})])):p.value.trim()&&_.value.length===0?(r(),U(`div`,qi,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:play-box-multiple`})]),secondary:g(()=>[W(D(B),{icon:`mdi:filter-multiple`})]),_:1})]),title:g(()=>[W(D(Te),{class:`block`},{default:g(()=>[k(F(D(a)(`spacesModule.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):O(``,!0)]),default:g(()=>[W(D($),{label:D(a)(`spacesModule.detail.scenes.name`),"min-width":`200`},{default:g(({row:e})=>[N(`div`,Ji,[W(D(Ne),{size:32},{default:g(()=>[W(D(B),{icon:v(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),N(`div`,null,[e.description?(r(),U(I,{key:0},[N(`strong`,Yi,F(e.name),1),W(D(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:g(()=>[k(F(e.description),1)]),_:2},1024)],64)):(r(),U(`div`,Xi,F(e.name),1))])])]),_:1},8,[`label`]),W(D($),{label:D(a)(`spacesModule.detail.scenes.assignedSpace`),width:`150`},{default:g(({row:e})=>[e.primarySpaceId?(r(),j(D(J),{key:0,size:`small`,type:`warning`},{default:g(()=>[k(F(y(e.primarySpaceId)),1)]),_:2},1024)):(r(),U(`span`,Zi,`-`))]),_:1},8,[`label`]),W(D($),{label:``,width:`150`,align:`right`},{default:g(({row:e})=>[W(D(M),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:m.value===e.id,onClick:t=>S(e)},{icon:g(()=>[W(D(B),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:g(()=>[k(` `+F(e.primarySpaceId?D(a)(`spacesModule.detail.scenes.reassign`):D(a)(`spacesModule.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),$i={key:0,class:`h-full w-full leading-normal`},ea={key:1,class:`h-full w-full leading-normal`},ta={class:`flex items-center gap-2`},na={class:`block`},ra={key:1,class:`font-medium`},ia={key:1,class:`text-gray-400 text-sm`},aa=b({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(e,{emit:t}){let n=e,i=t,{t:a}=A(),o=ze(),{displays:s}=mt(),{findById:c}=ht(),l=H(``),u=H(null),{reassignDisplay:d}=yt(R(()=>n.spaceId)),f=R(()=>s.value.filter(e=>e.role===`room`?e.roomId!==n.spaceId:!1).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),p=R(()=>(l.value.trim()?f.value.filter(e=>{let t=l.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):f.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),m=e=>c(e)?.name||`Unknown`,h=R({get:()=>n.visible,set:e=>i(`update:visible`,e)}),_=()=>{h.value=!1,l.value=``,u.value=null},v=async e=>{u.value=e.id;try{await d(e.id,n.spaceId),o.success(a(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),i(`display-added`)}catch{o.error(a(`spacesModule.messages.saveError`))}finally{u.value=null}};return T(()=>n.visible,e=>{e||(l.value=``,u.value=null)}),(e,t)=>(r(),j(D(Ze),{modelValue:h.value,"onUpdate:modelValue":t[1]||=e=>h.value=e,title:D(a)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:_},{footer:g(()=>[W(D(M),{onClick:_},{default:g(()=>[k(F(D(a)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:g(()=>[W(D(be),{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,placeholder:D(a)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:g(()=>[W(D(B),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),W(D(ct),{data:p.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:g(()=>[f.value.length===0?(r(),U(`div`,$i,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:monitor`})]),secondary:g(()=>[W(D(B),{icon:`mdi:information`})]),_:1})]),title:g(()=>[k(F(D(a)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):l.value.trim()&&p.value.length===0?(r(),U(`div`,ea,[W(D(L),{class:`h-full w-full`},{icon:g(()=>[W(D(V),{size:80},{primary:g(()=>[W(D(B),{icon:`mdi:monitor`})]),secondary:g(()=>[W(D(B),{icon:`mdi:filter-multiple`})]),_:1})]),title:g(()=>[W(D(Te),{class:`block`},{default:g(()=>[k(F(D(a)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):O(``,!0)]),default:g(()=>[W(D($),{label:D(a)(`spacesModule.onboarding.displayName`),"min-width":`200`},{default:g(({row:e})=>[N(`div`,ta,[W(D(Ne),{size:32},{default:g(()=>[W(D(B),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),N(`div`,null,[e.name?(r(),U(I,{key:0},[N(`strong`,na,F(e.name),1),W(D(Te),{size:`small`,class:`block leading-4`,truncated:``},{default:g(()=>[k(F(e.macAddress),1)]),_:2},1024)],64)):(r(),U(`div`,ra,F(e.macAddress),1))])])]),_:1},8,[`label`]),W(D($),{label:D(a)(`spacesModule.onboarding.assignedSpace`),width:`150`},{default:g(({row:e})=>[e.roomId?(r(),j(D(J),{key:0,size:`small`,type:`warning`},{default:g(()=>[k(F(m(e.roomId)),1)]),_:2},1024)):(r(),U(`span`,ia,`-`))]),_:1},8,[`label`]),W(D($),{label:``,width:`150`,align:`right`},{default:g(({row:e})=>[W(D(M),{type:e.roomId?`warning`:`default`,plain:``,size:`small`,loading:u.value===e.id,onClick:t=>v(e)},{icon:g(()=>[W(D(B),{icon:e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:g(()=>[k(` `+F(e.roomId?D(a)(`spacesModule.detail.displays.reassign`):D(a)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),oa={class:`flex items-center gap-2`},sa={class:`flex items-center gap-2`},ca=b({name:`SpaceSelect`,__name:`space-select`,props:{modelValue:{},filter:{default:`all`},placeholder:{},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e){let t=e,{t:n}=A(),{spaces:i,roomSpaces:a,zoneSpaces:o,fetching:s,findById:l}=ht(),u=R(()=>t.filter===`all`),d=R(()=>t.filter===`room`?a.value:t.filter===`zone`?o.value:i.value),f=R(()=>{let e=[],t=a.value.slice().sort((e,t)=>e.name.localeCompare(t.name)),r=o.value.slice().sort((e,t)=>e.name.localeCompare(t.name));return t.length>0&&e.push({type:G.ROOM,label:n(`spacesModule.labels.rooms`),options:t}),r.length>0&&e.push({type:G.ZONE,label:n(`spacesModule.labels.zones`),options:r}),e}),p=R(()=>{if(!t.modelValue)return null;let e=l(t.modelValue);return e?et(e):null});return(t,n)=>(r(),j(D(it),{"model-value":e.modelValue,placeholder:e.placeholder,clearable:e.clearable,filterable:e.filterable,disabled:e.disabled,loading:D(s),class:`w-full`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:modelValue`,e)},{prefix:g(()=>[p.value?(r(),j(D(B),{key:0,icon:p.value,class:`text-lg`},null,8,[`icon`])):O(``,!0)]),default:g(()=>[u.value?(r(!0),U(I,{key:0},c(f.value,e=>(r(),j(D(Ve),{key:e.type,label:e.label},{default:g(()=>[(r(!0),U(I,null,c(e.options,e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id},{default:g(()=>[N(`div`,oa,[W(D(B),{icon:D(et)(e),class:`text-lg`},null,8,[`icon`]),N(`span`,null,F(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(r(!0),U(I,{key:1},c(d.value,e=>(r(),j(D(Q),{key:e.id,label:e.name,value:e.id},{default:g(()=>[N(`div`,sa,[W(D(B),{icon:D(et)(e),class:`text-lg`},null,8,[`icon`]),N(`span`,null,F(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`clearable`,`filterable`,`disabled`,`loading`]))}});export{Ri as a,mi as c,En as d,mn as f,Gi as i,$r as l,Xt as m,aa as n,Ai as o,dn as p,Qi as r,Si as s,ca as t,Jn as u};
@@ -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-DitknrxN.js";import{t as ae}from"./keys-DWeeqbdi.js";import{a as R,i as z,n as oe}from"./useSpaces-DoHSAZGH.js";import{a as se}from"./keys-o2K4DVjh.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{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-DitknrxN.js";import{n as w}from"./logs-entries.transformers-InCczx23.js";import{n as T,r as E,t as D}from"./extensions.constants-zRRiNzmt.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"./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-DitknrxN.js";import{t as ee}from"./useSpaces-DoHSAZGH.js";import{o as te,s as j}from"./composables-BtOMC6SO.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};
@@ -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-DitknrxN.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-CnjASICx.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{mr as e}from"./icon-with-child-DmQ_XhQy.js";import{$t as t,T as n,ba as r}from"./common-DitknrxN.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{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-DitknrxN.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-DVEtutPb.js";import{i as j,t as M}from"./types-DFpBJXK4.js";import{n as N}from"./useDataSources-BeTczwoa.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};