@camera.ui/server 2.2.8 → 2.3.0

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 (493) hide show
  1. package/LICENSE.md +8 -1
  2. package/dist/interface/assets/{404-BYV0u5qE.js → 404-C0X5UBF4.js} +1 -1
  3. package/dist/interface/assets/About-Ctp_u5qK.js +1 -0
  4. package/dist/interface/assets/Assistant-Bj2bAUHD.css +1 -0
  5. package/dist/interface/assets/Assistant-CDrBV_mg.js +1 -0
  6. package/dist/interface/assets/Automation-Dp6V80Iz.js +3 -0
  7. package/dist/interface/assets/{Automation-BSicfOGF.css → Automation-R5o9sXYY.css} +1 -1
  8. package/dist/interface/assets/{AutomationImport-Iu-K82Os.js → AutomationImport-DKgg7atE.js} +2 -2
  9. package/dist/interface/assets/AutomationStore-CU-m5VC8.js +2 -0
  10. package/dist/interface/assets/{AutomationStoreDetail-BbvLRJ5u.js → AutomationStoreDetail-CiyIs8Iu.js} +2 -2
  11. package/dist/interface/assets/Automations-Dljh-sWu.js +2 -0
  12. package/dist/interface/assets/Camera-0p0P_mbp.css +1 -0
  13. package/dist/interface/assets/Camera-Bvovab-8.js +2 -0
  14. package/dist/interface/assets/{CameraConsole-JBD3ZmJ6.js → CameraConsole-D_Fv-MAi.js} +1 -1
  15. package/dist/interface/assets/{Cameras-R5mJGMK9.js → Cameras-Cq7Gw-fk.js} +2 -2
  16. package/dist/interface/assets/{Camview-DH6_8CxH.css → Camview-Bs2VvmUS.css} +1 -1
  17. package/dist/interface/assets/Camview-CP6PA20C.js +1 -0
  18. package/dist/interface/assets/{CertificateUpload-B9S4EOQs.js → CertificateUpload-DjzNMFc3.js} +1 -1
  19. package/dist/interface/assets/{Config-CbFl5Wcp.js → Config-Dl2TlyFe.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionAssistant-DIOh6-np.js → ConfigActionAssistant-DCkJ_Iqq.js} +1 -1
  21. package/dist/interface/assets/ConfigActionCameraControl-2pzl59gR.js +1 -0
  22. package/dist/interface/assets/{ConfigActionDelay-B9i4YZjy.js → ConfigActionDelay-BAp1dr0N.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionHttp-DFtxAa3U.js → ConfigActionHttp-_kqgEuun.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionImageInput-CuTH4Nw2.js → ConfigActionImageInput-BgtACnCm.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionMqtt-B9SfWP-G.js → ConfigActionMqtt-z7UzccW5.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionNotification-BGMIByJT.js → ConfigActionNotification-bhbb5AqU.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionNotificationControl-Cz72szMd.js → ConfigActionNotificationControl-BbvX8MFu.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionOutput-BG6DoIRe.js → ConfigActionOutput-DdgSg3FU.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionPlugin-B5oRSE9n.js → ConfigActionPlugin-DGjZd1L0.js} +1 -1
  30. package/dist/interface/assets/ConfigActionSensor-DmImWFAo.js +1 -0
  31. package/dist/interface/assets/{ConfigActionSnapshot-Di-uxMrg.js → ConfigActionSnapshot-hVHSfdtS.js} +1 -1
  32. package/dist/interface/assets/{ConfigActionVariable-BBpUti5A.js → ConfigActionVariable-BIpruwsx.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionIfElse-DjOKPXQw.js → ConfigConditionIfElse-DRSpsoR4.js} +1 -1
  34. package/dist/interface/assets/{ConfigConditionSensorState-BzvvZvD0.js → ConfigConditionSensorState-C2SNARH7.js} +1 -1
  35. package/dist/interface/assets/{ConfigConditionSwitch-DQvdfUxR.js → ConfigConditionSwitch-4SbQcU7N.js} +1 -1
  36. package/dist/interface/assets/{ConfigConditionTime-BqOElX5C.js → ConfigConditionTime-ESX3shbg.js} +1 -1
  37. package/dist/interface/assets/{ConfigSensorValueInput-BT-0LhSH.js → ConfigSensorValueInput-CTUdAA-R.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerDetection-1OkudUah.js → ConfigTriggerDetection-BRr6ixxQ.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerGeofence-HGatk3C5.js → ConfigTriggerGeofence-D-xRMGrT.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerManual-DpRr_vVq.js → ConfigTriggerManual-aXD6k1qa.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerMqtt-C_MId3BY.js → ConfigTriggerMqtt-pjHW4yOL.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerSchedule-BmwDqd6N.js → ConfigTriggerSchedule-CYOt57qg.js} +1 -1
  43. package/dist/interface/assets/{ConfigTriggerSensor-Rgx8q4g8.js → ConfigTriggerSensor-BwJ_cAqd.js} +1 -1
  44. package/dist/interface/assets/{ConfigTriggerSystem-4VsHPmbn.js → ConfigTriggerSystem-DBXIrjzU.js} +1 -1
  45. package/dist/interface/assets/{ConfigTriggerWebhook-Bs7zEfY0.js → ConfigTriggerWebhook-CccBmMCb.js} +1 -1
  46. package/dist/interface/assets/Console-DWAaz1C6.js +1 -0
  47. package/dist/interface/assets/CuiAssistantConversation-B3xEiNNt.js +5 -0
  48. package/dist/interface/assets/{CuiAssistantConversation-BmBhwrNh.css → CuiAssistantConversation-C5ca1lgX.css} +1 -1
  49. package/dist/interface/assets/CuiAutomationRunsDialog-CfylVPLI.js +1 -0
  50. package/dist/interface/assets/CuiBottomSheet-ACN23VLS.js +1 -0
  51. package/dist/interface/assets/{CuiBottomSheet-Dd3uOtnC.js → CuiBottomSheet-DEVNeDqa.js} +1 -1
  52. package/dist/interface/assets/CuiCameraPipCard-rR_FW9zq.js +1 -0
  53. package/dist/interface/assets/CuiCameraRecordings-CnorhPhf.js +1 -0
  54. package/dist/interface/assets/CuiCameraShares-BxUgedC_.js +1 -0
  55. package/dist/interface/assets/{CuiCameraTable-C7WLZ2pA.js → CuiCameraTable-C3GB4Q2y.js} +2 -2
  56. package/dist/interface/assets/CuiCameraTable-MHfnZSyK.js +1 -0
  57. package/dist/interface/assets/CuiChartTable-TAzZgetO.js +1 -0
  58. package/dist/interface/assets/{CuiConsole-CkZML0iY.js → CuiConsole-Cf5lOCE1.js} +2 -2
  59. package/dist/interface/assets/{CuiDataTable-BFIhx1D3.js → CuiDataTable-DfjXa0C1.js} +1 -1
  60. package/dist/interface/assets/CuiLightControl-ChK-SvJp.js +1 -0
  61. package/dist/interface/assets/CuiList-C4fxd9lD.js +1 -0
  62. package/dist/interface/assets/CuiPluginCard-DMpANIQj.js +2 -0
  63. package/dist/interface/assets/CuiPluginCategoryChip-BKxJMid7.js +1 -0
  64. package/dist/interface/assets/{CuiPluginOAuthButton-BQZkTcgo.js → CuiPluginOAuthButton-DnQ838JJ.js} +2 -2
  65. package/dist/interface/assets/{CuiPluginTrustBadge-DbqdfdaL.js → CuiPluginTrustBadge-DyYDUWV6.js} +1 -1
  66. package/dist/interface/assets/{CuiQRCode-2WsWJQFi.js → CuiQRCode-S9fPi0_l.js} +1 -1
  67. package/dist/interface/assets/CuiSchema-DScmDQsh.js +1 -0
  68. package/dist/interface/assets/CuiTopNavbarItem-CT10aAlO.js +1 -0
  69. package/dist/interface/assets/Faces-Coy-tUVM.js +1 -0
  70. package/dist/interface/assets/FirstSteps-CrMJC049.js +1 -0
  71. package/dist/interface/assets/Floorplan-Bj_mVrxp.js +1 -0
  72. package/dist/interface/assets/{Floorplan-Ci63Zd8W.css → Floorplan-CT5TrMSD.css} +1 -1
  73. package/dist/interface/assets/Instances-B_mpKAng.js +1 -0
  74. package/dist/interface/assets/{Logs-DMehPk0t.js → Logs-fY1dpQk4.js} +2 -2
  75. package/dist/interface/assets/Menu-Bgi-NLdg.js +1 -0
  76. package/dist/interface/assets/Metrics-DnMeIrkf.css +1 -0
  77. package/dist/interface/assets/Metrics-k9KACiwh.js +12 -0
  78. package/dist/interface/assets/OAuthDeviceFlow-xTh83xmc.js +1 -0
  79. package/dist/interface/assets/Plugin-BB7x7UHw.css +1 -0
  80. package/dist/interface/assets/Plugin-VWq7sONB.js +1 -0
  81. package/dist/interface/assets/{PluginConsole-D1BRQCO9.js → PluginConsole-LnnDOVBL.js} +2 -2
  82. package/dist/interface/assets/PluginDetail-CKD9sbDx.js +2 -0
  83. package/dist/interface/assets/{PluginSchema-B9VsBHOU.js → PluginSchema-BnB0_6Sk.js} +1 -1
  84. package/dist/interface/assets/PluginSearch-BoBZLLbr.js +1 -0
  85. package/dist/interface/assets/PluginSearch-kGhweU1J.js +2 -0
  86. package/dist/interface/assets/{PluginUpdateProgress-uj0XPV-_.js → PluginUpdateProgress-DMx0QlgE.js} +1 -1
  87. package/dist/interface/assets/{Plugins-CPx9Hszm.js → Plugins-Ekmr6aVa.js} +1 -1
  88. package/dist/interface/assets/RecentEventsFilter-StLJNuks.js +1 -0
  89. package/dist/interface/assets/Recordings-8PqxJOI3.css +1 -0
  90. package/dist/interface/assets/Recordings-Bvkuk_TV.js +1 -0
  91. package/dist/interface/assets/SensorEdit-CAf9Nb01.js +1 -0
  92. package/dist/interface/assets/SensorHistory-il8bDErX.js +1 -0
  93. package/dist/interface/assets/Sensors-sxQ6HLKo.js +2 -0
  94. package/dist/interface/assets/Settings-Bu0G7Ebx.js +1 -0
  95. package/dist/interface/assets/{Settings-D7495zbV.css → Settings-DtCSaLPb.css} +1 -1
  96. package/dist/interface/assets/SettingsAccount-8OZJLQi-.js +1 -0
  97. package/dist/interface/assets/SettingsAccount-bSfFi9YH.js +1 -0
  98. package/dist/interface/assets/SettingsAppearance-CnvN_Tzr.js +1 -0
  99. package/dist/interface/assets/SettingsAppearance-EvPWgF4c.js +1 -0
  100. package/dist/interface/assets/SettingsAssistant-B6s6pHCx.js +1 -0
  101. package/dist/interface/assets/SettingsBackup-Dd2FaUcN.js +1 -0
  102. package/dist/interface/assets/SettingsList-SvCO_gfG.js +1 -0
  103. package/dist/interface/assets/SettingsMqtt-BXBzHX84.js +1 -0
  104. package/dist/interface/assets/SettingsNotifications-CV-jJwFV.js +1 -0
  105. package/dist/interface/assets/SettingsPermissions-GchFaWjz.js +1 -0
  106. package/dist/interface/assets/SettingsRecordings-C4Ch_jmV.js +1 -0
  107. package/dist/interface/assets/SettingsRemote-OZHDJKSq.js +2 -0
  108. package/dist/interface/assets/SettingsSystem-BJlHXwVs.js +2 -0
  109. package/dist/interface/assets/SettingsUsers-RGOkOzx0.js +1 -0
  110. package/dist/interface/assets/Terminal-DX-ECC91.js +4 -0
  111. package/dist/interface/assets/Training-B8my7vka.js +1 -0
  112. package/dist/interface/assets/Training-D1DDjCCD.css +1 -0
  113. package/dist/interface/assets/Updates-DmavyhAn.js +2 -0
  114. package/dist/interface/assets/{VariableInput-CcILik4M.js → VariableInput-DQJle67Y.js} +1 -1
  115. package/dist/interface/assets/{VariableSuggestions-Bj0HdrYW.js → VariableSuggestions-D8V739dF.js} +1 -1
  116. package/dist/interface/assets/{VersionsHandler-BA8Lcysg.js → VersionsHandler-B41TJhgY.js} +1 -1
  117. package/dist/interface/assets/{VirtualSensorCreate-DvHyw7I2.js → VirtualSensorCreate-MfLh-LpH.js} +1 -1
  118. package/dist/interface/assets/Workers-CafDeRhH.js +2 -0
  119. package/dist/interface/assets/api-By0v6EeA.css +2 -0
  120. package/dist/interface/assets/api-D1iULsSy.js +4 -0
  121. package/dist/interface/assets/{api-CKbL5jC7.js → api-DbUdfXO_.js} +1 -1
  122. package/dist/interface/assets/{assistant-CwmHp5bB.js → assistant-7hqP6OpA.js} +1 -1
  123. package/dist/interface/assets/{auth-AfZrkJ2f.js → auth-CDxrn7fe.js} +1 -1
  124. package/dist/interface/assets/{automations-DOCG0q8-.js → automations-CTTQlGCW.js} +1 -1
  125. package/dist/interface/assets/{cameraSources-mHEz9ROa.js → cameraSources-MOiE_1-W.js} +1 -1
  126. package/dist/interface/assets/cloudHandoff-CJzFH7CW.js +1 -0
  127. package/dist/interface/assets/{config-AG0SnOiY.js → config-6EiGxiYm.js} +1 -1
  128. package/dist/interface/assets/eventLabels-idFWh3Y_.js +1 -0
  129. package/dist/interface/assets/{flowSchema-B0d3VjU7.js → flowSchema-Dp_-p9WA.js} +1 -1
  130. package/dist/interface/assets/{intercomService-DG3EeZ6s.js → intercomService-BQYzjnAi.js} +1 -1
  131. package/dist/interface/assets/main-0oXl_8v7.js +3 -0
  132. package/dist/interface/assets/main-CdvAniEp.css +1 -0
  133. package/dist/interface/assets/mqtt-ChvXxMhR.js +1 -0
  134. package/dist/interface/assets/{notifications-8FH4ApEz.js → notifications-CbL-1oMs.js} +1 -1
  135. package/dist/interface/assets/{plugins-2JLUEMYc.js → plugins-lsoAntRQ.js} +1 -1
  136. package/dist/interface/assets/{rooms-DoAfzA8W.js → rooms-P8WrRIco.js} +1 -1
  137. package/dist/interface/assets/sensorIcons-BRTtoaHX.js +1 -0
  138. package/dist/interface/assets/{sensorSlots-biaL-O8E.js → sensorSlots-BTj-IM7z.js} +1 -1
  139. package/dist/interface/assets/{sensors-DyAMdS-H.js → sensors-Dxc7HgjZ.js} +1 -1
  140. package/dist/interface/assets/{server-BDRUGj61.js → server-DlK8gUoE.js} +1 -1
  141. package/dist/interface/assets/{theme-CLxrnR60.js → theme-BOppzzar.js} +1 -1
  142. package/dist/interface/assets/types-CeruGCb8.js +1 -0
  143. package/dist/interface/assets/{types-8JXzkoC8.js → types-J1Drrxo1.js} +1 -1
  144. package/dist/interface/assets/types-U4AuTNLR.js +1 -0
  145. package/dist/interface/assets/ungrouped-ING_JAuK.js +1 -0
  146. package/dist/interface/assets/{updates-F-veEP1I.js → updates-DtVp84Y0.js} +1 -1
  147. package/dist/interface/assets/{useAppVersion-BjUQmB7M.js → useAppVersion-BGgCk5GD.js} +1 -1
  148. package/dist/interface/assets/{useAssistantActions-CNEJol4o.js → useAssistantActions-C13O5EHU.js} +1 -1
  149. package/dist/interface/assets/useBackupRestore-vrhmc9i-.js +1 -0
  150. package/dist/interface/assets/{useCameraOptions-D_oduve2.js → useCameraOptions-CI1baRmm.js} +1 -1
  151. package/dist/interface/assets/{useKeyboardInset-CPWSVYlA.js → useKeyboardInset-CvgJp091.js} +1 -1
  152. package/dist/interface/assets/{useLogsSocket-B_jXUqv8.js → useLogsSocket-Bf0BI8ET.js} +1 -1
  153. package/dist/interface/assets/{useNavLayout-DEngIIeU.js → useNavLayout-6zM1Y-7B.js} +1 -1
  154. package/dist/interface/assets/{usePermissions-DAO92InI.js → usePermissions-DZitFsBQ.js} +1 -1
  155. package/dist/interface/assets/{usePluginUpdates-CJi8Y_wl.js → usePluginUpdates-VZdpJ_Ax.js} +1 -1
  156. package/dist/interface/assets/{usePushRegistration-j9WCeFbv.js → usePushRegistration-vcbMrTxZ.js} +1 -1
  157. package/dist/interface/assets/{useServerRestart-BVks5tuC.js → useServerRestart-DrpuNbIu.js} +1 -1
  158. package/dist/interface/assets/{useStreamStatus-DQ0NSyU8.js → useStreamStatus-l3Pfk1H4.js} +1 -1
  159. package/dist/interface/assets/{useTabSwipe-CVq7EcIY.js → useTabSwipe-BSpi25WV.js} +1 -1
  160. package/dist/interface/assets/{useUpdateChannel-C0fjDvNP.js → useUpdateChannel-kAl-5UNY.js} +1 -1
  161. package/dist/interface/assets/{useUpdatesSocket-DXKF9hzc.js → useUpdatesSocket-CaFz_fEb.js} +1 -1
  162. package/dist/interface/assets/{useUserOptions-UjMeAL5n.js → useUserOptions-BKteXnmU.js} +1 -1
  163. package/dist/interface/assets/vendor-cameraui-K1Nw4PvF.js +2326 -0
  164. package/dist/interface/assets/vendor-core-CJdfpB0I.js +1 -0
  165. package/dist/interface/assets/{vendor-primevue-Zx6t06A4.js → vendor-primevue-DoA2Rwcb.js} +871 -871
  166. package/dist/interface/assets/walk-B8FNhXuj.js +1 -0
  167. package/dist/interface/ha/{404-D5gfy0Cd.js → 404-RtgPpD9N.js} +1 -1
  168. package/dist/interface/ha/{About-JzlpCzBN.js → About-0PRv9bU0.js} +4 -4
  169. package/dist/interface/ha/{Assistant-DgOfGesf.js → Assistant-DbwxVfpl.js} +1021 -1021
  170. package/dist/interface/ha/{Automation-BDaWYiBu.js → Automation-D3HomdH7.js} +159 -155
  171. package/dist/interface/ha/{AutomationImport-BNB_PJ9R.js → AutomationImport-nQUUvZcv.js} +6 -6
  172. package/dist/interface/ha/{AutomationStore-_TeOt1wz.js → AutomationStore-BXDD92wZ.js} +8 -8
  173. package/dist/interface/ha/{AutomationStoreDetail-jjIEZoRi.js → AutomationStoreDetail-BYeq7FID.js} +19 -19
  174. package/dist/interface/ha/{Automations-DM6FEVOw.js → Automations-CJlGqmSP.js} +74 -74
  175. package/dist/interface/ha/Camera-Ai4BxVh_.js +747 -0
  176. package/dist/interface/ha/{CameraConsole-BoVql05l.js → CameraConsole-UMNOX3dE.js} +4 -4
  177. package/dist/interface/ha/{Cameras-cQBGvXq7.js → Cameras-BW-AEXYi.js} +266 -266
  178. package/dist/interface/ha/{Camview-mkG5FXZM.js → Camview-jikpVEE0.js} +195 -194
  179. package/dist/interface/ha/{Config-BNPDzo_h.js → Config-BOxwBH2D.js} +111 -111
  180. package/dist/interface/ha/{ConfigActionAssistant-C-8P3DYz.js → ConfigActionAssistant--3iWk9sq.js} +4 -4
  181. package/dist/interface/ha/{ConfigActionCameraControl-x1ksGL7m.js → ConfigActionCameraControl-DbVXWTeA.js} +3 -3
  182. package/dist/interface/ha/{ConfigActionHttp-DzCJp85z.js → ConfigActionHttp-Du3n2Yj0.js} +2 -2
  183. package/dist/interface/ha/{ConfigActionImageInput-C5C5U_2z.js → ConfigActionImageInput-BrJrTZTY.js} +4 -4
  184. package/dist/interface/ha/{ConfigActionMqtt-T29xb75r.js → ConfigActionMqtt-DZd1BNUt.js} +4 -4
  185. package/dist/interface/ha/{ConfigActionNotification-BcnyilF9.js → ConfigActionNotification-CJWW10gt.js} +3 -3
  186. package/dist/interface/ha/{ConfigActionNotificationControl-D3wIVKuU.js → ConfigActionNotificationControl-Bl41AVv1.js} +2 -2
  187. package/dist/interface/ha/{ConfigActionOutput-hD-yVczw.js → ConfigActionOutput-OTj7Lwgq.js} +1 -1
  188. package/dist/interface/ha/{ConfigActionPlugin-Bz1O-O4Q.js → ConfigActionPlugin-B790PEk0.js} +8 -8
  189. package/dist/interface/ha/{ConfigActionSensor-FOz-PYl_.js → ConfigActionSensor-BG3jZxge.js} +5 -5
  190. package/dist/interface/ha/{ConfigActionSnapshot-CmxEOuK1.js → ConfigActionSnapshot-fGmLl6jb.js} +2 -2
  191. package/dist/interface/ha/{ConfigActionVariable-BCvkrdCh.js → ConfigActionVariable-CK3vYDsr.js} +1 -1
  192. package/dist/interface/ha/{ConfigConditionIfElse-icfTG9OA.js → ConfigConditionIfElse-DyFLGg3y.js} +3 -3
  193. package/dist/interface/ha/{ConfigConditionSensorState-ClUAsm0d.js → ConfigConditionSensorState-BUTfeFO2.js} +7 -7
  194. package/dist/interface/ha/{ConfigConditionSwitch-C8AMCkn6.js → ConfigConditionSwitch-iDG_ubif.js} +5 -5
  195. package/dist/interface/ha/{ConfigSensorValueInput-ChvDQzGd.js → ConfigSensorValueInput-BmRIGUKB.js} +5 -5
  196. package/dist/interface/ha/{ConfigTriggerDetection-aUSyaClu.js → ConfigTriggerDetection-DyPQGt9M.js} +24 -24
  197. package/dist/interface/ha/{ConfigTriggerGeofence-DsJeJWP4.js → ConfigTriggerGeofence-CGE-bH_t.js} +6 -6
  198. package/dist/interface/ha/{ConfigTriggerMqtt-CsAxA7QZ.js → ConfigTriggerMqtt-CM3KZqBc.js} +1 -1
  199. package/dist/interface/ha/{ConfigTriggerSensor-CTxr9cfU.js → ConfigTriggerSensor-DoHMcwP4.js} +1 -1
  200. package/dist/interface/ha/{ConfigTriggerSystem-C8UEfpfs.js → ConfigTriggerSystem-BYKbW4Zr.js} +2 -2
  201. package/dist/interface/ha/{ConfigTriggerWebhook-frEE-SCB.js → ConfigTriggerWebhook-5PBAadG8.js} +2 -2
  202. package/dist/interface/ha/{Console-A3VtbsLg.js → Console-BEXzl4p1.js} +7 -7
  203. package/dist/interface/ha/{CuiAutomationRunsDialog-BlJvhBiX.js → CuiAutomationRunsDialog-DkK_ar5G.js} +3 -3
  204. package/dist/interface/ha/{CuiBottomSheet-Cu-t3H0Z.js → CuiBottomSheet-CYNvQV4T.js} +2 -2
  205. package/dist/interface/ha/{CuiCameraRecordings-R5ArEmqJ.js → CuiCameraRecordings-DYjecmE_.js} +30 -48
  206. package/dist/interface/ha/{CuiCameraShares-B9pfRkM4.js → CuiCameraShares-C0H60nZS.js} +7 -7
  207. package/dist/interface/ha/{CuiCameraTable-CKjGKaMC.js → CuiCameraTable-CQNMyBaq.js} +5 -5
  208. package/dist/interface/ha/{CuiChartTable-BxWjRe-k.js → CuiChartTable-Bhv1p9zj.js} +1161 -1161
  209. package/dist/interface/ha/{CuiConsole-C5fzsR7t.js → CuiConsole-DtXorGF5.js} +20 -20
  210. package/dist/interface/ha/{CuiDataTable-BOdQDY8J.js → CuiDataTable-Cy8EjCk9.js} +7 -7
  211. package/dist/interface/ha/{CuiList-CU2NJ1K6.js → CuiList-DnW6Q5m2.js} +1 -1
  212. package/dist/interface/ha/{CuiPluginCard-BT71RRAD.js → CuiPluginCard-B4SCUblV.js} +125 -125
  213. package/dist/interface/ha/{CuiPluginOAuthButton-moh9uS7G.js → CuiPluginOAuthButton-BKg9SftQ.js} +5 -5
  214. package/dist/interface/ha/{CuiPluginTrustBadge-F_pVWkPJ.js → CuiPluginTrustBadge-CEtUJhCJ.js} +1 -1
  215. package/dist/interface/ha/{CuiQRCode-BNuj-nJ4.js → CuiQRCode-gp-9hqyk.js} +7 -7
  216. package/dist/interface/ha/{CuiSchema-Cb_8Ks-I.js → CuiSchema-CYpr_dD7.js} +161 -161
  217. package/dist/interface/ha/{CuiTopNavbarItem-BGzrrTls.js → CuiTopNavbarItem-CM-1oPxf.js} +1 -1
  218. package/dist/interface/ha/Faces-pa60ySng.js +1575 -0
  219. package/dist/interface/ha/{FirstSteps-BFX0-EEi.js → FirstSteps-D42yZm7R.js} +68 -68
  220. package/dist/interface/ha/{Floorplan-D6MGqSJT.js → Floorplan-BvE546pE.js} +512 -511
  221. package/dist/interface/ha/{Instances-CHzIUyyA.js → Instances-CAGCyfbB.js} +64 -64
  222. package/dist/interface/ha/{Logs-DZKM3dWv.js → Logs-RB3Ba8WM.js} +12 -12
  223. package/dist/interface/ha/{Menu-BQz4dfQi.js → Menu-hAnHu_jq.js} +17 -17
  224. package/dist/interface/ha/{Metrics-CdpWJ1mm.js → Metrics-ChYTebkX.js} +94 -93
  225. package/dist/interface/ha/{OAuthDeviceFlow-DUELtx3X.js → OAuthDeviceFlow-C05pH-9o.js} +3 -3
  226. package/dist/interface/ha/{Plugin-5bbTF0Rv.js → Plugin-D7XwcXkW.js} +647 -439
  227. package/dist/interface/ha/{PluginConsole-C__0lzsS.js → PluginConsole-DphEIOlL.js} +4 -4
  228. package/dist/interface/ha/{PluginDetail-Blrktk9W.js → PluginDetail-DfMl-yCl.js} +9 -9
  229. package/dist/interface/ha/{PluginSearch-BKbdwHQ1.js → PluginSearch-BPN4Opg5.js} +34 -34
  230. package/dist/interface/ha/{PluginUpdateProgress-IsNiecu3.js → PluginUpdateProgress-ByJ0R5sW.js} +3 -3
  231. package/dist/interface/ha/{Plugins-CC2Dwlx5.js → Plugins-BhKmjjNn.js} +59 -59
  232. package/dist/interface/ha/{RecentEventsFilter-9ZkDHD1g.js → RecentEventsFilter-BkLMlGVJ.js} +5 -6
  233. package/dist/interface/ha/Recordings-BaU7M1OW.js +1836 -0
  234. package/dist/interface/ha/{SensorEdit-Bi2Yx_ji.js → SensorEdit-DWxcCJ0F.js} +88 -88
  235. package/dist/interface/ha/{SensorHistory-sqG_6eav.js → SensorHistory-DuA9E9wT.js} +2 -2
  236. package/dist/interface/ha/{Sensors-DLtOh1p4.js → Sensors-CVpIHcgG.js} +438 -435
  237. package/dist/interface/ha/{Settings-DI3_zenm.js → Settings-BO2eBGEn.js} +61 -61
  238. package/dist/interface/ha/{SettingsAccount-pS86Qyr-.js → SettingsAccount-BQZZfoSM.js} +255 -255
  239. package/dist/interface/ha/{SettingsAppearance-tS3bubKQ.js → SettingsAppearance-B_yGl89u.js} +16 -16
  240. package/dist/interface/ha/{SettingsAssistant-LejCRXsF.js → SettingsAssistant-kMOixl9g.js} +501 -501
  241. package/dist/interface/ha/{SettingsBackup-CkhD1Kze.js → SettingsBackup-BpG-W4j-.js} +24 -24
  242. package/dist/interface/ha/{SettingsList-bibwvPSM.js → SettingsList-Btnkzu94.js} +6 -6
  243. package/dist/interface/ha/{SettingsMqtt-DSt0B4Qg.js → SettingsMqtt-C4DX9cNC.js} +23 -23
  244. package/dist/interface/ha/{SettingsNotifications-BF7ajNwE.js → SettingsNotifications-DI6ImggH.js} +6 -6
  245. package/dist/interface/ha/{SettingsPermissions-Jh0FuIF7.js → SettingsPermissions-BCDyCFcb.js} +2 -2
  246. package/dist/interface/ha/{SettingsRecordings-BTIdncxg.js → SettingsRecordings-Bq5NkJhd.js} +10 -10
  247. package/dist/interface/ha/{SettingsRemote-Cba4P1-O.js → SettingsRemote-CtncaPIA.js} +308 -308
  248. package/dist/interface/ha/{SettingsSystem-_Nnh2ZF5.js → SettingsSystem-BJXuA7xA.js} +11 -11
  249. package/dist/interface/ha/{SettingsUsers-BfHFoxJi.js → SettingsUsers-BF0rDluv.js} +91 -91
  250. package/dist/interface/ha/{Terminal-Dv_7oWmS.js → Terminal-kTCe2jP3.js} +11 -11
  251. package/dist/interface/ha/Training-BM2Xb8Ef.js +1754 -0
  252. package/dist/interface/ha/{Updates-BHl5H7zE.js → Updates-Cv1EY_T0.js} +6 -6
  253. package/dist/interface/ha/{VariableInput-DtLo7-Nw.js → VariableInput-BO2zZu4N.js} +1 -1
  254. package/dist/interface/ha/{VersionsHandler-CF0DSeol.js → VersionsHandler-CRnT9-K7.js} +10 -10
  255. package/dist/interface/ha/{VirtualSensorCreate-C907EgIz.js → VirtualSensorCreate-6dVRxPjw.js} +8 -8
  256. package/dist/interface/ha/{Workers-Dz1d9gEQ.js → Workers-MHia86lu.js} +97 -97
  257. package/dist/interface/ha/{api-DUqpDJ2N.js → api-CH_Y8Hee.js} +17459 -14633
  258. package/dist/interface/ha/{api-gId1nlMj.js → api-DylRa66V.js} +3 -3
  259. package/dist/interface/ha/{assistant-BaR65gIY.js → assistant-smRQYA6p.js} +53 -53
  260. package/dist/interface/ha/{auth-Btsz_KxO.js → auth-BXj5Fm6s.js} +38 -38
  261. package/dist/interface/ha/{automationBlueprint-CuO3iOiM.js → automationBlueprint-DGjftXFC.js} +4 -4
  262. package/dist/interface/ha/cameraui-cards.js +1 -1
  263. package/dist/interface/ha/{cards-DWhezIPP.js → cards-E0zw1UVg.js} +114 -113
  264. package/dist/interface/ha/{config-BKStpoEQ.js → config-dG_DA6XL.js} +16 -16
  265. package/dist/interface/ha/{dist-CM7R4_Gj.js → dist-BQf9ANPx.js} +77 -77
  266. package/dist/interface/ha/{dist-BIngHzHx.js → dist-euRmladF.js} +4 -4
  267. package/dist/interface/ha/{eventIcons-BFNUgeGr.js → eventLabels-B5GrM5jO.js} +291 -233
  268. package/dist/interface/ha/{intercomService-B7HkLs6z.js → intercomService-BtJ_zUNd.js} +250 -264
  269. package/dist/interface/ha/{mqtt-ajcSmTB-.js → mqtt-CP3vVkRJ.js} +12 -12
  270. package/dist/interface/ha/{notifications-Cf9dXHEO.js → notifications-CZNwSXTg.js} +22 -22
  271. package/dist/interface/ha/{pinia-DIKO5lnE.js → pinia-CVnHHb-s.js} +533 -501
  272. package/dist/interface/ha/{plugins-ml823dJV.js → plugins--eatOIaI.js} +66 -66
  273. package/dist/interface/ha/{protocol-BB4jdtUC-DW3jl2tV.js → protocol-BB4jdtUC-BhEwymva.js} +129 -48
  274. package/dist/interface/ha/{rooms-C5gUErBi.js → rooms-D5E6K75d.js} +8 -8
  275. package/dist/interface/ha/{server-dArenpJI.js → server-D1BqEY7i.js} +31 -31
  276. package/dist/interface/ha/{types-DYymuACA.js → types-CWogEoya.js} +36 -36
  277. package/dist/interface/ha/ungrouped-Ch4UX4dy.js +58 -0
  278. package/dist/interface/ha/{updates-D5sFzGtC.js → updates-B48Owi1w.js} +28 -28
  279. package/dist/interface/ha/{useAppVersion-C5x3Ap4_.js → useAppVersion-D95sKTJR.js} +2 -2
  280. package/dist/interface/ha/{useAssistantActions-S1FrNe9b.js → useAssistantActions-kDwiO-u5.js} +1 -1
  281. package/dist/interface/ha/{useKeyboardInset-Cj0T2AFX.js → useKeyboardInset-C2R51vsC.js} +1 -1
  282. package/dist/interface/ha/{useLogsSocket-DtvfQlPh.js → useLogsSocket-BzNWa2y2.js} +1 -1
  283. package/dist/interface/ha/{useNavLayout-HSFBA4JV.js → useNavLayout-228cwwqA.js} +19 -19
  284. package/dist/interface/ha/{usePermissions-DaE_wFch.js → usePermissions-CfA5x7Df.js} +1 -1
  285. package/dist/interface/ha/{useServerRestart-Ci0SppGW.js → useServerRestart-B0c40zs5.js} +1 -1
  286. package/dist/interface/ha/{useTabSwipe-CPKkRmaH.js → useTabSwipe-CfZg5hWj.js} +2 -2
  287. package/dist/interface/ha/{useUpdateChannel-CXHHovK3.js → useUpdateChannel-DQxI7FrD.js} +2 -2
  288. package/dist/interface/ha/{useUpdatesSocket-DVST2YXV.js → useUpdatesSocket-B8LqBBd3.js} +1 -1
  289. package/dist/interface/ha/{useUserOptions-BYcYI6QA.js → useUserOptions-dZf6ejlz.js} +1 -1
  290. package/dist/interface/ha/walk-CsSXaeJw.js +33 -0
  291. package/dist/interface/index.html +35 -36
  292. package/dist/interface/sw.js +1 -1
  293. package/dist/interface/workbox-5f52ac45.js +1 -0
  294. package/dist/server/package.json +11 -11
  295. package/dist/server/requirements.txt +2 -2
  296. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +22 -0
  297. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +4 -0
  298. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +10 -0
  299. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +6 -0
  300. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +92 -4
  301. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +16 -0
  302. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +4 -0
  303. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +1 -1
  304. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +3 -3
  305. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/person_embedder.py +65 -0
  306. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/segmenter.py +81 -0
  307. package/dist/server/src/api/database/index.d.ts +2 -1
  308. package/dist/server/src/api/database/index.js +31 -7
  309. package/dist/server/src/api/database/index.js.map +1 -1
  310. package/dist/server/src/api/database/migrations/v2-2-9.d.ts +3 -0
  311. package/dist/server/src/api/database/migrations/v2-2-9.js +28 -0
  312. package/dist/server/src/api/database/migrations/v2-2-9.js.map +1 -0
  313. package/dist/server/src/api/database/record-schemas.d.ts +1 -1
  314. package/dist/server/src/api/database/types.d.ts +17 -1
  315. package/dist/server/src/api/schemas/assistant.schema.d.ts +1 -1
  316. package/dist/server/src/api/schemas/cameras.schema.d.ts +140 -76
  317. package/dist/server/src/api/schemas/cameras.schema.js +4 -2
  318. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  319. package/dist/server/src/api/schemas/training.schema.d.ts +15 -3
  320. package/dist/server/src/api/schemas/training.schema.js +4 -1
  321. package/dist/server/src/api/schemas/training.schema.js.map +1 -1
  322. package/dist/server/src/api/websocket/nsp/worker-perf.js +2 -0
  323. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  324. package/dist/server/src/api/websocket/types.d.ts +1 -0
  325. package/dist/server/src/assistant/search.d.ts +17 -0
  326. package/dist/server/src/assistant/search.js +10 -2
  327. package/dist/server/src/assistant/search.js.map +1 -1
  328. package/dist/server/src/assistant/tools/plugins.js +7 -3
  329. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  330. package/dist/server/src/assistant/types.d.ts +2 -0
  331. package/dist/server/src/automations/actions/plugin.js +5 -9
  332. package/dist/server/src/automations/actions/plugin.js.map +1 -1
  333. package/dist/server/src/automations/pluginMethodRegistry.d.ts +6 -0
  334. package/dist/server/src/automations/pluginMethodRegistry.js +39 -0
  335. package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -1
  336. package/dist/server/src/automations/segment-picture.d.ts +16 -0
  337. package/dist/server/src/automations/segment-picture.js +152 -0
  338. package/dist/server/src/automations/segment-picture.js.map +1 -0
  339. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -2
  340. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -22
  341. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  342. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +30 -2
  343. package/dist/server/src/camera/decoder/detection-pipeline.js +81 -21
  344. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  345. package/dist/server/src/camera/decoder/event-manager.d.ts +12 -2
  346. package/dist/server/src/camera/decoder/event-manager.js +77 -75
  347. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  348. package/dist/server/src/camera/decoder/event-trace.d.ts +41 -1
  349. package/dist/server/src/camera/decoder/event-trace.js +63 -8
  350. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  351. package/dist/server/src/camera/decoder/face-tracks.d.ts +26 -0
  352. package/dist/server/src/camera/decoder/face-tracks.js +199 -0
  353. package/dist/server/src/camera/decoder/face-tracks.js.map +1 -0
  354. package/dist/server/src/camera/decoder/frame-scaler.d.ts +3 -1
  355. package/dist/server/src/camera/decoder/frame-scaler.js +36 -8
  356. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  357. package/dist/server/src/camera/decoder/nvr-sink.d.ts +6 -0
  358. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  359. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  360. package/dist/server/src/camera/decoder/perf-tracker.d.ts +2 -0
  361. package/dist/server/src/camera/decoder/perf-tracker.js +4 -0
  362. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  363. package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +6 -1
  364. package/dist/server/src/camera/decoder/ptz/autotracker.js +107 -25
  365. package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
  366. package/dist/server/src/camera/decoder/secondary-stage.d.ts +10 -8
  367. package/dist/server/src/camera/decoder/secondary-stage.js +145 -125
  368. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  369. package/dist/server/src/camera/decoder/training-sink.d.ts +5 -2
  370. package/dist/server/src/camera/decoder/training-sink.js +30 -6
  371. package/dist/server/src/camera/decoder/training-sink.js.map +1 -1
  372. package/dist/server/src/camera/decoder/types.d.ts +6 -2
  373. package/dist/server/src/camera/decoder/types.js +4 -2
  374. package/dist/server/src/camera/decoder/types.js.map +1 -1
  375. package/dist/server/src/manager/trainingCandidateManager.d.ts +2 -1
  376. package/dist/server/src/manager/trainingCandidateManager.js +25 -3
  377. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  378. package/dist/server/src/manager/trainingSubmission.d.ts +5 -0
  379. package/dist/server/src/manager/trainingSubmission.js +73 -0
  380. package/dist/server/src/manager/trainingSubmission.js.map +1 -0
  381. package/dist/server/src/manager/types.d.ts +8 -2
  382. package/dist/server/src/manager/types.js.map +1 -1
  383. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -0
  384. package/dist/server/src/remote/api/routes/train.d.ts +44 -3
  385. package/dist/server/src/remote/api/routes/train.js +2 -2
  386. package/dist/server/src/remote/api/routes/train.js.map +1 -1
  387. package/dist/server/src/rpc/interfaces/core.d.ts +6 -2
  388. package/dist/server/src/rpc/interfaces/detection.d.ts +20 -3
  389. package/dist/server/src/rpc/server.d.ts +2 -0
  390. package/dist/server/src/rpc/server.js +8 -5
  391. package/dist/server/src/rpc/server.js.map +1 -1
  392. package/dist/server/src/sensors/registry.d.ts +1 -0
  393. package/dist/server/src/sensors/registry.js +20 -11
  394. package/dist/server/src/sensors/registry.js.map +1 -1
  395. package/dist/server/src/sensors/types.d.ts +1 -0
  396. package/dist/server/src/sensors/types.js +3 -0
  397. package/dist/server/src/sensors/types.js.map +1 -1
  398. package/dist/server/src/services/config/index.d.ts +1 -0
  399. package/dist/server/src/services/config/index.js +2 -0
  400. package/dist/server/src/services/config/index.js.map +1 -1
  401. package/dist/server/src/utils/image.d.ts +6 -0
  402. package/dist/server/src/utils/image.js +58 -22
  403. package/dist/server/src/utils/image.js.map +1 -1
  404. package/npm-shrinkwrap.json +115 -74
  405. package/package.json +11 -11
  406. package/dist/interface/assets/About-DBOS1rfw.js +0 -1
  407. package/dist/interface/assets/Assistant-BQ6Ld-bt.css +0 -1
  408. package/dist/interface/assets/Assistant-BRcHj8hq.js +0 -1
  409. package/dist/interface/assets/Automation-C0Emde7z.js +0 -3
  410. package/dist/interface/assets/AutomationStore-C2G0Bk8c.js +0 -2
  411. package/dist/interface/assets/Automations-D-vfqRnZ.js +0 -2
  412. package/dist/interface/assets/Camera-BpurrgAr.js +0 -2
  413. package/dist/interface/assets/Camera-D0B7yyVD.css +0 -1
  414. package/dist/interface/assets/Camview-IbOVRx20.js +0 -1
  415. package/dist/interface/assets/ConfigActionCameraControl-Bw_egtpP.js +0 -1
  416. package/dist/interface/assets/ConfigActionSensor-BErRRYfl.js +0 -1
  417. package/dist/interface/assets/Console-oCuuVKET.js +0 -1
  418. package/dist/interface/assets/CuiAssistantConversation-Bsyxau9v.js +0 -5
  419. package/dist/interface/assets/CuiAutomationRunsDialog-sRh_K6JI.js +0 -1
  420. package/dist/interface/assets/CuiBottomSheet-DWoSHzC7.js +0 -1
  421. package/dist/interface/assets/CuiCameraPipCard-D6REm8uT.js +0 -1
  422. package/dist/interface/assets/CuiCameraRecordings-C2tvrbbw.js +0 -1
  423. package/dist/interface/assets/CuiCameraShares-jrrUEHoZ.js +0 -1
  424. package/dist/interface/assets/CuiCameraTable-BOzTWLwd.js +0 -1
  425. package/dist/interface/assets/CuiChartTable-BYrIX7LV.js +0 -1
  426. package/dist/interface/assets/CuiLightControl-DitIWqUr.js +0 -1
  427. package/dist/interface/assets/CuiList-BewTNr2X.js +0 -1
  428. package/dist/interface/assets/CuiPluginCard-Bd2HFduI.js +0 -2
  429. package/dist/interface/assets/CuiPluginCategoryChip-DlzOwRgc.js +0 -1
  430. package/dist/interface/assets/CuiSchema-BL0QZmP2.js +0 -1
  431. package/dist/interface/assets/CuiTopNavbarItem-Ti2TueU1.js +0 -1
  432. package/dist/interface/assets/Faces-DARrGLXf.js +0 -1
  433. package/dist/interface/assets/FirstSteps-DBYPBvGr.js +0 -1
  434. package/dist/interface/assets/Floorplan-BaZvzoyv.js +0 -1
  435. package/dist/interface/assets/Instances-r0xReURi.js +0 -1
  436. package/dist/interface/assets/Menu-C34RRyLd.js +0 -1
  437. package/dist/interface/assets/Metrics-BjoC71_O.js +0 -12
  438. package/dist/interface/assets/Metrics-DsHBab6t.css +0 -1
  439. package/dist/interface/assets/OAuthDeviceFlow-CdZxelf2.js +0 -1
  440. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +0 -1
  441. package/dist/interface/assets/Plugin-npx7CnwV.js +0 -1
  442. package/dist/interface/assets/PluginDetail-nwTrJmO6.js +0 -2
  443. package/dist/interface/assets/PluginSearch-CP2kQWKf.js +0 -1
  444. package/dist/interface/assets/PluginSearch-WEvbKMRs.js +0 -2
  445. package/dist/interface/assets/RecentEventsFilter-D5VSH2K1.js +0 -1
  446. package/dist/interface/assets/Recordings-BEKAn6QK.css +0 -1
  447. package/dist/interface/assets/Recordings-De6Zcv0M.js +0 -1
  448. package/dist/interface/assets/SensorEdit-SD_oHBRo.js +0 -1
  449. package/dist/interface/assets/SensorHistory-SxiLOloa.js +0 -1
  450. package/dist/interface/assets/Sensors-Djl64M-W.js +0 -2
  451. package/dist/interface/assets/Settings-CAf2reGs.js +0 -1
  452. package/dist/interface/assets/SettingsAccount-BGj5Ni91.js +0 -1
  453. package/dist/interface/assets/SettingsAccount-Dy6WC8ql.js +0 -1
  454. package/dist/interface/assets/SettingsAppearance-BGFhMlRk.js +0 -1
  455. package/dist/interface/assets/SettingsAppearance-DQzQmVzE.js +0 -1
  456. package/dist/interface/assets/SettingsAssistant-BwYVyuN3.js +0 -1
  457. package/dist/interface/assets/SettingsBackup-CVExGnOo.js +0 -1
  458. package/dist/interface/assets/SettingsList-vo7sz_MY.js +0 -1
  459. package/dist/interface/assets/SettingsMqtt-B1CuOcML.js +0 -1
  460. package/dist/interface/assets/SettingsNotifications-CCQ6eiq8.js +0 -1
  461. package/dist/interface/assets/SettingsPermissions-BlOf6HEy.js +0 -1
  462. package/dist/interface/assets/SettingsRecordings-7tTBg6m1.js +0 -1
  463. package/dist/interface/assets/SettingsRemote-DBgKmIdv.js +0 -2
  464. package/dist/interface/assets/SettingsSystem-DaFMsZpN.js +0 -2
  465. package/dist/interface/assets/SettingsUsers-DXACwVPi.js +0 -1
  466. package/dist/interface/assets/Terminal-DtGqlHbk.js +0 -4
  467. package/dist/interface/assets/Training-C-ToeAl4.css +0 -1
  468. package/dist/interface/assets/Training-Ca11D1Vj.js +0 -1
  469. package/dist/interface/assets/Updates-yenwuqnD.js +0 -2
  470. package/dist/interface/assets/Workers-Dyo44zxe.js +0 -2
  471. package/dist/interface/assets/api-CHQlxVtZ.css +0 -2
  472. package/dist/interface/assets/api-CLazgL-g.js +0 -4
  473. package/dist/interface/assets/cloudHandoff-zJCrDmwk.js +0 -1
  474. package/dist/interface/assets/eventIcons-C3JWChgS.js +0 -1
  475. package/dist/interface/assets/eventLabels-BsPoPWS9.js +0 -1
  476. package/dist/interface/assets/main-CGY9cVyi.css +0 -1
  477. package/dist/interface/assets/main-DkHV6YgB.js +0 -3
  478. package/dist/interface/assets/mqtt-DE2VbNdt.js +0 -1
  479. package/dist/interface/assets/sensorIcons-BntiOPX7.js +0 -1
  480. package/dist/interface/assets/types-B4LLKzDW.js +0 -1
  481. package/dist/interface/assets/types-a7Nw-P-m.js +0 -1
  482. package/dist/interface/assets/ungrouped-BoAbb9w3.js +0 -1
  483. package/dist/interface/assets/ungrouped-ChmBvcXp.css +0 -1
  484. package/dist/interface/assets/useBackupRestore-Biqn_lhh.js +0 -1
  485. package/dist/interface/assets/vendor-cameraui-GmMRyJ2R.js +0 -2326
  486. package/dist/interface/assets/vendor-core-BeAannbA.js +0 -1
  487. package/dist/interface/ha/Camera-sH9fRv18.js +0 -670
  488. package/dist/interface/ha/Faces-CsM5VO8Q.js +0 -1441
  489. package/dist/interface/ha/Recordings-B1XsJrzs.js +0 -1539
  490. package/dist/interface/ha/Training-CaSFA5oH.js +0 -1699
  491. package/dist/interface/ha/eventLabels-B4C1_4vT.js +0 -42
  492. package/dist/interface/ha/ungrouped-BHLAySWP.js +0 -1312
  493. package/dist/interface/workbox-778a14ff.js +0 -1
@@ -3,28 +3,28 @@ import { B as t, G as n, H as r, Jt as i, M as a, N as o, Wt as s, Y as c, _t as
3
3
  import { t as D } from "./tooltip-BDrlgLof.js";
4
4
  import { t as ie } from "./message-D6dIy_hz.js";
5
5
  import { t as O } from "./chevron-down-BNj8w2js.js";
6
- import { At as ae, Dn as oe, Er as se, Ft as ce, It as le, Jt as ue, Lt as de, Mr as fe, Mt as k, Nr as pe, Nt as me, Or as A, Pt as he, Rt as j, Vr as ge, Wr as M, _r as _e, ar as ve, cr as ye, gt as be, hn as xe, jt as Se, ln as Ce, mi as N, o as we, p as Te, q as P, ta as F, ut as Ee, vr as De, wi as I, zt as Oe } from "./api-DUqpDJ2N.js";
7
- import { n as ke } from "./vue-i18n-D5EAy78K.js";
8
- import { o as L } from "./dist-BIngHzHx.js";
9
- import { t as Ae } from "./button-BouAFgf5.js";
10
- import { v as je } from "./dist-CM7R4_Gj.js";
11
- import { t as Me } from "./inputtext-C_ygnPrC.js";
6
+ import { Ar as ae, Ct as oe, Dt as se, Ei as ce, En as le, Et as ue, Fr as de, Jt as fe, Kr as pe, Or as k, Ot as me, Pr as A, St as he, Tt as j, Ur as M, aa as ge, br as _e, bt as ve, en as ye, gi as be, hn as xe, o as Se, p as N, q as P, rt as Ce, sr as we, ur as F, wt as Te, xn as I, xt as Ee, yr as L, yt as De } from "./api-CH_Y8Hee.js";
7
+ import { n as Oe } from "./vue-i18n-D5EAy78K.js";
8
+ import { o as R } from "./dist-euRmladF.js";
9
+ import { t as ke } from "./button-BouAFgf5.js";
10
+ import { v as Ae } from "./dist-BQf9ANPx.js";
11
+ import { t as je } from "./inputtext-C_ygnPrC.js";
12
+ import { t as Me } from "./select-DV7p2EDj.js";
12
13
  import { t as Ne } from "./close-CxFbonhd.js";
13
14
  import { t as Pe } from "./divider-DeFEXTGs.js";
14
- import { t as R } from "./select-DV7p2EDj.js";
15
15
  import { i as Fe, n as Ie, r as Le, t as Re } from "./accordion-BylV-jUK.js";
16
16
  import { t as ze } from "./speeddial-B5p0fuqL.js";
17
17
  import { t as Be } from "./textarea-ByXnzJzx.js";
18
- import { t as Ve } from "./CuiBottomSheet-Cu-t3H0Z.js";
18
+ import { t as Ve } from "./CuiBottomSheet-CYNvQV4T.js";
19
19
  import { t as He } from "./cctv-BD2g3nbO.js";
20
- import { u as Ue } from "./cards-DWhezIPP.js";
20
+ import { u as Ue } from "./cards-E0zw1UVg.js";
21
21
  import { t as We } from "./restore-BxzmXRET.js";
22
22
  import { t as Ge } from "./pencil-outline-SN9ingm5.js";
23
23
  import { t as Ke } from "./trash-can-outline-CBwv40Ck.js";
24
24
  import { t as qe } from "./back-filled-CaxrZv0Q.js";
25
25
  import { t as Je } from "./chevron-up-DDKj43BW.js";
26
26
  import { a as z, d as Ye, f as Xe, l as B, p as Ze, t as V, u as Qe } from "./vue-flow-background-8ZUqhPBF.js";
27
- import { n as $e } from "./rooms-C5gUErBi.js";
27
+ import { n as $e } from "./rooms-D5E6K75d.js";
28
28
  import { t as H } from "./minus-D3V6azhV.js";
29
29
  //#region ~icons/mdi/open-in-new
30
30
  var U = {
@@ -300,22 +300,22 @@ function X(e) {
300
300
  }
301
301
  //#endregion
302
302
  //#region src/components/CuiFloorplan/CuiFloorplanInspector.vue?vue&type=script&setup=true&lang.ts
303
- var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex items-center gap-2 px-4 py-3 border-bottom-color" }, xt = { class: "flex items-center justify-center w-8 h-8 rounded-md shrink-0 inspector-icon" }, St = { class: "flex-1 min-w-0" }, Ct = { class: "text-sm font-semibold truncate text-color" }, wt = { class: "text-xs text-muted truncate" }, Tt = { class: "flex-1 overflow-y-auto" }, Et = { class: "text-color font-normal text-sm" }, Dt = { class: "flex flex-col gap-6" }, Ot = {
303
+ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex items-center gap-2 px-4 py-3 border-bottom-color" }, xt = { class: "flex items-center justify-center w-8 h-8 rounded-md shrink-0 inspector-icon" }, St = { class: "flex-1 min-w-0" }, Ct = { class: "text-sm font-semibold truncate text-color" }, wt = { class: "text-xs text-muted truncate" }, Tt = { class: "text-color font-normal text-sm" }, Et = { class: "flex flex-col gap-6" }, Dt = {
304
304
  key: 0,
305
305
  class: "flex flex-col field-gap"
306
- }, kt = { class: "cui-label" }, At = { class: "flex flex-col field-gap" }, jt = { class: "cui-label" }, Mt = { class: "flex flex-col field-gap" }, Nt = { class: "cui-label" }, Pt = { class: "flex flex-col field-gap" }, Ft = { class: "cui-label" }, It = { class: "flex flex-col field-gap" }, Lt = { class: "cui-label" }, Rt = { class: "flex flex-col field-gap" }, Q = { class: "cui-label" }, zt = { class: "text-sm text-muted" }, Bt = { class: "text-color font-normal text-sm" }, Vt = { class: "flex flex-col field-gap" }, Ht = { class: "cui-label" }, Ut = {
306
+ }, Ot = { class: "cui-label" }, kt = { class: "flex flex-col field-gap" }, At = { class: "cui-label" }, jt = { class: "flex flex-col field-gap" }, Mt = { class: "cui-label" }, Nt = { class: "flex flex-col field-gap" }, Pt = { class: "cui-label" }, Ft = { class: "flex flex-col field-gap" }, It = { class: "cui-label" }, Lt = { class: "flex flex-col field-gap" }, Rt = { class: "cui-label" }, Q = { class: "text-sm text-muted" }, zt = { class: "text-color font-normal text-sm" }, Bt = { class: "flex flex-col field-gap" }, Vt = { class: "cui-label" }, Ht = {
307
307
  key: 1,
308
308
  class: "text-sm text-color"
309
- }, Wt = {
309
+ }, Ut = {
310
310
  key: 0,
311
311
  class: "flex flex-col field-gap mt-6"
312
- }, Gt = { class: "cui-label" }, Kt = { class: "flex flex-col field-gap mt-6" }, qt = { class: "cui-label" }, Jt = { class: "text-color font-normal text-sm" }, Yt = { class: "flex flex-col gap-6" }, Xt = { class: "flex flex-col field-gap" }, Zt = { class: "cui-label" }, Qt = {
312
+ }, Wt = { class: "cui-label" }, Gt = { class: "flex flex-col field-gap mt-6" }, Kt = { class: "cui-label" }, qt = { class: "text-color font-normal text-sm" }, Jt = { class: "flex flex-col gap-6" }, Yt = { class: "flex flex-col field-gap" }, Xt = { class: "cui-label" }, Zt = {
313
313
  key: 0,
314
314
  class: "flex flex-col field-gap"
315
- }, $t = { class: "cui-label" }, en = { class: "flex flex-col field-gap" }, $ = { class: "cui-label" }, tn = { class: "text-color font-normal text-sm" }, nn = { class: "flex flex-col gap-6" }, rn = { class: "flex flex-col field-gap" }, an = { class: "cui-label" }, on = { class: "flex flex-col field-gap" }, sn = { class: "cui-label" }, cn = { class: "text-color font-normal text-sm" }, ln = { class: "flex flex-col gap-6" }, un = { class: "flex flex-col field-gap" }, dn = { class: "cui-label" }, fn = { class: "flex flex-col field-gap" }, pn = { class: "cui-label" }, mn = { class: "flex flex-col field-gap" }, hn = { class: "cui-label" }, gn = {
315
+ }, Qt = { class: "cui-label" }, $t = { class: "flex flex-col field-gap" }, en = { class: "cui-label" }, $ = { class: "text-color font-normal text-sm" }, tn = { class: "flex flex-col gap-6" }, nn = { class: "flex flex-col field-gap" }, rn = { class: "cui-label" }, an = { class: "flex flex-col field-gap" }, on = { class: "cui-label" }, sn = { class: "text-color font-normal text-sm" }, cn = { class: "flex flex-col gap-6" }, ln = { class: "flex flex-col field-gap" }, un = { class: "cui-label" }, dn = { class: "flex flex-col field-gap" }, fn = { class: "cui-label" }, pn = { class: "flex flex-col field-gap" }, mn = { class: "cui-label" }, hn = {
316
316
  key: 0,
317
- class: "p-4 border-top-color"
318
- }, _n = /*#__PURE__*/ A(/* @__PURE__ */ C({
317
+ class: "px-4 pt-4 pb-[max(1rem,var(--cui-bottom-gap))] border-top-color"
318
+ }, gn = /*#__PURE__*/ ae(/* @__PURE__ */ C({
319
319
  __name: "CuiFloorplanInspector",
320
320
  props: {
321
321
  fluid: { type: Boolean },
@@ -336,7 +336,7 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
336
336
  "remove"
337
337
  ],
338
338
  setup(e, { emit: t }) {
339
- let n = e, a = t, { t: o } = ke(), c = w(["general", "view"]), l = h(() => n.selection?.kind === "room" ? n.rooms.find((e) => e.id === n.selection?.id) : void 0), f = h(() => n.selection?.kind === "camera" ? n.cameras.find((e) => e.id === n.selection?.id) : void 0), p = h(() => n.levels.map((e) => ({
339
+ let n = e, a = t, { t: o } = Oe(), c = w(["general", "view"]), l = h(() => n.selection?.kind === "room" ? n.rooms.find((e) => e.id === n.selection?.id) : void 0), f = h(() => n.selection?.kind === "camera" ? n.cameras.find((e) => e.id === n.selection?.id) : void 0), p = h(() => n.levels.map((e) => ({
340
340
  label: e.name,
341
341
  value: e.id
342
342
  }))), ee = h(() => l.value?.outdoor ? l.value.publicSpace ? "public" : "outdoor" : "indoor"), v = h(() => [
@@ -409,7 +409,7 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
409
409
  patch: e
410
410
  });
411
411
  }
412
- function k() {
412
+ function pe() {
413
413
  l.value ? a("remove", {
414
414
  kind: "room",
415
415
  id: l.value.id
@@ -425,7 +425,7 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
425
425
  });
426
426
  }
427
427
  return (t, n) => {
428
- let o = He, h = at, w = nt, pe = Ne, me = Ae, A = Le, he = R, j = ie, ge = Me, M = Be, _e = Fe, ye = Ie, be = ve, xe = Re;
428
+ let o = He, h = at, w = nt, k = Ne, me = ke, A = Le, he = Me, j = ie, M = je, ge = Be, _e = Fe, ve = Ie, ye = we, be = Re;
429
429
  return r(), _("div", bt, [
430
430
  b("div", Z, [
431
431
  b("div", xt, [m(f) ? (r(), u(o, {
@@ -446,30 +446,30 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
446
446
  class: "shrink-0 cui-icon-sm",
447
447
  onClick: n[0] ||= (e) => a("close")
448
448
  }, {
449
- icon: g(() => [T(pe, {
449
+ icon: g(() => [T(k, {
450
450
  width: "100%",
451
451
  height: "100%"
452
452
  })]),
453
453
  _: 1
454
454
  })
455
455
  ]),
456
- b("div", Tt, [T(xe, {
456
+ b("div", { class: s(["flex-1 overflow-y-auto", { "pb-[var(--cui-bottom-gap)]": e.readOnly }]) }, [T(be, {
457
457
  multiple: "",
458
458
  value: m(c),
459
459
  class: s(e.fluid ? "w-full" : "w-[300px]")
460
460
  }, {
461
461
  default: g(() => [
462
- m(l) ? (r(), u(ye, {
462
+ m(l) ? (r(), u(ve, {
463
463
  key: 0,
464
464
  value: "general"
465
465
  }, {
466
466
  default: g(() => [T(A, { class: "px-4 rounded-none!" }, {
467
- default: g(() => [b("span", Et, i(t.$t("views.floorplan.section_room")), 1)]),
467
+ default: g(() => [b("span", Tt, i(t.$t("views.floorplan.section_room")), 1)]),
468
468
  _: 1
469
469
  }), T(_e, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
470
- default: g(() => [b("div", Dt, [
471
- m(x).length > 1 ? (r(), _("div", Ot, [
472
- b("label", kt, i(t.$t("views.floorplan.belongs_to")), 1),
470
+ default: g(() => [b("div", Et, [
471
+ m(x).length > 1 ? (r(), _("div", Dt, [
472
+ b("label", Ot, i(t.$t("views.floorplan.belongs_to")), 1),
473
473
  T(he, {
474
474
  "model-value": m(l).roomId,
475
475
  options: m(x),
@@ -492,9 +492,9 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
492
492
  _: 1
493
493
  })
494
494
  ])) : d("", !0),
495
- b("div", At, [
496
- b("label", jt, i(t.$t("views.floorplan.room_name")), 1),
497
- T(ge, {
495
+ b("div", kt, [
496
+ b("label", At, i(t.$t("views.floorplan.room_name")), 1),
497
+ T(M, {
498
498
  "model-value": m(l).name,
499
499
  disabled: e.readOnly,
500
500
  "onUpdate:modelValue": n[2] ||= (e) => de({ name: e ?? "" })
@@ -510,7 +510,7 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
510
510
  _: 1
511
511
  })) : d("", !0)
512
512
  ]),
513
- b("div", Mt, [b("label", Nt, i(t.$t("views.floorplan.level")), 1), T(he, {
513
+ b("div", jt, [b("label", Mt, i(t.$t("views.floorplan.level")), 1), T(he, {
514
514
  "model-value": m(l).levelId,
515
515
  options: m(p),
516
516
  "option-label": "label",
@@ -522,8 +522,8 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
522
522
  "options",
523
523
  "disabled"
524
524
  ])]),
525
- b("div", Pt, [
526
- b("label", Ft, i(t.$t("views.floorplan.room_kind")), 1),
525
+ b("div", Nt, [
526
+ b("label", Pt, i(t.$t("views.floorplan.room_kind")), 1),
527
527
  T(he, {
528
528
  "model-value": m(ee),
529
529
  options: m(v),
@@ -546,9 +546,9 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
546
546
  _: 1
547
547
  })
548
548
  ]),
549
- b("div", It, [
550
- b("label", Lt, i(t.$t("views.floorplan.note")), 1),
551
- T(M, {
549
+ b("div", Ft, [
550
+ b("label", It, i(t.$t("views.floorplan.note")), 1),
551
+ T(ge, {
552
552
  "model-value": m(l).note,
553
553
  disabled: e.readOnly,
554
554
  maxlength: m(240),
@@ -570,24 +570,24 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
570
570
  _: 1
571
571
  })
572
572
  ]),
573
- b("div", Rt, [b("label", Q, i(t.$t("views.floorplan.size")), 1), b("span", zt, i(m(ut)(m(l).width)) + " x " + i(m(ut)(m(l).height)), 1)])
573
+ b("div", Lt, [b("label", Rt, i(t.$t("views.floorplan.size")), 1), b("span", Q, i(m(ut)(m(l).width)) + " x " + i(m(ut)(m(l).height)), 1)])
574
574
  ])]),
575
575
  _: 1
576
576
  }, 8, ["pt"])]),
577
577
  _: 1
578
578
  })) : d("", !0),
579
- m(D) ? (r(), u(ye, {
579
+ m(D) ? (r(), u(ve, {
580
580
  key: 1,
581
581
  value: "general"
582
582
  }, {
583
583
  default: g(() => [T(A, { class: "px-4 rounded-none!" }, {
584
- default: g(() => [b("span", Bt, i(t.$t("views.floorplan.section_connection")), 1)]),
584
+ default: g(() => [b("span", zt, i(t.$t("views.floorplan.section_connection")), 1)]),
585
585
  _: 1
586
586
  }), T(_e, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
587
587
  default: g(() => [
588
- b("div", Vt, [
589
- b("label", Ht, i(t.$t("views.floorplan.connection_type")), 1),
590
- m(O) ? (r(), _("span", Ut, i(t.$t("views.floorplan.connection_stairs")), 1)) : (r(), u(he, {
588
+ b("div", Bt, [
589
+ b("label", Vt, i(t.$t("views.floorplan.connection_type")), 1),
590
+ m(O) ? (r(), _("span", Ht, i(t.$t("views.floorplan.connection_stairs")), 1)) : (r(), u(he, {
591
591
  key: 0,
592
592
  "model-value": m(D).type,
593
593
  options: m(ae),
@@ -613,9 +613,9 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
613
613
  _: 1
614
614
  })
615
615
  ]),
616
- m(O) ? d("", !0) : (r(), _("div", Wt, [
617
- b("label", Gt, i(t.$t("views.floorplan.connection_width", { value: m(J)(m(D).width).toFixed(2) })), 1),
618
- T(be, {
616
+ m(O) ? d("", !0) : (r(), _("div", Ut, [
617
+ b("label", Wt, i(t.$t("views.floorplan.connection_width", { value: m(J)(m(D).width).toFixed(2) })), 1),
618
+ T(ye, {
619
619
  "model-value": m(D).width,
620
620
  disabled: e.readOnly,
621
621
  min: m(q).min,
@@ -641,9 +641,9 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
641
641
  _: 1
642
642
  })
643
643
  ])),
644
- b("div", Kt, [
645
- b("label", qt, i(t.$t("views.floorplan.note")), 1),
646
- T(M, {
644
+ b("div", Gt, [
645
+ b("label", Kt, i(t.$t("views.floorplan.note")), 1),
646
+ T(ge, {
647
647
  "model-value": m(D).note,
648
648
  disabled: e.readOnly,
649
649
  maxlength: m(240),
@@ -673,16 +673,16 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
673
673
  }, 8, ["pt"])]),
674
674
  _: 1
675
675
  })) : d("", !0),
676
- m(C) ? (r(), u(ye, {
676
+ m(C) ? (r(), u(ve, {
677
677
  key: 2,
678
678
  value: "general"
679
679
  }, {
680
680
  default: g(() => [T(A, { class: "px-4 rounded-none!" }, {
681
- default: g(() => [b("span", Jt, i(t.$t("views.floorplan.section_sensor")), 1)]),
681
+ default: g(() => [b("span", qt, i(t.$t("views.floorplan.section_sensor")), 1)]),
682
682
  _: 1
683
683
  }), T(_e, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
684
- default: g(() => [b("div", Yt, [
685
- b("div", Xt, [b("label", Zt, i(t.$t("views.floorplan.assigned_room")), 1), T(he, {
684
+ default: g(() => [b("div", Jt, [
685
+ b("div", Yt, [b("label", Xt, i(t.$t("views.floorplan.assigned_room")), 1), T(he, {
686
686
  "model-value": m(C).roomId,
687
687
  options: m(E),
688
688
  disabled: e.readOnly,
@@ -694,8 +694,8 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
694
694
  "options",
695
695
  "disabled"
696
696
  ])]),
697
- m(re).length ? (r(), _("div", Qt, [
698
- b("label", $t, i(t.$t("views.floorplan.sensor_passage")), 1),
697
+ m(re).length ? (r(), _("div", Zt, [
698
+ b("label", Qt, i(t.$t("views.floorplan.sensor_passage")), 1),
699
699
  T(he, {
700
700
  "model-value": m(C).connectionId,
701
701
  options: m(re),
@@ -719,9 +719,9 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
719
719
  _: 1
720
720
  })
721
721
  ])) : d("", !0),
722
- b("div", en, [
723
- b("label", $, i(t.$t("views.floorplan.note")), 1),
724
- T(M, {
722
+ b("div", $t, [
723
+ b("label", en, i(t.$t("views.floorplan.note")), 1),
724
+ T(ge, {
725
725
  "model-value": m(C).note,
726
726
  disabled: e.readOnly,
727
727
  maxlength: m(240),
@@ -748,13 +748,13 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
748
748
  }, 8, ["pt"])]),
749
749
  _: 1
750
750
  })) : d("", !0),
751
- m(f) ? (r(), _(y, { key: 3 }, [T(ye, { value: "general" }, {
751
+ m(f) ? (r(), _(y, { key: 3 }, [T(ve, { value: "general" }, {
752
752
  default: g(() => [T(A, { class: "px-4 rounded-none!" }, {
753
- default: g(() => [b("span", tn, i(t.$t("views.floorplan.section_camera")), 1)]),
753
+ default: g(() => [b("span", $, i(t.$t("views.floorplan.section_camera")), 1)]),
754
754
  _: 1
755
755
  }), T(_e, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
756
- default: g(() => [b("div", nn, [b("div", rn, [
757
- b("label", an, i(t.$t("views.floorplan.assigned_room")), 1),
756
+ default: g(() => [b("div", tn, [b("div", nn, [
757
+ b("label", rn, i(t.$t("views.floorplan.assigned_room")), 1),
758
758
  T(he, {
759
759
  "model-value": m(f).roomId,
760
760
  options: m(ne),
@@ -776,9 +776,9 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
776
776
  default: g(() => [S(i(t.$t("views.floorplan.assigned_room_hint")), 1)]),
777
777
  _: 1
778
778
  })
779
- ]), b("div", on, [
780
- b("label", sn, i(t.$t("views.floorplan.note")), 1),
781
- T(M, {
779
+ ]), b("div", an, [
780
+ b("label", on, i(t.$t("views.floorplan.note")), 1),
781
+ T(ge, {
782
782
  "model-value": m(f).note,
783
783
  disabled: e.readOnly,
784
784
  maxlength: m(240),
@@ -803,27 +803,27 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
803
803
  _: 1
804
804
  }, 8, ["pt"])]),
805
805
  _: 1
806
- }), T(ye, { value: "view" }, {
806
+ }), T(ve, { value: "view" }, {
807
807
  default: g(() => [T(A, { class: "px-4 rounded-none!" }, {
808
- default: g(() => [b("span", cn, i(t.$t("views.floorplan.section_view")), 1)]),
808
+ default: g(() => [b("span", sn, i(t.$t("views.floorplan.section_view")), 1)]),
809
809
  _: 1
810
810
  }), T(_e, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
811
- default: g(() => [b("div", ln, [
812
- b("div", un, [b("label", dn, i(t.$t("views.floorplan.direction", { value: m(se) })), 1), T(be, {
811
+ default: g(() => [b("div", cn, [
812
+ b("div", ln, [b("label", un, i(t.$t("views.floorplan.direction", { value: m(se) })), 1), T(ye, {
813
813
  "model-value": m(se),
814
814
  disabled: e.readOnly,
815
815
  min: 0,
816
816
  max: 359,
817
817
  "onUpdate:modelValue": n[14] ||= (e) => fe({ rotation: Number(e) })
818
818
  }, null, 8, ["model-value", "disabled"])]),
819
- b("div", fn, [b("label", pn, i(t.$t("views.floorplan.fov", { value: m(f).fov })), 1), T(be, {
819
+ b("div", dn, [b("label", fn, i(t.$t("views.floorplan.fov", { value: m(f).fov })), 1), T(ye, {
820
820
  "model-value": m(f).fov,
821
821
  disabled: e.readOnly,
822
822
  min: 30,
823
823
  max: 180,
824
824
  "onUpdate:modelValue": n[15] ||= (e) => fe({ fov: Number(e) })
825
825
  }, null, 8, ["model-value", "disabled"])]),
826
- b("div", mn, [b("label", hn, i(t.$t("views.floorplan.range", { value: m(J)(m(f).range).toFixed(1) })), 1), T(be, {
826
+ b("div", pn, [b("label", mn, i(t.$t("views.floorplan.range", { value: m(J)(m(f).range).toFixed(1) })), 1), T(ye, {
827
827
  disabled: e.readOnly,
828
828
  "model-value": m(f).range,
829
829
  min: m(K).min,
@@ -843,193 +843,193 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
843
843
  })], 64)) : d("", !0)
844
844
  ]),
845
845
  _: 1
846
- }, 8, ["value", "class"])]),
847
- e.readOnly ? d("", !0) : (r(), _("div", gn, [T(me, {
846
+ }, 8, ["value", "class"])], 2),
847
+ e.readOnly ? d("", !0) : (r(), _("div", hn, [T(me, {
848
848
  severity: "danger",
849
849
  fluid: "",
850
850
  class: "w-full cui-button-medium",
851
851
  label: m(l) ? t.$t("views.floorplan.delete_room") : m(D) ? t.$t("views.floorplan.remove_connection") : m(C) ? t.$t("views.floorplan.remove_sensor") : t.$t("views.floorplan.remove_camera"),
852
- onClick: k
852
+ onClick: pe
853
853
  }, null, 8, ["label"])]))
854
854
  ]);
855
855
  };
856
856
  }
857
- }), [["__scopeId", "data-v-74664afa"]]), vn = {
857
+ }), [["__scopeId", "data-v-79c10243"]]), _n = {
858
858
  viewBox: "0 0 24 24",
859
859
  width: "1.2em",
860
860
  height: "1.2em"
861
861
  };
862
- function yn(e, t) {
863
- return r(), _("svg", vn, [...t[0] ||= [b("path", {
862
+ function vn(e, t) {
863
+ return r(), _("svg", _n, [...t[0] ||= [b("path", {
864
864
  fill: "currentColor",
865
865
  d: "M10 13a2 2 0 0 1 2 2c0 1.11-.89 2-2 2s-2-.89-2-2s.9-2 2-2m8-12c-2.76 0-5 2.24-5 5v2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2h-1V6c0-1.66 1.34-3 3-3s3 1.34 3 3v2h2V6c0-2.76-2.24-5-5-5m-2 9v10H4V10z"
866
866
  }, null, -1)]]);
867
867
  }
868
- var bn = l({
868
+ var yn = l({
869
869
  name: "mdi-lock-open-variant-outline",
870
- render: yn
871
- }), xn = {
870
+ render: vn
871
+ }), bn = {
872
872
  viewBox: "0 0 24 24",
873
873
  width: "1.2em",
874
874
  height: "1.2em"
875
875
  };
876
- function Sn(e, t) {
877
- return r(), _("svg", xn, [...t[0] ||= [b("path", {
876
+ function xn(e, t) {
877
+ return r(), _("svg", bn, [...t[0] ||= [b("path", {
878
878
  fill: "currentColor",
879
879
  d: "M17 4h3c1.1 0 2 .9 2 2v2h-2V6h-3zM4 8V6h3V4H4c-1.1 0-2 .9-2 2v2zm16 8v2h-3v2h3c1.1 0 2-.9 2-2v-2zM7 18H4v-2H2v2c0 1.1.9 2 2 2h3zm9-8v4H8v-4zm2-2H6v8h12z"
880
880
  }, null, -1)]]);
881
881
  }
882
- var Cn = l({
882
+ var Sn = l({
883
883
  name: "mdi-fit-to-screen-outline",
884
- render: Sn
885
- }), wn = ["width", "height"], Tn = ["width", "height"], En = ["y2", "stroke-width"], Dn = ["id"], On = ["d"], kn = ["width", "height"], An = ["y2", "stroke-width"], jn = [
884
+ render: xn
885
+ }), Cn = ["width", "height"], wn = ["width", "height"], Tn = ["y2", "stroke-width"], En = ["id"], Dn = ["d"], On = ["width", "height"], kn = ["y2", "stroke-width"], An = [
886
886
  "x",
887
887
  "y",
888
888
  "width",
889
889
  "height"
890
- ], Mn = ["d"], Nn = ["clip-path"], Pn = ["d", "transform"], Fn = ["transform"], In = ["d"], Ln = ["d", "stroke-width"], Rn = ["clip-path"], zn = ["d", "transform"], Bn = [
890
+ ], jn = ["d"], Mn = ["clip-path"], Nn = ["d", "transform"], Pn = ["transform"], Fn = ["d"], In = ["d", "stroke-width"], Ln = ["clip-path"], Rn = ["d", "transform"], zn = [
891
891
  "x",
892
892
  "y",
893
893
  "width",
894
894
  "height"
895
- ], Vn = [
895
+ ], Bn = [
896
896
  "x",
897
897
  "y",
898
898
  "width",
899
899
  "height",
900
900
  "onPointerdown"
901
- ], Hn = [
901
+ ], Vn = [
902
902
  "x",
903
903
  "y",
904
904
  "font-size",
905
905
  "transform"
906
- ], Un = ["onPointerdown"], Wn = ["d", "stroke-width"], Gn = ["d", "stroke-width"], Kn = [
906
+ ], Hn = ["onPointerdown"], Un = ["d", "stroke-width"], Wn = ["d", "stroke-width"], Gn = [
907
907
  "cx",
908
908
  "cy",
909
909
  "r",
910
910
  "stroke-width",
911
911
  "onPointerdown"
912
- ], qn = [
912
+ ], Kn = [
913
913
  "d",
914
914
  "stroke-width",
915
915
  "onPointerdown"
916
- ], Jn = ["onPointerdown", "onPointerenter"], Yn = [
916
+ ], qn = ["onPointerdown", "onPointerenter"], Jn = [
917
917
  "cx",
918
918
  "cy",
919
919
  "r",
920
920
  "stroke-width"
921
- ], Xn = [
921
+ ], Yn = [
922
922
  "cx",
923
923
  "cy",
924
924
  "r"
925
- ], Zn = {
925
+ ], Xn = {
926
926
  key: 0,
927
927
  class: "camera-chip"
928
- }, Qn = [
928
+ }, Zn = [
929
929
  "x",
930
930
  "y",
931
931
  "width",
932
932
  "height",
933
933
  "rx"
934
- ], $n = [
934
+ ], Qn = [
935
935
  "x",
936
936
  "y",
937
937
  "width",
938
938
  "height"
939
- ], er = [
939
+ ], $n = [
940
940
  "x",
941
941
  "y",
942
942
  "font-size"
943
- ], tr = [
943
+ ], er = [
944
944
  "cx",
945
945
  "cy",
946
946
  "r",
947
947
  "stroke-width",
948
948
  "onPointerdown"
949
- ], nr = ["d", "stroke-width"], rr = ["onPointerdown", "onPointerenter"], ir = [
949
+ ], tr = ["d", "stroke-width"], nr = ["onPointerdown", "onPointerenter"], rr = [
950
950
  "cx",
951
951
  "cy",
952
952
  "r",
953
953
  "stroke-width"
954
- ], ar = [
954
+ ], ir = [
955
955
  "x",
956
956
  "y",
957
957
  "width",
958
958
  "height"
959
- ], or = {
959
+ ], ar = {
960
960
  key: 0,
961
961
  class: "camera-chip"
962
- }, sr = [
962
+ }, or = [
963
963
  "x",
964
964
  "y",
965
965
  "width",
966
966
  "height",
967
967
  "rx"
968
- ], cr = [
968
+ ], sr = [
969
969
  "x",
970
970
  "y",
971
971
  "font-size"
972
- ], lr = ["onPointerenter"], ur = [
972
+ ], cr = ["onPointerenter"], lr = [
973
973
  "cx",
974
974
  "cy",
975
975
  "r",
976
976
  "stroke-width"
977
- ], dr = [
977
+ ], ur = [
978
978
  "cx",
979
979
  "cy",
980
980
  "r"
981
- ], fr = {
981
+ ], dr = {
982
982
  key: 0,
983
983
  class: "camera-chip"
984
- }, pr = [
984
+ }, fr = [
985
985
  "x",
986
986
  "y",
987
987
  "width",
988
988
  "height",
989
989
  "rx"
990
- ], mr = [
990
+ ], pr = [
991
991
  "x",
992
992
  "y",
993
993
  "font-size"
994
- ], hr = ["onPointerdown"], gr = [
994
+ ], mr = ["onPointerdown"], hr = [
995
995
  "cx",
996
996
  "cy",
997
997
  "r",
998
998
  "stroke-width"
999
- ], _r = ["d", "stroke-width"], vr = [
999
+ ], gr = ["d", "stroke-width"], _r = [
1000
1000
  "x",
1001
1001
  "y",
1002
1002
  "font-size"
1003
- ], yr = {
1003
+ ], vr = {
1004
1004
  key: 1,
1005
1005
  class: "camera-chip"
1006
- }, br = [
1006
+ }, yr = [
1007
1007
  "x",
1008
1008
  "y",
1009
1009
  "width",
1010
1010
  "height",
1011
1011
  "rx"
1012
- ], xr = [
1012
+ ], br = [
1013
1013
  "x",
1014
1014
  "y",
1015
1015
  "font-size"
1016
- ], Sr = ["d", "stroke-width"], Cr = ["d", "stroke-width"], wr = [
1016
+ ], xr = ["d", "stroke-width"], Sr = ["d", "stroke-width"], Cr = [
1017
1017
  "x",
1018
1018
  "y",
1019
1019
  "width",
1020
1020
  "height",
1021
1021
  "rx",
1022
1022
  "stroke-width"
1023
- ], Tr = [
1023
+ ], wr = [
1024
1024
  "cx",
1025
1025
  "cy",
1026
1026
  "r",
1027
1027
  "stroke-width"
1028
- ], Er = {
1028
+ ], Tr = {
1029
1029
  width: "46",
1030
1030
  height: "46",
1031
1031
  viewBox: "0 0 46 46"
1032
- }, Dr = ["transform"], Or = { class: "flex flex-col overflow-hidden floorplan-controls" }, kr = { class: "floorplan-scale flex items-center gap-2 px-2 py-1" }, Ar = ["width"], jr = ["d"], Mr = { class: "text-xs text-muted whitespace-nowrap" }, Nr = 60, Pr = /*#__PURE__*/ A(/* @__PURE__ */ C({
1032
+ }, Er = ["transform"], Dr = { class: "flex flex-col overflow-hidden floorplan-controls" }, Or = { class: "floorplan-scale flex items-center gap-2 px-2 py-1" }, kr = ["width"], Ar = ["d"], jr = { class: "text-xs text-muted whitespace-nowrap" }, Mr = 60, Nr = /*#__PURE__*/ ae(/* @__PURE__ */ C({
1033
1033
  __name: "CuiFloorplanCanvas",
1034
1034
  props: {
1035
1035
  mobile: { type: Boolean },
@@ -1067,17 +1067,17 @@ var Cn = l({
1067
1067
  let p = a, S = f, ne = te("wrapperRef"), C = w(!1), E = w(!1), ie = te("compassRef"), O = w({
1068
1068
  x: null,
1069
1069
  y: null
1070
- }), ae = w(null), oe = w(null), se = w(null), le = w(null), ue = /* @__PURE__ */ new Set(["motion", "audio"]), fe = /* @__PURE__ */ new Set([
1070
+ }), ae = w(null), se = w(null), ce = w(null), le = w(null), de = /* @__PURE__ */ new Set(["motion", "audio"]), pe = /* @__PURE__ */ new Set([
1071
1071
  "object",
1072
1072
  "face",
1073
1073
  "licensePlate",
1074
1074
  "classifier",
1075
1075
  "objectAssist",
1076
1076
  "clip"
1077
- ]), k = null, pe = !1, A = null, { viewport: j, zoomIn: ge, zoomOut: M, fitBounds: _e } = B(), { sensors: ve } = je(), ye = h(() => p.sensors.filter((e) => e.levelId === p.levelId)), be = h(() => {
1077
+ ]), k = null, me = !1, A = null, { viewport: j, zoomIn: M, zoomOut: ge, fitBounds: ve } = B(), { sensors: be } = Ae(), xe = h(() => p.sensors.filter((e) => e.levelId === p.levelId)), Se = h(() => {
1078
1078
  let e = /* @__PURE__ */ new Map();
1079
- for (let t of ve.value) {
1080
- let n = String(t.type), r = ue.has(n), i = fe.has(n);
1079
+ for (let t of be.value) {
1080
+ let n = String(t.type), r = de.has(n), i = pe.has(n);
1081
1081
  if (!r && !i || t.getProperty("detected") !== !0) continue;
1082
1082
  let a = Ke(t, n);
1083
1083
  for (let n of t.assignedCameraIds.value) {
@@ -1089,22 +1089,22 @@ var Cn = l({
1089
1089
  }
1090
1090
  }
1091
1091
  return e;
1092
- }), Se = h(() => {
1093
- let e = F.value.find((e) => e.id === le.value);
1092
+ }), N = h(() => {
1093
+ let e = I.value.find((e) => e.id === le.value);
1094
1094
  if (!e) return null;
1095
1095
  let t = `${ut(e.width, 1)} x ${ut(e.height, 1)}`;
1096
1096
  return {
1097
1097
  text: t,
1098
1098
  width: it(t),
1099
1099
  x: e.x + e.width / 2,
1100
- y: e.y + e.height + 10 / N.value
1100
+ y: e.y + e.height + 10 / P.value
1101
1101
  };
1102
- }), N = h(() => j.value.zoom), we = h(() => ({
1102
+ }), P = h(() => j.value.zoom), Ce = h(() => ({
1103
1103
  x: j.value.x,
1104
1104
  y: j.value.y
1105
- })), Te = h(() => p.north ?? 0), P = h(() => p.readOnly === !0 || C.value), F = h(() => p.rooms.filter((e) => e.levelId === p.levelId)), Ee = h(() => p.cameras.filter((e) => e.levelId === p.levelId)), I = h(() => {
1105
+ })), we = h(() => p.north ?? 0), F = h(() => p.readOnly === !0 || C.value), I = h(() => p.rooms.filter((e) => e.levelId === p.levelId)), Ee = h(() => p.cameras.filter((e) => e.levelId === p.levelId)), L = h(() => {
1106
1106
  let e = 4e3, t = [0], n = [0];
1107
- for (let e of F.value) t.push(e.x, e.x + e.width), n.push(e.y, e.y + e.height);
1107
+ for (let e of I.value) t.push(e.x, e.x + e.width), n.push(e.y, e.y + e.height);
1108
1108
  for (let e of Ee.value) t.push(e.x - e.range, e.x + e.range), n.push(e.y - e.range, e.y + e.range);
1109
1109
  let r = Math.min(...t) - e, i = Math.min(...n) - e;
1110
1110
  return {
@@ -1113,7 +1113,7 @@ var Cn = l({
1113
1113
  width: Math.max(...t) + e - r,
1114
1114
  height: Math.max(...n) + e - i
1115
1115
  };
1116
- }), Oe = [{
1116
+ }), De = [{
1117
1117
  id: "scene",
1118
1118
  type: "scene",
1119
1119
  position: {
@@ -1123,7 +1123,7 @@ var Cn = l({
1123
1123
  draggable: !1,
1124
1124
  selectable: !1,
1125
1125
  data: {}
1126
- }], ke = h(() => p.selection?.kind === "room" ? F.value.find((e) => e.id === p.selection?.id) : void 0), L = h(() => p.selection?.kind === "camera" ? Ee.value.find((e) => e.id === p.selection?.id) : void 0), Ae = h(() => N.value >= .45), Me = h(() => {
1126
+ }], Oe = h(() => p.selection?.kind === "room" ? I.value.find((e) => e.id === p.selection?.id) : void 0), R = h(() => p.selection?.kind === "camera" ? Ee.value.find((e) => e.id === p.selection?.id) : void 0), ke = h(() => P.value >= .45), je = h(() => {
1127
1127
  let e = [
1128
1128
  .5,
1129
1129
  1,
@@ -1132,22 +1132,22 @@ var Cn = l({
1132
1132
  10,
1133
1133
  20,
1134
1134
  50
1135
- ], t = e.filter((e) => e * 100 * N.value <= 130).pop() ?? e[0];
1135
+ ], t = e.filter((e) => e * 100 * P.value <= 130).pop() ?? e[0];
1136
1136
  return {
1137
1137
  meters: t,
1138
- width: Math.round(t * 100 * N.value),
1138
+ width: Math.round(t * 100 * P.value),
1139
1139
  label: `${t} m`
1140
1140
  };
1141
- }), Ne = h(() => p.connections.map((e) => ({
1141
+ }), Me = h(() => p.connections.map((e) => ({
1142
1142
  connection: e,
1143
1143
  geometry: mt(e, p.rooms, p.levelId)
1144
- })).filter((e) => e.geometry !== null)), Pe = h(() => new Map([...R.value].map(([e, t]) => [e, G(t.reduce((e, t) => t.width * t.height > e.width * e.height ? t : e))]))), R = h(() => {
1144
+ })).filter((e) => e.geometry !== null)), Ne = h(() => new Map([...Pe.value].map(([e, t]) => [e, G(t.reduce((e, t) => t.width * t.height > e.width * e.height ? t : e))]))), Pe = h(() => {
1145
1145
  let e = /* @__PURE__ */ new Map();
1146
- for (let t of F.value) e.set(t.roomId, [...e.get(t.roomId) ?? [], t]);
1146
+ for (let t of I.value) e.set(t.roomId, [...e.get(t.roomId) ?? [], t]);
1147
1147
  return e;
1148
1148
  }), Fe = h(() => {
1149
1149
  let e = /* @__PURE__ */ new Map();
1150
- for (let t of Ne.value) {
1150
+ for (let t of Me.value) {
1151
1151
  if (t.geometry.kind !== "edge") continue;
1152
1152
  let n = {
1153
1153
  x1: t.geometry.x1,
@@ -1158,38 +1158,38 @@ var Cn = l({
1158
1158
  for (let r of [t.connection.fromRoomId, t.connection.toRoomId]) e.set(r, [...e.get(r) ?? [], n]);
1159
1159
  }
1160
1160
  return e;
1161
- }), Ie = h(() => [...R.value].map(([e, t]) => ({
1161
+ }), Ie = h(() => [...Pe.value].map(([e, t]) => ({
1162
1162
  roomId: e,
1163
1163
  parts: t,
1164
- ...ht(t, 8 / N.value, Fe.value.get(e) ?? []),
1164
+ ...ht(t, 8 / P.value, Fe.value.get(e) ?? []),
1165
1165
  outdoor: t.every((e) => e.outdoor),
1166
1166
  publicSpace: t.every((e) => e.publicSpace),
1167
1167
  selected: t.some((e) => J("room", e.id))
1168
1168
  })).sort((e, t) => Number(e.selected) - Number(t.selected))), Le = h(() => {
1169
1169
  let e = /* @__PURE__ */ new Map();
1170
- for (let t of R.value.keys()) e.set(t, t);
1170
+ for (let t of Pe.value.keys()) e.set(t, t);
1171
1171
  let t = (t) => {
1172
1172
  let n = t;
1173
1173
  for (; e.get(n) !== n;) n = e.get(n);
1174
1174
  return n;
1175
- }, n = (e) => (R.value.get(e) ?? []).every((e) => e.outdoor);
1175
+ }, n = (e) => (Pe.value.get(e) ?? []).every((e) => e.outdoor);
1176
1176
  for (let r of p.connections) {
1177
1177
  if (!e.has(r.fromRoomId) || !e.has(r.toRoomId) || !n(r.fromRoomId) || !n(r.toRoomId)) continue;
1178
1178
  let i = t(r.fromRoomId), a = t(r.toRoomId);
1179
1179
  i !== a && e.set(i, a);
1180
1180
  }
1181
1181
  let r = /* @__PURE__ */ new Map();
1182
- for (let [e, n] of R.value) {
1182
+ for (let [e, n] of Pe.value) {
1183
1183
  let i = t(e);
1184
1184
  r.set(i, [...r.get(i) ?? [], ...n]);
1185
1185
  }
1186
1186
  let i = /* @__PURE__ */ new Map();
1187
- for (let [e, t] of r) i.set(e, ht(t, 8 / N.value, []).fill);
1188
- return [...R.value.keys()].map((e) => ({
1187
+ for (let [e, t] of r) i.set(e, ht(t, 8 / P.value, []).fill);
1188
+ return [...Pe.value.keys()].map((e) => ({
1189
1189
  roomId: e,
1190
1190
  path: i.get(t(e)) ?? ""
1191
1191
  }));
1192
- }), Re = h(() => Ne.value.flatMap((e) => {
1192
+ }), Re = h(() => Me.value.flatMap((e) => {
1193
1193
  if (e.geometry.kind !== "edge") return [];
1194
1194
  let { x1: t, y1: n, x2: r, y2: i, wall: a } = e.geometry;
1195
1195
  return [{
@@ -1206,8 +1206,8 @@ var Cn = l({
1206
1206
  }]
1207
1207
  }];
1208
1208
  })), ze = h(() => {
1209
- let e = ke.value;
1210
- return !e || P.value ? [] : F.value.filter((t) => t.roomId !== e.roomId).map((t) => ({
1209
+ let e = Oe.value;
1210
+ return !e || F.value ? [] : I.value.filter((t) => t.roomId !== e.roomId).map((t) => ({
1211
1211
  other: t,
1212
1212
  wall: ft(e, t)
1213
1213
  })).filter((e) => e.wall !== null).map((t) => ({
@@ -1228,7 +1228,7 @@ var Cn = l({
1228
1228
  e.set(t(n.fromRoomId), t(n.toRoomId));
1229
1229
  }
1230
1230
  let n = [];
1231
- for (let r of F.value) {
1231
+ for (let r of I.value) {
1232
1232
  if (!e.has(r.roomId)) continue;
1233
1233
  let i = t(r.roomId), a = p.cameras.filter((n) => n.roomId !== r.roomId && e.has(n.roomId) && t(n.roomId) === i);
1234
1234
  a.length && n.push({
@@ -1241,23 +1241,23 @@ var Cn = l({
1241
1241
  return n;
1242
1242
  }), Ve = h(() => {
1243
1243
  let e = [], t = /* @__PURE__ */ new Map(), n = (n, r, i, a) => {
1244
- let o = F.value.find((e) => e.id === r) ?? F.value.find((e) => e.roomId === n);
1245
- if (!o || o.width * N.value < 80 || o.height * N.value < 60) return;
1244
+ let o = I.value.find((e) => e.id === r) ?? I.value.find((e) => e.roomId === n);
1245
+ if (!o || o.width * P.value < 80 || o.height * P.value < 60) return;
1246
1246
  let s = t.get(o.id) ?? 0;
1247
1247
  t.set(o.id, s + 1), e.push({
1248
1248
  key: i ?? `stairs-${n}`,
1249
1249
  roomId: n,
1250
1250
  connectionId: i,
1251
1251
  direction: a,
1252
- x: o.x + o.width - (16 + s * 30) / N.value,
1253
- y: o.y + 16 / N.value
1252
+ x: o.x + o.width - (16 + s * 30) / P.value,
1253
+ y: o.y + 16 / P.value
1254
1254
  });
1255
1255
  };
1256
- for (let e of Ne.value) e.geometry.kind === "badge" && n(e.geometry.roomId, e.geometry.shapeId, e.connection.id, W(e.connection, e.geometry.roomId));
1256
+ for (let e of Me.value) e.geometry.kind === "badge" && n(e.geometry.roomId, e.geometry.shapeId, e.connection.id, W(e.connection, e.geometry.roomId));
1257
1257
  return He.value && n(He.value.roomId, He.value.shapeId, void 0, void 0), e;
1258
1258
  }), He = h(() => {
1259
- let e = ke.value;
1260
- if (!e || P.value) return null;
1259
+ let e = Oe.value;
1260
+ if (!e || F.value) return null;
1261
1261
  let t = new Set(p.connections.flatMap((e) => [e.fromRoomId, e.toRoomId].join("|")));
1262
1262
  return p.rooms.some((n) => n.levelId !== e.levelId && !t.has([e.roomId, n.roomId].join("|")) && !t.has([n.roomId, e.roomId].join("|"))) ? {
1263
1263
  roomId: e.roomId,
@@ -1266,12 +1266,12 @@ var Cn = l({
1266
1266
  }), We = h(() => {
1267
1267
  let e = ne.value?.getBoundingClientRect(), t = e?.width ?? 0, n = e?.height ?? 0;
1268
1268
  return {
1269
- left: -we.value.x / N.value,
1270
- top: -we.value.y / N.value,
1271
- right: (t - we.value.x) / N.value,
1272
- bottom: (n - we.value.y) / N.value
1269
+ left: -Ce.value.x / P.value,
1270
+ top: -Ce.value.y / P.value,
1271
+ right: (t - Ce.value.x) / P.value,
1272
+ bottom: (n - Ce.value.y) / P.value
1273
1273
  };
1274
- }), Ge = h(() => new Set(Ee.value.filter((e) => be.value.has(e.id)).map((e) => e.roomId)));
1274
+ }), Ge = h(() => new Set(Ee.value.filter((e) => Se.value.has(e.id)).map((e) => e.roomId)));
1275
1275
  function Ke(e, t) {
1276
1276
  switch (t) {
1277
1277
  case "object":
@@ -1289,36 +1289,36 @@ var Cn = l({
1289
1289
  }
1290
1290
  }
1291
1291
  function qe(e) {
1292
- return be.value.get(e)?.level;
1292
+ return Se.value.get(e)?.level;
1293
1293
  }
1294
1294
  function Je(e) {
1295
- return be.value.get(e.id)?.labels ?? [];
1295
+ return Se.value.get(e.id)?.labels ?? [];
1296
1296
  }
1297
1297
  function Ye(e) {
1298
- let t = (8 + Je(e).length * 17) / N.value;
1298
+ let t = (8 + Je(e).length * 17) / P.value;
1299
1299
  return {
1300
- width: t + it(e.name) - 10 / N.value,
1300
+ width: t + it(e.name) - 10 / P.value,
1301
1301
  textOffset: t
1302
1302
  };
1303
1303
  }
1304
1304
  function Xe(e, t) {
1305
- se.value = t.id, e.pointerType === "mouse" && S("hover-sensor", {
1305
+ ce.value = t.id, e.pointerType === "mouse" && S("hover-sensor", {
1306
1306
  sensorId: t.id,
1307
1307
  x: e.clientX,
1308
1308
  y: e.clientY
1309
1309
  });
1310
1310
  }
1311
1311
  function Ze() {
1312
- se.value = null, S("hover-sensor", null);
1312
+ ce.value = null, S("hover-sensor", null);
1313
1313
  }
1314
1314
  function Qe(e) {
1315
- return ve.value.find((t) => t.id === e);
1315
+ return be.value.find((t) => t.id === e);
1316
1316
  }
1317
1317
  function $e(e) {
1318
- return de(e.sensorType, ce(Qe(e.id)));
1318
+ return ue(e.sensorType, Te(Qe(e.id)));
1319
1319
  }
1320
1320
  function U(e) {
1321
- let t = he(Qe(e.id));
1321
+ let t = oe(Qe(e.id));
1322
1322
  return t ? `${e.name} · ${t}` : e.name;
1323
1323
  }
1324
1324
  function W(e, t) {
@@ -1335,11 +1335,11 @@ var Cn = l({
1335
1335
  });
1336
1336
  }
1337
1337
  function tt(e) {
1338
- let t = Pe.value.get(e.roomId);
1338
+ let t = Ne.value.get(e.roomId);
1339
1339
  return t ? [t] : [];
1340
1340
  }
1341
1341
  function G(e) {
1342
- let t = e.width >= e.height, n = t ? e.width : e.height, r = t ? e.height : e.width, i = 9 / N.value, a = Math.max(Math.min(15, r * .3), i);
1342
+ let t = e.width >= e.height, n = t ? e.width : e.height, r = t ? e.height : e.width, i = 9 / P.value, a = Math.max(Math.min(15, r * .3), i);
1343
1343
  if (a > r) return null;
1344
1344
  let o = n - a, s = a * ot, c = e.name;
1345
1345
  if (s * c.length > o) {
@@ -1366,10 +1366,10 @@ var Cn = l({
1366
1366
  ae.value = null, S("hover-camera", null);
1367
1367
  }
1368
1368
  function it(e) {
1369
- return (e.length * 7 + 20) / N.value;
1369
+ return (e.length * 7 + 20) / P.value;
1370
1370
  }
1371
1371
  function at(e, t) {
1372
- let n = 4 / N.value;
1372
+ let n = 4 / P.value;
1373
1373
  return `M ${e - n * 2} ${t + n * 1.5} L ${e - n} ${t + n * 1.5} L ${e - n} ${t} L ${e + n} ${t} L ${e + n} ${t - n * 1.5} L ${e + n * 2} ${t - n * 1.5}`;
1374
1374
  }
1375
1375
  function ct(e) {
@@ -1385,8 +1385,8 @@ var Cn = l({
1385
1385
  function gt(e) {
1386
1386
  let t = ne.value?.getBoundingClientRect();
1387
1387
  return t ? {
1388
- x: (e.clientX - t.left - we.value.x) / N.value,
1389
- y: (e.clientY - t.top - we.value.y) / N.value
1388
+ x: (e.clientX - t.left - Ce.value.x) / P.value,
1389
+ y: (e.clientY - t.top - Ce.value.y) / P.value
1390
1390
  } : {
1391
1391
  x: 0,
1392
1392
  y: 0
@@ -1396,11 +1396,11 @@ var Cn = l({
1396
1396
  return Math.round(e / 10) * 10;
1397
1397
  }
1398
1398
  function _t(e, t) {
1399
- return F.value.some((n) => n.id !== t && e.x < n.x + n.width && e.x + e.width > n.x && e.y < n.y + n.height && e.y + e.height > n.y);
1399
+ return I.value.some((n) => n.id !== t && e.x < n.x + n.width && e.x + e.width > n.x && e.y < n.y + n.height && e.y + e.height > n.y);
1400
1400
  }
1401
1401
  function vt(e, t, n) {
1402
- let r = 10 / N.value, i = n === "end" ? [e.x + e.width] : [e.x, e.x + e.width], a = n === "end" ? [e.y + e.height] : [e.y, e.y + e.height], o, s;
1403
- for (let e of F.value) if (e.id !== t) {
1402
+ let r = 10 / P.value, i = n === "end" ? [e.x + e.width] : [e.x, e.x + e.width], a = n === "end" ? [e.y + e.height] : [e.y, e.y + e.height], o, s;
1403
+ for (let e of I.value) if (e.id !== t) {
1404
1404
  for (let t of i) for (let n of [e.x, e.x + e.width]) {
1405
1405
  let e = n - t;
1406
1406
  Math.abs(e) <= r && (o === void 0 || Math.abs(e) < Math.abs(o)) && (o = e);
@@ -1427,7 +1427,7 @@ var Cn = l({
1427
1427
  return Math.min(Math.max(e, t), n);
1428
1428
  }
1429
1429
  function X(e, t, n) {
1430
- let r = R.value.get(e);
1430
+ let r = Pe.value.get(e);
1431
1431
  if (!r?.length || r.some((e) => t >= e.x && t <= e.x + e.width && n >= e.y && n <= e.y + e.height)) return {
1432
1432
  x: t,
1433
1433
  y: n
@@ -1461,7 +1461,7 @@ var Cn = l({
1461
1461
  if (Pt(e, {
1462
1462
  kind: "room",
1463
1463
  id: t.id
1464
- }), P.value) return;
1464
+ }), F.value) return;
1465
1465
  e.stopPropagation();
1466
1466
  let n = gt(e);
1467
1467
  k = {
@@ -1475,7 +1475,7 @@ var Cn = l({
1475
1475
  S("select", {
1476
1476
  kind: "room",
1477
1477
  id: t.id
1478
- }), !P.value && (e.stopPropagation(), le.value = t.id, k = {
1478
+ }), !F.value && (e.stopPropagation(), le.value = t.id, k = {
1479
1479
  mode: "resize",
1480
1480
  id: t.id,
1481
1481
  originX: t.x,
@@ -1486,7 +1486,7 @@ var Cn = l({
1486
1486
  if (Pt(e, {
1487
1487
  kind: "camera",
1488
1488
  id: t.id
1489
- }), P.value) return;
1489
+ }), F.value) return;
1490
1490
  e.stopPropagation();
1491
1491
  let n = gt(e);
1492
1492
  k = {
@@ -1500,7 +1500,7 @@ var Cn = l({
1500
1500
  S("select", {
1501
1501
  kind: "camera",
1502
1502
  id: t.id
1503
- }), !P.value && (e.stopPropagation(), k = {
1503
+ }), !F.value && (e.stopPropagation(), k = {
1504
1504
  mode: "rotate",
1505
1505
  id: t.id
1506
1506
  }, Z(e));
@@ -1514,10 +1514,10 @@ var Cn = l({
1514
1514
  S("update-north", Math.round((n + 450) % 360));
1515
1515
  return;
1516
1516
  }
1517
- pe || (pe = !0, S("history"));
1517
+ me || (me = !0, S("history"));
1518
1518
  let t = gt(e);
1519
1519
  if (k.mode === "room") {
1520
- let e = k.id, n = F.value.find((t) => t.id === e);
1520
+ let e = k.id, n = I.value.find((t) => t.id === e);
1521
1521
  if (!n) return;
1522
1522
  let r = vt({
1523
1523
  x: Y(t.x - k.offsetX),
@@ -1536,7 +1536,7 @@ var Cn = l({
1536
1536
  return;
1537
1537
  }
1538
1538
  if (k.mode === "resize") {
1539
- let e = k.id, n = F.value.find((t) => t.id === e);
1539
+ let e = k.id, n = I.value.find((t) => t.id === e);
1540
1540
  if (!n) return;
1541
1541
  let r = vt({
1542
1542
  x: n.x,
@@ -1588,7 +1588,7 @@ var Cn = l({
1588
1588
  return;
1589
1589
  }
1590
1590
  if (k.mode === "sensor") {
1591
- let e = k.id, n = X(ye.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - k.offsetX), Y(t.y - k.offsetY));
1591
+ let e = k.id, n = X(xe.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - k.offsetX), Y(t.y - k.offsetY));
1592
1592
  S("move-sensor", {
1593
1593
  id: e,
1594
1594
  ...n
@@ -1629,7 +1629,7 @@ var Cn = l({
1629
1629
  };
1630
1630
  }
1631
1631
  function Ot(e) {
1632
- P.value || (e.stopPropagation(), S("history"), k = { mode: "north" }, ie.value?.setPointerCapture?.(e.pointerId));
1632
+ F.value || (e.stopPropagation(), S("history"), k = { mode: "north" }, ie.value?.setPointerCapture?.(e.pointerId));
1633
1633
  }
1634
1634
  function kt(e) {
1635
1635
  let t = e.dataTransfer?.getData(lt);
@@ -1638,15 +1638,15 @@ var Cn = l({
1638
1638
  let n = JSON.parse(t), r = ne.value?.getBoundingClientRect();
1639
1639
  r && S("drop", {
1640
1640
  ...n,
1641
- x: Y((e.clientX - r.left - we.value.x) / N.value),
1642
- y: Y((e.clientY - r.top - we.value.y) / N.value)
1641
+ x: Y((e.clientX - r.left - Ce.value.x) / P.value),
1642
+ y: Y((e.clientY - r.top - Ce.value.y) / P.value)
1643
1643
  });
1644
1644
  }
1645
1645
  function At(e, t) {
1646
1646
  if (Pt(e, {
1647
1647
  kind: "sensor",
1648
1648
  id: t.id
1649
- }), P.value) return;
1649
+ }), F.value) return;
1650
1650
  e.stopPropagation();
1651
1651
  let n = gt(e);
1652
1652
  k = {
@@ -1660,7 +1660,7 @@ var Cn = l({
1660
1660
  Pt(e, {
1661
1661
  kind: "connection",
1662
1662
  id: t.id
1663
- }), !P.value && (e.stopPropagation(), k = {
1663
+ }), !F.value && (e.stopPropagation(), k = {
1664
1664
  mode: "passage",
1665
1665
  id: t.id,
1666
1666
  wall: t.wall,
@@ -1668,7 +1668,7 @@ var Cn = l({
1668
1668
  }, Z(e));
1669
1669
  }
1670
1670
  function Mt(e, t, n) {
1671
- P.value || (e.stopPropagation(), k = {
1671
+ F.value || (e.stopPropagation(), k = {
1672
1672
  mode: "passage-resize",
1673
1673
  id: t.id,
1674
1674
  wall: t.wall,
@@ -1686,18 +1686,18 @@ var Cn = l({
1686
1686
  };
1687
1687
  }
1688
1688
  function Ft(e) {
1689
- le.value = null, A &&= (e && Math.abs(e.clientX - A.x) < 4 && Math.abs(e.clientY - A.y) < 4 && S("select", A.target), null), k?.mode === "room" && pe && S("settle-room", k.id), k = null, pe = !1, O.value = {
1689
+ le.value = null, A &&= (e && Math.abs(e.clientX - A.x) < 4 && Math.abs(e.clientY - A.y) < 4 && S("select", A.target), null), k?.mode === "room" && me && S("settle-room", k.id), k = null, me = !1, O.value = {
1690
1690
  x: null,
1691
1691
  y: null
1692
1692
  };
1693
1693
  }
1694
1694
  function It() {
1695
1695
  let e = [], t = [];
1696
- for (let n of F.value) e.push(n.x, n.x + n.width), t.push(n.y, n.y + n.height);
1697
- for (let n of Ee.value) e.push(n.x - Nr, n.x + Nr), t.push(n.y - Nr, n.y + Nr);
1696
+ for (let n of I.value) e.push(n.x, n.x + n.width), t.push(n.y, n.y + n.height);
1697
+ for (let n of Ee.value) e.push(n.x - Mr, n.x + Mr), t.push(n.y - Mr, n.y + Mr);
1698
1698
  if (!e.length) return;
1699
1699
  let n = Math.min(...e), r = Math.min(...t);
1700
- _e({
1700
+ ve({
1701
1701
  x: n,
1702
1702
  y: r,
1703
1703
  width: Math.max(Math.max(...e) - n, 1),
@@ -1707,7 +1707,7 @@ var Cn = l({
1707
1707
  return ee(() => p.levelId, () => o(It)), re(() => {
1708
1708
  window.addEventListener("pointerup", Ft), o(It);
1709
1709
  }), t(() => window.removeEventListener("pointerup", Ft)), l({ fit: It }), (t, o) => {
1710
- let l = Ue, f = H, p = Cn, h = Ce, ee = bn, te = De, w = D;
1710
+ let l = Ue, f = H, p = Sn, h = fe, ee = yn, te = _e, w = D;
1711
1711
  return r(), _("div", {
1712
1712
  ref_key: "wrapperRef",
1713
1713
  ref: ne,
@@ -1720,7 +1720,7 @@ var Cn = l({
1720
1720
  onDragenter: o[15] ||= e(() => {}, ["prevent"])
1721
1721
  }, [
1722
1722
  T(m(z), {
1723
- nodes: Oe,
1723
+ nodes: De,
1724
1724
  "nodes-draggable": !1,
1725
1725
  "nodes-connectable": !1,
1726
1726
  "elements-selectable": !1,
@@ -1738,61 +1738,61 @@ var Cn = l({
1738
1738
  "node-scene": g(() => [(r(), _("svg", {
1739
1739
  class: "floorplan-scene",
1740
1740
  style: v({
1741
- left: `${m(I).x}px`,
1742
- top: `${m(I).y}px`,
1743
- width: `${m(I).width}px`,
1744
- height: `${m(I).height}px`
1741
+ left: `${m(L).x}px`,
1742
+ top: `${m(L).y}px`,
1743
+ width: `${m(L).width}px`,
1744
+ height: `${m(L).height}px`
1745
1745
  })
1746
1746
  }, [b("defs", null, [
1747
1747
  b("pattern", {
1748
1748
  id: "floorplan-public",
1749
- width: 14 / m(N),
1750
- height: 14 / m(N),
1749
+ width: 14 / m(P),
1750
+ height: 14 / m(P),
1751
1751
  patternUnits: "userSpaceOnUse",
1752
1752
  patternTransform: "rotate(45)"
1753
1753
  }, [b("rect", {
1754
- width: 14 / m(N),
1755
- height: 14 / m(N),
1754
+ width: 14 / m(P),
1755
+ height: 14 / m(P),
1756
1756
  class: "public-base"
1757
- }, null, 8, Tn), b("line", {
1757
+ }, null, 8, wn), b("line", {
1758
1758
  x1: "0",
1759
1759
  y1: "0",
1760
1760
  x2: "0",
1761
- y2: 14 / m(N),
1761
+ y2: 14 / m(P),
1762
1762
  class: "public-hatch",
1763
- "stroke-width": 1.5 / m(N)
1764
- }, null, 8, En)], 8, wn),
1763
+ "stroke-width": 1.5 / m(P)
1764
+ }, null, 8, Tn)], 8, Cn),
1765
1765
  (r(!0), _(y, null, n(m(Le), (e) => (r(), _("clipPath", {
1766
1766
  id: `floorplan-sight-${e.roomId}`,
1767
1767
  key: e.roomId
1768
- }, [b("path", { d: e.path }, null, 8, On)], 8, Dn))), 128)),
1768
+ }, [b("path", { d: e.path }, null, 8, Dn)], 8, En))), 128)),
1769
1769
  b("pattern", {
1770
1770
  id: "floorplan-gaps-hatch",
1771
- width: 10 / m(N),
1772
- height: 10 / m(N),
1771
+ width: 10 / m(P),
1772
+ height: 10 / m(P),
1773
1773
  patternUnits: "userSpaceOnUse",
1774
1774
  patternTransform: "rotate(-45)"
1775
1775
  }, [b("line", {
1776
1776
  x1: "0",
1777
1777
  y1: "0",
1778
1778
  x2: "0",
1779
- y2: 10 / m(N),
1779
+ y2: 10 / m(P),
1780
1780
  class: "gaps-hatch",
1781
- "stroke-width": 1.5 / m(N)
1782
- }, null, 8, An)], 8, kn),
1781
+ "stroke-width": 1.5 / m(P)
1782
+ }, null, 8, kn)], 8, On),
1783
1783
  m(E) ? (r(), _("mask", {
1784
1784
  key: 0,
1785
1785
  id: "floorplan-gaps",
1786
1786
  maskUnits: "userSpaceOnUse",
1787
- x: m(I).x,
1788
- y: m(I).y,
1789
- width: m(I).width,
1790
- height: m(I).height
1787
+ x: m(L).x,
1788
+ y: m(L).y,
1789
+ width: m(L).width,
1790
+ height: m(L).height
1791
1791
  }, [(r(!0), _(y, null, n(m(Ie), (e) => (r(), _(y, { key: `gap-room-${e.roomId}` }, [e.publicSpace ? d("", !0) : (r(), _("path", {
1792
1792
  key: 0,
1793
1793
  d: e.fill,
1794
1794
  fill: "white"
1795
- }, null, 8, Mn))], 64))), 128)), (r(!0), _(y, null, n(m(Le), (e) => (r(), _("g", {
1795
+ }, null, 8, jn))], 64))), 128)), (r(!0), _(y, null, n(m(Le), (e) => (r(), _("g", {
1796
1796
  key: `gap-sight-${e.roomId}`,
1797
1797
  "clip-path": `url(#floorplan-sight-${e.roomId})`
1798
1798
  }, [(r(!0), _(y, null, n(bt(e.roomId), (e) => (r(), _("path", {
@@ -1800,8 +1800,8 @@ var Cn = l({
1800
1800
  d: dt(e),
1801
1801
  fill: "black",
1802
1802
  transform: `translate(${e.x} ${e.y}) rotate(${e.rotation})`
1803
- }, null, 8, Pn))), 128))], 8, Nn))), 128))], 8, jn)) : d("", !0)
1804
- ]), b("g", { transform: `translate(${-m(I).x} ${-m(I).y})` }, [
1803
+ }, null, 8, Nn))), 128))], 8, Mn))), 128))], 8, An)) : d("", !0)
1804
+ ]), b("g", { transform: `translate(${-m(L).x} ${-m(L).y})` }, [
1805
1805
  (r(!0), _(y, null, n(m(Ie), (e) => (r(), _("g", { key: e.roomId }, [b("path", {
1806
1806
  d: e.fill,
1807
1807
  class: s(["room", {
@@ -1809,14 +1809,14 @@ var Cn = l({
1809
1809
  "room-public": e.publicSpace,
1810
1810
  "room-active": m(Ge).has(e.roomId)
1811
1811
  }])
1812
- }, null, 10, In), b("path", {
1812
+ }, null, 10, Fn), b("path", {
1813
1813
  d: e.wall,
1814
1814
  class: s(["room-wall", {
1815
1815
  "room-selected": e.selected,
1816
1816
  "room-public-wall": e.publicSpace
1817
1817
  }]),
1818
- "stroke-width": (e.selected ? 2.5 : 1.5) / m(N)
1819
- }, null, 10, Ln)]))), 128)),
1818
+ "stroke-width": (e.selected ? 2.5 : 1.5) / m(P)
1819
+ }, null, 10, In)]))), 128)),
1820
1820
  (r(!0), _(y, null, n(m(Le), (e) => (r(), _("g", {
1821
1821
  key: `sight-${e.roomId}`,
1822
1822
  "clip-path": `url(#floorplan-sight-${e.roomId})`
@@ -1825,26 +1825,26 @@ var Cn = l({
1825
1825
  d: dt(e),
1826
1826
  class: s(["cone", [`cone-${qe(e.id) ?? "idle"}`, { "cone-selected": J("camera", e.id) }]]),
1827
1827
  transform: `translate(${e.x} ${e.y}) rotate(${e.rotation})`
1828
- }, null, 10, zn))), 128))], 8, Rn))), 128)),
1828
+ }, null, 10, Rn))), 128))], 8, Ln))), 128)),
1829
1829
  m(E) ? (r(), _("rect", {
1830
1830
  key: 0,
1831
- x: m(I).x,
1832
- y: m(I).y,
1833
- width: m(I).width,
1834
- height: m(I).height,
1831
+ x: m(L).x,
1832
+ y: m(L).y,
1833
+ width: m(L).width,
1834
+ height: m(L).height,
1835
1835
  fill: "url(#floorplan-gaps-hatch)",
1836
1836
  mask: "url(#floorplan-gaps)",
1837
1837
  class: "gaps-layer"
1838
- }, null, 8, Bn)) : d("", !0),
1838
+ }, null, 8, zn)) : d("", !0),
1839
1839
  (r(!0), _(y, null, n(m(Ie), (e) => (r(), _("g", { key: `hits-${e.roomId}` }, [(r(!0), _(y, null, n(e.parts, (e) => (r(), _("rect", {
1840
1840
  key: e.id,
1841
1841
  x: e.x,
1842
1842
  y: e.y,
1843
1843
  width: e.width,
1844
1844
  height: e.height,
1845
- class: s(["room-hit", { nopan: !m(P) }]),
1845
+ class: s(["room-hit", { nopan: !m(F) }]),
1846
1846
  onPointerdown: (t) => St(t, e)
1847
- }, null, 42, Vn))), 128)), (r(!0), _(y, null, n(tt(e), (e) => (r(), _("text", {
1847
+ }, null, 42, Bn))), 128)), (r(!0), _(y, null, n(tt(e), (e) => (r(), _("text", {
1848
1848
  key: e.text,
1849
1849
  x: e.x,
1850
1850
  y: e.y,
@@ -1852,42 +1852,42 @@ var Cn = l({
1852
1852
  transform: e.upright ? void 0 : `rotate(-90 ${e.x} ${e.y})`,
1853
1853
  class: "room-label",
1854
1854
  "text-anchor": "middle"
1855
- }, i(e.text), 9, Hn))), 128))]))), 128)),
1855
+ }, i(e.text), 9, Vn))), 128))]))), 128)),
1856
1856
  (r(!0), _(y, null, n(m(Re), (e) => (r(), _("g", {
1857
1857
  key: e.id,
1858
- class: s({ nopan: !m(P) }),
1858
+ class: s({ nopan: !m(F) }),
1859
1859
  onPointerdown: (t) => jt(t, e)
1860
1860
  }, [
1861
1861
  b("path", {
1862
1862
  d: e.line,
1863
1863
  class: "connection-hit",
1864
- "stroke-width": 24 / m(N)
1865
- }, null, 8, Wn),
1864
+ "stroke-width": 24 / m(P)
1865
+ }, null, 8, Un),
1866
1866
  b("path", {
1867
1867
  d: e.line,
1868
1868
  class: s(["connection", [`connection-${e.type}`, { "connection-selected": J("connection", e.id) }]]),
1869
- "stroke-width": 7 / m(N)
1870
- }, null, 10, Gn),
1871
- (r(!0), _(y, null, n(J("connection", e.id) && !m(P) ? e.handles : [], (t, n) => (r(), _("circle", {
1869
+ "stroke-width": 7 / m(P)
1870
+ }, null, 10, Wn),
1871
+ (r(!0), _(y, null, n(J("connection", e.id) && !m(F) ? e.handles : [], (t, n) => (r(), _("circle", {
1872
1872
  key: n,
1873
1873
  cx: t.x,
1874
1874
  cy: t.y,
1875
- r: 7 / m(N),
1875
+ r: 7 / m(P),
1876
1876
  class: "passage-handle nopan",
1877
- "stroke-width": 2 / m(N),
1877
+ "stroke-width": 2 / m(P),
1878
1878
  onPointerdown: (t) => Mt(t, e, n)
1879
- }, null, 40, Kn))), 128))
1880
- ], 42, Un))), 128)),
1881
- (r(!0), _(y, null, n(m(Ne), (e) => (r(), _(y, { key: e.connection.id }, [e.geometry.kind === "link" ? (r(), _("path", {
1879
+ }, null, 40, Gn))), 128))
1880
+ ], 42, Hn))), 128)),
1881
+ (r(!0), _(y, null, n(m(Me), (e) => (r(), _(y, { key: e.connection.id }, [e.geometry.kind === "link" ? (r(), _("path", {
1882
1882
  key: 0,
1883
1883
  d: `M ${e.geometry.x1} ${e.geometry.y1} L ${e.geometry.x2} ${e.geometry.y2}`,
1884
1884
  class: s(["connection connection-stairs", { "connection-selected": J("connection", e.connection.id) }]),
1885
- "stroke-width": 2 / m(N),
1885
+ "stroke-width": 2 / m(P),
1886
1886
  onPointerdown: (t) => xt(t, e.connection.id)
1887
- }, null, 42, qn)) : d("", !0)], 64))), 128)),
1887
+ }, null, 42, Kn)) : d("", !0)], 64))), 128)),
1888
1888
  (r(!0), _(y, null, n(m(Ee), (e) => (r(), _("g", {
1889
1889
  key: e.id,
1890
- class: s({ nopan: !m(P) }),
1890
+ class: s({ nopan: !m(F) }),
1891
1891
  onPointerdown: (t) => wt(t, e),
1892
1892
  onPointerenter: (t) => nt(t, e),
1893
1893
  onPointerleave: rt
@@ -1895,62 +1895,62 @@ var Cn = l({
1895
1895
  b("circle", {
1896
1896
  cx: e.x,
1897
1897
  cy: e.y,
1898
- r: 13 / m(N),
1898
+ r: 13 / m(P),
1899
1899
  class: s(["camera-body", [`camera-${qe(e.id) ?? "idle"}`, { "camera-selected": J("camera", e.id) }]]),
1900
- "stroke-width": 2 / m(N)
1901
- }, null, 10, Yn),
1900
+ "stroke-width": 2 / m(P)
1901
+ }, null, 10, Jn),
1902
1902
  b("circle", {
1903
1903
  cx: e.x,
1904
1904
  cy: e.y,
1905
- r: 4 / m(N),
1905
+ r: 4 / m(P),
1906
1906
  class: "camera-lens"
1907
- }, null, 8, Xn),
1908
- m(ae) === e.id || J("camera", e.id) || m(be).has(e.id) ? (r(), _("g", Zn, [
1907
+ }, null, 8, Yn),
1908
+ m(ae) === e.id || J("camera", e.id) || m(Se).has(e.id) ? (r(), _("g", Xn, [
1909
1909
  b("rect", {
1910
1910
  x: e.x - Ye(e).width / 2,
1911
- y: e.y - 42 / m(N),
1911
+ y: e.y - 42 / m(P),
1912
1912
  width: Ye(e).width,
1913
- height: 20 / m(N),
1914
- rx: 10 / m(N)
1915
- }, null, 8, Qn),
1913
+ height: 20 / m(P),
1914
+ rx: 10 / m(P)
1915
+ }, null, 8, Zn),
1916
1916
  (r(!0), _(y, null, n(Je(e), (t, n) => (r(), _("foreignObject", {
1917
1917
  key: t,
1918
- x: e.x - Ye(e).width / 2 + (8 + n * 17) / m(N),
1919
- y: e.y - 39.5 / m(N),
1920
- width: 15 / m(N),
1921
- height: 15 / m(N),
1918
+ x: e.x - Ye(e).width / 2 + (8 + n * 17) / m(P),
1919
+ y: e.y - 39.5 / m(P),
1920
+ width: 15 / m(P),
1921
+ height: 15 / m(P),
1922
1922
  class: "chip-glyph"
1923
- }, [(r(), u(c(m(xe)(t).icon), {
1923
+ }, [(r(), u(c(m(ye)(t).icon), {
1924
1924
  width: "100%",
1925
1925
  height: "100%"
1926
- }))], 8, $n))), 128)),
1926
+ }))], 8, Qn))), 128)),
1927
1927
  b("text", {
1928
1928
  x: e.x - Ye(e).width / 2 + Ye(e).textOffset,
1929
- y: e.y - 28 / m(N),
1930
- "font-size": 12 / m(N)
1931
- }, i(e.name), 9, er)
1929
+ y: e.y - 28 / m(P),
1930
+ "font-size": 12 / m(P)
1931
+ }, i(e.name), 9, $n)
1932
1932
  ])) : d("", !0)
1933
- ], 42, Jn))), 128)),
1934
- (r(!0), _(y, null, n(m(Ae) ? m(ze) : [], (t) => (r(), _("g", { key: t.roomId }, [b("circle", {
1933
+ ], 42, qn))), 128)),
1934
+ (r(!0), _(y, null, n(m(ke) ? m(ze) : [], (t) => (r(), _("g", { key: t.roomId }, [b("circle", {
1935
1935
  cx: t.x,
1936
1936
  cy: t.y,
1937
- r: 11 / m(N),
1937
+ r: 11 / m(P),
1938
1938
  class: "connection-ghost nopan",
1939
- "stroke-width": 1.5 / m(N),
1939
+ "stroke-width": 1.5 / m(P),
1940
1940
  onPointerdown: e((e) => S("create-connection", {
1941
1941
  fromRoomId: t.fromRoomId,
1942
1942
  toRoomId: t.roomId,
1943
1943
  fromShapeId: t.fromShapeId,
1944
1944
  toShapeId: t.shapeId
1945
1945
  }), ["stop"])
1946
- }, null, 40, tr), b("path", {
1947
- d: `M ${t.x - 5 / m(N)} ${t.y} L ${t.x + 5 / m(N)} ${t.y} M ${t.x} ${t.y - 5 / m(N)} L ${t.x} ${t.y + 5 / m(N)}`,
1946
+ }, null, 40, er), b("path", {
1947
+ d: `M ${t.x - 5 / m(P)} ${t.y} L ${t.x + 5 / m(P)} ${t.y} M ${t.x} ${t.y - 5 / m(P)} L ${t.x} ${t.y + 5 / m(P)}`,
1948
1948
  class: "connection-ghost-plus",
1949
- "stroke-width": 1.5 / m(N)
1950
- }, null, 8, nr)]))), 128)),
1951
- (r(!0), _(y, null, n(m(ye), (e) => (r(), _("g", {
1949
+ "stroke-width": 1.5 / m(P)
1950
+ }, null, 8, tr)]))), 128)),
1951
+ (r(!0), _(y, null, n(m(xe), (e) => (r(), _("g", {
1952
1952
  key: `sensor-${e.id}`,
1953
- class: s({ nopan: !m(P) }),
1953
+ class: s({ nopan: !m(F) }),
1954
1954
  onPointerdown: (t) => At(t, e),
1955
1955
  onPointerenter: (t) => Xe(t, e),
1956
1956
  onPointerleave: Ze
@@ -1958,138 +1958,138 @@ var Cn = l({
1958
1958
  b("circle", {
1959
1959
  cx: e.x,
1960
1960
  cy: e.y,
1961
- r: 11 / m(N),
1961
+ r: 11 / m(P),
1962
1962
  class: s(["sensor-body", { "sensor-selected": J("sensor", e.id) }]),
1963
- "stroke-width": 2 / m(N)
1964
- }, null, 10, ir),
1963
+ "stroke-width": 2 / m(P)
1964
+ }, null, 10, rr),
1965
1965
  (r(), _("foreignObject", {
1966
- x: e.x - 7 / m(N),
1967
- y: e.y - 7 / m(N),
1968
- width: 14 / m(N),
1969
- height: 14 / m(N),
1966
+ x: e.x - 7 / m(P),
1967
+ y: e.y - 7 / m(P),
1968
+ width: 14 / m(P),
1969
+ height: 14 / m(P),
1970
1970
  class: "sensor-glyph"
1971
- }, [(r(), u(c(m(me)(e.sensorType, Qe(e.id))), {
1971
+ }, [(r(), u(c(m(he)(e.sensorType, Qe(e.id))), {
1972
1972
  width: "100%",
1973
1973
  height: "100%",
1974
1974
  style: v($e(e))
1975
- }, null, 8, ["style"]))], 8, ar)),
1976
- m(se) === e.id || J("sensor", e.id) ? (r(), _("g", or, [b("rect", {
1975
+ }, null, 8, ["style"]))], 8, ir)),
1976
+ m(ce) === e.id || J("sensor", e.id) ? (r(), _("g", ar, [b("rect", {
1977
1977
  x: e.x - it(U(e)) / 2,
1978
- y: e.y - 42 / m(N),
1978
+ y: e.y - 42 / m(P),
1979
1979
  width: it(U(e)),
1980
- height: 20 / m(N),
1981
- rx: 10 / m(N)
1982
- }, null, 8, sr), b("text", {
1980
+ height: 20 / m(P),
1981
+ rx: 10 / m(P)
1982
+ }, null, 8, or), b("text", {
1983
1983
  x: e.x,
1984
- y: e.y - 28 / m(N),
1984
+ y: e.y - 28 / m(P),
1985
1985
  "text-anchor": "middle",
1986
- "font-size": 12 / m(N)
1987
- }, i(U(e)), 9, cr)])) : d("", !0)
1988
- ], 42, rr))), 128)),
1986
+ "font-size": 12 / m(P)
1987
+ }, i(U(e)), 9, sr)])) : d("", !0)
1988
+ ], 42, nr))), 128)),
1989
1989
  (r(!0), _(y, null, n(m(Be), (e) => (r(), _("g", {
1990
1990
  key: e.key,
1991
1991
  class: "flight-camera",
1992
- onPointerenter: (t) => oe.value = e.key,
1993
- onPointerleave: o[0] ||= (e) => oe.value = null
1992
+ onPointerenter: (t) => se.value = e.key,
1993
+ onPointerleave: o[0] ||= (e) => se.value = null
1994
1994
  }, [
1995
1995
  b("circle", {
1996
1996
  cx: e.x,
1997
1997
  cy: e.y,
1998
- r: 11 / m(N),
1998
+ r: 11 / m(P),
1999
1999
  class: "flight-camera-body",
2000
- "stroke-width": 1.5 / m(N)
2001
- }, null, 8, ur),
2000
+ "stroke-width": 1.5 / m(P)
2001
+ }, null, 8, lr),
2002
2002
  b("circle", {
2003
2003
  cx: e.x,
2004
2004
  cy: e.y,
2005
- r: 3.5 / m(N),
2005
+ r: 3.5 / m(P),
2006
2006
  class: "flight-camera-lens"
2007
- }, null, 8, dr),
2008
- m(oe) === e.key ? (r(), _("g", fr, [b("rect", {
2007
+ }, null, 8, ur),
2008
+ m(se) === e.key ? (r(), _("g", dr, [b("rect", {
2009
2009
  x: e.x - it(e.label) / 2,
2010
- y: e.y - 42 / m(N),
2010
+ y: e.y - 42 / m(P),
2011
2011
  width: it(e.label),
2012
- height: 20 / m(N),
2013
- rx: 10 / m(N)
2014
- }, null, 8, pr), b("text", {
2012
+ height: 20 / m(P),
2013
+ rx: 10 / m(P)
2014
+ }, null, 8, fr), b("text", {
2015
2015
  x: e.x,
2016
- y: e.y - 28 / m(N),
2016
+ y: e.y - 28 / m(P),
2017
2017
  "text-anchor": "middle",
2018
- "font-size": 12 / m(N)
2019
- }, i(e.label), 9, mr)])) : d("", !0)
2020
- ], 40, lr))), 128)),
2018
+ "font-size": 12 / m(P)
2019
+ }, i(e.label), 9, pr)])) : d("", !0)
2020
+ ], 40, cr))), 128)),
2021
2021
  (r(!0), _(y, null, n(m(Ve), (e) => (r(), _("g", {
2022
2022
  key: e.key,
2023
- class: s({ nopan: !m(P) }),
2023
+ class: s({ nopan: !m(F) }),
2024
2024
  onPointerdown: (t) => et(t, e)
2025
2025
  }, [
2026
2026
  b("circle", {
2027
2027
  cx: e.x,
2028
2028
  cy: e.y,
2029
- r: 12 / m(N),
2029
+ r: 12 / m(P),
2030
2030
  class: s([e.connectionId ? "connection-badge" : "connection-ghost", { "connection-selected": e.connectionId && J("connection", e.connectionId) }]),
2031
- "stroke-width": (e.connectionId ? 2 : 1.5) / m(N)
2032
- }, null, 10, gr),
2031
+ "stroke-width": (e.connectionId ? 2 : 1.5) / m(P)
2032
+ }, null, 10, hr),
2033
2033
  b("path", {
2034
2034
  d: at(e.x, e.y),
2035
2035
  class: "badge-glyph",
2036
- "stroke-width": 1.5 / m(N),
2036
+ "stroke-width": 1.5 / m(P),
2037
2037
  fill: "none",
2038
2038
  "stroke-linejoin": "round"
2039
- }, null, 8, _r),
2039
+ }, null, 8, gr),
2040
2040
  e.direction ? (r(), _("text", {
2041
2041
  key: 0,
2042
- x: e.x + 13 / m(N),
2043
- y: e.y - 7 / m(N),
2042
+ x: e.x + 13 / m(P),
2043
+ y: e.y - 7 / m(P),
2044
2044
  class: "badge-direction",
2045
- "font-size": 12 / m(N)
2046
- }, i(e.direction), 9, vr)) : d("", !0),
2047
- m(Se) ? (r(), _("g", yr, [b("rect", {
2048
- x: m(Se).x - m(Se).width / 2,
2049
- y: m(Se).y,
2050
- width: m(Se).width,
2051
- height: 20 / m(N),
2052
- rx: 10 / m(N)
2053
- }, null, 8, br), b("text", {
2054
- x: m(Se).x,
2055
- y: m(Se).y + 14 / m(N),
2045
+ "font-size": 12 / m(P)
2046
+ }, i(e.direction), 9, _r)) : d("", !0),
2047
+ m(N) ? (r(), _("g", vr, [b("rect", {
2048
+ x: m(N).x - m(N).width / 2,
2049
+ y: m(N).y,
2050
+ width: m(N).width,
2051
+ height: 20 / m(P),
2052
+ rx: 10 / m(P)
2053
+ }, null, 8, yr), b("text", {
2054
+ x: m(N).x,
2055
+ y: m(N).y + 14 / m(P),
2056
2056
  "text-anchor": "middle",
2057
- "font-size": 12 / m(N)
2058
- }, i(m(Se).text), 9, xr)])) : d("", !0)
2059
- ], 42, hr))), 128)),
2057
+ "font-size": 12 / m(P)
2058
+ }, i(m(N).text), 9, br)])) : d("", !0)
2059
+ ], 42, mr))), 128)),
2060
2060
  m(O).x === null ? d("", !0) : (r(), _("path", {
2061
2061
  key: 1,
2062
2062
  d: `M ${m(O).x} ${m(We).top} L ${m(O).x} ${m(We).bottom}`,
2063
2063
  class: "guide",
2064
- "stroke-width": 1 / m(N)
2065
- }, null, 8, Sr)),
2064
+ "stroke-width": 1 / m(P)
2065
+ }, null, 8, xr)),
2066
2066
  m(O).y === null ? d("", !0) : (r(), _("path", {
2067
2067
  key: 2,
2068
2068
  d: `M ${m(We).left} ${m(O).y} L ${m(We).right} ${m(O).y}`,
2069
2069
  class: "guide",
2070
- "stroke-width": 1 / m(N)
2071
- }, null, 8, Cr)),
2072
- m(ke) && !m(P) ? (r(), _("rect", {
2070
+ "stroke-width": 1 / m(P)
2071
+ }, null, 8, Sr)),
2072
+ m(Oe) && !m(F) ? (r(), _("rect", {
2073
2073
  key: 3,
2074
- x: m(ke).x + m(ke).width - 7 / m(N),
2075
- y: m(ke).y + m(ke).height - 7 / m(N),
2076
- width: 14 / m(N),
2077
- height: 14 / m(N),
2078
- rx: 3 / m(N),
2074
+ x: m(Oe).x + m(Oe).width - 7 / m(P),
2075
+ y: m(Oe).y + m(Oe).height - 7 / m(P),
2076
+ width: 14 / m(P),
2077
+ height: 14 / m(P),
2078
+ rx: 3 / m(P),
2079
2079
  class: "handle nopan",
2080
- "stroke-width": 1.5 / m(N),
2081
- onPointerdown: o[1] ||= (e) => Ct(e, m(ke))
2082
- }, null, 40, wr)) : d("", !0),
2083
- m(L) && !m(P) ? (r(), _("circle", {
2080
+ "stroke-width": 1.5 / m(P),
2081
+ onPointerdown: o[1] ||= (e) => Ct(e, m(Oe))
2082
+ }, null, 40, Cr)) : d("", !0),
2083
+ m(R) && !m(F) ? (r(), _("circle", {
2084
2084
  key: 4,
2085
- cx: m(L).x + Math.cos(ct(m(L).rotation)) * m(L).range,
2086
- cy: m(L).y + Math.sin(ct(m(L).rotation)) * m(L).range,
2087
- r: 9 / m(N),
2085
+ cx: m(R).x + Math.cos(ct(m(R).rotation)) * m(R).range,
2086
+ cy: m(R).y + Math.sin(ct(m(R).rotation)) * m(R).range,
2087
+ r: 9 / m(P),
2088
2088
  class: "handle nopan",
2089
- "stroke-width": 1.5 / m(N),
2090
- onPointerdown: o[2] ||= (e) => Tt(e, m(L))
2091
- }, null, 40, Tr)) : d("", !0)
2092
- ], 8, Fn)], 4))]),
2089
+ "stroke-width": 1.5 / m(P),
2090
+ onPointerdown: o[2] ||= (e) => Tt(e, m(R))
2091
+ }, null, 40, wr)) : d("", !0)
2092
+ ], 8, Pn)], 4))]),
2093
2093
  default: g(() => [T(m(V), {
2094
2094
  gap: m(16),
2095
2095
  size: m(1),
@@ -2100,15 +2100,15 @@ var Cn = l({
2100
2100
  x((r(), _("div", {
2101
2101
  ref_key: "compassRef",
2102
2102
  ref: ie,
2103
- class: s(["floorplan-compass absolute top-3 right-3", { "cursor-grab active:cursor-grabbing": !m(P) }]),
2103
+ class: s(["floorplan-compass absolute top-3 right-3", { "cursor-grab active:cursor-grabbing": !m(F) }]),
2104
2104
  onPointerdown: e(Ot, ["stop"])
2105
- }, [(r(), _("svg", Er, [o[17] ||= b("circle", {
2105
+ }, [(r(), _("svg", Tr, [o[17] ||= b("circle", {
2106
2106
  cx: "23",
2107
2107
  cy: "23",
2108
2108
  r: "21",
2109
2109
  class: "compass-ring",
2110
2110
  "stroke-width": "1"
2111
- }, null, -1), b("g", { transform: `rotate(${m(Te)} 23 23)` }, [...o[16] ||= [b("path", {
2111
+ }, null, -1), b("g", { transform: `rotate(${m(we)} 23 23)` }, [...o[16] ||= [b("path", {
2112
2112
  d: "M 23 6 L 27 23 L 23 19 L 19 23 Z",
2113
2113
  class: "compass-needle"
2114
2114
  }, null, -1), b("text", {
@@ -2117,9 +2117,9 @@ var Cn = l({
2117
2117
  "text-anchor": "middle",
2118
2118
  class: "compass-label",
2119
2119
  "font-size": "9"
2120
- }, "N", -1)]], 8, Dr)]))], 34)), [[
2120
+ }, "N", -1)]], 8, Er)]))], 34)), [[
2121
2121
  w,
2122
- { value: m(P) ? t.$t("views.floorplan.north_reading", { value: m(Te) }) : t.$t("views.floorplan.north_hint") },
2122
+ { value: m(F) ? t.$t("views.floorplan.north_reading", { value: m(we) }) : t.$t("views.floorplan.north_hint") },
2123
2123
  void 0,
2124
2124
  { left: !0 }
2125
2125
  ]]),
@@ -2129,12 +2129,12 @@ var Cn = l({
2129
2129
  bottom: `${12 + (a.bottomInset ?? 0)}px`,
2130
2130
  transition: a.bottomInsetDragging ? "none" : "bottom 0.2s ease-in-out"
2131
2131
  })
2132
- }, [b("div", Or, [
2132
+ }, [b("div", Dr, [
2133
2133
  x((r(), _("button", {
2134
2134
  type: "button",
2135
2135
  class: "control-button",
2136
2136
  onPointerdown: o[4] ||= e(() => {}, ["stop"]),
2137
- onClick: o[5] ||= e((e) => m(ge)(), ["stop"])
2137
+ onClick: o[5] ||= e((e) => m(M)(), ["stop"])
2138
2138
  }, [T(l, { class: "w-4 h-4" })], 32)), [[
2139
2139
  w,
2140
2140
  { value: t.$t("views.floorplan.zoom_in") },
@@ -2145,7 +2145,7 @@ var Cn = l({
2145
2145
  type: "button",
2146
2146
  class: "control-button",
2147
2147
  onPointerdown: o[6] ||= e(() => {}, ["stop"]),
2148
- onClick: o[7] ||= e((e) => m(M)(), ["stop"])
2148
+ onClick: o[7] ||= e((e) => m(ge)(), ["stop"])
2149
2149
  }, [T(f, { class: "w-4 h-4" })], 32)), [[
2150
2150
  w,
2151
2151
  { value: t.$t("views.floorplan.zoom_out") },
@@ -2191,66 +2191,66 @@ var Cn = l({
2191
2191
  void 0,
2192
2192
  { right: !0 }
2193
2193
  ]])
2194
- ]), b("div", kr, [(r(), _("svg", {
2195
- width: m(Me).width,
2194
+ ]), b("div", Or, [(r(), _("svg", {
2195
+ width: m(je).width,
2196
2196
  height: "10",
2197
2197
  class: "shrink-0"
2198
2198
  }, [b("path", {
2199
- d: `M 1 1 L 1 9 M 1 5 L ${m(Me).width - 1} 5 M ${m(Me).width - 1} 1 L ${m(Me).width - 1} 9`,
2199
+ d: `M 1 1 L 1 9 M 1 5 L ${m(je).width - 1} 5 M ${m(je).width - 1} 1 L ${m(je).width - 1} 9`,
2200
2200
  class: "scale-line",
2201
2201
  "stroke-width": "1"
2202
- }, null, 8, jr)], 8, Ar)), b("span", Mr, i(m(Me).label), 1)])], 4)
2202
+ }, null, 8, Ar)], 8, kr)), b("span", jr, i(m(je).label), 1)])], 4)
2203
2203
  ], 34);
2204
2204
  };
2205
2205
  }
2206
- }), [["__scopeId", "data-v-27e461bb"]]), Fr = {
2206
+ }), [["__scopeId", "data-v-27e461bb"]]), Pr = {
2207
2207
  viewBox: "0 0 24 24",
2208
2208
  width: "1.2em",
2209
2209
  height: "1.2em"
2210
2210
  };
2211
- function Ir(e, t) {
2212
- return r(), _("svg", Fr, [...t[0] ||= [b("path", {
2211
+ function Fr(e, t) {
2212
+ return r(), _("svg", Pr, [...t[0] ||= [b("path", {
2213
2213
  fill: "currentColor",
2214
2214
  d: "M13 19c0-.3 0-.7.1-1H8v-2H6V8h2V6h8v2h2v5.1c.3-.1.7-.1 1-.1s.7 0 1 .1V8h2V2h-6v2H8V2H2v6h2v8H2v6h6v-2h5.1c-.1-.3-.1-.7-.1-1m5-15h2v2h-2zM4 4h2v2H4zm2 16H4v-2h2zm14-5v3h3v2h-3v3h-2v-3h-3v-2h3v-3z"
2215
2215
  }, null, -1)]]);
2216
2216
  }
2217
- var Lr = l({
2217
+ var Ir = l({
2218
2218
  name: "mdi-vector-square-plus",
2219
- render: Ir
2220
- }), Rr = {
2219
+ render: Fr
2220
+ }), Lr = {
2221
2221
  key: 0,
2222
2222
  class: "text-xs font-semibold text-muted uppercase tracking-wider mb-3"
2223
- }, zr = { class: "mb-4" }, Br = { class: "text-xs font-medium text-muted mb-2" }, Vr = ["draggable"], Hr = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, Ur = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, Wr = { class: "text-[13px] font-medium truncate text-color leading-tight" }, Gr = {
2223
+ }, Rr = { class: "mb-4" }, zr = { class: "text-xs font-medium text-muted mb-2" }, Br = ["draggable"], Vr = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, Hr = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, Ur = { class: "text-[13px] font-medium truncate text-color leading-tight" }, Wr = {
2224
2224
  key: 0,
2225
2225
  class: "flex flex-col gap-1.5 mt-1.5"
2226
- }, Kr = [
2226
+ }, Gr = [
2227
2227
  "draggable",
2228
2228
  "onDragstart",
2229
2229
  "onClick"
2230
- ], qr = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, Jr = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, Yr = { class: "text-[13px] font-medium truncate text-color leading-tight" }, Xr = { class: "mb-4" }, Zr = { class: "text-xs font-medium text-muted mb-2" }, Qr = {
2230
+ ], Kr = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, qr = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, Jr = { class: "text-[13px] font-medium truncate text-color leading-tight" }, Yr = { class: "mb-4" }, Xr = { class: "text-xs font-medium text-muted mb-2" }, Zr = {
2231
2231
  key: 0,
2232
2232
  class: "text-xs text-muted px-1"
2233
- }, $r = {
2233
+ }, Qr = {
2234
2234
  key: 1,
2235
2235
  class: "flex flex-col gap-1.5"
2236
- }, ei = [
2236
+ }, $r = [
2237
2237
  "draggable",
2238
2238
  "onDragstart",
2239
2239
  "onClick"
2240
- ], ti = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, ni = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, ri = { class: "text-[13px] font-medium truncate text-color leading-tight" }, ii = { class: "text-xs font-medium text-muted mb-2" }, ai = {
2240
+ ], ei = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, ti = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, ni = { class: "text-[13px] font-medium truncate text-color leading-tight" }, ri = { class: "text-xs font-medium text-muted mb-2" }, ii = {
2241
2241
  key: 0,
2242
2242
  class: "text-xs text-muted px-1"
2243
- }, oi = {
2243
+ }, ai = {
2244
2244
  key: 1,
2245
2245
  class: "flex flex-col gap-1.5"
2246
- }, si = [
2246
+ }, oi = [
2247
2247
  "draggable",
2248
2248
  "onDragstart",
2249
2249
  "onClick"
2250
- ], ci = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, li = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, ui = { class: "flex flex-col min-w-0" }, di = { class: "text-[13px] font-medium truncate text-color leading-tight" }, fi = {
2250
+ ], si = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, ci = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, li = { class: "flex flex-col min-w-0" }, ui = { class: "text-[13px] font-medium truncate text-color leading-tight" }, di = {
2251
2251
  key: 0,
2252
2252
  class: "text-[11px] text-muted truncate leading-tight"
2253
- }, pi = /*#__PURE__*/ A(/* @__PURE__ */ C({
2253
+ }, fi = /*#__PURE__*/ ae(/* @__PURE__ */ C({
2254
2254
  __name: "CuiFloorplanPalette",
2255
2255
  props: {
2256
2256
  cameras: {},
@@ -2272,9 +2272,9 @@ var Lr = l({
2272
2272
  })), e.dataTransfer.effectAllowed = "move");
2273
2273
  }
2274
2274
  return (t, a) => {
2275
- let f = ie, p = nt, h = Lr, ee = He, v = D;
2276
- return r(), _("div", { class: s(["overflow-y-auto p-3", e.mode === "drag" ? "h-full" : ""]) }, [
2277
- e.mode === "drag" ? (r(), _("div", Rr, i(t.$t("views.floorplan.palette")), 1)) : d("", !0),
2275
+ let f = ie, p = nt, h = Ir, ee = He, v = D;
2276
+ return r(), _("div", { class: s(["overflow-y-auto p-3", e.mode === "drag" ? "h-full pb-[var(--cui-bottom-gap)]" : "pb-0"]) }, [
2277
+ e.mode === "drag" ? (r(), _("div", Lr, i(t.$t("views.floorplan.palette")), 1)) : d("", !0),
2278
2278
  e.disabled ? (r(), u(f, {
2279
2279
  key: 1,
2280
2280
  severity: "secondary",
@@ -2285,15 +2285,15 @@ var Lr = l({
2285
2285
  default: g(() => [S(i(t.$t("views.floorplan.needs_level")), 1)]),
2286
2286
  _: 1
2287
2287
  })) : d("", !0),
2288
- b("div", zr, [
2289
- b("div", Br, i(t.$t("views.floorplan.section_room")), 1),
2288
+ b("div", Rr, [
2289
+ b("div", zr, i(t.$t("views.floorplan.section_room")), 1),
2290
2290
  b("div", {
2291
2291
  class: s(["floorplan-palette-item", [e.mode === "drag" ? "cursor-grab active:cursor-grabbing" : "cursor-pointer", { "palette-disabled": e.disabled }]]),
2292
2292
  draggable: e.mode === "drag" && !e.disabled,
2293
2293
  onDragstart: a[0] ||= (e) => l(e, "room"),
2294
2294
  onClick: a[1] ||= (t) => !e.disabled && o("pick", { kind: "room" })
2295
- }, [b("div", Hr, [b("div", Ur, [T(p, { class: "w-4 h-4" })]), b("span", Wr, i(t.$t("views.floorplan.new_room")), 1)])], 42, Vr),
2296
- e.rooms.length ? (r(), _("div", Gr, [(r(!0), _(y, null, n(e.rooms, (n) => x((r(), _("div", {
2295
+ }, [b("div", Vr, [b("div", Hr, [T(p, { class: "w-4 h-4" })]), b("span", Ur, i(t.$t("views.floorplan.new_room")), 1)])], 42, Br),
2296
+ e.rooms.length ? (r(), _("div", Wr, [(r(!0), _(y, null, n(e.rooms, (n) => x((r(), _("div", {
2297
2297
  key: n.id,
2298
2298
  class: s(["floorplan-palette-item", [e.mode === "drag" ? "cursor-grab active:cursor-grabbing" : "cursor-pointer", { "palette-disabled": e.disabled }]]),
2299
2299
  draggable: e.mode === "drag" && !e.disabled,
@@ -2302,14 +2302,14 @@ var Lr = l({
2302
2302
  kind: "room",
2303
2303
  roomId: n.id
2304
2304
  })
2305
- }, [b("div", qr, [b("div", Jr, [T(h, { class: "w-4 h-4" })]), b("span", Yr, i(n.name), 1)])], 42, Kr)), [[
2305
+ }, [b("div", Kr, [b("div", qr, [T(h, { class: "w-4 h-4" })]), b("span", Jr, i(n.name), 1)])], 42, Gr)), [[
2306
2306
  v,
2307
2307
  { value: t.$t("views.floorplan.room_not_drawn") },
2308
2308
  void 0,
2309
2309
  { right: !0 }
2310
2310
  ]])), 128))])) : d("", !0)
2311
2311
  ]),
2312
- b("div", Xr, [b("div", Zr, i(t.$t("views.floorplan.section_cameras")), 1), e.cameras.length ? (r(), _("div", $r, [(r(!0), _(y, null, n(e.cameras, (t) => (r(), _("div", {
2312
+ b("div", Yr, [b("div", Xr, i(t.$t("views.floorplan.section_cameras")), 1), e.cameras.length ? (r(), _("div", Qr, [(r(!0), _(y, null, n(e.cameras, (t) => (r(), _("div", {
2313
2313
  key: t.id,
2314
2314
  class: s(["floorplan-palette-item", [e.mode === "drag" ? "cursor-grab active:cursor-grabbing" : "cursor-pointer", { "palette-disabled": e.disabled }]]),
2315
2315
  draggable: e.mode === "drag" && !e.disabled,
@@ -2318,8 +2318,8 @@ var Lr = l({
2318
2318
  kind: "camera",
2319
2319
  cameraId: t.id
2320
2320
  })
2321
- }, [b("div", ti, [b("div", ni, [T(ee, { class: "w-4 h-4" })]), b("span", ri, i(t.name), 1)])], 42, ei))), 128))])) : (r(), _("span", Qr, i(t.$t("views.floorplan.all_cameras_placed")), 1))]),
2322
- b("div", null, [b("div", ii, i(t.$t("views.floorplan.section_sensors")), 1), e.sensors.length ? (r(), _("div", oi, [(r(!0), _(y, null, n(e.sensors, (t) => (r(), _("div", {
2321
+ }, [b("div", ei, [b("div", ti, [T(ee, { class: "w-4 h-4" })]), b("span", ni, i(t.name), 1)])], 42, $r))), 128))])) : (r(), _("span", Zr, i(t.$t("views.floorplan.all_cameras_placed")), 1))]),
2322
+ b("div", null, [b("div", ri, i(t.$t("views.floorplan.section_sensors")), 1), e.sensors.length ? (r(), _("div", ai, [(r(!0), _(y, null, n(e.sensors, (t) => (r(), _("div", {
2323
2323
  key: t.id,
2324
2324
  class: s(["floorplan-palette-item", [e.mode === "drag" ? "cursor-grab active:cursor-grabbing" : "cursor-pointer", { "palette-disabled": e.disabled }]]),
2325
2325
  draggable: e.mode === "drag" && !e.disabled,
@@ -2329,60 +2329,60 @@ var Lr = l({
2329
2329
  sensorId: t.id,
2330
2330
  sensorType: t.sensorType
2331
2331
  })
2332
- }, [b("div", ci, [b("div", li, [(r(), u(c(m(me)(t.sensorType, void 0)), { class: "w-4 h-4" }))]), b("div", ui, [b("span", di, i(t.name), 1), t.subtitle ? (r(), _("span", fi, i(t.subtitle), 1)) : d("", !0)])])], 42, si))), 128))])) : (r(), _("span", ai, i(t.$t("views.floorplan.all_sensors_placed")), 1))])
2332
+ }, [b("div", si, [b("div", ci, [(r(), u(c(m(he)(t.sensorType, void 0)), { class: "w-4 h-4" }))]), b("div", li, [b("span", ui, i(t.name), 1), t.subtitle ? (r(), _("span", di, i(t.subtitle), 1)) : d("", !0)])])], 42, oi))), 128))])) : (r(), _("span", ii, i(t.$t("views.floorplan.all_sensors_placed")), 1))])
2333
2333
  ], 2);
2334
2334
  };
2335
2335
  }
2336
- }), [["__scopeId", "data-v-531420ee"]]), mi = {
2336
+ }), [["__scopeId", "data-v-bc16fdc2"]]), pi = {
2337
2337
  viewBox: "0 0 24 24",
2338
2338
  width: "1.2em",
2339
2339
  height: "1.2em"
2340
2340
  };
2341
- function hi(e, t) {
2342
- return r(), _("svg", mi, [...t[0] ||= [b("path", {
2341
+ function mi(e, t) {
2342
+ return r(), _("svg", pi, [...t[0] ||= [b("path", {
2343
2343
  fill: "currentColor",
2344
2344
  d: "m12 18.54l7.37-5.74L21 14.07l-9 7l-9-7l1.62-1.26zM12 16L3 9l9-7l9 7zm0-11.47L6.26 9L12 13.47L17.74 9z"
2345
2345
  }, null, -1)]]);
2346
2346
  }
2347
- var gi = l({
2347
+ var hi = l({
2348
2348
  name: "mdi-layers-outline",
2349
- render: hi
2350
- }), _i = {
2349
+ render: mi
2350
+ }), gi = {
2351
2351
  viewBox: "0 0 24 24",
2352
2352
  width: "1.2em",
2353
2353
  height: "1.2em"
2354
2354
  };
2355
- function vi(e, t) {
2356
- return r(), _("svg", _i, [...t[0] ||= [b("path", {
2355
+ function _i(e, t) {
2356
+ return r(), _("svg", gi, [...t[0] ||= [b("path", {
2357
2357
  fill: "currentColor",
2358
2358
  d: "M15 5v4h-4v4H7v4H3v3h7v-4h4v-4h4V8h4V5z"
2359
2359
  }, null, -1)]]);
2360
2360
  }
2361
- var yi = l({
2361
+ var vi = l({
2362
2362
  name: "mdi-stairs",
2363
- render: vi
2363
+ render: _i
2364
2364
  });
2365
2365
  //#endregion
2366
2366
  //#region src/api/routes/floorplan.ts
2367
- async function bi({ signal: e } = {}) {
2368
- return (await F.get("/floorplan", { signal: e })).data;
2367
+ async function yi({ signal: e } = {}) {
2368
+ return (await ge.get("/floorplan", { signal: e })).data;
2369
2369
  }
2370
- async function xi(e) {
2371
- return (await F.put("/floorplan", e)).data;
2370
+ async function bi(e) {
2371
+ return (await ge.put("/floorplan", e)).data;
2372
2372
  }
2373
2373
  //#endregion
2374
2374
  //#region src/components/CuiDialog/templates/FloorplanLevel/FloorplanLevel.vue?vue&type=script&setup=true&lang.ts
2375
- var Si = { class: "flex flex-col gap-2 w-full" }, Ci = {
2375
+ var xi = { class: "flex flex-col gap-2 w-full" }, Si = {
2376
2376
  for: "floorplanLevelName",
2377
2377
  class: "cui-label"
2378
- }, wi = /* @__PURE__ */ C({
2378
+ }, Ci = /* @__PURE__ */ C({
2379
2379
  __name: "FloorplanLevel",
2380
2380
  props: { name: { default: "" } },
2381
2381
  setup(e, { expose: t }) {
2382
2382
  let n = w(e.name);
2383
2383
  return t({ onConfirm: async () => n.value.trim() || null }), (e, t) => {
2384
- let a = Me;
2385
- return r(), _("div", Si, [b("label", Ci, i(e.$t("components.form.label.name")), 1), T(a, {
2384
+ let a = je;
2385
+ return r(), _("div", xi, [b("label", Si, i(e.$t("components.form.label.name")), 1), T(a, {
2386
2386
  id: "floorplanLevelName",
2387
2387
  modelValue: m(n),
2388
2388
  "onUpdate:modelValue": t[0] ||= (e) => p(n) ? n.value = e : null,
@@ -2392,64 +2392,64 @@ var Si = { class: "flex flex-col gap-2 w-full" }, Ci = {
2392
2392
  }, null, 8, ["modelValue", "placeholder"])]);
2393
2393
  };
2394
2394
  }
2395
- }), Ti = E({ plan: null }), Ei = null, Di = null, Oi = /* @__PURE__ */ new Set();
2396
- function ki() {
2397
- Di || (Ei = f(!0), Ei.run(() => {
2398
- let e = N("/camera.ui");
2399
- Di = e, e.on("floorplan-changed", (e) => {
2400
- Ti.plan = e;
2401
- for (let t of Oi) try {
2395
+ }), wi = E({ plan: null }), Ti = null, Ei = null, Di = /* @__PURE__ */ new Set();
2396
+ function Oi() {
2397
+ Ei || (Ti = f(!0), Ti.run(() => {
2398
+ let e = be("/camera.ui");
2399
+ Ei = e, e.on("floorplan-changed", (e) => {
2400
+ wi.plan = e;
2401
+ for (let t of Di) try {
2402
2402
  t(e);
2403
2403
  } catch {}
2404
2404
  });
2405
2405
  }));
2406
2406
  }
2407
- function Ai() {
2407
+ function ki() {
2408
2408
  function e() {
2409
- ki();
2409
+ Oi();
2410
2410
  }
2411
2411
  function t(e) {
2412
- return Oi.add(e), () => Oi.delete(e);
2412
+ return Di.add(e), () => Di.delete(e);
2413
2413
  }
2414
2414
  return {
2415
- plan: h(() => Ti.plan),
2415
+ plan: h(() => wi.plan),
2416
2416
  connect: e,
2417
2417
  onPlan: t
2418
2418
  };
2419
2419
  }
2420
2420
  //#endregion
2421
2421
  //#region src/views/Floorplan.vue?vue&type=script&setup=true&lang.ts
2422
- var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi = { class: "flex items-center gap-2 px-3 py-2 border-bottom-color card-background min-h-[48px]" }, Ni = {
2422
+ var Ai = { class: "h-full w-full relative overflow-hidden flex flex-col" }, ji = { class: "flex items-center gap-2 px-3 py-2 border-bottom-color card-background min-h-[48px]" }, Mi = {
2423
2423
  key: 0,
2424
2424
  class: "flex-1 flex items-center justify-center"
2425
- }, Pi = {
2425
+ }, Ni = {
2426
2426
  key: 1,
2427
2427
  class: "flex flex-1 min-h-0"
2428
- }, Fi = { class: "relative w-6 h-6" }, Ii = { class: "flex items-center gap-2.5" }, Li = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, Ri = { class: "flex-1 min-w-0" }, zi = { class: "text-sm font-semibold truncate text-color" }, Bi = {
2428
+ }, Pi = { class: "relative w-6 h-6" }, Fi = { class: "flex items-center gap-2.5" }, Ii = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, Li = { class: "flex-1 min-w-0" }, Ri = { class: "text-sm font-semibold truncate text-color" }, zi = {
2429
2429
  key: 0,
2430
2430
  class: "text-[11px] text-muted truncate"
2431
- }, Vi = { class: "text-xs text-muted truncate" }, Hi = {
2431
+ }, Bi = { class: "text-xs text-muted truncate" }, Vi = {
2432
2432
  key: 0,
2433
2433
  class: "text-xs text-muted"
2434
- }, Ui = {
2434
+ }, Hi = {
2435
2435
  key: 1,
2436
2436
  class: "flex flex-col gap-1"
2437
- }, Wi = { class: "flex items-center justify-center" }, Gi = {
2437
+ }, Ui = { class: "flex items-center justify-center" }, Wi = {
2438
2438
  key: 0,
2439
2439
  class: "flex items-center gap-2 pl-3 pr-2 py-1.5"
2440
- }, Ki = { class: "flex-1 min-w-0 text-sm font-semibold truncate text-color" }, qi = 50, Ji = 92, Yi = /*#__PURE__*/ A(/* @__PURE__ */ C({
2440
+ }, Gi = { class: "flex-1 min-w-0 text-sm font-semibold truncate text-color" }, Ki = 50, qi = 92, Ji = /*#__PURE__*/ ae(/* @__PURE__ */ C({
2441
2441
  __name: "Floorplan",
2442
2442
  setup(e) {
2443
- let { t: f } = ke(), { smBreakpoint: S } = fe(), { bottombarHeight: C } = pe(), E = be(), ie = I(), ce = M(), de = Ai(), A = new ue(), { sensors: he } = je(), { data: ve } = A.getCamerasQuery({
2443
+ let { t: f } = Oe(), { smBreakpoint: S } = A(), { bottombarHeight: C } = de(), E = I(), ie = ce(), ae = pe(), oe = ki(), ue = new xe(), { sensors: fe } = Ae(), { data: ge } = ue.getCamerasQuery({
2444
2444
  page: 1,
2445
2445
  pageSize: -1
2446
- }), xe = w(), Ce = w(), N = w(null), F = w(null), De = w({
2446
+ }), _e = w(), ye = w(), be = w(null), we = w(null), Te = w({
2447
2447
  x: 0,
2448
2448
  y: 0
2449
- }), Me = w(null), Ne = w({
2449
+ }), je = w(null), Me = w({
2450
2450
  x: 0,
2451
2451
  y: 0
2452
- }), R = w(), Fe = w(null), Ie = w({
2452
+ }), Ne = w(), Fe = w(null), Ie = w({
2453
2453
  x: 0,
2454
2454
  y: 0
2455
2455
  }), Le = w(), Re = w(null), Be = w(null), He = w({
@@ -2459,22 +2459,22 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2459
2459
  rooms: []
2460
2460
  }), z = w([]), B = w([]), V = w([]), H = w([]), U = w([]), W = w(""), tt = w(null), G = w(null), nt = w(!1), rt = w(!0), it = w(!1), at = w(""), ot = te("sheetRef"), st = w(0), K = w(0), ct = w(!1), q = ne([]), lt = ne([]), J = [
2461
2461
  {
2462
- value: L.Disarmed,
2462
+ value: R.Disarmed,
2463
2463
  labelKey: "views.floorplan.security_disarmed"
2464
2464
  },
2465
2465
  {
2466
- value: L.StayArm,
2466
+ value: R.StayArm,
2467
2467
  labelKey: "views.floorplan.security_stay"
2468
2468
  },
2469
2469
  {
2470
- value: L.AwayArm,
2470
+ value: R.AwayArm,
2471
2471
  labelKey: "views.floorplan.security_away"
2472
2472
  },
2473
2473
  {
2474
- value: L.NightArm,
2474
+ value: R.NightArm,
2475
2475
  labelKey: "views.floorplan.security_night"
2476
2476
  }
2477
- ], ut = 0, dt = !1, mt, ht, gt, Y = _e(void 0, "admin"), _t = h(() => Math.max(st.value - Ji, 0)), vt = h(() => q.value.length > 0), yt = h(() => lt.value.length > 0), X = h(() => (ve.value?.result ?? []).find((e) => e._id === Be.value)), bt = h(() => z.value.find((e) => e.id === W.value)), Z = h(() => Ft() !== at.value), xt = h(() => new Map((ve.value?.result ?? []).map((e) => [e._id, e.name]))), St = h(() => he.value.filter((e) => Se.has(String(e.type)))), Ct = h(() => new Map(St.value.map((e) => [e.id, {
2477
+ ], ut = 0, dt = !1, mt, ht, gt, Y = L(void 0, "admin"), _t = h(() => Math.max(st.value - qi, 0)), vt = h(() => q.value.length > 0), yt = h(() => lt.value.length > 0), X = h(() => (ge.value?.result ?? []).find((e) => e._id === Be.value)), bt = h(() => z.value.find((e) => e.id === W.value)), Z = h(() => Ft() !== at.value), xt = h(() => new Map((ge.value?.result ?? []).map((e) => [e._id, e.name]))), St = h(() => fe.value.filter((e) => ve.has(String(e.type)))), Ct = h(() => new Map(St.value.map((e) => [e.id, {
2478
2478
  name: Nt(e),
2479
2479
  owner: Pt(e)
2480
2480
  }]))), wt = h(() => {
@@ -2493,14 +2493,14 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2493
2493
  }));
2494
2494
  }), Et = h(() => {
2495
2495
  let e = new Set(H.value.map((e) => e.id));
2496
- return (ve.value?.result ?? []).filter((t) => !e.has(t._id)).map((e) => ({
2496
+ return (ge.value?.result ?? []).filter((t) => !e.has(t._id)).map((e) => ({
2497
2497
  id: e._id,
2498
2498
  name: e.name
2499
2499
  }));
2500
2500
  }), Dt = h(() => S.value || !G.value ? void 0 : "calc(300px + 1.25rem + var(--safe-area-inset-right))"), Ot = h(() => z.value.findIndex((e) => e.id === W.value)), kt = h(() => [...z.value].reverse().map((e) => ({
2501
2501
  key: e.id,
2502
2502
  label: e.name,
2503
- icon: l(gi),
2503
+ icon: l(hi),
2504
2504
  active: e.id === W.value,
2505
2505
  onClick: () => W.value = e.id
2506
2506
  }))), At = h(() => [
@@ -2529,14 +2529,14 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2529
2529
  command: In
2530
2530
  }
2531
2531
  ]), jt = h(() => {
2532
- let e = B.value.find((e) => e.roomId === N.value);
2532
+ let e = B.value.find((e) => e.roomId === be.value);
2533
2533
  if (!e) return [];
2534
2534
  let t = new Set(V.value.flatMap((e) => [e.fromRoomId, e.toRoomId].join("|"))), n = /* @__PURE__ */ new Set();
2535
2535
  return B.value.filter((r) => r.levelId === e.levelId || n.has(r.roomId) || t.has([e.roomId, r.roomId].join("|")) || t.has([r.roomId, e.roomId].join("|")) ? !1 : (n.add(r.roomId), !0)).map((t) => ({
2536
2536
  key: t.roomId,
2537
2537
  label: t.name,
2538
2538
  description: z.value.find((e) => e.id === t.levelId)?.name,
2539
- icon: l(yi),
2539
+ icon: l(vi),
2540
2540
  onClick: () => mn({
2541
2541
  fromRoomId: e.roomId,
2542
2542
  toRoomId: t.roomId
@@ -2670,7 +2670,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2670
2670
  if (e && t - ut < 600) return;
2671
2671
  ut = t;
2672
2672
  let n = [...q.value, Ft()];
2673
- n.length > qi && n.shift(), q.value = n, lt.value = [];
2673
+ n.length > Ki && n.shift(), q.value = n, lt.value = [];
2674
2674
  }
2675
2675
  function zt() {
2676
2676
  let e = [...q.value], t = e.pop();
@@ -2707,7 +2707,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2707
2707
  if (!n.length || n.some((e) => ft(t, e))) return;
2708
2708
  let r = new Set(B.value.map((e) => e.name.toLowerCase())), i = t.name;
2709
2709
  for (let e = 2; r.has(i.toLowerCase()); e++) i = `${t.name} ${e}`;
2710
- let a = Te();
2710
+ let a = N();
2711
2711
  for (let e of H.value) e.roomId === t.roomId && yn(t, e) && (e.roomId = a);
2712
2712
  Object.assign(t, {
2713
2713
  roomId: a,
@@ -2800,16 +2800,16 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2800
2800
  }
2801
2801
  let $ = h(() => U.value.find((e) => e.id === Re.value));
2802
2802
  function tn(e) {
2803
- return he.value.find((t) => t.id === e);
2803
+ return fe.value.find((t) => t.id === e);
2804
2804
  }
2805
2805
  function nn(e) {
2806
- return Y && !ae.has(e);
2806
+ return Y && !De.has(e);
2807
2807
  }
2808
2808
  async function rn(e) {
2809
- Y && await Oe(tn(e));
2809
+ Y && await me(tn(e));
2810
2810
  }
2811
2811
  async function an(e, t) {
2812
- Y && await j(tn(e), t);
2812
+ Y && await se(tn(e), t);
2813
2813
  }
2814
2814
  function on() {
2815
2815
  clearTimeout(ht);
@@ -2833,11 +2833,11 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2833
2833
  dn();
2834
2834
  return;
2835
2835
  }
2836
- Ne.value = {
2836
+ Me.value = {
2837
2837
  x: e.x,
2838
2838
  y: e.y
2839
2839
  }, Be.value = e.cameraId, mt = setTimeout(() => {
2840
- Me.value && R.value?.show({ currentTarget: Me.value });
2840
+ je.value && Ne.value?.show({ currentTarget: je.value });
2841
2841
  }, 350);
2842
2842
  }
2843
2843
  function un() {
@@ -2845,14 +2845,14 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2845
2845
  }
2846
2846
  function dn() {
2847
2847
  mt = setTimeout(() => {
2848
- R.value?.hide(), Be.value = null;
2848
+ Ne.value?.hide(), Be.value = null;
2849
2849
  }, 200);
2850
2850
  }
2851
2851
  function fn({ roomId: e, event: t }) {
2852
- N.value = e, De.value = {
2852
+ be.value = e, Te.value = {
2853
2853
  x: t.clientX,
2854
2854
  y: t.clientY
2855
- }, o(() => Ce.value?.toggleMenu(t, F.value));
2855
+ }, o(() => ye.value?.toggleMenu(t, we.value));
2856
2856
  }
2857
2857
  function pn({ id: e, patch: t }) {
2858
2858
  Q(!0);
@@ -2862,7 +2862,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2862
2862
  function mn({ fromRoomId: e, toRoomId: t, fromShapeId: n, toShapeId: r }) {
2863
2863
  Q();
2864
2864
  let i = B.value.find((e) => e.id === n) ?? Ut(e)[0], a = B.value.find((e) => e.id === r) ?? Ut(t)[0], o = i && a ? ft(i, a) : null, s = {
2865
- id: Te(),
2865
+ id: N(),
2866
2866
  fromRoomId: e,
2867
2867
  toRoomId: t,
2868
2868
  fromShapeId: i?.id ?? null,
@@ -2891,7 +2891,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2891
2891
  }
2892
2892
  return Math.round(Math.min(Math.max(a + i, i), e.length - i));
2893
2893
  }
2894
- function gn({ id: e, offset: t }) {
2894
+ function _n({ id: e, offset: t }) {
2895
2895
  Q(!0);
2896
2896
  let n = V.value.find((t) => t.id === e);
2897
2897
  n && (n.offset = t);
@@ -2918,8 +2918,8 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2918
2918
  function xn(e, t, n) {
2919
2919
  Q();
2920
2920
  let r = Sn(Math.round(e - 120), Math.round(t - 100), 240, 200), i = n ? He.value.rooms.find((e) => e.id === n) : void 0, a = {
2921
- id: Te(),
2922
- roomId: i?.id ?? Te(),
2921
+ id: N(),
2922
+ roomId: i?.id ?? N(),
2923
2923
  name: i?.name ?? f("views.floorplan.new_room"),
2924
2924
  note: i?.note ?? "",
2925
2925
  publicSpace: i?.publicSpace ?? !1,
@@ -3018,7 +3018,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3018
3018
  nt.value = !1, En(e);
3019
3019
  }
3020
3020
  function On() {
3021
- E.openComponentDialog(wi, {
3021
+ E.openComponentDialog(Ci, {
3022
3022
  data: {
3023
3023
  title: f("views.floorplan.add_level"),
3024
3024
  confirmText: f("components.form.button.add"),
@@ -3028,7 +3028,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3028
3028
  if (!e) return;
3029
3029
  Q();
3030
3030
  let t = {
3031
- id: Te(),
3031
+ id: N(),
3032
3032
  name: e
3033
3033
  };
3034
3034
  z.value.push(t), W.value = t.id, G.value = null;
@@ -3037,7 +3037,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3037
3037
  }
3038
3038
  function kn() {
3039
3039
  let e = bt.value;
3040
- e && E.openComponentDialog(wi, {
3040
+ e && E.openComponentDialog(Ci, {
3041
3041
  data: {
3042
3042
  title: f("views.floorplan.rename_level"),
3043
3043
  confirmText: f("components.form.button.save"),
@@ -3069,7 +3069,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3069
3069
  async function Nn() {
3070
3070
  it.value = !0;
3071
3071
  try {
3072
- Rt(await xi(It()), await $e()), await Pn(), ie.add({
3072
+ Rt(await bi(It()), await $e()), await Pn(), ie.add({
3073
3073
  severity: "success",
3074
3074
  detail: f("views.floorplan.saved"),
3075
3075
  life: 3e3
@@ -3077,7 +3077,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3077
3077
  } catch (e) {
3078
3078
  ie.add({
3079
3079
  severity: "error",
3080
- detail: we(e),
3080
+ detail: Se(e),
3081
3081
  life: 5e3
3082
3082
  });
3083
3083
  } finally {
@@ -3086,9 +3086,9 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3086
3086
  }
3087
3087
  async function Pn() {
3088
3088
  await Promise.all([
3089
- A.queryClient.refetchQueries({ queryKey: ["camerasList"] }),
3090
- A.queryClient.refetchQueries({ queryKey: ["cameras"] }),
3091
- A.queryClient.refetchQueries({
3089
+ ue.queryClient.refetchQueries({ queryKey: ["camerasList"] }),
3090
+ ue.queryClient.refetchQueries({ queryKey: ["cameras"] }),
3091
+ ue.queryClient.refetchQueries({
3092
3092
  queryKey: ["rooms"],
3093
3093
  exact: !0
3094
3094
  })
@@ -3096,12 +3096,12 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3096
3096
  }
3097
3097
  async function Fn() {
3098
3098
  try {
3099
- let [e, t] = await Promise.all([bi(), $e()]);
3099
+ let [e, t] = await Promise.all([yi(), $e()]);
3100
3100
  Rt(e, t);
3101
3101
  } catch (e) {
3102
3102
  ie.add({
3103
3103
  severity: "error",
3104
- detail: we(e),
3104
+ detail: Se(e),
3105
3105
  life: 5e3
3106
3106
  });
3107
3107
  } finally {
@@ -3130,7 +3130,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3130
3130
  }
3131
3131
  (e.key === "Delete" || e.key === "Backspace") && G.value && (e.preventDefault(), bn(G.value));
3132
3132
  }
3133
- let Rn = de.onPlan(async (e) => {
3133
+ let Rn = oe.onPlan(async (e) => {
3134
3134
  Z.value || (Rt(e, await $e()), await Pn());
3135
3135
  });
3136
3136
  function zn(e) {
@@ -3154,21 +3154,21 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3154
3154
  }
3155
3155
  gt = new ResizeObserver(([e]) => st.value = Math.round(e.contentRect.height)), gt.observe(e);
3156
3156
  }), ee(() => G.value && `${G.value.kind}:${G.value.id}`, () => K.value = 0), re(() => {
3157
- de.connect(), window.addEventListener("keydown", Ln), Fn();
3158
- }), ge((e) => !Z.value || dt ? !0 : (E.openTextDialog({
3157
+ oe.connect(), window.addEventListener("keydown", Ln), Fn();
3158
+ }), M((e) => !Z.value || dt ? !0 : (E.openTextDialog({
3159
3159
  data: {
3160
3160
  title: f("views.floorplan.unsaved_title"),
3161
3161
  contentText: f("views.floorplan.unsaved_message"),
3162
3162
  confirmText: f("views.floorplan.discard")
3163
3163
  },
3164
3164
  onConfirm: async () => {
3165
- dt = !0, ce.push(e.fullPath);
3165
+ dt = !0, ae.push(e.fullPath);
3166
3166
  }
3167
3167
  }), !1)), t(() => {
3168
3168
  clearTimeout(mt), clearTimeout(ht), Rn(), gt?.disconnect(), window.removeEventListener("keydown", Ln);
3169
3169
  }), (e, t) => {
3170
- let o = qe, l = Ae, f = P, h = gi, ee = O, te = Je, ne = Pe, w = Ke, E = Ge, re = Ue, ie = se, ae = pi, ce = Pr, ue = _n, de = ze, fe = Ye, pe = Ve, A = ye, he = Ee, j = et, ge = oe, M = D;
3171
- return r(), _("div", ji, [
3170
+ let o = qe, l = ke, f = P, h = hi, ee = O, te = Je, ne = Pe, w = Ke, E = Ge, re = Ue, ie = k, ae = fi, oe = Nr, se = gn, ce = ze, ue = Ye, de = Ve, fe = F, pe = Ce, me = et, A = le, M = D;
3171
+ return r(), _("div", Ai, [
3172
3172
  T(f, { position: "left" }, {
3173
3173
  default: g(() => [T(l, {
3174
3174
  severity: "secondary",
@@ -3181,14 +3181,14 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3181
3181
  })]),
3182
3182
  _: 1
3183
3183
  }),
3184
- b("div", Mi, [
3184
+ b("div", ji, [
3185
3185
  T(l, {
3186
3186
  severity: "secondary",
3187
3187
  text: "",
3188
3188
  class: "cui-button-medium shrink-0",
3189
3189
  label: m(bt)?.name ?? e.$t("views.floorplan.no_levels"),
3190
3190
  disabled: !m(z).length,
3191
- onClick: t[1] ||= (e) => m(xe)?.toggleMenu(e)
3191
+ onClick: t[1] ||= (e) => m(_e)?.toggleMenu(e)
3192
3192
  }, {
3193
3193
  icon: g(() => [T(h)]),
3194
3194
  _: 1
@@ -3295,10 +3295,10 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3295
3295
  ]])
3296
3296
  ], 64)) : d("", !0)
3297
3297
  ]),
3298
- m(rt) ? (r(), _("div", Ni, [T(ie, {
3298
+ m(rt) ? (r(), _("div", Mi, [T(ie, {
3299
3299
  class: "w-[30px] h-[30px] m-0",
3300
3300
  "stroke-width": "5"
3301
- })])) : (r(), _("div", Pi, [
3301
+ })])) : (r(), _("div", Ni, [
3302
3302
  m(Y) && !m(S) ? (r(), u(ae, {
3303
3303
  key: 0,
3304
3304
  cameras: m(Et),
@@ -3313,7 +3313,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3313
3313
  "rooms",
3314
3314
  "disabled"
3315
3315
  ])) : d("", !0),
3316
- T(ce, {
3316
+ T(oe, {
3317
3317
  mobile: m(S),
3318
3318
  "bottom-inset": m(S) && m(G) ? Math.max(m(st) - m(K), 0) : 0,
3319
3319
  "bottom-inset-dragging": m(ct),
@@ -3326,7 +3326,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3326
3326
  selection: m(G),
3327
3327
  "read-only": !m(Y),
3328
3328
  north: m(tt),
3329
- class: "flex-1 min-w-0",
3329
+ class: s(["flex-1 min-w-0", { "mb-[var(--cui-bottom-gap)] h-auto!": !m(S) }]),
3330
3330
  onSelect: t[4] ||= (e) => G.value = e,
3331
3331
  onHistory: t[5] ||= (e) => Q(),
3332
3332
  onCreateConnection: mn,
@@ -3341,7 +3341,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3341
3341
  onMoveSensor: $t,
3342
3342
  onHoverSensor: cn,
3343
3343
  onRotateCamera: Xt,
3344
- onMoveConnection: gn,
3344
+ onMoveConnection: _n,
3345
3345
  onResizeConnection: vn
3346
3346
  }, null, 8, [
3347
3347
  "mobile",
@@ -3355,13 +3355,14 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3355
3355
  "level-id",
3356
3356
  "selection",
3357
3357
  "read-only",
3358
- "north"
3358
+ "north",
3359
+ "class"
3359
3360
  ]),
3360
3361
  m(S) ? d("", !0) : (r(), _("div", {
3361
3362
  key: 1,
3362
3363
  class: "shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out",
3363
3364
  style: v({ width: m(G) ? "300px" : "0px" })
3364
- }, [m(G) ? (r(), u(ue, {
3365
+ }, [m(G) ? (r(), u(se, {
3365
3366
  key: 0,
3366
3367
  rooms: m(B),
3367
3368
  connections: m(V),
@@ -3400,7 +3401,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3400
3401
  }, [b("div", {
3401
3402
  class: "flex justify-center py-2 cursor-grab active:cursor-grabbing sheet-grip",
3402
3403
  onPointerdown: zn
3403
- }, [...t[14] ||= [b("div", { class: "w-10 h-1 rounded-full sheet-grip-bar" }, null, -1)]], 32), T(ue, {
3404
+ }, [...t[14] ||= [b("div", { class: "w-10 h-1 rounded-full sheet-grip-bar" }, null, -1)]], 32), T(se, {
3404
3405
  rooms: m(B),
3405
3406
  connections: m(V),
3406
3407
  cameras: m(H),
@@ -3425,7 +3426,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3425
3426
  "selection",
3426
3427
  "read-only"
3427
3428
  ])], 4)) : d("", !0),
3428
- m(Y) && !m(rt) ? (r(), u(de, {
3429
+ m(Y) && !m(rt) ? (r(), u(ce, {
3429
3430
  key: 3,
3430
3431
  model: m(At),
3431
3432
  direction: "up",
@@ -3449,7 +3450,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3449
3450
  class: "pointer-events-auto",
3450
3451
  onClick: t
3451
3452
  }, {
3452
- icon: g(() => [b("div", Fi, [
3453
+ icon: g(() => [b("div", Pi, [
3453
3454
  b("div", {
3454
3455
  class: s(["absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center", { "w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none": e }]),
3455
3456
  style: { backgroundColor: "var(--text-color)" }
@@ -3490,7 +3491,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3490
3491
  }),
3491
3492
  onClick: Nn
3492
3493
  }, {
3493
- icon: g(() => [T(fe, { class: "w-5 h-5" })]),
3494
+ icon: g(() => [T(ue, { class: "w-5 h-5" })]),
3494
3495
  _: 1
3495
3496
  }, 8, ["loading", "style"])), [[M, { value: e.$t("views.floorplan.save") }]]) : d("", !0),
3496
3497
  m(Y) && m(S) && !m(rt) ? x((r(), u(l, {
@@ -3508,7 +3509,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3508
3509
  icon: g(() => [T(re, { class: "w-5 h-5" })]),
3509
3510
  _: 1
3510
3511
  }, 8, ["style"])), [[M, { value: e.$t("views.floorplan.palette") }]]) : d("", !0),
3511
- T(pe, {
3512
+ T(de, {
3512
3513
  modelValue: m(nt),
3513
3514
  "onUpdate:modelValue": t[10] ||= (e) => p(nt) ? nt.value = e : null,
3514
3515
  title: e.$t("views.floorplan.palette"),
@@ -3531,20 +3532,20 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3531
3532
  }, 8, ["modelValue", "title"]),
3532
3533
  b("div", {
3533
3534
  ref_key: "menuAnchorRef",
3534
- ref: F,
3535
+ ref: we,
3535
3536
  class: "fixed w-0 h-0",
3536
3537
  style: v({
3537
- left: `${m(De).x}px`,
3538
- top: `${m(De).y}px`
3538
+ left: `${m(Te).x}px`,
3539
+ top: `${m(Te).y}px`
3539
3540
  })
3540
3541
  }, null, 4),
3541
3542
  b("div", {
3542
3543
  ref_key: "previewAnchorRef",
3543
- ref: Me,
3544
+ ref: je,
3544
3545
  class: "fixed w-0 h-0",
3545
3546
  style: v({
3546
- left: `${m(Ne).x}px`,
3547
- top: `${m(Ne).y}px`
3547
+ left: `${m(Me).x}px`,
3548
+ top: `${m(Me).y}px`
3548
3549
  })
3549
3550
  }, null, 4),
3550
3551
  b("div", {
@@ -3556,7 +3557,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3556
3557
  top: `${m(Ie).y}px`
3557
3558
  })
3558
3559
  }, null, 4),
3559
- T(A, {
3560
+ T(fe, {
3560
3561
  ref_key: "sensorPopoverRef",
3561
3562
  ref: Le,
3562
3563
  class: "shadow-lg cui-rounded-corner",
@@ -3568,16 +3569,16 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3568
3569
  onPointerenter: on,
3569
3570
  onPointerleave: sn
3570
3571
  }, [
3571
- b("div", Ii, [b("div", Li, [(r(), u(c(m(me)(m($).sensorType, tn(m($).id))), { class: "w-4 h-4" }))]), b("div", Ri, [
3572
- b("div", zi, i(m($).name), 1),
3573
- m($).owner ? (r(), _("div", Bi, i(m($).owner), 1)) : d("", !0),
3574
- b("div", Vi, i(m(le)(m($).sensorType, tn(m($).id))), 1)
3572
+ b("div", Fi, [b("div", Ii, [(r(), u(c(m(he)(m($).sensorType, tn(m($).id))), { class: "w-4 h-4" }))]), b("div", Li, [
3573
+ b("div", Ri, i(m($).name), 1),
3574
+ m($).owner ? (r(), _("div", zi, i(m($).owner), 1)) : d("", !0),
3575
+ b("div", Bi, i(m(j)(m($).sensorType, tn(m($).id))), 1)
3575
3576
  ])]),
3576
- m($).note ? (r(), _("div", Hi, i(m($).note), 1)) : d("", !0),
3577
- m($).sensorType === "securitySystem" ? (r(), _("div", Ui, [(r(), _(y, null, n(J, (t) => T(l, {
3577
+ m($).note ? (r(), _("div", Vi, i(m($).note), 1)) : d("", !0),
3578
+ m($).sensorType === "securitySystem" ? (r(), _("div", Hi, [(r(), _(y, null, n(J, (t) => T(l, {
3578
3579
  key: t.value,
3579
3580
  severity: "secondary",
3580
- outlined: m(k)(tn(m($).id)) !== t.value,
3581
+ outlined: m(Ee)(tn(m($).id)) !== t.value,
3581
3582
  size: "small",
3582
3583
  class: "cui-button-medium",
3583
3584
  label: e.$t(t.labelKey),
@@ -3597,9 +3598,9 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3597
3598
  ], 32)) : d("", !0)]),
3598
3599
  _: 1
3599
3600
  }, 512),
3600
- T(A, {
3601
+ T(fe, {
3601
3602
  ref_key: "previewRef",
3602
- ref: R,
3603
+ ref: Ne,
3603
3604
  class: "shadow-lg cui-rounded-corner overflow-hidden",
3604
3605
  pt: { content: { class: "p-0" } }
3605
3606
  }, {
@@ -3607,7 +3608,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3607
3608
  class: "w-[280px] flex flex-col",
3608
3609
  onPointerenter: un,
3609
3610
  onPointerleave: dn
3610
- }, [b("div", Wi, [m(X) ? (r(), u(he, {
3611
+ }, [b("div", Ui, [m(X) ? (r(), u(pe, {
3611
3612
  key: 0,
3612
3613
  "camera-info": m(X),
3613
3614
  "source-role": "low-resolution",
@@ -3619,13 +3620,13 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3619
3620
  "live-indicator-overlay": "",
3620
3621
  class: "w-full",
3621
3622
  "flat-card": ""
3622
- }, null, 8, ["camera-info"])) : d("", !0)]), m(X) ? (r(), _("div", Gi, [b("span", Ki, i(m(X).name), 1), x((r(), u(l, {
3623
+ }, null, 8, ["camera-info"])) : d("", !0)]), m(X) ? (r(), _("div", Wi, [b("span", Gi, i(m(X).name), 1), x((r(), u(l, {
3623
3624
  severity: "secondary",
3624
3625
  text: "",
3625
3626
  class: "cui-button p-1.5",
3626
3627
  onClick: t[12] ||= (t) => e.$router.push(`/cameras/${m(X).name}`)
3627
3628
  }, {
3628
- icon: g(() => [T(j, { class: "w-4 h-4" })]),
3629
+ icon: g(() => [T(me, { class: "w-4 h-4" })]),
3629
3630
  _: 1
3630
3631
  })), [[
3631
3632
  M,
@@ -3635,22 +3636,22 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3635
3636
  ]])])) : d("", !0)], 32)]),
3636
3637
  _: 1
3637
3638
  }, 512),
3638
- T(ge, {
3639
+ T(A, {
3639
3640
  ref_key: "stairsMenuRef",
3640
- ref: Ce,
3641
+ ref: ye,
3641
3642
  items: m(jt),
3642
3643
  "max-height": "320px",
3643
3644
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
3644
3645
  }, null, 8, ["items"]),
3645
- T(ge, {
3646
+ T(A, {
3646
3647
  ref_key: "levelMenuRef",
3647
- ref: xe,
3648
+ ref: _e,
3648
3649
  items: m(kt),
3649
3650
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
3650
3651
  }, null, 8, ["items"])
3651
3652
  ]);
3652
3653
  };
3653
3654
  }
3654
- }), [["__scopeId", "data-v-e56f8b21"]]);
3655
+ }), [["__scopeId", "data-v-f7cfb4c4"]]);
3655
3656
  //#endregion
3656
- export { Yi as default };
3657
+ export { Ji as default };