@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,35 +1,40 @@
1
- <!-- source-hash: eded9627e041539da9106ebd71cd1d56 -->
2
- Storybook stories for the `Board` component, demonstrating all major configuration variants including drag-and-drop, column types, pagination, loading states, and collapse behavior.
1
+ <!-- source-hash: 8939b0ce480239cfb76e028389e4824d -->
2
+ Storybook stories for the `Board` component, covering all major interaction states including drag-and-drop, column types, pagination, loading, and empty states.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Description |
7
- |--------|-------------|
8
- | `Default` | Five canonical ticket-status columns with seeded tickets and full drag-and-drop wired up |
9
- | `SystemAndCustom` | Mixed system and custom columns mirroring the OpenFrame Tickets layout, with DnD restrictions |
10
- | `CustomColumns` | Fully custom columns proving column color is decoupled from `TicketStatus` |
11
- | `Collapsible` | Columns with collapse toggle persisted to `localStorage` via `collapseStorageKey` |
12
- | `Pagination` | Demonstrates `onLoadMore` with a 600ms simulated delay, appending 10 tickets per page from a pool of 50 |
13
- | `InitialLoading` | All columns start in `isLoading` skeleton state, resolving to seeded data after 1 second |
14
- | `Empty` | Empty columns to verify the drop placeholder render |
6
+ ### Seed Data Helpers
7
+ - **`ASSIGNEES`** — Static array of mock users with `id`, `initials`, and `name`
8
+ - **`baseTicket(i, status, overrides)`** Factory function generating a `BoardTicket` from index, status string, and optional overrides
9
+ - **`buildSeedColumns()`** Builds five canonical status columns (`ACTIVE`, `TECH_REQUIRED`, `ON_HOLD`, `RESOLVED`, `ARCHIVED`) with seeded tickets
15
10
 
16
- **Helpers used internally:**
11
+ ### State Management Helper
12
+ - **`applyChange(columns, change)`** — Immutably applies a `BoardChange` (drag-and-drop result) to column state, handling `afterTicketId` and `beforeTicketId` insertion points
17
13
 
18
- - `buildSeedColumns()` — generates five default status columns with varied ticket data
19
- - `applyChange()` — immutably applies a `BoardChange` (move/reorder) to the column state
14
+ ### Exported Stories
15
+
16
+ | Story | Description |
17
+ |---|---|
18
+ | `Default` | Five canonical-status columns with full DnD wired up |
19
+ | `SystemAndCustom` | Mixed system + custom columns; AI-Assistance refuses drops, Resolved tickets are pinned |
20
+ | `CustomColumns` | Fully custom columns decoupled from `TicketStatus` (Backlog, In Review, Blocked, Done) |
21
+ | `Collapsible` | Column collapse/expand with `localStorage` persistence via `collapseStorageKey` |
22
+ | `Pagination` | One column loads 10 of 50 tickets; `onLoadMore` appends pages after a 600ms simulated delay |
23
+ | `InitialLoading` | All columns start in `isLoading` skeleton state, resolving to seed data after 1 second |
24
+ | `Empty` | All columns empty to verify the drop placeholder rendering |
20
25
 
21
26
  ## Usage Example
22
27
 
23
28
  ```typescript
24
- // Minimal interactive board with DnD and immutable state update
29
+ // Minimal controlled Board with DnD
25
30
  const [columns, setColumns] = React.useState(buildSeedColumns())
26
31
 
27
32
  <Board
28
33
  columns={columns}
29
34
  onChange={change => setColumns(prev => applyChange(prev, change))}
30
- onTicketClick={id => console.log('clicked', id)}
31
- onAddTicket={colId => console.log('add to', colId)}
32
- collapseStorageKey="my-board-collapse"
33
- onLoadMore={columnId => fetchNextPage(columnId)}
35
+ getTicketHref={id => `/tickets/${id}`}
36
+ onAddTicket={columnId => console.log('add to', columnId)}
34
37
  />
35
- ```
38
+ ```
39
+
40
+ **Source:** [`Board.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/Board.stories.tsx)
@@ -1,53 +1,48 @@
1
- <!-- source-hash: da7a4cc8d96ad03653cebb8d1ec11d45 -->
2
- Storybook stories for the `Button` UI component, covering all variants, sizes, states, icon configurations, and link behaviors with interactive controls.
1
+ <!-- source-hash: 9800f8a45e8e63abbb33c1772baecc99 -->
2
+ Storybook stories for the `Button` component, covering all variants, sizes, states, icon configurations, and link behaviors used in the OpenFrame UI library.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Story | Description |
6
+ | Export | Description |
7
7
  |---|---|
8
- | `Accent` / `Outline` / `Transparent` / `Destructive` | Surface variant stories |
9
- | `SizeDefault` / `SizeSmall` | Size variant stories |
10
- | `IconOnly` / `WithLeftIcon` / `WithRightIcon` / `WithBothIcons` | Icon placement stories |
11
- | `Disabled` / `Loading` / `FullWidth` | State stories |
12
- | `SplitIcon` / `SplitIconOutline` / `SplitIconSmall` / `SplitIconAsLink` | Split-icon button variations |
13
- | `AsLink` / `ExternalLink` | Button rendered as anchor tag |
14
- | `AllVariants` / `AllSizes` / `IconButtonGrid` / `WithIconsShowcase` / `StatesShowcase` / `NotificationCounters` | Showcase/grid stories |
15
-
16
- **Controls exposed via `argTypes`:** `variant`, `size`, `fullWidth`, `disabled`, `loading`
8
+ | `Accent`, `Outline`, `Transparent`, `Destructive`, `Warning` | Individual variant stories |
9
+ | `SizeDefault`, `SizeSmall`, `SizeCompact` | Size variant stories |
10
+ | `IconOnly`, `WithLeftIcon`, `WithRightIcon`, `WithBothIcons` | Icon placement stories |
11
+ | `Disabled`, `Loading`, `FullWidth` | State stories |
12
+ | `SplitIcon`, `SplitIconOutline`, `SplitIconAsLink`, `SplitIconSmall` | Split icon button stories |
13
+ | `AsLink`, `ExternalLink` | Anchor/navigation stories |
14
+ | `AllVariants`, `AllSizes`, `IconButtonGrid`, `WithIconsShowcase`, `StatesShowcase`, `NotificationCounters` | Composite showcase stories |
17
15
 
18
16
  ## Usage Example
19
17
 
20
18
  ```typescript
21
- // Minimal interactive story with controls
22
- import { Button } from '../components/ui/button';
23
-
24
- export const MyStory: Story = {
25
- args: {
26
- children: 'Click me',
27
- variant: 'accent',
28
- size: 'default',
29
- loading: false,
30
- disabled: false,
31
- },
19
+ // Individual story renders an accent button
20
+ export const Accent: Story = {
21
+ args: { children: 'Button', variant: 'accent' },
32
22
  };
33
23
 
34
- // Split-icon button as a navigation link
35
- export const SplitNav: Story = {
36
- args: {
37
- children: 'Docs',
38
- href: '/docs',
39
- splitIcon: <ExternalLinkIcon />,
40
- variant: 'outline',
24
+ // Composite showcase renders all variants in normal, disabled, and loading states
25
+ export const AllVariants: Story = {
26
+ args: { children: 'Button' },
27
+ render: () => {
28
+ const variants = ['accent', 'outline', 'transparent', 'destructive', 'warning'] as const;
29
+ return (
30
+ <div style={{ display: 'grid', gridTemplateColumns: 'auto auto auto', gap: '1rem' }}>
31
+ {variants.map((variant) => (
32
+ <React.Fragment key={variant}>
33
+ <Button variant={variant}>{variant}</Button>
34
+ <Button variant={variant} disabled>{variant}</Button>
35
+ <Button variant={variant} loading>{variant}</Button>
36
+ </React.Fragment>
37
+ ))}
38
+ </div>
39
+ );
41
40
  },
42
41
  };
42
+ ```
43
43
 
44
- // Icon-only with accessible label
45
- export const IconAction: Story = {
46
- args: {
47
- size: 'icon',
48
- variant: 'destructive',
49
- leftIcon: <Trash2 />,
50
- 'aria-label': 'Delete item',
51
- },
52
- };
53
- ```
44
+ ## Controlled Args
45
+
46
+ The Storybook `argTypes` panel exposes interactive controls for `variant` (`accent` | `outline` | `transparent` | `destructive` | `warning`), `size` (`default` | `small` | `compact` | `icon`), `fullWidth`, `disabled`, and `loading`.
47
+
48
+ **Source:** [`Button.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/Button.stories.tsx)
@@ -0,0 +1,38 @@
1
+ <!-- source-hash: 62d0fd5af004b0935685d20d4d932ddc -->
2
+ Storybook stories for the `CampaignCardAdmin` chat-inline entity card, covering default display and edge cases where optional fields (description, goals) are absent.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Default` | `Story` | Full campaign card with name, start date, goal count, and description |
9
+ | `NoDescription` | `Story` | Campaign card with `description` set to `null` |
10
+ | `NoGoals` | `Story` | Campaign card with an empty `goals` array |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ import { CampaignCardAdmin } from '../components/chat/entity-cards'
16
+ import { campaignItem } from './__fixtures__/chat-cards'
17
+ import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
18
+
19
+ // Render the card in your chat UI
20
+ <CampaignCardAdmin
21
+ campaign={campaignItem}
22
+ anchorProps={makeAnchorProps('/admin/campaigns/' + campaignItem.id)}
23
+ />
24
+
25
+ // Handle missing optional fields gracefully
26
+ <CampaignCardAdmin
27
+ campaign={{ ...campaignItem, description: null, goals: [] }}
28
+ anchorProps={makeAnchorProps('/admin/campaigns/' + campaignItem.id)}
29
+ />
30
+ ```
31
+
32
+ ## Notes
33
+
34
+ - Wrapped in `ChatColumnDecorator` to simulate the constrained chat column layout.
35
+ - This is the **chat-only projection** of the `marketing_campaign` doc type — delete/manage actions belong to the hub's full admin card.
36
+ - Stories live under the `Chat/EntityCards/CampaignCardAdmin` Storybook path.
37
+
38
+ **Source:** [`CampaignCardAdmin.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/CampaignCardAdmin.stories.tsx)
@@ -0,0 +1,39 @@
1
+ <!-- source-hash: f14c97ac08b17c846941af692b1556a9 -->
2
+ Storybook story file for the `CardsStrip` component, covering chevron navigation, mixed card types, marquee auto-scroll, overflow edge cases, and custom cell width variants using real entity card fixtures.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `CaseStudiesChevrons` | Chevron-nav strip of 7 uniform case-study cards with `autoScroll={false}` (Figma 3905:77388) |
9
+ | `MixedCardTypes` | Strip mixing `CaseStudyCard`, `BlogCard`, and `CustomerInterviewCard` to verify row alignment |
10
+ | `MarqueeOptIn` | Default marquee mode; documents clone accessibility contract (aria-hidden, tabindex suppression, click passthrough) |
11
+ | `TwoItemsNoOverflow` | Edge case — fewer items than viewport width, so no clones, chevrons, or marquee activate |
12
+ | `CustomCellWidth` | Demonstrates `cardWidthDesktop`/`cardWidthMobile` overrides for compact layouts |
13
+
14
+ All stories use **organic children mode** (plain JSX children, no strip-side registration). The render-prop mode is covered by `VideoBitesStrip.stories.tsx`.
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ // Chevron strip — pass autoScroll={false} for entity strips
20
+ <CardsStrip title="Case Studies" autoScroll={false}>
21
+ {caseStudies.map(study => (
22
+ <CaseStudyCard key={study.slug} study={study} href={`/case-studies/${study.slug}`} />
23
+ ))}
24
+ </CardsStrip>
25
+
26
+ // Marquee strip — omit autoScroll (engine default is true)
27
+ <CardsStrip title="Case Studies">
28
+ {caseStudies.map(study => (
29
+ <CaseStudyCard key={study.slug} study={study} href={`/case-studies/${study.slug}`} />
30
+ ))}
31
+ </CardsStrip>
32
+
33
+ // Custom cell widths
34
+ <CardsStrip title="Compact Row" autoScroll={false} cardWidthDesktop={320} cardWidthMobile={280}>
35
+ {/* cards */}
36
+ </CardsStrip>
37
+ ```
38
+
39
+ > **Guidance:** Always pass `autoScroll={false}` for chevron-style entity strips. The engine defaults to `autoScroll={true}` for the marquee/bites contract — omitting it in an entity strip will silently enable marquee behavior.
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 75ac7c181bdd6e2ff693703757ed5c57 -->
2
+ Storybook stories for `CaseStudyCard`, covering both the compact chat-inline (`sm`) and full catalog grid (`default`) size variants of the `case_study` entity card.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `meta` | `Meta<CaseStudyCard>` | Storybook metadata — registers the component under `Chat/EntityCards/CaseStudyCard` with fullscreen layout |
9
+ | `ChatInlineSm` | `Story` | Renders the compact card variant used inline within chat messages |
10
+ | `Default` | `Story` | Renders the full catalog grid card variant |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ import { CaseStudyCard } from '../components/chat/entity-cards'
16
+ import { caseStudy } from './__fixtures__/chat-cards'
17
+
18
+ // Compact chat-inline variant
19
+ <CaseStudyCard
20
+ study={caseStudy}
21
+ href={`/case-studies/${caseStudy.slug}`}
22
+ size="sm"
23
+ target="_blank"
24
+ rel="noopener noreferrer"
25
+ />
26
+
27
+ // Full catalog grid variant
28
+ <CaseStudyCard
29
+ study={caseStudy}
30
+ href={`/case-studies/${caseStudy.slug}`}
31
+ size="default"
32
+ target="_blank"
33
+ rel="noopener noreferrer"
34
+ />
35
+ ```
36
+
37
+ ## Notes
38
+
39
+ - Both stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout context.
40
+ - The `CaseStudyCard` supports two sizes: `"sm"` (chat-inline compact) and `"default"` (catalog grid). Both render a user + MSP badge overlay.
41
+ - Fixture data is sourced from [`__fixtures__/chat-cards`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/stories/__fixtures__/chat-cards.ts).
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 292551494d3d57529210cbc9d678d8e9 -->
2
+ Storybook stories for the `ChatContainer` composite component, demonstrating the full Fae client-facing chat shell across layout and state variants.
3
+
4
+ ## Key Components
5
+
6
+ - **`FaeChatShell`** — Internal interactive wrapper that composes `ChatContainer`, `ChatHeader`, `ChatContent`, `ChatFooter`, `ChatMessageList`, `ChatInput`, `QuickActionWall`, and `ModelDisplay` into a working chat UI. Manages local message state and simulates user message submission.
7
+ - **`FAE_MESSAGES`** — Sample conversation seed data pre-populating the message list with a realistic Fae/user exchange.
8
+ - **`SAMPLE_QUICK_ACTIONS`** — Three quick-action chips (`Computer slow`, `Check updates`, `Internet problems`) used in the `QuickActionWall`.
9
+
10
+ ### Exported Stories
11
+
12
+ | Story | Description |
13
+ |---|---|
14
+ | `Fae` | Default Fae chat shell with no extras |
15
+ | `FaeWithTicket` | Header shows active ticket info row |
16
+ | `ClientChatWithMspOrganization` | MSP branding bar rendered in header |
17
+ | `ClientChatMspOrganizationLoading` | MSP branding slot in skeleton/loading state |
18
+ | `FaeFullWidth` | Drops centered column; fills full container width |
19
+ | `FaeBareHeader` | Strips card chrome from header for embedded contexts |
20
+ | `FaeModelLoading` | `ModelDisplaySkeleton` shown while model metadata resolves |
21
+
22
+ ## Usage Example
23
+
24
+ ```typescript
25
+ // Render the default Fae story in isolation
26
+ import { Fae } from './ChatContainer.stories'
27
+
28
+ // In a test or custom harness:
29
+ <Fae.render />
30
+
31
+ // Or control FaeChatShell props directly:
32
+ <FaeChatShell
33
+ withTicketInfo
34
+ fullWidth
35
+ modelLoading={false}
36
+ />
37
+ ```
38
+
39
+ ## Source
40
+
41
+ [`ChatContainer.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatContainer.stories.tsx)
@@ -0,0 +1,36 @@
1
+ <!-- source-hash: b79b2c8f9f7df800c6a753d097091a12 -->
2
+ Storybook stories for `ChatInlineVideoPill`, an inline span component that renders a video reference pill inside chat assistant message paragraphs.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `ChatInlineVideoPill` | Local component | Inline `<span>` pill showing a play icon and truncated video title |
9
+ | `Default` | `Story` | Standard pill with a short, readable title |
10
+ | `LongTitleTruncates` | `Story` | Validates truncation at `max-w-[220px]` for long titles |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ // The component is defined inline in dispatch.tsx (~line 318-326)
16
+ // and is reproduced here for isolated story rendering:
17
+ function ChatInlineVideoPill({ title }: { title: string }) {
18
+ return (
19
+ <span className="inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs align-middle bg-ods-card border border-ods-border text-ods-text-primary">
20
+ <span aria-hidden="true" className="text-ods-text-secondary">▶</span>
21
+ <span className="truncate max-w-[220px]">{title}</span>
22
+ </span>
23
+ )
24
+ }
25
+ ```
26
+
27
+ ## Design Notes
28
+
29
+ - **Inline-only** — unlike all other entity cards, this component has no card wrapper, Ask/Display affordance, or block-level container. It sits directly within `<p>` text flow.
30
+ - **Video hoisting** — the actual video player is extracted from the paragraph by the chat pre-scan pipeline and rendered above the assistant turn. This pill acts as a inline sentinel/reference marker.
31
+ - **Truncation** — titles are capped at `max-w-[220px]` to prevent line wrapping of surrounding paragraph text.
32
+ - **Decorator** — stories wrap the pill in a realistic `<p>` context via `ChatColumnDecorator` to verify inline flow renders correctly alongside surrounding prose.
33
+
34
+ ## Source
35
+
36
+ [`ChatInlineVideoPill.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatInlineVideoPill.stories.tsx)
@@ -0,0 +1,51 @@
1
+ <!-- source-hash: 97c4cee0a62454c372bae94dd2deb03b -->
2
+ Storybook story file for `ChatMessageEnhanced`, providing interactive visual documentation for the primary chat message renderer used across Mingo (admin) and Fae (client) chat interfaces.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `AssistantFae` | `Story` | Fae assistant message with pink mono name and timestamp |
9
+ | `AssistantMingo` | `Story` | Mingo assistant message with cyan mono name |
10
+ | `UserMessage` | `Story` | User-authored message with grey mono name |
11
+ | `FaeConversationTyping` | `Story` | Multi-message Fae flow showing greeting → user request → typing indicator |
12
+ | `FaeConversationApproved` | `Story` | Fae flow with a resolved `approval_request` segment (APPROVED pill) |
13
+ | `PendingApprovalSegment` | `Story` | Client approval card with live Approve/Reject buttons |
14
+ | `AllSegmentTypes` | `Story` | Single message rendering all segment types: `thinking`, `text`, `tool_execution`, `context_compaction`, `error` |
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ // Render a Fae assistant message with an approval segment
20
+ <ChatMessageEnhanced
21
+ role="assistant"
22
+ name="Fae"
23
+ approvalVariant="client"
24
+ timestamp={new Date()}
25
+ content={[
26
+ { type: "text", text: "Just need your quick approval here." },
27
+ {
28
+ type: "approval_request",
29
+ data: {
30
+ command: "brew install --cask slack",
31
+ requestId: "req-1",
32
+ approvalType: "CLIENT",
33
+ explanation: "Install Slack via Homebrew Cask on macOS",
34
+ },
35
+ status: "pending",
36
+ onApprove: () => {},
37
+ onReject: () => {},
38
+ },
39
+ ]}
40
+ />
41
+ ```
42
+
43
+ ## Notes
44
+
45
+ - **`at247()`** — pins story timestamps to `2:47 PM` so snapshot tests are deterministic; today-dated messages render time-only via `formatMessageTimestamp`.
46
+ - **`panelDecorator`** — wraps each story in a `640px` container with the system background token, matching the `ChatMessageList` host context.
47
+ - **`FaeConversationTyping` / `FaeConversationApproved`** — composite render functions that reproduce the full Fae desktop-app flow matching the Figma `fae-approval-block` spec.
48
+
49
+ ## Source
50
+
51
+ [`ChatMessageEnhanced.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatMessageEnhanced.stories.tsx)
@@ -0,0 +1,30 @@
1
+ <!-- source-hash: 72bc4b44eb59f863ebc8b29a59c67d77 -->
2
+ Storybook stories file that documents and visually demonstrates `MingoInfoCard` variants for in-chat entity cards, mirroring the field mapping (icon, status pill, description, overflow menu) from the `CHAT_CARD_REGISTRY` dispatch for each integrated source type.
3
+
4
+ ## Key Components
5
+
6
+ - **`meta`** — Storybook `Meta` config registering stories under `Chat/ChatMingoInfoCards`, with `fullscreen` layout and a `ChatColumnDecorator` wrapper that reproduces the in-chat column context.
7
+ - **`openMenu`** — Shared factory that builds the standardized "⋯" overflow menu with `Ask Mingo` (Mingo logo) and `Open Details` (eye icon + ↗ new-tab side button) actions.
8
+ - **`HubspotTicket`** — Story covering `hubspot_ticket` registry types; demonstrates status pill variants (`warning` → Open, `success` → Closed, `grey` → other) and missing-description/status edge cases.
9
+ - **`GithubActivity`** — Story covering `github_commit`, `github_pull_request`, and `github_pr_review` types; shows per-kind icon switching and review-state pills (`success` → Approved, `error` → Changes, `grey` → Comment/neutral).
10
+ - **`SlackMessage`** — Story covering `slack_message`; demonstrates the no-pill pattern with author + channel in the title and message preview as description.
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ // Reproduce the HubSpot ticket card outside Storybook
16
+ import { MingoInfoCard } from '../components/chat/mingo-info-card'
17
+ import { TagIcon } from '../components/icons-v2-generated/shopping/tag-icon'
18
+
19
+ <MingoInfoCard
20
+ title="Login page returns 500 after SSO redirect"
21
+ description="Customer cannot sign in via Google SSO since this morning…"
22
+ icon={<TagIcon size={24} />}
23
+ status={{ label: 'Open', variant: 'warning' }}
24
+ anchorProps={{ href: 'https://app.hubspot.com/contacts/0/ticket/123' }}
25
+ menuGroups={openMenu('https://app.hubspot.com/contacts/0/ticket/123')}
26
+ menuAriaLabel="Ticket actions"
27
+ />
28
+ ```
29
+
30
+ **Source:** [`ChatMingoInfoCards.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatMingoInfoCards.stories.tsx)
@@ -1,33 +1,49 @@
1
- <!-- source-hash: 995995dfe9715311703dcbbfc0fbba0b -->
2
- Storybook stories for the `ChatTicketList` component, providing visual test cases across different ticket counts, statuses, and scroll/fade behaviors.
1
+ <!-- source-hash: abdfb61054ac90989111840ada6a1cca -->
2
+ Storybook stories for the `ChatTicketList` component, providing interactive visual test cases covering ticket states, scroll fading behavior, and loading skeletons.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`meta`** Storybook metadata registering the component under `Chat/ChatTicketList` with autodocs and a `ticketClicked` action handler
7
- - **`mockTickets`** — 5-item fixture dataset covering all ticket statuses: `ACTIVE`, `ON_HOLD`, `TECH_REQUIRED`, and `RESOLVED`
8
- - **`manyTickets`** 15-item extended dataset (includes `mockTickets`) for testing scroll and fade overflow scenarios
9
- - **`constrainedDecorator`** Factory returning a story decorator that wraps the component in a max-width 600px container with an optional fixed height, used to simulate real layout constraints
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Default` | Five mock tickets spanning all common statuses |
9
+ | `SingleTicket` | Minimal single-ticket render |
10
+ | `AllStatuses` | Four tickets demonstrating `ACTIVE`, `ON_HOLD`, `TECH_REQUIRED`, and `RESOLVED` states |
11
+ | `ScrollFading` | 15 tickets in a 400px container to showcase scroll-edge fade effect |
12
+ | `ScrollFadingCompact` | Same dataset in a tighter 280px container for more pronounced fading |
13
+ | `Loading` | Empty tickets array with `isLoading: true` to render skeleton placeholder rows |
10
14
 
11
- ## Exported Stories
15
+ **Helpers**
12
16
 
13
- | Story | Description |
14
- |---|---|
15
- | `Default` | 5 tickets, unconstrained height |
16
- | `SingleTicket` | Only the first ticket rendered |
17
- | `AllStatuses` | First 4 tickets showing each distinct status |
18
- | `ScrollFading` | 15 tickets in a 400px container to demonstrate scroll fade |
19
- | `ScrollFadingCompact` | 15 tickets in a 280px container for more pronounced fade |
17
+ - `mockTickets` five representative `ChatTicketItemData` fixtures covering the four ticket statuses
18
+ - `manyTickets` — extends `mockTickets` to 15 entries across diverse categories (Email, Security, Onboarding, Infrastructure, etc.)
19
+ - `constrainedDecorator(height?)` wraps each story in a max-width 600px flex container; accepts an optional fixed height to trigger scrollable overflow
20
20
 
21
21
  ## Usage Example
22
22
 
23
23
  ```typescript
24
- // Replicate the ScrollFading story manually
24
+ // Render the scroll-fading story locally in Storybook
25
+ import { ScrollFading } from "./ChatTicketList.stories";
26
+
27
+ // Or compose the component directly with the same fixture data
25
28
  import { ChatTicketList } from "../components/chat/chat-ticket-list";
29
+ import type { ChatTicketItemData } from "../components/chat/entity-cards/chat-ticket-item";
30
+
31
+ const tickets: ChatTicketItemData[] = [
32
+ {
33
+ id: "1",
34
+ title: "Printer not working",
35
+ ticketNumber: "1002",
36
+ status: "ACTIVE",
37
+ category: "Hardware Issue",
38
+ timeAgo: "2 hours",
39
+ },
40
+ ];
41
+
42
+ <ChatTicketList
43
+ tickets={tickets}
44
+ isLoading={false}
45
+ onTicketClick={(id) => console.log("clicked", id)}
46
+ />;
47
+ ```
26
48
 
27
- <div style={{ maxWidth: 600, height: 400 }}>
28
- <ChatTicketList
29
- tickets={manyTickets}
30
- onTicketClick={(ticket) => console.log(ticket)}
31
- />
32
- </div>
33
- ```
49
+ **Source:** [`ChatTicketList.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatTicketList.stories.tsx)
@@ -0,0 +1,47 @@
1
+ <!-- source-hash: 794302ba2da5741b5cee3d5040b87f88 -->
2
+ Storybook stories for `ChatTypingIndicator`, documenting the animated three-dot typing indicator component across its size variants and configuration options.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Default` | `Story` | Medium-size dots, no label (baseline render) |
9
+ | `Small` | `Story` | `size="sm"` — matches `ChatInput` in-flight state |
10
+ | `Large` | `Story` | `size="lg"` large dot variant |
11
+ | `WithText` | `Story` | Includes "Assistant is typing" label via `showText: true` |
12
+ | `MutedDots` | `Story` | Overrides dot color using `dotClassName` |
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ import { ChatTypingIndicator } from "../components/chat/chat-typing-indicator";
18
+
19
+ // Default medium dots
20
+ <ChatTypingIndicator />
21
+
22
+ // Small — used inside ChatInput while send is in flight
23
+ <ChatTypingIndicator size="sm" />
24
+
25
+ // With label and custom dot color
26
+ <ChatTypingIndicator
27
+ size="lg"
28
+ showText={true}
29
+ dotClassName="bg-ods-text-secondary"
30
+ />
31
+ ```
32
+
33
+ ## Props Reference
34
+
35
+ | Prop | Values | Description |
36
+ |---|---|---|
37
+ | `size` | `"sm"` \| `"md"` \| `"lg"` | Controls dot size; defaults to `"md"` |
38
+ | `showText` | `boolean` | Renders "Assistant is typing" label alongside dots |
39
+ | `dotClassName` | `string` | Tailwind class override for dot color (e.g., `bg-ods-text-secondary`) |
40
+
41
+ ## Notes
42
+
43
+ - Component is rendered under the message header as the Fae assistant streams a reply
44
+ - The `sm` size variant is also embedded within `<ChatInput>` during pending send state
45
+ - Stories are wrapped in a `400px` max-width container with `var(--color-bg)` background to simulate real chat UI context
46
+
47
+ **Source:** [`ChatTypingIndicator.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ChatTypingIndicator.stories.tsx)