@flamingo-stack/openframe-frontend-core 0.0.710 → 0.0.712

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 (534) hide show
  1. package/dist/chunk-2NASBO7O.js +1137 -0
  2. package/dist/{chunk-RQRX4YC3.cjs → chunk-2RKFMUNW.cjs} +46 -46
  3. package/dist/chunk-2Y7QZAB2.cjs +158 -0
  4. package/dist/chunk-34I6XI3N.js +136 -0
  5. package/dist/chunk-3K5ZLZE7.js +292 -0
  6. package/dist/chunk-3LU4UFPS.cjs +14 -0
  7. package/dist/{chunk-YBUT4AMG.cjs → chunk-3RKBJT6K.cjs} +8 -6
  8. package/dist/{chunk-LNW45N2C.js → chunk-3SEEGNRE.js} +35 -27
  9. package/dist/{chunk-L6Y6OOKG.cjs → chunk-3UAJLO5U.cjs} +41 -39
  10. package/dist/chunk-4HJRHEXD.cjs +1612 -0
  11. package/dist/{chunk-JPG7OHEG.js → chunk-4QFWGLZO.js} +1 -1
  12. package/dist/chunk-4R2L3DSA.js +14 -0
  13. package/dist/{chunk-36BCTE7D.js → chunk-4UYKNOZG.js} +12 -10
  14. package/dist/{chunk-DA5UDTLG.js → chunk-5SDELRH3.js} +5 -5
  15. package/dist/{chunk-CZSZSDD4.js → chunk-5Y72YQEK.js} +22 -113
  16. package/dist/{chunk-KUC673HM.js → chunk-6T3BTD6Q.js} +204 -982
  17. package/dist/{chunk-F57ECE2I.js → chunk-6YPTUHM7.js} +4 -4
  18. package/dist/{chunk-TDYIREDJ.js → chunk-7HNYYNKE.js} +28 -22
  19. package/dist/{chunk-2G7UYK35.cjs → chunk-7NSU5EQD.cjs} +57 -148
  20. package/dist/chunk-AAYNCJMW.cjs +48 -0
  21. package/dist/{chunk-FXJ3WWUB.js → chunk-ADBE7QF3.js} +5 -252
  22. package/dist/chunk-AECTRMGQ.cjs +334 -0
  23. package/dist/chunk-AGVXKD4K.js +334 -0
  24. package/dist/chunk-AL2GUHAJ.cjs +18 -0
  25. package/dist/{chunk-WMX26HB5.js → chunk-APJZBDQN.js} +12 -12
  26. package/dist/chunk-AUMKE74M.cjs +16 -0
  27. package/dist/chunk-B4NCVYEQ.cjs +292 -0
  28. package/dist/{chunk-2RNB5DTN.cjs → chunk-BXSRTBLU.cjs} +82 -54
  29. package/dist/chunk-CMGFZHCN.js +233 -0
  30. package/dist/chunk-CMZ3QTFQ.js +1207 -0
  31. package/dist/chunk-CPA2CKRZ.cjs +125 -0
  32. package/dist/{chunk-B73373AG.cjs → chunk-CSCJU6YC.cjs} +35 -33
  33. package/dist/chunk-CYUUHFXL.js +41 -0
  34. package/dist/chunk-DC4RTYWK.cjs +1122 -0
  35. package/dist/{chunk-6YKAT7NV.js → chunk-DDWFCWOE.js} +5 -7
  36. package/dist/{chunk-F5FF4DME.js → chunk-EFNKS5W4.js} +322 -428
  37. package/dist/{chunk-2KXTOP6G.cjs → chunk-EOKSKJSS.cjs} +25 -83
  38. package/dist/{chunk-6NTPY5QA.cjs → chunk-ETYLOZOB.cjs} +978 -2413
  39. package/dist/chunk-F5BPGWGT.cjs +931 -0
  40. package/dist/{chunk-4L6XCMOU.js → chunk-FCAVAEHF.js} +8277 -9990
  41. package/dist/chunk-FFT56TYB.cjs +401 -0
  42. package/dist/chunk-FYEJTF5Y.js +125 -0
  43. package/dist/chunk-G3GRYDMS.js +16 -0
  44. package/dist/{chunk-MR3A4MZV.js → chunk-G3OMVCID.js} +13 -7
  45. package/dist/chunk-G6OHIX5C.cjs +100 -0
  46. package/dist/{chunk-UDFRUKLC.cjs → chunk-GEDY7HQI.cjs} +2 -2
  47. package/dist/chunk-GQ7JJUIT.cjs +1207 -0
  48. package/dist/chunk-H3PKYE4N.js +18 -0
  49. package/dist/{chunk-CNWOMQQJ.js → chunk-H5R7U2D2.js} +206 -5
  50. package/dist/{chunk-SEXWHIMS.cjs → chunk-HETQETPV.cjs} +9648 -9680
  51. package/dist/{chunk-Y2GSOUCS.cjs → chunk-HWVUR735.cjs} +2 -2
  52. package/dist/chunk-II4QMH26.cjs +35 -0
  53. package/dist/chunk-ILNN6QRW.js +1612 -0
  54. package/dist/chunk-IYVFSLWJ.js +931 -0
  55. package/dist/{chunk-3AHTOSXJ.cjs → chunk-JGCFRTND.cjs} +23 -17
  56. package/dist/chunk-JHQ334WS.js +655 -0
  57. package/dist/{chunk-WCVZCGK5.cjs → chunk-JO5TLJPM.cjs} +129 -907
  58. package/dist/{chunk-JRU2CXLB.cjs → chunk-JVCAK4W3.cjs} +210 -9
  59. package/dist/chunk-KBJJQFYU.js +1122 -0
  60. package/dist/chunk-KEKCQENI.js +48 -0
  61. package/dist/chunk-KHXZFLIN.cjs +41 -0
  62. package/dist/chunk-KT3U3ZRP.cjs +1137 -0
  63. package/dist/chunk-L2VUINHN.js +35 -0
  64. package/dist/{chunk-P42V6N34.cjs → chunk-L6ZQGWCX.cjs} +4521 -6234
  65. package/dist/{chunk-PLYEKV3N.cjs → chunk-MA4Q5RBP.cjs} +6 -6
  66. package/dist/{chunk-SS5MBHDP.js → chunk-N67XG5GY.js} +10 -8
  67. package/dist/chunk-NPAQSMRY.js +2087 -0
  68. package/dist/{chunk-I3ST4PLM.js → chunk-NQWJAOHO.js} +6 -4
  69. package/dist/{chunk-QAOFMK2A.cjs → chunk-OBZJICEA.cjs} +8 -8
  70. package/dist/{chunk-6IW7TWPV.js → chunk-OPYODNV2.js} +3 -3
  71. package/dist/chunk-P3JMAMHP.js +401 -0
  72. package/dist/chunk-PPXR22YC.cjs +2087 -0
  73. package/dist/chunk-PSVSEN4J.cjs +655 -0
  74. package/dist/{chunk-4UM2ETLM.js → chunk-RBYVFPER.js} +74 -46
  75. package/dist/{chunk-PO33GZVY.js → chunk-ROBQ5TR7.js} +10549 -10581
  76. package/dist/{chunk-ZCLBYT2V.cjs → chunk-T3CLXR43.cjs} +114 -220
  77. package/dist/{chunk-FI6GMDO7.js → chunk-TTVOLEUS.js} +3605 -5040
  78. package/dist/{chunk-LM7TXMLU.cjs → chunk-ULWVKHSI.cjs} +8 -255
  79. package/dist/{chunk-6I4ZAFO2.cjs → chunk-UT3ODMBU.cjs} +15 -15
  80. package/dist/chunk-WANCBTUE.js +71 -0
  81. package/dist/{chunk-BIZNSF3U.cjs → chunk-WBNAEYTQ.cjs} +2 -51
  82. package/dist/chunk-WFPCCBOM.cjs +71 -0
  83. package/dist/chunk-WI6FHKD7.js +158 -0
  84. package/dist/chunk-WMNCVLES.js +100 -0
  85. package/dist/{chunk-UT4YHQZW.js → chunk-WSDT7LYL.js} +0 -49
  86. package/dist/chunk-WVOTC7HW.cjs +136 -0
  87. package/dist/{chunk-AOWDNSTM.cjs → chunk-WWJG4GVG.cjs} +93 -87
  88. package/dist/chunk-XXBLN4BP.cjs +233 -0
  89. package/dist/{chunk-4IBPRIQH.js → chunk-YBQQNDC7.js} +1 -1
  90. package/dist/{chunk-LFFB6EMB.js → chunk-YBS5QGON.js} +70 -128
  91. package/dist/{chunk-NSGXARGJ.cjs → chunk-Z5SWJW5Q.cjs} +125 -117
  92. package/dist/{chunk-OJLR5MEO.cjs → chunk-ZX7SCPLO.cjs} +6 -8
  93. package/dist/cloud-tenants-KZUZGD4A.cjs +117 -0
  94. package/dist/cloud-tenants-OGLVVQ7X.js +117 -0
  95. package/dist/components/case-studies/index.cjs +45 -29
  96. package/dist/components/case-studies/index.js +32 -16
  97. package/dist/components/chat/ask-prompts.d.ts +64 -0
  98. package/dist/components/chat/ask-prompts.d.ts.map +1 -0
  99. package/dist/components/chat/entity-cards/case-study-card.d.ts +6 -3
  100. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  101. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +4 -1
  102. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
  103. package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -1
  104. package/dist/components/chat/index.cjs +27 -8
  105. package/dist/components/chat/index.d.ts +1 -0
  106. package/dist/components/chat/index.d.ts.map +1 -1
  107. package/dist/components/chat/index.js +57 -38
  108. package/dist/components/chat/quick-action-chip.d.ts +7 -3
  109. package/dist/components/chat/quick-action-chip.d.ts.map +1 -1
  110. package/dist/components/chat/types/component.types.d.ts +4 -0
  111. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  112. package/dist/components/chat/types/unified-chat-state.types.d.ts +12 -0
  113. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  114. package/dist/components/contact/index.cjs +29 -13
  115. package/dist/components/contact/index.js +28 -12
  116. package/dist/components/docs/index.cjs +33 -16
  117. package/dist/components/docs/index.js +33 -16
  118. package/dist/components/docs/use-scroll-spy.d.ts +23 -1
  119. package/dist/components/docs/use-scroll-spy.d.ts.map +1 -1
  120. package/dist/components/embeds/index.cjs +29 -13
  121. package/dist/components/embeds/index.js +28 -12
  122. package/dist/components/faq/faq-section.d.ts +8 -1
  123. package/dist/components/faq/faq-section.d.ts.map +1 -1
  124. package/dist/components/faq/index.cjs +30 -14
  125. package/dist/components/faq/index.js +29 -13
  126. package/dist/components/features/array-entry-manager.d.ts +5 -1
  127. package/dist/components/features/array-entry-manager.d.ts.map +1 -1
  128. package/dist/components/features/board/board.d.ts +2 -0
  129. package/dist/components/features/board/board.d.ts.map +1 -1
  130. package/dist/components/features/board/ticket-card.d.ts.map +1 -1
  131. package/dist/components/features/board/touch-board.d.ts +1 -1
  132. package/dist/components/features/board/touch-board.d.ts.map +1 -1
  133. package/dist/components/features/board/types.d.ts +3 -0
  134. package/dist/components/features/board/types.d.ts.map +1 -1
  135. package/dist/components/features/board/use-board-collapse.d.ts +6 -1
  136. package/dist/components/features/board/use-board-collapse.d.ts.map +1 -1
  137. package/dist/components/features/capability-explorer.d.ts +94 -0
  138. package/dist/components/features/capability-explorer.d.ts.map +1 -0
  139. package/dist/components/features/cloud-tenants/index.d.ts +14 -0
  140. package/dist/components/features/cloud-tenants/index.d.ts.map +1 -0
  141. package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts +9 -0
  142. package/dist/components/features/cloud-tenants/tenant-access-cell.d.ts.map +1 -0
  143. package/dist/components/features/cloud-tenants/tenant-cell.d.ts +8 -0
  144. package/dist/components/features/cloud-tenants/tenant-cell.d.ts.map +1 -0
  145. package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts +9 -0
  146. package/dist/components/features/cloud-tenants/tenant-customer-cell.d.ts.map +1 -0
  147. package/dist/components/features/cloud-tenants/tenant-presentation.d.ts +42 -0
  148. package/dist/components/features/cloud-tenants/tenant-presentation.d.ts.map +1 -0
  149. package/dist/components/features/cloud-tenants/tenant-row.d.ts +22 -0
  150. package/dist/components/features/cloud-tenants/tenant-row.d.ts.map +1 -0
  151. package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts +42 -0
  152. package/dist/components/features/cloud-tenants/tenants-table-columns.d.ts.map +1 -0
  153. package/dist/components/features/cloud-tenants/tenants-table-view.d.ts +26 -0
  154. package/dist/components/features/cloud-tenants/tenants-table-view.d.ts.map +1 -0
  155. package/dist/components/features/devices/device-last-online.d.ts +3 -0
  156. package/dist/components/features/devices/device-last-online.d.ts.map +1 -0
  157. package/dist/components/features/devices/device-name.d.ts +42 -0
  158. package/dist/components/features/devices/device-name.d.ts.map +1 -0
  159. package/dist/components/features/devices/device-selector/device-selection-mode-radio.d.ts +26 -0
  160. package/dist/components/features/devices/device-selector/device-selection-mode-radio.d.ts.map +1 -0
  161. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts +25 -0
  162. package/dist/components/features/devices/device-selector/device-selector-skeleton.d.ts.map +1 -0
  163. package/dist/components/features/devices/device-selector/device-selector.d.ts +38 -0
  164. package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -0
  165. package/dist/components/features/devices/device-selector/device-selector.types.d.ts +133 -0
  166. package/dist/components/features/devices/device-selector/device-selector.types.d.ts.map +1 -0
  167. package/dist/components/features/devices/device-selector/narrowing.d.ts +13 -0
  168. package/dist/components/features/devices/device-selector/narrowing.d.ts.map +1 -0
  169. package/dist/components/features/devices/device-selector/use-device-selector.d.ts +17 -0
  170. package/dist/components/features/devices/device-selector/use-device-selector.d.ts.map +1 -0
  171. package/dist/components/features/devices/device-status.d.ts +23 -0
  172. package/dist/components/features/devices/device-status.d.ts.map +1 -0
  173. package/dist/components/features/devices/device-statuses.d.ts +40 -0
  174. package/dist/components/features/devices/device-statuses.d.ts.map +1 -0
  175. package/dist/components/features/devices/device-tags-filter-button.d.ts +22 -0
  176. package/dist/components/features/devices/device-tags-filter-button.d.ts.map +1 -0
  177. package/dist/components/features/devices/device-type-icon.d.ts +11 -0
  178. package/dist/components/features/devices/device-type-icon.d.ts.map +1 -0
  179. package/dist/components/features/devices/device-type-tile.d.ts +9 -0
  180. package/dist/components/features/devices/device-type-tile.d.ts.map +1 -0
  181. package/dist/components/features/devices/devices-filter-toolbar.d.ts +46 -0
  182. package/dist/components/features/devices/devices-filter-toolbar.d.ts.map +1 -0
  183. package/dist/components/features/devices/devices-grid-filters.d.ts +25 -0
  184. package/dist/components/features/devices/devices-grid-filters.d.ts.map +1 -0
  185. package/dist/components/features/devices/devices-grid.d.ts +12 -0
  186. package/dist/components/features/devices/devices-grid.d.ts.map +1 -0
  187. package/dist/components/features/devices/devices-list.d.ts +131 -0
  188. package/dist/components/features/devices/devices-list.d.ts.map +1 -0
  189. package/dist/components/features/devices/devices-panel-header.d.ts +46 -0
  190. package/dist/components/features/devices/devices-panel-header.d.ts.map +1 -0
  191. package/dist/components/features/devices/devices-panel-view.d.ts +79 -0
  192. package/dist/components/features/devices/devices-panel-view.d.ts.map +1 -0
  193. package/dist/components/features/devices/devices-table-columns.d.ts +76 -0
  194. package/dist/components/features/devices/devices-table-columns.d.ts.map +1 -0
  195. package/dist/components/features/devices/devices-view-config.d.ts +25 -0
  196. package/dist/components/features/devices/devices-view-config.d.ts.map +1 -0
  197. package/dist/components/features/devices/index.d.ts +24 -0
  198. package/dist/components/features/devices/index.d.ts.map +1 -0
  199. package/dist/components/features/devices/types.d.ts +68 -0
  200. package/dist/components/features/devices/types.d.ts.map +1 -0
  201. package/dist/components/features/devices/use-tag-filter-modal.d.ts +50 -0
  202. package/dist/components/features/devices/use-tag-filter-modal.d.ts.map +1 -0
  203. package/dist/components/features/index.cjs +227 -12
  204. package/dist/components/features/index.d.ts +7 -0
  205. package/dist/components/features/index.d.ts.map +1 -1
  206. package/dist/components/features/index.js +266 -51
  207. package/dist/components/features/knowledge-base/index.d.ts +7 -0
  208. package/dist/components/features/knowledge-base/index.d.ts.map +1 -0
  209. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts +44 -0
  210. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts.map +1 -0
  211. package/dist/components/features/knowledge-base/knowledge-base-item-icon.d.ts +13 -0
  212. package/dist/components/features/knowledge-base/knowledge-base-item-icon.d.ts.map +1 -0
  213. package/dist/components/features/knowledge-base/knowledge-base-status.d.ts +8 -0
  214. package/dist/components/features/knowledge-base/knowledge-base-status.d.ts.map +1 -0
  215. package/dist/components/features/knowledge-base/knowledge-base-table.d.ts +52 -0
  216. package/dist/components/features/knowledge-base/knowledge-base-table.d.ts.map +1 -0
  217. package/dist/components/features/logs/index.d.ts +12 -0
  218. package/dist/components/features/logs/index.d.ts.map +1 -0
  219. package/dist/components/features/logs/log-drawer.d.ts +29 -0
  220. package/dist/components/features/logs/log-drawer.d.ts.map +1 -0
  221. package/dist/components/features/logs/log-source-labels.d.ts +11 -0
  222. package/dist/components/features/logs/log-source-labels.d.ts.map +1 -0
  223. package/dist/components/features/logs/logs-page-view.d.ts +32 -0
  224. package/dist/components/features/logs/logs-page-view.d.ts.map +1 -0
  225. package/dist/components/features/logs/logs-table-columns.d.ts +15 -0
  226. package/dist/components/features/logs/logs-table-columns.d.ts.map +1 -0
  227. package/dist/components/features/logs/logs-table-view.d.ts +64 -0
  228. package/dist/components/features/logs/logs-table-view.d.ts.map +1 -0
  229. package/dist/components/features/logs/types.d.ts +52 -0
  230. package/dist/components/features/logs/types.d.ts.map +1 -0
  231. package/dist/components/features/policies/compute-policy-summary.d.ts +37 -0
  232. package/dist/components/features/policies/compute-policy-summary.d.ts.map +1 -0
  233. package/dist/components/features/policies/index.d.ts +8 -0
  234. package/dist/components/features/policies/index.d.ts.map +1 -0
  235. package/dist/components/features/policies/policies-table.d.ts +34 -0
  236. package/dist/components/features/policies/policies-table.d.ts.map +1 -0
  237. package/dist/components/features/policies/policy-summary-cards.d.ts +17 -0
  238. package/dist/components/features/policies/policy-summary-cards.d.ts.map +1 -0
  239. package/dist/components/features/policies/policy-table-row.d.ts +37 -0
  240. package/dist/components/features/policies/policy-table-row.d.ts.map +1 -0
  241. package/dist/components/features/remote-session/index.d.ts +8 -0
  242. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  243. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +21 -0
  244. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -0
  245. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts +31 -0
  246. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -0
  247. package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.d.ts +21 -0
  248. package/dist/components/features/remote-session/remote-desktop-fullscreen-toolbar.d.ts.map +1 -0
  249. package/dist/components/features/remote-session/remote-desktop-view.d.ts +50 -0
  250. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -0
  251. package/dist/components/features/software/index.d.ts +8 -0
  252. package/dist/components/features/software/index.d.ts.map +1 -0
  253. package/dist/components/features/software/package-managers.d.ts +30 -0
  254. package/dist/components/features/software/package-managers.d.ts.map +1 -0
  255. package/dist/components/features/software/package-search-field-placeholder.d.ts +7 -0
  256. package/dist/components/features/software/package-search-field-placeholder.d.ts.map +1 -0
  257. package/dist/components/features/software/schedule-fields.d.ts +34 -0
  258. package/dist/components/features/software/schedule-fields.d.ts.map +1 -0
  259. package/dist/components/features/software/software-action-copy.d.ts +25 -0
  260. package/dist/components/features/software/software-action-copy.d.ts.map +1 -0
  261. package/dist/components/features/software/software-action-form.d.ts +71 -0
  262. package/dist/components/features/software/software-action-form.d.ts.map +1 -0
  263. package/dist/components/features/software/software-row-fields.d.ts +23 -0
  264. package/dist/components/features/software/software-row-fields.d.ts.map +1 -0
  265. package/dist/components/features/software/software-row.d.ts +18 -0
  266. package/dist/components/features/software/software-row.d.ts.map +1 -0
  267. package/dist/components/features/sortable-list/index.d.ts +1 -0
  268. package/dist/components/features/sortable-list/index.d.ts.map +1 -1
  269. package/dist/components/features/sortable-list/sortable-drag-handle.d.ts +21 -0
  270. package/dist/components/features/sortable-list/sortable-drag-handle.d.ts.map +1 -0
  271. package/dist/components/help-center-pages/index.cjs +133 -114
  272. package/dist/components/help-center-pages/index.js +58 -39
  273. package/dist/components/index.cjs +320 -82
  274. package/dist/components/index.js +451 -213
  275. package/dist/components/layout/page-heading.d.ts +12 -3
  276. package/dist/components/layout/page-heading.d.ts.map +1 -1
  277. package/dist/components/meeting-scheduler/index.cjs +120 -98
  278. package/dist/components/meeting-scheduler/index.js +50 -28
  279. package/dist/components/navigation/index.cjs +36 -17
  280. package/dist/components/navigation/index.d.ts +3 -0
  281. package/dist/components/navigation/index.d.ts.map +1 -1
  282. package/dist/components/navigation/index.js +36 -17
  283. package/dist/components/navigation/mingo-ai-button.d.ts +23 -10
  284. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  285. package/dist/components/navigation/sticky-section-nav.d.ts +14 -1
  286. package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
  287. package/dist/components/onboarding-guides/index.cjs +32 -16
  288. package/dist/components/onboarding-guides/index.js +31 -15
  289. package/dist/components/product-demo/cast.d.ts +58 -0
  290. package/dist/components/product-demo/cast.d.ts.map +1 -0
  291. package/dist/components/product-demo/fixtures/cloud-tenants.d.ts +10 -0
  292. package/dist/components/product-demo/fixtures/cloud-tenants.d.ts.map +1 -0
  293. package/dist/components/product-demo/fixtures/devices.d.ts +14 -0
  294. package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -0
  295. package/dist/components/product-demo/fixtures/knowledge.d.ts +14 -0
  296. package/dist/components/product-demo/fixtures/knowledge.d.ts.map +1 -0
  297. package/dist/components/product-demo/fixtures/logs.d.ts +15 -0
  298. package/dist/components/product-demo/fixtures/logs.d.ts.map +1 -0
  299. package/dist/components/product-demo/fixtures/policies.d.ts +13 -0
  300. package/dist/components/product-demo/fixtures/policies.d.ts.map +1 -0
  301. package/dist/components/product-demo/fixtures/remote-session.d.ts +20 -0
  302. package/dist/components/product-demo/fixtures/remote-session.d.ts.map +1 -0
  303. package/dist/components/product-demo/fixtures/shared.d.ts +156 -0
  304. package/dist/components/product-demo/fixtures/shared.d.ts.map +1 -0
  305. package/dist/components/product-demo/fixtures/software-update.d.ts +19 -0
  306. package/dist/components/product-demo/fixtures/software-update.d.ts.map +1 -0
  307. package/dist/components/product-demo/fixtures/tickets-board.d.ts +8 -0
  308. package/dist/components/product-demo/fixtures/tickets-board.d.ts.map +1 -0
  309. package/dist/components/product-demo/index.cjs +112 -0
  310. package/dist/components/product-demo/index.d.ts +6 -0
  311. package/dist/components/product-demo/index.d.ts.map +1 -0
  312. package/dist/components/product-demo/index.js +112 -0
  313. package/dist/components/product-demo/product-screen.d.ts +22 -0
  314. package/dist/components/product-demo/product-screen.d.ts.map +1 -0
  315. package/dist/components/product-demo/registry.d.ts +13 -0
  316. package/dist/components/product-demo/registry.d.ts.map +1 -0
  317. package/dist/components/product-demo/screen-keys.cjs +25 -0
  318. package/dist/components/product-demo/screen-keys.d.ts +27 -0
  319. package/dist/components/product-demo/screen-keys.d.ts.map +1 -0
  320. package/dist/components/product-demo/screen-keys.js +20 -0
  321. package/dist/components/product-demo/screens/cloud-tenants.d.ts +8 -0
  322. package/dist/components/product-demo/screens/cloud-tenants.d.ts.map +1 -0
  323. package/dist/components/product-demo/screens/devices.d.ts +10 -0
  324. package/dist/components/product-demo/screens/devices.d.ts.map +1 -0
  325. package/dist/components/product-demo/screens/knowledge.d.ts +9 -0
  326. package/dist/components/product-demo/screens/knowledge.d.ts.map +1 -0
  327. package/dist/components/product-demo/screens/logs.d.ts +4 -0
  328. package/dist/components/product-demo/screens/logs.d.ts.map +1 -0
  329. package/dist/components/product-demo/screens/policies.d.ts +8 -0
  330. package/dist/components/product-demo/screens/policies.d.ts.map +1 -0
  331. package/dist/components/product-demo/screens/remote-desktop-picture.d.ts +11 -0
  332. package/dist/components/product-demo/screens/remote-desktop-picture.d.ts.map +1 -0
  333. package/dist/components/product-demo/screens/remote-session.d.ts +8 -0
  334. package/dist/components/product-demo/screens/remote-session.d.ts.map +1 -0
  335. package/dist/components/product-demo/screens/software-update.d.ts +12 -0
  336. package/dist/components/product-demo/screens/software-update.d.ts.map +1 -0
  337. package/dist/components/product-demo/screens/tickets-board.d.ts +4 -0
  338. package/dist/components/product-demo/screens/tickets-board.d.ts.map +1 -0
  339. package/dist/components/product-demo/types.d.ts +9 -0
  340. package/dist/components/product-demo/types.d.ts.map +1 -0
  341. package/dist/components/related-content/index.cjs +14 -8
  342. package/dist/components/related-content/index.js +13 -7
  343. package/dist/components/tickets/index.cjs +36 -20
  344. package/dist/components/tickets/index.js +35 -19
  345. package/dist/components/ui/file-manager/index.cjs +38 -34
  346. package/dist/components/ui/file-manager/index.js +8 -4
  347. package/dist/components/ui/index.cjs +57 -17
  348. package/dist/components/ui/index.d.ts +1 -0
  349. package/dist/components/ui/index.d.ts.map +1 -1
  350. package/dist/components/ui/index.js +141 -101
  351. package/dist/components/ui/product-screen-frame.d.ts +45 -0
  352. package/dist/components/ui/product-screen-frame.d.ts.map +1 -0
  353. package/dist/components/ui/radio-group.d.ts +5 -0
  354. package/dist/components/ui/radio-group.d.ts.map +1 -1
  355. package/dist/components/ui/snap-carousel.d.ts +11 -1
  356. package/dist/components/ui/snap-carousel.d.ts.map +1 -1
  357. package/dist/components/ui/tag.d.ts +1 -1
  358. package/dist/components/ui/tag.d.ts.map +1 -1
  359. package/dist/devices-LBMG42K6.js +81 -0
  360. package/dist/devices-YGYJIXQY.cjs +81 -0
  361. package/dist/hooks/index.cjs +17 -8
  362. package/dist/hooks/index.js +32 -23
  363. package/dist/hooks/ui/index.d.ts +1 -0
  364. package/dist/hooks/ui/index.d.ts.map +1 -1
  365. package/dist/hooks/ui/use-header-height.d.ts +12 -0
  366. package/dist/hooks/ui/use-header-height.d.ts.map +1 -1
  367. package/dist/hooks/ui/use-sticky-toolbar.d.ts +29 -0
  368. package/dist/hooks/ui/use-sticky-toolbar.d.ts.map +1 -0
  369. package/dist/hooks/use-location-hash.d.ts +2 -2
  370. package/dist/hooks/use-location-hash.d.ts.map +1 -1
  371. package/dist/hooks/use-scroll-to-hash.d.ts +7 -0
  372. package/dist/hooks/use-scroll-to-hash.d.ts.map +1 -1
  373. package/dist/index.cjs +276 -25
  374. package/dist/index.js +729 -478
  375. package/dist/knowledge-H5BIWJVI.js +108 -0
  376. package/dist/knowledge-KTCVJIWN.cjs +108 -0
  377. package/dist/logs-DB5Z7M5Q.js +216 -0
  378. package/dist/logs-RVCC2UQW.cjs +216 -0
  379. package/dist/policies-EWUULFBR.js +121 -0
  380. package/dist/policies-HV4IQCBV.cjs +121 -0
  381. package/dist/remote-session-GSGZOFDX.js +196 -0
  382. package/dist/remote-session-R6VAFESR.cjs +196 -0
  383. package/dist/software-update-6PXKRKBT.js +179 -0
  384. package/dist/software-update-D4OVSWSG.cjs +179 -0
  385. package/dist/tickets-board-BHLPAVNJ.cjs +137 -0
  386. package/dist/tickets-board-PYDNELSK.js +137 -0
  387. package/dist/types/case-study.d.ts +15 -1
  388. package/dist/types/case-study.d.ts.map +1 -1
  389. package/dist/utils/date-utils.d.ts +5 -0
  390. package/dist/utils/date-utils.d.ts.map +1 -1
  391. package/dist/utils/index.cjs +45 -2
  392. package/dist/utils/index.d.ts +2 -1
  393. package/dist/utils/index.d.ts.map +1 -1
  394. package/dist/utils/index.js +41 -3
  395. package/dist/utils/open-in-new-tab.d.ts +7 -0
  396. package/dist/utils/open-in-new-tab.d.ts.map +1 -0
  397. package/dist/utils/same-page-hash-nav.d.ts +31 -0
  398. package/dist/utils/same-page-hash-nav.d.ts.map +1 -1
  399. package/dist/utils/scroll-into-view.d.ts +14 -1
  400. package/dist/utils/scroll-into-view.d.ts.map +1 -1
  401. package/package.json +13 -1
  402. package/src/components/chat/ask-prompts.tsx +226 -0
  403. package/src/components/chat/embeddable-chat.tsx +38 -2
  404. package/src/components/chat/entity-cards/case-study-card.tsx +122 -46
  405. package/src/components/chat/hooks/use-chat-dialog-manager.ts +22 -4
  406. package/src/components/chat/hooks/use-unified-chat.ts +1 -0
  407. package/src/components/chat/index.ts +1 -0
  408. package/src/components/chat/quick-action-chip.tsx +33 -9
  409. package/src/components/chat/types/component.types.ts +4 -0
  410. package/src/components/chat/types/unified-chat-state.types.ts +13 -0
  411. package/src/components/docs/use-scroll-spy.ts +93 -18
  412. package/src/components/faq/faq-section.tsx +82 -43
  413. package/src/components/features/array-entry-manager.tsx +10 -1
  414. package/src/components/features/board/board.tsx +4 -1
  415. package/src/components/features/board/ticket-card.tsx +11 -1
  416. package/src/components/features/board/touch-board.tsx +2 -1
  417. package/src/components/features/board/types.ts +3 -0
  418. package/src/components/features/board/use-board-collapse.ts +7 -2
  419. package/src/components/features/capability-explorer.tsx +412 -0
  420. package/src/components/features/cloud-tenants/index.ts +28 -0
  421. package/src/components/features/cloud-tenants/tenant-access-cell.tsx +24 -0
  422. package/src/components/features/cloud-tenants/tenant-cell.tsx +26 -0
  423. package/src/components/features/cloud-tenants/tenant-customer-cell.tsx +27 -0
  424. package/src/components/features/cloud-tenants/tenant-presentation.ts +111 -0
  425. package/src/components/features/cloud-tenants/tenant-row.ts +21 -0
  426. package/src/components/features/cloud-tenants/tenants-table-columns.ts +30 -0
  427. package/src/components/features/cloud-tenants/tenants-table-view.tsx +142 -0
  428. package/src/components/features/devices/device-last-online.ts +6 -0
  429. package/src/components/features/devices/device-name.ts +51 -0
  430. package/src/components/features/devices/device-selector/device-selection-mode-radio.tsx +107 -0
  431. package/src/components/features/devices/device-selector/device-selector-skeleton.tsx +32 -0
  432. package/src/components/features/devices/device-selector/device-selector.tsx +799 -0
  433. package/src/components/features/devices/device-selector/device-selector.types.ts +138 -0
  434. package/src/components/features/devices/device-selector/narrowing.ts +33 -0
  435. package/src/components/features/devices/device-selector/use-device-selector.ts +51 -0
  436. package/src/components/features/devices/device-status.ts +102 -0
  437. package/src/components/features/devices/device-statuses.ts +88 -0
  438. package/src/components/features/devices/device-tags-filter-button.tsx +49 -0
  439. package/src/components/features/devices/device-type-icon.tsx +29 -0
  440. package/src/components/features/devices/device-type-tile.tsx +17 -0
  441. package/src/components/features/devices/devices-filter-toolbar.tsx +114 -0
  442. package/src/components/features/devices/devices-grid-filters.tsx +99 -0
  443. package/src/components/features/devices/devices-grid.tsx +86 -0
  444. package/src/components/features/devices/devices-list.tsx +357 -0
  445. package/src/components/features/devices/devices-panel-header.tsx +97 -0
  446. package/src/components/features/devices/devices-panel-view.tsx +261 -0
  447. package/src/components/features/devices/devices-table-columns.tsx +356 -0
  448. package/src/components/features/devices/devices-view-config.tsx +38 -0
  449. package/src/components/features/devices/index.ts +89 -0
  450. package/src/components/features/devices/types.ts +74 -0
  451. package/src/components/features/devices/use-tag-filter-modal.ts +109 -0
  452. package/src/components/features/index.ts +9 -0
  453. package/src/components/features/knowledge-base/index.ts +19 -0
  454. package/src/components/features/knowledge-base/knowledge-base-article-view.tsx +134 -0
  455. package/src/components/features/knowledge-base/knowledge-base-item-icon.ts +14 -0
  456. package/src/components/features/knowledge-base/knowledge-base-status.ts +12 -0
  457. package/src/components/features/knowledge-base/knowledge-base-table.tsx +180 -0
  458. package/src/components/features/logs/index.ts +20 -0
  459. package/src/components/features/logs/log-drawer.tsx +138 -0
  460. package/src/components/features/logs/log-source-labels.ts +25 -0
  461. package/src/components/features/logs/logs-page-view.tsx +100 -0
  462. package/src/components/features/logs/logs-table-columns.ts +16 -0
  463. package/src/components/features/logs/logs-table-view.tsx +509 -0
  464. package/src/components/features/logs/types.ts +71 -0
  465. package/src/components/features/policies/compute-policy-summary.ts +115 -0
  466. package/src/components/features/policies/index.ts +14 -0
  467. package/src/components/features/policies/policies-table.tsx +235 -0
  468. package/src/components/features/policies/policy-summary-cards.tsx +69 -0
  469. package/src/components/features/policies/policy-table-row.ts +37 -0
  470. package/src/components/features/remote-session/index.ts +8 -0
  471. package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +56 -0
  472. package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +102 -0
  473. package/src/components/features/remote-session/remote-desktop-fullscreen-toolbar.tsx +119 -0
  474. package/src/components/features/remote-session/remote-desktop-view.tsx +209 -0
  475. package/src/components/features/software/index.ts +39 -0
  476. package/src/components/features/software/package-managers.ts +54 -0
  477. package/src/components/features/software/package-search-field-placeholder.tsx +23 -0
  478. package/src/components/features/software/schedule-fields.tsx +105 -0
  479. package/src/components/features/software/software-action-copy.ts +70 -0
  480. package/src/components/features/software/software-action-form.tsx +199 -0
  481. package/src/components/features/software/software-row-fields.tsx +105 -0
  482. package/src/components/features/software/software-row.ts +22 -0
  483. package/src/components/features/sortable-list/index.ts +1 -0
  484. package/src/components/features/sortable-list/sortable-drag-handle.tsx +41 -0
  485. package/src/components/layout/page-heading.tsx +23 -6
  486. package/src/components/navigation/index.ts +5 -0
  487. package/src/components/navigation/mingo-ai-button.tsx +37 -13
  488. package/src/components/navigation/sticky-section-nav.tsx +99 -1
  489. package/src/components/product-demo/cast.tsx +78 -0
  490. package/src/components/product-demo/fixtures/cloud-tenants.ts +63 -0
  491. package/src/components/product-demo/fixtures/devices.ts +87 -0
  492. package/src/components/product-demo/fixtures/knowledge.ts +48 -0
  493. package/src/components/product-demo/fixtures/logs.ts +103 -0
  494. package/src/components/product-demo/fixtures/policies.ts +77 -0
  495. package/src/components/product-demo/fixtures/remote-session.ts +65 -0
  496. package/src/components/product-demo/fixtures/shared.ts +53 -0
  497. package/src/components/product-demo/fixtures/software-update.ts +63 -0
  498. package/src/components/product-demo/fixtures/tickets-board.ts +100 -0
  499. package/src/components/product-demo/index.ts +7 -0
  500. package/src/components/product-demo/product-screen.tsx +94 -0
  501. package/src/components/product-demo/registry.ts +20 -0
  502. package/src/components/product-demo/screen-keys.ts +31 -0
  503. package/src/components/product-demo/screens/cloud-tenants.tsx +23 -0
  504. package/src/components/product-demo/screens/devices.tsx +41 -0
  505. package/src/components/product-demo/screens/knowledge.tsx +27 -0
  506. package/src/components/product-demo/screens/logs.tsx +113 -0
  507. package/src/components/product-demo/screens/policies.tsx +29 -0
  508. package/src/components/product-demo/screens/remote-desktop-picture.tsx +118 -0
  509. package/src/components/product-demo/screens/remote-session.tsx +46 -0
  510. package/src/components/product-demo/screens/software-update.tsx +97 -0
  511. package/src/components/product-demo/screens/tickets-board.tsx +28 -0
  512. package/src/components/product-demo/types.ts +10 -0
  513. package/src/components/ui/index.ts +1 -0
  514. package/src/components/ui/product-screen-frame.tsx +136 -0
  515. package/src/components/ui/radio-group.tsx +16 -4
  516. package/src/components/ui/snap-carousel.tsx +26 -1
  517. package/src/components/ui/tag.tsx +5 -0
  518. package/src/hooks/ui/index.ts +1 -0
  519. package/src/hooks/ui/use-header-height.ts +51 -2
  520. package/src/hooks/ui/use-sticky-toolbar.ts +60 -0
  521. package/src/hooks/use-location-hash.ts +9 -5
  522. package/src/hooks/use-scroll-to-hash.ts +9 -1
  523. package/src/types/case-study.ts +21 -1
  524. package/src/utils/date-utils.ts +8 -1
  525. package/src/utils/index.ts +5 -0
  526. package/src/utils/open-in-new-tab.ts +12 -0
  527. package/src/utils/same-page-hash-nav.ts +57 -0
  528. package/src/utils/scroll-into-view.ts +21 -5
  529. package/dist/chunk-BM5MVGH3.cjs +0 -499
  530. package/dist/chunk-CUME3VTQ.js +0 -144
  531. package/dist/chunk-CZ7Y7UG4.js +0 -732
  532. package/dist/chunk-FLKJYMVB.js +0 -499
  533. package/dist/chunk-OF6GEI5A.cjs +0 -144
  534. package/dist/chunk-UVTD52MD.cjs +0 -732
@@ -0,0 +1,52 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type ColumnDef } from '../../ui/data-table';
3
+ import { type KnowledgeBaseArticleStatus } from './knowledge-base-status';
4
+ export type KnowledgeBaseRowType = 'ARTICLE' | 'FOLDER' | string;
5
+ export type KnowledgeBaseRowStatus = KnowledgeBaseArticleStatus | string | null | undefined;
6
+ export interface KnowledgeBaseRow {
7
+ readonly id: string;
8
+ readonly type: KnowledgeBaseRowType;
9
+ readonly name: string;
10
+ readonly parentId?: string | null;
11
+ readonly status?: KnowledgeBaseRowStatus;
12
+ readonly summary?: string | null;
13
+ readonly createdAt?: string | null;
14
+ readonly updatedAt?: string | null;
15
+ readonly tags?: ReadonlyArray<{
16
+ readonly id: string;
17
+ readonly key: string;
18
+ readonly color?: string | null;
19
+ }>;
20
+ }
21
+ export type KnowledgeBaseTableMode = 'standard' | 'archive';
22
+ /** Where a row leads: the article's page, or the folder's listing. */
23
+ export type KnowledgeBaseRowHref = (item: KnowledgeBaseRow) => string;
24
+ /**
25
+ * Click handler that opens `href` in a new tab. The button sits inside a row
26
+ * that renders as a link, and `<a>` cannot be nested inside `<a>`, so it is a
27
+ * `<button>` that opens the tab itself.
28
+ */
29
+ /** The trailing "open in new tab" column. */
30
+ export declare function getKnowledgeBaseOpenColumn(getHref: KnowledgeBaseRowHref): ColumnDef<KnowledgeBaseRow>;
31
+ export declare function getKnowledgeBaseColumns(mode: KnowledgeBaseTableMode): ColumnDef<KnowledgeBaseRow>[];
32
+ export interface KnowledgeBaseTableBodyProps {
33
+ items: KnowledgeBaseRow[];
34
+ /**
35
+ * Where a row leads, for the row link and the "open in new tab" button.
36
+ * Pass a stable function (module level or `useCallback`): the columns and
37
+ * the rows are memoized on it.
38
+ */
39
+ getHref: KnowledgeBaseRowHref;
40
+ mode?: KnowledgeBaseTableMode;
41
+ isLoading?: boolean;
42
+ emptyMessage?: string;
43
+ skeletonRows?: number;
44
+ stickyHeaderOffset?: string;
45
+ footerSlot?: ReactNode;
46
+ actionsColumn?: ColumnDef<KnowledgeBaseRow>;
47
+ totalCount?: number;
48
+ /** The narrow rendering: the name column and the row actions only (no date, no "open in new tab"). */
49
+ compact?: boolean;
50
+ }
51
+ export declare function KnowledgeBaseTableBody({ items, getHref, mode, isLoading, emptyMessage, skeletonRows, stickyHeaderOffset, footerSlot, actionsColumn, totalCount, compact, }: KnowledgeBaseTableBodyProps): import("react").JSX.Element;
52
+ //# sourceMappingURL=knowledge-base-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-base-table.d.ts","sourceRoot":"","sources":["../../../../src/components/features/knowledge-base/knowledge-base-table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAKhD,OAAO,EAAE,KAAK,SAAS,EAAqC,MAAM,qBAAqB,CAAC;AAIxF,OAAO,EAAiC,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEzG,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC9G;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE5D,sEAAsE;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,MAAM,CAAC;AAEtE;;;;GAIG;AACH,6CAA6C;AAC7C,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAkBrG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,SAAS,CAAC,gBAAgB,CAAC,EAAE,CA2DnG;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B;;;;OAIG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAC9B,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sGAAsG;IACtG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,OAAO,EACP,IAAiB,EACjB,SAAS,EACT,YAAgC,EAChC,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,UAAU,EACV,OAAe,GAChB,EAAE,2BAA2B,+BA0B7B"}
@@ -0,0 +1,12 @@
1
+ export { LogDrawer } from './log-drawer';
2
+ export type { LogDrawerInfoField, LogDrawerProps } from './log-drawer';
3
+ export { logSourceLabels, SYSTEM_SOURCE_LABEL } from './log-source-labels';
4
+ export type { LogSourceLabels } from './log-source-labels';
5
+ export { LogCopyIconButton, LogsPageView } from './logs-page-view';
6
+ export type { LogCopyIconButtonProps, LogsPageViewProps } from './logs-page-view';
7
+ export { LOG_COLUMN_WIDTHS } from './logs-table-columns';
8
+ export { LogsTableSkeleton, LogsTableView } from './logs-table-view';
9
+ export type { LogsTableGuideButton, LogsTableSkeletonProps, LogsTableViewProps } from './logs-table-view';
10
+ export { logSeverityVariant } from './types';
11
+ export type { LogsTableColumnId, LogsTableDateFilter, LogsTableFacets, LogsTableFilterOption, LogStatusVariant, UiLogEntry, } from './types';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/logs/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,GACX,MAAM,SAAS,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type TagProps } from '../../ui/tag';
3
+ export interface LogDrawerInfoField {
4
+ label: string;
5
+ value: string | ReactNode;
6
+ }
7
+ export interface LogDrawerProps {
8
+ isOpen: boolean;
9
+ onClose: () => void;
10
+ description: ReactNode;
11
+ statusTag?: {
12
+ label: string;
13
+ variant?: TagProps['variant'];
14
+ };
15
+ timestamp?: string;
16
+ infoFields?: LogDrawerInfoField[];
17
+ /** The device the log belongs to, pinned to the bottom. The host renders the card. */
18
+ deviceCard?: ReactNode;
19
+ /** Drawn under the info card, for example a Copy action. */
20
+ children?: ReactNode;
21
+ /**
22
+ * The drawer sits in a box of its own beside the content instead of over it:
23
+ * no backdrop. The box is the element `AppLayoutDrawerContainerContext`
24
+ * provides (a positioned element the host renders next to the table).
25
+ */
26
+ docked?: boolean;
27
+ }
28
+ export declare function LogDrawer({ isOpen, onClose, description, statusTag, timestamp, infoFields, deviceCard, children, docked, }: LogDrawerProps): import("react").JSX.Element;
29
+ //# sourceMappingURL=log-drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-drawer.d.ts","sourceRoot":"","sources":["../../../../src/components/features/logs/log-drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASvC,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAUlD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC/B,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,sFAAsF;IACtF,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAc,GACf,EAAE,cAAc,+BA+EhB"}
@@ -0,0 +1,11 @@
1
+ /** The Source column's label for a system event, which has no device. */
2
+ export declare const SYSTEM_SOURCE_LABEL = "System";
3
+ export interface LogSourceLabels {
4
+ deviceName: string;
5
+ organization: string | undefined;
6
+ }
7
+ export declare function logSourceLabels(device: {
8
+ name: string;
9
+ organization?: string;
10
+ }): LogSourceLabels;
11
+ //# sourceMappingURL=log-source-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-source-labels.d.ts","sourceRoot":"","sources":["../../../../src/components/features/logs/log-source-labels.ts"],"names":[],"mappings":"AAWA,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAKhG"}
@@ -0,0 +1,32 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface LogsPageViewProps {
3
+ /** The table (and whatever boundary the host loads it under). */
4
+ children: ReactNode;
5
+ /** The header's Refresh action. */
6
+ onRefresh?: () => void;
7
+ /** Render the page header (title and Refresh). Default true; a section with its own heading passes false. */
8
+ showHeader?: boolean;
9
+ className?: string;
10
+ /** The search field's text. */
11
+ search: string;
12
+ onSearchChange: (value: string) => void;
13
+ /** Hide the search toolbar: there is nothing to search yet. */
14
+ hideSearch?: boolean;
15
+ /** The narrow layout's filter button. */
16
+ onOpenFilters?: () => void;
17
+ }
18
+ /**
19
+ * The Logs page chrome: the header with its Refresh action and the search
20
+ * toolbar, around the table. The toolbar sits outside the table so the field
21
+ * keeps focus while the host loads another result.
22
+ */
23
+ export declare function LogsPageView({ children, onRefresh, showHeader, className, search, onSearchChange, hideSearch, onOpenFilters, }: LogsPageViewProps): import("react").JSX.Element;
24
+ export interface LogCopyIconButtonProps {
25
+ onClick?: () => void;
26
+ /** The copy just succeeded: the icon is a check. */
27
+ copied?: boolean;
28
+ disabled?: boolean;
29
+ }
30
+ /** A row's "Copy log details" icon button. The host fetches the log and copies it. */
31
+ export declare function LogCopyIconButton({ onClick, copied, disabled }: LogCopyIconButtonProps): import("react").JSX.Element;
32
+ //# sourceMappingURL=logs-page-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs-page-view.d.ts","sourceRoot":"","sources":["../../../../src/components/features/logs/logs-page-view.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAMhD,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,QAAQ,EAAE,SAAS,CAAC;IACpB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,6GAA6G;IAC7G,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,MAAM,EACN,cAAc,EACd,UAAkB,EAClB,aAAa,GACd,EAAE,iBAAiB,+BAsCnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAc,EAAE,QAAgB,EAAE,EAAE,sBAAsB,+BAYtG"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Column widths of the logs table. Data-only, read by the live table and by
3
+ * `LogsTableSkeleton`, so the header row cannot drift from the rows it stands in
4
+ * for and a width is changed in one place.
5
+ */
6
+ export declare const LOG_COLUMN_WIDTHS: {
7
+ readonly logId: "w-[200px]";
8
+ readonly status: "w-[120px]";
9
+ readonly tool: "w-[240px]";
10
+ readonly source: "w-[120px]";
11
+ readonly description: "flex-1";
12
+ /** One icon button. */
13
+ readonly action: "w-12 shrink-0 flex-none";
14
+ };
15
+ //# sourceMappingURL=logs-table-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs-table-columns.d.ts","sourceRoot":"","sources":["../../../../src/components/features/logs/logs-table-columns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;IAQ5B,uBAAuB;;CAEf,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type NoDataProps } from '../../ui/no-data';
3
+ import type { LogsTableColumnId, LogsTableDateFilter, LogsTableFacets, UiLogEntry } from './types';
4
+ /** The footer button of the onboarding empty state (a guide link, when the host has one). */
5
+ export type LogsTableGuideButton = Pick<NoDataProps, 'buttonLabel' | 'buttonIcon' | 'buttonProps' | 'onButtonClick'>;
6
+ /**
7
+ * Click handler that opens `href` in a new tab. The row is a link, and a link
8
+ * cannot hold another link, so the button opens the tab itself.
9
+ */
10
+ export interface LogsTableViewProps<T extends UiLogEntry = UiLogEntry> {
11
+ /** The rows loaded so far. Keep the array stable between renders. */
12
+ logs: T[];
13
+ /** A new first page is in flight: the body shows skeleton rows. */
14
+ loading?: boolean;
15
+ /** What the columns can be filtered by; null while unknown. */
16
+ facets?: LogsTableFacets | null;
17
+ /** Applied filters by column id: `status`, `tool`, `source`. */
18
+ filters: Record<string, string[]>;
19
+ onFilterChange: (filters: Record<string, string[]>) => void;
20
+ /** The applied search text, which counts as a query for the empty states. */
21
+ search?: string;
22
+ /** The applied date filter: its range counts as a query, and the mobile filter modal edits it. */
23
+ dateFilter?: LogsTableDateFilter;
24
+ /** Header of the Log ID column (the host's date sort and range control). Default: the label. */
25
+ logIdHeader?: ReactNode;
26
+ /** The table shows one device's logs (a device tab). */
27
+ deviceScoped?: boolean;
28
+ /** The table is locked to one organization: the Source column has no filter. */
29
+ organizationLocked?: boolean;
30
+ /** Where a row leads; also what the "Open in new tab" button opens. */
31
+ getLogHref?: (log: T) => string;
32
+ /** The row's copy action (the host fetches the full log). */
33
+ renderCopyAction?: (log: T) => ReactNode;
34
+ /** The eye button of a row. */
35
+ onQuickView?: (log: T) => void;
36
+ hasNextPage?: boolean;
37
+ isFetchingNextPage?: boolean;
38
+ onLoadMore?: () => void;
39
+ /** The mobile filter modal; its trigger lives in the search toolbar. */
40
+ mobileFilterOpen?: boolean;
41
+ onMobileFilterClose?: () => void;
42
+ /** Told when the search toolbar should hide: there is nothing to search yet. */
43
+ onHideSearchChange?: (hide: boolean) => void;
44
+ /** How the onboarding empty state is drawn. Default: the plain `NoData` panel. */
45
+ renderEmptyState?: (props: NoDataProps) => ReactNode;
46
+ guideButton?: LogsTableGuideButton;
47
+ /** Columns left out (a narrow rendering). */
48
+ hiddenColumns?: readonly LogsTableColumnId[];
49
+ }
50
+ /**
51
+ * The logs table: its columns, rows, filters, empty and loading states. The host
52
+ * loads the rows and owns the filter, search and date state.
53
+ */
54
+ export declare function LogsTableView<T extends UiLogEntry = UiLogEntry>({ logs, loading, facets, filters, onFilterChange, search, dateFilter, logIdHeader, deviceScoped, organizationLocked, getLogHref, renderCopyAction, onQuickView, hasNextPage, isFetchingNextPage, onLoadMore, mobileFilterOpen, onMobileFilterClose, onHideSearchChange, renderEmptyState, guideButton, hiddenColumns, }: LogsTableViewProps<T>): import("react").JSX.Element;
55
+ export interface LogsTableSkeletonProps {
56
+ /** The Log ID header in its inert form, so the icon does not arrive with the data. */
57
+ logIdHeader?: ReactNode;
58
+ }
59
+ /**
60
+ * Loading fallback of the logs table: an empty `DataTable` with the table's own
61
+ * columns, so the header row and the column widths match the loaded table.
62
+ */
63
+ export declare function LogsTableSkeleton({ logIdHeader }: LogsTableSkeletonProps): import("react").JSX.Element;
64
+ //# sourceMappingURL=logs-table-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs-table-view.d.ts","sourceRoot":"","sources":["../../../../src/components/features/logs/logs-table-view.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,OAAO,CAAC;AAexE,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAenG,6FAA6F;AAC7F,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,eAAe,CAAC,CAAC;AAMrH;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IACnE,qEAAqE;IACrE,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5D,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kGAAkG;IAClG,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,gGAAgG;IAChG,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC;IACzC,+BAA+B;IAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;IACrD,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC9C;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,EAC/D,IAAI,EACJ,OAAe,EACf,MAAM,EACN,OAAO,EACP,cAAc,EACd,MAAM,EACN,UAAU,EACV,WAAW,EACX,YAAoB,EACpB,kBAA0B,EAC1B,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,WAAmB,EACnB,kBAA0B,EAC1B,UAAiB,EACjB,gBAAwB,EACxB,mBAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,EAAE,kBAAkB,CAAC,CAAC,CAAC,+BAqSvB;AAoBD,MAAM,WAAW,sBAAsB;IACrC,sFAAsF;IACtF,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,WAAW,EAAE,EAAE,sBAAsB,+BAoExE"}
@@ -0,0 +1,52 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { DateFilterResult } from '../../ui/date-picker';
3
+ /** The tag colour a log severity is drawn in. */
4
+ export type LogStatusVariant = 'success' | 'warning' | 'error' | 'grey' | 'critical';
5
+ /** One row of the logs table, as plain display data. */
6
+ export interface UiLogEntry {
7
+ id: string;
8
+ logId: string;
9
+ /** Already formatted for display. */
10
+ timestamp: string;
11
+ status: {
12
+ label: string;
13
+ variant?: LogStatusVariant;
14
+ };
15
+ source: {
16
+ name: string;
17
+ toolType: string;
18
+ icon?: ReactNode;
19
+ };
20
+ device: {
21
+ name: string;
22
+ organization?: string;
23
+ };
24
+ description: {
25
+ title: string;
26
+ details?: string;
27
+ };
28
+ }
29
+ /** A filter choice of a column header and of the mobile filter modal. */
30
+ export interface LogsTableFilterOption {
31
+ id: string;
32
+ label: string;
33
+ value: string;
34
+ }
35
+ /** What the table can be filtered by, as the API reports it. */
36
+ export interface LogsTableFacets {
37
+ severities: readonly string[];
38
+ toolTypes: readonly string[];
39
+ /** Ready-made options: the caller owns how an organization is labelled. */
40
+ organizations: readonly LogsTableFilterOption[];
41
+ }
42
+ /** The applied date sort and range, and how a new one is committed. */
43
+ export interface LogsTableDateFilter {
44
+ sortDirection: 'asc' | 'desc';
45
+ range: DateFilterResult['range'];
46
+ onApply: (result: DateFilterResult) => void;
47
+ }
48
+ /** The columns of the logs table, by id. */
49
+ export type LogsTableColumnId = 'logId' | 'status' | 'tool' | 'source' | 'description' | 'copy' | 'quickView' | 'open';
50
+ /** The tag colour for a severity as the API spells it. */
51
+ export declare function logSeverityVariant(severity: string): LogStatusVariant;
52
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/logs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,iDAAiD;AACjD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAErF,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,2EAA2E;IAC3E,aAAa,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC7C;AAED,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEvH,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAarE"}
@@ -0,0 +1,37 @@
1
+ import type { PolicyTableStatus } from './policy-table-row';
2
+ /**
3
+ * The host counts of a fleet-wide policy, as Fleet reports them. The product's
4
+ * own `Policy` model satisfies this structurally.
5
+ */
6
+ export interface PolicyHostCounts {
7
+ passing_host_count: number;
8
+ failing_host_count: number;
9
+ host_count_updated_at?: string;
10
+ hosts_include_any?: readonly unknown[];
11
+ }
12
+ export interface PolicySummaryStats {
13
+ totalPolicies: number;
14
+ failingPolicies: number;
15
+ failingPoliciesPercentage: number;
16
+ compliantPolicies: number;
17
+ compliantPoliciesPercentage: number;
18
+ lastUpdatedAt: string | null;
19
+ }
20
+ export type PolicyStatus = 'compliant' | 'failing' | 'pending' | 'partial';
21
+ export declare const POLICY_STATUS_CONFIG: Record<PolicyStatus, {
22
+ label: string;
23
+ variant: 'success' | 'error' | 'warning';
24
+ }>;
25
+ export declare function getPolicyStatus(policy: PolicyHostCounts): PolicyStatus;
26
+ /**
27
+ * The STATUS cell of a fleet-wide policy: its status tag, plus how many devices
28
+ * fail it or have not answered yet.
29
+ */
30
+ export declare function getPolicyTableStatus(policy: PolicyHostCounts): PolicyTableStatus;
31
+ /**
32
+ * Compute policy compliance summary from a list of policies.
33
+ * Only policies with a definitive status (compliant or failing) are included
34
+ * in compliance stats. Pending and partial policies are excluded.
35
+ */
36
+ export declare function computePolicySummary(policies: readonly PolicyHostCounts[]): PolicySummaryStats;
37
+ //# sourceMappingURL=compute-policy-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-policy-summary.d.ts","sourceRoot":"","sources":["../../../../src/components/features/policies/compute-policy-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAKlH,CAAC;AAQF,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAStE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAchF;AAWD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GAAG,kBAAkB,CAgC9F"}
@@ -0,0 +1,8 @@
1
+ export { PoliciesTable } from './policies-table';
2
+ export type { PoliciesTableProps } from './policies-table';
3
+ export { PolicySummaryCards } from './policy-summary-cards';
4
+ export type { PolicySummaryCardsProps } from './policy-summary-cards';
5
+ export { computePolicySummary, getPolicyStatus, getPolicyTableStatus, POLICY_STATUS_CONFIG, } from './compute-policy-summary';
6
+ export type { PolicyHostCounts, PolicyStatus, PolicySummaryStats } from './compute-policy-summary';
7
+ export type { PolicyStatusVariant, PolicyTableAction, PolicyTableRow, PolicyTableStatus } from './policy-table-row';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/policies/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnG,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { NoDataProps } from '../../ui/no-data';
3
+ import type { PolicyTableRow } from './policy-table-row';
4
+ export interface PoliciesTableProps {
5
+ rows: PolicyTableRow[];
6
+ isLoading?: boolean;
7
+ /** Show the OS Platform column (fleet-wide monitoring view). */
8
+ showPlatform?: boolean;
9
+ /** Enable client-side sorting on Severity & Status, with header sort controls. */
10
+ sortable?: boolean;
11
+ emptyMessage?: string;
12
+ /** Rich empty state (icon + title + description), overrides `emptyMessage`. */
13
+ emptyState?: NoDataProps;
14
+ /** Make each row a link to its `href`. */
15
+ rowAsLink?: boolean;
16
+ stickyHeader?: boolean;
17
+ stickyHeaderOffset?: string;
18
+ /** Rendered at the right edge of the header (e.g. a row count). */
19
+ rightSlot?: ReactNode;
20
+ skeletonRows?: number;
21
+ /** Infinite "load more" footer. */
22
+ hasMore?: boolean;
23
+ onLoadMore?: () => void;
24
+ /** The next page is being fetched: the footer shows it and asks for nothing more meanwhile. Default false (a host that pages rows it already holds). */
25
+ isLoadingMore?: boolean;
26
+ }
27
+ /**
28
+ * Shared policies table. Renders a normalized `PolicyTableRow[]` with a
29
+ * consistent column set (Policy name+description, Severity, optional Platform,
30
+ * Status, optional row actions, open-in-new-tab). Used by both the fleet-wide
31
+ * monitoring page and the per-device Policies tab.
32
+ */
33
+ export declare function PoliciesTable({ rows, isLoading, showPlatform, sortable, emptyMessage, emptyState, rowAsLink, stickyHeader, stickyHeaderOffset, rightSlot, skeletonRows, hasMore, onLoadMore, isLoadingMore, }: PoliciesTableProps): import("react").JSX.Element;
34
+ //# sourceMappingURL=policies-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policies-table.d.ts","sourceRoot":"","sources":["../../../../src/components/features/policies/policies-table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAkC,MAAM,OAAO,CAAC;AAMvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAiBzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,wJAAwJ;IACxJ,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,SAAiB,EACjB,YAAoB,EACpB,QAAgB,EAChB,YAAY,EACZ,UAAU,EACV,SAAiB,EACjB,YAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,YAAiB,EACjB,OAAe,EACf,UAAU,EACV,aAAqB,GACtB,EAAE,kBAAkB,+BAgKpB"}
@@ -0,0 +1,17 @@
1
+ import type { PolicySummaryStats } from './compute-policy-summary';
2
+ export interface PolicySummaryCardsProps {
3
+ summary: PolicySummaryStats;
4
+ isLoading?: boolean;
5
+ /**
6
+ * Whether the summary describes loaded data. It decides the VALUES, never
7
+ * whether the cards render: without data every card shows the empty mark,
8
+ * because "Total Policies 0 / Failed 0" is an all-clear a failed load has
9
+ * not earned.
10
+ */
11
+ hasData?: boolean;
12
+ /** The clock "Updated" is relative to. Default: the moment of the render. */
13
+ now?: Date;
14
+ }
15
+ /** The four counters above the fleet-wide policies table. */
16
+ export declare function PolicySummaryCards({ summary, isLoading, hasData, now }: PolicySummaryCardsProps): import("react").JSX.Element;
17
+ //# sourceMappingURL=policy-summary-cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-summary-cards.d.ts","sourceRoot":"","sources":["../../../../src/components/features/policies/policy-summary-cards.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAOnE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAiB,EAAE,OAAc,EAAE,GAAG,EAAE,EAAE,uBAAuB,+BAyC9G"}
@@ -0,0 +1,37 @@
1
+ import type { ComponentProps } from 'react';
2
+ import type { MoreActionsMenu } from '../../ui/more-actions-menu';
3
+ /** A single ellipsis-menu action, as accepted by the core `MoreActionsMenu`. */
4
+ export type PolicyTableAction = ComponentProps<typeof MoreActionsMenu>['items'][number];
5
+ export type PolicyStatusVariant = 'success' | 'error' | 'warning' | 'critical' | 'grey';
6
+ export interface PolicyTableStatus {
7
+ label: string;
8
+ variant: PolicyStatusVariant;
9
+ /** Optional secondary line under the status tag (e.g. "3 devices"). */
10
+ note?: {
11
+ text: string;
12
+ tone: 'error' | 'warning';
13
+ };
14
+ }
15
+ /**
16
+ * Normalized row consumed by the shared `PoliciesTable`. Each caller maps its
17
+ * own policy model (fleet-wide policy, per-device Fleet host policy, ...) into
18
+ * this view-model so the table/columns live in a single place.
19
+ */
20
+ export interface PolicyTableRow {
21
+ /** Stable row id. */
22
+ id: string;
23
+ name: string;
24
+ description?: string;
25
+ /** Critical severity: drives sorting and the default severity label. */
26
+ critical: boolean;
27
+ /** Display text for the SEVERITY column ("Critical" / "Low" / "Non-critical"). */
28
+ severityLabel: string;
29
+ status: PolicyTableStatus;
30
+ /** OS platforms, only rendered when the table shows the Platform column. */
31
+ platforms?: string[];
32
+ /** Optional ellipsis-menu actions for the row. */
33
+ actions?: PolicyTableAction[];
34
+ /** Target for the open-in-new-tab button and (optionally) the row link. */
35
+ href?: string;
36
+ }
37
+ //# sourceMappingURL=policy-table-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-table-row.d.ts","sourceRoot":"","sources":["../../../../src/components/features/policies/policy-table-row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAExF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,mBAAmB,CAAC;IAC7B,uEAAuE;IACvE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kDAAkD;IAClD,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -4,6 +4,14 @@ export { RemoteSessionBlockFrame, RemoteSessionEndButton, RemoteSessionMinimized
4
4
  export type { RemoteSessionBlockFrameProps, RemoteSessionMinimizedChipProps, RemoteSessionSummaryProps, } from './remote-session-block';
5
5
  export { RemoteSessionChatPanel } from './remote-session-chat-panel';
6
6
  export type { RemoteSessionChatPanelProps } from './remote-session-chat-panel';
7
+ export { RemoteDesktopChatMessageRow } from './remote-desktop-chat-message-row';
8
+ export type { RemoteDesktopChatMessageRowProps } from './remote-desktop-chat-message-row';
9
+ export { REMOTE_DESKTOP_CHAT_END_USER_NAME, RemoteDesktopChatPanel } from './remote-desktop-chat-panel';
10
+ export type { RemoteDesktopChatPanelProps, RemoteDesktopChatTechnician } from './remote-desktop-chat-panel';
11
+ export { RemoteDesktopFullscreenToolbar } from './remote-desktop-fullscreen-toolbar';
12
+ export type { RemoteDesktopFullscreenToolbarProps } from './remote-desktop-fullscreen-toolbar';
13
+ export { RemoteDesktopView, RemoteDesktopViewSkeleton } from './remote-desktop-view';
14
+ export type { RemoteDesktopViewProps } from './remote-desktop-view';
7
15
  export { RemoteSessionDialog } from './remote-session-dialog';
8
16
  export type { RemoteSessionDialogProps } from './remote-session-dialog';
9
17
  export { RemoteSessionBorder, RemoteSessionPill } from './remote-session-overlay';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/remote-session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EACL,iCAAiC,EACjC,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACjH,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjG,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/remote-session/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,YAAY,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,iCAAiC,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACxG,YAAY,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,YAAY,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACrF,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EACL,iCAAiC,EACjC,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACjH,YAAY,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjG,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,21 @@
1
+ export interface RemoteDesktopChatMessageRowProps {
2
+ authorName: string;
3
+ /** The technician's rows carry the avatar and the accent-colored name. */
4
+ isTechnician: boolean;
5
+ avatarUrl?: string;
6
+ /** When the message was sent: an ISO timestamp or a `Date`. */
7
+ sentAt: string | Date;
8
+ body: string;
9
+ }
10
+ /**
11
+ * One session-chat message on the technician's side, shared by the recording
12
+ * transcript and the live panel: the technician's rows carry a 24px avatar and
13
+ * an accent-colored name, the end user's rows a plain grey name; the timestamp
14
+ * sits right-aligned on the name row and the message body follows below.
15
+ *
16
+ * Names are Azeret Mono 18/24 medium in the mockup - a combination the ODS
17
+ * composite utilities don't carry (`text-h5` is the 14px uppercase caption),
18
+ * so the heading family is applied over `text-h4` via the ODS font variable.
19
+ */
20
+ export declare function RemoteDesktopChatMessageRow({ authorName, isTechnician, avatarUrl, sentAt, body, }: RemoteDesktopChatMessageRowProps): import("react").JSX.Element;
21
+ //# sourceMappingURL=remote-desktop-chat-message-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-desktop-chat-message-row.d.ts","sourceRoot":"","sources":["../../../../src/components/features/remote-session/remote-desktop-chat-message-row.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,UAAU,EACV,YAAY,EACZ,SAAS,EACT,MAAM,EACN,IAAI,GACL,EAAE,gCAAgC,+BAuBlC"}
@@ -0,0 +1,31 @@
1
+ import type { RemoteSessionChatMessage } from './types';
2
+ /** Who is typing on the technician's side of the chat: shown on the technician's rows. */
3
+ export interface RemoteDesktopChatTechnician {
4
+ name: string;
5
+ avatarUrl?: string;
6
+ }
7
+ /** The end user has no profile on the wire: their rows read "User" unless a row names them. */
8
+ export declare const REMOTE_DESKTOP_CHAT_END_USER_NAME = "User";
9
+ export interface RemoteDesktopChatPanelProps {
10
+ messages: RemoteSessionChatMessage[];
11
+ /** The dialog's history is still on its way; the empty state must not claim there is nothing. */
12
+ loading?: boolean;
13
+ technician: RemoteDesktopChatTechnician;
14
+ sending: boolean;
15
+ /** Resolves `false` to keep the draft in the input (nothing was sent). */
16
+ onSend: (body: string) => Promise<boolean>;
17
+ /**
18
+ * `side` - the right-hand column next to the screen;
19
+ * `overlay` - floating over the stream in fullscreen, positioned against
20
+ * the fullscreen screen container.
21
+ */
22
+ variant: 'side' | 'overlay';
23
+ }
24
+ /**
25
+ * The technician's chat with the end user during a remote session: the message
26
+ * stream bottom-aligned above the composer. The end user's side is
27
+ * `RemoteSessionChatPanel` in the session block; the "joined the chat" notice
28
+ * is that side's indication only and is not shown here.
29
+ */
30
+ export declare function RemoteDesktopChatPanel({ messages, loading, technician, sending, onSend, variant, }: RemoteDesktopChatPanelProps): import("react").JSX.Element;
31
+ //# sourceMappingURL=remote-desktop-chat-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-desktop-chat-panel.d.ts","sourceRoot":"","sources":["../../../../src/components/features/remote-session/remote-desktop-chat-panel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,0FAA0F;AAC1F,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+FAA+F;AAC/F,eAAO,MAAM,iCAAiC,SAAS,CAAC;AAExD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,iGAAiG;IACjG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,2BAA2B,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,OAAO,EACP,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,GACR,EAAE,2BAA2B,+BAuD7B"}
@@ -0,0 +1,21 @@
1
+ import { type ActionsMenuGroup } from '../../ui/actions-menu';
2
+ export interface RemoteDesktopFullscreenToolbarProps {
3
+ deviceName: string;
4
+ displayMenuGroups: ActionsMenuGroup[];
5
+ currentDisplayLabel: string;
6
+ actionsMenuGroups: ActionsMenuGroup[];
7
+ onOpenSettings: () => void;
8
+ onExitFullscreen: () => void;
9
+ /** Session chat toggle - omitted when the session has no chat. */
10
+ chatOpen?: boolean;
11
+ onToggleChat?: () => void;
12
+ }
13
+ /**
14
+ * Compact overlay chrome for the fullscreen remote-desktop mode (Figma 1-70992):
15
+ * a floating semi-transparent bar at top-center (device name, display switcher,
16
+ * actions / exit-fullscreen / settings) plus a dimmed OpenFrame logo in the
17
+ * top-left corner of the stream. Rendered inside the fullscreen container,
18
+ * absolutely positioned over the screen.
19
+ */
20
+ export declare function RemoteDesktopFullscreenToolbar({ deviceName, displayMenuGroups, currentDisplayLabel, actionsMenuGroups, onOpenSettings, onExitFullscreen, chatOpen, onToggleChat, }: RemoteDesktopFullscreenToolbarProps): import("react").JSX.Element;
21
+ //# sourceMappingURL=remote-desktop-fullscreen-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-desktop-fullscreen-toolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/features/remote-session/remote-desktop-fullscreen-toolbar.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGnF,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,QAAgB,EAChB,YAAY,GACb,EAAE,mCAAmC,+BA2ErC"}