@camstack/addon-admin-ui 1.2.470 → 1.2.472
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.
- package/dist/assets/{AddonAssetIcon-CNIaymph.js → AddonAssetIcon-BoV-s8vY.js} +1 -1
- package/dist/assets/Addons-DLTlJq7l.js +4 -0
- package/dist/assets/{AdminPage-CCxxWx-6.js → AdminPage-DsAJhnoH.js} +1 -1
- package/dist/assets/{AdminSectionedPage-CFnkGNjR.js → AdminSectionedPage-DJx7aRbA.js} +1 -1
- package/dist/assets/AiProfiles-B8qFPcaJ.js +3 -0
- package/dist/assets/{BrokerForm-CURGwg-b.js → BrokerForm-B3-e-xSz.js} +1 -1
- package/dist/assets/Build-LEBDM041.js +40 -0
- package/dist/assets/Calendars-BFKf7hvl.js +1 -0
- package/dist/assets/Cluster-CES248-c.js +1 -0
- package/dist/assets/CompositionCreateForm-CZcZeaFU.js +1 -0
- package/dist/assets/{CompositionEditorPage-B8cZJ6lS.js → CompositionEditorPage-CBBOInEt.js} +1 -1
- package/dist/assets/Data-CGHht6N-.js +2 -0
- package/dist/assets/DeviceDetail-DYRNyiuG.js +2 -0
- package/dist/assets/{DeviceDoActionFields-C5EBbspf.js → DeviceDoActionFields-C9A5Vund.js} +1 -1
- package/dist/assets/{Devices-C5FXlXLu.js → Devices-BDcBpfdH.js} +1 -1
- package/dist/assets/{EmbedPlayerPage-CfDavHrE.js → EmbedPlayerPage-kQQSKYcm.js} +1 -1
- package/dist/assets/History-DHqYgtT_.js +1 -0
- package/dist/assets/Identity-2aB-bcpG.js +1 -0
- package/dist/assets/IntegrationDetail-CHeCYf51.js +1 -0
- package/dist/assets/{IntegrationHub-B4WSNyTn.js → IntegrationHub-CDk7OQ80.js} +1 -1
- package/dist/assets/Integrations-CLdAR_bC.js +1 -0
- package/dist/assets/Integrations-DtA-SgPz.js +1 -0
- package/dist/assets/{Library-C4qxlKpK.js → Library-jAJ1leN_.js} +1 -1
- package/dist/assets/Locations-D_Y_LS__.js +3 -0
- package/dist/assets/{Logs-CUoVNMCD.js → Logs-CSouKCsq.js} +1 -1
- package/dist/assets/{MaskShapeCanvas-CH26Mkpx.js → MaskShapeCanvas-DOTEtd0S.js} +1 -1
- package/dist/assets/{MotionZonesSettings-Co2CdVJJ.js → MotionZonesSettings-CvKLnfMs.js} +1 -1
- package/dist/assets/{MyAccess-CvOXHdv2.js → MyAccess-Dx2keRYZ.js} +1 -1
- package/dist/assets/{Network-H2U6fhMH.js → Network-DqeiKBG_.js} +1 -1
- package/dist/assets/{NodeAddonsSettingsPanel-D44nwf4S.js → NodeAddonsSettingsPanel-Bo6JkasG.js} +1 -1
- package/dist/assets/Notifications-BdRSwtaZ.js +1 -0
- package/dist/assets/Pipeline-B8BnTTB6.js +1 -0
- package/dist/assets/{PrivacyMaskSettings-BQfXVA03.js → PrivacyMaskSettings-B8RDIhLI.js} +1 -1
- package/dist/assets/Recordings-_9tze7ES.js +1 -0
- package/dist/assets/{ScanNetworkModal-CxEXGRiQ.js → ScanNetworkModal-D1789toC.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-CBq0NEBB.js → SceneMonitorEditor-CidMFB_6.js} +1 -1
- package/dist/assets/SessionsList-BDFoAqB4.js +2 -0
- package/dist/assets/{Showroom-CeqaYSNl.js → Showroom-g9Vrk7ey.js} +1 -1
- package/dist/assets/{System-b8v_VClU.js → System-BFOcIYk6.js} +1 -1
- package/dist/assets/{Terminal-Du9eLqrr.js → Terminal-Dqvq98CQ.js} +3 -3
- package/dist/assets/{Viewer-OB641hit.js → Viewer-B6THeol3.js} +1 -1
- package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DsV-INvL.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-EdjPwsFV.js} +1 -1
- package/dist/assets/{addon-icons-context-D72gaFSB.js → addon-icons-context-BiqHN3N3.js} +1 -1
- package/dist/assets/{archive-CLjwLKJL.js → archive-CnhS48Wh.js} +1 -1
- package/dist/assets/{assignment-candidates-iKtFwGTX.js → assignment-candidates-BuyOLzEY.js} +1 -1
- package/dist/assets/{authed-media-sfY6qQfl.js → authed-media-CIJCq1KJ.js} +1 -1
- package/dist/assets/{bell-off-DyJQmEp9.js → bell-off-7jyxJXpT.js} +1 -1
- package/dist/assets/{board-model-C6mduuIJ.js → board-model-BtdRuNBI.js} +1 -1
- package/dist/assets/{boxes-CBemgbeZ.js → boxes-BA97gZyJ.js} +1 -1
- package/dist/assets/circle-slash-nVYwXt7M.js +1 -0
- package/dist/assets/client-DCH-eKE_.js +358 -0
- package/dist/assets/{cloud-upload-jgwgBoNq.js → cloud-upload-qezQXv3c.js} +1 -1
- package/dist/assets/crop-CFXeH_mC.js +1 -0
- package/dist/assets/{device-integration-icon-DrJydGCz.js → device-integration-icon-B4EZcZfv.js} +1 -1
- package/dist/assets/device-picker-model-C_qELDKl.js +1 -0
- package/dist/assets/{dist-CZavx2xe.js → dist-BlRomFG_.js} +1 -1
- package/dist/assets/dist-CMwJjIGP.js +358 -0
- package/dist/assets/{eraser-BgJNY_R7.js → eraser-DLPQtKgN.js} +1 -1
- package/dist/assets/event-targets-DO8Gz77i.js +2 -0
- package/dist/assets/{format-Chpis3_C.js → format-BYDOzxSv.js} +1 -1
- package/dist/assets/{hard-drive-download-BsRnY_sj.js → hard-drive-download-g_5xAcFq.js} +1 -1
- package/dist/assets/{hostInit-BY2HcQzH.js → hostInit-BDvZ4twh.js} +1 -1
- package/dist/assets/i18n-D3CF2V_j.js +1 -0
- package/dist/assets/{icons-Cl3Q-oKp.js → icons-PobQxRhs.js} +1 -1
- package/dist/assets/index-BvsP28fN.css +2 -0
- package/dist/assets/index-Cv22-mxY.js +4 -0
- package/dist/assets/{key-DraPTMtd.js → key-C9NMIy5y.js} +1 -1
- package/dist/assets/{key-round-JV15ywEe.js → key-round-CaHb89Wi.js} +1 -1
- package/dist/assets/{layers-DPTXQgwg.js → layers-Avi8-PfM.js} +1 -1
- package/dist/assets/{linked-devices-model-VztMI7gX.js → linked-devices-model-DgyEbI0V.js} +1 -1
- package/dist/assets/{list-ordered-WOVRKluR.js → list-ordered-6-NGRbR7.js} +1 -1
- package/dist/assets/{location-owned-usage-CMfFSpnP.js → location-owned-usage-BbuferaC.js} +1 -1
- package/dist/assets/{log-in-CjVCQ2Ss.js → log-in-D2R9cXBI.js} +1 -1
- package/dist/assets/{memory-stick-DlVywO8P.js → memory-stick-ev8VFA2q.js} +1 -1
- package/dist/assets/{message-square-plus-4_FR8RtR.js → message-square-plus-C0P6xmPe.js} +1 -1
- package/dist/assets/{mf-entry-bootstrap-0-ecf5902e.js → mf-entry-bootstrap-0-3ff2e228.js} +2 -2
- package/dist/assets/{mic-off-CPwart4B.js → mic-off-BdFkx2wJ.js} +1 -1
- package/dist/assets/{monitor-off-BhBLlCrK.js → monitor-off-DUZRNTFt.js} +1 -1
- package/dist/assets/{monitor-smartphone-C4dAoS1I.js → monitor-smartphone-CsrrNdMJ.js} +1 -1
- package/dist/assets/mount-C_qELDKl.js +1 -0
- package/dist/assets/{player-overlays-D78AKVl-.js → player-overlays-C6LCgH1T.js} +1 -1
- package/dist/assets/{recycle--kjdQYMN.js → recycle-C3C83uwv.js} +1 -1
- package/dist/assets/remoteEntry-DY95P5t1.js +1 -0
- package/dist/assets/{scan-eye-DzHaMLoc.js → scan-eye-D2LQj-_4.js} +1 -1
- package/dist/assets/{scissors-DDivB-hs.js → scissors-DTz32yJa.js} +1 -1
- package/dist/assets/{search-x-CQFS7Rh0.js → search-x-BQtbshQu.js} +1 -1
- package/dist/assets/{send-C9G3os3I.js → send-BfSwFs7e.js} +1 -1
- package/dist/assets/{settings-2-ClqCJP_D.js → settings-2-DJqkusF5.js} +1 -1
- package/dist/assets/{speaker-Dy-EAf8K.js → speaker-D0AxWmRG.js} +1 -1
- package/dist/assets/src-V3rq3t7i.js +67 -0
- package/dist/assets/step-inspector-model-BwAjPOgf.js +1 -0
- package/dist/assets/{timer-reset-DlhCZ8wp.js → timer-reset-DVs9TXU7.js} +1 -1
- package/dist/assets/{ungroup-DOb-9ddi.js → ungroup-vjygAxAO.js} +1 -1
- package/dist/assets/{unlink-C73mlmsX.js → unlink-VhqcHI2O.js} +1 -1
- package/dist/assets/{usb-DhychVOa.js → usb-CTNmHXln.js} +1 -1
- package/dist/assets/{use-scenes-feed--0VaT__E.js → use-scenes-feed-DBEhAxap.js} +1 -1
- package/dist/assets/{use-stationary-objects-DvVXf2ec.js → use-stationary-objects-BO1fOyUY.js} +1 -1
- package/dist/assets/useEventInvalidation-C_qELDKl.js +1 -0
- package/dist/assets/{useNodeUrlSelection-DKfaYoxL.js → useNodeUrlSelection-qvARJSiD.js} +1 -1
- package/dist/assets/user-round-CPpARWUk.js +1 -0
- package/dist/assets/{user-x-C6GTZnHw.js → user-x-BZF64XMi.js} +1 -1
- package/dist/assets/{video-12rcn9DI.js → video-BDVDsrHB.js} +1 -1
- package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-DOs9logC.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-XXht_Mtf.js} +2 -2
- package/dist/index.html +10 -10
- package/dist/server/addon.js +274 -423
- package/package.json +1 -1
- package/dist/assets/Addons-BFu9jODe.js +0 -4
- package/dist/assets/AiProfiles-Oxq1CrGx.js +0 -3
- package/dist/assets/Build-ClV9hssR.js +0 -40
- package/dist/assets/Calendars-7-56y5mC.js +0 -1
- package/dist/assets/Cluster--R890opw.js +0 -1
- package/dist/assets/CompositionCreateForm-BdvGldkE.js +0 -1
- package/dist/assets/Data-DjA5ylK5.js +0 -2
- package/dist/assets/DeviceDetail-CFwLMsHT.js +0 -2
- package/dist/assets/History-B5bG6vlI.js +0 -1
- package/dist/assets/Identity-DyHQGvZo.js +0 -1
- package/dist/assets/IntegrationDetail-BVrAcEgW.js +0 -1
- package/dist/assets/Integrations-BFIWnI-V.js +0 -1
- package/dist/assets/Integrations-goqSS2Co.js +0 -1
- package/dist/assets/Locations-DnHuXobL.js +0 -3
- package/dist/assets/Notifications-BbWZVYMp.js +0 -1
- package/dist/assets/Pipeline-DnMSSKKQ.js +0 -1
- package/dist/assets/Recordings-COnQ9TJI.js +0 -1
- package/dist/assets/SessionsList-oD9auhKo.js +0 -2
- package/dist/assets/circle-slash-D9Rnn9o4.js +0 -1
- package/dist/assets/client-Dg4TgH9L.js +0 -358
- package/dist/assets/crop-CI76MCfX.js +0 -1
- package/dist/assets/device-picker-model-DsmNRKVu.js +0 -1
- package/dist/assets/dist-CBqJveNL.js +0 -358
- package/dist/assets/event-targets-l8cnjyVU.js +0 -2
- package/dist/assets/i18n-BaJUrB-h.js +0 -1
- package/dist/assets/index-0CJf6Ok9.js +0 -4
- package/dist/assets/index-BMUVtgYi.css +0 -2
- package/dist/assets/mount-DsmNRKVu.js +0 -1
- package/dist/assets/remoteEntry-BJhQZDNB.js +0 -1
- package/dist/assets/src-Dh2VEGoU.js +0 -67
- package/dist/assets/step-inspector-model-COoD29sy.js +0 -1
- package/dist/assets/useEventInvalidation-DsmNRKVu.js +0 -1
- package/dist/assets/user-round-D9W5XNev.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
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-D78AKVl-.js";import{$r as v,$t as y,An as b,Cn as x,Dn as S,Ei as C,En as w,Fn as T,In as E,Jn as D,Ln as O,On as k,Pn as A,Rn as j,Sn as M,Tn as ee,Ut as te,Xr as N,Xt as ne,ai as re,bi as P,ci as F,di as I,ei as ie,fn as ae,kn as oe,li as se,ni as ce,si as le,ti as ue,ui as L,vi as de,wn as fe,xi as pe,xn as me,yi as he}from"./client-Dg4TgH9L.js";import{t as ge}from"./boxes-CBemgbeZ.js";import{$r as _e,Bn as ve,Dr as ye,Er as be,Fo as xe,Hu as R,Io as Se,Jr as z,Ju as Ce,L as we,Mn as Te,Nn as Ee,Or as De,Qr as Oe,Sr as B,Vr as V,_n as ke,ao as Ae,cr as H,ei as je,fr as Me,is as Ne,jn as Pe,kr as Fe,kt as Ie,lr as U,mr as W,oo as Le,pd as Re,pr as ze,qu as Be,s as Ve,ti as He,ur as Ue,zr as We}from"./src-Dh2VEGoU.js";import{t as G}from"./i18n-BaJUrB-h.js";import{t as K}from"./useTranslation-D3Is_4B6.js";import{n as Ge}from"./assignment-candidates-iKtFwGTX.js";e();function Ke({id:e,...t}){return c(ke,{headingId:`customize-${e}`,...t})}function qe(e,t){if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??G.t(`helpers.customize.requestFailed`)};let n=e.data;return e.status===`pending`||n===void 0?{kind:`pending`}:{kind:`known`,value:t(n)}}function Je(e,t){let n=Re.useQueries(n=>e.map(e=>n.deviceManager.listDeviceIdsByCaps({capNames:[e]},{enabled:t})));return Ge(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 Ye(e,t){let n=Ie(e,t);return n.kind===`resolved`?n.integration.name:null}function Xe(e){let t=Le({projection:`slim`},{enabled:e}),{data:r}=Ne(void 0,{enabled:e}),i=t.error===null||t.error===void 0?null:t.error.message;return n(()=>qe({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:Ye(e,r),parentDeviceId:e.parentDeviceId,primaryChildEntityId:e.primaryChildEntityId??null,role:e.role??null}))),[t.status,t.data,i,r])}function Ze(e){if(e.status===`pending`)return{kind:`pending`};if(e.status===`error`)return{kind:`unknown`,reason:e.error?.message??G.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=N(t.view.block);return n===null?{kind:`unknown`,reason:G.t(`helpers.customizationRead.notAComposition`,{id:t.view.block.id})}:{kind:`present`,view:t.view,composition:n}}function q(e){return e.kind===`present`?e.composition:null}var Qe={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 $e(e,t){return t.startsWith(`it`)?e.it:e.en}function et(e){if(!(`unit`in e))return;let t=e.unit;return typeof t==`string`&&t.length>0?t:void 0}function tt(e,t){let n=ae[e]?.noun;return n===void 0?e.split(`-`).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `):$e(n,t)}function J(e,t,n){let r=ae[e]?.state?.find(e=>e.field===t);if(r!==void 0){let e=$e(r.label,n),t=et(r);return t===void 0?e:`${e} (${t})`}let i=Qe[t];return i===void 0?t:$e(i,n)}function nt(e){return y.find(t=>t.name===e)}function rt(e){return e===`lastFetchedAt`||e.endsWith(`At`)}function it(e){let t=M(e.role);if(t===null||nt(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 at(e){return e===null?`incomplete`:me(ie(e,{lookupCap:v(y),sources:new Map,self:null,blockId:null,target:null,peers:[]}).problems)}function ot(e,t){let n=nt(e);return n?.status===void 0?[]:ce(n.status.schema).filter(e=>!rt(e)&&!t.has(e))}function Y(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 st(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 ct(e){return Array.isArray(e)?e.map(ct):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,ct(t)]))}function lt(e){return JSON.stringify(ct(e))}function ut(e,t){switch(e.kind){case`pending`:return{kind:`refused`,reason:G.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}:lt(t)===lt(e.composition)?{kind:`noop`}:{kind:`update`,blockId:n,expectedUpdatedAt:e.view.block.updatedAt,composition:t}}}}function Z(){let{t:e}=K(),t=We();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 dt(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 ft(e){return e.map(e=>({id:e.id,name:e.name,addonId:e.addonId,stableId:e.stableId,location:e.location,type:e.type}))}function pt(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 Q(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 mt(e,t,n,r){return r===null?{kind:`from`,source:e,cap:t,fieldPath:n.path}:dt(r,{source:e,cap:t,fieldPath:n.path,kind:n.kind})}function ht(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:Q(n[e.cap],t.path),source:mt(i,e.cap,t,r)})))}function gt(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 _t(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function vt(e,t){let n=Q(e,t);return n===void 0?{kind:`absent`}:t===`percentage`&&e.binary===!0?{kind:`value`,value:n,binary:!0}:{kind:`value`,value:n}}function yt(e,t,n){return _t(t)?vt(t,n):e.status===`error`?{kind:`unknown`,reason:e.error?.message??G.t(`helpers.liveValue.unreadable`)}:e.status===`pending`||e.data===void 0?{kind:`pending`}:e.data===null?{kind:`absent`}:vt(e.data,n)}function bt(e,t,n){if(t.binary===!0&&n.cap===`battery`&&n.path===`percentage`){let t=Ee(e);return{text:G.t(t?Pe:Te),tone:t?`warning`:`normal`}}return{text:n.path===`percentage`?`${Math.round(e)} %`:String(e),tone:`normal`}}function xt(e,t,n){let r=e?`active`:`muted`;return t.cap===`contact`&&t.path===`entryOpen`?{text:e?n.open:n.closed,tone:r}:pe[t.cap]===t.path?{text:e?n.active:n.inactive,tone:r}:{text:String(e),tone:`normal`}}function St(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`?xt(r,t,n):typeof r==`number`?bt(r,e,t):typeof r==`string`?{text:r,tone:`normal`}:{text:JSON.stringify(r),tone:`normal`}}}}var Ct=0;function wt(e){let t=g(),n=xe({deviceId:e?.deviceId??Ct,capName:e?.cap??``},{enabled:e!==null}),r=Ve(t.trpcClient,e?.deviceId??null,e?.cap??``);return e===null?{kind:`absent`}:yt({status:n.status,data:n.data,error:n.error===null||n.error===void 0?null:{message:n.error.message}},r,e.path)}var Tt={muted:`text-foreground-subtle`,active:`text-success`,normal:`text-foreground`,warning:`text-warning`};function Et({target:e}){let{t}=K(),n=wt(e);return e===null?null:c(Dt,{display:St(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 Dt({display:e}){return c(`span`,{className:`text-xs ${Tt[e.tone]}`,title:e.title,children:e.text})}function Ot(e){return e===`avg-round-1`?`customize.fieldsCard.aggregate.avg`:`customize.fieldsCard.aggregate.latest`}function kt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function At(e,t,n){let r=RegExp(`(?<![A-Za-z0-9_])${kt(t)}(?![A-Za-z0-9_])`,`g`);return e.replace(r,()=>n)}function jt(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(L(a.source))??i,c=J(a.cap,a.fieldPath,r);o=At(o,e,`${s} · ${c}`)}return Vt(o)}var Mt=1e3,Nt=60*Mt,Pt=60*Nt,Ft={within:[1],dwell:[1,2],rose:[2]};function It(e){if(!Number.isInteger(e)||e<Mt)return null;if(e%Pt===0){let t=e/Pt;return t===1?`1 h`:`${t} h`}if(e%Nt===0){let t=e/Nt;return t===1?`1 min`:`${t} min`}if(e%Mt===0){let t=e/Mt;return t===1?`1 s`:`${t} s`}return null}function Lt(e){return/^\d+$/.test(e.trim())?It(Number(e.trim())):null}function Rt(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 zt(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(Ft)){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=Rt(e,a);return o===null?null:{name:n,close:o.close,args:o.args}}return null}function Bt(e){let t=e.args.map(e=>Vt(e.text)),n=Ft[e.name]??[];if(e.name===`within`){let e=t[1],n=e===void 0?null:Lt(e);if(n!==null)return`within ${n}`}let r=t.map((e,t)=>n.includes(t)?Lt(e)??e.trim():e.trim());return`${e.name}(${r.join(`, `)})`}function Vt(e){let t=``,n=0;for(;n<e.length;){let r=zt(e,n);if(r===null){t+=e[n]??``,n+=1;continue}t+=Bt(r),n=r.close+1}return t}function Ht(e){for(let t=1;;t++){let n=`s${t}`;if(!e.includes(n))return n}}var Ut={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)`},Wt=/[A-Za-z_][A-Za-z0-9_]*$/;function Gt(e,t,n){let r=Wt.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=[...P].filter(e=>e.startsWith(r)).toSorted().map(e=>({kind:`builtin`,label:Ut[e]??e,insert:`${e}(`,hintKey:`compositionEditor.builtins.${e}`}));return[...i,...a,...o].slice(0,8)}function Kt(e,t,n){let r=t-(Wt.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 qt({label:e,value:t,bindings:n,onChange:i}){let{t:o}=K(),l=s(null),[u,d]=r(t.length),f=Gt(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=Kt(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 Jt(e){return{addonId:e.addonId,stableId:e.stableId}}function Yt(e){return new Map(e.map(e=>[L(Jt(e)),e]))}function Xt(e,t,n){if(e.kind===`code`)return{kind:`unavailable`,reason:G.t(`helpers.fieldPreview.codeFields`)};if(e.kind===`expression`&&(ue(e.expr,`rose`)||ue(e.expr,`count`)))return{kind:`runtime-only`};let r=I(e).filter(e=>t.get(se(e.source,e.cap))?.kind!==`value`).map(F);if(r.length>0)return{kind:`waiting`,missing:r};let i=j({source:e,now:n,read:e=>{let n=t.get(se(e.source,e.cap)),r=n?.kind===`value`?Q(n.slice,e.fieldPath):void 0,i=r===void 0?void 0:he(r);return i===void 0?{state:`unavailable`,reason:G.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 Zt({sliceKey:e,deviceId:n,capName:r,onReading:i}){let a=Ve(g().trpcClient,n,r);return t(()=>{i(e,a===void 0?{kind:`pending`}:{kind:`value`,slice:a})},[e,a,i]),null}function Qt(e,t){return[...new Map(I(e).map(e=>[se(e.source,e.cap),e]))].map(([e,n])=>({key:e,read:n,device:t.get(L(n.source))}))}function $t({source:e}){let{t}=K(),n=Le({projection:`slim`}),[o,s]=r(new Map),l=i((e,t)=>{s(n=>new Map([...n,[e,t]]))},[]),u=Qt(e,Yt(n.status===`success`?ft(n.data):[])),d=n.status===`success`?u.filter(e=>e.device===void 0).map(e=>L(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(Zt,{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(en,{preview:Xt(e,o,Date.now())})]})}function en({preview:e}){let{t}=K();switch(e.kind){case`value`:return a(`strong`,{children:[`→ `,gt(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 tn=[];function nn({title:e,targetKind:t,excludeDeviceIds:n=tn,onPick:i,onCancel:o}){let{t:s}=K(),[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(rn,{excludeDeviceIds:n,onSelect:f}):c(an,{device:d,targetKind:t,onPick:i,onBack:()=>f(null)}),c(`div`,{children:c(V,{variant:`ghost`,size:`sm`,onClick:o,children:s(`customize.picker.cancel`)})})]})}function rn({excludeDeviceIds:e,onSelect:t}){let{t:n}=K(),[i,s]=r(``),l=Le({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(Be,{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(B,{title:n(`customize.picker.devicesFailed`),message:l.error?.message??``}),l.status===`success`&&c(`ul`,{className:`flex flex-col gap-1`,children:pt(ft(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 an({device:e,targetKind:t,selected:n,onPick:r,onBack:i}){let{t:o}=K(),s=Ae({deviceId:e.id}),l=Se({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(B,{title:o(`customize.picker.fieldsFailed`),message:s.error?.message??``});let u=ht(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:gt(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 on=new Map;function sn(e,t,n,r){return e.kind===`from`?`${t.get(L(e.source))??r} · ${J(e.cap,e.fieldPath,n)}`:``}function cn({open:e,title:t,fieldPath:n,fieldLabel:i,sourceNames:o=on,initial:s,selfNative:l=null,onClose:u,onSave:d}){let{t:f,i18n:p}=K(),[m,h]=r(s.kind===`expression`?s:{kind:`expression`,expr:`null`,bindings:{}}),[g,_]=r(`idle`),v=x(m.expr,m.bindings),y=Object.keys(m.bindings);return c(H,{open:e,onOpenChange:e=>{e||u()},children:a(Ue,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`formula-dialog`,children:[c(ze,{children:c(W,{children:t})}),a(U,{className:`flex flex-col gap-2`,children:[c(`span`,{className:`text-xs text-foreground`,children:i??J(``,n,p.language)}),c(qt,{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`?sn(t,o,p.language,f(`customize.fieldsCard.unknownDevice`)):JSON.stringify(t.value)}),c(V,{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(V,{size:`sm`,variant:`outline`,"data-testid":`formula-self-native`,onClick:()=>{let e=Object.keys(m.bindings),t=m.bindings.v===void 0?`v`:Ht(e);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:l.source,cap:l.cap,fieldPath:l.fieldPath}}})},children:f(`customize.override.selfNative`)}),c(V,{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($t,{source:m}),g===`add-binding`&&c(nn,{title:f(`compositionEditor.addSource`),targetKind:null,onCancel:()=>_(`idle`),onPick:e=>{let t=Ht(y);h({...m,bindings:{...m.bindings,[t]:{kind:`from`,source:e.ref,cap:e.cap,fieldPath:e.path}}}),_(`idle`)}})]}),a(Me,{children:[c(V,{variant:`ghost`,onClick:u,children:f(`compositionEditor.cancel`)}),c(V,{"data-testid":`formula-dialog-save`,disabled:v!==null,onClick:()=>{d(m),u()},children:f(`compositionEditor.save`)})]})]})})}e();function ln({open:e,from:t,initialTo:n,onClose:i,onSave:o}){let{t:s}=K(),l=T(t),[u,d]=r(n??l[0]??``),f=l.includes(u)?u:l[0]??``;return c(H,{open:e,onOpenChange:e=>{e||i()},children:a(Ue,{width:`sm`,scroll:`body`,placement:`sheet-on-mobile`,"data-testid":`convert-unit-dialog`,children:[c(ze,{children:c(W,{children:s(`customize.override.convertTitle`)})}),a(U,{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(R,{"aria-label":s(`customize.override.targetUnit`),value:f,onChange:e=>d(e.target.value),options:l.map(e=>({value:e,label:e}))})]}),a(Me,{children:[c(V,{variant:`ghost`,onClick:i,children:s(`compositionEditor.cancel`)}),c(V,{"data-testid":`convert-unit-publish`,disabled:f===``||f===t,onClick:()=>{o(f),i()},children:s(`customize.override.publish`)})]})]})})}function un(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 dn(e){return{kind:`expression`,expr:JSON.stringify(e),bindings:{}}}function fn(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 Y(e,t,{...o,fields:c})}function pn(e,t,n,r){let i=O(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 mn(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?st(e,n):Y(e,t,{...i,fields:o})}e();function hn({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}=K(),_=Z(),[v,y]=r(`closed`),b=q(f.state),x=X(b,i),S=x?.fields[s]??null,C=S===null?null:E(S),w=u===void 0?[]:T(u),D=new Map(p);D.set(L(t),n);let k=()=>y(`closed`),A=(e,n)=>{f.save(fn(b,t,i,s,e,n))},j=()=>C?.kind===`convert-unit`?pn(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(z,{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(Et,{target:{deviceId:e,cap:i,path:s}})]}),C===null?c(`p`,{className:`text-xs text-foreground-subtle`,children:h(`customize.scalar.noOverride`)}):c(vn,{entry:C,names:D,language:g.language,unknownDevice:h(`customize.fieldsCard.unknownDevice`)}),c(`div`,{className:`flex flex-wrap gap-2`,children:C===null?c(_n,{cap:i,fieldPath:s,saving:f.saving,convert:w.length>0,onFrom:()=>y(`from`),onFormula:()=>y(`formula`),onConvert:()=>y(`convert`)}):a(o,{children:[c(V,{variant:`outline`,size:`sm`,disabled:f.saving,onClick:()=>y(gn(C)),children:h(`customize.scalar.change`)}),c(V,{variant:`ghost`,size:`sm`,disabled:f.saving,onClick:()=>{if(b===null)return;let e=mn(b,t,i,[s,...j()]);_(h(`customize.fieldsCard.removeField`,{field:l}),e===null).then(t=>{t&&f.save(e)})},children:h(`customize.scalar.remove`)})]})}),c(H,{open:v===`from`,onOpenChange:e=>{e||k()},children:a(Ue,{width:`lg`,scroll:`body`,placement:`sheet-on-mobile`,children:[c(ze,{children:c(W,{children:l})}),c(U,{children:v===`from`&&c(nn,{title:h(`customize.override.fromDevice`),targetKind:d??(u===void 0?null:`number`),onCancel:k,onPick:e=>{A(e.source,j()),k()}})})]})}),v===`formula`&&c(cn,{open:!0,title:h(`compositionEditor.formulaFor`,{path:l}),fieldPath:s,fieldLabel:l,sourceNames:D,initial:S?.kind===`expression`?S:{kind:`expression`,expr:`v`,bindings:{}},selfNative:{source:t,cap:i,fieldPath:s},onClose:k,onSave:e=>{A(e,j()),k()}}),v===`convert`&&u!==void 0&&c(ln,{open:!0,from:u,initialTo:C?.kind===`convert-unit`?C.to:null,onClose:k,onSave:e=>{let n=O(i,s),r=fn(b,t,i,s,un(u,e,t,i,s),[]),a=n===null?r:fn(r,t,i,n,dn(e),[]);f.save(a),k()}})]})}function gn(e){return e.kind===`convert-unit`?`convert`:e.kind===`from`?`from`:`formula`}function _n({cap:e,fieldPath:t,saving:n,convert:r,onFrom:i,onFormula:o,onConvert:s}){let{t:l}=K();return a(Oe,{children:[c(He,{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(_e,{children:[c(je,{onClick:i,children:l(`customize.override.fromDevice`)}),c(je,{onClick:o,children:l(`customize.override.formula`)}),r&&c(je,{onClick:s,children:l(`customize.override.convertUnit`)})]})]})}function vn({entry:e,names:t,language:n,unknownDevice:r}){let{t:i}=K();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(z,{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:jt(e.expr,e.bindings,t,n,r)}),c(z,{children:i(`compositionEditor.formula`)})]}):a(`div`,{className:`flex flex-col gap-0.5`,children:[e.sources.map(e=>{let a=L(e.source);return c(`span`,{className:`text-xs text-foreground`,children:i(`customize.fieldsCard.from`,{name:t.get(a)??r,field:J(e.cap,e.fieldPath,n)})},`${a}:${e.cap}:${e.fieldPath}`)}),e.aggregate!==null&&c(`span`,{className:`text-xs text-foreground-muted`,children:i(Ot(e.aggregate))})]})}function yn(e){return Object.hasOwn(A,e)}function bn(e,t){if(!yn(e))return;let n=A[e].advancedParameters.find(e=>e.path===t);if(n!==void 0&&`unit`in n)return n.unit}function xn({deviceId:e,selfName:t,card:n,handle:r,names:i}){let{t:o,i18n:s}=K(),l=Z(),u=q(r.state),d=s.language,f=tt(n.cap,d),p=new Set(Object.keys(n.entries)),m=ot(n.cap,p),h=()=>{if(u===null)return;let e=st(u,n.cap);l(o(`customize.fieldsCard.removeWhat`,{cap:f}),e===null).then(t=>{t&&r.save(e)})},g=(a,o)=>c(hn,{deviceId:e,self:r.target,selfName:t,cap:n.cap,fieldPath:a,label:J(n.cap,a,d),unit:bn(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(V,{variant:`ghost`,size:`sm`,disabled:r.saving,onClick:h,children:o(`customize.fieldsCard.removeFeature`,{cap:f})})})]})}e();function Sn({device:e,handle:t,skipCaps:r}){let{i18n:i}=K(),a=q(t.state),s=Xe(a!==null),l=n(()=>s.kind===`known`?new Map(s.value.map(e=>[L({addonId:e.addonId,stableId:e.stableId}),e.name])):new Map,[s]);if(a===null)return null;let{model:u}=fe(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=tt(r.cap,i.language);return c(Ke,{id:r.cap,icon:ge,title:a,testId:`fields-card-${r.cap}`,children:c(xn,{deviceId:e.id,selfName:e.name,card:r,handle:t,names:l})},r.cap)})})}function Cn(e){return new Set(e.filter(e=>{let t=e.nativeAddonId?.trim()??``;return t!==``&&t!==`composer`}).map(e=>e.capName))}function wn(e,t){return{cap:e,apply:t.apply,authority:t.applyAuthority?.kind??`composition-claim`,nativeItemsReadOnly:t.nativeItems===`read-only`}}function Tn(e){return e.kind===`known`?null:e}function En(e,t){return e.composable.kind===`known`?e.composable.value.has(t)?{kind:`present`,mode:`add`}:{kind:`absent`}:e.composable}function Dn(e){if(e.deviceType!==C.Camera)return{kind:`absent`};switch(e.cameraSensors){case`pending`:return{kind:`pending`};case`unknown`:return{kind:`unknown`,reason:G.t(`helpers.assignmentAvailability.sensorsUnchecked`)};case`absent`:return{kind:`absent`};case`present`:return{kind:`present`,mode:`add`}}}function On(e,t){if(e.authority===`camera-sensors`)return Dn(t);let n=Tn(t.nativeCaps);if(n!==null)return n;let r=t.nativeCaps.kind===`known`?t.nativeCaps.value:new Set;return e.nativeItemsReadOnly?En(t,e.cap):e.apply===`add`?r.has(e.cap)?{kind:`absent`}:En(t,e.cap):r.has(e.cap)?{kind:`present`,mode:`replace`}:En(t,e.cap)}e();var kn=new Map;function An({handle:e,cap:t,fieldPath:n,itemKey:i,label:s,testId:l,sourceNames:u=kn}){let{t:d,i18n:f}=K(),p=J(t,n,f.language),[m,h]=r(!1),g=q(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(Y(g,e.target,r))};return a(o,{children:[c(V,{variant:`ghost`,size:`sm`,"data-testid":l??`formula-entry-${t}-${n}`,onClick:()=>h(!0),children:s??d(`compositionEditor.formula`)}),c(cn,{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 jn=`kind`,Mn=`unit`,Nn=`unit-unknown`;function Pn(e){return`customize.scalar.fit.${e}`}var Fn=`compile`,In=`dwell`,Ln=`no-value`,Rn=`empty`;function zn(e){return`customize.scalar.previewFailure.${e}`}function Bn(e){return e===`compile`||e===`dwell`||e===`no-value`||e===`empty`}function Vn({preview:e}){let{t}=K();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:Bn(e.reason)?t(zn(e.reason)):e.reason,className:`text-warning`,children:`?`})]})}function Hn(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 Un(e){if(e.transforms.includes(`identity`))return{kind:`identity`};if(e.transforms.includes(`threshold`)){let t=Gn(e.declared,`threshold`);if(t!==null)return Wn(t)}if(e.transforms.includes(`linear`)){let t=Gn(e.declared,`linear`);if(t!==null)return Wn(t)}return{kind:`invert`}}function Wn(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 Kn(e);case`enum-map`:return{kind:`identity`}}}function Gn(e,t){return e.find(e=>e.kind===t)??null}function Kn(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 qn(e){let t=b({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 Jn({control:e,transforms:t,declared:n,unit:r,value:i,onChange:o}){let{t:s}=K();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(R,{"aria-label":s(`customize.scalar.stepTransform`),value:i.kind,options:t.map(e=>({value:e,label:s(`customize.scalar.transform.${e}`)})),onChange:e=>o(Yn(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(ve,{checked:i.kind===`invert`,onChange:e=>o(e.target.checked?{kind:`invert`}:{kind:`identity`})}),s(`customize.scalar.invert`)]}):null,i.kind===`threshold`&&c(Zn,{declared:n,unit:r,value:i,onChange:o}),i.kind===`linear`&&c($n,{declared:n,value:i,onChange:o})]})}function Yn(e,t){let n=Gn(t,Xn(e));return n===null?e===`invert`?{kind:`invert`}:{kind:`identity`}:Wn(n)}function Xn(e){return e===`invert`||e===`threshold`||e===`linear`||e===`enum-map`?e:`identity`}function Zn({declared:e,unit:t,value:n,onChange:r}){let{t:i}=K(),o=t??``,s=Gn(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(R,{"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($,{label:i(`customize.scalar.threshold`,{unit:o}),value:n.threshold,onChange:e=>r({...n,threshold:e})}),c($,{label:i(`customize.scalar.startDwell`),value:n.startDwellMs/1e3,onChange:e=>r({...n,startDwellMs:e*1e3})}),c($,{label:i(`customize.scalar.stopDwell`),value:n.stopDwellMs/1e3,onChange:e=>r({...n,stopDwellMs:e*1e3})})]})}function Qn(e){return e===null||e.kind!==`linear`||e.clampMin===void 0||e.clampMax===void 0?null:{min:e.clampMin,max:e.clampMax}}function $n({declared:e,value:t,onChange:n}){let{t:r}=K(),i=Qn(Gn(e,`linear`));return a(`div`,{className:`flex flex-col gap-2 text-[11px] text-foreground`,children:[c($,{label:r(`customize.scalar.scale`),value:t.scale,onChange:e=>n({...t,scale:e})}),c($,{label:r(`customize.scalar.offset`),value:t.offset,onChange:e=>n({...t,offset:e})}),i!==null&&c($,{label:r(`customize.scalar.clampMin`),value:t.clampMin??i.min,onChange:e=>n({...t,clampMin:e,clampMax:t.clampMax??i.max})}),i!==null&&c($,{label:r(`customize.scalar.clampMax`),value:t.clampMax??i.max,onChange:e=>n({...t,clampMin:t.clampMin??i.min,clampMax:e})})]})}function $({label:e,value:t,onChange:n}){return a(`label`,{className:`flex flex-col gap-1`,children:[e,c(Be,{type:`number`,value:Number.isFinite(t)?t:0,onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&n(t)}})]})}function er(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function tr(e,t){let n=Object.entries(A).find(([t])=>t===e)?.[1];return n===void 0?null:n.targets.find(e=>e.id===t)??null}function nr(e,t){return tr(e,t)?.path??null}function rr(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}))})}function ir(e,t){if(e===null)return null;let n=Q(e[t],`unit`);return typeof n==`string`&&n.length>0?n:null}function ar(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 or(e,t,n){let r=tr(e,t);if(r===null||r.cardinality!==`scalar`||n.kind===`enum`)return{ok:!1,reason:jn};let i=ar(r.sources,n);if(i===null)return{ok:!1,reason:jn};if(i.requiredUnit!==void 0&&n.unit===null)return{ok:!1,reason:Nn};if(i.requiredUnit!==void 0&&n.unit!==i.requiredUnit)return{ok:!1,reason:Mn};let a=i.transformKinds.filter(er);return a.length===0?{ok:!1,reason:jn}:{ok:!0,valueKind:n.kind,sourceUnit:i.requiredUnit??null,transforms:a,declared:i.transforms}}function sr(e){let t=qn(e);if(t===null)return{kind:`failed`,reason:Fn};if(e.transform.kind===`threshold`)return cr(e.transform,e);let n=nr(e.cap,e.targetId),r=n===null?void 0:t.fields[n];if(r===void 0)return{kind:`failed`,reason:Fn};if(r.kind===`from`)return ur(e.sourceValue);if(r.kind!==`expression`)return{kind:`failed`,reason:Fn};if(r.expr.startsWith(`dwell(`))return{kind:`failed`,reason:In};let i=lr(e.sourceValue);if(i===void 0)return{kind:`failed`,reason:Ln};let a=de(r.expr,{x:i},e.nowMs);return a.ok?ur(a.value):{kind:`failed`,reason:a.error}}function cr(e,t){if(typeof t.sourceValue!=`number`||!Number.isFinite(t.sourceValue))return{kind:`failed`,reason:Ln};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 lr(e){if(typeof e==`number`||typeof e==`string`||typeof e==`boolean`)return e;if(e===null)return null}function ur(e){return e==null||typeof e==`number`&&!Number.isFinite(e)?{kind:`failed`,reason:Rn}:typeof e==`number`||typeof e==`string`||typeof e==`boolean`?{kind:`value`,text:String(e)}:{kind:`failed`,reason:Rn}}e();function dr(e){return e===`pending`?`pending`:e===`error`?`failed`:`answered`}function fr(e){let{t}=K(),n=e.mode===`change`?t(`customize.scalar.changeTitle`,{title:e.title}):t(`customize.scalar.addTitle`,{title:e.title});return c(H,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(Ue,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(ze,{children:c(W,{children:n})}),e.open&&c(pr,{...e,heading:n})]})})}function pr(e){let{t,i18n:i}=K(),s=Le({projection:`slim`}),l=n(()=>s.status===`success`?ft(s.data):[],[s.status,s.data]),u=_r(e.seed,l),[d,f]=r(null),[p,m]=r(!1);!p&&u!==null&&(f(u),m(!0));let h=Ae({deviceId:d?.id??0}),g=Se({deviceId:d?.id??0}),_=h.status===`success`?h.data:{caps:[]},v=rr(_,g.status===`success`?g.data:null),[y,b]=r(vr(e.seed)),[x,S]=r(e.seed?.transform??{kind:`identity`}),C=v.find(e=>mr(e)===y)??null,w=C===null?null:or(e.cap,e.targetId,C),T=C===null||w===null||!w.ok?null:hr(d,C,w,_),E=T===null?null:qn({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:Q(g.data[C.cap],C.path),O=T===null?null:g.status===`pending`?{kind:`pending`}:sr({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`}))},j=t=>{let n=or(e.cap,e.targetId,t);n.ok&&(b(mr(t)),S(Un(n)))};return a(o,{children:[a(U,{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(B,{title:t(`customize.picker.devicesFailed`),message:s.error?.message??``}):c(we,{devices:gr(l,e.host.id),listState:dr(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(V,{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(B,{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=or(e.cap,e.targetId,n),o=mr(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:()=>j(n)}),a(`span`,{children:[J(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(Pn(r.reason))})]},o)})})]}),w!==null&&w.ok&&c(Jn,{control:Hn(w.transforms),transforms:w.transforms,declared:w.declared,unit:w.sourceUnit,value:x,onChange:S}),O!==null&&c(Vn,{preview:O})]}),a(Me,{className:`flex flex-wrap gap-2`,children:[c(V,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(V,{"data-testid":`scalar-save-override`,disabled:!e.canSave||E===null,onClick:()=>{E!==null&&e.onSave(E)},children:t(`customize.scalar.save`)})]})]})}function mr(e){return`${e.cap}.${e.path}`}function hr(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 gr(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 _r(e,t){return e===null?null:t.find(t=>t.addonId===e.source.addonId&&t.stableId===e.source.stableId)??null}function vr(e){return e===null?null:`${e.source.cap}.${e.source.fieldPath}`}var yr=`Assigned · `;function br(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(yr)){let n=e.slice(11);return{kind:`assigned`,source:t??n}}return{kind:`unknown`}}e();var xr={battery:m,"running-state":_};function Sr(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`scalar`).map(t=>({cap:e,target:t})))}function Cr({device:e,handle:t,availability:n,cap:i,target:s}){let{t:l,i18n:u}=K(),d=Z(),[f,p]=r(!1),[m,h]=r(null),g=l(`customize.scalar.caps.${i}`),_=s.path??s.id,v=q(t.state),y=Tr(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=Xe(x),C=b===null||S.kind!==`known`?null:S.value.find(e=>L({addonId:e.addonId,stableId:e.stableId})===L(b.draft.source))??null,w=C?.name??null,T=Er(x,S.kind,C!==null),E=ne({cap:i,targetId:s.id,device:t.target,stored:y,sourcePresence:T,sourceUnknownReason:S.kind===`unknown`?S.reason:null}),D=br(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)},j=async()=>{if(v===null)return;let t=st(v,i);await d(l(`customize.scalar.removeWhat`,{name:w??(b===null?e.name:L(b.draft.source))}),t===null)&&await A(t)},M=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},ee=D.kind===`assigned`?l(`customize.scalar.badge.assigned`,{source:D.source}):l(`customize.scalar.badge.${D.kind}`);return a(o,{children:[c(Ke,{id:i,icon:xr[i],title:g,testId:`scalar-card-${i}`,actions:c(z,{children:ee}),children:c(wr,{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?``:J(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 j(),handle:t})}),k!==null&&c(fr,{open:f,mode:M===null?`add`:`change`,title:g,cap:i,targetId:s.id,host:e,target:t.target,apply:k,seed:M,canSave:O&&!t.saving,onClose:()=>p(!1),onSave:e=>{p(!1),A(Y(v,t.target,e))}})]})}function wr(e){let{t}=K();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(B,{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(Et,{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(B,{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(Et,{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(An,{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(V,{variant:`outline`,size:`sm`,onClick:e.onOpen,disabled:e.saving,children:e.released?t(`customize.scalar.chooseAnother`):t(`customize.scalar.change`)}),e.recognized&&c(V,{variant:`ghost`,size:`sm`,onClick:e.onRemove,disabled:e.saving,children:t(`customize.scalar.remove`)}),n&&c(V,{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 Tr(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 Er(e,t,n){return e?t===`pending`?`pending`:t===`unknown`?`unknown`:n?`present`:`absent`:`present`}function Dr({device:e,handle:t,facts:n}){return c(o,{children:Sr().map(r=>r.target.deviceTypes.includes(e.type)?c(Cr,{device:e,handle:t,availability:On(wn(r.cap,r.target),n),cap:r.cap,target:r.target},r.cap):null)})}function Or({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(Et,{target:r}):i!==null&&c(Dt,{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(Ce,{icon:h,variant:`ghost`,size:`sm`,"aria-label":u,disabled:d,onClick:l})})]})}function kr(e){return e.toLowerCase().normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function Ar(e){return e===`identity`||e===`invert`||e===`threshold`||e===`linear`}function jr(e){return Object.hasOwn(A,e)}function Mr(e){return jr(e)?A[e].targets:[]}function Nr(e,t){let n=Mr(e).find(e=>e.id===t);return n?.cardinality===`keyedArray`?n.fields??[]:[]}function Pr(e,t){return Mr(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=Q(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=Nr(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(Ar);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 Nr(e,t).find(e=>e.path===n)?.enumValues??[]}function Br(e){return!e.ok||e.mode===`enum`?{kind:`identity`}:Un(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=w({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(Nr(e,t).find(e=>e.path===n)?.literals??[]).map(e=>e.path)}function Wr(e,t,n,r){return Nr(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}=K(),n=e.mode===`change`?t(`customize.keyed.changeTitle`):t(`customize.keyed.addTitle`);return c(H,{open:e.open,onOpenChange:t=>t?void 0:e.onClose(),children:a(Ue,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,"aria-label":n,children:[c(ze,{children:c(W,{children:n})}),e.open&&c(Yr,{...e,heading:n})]})})}function Yr(e){let{t,i18n:i}=K(),s=Pr(e.cap,e.targetId),l=Nr(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.unit`)?.value??Wr(e.cap,e.targetId,`remaining.value`,`remaining.unit`)[0]??``),S=Le({projection:`slim`}),C=n(()=>S.status===`success`?ft(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=Ae({deviceId:T?.id??0}),A=Se({deviceId:T?.id??0}),j=Fr(k.status===`success`?k.data:{caps:[]},A.status===`success`?A.data:null),[M,ee]=r(e.seed===null?null:`${e.seed.source.cap}.${e.seed.source.fieldPath}`),[te,N]=r(e.seed?.transform??{kind:`identity`}),[ne,re]=r(()=>e.seed?.transform.kind===`enum-map`?e.seed.transform.mapping:{}),P=j.find(e=>`${e.cap}.${e.path}`===M)??null,F=P===null?null:Rr(e.cap,e.targetId,g,P),I=m?f:kr(u),ie=Zr(e.cap,e.targetId,g,v,b),ae=Qr(T,P,F,ne,te),oe=ae===null?null:Hr({cap:e.cap,targetId:e.targetId,device:e.target,apply:e.apply,key:I,label:u,fieldPath:g,source:ae,transform:ae.transform,literals:ie}),se=$r(oe,I,g,P,A.status===`success`?A.data:null),ce=typeof e.host.location==`string`&&e.host.location.length>0?e.host.location:null,le=e=>{d(e),m||p(kr(e))};return a(o,{children:[a(U,{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(Be,{value:u,onChange:e=>le(e.target.value)})]}),a(`label`,{className:`flex flex-col gap-1 text-xs text-foreground`,children:[t(`customize.keyed.key`),c(Be,{value:I,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(R,{value:g,options:l.map(e=>({value:e.path,label:t(Kr[e.path]??e.path)})),onChange:e=>{_(e.target.value),ee(null),N({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(R,{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(R,{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(B,{title:t(`customize.picker.devicesFailed`),message:S.error?.message??``}):c(we,{devices:ni(C,e.host.id),listState:qr(S.status),value:[],selection:`single`,...ce===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),ee(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(V,{variant:`ghost`,size:`sm`,onClick:()=>E(null),children:t(`customize.scalar.changeDevice`)})]})]}),T!==null&&c(`ul`,{className:`flex flex-col gap-1`,children:j.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:M===o,disabled:!s,onChange:()=>ue(n,r)}),a(`span`,{children:[J(n.cap,n.path,i.language),n.unit===null?``:` (${n.unit})`]})]}),!r.ok&&c(`span`,{className:`text-foreground-subtle`,children:t(Pn(r.reason))})]},o)})}),F?.ok===!0&&F.mode===`scalar`&&c(Jn,{control:F.fit.transforms.includes(`linear`)?`choice`:`none`,transforms:F.fit.transforms,declared:F.fit.declared,unit:F.fit.sourceUnit,value:te,onChange:N}),F?.ok===!0&&F.mode===`enum`&&P!==null&&c(Xr,{values:P.enumValues,outputs:Gr(e.cap,e.targetId,g),mapping:ne,onChange:re}),se!==null&&c(Vn,{preview:se})]}),a(Me,{className:`flex flex-wrap gap-2`,children:[c(V,{variant:`ghost`,onClick:e.onClose,children:t(`customize.scalar.cancel`)}),c(V,{"data-testid":`keyed-save-item`,disabled:!e.canSave||oe===null||I===``,onClick:()=>{oe!==null&&e.onSave(oe,I)},children:t(`customize.keyed.save`)})]})]});function ue(t,n){if(n.ok){if(ee(`${t.cap}.${t.path}`),n.mode===`enum`){let n=Vr(t.enumValues,Gr(e.cap,e.targetId,g));re(n),N({kind:`enum-map`,mapping:{...n}});return}N(Br(n))}}}function Xr(e){let{t}=K();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(R,{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=Q(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=de(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=D.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&&De(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}=K(),n=wt({deviceId:e.deviceId,cap:e.entry.cap,path:e.entry.path});return c(Or,{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(Dt,{display:{text:`…`,tone:`muted`}});case`unknown`:return c(Dt,{display:{text:`?`,title:e.value.reason,tone:`warning`}});case`absent`:return c(be,{level:null,size:`sm`});case`value`:return c(be,{level:Fe(e.value.value),size:`sm`})}}function hi(e){let{t}=K(),{item:n}=e.entry,r=n.level===null?n.status===`replace`?t(`uiLibrary.consumablesPanel.replace`):void 0:`${Math.round(n.level)} %`;return c(Or,{name:n.label,detail:t(`customize.consumables.builtIn`),meta:t(`customize.assign.native`),value:null,readout:c(be,{level:ye(n),label:r,size:`sm`}),removeLabel:``})}e();var gi={consumables:d};function _i(){return Object.entries(A).flatMap(([e,t])=>t.targets.filter(e=>e.cardinality===`keyedArray`).map(t=>({cap:e,target:t})))}function vi(e){let{t,i18n:n}=K(),i=Z(),[s,l]=r(null),[u,d]=r(null),f=q(e.handle.state),p=X(f,e.cap),m=xi(e.handle,p),h=m.kind===`known`&&m.value!==null?ee(m.value,e.cap,e.target.id):null,g=Xe(h!==null),_=Si(h,g),v=te({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 y=e.handle.state.kind===`none`||e.handle.state.kind===`present`,b=e.availability.kind===`present`&&y,x=e.target.apply===`replace`?`replace`:`add`,C=t(`customize.keyed.title.${e.cap}`),w=Ti(t,v.text,v.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=k(p,n.key),a=r===null?st(f,e.cap):Y(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(Ke,{id:e.cap,icon:gi[e.cap],title:C,testId:`keyed-card-${e.cap}`,actions:c(z,{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(B,{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}),b&&c(V,{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:x,seed:D,canSave:y&&!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=S(p,n,r);l(null),i!==null&&(d(null),T(Y(f,e.handle.target,i)))}})]})}function yi(e){let{t}=K(),n=e.item.compile,r=e.item.recognized&&n!==null,i=n===null?``:J(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:le(re,e.item.key,n.draft.fieldPath);return a(`div`,{className:`flex flex-col gap-1`,"data-testid":`keyed-row-${e.item.key}`,children:[c(Or,{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(Et,{target:{deviceId:e.deviceId,cap:e.cap,path:s}}),removeLabel:``}),a(`div`,{className:`flex flex-wrap gap-2`,children:[r&&c(V,{variant:`outline`,size:`sm`,disabled:e.saving,onClick:e.onChange,children:t(`customize.keyed.change`)}),r&&c(V,{variant:`ghost`,size:`sm`,disabled:e.saving,onClick:e.onRemove,children:t(`customize.keyed.remove`)}),!r&&c(An,{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=L(n);return t.value.some(e=>L({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=L(n);return t.value.find(e=>L({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:On(wn(t.cap,t.target),e.facts),cap:t.cap,target:t.target,defaults:e.defaults},t.cap):null)})}function Di(){return Object.entries(A).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){if(e.shape!==`pulse`)return null;let t=ji(e.apply);return 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)||t===null?null:{id:e.id,timestampPath:e.timestampPath,counterPath:e.counterPath,debounceMs:e.debounceMs,edges:e.edges,defaultEdge:e.defaultEdge,apply:t,deviceTypes:e.deviceTypes}}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}`}function ji(e){return e===`add`||e===`replace`?e:null}export{Ze as A,ut as C,at as D,it as E,Je as M,qe as N,J as O,Ke as P,X as S,st as T,hn as _,ii as a,ft as b,Dr as c,rr as d,An as f,Sn as g,wn as h,_i as i,Xe as j,q as k,Sr as l,Cn as m,Di as n,ai as o,On as p,Ei as r,di as s,Ai as t,ar as u,wt as v,Y as w,Z as x,Q as y};
|