@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
@@ -1,43 +1,52 @@
1
- <!-- source-hash: 8b8e1235435b49c60314ec7083f68f70 -->
2
- A loading state component that displays skeleton placeholders for a chat sidebar interface while data is being fetched. Provides animated placeholders for both individual dialog items and the complete sidebar structure.
1
+ <!-- source-hash: aae524b6903a622a00d4f048e78ca2ef -->
2
+ Skeleton loading components for the chat sidebar UI, providing animated placeholder states while chat dialog data is being fetched.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`DialogListItemSkeleton`** - Renders a single animated skeleton placeholder for a chat dialog item, including title, timestamp, and chevron placeholders
7
- - **`ChatSidebarSkeleton`** - Main skeleton component that displays a complete sidebar with optional "Start New Chat" button and configurable number of dialog item skeletons
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `ChatSidebarSkeleton` | `React.ForwardRefExoticComponent` | Full sidebar skeleton with optional new chat button and configurable dialog count |
9
+ | `DialogListItemSkeleton` | `React.ForwardRefExoticComponent` | Individual chat list item skeleton with animated title, timestamp, and chevron placeholders |
10
+
11
+ ### Props
12
+
13
+ **`ChatSidebarSkeletonProps`**
14
+
15
+ | Prop | Type | Default | Description |
16
+ |------|------|---------|-------------|
17
+ | `className` | `string` | — | Additional CSS classes |
18
+ | `dialogCount` | `number` | `8` | Number of skeleton dialog items to render |
19
+ | `showNewChatButton` | `boolean` | `true` | Toggle the disabled "Start New Chat" button header |
20
+
21
+ **`DialogListItemSkeletonProps`**
22
+
23
+ | Prop | Type | Default | Description |
24
+ |------|------|---------|-------------|
25
+ | `className` | `string` | — | Additional CSS classes |
8
26
 
9
27
  ## Usage Example
10
28
 
11
29
  ```typescript
12
- import { ChatSidebarSkeleton } from './components/chat-sidebar-skeleton'
30
+ import { ChatSidebarSkeleton, DialogListItemSkeleton } from "./chat-sidebar-skeleton"
31
+
32
+ // Full sidebar skeleton during data load
33
+ function ChatLayout() {
34
+ const { dialogs, isLoading } = useDialogs()
13
35
 
14
- function ChatInterface() {
15
- const { data: dialogs, isLoading } = useDialogs()
16
-
17
36
  if (isLoading) {
18
37
  return (
19
- <ChatSidebarSkeleton
20
- dialogCount={5}
38
+ <ChatSidebarSkeleton
39
+ dialogCount={5}
21
40
  showNewChatButton={true}
22
- className="shadow-lg"
23
41
  />
24
42
  )
25
43
  }
26
-
44
+
27
45
  return <ChatSidebar dialogs={dialogs} />
28
46
  }
29
47
 
30
- // For individual dialog skeleton during incremental loading
31
- import { DialogListItemSkeleton } from './components/chat-sidebar-skeleton'
32
-
33
- function DialogList({ dialogs, isLoadingMore }) {
34
- return (
35
- <div>
36
- {dialogs.map(dialog => <DialogItem key={dialog.id} {...dialog} />)}
37
- {isLoadingMore && <DialogListItemSkeleton />}
38
- </div>
39
- )
48
+ // Standalone skeleton item for custom lists
49
+ function CustomList() {
50
+ return <DialogListItemSkeleton className="opacity-50" />
40
51
  }
41
- ```
42
-
43
- The component uses the OpenFrame Design System (ODS) classes for consistent theming and includes pulse animations for a polished loading experience. Both components are forwardRef-enabled for advanced ref patterns.
52
+ ```
@@ -1,43 +1,48 @@
1
- <!-- source-hash: 1f5a70892052e18bb61f57fa7efa791d -->
2
- A React chat sidebar component with dialog list functionality and infinite scroll support for AI chat interfaces.
1
+ <!-- source-hash: eca198ef18bcc431169bc6caeb87161d -->
2
+ A sidebar component for chat navigation that displays a list of dialogs, supports infinite scroll pagination, and provides controls for creating new chats.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`DialogListItem`** - Individual chat dialog item with click handling, timestamp formatting, and unread message indicators
7
- - **`ChatSidebar`** - Main sidebar container with new chat button, empty state, and scrollable dialog list
8
- - **`formatTimestamp()`** - Utility function for formatting dialog timestamps in MM/DD/YYYY, HH:MM format
9
-
10
- ## Features
11
-
12
- - **Infinite Scroll** - Automatically loads more dialogs when scrolling near bottom using IntersectionObserver
13
- - **Loading States** - Shows skeleton placeholders during initial load and pagination
14
- - **Empty State** - Displays helpful message when no chats exist
15
- - **Active Dialog** - Highlights currently selected chat with accent border
16
- - **Unread Indicators** - Shows unread message count badges or chevron icons
17
- - **Responsive Design** - Fixed 320px width with proper overflow handling
6
+ ### `ChatSidebar`
7
+ The main container component that renders the sidebar with:
8
+ - **New Chat button** triggers `onNewChat` callback
9
+ - **Dialog list** — scrollable list with infinite scroll via `IntersectionObserver`
10
+ - **Empty state** — shown when no dialogs exist and no `children` are provided
11
+ - **Custom content slot** — renders `children` instead of the dialog list when provided
12
+ - **Loading skeleton** displays `ChatSidebarSkeleton` when `isLoading` is true and no dialogs are present
13
+
14
+ ### `DialogListItem`
15
+ A single chat entry in the sidebar list. Displays:
16
+ - Chat title (truncated with tooltip)
17
+ - Formatted timestamp (`MM/DD/YYYY, HH:MM`)
18
+ - Unread message badge (capped at `99+`) or a chevron arrow when no unread messages exist
19
+ - Active state with accent border and background highlight
18
20
 
19
21
  ## Usage Example
20
22
 
21
23
  ```typescript
22
- import { ChatSidebar } from './chat-sidebar'
24
+ import { ChatSidebar } from "./chat-sidebar"
23
25
 
24
- function ChatInterface() {
25
- const [dialogs, setDialogs] = useState([])
26
- const [activeDialogId, setActiveDialogId] = useState(null)
27
-
26
+ function App() {
28
27
  return (
29
28
  <ChatSidebar
30
- dialogs={dialogs}
31
- activeDialogId={activeDialogId}
32
- onDialogSelect={setActiveDialogId}
33
- onNewChat={() => console.log('Starting new chat')}
34
- hasNextPage={true}
35
- onLoadMore={() => console.log('Loading more dialogs')}
29
+ dialogs={[
30
+ { id: "1", title: "Network Issue", timestamp: new Date(), unreadMessagesCount: 3 },
31
+ { id: "2", title: "Server Setup", timestamp: new Date() },
32
+ ]}
33
+ activeDialogId="1"
36
34
  isLoading={false}
35
+ isCreatingDialog={false}
36
+ hasNextPage={true}
37
37
  isFetchingNextPage={false}
38
+ onNewChat={() => console.log("New chat")}
39
+ onDialogSelect={(id) => console.log("Selected:", id)}
40
+ onLoadMore={() => fetchNextPage()}
38
41
  />
39
42
  )
40
43
  }
41
44
  ```
42
45
 
43
- The component uses OpenFrame's design system classes (`ods-*`) and supports both controlled dialog lists and custom children content for flexible chat interfaces.
46
+ ## Infinite Scroll
47
+
48
+ Pagination is handled automatically using an `IntersectionObserver` anchored to the bottom of the scroll container. When the sentinel element enters the viewport and `hasNextPage` is `true`, `onLoadMore` is called. Skeleton items are shown while `isFetchingNextPage` is active.
@@ -0,0 +1,39 @@
1
+ <!-- source-hash: 6e8a04ae19bb53e1b3779c86e3a511c1 -->
2
+ Scrollable list component that renders a collection of `ChatTicketItem` cards with dynamic edge-fade masking based on scroll position.
3
+
4
+ ## Key Components
5
+
6
+ - **`ChatTicketList`** — `forwardRef` component that wraps a scrollable ticket list with fade-in/out gradient masks at the top and bottom edges to indicate overflow content
7
+ - **`getMask(top, bottom)`** — Pure utility that computes a CSS `linear-gradient` mask string based on whether the scroll container has hidden content above or below
8
+ - **`updateFade`** — Scroll handler that compares `scrollTop`, `scrollHeight`, and `clientHeight` to toggle `fadeTop`/`fadeBottom` state, also triggered via `useLayoutEffect` when the ticket count changes
9
+
10
+ ## Props
11
+
12
+ | Prop | Type | Description |
13
+ |------|------|-------------|
14
+ | `tickets` | `ChatTicketItemData[]` | Array of ticket data to render |
15
+ | `onTicketClick` | `(ticketId: string) => void` | Optional click handler passed to each item |
16
+ | `className` | `string` | Additional CSS classes |
17
+
18
+ ## Usage Example
19
+
20
+ ```typescript
21
+ import { ChatTicketList } from './chat-ticket-list'
22
+
23
+ const tickets = [
24
+ { id: 'TKT-001', title: 'VPN not connecting', status: 'open' },
25
+ { id: 'TKT-002', title: 'Printer offline', status: 'pending' },
26
+ ]
27
+
28
+ function ChatSidebar() {
29
+ return (
30
+ <ChatTicketList
31
+ tickets={tickets}
32
+ onTicketClick={(id) => console.log('Selected ticket:', id)}
33
+ className="max-h-96"
34
+ />
35
+ )
36
+ }
37
+ ```
38
+
39
+ > Returns `null` when `tickets` is empty. Border radius and top/bottom borders are conditionally removed at scroll edges to visually blend with the fade mask.
@@ -0,0 +1,36 @@
1
+ <!-- source-hash: 4f36d6b4b32c3b253b88e445f6e633a8 -->
2
+ A display component that shows context compaction status in a styled card, indicating either an in-progress summarization or a completed one.
3
+
4
+ ## Key Components
5
+
6
+ - **`ContextCompactionDisplay`** — A forwarded-ref `div` component that renders a status banner with a label and icon based on the `status` prop
7
+ - **`status`** — Accepts `'started'` (in-progress) or any other value (completed), driving both the label text and icon displayed
8
+ - **Icons** — Uses `DotsLoaderIcon` for in-progress state and `CheckCircleIcon` for completed state
9
+
10
+ ## Usage Example
11
+
12
+ ```typescript
13
+ import { ContextCompactionDisplay } from "./context-compaction-display"
14
+
15
+ // In-progress state
16
+ <ContextCompactionDisplay status="started" />
17
+ // Renders: "Context limit reached. Summarizing earlier messages." + spinner
18
+
19
+ // Completed state
20
+ <ContextCompactionDisplay status="completed" />
21
+ // Renders: "Earlier context summarized." + check icon
22
+
23
+ // With custom className
24
+ <ContextCompactionDisplay
25
+ status="done"
26
+ className="my-2 w-full"
27
+ />
28
+ ```
29
+
30
+ ## Props
31
+
32
+ | Prop | Type | Description |
33
+ |------|------|-------------|
34
+ | `status` | `string` | `'started'` shows loader; any other value shows check icon |
35
+ | `className` | `string` | Optional additional CSS classes |
36
+ | `ref` | `React.Ref<HTMLDivElement>` | Forwarded ref to the root `div` |
@@ -0,0 +1,52 @@
1
+ <!-- source-hash: 9194bff6a46e5277230795354c61e35e -->
2
+ A React component that renders a terminal-style cycling text animation, morphing through a list of words character-by-character with a blinking block cursor.
3
+
4
+ ## Key Components
5
+
6
+ ### `CyclingPhrase`
7
+ The default export. Cycles through `words` indefinitely using a left-to-right character overwrite morph — each character position transitions from the current word to the next, then holds before advancing.
8
+
9
+ ### `CyclingPhraseProps`
10
+
11
+ | Prop | Type | Default | Description |
12
+ |------|------|---------|-------------|
13
+ | `words` | `readonly string[]` | — | Words to cycle through |
14
+ | `className` | `string` | — | Applied to outer `<span>` |
15
+ | `charMs` | `number` | `60` | Milliseconds per character during morph |
16
+ | `holdMs` | `number` | `4500` | Milliseconds to hold fully-typed word |
17
+
18
+ ### State Machine
19
+
20
+ ```mermaid
21
+ stateDiagram-v2
22
+ [*] --> Morphing
23
+ Morphing --> Holding: cursor >= maxLen
24
+ Holding --> Morphing: after holdMs
25
+ ```
26
+
27
+ ## Usage Example
28
+
29
+ ```typescript
30
+ import { CyclingPhrase } from "./cycling-phrase"
31
+
32
+ export function StatusBanner() {
33
+ return (
34
+ <p>
35
+ Mingo is{" "}
36
+ <CyclingPhrase
37
+ words={["Thinking", "Analyzing", "Vibing"]}
38
+ charMs={60}
39
+ holdMs={3000}
40
+ className="font-mono text-yellow-400"
41
+ />
42
+ </p>
43
+ )
44
+ }
45
+ ```
46
+
47
+ ## Notes
48
+
49
+ - **Layout stable**: width is pinned to the longest word using an invisible placeholder `<span>`, preventing layout shift as words change length.
50
+ - **Accessible**: visible text uses `aria-live="polite"`; the cursor block and placeholder are `aria-hidden`.
51
+ - **Style injection**: `BLINK_KEYFRAMES` is injected via `dangerouslySetInnerHTML` once per render tree — safe for multiple instances since CSS `@keyframes` rules are idempotent.
52
+ - A static `...` suffix always follows the word.
@@ -0,0 +1,48 @@
1
+ <!-- source-hash: c87e4b417e41397ff1753b0ea0848f78 -->
2
+ Portable, lib-safe port of the hub's `<GlobalAskAI>` chat panel component, decoupled from all hub-only imports by routing navigation, identity, and transport decisions through a `useRequiredChatRuntime()` context hook.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `EmbeddableChat` | Component | Main embeddable chat panel with controlled/uncontrolled open state |
9
+ | `EmbeddableChatProps` | Interface | Full prop surface for the component |
10
+ | `dispatchSlashCommandAction` | Function | Maps slash-command action IDs (`browse`, `search`, `find`, `display`) to `ChatInputRef` mutations |
11
+ | `resolveChipIcon` | Function | Resolves a `ChatSource` to a Lucide icon via the icon registry |
12
+ | `SKELETON_ROW_VARIANTS` | Constant | Deterministic width palette for loading skeleton rows |
13
+ | `FALLBACK_TOP_RETRIEVED` | Constant | Number of fallback source chips shown when the model cites no sources (default: `3`) |
14
+
15
+ ## Usage Example
16
+
17
+ ```typescript
18
+ // Host wires the runtime once at root
19
+ <HubRuntimeProvider source="hub" user={currentUser}>
20
+ <EmbeddableChat
21
+ emptyStateGreeting="How can I help you today?"
22
+ suggestedQueries={['How do I reset a password?', 'Show open tickets']}
23
+ enabledRagTableIds={enabledTableIds}
24
+ modes={{
25
+ guide: { tableIdForDocumentType },
26
+ mingo: { agentId: 'mingo-agent' },
27
+ }}
28
+ defaultActiveMode="guide"
29
+ extras={{ buildProgramProps, buildProductReleaseProps }}
30
+ />
31
+ </HubRuntimeProvider>
32
+
33
+ // Controlled open state
34
+ <EmbeddableChat
35
+ open={isOpen}
36
+ onOpenChange={setIsOpen}
37
+ showInternalTrigger={false}
38
+ />
39
+ ```
40
+
41
+ ## Runtime Substitutions
42
+
43
+ | Hub Original | Lib Replacement |
44
+ |---|---|
45
+ | `useAuth()` | `useRequiredChatRuntime().user` |
46
+ | `currentPlatform()` | `useRequiredChatRuntime().source` |
47
+ | `useNavLink` / `NavLinkAnchor` | `handleChatNavClick` + `NavLinkAnchorViaRuntime` |
48
+ | `useDocChat(source)` | `useSseChatAdapter()` (source from runtime) |
@@ -0,0 +1,24 @@
1
+ <!-- source-hash: 53782aa07fbb1aeb83e2d663969c62b0 -->
2
+ A simple animated chevron icon component that rotates 180° when an expanded state is active, commonly used for accordion and collapsible UI elements.
3
+
4
+ ## Key Components
5
+
6
+ - **`ExpandChevronProps`** — Interface accepting:
7
+ - `expanded: boolean` — Controls rotation state of the chevron
8
+ - `className?: string` — Optional class overrides
9
+ - **`ExpandChevron`** — Client component rendering a `Chevron02DownIcon` with a smooth 200ms CSS transition
10
+
11
+ ## Usage Example
12
+
13
+ ```typescript
14
+ import { ExpandChevron } from "./expand-chevron"
15
+
16
+ // Collapsed state (chevron points down)
17
+ <ExpandChevron expanded={false} />
18
+
19
+ // Expanded state (chevron rotates 180° to point up)
20
+ <ExpandChevron expanded={true} />
21
+
22
+ // With custom class
23
+ <ExpandChevron expanded={isOpen} className="text-ods-text-primary" />
24
+ ```
@@ -1,46 +1,42 @@
1
- <!-- source-hash: 2ee769935d6198c186d8b48450b66e01 -->
2
- A centralized export index for Flamingo's AI chat interface components, providing a unified entry point for all chat-related functionality including UI components, hooks, types, and utilities.
1
+ <!-- source-hash: 4f91f1efeb0b18cbf93d3b4ed385c331 -->
2
+ Central barrel export for the `chat` UI package — re-exports every public component, hook, utility, type, and constant from the chat feature module, making the entire surface area available via a single import path.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### **Component Exports**
7
- - **Core Components**: `ChatContainer`, `ChatInput`, `ChatMessageEnhanced`, `ChatMessageList` - Primary chat interface elements
8
- - **Interaction Components**: `ChatQuickAction`, `ChatTypingIndicator`, `ChatSidebar` - User interaction and feedback components
9
- - **Message Components**: `ApprovalRequestMessage`, `ErrorMessageDisplay` - Specialized message types
10
- - **Display Components**: `ToolExecutionDisplay`, `ModelDisplay` - AI tool and model information display
11
-
12
- ### **Supporting Exports**
13
- - **Types**: TypeScript interfaces and type definitions for chat functionality
14
- - **Hooks**: React hooks for chat state management and interactions
15
- - **Utils**: Utility functions for chat operations and data processing
6
+ | Export | Description |
7
+ |--------|-------------|
8
+ | `EmbeddableChat` | Top-level chat orchestrator; mount once at the app root inside a `ChatRuntimeContext.Provider` |
9
+ | `ChatRef` | Type for imperative chat handle refs |
10
+ | `remarkCardLinks` | Remark plugin for rendering card-style links in chat messages |
11
+ | `NavLinkAnchorViaRuntime` | Runtime-aware navigation anchor component |
12
+ | `SourceActionButton` | Action button with configurable density for source references |
13
+ | `ChatAttachmentAddButton` / `ChatAttachmentChipStrip` | Attachment UI with MIME type constants and upload concurrency limits |
14
+ | `entity-cards` | Suite of 12+ refactored entity card components |
15
+ | `hooks` | All chat-related React hooks |
16
+ | `utils` | Chat utility functions |
17
+ | `types` | Shared chat types and constants |
16
18
 
17
19
  ## Usage Example
18
20
 
19
21
  ```typescript
20
- // Import specific components
21
- import {
22
- ChatContainer,
23
- ChatInput,
24
- ChatMessageList,
25
- ChatTypingIndicator
26
- } from '@/components/chat'
27
-
28
- // Import types for type safety
29
- import type { ChatMessage, ChatConfig } from '@/components/chat'
22
+ // Import anything from the chat package via this single entry point
23
+ import {
24
+ EmbeddableChat,
25
+ ChatAttachmentAddButton,
26
+ CHAT_ATTACHMENT_MIME_TYPES,
27
+ type ChatRef,
28
+ type EmbeddableChatProps,
29
+ } from '@flamingo/chat'
30
+
31
+ function AppRoot() {
32
+ const chatRef = useRef<ChatRef>(null)
30
33
 
31
- // Import hooks for state management
32
- import { useChatMessages, useChatInput } from '@/components/chat'
33
-
34
- function MyChat() {
35
- const { messages, addMessage } = useChatMessages()
36
- const { input, handleSend } = useChatInput()
37
-
38
34
  return (
39
- <ChatContainer>
40
- <ChatMessageList messages={messages} />
41
- <ChatTypingIndicator />
42
- <ChatInput value={input} onSend={handleSend} />
43
- </ChatContainer>
35
+ <ChatRuntimeContext.Provider value={runtime}>
36
+ <EmbeddableChat ref={chatRef} />
37
+ </ChatRuntimeContext.Provider>
44
38
  )
45
39
  }
46
- ```
40
+ ```
41
+
42
+ > **Note:** This file is marked `'use client'` — all exports are React Client Components or client-safe utilities, intended for browser rendering in Next.js App Router environments.
@@ -0,0 +1,44 @@
1
+ <!-- source-hash: 494a22f9a73827cd16b9d05722b58535 -->
2
+ Skeleton loading components for `MingoOnboardingCard` and its list container, providing pixel-accurate placeholder UI while slash-command data is fetched from `/api/docs/commands`.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `MingoOnboardingCardSkeleton` | Component | Single-row skeleton matching the live `MingoOnboardingCard` layout — icon slot, title bar, slash-command bar, description lines, and action chips |
9
+ | `MingoOnboardingListSkeleton` | Component | Wraps multiple `MingoOnboardingCardSkeleton` rows in the same bordered container used by the resolved list |
10
+ | `MingoOnboardingCardSkeletonProps` | Interface | Props for controlling bar widths, description line count, and chip configuration per card |
11
+ | `MingoOnboardingListSkeletonProps` | Interface | Props for row count and container className |
12
+ | `ROW_VARIANTS` | Constant | Deterministic width palette cycled by index — prevents uniform appearance without `Math.random` jitter on re-mount |
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ // Drop-in list skeleton while data loads
18
+ import { MingoOnboardingListSkeleton } from './mingo-onboarding-card-skeleton'
19
+
20
+ function SlashCommandPanel() {
21
+ const { data, isLoading } = useSlashCommands()
22
+
23
+ if (isLoading) {
24
+ return <MingoOnboardingListSkeleton rows={6} />
25
+ }
26
+
27
+ return <MingoOnboardingList commands={data} />
28
+ }
29
+
30
+ // Single card skeleton with custom widths
31
+ import { MingoOnboardingCardSkeleton } from './mingo-onboarding-card-skeleton'
32
+
33
+ <MingoOnboardingCardSkeleton
34
+ titleWidth="w-44"
35
+ slashWidth="w-28"
36
+ descriptionLines={1}
37
+ chipWidths={['w-16', 'w-20']} // Pass [] to hide chip row
38
+ />
39
+ ```
40
+
41
+ ## Notes
42
+
43
+ - Wrap `MingoOnboardingCardSkeleton` rows in a `rounded-md border border-ods-border overflow-hidden` container to replicate the divider behaviour — each row's `border-b last:border-b-0` forms a 1px separator matching the live list.
44
+ - `MingoOnboardingListSkeleton` sets `role="status"`, `aria-label`, and `aria-busy` for accessible loading state announcement.
@@ -0,0 +1,62 @@
1
+ <!-- source-hash: 86ac59c4c1438a33b694f4b3fbba9291 -->
2
+ A chat empty-state onboarding card component that renders a single slash-command or feature row, supporting optional action buttons, icons, and interactive/non-interactive modes.
3
+
4
+ ## Key Components
5
+
6
+ ### Interfaces
7
+
8
+ - **`MingoOnboardingCardAction`** — Defines a single action button with `id`, `label`, and `onClick` handler
9
+ - **`MingoOnboardingCardProps`** — Full card configuration including `icon`, `title`, `slashCommand`, `description`, `actions`, `onClick`, and `className`
10
+
11
+ ### Component
12
+
13
+ - **`MingoOnboardingCard`** — Root component that conditionally renders as a `<button>` (when `onClick` is set and no `actions`) or a `<div>` (when `actions` are present or no `onClick`)
14
+
15
+ ### Behavior Logic
16
+
17
+ | Condition | Rendered Element |
18
+ |-----------|-----------------|
19
+ | `onClick` set, no `actions` | `<button>` with hover/focus styles |
20
+ | `actions` present | `<div>` with per-action `<button>` chips |
21
+ | Neither | Static `<div>` |
22
+
23
+ ## Usage Example
24
+
25
+ ```typescript
26
+ import {
27
+ MingoOnboardingCard,
28
+ MingoOnboardingCardAction,
29
+ } from './mingo-onboarding-card'
30
+
31
+ // Static card with slash command
32
+ <MingoOnboardingCard
33
+ icon={<SearchIcon />}
34
+ title="Search Knowledge Base"
35
+ slashCommand="/search"
36
+ description="Find articles, runbooks, and past tickets"
37
+ />
38
+
39
+ // Interactive card (renders as <button>)
40
+ <MingoOnboardingCard
41
+ icon={<RoadmapIcon />}
42
+ title="View Roadmap"
43
+ slashCommand="/roadmap"
44
+ onClick={() => router.push('/roadmap')}
45
+ />
46
+
47
+ // Card with action chips (renders as <div>)
48
+ const actions: MingoOnboardingCardAction[] = [
49
+ { id: 'recent', label: 'Recent', onClick: () => fetchRecent() },
50
+ { id: 'search', label: 'Search', onClick: (e) => { e.stopPropagation(); openSearch() } },
51
+ ]
52
+
53
+ <MingoOnboardingCard
54
+ icon={<TicketIcon />}
55
+ title="Tickets"
56
+ slashCommand="/tickets"
57
+ description="Browse and manage open tickets"
58
+ actions={actions}
59
+ />
60
+ ```
61
+
62
+ > **Note:** Stack multiple cards inside a `rounded-md` container — the `last:border-b-0` rule automatically removes the bottom divider from the final card, keeping the visual frame clean.
@@ -1,44 +1,46 @@
1
- <!-- source-hash: 5dd385e2320af3422b1780f758c64406 -->
2
- A React component that displays AI model information with provider-specific icons and names in a consistent format.
1
+ <!-- source-hash: 75472e90962007832fb7ea753283d69c -->
2
+ Renders an inline pill showing the AI provider icon, model name, and token usage against the context window. When per-call token breakdown data is available, a hover card expands to show input/output splits across the answer model and any auxiliary Haiku sub-agents (rewriter, classifier, summarizer), plus an optional prompt-cache hit rate.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`ModelDisplay`** - Main React component that renders model name with provider icon
7
- - **`getProviderIcon`** - Helper function that maps provider names to their corresponding icons
8
- - **Provider Icons** - Supports Anthropic/Claude, OpenAI, and Google/Gemini providers
9
- - **Props Interface** - Uses `ModelDisplayProps` type for component configuration
6
+ | Export / Function | Description |
7
+ |---|---|
8
+ | `ModelDisplay` | Primary `forwardRef` component rendering the inline token pill and optional hover card breakdown |
9
+ | `BreakdownRow` | Internal helper rendering a single `label / X in / Y out` row in the hover card |
10
+ | `getProviderIcon` | Maps provider string (`anthropic`, `openai`, `google`, etc.) to the corresponding grey logo icon |
11
+ | `formatTokenCount` | Formats raw token integers to human-readable strings (`1.2K`, `200M`, etc.) |
12
+ | `hasAnyBreakdownRow` | Guards hover card rendering — returns `true` only when at least one Haiku sub-agent row exists |
10
13
 
11
14
  ## Usage Example
12
15
 
13
16
  ```typescript
14
17
  import { ModelDisplay } from './model-display';
15
18
 
16
- // Basic usage with provider and model name
17
- <ModelDisplay
18
- provider="anthropic"
19
- modelName="claude-3-sonnet"
19
+ // Minimal inline pill only (no hover card)
20
+ <ModelDisplay
21
+ provider="anthropic"
22
+ modelName="claude-opus-4-5"
23
+ displayName="Claude Opus"
24
+ usedTokens={12_400}
25
+ contextWindow={200_000}
20
26
  />
21
27
 
22
- // With custom display name
23
- <ModelDisplay
24
- provider="openai"
25
- modelName="gpt-4-turbo"
26
- displayName="GPT-4 Turbo"
28
+ // With full breakdown — activates hover card on mouse-over
29
+ <ModelDisplay
30
+ provider="anthropic"
31
+ modelName="claude-opus-4-5"
32
+ displayName="Claude Opus"
33
+ usedTokens={18_750}
34
+ contextWindow={200_000}
35
+ inputTokens={15_200}
36
+ outputTokens={3_550}
37
+ hitRatePct={34}
38
+ breakdown={{
39
+ haikuRewriter: { input: 420, output: 80 },
40
+ haikuClassifier: { input: 310, output: 45 },
41
+ haikuSummarizer: { input: 1100, output: 200 },
42
+ }}
27
43
  />
28
-
29
- // With additional styling
30
- <ModelDisplay
31
- provider="google"
32
- modelName="gemini-pro"
33
- className="text-lg font-bold"
34
- />
35
-
36
- // Supported provider strings
37
- const providers = [
38
- 'anthropic', 'claude', // Claude icon
39
- 'openai', // OpenAI icon
40
- 'google', 'gemini', 'google-gemini', 'google_gemini' // Gemini icon
41
- ];
42
44
  ```
43
45
 
44
- The component automatically selects the appropriate icon based on the provider string and displays either the `displayName` or falls back to `modelName`. It uses Tailwind classes for styling and supports all standard div props through forwarded refs.
46
+ > **Note:** The `usedTokens` / `contextWindow` tail renders as soon as `contextWindow` is available, intentionally showing `—/200K tokens used` before the first usage frame arrives so users can see model capacity without waiting for streaming to begin.