@flamingo-stack/openframe-frontend-core 0.0.213 → 0.0.214

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 (745) hide show
  1. package/dist/{chunk-3JWIJJ44.js → chunk-5OWDOFKK.js} +2 -2
  2. package/dist/{chunk-IK2X5YJU.js → chunk-HWY35EAK.js} +2 -2
  3. package/dist/{chunk-OTKJASSX.cjs → chunk-IZL2KEH6.cjs} +24 -24
  4. package/dist/{chunk-OTKJASSX.cjs.map → chunk-IZL2KEH6.cjs.map} +1 -1
  5. package/dist/{chunk-35XIT2CF.cjs → chunk-KDNGUYZM.cjs} +17 -17
  6. package/dist/{chunk-35XIT2CF.cjs.map → chunk-KDNGUYZM.cjs.map} +1 -1
  7. package/dist/{chunk-ZTJVRSN5.js → chunk-UKND27XC.js} +2 -2
  8. package/dist/chunk-UKND27XC.js.map +1 -0
  9. package/dist/{chunk-ZDF6F7ED.cjs → chunk-YZUUFTIK.cjs} +2 -2
  10. package/dist/chunk-YZUUFTIK.cjs.map +1 -0
  11. package/dist/components/chat/index.cjs +2 -2
  12. package/dist/components/chat/index.js +1 -1
  13. package/dist/components/contact/index.cjs +3 -3
  14. package/dist/components/contact/index.js +2 -2
  15. package/dist/components/features/index.cjs +2 -2
  16. package/dist/components/features/index.js +1 -1
  17. package/dist/components/index.cjs +49 -49
  18. package/dist/components/index.js +2 -2
  19. package/dist/components/navigation/index.cjs +2 -2
  20. package/dist/components/navigation/index.js +1 -1
  21. package/dist/components/tickets/index.cjs +61 -61
  22. package/dist/components/tickets/index.js +3 -3
  23. package/dist/components/ui/index.cjs +2 -2
  24. package/dist/components/ui/index.js +1 -1
  25. package/dist/index.cjs +2 -2
  26. package/dist/index.js +1 -1
  27. package/package.json +1 -1
  28. package/src/.index.md +36 -34
  29. package/src/components/.alert-dialog.md +27 -23
  30. package/src/components/.announcement-bar.md +26 -21
  31. package/src/components/.breadcrumb.md +19 -15
  32. package/src/components/.calendar.md +24 -19
  33. package/src/components/.categories-cart.md +29 -24
  34. package/src/components/.checkbox.md +23 -25
  35. package/src/components/.chevron-button.md +37 -32
  36. package/src/components/.comment-card.md +32 -62
  37. package/src/components/.dialog.md +26 -26
  38. package/src/components/.dynamic-skeleton.md +54 -57
  39. package/src/components/.empty-state.md +42 -51
  40. package/src/components/.faq-accordion.md +27 -21
  41. package/src/components/.filter-chip.md +41 -24
  42. package/src/components/.flamingo-logo.md +20 -23
  43. package/src/components/.footer-waitlist-button.md +29 -22
  44. package/src/components/.footer.md +32 -32
  45. package/src/components/.icons-block.md +27 -17
  46. package/src/components/.image-cropper.md +41 -32
  47. package/src/components/.index.md +33 -39
  48. package/src/components/.input.md +31 -35
  49. package/src/components/.logs-list.md +31 -20
  50. package/src/components/.media-carousel.md +35 -36
  51. package/src/components/.open-source-features.md +33 -16
  52. package/src/components/.pagination.md +52 -51
  53. package/src/components/.provider-button.md +21 -23
  54. package/src/components/.select.md +31 -20
  55. package/src/components/.sidebar.md +34 -24
  56. package/src/components/.smooth-accordion.md +29 -24
  57. package/src/components/.social-icon-row.md +36 -32
  58. package/src/components/.textarea.md +25 -31
  59. package/src/components/.tool-icon.md +24 -26
  60. package/src/components/.unified-filter-logic.md +37 -30
  61. package/src/components/.unified-pagination.md +23 -22
  62. package/src/components/.user-summary-stub.md +38 -22
  63. package/src/components/.vendor-display-button.md +25 -25
  64. package/src/components/.vendor-icon.md +33 -25
  65. package/src/components/.why-it-matters.md +28 -25
  66. package/src/components/chat/.approval-batch-message.md +51 -0
  67. package/src/components/chat/.approval-request-message.md +35 -34
  68. package/src/components/chat/.chat-attachment-bar.md +64 -0
  69. package/src/components/chat/.chat-container.md +36 -18
  70. package/src/components/chat/.chat-input.md +37 -20
  71. package/src/components/chat/.chat-message-enhanced.md +30 -49
  72. package/src/components/chat/.chat-message-list.md +45 -32
  73. package/src/components/chat/.chat-message-skeleton.md +26 -22
  74. package/src/components/chat/.chat-panel-context.md +52 -0
  75. package/src/components/chat/.chat-ref.types.md +42 -0
  76. package/src/components/chat/.chat-sidebar-skeleton.md +34 -25
  77. package/src/components/chat/.chat-sidebar.md +31 -26
  78. package/src/components/chat/.chat-ticket-list.md +39 -0
  79. package/src/components/chat/.context-compaction-display.md +36 -0
  80. package/src/components/chat/.cycling-phrase.md +52 -0
  81. package/src/components/chat/.embeddable-chat.md +48 -0
  82. package/src/components/chat/.expand-chevron.md +24 -0
  83. package/src/components/chat/.index.md +31 -35
  84. package/src/components/chat/.mingo-onboarding-card-skeleton.md +44 -0
  85. package/src/components/chat/.mingo-onboarding-card.md +62 -0
  86. package/src/components/chat/.model-display.md +32 -30
  87. package/src/components/chat/.nav-link-anchor-via-runtime.md +40 -0
  88. package/src/components/chat/.remark-card-links.md +38 -0
  89. package/src/components/chat/.slash-command-suggestions.md +47 -0
  90. package/src/components/chat/.source-action-button.md +48 -0
  91. package/src/components/chat/.thinking-display.md +42 -0
  92. package/src/components/chat/.tool-call-blocks.md +45 -0
  93. package/src/components/chat/.tool-execution-display.md +44 -36
  94. package/src/components/chat/chat-container.tsx +1 -1
  95. package/src/components/chat/entity-cards/.admin-content-card.md +43 -0
  96. package/src/components/chat/entity-cards/.block-card.md +47 -0
  97. package/src/components/chat/entity-cards/.blog-card.md +52 -0
  98. package/src/components/chat/entity-cards/.blog-image-placeholder.md +39 -0
  99. package/src/components/chat/entity-cards/.campaign-card-admin.md +47 -0
  100. package/src/components/chat/entity-cards/.case-study-card.md +58 -0
  101. package/src/components/chat/entity-cards/.chat-ticket-item.md +40 -0
  102. package/src/components/chat/entity-cards/.chat-video-entity-card.md +43 -0
  103. package/src/components/chat/entity-cards/.customer-interview-card.md +53 -0
  104. package/src/components/chat/entity-cards/.data-room-doc-card.md +47 -0
  105. package/src/components/chat/entity-cards/.dispatch.md +39 -0
  106. package/src/components/chat/entity-cards/.entity-author-card.md +51 -0
  107. package/src/components/chat/entity-cards/.generic-entity-card.md +62 -0
  108. package/src/components/chat/entity-cards/.github-activity-card.md +61 -0
  109. package/src/components/chat/entity-cards/.hubspot-ticket-card.md +53 -0
  110. package/src/components/chat/entity-cards/.index.md +66 -0
  111. package/src/components/chat/entity-cards/.investor-update-card.md +47 -0
  112. package/src/components/chat/entity-cards/.onboarding-guide-card.md +58 -0
  113. package/src/components/chat/entity-cards/.product-release-card-defaults.md +31 -0
  114. package/src/components/chat/entity-cards/.product-release-card.md +29 -0
  115. package/src/components/chat/entity-cards/.program-card-defaults.md +41 -0
  116. package/src/components/chat/entity-cards/.program-card.md +59 -0
  117. package/src/components/chat/entity-cards/.roadmap-card.md +46 -0
  118. package/src/components/chat/entity-cards/.roadmap-vote-button.md +52 -0
  119. package/src/components/chat/entity-cards/.slack-message-card.md +48 -0
  120. package/src/components/chat/entity-cards/.task-type-icon.md +47 -0
  121. package/src/components/chat/hooks/.index.md +36 -21
  122. package/src/components/chat/hooks/.use-chat-attachment-image-gallery.md +51 -0
  123. package/src/components/chat/hooks/.use-chat-attachments.md +48 -0
  124. package/src/components/chat/hooks/.use-chat-card-item.md +39 -0
  125. package/src/components/chat/hooks/.use-chat-identity.md +45 -0
  126. package/src/components/chat/hooks/.use-chat.md +58 -0
  127. package/src/components/chat/hooks/.use-chunk-catchup.md +46 -48
  128. package/src/components/chat/hooks/.use-close-on-navigation.md +44 -0
  129. package/src/components/chat/hooks/.use-collapsible.md +48 -0
  130. package/src/components/chat/hooks/.use-embedded-chat.md +32 -0
  131. package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +40 -0
  132. package/src/components/chat/hooks/.use-nats-chat-adapter.md +52 -0
  133. package/src/components/chat/hooks/.use-nats-dialog-subscription.md +49 -30
  134. package/src/components/chat/hooks/.use-proxied-image-url.md +40 -0
  135. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +43 -40
  136. package/src/components/chat/hooks/.use-slash-commands.md +46 -0
  137. package/src/components/chat/hooks/.use-sse-chat-adapter.md +34 -0
  138. package/src/components/chat/hooks/.use-sse.md +60 -0
  139. package/src/components/chat/hooks/.use-unified-chat.md +57 -0
  140. package/src/components/chat/types/.api.types.md +52 -38
  141. package/src/components/chat/types/.chat.types.md +43 -34
  142. package/src/components/chat/types/.component.types.md +47 -48
  143. package/src/components/chat/types/.index.md +20 -27
  144. package/src/components/chat/types/.message.types.md +58 -48
  145. package/src/components/chat/types/.network.types.md +57 -31
  146. package/src/components/chat/types/.processing.types.md +49 -31
  147. package/src/components/chat/types/.unified-chat-state.types.md +41 -0
  148. package/src/components/chat/types/entities/.blog.md +43 -0
  149. package/src/components/chat/types/entities/.case-study.md +26 -0
  150. package/src/components/chat/types/entities/.content-ref.md +41 -0
  151. package/src/components/chat/types/entities/.customer-interview.md +28 -0
  152. package/src/components/chat/types/entities/.data-room-doc.md +36 -0
  153. package/src/components/chat/types/entities/.github-activity.md +43 -0
  154. package/src/components/chat/types/entities/.hubspot-ticket.md +53 -0
  155. package/src/components/chat/types/entities/.index.md +42 -0
  156. package/src/components/chat/types/entities/.investor-update.md +45 -0
  157. package/src/components/chat/types/entities/.onboarding-guide.md +50 -0
  158. package/src/components/chat/types/entities/.program-types.md +57 -0
  159. package/src/components/chat/types/entities/.roadmap-item.md +58 -0
  160. package/src/components/chat/types/entities/.slack-message.md +35 -0
  161. package/src/components/chat/utils/.agent-status-message.md +45 -0
  162. package/src/components/chat/utils/.auto-continuation-directive.md +58 -0
  163. package/src/components/chat/utils/.chat-attachment-markdown.md +54 -0
  164. package/src/components/chat/utils/.chat-authed-fetch.md +25 -0
  165. package/src/components/chat/utils/.chat-nav-resolution.md +46 -0
  166. package/src/components/chat/utils/.chat-proxy-auth-storage.md +38 -0
  167. package/src/components/chat/utils/.chip-action-class.md +34 -0
  168. package/src/components/chat/utils/.chip-styles.md +46 -0
  169. package/src/components/chat/utils/.chunk-parser.md +38 -28
  170. package/src/components/chat/utils/.clickup-task-type-utils.md +48 -0
  171. package/src/components/chat/utils/.compact-card-classes.md +62 -0
  172. package/src/components/chat/utils/.decide-new-tab.md +51 -0
  173. package/src/components/chat/utils/.external-app-urls.md +29 -0
  174. package/src/components/chat/utils/.extract-incomplete-message-state.md +25 -29
  175. package/src/components/chat/utils/.flatten-assistant-content.md +34 -0
  176. package/src/components/chat/utils/.icon-registry.md +46 -0
  177. package/src/components/chat/utils/.index.md +37 -32
  178. package/src/components/chat/utils/.is-cross-origin-url.md +35 -0
  179. package/src/components/chat/utils/.message-segment-accumulator.md +25 -34
  180. package/src/components/chat/utils/.nav-anchor-props.md +44 -0
  181. package/src/components/chat/utils/.nav-click-handler.md +47 -0
  182. package/src/components/chat/utils/.onboarding-icons.md +28 -0
  183. package/src/components/chat/utils/.process-historical-messages.md +46 -35
  184. package/src/components/chat/utils/.scroll-anchor.md +40 -0
  185. package/src/components/chat/utils/.slash-dispatch-utils.md +44 -0
  186. package/src/components/chat/utils/.source-icons.md +35 -0
  187. package/src/components/chat/utils/.source-row-cta.md +54 -0
  188. package/src/components/chat/utils/.tool-call-helpers.md +42 -0
  189. package/src/components/contact/.contact-form.md +43 -0
  190. package/src/components/contact/.index.md +27 -0
  191. package/src/components/features/.array-entry-manager.md +36 -45
  192. package/src/components/features/.changelog-manager.md +47 -21
  193. package/src/components/features/.changelog-sections-manager.md +21 -26
  194. package/src/components/features/.command-box.md +31 -28
  195. package/src/components/features/.entity-summary-editor.md +46 -0
  196. package/src/components/features/.entity-video-section.md +51 -0
  197. package/src/components/features/.figma-prototype-viewer.md +48 -29
  198. package/src/components/features/.filters-dropdown.md +33 -46
  199. package/src/components/features/.highlight-config-section.md +42 -0
  200. package/src/components/features/.highlight-generation-section.md +46 -0
  201. package/src/components/features/.highlight-video-combined-section.md +47 -0
  202. package/src/components/features/.highlight-video-preview.md +44 -0
  203. package/src/components/features/.highlight-video-section.md +47 -0
  204. package/src/components/features/.index.md +40 -66
  205. package/src/components/features/.media-gallery-manager.md +48 -38
  206. package/src/components/features/.more-about-button.md +22 -19
  207. package/src/components/features/.og-editor-preview.md +40 -36
  208. package/src/components/features/.parallax-image-showcase.md +33 -26
  209. package/src/components/features/.paths-display.md +42 -43
  210. package/src/components/features/.platform-badge.md +37 -36
  211. package/src/components/features/.platform-filter.md +23 -16
  212. package/src/components/features/.policy-configuration-panel.md +48 -56
  213. package/src/components/features/.provider-button.md +33 -36
  214. package/src/components/features/.push-button-selector.md +40 -29
  215. package/src/components/features/.release-media-manager.md +46 -31
  216. package/src/components/features/.section-selector.md +26 -31
  217. package/src/components/features/.select-button.md +35 -25
  218. package/src/components/features/.seo-editor-preview.md +41 -44
  219. package/src/components/features/.social-links-manager.md +25 -19
  220. package/src/components/features/.start-with-openframe-button.md +37 -29
  221. package/src/components/features/.status-filter-component.md +36 -20
  222. package/src/components/features/.tags-selector.md +40 -24
  223. package/src/components/features/.transcribe-and-summarize-combined-section.md +45 -0
  224. package/src/components/features/.transcribe-summarize-section.md +48 -0
  225. package/src/components/features/.transcript-summary-editor.md +53 -0
  226. package/src/components/features/.video-bites-display.md +46 -0
  227. package/src/components/features/.video-clips-section.md +41 -0
  228. package/src/components/features/.video-ratio-tabs.md +56 -0
  229. package/src/components/features/.video-source-selector.md +60 -0
  230. package/src/components/features/.video.md +44 -0
  231. package/src/components/features/.waitlist-form.md +60 -0
  232. package/src/components/features/ai-enrich/.AIEnrichButton.md +30 -27
  233. package/src/components/features/ai-enrich/.AIEnrichSection.md +46 -42
  234. package/src/components/features/board/.board-column-header.md +38 -0
  235. package/src/components/features/board/.board-column.md +43 -0
  236. package/src/components/features/board/.board.md +51 -0
  237. package/src/components/features/board/.color-utils.md +26 -0
  238. package/src/components/features/board/.index.md +56 -0
  239. package/src/components/features/board/.ticket-card-skeleton.md +38 -0
  240. package/src/components/features/board/.ticket-card.md +47 -0
  241. package/src/components/features/board/.types.md +45 -0
  242. package/src/components/features/board/.use-board-collapse.md +34 -0
  243. package/src/components/features/notifications/.index.md +57 -0
  244. package/src/components/features/notifications/.notification-drawer.md +34 -0
  245. package/src/components/features/notifications/.notification-tile.md +39 -0
  246. package/src/components/features/notifications/.notifications-context.md +73 -0
  247. package/src/components/features/notifications/.types.md +45 -0
  248. package/src/components/icons/.about-icon.md +20 -28
  249. package/src/components/icons/.ai-robot-icon.md +15 -17
  250. package/src/components/icons/.bash-icon.md +16 -23
  251. package/src/components/icons/.buildings-icon.md +10 -24
  252. package/src/components/icons/.capterra-icon.md +30 -26
  253. package/src/components/icons/.carta-icon.md +29 -0
  254. package/src/components/icons/.clickup-icon.md +26 -0
  255. package/src/components/icons/.cmd-icon.md +15 -22
  256. package/src/components/icons/.coins-icon.md +17 -25
  257. package/src/components/icons/.community-hub-icon.md +19 -25
  258. package/src/components/icons/.community-icon.md +24 -21
  259. package/src/components/icons/.compare-icon.md +32 -19
  260. package/src/components/icons/.copy-icon.md +29 -15
  261. package/src/components/icons/.custom-external-link-icon.md +19 -17
  262. package/src/components/icons/.custom-fork-icon.md +32 -21
  263. package/src/components/icons/.custom-license-icon.md +29 -25
  264. package/src/components/icons/.custom-star-icon.md +20 -28
  265. package/src/components/icons/.custom-time-icon.md +21 -22
  266. package/src/components/icons/.cut-vendor-costs-icon.md +6 -19
  267. package/src/components/icons/.dashboard-icon.md +13 -18
  268. package/src/components/icons/.deno-icon.md +16 -23
  269. package/src/components/icons/.donut-icon.md +12 -23
  270. package/src/components/icons/.double-chevron-icon.md +28 -36
  271. package/src/components/icons/.elestio-logo.md +13 -23
  272. package/src/components/icons/.empty-vendor-icon.md +16 -18
  273. package/src/components/icons/.explore-categories-icon.md +18 -29
  274. package/src/components/icons/.eye-icon.md +16 -26
  275. package/src/components/icons/.facebook-icon.md +9 -20
  276. package/src/components/icons/.figma-icon.md +8 -17
  277. package/src/components/icons/.filter-icon.md +15 -17
  278. package/src/components/icons/.flamingo-logo.md +28 -27
  279. package/src/components/icons/.folder-shield-icon.md +28 -19
  280. package/src/components/icons/.g2-icon.md +22 -21
  281. package/src/components/icons/.getapp-icon.md +25 -21
  282. package/src/components/icons/.github-icon.md +13 -25
  283. package/src/components/icons/.globe-icon.md +14 -19
  284. package/src/components/icons/.google-gemini-icon.md +16 -19
  285. package/src/components/icons/.google-logo.md +15 -21
  286. package/src/components/icons/.grid-view-icon.md +30 -19
  287. package/src/components/icons/.hamburger-icon.md +22 -20
  288. package/src/components/icons/.hand-dollar-icon.md +24 -34
  289. package/src/components/icons/.hotel-icon.md +27 -21
  290. package/src/components/icons/.icon-utils.md +28 -29
  291. package/src/components/icons/.image-icon.md +15 -22
  292. package/src/components/icons/.index.md +25 -28
  293. package/src/components/icons/.info-circle-icon.md +29 -30
  294. package/src/components/icons/.instagram-icon.md +10 -24
  295. package/src/components/icons/.jump-in-icon.md +18 -18
  296. package/src/components/icons/.linux-icon.md +18 -18
  297. package/src/components/icons/.log-out-icon.md +15 -23
  298. package/src/components/icons/.logs-icon.md +14 -23
  299. package/src/components/icons/.margin-crisis-icon.md +21 -20
  300. package/src/components/icons/.menu-icon.md +18 -19
  301. package/src/components/icons/.miami-cyber-gang-logo-face-only.md +18 -21
  302. package/src/components/icons/.miami-cyber-gang-logo.md +22 -14
  303. package/src/components/icons/.mlg-logo.md +18 -16
  304. package/src/components/icons/.moon-icon.md +32 -22
  305. package/src/components/icons/.ms-icon.md +30 -19
  306. package/src/components/icons/.nushell-icon.md +7 -21
  307. package/src/components/icons/.open-source-icon.md +19 -23
  308. package/src/components/icons/.openai-icon.md +9 -24
  309. package/src/components/icons/.openframe-ai-icons.md +25 -26
  310. package/src/components/icons/.openframe-logo.md +28 -22
  311. package/src/components/icons/.openframe-text.md +24 -27
  312. package/src/components/icons/.openmsp-logo.md +26 -23
  313. package/src/components/icons/.pilot-icon.md +23 -0
  314. package/src/components/icons/.powershell-icon.md +17 -22
  315. package/src/components/icons/.python-icon.md +16 -23
  316. package/src/components/icons/.queries-icon.md +13 -21
  317. package/src/components/icons/.reddit-icon.md +28 -24
  318. package/src/components/icons/.remote-control-icon.md +13 -17
  319. package/src/components/icons/.script-icon.md +27 -19
  320. package/src/components/icons/.search-icon.md +21 -21
  321. package/src/components/icons/.send-icon.md +14 -16
  322. package/src/components/icons/.settings-icon.md +30 -19
  323. package/src/components/icons/.shape-circle-dash-icon.md +16 -21
  324. package/src/components/icons/.shell-icon.md +15 -19
  325. package/src/components/icons/.shield-check-icon.md +18 -31
  326. package/src/components/icons/.shield-key-icon.md +25 -25
  327. package/src/components/icons/.shield-lock-icon.md +8 -18
  328. package/src/components/icons/.slack-icon.md +28 -32
  329. package/src/components/icons/.sparkles-icon.md +18 -23
  330. package/src/components/icons/.sso-configuration-icon.md +29 -16
  331. package/src/components/icons/.sun-icon.md +20 -18
  332. package/src/components/icons/.table-view-icon.md +17 -19
  333. package/src/components/icons/.telegram-icon.md +8 -22
  334. package/src/components/icons/.thumbs-down-icon.md +10 -19
  335. package/src/components/icons/.thumbs-up-icon.md +8 -17
  336. package/src/components/icons/.tool-directory-icons.md +24 -28
  337. package/src/components/icons/.trustpilot-icon.md +25 -22
  338. package/src/components/icons/.user-icon.md +26 -28
  339. package/src/components/icons/.users-group-icon.md +28 -24
  340. package/src/components/icons/.vendor-showcase-icons.md +21 -29
  341. package/src/components/icons/.vendors-icon.md +18 -22
  342. package/src/components/icons/.whatsapp-icon.md +30 -14
  343. package/src/components/icons/.x-icon.md +18 -23
  344. package/src/components/icons/.x-logo.md +13 -38
  345. package/src/components/icons/.youtube-icon.md +8 -19
  346. package/src/components/icons/device-type-icons/.get-device-type-icon.md +26 -34
  347. package/src/components/icons-v2-generated/.index.md +52 -0
  348. package/src/components/icons-v2-generated/alphabet/.index.md +33 -0
  349. package/src/components/icons-v2-generated/arrows/.index.md +39 -0
  350. package/src/components/icons-v2-generated/audio-and-visual/.index.md +40 -0
  351. package/src/components/icons-v2-generated/brand-logos/.elestio-logo-icon.md +40 -0
  352. package/src/components/icons-v2-generated/brand-logos/.gemini-logo-icon.md +37 -0
  353. package/src/components/icons-v2-generated/brand-logos/.google-gemini-logo-icon.md +33 -0
  354. package/src/components/icons-v2-generated/brand-logos/.index.md +38 -0
  355. package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-grey-icon.md +35 -0
  356. package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-icon.md +36 -0
  357. package/src/components/icons-v2-generated/buildings/.index.md +48 -0
  358. package/src/components/icons-v2-generated/charts/.index.md +40 -0
  359. package/src/components/icons-v2-generated/clothes/.index.md +48 -0
  360. package/src/components/icons-v2-generated/coding/.index.md +42 -0
  361. package/src/components/icons-v2-generated/communication/.index.md +39 -0
  362. package/src/components/icons-v2-generated/date-and-time/.index.md +29 -0
  363. package/src/components/icons-v2-generated/design/.index.md +39 -0
  364. package/src/components/icons-v2-generated/devices/.index.md +38 -0
  365. package/src/components/icons-v2-generated/documents/.index.md +38 -0
  366. package/src/components/icons-v2-generated/finance/.index.md +34 -0
  367. package/src/components/icons-v2-generated/food-and-drinks/.index.md +34 -0
  368. package/src/components/icons-v2-generated/food-and-drinks/.leafy-green-icon.md +36 -0
  369. package/src/components/icons-v2-generated/food-and-drinks/.strawberry-icon.md +39 -0
  370. package/src/components/icons-v2-generated/health/.index.md +40 -0
  371. package/src/components/icons-v2-generated/household/.index.md +45 -0
  372. package/src/components/icons-v2-generated/interface/.index.md +36 -0
  373. package/src/components/icons-v2-generated/map-and-travel/.index.md +41 -0
  374. package/src/components/icons-v2-generated/media-playback/.index.md +51 -0
  375. package/src/components/icons-v2-generated/number/.index.md +41 -0
  376. package/src/components/icons-v2-generated/school/.index.md +37 -0
  377. package/src/components/icons-v2-generated/security/.fingerprint-icon.md +38 -0
  378. package/src/components/icons-v2-generated/security/.index.md +39 -0
  379. package/src/components/icons-v2-generated/shopping/.index.md +42 -0
  380. package/src/components/icons-v2-generated/signs-and-symbols/.index.md +32 -0
  381. package/src/components/icons-v2-generated/sort-and-filter/.index.md +35 -0
  382. package/src/components/icons-v2-generated/sport/.index.md +41 -0
  383. package/src/components/icons-v2-generated/text-editor/.index.md +44 -0
  384. package/src/components/icons-v2-generated/users/.index.md +45 -0
  385. package/src/components/icons-v2-generated/vehicles-and-delivery/.index.md +36 -0
  386. package/src/components/icons-v2-generated/weather-and-nature/.flower-sakura-icon.md +36 -0
  387. package/src/components/icons-v2-generated/weather-and-nature/.index.md +34 -0
  388. package/src/components/layout/.article-detail-layout.md +43 -0
  389. package/src/components/layout/.back-button.md +40 -0
  390. package/src/components/layout/.list-page-layout.md +35 -26
  391. package/src/components/layout/.page-container.md +27 -38
  392. package/src/components/layout/.page-layout.md +50 -0
  393. package/src/components/layout/.title-block.md +42 -0
  394. package/src/components/loading/.card-skeleton.md +38 -29
  395. package/src/components/loading/.device-card-skeleton.md +29 -25
  396. package/src/components/loading/.index.md +39 -46
  397. package/src/components/loading/.margin-report-skeleton.md +45 -34
  398. package/src/components/loading/.organization-card-skeleton.md +39 -44
  399. package/src/components/loading/.page-layout-skeleton.md +34 -45
  400. package/src/components/loading/.unified-skeleton.md +62 -36
  401. package/src/components/navigation/.app-header.md +40 -29
  402. package/src/components/navigation/.app-layout.md +25 -26
  403. package/src/components/navigation/.header-global-search.md +34 -37
  404. package/src/components/navigation/.header-organization-filter.md +23 -22
  405. package/src/components/navigation/.header.md +31 -35
  406. package/src/components/navigation/.mobile-burger-menu.md +39 -47
  407. package/src/components/navigation/.mobile-nav-panel.md +51 -32
  408. package/src/components/navigation/.navigation-sidebar-header.md +36 -0
  409. package/src/components/navigation/.navigation-sidebar-item.md +45 -0
  410. package/src/components/navigation/.navigation-sidebar-toggle.md +38 -0
  411. package/src/components/navigation/.navigation-sidebar.md +33 -34
  412. package/src/components/navigation/.sliding-sidebar.md +52 -41
  413. package/src/components/navigation/.sticky-section-nav.md +56 -48
  414. package/src/components/platform/.ScriptArguments.md +39 -25
  415. package/src/components/platform/.ScriptInfoSection.md +30 -26
  416. package/src/components/platform/.ShellTypeBadge.md +18 -13
  417. package/src/components/platform/.SoftwareInfo.md +23 -27
  418. package/src/components/platform/.SoftwareSourceBadge.md +28 -19
  419. package/src/components/platform/.ToolBadge.md +25 -26
  420. package/src/components/providers/.theme-provider.md +52 -0
  421. package/src/components/shared/delivery/.delivery-lists.md +39 -0
  422. package/src/components/shared/delivery/.delivery-row.md +41 -0
  423. package/src/components/shared/delivery/.delivery-table.md +41 -0
  424. package/src/components/shared/delivery/.index.md +38 -0
  425. package/src/components/shared/dev-section/.dev-card-row.md +60 -0
  426. package/src/components/shared/dev-section/.dev-section-page.md +48 -0
  427. package/src/components/shared/dev-section/.dev-section-view.md +43 -0
  428. package/src/components/shared/dev-section/.index.md +38 -0
  429. package/src/components/shared/legal-document/.index.md +40 -0
  430. package/src/components/shared/legal-document/.legal-document-page.md +50 -0
  431. package/src/components/shared/legal-document/.use-legal-docs.md +42 -0
  432. package/src/components/shared/onboarding/.onboarding-step-card.md +32 -31
  433. package/src/components/shared/onboarding/.onboarding-walkthrough.md +39 -43
  434. package/src/components/shared/product-release/.index.md +28 -30
  435. package/src/components/shared/product-release/.product-release-card-skeleton.md +28 -28
  436. package/src/components/shared/product-release/.product-release-card.md +45 -27
  437. package/src/components/shared/product-release/.release-detail-page.md +23 -24
  438. package/src/components/shared/roadmap/.index.md +37 -0
  439. package/src/components/shared/roadmap/.roadmap-grid-skeleton.md +39 -0
  440. package/src/components/shared/roadmap/.roadmap-grid.md +66 -0
  441. package/src/components/shared/roadmap/.use-roadmap-voting.md +68 -0
  442. package/src/components/tickets/.help-center-card.md +51 -0
  443. package/src/components/tickets/.help-center-create-form.md +38 -0
  444. package/src/components/tickets/.help-center-list.md +40 -0
  445. package/src/components/tickets/.index.md +65 -0
  446. package/src/components/tickets/.ticket-center.md +51 -0
  447. package/src/components/tickets/.ticket-detail-drawer.md +48 -0
  448. package/src/components/tickets/.ticket-linked-delivery-card.md +36 -0
  449. package/src/components/tickets/.ticket-open-form.md +50 -0
  450. package/src/components/tickets/.ticket-row.md +30 -0
  451. package/src/components/tickets/.types.md +57 -0
  452. package/src/components/tickets/hooks/.use-ticket-actions.md +77 -0
  453. package/src/components/tickets/hooks/.use-ticket-engagements.md +42 -0
  454. package/src/components/tickets/hooks/.use-tickets-list.md +54 -0
  455. package/src/components/ui/.actions-menu.md +66 -41
  456. package/src/components/ui/.alert-dialog.md +29 -26
  457. package/src/components/ui/.allowed-domains-input.md +29 -21
  458. package/src/components/ui/.assignee-dropdown.md +45 -0
  459. package/src/components/ui/.autocomplete.md +47 -41
  460. package/src/components/ui/.benefit-card.md +51 -36
  461. package/src/components/ui/.brand-association-card.md +30 -27
  462. package/src/components/ui/.breadcrumb.md +17 -15
  463. package/src/components/ui/.checkbox-block.md +39 -35
  464. package/src/components/ui/.checkbox-with-description.md +23 -16
  465. package/src/components/ui/.checkbox.md +31 -23
  466. package/src/components/ui/.circular-progress.md +49 -19
  467. package/src/components/ui/.content-loader.md +32 -20
  468. package/src/components/ui/.cursor-pagination.md +41 -52
  469. package/src/components/ui/.dashboard-info-card.md +33 -26
  470. package/src/components/ui/.date-picker.md +27 -25
  471. package/src/components/ui/.device-card-compact.md +28 -29
  472. package/src/components/ui/.device-card.md +27 -27
  473. package/src/components/ui/.dialog.md +25 -16
  474. package/src/components/ui/.drawer.md +86 -0
  475. package/src/components/ui/.dropdown-button.md +45 -0
  476. package/src/components/ui/.entity-image.md +46 -0
  477. package/src/components/ui/.error-state.md +41 -28
  478. package/src/components/ui/.feature-card.md +35 -31
  479. package/src/components/ui/.feature-list.md +48 -0
  480. package/src/components/ui/.field-wrapper.md +47 -0
  481. package/src/components/ui/.file-upload.md +42 -0
  482. package/src/components/ui/.filter-checkbox-item.md +43 -0
  483. package/src/components/ui/.filter-list.md +57 -0
  484. package/src/components/ui/.filter-modal.md +59 -0
  485. package/src/components/ui/.floating-tooltip.md +43 -26
  486. package/src/components/ui/.hidden-tags-popup.md +49 -0
  487. package/src/components/ui/.hover-dropdown.md +54 -0
  488. package/src/components/ui/.image-gallery-modal.md +41 -34
  489. package/src/components/ui/.image-uploader.md +53 -0
  490. package/src/components/ui/.index.md +40 -34
  491. package/src/components/ui/.info-card.md +31 -31
  492. package/src/components/ui/.info-row.md +31 -27
  493. package/src/components/ui/.input-trigger.md +44 -0
  494. package/src/components/ui/.input.md +37 -31
  495. package/src/components/ui/.markdown-editor.md +57 -0
  496. package/src/components/ui/.modal-v2.md +51 -0
  497. package/src/components/ui/.modal.md +32 -31
  498. package/src/components/ui/.more-actions-menu.md +45 -38
  499. package/src/components/ui/.organization-card.md +31 -37
  500. package/src/components/ui/.page-actions.md +44 -54
  501. package/src/components/ui/.phone-input.md +54 -0
  502. package/src/components/ui/.progress-bar.md +35 -27
  503. package/src/components/ui/.radio-group.md +39 -27
  504. package/src/components/ui/.release-changelog-section.md +34 -34
  505. package/src/components/ui/.search-input.md +48 -0
  506. package/src/components/ui/.select.md +54 -34
  507. package/src/components/ui/.service-card.md +42 -40
  508. package/src/components/ui/.sheet.md +27 -18
  509. package/src/components/ui/.simple-markdown-renderer.md +29 -31
  510. package/src/components/ui/.sort-column-item.md +42 -0
  511. package/src/components/ui/.square-avatar.md +34 -24
  512. package/src/components/ui/.status-badge.md +26 -38
  513. package/src/components/ui/.switch.md +22 -35
  514. package/src/components/ui/.tab-navigation.md +56 -53
  515. package/src/components/ui/.tab-selector.md +40 -0
  516. package/src/components/ui/.tag-key-value-filter.md +56 -0
  517. package/src/components/ui/.tag-search-input.md +53 -0
  518. package/src/components/ui/.tag.md +49 -31
  519. package/src/components/ui/.tags-manager.md +60 -0
  520. package/src/components/ui/.textarea.md +44 -34
  521. package/src/components/ui/.ticket-attachments-list.md +45 -0
  522. package/src/components/ui/.ticket-detail-section.md +29 -0
  523. package/src/components/ui/.ticket-info-section.md +56 -0
  524. package/src/components/ui/.ticket-note-card.md +53 -0
  525. package/src/components/ui/.ticket-notes-section.md +54 -0
  526. package/src/components/ui/.ticket-status-tag.md +49 -0
  527. package/src/components/ui/.title-content-block.md +25 -26
  528. package/src/components/ui/.toaster.md +40 -28
  529. package/src/components/ui/.tooltip.md +22 -11
  530. package/src/components/ui/.truncate-text.md +39 -0
  531. package/src/components/ui/button/.button-styles.md +35 -0
  532. package/src/components/ui/button/.button.md +53 -0
  533. package/src/components/ui/button/.split-button.md +48 -0
  534. package/src/components/ui/data-table/.data-table-body.md +48 -0
  535. package/src/components/ui/data-table/.data-table-column-filter.md +45 -0
  536. package/src/components/ui/data-table/.data-table-cursor-footer.md +45 -0
  537. package/src/components/ui/data-table/.data-table-empty.md +43 -0
  538. package/src/components/ui/data-table/.data-table-header.md +55 -0
  539. package/src/components/ui/data-table/.data-table-infinite-footer.md +44 -0
  540. package/src/components/ui/data-table/.data-table-row-count.md +43 -0
  541. package/src/components/ui/data-table/.data-table-row.md +47 -0
  542. package/src/components/ui/data-table/.data-table-skeleton.md +42 -0
  543. package/src/components/ui/data-table/.data-table.md +47 -0
  544. package/src/components/ui/data-table/.index.md +55 -0
  545. package/src/components/ui/data-table/.types.md +54 -0
  546. package/src/components/ui/data-table/.use-data-table.md +45 -0
  547. package/src/components/ui/data-table/.utils.md +38 -0
  548. package/src/components/ui/file-manager/.file-manager-action-bar.md +39 -30
  549. package/src/components/ui/file-manager/.file-manager-breadcrumb.md +29 -27
  550. package/src/components/ui/file-manager/.file-manager-context-menu.md +38 -42
  551. package/src/components/ui/file-manager/.file-manager-empty.md +26 -39
  552. package/src/components/ui/file-manager/.file-manager-table-row.md +33 -41
  553. package/src/components/ui/file-manager/.file-manager.md +35 -31
  554. package/src/components/ui/query-report-table/.index.md +43 -0
  555. package/src/components/ui/query-report-table/.query-report-table-header.md +36 -0
  556. package/src/components/ui/query-report-table/.query-report-table-row.md +40 -0
  557. package/src/components/ui/query-report-table/.query-report-table-skeleton.md +44 -0
  558. package/src/components/ui/query-report-table/.query-report-table.md +47 -0
  559. package/src/components/ui/query-report-table/.types.md +41 -0
  560. package/src/components/ui/query-report-table/.utils.md +35 -0
  561. package/src/components/ui/table/.index.md +27 -48
  562. package/src/components/ui/table/.table-cell.md +18 -27
  563. package/src/components/ui/table/.table-column-filter-dropdown.md +40 -0
  564. package/src/components/ui/table/.table-description-cell.md +24 -14
  565. package/src/components/ui/table/.table-empty-state.md +21 -22
  566. package/src/components/ui/table/.table-header.md +25 -40
  567. package/src/components/ui/table/.table-row.md +22 -40
  568. package/src/components/ui/table/.table-skeleton.md +33 -26
  569. package/src/components/ui/table/.table-timestamp-cell.md +26 -16
  570. package/src/components/ui/table/.table.md +39 -59
  571. package/src/components/ui/table/.types.md +44 -36
  572. package/src/components/ui/table/.utils.md +18 -20
  573. package/src/contexts/.chat-runtime-context.md +54 -0
  574. package/src/contexts/.endpoints-runtime-context.md +58 -0
  575. package/src/contexts/.index.md +53 -0
  576. package/src/contexts/.use-outer-or-default.md +36 -0
  577. package/src/embed-shims/.index.md +45 -0
  578. package/src/embed-shims/.next-dynamic.md +43 -0
  579. package/src/embed-shims/.next-image.md +45 -0
  580. package/src/embed-shims/.next-link.md +59 -0
  581. package/src/embed-shims/.next-navigation.md +59 -0
  582. package/src/hooks/.index.md +34 -29
  583. package/src/hooks/.use-access-code-integration.md +49 -0
  584. package/src/hooks/.use-contact-submission.md +37 -26
  585. package/src/hooks/.use-copy-to-clipboard.md +42 -0
  586. package/src/hooks/.use-near-viewport.md +44 -0
  587. package/src/hooks/.use-og-placeholder.md +51 -0
  588. package/src/hooks/.use-toast.md +36 -35
  589. package/src/hooks/state/.use-api-params.md +29 -46
  590. package/src/hooks/state/.use-query-params.md +37 -33
  591. package/src/hooks/ui/.index.md +33 -32
  592. package/src/hooks/ui/.use-auto-limit-tags.md +54 -0
  593. package/src/hooks/ui/.use-horizontal-scrollbar.md +74 -0
  594. package/src/hooks/ui/.use-image-edge-color.md +42 -0
  595. package/src/hooks/ui/.use-media-query.md +33 -25
  596. package/src/hooks/ui/.use-search.md +51 -0
  597. package/src/nats/.nats.md +49 -28
  598. package/src/schemas/.contact-schema.md +45 -0
  599. package/src/stories/.AnnouncementBar.stories.md +45 -0
  600. package/src/stories/.AppLayout.stories.md +20 -21
  601. package/src/stories/.Autocomplete.stories.md +48 -34
  602. package/src/stories/.Board.stories.md +35 -0
  603. package/src/stories/.Button.stories.md +36 -33
  604. package/src/stories/.ChatTicketList.stories.md +33 -0
  605. package/src/stories/.CheckboxBlock.stories.md +40 -28
  606. package/src/stories/.ContentLoader.stories.md +47 -0
  607. package/src/stories/.DashboardInfoCard.stories.md +57 -0
  608. package/src/stories/.DataTable.stories.md +41 -0
  609. package/src/stories/.DatePicker.stories.md +66 -52
  610. package/src/stories/.DeviceCard.stories.md +41 -40
  611. package/src/stories/.DeviceCardCompact.stories.md +41 -0
  612. package/src/stories/.DotsLoaderIcon.stories.md +36 -0
  613. package/src/stories/.Drawer.stories.md +58 -0
  614. package/src/stories/.EmbeddableChat.stories.md +41 -0
  615. package/src/stories/.FileManager.stories.md +41 -0
  616. package/src/stories/.FileManagerActionBar.stories.md +38 -0
  617. package/src/stories/.FileUpload.stories.md +53 -0
  618. package/src/stories/.FilterList.stories.md +54 -0
  619. package/src/stories/.FilterModal.stories.md +72 -0
  620. package/src/stories/.FiltersDropdown.stories.md +57 -0
  621. package/src/stories/.Header.stories.md +48 -0
  622. package/src/stories/.ImageUploader.stories.md +49 -0
  623. package/src/stories/.InfoCard.stories.md +54 -0
  624. package/src/stories/.Input.stories.md +48 -30
  625. package/src/stories/.ListPageLayout.stories.md +56 -43
  626. package/src/stories/.MingoOnboardingCard.stories.md +42 -0
  627. package/src/stories/.MingoOnboardingCardSkeleton.stories.md +35 -0
  628. package/src/stories/.Modal.stories.md +40 -31
  629. package/src/stories/.NotificationDrawer.stories.md +55 -0
  630. package/src/stories/.OnboardingStepCard.stories.md +41 -0
  631. package/src/stories/.OrganizationCard.stories.md +61 -0
  632. package/src/stories/.PageActions.stories.md +52 -49
  633. package/src/stories/.PageContainer.stories.md +41 -35
  634. package/src/stories/.PageLayout.stories.md +60 -0
  635. package/src/stories/.ParallaxImageShowcase.stories.md +49 -0
  636. package/src/stories/.PhoneInput.stories.md +53 -0
  637. package/src/stories/.QueryReportTable.stories.md +44 -0
  638. package/src/stories/.RadioGroup.stories.md +46 -0
  639. package/src/stories/.RadioGroupBlock.stories.md +45 -0
  640. package/src/stories/.Select.stories.md +29 -15
  641. package/src/stories/.SlashCommandSuggestions.stories.md +41 -0
  642. package/src/stories/.SplitButton.stories.md +62 -0
  643. package/src/stories/.TabNavigation.stories.md +47 -38
  644. package/src/stories/.TabSelector.stories.md +65 -0
  645. package/src/stories/.Table.stories.md +38 -46
  646. package/src/stories/.TableColumnFilterDropdown.stories.md +46 -0
  647. package/src/stories/.Tag.stories.md +43 -32
  648. package/src/stories/.TagKeyValueFilter.stories.md +44 -0
  649. package/src/stories/.TagSearchInput.stories.md +61 -0
  650. package/src/stories/.Textarea.stories.md +49 -26
  651. package/src/stories/.Theme.stories.md +41 -0
  652. package/src/stories/.TicketAttachmentsList.stories.md +39 -0
  653. package/src/stories/.TicketDescriptionViewer.stories.md +39 -0
  654. package/src/stories/.TicketInfoSection.stories.md +40 -0
  655. package/src/stories/.TicketKnowledgeBaseList.stories.md +36 -0
  656. package/src/stories/.TicketNotesSection.stories.md +50 -0
  657. package/src/stories/.Toaster.stories.md +40 -0
  658. package/src/stories/.ToolExecutionDisplay.stories.md +41 -0
  659. package/src/stories/.Tooltip.stories.md +41 -0
  660. package/src/stories/.UserSummary.stories.md +41 -0
  661. package/src/stories/.WaitlistForm.stories.md +42 -0
  662. package/src/stories/BlogCard.stories.tsx +61 -0
  663. package/src/stories/CampaignCardAdmin.stories.tsx +52 -0
  664. package/src/stories/CaseStudyCard.stories.tsx +42 -0
  665. package/src/stories/ChatContainer.stories.tsx +186 -0
  666. package/src/stories/ChatInlineVideoPill.stories.tsx +63 -0
  667. package/src/stories/CustomerInterviewCard.stories.tsx +42 -0
  668. package/src/stories/DataRoomDocCard.stories.tsx +52 -0
  669. package/src/stories/GenericEntityCard.stories.tsx +66 -0
  670. package/src/stories/GitHubActivityCard.stories.tsx +61 -0
  671. package/src/stories/HubspotTicketCard.stories.tsx +98 -0
  672. package/src/stories/InvestorUpdateCard.stories.tsx +42 -0
  673. package/src/stories/OnboardingGuideCard.stories.tsx +52 -0
  674. package/src/stories/ProductReleaseCard.stories.tsx +61 -0
  675. package/src/stories/ProgramCard.stories.tsx +79 -0
  676. package/src/stories/RoadmapCard.stories.tsx +75 -0
  677. package/src/stories/SlackMessageCard.stories.tsx +41 -0
  678. package/src/stories/__fixtures__/chat-cards.ts +604 -0
  679. package/src/types/.blog.md +53 -29
  680. package/src/types/.case-study.md +44 -27
  681. package/src/types/.customer-interview.md +66 -44
  682. package/src/types/.delivery.md +40 -0
  683. package/src/types/.employee.md +24 -30
  684. package/src/types/.index.md +33 -47
  685. package/src/types/.marketing.md +49 -44
  686. package/src/types/.navigation.md +33 -25
  687. package/src/types/.os.types.md +32 -27
  688. package/src/types/.platform.md +31 -28
  689. package/src/types/.product-release.md +65 -38
  690. package/src/types/.supabase.md +37 -29
  691. package/src/types/.team.md +41 -33
  692. package/src/types/.video-processing.md +54 -0
  693. package/src/types/.waitlist.md +40 -36
  694. package/src/utils/.access-code-client.md +37 -36
  695. package/src/utils/.cn.md +31 -23
  696. package/src/utils/.color-analysis.md +35 -0
  697. package/src/utils/.country-phone-utils.md +39 -0
  698. package/src/utils/.date-formatters.md +19 -18
  699. package/src/utils/.embed-authed-fetch.md +39 -0
  700. package/src/utils/.embed-proxy-auth-storage.md +38 -0
  701. package/src/utils/.fetch-priority.md +41 -0
  702. package/src/utils/.format.md +74 -25
  703. package/src/utils/.generic-domain-utils.md +42 -0
  704. package/src/utils/.image-proxy.md +59 -23
  705. package/src/utils/.index.md +42 -49
  706. package/src/utils/.local-storage-adapter.md +50 -0
  707. package/src/utils/.ods-color-utils.md +55 -38
  708. package/src/utils/.platform-config.md +45 -25
  709. package/src/utils/.scroll-into-view.md +40 -0
  710. package/src/utils/.source-icons.md +53 -0
  711. package/src/utils/.sse-decision-frame.md +46 -0
  712. package/src/utils/dev-sections/.index.md +34 -0
  713. package/src/utils/dev-sections/.openframe-dev-sections.md +49 -0
  714. package/dist/chunk-ZDF6F7ED.cjs.map +0 -1
  715. package/dist/chunk-ZTJVRSN5.js.map +0 -1
  716. package/src/components/.card.md +0 -42
  717. package/src/components/.contact-button.md +0 -30
  718. package/src/components/.drawer.md +0 -46
  719. package/src/components/.fixed-layout-container.md +0 -47
  720. package/src/components/.footer-waitlist-card.md +0 -29
  721. package/src/components/.join-waitlist-cta.md +0 -29
  722. package/src/components/.sheet.md +0 -47
  723. package/src/components/.sliding-panel.md +0 -48
  724. package/src/components/.tooltip.md +0 -48
  725. package/src/components/.use-mobile.md +0 -42
  726. package/src/components/.vendor-compact-card.md +0 -66
  727. package/src/components/.x-button.md +0 -42
  728. package/src/components/features/.github-repo-button.md +0 -40
  729. package/src/components/features/.organization-icon.md +0 -47
  730. package/src/components/features/.organization-selector.md +0 -45
  731. package/src/components/icons/.fleet-icon.md +0 -39
  732. package/src/components/icons/.meshcentral-icon.md +0 -35
  733. package/src/components/icons/.refresh-icon.md +0 -34
  734. package/src/components/icons/.tactical-icon.md +0 -35
  735. package/src/components/ui/.button.md +0 -69
  736. package/src/components/ui/.log-table-row.md +0 -47
  737. package/src/components/ui/.selectable-device-card.md +0 -46
  738. package/src/hooks/.api-hooks-stub.md +0 -45
  739. package/src/hooks/api/.use-product-releases.md +0 -53
  740. package/src/stories/.OrganizationSelector.stories.md +0 -42
  741. package/src/stories/.SelectableDeviceCard.stories.md +0 -30
  742. package/src/utils/.lite-youtube-embed-stub.md +0 -37
  743. package/src/utils/.lite-youtube-embed.md +0 -33
  744. /package/dist/{chunk-3JWIJJ44.js.map → chunk-5OWDOFKK.js.map} +0 -0
  745. /package/dist/{chunk-IK2X5YJU.js.map → chunk-HWY35EAK.js.map} +0 -0
@@ -0,0 +1,64 @@
1
+ <!-- source-hash: f3fb53b66abf55ba1b2ac14522e64cbb -->
2
+ Provides two composable React primitives for the chat compose-box attachment UX: a `+` add-button rendered inline in the bottom controls row, and a horizontal chip strip rendered above the textarea showing staged file previews with upload progress.
3
+
4
+ ## Key Components
5
+
6
+ ### Exports
7
+
8
+ | Export | Type | Description |
9
+ |--------|------|-------------|
10
+ | `ChatAttachmentAddButton` | Component | Borderless `+` icon button for triggering file picker; renders an invisible 28×28 spacer when `attachmentsEnabled` is false to prevent layout shift |
11
+ | `ChatAttachmentChipStrip` | Component | Horizontal strip of file chips above the textarea; returns `null` when no attachments are staged |
12
+ | `StagedAttachment` | Interface | Shape consumed by the chip strip, mirrors the hub's `useChatAttachments` output |
13
+ | `CHAT_ATTACHMENT_MIME_TYPES` | Constant | Allowed MIME types (JPEG, PNG, WebP, GIF, MP4, WebM, QuickTime) — excludes `image/svg+xml` for XSS safety |
14
+ | `CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER` | Constant | Client-side cap of 5 concurrent staged files |
15
+
16
+ ### Internal Helpers
17
+
18
+ | Name | Purpose |
19
+ |------|---------|
20
+ | `AttachmentChip` | Single chip: inline blob thumbnail (images), progress bar overlay, filename, status text, × remove button |
21
+ | `useObjectUrl` | Hook managing `URL.createObjectURL` lifecycle — revokes on unmount and file change |
22
+ | `formatFileSize` | Human-readable byte formatter (B / KB / MB / GB) |
23
+ | `extLabel` | Extracts up to 3-char file extension for non-image chip placeholders |
24
+
25
+ ## Usage Example
26
+
27
+ ```typescript
28
+ import {
29
+ ChatAttachmentAddButton,
30
+ ChatAttachmentChipStrip,
31
+ StagedAttachment,
32
+ } from './chat-attachment-bar'
33
+
34
+ function Composebox() {
35
+ const { attachments, addFiles, removeFile } = useChatAttachments()
36
+ const { attachmentsEnabled } = useChatIdentity()
37
+
38
+ return (
39
+ <div className="flex flex-col">
40
+ {/* Chip strip floats above textarea — hidden when empty */}
41
+ <ChatAttachmentChipStrip
42
+ attachments={attachments}
43
+ onRemove={removeFile}
44
+ disabled={isStreaming}
45
+ />
46
+
47
+ <textarea placeholder="Message…" />
48
+
49
+ {/* Bottom controls row */}
50
+ <div className="flex items-center gap-2">
51
+ <ChatAttachmentAddButton
52
+ attachmentsEnabled={attachmentsEnabled}
53
+ attachmentsCount={attachments.length}
54
+ onAddFiles={addFiles}
55
+ disabled={isStreaming}
56
+ />
57
+ <ModelDisplay />
58
+ </div>
59
+ </div>
60
+ )
61
+ }
62
+ ```
63
+
64
+ > **Layout stability note:** `ChatAttachmentAddButton` renders an invisible `<span>` placeholder before `attachmentsEnabled` resolves, preventing the bottom-controls row from shifting when chat identity loads asynchronously (~100–500 ms).
@@ -1,40 +1,58 @@
1
- <!-- source-hash: 4cc3dbe8c03ccee87301f7253b7ee038 -->
2
- React component system for building chat interfaces with connection status indicators and layout management.
1
+ <!-- source-hash: 748948c6317fda009af640633bb6c0e5 -->
2
+ Composable React components for building a full-screen chat interface shell, including layout, header, content area, and footer sections with ODS design token styling.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **ConnectionIndicator**: Visual status indicator with animated states (connected, connecting, disconnected)
7
- - **ChatContainer**: Main wrapper component with responsive padding and full-height layout
8
- - **ChatHeader**: Header section with user avatar, name, connection status, and optional new chat button
9
- - **ChatContent**: Flexible content area that fills remaining vertical space
10
- - **ChatFooter**: Fixed footer section with constrained width for input controls
6
+ | Component | Description |
7
+ |-----------|-------------|
8
+ | `ChatContainer` | Root full-screen wrapper with ODS background and responsive padding |
9
+ | `ChatHeader` | Rich header with avatar, user info, connection status, ticket context, and action buttons |
10
+ | `ChatContent` | Flex-grow scrollable content region between header and footer |
11
+ | `ChatFooter` | Sticky footer wrapper with optional full-width or narrow-column layout |
12
+ | `ConnectionIndicator` | Internal dot badge showing `connected` / `connecting` / `disconnected` states using ODS attention tokens |
11
13
 
12
14
  ## Usage Example
13
15
 
14
16
  ```typescript
15
- import { ChatContainer, ChatHeader, ChatContent, ChatFooter } from './chat-container'
17
+ import {
18
+ ChatContainer,
19
+ ChatHeader,
20
+ ChatContent,
21
+ ChatFooter,
22
+ } from "./chat-container"
16
23
 
17
- function ChatInterface() {
24
+ export function MyChatShell() {
18
25
  return (
19
26
  <ChatContainer>
20
27
  <ChatHeader
21
- userName="Grace 'Fae' Meadows"
28
+ userName='Grace "Fae" Meadows'
22
29
  userTitle="Your Personal Assistant"
23
- userAvatar="/avatar.png"
24
30
  connectionStatus="connected"
25
- serverUrl="api.flamingo.run"
26
- showNewChat={true}
27
- onNewChat={() => console.log('New chat')}
31
+ serverUrl="mcp.flamingo.run"
32
+ showNewChat
33
+ onNewChat={() => console.log("new chat")}
34
+ onClose={() => console.log("close")}
35
+ ticketInfo={{
36
+ title: "Printer offline – Ticket #4821",
37
+ meta: "Assigned to: J. Smith",
38
+ status: "in-progress",
39
+ }}
40
+ fullWidth
28
41
  />
29
42
  <ChatContent>
30
- {/* Chat messages go here */}
43
+ {/* message list */}
31
44
  </ChatContent>
32
- <ChatFooter>
33
- {/* Input controls go here */}
45
+ <ChatFooter fullWidth>
46
+ {/* input bar */}
34
47
  </ChatFooter>
35
48
  </ChatContainer>
36
49
  )
37
50
  }
38
51
  ```
39
52
 
40
- The components use the OpenFrame Design System (ODS) for consistent theming and include responsive design patterns with proper accessibility attributes.
53
+ ## Notes
54
+
55
+ - `fullWidth` on both `ChatHeader` and `ChatFooter` drops the default `max-w-ods-content-narrow` (≈600px) column — use this when embedding the chat in a side panel.
56
+ - `ChatFooter.contentClassName` is a legacy escape hatch for custom `max-w` overrides; prefer `fullWidth` for standard full-panel layouts.
57
+ - `ChatHeader` accepts a `bare` prop to remove card chrome (shadow, border, background) for flush-mounted contexts.
58
+ - All components are `forwardRef`-compatible and spread unknown props to their root `<div>`.
@@ -1,39 +1,56 @@
1
- <!-- source-hash: c743f62070e320de942ce15e154d17a9 -->
2
- A React component that provides an auto-resizing text input with send functionality for chat interfaces. It supports multiple states including active input, loading, and awaiting response with proper keyboard handling and accessibility features.
1
+ <!-- source-hash: 6d459e335b05378d1756f274a61128f0 -->
2
+ A controlled chat input component with slash-command autocomplete, send/stop functionality, and an imperative ref API for programmatic control.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **ChatInput** - Main forwardRef component with auto-expanding textarea
7
- - **handleSubmit** - Processes message sending and resets input state
8
- - **handleKeyDown** - Handles Enter key submission (Shift+Enter for new lines)
9
- - **handleChange** - Auto-resizes textarea based on content height
10
- - **Awaiting Response UI** - Special state showing typing indicator and status message
6
+ ### `ChatInput` (default export)
7
+ A `forwardRef` component that renders a textarea-based chat input with:
8
+ - **Slash command autocomplete** triggers on `/` prefix, debounced 150ms, keyboard-navigable dropdown
9
+ - **Send/Stop modes** toggles between send and stop-stream actions based on `sending`/`onStop` props
10
+ - **Awaiting response indicator** replaces input with `ChatTypingIndicator` while waiting for a reply
11
+ - **Auto-refocus** — restores focus after send completes or streaming stops
12
+
13
+ ### `ChatInputRef` (imperative handle)
14
+ Exposed methods for parent components:
15
+
16
+ | Method | Description |
17
+ |---|---|
18
+ | `focus()` / `blur()` | Programmatic focus control |
19
+ | `clear()` | Resets input value |
20
+ | `setValue(next)` | Prefills input, places caret at end |
21
+ | `setValueAndCursor(next, offset)` | Prefills input with clamped caret position |
22
+ | `submit(next)` | Fires `onSend` and clears, bypassing user interaction |
23
+ | `getValue()` | Returns current value via stable ref |
24
+
25
+ ### `SLASH_INPUT_TRIGGER`
26
+ Regex `/^\/([a-z][a-z0-9-]*)?$/` — kept in sync with server-side slash command registration to prevent suggesting commands the API would reject.
11
27
 
12
28
  ## Usage Example
13
29
 
14
30
  ```typescript
15
- import { ChatInput } from './chat-input'
16
- import { useRef } from 'react'
31
+ import { useRef } from "react"
32
+ import { ChatInput } from "./chat-input"
33
+ import type { ChatInputRef } from "./types"
17
34
 
18
- function ChatInterface() {
19
- const inputRef = useRef<HTMLTextAreaElement>(null)
35
+ function ChatPanel() {
36
+ const inputRef = useRef<ChatInputRef>(null)
20
37
 
21
- const handleSendMessage = (message: string) => {
22
- console.log('Sending:', message)
23
- // Process message sending logic
38
+ const prefillSlashCommand = () => {
39
+ inputRef.current?.setValue("/reboot ")
24
40
  }
25
41
 
26
42
  return (
27
43
  <ChatInput
28
44
  ref={inputRef}
29
- onSend={handleSendMessage}
30
45
  sending={false}
31
46
  awaitingResponse={false}
32
- placeholder="Type your message..."
33
- autoFocus={true}
47
+ onSend={(message) => console.log("Sending:", message)}
48
+ onStop={() => abortStream()}
49
+ slashCommands={{
50
+ fetchCommands: async (prefix, signal) => fetchSlashCommands(prefix, signal),
51
+ }}
52
+ autoFocus
34
53
  />
35
54
  )
36
55
  }
37
- ```
38
-
39
- The component automatically handles textarea resizing (20px to 160px max height), disables input during sending states, and provides visual feedback through the typing indicator when awaiting responses. It uses Tailwind CSS with ODS (OpenFrame Design System) tokens for consistent styling.
56
+ ```
@@ -1,63 +1,44 @@
1
- <!-- source-hash: 6d8a7239cbde9ae7f74f501951edde3f -->
2
- A comprehensive React component that renders enhanced chat messages with support for multiple content types, avatars, and specialized message segments like tool executions and approval requests.
1
+ <!-- source-hash: d70b1713cdb85568acf904d7a2daa162 -->
2
+ Renders enhanced chat messages with support for multi-segment content, inline/block entity card markers, tool executions, approval flows, and rich markdown delegating entity resolution and navigation to host-provided callbacks.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Main Exports:**
7
- - `ChatMessageEnhanced` - Memoized forwardRef component for rendering chat messages
8
- - `normalizeContent()` - Utility function to convert string content to MessageSegment array
9
-
10
- **Key Features:**
11
- - **Multi-segment Content**: Renders text, tool executions, approval requests, and error messages
12
- - **Assistant Differentiation**: Supports Mingo (cyan) and Fae (pink) assistant types with distinct styling
13
- - **Avatar System**: Configurable avatars with fallback initials and gradient backgrounds
14
- - **Tool Expansion**: Collapsible tool execution displays with state management
15
- - **Performance Optimized**: Memoized with shallow prop comparison for re-render prevention
16
-
17
- **Content Types Supported:**
18
- - Text messages with markdown rendering
19
- - Tool execution displays (expandable)
20
- - Approval request messages with actions
21
- - Error message displays
22
- - Typing indicators
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `ChatMessageEnhanced` | `forwardRef` component | Main message renderer with role-aware layout (`user`, `error`, assistant variants) |
9
+ | `normalizeContent` | Function | Normalizes `MessageContent` (string or `MessageSegment[]`) to a uniform segment array |
10
+ | `CARD_MARKER_REGEX` | Regex | Shared pattern matching `[card://type:id]` markers — kept in lockstep with `remarkCardLinks` |
11
+ | `renderingPlan` | `useMemo` | Per-message plan splitting text segments at block card markers for accurate streaming position |
12
+ | `cardComponentOverrides` | `useMemo` | Overrides `<a>` tags for `card://` URLs, resolving inline/block entity cards via host callbacks |
13
+
14
+ ### Supporting Displays (composed internally)
15
+ - `ToolExecutionDisplay` renders tool call segments
16
+ - `ApprovalRequestMessage` / `ApprovalBatchMessage` — approval flow segments
17
+ - `ErrorMessageDisplay` — error role messages
18
+ - `ContextCompactionDisplay` context compaction events
19
+ - `ThinkingDisplay` streaming thinking segments
23
20
 
24
21
  ## Usage Example
25
22
 
26
23
  ```typescript
27
- import { ChatMessageEnhanced } from "./chat-message-enhanced"
28
-
29
- // Basic text message
30
24
  <ChatMessageEnhanced
31
25
  role="assistant"
32
26
  assistantType="mingo"
33
- content="Hello! How can I help you today?"
34
- timestamp={new Date()}
35
- showAvatar={true}
36
- />
37
-
38
- // Multi-segment message with tool execution
39
- <ChatMessageEnhanced
40
- role="assistant"
41
- assistantType="fae"
42
27
  content={[
43
- { type: 'text', text: 'Let me check that for you.' },
44
- {
45
- type: 'tool_execution',
46
- data: {
47
- integratedToolType: 'api',
48
- toolFunction: 'getData',
49
- status: 'completed'
50
- }
51
- }
28
+ { type: 'text', text: 'Here is your ticket [card://ticket:123].' },
29
+ { type: 'tool_execution', toolName: 'search', result: '...' },
52
30
  ]}
53
- name="Fae Assistant"
31
+ chatRefs={{
32
+ 'ticket:123': { type: 'ticket', id: '123', title: 'Login bug', url: '/tickets/123' },
33
+ }}
34
+ renderEntityCard={(ref) => <TicketPill ref={ref} />}
35
+ NavLinkAnchor={({ href, children }) => <Link href={href}>{children}</Link>}
36
+ showAvatar
54
37
  />
38
+ ```
55
39
 
56
- // User message
57
- <ChatMessageEnhanced
58
- role="user"
59
- content="Can you help me with my query?"
60
- name="John Doe"
61
- avatar="/user-avatar.png"
62
- />
63
- ```
40
+ ## Notes
41
+
42
+ - **Data-agnostic**: the library never imports entity types or routing — the host provides `renderEntityCard` and `NavLinkAnchor`.
43
+ - Block card markers split their text segment so block payloads render at the marker position during streaming, not appended at the end.
44
+ - Three distinct fallbacks for unresolved `card://` hrefs prevent LLM hallucinations from appearing as real cards.
@@ -1,54 +1,67 @@
1
- <!-- source-hash: 4fd65378ba4e066ad8332a944f5ef739 -->
2
- A scrollable chat interface component that displays a list of chat messages with automatic scrolling behavior, skeleton loading states, and pending approval messages.
1
+ <!-- source-hash: ddaad2500e41f9ee61eff7435b990d72 -->
2
+ A scrollable chat message list component with stick-to-bottom behavior, prepend anchoring for load-older pagination, and streaming indicators.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **ChatMessageList**: Main forwardRef component that renders chat messages in a scrollable container
7
- - **Auto-scroll logic**: Maintains scroll position at bottom when new messages arrive or user sends messages
8
- - **Scroll detection**: Tracks user scroll behavior to determine when to disable auto-scrolling
9
- - **Loading states**: Shows skeleton placeholder while messages are loading
10
- - **Pending approvals**: Sticky section at bottom for approval-required messages
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `ChatMessageList` | `forwardRef` Component | Main scrollable message list with auto-scroll management |
9
+ | `STREAMING_WORDS` | `const` | Flamingo-themed cycling phrases shown during AI streaming |
10
+ | `hasNonEmptyContent` | Helper Function | Checks if a `MessageContent` value carries visible text |
11
+ | `disposeAnchorWatcher` | Helper Function | Idempotent teardown for `AnchorWatcher` instances |
12
+ | `AnchorWatcher` | Interface | Tracks `ResizeObserver` + timeout for top-anchor settle window |
13
+
14
+ ## Key Props (`ChatMessageListProps`)
15
+
16
+ | Prop | Description |
17
+ |------|-------------|
18
+ | `messages` | Array of chat messages to render |
19
+ | `dialogId` | Triggers instant scroll-to-bottom on dialog change |
20
+ | `isLoading` / `isTyping` | Controls skeleton and streaming indicator visibility |
21
+ | `autoScroll` | Enables/disables stick-to-bottom behavior |
22
+ | `hasNextPage` / `onLoadMore` | Infinite scroll upward (load-older pagination) |
23
+ | `renderEntityCard` | Custom renderer for entity card messages |
11
24
 
12
25
  ## Usage Example
13
26
 
14
27
  ```typescript
15
- import { ChatMessageList } from './chat-message-list'
16
- import { useRef } from 'react'
28
+ import { ChatMessageList } from "@/components/chat"
29
+
30
+ const messages = [
31
+ { id: "1", role: "user", content: "Hello!" },
32
+ { id: "2", role: "assistant", content: "Hi there!" },
33
+ ]
17
34
 
18
- function ChatInterface() {
35
+ export function ChatPanel() {
19
36
  const listRef = useRef<HTMLDivElement>(null)
20
-
21
- const messages = [
22
- {
23
- id: '1',
24
- role: 'user' as const,
25
- content: 'Hello!',
26
- timestamp: new Date(),
27
- },
28
- {
29
- id: '2',
30
- role: 'assistant' as const,
31
- content: 'Hi there! How can I help?',
32
- timestamp: new Date(),
33
- assistantType: 'mingo' as const
34
- }
35
- ]
36
37
 
37
38
  return (
38
39
  <ChatMessageList
39
40
  ref={listRef}
40
41
  messages={messages}
41
- dialogId="chat-123"
42
- isLoading={false}
42
+ dialogId="conv-abc123"
43
43
  isTyping={false}
44
44
  autoScroll={true}
45
45
  showAvatars={true}
46
- assistantType="mingo"
47
- pendingApprovals={[]}
48
- className="h-96"
46
+ hasNextPage={true}
47
+ onLoadMore={() => fetchOlderMessages()}
49
48
  />
50
49
  )
51
50
  }
52
51
  ```
53
52
 
54
- The component handles complex scroll behavior including touch gestures, wheel events, and automatic positioning when dialogs change or new messages arrive.
53
+ ## Scroll Management Strategy
54
+
55
+ The component uses [`use-stick-to-bottom`](https://github.com/stackblitz-labs/use-stick-to-bottom) (same library powering bolt.new) with three additional behaviors layered on top:
56
+
57
+ ```mermaid
58
+ graph TD
59
+ A["Message Update"] --> B{"Trigger Type?"}
60
+ B -->|"Dialog changed"| C["scrollToBottom instant"]
61
+ B -->|"First message"| C
62
+ B -->|"New user message"| C
63
+ B -->|"Streaming assistant"| D["Library spring physics"]
64
+ A --> E{"Content prepended?"}
65
+ E -->|"Load-older"| F["Preserve viewport via scrollTop delta"]
66
+ E -->|"No prepend"| G["Update scrollHeight snapshot"]
67
+ ```
@@ -1,36 +1,40 @@
1
- <!-- source-hash: 200f61920444318158300267a27ad52c -->
2
- A React component that provides animated skeleton placeholders for chat messages and message lists, supporting both user and AI assistant (Mingo/Fae) message types with contextual styling and avatars.
1
+ <!-- source-hash: dc7cb2f1d39ceeb5b0684dbef38a8d20 -->
2
+ Animated loading skeleton components that simulate the layout of chat messages while content is being fetched, matching the `ChatMessageEnhanced` hanging-avatar layout.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`ChatMessageSkeleton`** - Single message skeleton with avatar, name, timestamp, and content placeholders
7
- - **`ChatMessageListSkeleton`** - Full chat message list with configurable message count and assistant types
8
- - **Props interfaces** - `ChatMessageSkeletonProps` and `ChatMessageListSkeletonProps` for type safety
6
+ ### `ChatMessageSkeleton`
7
+ Renders a single animated placeholder message with pulsing blocks for the avatar, sender name, timestamp, and multi-line message content.
8
+
9
+ | Prop | Type | Default | Description |
10
+ |------|------|---------|-------------|
11
+ | `className` | `string` | — | Additional CSS classes |
12
+ | `showAvatar` | `boolean` | `true` | Whether to render the avatar skeleton |
13
+ | `isUser` | `boolean` | `false` | Applies user-message styling (no card background, no avatar) |
14
+ | `assistantType` | `'mingo' \| 'fae'` | `'fae'` | Controls avatar gradient — cyan for Mingo, pink for Fae |
15
+
16
+ ### `ChatMessageListSkeleton`
17
+ Renders a scrollable list of `ChatMessageSkeleton` items, mimicking a full chat viewport during initial load.
18
+
19
+ | Prop | Type | Default | Description |
20
+ |------|------|---------|-------------|
21
+ | `messageCount` | `number` | `6` | Number of skeleton messages to render |
22
+ | `showAvatars` | `boolean` | `true` | Passed through to each `ChatMessageSkeleton` |
23
+ | `assistantType` | `'mingo' \| 'fae'` | `'fae'` | Applied to all assistant messages |
24
+ | `contentClassName` | `string` | — | Overrides default horizontal padding on the content wrapper |
9
25
 
10
26
  ## Usage Example
11
27
 
12
28
  ```typescript
13
- // Single message skeleton
14
- <ChatMessageSkeleton
15
- showAvatar={true}
16
- isUser={false}
17
- assistantType="mingo"
18
- className="my-4"
19
- />
29
+ // Single message skeleton (e.g. while streaming)
30
+ <ChatMessageSkeleton assistantType="mingo" showAvatar />
20
31
 
21
- // Full chat list skeleton (loading state)
32
+ // Full chat list skeleton on initial page load
22
33
  <ChatMessageListSkeleton
23
34
  messageCount={8}
24
- showAvatars={true}
25
35
  assistantType="fae"
26
- contentClassName="px-6"
27
- />
28
-
29
- // User message skeleton
30
- <ChatMessageSkeleton
31
- isUser={true}
32
- showAvatar={false}
36
+ showAvatars={true}
33
37
  />
34
38
  ```
35
39
 
36
- The component features gradient avatar placeholders (cyan for Mingo, pink for Fae), responsive layout with flex containers, and smooth scrolling for the message list. All skeleton elements use the `animate-pulse` class and themed colors from the OpenFrame design system (`ods-*` classes).
40
+ > Every third message (`index % 3 === 0`) is rendered as a user bubble; the rest render as assistant messages with the appropriate Mingo/Fae avatar gradient.
@@ -0,0 +1,52 @@
1
+ <!-- source-hash: 1d656526a500eeade83769cf600951b1 -->
2
+ React context providing chat panel affordances to deeply nested descendants without prop drilling.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `ChatPanelHandle` | Interface | Shape of the context value; exposes `closeChat()` |
9
+ | `ChatPanelContext` | `Context<ChatPanelHandle \| null>` | Raw context object; defaults to `null` when no provider is mounted |
10
+ | `useChatPanel` | Hook | Optional consumer; returns `null` safely outside a provider |
11
+
12
+ ## Usage Example
13
+
14
+ **Provider** (in `EmbeddableChat` or equivalent shell):
15
+
16
+ ```typescript
17
+ import { ChatPanelContext } from './chat-panel-context'
18
+
19
+ function EmbeddableChat() {
20
+ const handleClose = () => { /* dismiss panel */ }
21
+
22
+ return (
23
+ <ChatPanelContext.Provider value={{ closeChat: handleClose }}>
24
+ {/* card dispatcher and all descendants */}
25
+ </ChatPanelContext.Provider>
26
+ )
27
+ }
28
+ ```
29
+
30
+ **Consumer** (e.g. `BlogCard`, `ProgramCard`, any inline card):
31
+
32
+ ```typescript
33
+ import { useChatPanel } from './chat-panel-context'
34
+
35
+ function BlogCard({ href }: { href: string }) {
36
+ const chatPanel = useChatPanel()
37
+
38
+ const handleClick = (e: React.MouseEvent) => {
39
+ const isSameTab = !e.metaKey && !e.ctrlKey
40
+ if (isSameTab) {
41
+ chatPanel?.closeChat() // null-safe — works outside provider too
42
+ }
43
+ }
44
+
45
+ return <a href={href} onClick={handleClick}>Read more</a>
46
+ }
47
+ ```
48
+
49
+ ## Notes
50
+
51
+ - Returns `null` when consumed outside a provider (tests, standalone card renders) — always use optional chaining (`chatPanel?.closeChat()`).
52
+ - Intentionally minimal; add new affordances to `ChatPanelHandle` only when multiple card types need the same panel-level behavior.
@@ -0,0 +1,42 @@
1
+ <!-- source-hash: f33597ddf2bdac88dfe784aaa957aacd -->
2
+ Defines the wire schema for inline entity references emitted by the chat backend and embedded within assistant message bodies.
3
+
4
+ ## Key Components
5
+
6
+ ### `ChatRef` Interface
7
+
8
+ The primary export — mirrors `ChatRef` from the multi-platform-hub server. Consumed by `<ChatMessageEnhanced renderEntityCard={...} />` to expand `[card://<type>:<id>]` markers in assistant responses into host-rendered JSX cards.
9
+
10
+ | Field | Type | Description |
11
+ |-------|------|-------------|
12
+ | `type` | `string` | Opaque document type from the host's RAG config (e.g. `'webinar'`, `'customer_interview'`) |
13
+ | `id` | `string` | Primary key — opaque string downstream |
14
+ | `title` | `string` | Display title used for fallback rendering when host renderer returns null |
15
+ | `url` | `string \| null` | Resolved external URL; null when no public link exists |
16
+ | `sourceRepo` | `string?` | `RagTableConfig.id` driving icon/label lookup; optional for backward-compat |
17
+ | `targetPlatform` | `string \| null \| undefined` | Platform owning the `url` destination — enables deterministic same-app vs. cross-app routing |
18
+ | `date` | `string?` | ISO date for the entity's canonical timestamp |
19
+ | `preview` | `string?` | PII-sanitized hover preview text |
20
+ | `metadata` | `Record<string, unknown>?` | Type-specific extras passed opaquely; used by `slack_message` refs to ship resolved `channelName`/`userName` |
21
+
22
+ ## Usage Example
23
+
24
+ ```typescript
25
+ // Host supplies a renderer; OSS-lib stays agnostic of entity types
26
+ const ref: ChatRef = {
27
+ type: 'slack_message',
28
+ sourceRepo: 'slack-messages',
29
+ id: 'msg_abc123',
30
+ title: 'Deployment discussion',
31
+ url: 'https://myworkspace.slack.com/archives/C01/p123',
32
+ targetPlatform: 'flamingo',
33
+ date: '2024-11-01T14:30:00Z',
34
+ preview: 'Discussed rollback strategy for v2.4...',
35
+ metadata: { channelName: '#deployments', userName: 'alice' },
36
+ }
37
+
38
+ // Wire payload shape: refs map keyed by "<type>:<id>"
39
+ type RefsMap = Record<`${string}:${string}`, ChatRef>
40
+ ```
41
+
42
+ > The OSS-lib has **no knowledge** of entity types or rendering logic. The host owns both the type vocabulary and the card renderer — `ChatRef` is purely a typed transport contract.