@camstack/addon-admin-ui 1.2.520 → 1.2.522

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 (131) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/assets/{AddonAssetIcon-Do54wTZ7.js → AddonAssetIcon-DIfNr6QF.js} +1 -1
  3. package/dist/assets/{Addons-B1OJ_ktZ.js → Addons-BMftFNTU.js} +1 -1
  4. package/dist/assets/{AdminPage-BmoKOToB.js → AdminPage-DPm4iuSn.js} +1 -1
  5. package/dist/assets/{AdminSectionedPage-O0ffiJOS.js → AdminSectionedPage-ePUwCKQL.js} +1 -1
  6. package/dist/assets/AiProfiles-CACYaJ0b.js +3 -0
  7. package/dist/assets/{BrokerEditorDialog-CcvbGDox.js → BrokerEditorDialog-CUIedISr.js} +1 -1
  8. package/dist/assets/Build-CDoXaCVA.js +40 -0
  9. package/dist/assets/{Calendars-DeDcWHS-.js → Calendars-C4XQpa_i.js} +1 -1
  10. package/dist/assets/{Cluster-CZB476Cv.js → Cluster-DBLF--XA.js} +1 -1
  11. package/dist/assets/{ComposedDeviceEditDialog-DiO4bitz.js → ComposedDeviceEditDialog-ck2hidMF.js} +1 -1
  12. package/dist/assets/CompositionBlockEditor-HRq0m67C.js +2 -0
  13. package/dist/assets/{CompositionEditorPage-caLz4h3I.js → CompositionEditorPage-ofTerclJ.js} +1 -1
  14. package/dist/assets/{Data-Cpi9Lb2k.js → Data-C9r_81YQ.js} +1 -1
  15. package/dist/assets/{DeviceDetail-SAboiNCE.js → DeviceDetail-K5apsJzR.js} +2 -2
  16. package/dist/assets/{DeviceDoActionFields-C5Oeqy94.js → DeviceDoActionFields-CV-_oMrw.js} +1 -1
  17. package/dist/assets/{Devices-DArtILxr.js → Devices-N1YkeiNQ.js} +1 -1
  18. package/dist/assets/{EmbedPlayerPage-B-NlJHwD.js → EmbedPlayerPage-BCAMYXmH.js} +1 -1
  19. package/dist/assets/{History-B_xZFQt7.js → History-C0dKdfBD.js} +1 -1
  20. package/dist/assets/{Identity-Cawa92L2.js → Identity--_TOjAWM.js} +1 -1
  21. package/dist/assets/{IntegrationDetail-D6gLTapX.js → IntegrationDetail-DxggdnLq.js} +1 -1
  22. package/dist/assets/{IntegrationHub-vZ23z1RD.js → IntegrationHub-DkYLz05p.js} +1 -1
  23. package/dist/assets/{Integrations-BLhvc6uB.js → Integrations-ABu-h5-i.js} +1 -1
  24. package/dist/assets/{Integrations-Bt-5ZNBV.js → Integrations-DaHd5Vd8.js} +1 -1
  25. package/dist/assets/{Library-K2waPmh-.js → Library-Fjdy5AxG.js} +1 -1
  26. package/dist/assets/{Locations-GaQ-Vlg2.js → Locations-GGj9C5iu.js} +1 -1
  27. package/dist/assets/{Logs-8qT_HE5j.js → Logs-BD6TfZBm.js} +1 -1
  28. package/dist/assets/{MaskShapeCanvas-B599Qff8.js → MaskShapeCanvas-Bv7J_UVF.js} +1 -1
  29. package/dist/assets/{MotionZonesSettings-kGwQFrli.js → MotionZonesSettings-BZxXQ1bq.js} +1 -1
  30. package/dist/assets/{MyAccess-A5l6WoMd.js → MyAccess-SIQg6S5M.js} +1 -1
  31. package/dist/assets/{Network-B_HZ4sjm.js → Network-BodjnB-l.js} +1 -1
  32. package/dist/assets/{NodeAddonsSettingsPanel-Ccww7SgZ.js → NodeAddonsSettingsPanel-CE1Jh62u.js} +1 -1
  33. package/dist/assets/Notifications-BuPf6osG.js +1 -0
  34. package/dist/assets/{Pipeline-7I-tbGWA.js → Pipeline-7z4wW50e.js} +1 -1
  35. package/dist/assets/{PrivacyMaskSettings-D3OKCG5L.js → PrivacyMaskSettings-Bic1_gT9.js} +1 -1
  36. package/dist/assets/{Recordings-Dqxrdll7.js → Recordings-BigRN2P0.js} +1 -1
  37. package/dist/assets/RemoteGrid-BI5deYM9.js +1 -0
  38. package/dist/assets/{ScanNetworkModal-De1BMqEu.js → ScanNetworkModal-CZGf5C-T.js} +1 -1
  39. package/dist/assets/{SceneMonitorEditor-BWwBdarY.js → SceneMonitorEditor-Bd7aOOIg.js} +1 -1
  40. package/dist/assets/{SessionsList-DK9sBB3z.js → SessionsList-BDOJmeXy.js} +1 -1
  41. package/dist/assets/{Showroom-bS5UisOb.js → Showroom-DqFW96-i.js} +1 -1
  42. package/dist/assets/{System-CoCWu43h.js → System-DTyumt9L.js} +1 -1
  43. package/dist/assets/Templates-dAk_L8cs.js +1 -0
  44. package/dist/assets/{Terminal-CaIDL65f.js → Terminal-DIjGMS_3.js} +1 -1
  45. package/dist/assets/{Viewer-BzxcMFB5.js → Viewer-B92j2D9F.js} +1 -1
  46. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DvIAWVsR.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DugEb7xj.js} +1 -1
  47. package/dist/assets/{addon-icons-context-D-3KCr36.js → addon-icons-context-CDyNgrka.js} +1 -1
  48. package/dist/assets/{archive-sIPC64K9.js → archive-BKuD6-O9.js} +1 -1
  49. package/dist/assets/{assignment-candidates-C_UoiwJK.js → assignment-candidates-DRst7VCd.js} +1 -1
  50. package/dist/assets/{authed-media-BE3neYoh.js → authed-media-DxWmG5JA.js} +1 -1
  51. package/dist/assets/{bell-off-DBYFNI8u.js → bell-off-7L6K5pJk.js} +1 -1
  52. package/dist/assets/{board-model-CeWFKx9n.js → board-model-C9BgTio0.js} +1 -1
  53. package/dist/assets/{boxes-5j10egHw.js → boxes-BYgmIZEw.js} +1 -1
  54. package/dist/assets/circle-slash-DSfcxndq.js +1 -0
  55. package/dist/assets/client-Clemlz5W.js +674 -0
  56. package/dist/assets/{cloud-upload-CUkN17bl.js → cloud-upload-C40Dp7qu.js} +1 -1
  57. package/dist/assets/crop-CnSchINM.js +1 -0
  58. package/dist/assets/{device-integration-icon-DUQvGDM8.js → device-integration-icon-4rilmB_4.js} +1 -1
  59. package/dist/assets/device-picker-model-ojy8FewR.js +1 -0
  60. package/dist/assets/dist-B-uSoSKi.js +674 -0
  61. package/dist/assets/{dist-dCyhYCji.js → dist-CJ9iy42m.js} +1 -1
  62. package/dist/assets/{file-up-DF9281zn.js → file-up-DhY5nof7.js} +1 -1
  63. package/dist/assets/{format-Ctn7h3o7.js → format-BccZ2tds.js} +1 -1
  64. package/dist/assets/{hard-drive-download-YoDQjZ6G.js → hard-drive-download-gFidUJGC.js} +1 -1
  65. package/dist/assets/{hostInit-BqZN7ExA.js → hostInit-CDWllEW4.js} +1 -1
  66. package/dist/assets/i18n-COiZcYwm.js +1 -0
  67. package/dist/assets/{icons-CUtj9rug.js → icons-DrXFX-WI.js} +1 -1
  68. package/dist/assets/{index-s2JBApLj.js → index-B0SLrMzs.js} +3 -3
  69. package/dist/assets/{index-C0TfYmoA.css → index-DnHMM2c9.css} +1 -1
  70. package/dist/assets/{key-BpA5yjS5.js → key-CKmpBvKe.js} +1 -1
  71. package/dist/assets/{key-round-BbwlZYgP.js → key-round-DMWVlifP.js} +1 -1
  72. package/dist/assets/{layers-Bxrx5612.js → layers-Bo1tC_4O.js} +1 -1
  73. package/dist/assets/{linked-devices-model-4X2JNgtv.js → linked-devices-model-BGb4eOlL.js} +1 -1
  74. package/dist/assets/{list-ordered-BQZRweJv.js → list-ordered-BAebxGoz.js} +1 -1
  75. package/dist/assets/{location-owned-usage-Dwc8i-A6.js → location-owned-usage-Bmczv2-v.js} +1 -1
  76. package/dist/assets/{log-in-BFtLVkKt.js → log-in-CUgGOn9k.js} +1 -1
  77. package/dist/assets/{memory-stick-65f0Nh--.js → memory-stick-CsWM7ppk.js} +1 -1
  78. package/dist/assets/{message-square-plus-Cz97-8Ea.js → message-square-plus-C-LDprie.js} +1 -1
  79. package/dist/assets/{mf-entry-bootstrap-0-bfee715d.js → mf-entry-bootstrap-0-2a2a5e72.js} +2 -2
  80. package/dist/assets/{mic-off-C90AfhxH.js → mic-off-BmNdC4XW.js} +1 -1
  81. package/dist/assets/{monitor-off-Kj0KouMn.js → monitor-off-DhTBAYUp.js} +1 -1
  82. package/dist/assets/{monitor-smartphone-dJjQFha0.js → monitor-smartphone-6kCGO3r1.js} +1 -1
  83. package/dist/assets/mount-ojy8FewR.js +1 -0
  84. package/dist/assets/{player-overlays-Cl9fdVyE.js → player-overlays-C_WpL6a6.js} +1 -1
  85. package/dist/assets/{recycle-B_n3HNql.js → recycle-Di1EQ0Qy.js} +1 -1
  86. package/dist/assets/remoteEntry-B3Z2iNH7.js +1 -0
  87. package/dist/assets/{ruler-DFksgfFc.js → ruler-cSAzAdF0.js} +1 -1
  88. package/dist/assets/{scan-eye-Dcs85qj4.js → scan-eye-6vO-dwZC.js} +1 -1
  89. package/dist/assets/{scissors-DpVQCMjY.js → scissors-MIPuZwTY.js} +1 -1
  90. package/dist/assets/{search-x-BUboqisx.js → search-x-Jgy5Olce.js} +1 -1
  91. package/dist/assets/{send-i8_gi4Wv.js → send-CnArxdfm.js} +1 -1
  92. package/dist/assets/{settings-2-BuOeZPiK.js → settings-2-Cc7_8hT4.js} +1 -1
  93. package/dist/assets/{shapes-DGstG7DR.js → shapes-B6yDXStU.js} +1 -1
  94. package/dist/assets/{sigma-B0KIxXLC.js → sigma-q5eaqxJ5.js} +1 -1
  95. package/dist/assets/{speaker-C7Ctczma.js → speaker-CbeO5md6.js} +1 -1
  96. package/dist/assets/src-BuD4BDe3.js +67 -0
  97. package/dist/assets/{step-inspector-model-Du5MgFTI.js → step-inspector-model-CNx3I9Xq.js} +1 -1
  98. package/dist/assets/{table-2-Bi2N6ehZ.js → table-2-Dl4UBoV9.js} +1 -1
  99. package/dist/assets/{timer-reset-C-DbgYsd.js → timer-reset-Bp1VJ4jU.js} +1 -1
  100. package/dist/assets/{unlink-DOrqvhrS.js → unlink-DoHrrlyB.js} +1 -1
  101. package/dist/assets/{usb-D21IcPqp.js → usb-uGk5FuUX.js} +1 -1
  102. package/dist/assets/{use-device-bound-caps-DUbLU0h-.js → use-device-bound-caps-Di0CbhM4.js} +1 -1
  103. package/dist/assets/{use-scenes-feed-Cc_FfCf0.js → use-scenes-feed-hWCFwCtN.js} +1 -1
  104. package/dist/assets/{use-stationary-objects-C9cIQpEH.js → use-stationary-objects-DJ9JfRWk.js} +1 -1
  105. package/dist/assets/useEventInvalidation-ojy8FewR.js +1 -0
  106. package/dist/assets/{useNodeUrlSelection-B-iNHDOR.js → useNodeUrlSelection-DdAqNTrP.js} +1 -1
  107. package/dist/assets/user-round-BdixCoAv.js +1 -0
  108. package/dist/assets/{user-x-dk19_EsK.js → user-x-KqDnAcpq.js} +1 -1
  109. package/dist/assets/{variable-jCYthbGt.js → variable-vSgKlDpd.js} +1 -1
  110. package/dist/assets/{video-BbvU47vV.js → video-DgFhEP51.js} +1 -1
  111. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-DOT_MvML.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-CmMSAYDD.js} +2 -2
  112. package/dist/index.html +10 -10
  113. package/dist/server/addon.js +519 -62
  114. package/package.json +2 -1
  115. package/dist/assets/AiProfiles-koWE1ekm.js +0 -3
  116. package/dist/assets/Build-DkW1vw1Z.js +0 -40
  117. package/dist/assets/CompositionBlockEditor-BQbgk5OR.js +0 -2
  118. package/dist/assets/Notifications-DxoAS5SX.js +0 -1
  119. package/dist/assets/RemoteGrid-BC7RcI7j.js +0 -1
  120. package/dist/assets/Templates-DIMuzzu_.js +0 -1
  121. package/dist/assets/circle-slash-VFJ46qWN.js +0 -1
  122. package/dist/assets/client-BmfSvq-t.js +0 -674
  123. package/dist/assets/crop-DwwjG8X9.js +0 -1
  124. package/dist/assets/device-picker-model-C2rxDYB3.js +0 -1
  125. package/dist/assets/dist-CGa31Bpn.js +0 -674
  126. package/dist/assets/i18n-CWf2gqjI.js +0 -1
  127. package/dist/assets/mount-C2rxDYB3.js +0 -1
  128. package/dist/assets/remoteEntry-Bgu2wj6M.js +0 -1
  129. package/dist/assets/src-Cjqv1L1_.js +0 -67
  130. package/dist/assets/useEventInvalidation-C2rxDYB3.js +0 -1
  131. package/dist/assets/user-round-CCHLAyrG.js +0 -1
@@ -1 +0,0 @@
1
- import{C as e,S as t}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CEyXHAdg.js";import{Cr as n,Er as r,Sr as i,xr as a}from"./client-BmfSvq-t.js";import{Wd as o,ei as s}from"./src-Cjqv1L1_.js";import{t as c}from"./useTranslation-BJr-n0es.js";function l(){return{columns:3,rows:4,buttons:[]}}var u=e=>({status:`refused`,reason:e}),d=e=>({status:`ok`,grid:e});function f(e,t){return t.row>=0&&t.col>=0&&t.row+t.rowSpan<=e.rows&&t.col+t.colSpan<=e.columns}function p(e,t){return e.row<t.row+t.rowSpan&&t.row<e.row+e.rowSpan&&e.col<t.col+t.colSpan&&t.col<e.col+e.colSpan}function m(e,t,n){return t.rowSpan<1||t.colSpan<1?`invalid-size`:f(e,t)?e.buttons.some(e=>e.id!==n&&p(e,t))?`overlap`:null:`outside`}function h(e,t){let n=m(e,t,t.id);return n===null?d({...e,buttons:e.buttons.map(e=>e.id===t.id?t:e)}):u(n)}function g(e,t){return e.buttons.find(e=>e.id===t)}function _(e){let t=new Set(e.buttons.map(e=>e.id));for(let n=e.buttons.length+1;;n+=1)if(!t.has(`b${n}`))return`b${n}`}function v(e){for(let t=0;t<e.rows;t+=1)for(let n=0;n<e.columns;n+=1)if(m(e,{id:``,row:t,col:n,rowSpan:1,colSpan:1,role:`power`},null)===null)return{row:t,col:n};return null}function y(e,t){if(e.buttons.length>=200)return u(`outside`);let n=v(e);if(n===null)return u(`outside`);let r={id:_(e),row:n.row,col:n.col,rowSpan:1,colSpan:1,role:t};return d({...e,buttons:[...e.buttons,r]})}function b(e,t,n,r){let i=g(e,t);return i===void 0?u(`unknown-button`):h(e,{...i,row:n,col:r})}function x(e,t,n,r){let i=g(e,t);return i===void 0?u(`unknown-button`):b(e,t,i.row+n,i.col+r)}function S(e,t,n,r){let i=g(e,t);return i===void 0?u(`unknown-button`):h(e,{...i,rowSpan:n,colSpan:r})}function C(e,t,n){let r=g(e,t);if(r===void 0)return u(`unknown-button`);let i=n.icon===void 0?r.icon:n.icon??void 0,a=n.label===void 0?r.label:n.label??void 0,o=a===void 0||a.trim()===``?void 0:a,s={id:r.id,row:r.row,col:r.col,rowSpan:r.rowSpan,colSpan:r.colSpan,role:n.role??r.role,...i===void 0?{}:{icon:i},...o===void 0?{}:{label:o}};return d({...e,buttons:e.buttons.map(e=>e.id===t?s:e)})}function w(e,t){return{...e,buttons:e.buttons.filter(e=>e.id!==t)}}function T(e,t,n){let r=e=>!Number.isInteger(e)||e<1||e>24;if(r(t)||r(n))return u(`invalid-size`);let i={...e,columns:t,rows:n};return e.buttons.some(e=>!f(i,e))?u(`would-drop-buttons`):d(i)}function E(e){let t=a.safeParse(e);return t.success?t.data:null}function D(e){let t=a.safeParse(e);return t.success?t.data:l()}var O=[`power`,`volume`,`channel`,`navigation`,`playback`,`digits`,`other`];function k(e){return e.startsWith(`power`)?`power`:e.startsWith(`volume`)||e===`mute`?`volume`:e.startsWith(`channel`)?`channel`:e.startsWith(`digit_`)?`digits`:[`up`,`down`,`left`,`right`,`ok`,`back`,`home`,`menu`,`exit`].includes(e)?`navigation`:[`play`,`pause`,`play_pause`,`stop`,`next`,`previous`,`fast_forward`,`rewind`].includes(e)?`playback`:`other`}function A(e){return i.filter(t=>k(t)===e)}function j(e){let t=n(e),r=(t??e).replace(/_/g,` `);return t===null?r.charAt(0).toUpperCase()+r.slice(1):r}function M(e){return n(e)!==null&&!r(e)}function N(e){let t=new Set;for(let n of e.buttons)for(let e=n.row;e<n.row+n.rowSpan;e+=1)for(let r=n.col;r<n.col+n.colSpan;r+=1)t.add(`${e}:${r}`);return t}function P({button:n}){let{t:r}=c(),i=o(),a=n.icon===void 0?void 0:i(n.icon),s=n.label??(a===void 0?r(`remote.role.${n.role}`,j(n.role)):null);return e(`span`,{className:`flex flex-col items-center justify-center gap-0.5 leading-none`,children:[a!==void 0&&t(a,{className:`h-4 w-4`,"aria-hidden":!0}),s!==null&&t(`span`,{className:`max-w-full truncate text-[11px]`,children:s})]})}function F({grid:n,label:r,selectedId:i=null,onSelect:a,boundRoles:o,showEmptyCells:c=!1}){let l=N(n),u=[];if(c)for(let e=0;e<n.rows;e+=1)for(let t=0;t<n.columns;t+=1)l.has(`${e}:${t}`)||u.push({row:e,col:t});return e(`div`,{role:`group`,"aria-label":r,"data-testid":`remote-grid`,className:`grid auto-rows-[2.75rem] gap-1.5`,style:{gridTemplateColumns:`repeat(${n.columns}, minmax(0, 1fr))`},children:[u.map(({row:e,col:n})=>t(`div`,{"aria-hidden":!0,className:`rounded-md border border-dashed border-border-subtle`,style:{gridRow:`${e+1}`,gridColumn:`${n+1}`}},`e${e}:${n}`)),n.buttons.map(e=>{let n=e.id===i,r=o===void 0||o.has(e.role);return t(s,{type:`button`,size:`sm`,variant:n?`primary`:r?`secondary`:`outline`,"aria-pressed":a===void 0?void 0:n,"data-testid":`remote-grid-button-${e.id}`,className:`h-full min-w-0 px-1`,style:{gridRow:`${e.row+1} / span ${e.rowSpan}`,gridColumn:`${e.col+1} / span ${e.colSpan}`},onClick:a===void 0?void 0:()=>a(e.id),children:t(P,{button:e})},e.id)})]})}export{l as a,A as c,S as d,T as f,E as i,D as l,x as m,O as n,j as o,C as p,y as r,M as s,F as t,w as u};
@@ -1 +0,0 @@
1
- import{C as e,K as t,S as n,Y as r,et as i,o as a,x as o}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CEyXHAdg.js";import{Fn as s,Ht as c,Vn as l,ea as u,ia as d,ii as f,na as p,ot as m,ra as h,st as g}from"./player-overlays-Cl9fdVyE.js";import{Cr as _,Tr as v,hi as y,vr as b,wr as x,yr as S}from"./client-BmfSvq-t.js";import{l as C}from"./video-BbvU47vV.js";import{t as w}from"./shapes-DGstG7DR.js";import{Ar as T,Ct as E,Dn as D,Ed as O,Gu as ee,Ku as te,Md as k,Nd as A,Nr as ne,On as re,Sr as j,Uu as M,Wu as ie,_r as N,br as ae,ci as oe,ei as P,gr as se,jd as F,jr as ce,nn as I,ri as le,vr as L,xr as R,xt as z}from"./src-Cjqv1L1_.js";import{t as B}from"./useTranslation-BJr-n0es.js";import{t as V}from"./AdminPage-BmoKOToB.js";import{a as H,c as U,d as W,f as G,i as ue,l as K,m as q,n as de,o as fe,p as J,r as pe,s as me,t as he,u as ge}from"./RemoteGrid-BC7RcI7j.js";i();var Y=`__custom__`;function X({value:t,onChange:i}){let{t:a}=B(),[o,c]=r(null),[l,u]=r(null),d=t.buttons.find(e=>e.id===o)??null,f=(e,t)=>{if(e.status===`ok`){u(null),i(e.grid),t?.(e.grid);return}u(a(`remote.layout.refusal.${e.reason}`))};return e(`div`,{className:`grid gap-4 md:grid-cols-[minmax(0,18rem)_minmax(0,1fr)]`,children:[e(`div`,{className:`space-y-3`,children:[e(`div`,{className:`grid grid-cols-2 gap-2`,children:[n(E,{label:a(`remote.layout.columns`),children:n(I,{value:t.columns,onDelta:e=>f(G(t,t.columns+e,t.rows))})}),n(E,{label:a(`remote.layout.rows`),children:n(I,{value:t.rows,onDelta:e=>f(G(t,t.columns,t.rows+e))})})]}),n(he,{grid:t,label:a(`remote.layout.previewLabel`),selectedId:o,onSelect:c,showEmptyCells:!0}),e(P,{variant:`outline`,size:`sm`,onClick:()=>f(pe(t,`ok`),e=>c(e.buttons.at(-1)?.id??null)),"data-testid":`remote-add-button`,children:[n(s,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),a(`remote.layout.addButton`)]}),l!==null&&n(`p`,{role:`alert`,className:`text-xs text-warning`,"data-testid":`remote-layout-refusal`,children:l})]}),n(`div`,{className:`min-w-0`,children:d===null?n(`p`,{className:`text-xs text-foreground-subtle`,children:a(`remote.layout.selectHint`)}):n(ve,{grid:t,buttonId:d.id,apply:f,onRemove:()=>{i(ge(t,d.id)),c(null),u(null)}})})]})}function _e(e){return[...de.flatMap(t=>U(t).map(n=>({value:n,label:e(`remote.role.${n}`,fe(n)),group:e(`remote.roleGroup.${t}`)}))),{value:Y,label:e(`remote.layout.customRole`),group:e(`remote.roleGroup.custom`)}]}function ve({grid:t,buttonId:i,apply:a,onRemove:o}){let{t:s}=B(),l=t.buttons.find(e=>e.id===i),f=l===void 0?null:_(l.role),[m,g]=r(null);if(l===void 0)return null;let b=me(l.role)||m!==null,S=m??f??``,C=v(S),T={trigger:s(`remote.layout.pickIcon`),panel:s(`remote.layout.iconPanel`),searchPlaceholder:s(`deviceDisplay.iconSearchPlaceholder`),clear:s(`remote.layout.noIcon`),noMatches:s(`deviceDisplay.iconNoMatches`)},D=e=>s(`deviceDisplay.iconCategory.${e}`,{defaultValue:y(e)});return e(`div`,{className:`space-y-3 rounded-lg border border-border bg-surface p-3`,"data-testid":`remote-inspector`,children:[n(le,{mode:`single`,singleDisplay:`field`,label:s(`remote.layout.role`),options:_e((e,t)=>s(e,t??e)),value:b?Y:l.role,onChange:e=>{if(e===Y){g(f??``);return}g(null),a(J(t,l.id,{role:e}))}}),b&&n(E,{label:s(`remote.layout.customKey`),...S!==``&&!C?{error:s(`remote.layout.customKeyInvalid`)}:{},children:n(F,{value:S,placeholder:`hdmi_1`,onChange:e=>{let n=e.target.value;g(n),v(n)&&a(J(t,l.id,{role:x(n)}))}})}),e(`div`,{className:`grid grid-cols-[auto_minmax(0,1fr)] items-end gap-2`,children:[n(E,{label:s(`remote.layout.icon`),children:n(A,{value:l.icon??null,onPick:e=>a(J(t,l.id,{icon:e})),fallbackGlyph:w,categoryLabel:D,labels:T})}),n(E,{label:s(`remote.layout.label`),children:n(F,{value:l.label??``,maxLength:40,onChange:e=>a(J(t,l.id,{label:e.target.value}))})})]}),e(`div`,{className:`grid grid-cols-2 gap-3`,children:[n(E,{label:s(`remote.layout.move`),children:e(`div`,{className:`flex items-center gap-1`,children:[n(k,{icon:h,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveLeft`),onClick:()=>a(q(t,l.id,0,-1))}),n(k,{icon:u,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveUp`),onClick:()=>a(q(t,l.id,-1,0))}),n(k,{icon:d,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveDown`),onClick:()=>a(q(t,l.id,1,0))}),n(k,{icon:p,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveRight`),onClick:()=>a(q(t,l.id,0,1))})]})}),n(E,{label:s(`remote.layout.position`),children:n(`p`,{className:`text-xs text-foreground-muted`,"data-testid":`remote-position`,children:s(`remote.layout.positionValue`,{row:l.row+1,col:l.col+1})})}),n(E,{label:s(`remote.layout.height`),children:n(I,{value:l.rowSpan,onDelta:e=>a(W(t,l.id,l.rowSpan+e,l.colSpan))})}),n(E,{label:s(`remote.layout.width`),children:n(I,{value:l.colSpan,onDelta:e=>a(W(t,l.id,l.rowSpan,l.colSpan+e))})})]}),e(P,{variant:`danger`,size:`sm`,onClick:o,children:[n(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),s(`remote.layout.removeButton`)]})]})}var ye={remote:{label:e=>e(`remote.templates.kind.remote`),emptyPayload:H,summary:(e,t)=>{let n=K(e);return t(`remote.templates.layoutSummary`,{columns:n.columns,rows:n.rows,count:n.buttons.length})},renderEditor:(e,t)=>n(X,{value:K(e),onChange:t}),isSavable:e=>ue(K(e))!==null}};function Z(e){return ye[e]}var Q=b;function be(e,t){let n=S(e,t);return n.ok?n.payload:null}i();function xe({draft:e,saving:t,error:r,onSave:i,onClose:a}){return n(se,{open:e!==null,onOpenChange:e=>!e&&a(),children:n(L,{width:`xl`,placement:`sheet-on-mobile`,scroll:`body`,children:e!==null&&n(Se,{draft:e,saving:t,error:r,onSave:i,onClose:a},e.id??`new`)})})}function Se({draft:t,saving:i,error:a,onSave:s,onClose:c}){let{t:l}=B(),[u,d]=r(t.kind),[f,p]=r(t.name),[m,h]=r(t.payload),g=Z(u),_=be(u,m),v=f.trim()!==``&&_!==null&&g.isSavable(m)&&!i;return e(o,{children:[n(R,{children:n(j,{children:t.id===null?l(`remote.templates.newTitle`):l(`remote.templates.editTitle`)})}),e(N,{className:`space-y-4`,children:[e(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[n(E,{label:l(`remote.templates.name`),children:n(F,{value:f,maxLength:120,onChange:e=>p(e.target.value),"data-testid":`template-name`})}),t.id===null&&Q.length>1&&n(E,{label:l(`remote.templates.kind.label`),children:n(O,{value:u,options:Q.map(e=>({value:e,label:Z(e).label(l)})),onChange:e=>{let t=Q.find(t=>t===e.target.value);t!==void 0&&(d(t),h(Z(t).emptyPayload()))}})})]}),g.renderEditor(m,h),a!==null&&n(`p`,{role:`alert`,className:`text-xs text-danger`,children:a})]}),e(ae,{children:[n(P,{variant:`ghost`,onClick:c,children:l(`common.cancel`)}),n(P,{disabled:!v,onClick:()=>s({id:t.id,kind:u,name:f.trim(),payload:_}),"data-testid":`template-save`,children:l(`common.save`)})]})]})}i();var $=b[0];function Ce(){let{t:i}=B(),o=a(),u=ee({}),d=M(),p=te(),h=ie(),_=g(),v=m(),[y,b]=r(null),[x,S]=r(null),w=()=>void o.invalidateQueries({queryKey:[[`template`]]}),E=async e=>{S(null);try{let t=e.id===null?await d.mutateAsync({kind:e.kind,name:e.name,payload:e.payload}):await p.mutateAsync({id:e.id,name:e.name,payload:e.payload});if(t.status===`refused`){S(t.detail);return}w(),b(null)}catch(e){S(e instanceof Error?e.message:String(e))}},O=async e=>{try{await d.mutateAsync({kind:e.kind,name:i(`remote.templates.copyName`,{name:e.name}),payload:e.payload}),w()}catch(e){await v({title:i(`remote.templates.duplicateFailed`),message:e instanceof Error?e.message:String(e),variant:`danger`})}},k=async e=>{if(await _({title:i(`remote.templates.deleteTitle`,{name:e.name}),message:i(`remote.templates.deleteMessage`),confirmLabel:i(`common.delete`),variant:`danger`}))try{let t=await h.mutateAsync({id:e.id});if(t.status===`in-use`){await v({title:i(`remote.templates.inUseTitle`,{name:e.name}),message:i(`remote.templates.inUseMessage`,{devices:t.devices.map(e=>e.name).join(`, `)}),variant:`warning`});return}w()}catch(e){await v({title:i(`remote.templates.deleteFailed`),message:e instanceof Error?e.message:String(e),variant:`danger`})}},A=t(()=>[{key:`name`,header:i(`remote.templates.name`),sortValue:e=>e.name.toLowerCase(),render:e=>n(`span`,{className:`font-medium text-foreground`,children:e.name})},{key:`kind`,header:i(`remote.templates.kind.label`),sortValue:e=>e.kind,render:e=>n(oe,{variant:`neutral`,children:Z(e.kind).label(i)})},{key:`summary`,header:i(`remote.templates.summary`),notSortableReason:`A sentence built from the payload.`,render:e=>n(`span`,{className:`text-foreground-muted`,children:Z(e.kind).summary(e.payload,i)})},{key:`updated`,header:i(`remote.templates.updated`),sortValue:e=>e.updatedAt,render:e=>n(`span`,{className:`text-foreground-muted`,children:new Date(e.updatedAt).toLocaleDateString()})},{key:`actions`,align:`right`,notSortableReason:`Row actions.`,render:e=>n(z,{title:i(`remote.templates.actionsFor`,{name:e.name}),items:[{id:`edit`,label:i(`common.edit`),icon:l,onClick:()=>{S(null),b({id:e.id,kind:e.kind,name:e.name,payload:e.payload})}},{id:`duplicate`,label:i(`remote.templates.duplicate`),icon:f,onClick:()=>void O(e)},{id:`delete`,label:i(`common.delete`),icon:c,danger:!0,onClick:()=>void k(e)}]})}],[i]),j=u.data??[],N=()=>{S(null),b({id:null,kind:$,name:``,payload:Z($).emptyPayload()})};return e(V,{icon:C,title:i(`remote.templates.title`),subtitle:i(`remote.templates.subtitle`),actions:e(P,{size:`sm`,onClick:N,"data-testid":`template-new`,children:[n(s,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),i(`remote.templates.new`)]}),children:[u.status===`error`?n(T,{title:i(`remote.templates.loadFailed`),message:u.error.message,onRetry:()=>void u.refetch()}):u.data===void 0?n(ne,{className:`h-32 w-full`}):j.length===0?n(ce,{icon:C,title:i(`remote.templates.emptyTitle`),description:i(`remote.templates.emptyDescription`),action:n(P,{size:`sm`,onClick:N,children:i(`remote.templates.new`)})}):n(D,{columns:A,rows:j,rowKey:e=>e.id,maxBodyHeight:re,defaultSort:{columnKey:`name`,dir:`asc`},onRowClick:e=>{S(null),b({id:e.id,kind:e.kind,name:e.name,payload:e.payload})}}),n(xe,{draft:y,saving:d.isPending||p.isPending,error:x,onSave:e=>void E(e),onClose:()=>b(null)})]})}export{Ce as TemplatesPage};
@@ -1 +0,0 @@
1
- import{la as e}from"./player-overlays-Cl9fdVyE.js";var t=e(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]);export{t};