@flamingo-stack/openframe-frontend-core 0.0.481 → 0.0.482

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 (838) hide show
  1. package/dist/{chunk-H6DFCF44.cjs → chunk-22AED5IC.cjs} +82 -82
  2. package/dist/{chunk-H6DFCF44.cjs.map → chunk-22AED5IC.cjs.map} +1 -1
  3. package/dist/{chunk-MGKCS6KS.js → chunk-3WCARCI4.js} +2 -2
  4. package/dist/{chunk-LNKWY74S.cjs → chunk-4HL6UENH.cjs} +5 -5
  5. package/dist/{chunk-LNKWY74S.cjs.map → chunk-4HL6UENH.cjs.map} +1 -1
  6. package/dist/{chunk-Y3Y2DLNO.js → chunk-6UGYBCEN.js} +3 -3
  7. package/dist/{chunk-BBUEY73L.js → chunk-7I5B5PQ4.js} +6269 -5339
  8. package/dist/chunk-7I5B5PQ4.js.map +1 -0
  9. package/dist/{chunk-PSPWT2Q5.js → chunk-7LWXWXEY.js} +4 -4
  10. package/dist/{chunk-M7O74OWG.cjs → chunk-ACOU5YJI.cjs} +31 -31
  11. package/dist/{chunk-M7O74OWG.cjs.map → chunk-ACOU5YJI.cjs.map} +1 -1
  12. package/dist/{chunk-INDFIVDV.cjs → chunk-AHGSN4AT.cjs} +12 -12
  13. package/dist/{chunk-INDFIVDV.cjs.map → chunk-AHGSN4AT.cjs.map} +1 -1
  14. package/dist/{chunk-VTSRDC4W.js → chunk-CKC3EAYT.js} +2 -2
  15. package/dist/{chunk-SASR7SK5.js → chunk-GZK7FWJJ.js} +20 -4
  16. package/dist/chunk-GZK7FWJJ.js.map +1 -0
  17. package/dist/{chunk-ZRANZNEA.js → chunk-JJE5TUZK.js} +2 -2
  18. package/dist/{chunk-66BNAFO6.js → chunk-JQIUBFHL.js} +4 -4
  19. package/dist/{chunk-MMCBQJKE.cjs → chunk-KUBJHB6I.cjs} +11 -11
  20. package/dist/{chunk-MMCBQJKE.cjs.map → chunk-KUBJHB6I.cjs.map} +1 -1
  21. package/dist/{chunk-ZV6E3U3C.cjs → chunk-MRGTMMJ3.cjs} +30 -30
  22. package/dist/{chunk-ZV6E3U3C.cjs.map → chunk-MRGTMMJ3.cjs.map} +1 -1
  23. package/dist/{chunk-OZJN54R5.cjs → chunk-NWVKG7QC.cjs} +37 -37
  24. package/dist/{chunk-OZJN54R5.cjs.map → chunk-NWVKG7QC.cjs.map} +1 -1
  25. package/dist/{chunk-AN47EIIJ.cjs → chunk-PHTSSHIQ.cjs} +59 -59
  26. package/dist/{chunk-AN47EIIJ.cjs.map → chunk-PHTSSHIQ.cjs.map} +1 -1
  27. package/dist/{chunk-N2JZ33V7.cjs → chunk-RUA3OXSJ.cjs} +26 -26
  28. package/dist/{chunk-N2JZ33V7.cjs.map → chunk-RUA3OXSJ.cjs.map} +1 -1
  29. package/dist/{chunk-LK623WCC.cjs → chunk-RZPF7MJ2.cjs} +9 -9
  30. package/dist/{chunk-LK623WCC.cjs.map → chunk-RZPF7MJ2.cjs.map} +1 -1
  31. package/dist/{chunk-G3UN2DXU.cjs → chunk-STYA77PH.cjs} +20 -4
  32. package/dist/chunk-STYA77PH.cjs.map +1 -0
  33. package/dist/{chunk-JUJY3HQS.cjs → chunk-U37UTLP7.cjs} +19 -19
  34. package/dist/{chunk-JUJY3HQS.cjs.map → chunk-U37UTLP7.cjs.map} +1 -1
  35. package/dist/{chunk-2DIOV7BR.js → chunk-UPN6EFOM.js} +4 -4
  36. package/dist/{chunk-OWMLWJQY.cjs → chunk-VPVOJD5X.cjs} +2432 -1502
  37. package/dist/chunk-VPVOJD5X.cjs.map +1 -0
  38. package/dist/{chunk-4SMRQ4SN.js → chunk-WBL5Y4PS.js} +3 -3
  39. package/dist/{chunk-FP4H6Y5O.js → chunk-WPYPSIY2.js} +3 -3
  40. package/dist/{chunk-R5WJJL4V.js → chunk-X5X43HFV.js} +5 -5
  41. package/dist/{chunk-DEHZ5CTC.js → chunk-XTWKDMCG.js} +2 -2
  42. package/dist/components/case-studies/index.cjs +9 -9
  43. package/dist/components/case-studies/index.js +3 -3
  44. package/dist/components/chat/index.cjs +3 -3
  45. package/dist/components/chat/index.js +2 -2
  46. package/dist/components/contact/index.cjs +4 -4
  47. package/dist/components/contact/index.js +3 -3
  48. package/dist/components/docs/index.cjs +6 -6
  49. package/dist/components/docs/index.js +5 -5
  50. package/dist/components/embeds/index.cjs +4 -4
  51. package/dist/components/embeds/index.js +3 -3
  52. package/dist/components/faq/index.cjs +4 -4
  53. package/dist/components/faq/index.js +3 -3
  54. package/dist/components/features/captions-url.cjs +12 -0
  55. package/dist/components/features/captions-url.cjs.map +1 -0
  56. package/dist/components/features/captions-url.js +10 -0
  57. package/dist/components/features/captions-url.js.map +1 -0
  58. package/dist/components/features/card-hit-layer.d.ts +40 -0
  59. package/dist/components/features/card-hit-layer.d.ts.map +1 -0
  60. package/dist/components/features/floating-walkthrough-video.d.ts +71 -0
  61. package/dist/components/features/floating-walkthrough-video.d.ts.map +1 -0
  62. package/dist/components/features/index.cjs +11 -3
  63. package/dist/components/features/index.cjs.map +1 -1
  64. package/dist/components/features/index.d.ts +4 -0
  65. package/dist/components/features/index.d.ts.map +1 -1
  66. package/dist/components/features/index.js +12 -4
  67. package/dist/components/features/use-walkthrough-video.d.ts +16 -0
  68. package/dist/components/features/use-walkthrough-video.d.ts.map +1 -0
  69. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  70. package/dist/components/features/video-center-badge.d.ts.map +1 -1
  71. package/dist/components/features/video-hover-preview.d.ts +68 -0
  72. package/dist/components/features/video-hover-preview.d.ts.map +1 -0
  73. package/dist/components/features/video.d.ts +78 -40
  74. package/dist/components/features/video.d.ts.map +1 -1
  75. package/dist/components/form.d.ts +0 -1
  76. package/dist/components/form.d.ts.map +1 -1
  77. package/dist/components/help-center-pages/index.cjs +21 -21
  78. package/dist/components/help-center-pages/index.js +12 -12
  79. package/dist/components/index.cjs +163 -155
  80. package/dist/components/index.cjs.map +1 -1
  81. package/dist/components/index.js +18 -10
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/navigation/index.cjs +3 -3
  84. package/dist/components/navigation/index.js +2 -2
  85. package/dist/components/onboarding-guides/index.cjs +6 -6
  86. package/dist/components/onboarding-guides/index.js +5 -5
  87. package/dist/components/related-content/index.cjs +4 -4
  88. package/dist/components/related-content/index.js +3 -3
  89. package/dist/components/tickets/index.cjs +6 -6
  90. package/dist/components/tickets/index.js +5 -5
  91. package/dist/components/ui/button/button-styles.d.ts +2 -0
  92. package/dist/components/ui/button/button-styles.d.ts.map +1 -1
  93. package/dist/components/ui/button/button.d.ts +2 -2
  94. package/dist/components/ui/button/button.d.ts.map +1 -1
  95. package/dist/components/ui/file-manager/index.cjs +50 -50
  96. package/dist/components/ui/file-manager/index.js +1 -1
  97. package/dist/components/ui/index.cjs +3 -3
  98. package/dist/components/ui/index.js +2 -2
  99. package/dist/components/ui/page-actions.d.ts +2 -1
  100. package/dist/components/ui/page-actions.d.ts.map +1 -1
  101. package/dist/index.cjs +27 -3
  102. package/dist/index.cjs.map +1 -1
  103. package/dist/index.js +28 -4
  104. package/dist/types/supabase.d.ts +80 -0
  105. package/dist/types/supabase.d.ts.map +1 -1
  106. package/dist/types/video-processing.d.ts +1 -1
  107. package/dist/types/video-processing.d.ts.map +1 -1
  108. package/dist/utils/announcement-storage.d.ts +1 -1
  109. package/dist/utils/announcement-storage.d.ts.map +1 -1
  110. package/dist/utils/dismiss-cookie.d.ts +27 -0
  111. package/dist/utils/dismiss-cookie.d.ts.map +1 -0
  112. package/dist/utils/dismissal-storage.d.ts +19 -0
  113. package/dist/utils/dismissal-storage.d.ts.map +1 -0
  114. package/dist/utils/index.cjs +48 -10
  115. package/dist/utils/index.cjs.map +1 -1
  116. package/dist/utils/index.d.ts +2 -0
  117. package/dist/utils/index.d.ts.map +1 -1
  118. package/dist/utils/index.js +41 -11
  119. package/dist/utils/index.js.map +1 -1
  120. package/package.json +8 -2
  121. package/src/.index.md +39 -32
  122. package/src/.platform-domains.md +65 -0
  123. package/src/assets/.fae-avatar.md +33 -0
  124. package/src/assets/.index.md +15 -9
  125. package/src/components/.agent-mark.md +31 -0
  126. package/src/components/.announcement-bar.md +47 -35
  127. package/src/components/.calendar.md +19 -15
  128. package/src/components/.categories-cart.md +34 -30
  129. package/src/components/.category-card.md +33 -33
  130. package/src/components/.chart.md +38 -40
  131. package/src/components/.command.md +47 -23
  132. package/src/components/.comment-card.md +31 -26
  133. package/src/components/.content-loading-container.md +45 -20
  134. package/src/components/.context-menu.md +45 -31
  135. package/src/components/.date-time-picker.md +36 -30
  136. package/src/components/.empty-state.md +31 -31
  137. package/src/components/.faq-accordion.md +20 -30
  138. package/src/components/.filter-chip.md +36 -33
  139. package/src/components/.footer-waitlist-button.md +27 -21
  140. package/src/components/.footer.md +39 -24
  141. package/src/components/.form.md +32 -20
  142. package/src/components/.hero-image-uploader.md +35 -31
  143. package/src/components/.icon-display.md +53 -0
  144. package/src/components/.image-cropper.md +34 -33
  145. package/src/components/.index.md +25 -29
  146. package/src/components/.logs-list.md +27 -23
  147. package/src/components/.media-carousel.md +47 -26
  148. package/src/components/.metric-value.md +27 -24
  149. package/src/components/.msp-display.md +29 -23
  150. package/src/components/.open-source-features.md +23 -26
  151. package/src/components/.pagination.md +44 -39
  152. package/src/components/.persistent-filter-controls.md +61 -28
  153. package/src/components/.pricing-display.md +34 -33
  154. package/src/components/.results-count.md +33 -20
  155. package/src/components/.smooth-accordion.md +24 -20
  156. package/src/components/.social-icon-row.md +33 -21
  157. package/src/components/.sonner.md +40 -25
  158. package/src/components/.steps.md +39 -25
  159. package/src/components/.tool-icon.md +34 -21
  160. package/src/components/.unified-filter-logic.md +32 -36
  161. package/src/components/.user-display.md +33 -28
  162. package/src/components/.user-summary-stub.md +40 -33
  163. package/src/components/.vendor-display-button.md +17 -15
  164. package/src/components/.vendor-icon.md +17 -25
  165. package/src/components/.vendor-tag.md +39 -34
  166. package/src/components/.why-it-matters.md +15 -11
  167. package/src/components/.yes-no-display.md +36 -31
  168. package/src/components/authors/.author-detail-view.md +50 -0
  169. package/src/components/case-studies/.index.md +26 -0
  170. package/src/components/case-studies/.share-experience-section.md +45 -0
  171. package/src/components/chat/.approval-batch-message.md +48 -33
  172. package/src/components/chat/.approval-request-message.md +37 -26
  173. package/src/components/chat/.chat-archive-page.md +56 -0
  174. package/src/components/chat/.chat-attachment-bar.md +32 -40
  175. package/src/components/chat/.chat-composer.md +43 -0
  176. package/src/components/chat/.chat-container.md +41 -25
  177. package/src/components/chat/.chat-context-memory-bar.md +53 -0
  178. package/src/components/chat/.chat-context-picker.md +89 -0
  179. package/src/components/chat/.chat-header-icon-button.md +43 -0
  180. package/src/components/chat/.chat-header-search-field.md +51 -0
  181. package/src/components/chat/.chat-input.md +63 -30
  182. package/src/components/chat/.chat-list-empty-state.md +44 -0
  183. package/src/components/chat/.chat-message-enhanced.md +29 -31
  184. package/src/components/chat/.chat-message-list.md +34 -44
  185. package/src/components/chat/.chat-message-row.md +56 -0
  186. package/src/components/chat/.chat-message-skeleton.md +32 -26
  187. package/src/components/chat/.chat-panel-header-mobile.md +46 -0
  188. package/src/components/chat/.chat-panel-header.md +80 -0
  189. package/src/components/chat/.chat-sidebar-skeleton.md +31 -30
  190. package/src/components/chat/.chat-sidebar.md +36 -29
  191. package/src/components/chat/.chat-ticket-list.md +38 -23
  192. package/src/components/chat/.chat-typing-indicator.md +37 -19
  193. package/src/components/chat/.context-compaction-display.md +19 -15
  194. package/src/components/chat/.context-items-list.md +57 -0
  195. package/src/components/chat/.embeddable-chat.md +57 -66
  196. package/src/components/chat/.error-message-display.md +40 -22
  197. package/src/components/chat/.guide-mode-banner.md +41 -0
  198. package/src/components/chat/.guide-welcome.md +43 -0
  199. package/src/components/chat/.index.md +26 -21
  200. package/src/components/chat/.mingo-chat-history.md +63 -0
  201. package/src/components/chat/.mingo-chat-modals.md +44 -0
  202. package/src/components/chat/.mingo-history-rail.md +63 -0
  203. package/src/components/chat/.mingo-info-card.md +59 -0
  204. package/src/components/chat/.mingo-onboarding-card.md +21 -27
  205. package/src/components/chat/.mingo-welcome.md +60 -0
  206. package/src/components/chat/.model-display.md +33 -25
  207. package/src/components/chat/.msp-organization-card-skeleton.md +44 -0
  208. package/src/components/chat/.msp-organization-card.md +51 -0
  209. package/src/components/chat/.nav-link-anchor-via-runtime.md +36 -25
  210. package/src/components/chat/.quick-action-chip.md +60 -0
  211. package/src/components/chat/.quick-action-marquee.md +53 -0
  212. package/src/components/chat/.quick-action-wall.md +68 -0
  213. package/src/components/chat/.remark-mention-chips.md +41 -0
  214. package/src/components/chat/.slash-command-suggestions.md +30 -36
  215. package/src/components/chat/.source-action-button.md +28 -25
  216. package/src/components/chat/.tool-call-blocks.md +18 -30
  217. package/src/components/chat/.tool-execution-display.md +29 -34
  218. package/src/components/chat/entity-cards/.admin-content-card.md +29 -22
  219. package/src/components/chat/entity-cards/.blog-card.md +44 -33
  220. package/src/components/chat/entity-cards/.blog-image-placeholder.md +20 -18
  221. package/src/components/chat/entity-cards/.case-study-card.md +24 -33
  222. package/src/components/chat/entity-cards/.chat-ticket-item.md +39 -22
  223. package/src/components/chat/entity-cards/.customer-interview-card.md +29 -32
  224. package/src/components/chat/entity-cards/.data-room-doc-card.md +21 -22
  225. package/src/components/chat/entity-cards/.dispatch.md +41 -24
  226. package/src/components/chat/entity-cards/.entity-author-card.md +36 -33
  227. package/src/components/chat/entity-cards/.entity-portrait-card.md +47 -0
  228. package/src/components/chat/entity-cards/.generic-entity-card.md +26 -25
  229. package/src/components/chat/entity-cards/.github-activity-card.md +35 -41
  230. package/src/components/chat/entity-cards/.hubspot-ticket-card.md +22 -28
  231. package/src/components/chat/entity-cards/.index.md +33 -44
  232. package/src/components/chat/entity-cards/.investor-update-card.md +36 -25
  233. package/src/components/chat/entity-cards/.onboarding-guide-card.md +20 -29
  234. package/src/components/chat/entity-cards/.product-release-card-defaults.md +26 -19
  235. package/src/components/chat/entity-cards/.program-card.md +30 -33
  236. package/src/components/chat/entity-cards/.roadmap-card.md +40 -31
  237. package/src/components/chat/entity-cards/.roadmap-vote-button.md +33 -36
  238. package/src/components/chat/entity-cards/.slack-message-card.md +31 -32
  239. package/src/components/chat/entity-cards/.use-cover-image-fallback.md +47 -0
  240. package/src/components/chat/entity-cards/.use-entity-card-link.md +51 -0
  241. package/src/components/chat/entity-cards/.use-entity-card-placeholder.md +47 -0
  242. package/src/components/chat/entity-cards/.what-i-shipped-card.md +43 -0
  243. package/src/components/chat/hooks/.index.md +33 -30
  244. package/src/components/chat/hooks/.use-chat-card-item.md +30 -17
  245. package/src/components/chat/hooks/.use-chat-dialog-manager.md +59 -0
  246. package/src/components/chat/hooks/.use-chat-identity.md +37 -25
  247. package/src/components/chat/hooks/.use-chunk-catchup.md +53 -36
  248. package/src/components/chat/hooks/.use-empty-state-config.md +39 -0
  249. package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +65 -30
  250. package/src/components/chat/hooks/.use-nats-chat-adapter.md +55 -36
  251. package/src/components/chat/hooks/.use-nats-dialog-subscription.md +66 -50
  252. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +58 -31
  253. package/src/components/chat/hooks/.use-scripted-stream.md +46 -0
  254. package/src/components/chat/hooks/.use-slash-commands.md +32 -25
  255. package/src/components/chat/hooks/.use-sse-chat-adapter.md +32 -21
  256. package/src/components/chat/hooks/.use-unified-chat.md +45 -35
  257. package/src/components/chat/types/.api.types.md +49 -41
  258. package/src/components/chat/types/.chat.types.md +56 -34
  259. package/src/components/chat/types/.component.types.md +36 -36
  260. package/src/components/chat/types/.context-item.types.md +61 -0
  261. package/src/components/chat/types/.index.md +32 -17
  262. package/src/components/chat/types/.message.types.md +44 -45
  263. package/src/components/chat/types/.network.types.md +46 -46
  264. package/src/components/chat/types/.processing.types.md +49 -37
  265. package/src/components/chat/types/.unified-chat-state.types.md +41 -26
  266. package/src/components/chat/types/entities/.content-ref.md +20 -31
  267. package/src/components/chat/types/entities/.investor-update.md +14 -16
  268. package/src/components/chat/types/entities/.onboarding-guide.md +35 -34
  269. package/src/components/chat/types/entities/.program-types.md +55 -43
  270. package/src/components/chat/utils/.chip-action-class.md +17 -19
  271. package/src/components/chat/utils/.chip-styles.md +18 -18
  272. package/src/components/chat/utils/.chunk-parser.md +48 -37
  273. package/src/components/chat/utils/.compact-card-classes.md +33 -35
  274. package/src/components/chat/utils/.execute-navigation.md +49 -0
  275. package/src/components/chat/utils/.extract-incomplete-message-state.md +9 -12
  276. package/src/components/chat/utils/.history-merge.md +65 -0
  277. package/src/components/chat/utils/.icon-library.md +33 -31
  278. package/src/components/chat/utils/.icon-registry.md +44 -0
  279. package/src/components/chat/utils/.index.md +37 -33
  280. package/src/components/chat/utils/.is-cross-origin-url.md +26 -22
  281. package/src/components/chat/utils/.message-segment-accumulator.md +46 -25
  282. package/src/components/chat/utils/.nav-anchor-props.md +29 -34
  283. package/src/components/chat/utils/.nav-click-handler.md +29 -33
  284. package/src/components/chat/utils/.process-historical-messages.md +29 -33
  285. package/src/components/chat/utils/.scripted-stream.md +52 -0
  286. package/src/components/chat/utils/.source-row-cta.md +32 -31
  287. package/src/components/chat/utils/.tool-call-helpers.md +25 -17
  288. package/src/components/contact/.contact-form.md +24 -19
  289. package/src/components/docs/.doc-navigation-context.md +49 -0
  290. package/src/components/docs/.doc-viewer.md +64 -0
  291. package/src/components/docs/.docs-hub-page.md +49 -0
  292. package/src/components/docs/.index.md +51 -0
  293. package/src/components/docs/.skeletons.md +47 -0
  294. package/src/components/docs/.use-docs-resolve-link.md +61 -0
  295. package/src/components/docs/.use-document-tree.md +83 -0
  296. package/src/components/docs/.use-scroll-spy.md +58 -0
  297. package/src/components/embeds/.embed-container.md +45 -0
  298. package/src/components/embeds/.embed-iframe.md +51 -0
  299. package/src/components/embeds/.figma-embed.md +43 -0
  300. package/src/components/embeds/.file-download-card.md +47 -0
  301. package/src/components/embeds/.google-sheets-viewer.md +40 -0
  302. package/src/components/embeds/.index.md +58 -0
  303. package/src/components/embeds/.linkedin-embed-client.md +50 -0
  304. package/src/components/embeds/.markdown-image.md +40 -0
  305. package/src/components/embeds/.og-link-preview.md +54 -0
  306. package/src/components/embeds/.pdf-viewer.md +43 -0
  307. package/src/components/embeds/.reddit-embed-client.md +40 -0
  308. package/src/components/embeds/.rich-markdown-runtime.md +53 -0
  309. package/src/components/embeds/.twitter-embed-client.md +44 -0
  310. package/src/components/faq/.faq-document-page.md +68 -0
  311. package/src/components/faq/.faq-section.md +55 -0
  312. package/src/components/faq/.index.md +29 -0
  313. package/src/components/faq/.json-ld.md +48 -0
  314. package/src/components/features/.array-entry-manager.md +32 -24
  315. package/src/components/features/.auth-providers-list.md +33 -32
  316. package/src/components/features/.captions-url.md +43 -0
  317. package/src/components/features/.cards-strip.md +48 -0
  318. package/src/components/features/.changelog-manager.md +17 -20
  319. package/src/components/features/.command-box.md +11 -16
  320. package/src/components/features/.entity-summary-editor.md +20 -15
  321. package/src/components/features/.entity-tag-badges.md +43 -0
  322. package/src/components/features/.entity-video-section.md +31 -41
  323. package/src/components/features/.figma-prototype-viewer.md +55 -37
  324. package/src/components/features/.filters-dropdown.md +14 -13
  325. package/src/components/features/.highlight-config-section.md +19 -16
  326. package/src/components/features/.highlight-video-combined-section.md +28 -19
  327. package/src/components/features/.highlight-video-preview.md +13 -11
  328. package/src/components/features/.highlight-video-section.md +26 -22
  329. package/src/components/features/.index.md +40 -36
  330. package/src/components/features/.media-gallery-manager.md +37 -35
  331. package/src/components/features/.mux-origins.md +46 -0
  332. package/src/components/features/.og-editor-preview.md +29 -24
  333. package/src/components/features/.os-type-badge-group.md +26 -18
  334. package/src/components/features/.os-type-badge.md +41 -24
  335. package/src/components/features/.paths-display.md +42 -25
  336. package/src/components/features/.platform-badge.md +26 -17
  337. package/src/components/features/.policy-configuration-panel.md +33 -31
  338. package/src/components/features/.provider-button.md +29 -20
  339. package/src/components/features/.push-button-selector.md +39 -41
  340. package/src/components/features/.release-media-manager.md +41 -34
  341. package/src/components/features/.section-selector.md +27 -16
  342. package/src/components/features/.select-button.md +21 -32
  343. package/src/components/features/.seo-editor-preview.md +49 -36
  344. package/src/components/features/.social-links-manager.md +40 -18
  345. package/src/components/features/.start-with-openframe-button.md +30 -32
  346. package/src/components/features/.status-filter-component.md +29 -38
  347. package/src/components/features/.tags-selector.md +25 -29
  348. package/src/components/features/.transcript-summary-editor.md +24 -18
  349. package/src/components/features/.use-video-warmup.md +47 -0
  350. package/src/components/features/.video-bites-display.md +36 -37
  351. package/src/components/features/.video-bites-shared.md +44 -0
  352. package/src/components/features/.video-bites-strip.md +63 -0
  353. package/src/components/features/.video-center-badge.md +38 -0
  354. package/src/components/features/.video-ratio-tabs.md +38 -31
  355. package/src/components/features/.video-source-selector.md +24 -27
  356. package/src/components/features/.video.md +35 -27
  357. package/src/components/features/.waitlist-form.md +39 -33
  358. package/src/components/features/.warning-block.md +53 -0
  359. package/src/components/features/ai-enrich/.AIEnrichSection.md +24 -25
  360. package/src/components/features/ai-enrich/.AIRequiredBadge.md +22 -21
  361. package/src/components/features/ai-enrich/.AIStatusIndicator.md +42 -35
  362. package/src/components/features/ai-enrich/.AIWarningsSection.md +23 -20
  363. package/src/components/features/ai-enrich/.ConfidenceBadge.md +35 -20
  364. package/src/components/features/auth/.auth-benefits-panel.md +48 -0
  365. package/src/components/features/auth/.auth-branding.md +51 -0
  366. package/src/components/features/auth/.auth-shell.md +51 -0
  367. package/src/components/features/auth/.back-to-login-link.md +48 -0
  368. package/src/components/features/auth/.complete-account-form.md +45 -0
  369. package/src/components/features/auth/.create-organization-form.md +53 -0
  370. package/src/components/features/auth/.index.md +48 -0
  371. package/src/components/features/auth/.invite-link-invalid-modal.md +42 -0
  372. package/src/components/features/auth/.login-form.md +42 -0
  373. package/src/components/features/auth/.openframe-sso-login-form.md +46 -0
  374. package/src/components/features/auth/.openframe-sso-signup-form.md +51 -0
  375. package/src/components/features/auth/.password-reset-form.md +57 -0
  376. package/src/components/features/auth/.sso-auth-shell.md +35 -0
  377. package/src/components/features/auth/.sso-providers.md +42 -0
  378. package/src/components/features/auth/.terms-agreement-label.md +28 -0
  379. package/src/components/features/board/.board-column-header.md +24 -18
  380. package/src/components/features/board/.board-column.md +32 -32
  381. package/src/components/features/board/.board-ticket-approval.md +42 -0
  382. package/src/components/features/board/.board.md +38 -38
  383. package/src/components/features/board/.index.md +35 -38
  384. package/src/components/features/board/.ticket-card.md +33 -36
  385. package/src/components/features/board/.types.md +38 -31
  386. package/src/components/features/card-hit-layer.tsx +84 -0
  387. package/src/components/features/floating-walkthrough-video.tsx +891 -0
  388. package/src/components/features/index.ts +4 -0
  389. package/src/components/features/notifications/.approval-request-notification-tile.md +45 -0
  390. package/src/components/features/notifications/.index.md +35 -31
  391. package/src/components/features/notifications/.notification-drawer.md +32 -19
  392. package/src/components/features/notifications/.notification-popups.md +51 -0
  393. package/src/components/features/notifications/.notification-tile.md +43 -27
  394. package/src/components/features/notifications/.notifications-context.md +42 -45
  395. package/src/components/features/notifications/.types.md +51 -31
  396. package/src/components/features/ticket-status-config-list/.ticket-status-config-list.md +51 -0
  397. package/src/components/features/time-tracker/.index.md +48 -0
  398. package/src/components/features/time-tracker/.time-tracker-context.md +55 -0
  399. package/src/components/features/time-tracker/.time-tracker-header-button.md +51 -0
  400. package/src/components/features/time-tracker/.time-tracker-panel.md +58 -0
  401. package/src/components/features/time-tracker/.types.md +51 -0
  402. package/src/components/features/time-tracker/.use-tracker-clock.md +32 -0
  403. package/src/components/features/use-walkthrough-video.ts +70 -0
  404. package/src/components/features/video-bites-strip.tsx +46 -146
  405. package/src/components/features/video-center-badge.tsx +11 -2
  406. package/src/components/features/video-hover-preview.tsx +201 -0
  407. package/src/components/features/video.tsx +368 -73
  408. package/src/components/help-center-pages/.delivery-page.md +51 -0
  409. package/src/components/help-center-pages/.index.md +51 -0
  410. package/src/components/help-center-pages/.onboarding-guides-catalog-page.md +53 -0
  411. package/src/components/help-center-pages/.product-releases-list-page.md +51 -0
  412. package/src/components/help-center-pages/.roadmap-page.md +46 -0
  413. package/src/components/icons/.figma-icon.md +13 -7
  414. package/src/components/icons/.index.md +26 -22
  415. package/src/components/icons/.vendor-directory-icon.md +30 -18
  416. package/src/components/icons/.x-logo.md +26 -10
  417. package/src/components/icons-v2-generated/.index.md +30 -41
  418. package/src/components/icons-v2-generated/brand-logos/.index.md +25 -19
  419. package/src/components/icons-v2-generated/communication/.index.md +26 -30
  420. package/src/components/icons-v2-generated/logos/.flamingo-logo-icon.md +41 -0
  421. package/src/components/layout/.article-detail-layout.md +32 -21
  422. package/src/components/layout/.page-container.md +25 -23
  423. package/src/components/layout/.page-heading.md +48 -0
  424. package/src/components/layout/.page-layout.md +30 -25
  425. package/src/components/layout/.title-block.md +43 -24
  426. package/src/components/loading/.card-skeleton.md +28 -35
  427. package/src/components/loading/.category-card-skeleton.md +25 -23
  428. package/src/components/loading/.device-card-skeleton.md +22 -15
  429. package/src/components/loading/.margin-report-skeleton.md +30 -35
  430. package/src/components/loading/.openmsp-heartbeat.md +30 -32
  431. package/src/components/loading/.organization-card-skeleton.md +22 -25
  432. package/src/components/loading/.organization-icon-skeleton.md +39 -27
  433. package/src/components/loading/.page-layout-skeleton.md +50 -28
  434. package/src/components/loading/.unified-skeleton.md +37 -40
  435. package/src/components/loading/.users-grid-skeleton.md +19 -38
  436. package/src/components/navigation/.app-header.md +35 -28
  437. package/src/components/navigation/.app-layout-context.md +48 -0
  438. package/src/components/navigation/.app-layout-drawer.md +56 -0
  439. package/src/components/navigation/.app-layout.md +24 -23
  440. package/src/components/navigation/.header-mingo-button.md +46 -0
  441. package/src/components/navigation/.header-organization-filter.md +32 -18
  442. package/src/components/navigation/.header.md +24 -31
  443. package/src/components/navigation/.index.md +36 -50
  444. package/src/components/navigation/.mingo-ai-button.md +41 -0
  445. package/src/components/navigation/.mobile-burger-menu.md +29 -29
  446. package/src/components/navigation/.mobile-nav-panel.md +41 -49
  447. package/src/components/navigation/.multi-level-navigation.md +76 -0
  448. package/src/components/navigation/.navigation-sidebar-item.md +14 -14
  449. package/src/components/navigation/.navigation-sidebar.md +30 -23
  450. package/src/components/navigation/.sliding-sidebar.md +30 -25
  451. package/src/components/navigation/.sticky-section-nav.md +23 -21
  452. package/src/components/onboarding-guides/.index.md +40 -0
  453. package/src/components/onboarding-guides/.onboarding-guide-detail-view.md +55 -0
  454. package/src/components/onboarding-guides/.onboarding-guides-catalog-skeleton.md +33 -0
  455. package/src/components/onboarding-guides/.onboarding-guides-catalog-view.md +50 -0
  456. package/src/components/onboarding-guides/hooks/.use-onboarding-guides.md +54 -0
  457. package/src/components/platform/.CveLink.md +28 -17
  458. package/src/components/platform/.ScriptArguments.md +18 -23
  459. package/src/components/platform/.ScriptInfoSection.md +27 -21
  460. package/src/components/platform/.ShellTypeBadge.md +34 -18
  461. package/src/components/platform/.SoftwareInfo.md +23 -21
  462. package/src/components/platform/.ToolBadge.md +18 -16
  463. package/src/components/profile/.ProfileLoadingSkeleton.md +24 -23
  464. package/src/components/related-content/.index.md +41 -0
  465. package/src/components/related-content/.related-content-section.md +62 -0
  466. package/src/components/shared/.article-author-byline.md +56 -0
  467. package/src/components/shared/.detail-page-skeleton.md +32 -43
  468. package/src/components/shared/.media-gallery-strip.md +43 -0
  469. package/src/components/shared/delivery/.delivery-lists.md +20 -19
  470. package/src/components/shared/delivery/.delivery-row.md +24 -20
  471. package/src/components/shared/delivery/.delivery-table.md +20 -22
  472. package/src/components/shared/dev-section/.dev-card-row.md +28 -36
  473. package/src/components/shared/dev-section/.dev-section-page.md +36 -25
  474. package/src/components/shared/dev-section/.dev-section-view.md +32 -22
  475. package/src/components/shared/doc-search/.doc-search-bar.md +58 -0
  476. package/src/components/shared/doc-search/.doc-search-result-row.md +50 -0
  477. package/src/components/shared/doc-search/.format-relative-path.md +30 -0
  478. package/src/components/shared/doc-search/.index.md +46 -0
  479. package/src/components/shared/doc-search/.map-doc-search-results.md +44 -0
  480. package/src/components/shared/doc-search/.resolve-search-result-action.md +52 -0
  481. package/src/components/shared/doc-search/.types.md +49 -0
  482. package/src/components/shared/doc-search/.use-doc-search.md +66 -0
  483. package/src/components/shared/legal-document/.legal-document-page.md +26 -20
  484. package/src/components/shared/legal-document/.use-legal-docs.md +36 -30
  485. package/src/components/shared/onboarding/.onboarding-step-card.md +24 -16
  486. package/src/components/shared/onboarding/.onboarding-walkthrough.md +42 -28
  487. package/src/components/shared/product-release/.index.md +33 -24
  488. package/src/components/shared/product-release/.product-release-card-skeleton.md +22 -28
  489. package/src/components/shared/product-release/.product-release-card.md +28 -29
  490. package/src/components/shared/product-release/.product-releases-view.md +49 -0
  491. package/src/components/shared/product-release/.release-detail-page.md +30 -15
  492. package/src/components/shared/roadmap/.index.md +29 -24
  493. package/src/components/shared/roadmap/.roadmap-grid.md +43 -54
  494. package/src/components/shared/roadmap/.roadmap-view.md +41 -0
  495. package/src/components/shared/roadmap/.use-roadmap-voting.md +27 -17
  496. package/src/components/switch.tsx +1 -1
  497. package/src/components/tickets/.help-center-card.md +32 -28
  498. package/src/components/tickets/.help-center-create-form.md +34 -22
  499. package/src/components/tickets/.help-center-list.md +36 -25
  500. package/src/components/tickets/.index.md +30 -45
  501. package/src/components/tickets/.ticket-center.md +31 -38
  502. package/src/components/tickets/.ticket-detail-drawer.md +20 -30
  503. package/src/components/tickets/.ticket-open-form.md +24 -26
  504. package/src/components/tickets/.ticket-reply-composer.md +51 -0
  505. package/src/components/tickets/.ticket-row.md +26 -11
  506. package/src/components/tickets/.types.md +56 -38
  507. package/src/components/tickets/hooks/.use-ticket-actions.md +60 -47
  508. package/src/components/tickets/hooks/.use-ticket-engagements.md +27 -27
  509. package/src/components/tickets/hooks/.use-tickets-list.md +24 -30
  510. package/src/components/ui/.accordion.md +28 -21
  511. package/src/components/ui/.actions-menu.md +36 -54
  512. package/src/components/ui/.ai-generated-badge.md +25 -0
  513. package/src/components/ui/.alert-dialog.md +21 -16
  514. package/src/components/ui/.alert.md +30 -25
  515. package/src/components/ui/.allowed-domains-input.md +26 -15
  516. package/src/components/ui/.announcement-bar-view.md +46 -0
  517. package/src/components/ui/.autocomplete.md +40 -27
  518. package/src/components/ui/.badge.md +34 -31
  519. package/src/components/ui/.brand-association-card.md +22 -18
  520. package/src/components/ui/.breadcrumb.md +18 -14
  521. package/src/components/ui/.bullet-list.md +35 -23
  522. package/src/components/ui/.card.md +47 -30
  523. package/src/components/ui/.checkbox-block.md +34 -22
  524. package/src/components/ui/.checkbox-with-description.md +18 -20
  525. package/src/components/ui/.chevron-button.md +29 -29
  526. package/src/components/ui/.circular-progress.md +30 -41
  527. package/src/components/ui/.color-preset-select.md +54 -0
  528. package/src/components/ui/.color-swatch.md +37 -0
  529. package/src/components/ui/.content-loader.md +34 -27
  530. package/src/components/ui/.crossfade-panels.md +50 -0
  531. package/src/components/ui/.cursor-pagination.md +38 -26
  532. package/src/components/ui/.dashboard-info-card.md +46 -27
  533. package/src/components/ui/.date-picker.md +52 -36
  534. package/src/components/ui/.device-card-compact.md +23 -20
  535. package/src/components/ui/.device-card.md +39 -30
  536. package/src/components/ui/.dialog.md +14 -14
  537. package/src/components/ui/.drawer.md +45 -39
  538. package/src/components/ui/.dropdown-button.md +41 -33
  539. package/src/components/ui/.dropdown-menu.md +40 -23
  540. package/src/components/ui/.duration-input.md +41 -0
  541. package/src/components/ui/.entity-image.md +32 -28
  542. package/src/components/ui/.error-state.md +30 -26
  543. package/src/components/ui/.fade-preview.md +44 -0
  544. package/src/components/ui/.field-wrapper.md +34 -23
  545. package/src/components/ui/.file-upload.md +30 -18
  546. package/src/components/ui/.filter-modal.md +30 -32
  547. package/src/components/ui/.filter-pill-row.md +58 -0
  548. package/src/components/ui/.floating-tooltip.md +27 -32
  549. package/src/components/ui/.hidden-tags-popup.md +18 -20
  550. package/src/components/ui/.highlight-card.md +36 -23
  551. package/src/components/ui/.honeypot-field.md +41 -0
  552. package/src/components/ui/.hover-dropdown.md +44 -31
  553. package/src/components/ui/.image-gallery-modal.md +28 -30
  554. package/src/components/ui/.image-uploader.md +39 -22
  555. package/src/components/ui/.index.md +33 -31
  556. package/src/components/ui/.info-card-row.md +50 -0
  557. package/src/components/ui/.info-card.md +27 -20
  558. package/src/components/ui/.info-row.md +30 -24
  559. package/src/components/ui/.info-section.md +63 -0
  560. package/src/components/ui/.input.md +29 -28
  561. package/src/components/ui/.label.md +34 -26
  562. package/src/components/ui/.markdown-editor.md +26 -25
  563. package/src/components/ui/.marquee-wall.md +64 -0
  564. package/src/components/ui/.menubar.md +50 -16
  565. package/src/components/ui/.modal-v2.md +41 -27
  566. package/src/components/ui/.modal.md +22 -19
  567. package/src/components/ui/.more-actions-menu.md +30 -24
  568. package/src/components/ui/.navigation-menu.md +40 -25
  569. package/src/components/ui/.organization-card.md +46 -27
  570. package/src/components/ui/.page-actions.md +55 -41
  571. package/src/components/ui/.page-loader.md +40 -23
  572. package/src/components/ui/.password-input.md +30 -0
  573. package/src/components/ui/.phone-input.md +20 -22
  574. package/src/components/ui/.portal-container.md +43 -0
  575. package/src/components/ui/.progress-bar.md +40 -27
  576. package/src/components/ui/.release-changelog-section.md +32 -26
  577. package/src/components/ui/.rich-markdown-renderer.md +45 -0
  578. package/src/components/ui/.scroll-fade.md +56 -0
  579. package/src/components/ui/.search-input.md +55 -37
  580. package/src/components/ui/.select.md +25 -26
  581. package/src/components/ui/.service-card.md +25 -19
  582. package/src/components/ui/.sheet.md +21 -21
  583. package/src/components/ui/.simple-markdown-renderer.md +36 -24
  584. package/src/components/ui/.slack-channel-chip.md +49 -0
  585. package/src/components/ui/.square-avatar.md +29 -26
  586. package/src/components/ui/.stacked-rows-panel.md +61 -0
  587. package/src/components/ui/.status-badge.md +30 -24
  588. package/src/components/ui/.status-indicator.md +35 -21
  589. package/src/components/ui/.tab-content.md +34 -22
  590. package/src/components/ui/.tab-navigation.md +40 -50
  591. package/src/components/ui/.tab-selector.md +48 -31
  592. package/src/components/ui/.tabs.md +34 -21
  593. package/src/components/ui/.tag-search-input.md +20 -20
  594. package/src/components/ui/.tag-select-dropdown.md +59 -0
  595. package/src/components/ui/.tag.md +25 -43
  596. package/src/components/ui/.tags-input.md +31 -31
  597. package/src/components/ui/.textarea.md +32 -30
  598. package/src/components/ui/.ticket-attachments-list.md +36 -29
  599. package/src/components/ui/.ticket-info-section.md +37 -42
  600. package/src/components/ui/.ticket-status-config-row.md +66 -0
  601. package/src/components/ui/.ticket-status-tag.md +39 -35
  602. package/src/components/ui/.toaster.md +21 -15
  603. package/src/components/ui/.toggle.md +38 -37
  604. package/src/components/ui/.tooltip.md +16 -13
  605. package/src/components/ui/button/.button-styles.md +17 -18
  606. package/src/components/ui/button/.button.md +30 -37
  607. package/src/components/ui/button/.split-button.md +46 -23
  608. package/src/components/ui/button/button-styles.ts +13 -0
  609. package/src/components/ui/button/button.tsx +5 -0
  610. package/src/components/ui/data-table/.data-table-body.md +50 -35
  611. package/src/components/ui/data-table/.data-table-empty.md +17 -33
  612. package/src/components/ui/data-table/.data-table-header.md +43 -40
  613. package/src/components/ui/data-table/.data-table-row.md +31 -31
  614. package/src/components/ui/data-table/.types.md +23 -28
  615. package/src/components/ui/file-manager/.file-manager-breadcrumb.md +16 -24
  616. package/src/components/ui/file-manager/.file-manager-empty.md +23 -15
  617. package/src/components/ui/file-manager/.file-manager-skeleton.md +34 -36
  618. package/src/components/ui/file-manager/.file-manager-table-row.md +29 -29
  619. package/src/components/ui/file-manager/.file-manager-table.md +39 -24
  620. package/src/components/ui/no-data/.index.md +22 -0
  621. package/src/components/ui/no-data/.no-data-actions.md +29 -0
  622. package/src/components/ui/no-data/.no-data-message.md +37 -0
  623. package/src/components/ui/no-data/.no-data-styles.md +39 -0
  624. package/src/components/ui/no-data/.no-data.md +59 -0
  625. package/src/components/ui/page-actions.tsx +2 -1
  626. package/src/components/ui/query-report-table/.query-report-table-header.md +15 -15
  627. package/src/components/ui/query-report-table/.query-report-table-row.md +16 -16
  628. package/src/components/ui/query-report-table/.query-report-table.md +39 -24
  629. package/src/components/ui/table/.table-column-filter-dropdown.md +15 -9
  630. package/src/components/ui/table/.table-description-cell.md +13 -12
  631. package/src/components/ui/table/.table-empty-state.md +19 -20
  632. package/src/components/ui/table/.table-row.md +30 -20
  633. package/src/components/ui/table/.table-skeleton.md +32 -27
  634. package/src/components/ui/table/.table-timestamp-cell.md +24 -23
  635. package/src/components/ui/table/.table.md +43 -30
  636. package/src/components/ui/table/.types.md +49 -45
  637. package/src/components/ui/table/.use-table-motion.md +45 -0
  638. package/src/contexts/.chat-runtime-context.md +55 -26
  639. package/src/contexts/.endpoints-runtime-context.md +40 -44
  640. package/src/embed-shims/.next-navigation.md +38 -31
  641. package/src/hooks/.api-hooks.md +28 -21
  642. package/src/hooks/.index.md +30 -25
  643. package/src/hooks/.use-authed-image-src.md +38 -0
  644. package/src/hooks/.use-contact-submission.md +35 -36
  645. package/src/hooks/.use-humanity-signals.md +47 -0
  646. package/src/hooks/.use-near-viewport.md +30 -30
  647. package/src/hooks/.use-og-placeholder-url.md +57 -0
  648. package/src/hooks/.use-scroll-to-hash.md +46 -0
  649. package/src/hooks/.use-self-fetch.md +52 -0
  650. package/src/hooks/state/.flatten-schema.md +37 -29
  651. package/src/hooks/ui/.index.md +37 -25
  652. package/src/hooks/ui/.use-auto-limit-tags.md +55 -38
  653. package/src/hooks/ui/.use-deferred-error.md +44 -0
  654. package/src/hooks/ui/.use-focus-trap.md +59 -0
  655. package/src/hooks/ui/.use-header-height.md +37 -0
  656. package/src/hooks/ui/.use-horizontal-scrollbar.md +25 -34
  657. package/src/hooks/ui/.use-marquee-engine.md +73 -0
  658. package/src/hooks/ui/.use-notification-permission.md +49 -0
  659. package/src/hooks/ui/.use-reset-on-page-hidden.md +40 -0
  660. package/src/hooks/ui/.use-suppress-clone-focus.md +41 -0
  661. package/src/nats/.index.md +39 -0
  662. package/src/nats/.nats-provider.md +46 -0
  663. package/src/nats/.nats.md +38 -28
  664. package/src/nats/.shared-connection.md +56 -0
  665. package/src/nats/.use-nats-subscription.md +57 -0
  666. package/src/stories/.ActionsMenu.stories.md +57 -0
  667. package/src/stories/.Alert.stories.md +46 -0
  668. package/src/stories/.AnnouncementBar.stories.md +59 -32
  669. package/src/stories/.AppLayoutDrawer.stories.md +60 -0
  670. package/src/stories/.AppLayoutSidebar.stories.md +45 -0
  671. package/src/stories/.ApprovalBatchMessage.stories.md +46 -0
  672. package/src/stories/.ApprovalBatchMessageClient.stories.md +55 -0
  673. package/src/stories/.ApprovalRequestMessage.stories.md +50 -0
  674. package/src/stories/.ApprovalRequestMessageClient.stories.md +41 -0
  675. package/src/stories/.BlogCard.stories.md +52 -0
  676. package/src/stories/.Board.stories.md +25 -20
  677. package/src/stories/.Button.stories.md +35 -40
  678. package/src/stories/.CampaignCardAdmin.stories.md +38 -0
  679. package/src/stories/.CardsStrip.stories.md +39 -0
  680. package/src/stories/.CaseStudyCard.stories.md +41 -0
  681. package/src/stories/.ChatContainer.stories.md +41 -0
  682. package/src/stories/.ChatInlineVideoPill.stories.md +36 -0
  683. package/src/stories/.ChatMessageEnhanced.stories.md +51 -0
  684. package/src/stories/.ChatMingoInfoCards.stories.md +30 -0
  685. package/src/stories/.ChatTicketList.stories.md +38 -22
  686. package/src/stories/.ChatTypingIndicator.stories.md +47 -0
  687. package/src/stories/.CheckboxBlock.stories.md +34 -35
  688. package/src/stories/.ContextCompactionDisplay.stories.md +28 -0
  689. package/src/stories/.CustomerInterviewCard.stories.md +36 -0
  690. package/src/stories/.DashboardInfoCard.stories.md +40 -33
  691. package/src/stories/.DataRoomDocCard.stories.md +42 -0
  692. package/src/stories/.DataTable.stories.md +37 -32
  693. package/src/stories/.DatePicker.stories.md +34 -30
  694. package/src/stories/.EmbeddableChat.stories.md +45 -28
  695. package/src/stories/.EmptyState.stories.md +55 -0
  696. package/src/stories/.ErrorMessageDisplay.stories.md +45 -0
  697. package/src/stories/.FilterModal.stories.md +28 -22
  698. package/src/stories/.GenericEntityCard.stories.md +50 -0
  699. package/src/stories/.GitHubActivityCard.stories.md +41 -0
  700. package/src/stories/.GuideWelcome.stories.md +38 -0
  701. package/src/stories/.Header.stories.md +32 -22
  702. package/src/stories/.HubspotTicketCard.stories.md +41 -0
  703. package/src/stories/.InfoCard.stories.md +37 -26
  704. package/src/stories/.InfoCardRow.stories.md +48 -0
  705. package/src/stories/.InfoSection.stories.md +55 -0
  706. package/src/stories/.Input.stories.md +45 -35
  707. package/src/stories/.InvestorUpdateCard.stories.md +41 -0
  708. package/src/stories/.MarqueeWall.stories.md +53 -0
  709. package/src/stories/.MingoAiButton.stories.md +31 -0
  710. package/src/stories/.MingoChatModals.stories.md +47 -0
  711. package/src/stories/.MingoInfoCard.stories.md +50 -0
  712. package/src/stories/.MingoOnboardingCard.stories.md +19 -19
  713. package/src/stories/.MingoWelcome.stories.md +41 -0
  714. package/src/stories/.MobileNavPanel.stories.md +52 -0
  715. package/src/stories/.Modal.stories.md +19 -16
  716. package/src/stories/.MspOrganizationCard.stories.md +45 -0
  717. package/src/stories/.NotificationDrawer.stories.md +39 -28
  718. package/src/stories/.OSTypeBadge.stories.md +34 -25
  719. package/src/stories/.OnboardingGuideCard.stories.md +41 -0
  720. package/src/stories/.PageActions.stories.md +21 -21
  721. package/src/stories/.PageContainer.stories.md +29 -24
  722. package/src/stories/.PageLayout.stories.md +18 -35
  723. package/src/stories/.PolicyConfigurationPanel.stories.md +58 -0
  724. package/src/stories/.ProductReleaseCard.stories.md +39 -0
  725. package/src/stories/.ProgramCard.stories.md +51 -0
  726. package/src/stories/.QuickActionChip.stories.md +59 -0
  727. package/src/stories/.QuickActionMarquee.stories.md +51 -0
  728. package/src/stories/.QuickActionWall.stories.md +58 -0
  729. package/src/stories/.RoadmapCard.stories.md +41 -0
  730. package/src/stories/.ShellTypeBadge.stories.md +42 -22
  731. package/src/stories/.SlackMessageCard.stories.md +42 -0
  732. package/src/stories/.SlashCommandSuggestions.stories.md +21 -31
  733. package/src/stories/.SplitButton.stories.md +23 -25
  734. package/src/stories/.StackedRowsPanel.stories.md +65 -0
  735. package/src/stories/.TabSelector.stories.md +26 -38
  736. package/src/stories/.Tag.stories.md +32 -27
  737. package/src/stories/.ThinkingDisplay.stories.md +43 -0
  738. package/src/stories/.TicketCard.stories.md +60 -0
  739. package/src/stories/.TicketInfoSection.stories.md +28 -20
  740. package/src/stories/.TimeTracker.stories.md +35 -0
  741. package/src/stories/.Toaster.stories.md +26 -20
  742. package/src/stories/.ToolBadge.stories.md +34 -24
  743. package/src/stories/.ToolExecutionDisplay.stories.md +22 -20
  744. package/src/stories/.ToolExecutionDisplayClient.stories.md +33 -0
  745. package/src/stories/.VideoBitesStrip.stories.md +37 -0
  746. package/src/stories/.WarningBlock.stories.md +51 -0
  747. package/src/stories/__fixtures__/.chat-card-decorator.md +39 -0
  748. package/src/stories/__fixtures__/.chat-cards.md +57 -0
  749. package/src/stories/auth/.CompleteAccount.stories.md +36 -0
  750. package/src/stories/auth/.CreateOrganization.stories.md +52 -0
  751. package/src/stories/auth/.InviteLinkInvalid.stories.md +21 -0
  752. package/src/stories/auth/.Login.stories.md +32 -0
  753. package/src/stories/auth/.OpenFrameSso.stories.md +58 -0
  754. package/src/stories/auth/.PasswordReset.stories.md +49 -0
  755. package/src/styles/ods-interaction-states.css +32 -0
  756. package/src/types/.announcement.md +67 -35
  757. package/src/types/.blog.md +44 -41
  758. package/src/types/.case-study.md +31 -17
  759. package/src/types/.content-ref.md +37 -0
  760. package/src/types/.customer-interview.md +38 -38
  761. package/src/types/.doc-source.md +87 -0
  762. package/src/types/.entity-author.md +53 -0
  763. package/src/types/.entity-platform.md +40 -0
  764. package/src/types/.index.md +23 -17
  765. package/src/types/.marketing.md +32 -35
  766. package/src/types/.navigation.md +31 -19
  767. package/src/types/.os.types.md +30 -31
  768. package/src/types/.permissions.md +49 -35
  769. package/src/types/.platform.md +44 -28
  770. package/src/types/.product-release.md +59 -42
  771. package/src/types/.shell.types.md +46 -30
  772. package/src/types/.supabase.md +43 -29
  773. package/src/types/.tool.types.md +43 -23
  774. package/src/types/.video-processing.md +40 -31
  775. package/src/types/supabase.ts +80 -0
  776. package/src/types/video-processing.ts +1 -0
  777. package/src/utils/.announcement-storage.md +49 -17
  778. package/src/utils/.app-config.md +22 -18
  779. package/src/utils/.brand-marks.md +46 -0
  780. package/src/utils/.cn.md +40 -29
  781. package/src/utils/.color-analysis.md +34 -25
  782. package/src/utils/.common.md +43 -23
  783. package/src/utils/.content-href.md +64 -0
  784. package/src/utils/.content-ref-groups.md +51 -0
  785. package/src/utils/.date-utils.md +46 -35
  786. package/src/utils/.doc-path-utils.md +38 -0
  787. package/src/utils/.doc-tree-nav.md +51 -0
  788. package/src/utils/.embed-authed-fetch.md +48 -32
  789. package/src/utils/.embed-content-fetch.md +36 -0
  790. package/src/utils/.embed-url-converters.md +52 -0
  791. package/src/utils/.extract-items.md +49 -0
  792. package/src/utils/.faq-anchor.md +48 -0
  793. package/src/utils/.format.md +73 -55
  794. package/src/utils/.humanity-signals.md +59 -0
  795. package/src/utils/.index.md +73 -31
  796. package/src/utils/.list-url.md +43 -0
  797. package/src/utils/.markdown-section-extractor.md +57 -0
  798. package/src/utils/.markdown-to-plain.md +51 -0
  799. package/src/utils/.media-carousel-utils-stub.md +42 -31
  800. package/src/utils/.ods-color-utils.md +84 -43
  801. package/src/utils/.og-placeholder.md +45 -0
  802. package/src/utils/.page-header-constants.md +26 -0
  803. package/src/utils/.platform-config.md +34 -34
  804. package/src/utils/.release-badge.md +47 -0
  805. package/src/utils/.release-cover.md +45 -0
  806. package/src/utils/.same-page-hash-nav.md +45 -0
  807. package/src/utils/.scroll-into-view.md +32 -25
  808. package/src/utils/.seo-description.md +37 -0
  809. package/src/utils/.seo-title.md +25 -0
  810. package/src/utils/.social-embed-cache.md +37 -0
  811. package/src/utils/.source-icons.md +30 -34
  812. package/src/utils/.suggestion-url.md +46 -0
  813. package/src/utils/.tool-utils.md +39 -24
  814. package/src/utils/.tree-builder.md +64 -0
  815. package/src/utils/.video-bite-id.md +42 -0
  816. package/src/utils/announcement-storage.ts +9 -18
  817. package/src/utils/dev-sections/.dev-section-param-keys.md +51 -0
  818. package/src/utils/dev-sections/.openframe-dev-sections.md +40 -28
  819. package/src/utils/dismiss-cookie.ts +55 -0
  820. package/src/utils/dismissal-storage.ts +38 -0
  821. package/src/utils/index.ts +3 -0
  822. package/dist/chunk-BBUEY73L.js.map +0 -1
  823. package/dist/chunk-G3UN2DXU.cjs.map +0 -1
  824. package/dist/chunk-OWMLWJQY.cjs.map +0 -1
  825. package/dist/chunk-SASR7SK5.js.map +0 -1
  826. package/src/components/chat/utils/.onboarding-icons.md +0 -28
  827. package/src/hooks/.use-og-placeholder.md +0 -51
  828. /package/dist/{chunk-MGKCS6KS.js.map → chunk-3WCARCI4.js.map} +0 -0
  829. /package/dist/{chunk-Y3Y2DLNO.js.map → chunk-6UGYBCEN.js.map} +0 -0
  830. /package/dist/{chunk-PSPWT2Q5.js.map → chunk-7LWXWXEY.js.map} +0 -0
  831. /package/dist/{chunk-VTSRDC4W.js.map → chunk-CKC3EAYT.js.map} +0 -0
  832. /package/dist/{chunk-ZRANZNEA.js.map → chunk-JJE5TUZK.js.map} +0 -0
  833. /package/dist/{chunk-66BNAFO6.js.map → chunk-JQIUBFHL.js.map} +0 -0
  834. /package/dist/{chunk-2DIOV7BR.js.map → chunk-UPN6EFOM.js.map} +0 -0
  835. /package/dist/{chunk-4SMRQ4SN.js.map → chunk-WBL5Y4PS.js.map} +0 -0
  836. /package/dist/{chunk-FP4H6Y5O.js.map → chunk-WPYPSIY2.js.map} +0 -0
  837. /package/dist/{chunk-R5WJJL4V.js.map → chunk-X5X43HFV.js.map} +0 -0
  838. /package/dist/{chunk-DEHZ5CTC.js.map → chunk-XTWKDMCG.js.map} +0 -0
@@ -1,39 +1,54 @@
1
- <!-- source-hash: 6e8a04ae19bb53e1b3779c86e3a511c1 -->
2
- Scrollable list component that renders a collection of `ChatTicketItem` cards with dynamic edge-fade masking based on scroll position.
1
+ <!-- source-hash: 9b003d4a0319d2d06cb32bc530f883ab -->
2
+ Scrollable list component that renders a collection of chat ticket items with scroll-fade shadow overlays, loading skeleton states, and empty-state handling.
3
3
 
4
4
  ## Key Components
5
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
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `ChatTicketList` | `React.forwardRef` component | Main list container with scroll-fade behavior |
9
+ | `ChatTicketListProps` | Interface | Props extending `HTMLAttributes<HTMLDivElement>` |
10
+ | `ChatTicketItemData` | Re-exported type | Ticket data shape from `chat-ticket-item` |
9
11
 
10
- ## Props
12
+ ### Props
11
13
 
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 |
14
+ | Prop | Type | Default | Description |
15
+ |---|---|---|---|
16
+ | `tickets` | `ChatTicketItemData[]` | — | Array of ticket data to render |
17
+ | `onTicketClick` | `(ticketId: string) => void` | | Click handler passed to each item |
18
+ | `isLoading` | `boolean` | `false` | Renders skeleton placeholders instead of tickets |
19
+ | `skeletonCount` | `number` | `5` | Number of skeleton rows during loading |
20
+
21
+ ### Behavior
22
+
23
+ - Uses `useScrollFade` to track scroll position and conditionally apply top/bottom fade overlays via `ScrollFadeOverlay`
24
+ - Border radius on the list container dynamically toggles based on whether top/bottom fades are active
25
+ - Returns `null` when `tickets` is empty (no empty state UI)
17
26
 
18
27
  ## Usage Example
19
28
 
20
29
  ```typescript
21
30
  import { ChatTicketList } from './chat-ticket-list'
31
+ import type { ChatTicketItemData } from './chat-ticket-list'
22
32
 
23
- const tickets = [
24
- { id: 'TKT-001', title: 'VPN not connecting', status: 'open' },
33
+ const tickets: ChatTicketItemData[] = [
34
+ { id: 'TKT-001', title: 'Cannot connect to VPN', status: 'open' },
25
35
  { id: 'TKT-002', title: 'Printer offline', status: 'pending' },
26
36
  ]
27
37
 
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
- }
38
+ // Normal render
39
+ <ChatTicketList
40
+ tickets={tickets}
41
+ onTicketClick={(id) => router.push(`/tickets/${id}`)}
42
+ />
43
+
44
+ // Loading state
45
+ <ChatTicketList
46
+ tickets={[]}
47
+ isLoading
48
+ skeletonCount={3}
49
+ />
37
50
  ```
38
51
 
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.
52
+ ## Source
53
+
54
+ [`chat-ticket-list.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/chat-ticket-list.tsx)
@@ -1,34 +1,52 @@
1
- <!-- source-hash: fe8d4775d6a56401707002b9d3c2df21 -->
2
- A React component that displays an animated typing indicator with three pulsing dots, commonly used in chat interfaces to show when an assistant or user is typing a response.
1
+ <!-- source-hash: de0eae2f35b8c3403f32c0ec87aeb062 -->
2
+ A React component that renders an animated three-dot typing indicator for chat interfaces, with configurable size, optional label text, and customizable dot styling.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **ChatTypingIndicator** - Main component that renders animated dots with optional text
7
- - **dotSizeClasses** - Responsive sizing options (sm, md, lg) for the pulsing dots
8
- - **containerSizeClasses** - Container height classes that match the dot sizes
9
- - **dotAnimation** - CSS keyframe animation for the pulsing effect
6
+ ### `ChatTypingIndicator`
7
+
8
+ A `forwardRef` component accepting `ChatTypingIndicatorProps`:
9
+
10
+ | Prop | Type | Default | Description |
11
+ |---|---|---|---|
12
+ | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Controls dot and container dimensions |
13
+ | `showText` | `boolean` | `false` | Toggles "Assistant is typing" label |
14
+ | `dotClassName` | `string` | `undefined` | Overrides default dot color (`bg-ods-text-primary`) |
15
+ | `className` | `string` | `undefined` | Additional classes for the root element |
16
+
17
+ **Animation:** Uses an injected `dotPulse` keyframe (`scale` + `opacity` pulse over 1.4s) with staggered delays — `0ms`, `200ms`, `400ms` — across the three dots.
18
+
19
+ **Size variants:**
20
+
21
+ | Size | Dot | Container height |
22
+ |---|---|---|
23
+ | `sm` | `w-1 h-1` | `h-4` |
24
+ | `md` | `w-1.5 h-1.5` | `h-6` |
25
+ | `lg` | `w-2 h-2` | `h-8` |
10
26
 
11
27
  ## Usage Example
12
28
 
13
29
  ```typescript
14
- import { ChatTypingIndicator } from './chat-typing-indicator'
30
+ import { ChatTypingIndicator } from "./chat-typing-indicator"
15
31
 
16
- // Basic usage
32
+ // Default medium indicator
17
33
  <ChatTypingIndicator />
18
34
 
19
- // With text and custom size
20
- <ChatTypingIndicator
21
- size="lg"
22
- showText={true}
23
- className="my-4"
24
- />
35
+ // Large with label
36
+ <ChatTypingIndicator size="lg" showText />
25
37
 
26
- // Custom dot styling
27
- <ChatTypingIndicator
28
- size="md"
38
+ // Custom dot color
39
+ <ChatTypingIndicator
40
+ size="sm"
29
41
  dotClassName="bg-blue-500"
30
- showText={true}
31
42
  />
43
+
44
+ // Inside a chat message bubble
45
+ <div className="chat-bubble">
46
+ <ChatTypingIndicator showText dotClassName="bg-ods-brand-primary" />
47
+ </div>
32
48
  ```
33
49
 
34
- The component features three dots that pulse in sequence with staggered animation delays (0ms, 200ms, 400ms), creating a smooth wave effect. It supports three sizes (sm, md, lg), optional "Assistant is typing" text, and custom styling through className props. The animation uses CSS-in-JS with `dangerouslySetInnerHTML` to inject the keyframe animation directly into the component.
50
+ > **Note:** The component injects a `<style>` tag via `dangerouslySetInnerHTML` to define the `dotPulse` keyframe. Ensure your CSP allows inline styles if applicable.
51
+
52
+ **Source:** [`chat-typing-indicator.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/chat-typing-indicator.tsx)
@@ -1,11 +1,19 @@
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.
1
+ <!-- source-hash: 4ea3d14913c5982b17e29bcfa31d3441 -->
2
+ A React component that displays the status of context compaction (summarization) for AI chat interfaces, showing either an in-progress or completed state.
3
3
 
4
4
  ## Key Components
5
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
6
+ **`ContextCompactionDisplay`** — A `forwardRef` component that renders a styled status banner indicating whether context summarization is in progress or has completed.
7
+
8
+ | Status | Label | Icon |
9
+ |---|---|---|
10
+ | `started` | "Context limit reached. Summarizing earlier messages." | `DotsLoaderIcon` (animated) |
11
+ | *(any other)* | "Earlier context summarized." | `CheckCircleIcon` (success) |
12
+
13
+ **Props** (`ContextCompactionDisplayProps`):
14
+ - `status` — Controls which state is displayed (`'started'` or completed)
15
+ - `className` — Optional class overrides merged via `cn()`
16
+ - Forwards all other `HTMLDivElement` props and the `ref`
9
17
 
10
18
  ## Usage Example
11
19
 
@@ -14,23 +22,19 @@ import { ContextCompactionDisplay } from "./context-compaction-display"
14
22
 
15
23
  // In-progress state
16
24
  <ContextCompactionDisplay status="started" />
17
- // Renders: "Context limit reached. Summarizing earlier messages." + spinner
18
25
 
19
26
  // Completed state
20
27
  <ContextCompactionDisplay status="completed" />
21
- // Renders: "Earlier context summarized." + check icon
22
28
 
23
29
  // With custom className
24
30
  <ContextCompactionDisplay
25
- status="done"
26
- className="my-2 w-full"
31
+ status="started"
32
+ className="mt-2 mx-4"
27
33
  />
28
34
  ```
29
35
 
30
- ## Props
36
+ ## Notes
31
37
 
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` |
38
+ - Styled with ODS design tokens (`bg-ods-card`, `border-ods-border`, `text-ods-text-secondary`, `text-ods-success`) — ensure your project includes the OpenFrame Design System token definitions.
39
+ - The `displayName` is explicitly set to `"ContextCompactionDisplay"` for better React DevTools visibility.
40
+ - Source: [`context-compaction-display.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/context-compaction-display.tsx)
@@ -0,0 +1,57 @@
1
+ <!-- source-hash: 849d337b5d84f9474942d4af95de653f -->
2
+ Shared building blocks for the **items level** of the entity-context picker (Figma 31:29102). Provides row chrome, skeleton placeholders, a scrollable list with scroll-driven pagination, and an error boundary — consumed by `ChatContextPickerConfig.renderItems` in the host application.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `CONTEXT_ROW_CLASS` | `string` | Tailwind classes for a standard menu row |
9
+ | `CONTEXT_ICON_CLASS` | `string` | Responsive 16px→24px icon wrapper |
10
+ | `CONTEXT_LABEL_CLASS` | `string` | Truncating h4 label slot |
11
+ | `CONTEXT_BACK_CLASS` | `string` | Back-navigation row classes |
12
+ | `CONTEXT_STATE_CLASS` | `string` | Empty/error state prose classes |
13
+ | `ContextMenuRow` | Component | Icon + label + optional trailing slot button primitive |
14
+ | `ContextItemsSkeleton` | Component | Suspense / load-more placeholder rows |
15
+ | `ContextItemsList` | Component | Scrollable `role="listbox"` with selection state, limit enforcement, and scroll-driven pagination |
16
+ | `ContextErrorBoundary` | Class Component | Catches failed host fetches; auto-resets on `resetKey` change |
17
+
18
+ ## Usage Example
19
+
20
+ ```typescript
21
+ import {
22
+ ContextItemsList,
23
+ ContextErrorBoundary,
24
+ ContextItemsSkeleton,
25
+ } from './context-items-list'
26
+
27
+ function MyPickerItems({ query }: { query: string }) {
28
+ const { items, hasMore, fetchNextPage, isFetchingNextPage } = useMyItems(query)
29
+
30
+ return (
31
+ <ContextErrorBoundary
32
+ resetKey={`device:${query}`}
33
+ fallback={(retry) => (
34
+ <button onClick={retry}>Failed to load — retry</button>
35
+ )}
36
+ >
37
+ <React.Suspense fallback={<ContextItemsSkeleton count={5} />}>
38
+ <ContextItemsList
39
+ items={items}
40
+ selectedKeys={selectedKeys}
41
+ onToggle={handleToggle}
42
+ atLimit={selectedKeys.size >= 5}
43
+ hasMore={hasMore}
44
+ onLoadMore={fetchNextPage}
45
+ loadingMore={isFetchingNextPage}
46
+ emptyLabel="No devices found"
47
+ />
48
+ </React.Suspense>
49
+ </ContextErrorBoundary>
50
+ )
51
+ }
52
+ ```
53
+
54
+ **Notes:**
55
+ - `ContextErrorBoundary.resetKey` should encode both the entity type and current search query so errors clear automatically on navigation or new searches. Pair the `retry` callback with your data library's cache-reset (e.g. react-query's `queryClient.resetQueries`) to ensure the fetch actually re-runs.
56
+ - The list caps height at `min(340px, 45vh)` to stay inside bottom-anchored popovers on short viewports.
57
+ - Source: [`context-items-list.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/context-items-list.tsx)
@@ -1,81 +1,72 @@
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.
1
+ <!-- source-hash: 6d1785ee322c618d61267609c25a54fb -->
2
+ Portable, library-safe chat panel component that strips all hub-specific dependencies and routes navigation, identity, and transport decisions through a unified `useRequiredChatRuntime()` hook, enabling embedding in any host application.
3
3
 
4
4
  ## Key Components
5
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
6
+ ### `EmbeddableChat` (default export)
7
+ The primary component rendering a full-featured AI chat panel with:
8
+ - **Controlled/uncontrolled open state** via `open`, `defaultOpen`, and `onOpenChange` props
9
+ - **Dual-mode support** Guide (SSE/RAG) and Mingo (NATS/agent) modes with an in-panel toggle
10
+ - **Injected Mingo state** via `mingoState` for host-managed transport (survives panel unmounting)
11
+ - **Preview/marketing mode** via `previewMode` renders a non-interactive visual mock
16
12
 
13
+ ### `EmbeddableChatProps`
17
14
  ```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
- />
15
+ interface EmbeddableChatProps {
16
+ open?: boolean
17
+ onOpenChange?: (open: boolean) => void
18
+ defaultOpen?: boolean
19
+ showInternalTrigger?: boolean
20
+ previewMode?: boolean
21
+ modes?: UseUnifiedChatModes // Guide + Mingo transport config
22
+ mingoState?: UnifiedChatState // Host-injected Mingo state
23
+ mingoDialogCapabilities?: { ... } // Rename/archive/restore capabilities
24
+ extras?: ChatCardDispatchExtras // Entity card builder overrides
25
+ enabledRagTableIds?: ReadonlyArray<string> | null
26
+ suggestedQueries?: ReadonlyArray<string> | null
27
+ baseRoute?: string
28
+ chipBasePlatform?: string
29
+ }
39
30
  ```
40
31
 
41
- ## Runtime Substitutions
32
+ ### Key Runtime Dependencies
33
+ - **`useRequiredChatRuntime()`** — provides `user`, `source`, and navigation context (replaces hub's `useAuth`, `currentPlatform`, `useNavLink`)
34
+ - **`useUnifiedChat()`** — orchestrates Guide/Mingo mode switching and transport adapters
35
+ - **`useSseChatAdapter()`** — SSE transport for Guide mode (replaces `useDocChat`)
36
+ - **`NavLinkAnchorViaRuntime`** — runtime-aware link rendering (replaces hub's `NavLinkAnchor`)
42
37
 
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) |
49
- ## Agent mode (OpenFrame AI agents — Fae / Mingo)
50
-
51
- Reuse the SAME `<EmbeddableChat>` to render a global OpenFrame AI agent. No new
52
- component, no agent-specific render path — an "agent mode" just OVERRIDES the
53
- empty-state URL so the chat fetches the agent's display config (greeting +
54
- suggested prompts + source chips) from the public `/api/ai-agents/[slug]`
55
- endpoint, which is byte-compatible with the `EmptyStateConfig` wire shape
56
- (`{ greeting, suggestedQueries, enabledRagTableIds }`).
38
+ ## Usage Example
57
39
 
58
- - Pass `activeAgentSlug` (e.g. `"fae"`) to `<EmbeddableChat>`. **Works in BOTH
59
- regular (host) and embedded modes** — there is no navigation-mode gate.
40
+ ```typescript
41
+ import { EmbeddableChat } from '@openframe/lib'
42
+ import { HubRuntimeProvider } from './hub-runtime-provider'
60
43
 
61
- ```tsx
62
- <EmbeddableChat activeAgentSlug="fae" />
44
+ function App() {
45
+ return (
46
+ <HubRuntimeProvider>
47
+ <EmbeddableChat
48
+ showInternalTrigger
49
+ modes={{
50
+ guide: { tableIdForDocumentType: (type) => myTableMap[type] ?? null },
51
+ mingo: { natsConfig: myNatsConfig, fetchDialogs: fetchDialogs }
52
+ }}
53
+ enabledRagTableIds={['kb_articles', 'tickets']}
54
+ suggestedQueries={['How do I reset a password?', 'Show open tickets']}
55
+ extras={{ buildProgramCardProps: myBuilder }}
56
+ />
57
+ </HubRuntimeProvider>
58
+ )
59
+ }
63
60
  ```
64
61
 
65
- **Default routes, fully overridable.** Agent mode works with ZERO endpoint
66
- wiring — the component falls back to a built-in default route. Resolution order
67
- for the agent display-config route (highest → lowest precedence):
62
+ ## Drawer Behavior
68
63
 
69
- 1. `aiAgentConfigUrl` prop on `<EmbeddableChat>` (per-mount override)
70
- 2. `runtime.endpoints.aiAgentConfigUrl(slug)` (shared runtime override)
71
- 3. built-in default `` (slug) => `/api/ai-agents/${encodeURIComponent(slug)}` ``
64
+ | Constant | Value | Description |
65
+ |---|---|---|
66
+ | `DRAWER_DEFAULT_WIDTH_RATIO` | `0.5` | 50% of viewport width on desktop |
67
+ | `DRAWER_WIDTH_KEY` | `mingo-chat-width-v3` | `localStorage` key for persisted width |
68
+ | `DRAWER_DEFAULT_WIDTH_PX` | `750` | SSR fallback before viewport is known |
72
69
 
73
- Same-origin embedders need nothing; cross-origin embedders behind a proxy set
74
- `runtime.endpoints.aiAgentConfigUrl` (or the prop) to their absolute proxied
75
- path. Every other chat route (`chatStreamUrl`, `commandsUrl`, …) comes from
76
- `runtime.endpoints` and is likewise overridable.
70
+ ## Source
77
71
 
78
- DISPLAY-ONLY this phase: retrieval still resolves server-side from the platform
79
- (the chat route derives `source` from the deployment, not the client) — the
80
- agent customizes the greeting + suggested-prompt chips, not the corpus. In mingo
81
- mode, `mingoWelcome` still owns its own welcome surface.
72
+ [`embeddable-chat.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/embeddable-chat.tsx) · [OpenFrame OSS Lib](https://github.com/flamingo-stack/openframe-oss-lib) · Community: [OpenMSP Slack](https://join.slack.com/t/openmsp/shared_invite/zt-36bl7mx0h-3~U2nFH6nqHqoTPXMaHEHA)
@@ -1,39 +1,57 @@
1
- <!-- source-hash: 00278694728343420131f5468336720f -->
2
- A React component that displays error messages with an expandable details section, designed for user-friendly error communication in the Flamingo platform.
1
+ <!-- source-hash: ef8653f94f0fdc48eb37fc59aa16aeb7 -->
2
+ Collapsible error/warning/info message component that displays a title with an optional expandable details section, supporting three severity types with distinct icon tinting.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **ErrorMessageDisplay**: A forwardRef component that renders error messages with:
7
- - Alert icon and styled error container
8
- - Expandable/collapsible details section
9
- - Accessibility features (ARIA labels, keyboard navigation)
10
- - Custom styling using CSS variables and Tailwind classes
6
+ ### `ErrorMessageDisplay`
7
+ A `forwardRef` component that renders an alert card with:
8
+ - **`title`** Always-visible summary text (truncated when collapsed)
9
+ - **`details`** Optional expandable body text; when omitted, the card is non-interactive
10
+ - **`type`** Severity level controlling icon color: `"error"` (default) | `"warning"` | `"info"`
11
+ - **`className`** — Additional CSS classes merged via `cn`
12
+
13
+ ### `iconTint`
14
+ Internal map from `type` to ODS color tokens:
15
+ | Type | Token |
16
+ |---|---|
17
+ | `error` | `text-ods-error` |
18
+ | `warning` | `text-ods-warning` |
19
+ | `info` | `text-ods-text-secondary` |
20
+
21
+ ### Internal Hooks & Sub-components
22
+ - **`useCollapsible`** — Provides animated `containerStyle` and `innerRef` for smooth height transitions
23
+ - **`ExpandChevron`** — Chevron icon that rotates based on `expanded` state
24
+ - **`AlertCircleIcon`** — 16px alert icon tinted by severity type
11
25
 
12
26
  ## Usage Example
13
27
 
14
28
  ```typescript
15
29
  import { ErrorMessageDisplay } from "./error-message-display"
16
30
 
17
- // Basic error message
18
- <ErrorMessageDisplay
31
+ // Simple non-interactive error
32
+ <ErrorMessageDisplay
33
+ type="error"
19
34
  title="Authentication failed"
20
35
  />
21
36
 
22
- // Error with expandable details
23
- <ErrorMessageDisplay
24
- title="Connection timeout"
25
- details="The server failed to respond within 30 seconds. Please check your network connection and try again."
26
- className="mb-4"
37
+ // Expandable warning with details
38
+ <ErrorMessageDisplay
39
+ type="warning"
40
+ title="Rate limit approaching"
41
+ details="You have used 90% of your API quota. Requests may be throttled after midnight UTC."
27
42
  />
28
43
 
29
- // With ref for programmatic access
30
- const errorRef = useRef<HTMLDivElement>(null)
31
-
32
- <ErrorMessageDisplay
33
- ref={errorRef}
34
- title="Validation error"
35
- details="Email format is invalid. Please enter a valid email address."
44
+ // Info message with custom class
45
+ <ErrorMessageDisplay
46
+ type="info"
47
+ title="Scheduled maintenance window"
48
+ details="The service will be unavailable from 02:00–04:00 UTC on Saturday."
49
+ className="mt-4"
36
50
  />
37
51
  ```
38
52
 
39
- The component features a red error theme with white text, an AlertCircle icon from Lucide React, and smooth expand/collapse animations. When details are provided, users can click the chevron button to toggle the detailed error information.
53
+ ## Accessibility
54
+
55
+ - `aria-expanded` is set on the toggle button only when `details` is present
56
+ - `aria-label` dynamically switches between `"Expand details"` / `"Collapse details"`
57
+ - Button is `disabled` when no details exist, preventing keyboard interaction
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 2df823f019c629ff7f91356377ab1d22 -->
2
+ A full-bleed accent banner component that indicates when a chat session is running in Guide Mode, displaying a compass icon, label, and optional help tooltip.
3
+
4
+ ## Key Components
5
+
6
+ ### `GuideModeBanner`
7
+
8
+ The primary exported component. Renders a fixed-height (`h-8`) yellow accent strip intended to appear below a chat header.
9
+
10
+ | Prop | Type | Default | Description |
11
+ |------|------|---------|-------------|
12
+ | `label` | `React.ReactNode` | `'Guide Mode Chat'` | Banner label text (rendered uppercase via `text-h5` style) |
13
+ | `tooltip` | `React.ReactNode \| null` | Default explanation string | Help icon tooltip copy; pass `null` to hide the help icon entirely |
14
+ | `className` | `string` | — | Additional CSS classes merged via `cn()` |
15
+
16
+ **Visual structure:**
17
+ - **Leading:** `CompassIcon` (16px)
18
+ - **Center:** Truncated label paragraph
19
+ - **Trailing:** `QuestionCircleIcon` button with a `TooltipProvider` (hidden when `tooltip` is `null`)
20
+
21
+ ## Usage Example
22
+
23
+ ```typescript
24
+ // Default — shows all three elements with built-in copy
25
+ <GuideModeBanner />
26
+
27
+ // Custom label only
28
+ <GuideModeBanner label="Exploration Mode" />
29
+
30
+ // Hide the help icon entirely
31
+ <GuideModeBanner tooltip={null} />
32
+
33
+ // Fully custom
34
+ <GuideModeBanner
35
+ label="Read-Only Session"
36
+ tooltip="This session cannot modify any devices or run scripts."
37
+ className="opacity-90"
38
+ />
39
+ ```
40
+
41
+ > **Note:** This component is a Client Component (`'use client'`). It maps to Figma node `7532:328222` and uses ODS design tokens (`bg-ods-accent`, `text-ods-text-on-accent`) for theming. The tooltip uses `delayDuration={0}` for immediate display.
@@ -0,0 +1,43 @@
1
+ <!-- source-hash: e233b47b6ba8c30b077620a42a9735ba -->
2
+ Guide-mode chat empty state component that renders a centered greeting (icon, title, optional subtitle) and a pinned quick-action chip wall above the composer, sharing a single scrollable region with scroll-fade affordances.
3
+
4
+ ## Key Components
5
+
6
+ ### `GuideQuickAction`
7
+ Interface for individual quick-action chips, supporting labels, prompt text, icon resolution (glyph name or URL), and accent tints (`'fae'` → pink, `'mingo'` → cyan).
8
+
9
+ ### `GuideWelcomeProps`
10
+ Full props interface for the `GuideWelcome` component, including identity icon override, subtitle loading state, quick-action callbacks, and agent slug for row-cap behavior in `QuickActionWall`.
11
+
12
+ ### `GuideWelcome`
13
+ Primary export. Renders:
14
+ - **Scroll region** — greeting (icon + title + subtitle/skeleton) and `children` (slash-command onboarding list) share one `overflow-y-auto` container with `ScrollFadeOverlay` top/bottom edge fades.
15
+ - **Identity icon** — uses `<EntityIcon>` when `icon.name` or `icon.url` is set; falls back to the default `<MingoIcon>` with cyan accents.
16
+ - **Subtitle** — renders admin copy when present, a `<Skeleton>` while `subtitleLoading` is true, or nothing by default.
17
+ - **Quick-action wall** — pinned below the scroll region via `<QuickActionWall>` in BRICK marquee mode (up to 4 rows, hover-pause, drag-scroll, left/right edge fades).
18
+
19
+ ## Usage Example
20
+
21
+ ```typescript
22
+ import { GuideWelcome, type GuideQuickAction } from './guide-welcome'
23
+
24
+ const actions: GuideQuickAction[] = [
25
+ { id: '1', label: 'Reset a password', iconName: 'key', accent: 'cyan' },
26
+ { id: '2', label: 'Check device health', prompt: 'Run a full device health check', accent: 'cyan' },
27
+ ]
28
+
29
+ <GuideWelcome
30
+ title="IT Support Assistant"
31
+ subtitle="Ask me anything about your devices or accounts."
32
+ icon={{ name: 'robot' }}
33
+ quickActions={actions}
34
+ onQuickAction={(action) => sendPrompt(action.prompt ?? action.label)}
35
+ onQuickActionHover={(action) => previewInComposer(action.prompt ?? action.label)}
36
+ onQuickActionHoverEnd={() => restoreComposer()}
37
+ agentSlug="mingo"
38
+ >
39
+ <SlashCommandList />
40
+ </GuideWelcome>
41
+ ```
42
+
43
+ **Source:** [`guide-welcome.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/guide-welcome.tsx)