@camera.ui/server 2.1.14 → 2.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/dist/interface/assets/{404-DRo8zW0F.js → 404-CqZDSHs_.js} +1 -1
  2. package/dist/interface/assets/{About-DMjE0Qte.js → About-Dk4SUTxo.js} +1 -1
  3. package/dist/interface/assets/Automation-CDvt2MXN.js +3 -0
  4. package/dist/interface/assets/AutomationImport-DDywNuRK.js +2 -0
  5. package/dist/interface/assets/AutomationStore-o0JYwGRr.js +2 -0
  6. package/dist/interface/assets/AutomationStoreDetail-DeAGahaF.js +2 -0
  7. package/dist/interface/assets/Automations-2K-7hZfK.js +2 -0
  8. package/dist/interface/assets/Camera-B72IU-UF.js +2 -0
  9. package/dist/interface/assets/Camera-Cm9I0H6c.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-CP_kwVq7.js → CameraConsole-32WtMX1a.js} +1 -1
  11. package/dist/interface/assets/{Cameras-Bp6P5eQC.js → Cameras-zffI0fD9.js} +2 -2
  12. package/dist/interface/assets/Camview-CZct5cnP.css +1 -0
  13. package/dist/interface/assets/Camview-KzzN0Q1w.js +1 -0
  14. package/dist/interface/assets/{CertificateUpload-CA2PrWb3.js → CertificateUpload-Dg0V9Hei.js} +1 -1
  15. package/dist/interface/assets/Config-CKrqFe-g.js +2 -0
  16. package/dist/interface/assets/{ConfigActionCameraControl-BODp6yd4.js → ConfigActionCameraControl-sbvBJQr3.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-ChQOPeXL.js → ConfigActionDelay-CiPxydTn.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-BVeQKfLN.js → ConfigActionHttp-UqiZm0kq.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-B99__kdP.js → ConfigActionImageInput-DkGVZ-ti.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-D595Lo5y.js → ConfigActionMqtt-DQu5H4bY.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-DxzLPmUf.js → ConfigActionNotification-C2uXIMpm.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-Bp4yWebz.js → ConfigActionNotificationControl-B_EpM5m9.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-Di3KaQ_P.js → ConfigActionOutput-DeOsk0T1.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-B7vbDV9n.js → ConfigActionPlugin-CSZHcNQ6.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-Qj0c8MZq.js → ConfigActionSensor-Dx7DcDVr.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-159QrEMJ.js → ConfigActionSnapshot-Baj-r4Cd.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-Bodvejrx.js → ConfigActionVariable-Ccu___aS.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-BMI_mgi3.js → ConfigConditionIfElse-0hU7UW8q.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-DkwjHr31.js → ConfigConditionSensorState-BX19KYLJ.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-ZlqOfRQE.js → ConfigConditionSwitch-D-XUhwcE.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-B2igg9Tb.js → ConfigConditionTime-B6OO8cmh.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-DMnkNDC_.js → ConfigSensorValueInput-DZHYQez8.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-C_ujxraC.js → ConfigTriggerDetection-BNyR5aOG.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Cuq1SnOZ.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-BVIiZfOj.js → ConfigTriggerManual-DFSTAuUt.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-B7Tf1jOh.js → ConfigTriggerMqtt-D_O8RyrQ.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-CcvA02N3.js → ConfigTriggerSchedule-BFZnBfCM.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-CHCDeFmR.js → ConfigTriggerSensor-D1Tst2wQ.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-0SeQnHSX.js → ConfigTriggerSystem-BNfatCp8.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-t0tFjZ7V.js → ConfigTriggerWebhook--nEO_Odl.js} +1 -1
  41. package/dist/interface/assets/{Console-B3xhLOhl.js → Console-DkylrXI4.js} +1 -1
  42. package/dist/interface/assets/{CuiAutomationRunsDialog-hZJsv95Y.js → CuiAutomationRunsDialog-CkMRT1C8.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-DILQuWKb.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-_KXSb13N.css +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-mKu68LHd.js +1 -0
  46. package/dist/interface/assets/CuiCameraPipCard-Djp8qBvZ.js +1 -0
  47. package/dist/interface/assets/CuiCameraRecordings-Bi0I7jeO.js +1 -0
  48. package/dist/interface/assets/CuiCameraShares-B73pWIFh.js +1 -0
  49. package/dist/interface/assets/CuiCameraTable-CUdAnRJP.js +1 -0
  50. package/dist/interface/assets/{CuiCameraTable-CkAeMqcZ.js → CuiCameraTable-DripFD6D.js} +1 -1
  51. package/dist/interface/assets/{CuiChartTable-CZXvn_Iy.js → CuiChartTable-DyyQV7mt.js} +1 -1
  52. package/dist/interface/assets/{CuiConsole-CW8Q43cq.js → CuiConsole-UxJwQqNG.js} +2 -2
  53. package/dist/interface/assets/{CuiDataTable-cN03N7lr.js → CuiDataTable-DZm0I8k7.js} +1 -1
  54. package/dist/interface/assets/CuiLightControl-CB3l0ZLj.js +1 -0
  55. package/dist/interface/assets/{CuiList-BI488Ne9.js → CuiList-DMQgYqaU.js} +1 -1
  56. package/dist/interface/assets/CuiPluginCard-HpQMNND1.js +2 -0
  57. package/dist/interface/assets/{CuiPluginCategoryChip-5YBKOVmo.js → CuiPluginCategoryChip-C6aEP-ug.js} +1 -1
  58. package/dist/interface/assets/CuiPluginOAuthButton-DpGacvsa.js +2 -0
  59. package/dist/interface/assets/{CuiPluginTrustBadge-BFpziu4f.js → CuiPluginTrustBadge-Dl1PEsm6.js} +1 -1
  60. package/dist/interface/assets/CuiQRCode-D04Onyhk.js +1 -0
  61. package/dist/interface/assets/CuiRecordingsGrid-BhATIjIf.css +1 -0
  62. package/dist/interface/assets/CuiRecordingsGrid-BzyJWpFt.js +1 -0
  63. package/dist/interface/assets/CuiSchema-thjfmEWw.js +1 -0
  64. package/dist/interface/assets/{CuiTopNavbarItem-CJqOqVMt.css → CuiTopNavbarItem-7673AFGS.css} +1 -1
  65. package/dist/interface/assets/CuiTopNavbarItem-qPj6XwXr.js +1 -0
  66. package/dist/interface/assets/Faces-DRWIPDfH.js +1 -0
  67. package/dist/interface/assets/FirstSteps-C6GVpZVr.js +1 -0
  68. package/dist/interface/assets/{Floorplan-Bxhdg4C2.css → Floorplan-B1lItPnM.css} +1 -1
  69. package/dist/interface/assets/Floorplan-Q-UYDnrE.js +1 -0
  70. package/dist/interface/assets/Instances-VC4-anOF.js +1 -0
  71. package/dist/interface/assets/{Logs-Bjyi3BKP.js → Logs-DROgZxLH.js} +2 -2
  72. package/dist/interface/assets/{Menu-BQDo_rxR.js → Menu-CmTk2or7.js} +1 -1
  73. package/dist/interface/assets/Metrics-CYZF-em9.js +9 -0
  74. package/dist/interface/assets/{OAuthDeviceFlow-C-a76FaQ.js → OAuthDeviceFlow-BrdiDoCh.js} +1 -1
  75. package/dist/interface/assets/Plugin-DuPHiiYJ.js +1 -0
  76. package/dist/interface/assets/{PluginConsole-B5A04A2x.js → PluginConsole-CxiW1w6K.js} +1 -1
  77. package/dist/interface/assets/PluginDetail-DWP7_hNa.js +2 -0
  78. package/dist/interface/assets/{PluginSchema-BJEOq6im.js → PluginSchema-BgVZ_4if.js} +1 -1
  79. package/dist/interface/assets/PluginSearch-1djFQUjL.js +1 -0
  80. package/dist/interface/assets/PluginSearch-Ba-hQHxm.js +2 -0
  81. package/dist/interface/assets/{PluginUpdateProgress-BZ-OtZet.js → PluginUpdateProgress-DEcle8-x.js} +1 -1
  82. package/dist/interface/assets/Plugins-BZ3U4pcG.js +1 -0
  83. package/dist/interface/assets/Recordings-CI5MIFR-.js +1 -0
  84. package/dist/interface/assets/Recordings-CfSTX_Mw.css +1 -0
  85. package/dist/interface/assets/{SensorEdit-CQagiAww.js → SensorEdit-B6s-VZ3F.js} +1 -1
  86. package/dist/interface/assets/{SensorHistory-DIMTRYRa.js → SensorHistory-H03yZia0.js} +1 -1
  87. package/dist/interface/assets/Sensors-DDPUwbb-.js +2 -0
  88. package/dist/interface/assets/{Sensors-CaKl4PQY.css → Sensors-DzGV2Ngo.css} +1 -1
  89. package/dist/interface/assets/Settings-9nC18KH8.js +1 -0
  90. package/dist/interface/assets/{Settings-jQIhZFRY.css → Settings-D7495zbV.css} +1 -1
  91. package/dist/interface/assets/SettingsAccount-BTYvhCJP.js +1 -0
  92. package/dist/interface/assets/SettingsAccount-CKi0z3Bm.js +1 -0
  93. package/dist/interface/assets/SettingsAppearance-CDbQnSvl.js +1 -0
  94. package/dist/interface/assets/{SettingsAppearance-NpsVIJUO.js → SettingsAppearance-D9Y28zzz.js} +1 -1
  95. package/dist/interface/assets/SettingsBackup-Bu48xw4v.js +1 -0
  96. package/dist/interface/assets/{SettingsList-BKyyC2_M.js → SettingsList-74c5OMQf.js} +1 -1
  97. package/dist/interface/assets/SettingsMqtt-81rJ4zV6.js +1 -0
  98. package/dist/interface/assets/{SettingsNotifications-kKPcCTLM.js → SettingsNotifications-xHV5KiZg.js} +1 -1
  99. package/dist/interface/assets/{SettingsPermissions-r6wxjmHg.js → SettingsPermissions-DqyVtVKE.js} +1 -1
  100. package/dist/interface/assets/{SettingsRecordings-GPy1AdjG.js → SettingsRecordings-Bxn28Frz.js} +1 -1
  101. package/dist/interface/assets/SettingsRemote-7h2dKJlF.js +2 -0
  102. package/dist/interface/assets/SettingsSystem-D-MLhCdN.js +2 -0
  103. package/dist/interface/assets/SettingsUsers-DUOJN7uO.js +1 -0
  104. package/dist/interface/assets/{Terminal-DtvlszuP.js → Terminal-45QW5yPE.js} +2 -2
  105. package/dist/interface/assets/Training-B5SzDUAC.css +1 -0
  106. package/dist/interface/assets/Training-DWrQVSS0.js +1 -0
  107. package/dist/interface/assets/Updates-B32Pra5E.js +2 -0
  108. package/dist/interface/assets/{VariableInput-C-f6bNmi.js → VariableInput-CyTGQFtz.js} +1 -1
  109. package/dist/interface/assets/{VariableSuggestions-B4LYkbu5.js → VariableSuggestions-BLlD4F87.js} +1 -1
  110. package/dist/interface/assets/{VersionsHandler-Cxxcwt9W.js → VersionsHandler-CIq6v6lE.js} +1 -1
  111. package/dist/interface/assets/{VirtualSensorCreate-CrGmWsI7.js → VirtualSensorCreate-Di2IyYAg.js} +1 -1
  112. package/dist/interface/assets/Workers-tb039NGc.js +2 -0
  113. package/dist/interface/assets/{api-CD4zuPhg.js → api-4JRK8ya0.js} +1 -1
  114. package/dist/interface/assets/api-CFf063x3.js +4 -0
  115. package/dist/interface/assets/api-eoOLTOnS.css +2 -0
  116. package/dist/interface/assets/{auth-W2HVbsrF.js → auth-ISkWvJbZ.js} +1 -1
  117. package/dist/interface/assets/{automations-CY5xtQCF.js → automations-CeH81DN-.js} +1 -1
  118. package/dist/interface/assets/{cameraSources-BSFgVwUz.js → cameraSources-CgAEmb37.js} +1 -1
  119. package/dist/interface/assets/cloudHandoff-B_kCnm4R.js +1 -0
  120. package/dist/interface/assets/{config-DOFSd8-0.js → config-DthCyQJv.js} +1 -1
  121. package/dist/interface/assets/{flowSchema-Bq6CskDh.js → flowSchema-DZ2bDhJt.js} +1 -1
  122. package/dist/interface/assets/{intercomService-CT_KVjly.js → intercomService-Bd71KwsB.js} +1 -1
  123. package/dist/interface/assets/main--lW4P3A4.js +3 -0
  124. package/dist/interface/assets/main-ExPfCNlz.css +1 -0
  125. package/dist/interface/assets/mqtt-oPORDio9.js +1 -0
  126. package/dist/interface/assets/{notifications-B_hY7DqC.js → notifications-BirFkpbF.js} +1 -1
  127. package/dist/interface/assets/{plugins-V5-6e5L7.js → plugins-vyA7MMhx.js} +1 -1
  128. package/dist/interface/assets/rooms-MfPQPywT.js +1 -0
  129. package/dist/interface/assets/{sensorIcons-DQIyC9JL.js → sensorIcons-B4H11BbT.js} +1 -1
  130. package/dist/interface/assets/{sensors-7R3hMa_s.js → sensors-xryx8Wvn.js} +1 -1
  131. package/dist/interface/assets/{server-CyCTaiWl.js → server-BK9gwxH8.js} +1 -1
  132. package/dist/interface/assets/{theme-Cc5MIK4j.js → theme-DQeAzJ1v.js} +1 -1
  133. package/dist/interface/assets/{types-D9iX7VVJ.js → types-Bcj_K26s.js} +1 -1
  134. package/dist/interface/assets/types-D626ASim.js +1 -0
  135. package/dist/interface/assets/{types-CDVUPFqE.js → types-kN1Tn2Og.js} +1 -1
  136. package/dist/interface/assets/ungrouped-C6pQb0X4.css +1 -0
  137. package/dist/interface/assets/ungrouped-C_gJm6d7.js +1 -0
  138. package/dist/interface/assets/{updates-H8lZYYSt.js → updates-Dzqxen12.js} +1 -1
  139. package/dist/interface/assets/{useAppVersion-DuXhWeJY.js → useAppVersion-JY7cdzlr.js} +1 -1
  140. package/dist/interface/assets/useBackupRestore-CeShFVWy.js +1 -0
  141. package/dist/interface/assets/{useCameraOptions-CZvujVuW.js → useCameraOptions-BeUNT5Rz.js} +1 -1
  142. package/dist/interface/assets/{useLogsSocket-DW5Ll9qN.js → useLogsSocket-DDSuX00j.js} +1 -1
  143. package/dist/interface/assets/{useNavLayout-Ay4GP0IF.js → useNavLayout-DgAgRNq2.js} +1 -1
  144. package/dist/interface/assets/{usePermissions-tvEa1N9y.js → usePermissions-DFzwIs8L.js} +1 -1
  145. package/dist/interface/assets/{usePluginUpdates-C6c7mdBo.js → usePluginUpdates-Bb-LOOyL.js} +1 -1
  146. package/dist/interface/assets/{usePushRegistration-Cp-oFaYU.js → usePushRegistration-iverdyzz.js} +1 -1
  147. package/dist/interface/assets/{useServerRestart-F0do0_a5.js → useServerRestart-BchofDLe.js} +1 -1
  148. package/dist/interface/assets/{useStreamStatus-Cof0SieK.js → useStreamStatus-BOJt1v1c.js} +1 -1
  149. package/dist/interface/assets/{useTabSwipe-CH2JsEKl.js → useTabSwipe-v0Yet-YZ.js} +1 -1
  150. package/dist/interface/assets/{useUpdateChannel--yUW8uvn.js → useUpdateChannel-K9ADk5yx.js} +1 -1
  151. package/dist/interface/assets/{useUpdatesSocket-DOHvs02g.js → useUpdatesSocket-sj1-DmFM.js} +1 -1
  152. package/dist/interface/assets/{useUserOptions-CO_I7IAm.js → useUserOptions-BnF_qBdZ.js} +1 -1
  153. package/dist/interface/assets/{vendor-cameraui-B96_CDGO.js → vendor-cameraui-BPX4wReW.js} +2 -2
  154. package/dist/interface/assets/{vendor-core-DFWGbWRD.js → vendor-core-D0ANiY7g.js} +1 -1
  155. package/dist/interface/assets/{vendor-primevue-uo78flP9.js → vendor-primevue-iEFYdXsu.js} +1 -1
  156. package/dist/interface/ha/{404-CvCsIvOn.js → 404-DlQnv9jN.js} +1 -1
  157. package/dist/interface/ha/{About-Bqb-qrXr.js → About-BLQJmllv.js} +6 -6
  158. package/dist/interface/ha/{Automation-AiOadcvh.js → Automation-DLMPArOd.js} +184 -184
  159. package/dist/interface/ha/{AutomationImport-CHs99b96.js → AutomationImport-Qzz3Ta4D.js} +6 -6
  160. package/dist/interface/ha/{AutomationStore-yTxgRNos.js → AutomationStore-DNXC9s6h.js} +51 -51
  161. package/dist/interface/ha/{AutomationStoreDetail-CWB-S_Dq.js → AutomationStoreDetail-CTqydRKj.js} +24 -24
  162. package/dist/interface/ha/{Automations-ymrcS6zL.js → Automations-DRxe1fli.js} +102 -102
  163. package/dist/interface/ha/{Camera-gfUjA1cF.js → Camera-OrI4Wf4F.js} +180 -180
  164. package/dist/interface/ha/{CameraConsole-DBM_9sZD.js → CameraConsole-6yGhoHmu.js} +4 -4
  165. package/dist/interface/ha/{Cameras-BDYtuflZ.js → Cameras-DpEaKKDG.js} +253 -253
  166. package/dist/interface/ha/{Camview-CyZW6Ccj.js → Camview-CnPz4cGs.js} +128 -128
  167. package/dist/interface/ha/{Config-Dw11VG_z.js → Config-Bb2ERyAA.js} +11 -11
  168. package/dist/interface/ha/{ConfigActionCameraControl-SpfqepU9.js → ConfigActionCameraControl-CC2tWFz2.js} +3 -3
  169. package/dist/interface/ha/{ConfigActionHttp-DRNiEJwf.js → ConfigActionHttp-DBsEL44i.js} +2 -2
  170. package/dist/interface/ha/{ConfigActionImageInput-BKIS7_Az.js → ConfigActionImageInput-Rt3AOJ3I.js} +1 -1
  171. package/dist/interface/ha/{ConfigActionMqtt-vcKjYONr.js → ConfigActionMqtt-BYSSc954.js} +4 -4
  172. package/dist/interface/ha/{ConfigActionNotification-C8RqA0hp.js → ConfigActionNotification-DKlIsZJd.js} +3 -3
  173. package/dist/interface/ha/{ConfigActionNotificationControl-DxDU-1LD.js → ConfigActionNotificationControl-D5AVW2tR.js} +2 -2
  174. package/dist/interface/ha/{ConfigActionOutput-Dd9tqEbp.js → ConfigActionOutput-DIlu8Ujc.js} +1 -1
  175. package/dist/interface/ha/{ConfigActionPlugin-hZohlF2U.js → ConfigActionPlugin-o1YNBh-g.js} +4 -4
  176. package/dist/interface/ha/{ConfigActionSensor-CsTZdgpn.js → ConfigActionSensor-BEvwg0tf.js} +5 -5
  177. package/dist/interface/ha/{ConfigActionSnapshot-CVuRrZog.js → ConfigActionSnapshot-Bnw0JNNj.js} +2 -2
  178. package/dist/interface/ha/{ConfigActionVariable-BW0Mfwzv.js → ConfigActionVariable-oGPagsvF.js} +1 -1
  179. package/dist/interface/ha/{ConfigConditionIfElse-B8giXSLg.js → ConfigConditionIfElse-7LCDNDvS.js} +3 -3
  180. package/dist/interface/ha/{ConfigConditionSensorState-SOYmnv38.js → ConfigConditionSensorState-nO-s7wi6.js} +4 -4
  181. package/dist/interface/ha/{ConfigConditionSwitch-DPYRsgIP.js → ConfigConditionSwitch-GrIKkY-P.js} +4 -4
  182. package/dist/interface/ha/{ConfigSensorValueInput-C8uDea7H.js → ConfigSensorValueInput-Cthp3KXt.js} +7 -7
  183. package/dist/interface/ha/{ConfigTriggerDetection-DKrNlf4n.js → ConfigTriggerDetection-CJE9QFaK.js} +11 -11
  184. package/dist/interface/ha/{ConfigTriggerGeofence-BoKYjfEF.js → ConfigTriggerGeofence-Cyeu7Cit.js} +5 -5
  185. package/dist/interface/ha/{ConfigTriggerMqtt-A0druw9s.js → ConfigTriggerMqtt-D5EoOztE.js} +1 -1
  186. package/dist/interface/ha/{ConfigTriggerSensor-DnqfzsxM.js → ConfigTriggerSensor-DYg_HRjO.js} +1 -1
  187. package/dist/interface/ha/{ConfigTriggerSystem-B8JHImoF.js → ConfigTriggerSystem-DzpajiyS.js} +2 -2
  188. package/dist/interface/ha/{ConfigTriggerWebhook-B34dHYln.js → ConfigTriggerWebhook-IE4PVb4O.js} +2 -2
  189. package/dist/interface/ha/{Console-vTZkA5_c.js → Console-BYgny5Dy.js} +100 -100
  190. package/dist/interface/ha/{CuiAutomationRunsDialog-D1j6QT1J.js → CuiAutomationRunsDialog-CoYgpbW0.js} +2 -2
  191. package/dist/interface/ha/{CuiBottomSheet-tJqB2HMb.js → CuiBottomSheet-C4cK3fYK.js} +3 -3
  192. package/dist/interface/ha/{CuiCameraRecordings-CbXShYur.js → CuiCameraRecordings-BAxchc71.js} +16 -15
  193. package/dist/interface/ha/{CuiCameraShares-fsCg_eYs.js → CuiCameraShares-CfQr1iyX.js} +7 -7
  194. package/dist/interface/ha/{CuiCameraTable-cCH34Rqx.js → CuiCameraTable-B60mcEl_.js} +9 -9
  195. package/dist/interface/ha/{CuiChartTable-CMkcRmDL.js → CuiChartTable-CbUVz-Cj.js} +42 -42
  196. package/dist/interface/ha/{CuiConsole-wuBto4Ht.js → CuiConsole-DEjAQFwC.js} +19 -19
  197. package/dist/interface/ha/{CuiDataTable-yviddz9T.js → CuiDataTable-005ptLsa.js} +7 -7
  198. package/dist/interface/ha/{CuiPluginCard-Dr4cFcve.js → CuiPluginCard-BWwPLJ6m.js} +33 -33
  199. package/dist/interface/ha/CuiPluginOAuthButton-CgmDgRY9.js +79 -0
  200. package/dist/interface/ha/{CuiPluginTrustBadge-CVwRbaTh.js → CuiPluginTrustBadge-BWnP1whX.js} +3 -3
  201. package/dist/interface/ha/{CuiQRCode-CTr0g0fy.js → CuiQRCode-ONkk6Wqy.js} +6 -6
  202. package/dist/interface/ha/{ungrouped-CpcBXTDQ.js → CuiRecordingsGrid-D6HHyF1D.js} +81 -462
  203. package/dist/interface/ha/{CuiSchema-DtfAoLxQ.js → CuiSchema-C3uI1GwG.js} +138 -138
  204. package/dist/interface/ha/{CuiTopNavbarItem-4H6Gg0Pe.js → CuiTopNavbarItem-Bhws0XkE.js} +3 -3
  205. package/dist/interface/ha/{Faces-DSjPW-A-.js → Faces-DuxYlZGd.js} +79 -79
  206. package/dist/interface/ha/{FirstSteps-BK_EXlZU.js → FirstSteps-BAlqShSK.js} +64 -64
  207. package/dist/interface/ha/{Floorplan-BWRteZjr.js → Floorplan-BVwSNFd6.js} +332 -332
  208. package/dist/interface/ha/{Instances-Dln03_o7.js → Instances-BM9sRNSP.js} +73 -73
  209. package/dist/interface/ha/{Logs-xwh0fkZV.js → Logs-KISz4BU-.js} +11 -11
  210. package/dist/interface/ha/{Menu-BwzIh1vF.js → Menu-DYI6PeIn.js} +19 -19
  211. package/dist/interface/ha/{Metrics-CiMXu6rz.js → Metrics-BjpKFunA.js} +101 -101
  212. package/dist/interface/ha/{OAuthDeviceFlow-D4IUrYub.js → OAuthDeviceFlow-DG-KUGZj.js} +4 -4
  213. package/dist/interface/ha/{Plugin-CM5b1Jz4.js → Plugin-BjWyUUhe.js} +103 -103
  214. package/dist/interface/ha/{PluginConsole-BJNblZb5.js → PluginConsole-BK3cotea.js} +6 -6
  215. package/dist/interface/ha/{PluginDetail--RFw88FL.js → PluginDetail-BDzDeShX.js} +13 -13
  216. package/dist/interface/ha/{PluginSearch-yzBxy3Zj.js → PluginSearch-DsFUuPC-.js} +54 -54
  217. package/dist/interface/ha/{PluginUpdateProgress-BaYmaaE7.js → PluginUpdateProgress-BMrdkjRq.js} +3 -3
  218. package/dist/interface/ha/{Plugins-C-sU0dsj.js → Plugins-3WPnsHXw.js} +27 -27
  219. package/dist/interface/ha/{Recordings-CXnTN85c.js → Recordings-0wDF4ArK.js} +153 -134
  220. package/dist/interface/ha/{SensorEdit-ByAfduAA.js → SensorEdit-B0L2zIha.js} +359 -359
  221. package/dist/interface/ha/{SensorHistory-Cv1YF7qX.js → SensorHistory-CQJEY1sW.js} +2 -2
  222. package/dist/interface/ha/{Sensors-DyxXLT1C.js → Sensors-BYdBTCLo.js} +251 -251
  223. package/dist/interface/ha/{Settings-DMBgMUpe.js → Settings-BaqGiBCa.js} +24 -24
  224. package/dist/interface/ha/SettingsAccount-B0Sth0EF.js +970 -0
  225. package/dist/interface/ha/{SettingsAppearance-BfXcGIwE.js → SettingsAppearance-B_oylmTa.js} +14 -14
  226. package/dist/interface/ha/{SettingsBackup-vsITZfgV.js → SettingsBackup-BLmoV5AW.js} +8 -8
  227. package/dist/interface/ha/{SettingsList-BTxhjM8J.js → SettingsList-CMX7wMye.js} +5 -5
  228. package/dist/interface/ha/{SettingsMqtt-JHf9BXbp.js → SettingsMqtt-C-sGwxOZ.js} +148 -148
  229. package/dist/interface/ha/SettingsNotifications-tc9FCCUF.js +529 -0
  230. package/dist/interface/ha/{SettingsRecordings-BAUAhyEd.js → SettingsRecordings-DDs16z2A.js} +6 -6
  231. package/dist/interface/ha/{SettingsRemote-DAI3p-gY.js → SettingsRemote-0c0umjFJ.js} +355 -355
  232. package/dist/interface/ha/{SettingsSystem-D-UQqZyn.js → SettingsSystem-DfXxWXQk.js} +10 -10
  233. package/dist/interface/ha/{SettingsUsers-D-_uCeBe.js → SettingsUsers-CmjC0zsF.js} +42 -42
  234. package/dist/interface/ha/{Terminal-BBBP74zZ.js → Terminal-nbUX6PPZ.js} +76 -76
  235. package/dist/interface/ha/Training-GMcD4Qg9.js +1440 -0
  236. package/dist/interface/ha/{Updates-DDEAqmrt.js → Updates-UaxBGn6D.js} +14 -14
  237. package/dist/interface/ha/{VariableInput-5aDKaHK6.js → VariableInput-0bF2H1Bm.js} +1 -1
  238. package/dist/interface/ha/{VersionsHandler-Z5aUBicW.js → VersionsHandler-CnXVnfBl.js} +10 -10
  239. package/dist/interface/ha/{VirtualSensorCreate-DOjwBgbP.js → VirtualSensorCreate-BE60rAkJ.js} +7 -7
  240. package/dist/interface/ha/{Workers-lI-ulBfQ.js → Workers-CaX3Z3w-.js} +104 -104
  241. package/dist/interface/ha/{api-BU1ot-rQ.js → api-CmcbBFTx.js} +9831 -9471
  242. package/dist/interface/ha/{api-B-1nJvx1.js → api-S-NnjUWl.js} +4 -4
  243. package/dist/interface/ha/{auth-Wr26Jrhr.js → auth-CqYE7s1-.js} +24 -24
  244. package/dist/interface/ha/{automationBlueprint-CjXCYTHX.js → automationBlueprint-Dmp54JD1.js} +2 -2
  245. package/dist/interface/ha/cameraui-cards.js +1 -1
  246. package/dist/interface/ha/{cards-DJ8I0DpS.js → cards-MnCBmBIR.js} +121 -121
  247. package/dist/interface/ha/cloud-check-BFJzoUtz.js +33 -0
  248. package/dist/interface/ha/{config--3c2hYeI.js → config-C94KN4WM.js} +15 -15
  249. package/dist/interface/ha/{mqtt-CSWN3zrE.js → mqtt-HDLqlOJt.js} +15 -15
  250. package/dist/interface/ha/{notifications-B4jziVIo.js → notifications-C2_2_NRh.js} +22 -22
  251. package/dist/interface/ha/{pinia-3D39Do4a.js → pinia-DLNUke3Q.js} +172 -149
  252. package/dist/interface/ha/{plugins-BTBXmJqQ.js → plugins-l2i4DgqO.js} +68 -68
  253. package/dist/interface/ha/{rooms-BxY9U6db.js → rooms-Bp1ZVAzT.js} +11 -11
  254. package/dist/interface/ha/{server-BxPWpMFK.js → server-BsduJDAB.js} +32 -32
  255. package/dist/interface/ha/{types-D_Y5r1Yz.js → types-iZUCCt1P.js} +30 -30
  256. package/dist/interface/ha/ungrouped-wz-KNJpA.js +426 -0
  257. package/dist/interface/ha/{updates-Hyzkue_s.js → updates-CDsPvhpo.js} +36 -36
  258. package/dist/interface/ha/{useAppVersion-BME7p9Tn.js → useAppVersion-BJtSGn4X.js} +1 -1
  259. package/dist/interface/ha/{useLogsSocket-9HYA1tN7.js → useLogsSocket-Ck-ZQpQD.js} +1 -1
  260. package/dist/interface/ha/{useNavLayout-BP3bvHDX.js → useNavLayout-Bn6HYs-i.js} +19 -19
  261. package/dist/interface/ha/{useServerRestart-L0gugeHY.js → useServerRestart-fff_KK9Y.js} +1 -1
  262. package/dist/interface/ha/{useTabSwipe-DKFPKAuu.js → useTabSwipe-B1CQZuyT.js} +1 -1
  263. package/dist/interface/ha/{useUpdateChannel-DgPBMvzK.js → useUpdateChannel-DUBmGEDe.js} +2 -2
  264. package/dist/interface/ha/{useUpdatesSocket-j4Sl2_YJ.js → useUpdatesSocket-DoLb2kcJ.js} +1 -1
  265. package/dist/interface/ha/{useUserOptions-BIVNeXD9.js → useUserOptions-D0kNSHFH.js} +1 -1
  266. package/dist/interface/index.html +27 -27
  267. package/dist/interface/sw.js +1 -1
  268. package/dist/server/package.json +8 -8
  269. package/dist/server/src/api/controllers/training.controller.d.ts +38 -0
  270. package/dist/server/src/api/controllers/training.controller.js +97 -0
  271. package/dist/server/src/api/controllers/training.controller.js.map +1 -0
  272. package/dist/server/src/api/database/constants.d.ts +1 -0
  273. package/dist/server/src/api/database/constants.js +1 -0
  274. package/dist/server/src/api/database/constants.js.map +1 -1
  275. package/dist/server/src/api/database/index.d.ts +3 -2
  276. package/dist/server/src/api/database/index.js +4 -2
  277. package/dist/server/src/api/database/index.js.map +1 -1
  278. package/dist/server/src/api/database/migrations/v2-1-19.d.ts +3 -0
  279. package/dist/server/src/api/database/migrations/v2-1-19.js +24 -0
  280. package/dist/server/src/api/database/migrations/v2-1-19.js.map +1 -0
  281. package/dist/server/src/api/database/record-schemas.d.ts +6 -1
  282. package/dist/server/src/api/database/record-schemas.js +7 -0
  283. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  284. package/dist/server/src/api/database/types.d.ts +27 -0
  285. package/dist/server/src/api/index.js +1 -1
  286. package/dist/server/src/api/index.js.map +1 -1
  287. package/dist/server/src/api/render-index.js +1 -1
  288. package/dist/server/src/api/render-index.js.map +1 -1
  289. package/dist/server/src/api/routes/index.js +2 -0
  290. package/dist/server/src/api/routes/index.js.map +1 -1
  291. package/dist/server/src/api/routes/training.routes.d.ts +2 -0
  292. package/dist/server/src/api/routes/training.routes.js +106 -0
  293. package/dist/server/src/api/routes/training.routes.js.map +1 -0
  294. package/dist/server/src/api/schemas/cameras.schema.d.ts +76 -76
  295. package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
  296. package/dist/server/src/api/schemas/training.schema.d.ts +42 -0
  297. package/dist/server/src/api/schemas/training.schema.js +42 -0
  298. package/dist/server/src/api/schemas/training.schema.js.map +1 -0
  299. package/dist/server/src/api/services/cameras.service.js +7 -2
  300. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  301. package/dist/server/src/api/websocket/index.js +3 -1
  302. package/dist/server/src/api/websocket/index.js.map +1 -1
  303. package/dist/server/src/api/websocket/nsp/training.d.ts +11 -0
  304. package/dist/server/src/api/websocket/nsp/training.js +29 -0
  305. package/dist/server/src/api/websocket/nsp/training.js.map +1 -0
  306. package/dist/server/src/api/websocket/types.d.ts +1 -1
  307. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  308. package/dist/server/src/camera/decoder/detection-coordinator.js +31 -1
  309. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  310. package/dist/server/src/camera/decoder/event-manager.d.ts +6 -0
  311. package/dist/server/src/camera/decoder/event-manager.js +43 -1
  312. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  313. package/dist/server/src/camera/decoder/training-sink.d.ts +26 -0
  314. package/dist/server/src/camera/decoder/training-sink.js +131 -0
  315. package/dist/server/src/camera/decoder/training-sink.js.map +1 -0
  316. package/dist/server/src/camera/decoder/types.d.ts +4 -0
  317. package/dist/server/src/camera/decoder/types.js +12 -0
  318. package/dist/server/src/camera/decoder/types.js.map +1 -1
  319. package/dist/server/src/manager/coreManager.d.ts +3 -1
  320. package/dist/server/src/manager/coreManager.js +18 -0
  321. package/dist/server/src/manager/coreManager.js.map +1 -1
  322. package/dist/server/src/manager/trainingCandidateManager.d.ts +42 -0
  323. package/dist/server/src/manager/trainingCandidateManager.js +250 -0
  324. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -0
  325. package/dist/server/src/manager/types.d.ts +19 -0
  326. package/dist/server/src/manager/types.js +2 -0
  327. package/dist/server/src/manager/types.js.map +1 -1
  328. package/dist/server/src/remote/api/credentialStore.d.ts +1 -0
  329. package/dist/server/src/remote/api/credentialStore.js +24 -0
  330. package/dist/server/src/remote/api/credentialStore.js.map +1 -1
  331. package/dist/server/src/remote/api/index.d.ts +2 -0
  332. package/dist/server/src/remote/api/index.js +3 -0
  333. package/dist/server/src/remote/api/index.js.map +1 -1
  334. package/dist/server/src/remote/api/routes/oauth.js +1 -1
  335. package/dist/server/src/remote/api/routes/oauth.js.map +1 -1
  336. package/dist/server/src/remote/api/routes/train.d.ts +19 -0
  337. package/dist/server/src/remote/api/routes/train.js +47 -0
  338. package/dist/server/src/remote/api/routes/train.js.map +1 -0
  339. package/dist/server/src/rpc/index.d.ts +2 -0
  340. package/dist/server/src/rpc/index.js +5 -0
  341. package/dist/server/src/rpc/index.js.map +1 -1
  342. package/dist/server/src/rpc/interfaces/core.d.ts +21 -0
  343. package/dist/server/src/rpc/server.js +2 -0
  344. package/dist/server/src/rpc/server.js.map +1 -1
  345. package/package.json +8 -8
  346. package/dist/interface/assets/Automation-BLolxsX8.js +0 -3
  347. package/dist/interface/assets/AutomationImport-C_rR9kDq.js +0 -2
  348. package/dist/interface/assets/AutomationStore-whk_TeCG.js +0 -2
  349. package/dist/interface/assets/AutomationStoreDetail-BDDgg3zY.js +0 -2
  350. package/dist/interface/assets/Automations-sEIWIfdE.js +0 -2
  351. package/dist/interface/assets/Camera-BWdUUW_H.css +0 -1
  352. package/dist/interface/assets/Camera-l1DApD8b.js +0 -2
  353. package/dist/interface/assets/Camview-BZS4_jv1.css +0 -1
  354. package/dist/interface/assets/Camview-CWS3VJ1A.js +0 -1
  355. package/dist/interface/assets/Config-C02ndytC.js +0 -2
  356. package/dist/interface/assets/ConfigTriggerGeofence-DnYSaLPb.js +0 -1
  357. package/dist/interface/assets/CuiBottomSheet-Cv_fwvYu.js +0 -1
  358. package/dist/interface/assets/CuiBottomSheet-DsjZEdig.css +0 -1
  359. package/dist/interface/assets/CuiBottomSheet-epGdNqA8.js +0 -1
  360. package/dist/interface/assets/CuiCameraPipCard-Bm6wjm6h.js +0 -1
  361. package/dist/interface/assets/CuiCameraRecordings-4LLV-U85.js +0 -1
  362. package/dist/interface/assets/CuiCameraShares-DqmX3koT.js +0 -1
  363. package/dist/interface/assets/CuiCameraTable-CfyXLqkh.js +0 -1
  364. package/dist/interface/assets/CuiLightControl-CA8MAVex.js +0 -1
  365. package/dist/interface/assets/CuiPluginCard-Bj6cUIJ0.js +0 -2
  366. package/dist/interface/assets/CuiPluginOAuthButton-BmdfXNce.js +0 -2
  367. package/dist/interface/assets/CuiQRCode-CiWTLo9T.js +0 -1
  368. package/dist/interface/assets/CuiSchema-DntSkCO2.js +0 -1
  369. package/dist/interface/assets/CuiTopNavbarItem-DuzCbIZ8.js +0 -1
  370. package/dist/interface/assets/Faces-Bea5pIop.js +0 -1
  371. package/dist/interface/assets/FirstSteps-BNbQsYHq.js +0 -1
  372. package/dist/interface/assets/Floorplan-D9zKFQ2q.js +0 -1
  373. package/dist/interface/assets/Instances-DBphCwLn.js +0 -1
  374. package/dist/interface/assets/Metrics-Dvnil66d.js +0 -9
  375. package/dist/interface/assets/Plugin-1ZS-dcRt.js +0 -1
  376. package/dist/interface/assets/PluginDetail-SCj7WYL6.js +0 -2
  377. package/dist/interface/assets/PluginSearch-CHeix3n8.js +0 -2
  378. package/dist/interface/assets/PluginSearch-CcjGzS5R.js +0 -1
  379. package/dist/interface/assets/Plugins-DS-NZusx.js +0 -1
  380. package/dist/interface/assets/Recordings-Bqb2uV7R.js +0 -1
  381. package/dist/interface/assets/Recordings-D4NzYCO9.css +0 -1
  382. package/dist/interface/assets/Sensors-DU0MBnV1.js +0 -2
  383. package/dist/interface/assets/Settings-Dn-TJCtd.js +0 -1
  384. package/dist/interface/assets/SettingsAccount-CLclTO2m.js +0 -1
  385. package/dist/interface/assets/SettingsAccount-Q2sigi3a.js +0 -1
  386. package/dist/interface/assets/SettingsAppearance-Bo61ZncS.js +0 -1
  387. package/dist/interface/assets/SettingsBackup-D1NER4RI.js +0 -1
  388. package/dist/interface/assets/SettingsMqtt-14d54svj.js +0 -1
  389. package/dist/interface/assets/SettingsRemote-Da_6mcHl.js +0 -2
  390. package/dist/interface/assets/SettingsSystem-BpPrajwG.js +0 -2
  391. package/dist/interface/assets/SettingsUsers-CBItOJic.js +0 -1
  392. package/dist/interface/assets/Updates-CV5MWBHg.js +0 -2
  393. package/dist/interface/assets/Workers-DaHj_0te.js +0 -2
  394. package/dist/interface/assets/api-BTWXbCPQ.css +0 -2
  395. package/dist/interface/assets/api-CdT8ZD-n.js +0 -4
  396. package/dist/interface/assets/cloudHandoff-RfAVMcZZ.js +0 -1
  397. package/dist/interface/assets/main-Qqk3RyYP.css +0 -1
  398. package/dist/interface/assets/main-VmsUT9aF.js +0 -3
  399. package/dist/interface/assets/mqtt-x7JvjSZ0.js +0 -1
  400. package/dist/interface/assets/rooms-iq9Ync9a.js +0 -1
  401. package/dist/interface/assets/types-Br6AbfXl.js +0 -1
  402. package/dist/interface/assets/ungrouped-B-_P9Nxn.js +0 -1
  403. package/dist/interface/assets/ungrouped-DTYy_Pud.css +0 -1
  404. package/dist/interface/assets/useBackupRestore-C9JlDbTt.js +0 -1
  405. package/dist/interface/ha/CuiPluginOAuthButton-D4M7piUp.js +0 -105
  406. package/dist/interface/ha/SettingsAccount-CiyVRy4Y.js +0 -970
  407. package/dist/interface/ha/SettingsNotifications-Bvay7Ob7.js +0 -529
@@ -3,24 +3,24 @@ 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 E } from "./tooltip-BIrD_hC8.js";
4
4
  import { t as ae } from "./message-C8U_kMBA.js";
5
5
  import { t as D } from "./chevron-down-P5MtUhJO.js";
6
- import { At as oe, Dn as se, Dr as ce, Er as le, Fr as ue, Ft as de, It as fe, Lt as O, Mt as pe, Nt as me, Pt as he, Rr as ge, Rt as k, W as A, at as _e, cn as j, dr as ve, er as ye, gi as be, jt as xe, kt as Se, mn as Ce, o as we, ot as M, qi as N, qt as Te, rr as P, si as F, vr as I, yr as L } from "./api-BU1ot-rQ.js";
7
- import { n as Ee } from "./vue-i18n-Dcb07o5U.js";
8
- import { G as R, v as De } from "./dist-BQFunPaA.js";
9
- import { t as Oe } from "./button-BlYuI0Q7.js";
10
- import { t as ke } from "./inputtext-DGIESrd0.js";
11
- import { t as Ae } from "./close-Eq3txTBS.js";
12
- import { t as je } from "./divider-jkWvVbPJ.js";
13
- import { t as Me } from "./select-DjWkRqsI.js";
14
- import { i as Ne, n as Pe, r as Fe, t as Ie } from "./accordion-BT2wHwK8.js";
6
+ import { $i as oe, Br as se, Bt as ce, Cr as O, Ft as le, G as ue, Ht as k, It as de, Lt as fe, Mn as pe, Mr as me, Pt as he, Qt as ge, Rt as A, Si as _e, Ur as j, Ut as ve, Vt as ye, ar as be, cr as M, gr as N, jr as xe, lt as Se, o as P, pi as F, pn as Ce, ut as we, wr as I, yn as Te, zt as Ee } from "./api-CmcbBFTx.js";
7
+ import { n as De } from "./vue-i18n-Dcb07o5U.js";
8
+ import { G as L, v as Oe } from "./dist-BQFunPaA.js";
9
+ import { t as ke } from "./button-BlYuI0Q7.js";
10
+ import { t as Ae } from "./inputtext-DGIESrd0.js";
11
+ import { t as je } from "./close-Eq3txTBS.js";
12
+ import { t as Me } from "./divider-jkWvVbPJ.js";
13
+ import { t as Ne } from "./select-DjWkRqsI.js";
14
+ import { i as R, n as Pe, r as Fe, t as Ie } from "./accordion-BT2wHwK8.js";
15
15
  import { t as Le } from "./speeddial-Dv9txWte.js";
16
16
  import { t as Re } from "./textarea-DvLkfUX7.js";
17
- import { t as ze } from "./CuiBottomSheet-tJqB2HMb.js";
17
+ import { t as ze } from "./CuiBottomSheet-C4cK3fYK.js";
18
18
  import { t as Be } from "./cctv-Bz6BH0ns.js";
19
- import { u as Ve } from "./cards-DJ8I0DpS.js";
19
+ import { u as Ve } from "./cards-MnCBmBIR.js";
20
20
  import { t as He } from "./trash-can-outline-DCqsCOd2.js";
21
21
  import { t as Ue } from "./back-filled-Cxzg5vQg.js";
22
22
  import { a as We, d as Ge, f as Ke, l as z, p as qe, t as B, u as Je } from "./vue-flow-background-B0Vu4-8M.js";
23
- import { n as Ye } from "./rooms-BxY9U6db.js";
23
+ import { n as Ye } from "./rooms-Bp1ZVAzT.js";
24
24
  import { t as V } from "./minus-DKa9TXat.js";
25
25
  import { t as H } from "./eye-off-outline-DO3xfiua.js";
26
26
  import { t as Xe } from "./pencil-outline-BqfTDXIh.js";
@@ -313,7 +313,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
313
313
  }, Xt = { class: "cui-label" }, Zt = { class: "flex flex-col field-gap" }, $ = { class: "cui-label" }, Qt = { class: "text-color font-normal text-sm" }, $t = { class: "flex flex-col gap-6" }, en = { class: "flex flex-col field-gap" }, tn = { class: "cui-label" }, nn = { class: "flex flex-col field-gap" }, rn = { class: "cui-label" }, an = { class: "text-color font-normal text-sm" }, on = { class: "flex flex-col gap-6" }, sn = { class: "flex flex-col field-gap" }, cn = { class: "cui-label" }, ln = { class: "flex flex-col field-gap" }, un = { class: "cui-label" }, dn = { class: "flex flex-col field-gap" }, fn = { class: "cui-label" }, pn = {
314
314
  key: 0,
315
315
  class: "p-4 border-top-color"
316
- }, mn = /*#__PURE__*/ I(/* @__PURE__ */ C({
316
+ }, mn = /*#__PURE__*/ O(/* @__PURE__ */ C({
317
317
  __name: "CuiFloorplanInspector",
318
318
  props: {
319
319
  fluid: { type: Boolean },
@@ -334,7 +334,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
334
334
  "remove"
335
335
  ],
336
336
  setup(e, { emit: t }) {
337
- let n = e, a = t, { t: o } = Ee(), 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) => ({
337
+ let n = e, a = t, { t: o } = De(), 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) => ({
338
338
  label: e.name,
339
339
  value: e.id
340
340
  }))), ee = h(() => l.value?.outdoor ? l.value.publicSpace ? "public" : "outdoor" : "indoor"), v = h(() => [
@@ -382,32 +382,32 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
382
382
  }), oe = h(() => at.filter((e) => e !== "stairs").map((e) => ({
383
383
  label: o(`views.floorplan.connection_${e}`),
384
384
  value: e
385
- }))), se = h(() => E.value ? `${n.rooms.find((e) => e.roomId === E.value?.fromRoomId)?.name ?? ""} · ${n.rooms.find((e) => e.roomId === E.value?.toRoomId)?.name ?? ""}` : ""), ce = h(() => ((f.value?.rotation ?? 0) % 360 + 360) % 360), le = h(() => C.value ? C.value.owner || (n.rooms.find((e) => e.roomId === C.value?.roomId)?.name ?? "") : l.value ? n.levels.find((e) => e.id === l.value?.levelId)?.name ?? "" : E.value ? o(`views.floorplan.connection_${E.value.type}`) : f.value ? n.rooms.find((e) => e.roomId === f.value?.roomId)?.name ?? o("views.floorplan.no_room") : "");
386
- function ue(e) {
385
+ }))), se = h(() => E.value ? `${n.rooms.find((e) => e.roomId === E.value?.fromRoomId)?.name ?? ""} · ${n.rooms.find((e) => e.roomId === E.value?.toRoomId)?.name ?? ""}` : ""), ce = h(() => ((f.value?.rotation ?? 0) % 360 + 360) % 360), O = h(() => C.value ? C.value.owner || (n.rooms.find((e) => e.roomId === C.value?.roomId)?.name ?? "") : l.value ? n.levels.find((e) => e.id === l.value?.levelId)?.name ?? "" : E.value ? o(`views.floorplan.connection_${E.value.type}`) : f.value ? n.rooms.find((e) => e.roomId === f.value?.roomId)?.name ?? o("views.floorplan.no_room") : "");
386
+ function le(e) {
387
387
  C.value && a("update-sensor", {
388
388
  id: C.value.id,
389
389
  patch: e
390
390
  });
391
391
  }
392
- function de(e) {
392
+ function ue(e) {
393
393
  return {
394
394
  outdoor: e !== "indoor",
395
395
  publicSpace: e === "public"
396
396
  };
397
397
  }
398
- function fe(e) {
398
+ function k(e) {
399
399
  l.value && a("update-room", {
400
400
  id: l.value.id,
401
401
  patch: e
402
402
  });
403
403
  }
404
- function O(e) {
404
+ function de(e) {
405
405
  f.value && a("update-camera", {
406
406
  id: f.value.id,
407
407
  patch: e
408
408
  });
409
409
  }
410
- function pe() {
410
+ function fe() {
411
411
  l.value ? a("remove", {
412
412
  kind: "room",
413
413
  id: l.value.id
@@ -423,7 +423,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
423
423
  });
424
424
  }
425
425
  return (t, n) => {
426
- let o = Be, h = nt, w = $e, me = Ae, he = Oe, ge = Fe, k = Me, A = ae, _e = ke, j = Re, ve = Ne, be = Pe, xe = ye, Se = Ie;
426
+ let o = Be, h = nt, w = $e, pe = je, me = ke, he = Fe, ge = Ne, A = ae, _e = Ae, j = Re, ve = R, ye = Pe, M = be, N = Ie;
427
427
  return r(), _("div", _t, [
428
428
  b("div", vt, [
429
429
  b("div", yt, [m(f) ? (r(), u(o, {
@@ -436,45 +436,45 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
436
436
  key: 2,
437
437
  class: "w-4 h-4"
438
438
  }))]),
439
- b("div", bt, [b("div", Z, i(m(l)?.name ?? m(f)?.name ?? m(C)?.name ?? m(se)), 1), b("div", xt, i(m(le)), 1)]),
440
- T(he, {
439
+ b("div", bt, [b("div", Z, i(m(l)?.name ?? m(f)?.name ?? m(C)?.name ?? m(se)), 1), b("div", xt, i(m(O)), 1)]),
440
+ T(me, {
441
441
  severity: "secondary",
442
442
  text: "",
443
443
  rounded: "",
444
444
  class: "shrink-0 cui-icon-sm",
445
445
  onClick: n[0] ||= (e) => a("close")
446
446
  }, {
447
- icon: g(() => [T(me, {
447
+ icon: g(() => [T(pe, {
448
448
  width: "100%",
449
449
  height: "100%"
450
450
  })]),
451
451
  _: 1
452
452
  })
453
453
  ]),
454
- b("div", St, [T(Se, {
454
+ b("div", St, [T(N, {
455
455
  multiple: "",
456
456
  value: m(c),
457
457
  class: s(e.fluid ? "w-full" : "w-[300px]")
458
458
  }, {
459
459
  default: g(() => [
460
- m(l) ? (r(), u(be, {
460
+ m(l) ? (r(), u(ye, {
461
461
  key: 0,
462
462
  value: "general"
463
463
  }, {
464
- default: g(() => [T(ge, { class: "px-4 rounded-none!" }, {
464
+ default: g(() => [T(he, { class: "px-4 rounded-none!" }, {
465
465
  default: g(() => [b("span", Ct, i(t.$t("views.floorplan.section_room")), 1)]),
466
466
  _: 1
467
467
  }), T(ve, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
468
468
  default: g(() => [b("div", wt, [
469
469
  m(x).length > 1 ? (r(), _("div", Tt, [
470
470
  b("label", Et, i(t.$t("views.floorplan.belongs_to")), 1),
471
- T(k, {
471
+ T(ge, {
472
472
  "model-value": m(l).roomId,
473
473
  options: m(x),
474
474
  "option-label": "label",
475
475
  "option-value": "value",
476
476
  disabled: e.readOnly,
477
- "onUpdate:modelValue": n[1] ||= (e) => e && fe({ roomId: e })
477
+ "onUpdate:modelValue": n[1] ||= (e) => e && k({ roomId: e })
478
478
  }, null, 8, [
479
479
  "model-value",
480
480
  "options",
@@ -495,7 +495,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
495
495
  T(_e, {
496
496
  "model-value": m(l).name,
497
497
  disabled: e.readOnly,
498
- "onUpdate:modelValue": n[2] ||= (e) => fe({ name: e ?? "" })
498
+ "onUpdate:modelValue": n[2] ||= (e) => k({ name: e ?? "" })
499
499
  }, null, 8, ["model-value", "disabled"]),
500
500
  m(te) > 1 ? (r(), u(A, {
501
501
  key: 0,
@@ -508,22 +508,22 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
508
508
  _: 1
509
509
  })) : d("", !0)
510
510
  ]),
511
- b("div", kt, [b("label", At, i(t.$t("views.floorplan.level")), 1), T(k, {
511
+ b("div", kt, [b("label", At, i(t.$t("views.floorplan.level")), 1), T(ge, {
512
512
  "model-value": m(l).levelId,
513
513
  options: m(p),
514
514
  "option-label": "label",
515
515
  "option-value": "value",
516
- "onUpdate:modelValue": n[3] ||= (e) => fe({ levelId: e })
516
+ "onUpdate:modelValue": n[3] ||= (e) => k({ levelId: e })
517
517
  }, null, 8, ["model-value", "options"])]),
518
518
  b("div", jt, [
519
519
  b("label", Mt, i(t.$t("views.floorplan.room_kind")), 1),
520
- T(k, {
520
+ T(ge, {
521
521
  "model-value": m(ee),
522
522
  options: m(v),
523
523
  "option-label": "label",
524
524
  "option-value": "value",
525
525
  disabled: e.readOnly,
526
- "onUpdate:modelValue": n[4] ||= (e) => fe(de(e))
526
+ "onUpdate:modelValue": n[4] ||= (e) => k(ue(e))
527
527
  }, null, 8, [
528
528
  "model-value",
529
529
  "options",
@@ -547,7 +547,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
547
547
  maxlength: m(240),
548
548
  rows: "3",
549
549
  "auto-resize": "",
550
- "onUpdate:modelValue": n[5] ||= (e) => fe({ note: e ?? "" })
550
+ "onUpdate:modelValue": n[5] ||= (e) => k({ note: e ?? "" })
551
551
  }, null, 8, [
552
552
  "model-value",
553
553
  "disabled",
@@ -569,18 +569,18 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
569
569
  }, 8, ["pt"])]),
570
570
  _: 1
571
571
  })) : d("", !0),
572
- m(E) ? (r(), u(be, {
572
+ m(E) ? (r(), u(ye, {
573
573
  key: 1,
574
574
  value: "general"
575
575
  }, {
576
- default: g(() => [T(ge, { class: "px-4 rounded-none!" }, {
576
+ default: g(() => [T(he, { class: "px-4 rounded-none!" }, {
577
577
  default: g(() => [b("span", Lt, i(t.$t("views.floorplan.section_connection")), 1)]),
578
578
  _: 1
579
579
  }), T(ve, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
580
580
  default: g(() => [
581
581
  b("div", Rt, [
582
582
  b("label", zt, i(t.$t("views.floorplan.connection_type")), 1),
583
- m(D) ? (r(), _("span", Bt, i(t.$t("views.floorplan.connection_stairs")), 1)) : (r(), u(k, {
583
+ m(D) ? (r(), _("span", Bt, i(t.$t("views.floorplan.connection_stairs")), 1)) : (r(), u(ge, {
584
584
  key: 0,
585
585
  "model-value": m(E).type,
586
586
  options: m(oe),
@@ -608,7 +608,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
608
608
  ]),
609
609
  m(D) ? d("", !0) : (r(), _("div", Vt, [
610
610
  b("label", Ht, i(t.$t("views.floorplan.connection_width", { value: m(st)(m(E).width).toFixed(2) })), 1),
611
- T(xe, {
611
+ T(M, {
612
612
  "model-value": m(E).width,
613
613
  disabled: e.readOnly,
614
614
  min: m(q).min,
@@ -666,22 +666,22 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
666
666
  }, 8, ["pt"])]),
667
667
  _: 1
668
668
  })) : d("", !0),
669
- m(C) ? (r(), u(be, {
669
+ m(C) ? (r(), u(ye, {
670
670
  key: 2,
671
671
  value: "general"
672
672
  }, {
673
- default: g(() => [T(ge, { class: "px-4 rounded-none!" }, {
673
+ default: g(() => [T(he, { class: "px-4 rounded-none!" }, {
674
674
  default: g(() => [b("span", Gt, i(t.$t("views.floorplan.section_sensor")), 1)]),
675
675
  _: 1
676
676
  }), T(ve, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
677
677
  default: g(() => [b("div", Kt, [
678
- b("div", qt, [b("label", Jt, i(t.$t("views.floorplan.assigned_room")), 1), T(k, {
678
+ b("div", qt, [b("label", Jt, i(t.$t("views.floorplan.assigned_room")), 1), T(ge, {
679
679
  "model-value": m(C).roomId,
680
680
  options: m(re),
681
681
  disabled: e.readOnly,
682
682
  "option-label": "label",
683
683
  "option-value": "value",
684
- "onUpdate:modelValue": n[9] ||= (e) => e && ue({ roomId: e })
684
+ "onUpdate:modelValue": n[9] ||= (e) => e && le({ roomId: e })
685
685
  }, null, 8, [
686
686
  "model-value",
687
687
  "options",
@@ -689,14 +689,14 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
689
689
  ])]),
690
690
  m(ie).length ? (r(), _("div", Yt, [
691
691
  b("label", Xt, i(t.$t("views.floorplan.sensor_passage")), 1),
692
- T(k, {
692
+ T(ge, {
693
693
  "model-value": m(C).connectionId,
694
694
  options: m(ie),
695
695
  disabled: e.readOnly,
696
696
  "option-label": "label",
697
697
  "option-value": "value",
698
698
  "show-clear": "",
699
- "onUpdate:modelValue": n[10] ||= (e) => ue({ connectionId: e ?? null })
699
+ "onUpdate:modelValue": n[10] ||= (e) => le({ connectionId: e ?? null })
700
700
  }, null, 8, [
701
701
  "model-value",
702
702
  "options",
@@ -720,7 +720,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
720
720
  maxlength: m(240),
721
721
  rows: "3",
722
722
  "auto-resize": "",
723
- "onUpdate:modelValue": n[11] ||= (e) => ue({ note: e ?? "" })
723
+ "onUpdate:modelValue": n[11] ||= (e) => le({ note: e ?? "" })
724
724
  }, null, 8, [
725
725
  "model-value",
726
726
  "disabled",
@@ -741,20 +741,20 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
741
741
  }, 8, ["pt"])]),
742
742
  _: 1
743
743
  })) : d("", !0),
744
- m(f) ? (r(), _(y, { key: 3 }, [T(be, { value: "general" }, {
745
- default: g(() => [T(ge, { class: "px-4 rounded-none!" }, {
744
+ m(f) ? (r(), _(y, { key: 3 }, [T(ye, { value: "general" }, {
745
+ default: g(() => [T(he, { class: "px-4 rounded-none!" }, {
746
746
  default: g(() => [b("span", Qt, i(t.$t("views.floorplan.section_camera")), 1)]),
747
747
  _: 1
748
748
  }), T(ve, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
749
749
  default: g(() => [b("div", $t, [b("div", en, [
750
750
  b("label", tn, i(t.$t("views.floorplan.assigned_room")), 1),
751
- T(k, {
751
+ T(ge, {
752
752
  "model-value": m(f).roomId,
753
753
  options: m(ne),
754
754
  disabled: e.readOnly,
755
755
  "option-label": "label",
756
756
  "option-value": "value",
757
- "onUpdate:modelValue": n[12] ||= (e) => e && O({ roomId: e })
757
+ "onUpdate:modelValue": n[12] ||= (e) => e && de({ roomId: e })
758
758
  }, null, 8, [
759
759
  "model-value",
760
760
  "options",
@@ -777,7 +777,7 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
777
777
  maxlength: m(240),
778
778
  rows: "3",
779
779
  "auto-resize": "",
780
- "onUpdate:modelValue": n[13] ||= (e) => O({ note: e ?? "" })
780
+ "onUpdate:modelValue": n[13] ||= (e) => de({ note: e ?? "" })
781
781
  }, null, 8, [
782
782
  "model-value",
783
783
  "disabled",
@@ -796,33 +796,33 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
796
796
  _: 1
797
797
  }, 8, ["pt"])]),
798
798
  _: 1
799
- }), T(be, { value: "view" }, {
800
- default: g(() => [T(ge, { class: "px-4 rounded-none!" }, {
799
+ }), T(ye, { value: "view" }, {
800
+ default: g(() => [T(he, { class: "px-4 rounded-none!" }, {
801
801
  default: g(() => [b("span", an, i(t.$t("views.floorplan.section_view")), 1)]),
802
802
  _: 1
803
803
  }), T(ve, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
804
804
  default: g(() => [b("div", on, [
805
- b("div", sn, [b("label", cn, i(t.$t("views.floorplan.direction", { value: m(ce) })), 1), T(xe, {
805
+ b("div", sn, [b("label", cn, i(t.$t("views.floorplan.direction", { value: m(ce) })), 1), T(M, {
806
806
  "model-value": m(ce),
807
807
  disabled: e.readOnly,
808
808
  min: 0,
809
809
  max: 359,
810
- "onUpdate:modelValue": n[14] ||= (e) => O({ rotation: Number(e) })
810
+ "onUpdate:modelValue": n[14] ||= (e) => de({ rotation: Number(e) })
811
811
  }, null, 8, ["model-value", "disabled"])]),
812
- b("div", ln, [b("label", un, i(t.$t("views.floorplan.fov", { value: m(f).fov })), 1), T(xe, {
812
+ b("div", ln, [b("label", un, i(t.$t("views.floorplan.fov", { value: m(f).fov })), 1), T(M, {
813
813
  "model-value": m(f).fov,
814
814
  disabled: e.readOnly,
815
815
  min: 30,
816
816
  max: 180,
817
- "onUpdate:modelValue": n[15] ||= (e) => O({ fov: Number(e) })
817
+ "onUpdate:modelValue": n[15] ||= (e) => de({ fov: Number(e) })
818
818
  }, null, 8, ["model-value", "disabled"])]),
819
- b("div", dn, [b("label", fn, i(t.$t("views.floorplan.range", { value: m(st)(m(f).range).toFixed(1) })), 1), T(xe, {
819
+ b("div", dn, [b("label", fn, i(t.$t("views.floorplan.range", { value: m(st)(m(f).range).toFixed(1) })), 1), T(M, {
820
820
  disabled: e.readOnly,
821
821
  "model-value": m(f).range,
822
822
  min: m(K).min,
823
823
  max: m(K).max,
824
824
  step: 50,
825
- "onUpdate:modelValue": n[16] ||= (e) => O({ range: Number(e) })
825
+ "onUpdate:modelValue": n[16] ||= (e) => de({ range: Number(e) })
826
826
  }, null, 8, [
827
827
  "disabled",
828
828
  "model-value",
@@ -837,12 +837,12 @@ var _t = { class: "h-full flex flex-col overflow-hidden" }, vt = { class: "flex
837
837
  ]),
838
838
  _: 1
839
839
  }, 8, ["value", "class"])]),
840
- e.readOnly ? d("", !0) : (r(), _("div", pn, [T(he, {
840
+ e.readOnly ? d("", !0) : (r(), _("div", pn, [T(me, {
841
841
  severity: "danger",
842
842
  fluid: "",
843
843
  class: "w-full cui-button-medium",
844
844
  label: m(l) ? t.$t("views.floorplan.delete_room") : m(E) ? t.$t("views.floorplan.remove_connection") : m(C) ? t.$t("views.floorplan.remove_sensor") : t.$t("views.floorplan.remove_camera"),
845
- onClick: pe
845
+ onClick: fe
846
846
  }, null, 8, ["label"])]))
847
847
  ]);
848
848
  };
@@ -1022,7 +1022,7 @@ var bn = l({
1022
1022
  width: "46",
1023
1023
  height: "46",
1024
1024
  viewBox: "0 0 46 46"
1025
- }, wr = ["transform"], Tr = { class: "flex flex-col overflow-hidden floorplan-controls" }, Er = { class: "floorplan-scale flex items-center gap-2 px-2 py-1" }, Dr = ["width"], Or = ["d"], kr = { class: "text-xs text-muted whitespace-nowrap" }, Ar = 60, jr = /*#__PURE__*/ I(/* @__PURE__ */ C({
1025
+ }, wr = ["transform"], Tr = { class: "flex flex-col overflow-hidden floorplan-controls" }, Er = { class: "floorplan-scale flex items-center gap-2 px-2 py-1" }, Dr = ["width"], Or = ["d"], kr = { class: "text-xs text-muted whitespace-nowrap" }, Ar = 60, jr = /*#__PURE__*/ O(/* @__PURE__ */ C({
1026
1026
  __name: "CuiFloorplanCanvas",
1027
1027
  props: {
1028
1028
  mobile: { type: Boolean },
@@ -1060,17 +1060,17 @@ var bn = l({
1060
1060
  let p = a, S = f, ne = te("wrapperRef"), C = w(!1), re = w(!1), ae = te("compassRef"), D = w({
1061
1061
  x: null,
1062
1062
  y: null
1063
- }), oe = w(null), se = w(null), ce = w(null), le = w(null), ue = /* @__PURE__ */ new Set(["motion", "audio"]), de = /* @__PURE__ */ new Set([
1063
+ }), oe = w(null), se = w(null), ce = w(null), O = w(null), le = /* @__PURE__ */ new Set(["motion", "audio"]), ue = /* @__PURE__ */ new Set([
1064
1064
  "object",
1065
1065
  "face",
1066
1066
  "licensePlate",
1067
1067
  "classifier",
1068
1068
  "objectAssist",
1069
1069
  "clip"
1070
- ]), O = null, ge = !1, k = null, { viewport: A, zoomIn: _e, zoomOut: ve, fitBounds: ye } = z(), { sensors: be } = De(), xe = h(() => p.sensors.filter((e) => e.levelId === p.levelId)), Se = h(() => {
1070
+ ]), k = null, de = !1, pe = null, { viewport: me, zoomIn: he, zoomOut: ge, fitBounds: _e } = z(), { sensors: j } = Oe(), ve = h(() => p.sensors.filter((e) => e.levelId === p.levelId)), be = h(() => {
1071
1071
  let e = /* @__PURE__ */ new Map();
1072
- for (let t of be.value) {
1073
- let n = String(t.type), r = ue.has(n), i = de.has(n);
1072
+ for (let t of j.value) {
1073
+ let n = String(t.type), r = le.has(n), i = ue.has(n);
1074
1074
  if (!r && !i || t.getProperty("detected") !== !0) continue;
1075
1075
  let a = Ke(t, n);
1076
1076
  for (let n of t.assignedCameraIds.value) {
@@ -1082,23 +1082,23 @@ var bn = l({
1082
1082
  }
1083
1083
  }
1084
1084
  return e;
1085
- }), we = h(() => {
1086
- let e = F.value.find((e) => e.id === le.value);
1085
+ }), M = h(() => {
1086
+ let e = F.value.find((e) => e.id === O.value);
1087
1087
  if (!e) return null;
1088
1088
  let t = `${ct(e.width, 1)} x ${ct(e.height, 1)}`;
1089
1089
  return {
1090
1090
  text: t,
1091
1091
  width: st(t),
1092
1092
  x: e.x + e.width / 2,
1093
- y: e.y + e.height + 10 / M.value
1093
+ y: e.y + e.height + 10 / N.value
1094
1094
  };
1095
- }), M = h(() => A.value.zoom), N = h(() => ({
1096
- x: A.value.x,
1097
- y: A.value.y
1098
- })), Te = h(() => p.north ?? 0), P = h(() => p.readOnly === !0 || C.value), F = h(() => p.rooms.filter((e) => e.levelId === p.levelId)), I = h(() => p.cameras.filter((e) => e.levelId === p.levelId)), L = h(() => {
1095
+ }), N = h(() => me.value.zoom), xe = h(() => ({
1096
+ x: me.value.x,
1097
+ y: me.value.y
1098
+ })), Se = h(() => p.north ?? 0), P = h(() => p.readOnly === !0 || C.value), F = h(() => p.rooms.filter((e) => e.levelId === p.levelId)), we = h(() => p.cameras.filter((e) => e.levelId === p.levelId)), I = h(() => {
1099
1099
  let e = 4e3, t = [0], n = [0];
1100
1100
  for (let e of F.value) t.push(e.x, e.x + e.width), n.push(e.y, e.y + e.height);
1101
- for (let e of I.value) t.push(e.x - e.range, e.x + e.range), n.push(e.y - e.range, e.y + e.range);
1101
+ for (let e of we.value) t.push(e.x - e.range, e.x + e.range), n.push(e.y - e.range, e.y + e.range);
1102
1102
  let r = Math.min(...t) - e, i = Math.min(...n) - e;
1103
1103
  return {
1104
1104
  x: r,
@@ -1106,7 +1106,7 @@ var bn = l({
1106
1106
  width: Math.max(...t) + e - r,
1107
1107
  height: Math.max(...n) + e - i
1108
1108
  };
1109
- }), Ee = [{
1109
+ }), De = [{
1110
1110
  id: "scene",
1111
1111
  type: "scene",
1112
1112
  position: {
@@ -1116,7 +1116,7 @@ var bn = l({
1116
1116
  draggable: !1,
1117
1117
  selectable: !1,
1118
1118
  data: {}
1119
- }], R = h(() => p.selection?.kind === "room" ? F.value.find((e) => e.id === p.selection?.id) : void 0), Oe = h(() => p.selection?.kind === "camera" ? I.value.find((e) => e.id === p.selection?.id) : void 0), ke = h(() => M.value >= .45), Ae = h(() => {
1119
+ }], L = h(() => p.selection?.kind === "room" ? F.value.find((e) => e.id === p.selection?.id) : void 0), ke = h(() => p.selection?.kind === "camera" ? we.value.find((e) => e.id === p.selection?.id) : void 0), Ae = h(() => N.value >= .45), je = h(() => {
1120
1120
  let e = [
1121
1121
  .5,
1122
1122
  1,
@@ -1125,22 +1125,22 @@ var bn = l({
1125
1125
  10,
1126
1126
  20,
1127
1127
  50
1128
- ], t = e.filter((e) => e * 100 * M.value <= 130).pop() ?? e[0];
1128
+ ], t = e.filter((e) => e * 100 * N.value <= 130).pop() ?? e[0];
1129
1129
  return {
1130
1130
  meters: t,
1131
- width: Math.round(t * 100 * M.value),
1131
+ width: Math.round(t * 100 * N.value),
1132
1132
  label: `${t} m`
1133
1133
  };
1134
- }), je = h(() => p.connections.map((e) => ({
1134
+ }), Me = h(() => p.connections.map((e) => ({
1135
1135
  connection: e,
1136
1136
  geometry: ft(e, p.rooms, p.levelId)
1137
- })).filter((e) => e.geometry !== null)), Me = h(() => new Map([...Ne.value].map(([e, t]) => [e, tt(t.reduce((e, t) => t.width * t.height > e.width * e.height ? t : e))]))), Ne = h(() => {
1137
+ })).filter((e) => e.geometry !== null)), Ne = h(() => new Map([...R.value].map(([e, t]) => [e, tt(t.reduce((e, t) => t.width * t.height > e.width * e.height ? t : e))]))), R = h(() => {
1138
1138
  let e = /* @__PURE__ */ new Map();
1139
1139
  for (let t of F.value) e.set(t.roomId, [...e.get(t.roomId) ?? [], t]);
1140
1140
  return e;
1141
1141
  }), Pe = h(() => {
1142
1142
  let e = /* @__PURE__ */ new Map();
1143
- for (let t of je.value) {
1143
+ for (let t of Me.value) {
1144
1144
  if (t.geometry.kind !== "edge") continue;
1145
1145
  let n = {
1146
1146
  x1: t.geometry.x1,
@@ -1151,38 +1151,38 @@ var bn = l({
1151
1151
  for (let r of [t.connection.fromRoomId, t.connection.toRoomId]) e.set(r, [...e.get(r) ?? [], n]);
1152
1152
  }
1153
1153
  return e;
1154
- }), Fe = h(() => [...Ne.value].map(([e, t]) => ({
1154
+ }), Fe = h(() => [...R.value].map(([e, t]) => ({
1155
1155
  roomId: e,
1156
1156
  parts: t,
1157
- ...pt(t, 8 / M.value, Pe.value.get(e) ?? []),
1157
+ ...pt(t, 8 / N.value, Pe.value.get(e) ?? []),
1158
1158
  outdoor: t.every((e) => e.outdoor),
1159
1159
  publicSpace: t.every((e) => e.publicSpace),
1160
1160
  selected: t.some((e) => J("room", e.id))
1161
1161
  })).sort((e, t) => Number(e.selected) - Number(t.selected))), Ie = h(() => {
1162
1162
  let e = /* @__PURE__ */ new Map();
1163
- for (let t of Ne.value.keys()) e.set(t, t);
1163
+ for (let t of R.value.keys()) e.set(t, t);
1164
1164
  let t = (t) => {
1165
1165
  let n = t;
1166
1166
  for (; e.get(n) !== n;) n = e.get(n);
1167
1167
  return n;
1168
- }, n = (e) => (Ne.value.get(e) ?? []).every((e) => e.outdoor);
1168
+ }, n = (e) => (R.value.get(e) ?? []).every((e) => e.outdoor);
1169
1169
  for (let r of p.connections) {
1170
1170
  if (!e.has(r.fromRoomId) || !e.has(r.toRoomId) || !n(r.fromRoomId) || !n(r.toRoomId)) continue;
1171
1171
  let i = t(r.fromRoomId), a = t(r.toRoomId);
1172
1172
  i !== a && e.set(i, a);
1173
1173
  }
1174
1174
  let r = /* @__PURE__ */ new Map();
1175
- for (let [e, n] of Ne.value) {
1175
+ for (let [e, n] of R.value) {
1176
1176
  let i = t(e);
1177
1177
  r.set(i, [...r.get(i) ?? [], ...n]);
1178
1178
  }
1179
1179
  let i = /* @__PURE__ */ new Map();
1180
- for (let [e, t] of r) i.set(e, pt(t, 8 / M.value, []).fill);
1181
- return [...Ne.value.keys()].map((e) => ({
1180
+ for (let [e, t] of r) i.set(e, pt(t, 8 / N.value, []).fill);
1181
+ return [...R.value.keys()].map((e) => ({
1182
1182
  roomId: e,
1183
1183
  path: i.get(t(e)) ?? ""
1184
1184
  }));
1185
- }), Le = h(() => je.value.flatMap((e) => {
1185
+ }), Le = h(() => Me.value.flatMap((e) => {
1186
1186
  if (e.geometry.kind !== "edge") return [];
1187
1187
  let { x1: t, y1: n, x2: r, y2: i, wall: a } = e.geometry;
1188
1188
  return [{
@@ -1199,7 +1199,7 @@ var bn = l({
1199
1199
  }]
1200
1200
  }];
1201
1201
  })), Re = h(() => {
1202
- let e = R.value;
1202
+ let e = L.value;
1203
1203
  return !e || P.value ? [] : F.value.filter((t) => t.roomId !== e.roomId).map((t) => ({
1204
1204
  other: t,
1205
1205
  wall: ut(e, t)
@@ -1235,21 +1235,21 @@ var bn = l({
1235
1235
  }), Be = h(() => {
1236
1236
  let e = [], t = /* @__PURE__ */ new Map(), n = (n, r, i, a) => {
1237
1237
  let o = F.value.find((e) => e.id === r) ?? F.value.find((e) => e.roomId === n);
1238
- if (!o || o.width * M.value < 80 || o.height * M.value < 60) return;
1238
+ if (!o || o.width * N.value < 80 || o.height * N.value < 60) return;
1239
1239
  let s = t.get(o.id) ?? 0;
1240
1240
  t.set(o.id, s + 1), e.push({
1241
1241
  key: i ?? `stairs-${n}`,
1242
1242
  roomId: n,
1243
1243
  connectionId: i,
1244
1244
  direction: a,
1245
- x: o.x + o.width - (16 + s * 30) / M.value,
1246
- y: o.y + 16 / M.value
1245
+ x: o.x + o.width - (16 + s * 30) / N.value,
1246
+ y: o.y + 16 / N.value
1247
1247
  });
1248
1248
  };
1249
- for (let e of je.value) e.geometry.kind === "badge" && n(e.geometry.roomId, e.geometry.shapeId, e.connection.id, G(e.connection, e.geometry.roomId));
1249
+ for (let e of Me.value) e.geometry.kind === "badge" && n(e.geometry.roomId, e.geometry.shapeId, e.connection.id, G(e.connection, e.geometry.roomId));
1250
1250
  return He.value && n(He.value.roomId, He.value.shapeId, void 0, void 0), e;
1251
1251
  }), He = h(() => {
1252
- let e = R.value;
1252
+ let e = L.value;
1253
1253
  if (!e || P.value) return null;
1254
1254
  let t = new Set(p.connections.flatMap((e) => [e.fromRoomId, e.toRoomId].join("|")));
1255
1255
  return p.rooms.some((n) => n.levelId !== e.levelId && !t.has([e.roomId, n.roomId].join("|")) && !t.has([n.roomId, e.roomId].join("|"))) ? {
@@ -1259,12 +1259,12 @@ var bn = l({
1259
1259
  }), Ue = h(() => {
1260
1260
  let e = ne.value?.getBoundingClientRect(), t = e?.width ?? 0, n = e?.height ?? 0;
1261
1261
  return {
1262
- left: -N.value.x / M.value,
1263
- top: -N.value.y / M.value,
1264
- right: (t - N.value.x) / M.value,
1265
- bottom: (n - N.value.y) / M.value
1262
+ left: -xe.value.x / N.value,
1263
+ top: -xe.value.y / N.value,
1264
+ right: (t - xe.value.x) / N.value,
1265
+ bottom: (n - xe.value.y) / N.value
1266
1266
  };
1267
- }), Ge = h(() => new Set(I.value.filter((e) => Se.value.has(e.id)).map((e) => e.roomId)));
1267
+ }), Ge = h(() => new Set(we.value.filter((e) => be.value.has(e.id)).map((e) => e.roomId)));
1268
1268
  function Ke(e, t) {
1269
1269
  switch (t) {
1270
1270
  case "object":
@@ -1282,15 +1282,15 @@ var bn = l({
1282
1282
  }
1283
1283
  }
1284
1284
  function qe(e) {
1285
- return Se.value.get(e)?.level;
1285
+ return be.value.get(e)?.level;
1286
1286
  }
1287
1287
  function Je(e) {
1288
- return Se.value.get(e.id)?.labels ?? [];
1288
+ return be.value.get(e.id)?.labels ?? [];
1289
1289
  }
1290
1290
  function Ye(e) {
1291
- let t = (8 + Je(e).length * 17) / M.value;
1291
+ let t = (8 + Je(e).length * 17) / N.value;
1292
1292
  return {
1293
- width: t + st(e.name) - 10 / M.value,
1293
+ width: t + st(e.name) - 10 / N.value,
1294
1294
  textOffset: t
1295
1295
  };
1296
1296
  }
@@ -1305,13 +1305,13 @@ var bn = l({
1305
1305
  ce.value = null, S("hover-sensor", null);
1306
1306
  }
1307
1307
  function W(e) {
1308
- return be.value.find((t) => t.id === e);
1308
+ return j.value.find((t) => t.id === e);
1309
1309
  }
1310
1310
  function Ze(e) {
1311
- return fe(e.sensorType, he(W(e.id)));
1311
+ return ye(e.sensorType, Ee(W(e.id)));
1312
1312
  }
1313
1313
  function Qe(e) {
1314
- let t = me(W(e.id));
1314
+ let t = A(W(e.id));
1315
1315
  return t ? `${e.name} · ${t}` : e.name;
1316
1316
  }
1317
1317
  function G(e, t) {
@@ -1328,11 +1328,11 @@ var bn = l({
1328
1328
  });
1329
1329
  }
1330
1330
  function et(e) {
1331
- let t = Me.value.get(e.roomId);
1331
+ let t = Ne.value.get(e.roomId);
1332
1332
  return t ? [t] : [];
1333
1333
  }
1334
1334
  function tt(e) {
1335
- let t = e.width >= e.height, n = t ? e.width : e.height, r = t ? e.height : e.width, i = 9 / M.value, a = Math.max(Math.min(15, r * .3), i);
1335
+ 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);
1336
1336
  if (a > r) return null;
1337
1337
  let o = n - a, s = a * rt, c = e.name;
1338
1338
  if (s * c.length > o) {
@@ -1359,10 +1359,10 @@ var bn = l({
1359
1359
  oe.value = null, S("hover-camera", null);
1360
1360
  }
1361
1361
  function st(e) {
1362
- return (e.length * 7 + 20) / M.value;
1362
+ return (e.length * 7 + 20) / N.value;
1363
1363
  }
1364
1364
  function lt(e, t) {
1365
- let n = 4 / M.value;
1365
+ let n = 4 / N.value;
1366
1366
  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}`;
1367
1367
  }
1368
1368
  function mt(e) {
@@ -1378,8 +1378,8 @@ var bn = l({
1378
1378
  function gt(e) {
1379
1379
  let t = ne.value?.getBoundingClientRect();
1380
1380
  return t ? {
1381
- x: (e.clientX - t.left - N.value.x) / M.value,
1382
- y: (e.clientY - t.top - N.value.y) / M.value
1381
+ x: (e.clientX - t.left - xe.value.x) / N.value,
1382
+ y: (e.clientY - t.top - xe.value.y) / N.value
1383
1383
  } : {
1384
1384
  x: 0,
1385
1385
  y: 0
@@ -1392,7 +1392,7 @@ var bn = l({
1392
1392
  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);
1393
1393
  }
1394
1394
  function _t(e, t, n) {
1395
- let r = 10 / M.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;
1395
+ 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;
1396
1396
  for (let e of F.value) if (e.id !== t) {
1397
1397
  for (let t of i) for (let n of [e.x, e.x + e.width]) {
1398
1398
  let e = n - t;
@@ -1420,7 +1420,7 @@ var bn = l({
1420
1420
  return Math.min(Math.max(e, t), n);
1421
1421
  }
1422
1422
  function yt(e, t, n) {
1423
- let r = Ne.value.get(e);
1423
+ let r = R.value.get(e);
1424
1424
  if (!r?.length || r.some((e) => t >= e.x && t <= e.x + e.width && n >= e.y && n <= e.y + e.height)) return {
1425
1425
  x: t,
1426
1426
  y: n
@@ -1439,7 +1439,7 @@ var bn = l({
1439
1439
  return i;
1440
1440
  }
1441
1441
  function bt(e) {
1442
- return I.value.filter((t) => t.roomId === e);
1442
+ return we.value.filter((t) => t.roomId === e);
1443
1443
  }
1444
1444
  function Z(e) {
1445
1445
  ne.value?.setPointerCapture?.(e.pointerId);
@@ -1457,7 +1457,7 @@ var bn = l({
1457
1457
  }), P.value) return;
1458
1458
  e.stopPropagation();
1459
1459
  let n = gt(e);
1460
- O = {
1460
+ k = {
1461
1461
  mode: "room",
1462
1462
  id: t.id,
1463
1463
  offsetX: n.x - t.x,
@@ -1468,7 +1468,7 @@ var bn = l({
1468
1468
  S("select", {
1469
1469
  kind: "room",
1470
1470
  id: t.id
1471
- }), !P.value && (e.stopPropagation(), le.value = t.id, O = {
1471
+ }), !P.value && (e.stopPropagation(), O.value = t.id, k = {
1472
1472
  mode: "resize",
1473
1473
  id: t.id,
1474
1474
  originX: t.x,
@@ -1482,7 +1482,7 @@ var bn = l({
1482
1482
  }), P.value) return;
1483
1483
  e.stopPropagation();
1484
1484
  let n = gt(e);
1485
- O = {
1485
+ k = {
1486
1486
  mode: "camera",
1487
1487
  id: t.id,
1488
1488
  offsetX: n.x - t.x,
@@ -1493,28 +1493,28 @@ var bn = l({
1493
1493
  S("select", {
1494
1494
  kind: "camera",
1495
1495
  id: t.id
1496
- }), !P.value && (e.stopPropagation(), O = {
1496
+ }), !P.value && (e.stopPropagation(), k = {
1497
1497
  mode: "rotate",
1498
1498
  id: t.id
1499
1499
  }, Z(e));
1500
1500
  }
1501
1501
  function Et(e) {
1502
- if (!O) return;
1503
- if (O.mode === "north") {
1502
+ if (!k) return;
1503
+ if (k.mode === "north") {
1504
1504
  let t = ae.value?.getBoundingClientRect();
1505
1505
  if (!t) return;
1506
1506
  let n = Math.atan2(e.clientY - (t.top + t.height / 2), e.clientX - (t.left + t.width / 2)) * 180 / Math.PI;
1507
1507
  S("update-north", Math.round((n + 450) % 360));
1508
1508
  return;
1509
1509
  }
1510
- ge || (ge = !0, S("history"));
1510
+ de || (de = !0, S("history"));
1511
1511
  let t = gt(e);
1512
- if (O.mode === "room") {
1513
- let e = O.id, n = F.value.find((t) => t.id === e);
1512
+ if (k.mode === "room") {
1513
+ let e = k.id, n = F.value.find((t) => t.id === e);
1514
1514
  if (!n) return;
1515
1515
  let r = _t({
1516
- x: Y(t.x - O.offsetX),
1517
- y: Y(t.y - O.offsetY),
1516
+ x: Y(t.x - k.offsetX),
1517
+ y: Y(t.y - k.offsetY),
1518
1518
  width: n.width,
1519
1519
  height: n.height
1520
1520
  }, n.id, "both"), i = X(n, n.id) ? {
@@ -1528,14 +1528,14 @@ var bn = l({
1528
1528
  });
1529
1529
  return;
1530
1530
  }
1531
- if (O.mode === "resize") {
1532
- let e = O.id, n = F.value.find((t) => t.id === e);
1531
+ if (k.mode === "resize") {
1532
+ let e = k.id, n = F.value.find((t) => t.id === e);
1533
1533
  if (!n) return;
1534
1534
  let r = _t({
1535
1535
  x: n.x,
1536
1536
  y: n.y,
1537
- width: Math.max(60, Y(t.x - O.originX)),
1538
- height: Math.max(60, Y(t.y - O.originY))
1537
+ width: Math.max(60, Y(t.x - k.originX)),
1538
+ height: Math.max(60, Y(t.y - k.originY))
1539
1539
  }, n.id, "end"), i = X({
1540
1540
  ...r,
1541
1541
  height: n.height
@@ -1550,8 +1550,8 @@ var bn = l({
1550
1550
  });
1551
1551
  return;
1552
1552
  }
1553
- if (O.mode === "passage") {
1554
- let e = O, n = p.connections.find((t) => t.id === e.id);
1553
+ if (k.mode === "passage") {
1554
+ let e = k, n = p.connections.find((t) => t.id === e.id);
1555
1555
  if (!n) return;
1556
1556
  let r = dt(e.wall, n.offset, n.width), i = Nt(e.wall, {
1557
1557
  x: (r.x1 + r.x2) / 2,
@@ -1563,8 +1563,8 @@ var bn = l({
1563
1563
  }), e.grab = a;
1564
1564
  return;
1565
1565
  }
1566
- if (O.mode === "passage-resize") {
1567
- let e = O, n = p.connections.find((t) => t.id === e.id);
1566
+ if (k.mode === "passage-resize") {
1567
+ let e = k, n = p.connections.find((t) => t.id === e.id);
1568
1568
  if (!n) return;
1569
1569
  let r = dt(e.wall, n.offset, n.width), i = Nt(e.wall, e.end === 0 ? {
1570
1570
  x: r.x2,
@@ -1580,23 +1580,23 @@ var bn = l({
1580
1580
  });
1581
1581
  return;
1582
1582
  }
1583
- if (O.mode === "sensor") {
1584
- let e = O.id, n = yt(xe.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - O.offsetX), Y(t.y - O.offsetY));
1583
+ if (k.mode === "sensor") {
1584
+ let e = k.id, n = yt(ve.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - k.offsetX), Y(t.y - k.offsetY));
1585
1585
  S("move-sensor", {
1586
1586
  id: e,
1587
1587
  ...n
1588
1588
  });
1589
1589
  return;
1590
1590
  }
1591
- if (O.mode === "camera") {
1592
- let e = O.id, n = yt(I.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - O.offsetX), Y(t.y - O.offsetY));
1591
+ if (k.mode === "camera") {
1592
+ let e = k.id, n = yt(we.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - k.offsetX), Y(t.y - k.offsetY));
1593
1593
  S("move-camera", {
1594
1594
  id: e,
1595
1595
  ...n
1596
1596
  });
1597
1597
  return;
1598
1598
  }
1599
- let n = O.id, r = I.value.find((e) => e.id === n);
1599
+ let n = k.id, r = we.value.find((e) => e.id === n);
1600
1600
  if (!r) return;
1601
1601
  let i = t.x - r.x, a = t.y - r.y;
1602
1602
  S("rotate-camera", {
@@ -1622,7 +1622,7 @@ var bn = l({
1622
1622
  };
1623
1623
  }
1624
1624
  function Ot(e) {
1625
- P.value || (e.stopPropagation(), S("history"), O = { mode: "north" }, ae.value?.setPointerCapture?.(e.pointerId));
1625
+ P.value || (e.stopPropagation(), S("history"), k = { mode: "north" }, ae.value?.setPointerCapture?.(e.pointerId));
1626
1626
  }
1627
1627
  function kt(e) {
1628
1628
  let t = e.dataTransfer?.getData(ot);
@@ -1631,8 +1631,8 @@ var bn = l({
1631
1631
  let n = JSON.parse(t), r = ne.value?.getBoundingClientRect();
1632
1632
  r && S("drop", {
1633
1633
  ...n,
1634
- x: Y((e.clientX - r.left - N.value.x) / M.value),
1635
- y: Y((e.clientY - r.top - N.value.y) / M.value)
1634
+ x: Y((e.clientX - r.left - xe.value.x) / N.value),
1635
+ y: Y((e.clientY - r.top - xe.value.y) / N.value)
1636
1636
  });
1637
1637
  }
1638
1638
  function At(e, t) {
@@ -1642,7 +1642,7 @@ var bn = l({
1642
1642
  }), P.value) return;
1643
1643
  e.stopPropagation();
1644
1644
  let n = gt(e);
1645
- O = {
1645
+ k = {
1646
1646
  mode: "sensor",
1647
1647
  id: t.id,
1648
1648
  offsetX: n.x - t.x,
@@ -1653,7 +1653,7 @@ var bn = l({
1653
1653
  Pt(e, {
1654
1654
  kind: "connection",
1655
1655
  id: t.id
1656
- }), !P.value && (e.stopPropagation(), O = {
1656
+ }), !P.value && (e.stopPropagation(), k = {
1657
1657
  mode: "passage",
1658
1658
  id: t.id,
1659
1659
  wall: t.wall,
@@ -1661,7 +1661,7 @@ var bn = l({
1661
1661
  }, Z(e));
1662
1662
  }
1663
1663
  function Mt(e, t, n) {
1664
- P.value || (e.stopPropagation(), O = {
1664
+ P.value || (e.stopPropagation(), k = {
1665
1665
  mode: "passage-resize",
1666
1666
  id: t.id,
1667
1667
  wall: t.wall,
@@ -1672,14 +1672,14 @@ var bn = l({
1672
1672
  return (t.x - e.x) * e.stepX + (t.y - e.y) * e.stepY;
1673
1673
  }
1674
1674
  function Pt(e, t) {
1675
- k = {
1675
+ pe = {
1676
1676
  target: t,
1677
1677
  x: e.clientX,
1678
1678
  y: e.clientY
1679
1679
  };
1680
1680
  }
1681
1681
  function Ft(e) {
1682
- le.value = null, k &&= (e && Math.abs(e.clientX - k.x) < 4 && Math.abs(e.clientY - k.y) < 4 && S("select", k.target), null), O?.mode === "room" && ge && S("settle-room", O.id), O = null, ge = !1, D.value = {
1682
+ O.value = null, pe &&= (e && Math.abs(e.clientX - pe.x) < 4 && Math.abs(e.clientY - pe.y) < 4 && S("select", pe.target), null), k?.mode === "room" && de && S("settle-room", k.id), k = null, de = !1, D.value = {
1683
1683
  x: null,
1684
1684
  y: null
1685
1685
  };
@@ -1687,10 +1687,10 @@ var bn = l({
1687
1687
  function Q() {
1688
1688
  let e = [], t = [];
1689
1689
  for (let n of F.value) e.push(n.x, n.x + n.width), t.push(n.y, n.y + n.height);
1690
- for (let n of I.value) e.push(n.x - Ar, n.x + Ar), t.push(n.y - Ar, n.y + Ar);
1690
+ for (let n of we.value) e.push(n.x - Ar, n.x + Ar), t.push(n.y - Ar, n.y + Ar);
1691
1691
  if (!e.length) return;
1692
1692
  let n = Math.min(...e), r = Math.min(...t);
1693
- ye({
1693
+ _e({
1694
1694
  x: n,
1695
1695
  y: r,
1696
1696
  width: Math.max(Math.max(...e) - n, 1),
@@ -1700,7 +1700,7 @@ var bn = l({
1700
1700
  return ee(() => p.levelId, () => o(Q)), ie(() => {
1701
1701
  window.addEventListener("pointerup", Ft), o(Q);
1702
1702
  }), t(() => window.removeEventListener("pointerup", Ft)), l({ fit: Q }), (t, o) => {
1703
- let l = Ve, f = V, p = bn, h = j, ee = _n, te = H, w = E;
1703
+ let l = Ve, f = V, p = bn, h = Ce, ee = _n, te = H, w = E;
1704
1704
  return r(), _("div", {
1705
1705
  ref_key: "wrapperRef",
1706
1706
  ref: ne,
@@ -1713,7 +1713,7 @@ var bn = l({
1713
1713
  onDragenter: o[15] ||= e(() => {}, ["prevent"])
1714
1714
  }, [
1715
1715
  T(m(We), {
1716
- nodes: Ee,
1716
+ nodes: De,
1717
1717
  "nodes-draggable": !1,
1718
1718
  "nodes-connectable": !1,
1719
1719
  "elements-selectable": !1,
@@ -1731,29 +1731,29 @@ var bn = l({
1731
1731
  "node-scene": g(() => [(r(), _("svg", {
1732
1732
  class: "floorplan-scene",
1733
1733
  style: v({
1734
- left: `${m(L).x}px`,
1735
- top: `${m(L).y}px`,
1736
- width: `${m(L).width}px`,
1737
- height: `${m(L).height}px`
1734
+ left: `${m(I).x}px`,
1735
+ top: `${m(I).y}px`,
1736
+ width: `${m(I).width}px`,
1737
+ height: `${m(I).height}px`
1738
1738
  })
1739
1739
  }, [b("defs", null, [
1740
1740
  b("pattern", {
1741
1741
  id: "floorplan-public",
1742
- width: 14 / m(M),
1743
- height: 14 / m(M),
1742
+ width: 14 / m(N),
1743
+ height: 14 / m(N),
1744
1744
  patternUnits: "userSpaceOnUse",
1745
1745
  patternTransform: "rotate(45)"
1746
1746
  }, [b("rect", {
1747
- width: 14 / m(M),
1748
- height: 14 / m(M),
1747
+ width: 14 / m(N),
1748
+ height: 14 / m(N),
1749
1749
  class: "public-base"
1750
1750
  }, null, 8, Sn), b("line", {
1751
1751
  x1: "0",
1752
1752
  y1: "0",
1753
1753
  x2: "0",
1754
- y2: 14 / m(M),
1754
+ y2: 14 / m(N),
1755
1755
  class: "public-hatch",
1756
- "stroke-width": 1.5 / m(M)
1756
+ "stroke-width": 1.5 / m(N)
1757
1757
  }, null, 8, Cn)], 8, xn),
1758
1758
  (r(!0), _(y, null, n(m(Ie), (e) => (r(), _("clipPath", {
1759
1759
  id: `floorplan-sight-${e.roomId}`,
@@ -1761,26 +1761,26 @@ var bn = l({
1761
1761
  }, [b("path", { d: e.path }, null, 8, Tn)], 8, wn))), 128)),
1762
1762
  b("pattern", {
1763
1763
  id: "floorplan-gaps-hatch",
1764
- width: 10 / m(M),
1765
- height: 10 / m(M),
1764
+ width: 10 / m(N),
1765
+ height: 10 / m(N),
1766
1766
  patternUnits: "userSpaceOnUse",
1767
1767
  patternTransform: "rotate(-45)"
1768
1768
  }, [b("line", {
1769
1769
  x1: "0",
1770
1770
  y1: "0",
1771
1771
  x2: "0",
1772
- y2: 10 / m(M),
1772
+ y2: 10 / m(N),
1773
1773
  class: "gaps-hatch",
1774
- "stroke-width": 1.5 / m(M)
1774
+ "stroke-width": 1.5 / m(N)
1775
1775
  }, null, 8, Dn)], 8, En),
1776
1776
  m(re) ? (r(), _("mask", {
1777
1777
  key: 0,
1778
1778
  id: "floorplan-gaps",
1779
1779
  maskUnits: "userSpaceOnUse",
1780
- x: m(L).x,
1781
- y: m(L).y,
1782
- width: m(L).width,
1783
- height: m(L).height
1780
+ x: m(I).x,
1781
+ y: m(I).y,
1782
+ width: m(I).width,
1783
+ height: m(I).height
1784
1784
  }, [(r(!0), _(y, null, n(m(Fe), (e) => (r(), _(y, { key: `gap-room-${e.roomId}` }, [e.publicSpace ? d("", !0) : (r(), _("path", {
1785
1785
  key: 0,
1786
1786
  d: e.fill,
@@ -1794,7 +1794,7 @@ var bn = l({
1794
1794
  fill: "black",
1795
1795
  transform: `translate(${e.x} ${e.y}) rotate(${e.rotation})`
1796
1796
  }, null, 8, jn))), 128))], 8, An))), 128))], 8, On)) : d("", !0)
1797
- ]), b("g", { transform: `translate(${-m(L).x} ${-m(L).y})` }, [
1797
+ ]), b("g", { transform: `translate(${-m(I).x} ${-m(I).y})` }, [
1798
1798
  (r(!0), _(y, null, n(m(Fe), (e) => (r(), _("g", { key: e.roomId }, [b("path", {
1799
1799
  d: e.fill,
1800
1800
  class: s(["room", {
@@ -1808,7 +1808,7 @@ var bn = l({
1808
1808
  "room-selected": e.selected,
1809
1809
  "room-public-wall": e.publicSpace
1810
1810
  }]),
1811
- "stroke-width": (e.selected ? 2.5 : 1.5) / m(M)
1811
+ "stroke-width": (e.selected ? 2.5 : 1.5) / m(N)
1812
1812
  }, null, 10, Pn)]))), 128)),
1813
1813
  (r(!0), _(y, null, n(m(Ie), (e) => (r(), _("g", {
1814
1814
  key: `sight-${e.roomId}`,
@@ -1821,10 +1821,10 @@ var bn = l({
1821
1821
  }, null, 10, In))), 128))], 8, Fn))), 128)),
1822
1822
  m(re) ? (r(), _("rect", {
1823
1823
  key: 0,
1824
- x: m(L).x,
1825
- y: m(L).y,
1826
- width: m(L).width,
1827
- height: m(L).height,
1824
+ x: m(I).x,
1825
+ y: m(I).y,
1826
+ width: m(I).width,
1827
+ height: m(I).height,
1828
1828
  fill: "url(#floorplan-gaps-hatch)",
1829
1829
  mask: "url(#floorplan-gaps)",
1830
1830
  class: "gaps-layer"
@@ -1854,31 +1854,31 @@ var bn = l({
1854
1854
  b("path", {
1855
1855
  d: e.line,
1856
1856
  class: "connection-hit",
1857
- "stroke-width": 24 / m(M)
1857
+ "stroke-width": 24 / m(N)
1858
1858
  }, null, 8, Vn),
1859
1859
  b("path", {
1860
1860
  d: e.line,
1861
1861
  class: s(["connection", [`connection-${e.type}`, { "connection-selected": J("connection", e.id) }]]),
1862
- "stroke-width": 7 / m(M)
1862
+ "stroke-width": 7 / m(N)
1863
1863
  }, null, 10, Hn),
1864
1864
  (r(!0), _(y, null, n(J("connection", e.id) && !m(P) ? e.handles : [], (t, n) => (r(), _("circle", {
1865
1865
  key: n,
1866
1866
  cx: t.x,
1867
1867
  cy: t.y,
1868
- r: 7 / m(M),
1868
+ r: 7 / m(N),
1869
1869
  class: "passage-handle nopan",
1870
- "stroke-width": 2 / m(M),
1870
+ "stroke-width": 2 / m(N),
1871
1871
  onPointerdown: (t) => Mt(t, e, n)
1872
1872
  }, null, 40, Un))), 128))
1873
1873
  ], 42, Bn))), 128)),
1874
- (r(!0), _(y, null, n(m(je), (e) => (r(), _(y, { key: e.connection.id }, [e.geometry.kind === "link" ? (r(), _("path", {
1874
+ (r(!0), _(y, null, n(m(Me), (e) => (r(), _(y, { key: e.connection.id }, [e.geometry.kind === "link" ? (r(), _("path", {
1875
1875
  key: 0,
1876
1876
  d: `M ${e.geometry.x1} ${e.geometry.y1} L ${e.geometry.x2} ${e.geometry.y2}`,
1877
1877
  class: s(["connection connection-stairs", { "connection-selected": J("connection", e.connection.id) }]),
1878
- "stroke-width": 2 / m(M),
1878
+ "stroke-width": 2 / m(N),
1879
1879
  onPointerdown: (t) => xt(t, e.connection.id)
1880
1880
  }, null, 42, Wn)) : d("", !0)], 64))), 128)),
1881
- (r(!0), _(y, null, n(m(I), (e) => (r(), _("g", {
1881
+ (r(!0), _(y, null, n(m(we), (e) => (r(), _("g", {
1882
1882
  key: e.id,
1883
1883
  class: s({ nopan: !m(P) }),
1884
1884
  onPointerdown: (t) => wt(t, e),
@@ -1888,48 +1888,48 @@ var bn = l({
1888
1888
  b("circle", {
1889
1889
  cx: e.x,
1890
1890
  cy: e.y,
1891
- r: 13 / m(M),
1891
+ r: 13 / m(N),
1892
1892
  class: s(["camera-body", [`camera-${qe(e.id) ?? "idle"}`, { "camera-selected": J("camera", e.id) }]]),
1893
- "stroke-width": 2 / m(M)
1893
+ "stroke-width": 2 / m(N)
1894
1894
  }, null, 10, Kn),
1895
1895
  b("circle", {
1896
1896
  cx: e.x,
1897
1897
  cy: e.y,
1898
- r: 4 / m(M),
1898
+ r: 4 / m(N),
1899
1899
  class: "camera-lens"
1900
1900
  }, null, 8, qn),
1901
- m(oe) === e.id || J("camera", e.id) || m(Se).has(e.id) ? (r(), _("g", Jn, [
1901
+ m(oe) === e.id || J("camera", e.id) || m(be).has(e.id) ? (r(), _("g", Jn, [
1902
1902
  b("rect", {
1903
1903
  x: e.x - Ye(e).width / 2,
1904
- y: e.y - 42 / m(M),
1904
+ y: e.y - 42 / m(N),
1905
1905
  width: Ye(e).width,
1906
- height: 20 / m(M),
1907
- rx: 10 / m(M)
1906
+ height: 20 / m(N),
1907
+ rx: 10 / m(N)
1908
1908
  }, null, 8, Yn),
1909
1909
  (r(!0), _(y, null, n(Je(e), (t, n) => (r(), _("foreignObject", {
1910
1910
  key: t,
1911
- x: e.x - Ye(e).width / 2 + (8 + n * 17) / m(M),
1912
- y: e.y - 39.5 / m(M),
1913
- width: 15 / m(M),
1914
- height: 15 / m(M),
1911
+ x: e.x - Ye(e).width / 2 + (8 + n * 17) / m(N),
1912
+ y: e.y - 39.5 / m(N),
1913
+ width: 15 / m(N),
1914
+ height: 15 / m(N),
1915
1915
  class: "chip-glyph"
1916
- }, [(r(), u(c(m(Ce)(t).icon), {
1916
+ }, [(r(), u(c(m(Te)(t).icon), {
1917
1917
  width: "100%",
1918
1918
  height: "100%"
1919
1919
  }))], 8, Xn))), 128)),
1920
1920
  b("text", {
1921
1921
  x: e.x - Ye(e).width / 2 + Ye(e).textOffset,
1922
- y: e.y - 28 / m(M),
1923
- "font-size": 12 / m(M)
1922
+ y: e.y - 28 / m(N),
1923
+ "font-size": 12 / m(N)
1924
1924
  }, i(e.name), 9, Zn)
1925
1925
  ])) : d("", !0)
1926
1926
  ], 42, Gn))), 128)),
1927
- (r(!0), _(y, null, n(m(ke) ? m(Re) : [], (t) => (r(), _("g", { key: t.roomId }, [b("circle", {
1927
+ (r(!0), _(y, null, n(m(Ae) ? m(Re) : [], (t) => (r(), _("g", { key: t.roomId }, [b("circle", {
1928
1928
  cx: t.x,
1929
1929
  cy: t.y,
1930
- r: 11 / m(M),
1930
+ r: 11 / m(N),
1931
1931
  class: "connection-ghost nopan",
1932
- "stroke-width": 1.5 / m(M),
1932
+ "stroke-width": 1.5 / m(N),
1933
1933
  onPointerdown: e((e) => S("create-connection", {
1934
1934
  fromRoomId: t.fromRoomId,
1935
1935
  toRoomId: t.roomId,
@@ -1937,11 +1937,11 @@ var bn = l({
1937
1937
  toShapeId: t.shapeId
1938
1938
  }), ["stop"])
1939
1939
  }, null, 40, Qn), b("path", {
1940
- d: `M ${t.x - 5 / m(M)} ${t.y} L ${t.x + 5 / m(M)} ${t.y} M ${t.x} ${t.y - 5 / m(M)} L ${t.x} ${t.y + 5 / m(M)}`,
1940
+ 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)}`,
1941
1941
  class: "connection-ghost-plus",
1942
- "stroke-width": 1.5 / m(M)
1942
+ "stroke-width": 1.5 / m(N)
1943
1943
  }, null, 8, $n)]))), 128)),
1944
- (r(!0), _(y, null, n(m(xe), (e) => (r(), _("g", {
1944
+ (r(!0), _(y, null, n(m(ve), (e) => (r(), _("g", {
1945
1945
  key: `sensor-${e.id}`,
1946
1946
  class: s({ nopan: !m(P) }),
1947
1947
  onPointerdown: (t) => At(t, e),
@@ -1951,32 +1951,32 @@ var bn = l({
1951
1951
  b("circle", {
1952
1952
  cx: e.x,
1953
1953
  cy: e.y,
1954
- r: 11 / m(M),
1954
+ r: 11 / m(N),
1955
1955
  class: s(["sensor-body", { "sensor-selected": J("sensor", e.id) }]),
1956
- "stroke-width": 2 / m(M)
1956
+ "stroke-width": 2 / m(N)
1957
1957
  }, null, 10, tr),
1958
1958
  (r(), _("foreignObject", {
1959
- x: e.x - 7 / m(M),
1960
- y: e.y - 7 / m(M),
1961
- width: 14 / m(M),
1962
- height: 14 / m(M),
1959
+ x: e.x - 7 / m(N),
1960
+ y: e.y - 7 / m(N),
1961
+ width: 14 / m(N),
1962
+ height: 14 / m(N),
1963
1963
  class: "sensor-glyph"
1964
- }, [(r(), u(c(m(pe)(e.sensorType, W(e.id))), {
1964
+ }, [(r(), u(c(m(fe)(e.sensorType, W(e.id))), {
1965
1965
  width: "100%",
1966
1966
  height: "100%",
1967
1967
  style: v(Ze(e))
1968
1968
  }, null, 8, ["style"]))], 8, nr)),
1969
1969
  m(ce) === e.id || J("sensor", e.id) ? (r(), _("g", rr, [b("rect", {
1970
1970
  x: e.x - st(Qe(e)) / 2,
1971
- y: e.y - 42 / m(M),
1971
+ y: e.y - 42 / m(N),
1972
1972
  width: st(Qe(e)),
1973
- height: 20 / m(M),
1974
- rx: 10 / m(M)
1973
+ height: 20 / m(N),
1974
+ rx: 10 / m(N)
1975
1975
  }, null, 8, ir), b("text", {
1976
1976
  x: e.x,
1977
- y: e.y - 28 / m(M),
1977
+ y: e.y - 28 / m(N),
1978
1978
  "text-anchor": "middle",
1979
- "font-size": 12 / m(M)
1979
+ "font-size": 12 / m(N)
1980
1980
  }, i(Qe(e)), 9, ar)])) : d("", !0)
1981
1981
  ], 42, er))), 128)),
1982
1982
  (r(!0), _(y, null, n(m(ze), (e) => (r(), _("g", {
@@ -1988,27 +1988,27 @@ var bn = l({
1988
1988
  b("circle", {
1989
1989
  cx: e.x,
1990
1990
  cy: e.y,
1991
- r: 11 / m(M),
1991
+ r: 11 / m(N),
1992
1992
  class: "flight-camera-body",
1993
- "stroke-width": 1.5 / m(M)
1993
+ "stroke-width": 1.5 / m(N)
1994
1994
  }, null, 8, sr),
1995
1995
  b("circle", {
1996
1996
  cx: e.x,
1997
1997
  cy: e.y,
1998
- r: 3.5 / m(M),
1998
+ r: 3.5 / m(N),
1999
1999
  class: "flight-camera-lens"
2000
2000
  }, null, 8, cr),
2001
2001
  m(se) === e.key ? (r(), _("g", lr, [b("rect", {
2002
2002
  x: e.x - st(e.label) / 2,
2003
- y: e.y - 42 / m(M),
2003
+ y: e.y - 42 / m(N),
2004
2004
  width: st(e.label),
2005
- height: 20 / m(M),
2006
- rx: 10 / m(M)
2005
+ height: 20 / m(N),
2006
+ rx: 10 / m(N)
2007
2007
  }, null, 8, ur), b("text", {
2008
2008
  x: e.x,
2009
- y: e.y - 28 / m(M),
2009
+ y: e.y - 28 / m(N),
2010
2010
  "text-anchor": "middle",
2011
- "font-size": 12 / m(M)
2011
+ "font-size": 12 / m(N)
2012
2012
  }, i(e.label), 9, dr)])) : d("", !0)
2013
2013
  ], 40, or))), 128)),
2014
2014
  (r(!0), _(y, null, n(m(Be), (e) => (r(), _("g", {
@@ -2019,68 +2019,68 @@ var bn = l({
2019
2019
  b("circle", {
2020
2020
  cx: e.x,
2021
2021
  cy: e.y,
2022
- r: 12 / m(M),
2022
+ r: 12 / m(N),
2023
2023
  class: s([e.connectionId ? "connection-badge" : "connection-ghost", { "connection-selected": e.connectionId && J("connection", e.connectionId) }]),
2024
- "stroke-width": (e.connectionId ? 2 : 1.5) / m(M)
2024
+ "stroke-width": (e.connectionId ? 2 : 1.5) / m(N)
2025
2025
  }, null, 10, pr),
2026
2026
  b("path", {
2027
2027
  d: lt(e.x, e.y),
2028
2028
  class: "badge-glyph",
2029
- "stroke-width": 1.5 / m(M),
2029
+ "stroke-width": 1.5 / m(N),
2030
2030
  fill: "none",
2031
2031
  "stroke-linejoin": "round"
2032
2032
  }, null, 8, mr),
2033
2033
  e.direction ? (r(), _("text", {
2034
2034
  key: 0,
2035
- x: e.x + 13 / m(M),
2036
- y: e.y - 7 / m(M),
2035
+ x: e.x + 13 / m(N),
2036
+ y: e.y - 7 / m(N),
2037
2037
  class: "badge-direction",
2038
- "font-size": 12 / m(M)
2038
+ "font-size": 12 / m(N)
2039
2039
  }, i(e.direction), 9, hr)) : d("", !0),
2040
- m(we) ? (r(), _("g", gr, [b("rect", {
2041
- x: m(we).x - m(we).width / 2,
2042
- y: m(we).y,
2043
- width: m(we).width,
2044
- height: 20 / m(M),
2045
- rx: 10 / m(M)
2040
+ m(M) ? (r(), _("g", gr, [b("rect", {
2041
+ x: m(M).x - m(M).width / 2,
2042
+ y: m(M).y,
2043
+ width: m(M).width,
2044
+ height: 20 / m(N),
2045
+ rx: 10 / m(N)
2046
2046
  }, null, 8, _r), b("text", {
2047
- x: m(we).x,
2048
- y: m(we).y + 14 / m(M),
2047
+ x: m(M).x,
2048
+ y: m(M).y + 14 / m(N),
2049
2049
  "text-anchor": "middle",
2050
- "font-size": 12 / m(M)
2051
- }, i(m(we).text), 9, vr)])) : d("", !0)
2050
+ "font-size": 12 / m(N)
2051
+ }, i(m(M).text), 9, vr)])) : d("", !0)
2052
2052
  ], 42, fr))), 128)),
2053
2053
  m(D).x === null ? d("", !0) : (r(), _("path", {
2054
2054
  key: 1,
2055
2055
  d: `M ${m(D).x} ${m(Ue).top} L ${m(D).x} ${m(Ue).bottom}`,
2056
2056
  class: "guide",
2057
- "stroke-width": 1 / m(M)
2057
+ "stroke-width": 1 / m(N)
2058
2058
  }, null, 8, yr)),
2059
2059
  m(D).y === null ? d("", !0) : (r(), _("path", {
2060
2060
  key: 2,
2061
2061
  d: `M ${m(Ue).left} ${m(D).y} L ${m(Ue).right} ${m(D).y}`,
2062
2062
  class: "guide",
2063
- "stroke-width": 1 / m(M)
2063
+ "stroke-width": 1 / m(N)
2064
2064
  }, null, 8, br)),
2065
- m(R) && !m(P) ? (r(), _("rect", {
2065
+ m(L) && !m(P) ? (r(), _("rect", {
2066
2066
  key: 3,
2067
- x: m(R).x + m(R).width - 7 / m(M),
2068
- y: m(R).y + m(R).height - 7 / m(M),
2069
- width: 14 / m(M),
2070
- height: 14 / m(M),
2071
- rx: 3 / m(M),
2067
+ x: m(L).x + m(L).width - 7 / m(N),
2068
+ y: m(L).y + m(L).height - 7 / m(N),
2069
+ width: 14 / m(N),
2070
+ height: 14 / m(N),
2071
+ rx: 3 / m(N),
2072
2072
  class: "handle nopan",
2073
- "stroke-width": 1.5 / m(M),
2074
- onPointerdown: o[1] ||= (e) => Ct(e, m(R))
2073
+ "stroke-width": 1.5 / m(N),
2074
+ onPointerdown: o[1] ||= (e) => Ct(e, m(L))
2075
2075
  }, null, 40, xr)) : d("", !0),
2076
- m(Oe) && !m(P) ? (r(), _("circle", {
2076
+ m(ke) && !m(P) ? (r(), _("circle", {
2077
2077
  key: 4,
2078
- cx: m(Oe).x + Math.cos(mt(m(Oe).rotation)) * m(Oe).range,
2079
- cy: m(Oe).y + Math.sin(mt(m(Oe).rotation)) * m(Oe).range,
2080
- r: 9 / m(M),
2078
+ cx: m(ke).x + Math.cos(mt(m(ke).rotation)) * m(ke).range,
2079
+ cy: m(ke).y + Math.sin(mt(m(ke).rotation)) * m(ke).range,
2080
+ r: 9 / m(N),
2081
2081
  class: "handle nopan",
2082
- "stroke-width": 1.5 / m(M),
2083
- onPointerdown: o[2] ||= (e) => Tt(e, m(Oe))
2082
+ "stroke-width": 1.5 / m(N),
2083
+ onPointerdown: o[2] ||= (e) => Tt(e, m(ke))
2084
2084
  }, null, 40, Sr)) : d("", !0)
2085
2085
  ], 8, Mn)], 4))]),
2086
2086
  default: g(() => [T(m(B), {
@@ -2101,7 +2101,7 @@ var bn = l({
2101
2101
  r: "21",
2102
2102
  class: "compass-ring",
2103
2103
  "stroke-width": "1"
2104
- }, null, -1), b("g", { transform: `rotate(${m(Te)} 23 23)` }, [...o[16] ||= [b("path", {
2104
+ }, null, -1), b("g", { transform: `rotate(${m(Se)} 23 23)` }, [...o[16] ||= [b("path", {
2105
2105
  d: "M 23 6 L 27 23 L 23 19 L 19 23 Z",
2106
2106
  class: "compass-needle"
2107
2107
  }, null, -1), b("text", {
@@ -2112,7 +2112,7 @@ var bn = l({
2112
2112
  "font-size": "9"
2113
2113
  }, "N", -1)]], 8, wr)]))], 34)), [[
2114
2114
  w,
2115
- { value: m(P) ? t.$t("views.floorplan.north_reading", { value: m(Te) }) : t.$t("views.floorplan.north_hint") },
2115
+ { value: m(P) ? t.$t("views.floorplan.north_reading", { value: m(Se) }) : t.$t("views.floorplan.north_hint") },
2116
2116
  void 0,
2117
2117
  { left: !0 }
2118
2118
  ]]),
@@ -2127,7 +2127,7 @@ var bn = l({
2127
2127
  type: "button",
2128
2128
  class: "control-button",
2129
2129
  onPointerdown: o[4] ||= e(() => {}, ["stop"]),
2130
- onClick: o[5] ||= e((e) => m(_e)(), ["stop"])
2130
+ onClick: o[5] ||= e((e) => m(he)(), ["stop"])
2131
2131
  }, [T(l, { class: "w-4 h-4" })], 32)), [[
2132
2132
  w,
2133
2133
  { value: t.$t("views.floorplan.zoom_in") },
@@ -2138,7 +2138,7 @@ var bn = l({
2138
2138
  type: "button",
2139
2139
  class: "control-button",
2140
2140
  onPointerdown: o[6] ||= e(() => {}, ["stop"]),
2141
- onClick: o[7] ||= e((e) => m(ve)(), ["stop"])
2141
+ onClick: o[7] ||= e((e) => m(ge)(), ["stop"])
2142
2142
  }, [T(f, { class: "w-4 h-4" })], 32)), [[
2143
2143
  w,
2144
2144
  { value: t.$t("views.floorplan.zoom_out") },
@@ -2185,14 +2185,14 @@ var bn = l({
2185
2185
  { right: !0 }
2186
2186
  ]])
2187
2187
  ]), b("div", Er, [(r(), _("svg", {
2188
- width: m(Ae).width,
2188
+ width: m(je).width,
2189
2189
  height: "10",
2190
2190
  class: "shrink-0"
2191
2191
  }, [b("path", {
2192
- d: `M 1 1 L 1 9 M 1 5 L ${m(Ae).width - 1} 5 M ${m(Ae).width - 1} 1 L ${m(Ae).width - 1} 9`,
2192
+ 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`,
2193
2193
  class: "scale-line",
2194
2194
  "stroke-width": "1"
2195
- }, null, 8, Or)], 8, Dr)), b("span", kr, i(m(Ae).label), 1)])], 4)
2195
+ }, null, 8, Or)], 8, Dr)), b("span", kr, i(m(je).label), 1)])], 4)
2196
2196
  ], 34);
2197
2197
  };
2198
2198
  }
@@ -2243,7 +2243,7 @@ var Pr = l({
2243
2243
  ], ai = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, oi = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, si = { class: "flex flex-col min-w-0" }, ci = { class: "text-[13px] font-medium truncate text-color leading-tight" }, li = {
2244
2244
  key: 0,
2245
2245
  class: "text-[11px] text-muted truncate leading-tight"
2246
- }, ui = /*#__PURE__*/ I(/* @__PURE__ */ C({
2246
+ }, ui = /*#__PURE__*/ O(/* @__PURE__ */ C({
2247
2247
  __name: "CuiFloorplanPalette",
2248
2248
  props: {
2249
2249
  cameras: {},
@@ -2322,7 +2322,7 @@ var Pr = l({
2322
2322
  sensorId: t.id,
2323
2323
  sensorType: t.sensorType
2324
2324
  })
2325
- }, [b("div", ai, [b("div", oi, [(r(), u(c(m(pe)(t.sensorType, void 0)), { class: "w-4 h-4" }))]), b("div", si, [b("span", ci, i(t.name), 1), t.subtitle ? (r(), _("span", li, i(t.subtitle), 1)) : d("", !0)])])], 42, ii))), 128))])) : (r(), _("span", ni, i(t.$t("views.floorplan.all_sensors_placed")), 1))])
2325
+ }, [b("div", ai, [b("div", oi, [(r(), u(c(m(fe)(t.sensorType, void 0)), { class: "w-4 h-4" }))]), b("div", si, [b("span", ci, i(t.name), 1), t.subtitle ? (r(), _("span", li, i(t.subtitle), 1)) : d("", !0)])])], 42, ii))), 128))])) : (r(), _("span", ni, i(t.$t("views.floorplan.all_sensors_placed")), 1))])
2326
2326
  ], 2);
2327
2327
  };
2328
2328
  }
@@ -2386,10 +2386,10 @@ var Si = l({
2386
2386
  //#endregion
2387
2387
  //#region src/api/routes/floorplan.ts
2388
2388
  async function Ci({ signal: e } = {}) {
2389
- return (await N.get("/floorplan", { signal: e })).data;
2389
+ return (await oe.get("/floorplan", { signal: e })).data;
2390
2390
  }
2391
2391
  async function wi(e) {
2392
- return (await N.put("/floorplan", e)).data;
2392
+ return (await oe.put("/floorplan", e)).data;
2393
2393
  }
2394
2394
  //#endregion
2395
2395
  //#region src/components/CuiDialog/templates/FloorplanLevel/FloorplanLevel.vue?vue&type=script&setup=true&lang.ts
@@ -2402,7 +2402,7 @@ var Ti = { class: "flex flex-col gap-2 w-full" }, Ei = {
2402
2402
  setup(e, { expose: t }) {
2403
2403
  let n = w(e.name);
2404
2404
  return t({ onConfirm: async () => n.value.trim() || null }), (e, t) => {
2405
- let a = ke;
2405
+ let a = Ae;
2406
2406
  return r(), _("div", Ti, [b("label", Ei, i(e.$t("components.form.label.name")), 1), T(a, {
2407
2407
  id: "floorplanLevelName",
2408
2408
  modelValue: m(n),
@@ -2458,19 +2458,19 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
2458
2458
  }, qi = { class: "flex items-center justify-center" }, Ji = {
2459
2459
  key: 0,
2460
2460
  class: "flex items-center gap-2 pl-3 pr-2 py-1.5"
2461
- }, Yi = { class: "flex-1 min-w-0 text-sm font-semibold truncate text-color" }, Xi = 50, Zi = 92, Qi = /*#__PURE__*/ I(/* @__PURE__ */ C({
2461
+ }, Yi = { class: "flex-1 min-w-0 text-sm font-semibold truncate text-color" }, Xi = 50, Zi = 92, Qi = /*#__PURE__*/ O(/* @__PURE__ */ C({
2462
2462
  __name: "Floorplan",
2463
2463
  setup(e) {
2464
- let { t: f } = Ee(), { smBreakpoint: S } = le(), { bottombarHeight: C } = ce(), re = M(), ae = be(), fe = ge(), me = Ni(), he = new Te(), { sensors: j } = De(), { data: ye } = he.getCamerasQuery({
2464
+ let { t: f } = De(), { smBreakpoint: S } = xe(), { bottombarHeight: C } = me(), re = we(), ae = _e(), oe = j(), O = Ni(), A = new ge(), { sensors: ye } = Oe(), { data: be } = A.getCamerasQuery({
2465
2465
  page: 1,
2466
2466
  pageSize: -1
2467
- }), Ce = w(), N = w(), F = w(null), I = w(null), ke = w({
2467
+ }), F = w(), Ce = w(), Te = w(null), Ee = w(null), Ae = w({
2468
2468
  x: 0,
2469
2469
  y: 0
2470
- }), Ae = w(null), Me = w({
2470
+ }), je = w(null), Ne = w({
2471
2471
  x: 0,
2472
2472
  y: 0
2473
- }), Ne = w(), Pe = w(null), Fe = w({
2473
+ }), R = w(), Pe = w(null), Fe = w({
2474
2474
  x: 0,
2475
2475
  y: 0
2476
2476
  }), Ie = w(), Re = w(null), Be = w(null), We = w({
@@ -2480,22 +2480,22 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
2480
2480
  rooms: []
2481
2481
  }), z = w([]), B = w([]), V = w([]), H = w([]), U = w([]), W = w(""), Qe = w(null), G = w(null), $e = w(!1), et = w(!0), tt = w(!1), nt = w(""), rt = te("sheetRef"), it = w(0), K = w(0), at = w(!1), q = ne([]), ot = ne([]), st = [
2482
2482
  {
2483
- value: R.Disarmed,
2483
+ value: L.Disarmed,
2484
2484
  labelKey: "views.floorplan.security_disarmed"
2485
2485
  },
2486
2486
  {
2487
- value: R.StayArm,
2487
+ value: L.StayArm,
2488
2488
  labelKey: "views.floorplan.security_stay"
2489
2489
  },
2490
2490
  {
2491
- value: R.AwayArm,
2491
+ value: L.AwayArm,
2492
2492
  labelKey: "views.floorplan.security_away"
2493
2493
  },
2494
2494
  {
2495
- value: R.NightArm,
2495
+ value: L.NightArm,
2496
2496
  labelKey: "views.floorplan.security_night"
2497
2497
  }
2498
- ], ct = 0, lt = !1, ft, pt, mt, J = ve(void 0, "admin"), ht = h(() => Math.max(it.value - Zi, 0)), gt = h(() => q.value.length > 0), Y = h(() => ot.value.length > 0), X = h(() => (ye.value?.result ?? []).find((e) => e._id === Be.value)), _t = h(() => z.value.find((e) => e.id === W.value)), vt = h(() => Mt() !== nt.value), yt = h(() => new Map((ye.value?.result ?? []).map((e) => [e._id, e.name]))), bt = h(() => j.value.filter((e) => oe.has(String(e.type)))), Z = h(() => new Map(bt.value.map((e) => [e.id, {
2498
+ ], ct = 0, lt = !1, ft, pt, mt, J = N(void 0, "admin"), ht = h(() => Math.max(it.value - Zi, 0)), gt = h(() => q.value.length > 0), Y = h(() => ot.value.length > 0), X = h(() => (be.value?.result ?? []).find((e) => e._id === Be.value)), _t = h(() => z.value.find((e) => e.id === W.value)), vt = h(() => Mt() !== nt.value), yt = h(() => new Map((be.value?.result ?? []).map((e) => [e._id, e.name]))), bt = h(() => ye.value.filter((e) => le.has(String(e.type)))), Z = h(() => new Map(bt.value.map((e) => [e.id, {
2499
2499
  name: At(e),
2500
2500
  owner: jt(e)
2501
2501
  }]))), xt = h(() => {
@@ -2514,11 +2514,11 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
2514
2514
  }));
2515
2515
  }), Ct = h(() => {
2516
2516
  let e = new Set(H.value.map((e) => e.id));
2517
- return (ye.value?.result ?? []).filter((t) => !e.has(t._id)).map((e) => ({
2517
+ return (be.value?.result ?? []).filter((t) => !e.has(t._id)).map((e) => ({
2518
2518
  id: e._id,
2519
2519
  name: e.name
2520
2520
  }));
2521
- }), wt = h(() => S.value || !G.value ? void 0 : "calc(300px + 1.25rem + env(safe-area-inset-right, 0px))"), Tt = h(() => z.value.findIndex((e) => e.id === W.value)), Et = h(() => [...z.value].reverse().map((e) => ({
2521
+ }), wt = h(() => S.value || !G.value ? void 0 : "calc(300px + 1.25rem + var(--safe-area-inset-right))"), Tt = h(() => z.value.findIndex((e) => e.id === W.value)), Et = h(() => [...z.value].reverse().map((e) => ({
2522
2522
  key: e.id,
2523
2523
  label: e.name,
2524
2524
  icon: l(gi),
@@ -2550,7 +2550,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
2550
2550
  command: Nn
2551
2551
  }
2552
2552
  ]), Ot = h(() => {
2553
- let e = B.value.find((e) => e.roomId === F.value);
2553
+ let e = B.value.find((e) => e.roomId === Te.value);
2554
2554
  if (!e) return [];
2555
2555
  let t = new Set(V.value.flatMap((e) => [e.fromRoomId, e.toRoomId].join("|"))), n = /* @__PURE__ */ new Set();
2556
2556
  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) => ({
@@ -2821,16 +2821,16 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
2821
2821
  }
2822
2822
  let $ = h(() => U.value.find((e) => e.id === Re.value));
2823
2823
  function Qt(e) {
2824
- return j.value.find((t) => t.id === e);
2824
+ return ye.value.find((t) => t.id === e);
2825
2825
  }
2826
2826
  function $t(e) {
2827
- return J && !Se.has(e);
2827
+ return J && !he.has(e);
2828
2828
  }
2829
2829
  async function en(e) {
2830
- J && await k(Qt(e));
2830
+ J && await ve(Qt(e));
2831
2831
  }
2832
2832
  async function tn(e, t) {
2833
- J && await O(Qt(e), t);
2833
+ J && await k(Qt(e), t);
2834
2834
  }
2835
2835
  function nn() {
2836
2836
  clearTimeout(pt);
@@ -2854,11 +2854,11 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
2854
2854
  cn();
2855
2855
  return;
2856
2856
  }
2857
- Me.value = {
2857
+ Ne.value = {
2858
2858
  x: e.x,
2859
2859
  y: e.y
2860
2860
  }, Be.value = e.cameraId, ft = setTimeout(() => {
2861
- Ae.value && Ne.value?.show({ currentTarget: Ae.value });
2861
+ je.value && R.value?.show({ currentTarget: je.value });
2862
2862
  }, 350);
2863
2863
  }
2864
2864
  function sn() {
@@ -2866,14 +2866,14 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
2866
2866
  }
2867
2867
  function cn() {
2868
2868
  ft = setTimeout(() => {
2869
- Ne.value?.hide(), Be.value = null;
2869
+ R.value?.hide(), Be.value = null;
2870
2870
  }, 200);
2871
2871
  }
2872
2872
  function ln({ roomId: e, event: t }) {
2873
- F.value = e, ke.value = {
2873
+ Te.value = e, Ae.value = {
2874
2874
  x: t.clientX,
2875
2875
  y: t.clientY
2876
- }, o(() => N.value?.toggleMenu(t, I.value));
2876
+ }, o(() => Ce.value?.toggleMenu(t, Ee.value));
2877
2877
  }
2878
2878
  function un({ id: e, patch: t }) {
2879
2879
  Q(!0);
@@ -3098,7 +3098,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3098
3098
  } catch (e) {
3099
3099
  ae.add({
3100
3100
  severity: "error",
3101
- detail: we(e),
3101
+ detail: P(e),
3102
3102
  life: 5e3
3103
3103
  });
3104
3104
  } finally {
@@ -3107,9 +3107,9 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3107
3107
  }
3108
3108
  async function jn() {
3109
3109
  await Promise.all([
3110
- he.queryClient.refetchQueries({ queryKey: ["camerasList"] }),
3111
- he.queryClient.refetchQueries({ queryKey: ["cameras"] }),
3112
- he.queryClient.refetchQueries({
3110
+ A.queryClient.refetchQueries({ queryKey: ["camerasList"] }),
3111
+ A.queryClient.refetchQueries({ queryKey: ["cameras"] }),
3112
+ A.queryClient.refetchQueries({
3113
3113
  queryKey: ["rooms"],
3114
3114
  exact: !0
3115
3115
  })
@@ -3122,7 +3122,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3122
3122
  } catch (e) {
3123
3123
  ae.add({
3124
3124
  severity: "error",
3125
- detail: we(e),
3125
+ detail: P(e),
3126
3126
  life: 5e3
3127
3127
  });
3128
3128
  } finally {
@@ -3151,7 +3151,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3151
3151
  }
3152
3152
  (e.key === "Delete" || e.key === "Backspace") && G.value && (e.preventDefault(), _n(G.value));
3153
3153
  }
3154
- let Fn = me.onPlan(async (e) => {
3154
+ let Fn = O.onPlan(async (e) => {
3155
3155
  vt.value || (Ft(e, await Ye()), await jn());
3156
3156
  });
3157
3157
  function In(e) {
@@ -3175,20 +3175,20 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3175
3175
  }
3176
3176
  mt = new ResizeObserver(([e]) => it.value = Math.round(e.contentRect.height)), mt.observe(e);
3177
3177
  }), ee(() => G.value && `${G.value.kind}:${G.value.id}`, () => K.value = 0), ie(() => {
3178
- me.connect(), window.addEventListener("keydown", Pn), Mn();
3179
- }), ue((e) => !vt.value || lt ? !0 : (re.openTextDialog({
3178
+ O.connect(), window.addEventListener("keydown", Pn), Mn();
3179
+ }), se((e) => !vt.value || lt ? !0 : (re.openTextDialog({
3180
3180
  data: {
3181
3181
  title: f("views.floorplan.unsaved_title"),
3182
3182
  contentText: f("views.floorplan.unsaved_message"),
3183
3183
  confirmText: f("views.floorplan.discard")
3184
3184
  },
3185
3185
  onConfirm: async () => {
3186
- lt = !0, fe.push(e.fullPath);
3186
+ lt = !0, oe.push(e.fullPath);
3187
3187
  }
3188
3188
  }), !1)), t(() => {
3189
3189
  clearTimeout(ft), clearTimeout(pt), Fn(), mt?.disconnect(), window.removeEventListener("keydown", Pn);
3190
3190
  }), (e, t) => {
3191
- let o = Ue, l = Oe, f = A, h = gi, ee = D, te = pi, ne = je, w = He, re = Xe, ie = Ve, ae = L, oe = ui, ce = jr, le = mn, ue = Le, fe = Ge, O = ze, me = P, he = _e, ge = Ze, k = se, j = E;
3191
+ let o = Ue, l = ke, f = ue, h = gi, ee = D, te = pi, ne = Me, w = He, re = Xe, ie = Ve, ae = I, oe = ui, se = jr, O = mn, le = Le, k = Ge, me = ze, he = M, ge = Se, A = Ze, _e = pe, j = E;
3192
3192
  return r(), _("div", Pi, [
3193
3193
  T(f, { position: "left" }, {
3194
3194
  default: g(() => [T(l, {
@@ -3209,7 +3209,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3209
3209
  class: "cui-button-medium shrink-0",
3210
3210
  label: m(_t)?.name ?? e.$t("views.floorplan.no_levels"),
3211
3211
  disabled: !m(z).length,
3212
- onClick: t[1] ||= (e) => m(Ce)?.toggleMenu(e)
3212
+ onClick: t[1] ||= (e) => m(F)?.toggleMenu(e)
3213
3213
  }, {
3214
3214
  icon: g(() => [T(h)]),
3215
3215
  _: 1
@@ -3334,7 +3334,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3334
3334
  "rooms",
3335
3335
  "disabled"
3336
3336
  ])) : d("", !0),
3337
- T(ce, {
3337
+ T(se, {
3338
3338
  mobile: m(S),
3339
3339
  "bottom-inset": m(S) && m(G) ? Math.max(m(it) - m(K), 0) : 0,
3340
3340
  "bottom-inset-dragging": m(at),
@@ -3382,7 +3382,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3382
3382
  key: 1,
3383
3383
  class: "shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out",
3384
3384
  style: v({ width: m(G) ? "300px" : "0px" })
3385
- }, [m(G) ? (r(), u(le, {
3385
+ }, [m(G) ? (r(), u(O, {
3386
3386
  key: 0,
3387
3387
  rooms: m(B),
3388
3388
  connections: m(V),
@@ -3414,14 +3414,14 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3414
3414
  ref: rt,
3415
3415
  class: "fixed inset-x-0 z-[16] rounded-t-xl overflow-hidden shadow-lg border-top-color card-background",
3416
3416
  style: v({
3417
- bottom: `calc(${m(C)}px + env(safe-area-inset-bottom, 0px))`,
3417
+ bottom: `calc(${m(C)}px + var(--safe-area-inset-bottom))`,
3418
3418
  transform: `translateY(${m(K)}px)`,
3419
3419
  transition: m(at) ? "none" : "transform 0.2s ease-in-out"
3420
3420
  })
3421
3421
  }, [b("div", {
3422
3422
  class: "flex justify-center py-2 cursor-grab active:cursor-grabbing sheet-grip",
3423
3423
  onPointerdown: In
3424
- }, [...t[14] ||= [b("div", { class: "w-10 h-1 rounded-full sheet-grip-bar" }, null, -1)]], 32), T(le, {
3424
+ }, [...t[14] ||= [b("div", { class: "w-10 h-1 rounded-full sheet-grip-bar" }, null, -1)]], 32), T(O, {
3425
3425
  rooms: m(B),
3426
3426
  connections: m(V),
3427
3427
  cameras: m(H),
@@ -3446,7 +3446,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3446
3446
  "selection",
3447
3447
  "read-only"
3448
3448
  ])], 4)) : d("", !0),
3449
- m(J) && !m(et) ? (r(), u(ue, {
3449
+ m(J) && !m(et) ? (r(), u(le, {
3450
3450
  key: 3,
3451
3451
  model: m(Dt),
3452
3452
  direction: "up",
@@ -3458,8 +3458,8 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3458
3458
  style: v({
3459
3459
  position: "fixed",
3460
3460
  zIndex: 15,
3461
- bottom: `calc(${m(C)}px + ${m(vt) ? "4.25rem" : "1.25rem"} + env(safe-area-inset-bottom, 0px))`,
3462
- right: m(wt) || "calc(1.25rem + env(safe-area-inset-right, 0px))",
3461
+ bottom: `calc(${m(C)}px + ${m(vt) ? "4.25rem" : "1.25rem"} + var(--safe-area-inset-bottom))`,
3462
+ right: m(wt) || "calc(1.25rem + var(--safe-area-inset-right))",
3463
3463
  transition: "right 0.2s ease-in-out, bottom 0.2s ease-in-out"
3464
3464
  }),
3465
3465
  pt: { root: { style: "pointer-events: none" } }
@@ -3505,13 +3505,13 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3505
3505
  style: v({
3506
3506
  position: "fixed",
3507
3507
  zIndex: 15,
3508
- bottom: `calc(${m(C)}px + ${Math.max(m(it) - m(K), 0)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`,
3509
- right: m(wt) || "calc(1.25rem + env(safe-area-inset-right, 0px))",
3508
+ bottom: `calc(${m(C)}px + ${Math.max(m(it) - m(K), 0)}px + 1.25rem + var(--safe-area-inset-bottom))`,
3509
+ right: m(wt) || "calc(1.25rem + var(--safe-area-inset-right))",
3510
3510
  transition: m(at) ? "right 0.2s ease-in-out" : "right 0.2s ease-in-out, bottom 0.2s ease-in-out"
3511
3511
  }),
3512
3512
  onClick: An
3513
3513
  }, {
3514
- icon: g(() => [T(fe, { class: "w-5 h-5" })]),
3514
+ icon: g(() => [T(k, { class: "w-5 h-5" })]),
3515
3515
  _: 1
3516
3516
  }, 8, ["loading", "style"])), [[j, { value: e.$t("views.floorplan.save") }]]) : d("", !0),
3517
3517
  m(J) && m(S) && !m(et) ? x((r(), u(l, {
@@ -3521,15 +3521,15 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3521
3521
  style: v({
3522
3522
  position: "fixed",
3523
3523
  zIndex: 15,
3524
- bottom: `calc(${m(C)}px + 1.25rem + env(safe-area-inset-bottom, 0px))`,
3525
- right: "calc(4.75rem + env(safe-area-inset-right, 0px))"
3524
+ bottom: `calc(${m(C)}px + 1.25rem + var(--safe-area-inset-bottom))`,
3525
+ right: "calc(4.75rem + var(--safe-area-inset-right))"
3526
3526
  }),
3527
3527
  onClick: t[9] ||= (e) => $e.value = !0
3528
3528
  }, {
3529
3529
  icon: g(() => [T(ie, { class: "w-5 h-5" })]),
3530
3530
  _: 1
3531
3531
  }, 8, ["style"])), [[j, { value: e.$t("views.floorplan.palette") }]]) : d("", !0),
3532
- T(O, {
3532
+ T(me, {
3533
3533
  modelValue: m($e),
3534
3534
  "onUpdate:modelValue": t[10] ||= (e) => p($e) ? $e.value = e : null,
3535
3535
  title: e.$t("views.floorplan.palette"),
@@ -3552,20 +3552,20 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3552
3552
  }, 8, ["modelValue", "title"]),
3553
3553
  b("div", {
3554
3554
  ref_key: "menuAnchorRef",
3555
- ref: I,
3555
+ ref: Ee,
3556
3556
  class: "fixed w-0 h-0",
3557
3557
  style: v({
3558
- left: `${m(ke).x}px`,
3559
- top: `${m(ke).y}px`
3558
+ left: `${m(Ae).x}px`,
3559
+ top: `${m(Ae).y}px`
3560
3560
  })
3561
3561
  }, null, 4),
3562
3562
  b("div", {
3563
3563
  ref_key: "previewAnchorRef",
3564
- ref: Ae,
3564
+ ref: je,
3565
3565
  class: "fixed w-0 h-0",
3566
3566
  style: v({
3567
- left: `${m(Me).x}px`,
3568
- top: `${m(Me).y}px`
3567
+ left: `${m(Ne).x}px`,
3568
+ top: `${m(Ne).y}px`
3569
3569
  })
3570
3570
  }, null, 4),
3571
3571
  b("div", {
@@ -3577,7 +3577,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3577
3577
  top: `${m(Fe).y}px`
3578
3578
  })
3579
3579
  }, null, 4),
3580
- T(me, {
3580
+ T(he, {
3581
3581
  ref_key: "sensorPopoverRef",
3582
3582
  ref: Ie,
3583
3583
  class: "shadow-lg cui-rounded-corner",
@@ -3589,16 +3589,16 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3589
3589
  onPointerenter: nn,
3590
3590
  onPointerleave: rn
3591
3591
  }, [
3592
- b("div", zi, [b("div", Bi, [(r(), u(c(m(pe)(m($).sensorType, Qt(m($).id))), { class: "w-4 h-4" }))]), b("div", Vi, [
3592
+ b("div", zi, [b("div", Bi, [(r(), u(c(m(fe)(m($).sensorType, Qt(m($).id))), { class: "w-4 h-4" }))]), b("div", Vi, [
3593
3593
  b("div", Hi, i(m($).name), 1),
3594
3594
  m($).owner ? (r(), _("div", Ui, i(m($).owner), 1)) : d("", !0),
3595
- b("div", Wi, i(m(de)(m($).sensorType, Qt(m($).id))), 1)
3595
+ b("div", Wi, i(m(ce)(m($).sensorType, Qt(m($).id))), 1)
3596
3596
  ])]),
3597
3597
  m($).note ? (r(), _("div", Gi, i(m($).note), 1)) : d("", !0),
3598
3598
  m($).sensorType === "securitySystem" ? (r(), _("div", Ki, [(r(), _(y, null, n(st, (t) => T(l, {
3599
3599
  key: t.value,
3600
3600
  severity: "secondary",
3601
- outlined: m(xe)(Qt(m($).id)) !== t.value,
3601
+ outlined: m(de)(Qt(m($).id)) !== t.value,
3602
3602
  size: "small",
3603
3603
  class: "cui-button-medium",
3604
3604
  label: e.$t(t.labelKey),
@@ -3618,9 +3618,9 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3618
3618
  ], 32)) : d("", !0)]),
3619
3619
  _: 1
3620
3620
  }, 512),
3621
- T(me, {
3621
+ T(he, {
3622
3622
  ref_key: "previewRef",
3623
- ref: Ne,
3623
+ ref: R,
3624
3624
  class: "shadow-lg cui-rounded-corner overflow-hidden",
3625
3625
  pt: { content: { class: "p-0" } }
3626
3626
  }, {
@@ -3628,7 +3628,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3628
3628
  class: "w-[280px] flex flex-col",
3629
3629
  onPointerenter: sn,
3630
3630
  onPointerleave: cn
3631
- }, [b("div", qi, [m(X) ? (r(), u(he, {
3631
+ }, [b("div", qi, [m(X) ? (r(), u(ge, {
3632
3632
  key: 0,
3633
3633
  "camera-info": m(X),
3634
3634
  "source-role": "low-resolution",
@@ -3646,7 +3646,7 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3646
3646
  class: "cui-button p-1.5",
3647
3647
  onClick: t[12] ||= (t) => e.$router.push(`/cameras/${m(X).name}`)
3648
3648
  }, {
3649
- icon: g(() => [T(ge, { class: "w-4 h-4" })]),
3649
+ icon: g(() => [T(A, { class: "w-4 h-4" })]),
3650
3650
  _: 1
3651
3651
  })), [[
3652
3652
  j,
@@ -3656,22 +3656,22 @@ var Pi = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Fi =
3656
3656
  ]])])) : d("", !0)], 32)]),
3657
3657
  _: 1
3658
3658
  }, 512),
3659
- T(k, {
3659
+ T(_e, {
3660
3660
  ref_key: "stairsMenuRef",
3661
- ref: N,
3661
+ ref: Ce,
3662
3662
  items: m(Ot),
3663
3663
  "max-height": "320px",
3664
3664
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
3665
3665
  }, null, 8, ["items"]),
3666
- T(k, {
3666
+ T(_e, {
3667
3667
  ref_key: "levelMenuRef",
3668
- ref: Ce,
3668
+ ref: F,
3669
3669
  items: m(Et),
3670
3670
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
3671
3671
  }, null, 8, ["items"])
3672
3672
  ]);
3673
3673
  };
3674
3674
  }
3675
- }), [["__scopeId", "data-v-7b86d341"]]);
3675
+ }), [["__scopeId", "data-v-52889004"]]);
3676
3676
  //#endregion
3677
3677
  export { Qi as default };