@fastybird/smart-panel-admin 1.1.0-alpha.64 → 1.1.0-alpha.66

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 (367) hide show
  1. package/dist/assets/{_baseClone-BRvt9rE2.js → _baseClone-Dte8C1GY.js} +1 -1
  2. package/dist/assets/alert-C46gt4gd.js +1 -0
  3. package/dist/assets/card-CfYeWlyn.js +1 -0
  4. package/dist/assets/card-add-form-prPDxTto.js +1 -0
  5. package/dist/assets/card-edit-form-DeJkki_S.js +1 -0
  6. package/dist/assets/checkbox-DTPMEXAL.js +1 -0
  7. package/dist/assets/{clamp-FW02HANf.js → clamp-Dw8cnUDq.js} +1 -1
  8. package/dist/assets/col-DlQWLFQs.js +1 -0
  9. package/dist/assets/collapse-Lq5XIsa-.js +1 -0
  10. package/dist/assets/common-Cq0z9nNV.js +135 -0
  11. package/dist/assets/components-B383JPLp.js +1 -0
  12. package/dist/assets/components-B7P2CZq6.js +8 -0
  13. package/dist/assets/components-BFDsCQkg.js +1 -0
  14. package/dist/assets/components-BJ3MRhfv.js +6 -0
  15. package/dist/assets/components-BjAo0Wtv.js +1 -0
  16. package/dist/assets/components-Bq3pGRkK.js +2 -0
  17. package/dist/assets/components-CAKqGh0u.js +1 -0
  18. package/dist/assets/components-D-L2AY7i.js +1 -0
  19. package/dist/assets/components-WE7iG2jt.js +1 -0
  20. package/dist/assets/components-Zvb61V03.js +1 -0
  21. package/dist/assets/composables-9t6Z9PcI.js +1 -0
  22. package/dist/assets/composables-BGj78DB-.js +1 -0
  23. package/dist/assets/composables-BYXOFFmS.js +1 -0
  24. package/dist/assets/{composables-C-o6-CAH.js → composables-CIOrWHUe.js} +1 -1
  25. package/dist/assets/composables-CQU3fAXU.js +1 -0
  26. package/dist/assets/composables-CZF9saW7.js +1 -0
  27. package/dist/assets/{composables-DPgLjJbY.js → composables-CkZcA6lV2.js} +1 -1
  28. package/dist/assets/composables-DQBxpwSg.js +1 -0
  29. package/dist/assets/composables-DWpPaUpC.js +1 -0
  30. package/dist/assets/composables-ejopM-lJ.js +1 -0
  31. package/dist/assets/composables-rXK2U5tg.js +1 -0
  32. package/dist/assets/config-COwev7fh.js +2 -0
  33. package/dist/assets/dashboard-CjfXUy9Q.js +2 -0
  34. package/dist/assets/{dashboard.types-B1PBhwVR.js → dashboard.types-CR6hZnWk.js} +1 -1
  35. package/dist/assets/{data-source-edit-form-DEVPfSNf.js → data-source-edit-form-BmWiJ3nH.js} +1 -1
  36. package/dist/assets/descriptions-CK3XrcY5.js +1 -0
  37. package/dist/assets/devices-BEzn7YNW.js +2 -0
  38. package/dist/assets/devices-virtual.constants-BxQtZ-rg.js +1 -0
  39. package/dist/assets/devices.constants-cxt4nI1j.js +1 -0
  40. package/dist/assets/dialog-C_c6nIiU.js +1 -0
  41. package/dist/assets/directive-CBwN801q.js +1 -0
  42. package/dist/assets/drawer-BDUl_ooz.js +1 -0
  43. package/dist/assets/{empty-DvXiCUNF.js → empty-BkxH1E8f.js} +1 -1
  44. package/dist/assets/form-CoKeb4n7.js +12 -0
  45. package/dist/assets/{icon-with-child-CgZMNB3F.js → icon-with-child-C0yuv0oQ.js} +1 -1
  46. package/dist/assets/index-C8N5LONp.js +11 -0
  47. package/dist/assets/index-zUke6Vim.css +1 -0
  48. package/dist/assets/input-number-LzEdwV5R.js +1 -0
  49. package/dist/assets/integration-config-dialog-o1o5fsBY.js +1 -0
  50. package/dist/assets/{keys-TghOLUK_.js → keys-bvwxU-Nn.js} +1 -1
  51. package/dist/assets/layout-config-vjyQ55VE.js +1 -0
  52. package/dist/assets/{layout-default-CQvX8pvu.js → layout-default-Bmr2AuLS.js} +1 -1
  53. package/dist/assets/layout-lock-i85d1fqR.js +1 -0
  54. package/dist/assets/layout-profile-CN8aC5D8.js +1 -0
  55. package/dist/assets/layout-profile-CXXVPlf5.js +1 -0
  56. package/dist/assets/layout-sign-dRB17K6p.js +1 -0
  57. package/dist/assets/layout-sign-ltYwHtGk.js +1 -0
  58. package/dist/assets/link-oGaKVImK.js +1 -0
  59. package/dist/assets/list-data-sources-adjust-WTi20syM.js +1 -0
  60. package/dist/assets/list-locations-As0Q6B1j.js +1 -0
  61. package/dist/assets/list-users-DsoIjPaS.js +1 -0
  62. package/dist/assets/logs-entries.transformers-CsxVIzqA.js +1 -0
  63. package/dist/assets/mcp.exceptions-DCsimQKn.js +1 -0
  64. package/dist/assets/notifications.exceptions-DWLirHz-.js +1 -0
  65. package/dist/assets/{omit-CwOnvSVN.js → omit-Bx6J5ySX.js} +1 -1
  66. package/dist/assets/page-configure-D1uozFKi.js +1 -0
  67. package/dist/assets/page-configure-ytjG854u.js +1 -0
  68. package/dist/assets/pagination-BRD3yP76.js +1 -0
  69. package/dist/assets/radio-Ccjyja5p.js +1 -0
  70. package/dist/assets/scene-add-form-CgruxHec.js +1 -0
  71. package/dist/assets/scene-edit-form-Bix-e8-P.js +1 -0
  72. package/dist/assets/{schemas.utils-D840MBN3.js → schemas.utils-DWbEHUX2.js} +1 -1
  73. package/dist/assets/select-BZCtBPAN.js +1 -0
  74. package/dist/assets/select-data-source-plugin-iGick1Fu.js +1 -0
  75. package/dist/assets/skeleton-CNRuASqp.js +1 -0
  76. package/dist/assets/slider-Bb1_3mLl.js +1 -0
  77. package/dist/assets/source-candidates.utils-Cb9r1JWA.js +1 -0
  78. package/dist/assets/{spaces-D-tQFPMe.js → spaces-D9wyAbko.js} +2 -2
  79. package/dist/assets/spaces-home-control.constants-CvSKJux3.js +1 -0
  80. package/dist/assets/steps-CFlcEz-i.js +1 -0
  81. package/dist/assets/{system-BfccTgQv.js → system-BiamsEK0.js} +2 -2
  82. package/dist/assets/table-CFRJXsHQ.js +1 -0
  83. package/dist/assets/tabs-61uwdeaq.js +1 -0
  84. package/dist/assets/tile-detail-D4Ur1_43.js +1 -0
  85. package/dist/assets/tile-edit-form-HVPJGvVJ.js +1 -0
  86. package/dist/assets/types-DPk4ChIx.js +1 -0
  87. package/dist/assets/types-DaHriOn2.js +1 -0
  88. package/dist/assets/use-dialog-DT7SEb4g.js +1 -0
  89. package/dist/assets/use-ordered-children-jLmZ6DmH.js +1 -0
  90. package/dist/assets/useBuddyChat-ChFgcSNQ.js +1 -0
  91. package/dist/assets/useConfigModule-C5G5RPH_.js +1 -0
  92. package/dist/assets/{useDataSources-Hdo8qJZg.js → useDataSources-BCjgNXH7.js} +1 -1
  93. package/dist/assets/useDevicesPlugins-DoFX5T7Z.js +1 -0
  94. package/dist/assets/useEventBus-BBp5LBB-.js +1 -0
  95. package/dist/assets/{useExtensions-DoQMQb0z.js → useExtensions-CBRBDhdG.js} +1 -1
  96. package/dist/assets/useGeolocation-Bu_OrWlG.js +2 -0
  97. package/dist/assets/useLocation-D4jTkrKi.js +1 -0
  98. package/dist/assets/{useMcpClients-1EbfQ9P3.js → useMcpClients-evOnRLSH.js} +1 -1
  99. package/dist/assets/{useModule-CkH6rcF3.js → useModule-BFwF0Hvb.js} +1 -1
  100. package/dist/assets/{useModules-Diux-w1Q.js → useModules-LMm1LMWQ.js} +1 -1
  101. package/dist/assets/{useNumberFormat-Cpk8jRAr.js → useNumberFormat-8Lz2ms_w.js} +1 -1
  102. package/dist/assets/{usePage-qUuM3PR6.js → usePage-i5CJ8Y7Q.js} +1 -1
  103. package/dist/assets/{usePersonalTokens-ePsqRodN.js → usePersonalTokens-B-gvWF4Y.js} +1 -1
  104. package/dist/assets/{usePlugin-DAzjvxjS.js → usePlugin-BR8u8DBb.js} +1 -1
  105. package/dist/assets/{usePlugins-BzLkBW9_.js → usePlugins-CJqAJVB-.js} +1 -1
  106. package/dist/assets/useSession-BRG9xKsr.js +1 -0
  107. package/dist/assets/{useSpaces-CWuh4Y89.js → useSpaces-B-iaoyU0.js} +1 -1
  108. package/dist/assets/{useUuid-d9Pl2-B1.js → useUuid-ki5cjFg3.js} +1 -1
  109. package/dist/assets/view-buddy-chat-DtHYWFX7.js +1 -0
  110. package/dist/assets/view-card-add-IQthsVQk.js +1 -0
  111. package/dist/assets/view-card-edit-CYPHEwmR.js +1 -0
  112. package/dist/assets/view-channel-Dg95xGo_.js +1 -0
  113. package/dist/assets/view-channel-add-DNYBaUhB.js +1 -0
  114. package/dist/assets/view-channel-edit-NF60Grsl.js +1 -0
  115. package/dist/assets/view-channel-property-add-CMeVopNE.js +1 -0
  116. package/dist/assets/view-channel-property-edit-DyKw3GMp.js +1 -0
  117. package/dist/assets/view-channels-FAoM8X8-.js +1 -0
  118. package/dist/assets/view-config-module-edit-C3GF41u-.js +1 -0
  119. package/dist/assets/view-config-modules-BbMGPuHA.js +1 -0
  120. package/dist/assets/view-config-plugin-edit-BFC9JPsn.js +1 -0
  121. package/dist/assets/view-config-plugins-D5czRx2c.js +1 -0
  122. package/dist/assets/view-data-source-add-DC4Cslpa.js +1 -0
  123. package/dist/assets/view-data-source-add-E8o8Ah6n.js +1 -0
  124. package/dist/assets/view-data-source-edit-D2rNqmKf.js +1 -0
  125. package/dist/assets/view-data-source-edit-M2OtC6AF.js +1 -0
  126. package/dist/assets/view-device-D0fn8k9V.js +1 -0
  127. package/dist/assets/view-device-IDRa3OGX.css +1 -0
  128. package/dist/assets/view-device-add-sbG_2iOW.js +1 -0
  129. package/dist/assets/view-device-control-CHXdj_pM.js +1 -0
  130. package/dist/assets/view-device-edit-C1qd8QCI.js +1 -0
  131. package/dist/assets/view-devices-BwwIOBNp.js +1 -0
  132. package/dist/assets/view-devices-wizard-DbtbPwFA.js +1 -0
  133. package/dist/assets/view-display-BQfiAcvA.js +1 -0
  134. package/dist/assets/view-display-edit-C2Q42ydZ.js +1 -0
  135. package/dist/assets/view-display-tokens-BOESTyRS.js +1 -0
  136. package/dist/assets/view-displays-DY4G5b0h.js +1 -0
  137. package/dist/assets/view-extension-detail-B08IOTSx.js +1 -0
  138. package/dist/assets/view-extensions-CP3sAvrS.js +1 -0
  139. package/dist/assets/view-light-group-wizard-D5kN3Oqc.js +1 -0
  140. package/dist/assets/view-location-BiJYukNN.js +1 -0
  141. package/dist/assets/view-location-add-CC6x1o9s.js +1 -0
  142. package/dist/assets/view-location-edit-GJ3tBcMW.js +1 -0
  143. package/dist/assets/view-locations-Cpb31fOD.js +1 -0
  144. package/dist/assets/view-lock-screen-Qq8nNW0J.js +1 -0
  145. package/dist/assets/view-mcp-clients-hheL7VHs.js +1 -0
  146. package/dist/assets/view-mcp-oauth-consent-CyRCSOdl.js +1 -0
  147. package/dist/assets/view-mcp-oauth-management-CCbs1Kls.js +1 -0
  148. package/dist/assets/view-not-found-Dmbqw-XX.js +1 -0
  149. package/dist/assets/view-notifications-BX_CiuBF.js +1 -0
  150. package/dist/assets/view-onboarding-CxSWrF3B.js +1 -0
  151. package/dist/assets/view-page-Cm0Y4rlN.js +1 -0
  152. package/dist/assets/view-page-add-prE_qprC.js +1 -0
  153. package/dist/assets/view-page-configure-CUg75FaF.js +1 -0
  154. package/dist/assets/view-page-configure-DiWrdPO7.js +1 -0
  155. package/dist/assets/view-page-data-source-add-NTc7jCDJ.js +1 -0
  156. package/dist/assets/view-page-data-source-edit-eUvW2Ikr.js +1 -0
  157. package/dist/assets/view-page-edit-WpWT7tqq.js +1 -0
  158. package/dist/assets/view-page-plugin-DUzf5_B5.js +1 -0
  159. package/dist/assets/view-pages-CTZGODWB.js +1 -0
  160. package/dist/assets/view-profile-general-BDIhKfZf.js +1 -0
  161. package/dist/assets/view-profile-security-C3XKfmMM.js +1 -0
  162. package/dist/assets/view-remote-access-BY2xp7Zs.js +1 -0
  163. package/dist/assets/view-scene-add-eg06sORS.js +1 -0
  164. package/dist/assets/view-scene-edit-PwGTdwiH.js +1 -0
  165. package/dist/assets/view-scenes-Cw9ZQs-s.js +1 -0
  166. package/dist/assets/view-sign-in-DAJUkP4c.js +1 -0
  167. package/dist/assets/view-sign-up-JILDDlSt.js +1 -0
  168. package/dist/assets/view-simulator-device-wizard-BCDtH8zG.js +1 -0
  169. package/dist/assets/view-space-add-1oPsH2pS.js +1 -0
  170. package/dist/assets/view-space-configure-DxcrtfV4.js +1 -0
  171. package/dist/assets/view-space-configure-xSeRl5_6.css +1 -0
  172. package/dist/assets/view-space-edit-CKqi1xnn.js +1 -0
  173. package/dist/assets/view-space-plugin-BC-2GTO3.js +1 -0
  174. package/dist/assets/view-spaces-CguaoIcm.js +1 -0
  175. package/dist/assets/view-spaces-wizard-BaSqyh-S.js +1 -0
  176. package/dist/assets/view-stats-BQhfbNNf.js +1 -0
  177. package/dist/assets/view-system-backups-B03om7N1.js +1 -0
  178. package/dist/assets/view-system-info-Bul1Th4e.js +1 -0
  179. package/dist/assets/view-system-log-detail-BBZjxcZz.js +1 -0
  180. package/dist/assets/view-system-logs-Ma8IWL5R.js +1 -0
  181. package/dist/assets/view-tile-C24Ijx8R.js +1 -0
  182. package/dist/assets/view-tile-add-CbmbvYTu.js +1 -0
  183. package/dist/assets/view-tile-add-P4tSvs_9.js +1 -0
  184. package/dist/assets/view-tile-data-source-add-Dq5BYt27.js +1 -0
  185. package/dist/assets/view-tile-data-source-edit-B6mEXeAW.js +1 -0
  186. package/dist/assets/view-tile-edit-BQVqas4k.js +1 -0
  187. package/dist/assets/view-tile-edit-Cch5jL15.js +1 -0
  188. package/dist/assets/view-tile-edit-iOjoxpHP.js +1 -0
  189. package/dist/assets/view-user-add-BRYyi5fb.js +1 -0
  190. package/dist/assets/view-user-edit-e2S_mRfQ.js +1 -0
  191. package/dist/assets/view-users-DHIxR8Qy.js +1 -0
  192. package/dist/assets/view-virtual-device-wizard-C1-MwexV.js +1 -0
  193. package/dist/assets/view-virtual-measurement-wizard-CGeym9DG.js +1 -0
  194. package/dist/assets/view-virtual-thermostat-wizard-CkPEPuoV.js +1 -0
  195. package/dist/assets/virtual-light-group-members-OmU35xjj.js +1 -0
  196. package/dist/assets/virtual-measurement-editor-CkDduLTw.js +1 -0
  197. package/dist/assets/virtual-measurement-editor-R993YkiI.js +1 -0
  198. package/dist/assets/virtual-thermostat-editor-CRGPh71P.js +1 -0
  199. package/dist/assets/{vue-meta.esm-browser.min-C5z7o_np.js → vue-meta.esm-browser.min-K07OTZFQ.js} +1 -1
  200. package/dist/assets/weather-C6B6lUio.js +2 -0
  201. package/dist/assets/{weather-forecast.transformers-Byk60sNo.js → weather-forecast.transformers-BLYZYxUk.js} +1 -1
  202. package/dist/index.html +106 -102
  203. package/package.json +1 -1
  204. package/dist/assets/alert-QrG1sCYZ.js +0 -1
  205. package/dist/assets/card-C50YgvLJ.js +0 -1
  206. package/dist/assets/card-add-form-xQ3jq8UU.js +0 -1
  207. package/dist/assets/card-edit-form-ij_WELVm.js +0 -1
  208. package/dist/assets/checkbox-DC8SWg5-.js +0 -1
  209. package/dist/assets/col-DutoOaP1.js +0 -1
  210. package/dist/assets/collapse-YYBw5kEr.js +0 -1
  211. package/dist/assets/common-DkmUkaQU.js +0 -135
  212. package/dist/assets/components-B9rBWPBZ.js +0 -1
  213. package/dist/assets/components-CJN-jy0X.js +0 -1
  214. package/dist/assets/components-CM0wAvqJ.js +0 -1
  215. package/dist/assets/components-CRnkbXLk.js +0 -2
  216. package/dist/assets/components-Cifm_fnj.js +0 -8
  217. package/dist/assets/components-DAi6Luki.js +0 -6
  218. package/dist/assets/components-DdRbccBG.js +0 -1
  219. package/dist/assets/components-Dq6nZhqz.js +0 -1
  220. package/dist/assets/components-eR8dxK9x.js +0 -1
  221. package/dist/assets/components-uz62kHtl.js +0 -1
  222. package/dist/assets/composables-B9DljBQT.js +0 -1
  223. package/dist/assets/composables-BOOOE2P5.js +0 -1
  224. package/dist/assets/composables-CPxXv_dj.js +0 -1
  225. package/dist/assets/composables-CptvqUdI.js +0 -1
  226. package/dist/assets/composables-D0d8feiK.js +0 -1
  227. package/dist/assets/composables-DC6tLXWe.js +0 -1
  228. package/dist/assets/composables-DleezpFx2.js +0 -1
  229. package/dist/assets/composables-DlulzZQO.js +0 -1
  230. package/dist/assets/composables-kGCsTX0b.js +0 -1
  231. package/dist/assets/config-CdzBdVwi.js +0 -2
  232. package/dist/assets/dashboard-C9xOrxUn.js +0 -2
  233. package/dist/assets/descriptions-AI3JbKtS.js +0 -1
  234. package/dist/assets/devices-B0FYNZiC.js +0 -2
  235. package/dist/assets/devices-virtual.constants-BIMeiR5r.js +0 -1
  236. package/dist/assets/devices.constants-DHQemX04.js +0 -1
  237. package/dist/assets/dialog-Bfheq391.js +0 -1
  238. package/dist/assets/directive-D42ORGRu.js +0 -1
  239. package/dist/assets/drawer-C7FPifGU.js +0 -1
  240. package/dist/assets/form-D4GORLIN.js +0 -12
  241. package/dist/assets/index-BZxtmZTM.css +0 -1
  242. package/dist/assets/index-lUdYD5zb.js +0 -11
  243. package/dist/assets/input-number-BZA4bSND.js +0 -1
  244. package/dist/assets/integration-config-dialog-DCWljoXP.js +0 -1
  245. package/dist/assets/layout-config-B5_LNz9i.js +0 -1
  246. package/dist/assets/layout-lock-DRVJcMfF.js +0 -1
  247. package/dist/assets/layout-profile-DWnH5jHT.js +0 -1
  248. package/dist/assets/layout-profile-PUlyhE4I.js +0 -1
  249. package/dist/assets/layout-sign-AHug0XoT.js +0 -1
  250. package/dist/assets/layout-sign-DvG4Nfc1.js +0 -1
  251. package/dist/assets/link-mE1gaRBg.js +0 -1
  252. package/dist/assets/list-data-sources-adjust-6RL1H-hB.js +0 -1
  253. package/dist/assets/list-locations-BgjPPXLh.js +0 -1
  254. package/dist/assets/list-users-BBeCJy0F.js +0 -1
  255. package/dist/assets/logs-entries.transformers-p26XEWE3.js +0 -1
  256. package/dist/assets/mcp.exceptions-0AO2PkjW.js +0 -1
  257. package/dist/assets/notifications.exceptions-iK91Mjq1.js +0 -1
  258. package/dist/assets/page-configure-BN473onl.js +0 -1
  259. package/dist/assets/page-configure-BwvoI9-V.js +0 -1
  260. package/dist/assets/pagination-CSrb9USq.js +0 -1
  261. package/dist/assets/radio-BfBpfygp.js +0 -1
  262. package/dist/assets/scene-add-form-CHA8yKeQ.js +0 -1
  263. package/dist/assets/scene-edit-form-DScYyBtx.js +0 -1
  264. package/dist/assets/select-SNW1ZnG3.js +0 -1
  265. package/dist/assets/select-data-source-plugin-D3pcvOKH.js +0 -1
  266. package/dist/assets/skeleton-DkyCzTs7.js +0 -1
  267. package/dist/assets/slider-Cfdt_kIA.js +0 -1
  268. package/dist/assets/spaces-home-control.constants-Ci3s_u49.js +0 -1
  269. package/dist/assets/steps-DVtRuf_2.js +0 -1
  270. package/dist/assets/table-DOZz9A77.js +0 -1
  271. package/dist/assets/tabs-CUYibH1q.js +0 -1
  272. package/dist/assets/tile-detail-E3wkJ8QA.js +0 -1
  273. package/dist/assets/tile-edit-form-DrcZiDuz.js +0 -1
  274. package/dist/assets/types-B6K6Du7l.js +0 -1
  275. package/dist/assets/types-CKQ-nhSt.js +0 -1
  276. package/dist/assets/use-dialog-BNeR0eyg.js +0 -1
  277. package/dist/assets/use-ordered-children-D5mRegXD.js +0 -1
  278. package/dist/assets/useBuddyChat-O-Nu32au.js +0 -1
  279. package/dist/assets/useConfigModule-DLtc9prD.js +0 -1
  280. package/dist/assets/useDevicesPlugins-BNDlsi9J.js +0 -1
  281. package/dist/assets/useEventBus-Bqm_mpTp.js +0 -1
  282. package/dist/assets/useGeolocation-BDxIXwid.js +0 -2
  283. package/dist/assets/useLocation-D66xYs9N.js +0 -1
  284. package/dist/assets/view-buddy-chat-DgkTnDkf.js +0 -1
  285. package/dist/assets/view-card-add-D9LBvOga.js +0 -1
  286. package/dist/assets/view-card-edit-bpvsyA1z.js +0 -1
  287. package/dist/assets/view-channel-3GPSRWtI.js +0 -1
  288. package/dist/assets/view-channel-add-DhRPnQuu.js +0 -1
  289. package/dist/assets/view-channel-edit-ByBMo6NK.js +0 -1
  290. package/dist/assets/view-channel-property-add-BdWFCGYB.js +0 -1
  291. package/dist/assets/view-channel-property-edit-BSK8NGx7.js +0 -1
  292. package/dist/assets/view-channels-BYPwgOH0.js +0 -1
  293. package/dist/assets/view-config-module-edit-D1EjDVlr.js +0 -1
  294. package/dist/assets/view-config-modules-ggI2BfJX.js +0 -1
  295. package/dist/assets/view-config-plugin-edit-X-ItOKUt.js +0 -1
  296. package/dist/assets/view-config-plugins-C_yffKUH.js +0 -1
  297. package/dist/assets/view-data-source-add-BY8C94Cw.js +0 -1
  298. package/dist/assets/view-data-source-add-v_akMAIZ.js +0 -1
  299. package/dist/assets/view-data-source-edit-BvwZfjcY.js +0 -1
  300. package/dist/assets/view-data-source-edit-sz5TUYS-.js +0 -1
  301. package/dist/assets/view-device-DSPGceiB.js +0 -1
  302. package/dist/assets/view-device-TJjGoba6.css +0 -1
  303. package/dist/assets/view-device-add-BDvxExLQ.js +0 -1
  304. package/dist/assets/view-device-control-B7eoT8fq.js +0 -1
  305. package/dist/assets/view-device-edit-CU_H5pxJ.js +0 -1
  306. package/dist/assets/view-devices-C2mfgXUt.js +0 -1
  307. package/dist/assets/view-devices-wizard-DWG9Fwsx.js +0 -1
  308. package/dist/assets/view-display-BeXpzbyP.js +0 -1
  309. package/dist/assets/view-display-edit-DLXJwBL0.js +0 -1
  310. package/dist/assets/view-display-tokens-CiXmtc2w.js +0 -1
  311. package/dist/assets/view-displays-Cm3Fc3dW.js +0 -1
  312. package/dist/assets/view-extension-detail-BzN2bHlZ.js +0 -1
  313. package/dist/assets/view-extensions-BOl8ZA9d.js +0 -1
  314. package/dist/assets/view-location-C9JKUHrG.js +0 -1
  315. package/dist/assets/view-location-add-Cyw9rNUf.js +0 -1
  316. package/dist/assets/view-location-edit-aKeRl0KT.js +0 -1
  317. package/dist/assets/view-locations-BRvsyxJX.js +0 -1
  318. package/dist/assets/view-lock-screen-BCVT-Txz.js +0 -1
  319. package/dist/assets/view-mcp-clients-4Wbh1wHR.js +0 -1
  320. package/dist/assets/view-mcp-oauth-consent-Bg7DsVZA.js +0 -1
  321. package/dist/assets/view-mcp-oauth-management-Dd1VS4ue.js +0 -1
  322. package/dist/assets/view-not-found-G5Aj98MD.js +0 -1
  323. package/dist/assets/view-notifications-CPtnm75W.js +0 -1
  324. package/dist/assets/view-onboarding-Cy66_-so.js +0 -1
  325. package/dist/assets/view-page-B5vr7x6L.js +0 -1
  326. package/dist/assets/view-page-add-Bx4kqewh.js +0 -1
  327. package/dist/assets/view-page-configure-C8gP42vB.js +0 -1
  328. package/dist/assets/view-page-configure-DLbQ0jo4.js +0 -1
  329. package/dist/assets/view-page-data-source-add-Bw6M4YHe.js +0 -1
  330. package/dist/assets/view-page-data-source-edit-Dgg9mncl.js +0 -1
  331. package/dist/assets/view-page-edit-Dye6EYLo.js +0 -1
  332. package/dist/assets/view-page-plugin-DEtt9En1.js +0 -1
  333. package/dist/assets/view-pages-Dn8Drdve.js +0 -1
  334. package/dist/assets/view-profile-general-8ks668d4.js +0 -1
  335. package/dist/assets/view-profile-security-Ce-FmQW8.js +0 -1
  336. package/dist/assets/view-remote-access-e4HQhY5z.js +0 -1
  337. package/dist/assets/view-scene-add-RhFPc4Wu.js +0 -1
  338. package/dist/assets/view-scene-edit-C2C5cYN8.js +0 -1
  339. package/dist/assets/view-scenes-cbBuTg7e.js +0 -1
  340. package/dist/assets/view-sign-in-Cm_TlPMa.js +0 -1
  341. package/dist/assets/view-sign-up-DUuGiF8o.js +0 -1
  342. package/dist/assets/view-simulator-device-wizard-BbUri-gC.js +0 -1
  343. package/dist/assets/view-space-add-BkLSwO2X.js +0 -1
  344. package/dist/assets/view-space-configure-DKlvZpIj.css +0 -1
  345. package/dist/assets/view-space-configure-DbW2ofRt.js +0 -1
  346. package/dist/assets/view-space-edit-DP5Y5ggD.js +0 -1
  347. package/dist/assets/view-space-plugin-Cwd9TUxg.js +0 -1
  348. package/dist/assets/view-spaces-C6SFJ1VW.js +0 -1
  349. package/dist/assets/view-spaces-wizard-Y3wiwlhs.js +0 -1
  350. package/dist/assets/view-stats-BjXC9i9f.js +0 -1
  351. package/dist/assets/view-system-backups-Cm6fgx7X.js +0 -1
  352. package/dist/assets/view-system-info-DNBRAC3B.js +0 -1
  353. package/dist/assets/view-system-log-detail-BDfcqvAC.js +0 -1
  354. package/dist/assets/view-system-logs-B8sJc0sZ.js +0 -1
  355. package/dist/assets/view-tile-BPCK9n9t.js +0 -1
  356. package/dist/assets/view-tile-add-CF9ubtMw.js +0 -1
  357. package/dist/assets/view-tile-add-h0VJqXUB.js +0 -1
  358. package/dist/assets/view-tile-data-source-add-CVTfQps5.js +0 -1
  359. package/dist/assets/view-tile-data-source-edit-BzY0kuaA.js +0 -1
  360. package/dist/assets/view-tile-edit-50dQVXk8.js +0 -1
  361. package/dist/assets/view-tile-edit-BDAe8RfW.js +0 -1
  362. package/dist/assets/view-tile-edit-DR26QBRL.js +0 -1
  363. package/dist/assets/view-user-add-D6yErQib.js +0 -1
  364. package/dist/assets/view-user-edit-Dx054xQN.js +0 -1
  365. package/dist/assets/view-users-BRcK8se-.js +0 -1
  366. package/dist/assets/view-virtual-device-wizard-Cengr_tU.js +0 -1
  367. package/dist/assets/weather-BZKkHzjy.js +0 -2
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{Ai as e,Ar as t,Br as n,Ci as r,D as i,Dr as a,E as o,Er as s,Fr as c,H as l,Mr as u,Nr as d,O as f,Oi as p,Or as m,Pi as h,Si as g,T as _,Ti as v,Wr as y,Xi as b,Yi as x,Zr as S,b as C,di as w,ei as T,jr as E,k as D,kr as O,mi as k,n as A,ni as j,pi as M,qi as N,qr as P,t as F,vr as I,x as L,xr as R,yr as z}from"./icon-with-child-C0yuv0oQ.js";import{t as B}from"./vue-meta.esm-browser.min-K07OTZFQ.js";import{$n as V,$r as ee,Ai as te,Ci as ne,Cr as H,D as re,Di as ie,Gr as ae,Ia as oe,Kn as se,Qn as ce,Qr as le,Ti as ue,Vt as de,Wr as fe,_r as U,ai as pe,bi as W,br as me,di as G,ei as he,f as ge,fr as _e,gr as ve,gt as ye,h as be,hr as xe,ht as Se,ii as Ce,m as we,o as Te,oi as Ee,p as De,pt as Oe,st as ke,wi as Ae,x as je,xr as K,yr as Me}from"./common-Cq0z9nNV.js";import{n as q,t as Ne}from"./table-CFRJXsHQ.js";import{n as J,t as Pe}from"./form-CoKeb4n7.js";import{t as Fe}from"./skeleton-CNRuASqp.js";import{t as Y}from"./alert-C46gt4gd.js";import{t as Ie}from"./input-number-LzEdwV5R.js";import{n as Le,r as X,t as Z}from"./select-BZCtBPAN.js";import{t as Re}from"./card-CfYeWlyn.js";import{n as ze,t as Be}from"./checkbox-DTPMEXAL.js";import{n as Ve,t as He}from"./collapse-Lq5XIsa-.js";import{t as Ue}from"./dialog-C_c6nIiU.js";import{t as We}from"./slider-Bb1_3mLl.js";import{n as Ge,t as Ke}from"./steps-CFlcEz-i.js";import"./components-B383JPLp.js";import{t as qe}from"./directive-CBwN801q.js";import{t as Je}from"./useUuid-ki5cjFg3.js";import{i as Ye}from"./composables-DWpPaUpC.js";import{c as Xe,f as Q,g as $,l as Ze,m as Qe,p as $e,r as et,t as tt,w as nt}from"./keys-bvwxU-Nn.js";import{a as rt,i as it,r as at,t as ot,u as st}from"./useSpaces-B-iaoyU0.js";import{c as ct,f as lt,o as ut,s as dt}from"./composables-BYXOFFmS.js";import{O as ft}from"./composables-CQU3fAXU.js";import{f as pt,n as mt,r as ht,x as gt}from"./composables-CkZcA6lV2.js";import"./spaces-D9wyAbko.js";import{t as _t}from"./useSession-BRG9xKsr.js";var vt={invalid_type:`invalid_type`,too_big:`too_big`,too_small:`too_small`,invalid_format:`invalid_format`,not_multiple_of:`not_multiple_of`,unrecognized_keys:`unrecognized_keys`,invalid_union:`invalid_union`,invalid_key:`invalid_key`,invalid_element:`invalid_element`,invalid_value:`invalid_value`,custom:`custom`},yt;yt||={};var bt=()=>{let e=n(tt);return{climateSignal:e?.climate,lightingSignal:e?.lighting,coversSignal:e?.covers,sensorSignal:e?.sensor,climateStateSignal:e?.climateState,lightingStateSignal:e?.lightingState,coversStateSignal:e?.coversState,sensorStateSignal:e?.sensorState}},xt=ge(),St=e=>({enabled:e.activity_enabled,display_order:e.activity_order,configuration:(0,xt.cloneDeep)(e.activity_configuration)}),Ct=e=>{let{client:t}=we(),n=v([]),r=v(!1),i=v(!1),a=v(null),o=0,c=`/modules/spaces/spaces/{id}/activity-modes`,l=s(()=>[...n.value].sort((e,t)=>e.activity_order-t.activity_order||e.activity_mode.localeCompare(t.activity_mode))),u=(t,n)=>t===e.value&&n===o,d=async(e,n)=>{let r=await t.GET(`${c}/{mode}/config`,{params:{path:{id:e,mode:n}}});if(r.error||!r.data?.data)throw Error(`loadFailed`);return r.data.data},f=async()=>{let t=e.value,i=++o;if(t){r.value=!0,a.value=null;try{let e=await Promise.all(Object.values(ce).map(e=>d(t,e)));u(t,i)&&(n.value=e)}catch{u(t,i)&&(a.value=`loadFailed`)}finally{u(t,i)&&(r.value=!1)}}},p=e=>{n.value=n.value.map(t=>t.activity_mode===e.activity_mode?e:t)};return w(e,()=>{n.value=[],i.value=!1,f()},{immediate:!0}),g(()=>{o++}),{configs:l,loading:r,busy:i,error:a,load:f,write:async(n,s,l)=>{let f=e.value;if(!f||i.value||r.value)return null;let m=++o;i.value=!0,a.value=null;try{let e={path:{id:f,mode:n}},r=l?await t.PUT(`${c}/{mode}/config`,{params:e,body:{data:{...l,expected_revision:s}}}):await t.POST(`${c}/{mode}/config/reset`,{params:e,body:{data:{expected_revision:s}}});if(!u(f,m))return null;if(r.response.status===409){a.value=`conflict`;let e=await d(f,n);return u(f,m)&&p(e),null}if(r.error||!r.data?.data)throw Error(`saveFailed`);return p(r.data.data),r.data.data}catch{return u(f,m)&&a.value!==`conflict`&&(a.value=`saveFailed`),null}finally{u(f,m)&&(i.value=!1)}},preview:async(n,r)=>{let i=e.value;if(!i)throw Error(`loadFailed`);let s=o,l=await t.POST(`${c}/{mode}/preview`,{params:{path:{id:i,mode:n}},body:{data:{expected_revision:r}}});if(!u(i,s))throw Error(`loadFailed`);if(l.response.status===409){a.value=`conflict`;let e=await d(i,n);throw u(i,s)&&p(e),Error(`conflict`)}if(l.error||!l.data?.data)throw Error(`loadFailed`);return l.data.data}}},wt=e=>({enabled:e.enabled,timezone:e.timezone,entries:(0,xt.cloneDeep)(e.entries)}),Tt=e=>{let{client:t}=we(),n=v(null),r=v(!1),i=v(!1),a=v(null),o=0,s=null,c=`/modules/spaces/spaces/{id}/schedules`,l=(t,n)=>e.value===t&&n===o,u=async(e,n)=>{let r=await t.GET(c,{params:{path:{id:e}},signal:n});if(r.error||!r.data?.data||r.data.data.space_id!==e)throw Error(`loadFailed`);return r.data.data},d=async()=>{let t=e.value;if(!t||i.value)return;let s=++o;r.value=!0,a.value=null;try{let e=await u(t);l(t,s)&&(n.value=e)}catch{l(t,s)&&(a.value=`loadFailed`)}finally{l(t,s)&&(r.value=!1)}};return w(e,()=>{o++,s?.abort(),s=null,n.value=null,i.value=!1,r.value=!1,a.value=null,d()},{immediate:!0}),g(()=>{o++,s?.abort()}),{configuration:n,loading:r,busy:i,error:a,load:d,save:async(d,f)=>{let p=e.value;if(!p||i.value||r.value||a.value===`conflict`||n.value?.revision!==d)return null;let m=++o;i.value=!0,a.value=null;let h=new AbortController;s=h;let g=setTimeout(()=>h.abort(),3e4);try{let e=await t.PUT(c,{signal:h.signal,params:{path:{id:p}},body:{data:{...(0,xt.cloneDeep)(f),timezone:f.timezone??null,expected_revision:d}}});if(!l(p,m))return null;if(e.response.status===409){a.value=`conflict`,n.value=null;try{let e=await u(p,h.signal);l(p,m)&&(n.value=e)}catch{l(p,m)&&(a.value=`loadFailed`)}return null}if(e.response.status===400||e.response.status===422)return a.value=`invalid`,null;if(e.error||!e.data?.data||e.data.data.space_id!==p)throw Error(`saveFailed`);return n.value=e.data.data,e.data.data}catch{if(!l(p,m))return null;clearTimeout(g),n.value=null,a.value=`saveUnconfirmed`;let e=new AbortController;s=e;let t=setTimeout(()=>e.abort(),1e4);try{let t=await u(p,e.signal);l(p,m)&&(n.value=t)}catch{}finally{clearTimeout(t),s===e&&(s=null)}return null}finally{clearTimeout(g),s===h&&(s=null),l(p,m)&&(i.value=!1)}}}},Et={class:`m-0`},Dt={key:0},Ot={class:`overflow-x-auto`},kt=[`aria-label`],At={class:`list-none p-0 m-0`},jt={key:0},Mt={key:1},Nt={key:3},Pt={key:4},Ft=c({__name:`SpaceModeScheduleSection`,props:{spaceId:{}},setup(e,{expose:n}){let r=e,{t:i}=_(),o=e=>i(`spacesHomeControlPlugin.schedules.${e}`),c=e=>i(`spacesHomeControlPlugin.activityModes.modes.${e}`),{profile:l}=_t(),f=s(()=>l.value?.role===de.owner||l.value?.role===de.admin),{configuration:p,loading:g,busy:y,error:x,load:S,save:C}=Tt(s(()=>r.spaceId)),E=v(null),A=v(null),N=v(0),P=s(()=>JSON.stringify(E.value)!==JSON.stringify(A.value)),F=Object.values(ce),I=[1,2,3,4,5,6,0],L=[...new Set([`UTC`,...typeof Intl.supportedValuesOf==`function`?Intl.supportedValuesOf(`timeZone`):[]])],z=v(!1),B=v(null),V=s(()=>!!B.value&&/^([01]\d|2[0-3]):[0-5]\d$/.test(B.value.time)&&B.value.days_of_week.length>0),ee=s(()=>{if(!E.value||E.value.timezone&&/^[+-]/.test(E.value.timezone))return!1;try{new Intl.DateTimeFormat(`en`,{timeZone:E.value.timezone??`UTC`}).format()}catch{return!1}let e=new Set;for(let t of E.value.entries)if(t.enabled)for(let n of t.days_of_week){let r=`${n}|${t.time}`;if(e.has(r))return!1;e.add(r)}return!0}),te=null;n({hasUnsavedChanges:s(()=>P.value||z.value&&!!B.value&&!(0,xt.isEqual)(B.value,E.value?.entries.find(e=>e.id===B.value?.id))),waitForSave:()=>te??Promise.resolve()});let ne=s(()=>p.value?.revision===N.value&&f.value&&P.value&&ee.value&&!g.value&&!y.value&&x.value!==`saveUnconfirmed`&&x.value!==`conflict`&&x.value!==`loadFailed`),H=()=>{p.value&&(E.value=wt(p.value),A.value=(0,xt.cloneDeep)(E.value),N.value=p.value.revision)};w(p,()=>{P.value||H()}),w(()=>r.spaceId,()=>{E.value=null,A.value=null,N.value=0,z.value=!1,B.value=null});let re=()=>{p.value&&(H(),x.value=null)},ae=e=>[...E.value?.entries??[]].filter(t=>t.days_of_week.includes(e)).sort((e,t)=>e.time.localeCompare(t.time)),oe=()=>{B.value={id:Te(),mode:F[0],time:`08:00`,days_of_week:[1,2,3,4,5],enabled:!0},z.value=!0},se=e=>{B.value=(0,xt.cloneDeep)(e),z.value=!0},le=s(()=>{let e=[...B.value?.days_of_week??[]].sort().join(`,`);return e===`0,1,2,3,4,5,6`?`daily`:e===`1,2,3,4,5`?`weekdays`:e===`0,6`?`weekend`:`custom`}),ue=e=>{!B.value||e===`custom`||(B.value.days_of_week=e===`daily`?[0,1,2,3,4,5,6]:e===`weekdays`?[1,2,3,4,5]:[0,6])},fe=()=>{if(!B.value||!E.value||!V.value||!f.value)return;let e=E.value.entries.findIndex(e=>e.id===B.value?.id);e<0?E.value.entries.push((0,xt.cloneDeep)(B.value)):E.value.entries[e]=(0,xt.cloneDeep)(B.value),z.value=!1},U=()=>{E.value&&B.value&&f.value&&(E.value.entries=E.value.entries.filter(e=>e.id!==B.value?.id)),z.value=!1},pe=()=>{if(!E.value||!ne.value||te)return;let e=E.value;return te=(async()=>{await C(N.value,e)&&H()})().finally(()=>{te=null}),te};return(e,n)=>(T(),t(R,null,[k((T(),m(h(Re),{shadow:`never`,class:`m-2`},{header:M(()=>[a(`h3`,Et,b(o(`title`)),1)]),default:M(()=>[a(`p`,null,b(o(`description`)),1),h(x)?(T(),m(h(Y),{key:0,title:o(h(x)),type:`warning`,closable:!1,"show-icon":``},null,8,[`title`])):O(``,!0),h(x)===`loadFailed`||h(x)===`conflict`||h(x)===`saveUnconfirmed`?(T(),m(h(D),{key:1,disabled:h(y)||h(g),"data-testid":`schedule-refresh`,onClick:h(S)},{default:M(()=>[u(b(o(`refresh`)),1)]),_:1},8,[`disabled`,`onClick`])):O(``,!0),E.value?(T(),t(R,{key:2},[f.value?O(``,!0):(T(),t(`p`,Dt,b(o(`readOnly`)),1)),d(h(Pe),{"label-position":`top`,disabled:!f.value||h(y)||h(g)},{default:M(()=>[d(h(J),{label:o(`enabled`)},{default:M(()=>[d(h(Ee),{modelValue:E.value.enabled,"onUpdate:modelValue":n[0]||=e=>E.value.enabled=e,"data-testid":`schedule-enabled`,"aria-label":o(`enabled`)},null,8,[`modelValue`,`aria-label`])]),_:1},8,[`label`]),d(h(J),{label:o(`timezone`)},{default:M(()=>[d(h(X),{"model-value":E.value.timezone??``,filterable:``,"allow-create":``,"default-first-option":``,"data-testid":`schedule-timezone`,"onUpdate:modelValue":n[1]||=e=>{E.value&&(E.value.timezone=e||null)}},{default:M(()=>[d(h(Z),{value:``,label:o(`houseTimezone`)},null,8,[`label`]),(T(),t(R,null,j(L,e=>d(h(Z),{key:e,value:e,label:e},null,8,[`value`,`label`])),64))]),_:1},8,[`model-value`])]),_:1},8,[`label`])]),_:1},8,[`disabled`]),a(`p`,null,b(o(`clockPolicy`)),1),a(`div`,Ot,[a(`table`,{class:`w-full border-collapse`,"aria-label":o(`weeklyView`)},[a(`thead`,null,[a(`tr`,null,[(T(),t(R,null,j(I,e=>a(`th`,{key:e,scope:`col`,class:`p-2`},b(o(`days.${e}`)),1)),64))])]),a(`tbody`,null,[a(`tr`,null,[(T(),t(R,null,j(I,e=>a(`td`,{key:e,class:`align-top p-2`},[a(`ul`,At,[(T(!0),t(R,null,j(ae(e),e=>(T(),t(`li`,{key:e.id,class:`mb-2`},[d(h(D),{disabled:!f.value||h(y)||h(g),onClick:t=>se(e)},{default:M(()=>[u(b(e.time)+` · `+b(c(e.mode)),1)]),_:2},1032,[`disabled`,`onClick`]),e.enabled?O(``,!0):(T(),t(`span`,jt,b(o(`entryDisabled`)),1))]))),128))])])),64))])])],8,kt)]),E.value.entries.length?O(``,!0):(T(),t(`p`,Mt,b(o(`empty`)),1)),ee.value?O(``,!0):(T(),m(h(Y),{key:2,title:o(`invalid`),type:`warning`,closable:!1},null,8,[`title`])),d(h(D),{disabled:!f.value||h(y)||h(g)||E.value.entries.length>=64,"data-testid":`schedule-add`,onClick:oe},{default:M(()=>[u(b(o(`add`)),1)]),_:1},8,[`disabled`]),d(h(D),{disabled:!ne.value,loading:h(y),"data-testid":`schedule-save`,onClick:pe},{default:M(()=>[u(b(o(`save`)),1)]),_:1},8,[`disabled`,`loading`]),d(h(D),{disabled:h(y)||h(g)||!P.value||!h(p),"data-testid":`schedule-discard`,onClick:re},{default:M(()=>[u(b(o(`discard`)),1)]),_:1},8,[`disabled`]),P.value?(T(),t(`p`,Nt,b(o(`unsaved`)),1)):O(``,!0),h(x)===`conflict`||P.value&&h(p)?.revision!==N.value?(T(),t(`p`,Pt,b(o(`conflictHelp`)),1)):O(``,!0)],64)):O(``,!0)]),_:1})),[[h(qe),h(g)]]),d(h(Ue),{modelValue:z.value,"onUpdate:modelValue":n[7]||=e=>z.value=e,title:o(`editEntry`),width:`min(520px, 94vw)`,"close-on-click-modal":!1,"destroy-on-close":``},{footer:M(()=>[B.value&&E.value?.entries.some(e=>e.id===B.value?.id)?(T(),m(h(D),{key:0,type:`danger`,"data-testid":`schedule-entry-delete`,disabled:!f.value||h(y),onClick:U},{default:M(()=>[u(b(o(`remove`)),1)]),_:1},8,[`disabled`])):O(``,!0),d(h(D),{onClick:n[6]||=e=>z.value=!1},{default:M(()=>[u(b(o(`cancel`)),1)]),_:1}),d(h(D),{type:`primary`,"data-testid":`schedule-entry-apply`,disabled:!V.value||!f.value||h(y),onClick:fe},{default:M(()=>[u(b(o(`apply`)),1)]),_:1},8,[`disabled`])]),default:M(()=>[B.value?(T(),m(h(Pe),{key:0,"label-position":`top`,disabled:!f.value||h(y)},{default:M(()=>[d(h(J),{label:o(`mode`)},{default:M(()=>[d(h(X),{modelValue:B.value.mode,"onUpdate:modelValue":n[2]||=e=>B.value.mode=e,"data-testid":`schedule-entry-mode`},{default:M(()=>[(T(!0),t(R,null,j(h(F),e=>(T(),m(h(Z),{key:e,value:e,label:c(e)},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`time`)},{default:M(()=>[d(h(ie),{modelValue:B.value.time,"onUpdate:modelValue":n[3]||=e=>B.value.time=e,type:`time`,"data-testid":`schedule-entry-time`},null,8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`pattern`)},{default:M(()=>[d(h(X),{"model-value":le.value,"data-testid":`schedule-pattern`,"onUpdate:modelValue":ue},{default:M(()=>[(T(),t(R,null,j([`daily`,`weekdays`,`weekend`,`custom`],e=>d(h(Z),{key:e,value:e,label:o(`patterns.${e}`)},null,8,[`value`,`label`])),64))]),_:1},8,[`model-value`])]),_:1},8,[`label`]),d(h(J),{label:o(`daysLabel`)},{default:M(()=>[d(h(ze),{modelValue:B.value.days_of_week,"onUpdate:modelValue":n[4]||=e=>B.value.days_of_week=e},{default:M(()=>[(T(),t(R,null,j(I,e=>d(h(Be),{key:e,value:e},{default:M(()=>[u(b(o(`days.${e}`)),1)]),_:2},1032,[`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`entryEnabled`)},{default:M(()=>[d(h(Ee),{modelValue:B.value.enabled,"onUpdate:modelValue":n[5]||=e=>B.value.enabled=e},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1},8,[`disabled`])):O(``,!0)]),_:1},8,[`modelValue`,`title`])],64))}}),It=e=>({enabled:e.enabled,vacancy_timeout_seconds:e.vacancy_timeout_seconds,maximum_age_seconds:e.maximum_age_seconds,sensor_property_ids:[...e.sensor_property_ids],occupied_mode:e.occupied_mode,vacant_mode:e.vacant_mode}),Lt=e=>{let{client:t}=we(),n=v(null),r=v(!1),i=v(!1),a=v(null),o=0,s=!1,c=null,l=null,u=`/modules/spaces/spaces/{id}/occupancy`,d=(t,n)=>!s&&e.value===t&&n===o,f=async(e,n)=>{let r=await t.GET(u,{params:{path:{id:e}},signal:n});if(r.error||!r.data?.data||r.data.data.space_id!==e)throw Error(`loadFailed`);return r.data.data},p=async()=>{let t=e.value;if(s||!t||i.value)return;let c=++o;r.value=!0,a.value=null,l?.abort();let u=new AbortController;l=u;let p=setTimeout(()=>u.abort(),1e4);try{let e=await f(t,u.signal);d(t,c)&&(n.value=e)}catch{d(t,c)&&(a.value=`loadFailed`)}finally{clearTimeout(p),l===u&&(l=null),d(t,c)&&(r.value=!1)}};return w(e,()=>{o++,c?.abort(),l?.abort(),c=null,n.value=null,i.value=!1,r.value=!1,a.value=null,p()},{immediate:!0}),g(()=>{s=!0,o++,c?.abort(),l?.abort()}),{configuration:n,loading:r,busy:i,error:a,load:p,save:async(l,p)=>{let m=e.value;if(s||!m||i.value||r.value||a.value===`conflict`||n.value?.revision!==l)return null;let h=++o;i.value=!0,a.value=null;let g=new AbortController;c=g;let _=setTimeout(()=>g.abort(),3e4);try{let e=await t.PUT(u,{signal:g.signal,params:{path:{id:m}},body:{data:{...(0,xt.cloneDeep)(p),expected_revision:l}}});if(!d(m,h))return null;if(e.response.status===409){a.value=`conflict`,n.value=null;try{let e=await f(m,g.signal);d(m,h)&&(n.value=e)}catch{d(m,h)&&(a.value=`loadFailed`)}return null}if(e.response.status===400||e.response.status===422)return a.value=`invalid`,null;if(e.error||!e.data?.data||e.data.data.space_id!==m)throw Error(`saveFailed`);return n.value=e.data.data,e.data.data}catch{if(!d(m,h))return null;clearTimeout(_),n.value=null,a.value=`saveUnconfirmed`;let e=new AbortController;c=e;let t=setTimeout(()=>e.abort(),1e4);try{let t=await f(m,e.signal);d(m,h)&&(n.value=t)}catch{}finally{clearTimeout(t),c===e&&(c=null)}return null}finally{clearTimeout(_),c===g&&(c=null),d(m,h)&&(i.value=!1)}}}},Rt={class:`m-0`},zt={"data-testid":`occupancy-observed`},Bt={key:0},Vt={key:0},Ht={key:1},Ut={key:4},Wt=c({__name:`SpaceOccupancySection`,props:{spaceId:{},supported:{type:Boolean,default:!0}},setup(e,{expose:n}){let r=e,{t:i}=_(),o=e=>i(`spacesHomeControlPlugin.occupancy.${e}`),c=e=>i(`spacesHomeControlPlugin.activityModes.modes.${e}`),{profile:l}=_t(),f=s(()=>r.supported!==!1&&[de.owner,de.admin].includes(l.value?.role)),{client:p}=we(),{configuration:y,loading:x,busy:S,error:C,load:E,save:A}=Lt(s(()=>r.spaceId)),N=v(null),P=v(null),F=v(0),I=s(()=>!(0,xt.isEqual)(N.value,P.value)),L=v(null),z=v([]),B=v(!1),V=v(!1),ee=null,te=0,ne=null,H=v(!1),re=!1,ie=null,ae=Object.values(ce),oe=s(()=>[...z.value,...(N.value?.sensor_property_ids??[]).filter(e=>!z.value.some(t=>t.property_id===e)).map(e=>({property_id:e,device_id:``,label:`${o(`missingSensor`)} (${e})`}))]),se=s({get:()=>(N.value?.vacancy_timeout_seconds??900)/60,set:e=>{N.value&&e!==void 0&&(N.value.vacancy_timeout_seconds=Math.round(e*60))}}),le=s({get:()=>(N.value?.maximum_age_seconds??3600)/60,set:e=>{N.value&&e!==void 0&&(N.value.maximum_age_seconds=Math.round(e*60))}}),ue=s(()=>!!N.value&&(!N.value.enabled||N.value.sensor_property_ids.length>0)&&N.value.sensor_property_ids.length<=32&&N.value.maximum_age_seconds>N.value.vacancy_timeout_seconds),fe=s(()=>f.value&&!H.value&&I.value&&ue.value&&!S.value&&!x.value&&y.value?.revision===F.value&&![`conflict`,`loadFailed`,`saveUnconfirmed`].includes(C.value??``)),U=()=>{y.value&&(N.value=It(y.value),P.value=(0,xt.cloneDeep)(N.value),F.value=y.value.revision)};w(y,()=>{I.value||U()});let pe=async()=>{if(re)return;ee?.abort();let e=new AbortController;ee=e;let t=++te,n=r.spaceId;B.value=!0,V.value=!1;let i=setTimeout(()=>e.abort(),1e4);try{let[i,a]=await Promise.allSettled([p.GET(`/modules/spaces/spaces/{id}/occupancy/sensors`,{params:{path:{id:n}},signal:e.signal}),p.GET(`/modules/spaces/spaces/{id}/occupancy/state`,{params:{path:{id:n}},signal:e.signal})]);if(t!==te||n!==r.spaceId)return;let o=i.status===`fulfilled`?i.value.data?.data:void 0,s=a.status===`fulfilled`?a.value.data?.data:void 0;z.value=o??[],L.value=s?.space_id===n?s:null,V.value=!o||!L.value}catch{t===te&&(V.value=!0,L.value=null)}finally{clearTimeout(i),t===te&&(B.value=!1)}},W=async()=>{re||await Promise.all([E(),pe()])};w(()=>r.spaceId,()=>{ie?.abort(),N.value=null,P.value=null,F.value=0,L.value=null,z.value=[],pe()},{immediate:!0});let me=()=>{y.value&&(U(),C.value=null)},G=()=>{if(!(!fe.value||!N.value||ne))return H.value=!0,ne=(async()=>{await A(F.value,N.value)&&U(),await pe()})().finally(()=>{ne=null,H.value=!1}),ne},he=()=>{if(!f.value||!y.value||ne||S.value||x.value||I.value)return;let e=r.spaceId,t=y.value.revision,n=null;return H.value=!0,ne=(async()=>{let i=new AbortController;ie=i;let a=setTimeout(()=>i.abort(),1e4);try{let r=await p.POST(`/modules/spaces/spaces/{id}/occupancy/resume`,{params:{path:{id:e}},body:{data:{expected_revision:t}},signal:i.signal});if(r.response.status===409)n=`conflict`;else if(r.error)throw Error(`resumeFailed`)}catch{n=`saveUnconfirmed`,!re&&r.spaceId===e&&(C.value=`saveUnconfirmed`)}finally{clearTimeout(a),ie===i&&(ie=null)}!re&&r.spaceId===e&&(await W(),n&&!re&&r.spaceId===e&&(C.value=n))})().finally(()=>{ne=null,H.value=!1}),ne};return n({hasUnsavedChanges:I,waitForSave:()=>ne??Promise.resolve()}),g(()=>{re=!0,te++,ee?.abort(),ie?.abort()}),(e,n)=>k((T(),m(h(Re),{shadow:`never`,class:`m-2`},{header:M(()=>[a(`h3`,Rt,b(o(`title`)),1)]),default:M(()=>[a(`p`,null,b(o(`description`)),1),a(`p`,zt,b(o(`status`))+`: `+b(o(r.supported!==!1&&L.value?.running?L.value.status??`unknown`:`unknown`)),1),L.value?.manual_override?(T(),t(`p`,Bt,b(o(`manual`)),1)):O(``,!0),L.value?.manual_override&&f.value?(T(),m(h(D),{key:1,disabled:h(S)||h(x)||H.value||I.value||!h(y),loading:H.value,"data-testid":`occupancy-resume`,onClick:he},{default:M(()=>[u(b(o(`resume`)),1)]),_:1},8,[`disabled`,`loading`])):O(``,!0),h(C)||V.value?(T(),m(h(Y),{key:2,title:o(h(C)??`supplementalFailed`),type:`warning`,closable:!1},null,8,[`title`])):O(``,!0),d(h(D),{disabled:h(S)||h(x)||H.value||B.value,"data-testid":`occupancy-refresh`,onClick:W},{default:M(()=>[u(b(o(`refresh`)),1)]),_:1},8,[`disabled`]),N.value?(T(),t(R,{key:3},[r.supported===!1?(T(),t(`p`,Vt,b(o(`unsupportedSpace`)),1)):f.value?O(``,!0):(T(),t(`p`,Ht,b(o(`readOnly`)),1)),d(h(Pe),{"label-position":`top`,disabled:!f.value||h(S)||h(x)||H.value},{default:M(()=>[d(h(J),{label:o(`enabled`)},{default:M(()=>[d(h(Ee),{modelValue:N.value.enabled,"onUpdate:modelValue":n[0]||=e=>N.value.enabled=e,"data-testid":`occupancy-enabled`},null,8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`timeout`)},{default:M(()=>[d(h(Ie),{modelValue:se.value,"onUpdate:modelValue":n[1]||=e=>se.value=e,min:.5,max:1440,step:.5,"data-testid":`occupancy-timeout`},null,8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`maximumAge`)},{default:M(()=>[d(h(Ie),{modelValue:le.value,"onUpdate:modelValue":n[2]||=e=>le.value=e,min:1,max:1440,"data-testid":`occupancy-maximum-age`},null,8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`sensors`)},{default:M(()=>[d(h(ze),{modelValue:N.value.sensor_property_ids,"onUpdate:modelValue":n[3]||=e=>N.value.sensor_property_ids=e,"data-testid":`occupancy-sensors`},{default:M(()=>[(T(!0),t(R,null,j(oe.value,e=>(T(),m(h(Be),{key:e.property_id,value:e.property_id},{default:M(()=>[u(b(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`whenOccupied`)},{default:M(()=>[d(h(X),{"model-value":N.value.occupied_mode??``,"data-testid":`occupancy-occupied-mode`,"onUpdate:modelValue":n[4]||=e=>{N.value&&(N.value.occupied_mode=e===``?null:e)}},{default:M(()=>[d(h(Z),{value:``,label:o(`restore`)},null,8,[`label`]),(T(!0),t(R,null,j(h(ae),e=>(T(),m(h(Z),{key:e,value:e,label:c(e)},null,8,[`value`,`label`]))),128))]),_:1},8,[`model-value`])]),_:1},8,[`label`]),d(h(J),{label:o(`whenVacant`)},{default:M(()=>[d(h(X),{"model-value":N.value.vacant_mode??``,"data-testid":`occupancy-vacant-mode`,"onUpdate:modelValue":n[5]||=e=>{N.value&&(N.value.vacant_mode=e===``?null:e)}},{default:M(()=>[d(h(Z),{value:``,label:o(`noChange`)},null,8,[`label`]),(T(!0),t(R,null,j(h(ae),e=>(T(),m(h(Z),{key:e,value:e,label:c(e)},null,8,[`value`,`label`]))),128))]),_:1},8,[`model-value`])]),_:1},8,[`label`])]),_:1},8,[`disabled`]),ue.value?O(``,!0):(T(),m(h(Y),{key:2,title:o(`invalid`),type:`warning`,closable:!1},null,8,[`title`])),I.value&&h(y)?.revision!==F.value?(T(),m(h(Y),{key:3,title:o(`conflictHelp`),type:`warning`,closable:!1},null,8,[`title`])):O(``,!0),d(h(D),{disabled:!fe.value,loading:h(S),"data-testid":`occupancy-save`,onClick:G},{default:M(()=>[u(b(o(`save`)),1)]),_:1},8,[`disabled`,`loading`]),d(h(D),{disabled:h(S)||h(x)||H.value||!I.value||!h(y),"data-testid":`occupancy-discard`,onClick:me},{default:M(()=>[u(b(o(`discard`)),1)]),_:1},8,[`disabled`]),I.value?(T(),t(`p`,Ut,b(o(`unsaved`)),1)):O(``,!0)],64)):O(``,!0)]),_:1})),[[h(qe),h(x)||B.value]])}}),Gt={key:1,class:`flex justify-center py-4`},Kt={class:`flex items-center gap-2`},qt={class:`flex flex-col`},Jt={key:0,class:`text-xs text-gray-400`},Yt={class:`flex gap-1`},Xt={class:`flex justify-between items-center mt-4`},Zt={class:`text-xs text-gray-400`},Qt=c({__name:`space-lighting-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let n=e,{t:r}=_(),o=we(),c=De(),{lightingSignal:l}=bt(),p=v(!1),g=v(!1),y=v([]),x=s(()=>[{value:K.main,label:r(`spacesHomeControlPlugin.lightingRoles.main`)},{value:K.task,label:r(`spacesHomeControlPlugin.lightingRoles.task`)},{value:K.ambient,label:r(`spacesHomeControlPlugin.lightingRoles.ambient`)},{value:K.accent,label:r(`spacesHomeControlPlugin.lightingRoles.accent`)},{value:K.night,label:r(`spacesHomeControlPlugin.lightingRoles.night`)},{value:K.other,label:r(`spacesHomeControlPlugin.lightingRoles.other`)},{value:K.hidden,label:r(`spacesHomeControlPlugin.lightingRoles.hidden`)}]),C=async()=>{p.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/lighting/targets`,{params:{path:{id:n.space.id}}});if(t||!e)return;y.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{p.value=!1}},E=async(e,t)=>{try{if(t){let{error:r}=await o.client.POST(`/${A}/${Q}/spaces/{id}/lighting/roles`,{params:{path:{id:n.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(r){c.error(`Failed to update lighting role`);return}e.role=t}else{let{error:t}=await o.client.DELETE(`/${A}/${Q}/spaces/{id}/lighting/roles/{deviceId}/{channelId}`,{params:{path:{id:n.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear lighting role`);return}e.role=null}}catch{c.error(`Failed to update lighting role`)}},k=async()=>{g.value=!0;try{let{data:e,error:t}=await o.client.POST(`/${A}/${Q}/spaces/{id}/lighting/roles/defaults`,{params:{path:{id:n.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await C(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{g.value=!1}};return w(()=>n.space?.id,e=>{e&&C()}),w(()=>l?.value,()=>{n.space?.id&&C()}),S(()=>{n.space?.id&&C()}),(n,o)=>(T(),t(`div`,{class:N({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(T(),m(h(G),{key:0,"content-position":`left`,class:`mt-6!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.edit.sections.smartOverrides.lightingRoles`)),1)]),_:1})),d(h(Y),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.description`)),1)]),_:1}),p.value&&y.value.length===0?(T(),t(`div`,Gt,[d(h(i),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):y.value.length>0||p.value?(T(),t(R,{key:2},[d(h(Ne),{data:y.value,border:``,"max-height":`400px`},{default:M(()=>[d(h(q),{prop:`deviceName`,label:h(r)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:M(({row:e})=>[a(`div`,Kt,[d(h(i),{icon:`mdi:lightbulb`}),a(`div`,qt,[a(`span`,null,b(e.deviceName),1),e.channelName?(T(),t(`span`,Jt,b(e.channelName),1)):O(``,!0)])])]),_:1},8,[`label`]),d(h(q),{label:h(r)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.title`),width:`160`},{default:M(({row:e})=>[d(h(X),{"model-value":e.role??``,placeholder:h(r)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>E(e,t)},{default:M(()=>[(T(!0),t(R,null,j(x.value,e=>(T(),m(h(Z),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(h(q),{label:``,width:`100`},{default:M(({row:e})=>[a(`div`,Yt,[e.hasBrightness?(T(),m(h(W),{key:0,type:`info`,size:`small`},{default:M(()=>[...o[0]||=[u(`Dim`,-1)]]),_:1})):O(``,!0),e.hasColor?(T(),m(h(W),{key:1,type:`success`,size:`small`},{default:M(()=>[...o[1]||=[u(`RGB`,-1)]]),_:1})):O(``,!0)])]),_:1})]),_:1},8,[`data`]),a(`div`,Xt,[d(h(D),{size:`small`,loading:g.value,onClick:k},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),a(`div`,Zt,b(h(r)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.applyDefaultsHint`)),1)])],64)):(T(),m(h(f),{key:3},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:lightbulb`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.lightingRoles.noLights`)),1)]),_:1}))],2))}}),$t=c({name:`SpaceLightingRolesDialog`,__name:`space-lighting-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),a=s({get:()=>n.visible,set:e=>r(`update:visible`,e)}),o=()=>{r(`roles-changed`),a.value=!1};return(e,t)=>(T(),m(h(Ue),{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,title:h(i)(`spacesHomeControlPlugin.dialogs.lightingRoles.title`),class:`max-w-[700px]`,onClose:o},{footer:M(()=>[d(h(D),{type:`primary`,onClick:o},{default:M(()=>[u(b(h(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:M(()=>[d(Qt,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),en={key:1,class:`flex justify-center py-4`},tn={class:`flex items-center gap-2`},nn={class:`flex flex-col`},rn={key:0,class:`text-xs text-gray-400`},an={class:`flex gap-1`},on={class:`flex justify-between items-center mt-4`},sn={class:`text-xs text-gray-400 ml-4`},cn=c({__name:`space-climate-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let n=e,{t:r}=_(),o=we(),c=De(),{climateSignal:l}=bt(),p=v(!1),g=v(!1),y=v([]),x=s(()=>[{value:H.heating_only,label:r(`spacesHomeControlPlugin.climateRoles.${H.heating_only}`)},{value:H.cooling_only,label:r(`spacesHomeControlPlugin.climateRoles.${H.cooling_only}`)},{value:H.auto,label:r(`spacesHomeControlPlugin.climateRoles.${H.auto}`)},{value:H.auxiliary,label:r(`spacesHomeControlPlugin.climateRoles.${H.auxiliary}`)},{value:H.hidden,label:r(`spacesHomeControlPlugin.climateRoles.${H.hidden}`)}]),C=s(()=>[{value:H.sensor,label:r(`spacesHomeControlPlugin.climateRoles.${H.sensor}`)},{value:H.hidden,label:r(`spacesHomeControlPlugin.climateRoles.${H.hidden}`)}]),E=e=>e.deviceCategory===`sensor`?C.value:x.value,k=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`}},P=async()=>{p.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/climate/targets`,{params:{path:{id:n.space.id}}});if(t||!e)return;y.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{p.value=!1}},I=async(e,t)=>{try{if(t){let r={device_id:e.deviceId,role:t};e.channelId&&(r.channel_id=e.channelId);let{error:i}=await o.client.POST(`/${A}/${Q}/spaces/{id}/climate/roles`,{params:{path:{id:n.space.id}},body:{data:r}});if(i){c.error(`Failed to update climate role`);return}e.role=t}else{let{error:t}=await o.client.DELETE(`/${A}/${Q}/spaces/{id}/climate/roles/{deviceId}`,{params:{path:{id:n.space.id,deviceId:e.deviceId},query:e.channelId?{channelId:e.channelId}:void 0}});if(t){c.error(`Failed to clear climate role`);return}e.role=null}}catch{c.error(`Failed to update climate role`)}},L=async()=>{g.value=!0;try{let{data:e,error:t}=await o.client.POST(`/${A}/${Q}/spaces/{id}/climate/roles/defaults`,{params:{path:{id:n.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await P(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{g.value=!1}};return w(()=>n.space?.id,e=>{e&&P()}),w(()=>l?.value,()=>{n.space?.id&&P()}),S(()=>{n.space?.id&&P()}),(n,o)=>(T(),t(`div`,{class:N({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(T(),m(h(G),{key:0,"content-position":`left`,class:`mt-6!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.edit.sections.smartOverrides.climateRoles`)),1)]),_:1})),d(h(Y),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.climateRoles.description`)),1)]),_:1}),p.value&&y.value.length===0?(T(),t(`div`,en,[d(h(i),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):y.value.length>0||p.value?(T(),t(R,{key:2},[d(h(Ne),{data:y.value,border:``,"max-height":`400px`},{default:M(()=>[d(h(q),{prop:`deviceName`,label:h(r)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:M(({row:e})=>[a(`div`,tn,[d(h(i),{icon:k(e.deviceCategory)},null,8,[`icon`]),a(`div`,nn,[a(`span`,null,b(e.deviceName),1),e.channelName?(T(),t(`span`,rn,b(e.channelName),1)):O(``,!0)])])]),_:1},8,[`label`]),d(h(q),{label:h(r)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.title`),width:`200`},{default:M(({row:e})=>[d(h(X),{"model-value":e.role??``,placeholder:h(r)(`spacesHomeControlPlugin.fields.spaces.climateRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>I(e,t)},{default:M(()=>[(T(!0),t(R,null,j(E(e),e=>(T(),m(h(Z),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:2},1032,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(h(q),{label:``,width:`120`},{default:M(({row:e})=>[a(`div`,an,[e.hasTemperature?(T(),m(h(W),{key:0,type:`warning`,size:`small`},{default:M(()=>[...o[0]||=[u(`Temp`,-1)]]),_:1})):O(``,!0),e.hasHumidity?(T(),m(h(W),{key:1,type:`info`,size:`small`},{default:M(()=>[...o[1]||=[u(`Humid`,-1)]]),_:1})):O(``,!0)])]),_:1})]),_:1},8,[`data`]),a(`div`,on,[d(h(D),{size:`small`,loading:g.value,onClick:L},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),a(`div`,sn,b(h(r)(`spacesHomeControlPlugin.fields.spaces.climateRoles.applyDefaultsHint`)),1)])],64)):(T(),m(h(f),{key:3},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:thermostat`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.climateRoles.noDevices`)),1)]),_:1}))],2))}}),ln=c({name:`SpaceClimateRolesDialog`,__name:`space-climate-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),a=s({get:()=>n.visible,set:e=>r(`update:visible`,e)}),o=()=>{r(`roles-changed`),a.value=!1};return(e,t)=>(T(),m(h(Ue),{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,title:h(i)(`spacesHomeControlPlugin.dialogs.climateRoles.title`),class:`max-w-[700px]`,onClose:o},{footer:M(()=>[d(h(D),{type:`primary`,onClick:o},{default:M(()=>[u(b(h(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:M(()=>[d(cn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),un={key:1,class:`flex justify-center py-4`},dn={class:`flex items-center gap-2`},fn={class:`flex flex-col`},pn={key:0,class:`text-xs text-gray-400`},mn={class:`flex gap-1`},hn={class:`flex justify-between items-center mt-4`},gn={class:`text-xs text-gray-400`},_n=c({__name:`space-covers-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let n=e,{t:r}=_(),o=we(),c=De(),{coversSignal:l}=bt(),p=v(!1),g=v(!1),y=v([]),x=s(()=>[{value:U.primary,label:r(`spacesHomeControlPlugin.coversRoles.primary`)},{value:U.blackout,label:r(`spacesHomeControlPlugin.coversRoles.blackout`)},{value:U.sheer,label:r(`spacesHomeControlPlugin.coversRoles.sheer`)},{value:U.outdoor,label:r(`spacesHomeControlPlugin.coversRoles.outdoor`)},{value:U.hidden,label:r(`spacesHomeControlPlugin.coversRoles.hidden`)}]),C=async()=>{p.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/covers/targets`,{params:{path:{id:n.space.id}}});if(t||!e)return;y.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{p.value=!1}},E=async(e,t)=>{try{if(t){let{error:r}=await o.client.POST(`/${A}/${Q}/spaces/{id}/covers/roles`,{params:{path:{id:n.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(r){c.error(`Failed to update covers role`);return}e.role=t}else{let{error:t}=await o.client.DELETE(`/${A}/${Q}/spaces/{id}/covers/roles/{deviceId}/{channelId}`,{params:{path:{id:n.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear covers role`);return}e.role=null}}catch{c.error(`Failed to update covers role`)}},k=async()=>{g.value=!0;try{let{data:e,error:t}=await o.client.POST(`/${A}/${Q}/spaces/{id}/covers/roles/defaults`,{params:{path:{id:n.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await C(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{g.value=!1}};return w(()=>n.space?.id,e=>{e&&C()}),w(()=>l?.value,()=>{n.space?.id&&C()}),S(()=>{n.space?.id&&C()}),(n,o)=>(T(),t(`div`,{class:N({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(T(),m(h(G),{key:0,"content-position":`left`,class:`mt-6!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.edit.sections.smartOverrides.coversRoles`)),1)]),_:1})),d(h(Y),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.coversRoles.description`)),1)]),_:1}),p.value&&y.value.length===0?(T(),t(`div`,un,[d(h(i),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):y.value.length>0||p.value?(T(),t(R,{key:2},[d(h(Ne),{data:y.value,border:``,"max-height":`400px`},{default:M(()=>[d(h(q),{prop:`deviceName`,label:h(r)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:M(({row:e})=>[a(`div`,dn,[d(h(i),{icon:`mdi:blinds`}),a(`div`,fn,[a(`span`,null,b(e.deviceName),1),e.channelName?(T(),t(`span`,pn,b(e.channelName),1)):O(``,!0)])])]),_:1},8,[`label`]),d(h(q),{label:h(r)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.title`),width:`160`},{default:M(({row:e})=>[d(h(X),{"model-value":e.role??``,placeholder:h(r)(`spacesHomeControlPlugin.fields.spaces.coversRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>E(e,t)},{default:M(()=>[(T(!0),t(R,null,j(x.value,e=>(T(),m(h(Z),{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),d(h(q),{label:``,width:`100`},{default:M(({row:e})=>[a(`div`,mn,[e.hasPosition?(T(),m(h(W),{key:0,type:`info`,size:`small`},{default:M(()=>[...o[0]||=[u(`Pos`,-1)]]),_:1})):O(``,!0),e.hasTilt?(T(),m(h(W),{key:1,type:`success`,size:`small`},{default:M(()=>[...o[1]||=[u(`Tilt`,-1)]]),_:1})):O(``,!0)])]),_:1})]),_:1},8,[`data`]),a(`div`,hn,[d(h(D),{size:`small`,loading:g.value,onClick:k},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),a(`div`,gn,b(h(r)(`spacesHomeControlPlugin.fields.spaces.coversRoles.applyDefaultsHint`)),1)])],64)):(T(),m(h(f),{key:3},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:blinds`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.coversRoles.noCovers`)),1)]),_:1}))],2))}}),vn=c({name:`SpaceCoversRolesDialog`,__name:`space-covers-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),a=s({get:()=>n.visible,set:e=>r(`update:visible`,e)}),o=()=>{r(`roles-changed`),a.value=!1};return(e,t)=>(T(),m(h(Ue),{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,title:h(i)(`spacesHomeControlPlugin.dialogs.coversRoles.title`),class:`max-w-[700px]`,onClose:o},{footer:M(()=>[d(h(D),{type:`primary`,onClick:o},{default:M(()=>[u(b(h(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:M(()=>[d(_n,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),yn={key:1,class:`flex justify-center py-4`},bn={class:`flex items-center gap-2`},xn={class:`flex flex-col`},Sn={class:`text-xs text-gray-400`},Cn={class:`flex justify-between items-center mt-4`},wn={class:`text-xs text-gray-400 ml-4`},Tn=c({name:`SpaceSensorRoles`,__name:`space-sensor-roles`,props:{space:{},hideHeader:{type:Boolean,default:!1}},setup(e){let n=e,{t:r}=_(),o=we(),c=De(),{sensorSignal:l}=bt(),p=v(!1),g=v(!1),y=v([]),x=s(()=>Ze.map(e=>({value:e,label:r(`spacesHomeControlPlugin.sensorRoles.${e}`)}))),C=e=>{switch(e){case`temperature`:return r(`spacesHomeControlPlugin.sensorRoles.categories.temperature`);case`humidity`:return r(`spacesHomeControlPlugin.sensorRoles.categories.humidity`);case`pressure`:return r(`spacesHomeControlPlugin.sensorRoles.categories.pressure`);case`illuminance`:return r(`spacesHomeControlPlugin.sensorRoles.categories.illuminance`);case`smoke`:return r(`spacesHomeControlPlugin.sensorRoles.categories.smoke`);case`gas`:return r(`spacesHomeControlPlugin.sensorRoles.categories.gas`);case`carbon_monoxide`:return r(`spacesHomeControlPlugin.sensorRoles.categories.carbon_monoxide`);case`carbon_dioxide`:return r(`spacesHomeControlPlugin.sensorRoles.categories.carbon_dioxide`);case`leak`:return r(`spacesHomeControlPlugin.sensorRoles.categories.leak`);case`motion`:return r(`spacesHomeControlPlugin.sensorRoles.categories.motion`);case`occupancy`:return r(`spacesHomeControlPlugin.sensorRoles.categories.occupancy`);case`contact`:return r(`spacesHomeControlPlugin.sensorRoles.categories.contact`);case`air_quality`:return r(`spacesHomeControlPlugin.sensorRoles.categories.air_quality`);case`air_particulate`:return r(`spacesHomeControlPlugin.sensorRoles.categories.air_particulate`);case`nitrogen_dioxide`:return r(`spacesHomeControlPlugin.sensorRoles.categories.nitrogen_dioxide`);case`ozone`:return r(`spacesHomeControlPlugin.sensorRoles.categories.ozone`);case`sulphur_dioxide`:return r(`spacesHomeControlPlugin.sensorRoles.categories.sulphur_dioxide`);case`volatile_organic_compounds`:return r(`spacesHomeControlPlugin.sensorRoles.categories.volatile_organic_compounds`);case`electrical_energy`:return r(`spacesHomeControlPlugin.sensorRoles.categories.electrical_energy`);case`electrical_generation`:return r(`spacesHomeControlPlugin.sensorRoles.categories.electrical_generation`);case`electrical_power`:return r(`spacesHomeControlPlugin.sensorRoles.categories.electrical_power`);case`battery`:return r(`spacesHomeControlPlugin.sensorRoles.categories.battery`);default:return e}},E=async()=>{p.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/sensors/targets`,{params:{path:{id:n.space.id}}});if(t||!e)return;y.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{p.value=!1}},k=async(e,t)=>{try{if(t){let{error:r}=await o.client.POST(`/${A}/${Q}/spaces/{id}/sensors/roles`,{params:{path:{id:n.space.id}},body:{data:{device_id:e.deviceId,channel_id:e.channelId,role:t}}});if(r){c.error(`Failed to update sensor role`);return}e.role=t}else{let{error:t}=await o.client.DELETE(`/${A}/${Q}/spaces/{id}/sensors/roles/{deviceId}/{channelId}`,{params:{path:{id:n.space.id,deviceId:e.deviceId,channelId:e.channelId}}});if(t){c.error(`Failed to clear sensor role`);return}e.role=null}}catch{c.error(`Failed to update sensor role`)}},P=async()=>{g.value=!0;try{let{data:e,error:t}=await o.client.POST(`/${A}/${Q}/spaces/{id}/sensors/roles/defaults`,{params:{path:{id:n.space.id}}});if(t||!e){c.error(`Failed to apply default roles`);return}await E(),c.success(`Applied ${e.data?.success_count??0} default role(s)`)}finally{g.value=!1}};return w(()=>n.space?.id,e=>{e&&E()}),w(()=>l?.value,()=>{n.space?.id&&E()}),S(()=>{n.space?.id&&E()}),(n,o)=>(T(),t(`div`,{class:N({"mt-2":!e.hideHeader})},[e.hideHeader?O(``,!0):(T(),m(h(G),{key:0,"content-position":`left`,class:`mt-6!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.edit.sections.smartOverrides.sensorRoles`)),1)]),_:1})),d(h(Y),{type:`info`,closable:!1,"show-icon":``,class:`mb-4!`},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.description`)),1)]),_:1}),p.value&&y.value.length===0?(T(),t(`div`,yn,[d(h(i),{icon:`mdi:loading`,class:`animate-spin text-2xl`})])):y.value.length>0||p.value?(T(),t(R,{key:2},[d(h(Ne),{data:y.value,border:``,"max-height":`400px`},{default:M(()=>[d(h(q),{prop:`deviceName`,label:h(r)(`spacesModule.wizard.deviceName`),"min-width":`180`},{default:M(({row:e})=>[a(`div`,bn,[d(h(i),{icon:`mdi:motion-sensor`}),a(`div`,xn,[a(`span`,null,b(e.deviceName),1),a(`span`,Sn,b(e.channelName),1)])])]),_:1},8,[`label`]),d(h(q),{label:h(r)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.channel.title`),width:`200`},{default:M(({row:e})=>[d(h(W),{size:`small`,type:`info`},{default:M(()=>[u(b(C(e.channelCategory)),1)]),_:2},1024)]),_:1},8,[`label`]),d(h(q),{label:h(r)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.title`),width:`200`},{default:M(({row:e})=>[d(h(X),{"model-value":e.role??``,placeholder:h(r)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.role.placeholder`),clearable:``,"onUpdate:modelValue":t=>k(e,t)},{default:M(()=>[(T(!0),t(R,null,j(x.value,e=>(T(),m(h(Z),{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`]),a(`div`,Cn,[d(h(D),{size:`small`,loading:g.value,onClick:P},{default:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaults`)),1)]),_:1},8,[`loading`]),a(`div`,wn,b(h(r)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.applyDefaultsHint`)),1)])],64)):(T(),m(h(f),{key:3},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:motion-sensor`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(r)(`spacesHomeControlPlugin.fields.spaces.sensorRoles.noSensors`)),1)]),_:1}))],2))}}),En=c({name:`SpaceSensorRolesDialog`,__name:`space-sensor-roles-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`roles-changed`],setup(e,{emit:t}){let n=e,r=t,{t:i}=_(),a=s({get:()=>n.visible,set:e=>r(`update:visible`,e)}),o=()=>{r(`roles-changed`),a.value=!1};return(e,t)=>(T(),m(h(Ue),{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,title:h(i)(`spacesHomeControlPlugin.dialogs.sensorRoles.title`),class:`max-w-[700px]`,onClose:o},{footer:M(()=>[d(h(D),{type:`primary`,onClick:o},{default:M(()=>[u(b(h(i)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:M(()=>[d(Tn,{space:n.space,"hide-header":``},null,8,[`space`])]),_:1},8,[`modelValue`,`title`]))}}),Dn={class:`flex items-start gap-3`},On={class:`flex-1 min-w-0 space-domain-card__content`},kn={class:`space-domain-card__title`},An={class:`space-domain-card__description`},jn={class:`space-domain-card__tags`},Mn={class:`flex items-center gap-1`},Nn={key:2,class:`space-domain-card__not-configured`},Pn={class:`space-domain-card__chevron`},Fn=o(c({name:`SpaceDomainCard`,__name:`space-domain-card`,props:{icon:{},iconColor:{},title:{},description:{},tags:{},loading:{type:Boolean}},emits:[`click`],setup(e,{emit:n}){let r=e,o=n,{t:s}=_();return(e,n)=>(T(),m(h(Re),{shadow:`hover`,class:`space-domain-card`,"body-class":`p-4!`,onClick:n[0]||=e=>o(`click`)},{default:M(()=>[a(`div`,Dn,[a(`div`,{class:`space-domain-card__icon`,style:x({backgroundColor:`var(--el-color-${r.iconColor}-light-9)`,color:`var(--el-color-${r.iconColor})`})},[d(h(i),{icon:r.icon},null,8,[`icon`])],4),a(`div`,On,[a(`h3`,kn,b(r.title),1),a(`p`,An,b(r.description),1),a(`div`,jn,[r.loading?(T(),m(h(Fe),{key:0,animated:``,rows:0,class:`w-20`})):r.tags.length>0?(T(!0),t(R,{key:1},j(r.tags,e=>(T(),m(h(W),{key:e.label,type:e.type,size:`small`},{default:M(()=>[a(`div`,Mn,[d(h(i),{icon:e.icon},null,8,[`icon`]),u(` `+b(e.label)+` `,1),d(h(ne),{value:e.count,type:e.type,class:`ml-1`},null,8,[`value`,`type`])])]),_:2},1032,[`type`]))),128)):(T(),t(`span`,Nn,b(h(s)(`spacesHomeControlPlugin.detail.domains.notConfigured`)),1))])]),a(`div`,Pn,[d(h(i),{icon:`mdi:chevron-right`})])])]),_:1}))}}),[[`__scopeId`,`data-v-69dd2703`]]),In=e=>({propertyId:e.property_id??e.propertyId,dataType:e.data_type??e.dataType,format:e.format??null}),Ln=e=>{let t=e.capabilities??{},n=e.links??{},r={};return(n.input_select||n.inputSelect)&&(r.inputSelect=In(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}},Rn=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}),zn=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}),Bn=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}),Vn=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(zn):void 0,warnings:Array.isArray(e.warnings)?e.warnings.map(zn):void 0,errors:Array.isArray(e.errors)?e.errors.map(zn):void 0,warningCount:e.warning_count??e.warningCount??0,errorCount:e.error_count??e.errorCount??0}),Hn=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}},Un=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?Bn(t):{},plan:n.map(Hn),warnings:r.map(e=>({label:e.label??``}))}},Wn=e=>{let t=e.resolved,n=e.summary;return{activityKey:e.activity_key??null,state:e.state??`deactivated`,resolved:t?Bn(t):void 0,summary:n?Vn(n):void 0,warnings:e.warnings}},Gn=e=>{let t,n;if(e.resolved)try{t=Bn(typeof e.resolved==`string`?JSON.parse(e.resolved):e.resolved)}catch{}if(e.last_result)try{n=Vn(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}},Kn=e=>{switch(e){case`watch`:return`primary`;case`listen`:return`success`;case`gaming`:return`danger`;case`background`:return`info`;default:return`info`}},qn=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`}},Jn=e=>{let t=we(),n=v([]),r=v([]),i=v(null),a=v(!1),o=v(!1),c=v(!1),l=v(!1),u=v(!1),d=v(!1),f=v(!1),p=v(null),m=v(null),h=v(null),g=v(!1),_=v(null),y=v(null),b=s(()=>n.value),x=s(()=>r.value),S=async()=>{if(!(!e.value||a.value)){a.value=!0,p.value=null;try{let{data:r,error:i}=await t.client.GET(`/${A}/${Q}/spaces/{id}/media/endpoints`,{params:{path:{id:e.value}}});if(i||!r)throw Error(`Failed to fetch media endpoints`);let a=(r.data??{}).endpoints??[];n.value=a.map(Ln)}catch(e){p.value=e instanceof Error?e.message:`Unknown error`}finally{a.value=!1}}},C=async()=>{if(!(!e.value||o.value)){o.value=!0,m.value=null;try{let{data:n,error:i}=await t.client.GET(`/${A}/${Q}/spaces/{id}/media/bindings`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to fetch media bindings`);let a=n.data??[];r.value=a.map(Rn)}catch(e){m.value=e instanceof Error?e.message:`Unknown error`}finally{o.value=!1}}},w=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.PATCH(`/${A}/${Q}/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 s=Rn(a.data),c=r.value.findIndex(e=>e.id===s.id);return c>=0&&(r.value[c]=s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},T=async(n,i)=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{data:a,error:o}=await t.client.POST(`/${A}/${Q}/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 s=Rn(a.data);return r.value.push(s),s}catch(e){throw h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},E=async n=>{if(!e.value)throw Error(`Space ID is required`);d.value=!0,h.value=null;try{let{error:i}=await t.client.DELETE(`/${A}/${Q}/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 h.value=e instanceof Error?e.message:`Unknown error`,e}finally{d.value=!1}},D=async()=>{if(e.value){f.value=!0;try{let{data:n,error:i}=await t.client.POST(`/${A}/${Q}/spaces/{id}/media/bindings/apply-defaults`,{params:{path:{id:e.value}}});if(i||!n)throw Error(`Failed to apply defaults`);let a=n.data??[];r.value=a.map(Rn)}catch(e){throw m.value=e instanceof Error?e.message:`Unknown error`,e}finally{f.value=!1}}},O=async()=>{if(!(!e.value||c.value)){c.value=!0,_.value=null,y.value=null;try{let{data:n,error:r}=await t.client.GET(`/${A}/${Q}/spaces/{id}/media/activities/active`,{params:{path:{id:e.value}}});if(r||!n)throw Error(`Failed to fetch active state`);i.value=n.data?Gn(n.data):null}catch(e){_.value=e instanceof Error?e.message:`Unknown error`,y.value=`fetch`}finally{c.value=!1}}},k=async(e=3,t=1e3)=>{for(let n=0;n<e&&(await new Promise(e=>setTimeout(e,t)),await O(),!(i.value?.state===`active`||i.value?.state===`failed`||i.value?.state===`deactivated`));n++);};return{endpoints:b,bindings:x,activeState:i,fetchingEndpoints:a,fetchingBindings:o,fetchingActiveState:c,activating:l,deactivating:u,previewing:g,savingBinding:d,applyingDefaults:f,endpointsError:p,bindingsError:m,saveError:h,activationError:_,activationErrorSource:y,fetchEndpoints:S,fetchBindings:C,fetchActiveState:O,activate:async n=>{if(!e.value)throw Error(`Space ID is required`);l.value=!0,_.value=null,y.value=null,i.value={activityKey:n,state:`activating`};try{let{data:r,error:a}=await t.client.POST(`/${A}/${Q}/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=Wn(r.data);return i.value=o,o.state===`activating`&&await k(),i.value??o}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,y.value=`activate`,i.value={activityKey:n,state:`failed`},e}finally{l.value=!1}},preview:async n=>{if(!e.value)throw Error(`Space ID is required`);g.value=!0;try{let{data:r,error:i}=await t.client.POST(`/${A}/${Q}/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 Un(r.data)}finally{g.value=!1}},deactivate:async()=>{if(!e.value)throw Error(`Space ID is required`);u.value=!0,_.value=null,y.value=null;try{let{data:n,error:r}=await t.client.POST(`/${A}/${Q}/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=Wn(n.data);return i.value=a,a}catch(e){throw _.value=e instanceof Error?e.message:`Unknown error`,y.value=`deactivate`,e}finally{u.value=!1}},saveBinding:w,createBinding:T,deleteBinding:E,applyDefaults:D,endpointsByType:e=>s(()=>n.value.filter(t=>t.type===e)),findBindingByActivity:e=>r.value.find(t=>t.activityKey===e)}},Yn=[`element-loading-text`],Xn={class:`flex items-center gap-3 flex-1 pr-2`},Zn={class:`font-medium text-sm`},Qn={class:`flex items-center justify-between w-full`},$n={class:`flex gap-1 ml-2`},er={class:`flex items-center justify-between w-full`},tr={class:`flex gap-1 ml-2`},nr={class:`flex items-center justify-between w-full`},rr={class:`flex gap-1 ml-2`},ir={class:`flex justify-between items-center mt-2`},ar={class:`flex items-center gap-2`},or={class:`text-xs text-gray-400`},sr=c({name:`SpaceMediaActivitiesDialog`,__name:`space-media-activities-dialog`,props:{visible:{type:Boolean},space:{}},emits:[`update:visible`,`bindings-changed`],setup(e,{emit:n}){let o=e,c=n,{t:l}=_(),f=De(),p=s({get:()=>o.visible,set:e=>c(`update:visible`,e)}),{endpoints:g,activeState:x,fetchingEndpoints:S,fetchingBindings:C,activating:E,deactivating:A,applyingDefaults:F,activationError:I,fetchEndpoints:L,fetchBindings:B,fetchActiveState:ee,activate:te,deactivate:ne,saveBinding:H,createBinding:re,deleteBinding:ae,applyDefaults:oe,findBindingByActivity:se,endpointsByType:ce}=Jn(s(()=>o.space?.id)),le=[V.watch,V.listen,V.gaming,V.background],ue=v(``),de=v(null),fe=v(!1),U=s(()=>S.value||C.value),pe=()=>({displayEndpointId:``,audioEndpointId:``,sourceEndpointId:``,remoteEndpointId:``,displayInputId:``,audioInputId:``,sourceInputId:``,audioVolumePreset:30}),G=r({[V.watch]:pe(),[V.listen]:pe(),[V.gaming]:pe(),[V.background]:pe()}),he=r({[V.watch]:pe(),[V.listen]:pe(),[V.gaming]:pe(),[V.background]:pe()}),ge=r({[V.watch]:!1,[V.listen]:!1,[V.gaming]:!1,[V.background]:!1}),_e=r({[V.watch]:null,[V.listen]:null,[V.gaming]:null,[V.background]:null}),ve=ce(me.display),ye=ce(me.audio_output),be=ce(me.source),xe=ce(me.remote_target),Se=(e,t)=>{G[e].displayEndpointId=t?.displayEndpointId??``,G[e].audioEndpointId=t?.audioEndpointId??``,G[e].sourceEndpointId=t?.sourceEndpointId??``,G[e].remoteEndpointId=t?.remoteEndpointId??``,G[e].displayInputId=t?.displayInputId??``,G[e].audioInputId=t?.audioInputId??``,G[e].sourceInputId=t?.sourceInputId??``,G[e].audioVolumePreset=t?.audioVolumePreset??30,Object.assign(he[e],{...G[e]})},Ce=()=>{for(let e of le){let t=se(e);Se(e,t)}},we=e=>{let t=G[e],n=he[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},Te=(e,t)=>{let n=G[e][t];return n?g.value.find(e=>e.endpointId===n)?.capabilities.inputSelect??!1:!1},Ee=e=>{let t=G[e].audioEndpointId;return t?g.value.find(e=>e.endpointId===t)?.capabilities.volume??!1:!1},Oe=e=>{let t=g.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`}},ke=e=>{let t=Oe(e);return t.type===`select`?t.options:[]},Ae=e=>{let t=`spacesHomeControlPlugin.media.activities.mediaInputSources.${e}`,n=l(t);return n===t?String(e):n},je=e=>{let t=` (${l(`spacesHomeControlPlugin.media.endpointTypes.${e.type}`)})`;return e.name.endsWith(t)?e.name.slice(0,-t.length):e.name},K=e=>{switch(e){case`active`:return`success`;case`activating`:return`primary`;case`failed`:return`danger`;case`deactivated`:return`info`;default:return`info`}},Me=e=>{let t=x.value?.activityKey===e&&x.value?.state!==`deactivated`,n=t?x.value.state:void 0,r=se(e);return{isActive:t,state:n,binding:r,hasSlots:!!(r?.displayEndpointId||r?.audioEndpointId||r?.sourceEndpointId||r?.remoteEndpointId)}},q=e=>{let{isActive:t,state:n}=Me(e);return t&&n?K(n):Kn(e)},Ne=e=>{let{isActive:t,state:n,binding:r,hasSlots:i}=Me(e);return l(t?`spacesHomeControlPlugin.media.activities.activationState.${n}`:r?i?`spacesHomeControlPlugin.media.activities.status.configured`:`spacesHomeControlPlugin.media.activities.status.incomplete`:`spacesHomeControlPlugin.media.activities.status.unconfigured`)},Fe=new Map,Ie=e=>{let t=G[e];return{displayEndpointId:t.displayEndpointId||null,audioEndpointId:t.audioEndpointId||null,sourceEndpointId:t.sourceEndpointId||null,remoteEndpointId:t.remoteEndpointId||null,displayInputId:Te(e,`displayEndpointId`)&&t.displayInputId||null,audioInputId:Te(e,`audioEndpointId`)&&t.audioInputId||null,sourceInputId:Te(e,`sourceEndpointId`)&&t.sourceInputId||null,audioVolumePreset:Ee(e)?t.audioVolumePreset:null}},Le=async e=>{if(!ge[e]){ge[e]=!0,_e[e]=null;try{let t=se(e),n=Ie(e),r=!n.displayEndpointId&&!n.audioEndpointId&&!n.sourceEndpointId&&!n.remoteEndpointId,i={...G[e]};r&&t?(await ae(t.id),Se(e,void 0),Object.assign(he[e],i)):r?Object.assign(he[e],i):t?(await H(t.id,n),Object.assign(he[e],i)):(await re(e,n),Object.assign(he[e],i))}catch(t){_e[e]=t instanceof Error?t.message:`Failed to save`}finally{ge[e]=!1}}},Re=e=>{let t=Fe.get(e);t&&clearTimeout(t),Fe.set(e,setTimeout(()=>{Fe.delete(e),Le(e)},500))};for(let e of le)w(()=>G[e],()=>{!fe.value||!we(e)||Re(e)},{deep:!0}),w(()=>G[e].displayEndpointId,()=>{fe.value&&(G[e].displayInputId=``)}),w(()=>G[e].audioEndpointId,()=>{fe.value&&(G[e].audioInputId=``,G[e].audioVolumePreset=30)}),w(()=>G[e].sourceEndpointId,()=>{fe.value&&(G[e].sourceInputId=``)});let ze=async e=>{de.value=e;try{await te(e),f.success(l(`spacesHomeControlPlugin.media.activities.activateSuccess`))}catch{f.error(l(`spacesHomeControlPlugin.media.activities.activateFailed`))}finally{de.value=null}},Be=async()=>{try{await ne(),f.success(l(`spacesHomeControlPlugin.media.activities.deactivateSuccess`))}catch{I.value=null,f.error(l(`spacesHomeControlPlugin.media.activities.deactivateFailed`))}},Ge=async()=>{fe.value=!1;try{await oe(),Ce(),f.success(l(`spacesHomeControlPlugin.media.activities.defaultsApplied`))}catch{f.error(l(`spacesHomeControlPlugin.media.activities.defaultsFailed`))}await y(),fe.value=!0},Ke=async()=>{fe.value=!1,await Promise.all([L(),B(),ee()]),Ce(),await y(),fe.value=!0},Je=()=>{let e=[],t=new Set;for(let[n,r]of Fe)clearTimeout(r),t.add(n),e.push(Le(n));Fe.clear();for(let n of le)!t.has(n)&&we(n)&&e.push(Le(n));return e};P(()=>{Promise.allSettled(Je())});let Ye=async()=>{fe.value=!1,await Promise.allSettled(Je()),c(`bindings-changed`),p.value=!1};return(e,n)=>(T(),m(h(Ue),{modelValue:p.value,"onUpdate:modelValue":n[2]||=e=>p.value=e,title:h(l)(`spacesHomeControlPlugin.dialogs.mediaActivities.title`),class:`max-w-[800px]`,"destroy-on-close":``,onOpen:Ke,onClose:Ye},{footer:M(()=>[d(h(D),{type:`primary`,onClick:Ye},{default:M(()=>[u(b(h(l)(`spacesModule.buttons.done.title`)),1)]),_:1})]),default:M(()=>[k((T(),t(`div`,{"element-loading-text":h(l)(`spacesHomeControlPlugin.media.activities.loading`),class:`flex flex-col gap-4`},[d(h(Y),{type:`info`,closable:!1,"show-icon":``,class:`mb-0!`},{default:M(()=>[u(b(h(l)(`spacesHomeControlPlugin.media.activities.description`)),1)]),_:1}),d(h(He),{modelValue:ue.value,"onUpdate:modelValue":n[0]||=e=>ue.value=e,accordion:``},{default:M(()=>[(T(),t(R,null,j(le,e=>d(h(Ve),{key:e,name:e},{title:M(()=>[a(`div`,Xn,[d(h(i),{icon:h(qn)(e),class:`w[20px] h[20px] shrink-0`},null,8,[`icon`]),a(`span`,Zn,b(h(l)(`spacesHomeControlPlugin.media.activityLabels.${e}`)),1),d(h(W),{type:q(e),size:`small`,round:``},{default:M(()=>[u(b(Ne(e)),1)]),_:2},1032,[`type`]),ge[e]?(T(),m(h(i),{key:0,icon:`mdi:loading`,class:`animate-spin text-blue-500 w[14px] h[14px]`})):O(``,!0),n[3]||=a(`div`,{class:`flex-1`},null,-1),d(h(D),{size:`small`,type:`success`,circle:``,loading:h(E)&&de.value===e,disabled:h(E)||h(A)||h(x)?.state===`activating`,title:h(l)(`spacesHomeControlPlugin.media.activities.run`),onClick:z(t=>ze(e),[`stop`])},{icon:M(()=>[d(h(i),{icon:`mdi:play`})]),_:1},8,[`loading`,`disabled`,`title`,`onClick`])])]),default:M(()=>[d(h(Pe),{"label-position":`top`,class:`flex flex-col gap-2`},{default:M(()=>[a(`div`,{class:N(Te(e,`displayEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(h(J),{label:h(l)(`spacesHomeControlPlugin.media.activities.slots.display`)},{default:M(()=>[d(h(X),{modelValue:G[e].displayEndpointId,"onUpdate:modelValue":t=>G[e].displayEndpointId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(h(ve),e=>(T(),m(h(Z),{key:e.endpointId,label:je(e),value:e.endpointId},{default:M(()=>[a(`div`,Qn,[a(`span`,null,b(je(e)),1),a(`div`,$n,[e.capabilities.inputSelect?(T(),m(h(W),{key:0,size:`small`,type:`info`},{default:M(()=>[u(b(h(l)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):O(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Te(e,`displayEndpointId`)?(T(),m(h(J),{key:0,label:h(l)(`spacesHomeControlPlugin.media.activities.overrides.displayInput`)},{default:M(()=>[Oe(G[e].displayEndpointId).type===`select`?(T(),m(h(X),{key:0,modelValue:G[e].displayInputId,"onUpdate:modelValue":t=>G[e].displayInputId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(ke(G[e].displayEndpointId),e=>(T(),m(h(Z),{key:String(e),label:Ae(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(T(),m(h(ie),{key:1,modelValue:G[e].displayInputId,"onUpdate:modelValue":t=>G[e].displayInputId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.overrides.displayInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):O(``,!0)],2),a(`div`,{class:N(Te(e,`audioEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(h(J),{label:h(l)(`spacesHomeControlPlugin.media.activities.slots.audio`)},{default:M(()=>[d(h(X),{modelValue:G[e].audioEndpointId,"onUpdate:modelValue":t=>G[e].audioEndpointId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(h(ye),e=>(T(),m(h(Z),{key:e.endpointId,label:je(e),value:e.endpointId},{default:M(()=>[a(`div`,er,[a(`span`,null,b(je(e)),1),a(`div`,tr,[e.capabilities.volume?(T(),m(h(W),{key:0,size:`small`,type:`info`},{default:M(()=>[u(b(h(l)(`spacesHomeControlPlugin.media.capabilities.volume`)),1)]),_:1})):O(``,!0),e.capabilities.inputSelect?(T(),m(h(W),{key:1,size:`small`,type:`info`},{default:M(()=>[u(b(h(l)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):O(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Te(e,`audioEndpointId`)?(T(),m(h(J),{key:0,label:h(l)(`spacesHomeControlPlugin.media.activities.overrides.audioInput`)},{default:M(()=>[Oe(G[e].audioEndpointId).type===`select`?(T(),m(h(X),{key:0,modelValue:G[e].audioInputId,"onUpdate:modelValue":t=>G[e].audioInputId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(ke(G[e].audioEndpointId),e=>(T(),m(h(Z),{key:String(e),label:Ae(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(T(),m(h(ie),{key:1,modelValue:G[e].audioInputId,"onUpdate:modelValue":t=>G[e].audioInputId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.overrides.audioInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):O(``,!0)],2),Ee(e)?(T(),m(h(J),{key:0,label:h(l)(`spacesHomeControlPlugin.media.activities.overrides.audioVolume`)},{default:M(()=>[d(h(We),{modelValue:G[e].audioVolumePreset,"onUpdate:modelValue":t=>G[e].audioVolumePreset=t,min:0,max:100,"show-input":``},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`label`])):O(``,!0),a(`div`,{class:N(Te(e,`sourceEndpointId`)?`grid grid-cols-2 gap-x-4`:``)},[d(h(J),{label:h(l)(`spacesHomeControlPlugin.media.activities.slots.source`)},{default:M(()=>[d(h(X),{modelValue:G[e].sourceEndpointId,"onUpdate:modelValue":t=>G[e].sourceEndpointId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(h(be),e=>(T(),m(h(Z),{key:e.endpointId,label:je(e),value:e.endpointId},{default:M(()=>[a(`div`,nr,[a(`span`,null,b(je(e)),1),a(`div`,rr,[e.capabilities.inputSelect?(T(),m(h(W),{key:0,size:`small`,type:`info`},{default:M(()=>[u(b(h(l)(`spacesHomeControlPlugin.media.capabilities.input`)),1)]),_:1})):O(``,!0)])])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),Te(e,`sourceEndpointId`)?(T(),m(h(J),{key:0,label:h(l)(`spacesHomeControlPlugin.media.activities.overrides.sourceInput`)},{default:M(()=>[Oe(G[e].sourceEndpointId).type===`select`?(T(),m(h(X),{key:0,modelValue:G[e].sourceInputId,"onUpdate:modelValue":t=>G[e].sourceInputId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(ke(G[e].sourceEndpointId),e=>(T(),m(h(Z),{key:String(e),label:Ae(e),value:String(e)},null,8,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`])):(T(),m(h(ie),{key:1,modelValue:G[e].sourceInputId,"onUpdate:modelValue":t=>G[e].sourceInputId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.overrides.sourceInputPlaceholder`),clearable:``},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]))]),_:2},1032,[`label`])):O(``,!0)],2),d(h(J),{label:h(l)(`spacesHomeControlPlugin.media.activities.slots.remote`)},{default:M(()=>[d(h(X),{modelValue:G[e].remoteEndpointId,"onUpdate:modelValue":t=>G[e].remoteEndpointId=t,placeholder:h(l)(`spacesHomeControlPlugin.media.activities.selectEndpoint`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(h(xe),e=>(T(),m(h(Z),{key:e.endpointId,label:je(e),value:e.endpointId},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),_:2},1032,[`label`]),_e[e]?(T(),m(h(Y),{key:1,type:`error`,title:h(l)(`spacesHomeControlPlugin.media.activities.saveError`),description:_e[e],"show-icon":``,closable:``,onClose:t=>_e[e]=null},null,8,[`title`,`description`,`onClose`])):O(``,!0)]),_:2},1024)]),_:2},1032,[`name`])),64))]),_:1},8,[`modelValue`]),a(`div`,ir,[a(`div`,ar,[d(h(D),{size:`small`,loading:h(F),onClick:Ge},{default:M(()=>[u(b(h(l)(`spacesHomeControlPlugin.media.activities.applyDefaults`)),1)]),_:1},8,[`loading`]),h(x)&&h(x).state!==`deactivated`?(T(),m(h(D),{key:0,size:`small`,type:`warning`,loading:h(A),disabled:h(E),onClick:Be},{icon:M(()=>[d(h(i),{icon:`mdi:stop`})]),default:M(()=>[u(` `+b(h(l)(`spacesHomeControlPlugin.media.activities.deactivate`)),1)]),_:1},8,[`loading`,`disabled`])):O(``,!0)]),a(`div`,or,b(h(l)(`spacesHomeControlPlugin.media.activities.applyDefaultsHint`)),1)]),h(I)?(T(),m(h(Y),{key:0,type:`error`,title:h(l)(`spacesHomeControlPlugin.media.activities.activateFailed`),description:h(I),"show-icon":``,closable:``,onClose:n[1]||=e=>I.value=null},null,8,[`title`,`description`])):O(``,!0)],8,Yn)),[[h(qe),U.value]])]),_:1},8,[`modelValue`,`title`]))}}),cr={class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},lr=c({name:`SpaceDomainsSection`,__name:`space-domains-section`,props:{space:{}},setup(e,{expose:n}){let r=e,{t:i}=_(),o=we(),{lightingSignal:c,climateSignal:l,coversSignal:u,sensorSignal:f}=bt(),p=v(!1),h=v(!1),g=v(!1),y=v(!1),b=v(!1),x=v(!1),C=v([]),E=e=>{switch(e){case K.main:return`primary`;case K.task:return`warning`;case K.ambient:return`success`;case K.accent:return`danger`;case K.night:default:return`info`}},D=e=>{switch(e){case K.main:return`mdi:lightbulb`;case K.task:return`mdi:desk-lamp`;case K.ambient:return`mdi:lightbulb-group`;case K.accent:return`mdi:spotlight-beam`;case K.night:return`mdi:weather-night`;default:return`mdi:lightbulb-outline`}},O=async()=>{if(r.space?.id){x.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/lighting/targets`,{params:{path:{id:r.space.id}}});if(t||!e){C.value=[];return}let n=e.data??[],a=new Map;for(let e of n){if(!e.role)continue;let t=e.role;a.set(t,(a.get(t)??0)+1)}let s=[K.main,K.task,K.ambient,K.accent,K.night,K.other];C.value=Array.from(a.entries()).sort(([e],[t])=>s.indexOf(e)-s.indexOf(t)).map(([e,t])=>({label:i(`spacesHomeControlPlugin.lightingRoles.${e}`),type:E(e),icon:D(e),count:t}))}finally{x.value=!1}}},k=v(!1),M=v([]),N=e=>{switch(e){case H.heating_only:return`danger`;case H.cooling_only:return`primary`;case H.auto:return`success`;case H.auxiliary:return`warning`;default:return`info`}},P=e=>{switch(e){case H.heating_only:return`mdi:fire`;case H.cooling_only:return`mdi:snowflake`;case H.auto:return`mdi:thermostat-auto`;case H.auxiliary:return`mdi:radiator`;case H.sensor:return`mdi:thermometer`;default:return`mdi:eye-off`}},F=async()=>{if(r.space?.id){k.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/climate/targets`,{params:{path:{id:r.space.id}}});if(t||!e){M.value=[];return}let n=e.data??[],a=new Map;for(let e of n){if(!e.role||e.role===H.hidden)continue;let t=e.role;a.set(t,(a.get(t)??0)+1)}let s=[H.heating_only,H.cooling_only,H.auto,H.auxiliary,H.sensor];M.value=Array.from(a.entries()).sort(([e],[t])=>s.indexOf(e)-s.indexOf(t)).map(([e,t])=>({label:i(`spacesHomeControlPlugin.climateRoles.${e}`),type:N(e),icon:P(e),count:t}))}finally{k.value=!1}}},I=v(!1),L=v([]),z=e=>{switch(e){case U.primary:return`primary`;case U.blackout:return`danger`;case U.sheer:return`success`;case U.outdoor:return`warning`;default:return`info`}},B=e=>{switch(e){case U.primary:return`mdi:blinds`;case U.blackout:return`mdi:blinds-horizontal-closed`;case U.sheer:return`mdi:curtains`;case U.outdoor:return`mdi:window-shutter`;default:return`mdi:blinds-horizontal`}},ee=async()=>{if(r.space?.id){I.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/covers/targets`,{params:{path:{id:r.space.id}}});if(t||!e){L.value=[];return}let n=e.data??[],a=new Map;for(let e of n){if(!e.role)continue;let t=e.role;a.set(t,(a.get(t)??0)+1)}let s=[U.primary,U.blackout,U.sheer,U.outdoor,U.hidden];L.value=Array.from(a.entries()).sort(([e],[t])=>s.indexOf(e)-s.indexOf(t)).map(([e,t])=>({label:i(`spacesHomeControlPlugin.coversRoles.${e}`),type:z(e),icon:B(e),count:t}))}finally{I.value=!1}}},te=v(!1),ne=v([]),re=e=>{switch(e){case Qe.ENVIRONMENT:return`success`;case Qe.SAFETY:return`danger`;case Qe.SECURITY:return`warning`;case Qe.AIR_QUALITY:return`info`;case Qe.ENERGY:return`primary`;default:return`info`}},ie=e=>{switch(e){case Qe.ENVIRONMENT:return`mdi:thermometer`;case Qe.SAFETY:return`mdi:shield-alert`;case Qe.SECURITY:return`mdi:motion-sensor`;case Qe.AIR_QUALITY:return`mdi:air-filter`;case Qe.ENERGY:return`mdi:lightning-bolt`;default:return`mdi:chart-line`}},ae=async()=>{if(r.space?.id){te.value=!0;try{let{data:e,error:t}=await o.client.GET(`/${A}/${Q}/spaces/{id}/sensors/targets`,{params:{path:{id:r.space.id}}});if(t||!e){ne.value=[];return}let n=e.data??[],a=new Map;for(let e of n){if(!e.role||e.role===Qe.HIDDEN)continue;let t=e.role;a.set(t,(a.get(t)??0)+1)}ne.value=Array.from(a.entries()).sort(([e],[t])=>Ze.indexOf(e)-Ze.indexOf(t)).map(([e,t])=>({label:i(`spacesHomeControlPlugin.sensorRoles.${e}`),type:re(e),icon:ie(e),count:t}))}finally{te.value=!1}}},{fetchEndpoints:oe,fetchBindings:se,findBindingByActivity:ce}=Jn(s(()=>r.space?.id)),le=v(!1),ue=v([]),de=[V.watch,V.listen,V.gaming,V.background],fe=async()=>{if(r.space?.id){le.value=!0;try{await Promise.all([oe(),se()]);let e=[];for(let t of de){let n=ce(t);if(!n)continue;let r=[n.displayEndpointId,n.audioEndpointId,n.sourceEndpointId,n.remoteEndpointId].filter(Boolean).length;e.push({label:i(`spacesHomeControlPlugin.media.activityLabels.${t}`),type:Kn(t),icon:qn(t),count:r})}ue.value=e}catch{ue.value=[]}finally{le.value=!1}}},pe=s(()=>[{key:`lighting`,icon:`mdi:lightbulb`,iconColor:`warning`,title:i(`spacesHomeControlPlugin.detail.domains.lighting.title`),description:i(`spacesHomeControlPlugin.detail.domains.lighting.description`),tags:C.value,loading:x.value,openDialog:()=>{p.value=!0}},{key:`climate`,icon:`mdi:thermostat`,iconColor:`danger`,title:i(`spacesHomeControlPlugin.detail.domains.climate.title`),description:i(`spacesHomeControlPlugin.detail.domains.climate.description`),tags:M.value,loading:k.value,openDialog:()=>{h.value=!0}},{key:`covers`,icon:`mdi:blinds`,iconColor:`primary`,title:i(`spacesHomeControlPlugin.detail.domains.covers.title`),description:i(`spacesHomeControlPlugin.detail.domains.covers.description`),tags:L.value,loading:I.value,openDialog:()=>{g.value=!0}},{key:`sensor`,icon:`mdi:chart-bell-curve`,iconColor:`success`,title:i(`spacesHomeControlPlugin.detail.domains.sensor.title`),description:i(`spacesHomeControlPlugin.detail.domains.sensor.description`),tags:ne.value,loading:te.value,openDialog:()=>{y.value=!0}},{key:`media`,icon:`mdi:play-box-multiple`,iconColor:`info`,title:i(`spacesHomeControlPlugin.detail.domains.media.title`),description:i(`spacesHomeControlPlugin.detail.domains.media.description`),tags:ue.value,loading:le.value,openDialog:()=>{b.value=!0}}]),W=()=>{O(),F(),ee(),ae(),fe()};w(()=>c?.value,()=>{r.space?.id&&O()}),w(()=>l?.value,()=>{r.space?.id&&F()}),w(()=>u?.value,()=>{r.space?.id&&ee()}),w(()=>f?.value,()=>{r.space?.id&&ae()}),w(()=>r.space?.id,e=>{e&&W()});let me=()=>{O()},G=()=>{F()},he=()=>{ee()},ge=()=>{ae()},_e=()=>{fe()};return S(()=>{r.space?.id&&W()}),n({reload:W}),(e,n)=>(T(),t(R,null,[a(`div`,cr,[(T(!0),t(R,null,j(pe.value,e=>(T(),m(Fn,{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))]),d($t,{visible:p.value,"onUpdate:visible":n[0]||=e=>p.value=e,space:r.space,onRolesChanged:me},null,8,[`visible`,`space`]),d(ln,{visible:h.value,"onUpdate:visible":n[1]||=e=>h.value=e,space:r.space,onRolesChanged:G},null,8,[`visible`,`space`]),d(vn,{visible:g.value,"onUpdate:visible":n[2]||=e=>g.value=e,space:r.space,onRolesChanged:he},null,8,[`visible`,`space`]),d(En,{visible:y.value,"onUpdate:visible":n[3]||=e=>y.value=e,space:r.space,onRolesChanged:ge},null,8,[`visible`,`space`]),d(sr,{visible:b.value,"onUpdate:visible":n[4]||=e=>b.value=e,space:r.space,onBindingsChanged:_e},null,8,[`visible`,`space`])],64))}}),ur={class:`flex items-center gap-2`},dr={class:`font-medium`},fr={key:0,class:`text-xs text-gray-500`},pr={class:`flex items-center gap-2 justify-end`},mr={key:0,class:`h-full w-full leading-normal`},hr={key:1,class:`h-full w-full leading-normal`},gr={class:`mb-4`},_r=c({name:`SpaceDevicesSection`,__name:`space-devices-section`,props:{spaceId:{},spaceType:{}},emits:[`open-add-dialog`],setup(n,{expose:r,emit:o}){let s=n,c=o,{t:l}=_(),p=De(),{roomSpaces:g}=ot(),{devices:y,loading:x,firstLoadFinished:C,fetchDevices:w,removeDevice:E,reassignDevice:A}=dt(e(s,`spaceId`),e(s,`spaceType`)),N=v(!1),P=v(null),I=v(null),L=v(!1),z=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`,B=()=>{c(`open-add-dialog`)},V=e=>{P.value=e,I.value=null,N.value=!0},ee=async()=>{if(P.value){L.value=!0;try{await A(P.value.id,I.value),N.value=!1,p.success(l(`spacesModule.messages.edited`,{space:P.value.name}))}catch{p.error(l(`spacesModule.messages.saveError`))}finally{L.value=!1}}},te=e=>{Ce.confirm(l(`spacesModule.detail.devices.confirmRemove`,{name:e.name}),l(`spacesModule.detail.devices.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await E(e.id),p.success(l(`spacesModule.detail.devices.removed`,{name:e.name}))}catch{p.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{p.info(l(`spacesModule.detail.devices.removeCanceled`))})};return S(async()=>{C.value||await w()}),r({openAddDialog:B,fetchDevices:w}),(e,n)=>(T(),t(R,null,[k((T(),m(h(Ne),{"element-loading-text":h(l)(`spacesModule.detail.devices.loading`),data:h(y),"table-layout":`fixed`,"row-key":`id`},{empty:M(()=>[h(x)?(T(),t(`div`,mr,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:devices`})]),secondary:M(()=>[d(h(i),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(T(),t(`div`,hr,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:devices`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(l)(`spacesModule.detail.devices.empty`)),1)]),extra:M(()=>[d(h(D),{type:`primary`,plain:``,onClick:B},{icon:M(()=>[d(h(i),{icon:`mdi:plus`})]),default:M(()=>[u(` `+b(h(l)(`spacesModule.detail.devices.add`)),1)]),_:1})]),_:1})]))]),default:M(()=>[d(h(q),{label:h(l)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,ur,[d(h(Ae),{size:32},{default:M(()=>[d(h(i),{icon:z(e.category),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),a(`div`,null,[a(`div`,dr,b(e.name),1),e.description?(T(),t(`div`,fr,b(e.description),1)):O(``,!0)])])]),_:1},8,[`label`]),d(h(q),{label:h(l)(`spacesModule.table.columns.category`),width:`150`},{default:M(({row:e})=>[d(h(W),{size:`small`,type:`info`},{default:M(()=>[u(b(h(l)(`devicesModule.categories.devices.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(h(q),{label:h(l)(`devicesModule.table.devices.columns.state.title`),width:`100`,align:`center`},{default:M(({row:e})=>[d(h(W),{type:e.status?.online?`success`:`danger`,size:`small`},{default:M(()=>[u(b(e.status?.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(h(q),{label:``,width:s.spaceType===h($).ZONE?110:220,align:`right`},{default:M(({row:e})=>[a(`div`,pr,[s.spaceType===h($).ROOM?(T(),m(h(D),{key:0,type:`warning`,plain:``,size:`small`,onClick:t=>V(e)},{icon:M(()=>[d(h(i),{icon:`mdi:swap-horizontal`})]),default:M(()=>[u(` `+b(h(l)(`spacesModule.detail.devices.reassign`)),1)]),_:1},8,[`onClick`])):O(``,!0),d(h(D),{type:`danger`,plain:``,size:`small`,onClick:t=>te(e)},{icon:M(()=>[d(h(i),{icon:`mdi:close`})]),default:M(()=>[u(` `+b(h(l)(`spacesModule.detail.devices.remove`)),1)]),_:1},8,[`onClick`])])]),_:1},8,[`width`])]),_:1},8,[`element-loading-text`,`data`])),[[h(qe),h(x)]]),d(h(Ue),{modelValue:N.value,"onUpdate:modelValue":n[2]||=e=>N.value=e,title:h(l)(`spacesModule.detail.devices.reassign`),width:`400px`},{footer:M(()=>[d(h(D),{onClick:n[1]||=e=>N.value=!1},{default:M(()=>[u(b(h(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(h(D),{type:`primary`,loading:L.value,onClick:ee},{default:M(()=>[u(b(h(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:M(()=>[a(`p`,gr,b(h(l)(`spacesModule.detail.devices.selectRoom`)),1),d(h(X),{modelValue:I.value,"onUpdate:modelValue":n[0]||=e=>I.value=e,placeholder:h(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(h(g),e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),vr={class:`flex items-center gap-2`},yr={class:`block`},br={key:1,class:`font-medium`},xr={class:`flex items-center gap-2 justify-end`},Sr={key:0,class:`h-full w-full leading-normal`},Cr={key:1,class:`h-full w-full leading-normal`},wr={class:`mb-4`},Tr=c({name:`SpaceDisplaysSection`,__name:`space-displays-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(n,{expose:r,emit:o}){let s=n,c=o,{t:l}=_(),p=De(),{roomSpaces:g}=ot(),{displays:y,loading:x,fetchDisplays:C,removeDisplay:w,reassignDisplay:E}=ut(e(s,`spaceId`)),O=v(!1),A=v(null),N=v(null),P=v(!1),I=()=>{c(`open-add-dialog`)},L=e=>{A.value=e,N.value=null,O.value=!0},z=async()=>{if(A.value){P.value=!0;try{await E(A.value.id,N.value),O.value=!1,p.success(l(`spacesModule.messages.edited`,{space:A.value.name||A.value.macAddress}))}catch{p.error(l(`spacesModule.messages.saveError`))}finally{P.value=!1}}},B=e=>{let t=e.name||e.macAddress;Ce.confirm(l(`spacesModule.detail.displays.confirmRemove`,{name:t}),l(`spacesModule.detail.displays.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await w(e.id),p.success(l(`spacesModule.detail.displays.removed`,{name:t}))}catch{p.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{p.info(l(`spacesModule.detail.displays.removeCanceled`))})};return S(async()=>{await C()}),r({openAddDialog:I,fetchDisplays:C}),(e,n)=>(T(),t(R,null,[k((T(),m(h(Ne),{"element-loading-text":h(l)(`spacesModule.detail.displays.loading`),data:h(y),"table-layout":`fixed`,"row-key":`id`},{empty:M(()=>[h(x)?(T(),t(`div`,Sr,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:monitor`})]),secondary:M(()=>[d(h(i),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(T(),t(`div`,Cr,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:monitor`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(l)(`spacesModule.detail.displays.empty`)),1)]),extra:M(()=>[d(h(D),{type:`primary`,plain:``,onClick:I},{icon:M(()=>[d(h(i),{icon:`mdi:plus`})]),default:M(()=>[u(` `+b(h(l)(`spacesModule.detail.displays.add`)),1)]),_:1})]),_:1})]))]),default:M(()=>[d(h(q),{label:h(l)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,vr,[d(h(Ae),{size:32},{default:M(()=>[d(h(i),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),a(`div`,null,[e.name?(T(),t(R,{key:0},[a(`strong`,yr,b(e.name),1),d(h(pe),{size:`small`,class:`block leading-4`,truncated:``},{default:M(()=>[u(b(e.macAddress),1)]),_:2},1024)],64)):(T(),t(`div`,br,b(e.macAddress),1))])])]),_:1},8,[`label`]),d(h(q),{label:h(l)(`displaysModule.table.columns.state.title`),width:`100`,align:`center`},{default:M(({row:e})=>[d(h(W),{type:e.online?`success`:`danger`,size:`small`},{default:M(()=>[u(b(e.online?`Online`:`Offline`),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(h(q),{label:``,width:`220`,align:`right`},{default:M(({row:e})=>[a(`div`,xr,[d(h(D),{type:`warning`,plain:``,size:`small`,onClick:t=>L(e)},{icon:M(()=>[d(h(i),{icon:`mdi:swap-horizontal`})]),default:M(()=>[u(` `+b(h(l)(`spacesModule.detail.displays.reassign`)),1)]),_:1},8,[`onClick`]),d(h(D),{type:`danger`,plain:``,size:`small`,onClick:t=>B(e)},{icon:M(()=>[d(h(i),{icon:`mdi:close`})]),default:M(()=>[u(` `+b(h(l)(`spacesModule.detail.displays.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[h(qe),h(x)]]),d(h(Ue),{modelValue:O.value,"onUpdate:modelValue":n[2]||=e=>O.value=e,title:h(l)(`spacesModule.detail.displays.reassign`),width:`400px`},{footer:M(()=>[d(h(D),{onClick:n[1]||=e=>O.value=!1},{default:M(()=>[u(b(h(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(h(D),{type:`primary`,loading:P.value,onClick:z},{default:M(()=>[u(b(h(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:M(()=>[a(`p`,wr,b(h(l)(`spacesModule.detail.displays.selectRoom`)),1),d(h(X),{modelValue:N.value,"onUpdate:modelValue":n[0]||=e=>N.value=e,placeholder:h(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(h(g),e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),Er=e=>{let t=je().getStore(pt),{semaphore:n,firstLoad:r}=oe(t),i=v(!1);return{scenes:s(()=>e.value?t.findBySpace(e.value).filter(e=>!e.draft).sort((e,t)=>e.name.localeCompare(t.name)):[]),loading:s(()=>!!(i.value||n.value.fetching.items||!r.value)),firstLoadFinished:s(()=>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}}}};function Dr(e){return e.trim().toLowerCase().replace(/[-_]/g,` `).replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}var Or=e=>e||null,kr=e=>{if(e)return e},Ar=()=>{let e=re(),{generate:t}=Je(),n=r({currentStep:0,existingSpaces:[],spaces:[],proposedSpaces:[],customSpaces:[],matchedSpaces:[],deviceAssignments:{},displayAssignments:{},zoneAssignments:{},showAdvancedZones:!1,isLoading:!1,error:null}),i=s(()=>n.isLoading),a=s(()=>n.error),o=s(()=>n.currentStep),c=s(()=>n.existingSpaces),l=s(()=>n.spaces),u=s(()=>n.proposedSpaces),d=s(()=>n.customSpaces),f=s(()=>n.matchedSpaces),p=s(()=>n.deviceAssignments),m=s(()=>n.displayAssignments),h=s(()=>n.zoneAssignments),g=s({get:()=>n.showAdvancedZones,set:e=>{n.showAdvancedZones=e}}),_=s(()=>y.value.filter(e=>e.type===$.ZONE&&e.category&&et.includes(e.category))),v=s(()=>n.proposedSpaces.filter(e=>!n.matchedSpaces.some(t=>Dr(t.proposedName)===Dr(e.name)))),y=s(()=>{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())}),b=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 st(`Failed to fetch proposed spaces`);let i=r.data.data.map(e=>{let n=Or(e.category),r=n?$e[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?at(e.type):$.ROOM,category:n,draftId:t(),editing:!1,editName:o}});n.matchedSpaces=[];let a=[];for(let e of i){let t=Dr(e.name),r=n.existingSpaces.find(e=>Dr(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}},x=()=>{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===$.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===$.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===$.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},S=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:it(s.type),category:kr(s.category)}}});if(u.error||!u.data?.data)throw new st(`Failed to create space: ${s.name}`);let d=rt(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}},C=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:it(t.type),category:kr(t.category),icon:t.icon,display_order:t.displayOrder}}});if(r.error||!r.data?.data)throw new st(`Failed to create space`);let i=rt(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}},w=(e,t)=>{n.deviceAssignments[e]=t},T=(e,t)=>{n.displayAssignments[e]=t},E=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 st(`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 st(`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}},D=e=>{n.currentStep=e},O=()=>{n.currentStep++},k=()=>{n.currentStep>0&&n.currentStep--},A=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)},j=e=>{let t=n.proposedSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},M=e=>{let t=n.customSpaces[e];t&&(t.selected=!t.selected,t.selected||(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(t.draftId)))},N=e=>{let t=Dr(e),r=n.existingSpaces.find(e=>Dr(e.name)===t);if(r)return r.name;let i=n.proposedSpaces.find(e=>Dr(e.name)===t);if(i)return i.name;let a=n.customSpaces.find(e=>Dr(e.name)===t);return a?a.name:null};return{isLoading:i,error:a,currentStep:o,existingSpaces:c,spaces:l,proposedSpaces:u,customSpaces:d,matchedSpaces:f,unmatchedProposals:v,availableSpaces:y,deviceAssignments:p,displayAssignments:m,zoneAssignments:h,showAdvancedZones:g,assignableZones:_,fetchProposedSpaces:b,fetchDevices:async()=>{n.isLoading=!0,n.error=null;try{let t=await e.GET(`/modules/devices/devices`,{params:{query:{hidden:se.false}}});if(t.error||!t.data?.data)throw new st(`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 st(`Failed to fetch displays`);return t.data.data.map(e=>({id:e.id,name:e.name??null,macAddress:e.mac_address??``,spaceId:e.space_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 st(`Failed to fetch spaces`);let r=t.data.data.map(e=>rt(e));return n.existingSpaces=r,r}catch(e){throw n.error=e instanceof Error?e.message:`Unknown error`,e}finally{n.isLoading=!1}},createDraftSpacesFromProposals:x,createSpacesFromProposals:S,createSpace:C,setDeviceAssignment:w,setDisplayAssignment:T,setDeviceZones:(e,t)=>{n.zoneAssignments[e]=t},applyAssignments:E,setStep:D,nextStep:O,prevStep:k,toggleProposedSpace:j,toggleCustomSpace:M,addManualSpace:e=>{let r=N(e);return r?{success:!1,duplicateOf:r}:(n.customSpaces.push({name:e,description:null,icon:null,selected:!0,type:$.ROOM,category:null,draftId:t(),editing:!1,editName:e}),{success:!0})},checkDuplicateSpaceName:N,removeProposedSpace:e=>{let t=n.proposedSpaces[e];t&&(n.spaces=n.spaces.filter(e=>e.id!==t.draftId),A(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),A(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=Dr(r),a=n.existingSpaces.find(e=>Dr(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&&Dr(t.name)===i);if(o)return t.editing=!1,t.editName=t.name,{success:!1,duplicateOf:o.name};let s=n.customSpaces.find(e=>Dr(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=Dr(r),a=n.existingSpaces.find(e=>Dr(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=>Dr(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&&Dr(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.spaceId??null},summary:s(()=>{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}})}},jr={class:`flex items-center gap-2`},Mr={class:`font-medium`},Nr={key:0,class:`text-xs text-gray-500`},Pr={class:`flex items-center gap-2 justify-end`},Fr={key:0,class:`h-full w-full leading-normal`},Ir={key:1,class:`h-full w-full leading-normal`},Lr={class:`mb-4`},Rr=c({name:`SpaceScenesSection`,__name:`space-scenes-section`,props:{spaceId:{}},emits:[`open-add-dialog`],setup(n,{expose:r,emit:o}){let s=n,c=o,{t:l}=_(),p=De(),{spaces:g}=ot(),{scenes:y,loading:x,firstLoadFinished:C,fetchScenes:w,reassignScene:E,removeScene:A}=Er(e(s,`spaceId`)),N=v(!1),P=v(null),I=v(null),L=v(!1),z=e=>e.icon?e.icon:gt[e.category]||gt[_e.generic],B=()=>{c(`open-add-dialog`)},V=e=>{P.value=e,I.value=null,N.value=!0},ee=async()=>{if(P.value){L.value=!0;try{await E(P.value.id,I.value),N.value=!1,p.success(l(`spacesHomeControlPlugin.detail.scenes.reassigned`,{name:P.value.name}))}catch{p.error(l(`spacesModule.messages.saveError`))}finally{L.value=!1}}},te=e=>{Ce.confirm(l(`spacesHomeControlPlugin.detail.scenes.confirmRemove`,{name:e.name}),l(`spacesHomeControlPlugin.detail.scenes.removeHeading`),{confirmButtonText:l(`spacesModule.buttons.yes.title`),cancelButtonText:l(`spacesModule.buttons.no.title`),type:`warning`}).then(async()=>{try{await A(e.id),p.success(l(`spacesHomeControlPlugin.detail.scenes.removed`,{name:e.name}))}catch{p.error(l(`spacesModule.messages.saveError`))}}).catch(()=>{p.info(l(`spacesHomeControlPlugin.detail.scenes.removeCanceled`))})};return S(async()=>{C.value||await w()}),r({openAddDialog:B,fetchScenes:w}),(e,n)=>(T(),t(R,null,[k((T(),m(h(Ne),{"element-loading-text":h(l)(`spacesHomeControlPlugin.detail.scenes.loading`),data:h(y),"table-layout":`fixed`,"row-key":`id`},{empty:M(()=>[h(x)?(T(),t(`div`,Fr,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:play-box-multiple`})]),secondary:M(()=>[d(h(i),{icon:`mdi:database-refresh`})]),_:1})]),_:1})])):(T(),t(`div`,Ir,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:play-box-multiple`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(l)(`spacesHomeControlPlugin.detail.scenes.empty`)),1)]),extra:M(()=>[d(h(D),{type:`primary`,plain:``,onClick:B},{icon:M(()=>[d(h(i),{icon:`mdi:plus`})]),default:M(()=>[u(` `+b(h(l)(`spacesModule.detail.scenes.add`)),1)]),_:1})]),_:1})]))]),default:M(()=>[d(h(q),{label:h(l)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,jr,[d(h(Ae),{size:32},{default:M(()=>[d(h(i),{icon:z(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),a(`div`,null,[a(`div`,Mr,b(e.name),1),e.description?(T(),t(`div`,Nr,b(e.description),1)):O(``,!0)])])]),_:1},8,[`label`]),d(h(q),{label:h(l)(`spacesHomeControlPlugin.detail.scenes.category`),width:`150`},{default:M(({row:e})=>[d(h(W),{size:`small`,type:`info`},{default:M(()=>[u(b(h(l)(`scenes.categories.${e.category}`)),1)]),_:2},1024)]),_:1},8,[`label`]),d(h(q),{label:h(l)(`spacesHomeControlPlugin.detail.scenes.status`),width:`100`,align:`center`},{default:M(({row:e})=>[d(h(W),{type:e.enabled?`success`:`info`,size:`small`},{default:M(()=>[u(b(e.enabled?h(l)(`spacesHomeControlPlugin.detail.scenes.enabled`):h(l)(`spacesHomeControlPlugin.detail.scenes.disabled`)),1)]),_:2},1032,[`type`])]),_:1},8,[`label`]),d(h(q),{label:``,width:`220`,align:`right`},{default:M(({row:e})=>[a(`div`,Pr,[d(h(D),{type:`warning`,plain:``,size:`small`,onClick:t=>V(e)},{icon:M(()=>[d(h(i),{icon:`mdi:swap-horizontal`})]),default:M(()=>[u(` `+b(h(l)(`spacesHomeControlPlugin.detail.scenes.reassign`)),1)]),_:1},8,[`onClick`]),d(h(D),{type:`danger`,plain:``,size:`small`,onClick:t=>te(e)},{icon:M(()=>[d(h(i),{icon:`mdi:close`})]),default:M(()=>[u(` `+b(h(l)(`spacesHomeControlPlugin.detail.scenes.remove`)),1)]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`element-loading-text`,`data`])),[[h(qe),h(x)]]),d(h(Ue),{modelValue:N.value,"onUpdate:modelValue":n[2]||=e=>N.value=e,title:h(l)(`spacesHomeControlPlugin.detail.scenes.reassign`),width:`400px`},{footer:M(()=>[d(h(D),{onClick:n[1]||=e=>N.value=!1},{default:M(()=>[u(b(h(l)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),d(h(D),{type:`primary`,loading:L.value,onClick:ee},{default:M(()=>[u(b(h(l)(`spacesModule.buttons.save.title`)),1)]),_:1},8,[`loading`])]),default:M(()=>[a(`p`,Lr,b(h(l)(`spacesHomeControlPlugin.detail.scenes.selectSpace`)),1),d(h(X),{modelValue:I.value,"onUpdate:modelValue":n[0]||=e=>I.value=e,placeholder:h(l)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`},{default:M(()=>[(T(!0),t(R,null,j(h(g),e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id,disabled:e.id===s.spaceId},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`])]),_:1},8,[`modelValue`,`title`])],64))}}),zr={class:`b-r b-r-solid py-3 px-2 flex items-center justify-end`,style:{background:`var(--el-fill-color-light)`}},Br={class:`col-start-2 m-0 p-2 flex items-center gap-2 min-w-[8rem]`},Vr=[`aria-label`,`onKeydown`],Hr={class:`flex items-center gap-1`},Ur={key:1,class:`text-gray-400 text-sm`},Wr={class:`flex items-center gap-2`},Gr=c({name:`SpaceParentZoneSection`,__name:`space-parent-zone-section`,props:{space:{}},setup(e){let n=e,{t:r}=_(),o=De(),c=s(()=>n.space.id),{floorZoneSpaces:l,findById:f}=ot(),{editSpace:p}=lt(c),g=v(n.space.parentId),x=v(!1),C=v(!1),E=v(null),D=v(n.space.parentId),O=v(!1),k=s(()=>n.space.parentId?f(n.space.parentId):null),A=s(()=>l.value.filter(e=>e.id!==n.space.id)),N=()=>{C.value=!0,D.value=n.space.parentId,g.value=n.space.parentId,O.value=!1,y(()=>{E.value?.focus?.()})},F=()=>{setTimeout(()=>{!O.value&&!x.value&&C.value&&(C.value=!1),O.value=!1},200)},L=e=>{C.value&&e.key===`Escape`&&(g.value=D.value,C.value=!1,O.value=!1)};w(()=>n.space.parentId,e=>{C.value||(g.value=e,D.value=e)},{immediate:!0});let B=async e=>{if(e===n.space.parentId){C.value=!1,O.value=!1;return}O.value=!0,x.value=!0;try{await p({name:n.space.name,parentId:e}),o.success(r(`spacesModule.messages.edited`,{space:n.space.name})),C.value=!1,O.value=!1}catch{g.value=D.value,o.error(r(`spacesModule.messages.saveError`)),C.value=!1,O.value=!1}finally{x.value=!1}};return S(()=>{document.addEventListener(`keydown`,L)}),P(()=>{document.removeEventListener(`keydown`,L)}),(e,n)=>(T(),t(R,null,[a(`dt`,zr,b(h(r)(`spacesModule.detail.parentZone.title`)),1),a(`dd`,Br,[C.value?(T(),m(h(X),{key:1,ref_key:`floorSelectRef`,ref:E,modelValue:g.value,"onUpdate:modelValue":n[0]||=e=>g.value=e,placeholder:h(r)(`spacesModule.detail.parentZone.select`),clearable:``,size:`small`,class:`max-w-[250px]`,loading:x.value,onChange:B,onBlur:F},{default:M(()=>[(T(!0),t(R,null,j(A.value,e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id},{default:M(()=>[a(`div`,Wr,[d(h(i),{icon:e.icon||`mdi:home-floor-1`},null,8,[`icon`]),a(`span`,null,b(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`])):(T(),t(`div`,{key:0,role:`button`,tabindex:`0`,"aria-label":h(r)(`spacesModule.detail.parentZone.select`),class:`flex items-center gap-2 cursor-pointer hover:opacity-70`,onClick:N,onKeydown:[I(z(N,[`prevent`]),[`enter`]),I(z(N,[`prevent`]),[`space`])]},[k.value?(T(),m(h(W),{key:0,type:`success`,size:`small`},{default:M(()=>[a(`div`,Hr,[d(h(i),{icon:k.value.icon||`mdi:home-floor-1`},null,8,[`icon`]),u(` `+b(k.value.name),1)])]),_:1})):(T(),t(`span`,Ur,b(h(r)(`spacesModule.detail.parentZone.none`)),1))],40,Vr))])],64))}}),Kr={key:0,class:`h-full w-full leading-normal`},qr={key:1,class:`h-full w-full leading-normal`},Jr={class:`flex items-center gap-2`},Yr={class:`block text-sm`},Xr={key:1,class:`font-medium`},Zr={key:1,class:`text-gray-400 text-sm`},Qr=c({name:`SpaceAddDeviceDialog`,__name:`space-add-device-dialog`,props:{visible:{type:Boolean},spaceId:{},spaceType:{}},emits:[`update:visible`,`device-added`],setup(e,{emit:n}){let r=e,o=n,{t:c}=_(),l=De(),{devices:p}=ft(),{findById:g}=ot(),y=v(``),x=v(null),{devices:S,addDevice:C}=dt(s(()=>r.spaceId),s(()=>r.spaceType)),E=s(()=>new Set(S.value.map(e=>e.id))),k=s(()=>p.value.filter(e=>e.hidden?!1:r.spaceType===$.ZONE?!E.value.has(e.id):e.roomId!==r.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),A=s(()=>(y.value.trim()?k.value.filter(e=>{let t=y.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):k.value).sort((e,t)=>e.name.localeCompare(t.name))),j=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`,N=e=>g(e)?.name||`Unknown`,P=s({get:()=>r.visible,set:e=>o(`update:visible`,e)}),I=()=>{P.value=!1,y.value=``,x.value=null},L=async e=>{x.value=e.id;try{await C(e.id),l.success(c(`spacesModule.messages.edited`,{space:e.name})),o(`device-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{x.value=null}};return w(()=>r.visible,e=>{e||(y.value=``,x.value=null)}),(e,n)=>(T(),m(h(Ue),{modelValue:P.value,"onUpdate:modelValue":n[1]||=e=>P.value=e,title:h(c)(`spacesModule.detail.devices.selectDevice`),class:`max-w-[700px]`,onClose:I},{footer:M(()=>[d(h(D),{onClick:I},{default:M(()=>[u(b(h(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:M(()=>[d(h(ie),{modelValue:y.value,"onUpdate:modelValue":n[0]||=e=>y.value=e,placeholder:h(c)(`devicesModule.fields.devices.search.placeholder`),clearable:``,class:`mb-4`},{prefix:M(()=>[d(h(i),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(h(Ne),{data:A.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:M(()=>[k.value.length===0?(T(),t(`div`,Kr,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:devices`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(c)(`spacesModule.detail.devices.noAvailable`)),1)]),_:1})])):y.value.trim()&&A.value.length===0?(T(),t(`div`,qr,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:devices`})]),secondary:M(()=>[d(h(i),{icon:`mdi:filter-multiple`})]),_:1})]),title:M(()=>[d(h(pe),{class:`block`},{default:M(()=>[u(b(h(c)(`devicesModule.texts.devices.noFilteredDevices`)),1)]),_:1})]),_:1})])):O(``,!0)]),default:M(()=>[d(h(q),{label:h(c)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,Jr,[d(h(Ae),{size:32},{default:M(()=>[d(h(i),{icon:j(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),a(`div`,null,[e.description?(T(),t(R,{key:0},[a(`strong`,Yr,b(e.name),1),d(h(pe),{size:`small`,class:`block leading-4`,truncated:``},{default:M(()=>[u(b(e.description),1)]),_:2},1024)],64)):(T(),t(`div`,Xr,b(e.name),1))])])]),_:1},8,[`label`]),d(h(q),{label:h(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:M(({row:e})=>[e.roomId?(T(),m(h(W),{key:0,size:`small`,type:`warning`},{default:M(()=>[u(b(N(e.roomId)),1)]),_:2},1024)):(T(),t(`span`,Zr,`-`))]),_:1},8,[`label`]),d(h(q),{label:``,width:`150`,align:`right`},{default:M(({row:e})=>[d(h(D),{type:r.spaceType===h($).ROOM&&e.roomId?`warning`:`default`,plain:``,size:`small`,loading:x.value===e.id,onClick:t=>L(e)},{icon:M(()=>[d(h(i),{icon:r.spaceType===h($).ROOM&&e.roomId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:M(()=>[u(` `+b(r.spaceType===h($).ROOM&&e.roomId?h(c)(`spacesModule.detail.devices.reassign`):h(c)(`spacesModule.detail.devices.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),$r={key:0,class:`h-full w-full leading-normal`},ei={key:1,class:`h-full w-full leading-normal`},ti={class:`flex items-center gap-2`},ni={class:`block`},ri={key:1,class:`font-medium`},ii={key:1,class:`text-gray-400 text-sm`},ai=c({name:`SpaceAddDisplayDialog`,__name:`space-add-display-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`display-added`],setup(e,{emit:n}){let r=e,o=n,{t:c}=_(),l=De(),{displays:p}=Ye(),{findById:g}=ot(),y=v(``),x=v(null),{reassignDisplay:S}=ut(s(()=>r.spaceId)),C=s(()=>p.value.filter(e=>e.spaceId!==r.spaceId).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),E=s(()=>(y.value.trim()?C.value.filter(e=>{let t=y.value.toLowerCase();return(e.name||``).toLowerCase().includes(t)||e.macAddress.toLowerCase().includes(t)}):C.value).sort((e,t)=>{let n=e.name||e.macAddress,r=t.name||t.macAddress;return n.localeCompare(r)})),k=e=>g(e)?.name||`Unknown`,A=s({get:()=>r.visible,set:e=>o(`update:visible`,e)}),j=()=>{A.value=!1,y.value=``,x.value=null},N=async e=>{x.value=e.id;try{await S(e.id,r.spaceId),l.success(c(`spacesModule.messages.edited`,{space:e.name||e.macAddress})),o(`display-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{x.value=null}};return w(()=>r.visible,e=>{e||(y.value=``,x.value=null)}),(e,n)=>(T(),m(h(Ue),{modelValue:A.value,"onUpdate:modelValue":n[1]||=e=>A.value=e,title:h(c)(`spacesModule.detail.displays.selectDisplay`),class:`max-w-[700px]`,onClose:j},{footer:M(()=>[d(h(D),{onClick:j},{default:M(()=>[u(b(h(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:M(()=>[d(h(ie),{modelValue:y.value,"onUpdate:modelValue":n[0]||=e=>y.value=e,placeholder:h(c)(`displaysModule.fields.search.placeholder`),clearable:``,class:`mb-4`},{prefix:M(()=>[d(h(i),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(h(Ne),{data:E.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:M(()=>[C.value.length===0?(T(),t(`div`,$r,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:monitor`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(c)(`spacesModule.detail.displays.noAvailable`)),1)]),_:1})])):y.value.trim()&&E.value.length===0?(T(),t(`div`,ei,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:monitor`})]),secondary:M(()=>[d(h(i),{icon:`mdi:filter-multiple`})]),_:1})]),title:M(()=>[d(h(pe),{class:`block`},{default:M(()=>[u(b(h(c)(`displaysModule.texts.noFilteredDisplays`)),1)]),_:1})]),_:1})])):O(``,!0)]),default:M(()=>[d(h(q),{label:h(c)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,ti,[d(h(Ae),{size:32},{default:M(()=>[d(h(i),{icon:`mdi:monitor`,class:`w[20px] h[20px]`})]),_:1}),a(`div`,null,[e.name?(T(),t(R,{key:0},[a(`strong`,ni,b(e.name),1),d(h(pe),{size:`small`,class:`block leading-4`,truncated:``},{default:M(()=>[u(b(e.macAddress),1)]),_:2},1024)],64)):(T(),t(`div`,ri,b(e.macAddress),1))])])]),_:1},8,[`label`]),d(h(q),{label:h(c)(`spacesModule.wizard.assignedSpace`),width:`150`},{default:M(({row:e})=>[e.spaceId?(T(),m(h(W),{key:0,size:`small`,type:`warning`},{default:M(()=>[u(b(k(e.spaceId)),1)]),_:2},1024)):(T(),t(`span`,ii,`-`))]),_:1},8,[`label`]),d(h(q),{label:``,width:`150`,align:`right`},{default:M(({row:e})=>[d(h(D),{type:e.spaceId?`warning`:`default`,plain:``,size:`small`,loading:x.value===e.id,onClick:t=>N(e)},{icon:M(()=>[d(h(i),{icon:e.spaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:M(()=>[u(` `+b(e.spaceId?h(c)(`spacesModule.detail.displays.reassign`):h(c)(`spacesModule.detail.displays.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),oi={key:0,class:`h-full w-full leading-normal`},si={key:1,class:`h-full w-full leading-normal`},ci={class:`flex items-center gap-2`},li={class:`block text-sm`},ui={key:1,class:`font-medium`},di={key:1,class:`text-gray-400 text-sm`},fi=c({name:`SpaceAddSceneDialog`,__name:`space-add-scene-dialog`,props:{visible:{type:Boolean},spaceId:{}},emits:[`update:visible`,`scene-added`],setup(e,{emit:n}){let r=e,o=n,{t:c}=_(),l=De(),{scenes:p,loaded:g,fetchScenes:y}=ht(),{editScene:x}=mt(),{findById:C}=ot(),E=v(``),k=v(null),A=s(()=>p.value.filter(e=>!e.draft&&e.primarySpaceId!==r.spaceId).sort((e,t)=>e.name.localeCompare(t.name))),j=s(()=>(E.value.trim()?A.value.filter(e=>{let t=E.value.toLowerCase();return e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)}):A.value).sort((e,t)=>e.name.localeCompare(t.name))),N=e=>gt[e.category]||gt[_e.generic],P=e=>C(e)?.name||`Unknown`,I=s({get:()=>r.visible,set:e=>o(`update:visible`,e)}),L=()=>{I.value=!1,E.value=``,k.value=null},z=async e=>{k.value=e.id;try{await x({id:e.id,data:{primarySpaceId:r.spaceId}}),l.success(c(`spacesHomeControlPlugin.detail.scenes.assigned`,{name:e.name})),o(`scene-added`)}catch{l.error(c(`spacesModule.messages.saveError`))}finally{k.value=null}};return S(async()=>{g.value||await y()}),w(()=>r.visible,e=>{e||(E.value=``,k.value=null)}),(e,n)=>(T(),m(h(Ue),{modelValue:I.value,"onUpdate:modelValue":n[1]||=e=>I.value=e,title:h(c)(`spacesHomeControlPlugin.detail.scenes.selectScene`),class:`max-w-[700px]`,onClose:L},{footer:M(()=>[d(h(D),{onClick:L},{default:M(()=>[u(b(h(c)(`spacesModule.buttons.close.title`)),1)]),_:1})]),default:M(()=>[d(h(ie),{modelValue:E.value,"onUpdate:modelValue":n[0]||=e=>E.value=e,placeholder:h(c)(`spacesHomeControlPlugin.detail.scenes.searchPlaceholder`),clearable:``,class:`mb-4`},{prefix:M(()=>[d(h(i),{icon:`mdi:magnify`})]),_:1},8,[`modelValue`,`placeholder`]),d(h(Ne),{data:j.value,"max-height":`400px`,"table-layout":`fixed`,"row-key":`id`},{empty:M(()=>[A.value.length===0?(T(),t(`div`,oi,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:play-box-multiple`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(c)(`spacesHomeControlPlugin.detail.scenes.noAvailable`)),1)]),_:1})])):E.value.trim()&&j.value.length===0?(T(),t(`div`,si,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:play-box-multiple`})]),secondary:M(()=>[d(h(i),{icon:`mdi:filter-multiple`})]),_:1})]),title:M(()=>[d(h(pe),{class:`block`},{default:M(()=>[u(b(h(c)(`spacesHomeControlPlugin.detail.scenes.noFilteredScenes`)),1)]),_:1})]),_:1})])):O(``,!0)]),default:M(()=>[d(h(q),{label:h(c)(`spacesHomeControlPlugin.detail.scenes.name`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,ci,[d(h(Ae),{size:32},{default:M(()=>[d(h(i),{icon:N(e),class:`w[20px] h[20px]`},null,8,[`icon`])]),_:2},1024),a(`div`,null,[e.description?(T(),t(R,{key:0},[a(`strong`,li,b(e.name),1),d(h(pe),{size:`small`,class:`block leading-4`,truncated:``},{default:M(()=>[u(b(e.description),1)]),_:2},1024)],64)):(T(),t(`div`,ui,b(e.name),1))])])]),_:1},8,[`label`]),d(h(q),{label:h(c)(`spacesHomeControlPlugin.detail.scenes.assignedSpace`),width:`150`},{default:M(({row:e})=>[e.primarySpaceId?(T(),m(h(W),{key:0,size:`small`,type:`warning`},{default:M(()=>[u(b(P(e.primarySpaceId)),1)]),_:2},1024)):(T(),t(`span`,di,`-`))]),_:1},8,[`label`]),d(h(q),{label:``,width:`150`,align:`right`},{default:M(({row:e})=>[d(h(D),{type:e.primarySpaceId?`warning`:`default`,plain:``,size:`small`,loading:k.value===e.id,onClick:t=>z(e)},{icon:M(()=>[d(h(i),{icon:e.primarySpaceId?`mdi:swap-horizontal`:`mdi:plus`},null,8,[`icon`])]),default:M(()=>[u(` `+b(e.primarySpaceId?h(c)(`spacesHomeControlPlugin.detail.scenes.reassign`):h(c)(`spacesHomeControlPlugin.detail.scenes.assign`)),1)]),_:2},1032,[`type`,`loading`,`onClick`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]))}}),pi={class:`flex items-center gap-2`},mi={class:`grow-1 flex flex-col gap-2 lt-sm:mx-1 sm:mx-2 lt-sm:mb-1 sm:mb-2 overflow-hidden mt-2`},hi={class:`p-4 max-h-full box-border flex flex-col`},gi={class:`my-2 font-medium`},_i={class:`grow-1 flex items-center gap-1 min-w-[150px]`},vi={class:`flex items-center gap-2`},yi={class:`flex items-center gap-2`},bi={class:`my-2 font-medium`},xi={class:`grow-1 min-w-0`},Si={class:`text-gray-500 text-sm ml-2`},Ci={key:1,class:`text-gray-600`},wi={class:`my-2 font-medium`},Ti={class:`flex flex-wrap gap-2`},Ei={class:`my-2 font-medium`},Di={class:`grow-1 flex items-center gap-1 min-w-[150px]`},Oi={class:`flex items-center gap-2`},ki={class:`flex items-center gap-2`},Ai={class:`my-2 font-medium`},ji={class:`flex items-center gap-3 p-2`},Mi={class:`h-full w-full leading-normal`},Ni={class:`font-medium`},Pi={class:`text-xs text-gray-500 mt-1`},Fi={key:1,class:`font-medium`},Ii={class:`flex items-center gap-2`},Li={class:`h-full w-full leading-normal`},Ri={key:0,class:`text-xs text-gray-500 mt-1`},zi={class:`flex items-center gap-2`},Bi={class:`grid grid-cols-2 md:grid-cols-5 gap-4 text-center my-4 shrink-0`},Vi={class:`text-2xl font-bold text-blue-600`},Hi={class:`text-sm text-gray-500`},Ui={class:`text-2xl font-bold text-green-600`},Wi={class:`text-sm text-gray-500`},Gi={class:`text-2xl font-bold text-yellow-600`},Ki={class:`text-sm text-gray-500`},qi={class:`text-2xl font-bold text-green-600`},Ji={class:`text-sm text-gray-500`},Yi={class:`text-2xl font-bold text-yellow-600`},Xi={class:`text-sm text-gray-500`},Zi={class:`mb-2 font-medium`},Qi={class:`flex items-center gap-2`},$i={class:`flex items-center gap-2`},ea={class:`font-medium`},ta={class:`text-xs text-gray-500`},na={key:1,class:`font-medium`},ra={class:`flex items-center gap-2`},ia={key:0,class:`mt-6 flex justify-between`},aa={key:1},oa={class:`flex gap-2`},sa=c({__name:`view-spaces-wizard`,setup(e){let{t:n}=_(),r=C(),o=L(),c=De(),{isMDDevice:g,isLGDevice:x}=ae();B({title:n(`spacesModule.meta.spaces.wizard.title`)});let{isLoading:w,currentStep:A,existingSpaces:P,proposedSpaces:z,customSpaces:V,matchedSpaces:ne,availableSpaces:H,deviceAssignments:re,displayAssignments:oe,zoneAssignments:se,showAdvancedZones:ce,assignableZones:de,fetchProposedSpaces:U,fetchDevices:pe,fetchDisplays:me,fetchExistingSpaces:G,createDraftSpacesFromProposals:ge,createSpacesFromProposals:_e,setDeviceAssignment:ve,setDisplayAssignment:ye,setDeviceZones:xe,applyAssignments:Se,nextStep:Ce,prevStep:we,toggleProposedSpace:Te,toggleCustomSpace:Ee,addManualSpace:Oe,removeProposedSpace:ke,removeCustomSpace:Ae,startEditingProposedName:je,confirmProposedNameEdit:K,discardProposedNameEdit:Me,startEditingCustomName:J,confirmCustomNameEdit:Pe,discardCustomNameEdit:Fe,initializeDeviceAssignments:Ie,initializeDisplayAssignments:ze,summary:Ve}=Ar(),He=v(``),We=p([]),Je=p([]),Ye=v(!1),Q=v(!1),Ze=p(new Map),Qe=p(new Map),$e=(e,t)=>{t?Ze.value.set(e,t):Ze.value.delete(e)},et=(e,t)=>{t?Qe.value.set(e,t):Qe.value.delete(e)},tt=async e=>{je(e),await y(),Ze.value.get(e)?.focus?.()},rt=async e=>{J(e),await y(),Qe.value.get(e)?.focus?.()},it=s(()=>[...Je.value].sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress))),at=s(()=>[...We.value].sort((e,t)=>e.name.localeCompare(t.name))),ot=s(()=>[{label:n(`spacesModule.breadcrumbs.spaces.list`),route:o.resolve({name:Xe.SPACES})},{label:n(`spacesModule.breadcrumbs.spaces.wizard`),route:o.resolve({name:Xe.SPACES_WIZARD,params:{type:r.params.type}})}]),st=H,lt=s(()=>st.value.filter(e=>e.type===$.ROOM).sort((e,t)=>e.name.localeCompare(t.name))),ut=e=>e.icon?e.icon:e.type===$.ROOM?`mdi:door`:`mdi:home-floor-1`,dt=s(()=>{let e=new Set(ne.value.map(e=>e.existingSpace.id));return P.value.filter(t=>!e.has(t.id))}),ft=s(()=>{let e=new Map;for(let t of ne.value){let n=e.get(t.existingSpace.id);n?(n.proposedNames.push(t.proposedName),n.totalDeviceCount+=t.deviceCount,n.matchCount++):e.set(t.existingSpace.id,{existingSpace:t.existingSpace,proposedNames:[t.proposedName],totalDeviceCount:t.deviceCount,matchCount:1})}return Array.from(e.values())}),pt=s(()=>st.value.map(e=>({name:e.name,type:e.type,icon:e.icon,devices:Ve.value.devicesBySpace[e.id]??0,displays:Ve.value.displaysBySpace[e.id]??0}))),mt=s(()=>We.value.filter(e=>!re.value[e.id]).sort((e,t)=>e.name.localeCompare(t.name))),ht=s(()=>Je.value.filter(e=>!oe.value[e.id]).sort((e,t)=>(e.name||e.macAddress).localeCompare(t.name||t.macAddress)));S(async()=>{try{await G(),We.value=await pe(),Je.value=await me(),Ie(We.value),ze(Je.value),await U()}catch{c.error(n(`spacesModule.messages.loadError`))}});let gt=()=>{if(He.value.trim()){let e=Oe(He.value.trim());e.success?He.value=``:c.warning(n(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:e.duplicateOf}))}},_t=e=>{let t=K(e);t.convertedToMatch?c.info(n(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&c.warning(n(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},vt=e=>{let t=Pe(e);t.convertedToMatch?c.info(n(`spacesModule.wizard.steps.spaces.convertedToMatch`)):t.duplicateOf&&c.warning(n(`spacesModule.wizard.steps.spaces.duplicateWarning`,{name:t.duplicateOf}))},yt=e=>{Me(e)},bt=e=>{Fe(e)},{getCategoryOptions:xt,getCategoryGroups:St,getCategoryTemplates:Ct}=ct(),wt=e=>{e.category&&!nt(e.category,e.type)&&(e.category=null,e.description=null)},Tt=e=>{if(e.category){let t=Ct(e.type)[e.category];t?.description&&(e.description=t.description)}},Et=()=>{for(let e of z.value)if(e.selected&&e.type===$.ZONE&&!e.category)return c.error(n(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;for(let e of V.value)if(e.selected&&e.type===$.ZONE&&!e.category)return c.error(n(`spacesModule.fields.spaces.category.validation.requiredForZone`)),!1;return!0},Dt=()=>{if(A.value===0){if(!Et())return;ge()}Ce()},Ot=()=>{x.value?o.replace({name:Xe.SPACES}):o.push({name:Xe.SPACES})},kt=async()=>{try{await _e();let e=await Se();c.success(n(`spacesModule.wizard.messages.completed`,{devices:e.devicesAssigned,displays:e.displaysAssigned,zones:e.zonesAssigned})),x.value?o.replace({name:Xe.SPACES}):o.push({name:Xe.SPACES})}catch{c.error(n(`spacesModule.messages.saveError`))}};return(e,r)=>(T(),t(R,null,[h(g)?O(``,!0):(T(),m(h(le),{key:0,teleport:``},{icon:M(()=>[d(h(i),{icon:`mdi:wizard-hat`,class:`w[20px] h[20px]`})]),title:M(()=>[u(b(h(n)(`spacesModule.wizard.title`)),1)]),subtitle:M(()=>[u(b(h(n)(`spacesModule.subHeadings.wizard`)),1)]),_:1})),h(g)?O(``,!0):(T(),m(h(ee),{key:1,align:h(he).LEFT,teleport:``,small:``,onClick:Ot},{icon:M(()=>[d(h(l),{size:24},{default:M(()=>[d(h(i),{icon:`mdi:chevron-left`})]),_:1})]),_:1},8,[`align`])),d(h(fe),{items:ot.value},null,8,[`items`]),d(h(be),{heading:h(n)(`spacesModule.wizard.title`),"sub-heading":h(n)(`spacesModule.subHeadings.wizard`),icon:`mdi:wizard-hat`},E({_:2},[h(g)?{name:`extra`,fn:M(()=>[a(`div`,pi,[h(A)===2&&h(de).length>0?(T(),m(h(D),{key:0,type:h(ce)?`primary`:`default`,class:`px-4!`,onClick:r[0]||=e=>ce.value=!h(ce)},{default:M(()=>[u(b(h(ce)?h(n)(`spacesModule.wizard.basic`):h(n)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):O(``,!0),d(h(D),{link:``,class:`px-4!`,onClick:Ot},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),h(A)>0?(T(),m(h(D),{key:1,class:`px-4!`,onClick:h(we)},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):O(``,!0),h(A)<3?(T(),m(h(D),{key:2,type:`primary`,class:`px-4!`,onClick:Dt},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.next.title`)),1)]),_:1})):(T(),m(h(D),{key:3,type:`primary`,loading:h(w),class:`px-4!`,onClick:kt},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]),key:`0`}:void 0]),1032,[`heading`,`sub-heading`]),a(`div`,mi,[d(h(Re),{shadow:`never`,class:`max-h-full flex flex-col overflow-hidden box-border`,"body-class":`p-0! max-h-full overflow-hidden flex flex-col`},{header:M(()=>[d(h(Ge),{active:h(A),"finish-status":`success`,"align-center":``},{default:M(()=>[d(h(Ke),{title:h(n)(`spacesModule.wizard.steps.spaces.title`)},null,8,[`title`]),d(h(Ke),{title:h(n)(`spacesModule.wizard.steps.displays.title`)},null,8,[`title`]),d(h(Ke),{title:h(n)(`spacesModule.wizard.steps.devices.title`)},null,8,[`title`]),d(h(Ke),{title:h(n)(`spacesModule.wizard.steps.summary.title`)},null,8,[`title`])]),_:1},8,[`active`])]),default:M(()=>[k((T(),t(`div`,hi,[h(A)===0?(T(),t(R,{key:0},[d(h(Y),{type:`info`,title:h(n)(`spacesModule.wizard.steps.spaces.alertTitle`),description:h(n)(`spacesModule.wizard.steps.spaces.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(h(ue),{class:`flex-1 overflow-hidden h-full`},{default:M(()=>[h(z).length>0?(T(),t(R,{key:0},[a(`h4`,gi,b(h(n)(`spacesModule.wizard.steps.spaces.proposed`)),1),(T(!0),t(R,null,j(h(z),(e,r)=>(T(),t(`div`,{key:r,class:`flex items-center gap-3 flex-wrap p-2`},[d(h(Be),{"model-value":e.selected,onChange:()=>h(Te)(r)},null,8,[`model-value`,`onChange`]),a(`div`,_i,[e.editing?(T(),m(h(ie),{key:1,ref_for:!0,ref:e=>$e(r,e),modelValue:e.editName,"onUpdate:modelValue":t=>e.editName=t,size:`small`,class:`max-w-[250px]!`,onKeyup:[I(e=>_t(r),[`enter`]),I(e=>yt(r),[`esc`])],onBlur:e=>_t(r)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(T(),t(R,{key:0},[u(b(e.name)+` `,1),d(h(D),{link:``,size:`small`,onClick:e=>tt(r)},{default:M(()=>[d(h(l),{size:14},{default:M(()=>[d(h(i),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(h(W),{size:`small`,type:`info`},{default:M(()=>[u(b(e.deviceCount)+` `+b(h(n)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(h(X),{modelValue:e.type,"onUpdate:modelValue":t=>e.type=t,size:`small`,class:`w-[120px]!`,onChange:()=>wt(e)},{default:M(()=>[d(h(Z),{label:h(n)(`spacesModule.fields.spaces.type.options.room`),value:h($).ROOM},null,8,[`label`,`value`]),d(h(Z),{label:h(n)(`spacesModule.fields.spaces.type.options.zone`),value:h($).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(h(X),{modelValue:e.category,"onUpdate:modelValue":t=>e.category=t,size:`small`,placeholder:h(n)(`spacesModule.fields.spaces.category.placeholder`),clearable:e.type===h($).ROOM,required:e.type===h($).ZONE,class:`w-[180px]!`,onChange:()=>Tt(e)},{default:M(()=>[e.type===h($).ZONE?(T(!0),t(R,{key:0},j(h(St)(e.type),r=>(T(),m(h(Le),{key:r.key,label:h(n)(`spacesModule.fields.spaces.category.groups.${r.key}`)},{default:M(()=>[(T(!0),t(R,null,j(r.categories,t=>(T(),m(h(Z),{key:t,label:h(n)(`spacesModule.fields.spaces.category.options.${t}`),value:t},{default:M(()=>[a(`span`,vi,[h(Ct)(e.type)[t]?(T(),m(h(l),{key:0},{default:M(()=>[d(h(i),{icon:h(Ct)(e.type)[t]?.icon??``},null,8,[`icon`])]),_:2},1024)):O(``,!0),u(` `+b(h(n)(`spacesModule.fields.spaces.category.options.${t}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(T(!0),t(R,{key:1},j(h(xt)(e.type),t=>(T(),m(h(Z),{key:t,label:h(n)(`spacesModule.fields.spaces.category.options.${t}`),value:t},{default:M(()=>[a(`span`,yi,[h(Ct)(e.type)[t]?(T(),m(h(l),{key:0},{default:M(()=>[d(h(i),{icon:h(Ct)(e.type)[t]?.icon??``},null,8,[`icon`])]),_:2},1024)):O(``,!0),u(` `+b(h(n)(`spacesModule.fields.spaces.category.options.${t}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(h(D),{size:`small`,type:`warning`,plain:``,onClick:e=>h(ke)(r)},{icon:M(()=>[d(h(i),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):h(ne).length===0?(T(),m(h(Y),{key:1,type:`info`,title:h(n)(`spacesModule.wizard.steps.spaces.noProposals`),closable:!1,"show-icon":``,class:`!mb-4`},null,8,[`title`])):O(``,!0),ft.value.length>0?(T(),t(R,{key:2},[a(`h4`,bi,b(h(n)(`spacesModule.wizard.steps.spaces.matchedExisting`)),1),(T(!0),t(R,null,j(ft.value,e=>(T(),t(`div`,{key:e.existingSpace.id,class:`flex items-center gap-3 flex-wrap p-2`},[d(h(Be),{"model-value":!0,disabled:``}),a(`span`,xi,[e.matchCount===1?(T(),t(R,{key:0},[u(b(e.proposedNames[0])+` `,1),a(`span`,Si,` → `+b(h(n)(`spacesModule.wizard.steps.spaces.matchedWith`,{name:e.existingSpace.name})),1)],64)):(T(),t(`span`,Ci,b(h(n)(`spacesModule.wizard.steps.spaces.multipleMatchedWith`,{count:e.matchCount,name:e.existingSpace.name})),1))]),d(h(W),{size:`small`,type:`info`},{default:M(()=>[u(b(e.totalDeviceCount)+` `+b(h(n)(`spacesModule.wizard.devices`)),1)]),_:2},1024),d(h(W),{size:`small`,type:`success`},{default:M(()=>[u(b(h(n)(`spacesModule.wizard.steps.spaces.existingTag`)),1)]),_:1})]))),128))],64)):O(``,!0),dt.value.length>0?(T(),t(R,{key:3},[a(`h4`,wi,b(h(n)(`spacesModule.wizard.steps.spaces.existing`)),1),a(`div`,Ti,[(T(!0),t(R,null,j(dt.value,e=>(T(),m(h(W),{key:e.id,size:`large`},{default:M(()=>[u(b(e.name),1)]),_:2},1024))),128))])],64)):O(``,!0),h(V).length>0?(T(),t(R,{key:4},[a(`h4`,Ei,b(h(n)(`spacesModule.wizard.steps.spaces.custom`)),1),(T(!0),t(R,null,j(h(V),(e,r)=>(T(),t(`div`,{key:r,class:`flex items-center gap-3 flex-wrap p-2`},[d(h(Be),{"model-value":e.selected,onChange:()=>h(Ee)(r)},null,8,[`model-value`,`onChange`]),a(`div`,Di,[e.editing?(T(),m(h(ie),{key:1,ref_for:!0,ref:e=>et(r,e),modelValue:e.editName,"onUpdate:modelValue":t=>e.editName=t,size:`small`,class:`max-w-[250px]`,onKeyup:[I(e=>vt(r),[`enter`]),I(e=>bt(r),[`esc`])],onBlur:e=>vt(r)},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeyup`,`onBlur`])):(T(),t(R,{key:0},[u(b(e.name)+` `,1),d(h(D),{link:``,size:`small`,onClick:e=>rt(r)},{default:M(()=>[d(h(l),{size:14},{default:M(()=>[d(h(i),{icon:`mdi:pencil`})]),_:1})]),_:1},8,[`onClick`])],64))]),d(h(X),{modelValue:e.type,"onUpdate:modelValue":t=>e.type=t,size:`small`,class:`w-[120px]!`,onChange:()=>wt(e)},{default:M(()=>[d(h(Z),{label:h(n)(`spacesModule.fields.spaces.type.options.room`),value:h($).ROOM},null,8,[`label`,`value`]),d(h(Z),{label:h(n)(`spacesModule.fields.spaces.type.options.zone`),value:h($).ZONE},null,8,[`label`,`value`])]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),d(h(X),{modelValue:e.category,"onUpdate:modelValue":t=>e.category=t,size:`small`,placeholder:h(n)(`spacesModule.fields.spaces.category.placeholder`),clearable:e.type===h($).ROOM,required:e.type===h($).ZONE,class:`w-[180px]!`,onChange:()=>Tt(e)},{default:M(()=>[e.type===h($).ZONE?(T(!0),t(R,{key:0},j(h(St)(e.type),r=>(T(),m(h(Le),{key:r.key,label:h(n)(`spacesModule.fields.spaces.category.groups.${r.key}`)},{default:M(()=>[(T(!0),t(R,null,j(r.categories,t=>(T(),m(h(Z),{key:t,label:h(n)(`spacesModule.fields.spaces.category.options.${t}`),value:t},{default:M(()=>[a(`span`,Oi,[h(Ct)(e.type)[t]?(T(),m(h(l),{key:0},{default:M(()=>[d(h(i),{icon:h(Ct)(e.type)[t]?.icon??``},null,8,[`icon`])]),_:2},1024)):O(``,!0),u(` `+b(h(n)(`spacesModule.fields.spaces.category.options.${t}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`label`]))),128)):(T(!0),t(R,{key:1},j(h(xt)(e.type),t=>(T(),m(h(Z),{key:t,label:h(n)(`spacesModule.fields.spaces.category.options.${t}`),value:t},{default:M(()=>[a(`span`,ki,[h(Ct)(e.type)[t]?(T(),m(h(l),{key:0},{default:M(()=>[d(h(i),{icon:h(Ct)(e.type)[t]?.icon??``},null,8,[`icon`])]),_:2},1024)):O(``,!0),u(` `+b(h(n)(`spacesModule.fields.spaces.category.options.${t}`)),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`placeholder`,`clearable`,`required`,`onChange`]),d(h(D),{size:`small`,type:`warning`,plain:``,onClick:e=>h(Ae)(r)},{icon:M(()=>[d(h(i),{icon:`mdi:trash`})]),_:1},8,[`onClick`])]))),128))],64)):O(``,!0),a(`h4`,Ai,b(h(n)(`spacesModule.wizard.steps.spaces.addManual`)),1),a(`div`,ji,[d(h(ie),{modelValue:He.value,"onUpdate:modelValue":r[1]||=e=>He.value=e,placeholder:h(n)(`spacesModule.wizard.steps.spaces.placeholder`)},null,8,[`modelValue`,`placeholder`]),d(h(D),{type:`primary`,disabled:!He.value.trim(),onClick:gt},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.add.title`)),1)]),_:1},8,[`disabled`])])]),_:1})],64)):O(``,!0),h(A)===1?(T(),t(R,{key:1},[d(h(Y),{type:`info`,title:h(n)(`spacesModule.wizard.steps.displays.alertTitle`),description:h(n)(`spacesModule.wizard.steps.displays.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(h(Ne),{data:it.value,class:`w-full flex-grow`,"table-layout":`fixed`},{empty:M(()=>[a(`div`,Mi,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:monitor`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(n)(`spacesModule.wizard.steps.displays.noDisplays`)),1)]),_:1})])]),default:M(()=>[d(h(q),{prop:`name`,label:h(n)(`spacesModule.wizard.displayName`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,null,[e.name?(T(),t(R,{key:0},[a(`div`,Ni,b(e.name),1),a(`div`,Pi,b(e.macAddress),1)],64)):(T(),t(`div`,Fi,b(e.macAddress),1))])]),_:1},8,[`label`]),d(h(q),{label:h(n)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:M(({row:e})=>[d(h(X),{"model-value":h(oe)[e.id],placeholder:h(n)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":t=>h(ye)(e.id,t)},{default:M(()=>[(T(!0),t(R,null,j(lt.value,e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id},{default:M(()=>[a(`div`,Ii,[d(h(i),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),a(`span`,null,b(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])],64)):O(``,!0),h(A)===2?(T(),t(R,{key:2},[d(h(Y),{type:`info`,title:h(n)(`spacesModule.wizard.steps.devices.alertTitle`),description:h(n)(`spacesModule.wizard.steps.devices.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),d(h(Ne),{data:at.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{empty:M(()=>[a(`div`,Li,[d(h(f),{class:`h-full w-full`},{icon:M(()=>[d(h(F),{size:80},{primary:M(()=>[d(h(i),{icon:`mdi:devices`})]),secondary:M(()=>[d(h(i),{icon:`mdi:information`})]),_:1})]),title:M(()=>[u(b(h(n)(`spacesModule.wizard.steps.devices.noDevices`)),1)]),_:1})])]),default:M(()=>[d(h(q),{prop:`name`,label:h(n)(`spacesModule.wizard.deviceName`),"min-width":`200`},{default:M(({row:e})=>[a(`div`,null,[a(`div`,null,b(e.name),1),e.description?(T(),t(`div`,Ri,b(e.description),1)):O(``,!0)])]),_:1},8,[`label`]),d(h(q),{label:h(n)(`spacesModule.wizard.assignedSpace`),width:`250`},{default:M(({row:e})=>[d(h(X),{"model-value":h(re)[e.id],placeholder:h(n)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":t=>h(ve)(e.id,t)},{default:M(()=>[(T(!0),t(R,null,j(lt.value,e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id},{default:M(()=>[a(`div`,zi,[d(h(i),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),a(`span`,null,b(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`]),h(ce)&&h(de).length>0?(T(),m(h(q),{key:0,label:h(n)(`spacesModule.wizard.zones`),width:`250`},{default:M(({row:e})=>[d(h(X),{"model-value":h(se)[e.id]||[],multiple:``,clearable:``,"collapse-tags":``,placeholder:h(n)(`spacesModule.wizard.selectZones`),class:`w-full`,"onUpdate:modelValue":t=>h(xe)(e.id,t)},{default:M(()=>[(T(!0),t(R,null,j(h(de),e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])):O(``,!0)]),_:1},8,[`data`])],64)):O(``,!0),h(A)===3?(T(),t(R,{key:3},[d(h(Y),{type:`info`,title:h(n)(`spacesModule.wizard.steps.summary.alertTitle`),description:h(n)(`spacesModule.wizard.steps.summary.alertDescription`),closable:!1,"show-icon":``,class:`!mb-4 shrink-0`},null,8,[`title`,`description`]),a(`div`,Bi,[a(`div`,null,[a(`div`,Vi,b(h(Ve).spaceCount),1),a(`div`,Hi,b(h(n)(`spacesModule.wizard.summary.totalSpaces`)),1)]),a(`div`,null,[a(`div`,Ui,b(h(Ve).assignedDevices),1),a(`div`,Wi,b(h(n)(`spacesModule.wizard.summary.assignedDevices`)),1)]),d(h(te),{content:h(n)(`spacesModule.wizard.summary.clickToAssignDevices`),placement:`top`,disabled:h(Ve).unassignedDevices===0},{default:M(()=>[a(`div`,{class:N({"cursor-pointer":h(Ve).unassignedDevices>0}),onClick:r[2]||=e=>h(Ve).unassignedDevices>0&&(Ye.value=!0)},[a(`div`,Gi,b(h(Ve).unassignedDevices),1),a(`div`,Ki,b(h(n)(`spacesModule.wizard.summary.unassignedDevices`)),1)],2)]),_:1},8,[`content`,`disabled`]),a(`div`,null,[a(`div`,qi,b(h(Ve).assignedDisplays),1),a(`div`,Ji,b(h(n)(`spacesModule.wizard.summary.assignedDisplays`)),1)]),d(h(te),{content:h(n)(`spacesModule.wizard.summary.clickToAssignDisplays`),placement:`top`,disabled:h(Ve).unassignedDisplays===0},{default:M(()=>[a(`div`,{class:N({"cursor-pointer":h(Ve).unassignedDisplays>0}),onClick:r[3]||=e=>h(Ve).unassignedDisplays>0&&(Q.value=!0)},[a(`div`,Yi,b(h(Ve).unassignedDisplays),1),a(`div`,Xi,b(h(n)(`spacesModule.wizard.summary.unassignedDisplays`)),1)],2)]),_:1},8,[`content`,`disabled`])]),h(st).length>0?(T(),t(R,{key:0},[a(`h4`,Zi,b(h(n)(`spacesModule.wizard.summary.bySpace`)),1),d(h(Ne),{data:pt.value,class:`h-full w-full flex-grow`,"table-layout":`fixed`},{default:M(()=>[d(h(q),{prop:`name`,label:h(n)(`spacesModule.wizard.spaceName`)},{default:M(({row:e})=>[a(`div`,Qi,[d(h(i),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),a(`span`,null,b(e.name),1),d(h(W),{size:`small`,type:e.type===h($).ROOM?`primary`:`info`,class:`ml-2`},{default:M(()=>[u(b(e.type===h($).ROOM?h(n)(`spacesModule.misc.types.room`):h(n)(`spacesModule.misc.types.zone`)),1)]),_:2},1032,[`type`]),e.devices===0&&e.type===h($).ROOM?(T(),m(h(W),{key:0,size:`small`,type:`warning`,class:`ml-1`},{default:M(()=>[u(b(h(n)(`spacesModule.wizard.summary.noDevices`)),1)]),_:1})):O(``,!0)])]),_:1},8,[`label`]),d(h(q),{prop:`devices`,label:h(n)(`spacesModule.wizard.devices`),width:`120`,align:`center`},null,8,[`label`]),d(h(q),{prop:`displays`,label:h(n)(`spacesModule.wizard.displays`),width:`120`,align:`center`},null,8,[`label`])]),_:1},8,[`data`])],64)):O(``,!0)],64)):O(``,!0),d(h(Ue),{modelValue:Ye.value,"onUpdate:modelValue":r[4]||=e=>Ye.value=e,title:h(n)(`spacesModule.wizard.summary.unassignedDevicesTitle`)},{default:M(()=>[d(h(Ne),{data:mt.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:M(()=>[d(h(q),{prop:`name`,label:h(n)(`spacesModule.wizard.deviceName`)},null,8,[`label`]),d(h(q),{label:h(n)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:M(({row:e})=>[d(h(X),{"model-value":h(re)[e.id],placeholder:h(n)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":t=>h(ve)(e.id,t)},{default:M(()=>[(T(!0),t(R,null,j(lt.value,e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id},{default:M(()=>[a(`div`,$i,[d(h(i),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),a(`span`,null,b(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`]),d(h(Ue),{modelValue:Q.value,"onUpdate:modelValue":r[5]||=e=>Q.value=e,title:h(n)(`spacesModule.wizard.summary.unassignedDisplaysTitle`)},{default:M(()=>[d(h(Ne),{data:ht.value,class:`max-h-[70vh] w-full`,"table-layout":`fixed`,"max-height":`70vh`,stripe:``},{default:M(()=>[d(h(q),{label:h(n)(`spacesModule.wizard.displayName`)},{default:M(({row:e})=>[e.name?(T(),t(R,{key:0},[a(`div`,ea,b(e.name),1),a(`div`,ta,b(e.macAddress),1)],64)):(T(),t(`div`,na,b(e.macAddress),1))]),_:1},8,[`label`]),d(h(q),{label:h(n)(`spacesModule.wizard.assignedSpace`),width:`200`},{default:M(({row:e})=>[d(h(X),{"model-value":h(oe)[e.id],placeholder:h(n)(`spacesModule.wizard.selectSpace`),clearable:``,class:`w-full`,"onUpdate:modelValue":t=>h(ye)(e.id,t)},{default:M(()=>[(T(!0),t(R,null,j(lt.value,e=>(T(),m(h(Z),{key:e.id,label:e.name,value:e.id},{default:M(()=>[a(`div`,ra,[d(h(i),{icon:ut(e),class:`w-4 h-4`},null,8,[`icon`]),a(`span`,null,b(e.name),1)])]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`model-value`,`placeholder`,`onUpdate:modelValue`])]),_:1},8,[`label`])]),_:1},8,[`data`])]),_:1},8,[`modelValue`,`title`])])),[[h(qe),h(w)]]),h(g)?O(``,!0):(T(),t(`div`,ia,[h(A)>0?(T(),m(h(D),{key:0,onClick:h(we)},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.previous.title`)),1)]),_:1},8,[`onClick`])):(T(),t(`div`,aa)),a(`div`,oa,[d(h(D),{onClick:Ot},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.cancel.title`)),1)]),_:1}),h(A)===2&&h(de).length>0?(T(),m(h(D),{key:0,type:h(ce)?`primary`:`default`,onClick:r[6]||=e=>ce.value=!h(ce)},{default:M(()=>[u(b(h(ce)?h(n)(`spacesModule.wizard.basic`):h(n)(`spacesModule.wizard.advanced`)),1)]),_:1},8,[`type`])):O(``,!0),h(A)<3?(T(),m(h(D),{key:1,type:`primary`,onClick:Dt},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.next.title`)),1)]),_:1})):(T(),m(h(D),{key:2,type:`primary`,loading:h(w),onClick:kt},{default:M(()=>[u(b(h(n)(`spacesModule.buttons.finish.title`)),1)]),_:1},8,[`loading`]))])]))]),_:1})])],64))}}),ca=ye({enabled:ke(),display_order:Se().int().min(0).max(1e3),configuration:ye({lighting:ye({enabled:ke(),mode:Oe(Me),brightness:Se().int().min(0).max(100).optional()}),climate:ye({enabled:ke(),mode:Oe(ve).optional(),thermostat_preset:Oe(xe).optional(),setpoint:Se().finite().optional(),setpoint_delta:Se().finite().optional()}),covers:ye({enabled:ke(),position:Se().int().min(0).max(100)}),media:ye({enabled:ke(),activity:Oe(V)}),security:ye({enabled:ke()})})}).superRefine(({configuration:{climate:e,lighting:t}},n)=>{let r=e.setpoint!==void 0||e.setpoint_delta!==void 0;(e.thermostat_preset!==void 0&&(r||e.mode!==void 0)||e.setpoint!==void 0&&e.setpoint_delta!==void 0||e.enabled&&e.thermostat_preset===void 0&&!r||r&&e.mode!==ve.heat&&e.mode!==ve.cool)&&n.addIssue({code:vt.custom,path:[`configuration`,`climate`],message:`invalid`}),t.mode===Me.off&&t.brightness!==void 0&&n.addIssue({code:vt.custom,path:[`configuration`,`lighting`],message:`invalid`})}),la={class:`m-0`},ua={key:2},da={class:`flex-1`},fa={key:3},pa={class:`w-full`},ma={key:0},ha={key:1},ga=c({__name:`space-activity-modes-section`,props:{spaceId:{}},setup(e){let n=e,{t:r}=_(),o=e=>r(`spacesHomeControlPlugin.activityModes.${e}`),{profile:c}=_t(),l=s(()=>c.value?.role===de.owner||c.value?.role===de.admin),{configs:f,loading:p,busy:g,error:y,load:x,write:S,preview:C}=Ct(s(()=>n.spaceId)),E=v(!1),A=v(null),N=v(null),P=v(null),F=v(!1),I=v(!1),L=0,z=[`lighting`,`climate`,`covers`,`media`,`security`],B={work:`mdi:briefcase`,relax:`mdi:sofa-single`,sleep:`mdi:bed-king`,entertainment:`mdi:television-play`,away:`mdi:exit-run`},ee=s(()=>!!N.value&&!!A.value&&JSON.stringify(N.value)!==JSON.stringify(St(A.value))),te=s(()=>ca.safeParse(N.value).success),ne=s(()=>A.value?.activity_enabled===!0&&!ee.value&&!g.value&&!F.value&&y.value!==`conflict`),H=[`none`,`preset`,`setpoint`,`delta`],re=v(`none`),ie=s(()=>re.value),ae=e=>{N.value&&(N.value.configuration.climate={enabled:N.value.configuration.climate.enabled},re.value=e)},oe=e=>{A.value=e,N.value=St(e);let t=N.value.configuration.climate;re.value=t.thermostat_preset===void 0?t.setpoint===void 0?t.setpoint_delta===void 0?`none`:`delta`:`setpoint`:`preset`,y.value=null},se=e=>{oe(e),E.value=!0},ce=async(e,t)=>{if(!l.value||g.value||p.value)return;oe(e);let n=N.value;if(!n)return;n.enabled=t;let r=await S(e.activity_mode,e.activity_revision,n);r?(A.value=r,N.value=St(r)):E.value=!0},le=()=>{let e=f.value.find(e=>e.activity_mode===A.value?.activity_mode);e&&se(e)},ue=()=>{N.value?.configuration.lighting.mode===Me.off&&delete N.value.configuration.lighting.brightness},fe=e=>{N.value&&(e==null?delete N.value.configuration.lighting.brightness:N.value.configuration.lighting.brightness=e)},U=async()=>{if(!A.value||!N.value||!te.value||!l.value)return;let e=await S(A.value.activity_mode,A.value.activity_revision,N.value);e&&se(e)},pe=async()=>{if(!A.value||!l.value)return;let e=await S(A.value.activity_mode,A.value.activity_revision);e&&se(e)},me=async()=>{if(!A.value||!ne.value)return;let e=++L;F.value=!0,P.value=null,I.value=!1;try{let t=await C(A.value.activity_mode,A.value.activity_revision);e===L&&(P.value=t)}catch{e===L&&(I.value=!0)}finally{e===L&&(F.value=!1)}},G=e=>e.startsWith(`covers_require_`)?o(`reasons.coversUnsupported`):e===`operator_media_binding_missing_or_invalid`?o(`reasons.mediaBindingMissing`):e===`media_plan_empty_or_incompatible`||e===`media_deactivation_targets_unavailable`?o(`reasons.mediaUnavailable`):e===`no_active_media_activity`?o(`reasons.noActiveMedia`):e.startsWith(`no_compatible_`)||e===`no_media_endpoints`?o(`reasons.noTargets`):``,he=()=>{L++,P.value=null,I.value=!1,F.value=!1},ge=e=>{g.value||e()};return w(N,he,{deep:!0,flush:`sync`}),w(E,he),w(()=>n.spaceId,()=>{E.value=!1,A.value=null,N.value=null}),(e,n)=>(T(),t(R,null,[k((T(),m(h(Re),{shadow:`never`,class:`m-2`},{header:M(()=>[a(`h3`,la,b(o(`title`)),1)]),default:M(()=>[a(`p`,null,b(o(`description`)),1),h(y)?(T(),m(h(Y),{key:0,title:o(h(y)),type:`warning`,closable:!1,"show-icon":``},null,8,[`title`])):O(``,!0),h(y)===`loadFailed`?(T(),m(h(D),{key:1,onClick:h(x)},{default:M(()=>[u(b(o(`refresh`)),1)]),_:1},8,[`onClick`])):O(``,!0),l.value?O(``,!0):(T(),t(`p`,ua,b(o(`readOnly`)),1)),(T(!0),t(R,null,j(h(f),e=>(T(),t(`div`,{key:e.activity_mode,class:`flex flex-wrap items-center gap-3 py-2`},[d(h(i),{icon:B[e.activity_mode]},null,8,[`icon`]),a(`strong`,da,b(o(`modes.${e.activity_mode}`)),1),d(h(Ee),{"model-value":e.activity_enabled,disabled:!l.value||h(g)||h(p),"aria-label":`${o(`modes.${e.activity_mode}`)}: ${o(`enabled`)}`,"data-testid":`toggle-${e.activity_mode}`,onChange:t=>ce(e,t===!0)},null,8,[`model-value`,`disabled`,`aria-label`,`data-testid`,`onChange`]),d(h(W),{type:e.activity_enabled?`success`:`info`},{default:M(()=>[u(b(o(e.activity_enabled?`enabled`:`disabled`)),1)]),_:2},1032,[`type`]),a(`span`,null,b(o(`order`))+`: `+b(e.activity_order),1),d(h(D),{disabled:h(g)||h(p),"data-testid":`edit-${e.activity_mode}`,onClick:t=>se(e)},{default:M(()=>[u(b(o(`edit`)),1)]),_:1},8,[`disabled`,`data-testid`,`onClick`])]))),128)),!h(p)&&!h(f).length?(T(),t(`p`,fa,b(o(`missing`)),1)):O(``,!0)]),_:1})),[[h(qe),h(p)]]),d(h(Ue),{modelValue:E.value,"onUpdate:modelValue":n[10]||=e=>E.value=e,title:o(`edit`),width:`min(680px, 94vw)`,"destroy-on-close":``,"close-on-click-modal":!1,"before-close":ge},{footer:M(()=>[d(h(D),{disabled:h(g),onClick:n[9]||=e=>E.value=!1},{default:M(()=>[u(b(o(`cancel`)),1)]),_:1},8,[`disabled`]),d(h(D),{disabled:!l.value||h(g)||F.value||h(y)===`conflict`,"data-testid":`reset`,onClick:pe},{default:M(()=>[u(b(o(`reset`)),1)]),_:1},8,[`disabled`]),d(h(D),{type:`primary`,disabled:!l.value||!te.value||!ee.value||h(g)||F.value||h(y)===`conflict`,loading:h(g),"data-testid":`save`,onClick:U},{default:M(()=>[u(b(o(`save`)),1)]),_:1},8,[`disabled`,`loading`])]),default:M(()=>[N.value&&A.value?(T(),t(R,{key:0},[a(`h3`,null,b(o(`modes.${A.value.activity_mode}`)),1),h(y)&&h(y)!==`conflict`?(T(),m(h(Y),{key:0,title:o(h(y)),type:`error`,closable:!1},null,8,[`title`])):O(``,!0),h(y)===`conflict`?(T(),m(h(Y),{key:1,title:o(`conflict`),description:o(`conflictReview`),type:`warning`,closable:!1},null,8,[`title`,`description`])):O(``,!0),h(y)===`conflict`?(T(),m(h(D),{key:2,onClick:le},{default:M(()=>[u(b(o(`discard`)),1)]),_:1})):O(``,!0),d(h(Pe),{"label-position":`top`,disabled:!l.value||h(g)||F.value},{default:M(()=>[d(h(J),{label:o(`enabled`)},{default:M(()=>[d(h(Ee),{modelValue:N.value.enabled,"onUpdate:modelValue":n[0]||=e=>N.value.enabled=e,"data-testid":`mode-enabled`},null,8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(`order`)},{default:M(()=>[d(h(Ie),{modelValue:N.value.display_order,"onUpdate:modelValue":n[1]||=e=>N.value.display_order=e,min:0,max:1e3,precision:0,"data-testid":`mode-order`},null,8,[`modelValue`]),a(`p`,pa,b(o(`orderHelp`)),1)]),_:1},8,[`label`]),(T(),t(R,null,j(z,e=>a(`fieldset`,{key:e,class:`mb-4 p-3 border-solid border border-[var(--el-border-color)] rounded`},[a(`legend`,null,b(o(e)),1),d(h(J),{label:o(`enabled`)},{default:M(()=>[d(h(Ee),{modelValue:N.value.configuration[e].enabled,"onUpdate:modelValue":t=>N.value.configuration[e].enabled=t,"data-testid":`${e}-enabled`},null,8,[`modelValue`,`onUpdate:modelValue`,`data-testid`])]),_:2},1032,[`label`]),e===`lighting`?(T(),t(R,{key:0},[d(h(J),{label:o(`lightingMode`)},{default:M(()=>[d(h(X),{modelValue:N.value.configuration.lighting.mode,"onUpdate:modelValue":n[2]||=e=>N.value.configuration.lighting.mode=e,onChange:ue},{default:M(()=>[(T(!0),t(R,null,j(h(Me),e=>(T(),m(h(Z),{key:e,value:e,label:o(`lightingModes.${e}`)},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),N.value.configuration.lighting.mode===h(Me).off?O(``,!0):(T(),m(h(J),{key:0,label:o(`brightness`)},{default:M(()=>[d(h(Ie),{"model-value":N.value.configuration.lighting.brightness,min:0,max:100,precision:0,placeholder:o(`defaultBrightness`),"onUpdate:modelValue":fe},null,8,[`model-value`,`placeholder`])]),_:1},8,[`label`]))],64)):O(``,!0),e===`climate`?(T(),t(R,{key:1},[d(h(Y),{title:o(`climateAutomation`),type:`info`,closable:!1,class:`mb-3`},null,8,[`title`]),d(h(J),{label:o(`climateKind`)},{default:M(()=>[d(h(X),{"model-value":ie.value,"data-testid":`climate-kind`,"onUpdate:modelValue":ae},{default:M(()=>[(T(),t(R,null,j(H,e=>d(h(Z),{key:e,value:e,label:o(`climateKinds.${e}`)},null,8,[`value`,`label`])),64))]),_:1},8,[`model-value`])]),_:1},8,[`label`]),ie.value===`preset`?(T(),m(h(J),{key:0,label:o(`preset`)},{default:M(()=>[d(h(X),{modelValue:N.value.configuration.climate.thermostat_preset,"onUpdate:modelValue":n[3]||=e=>N.value.configuration.climate.thermostat_preset=e},{default:M(()=>[(T(!0),t(R,null,j(h(xe),e=>(T(),m(h(Z),{key:e,value:e,label:o(`presets.${e}`)},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`])):O(``,!0),ie.value===`setpoint`||ie.value===`delta`?(T(),t(R,{key:1},[d(h(J),{label:o(`climateMode`)},{default:M(()=>[d(h(X),{modelValue:N.value.configuration.climate.mode,"onUpdate:modelValue":n[4]||=e=>N.value.configuration.climate.mode=e},{default:M(()=>[(T(!0),t(R,null,j([h(ve).heat,h(ve).cool],e=>(T(),m(h(Z),{key:e,value:e,label:o(`climateModes.${e}`)},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),d(h(J),{label:o(ie.value)},{default:M(()=>[ie.value===`setpoint`?(T(),m(h(Ie),{key:0,modelValue:N.value.configuration.climate.setpoint,"onUpdate:modelValue":n[5]||=e=>N.value.configuration.climate.setpoint=e,precision:1,step:.5},null,8,[`modelValue`])):(T(),m(h(Ie),{key:1,modelValue:N.value.configuration.climate.setpoint_delta,"onUpdate:modelValue":n[6]||=e=>N.value.configuration.climate.setpoint_delta=e,precision:1,step:.5},null,8,[`modelValue`]))]),_:1},8,[`label`])],64)):O(``,!0)],64)):O(``,!0),e===`covers`?(T(),m(h(J),{key:2,label:o(`position`)},{default:M(()=>[d(h(Ie),{modelValue:N.value.configuration.covers.position,"onUpdate:modelValue":n[7]||=e=>N.value.configuration.covers.position=e,min:0,max:100,precision:0},null,8,[`modelValue`])]),_:1},8,[`label`])):O(``,!0),e===`media`?(T(),m(h(J),{key:3,label:o(`mediaActivity`)},{default:M(()=>[d(h(X),{modelValue:N.value.configuration.media.activity,"onUpdate:modelValue":n[8]||=e=>N.value.configuration.media.activity=e},{default:M(()=>[(T(!0),t(R,null,j(h(V),e=>(T(),m(h(Z),{key:e,value:e,label:o(`mediaActivities.${e}`)},null,8,[`value`,`label`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`])):O(``,!0),e===`security`?(T(),m(h(Y),{key:4,title:o(`securityUnsupported`),type:`warning`,closable:!1},null,8,[`title`])):O(``,!0)])),64))]),_:1},8,[`disabled`]),te.value?O(``,!0):(T(),m(h(Y),{key:3,title:o(`invalid`),type:`warning`,closable:!1},null,8,[`title`])),a(`p`,null,b(o(A.value.activity_enabled?ee.value?`saveBeforePreview`:`previewDescription`:`enableBeforePreview`)),1),d(h(D),{disabled:!ne.value,loading:F.value,"data-testid":`preview`,onClick:me},{default:M(()=>[u(b(o(`preview`)),1)]),_:1},8,[`disabled`,`loading`]),I.value?(T(),m(h(Y),{key:4,title:o(`loadFailed`),type:`error`,closable:!1},null,8,[`title`])):O(``,!0),(T(!0),t(R,null,j(P.value,e=>(T(),t(`div`,{key:e.domain,class:`py-2`,"data-testid":`domain-result`},[a(`strong`,null,b(o(e.domain)),1),u(` : `+b(o(`statuses.${e.status}`))+` `,1),e.status===`unsupported`&&[`climate`,`security`].includes(e.domain)?(T(),t(`p`,ma,b(o(`${e.domain}Unsupported`)),1)):G(e.reason)?(T(),t(`p`,ha,b(G(e.reason)),1)):O(``,!0)]))),128))],64)):O(``,!0)]),_:1},8,[`modelValue`,`title`])],64))}}),_a=`spaces-home-control-plugin`,va=`com.fastybird.smart-panel.plugin.spaces-home-control`,ya=[$.ROOM,$.ZONE],ba={SPACE:`spaces_home_control_plugin-space`,SPACE_EDIT:`spaces_home_control_plugin-space_edit`};export{vt as _,ga as a,ai as c,Rr as d,Tr as f,Ft as g,Wt as h,ya as i,Qr as l,lr as m,_a as n,sa as o,_r as p,va as r,fi as s,ba as t,Gr as u};
@@ -0,0 +1 @@
1
+ import{Ar as e,Br as t,Ct as n,Dr as r,Er as i,Fr as a,H as o,Ir as s,Mr as c,Mt as l,Nr as u,Or as d,Pi as f,Ti as p,Xi as m,Yi as h,Zr as g,bt as _,cn as v,di as y,ei as b,et as x,gn as S,it as C,kr as w,oi as T,pi as E,q as D,qi as O,qr as k,ri as A,ti as j}from"./icon-with-child-C0yuv0oQ.js";import{Aa as M}from"./common-Cq0z9nNV.js";import{t as N}from"./use-ordered-children-jLmZ6DmH.js";var P=v({space:{type:[Number,String],default:``},active:{type:Number,default:0},direction:{type:String,default:`horizontal`,values:[`horizontal`,`vertical`]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:[`wait`,`process`,`finish`,`error`,`success`],default:`finish`},processStatus:{type:String,values:[`wait`,`process`,`finish`,`error`,`success`],default:`process`}}),F={[M]:(e,t)=>[e,t].every(S)},I=`ElSteps`,L=v({title:{type:String,default:``},icon:{type:D},description:{type:String,default:``},status:{type:String,values:[``,`wait`,`process`,`finish`,`error`,`success`],default:``}}),R=a({name:`ElSteps`,__name:`steps`,props:P,emits:F,setup(t,{emit:n}){let r=t,i=n,a=l(`steps`),{children:o,addChild:c,removeChild:d,ChildrenSorter:p}=N(s(),`ElStep`);return y(o,()=>{o.value.forEach((e,t)=>{e.setIndex(t)})}),j(I,{props:r,steps:o,addStep:c,removeStep:d}),y(()=>r.active,(e,t)=>{i(M,e,t)}),(n,r)=>(b(),e(`div`,{class:O([f(a).b(),f(a).m(t.simple?`simple`:t.direction)])},[A(n.$slots,`default`),u(f(p))],2))}}),z=a({name:`ElStep`,__name:`item`,props:L,setup(n){let a=n,_=l(`step`),v=p(-1),D=p({}),j=p(``),M=t(I),N=s(),P=0,F=0;g(()=>{y([()=>M.props.active,()=>M.props.processStatus,()=>M.props.finishStatus],([e],[t])=>{F=t||0,P=e-F,Y(e)},{immediate:!0})});let L=i(()=>a.status||j.value),R=i(()=>{let e=M.steps.value[v.value-1];return e?e.internalStatus.value:`wait`}),z=i(()=>M.props.alignCenter),B=i(()=>M.props.direction===`vertical`),V=i(()=>M.props.simple),H=i(()=>M.steps.value.length),U=i(()=>M.steps.value[H.value-1]?.uid===N.uid),W=i(()=>V.value?``:M.props.space),G=i(()=>[_.b(),_.is(V.value?`simple`:M.props.direction),_.is(`flex`,U.value&&!W.value&&!z.value),_.is(`center`,z.value&&!B.value&&!V.value)]),K=i(()=>{let e={flexBasis:S(W.value)?`${W.value}px`:W.value?W.value:`${100/(H.value-+!z.value)}%`};return B.value||U.value&&(e.maxWidth=`${100/H.value}%`),e}),q=e=>{v.value=e},J=e=>{let t=e===`wait`,n={transitionDelay:`${Math.abs(P)===1?0:P>0?(v.value+1-F)*150:-(v.value+1-M.props.active)*150}ms`},r=e===M.props.processStatus||t?0:100;n.borderWidth=r&&!V.value?`1px`:0,n[M.props.direction===`vertical`?`height`:`width`]=`${r}%`,D.value=n},Y=e=>{e>v.value?j.value=M.props.finishStatus:e===v.value&&R.value!==`error`?j.value=M.props.processStatus:j.value=`wait`;let t=M.steps.value[v.value-1];t&&t.calcProgress(j.value)},X={uid:N.uid,getVnode:()=>N.vnode,currentStatus:L,internalStatus:j,setIndex:q,calcProgress:J};return M.addStep(X),k(()=>{M.removeStep(X)}),(t,i)=>(b(),e(`div`,{style:h(K.value),class:O(G.value)},[w(` icon & line `),r(`div`,{class:O([f(_).e(`head`),f(_).is(L.value)])},[V.value?w(`v-if`,!0):(b(),e(`div`,{key:0,class:O(f(_).e(`line`))},[r(`i`,{class:O(f(_).e(`line-inner`)),style:h(D.value)},null,6)],2)),r(`div`,{class:O([f(_).e(`icon`),f(_).is(n.icon||t.$slots.icon?`icon`:`text`)])},[A(t.$slots,`icon`,{},()=>[n.icon?(b(),d(f(o),{key:0,class:O(f(_).e(`icon-inner`))},{default:E(()=>[(b(),d(T(n.icon)))]),_:1},8,[`class`])):L.value===`success`?(b(),d(f(o),{key:1,class:O([f(_).e(`icon-inner`),f(_).is(`status`)])},{default:E(()=>[u(f(x))]),_:1},8,[`class`])):L.value===`error`?(b(),d(f(o),{key:2,class:O([f(_).e(`icon-inner`),f(_).is(`status`)])},{default:E(()=>[u(f(C))]),_:1},8,[`class`])):V.value?w(`v-if`,!0):(b(),e(`div`,{key:3,class:O(f(_).e(`icon-inner`))},m(v.value+1),3))])],2)],2),w(` title & description `),r(`div`,{class:O(f(_).e(`main`))},[r(`div`,{class:O([f(_).e(`title`),f(_).is(L.value)])},[A(t.$slots,`title`,{},()=>[c(m(n.title),1)])],2),V.value?(b(),e(`div`,{key:0,class:O(f(_).e(`arrow`))},null,2)):(b(),e(`div`,{key:1,class:O([f(_).e(`description`),f(_).is(L.value)])},[A(t.$slots,`description`,{},()=>[c(m(n.description),1)])],2))],2)],6))}}),B=_(R,{Step:z}),V=n(z);export{B as n,V as t};