@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
@@ -0,0 +1,59 @@
1
+ <!-- source-hash: e558dffab5bdef3a664d2fa964007300 -->
2
+ Storybook stories for `QuickActionChipButton`, covering all visual variants, icon formats, and interaction states used across chat empty states, marketing marquee strips, and ROI table task cells.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Default` | Bordered `outline` chip with a config glyph tinted flamingo-pink |
9
+ | `Primary` | Accent (yellow) `primary` variant chip |
10
+ | `AccentTints` | Config glyphs using `pink`, `cyan`, and arbitrary CSS color `accent` values |
11
+ | `AgentMarks` | Agent-format icons (`fae`, `mingo`) that carry their own colors |
12
+ | `NoIcon` | Label-only chip with no icon |
13
+ | `NonInteractive` | Decorative `<Tag>` (non-focusable) for marquee strips and ROI table cells |
14
+ | `HoverCallbacks` | Demonstrates `onHoverStart`/`onHoverEnd` for prompt preview/restore behavior |
15
+ | `Gallery` | All variants rendered side by side |
16
+
17
+ ## Usage Example
18
+
19
+ ```typescript
20
+ import { QuickActionChipButton, type QuickActionIconSpec } from '../components/chat/quick-action-chip'
21
+
22
+ // Config-format icon: name resolved by <EntityIcon>, tinted via accent
23
+ const icon: QuickActionIconSpec = { name: 'search', accent: 'pink' }
24
+
25
+ // Interactive chip (button, focusable, hover callbacks)
26
+ <QuickActionChipButton
27
+ label="How to start"
28
+ icon={icon}
29
+ variant="outline"
30
+ onSelect={() => console.log('selected')}
31
+ onHoverStart={() => console.log('preview prompt')}
32
+ onHoverEnd={() => console.log('restore composer')}
33
+ />
34
+
35
+ // Agent-format icon (self-colored, accent ignored)
36
+ <QuickActionChipButton
37
+ label="Ask fae"
38
+ icon={{ name: 'fae' }}
39
+ onSelect={() => {}}
40
+ />
41
+
42
+ // Decorative (non-interactive Tag, no button or focus ring)
43
+ <QuickActionChipButton
44
+ label="Decorative"
45
+ icon={{ name: 'bug', accent: 'cyan' }}
46
+ interactive={false}
47
+ />
48
+ ```
49
+
50
+ ## Icon Format Reference
51
+
52
+ | Format | Example | Behavior |
53
+ |---|---|---|
54
+ | Agent | `{ name: 'fae' \| 'mingo' }` | Renders packaged agent mark; `accent` ignored |
55
+ | Config | `{ name, accent: 'pink' \| 'cyan' }` | Glyph tinted with brand token |
56
+ | Config | `{ name, accent: '#8b5cf6' }` | Glyph tinted with arbitrary CSS color |
57
+ | Config | `{ name, props: { color } }` | Explicit `props.color` wins over `accent` |
58
+
59
+ **Source:** [`QuickActionChip.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/QuickActionChip.stories.tsx)
@@ -0,0 +1,51 @@
1
+ <!-- source-hash: a7d0aad0e28fe0e0c7562287e434d1b0 -->
2
+ Storybook stories for the `QuickActionMarquee` component, showcasing horizontally-scrolling quick-action chip strips used in the OpenFrame chat interface — covering layout variants, scroll directions, interactivity modes, and edge cases.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Default` | Single fae-row marquee scrolling left with interactive chips |
9
+ | `TwoRows` | Stacked fae (left) + mingo (right) rows mirroring the Figma design |
10
+ | `ScrollRight` | Mingo-row marquee with reversed scroll direction |
11
+ | `Decorative` | Non-interactive, non-focusable chip strip for marketing/display use |
12
+ | `FewItems` | Edge case with fewer than 12 items — validates `minChips` auto-padding |
13
+ | `FastNoPause` | High-speed (`120px/s`) marquee with hover-pause disabled |
14
+
15
+ **Item Fixtures:**
16
+
17
+ - `FAE_ITEMS` — 6 chips with `pink`-accented icons, mirrors the Figma fae row
18
+ - `MINGO_ITEMS` — 6 chips with `cyan`-accented icons, mirrors the Figma mingo row
19
+
20
+ ## Usage Example
21
+
22
+ ```typescript
23
+ import { QuickActionMarquee } from '../components/chat/quick-action-marquee'
24
+
25
+ // Interactive strip
26
+ <QuickActionMarquee
27
+ items={FAE_ITEMS}
28
+ direction="left"
29
+ speed={60}
30
+ pauseOnHover
31
+ onSelect={(item) => console.log(item.id)}
32
+ />
33
+
34
+ // Decorative-only (no onSelect → non-focusable)
35
+ <QuickActionMarquee items={MINGO_ITEMS} direction="right" />
36
+
37
+ // Stacked two-row layout
38
+ <div className="flex flex-col gap-[var(--spacing-system-mf)]">
39
+ <QuickActionMarquee items={FAE_ITEMS} direction="left" onSelect={handler} />
40
+ <QuickActionMarquee items={MINGO_ITEMS} direction="right" onSelect={handler} />
41
+ </div>
42
+ ```
43
+
44
+ ## Notes
45
+
46
+ - Scroll speed is constant in `px/s` regardless of item count
47
+ - Strips automatically pause under `prefers-reduced-motion`
48
+ - Omitting `onSelect` renders chips as plain decorative tags (not focusable)
49
+ - Cloned track copies are `aria-hidden` for accessibility
50
+
51
+ **Source:** [`QuickActionMarquee.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/QuickActionMarquee.stories.tsx)
@@ -0,0 +1,58 @@
1
+ <!-- source-hash: 1db7402ef79fc5e4ab16d7c9c2568bfa -->
2
+ Storybook stories for `QuickActionWall`, demonstrating all rendering modes of the chat quick-action chip wall component across vertical, horizontal, brick-layout, and edge-case configurations.
3
+
4
+ ## Key Components
5
+
6
+ - **`VerticalMixedStream`** — Vertical wall with bottom-fade marquee, interleaved IT/SEC chips with category lozenges
7
+ - **`HorizontalInteractive`** — Horizontal wall with right-fade marquee, interactive Fae chips that pause on hover
8
+ - **`Plain`** — Static layout with no marquee or blur effects (consumer opt-out mode)
9
+ - **`Loading`** — Skeleton state with reserved lozenge slots, no chip content
10
+ - **`BrickAgentCapped`** — Brick layout capped at 2 rows for `agentSlug="mingo"`, chips split evenly across rows
11
+ - **`BrickFewActions`** — Brick layout collapse to single row when chip count is below one course
12
+ - **`BrickNarrowComposer`** — Brick layout adapted to a ~420px container, reduced duplication
13
+ - **`BrickSingleShortChip`** — Single narrow chip padded to overflow and scroll correctly
14
+ - **`BrickNonAgent`** — Brick layout without `agentSlug`, keeps exact `rows` count
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ import { QuickActionWall, interleave } from './components/chat/quick-action-wall'
20
+ import type { QuickActionChip, QuickActionThemeSpec } from './components/chat/quick-action-chip'
21
+
22
+ const MY_THEME: QuickActionThemeSpec = {
23
+ accent: 'var(--color-warning)',
24
+ lozenge: { label: 'IT', className: 'text-ods-warning' },
25
+ }
26
+
27
+ const chips: QuickActionChip[] = [
28
+ { id: 'reset-password', label: 'Reset a password', icon: { name: 'key' }, theme: MY_THEME },
29
+ { id: 'vpn', label: 'VPN will not connect', icon: { name: 'globe' }, theme: MY_THEME },
30
+ ]
31
+
32
+ // Vertical scrolling wall with fade
33
+ <QuickActionWall
34
+ chips={chips}
35
+ lozenges
36
+ fade="bottom"
37
+ fadeColor="var(--color-bg-card)"
38
+ className="max-h-[180px]"
39
+ />
40
+
41
+ // Brick mode with drag-scroll and hover-pause
42
+ <QuickActionWall
43
+ chips={chips}
44
+ agentSlug="mingo"
45
+ rows={4}
46
+ pauseOnHover
47
+ dragScroll
48
+ fade={['left', 'right']}
49
+ fadeColor="var(--color-bg)"
50
+ className="max-h-44"
51
+ />
52
+ ```
53
+
54
+ > **Note:** Theme specs (`accent`, `lozenge`) are caller-supplied per chip — the library ships no theme registry or defaults.
55
+
56
+ ## Source
57
+
58
+ [`QuickActionWall.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/QuickActionWall.stories.tsx)
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 72d41aa10f4798e2928e546b0358d618 -->
2
+ Storybook stories for the `RoadmapCard` component, covering all three roadmap doc types (`roadmap_item`, `delivery_item`, `internal_task`) across both `sm` (chat-inline) and `default` (full rich card) size variants.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Size | Card Type | Description |
7
+ |---|---|---|---|
8
+ | `RoadmapItemSm` | `sm` | `roadmap_item` | Feature item in chat-inline variant |
9
+ | `DeliveryItemSm` | `sm` | `delivery_item` | Delivery item in chat-inline variant |
10
+ | `InternalTaskSm` | `sm` | `internal_task` | Internal task in chat-inline variant |
11
+ | `RoadmapItemDefault` | `default` | `roadmap_item` | Full rich card with vote buttons and screenshot gallery |
12
+
13
+ ## Usage Example
14
+
15
+ ```typescript
16
+ import { RoadmapCard } from '../components/chat/entity-cards'
17
+
18
+ // Chat-inline (sm) — feature roadmap item
19
+ <RoadmapCard
20
+ item={roadmapFeatureItem}
21
+ href={`/roadmap/${roadmapFeatureItem.id}`}
22
+ size="sm"
23
+ cardType="roadmap_item"
24
+ target="_blank"
25
+ rel="noopener noreferrer"
26
+ />
27
+
28
+ // Full rich card (default) — public roadmap page
29
+ <RoadmapCard
30
+ item={roadmapFeatureItem}
31
+ size="default"
32
+ cardType="roadmap_item"
33
+ />
34
+ ```
35
+
36
+ ## Notes
37
+
38
+ - All stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout context.
39
+ - The `cardType` prop drives the icon shape in `sm` variant (Feature / Delivery / Bug-shaped task).
40
+ - `default` size renders vote buttons and a screenshot gallery; vote handlers are stubbed in chat context.
41
+ - Fixture data is sourced from [`./__fixtures__/chat-cards`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/stories/__fixtures__/chat-cards.ts).
@@ -1,31 +1,51 @@
1
- <!-- source-hash: fe5ee5e74229fbc813833a5d6c81b725 -->
2
- Storybook configuration for the ShellTypeBadge component, defining visual documentation and interactive examples for all supported OpenFrame RMM shell types including PowerShell, CMD, Bash, Python, Nushell, Deno, and generic Shell.
1
+ <!-- source-hash: 9148d72b6db0cfd294a2461f5793d1ce -->
2
+ Storybook stories for the `ShellTypeBadge` component, providing interactive documentation and visual testing for all supported OpenFrame RMM shell/script type badges.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Meta Configuration**: Storybook metadata with component description, layout settings, and argument controls
7
- - **Story Variants**: Individual stories for each shell type (PowerShell, CMD, Bash, Python, Nushell, Deno, Shell)
8
- - **AllShellTypes Story**: Composite story displaying all shell type badges for visual comparison
9
- - **ArgTypes**: Interactive controls for `shellType` selection and `className` customization
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `meta` | `Meta<ShellTypeBadge>` | Storybook metadata with `select` control for `shellType` and autodocs enabled |
9
+ | `Default` | `Story` | Default story using `POWERSHELL` |
10
+ | `PowerShell` | `Story` | PowerShell badge variant |
11
+ | `Cmd` | `Story` | CMD/Batch badge variant |
12
+ | `Bash` | `Story` | Bash badge variant |
13
+ | `Python` | `Story` | Python badge variant |
14
+ | `Nushell` | `Story` | Nushell badge variant |
15
+ | `Deno` | `Story` | Deno badge variant |
16
+ | `Shell` | `Story` | Generic shell badge variant |
17
+ | `AllShellTypes` | `Story` | Composite story rendering all seven variants stacked for side-by-side comparison |
10
18
 
11
19
  ## Usage Example
12
20
 
13
21
  ```typescript
14
- // Import the stories for Storybook development
15
- import { Default, AllShellTypes } from './ShellTypeBadge.stories';
16
-
17
- // The component is documented with these story configurations:
18
- // - Individual shell type examples
19
- // - Interactive controls for testing different shell types
20
- // - Visual comparison of all supported shell types
21
-
22
- // Story structure provides:
23
- const exampleStory = {
24
- args: {
25
- shellType: 'POWERSHELL', // One of the supported ShellType values
26
- className: 'custom-class' // Optional additional styling
27
- }
28
- };
22
+ // Render a single badge in your component
23
+ import { ShellTypeBadge } from '../components/platform/ShellTypeBadge';
24
+
25
+ <ShellTypeBadge shellType="PYTHON" />
26
+
27
+ // Supported shellType values
28
+ const shellTypes = [
29
+ 'POWERSHELL',
30
+ 'CMD',
31
+ 'BASH',
32
+ 'PYTHON',
33
+ 'NUSHELL',
34
+ 'DENO',
35
+ 'SHELL',
36
+ ] as const;
29
37
  ```
30
38
 
31
- The stories provide comprehensive visual documentation for the ShellTypeBadge component, making it easy for developers to understand the available shell types and see how each badge renders with its appropriate icon and styling.
39
+ ## Supported Shell Types
40
+
41
+ | `shellType` | Description |
42
+ |---|---|
43
+ | `POWERSHELL` | Windows PowerShell / PowerShell Core |
44
+ | `CMD` | Windows CMD / Batch scripts |
45
+ | `BASH` | Unix/Linux Bash shell |
46
+ | `PYTHON` | Python scripts |
47
+ | `NUSHELL` | Nushell modern shell |
48
+ | `DENO` | Deno TypeScript runtime |
49
+ | `SHELL` | Generic shell fallback |
50
+
51
+ **Source:** [`ShellTypeBadge.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ShellTypeBadge.stories.tsx)
@@ -0,0 +1,42 @@
1
+ <!-- source-hash: c2739c86036e406bd419b03f561d1e70 -->
2
+ Storybook stories for `SlackMessageCard`, a chat entity card component that renders inline previews of Slack messages (`slack_message` doc type) in two layout variants.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Compact` | `Story` | Card rendered inline within a chat message bubble |
9
+ | `RowVariant` | `Story` | Card rendered in list/row contexts |
10
+
11
+ ## Usage Example
12
+
13
+ ```typescript
14
+ import { SlackMessageCard } from '../components/chat/entity-cards'
15
+ import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
16
+ import { slackMessageItem } from './__fixtures__/chat-cards'
17
+
18
+ // Compact — inline chat usage
19
+ <SlackMessageCard
20
+ item={slackMessageItem}
21
+ variant="compact"
22
+ anchorProps={makeAnchorProps(slackMessageItem.url ?? '#')}
23
+ />
24
+
25
+ // Row — list context usage
26
+ <SlackMessageCard
27
+ item={slackMessageItem}
28
+ variant="row"
29
+ anchorProps={makeAnchorProps(slackMessageItem.url ?? '#')}
30
+ />
31
+ ```
32
+
33
+ ## Notes
34
+
35
+ - Previews are **PII-sanitized server-side** before reaching this component — it is purely presentational.
36
+ - Both stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout context.
37
+ - `anchorProps` is generated via `makeAnchorProps`, which derives link behavior from the item's URL.
38
+ - Stories are grouped under `Chat/EntityCards/SlackMessageCard` in the Storybook sidebar.
39
+
40
+ ## Source
41
+
42
+ [`SlackMessageCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/SlackMessageCard.stories.tsx)
@@ -1,41 +1,31 @@
1
- <!-- source-hash: 1c7447069bb7b63321514a5ef06052ac -->
2
- Storybook stories for the `SlashCommandSuggestions` chat autocomplete component, providing visual test cases for the `/`-triggered command dropdown used in the Flamingo/OpenFrame chat interface.
1
+ <!-- source-hash: 1a5069303b8ed13eb9814a0faafa1f13 -->
2
+ Storybook stories for the `SlashCommandSuggestions` chat autocomplete dropdown, covering static, interactive, filtered, and no-action variants.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### Stories
7
-
8
- | Story | Description |
9
- |-------|-------------|
10
- | `Default` | Full command list with the first row statically highlighted |
11
- | `Interactive` | Live hover-driven highlight via `useState`, mimics keyboard navigation |
12
- | `FilteredSingle` | Single result row, simulates typing `/road` to filter |
13
- | `NoActions` | Hides action chips when `onAction` is `undefined`, row becomes click-only |
14
-
15
- ### Sample Data (`SAMPLE_COMMANDS`)
16
-
17
- 14 `SlashCommandSummary` entries covering all production `/api/docs/commands` sources: ClickUp (`roadmap`, `delivery`), GitHub (`commits`, `pull-requests`, `pr-reviews`), Slack (`slack`), and OpenFrame content types (`docs`, `blogs`, `releases`, `case-studies`, `getting-started`, `webinars`, `events`, `podcasts`). Each entry includes `iconName` keys wired to the `resolveOnboardingIcon` registry.
6
+ - **`Default`** — Full command list rendered with the first row highlighted; logs `select` and `action` events to the console.
7
+ - **`Interactive`** — Stateful story using `useState` to track `highlightedIdx`; hover over rows to drive keyboard-style highlight changes.
8
+ - **`FilteredSingle`** Renders only the first command, simulating a typed filter such as `/road`.
9
+ - **`NoActions`** — Omits the `onAction` handler, causing each row's chip rail to collapse to click-only behavior.
10
+ - **`SAMPLE_COMMANDS`** — Fixture array of 14 `SlashCommandSummary` objects using live icon keys (`clickup`, `github`, `slack`, `openframe`, `rocket`, `briefcase`, `graduation-cap`, `video`, `headphones`, `calendar`, `newspaper`) that match the production `/api/docs/commands` contract.
18
11
 
19
12
  ## Usage Example
20
13
 
21
14
  ```typescript
22
- // Render the interactive story manually outside Storybook
23
15
  import { SlashCommandSuggestions } from '../components/chat/slash-command-suggestions'
24
- import { useState } from 'react'
25
-
26
- export function Demo() {
27
- const [idx, setIdx] = useState(0)
28
-
29
- return (
30
- <SlashCommandSuggestions
31
- commands={SAMPLE_COMMANDS}
32
- highlightedIdx={idx}
33
- onHover={setIdx}
34
- onSelect={(cmd) => console.log('selected:', cmd.id)}
35
- onAction={(cmd, actionId) => console.log('action:', cmd.id, actionId)}
36
- />
37
- )
38
- }
16
+
17
+ // Minimal controlled usage matching the story pattern
18
+ const [highlightedIdx, setHighlightedIdx] = useState(0)
19
+
20
+ <SlashCommandSuggestions
21
+ commands={filteredCommands}
22
+ highlightedIdx={highlightedIdx}
23
+ onHover={setHighlightedIdx}
24
+ onSelect={(cmd) => handleSelect(cmd)}
25
+ onAction={(cmd, actionId) => handleAction(cmd, actionId)}
26
+ />
39
27
  ```
40
28
 
41
- The decorator wraps every story in a `640px` container with a mock chat input row below, replicating the `absolute bottom-full` anchor behavior of the real `ChatInput` component.
29
+ The decorator wraps every story in a `640px` container with a mock chat input row (`/`) so the dropdown's `absolute bottom-full` positioning anchors correctly, replicating the in-app `ChatInput` context.
30
+
31
+ **Source:** [`SlashCommandSuggestions.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/SlashCommandSuggestions.stories.tsx)
@@ -1,21 +1,26 @@
1
- <!-- source-hash: b262c529e121e8f3f9e9aa107480cd1a -->
2
- Storybook stories for the `SplitButton` component, showcasing all supported variants, sizes, states, and icon configurations for visual testing and documentation.
1
+ <!-- source-hash: 454a0a0b449298a9b90b4299b2cca4e2 -->
2
+ Storybook stories for the `SplitButton` component, covering all visual variants, sizes, states, and interaction patterns available in the UI library.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Description |
7
- |--------|-------------|
8
- | `Accent` | Default accent variant with external link icon action |
9
- | `Outline` | Outline variant with new-tab icon action |
10
- | `Transparent` | Transparent variant with new-tab icon action |
11
- | `Destructive` | Destructive variant with trash icon and overflow menu |
12
- | `SizeSmall` | Small size variant demonstration |
13
- | `AsLink` | Button rendered as an anchor (`href`) with icon action |
14
- | `WithLeftIcon` | Main button with a left-side icon and dropdown action |
15
- | `Disabled` | Fully disabled state for the entire component |
7
+ |---|---|
8
+ | `Accent` | Default accent-colored split button with external link icon action |
9
+ | `Outline` | Outline-styled split button with new-tab action |
10
+ | `Transparent` | Ghost-style split button |
11
+ | `Destructive` | Red destructive variant with trash icon and overflow menu |
12
+ | `Warning` | Warning variant for cautious actions |
13
+ | `SizeSmall` | Compact `small` size variant |
14
+ | `AsLink` | Main button rendered as an anchor (`href`) |
15
+ | `WithLeftIcon` | Split button with a leading icon on the primary label |
16
+ | `Disabled` | Fully disabled state |
16
17
  | `IconActionDisabled` | Only the secondary icon action is disabled |
17
- | `AllVariants` | Grid showcasing all 4 variants × default/disabled × default/small sizes |
18
- | `TwoActions` | Composite example combining link navigation and dropdown actions |
18
+ | `AllVariants` | Grid rendering all 5 variants × 2 sizes × enabled/disabled |
19
+ | `TwoActions` | Side-by-side real-world usage examples |
20
+
21
+ **Shared action presets:**
22
+ - `newTabAction` — icon action that navigates to an external URL in a new tab
23
+ - `dropdownAction` — icon action that triggers a dropdown menu callback
19
24
 
20
25
  ## Usage Example
21
26
 
@@ -23,21 +28,21 @@ Storybook stories for the `SplitButton` component, showcasing all supported vari
23
28
  import { SplitButton } from '../components/ui/button'
24
29
  import { FloppyDiscIcon as Save, Chevron01DownIcon as ChevronDown } from '../components/icons-v2-generated'
25
30
 
26
- // Main action button with a secondary icon action
31
+ // Primary action + secondary dropdown toggle
27
32
  <SplitButton
28
33
  variant="accent"
29
34
  leftIcon={<Save />}
30
35
  onClick={() => handleSave()}
31
36
  iconAction={{
32
37
  icon: <ChevronDown />,
33
- 'aria-label': 'More save options',
34
- onClick: () => openMenu(),
38
+ 'aria-label': 'Save options',
39
+ onClick: () => openSaveMenu(),
35
40
  }}
36
41
  >
37
42
  Save
38
43
  </SplitButton>
39
44
 
40
- // Rendered as a link with external open icon action
45
+ // Link-based split button opening a new tab
41
46
  <SplitButton
42
47
  variant="outline"
43
48
  href="/docs"
@@ -52,11 +57,4 @@ import { FloppyDiscIcon as Save, Chevron01DownIcon as ChevronDown } from '../com
52
57
  </SplitButton>
53
58
  ```
54
59
 
55
- ## Controls
56
-
57
- | Prop | Type | Options |
58
- |------|------|---------|
59
- | `variant` | select | `accent`, `outline`, `transparent`, `destructive` |
60
- | `size` | select | `default`, `small` |
61
- | `fullWidth` | boolean | — |
62
- | `disabled` | boolean | — |
60
+ **Source:** [`SplitButton.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/SplitButton.stories.tsx)
@@ -0,0 +1,65 @@
1
+ <!-- source-hash: be32aae0da53559f0ef6e07a329fe02d -->
2
+ Storybook stories for the `StackedRowsPanel` component, demonstrating its key layout variants including header cards, standard tables, single rows, info banners, and panels with nested data tables.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `HeaderCard` | Full-width title/description row paired with a multi-column metadata row |
9
+ | `StandardTable` | Uniform multi-column rows with avatar, name/email, role, and status tag |
10
+ | `SingleRow` | Single row that rounds all four corners |
11
+ | `InfoBanner` | Row with a leading icon aligned against two text lines |
12
+ | `WithNestedTable` | Panel row hosting an arbitrary node — in this case a nested `DataTable` |
13
+ | `NestedDevicesTable` | Internal helper rendering a `DataTable` with device name and compliance status |
14
+
15
+ ## Usage Example
16
+
17
+ ```typescript
18
+ import { StackedRowsPanel } from '../components/ui/stacked-rows-panel'
19
+ import { Tag } from '../components/ui/tag'
20
+
21
+ // Simple header card
22
+ <StackedRowsPanel
23
+ rows={[
24
+ {
25
+ id: 'title',
26
+ columns: [
27
+ {
28
+ key: 'description',
29
+ value: 'Monitors sustained high CPU utilization',
30
+ label: 'Description',
31
+ },
32
+ ],
33
+ },
34
+ {
35
+ id: 'meta',
36
+ columns: [
37
+ { key: 'severity', value: 'Critical', label: 'Severity' },
38
+ {
39
+ key: 'status',
40
+ value: <Tag label="Failing" variant="error" />,
41
+ label: 'Status',
42
+ },
43
+ ],
44
+ },
45
+ ]}
46
+ />
47
+
48
+ // Single row — all four corners rounded
49
+ <StackedRowsPanel
50
+ rows={[
51
+ { id: 'only', columns: [{ key: 'policy', value: 'High CPU Usage >85%', label: 'Policy' }] },
52
+ ]}
53
+ />
54
+ ```
55
+
56
+ ## Notes
57
+
58
+ - **Corner rounding** is automatic: a single row rounds all corners; multiple rows round only the first row's top and last row's bottom corners.
59
+ - **Column slots** accept either `value`/`label` text pairs or an arbitrary `content` node.
60
+ - The `hideAt` prop on a column controls responsive visibility (e.g., `hideAt: 'md'`).
61
+ - The `leadingIcon` prop centers a glyph vertically against both value and label lines.
62
+
63
+ ## Source
64
+
65
+ [`StackedRowsPanel.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/StackedRowsPanel.stories.tsx)
@@ -1,35 +1,21 @@
1
- <!-- source-hash: eea14186773eb206e54d1ffb8e785935 -->
2
- Storybook stories for the `TabSelector` UI component, showcasing all supported variants, states, and composition patterns.
1
+ <!-- source-hash: 60b03abb76c9523e1bee39c6f559e738 -->
2
+ Storybook stories for the `TabSelector` UI component, covering all visual variants, states, and real-world usage patterns.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### Exported Stories
7
-
8
- | Story | Description |
9
- |-------|-------------|
10
- | `Primary` | Accent background on active tab (default variant) |
11
- | `Secondary` | Soft grey background on active tab |
12
- | `FiveTabs` | Full 5-tab layout matching Figma spec |
13
- | `WithIcons` | Tabs with Lucide icon prefixes |
14
- | `WithLabel` | Optional label rendered above the selector |
15
- | `WithDisabled` | Single tab disabled via `disabled` item property |
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Primary` | Active tab with accent background (primary variant) |
9
+ | `Secondary` | Active tab with soft grey background (secondary variant) |
10
+ | `FiveTabs` | Full five-tab layout matching Figma design spec |
11
+ | `WithIcons` | Tabs rendered with Lucide icon elements |
12
+ | `WithLabel` | Selector with an optional label rendered above |
13
+ | `WithDisabled` | Single tab item marked as `disabled: true` |
16
14
  | `Disabled` | Entire selector disabled via top-level `disabled` prop |
17
15
  | `TwoTabs` | Minimal two-tab configuration |
18
- | `PlatformExample` | Real-world OS platform picker with icons and label |
19
- | `VariantComparison` | Side-by-side `accent` vs `secondary` rendering |
20
- | `WithBadges` | Tabs with badge slots (e.g., "Soon" pill on Enterprise) |
21
-
22
- ### `TabSelectorItem` Shape
23
-
24
- ```typescript
25
- interface TabSelectorItem {
26
- id: string;
27
- label: string;
28
- icon?: React.ReactNode;
29
- disabled?: boolean;
30
- badge?: React.ReactNode;
31
- }
32
- ```
16
+ | `PlatformExample` | Real-world OS picker with icons and a label |
17
+ | `VariantComparison` | Side-by-side `primary` and `secondary` variant display |
18
+ | `WithBadges` | Tabs with inline badge elements (e.g. "Soon" label on a disabled tab) |
33
19
 
34
20
  ## Usage Example
35
21
 
@@ -37,22 +23,22 @@ interface TabSelectorItem {
37
23
  import { TabSelector, type TabSelectorItem } from '../components/ui/tab-selector';
38
24
  import { useState } from 'react';
39
25
 
40
- const platforms: TabSelectorItem[] = [
41
- { id: 'windows', label: 'Windows', icon: <Monitor className="w-5 h-5" /> },
42
- { id: 'macos', label: 'macOS', icon: <Apple className="w-5 h-5" /> },
43
- { id: 'linux', label: 'Linux', icon: <Globe className="w-5 h-5" />, disabled: true },
26
+ const items: TabSelectorItem[] = [
27
+ { id: 'windows', label: 'Windows' },
28
+ { id: 'macos', label: 'macOS' },
29
+ { id: 'linux', label: 'Linux', disabled: true },
44
30
  ];
45
31
 
46
32
  export function PlatformPicker() {
47
- const [platform, setPlatform] = useState('macos');
33
+ const [platform, setPlatform] = useState('windows');
48
34
 
49
35
  return (
50
36
  <TabSelector
51
- label="Select Platform"
52
- variant="primary" // 'primary' | 'secondary'
53
37
  value={platform}
54
38
  onValueChange={setPlatform}
55
- items={platforms}
39
+ items={items}
40
+ variant="primary"
41
+ label="Select Platform"
56
42
  />
57
43
  );
58
44
  }
@@ -60,6 +46,8 @@ export function PlatformPicker() {
60
46
 
61
47
  ## Notes
62
48
 
63
- - All stories use a controlled `useState` render function to ensure interactive tab switching works correctly in Storybook.
64
- - The decorator wraps every story in a `600px` wide container to match typical usage contexts.
65
- - Badge content accepts any `React.ReactNode`, allowing custom pills, icons, or counters per tab.
49
+ - All stories use a stateful `Render` wrapper so tab selection is interactive inside Storybook.
50
+ - The `WithBadges` story demonstrates the `badge` prop on `TabSelectorItem`, which accepts any React node and is suitable for status indicators.
51
+ - The decorator wraps every story in a `600px` container to match typical usage widths.
52
+
53
+ **Source:** [`TabSelector.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TabSelector.stories.tsx)