@camstack/addon-admin-ui 1.2.525 → 1.2.527

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 (153) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/assets/{AddonAssetIcon-DwYI7EBR.js → AddonAssetIcon-BZ0hQcho.js} +1 -1
  3. package/dist/assets/Addons-BAqAfY0r.js +5 -0
  4. package/dist/assets/{AdminPage-BVK_kyJp.js → AdminPage-7avIuDBh.js} +1 -1
  5. package/dist/assets/{AdminSectionedPage-Bu-9skyU.js → AdminSectionedPage-Bd2owMGm.js} +1 -1
  6. package/dist/assets/AiProfiles-aCDtxD2T.js +3 -0
  7. package/dist/assets/BrokerEditorDialog-Cp7neyJC.js +1 -0
  8. package/dist/assets/Build-SObpGxas.js +40 -0
  9. package/dist/assets/{Calendars-NM9x_lTF.js → Calendars-B2TORAnq.js} +1 -1
  10. package/dist/assets/Cluster-CD4DYic_.js +1 -0
  11. package/dist/assets/{ComposedDeviceEditDialog-3vtEogq6.js → ComposedDeviceEditDialog-BiIiBFG-.js} +1 -1
  12. package/dist/assets/CompositionBlockEditor-BXYXXUEU.js +2 -0
  13. package/dist/assets/{CompositionEditorPage-D1auHftj.js → CompositionEditorPage-Cm4C-7Z-.js} +1 -1
  14. package/dist/assets/Data-CRPVPhFT.js +2 -0
  15. package/dist/assets/DeviceDetail-DNsWQGiy.js +2 -0
  16. package/dist/assets/{DeviceDoActionFields-CLlHGMoV.js → DeviceDoActionFields-BEhy6_KW.js} +1 -1
  17. package/dist/assets/{Devices-mrHggHWa.js → Devices-CS5P4d9n.js} +1 -1
  18. package/dist/assets/{EmbedPlayerPage-HIM7BXTf.js → EmbedPlayerPage-B7MIw7cv.js} +1 -1
  19. package/dist/assets/History-BbOfWf-p.js +1 -0
  20. package/dist/assets/Identity-Df140-fX.js +1 -0
  21. package/dist/assets/IntegrationDetail-B7sqZ94w.js +1 -0
  22. package/dist/assets/{IntegrationHub-BLWPwX2F.js → IntegrationHub-DndCuqMe.js} +1 -1
  23. package/dist/assets/Integrations-BJh_WZAT.js +1 -0
  24. package/dist/assets/Integrations-DRCpstaG.js +1 -0
  25. package/dist/assets/Library-Cx17_SRL.js +1 -0
  26. package/dist/assets/Locations-Dt9LOu5v.js +3 -0
  27. package/dist/assets/{Logs-BNUawZoE.js → Logs-CrxQn3Uq.js} +1 -1
  28. package/dist/assets/{MaskShapeCanvas-BxH91O-B.js → MaskShapeCanvas-tJyuoOTy.js} +1 -1
  29. package/dist/assets/{MotionZonesSettings-DZKfaecb.js → MotionZonesSettings-DaGyceJa.js} +1 -1
  30. package/dist/assets/{MyAccess-BxcRYFsj.js → MyAccess-Bp2dsON4.js} +1 -1
  31. package/dist/assets/Network-DftlNAIH.js +1 -0
  32. package/dist/assets/{NodeAddonsSettingsPanel-BcI9AigA.js → NodeAddonsSettingsPanel-JIXh-CLX.js} +1 -1
  33. package/dist/assets/Notifications-2tj0VaIS.js +1 -0
  34. package/dist/assets/Pipeline-CqZqLWQZ.js +1 -0
  35. package/dist/assets/{PrivacyMaskSettings-C1-GOEuN.js → PrivacyMaskSettings-zzQcpeb0.js} +1 -1
  36. package/dist/assets/Recordings-DoAJqZqc.js +1 -0
  37. package/dist/assets/{RemoteGrid-BZbW8PeH.js → RemoteGrid-Bz_u9tq6.js} +1 -1
  38. package/dist/assets/ScanNetworkModal-DL-mWRtG.js +1 -0
  39. package/dist/assets/{SceneMonitorEditor-C71RV5fL.js → SceneMonitorEditor-B0ICySEi.js} +1 -1
  40. package/dist/assets/SessionsList-QvqpXCDN.js +2 -0
  41. package/dist/assets/{Showroom-Pcaz2yKE.js → Showroom-B6CDELO1.js} +1 -1
  42. package/dist/assets/System-C0KUcOaJ.js +1 -0
  43. package/dist/assets/{Templates-ABoqOu9o.js → Templates-uAAxbV9V.js} +1 -1
  44. package/dist/assets/{Terminal-uL0eTf8i.js → Terminal-D1fhPY66.js} +5 -5
  45. package/dist/assets/{Viewer-BzqHL8lA.js → Viewer-BWN8qfBa.js} +1 -1
  46. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-Dbqn5c5X.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-sshFQYnL.js} +1 -1
  47. package/dist/assets/{addon-icons-context-CzyObK2t.js → addon-icons-context-BHF-RdY-.js} +1 -1
  48. package/dist/assets/{archive-CDziWnvV.js → archive-2V-x_y9T.js} +1 -1
  49. package/dist/assets/{assignment-candidates-a6kHcvux.js → assignment-candidates-BpC51VXR.js} +1 -1
  50. package/dist/assets/{authed-media-BcO83va1.js → authed-media-CdbbdgDZ.js} +1 -1
  51. package/dist/assets/{bell-off-O7zrX-Mc.js → bell-off-DDQ8FbF1.js} +1 -1
  52. package/dist/assets/{board-model-sARab1AV.js → board-model-D3wYwuI4.js} +1 -1
  53. package/dist/assets/{boxes-svitF8K8.js → boxes-BwEV9Act.js} +1 -1
  54. package/dist/assets/circle-slash-BjzSCz4-.js +1 -0
  55. package/dist/assets/client-r4i0EpF6.js +711 -0
  56. package/dist/assets/{cloud-upload-B_uHg9Qk.js → cloud-upload-BII8r4p9.js} +1 -1
  57. package/dist/assets/crop-D9cpl5_W.js +1 -0
  58. package/dist/assets/{device-integration-icon-Bi5qhaK0.js → device-integration-icon-Cf2JTj5q.js} +1 -1
  59. package/dist/assets/device-picker-model-B_Zjyqyk.js +1 -0
  60. package/dist/assets/{dist-C5kry-nn.js → dist-B0LFF94V.js} +1 -1
  61. package/dist/assets/dist-BOdjk8IV.js +711 -0
  62. package/dist/assets/{file-up-BnEcmi9q.js → file-up-Bizrs9Ca.js} +1 -1
  63. package/dist/assets/{format-DGQA45Ye.js → format-Bqo-j708.js} +1 -1
  64. package/dist/assets/{grip-vertical-DcUn4qSJ.js → grip-vertical-C-qhB3oM.js} +1 -1
  65. package/dist/assets/{hard-drive-download-CkT0au9p.js → hard-drive-download-Dym9jihx.js} +1 -1
  66. package/dist/assets/{hostInit-Dc7Z_glr.js → hostInit-bmlgmSTk.js} +1 -1
  67. package/dist/assets/i18n-BE1bPZOs.js +1 -0
  68. package/dist/assets/icons-BZ8D05w2.js +1 -0
  69. package/dist/assets/index-DimGtYV1.css +2 -0
  70. package/dist/assets/index-Ohn-2iW_.js +4 -0
  71. package/dist/assets/{key-vQtBGf1l.js → key-DddJ6bil.js} +1 -1
  72. package/dist/assets/{key-round-CFwVAamk.js → key-round-CbCqycf3.js} +1 -1
  73. package/dist/assets/{layers-C-B3EC65.js → layers-C-ZqYk3U.js} +1 -1
  74. package/dist/assets/{linked-devices-model-DUYPy_9l.js → linked-devices-model-BPUD1khJ.js} +1 -1
  75. package/dist/assets/{list-ordered-C_tb_5Gb.js → list-ordered-Cxznlat2.js} +1 -1
  76. package/dist/assets/{location-owned-usage-caVqSKq8.js → location-owned-usage-DOmOvdiG.js} +1 -1
  77. package/dist/assets/{log-in-D1R8-3xg.js → log-in-9Uirjetj.js} +1 -1
  78. package/dist/assets/{memory-stick-DTKZNNzT.js → memory-stick-CLL3KiND.js} +1 -1
  79. package/dist/assets/{message-square-plus-_8_Z4yYf.js → message-square-plus-C2nVnMG1.js} +1 -1
  80. package/dist/assets/{mf-entry-bootstrap-0-c9e86d7a.js → mf-entry-bootstrap-0-edf9b20a.js} +2 -2
  81. package/dist/assets/{mic-off-S8b79RhQ.js → mic-off-CcHQBwDt.js} +1 -1
  82. package/dist/assets/{monitor-off-DktfIub5.js → monitor-off-DUE1gt1S.js} +1 -1
  83. package/dist/assets/{monitor-smartphone-DiJ0euAC.js → monitor-smartphone-CwOoXB0L.js} +1 -1
  84. package/dist/assets/mount-B_Zjyqyk.js +1 -0
  85. package/dist/assets/{player-overlays-DyWZd37T.js → player-overlays-Cw_gjG75.js} +1 -1
  86. package/dist/assets/{recycle-uEKrRpl_.js → recycle-hW2Os1lc.js} +1 -1
  87. package/dist/assets/remoteEntry-CHuAXwj-.js +1 -0
  88. package/dist/assets/{ruler-Cf92fzAd.js → ruler-SYjqj9n_.js} +1 -1
  89. package/dist/assets/{scan-eye-_8TdtNzb.js → scan-eye-BZlKp5Ev.js} +1 -1
  90. package/dist/assets/{scissors-B9AK1nLy.js → scissors-Prn6Kbb7.js} +1 -1
  91. package/dist/assets/{search-x-CVEVpLBV.js → search-x-CCA8373c.js} +1 -1
  92. package/dist/assets/{send-CBO9g-_U.js → send-C5rCH5_0.js} +1 -1
  93. package/dist/assets/{settings-2-BSjF3kN4.js → settings-2-wlw_-rxi.js} +1 -1
  94. package/dist/assets/{shapes-BsX-8xUL.js → shapes-Kj0bK1D8.js} +1 -1
  95. package/dist/assets/{sigma-veVH6AL2.js → sigma-NPxR3lj1.js} +1 -1
  96. package/dist/assets/speaker-CIKbprnA.js +1 -0
  97. package/dist/assets/src-nnHXOip7.js +67 -0
  98. package/dist/assets/{step-inspector-model-BW-W62sj.js → step-inspector-model-BKKc_lkM.js} +1 -1
  99. package/dist/assets/{table-2-DfmXeNvT.js → table-2-Sw__YAPa.js} +1 -1
  100. package/dist/assets/{timer-reset-D9i5HPty.js → timer-reset-BhPZYoCT.js} +1 -1
  101. package/dist/assets/{unlink-Dsy3yrQn.js → unlink-DNy8sNAV.js} +1 -1
  102. package/dist/assets/{usb-taNjM8Y4.js → usb-CyQsTtlO.js} +1 -1
  103. package/dist/assets/{use-device-bound-caps-Dy9z5ssE.js → use-device-bound-caps-BQo_OD1O.js} +1 -1
  104. package/dist/assets/{use-scenes-feed-BMJYnt2p.js → use-scenes-feed-BCDAv1nN.js} +1 -1
  105. package/dist/assets/{use-stationary-objects-DKZYbXwz.js → use-stationary-objects-BnIfyZw5.js} +1 -1
  106. package/dist/assets/useEventInvalidation-B_Zjyqyk.js +1 -0
  107. package/dist/assets/{useNodeUrlSelection-BbrmxDID.js → useNodeUrlSelection-CR_BnlEg.js} +1 -1
  108. package/dist/assets/user-round-BY4YxbLZ.js +1 -0
  109. package/dist/assets/{user-x-LhbJK13A.js → user-x-CUkBojXx.js} +1 -1
  110. package/dist/assets/variable-CpgCMY_Q.js +1 -0
  111. package/dist/assets/{video-BiqduAcp.js → video-DXegVNA2.js} +1 -1
  112. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-_PsSzHuE.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-2LL0aB_0.js} +2 -2
  113. package/dist/index.html +10 -10
  114. package/dist/server/addon.js +928 -123
  115. package/package.json +1 -1
  116. package/dist/assets/Addons-D5S6sTN7.js +0 -5
  117. package/dist/assets/AiProfiles-BJhboAC6.js +0 -3
  118. package/dist/assets/BrokerEditorDialog-DsKGCg9y.js +0 -1
  119. package/dist/assets/Build-5sZQPjWb.js +0 -40
  120. package/dist/assets/Cluster-C104ZPJk.js +0 -1
  121. package/dist/assets/CompositionBlockEditor-DYg72AlP.js +0 -2
  122. package/dist/assets/Data-D4jDqmcs.js +0 -2
  123. package/dist/assets/DeviceDetail-8sreVV-i.js +0 -2
  124. package/dist/assets/History-9T3cw528.js +0 -1
  125. package/dist/assets/Identity-vSPkTQS9.js +0 -1
  126. package/dist/assets/IntegrationDetail-DwipvGcz.js +0 -1
  127. package/dist/assets/Integrations-9y5oqDxP.js +0 -1
  128. package/dist/assets/Integrations-ZJ4_tnkn.js +0 -1
  129. package/dist/assets/Library-Cdfp5QPG.js +0 -1
  130. package/dist/assets/Locations-BNiiWGXW.js +0 -3
  131. package/dist/assets/Network-7hIzFAXX.js +0 -1
  132. package/dist/assets/Notifications-dUvsPqSL.js +0 -1
  133. package/dist/assets/Pipeline-Bu7x636X.js +0 -1
  134. package/dist/assets/Recordings-BPIJtEGz.js +0 -1
  135. package/dist/assets/ScanNetworkModal-BQ5OlzZX.js +0 -1
  136. package/dist/assets/SessionsList-BF7BLjjI.js +0 -2
  137. package/dist/assets/System-BVsN5xi0.js +0 -1
  138. package/dist/assets/circle-slash-CORBdt2Z.js +0 -1
  139. package/dist/assets/client-DdGu3rlb.js +0 -674
  140. package/dist/assets/crop-AXhcNsdd.js +0 -1
  141. package/dist/assets/device-picker-model-DhYiPHjb.js +0 -1
  142. package/dist/assets/dist-CE4Thp2G.js +0 -674
  143. package/dist/assets/i18n-C-H4BlYV.js +0 -1
  144. package/dist/assets/icons-C7_2EHkF.js +0 -1
  145. package/dist/assets/index-CyYfrxyQ.js +0 -4
  146. package/dist/assets/index-DjwiZ7qT.css +0 -2
  147. package/dist/assets/mount-DhYiPHjb.js +0 -1
  148. package/dist/assets/remoteEntry-C0WZ_Eg2.js +0 -1
  149. package/dist/assets/speaker-JfimpXfG.js +0 -1
  150. package/dist/assets/src-DF4f-P3R.js +0 -67
  151. package/dist/assets/useEventInvalidation-DhYiPHjb.js +0 -1
  152. package/dist/assets/user-round-BioYT2Ju.js +0 -1
  153. package/dist/assets/variable-BnqMYwWo.js +0 -1
@@ -1 +1 @@
1
- import{C as e,J as t,K as n,R as r,S as i,V as a,Y as o,et as s,o as c,x as l}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 u,Ht as d,Vn as f,ea as p,ia as m,ii as h,na as g,ot as _,ra as v,st as y,vn as b}from"./player-overlays-DyWZd37T.js";import{Dr as x,Or as S,Sr as C,ar as w,br as ee,ir as T,kr as E,rr as D,xr as O,yi as te,yr as ne}from"./client-DdGu3rlb.js";import{l as re}from"./video-BiqduAcp.js";import{t as k}from"./shapes-BsX-8xUL.js";import{t as ie}from"./unlink-Dsy3yrQn.js";import{Ad as A,An as ae,Cr as oe,Et as j,Fd as M,Id as N,Ir as P,Ju as se,Ld as ce,Nr as le,Pr as ue,Tr as de,Xu as fe,Yu as pe,Zn as me,an as F,br as he,di as ge,fu as _e,jn as ve,oi as ye,qu as be,ri as I,wr as xe,wt as Se,xr as Ce,yr as we}from"./src-DF4f-P3R.js";import{t as L}from"./useTranslation-BJr-n0es.js";import{t as Te}from"./AdminPage-BVK_kyJp.js";import{C as Ee,S as R,T as z,_ as De,a as Oe,b as ke,c as Ae,d as je,f as Me,g as Ne,h as Pe,i as Fe,l as Ie,m as Le,n as Re,o as ze,p as Be,r as B,s as V,t as Ve,u as He,v as Ue,w as We,x as Ge,y as Ke}from"./RemoteGrid-BZbW8PeH.js";s();var H=12,U=4,W=3,G=(e,t,n,r,i,a={})=>({id:e,role:t,row:n,col:r,colSpan:i,...a}),K=e=>`custom:${e}`;function q(e,t,n=[]){return t.map((t,r)=>G(`r${e}c${r}`,t,e,r*U,U,{...n[r]===void 0?{}:{label:n[r]}}))}function J(e){return[G(`up`,`up`,e,U,U),G(`left`,`left`,e+1,0,U),G(`ok`,`ok`,e+1,U,U),G(`right`,`right`,e+1,2*U,U),G(`down`,`down`,e+2,U,U)]}function Y(e,t){return t.map((t,n)=>G(`app_${t}`,K(`app_${t}`),e,n*W,W,{icon:B(t)}))}var X=(e,t)=>({id:`core:section-divider`,row:e,col:0,options:{scale:{cols:H},title:t}});function qe(e,t,n){let r=V(H,e,t);for(let e of n){let t=w(r,D(e.id),{row:e.row,col:e.col},e.options);if(!t.ok)throw Error(`preset component ${e.id} at ${e.row}:${e.col}: ${t.reason}`);r=t.layout}return r}var Z={scale:{cols:U}},Je={scale:{rows:2,cols:U}},Ye=(e,t,n,r)=>({idSuffix:e,row:3,col:t,rowSpan:1,colSpan:1,role:n,label:r}),Xe=qe(23,[G(`input`,`input`,0,2*U,U),G(`mute`,`mute`,7,U,U),G(`ch_list`,K(`ch_list`),8,U,U,{label:`CH LIST`}),G(`settings`,K(`settings`),9,U,U,{label:`Settings`}),G(`home`,`home`,10,U,U),G(`guide`,`guide`,12,0,U),G(`e_manual`,K(`e_manual`),12,U,U,{label:`e-Manual`}),G(`info`,`info`,12,2*U,U),G(`back`,`back`,17,0,U),G(`exit`,`exit`,17,2*U,U),G(`color_a`,K(`color_a`),19,0,W,{label:`A`}),G(`color_b`,K(`color_b`),19,W,W,{label:`B`}),G(`color_c`,K(`color_c`),19,2*W,W,{label:`C`}),G(`color_d`,K(`color_d`),19,3*W,W,{label:`D`}),G(`pic_size`,K(`pic_size`),20,0,U,{label:`P.SIZE`}),G(`picture`,K(`picture`),20,U,U,{label:`Picture`}),G(`ad_subt`,K(`ad_subt`),20,2*U,U,{label:`AD/SUBT`})],[{id:`core:power`,row:0,col:0,options:{scale:{cols:2}}},X(1,`Numbers`),{id:`core:keypad`,row:2,col:0,options:{scale:Z.scale,extras:[Ye(`ttx`,0,K(`ttx_mix`),`TTX/MIX`),Ye(`prech`,2,K(`pre_ch`),`PRE-CH`)]}},X(6,`Volume and channels`),{id:`core:rocker-volume-v`,row:7,col:0,options:Je},{id:`core:rocker-channel-v`,row:7,col:2*U,options:Je},X(11,`Menus`),X(13,`Navigation`),{id:`core:dpad`,row:14,col:0,options:Z},X(18,`Colour and picture`),X(21,`Playback`),{id:`core:media-transport`,row:22,col:1,options:{scale:{cols:2}}}]),Ze=[`netflix`,`youtube`,`primevideo`,`disneyplus`,`dazn`,`raiplay`],Qe=qe(20,[G(`input`,`input`,0,2*U,U),...q(4,[`menu`,`home`,`exit`]),G(`guide`,`guide`,6,0,U),G(`info`,`info`,6,2*U,U),G(`back`,`back`,10,0,U),G(`play_pause`,`play_pause`,10,2*U,U),G(`mute`,`mute`,12,U,U),G(`ch_list`,K(`ch_list`),13,U,U,{label:`CH.LIST`}),G(`subtitle`,K(`subtitle`),14,0,6,{label:`Subtitle`}),G(`text`,K(`text`),14,6,6,{label:`Text`})],[{id:`core:power`,row:0,col:0,options:{scale:{cols:2}}},{id:`core:panel`,row:1,col:0,options:{scale:Z.scale,title:`Apps`,extras:Ze.map((e,t)=>({idSuffix:e,row:Math.floor(t/3),col:t%3,rowSpan:1,colSpan:1,role:K(`app_${e}`),icon:B(e)}))}},{id:`core:colour-keys`,row:3,col:0,options:{scale:{cols:W}}},X(5,`Navigation`),{id:`core:dpad`,row:7,col:0,options:Z},X(11,`Volume and channels`),{id:`core:rocker-volume-v`,row:12,col:0,options:Z},{id:`core:rocker-channel-v`,row:12,col:2*U,options:Z},X(15,`Numbers`),{id:`core:keypad`,row:16,col:0,options:Z}]),$e=V(H,8,[G(`power`,`power`,0,0,U),G(`input`,`input`,0,2*U,U),...J(1),...q(4,[`back`,`home`,`play_pause`]),G(`vol_up`,`volume_up`,5,0,U),G(`mute`,`mute`,5,U,U,{rowSpan:2}),G(`ch_up`,`channel_up`,5,2*U,U),G(`vol_down`,`volume_down`,6,0,U),G(`ch_down`,`channel_down`,6,2*U,U),...Y(7,[`netflix`,`primevideo`,`disneyplus`,`youtube`])]),et=V(H,9,[G(`power`,`power`,0,0,U),G(`input`,`input`,0,2*U,U),G(`settings`,K(`settings`),1,0,U,{label:`Settings`}),G(`up`,`up`,1,U,U),G(`guide`,`guide`,1,2*U,U),G(`left`,`left`,2,0,U),G(`ok`,`ok`,2,U,U),G(`right`,`right`,2,2*U,U),G(`back`,`back`,3,0,U),G(`down`,`down`,3,U,U),G(`home`,`home`,3,2*U,U),G(`vol_up`,`volume_up`,4,0,U,{rowSpan:2}),G(`vol_down`,`volume_down`,6,0,U,{rowSpan:2}),G(`mute`,`mute`,4,U,U),G(`info`,`info`,5,U,U),G(`menu`,`menu`,6,U,U),G(`exit`,`exit`,7,U,U),G(`ch_up`,`channel_up`,4,2*U,U,{rowSpan:2}),G(`ch_down`,`channel_down`,6,2*U,U,{rowSpan:2}),...Y(8,[`netflix`,`primevideo`,`disneyplus`,`youtube`])]),tt=V(H,8,[G(`assistant`,K(`assistant`),0,0,U,{label:`Assistant`}),G(`input`,`input`,0,U,U),G(`power`,`power`,0,2*U,U),...J(1),...q(4,[`back`,`home`,`guide`]),G(`vol_up`,`volume_up`,5,0,U),G(`mute`,`mute`,5,U,U),G(`ch_up`,`channel_up`,5,2*U,U),G(`vol_down`,`volume_down`,6,0,U),G(`play_pause`,`play_pause`,6,U,U),G(`ch_down`,`channel_down`,6,2*U,U),...Y(7,[`youtube`,`netflix`,`primevideo`,`disneyplus`])]),nt=V(H,7,[G(`siri`,K(`siri`),0,0,U,{label:`Siri`}),G(`power`,`power`,0,2*U,U),...J(1),...q(4,[`back`,`play_pause`,`home`]),G(`vol_up`,`volume_up`,5,0,6),G(`vol_down`,`volume_down`,5,6,6),G(`mute`,`mute`,6,U,U)]),rt=[{id:`samsung-classic`,layout:Xe},{id:`hisense-vidaa`,layout:Qe},{id:`samsung-smart`,layout:$e},{id:`lg-magic`,layout:et},{id:`google-tv`,layout:tt},{id:`apple-tv`,layout:nt}];function it(e){let t=rt.find(t=>t.id===e);return t===void 0?null:{...t.layout,buttons:t.layout.buttons.map(e=>({...e}))}}function at(e){let t=new Map;for(let n of e)for(let e of n)t.has(e.id)||t.set(e.id,e);let n=[...t.values()];return[...n.filter(e=>e.id.startsWith(`core:`)),...n.filter(e=>!e.id.startsWith(`core:`))]}function ot(e,t){let n=e.nameI18n;return n===void 0?e.name:t.startsWith(`it`)?n.it:n.en}function st(e){let t=w({columns:e.size.cols,rows:e.size.rows,buttons:[]},e,{row:0,col:0});return t.ok?t.layout:null}function ct(e,t,n,r){let i=t.trim().toLowerCase();return i===``?[...e]:e.filter(e=>ot(e,n).toLowerCase().includes(i)||r(e.category).toLowerCase().includes(i))}function lt(e,t){let n=T(e,t);return n!==null&&n>1}function ut(e,t,n={}){let r=n.fillWidth===!0?T(e,t):null,i=r===null||r<2?{}:{scale:{cols:r}};if(n.at!==void 0)return w(e,t,n.at,i);let a=w(e,t,{row:0,col:0},i);if(a.ok||a.reason===`outside`||a.reason===`too-many`)return a;for(let n=0;n<e.rows;n+=1)for(let r=0;r<e.columns;r+=1){let a=w(e,t,{row:n,col:r},i);if(a.ok)return a}return a}function dt({open:t,grid:n,onOpenChange:r,onPick:a}){let{t:o,i18n:s}=L();return i(we,{open:t,onOpenChange:r,children:e(Ce,{width:`lg`,placement:`sheet-on-mobile`,scroll:`body`,children:[i(xe,{children:i(de,{children:o(`remote.palette.title`)})}),i(he,{children:t&&i(ft,{grid:n,language:s.language,onPick:(e,t)=>{a(e,t),r(!1)}})})]})})}function ft({grid:t,language:r,onPick:a}){let{t:s}=L(),c=_e({}),[l,u]=o(``),[d,f]=o(!1),p=e=>s(`remote.palette.category.${e}`,e),m=ct(n(()=>at(c.data===void 0?[]:[c.data]),[c.data]),l,r,p),h=m.some(e=>lt(t,e));return c.isError?i(le,{title:s(`remote.palette.errorTitle`),message:c.error.message,onRetry:()=>void c.refetch()}):c.data===void 0?e(`div`,{className:`grid gap-2 sm:grid-cols-2`,"data-testid":`palette-loading`,children:[i(P,{className:`h-24`}),i(P,{className:`h-24`}),i(P,{className:`h-24`}),i(P,{className:`h-24`})]}):e(`div`,{className:`space-y-3`,children:[e(`div`,{className:`relative`,children:[i(b,{className:`pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-foreground-subtle`,"aria-hidden":!0}),i(M,{value:l,className:`pl-8`,placeholder:s(`remote.palette.search`),"aria-label":s(`remote.palette.search`),onChange:e=>u(e.target.value),"data-testid":`palette-search`})]}),h&&e(`label`,{className:`flex items-center gap-2 text-xs text-foreground-muted`,children:[i(me,{checked:d,onChange:e=>f(e.target.checked),"data-testid":`palette-fill-width`}),s(`remote.palette.fillWidth`)]}),m.length===0?i(ue,{icon:k,title:s(`remote.palette.emptyTitle`),description:s(`remote.palette.emptyDescription`)}):i(`ul`,{className:`grid gap-2 sm:grid-cols-2`,"data-testid":`palette-list`,children:m.map(e=>i(`li`,{children:i(pt,{component:e,language:r,category:p(e.category),onPick:()=>a(e,{fillWidth:d})})},e.id))})]})}function pt({component:t,language:r,category:a,onPick:o}){let{t:s}=L(),c=n(()=>st(t),[t]),l=ot(t,r);return e(`button`,{type:`button`,className:`flex h-full w-full items-center gap-3 rounded-lg border border-border bg-surface p-2 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"data-testid":`palette-item-${t.id}`,onClick:o,children:[i(`span`,{className:`w-20 shrink-0`,children:c!==null&&i(Ve,{grid:c,label:l,compact:!0})}),e(`span`,{className:`min-w-0`,children:[i(`span`,{className:`block truncate text-sm font-medium text-foreground`,children:l}),e(`span`,{className:`block truncate text-xs text-foreground-muted`,children:[a,` ·`,` `,s(`remote.palette.size`,{cols:t.size.cols,rows:t.size.rows})]})]})]})}function Q(e,t){let n=t.kind===`group`?je(e,t.id):e.buttons.find(e=>e.id===t.id);return n===void 0?void 0:{row:n.row,col:n.col,rowSpan:n.rowSpan,colSpan:n.colSpan}}function mt(e,t,n,r){return e.width<=0||e.height<=0?{row:0,col:0}:{col:Math.floor((n-e.left)/e.width*t.columns),row:Math.floor((r-e.top)/e.height*t.rows)}}function ht(e,t,n){return{row:n.row-(t.row-e.row),col:n.col-(t.col-e.col)}}function gt(e,t,n){return t.kind===`group`?Ue(e,t.id,n.row,n.col):De(e,t.id,n.row,n.col)}function _t(e,t,n){let r=Q(e,t);if(r===void 0)return null;let i=gt(e,t,n);return{rect:{...r,row:n.row,col:n.col},valid:i.status===`ok`,reason:i.status===`ok`?null:i.reason}}function vt(e){switch(e){case`ArrowUp`:return{dRow:-1,dCol:0};case`ArrowDown`:return{dRow:1,dCol:0};case`ArrowLeft`:return{dRow:0,dCol:-1};case`ArrowRight`:return{dRow:0,dCol:1};default:return null}}function yt(e,t,n,r){let i=Q(e,t);return i===void 0?{status:`refused`,reason:`unknown-button`}:gt(e,t,{row:i.row+n,col:i.col+r})}s();var bt=4;function xt(e,n,i){let[s,c]=o(null),l=t({grid:e,onDrop:i});l.current={grid:e,onDrop:i};let u=t(null),d=t(!1);return a(()=>()=>u.current?.(),[]),{drag:s,onItemPointerDown:r((e,t)=>{let r=n.current;if(r===null||t.button!==0)return;let i=r.getBoundingClientRect();if(Q(l.current.grid,e)===void 0)return;let a={item:e,startX:t.clientX,startY:t.clientY,grabbed:mt(i,l.current.grid,t.clientX,t.clientY),active:!1,target:null},o=e=>{if(!a.active){if(Math.hypot(e.clientX-a.startX,e.clientY-a.startY)<bt)return;a.active=!0}let t=l.current.grid,n=mt(r.getBoundingClientRect(),t,e.clientX,e.clientY),i=Q(t,a.item);i!==void 0&&(a.target=ht(i,a.grabbed,n),c({item:a.item,preview:_t(t,a.item,a.target)}))},s=e=>{window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,f),window.removeEventListener(`pointercancel`,p),window.removeEventListener(`keydown`,m),u.current=null,c(null),a.active&&(d.current=!0,window.setTimeout(()=>{d.current=!1},0),e&&a.target!==null&&l.current.onDrop(gt(l.current.grid,a.item,a.target)))},f=()=>s(!0),p=()=>s(!1),m=e=>{e.key===`Escape`&&s(!1)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,f),window.addEventListener(`pointercancel`,p),window.addEventListener(`keydown`,m),u.current=()=>s(!1)},[n]),consumeDragClick:r(()=>{let e=d.current;return d.current=!1,e},[])}}s();var St=`__custom__`;function Ct({value:n,onChange:r}){let{t:a}=L(),[s,c]=o(null),[l,d]=o(null),[f,p]=o(!1),m=t(null),h=s?.kind===`button`?s.id:null,g=s?.kind===`group`?s.id:null,_=n.buttons.find(e=>e.id===h)??null,v=g===null?void 0:je(n,g),y=(e,t)=>{if(e.status===`ok`){d(null),r(e.grid),t?.(e.grid);return}d(a(`remote.layout.refusal.${e.reason}`))},b=xt(n,m,e=>y(e));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:[i(j,{label:a(`remote.layout.columns`),children:i(F,{value:n.columns,onDelta:e=>y(Ge(n,n.columns+e,n.rows))})}),i(j,{label:a(`remote.layout.rows`),children:i(F,{value:n.rows,onDelta:e=>y(Ge(n,n.columns,n.rows+e))})})]}),i(Ve,{grid:n,label:a(`remote.layout.previewLabel`),selectedId:h,selectedGroupId:g,onSelect:e=>{b.consumeDragClick()||c({kind:`button`,id:e})},onSelectGroup:e=>{b.consumeDragClick()||c({kind:`group`,id:e})},showEmptyCells:!0,gridRef:m,drag:b.drag,onItemPointerDown:b.onItemPointerDown,onItemKeyDown:(e,t)=>{let r=vt(t.key);r!==null&&(t.preventDefault(),y(yt(n,e,r.dRow,r.dCol)))}}),i(`p`,{className:`text-xs text-foreground-subtle`,children:a(`remote.layout.dragHint`)}),e(`div`,{className:`flex flex-wrap gap-2`,children:[e(I,{variant:`outline`,size:`sm`,onClick:()=>p(!0),"data-testid":`remote-add-component`,children:[i(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),a(`remote.layout.addComponent`)]}),e(I,{variant:`outline`,size:`sm`,onClick:()=>y(ze(n,`ok`),e=>{let t=e.buttons.at(-1);c(t===void 0?null:{kind:`button`,id:t.id})}),"data-testid":`remote-add-button`,children:[i(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),a(`remote.layout.addButton`)]})]}),l!==null&&i(`p`,{role:`alert`,className:`text-xs text-warning`,"data-testid":`remote-layout-refusal`,children:l})]}),i(`div`,{className:`min-w-0`,children:_===null?v===void 0?i(`p`,{className:`text-xs text-foreground-subtle`,children:a(`remote.layout.selectHint`)}):i(Et,{grid:n,groupId:v.id,apply:y,onGone:()=>c(null)}):i(Tt,{grid:n,buttonId:_.id,apply:y,onRemove:()=>{r(Ke(n,_.id)),c(null),d(null)}})}),i(dt,{open:f,grid:n,onOpenChange:p,onPick:(e,t)=>{let i=ut(n,e,t);if(!i.ok){d(a(`remote.layout.refusal.${i.reason}`));return}d(null),r(i.layout);let o=i.buttonIds[0];c(i.groupId===null?o===void 0?null:{kind:`button`,id:o}:{kind:`group`,id:i.groupId})}})]})}function wt(e){return[...Oe.flatMap(t=>Le(t).map(n=>({value:n,label:e(`remote.role.${n}`,Me(n)),group:e(`remote.roleGroup.${t}`)}))),{value:St,label:e(`remote.layout.customRole`),group:e(`remote.roleGroup.custom`)}]}function Tt({grid:t,buttonId:n,apply:r,onRemove:a}){let{t:s}=L(),c=t.buttons.find(e=>e.id===n),l=c===void 0?null:x(c.role),[u,f]=o(null);if(c===void 0)return null;let h=Be(c.role)||u!==null,_=u??l??``,y=E(_),b={trigger:s(`remote.layout.pickIcon`),panel:s(`remote.layout.iconPanel`),searchPlaceholder:s(`deviceDisplay.iconSearchPlaceholder`),clear:s(`remote.layout.noIcon`),noMatches:s(`deviceDisplay.iconNoMatches`)},w=e=>s(`deviceDisplay.iconCategory.${e}`,{defaultValue:te(e)});return e(`div`,{className:`space-y-3 rounded-lg border border-border bg-surface p-3`,"data-testid":`remote-inspector`,children:[i(ye,{mode:`single`,singleDisplay:`field`,label:s(`remote.layout.role`),options:wt((e,t)=>s(e,t??e)),value:h?St:c.role,onChange:e=>{if(e===St){f(l??``);return}f(null),r(R(t,c.id,{role:e}))}}),h&&i(j,{label:s(`remote.layout.customKey`),..._!==``&&!y?{error:s(`remote.layout.customKeyInvalid`)}:{},children:i(M,{value:_,placeholder:`hdmi_1`,onChange:e=>{let n=e.target.value;f(n),E(n)&&r(R(t,c.id,{role:S(n)}))}})}),e(`div`,{className:`grid grid-cols-[auto_minmax(0,1fr)] items-end gap-2`,children:[i(j,{label:s(`remote.layout.icon`),children:i(ce,{value:c.icon??null,onPick:e=>r(R(t,c.id,{icon:e})),fallbackGlyph:k,categoryLabel:w,labels:b})}),i(j,{label:s(`remote.layout.label`),children:i(M,{value:c.label??``,maxLength:40,onChange:e=>r(R(t,c.id,{label:e.target.value}))})})]}),i(j,{label:s(`remote.layout.appIcon`),children:i(A,{value:Fe(c.icon)?.key??``,options:[{value:``,label:s(`remote.layout.noApp`)},...Re.map(e=>({value:e.key,label:e.label}))],onChange:e=>{let n=e.target.value;n===``?Fe(c.icon)!==void 0&&r(R(t,c.id,{icon:null})):r(R(t,c.id,{icon:B(n)}))},"data-testid":`remote-app-icon`})}),e(`div`,{className:`grid grid-cols-2 gap-3`,children:[i(j,{label:s(`remote.layout.shape`),children:i(A,{value:c.shape??``,options:[{value:``,label:s(`remote.layout.lookDefault`)},...O.map(e=>({value:e,label:s(`remote.layout.shapes.${e}`)}))],onChange:e=>{let n=O.find(t=>t===e.target.value);r(Ee(t,c.id,{shape:n??null}))},"data-testid":`remote-shape`})}),i(j,{label:s(`remote.layout.tone`),children:i(A,{value:c.tone??``,options:[{value:``,label:s(`remote.layout.lookDefault`)},...C.map(e=>({value:e,label:s(`remote.layout.tones.${e}`)}))],onChange:e=>{let n=C.find(t=>t===e.target.value);r(Ee(t,c.id,{tone:n??null}))},"data-testid":`remote-tone`})})]}),e(`div`,{className:`grid grid-cols-2 gap-3`,children:[i(j,{label:s(`remote.layout.move`),children:e(`div`,{className:`flex items-center gap-1`,children:[i(N,{icon:v,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveLeft`),onClick:()=>r(z(t,c.id,0,-1))}),i(N,{icon:p,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveUp`),onClick:()=>r(z(t,c.id,-1,0))}),i(N,{icon:m,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveDown`),onClick:()=>r(z(t,c.id,1,0))}),i(N,{icon:g,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveRight`),onClick:()=>r(z(t,c.id,0,1))})]})}),i(j,{label:s(`remote.layout.position`),children:i(`p`,{className:`text-xs text-foreground-muted`,"data-testid":`remote-position`,children:s(`remote.layout.positionValue`,{row:c.row+1,col:c.col+1})})}),i(j,{label:s(`remote.layout.height`),children:i(F,{value:c.rowSpan,onDelta:e=>r(ke(t,c.id,c.rowSpan+e,c.colSpan))})}),i(j,{label:s(`remote.layout.width`),children:i(F,{value:c.colSpan,onDelta:e=>r(ke(t,c.id,c.rowSpan,c.colSpan+e))})})]}),e(I,{variant:`danger`,size:`sm`,onClick:a,children:[i(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),s(`remote.layout.removeButton`)]})]})}function Et({grid:t,groupId:n,apply:r,onGone:a}){let{t:o}=L(),s=je(t,n);if(s===void 0)return null;let c=Ne(t,n).length;return e(`div`,{className:`space-y-3 rounded-lg border border-border bg-surface p-3`,"data-testid":`remote-group-inspector`,children:[i(`p`,{className:`text-xs text-foreground-muted`,children:o(`remote.layout.groupSummary`,{frame:o(`remote.layout.frames.${s.frame}`,s.frame),count:c,row:s.row+1,col:s.col+1})}),i(j,{label:o(`remote.layout.groupTitle`),children:i(M,{value:s.title??``,maxLength:40,onChange:e=>r(We(t,s.id,e.target.value)),"data-testid":`remote-group-title`})}),e(`div`,{className:`flex flex-wrap gap-2`,children:[e(I,{variant:`outline`,size:`sm`,"data-testid":`remote-group-ungroup`,onClick:()=>{r(Ie(t,s.id,!0)),a()},children:[i(ie,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),o(`remote.layout.ungroup`)]}),e(I,{variant:`danger`,size:`sm`,"data-testid":`remote-group-delete`,onClick:()=>{r(Ie(t,s.id,!1)),a()},children:[i(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),o(`remote.layout.deleteGroup`)]})]})]})}var Dt={remote:{label:e=>e(`remote.templates.kind.remote`),emptyPayload:He,summary:(e,t)=>{let n=Pe(e);return t(`remote.templates.layoutSummary`,{columns:n.columns,rows:n.rows,count:n.buttons.length})},renderEditor:(e,t)=>i(Ct,{value:Pe(e),onChange:t}),isSavable:e=>Ae(Pe(e))!==null,presets:e=>rt.map(t=>({id:t.id,label:e(`remote.templates.preset.${t.id}`),payload:()=>it(t.id)}))}};function $(e){return Dt[e]}var Ot=ne;function kt(e,t){let n=ee(e,t);return n.ok?n.payload:null}s();function At({draft:e,saving:t,error:n,onSave:r,onClose:a}){return i(we,{open:e!==null,onOpenChange:e=>!e&&a(),children:i(Ce,{width:`xl`,placement:`sheet-on-mobile`,scroll:`body`,children:e!==null&&i(jt,{draft:e,saving:t,error:n,onSave:r,onClose:a},e.id??`new`)})})}function jt({draft:t,saving:n,error:r,onSave:a,onClose:s}){let{t:c}=L(),[u,d]=o(t.kind),[f,p]=o(t.name),[m,h]=o(t.payload),[g,_]=o(``),v=$(u),y=v.presets(c),b=kt(u,m),x=f.trim()!==``&&b!==null&&v.isSavable(m)&&!n;return e(l,{children:[i(xe,{children:i(de,{children:t.id===null?c(`remote.templates.newTitle`):c(`remote.templates.editTitle`)})}),e(he,{className:`space-y-4`,children:[e(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[i(j,{label:c(`remote.templates.name`),children:i(M,{value:f,maxLength:120,onChange:e=>p(e.target.value),"data-testid":`template-name`})}),t.id===null&&Ot.length>1&&i(j,{label:c(`remote.templates.kind.label`),children:i(A,{value:u,options:Ot.map(e=>({value:e,label:$(e).label(c)})),onChange:e=>{let t=Ot.find(t=>t===e.target.value);t!==void 0&&(d(t),h($(t).emptyPayload()),_(``))}})}),t.id===null&&y.length>0&&i(j,{label:c(`remote.templates.startFrom`),children:i(A,{value:g,options:[{value:``,label:c(`remote.templates.startBlank`)},...y.map(e=>({value:e.id,label:e.label}))],onChange:e=>{let t=y.find(t=>t.id===e.target.value);_(t?.id??``),h(t===void 0?v.emptyPayload():t.payload()),t!==void 0&&f.trim()===``&&p(t.label)},"data-testid":`template-preset`})})]}),v.renderEditor(m,h),r!==null&&i(`p`,{role:`alert`,className:`text-xs text-danger`,children:r})]}),e(oe,{children:[i(I,{variant:`ghost`,onClick:s,children:c(`common.cancel`)}),i(I,{disabled:!x,onClick:()=>a({id:t.id,kind:u,name:f.trim(),payload:b}),"data-testid":`template-save`,children:c(`common.save`)})]})]})}s();var Mt=ne[0];function Nt(){let{t}=L(),r=c(),a=pe({}),s=be(),l=fe(),p=se(),m=y(),g=_(),[v,b]=o(null),[x,S]=o(null),C=()=>void r.invalidateQueries({queryKey:[[`template`]]}),w=async e=>{S(null);try{let t=e.id===null?await s.mutateAsync({kind:e.kind,name:e.name,payload:e.payload}):await l.mutateAsync({id:e.id,name:e.name,payload:e.payload});if(t.status===`refused`){S(t.detail);return}C(),b(null)}catch(e){S(e instanceof Error?e.message:String(e))}},ee=async e=>{try{await s.mutateAsync({kind:e.kind,name:t(`remote.templates.copyName`,{name:e.name}),payload:e.payload}),C()}catch(e){await g({title:t(`remote.templates.duplicateFailed`),message:e instanceof Error?e.message:String(e),variant:`danger`})}},T=async e=>{if(await m({title:t(`remote.templates.deleteTitle`,{name:e.name}),message:t(`remote.templates.deleteMessage`),confirmLabel:t(`common.delete`),variant:`danger`}))try{let n=await p.mutateAsync({id:e.id});if(n.status===`in-use`){await g({title:t(`remote.templates.inUseTitle`,{name:e.name}),message:t(`remote.templates.inUseMessage`,{devices:n.devices.map(e=>e.name).join(`, `)}),variant:`warning`});return}C()}catch(e){await g({title:t(`remote.templates.deleteFailed`),message:e instanceof Error?e.message:String(e),variant:`danger`})}},E=n(()=>[{key:`name`,header:t(`remote.templates.name`),sortValue:e=>e.name.toLowerCase(),render:e=>i(`span`,{className:`font-medium text-foreground`,children:e.name})},{key:`kind`,header:t(`remote.templates.kind.label`),sortValue:e=>e.kind,render:e=>i(ge,{variant:`neutral`,children:$(e.kind).label(t)})},{key:`summary`,header:t(`remote.templates.summary`),notSortableReason:`A sentence built from the payload.`,render:e=>i(`span`,{className:`text-foreground-muted`,children:$(e.kind).summary(e.payload,t)})},{key:`updated`,header:t(`remote.templates.updated`),sortValue:e=>e.updatedAt,render:e=>i(`span`,{className:`text-foreground-muted`,children:new Date(e.updatedAt).toLocaleDateString()})},{key:`actions`,align:`right`,notSortableReason:`Row actions.`,render:e=>i(Se,{title:t(`remote.templates.actionsFor`,{name:e.name}),items:[{id:`edit`,label:t(`common.edit`),icon:f,onClick:()=>{S(null),b({id:e.id,kind:e.kind,name:e.name,payload:e.payload})}},{id:`duplicate`,label:t(`remote.templates.duplicate`),icon:h,onClick:()=>void ee(e)},{id:`delete`,label:t(`common.delete`),icon:d,danger:!0,onClick:()=>void T(e)}]})}],[t]),D=a.data??[],O=()=>{S(null),b({id:null,kind:Mt,name:``,payload:$(Mt).emptyPayload()})};return e(Te,{icon:re,title:t(`remote.templates.title`),subtitle:t(`remote.templates.subtitle`),actions:e(I,{size:`sm`,onClick:O,"data-testid":`template-new`,children:[i(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),t(`remote.templates.new`)]}),children:[a.status===`error`?i(le,{title:t(`remote.templates.loadFailed`),message:a.error.message,onRetry:()=>void a.refetch()}):a.data===void 0?i(P,{className:`h-32 w-full`}):D.length===0?i(ue,{icon:re,title:t(`remote.templates.emptyTitle`),description:t(`remote.templates.emptyDescription`),action:i(I,{size:`sm`,onClick:O,children:t(`remote.templates.new`)})}):i(ae,{columns:E,rows:D,rowKey:e=>e.id,maxBodyHeight:ve,defaultSort:{columnKey:`name`,dir:`asc`},onRowClick:e=>{S(null),b({id:e.id,kind:e.kind,name:e.name,payload:e.payload})}}),i(At,{draft:v,saving:s.isPending||l.isPending,error:x,onSave:e=>void w(e),onClose:()=>b(null)})]})}export{Nt as TemplatesPage};
1
+ import{C as e,J as t,K as n,R as r,S as i,V as a,Y as o,et as s,o as c,x as l}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CEyXHAdg.js";import{Hn as u,Ht as d,In as f,aa as p,ai as m,ia as h,ot as g,ra as _,st as v,ta as y,vn as b}from"./player-overlays-Cw_gjG75.js";import{Dr as x,Or as S,Sr as C,ar as w,br as ee,ir as T,kr as E,rr as D,xr as O,yi as te,yr as ne}from"./client-r4i0EpF6.js";import{l as re}from"./video-DXegVNA2.js";import{t as k}from"./shapes-Kj0bK1D8.js";import{t as ie}from"./unlink-DNy8sNAV.js";import{An as ae,Bd as oe,Cr as se,Et as A,Ir as j,Nd as M,Nr as ce,Pr as le,Qu as ue,Rd as N,Tr as de,Xu as fe,Yu as pe,Zn as me,Zu as he,an as P,br as ge,di as _e,jn as ve,mu as ye,oi as be,ri as F,wr as xe,wt as Se,xr as Ce,yr as we,zd as I}from"./src-nnHXOip7.js";import{t as L}from"./useTranslation-BJr-n0es.js";import{t as Te}from"./AdminPage-7avIuDBh.js";import{C as Ee,S as R,T as z,_ as De,a as Oe,b as ke,c as Ae,d as je,f as Me,g as Ne,h as Pe,i as Fe,l as Ie,m as Le,n as Re,o as ze,p as Be,r as B,s as V,t as Ve,u as He,v as Ue,w as We,x as Ge,y as Ke}from"./RemoteGrid-Bz_u9tq6.js";s();var H=12,U=4,W=3,G=(e,t,n,r,i,a={})=>({id:e,role:t,row:n,col:r,colSpan:i,...a}),K=e=>`custom:${e}`;function q(e,t,n=[]){return t.map((t,r)=>G(`r${e}c${r}`,t,e,r*U,U,{...n[r]===void 0?{}:{label:n[r]}}))}function J(e){return[G(`up`,`up`,e,U,U),G(`left`,`left`,e+1,0,U),G(`ok`,`ok`,e+1,U,U),G(`right`,`right`,e+1,2*U,U),G(`down`,`down`,e+2,U,U)]}function Y(e,t){return t.map((t,n)=>G(`app_${t}`,K(`app_${t}`),e,n*W,W,{icon:B(t)}))}var X=(e,t)=>({id:`core:section-divider`,row:e,col:0,options:{scale:{cols:H},title:t}});function qe(e,t,n){let r=V(H,e,t);for(let e of n){let t=w(r,D(e.id),{row:e.row,col:e.col},e.options);if(!t.ok)throw Error(`preset component ${e.id} at ${e.row}:${e.col}: ${t.reason}`);r=t.layout}return r}var Z={scale:{cols:U}},Je={scale:{rows:2,cols:U}},Ye=(e,t,n,r)=>({idSuffix:e,row:3,col:t,rowSpan:1,colSpan:1,role:n,label:r}),Xe=qe(23,[G(`input`,`input`,0,2*U,U),G(`mute`,`mute`,7,U,U),G(`ch_list`,K(`ch_list`),8,U,U,{label:`CH LIST`}),G(`settings`,K(`settings`),9,U,U,{label:`Settings`}),G(`home`,`home`,10,U,U),G(`guide`,`guide`,12,0,U),G(`e_manual`,K(`e_manual`),12,U,U,{label:`e-Manual`}),G(`info`,`info`,12,2*U,U),G(`back`,`back`,17,0,U),G(`exit`,`exit`,17,2*U,U),G(`color_a`,K(`color_a`),19,0,W,{label:`A`}),G(`color_b`,K(`color_b`),19,W,W,{label:`B`}),G(`color_c`,K(`color_c`),19,2*W,W,{label:`C`}),G(`color_d`,K(`color_d`),19,3*W,W,{label:`D`}),G(`pic_size`,K(`pic_size`),20,0,U,{label:`P.SIZE`}),G(`picture`,K(`picture`),20,U,U,{label:`Picture`}),G(`ad_subt`,K(`ad_subt`),20,2*U,U,{label:`AD/SUBT`})],[{id:`core:power`,row:0,col:0,options:{scale:{cols:2}}},X(1,`Numbers`),{id:`core:keypad`,row:2,col:0,options:{scale:Z.scale,extras:[Ye(`ttx`,0,K(`ttx_mix`),`TTX/MIX`),Ye(`prech`,2,K(`pre_ch`),`PRE-CH`)]}},X(6,`Volume and channels`),{id:`core:rocker-volume-v`,row:7,col:0,options:Je},{id:`core:rocker-channel-v`,row:7,col:2*U,options:Je},X(11,`Menus`),X(13,`Navigation`),{id:`core:dpad`,row:14,col:0,options:Z},X(18,`Colour and picture`),X(21,`Playback`),{id:`core:media-transport`,row:22,col:1,options:{scale:{cols:2}}}]),Ze=[`netflix`,`youtube`,`primevideo`,`disneyplus`,`dazn`,`raiplay`],Qe=qe(20,[G(`input`,`input`,0,2*U,U),...q(4,[`menu`,`home`,`exit`]),G(`guide`,`guide`,6,0,U),G(`info`,`info`,6,2*U,U),G(`back`,`back`,10,0,U),G(`play_pause`,`play_pause`,10,2*U,U),G(`mute`,`mute`,12,U,U),G(`ch_list`,K(`ch_list`),13,U,U,{label:`CH.LIST`}),G(`subtitle`,K(`subtitle`),14,0,6,{label:`Subtitle`}),G(`text`,K(`text`),14,6,6,{label:`Text`})],[{id:`core:power`,row:0,col:0,options:{scale:{cols:2}}},{id:`core:panel`,row:1,col:0,options:{scale:Z.scale,title:`Apps`,extras:Ze.map((e,t)=>({idSuffix:e,row:Math.floor(t/3),col:t%3,rowSpan:1,colSpan:1,role:K(`app_${e}`),icon:B(e)}))}},{id:`core:colour-keys`,row:3,col:0,options:{scale:{cols:W}}},X(5,`Navigation`),{id:`core:dpad`,row:7,col:0,options:Z},X(11,`Volume and channels`),{id:`core:rocker-volume-v`,row:12,col:0,options:Z},{id:`core:rocker-channel-v`,row:12,col:2*U,options:Z},X(15,`Numbers`),{id:`core:keypad`,row:16,col:0,options:Z}]),$e=V(H,8,[G(`power`,`power`,0,0,U),G(`input`,`input`,0,2*U,U),...J(1),...q(4,[`back`,`home`,`play_pause`]),G(`vol_up`,`volume_up`,5,0,U),G(`mute`,`mute`,5,U,U,{rowSpan:2}),G(`ch_up`,`channel_up`,5,2*U,U),G(`vol_down`,`volume_down`,6,0,U),G(`ch_down`,`channel_down`,6,2*U,U),...Y(7,[`netflix`,`primevideo`,`disneyplus`,`youtube`])]),et=V(H,9,[G(`power`,`power`,0,0,U),G(`input`,`input`,0,2*U,U),G(`settings`,K(`settings`),1,0,U,{label:`Settings`}),G(`up`,`up`,1,U,U),G(`guide`,`guide`,1,2*U,U),G(`left`,`left`,2,0,U),G(`ok`,`ok`,2,U,U),G(`right`,`right`,2,2*U,U),G(`back`,`back`,3,0,U),G(`down`,`down`,3,U,U),G(`home`,`home`,3,2*U,U),G(`vol_up`,`volume_up`,4,0,U,{rowSpan:2}),G(`vol_down`,`volume_down`,6,0,U,{rowSpan:2}),G(`mute`,`mute`,4,U,U),G(`info`,`info`,5,U,U),G(`menu`,`menu`,6,U,U),G(`exit`,`exit`,7,U,U),G(`ch_up`,`channel_up`,4,2*U,U,{rowSpan:2}),G(`ch_down`,`channel_down`,6,2*U,U,{rowSpan:2}),...Y(8,[`netflix`,`primevideo`,`disneyplus`,`youtube`])]),tt=V(H,8,[G(`assistant`,K(`assistant`),0,0,U,{label:`Assistant`}),G(`input`,`input`,0,U,U),G(`power`,`power`,0,2*U,U),...J(1),...q(4,[`back`,`home`,`guide`]),G(`vol_up`,`volume_up`,5,0,U),G(`mute`,`mute`,5,U,U),G(`ch_up`,`channel_up`,5,2*U,U),G(`vol_down`,`volume_down`,6,0,U),G(`play_pause`,`play_pause`,6,U,U),G(`ch_down`,`channel_down`,6,2*U,U),...Y(7,[`youtube`,`netflix`,`primevideo`,`disneyplus`])]),nt=V(H,7,[G(`siri`,K(`siri`),0,0,U,{label:`Siri`}),G(`power`,`power`,0,2*U,U),...J(1),...q(4,[`back`,`play_pause`,`home`]),G(`vol_up`,`volume_up`,5,0,6),G(`vol_down`,`volume_down`,5,6,6),G(`mute`,`mute`,6,U,U)]),rt=[{id:`samsung-classic`,layout:Xe},{id:`hisense-vidaa`,layout:Qe},{id:`samsung-smart`,layout:$e},{id:`lg-magic`,layout:et},{id:`google-tv`,layout:tt},{id:`apple-tv`,layout:nt}];function it(e){let t=rt.find(t=>t.id===e);return t===void 0?null:{...t.layout,buttons:t.layout.buttons.map(e=>({...e}))}}function at(e){let t=new Map;for(let n of e)for(let e of n)t.has(e.id)||t.set(e.id,e);let n=[...t.values()];return[...n.filter(e=>e.id.startsWith(`core:`)),...n.filter(e=>!e.id.startsWith(`core:`))]}function ot(e,t){let n=e.nameI18n;return n===void 0?e.name:t.startsWith(`it`)?n.it:n.en}function st(e){let t=w({columns:e.size.cols,rows:e.size.rows,buttons:[]},e,{row:0,col:0});return t.ok?t.layout:null}function ct(e,t,n,r){let i=t.trim().toLowerCase();return i===``?[...e]:e.filter(e=>ot(e,n).toLowerCase().includes(i)||r(e.category).toLowerCase().includes(i))}function lt(e,t){let n=T(e,t);return n!==null&&n>1}function ut(e,t,n={}){let r=n.fillWidth===!0?T(e,t):null,i=r===null||r<2?{}:{scale:{cols:r}};if(n.at!==void 0)return w(e,t,n.at,i);let a=w(e,t,{row:0,col:0},i);if(a.ok||a.reason===`outside`||a.reason===`too-many`)return a;for(let n=0;n<e.rows;n+=1)for(let r=0;r<e.columns;r+=1){let a=w(e,t,{row:n,col:r},i);if(a.ok)return a}return a}function dt({open:t,grid:n,onOpenChange:r,onPick:a}){let{t:o,i18n:s}=L();return i(we,{open:t,onOpenChange:r,children:e(Ce,{width:`lg`,placement:`sheet-on-mobile`,scroll:`body`,children:[i(xe,{children:i(de,{children:o(`remote.palette.title`)})}),i(ge,{children:t&&i(ft,{grid:n,language:s.language,onPick:(e,t)=>{a(e,t),r(!1)}})})]})})}function ft({grid:t,language:r,onPick:a}){let{t:s}=L(),c=ye({}),[l,u]=o(``),[d,f]=o(!1),p=e=>s(`remote.palette.category.${e}`,e),m=ct(n(()=>at(c.data===void 0?[]:[c.data]),[c.data]),l,r,p),h=m.some(e=>lt(t,e));return c.isError?i(ce,{title:s(`remote.palette.errorTitle`),message:c.error.message,onRetry:()=>void c.refetch()}):c.data===void 0?e(`div`,{className:`grid gap-2 sm:grid-cols-2`,"data-testid":`palette-loading`,children:[i(j,{className:`h-24`}),i(j,{className:`h-24`}),i(j,{className:`h-24`}),i(j,{className:`h-24`})]}):e(`div`,{className:`space-y-3`,children:[e(`div`,{className:`relative`,children:[i(b,{className:`pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-foreground-subtle`,"aria-hidden":!0}),i(N,{value:l,className:`pl-8`,placeholder:s(`remote.palette.search`),"aria-label":s(`remote.palette.search`),onChange:e=>u(e.target.value),"data-testid":`palette-search`})]}),h&&e(`label`,{className:`flex items-center gap-2 text-xs text-foreground-muted`,children:[i(me,{checked:d,onChange:e=>f(e.target.checked),"data-testid":`palette-fill-width`}),s(`remote.palette.fillWidth`)]}),m.length===0?i(le,{icon:k,title:s(`remote.palette.emptyTitle`),description:s(`remote.palette.emptyDescription`)}):i(`ul`,{className:`grid gap-2 sm:grid-cols-2`,"data-testid":`palette-list`,children:m.map(e=>i(`li`,{children:i(pt,{component:e,language:r,category:p(e.category),onPick:()=>a(e,{fillWidth:d})})},e.id))})]})}function pt({component:t,language:r,category:a,onPick:o}){let{t:s}=L(),c=n(()=>st(t),[t]),l=ot(t,r);return e(`button`,{type:`button`,className:`flex h-full w-full items-center gap-3 rounded-lg border border-border bg-surface p-2 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"data-testid":`palette-item-${t.id}`,onClick:o,children:[i(`span`,{className:`w-20 shrink-0`,children:c!==null&&i(Ve,{grid:c,label:l,compact:!0})}),e(`span`,{className:`min-w-0`,children:[i(`span`,{className:`block truncate text-sm font-medium text-foreground`,children:l}),e(`span`,{className:`block truncate text-xs text-foreground-muted`,children:[a,` ·`,` `,s(`remote.palette.size`,{cols:t.size.cols,rows:t.size.rows})]})]})]})}function Q(e,t){let n=t.kind===`group`?je(e,t.id):e.buttons.find(e=>e.id===t.id);return n===void 0?void 0:{row:n.row,col:n.col,rowSpan:n.rowSpan,colSpan:n.colSpan}}function mt(e,t,n,r){return e.width<=0||e.height<=0?{row:0,col:0}:{col:Math.floor((n-e.left)/e.width*t.columns),row:Math.floor((r-e.top)/e.height*t.rows)}}function ht(e,t,n){return{row:n.row-(t.row-e.row),col:n.col-(t.col-e.col)}}function gt(e,t,n){return t.kind===`group`?Ue(e,t.id,n.row,n.col):De(e,t.id,n.row,n.col)}function _t(e,t,n){let r=Q(e,t);if(r===void 0)return null;let i=gt(e,t,n);return{rect:{...r,row:n.row,col:n.col},valid:i.status===`ok`,reason:i.status===`ok`?null:i.reason}}function vt(e){switch(e){case`ArrowUp`:return{dRow:-1,dCol:0};case`ArrowDown`:return{dRow:1,dCol:0};case`ArrowLeft`:return{dRow:0,dCol:-1};case`ArrowRight`:return{dRow:0,dCol:1};default:return null}}function yt(e,t,n,r){let i=Q(e,t);return i===void 0?{status:`refused`,reason:`unknown-button`}:gt(e,t,{row:i.row+n,col:i.col+r})}s();var bt=4;function xt(e,n,i){let[s,c]=o(null),l=t({grid:e,onDrop:i});l.current={grid:e,onDrop:i};let u=t(null),d=t(!1);return a(()=>()=>u.current?.(),[]),{drag:s,onItemPointerDown:r((e,t)=>{let r=n.current;if(r===null||t.button!==0)return;let i=r.getBoundingClientRect();if(Q(l.current.grid,e)===void 0)return;let a={item:e,startX:t.clientX,startY:t.clientY,grabbed:mt(i,l.current.grid,t.clientX,t.clientY),active:!1,target:null},o=e=>{if(!a.active){if(Math.hypot(e.clientX-a.startX,e.clientY-a.startY)<bt)return;a.active=!0}let t=l.current.grid,n=mt(r.getBoundingClientRect(),t,e.clientX,e.clientY),i=Q(t,a.item);i!==void 0&&(a.target=ht(i,a.grabbed,n),c({item:a.item,preview:_t(t,a.item,a.target)}))},s=e=>{window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,f),window.removeEventListener(`pointercancel`,p),window.removeEventListener(`keydown`,m),u.current=null,c(null),a.active&&(d.current=!0,window.setTimeout(()=>{d.current=!1},0),e&&a.target!==null&&l.current.onDrop(gt(l.current.grid,a.item,a.target)))},f=()=>s(!0),p=()=>s(!1),m=e=>{e.key===`Escape`&&s(!1)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,f),window.addEventListener(`pointercancel`,p),window.addEventListener(`keydown`,m),u.current=()=>s(!1)},[n]),consumeDragClick:r(()=>{let e=d.current;return d.current=!1,e},[])}}s();var St=`__custom__`;function Ct({value:n,onChange:r}){let{t:a}=L(),[s,c]=o(null),[l,u]=o(null),[d,p]=o(!1),m=t(null),h=s?.kind===`button`?s.id:null,g=s?.kind===`group`?s.id:null,_=n.buttons.find(e=>e.id===h)??null,v=g===null?void 0:je(n,g),y=(e,t)=>{if(e.status===`ok`){u(null),r(e.grid),t?.(e.grid);return}u(a(`remote.layout.refusal.${e.reason}`))},b=xt(n,m,e=>y(e));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:[i(A,{label:a(`remote.layout.columns`),children:i(P,{value:n.columns,onDelta:e=>y(Ge(n,n.columns+e,n.rows))})}),i(A,{label:a(`remote.layout.rows`),children:i(P,{value:n.rows,onDelta:e=>y(Ge(n,n.columns,n.rows+e))})})]}),i(Ve,{grid:n,label:a(`remote.layout.previewLabel`),selectedId:h,selectedGroupId:g,onSelect:e=>{b.consumeDragClick()||c({kind:`button`,id:e})},onSelectGroup:e=>{b.consumeDragClick()||c({kind:`group`,id:e})},showEmptyCells:!0,gridRef:m,drag:b.drag,onItemPointerDown:b.onItemPointerDown,onItemKeyDown:(e,t)=>{let r=vt(t.key);r!==null&&(t.preventDefault(),y(yt(n,e,r.dRow,r.dCol)))}}),i(`p`,{className:`text-xs text-foreground-subtle`,children:a(`remote.layout.dragHint`)}),e(`div`,{className:`flex flex-wrap gap-2`,children:[e(F,{variant:`outline`,size:`sm`,onClick:()=>p(!0),"data-testid":`remote-add-component`,children:[i(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),a(`remote.layout.addComponent`)]}),e(F,{variant:`outline`,size:`sm`,onClick:()=>y(ze(n,`ok`),e=>{let t=e.buttons.at(-1);c(t===void 0?null:{kind:`button`,id:t.id})}),"data-testid":`remote-add-button`,children:[i(f,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),a(`remote.layout.addButton`)]})]}),l!==null&&i(`p`,{role:`alert`,className:`text-xs text-warning`,"data-testid":`remote-layout-refusal`,children:l})]}),i(`div`,{className:`min-w-0`,children:_===null?v===void 0?i(`p`,{className:`text-xs text-foreground-subtle`,children:a(`remote.layout.selectHint`)}):i(Et,{grid:n,groupId:v.id,apply:y,onGone:()=>c(null)}):i(Tt,{grid:n,buttonId:_.id,apply:y,onRemove:()=>{r(Ke(n,_.id)),c(null),u(null)}})}),i(dt,{open:d,grid:n,onOpenChange:p,onPick:(e,t)=>{let i=ut(n,e,t);if(!i.ok){u(a(`remote.layout.refusal.${i.reason}`));return}u(null),r(i.layout);let o=i.buttonIds[0];c(i.groupId===null?o===void 0?null:{kind:`button`,id:o}:{kind:`group`,id:i.groupId})}})]})}function wt(e){return[...Oe.flatMap(t=>Le(t).map(n=>({value:n,label:e(`remote.role.${n}`,Me(n)),group:e(`remote.roleGroup.${t}`)}))),{value:St,label:e(`remote.layout.customRole`),group:e(`remote.roleGroup.custom`)}]}function Tt({grid:t,buttonId:n,apply:r,onRemove:a}){let{t:s}=L(),c=t.buttons.find(e=>e.id===n),l=c===void 0?null:x(c.role),[u,f]=o(null);if(c===void 0)return null;let m=Be(c.role)||u!==null,g=u??l??``,v=E(g),b={trigger:s(`remote.layout.pickIcon`),panel:s(`remote.layout.iconPanel`),searchPlaceholder:s(`deviceDisplay.iconSearchPlaceholder`),clear:s(`remote.layout.noIcon`),noMatches:s(`deviceDisplay.iconNoMatches`)},w=e=>s(`deviceDisplay.iconCategory.${e}`,{defaultValue:te(e)});return e(`div`,{className:`space-y-3 rounded-lg border border-border bg-surface p-3`,"data-testid":`remote-inspector`,children:[i(be,{mode:`single`,singleDisplay:`field`,label:s(`remote.layout.role`),options:wt((e,t)=>s(e,t??e)),value:m?St:c.role,onChange:e=>{if(e===St){f(l??``);return}f(null),r(R(t,c.id,{role:e}))}}),m&&i(A,{label:s(`remote.layout.customKey`),...g!==``&&!v?{error:s(`remote.layout.customKeyInvalid`)}:{},children:i(N,{value:g,placeholder:`hdmi_1`,onChange:e=>{let n=e.target.value;f(n),E(n)&&r(R(t,c.id,{role:S(n)}))}})}),e(`div`,{className:`grid grid-cols-[auto_minmax(0,1fr)] items-end gap-2`,children:[i(A,{label:s(`remote.layout.icon`),children:i(oe,{value:c.icon??null,onPick:e=>r(R(t,c.id,{icon:e})),fallbackGlyph:k,categoryLabel:w,labels:b})}),i(A,{label:s(`remote.layout.label`),children:i(N,{value:c.label??``,maxLength:40,onChange:e=>r(R(t,c.id,{label:e.target.value}))})})]}),i(A,{label:s(`remote.layout.appIcon`),children:i(M,{value:Fe(c.icon)?.key??``,options:[{value:``,label:s(`remote.layout.noApp`)},...Re.map(e=>({value:e.key,label:e.label}))],onChange:e=>{let n=e.target.value;n===``?Fe(c.icon)!==void 0&&r(R(t,c.id,{icon:null})):r(R(t,c.id,{icon:B(n)}))},"data-testid":`remote-app-icon`})}),e(`div`,{className:`grid grid-cols-2 gap-3`,children:[i(A,{label:s(`remote.layout.shape`),children:i(M,{value:c.shape??``,options:[{value:``,label:s(`remote.layout.lookDefault`)},...O.map(e=>({value:e,label:s(`remote.layout.shapes.${e}`)}))],onChange:e=>{let n=O.find(t=>t===e.target.value);r(Ee(t,c.id,{shape:n??null}))},"data-testid":`remote-shape`})}),i(A,{label:s(`remote.layout.tone`),children:i(M,{value:c.tone??``,options:[{value:``,label:s(`remote.layout.lookDefault`)},...C.map(e=>({value:e,label:s(`remote.layout.tones.${e}`)}))],onChange:e=>{let n=C.find(t=>t===e.target.value);r(Ee(t,c.id,{tone:n??null}))},"data-testid":`remote-tone`})})]}),e(`div`,{className:`grid grid-cols-2 gap-3`,children:[i(A,{label:s(`remote.layout.move`),children:e(`div`,{className:`flex items-center gap-1`,children:[i(I,{icon:h,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveLeft`),onClick:()=>r(z(t,c.id,0,-1))}),i(I,{icon:y,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveUp`),onClick:()=>r(z(t,c.id,-1,0))}),i(I,{icon:p,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveDown`),onClick:()=>r(z(t,c.id,1,0))}),i(I,{icon:_,size:`sm`,variant:`secondary`,"aria-label":s(`remote.layout.moveRight`),onClick:()=>r(z(t,c.id,0,1))})]})}),i(A,{label:s(`remote.layout.position`),children:i(`p`,{className:`text-xs text-foreground-muted`,"data-testid":`remote-position`,children:s(`remote.layout.positionValue`,{row:c.row+1,col:c.col+1})})}),i(A,{label:s(`remote.layout.height`),children:i(P,{value:c.rowSpan,onDelta:e=>r(ke(t,c.id,c.rowSpan+e,c.colSpan))})}),i(A,{label:s(`remote.layout.width`),children:i(P,{value:c.colSpan,onDelta:e=>r(ke(t,c.id,c.rowSpan,c.colSpan+e))})})]}),e(F,{variant:`danger`,size:`sm`,onClick:a,children:[i(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),s(`remote.layout.removeButton`)]})]})}function Et({grid:t,groupId:n,apply:r,onGone:a}){let{t:o}=L(),s=je(t,n);if(s===void 0)return null;let c=Ne(t,n).length;return e(`div`,{className:`space-y-3 rounded-lg border border-border bg-surface p-3`,"data-testid":`remote-group-inspector`,children:[i(`p`,{className:`text-xs text-foreground-muted`,children:o(`remote.layout.groupSummary`,{frame:o(`remote.layout.frames.${s.frame}`,s.frame),count:c,row:s.row+1,col:s.col+1})}),i(A,{label:o(`remote.layout.groupTitle`),children:i(N,{value:s.title??``,maxLength:40,onChange:e=>r(We(t,s.id,e.target.value)),"data-testid":`remote-group-title`})}),e(`div`,{className:`flex flex-wrap gap-2`,children:[e(F,{variant:`outline`,size:`sm`,"data-testid":`remote-group-ungroup`,onClick:()=>{r(Ie(t,s.id,!0)),a()},children:[i(ie,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),o(`remote.layout.ungroup`)]}),e(F,{variant:`danger`,size:`sm`,"data-testid":`remote-group-delete`,onClick:()=>{r(Ie(t,s.id,!1)),a()},children:[i(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),o(`remote.layout.deleteGroup`)]})]})]})}var Dt={remote:{label:e=>e(`remote.templates.kind.remote`),emptyPayload:He,summary:(e,t)=>{let n=Pe(e);return t(`remote.templates.layoutSummary`,{columns:n.columns,rows:n.rows,count:n.buttons.length})},renderEditor:(e,t)=>i(Ct,{value:Pe(e),onChange:t}),isSavable:e=>Ae(Pe(e))!==null,presets:e=>rt.map(t=>({id:t.id,label:e(`remote.templates.preset.${t.id}`),payload:()=>it(t.id)}))}};function $(e){return Dt[e]}var Ot=ne;function kt(e,t){let n=ee(e,t);return n.ok?n.payload:null}s();function At({draft:e,saving:t,error:n,onSave:r,onClose:a}){return i(we,{open:e!==null,onOpenChange:e=>!e&&a(),children:i(Ce,{width:`xl`,placement:`sheet-on-mobile`,scroll:`body`,children:e!==null&&i(jt,{draft:e,saving:t,error:n,onSave:r,onClose:a},e.id??`new`)})})}function jt({draft:t,saving:n,error:r,onSave:a,onClose:s}){let{t:c}=L(),[u,d]=o(t.kind),[f,p]=o(t.name),[m,h]=o(t.payload),[g,_]=o(``),v=$(u),y=v.presets(c),b=kt(u,m),x=f.trim()!==``&&b!==null&&v.isSavable(m)&&!n;return e(l,{children:[i(xe,{children:i(de,{children:t.id===null?c(`remote.templates.newTitle`):c(`remote.templates.editTitle`)})}),e(ge,{className:`space-y-4`,children:[e(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[i(A,{label:c(`remote.templates.name`),children:i(N,{value:f,maxLength:120,onChange:e=>p(e.target.value),"data-testid":`template-name`})}),t.id===null&&Ot.length>1&&i(A,{label:c(`remote.templates.kind.label`),children:i(M,{value:u,options:Ot.map(e=>({value:e,label:$(e).label(c)})),onChange:e=>{let t=Ot.find(t=>t===e.target.value);t!==void 0&&(d(t),h($(t).emptyPayload()),_(``))}})}),t.id===null&&y.length>0&&i(A,{label:c(`remote.templates.startFrom`),children:i(M,{value:g,options:[{value:``,label:c(`remote.templates.startBlank`)},...y.map(e=>({value:e.id,label:e.label}))],onChange:e=>{let t=y.find(t=>t.id===e.target.value);_(t?.id??``),h(t===void 0?v.emptyPayload():t.payload()),t!==void 0&&f.trim()===``&&p(t.label)},"data-testid":`template-preset`})})]}),v.renderEditor(m,h),r!==null&&i(`p`,{role:`alert`,className:`text-xs text-danger`,children:r})]}),e(se,{children:[i(F,{variant:`ghost`,onClick:s,children:c(`common.cancel`)}),i(F,{disabled:!x,onClick:()=>a({id:t.id,kind:u,name:f.trim(),payload:b}),"data-testid":`template-save`,children:c(`common.save`)})]})]})}s();var Mt=ne[0];function Nt(){let{t}=L(),r=c(),a=he({}),s=pe(),l=ue(),p=fe(),h=v(),_=g(),[y,b]=o(null),[x,S]=o(null),C=()=>void r.invalidateQueries({queryKey:[[`template`]]}),w=async e=>{S(null);try{let t=e.id===null?await s.mutateAsync({kind:e.kind,name:e.name,payload:e.payload}):await l.mutateAsync({id:e.id,name:e.name,payload:e.payload});if(t.status===`refused`){S(t.detail);return}C(),b(null)}catch(e){S(e instanceof Error?e.message:String(e))}},ee=async e=>{try{await s.mutateAsync({kind:e.kind,name:t(`remote.templates.copyName`,{name:e.name}),payload:e.payload}),C()}catch(e){await _({title:t(`remote.templates.duplicateFailed`),message:e instanceof Error?e.message:String(e),variant:`danger`})}},T=async e=>{if(await h({title:t(`remote.templates.deleteTitle`,{name:e.name}),message:t(`remote.templates.deleteMessage`),confirmLabel:t(`common.delete`),variant:`danger`}))try{let n=await p.mutateAsync({id:e.id});if(n.status===`in-use`){await _({title:t(`remote.templates.inUseTitle`,{name:e.name}),message:t(`remote.templates.inUseMessage`,{devices:n.devices.map(e=>e.name).join(`, `)}),variant:`warning`});return}C()}catch(e){await _({title:t(`remote.templates.deleteFailed`),message:e instanceof Error?e.message:String(e),variant:`danger`})}},E=n(()=>[{key:`name`,header:t(`remote.templates.name`),sortValue:e=>e.name.toLowerCase(),render:e=>i(`span`,{className:`font-medium text-foreground`,children:e.name})},{key:`kind`,header:t(`remote.templates.kind.label`),sortValue:e=>e.kind,render:e=>i(_e,{variant:`neutral`,children:$(e.kind).label(t)})},{key:`summary`,header:t(`remote.templates.summary`),notSortableReason:`A sentence built from the payload.`,render:e=>i(`span`,{className:`text-foreground-muted`,children:$(e.kind).summary(e.payload,t)})},{key:`updated`,header:t(`remote.templates.updated`),sortValue:e=>e.updatedAt,render:e=>i(`span`,{className:`text-foreground-muted`,children:new Date(e.updatedAt).toLocaleDateString()})},{key:`actions`,align:`right`,notSortableReason:`Row actions.`,render:e=>i(Se,{title:t(`remote.templates.actionsFor`,{name:e.name}),items:[{id:`edit`,label:t(`common.edit`),icon:u,onClick:()=>{S(null),b({id:e.id,kind:e.kind,name:e.name,payload:e.payload})}},{id:`duplicate`,label:t(`remote.templates.duplicate`),icon:m,onClick:()=>void ee(e)},{id:`delete`,label:t(`common.delete`),icon:d,danger:!0,onClick:()=>void T(e)}]})}],[t]),D=a.data??[],O=()=>{S(null),b({id:null,kind:Mt,name:``,payload:$(Mt).emptyPayload()})};return e(Te,{icon:re,title:t(`remote.templates.title`),subtitle:t(`remote.templates.subtitle`),actions:e(F,{size:`sm`,onClick:O,"data-testid":`template-new`,children:[i(f,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),t(`remote.templates.new`)]}),children:[a.status===`error`?i(ce,{title:t(`remote.templates.loadFailed`),message:a.error.message,onRetry:()=>void a.refetch()}):a.data===void 0?i(j,{className:`h-32 w-full`}):D.length===0?i(le,{icon:re,title:t(`remote.templates.emptyTitle`),description:t(`remote.templates.emptyDescription`),action:i(F,{size:`sm`,onClick:O,children:t(`remote.templates.new`)})}):i(ae,{columns:E,rows:D,rowKey:e=>e.id,maxBodyHeight:ve,defaultSort:{columnKey:`name`,dir:`asc`},onRowClick:e=>{S(null),b({id:e.id,kind:e.kind,name:e.name,payload:e.payload})}}),i(At,{draft:y,saving:s.isPending||l.isPending,error:x,onSave:e=>void w(e),onClose:()=>b(null)})]})}export{Nt as TemplatesPage};