@camera.ui/server 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/dist/interface/assets/{404-0R6IdIDK.js → 404-bSMSPWcp.js} +1 -1
  2. package/dist/interface/assets/{About-DMpFqnl5.js → About-DqMxC4AO.js} +1 -1
  3. package/dist/interface/assets/Assistant-CIHF-bHs.js +1 -0
  4. package/dist/interface/assets/Automation-CUDypjZw.js +3 -0
  5. package/dist/interface/assets/AutomationImport-Cr14tF-Q.js +2 -0
  6. package/dist/interface/assets/AutomationStore-BnZgfI9i.js +2 -0
  7. package/dist/interface/assets/AutomationStoreDetail-btcIglkw.js +2 -0
  8. package/dist/interface/assets/Automations-CKpwXTyc.js +2 -0
  9. package/dist/interface/assets/Camera-BEP_HAQm.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-CUDLuW5x.js → CameraConsole-BK8TqHgA.js} +1 -1
  11. package/dist/interface/assets/{Cameras-CTF5buln.js → Cameras-DJreIgtW.js} +2 -2
  12. package/dist/interface/assets/Camview-D4VNMv_l.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-_VQx5fjA.js → CertificateUpload-PfgVZa4M.js} +1 -1
  14. package/dist/interface/assets/{Config-B0SEAh17.js → Config-DapgreIX.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionAssistant-Ug-C-Cx8.js → ConfigActionAssistant-v0w4E-mE.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-D0BTPk1r.js → ConfigActionCameraControl-fdrsnRyE.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-C6u-CHFE.js → ConfigActionDelay-C_dq3ozL.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-CxbJVkf2.js → ConfigActionHttp-1hDI-38w.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-BpDXjbnf.js → ConfigActionImageInput-DCF8qeg9.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-m_fOoTcf.js → ConfigActionMqtt-XpVD7lFg.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-Dwpm67Cr.js → ConfigActionNotification-CB1ymMRz.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-CxlpMc7I.js → ConfigActionNotificationControl-BfDtLS5h.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-WVe74xXz.js → ConfigActionOutput-CMfXI1b3.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C1R8SkM3.js → ConfigActionPlugin-CZo6SudQ.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-CN-KmQKx.js → ConfigActionSensor-CetFuASa.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-uIsJGPwz.js → ConfigActionSnapshot-BpPhHpIk.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-Due14Kwt.js → ConfigActionVariable-SJomTISn.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-mIXw954j.js → ConfigConditionIfElse-ClTxvZJz.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-BvS-fd36.js → ConfigConditionSensorState-FbLmmHyP.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-CYRUg-Uo.js → ConfigConditionSwitch--qAHkOdE.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-WkevpYaO.js → ConfigConditionTime-BqjDUPVR.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-BDz5olLY.js → ConfigSensorValueInput-B1dLcmSO.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-BKIh59B7.js → ConfigTriggerDetection-CMZyEWui.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerGeofence-kWjR7mlR.js → ConfigTriggerGeofence-B9JPVvhP.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerManual-D7w6C58j.js → ConfigTriggerManual-CSdF69jM.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-DjDopQHT.js → ConfigTriggerMqtt-BzN7_xVm.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-1UcaRD5S.js → ConfigTriggerSchedule-BK_Ogvxn.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-DbP-61eW.js → ConfigTriggerSensor-BaQklhHP.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-CsSWt2u_.js → ConfigTriggerSystem-DIX95l0X.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-TU4l4Tgx.js → ConfigTriggerWebhook-_EOJAgNk.js} +1 -1
  41. package/dist/interface/assets/Console-Y1IutnkC.js +1 -0
  42. package/dist/interface/assets/CuiAssistantConversation-C4RYcMAM.js +5 -0
  43. package/dist/interface/assets/{CuiAssistantConversation-CImeuG1m.css → CuiAssistantConversation-CWCLLi3b.css} +1 -1
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-Bez4F56I.js → CuiAutomationRunsDialog-DpskKeEe.js} +1 -1
  45. package/dist/interface/assets/{CuiBottomSheet-Daxo4Mlc.js → CuiBottomSheet-Bg_AIuGY.js} +1 -1
  46. package/dist/interface/assets/CuiBottomSheet-S8bM23jj.js +1 -0
  47. package/dist/interface/assets/{CuiCameraPipCard-Z2PrIFdi.js → CuiCameraPipCard-HTjvF3yG.js} +1 -1
  48. package/dist/interface/assets/CuiCameraRecordings-Cx6FYz3Y.js +1 -0
  49. package/dist/interface/assets/CuiCameraShares-J728G9wF.js +1 -0
  50. package/dist/interface/assets/CuiCameraTable-CKur0qLE.js +1 -0
  51. package/dist/interface/assets/{CuiCameraTable-DDjhotD1.js → CuiCameraTable-CyAYYPvd.js} +2 -2
  52. package/dist/interface/assets/{CuiChartTable-CBVtsiJG.js → CuiChartTable-BklHSjRr.js} +1 -1
  53. package/dist/interface/assets/{CuiConsole-Cb22vO0N.js → CuiConsole-4rDfDj0a.js} +1 -1
  54. package/dist/interface/assets/{CuiDataTable-DCCXx-KT.js → CuiDataTable-BLyeEEAp.js} +1 -1
  55. package/dist/interface/assets/CuiLightControl-C1YSJSWd.js +1 -0
  56. package/dist/interface/assets/{CuiList-Dfklll0h.js → CuiList-BafzuN0H.js} +1 -1
  57. package/dist/interface/assets/CuiPluginCard-enc00hbc.js +2 -0
  58. package/dist/interface/assets/CuiPluginCategoryChip-B4w2DH_j.js +1 -0
  59. package/dist/interface/assets/CuiPluginOAuthButton-C_jxPrPQ.js +2 -0
  60. package/dist/interface/assets/{CuiPluginTrustBadge-DU-SN0LX.js → CuiPluginTrustBadge-pLnF2Ggn.js} +1 -1
  61. package/dist/interface/assets/{CuiQRCode-CE5p3ucc.js → CuiQRCode-8Q6cFdfs.js} +1 -1
  62. package/dist/interface/assets/CuiSchema-CRHUMY0B.js +1 -0
  63. package/dist/interface/assets/{CuiTopNavbarItem-DloEl6H2.js → CuiTopNavbarItem-BZXzuV42.js} +1 -1
  64. package/dist/interface/assets/Faces-fMMd6-PY.js +1 -0
  65. package/dist/interface/assets/FirstSteps-BNcAFp2c.js +1 -0
  66. package/dist/interface/assets/Floorplan-BQbOWCCf.js +1 -0
  67. package/dist/interface/assets/{Instances-BCs2bvFK.js → Instances-DUWWy-El.js} +1 -1
  68. package/dist/interface/assets/{Logs-Bc8Vw1LC.js → Logs-7CxXc2Re.js} +2 -2
  69. package/dist/interface/assets/{Menu-CxyTrCpO.js → Menu-B3VA0LMx.js} +1 -1
  70. package/dist/interface/assets/Metrics-C0q2BdKH.js +9 -0
  71. package/dist/interface/assets/OAuthDeviceFlow-ZiCl4400.js +1 -0
  72. package/dist/interface/assets/Plugin-C0CPlt4f.js +1 -0
  73. package/dist/interface/assets/{PluginConsole-C-OYBgoX.js → PluginConsole-BOaU7Ey0.js} +1 -1
  74. package/dist/interface/assets/PluginDetail-DDh6PfMd.js +2 -0
  75. package/dist/interface/assets/{PluginSchema-DWvIHRcH.js → PluginSchema-BWlRMPo6.js} +1 -1
  76. package/dist/interface/assets/PluginSearch-BR_ei8Pa.js +1 -0
  77. package/dist/interface/assets/PluginSearch-C2AXz2KG.js +2 -0
  78. package/dist/interface/assets/{PluginUpdateProgress-Co2Q3sTn.js → PluginUpdateProgress-DFg14vV8.js} +1 -1
  79. package/dist/interface/assets/Plugins-CN1YIfNk.js +1 -0
  80. package/dist/interface/assets/RecentEventsFilter-B6Ph-pxb.js +1 -0
  81. package/dist/interface/assets/Recordings-jhxwdrQY.js +1 -0
  82. package/dist/interface/assets/{SensorEdit-B_23v49k.js → SensorEdit-DEenjJ8S.js} +1 -1
  83. package/dist/interface/assets/{SensorHistory-CoMfC6Fx.js → SensorHistory-CU1Uwf5f.js} +1 -1
  84. package/dist/interface/assets/Sensors-LnVLPDWf.js +2 -0
  85. package/dist/interface/assets/{Settings-BH-IbtGi.js → Settings-uk3RVXCS.js} +1 -1
  86. package/dist/interface/assets/SettingsAccount-CJ_fPrT-.js +1 -0
  87. package/dist/interface/assets/SettingsAccount-CYn81m0Z.js +1 -0
  88. package/dist/interface/assets/{SettingsAppearance-JbKDfSiu.js → SettingsAppearance-CRYcal9v.js} +1 -1
  89. package/dist/interface/assets/SettingsAppearance-DFe8JsT5.js +1 -0
  90. package/dist/interface/assets/SettingsAssistant-CDyI6fee.css +1 -0
  91. package/dist/interface/assets/SettingsAssistant-Dm4oINqB.js +1 -0
  92. package/dist/interface/assets/{SettingsBackup-DNDyM2p5.js → SettingsBackup-CSvGqsru.js} +1 -1
  93. package/dist/interface/assets/{SettingsList-C9cI0Flx.js → SettingsList-BQR6jnP-.js} +1 -1
  94. package/dist/interface/assets/SettingsMqtt-ByQYIRkm.js +1 -0
  95. package/dist/interface/assets/SettingsNotifications-8sSoP-8S.js +1 -0
  96. package/dist/interface/assets/{SettingsPermissions-B6vNyFvJ.js → SettingsPermissions-D7kYdjfw.js} +1 -1
  97. package/dist/interface/assets/SettingsRecordings-DjLYqbKo.js +1 -0
  98. package/dist/interface/assets/SettingsRemote-7iDccnV9.js +2 -0
  99. package/dist/interface/assets/SettingsSystem-BxQNJc8n.js +2 -0
  100. package/dist/interface/assets/SettingsUsers-yYobKcPv.js +1 -0
  101. package/dist/interface/assets/{Terminal-DlJD6leH.js → Terminal-Bsnvs8gs.js} +2 -2
  102. package/dist/interface/assets/Training-BUhrkDzA.css +1 -0
  103. package/dist/interface/assets/Training-SOWa6Ay1.js +1 -0
  104. package/dist/interface/assets/{Updates-BV7OHWjC.js → Updates-Dsn_fJ-N.js} +1 -1
  105. package/dist/interface/assets/{VariableInput-Ds5NaShw.js → VariableInput-DCWiIgaZ.js} +1 -1
  106. package/dist/interface/assets/{VariableSuggestions-B0Y5QsCw.js → VariableSuggestions-BhIlXJ6r.js} +1 -1
  107. package/dist/interface/assets/{VersionsHandler-DYZDc3SX.js → VersionsHandler-DM_Jf4EA.js} +1 -1
  108. package/dist/interface/assets/VirtualSensorCreate-Q4kd0dfE.js +1 -0
  109. package/dist/interface/assets/Workers-D7mXpfvC.js +2 -0
  110. package/dist/interface/assets/api-BKiE8A_V.css +2 -0
  111. package/dist/interface/assets/api-Cl7JjXOQ.js +4 -0
  112. package/dist/interface/assets/{api-BA88nyEF.js → api-LjAY3aa3.js} +1 -1
  113. package/dist/interface/assets/{assistant-Ba5Ac9Nh.js → assistant-BFc44oq-.js} +1 -1
  114. package/dist/interface/assets/{auth-YWWYJni-.js → auth-CUPvHARA.js} +1 -1
  115. package/dist/interface/assets/automations-Dw4L5sT0.js +1 -0
  116. package/dist/interface/assets/cameraSources-CzENFiZx.js +1 -0
  117. package/dist/interface/assets/cloudHandoff-CGMLCwMb.js +1 -0
  118. package/dist/interface/assets/{config-BfTF54hH.js → config-EBcNBZkb.js} +1 -1
  119. package/dist/interface/assets/dots-vertical-C4DlXZyp.js +1 -0
  120. package/dist/interface/assets/eventIcons-BPQ-zSnz.js +1 -0
  121. package/dist/interface/assets/{flowSchema-ZMBzlKJI.js → flowSchema-CdzBw69a.js} +1 -1
  122. package/dist/interface/assets/{intercomService-DQ4LZJfW.js → intercomService-DIfdcsXc.js} +1 -1
  123. package/dist/interface/assets/main-W8WcKa2g.js +3 -0
  124. package/dist/interface/assets/{main-CbPa_jky.css → main-XHFrBKKz.css} +1 -1
  125. package/dist/interface/assets/mqtt-D_wH18eJ.js +1 -0
  126. package/dist/interface/assets/{notifications-D2QwzHwL.js → notifications-wLsrlI9N.js} +1 -1
  127. package/dist/interface/assets/plugins-DwmkpOPJ.js +1 -0
  128. package/dist/interface/assets/rooms-D_7As09p.js +1 -0
  129. package/dist/interface/assets/sensorIcons-BY853M0u.js +1 -0
  130. package/dist/interface/assets/{sensorSlots-CUWphRrL.js → sensorSlots-DnRJdaTG.js} +1 -1
  131. package/dist/interface/assets/{sensors-KDhClJkT.js → sensors-B9etOqBI.js} +1 -1
  132. package/dist/interface/assets/{server-BZUgxc3a.js → server-BTKgKMye.js} +1 -1
  133. package/dist/interface/assets/{theme-BPfSpHbW.js → theme-CbtGvohq.js} +1 -1
  134. package/dist/interface/assets/types-BEy4uGJ0.js +1 -0
  135. package/dist/interface/assets/{types-BxQYBZ2c.js → types-CEhVWRYD.js} +1 -1
  136. package/dist/interface/assets/types-COlvVtDn.js +1 -0
  137. package/dist/interface/assets/ungrouped-BJyBDv5e.js +1 -0
  138. package/dist/interface/assets/{updates-DBcWStos.js → updates-BQ6Ugcup.js} +1 -1
  139. package/dist/interface/assets/{useAppVersion-CnkrpDgi.js → useAppVersion-BO-3jbup.js} +1 -1
  140. package/dist/interface/assets/{useAssistantActions-BeXqj2-6.js → useAssistantActions-CRVHZw4o.js} +1 -1
  141. package/dist/interface/assets/{useBackupRestore-DMO3YoI3.js → useBackupRestore-D305pYHT.js} +1 -1
  142. package/dist/interface/assets/{useCameraOptions-Dka0PweD.js → useCameraOptions-C7tgceJ1.js} +1 -1
  143. package/dist/interface/assets/{useKeyboardInset--YIaX3ui.js → useKeyboardInset-yu3BVnj7.js} +1 -1
  144. package/dist/interface/assets/{useLogsSocket-CuBhuz2x.js → useLogsSocket-B4wTnSno.js} +1 -1
  145. package/dist/interface/assets/{useNavLayout-DqfVqch5.js → useNavLayout-Z61-OsIG.js} +1 -1
  146. package/dist/interface/assets/{usePermissions-CsWQ7pWp.js → usePermissions-Bjx4t0x3.js} +1 -1
  147. package/dist/interface/assets/{usePluginUpdates-Bd9aG0m4.js → usePluginUpdates-Dv3_XJTK.js} +1 -1
  148. package/dist/interface/assets/{usePushRegistration-CRfLAqg_.js → usePushRegistration-CHNMZ94f.js} +1 -1
  149. package/dist/interface/assets/{useServerRestart-dZl5kp-p.js → useServerRestart-C-AsOdJP.js} +1 -1
  150. package/dist/interface/assets/{useStreamStatus-CUhV9eYE.js → useStreamStatus-BJoJF68x.js} +1 -1
  151. package/dist/interface/assets/{useTabSwipe-CygERn8O.js → useTabSwipe-b_K3BIkW.js} +1 -1
  152. package/dist/interface/assets/{useUpdateChannel-DWFsxlIH.js → useUpdateChannel-Cc4IrrDy.js} +1 -1
  153. package/dist/interface/assets/{useUpdatesSocket-DrvP72pd.js → useUpdatesSocket-Cz9lN4Bc.js} +1 -1
  154. package/dist/interface/assets/{useUserOptions-RG_d0mku.js → useUserOptions-DrNB17kY.js} +1 -1
  155. package/dist/interface/assets/{vendor-cameraui-zaB6gIk1.js → vendor-cameraui-CqKq4Yeo.js} +1 -1
  156. package/dist/interface/assets/{vendor-core-CfoDuMvj.js → vendor-core-BTkC8NzR.js} +1 -1
  157. package/dist/interface/assets/{vendor-primevue-5HrOunkM.js → vendor-primevue-DQz5Qnqu.js} +1 -1
  158. package/dist/interface/assets/vendor-zod-BigRv4ty.js +109 -0
  159. package/dist/interface/ha/{404-BhFXBx4d.js → 404-Bg2Vlt5S.js} +1 -1
  160. package/dist/interface/ha/{About-D2u_8ssN.js → About-C6u2wgUi.js} +6 -6
  161. package/dist/interface/ha/{Assistant-DlUU6WbS.js → Assistant-BCyiVnwD.js} +1127 -1081
  162. package/dist/interface/ha/{Automation-Dddvbd8Y.js → Automation-DU_qv5xD.js} +176 -176
  163. package/dist/interface/ha/{AutomationImport-C8QyqnLL.js → AutomationImport-BpDyhabF.js} +7 -7
  164. package/dist/interface/ha/{AutomationStore-BbcWkMlV.js → AutomationStore-DPQsunpH.js} +52 -51
  165. package/dist/interface/ha/{AutomationStoreDetail-C6wqQI8t.js → AutomationStoreDetail-CASMQ-mD.js} +23 -23
  166. package/dist/interface/ha/{Automations-BL3XKISI.js → Automations-DSHVzwX4.js} +90 -90
  167. package/dist/interface/ha/{Camera-DjdtVIDf.js → Camera-ESmteicm.js} +42 -42
  168. package/dist/interface/ha/{CameraConsole-D_9KgIy6.js → CameraConsole-BE_jl4Co.js} +5 -5
  169. package/dist/interface/ha/{Cameras-BRKa0gO0.js → Cameras-otaj2xZO.js} +279 -279
  170. package/dist/interface/ha/{Camview-ugcvjRhF.js → Camview-BU1027if.js} +464 -463
  171. package/dist/interface/ha/{Config-GkoXI3ND.js → Config-BlEvHYVP.js} +11 -11
  172. package/dist/interface/ha/{ConfigActionAssistant-FdyhQC1g.js → ConfigActionAssistant-uDf5fgoJ.js} +4 -4
  173. package/dist/interface/ha/{ConfigActionCameraControl-CfM81AXm.js → ConfigActionCameraControl-BAQsXVLz.js} +5 -5
  174. package/dist/interface/ha/{ConfigActionHttp-DwPoY52J.js → ConfigActionHttp-Dy2MZHSm.js} +2 -2
  175. package/dist/interface/ha/{ConfigActionImageInput-Bgcc8iTW.js → ConfigActionImageInput-B5kyV3Un.js} +1 -1
  176. package/dist/interface/ha/{ConfigActionMqtt-Do3Lc6-c.js → ConfigActionMqtt-DHCgh1xx.js} +4 -4
  177. package/dist/interface/ha/{ConfigActionNotification-B_0IACMJ.js → ConfigActionNotification-mbA5PfcJ.js} +4 -4
  178. package/dist/interface/ha/{ConfigActionNotificationControl-dC7lQqHI.js → ConfigActionNotificationControl-TLaL7tYm.js} +2 -2
  179. package/dist/interface/ha/{ConfigActionOutput-BCQUuCL3.js → ConfigActionOutput-CJ40Fniw.js} +1 -1
  180. package/dist/interface/ha/{ConfigActionPlugin-ClGszpNQ.js → ConfigActionPlugin-BwTd-mdQ.js} +5 -5
  181. package/dist/interface/ha/{ConfigActionSensor-DuQR6Yu4.js → ConfigActionSensor-BI438ihg.js} +6 -6
  182. package/dist/interface/ha/{ConfigActionSnapshot-E7Hp07Q0.js → ConfigActionSnapshot-DJ4zI2a0.js} +2 -2
  183. package/dist/interface/ha/{ConfigActionVariable-CHkWJ76e.js → ConfigActionVariable-Bhy5jf_w.js} +1 -1
  184. package/dist/interface/ha/{ConfigConditionIfElse-BBgNDLpw.js → ConfigConditionIfElse-I7Qq8nfN.js} +3 -3
  185. package/dist/interface/ha/{ConfigConditionSensorState-BiFmpbMg.js → ConfigConditionSensorState-CTLP3ppx.js} +4 -4
  186. package/dist/interface/ha/{ConfigConditionSwitch-BZp4hCmz.js → ConfigConditionSwitch-UUupXf1b.js} +10 -10
  187. package/dist/interface/ha/{ConfigConditionTime-CcZFjBil.js → ConfigConditionTime-CRn4k6uE.js} +2 -2
  188. package/dist/interface/ha/{ConfigSensorValueInput-CI_4-6-o.js → ConfigSensorValueInput-CoHheDT0.js} +5 -4
  189. package/dist/interface/ha/{ConfigTriggerDetection-D5Yfd6nh.js → ConfigTriggerDetection-Cg_jKNed.js} +4 -4
  190. package/dist/interface/ha/{ConfigTriggerGeofence-BuadOROr.js → ConfigTriggerGeofence-WlJbu3sC.js} +6 -6
  191. package/dist/interface/ha/{ConfigTriggerMqtt-DKr9Lje8.js → ConfigTriggerMqtt-BeRJoceK.js} +1 -1
  192. package/dist/interface/ha/{ConfigTriggerSensor-DGYJoRq9.js → ConfigTriggerSensor-k58gVKdG.js} +2 -2
  193. package/dist/interface/ha/{ConfigTriggerSystem-HXnm4_7F.js → ConfigTriggerSystem-Ckm5yoUm.js} +2 -2
  194. package/dist/interface/ha/{ConfigTriggerWebhook-DBxcAAJI.js → ConfigTriggerWebhook-D425z-p1.js} +6 -6
  195. package/dist/interface/ha/{Console-BMvw2vXY.js → Console-C1Ub4Rji.js} +100 -100
  196. package/dist/interface/ha/{CuiAutomationRunsDialog-QNvLMPna.js → CuiAutomationRunsDialog-opy5qXwE.js} +2 -2
  197. package/dist/interface/ha/{CuiBottomSheet-CnDN0_Tp.js → CuiBottomSheet-DbCwVXl1.js} +1 -1
  198. package/dist/interface/ha/{CuiCameraRecordings-B4yap0Gu.js → CuiCameraRecordings-CifJLj7G.js} +20 -19
  199. package/dist/interface/ha/{CuiCameraShares-nPodkk2P.js → CuiCameraShares-Xty8LRcn.js} +7 -7
  200. package/dist/interface/ha/{CuiCameraTable-IsutvZcy.js → CuiCameraTable-CqfxX0Yn.js} +9 -9
  201. package/dist/interface/ha/{CuiChartTable-Dd0_sAge.js → CuiChartTable-ABHnLdR0.js} +36 -36
  202. package/dist/interface/ha/{CuiConsole-BZVHMf0M.js → CuiConsole-3JwbeUYD.js} +5 -5
  203. package/dist/interface/ha/{CuiDataTable--yJTTWKH.js → CuiDataTable-BwE7D2h5.js} +7 -6
  204. package/dist/interface/ha/{CuiPluginCard-D3hHRaFf.js → CuiPluginCard-bzxiy1yb.js} +53 -53
  205. package/dist/interface/ha/{CuiPluginOAuthButton-Dv9K7ZbU.js → CuiPluginOAuthButton-DSxrzDmg.js} +6 -6
  206. package/dist/interface/ha/{CuiPluginTrustBadge-8HRs2vnR.js → CuiPluginTrustBadge-g0XkvDt8.js} +3 -3
  207. package/dist/interface/ha/{CuiQRCode-CfLMS7k7.js → CuiQRCode-uyRFbzd6.js} +6 -6
  208. package/dist/interface/ha/{CuiSchema-CCrY2Lx-.js → CuiSchema-DZIrlY8R.js} +148 -148
  209. package/dist/interface/ha/{CuiTopNavbarItem-CRls6-wE.js → CuiTopNavbarItem-C3a5NA7u.js} +1 -1
  210. package/dist/interface/ha/{Faces-DRaKBXFa.js → Faces-D2eca8MN.js} +109 -108
  211. package/dist/interface/ha/{FirstSteps-Dyq-VE0F.js → FirstSteps-CdTE1cvw.js} +64 -64
  212. package/dist/interface/ha/{Floorplan-euEQQ_Wp.js → Floorplan-BrEC2Au5.js} +379 -378
  213. package/dist/interface/ha/{Instances-DRLfaxS6.js → Instances-ClOsPOi8.js} +20 -20
  214. package/dist/interface/ha/{Logs-CCK0wJOu.js → Logs-DnY1gTnb.js} +12 -12
  215. package/dist/interface/ha/{Menu-DUlknRU8.js → Menu-cLDE76XZ.js} +16 -16
  216. package/dist/interface/ha/{Metrics-R6cm39jI.js → Metrics-pMQX_0m1.js} +97 -96
  217. package/dist/interface/ha/{OAuthDeviceFlow-qpAW51DL.js → OAuthDeviceFlow-D1PGQ8r9.js} +9 -9
  218. package/dist/interface/ha/{Plugin-C_ucUCim.js → Plugin-DiC23P97.js} +83 -82
  219. package/dist/interface/ha/{PluginConsole-B3biAENv.js → PluginConsole-B-lX5KJu.js} +6 -6
  220. package/dist/interface/ha/{PluginDetail-tIUv1KCl.js → PluginDetail-B_tVJf6y.js} +10 -10
  221. package/dist/interface/ha/{PluginSearch-BoqtcJfg.js → PluginSearch-n8nfjx9q.js} +35 -34
  222. package/dist/interface/ha/{PluginUpdateProgress-Ci0J6dHX.js → PluginUpdateProgress-BjsYyrRk.js} +3 -3
  223. package/dist/interface/ha/{Plugins-LE7-xUCl.js → Plugins-CFhOUaqq.js} +178 -191
  224. package/dist/interface/ha/RecentEventsFilter-C1deXNIS.js +79 -0
  225. package/dist/interface/ha/{Recordings-DbvAT7YJ.js → Recordings-B07eUJwH.js} +332 -361
  226. package/dist/interface/ha/{SensorEdit-BqEjosUi.js → SensorEdit-DFPiBXQD.js} +362 -360
  227. package/dist/interface/ha/{SensorHistory-DXV4mdTs.js → SensorHistory-B2FOK4Qa.js} +2 -2
  228. package/dist/interface/ha/{Sensors-Bcs1GBQJ.js → Sensors-DtzmTc-L.js} +525 -523
  229. package/dist/interface/ha/{Settings-BwomsDjK.js → Settings-ClqSoFjT.js} +25 -25
  230. package/dist/interface/ha/{SettingsAccount-0onAlHuN.js → SettingsAccount-Bh8FfH7J.js} +263 -262
  231. package/dist/interface/ha/{SettingsAppearance-DBOsOLUc.js → SettingsAppearance--FJgY8cj.js} +20 -20
  232. package/dist/interface/ha/{SettingsAssistant-Cfsd5Uw6.js → SettingsAssistant-ClDfxd_d.js} +664 -613
  233. package/dist/interface/ha/{SettingsBackup-hj8iLx0k.js → SettingsBackup-BYM55pQ7.js} +39 -39
  234. package/dist/interface/ha/{SettingsList-B3ri6DQ2.js → SettingsList-CMSEKVCD.js} +2 -2
  235. package/dist/interface/ha/{SettingsMqtt-BjsuWyUa.js → SettingsMqtt-CFpgJ-E5.js} +149 -149
  236. package/dist/interface/ha/{SettingsNotifications-DVgF5Rri.js → SettingsNotifications-CzgsBNtW.js} +5 -5
  237. package/dist/interface/ha/{SettingsRecordings-BFhs0muG.js → SettingsRecordings-Bz686yU7.js} +10 -9
  238. package/dist/interface/ha/{SettingsRemote-B2Ei9dR1.js → SettingsRemote-DT4ZMjJO.js} +358 -358
  239. package/dist/interface/ha/{SettingsSystem-CXTNGd2y.js → SettingsSystem-CHctt06D.js} +9 -9
  240. package/dist/interface/ha/{SettingsUsers-CgPnsdzW.js → SettingsUsers-C_hvntON.js} +39 -39
  241. package/dist/interface/ha/{Terminal-Dwmdp2vt.js → Terminal-B5FXq4-Z.js} +41 -41
  242. package/dist/interface/ha/{Training-CdzQ1WtN.js → Training-BgvpsKPM.js} +469 -469
  243. package/dist/interface/ha/{Updates-CTU4JiFI.js → Updates-D0osNjqS.js} +13 -13
  244. package/dist/interface/ha/{VariableInput-C2qGWTPn.js → VariableInput-BK0qqMc7.js} +1 -1
  245. package/dist/interface/ha/{VersionsHandler-Z7RAUdO5.js → VersionsHandler-B-vpKHJN.js} +9 -9
  246. package/dist/interface/ha/{VirtualSensorCreate-BsRO9E1F.js → VirtualSensorCreate-Bp2201iM.js} +3 -3
  247. package/dist/interface/ha/{Workers-D_jtMnzt.js → Workers-BQ_luGWk.js} +86 -86
  248. package/dist/interface/ha/{accordion-DdpJ2jcK.js → accordion-X9Wa7KVq.js} +1 -1
  249. package/dist/interface/ha/{api-i97kvGtZ.js → api-BufZW7-A.js} +3 -3
  250. package/dist/interface/ha/{api-DRr9pyiA.js → api-JPS8NpNG.js} +9133 -9618
  251. package/dist/interface/ha/{assistant-DT5mH0IU.js → assistant-BXVGCw2q.js} +54 -54
  252. package/dist/interface/ha/{auth-Dd-U6Sx5.js → auth-CJC9G9BA.js} +38 -38
  253. package/dist/interface/ha/{automationBlueprint-Bp5haBxv.js → automationBlueprint-DWuBiu_Q.js} +4 -3
  254. package/dist/interface/ha/cameraui-cards.js +1 -1
  255. package/dist/interface/ha/{cards-B_qaT-id.js → cards-CGP6dWjy.js} +558 -557
  256. package/dist/interface/ha/checkbox-D012nd17.js +279 -0
  257. package/dist/interface/ha/{config-Cdjp82J6.js → config-BVURO_DZ.js} +15 -15
  258. package/dist/interface/ha/{datepicker-DpDmhDeD.js → datepicker-44Ub2Hx0.js} +329 -604
  259. package/dist/interface/ha/dist-BTp4AyuI.js +287 -0
  260. package/dist/interface/ha/{dist-aGnBxAoZ.js → dist-Ca4K4HIm.js} +763 -1048
  261. package/dist/interface/ha/dots-vertical-BEPlUtxU.js +19 -0
  262. package/dist/interface/ha/eventIcons-DrjNuTS2.js +676 -0
  263. package/dist/interface/ha/{mqtt--xCEEs7T.js → mqtt-DY6EvMC9.js} +11 -11
  264. package/dist/interface/ha/{multiselect-Cedfen4P.js → multiselect-B0fAnW75.js} +1 -1
  265. package/dist/interface/ha/{notifications-ByL47yWP.js → notifications-BdIqgnrC.js} +21 -21
  266. package/dist/interface/ha/{pinia-Dk3LfWcE.js → pinia-CqffEnzx.js} +2283 -2268
  267. package/dist/interface/ha/{plugins-OikBHddG.js → plugins-Bnq2Iw00.js} +67 -67
  268. package/dist/interface/ha/pwa/favicon-16.ico +0 -0
  269. package/dist/interface/ha/pwa/favicon-32.ico +0 -0
  270. package/dist/interface/ha/pwa/favicon-48.ico +0 -0
  271. package/dist/interface/ha/pwa/pwa-120x120.png +0 -0
  272. package/dist/interface/ha/pwa/pwa-24x24.png +0 -0
  273. package/dist/interface/ha/pwa/pwa-36x36.png +0 -0
  274. package/dist/interface/ha/pwa/pwa-48x48.png +0 -0
  275. package/dist/interface/ha/pwa/pwa-50x50.png +0 -0
  276. package/dist/interface/ha/pwa/pwa-64x64.png +0 -0
  277. package/dist/interface/ha/pwa/pwa-72x72.png +0 -0
  278. package/dist/interface/ha/pwa/pwa-88x88.png +0 -0
  279. package/dist/interface/ha/pwa/pwa-96x96.png +0 -0
  280. package/dist/interface/ha/{rooms-CMwrVqJO.js → rooms-AiJ5Tfir.js} +8 -8
  281. package/dist/interface/ha/{server-Byevi9ww.js → server-BHhFn2RZ.js} +30 -30
  282. package/dist/interface/ha/{types-D1-pD0Vp.js → types-7oMK8VO-.js} +26 -26
  283. package/dist/interface/ha/{ungrouped-a_k9QFxB.js → ungrouped-hib17Nvu.js} +29 -28
  284. package/dist/interface/ha/{updates-DapEyqmr.js → updates-DvnEEUsx.js} +36 -36
  285. package/dist/interface/ha/{useAppVersion-CBK74lkV.js → useAppVersion-BmWXr96y.js} +1 -1
  286. package/dist/interface/ha/{useLogsSocket-DsxXBViV.js → useLogsSocket-BKlJKGCB.js} +1 -1
  287. package/dist/interface/ha/{useNavLayout-D24L7VNu.js → useNavLayout-Dt0NH-G5.js} +11 -11
  288. package/dist/interface/ha/{useServerRestart-qTNapyIx.js → useServerRestart-DWs2dqQc.js} +1 -1
  289. package/dist/interface/ha/{useTabSwipe-DEha11Zv.js → useTabSwipe-vX79p6V_.js} +1 -1
  290. package/dist/interface/ha/{useUpdateChannel-DI-Ki0yH.js → useUpdateChannel-CHlRp8uj.js} +2 -2
  291. package/dist/interface/ha/{useUpdatesSocket-CKUgku1R.js → useUpdatesSocket-B40Cx-2L.js} +1 -1
  292. package/dist/interface/ha/{useUserOptions-BY-pcxd_.js → useUserOptions-hXz79rIV.js} +1 -1
  293. package/dist/interface/index.html +35 -34
  294. package/dist/interface/pwa/favicon-16.ico +0 -0
  295. package/dist/interface/pwa/favicon-32.ico +0 -0
  296. package/dist/interface/pwa/favicon-48.ico +0 -0
  297. package/dist/interface/pwa/pwa-120x120.png +0 -0
  298. package/dist/interface/pwa/pwa-24x24.png +0 -0
  299. package/dist/interface/pwa/pwa-36x36.png +0 -0
  300. package/dist/interface/pwa/pwa-48x48.png +0 -0
  301. package/dist/interface/pwa/pwa-50x50.png +0 -0
  302. package/dist/interface/pwa/pwa-64x64.png +0 -0
  303. package/dist/interface/pwa/pwa-72x72.png +0 -0
  304. package/dist/interface/pwa/pwa-88x88.png +0 -0
  305. package/dist/interface/pwa/pwa-96x96.png +0 -0
  306. package/dist/interface/sw.js +1 -1
  307. package/dist/server/package.json +4 -4
  308. package/dist/server/src/api/controllers/users.controller.d.ts +3 -1
  309. package/dist/server/src/api/controllers/users.controller.js +38 -0
  310. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  311. package/dist/server/src/api/database/record-schemas.d.ts +44 -1
  312. package/dist/server/src/api/database/record-schemas.js +3 -3
  313. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  314. package/dist/server/src/api/database/types.d.ts +4 -2
  315. package/dist/server/src/api/routes/users.routes.js +24 -1
  316. package/dist/server/src/api/routes/users.routes.js.map +1 -1
  317. package/dist/server/src/api/schemas/assistant.schema.d.ts +43 -1
  318. package/dist/server/src/api/schemas/assistant.schema.js +2 -1
  319. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  320. package/dist/server/src/api/schemas/users.schema.d.ts +8 -0
  321. package/dist/server/src/api/schemas/users.schema.js +45 -0
  322. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  323. package/dist/server/src/api/services/users.service.d.ts +3 -1
  324. package/dist/server/src/api/services/users.service.js +33 -0
  325. package/dist/server/src/api/services/users.service.js.map +1 -1
  326. package/dist/server/src/api/types/index.d.ts +4 -1
  327. package/dist/server/src/api/types/index.js.map +1 -1
  328. package/dist/server/src/assistant/manager.js +23 -4
  329. package/dist/server/src/assistant/manager.js.map +1 -1
  330. package/dist/server/src/assistant/prompt.d.ts +1 -0
  331. package/dist/server/src/assistant/prompt.js +10 -1
  332. package/dist/server/src/assistant/prompt.js.map +1 -1
  333. package/dist/server/src/assistant/search.js +4 -2
  334. package/dist/server/src/assistant/search.js.map +1 -1
  335. package/dist/server/src/assistant/skills.js +3 -2
  336. package/dist/server/src/assistant/skills.js.map +1 -1
  337. package/dist/server/src/assistant/tools/index.js +2 -2
  338. package/dist/server/src/assistant/tools/index.js.map +1 -1
  339. package/dist/server/src/assistant/tools/notifications.d.ts +2 -1
  340. package/dist/server/src/assistant/tools/notifications.js +69 -35
  341. package/dist/server/src/assistant/tools/notifications.js.map +1 -1
  342. package/dist/server/src/assistant/tools/plugins.d.ts +7 -1
  343. package/dist/server/src/assistant/tools/plugins.js +13 -9
  344. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  345. package/dist/server/src/assistant/uploads.js +29 -2
  346. package/dist/server/src/assistant/uploads.js.map +1 -1
  347. package/dist/server/src/manager/downloadManager.d.ts +1 -0
  348. package/dist/server/src/manager/downloadManager.js +3 -0
  349. package/dist/server/src/manager/downloadManager.js.map +1 -1
  350. package/dist/server/src/manager/notificationManager.d.ts +1 -0
  351. package/dist/server/src/manager/notificationManager.js +13 -2
  352. package/dist/server/src/manager/notificationManager.js.map +1 -1
  353. package/package.json +4 -4
  354. package/dist/interface/assets/Assistant-DiL48qbB.js +0 -1
  355. package/dist/interface/assets/Automation-B0hMNSAw.js +0 -3
  356. package/dist/interface/assets/AutomationImport-BSb9krZ4.js +0 -2
  357. package/dist/interface/assets/AutomationStore-B0CoLiA8.js +0 -2
  358. package/dist/interface/assets/AutomationStoreDetail-CBolb08V.js +0 -2
  359. package/dist/interface/assets/Automations-kqWnqU6P.js +0 -2
  360. package/dist/interface/assets/Camera-vyc9F0HE.js +0 -2
  361. package/dist/interface/assets/Camview-DVs7NJlA.js +0 -1
  362. package/dist/interface/assets/Console-BCKOiAw3.js +0 -1
  363. package/dist/interface/assets/CuiAssistantConversation-DcPtJCQY.js +0 -5
  364. package/dist/interface/assets/CuiBottomSheet-DSf4fJTK.js +0 -1
  365. package/dist/interface/assets/CuiCameraRecordings-BIPlJiZL.js +0 -1
  366. package/dist/interface/assets/CuiCameraShares-DAlZyr-0.js +0 -1
  367. package/dist/interface/assets/CuiCameraTable-BgKbs8gK.js +0 -1
  368. package/dist/interface/assets/CuiLightControl-BdgBiaE3.js +0 -1
  369. package/dist/interface/assets/CuiPluginCard-ACM-8XiS.js +0 -2
  370. package/dist/interface/assets/CuiPluginCategoryChip-C5EQGJ3M.js +0 -1
  371. package/dist/interface/assets/CuiPluginOAuthButton-DzLXHOoU.js +0 -2
  372. package/dist/interface/assets/CuiSchema-BGDsFg7E.js +0 -1
  373. package/dist/interface/assets/Faces-4IZtM2h6.js +0 -1
  374. package/dist/interface/assets/FirstSteps-CNONDDmE.js +0 -1
  375. package/dist/interface/assets/Floorplan-BibtwoH-.js +0 -1
  376. package/dist/interface/assets/Metrics-C8EucBD8.js +0 -9
  377. package/dist/interface/assets/OAuthDeviceFlow-BPl8Ol0d.js +0 -1
  378. package/dist/interface/assets/Plugin-DGXAz6ID.js +0 -1
  379. package/dist/interface/assets/PluginDetail-jnxv0aEv.js +0 -2
  380. package/dist/interface/assets/PluginSearch-4DArZA-1.js +0 -2
  381. package/dist/interface/assets/PluginSearch-oQ7-vW_I.js +0 -1
  382. package/dist/interface/assets/Plugins-CX35AoGP.js +0 -1
  383. package/dist/interface/assets/Recordings-edUqNrNY.js +0 -1
  384. package/dist/interface/assets/Sensors-CFJX3XaI.js +0 -2
  385. package/dist/interface/assets/SettingsAccount-B665agGW.js +0 -1
  386. package/dist/interface/assets/SettingsAccount-CXMp3Jle.js +0 -1
  387. package/dist/interface/assets/SettingsAppearance-CHerioe-.js +0 -1
  388. package/dist/interface/assets/SettingsAssistant-BpTwRGXe.css +0 -1
  389. package/dist/interface/assets/SettingsAssistant-CcjD56Pd.js +0 -1
  390. package/dist/interface/assets/SettingsMqtt-Bh6bhYa0.js +0 -1
  391. package/dist/interface/assets/SettingsNotifications-B6wReKt5.js +0 -1
  392. package/dist/interface/assets/SettingsRecordings-CVdOQF8g.js +0 -1
  393. package/dist/interface/assets/SettingsRemote-CEUmUMfH.js +0 -2
  394. package/dist/interface/assets/SettingsSystem-BoPBhsJr.js +0 -2
  395. package/dist/interface/assets/SettingsUsers-DsBxZ-Tq.js +0 -1
  396. package/dist/interface/assets/Training-CfSPxQgA.js +0 -1
  397. package/dist/interface/assets/Training-DMNjB3uX.css +0 -1
  398. package/dist/interface/assets/VirtualSensorCreate-B1B2frUr.js +0 -1
  399. package/dist/interface/assets/Workers-BBIGwhRS.js +0 -2
  400. package/dist/interface/assets/api-C85p0Dk3.css +0 -2
  401. package/dist/interface/assets/api-DgcK7TwB.js +0 -4
  402. package/dist/interface/assets/automations-BPmaAqhX.js +0 -1
  403. package/dist/interface/assets/cameraSources-B5dOcB7w.js +0 -1
  404. package/dist/interface/assets/cloudHandoff-Bk25i74p.js +0 -1
  405. package/dist/interface/assets/main-Ceiwp3VL.js +0 -3
  406. package/dist/interface/assets/mqtt-DHY_na1K.js +0 -1
  407. package/dist/interface/assets/plugins-EdSbk-EV.js +0 -1
  408. package/dist/interface/assets/rooms-Cg8aq9k9.js +0 -1
  409. package/dist/interface/assets/sensorIcons-DJTgAwaE.js +0 -1
  410. package/dist/interface/assets/types-BZz-3rol.js +0 -1
  411. package/dist/interface/assets/types-zwRUIzRx.js +0 -1
  412. package/dist/interface/assets/ungrouped-IUmtQN_P.js +0 -1
  413. package/dist/interface/assets/vendor-zod-BMOt_yT8.js +0 -109
@@ -1,29 +1,30 @@
1
1
  import { m as e } from "./ripple-B_itunQV.js";
2
- 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 l, d as u, f as d, ft as f, gt as p, kt as m, l as h, lt as g, ot as ee, p as _, qt as v, r as y, rt as te, u as b, ut as x, v as S, wt as ne, x as C, xt as w, y as T, yt as E, z as re } from "./runtime-core.esm-bundler-DCktklpY.js";
3
- import { t as D } from "./tooltip-X5MY9FoG.js";
4
- import { t as ie } from "./message-BExXUXHN.js";
5
- import { t as O } from "./chevron-down-CN3LNAsG.js";
6
- import { Bt as ae, Fn as oe, Gt as se, Ht as ce, It as le, K as ue, Kr as de, Lr as k, Lt as fe, Or as A, Rr as pe, Rt as me, Sn as j, Ut as M, Vt as N, Wt as he, Yr as ge, bi as _e, dt as ve, en as ye, ft as be, gn as xe, ki as P, kr as Se, o as Ce, oa as F, p as I, pr as we, ur as L, yr as Te, zt as Ee } from "./api-DRr9pyiA.js";
2
+ 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 l, d as u, f as d, ft as f, gt as p, kt as m, l as h, lt as g, ot as ee, p as _, qt as v, r as y, rt as te, u as b, ut as x, v as S, wt as ne, x as C, xt as w, y as T, yt as re, z as ie } from "./runtime-core.esm-bundler-DCktklpY.js";
3
+ import { t as E } from "./tooltip-X5MY9FoG.js";
4
+ import { t as ae } from "./message-BExXUXHN.js";
5
+ import { t as D } from "./chevron-down-CN3LNAsG.js";
6
+ import { At as oe, Dr as se, Ft as ce, Ir as le, It as ue, J as de, Kt as fe, Lt as O, Mt as pe, Nt as me, Or as he, Ot as k, Pt as ge, Tn as A, Yi as j, er as _e, jt as ve, kt as ye, li as be, lr as xe, mt as Se, o as M, p as N, pn as Ce, pt as we, rr as P, sn as Te, vi as F, vr as I, yr as L, zr as Ee } from "./api-JPS8NpNG.js";
7
7
  import { n as De } from "./vue-i18n-BBObX4QY.js";
8
- import { G as R, v as Oe } from "./dist-aGnBxAoZ.js";
9
- import { t as ke } from "./button-DJDZxmKj.js";
8
+ import { o as R } from "./dist-BTp4AyuI.js";
9
+ import { t as Oe } from "./button-DJDZxmKj.js";
10
+ import { v as ke } from "./dist-Ca4K4HIm.js";
10
11
  import { t as Ae } from "./inputtext-vdcrNX6K.js";
11
12
  import { t as je } from "./close-C_ajB9j7.js";
12
13
  import { t as Me } from "./divider-Cf59Ua0f.js";
13
14
  import { t as Ne } from "./select-CaVzuLaS.js";
14
- import { i as Pe, n as Fe, r as Ie, t as Le } from "./accordion-DdpJ2jcK.js";
15
+ import { i as Pe, n as Fe, r as Ie, t as Le } from "./accordion-X9Wa7KVq.js";
15
16
  import { t as Re } from "./speeddial-CpW9sIFY.js";
16
17
  import { t as ze } from "./textarea-DrKQ6YMZ.js";
17
- import { t as Be } from "./CuiBottomSheet-CnDN0_Tp.js";
18
+ import { t as Be } from "./CuiBottomSheet-DbCwVXl1.js";
18
19
  import { t as Ve } from "./cctv-DBlnZEJ3.js";
19
- import { u as He } from "./cards-B_qaT-id.js";
20
+ import { u as He } from "./cards-CGP6dWjy.js";
20
21
  import { t as Ue } from "./restore-DMczh46P.js";
21
22
  import { t as We } from "./pencil-outline-3AYc7WXi.js";
22
23
  import { t as Ge } from "./trash-can-outline-XdMf3dMc.js";
23
24
  import { t as Ke } from "./back-filled-B-jI6Dqb.js";
24
25
  import { t as qe } from "./chevron-up-D5-4qnos.js";
25
26
  import { a as Je, d as Ye, f as Xe, l as z, p as Ze, t as B, u as Qe } from "./vue-flow-background-ETLnaEUH.js";
26
- import { n as $e } from "./rooms-CMwrVqJO.js";
27
+ import { n as $e } from "./rooms-AiJ5Tfir.js";
27
28
  import { t as V } from "./minus-C6Qh7zWS.js";
28
29
  import { t as H } from "./eye-off-outline-cbzzWTdq.js";
29
30
  //#region ~icons/mdi/open-in-new
@@ -315,7 +316,7 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
315
316
  }, $t = { class: "cui-label" }, en = { class: "flex flex-col field-gap" }, $ = { class: "cui-label" }, tn = { class: "text-color font-normal text-sm" }, nn = { class: "flex flex-col gap-6" }, rn = { class: "flex flex-col field-gap" }, an = { class: "cui-label" }, on = { class: "flex flex-col field-gap" }, sn = { class: "cui-label" }, cn = { class: "text-color font-normal text-sm" }, ln = { class: "flex flex-col gap-6" }, un = { class: "flex flex-col field-gap" }, dn = { class: "cui-label" }, fn = { class: "flex flex-col field-gap" }, pn = { class: "cui-label" }, mn = { class: "flex flex-col field-gap" }, hn = { class: "cui-label" }, gn = {
316
317
  key: 0,
317
318
  class: "p-4 border-top-color"
318
- }, _n = /*#__PURE__*/ A(/* @__PURE__ */ C({
319
+ }, _n = /*#__PURE__*/ I(/* @__PURE__ */ C({
319
320
  __name: "CuiFloorplanInspector",
320
321
  props: {
321
322
  fluid: { type: Boolean },
@@ -365,51 +366,51 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
365
366
  label: e.name,
366
367
  value: e.roomId
367
368
  }));
368
- }), C = h(() => n.selection?.kind === "sensor" ? n.sensors.find((e) => e.id === n.selection?.id) : void 0), E = h(() => {
369
+ }), C = h(() => n.selection?.kind === "sensor" ? n.sensors.find((e) => e.id === n.selection?.id) : void 0), re = h(() => {
369
370
  let e = /* @__PURE__ */ new Set();
370
371
  return n.rooms.filter((t) => t.levelId === C.value?.levelId && !e.has(t.roomId) && e.add(t.roomId)).map((e) => ({
371
372
  label: e.name,
372
373
  value: e.roomId
373
374
  }));
374
- }), re = h(() => C.value ? n.connections.filter((e) => e.fromRoomId === C.value?.roomId || e.toRoomId === C.value?.roomId).map((e) => {
375
+ }), ie = h(() => C.value ? n.connections.filter((e) => e.fromRoomId === C.value?.roomId || e.toRoomId === C.value?.roomId).map((e) => {
375
376
  let t = e.fromRoomId === C.value?.roomId ? e.toRoomId : e.fromRoomId;
376
377
  return {
377
378
  label: n.rooms.find((e) => e.roomId === t)?.name ?? t,
378
379
  value: e.id
379
380
  };
380
- }) : []), D = h(() => n.selection?.kind === "connection" ? n.connections.find((e) => e.id === n.selection?.id) : void 0), O = h(() => {
381
- if (!D.value) return !1;
382
- let e = n.rooms.find((e) => e.roomId === D.value?.fromRoomId), t = n.rooms.find((e) => e.roomId === D.value?.toRoomId);
381
+ }) : []), E = h(() => n.selection?.kind === "connection" ? n.connections.find((e) => e.id === n.selection?.id) : void 0), D = h(() => {
382
+ if (!E.value) return !1;
383
+ let e = n.rooms.find((e) => e.roomId === E.value?.fromRoomId), t = n.rooms.find((e) => e.roomId === E.value?.toRoomId);
383
384
  return !!e && !!t && e.levelId !== t.levelId;
384
- }), ae = h(() => ct.filter((e) => e !== "stairs").map((e) => ({
385
+ }), oe = h(() => ct.filter((e) => e !== "stairs").map((e) => ({
385
386
  label: o(`views.floorplan.connection_${e}`),
386
387
  value: e
387
- }))), oe = h(() => D.value ? `${n.rooms.find((e) => e.roomId === D.value?.fromRoomId)?.name ?? ""} · ${n.rooms.find((e) => e.roomId === D.value?.toRoomId)?.name ?? ""}` : ""), se = h(() => ((f.value?.rotation ?? 0) % 360 + 360) % 360), ce = 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 ?? "" : D.value ? o(`views.floorplan.connection_${D.value.type}`) : f.value ? n.rooms.find((e) => e.roomId === f.value?.roomId)?.name ?? o("views.floorplan.no_room") : "");
388
- function le(e) {
388
+ }))), 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") : "");
389
+ function ue(e) {
389
390
  C.value && a("update-sensor", {
390
391
  id: C.value.id,
391
392
  patch: e
392
393
  });
393
394
  }
394
- function ue(e) {
395
+ function de(e) {
395
396
  return {
396
397
  outdoor: e !== "indoor",
397
398
  publicSpace: e === "public"
398
399
  };
399
400
  }
400
- function de(e) {
401
+ function fe(e) {
401
402
  l.value && a("update-room", {
402
403
  id: l.value.id,
403
404
  patch: e
404
405
  });
405
406
  }
406
- function k(e) {
407
+ function O(e) {
407
408
  f.value && a("update-camera", {
408
409
  id: f.value.id,
409
410
  patch: e
410
411
  });
411
412
  }
412
- function fe() {
413
+ function pe() {
413
414
  l.value ? a("remove", {
414
415
  kind: "room",
415
416
  id: l.value.id
@@ -419,70 +420,70 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
419
420
  }) : f.value ? a("remove", {
420
421
  kind: "camera",
421
422
  id: f.value.id
422
- }) : D.value && a("remove", {
423
+ }) : E.value && a("remove", {
423
424
  kind: "connection",
424
- id: D.value.id
425
+ id: E.value.id
425
426
  });
426
427
  }
427
428
  return (t, n) => {
428
- let o = Ve, h = at, w = nt, A = je, pe = ke, me = Ie, j = Ne, M = ie, N = Ae, he = ze, ge = Pe, _e = Fe, ve = L, ye = Le;
429
+ let o = Ve, h = at, w = nt, me = je, he = Oe, k = Ie, ge = Ne, A = ae, j = Ae, ve = ze, ye = Pe, be = Fe, xe = _e, Se = Le;
429
430
  return r(), _("div", bt, [
430
431
  b("div", Z, [
431
432
  b("div", xt, [m(f) ? (r(), u(o, {
432
433
  key: 0,
433
434
  class: "w-4 h-4"
434
- })) : m(D) ? (r(), u(h, {
435
+ })) : m(E) ? (r(), u(h, {
435
436
  key: 1,
436
437
  class: "w-4 h-4"
437
438
  })) : (r(), u(w, {
438
439
  key: 2,
439
440
  class: "w-4 h-4"
440
441
  }))]),
441
- b("div", St, [b("div", Ct, i(m(l)?.name ?? m(f)?.name ?? m(C)?.name ?? m(oe)), 1), b("div", wt, i(m(ce)), 1)]),
442
- T(pe, {
442
+ b("div", St, [b("div", Ct, i(m(l)?.name ?? m(f)?.name ?? m(C)?.name ?? m(se)), 1), b("div", wt, i(m(le)), 1)]),
443
+ T(he, {
443
444
  severity: "secondary",
444
445
  text: "",
445
446
  rounded: "",
446
447
  class: "shrink-0 cui-icon-sm",
447
448
  onClick: n[0] ||= (e) => a("close")
448
449
  }, {
449
- icon: g(() => [T(A, {
450
+ icon: g(() => [T(me, {
450
451
  width: "100%",
451
452
  height: "100%"
452
453
  })]),
453
454
  _: 1
454
455
  })
455
456
  ]),
456
- b("div", Tt, [T(ye, {
457
+ b("div", Tt, [T(Se, {
457
458
  multiple: "",
458
459
  value: m(c),
459
460
  class: s(e.fluid ? "w-full" : "w-[300px]")
460
461
  }, {
461
462
  default: g(() => [
462
- m(l) ? (r(), u(_e, {
463
+ m(l) ? (r(), u(be, {
463
464
  key: 0,
464
465
  value: "general"
465
466
  }, {
466
- default: g(() => [T(me, { class: "px-4 rounded-none!" }, {
467
+ default: g(() => [T(k, { class: "px-4 rounded-none!" }, {
467
468
  default: g(() => [b("span", Et, i(t.$t("views.floorplan.section_room")), 1)]),
468
469
  _: 1
469
- }), T(ge, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
470
+ }), T(ye, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
470
471
  default: g(() => [b("div", Dt, [
471
472
  m(x).length > 1 ? (r(), _("div", Ot, [
472
473
  b("label", kt, i(t.$t("views.floorplan.belongs_to")), 1),
473
- T(j, {
474
+ T(ge, {
474
475
  "model-value": m(l).roomId,
475
476
  options: m(x),
476
477
  "option-label": "label",
477
478
  "option-value": "value",
478
479
  disabled: e.readOnly,
479
- "onUpdate:modelValue": n[1] ||= (e) => e && de({ roomId: e })
480
+ "onUpdate:modelValue": n[1] ||= (e) => e && fe({ roomId: e })
480
481
  }, null, 8, [
481
482
  "model-value",
482
483
  "options",
483
484
  "disabled"
484
485
  ]),
485
- T(M, {
486
+ T(A, {
486
487
  severity: "secondary",
487
488
  variant: "simple",
488
489
  size: "small",
@@ -494,12 +495,12 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
494
495
  ])) : d("", !0),
495
496
  b("div", At, [
496
497
  b("label", jt, i(t.$t("views.floorplan.room_name")), 1),
497
- T(N, {
498
+ T(j, {
498
499
  "model-value": m(l).name,
499
500
  disabled: e.readOnly,
500
- "onUpdate:modelValue": n[2] ||= (e) => de({ name: e ?? "" })
501
+ "onUpdate:modelValue": n[2] ||= (e) => fe({ name: e ?? "" })
501
502
  }, null, 8, ["model-value", "disabled"]),
502
- m(te) > 1 ? (r(), u(M, {
503
+ m(te) > 1 ? (r(), u(A, {
503
504
  key: 0,
504
505
  severity: "secondary",
505
506
  variant: "simple",
@@ -510,13 +511,13 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
510
511
  _: 1
511
512
  })) : d("", !0)
512
513
  ]),
513
- b("div", Mt, [b("label", Nt, i(t.$t("views.floorplan.level")), 1), T(j, {
514
+ b("div", Mt, [b("label", Nt, i(t.$t("views.floorplan.level")), 1), T(ge, {
514
515
  "model-value": m(l).levelId,
515
516
  options: m(p),
516
517
  "option-label": "label",
517
518
  "option-value": "value",
518
519
  disabled: e.readOnly,
519
- "onUpdate:modelValue": n[3] ||= (e) => de({ levelId: e })
520
+ "onUpdate:modelValue": n[3] ||= (e) => fe({ levelId: e })
520
521
  }, null, 8, [
521
522
  "model-value",
522
523
  "options",
@@ -524,19 +525,19 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
524
525
  ])]),
525
526
  b("div", Pt, [
526
527
  b("label", Ft, i(t.$t("views.floorplan.room_kind")), 1),
527
- T(j, {
528
+ T(ge, {
528
529
  "model-value": m(ee),
529
530
  options: m(v),
530
531
  "option-label": "label",
531
532
  "option-value": "value",
532
533
  disabled: e.readOnly,
533
- "onUpdate:modelValue": n[4] ||= (e) => de(ue(e))
534
+ "onUpdate:modelValue": n[4] ||= (e) => fe(de(e))
534
535
  }, null, 8, [
535
536
  "model-value",
536
537
  "options",
537
538
  "disabled"
538
539
  ]),
539
- T(M, {
540
+ T(A, {
540
541
  severity: "secondary",
541
542
  variant: "simple",
542
543
  size: "small",
@@ -548,19 +549,19 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
548
549
  ]),
549
550
  b("div", It, [
550
551
  b("label", Lt, i(t.$t("views.floorplan.note")), 1),
551
- T(he, {
552
+ T(ve, {
552
553
  "model-value": m(l).note,
553
554
  disabled: e.readOnly,
554
555
  maxlength: m(240),
555
556
  rows: "3",
556
557
  "auto-resize": "",
557
- "onUpdate:modelValue": n[5] ||= (e) => de({ note: e ?? "" })
558
+ "onUpdate:modelValue": n[5] ||= (e) => fe({ note: e ?? "" })
558
559
  }, null, 8, [
559
560
  "model-value",
560
561
  "disabled",
561
562
  "maxlength"
562
563
  ]),
563
- T(M, {
564
+ T(A, {
564
565
  severity: "secondary",
565
566
  variant: "simple",
566
567
  size: "small",
@@ -576,26 +577,26 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
576
577
  }, 8, ["pt"])]),
577
578
  _: 1
578
579
  })) : d("", !0),
579
- m(D) ? (r(), u(_e, {
580
+ m(E) ? (r(), u(be, {
580
581
  key: 1,
581
582
  value: "general"
582
583
  }, {
583
- default: g(() => [T(me, { class: "px-4 rounded-none!" }, {
584
+ default: g(() => [T(k, { class: "px-4 rounded-none!" }, {
584
585
  default: g(() => [b("span", Bt, i(t.$t("views.floorplan.section_connection")), 1)]),
585
586
  _: 1
586
- }), T(ge, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
587
+ }), T(ye, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
587
588
  default: g(() => [
588
589
  b("div", Vt, [
589
590
  b("label", Ht, i(t.$t("views.floorplan.connection_type")), 1),
590
- m(O) ? (r(), _("span", Ut, i(t.$t("views.floorplan.connection_stairs")), 1)) : (r(), u(j, {
591
+ m(D) ? (r(), _("span", Ut, i(t.$t("views.floorplan.connection_stairs")), 1)) : (r(), u(ge, {
591
592
  key: 0,
592
- "model-value": m(D).type,
593
- options: m(ae),
593
+ "model-value": m(E).type,
594
+ options: m(oe),
594
595
  "option-label": "label",
595
596
  "option-value": "value",
596
597
  disabled: e.readOnly,
597
598
  "onUpdate:modelValue": n[6] ||= (e) => a("update-connection", {
598
- id: m(D).id,
599
+ id: m(E).id,
599
600
  patch: { type: e }
600
601
  })
601
602
  }, null, 8, [
@@ -603,26 +604,26 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
603
604
  "options",
604
605
  "disabled"
605
606
  ])),
606
- T(M, {
607
+ T(A, {
607
608
  severity: "secondary",
608
609
  variant: "simple",
609
610
  size: "small",
610
611
  class: "cui-input-hint"
611
612
  }, {
612
- default: g(() => [S(i(m(O) ? t.$t("views.floorplan.connection_level_hint") : t.$t("views.floorplan.connection_type_hint")), 1)]),
613
+ default: g(() => [S(i(m(D) ? t.$t("views.floorplan.connection_level_hint") : t.$t("views.floorplan.connection_type_hint")), 1)]),
613
614
  _: 1
614
615
  })
615
616
  ]),
616
- m(O) ? d("", !0) : (r(), _("div", Wt, [
617
- b("label", Gt, i(t.$t("views.floorplan.connection_width", { value: m(J)(m(D).width).toFixed(2) })), 1),
618
- T(ve, {
619
- "model-value": m(D).width,
617
+ m(D) ? d("", !0) : (r(), _("div", Wt, [
618
+ b("label", Gt, i(t.$t("views.floorplan.connection_width", { value: m(J)(m(E).width).toFixed(2) })), 1),
619
+ T(xe, {
620
+ "model-value": m(E).width,
620
621
  disabled: e.readOnly,
621
622
  min: m(q).min,
622
623
  max: m(q).max,
623
624
  step: 5,
624
625
  "onUpdate:modelValue": n[7] ||= (e) => a("update-connection", {
625
- id: m(D).id,
626
+ id: m(E).id,
626
627
  patch: { width: Number(e) }
627
628
  })
628
629
  }, null, 8, [
@@ -631,7 +632,7 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
631
632
  "min",
632
633
  "max"
633
634
  ]),
634
- T(M, {
635
+ T(A, {
635
636
  severity: "secondary",
636
637
  variant: "simple",
637
638
  size: "small",
@@ -643,14 +644,14 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
643
644
  ])),
644
645
  b("div", Kt, [
645
646
  b("label", qt, i(t.$t("views.floorplan.note")), 1),
646
- T(he, {
647
- "model-value": m(D).note,
647
+ T(ve, {
648
+ "model-value": m(E).note,
648
649
  disabled: e.readOnly,
649
650
  maxlength: m(240),
650
651
  rows: "3",
651
652
  "auto-resize": "",
652
653
  "onUpdate:modelValue": n[8] ||= (e) => a("update-connection", {
653
- id: m(D).id,
654
+ id: m(E).id,
654
655
  patch: { note: e ?? "" }
655
656
  })
656
657
  }, null, 8, [
@@ -658,7 +659,7 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
658
659
  "disabled",
659
660
  "maxlength"
660
661
  ]),
661
- T(M, {
662
+ T(A, {
662
663
  severity: "secondary",
663
664
  variant: "simple",
664
665
  size: "small",
@@ -673,43 +674,43 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
673
674
  }, 8, ["pt"])]),
674
675
  _: 1
675
676
  })) : d("", !0),
676
- m(C) ? (r(), u(_e, {
677
+ m(C) ? (r(), u(be, {
677
678
  key: 2,
678
679
  value: "general"
679
680
  }, {
680
- default: g(() => [T(me, { class: "px-4 rounded-none!" }, {
681
+ default: g(() => [T(k, { class: "px-4 rounded-none!" }, {
681
682
  default: g(() => [b("span", Jt, i(t.$t("views.floorplan.section_sensor")), 1)]),
682
683
  _: 1
683
- }), T(ge, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
684
+ }), T(ye, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
684
685
  default: g(() => [b("div", Yt, [
685
- b("div", Xt, [b("label", Zt, i(t.$t("views.floorplan.assigned_room")), 1), T(j, {
686
+ b("div", Xt, [b("label", Zt, i(t.$t("views.floorplan.assigned_room")), 1), T(ge, {
686
687
  "model-value": m(C).roomId,
687
- options: m(E),
688
+ options: m(re),
688
689
  disabled: e.readOnly,
689
690
  "option-label": "label",
690
691
  "option-value": "value",
691
- "onUpdate:modelValue": n[9] ||= (e) => e && le({ roomId: e })
692
+ "onUpdate:modelValue": n[9] ||= (e) => e && ue({ roomId: e })
692
693
  }, null, 8, [
693
694
  "model-value",
694
695
  "options",
695
696
  "disabled"
696
697
  ])]),
697
- m(re).length ? (r(), _("div", Qt, [
698
+ m(ie).length ? (r(), _("div", Qt, [
698
699
  b("label", $t, i(t.$t("views.floorplan.sensor_passage")), 1),
699
- T(j, {
700
+ T(ge, {
700
701
  "model-value": m(C).connectionId,
701
- options: m(re),
702
+ options: m(ie),
702
703
  disabled: e.readOnly,
703
704
  "option-label": "label",
704
705
  "option-value": "value",
705
706
  "show-clear": "",
706
- "onUpdate:modelValue": n[10] ||= (e) => le({ connectionId: e ?? null })
707
+ "onUpdate:modelValue": n[10] ||= (e) => ue({ connectionId: e ?? null })
707
708
  }, null, 8, [
708
709
  "model-value",
709
710
  "options",
710
711
  "disabled"
711
712
  ]),
712
- T(M, {
713
+ T(A, {
713
714
  severity: "secondary",
714
715
  variant: "simple",
715
716
  size: "small",
@@ -721,19 +722,19 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
721
722
  ])) : d("", !0),
722
723
  b("div", en, [
723
724
  b("label", $, i(t.$t("views.floorplan.note")), 1),
724
- T(he, {
725
+ T(ve, {
725
726
  "model-value": m(C).note,
726
727
  disabled: e.readOnly,
727
728
  maxlength: m(240),
728
729
  rows: "3",
729
730
  "auto-resize": "",
730
- "onUpdate:modelValue": n[11] ||= (e) => le({ note: e ?? "" })
731
+ "onUpdate:modelValue": n[11] ||= (e) => ue({ note: e ?? "" })
731
732
  }, null, 8, [
732
733
  "model-value",
733
734
  "disabled",
734
735
  "maxlength"
735
736
  ]),
736
- T(M, {
737
+ T(A, {
737
738
  severity: "secondary",
738
739
  variant: "simple",
739
740
  size: "small",
@@ -748,26 +749,26 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
748
749
  }, 8, ["pt"])]),
749
750
  _: 1
750
751
  })) : d("", !0),
751
- m(f) ? (r(), _(y, { key: 3 }, [T(_e, { value: "general" }, {
752
- default: g(() => [T(me, { class: "px-4 rounded-none!" }, {
752
+ m(f) ? (r(), _(y, { key: 3 }, [T(be, { value: "general" }, {
753
+ default: g(() => [T(k, { class: "px-4 rounded-none!" }, {
753
754
  default: g(() => [b("span", tn, i(t.$t("views.floorplan.section_camera")), 1)]),
754
755
  _: 1
755
- }), T(ge, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
756
+ }), T(ye, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
756
757
  default: g(() => [b("div", nn, [b("div", rn, [
757
758
  b("label", an, i(t.$t("views.floorplan.assigned_room")), 1),
758
- T(j, {
759
+ T(ge, {
759
760
  "model-value": m(f).roomId,
760
761
  options: m(ne),
761
762
  disabled: e.readOnly,
762
763
  "option-label": "label",
763
764
  "option-value": "value",
764
- "onUpdate:modelValue": n[12] ||= (e) => e && k({ roomId: e })
765
+ "onUpdate:modelValue": n[12] ||= (e) => e && O({ roomId: e })
765
766
  }, null, 8, [
766
767
  "model-value",
767
768
  "options",
768
769
  "disabled"
769
770
  ]),
770
- T(M, {
771
+ T(A, {
771
772
  severity: "secondary",
772
773
  variant: "simple",
773
774
  size: "small",
@@ -778,19 +779,19 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
778
779
  })
779
780
  ]), b("div", on, [
780
781
  b("label", sn, i(t.$t("views.floorplan.note")), 1),
781
- T(he, {
782
+ T(ve, {
782
783
  "model-value": m(f).note,
783
784
  disabled: e.readOnly,
784
785
  maxlength: m(240),
785
786
  rows: "3",
786
787
  "auto-resize": "",
787
- "onUpdate:modelValue": n[13] ||= (e) => k({ note: e ?? "" })
788
+ "onUpdate:modelValue": n[13] ||= (e) => O({ note: e ?? "" })
788
789
  }, null, 8, [
789
790
  "model-value",
790
791
  "disabled",
791
792
  "maxlength"
792
793
  ]),
793
- T(M, {
794
+ T(A, {
794
795
  severity: "secondary",
795
796
  variant: "simple",
796
797
  size: "small",
@@ -803,33 +804,33 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
803
804
  _: 1
804
805
  }, 8, ["pt"])]),
805
806
  _: 1
806
- }), T(_e, { value: "view" }, {
807
- default: g(() => [T(me, { class: "px-4 rounded-none!" }, {
807
+ }), T(be, { value: "view" }, {
808
+ default: g(() => [T(k, { class: "px-4 rounded-none!" }, {
808
809
  default: g(() => [b("span", cn, i(t.$t("views.floorplan.section_view")), 1)]),
809
810
  _: 1
810
- }), T(ge, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
811
+ }), T(ye, { pt: { content: { class: e.fluid ? "px-4 w-full" : "px-4 w-[300px]" } } }, {
811
812
  default: g(() => [b("div", ln, [
812
- b("div", un, [b("label", dn, i(t.$t("views.floorplan.direction", { value: m(se) })), 1), T(ve, {
813
- "model-value": m(se),
813
+ b("div", un, [b("label", dn, i(t.$t("views.floorplan.direction", { value: m(ce) })), 1), T(xe, {
814
+ "model-value": m(ce),
814
815
  disabled: e.readOnly,
815
816
  min: 0,
816
817
  max: 359,
817
- "onUpdate:modelValue": n[14] ||= (e) => k({ rotation: Number(e) })
818
+ "onUpdate:modelValue": n[14] ||= (e) => O({ rotation: Number(e) })
818
819
  }, null, 8, ["model-value", "disabled"])]),
819
- b("div", fn, [b("label", pn, i(t.$t("views.floorplan.fov", { value: m(f).fov })), 1), T(ve, {
820
+ b("div", fn, [b("label", pn, i(t.$t("views.floorplan.fov", { value: m(f).fov })), 1), T(xe, {
820
821
  "model-value": m(f).fov,
821
822
  disabled: e.readOnly,
822
823
  min: 30,
823
824
  max: 180,
824
- "onUpdate:modelValue": n[15] ||= (e) => k({ fov: Number(e) })
825
+ "onUpdate:modelValue": n[15] ||= (e) => O({ fov: Number(e) })
825
826
  }, null, 8, ["model-value", "disabled"])]),
826
- b("div", mn, [b("label", hn, i(t.$t("views.floorplan.range", { value: m(J)(m(f).range).toFixed(1) })), 1), T(ve, {
827
+ b("div", mn, [b("label", hn, i(t.$t("views.floorplan.range", { value: m(J)(m(f).range).toFixed(1) })), 1), T(xe, {
827
828
  disabled: e.readOnly,
828
829
  "model-value": m(f).range,
829
830
  min: m(K).min,
830
831
  max: m(K).max,
831
832
  step: 50,
832
- "onUpdate:modelValue": n[16] ||= (e) => k({ range: Number(e) })
833
+ "onUpdate:modelValue": n[16] ||= (e) => O({ range: Number(e) })
833
834
  }, null, 8, [
834
835
  "disabled",
835
836
  "model-value",
@@ -844,12 +845,12 @@ var bt = { class: "h-full flex flex-col overflow-hidden" }, Z = { class: "flex i
844
845
  ]),
845
846
  _: 1
846
847
  }, 8, ["value", "class"])]),
847
- e.readOnly ? d("", !0) : (r(), _("div", gn, [T(pe, {
848
+ e.readOnly ? d("", !0) : (r(), _("div", gn, [T(he, {
848
849
  severity: "danger",
849
850
  fluid: "",
850
851
  class: "w-full cui-button-medium",
851
- label: m(l) ? t.$t("views.floorplan.delete_room") : m(D) ? t.$t("views.floorplan.remove_connection") : m(C) ? t.$t("views.floorplan.remove_sensor") : t.$t("views.floorplan.remove_camera"),
852
- onClick: fe
852
+ 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"),
853
+ onClick: pe
853
854
  }, null, 8, ["label"])]))
854
855
  ]);
855
856
  };
@@ -1029,7 +1030,7 @@ var Cn = l({
1029
1030
  width: "46",
1030
1031
  height: "46",
1031
1032
  viewBox: "0 0 46 46"
1032
- }, Dr = ["transform"], Or = { class: "flex flex-col overflow-hidden floorplan-controls" }, kr = { class: "floorplan-scale flex items-center gap-2 px-2 py-1" }, Ar = ["width"], jr = ["d"], Mr = { class: "text-xs text-muted whitespace-nowrap" }, Nr = 60, Pr = /*#__PURE__*/ A(/* @__PURE__ */ C({
1033
+ }, Dr = ["transform"], Or = { class: "flex flex-col overflow-hidden floorplan-controls" }, kr = { class: "floorplan-scale flex items-center gap-2 px-2 py-1" }, Ar = ["width"], jr = ["d"], Mr = { class: "text-xs text-muted whitespace-nowrap" }, Nr = 60, Pr = /*#__PURE__*/ I(/* @__PURE__ */ C({
1033
1034
  __name: "CuiFloorplanCanvas",
1034
1035
  props: {
1035
1036
  mobile: { type: Boolean },
@@ -1064,20 +1065,20 @@ var Cn = l({
1064
1065
  "hover-sensor"
1065
1066
  ],
1066
1067
  setup(a, { expose: l, emit: f }) {
1067
- let p = a, S = f, ne = te("wrapperRef"), C = w(!1), E = w(!1), ie = te("compassRef"), O = w({
1068
+ let p = a, S = f, ne = te("wrapperRef"), C = w(!1), re = w(!1), ae = te("compassRef"), D = w({
1068
1069
  x: null,
1069
1070
  y: null
1070
- }), oe = w(null), se = w(null), ce = w(null), le = w(null), ue = /* @__PURE__ */ new Set(["motion", "audio"]), de = /* @__PURE__ */ new Set([
1071
+ }), oe = w(null), se = w(null), le = w(null), ue = w(null), de = /* @__PURE__ */ new Set(["motion", "audio"]), fe = /* @__PURE__ */ new Set([
1071
1072
  "object",
1072
1073
  "face",
1073
1074
  "licensePlate",
1074
1075
  "classifier",
1075
1076
  "objectAssist",
1076
1077
  "clip"
1077
- ]), k = null, fe = !1, A = null, { viewport: pe, zoomIn: me, zoomOut: he, fitBounds: ge } = z(), { sensors: _e } = Oe(), ve = h(() => p.sensors.filter((e) => e.levelId === p.levelId)), ye = h(() => {
1078
+ ]), O = null, he = !1, k = null, { viewport: ge, zoomIn: A, zoomOut: j, fitBounds: _e } = z(), { sensors: ye } = ke(), be = h(() => p.sensors.filter((e) => e.levelId === p.levelId)), xe = h(() => {
1078
1079
  let e = /* @__PURE__ */ new Map();
1079
- for (let t of _e.value) {
1080
- let n = String(t.type), r = ue.has(n), i = de.has(n);
1080
+ for (let t of ye.value) {
1081
+ let n = String(t.type), r = de.has(n), i = fe.has(n);
1081
1082
  if (!r && !i || t.getProperty("detected") !== !0) continue;
1082
1083
  let a = Ge(t, n);
1083
1084
  for (let n of t.assignedCameraIds.value) {
@@ -1089,23 +1090,23 @@ var Cn = l({
1089
1090
  }
1090
1091
  }
1091
1092
  return e;
1092
- }), be = h(() => {
1093
- let e = I.value.find((e) => e.id === le.value);
1093
+ }), Se = h(() => {
1094
+ let e = F.value.find((e) => e.id === ue.value);
1094
1095
  if (!e) return null;
1095
1096
  let t = `${ut(e.width, 1)} x ${ut(e.height, 1)}`;
1096
1097
  return {
1097
1098
  text: t,
1098
1099
  width: it(t),
1099
1100
  x: e.x + e.width / 2,
1100
- y: e.y + e.height + 10 / P.value
1101
+ y: e.y + e.height + 10 / M.value
1101
1102
  };
1102
- }), P = h(() => pe.value.zoom), Se = h(() => ({
1103
- x: pe.value.x,
1104
- y: pe.value.y
1105
- })), Ce = h(() => p.north ?? 0), F = h(() => p.readOnly === !0 || C.value), I = h(() => p.rooms.filter((e) => e.levelId === p.levelId)), we = h(() => p.cameras.filter((e) => e.levelId === p.levelId)), L = h(() => {
1103
+ }), M = h(() => ge.value.zoom), N = h(() => ({
1104
+ x: ge.value.x,
1105
+ y: ge.value.y
1106
+ })), we = 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(() => {
1106
1107
  let e = 4e3, t = [0], n = [0];
1107
- for (let e of I.value) t.push(e.x, e.x + e.width), n.push(e.y, e.y + e.height);
1108
- 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);
1108
+ for (let e of F.value) t.push(e.x, e.x + e.width), n.push(e.y, e.y + e.height);
1109
+ 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);
1109
1110
  let r = Math.min(...t) - e, i = Math.min(...n) - e;
1110
1111
  return {
1111
1112
  x: r,
@@ -1113,7 +1114,7 @@ var Cn = l({
1113
1114
  width: Math.max(...t) + e - r,
1114
1115
  height: Math.max(...n) + e - i
1115
1116
  };
1116
- }), Te = [{
1117
+ }), Ee = [{
1117
1118
  id: "scene",
1118
1119
  type: "scene",
1119
1120
  position: {
@@ -1123,7 +1124,7 @@ var Cn = l({
1123
1124
  draggable: !1,
1124
1125
  selectable: !1,
1125
1126
  data: {}
1126
- }], De = h(() => p.selection?.kind === "room" ? I.value.find((e) => e.id === p.selection?.id) : void 0), R = h(() => p.selection?.kind === "camera" ? we.value.find((e) => e.id === p.selection?.id) : void 0), ke = h(() => P.value >= .45), Ae = h(() => {
1127
+ }], De = h(() => p.selection?.kind === "room" ? F.value.find((e) => e.id === p.selection?.id) : void 0), R = h(() => p.selection?.kind === "camera" ? I.value.find((e) => e.id === p.selection?.id) : void 0), Oe = h(() => M.value >= .45), Ae = h(() => {
1127
1128
  let e = [
1128
1129
  .5,
1129
1130
  1,
@@ -1132,10 +1133,10 @@ var Cn = l({
1132
1133
  10,
1133
1134
  20,
1134
1135
  50
1135
- ], t = e.filter((e) => e * 100 * P.value <= 130).pop() ?? e[0];
1136
+ ], t = e.filter((e) => e * 100 * M.value <= 130).pop() ?? e[0];
1136
1137
  return {
1137
1138
  meters: t,
1138
- width: Math.round(t * 100 * P.value),
1139
+ width: Math.round(t * 100 * M.value),
1139
1140
  label: `${t} m`
1140
1141
  };
1141
1142
  }), je = h(() => p.connections.map((e) => ({
@@ -1143,7 +1144,7 @@ var Cn = l({
1143
1144
  geometry: mt(e, p.rooms, p.levelId)
1144
1145
  })).filter((e) => e.geometry !== null)), Me = h(() => new Map([...Ne.value].map(([e, t]) => [e, G(t.reduce((e, t) => t.width * t.height > e.width * e.height ? t : e))]))), Ne = h(() => {
1145
1146
  let e = /* @__PURE__ */ new Map();
1146
- for (let t of I.value) e.set(t.roomId, [...e.get(t.roomId) ?? [], t]);
1147
+ for (let t of F.value) e.set(t.roomId, [...e.get(t.roomId) ?? [], t]);
1147
1148
  return e;
1148
1149
  }), Pe = h(() => {
1149
1150
  let e = /* @__PURE__ */ new Map();
@@ -1161,7 +1162,7 @@ var Cn = l({
1161
1162
  }), Fe = h(() => [...Ne.value].map(([e, t]) => ({
1162
1163
  roomId: e,
1163
1164
  parts: t,
1164
- ...ht(t, 8 / P.value, Pe.value.get(e) ?? []),
1165
+ ...ht(t, 8 / M.value, Pe.value.get(e) ?? []),
1165
1166
  outdoor: t.every((e) => e.outdoor),
1166
1167
  publicSpace: t.every((e) => e.publicSpace),
1167
1168
  selected: t.some((e) => J("room", e.id))
@@ -1184,7 +1185,7 @@ var Cn = l({
1184
1185
  r.set(i, [...r.get(i) ?? [], ...n]);
1185
1186
  }
1186
1187
  let i = /* @__PURE__ */ new Map();
1187
- for (let [e, t] of r) i.set(e, ht(t, 8 / P.value, []).fill);
1188
+ for (let [e, t] of r) i.set(e, ht(t, 8 / M.value, []).fill);
1188
1189
  return [...Ne.value.keys()].map((e) => ({
1189
1190
  roomId: e,
1190
1191
  path: i.get(t(e)) ?? ""
@@ -1207,7 +1208,7 @@ var Cn = l({
1207
1208
  }];
1208
1209
  })), Re = h(() => {
1209
1210
  let e = De.value;
1210
- return !e || F.value ? [] : I.value.filter((t) => t.roomId !== e.roomId).map((t) => ({
1211
+ return !e || P.value ? [] : F.value.filter((t) => t.roomId !== e.roomId).map((t) => ({
1211
1212
  other: t,
1212
1213
  wall: ft(e, t)
1213
1214
  })).filter((e) => e.wall !== null).map((t) => ({
@@ -1228,7 +1229,7 @@ var Cn = l({
1228
1229
  e.set(t(n.fromRoomId), t(n.toRoomId));
1229
1230
  }
1230
1231
  let n = [];
1231
- for (let r of I.value) {
1232
+ for (let r of F.value) {
1232
1233
  if (!e.has(r.roomId)) continue;
1233
1234
  let i = t(r.roomId), a = p.cameras.filter((n) => n.roomId !== r.roomId && e.has(n.roomId) && t(n.roomId) === i);
1234
1235
  a.length && n.push({
@@ -1241,23 +1242,23 @@ var Cn = l({
1241
1242
  return n;
1242
1243
  }), Be = h(() => {
1243
1244
  let e = [], t = /* @__PURE__ */ new Map(), n = (n, r, i, a) => {
1244
- let o = I.value.find((e) => e.id === r) ?? I.value.find((e) => e.roomId === n);
1245
- if (!o || o.width * P.value < 80 || o.height * P.value < 60) return;
1245
+ let o = F.value.find((e) => e.id === r) ?? F.value.find((e) => e.roomId === n);
1246
+ if (!o || o.width * M.value < 80 || o.height * M.value < 60) return;
1246
1247
  let s = t.get(o.id) ?? 0;
1247
1248
  t.set(o.id, s + 1), e.push({
1248
1249
  key: i ?? `stairs-${n}`,
1249
1250
  roomId: n,
1250
1251
  connectionId: i,
1251
1252
  direction: a,
1252
- x: o.x + o.width - (16 + s * 30) / P.value,
1253
- y: o.y + 16 / P.value
1253
+ x: o.x + o.width - (16 + s * 30) / M.value,
1254
+ y: o.y + 16 / M.value
1254
1255
  });
1255
1256
  };
1256
1257
  for (let e of je.value) e.geometry.kind === "badge" && n(e.geometry.roomId, e.geometry.shapeId, e.connection.id, W(e.connection, e.geometry.roomId));
1257
1258
  return Ve.value && n(Ve.value.roomId, Ve.value.shapeId, void 0, void 0), e;
1258
1259
  }), Ve = h(() => {
1259
1260
  let e = De.value;
1260
- if (!e || F.value) return null;
1261
+ if (!e || P.value) return null;
1261
1262
  let t = new Set(p.connections.flatMap((e) => [e.fromRoomId, e.toRoomId].join("|")));
1262
1263
  return p.rooms.some((n) => n.levelId !== e.levelId && !t.has([e.roomId, n.roomId].join("|")) && !t.has([n.roomId, e.roomId].join("|"))) ? {
1263
1264
  roomId: e.roomId,
@@ -1266,12 +1267,12 @@ var Cn = l({
1266
1267
  }), Ue = h(() => {
1267
1268
  let e = ne.value?.getBoundingClientRect(), t = e?.width ?? 0, n = e?.height ?? 0;
1268
1269
  return {
1269
- left: -Se.value.x / P.value,
1270
- top: -Se.value.y / P.value,
1271
- right: (t - Se.value.x) / P.value,
1272
- bottom: (n - Se.value.y) / P.value
1270
+ left: -N.value.x / M.value,
1271
+ top: -N.value.y / M.value,
1272
+ right: (t - N.value.x) / M.value,
1273
+ bottom: (n - N.value.y) / M.value
1273
1274
  };
1274
- }), We = h(() => new Set(we.value.filter((e) => ye.value.has(e.id)).map((e) => e.roomId)));
1275
+ }), We = h(() => new Set(I.value.filter((e) => xe.value.has(e.id)).map((e) => e.roomId)));
1275
1276
  function Ge(e, t) {
1276
1277
  switch (t) {
1277
1278
  case "object":
@@ -1289,36 +1290,36 @@ var Cn = l({
1289
1290
  }
1290
1291
  }
1291
1292
  function Ke(e) {
1292
- return ye.value.get(e)?.level;
1293
+ return xe.value.get(e)?.level;
1293
1294
  }
1294
1295
  function qe(e) {
1295
- return ye.value.get(e.id)?.labels ?? [];
1296
+ return xe.value.get(e.id)?.labels ?? [];
1296
1297
  }
1297
1298
  function Ye(e) {
1298
- let t = (8 + qe(e).length * 17) / P.value;
1299
+ let t = (8 + qe(e).length * 17) / M.value;
1299
1300
  return {
1300
- width: t + it(e.name) - 10 / P.value,
1301
+ width: t + it(e.name) - 10 / M.value,
1301
1302
  textOffset: t
1302
1303
  };
1303
1304
  }
1304
1305
  function Xe(e, t) {
1305
- ce.value = t.id, e.pointerType === "mouse" && S("hover-sensor", {
1306
+ le.value = t.id, e.pointerType === "mouse" && S("hover-sensor", {
1306
1307
  sensorId: t.id,
1307
1308
  x: e.clientX,
1308
1309
  y: e.clientY
1309
1310
  });
1310
1311
  }
1311
1312
  function Ze() {
1312
- ce.value = null, S("hover-sensor", null);
1313
+ le.value = null, S("hover-sensor", null);
1313
1314
  }
1314
1315
  function Qe(e) {
1315
- return _e.value.find((t) => t.id === e);
1316
+ return ye.value.find((t) => t.id === e);
1316
1317
  }
1317
1318
  function $e(e) {
1318
- return M(e.sensorType, N(Qe(e.id)));
1319
+ return ce(e.sensorType, me(Qe(e.id)));
1319
1320
  }
1320
1321
  function U(e) {
1321
- let t = ae(Qe(e.id));
1322
+ let t = pe(Qe(e.id));
1322
1323
  return t ? `${e.name} · ${t}` : e.name;
1323
1324
  }
1324
1325
  function W(e, t) {
@@ -1339,7 +1340,7 @@ var Cn = l({
1339
1340
  return t ? [t] : [];
1340
1341
  }
1341
1342
  function G(e) {
1342
- let t = e.width >= e.height, n = t ? e.width : e.height, r = t ? e.height : e.width, i = 9 / P.value, a = Math.max(Math.min(15, r * .3), i);
1343
+ 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);
1343
1344
  if (a > r) return null;
1344
1345
  let o = n - a, s = a * ot, c = e.name;
1345
1346
  if (s * c.length > o) {
@@ -1366,10 +1367,10 @@ var Cn = l({
1366
1367
  oe.value = null, S("hover-camera", null);
1367
1368
  }
1368
1369
  function it(e) {
1369
- return (e.length * 7 + 20) / P.value;
1370
+ return (e.length * 7 + 20) / M.value;
1370
1371
  }
1371
1372
  function at(e, t) {
1372
- let n = 4 / P.value;
1373
+ let n = 4 / M.value;
1373
1374
  return `M ${e - n * 2} ${t + n * 1.5} L ${e - n} ${t + n * 1.5} L ${e - n} ${t} L ${e + n} ${t} L ${e + n} ${t - n * 1.5} L ${e + n * 2} ${t - n * 1.5}`;
1374
1375
  }
1375
1376
  function ct(e) {
@@ -1385,8 +1386,8 @@ var Cn = l({
1385
1386
  function gt(e) {
1386
1387
  let t = ne.value?.getBoundingClientRect();
1387
1388
  return t ? {
1388
- x: (e.clientX - t.left - Se.value.x) / P.value,
1389
- y: (e.clientY - t.top - Se.value.y) / P.value
1389
+ x: (e.clientX - t.left - N.value.x) / M.value,
1390
+ y: (e.clientY - t.top - N.value.y) / M.value
1390
1391
  } : {
1391
1392
  x: 0,
1392
1393
  y: 0
@@ -1396,11 +1397,11 @@ var Cn = l({
1396
1397
  return Math.round(e / 10) * 10;
1397
1398
  }
1398
1399
  function _t(e, t) {
1399
- return I.value.some((n) => n.id !== t && e.x < n.x + n.width && e.x + e.width > n.x && e.y < n.y + n.height && e.y + e.height > n.y);
1400
+ 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);
1400
1401
  }
1401
1402
  function vt(e, t, n) {
1402
- let r = 10 / P.value, i = n === "end" ? [e.x + e.width] : [e.x, e.x + e.width], a = n === "end" ? [e.y + e.height] : [e.y, e.y + e.height], o, s;
1403
- for (let e of I.value) if (e.id !== t) {
1403
+ 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;
1404
+ for (let e of F.value) if (e.id !== t) {
1404
1405
  for (let t of i) for (let n of [e.x, e.x + e.width]) {
1405
1406
  let e = n - t;
1406
1407
  Math.abs(e) <= r && (o === void 0 || Math.abs(e) < Math.abs(o)) && (o = e);
@@ -1410,7 +1411,7 @@ var Cn = l({
1410
1411
  Math.abs(e) <= r && (s === void 0 || Math.abs(e) < Math.abs(s)) && (s = e);
1411
1412
  }
1412
1413
  }
1413
- return O.value = {
1414
+ return D.value = {
1414
1415
  x: o === void 0 ? null : (n === "end" ? e.x + e.width : e.x) + o,
1415
1416
  y: s === void 0 ? null : (n === "end" ? e.y + e.height : e.y) + s
1416
1417
  }, n === "end" ? {
@@ -1446,7 +1447,7 @@ var Cn = l({
1446
1447
  return i;
1447
1448
  }
1448
1449
  function bt(e) {
1449
- return we.value.filter((t) => t.roomId === e);
1450
+ return I.value.filter((t) => t.roomId === e);
1450
1451
  }
1451
1452
  function Z(e) {
1452
1453
  ne.value?.setPointerCapture?.(e.pointerId);
@@ -1461,10 +1462,10 @@ var Cn = l({
1461
1462
  if (Pt(e, {
1462
1463
  kind: "room",
1463
1464
  id: t.id
1464
- }), F.value) return;
1465
+ }), P.value) return;
1465
1466
  e.stopPropagation();
1466
1467
  let n = gt(e);
1467
- k = {
1468
+ O = {
1468
1469
  mode: "room",
1469
1470
  id: t.id,
1470
1471
  offsetX: n.x - t.x,
@@ -1475,7 +1476,7 @@ var Cn = l({
1475
1476
  S("select", {
1476
1477
  kind: "room",
1477
1478
  id: t.id
1478
- }), !F.value && (e.stopPropagation(), le.value = t.id, k = {
1479
+ }), !P.value && (e.stopPropagation(), ue.value = t.id, O = {
1479
1480
  mode: "resize",
1480
1481
  id: t.id,
1481
1482
  originX: t.x,
@@ -1486,10 +1487,10 @@ var Cn = l({
1486
1487
  if (Pt(e, {
1487
1488
  kind: "camera",
1488
1489
  id: t.id
1489
- }), F.value) return;
1490
+ }), P.value) return;
1490
1491
  e.stopPropagation();
1491
1492
  let n = gt(e);
1492
- k = {
1493
+ O = {
1493
1494
  mode: "camera",
1494
1495
  id: t.id,
1495
1496
  offsetX: n.x - t.x,
@@ -1500,28 +1501,28 @@ var Cn = l({
1500
1501
  S("select", {
1501
1502
  kind: "camera",
1502
1503
  id: t.id
1503
- }), !F.value && (e.stopPropagation(), k = {
1504
+ }), !P.value && (e.stopPropagation(), O = {
1504
1505
  mode: "rotate",
1505
1506
  id: t.id
1506
1507
  }, Z(e));
1507
1508
  }
1508
1509
  function Et(e) {
1509
- if (!k) return;
1510
- if (k.mode === "north") {
1511
- let t = ie.value?.getBoundingClientRect();
1510
+ if (!O) return;
1511
+ if (O.mode === "north") {
1512
+ let t = ae.value?.getBoundingClientRect();
1512
1513
  if (!t) return;
1513
1514
  let n = Math.atan2(e.clientY - (t.top + t.height / 2), e.clientX - (t.left + t.width / 2)) * 180 / Math.PI;
1514
1515
  S("update-north", Math.round((n + 450) % 360));
1515
1516
  return;
1516
1517
  }
1517
- fe || (fe = !0, S("history"));
1518
+ he || (he = !0, S("history"));
1518
1519
  let t = gt(e);
1519
- if (k.mode === "room") {
1520
- let e = k.id, n = I.value.find((t) => t.id === e);
1520
+ if (O.mode === "room") {
1521
+ let e = O.id, n = F.value.find((t) => t.id === e);
1521
1522
  if (!n) return;
1522
1523
  let r = vt({
1523
- x: Y(t.x - k.offsetX),
1524
- y: Y(t.y - k.offsetY),
1524
+ x: Y(t.x - O.offsetX),
1525
+ y: Y(t.y - O.offsetY),
1525
1526
  width: n.width,
1526
1527
  height: n.height
1527
1528
  }, n.id, "both"), i = _t(n, n.id) ? {
@@ -1535,14 +1536,14 @@ var Cn = l({
1535
1536
  });
1536
1537
  return;
1537
1538
  }
1538
- if (k.mode === "resize") {
1539
- let e = k.id, n = I.value.find((t) => t.id === e);
1539
+ if (O.mode === "resize") {
1540
+ let e = O.id, n = F.value.find((t) => t.id === e);
1540
1541
  if (!n) return;
1541
1542
  let r = vt({
1542
1543
  x: n.x,
1543
1544
  y: n.y,
1544
- width: Math.max(60, Y(t.x - k.originX)),
1545
- height: Math.max(60, Y(t.y - k.originY))
1545
+ width: Math.max(60, Y(t.x - O.originX)),
1546
+ height: Math.max(60, Y(t.y - O.originY))
1546
1547
  }, n.id, "end"), i = _t({
1547
1548
  ...r,
1548
1549
  height: n.height
@@ -1557,8 +1558,8 @@ var Cn = l({
1557
1558
  });
1558
1559
  return;
1559
1560
  }
1560
- if (k.mode === "passage") {
1561
- let e = k, n = p.connections.find((t) => t.id === e.id);
1561
+ if (O.mode === "passage") {
1562
+ let e = O, n = p.connections.find((t) => t.id === e.id);
1562
1563
  if (!n) return;
1563
1564
  let r = pt(e.wall, n.offset, n.width), i = Nt(e.wall, {
1564
1565
  x: (r.x1 + r.x2) / 2,
@@ -1570,8 +1571,8 @@ var Cn = l({
1570
1571
  }), e.grab = a;
1571
1572
  return;
1572
1573
  }
1573
- if (k.mode === "passage-resize") {
1574
- let e = k, n = p.connections.find((t) => t.id === e.id);
1574
+ if (O.mode === "passage-resize") {
1575
+ let e = O, n = p.connections.find((t) => t.id === e.id);
1575
1576
  if (!n) return;
1576
1577
  let r = pt(e.wall, n.offset, n.width), i = Nt(e.wall, e.end === 0 ? {
1577
1578
  x: r.x2,
@@ -1587,23 +1588,23 @@ var Cn = l({
1587
1588
  });
1588
1589
  return;
1589
1590
  }
1590
- if (k.mode === "sensor") {
1591
- let e = k.id, n = X(ve.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - k.offsetX), Y(t.y - k.offsetY));
1591
+ if (O.mode === "sensor") {
1592
+ let e = O.id, n = X(be.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - O.offsetX), Y(t.y - O.offsetY));
1592
1593
  S("move-sensor", {
1593
1594
  id: e,
1594
1595
  ...n
1595
1596
  });
1596
1597
  return;
1597
1598
  }
1598
- if (k.mode === "camera") {
1599
- let e = k.id, n = X(we.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - k.offsetX), Y(t.y - k.offsetY));
1599
+ if (O.mode === "camera") {
1600
+ let e = O.id, n = X(I.value.find((t) => t.id === e)?.roomId ?? "", Y(t.x - O.offsetX), Y(t.y - O.offsetY));
1600
1601
  S("move-camera", {
1601
1602
  id: e,
1602
1603
  ...n
1603
1604
  });
1604
1605
  return;
1605
1606
  }
1606
- let n = k.id, r = we.value.find((e) => e.id === n);
1607
+ let n = O.id, r = I.value.find((e) => e.id === n);
1607
1608
  if (!r) return;
1608
1609
  let i = t.x - r.x, a = t.y - r.y;
1609
1610
  S("rotate-camera", {
@@ -1629,7 +1630,7 @@ var Cn = l({
1629
1630
  };
1630
1631
  }
1631
1632
  function Ot(e) {
1632
- F.value || (e.stopPropagation(), S("history"), k = { mode: "north" }, ie.value?.setPointerCapture?.(e.pointerId));
1633
+ P.value || (e.stopPropagation(), S("history"), O = { mode: "north" }, ae.value?.setPointerCapture?.(e.pointerId));
1633
1634
  }
1634
1635
  function kt(e) {
1635
1636
  let t = e.dataTransfer?.getData(lt);
@@ -1638,18 +1639,18 @@ var Cn = l({
1638
1639
  let n = JSON.parse(t), r = ne.value?.getBoundingClientRect();
1639
1640
  r && S("drop", {
1640
1641
  ...n,
1641
- x: Y((e.clientX - r.left - Se.value.x) / P.value),
1642
- y: Y((e.clientY - r.top - Se.value.y) / P.value)
1642
+ x: Y((e.clientX - r.left - N.value.x) / M.value),
1643
+ y: Y((e.clientY - r.top - N.value.y) / M.value)
1643
1644
  });
1644
1645
  }
1645
1646
  function At(e, t) {
1646
1647
  if (Pt(e, {
1647
1648
  kind: "sensor",
1648
1649
  id: t.id
1649
- }), F.value) return;
1650
+ }), P.value) return;
1650
1651
  e.stopPropagation();
1651
1652
  let n = gt(e);
1652
- k = {
1653
+ O = {
1653
1654
  mode: "sensor",
1654
1655
  id: t.id,
1655
1656
  offsetX: n.x - t.x,
@@ -1660,7 +1661,7 @@ var Cn = l({
1660
1661
  Pt(e, {
1661
1662
  kind: "connection",
1662
1663
  id: t.id
1663
- }), !F.value && (e.stopPropagation(), k = {
1664
+ }), !P.value && (e.stopPropagation(), O = {
1664
1665
  mode: "passage",
1665
1666
  id: t.id,
1666
1667
  wall: t.wall,
@@ -1668,7 +1669,7 @@ var Cn = l({
1668
1669
  }, Z(e));
1669
1670
  }
1670
1671
  function Mt(e, t, n) {
1671
- F.value || (e.stopPropagation(), k = {
1672
+ P.value || (e.stopPropagation(), O = {
1672
1673
  mode: "passage-resize",
1673
1674
  id: t.id,
1674
1675
  wall: t.wall,
@@ -1679,35 +1680,35 @@ var Cn = l({
1679
1680
  return (t.x - e.x) * e.stepX + (t.y - e.y) * e.stepY;
1680
1681
  }
1681
1682
  function Pt(e, t) {
1682
- A = {
1683
+ k = {
1683
1684
  target: t,
1684
1685
  x: e.clientX,
1685
1686
  y: e.clientY
1686
1687
  };
1687
1688
  }
1688
1689
  function Ft(e) {
1689
- le.value = null, A &&= (e && Math.abs(e.clientX - A.x) < 4 && Math.abs(e.clientY - A.y) < 4 && S("select", A.target), null), k?.mode === "room" && fe && S("settle-room", k.id), k = null, fe = !1, O.value = {
1690
+ ue.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" && he && S("settle-room", O.id), O = null, he = !1, D.value = {
1690
1691
  x: null,
1691
1692
  y: null
1692
1693
  };
1693
1694
  }
1694
1695
  function It() {
1695
1696
  let e = [], t = [];
1696
- for (let n of I.value) e.push(n.x, n.x + n.width), t.push(n.y, n.y + n.height);
1697
- for (let n of we.value) e.push(n.x - Nr, n.x + Nr), t.push(n.y - Nr, n.y + Nr);
1697
+ for (let n of F.value) e.push(n.x, n.x + n.width), t.push(n.y, n.y + n.height);
1698
+ for (let n of I.value) e.push(n.x - Nr, n.x + Nr), t.push(n.y - Nr, n.y + Nr);
1698
1699
  if (!e.length) return;
1699
1700
  let n = Math.min(...e), r = Math.min(...t);
1700
- ge({
1701
+ _e({
1701
1702
  x: n,
1702
1703
  y: r,
1703
1704
  width: Math.max(Math.max(...e) - n, 1),
1704
1705
  height: Math.max(Math.max(...t) - r, 1)
1705
1706
  }, { padding: .15 });
1706
1707
  }
1707
- return ee(() => p.levelId, () => o(It)), re(() => {
1708
+ return ee(() => p.levelId, () => o(It)), ie(() => {
1708
1709
  window.addEventListener("pointerup", Ft), o(It);
1709
1710
  }), t(() => window.removeEventListener("pointerup", Ft)), l({ fit: It }), (t, o) => {
1710
- let l = He, f = V, p = Cn, h = xe, ee = bn, te = H, w = D;
1711
+ let l = He, f = V, p = Cn, h = Te, ee = bn, te = H, w = E;
1711
1712
  return r(), _("div", {
1712
1713
  ref_key: "wrapperRef",
1713
1714
  ref: ne,
@@ -1720,7 +1721,7 @@ var Cn = l({
1720
1721
  onDragenter: o[15] ||= e(() => {}, ["prevent"])
1721
1722
  }, [
1722
1723
  T(m(Je), {
1723
- nodes: Te,
1724
+ nodes: Ee,
1724
1725
  "nodes-draggable": !1,
1725
1726
  "nodes-connectable": !1,
1726
1727
  "elements-selectable": !1,
@@ -1746,21 +1747,21 @@ var Cn = l({
1746
1747
  }, [b("defs", null, [
1747
1748
  b("pattern", {
1748
1749
  id: "floorplan-public",
1749
- width: 14 / m(P),
1750
- height: 14 / m(P),
1750
+ width: 14 / m(M),
1751
+ height: 14 / m(M),
1751
1752
  patternUnits: "userSpaceOnUse",
1752
1753
  patternTransform: "rotate(45)"
1753
1754
  }, [b("rect", {
1754
- width: 14 / m(P),
1755
- height: 14 / m(P),
1755
+ width: 14 / m(M),
1756
+ height: 14 / m(M),
1756
1757
  class: "public-base"
1757
1758
  }, null, 8, Tn), b("line", {
1758
1759
  x1: "0",
1759
1760
  y1: "0",
1760
1761
  x2: "0",
1761
- y2: 14 / m(P),
1762
+ y2: 14 / m(M),
1762
1763
  class: "public-hatch",
1763
- "stroke-width": 1.5 / m(P)
1764
+ "stroke-width": 1.5 / m(M)
1764
1765
  }, null, 8, En)], 8, wn),
1765
1766
  (r(!0), _(y, null, n(m(Ie), (e) => (r(), _("clipPath", {
1766
1767
  id: `floorplan-sight-${e.roomId}`,
@@ -1768,19 +1769,19 @@ var Cn = l({
1768
1769
  }, [b("path", { d: e.path }, null, 8, On)], 8, Dn))), 128)),
1769
1770
  b("pattern", {
1770
1771
  id: "floorplan-gaps-hatch",
1771
- width: 10 / m(P),
1772
- height: 10 / m(P),
1772
+ width: 10 / m(M),
1773
+ height: 10 / m(M),
1773
1774
  patternUnits: "userSpaceOnUse",
1774
1775
  patternTransform: "rotate(-45)"
1775
1776
  }, [b("line", {
1776
1777
  x1: "0",
1777
1778
  y1: "0",
1778
1779
  x2: "0",
1779
- y2: 10 / m(P),
1780
+ y2: 10 / m(M),
1780
1781
  class: "gaps-hatch",
1781
- "stroke-width": 1.5 / m(P)
1782
+ "stroke-width": 1.5 / m(M)
1782
1783
  }, null, 8, An)], 8, kn),
1783
- m(E) ? (r(), _("mask", {
1784
+ m(re) ? (r(), _("mask", {
1784
1785
  key: 0,
1785
1786
  id: "floorplan-gaps",
1786
1787
  maskUnits: "userSpaceOnUse",
@@ -1815,7 +1816,7 @@ var Cn = l({
1815
1816
  "room-selected": e.selected,
1816
1817
  "room-public-wall": e.publicSpace
1817
1818
  }]),
1818
- "stroke-width": (e.selected ? 2.5 : 1.5) / m(P)
1819
+ "stroke-width": (e.selected ? 2.5 : 1.5) / m(M)
1819
1820
  }, null, 10, Ln)]))), 128)),
1820
1821
  (r(!0), _(y, null, n(m(Ie), (e) => (r(), _("g", {
1821
1822
  key: `sight-${e.roomId}`,
@@ -1826,7 +1827,7 @@ var Cn = l({
1826
1827
  class: s(["cone", [`cone-${Ke(e.id) ?? "idle"}`, { "cone-selected": J("camera", e.id) }]]),
1827
1828
  transform: `translate(${e.x} ${e.y}) rotate(${e.rotation})`
1828
1829
  }, null, 10, zn))), 128))], 8, Rn))), 128)),
1829
- m(E) ? (r(), _("rect", {
1830
+ m(re) ? (r(), _("rect", {
1830
1831
  key: 0,
1831
1832
  x: m(L).x,
1832
1833
  y: m(L).y,
@@ -1842,7 +1843,7 @@ var Cn = l({
1842
1843
  y: e.y,
1843
1844
  width: e.width,
1844
1845
  height: e.height,
1845
- class: s(["room-hit", { nopan: !m(F) }]),
1846
+ class: s(["room-hit", { nopan: !m(P) }]),
1846
1847
  onPointerdown: (t) => St(t, e)
1847
1848
  }, null, 42, Vn))), 128)), (r(!0), _(y, null, n(tt(e), (e) => (r(), _("text", {
1848
1849
  key: e.text,
@@ -1855,26 +1856,26 @@ var Cn = l({
1855
1856
  }, i(e.text), 9, Hn))), 128))]))), 128)),
1856
1857
  (r(!0), _(y, null, n(m(Le), (e) => (r(), _("g", {
1857
1858
  key: e.id,
1858
- class: s({ nopan: !m(F) }),
1859
+ class: s({ nopan: !m(P) }),
1859
1860
  onPointerdown: (t) => jt(t, e)
1860
1861
  }, [
1861
1862
  b("path", {
1862
1863
  d: e.line,
1863
1864
  class: "connection-hit",
1864
- "stroke-width": 24 / m(P)
1865
+ "stroke-width": 24 / m(M)
1865
1866
  }, null, 8, Wn),
1866
1867
  b("path", {
1867
1868
  d: e.line,
1868
1869
  class: s(["connection", [`connection-${e.type}`, { "connection-selected": J("connection", e.id) }]]),
1869
- "stroke-width": 7 / m(P)
1870
+ "stroke-width": 7 / m(M)
1870
1871
  }, null, 10, Gn),
1871
- (r(!0), _(y, null, n(J("connection", e.id) && !m(F) ? e.handles : [], (t, n) => (r(), _("circle", {
1872
+ (r(!0), _(y, null, n(J("connection", e.id) && !m(P) ? e.handles : [], (t, n) => (r(), _("circle", {
1872
1873
  key: n,
1873
1874
  cx: t.x,
1874
1875
  cy: t.y,
1875
- r: 7 / m(P),
1876
+ r: 7 / m(M),
1876
1877
  class: "passage-handle nopan",
1877
- "stroke-width": 2 / m(P),
1878
+ "stroke-width": 2 / m(M),
1878
1879
  onPointerdown: (t) => Mt(t, e, n)
1879
1880
  }, null, 40, Kn))), 128))
1880
1881
  ], 42, Un))), 128)),
@@ -1882,12 +1883,12 @@ var Cn = l({
1882
1883
  key: 0,
1883
1884
  d: `M ${e.geometry.x1} ${e.geometry.y1} L ${e.geometry.x2} ${e.geometry.y2}`,
1884
1885
  class: s(["connection connection-stairs", { "connection-selected": J("connection", e.connection.id) }]),
1885
- "stroke-width": 2 / m(P),
1886
+ "stroke-width": 2 / m(M),
1886
1887
  onPointerdown: (t) => xt(t, e.connection.id)
1887
1888
  }, null, 42, qn)) : d("", !0)], 64))), 128)),
1888
- (r(!0), _(y, null, n(m(we), (e) => (r(), _("g", {
1889
+ (r(!0), _(y, null, n(m(I), (e) => (r(), _("g", {
1889
1890
  key: e.id,
1890
- class: s({ nopan: !m(F) }),
1891
+ class: s({ nopan: !m(P) }),
1891
1892
  onPointerdown: (t) => wt(t, e),
1892
1893
  onPointerenter: (t) => nt(t, e),
1893
1894
  onPointerleave: rt
@@ -1895,48 +1896,48 @@ var Cn = l({
1895
1896
  b("circle", {
1896
1897
  cx: e.x,
1897
1898
  cy: e.y,
1898
- r: 13 / m(P),
1899
+ r: 13 / m(M),
1899
1900
  class: s(["camera-body", [`camera-${Ke(e.id) ?? "idle"}`, { "camera-selected": J("camera", e.id) }]]),
1900
- "stroke-width": 2 / m(P)
1901
+ "stroke-width": 2 / m(M)
1901
1902
  }, null, 10, Yn),
1902
1903
  b("circle", {
1903
1904
  cx: e.x,
1904
1905
  cy: e.y,
1905
- r: 4 / m(P),
1906
+ r: 4 / m(M),
1906
1907
  class: "camera-lens"
1907
1908
  }, null, 8, Xn),
1908
- m(oe) === e.id || J("camera", e.id) || m(ye).has(e.id) ? (r(), _("g", Zn, [
1909
+ m(oe) === e.id || J("camera", e.id) || m(xe).has(e.id) ? (r(), _("g", Zn, [
1909
1910
  b("rect", {
1910
1911
  x: e.x - Ye(e).width / 2,
1911
- y: e.y - 42 / m(P),
1912
+ y: e.y - 42 / m(M),
1912
1913
  width: Ye(e).width,
1913
- height: 20 / m(P),
1914
- rx: 10 / m(P)
1914
+ height: 20 / m(M),
1915
+ rx: 10 / m(M)
1915
1916
  }, null, 8, Qn),
1916
1917
  (r(!0), _(y, null, n(qe(e), (t, n) => (r(), _("foreignObject", {
1917
1918
  key: t,
1918
- x: e.x - Ye(e).width / 2 + (8 + n * 17) / m(P),
1919
- y: e.y - 39.5 / m(P),
1920
- width: 15 / m(P),
1921
- height: 15 / m(P),
1919
+ x: e.x - Ye(e).width / 2 + (8 + n * 17) / m(M),
1920
+ y: e.y - 39.5 / m(M),
1921
+ width: 15 / m(M),
1922
+ height: 15 / m(M),
1922
1923
  class: "chip-glyph"
1923
- }, [(r(), u(c(m(j)(t).icon), {
1924
+ }, [(r(), u(c(m(Ce)(t).icon), {
1924
1925
  width: "100%",
1925
1926
  height: "100%"
1926
1927
  }))], 8, $n))), 128)),
1927
1928
  b("text", {
1928
1929
  x: e.x - Ye(e).width / 2 + Ye(e).textOffset,
1929
- y: e.y - 28 / m(P),
1930
- "font-size": 12 / m(P)
1930
+ y: e.y - 28 / m(M),
1931
+ "font-size": 12 / m(M)
1931
1932
  }, i(e.name), 9, er)
1932
1933
  ])) : d("", !0)
1933
1934
  ], 42, Jn))), 128)),
1934
- (r(!0), _(y, null, n(m(ke) ? m(Re) : [], (t) => (r(), _("g", { key: t.roomId }, [b("circle", {
1935
+ (r(!0), _(y, null, n(m(Oe) ? m(Re) : [], (t) => (r(), _("g", { key: t.roomId }, [b("circle", {
1935
1936
  cx: t.x,
1936
1937
  cy: t.y,
1937
- r: 11 / m(P),
1938
+ r: 11 / m(M),
1938
1939
  class: "connection-ghost nopan",
1939
- "stroke-width": 1.5 / m(P),
1940
+ "stroke-width": 1.5 / m(M),
1940
1941
  onPointerdown: e((e) => S("create-connection", {
1941
1942
  fromRoomId: t.fromRoomId,
1942
1943
  toRoomId: t.roomId,
@@ -1944,13 +1945,13 @@ var Cn = l({
1944
1945
  toShapeId: t.shapeId
1945
1946
  }), ["stop"])
1946
1947
  }, null, 40, tr), b("path", {
1947
- d: `M ${t.x - 5 / m(P)} ${t.y} L ${t.x + 5 / m(P)} ${t.y} M ${t.x} ${t.y - 5 / m(P)} L ${t.x} ${t.y + 5 / m(P)}`,
1948
+ 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)}`,
1948
1949
  class: "connection-ghost-plus",
1949
- "stroke-width": 1.5 / m(P)
1950
+ "stroke-width": 1.5 / m(M)
1950
1951
  }, null, 8, nr)]))), 128)),
1951
- (r(!0), _(y, null, n(m(ve), (e) => (r(), _("g", {
1952
+ (r(!0), _(y, null, n(m(be), (e) => (r(), _("g", {
1952
1953
  key: `sensor-${e.id}`,
1953
- class: s({ nopan: !m(F) }),
1954
+ class: s({ nopan: !m(P) }),
1954
1955
  onPointerdown: (t) => At(t, e),
1955
1956
  onPointerenter: (t) => Xe(t, e),
1956
1957
  onPointerleave: Ze
@@ -1958,32 +1959,32 @@ var Cn = l({
1958
1959
  b("circle", {
1959
1960
  cx: e.x,
1960
1961
  cy: e.y,
1961
- r: 11 / m(P),
1962
+ r: 11 / m(M),
1962
1963
  class: s(["sensor-body", { "sensor-selected": J("sensor", e.id) }]),
1963
- "stroke-width": 2 / m(P)
1964
+ "stroke-width": 2 / m(M)
1964
1965
  }, null, 10, ir),
1965
1966
  (r(), _("foreignObject", {
1966
- x: e.x - 7 / m(P),
1967
- y: e.y - 7 / m(P),
1968
- width: 14 / m(P),
1969
- height: 14 / m(P),
1967
+ x: e.x - 7 / m(M),
1968
+ y: e.y - 7 / m(M),
1969
+ width: 14 / m(M),
1970
+ height: 14 / m(M),
1970
1971
  class: "sensor-glyph"
1971
- }, [(r(), u(c(m(Ee)(e.sensorType, Qe(e.id))), {
1972
+ }, [(r(), u(c(m(ve)(e.sensorType, Qe(e.id))), {
1972
1973
  width: "100%",
1973
1974
  height: "100%",
1974
1975
  style: v($e(e))
1975
1976
  }, null, 8, ["style"]))], 8, ar)),
1976
- m(ce) === e.id || J("sensor", e.id) ? (r(), _("g", or, [b("rect", {
1977
+ m(le) === e.id || J("sensor", e.id) ? (r(), _("g", or, [b("rect", {
1977
1978
  x: e.x - it(U(e)) / 2,
1978
- y: e.y - 42 / m(P),
1979
+ y: e.y - 42 / m(M),
1979
1980
  width: it(U(e)),
1980
- height: 20 / m(P),
1981
- rx: 10 / m(P)
1981
+ height: 20 / m(M),
1982
+ rx: 10 / m(M)
1982
1983
  }, null, 8, sr), b("text", {
1983
1984
  x: e.x,
1984
- y: e.y - 28 / m(P),
1985
+ y: e.y - 28 / m(M),
1985
1986
  "text-anchor": "middle",
1986
- "font-size": 12 / m(P)
1987
+ "font-size": 12 / m(M)
1987
1988
  }, i(U(e)), 9, cr)])) : d("", !0)
1988
1989
  ], 42, rr))), 128)),
1989
1990
  (r(!0), _(y, null, n(m(ze), (e) => (r(), _("g", {
@@ -1995,98 +1996,98 @@ var Cn = l({
1995
1996
  b("circle", {
1996
1997
  cx: e.x,
1997
1998
  cy: e.y,
1998
- r: 11 / m(P),
1999
+ r: 11 / m(M),
1999
2000
  class: "flight-camera-body",
2000
- "stroke-width": 1.5 / m(P)
2001
+ "stroke-width": 1.5 / m(M)
2001
2002
  }, null, 8, ur),
2002
2003
  b("circle", {
2003
2004
  cx: e.x,
2004
2005
  cy: e.y,
2005
- r: 3.5 / m(P),
2006
+ r: 3.5 / m(M),
2006
2007
  class: "flight-camera-lens"
2007
2008
  }, null, 8, dr),
2008
2009
  m(se) === e.key ? (r(), _("g", fr, [b("rect", {
2009
2010
  x: e.x - it(e.label) / 2,
2010
- y: e.y - 42 / m(P),
2011
+ y: e.y - 42 / m(M),
2011
2012
  width: it(e.label),
2012
- height: 20 / m(P),
2013
- rx: 10 / m(P)
2013
+ height: 20 / m(M),
2014
+ rx: 10 / m(M)
2014
2015
  }, null, 8, pr), b("text", {
2015
2016
  x: e.x,
2016
- y: e.y - 28 / m(P),
2017
+ y: e.y - 28 / m(M),
2017
2018
  "text-anchor": "middle",
2018
- "font-size": 12 / m(P)
2019
+ "font-size": 12 / m(M)
2019
2020
  }, i(e.label), 9, mr)])) : d("", !0)
2020
2021
  ], 40, lr))), 128)),
2021
2022
  (r(!0), _(y, null, n(m(Be), (e) => (r(), _("g", {
2022
2023
  key: e.key,
2023
- class: s({ nopan: !m(F) }),
2024
+ class: s({ nopan: !m(P) }),
2024
2025
  onPointerdown: (t) => et(t, e)
2025
2026
  }, [
2026
2027
  b("circle", {
2027
2028
  cx: e.x,
2028
2029
  cy: e.y,
2029
- r: 12 / m(P),
2030
+ r: 12 / m(M),
2030
2031
  class: s([e.connectionId ? "connection-badge" : "connection-ghost", { "connection-selected": e.connectionId && J("connection", e.connectionId) }]),
2031
- "stroke-width": (e.connectionId ? 2 : 1.5) / m(P)
2032
+ "stroke-width": (e.connectionId ? 2 : 1.5) / m(M)
2032
2033
  }, null, 10, gr),
2033
2034
  b("path", {
2034
2035
  d: at(e.x, e.y),
2035
2036
  class: "badge-glyph",
2036
- "stroke-width": 1.5 / m(P),
2037
+ "stroke-width": 1.5 / m(M),
2037
2038
  fill: "none",
2038
2039
  "stroke-linejoin": "round"
2039
2040
  }, null, 8, _r),
2040
2041
  e.direction ? (r(), _("text", {
2041
2042
  key: 0,
2042
- x: e.x + 13 / m(P),
2043
- y: e.y - 7 / m(P),
2043
+ x: e.x + 13 / m(M),
2044
+ y: e.y - 7 / m(M),
2044
2045
  class: "badge-direction",
2045
- "font-size": 12 / m(P)
2046
+ "font-size": 12 / m(M)
2046
2047
  }, i(e.direction), 9, vr)) : d("", !0),
2047
- m(be) ? (r(), _("g", yr, [b("rect", {
2048
- x: m(be).x - m(be).width / 2,
2049
- y: m(be).y,
2050
- width: m(be).width,
2051
- height: 20 / m(P),
2052
- rx: 10 / m(P)
2048
+ m(Se) ? (r(), _("g", yr, [b("rect", {
2049
+ x: m(Se).x - m(Se).width / 2,
2050
+ y: m(Se).y,
2051
+ width: m(Se).width,
2052
+ height: 20 / m(M),
2053
+ rx: 10 / m(M)
2053
2054
  }, null, 8, br), b("text", {
2054
- x: m(be).x,
2055
- y: m(be).y + 14 / m(P),
2055
+ x: m(Se).x,
2056
+ y: m(Se).y + 14 / m(M),
2056
2057
  "text-anchor": "middle",
2057
- "font-size": 12 / m(P)
2058
- }, i(m(be).text), 9, xr)])) : d("", !0)
2058
+ "font-size": 12 / m(M)
2059
+ }, i(m(Se).text), 9, xr)])) : d("", !0)
2059
2060
  ], 42, hr))), 128)),
2060
- m(O).x === null ? d("", !0) : (r(), _("path", {
2061
+ m(D).x === null ? d("", !0) : (r(), _("path", {
2061
2062
  key: 1,
2062
- d: `M ${m(O).x} ${m(Ue).top} L ${m(O).x} ${m(Ue).bottom}`,
2063
+ d: `M ${m(D).x} ${m(Ue).top} L ${m(D).x} ${m(Ue).bottom}`,
2063
2064
  class: "guide",
2064
- "stroke-width": 1 / m(P)
2065
+ "stroke-width": 1 / m(M)
2065
2066
  }, null, 8, Sr)),
2066
- m(O).y === null ? d("", !0) : (r(), _("path", {
2067
+ m(D).y === null ? d("", !0) : (r(), _("path", {
2067
2068
  key: 2,
2068
- d: `M ${m(Ue).left} ${m(O).y} L ${m(Ue).right} ${m(O).y}`,
2069
+ d: `M ${m(Ue).left} ${m(D).y} L ${m(Ue).right} ${m(D).y}`,
2069
2070
  class: "guide",
2070
- "stroke-width": 1 / m(P)
2071
+ "stroke-width": 1 / m(M)
2071
2072
  }, null, 8, Cr)),
2072
- m(De) && !m(F) ? (r(), _("rect", {
2073
+ m(De) && !m(P) ? (r(), _("rect", {
2073
2074
  key: 3,
2074
- x: m(De).x + m(De).width - 7 / m(P),
2075
- y: m(De).y + m(De).height - 7 / m(P),
2076
- width: 14 / m(P),
2077
- height: 14 / m(P),
2078
- rx: 3 / m(P),
2075
+ x: m(De).x + m(De).width - 7 / m(M),
2076
+ y: m(De).y + m(De).height - 7 / m(M),
2077
+ width: 14 / m(M),
2078
+ height: 14 / m(M),
2079
+ rx: 3 / m(M),
2079
2080
  class: "handle nopan",
2080
- "stroke-width": 1.5 / m(P),
2081
+ "stroke-width": 1.5 / m(M),
2081
2082
  onPointerdown: o[1] ||= (e) => Ct(e, m(De))
2082
2083
  }, null, 40, wr)) : d("", !0),
2083
- m(R) && !m(F) ? (r(), _("circle", {
2084
+ m(R) && !m(P) ? (r(), _("circle", {
2084
2085
  key: 4,
2085
2086
  cx: m(R).x + Math.cos(ct(m(R).rotation)) * m(R).range,
2086
2087
  cy: m(R).y + Math.sin(ct(m(R).rotation)) * m(R).range,
2087
- r: 9 / m(P),
2088
+ r: 9 / m(M),
2088
2089
  class: "handle nopan",
2089
- "stroke-width": 1.5 / m(P),
2090
+ "stroke-width": 1.5 / m(M),
2090
2091
  onPointerdown: o[2] ||= (e) => Tt(e, m(R))
2091
2092
  }, null, 40, Tr)) : d("", !0)
2092
2093
  ], 8, Fn)], 4))]),
@@ -2099,8 +2100,8 @@ var Cn = l({
2099
2100
  }, 8, ["min-zoom", "max-zoom"]),
2100
2101
  x((r(), _("div", {
2101
2102
  ref_key: "compassRef",
2102
- ref: ie,
2103
- class: s(["floorplan-compass absolute top-3 right-3", { "cursor-grab active:cursor-grabbing": !m(F) }]),
2103
+ ref: ae,
2104
+ class: s(["floorplan-compass absolute top-3 right-3", { "cursor-grab active:cursor-grabbing": !m(P) }]),
2104
2105
  onPointerdown: e(Ot, ["stop"])
2105
2106
  }, [(r(), _("svg", Er, [o[17] ||= b("circle", {
2106
2107
  cx: "23",
@@ -2108,7 +2109,7 @@ var Cn = l({
2108
2109
  r: "21",
2109
2110
  class: "compass-ring",
2110
2111
  "stroke-width": "1"
2111
- }, null, -1), b("g", { transform: `rotate(${m(Ce)} 23 23)` }, [...o[16] ||= [b("path", {
2112
+ }, null, -1), b("g", { transform: `rotate(${m(we)} 23 23)` }, [...o[16] ||= [b("path", {
2112
2113
  d: "M 23 6 L 27 23 L 23 19 L 19 23 Z",
2113
2114
  class: "compass-needle"
2114
2115
  }, null, -1), b("text", {
@@ -2119,7 +2120,7 @@ var Cn = l({
2119
2120
  "font-size": "9"
2120
2121
  }, "N", -1)]], 8, Dr)]))], 34)), [[
2121
2122
  w,
2122
- { value: m(F) ? t.$t("views.floorplan.north_reading", { value: m(Ce) }) : t.$t("views.floorplan.north_hint") },
2123
+ { value: m(P) ? t.$t("views.floorplan.north_reading", { value: m(we) }) : t.$t("views.floorplan.north_hint") },
2123
2124
  void 0,
2124
2125
  { left: !0 }
2125
2126
  ]]),
@@ -2134,7 +2135,7 @@ var Cn = l({
2134
2135
  type: "button",
2135
2136
  class: "control-button",
2136
2137
  onPointerdown: o[4] ||= e(() => {}, ["stop"]),
2137
- onClick: o[5] ||= e((e) => m(me)(), ["stop"])
2138
+ onClick: o[5] ||= e((e) => m(A)(), ["stop"])
2138
2139
  }, [T(l, { class: "w-4 h-4" })], 32)), [[
2139
2140
  w,
2140
2141
  { value: t.$t("views.floorplan.zoom_in") },
@@ -2145,7 +2146,7 @@ var Cn = l({
2145
2146
  type: "button",
2146
2147
  class: "control-button",
2147
2148
  onPointerdown: o[6] ||= e(() => {}, ["stop"]),
2148
- onClick: o[7] ||= e((e) => m(he)(), ["stop"])
2149
+ onClick: o[7] ||= e((e) => m(j)(), ["stop"])
2149
2150
  }, [T(f, { class: "w-4 h-4" })], 32)), [[
2150
2151
  w,
2151
2152
  { value: t.$t("views.floorplan.zoom_out") },
@@ -2182,9 +2183,9 @@ var Cn = l({
2182
2183
  ]]),
2183
2184
  x((r(), _("button", {
2184
2185
  type: "button",
2185
- class: s(["control-button", { "control-active": m(E) }]),
2186
+ class: s(["control-button", { "control-active": m(re) }]),
2186
2187
  onPointerdown: o[12] ||= e(() => {}, ["stop"]),
2187
- onClick: o[13] ||= e((e) => E.value = !m(E), ["stop"])
2188
+ onClick: o[13] ||= e((e) => re.value = !m(re), ["stop"])
2188
2189
  }, [T(te, { class: "w-4 h-4" })], 34)), [[
2189
2190
  w,
2190
2191
  { value: t.$t("views.floorplan.blind_spots") },
@@ -2250,7 +2251,7 @@ var Lr = l({
2250
2251
  ], ci = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, li = { class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0 palette-icon" }, ui = { class: "flex flex-col min-w-0" }, di = { class: "text-[13px] font-medium truncate text-color leading-tight" }, fi = {
2251
2252
  key: 0,
2252
2253
  class: "text-[11px] text-muted truncate leading-tight"
2253
- }, pi = /*#__PURE__*/ A(/* @__PURE__ */ C({
2254
+ }, pi = /*#__PURE__*/ I(/* @__PURE__ */ C({
2254
2255
  __name: "CuiFloorplanPalette",
2255
2256
  props: {
2256
2257
  cameras: {},
@@ -2272,7 +2273,7 @@ var Lr = l({
2272
2273
  })), e.dataTransfer.effectAllowed = "move");
2273
2274
  }
2274
2275
  return (t, a) => {
2275
- let f = ie, p = nt, h = Lr, ee = Ve, v = D;
2276
+ let f = ae, p = nt, h = Lr, ee = Ve, v = E;
2276
2277
  return r(), _("div", { class: s(["overflow-y-auto p-3", e.mode === "drag" ? "h-full" : ""]) }, [
2277
2278
  e.mode === "drag" ? (r(), _("div", Rr, i(t.$t("views.floorplan.palette")), 1)) : d("", !0),
2278
2279
  e.disabled ? (r(), u(f, {
@@ -2329,7 +2330,7 @@ var Lr = l({
2329
2330
  sensorId: t.id,
2330
2331
  sensorType: t.sensorType
2331
2332
  })
2332
- }, [b("div", ci, [b("div", li, [(r(), u(c(m(Ee)(t.sensorType, void 0)), { class: "w-4 h-4" }))]), b("div", ui, [b("span", di, i(t.name), 1), t.subtitle ? (r(), _("span", fi, i(t.subtitle), 1)) : d("", !0)])])], 42, si))), 128))])) : (r(), _("span", ai, i(t.$t("views.floorplan.all_sensors_placed")), 1))])
2333
+ }, [b("div", ci, [b("div", li, [(r(), u(c(m(ve)(t.sensorType, void 0)), { class: "w-4 h-4" }))]), b("div", ui, [b("span", di, i(t.name), 1), t.subtitle ? (r(), _("span", fi, i(t.subtitle), 1)) : d("", !0)])])], 42, si))), 128))])) : (r(), _("span", ai, i(t.$t("views.floorplan.all_sensors_placed")), 1))])
2333
2334
  ], 2);
2334
2335
  };
2335
2336
  }
@@ -2365,10 +2366,10 @@ var yi = l({
2365
2366
  //#endregion
2366
2367
  //#region src/api/routes/floorplan.ts
2367
2368
  async function bi({ signal: e } = {}) {
2368
- return (await F.get("/floorplan", { signal: e })).data;
2369
+ return (await j.get("/floorplan", { signal: e })).data;
2369
2370
  }
2370
2371
  async function xi(e) {
2371
- return (await F.put("/floorplan", e)).data;
2372
+ return (await j.put("/floorplan", e)).data;
2372
2373
  }
2373
2374
  //#endregion
2374
2375
  //#region src/components/CuiDialog/templates/FloorplanLevel/FloorplanLevel.vue?vue&type=script&setup=true&lang.ts
@@ -2392,10 +2393,10 @@ var Si = { class: "flex flex-col gap-2 w-full" }, Ci = {
2392
2393
  }, null, 8, ["modelValue", "placeholder"])]);
2393
2394
  };
2394
2395
  }
2395
- }), Ti = E({ plan: null }), Ei = null, Di = null, Oi = /* @__PURE__ */ new Set();
2396
+ }), Ti = re({ plan: null }), Ei = null, Di = null, Oi = /* @__PURE__ */ new Set();
2396
2397
  function ki() {
2397
2398
  Di || (Ei = f(!0), Ei.run(() => {
2398
- let e = _e("/camera.ui");
2399
+ let e = be("/camera.ui");
2399
2400
  Di = e, e.on("floorplan-changed", (e) => {
2400
2401
  Ti.plan = e;
2401
2402
  for (let t of Oi) try {
@@ -2437,13 +2438,13 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2437
2438
  }, Wi = { class: "flex items-center justify-center" }, Gi = {
2438
2439
  key: 0,
2439
2440
  class: "flex items-center gap-2 pl-3 pr-2 py-1.5"
2440
- }, Ki = { class: "flex-1 min-w-0 text-sm font-semibold truncate text-color" }, qi = 50, Ji = 92, Yi = /*#__PURE__*/ A(/* @__PURE__ */ C({
2441
+ }, Ki = { class: "flex-1 min-w-0 text-sm font-semibold truncate text-color" }, qi = 50, Ji = 92, Yi = /*#__PURE__*/ I(/* @__PURE__ */ C({
2441
2442
  __name: "Floorplan",
2442
2443
  setup(e) {
2443
- let { t: f } = De(), { smBreakpoint: S } = k(), { bottombarHeight: C } = pe(), E = be(), ie = P(), ae = ge(), A = Ai(), j = new ye(), { sensors: M } = Oe(), { data: N } = j.getCamerasQuery({
2444
+ let { t: f } = De(), { smBreakpoint: S } = se(), { bottombarHeight: C } = he(), re = Se(), ae = F(), ce = Ee(), pe = Ai(), me = new fe(), { sensors: j } = ke(), { data: _e } = me.getCamerasQuery({
2444
2445
  page: 1,
2445
2446
  pageSize: -1
2446
- }), _e = w(), xe = w(), F = w(null), L = w(null), Ae = w({
2447
+ }), be = w(), Ce = w(), Te = w(null), I = w(null), Ae = w({
2447
2448
  x: 0,
2448
2449
  y: 0
2449
2450
  }), je = w(null), Ne = w({
@@ -2474,7 +2475,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2474
2475
  value: R.NightArm,
2475
2476
  labelKey: "views.floorplan.security_night"
2476
2477
  }
2477
- ], ut = 0, dt = !1, mt, ht, gt, Y = Te(void 0, "admin"), _t = h(() => Math.max(st.value - Ji, 0)), vt = h(() => q.value.length > 0), yt = h(() => lt.value.length > 0), X = h(() => (N.value?.result ?? []).find((e) => e._id === Ve.value)), bt = h(() => z.value.find((e) => e.id === W.value)), Z = h(() => Ft() !== at.value), xt = h(() => new Map((N.value?.result ?? []).map((e) => [e._id, e.name]))), St = h(() => M.value.filter((e) => fe.has(String(e.type)))), Ct = h(() => new Map(St.value.map((e) => [e.id, {
2478
+ ], ut = 0, dt = !1, mt, ht, gt, Y = xe(void 0, "admin"), _t = h(() => Math.max(st.value - Ji, 0)), vt = h(() => q.value.length > 0), yt = h(() => lt.value.length > 0), X = h(() => (_e.value?.result ?? []).find((e) => e._id === Ve.value)), bt = h(() => z.value.find((e) => e.id === W.value)), Z = h(() => Ft() !== at.value), xt = h(() => new Map((_e.value?.result ?? []).map((e) => [e._id, e.name]))), St = h(() => j.value.filter((e) => ye.has(String(e.type)))), Ct = h(() => new Map(St.value.map((e) => [e.id, {
2478
2479
  name: Nt(e),
2479
2480
  owner: Pt(e)
2480
2481
  }]))), wt = h(() => {
@@ -2493,7 +2494,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2493
2494
  }));
2494
2495
  }), Et = h(() => {
2495
2496
  let e = new Set(H.value.map((e) => e.id));
2496
- return (N.value?.result ?? []).filter((t) => !e.has(t._id)).map((e) => ({
2497
+ return (_e.value?.result ?? []).filter((t) => !e.has(t._id)).map((e) => ({
2497
2498
  id: e._id,
2498
2499
  name: e.name
2499
2500
  }));
@@ -2529,7 +2530,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2529
2530
  command: In
2530
2531
  }
2531
2532
  ]), jt = h(() => {
2532
- let e = B.value.find((e) => e.roomId === F.value);
2533
+ let e = B.value.find((e) => e.roomId === Te.value);
2533
2534
  if (!e) return [];
2534
2535
  let t = new Set(V.value.flatMap((e) => [e.fromRoomId, e.toRoomId].join("|"))), n = /* @__PURE__ */ new Set();
2535
2536
  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) => ({
@@ -2707,12 +2708,12 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2707
2708
  if (!n.length || n.some((e) => ft(t, e))) return;
2708
2709
  let r = new Set(B.value.map((e) => e.name.toLowerCase())), i = t.name;
2709
2710
  for (let e = 2; r.has(i.toLowerCase()); e++) i = `${t.name} ${e}`;
2710
- let a = I();
2711
+ let a = N();
2711
2712
  for (let e of H.value) e.roomId === t.roomId && yn(t, e) && (e.roomId = a);
2712
2713
  Object.assign(t, {
2713
2714
  roomId: a,
2714
2715
  name: i
2715
- }), ie.add({
2716
+ }), ae.add({
2716
2717
  severity: "info",
2717
2718
  detail: f("views.floorplan.room_detached", { name: i }),
2718
2719
  life: 4e3
@@ -2800,16 +2801,16 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2800
2801
  }
2801
2802
  let $ = h(() => U.value.find((e) => e.id === ze.value));
2802
2803
  function tn(e) {
2803
- return M.value.find((t) => t.id === e);
2804
+ return j.value.find((t) => t.id === e);
2804
2805
  }
2805
2806
  function nn(e) {
2806
- return Y && !le.has(e);
2807
+ return Y && !k.has(e);
2807
2808
  }
2808
2809
  async function rn(e) {
2809
- Y && await se(tn(e));
2810
+ Y && await O(tn(e));
2810
2811
  }
2811
2812
  async function an(e, t) {
2812
- Y && await he(tn(e), t);
2813
+ Y && await ue(tn(e), t);
2813
2814
  }
2814
2815
  function on() {
2815
2816
  clearTimeout(ht);
@@ -2849,10 +2850,10 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2849
2850
  }, 200);
2850
2851
  }
2851
2852
  function fn({ roomId: e, event: t }) {
2852
- F.value = e, Ae.value = {
2853
+ Te.value = e, Ae.value = {
2853
2854
  x: t.clientX,
2854
2855
  y: t.clientY
2855
- }, o(() => xe.value?.toggleMenu(t, L.value));
2856
+ }, o(() => Ce.value?.toggleMenu(t, I.value));
2856
2857
  }
2857
2858
  function pn({ id: e, patch: t }) {
2858
2859
  Q(!0);
@@ -2862,7 +2863,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2862
2863
  function mn({ fromRoomId: e, toRoomId: t, fromShapeId: n, toShapeId: r }) {
2863
2864
  Q();
2864
2865
  let i = B.value.find((e) => e.id === n) ?? Ut(e)[0], a = B.value.find((e) => e.id === r) ?? Ut(t)[0], o = i && a ? ft(i, a) : null, s = {
2865
- id: I(),
2866
+ id: N(),
2866
2867
  fromRoomId: e,
2867
2868
  toRoomId: t,
2868
2869
  fromShapeId: i?.id ?? null,
@@ -2918,8 +2919,8 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
2918
2919
  function xn(e, t, n) {
2919
2920
  Q();
2920
2921
  let r = Sn(Math.round(e - 120), Math.round(t - 100), 240, 200), i = n ? Je.value.rooms.find((e) => e.id === n) : void 0, a = {
2921
- id: I(),
2922
- roomId: i?.id ?? I(),
2922
+ id: N(),
2923
+ roomId: i?.id ?? N(),
2923
2924
  name: i?.name ?? f("views.floorplan.new_room"),
2924
2925
  note: i?.note ?? "",
2925
2926
  publicSpace: i?.publicSpace ?? !1,
@@ -3018,7 +3019,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3018
3019
  nt.value = !1, En(e);
3019
3020
  }
3020
3021
  function On() {
3021
- E.openComponentDialog(wi, {
3022
+ re.openComponentDialog(wi, {
3022
3023
  data: {
3023
3024
  title: f("views.floorplan.add_level"),
3024
3025
  confirmText: f("components.form.button.add"),
@@ -3028,7 +3029,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3028
3029
  if (!e) return;
3029
3030
  Q();
3030
3031
  let t = {
3031
- id: I(),
3032
+ id: N(),
3032
3033
  name: e
3033
3034
  };
3034
3035
  z.value.push(t), W.value = t.id, G.value = null;
@@ -3037,7 +3038,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3037
3038
  }
3038
3039
  function kn() {
3039
3040
  let e = bt.value;
3040
- e && E.openComponentDialog(wi, {
3041
+ e && re.openComponentDialog(wi, {
3041
3042
  data: {
3042
3043
  title: f("views.floorplan.rename_level"),
3043
3044
  confirmText: f("components.form.button.save"),
@@ -3069,15 +3070,15 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3069
3070
  async function Nn() {
3070
3071
  it.value = !0;
3071
3072
  try {
3072
- Rt(await xi(It()), await $e()), await Pn(), ie.add({
3073
+ Rt(await xi(It()), await $e()), await Pn(), ae.add({
3073
3074
  severity: "success",
3074
3075
  detail: f("views.floorplan.saved"),
3075
3076
  life: 3e3
3076
3077
  });
3077
3078
  } catch (e) {
3078
- ie.add({
3079
+ ae.add({
3079
3080
  severity: "error",
3080
- detail: Ce(e),
3081
+ detail: M(e),
3081
3082
  life: 5e3
3082
3083
  });
3083
3084
  } finally {
@@ -3086,9 +3087,9 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3086
3087
  }
3087
3088
  async function Pn() {
3088
3089
  await Promise.all([
3089
- j.queryClient.refetchQueries({ queryKey: ["camerasList"] }),
3090
- j.queryClient.refetchQueries({ queryKey: ["cameras"] }),
3091
- j.queryClient.refetchQueries({
3090
+ me.queryClient.refetchQueries({ queryKey: ["camerasList"] }),
3091
+ me.queryClient.refetchQueries({ queryKey: ["cameras"] }),
3092
+ me.queryClient.refetchQueries({
3092
3093
  queryKey: ["rooms"],
3093
3094
  exact: !0
3094
3095
  })
@@ -3099,9 +3100,9 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3099
3100
  let [e, t] = await Promise.all([bi(), $e()]);
3100
3101
  Rt(e, t);
3101
3102
  } catch (e) {
3102
- ie.add({
3103
+ ae.add({
3103
3104
  severity: "error",
3104
- detail: Ce(e),
3105
+ detail: M(e),
3105
3106
  life: 5e3
3106
3107
  });
3107
3108
  } finally {
@@ -3130,7 +3131,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3130
3131
  }
3131
3132
  (e.key === "Delete" || e.key === "Backspace") && G.value && (e.preventDefault(), bn(G.value));
3132
3133
  }
3133
- let Rn = A.onPlan(async (e) => {
3134
+ let Rn = pe.onPlan(async (e) => {
3134
3135
  Z.value || (Rt(e, await $e()), await Pn());
3135
3136
  });
3136
3137
  function zn(e) {
@@ -3153,21 +3154,21 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3153
3154
  return;
3154
3155
  }
3155
3156
  gt = new ResizeObserver(([e]) => st.value = Math.round(e.contentRect.height)), gt.observe(e);
3156
- }), ee(() => G.value && `${G.value.kind}:${G.value.id}`, () => K.value = 0), re(() => {
3157
- A.connect(), window.addEventListener("keydown", Ln), Fn();
3158
- }), de((e) => !Z.value || dt ? !0 : (E.openTextDialog({
3157
+ }), ee(() => G.value && `${G.value.kind}:${G.value.id}`, () => K.value = 0), ie(() => {
3158
+ pe.connect(), window.addEventListener("keydown", Ln), Fn();
3159
+ }), le((e) => !Z.value || dt ? !0 : (re.openTextDialog({
3159
3160
  data: {
3160
3161
  title: f("views.floorplan.unsaved_title"),
3161
3162
  contentText: f("views.floorplan.unsaved_message"),
3162
3163
  confirmText: f("views.floorplan.discard")
3163
3164
  },
3164
3165
  onConfirm: async () => {
3165
- dt = !0, ae.push(e.fullPath);
3166
+ dt = !0, ce.push(e.fullPath);
3166
3167
  }
3167
3168
  }), !1)), t(() => {
3168
3169
  clearTimeout(mt), clearTimeout(ht), Rn(), gt?.disconnect(), window.removeEventListener("keydown", Ln);
3169
3170
  }), (e, t) => {
3170
- let o = Ke, l = ke, f = ue, h = gi, ee = O, te = qe, ne = Me, w = Ge, E = We, re = He, ie = Se, ae = pi, se = Pr, le = _n, de = Re, k = Ye, fe = Be, A = we, pe = ve, j = et, M = oe, N = D;
3171
+ let o = Ke, l = Oe, f = de, h = gi, ee = D, te = qe, ne = Me, w = Ge, re = We, ie = He, ae = L, se = pi, ce = Pr, le = _n, ue = Re, fe = Ye, O = Be, pe = P, me = we, he = et, k = A, j = E;
3171
3172
  return r(), _("div", ji, [
3172
3173
  T(f, { position: "left" }, {
3173
3174
  default: g(() => [T(l, {
@@ -3188,7 +3189,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3188
3189
  class: "cui-button-medium shrink-0",
3189
3190
  label: m(bt)?.name ?? e.$t("views.floorplan.no_levels"),
3190
3191
  disabled: !m(z).length,
3191
- onClick: t[1] ||= (e) => m(_e)?.toggleMenu(e)
3192
+ onClick: t[1] ||= (e) => m(be)?.toggleMenu(e)
3192
3193
  }, {
3193
3194
  icon: g(() => [T(h)]),
3194
3195
  _: 1
@@ -3209,7 +3210,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3209
3210
  })]),
3210
3211
  _: 1
3211
3212
  }, 8, ["disabled"])), [[
3212
- N,
3213
+ j,
3213
3214
  { value: e.$t("views.floorplan.level_down") },
3214
3215
  void 0,
3215
3216
  { bottom: !0 }
@@ -3228,7 +3229,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3228
3229
  })]),
3229
3230
  _: 1
3230
3231
  }, 8, ["disabled"])), [[
3231
- N,
3232
+ j,
3232
3233
  { value: e.$t("views.floorplan.level_up") },
3233
3234
  void 0,
3234
3235
  { bottom: !0 }
@@ -3251,7 +3252,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3251
3252
  })]),
3252
3253
  _: 1
3253
3254
  }, 8, ["disabled"])), [[
3254
- N,
3255
+ j,
3255
3256
  { value: e.$t("views.floorplan.remove_level") },
3256
3257
  void 0,
3257
3258
  { bottom: !0 }
@@ -3264,13 +3265,13 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3264
3265
  disabled: !m(z).length,
3265
3266
  onClick: kn
3266
3267
  }, {
3267
- icon: g(() => [T(E, {
3268
+ icon: g(() => [T(re, {
3268
3269
  width: "100%",
3269
3270
  height: "100%"
3270
3271
  })]),
3271
3272
  _: 1
3272
3273
  }, 8, ["disabled"])), [[
3273
- N,
3274
+ j,
3274
3275
  { value: e.$t("views.floorplan.rename_level") },
3275
3276
  void 0,
3276
3277
  { bottom: !0 }
@@ -3282,24 +3283,24 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3282
3283
  class: "cui-icon-md shrink-0",
3283
3284
  onClick: On
3284
3285
  }, {
3285
- icon: g(() => [T(re, {
3286
+ icon: g(() => [T(ie, {
3286
3287
  width: "100%",
3287
3288
  height: "100%"
3288
3289
  })]),
3289
3290
  _: 1
3290
3291
  })), [[
3291
- N,
3292
+ j,
3292
3293
  { value: e.$t("views.floorplan.add_level") },
3293
3294
  void 0,
3294
3295
  { bottom: !0 }
3295
3296
  ]])
3296
3297
  ], 64)) : d("", !0)
3297
3298
  ]),
3298
- m(rt) ? (r(), _("div", Ni, [T(ie, {
3299
+ m(rt) ? (r(), _("div", Ni, [T(ae, {
3299
3300
  class: "w-[30px] h-[30px] m-0",
3300
3301
  "stroke-width": "5"
3301
3302
  })])) : (r(), _("div", Pi, [
3302
- m(Y) && !m(S) ? (r(), u(ae, {
3303
+ m(Y) && !m(S) ? (r(), u(se, {
3303
3304
  key: 0,
3304
3305
  cameras: m(Et),
3305
3306
  sensors: m(wt),
@@ -3313,7 +3314,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3313
3314
  "rooms",
3314
3315
  "disabled"
3315
3316
  ])) : d("", !0),
3316
- T(se, {
3317
+ T(ce, {
3317
3318
  mobile: m(S),
3318
3319
  "bottom-inset": m(S) && m(G) ? Math.max(m(st) - m(K), 0) : 0,
3319
3320
  "bottom-inset-dragging": m(ct),
@@ -3425,7 +3426,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3425
3426
  "selection",
3426
3427
  "read-only"
3427
3428
  ])], 4)) : d("", !0),
3428
- m(Y) && !m(rt) ? (r(), u(de, {
3429
+ m(Y) && !m(rt) ? (r(), u(ue, {
3429
3430
  key: 3,
3430
3431
  model: m(At),
3431
3432
  direction: "up",
@@ -3472,7 +3473,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3472
3473
  }), {
3473
3474
  icon: g(() => [(r(), u(c(e.icon)))]),
3474
3475
  _: 2
3475
- }, 1040, ["onClick"])), [[N, { value: e.label }]])]),
3476
+ }, 1040, ["onClick"])), [[j, { value: e.label }]])]),
3476
3477
  _: 1
3477
3478
  }, 8, ["model", "style"])) : d("", !0),
3478
3479
  m(Y) && m(Z) ? x((r(), u(l, {
@@ -3490,9 +3491,9 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3490
3491
  }),
3491
3492
  onClick: Nn
3492
3493
  }, {
3493
- icon: g(() => [T(k, { class: "w-5 h-5" })]),
3494
+ icon: g(() => [T(fe, { class: "w-5 h-5" })]),
3494
3495
  _: 1
3495
- }, 8, ["loading", "style"])), [[N, { value: e.$t("views.floorplan.save") }]]) : d("", !0),
3496
+ }, 8, ["loading", "style"])), [[j, { value: e.$t("views.floorplan.save") }]]) : d("", !0),
3496
3497
  m(Y) && m(S) && !m(rt) ? x((r(), u(l, {
3497
3498
  key: 5,
3498
3499
  rounded: "",
@@ -3505,16 +3506,16 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3505
3506
  }),
3506
3507
  onClick: t[9] ||= (e) => nt.value = !0
3507
3508
  }, {
3508
- icon: g(() => [T(re, { class: "w-5 h-5" })]),
3509
+ icon: g(() => [T(ie, { class: "w-5 h-5" })]),
3509
3510
  _: 1
3510
- }, 8, ["style"])), [[N, { value: e.$t("views.floorplan.palette") }]]) : d("", !0),
3511
- T(fe, {
3511
+ }, 8, ["style"])), [[j, { value: e.$t("views.floorplan.palette") }]]) : d("", !0),
3512
+ T(O, {
3512
3513
  modelValue: m(nt),
3513
3514
  "onUpdate:modelValue": t[10] ||= (e) => p(nt) ? nt.value = e : null,
3514
3515
  title: e.$t("views.floorplan.palette"),
3515
3516
  "max-height": "70vh"
3516
3517
  }, {
3517
- default: g(() => [T(ae, {
3518
+ default: g(() => [T(se, {
3518
3519
  cameras: m(Et),
3519
3520
  sensors: m(wt),
3520
3521
  rooms: m(Tt),
@@ -3531,7 +3532,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3531
3532
  }, 8, ["modelValue", "title"]),
3532
3533
  b("div", {
3533
3534
  ref_key: "menuAnchorRef",
3534
- ref: L,
3535
+ ref: I,
3535
3536
  class: "fixed w-0 h-0",
3536
3537
  style: v({
3537
3538
  left: `${m(Ae).x}px`,
@@ -3556,7 +3557,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3556
3557
  top: `${m(Ie).y}px`
3557
3558
  })
3558
3559
  }, null, 4),
3559
- T(A, {
3560
+ T(pe, {
3560
3561
  ref_key: "sensorPopoverRef",
3561
3562
  ref: Le,
3562
3563
  class: "shadow-lg cui-rounded-corner",
@@ -3568,16 +3569,16 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3568
3569
  onPointerenter: on,
3569
3570
  onPointerleave: sn
3570
3571
  }, [
3571
- b("div", Ii, [b("div", Li, [(r(), u(c(m(Ee)(m($).sensorType, tn(m($).id))), { class: "w-4 h-4" }))]), b("div", Ri, [
3572
+ b("div", Ii, [b("div", Li, [(r(), u(c(m(ve)(m($).sensorType, tn(m($).id))), { class: "w-4 h-4" }))]), b("div", Ri, [
3572
3573
  b("div", zi, i(m($).name), 1),
3573
3574
  m($).owner ? (r(), _("div", Bi, i(m($).owner), 1)) : d("", !0),
3574
- b("div", Vi, i(m(ce)(m($).sensorType, tn(m($).id))), 1)
3575
+ b("div", Vi, i(m(ge)(m($).sensorType, tn(m($).id))), 1)
3575
3576
  ])]),
3576
3577
  m($).note ? (r(), _("div", Hi, i(m($).note), 1)) : d("", !0),
3577
3578
  m($).sensorType === "securitySystem" ? (r(), _("div", Ui, [(r(), _(y, null, n(J, (t) => T(l, {
3578
3579
  key: t.value,
3579
3580
  severity: "secondary",
3580
- outlined: m(me)(tn(m($).id)) !== t.value,
3581
+ outlined: m(oe)(tn(m($).id)) !== t.value,
3581
3582
  size: "small",
3582
3583
  class: "cui-button-medium",
3583
3584
  label: e.$t(t.labelKey),
@@ -3597,7 +3598,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3597
3598
  ], 32)) : d("", !0)]),
3598
3599
  _: 1
3599
3600
  }, 512),
3600
- T(A, {
3601
+ T(pe, {
3601
3602
  ref_key: "previewRef",
3602
3603
  ref: Pe,
3603
3604
  class: "shadow-lg cui-rounded-corner overflow-hidden",
@@ -3607,7 +3608,7 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3607
3608
  class: "w-[280px] flex flex-col",
3608
3609
  onPointerenter: un,
3609
3610
  onPointerleave: dn
3610
- }, [b("div", Wi, [m(X) ? (r(), u(pe, {
3611
+ }, [b("div", Wi, [m(X) ? (r(), u(me, {
3611
3612
  key: 0,
3612
3613
  "camera-info": m(X),
3613
3614
  "source-role": "low-resolution",
@@ -3625,26 +3626,26 @@ var ji = { class: "h-full w-full relative overflow-hidden flex flex-col" }, Mi =
3625
3626
  class: "cui-button p-1.5",
3626
3627
  onClick: t[12] ||= (t) => e.$router.push(`/cameras/${m(X).name}`)
3627
3628
  }, {
3628
- icon: g(() => [T(j, { class: "w-4 h-4" })]),
3629
+ icon: g(() => [T(he, { class: "w-4 h-4" })]),
3629
3630
  _: 1
3630
3631
  })), [[
3631
- N,
3632
+ j,
3632
3633
  { value: e.$t("views.floorplan.open_camera") },
3633
3634
  void 0,
3634
3635
  { top: !0 }
3635
3636
  ]])])) : d("", !0)], 32)]),
3636
3637
  _: 1
3637
3638
  }, 512),
3638
- T(M, {
3639
+ T(k, {
3639
3640
  ref_key: "stairsMenuRef",
3640
- ref: xe,
3641
+ ref: Ce,
3641
3642
  items: m(jt),
3642
3643
  "max-height": "320px",
3643
3644
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
3644
3645
  }, null, 8, ["items"]),
3645
- T(M, {
3646
+ T(k, {
3646
3647
  ref_key: "levelMenuRef",
3647
- ref: _e,
3648
+ ref: be,
3648
3649
  items: m(kt),
3649
3650
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
3650
3651
  }, null, 8, ["items"])