@camstack/addon-admin-ui 1.2.261 → 1.2.262

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 (80) hide show
  1. package/dist/assets/{AddonCollectionPage--eDij6gR.js → AddonCollectionPage-BbR4OYhO.js} +1 -1
  2. package/dist/assets/{Addons-DPcMLHlz.js → Addons-DaCfwm2z.js} +1 -1
  3. package/dist/assets/{AdminTabs-BK7N8lsV.js → AdminTabs-Drbcgub6.js} +1 -1
  4. package/dist/assets/{AiProfiles-B7jyJdda.js → AiProfiles-DuCfoE9W.js} +1 -1
  5. package/dist/assets/{BrokerForm-ITsMv2qE.js → BrokerForm-GhTc7bXQ.js} +1 -1
  6. package/dist/assets/{Build-BBPfMW38.js → Build-sgIoigZ6.js} +1 -1
  7. package/dist/assets/{Capabilities-CuUy6amU.js → Capabilities-BTTcuf8I.js} +1 -1
  8. package/dist/assets/{CapabilityBadges-crNVvPMW.js → CapabilityBadges-DV7R4FqP.js} +1 -1
  9. package/dist/assets/{Cluster-CTZlYWRi.js → Cluster-BwTsYeNQ.js} +1 -1
  10. package/dist/assets/{Data-vU8VVocG.js → Data-2vRvrXEM.js} +1 -1
  11. package/dist/assets/{DetectionIntelligence-CsXbDOMG.js → DetectionIntelligence-Q8W6JC0W.js} +1 -1
  12. package/dist/assets/{DeviceAggregateSection-Bns6q4dh.js → DeviceAggregateSection-D3qhOjbQ.js} +1 -1
  13. package/dist/assets/{DeviceDetail-Bf9bvxlm.js → DeviceDetail-Beb-3-3u.js} +1 -1
  14. package/dist/assets/{Devices-DyfNHzjP.js → Devices-DCCNWDvE.js} +1 -1
  15. package/dist/assets/{EmbedPlayerPage-OeC5zBSX.js → EmbedPlayerPage-D78ReKrp.js} +1 -1
  16. package/dist/assets/{Events-bi-6IwJN.js → Events-DF7sHUp2.js} +1 -1
  17. package/dist/assets/{FormBuilder-GwoY4eBk.js → FormBuilder-CYyeiob6.js} +1 -1
  18. package/dist/assets/{Identity-BBIh2my-.js → Identity-D2eIky0Q.js} +1 -1
  19. package/dist/assets/{IntegrationDetail-CKWEoy9C.js → IntegrationDetail-D6CvkPnf.js} +1 -1
  20. package/dist/assets/{Integrations-BWWIE00S.js → Integrations-B55wD2OX.js} +1 -1
  21. package/dist/assets/{Integrations-Ciw2g5r2.js → Integrations-H3Uorf9W.js} +1 -1
  22. package/dist/assets/{Locations-2ZAHX5o0.js → Locations-DSuu7Bsk.js} +1 -1
  23. package/dist/assets/{Logs-D671CkLk.js → Logs-CK4Gx7h0.js} +1 -1
  24. package/dist/assets/{MotionZonesSettings-BLY_TxNO.js → MotionZonesSettings-pHMHKgZU.js} +1 -1
  25. package/dist/assets/{MyAccess-DhSsXA2u.js → MyAccess-DhhT2fiM.js} +1 -1
  26. package/dist/assets/{Network-B2odAKC8.js → Network-B8frG6LY.js} +1 -1
  27. package/dist/assets/{NodeAddonsSettingsPanel-D5FQHmR2.js → NodeAddonsSettingsPanel-CywwreaJ.js} +1 -1
  28. package/dist/assets/{NodeInferenceDevices-C7Az-W_O.js → NodeInferenceDevices-BDOv7fue.js} +1 -1
  29. package/dist/assets/Notifications-DupQb8N6.js +1 -0
  30. package/dist/assets/{Pipeline-DoJ8nNnx.js → Pipeline-DN9XnDCV.js} +1 -1
  31. package/dist/assets/{Plates-IKZ7Utth.js → Plates-JVXuZNgg.js} +1 -1
  32. package/dist/assets/{PrivacyMaskSettings-CqzEZNtz.js → PrivacyMaskSettings-DVe0Oc9D.js} +1 -1
  33. package/dist/assets/{ProviderIcon-BAV-Rvhs.js → ProviderIcon-C7xbm42i.js} +1 -1
  34. package/dist/assets/{Recordings-BP0eyo5u.js → Recordings-C2MRXLG2.js} +1 -1
  35. package/dist/assets/{ScanNetworkModal-CU9cvVBy.js → ScanNetworkModal-Bs7JadmD.js} +1 -1
  36. package/dist/assets/{SceneMonitorEditor-v5nh2Lxc.js → SceneMonitorEditor-BL4IBLb4.js} +1 -1
  37. package/dist/assets/{Scenes-D1EvPYdu.js → Scenes-B0RxlS0Y.js} +1 -1
  38. package/dist/assets/{Settings-dgHQMbm7.js → Settings-BkjG29fY.js} +1 -1
  39. package/dist/assets/{Showroom-CsAbqvVD.js → Showroom-D8RUBpOU.js} +1 -1
  40. package/dist/assets/{StorageLocationsPanel-C2e4eB8x.js → StorageLocationsPanel-HrFYV7Rh.js} +1 -1
  41. package/dist/assets/{Terminal-hYboOO7b.js → Terminal-DyC209l7.js} +1 -1
  42. package/dist/assets/{Viewer-B02QBhjE.js → Viewer-kM9zwIVU.js} +1 -1
  43. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BKuXrkMW.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-CNi2A2yQ.js} +1 -1
  44. package/dist/assets/{archive-DIvzskcI.js → archive-B5R6bf2D.js} +1 -1
  45. package/dist/assets/{authed-media-Bd-QFC5W.js → authed-media-Cw_gGJVI.js} +1 -1
  46. package/dist/assets/{boxes-CSKKBi4u.js → boxes-yhA_7d3q.js} +1 -1
  47. package/dist/assets/circle-slash-C1QuPptD.js +1 -0
  48. package/dist/assets/{debounced-invalidate-BV3nDQPS.js → debounced-invalidate-DotOdQYW.js} +1 -1
  49. package/dist/assets/dist-BRg0AR5a.js +349 -0
  50. package/dist/assets/{dist-C4v18q8H.js → dist-D6Xxr889.js} +1 -1
  51. package/dist/assets/{face-bbox-BvbTxaCS.js → face-bbox-d-X55Y1R.js} +1 -1
  52. package/dist/assets/{hard-drive-download-B2GSnQHz.js → hard-drive-download-BsAoGMCP.js} +1 -1
  53. package/dist/assets/{hostInit-DSbv4-s9.js → hostInit-wNlz0sxd.js} +1 -1
  54. package/dist/assets/{index-DAAsNMtg.js → index-C-LUKD4X.js} +3 -3
  55. package/dist/assets/{layers-BBmKM8YT.js → layers-B1XeI2Ti.js} +1 -1
  56. package/dist/assets/{location-owned-usage-kZ5sn58L.js → location-owned-usage-K6nRqrnx.js} +1 -1
  57. package/dist/assets/{mf-entry-bootstrap-0-86b82436.js → mf-entry-bootstrap-0-98bf164e.js} +2 -2
  58. package/dist/assets/{player-overlays-DRIy-fCw.js → player-overlays-DiVY7hKx.js} +1 -1
  59. package/dist/assets/remoteEntry-DDg_7eaS.js +1 -0
  60. package/dist/assets/{send-DHfS_uWJ.js → send-Ci8q1jG0.js} +1 -1
  61. package/dist/assets/{settings-2-BBZVr4ih.js → settings-2-CFEGcxlK.js} +1 -1
  62. package/dist/assets/{square-check-big-D11rDTUh.js → square-check-big-BO832OWz.js} +1 -1
  63. package/dist/assets/{src-CvEqSgs7.js → src-BpkcDtsL.js} +3 -3
  64. package/dist/assets/src-DKUeXUWb.js +349 -0
  65. package/dist/assets/{use-scenes-feed-BrKLinIU.js → use-scenes-feed-DwC35JtK.js} +1 -1
  66. package/dist/assets/{use-stationary-objects-BK5BDo2O.js → use-stationary-objects-CNI0NRaT.js} +1 -1
  67. package/dist/assets/useEventInvalidation-BKntci2T.js +1 -0
  68. package/dist/assets/{useNodeUrlSelection-DjLiOaP3.js → useNodeUrlSelection-DGg3Gjwk.js} +1 -1
  69. package/dist/assets/user-round-DjTXvCrg.js +1 -0
  70. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-BmTwfqc6.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-wojwBEV5.js} +2 -2
  71. package/dist/index.html +5 -5
  72. package/dist/server/addon.js +146 -38
  73. package/package.json +1 -1
  74. package/dist/assets/Notifications-Blz8iPpb.js +0 -1
  75. package/dist/assets/circle-slash-CteLsla4.js +0 -1
  76. package/dist/assets/dist-BbIc-rCH.js +0 -349
  77. package/dist/assets/remoteEntry-554FIKL7.js +0 -1
  78. package/dist/assets/src-CsP-9WJl.js +0 -349
  79. package/dist/assets/useEventInvalidation-apdOrvxA.js +0 -1
  80. package/dist/assets/user-round-kptqRABF.js +0 -1
@@ -0,0 +1 @@
1
+ import{vt as e}from"./player-overlays-DiVY7hKx.js";var t=e(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]);export{t};
@@ -1 +1 @@
1
- import{K as e,Q as t,S as n,W as r,q as i,x as a,z as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DhP-Lgiq.js";import{_t as s,gt as c,ht as l}from"./player-overlays-DRIy-fCw.js";import{Cu as u,Su as d}from"./src-CvEqSgs7.js";t();var f={fromMs:null,toMs:null},p=36e5,m=24*p;function h(e,t){switch(e){case`24h`:return{fromMs:t-m,toMs:null};case`7d`:return{fromMs:t-7*m,toMs:null};case`30d`:return{fromMs:t-30*m,toMs:null};case`all`:return f}}function g(e){return e.fromMs!==null||e.toMs!==null}function _(e,t){return g(t)?e.filter(e=>!(t.fromMs!==null&&e.timestamp<t.fromMs||t.toMs!==null&&e.timestamp>t.toMs)):[...e]}function v(e,t){return t.size===0?[...e]:e.filter(e=>t.has(e.deviceId))}function y(e){let t=new Set,n=[];for(let r of e)t.has(r.deviceId)||(t.add(r.deviceId),n.push(r.deviceId));return n}function b(e){if(!e)return null;let t=Date.parse(`${e}T00:00:00`);return Number.isNaN(t)?null:t}function x(e){if(!e)return null;let t=Date.parse(`${e}T23:59:59.999`);return Number.isNaN(t)?null:t}function S(e,t){if(!Number.isFinite(e)||e<=0)return`—`;let n=t-e;return n<6e4?`just now`:n<p?`${String(Math.floor(n/6e4))}m ago`:n<m?`${String(Math.floor(n/p))}h ago`:n<7*m?`${String(Math.floor(n/m))}d ago`:new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function C(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function w(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function T(e,t,n){let[a,s]=i(1);o(()=>{s(1)},[n]);let c=e.length,l=Math.max(1,Math.ceil(c/t)),u=Math.min(a,l);return o(()=>{u!==a&&s(u)},[u,a]),{page:u,setPage:s,pageItems:r(()=>{let n=(u-1)*t;return e.slice(n,n+t)},[e,u,t]),totalPages:l,totalItems:c,pageSize:t}}var E=2;function D(e,t){if(t<=1)return[{kind:`page`,n:1}];if(t<=7){let e=[];for(let n=1;n<=t;n++)e.push({kind:`page`,n});return e}let n=[],r=Math.max(2,e-E),i=Math.min(t-1,e+E);n.push({kind:`page`,n:1}),r>2&&n.push({kind:`ellipsis`,side:`left`});for(let e=r;e<=i;e++)n.push({kind:`page`,n:e});return i<t-1&&n.push({kind:`ellipsis`,side:`right`}),n.push({kind:`page`,n:t}),n}function O({currentPage:e,totalItems:t,pageSize:r,onPageChange:i,itemNoun:o=`items`}){if(t<=r)return null;let s=Math.ceil(t/r),c=(e-1)*r+1,u=Math.min(e*r,t),f=D(e,s),p=`inline-flex h-7 min-w-7 items-center justify-center rounded-md px-2 text-[11px] transition-colors disabled:opacity-40`;return n(`div`,{className:`flex items-center justify-between gap-4 flex-wrap pt-2 text-[11px] text-foreground-subtle`,children:[n(`span`,{children:[`Showing `,c,`–`,u,` of `,t,` `,o]}),n(`div`,{className:`flex items-center gap-1`,children:[a(`button`,{type:`button`,className:`${p} hover:bg-surface-hover`,onClick:()=>i(e-1),disabled:e<=1,"aria-label":`Previous page`,children:a(d,{className:`h-3.5 w-3.5`})}),f.map(t=>t.kind===`ellipsis`?a(`span`,{className:`px-1 opacity-60`,children:`…`},`ellipsis-${t.side}`):a(`button`,{type:`button`,className:`${p} ${t.n===e?`bg-primary/12 text-primary font-medium`:`hover:bg-surface-hover hover:text-foreground`}`,onClick:()=>i(t.n),"aria-current":t.n===e?`page`:void 0,children:t.n},t.n)),a(`button`,{type:`button`,className:`${p} hover:bg-surface-hover`,onClick:()=>i(e+1),disabled:e>=s,"aria-label":`Next page`,children:a(l,{className:`h-3.5 w-3.5`})})]})]})}t();function k({cameras:t,selected:r,onChange:l}){let[d,f]=i(!1),p=e(null);o(()=>{if(!d)return;function e(e){p.current&&e.target instanceof Node&&!p.current.contains(e.target)&&f(!1)}function t(e){e.key===`Escape`&&f(!1)}return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[d]);function m(e){let t=new Set(r);t.has(e)?t.delete(e):t.add(e),l(t)}let h=r.size,g=h===0?`All cameras`:h===1?t.find(e=>r.has(e.id))?.name??`1 camera`:`${String(h)} cameras`;return n(`div`,{ref:p,className:`relative`,children:[n(`button`,{type:`button`,onClick:()=>f(e=>!e),disabled:t.length===0,className:`flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-xs transition-colors disabled:opacity-40 ${h>0?`border-primary/40 bg-primary/8 text-primary`:`border-border text-foreground-subtle hover:bg-surface-hover hover:text-foreground`}`,children:[a(s,{className:`h-3.5 w-3.5`}),a(`span`,{className:`max-w-[10rem] truncate`,children:g}),a(c,{className:`h-3 w-3 opacity-70`})]}),d&&n(`div`,{className:`absolute left-0 z-30 mt-1 max-h-64 w-[min(15rem,calc(100vw-1.5rem))] overflow-y-auto rounded-md border border-border bg-surface p-1 shadow-lg shadow-black/30`,children:[h>0&&a(`button`,{type:`button`,onClick:()=>l(new Set),className:`mb-1 w-full rounded px-2 py-1 text-left text-[11px] text-foreground-subtle hover:bg-surface-hover hover:text-foreground`,children:`Clear selection`}),t.map(e=>{let t=r.has(e.id);return n(`button`,{type:`button`,onClick:()=>m(e.id),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs transition-colors ${t?`bg-primary/10 text-primary`:`text-foreground hover:bg-surface-hover`}`,children:[a(`span`,{className:`flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-sm border ${t?`border-primary bg-primary text-white`:`border-border`}`,children:t&&a(u,{className:`h-2.5 w-2.5`})}),a(`span`,{className:`truncate`,children:e.name})]},e.id)})]})]})}t();var A=[{label:`24h`,value:`24h`},{label:`7d`,value:`7d`},{label:`30d`,value:`30d`},{label:`All`,value:`all`}];function j({onChange:e}){let[t,r]=i(`all`),[o,s]=i(``),[c,l]=i(``);function u(t){r(t),s(``),l(``),e(h(t,Date.now()))}function d(t,n){r(`custom`),s(t),l(n),e({fromMs:b(t),toMs:x(n)})}let f=`rounded-md border border-border bg-surface px-2 py-1.5 text-[11px] text-foreground outline-none focus:border-primary [color-scheme:light] dark:[color-scheme:dark]`;return n(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[a(`div`,{className:`flex items-center gap-1 rounded-md border border-border p-0.5`,children:A.map(e=>a(`button`,{type:`button`,onClick:()=>u(e.value),className:`rounded px-2.5 py-1 text-[11px] transition-colors ${t===e.value?`bg-primary/12 text-primary font-medium`:`text-foreground-subtle hover:bg-surface-hover hover:text-foreground`}`,children:e.label},e.value))}),n(`div`,{className:`flex items-center gap-1`,children:[a(`input`,{type:`date`,"aria-label":`From date`,value:o,max:c||void 0,onChange:e=>d(e.target.value,c),className:`${f} ${t===`custom`&&o?`border-primary/50`:``}`}),a(`span`,{className:`text-[11px] text-foreground-subtle`,children:`→`}),a(`input`,{type:`date`,"aria-label":`To date`,value:c,min:o||void 0,onChange:e=>d(o,e.target.value),className:`${f} ${t===`custom`&&c?`border-primary/50`:``}`})]})]})}t();var M=2.6;function N({src:e,alt:t,className:r,overlay:s,fit:c=`contain`}){let[l,u]=i(!1),[d,f]=i(`50% 50%`);o(()=>{u(!1),f(`50% 50%`)},[e]);function p(e){if(!l){let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*100,r=(e.clientY-t.top)/t.height*100;f(`${String(n)}% ${String(r)}%`)}u(e=>!e)}let m=c===`natural`;return a(`div`,{className:`relative overflow-hidden bg-background ${r??``}`,onClick:p,children:n(`div`,{className:`relative select-none transition-transform duration-200 ease-out ${m?`w-full`:`h-full w-full`} ${l?`cursor-zoom-out`:`cursor-zoom-in`}`,style:{transformOrigin:d,transform:l?`scale(${String(M)})`:`scale(1)`},children:[a(`img`,{src:e,alt:t,draggable:!1,className:m?`block h-auto w-full object-contain`:`h-full w-full object-contain`}),s]})})}function P(e){let{delayMs:t,invalidate:n,setTimeoutFn:r=setTimeout,clearTimeoutFn:i=clearTimeout}=e,a;function o(){a===void 0&&(a=r(()=>{a=void 0,n()},t))}function s(){a!==void 0&&(i(a),a=void 0)}return{trigger:o,cancel:s}}export{O as a,y as c,C as d,S as f,k as i,v as l,N as n,T as o,w as p,j as r,f as s,P as t,_ as u};
1
+ import{K as e,Q as t,S as n,W as r,q as i,x as a,z as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DhP-Lgiq.js";import{_t as s,gt as c,ht as l}from"./player-overlays-DiVY7hKx.js";import{Cu as u,Su as d}from"./src-BpkcDtsL.js";t();var f={fromMs:null,toMs:null},p=36e5,m=24*p;function h(e,t){switch(e){case`24h`:return{fromMs:t-m,toMs:null};case`7d`:return{fromMs:t-7*m,toMs:null};case`30d`:return{fromMs:t-30*m,toMs:null};case`all`:return f}}function g(e){return e.fromMs!==null||e.toMs!==null}function _(e,t){return g(t)?e.filter(e=>!(t.fromMs!==null&&e.timestamp<t.fromMs||t.toMs!==null&&e.timestamp>t.toMs)):[...e]}function v(e,t){return t.size===0?[...e]:e.filter(e=>t.has(e.deviceId))}function y(e){let t=new Set,n=[];for(let r of e)t.has(r.deviceId)||(t.add(r.deviceId),n.push(r.deviceId));return n}function b(e){if(!e)return null;let t=Date.parse(`${e}T00:00:00`);return Number.isNaN(t)?null:t}function x(e){if(!e)return null;let t=Date.parse(`${e}T23:59:59.999`);return Number.isNaN(t)?null:t}function S(e,t){if(!Number.isFinite(e)||e<=0)return`—`;let n=t-e;return n<6e4?`just now`:n<p?`${String(Math.floor(n/6e4))}m ago`:n<m?`${String(Math.floor(n/p))}h ago`:n<7*m?`${String(Math.floor(n/m))}d ago`:new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function C(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function w(e){return!Number.isFinite(e)||e<=0?`—`:new Date(e).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function T(e,t,n){let[a,s]=i(1);o(()=>{s(1)},[n]);let c=e.length,l=Math.max(1,Math.ceil(c/t)),u=Math.min(a,l);return o(()=>{u!==a&&s(u)},[u,a]),{page:u,setPage:s,pageItems:r(()=>{let n=(u-1)*t;return e.slice(n,n+t)},[e,u,t]),totalPages:l,totalItems:c,pageSize:t}}var E=2;function D(e,t){if(t<=1)return[{kind:`page`,n:1}];if(t<=7){let e=[];for(let n=1;n<=t;n++)e.push({kind:`page`,n});return e}let n=[],r=Math.max(2,e-E),i=Math.min(t-1,e+E);n.push({kind:`page`,n:1}),r>2&&n.push({kind:`ellipsis`,side:`left`});for(let e=r;e<=i;e++)n.push({kind:`page`,n:e});return i<t-1&&n.push({kind:`ellipsis`,side:`right`}),n.push({kind:`page`,n:t}),n}function O({currentPage:e,totalItems:t,pageSize:r,onPageChange:i,itemNoun:o=`items`}){if(t<=r)return null;let s=Math.ceil(t/r),c=(e-1)*r+1,u=Math.min(e*r,t),f=D(e,s),p=`inline-flex h-7 min-w-7 items-center justify-center rounded-md px-2 text-[11px] transition-colors disabled:opacity-40`;return n(`div`,{className:`flex items-center justify-between gap-4 flex-wrap pt-2 text-[11px] text-foreground-subtle`,children:[n(`span`,{children:[`Showing `,c,`–`,u,` of `,t,` `,o]}),n(`div`,{className:`flex items-center gap-1`,children:[a(`button`,{type:`button`,className:`${p} hover:bg-surface-hover`,onClick:()=>i(e-1),disabled:e<=1,"aria-label":`Previous page`,children:a(d,{className:`h-3.5 w-3.5`})}),f.map(t=>t.kind===`ellipsis`?a(`span`,{className:`px-1 opacity-60`,children:`…`},`ellipsis-${t.side}`):a(`button`,{type:`button`,className:`${p} ${t.n===e?`bg-primary/12 text-primary font-medium`:`hover:bg-surface-hover hover:text-foreground`}`,onClick:()=>i(t.n),"aria-current":t.n===e?`page`:void 0,children:t.n},t.n)),a(`button`,{type:`button`,className:`${p} hover:bg-surface-hover`,onClick:()=>i(e+1),disabled:e>=s,"aria-label":`Next page`,children:a(l,{className:`h-3.5 w-3.5`})})]})]})}t();function k({cameras:t,selected:r,onChange:l}){let[d,f]=i(!1),p=e(null);o(()=>{if(!d)return;function e(e){p.current&&e.target instanceof Node&&!p.current.contains(e.target)&&f(!1)}function t(e){e.key===`Escape`&&f(!1)}return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[d]);function m(e){let t=new Set(r);t.has(e)?t.delete(e):t.add(e),l(t)}let h=r.size,g=h===0?`All cameras`:h===1?t.find(e=>r.has(e.id))?.name??`1 camera`:`${String(h)} cameras`;return n(`div`,{ref:p,className:`relative`,children:[n(`button`,{type:`button`,onClick:()=>f(e=>!e),disabled:t.length===0,className:`flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-xs transition-colors disabled:opacity-40 ${h>0?`border-primary/40 bg-primary/8 text-primary`:`border-border text-foreground-subtle hover:bg-surface-hover hover:text-foreground`}`,children:[a(s,{className:`h-3.5 w-3.5`}),a(`span`,{className:`max-w-[10rem] truncate`,children:g}),a(c,{className:`h-3 w-3 opacity-70`})]}),d&&n(`div`,{className:`absolute left-0 z-30 mt-1 max-h-64 w-[min(15rem,calc(100vw-1.5rem))] overflow-y-auto rounded-md border border-border bg-surface p-1 shadow-lg shadow-black/30`,children:[h>0&&a(`button`,{type:`button`,onClick:()=>l(new Set),className:`mb-1 w-full rounded px-2 py-1 text-left text-[11px] text-foreground-subtle hover:bg-surface-hover hover:text-foreground`,children:`Clear selection`}),t.map(e=>{let t=r.has(e.id);return n(`button`,{type:`button`,onClick:()=>m(e.id),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs transition-colors ${t?`bg-primary/10 text-primary`:`text-foreground hover:bg-surface-hover`}`,children:[a(`span`,{className:`flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-sm border ${t?`border-primary bg-primary text-white`:`border-border`}`,children:t&&a(u,{className:`h-2.5 w-2.5`})}),a(`span`,{className:`truncate`,children:e.name})]},e.id)})]})]})}t();var A=[{label:`24h`,value:`24h`},{label:`7d`,value:`7d`},{label:`30d`,value:`30d`},{label:`All`,value:`all`}];function j({onChange:e}){let[t,r]=i(`all`),[o,s]=i(``),[c,l]=i(``);function u(t){r(t),s(``),l(``),e(h(t,Date.now()))}function d(t,n){r(`custom`),s(t),l(n),e({fromMs:b(t),toMs:x(n)})}let f=`rounded-md border border-border bg-surface px-2 py-1.5 text-[11px] text-foreground outline-none focus:border-primary [color-scheme:light] dark:[color-scheme:dark]`;return n(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[a(`div`,{className:`flex items-center gap-1 rounded-md border border-border p-0.5`,children:A.map(e=>a(`button`,{type:`button`,onClick:()=>u(e.value),className:`rounded px-2.5 py-1 text-[11px] transition-colors ${t===e.value?`bg-primary/12 text-primary font-medium`:`text-foreground-subtle hover:bg-surface-hover hover:text-foreground`}`,children:e.label},e.value))}),n(`div`,{className:`flex items-center gap-1`,children:[a(`input`,{type:`date`,"aria-label":`From date`,value:o,max:c||void 0,onChange:e=>d(e.target.value,c),className:`${f} ${t===`custom`&&o?`border-primary/50`:``}`}),a(`span`,{className:`text-[11px] text-foreground-subtle`,children:`→`}),a(`input`,{type:`date`,"aria-label":`To date`,value:c,min:o||void 0,onChange:e=>d(o,e.target.value),className:`${f} ${t===`custom`&&c?`border-primary/50`:``}`})]})]})}t();var M=2.6;function N({src:e,alt:t,className:r,overlay:s,fit:c=`contain`}){let[l,u]=i(!1),[d,f]=i(`50% 50%`);o(()=>{u(!1),f(`50% 50%`)},[e]);function p(e){if(!l){let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*100,r=(e.clientY-t.top)/t.height*100;f(`${String(n)}% ${String(r)}%`)}u(e=>!e)}let m=c===`natural`;return a(`div`,{className:`relative overflow-hidden bg-background ${r??``}`,onClick:p,children:n(`div`,{className:`relative select-none transition-transform duration-200 ease-out ${m?`w-full`:`h-full w-full`} ${l?`cursor-zoom-out`:`cursor-zoom-in`}`,style:{transformOrigin:d,transform:l?`scale(${String(M)})`:`scale(1)`},children:[a(`img`,{src:e,alt:t,draggable:!1,className:m?`block h-auto w-full object-contain`:`h-full w-full object-contain`}),s]})})}function P(e){let{delayMs:t,invalidate:n,setTimeoutFn:r=setTimeout,clearTimeoutFn:i=clearTimeout}=e,a;function o(){a===void 0&&(a=r(()=>{a=void 0,n()},t))}function s(){a!==void 0&&(i(a),a=void 0)}return{trigger:o,cancel:s}}export{O as a,y as c,C as d,S as f,k as i,v as l,N as n,T as o,w as p,j as r,f as s,P as t,_ as u};