@camstack/addon-admin-ui 1.2.466 → 1.2.467

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 (129) hide show
  1. package/dist/assets/{AddonAssetIcon-CHV6Avz6.js → AddonAssetIcon-CCWcyKGn.js} +1 -1
  2. package/dist/assets/Addons-Cw9rrXxH.js +4 -0
  3. package/dist/assets/{AdminPage-DACFbek1.js → AdminPage-4O783NUd.js} +1 -1
  4. package/dist/assets/{AdminSectionedPage-DgH4Ouk_.js → AdminSectionedPage-Bg12qWUG.js} +1 -1
  5. package/dist/assets/{AiProfiles-C6trAEh6.js → AiProfiles-C2tSzH00.js} +2 -2
  6. package/dist/assets/{BrokerForm-z2yDFzim.js → BrokerForm-CsW9lDAT.js} +1 -1
  7. package/dist/assets/Build-DfzCG6ZA.js +40 -0
  8. package/dist/assets/{Calendars-C04n4LHd.js → Calendars-Cy0AUKTy.js} +1 -1
  9. package/dist/assets/{Cluster-Be9P4pw5.js → Cluster-J83b8G7B.js} +1 -1
  10. package/dist/assets/CompositionCreateForm-0EuJ8gsF.js +1 -0
  11. package/dist/assets/CompositionEditorPage-DwdRdQqS.js +1 -0
  12. package/dist/assets/{Data-CE36I7Jr.js → Data-w3SEgAGd.js} +2 -2
  13. package/dist/assets/DeviceDetail-oJ3My2Ik.js +2 -0
  14. package/dist/assets/{DeviceDoActionFields-Bwg59iyy.js → DeviceDoActionFields-DERGcMq2.js} +1 -1
  15. package/dist/assets/{Devices-MCmGg6mz.js → Devices-DeoCEjgF.js} +1 -1
  16. package/dist/assets/{EmbedPlayerPage-CvF5ud5X.js → EmbedPlayerPage-XFAk9SM2.js} +1 -1
  17. package/dist/assets/History-DU_VixNd.js +1 -0
  18. package/dist/assets/{Identity-GzKhQ2Wo.js → Identity-DzZZ1oM1.js} +1 -1
  19. package/dist/assets/IntegrationDetail-Dc-gH2zN.js +1 -0
  20. package/dist/assets/{IntegrationHub-CJzJfvMN.js → IntegrationHub-KAx21xT6.js} +1 -1
  21. package/dist/assets/Integrations-BNOpi8z2.js +1 -0
  22. package/dist/assets/Integrations-DjKo4dwk.js +1 -0
  23. package/dist/assets/{Library-TZ0Gx3s-.js → Library-jioU_3N-.js} +1 -1
  24. package/dist/assets/Locations-C9YKCzuj.js +3 -0
  25. package/dist/assets/{Logs-Ddg_lbfY.js → Logs-DCrmwr8o.js} +1 -1
  26. package/dist/assets/{MaskShapeCanvas-C5rdWXtR.js → MaskShapeCanvas-CdkKHWLL.js} +1 -1
  27. package/dist/assets/{MotionZonesSettings-ZcLOh0c4.js → MotionZonesSettings-DozUaDis.js} +1 -1
  28. package/dist/assets/{MyAccess-D4uX-g_p.js → MyAccess-Dn6EQs3E.js} +1 -1
  29. package/dist/assets/{Network-BphYAlq2.js → Network-rjDb4ky-.js} +1 -1
  30. package/dist/assets/{NodeAddonsSettingsPanel-CQrSClsm.js → NodeAddonsSettingsPanel-Cals3BOp.js} +1 -1
  31. package/dist/assets/Notifications-Cd6Vd_4M.js +1 -0
  32. package/dist/assets/{Pipeline-Biv_mIly.js → Pipeline-0i4vwuod.js} +1 -1
  33. package/dist/assets/{PrivacyMaskSettings-C1yy5qkh.js → PrivacyMaskSettings-BVkCrhY6.js} +1 -1
  34. package/dist/assets/{Recordings-DWVDvRC8.js → Recordings-DWi4FuOi.js} +1 -1
  35. package/dist/assets/{ScanNetworkModal-C9MOFhDn.js → ScanNetworkModal-D1DxOZ5k.js} +1 -1
  36. package/dist/assets/{SceneMonitorEditor-DOsfgD2_.js → SceneMonitorEditor-Cz2nxACu.js} +1 -1
  37. package/dist/assets/{SessionsList-DOHVvRz1.js → SessionsList-KX8yhzLp.js} +2 -2
  38. package/dist/assets/{Showroom-BVCwgO8b.js → Showroom-Dke-L82I.js} +1 -1
  39. package/dist/assets/{System-dgVP5LHk.js → System-DAP7Vcj5.js} +1 -1
  40. package/dist/assets/{Terminal-WdrSQikU.js → Terminal-kPnxbhOt.js} +1 -1
  41. package/dist/assets/{Viewer-Dw8emq4n.js → Viewer-DRoz3IHv.js} +1 -1
  42. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DeOV_bX5.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-DEk1WB3G.js} +1 -1
  43. package/dist/assets/{addon-icons-context-CHQRXIUA.js → addon-icons-context-DAAx2QHZ.js} +1 -1
  44. package/dist/assets/{archive-BfaqC_ow.js → archive-DmfxV_Pa.js} +1 -1
  45. package/dist/assets/assignment-candidates-DtXm-899.js +1 -0
  46. package/dist/assets/{authed-media-BMYs9mwq.js → authed-media-Xgbbh3Wl.js} +1 -1
  47. package/dist/assets/{bell-off-D657Qfjl.js → bell-off-qsoMK80A.js} +1 -1
  48. package/dist/assets/{board-model-DGOHIUHU.js → board-model-CAZ9Z4dC.js} +1 -1
  49. package/dist/assets/{boxes-BH4OlHge.js → boxes-CbcQaJIW.js} +1 -1
  50. package/dist/assets/circle-slash-CY2o0Zb7.js +1 -0
  51. package/dist/assets/client-CPYrnkxz.js +358 -0
  52. package/dist/assets/{cloud-upload-CFwwCXBD.js → cloud-upload-Dlvj0kcc.js} +1 -1
  53. package/dist/assets/crop-BVT_DPcl.js +1 -0
  54. package/dist/assets/{device-integration-icon-CN1JWb9b.js → device-integration-icon-ClsJ3gjp.js} +1 -1
  55. package/dist/assets/device-picker-model-Dv0ncszF.js +1 -0
  56. package/dist/assets/{dist-U0zz_Qaa.js → dist-B5liL_3N.js} +1 -1
  57. package/dist/assets/dist-DwZeyF0Q.js +358 -0
  58. package/dist/assets/{eraser-DoTYk-op.js → eraser-DCCZm4IX.js} +1 -1
  59. package/dist/assets/event-targets-CB7fCHqw.js +2 -0
  60. package/dist/assets/{format-1YmOOIUc.js → format-B28PmHnx.js} +1 -1
  61. package/dist/assets/{hard-drive-download-Bkwx7erK.js → hard-drive-download-DOyJ5-Vb.js} +1 -1
  62. package/dist/assets/{hostInit-Cd4BM6J5.js → hostInit-CYQHDnnJ.js} +1 -1
  63. package/dist/assets/i18n-DpfPqHKN.js +1 -0
  64. package/dist/assets/{icons-zrco2zgK.js → icons-B4F3-Hxj.js} +1 -1
  65. package/dist/assets/{index-D44jtzlM.css → index-BMUVtgYi.css} +1 -1
  66. package/dist/assets/{index-DSOL1ujW.js → index-D8IWAs6P.js} +3 -3
  67. package/dist/assets/{key-COVAKnjX.js → key-kbFcYlWe.js} +1 -1
  68. package/dist/assets/{key-round-D26RK68l.js → key-round-CveRqe_k.js} +1 -1
  69. package/dist/assets/{layers-egCDUDk5.js → layers-CiExinrp.js} +1 -1
  70. package/dist/assets/linked-devices-model-DQz_FX6p.js +1 -0
  71. package/dist/assets/{list-ordered-BRxJMtli.js → list-ordered-Bg8BUWEC.js} +1 -1
  72. package/dist/assets/{location-owned-usage-B6WEqO5J.js → location-owned-usage-ENTwZrtf.js} +1 -1
  73. package/dist/assets/{log-in-CR1DP5G2.js → log-in-BD1L2oSt.js} +1 -1
  74. package/dist/assets/{memory-stick-CdDKrQSf.js → memory-stick-NTrfi1e8.js} +1 -1
  75. package/dist/assets/{message-square-plus-CTU1aOLB.js → message-square-plus-CY9ttqE5.js} +1 -1
  76. package/dist/assets/{mf-entry-bootstrap-0-80098599.js → mf-entry-bootstrap-0-183f4791.js} +2 -2
  77. package/dist/assets/{mic-off-D_q6qKRd.js → mic-off-AwSvJJ-K.js} +1 -1
  78. package/dist/assets/{monitor-off-CxDc2ENq.js → monitor-off-BYbktrAW.js} +1 -1
  79. package/dist/assets/{monitor-smartphone-CXWzPwhX.js → monitor-smartphone-D0ZLgRUd.js} +1 -1
  80. package/dist/assets/mount-Dv0ncszF.js +1 -0
  81. package/dist/assets/{player-overlays-BH057O7U.js → player-overlays-D2mGg95Q.js} +1 -1
  82. package/dist/assets/{recycle-CB_CwFhI.js → recycle-nvFptmrW.js} +1 -1
  83. package/dist/assets/remoteEntry-D3cNFq0k.js +1 -0
  84. package/dist/assets/{scan-eye-zCPN-IXA.js → scan-eye-BikcnQOJ.js} +1 -1
  85. package/dist/assets/{scissors-8OXl9wtf.js → scissors-CoFYjcIv.js} +1 -1
  86. package/dist/assets/{search-x-DTqz9u3f.js → search-x-BhodbxZp.js} +1 -1
  87. package/dist/assets/{send-8GpK6UfW.js → send-fjFgd1HM.js} +1 -1
  88. package/dist/assets/{settings-2-HzWfFtqI.js → settings-2-BoimpCtm.js} +1 -1
  89. package/dist/assets/{speaker-BkEeT7Qt.js → speaker-B0ivVaxK.js} +1 -1
  90. package/dist/assets/src-Biwy5K1-.js +67 -0
  91. package/dist/assets/{step-inspector-model-BkKUMXZl.js → step-inspector-model-DzhSjxbz.js} +1 -1
  92. package/dist/assets/{timer-reset-BAE1rlG9.js → timer-reset-NwgMeFcs.js} +1 -1
  93. package/dist/assets/{ungroup-DwAY18V9.js → ungroup-HIsrd0kn.js} +1 -1
  94. package/dist/assets/{unlink-CBe0geqM.js → unlink-DbsxaJy8.js} +1 -1
  95. package/dist/assets/{usb-DIvGHcpB.js → usb-CIuWHA0H.js} +1 -1
  96. package/dist/assets/{use-scenes-feed-CbOH7Sz5.js → use-scenes-feed-j0luHsUf.js} +1 -1
  97. package/dist/assets/{use-stationary-objects-D-9UkgZk.js → use-stationary-objects-D7sVpMS0.js} +1 -1
  98. package/dist/assets/useEventInvalidation-Dv0ncszF.js +1 -0
  99. package/dist/assets/{useNodeUrlSelection-Pdxl-4TG.js → useNodeUrlSelection-Dgq7-0YQ.js} +1 -1
  100. package/dist/assets/user-round-CQQDvmdF.js +1 -0
  101. package/dist/assets/{user-x-Ti_5uOx5.js → user-x-HS6wbYSN.js} +1 -1
  102. package/dist/assets/{video-IEto7g6S.js → video-GJ_2zbwO.js} +1 -1
  103. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-BEqvWr7W.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-C--tom4E.js} +2 -2
  104. package/dist/index.html +10 -10
  105. package/dist/server/addon.js +17368 -6114
  106. package/package.json +1 -1
  107. package/dist/assets/Addons-Cd8VePRT.js +0 -4
  108. package/dist/assets/Build-Dt_1IeuD.js +0 -40
  109. package/dist/assets/CompositionEditor-yGaid4jI.js +0 -1
  110. package/dist/assets/CompositionEditorPage-4BiqbqqC.js +0 -1
  111. package/dist/assets/DeviceDetail-Be9OHpKa.js +0 -2
  112. package/dist/assets/History-B3BGX-gl.js +0 -1
  113. package/dist/assets/IntegrationDetail-DUQhh7iw.js +0 -1
  114. package/dist/assets/Integrations-DyfHQbgd.js +0 -1
  115. package/dist/assets/Integrations-b4RPPU6E.js +0 -1
  116. package/dist/assets/Locations-B7HcX-Vs.js +0 -3
  117. package/dist/assets/Notifications-BrHw-c7i.js +0 -1
  118. package/dist/assets/circle-slash-CrxEyAEa.js +0 -1
  119. package/dist/assets/client-CYW9ELYx.js +0 -358
  120. package/dist/assets/crop-CHdeAwRA.js +0 -1
  121. package/dist/assets/device-picker-model-CjnNA0vh.js +0 -1
  122. package/dist/assets/dist-2_skMd0F.js +0 -358
  123. package/dist/assets/i18n-B-tc0y0g.js +0 -1
  124. package/dist/assets/linked-devices-model-BYmBXBjD.js +0 -1
  125. package/dist/assets/mount-CjnNA0vh.js +0 -1
  126. package/dist/assets/remoteEntry-6lY5znjU.js +0 -1
  127. package/dist/assets/src-CNBEXdcY.js +0 -67
  128. package/dist/assets/useEventInvalidation-CjnNA0vh.js +0 -1
  129. package/dist/assets/user-round-Ku24ZXeJ.js +0 -1
@@ -0,0 +1 @@
1
+ import{$ as e,B as t,G as n,J as r,L as i,S as a,a as o,b as s,o as c,q as l,t as u,x as d}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CEHpkaJP.js";import{Fn as f,It as p,On as m,ht as h,kn as g,ln as _,nr as v,or as y,ot as b,xn as x}from"./player-overlays-D2mGg95Q.js";import{Gr as ee,Qt as te,mi as S}from"./client-CPYrnkxz.js";import{h as C,s as w}from"./video-GJ_2zbwO.js";import{t as T}from"./log-in-BD1L2oSt.js";import{t as E}from"./monitor-smartphone-D0ZLgRUd.js";import{t as ne}from"./recycle-nvFptmrW.js";import{$i as D,Da as O,Et as k,Gr as A,Ir as re,Qi as j,Rr as M,Sl as N,Sr as ie,Tt as ae,aa as oe,ar as P,cr as F,dr as I,er as se,ft as ce,ia as L,na as R,oa as le,or as z,pi as B,ra as V,sr as H,st as U,ta as W,ur as ue,ut as de,yn as fe,yr as G}from"./src-Biwy5K1-.js";import{t as K}from"./i18n-DpfPqHKN.js";import{t as q}from"./useTranslation-D3Is_4B6.js";import{F as J,h as Y,hr as pe,i as me,pr as he,x as ge}from"./index-D8IWAs6P.js";import{t as _e}from"./AdminSectionedPage-Bg12qWUG.js";import{t as ve}from"./BrokerForm-CsW9lDAT.js";import{t as ye}from"./NodeAddonsSettingsPanel-Cals3BOp.js";import{n as be,r as X,t as xe}from"./IntegrationHub-KAx21xT6.js";e();var Z=`kind`,Q=`name`,Se=`restore`,Ce=`restoreId`;function we(e){return{sections:[{id:`broker-identity`,title:K.t(`helpers.brokerIdentitySchema.title`),columns:1,fields:[{type:`select`,key:Z,label:K.t(`helpers.brokerIdentitySchema.kind`),options:e.map(e=>({value:e.key,label:e.label})),disabled:e.length<=1},{type:`text`,key:Q,label:K.t(`helpers.brokerIdentitySchema.name`),placeholder:K.t(`helpers.brokerIdentitySchema.namePlaceholder`),required:!0},{type:`boolean`,key:Se,label:K.t(`helpers.brokerIdentitySchema.restore`),description:K.t(`helpers.brokerIdentitySchema.restoreHint`)},{type:`text`,key:Ce,label:K.t(`helpers.brokerIdentitySchema.originalId`),placeholder:`ha_004`,required:!0,showWhen:{field:Se,equals:!0}}]}]}}function Te(e){let t=t=>{let n=e[t];return typeof n==`string`?n.trim():``},n=t(Z);if(n===``)return{ok:!1,problem:`Pick a kind.`};let r=t(Q);if(r===``)return{ok:!1,problem:`Enter a name before saving.`};if(e.restore!==!0)return{ok:!0,identity:{kindKey:n,name:r,restoreId:null}};let i=t(Ce);return i===``?{ok:!1,problem:`Enter the original id, or turn restore off to create a new broker.`}:{ok:!0,identity:{kindKey:n,name:r,restoreId:i}}}var Ee={"home-assistant":`Home Assistant`,mqtt:`MQTT`};function De(e){return Ee[e]??e}function Oe(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.addonId==`string`&&Array.isArray(e.kinds)):[]}var ke={connected:`success`,connecting:`warning`,disconnected:`default`,"auth-failed":`danger`,unreachable:`danger`,error:`danger`};function Ae({status:e}){return d(A,{variant:ke[e],className:`text-[10px]`,children:e})}function je(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`):[]}function Me({title:e,subtitle:t,onClose:n,children:r}){return d(P,{open:!0,onOpenChange:e=>!e&&n(),children:a(H,{width:`md`,placement:`sheet-on-mobile`,scroll:`body`,children:[a(ue,{children:[d(I,{children:e}),t&&d(F,{children:t})]}),d(z,{className:`space-y-3 pr-1`,children:r})]})})}function Ne({kinds:e,onClose:t,onDone:i}){let{t:o}=q(),s=c(),l=n(()=>we(e.map(e=>({key:$(e),label:e.label}))),[e]),[u,f]=r(()=>({[Z]:$(e[0]),[Q]:``,[Se]:!1,[Ce]:``})),[p,m]=r(null),h=e.find(e=>$(e)===u.kind)??e[0],g=h?.kind??``,_=h?.addonId,v=h?.interactiveConnectPath,y=j({onSuccess:e=>{s.invalidateQueries({queryKey:[[`broker`,`list`]]});let t=typeof e==`object`&&e&&typeof e.id==`string`?e.id:null;t!==null&&v!==void 0&&v.length>0&&Y(v,t,()=>{s.invalidateQueries({queryKey:[[`broker`,`list`]]})}),i()}}),b=e=>{let t=Te(u);if(!t.ok){m(t.problem);return}m(null);let{name:n,restoreId:r}=t.identity;y.mutate({kind:g,name:n,settings:e,...r===null?{}:{id:r},..._===void 0?{}:{addonId:_}})};return a(Me,{title:o(`brokers.brokerManager.addBroker`,`Add broker`),subtitle:o(`brokers.brokerManager.registerAMessageBrokerFor`,`Register a message broker for exporters and automations.`),onClose:y.isPending?()=>{}:t,children:[d(J,{schema:l,values:u,onChange:f}),p!==null&&d(G,{message:p}),y.isError&&d(G,{message:y.error instanceof Error?y.error.message:String(y.error)}),g&&d(ve,{kind:g,..._===void 0?{}:{addonId:_},onSubmit:b,onCancel:t,submitLabel:y.isPending?o(`brokers.brokerManager.adding`,`Adding…`):o(`brokers.brokerManager.addBroker`,`Add broker`),disabled:y.isPending},$(h))]})}function $(e){return e===void 0?``:`${e.addonId??``}::${e.kind}`}function Pe({broker:e,onClose:t,onDone:r}){let{t:i}=q(),o=c(),s=D({id:e.id,addonId:e.addonId}),l=oe({onSuccess:()=>{o.invalidateQueries({queryKey:[[`broker`,`list`]]}),o.invalidateQueries({queryKey:[[`broker`,`getSettings`],{input:{id:e.id,addonId:e.addonId}}]}),r()}}),u=n(()=>{let e=s.data;return e&&typeof e==`object`?{...e}:{}},[s.data]);return d(Me,{title:i(`brokers.brokerManager.edit`,`Edit {{name}}`,{name:e.name}),subtitle:`${De(e.kind)} · ${e.id}`,onClose:l.isPending?()=>{}:t,children:s.isLoading?a(`div`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[d(y,{className:`h-3.5 w-3.5 animate-spin`}),` `,i(`brokers.brokerManager.loadingSettings`)]}):s.isError?a(`div`,{className:`space-y-3`,children:[d(G,{message:i(`brokers.brokerManager.loadSettingsFailed`,{message:s.error instanceof Error?s.error.message:i(`common.unknownError`)})}),d(`div`,{className:`flex justify-end`,children:d(M,{variant:`outline`,size:`sm`,onClick:t,children:i(`common.close`,`Close`)})})]}):a(`div`,{className:`space-y-3`,children:[l.isError&&d(G,{message:l.error instanceof Error?l.error.message:String(l.error)}),d(ve,{kind:e.kind,addonId:e.addonId,brokerId:e.id,initialValues:u,onSubmit:t=>{l.mutate({id:e.id,settings:t,addonId:e.addonId})},onCancel:t,submitLabel:l.isPending?i(`brokers.brokerManager.saving`,`Saving…`):i(`common.save`,`Save`),disabled:l.isPending})]})})}function Fe({broker:e,interactiveConnectPath:t,interactiveDisconnectPath:n,onEdit:i}){let{t:o}=q(),s=c(),l=re(),[u,m]=r(null),g=le({onSuccess:e=>m(e.ok?{ok:!0}:{ok:!1,error:e.error}),onError:e=>m({ok:!1,error:e instanceof Error?e.message:String(e)})}),_=L({onSuccess:()=>{s.invalidateQueries({queryKey:[[`broker`,`list`]]})}}),v=async()=>{await l({title:o(`brokers.brokerManager.deleteBroker`,`Delete broker`),message:o(`brokers.brokerManager.deleteBrokerIntegrationsThatDepend`,`Delete broker "{{name}}"? Integrations that depend on it will stop working.`,{name:e.name}),confirmLabel:o(`common.delete`,`Delete`),variant:`danger`})&&_.mutate({id:e.id,addonId:e.addonId})},b=t!==void 0&&t.length>0&&e.status!==`connected`,x=n!==void 0&&n.length>0&&e.status===`connected`;return a(`tr`,{className:`border-b border-border last:border-0`,children:[d(`td`,{className:`px-3 py-2 text-xs text-foreground font-medium`,children:e.name}),d(`td`,{className:`px-3 py-2 text-xs text-foreground-subtle`,children:De(e.kind)}),a(`td`,{className:`px-3 py-2`,children:[d(Ae,{status:e.status}),u&&d(`span`,{className:`ml-2 text-[10px] ${u.ok?`text-success`:`text-danger`}`,children:u.ok?`OK`:u.error??o(`common.failedWord`)})]}),d(`td`,{className:`px-3 py-2`,children:a(`div`,{className:`flex items-center justify-end gap-1.5`,children:[b&&a(M,{variant:`primary`,size:`sm`,onClick:()=>{Y(t,e.id,()=>{s.invalidateQueries({queryKey:[[`broker`,`list`]]})})},title:o(`brokers.brokerManager.signInOpensAPopup`,`Sign in — opens a popup that closes when done`),children:[d(T,{className:`h-3 w-3`}),` `,o(`brokers.brokerManager.signIn`)]}),x&&a(M,{variant:`outline`,size:`sm`,onClick:()=>{Y(n,e.id,()=>{s.invalidateQueries({queryKey:[[`broker`,`list`]]})})},title:o(`brokers.brokerManager.signOutClearsTheLinked`,`Sign out — clears the linked Google account on this broker`),children:[d(w,{className:`h-3 w-3`}),` `,o(`brokers.brokerManager.signOut`)]}),a(M,{variant:`outline`,size:`sm`,onClick:()=>g.mutate({id:e.id,addonId:e.addonId}),disabled:g.isPending,title:o(`brokers.brokerManager.testConnection`,`Test connection`),children:[g.isPending?d(y,{className:`h-3 w-3 animate-spin`}):d(h,{className:`h-3 w-3`}),o(`brokers.brokerManager.test`,`Test`)]}),a(M,{variant:`outline`,size:`sm`,onClick:()=>i(e),title:o(`common.edit`,`Edit`),children:[d(f,{className:`h-3 w-3`}),` `,o(`common.edit`)]}),a(M,{variant:`outline`,size:`sm`,className:`border-danger/40 text-danger hover:bg-danger/10`,onClick:()=>{v()},disabled:_.isPending,title:o(`common.delete`,`Delete`),children:[_.isPending?d(y,{className:`h-3 w-3 animate-spin`}):d(p,{className:`h-3 w-3`}),o(`common.delete`,`Delete`)]})]})})]})}function Ie({addonId:e}={}){let{t}=q(),i=R({}),o=V(),s=n(()=>je(i.data).filter(t=>e===void 0||t.addonId===e),[i.data,e]),[c,l]=r(!1),[u,f]=r(null),p=n(()=>{let t=new Map;for(let n of Oe(o.data))if(!(e!==void 0&&n.addonId!==e))for(let e of n.kinds){let r=typeof e.interactiveConnectPath==`string`&&e.interactiveConnectPath.length>0?e.interactiveConnectPath:void 0,i=typeof e.interactiveDisconnectPath==`string`&&e.interactiveDisconnectPath.length>0?e.interactiveDisconnectPath:void 0;t.set(`${n.addonId}::${e.kind}`,{addonId:n.addonId,kind:e.kind,label:e.label,...r===void 0?{}:{interactiveConnectPath:r},...i===void 0?{}:{interactiveDisconnectPath:i}})}for(let e of s)[...t.values()].some(t=>t.kind===e.kind)||t.set(`::${e.kind}`,{kind:e.kind,label:De(e.kind)});return[...t.values()]},[s,o.data,e]),m=n(()=>{let e=new Map;for(let t of p)e.has(t.kind)||e.set(t.kind,{...t.interactiveConnectPath===void 0?{}:{connect:t.interactiveConnectPath},...t.interactiveDisconnectPath===void 0?{}:{disconnect:t.interactiveDisconnectPath}});return e},[p]);return a(`div`,{className:`space-y-3`,children:[d(`div`,{className:`flex items-center justify-end`,children:a(M,{variant:`primary`,size:`sm`,onClick:()=>l(!0),disabled:p.length===0,title:p.length===0?t(`brokers.brokerManager.noBrokerProvidersAvailable`,`No broker providers available`):void 0,children:[d(g,{className:`h-3.5 w-3.5`}),` `,t(`brokers.brokerManager.addBroker`)]})}),d(`div`,{className:`rounded-lg border border-border bg-surface overflow-x-auto`,children:a(`table`,{className:`w-full min-w-[36rem] border-collapse`,children:[d(`thead`,{children:a(`tr`,{className:`border-b border-border bg-background/50`,children:[d(`th`,{className:`px-3 py-2 text-left text-[10px] font-semibold uppercase tracking-wider text-foreground-subtle`,children:t(`brokers.brokerManager.name`,`Name`)}),d(`th`,{className:`px-3 py-2 text-left text-[10px] font-semibold uppercase tracking-wider text-foreground-subtle`,children:t(`brokers.brokerManager.kind`,`Kind`)}),d(`th`,{className:`px-3 py-2 text-left text-[10px] font-semibold uppercase tracking-wider text-foreground-subtle`,children:t(`brokers.brokerManager.status`,`Status`)}),d(`th`,{className:`px-3 py-2 text-right text-[10px] font-semibold uppercase tracking-wider text-foreground-subtle`,children:t(`brokers.brokerManager.actions`,`Actions`)})]})}),a(`tbody`,{children:[i.isLoading&&d(`tr`,{children:a(`td`,{colSpan:4,className:`px-3 py-6 text-center text-xs text-foreground-subtle`,children:[d(y,{className:`inline h-4 w-4 animate-spin`}),` `,t(`brokers.brokerManager.loadingBrokers`)]})}),i.isError&&d(`tr`,{children:a(`td`,{colSpan:4,className:`px-3 py-4 text-center text-xs text-danger`,children:[t(`brokers.brokerManager.failedToLoadBrokers`,`Failed to load brokers:`),` `,i.error instanceof Error?i.error.message:t(`brokers.brokerManager.unknownError`,`Unknown error`)]})}),!i.isLoading&&!i.isError&&s.length===0&&d(`tr`,{children:d(`td`,{colSpan:4,className:`px-3 py-6 text-center text-xs text-foreground-subtle`,children:t(`brokers.brokerManager.noBrokersRegisteredYetAdd`,`No brokers registered yet. Add one to publish device events for downstream automations.`)})}),s.map(e=>{let t=m.get(e.kind);return d(Fe,{broker:e,...t?.connect===void 0?{}:{interactiveConnectPath:t.connect},...t?.disconnect===void 0?{}:{interactiveDisconnectPath:t.disconnect},onEdit:f},e.id)})]})]})}),c&&d(Ne,{kinds:p,onClose:()=>l(!1),onDone:()=>l(!1)}),u&&d(Pe,{broker:u,onClose:()=>f(null),onDone:()=>f(null)})]})}e();function Le({addonId:e,fallback:t}){let{t:n}=q(),r=N({});if(r.isPending)return d(`div`,{className:`flex justify-center py-8`,children:d(y,{className:`size-6 animate-spin text-muted-foreground`})});if(r.isError)return d(G,{message:n(`brokers.brokerRecordEntriesPanel.loadKindsFailed`,`Could not load entry kinds`)});let i=r.data.kinds.find(t=>t.owner===e&&t.kind===`brokers`);return i===void 0?t:d(Re,{addonId:e,kind:i})}function Re({addonId:e,kind:t}){let{t:r}=q(),i=c(),o=R({}),l=V(),u=n(()=>{let t=new Map;for(let n of je(o.data))n.addonId===e&&t.set(n.id,n);return t},[o.data,e]),f=n(()=>{let e=new Map;for(let t of Oe(l.data))for(let n of t.kinds){let r=n.interactiveConnectPath,i=n.interactiveDisconnectPath;e.set(`${t.addonId}::${n.kind}`,{...typeof r==`string`&&r.length>0?{connect:r}:{},...typeof i==`string`&&i.length>0?{disconnect:i}:{}})}return e},[l.data]),p=()=>{i.invalidateQueries({queryKey:[[`broker`]]}),i.invalidateQueries({queryKey:[[`recordEntries`]]})};return d(U,{kind:t,extraColumns:n(()=>[{key:`status`,header:r(`brokers.brokerManager.status`,`Status`),nowrap:!0,width:`w-px`,render:e=>{let t=u.get(e.id);return t===void 0?null:d(Ae,{status:t.status})}}],[u,r]),rowActions:e=>{let t=u.get(e.id);if(t===void 0)return null;let n=f.get(`${t.addonId}::${t.kind}`);if(n===void 0)return null;let i=t.status===`connected`;return a(s,{children:[n.connect!==void 0&&!i&&a(M,{variant:`primary`,size:`sm`,"aria-label":r(`brokers.brokerManager.signIn`),onClick:()=>Y(n.connect??``,t.id,p),title:r(`brokers.brokerManager.signInOpensAPopup`,`Sign in — opens a popup that closes when done`),children:[d(T,{className:`h-3 w-3`}),d(`span`,{className:`hidden sm:inline`,children:r(`brokers.brokerManager.signIn`)})]}),n.disconnect!==void 0&&i&&a(M,{variant:`outline`,size:`sm`,"aria-label":r(`brokers.brokerManager.signOut`),onClick:()=>Y(n.disconnect??``,t.id,p),title:r(`brokers.brokerManager.signOutClearsTheLinked`,`Sign out — clears the linked Google account on this broker`),children:[d(w,{className:`h-3 w-3`}),d(`span`,{className:`hidden sm:inline`,children:r(`brokers.brokerManager.signOut`)})]})]})},showUpdated:!1,minWidthPx:340})}function ze(e){if(typeof e==`string`)return e;if(typeof e==`object`&&e){let t=e.name;if(typeof t==`string`)return t}return null}function Be(e){let t=e,n=t?.manifest;if(n?.id===void 0)return null;let r=(n.capabilities??[]).map(ze).filter(e=>e!==null);return{addonId:n.id,displayName:n.packageDisplayName??n.name??n.id,capNames:r,processState:t?.process?.state??null}}function Ve(e,t){return Object.entries(e).filter(([,e])=>e===t).map(([e])=>e)}function He(e,t){return t.find(t=>e.capNames.includes(t))??null}function Ue(e){switch(e){case`running`:return{state:`ok`,label:K.t(`helpers.connectivityModel.running`)};case`crashed`:case`failed`:return{state:`error`,label:e};case`stopped`:case`disabled`:return{state:`off`,label:K.t(`helpers.connectivityModel.stopped`)};default:return{state:`unknown`,label:e??K.t(`common.unknownWord`)}}}e();var We=[`wasteCollections`,`listSources`],Ge=[`wasteCollections`,`listCountries`];function Ke(e){return e instanceof Error?e.message:String(e)}function qe(e){return typeof e!=`object`||!e?!1:Array.isArray(Reflect.get(e,`sections`))}function Je(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let e=Reflect.get(n,`id`),r=Reflect.get(n,`label`),i=Reflect.get(n,`module`);if(typeof e!=`string`||typeof r!=`string`||typeof i!=`string`)continue;let a=Reflect.get(n,`enabled`),o=Reflect.get(n,`formValues`),s=Reflect.get(n,`serviceId`),c=Reflect.get(n,`countryId`);t.push({id:e,label:r,module:i,enabled:typeof a==`boolean`?a:!0,formValues:typeof o==`object`&&o&&!Array.isArray(o)?o:void 0,serviceId:typeof s==`string`?s:void 0,countryId:typeof c==`string`?c:void 0})}return t}function Ye(e){return Array.isArray(e)?e.flatMap(e=>{if(typeof e!=`object`||!e)return[];let t=Reflect.get(e,`id`),n=Reflect.get(e,`label`);return typeof t!=`string`||typeof n!=`string`?[]:[{id:t,label:n}]}):[]}function Xe(e){return Array.isArray(e)?e.flatMap(e=>{if(typeof e!=`object`||!e)return[];let t=Reflect.get(e,`id`),n=Reflect.get(e,`label`),r=Reflect.get(e,`module`);if(typeof t!=`string`||typeof n!=`string`||typeof r!=`string`)return[];let i=Reflect.get(e,`title`);return[{id:t,label:n,title:typeof i==`string`&&i.length>0?i:n,module:r}]}):[]}function Ze(e,t,n){return{sections:[{id:`picker`,title:K.t(`system.wasteSettingsSources.countryService`,`Country & service`),columns:2,fields:[{type:`select`,key:`countryId`,label:K.t(`system.wasteSettingsSources.country`,`Country`),options:[{value:``,label:K.t(`system.wasteSettingsSources.selectCountry`,`Select country…`)},...e.map(e=>({value:e.id,label:e.label}))]},{type:`select`,key:`serviceId`,label:K.t(`system.wasteSettingsSources.service`,`Service`),options:[{value:``,label:n===``?K.t(`system.wasteSettingsSources.pickACountryFirst`,`Pick a country first`):K.t(`system.wasteSettingsSources.selectService`,`Select service…`)},...t.map(e=>({value:e.id,label:e.label}))]}]}]}}function Qe({addonId:e,capName:f}){let{t:m}=q(),h=b(),_=c(),v=re(),y=de({editKey:`wasteEdit`,newKey:`wasteNew`}),[x,ee]=r(!1),[te,S]=r(null),[C,w]=r({countryId:``,serviceId:``}),[T,E]=r({label:m(`system.wasteSettingsSources.newSource`,`New source`),enabled:!0}),D=l(null),O=typeof C.countryId==`string`?C.countryId:``,k=typeof C.serviceId==`string`?C.serviceId:``,j=i((t,n)=>h.trpcClient.addons.custom.mutate({addonId:e,action:t,input:n}),[e,h]),N=o({queryKey:[...We,e],queryFn:async()=>Je(await j(`listSources`,{}))}),ae=o({queryKey:[...Ge,e],queryFn:async()=>Ye(await j(`listCountries`,{}))}),oe=o({queryKey:[`wasteCollections`,`listServices`,e,O],enabled:O!==``,queryFn:async()=>Xe(await j(`listServices`,{countryId:O}))}),P=o({queryKey:[`wasteCollections`,`serviceFormSchema`,e,k],enabled:k!==``,queryFn:async()=>j(`serviceFormSchema`,{serviceId:k})}),F=N.data??[],I=ae.data??[],L=oe.data??[],R=qe(P.data)?P.data:void 0,le=n(()=>Ze(I,O===``?[]:L,O),[I,L,O]),z=y.state,B=z.mode===`edit`?F.find(e=>e.id===z.id)??null:null;t(()=>{if(y.state.mode===`edit`&&B!==null){let e=`edit:${B.id}`;if(D.current===e)return;D.current=e,S(null),w({countryId:B.countryId??``,serviceId:B.serviceId??``}),E(B.formValues===void 0?{label:B.label,enabled:B.enabled}:{...B.formValues});return}if(y.state.mode===`new`){if(D.current===`new`)return;D.current=`new`,S(null),w({countryId:``,serviceId:``}),E({label:m(`system.wasteSettingsSources.newSource`,`New source`),enabled:!0})}},[B,y.state]),t(()=>{if(y.state.mode!==`new`||k===``)return;let e=L.find(e=>e.id===k);e&&E(t=>{let n=t.label;return typeof n==`string`&&n!==``&&n!==`New source`?t:{...t,label:e.title}})},[y.state.mode,k,L]);let V=i(e=>{w(t=>{let n=typeof e.countryId==`string`?e.countryId:``;return n===(typeof t.countryId==`string`?t.countryId:``)?e:{countryId:n,serviceId:``}})},[]),H=i(async()=>{await _.invalidateQueries({queryKey:We})},[_]),U=u({mutationFn:async e=>j(`deleteSource`,{id:e}),onSuccess:async()=>H()}),W=i(async e=>{await v({title:m(`system.wasteSettingsSources.deleteWasteSource`,`Delete waste source?`),message:m(`system.wasteSettingsSources.removeItsCalendarUnderSystem`,`Remove “{{label}}” ({{id}}). Its calendar under System → Calendars is dropped.`,{label:e.label,id:e.id}),confirmLabel:m(`common.delete`,`Delete`),cancelLabel:m(`common.cancel`,`Cancel`),variant:`danger`})&&(await U.mutateAsync(e.id),y.state.mode===`edit`&&y.state.id===e.id&&(y.close(),D.current=null))},[v,U,y,m]),ue=i(async()=>{let e=T.label,t=typeof e==`string`&&e.trim()!==``?e.trim():``;if(t===``){S(`Label is required.`);return}if(k===``){S(`Pick a country and a service.`);return}let n=y.state.mode===`new`,r=B?.id;if(!n&&(r===void 0||r===``)){S(`That source is no longer available.`);return}let i=T.enabled,a={...T};delete a.label,delete a.enabled,ee(!0),S(null);try{n?await j(`createSource`,{label:t,serviceId:k,args:a,enabled:typeof i==`boolean`?i:!0}):r!==void 0&&await j(`updateSource`,{id:r,label:t,serviceId:k,args:a,enabled:typeof i==`boolean`?i:!0}),await H(),y.close(),D.current=null}catch(e){S(Ke(e))}finally{ee(!1)}},[j,B,y,T,H,k]),G=n(()=>[{key:`label`,header:m(`system.wasteSettingsSources.label`,`Label`),sortValue:e=>e.label,render:e=>d(`span`,{className:`text-sm text-foreground`,children:e.label})},{key:`module`,header:m(`system.wasteSettingsSources.module`,`Module`),sortValue:e=>e.module,render:e=>d(`span`,{className:`font-mono text-xs text-foreground-muted`,children:e.module})},{key:`enabled`,header:m(`system.wasteSettingsSources.enabled`,`Enabled`),sortValue:e=>+!!e.enabled,render:e=>d(A,{variant:e.enabled?`success`:`default`,children:e.enabled?m(`system.wasteSettingsSources.on`,`On`):m(`system.wasteSettingsSources.off`,`Off`)})},{key:`actions`,header:``,notSortableReason:`actions`,render:e=>d(M,{type:`button`,size:`sm`,variant:`ghost`,"aria-label":m(`system.wasteSettingsSources.delete`,`Delete {{label}}`,{label:e.label}),"data-testid":`waste-source-delete-${e.id}`,onClick:t=>{t.stopPropagation(),W(e)},children:d(p,{className:`h-3.5 w-3.5 text-danger`})})}],[W,m]),K=y.state.mode===`new`,J=K||B!==null,Y=`${k}:${K?`new`:B?.id??`closed`}`;return a(`div`,{className:`flex min-h-0 flex-col gap-4`,"data-testid":`waste-settings-sources`,children:[a(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[d(`p`,{className:`text-sm text-foreground-muted`,children:m(`system.wasteSettingsSources.pickACountryAndA`,`Pick a country and a service — configuration fields come from that HACS source.`)}),a(M,{type:`button`,size:`sm`,"data-testid":`waste-sources-add`,onClick:()=>y.openNew(),children:[d(g,{className:`h-3.5 w-3.5`}),m(`system.wasteSettingsSources.addSource`,`Add source`)]})]}),N.isError?d(`p`,{className:`text-sm text-danger`,children:m(`system.wasteSettingsSources.couldNotLoadSources`,`Could not load sources.`)}):null,N.isPending?d(ie,{className:`h-32 w-full`}):d(fe,{columns:G,rows:F,rowKey:e=>e.id,pageSize:25,emptyMessage:m(`system.wasteSettingsSources.noWasteSourcesYetAdd`,`No waste sources yet. Add one to register a municipal service.`),onRowClick:e=>y.openEdit(e.id),defaultSort:{columnKey:`label`,dir:`asc`}}),d(ce,{open:J,onClose:()=>{y.close(),S(null),D.current=null},title:K?m(`system.wasteSettingsSources.addWasteSource`,`Add waste source`):m(`system.wasteSettingsSources.edit`,`Edit {{value1}}`,{value1:B?.label??`source`}),icon:ne,width:`xl`,testId:`waste-source-editor`,error:te,footer:d(M,{type:`button`,size:`sm`,disabled:x||k===``,onClick:()=>void ue(),children:x?m(`system.wasteSettingsSources.saving`,`Saving…`):m(`common.save`,`Save`)}),children:J?a(s,{children:[d(`div`,{"data-testid":`waste-country-service`,children:d(se,{schema:le,values:C,onChange:V},`picker:${O}:${L.length}`)}),k!==``&&R!==void 0?d(se,{schema:R,values:T,onChange:E,bare:!0},Y):k!==``&&P.isPending?d(`p`,{className:`text-sm text-foreground-muted`,children:m(`system.wasteSettingsSources.loadingFields`,`Loading fields…`)}):d(`p`,{className:`text-sm text-foreground-muted`,children:m(`system.wasteSettingsSources.chooseACountryAndService`,`Choose a country and service to see the required fields.`)})]}):null}),d(ye,{nodeId:`hub`,addonIds:[e],level:`global`,capability:f,hideSectionChrome:!0})]})}e();var $e=1e4,et={"device-export":`exporters`,exporters:`exporters`,email:`email`,broker:`brokers`,brokers:`brokers`,"message-brokers":`brokers`,calendar:`calendars`,calendars:`calendars`,"calendar-source":`calendars`},tt=[{sectionId:`exporters`,kind:`device-export`,labelKey:`system.connectivity.exporters`,icon:_,installLabelKey:`system.connectivity.exportersInstall`,emptyTitleKey:`system.connectivity.exportersEmptyTitle`,emptyDescriptionKey:`system.connectivity.exportersEmptyDescription`},{sectionId:`email`,kind:`email`,labelKey:`system.connectivity.email`,icon:v,installLabelKey:`system.connectivity.emailInstall`,emptyTitleKey:`system.connectivity.emailEmptyTitle`,emptyDescriptionKey:`system.connectivity.emailEmptyDescription`},{sectionId:`brokers`,kind:`broker`,labelKey:`system.connectivity.brokers`,icon:x,installLabelKey:`system.connectivity.brokersInstall`,emptyTitleKey:`system.connectivity.brokersEmptyTitle`,emptyDescriptionKey:`system.connectivity.brokersEmptyDescription`},{sectionId:`calendars`,kind:`calendar`,labelKey:`system.connectivity.calendars`,icon:C,installLabelKey:`system.connectivity.calendarsInstall`,emptyTitleKey:`system.connectivity.calendarsEmptyTitle`,emptyDescriptionKey:`system.connectivity.calendarsEmptyDescription`}];function nt(e,t,n,r){let i=Ve(te,e.kind),o=t.flatMap(t=>{let r=He(t,i);if(r===null)return[];let o=Ue(t.processState);return[{id:t.addonId,name:t.displayName,fallbackIcon:e.icon,state:o.state,stateLabel:o.label,render:()=>d(be,{addonId:t.addonId,displayName:t.displayName,capName:r,isActive:t.processState===`running`,badges:a(s,{children:[d(ot,{processState:t.processState}),d(st,{kind:e.kind,addonId:t.addonId})]}),lead:e.kind===`device-export`?d(k,{addonId:t.addonId}):void 0,panels:at(e.kind,t.addonId,e=>n(`/devices/${e}`)),settingsContent:t.addonId===`waste-collections`?d(Qe,{addonId:t.addonId,capName:r}):void 0})}]});return{id:e.sectionId,label:r(e.labelKey),entries:o,install:{capability:i[0]??e.kind,label:r(e.installLabelKey)}}}function rt({descriptor:e,rows:t,isLoading:r}){let{t:i}=q(),a=he(),o=n(()=>nt(e,t,a,i),[e,t,a,i]);return d(xe,{embedded:!0,icon:e.icon,title:i(e.labelKey),subtitle:null,groups:[o],isLoading:r,emptyTitle:i(e.emptyTitleKey),emptyDescription:i(e.emptyDescriptionKey)})}function it(){let{t:e}=q(),r=B(void 0,{refetchInterval:$e}),[i,a]=pe(),o=ge(`/system/integrations`,{t:e,isAdmin:!0})??{icon:m,title:e(`admin.system.integrations.connectivity`,`Connectivity`)};t(()=>{let e=i.get(`tab`);if(e===null)return;let t=et[e];t===void 0||t===e||a(e=>{let n=new URLSearchParams(e);return n.set(`tab`,t),n},{replace:!0})},[i,a]);let s=n(()=>(r.data??[]).map(Be).filter(e=>e!==null),[r.data]),c=n(()=>tt.map(t=>({id:t.sectionId,label:e(t.labelKey),ownedParams:me,content:d(rt,{descriptor:t,rows:s,isLoading:r.isLoading})})),[r.isLoading,s,e]);return d(_e,{icon:o.icon,title:o.title,subtitle:e(`admin.system.integrations.externalSystemsThisHubTalks`,`External systems this hub talks to — exporters, email, brokers and calendar sources.`),defaultSection:`exporters`,sectionsLabel:`Connectivity sections`,sections:c})}function at(e,t,n){return e===`device-export`?[{id:`devices`,title:K.t(`admin.system.integrations.devices`,`Devices`),icon:E,placement:`end`,content:d(ae,{addonId:t,onOpenDevice:n,showSetup:!1})}]:e===`broker`?[{id:`connections`,title:K.t(`admin.system.integrations.connections`,`Connections`),icon:x,content:d(Le,{addonId:t,fallback:d(Ie,{addonId:t})})}]:[]}function ot({processState:e}){let{state:t,label:n}=Ue(e);return d(A,{variant:t===`ok`?`success`:t===`error`?`danger`:`default`,className:`${X} capitalize`,children:n})}function st({kind:e,addonId:t}){return e===`broker`?d(ct,{addonId:t}):e===`device-export`?d(lt,{addonId:t}):null}function ct({addonId:e}){let{t}=q(),{data:n}=W({addonId:e},{refetchInterval:$e,retry:!1}),r=S.safeParse(n);if(!r.success)return null;let{brokerCount:i,connectedCount:a}=r.data;return d(A,{variant:`info`,className:X,children:a>0?t(`system.connectivity.connectionsConnected`,{count:i,connected:a}):t(`system.connectivity.connections`,{count:i})})}function lt({addonId:e}){let{t}=q(),{data:n}=O({addonId:e},{refetchInterval:$e,retry:!1}),r=ee.safeParse(n);if(!r.success)return null;let{linkState:i,exposedDeviceCount:a}=r.data;return d(A,{variant:i===`linked`?`success`:i===`error`?`danger`:`default`,className:X,children:t(`admin.system.integrations.exposed`,`{{linkState}} · {{exposedDeviceCount}} exposed`,{linkState:i,exposedDeviceCount:a})})}export{it as IntegrationsPage};