@camera.ui/server 2.1.15 → 2.1.17

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 (417) hide show
  1. package/dist/interface/assets/{404-DwgMdXqW.js → 404-Cg1J2LX8.js} +1 -1
  2. package/dist/interface/assets/{About-REFUgZk_.js → About-CW7G6onF.js} +1 -1
  3. package/dist/interface/assets/Automation-CIwBJK1Y.js +3 -0
  4. package/dist/interface/assets/AutomationImport-CHkNv7C-.js +2 -0
  5. package/dist/interface/assets/AutomationStore-5bTym-Gl.js +2 -0
  6. package/dist/interface/assets/AutomationStoreDetail-BF8UoG_l.js +2 -0
  7. package/dist/interface/assets/Automations-CaX2fHhJ.js +2 -0
  8. package/dist/interface/assets/Camera-1zdmJnP-.js +2 -0
  9. package/dist/interface/assets/Camera-DSyI4J5-.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-S61HjIGA.js → CameraConsole-CB1HEFKJ.js} +2 -2
  11. package/dist/interface/assets/{Cameras-57rPP3Y_.js → Cameras-CyCY0rW9.js} +2 -2
  12. package/dist/interface/assets/Camview-CZct5cnP.css +1 -0
  13. package/dist/interface/assets/Camview-Dia7G1u_.js +1 -0
  14. package/dist/interface/assets/{CertificateUpload-CBSLHn_I.js → CertificateUpload-jP-JIxmY.js} +1 -1
  15. package/dist/interface/assets/Config-DOa7WHyQ.js +2 -0
  16. package/dist/interface/assets/{ConfigActionCameraControl-B7KwK7vb.js → ConfigActionCameraControl-BmCE3XLC.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-DwTGfeP4.js → ConfigActionDelay-CfHCZ0uf.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-idm-FKXM.js → ConfigActionHttp-DdM7gEb0.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-C-v-_UEM.js → ConfigActionImageInput-CrPPNT4K.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-CG1o9_6A.js → ConfigActionMqtt-D7-u4zri.js} +1 -1
  21. package/dist/interface/assets/ConfigActionNotification-BSuUI2FP.js +1 -0
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BvHIqHE7.js → ConfigActionNotificationControl-DfvAxKnx.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-BQvDZGKV.js → ConfigActionOutput-DPplSpm_.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C7mcZ0Kz.js → ConfigActionPlugin-BnRn_p26.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-BFnb75FI.js → ConfigActionSensor-CoEoqFAY.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BfzPScY6.js → ConfigActionSnapshot-wXdFiyU-.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-CjIeZnOV.js → ConfigActionVariable-BqJvOOHH.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-Dgcqs9QP.js → ConfigConditionIfElse-DG2Kgqn5.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-DtLt1AvW.js → ConfigConditionSensorState-BytECo6r.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-C6BfIozf.js → ConfigConditionSwitch-DaSt9uZE.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-NcjSe4RM.js → ConfigConditionTime-D42OsshU.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-DuvBl4YL.js → ConfigSensorValueInput-BtEmtZSm.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-DsVb-Svo.js → ConfigTriggerDetection-CDH2fzsu.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Dopegic5.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-vG37zALd.js → ConfigTriggerManual-DAtWfH0-.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BPl_Puje.js → ConfigTriggerMqtt-CB3_PxqD.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-Bn2drGV5.js → ConfigTriggerSchedule-BUzOrF23.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-DP0CXRLo.js → ConfigTriggerSensor-D5kRIb7I.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DQikAjbB.js → ConfigTriggerSystem-Cud77VMR.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-Cl7KWuRQ.js → ConfigTriggerWebhook-CeG5R3kV.js} +1 -1
  41. package/dist/interface/assets/Console-DdOD6Pd5.js +1 -0
  42. package/dist/interface/assets/{CuiAutomationRunsDialog-D_rNvqan.js → CuiAutomationRunsDialog-Cym6xMVJ.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-B3QSHp4-.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-BSoMhymR.js +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-_KXSb13N.css +1 -0
  46. package/dist/interface/assets/CuiCameraPipCard-DGgrxZJd.js +1 -0
  47. package/dist/interface/assets/{CuiCameraRecordings-h6Yel4J4.js → CuiCameraRecordings-Bu68AFdM.js} +1 -1
  48. package/dist/interface/assets/CuiCameraShares-BOhfTcxQ.js +1 -0
  49. package/dist/interface/assets/CuiCameraTable-C1CHYnda.js +1 -0
  50. package/dist/interface/assets/{CuiCameraTable-CfXoLbtY.js → CuiCameraTable-D0lc0VAJ.js} +2 -2
  51. package/dist/interface/assets/{CuiChartTable-BWRwoTLX.js → CuiChartTable-DcrFI8tT.js} +1 -1
  52. package/dist/interface/assets/{CuiConsole-Cb3wDLZr.js → CuiConsole-ICLBq4Q-.js} +2 -2
  53. package/dist/interface/assets/{CuiDataTable-aAZV_F3r.js → CuiDataTable-BooFPsGH.js} +1 -1
  54. package/dist/interface/assets/CuiLightControl-D1ih2hO-.js +1 -0
  55. package/dist/interface/assets/{CuiList-BZYxCLqz.js → CuiList-ChI82KjI.js} +1 -1
  56. package/dist/interface/assets/CuiPluginCard-DqdSWrwb.js +2 -0
  57. package/dist/interface/assets/{CuiPluginCategoryChip-C9trJ_ql.js → CuiPluginCategoryChip-DsRcMb72.js} +1 -1
  58. package/dist/interface/assets/CuiPluginOAuthButton-BSvRKUSY.js +2 -0
  59. package/dist/interface/assets/{CuiPluginTrustBadge-D5gkIhJv.js → CuiPluginTrustBadge-DXL7N1LC.js} +1 -1
  60. package/dist/interface/assets/{CuiQRCode-DY5Q-Xel.js → CuiQRCode-DHln6Lo9.js} +1 -1
  61. package/dist/interface/assets/CuiSchema-B7i2O3Fy.js +1 -0
  62. package/dist/interface/assets/{CuiTopNavbarItem-CJqOqVMt.css → CuiTopNavbarItem-7673AFGS.css} +1 -1
  63. package/dist/interface/assets/CuiTopNavbarItem-TMfTyt8u.js +1 -0
  64. package/dist/interface/assets/Faces-CyTkMqMW.js +1 -0
  65. package/dist/interface/assets/FirstSteps-B4gb7Sgn.js +1 -0
  66. package/dist/interface/assets/{Floorplan-Bxhdg4C2.css → Floorplan-B1lItPnM.css} +1 -1
  67. package/dist/interface/assets/Floorplan-DBwWnuys.js +1 -0
  68. package/dist/interface/assets/Instances-D9fnwItz.js +1 -0
  69. package/dist/interface/assets/{Logs-CfYTWOv2.js → Logs-Brk6fJa0.js} +2 -2
  70. package/dist/interface/assets/{Menu-HzmLhy40.js → Menu-CrdBz1Er.js} +1 -1
  71. package/dist/interface/assets/Metrics-DXMgfNIL.js +9 -0
  72. package/dist/interface/assets/{OAuthDeviceFlow-DBac627V.js → OAuthDeviceFlow-D5hSwHeO.js} +1 -1
  73. package/dist/interface/assets/Plugin-C65oNZ9N.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-C5dZgdl9.js → PluginConsole-Bs3Z5u9-.js} +2 -2
  75. package/dist/interface/assets/PluginDetail-C3KUrHvq.js +2 -0
  76. package/dist/interface/assets/{PluginSchema-DJ8NY8hW.js → PluginSchema-D22zRDkZ.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-4ngDmZQ2.js +1 -0
  78. package/dist/interface/assets/PluginSearch-D7XYJzl4.js +2 -0
  79. package/dist/interface/assets/{PluginUpdateProgress-DgqaTwSS.js → PluginUpdateProgress-MEdR7mID.js} +1 -1
  80. package/dist/interface/assets/Plugins-DQTlb12n.js +1 -0
  81. package/dist/interface/assets/Recordings-CfSTX_Mw.css +1 -0
  82. package/dist/interface/assets/Recordings-CqBwRvn-.js +1 -0
  83. package/dist/interface/assets/SensorEdit-BM2zHAM7.js +1 -0
  84. package/dist/interface/assets/{SensorHistory-bCcPH0_I.js → SensorHistory-Dbv2ODqn.js} +1 -1
  85. package/dist/interface/assets/Sensors-B4YzyU7R.js +2 -0
  86. package/dist/interface/assets/{Sensors-CaKl4PQY.css → Sensors-DETviyjO.css} +1 -1
  87. package/dist/interface/assets/Settings--wgPYOyK.js +1 -0
  88. package/dist/interface/assets/{Settings-jQIhZFRY.css → Settings-D7495zbV.css} +1 -1
  89. package/dist/interface/assets/SettingsAccount-BF6Cp8Rt.js +1 -0
  90. package/dist/interface/assets/SettingsAccount-D7CHP0f1.js +1 -0
  91. package/dist/interface/assets/SettingsAppearance-Ba0jbbVW.js +1 -0
  92. package/dist/interface/assets/SettingsAppearance-BpXZwBjO.js +1 -0
  93. package/dist/interface/assets/SettingsBackup-qEYm-6De.js +1 -0
  94. package/dist/interface/assets/{SettingsList-Nc7OCZrn.js → SettingsList-1brGZ2E_.js} +1 -1
  95. package/dist/interface/assets/SettingsMqtt-Ds8YpoLA.js +1 -0
  96. package/dist/interface/assets/SettingsNotifications-Diqpfbrh.js +1 -0
  97. package/dist/interface/assets/{SettingsPermissions-BZXAgxUl.js → SettingsPermissions-GmGacrLc.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-Biyy3rTF.js → SettingsRecordings-CtEm_7PE.js} +1 -1
  99. package/dist/interface/assets/SettingsRemote-CENHI51U.js +2 -0
  100. package/dist/interface/assets/SettingsSystem-YkigO2-V.js +2 -0
  101. package/dist/interface/assets/SettingsUsers-BNPa87gu.js +1 -0
  102. package/dist/interface/assets/{Terminal-AsI0lb5n.js → Terminal-uxOHZpUp.js} +3 -3
  103. package/dist/interface/assets/Training-BRZKDa8S.js +1 -0
  104. package/dist/interface/assets/Training-DMNjB3uX.css +1 -0
  105. package/dist/interface/assets/Updates-CbscgL60.js +2 -0
  106. package/dist/interface/assets/{VariableInput-__I-FsBF.js → VariableInput-Dqg4sqBD.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-B-7auf15.js → VariableSuggestions-DZCkPAVs.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-BTe1Ev3b.js → VersionsHandler-BYFshrhO.js} +2 -2
  109. package/dist/interface/assets/{VirtualSensorCreate-DdLgJECI.js → VirtualSensorCreate-CQ-C4si3.js} +1 -1
  110. package/dist/interface/assets/Workers-DC77SjZQ.js +2 -0
  111. package/dist/interface/assets/api-Cb8_C_se.js +4 -0
  112. package/dist/interface/assets/{api-84bL4zpk.js → api-CbYNh0N1.js} +1 -1
  113. package/dist/interface/assets/api-DIyogyx5.css +2 -0
  114. package/dist/interface/assets/{auth-F2wU_mtw.js → auth-Bev1OdHw.js} +1 -1
  115. package/dist/interface/assets/{automations-D6fqhxhY.js → automations-DrpESBB_.js} +1 -1
  116. package/dist/interface/assets/cameraSources-QF2xqMxX.js +1 -0
  117. package/dist/interface/assets/cloudHandoff-BknPGUc0.js +1 -0
  118. package/dist/interface/assets/{config-Jzs6YXbB.js → config-DCK7k2P4.js} +1 -1
  119. package/dist/interface/assets/{flowSchema-C1fWwuQa.js → flowSchema-D3Ddm5sW.js} +1 -1
  120. package/dist/interface/assets/{intercomService-fFto_C1t.js → intercomService-DIwpkwG4.js} +1 -1
  121. package/dist/interface/assets/main-Cb5Z8N7b.css +1 -0
  122. package/dist/interface/assets/main-DVwdxi04.js +3 -0
  123. package/dist/interface/assets/mqtt-COWs_r7k.js +1 -0
  124. package/dist/interface/assets/{notifications-CIJEGR7A.js → notifications-sIv1-H85.js} +1 -1
  125. package/dist/interface/assets/{plugins-HYHSAzD-.js → plugins-CXQj6XQt.js} +1 -1
  126. package/dist/interface/assets/rooms-DScX89Ks.js +1 -0
  127. package/dist/interface/assets/{sensorIcons-ByPd6LR6.js → sensorIcons-CvVtOgZB.js} +1 -1
  128. package/dist/interface/assets/sensorSlots-DsfKs8_k.js +1 -0
  129. package/dist/interface/assets/{sensors-BgjfSfk6.js → sensors-Bf_gYmB5.js} +1 -1
  130. package/dist/interface/assets/{server-CIDx_I6S.js → server-CahE6_Pv.js} +1 -1
  131. package/dist/interface/assets/{theme-GSy1mQOB.js → theme-DmUc7UHl.js} +1 -1
  132. package/dist/interface/assets/{types-Do9v0d7I.js → types-D4kUDpid.js} +1 -1
  133. package/dist/interface/assets/{types-Dlk_iSoE.js → types-Dse8_nTX.js} +1 -1
  134. package/dist/interface/assets/types-hwOSxlNg.js +1 -0
  135. package/dist/interface/assets/ungrouped-Byxe4LNR.js +1 -0
  136. package/dist/interface/assets/ungrouped-n3OnGhCH.css +1 -0
  137. package/dist/interface/assets/{updates-73Yq11IN.js → updates-C4gAnNY6.js} +1 -1
  138. package/dist/interface/assets/{useAppVersion-B0_bYa9V.js → useAppVersion--b5Zj7tl.js} +1 -1
  139. package/dist/interface/assets/useBackupRestore-Bx13MgrJ.js +1 -0
  140. package/dist/interface/assets/{useCameraOptions-DKeZhfOM.js → useCameraOptions-DN4gJjIl.js} +1 -1
  141. package/dist/interface/assets/{useLogsSocket-CmyTTUGN.js → useLogsSocket-DqVa6Hky.js} +1 -1
  142. package/dist/interface/assets/{useNavLayout-DOFS3269.js → useNavLayout-CuQ9F9cj.js} +1 -1
  143. package/dist/interface/assets/{usePermissions-D5I3gACT.js → usePermissions-C1L7m3Nc.js} +1 -1
  144. package/dist/interface/assets/{usePluginUpdates-BWxJ04h7.js → usePluginUpdates-CvQPy02x.js} +1 -1
  145. package/dist/interface/assets/{usePushRegistration-DWreQ-Hn.js → usePushRegistration-BKvefMFq.js} +1 -1
  146. package/dist/interface/assets/{useServerRestart-DDW-nw_t.js → useServerRestart-ByN6484v.js} +1 -1
  147. package/dist/interface/assets/{useStreamStatus-COIha2d8.js → useStreamStatus-BbtTnidZ.js} +1 -1
  148. package/dist/interface/assets/{useTabSwipe-aoMqro29.js → useTabSwipe-D9udGzPx.js} +1 -1
  149. package/dist/interface/assets/{useUpdateChannel-CM9MYCZy.js → useUpdateChannel-8t3W9dNr.js} +1 -1
  150. package/dist/interface/assets/{useUpdatesSocket-DY4i32ml.js → useUpdatesSocket-D9s_5T3l.js} +1 -1
  151. package/dist/interface/assets/{useUserOptions-DHfprGgA.js → useUserOptions-CEPYkuSm.js} +1 -1
  152. package/dist/interface/assets/{vendor-cameraui-BRv7o4zz.js → vendor-cameraui-Dlzn4pyz.js} +26 -26
  153. package/dist/interface/assets/vendor-core-COMSlypG.js +1 -0
  154. package/dist/interface/assets/{vendor-primevue-C85v-zl5.js → vendor-primevue-DF71EsUM.js} +55 -55
  155. package/dist/interface/ha/{404-TwTUCqDv.js → 404-Bm-oxxip.js} +1 -1
  156. package/dist/interface/ha/{About-BeZkyUdW.js → About-CDcN0Q2J.js} +6 -6
  157. package/dist/interface/ha/{Automation-CL7j0Vgh.js → Automation-BQd4b0ym.js} +149 -149
  158. package/dist/interface/ha/{AutomationImport-D7arOHP-.js → AutomationImport-CX1C76Wb.js} +6 -6
  159. package/dist/interface/ha/{AutomationStore-DN0yBk6X.js → AutomationStore-D4B0KpoW.js} +27 -27
  160. package/dist/interface/ha/{AutomationStoreDetail-DUuLEnvx.js → AutomationStoreDetail-B53Giz4B.js} +24 -24
  161. package/dist/interface/ha/{Automations-Dfbren5V.js → Automations-BXlwOElS.js} +94 -94
  162. package/dist/interface/ha/{Camera-BxWpvZM8.js → Camera-CauwMneE.js} +182 -180
  163. package/dist/interface/ha/{CameraConsole-DT7BFGXD.js → CameraConsole-CmsMjuIR.js} +5 -5
  164. package/dist/interface/ha/{Cameras-ClmwBeNf.js → Cameras-CyHDmgs0.js} +117 -117
  165. package/dist/interface/ha/{Camview-CFAKNI6-.js → Camview-BwwvU5k8.js} +112 -112
  166. package/dist/interface/ha/{Config-D83QNz1P.js → Config-C_Zuyeoc.js} +9 -9
  167. package/dist/interface/ha/{ConfigActionCameraControl-D-2_gkM-.js → ConfigActionCameraControl-C1_QyuX8.js} +3 -3
  168. package/dist/interface/ha/{ConfigActionHttp-CDmzaJOb.js → ConfigActionHttp-C0d433mh.js} +2 -2
  169. package/dist/interface/ha/{ConfigActionImageInput-7mA-jNIj.js → ConfigActionImageInput-BYys2FwC.js} +1 -1
  170. package/dist/interface/ha/{ConfigActionMqtt-CGLqAswk.js → ConfigActionMqtt-DznDfzze.js} +4 -4
  171. package/dist/interface/ha/{ConfigActionNotification-DyhLsVfe.js → ConfigActionNotification-CC2qfBLm.js} +3 -3
  172. package/dist/interface/ha/{ConfigActionNotificationControl-C381uizv.js → ConfigActionNotificationControl-3jlm7_A4.js} +2 -2
  173. package/dist/interface/ha/{ConfigActionOutput-Cg6IMq5u.js → ConfigActionOutput-BEf1U3_l.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionPlugin-vFD_OHt8.js → ConfigActionPlugin-C57BUrJD.js} +5 -5
  175. package/dist/interface/ha/{ConfigActionSensor-B0JYbb-_.js → ConfigActionSensor-BkoSPCUJ.js} +5 -5
  176. package/dist/interface/ha/{ConfigActionSnapshot-DlYRwdII.js → ConfigActionSnapshot-CC3EpmCq.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionVariable-6HNVpSjs.js → ConfigActionVariable-JDyDhSzZ.js} +1 -1
  178. package/dist/interface/ha/{ConfigConditionIfElse-b5UhYSf4.js → ConfigConditionIfElse-BVg-TUpv.js} +3 -3
  179. package/dist/interface/ha/{ConfigConditionSensorState-CI1CS9qa.js → ConfigConditionSensorState-YYeWly1H.js} +4 -4
  180. package/dist/interface/ha/{ConfigConditionSwitch-DGoKb_ZM.js → ConfigConditionSwitch-DQHXX-4U.js} +5 -5
  181. package/dist/interface/ha/{ConfigSensorValueInput-BGQytgns.js → ConfigSensorValueInput-BuuzQ1nJ.js} +8 -8
  182. package/dist/interface/ha/{ConfigTriggerDetection-l_h4kt0X.js → ConfigTriggerDetection-CUvkAmpJ.js} +3 -3
  183. package/dist/interface/ha/{ConfigTriggerGeofence-Y2Od0L2_.js → ConfigTriggerGeofence-CCHELnfy.js} +7 -7
  184. package/dist/interface/ha/{ConfigTriggerMqtt-DttCVDHe.js → ConfigTriggerMqtt-BfLnCiWZ.js} +1 -1
  185. package/dist/interface/ha/{ConfigTriggerSensor-O4mWaXnJ.js → ConfigTriggerSensor-Bi-Jld2G.js} +1 -1
  186. package/dist/interface/ha/{ConfigTriggerSystem-C_uWI6kc.js → ConfigTriggerSystem-_HXrWjaJ.js} +2 -2
  187. package/dist/interface/ha/{ConfigTriggerWebhook-CY5vDxZe.js → ConfigTriggerWebhook-CFYsVF_r.js} +2 -2
  188. package/dist/interface/ha/{Console-DdOU0_jE.js → Console-CR95JZFd.js} +101 -101
  189. package/dist/interface/ha/{CuiAutomationRunsDialog-_WF5J4hV.js → CuiAutomationRunsDialog--mpkPFmw.js} +2 -2
  190. package/dist/interface/ha/{CuiBottomSheet-Bzr2zhm3.js → CuiBottomSheet-DfFzwDjq.js} +3 -3
  191. package/dist/interface/ha/{CuiCameraRecordings-HqWrHpr-.js → CuiCameraRecordings-DCIFFbFk.js} +13 -13
  192. package/dist/interface/ha/{CuiCameraShares-Bw1RlqC-.js → CuiCameraShares-Dwv_XtX4.js} +7 -7
  193. package/dist/interface/ha/{CuiCameraTable-DvIlmfmW.js → CuiCameraTable-L6wd-VYz.js} +9 -9
  194. package/dist/interface/ha/{CuiChartTable-C6vRR9ny.js → CuiChartTable-CxJR8u6U.js} +16 -16
  195. package/dist/interface/ha/{CuiConsole-B6fDJfvq.js → CuiConsole-CvL9TXZY.js} +7 -7
  196. package/dist/interface/ha/{CuiDataTable-BLL7vWD1.js → CuiDataTable-Bn80WJXi.js} +7 -7
  197. package/dist/interface/ha/{CuiPluginCard-CsJ-dlra.js → CuiPluginCard-CtOzPAal.js} +32 -32
  198. package/dist/interface/ha/CuiPluginOAuthButton-1LgNMLII.js +79 -0
  199. package/dist/interface/ha/{CuiPluginTrustBadge-CQtfi3UI.js → CuiPluginTrustBadge-mHuy3ab9.js} +3 -3
  200. package/dist/interface/ha/{CuiQRCode-DOj5PJo2.js → CuiQRCode-CloepWte.js} +6 -6
  201. package/dist/interface/ha/{CuiSchema-Dg43r2Vo.js → CuiSchema-CJsEWewj.js} +132 -132
  202. package/dist/interface/ha/{CuiTopNavbarItem-CMu_hCIP.js → CuiTopNavbarItem-B2EM-tmz.js} +3 -3
  203. package/dist/interface/ha/{Faces-Ed0ytbse.js → Faces-BMkZfxDm.js} +66 -66
  204. package/dist/interface/ha/{FirstSteps-Dkw2Enre.js → FirstSteps-BH0mga3u.js} +67 -67
  205. package/dist/interface/ha/{Floorplan-IdC1tgDr.js → Floorplan-CyfIUI4Z.js} +220 -220
  206. package/dist/interface/ha/{Instances-dvDlInn-.js → Instances-BwNXc91J.js} +18 -18
  207. package/dist/interface/ha/{Logs-rUL_mLTJ.js → Logs-CcSiN16r.js} +11 -11
  208. package/dist/interface/ha/{Menu-CfMgYCN9.js → Menu-qdN0OBb7.js} +15 -15
  209. package/dist/interface/ha/{Metrics-DYNvEdb-.js → Metrics-ClM5lhvC.js} +93 -93
  210. package/dist/interface/ha/{OAuthDeviceFlow-vgBWOkzP.js → OAuthDeviceFlow-BBr-rER_.js} +5 -5
  211. package/dist/interface/ha/{Plugin-PqUW_696.js → Plugin-BBkSXygO.js} +104 -104
  212. package/dist/interface/ha/{PluginConsole-CFJKNhQw.js → PluginConsole-DqrBnXSX.js} +4 -4
  213. package/dist/interface/ha/{PluginDetail-cC8nut35.js → PluginDetail-Clu6nv-B.js} +12 -12
  214. package/dist/interface/ha/{PluginSearch-BzSs0ibh.js → PluginSearch-Dn-24FLX.js} +53 -53
  215. package/dist/interface/ha/{PluginUpdateProgress-CtM7lrl9.js → PluginUpdateProgress-CzhHUKDg.js} +3 -3
  216. package/dist/interface/ha/{Plugins-CzvlXEaH.js → Plugins-qYJD5ioU.js} +27 -27
  217. package/dist/interface/ha/{Recordings-BtsW8I5D.js → Recordings-CBIt3vL7.js} +384 -366
  218. package/dist/interface/ha/{SensorEdit-DMwyTDIG.js → SensorEdit-BbG6apZA.js} +353 -353
  219. package/dist/interface/ha/{SensorHistory-DoJhFbTC.js → SensorHistory-CqGsnQPW.js} +2 -2
  220. package/dist/interface/ha/{Sensors-BoRfutfx.js → Sensors-mKWkCDF8.js} +507 -481
  221. package/dist/interface/ha/{Settings-vmfs1rfj.js → Settings-C5J4ubiA.js} +24 -24
  222. package/dist/interface/ha/SettingsAccount-tCyZsBxG.js +970 -0
  223. package/dist/interface/ha/{SettingsAppearance-v9zeetcx.js → SettingsAppearance-DqJp4Clt.js} +14 -14
  224. package/dist/interface/ha/{SettingsBackup-eO4r8MZe.js → SettingsBackup-CHnCKYgz.js} +6 -6
  225. package/dist/interface/ha/{SettingsList-burOi4S6.js → SettingsList-DsQOPeKW.js} +5 -5
  226. package/dist/interface/ha/{SettingsMqtt-CjZERKR8.js → SettingsMqtt-TPIsEcXe.js} +124 -124
  227. package/dist/interface/ha/SettingsNotifications-DH3T_xyh.js +529 -0
  228. package/dist/interface/ha/{SettingsRecordings-DzsXkzeu.js → SettingsRecordings-Ay8lj8Lm.js} +7 -7
  229. package/dist/interface/ha/{SettingsRemote-B0HZwZj3.js → SettingsRemote-CHiBADuu.js} +202 -202
  230. package/dist/interface/ha/{SettingsSystem-Bc_c8XYh.js → SettingsSystem-tqs40pUW.js} +10 -10
  231. package/dist/interface/ha/{SettingsUsers-CxL65q1C.js → SettingsUsers-BUbC_Qc7.js} +29 -29
  232. package/dist/interface/ha/{Terminal-DsX-_5R2.js → Terminal-f_b-089t.js} +76 -76
  233. package/dist/interface/ha/Training-Dcxo9PFi.js +1479 -0
  234. package/dist/interface/ha/{Updates-DG9i-tQu.js → Updates-aGl5hy8Q.js} +14 -14
  235. package/dist/interface/ha/{VariableInput-CcevSEwK.js → VariableInput-yJGbaZEo.js} +1 -1
  236. package/dist/interface/ha/{VersionsHandler-5GeFt6Lw.js → VersionsHandler-Q4PfRpbs.js} +10 -10
  237. package/dist/interface/ha/{VirtualSensorCreate-dWN8FANX.js → VirtualSensorCreate-Gbi6aJBh.js} +8 -8
  238. package/dist/interface/ha/{Workers-D1y6eFKT.js → Workers-BbBqOc0H.js} +167 -167
  239. package/dist/interface/ha/{api-DDUXI4DG.js → api-DBu4gh4_.js} +9705 -9275
  240. package/dist/interface/ha/{api-BgQ9AVgK.js → api-DY0z6Sp_.js} +3 -3
  241. package/dist/interface/ha/{auth-C8Vp1TkJ.js → auth-C2V-kpRp.js} +38 -38
  242. package/dist/interface/ha/{automationBlueprint-DhRjWL2p.js → automationBlueprint-MGUZJTFY.js} +4 -4
  243. package/dist/interface/ha/cameraui-cards.js +1 -1
  244. package/dist/interface/ha/{cards-BGikU5nh.js → cards-BA6g_9R5.js} +573 -573
  245. package/dist/interface/ha/cloud-check-BFJzoUtz.js +33 -0
  246. package/dist/interface/ha/{config-WqhFqx8D.js → config-BGlhgEOa.js} +16 -16
  247. package/dist/interface/ha/{dist-BQFunPaA.js → dist-BqTZri2H.js} +743 -725
  248. package/dist/interface/ha/{mqtt-CQopAljB.js → mqtt-BLKZNA-E.js} +12 -12
  249. package/dist/interface/ha/{notifications-C4IU7Zbu.js → notifications-BW0RNMnG.js} +22 -22
  250. package/dist/interface/ha/{pinia-3D39Do4a.js → pinia-DINxhtY-.js} +188 -162
  251. package/dist/interface/ha/{plugins-C2n0mAnr.js → plugins-Cj-B4Nwy.js} +62 -62
  252. package/dist/interface/ha/{rooms-qqdOrA2J.js → rooms-C32i51p-.js} +7 -7
  253. package/dist/interface/ha/{server-D6Yglz-z.js → server-CfbE_0Z9.js} +31 -31
  254. package/dist/interface/ha/{types-BtcJ7st-.js → types-Ry6RjBNa.js} +32 -32
  255. package/dist/interface/ha/{ungrouped-aASsOUNF.js → ungrouped-CO29-tSV.js} +415 -211
  256. package/dist/interface/ha/{updates-BuAFU-ZQ.js → updates-CZPI8XJ1.js} +38 -38
  257. package/dist/interface/ha/{useAppVersion-D0EOwpoO.js → useAppVersion-9jfqRo_z.js} +1 -1
  258. package/dist/interface/ha/{useLogsSocket-CCewWMZM.js → useLogsSocket-B0E7a3ys.js} +1 -1
  259. package/dist/interface/ha/{useNavLayout-B_QzdVtJ.js → useNavLayout-B2wfeha-.js} +19 -19
  260. package/dist/interface/ha/{useServerRestart-B0OMNlwZ.js → useServerRestart-CCH-yMWR.js} +1 -1
  261. package/dist/interface/ha/{useTabSwipe-DG6Gx2Md.js → useTabSwipe-D2uqGEvR.js} +1 -1
  262. package/dist/interface/ha/{useUpdateChannel-CXDGlWX2.js → useUpdateChannel--SP3Wjym.js} +2 -2
  263. package/dist/interface/ha/{useUpdatesSocket-BgCJLp_W.js → useUpdatesSocket-BBbUCMU-.js} +1 -1
  264. package/dist/interface/ha/{useUserOptions-rirRksyl.js → useUserOptions-Bh54UAkH.js} +1 -1
  265. package/dist/interface/index.html +28 -27
  266. package/dist/interface/sw.js +1 -1
  267. package/dist/server/package.json +8 -8
  268. package/dist/server/src/api/controllers/training.controller.d.ts +40 -0
  269. package/dist/server/src/api/controllers/training.controller.js +97 -0
  270. package/dist/server/src/api/controllers/training.controller.js.map +1 -0
  271. package/dist/server/src/api/database/constants.d.ts +1 -0
  272. package/dist/server/src/api/database/constants.js +1 -0
  273. package/dist/server/src/api/database/constants.js.map +1 -1
  274. package/dist/server/src/api/database/index.d.ts +3 -2
  275. package/dist/server/src/api/database/index.js +4 -2
  276. package/dist/server/src/api/database/index.js.map +1 -1
  277. package/dist/server/src/api/database/migrations/v2-1-19.d.ts +3 -0
  278. package/dist/server/src/api/database/migrations/v2-1-19.js +24 -0
  279. package/dist/server/src/api/database/migrations/v2-1-19.js.map +1 -0
  280. package/dist/server/src/api/database/record-schemas.d.ts +7 -1
  281. package/dist/server/src/api/database/record-schemas.js +8 -0
  282. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  283. package/dist/server/src/api/database/types.d.ts +27 -0
  284. package/dist/server/src/api/index.js +1 -1
  285. package/dist/server/src/api/index.js.map +1 -1
  286. package/dist/server/src/api/render-index.js +1 -1
  287. package/dist/server/src/api/render-index.js.map +1 -1
  288. package/dist/server/src/api/routes/index.js +2 -0
  289. package/dist/server/src/api/routes/index.js.map +1 -1
  290. package/dist/server/src/api/routes/training.routes.d.ts +2 -0
  291. package/dist/server/src/api/routes/training.routes.js +107 -0
  292. package/dist/server/src/api/routes/training.routes.js.map +1 -0
  293. package/dist/server/src/api/schemas/cameras.schema.d.ts +76 -76
  294. package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
  295. package/dist/server/src/api/schemas/training.schema.d.ts +46 -0
  296. package/dist/server/src/api/schemas/training.schema.js +45 -0
  297. package/dist/server/src/api/schemas/training.schema.js.map +1 -0
  298. package/dist/server/src/api/services/cameras.service.js +7 -2
  299. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  300. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  301. package/dist/server/src/api/services/sensors.service.js +1 -0
  302. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  303. package/dist/server/src/api/types/index.d.ts +2 -1
  304. package/dist/server/src/api/websocket/index.js +3 -1
  305. package/dist/server/src/api/websocket/index.js.map +1 -1
  306. package/dist/server/src/api/websocket/nsp/training.d.ts +11 -0
  307. package/dist/server/src/api/websocket/nsp/training.js +29 -0
  308. package/dist/server/src/api/websocket/nsp/training.js.map +1 -0
  309. package/dist/server/src/api/websocket/types.d.ts +1 -1
  310. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  311. package/dist/server/src/camera/decoder/detection-coordinator.js +48 -2
  312. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  313. package/dist/server/src/camera/decoder/detection-window.d.ts +5 -0
  314. package/dist/server/src/camera/decoder/detection-window.js +5 -5
  315. package/dist/server/src/camera/decoder/detection-window.js.map +1 -1
  316. package/dist/server/src/camera/decoder/event-manager.d.ts +10 -0
  317. package/dist/server/src/camera/decoder/event-manager.js +50 -1
  318. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  319. package/dist/server/src/camera/decoder/training-sink.d.ts +37 -0
  320. package/dist/server/src/camera/decoder/training-sink.js +146 -0
  321. package/dist/server/src/camera/decoder/training-sink.js.map +1 -0
  322. package/dist/server/src/camera/decoder/types.d.ts +4 -0
  323. package/dist/server/src/camera/decoder/types.js +8 -0
  324. package/dist/server/src/camera/decoder/types.js.map +1 -1
  325. package/dist/server/src/manager/coreManager.d.ts +3 -1
  326. package/dist/server/src/manager/coreManager.js +18 -0
  327. package/dist/server/src/manager/coreManager.js.map +1 -1
  328. package/dist/server/src/manager/trainingCandidateManager.d.ts +41 -0
  329. package/dist/server/src/manager/trainingCandidateManager.js +249 -0
  330. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -0
  331. package/dist/server/src/manager/types.d.ts +23 -0
  332. package/dist/server/src/manager/types.js.map +1 -1
  333. package/dist/server/src/remote/api/index.d.ts +2 -0
  334. package/dist/server/src/remote/api/index.js +3 -0
  335. package/dist/server/src/remote/api/index.js.map +1 -1
  336. package/dist/server/src/remote/api/routes/oauth.js +1 -1
  337. package/dist/server/src/remote/api/routes/oauth.js.map +1 -1
  338. package/dist/server/src/remote/api/routes/train.d.ts +24 -0
  339. package/dist/server/src/remote/api/routes/train.js +51 -0
  340. package/dist/server/src/remote/api/routes/train.js.map +1 -0
  341. package/dist/server/src/rpc/index.d.ts +2 -0
  342. package/dist/server/src/rpc/index.js +5 -0
  343. package/dist/server/src/rpc/index.js.map +1 -1
  344. package/dist/server/src/rpc/interfaces/core.d.ts +21 -0
  345. package/dist/server/src/rpc/server.js +2 -0
  346. package/dist/server/src/rpc/server.js.map +1 -1
  347. package/dist/server/src/sensors/registry.d.ts +1 -0
  348. package/dist/server/src/sensors/registry.js +10 -0
  349. package/dist/server/src/sensors/registry.js.map +1 -1
  350. package/package.json +8 -8
  351. package/dist/interface/assets/Automation-DThD-djr.js +0 -3
  352. package/dist/interface/assets/AutomationImport-CHKkZqA4.js +0 -2
  353. package/dist/interface/assets/AutomationStore-Aon4kqZU.js +0 -2
  354. package/dist/interface/assets/AutomationStoreDetail-CfZ45tLW.js +0 -2
  355. package/dist/interface/assets/Automations-BkRuMd-d.js +0 -2
  356. package/dist/interface/assets/Camera-BWdUUW_H.css +0 -1
  357. package/dist/interface/assets/Camera-G6xTnRAk.js +0 -2
  358. package/dist/interface/assets/Camview-BZS4_jv1.css +0 -1
  359. package/dist/interface/assets/Camview-BjCuw7nI.js +0 -1
  360. package/dist/interface/assets/Config-BTXb1LHN.js +0 -2
  361. package/dist/interface/assets/ConfigActionNotification-DtoP3c7I.js +0 -1
  362. package/dist/interface/assets/ConfigTriggerGeofence-DLuNWaN6.js +0 -1
  363. package/dist/interface/assets/Console-hUeddOJc.js +0 -1
  364. package/dist/interface/assets/CuiBottomSheet-BGVpKjqe.js +0 -1
  365. package/dist/interface/assets/CuiBottomSheet-DOW6gNj0.js +0 -1
  366. package/dist/interface/assets/CuiBottomSheet-DsjZEdig.css +0 -1
  367. package/dist/interface/assets/CuiCameraPipCard-BBMkU-eN.js +0 -1
  368. package/dist/interface/assets/CuiCameraShares-C9Th3jEn.js +0 -1
  369. package/dist/interface/assets/CuiCameraTable-Cti7FZma.js +0 -1
  370. package/dist/interface/assets/CuiLightControl-BhBIiPv-.js +0 -1
  371. package/dist/interface/assets/CuiPluginCard-yYGvVtDJ.js +0 -2
  372. package/dist/interface/assets/CuiPluginOAuthButton-C8VRPoMj.js +0 -2
  373. package/dist/interface/assets/CuiSchema-Dy2eRCu2.js +0 -1
  374. package/dist/interface/assets/CuiTopNavbarItem-Btig8IUi.js +0 -1
  375. package/dist/interface/assets/Faces-D5PMl5Bx.js +0 -1
  376. package/dist/interface/assets/FirstSteps-BcjeaLz_.js +0 -1
  377. package/dist/interface/assets/Floorplan-DHl3zibU.js +0 -1
  378. package/dist/interface/assets/Instances-DXksjsQR.js +0 -1
  379. package/dist/interface/assets/Metrics-BWTImHsV.js +0 -9
  380. package/dist/interface/assets/Plugin-D5WuhMPO.js +0 -1
  381. package/dist/interface/assets/PluginDetail-3qrahg0_.js +0 -2
  382. package/dist/interface/assets/PluginSearch-D8zmSpkN.js +0 -2
  383. package/dist/interface/assets/PluginSearch-D_ba5x-O.js +0 -1
  384. package/dist/interface/assets/Plugins-5MzJrkSA.js +0 -1
  385. package/dist/interface/assets/Recordings-BuGuUwYE.js +0 -1
  386. package/dist/interface/assets/Recordings-D4NzYCO9.css +0 -1
  387. package/dist/interface/assets/SensorEdit-DF4sw0EW.js +0 -1
  388. package/dist/interface/assets/Sensors-D6GwAXQ2.js +0 -2
  389. package/dist/interface/assets/Settings-BZf-ziEZ.js +0 -1
  390. package/dist/interface/assets/SettingsAccount--5p79E6E.js +0 -1
  391. package/dist/interface/assets/SettingsAccount-Dlc0Wddo.js +0 -1
  392. package/dist/interface/assets/SettingsAppearance-B59zzxu4.js +0 -1
  393. package/dist/interface/assets/SettingsAppearance-xPKxmDpp.js +0 -1
  394. package/dist/interface/assets/SettingsBackup-CJJ5VBzp.js +0 -1
  395. package/dist/interface/assets/SettingsMqtt-DUUAcYuG.js +0 -1
  396. package/dist/interface/assets/SettingsNotifications-BH63oRsc.js +0 -1
  397. package/dist/interface/assets/SettingsRemote-Dbaxaq5H.js +0 -2
  398. package/dist/interface/assets/SettingsSystem-DzHIleOc.js +0 -2
  399. package/dist/interface/assets/SettingsUsers-D5YuEr7c.js +0 -1
  400. package/dist/interface/assets/Updates-DnAut-3U.js +0 -2
  401. package/dist/interface/assets/Workers-6aoL2zvF.js +0 -2
  402. package/dist/interface/assets/api-BI5TkcMD.js +0 -4
  403. package/dist/interface/assets/api-BTWXbCPQ.css +0 -2
  404. package/dist/interface/assets/cameraSources-C3PFkewy.js +0 -1
  405. package/dist/interface/assets/cloudHandoff-B1HA65AZ.js +0 -1
  406. package/dist/interface/assets/main-C6AqiNZK.js +0 -3
  407. package/dist/interface/assets/main-Qqk3RyYP.css +0 -1
  408. package/dist/interface/assets/mqtt-DGNlVikj.js +0 -1
  409. package/dist/interface/assets/rooms-DL_uUrGc.js +0 -1
  410. package/dist/interface/assets/types-QIK1kdY6.js +0 -1
  411. package/dist/interface/assets/ungrouped-CupkuPIQ.js +0 -1
  412. package/dist/interface/assets/ungrouped-DTYy_Pud.css +0 -1
  413. package/dist/interface/assets/useBackupRestore-jdHT_hab.js +0 -1
  414. package/dist/interface/assets/vendor-core-BUse5adB.js +0 -1
  415. package/dist/interface/ha/CuiPluginOAuthButton-ChNW42ux.js +0 -105
  416. package/dist/interface/ha/SettingsAccount-xJy6kGf6.js +0 -970
  417. package/dist/interface/ha/SettingsNotifications-QCKfSffa.js +0 -529
@@ -1 +0,0 @@
1
- .app-lock-overlay[data-v-baef4383]{z-index:9999;background:var(--ground-background);-webkit-backdrop-filter:blur(20px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cui-restore-overlay[data-v-0c1a6c8d]{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cui-restore-overlay__card[data-v-0c1a6c8d]{background:var(--card-background);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;padding:2rem 1.5rem;display:flex}.fade-enter-active[data-v-0c1a6c8d],.fade-leave-active[data-v-0c1a6c8d]{transition:opacity .3s}.fade-enter-from[data-v-0c1a6c8d],.fade-leave-to[data-v-0c1a6c8d]{opacity:0}.cui-push-sync-indicator[data-v-335a3ce0]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-push-sync-indicator__content[data-v-335a3ce0]{align-items:center;gap:.5rem;display:flex}.cui-push-sync-indicator__spinner[data-v-335a3ce0]{width:20px!important;height:20px!important}.cui-push-sync-indicator__icon[data-v-335a3ce0]{width:20px;height:20px;color:var(--text-color)}.cui-push-sync-indicator__text[data-v-335a3ce0]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-push-sync-indicator__button[data-v-335a3ce0]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-335a3ce0],.fade-leave-active[data-v-335a3ce0]{transition:opacity .3s}.fade-enter-from[data-v-335a3ce0],.fade-leave-to[data-v-335a3ce0]{opacity:0}.cui-updates-indicator[data-v-e87759b0]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-updates-indicator__content[data-v-e87759b0]{align-items:center;gap:.5rem;display:flex}.cui-updates-indicator__text[data-v-e87759b0]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.fade-enter-active[data-v-e87759b0],.fade-leave-active[data-v-e87759b0]{transition:opacity .3s}.fade-enter-from[data-v-e87759b0],.fade-leave-to[data-v-e87759b0]{opacity:0}.cui-update-indicator[data-v-8ce1000d]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-update-indicator__content[data-v-8ce1000d]{align-items:center;gap:.5rem;display:flex}.cui-update-indicator__spinner[data-v-8ce1000d]{width:20px!important;height:20px!important}.cui-update-indicator__icon[data-v-8ce1000d]{width:20px;height:20px;color:var(--text-color)}.cui-update-indicator__text[data-v-8ce1000d]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-update-indicator__button[data-v-8ce1000d]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-8ce1000d],.fade-leave-active[data-v-8ce1000d]{transition:opacity .3s}.fade-enter-from[data-v-8ce1000d],.fade-leave-to[data-v-8ce1000d]{opacity:0}.cui-connection-indicator[data-v-b51a08be]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-connection-indicator__content[data-v-b51a08be]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-b51a08be]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-b51a08be]{margin-left:.5rem}.fade-enter-active[data-v-b51a08be],.fade-leave-active[data-v-b51a08be]{transition:opacity .3s}.fade-enter-from[data-v-b51a08be],.fade-leave-to[data-v-b51a08be]{opacity:0}.close-button[data-v-d1e31a06],.minify-button[data-v-d1e31a06],.expand-button[data-v-d1e31a06],.disabled-button[data-v-d1e31a06]{-webkit-app-region:no-drag;border-radius:20px;width:12px;height:12px;transition:all .2s ease-in-out}.close-button[data-v-d1e31a06]:hover,.minify-button[data-v-d1e31a06]:hover,.expand-button[data-v-d1e31a06]:hover,.disabled-button[data-v-d1e31a06]:hover{cursor:default}.close-button[data-v-d1e31a06]{background-color:#ff5954;border:0 solid #df302a}.close-button[data-v-d1e31a06]:active{background-color:#d63f3a;border:0 solid #c12e26}.minify-button[data-v-d1e31a06]{background-color:#fdbd30;border:0 solid #c18b17}.minify-button[data-v-d1e31a06]:active{background-color:#c18b17;border:0 solid #a27613}.expand-button[data-v-d1e31a06]{background-color:#00ca3b;border:0 solid #02a934}.expand-button[data-v-d1e31a06]:active{background-color:#02a934;border:0 solid #028b2b}.disabled-button[data-v-d1e31a06]{background-color:#3d3d3d;border:0 solid #282828}.navitem-active[data-v-9e0c467b]{background:var(--navitem-active-color,var(--p-button-text-primary-active-background));border-color:#0000;border-top:1px solid var(--navitem-active-color,var(--p-button-outlined-danger-hover-background))}.navbar-group-enter-active[data-v-a82da88e],.navbar-group-leave-active[data-v-a82da88e]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-a82da88e],.navbar-group-leave-to[data-v-a82da88e]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-a82da88e],.navbar-group-leave-from[data-v-a82da88e]{opacity:1;max-height:400px}.nav-edit-move[data-v-a82da88e],.nav-edit-enter-active[data-v-a82da88e],.nav-edit-leave-active[data-v-a82da88e]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-a82da88e],.nav-edit-leave-to[data-v-a82da88e]{opacity:0}.nav-edit-leave-active[data-v-a82da88e]{width:100%;position:absolute}.cui-bottombar[data-v-b0d768aa]:before{content:"";background:linear-gradient(#0000000d,#0000);height:1px;position:absolute;top:-1px;left:0;right:0}.notification-menu{left:auto!important;right:calc(env(safe-area-inset-right,0px) + .5rem)!important;top:calc(env(safe-area-inset-top,0px) + 3.3rem)!important}.cui-topbar[data-v-ede899aa]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.playground-container[data-v-4c58523d]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex-shrink:0;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-4c58523d]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-4c58523d]{position:relative}.playground-container .playground:hover .handle[data-v-4c58523d]{opacity:1}.playground-container .playground.customizing[data-v-4c58523d]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-4c58523d]{opacity:1}.playground-container .playground .custom-notice[data-v-4c58523d]{pointer-events:none;opacity:0;background:#fff0;justify-content:center;align-items:center;transition:background .25s;display:flex;position:absolute;inset:0 0 1rem}.playground-container .playground .custom-notice div[data-v-4c58523d]{text-align:center;opacity:1;background:#ffffffe6;border-radius:2px;width:100%;margin:0 2rem;padding:1rem;transition:opacity .25s;box-shadow:0 1px 2px #100a0926}.playground-container .playground .custom-notice div .touchy[data-v-4c58523d]:after{content:"Click"}.playground-container .playground .sandbox[data-v-4c58523d]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-4c58523d]{z-index:11;pointer-events:none;opacity:0;background:#df2a4c4d 50%/cover;transition:opacity .375s;position:absolute;inset:10px}.playground-container .playground .sandbox .shadowboard.on[data-v-4c58523d]{opacity:0}.handles[data-v-4c58523d]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-4c58523d]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-4c58523d]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-4c58523d]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-4c58523d]{stroke-dasharray:5 5}.handles .delete-point[data-v-4c58523d],.handles .handle[data-v-4c58523d]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-4c58523d]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff,0 0 0 2px #000000a6}.handles .handle.is-dragging[data-v-4c58523d],.handles .handle.is-pointer-down[data-v-4c58523d]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0,0 0 0 2px #000000a6}.handles .handle.active[data-v-4c58523d]{opacity:1;outline:2px solid var(--primary-500);outline-offset:2px}.handles .handle.draggable[data-v-4c58523d]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-4c58523d]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-4c58523d]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-4c58523d]{transform-origin:0;cursor:pointer;opacity:.75;clip-path:polygon(25% 0,100% 1%,100% 100%,25% 100%,0 50%);background:#d3d0c9;border-radius:3px;width:25px;padding-left:5px;transition:transform .25s,opacity .25s;position:absolute;top:0;left:22px;transform:scale3d(0,0,0)}.handles .handle .delete-point[data-v-4c58523d]:after{content:"";clip-path:polygon(20% 10%,10% 20%,40% 50%,10% 80%,20% 90%,50% 60%,80% 90%,90% 80%,60% 50%,90% 20%,80% 10%,50% 40%);background:#100a09;display:block;position:absolute;inset:4px 4px 4px 9px}.cui-detection[data-v-4bdc871b]{border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cui-detection--detected[data-v-4bdc871b]{border-color:#22c55e4d}.cui-detection--disabled[data-v-4bdc871b]{opacity:.6}.cui-detection__header[data-v-4bdc871b]{align-items:center;gap:.5rem;display:flex}.cui-detection__icon[data-v-4bdc871b]{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.cui-detection__icon-svg[data-v-4bdc871b]{width:1.5rem;height:1.5rem;color:var(--text-secondary-color);transition:color .2s}.cui-detection__icon--detected .cui-detection__icon-svg[data-v-4bdc871b]{color:#22c55e}.cui-detection__info[data-v-4bdc871b]{flex-direction:column;flex:1;gap:0;display:flex}.cui-detection__label[data-v-4bdc871b]{color:var(--text-color);font-size:.875rem;font-weight:500}.cui-detection__status[data-v-4bdc871b]{color:var(--text-secondary-color);font-size:.75rem;font-weight:500}.cui-detection__status--detected[data-v-4bdc871b]{color:#22c55e}.cui-detection__indicator[data-v-4bdc871b]{background-color:var(--surface-300);border-radius:50%;width:.5rem;height:.5rem;transition:all .2s}.cui-detection__indicator--detected[data-v-4bdc871b]{background-color:#22c55e;animation:1.5s ease-in-out infinite pulse-indicator-4bdc871b;box-shadow:0 0 6px #22c55e99}@keyframes pulse-indicator-4bdc871b{0%,to{opacity:1}50%{opacity:.5}}.cui-detection__detections[data-v-4bdc871b]{flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.cui-detection__detection-tag[data-v-4bdc871b]{color:#22c55e;text-transform:capitalize;background:#22c55e26;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.cui-detection--small[data-v-4bdc871b]{gap:.375rem;padding:.5rem}.cui-detection--small .cui-detection__icon[data-v-4bdc871b]{width:1.25rem;height:1.25rem}.cui-detection--small .cui-detection__icon-svg[data-v-4bdc871b]{width:1.125rem;height:1.125rem}.cui-detection--small .cui-detection__label[data-v-4bdc871b]{font-size:.75rem}.cui-detection--small .cui-detection__status[data-v-4bdc871b]{font-size:.625rem}.cui-detection--small .cui-detection__indicator[data-v-4bdc871b]{width:.375rem;height:.375rem}.cui-detection--small .cui-detection__detection-tag[data-v-4bdc871b]{padding:.0625rem .375rem;font-size:.5rem}.cui-detection--large[data-v-4bdc871b]{gap:.75rem;padding:1rem}.cui-detection--large .cui-detection__icon[data-v-4bdc871b]{width:2.25rem;height:2.25rem}.cui-detection--large .cui-detection__icon-svg[data-v-4bdc871b]{width:2rem;height:2rem}.cui-detection--large .cui-detection__label[data-v-4bdc871b]{font-size:1rem}.cui-detection--large .cui-detection__status[data-v-4bdc871b]{font-size:.875rem}.cui-detection--large .cui-detection__indicator[data-v-4bdc871b]{width:.625rem;height:.625rem}.cui-detection--large .cui-detection__detection-tag[data-v-4bdc871b]{padding:.1875rem .625rem;font-size:.75rem}.overview-container[data-v-f34b01a5]{flex-direction:column;display:flex}.overview-section[data-v-f34b01a5]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-f34b01a5]:last-child{border-bottom:none}.overview-section-title[data-v-f34b01a5]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-f34b01a5] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-f34b01a5]{text-align:center;color:var(--text-secondary-color);padding:1.5rem;font-size:.875rem}.drawer-header[data-v-94cafb3a]{background:var(--p-drawer-background)}.loader[data-v-839ba1ea]{background:var(--ground-background);width:100dvw;min-width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh}div[data-v-839ba1ea] .cameraLens{transform-origin:35% 55%;animation:.8s cubic-bezier(.47,1.84,.21,.8) forwards lensMove-839ba1ea,.8s ease-in-out .4s forwards lensRotate-839ba1ea,.6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards lensMoveBack-839ba1ea}div[data-v-839ba1ea] .cameraLetter{transform-origin:50%;animation:.4s cubic-bezier(.47,1.84,.21,.8) forwards letterScale-839ba1ea,.4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards letterScaleBack-839ba1ea}@keyframes letterScale-839ba1ea{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes letterScaleBack-839ba1ea{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes lensMove-839ba1ea{0%{transform:translateY(0)}to{transform:translateY(-40px)}}@keyframes lensMoveBack-839ba1ea{0%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes lensRotate-839ba1ea{0%{transform:translateY(-40px)rotate(0)}to{transform:translateY(-40px)rotate(-360deg)}}.fixed-bg[data-v-a40ed066]{top:calc(0px - env(safe-area-inset-top,0px) - 10px);left:calc(0px - env(safe-area-inset-left,0px) - 10px);right:calc(0px - env(safe-area-inset-right,0px) - 10px);bottom:calc(0px - env(safe-area-inset-bottom,0px) - 10px);z-index:0;position:fixed}
@@ -1 +0,0 @@
1
- import{Cr as e,Mr as t,wr as n,xr as r}from"./api-BI5TkcMD.js";import{J as i,U as a}from"./vendor-nVfLT5jI.js";async function o({signal:e}){return(await t.get(`/mqtt`,{signal:e})).data}async function s(e){return(await t.patch(`/mqtt`,e)).data}async function c({signal:e}){return(await t.get(`/mqtt/topics`,{signal:e})).data}async function l(e){return(await t.post(`/mqtt/test`,e)).data}var u=class{_queryClient=i();t=n.global.t;toast=e();get queryClient(){return this._queryClient}getMqttInfoQuery(){return r({queryKey:[`mqtt`],queryFn:({signal:e})=>o({signal:e}),staleTime:1e3})}patchMqttInfoMutation(){return a({mutationFn:s,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`mqtt`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.mqtt_updated`),life:3e3})}})}getMqttTopicsQuery(){return r({queryKey:[`mqtt`,`topics`],queryFn:({signal:e})=>c({signal:e}),staleTime:1e4})}testMqttConnectionMutation(){return a({mutationFn:l})}};export{u as t};
@@ -1 +0,0 @@
1
- import{Mr as e,xr as t}from"./api-BI5TkcMD.js";import{J as n,U as r}from"./vendor-nVfLT5jI.js";async function i({signal:t}={}){return(await e.get(`/rooms`,{signal:t})).data}async function a(t){return(await e.post(`/rooms`,t)).data}async function o(t){await e.delete(`/rooms/${t}`)}var s=class{queryClient=n();getRoomsQuery(){return t({queryKey:[`rooms`],queryFn:({signal:e})=>i({signal:e}),staleTime:1e4})}createRoomMutation(){return r({mutationFn:a,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0})}})}deleteRoomMutation(){return r({mutationFn:o,onSuccess:async()=>{await Promise.all([this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0}),this.queryClient.refetchQueries({queryKey:[`cameras`]})])}})}};export{i as n,s as t};
@@ -1 +0,0 @@
1
- import{Hr as e,Ur as t,Vr as n,Wr as r}from"./vendor-cameraui-BRv7o4zz.js";import{C as i,S as a,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as ee,l as m,m as te,o as h,p as ne,s as re,u as g,v as _,w as ie,x as v,y as ae}from"./vendor-zod-CJ7LAMqQ.js";_({tempToken:v().trim().min(1,`Temporary token is required`),code:v().trim().min(1,`Code is required`)}).strict(),_({code:v().trim().length(6,`Code must be 6 digits`)}).strict(),_({code:v().trim().min(1,`Code is required`)}).strict(),_({code:v().trim().min(1,`Code is required`)}).strict(),_({grant_type:v().optional(),username:v().trim().min(1,`Username is required`),password:v().min(1,`Password is required`),scope:v().optional(),client_id:v().optional(),client_secret:v().optional()}),_({refresh_token:v().min(1,`Refresh token is required`)}),_({id:v()}),_({name:v().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),_({id:v()});function oe(e){return{privacyFallback:e?.privacyFallback??`send`,motion:e?.motion??[],object:e?.object??[],privacy:e?.privacy??[],alert:e?.alert??[],lines:e?.lines??[]}}function se(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var ce=_({enabled:d().default(!0),mode:u([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:s().min(0).max(60).default(10),sources:g(u([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),le={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},ue=_({enabled:d().default(!0),video:d().default(!1),audio:v().trim().min(1).array().default([]),sensors:v().trim().min(1).array().default([]),cooldown:s().min(0).max(600).default(30),speed:u([`immediate`,`balanced`,`best`]).default(`balanced`)}).strict(),de={enabled:!0,video:!1,audio:[`glass_break`,`scream`,`gunshot`,`alarm`,`siren`,`smoke_alarm`],sensors:[`doorbell`,`contact`,`siren`,`security_system`,`smoke`,`gas`,`carbonMonoxide`,`heat`,`leak`,`cold`,`vibration`,`tamper`,`problem`],cooldown:30,speed:`balanced`},fe=v().trim().min(1,`Detection label is required`),pe=v().trim().min(1,`Zone label is required`),y=a([s(),s()]),me=v().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`),he=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),color:me}).array(),ge=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),type:i([p(`intersect`),p(`contain`)]).default(`intersect`),labels:pe.array(),color:me}).array(),_e=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),dropDetections:d().default(!0)}).array(),ve=_({name:v().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),labels:fe.array(),faces:v().trim().min(1).array().optional(),plates:v().trim().min(1).array().optional(),match:i([p(`anchor`),p(`intersect`),p(`contain`)]).default(`contain`),color:v().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),ye=_({name:v().trim().min(1,`Line Name is required`),points:a([y,y]),direction:i([p(`both`),p(`a-to-b`),p(`b-to-a`)]),labels:fe.array(),color:v().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),be=_({privacyFallback:i([p(`send`),p(`drop`)]).default(`send`),motion:he.default([]),object:ge.default([]),privacy:_e.default([]),alert:ve.default([]),lines:ye.default([])}).strict(),b=_({motion:_({resolution:i([p(`low`),p(`medium`),p(`high`)]),timeout:s().min(10,`Minimum 10 seconds`)}),object:_({confidences:_({person:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),vehicle:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),animal:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5)}).default({person:.5,vehicle:.5,animal:.5}),suppressStatic:d().default(!0),timeout:s().min(10,`Minimum 10 seconds`).default(15)}),audio:_({minDecibels:s().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:s().min(10,`Minimum 10 seconds`),confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:_({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5),matchThreshold:s().min(.3,`Minimum 0.3`).max(.95,`Maximum 0.95`).default(.55)}).default({confidence:.5,matchThreshold:.55}),licensePlate:_({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.3),ocrConfidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:s().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.3,ocrConfidence:.9,minLength:4}),sensor:_({timeout:s().min(10,`Minimum 10 seconds`),triggers:g(v().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:d().default(!0),cascadeTimeout:s().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:d().default(!1)}),xe=_({from:v().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),to:v().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),timezone:v().trim().min(1,`Timezone is required`)}),Se={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4,minTargetSize:0,maxTargetSize:0},x=_({enabled:d().default(!1),targetLabels:v().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:s().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:s().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:s().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:s().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:d().default(!1),homeWaitMs:s().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4),minTargetSize:s().min(0,`Minimum 0`).max(.5,`Maximum 0.5`).default(0),maxTargetSize:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(0),activeHours:xe.optional()}),S=i([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`),p(`snapshot`)]),Ce=i([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`)]),C=i([p(`bubble://`),p(`cui://`),p(`doorbird://`),p(`dvrip://`),p(`eseecloud://`),p(`ffmpeg:`),p(`flussonic://`),p(`gopro://`),p(`hass:`),p(`homekit://`),p(`http://`),p(`https://`),p(`httpx://`),p(`isapi://`),p(`ivideon:`),p(`kasa://`),p(`nest:`),p(`onvif://`),p(`ring:`),p(`roborock://`),p(`rtmp://`),p(`rtsp://`),p(`rtspx://`),p(`tapo://`),p(`tcp://`),p(`tuya://`),p(`xiaomi://`),p(`yandex:`),p(`webrtc:`),p(`webtorrent:`),p(`wyze://`)]).options.map(e=>e.value),we=RegExp(`^(${C.join(`|`)})`),w=v().refine(e=>{if(!we.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`});function T(e,t){let n=new Set;e.forEach((e,r)=>{let i=e.name.replace(/ /g,`_`).toLowerCase();n.has(i)&&t.addIssue({code:`custom`,message:`Source name is already used by another source`,path:[r,`name`]}),n.add(i)})}var Te=_({_id:v().default(e()).transform(()=>e()),name:v().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:S,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:w.array().min(1,`At least one valid URL is required`),childSourceId:v().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),Ee=_({_id:v().default(e()).transform(()=>e()),name:v().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:S,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:w.array().min(1,`At least one valid URL is required`),childSourceId:v().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),E=_({id:v(),name:v().trim()}),D=_({motion:E.optional(),object:E.optional(),objectAssist:E.optional(),audio:E.optional(),face:E.optional(),licensePlate:E.optional(),ptz:E.optional(),battery:E.optional(),cameraController:E.optional(),clip:E.optional(),classifier:E.array().optional(),light:E.array().optional(),siren:E.array().optional(),switch:E.array().optional(),securitySystem:E.array().optional(),contact:E.array().optional(),doorbell:E.array().optional(),lock:E.array().optional(),temperature:E.array().optional(),humidity:E.array().optional(),occupancy:E.array().optional(),smoke:E.array().optional(),leak:E.array().optional(),garage:E.array().optional(),gas:E.array().optional(),carbonMonoxide:E.array().optional(),carbonDioxide:E.array().optional(),heat:E.array().optional(),cold:E.array().optional(),vibration:E.array().optional(),tamper:E.array().optional(),problem:E.array().optional(),power:E.array().optional(),illuminance:E.array().optional(),hub:E.array().optional()}).strict(),De=i([p(`auto`),p(`mse`),p(`webrtc`),p(`webrtc/tcp`)]),Oe=v().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/,`Use a width:height ratio, e.g. 16:9`).refine(e=>{let[t,n]=e.split(`:`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0},`Both sides must be greater than 0`).transform(e=>e),O=_({hardware:u([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:v().trim().max(128).optional()}).strict(),k=_({mainStreamAnalysis:d().default(!1),decoder:O.optional(),workerDecoder:O.nullable().transform(e=>e??void 0).optional()}),A=i([p(`camera`),p(`doorbell`)]),ke=i([p(`auto`),p(`high`),p(`mid`),p(`low`)]),Ae=i([p(`always-on`),p(`activity`),p(`standby`)]),j=_({streamingMode:De,streamingSource:Ce,playbackSource:ke.default(`auto`),activityMode:Ae.default(`always-on`),aspectRatio:Oe}),M=_({model:v().trim().optional(),manufacturer:v().trim().optional(),hardware:v().trim().optional(),serialNumber:v().trim().optional(),firmwareVersion:v().trim().optional(),supportUrl:v().trim().optional()}),je=_({id:v(),name:v().trim()}).strict(),N=_({autoRefresh:d().default(!0),ttl:s().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:s().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),P=_({_id:v().default(e()).transform(()=>e()),nativeId:v().trim().optional(),pluginInfo:je.optional(),disabled:d().default(!1),name:v().trim().min(1,`Camera name is required`),room:v().trim().min(1,`Room is required`).default(`Default`),roomId:v().trim().min(1).nullable().default(null),type:A.default(`camera`),isCloud:d().default(!1),snapshotSettings:N.default({autoRefresh:!0,ttl:50,interval:60}),info:M.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Te.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).superRefine(T),plugins:E.array().default([]),assignments:D.default({}),interfaceSettings:j.default({streamingMode:`auto`,streamingSource:`high-resolution`,playbackSource:`auto`,activityMode:`always-on`,aspectRatio:`16:9`}),zones:be.default(oe()),detectionSettings:b.default({motion:{resolution:`low`,timeout:30},object:{confidences:{person:.5,vehicle:.5,animal:.5},suppressStatic:!0,timeout:15},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5,matchThreshold:.55},licensePlate:{confidence:.3,ocrConfidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:x.default(Se),recordingSettings:ce.default(le),notificationSettings:ue.default(de),frameWorkerSettings:k.default({mainStreamAnalysis:!1})}).strict();function Me(){let{_id:e,name:t,sources:n,nativeId:r,pluginInfo:i,...a}=P.parse({name:`default`,sources:[{name:`default`,role:`high-resolution`,urls:[`rtsp://localhost`]}]});return a}P.transform(e=>{let t=e.sources.flatMap(e=>e.urls);return e.isCloud||se(t)?{...e,isCloud:!0}:{...e}});var Ne=_({disabled:d().optional(),type:A.optional(),name:v().trim().min(1,`Camera name is required`).optional(),room:v().trim().min(1,`Room is required`).optional(),roomId:v().trim().min(1).nullable().optional(),isCloud:d().optional(),snapshotSettings:N.partial().optional(),info:M.partial().optional(),sources:Ee.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).superRefine(T).optional(),plugins:E.array().optional(),assignments:D.partial().optional(),interfaceSettings:j.partial().optional(),zones:be.optional(),detectionSettings:b.partial().optional(),ptzAutotrack:x.partial().optional(),recordingSettings:ce.partial().optional(),notificationSettings:ue.partial().optional(),frameWorkerSettings:k.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||se(t))return{...e,isCloud:!0}}return e});_({url:v().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),_({cameraname:v()}),_({cameraname:v(),sourcename:v()}),_({cameraid:v(),sourcename:v()}),_({cameraname:v(),pluginname:v()}),_({cameraname:v(),scope:v(),pluginname:v()}),_({cameraname:v(),pluginname:v(),sensorId:v()}),_({cameraname:v(),scope:v(),pluginname:v(),sensorId:v()}),_({type:v().optional()}),_({video:c().optional(),audio:c().optional(),microphone:c().optional(),refresh:c().optional()}),_({forceNew:c().optional()}),_({cameranames:g(v().min(1)).min(1).max(1e3),cameraData:_({disabled:d().optional(),detectionSettings:_({snooze:d()}).optional(),recordingSettings:_({enabled:d()}).optional()}).refine(e=>e.disabled!==void 0||e.detectionSettings!==void 0||e.recordingSettings!==void 0,{message:`Nothing to update`})}),_({cameranames:g(v().min(1)).min(1).max(1e3)});var Pe=_({id:v().trim().min(1),name:v().trim().min(1,`Level name is required`).max(64),order:s().int().min(0).default(0)}),Fe=_({id:v().trim().min(1),roomId:v().trim().min(1),name:v().trim().min(1,`Room name is required`).max(64),levelId:v().trim().min(1),outdoor:d().default(!1),publicSpace:d().default(!1),note:v().trim().max(240).default(``),x:s(),y:s(),width:s().min(1),height:s().min(1)}),Ie=_({id:v().trim().min(1),fromRoomId:v().trim().min(1),toRoomId:v().trim().min(1),fromShapeId:v().trim().min(1).nullable().default(null),toShapeId:v().trim().min(1).nullable().default(null),offset:s().nullable().default(null),width:s().min(10).max(2e3).default(90),note:v().trim().max(240).default(``),type:u([`door`,`opening`,`stairs`]).default(`door`)}),Le=_({cameraId:v().trim().min(1),roomId:v().trim().min(1),note:v().trim().max(240).default(``),x:s(),y:s(),rotation:s(),fov:s().min(1).max(360),range:s().min(1)}),Re=_({sensorId:v().trim().min(1),sensorType:v().trim().min(1),roomId:v().trim().min(1),connectionId:v().trim().min(1).nullable().default(null),note:v().trim().max(240).default(``),x:s(),y:s()});_({catalogVersion:s().int().min(0),north:s().nullable().default(null),levels:Pe.array().max(20),rooms:Fe.array().max(200),connections:Ie.array().max(500),cameras:Le.array().max(500),sensors:Re.array().max(500)}).strict(),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:o(`Must be a valid URL`).trim(),credentials:_({username:v().trim().min(1,`Username is required`),password:v().min(1,`Password is required`)})}),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:o(`Must be a valid URL`).trim().optional(),credentials:_({username:v().trim().min(1,`Username is required`),password:v().min(1,`Password is required`)}).nullable().optional()}),_({id:v().min(1,`ID is required`)}),_({code:v().trim().min(1,`Code is required`).optional()}).optional(),_({ids:g(v().min(1)).min(1).max(1e3)});var F=/^[\w-]+(\/[\w-]+)*$/,ze=_({enabled:d().optional(),mode:u([`external`,`embedded`]).optional(),broker:_({port:s().int().min(1).max(65535).optional(),username:v().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:v().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:v().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:s().int().min(1).max(65535).optional(),protocol:u([`mqtt`,`mqtts`]).optional(),username:v().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:v().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:v().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:v().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(F,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:_({rejectUnauthorized:d().optional(),ca:v().trim().nullable().optional(),cert:v().trim().nullable().optional(),key:v().trim().nullable().optional()}).strict().optional(),haDiscovery:_({enabled:d().optional(),prefix:v().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(F,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),Be=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Ve=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e.INCOMPATIBLE=`incompatible`,e.UPDATE_REQUIRED=`update_required`,e.SERVER_UPDATE_REQUIRED=`server_update_required`,e}({});function I(e){return e.mimetype!==void 0}function He(e){return I(e)?Buffer.byteLength(e._buf):e.size}function Ue(e){return I(e)?e.mimetype:e.type}function L(e,t,n,r){return f().refine(t=>He(t)<=e,n).refine(e=>t.includes(Ue(e)),r)}var We=_({start:h().optional(),page:h().optional(),pageSize:h().optional()}),R=[`image/jpeg`,`image/png`],Ge=2097152,z=[`video/mp4`,`video/quicktime`],Ke=10485760,qe=[`audio/mpeg`,`audio/wav`,`audio/ogg`],Je=2097152,B=()=>L(Ge,R,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),V=f().transform(e=>JSON.parse(e.value)),H=f().transform(e=>JSON.parse(e.value)),Ye=f().transform(e=>JSON.parse(e.value)),Xe=_({pluginname:v().trim().refine(e=>Be.test(e),`Not a valid plugin name`),pluginversion:v().trim().refine(e=>/^[a-z][\w-]*$/i.test(e)||/^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e),`Not a valid plugin version (expected a dist-tag or exact semver)`).optional().default(`latest`)}).strict();_({actionId:v(),payload:m()}).strict(),l(m(),m()),_({upload:B(),metadata:H,config:V}),_({upload:L(Je,qe,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ye,config:V}),_({upload:L(Ke,z,`Max file size is 5 MB`,`.mp4 files are accepted`),config:V}),_({upload:B(),metadata:H,config:V}),_({upload:B(),metadata:H,config:V}),_({upload:B(),metadata:H,config:V}),_({pluginname:v()}),_({scope:v(),pluginname:v()}),We.extend({pluginname:v().trim().optional(),refresh:c().optional()}),_({removeStorage:c().optional()}),_({pluginversion:v().trim().optional()}),_({pluginNames:g(v().trim().min(1)).min(1).max(1e3)}),_({plugins:g(Xe).min(1).max(1e3)});var Ze=_({enabled:d().optional(),directEnabled:d().optional(),directMode:u([`cloudflare`,`customDomain`]).optional(),customDomain:_({url:o(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:_({mode:u([`quick`,`token`,`managed`]).optional(),hostname:v().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:v().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});_({mode:u([`cloudflare`,`customDomain`])}).strict(),_({hostname:v().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),_({name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),_({name:v().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),_({name:v().trim().min(1,`Room name is required`).max(64),levelId:v().trim().min(1).nullable().default(null),outdoor:d().default(!1),publicSpace:d().default(!1),note:v().trim().max(240).default(``)}).strict(),_({roomid:v().trim().min(1)});function Qe(){let e={};for(let n of t)e[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:n.cascadeTrigger}:{}};return e}var U=Qe();Object.fromEntries(t.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function $e(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function et(){return t.filter(e=>e.shortcutable).map(e=>e.type)}function tt(){return Object.entries(U).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function nt(e){return U[e].assignmentKey}function rt(){return Object.entries(U).filter(([,e])=>e.category===r.Sensor&&!e.multiProvider).map(([e])=>e)}function it(){return Object.entries(U).filter(([,e])=>!e.multiProvider&&e.category!==r.Sensor).map(([e])=>e)}function at(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function ot(e){return!U[e].multiProvider}Object.fromEntries(t.map(e=>[e.type,Object.keys(e.properties)]));var W=Object.fromEntries(t.map(e=>[e.type,e.properties]));function st(e,t){return W[e]?.[t]}function ct(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function lt(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function ut(e,t){let n=U[e];return n?n.category===r.Control||n.category===r.Trigger||t===`cameraui.virtual`&&!n.isDetectionType:!1}new Set($e()),new Set(tt());var dt=`cameraui.virtual`,ft=t.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(t.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(t.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),_({id:v().min(1,`Sensor ID is required`)});var pt=_({cameraId:v().min(1).optional(),type:u(ft),name:v().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});_({displayName:v().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:g(v().min(1)).optional(),exposed:d().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0,{message:`Nothing to update`}),_({property:v().trim().min(1,`Property is required`),value:ie()}),_({ids:g(v()).min(1).max(1e4)}),_({version:v().trim().optional().default(`latest`)}).strict();var mt=_({serverAddresses:i([te().trim(),ee().trim()]).array().default([]),localUrl:i([p(``),o({protocol:/^https?$/})]).default(``).transform(e=>e.replace(/\/+$/,``))}).strict();_({version:v().trim()}).strict(),l(v(),m()),_({key:v()}).strict(),_({key:v(),payload:m()}).strict();var ht=[`de`,`en`],gt=[`image/jpeg`,`image/jpg`,`image/png`],_t=5242880,vt=_({index:s(),cameraId:v(),colSpan:s().optional(),rowSpan:s().optional(),x:s().optional(),y:s().optional()}),yt=i([p(1),p(4),p(6),p(7),p(9),p(10),p(12),p(13),p(15),p(16),p(20),p(26)]),bt=i([p(`dnd`),p(`view`)]),xt=u([`aspect`,`contain`,`fill`,`cover`]),St=_({_id:v().default(e()).transform(()=>e()),name:v().trim().min(1,`Layout name is required`),viewSize:yt,cameras:vt.array(),type:bt,cardFit:xt.optional()});_({name:v().trim().min(1,`Layout name is required`),viewSize:yt,cameras:vt.array(),cardFit:xt}).partial().optional();var Ct=_({views:St.array()}),wt=t.filter(e=>e.shortcutable).map(e=>String(e.type)),Tt=u(wt),Et=_({_id:v().default(e()).transform(()=>e()),type:p(`camera`),cameraId:v(),points:y}),Dt=_({_id:v().default(e()).transform(()=>e()),type:p(`sensor`),sensorId:v(),sensorType:Tt,points:y}),Ot=ne(`type`,[Et,Dt]),kt=_({type:p(`camera`),cameraId:v(),points:y}).partial(),At=_({type:p(`sensor`),sensorId:v(),sensorType:Tt,points:y}).partial();i([kt,At]).optional();var jt=_({shortcuts:Ot.array()}),Mt=u([`auto`,...ht]),Nt=_({ungrouped:d()}),Pt=_({main:v().array(),manage:v().array(),system:v().array(),settings:v().array()}).partial(),Ft=_({main:d(),manage:d(),system:d(),settings:d()}).partial(),It=_({order:Pt.optional(),collapsible:Ft.optional(),settingsInNav:d().optional(),hidden:v().array().optional()}),Lt=_({language:Mt.optional(),camview:Ct,cameras:l(v().trim(),jt),recordings:Nt.optional(),navLayout:It.nullable().optional()}),G=v().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),Rt=_({_id:v().default(e()).transform(()=>e()),username:v().trim().min(1,`Username is required`),password:G,passwordConfirm:v().trim().min(1,`Please confirm your password`),role:i([p(`admin`),p(`user`)]),firstLogin:d().default(!0),preferences:Lt.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});_({username:v().trim().min(1,`Username is required`),password:v().trim().min(1,`Password is required`),kind:u([`native`,`web`,`tv`]),persistent:d().default(!1),device:_({id:v().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:v().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var zt=_({username:v().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:v().trim().optional(),role:i([p(`admin`),p(`user`)]).optional(),upload:ae(L(_t,gt,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:d().optional(),preferences:Lt.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});_({username:v()}),_({username:v(),cameraname:v()}),_({username:v(),cameraname:v(),shortcutid:v()}),_({username:v(),viewid:v()}),_({username:v()}),_({cameraId:v().min(1,`Camera ID is required`),agentId:v().min(1,`Agent ID is required`)}),_({cameraId:v().min(1,`Camera ID is required`)}),_({agentId:v().min(1,`Agent ID is required`)}),_({version:v().min(1).optional()}).optional(),_({code:v().min(1,`Pairing code is required`),agentId:v().min(1,`Agent ID is required`),name:v().min(1,`Worker name is required`)}),_({pluginName:v().min(1,`Plugin name is required`),agentId:v().min(1,`Agent ID is required`)}),_({pluginName:v().min(1,`Plugin name is required`)}),_({name:v().trim().min(1,`Name is required`).max(64,`Maximum 64 characters`)}),_({enabled:d().optional(),address:v().trim().optional(),port:s().min(1024,`Minimum 1024`).max(65535,`Maximum 65535`).optional()}).strict();function K(e){return e.type===`string`&&!(`enum`in e)}function Bt(e){return e.type===`number`}function Vt(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function Ht(e){return e.type===`array`}function Ut(e){return e.type===`object`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function Wt(e){return K(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Gt=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>Gt(e,t)):Gt(e,t)}function Kt(e,t){if(!e||Object.keys(e).length===0)return!0;let r=t.filter(e=>!J(e)&&!Y(e));for(let t of r){let r=Q(e,t.key),i=Z(t);if(r!==void 0&&!n(r,i,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=Z(n));return t}default:return}}function qt(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function Jt(e){return e.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[])}function Yt(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of Jt(t)){if(n==null)return;n=n[e]}return n}function Xt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=Jt(t),i=r.pop();if(!i)return;let a=e;for(let e=0;e<r.length;e++){let t=r[e];(typeof a[t]!=`object`||a[t]===null)&&(a[t]=Yt(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function Zt(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function Qt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function $t(e,t){let n=Qt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function en(e,t){let n=Qt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function tn(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return m();switch(e.type){case`string`:if(q(e)){if(e.multiple){let t=g(v().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.minItems===void 0?e.required&&(t=t.min(1,{error:`Required`})):t=t.min(e.minItems,{error:`Select at least ${e.minItems}`}),e.required?t:t.optional()}{let t=u(e.enum);return e.required?t:i([p(``),t]).optional()}}let t=v().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||tn(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=s();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?d():d().optional();case`array`:{let t=e.items?$(e.items):m(),n=g(t);return e.minItems!==void 0&&(n=n.min(e.minItems,{error:`At least ${e.minItems} entries required`})),e.required?n:n.optional()}case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=$(n));let n=_(t);return e.required?n:n.optional()}default:return e.required?m():m().optional()}}var nn=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function rn(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=_(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(nn(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:re.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:re.custom,message:`Required`,path:[e.key]})}})),r}export{S as $,ft as A,ut as B,G as C,pt as D,mt as E,ct as F,Je as G,qe as H,st as I,ze as J,Ke as K,et as L,nt as M,it as N,U as O,rt as P,ye as Q,lt as R,Rt as S,St as T,z as U,Ze as V,R as W,P as X,C as Y,Me as Z,$t as _,rn as a,_t as b,Vt as c,q as d,ge as et,Bt as f,Wt as g,Y as h,Zt as i,at as j,dt as k,J as l,K as m,qt as n,T as nt,Q as o,Ut as p,Ve as q,Z as r,Ht as s,X as t,Ne as tt,Kt as u,en as v,zt as w,ht as x,Xt as y,ot as z};
@@ -1 +0,0 @@
1
- import{Br as e,D as t,Ft as n,Gn as r,Gt as i,Ht as a,Nn as o,O as s,Ot as c,Qn as l,Wt as u,d,i as f,jn as p,l as m,m as h,q as g,r as _,t as ee,ti as te,zt as ne}from"./vendor-cameraui-BRv7o4zz.js";import{An as v,Cr as re,G as ie,J as ae,On as oe,U as se,W as ce,Y as le,at as ue,bn as de,kn as fe,s as pe,vn as me,wn as he,xn as ge}from"./api-BI5TkcMD.js";import{$t as y,An as _e,Cn as b,Fn as x,In as S,Kn as ve,Mn as C,Pn as w,Qt as T,Rn as ye,Wn as E,Xn as be,Xt as xe,Yn as D,an as O,fn as k,gr as A,hr as j,in as M,mn as N,on as P,rn as F,sn as I,sr as L,vr as R,wn as z,yn as Se,yr as B}from"./vendor-nVfLT5jI.js";import{a as Ce}from"./intercomService-fFto_C1t.js";import{N as V}from"./vendor-primevue-C85v-zl5.js";var we=[`src`],Te={key:2,class:`w-full h-full flex items-center justify-center bg-neutral-800/80`},Ee={class:`absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]`},De={class:`flex items-center gap-1.5`},Oe={class:`text-xs font-semibold text-white truncate min-w-0 flex-1`},ke={key:1,class:`text-[10px] font-semibold text-white/80 bg-black/60 px-1.5 py-0.5 rounded-md shrink-0`},Ae={class:`text-[10px] text-white/70`},je={class:`block text-[11px] text-white font-medium truncate bg-black/50 rounded-md px-2 py-0.5`},Me={class:`flex items-center gap-1 min-w-0`},Ne=[`title`],Pe={key:0,class:`flex items-center gap-0.5 shrink-0 opacity-85 group-hover:opacity-100 transition-opacity duration-200`},Fe=[`onClick`],Ie=[`src`,`alt`],Le={key:0,class:`text-[10px] text-white/60 font-medium`},Re={key:6,class:`absolute inset-0 z-[4] flex items-center justify-center pointer-events-none`},ze={key:7,class:`absolute bottom-10 left-1/2 -translate-x-1/2 z-[4] pointer-events-none`},Be={class:`text-[10px] font-semibold text-white bg-black/60 px-1.5 py-0.5 rounded-md whitespace-nowrap`,style:{"font-variant-numeric":`tabular-nums`}},Ve=24,He=30,Ue=22,We=28,Ge=8,Ke=v(N({__name:`RecordingCard`,props:{event:{},cameraName:{},camera:{},loadThumbnails:{type:Function},semanticScore:{},segIndex:{},hideSegmentBadge:{type:Boolean},selectionMode:{type:Boolean},selected:{type:Boolean},siblingActive:{type:Boolean}},emits:[`scrollToEvent`,`select`,`openTrace`],setup(r,{emit:a}){let o=r,l=a,u=Ce(),p=re(),{t:v}=e(),b=s(`@camera.ui/camera-ui-nvr`),{plugin:x}=c(`@camera.ui/camera-ui-nvr`),{icons:S}=ue(),N=b.getCachedThumbnails(o.event.id),R=N?t(N,o.event,`card`,o.segIndex).url?`loaded`:`empty`:`loading`,z=Se(_,void 0),V=E(`rootRef`),Ke=E(`previewCanvasRef`),qe=E(`footerRef`),H=L(!1),Je=se(V,()=>xt(),()=>$()),U=L(!1),W=L(N??null),G=L(R),K=L(!1),Ye=L(0),{width:Xe}=te(qe),Ze=F(()=>(b.storeVersion.value,o.event.segments?.find(e=>e?.description)?.description?.title)),Qe=F(()=>{if(o.semanticScore==null)return;let e=Math.max(0,Math.min(1,o.semanticScore));return{pct:e,label:`${(e*100).toFixed(0)}%`,color:e>=.5?`bg-green-500/80`:e>=.25?`bg-yellow-500/80`:`bg-red-400/80`}}),q=F(()=>W.value?t(W.value,o.event,`card`,o.segIndex):null),$e=F(()=>{let e=o.segIndex??q.value?.segIndex;return e===void 0?void 0:o.event.segments?.[e]}),et=F(()=>q.value?.url),tt=F(()=>q.value?.label),nt=F(()=>q.value?.type??o.event.types[0]??`motion`),rt=F(()=>{if(o.hideSegmentBadge)return;let e=o.event.segments?.length??0;return o.segIndex!==void 0&&e>1?`${o.segIndex+1}/${e}`:void 0}),J=F(()=>{let e=W.value,t=q.value?.url;if(!e||!t)return[];let n=[{url:t,label:q.value?.label,type:nt.value,crop:!1}];for(let t of ee(e,o.segIndex))n.some(e=>e.url===t.url)||n.push({url:t.url,label:t.label,type:t.type,crop:!0});if(o.segIndex===void 0)for(let t of Object.keys(e.cards??e.strips??{}).sort((e,t)=>Number(e)-Number(t))){let r=m(e.cards?.[t]??e.strips?.[t]);if(!r||n.some(e=>e.url===r))continue;let i=ie(o.event,t);n.push({url:r,label:i,type:i,crop:!1})}return n.length>1?n:[]}),it=F(()=>J.value.length>1),Y=F(()=>J.value.length?Math.min(Ye.value,J.value.length-1):0),at=F(()=>it.value?J.value[Y.value]:void 0),ot=F(()=>!!at.value?.crop),st=F(()=>at.value?.url??et.value),ct=F(()=>at.value?.label??tt.value),X=F(()=>{let e=$e.value;return(e?h(o.event,e):[...new Set(o.event.types)]).filter(e=>e!==`motion`&&e!==`audio`)}),lt=F(()=>o.cameraName??o.event.cameraId),Z=F(()=>J.value.map(e=>({url:e.url,type:e.type}))),ut=F(()=>X.value.slice(0,Q.value.icons)),Q=F(()=>{let e=Xe.value;if(!e)return{icons:2,tiles:2};let t=e-Ge;o.selectionMode&&(t-=We);let n=Z.value.length>0?52:0,r=_t(X.value.length,Math.max(0,t-n),Ve),i=X.value.length>0?Math.max(1,r):0,a=i*Ve+(i<X.value.length?Ue:0);return{icons:i,tiles:_t(Z.value.length,Math.max(0,t-a),He)}}),dt=F(()=>X.value.slice(Q.value.icons)),ft=F(()=>Z.value.slice(0,Q.value.tiles)),pt=F(()=>Z.value.length-Q.value.tiles),mt=F(()=>{let e=o.segIndex===void 0?void 0:o.event.segments?.[o.segIndex]?.firstSeen,t=new Date(e??o.event.thumbnailAt??o.event.startTime),n=new Date,r=t.toDateString()===n.toDateString(),i=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return r?i:`${t.toLocaleDateString([],{month:`short`,day:`numeric`})} ${i}`}),ht=F(()=>!!(x.value&&o.event.endTime&&o.event.hasRecording!==!1)),gt=F(()=>z?H.value?v(`views.recordings.no_preview`):U.value?z.status.value===`unavailable`?v(`views.recordings.no_preview`):z.status.value===`playing`&&z.previewTimeMs.value?bt(z.previewTimeMs.value):``:``:``);function _t(e,t,n){return e===0||t<n?0:e*n<=t?e:Math.max(0,Math.floor((t-Ue)/n))}function vt(e){let t=J.value.length;t&&($(),Ye.value=(Y.value+e+t)%t)}function yt(e,t){it.value&&(t.stopPropagation(),$(),Ye.value=e)}function $(){H.value=!1,!(!z||!U.value)&&(U.value=!1,z.onHoverEnd())}function bt(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function xt(){if(!z||Y.value>0)return;let e=Ke.value;if(!e)return;let t=d(o.event);if(o.event.hasRecording===!1||!t){H.value=!0;return}U.value=!0,z.onHoverStart(e,o.event.cameraId,o.event.id,o.event.startTime,t,o.camera?.zones?.privacy,f(o.event))}function St(){Je.blocksMouseEnter()||xt()}function Ct(){H.value=!1,z&&(U.value=!1,z.onHoverEnd())}async function wt(e=2){let n=await o.loadThumbnails(o.event.id,o.event.startTime);if(n){W.value=n;let e=t(n,o.event,`card`);G.value=e.url?`loaded`:`empty`}else if(e>0)return await new Promise(e=>setTimeout(e,500)),wt(e-1);else G.value=o.event.state===`active`?`loading`:`empty`}function Tt(){if(!Je.consumesClick()){if(o.selectionMode){l(`select`);return}l(`scrollToEvent`,$e.value?.firstSeen??ce(o.event))}}async function Et(){if(K.value)return;let e=x.value;if(!(!e?.nvrExport||!o.event.endTime)){K.value=!0;try{let t=await e.nvrExport(o.event.cameraId,o.event.startTime*1e3,o.event.endTime*1e3);await oe({url:t.url,filename:t.filename})}catch(e){u.error(`Download failed:`,e),p.add({severity:`error`,summary:v(`views.recordings.download_failed`),detail:pe(e),life:5e3})}finally{K.value=!1}}}return ve(()=>b.storeVersion.value,()=>{let e=b.getCachedThumbnails(o.event.id);e&&(W.value=e,t(e,o.event,`card`).url&&(G.value=`loaded`))}),_e(()=>{R===`loading`&&wt()}),(e,t)=>{let a=g,o=fe,s=me,c=ae,u=ne,d=le,f=de,p=ge,m=he,h=n,_=i;return C(),I(`div`,{ref_key:`rootRef`,ref:V,class:`recording-card relative group cursor-pointer`,onClick:Tt,onMouseenter:St,onMouseleave:Ct},[M(`div`,{class:A([`bg-neutral-900 w-full rounded-xl overflow-hidden relative transition-shadow duration-200`,{"ring-2 ring-inset ring-primary/70":r.siblingActive}]),style:{"aspect-ratio":`1/1`}},[j(G)===`loading`?(C(),O(a,{key:0,width:`100%`,height:`100%`,class:`rounded-xl`})):j(st)?(C(),I(y,{key:1},[j(ot)?(C(),I(`img`,{key:0,src:j(st),"aria-hidden":`true`,class:`absolute inset-0 w-full h-full object-cover blur-xl scale-110 opacity-50 pointer-events-none`},null,8,we)):P(``,!0),k(o,{src:j(st),alt:j(lt),class:`pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105`,"image-style":{objectFit:j(ot)?`contain`:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`,`alt`,`image-style`])],64)):(C(),I(`div`,Te,[(C(),O(ye(j(S)[j(nt)]??j(S).motion),{class:`w-10 h-10 text-white/20`}))])),j(z)?be((C(),I(`canvas`,{key:3,ref_key:`previewCanvasRef`,ref:Ke,class:`absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]`},null,512)),[[xe,j(U)]]):P(``,!0),t[3]||=M(`div`,{class:`absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]`},null,-1),M(`div`,Ee,[M(`div`,De,[j(Ze)?(C(),O(s,{key:0,position:`inline`})):P(``,!0),M(`p`,Oe,B(j(lt)),1),j(rt)?(C(),I(`span`,ke,B(j(rt)),1)):P(``,!0),j(Qe)?(C(),I(`span`,{key:2,class:A([`text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0`,j(Qe).color])},B(j(Qe).label),3)):P(``,!0),r.camera&&!r.selectionMode?be((C(),O(u,{key:3,rounded:``,text:``,severity:`secondary`,class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:t[0]||=T(e=>l(`openTrace`),[`stop`]),onMouseenter:$},{icon:D(()=>[k(c,{class:`w-3 h-3 text-white`})]),_:1})),[[_,{value:e.$t(`views.recordings.open_trace`)},void 0,{left:!0}]]):P(``,!0),j(ht)&&!r.selectionMode?be((C(),O(u,{key:4,rounded:``,text:``,severity:`secondary`,loading:j(K),class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:T(Et,[`stop`]),onMouseenter:$},{icon:D(()=>[k(d,{class:`w-3 h-3 text-white`})]),_:1},8,[`loading`])),[[_,{value:e.$t(`views.recordings.download`)},void 0,{left:!0}]]):P(``,!0)]),M(`p`,Ae,B(j(mt)),1)]),j(J).length>1?(C(),I(y,{key:4},[k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute left-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.prev_image`),onClick:t[1]||=T(e=>vt(-1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(f,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`]),k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute right-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.next_image`),onClick:t[2]||=T(e=>vt(1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(p,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`])],64)):P(``,!0),j(ct)?(C(),I(`div`,{key:5,class:A([`absolute left-1/2 -translate-x-1/2 z-[3] max-w-[85%] pointer-events-none transition-all duration-200`,j(gt)?`bottom-16`:`bottom-10`])},[M(`span`,je,B(j(ct)),1)],2)):P(``,!0),M(`div`,{ref_key:`footerRef`,ref:qe,class:`absolute bottom-2 left-2 right-2 flex items-center justify-between gap-2 z-[3]`},[M(`div`,Me,[r.selectionMode?(C(),I(`div`,{key:0,class:A([`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0`,r.selected?`bg-primary border-primary`:`bg-black/40 border-white/80`])},[r.selected?(C(),O(m,{key:0,class:`w-4 h-4 text-white`})):P(``,!0)],2)):P(``,!0),(C(!0),I(y,null,w(j(ut),e=>(C(),I(`div`,{key:e,class:`flex items-center justify-center w-5 h-5 rounded-md bg-black/60 shrink-0`},[(C(),O(ye(j(S)[e]??j(S).motion),{class:`w-3 h-3 text-white/80`}))]))),128)),j(dt).length>0?(C(),I(`span`,{key:1,title:j(dt).join(`, `),class:`text-[10px] text-white/60 font-medium shrink-0`},` +`+B(j(dt).length),9,Ne)):P(``,!0)]),j(ft).length>0||j(pt)>0?(C(),I(`div`,Pe,[(C(!0),I(y,null,w(j(ft),(e,t)=>(C(),I(`div`,{key:t,class:A([`w-7 h-7 rounded overflow-hidden border bg-neutral-800 cursor-pointer`,t===j(Y)?`border-primary/80`:`border-white/20`]),onClick:e=>yt(t,e)},[M(`img`,{src:e.url,alt:e.type,decoding:`async`,loading:`lazy`,class:`w-full h-full object-cover`},null,8,Ie)],10,Fe))),128)),j(pt)>0?(C(),I(`span`,Le,`+`+B(j(pt)),1)):P(``,!0)])):P(``,!0)],512),j(z)&&j(U)&&j(z).isLoading.value?(C(),I(`div`,Re,[k(h,{class:`w-[28px] h-[28px] m-0`,"stroke-width":`6`})])):P(``,!0),j(gt)?(C(),I(`div`,ze,[M(`span`,Be,B(j(gt)),1)])):P(``,!0)],2)],544)}}}),[[`__scopeId`,`data-v-97ad8176`]]),qe={name:`VirtualScroller`,components:{SpinnerIcon:a},extends:{name:`BaseVirtualScroller`,extends:u,provide(){return{$pcVirtualScroller:this,$parentInstance:this}},props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:`vertical`},rtl:{type:Boolean,default:!1},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1},itemKey:{type:[String,Function],default:null}},style:V,beforeMount(){V.loadCSS({nonce:this.$primevueConfig?.csp?.nonce})}},inheritAttrs:!1,emits:[`update:numToleratedItems`,`scroll`,`scroll-index-change`,`lazy-load`],data(){let e=this.isBoth();return{first:e?{rows:0,cols:0}:0,last:e?{rows:0,cols:0}:0,page:e?{rows:0,cols:0}:0,numItemsInViewport:e?{rows:0,cols:0}:0,lastScrollPos:e?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,computed:{containerClass(){return[`p-virtualscroller`,this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal(),"p-virtualscroller-rtl":this.rtl&&this.isHorizontal()}]},contentClass(){return[`p-virtualscroller-content`,{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return[`p-virtualscroller-loader`,{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map(e=>this.columns?e:e.slice(this.appendOnly?0:this.first.cols,this.last.cols)):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){let e=this.isBoth(),t=this.isHorizontal();if(e||t)return this.d_loading&&this.loaderDisabled?e?this.loaderArr[0]:this.loaderArr:this.columns.slice(e?this.first.cols:this.first,e?this.last.cols:this.last)}return this.columns}},watch:{numToleratedItems(e){this.d_numToleratedItems=e},loading(e,t){this.lazy&&e!==t&&e!==this.d_loading&&(this.d_loading=e)},items(e,t){(!t||t.length!==(e||[]).length)&&this.scheduleInit()},itemSize(){this.scheduleInit()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.scheduleInit()},scrollWidth(){this.scheduleInit()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{resolveItemKey(e,t){let n=this.itemKey;return typeof n==`function`?n(e,t)??t:typeof n==`string`&&typeof e==`object`&&e?e[n]??t:t},viewInit(){r(this.element)&&(this.setContentEl(this.content),this.init(),this.calculateAutoSize(),this.bindResizeListener(),this.defaultWidth=p(this.element),this.defaultHeight=o(this.element),this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},scheduleInit(){this._initScheduled||(this._initScheduled=!0,Promise.resolve().then(()=>{this._initScheduled=!1,this.init(),this.calculateAutoSize()}))},isVertical(){return this.orientation===`vertical`},isHorizontal(){return this.orientation===`horizontal`},isBoth(){return this.orientation===`both`},scrollTo(e){this.element&&this.element.scrollTo(e)},scrollToIndex(e,t=`auto`){let n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r;if(n?e.every(e=>e>-1):e>-1){let a=this.first,{scrollTop:o=0,scrollLeft:s=0}=this.element,{numToleratedItems:c}=this.calculateNumItems(),l=this.getContentPosition(),u=this.itemSize,d=(e=0,t)=>e<=t?0:e,f=(e,t,n)=>e*t+n,p=(e=0,n=0)=>{i&&(e=this.element.scrollWidth-this.element.clientWidth-e),this.scrollTo({left:e,top:n,behavior:t})},m=n?{rows:0,cols:0}:0,h=!1,g=!1;n?(m={rows:d(e[0],c[0]),cols:d(e[1],c[1])},p(f(m.cols,u[1],l.left),f(m.rows,u[0],l.top)),g=this.lastScrollPos.top!==o||this.lastScrollPos.left!==s,h=m.rows!==a.rows||m.cols!==a.cols):(m=d(e,c),r?p(f(m,u,l.left),o):p(s,f(m,u,l.top)),g=this.lastScrollPos!==(r?s:o),h=m!==a),this.isRangeChanged=h,g&&(this.first=m)}},scrollInView(e,t,n=`auto`){if(t){let r=this.isBoth(),i=this.isHorizontal();if(r?e.every(e=>e>-1):e>-1){let{first:a,viewport:o}=this.getRenderedRange(),s=(e=0,t=0)=>this.scrollTo({left:e,top:t,behavior:n}),c=t===`to-start`,l=t===`to-end`;if(c){if(r)o.first.rows-a.rows>e[0]?s(o.first.cols*this.itemSize[1],(o.first.rows-1)*this.itemSize[0]):o.first.cols-a.cols>e[1]&&s((o.first.cols-1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.first-a>e){let e=(o.first-1)*this.itemSize;i?s(e,0):s(0,e)}}else if(l){if(r)o.last.rows-a.rows<=e[0]+1?s(o.first.cols*this.itemSize[1],(o.first.rows+1)*this.itemSize[0]):o.last.cols-a.cols<=e[1]+1&&s((o.first.cols+1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.last-a<=e+1){let e=(o.first+1)*this.itemSize;i?s(e,0):s(0,e)}}}}else this.scrollToIndex(e,n)},getRenderedRange(){let e=(e,t)=>Math.floor(e/(t||e)),t=this.first,n=0;if(this.element){let r=this.isBoth(),i=this.isHorizontal(),{scrollTop:a,scrollLeft:o}=this.element;r?(t={rows:e(a,this.itemSize[0]),cols:e(o,this.itemSize[1])},n={rows:t.rows+this.numItemsInViewport.rows,cols:t.cols+this.numItemsInViewport.cols}):(t=e(i?o:a,this.itemSize),n=t+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:t,last:n}}},calculateNumItems(){let e=this.isBoth(),t=this.isHorizontal(),n=this.itemSize,r=this.getContentPosition(),i=this.element?this.element.offsetWidth-r.left:0,a=this.element?this.element.offsetHeight-r.top:0,o=(e,t)=>Math.ceil(e/(t||e)),s=e=>Math.ceil(e/2),c=e?{rows:o(a,n[0]),cols:o(i,n[1])}:o(t?i:a,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(e?[s(c.rows),s(c.cols)]:s(c))}},calculateOptions(){let e=this.isBoth(),t=this.first,{numItemsInViewport:n,numToleratedItems:r}=this.calculateNumItems(),i=(e,t,n,r=!1)=>this.getLast(e+t+(e<n?2:3)*n,r),a=e?{rows:i(t.rows,n.rows,r[0]),cols:i(t.cols,n.cols,r[1],!0)}:i(t,n,r);this.last=a,this.numItemsInViewport=n,this.d_numToleratedItems=r,this.$emit(`update:numToleratedItems`,this.d_numToleratedItems),this.showLoader&&(this.loaderArr=e?Array.from({length:n.rows}).map(()=>Array.from({length:n.cols})):Array.from({length:n})),this.lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this.step?e?{rows:0,cols:t.cols}:0:t,last:Math.min(this.step?this.step:a,this.items?.length-1||0)},this.$emit(`lazy-load`,this.lazyLoadState)})},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.content){let e=this.isBoth(),t=this.isHorizontal(),n=this.isVertical();this.content.style.minHeight=this.content.style.minWidth=`auto`,this.content.style.position=`relative`,this.element.style.contain=`none`;let[r,i]=[p(this.element),o(this.element)];(e||t)&&(this.element.style.width=r<this.defaultWidth?r+`px`:this.scrollWidth||this.defaultWidth+`px`),(e||n)&&(this.element.style.height=i<this.defaultHeight?i+`px`:this.scrollHeight||this.defaultHeight+`px`),this.content.style.minHeight=this.content.style.minWidth=``,this.content.style.position=``,this.element.style.contain=``}})},getLast(e=0,t){return this.items?Math.min(t?(this.columns||this.items[0])?.length||0:this.items?.length||0,e):0},getContentPosition(){if(this.content){let e=getComputedStyle(this.content),t=parseFloat(e.paddingLeft)+Math.max(parseFloat(e.left)||0,0),n=parseFloat(e.paddingRight)+Math.max(parseFloat(e.right)||0,0),r=parseFloat(e.paddingTop)+Math.max(parseFloat(e.top)||0,0),i=parseFloat(e.paddingBottom)+Math.max(parseFloat(e.bottom)||0,0);return{left:t,right:n,top:r,bottom:i,x:t+n,y:r+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){let e=this.isBoth(),t=this.isHorizontal(),n=this.element.parentElement,r=this.scrollWidth||`${this.element.offsetWidth||n.offsetWidth}px`,i=this.scrollHeight||`${this.element.offsetHeight||n.offsetHeight}px`,a=(e,t)=>this.element.style[e]=t;e||t?(a(`height`,i),a(`width`,r)):a(`height`,i)}},setSpacerSize(){let e=this.items;if(e){let t=this.isBoth(),n=this.isHorizontal(),r=this.getContentPosition(),i=(e,t,n,r=0)=>this.spacerStyle={...this.spacerStyle,[`${e}`]:(t||[]).length*n+r+`px`};t?(i(`height`,e,this.itemSize[0],r.y),i(`width`,this.columns||e[1],this.itemSize[1],r.x)):n?i(`width`,this.columns||e,this.itemSize,r.x):i(`height`,e,this.itemSize,r.y)}},setContentPosition(e){if(this.content&&!this.appendOnly){let t=this.isBoth(),n=this.isHorizontal(),r=this.rtl&&n,i=e?e.first:this.first,a=(e,t)=>e*t,o=(e=0,t=0)=>{let n=r?-e:e;this.contentStyle={...this.contentStyle,transform:`translate3d(${n}px, ${t}px, 0)`}};if(t){let e=i.rows,t=i.cols,n=this.itemSize;o(a(t,n[1]),a(e,n[0]))}else{let e=i,t=this.itemSize,r=a(e,t);n?o(r,0):o(0,r)}}},onScrollPositionChange(e){let t=e.target,n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r,a=this.getContentPosition(),o=(e,t)=>e?e>t?e-t:e:0,s=(e,t)=>Math.floor(e/(t||e)),c=o(t.scrollTop,a.top),l=o(t.scrollLeft,a.left);i&&l<0&&(l=Math.abs(l));let u=n?{rows:0,cols:0}:0,d=this.last,f=!1,p=this.lastScrollPos;if(n){let e=this.lastScrollPos.top<=c,n=this.lastScrollPos.left<=l;if(!this.appendOnly||this.appendOnly&&(e||n)){let r={rows:s(c,this.itemSize[0]),cols:s(l,this.itemSize[1])},i={rows:this.calculateTriggerIndex(r.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateTriggerIndex(r.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n)};u={rows:this.calculateFirst(r.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateFirst(r.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n,!0)},d={rows:this.calculateLast(r.rows,u.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:this.calculateLast(r.cols,u.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=u.rows!==this.first.rows||d.rows!==this.last.rows||u.cols!==this.first.cols||d.cols!==this.last.cols||this.isRangeChanged,p={top:c,left:t.scrollLeft}}}else{let e=r?l:c,t=this.lastScrollPos<=e;if(!this.appendOnly||this.appendOnly&&t){let n=s(e,this.itemSize),r=this.calculateTriggerIndex(n,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t);u=this.calculateFirst(n,r,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t),d=this.calculateLast(n,u,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=u!==this.first||d!==this.last||this.isRangeChanged,p=e}}return{first:u,last:d,isRangeChanged:f,scrollPos:p}},calculateTriggerIndex(e,t,n,r,i,a){return e<=i?i:a?n-r-i:t+i-1},calculateFirst(e,t,n,r,i,a,o,s=!1){if(e<=a)return 0;let c=Math.max(0,o?e<t?n:e-a:e>t?n:e-2*a),l=this.getLast(c,s);return c>l?l-i:c},calculateLast(e,t,n,r,i,a=!1){let o=t+r+2*i;return e>=i&&(o+=i+1),this.getLast(o,a)},onScrollChange(e){let{first:t,last:n,isRangeChanged:r,scrollPos:i}=this.onScrollPositionChange(e);if(r){let e={first:t,last:n};if(this.setContentPosition(e),this.first=t,this.last=n,this.lastScrollPos=i,this.$emit(`scroll-index-change`,e),this.lazy&&this.isPageChanged(t)){let e={first:this.step?Math.min(this.getPageByFirst(t)*this.step,(this.items?.length||0)-this.step):t,last:Math.min(this.step?(this.getPageByFirst(t)+1)*this.step:n,this.items?.length-1||0)};(this.lazyLoadState.first!==e.first||this.lazyLoadState.last!==e.last)&&this.$emit(`lazy-load`,e),this.lazyLoadState=e}}},onScroll(e){if(this.$emit(`scroll`,e),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader){let{isRangeChanged:t}=this.onScrollPositionChange(e);(t||this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(e),this.d_loading&&this.showLoader&&(!this.lazy||this.loading===void 0)&&(this.d_loading=!1,this.page=this.getPageByFirst())},this.delay)}}else this.onScrollChange(e)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(r(this.element)){let e=this.isBoth(),t=this.isVertical(),n=this.isHorizontal(),[r,i]=[p(this.element),o(this.element)],[a,s]=[r!==this.defaultWidth,i!==this.defaultHeight];(e?a||s:n?a:t&&s)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=r,this.defaultHeight=i,this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.init())}},this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener(`resize`,this.resizeListener),window.addEventListener(`orientationchange`,this.resizeListener))},unbindResizeListener(){this.resizeListener&&=(window.removeEventListener(`resize`,this.resizeListener),window.removeEventListener(`orientationchange`,this.resizeListener),null)},getOptions(e){let t=(this.items||[]).length,n=this.isBoth()?this.first.rows+e:this.first+e;return{index:n,count:t,first:n===0,last:n===t-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions(e,t){let n=this.loaderArr.length;return{index:e,count:n,first:e===0,last:e===n-1,even:e%2==0,odd:e%2!=0,...t}},getPageByFirst(e){return Math.floor(((e??this.first)+this.d_numToleratedItems*4)/(this.step||1))},isPageChanged(e){return this.step&&!this.lazy?this.page!==this.getPageByFirst(e??this.first):!0},setContentEl(e){this.content=e||this.content||l(this.element,`[data-pc-section="content"]`)},elementRef(e){this.element=e},contentRef(e){this.content=e}}},H=[`tabindex`];function Je(e,t,n,r,i,a){let o=S(`SpinnerIcon`);return e.disabled?(C(),I(y,{key:1},[x(e.$slots,`default`),x(e.$slots,`content`,{items:e.items,rows:e.items,columns:a.loadedColumns})],64)):(C(),I(`div`,b({key:0,ref:a.elementRef,class:a.containerClass,tabindex:e.tabindex,style:e.style},e.ptmi(`root`),{onScroll:t[0]||=(...e)=>a.onScroll&&a.onScroll(...e)}),[x(e.$slots,`content`,{styleClass:a.contentClass,items:a.loadedItems,getItemOptions:a.getOptions,loading:i.d_loading,getLoaderOptions:a.getLoaderOptions,itemSize:e.itemSize,rows:a.loadedRows,columns:a.loadedColumns,contentRef:a.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:a.isVertical(),horizontal:a.isHorizontal(),both:a.isBoth()},()=>[M(`div`,b({ref:a.contentRef,class:a.contentClass,style:i.contentStyle},e.ptm(`content`)),[(C(!0),I(y,null,w(a.loadedItems,(t,n)=>x(e.$slots,`item`,{item:t,options:a.getOptions(n)},void 0,void 0,a.resolveItemKey(t,n))),128))],16)]),e.showSpacer?(C(),I(`div`,b({key:0,class:`p-virtualscroller-spacer`,style:i.spacerStyle},e.ptm(`spacer`)),null,16)):P(``,!0),!e.loaderDisabled&&e.showLoader&&i.d_loading?(C(),I(`div`,b({key:1,class:a.loaderClass},e.ptm(`loader`)),[e.$slots&&e.$slots.loader?(C(!0),I(y,{key:0},w(i.loaderArr,(t,n)=>x(e.$slots,`loader`,{options:a.getLoaderOptions(n,a.isBoth()&&{numCols:e.d_numItemsInViewport.cols})},void 0,void 0,n)),128)):P(``,!0),x(e.$slots,`loadingicon`,{},()=>[k(o,b({spin:``,class:`p-virtualscroller-loading-icon`},e.ptm(`loadingIcon`)),null,16)])],16)):P(``,!0)],16,H))}var U=v(qe,[[`render`,Je]]),W=v(N({__name:`CuiRecordingsGrid`,props:{items:{},minItemWidth:{},aspectRatio:{default:1},gap:{default:8},hasMore:{type:Boolean,default:!1},loadMore:{type:Function,default:void 0},itemKey:{type:Function,default:void 0}},setup(e,{expose:t}){let n=e,r=E(`containerRef`),{width:i,height:a}=te(r),o=F(()=>a.value>0?`${a.value}px`:void 0),s=F(()=>{let e=i.value;if(!e)return 0;let t=n.gap;return Math.max(1,Math.floor((e+t)/(n.minItemWidth+t)))}),c=F(()=>{let e=i.value,t=s.value;return!e||!t?0:Math.floor((e-(t-1)*n.gap)/t)}),l=F(()=>c.value?Math.floor(c.value/n.aspectRatio):0),u=F(()=>l.value?l.value+n.gap:0),d=F(()=>{let e=s.value;if(!e)return[];let t=[];for(let r=0;r<n.items.length;r+=e)t.push(n.items.slice(r,r+e));return t});function f(e){if(n.itemKey)return n.itemKey(e);let t=e;return t.id??t.key??JSON.stringify(e)}function p(e){let t=e;if(!(!t||t.length===0))return f(t[0])}let m=!1,h=null;async function g(){if(m||!n.hasMore||!n.loadMore||h!==null&&n.items.length===h)return;m=!0;let e=n.items.length;try{await Promise.resolve(n.loadMore())}finally{m=!1,h=n.items.length===e?e:null}}let _=L(0);function ee(e){let t=e.target;if(!t)return;_.value=t.scrollTop;let n=u.value*3;t.scrollTop+t.clientHeight>=t.scrollHeight-n&&g()}function ne(){(r.value?.querySelector(`.recordings-scroll`))?.scrollTo({top:0,behavior:`smooth`})}let v=!1;return ve([()=>n.items.length,a,u,()=>n.hasMore],()=>{v||(v=!0,z(()=>{if(v=!1,!n.hasMore)return;let e=a.value,t=d.value.length*u.value;e>0&&u.value>0&&t<e+u.value&&g()}))},{flush:`post`}),t({scrollToTop:ne,scrollY:_}),(t,n)=>{let i=U;return C(),I(`div`,{ref_key:`containerRef`,ref:r,class:`recordings-grid-root`},[j(d).length>0&&j(c)>0?(C(),O(i,{key:0,items:j(d),"item-size":j(u),"scroll-height":j(o),orientation:`vertical`,class:`recordings-scroll`,"num-tolerated-items":2,"item-key":p,onScroll:ee},{item:D(({item:n})=>[M(`div`,{class:`recordings-row`,style:R({height:`${j(u)}px`,gap:`${e.gap}px`})},[(C(!0),I(y,null,w(n,e=>(C(),I(`div`,{key:f(e),style:R({width:`${j(c)}px`,height:`${j(l)}px`})},[x(t.$slots,`item`,{item:e},void 0,!0)],4))),128))],4)]),_:3},8,[`items`,`item-size`,`scroll-height`])):P(``,!0)],512)}}}),[[`__scopeId`,`data-v-e61b8b84`]]);function G(e){if(e.episode)return e.episode.endTime;if(e.segIndex!==void 0){let t=e.event.segments?.[e.segIndex];if(t)return t.firstSeen}return e.event.thumbnailAt??e.event.startTime}function K(e){let t=[];for(let n of e){let e=n.segments??[];if(e.length<=1){t.push({event:n,key:n.id});continue}e.forEach((e,r)=>{e&&t.push({event:n,key:`${n.id}:seg:${r}`,segIndex:r})})}return t.sort((e,t)=>G(t)-G(e)),t}export{Ke as i,G as n,W as r,K as t};
@@ -1 +0,0 @@
1
- .recording-card[data-v-97ad8176]{contain:layout;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover:hover) and (pointer:fine){.carousel-nav[data-v-97ad8176]{opacity:0}.recording-card:hover .carousel-nav[data-v-97ad8176],.recording-card:focus-within .carousel-nav[data-v-97ad8176]{opacity:1}}.recordings-grid-root[data-v-e61b8b84]{width:100%;height:100%;min-height:0}.recordings-scroll[data-v-e61b8b84]{scrollbar-width:none;scroll-snap-type:y proximity;width:100%;height:100%;overflow:hidden auto}.recordings-scroll[data-v-e61b8b84]::-webkit-scrollbar{display:none}.recordings-row[data-v-e61b8b84]{scroll-snap-align:start;align-items:stretch;display:flex}
@@ -1 +0,0 @@
1
- import{Cr as e,Mr as t,g as n,s as r}from"./api-BI5TkcMD.js";import{sr as i}from"./vendor-nVfLT5jI.js";import{l as a}from"./server-CIDx_I6S.js";import{n as o}from"./useServerRestart-DDW-nw_t.js";var s=3e5;async function c(e){return(await t.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,n){return(await t.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&n?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await t.get(`/backup/scheduler`)).data}async function d(e){return(await t.patch(`/backup/scheduler`,e)).data}async function f(){return(await t.post(`/backup/scheduler/run`)).data}async function p(e){return(await t.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await t.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function t(t){let i=e();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,t),b(await l(e,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=r(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await n().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:t}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
@@ -1 +0,0 @@
1
- import{$r as e,Ei as t,Oi as n,Si as r,Ti as i,Xr as a,Yr as o,_i as s,ai as c,ei as l,gi as u,ki as d,mi as f,ni as p,oi as m,ti as h,ui as g,wi as _}from"./vendor-cameraui-BRv7o4zz.js";import{$n as ee,An as v,Kn as y,Nn as b,Qn as x,Tn as S,_n as C,ar as w,cr as te,dr as ne,fr as re,hn as ie,hr as T,ir as ae,jn as oe,kn as E,lr as se,mn as D,mr as O,nr as k,pr as A,rn as j,rr as M,sr as N,tr as P,ur as F,vn as I,wn as ce,yn as L}from"./vendor-nVfLT5jI.js";var R=typeof window<`u`,z,B=e=>z=e,le=Symbol();function ue(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var de=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function fe(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function pe(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){_e(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function me(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function V(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var he=typeof navigator==`object`?navigator:{userAgent:``},ge=/Macintosh/.test(he.userAgent)&&/AppleWebKit/.test(he.userAgent)&&!/Safari/.test(he.userAgent),_e=R?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!ge?ve:`msSaveOrOpenBlob`in he?ye:be:()=>{};function ve(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?V(r):me(r.href)?pe(e,t,n):(r.target=`_blank`,V(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){V(r)},0))}function ye(e,t=`download`,n){if(typeof e==`string`){if(me(e))pe(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){V(t)})}}else navigator.msSaveOrOpenBlob(fe(e,n),t)}function be(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return pe(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(de.HTMLElement))||`safari`in de,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||ge)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:xe}=Object;function Se(){let e=x(!0),t=e.run(()=>N({})),n=[],r=[],i=M({install(e){B(i),i._a=e,e.provide(le,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Ce=()=>{};function we(e,t,n,r=Ce){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&ee()&&ae(i),i}function H(e,...t){e.forEach(e=>{e(...t)})}var Te=e=>e(),Ee=Symbol(),De=Symbol();function Oe(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=ue(i)&&ue(r)&&Object.hasOwn(e,n)&&!k(r)&&!P(r)?Oe(i,r):r}return e}var ke=Symbol();function Ae(e){return!e||typeof e!=`object`||!Object.hasOwn(e,ke)}var{assign:U}=Object;function je(e){return!!(k(e)&&e.effect)}function Me(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),U(A(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=M(j(()=>{B(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Ne(e,l,t,n,r,!0),c}function Ne(e,t,n={},r,i,a){let o,s=U({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(Oe(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();ce().then(()=>{h===i&&(l=!0)}),u=!0,H(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{U(e,t)})}:Ce;function ee(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Ee in t)return t[De]=n,t;let i=function(){B(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}H(f,{args:n,name:i[De],store:S,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:S,n)}catch(e){throw H(o,e),e}return l instanceof Promise?l.then(e=>(H(a,e),e)).catch(e=>(H(o,e),Promise.reject(e))):(H(a,l),l)};return i[Ee]=!0,i[De]=n,i},b={_p:r,$id:e,$onAction:we.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return Ce;let i=we(d,t,n.detached,()=>a()),a=o.run(()=>y(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},U({},c,n)));return i},$dispose:ee},S=w(b);r._s.set(e,S);let C=(r._a&&r._a.runWithContext||Te)(()=>r._e.run(()=>(o=x()).run(()=>t({action:v}))));for(let t in C){let n=C[t];k(n)&&!je(n)||P(n)?a||(m&&Ae(n)&&(k(n)?n.value=m[t]:((n instanceof Set||n instanceof Map)&&n.clear(),Oe(n,m[t]))),r.state.value[e][t]=n):typeof n==`function`&&(C[t]=v(n,t),s.actions[t]=n)}return U(S,C),U(ne(S),C),Object.defineProperty(S,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{U(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:S,app:r._a,pinia:r,options:s}));U(S,t)}),m&&a&&n.hydrate&&n.hydrate(S.$state,m),l=!0,u=!0,S}function Pe(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=I();return n||=o?L(le,null):null,n&&B(n),n=z,n._s.has(e)||(i?Ne(e,t,r,n):Me(e,r,n)),n._s.get(e)}return a.$id=e,a}function Fe(e){let t=ne(e),n={};for(let r in t){let i=t[r];i?.effect?n[r]=j({get:()=>e[r],set(t){e[r]=t}}):(k(i)||P(i))&&(n[r]=re(e,r))}return n}var Ie=e=>e.startsWith(`/`);function Le(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Re(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Le(e.default)}var W=Object.assign;function ze(e,t){let n={};for(let r in t){let i=t[r];n[r]=K(i)?i.map(e):e(i)}return n}var G=()=>{},K=Array.isArray;function Be(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Ve=Symbol(``);function q(e,t){return W(Error(),{type:e,[Ve]:!0},t)}function J(e,t){return e instanceof Error&&Ve in e&&(t==null||!!(e.type&t))}var He=Symbol(``),Ue=Symbol(``),We=Symbol(``),Ge=Symbol(``),Ke=Symbol(``);function qe(){return L(We)}function Je(e){return L(Ge)}var Y=typeof document<`u`,Ye=/#/g,Xe=/&/g,Ze=/\//g,Qe=/=/g,$e=/\?/g,et=/\+/g,tt=/%5B/g,nt=/%5D/g,rt=/%5E/g,it=/%60/g,at=/%7B/g,ot=/%7C/g,st=/%7D/g,ct=/%20/g;function lt(e){return e==null?``:encodeURI(``+e).replace(ot,`|`).replace(tt,`[`).replace(nt,`]`)}function ut(e){return lt(e).replace(at,`{`).replace(st,`}`).replace(rt,`^`)}function dt(e){return lt(e).replace(et,`%2B`).replace(ct,`+`).replace(Ye,`%23`).replace(Xe,`%26`).replace(it,"`").replace(at,`{`).replace(st,`}`).replace(rt,`^`)}function ft(e){return dt(e).replace(Qe,`%3D`)}function pt(e){return lt(e).replace(Ye,`%23`).replace($e,`%3F`)}function mt(e){return pt(e).replace(Ze,`%2F`)}function ht(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var gt=/\/$/,_t=e=>e.replace(gt,``);function vt(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=Tt(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:ht(o)}}function yt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function bt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function xt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&X(t.matched[r],n.matched[i])&&St(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function X(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function St(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ct(e[n],t[n]))return!1;return!0}function Ct(e,t){return K(e)?wt(e,t):K(t)?wt(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function wt(e,t){return K(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Tt(e,t){if(Ie(e))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`){if(s===`..`)a>1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Z={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function Et(e){if(!e){if(Y){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),_t(e)}var Dt=/^[^#]+#/;function Ot(e,t){return e.replace(Dt,`#`)+t}function kt(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var At=()=>history.scrollRestoration===`manual`?{left:window.scrollX,top:window.scrollY}:null;function jt(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=kt(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Mt(e,t){return(history.state?history.state.position-t:-1)+e}var Nt=new Map;function Pt(e){Nt.set(e,At())}function Ft(e){let t=Nt.get(e);return Nt.delete(e),t}function It(e){return typeof e==`string`||e&&typeof e==`object`}function Lt(e){return typeof e==`string`||typeof e==`symbol`}function Rt(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(et,` `),i=r.indexOf(`=`),a=ht(i<0?r:r.slice(0,i)),o=i<0?null:ht(r.slice(i+1));if(a in t){let e=t[a];K(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function zt(e){let t=``;for(let n in e){let r=e[n];if(n=ft(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(K(r)?r.map(e=>e&&dt(e)):[r&&dt(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Bt(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=K(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Vt(e,t,n){let r=e.value;if(!r)return;let i=r,a=()=>{i[t].delete(n)};oe(a),E(a),S(()=>{let r=e.value;r&&(i=r),i[t].add(n)}),i[t].add(n)}function Ht(e){Vt(L(He,{}),`leaveGuards`,e)}function Ut(e){Vt(L(He,{}),`updateGuards`,e)}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(q(4,{from:n,to:t})):e instanceof Error?c(e):It(e)?c(q(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Wt(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e])){if(Le(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Re(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}}return a}function Gt(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>X(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>X(e,s))||i.push(s))}return[n,r,i]}var Kt=()=>location.protocol+`//`+location.host;function qt(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),bt(n,``)}return bt(n,e)+r+i}function Jt(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=qt(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){let{history:e}=window;e.state&&e.replaceState(W({},e.state,{scroll:At()}),``)}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),{pauseListeners:c,listen:l,destroy:d}}function Yt(e,t,n,r=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:null}}function Xt(e){let{history:t,location:n}=window,r={value:qt(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Kt()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,W({},t.state,Yt(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=W({},i.value,t.state,{forward:e,scroll:At()});a(o.current,o,!0),a(e,W({},Yt(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Zt(e){e=Et(e);let t=Xt(e),n=Jt(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=W({location:``,base:e,go:r,createHref:Ot.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Qt(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Zt(e)}var $t={type:0,value:``},en=/[a-zA-Z0-9_]/;function tn(e){if(!e)return[[]];if(e===`/`)return[[$t]];if(!Ie(e))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:en.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`)}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var nn=`[^/]+?`,rn={sensitive:!1,strict:!1,start:!0,end:!0},an=/[.+*?^${}()[\]/\\]/g;function on(e,t){let n=W({},rn,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(an,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||nn;if(u!==nn){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(K(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=K(c)?c.join(`/`):c;if(!l){if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`)}n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function sn(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function cn(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=sn(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(ln(r))return 1;if(ln(i))return-1}return i.length-r.length}function ln(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var un={strict:!1,end:!0,sensitive:!1};function dn(e,t,n){let r=W(on(tn(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function fn(e,t){let n=[],r=new Map;t=Be(un,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=mn(e);s.aliasOf=r&&r.record;let l=Be(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(mn(W({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&!Ie(u)){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=dn(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!gn(d)&&o(e.name)),bn(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:G}function o(e){if(Lt(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=vn(e,n);n.splice(t,0,e),e.record.name&&!gn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw q(1,{location:e});s=i.record.name,a=W(pn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&pn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw q(1,{location:e,currentLocation:t});s=i.record.name,a=W({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:_n(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function pn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function mn(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:hn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function hn(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function gn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _n(e){return e.reduce((e,t)=>W(e,t.meta),{})}function vn(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;cn(e,t[i])<0?r=i:n=i+1}let i=yn(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function yn(e){let t=e;for(;t=t.parent;)if(bn(t)&&cn(e,t)===0)return t}function bn({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function xn(e){let t=L(We),n=L(Ge),r=j(()=>{let n=T(e.to);return t.resolve(n)}),i=j(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(X.bind(null,i));if(o>-1)return o;let s=En(e[t-2]);return t>1&&En(i)===s&&a[a.length-1].path!==s?a.findIndex(X.bind(null,e[t-2])):o}),a=j(()=>i.value>-1&&Tn(n.params,r.value.params)),o=j(()=>i.value>-1&&i.value===n.matched.length-1&&St(n.params,r.value.params));function s(n={}){if(wn(n)){let n=t[T(e.replace)?`replace`:`push`](T(e.to)).catch(G);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:j(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Sn(e){return e.length===1?e[0]:e}var Cn=D({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:xn,setup(e,{slots:t}){let n=w(xn(e)),{options:r}=L(We),i=j(()=>({[Dn(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[Dn(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Sn(t.default(n));return e.custom?r:C(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function wn(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Tn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!K(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function En(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Dn=(e,t,n)=>e??t??n,On=D({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=L(Ke),i=j(()=>e.route||r.value),a=L(Ue,0),o=j(()=>{let e=T(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=j(()=>i.value.matched[o.value]);b(Ue,j(()=>o.value+1)),b(He,s),b(Ke,i);let c=N();return y(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!X(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return kn(n.default,{Component:l,route:r});let u=o.props[a],d=u?u===!0?r.params:typeof u==`function`?u(r):u:null,f=C(l,W({},d,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return kn(n.default,{Component:f,route:r})||f}}});function kn(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var An=On;function jn(e){let t=fn(e.routes,e),n=e.parseQuery||Rt,r=e.stringifyQuery||zt,i=e.history,a=Q(),o=Q(),s=Q(),c=F(Z),l=F(0),u=Z;Y&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=ze.bind(null,e=>``+e),f=ze.bind(null,mt),p=ze.bind(null,ht);function m(e,n){let r,i;Lt(e)?(r=t.getRecordMatcher(e),i=n):i=e;let a=t.addRoute(i,r);return l.value++,()=>{a(),l.value++}}function h(e){let n=t.getRecordMatcher(e);n&&(t.removeRoute(n),l.value++)}function g(){t.clearRoutes(),l.value++}function _(){return t.getRoutes().map(e=>e.record)}function ee(e){return!!t.getRecordMatcher(e)}function v(e,a){if(l.value,typeof e==`string`){a||=e.startsWith(`/`)?Z:c.value;let r=vt(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return W(r,o,{params:p(o.params),redirectedFrom:void 0,href:s})}a=W({},a||(e.path!=null&&e.path.startsWith(`/`)&&!(`name`in e&&e.name)?Z:c.value));let o;if(e.path!=null)o=W({},e,{path:vt(n,e.path,a.path).path});else{let t=W({},e.params);for(let e in t)t[e]??delete t[e];o=W({},e,{params:f(t)}),a.params=f(a.params)}let s=t.resolve(o,a),u=e.hash||``;s.params=d(p(s.params));let m=yt(r,W({},e,{hash:ut(u),path:s.path})),h=i.createHref(m);return W({fullPath:m,hash:u,query:r===zt?Bt(e.query):e.query||{}},s,{redirectedFrom:void 0,href:h})}function y(e){return typeof e==`string`?vt(n,e,c.value.path):W({},e)}function b(e,t){if(u!==e)return q(8,{from:t,to:e})}function x(e){return w(e)}function S(e){return x(W(y(e),{replace:!0}))}function C(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=y(i):{path:i},i.params={}),W({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function w(e,t){let n=u=v(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,l=C(n,i);if(l)return w(W(y(l),{state:typeof l==`object`?W({},a,l.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&xt(r,i,n)&&(f=q(16,{to:d,from:i}),N(i,i,!0,!1)),(f?Promise.resolve(f):ie(d,i)).catch(e=>J(e)?J(e,2)?e:M(e):A(e,d,i)).then(e=>{if(e){if(J(e,2))return w(W({replace:s},y(e.to),{state:typeof e.to==`object`?W({},a,e.to.state):a,force:o}),t||d)}else e=oe(d,i,!0,s,a);return ae(d,i,e),e})}function ne(e,t){let n=b(e,t);return n?Promise.reject(n):Promise.resolve()}function re(e){let t=L.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ie(e,t){let n,[r,i,s]=Gt(e,t);n=Wt(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let c=ne.bind(null,e,t);return n.push(c),z(n).then(()=>{n=[];for(let r of a.list())n.push($(r,e,t));return n.push(c),z(n)}).then(()=>{n=Wt(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(c),z(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter){if(K(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t))}return n.push(c),z(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Wt(s,`beforeRouteEnter`,e,t,re),n.push(c),z(n))).then(()=>{n=[];for(let r of o.list())n.push($(r,e,t));return n.push(c),z(n)}).catch(e=>J(e,8)?e:Promise.reject(e))}function ae(e,t,n){s.list().forEach(r=>re(()=>r(e,t,n)))}function oe(e,t,n,r,a){let o=b(e,t);if(o)return o;let s=t===Z,l=Y?history.state:{};n&&(r||s?i.replace(e.fullPath,W({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,N(e,t,n,s),M()}let E;function se(){E||=i.listen((e,t,n)=>{if(!R.listening)return;let r=v(e),a=C(r,R.currentRoute.value);if(a){w(W(a,{replace:!0,force:!0}),r).catch(G);return}u=r;let o=c.value;Y&&n.delta&&Pt(Mt(o.fullPath,n.delta)),ie(r,o).catch(e=>J(e,12)?e:J(e,2)?(w(W(y(e.to),{force:!0}),r).then(e=>{J(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(G),Promise.reject()):(n.delta&&i.go(-n.delta,!1),A(e,r,o))).then(e=>{e||=oe(r,o,!1),e&&(n.delta&&!J(e,8)?i.go(-n.delta,!1):n.type===`pop`&&J(e,20)&&i.go(-1,!1)),ae(r,o,e)}).catch(G)})}let D=Q(),O=Q(),k;function A(e,t,n){M(e);let r=O.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function j(){return k&&c.value!==Z?Promise.resolve():new Promise((e,t)=>{D.add([e,t])})}function M(e){return k||(k=!e,se(),D.list().forEach(([t,n])=>e?n(e):t()),D.reset()),e}function N(t,n,r,i){let{scrollBehavior:a}=e;if(!Y||!a)return Promise.resolve();let o=!r&&Ft(Mt(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ce().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&jt(e)).catch(e=>t===c.value&&A(e,t,n))}let P=e=>i.go(e),I,L=new Set,R={currentRoute:c,listening:!0,addRoute:m,removeRoute:h,clearRoutes:g,hasRoute:ee,getRoutes:_,resolve:v,options:e,push:x,replace:S,go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:O.add,isReady:j,install(e){e.component(`RouterLink`,Cn),e.component(`RouterView`,An),e.config.globalProperties.$router=R,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>T(c)}),Y&&!I&&c.value===Z&&(I=!0,x(i.location).catch(e=>{}));let t={};for(let e in Z)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(We,R),e.provide(Ge,te(t)),e.provide(Ke,c);let n=e.unmount;L.add(e),e.unmount=function(){L.delete(e),L.size<1&&(u=Z,E&&E(),E=null,c.value=Z,I=!1,k=!1),n()}}};function z(e){return e.reduce((e,t)=>e.then(()=>re(t)),Promise.resolve())}return R}r({mounted(e,t){let n=t.arg?.split(`,`)??!0;if(typeof t.value==`function`)o(n,t.value,{target:e});else{let[r,i]=t.value;o(n,r,{target:e,...i})}}});var Mn=r({mounted(e,t){typeof t.value==`function`?a(e,t.value,{modifiers:t.modifiers}):a(e,...t.value)}});r({mounted(t,n){let[r,i]=typeof n.value==`function`?[n.value,{}]:n.value,{height:a,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}=e(t,i);y([a,o,s,c,l,u,d,f],()=>r({height:a,bottom:o,left:s,right:c,top:l,width:u,x:d,y:f}))}});var Nn=r({mounted(e,t){let n=t.value;if(typeof n==`function`)y(l(e),e=>n(e));else{let[t,r]=n;y(l(e,r),e=>t(e))}}}),Pn=_?window:void 0;_&&window.document,_&&window.navigator,_&&window.location;function Fn(e){let t=O(e);return t?.$el??t}function In(){let e=F(!1),t=ie();return t&&v(()=>{e.value=!0},t),e}function Ln(e){let t=In();return j(()=>(t.value,!!e()))}function Rn(e,t,r={}){let{window:a=Pn,...o}=r,s,c=Ln(()=>a&&`MutationObserver`in a),l=()=>{s&&=(s.disconnect(),void 0)},u=y(j(()=>{let t=n(O(e)).map(Fn).filter(i);return new Set(t)}),e=>{l(),c.value&&e.size&&(s=new MutationObserver(t),e.forEach(e=>s.observe(e,o)))},{immediate:!0,flush:`post`}),f=()=>s?.takeRecords(),p=()=>{u(),l()};return d(p),{isSupported:c,stop:p,takeRecords:f}}function zn(e,t,n={}){let{window:r=Pn,...i}=n,a,o=Ln(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=y(j(()=>{let t=O(e);return Array.isArray(t)?t.map(e=>Fn(e)):[Fn(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return d(l),{isSupported:o,stop:l}}function Bn(e,t={}){let{observeMutation:n=!1,onUpdated:r,window:i=Pn}=t,a=F(!1),o=F(!1);function s(e){a.value=e.scrollWidth>e.offsetWidth,o.value=e.scrollHeight>e.offsetHeight}let c=r,l=j(()=>{let t=Fn(e);if(!(!t||t instanceof SVGElement))return t}),u=()=>{let e=l.value;return!e||e instanceof SVGElement?[]:[e,...Array.from(e.children).filter(e=>e instanceof HTMLElement)]};if(zn(u,(e,t)=>{let n=l.value;n&&s(n),c?.(e,t)},{window:i}),n){let e=r;Rn(u,(t,n)=>{let r=l.value;r&&s(r),e?.(t,n)},{window:i,...typeof n==`object`?n:{childList:!0,subtree:!0,characterData:!0}})}return{isXOverflowed:se(a),isYOverflowed:se(o),stop,update:()=>{let e=l.value;e&&i&&s(e)}}}r({mounted(e,t){let[n,r]=typeof t.value==`function`?[t.value]:t.value,i=Bn(e,r),{isXOverflowed:a,isYOverflowed:o}=i;y([a,o],()=>n(i),{immediate:!0})}}),r({mounted(e,t){let n=typeof t.value==`function`?t.value:t.value?.[0],{width:r,height:i}=h(e,...typeof t.value==`function`?[]:t.value.slice(1));y([r,i],([e,t])=>n({width:e,height:t}),{immediate:!0})}}),r({mounted(e,t){if(typeof t.value==`function`){let n=t.value;y(p(e),e=>n(e),{immediate:!0})}else{let[n,r]=t.value;if(r?.controls){let t=p(e,r);y(t.isVisible,()=>n(t),{immediate:!0})}else y(p(e,r),e=>n(e),{immediate:!0})}}}),r({mounted(e,t){typeof t.value==`function`?c(e,t.value):c(e,...t.value)}});var Vn=r({mounted(e,t){typeof t.value==`function`?m(e,t.value):m(e,...t.value)}});r({mounted(e,n){let[r,i]=typeof n.value==`function`?[n.value,{}]:n.value;y(t(w(g(e,i)),`stop`),e=>r(e))}}),r({mounted(e,t){typeof t.value==`function`?f(e,t.value):f(e,...t.value)}}),r({mounted(e,t){if(typeof t.value==`function`){let n=t.value,r=u(e,{onScroll(){n(r)},onStop(){n(r)}})}else{let[n,r]=t.value,i=u(e,{...r,onScroll(e){var t;(t=r.onScroll)==null||t.call(r,e),n(i)},onStop(e){var t;(t=r.onStop)==null||t.call(r,e),n(i)}})}}});function Hn(){let e=!1,t=F(!1);return r((n,r)=>{if(t.value=r.value,e)return;e=!0;let i=s(n,r.value);y(t,e=>i.value=e)})}Hn();export{Qt as a,Ut as c,Se as d,Pe as f,jn as i,Je as l,Vn as n,Zt as o,Fe as p,Mn as r,Ht as s,Nn as t,qe as u};
@@ -1,105 +0,0 @@
1
- import { H as e, _t as t, d as n, kt as r, l as i, lt as a, p as o, u as s, ut as c, x as l } from "./runtime-core.esm-bundler-D8slQ3BU.js";
2
- import { t as u } from "./tooltip-BIrD_hC8.js";
3
- import { I as d, Rr as f, ot as p, st as m, yr as h } from "./api-DDUXI4DG.js";
4
- import { n as g } from "./vue-i18n-Dcb07o5U.js";
5
- import { k as _ } from "./dist-BQFunPaA.js";
6
- import { t as v } from "./button-BlYuI0Q7.js";
7
- //#region ~icons/mdi/cloud-alert
8
- var y = {
9
- viewBox: "0 0 24 24",
10
- width: "1.2em",
11
- height: "1.2em"
12
- };
13
- function b(t, n) {
14
- return e(), o("svg", y, [...n[0] ||= [s("path", {
15
- fill: "currentColor",
16
- d: "M21.86 12.5A4.3 4.3 0 0 0 19 11c0-1.95-.68-3.6-2.04-4.96S13.95 4 12 4c-1.58 0-3 .47-4.25 1.43s-2.08 2.19-2.5 3.72c-1.25.28-2.29.93-3.08 1.95S1 13.28 1 14.58c0 1.51.54 2.8 1.61 3.85C3.69 19.5 5 20 6.5 20h12c1.25 0 2.31-.44 3.19-1.31c.87-.88 1.31-1.94 1.31-3.19q0-1.725-1.14-3M13 17h-2v-2h2zm0-4h-2V7h2z"
17
- }, null, -1)]]);
18
- }
19
- var x = t({
20
- name: "mdi-cloud-alert",
21
- render: b
22
- }), S = {
23
- viewBox: "0 0 24 24",
24
- width: "1.2em",
25
- height: "1.2em"
26
- };
27
- function C(t, n) {
28
- return e(), o("svg", S, [...n[0] ||= [s("path", {
29
- fill: "currentColor",
30
- d: "M13 19c0 .34.04.67.09 1H6.5c-1.5 0-2.81-.5-3.89-1.57C1.54 17.38 1 16.09 1 14.58q0-1.95 1.17-3.48C3.34 9.57 4 9.43 5.25 9.15c.42-1.53 1.25-2.77 2.5-3.72S10.42 4 12 4c1.95 0 3.6.68 4.96 2.04S19 9.05 19 11c1.15.13 2.1.63 2.86 1.5c.51.57.84 1.21 1 1.92A5.9 5.9 0 0 0 19 13c-3.31 0-6 2.69-6 6m4.75.43l-1.59-1.59L15 19l2.75 3l4.75-4.75l-1.16-1.41z"
31
- }, null, -1)]]);
32
- }
33
- var w = t({
34
- name: "mdi-cloud-check",
35
- render: C
36
- }), T = /* @__PURE__ */ l({
37
- __name: "CuiPluginOAuthButton",
38
- props: {
39
- pluginName: {},
40
- routeTo: {}
41
- },
42
- setup(t) {
43
- let o = m(() => import("./OAuthDeviceFlow-vgBWOkzP.js")), s = t, l = p(), y = f(), { t: b } = g(), { state: S } = _(s.pluginName), C = i(() => {
44
- switch (S.value.status) {
45
- case "connected": return b("components.oauth.tooltip_connected", { email: S.value.userEmail || "—" });
46
- case "awaiting_user":
47
- case "polling": return b("components.oauth.tooltip_authorizing");
48
- case "error": return b("components.oauth.tooltip_error");
49
- default: return b("components.oauth.tooltip_connect");
50
- }
51
- });
52
- function T() {
53
- if (s.routeTo) {
54
- y.push(s.routeTo);
55
- return;
56
- }
57
- l.openComponentDialog(o, { data: {
58
- title: b("components.oauth.dialog_title"),
59
- stayActive: !0,
60
- hideConfirmButton: i(() => S.value.status === "awaiting_user" || S.value.status === "polling"),
61
- confirmText: i(() => S.value.status === "connected" ? b("components.oauth.disconnect") : b("components.oauth.connect")),
62
- cancelText: i(() => S.value.status === "connected" ? b("components.form.button.close") : b("components.form.button.cancel")),
63
- contentProps: { pluginName: s.pluginName }
64
- } });
65
- }
66
- return (t, i) => {
67
- let o = w, s = h, l = x, f = d, p = v, m = u;
68
- return c((e(), n(p, {
69
- severity: "secondary",
70
- text: "",
71
- rounded: "",
72
- class: "cui-icon-md",
73
- onClick: T
74
- }, {
75
- icon: a(() => [r(S).status === "connected" ? (e(), n(o, {
76
- key: 0,
77
- class: "text-green-500",
78
- width: "100%",
79
- height: "100%"
80
- })) : r(S).status === "awaiting_user" || r(S).status === "polling" ? (e(), n(s, {
81
- key: 1,
82
- class: "w-5 h-5 m-0",
83
- "stroke-width": "6"
84
- })) : r(S).status === "error" ? (e(), n(l, {
85
- key: 2,
86
- class: "text-red-500",
87
- width: "100%",
88
- height: "100%"
89
- })) : (e(), n(f, {
90
- key: 3,
91
- width: "100%",
92
- height: "100%"
93
- }))]),
94
- _: 1
95
- })), [[
96
- m,
97
- { value: r(C) },
98
- void 0,
99
- { top: !0 }
100
- ]]);
101
- };
102
- }
103
- });
104
- //#endregion
105
- export { w as n, x as r, T as t };