@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,40 +1,51 @@
1
- <!-- source-hash: 7bb7ab52d16e8c26a26fa5ab1feba948 -->
2
- A client-side `<a>` wrapper used within the chat tree to handle link navigation by reading the active `ChatRuntime` and routing clicks through the shared `handleChatNavClick` utility.
1
+ <!-- source-hash: 83b227b8e0df5ad60d3358b3d5e15409 -->
2
+ A client-side `<a>` wrapper that routes chat-rendered links (markdown bodies, source chips, inline references) through the active `ChatRuntime`, applying consistent new-tab logic and panel-close behavior.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### `NavLinkAnchorViaRuntimeProps`
7
+
7
8
  | Prop | Type | Description |
8
- |------|------|-------------|
9
- | `href` | `string` | Raw href to resolve |
10
- | `path` | `string \| null` | Optional internal path hint |
11
- | `targetPlatform` | `string \| null` | Platform target override |
9
+ |---|---|---|
10
+ | `href` | `string` | Raw link URL |
11
+ | `path` | `string \| null` | Optional internal path override |
12
+ | `targetPlatform` | `string \| null` | Platform hint for new-tab resolution |
12
13
  | `className` | `string` | Optional CSS class |
13
- | `children` | `ReactNode` | Optional child content |
14
+ | `children` | `ReactNode` | Link content (optional — empty anchors are valid) |
14
15
 
15
16
  ### `NavLinkAnchorViaRuntime`
16
- The main exported component. Orchestrates four responsibilities:
17
- 1. **Resolves `href`** via `resolveHrefForRuntime` (runtime-aware URL normalization)
18
- 2. **Decides new-tab vs. same-tab** via `computeIsNewTab` (embed-mode short-circuit → `runtime.navigation.decideNewTab` → lib fallback)
19
- 3. **Sets `target`/`rel`** attributes via `newTabAnchorAttrs`
20
- 4. **Closes the chat panel** on same-tab navigation via `ChatPanelContext.closeChat`
21
17
 
22
- > **⚠️ Chat-tree only:** Uses `useRequiredChatRuntime`, which **throws** when mounted outside a `<ChatRuntimeContext.Provider>`. This is intentional no silent fallback. For surfaces outside the chat tree (header chrome, marketing pages), use the hub's `useNavLink`-based anchor instead.
18
+ Primary export. Resolves the final href and new-tab decision at runtime, then delegates click handling to shared utilities:
19
+
20
+ - **`resolveHrefForRuntime`** — adapts the raw `href` for the active runtime context
21
+ - **`computeIsNewTab`** — applies embed-mode short-circuit → `runtime.navigation.decideNewTab` → lib fallback chain
22
+ - **`newTabAnchorAttrs`** — produces correct `target` / `rel` attributes
23
+ - **`handleChatNavClick`** — unified click handler shared with source chips and inline cards
24
+ - **`useChatPanel`** — closes the chat panel on same-tab navigation; leaves it open for new-tab clicks
25
+
26
+ > **Chat-only contract:** Uses `useRequiredChatRuntime`, which **throws** if mounted outside a `<ChatRuntimeContext.Provider>`. This is intentional — silent fallback when the runtime is absent is never acceptable.
23
27
 
24
28
  ## Usage Example
25
29
 
26
30
  ```typescript
27
- // Used in markdown-rendered chat bodies or source-chip drill-ins
28
- <NavLinkAnchorViaRuntime
29
- href="https://example.com/docs/setup"
30
- path="/docs/setup"
31
- targetPlatform="web"
32
- className="chat-link"
33
- >
34
- View Setup Guide
35
- </NavLinkAnchorViaRuntime>
31
+ // Inside a chat markdown renderer or source chip
32
+ import { NavLinkAnchorViaRuntime } from './nav-link-anchor-via-runtime'
33
+
34
+ function ChatMarkdownLink({ href, children }) {
35
+ return (
36
+ <NavLinkAnchorViaRuntime
37
+ href={href}
38
+ targetPlatform="web"
39
+ className="chat-link"
40
+ >
41
+ {children}
42
+ </NavLinkAnchorViaRuntime>
43
+ )
44
+ }
36
45
  ```
37
46
 
38
- At runtime:
39
- - **Same-tab click** → navigates and calls `panel.closeChat()` to dismiss the chat panel
40
- - **New-tab click** → opens in a new tab, leaving the chat panel open
47
+ > For links **outside** the chat tree (header chrome, marketing pages), use the hub's own `useNavLink`-based anchor instead — this component will throw in those contexts by design.
48
+
49
+ ## Source
50
+
51
+ [`nav-link-anchor-via-runtime.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/nav-link-anchor-via-runtime.tsx)
@@ -0,0 +1,60 @@
1
+ <!-- source-hash: aaf3eec1cf53779f0b01f4e804331724 -->
2
+ Renders a compact, themed quick-action chip button with icon resolution, loading skeleton, and support for agent-branded accents, lozenges, and selection states.
3
+
4
+ ## Key Components
5
+
6
+ ### Types & Utilities
7
+
8
+ - **`QuickActionAccent`** — Union type for icon tint: `'pink'` | `'cyan'` | any CSS color string
9
+ - **`QuickActionIconSpec`** — Extends `EntityIconValue` with `accent` and `size`; declarative icon descriptor resolved by `<EntityIcon>`
10
+ - **`QuickActionThemeSpec`** — Caller-supplied chip theme with `accent` and optional `lozenge`
11
+ - **`QuickActionChipLozenge`** — Leading category/status affix rendered inside the chip label
12
+ - **`getAgentAccent(slug)`** — Maps built-in agent slugs (`'fae'`, `'mingo'`) to brand accent tokens
13
+ - **`accentFromIdentityIcon(icon)`** — Extracts `icon_props.color` from an admin-configured identity
14
+ - **`isQuickActionIconSpec(icon)`** — Type guard distinguishing a spec object from a `ReactNode`
15
+ - **`renderQuickActionIcon(icon)`** — Resolves a chip `icon` prop to a renderable node via `<EntityIcon>`
16
+
17
+ ### Components
18
+
19
+ - **`QuickActionChipButton`** — Primary chip component with full theming, icon, lozenge, selection, and interactivity support
20
+ - **`QuickActionChipSkeleton`** — Loading placeholder that mirrors the real chip's exact dimensions using pulse bars
21
+
22
+ ## Usage Example
23
+
24
+ ```typescript
25
+ import {
26
+ QuickActionChipButton,
27
+ QuickActionChipSkeleton,
28
+ getAgentAccent,
29
+ accentFromIdentityIcon,
30
+ } from './quick-action-chip'
31
+
32
+ // Basic chip with a built-in agent accent
33
+ <QuickActionChipButton
34
+ label="Summarize Ticket"
35
+ icon={{ name: 'mingo', size: 16 }}
36
+ theme={{ accent: getAgentAccent('mingo') ?? 'cyan' }}
37
+ onSelect={() => console.log('selected')}
38
+ />
39
+
40
+ // Chip with admin-configured icon color and a category lozenge
41
+ <QuickActionChipButton
42
+ label="Patch Servers"
43
+ icon={{ name: 'server', accent: accentFromIdentityIcon(agentRow.icon) }}
44
+ lozenge={{ label: 'SEC', className: 'text-ods-warning' }}
45
+ selected
46
+ selectedAccent="cyan"
47
+ size="large"
48
+ />
49
+
50
+ // Loading state — matches loaded chip dimensions 1:1
51
+ <QuickActionChipSkeleton labelCh={12} icon lozenge size="large" />
52
+ ```
53
+
54
+ ## Notes
55
+
56
+ - Theme accent fills only when the icon spec carries no `accent` of its own — per-action config always wins.
57
+ - Named brand tokens (`pink`, `cyan`) apply a `text-ods-flamingo-*` class; arbitrary CSS colors are passed as an explicit `color` prop to `<EntityIcon>`.
58
+ - Set `interactive={false}` for decorative chips (marquee strips, table cells) to suppress focus and keyboard handling.
59
+
60
+ **Source:** [`quick-action-chip.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/quick-action-chip.tsx)
@@ -0,0 +1,53 @@
1
+ <!-- source-hash: 5a021d0d9bef82d15123c47324bd44ae -->
2
+ Single-row horizontally-scrolling strip of quick-action chips, a thin preset wrapper around `QuickActionWall` that enforces a `flex-nowrap` single-axis layout with optional endless marquee animation.
3
+
4
+ ## Key Components
5
+
6
+ ### `QuickActionMarquee` (component)
7
+
8
+ The primary export. Converts `QuickActionMarqueeItem[]` into `QuickActionChip[]` via `useMemo` and delegates rendering to `QuickActionWall` with `axis="x"` and `flex-nowrap` content layout.
9
+
10
+ **Props (`QuickActionMarqueeProps`):**
11
+
12
+ | Prop | Type | Default | Description |
13
+ |---|---|---|---|
14
+ | `items` | `ReadonlyArray<QuickActionMarqueeItem>` | — | Chip data |
15
+ | `mode` | `'animated' \| 'plain'` | `'animated'` | Endless scroll or static row |
16
+ | `direction` | `'left' \| 'right'` | `'left'` | Scroll travel direction |
17
+ | `speed` | `number` | `40` | Scroll speed in px/s |
18
+ | `pauseOnHover` | `boolean` | `true` | Pause scroll on hover |
19
+ | `onSelect` | `(item) => void` | — | Makes chips interactive buttons; omit for decorative tags |
20
+ | `minChips` | `number` | `12` | Minimum chip count for loop overflow (~2600px+) |
21
+ | `sync` | `MarqueeSyncController` | — | Pixel-locks sibling marquee strips under one position driver |
22
+ | `className` | `string` | — | Root element class override |
23
+
24
+ ### `QuickActionMarqueeItem` (interface)
25
+
26
+ Data shape for each chip: `id` (stable key), `label`, and optional `icon` (React node or `QuickActionIconSpec`).
27
+
28
+ ## Usage Example
29
+
30
+ ```typescript
31
+ import { QuickActionMarquee } from './quick-action-marquee'
32
+
33
+ const SUGGESTIONS: QuickActionMarqueeItem[] = [
34
+ { id: 'restart', label: 'Restart service', icon: <RefreshIcon /> },
35
+ { id: 'logs', label: 'View logs' },
36
+ { id: 'deploy', label: 'Deploy patch' },
37
+ ]
38
+
39
+ // Animated, interactive strip
40
+ <QuickActionMarquee
41
+ items={SUGGESTIONS}
42
+ speed={50}
43
+ onSelect={(item) => console.log('Selected:', item.label)}
44
+ />
45
+
46
+ // Static decorative row (no motion, no cloning)
47
+ <QuickActionMarquee
48
+ items={SUGGESTIONS}
49
+ mode="plain"
50
+ />
51
+ ```
52
+
53
+ > **Motion safety:** the underlying `QuickActionWall` engine always respects `prefers-reduced-motion`. In `plain` mode, `minChips` padding is disabled since no looping occurs.
@@ -0,0 +1,68 @@
1
+ <!-- source-hash: 604eb79e10ef142d8c69457a1482cc62 -->
2
+ Animated, multi-row "brick wall" of quick-action chips built on `MarqueeWall`, supporting skeleton loading, adaptive padding, interleaved chip streams, and per-agent row caps.
3
+
4
+ ## Key Components
5
+
6
+ ### Exports
7
+
8
+ | Export | Type | Description |
9
+ |---|---|---|
10
+ | `QuickActionWall` | Component | Primary wall component rendering themed chips on a scrolling/static marquee |
11
+ | `QuickActionWallProps` | Interface | Full prop surface for the wall |
12
+ | `WALL_SKELETON_LABEL_CH` | `number[]` | Cycled skeleton chip widths (in `ch`) shared across surfaces |
13
+ | `interleave<T>` | Function | Deterministic index-alternating merge of two chip arrays |
14
+
15
+ ### Internal Constants
16
+
17
+ | Constant | Purpose |
18
+ |---|---|
19
+ | `DEFAULT_MIN_CHIPS_PER_ROW` | Fallback pad target (14 chips) before geometry is measured |
20
+ | `ADAPTIVE_PAD_MARGIN` | Extra repeat buffer added after measured overflow count |
21
+ | `AGENT_MAX_ROWS` | Brick-stack cap (2 rows) for `fae`/`mingo` agent walls |
22
+
23
+ ## Usage Example
24
+
25
+ ```typescript
26
+ import { QuickActionWall, interleave } from './quick-action-wall'
27
+
28
+ // Basic animated wall
29
+ <QuickActionWall
30
+ chips={myChips}
31
+ theme={{ accent: '#6366f1' }}
32
+ mode="animated"
33
+ rows={3}
34
+ agentSlug="mingo"
35
+ fade={['left', 'right']}
36
+ fadeColor="#ffffff"
37
+ pauseOnHover
38
+ />
39
+
40
+ // Interleaved IT + SEC chip stream (deck slide 3 / mixed wall)
41
+ const blended = interleave(itChips, secChips)
42
+ <QuickActionWall
43
+ chips={blended}
44
+ lozenges
45
+ rows={2}
46
+ speed={50}
47
+ dragScroll
48
+ />
49
+
50
+ // Skeleton loading state
51
+ <QuickActionWall
52
+ chips={[]}
53
+ loading
54
+ skeletonCount={24}
55
+ rows={2}
56
+ />
57
+ ```
58
+
59
+ ## Behavior Notes
60
+
61
+ - **Adaptive padding**: measures container + narrowest chip via `ResizeObserver`; pads rows to `ceil(width / chipWidth) + 2` so the marquee loop always engages
62
+ - **Brick mode**: `rows` splits chips evenly across stacked single-row marquees; each row pads independently
63
+ - **Agent cap**: `agentSlug="fae"` or `"mingo"` clamps brick rows to 2 regardless of `rows`
64
+ - **Accessibility**: clone copies are `aria-hidden` with focus suppressed; interactive chips remain clickable in clones
65
+
66
+ ## Source
67
+
68
+ [`quick-action-wall.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/quick-action-wall.tsx)
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 74dbdc2ffb35df002f0f95977836c9b4 -->
2
+ Remark plugin that transforms inline `@marker:id` mention tokens in markdown text nodes into synthetic `link` mdast nodes using the `mention://` scheme, enabling downstream rendering as interactive chip components.
3
+
4
+ ## Key Components
5
+
6
+ ### `MENTION_REGEX`
7
+ Compiled regex matching `@<marker>:<id>` tokens with boundary detection. Captures an optional leading boundary character (`lead`), the marker (lowercase letters), and the id (alphanumeric plus `_.+/=-`, but not trailing `.` or `-`).
8
+
9
+ ### `remarkMentionChips`
10
+ A [unified](https://github.com/unifiedjs/unified) `Plugin<[], Root>` that visits every `text` leaf in the mdast tree. For each match it:
11
+ 1. Emits any preceding text as a `Text` node
12
+ 2. Replaces the token with a `Link` node (`url: mention://<marker>:<id>`, children: raw token as fallback text)
13
+ 3. Returns `[SKIP, index + parts.length]` to advance past the injected nodes without re-visiting them
14
+
15
+ ## Usage Example
16
+
17
+ ```typescript
18
+ import { unified } from 'unified'
19
+ import remarkParse from 'remark-parse'
20
+ import remarkRehype from 'remark-rehype'
21
+ import { remarkMentionChips } from './remark-mention-chips'
22
+
23
+ const processor = unified()
24
+ .use(remarkParse)
25
+ .use(remarkMentionChips)
26
+ .use(remarkRehype)
27
+
28
+ // Input markdown: "Check @device:64f0a1 and @kb:5 for details."
29
+ // Produces a link node: { type: 'link', url: 'mention://device:64f0a1', ... }
30
+ // The downstream <a> override detects the mention:// scheme and renders a chip.
31
+ const file = await processor.process('Check @device:64f0a1 and @kb:5 for details.')
32
+ ```
33
+
34
+ ## Notes
35
+
36
+ - Handles boundary safety: `user@host:1234` is **not** matched because `@` is preceded by a word character
37
+ - Parenthesised mentions like `(@device:64f0a1)` work correctly — the `(` is re-emitted as text
38
+ - Unresolved mentions (no matching `contextItems` entry) fall back to the raw `@marker:id` literal
39
+ - Companion to `remark-card-links`, which handles assistant-side `[card://type:id]` markers
40
+
41
+ **Source:** [`remark-mention-chips.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/remark-mention-chips.ts)
@@ -1,47 +1,41 @@
1
- <!-- source-hash: b3b4c24e822f3ccb1b39897c02cee900 -->
2
- Renders an accessible autocomplete dropdown for slash commands, mapping each command to a `MingoOnboardingCard` row with unified icon resolution, keyboard/mouse highlight sync, and optional inline action buttons.
1
+ <!-- source-hash: d1a2b6cd443ffee1f14fb1fbefe456e3 -->
2
+ Renders an autocomplete dropdown for slash-command suggestions, displaying each command as a styled card with icon, label, description, and optional action buttons.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Type | Description |
7
- |--------|------|-------------|
8
- | `SlashCommandSuggestions` | `React.FC` | Main dropdown component; returns `null` when `commands` is empty |
9
- | `SlashCommandSuggestionsProps` | `interface` | Props contract covering command list, highlight state, and action callbacks |
6
+ **`SlashCommandSuggestions`** Primary export. Renders a `role="menu"` container populated with `MingoOnboardingCard` rows, one per command. Returns `null` when `commands` is empty.
10
7
 
11
- **Icon resolution priority (highest → lowest):**
12
- 1. `cmd.iconName` `resolveOnboardingIcon` (v2 registry)
13
- 2. `cmd.primarySourceId` consumer `resolveSourceIcon` (legacy fallback)
14
- 3. `FileIcon` (default inside `resolveOnboardingIcon`)
8
+ **`SlashCommandSuggestionsProps`** Interface defining:
9
+ - `commands` Filtered `SlashCommandSummary[]` to display
10
+ - `highlightedIdx` Keyboard/hover cursor position
11
+ - `onHover` / `onSelect` — Sync callbacks for mouse and keyboard navigation
12
+ - `onAction` — Optional handler for inline action buttons (browse, search, find, etc.)
13
+ - `resolveSourceIcon` — Legacy fallback icon resolver for commands without `iconName`
14
+ - `className` — Positioning override (e.g. `absolute bottom-full`)
15
+
16
+ **Icon resolution priority:**
17
+ 1. `cmd.iconName` → `resolveIcon` (v2 registry, production path)
18
+ 2. `cmd.primarySourceId` → `resolveSourceIcon` (legacy fallback)
19
+ 3. `FileIcon` (default inside `resolveIcon`)
20
+
21
+ **Display label priority:** `cmd.label` → `legacyMeta.label` → `cmd.id`
15
22
 
16
23
  ## Usage Example
17
24
 
18
25
  ```typescript
19
- import { SlashCommandSuggestions } from './slash-command-suggestions'
20
- import type { SlashCommandSummary } from './types'
21
-
22
- function ChatInput() {
23
- const [commands, setCommands] = useState<SlashCommandSummary[]>([])
24
- const [highlightedIdx, setHighlightedIdx] = useState(0)
25
-
26
- return (
27
- <div className="relative">
28
- <SlashCommandSuggestions
29
- commands={commands}
30
- highlightedIdx={highlightedIdx}
31
- onHover={(idx) => setHighlightedIdx(idx)}
32
- onSelect={(cmd) => setValue(`/${cmd.id} `)}
33
- onAction={(cmd, actionId) => dispatch({ cmd, actionId })}
34
- className="absolute bottom-full"
35
- />
36
- <input ... />
37
- </div>
38
- )
39
- }
26
+ <SlashCommandSuggestions
27
+ commands={filteredCommands}
28
+ highlightedIdx={activeIdx}
29
+ onHover={(idx) => setActiveIdx(idx)}
30
+ onSelect={(cmd) => prefillInput(`/${cmd.id} `)}
31
+ onAction={(cmd, actionId) => dispatch({ cmd, actionId })}
32
+ resolveSourceIcon={(sourceId) => legacyIconMap[sourceId]}
33
+ className="absolute bottom-full"
34
+ />
40
35
  ```
41
36
 
42
- ## Accessibility Notes
37
+ ## Notes
43
38
 
44
- - Outer container: `role="menu"` with `aria-label`
45
- - Each row: `role="menuitem"` + `aria-current` on the highlighted item
46
- - `Enter`/`Space` activate the focused row; arrow-key navigation is delegated to the parent input
47
- - Action buttons call `stopPropagation` to prevent double-firing the row's `onSelect`
39
+ - Uses `role="menu"` with `role="menuitem"` rows (not `listbox`/`option`) to allow interactive action buttons inside each row per ARIA 1.2
40
+ - `aria-current` marks the highlighted row; action button clicks call `stopPropagation` to prevent double-firing `onSelect`
41
+ - Mirrors the empty-state onboarding card design via shared `MingoOnboardingCard` component
@@ -1,48 +1,51 @@
1
- <!-- source-hash: 770809a15a2a56eec700f22e576bdc99 -->
2
- Unified "Ask / Display" action button rendered across source chips, inline cards, and search-result list rows. Replaces three divergent ad-hoc implementations with a single `Button`-backed primitive that keeps DOM shape, accessibility attributes, and hover behavior in one place.
1
+ <!-- source-hash: 2b46a61a06e35d0d30a9cba0a4b9531a -->
2
+ Renders a unified "Ask" or "Display" action button for chat-adjacent surfaces (source chips, inline cards, search result rows), replacing three divergent implementations with a single density-aware primitive.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### `SourceActionButton`
7
- The sole export. Returns `null` when either `chatRef` or `onDiscuss` is absent, making the guard declarative at the call site.
6
+ ### Types
8
7
 
9
- ### `SourceActionDensity`
10
- Union type `'inline' | 'card' | 'list-row'` that selects the visual variant via the `DENSITY_STYLES` map.
8
+ - **`SourceActionDensity`** — Union type `'inline' | 'card' | 'list-row'` controlling visual layout variant
9
+ - **`SourceActionButtonProps`** Component props including `chatRef`, `onDiscuss`, `density`, `label`, and `className`
11
10
 
12
- ### `DENSITY_STYLES`
13
- Internal record keyed by `SourceActionDensity`. Each entry carries `size`, `showLabel`, `iconSize`, and `className`. Adding a fourth surface requires one new entry here — no changes to the render path.
11
+ ### Constants
14
12
 
15
- ### Icon selection
16
- Label-driven: `'Display'` renders `FileText` (verbatim-content semantics); any other label renders `MessageSquare` (conversational semantics).
13
+ - **`DENSITY_STYLES`** — Static map from `SourceActionDensity` to per-variant sizing, icon dimensions, label visibility, and Tailwind class strings. Adding a new surface requires only a new entry here.
14
+
15
+ ### Component
16
+
17
+ - **`SourceActionButton`** — Returns `null` when `chatRef` or `onDiscuss` is absent (safe to render unconditionally). Selects `MessageSquare` or `FileText` icon based on whether `label` is `'Display'`. Delegates to the UI-Kit `<Button variant="transparent">` for consistent DOM structure and accessibility.
17
18
 
18
19
  ## Usage Example
19
20
 
20
21
  ```typescript
21
- // Inline chip icon only, small footprint
22
+ import { SourceActionButton } from './source-action-button'
23
+ import type { ChatRef } from './chat-ref.types'
24
+
25
+ const ref: ChatRef = { id: 'doc-42', title: 'Q4 Report' }
26
+
27
+ // Compact icon-only button beside a source chip
22
28
  <SourceActionButton
23
- chatRef={{ id: 'row-42', title: 'Ticket #42' }}
24
- onDiscuss={(ref) => openChat(ref)}
29
+ chatRef={ref}
30
+ onDiscuss={(r) => openChat(r)}
25
31
  density="inline"
26
32
  />
27
33
 
28
- // Card shows "Ask" label beside icon
34
+ // Labelled button inside an inline card
29
35
  <SourceActionButton
30
- chatRef={row}
31
- onDiscuss={handleDiscuss}
36
+ chatRef={ref}
37
+ onDiscuss={(r) => openChat(r)}
32
38
  density="card"
39
+ label="Ask"
33
40
  />
34
41
 
35
- // List row with custom label
42
+ // Labelled button with display semantics in a list row
36
43
  <SourceActionButton
37
- chatRef={row}
38
- onDiscuss={handleDiscuss}
44
+ chatRef={ref}
45
+ onDiscuss={(r) => openViewer(r)}
39
46
  density="list-row"
40
47
  label="Display"
41
48
  />
49
+ ```
42
50
 
43
- // Hidden chatRef is null, renders nothing
44
- <SourceActionButton
45
- chatRef={null}
46
- onDiscuss={handleDiscuss}
47
- />
48
- ```
51
+ **Visibility rules:** the component renders `null` (no DOM node) when either `chatRef` or `onDiscuss` is `undefined`/`null`, so call sites need no conditional wrapping.
@@ -1,45 +1,33 @@
1
- <!-- source-hash: c2806ae4c954c7e6f9d20b3fe6ddb5f6 -->
2
- Reusable React components for rendering tool call arguments and results in the Flamingo/OpenFrame AI chat interface, handling both inline and block display formats.
1
+ <!-- source-hash: 33bf00d3b65113d65665605ce5e4d951 -->
2
+ Reusable React components for rendering tool call arguments, results, and command bodies within AI message interfaces (Mingo AI / Fae client cards).
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### `ArgRow`
7
- Renders a single tool argument as either an inline `key: value` pair (for short values) or a labeled scrollable `<pre>` block (for long JSON, scripts, or multiline content). Shared across `ApprovalBatchMessage` and `ToolExecutionDisplay` for consistent rendering.
6
+ | Export | Props | Description |
7
+ |---|---|---|
8
+ | `ArgRow` | `argKey: string`, `value: unknown` | Renders a single tool argument as either an inline `key: value` pair or a labeled scrollable `<pre>` block for long/complex values |
9
+ | `ResultBlock` | `result: string \| undefined \| null`, `className?: string` | Renders tool execution output inline for short single-line results or as a scrollable code block for JSON/multiline output |
10
+ | `CommandBlock` | `command: string`, `className?: string` | Renders a raw command or script body as an unlabeled code block; used by Fae client cards in expanded state |
8
11
 
9
- | Prop | Type | Description |
10
- |------|------|-------------|
11
- | `argKey` | `string` | The argument name/key |
12
- | `value` | `unknown` | The argument value (any type) |
12
+ All three components share a common `CODE_PRE_CLASS` constant that applies ODS design tokens (`text-code`, `bg-ods-bg`, `border-ods-border`) for consistent monospace display with a 64-line max-height scroll container.
13
13
 
14
- ### `ResultBlock`
15
- Renders a tool execution result as either inline text or a scrollable code block, depending on length and content type. Returns `null` when result is empty.
16
-
17
- | Prop | Type | Description |
18
- |------|------|-------------|
19
- | `result` | `string \| undefined \| null` | The tool execution output |
20
- | `className` | `string?` | Optional additional CSS classes |
14
+ Rendering mode (`"inline"` vs block) is determined by `formatToolArgValue` and `formatToolResult` helpers from `./utils/tool-call-helpers`.
21
15
 
22
16
  ## Usage Example
23
17
 
24
18
  ```typescript
25
- import { ArgRow, ResultBlock } from "./tool-call-blocks"
19
+ import { ArgRow, ResultBlock, CommandBlock } from "./tool-call-blocks"
26
20
 
27
- // Rendering tool arguments
28
- <ArgRow argKey="script" value={`console.log("hello")`} />
29
- <ArgRow argKey="timeout" value={30} />
21
+ // Short string → inline; long JSON → scrollable <pre>
22
+ <ArgRow argKey="query" value={{ filter: "status=open", limit: 50 }} />
30
23
 
31
- // Rendering tool result
24
+ // Multiline output → scrollable block
32
25
  <ResultBlock result={toolOutput} className="mt-2" />
33
- ```
34
26
 
35
- ## Display Logic
27
+ // Expanded Fae card — show raw command in code block body
28
+ <CommandBlock command="Get-Service | Where-Object { $_.Status -eq 'Running' }" />
29
+ ```
36
30
 
37
- Both components delegate format decisions to `formatToolArgValue` and `formatToolResult` helpers, which return a `kind` of `"inline"` or `"block"`:
31
+ ## Source
38
32
 
39
- ```mermaid
40
- graph TD
41
- A["Raw Value/Result"] --> B["Format Helper"]
42
- B --> C{"kind?"}
43
- C -->|inline| D["Inline span"]
44
- C -->|block| E["Scrollable pre/code"]
45
- ```
33
+ [`tool-call-blocks.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/tool-call-blocks.tsx)
@@ -1,53 +1,48 @@
1
- <!-- source-hash: 51e80592b1ae4e56c89af6c06ba53a04 -->
2
- Renders a collapsible card UI for displaying AI tool call execution stateincluding tool arguments, execution status (running/success/failure), and result output.
1
+ <!-- source-hash: 6622fc68fe4ae722eeab2de7945c1691 -->
2
+ Renders an AI tool execution status card showing tool name, arguments, status icon, and collapsible result output with separate display modes for admin users (expandable accordion with full details) and end-client Fae users (static, non-expandable summary row).
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Type | Description |
7
- |--------|------|-------------|
8
- | `ToolExecutionDisplay` | `forwardRef<HTMLDivElement>` | Main component displaying tool call lifecycle in a collapsible card |
6
+ - **`ToolExecutionDisplay`** Primary `forwardRef` component that renders the tool execution card
7
+ - **`useCollapsible`** — Hook managing animated expand/collapse of the detail body panel
8
+ - **`ArgRow`** Renders individual argument key/value pairs in the expanded body
9
+ - **`ResultBlock`** — Displays the tool's result string when execution is complete
10
+ - **`renderStatusIcon`** — Internal helper returning `DotsLoaderIcon` (executing), `CheckCircleIcon` (success), or `XmarkCircleIcon` (failure)
9
11
 
10
- ### Internal Helpers
12
+ ## Props (`ToolExecutionDisplayProps`)
11
13
 
12
- - **`renderStatusIcon`** Returns `DotsLoaderIcon` (executing), `CheckCircleIcon` (success), or `XmarkCircleIcon` (failure) based on message state
13
- - **`argEntries`** — Filters `message.parameters` to exclude `COMMAND_BODY_KEYS`, nulls, undefined, and empty strings
14
- - **`previewText`** Memoized title derived from `getToolCallTitle` using tool args, title, and function name
15
- - **`useCollapsible`**Hook providing animated expand/collapse container styles
16
- - **`hasBody`**Guards rendering of the collapsible body section
14
+ | Prop | Description |
15
+ |---|---|
16
+ | `message` | Tool execution message with `type`, `parameters`, `result`, `success`, `toolTitle`, `toolExplanation` |
17
+ | `assistantType` | `"mingo"` or `"fae"` controls tool icon visibility |
18
+ | `variant` | `"admin"` (default) or `"client"` controls expandability and visible fields |
19
+ | `className` | Additional CSS classes |
17
20
 
18
- ### Props (`ToolExecutionDisplayProps`)
21
+ ## Variant Behaviour
19
22
 
20
- | Prop | Description |
21
- |------|-------------|
22
- | `message` | Tool execution message with `type`, `parameters`, `result`, `success`, `toolTitle`, `toolFunction`, `integratedToolType` |
23
- | `className` | Optional CSS class override |
23
+ - **`variant="admin"`** Expandable accordion showing tool icon, concise `toolTitle`, all args (command body first), and result output
24
+ - **`variant="client"`** — Static row showing only `toolExplanation` and status icon; command body, raw args, and result are hidden
24
25
 
25
26
  ## Usage Example
26
27
 
27
28
  ```typescript
28
29
  import { ToolExecutionDisplay } from "./tool-execution-display"
29
30
 
30
- // Executing state
31
- <ToolExecutionDisplay
32
- message={{
33
- type: "EXECUTING_TOOL",
34
- toolTitle: "Query Database",
35
- toolFunction: "run_query",
36
- parameters: { query: "SELECT * FROM tickets LIMIT 10" },
37
- integratedToolType: "OPENFRAME",
38
- }}
39
- />
40
-
41
- // Completed with result
42
31
  <ToolExecutionDisplay
32
+ assistantType="mingo"
33
+ variant="admin"
43
34
  message={{
44
35
  type: "EXECUTED_TOOL",
45
- toolTitle: "Query Database",
46
- toolFunction: "run_query",
47
- parameters: { query: "SELECT * FROM tickets LIMIT 10" },
48
- result: "Returned 10 rows",
36
+ toolTitle: "Run PowerShell Script",
37
+ toolExplanation: "Restarting the print spooler service",
38
+ integratedToolType: "POWERSHELL",
39
+ parameters: { script: "Restart-Service Spooler" },
40
+ result: "Service restarted successfully.",
49
41
  success: true,
50
- integratedToolType: "OPENFRAME",
51
42
  }}
52
43
  />
53
- ```
44
+ ```
45
+
46
+ ## Source
47
+
48
+ [`tool-execution-display.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/tool-execution-display.tsx)