@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,45 @@
1
+ <!-- source-hash: d9d0bd3ed94737e7f33194b665ee6cf9 -->
2
+ Storybook stories for the `ErrorMessageDisplay` chat component, covering error, warning, and info severity variants with and without expandable details.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `WithDetails` | Error card with an expandable details section (chevron toggle visible) |
9
+ | `TitleOnly` | Minimal error card — title row only, no chevron, non-interactive |
10
+ | `Warning` | Yellow-tinted warning variant with expandable details |
11
+ | `Info` | Grey-tinted info variant with expandable details |
12
+
13
+ ## Usage Example
14
+
15
+ ```typescript
16
+ import { ErrorMessageDisplay } from "../components/chat/error-message-display";
17
+
18
+ // Error with expandable details
19
+ <ErrorMessageDisplay
20
+ title="Tool execution failed"
21
+ details="run_script exited with code 1: brew not found on this endpoint."
22
+ />
23
+
24
+ // Warning variant
25
+ <ErrorMessageDisplay
26
+ type="warning"
27
+ title="Approval expired"
28
+ details="The approval request timed out after 15 minutes."
29
+ />
30
+
31
+ // Info variant — no details, title-only row
32
+ <ErrorMessageDisplay
33
+ type="info"
34
+ title="Session resumed"
35
+ />
36
+ ```
37
+
38
+ ## Notes
39
+
40
+ - **`type` prop** controls icon tint: `"error"` → red, `"warning"` → yellow, `"info"` → grey. Defaults to `"error"`.
41
+ - **`details` prop** is optional. When omitted the chevron is hidden and the row is non-interactive (`TitleOnly` story).
42
+ - The `plainDecorator` wraps each story in a `max-w-[640px]` container with the design-system background token (`--color-bg`) to approximate chat-panel rendering.
43
+ - Stories are tagged `autodocs` — Storybook auto-generates a prop table from the component's TypeScript types.
44
+
45
+ **Source:** [`ErrorMessageDisplay.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ErrorMessageDisplay.stories.tsx)
@@ -1,33 +1,34 @@
1
- <!-- source-hash: 997a920fba0072bc3666a97dfbeeae72 -->
2
- Storybook stories for the `FilterModal` component, covering all major prop combinations including filter groups, sorting, tag key:value filters, loading states, and interactive stateful examples.
1
+ <!-- source-hash: 9509e44233b791e36e569c6416edb3ad -->
2
+ Storybook stories file for the `FilterModal` component, demonstrating all supported configurations including filter groups, sorting, tag key:value filtering, and interactive state management.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### Exported Stories
6
+ **Exported Stories**
7
7
 
8
8
  | Story | Description |
9
- |-------|-------------|
9
+ |---|---|
10
10
  | `Default` | Basic modal with status filter group and pre-selected filters |
11
11
  | `Interactive` | Stateful example with open/close toggle and live filter count |
12
- | `MultipleGroups` | Modal with several filter groups (statuses, types, OS) |
13
- | `WithoutCounts` | Filter options rendered without item counts |
14
- | `WithSorting` | Combined sort columns + filter groups |
12
+ | `MultipleGroups` | Multiple filter group categories (statuses, device types, OS) |
13
+ | `WithoutCounts` | Filter options without item counts |
14
+ | `WithSorting` | Combined sort columns and filter groups |
15
15
  | `SortingOnly` | Sort configuration with no filter groups |
16
- | `InteractiveWithSorting` | Stateful sort + filter with live sort display |
16
+ | `InteractiveWithSorting` | Stateful sort + filter with live sort indicator |
17
17
  | `EmptyFilters` | Filter groups present but nothing selected |
18
- | `NoFiltersAvailable` / `FullyEmpty` | Edge cases with no options or config |
19
- | `Loading` | Skeleton placeholder state during data fetch |
20
- | `WithTagFilter` | Tag key:value filter section alongside regular filters |
21
- | `TagFilterOnly` | Tag filters with no regular filter groups |
22
- | `FullFeatured` | All features combined: sort + filters + tags |
23
- | `InteractiveWithTags` | Fully interactive with tags, sort, and filters |
18
+ | `NoFiltersAvailable` | Modal open with no filter options |
19
+ | `FullyEmpty` | All optional props omitted |
20
+ | `Loading` | Skeleton loading state via `isLoading: true` |
21
+ | `WithTagFilter` | Tag key:value filter section alongside standard filters |
22
+ | `TagFilterOnly` | Tag filter without regular filter groups |
23
+ | `FullFeatured` | All features combined: sort + filters + tag filters |
24
+ | `InteractiveWithTags` | Fully stateful with tags, sort, and filters |
24
25
 
25
- ### Key Types Used
26
+ **Key Types Used**
26
27
 
27
- - `FilterGroup` — group id, title, and options array (with optional counts)
28
- - `SortConfig` — column definitions, active sort key, and direction
29
- - `TagKeyConfig` — tag key with label and selectable values
30
- - `TableFilters` — record mapping filter group ids to selected option ids
28
+ - `FilterGroup` — filter section with options, labels, and optional counts
29
+ - `SortConfig` — sort column list plus active sort key and direction
30
+ - `TagKeyConfig` — tag key with filterable values (e.g. `site:chicago`)
31
+ - `TableFilters` — active filter state as `Record<string, string[]>`
31
32
 
32
33
  ## Usage Example
33
34
 
@@ -47,7 +48,10 @@ const filterGroups: FilterGroup[] = [
47
48
  ]
48
49
 
49
50
  const sortConfig: SortConfig = {
50
- columns: [{ key: 'name', label: 'Name' }, { key: 'date', label: 'Date' }],
51
+ columns: [
52
+ { key: 'name', label: 'Name' },
53
+ { key: 'date', label: 'Date' },
54
+ ],
51
55
  sortBy: 'name',
52
56
  sortDirection: 'asc',
53
57
  }
@@ -60,13 +64,15 @@ function MyPage() {
60
64
  <FilterModal
61
65
  isOpen={isOpen}
62
66
  onClose={() => setIsOpen(false)}
63
- title="Sort and Filter"
64
67
  filterGroups={filterGroups}
65
68
  currentFilters={filters}
66
69
  onFilterChange={setFilters}
67
70
  sortConfig={sortConfig}
68
71
  onSort={(col, dir) => console.log(col, dir)}
72
+ isLoading={false}
69
73
  />
70
74
  )
71
75
  }
72
- ```
76
+ ```
77
+
78
+ **Source:** [`FilterModal.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/FilterModal.stories.tsx)
@@ -0,0 +1,50 @@
1
+ <!-- source-hash: b13dc32d405e2d773dba9e6f3c613739 -->
2
+ Storybook stories for `GenericEntityCard`, a fallback chat card renderer covering financial document types that don't require a bespoke UI. Each story demonstrates a distinct financial entity category with realistic fixture data.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `FinancialKpi` | `Story` | Renders a financial KPI summary card |
9
+ | `CapTable` | `Story` | Renders a capitalization table card |
10
+ | `ProfitLoss` | `Story` | Renders a profit & loss statement card |
11
+ | `BalanceSheet` | `Story` | Renders a balance sheet card |
12
+ | `CashFlow` | `Story` | Renders a cash flow statement card |
13
+
14
+ **Meta config:**
15
+ - `title`: `Chat/EntityCards/GenericEntityCard`
16
+ - `layout`: `fullscreen`
17
+ - Wrapped in `ChatColumnDecorator` to simulate the chat column context
18
+
19
+ ## Usage Example
20
+
21
+ ```typescript
22
+ import { GenericEntityCard } from '../components/chat/entity-cards'
23
+ import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
24
+ import { financialKpiItem } from './__fixtures__/chat-cards'
25
+
26
+ // Each story passes an `item` (entity data) and `anchorProps` (link behavior)
27
+ <GenericEntityCard
28
+ item={financialKpiItem}
29
+ anchorProps={makeAnchorProps(financialKpiItem.url ?? '#')}
30
+ />
31
+ ```
32
+
33
+ ## Story Structure Pattern
34
+
35
+ All stories share the same shape — only the fixture differs:
36
+
37
+ ```typescript
38
+ export const CapTable: Story = {
39
+ args: {
40
+ item: capTableItem, // entity data with facts[] + badge
41
+ anchorProps: makeAnchorProps(capTableItem.url ?? '#'), // anchor link props
42
+ },
43
+ }
44
+ ```
45
+
46
+ The `facts` array on each item drives the key-value strip at the card bottom; the `badge` field controls the colored chip displayed on the right.
47
+
48
+ ## Source
49
+
50
+ [`GenericEntityCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/GenericEntityCard.stories.tsx)
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: ec96cdad8bd44e2cf349d694fdfcb820 -->
2
+ Storybook stories for the `GitHubActivityCard` component, covering the three GitHub doc types (`github_commit`, `github_pull_request`, `github_pr_review`) in both `compact` and `row` display variants.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Commit` | Story rendering a GitHub commit card in `compact` variant |
9
+ | `PullRequest` | Story rendering a pull request card in `compact` variant |
10
+ | `PullRequestReview` | Story rendering a PR review card with `[review:STATE]` badge parsing in `compact` variant |
11
+ | `RowVariant` | Story rendering a pull request card in `row` variant |
12
+
13
+ **Decorators & Fixtures:**
14
+ - `ChatColumnDecorator` — wraps each story in a chat column layout
15
+ - `makeAnchorProps` — generates resolved anchor props from an item URL
16
+ - `githubCommitItem`, `githubPullRequestItem`, `githubPrReviewItem` — pre-built fixture data for each GitHub doc type
17
+
18
+ ## Usage Example
19
+
20
+ ```typescript
21
+ // Rendering GitHubActivityCard directly (as used in stories)
22
+ import { GitHubActivityCard } from '../components/chat/entity-cards'
23
+ import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
24
+ import { githubPullRequestItem } from './__fixtures__/chat-cards'
25
+
26
+ <GitHubActivityCard
27
+ item={githubPullRequestItem}
28
+ variant="compact" // or "row"
29
+ anchorProps={makeAnchorProps(githubPullRequestItem.url ?? '#')}
30
+ />
31
+ ```
32
+
33
+ ## Notes
34
+
35
+ - The component is **pure presentation** — callers are responsible for passing resolved `anchorProps`
36
+ - `owner/repo` is derived from the item URL when `item.repo` is omitted
37
+ - Long commit SHAs are automatically shortened
38
+ - PR review titles containing `[review:STATE]` markers drive the state badge color
39
+ - Stories are scoped under `Chat/EntityCards/GitHubActivityCard` in the Storybook sidebar
40
+
41
+ **Source:** [`GitHubActivityCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/GitHubActivityCard.stories.tsx)
@@ -0,0 +1,38 @@
1
+ <!-- source-hash: efd42b7951b9364bba2e80f38794e5df -->
2
+ Storybook stories for the `GuideWelcome` component, covering the guide-mode chat empty state with configurable quick actions, slash-command onboarding cards, and custom greeting copy.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Default` | `Story` | Full guide-mode empty state with slash-command list and quick-action chips |
9
+ | `NoCommands` | `Story` | Greeting and quick-action chips only, no slash-command list |
10
+ | `NoQuickActions` | `Story` | Slash-command list only, chip row omitted entirely |
11
+ | `CustomCopy` | `Story` | Overrides default `title` and `subtitle` greeting text |
12
+
13
+ **Supporting fixtures:**
14
+
15
+ - `SAMPLE_QUICK_ACTIONS` — Seven action chips demonstrating inline display and `⋯` overflow menu
16
+ - `SAMPLE_LIST` — Three `MingoOnboardingCard` entries (Product Releases, Blog Posts, Onboarding Guides) rendered inside a shared scroll region
17
+ - `ACTIONS` — Reusable Recent / Search / Find handlers passed to each card
18
+
19
+ ## Usage Example
20
+
21
+ ```typescript
22
+ // Render the default guide-mode empty state inside the decorator shell
23
+ <GuideWelcome
24
+ quickActions={SAMPLE_QUICK_ACTIONS}
25
+ onQuickAction={(action) => console.log('quick action', action.id)}
26
+ >
27
+ {SAMPLE_LIST}
28
+ </GuideWelcome>
29
+ ```
30
+
31
+ The shared decorator wraps every story in a `440×760px` dark panel that mimics the narrow guide drawer, with `GuideModeBanner` pinned at the top and the story content padded below it.
32
+
33
+ ## Notes
34
+
35
+ - `quickActions` and `onQuickAction` use `control: false` in `argTypes` — configure them directly in story `args`, not the Storybook controls panel.
36
+ - `GuideWelcome` ships no default quick actions; the chip row is omitted entirely when none are supplied (`NoQuickActions`).
37
+ - Figma reference: node `7532:328214`.
38
+ - Source: [`GuideWelcome.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/GuideWelcome.stories.tsx)
@@ -1,48 +1,58 @@
1
- <!-- source-hash: 5344552d615a3d0d05eef4235e82937c -->
2
- Storybook stories for the `Header` navigation component, covering dropdown behavior, SEO link visibility, and scroll auto-hide functionality.
1
+ <!-- source-hash: febe8e9eae91e12c08acbe71e368d956 -->
2
+ Storybook stories for the `Header` navigation component, covering dropdown behavior, SEO link visibility, auto-hide, and Mingo AI integration scenarios.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Type | Description |
7
- |--------|------|-------------|
7
+ |---|---|---|
8
8
  | `Default` | `Story` | Standard header with dropdown navigation and auto-hide enabled |
9
- | `DropdownOpen` | `Story` | Programmatically opens the first dropdown on mount for visual regression snapshots |
10
- | `SeoLinksAlwaysInDom` | `Story` | Live DOM inspector that counts `<a href>` anchors in the header, proving SEO crawler visibility regardless of dropdown state |
11
- | `FixedHeader` | `Story` | Header with `autoHide: false` remains fixed during scroll |
12
-
13
- **Shared fixtures:**
14
- - `flamingoLogo` — branded logo element using `FlamingoLogo` icon + DM Sans wordmark
15
- - `baseNavigation` — three-item nav config (`OpenFrame`, `OpenMSP`, `Company`) with nested dropdown children
16
- - `rightActions` — accent CTA button linking to `/signup`
9
+ | `DropdownOpen` | `Story` | Header with the first dropdown programmatically opened on mount |
10
+ | `SeoLinksAlwaysInDom` | `Story` | Live demo proving dropdown `<a>` links stay in the DOM when collapsed |
11
+ | `FixedHeader` | `Story` | Header with `autoHide: false`, stays fixed while scrolling |
12
+ | `WithMingoAi` | `Story` | Header with the Mingo AI launcher button enabled |
13
+ | `baseNavigation` | `HeaderConfig['navigation']` | Shared nav fixture with OpenFrame, OpenMSP, and Company items |
17
14
 
18
15
  ## Usage Example
19
16
 
20
17
  ```typescript
18
+ // Render the default header in a Next.js page
21
19
  import { Header } from '../components/navigation/header';
20
+ import { FlamingoLogo } from '../components/icons';
21
+ import { Button } from '../components/ui/button';
22
22
  import type { HeaderConfig } from '../types/navigation';
23
23
 
24
24
  const config: HeaderConfig = {
25
- logo: { element: <FlamingoLogo />, href: '/' },
25
+ logo: {
26
+ element: (
27
+ <div className="flex items-center gap-2">
28
+ <FlamingoLogo className="h-8 w-8" />
29
+ <span className="font-bold text-[18px]">Flamingo</span>
30
+ </div>
31
+ ),
32
+ href: '/',
33
+ },
26
34
  navigation: {
27
35
  position: 'center',
28
36
  items: [
29
- {
30
- id: 'docs',
31
- label: 'Docs',
32
- children: [
33
- { id: 'getting-started', label: 'Getting Started', href: '/docs/getting-started' },
34
- ],
35
- },
37
+ { id: 'company', label: 'Company', href: '/company' },
36
38
  ],
37
39
  },
38
40
  actions: {
39
- right: [<Button key="cta" variant="accent" href="/signup">Start Free Trial</Button>],
41
+ right: [
42
+ <Button key="cta" variant="accent" href="/signup">
43
+ Start Free Trial
44
+ </Button>,
45
+ ],
40
46
  },
41
47
  autoHide: true,
42
48
  mobile: { enabled: true, onToggle: () => {} },
43
49
  };
44
50
 
45
- <Header config={config} />
51
+ export default function Page() {
52
+ return <Header config={config} />;
53
+ }
46
54
  ```
47
55
 
48
- > **SEO note:** Dropdown children are always rendered in the DOM and hidden via CSS `visibility: hidden` + `aria-hidden`, keeping all `<a href>` links crawlable without JavaScript execution.
56
+ ## SEO Notes
57
+
58
+ Dropdown child links are always rendered in the DOM and hidden via CSS `visibility: hidden` rather than conditional rendering. This ensures crawlers index all navigation links regardless of dropdown state. The `SeoLinksAlwaysInDom` story demonstrates this with a live link counter that remains constant whether dropdowns are open or closed.
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 358ffdf181cff4b3e4624b75c91df29a -->
2
+ Storybook stories for the `HubspotTicketCard` chat entity card, covering all three doc type variants (`hubspot_ticket`, `hubspot_ticket_anon`, `hubspot_ticket_self`) and both layout modes.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Full` | Standard ticket card with all fields populated and a clickable anchor |
9
+ | `Anon` | Anonymous variant with `customerCompany` and `url` nulled out server-side, rendering as a non-clickable shell |
10
+ | `SelfTicket` | Ticket owned by the chatting user; admin URL stripped, status set to `NEW` |
11
+ | `ClosedTicket` | Ticket in `CLOSED`/`LOW` priority state with anchor |
12
+ | `RowVariant` | Same full data rendered in `row` layout instead of `compact` |
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ import { HubspotTicketCard } from '../components/chat/entity-cards'
18
+ import { hubspotTicketItem } from './__fixtures__/chat-cards'
19
+ import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
20
+
21
+ // Compact (default) — full ticket with link
22
+ <HubspotTicketCard
23
+ item={hubspotTicketItem}
24
+ variant="compact"
25
+ anchorProps={makeAnchorProps(hubspotTicketItem.url ?? '#')}
26
+ />
27
+
28
+ // Anon variant — server redacts sensitive fields before sending
29
+ <HubspotTicketCard
30
+ item={{ ...hubspotTicketItem, customerCompany: null, url: null }}
31
+ variant="compact"
32
+ />
33
+ ```
34
+
35
+ ## Notes
36
+
37
+ - The single `HubspotTicketCard` component handles all three doc types; field redaction (`customerCompany`, `url`) is performed server-side before the item reaches the card.
38
+ - Status and priority badges drive the visual treatment — stories cover `NEW`, `CLOSED`, `MEDIUM`, and `LOW` combinations.
39
+ - All stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout.
40
+
41
+ **Source:** [`HubspotTicketCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/HubspotTicketCard.stories.tsx)
@@ -1,22 +1,27 @@
1
- <!-- source-hash: 5b42d2668b0cbc76ddb288a5b0d0cf2b -->
2
- Storybook stories for the `InfoCard` UI component, demonstrating various configurations including disk usage, RAM stats, copyable network values, and a multi-card grid layout.
1
+ <!-- source-hash: c32546958851d971ee61fe36c097b05c -->
2
+ Storybook stories for the `InfoCard` component, demonstrating all supported variants including progress bars, copyable values, item icons, footers, and multi-card grid layouts.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Story | Description |
7
- |-------|-------------|
8
- | `DiskC` | SSD drive card with usage percentage and capacity, default progress bar |
9
- | `DiskD` | HDD drive card with warning/critical thresholds on the progress bar |
10
- | `PhysicalRAM` | RAM card showing DDR4 memory usage and capacity |
11
- | `WithCopyableValues` | Network info card with copyable hostname, IPv4, and MAC fields |
12
- | `Grid` | Three-column grid layout showcasing multiple `InfoCard` instances side by side |
6
+ | Export | Description |
7
+ |---|---|
8
+ | `DiskC` | Basic card with title, subtitle, usage items, and a progress bar |
9
+ | `DiskD` | Progress bar with `warningThreshold` and `criticalThreshold` thresholds configured |
10
+ | `PhysicalRAM` | RAM metric card showing the standard progress bar pattern |
11
+ | `WithCopyableValues` | Items with `copyable: true`, plus a footer with icon, logo, and external link |
12
+ | `WithItemIcon` | Inline icon rendered alongside individual item labels |
13
+ | `WithFooter` | Full footer with icon, signed-by text, logo, and a link |
14
+ | `WithFooterWithoutLink` | Footer without an external `link` href |
15
+ | `Grid` | Three `InfoCard` instances arranged in a responsive 3-column grid |
13
16
 
14
17
  ## Usage Example
15
18
 
16
19
  ```typescript
17
20
  import { InfoCard } from '../components'
21
+ import { ShieldCheckIcon } from '../components/icons-v2-generated/security'
22
+ import { FlamingoLogo } from '../components/icons'
18
23
 
19
- // Basic disk card with progress bar
24
+ // Basic card with progress bar
20
25
  <InfoCard
21
26
  data={{
22
27
  title: 'C:',
@@ -25,30 +30,36 @@ import { InfoCard } from '../components'
25
30
  { label: 'Current Usage', value: '42.6%' },
26
31
  { label: 'Capacity', value: '931 GB' },
27
32
  ],
28
- progress: { value: 42.6 },
33
+ progress: { value: 42.6, warningThreshold: 60, criticalThreshold: 85 },
29
34
  }}
30
35
  />
31
36
 
32
- // With warning/critical thresholds
33
- <InfoCard
34
- data={{
35
- title: 'D:',
36
- progress: {
37
- value: 62.3,
38
- warningThreshold: 60,
39
- criticalThreshold: 85,
40
- },
41
- items: [{ label: 'Current Usage', value: '62.3%' }],
42
- }}
43
- />
44
-
45
- // With copyable values
37
+ // Card with copyable values and footer
46
38
  <InfoCard
47
39
  data={{
48
40
  title: 'Network',
49
41
  items: [
50
42
  { label: 'IPv4', value: '192.168.1.100', copyable: true },
43
+ { label: 'Hostname', value: 'srv-prod-01', copyable: true },
44
+ {
45
+ label: 'toolType',
46
+ value: 'Fleet',
47
+ icon: <ShieldCheckIcon size={16} />,
48
+ },
51
49
  ],
50
+ footer: {
51
+ icon: <ShieldCheckIcon size={24} className="text-ods-success" />,
52
+ text: 'Signed by Flamingo',
53
+ logo: <FlamingoLogo width={24} height={24} />,
54
+ link: { href: 'https://github.com/flamingo-ai/fleetdm' },
55
+ },
52
56
  }}
53
57
  />
54
- ```
58
+ ```
59
+
60
+ ## Notes
61
+
62
+ - All stories wrap the card in a fixed-width `div` (`w-80` or `w-96`) to simulate real layout constraints.
63
+ - The `progress` object accepts an optional `warningThreshold` and `criticalThreshold` to change bar color at defined percentages.
64
+ - The `footer.link` property is optional; omitting it renders the footer without an external link anchor.
65
+ - Source: [`InfoCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/InfoCard.stories.tsx)
@@ -0,0 +1,48 @@
1
+ <!-- source-hash: f31b4ccb2870f56d7cfa24206432f5bf -->
2
+ Storybook stories for the `InfoCardRow` UI component, providing visual documentation and interactive examples with and without icons.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Default` | `Story` | Full row with company logo avatar, title/caption lead, and two stat sections with icons |
9
+ | `WithoutIcons` | `Story` | Text-only variant with all icon slots omitted |
10
+ | `meta` | `Meta` | Storybook metadata defining layout, argTypes, and component-level docs |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ import { InfoCardRow } from '../components/ui/info-card-row'
16
+ import { CheckCircleIcon } from '../components/icons-v2-generated/signs-and-symbols/check-circle-icon'
17
+ import { TagIcon } from '../components/icons-v2-generated/shopping/tag-icon'
18
+
19
+ // Full row with icons
20
+ <InfoCardRow
21
+ lead={{
22
+ title: 'Precision Accounting Partners',
23
+ caption: '847 devices',
24
+ icon: <img src="/logo.png" className="size-full object-cover" />,
25
+ }}
26
+ stats={[
27
+ {
28
+ title: 'Resolved this week',
29
+ caption: '312',
30
+ icon: <CheckCircleIcon className="text-ods-success" />,
31
+ },
32
+ {
33
+ title: 'Open tickets',
34
+ caption: '2',
35
+ icon: <TagIcon className="text-ods-text-secondary" />,
36
+ },
37
+ ]}
38
+ />
39
+ ```
40
+
41
+ ## Story Variants
42
+
43
+ - **`Default`** — Matches the Figma spec: gradient avatar in the lead slot, `CheckCircleIcon` and `TagIcon` in the stat sections.
44
+ - **`WithoutIcons`** — All `icon` props omitted; validates the text-only layout path.
45
+
46
+ The decorator constrains each story to a `max-w-[1024px]` container to reflect realistic dashboard widths. The component internally uses a 50/25/25 column split, collapses stat sections to a wrapped row on mobile, and shares inner borders between neighbouring sections.
47
+
48
+ > View the full source on GitHub: [`InfoCardRow.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/InfoCardRow.stories.tsx)
@@ -0,0 +1,55 @@
1
+ <!-- source-hash: 17cedfbecac10b0f21e310ac541210e2 -->
2
+ Storybook stories for the `InfoSection` component, demonstrating a labelled info card used in ticket detail views within the OpenFrame MSP platform.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `TicketDetails` | `Story` | Static story showing all row value types: plain text, text-with-avatar, assignee picker, and status dropdown |
9
+ | `Interactive` | `Story` | Live stateful story where assigning a user or changing status updates the card in place |
10
+
11
+ ## Usage Example
12
+
13
+ ```typescript
14
+ import { InfoSection, type InfoSectionRow } from '../components/ui/info-section';
15
+
16
+ const rows: InfoSectionRow[] = [
17
+ // Plain text
18
+ { id: 'customer', label: 'Customer', value: { text: 'Acme Corp', imageFallback: 'Acme Corp' } },
19
+
20
+ // Clickable text
21
+ { id: 'device', label: 'Device', value: { text: 'TB-156-SEA', onClick: () => navigate('/devices/TB-156-SEA') } },
22
+
23
+ // Inline assignee autocomplete
24
+ {
25
+ id: 'assigned',
26
+ label: 'Assigned',
27
+ value: { type: 'assignee', options: assigneeOptions, onAssign: (id) => handleAssign(id) },
28
+ },
29
+
30
+ // Inline status dropdown
31
+ {
32
+ id: 'status',
33
+ label: 'Status',
34
+ value: { type: 'status', status: 'AI_ASSISTANCE', options: statusOptions, onSelect: (id) => handleStatus(id) },
35
+ },
36
+
37
+ // Arbitrary node
38
+ { id: 'priority', label: 'Priority', value: { type: 'custom', content: <Badge>High</Badge> } },
39
+ ];
40
+
41
+ <InfoSection title="Ticket Details" rows={rows} />
42
+ ```
43
+
44
+ ## Row Value Types
45
+
46
+ | Type | Description |
47
+ |---|---|
48
+ | `text` | Plain string, optional `imageFallback` avatar, optional `onClick` |
49
+ | `assignee` | Autocomplete picker with `options`, `currentAssignee`, and `onAssign` callback |
50
+ | `status` | Dropdown with color-coded options, `status` key, and `onSelect` callback |
51
+ | `custom` | Any React node via `content` prop |
52
+
53
+ ## Source
54
+
55
+ [`InfoSection.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/InfoSection.stories.tsx)