@camstack/addon-admin-ui 1.2.469 → 1.2.471

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 (138) hide show
  1. package/dist/assets/{AddonAssetIcon-BN_SqLNB.js → AddonAssetIcon-D4joXvAw.js} +1 -1
  2. package/dist/assets/Addons-BNo3Y3g8.js +4 -0
  3. package/dist/assets/{AdminPage-DpgHJ_lQ.js → AdminPage-92KQDOBy.js} +1 -1
  4. package/dist/assets/{AdminSectionedPage-BfaO7MK2.js → AdminSectionedPage-B-MH77Vx.js} +1 -1
  5. package/dist/assets/AiProfiles-CTHbBMUB.js +3 -0
  6. package/dist/assets/{BrokerForm-CR-FYodQ.js → BrokerForm-HjHrcv-P.js} +1 -1
  7. package/dist/assets/Build-Dlf7sJhk.js +40 -0
  8. package/dist/assets/Calendars-YnCFbUE7.js +1 -0
  9. package/dist/assets/Cluster-C4BsKola.js +1 -0
  10. package/dist/assets/CompositionCreateForm-D_Nmi2nG.js +1 -0
  11. package/dist/assets/{CompositionEditorPage-Bi49T0M9.js → CompositionEditorPage-CdJtfEi1.js} +1 -1
  12. package/dist/assets/Data-DkPbjXNV.js +2 -0
  13. package/dist/assets/DeviceDetail-BSWf6l6J.js +2 -0
  14. package/dist/assets/{DeviceDoActionFields-Dj3iwIxJ.js → DeviceDoActionFields-B7UlBxQ0.js} +1 -1
  15. package/dist/assets/{Devices-b30LmB9b.js → Devices-BAfbzc8b.js} +1 -1
  16. package/dist/assets/{EmbedPlayerPage-ChjJRAKP.js → EmbedPlayerPage-CZM7W_SR.js} +1 -1
  17. package/dist/assets/History-BfD8lMf9.js +1 -0
  18. package/dist/assets/Identity-6QdzCJrT.js +1 -0
  19. package/dist/assets/IntegrationDetail-B4X-8vcl.js +1 -0
  20. package/dist/assets/IntegrationHub-DCSIyXBI.js +1 -0
  21. package/dist/assets/Integrations-JcvhEroF.js +1 -0
  22. package/dist/assets/Integrations-XcsYTI2I.js +1 -0
  23. package/dist/assets/{Library-BMuv5B5Y.js → Library-X3g7Mvql.js} +1 -1
  24. package/dist/assets/Locations-C--r0_cW.js +3 -0
  25. package/dist/assets/{Logs-DOCwfH5l.js → Logs-C7Z3D9TY.js} +1 -1
  26. package/dist/assets/{MaskShapeCanvas-CC7FQGtr.js → MaskShapeCanvas-wRO0Yeyg.js} +1 -1
  27. package/dist/assets/{MotionZonesSettings-dcIXFXNn.js → MotionZonesSettings-C8wTUqjQ.js} +1 -1
  28. package/dist/assets/{MyAccess-BAfQ0omi.js → MyAccess-Di7tv0VI.js} +1 -1
  29. package/dist/assets/{Network-CMwPBd3q.js → Network-3FZdyZoe.js} +1 -1
  30. package/dist/assets/NodeAddonsSettingsPanel-ivhHs40k.js +1 -0
  31. package/dist/assets/Notifications-D4LJlejx.js +1 -0
  32. package/dist/assets/{Pipeline-UmUovK0W.js → Pipeline-BMhn1YbR.js} +1 -1
  33. package/dist/assets/{PrivacyMaskSettings-CreIjx4O.js → PrivacyMaskSettings-DTetXxIV.js} +1 -1
  34. package/dist/assets/Recordings-Ct8JWW27.js +1 -0
  35. package/dist/assets/{ScanNetworkModal-CJo685Vl.js → ScanNetworkModal-DPHdPawS.js} +1 -1
  36. package/dist/assets/{SceneMonitorEditor-Dbzxlt43.js → SceneMonitorEditor-KPTdSp1h.js} +1 -1
  37. package/dist/assets/SessionsList-DrklEq9Z.js +2 -0
  38. package/dist/assets/{Showroom-Bpwjw60m.js → Showroom-2gQYW-h2.js} +1 -1
  39. package/dist/assets/{System-C-jh6PsN.js → System-CDHw7Mcx.js} +1 -1
  40. package/dist/assets/{Terminal-Bu3buJrm.js → Terminal-UXpMvEO1.js} +5 -5
  41. package/dist/assets/{Viewer-BOQnbvad.js → Viewer-ukAW_oJQ.js} +1 -1
  42. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BFYsDhiM.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-KG1b6CPN.js} +1 -1
  43. package/dist/assets/{addon-icons-context-BVn71jKb.js → addon-icons-context-gPkLZQ_G.js} +1 -1
  44. package/dist/assets/{archive-CDQuI03w.js → archive-CxbMF2yZ.js} +1 -1
  45. package/dist/assets/{assignment-candidates-grX3ScPd.js → assignment-candidates-CQGwwSSC.js} +1 -1
  46. package/dist/assets/{authed-media-cSR4diHc.js → authed-media-DpHGiSZS.js} +1 -1
  47. package/dist/assets/{bell-off-hTkIlZL4.js → bell-off-CAN5HeZI.js} +1 -1
  48. package/dist/assets/{board-model-Bj95FOjc.js → board-model-C6IplvmC.js} +1 -1
  49. package/dist/assets/{boxes-0BuMQdjm.js → boxes-BIYyTH0E.js} +1 -1
  50. package/dist/assets/circle-slash-BWtbQj2T.js +1 -0
  51. package/dist/assets/client-BnEPcD6s.js +358 -0
  52. package/dist/assets/{cloud-upload-DYU5_O7N.js → cloud-upload-DvGDSWZB.js} +1 -1
  53. package/dist/assets/crop-CDWciXWB.js +1 -0
  54. package/dist/assets/{device-integration-icon-DNoJ6Lw6.js → device-integration-icon-CRiv1vER.js} +1 -1
  55. package/dist/assets/device-picker-model-DPfjZqVB.js +1 -0
  56. package/dist/assets/{dist-dJmkuSsT.js → dist-BeSobRch.js} +1 -1
  57. package/dist/assets/dist-CMwJjIGP.js +358 -0
  58. package/dist/assets/{eraser-BUbQF_qS.js → eraser-CvXO1d9P.js} +1 -1
  59. package/dist/assets/event-targets-CIffOoYs.js +2 -0
  60. package/dist/assets/{format-DftZhYTz.js → format-Cz7vHmZ6.js} +1 -1
  61. package/dist/assets/{hard-drive-download-DP_8o52c.js → hard-drive-download-xDn3u92n.js} +1 -1
  62. package/dist/assets/{hostInit-BlSFN2dH.js → hostInit-Bcdd4neZ.js} +1 -1
  63. package/dist/assets/i18n-DsGcRtAk.js +1 -0
  64. package/dist/assets/{icons-Btlc6YJV.js → icons-Uf4a8HzM.js} +1 -1
  65. package/dist/assets/index-CgxpaFwe.js +4 -0
  66. package/dist/assets/{key-Cacr-75P.js → key-D63R1Jty.js} +1 -1
  67. package/dist/assets/{key-round-DCaU9cAg.js → key-round-BH39VAkM.js} +1 -1
  68. package/dist/assets/{layers-pVEq4fg_.js → layers-Cf6Xk9ts.js} +1 -1
  69. package/dist/assets/{linked-devices-model-C91IolQ1.js → linked-devices-model-DYRAb775.js} +1 -1
  70. package/dist/assets/{list-ordered-CNRSuCVQ.js → list-ordered-9heb6Myu.js} +1 -1
  71. package/dist/assets/{location-owned-usage-O8_VY4bA.js → location-owned-usage-DPBYs4L0.js} +1 -1
  72. package/dist/assets/{log-in-RS8mwxfB.js → log-in-D6jMFDmP.js} +1 -1
  73. package/dist/assets/{memory-stick-CInn2SBD.js → memory-stick-thjjQqgp.js} +1 -1
  74. package/dist/assets/{message-square-plus-DtxzVSIY.js → message-square-plus-RcviJHk6.js} +1 -1
  75. package/dist/assets/{mf-entry-bootstrap-0-a3d5bda4.js → mf-entry-bootstrap-0-cbb0c272.js} +2 -2
  76. package/dist/assets/{mic-off-eN_vb8k3.js → mic-off-DvjWBZuR.js} +1 -1
  77. package/dist/assets/{monitor-off-Eo26fk7G.js → monitor-off-DEBUzb17.js} +1 -1
  78. package/dist/assets/{monitor-smartphone-BXr9qaoG.js → monitor-smartphone-rIimQM0r.js} +1 -1
  79. package/dist/assets/mount-DPfjZqVB.js +1 -0
  80. package/dist/assets/{player-overlays-mwQ6DKjG.js → player-overlays-DDFLUcm1.js} +1 -1
  81. package/dist/assets/{recycle-C6G9GLaW.js → recycle-CaQYaqJP.js} +1 -1
  82. package/dist/assets/remoteEntry-DqDbkZhO.js +1 -0
  83. package/dist/assets/{scan-eye-Er9mPgXz.js → scan-eye-BxF3-BiI.js} +1 -1
  84. package/dist/assets/{scissors-iGcQwqM6.js → scissors-DecmVZUv.js} +1 -1
  85. package/dist/assets/{search-x-qRfGpZh7.js → search-x-CiS8b7vy.js} +1 -1
  86. package/dist/assets/{send-goxSirGI.js → send-9ZOtM3uh.js} +1 -1
  87. package/dist/assets/{settings-2-C2T9KfF-.js → settings-2-DVEGaYSK.js} +1 -1
  88. package/dist/assets/{speaker-DTlU5qdL.js → speaker-BLIN7g-W.js} +1 -1
  89. package/dist/assets/src-CWZRb0ia.js +67 -0
  90. package/dist/assets/step-inspector-model-B6Fs3NZo.js +1 -0
  91. package/dist/assets/{timer-reset-LdV1oKRJ.js → timer-reset-ESt9DRwd.js} +1 -1
  92. package/dist/assets/{ungroup-ClPDFNDo.js → ungroup-uBZnvhmn.js} +1 -1
  93. package/dist/assets/{unlink-CCWMkIgh.js → unlink-BK0Zya0K.js} +1 -1
  94. package/dist/assets/{usb-dwGmFjnn.js → usb--Z_ViOoE.js} +1 -1
  95. package/dist/assets/{use-scenes-feed-ByvAQxt_.js → use-scenes-feed-Dpe5Lc_e.js} +1 -1
  96. package/dist/assets/{use-stationary-objects-VkCTU14h.js → use-stationary-objects-D9diuPzc.js} +1 -1
  97. package/dist/assets/useEventInvalidation-DPfjZqVB.js +1 -0
  98. package/dist/assets/{useNodeUrlSelection-DFVjdzBt.js → useNodeUrlSelection-B-NA_JqT.js} +1 -1
  99. package/dist/assets/user-round-D2ADHRLF.js +1 -0
  100. package/dist/assets/{user-x-BtLDt7oR.js → user-x-HmMRNIMy.js} +1 -1
  101. package/dist/assets/{video-DJjbkBZD.js → video-BISLfAY2.js} +1 -1
  102. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-WuGvWsfR.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-w3oA3S6D.js} +2 -2
  103. package/dist/index.html +9 -9
  104. package/dist/server/addon.js +279 -423
  105. package/package.json +10 -1
  106. package/dist/assets/Addons-D4HEweDl.js +0 -4
  107. package/dist/assets/AiProfiles-4iPHownz.js +0 -3
  108. package/dist/assets/Build-CvxS-6Fl.js +0 -40
  109. package/dist/assets/Calendars-BEL2vZe4.js +0 -1
  110. package/dist/assets/Cluster-DNceBwTk.js +0 -1
  111. package/dist/assets/CompositionCreateForm-DRDUGbPO.js +0 -1
  112. package/dist/assets/Data-DNZ19S8x.js +0 -2
  113. package/dist/assets/DeviceDetail-DLdtY5JV.js +0 -2
  114. package/dist/assets/History-CR49b6FJ.js +0 -1
  115. package/dist/assets/Identity-D7lmTPbJ.js +0 -1
  116. package/dist/assets/IntegrationDetail-CWCcdpCz.js +0 -1
  117. package/dist/assets/IntegrationHub-FpZU6jWS.js +0 -1
  118. package/dist/assets/Integrations-DoyxOos9.js +0 -1
  119. package/dist/assets/Integrations-lVBfHk53.js +0 -1
  120. package/dist/assets/Locations-BgcB7ZnK.js +0 -3
  121. package/dist/assets/NodeAddonsSettingsPanel-Ck7AYA-1.js +0 -1
  122. package/dist/assets/Notifications-Bds4p5-3.js +0 -1
  123. package/dist/assets/Recordings-Cb_VFOLV.js +0 -1
  124. package/dist/assets/SessionsList-DgE-51ju.js +0 -2
  125. package/dist/assets/circle-slash-BNZPoK0U.js +0 -1
  126. package/dist/assets/client-CHpTazh3.js +0 -358
  127. package/dist/assets/crop-DOQmDtnO.js +0 -1
  128. package/dist/assets/device-picker-model-DoeAV03f.js +0 -1
  129. package/dist/assets/dist-CVdvfX2T.js +0 -358
  130. package/dist/assets/event-targets-Cfijpphw.js +0 -2
  131. package/dist/assets/i18n-CQ56JIQj.js +0 -1
  132. package/dist/assets/index-BgKj4CM9.js +0 -4
  133. package/dist/assets/mount-DoeAV03f.js +0 -1
  134. package/dist/assets/remoteEntry-BAoznONo.js +0 -1
  135. package/dist/assets/src-B5lceK9L.js +0 -67
  136. package/dist/assets/step-inspector-model-rJIkKDaR.js +0 -1
  137. package/dist/assets/useEventInvalidation-DoeAV03f.js +0 -1
  138. package/dist/assets/user-round-TUECAUsL.js +0 -1
@@ -1 +1 @@
1
- import{na as e}from"./player-overlays-mwQ6DKjG.js";var t=e(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]);export{t};
1
+ import{na as e}from"./player-overlays-DDFLUcm1.js";var t=e(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]);export{t};
@@ -0,0 +1,2 @@
1
+ import{$ as e,B as t,G as n,J as r,L as i,S as a,b as o,q as s,x as c}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CEHpkaJP.js";import{D as l,O as u,Rn as d,T as f,V as p,Vi as m,dt as h,ot as g,ta as _}from"./player-overlays-DDFLUcm1.js";import{An as v,Bn as y,Ci as b,Cn as x,Dn as S,En as C,In as w,Ln as T,Mn as E,Oi as D,On as O,Qr as k,Qt as A,Rn as ee,Si as te,Tn as ne,Wt as re,Xn as j,Zt as ie,bi as ae,di as M,fi as N,ii as P,jn as oe,kn as se,li as ce,mn as le,ni as ue,pi as de,ri as fe,si as pe,ti as me,tn as he,ui as ge,wn as _e,xi as ve,zn as ye}from"./client-BnEPcD6s.js";import{t as be}from"./boxes-BIYyTH0E.js";import{$r as xe,Ar as Se,Br as Ce,Cr as F,Dr as we,Hr as I,Io as Te,Ju as Ee,L as De,Lo as Oe,Mn as ke,Nn as Ae,Or as je,Pn as Me,Uu as L,Vn as Ne,Yr as R,Yu as Pe,as as Fe,dr as z,ei as Ie,hr as B,kr as Le,kt as Re,lr as V,md as ze,mr as H,ni as Be,oo as Ve,pr as He,s as Ue,so as U,ti as We,ur as Ge,vn as Ke}from"./src-CWZRb0ia.js";import{t as W}from"./i18n-DsGcRtAk.js";import{t as G}from"./useTranslation-D3Is_4B6.js";import{n as qe}from"./assignment-candidates-CQGwwSSC.js";e();function Je({id:e,...t}){return c(Ke,{headingId:`customize-${e}`,...t})}function Ye(e,t){if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??W.t(`helpers.customize.requestFailed`)};let n=e.data;return e.status===`pending`||n===void 0?{kind:`pending`}:{kind:`known`,value:t(n)}}function Xe(e,t){let n=ze.useQueries(n=>e.map(e=>n.deviceManager.listDeviceIdsByCaps({capNames:[e]},{enabled:t})));return qe(e.map((e,t)=>{let r=n[t];return{cap:e,query:r===void 0?{status:`pending`}:{status:r.status,data:r.data,error:r.error===null?null:{message:r.error.message}}}}))}function Ze(e,t){let n=Re(e,t);return n.kind===`resolved`?n.integration.name:null}function Qe(e){let t=U({projection:`slim`},{enabled:e}),{data:r}=Fe(void 0,{enabled:e}),i=t.error===null||t.error===void 0?null:t.error.message;return n(()=>Ye({status:t.status,data:t.data,error:i===null?null:{message:i}},e=>e.map(e=>({id:e.id,name:e.name,addonId:e.addonId,stableId:e.stableId,type:e.type,location:e.location,isCamera:e.isCamera,integration:Ze(e,r),parentDeviceId:e.parentDeviceId,primaryChildEntityId:e.primaryChildEntityId??null,role:e.role??null}))),[t.status,t.data,i,r])}function $e(e){if(e.status===`pending`)return{kind:`pending`};if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??W.t(`helpers.customize.requestFailed`)};let t=e.data;if(t===void 0)return{kind:`pending`};if(t.state===`not-loaded`)return{kind:`not-loaded`,reason:t.reason};if(t.view===null)return{kind:`none`};let n=k(t.view.block);return n===null?{kind:`unknown`,reason:W.t(`helpers.customizationRead.notAComposition`,{id:t.view.block.id})}:{kind:`present`,view:t.view,composition:n}}function K(e){return e.kind===`present`?e.composition:null}var et={lastChangedAt:{en:`Last change`,it:`Ultima variazione`},lastFetchedAt:{en:`Last update`,it:`Ultimo aggiornamento`},lastDetectedAt:{en:`Last detection`,it:`Ultimo rilevamento`},lastPressedAt:{en:`Last press`,it:`Ultima pressione`},pressCountSinceStart:{en:`Press count`,it:`Conteggio pressioni`},since:{en:`Since`,it:`Da`}};function tt(e,t){return t.startsWith(`it`)?e.it:e.en}function nt(e){if(!(`unit`in e))return;let t=e.unit;return typeof t==`string`&&t.length>0?t:void 0}function rt(e,t){let n=le[e]?.noun;return n===void 0?e.split(`-`).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `):tt(n,t)}function q(e,t,n){let r=le[e]?.state?.find(e=>e.field===t);if(r!==void 0){let e=tt(r.label,n),t=nt(r);return t===void 0?e:`${e} (${t})`}let i=et[t];return i===void 0?t:tt(i,n)}function it(e){return he.find(t=>t.name===e)}function at(e){return e===`lastFetchedAt`||e.endsWith(`At`)}function ot(e){let t=_e(e.role);if(t===null||it(t)?.status===void 0)return null;let n={};return{target:{kind:`new`,type:e.type,...e.role===null?{}:{role:e.role}},features:[{kind:`fields`,cap:t,fields:n}]}}function st(e){return e===null?`incomplete`:x(ue(e,{lookupCap:me(he),sources:new Map,self:null,blockId:null,target:null,peers:[]}).problems)}function ct(e,t){let n=it(e);return n?.status===void 0?[]:P(n.status.schema).filter(e=>!at(e)&&!t.has(e))}function J(e,t,n){let r=e?.features??[],i=r.findIndex(e=>e.cap===n.cap);return{target:e?.target??{kind:`existing`,device:t},features:i===-1?[...r,n]:r.map((e,t)=>t===i?n:e)}}function Y(e,t){let n=e.features.filter(e=>e.cap!==t);return n.length===0?null:{target:e.target,features:n}}function X(e,t){let n=e?.features.find(e=>e.cap===t);return n!==void 0&&n.kind===`fields`?n:null}function lt(e){return Array.isArray(e)?e.map(lt):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,lt(t)]))}function ut(e){return JSON.stringify(lt(e))}function dt(e,t){switch(e.kind){case`pending`:return{kind:`refused`,reason:W.t(`helpers.customizationSave.notReadYet`)};case`unknown`:return{kind:`refused`,reason:`the customization could not be read: ${e.reason}`};case`not-loaded`:return{kind:`refused`,reason:`the customizations are not loaded yet: ${e.reason}`};case`none`:return t===null?{kind:`noop`}:{kind:`create`,input:{enabled:!0,composition:t}};case`present`:{let n=e.view.block.id;return t===null?{kind:`delete`,blockId:n}:ut(t)===ut(e.composition)?{kind:`noop`}:{kind:`update`,blockId:n,expectedUpdatedAt:e.view.block.updatedAt,composition:t}}}}function ft(){let{t:e}=G(),t=Ce();return(n,r)=>t({title:e(`customize.assign.removeConfirm.title`),message:r?`${e(`customize.assign.removeConfirm.message`,{what:n})} ${e(`customize.assign.removeConfirm.last`)}`:e(`customize.assign.removeConfirm.message`,{what:n}),confirmLabel:e(`customize.assign.removeConfirm.confirm`),variant:`danger`})}function pt(e,t){let n=e===`enum`?`string`:e,r=t.kind===`enum`?`string`:t.kind,i={source:t.source,cap:t.cap,fieldPath:t.fieldPath};return r===n?{kind:`from`,...i}:n===`number`&&r===`string`?{kind:`expression`,expr:`number(x)`,bindings:{x:{kind:`from`,...i}}}:null}function mt(e){return e.map(e=>({id:e.id,name:e.name,addonId:e.addonId,stableId:e.stableId,location:e.location,type:e.type}))}function ht(e,t,n){let r=t.trim().toLowerCase();return r===``?[]:e.filter(e=>!n.includes(e.id)&&[e.name,e.stableId,e.location??``].some(e=>e.toLowerCase().includes(r))).toSorted((e,t)=>e.name.localeCompare(t.name)).slice(0,20)}function Z(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=Object.getOwnPropertyDescriptor(n,e)?.value}return n}function gt(e,t,n,r){return r===null?{kind:`from`,source:e,cap:t,fieldPath:n.path}:pt(r,{source:e,cap:t,fieldPath:n.path,kind:n.kind})}function _t(e,t,n,r){let i={addonId:e.addonId,stableId:e.stableId};return t.caps.flatMap(e=>e.fields.filter(e=>e.item!==!0).map(t=>({cap:e.cap,path:t.path,kind:t.kind,value:n===null?void 0:Z(n[e.cap],t.path),source:gt(i,e.cap,t,r)})))}function vt(e,t){return t?e===void 0?`—`:e===null?`null`:typeof e==`string`||typeof e==`number`||typeof e==`boolean`?String(e):JSON.stringify(e):`…`}function yt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function bt(e,t){let n=Z(e,t);return n===void 0?{kind:`absent`}:t===`percentage`&&e.binary===!0?{kind:`value`,value:n,binary:!0}:{kind:`value`,value:n}}function xt(e,t,n){return yt(t)?bt(t,n):e.status===`error`?{kind:`unknown`,reason:e.error?.message??W.t(`helpers.liveValue.unreadable`)}:e.status===`pending`||e.data===void 0?{kind:`pending`}:e.data===null?{kind:`absent`}:bt(e.data,n)}function St(e,t,n){if(t.binary===!0&&n.cap===`battery`&&n.path===`percentage`){let t=Me(e);return{text:W.t(t?ke:Ae),tone:t?`warning`:`normal`}}return{text:n.path===`percentage`?`${Math.round(e)} %`:String(e),tone:`normal`}}function Ct(e,t,n){let r=e?`active`:`muted`;return t.cap===`contact`&&t.path===`entryOpen`?{text:e?n.open:n.closed,tone:r}:b[t.cap]===t.path?{text:e?n.active:n.inactive,tone:r}:{text:String(e),tone:`normal`}}function wt(e,t,n){switch(e.kind){case`pending`:return{text:`…`,tone:`muted`};case`unknown`:return{text:`?`,title:e.reason,tone:`warning`};case`absent`:return{text:`—`,tone:`muted`};case`value`:{let r=e.value;return r===null?{text:`—`,tone:`muted`}:typeof r==`boolean`?Ct(r,t,n):typeof r==`number`?St(r,e,t):typeof r==`string`?{text:r,tone:`normal`}:{text:JSON.stringify(r),tone:`normal`}}}}var Tt=0;function Et(e){let t=g(),n=Te({deviceId:e?.deviceId??Tt,capName:e?.cap??``},{enabled:e!==null}),r=Ue(t.trpcClient,e?.deviceId??null,e?.cap??``);return e===null?{kind:`absent`}:xt({status:n.status,data:n.data,error:n.error===null||n.error===void 0?null:{message:n.error.message}},r,e.path)}var Dt={muted:`text-foreground-subtle`,active:`text-success`,normal:`text-foreground`,warning:`text-warning`};function Ot({target:e}){let{t}=G(),n=Et(e);return e===null?null:c(kt,{display:wt(n,e,{active:t(`customize.assign.value.active`),inactive:t(`customize.assign.value.inactive`),open:t(`customize.assign.value.open`),closed:t(`customize.assign.value.closed`)})})}function kt({display:e}){return c(`span`,{className:`text-xs ${Dt[e.tone]}`,title:e.title,children:e.text})}function At(e){return e===`avg-round-1`?`customize.fieldsCard.aggregate.avg`:`customize.fieldsCard.aggregate.latest`}function jt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Mt(e,t,n){let r=RegExp(`(?<![A-Za-z0-9_])${jt(t)}(?![A-Za-z0-9_])`,`g`);return e.replace(r,()=>n)}function Nt(e,t,n,r,i){let a=Object.keys(t).toSorted((e,t)=>t.length-e.length),o=e;for(let e of a){let a=t[e];if(a===void 0||a.kind!==`from`)continue;let s=n.get(N(a.source))??i,c=q(a.cap,a.fieldPath,r);o=Mt(o,e,`${s} · ${c}`)}return Ut(o)}var Pt=1e3,Ft=60*Pt,It=60*Ft,Lt={within:[1],dwell:[1,2],rose:[2]};function Rt(e){if(!Number.isInteger(e)||e<Pt)return null;if(e%It===0){let t=e/It;return t===1?`1 h`:`${t} h`}if(e%Ft===0){let t=e/Ft;return t===1?`1 min`:`${t} min`}if(e%Pt===0){let t=e/Pt;return t===1?`1 s`:`${t} s`}return null}function zt(e){return/^\d+$/.test(e.trim())?Rt(Number(e.trim())):null}function Bt(e,t){let n=1,r=t+1,i=null,a=[];for(let o=t+1;o<e.length;o+=1){let t=e[o]??``;if(i!==null){if(t===`\\`){o+=1;continue}t===i&&(i=null);continue}if(t===`"`||t===`'`){i=t;continue}if(t===`(`){n+=1;continue}if(t===`)`){if(--n,n===0){let t=e.slice(r,o);return a.length===0&&t.trim()===``||a.push({text:t}),{args:a,close:o}}continue}t===`,`&&n===1&&(a.push({text:e.slice(r,o)}),r=o+1)}return null}function Vt(e,t){let n=e[t-1];if(n!==void 0&&/[A-Za-z0-9_]/.test(n))return null;for(let n of Object.keys(Lt)){if(!e.startsWith(n,t))continue;let r=t+n.length,i=e[r];if(i!==void 0&&/[A-Za-z0-9_]/.test(i))continue;let a=r;for(;e[a]===` `||e[a]===`
2
+ `;)a+=1;if(e[a]!==`(`)continue;let o=Bt(e,a);return o===null?null:{name:n,close:o.close,args:o.args}}return null}function Ht(e){let t=e.args.map(e=>Ut(e.text)),n=Lt[e.name]??[];if(e.name===`within`){let e=t[1],n=e===void 0?null:zt(e);if(n!==null)return`within ${n}`}let r=t.map((e,t)=>n.includes(t)?zt(e)??e.trim():e.trim());return`${e.name}(${r.join(`, `)})`}function Ut(e){let t=``,n=0;for(;n<e.length;){let r=Vt(e,n);if(r===null){t+=e[n]??``,n+=1;continue}t+=Ht(r),n=r.close+1}return t}function Wt(e){for(let t=1;;t++){let n=`s${t}`;if(!e.includes(n))return n}}var Gt={min:`min(a, b, …)`,max:`max(a, b, …)`,abs:`abs(x)`,floor:`floor(x)`,ceil:`ceil(x)`,sqrt:`sqrt(x)`,round:`round(x, digits?)`,pow:`pow(x, y)`,clamp:`clamp(x, lo, hi)`,avg:`avg(a, b, …)`,sum:`sum(a, b, …)`,coalesce:`coalesce(a, b, …)`,age:`age(now, ts)`,convert:`convert(x, "from", "to")`,any:`any(a, b, …)`,all:`all(a, b, …)`,within:`within(ts, ms)`,number:`number(x)`,latest:`latest(ts, …)`,rose:`rose(level, changedAt, debounceMs?)`,count:`count(x)`,dwell:`dwell(active, onForMs, offForMs)`,latchedAt:`latchedAt(value)`},Kt=/[A-Za-z_][A-Za-z0-9_]*$/;function qt(e,t,n){let r=Kt.exec(e.slice(0,t))?.[0]??``;if(r===``)return[];let i=n.filter(e=>e.startsWith(r)).toSorted().map(e=>({kind:`binding`,label:e,insert:e,hintKey:null})),a=`now`.startsWith(r)?[{kind:`now`,label:`now`,insert:`now`,hintKey:`compositionEditor.now`}]:[],o=[...te].filter(e=>e.startsWith(r)).toSorted().map(e=>({kind:`builtin`,label:Gt[e]??e,insert:`${e}(`,hintKey:`compositionEditor.builtins.${e}`}));return[...i,...a,...o].slice(0,8)}function Jt(e,t,n){let r=t-(Kt.exec(e.slice(0,t))?.[0]??``).length;return{text:`${e.slice(0,r)}${n.insert}${e.slice(t)}`,cursor:r+n.insert.length}}e();function Yt({label:e,value:t,bindings:n,onChange:i}){let{t:o}=G(),l=s(null),[u,d]=r(t.length),f=qt(t,u,n);return a(`div`,{className:`flex flex-col gap-1`,children:[a(`label`,{className:`flex flex-col gap-1 text-[11px]`,children:[e,c(`input`,{ref:l,className:`font-mono px-1.5 py-0.5 text-[11px] bg-background border border-border rounded`,value:t,onChange:e=>{i(e.target.value),d(e.target.selectionStart??e.target.value.length)},onSelect:e=>d(e.currentTarget.selectionStart??t.length)})]}),f.length>0&&c(`ul`,{role:`listbox`,"aria-label":o(`compositionEditor.suggestions`),className:`rounded border border-border bg-surface text-[11px]`,children:f.map(e=>a(`li`,{role:`option`,"aria-selected":!1,tabIndex:0,className:`flex justify-between gap-2 px-1 cursor-pointer hover:bg-surface-hover`,onClick:()=>{let n=Jt(t,u,e);i(n.text),d(n.cursor),l.current?.focus()},children:[c(`span`,{className:`font-mono`,children:e.label}),e.hintKey!==null&&c(`span`,{className:`text-foreground-subtle`,children:o(e.hintKey)})]},`${e.kind}:${e.label}`))})]})}function Xt(e){return{addonId:e.addonId,stableId:e.stableId}}function Zt(e){return new Map(e.map(e=>[N(Xt(e)),e]))}function Qt(e,t,n){if(e.kind===`code`)return{kind:`unavailable`,reason:W.t(`helpers.fieldPreview.codeFields`)};if(e.kind===`expression`&&(fe(e.expr,`rose`)||fe(e.expr,`count`)))return{kind:`runtime-only`};let r=de(e).filter(e=>t.get(M(e.source,e.cap))?.kind!==`value`).map(ge);if(r.length>0)return{kind:`waiting`,missing:r};let i=y({source:e,now:n,read:e=>{let n=t.get(M(e.source,e.cap)),r=n?.kind===`value`?Z(n.slice,e.fieldPath):void 0,i=r===void 0?void 0:ve(r);return i===void 0?{state:`unavailable`,reason:W.t(`helpers.fieldPreview.notReported`,{path:`${e.cap}.${e.fieldPath}`}),fatal:!1}:{state:`fresh`,value:i}}});return i.state===`unavailable`?{kind:`unavailable`,reason:i.reason}:{kind:`value`,value:i.value,stale:i.reason}}e();function $t({sliceKey:e,deviceId:n,capName:r,onReading:i}){let a=Ue(g().trpcClient,n,r);return t(()=>{i(e,a===void 0?{kind:`pending`}:{kind:`value`,slice:a})},[e,a,i]),null}function en(e,t){return[...new Map(de(e).map(e=>[M(e.source,e.cap),e]))].map(([e,n])=>({key:e,read:n,device:t.get(N(n.source))}))}function tn({source:e}){let{t}=G(),n=U({projection:`slim`}),[o,s]=r(new Map),l=i((e,t)=>{s(n=>new Map([...n,[e,t]]))},[]),u=en(e,Zt(n.status===`success`?mt(n.data):[])),d=n.status===`success`?u.filter(e=>e.device===void 0).map(e=>N(e.read.source)):[];return a(`div`,{className:`flex flex-wrap items-center gap-2 text-[11px]`,children:[u.map(e=>e.device===void 0?null:c($t,{sliceKey:e.key,deviceId:e.device.id,capName:e.read.cap,onReading:l},e.key)),c(`span`,{className:`text-foreground-subtle`,children:t(`compositionEditor.preview.label`)}),n.status===`error`?c(`span`,{className:`text-warning`,children:t(`compositionEditor.preview.devicesFailed`,{reason:n.error?.message??``})}):d.length>0?c(`span`,{className:`text-warning`,children:t(`compositionEditor.preview.unknownDevice`,{sources:d.join(`, `)})}):c(nn,{preview:Qt(e,o,Date.now())})]})}function nn({preview:e}){let{t}=G();switch(e.kind){case`value`:return a(`strong`,{children:[`→ `,vt(e.value,!0),e.stale===null?``:` (${e.stale})`]});case`unavailable`:return c(`span`,{className:`text-warning`,children:e.reason});case`waiting`:return c(`span`,{className:`text-foreground-subtle`,children:t(`compositionEditor.preview.waiting`,{sources:e.missing.join(`, `)})});case`runtime-only`:return c(`span`,{className:`text-foreground-subtle`,children:t(`compositionEditor.preview.runtimeOnly`)})}}e();var rn=[];function an({title:e,targetKind:t,excludeDeviceIds:n=rn,onPick:i,onCancel:o}){let{t:s}=G(),[d,f]=r(null);return a(`aside`,{"aria-label":e,className:`${u} ${l} flex flex-col gap-2`,children:[c(`h3`,{className:p,children:e}),d===null?c(on,{excludeDeviceIds:n,onSelect:f}):c(sn,{device:d,targetKind:t,onPick:i,onBack:()=>f(null)}),c(`div`,{children:c(I,{variant:`ghost`,size:`sm`,onClick:o,children:s(`customize.picker.cancel`)})})]})}function on({excludeDeviceIds:e,onSelect:t}){let{t:n}=G(),[i,s]=r(``),l=U({projection:`slim`});return a(o,{children:[a(`label`,{className:`flex flex-col gap-1 text-[11px] text-foreground-subtle`,children:[n(`customize.picker.search`),c(Ee,{type:`search`,"aria-label":n(`customize.picker.search`),value:i,onChange:e=>s(e.target.value)})]}),l.status===`pending`&&c(`p`,{role:`status`,className:`text-[11px] text-foreground-subtle`,children:n(`customize.picker.loadingDevices`)}),l.status===`error`&&c(F,{title:n(`customize.picker.devicesFailed`),message:l.error?.message??``}),l.status===`success`&&c(`ul`,{className:`flex flex-col gap-1`,children:ht(mt(l.data),i,e).map(e=>c(`li`,{children:a(`button`,{type:`button`,className:`text-left text-[11px] hover:underline`,onClick:()=>t(e),children:[e.name,` `,a(`span`,{className:`text-foreground-subtle`,children:[`· `,e.stableId]})]})},e.id))})]})}function sn({device:e,targetKind:t,selected:n,onPick:r,onBack:i}){let{t:o}=G(),s=Ve({deviceId:e.id}),l=Oe({deviceId:e.id});if(s.status===`pending`)return c(`p`,{role:`status`,className:`text-[11px] text-foreground-subtle`,children:o(`customize.picker.loadingFields`)});if(s.status===`error`)return c(F,{title:o(`customize.picker.fieldsFailed`),message:s.error?.message??``});let u=_t(e,s.data,l.status===`success`?l.data:null,t),d=u.filter(e=>e.source===null).length,f={addonId:e.addonId,stableId:e.stableId};return a(`div`,{className:`flex flex-col gap-1`,children:[a(`button`,{type:`button`,className:`text-left text-[11px] text-primary`,onClick:i,children:[`← `,e.name]}),l.status===`error`&&c(`p`,{role:`alert`,className:`text-[10px] text-warning`,children:o(`customize.picker.valuesFailed`,{reason:l.error?.message??``})}),c(`ul`,{role:`listbox`,"aria-label":o(`customize.picker.fields`),className:`flex flex-col gap-1`,children:u.map(t=>{let i=t.source;if(i===null)return null;let o=()=>r({device:e,ref:f,cap:t.cap,path:t.path,kind:t.kind,source:i,value:t.value});return a(`li`,{role:`option`,"aria-selected":n?.cap===t.cap&&n.path===t.path,tabIndex:0,className:`flex justify-between gap-2 text-[11px] cursor-pointer hover:bg-surface-hover rounded px-1`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&o()},children:[a(`span`,{className:`font-mono`,children:[t.cap,`.`,t.path]}),c(`span`,{children:vt(t.value,l.status===`success`)})]},`${t.cap}.${t.path}`)})}),d>0&&t!==null&&c(`p`,{className:`text-[10px] text-foreground-subtle`,children:o(`customize.picker.hidden`,{count:d,kind:o(`customize.kinds.${t}`)})})]})}e();var cn=new Map;function ln(e,t,n,r){return e.kind===`from`?`${t.get(N(e.source))??r} · ${q(e.cap,e.fieldPath,n)}`:``}function un({open:e,title:t,fieldPath:n,fieldLabel:i,sourceNames:o=cn,initial:s,selfNative:l=null,onClose:u,onSave:d}){let{t:f,i18n:p}=G(),[m,h]=r(s.kind===`expression`?s:{kind:`expression`,expr:`null`,bindings:{}}),[g,_]=r(`idle`),v=ne(m.expr,m.bindings),y=Object.keys(m.bindings);return c(V,{open:e,onOpenChange:e=>{e||u()},children:a(z,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`formula-dialog`,children:[c(H,{children:c(B,{children:t})}),a(Ge,{className:`flex flex-col gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:i??q(``,n,p.language)}),c(Yt,{label:f(`compositionEditor.formulaFor`,{path:i??n}),value:m.expr,bindings:y,onChange:e=>h({...m,expr:e})}),c(`ul`,{className:`flex flex-col gap-0.5 text-[11px]`,children:Object.entries(m.bindings).map(([e,t])=>a(`li`,{className:`flex flex-wrap items-center gap-2`,children:[c(`span`,{className:`font-mono`,children:e}),c(`span`,{children:t.kind===`from`?ln(t,o,p.language,f(`customize.fieldsCard.unknownDevice`)):JSON.stringify(t.value)}),c(I,{size:`sm`,variant:`ghost`,"aria-label":f(`compositionEditor.removeBinding`,{name:e}),onClick:()=>{let{[e]:t,...n}=m.bindings;h({...m,bindings:n})},children:`×`})]},e))}),a(`div`,{className:`flex flex-wrap gap-2`,children:[l!==null&&c(I,{size:`sm`,variant:`outline`,"data-testid":`formula-self-native`,onClick:()=>{let e=Object.keys(m.bindings),t=m.bindings.v===void 0?`v`:Wt(e);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:l.source,cap:l.cap,fieldPath:l.fieldPath}}})},children:f(`customize.override.selfNative`)}),c(I,{size:`sm`,variant:`outline`,onClick:()=>_(`add-binding`),children:f(`compositionEditor.addSource`)})]}),v!==null&&c(`p`,{role:`alert`,className:`text-xs text-danger`,children:v}),c(tn,{source:m}),g===`add-binding`&&c(an,{title:f(`compositionEditor.addSource`),targetKind:null,onCancel:()=>_(`idle`),onPick:e=>{let t=Wt(y);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:e.ref,cap:e.cap,fieldPath:e.path}}}),_(`idle`)}})]}),a(He,{children:[c(I,{variant:`ghost`,onClick:u,children:f(`compositionEditor.cancel`)}),c(I,{"data-testid":`formula-dialog-save`,disabled:v!==null,onClick:()=>{d(m),u()},children:f(`compositionEditor.save`)})]})]})})}e();function dn({open:e,from:t,initialTo:n,onClose:i,onSave:o}){let{t:s}=G(),l=T(t),[u,d]=r(n??l[0]??``),f=l.includes(u)?u:l[0]??``;return c(V,{open:e,onOpenChange:e=>{e||i()},children:a(z,{width:`sm`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`convert-unit-dialog`,children:[c(H,{children:c(B,{children:s(`customize.override.convertTitle`)})}),a(Ge,{className:`flex flex-col gap-2`,children:[c(`p`,{className:`text-xs text-foreground`,children:s(`customize.override.convertSummary`,{from:t,to:f})}),l.length>1&&c(L,{"aria-label":s(`customize.override.targetUnit`),value:f,onChange:e=>d(e.target.value),options:l.map(e=>({value:e,label:e}))})]}),a(He,{children:[c(I,{variant:`ghost`,onClick:i,children:s(`compositionEditor.cancel`)}),c(I,{"data-testid":`convert-unit-publish`,disabled:f===``||f===t,onClick:()=>{o(f),i()},children:s(`customize.override.publish`)})]})]})})}function fn(e,t,n,r,i){return{kind:`expression`,expr:`convert(v, ${JSON.stringify(e)}, ${JSON.stringify(t)})`,bindings:{v:{kind:`from`,source:n,cap:r,fieldPath:i}}}}function pn(e){return{kind:`expression`,expr:JSON.stringify(e),bindings:{}}}function mn(e,t,n,r,i,a){let o=X(e,n)??{kind:`fields`,cap:n,fields:{}},s={...o.fields,[r]:i},c=Object.fromEntries(Object.entries(s).filter(([e])=>!a.includes(e)));return J(e,t,{...o,fields:c})}function hn(e,t,n,r){let i=ye(t,n);if(i===null||e===null)return[];let a=e.fields[i];return a?.kind===`expression`&&a.expr===JSON.stringify(r)&&i!==n?[i]:[]}function gn(e,t,n,r){let i=X(e,n);if(i===null)return e;let a=new Set(r),o=Object.fromEntries(Object.entries(i.fields).filter(([e])=>!a.has(e)));return Object.keys(o).length===0?Y(e,n):J(e,t,{...i,fields:o})}e();function _n({deviceId:e,self:t,selfName:n,cap:i,fieldPath:s,label:l,unit:u,valueKind:d=null,handle:f,names:p,toFill:m=!1}){let{t:h,i18n:g}=G(),_=ft(),[v,y]=r(`closed`),b=K(f.state),x=X(b,i),S=x?.fields[s]??null,C=S===null?null:ee(S),w=u===void 0?[]:T(u),E=new Map(p);E.set(N(t),n);let D=()=>y(`closed`),O=(e,n)=>{f.save(mn(b,t,i,s,e,n))},k=()=>C?.kind===`convert-unit`?hn(x,i,s,C.to):[];return a(`div`,{className:`flex flex-col gap-1 border-t border-border pt-2 first:border-t-0 first:pt-0`,"data-testid":`override-row-${i}-${s}`,children:[a(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:l}),m&&S===null&&c(R,{variant:`warning`,children:h(`compositionEditor.toFill`)})]}),a(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:h(`customize.scalar.effective`)}),c(Ot,{target:{deviceId:e,cap:i,path:s}})]}),C===null?c(`p`,{className:`text-xs text-foreground-subtle`,children:h(`customize.scalar.noOverride`)}):c(bn,{entry:C,names:E,language:g.language,unknownDevice:h(`customize.fieldsCard.unknownDevice`)}),c(`div`,{className:`flex flex-wrap gap-2`,children:C===null?c(yn,{cap:i,fieldPath:s,saving:f.saving,convert:w.length>0,onFrom:()=>y(`from`),onFormula:()=>y(`formula`),onConvert:()=>y(`convert`)}):a(o,{children:[c(I,{variant:`outline`,size:`sm`,disabled:f.saving,onClick:()=>y(vn(C)),children:h(`customize.scalar.change`)}),c(I,{variant:`ghost`,size:`sm`,disabled:f.saving,onClick:()=>{if(b===null)return;let e=gn(b,t,i,[s,...k()]);_(h(`customize.fieldsCard.removeField`,{field:l}),e===null).then(t=>{t&&f.save(e)})},children:h(`customize.scalar.remove`)})]})}),c(V,{open:v===`from`,onOpenChange:e=>{e||D()},children:a(z,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,children:[c(H,{children:c(B,{children:l})}),c(Ge,{children:v===`from`&&c(an,{title:h(`customize.override.fromDevice`),targetKind:d??(u===void 0?null:`number`),onCancel:D,onPick:e=>{O(e.source,k()),D()}})})]})}),v===`formula`&&c(un,{open:!0,title:h(`compositionEditor.formulaFor`,{path:l}),fieldPath:s,fieldLabel:l,sourceNames:E,initial:S?.kind===`expression`?S:{kind:`expression`,expr:`v`,bindings:{}},selfNative:{source:t,cap:i,fieldPath:s},onClose:D,onSave:e=>{O(e,k()),D()}}),v===`convert`&&u!==void 0&&c(dn,{open:!0,from:u,initialTo:C?.kind===`convert-unit`?C.to:null,onClose:D,onSave:e=>{let n=ye(i,s),r=mn(b,t,i,s,fn(u,e,t,i,s),[]),a=n===null?r:mn(r,t,i,n,pn(e),[]);f.save(a),D()}})]})}function vn(e){return e.kind===`convert-unit`?`convert`:e.kind===`from`?`from`:`formula`}function yn({cap:e,fieldPath:t,saving:n,convert:r,onFrom:i,onFormula:o,onConvert:s}){let{t:l}=G();return a(xe,{children:[c(Be,{className:`h-7 px-2.5 text-xs rounded-md border border-border bg-surface text-foreground`,disabled:n,"data-testid":`override-add-${e}-${t}`,children:l(`customize.scalar.add`)}),a(Ie,{children:[c(We,{onClick:i,children:l(`customize.override.fromDevice`)}),c(We,{onClick:o,children:l(`customize.override.formula`)}),r&&c(We,{onClick:s,children:l(`customize.override.convertUnit`)})]})]})}function bn({entry:e,names:t,language:n,unknownDevice:r}){let{t:i}=G();return e.kind===`companion`?c(`span`,{className:`text-xs text-foreground`,children:i(`customize.fieldsCard.now`)}):e.kind===`convert-unit`?a(`p`,{className:`flex flex-wrap items-center gap-1 text-xs text-foreground`,children:[c(`span`,{children:i(`customize.override.convertSummary`,{from:e.from,to:e.to})}),c(R,{children:i(`customize.override.convertUnit`)})]}):e.kind===`formula`?a(`p`,{className:`flex flex-wrap items-center gap-1 text-xs text-foreground`,children:[c(`span`,{className:`break-words`,children:Nt(e.expr,e.bindings,t,n,r)}),c(R,{children:i(`compositionEditor.formula`)})]}):a(`div`,{className:`flex flex-col gap-0.5`,children:[e.sources.map(e=>{let a=N(e.source);return c(`span`,{className:`text-xs text-foreground`,children:i(`customize.fieldsCard.from`,{name:t.get(a)??r,field:q(e.cap,e.fieldPath,n)})},`${a}:${e.cap}:${e.fieldPath}`)}),e.aggregate!==null&&c(`span`,{className:`text-xs text-foreground-muted`,children:i(At(e.aggregate))})]})}function xn(e,t){return A(e,t)}function Sn({deviceId:e,selfName:t,card:n,handle:r,names:i}){let{t:o,i18n:s}=G(),l=ft(),u=K(r.state),d=s.language,f=rt(n.cap,d),p=new Set(Object.keys(n.entries)),m=ct(n.cap,p),h=()=>{if(u===null)return;let e=Y(u,n.cap);l(o(`customize.fieldsCard.removeWhat`,{cap:f}),e===null).then(t=>{t&&r.save(e)})},g=(a,o)=>c(_n,{deviceId:e,self:r.target,selfName:t,cap:n.cap,fieldPath:a,label:q(n.cap,a,d),unit:xn(n.cap,a),handle:r,names:i,toFill:o},a);return a(`div`,{className:`flex flex-col gap-3 px-3 py-2 sm:px-4`,children:[m.map(e=>g(e,!0)),Object.keys(n.entries).filter(e=>!m.includes(e)).map(e=>g(e,!1)),c(`div`,{className:`flex flex-wrap gap-2`,children:c(I,{variant:`ghost`,size:`sm`,disabled:r.saving,onClick:h,children:o(`customize.fieldsCard.removeFeature`,{cap:f})})})]})}e();function Cn({device:e,handle:t,skipCaps:r}){let{i18n:i}=G(),a=K(t.state),s=Qe(a!==null),l=n(()=>s.kind===`known`?new Map(s.value.map(e=>[N({addonId:e.addonId,stableId:e.stableId}),e.name])):new Map,[s]);if(a===null)return null;let{model:u}=C(a),d=u.cards.filter(e=>e.card.cardKind===`fields`&&!r.has(e.card.cap));return d.length===0?null:c(o,{children:d.map(n=>{if(n.card.cardKind!==`fields`)return null;let r=n.card,a=rt(r.cap,i.language);return c(Je,{id:r.cap,icon:be,title:a,testId:`fields-card-${r.cap}`,children:c(Sn,{deviceId:e.id,selfName:e.name,card:r,handle:t,names:l})},r.cap)})})}function wn(e){return new Set(e.filter(e=>{let t=e.nativeAddonId?.trim()??``;return t!==``&&t!==`composer`}).map(e=>e.capName))}function Tn(e,t){return{cap:e,apply:t.apply,authority:t.applyAuthority?.kind??`composition-claim`,nativeItemsReadOnly:t.nativeItems===`read-only`}}function En(e){return e.kind===`known`?null:e}function Dn(e,t){return e.composable.kind===`known`?e.composable.value.has(t)?{kind:`present`,mode:`add`}:{kind:`absent`}:e.composable}function On(e){if(e.deviceType!==D.Camera)return{kind:`absent`};switch(e.cameraSensors){case`pending`:return{kind:`pending`};case`unknown`:return{kind:`unknown`,reason:W.t(`helpers.assignmentAvailability.sensorsUnchecked`)};case`absent`:return{kind:`absent`};case`present`:return{kind:`present`,mode:`add`}}}function kn(e,t){if(e.authority===`camera-sensors`)return On(t);let n=En(t.nativeCaps);if(n!==null)return n;let r=t.nativeCaps.kind===`known`?t.nativeCaps.value:new Set;return e.nativeItemsReadOnly?Dn(t,e.cap):r.has(e.cap)?{kind:`absent`}:Dn(t,e.cap)}e();var An=new Map;function jn({handle:e,cap:t,fieldPath:n,itemKey:i,label:s,testId:l,sourceNames:u=An}){let{t:d,i18n:f}=G(),p=q(t,n,f.language),[m,h]=r(!1),g=K(e.state),_=X(g,t),v=i===void 0?_?.fields[n]:_?.items?.[i]?.fields[n];if(v===void 0)return null;let y=async t=>{if(_===null)return;let r;if(i===void 0)r={..._,fields:{..._.fields,[n]:t}};else{let e=_.items?.[i];if(e===void 0)return;r={..._,items:{..._.items,[i]:{...e,fields:{...e.fields,[n]:t}}}}}await e.save(J(g,e.target,r))};return a(o,{children:[c(I,{variant:`ghost`,size:`sm`,"data-testid":l??`formula-entry-${t}-${n}`,onClick:()=>h(!0),children:s??d(`compositionEditor.formula`)}),c(un,{open:m,title:d(`compositionEditor.formulaFor`,{path:p}),fieldPath:n,fieldLabel:p,sourceNames:u,initial:v,onClose:()=>h(!1),onSave:e=>void y(e)})]})}var Mn=`kind`,Nn=`unit`,Pn=`unit-unknown`;function Fn(e){return`customize.scalar.fit.${e}`}var In=`compile`,Ln=`dwell`,Rn=`no-value`,zn=`empty`;function Bn(e){return`customize.scalar.previewFailure.${e}`}function Vn(e){return e===`compile`||e===`dwell`||e===`no-value`||e===`empty`}function Hn({preview:e}){let{t}=G();return a(`p`,{className:`text-[11px] text-foreground`,"data-testid":`scalar-preview`,children:[a(`span`,{className:`text-foreground-muted`,children:[t(`customize.scalar.preview`),` `]}),e.kind===`pending`&&c(`span`,{children:`…`}),e.kind===`value`&&c(`span`,{children:e.text}),e.kind===`dwell`&&c(`span`,{children:t(`customize.scalar.previewDwell`,{value:e.sourceText,level:e.active?t(`customize.scalar.thresholdActive`):t(`customize.scalar.thresholdClear`),countdown:t(e.active?`customize.scalar.runningIn`:`customize.scalar.stopsAfter`,{seconds:Math.round(e.countdownMs/1e3)})})}),e.kind===`failed`&&c(`span`,{title:Vn(e.reason)?t(Bn(e.reason)):e.reason,className:`text-warning`,children:`?`})]})}function Un(e){return e.length===1&&e[0]===`threshold`?`threshold`:e.length===1&&e[0]===`invert`||e.includes(`invert`)&&e.every(e=>e===`identity`||e===`invert`)?`invert`:e.length>1?`choice`:`none`}function Wn(e){if(e.transforms.includes(`identity`))return{kind:`identity`};if(e.transforms.includes(`threshold`)){let t=Kn(e.declared,`threshold`);if(t!==null)return Gn(t)}if(e.transforms.includes(`linear`)){let t=Kn(e.declared,`linear`);if(t!==null)return Gn(t)}return{kind:`invert`}}function Gn(e){switch(e.kind){case`identity`:return{kind:`identity`};case`invert`:return{kind:`invert`};case`threshold`:return{kind:`threshold`,comparison:e.comparison,threshold:e.defaultThreshold,startDwellMs:e.defaultStartDwellMs,stopDwellMs:e.defaultStopDwellMs};case`linear`:return qn(e);case`enum-map`:return{kind:`identity`}}}function Kn(e,t){return e.find(e=>e.kind===t)??null}function qn(e){return{kind:`linear`,scale:e.defaultScale,offset:e.defaultOffset,...e.clampMin!==void 0&&e.clampMax!==void 0?{clampMin:e.clampMin,clampMax:e.clampMax}:{}}}function Jn(e){let t=E({draft:{kind:`scalar`,cap:e.cap,targetId:e.targetId,source:{addonId:e.source.addonId,stableId:e.source.stableId,cap:e.source.cap,fieldPath:e.source.fieldPath},transform:e.transform},device:e.device,apply:e.apply,sourceValueKind:e.source.valueKind,changedAtField:e.source.changedAtField,sourceUnit:e.source.sourceUnit});return t.ok?t.value:null}function Yn({control:e,transforms:t,declared:n,unit:r,value:i,onChange:o}){let{t:s}=G();return e===`none`?null:a(`div`,{className:`flex flex-col gap-2`,children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:s(`customize.scalar.stepTransform`)}),e===`choice`&&c(L,{"aria-label":s(`customize.scalar.stepTransform`),value:i.kind,options:t.map(e=>({value:e,label:s(`customize.scalar.transform.${e}`)})),onChange:e=>o(Xn(e.target.value,n))}),i.kind===`invert`||e===`invert`&&i.kind!==`threshold`?a(`label`,{className:`flex items-center gap-2 text-[11px] text-foreground`,children:[c(Ne,{checked:i.kind===`invert`,onChange:e=>o(e.target.checked?{kind:`invert`}:{kind:`identity`})}),s(`customize.scalar.invert`)]}):null,i.kind===`threshold`&&c(Qn,{declared:n,unit:r,value:i,onChange:o}),i.kind===`linear`&&c(er,{declared:n,value:i,onChange:o})]})}function Xn(e,t){let n=Kn(t,Zn(e));return n===null?e===`invert`?{kind:`invert`}:{kind:`identity`}:Gn(n)}function Zn(e){return e===`invert`||e===`threshold`||e===`linear`||e===`enum-map`?e:`identity`}function Qn({declared:e,unit:t,value:n,onChange:r}){let{t:i}=G(),o=t??``,s=Kn(e,`threshold`),l=s?.kind===`threshold`?s.comparisons:[];return a(`div`,{className:`flex flex-col gap-2 text-[11px] text-foreground`,children:[l.length>0&&a(`label`,{className:`flex flex-col gap-1`,children:[i(`customize.scalar.comparison`),c(L,{"aria-label":i(`customize.scalar.comparison`),value:n.comparison,options:l.map(e=>({value:e,label:i(`customize.scalar.comparisonValue.${e}`)})),onChange:e=>{let t=l.find(t=>t===e.target.value);t!==void 0&&r({...n,comparison:t})}})]}),c(Q,{label:i(`customize.scalar.threshold`,{unit:o}),value:n.threshold,onChange:e=>r({...n,threshold:e})}),c(Q,{label:i(`customize.scalar.startDwell`),value:n.startDwellMs/1e3,onChange:e=>r({...n,startDwellMs:e*1e3})}),c(Q,{label:i(`customize.scalar.stopDwell`),value:n.stopDwellMs/1e3,onChange:e=>r({...n,stopDwellMs:e*1e3})})]})}function $n(e){return e===null||e.kind!==`linear`||e.clampMin===void 0||e.clampMax===void 0?null:{min:e.clampMin,max:e.clampMax}}function er({declared:e,value:t,onChange:n}){let{t:r}=G(),i=$n(Kn(e,`linear`));return a(`div`,{className:`flex flex-col gap-2 text-[11px] text-foreground`,children:[c(Q,{label:r(`customize.scalar.scale`),value:t.scale,onChange:e=>n({...t,scale:e})}),c(Q,{label:r(`customize.scalar.offset`),value:t.offset,onChange:e=>n({...t,offset:e})}),i!==null&&c(Q,{label:r(`customize.scalar.clampMin`),value:t.clampMin??i.min,onChange:e=>n({...t,clampMin:e,clampMax:t.clampMax??i.max})}),i!==null&&c(Q,{label:r(`customize.scalar.clampMax`),value:t.clampMax??i.max,onChange:e=>n({...t,clampMin:t.clampMin??i.min,clampMax:e})})]})}function Q({label:e,value:t,onChange:n}){return a(`label`,{className:`flex flex-col gap-1`,children:[e,c(Ee,{type:`number`,value:Number.isFinite(t)?t:0,onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&n(t)}})]})}function tr(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function nr(e,t){let n=Object.entries(w).find(([t])=>t===e)?.[1];return n===void 0?null:n.targets.find(e=>e.id===t)??null}function rr(e,t){return nr(e,t)?.path??null}function ir(e,t){return e.caps.flatMap(e=>{let n=ar(t,e.cap);return e.fields.filter(e=>e.item!==!0).map(t=>({cap:e.cap,path:t.path,kind:t.kind,unit:n}))})}function ar(e,t){if(e===null)return null;let n=Z(e[t],`unit`);return typeof n==`string`&&n.length>0?n:null}function or(e,t){return t.kind===`boolean`&&t.cap===`switch`?e.find(e=>e.kind===`switch`)??null:t.kind===`boolean`?e.find(e=>e.kind===`binary`)??e.find(e=>e.kind===`field`&&e.valueKinds?.includes(`boolean`))??null:t.kind===`number`?e.find(e=>e.kind===`numeric`)??e.find(e=>e.kind===`field`&&e.valueKinds?.includes(`number`))??null:t.kind===`string`?e.find(e=>e.kind===`field`&&e.valueKinds?.includes(`string`))??null:null}function sr(e,t,n){let r=nr(e,t);if(r===null||r.cardinality!==`scalar`||n.kind===`enum`)return{ok:!1,reason:Mn};let i=or(r.sources,n);if(i===null)return{ok:!1,reason:Mn};if(i.requiredUnit!==void 0&&n.unit===null)return{ok:!1,reason:Pn};if(i.requiredUnit!==void 0&&n.unit!==i.requiredUnit)return{ok:!1,reason:Nn};let a=i.transformKinds.filter(tr);return a.length===0?{ok:!1,reason:Mn}:{ok:!0,valueKind:n.kind,sourceUnit:i.requiredUnit??null,transforms:a,declared:i.transforms}}function cr(e){let t=Jn(e);if(t===null)return{kind:`failed`,reason:In};if(e.transform.kind===`threshold`)return lr(e.transform,e);let n=rr(e.cap,e.targetId),r=n===null?void 0:t.fields[n];if(r===void 0)return{kind:`failed`,reason:In};if(r.kind===`from`)return dr(e.sourceValue);if(r.kind!==`expression`)return{kind:`failed`,reason:In};if(r.expr.startsWith(`dwell(`))return{kind:`failed`,reason:Ln};let i=ur(e.sourceValue);if(i===void 0)return{kind:`failed`,reason:Rn};let a=ae(r.expr,{x:i},e.nowMs);return a.ok?dr(a.value):{kind:`failed`,reason:a.error}}function lr(e,t){if(typeof t.sourceValue!=`number`||!Number.isFinite(t.sourceValue))return{kind:`failed`,reason:Rn};let n=e.comparison===`gte`?t.sourceValue>=e.threshold:t.sourceValue<=e.threshold,r=t.source.sourceUnit;return{kind:`dwell`,sourceText:r===null?String(t.sourceValue):`${t.sourceValue} ${r}`,active:n,countdownMs:n?e.startDwellMs:e.stopDwellMs}}function ur(e){if(typeof e==`number`||typeof e==`string`||typeof e==`boolean`)return e;if(e===null)return null}function dr(e){return e==null||typeof e==`number`&&!Number.isFinite(e)?{kind:`failed`,reason:zn}:typeof e==`number`||typeof e==`string`||typeof e==`boolean`?{kind:`value`,text:String(e)}:{kind:`failed`,reason:zn}}e();function fr(e){return e===`pending`?`pending`:e===`error`?`failed`:`answered`}function pr(e){let{t}=G(),n=e.mode===`change`?t(`customize.scalar.changeTitle`,{title:e.title}):t(`customize.scalar.addTitle`,{title:e.title});return c(V,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(z,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(H,{children:c(B,{children:n})}),e.open&&c(mr,{...e,heading:n})]})})}function mr(e){let{t,i18n:i}=G(),s=U({projection:`slim`}),l=n(()=>s.status===`success`?mt(s.data):[],[s.status,s.data]),u=vr(e.seed,l),[d,f]=r(null),[p,m]=r(!1);!p&&u!==null&&(f(u),m(!0));let h=Ve({deviceId:d?.id??0}),g=Oe({deviceId:d?.id??0}),_=h.status===`success`?h.data:{caps:[]},v=ir(_,g.status===`success`?g.data:null),[y,b]=r(yr(e.seed)),[x,S]=r(e.seed?.transform??{kind:`identity`}),C=v.find(e=>hr(e)===y)??null,w=C===null?null:sr(e.cap,e.targetId,C),T=C===null||w===null||!w.ok?null:gr(d,C,w,_),E=T===null?null:Jn({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,source:T,transform:x}),D=C===null||g.status!==`success`||d===null?void 0:Z(g.data[C.cap],C.path),O=T===null?null:g.status===`pending`?{kind:`pending`}:cr({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,source:T,transform:x,sourceValue:D,nowMs:Date.now()}),k=typeof e.host.location==`string`&&e.host.location.length>0?e.host.location:null,A=e=>{let t=l.find(t=>t.id===e);t!==void 0&&(f(t),b(null),S({kind:`identity`}))},ee=t=>{let n=sr(e.cap,e.targetId,t);n.ok&&(b(hr(t)),S(Wn(n)))};return a(o,{children:[a(Ge,{className:`flex flex-col gap-3 p-2 sm:p-4`,children:[a(`section`,{className:`flex flex-col gap-1`,"aria-label":t(`customize.scalar.stepDevice`),children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:t(`customize.scalar.stepDevice`)}),d===null?c(o,{children:s.status===`error`?c(F,{title:t(`customize.picker.devicesFailed`),message:s.error?.message??``}):c(De,{devices:_r(l,e.host.id),listState:fr(s.status),value:[],selection:`single`,...k===null?{}:{groupBy:`location`},onChange:e=>{let t=e[0];t!==void 0&&A(t)},noun:`device`,showAll:!0,testId:`scalar-device-picker`})}):a(`p`,{className:`flex flex-wrap items-center gap-2 text-xs text-foreground`,children:[d.name,c(I,{variant:`ghost`,size:`sm`,onClick:()=>f(null),children:t(`customize.scalar.changeDevice`)})]})]}),d!==null&&a(`section`,{className:`flex flex-col gap-1`,"aria-label":t(`customize.scalar.stepField`),children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:t(`customize.scalar.stepField`)}),h.status===`pending`&&c(`p`,{role:`status`,className:`text-[11px] text-foreground-subtle`,children:t(`customize.picker.loadingFields`)}),h.status===`error`&&c(F,{title:t(`customize.picker.fieldsFailed`),message:h.error?.message??``}),h.status===`success`&&c(`ul`,{className:`flex flex-col gap-1`,children:v.map(n=>{let r=sr(e.cap,e.targetId,n),o=hr(n);return a(`li`,{className:`flex flex-wrap items-center gap-2 text-[11px]`,children:[a(`label`,{className:`flex items-center gap-2 text-foreground`,children:[c(`input`,{type:`radio`,name:`scalar-field`,checked:y===o,disabled:!r.ok,onChange:()=>ee(n)}),a(`span`,{children:[q(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(Fn(r.reason))})]},o)})})]}),w!==null&&w.ok&&c(Yn,{control:Un(w.transforms),transforms:w.transforms,declared:w.declared,unit:w.sourceUnit,value:x,onChange:S}),O!==null&&c(Hn,{preview:O})]}),a(He,{className:`flex flex-wrap gap-2`,children:[c(I,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(I,{"data-testid":`scalar-save-override`,disabled:!e.canSave||E===null,onClick:()=>{E!==null&&e.onSave(E)},children:t(`customize.scalar.save`)})]})]})}function hr(e){return`${e.cap}.${e.path}`}function gr(e,t,n,r){if(e===null||t.kind!==`boolean`&&t.kind!==`number`&&t.kind!==`string`)return null;let i=r.caps.find(e=>e.cap===t.cap),a=t.kind===`boolean`&&i?.fields.some(e=>e.path===`lastChangedAt`)?`lastChangedAt`:null;return{addonId:e.addonId,stableId:e.stableId,cap:t.cap,fieldPath:t.path,valueKind:t.kind,sourceUnit:n.sourceUnit,changedAtField:a}}function _r(e,t){return e.filter(e=>e.id!==t).map(e=>({id:e.id,name:e.name,type:e.type,...e.location===null?{}:{location:e.location}}))}function vr(e,t){return e===null?null:t.find(t=>t.addonId===e.source.addonId&&t.stableId===e.source.stableId)??null}function yr(e){return e===null?null:`${e.source.cap}.${e.source.fieldPath}`}var br=`Assigned · `;function xr(e,t){if(e===`Native`)return{kind:`native`};if(e===`Native · source missing`)return{kind:`released`};if(e===`pending`)return{kind:`pending`};if(e===`unknown`)return{kind:`unknown`};if(e.startsWith(br)){let n=e.slice(11);return{kind:`assigned`,source:t??n}}return{kind:`unknown`}}e();var Sr={battery:m,"running-state":_};function Cr(){return Object.entries(w).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`scalar`).map(t=>({cap:e,target:t})))}function wr({device:e,handle:t,availability:n,cap:i,target:s}){let{t:l,i18n:u}=G(),d=ft(),[f,p]=r(!1),[m,h]=r(null),g=l(`customize.scalar.caps.${i}`),_=s.path??s.id,v=K(t.state),y=Er(t,X(v,i)),b=y.kind===`known`&&y.value!==null?oe({feature:y.value,device:t.target,cap:i,targetId:s.id}):null,x=b!==null,S=Qe(x),C=b===null||S.kind!==`known`?null:S.value.find(e=>N({addonId:e.addonId,stableId:e.stableId})===N(b.draft.source))??null,w=C?.name??null,T=Dr(x,S.kind,C!==null),E=ie({cap:i,targetId:s.id,device:t.target,stored:y,sourcePresence:T,sourceUnknownReason:S.kind===`unknown`?S.reason:null}),D=xr(E.text,w),O=t.state.kind===`none`||t.state.kind===`present`,k=n.kind===`present`?n.mode:null;if(n.kind===`absent`||!s.deviceTypes.includes(e.type))return null;let A=async e=>{let n=await t.save(e);h(n.kind===`refused`?n.reason:null)},ee=async()=>{if(v===null)return;let t=Y(v,i);await d(l(`customize.scalar.removeWhat`,{name:w??(b===null?e.name:N(b.draft.source))}),t===null)&&await A(t)},te=b===null?null:{source:{addonId:b.draft.source.addonId,stableId:b.draft.source.stableId,cap:b.draft.source.cap,fieldPath:b.draft.source.fieldPath,valueKind:b.sourceValueKind,sourceUnit:b.sourceUnit,changedAtField:b.changedAtField},transform:b.draft.transform},ne=D.kind===`assigned`?l(`customize.scalar.badge.assigned`,{source:D.source}):l(`customize.scalar.badge.${D.kind}`);return a(o,{children:[c(Je,{id:i,icon:Sr[i],title:g,testId:`scalar-card-${i}`,actions:c(R,{children:ne}),children:c(Tr,{availability:n,answered:O,deviceId:e.id,cap:i,path:_,recognized:x,stored:y,presence:T,released:E.status.state===`released`,sourceName:w,sourceCap:b?.draft.source.cap??``,sourceField:b===null?``:q(b.draft.source.cap,b.draft.source.fieldPath,u.language),sourcePath:b?.draft.source.fieldPath??``,sourceDeviceId:C?.id??null,error:m,saving:t.saving,mode:k,onOpen:()=>p(!0),onRemove:()=>void ee(),handle:t})}),k!==null&&c(pr,{open:f,mode:te===null?`add`:`change`,title:g,cap:i,targetId:s.id,host:e,target:t.target,apply:k,seed:te,canSave:O&&!t.saving,onClose:()=>p(!1),onSave:e=>{p(!1),A(J(v,t.target,e))}})]})}function Tr(e){let{t}=G();if(e.availability.kind===`pending`||e.availability.kind===`present`&&!e.answered)return c(`p`,{role:`status`,className:`px-3 py-2 text-xs text-foreground-subtle sm:px-4`,children:t(`customize.scalar.checking`)});if(e.availability.kind===`unknown`)return c(`div`,{className:`px-3 py-2 sm:px-4`,children:c(F,{title:t(`customize.scalar.unreadable`),message:e.availability.reason})});let n=e.stored.kind===`known`&&e.stored.value===null,r=!e.recognized&&e.stored.kind===`known`&&e.stored.value!==null;return a(`div`,{className:`flex flex-col gap-2 px-3 py-2 sm:px-4`,children:[a(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:t(`customize.scalar.effective`)}),c(Ot,{target:{deviceId:e.deviceId,cap:e.cap,path:e.path}})]}),e.released&&c(`p`,{className:`text-xs text-foreground`,children:t(`customize.scalar.released`)}),e.presence===`unknown`&&e.recognized&&c(F,{title:t(`customize.scalar.sourceUnreadable`),message:t(`customize.scalar.sourceHeld`,{name:e.sourceName??e.sourceCap})}),e.recognized&&!e.released&&a(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:t(`customize.scalar.override`,{name:e.sourceName??`…`,field:e.sourceField})}),e.sourceDeviceId!==null&&c(Ot,{target:{deviceId:e.sourceDeviceId,cap:e.sourceCap,path:e.sourcePath}})]}),r&&a(`p`,{className:`text-xs text-foreground flex flex-wrap items-center gap-1`,children:[t(`customize.scalar.otherFormula`),c(jn,{handle:e.handle,cap:e.cap,fieldPath:e.path})]}),n&&c(`p`,{className:`text-xs text-foreground-subtle`,children:t(`customize.scalar.noOverride`)}),e.error!==null&&c(`p`,{role:`alert`,className:`text-xs text-danger break-words`,children:e.error}),a(`div`,{className:`flex flex-wrap gap-2`,children:[e.recognized&&c(I,{variant:`outline`,size:`sm`,onClick:e.onOpen,disabled:e.saving,children:e.released?t(`customize.scalar.chooseAnother`):t(`customize.scalar.change`)}),e.recognized&&c(I,{variant:`ghost`,size:`sm`,onClick:e.onRemove,disabled:e.saving,children:t(`customize.scalar.remove`)}),n&&c(I,{variant:`outline`,size:`sm`,"data-testid":`scalar-add-${e.cap}`,disabled:e.saving||e.mode===null,onClick:e.onOpen,children:t(`customize.scalar.add`)})]})]})}function Er(e,t){return e.state.kind===`pending`?{kind:`pending`}:e.state.kind===`unknown`||e.state.kind===`not-loaded`?{kind:`unknown`,reason:e.state.reason}:{kind:`known`,value:t}}function Dr(e,t,n){return e?t===`pending`?`pending`:t===`unknown`?`unknown`:n?`present`:`absent`:`present`}function Or({device:e,handle:t,facts:n}){return c(o,{children:Cr().map(r=>r.target.deviceTypes.includes(e.type)?c(wr,{device:e,handle:t,availability:kn(Tn(r.cap,r.target),n),cap:r.cap,target:r.target},r.cap):null)})}function kr({name:e,detail:t,meta:n,value:r,shown:i,readout:o,problem:s,onRemove:l,removeLabel:u,busy:d=!1}){return a(`li`,{className:`${f} grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 sm:grid-cols-[minmax(0,2fr)_minmax(0,1fr)_minmax(0,1fr)_1.75rem]`,children:[a(`div`,{className:`min-w-0`,children:[c(`div`,{className:`text-xs text-foreground break-words`,children:e}),t!==null&&c(`div`,{className:`text-[11px] text-foreground-subtle break-words`,children:t}),s!==void 0&&c(`div`,{role:`alert`,className:`text-[11px] text-warning break-words`,children:s})]}),c(`div`,{className:`row-start-2 col-start-1 text-[11px] text-foreground-subtle empty:hidden sm:row-start-auto sm:col-start-auto sm:empty:block`,children:n}),c(`div`,{className:`row-start-3 col-start-1 empty:hidden sm:row-start-auto sm:col-start-auto sm:empty:block`,children:o===void 0?i===void 0?c(Ot,{target:r}):i!==null&&c(kt,{display:i}):o}),c(`div`,{className:`row-start-1 col-start-2 flex justify-end sm:row-start-auto sm:col-start-auto`,children:l!==void 0&&c(Pe,{icon:h,variant:`ghost`,size:`sm`,"aria-label":u,disabled:d,onClick:l})})]})}function Ar(e){return e.toLowerCase().normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function jr(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function Mr(e){return Object.hasOwn(w,e)}function Nr(e){return Mr(e)?w[e].targets:[]}function $(e,t){let n=Nr(e).find(e=>e.id===t);return n?.cardinality===`keyedArray`?n.fields??[]:[]}function Pr(e,t){return Nr(e).find(e=>e.id===t)?.traits??[]}function Fr(e,t){return e.caps.flatMap(e=>{let n=Ir(t,e.cap);return e.fields.filter(e=>e.item!==!0).map(t=>({cap:e.cap,path:t.path,kind:t.kind,unit:n,enumValues:t.enumValues??[]}))})}function Ir(e,t){if(e===null)return null;let n=Z(e[t],`unit`);return typeof n==`string`&&n.length>0?n:null}function Lr(e,t){return t.kind===`number`?e.find(e=>e.kind===`numeric`)??null:t.kind===`enum`||t.kind===`string`?e.find(e=>e.kind===`enum`)??null:null}function Rr(e,t,n,r){let i=$(e,t).find(e=>e.path===n);if(i===void 0)return{ok:!1,reason:`kind`};let a=Lr(i.sources,r);if(a===null)return{ok:!1,reason:`kind`};if(a.requiredUnit!==void 0&&r.unit===null)return{ok:!1,reason:`unit-unknown`};if(a.requiredUnit!==void 0&&r.unit!==a.requiredUnit)return{ok:!1,reason:`unit`};if(a.transformKinds.includes(`enum-map`))return{ok:!0,mode:`enum`};let o=a.transformKinds.filter(jr);return o.length===0||r.kind!==`number`?{ok:!1,reason:`kind`}:{ok:!0,mode:`scalar`,fit:{ok:!0,valueKind:`number`,sourceUnit:a.requiredUnit??null,transforms:o,declared:a.transforms}}}function zr(e,t,n){return $(e,t).find(e=>e.path===n)?.enumValues??[]}function Br(e){return!e.ok||e.mode===`enum`?{kind:`identity`}:Wn(e.fit)}function Vr(e,t){return Object.fromEntries(e.map(e=>[e,t.includes(e)?e:null]))}function Hr(e){let t={draft:{kind:`keyedArray`,cap:e.cap,targetId:e.targetId,key:e.key,label:e.label.trim(),fieldPath:e.fieldPath,source:{addonId:e.source.addonId,stableId:e.source.stableId,cap:e.source.cap,fieldPath:e.source.fieldPath},transform:e.transform},sourceValueKind:e.source.valueKind,sourceUnit:null,literals:e.literals},n=O({cap:e.cap,targetId:e.targetId,device:e.device,apply:e.apply,items:[t]});return n.ok?n.value:null}function Ur(e,t,n){return($(e,t).find(e=>e.path===n)?.literals??[]).map(e=>e.path)}function Wr(e,t,n,r){return $(e,t).find(e=>e.path===n)?.literals?.find(e=>e.path===r)?.values??[]}function Gr(e,t,n){return zr(e,t,n)}e();var Kr={level:`customize.keyed.field.level`,"remaining.value":`customize.keyed.field.remaining`,status:`customize.keyed.field.status`};function qr(e){return e===`pending`?`pending`:e===`error`?`failed`:`answered`}function Jr(e){let{t}=G(),n=e.mode===`change`?t(`customize.keyed.changeTitle`):t(`customize.keyed.addTitle`);return c(V,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(z,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(H,{children:c(B,{children:n})}),e.open&&c(Yr,{...e,heading:n})]})})}function Yr(e){let{t,i18n:i}=G(),s=Pr(e.cap,e.targetId),l=$(e.cap,e.targetId),[u,d]=r(e.seed?.label??``),[f,p]=r(e.seed?.key??``),[m,h]=r(e.mode===`change`),[g,_]=r(e.seed?.fieldPath??l[0]?.path??``),[v,y]=r(()=>Object.fromEntries(s.map(t=>[t.path,e.seed?.literals.find(e=>e.path===t.path)?.value??t.defaultValue]))),[b,x]=r(e.seed?.literals.find(e=>e.path===`remaining.kind`)?.value??Wr(e.cap,e.targetId,`remaining.value`,`remaining.kind`)[0]??``),S=U({projection:`slim`}),C=n(()=>S.status===`success`?mt(S.data):[],[S.status,S.data]),w=ri(e.seed,C),[T,E]=r(null),[D,O]=r(!1);!D&&w!==null&&(E(w),O(!0));let k=Ve({deviceId:T?.id??0}),A=Oe({deviceId:T?.id??0}),ee=Fr(k.status===`success`?k.data:{caps:[]},A.status===`success`?A.data:null),[te,ne]=r(e.seed===null?null:`${e.seed.source.cap}.${e.seed.source.fieldPath}`),[re,j]=r(e.seed?.transform??{kind:`identity`}),[ie,ae]=r(()=>e.seed?.transform.kind===`enum-map`?e.seed.transform.mapping:{}),M=ee.find(e=>`${e.cap}.${e.path}`===te)??null,N=M===null?null:Rr(e.cap,e.targetId,g,M),P=m?f:Ar(u),oe=Zr(e.cap,e.targetId,g,v,b),se=Qr(T,M,N,ie,re),ce=se===null?null:Hr({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,key:P,label:u,fieldPath:g,source:se,transform:se.transform,literals:oe}),le=$r(ce,P,g,M,A.status===`success`?A.data:null),ue=typeof e.host.location==`string`&&e.host.location.length>0?e.host.location:null,de=e=>{d(e),m||p(Ar(e))};return a(o,{children:[a(Ge,{className:`flex flex-col gap-3 p-2 sm:p-4`,children:[a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.name`),c(Ee,{value:u,onChange:e=>de(e.target.value)})]}),a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.key`),c(Ee,{value:P,disabled:e.mode===`change`,onChange:e=>{h(!0),p(e.target.value)}})]}),a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.assignField`),c(L,{value:g,options:l.map(e=>({value:e.path,label:t(Kr[e.path]??e.path)})),onChange:e=>{_(e.target.value),ne(null),j({kind:`identity`})}})]}),s.map(e=>a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.trait.${e.path}`),c(L,{value:v[e.path]??e.defaultValue,options:e.values.map(e=>({value:e,label:t(`customize.keyed.value.${e}`)})),onChange:t=>y(n=>({...n,[e.path]:t.target.value}))})]},e.path)),Ur(e.cap,e.targetId,g).map(n=>a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.unit`),c(L,{value:b,options:Wr(e.cap,e.targetId,g,n).map(e=>({value:e,label:t(`customize.keyed.value.${e}`)})),onChange:e=>x(e.target.value)})]},n)),a(`section`,{className:`flex flex-col gap-1`,"aria-label":t(`customize.scalar.stepDevice`),children:[c(`h3`,{className:`text-[11px] font-medium text-foreground-muted`,children:t(`customize.scalar.stepDevice`)}),T===null?S.status===`error`?c(F,{title:t(`customize.picker.devicesFailed`),message:S.error?.message??``}):c(De,{devices:ni(C,e.host.id),listState:qr(S.status),value:[],selection:`single`,...ue===null?{}:{groupBy:`location`},onChange:e=>{let t=e[0],n=t===void 0?void 0:C.find(e=>e.id===t);n!==void 0&&(E(n),ne(null))},noun:`device`,showAll:!0,testId:`keyed-device-picker`}):a(`p`,{className:`flex flex-wrap items-center gap-2 text-xs text-foreground`,children:[T.name,c(I,{variant:`ghost`,size:`sm`,onClick:()=>E(null),children:t(`customize.scalar.changeDevice`)})]})]}),T!==null&&c(`ul`,{className:`flex flex-col gap-1`,children:ee.map(n=>{let r=Rr(e.cap,e.targetId,g,n),o=`${n.cap}.${n.path}`,s=r.ok&&(r.mode===`scalar`||n.enumValues.length>0);return a(`li`,{className:`flex flex-wrap items-center gap-2 text-[11px]`,children:[a(`label`,{className:`flex items-center gap-2 text-foreground`,children:[c(`input`,{type:`radio`,name:`keyed-field`,checked:te===o,disabled:!s,onChange:()=>fe(n,r)}),a(`span`,{children:[q(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(Fn(r.reason))})]},o)})}),N?.ok===!0&&N.mode===`scalar`&&c(Yn,{control:N.fit.transforms.includes(`linear`)?`choice`:`none`,transforms:N.fit.transforms,declared:N.fit.declared,unit:N.fit.sourceUnit,value:re,onChange:j}),N?.ok===!0&&N.mode===`enum`&&M!==null&&c(Xr,{values:M.enumValues,outputs:Gr(e.cap,e.targetId,g),mapping:ie,onChange:ae}),le!==null&&c(Hn,{preview:le})]}),a(He,{className:`flex flex-wrap gap-2`,children:[c(I,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(I,{"data-testid":`keyed-save-item`,disabled:!e.canSave||ce===null||P===``,onClick:()=>{ce!==null&&e.onSave(ce,P)},children:t(`customize.keyed.save`)})]})]});function fe(t,n){if(n.ok){if(ne(`${t.cap}.${t.path}`),n.mode===`enum`){let n=Vr(t.enumValues,Gr(e.cap,e.targetId,g));ae(n),j({kind:`enum-map`,mapping:{...n}});return}j(Br(n))}}}function Xr(e){let{t}=G();return c(`div`,{className:`flex flex-col gap-1`,children:e.values.map(n=>a(`label`,{className:`flex flex-wrap items-center gap-2 text-xs text-foreground`,children:[n,c(L,{value:e.mapping[n]??``,options:[{value:``,label:t(`customize.keyed.unmapped`)},...e.outputs.map(e=>({value:e,label:t(`customize.keyed.value.${e}`)}))],onChange:t=>e.onChange({...e.mapping,[n]:t.target.value===``?null:t.target.value})})]},n))})}function Zr(e,t,n,r,i){let a=Object.entries(r).map(([e,t])=>({path:e,value:t})),o=Ur(e,t,n).flatMap(e=>i===``?[]:[{path:e,value:i}]);return[...a,...o]}function Qr(e,t,n,r,i){return e===null||t===null||n===null||!n.ok?null:n.mode===`enum`?Object.keys(r).length===0?null:{addonId:e.addonId,stableId:e.stableId,cap:t.cap,fieldPath:t.path,valueKind:`enum`,transform:{kind:`enum-map`,mapping:{...r}}}:{addonId:e.addonId,stableId:e.stableId,cap:t.cap,fieldPath:t.path,valueKind:`number`,transform:i}}function $r(e,t,n,r,i){if(e===null||r===null)return null;let a=e.items?.[t]?.fields[n];if(a===void 0)return{kind:`failed`,reason:`compile`};if(i===null)return{kind:`pending`};let o=Z(i[r.cap],r.path);if(a.kind===`from`)return ei(o);if(a.kind!==`expression`)return{kind:`failed`,reason:`compile`};let s=ti(o);if(s===void 0)return{kind:`failed`,reason:`no-value`};let c=ae(a.expr,{x:s},Date.now());return c.ok?ei(c.value):{kind:`failed`,reason:c.error}}function ei(e){return typeof e==`number`&&Number.isFinite(e)?{kind:`value`,text:String(e)}:typeof e==`string`&&e.length>0?{kind:`value`,text:e}:{kind:`failed`,reason:`empty`}}function ti(e){if(typeof e==`number`||typeof e==`string`||typeof e==`boolean`)return e;if(e===null)return null}function ni(e,t){return e.filter(e=>e.id!==t).map(e=>({id:e.id,name:e.name,type:e.type,...e.location===null?{}:{location:e.location}}))}function ri(e,t){return e===null?null:t.find(t=>t.addonId===e.source.addonId&&t.stableId===e.source.stableId)??null}var ii=`consumables`,ai=`items`,oi=j.shape.items;function si(e){let t=e.split(`.`).pop()??e,n=t.replace(/Level$/,``);return n===``?t:n}function ci(e){let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}function li(e,t){return e.caps.filter(e=>t.has(e.cap)&&e.cap!==`consumables`).flatMap(e=>e.fields.filter(e=>e.item!==!0&&Le(e)).map(t=>({kind:`field`,key:si(t.path),cap:e.cap,path:t.path})))}function ui(e){switch(e.kind){case`pending`:return{kind:`pending`};case`unknown`:return{kind:`unknown`,reason:e.reason};case`absent`:return{kind:`known`,value:[]};case`value`:{if(e.value===null)return{kind:`known`,value:[]};let t=oi.safeParse(e.value);return t.success?{kind:`known`,value:t.data.map(e=>({kind:`item`,key:e.key,item:e}))}:{kind:`unknown`,reason:t.error.message}}}}function di(e,t,n){if(e.kind!==`known`)return e;if(t.kind!==`known`)return t;let r=li(t.value,e.value);if(!e.value.has(`consumables`)||n===null)return{kind:`known`,value:r};let i=ui(n);return i.kind===`known`?{kind:`known`,value:[...r,...i.value]}:i}function fi(e){return e.defaults.map(t=>t.kind===`field`?c(pi,{deviceId:e.deviceId,entry:t},`field:${t.cap}.${t.path}`):c(hi,{entry:t},`item:${t.key}`))}function pi(e){let{t}=G(),n=Et({deviceId:e.deviceId,cap:e.entry.cap,path:e.entry.path});return c(kr,{name:t(`customize.consumables.fields.${e.entry.key}`,{defaultValue:ci(e.entry.key)}),detail:t(`customize.consumables.builtIn`),meta:t(`customize.assign.native`),value:null,readout:c(mi,{value:n}),removeLabel:``})}function mi(e){switch(e.value.kind){case`pending`:return c(kt,{display:{text:`…`,tone:`muted`}});case`unknown`:return c(kt,{display:{text:`?`,title:e.value.reason,tone:`warning`}});case`absent`:return c(we,{level:null,size:`sm`});case`value`:return c(we,{level:Se(e.value.value),size:`sm`})}}function hi(e){let{t}=G(),{item:n}=e.entry,r=n.level===null?n.status===`replace`?t(`uiLibrary.consumablesPanel.replace`):void 0:`${Math.round(n.level)} %`;return c(kr,{name:n.label,detail:t(`customize.consumables.builtIn`),meta:t(`customize.assign.native`),value:null,readout:c(we,{level:je(n),label:r,size:`sm`}),removeLabel:``})}e();var gi={consumables:d};function _i(){return Object.entries(w).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`keyedArray`).map(t=>({cap:e,target:t})))}function vi(e){let{t,i18n:n}=G(),i=ft(),[s,l]=r(null),[u,d]=r(null),f=K(e.handle.state),p=X(f,e.cap),m=xi(e.handle,p),h=m.kind===`known`&&m.value!==null?S(m.value,e.cap,e.target.id):null,g=Qe(h!==null),_=Si(h,g),y=re({cap:e.cap,targetId:e.target.id,device:e.handle.target,stored:m,sourcePresence:_,sourceUnknownReason:g.kind===`unknown`?g.reason:null});if(!bi(e,p))return null;let b=e.handle.state.kind===`none`||e.handle.state.kind===`present`,x=e.availability.kind===`present`&&b,C=t(`customize.keyed.title.${e.cap}`),w=Ti(t,y.text,y.assignedCount),T=async t=>{let n=await e.handle.save(t);d(n.kind===`refused`?n.reason:null)},E=async n=>{if(f===null||p===null)return;let r=v(p,n.key),a=r===null?Y(f,e.cap):J(f,e.handle.target,r);await i(t(`customize.consumables.removeWhat`,{name:n.label}),a===null)&&await T(a)},D=s!==null&&s!==`add`?wi(h,s):null;return a(o,{children:[c(Je,{id:e.cap,icon:gi[e.cap],title:C,testId:`keyed-card-${e.cap}`,actions:c(R,{children:w}),children:a(`div`,{className:`flex flex-col gap-2 px-3 py-2 sm:px-4`,children:[e.defaults.kind===`known`&&c(fi,{deviceId:e.device.id,defaults:e.defaults.value}),e.defaults.kind===`unknown`&&c(F,{title:t(`customize.consumables.builtIn`),message:t(`customize.consumables.builtInUnreadable`,{reason:e.defaults.reason})}),h?.items.map(t=>c(yi,{deviceId:e.device.id,cap:e.cap,item:t,language:n.language,sourceName:Ci(t,g),saving:e.handle.saving,onChange:()=>l(t.key),onRemove:()=>void E(t),handle:e.handle},t.key)),u!==null&&c(`p`,{role:`alert`,className:`text-xs text-danger break-words`,children:u}),x&&c(I,{variant:`outline`,size:`sm`,"data-testid":`keyed-add-${e.cap}`,disabled:e.handle.saving,onClick:()=>l(`add`),children:t(`customize.keyed.add`)})]})}),c(Jr,{open:s!==null,mode:s===`add`?`add`:`change`,cap:e.cap,targetId:e.target.id,host:e.device,target:e.handle.target,apply:`add`,seed:D,canSave:b&&!e.handle.saving,onClose:()=>l(null),onSave:(n,r)=>{if(s===`add`&&p?.items!==void 0&&p.items[r]!==void 0){d(t(`customize.keyed.duplicateKey`,{key:r}));return}let i=se(p,n,r);l(null),i!==null&&(d(null),T(J(f,e.handle.target,i)))}})]})}function yi(e){let{t}=G(),n=e.item.compile,r=e.item.recognized&&n!==null,i=n===null?``:q(n.draft.source.cap,n.draft.source.fieldPath,e.language),o=r?[e.sourceName??``,i].filter(e=>e.length>0).join(` · `):t(`customize.consumables.otherFormula`),s=n===null?null:ce(pe,e.item.key,n.draft.fieldPath);return a(`div`,{className:`flex flex-col gap-1`,"data-testid":`keyed-row-${e.item.key}`,children:[c(kr,{name:e.item.label,detail:o,meta:r?t(`customize.keyed.assigned`):null,value:s===null?null:{deviceId:e.deviceId,cap:e.cap,path:s},readout:s===null?null:c(Ot,{target:{deviceId:e.deviceId,cap:e.cap,path:s}}),removeLabel:``}),a(`div`,{className:`flex flex-wrap gap-2`,children:[r&&c(I,{variant:`outline`,size:`sm`,disabled:e.saving,onClick:e.onChange,children:t(`customize.keyed.change`)}),r&&c(I,{variant:`ghost`,size:`sm`,disabled:e.saving,onClick:e.onRemove,children:t(`customize.keyed.remove`)}),!r&&c(jn,{handle:e.handle,cap:e.cap,itemKey:e.item.key,fieldPath:`status`})]})]})}function bi(e,t){return e.target.deviceTypes.includes(e.device.type)?e.availability.kind!==`absent`||e.defaults.kind!==`known`||e.defaults.value.length>0?!0:t!==null:!1}function xi(e,t){return e.state.kind===`pending`?{kind:`pending`}:e.state.kind===`unknown`||e.state.kind===`not-loaded`?{kind:`unknown`,reason:e.state.reason}:{kind:`known`,value:t}}function Si(e,t){let n=(e?.items??[]).filter(e=>e.recognized&&e.compile!==null);return n.length===0?`present`:t.kind===`pending`?`pending`:t.kind===`unknown`?`unknown`:n.every(e=>{let n=e.compile?.draft.source;if(n===void 0)return!1;let r=N(n);return t.value.some(e=>N({addonId:e.addonId,stableId:e.stableId})===r)})?`present`:`absent`}function Ci(e,t){let n=e.compile?.draft.source;if(n===void 0||t.kind!==`known`)return null;let r=N(n);return t.value.find(e=>N({addonId:e.addonId,stableId:e.stableId})===r)?.name??null}function wi(e,t){let n=e?.items.find(e=>e.key===t),r=n?.compile;return n===void 0||r==null?null:{key:n.key,label:n.label,fieldPath:r.draft.fieldPath,literals:r.literals,source:{addonId:r.draft.source.addonId,stableId:r.draft.source.stableId,cap:r.draft.source.cap,fieldPath:r.draft.source.fieldPath,valueKind:r.sourceValueKind},transform:r.draft.transform}}function Ti(e,t,n){return t===`Native`?e(`customize.keyed.badge.native`):t===`pending`?e(`customize.keyed.badge.pending`):t===`unknown`?e(`customize.keyed.badge.unknown`):t.endsWith(`assigned`)?e(`customize.keyed.badge.assigned`,{count:n}):t}function Ei(e){return c(o,{children:_i().map(t=>t.target.deviceTypes.includes(e.device.type)?c(vi,{device:e.device,handle:e.handle,availability:kn(Tn(t.cap,t.target),e.facts),cap:t.cap,target:t.target,defaults:e.defaults},t.cap):null)})}function Di(){return Object.entries(w).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`event`).map(t=>({cap:e,pulse:Oi(t),span:ki(t)})).filter(e=>e.pulse!==null||e.span!==null))}function Oi(e){return e.shape===`pulse`?e.timestampPath===void 0||e.counterPath===void 0||e.debounceMs===void 0||e.edges===void 0||e.defaultEdge===void 0||!e.edges.includes(e.defaultEdge)?null:{id:e.id,timestampPath:e.timestampPath,counterPath:e.counterPath,debounceMs:e.debounceMs,edges:e.edges,defaultEdge:e.defaultEdge,apply:`add`,deviceTypes:e.deviceTypes}:null}function ki(e){return e.shape!==`span`||e.timeoutMs===void 0||e.applyAuthority?.kind!==`camera-sensors`?null:{id:e.id,timeoutMs:e.timeoutMs,cooldownMs:e.cooldownMs??null,sourceModes:e.sourceModes??[`in-addition`],deviceTypes:e.deviceTypes}}function Ai(e,t){return e===`Native`||e.startsWith(`Native`)?`customize.assign.native`:e===`pending`?`customize.event.checking`:e===`unknown`||e===`unreadable`?`customize.event.badge.unavailable`:`customize.event.badge.${t}`}export{Qe as A,J as C,q as D,st as E,Ye as M,Je as N,K as O,dt as S,ot as T,Et as _,ii as a,ft as b,Or as c,ir as d,jn as f,Cn as g,Tn as h,_i as i,Xe as j,$e as k,Cr as l,wn as m,Di as n,ai as o,kn as p,Ei as r,di as s,Ai as t,or as u,Z as v,Y as w,X as x,mt as y};
@@ -1 +1 @@
1
- import{t as e}from"./i18n-CQ56JIQj.js";var t=6e4,n=60*t,r=24*n,i=Date.UTC(2e3,0,1);function a(a){if(a==null||a<i)return`—`;let o=Date.now()-a;return o<0||o<3e4?e.t(`helpers.relativeTime.justNow`):o<n?e.t(`helpers.relativeTime.minutesAgo`,{count:Math.floor(o/t)}):o<r?e.t(`helpers.relativeTime.hoursAgo`,{count:Math.floor(o/n)}):e.t(`helpers.relativeTime.daysAgo`,{count:Math.floor(o/r)})}export{a as n,i as t};
1
+ import{t as e}from"./i18n-DsGcRtAk.js";var t=6e4,n=60*t,r=24*n,i=Date.UTC(2e3,0,1);function a(a){if(a==null||a<i)return`—`;let o=Date.now()-a;return o<0||o<3e4?e.t(`helpers.relativeTime.justNow`):o<n?e.t(`helpers.relativeTime.minutesAgo`,{count:Math.floor(o/t)}):o<r?e.t(`helpers.relativeTime.hoursAgo`,{count:Math.floor(o/n)}):e.t(`helpers.relativeTime.daysAgo`,{count:Math.floor(o/r)})}export{a as n,i as t};
@@ -1 +1 @@
1
- import{na as e}from"./player-overlays-mwQ6DKjG.js";var t=e(`hard-drive-download`,[[`path`,{d:`M12 2v8`,key:`1q4o3n`}],[`path`,{d:`m16 6-4 4-4-4`,key:`6wukr`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M10 18h.01`,key:`h775k`}]]);export{t};
1
+ import{na as e}from"./player-overlays-DDFLUcm1.js";var t=e(`hard-drive-download`,[[`path`,{d:`M12 2v8`,key:`1q4o3n`}],[`path`,{d:`m16 6-4 4-4-4`,key:`6wukr`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M10 18h.01`,key:`h775k`}]]);export{t};
@@ -1 +1 @@
1
- import{t as e}from"./vite-preload-helper-kNaey6uv.js";var t=`__mf_module_cache__`;globalThis[t]||={share:{},remote:{}},globalThis[t].share||={},globalThis[t].remote||={};var n=globalThis[t],r;async function i(){return r||=(async()=>{let t=await(await e(()=>import(`./remoteEntry-BAoznONo.js`),[],import.meta.url)).init(),r={react:{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"react-dom":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"react/jsx-runtime":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"@camstack/types":{version:`1.2.415`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.415`}},"@camstack/sdk":{version:`1.2.152`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.152`}},"@tanstack/react-query":{version:`5.101.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^5.101.0`}},"@trpc/client":{version:`11.18.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^11.18.0`}},"@trpc/react-query":{version:`11.18.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^11.18.0`}},konva:{version:`10.3.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^10.3.0`}},"react-konva":{version:`19.2.5`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.5`}},"@camstack/ui-library":{version:`1.2.324`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.324`}},"react-dom/client":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}}},i=(e,t,n,r)=>{let i=((Array.isArray(r)?r[0]:r)||`default`)+`:`;return t||!n?i+e:i+e+`@`+n},a=e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t};for(let[e,o]of Object.entries(r)){let r=i(e,o.shareConfig?.singleton,o.version,o.scope);n.share[r]===void 0&&await t.loadShare(e,{customShareInfo:{shareConfig:o.shareConfig}}).then(e=>{let t=typeof e==`function`?e():e;return Promise.resolve(t).then(e=>{n.share[r]=a(e)})})}return await Promise.all([]),t})(),r}r=i();export{r as hostInitPromise,i as initHost};
1
+ import{t as e}from"./vite-preload-helper-kNaey6uv.js";var t=`__mf_module_cache__`;globalThis[t]||={share:{},remote:{}},globalThis[t].share||={},globalThis[t].remote||={};var n=globalThis[t],r;async function i(){return r||=(async()=>{let t=await(await e(()=>import(`./remoteEntry-DqDbkZhO.js`),[],import.meta.url)).init(),r={react:{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"react-dom":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"react/jsx-runtime":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}},"@camstack/types":{version:`1.2.417`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.417`}},"@camstack/sdk":{version:`1.2.153`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.153`}},"@tanstack/react-query":{version:`5.101.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^5.101.0`}},"@trpc/client":{version:`11.18.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^11.18.0`}},"@trpc/react-query":{version:`11.18.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^11.18.0`}},konva:{version:`10.3.0`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^10.3.0`}},"react-konva":{version:`19.2.5`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.5`}},"@camstack/ui-library":{version:`1.2.326`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^1.2.326`}},"react-dom/client":{version:`19.2.7`,scope:`default`,shareConfig:{singleton:!0,requiredVersion:`^19.2.7`}}},i=(e,t,n,r)=>{let i=((Array.isArray(r)?r[0]:r)||`default`)+`:`;return t||!n?i+e:i+e+`@`+n},a=e=>{let t=e;for(let e=0;e<5;e++){let e=t?.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(n.length>0&&n.some(e=>e!==void 0))break;t=e}return t};for(let[e,o]of Object.entries(r)){let r=i(e,o.shareConfig?.singleton,o.version,o.scope);n.share[r]===void 0&&await t.loadShare(e,{customShareInfo:{shareConfig:o.shareConfig}}).then(e=>{let t=typeof e==`function`?e():e;return Promise.resolve(t).then(e=>{n.share[r]=a(e)})})}return await Promise.all([]),t})(),r}r=i();export{r as hostInitPromise,i as initHost};