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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (838) hide show
  1. package/dist/{chunk-H6DFCF44.cjs → chunk-22AED5IC.cjs} +82 -82
  2. package/dist/{chunk-H6DFCF44.cjs.map → chunk-22AED5IC.cjs.map} +1 -1
  3. package/dist/{chunk-MGKCS6KS.js → chunk-3WCARCI4.js} +2 -2
  4. package/dist/{chunk-LNKWY74S.cjs → chunk-4HL6UENH.cjs} +5 -5
  5. package/dist/{chunk-LNKWY74S.cjs.map → chunk-4HL6UENH.cjs.map} +1 -1
  6. package/dist/{chunk-Y3Y2DLNO.js → chunk-6UGYBCEN.js} +3 -3
  7. package/dist/{chunk-BBUEY73L.js → chunk-7I5B5PQ4.js} +6269 -5339
  8. package/dist/chunk-7I5B5PQ4.js.map +1 -0
  9. package/dist/{chunk-PSPWT2Q5.js → chunk-7LWXWXEY.js} +4 -4
  10. package/dist/{chunk-M7O74OWG.cjs → chunk-ACOU5YJI.cjs} +31 -31
  11. package/dist/{chunk-M7O74OWG.cjs.map → chunk-ACOU5YJI.cjs.map} +1 -1
  12. package/dist/{chunk-INDFIVDV.cjs → chunk-AHGSN4AT.cjs} +12 -12
  13. package/dist/{chunk-INDFIVDV.cjs.map → chunk-AHGSN4AT.cjs.map} +1 -1
  14. package/dist/{chunk-VTSRDC4W.js → chunk-CKC3EAYT.js} +2 -2
  15. package/dist/{chunk-SASR7SK5.js → chunk-GZK7FWJJ.js} +20 -4
  16. package/dist/chunk-GZK7FWJJ.js.map +1 -0
  17. package/dist/{chunk-ZRANZNEA.js → chunk-JJE5TUZK.js} +2 -2
  18. package/dist/{chunk-66BNAFO6.js → chunk-JQIUBFHL.js} +4 -4
  19. package/dist/{chunk-MMCBQJKE.cjs → chunk-KUBJHB6I.cjs} +11 -11
  20. package/dist/{chunk-MMCBQJKE.cjs.map → chunk-KUBJHB6I.cjs.map} +1 -1
  21. package/dist/{chunk-ZV6E3U3C.cjs → chunk-MRGTMMJ3.cjs} +30 -30
  22. package/dist/{chunk-ZV6E3U3C.cjs.map → chunk-MRGTMMJ3.cjs.map} +1 -1
  23. package/dist/{chunk-OZJN54R5.cjs → chunk-NWVKG7QC.cjs} +37 -37
  24. package/dist/{chunk-OZJN54R5.cjs.map → chunk-NWVKG7QC.cjs.map} +1 -1
  25. package/dist/{chunk-AN47EIIJ.cjs → chunk-PHTSSHIQ.cjs} +59 -59
  26. package/dist/{chunk-AN47EIIJ.cjs.map → chunk-PHTSSHIQ.cjs.map} +1 -1
  27. package/dist/{chunk-N2JZ33V7.cjs → chunk-RUA3OXSJ.cjs} +26 -26
  28. package/dist/{chunk-N2JZ33V7.cjs.map → chunk-RUA3OXSJ.cjs.map} +1 -1
  29. package/dist/{chunk-LK623WCC.cjs → chunk-RZPF7MJ2.cjs} +9 -9
  30. package/dist/{chunk-LK623WCC.cjs.map → chunk-RZPF7MJ2.cjs.map} +1 -1
  31. package/dist/{chunk-G3UN2DXU.cjs → chunk-STYA77PH.cjs} +20 -4
  32. package/dist/chunk-STYA77PH.cjs.map +1 -0
  33. package/dist/{chunk-JUJY3HQS.cjs → chunk-U37UTLP7.cjs} +19 -19
  34. package/dist/{chunk-JUJY3HQS.cjs.map → chunk-U37UTLP7.cjs.map} +1 -1
  35. package/dist/{chunk-2DIOV7BR.js → chunk-UPN6EFOM.js} +4 -4
  36. package/dist/{chunk-OWMLWJQY.cjs → chunk-VPVOJD5X.cjs} +2432 -1502
  37. package/dist/chunk-VPVOJD5X.cjs.map +1 -0
  38. package/dist/{chunk-4SMRQ4SN.js → chunk-WBL5Y4PS.js} +3 -3
  39. package/dist/{chunk-FP4H6Y5O.js → chunk-WPYPSIY2.js} +3 -3
  40. package/dist/{chunk-R5WJJL4V.js → chunk-X5X43HFV.js} +5 -5
  41. package/dist/{chunk-DEHZ5CTC.js → chunk-XTWKDMCG.js} +2 -2
  42. package/dist/components/case-studies/index.cjs +9 -9
  43. package/dist/components/case-studies/index.js +3 -3
  44. package/dist/components/chat/index.cjs +3 -3
  45. package/dist/components/chat/index.js +2 -2
  46. package/dist/components/contact/index.cjs +4 -4
  47. package/dist/components/contact/index.js +3 -3
  48. package/dist/components/docs/index.cjs +6 -6
  49. package/dist/components/docs/index.js +5 -5
  50. package/dist/components/embeds/index.cjs +4 -4
  51. package/dist/components/embeds/index.js +3 -3
  52. package/dist/components/faq/index.cjs +4 -4
  53. package/dist/components/faq/index.js +3 -3
  54. package/dist/components/features/captions-url.cjs +12 -0
  55. package/dist/components/features/captions-url.cjs.map +1 -0
  56. package/dist/components/features/captions-url.js +10 -0
  57. package/dist/components/features/captions-url.js.map +1 -0
  58. package/dist/components/features/card-hit-layer.d.ts +40 -0
  59. package/dist/components/features/card-hit-layer.d.ts.map +1 -0
  60. package/dist/components/features/floating-walkthrough-video.d.ts +71 -0
  61. package/dist/components/features/floating-walkthrough-video.d.ts.map +1 -0
  62. package/dist/components/features/index.cjs +11 -3
  63. package/dist/components/features/index.cjs.map +1 -1
  64. package/dist/components/features/index.d.ts +4 -0
  65. package/dist/components/features/index.d.ts.map +1 -1
  66. package/dist/components/features/index.js +12 -4
  67. package/dist/components/features/use-walkthrough-video.d.ts +16 -0
  68. package/dist/components/features/use-walkthrough-video.d.ts.map +1 -0
  69. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  70. package/dist/components/features/video-center-badge.d.ts.map +1 -1
  71. package/dist/components/features/video-hover-preview.d.ts +68 -0
  72. package/dist/components/features/video-hover-preview.d.ts.map +1 -0
  73. package/dist/components/features/video.d.ts +78 -40
  74. package/dist/components/features/video.d.ts.map +1 -1
  75. package/dist/components/form.d.ts +0 -1
  76. package/dist/components/form.d.ts.map +1 -1
  77. package/dist/components/help-center-pages/index.cjs +21 -21
  78. package/dist/components/help-center-pages/index.js +12 -12
  79. package/dist/components/index.cjs +163 -155
  80. package/dist/components/index.cjs.map +1 -1
  81. package/dist/components/index.js +18 -10
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/navigation/index.cjs +3 -3
  84. package/dist/components/navigation/index.js +2 -2
  85. package/dist/components/onboarding-guides/index.cjs +6 -6
  86. package/dist/components/onboarding-guides/index.js +5 -5
  87. package/dist/components/related-content/index.cjs +4 -4
  88. package/dist/components/related-content/index.js +3 -3
  89. package/dist/components/tickets/index.cjs +6 -6
  90. package/dist/components/tickets/index.js +5 -5
  91. package/dist/components/ui/button/button-styles.d.ts +2 -0
  92. package/dist/components/ui/button/button-styles.d.ts.map +1 -1
  93. package/dist/components/ui/button/button.d.ts +2 -2
  94. package/dist/components/ui/button/button.d.ts.map +1 -1
  95. package/dist/components/ui/file-manager/index.cjs +50 -50
  96. package/dist/components/ui/file-manager/index.js +1 -1
  97. package/dist/components/ui/index.cjs +3 -3
  98. package/dist/components/ui/index.js +2 -2
  99. package/dist/components/ui/page-actions.d.ts +2 -1
  100. package/dist/components/ui/page-actions.d.ts.map +1 -1
  101. package/dist/index.cjs +27 -3
  102. package/dist/index.cjs.map +1 -1
  103. package/dist/index.js +28 -4
  104. package/dist/types/supabase.d.ts +80 -0
  105. package/dist/types/supabase.d.ts.map +1 -1
  106. package/dist/types/video-processing.d.ts +1 -1
  107. package/dist/types/video-processing.d.ts.map +1 -1
  108. package/dist/utils/announcement-storage.d.ts +1 -1
  109. package/dist/utils/announcement-storage.d.ts.map +1 -1
  110. package/dist/utils/dismiss-cookie.d.ts +27 -0
  111. package/dist/utils/dismiss-cookie.d.ts.map +1 -0
  112. package/dist/utils/dismissal-storage.d.ts +19 -0
  113. package/dist/utils/dismissal-storage.d.ts.map +1 -0
  114. package/dist/utils/index.cjs +48 -10
  115. package/dist/utils/index.cjs.map +1 -1
  116. package/dist/utils/index.d.ts +2 -0
  117. package/dist/utils/index.d.ts.map +1 -1
  118. package/dist/utils/index.js +41 -11
  119. package/dist/utils/index.js.map +1 -1
  120. package/package.json +8 -2
  121. package/src/.index.md +39 -32
  122. package/src/.platform-domains.md +65 -0
  123. package/src/assets/.fae-avatar.md +33 -0
  124. package/src/assets/.index.md +15 -9
  125. package/src/components/.agent-mark.md +31 -0
  126. package/src/components/.announcement-bar.md +47 -35
  127. package/src/components/.calendar.md +19 -15
  128. package/src/components/.categories-cart.md +34 -30
  129. package/src/components/.category-card.md +33 -33
  130. package/src/components/.chart.md +38 -40
  131. package/src/components/.command.md +47 -23
  132. package/src/components/.comment-card.md +31 -26
  133. package/src/components/.content-loading-container.md +45 -20
  134. package/src/components/.context-menu.md +45 -31
  135. package/src/components/.date-time-picker.md +36 -30
  136. package/src/components/.empty-state.md +31 -31
  137. package/src/components/.faq-accordion.md +20 -30
  138. package/src/components/.filter-chip.md +36 -33
  139. package/src/components/.footer-waitlist-button.md +27 -21
  140. package/src/components/.footer.md +39 -24
  141. package/src/components/.form.md +32 -20
  142. package/src/components/.hero-image-uploader.md +35 -31
  143. package/src/components/.icon-display.md +53 -0
  144. package/src/components/.image-cropper.md +34 -33
  145. package/src/components/.index.md +25 -29
  146. package/src/components/.logs-list.md +27 -23
  147. package/src/components/.media-carousel.md +47 -26
  148. package/src/components/.metric-value.md +27 -24
  149. package/src/components/.msp-display.md +29 -23
  150. package/src/components/.open-source-features.md +23 -26
  151. package/src/components/.pagination.md +44 -39
  152. package/src/components/.persistent-filter-controls.md +61 -28
  153. package/src/components/.pricing-display.md +34 -33
  154. package/src/components/.results-count.md +33 -20
  155. package/src/components/.smooth-accordion.md +24 -20
  156. package/src/components/.social-icon-row.md +33 -21
  157. package/src/components/.sonner.md +40 -25
  158. package/src/components/.steps.md +39 -25
  159. package/src/components/.tool-icon.md +34 -21
  160. package/src/components/.unified-filter-logic.md +32 -36
  161. package/src/components/.user-display.md +33 -28
  162. package/src/components/.user-summary-stub.md +40 -33
  163. package/src/components/.vendor-display-button.md +17 -15
  164. package/src/components/.vendor-icon.md +17 -25
  165. package/src/components/.vendor-tag.md +39 -34
  166. package/src/components/.why-it-matters.md +15 -11
  167. package/src/components/.yes-no-display.md +36 -31
  168. package/src/components/authors/.author-detail-view.md +50 -0
  169. package/src/components/case-studies/.index.md +26 -0
  170. package/src/components/case-studies/.share-experience-section.md +45 -0
  171. package/src/components/chat/.approval-batch-message.md +48 -33
  172. package/src/components/chat/.approval-request-message.md +37 -26
  173. package/src/components/chat/.chat-archive-page.md +56 -0
  174. package/src/components/chat/.chat-attachment-bar.md +32 -40
  175. package/src/components/chat/.chat-composer.md +43 -0
  176. package/src/components/chat/.chat-container.md +41 -25
  177. package/src/components/chat/.chat-context-memory-bar.md +53 -0
  178. package/src/components/chat/.chat-context-picker.md +89 -0
  179. package/src/components/chat/.chat-header-icon-button.md +43 -0
  180. package/src/components/chat/.chat-header-search-field.md +51 -0
  181. package/src/components/chat/.chat-input.md +63 -30
  182. package/src/components/chat/.chat-list-empty-state.md +44 -0
  183. package/src/components/chat/.chat-message-enhanced.md +29 -31
  184. package/src/components/chat/.chat-message-list.md +34 -44
  185. package/src/components/chat/.chat-message-row.md +56 -0
  186. package/src/components/chat/.chat-message-skeleton.md +32 -26
  187. package/src/components/chat/.chat-panel-header-mobile.md +46 -0
  188. package/src/components/chat/.chat-panel-header.md +80 -0
  189. package/src/components/chat/.chat-sidebar-skeleton.md +31 -30
  190. package/src/components/chat/.chat-sidebar.md +36 -29
  191. package/src/components/chat/.chat-ticket-list.md +38 -23
  192. package/src/components/chat/.chat-typing-indicator.md +37 -19
  193. package/src/components/chat/.context-compaction-display.md +19 -15
  194. package/src/components/chat/.context-items-list.md +57 -0
  195. package/src/components/chat/.embeddable-chat.md +57 -66
  196. package/src/components/chat/.error-message-display.md +40 -22
  197. package/src/components/chat/.guide-mode-banner.md +41 -0
  198. package/src/components/chat/.guide-welcome.md +43 -0
  199. package/src/components/chat/.index.md +26 -21
  200. package/src/components/chat/.mingo-chat-history.md +63 -0
  201. package/src/components/chat/.mingo-chat-modals.md +44 -0
  202. package/src/components/chat/.mingo-history-rail.md +63 -0
  203. package/src/components/chat/.mingo-info-card.md +59 -0
  204. package/src/components/chat/.mingo-onboarding-card.md +21 -27
  205. package/src/components/chat/.mingo-welcome.md +60 -0
  206. package/src/components/chat/.model-display.md +33 -25
  207. package/src/components/chat/.msp-organization-card-skeleton.md +44 -0
  208. package/src/components/chat/.msp-organization-card.md +51 -0
  209. package/src/components/chat/.nav-link-anchor-via-runtime.md +36 -25
  210. package/src/components/chat/.quick-action-chip.md +60 -0
  211. package/src/components/chat/.quick-action-marquee.md +53 -0
  212. package/src/components/chat/.quick-action-wall.md +68 -0
  213. package/src/components/chat/.remark-mention-chips.md +41 -0
  214. package/src/components/chat/.slash-command-suggestions.md +30 -36
  215. package/src/components/chat/.source-action-button.md +28 -25
  216. package/src/components/chat/.tool-call-blocks.md +18 -30
  217. package/src/components/chat/.tool-execution-display.md +29 -34
  218. package/src/components/chat/entity-cards/.admin-content-card.md +29 -22
  219. package/src/components/chat/entity-cards/.blog-card.md +44 -33
  220. package/src/components/chat/entity-cards/.blog-image-placeholder.md +20 -18
  221. package/src/components/chat/entity-cards/.case-study-card.md +24 -33
  222. package/src/components/chat/entity-cards/.chat-ticket-item.md +39 -22
  223. package/src/components/chat/entity-cards/.customer-interview-card.md +29 -32
  224. package/src/components/chat/entity-cards/.data-room-doc-card.md +21 -22
  225. package/src/components/chat/entity-cards/.dispatch.md +41 -24
  226. package/src/components/chat/entity-cards/.entity-author-card.md +36 -33
  227. package/src/components/chat/entity-cards/.entity-portrait-card.md +47 -0
  228. package/src/components/chat/entity-cards/.generic-entity-card.md +26 -25
  229. package/src/components/chat/entity-cards/.github-activity-card.md +35 -41
  230. package/src/components/chat/entity-cards/.hubspot-ticket-card.md +22 -28
  231. package/src/components/chat/entity-cards/.index.md +33 -44
  232. package/src/components/chat/entity-cards/.investor-update-card.md +36 -25
  233. package/src/components/chat/entity-cards/.onboarding-guide-card.md +20 -29
  234. package/src/components/chat/entity-cards/.product-release-card-defaults.md +26 -19
  235. package/src/components/chat/entity-cards/.program-card.md +30 -33
  236. package/src/components/chat/entity-cards/.roadmap-card.md +40 -31
  237. package/src/components/chat/entity-cards/.roadmap-vote-button.md +33 -36
  238. package/src/components/chat/entity-cards/.slack-message-card.md +31 -32
  239. package/src/components/chat/entity-cards/.use-cover-image-fallback.md +47 -0
  240. package/src/components/chat/entity-cards/.use-entity-card-link.md +51 -0
  241. package/src/components/chat/entity-cards/.use-entity-card-placeholder.md +47 -0
  242. package/src/components/chat/entity-cards/.what-i-shipped-card.md +43 -0
  243. package/src/components/chat/hooks/.index.md +33 -30
  244. package/src/components/chat/hooks/.use-chat-card-item.md +30 -17
  245. package/src/components/chat/hooks/.use-chat-dialog-manager.md +59 -0
  246. package/src/components/chat/hooks/.use-chat-identity.md +37 -25
  247. package/src/components/chat/hooks/.use-chunk-catchup.md +53 -36
  248. package/src/components/chat/hooks/.use-empty-state-config.md +39 -0
  249. package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +65 -30
  250. package/src/components/chat/hooks/.use-nats-chat-adapter.md +55 -36
  251. package/src/components/chat/hooks/.use-nats-dialog-subscription.md +66 -50
  252. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +58 -31
  253. package/src/components/chat/hooks/.use-scripted-stream.md +46 -0
  254. package/src/components/chat/hooks/.use-slash-commands.md +32 -25
  255. package/src/components/chat/hooks/.use-sse-chat-adapter.md +32 -21
  256. package/src/components/chat/hooks/.use-unified-chat.md +45 -35
  257. package/src/components/chat/types/.api.types.md +49 -41
  258. package/src/components/chat/types/.chat.types.md +56 -34
  259. package/src/components/chat/types/.component.types.md +36 -36
  260. package/src/components/chat/types/.context-item.types.md +61 -0
  261. package/src/components/chat/types/.index.md +32 -17
  262. package/src/components/chat/types/.message.types.md +44 -45
  263. package/src/components/chat/types/.network.types.md +46 -46
  264. package/src/components/chat/types/.processing.types.md +49 -37
  265. package/src/components/chat/types/.unified-chat-state.types.md +41 -26
  266. package/src/components/chat/types/entities/.content-ref.md +20 -31
  267. package/src/components/chat/types/entities/.investor-update.md +14 -16
  268. package/src/components/chat/types/entities/.onboarding-guide.md +35 -34
  269. package/src/components/chat/types/entities/.program-types.md +55 -43
  270. package/src/components/chat/utils/.chip-action-class.md +17 -19
  271. package/src/components/chat/utils/.chip-styles.md +18 -18
  272. package/src/components/chat/utils/.chunk-parser.md +48 -37
  273. package/src/components/chat/utils/.compact-card-classes.md +33 -35
  274. package/src/components/chat/utils/.execute-navigation.md +49 -0
  275. package/src/components/chat/utils/.extract-incomplete-message-state.md +9 -12
  276. package/src/components/chat/utils/.history-merge.md +65 -0
  277. package/src/components/chat/utils/.icon-library.md +33 -31
  278. package/src/components/chat/utils/.icon-registry.md +44 -0
  279. package/src/components/chat/utils/.index.md +37 -33
  280. package/src/components/chat/utils/.is-cross-origin-url.md +26 -22
  281. package/src/components/chat/utils/.message-segment-accumulator.md +46 -25
  282. package/src/components/chat/utils/.nav-anchor-props.md +29 -34
  283. package/src/components/chat/utils/.nav-click-handler.md +29 -33
  284. package/src/components/chat/utils/.process-historical-messages.md +29 -33
  285. package/src/components/chat/utils/.scripted-stream.md +52 -0
  286. package/src/components/chat/utils/.source-row-cta.md +32 -31
  287. package/src/components/chat/utils/.tool-call-helpers.md +25 -17
  288. package/src/components/contact/.contact-form.md +24 -19
  289. package/src/components/docs/.doc-navigation-context.md +49 -0
  290. package/src/components/docs/.doc-viewer.md +64 -0
  291. package/src/components/docs/.docs-hub-page.md +49 -0
  292. package/src/components/docs/.index.md +51 -0
  293. package/src/components/docs/.skeletons.md +47 -0
  294. package/src/components/docs/.use-docs-resolve-link.md +61 -0
  295. package/src/components/docs/.use-document-tree.md +83 -0
  296. package/src/components/docs/.use-scroll-spy.md +58 -0
  297. package/src/components/embeds/.embed-container.md +45 -0
  298. package/src/components/embeds/.embed-iframe.md +51 -0
  299. package/src/components/embeds/.figma-embed.md +43 -0
  300. package/src/components/embeds/.file-download-card.md +47 -0
  301. package/src/components/embeds/.google-sheets-viewer.md +40 -0
  302. package/src/components/embeds/.index.md +58 -0
  303. package/src/components/embeds/.linkedin-embed-client.md +50 -0
  304. package/src/components/embeds/.markdown-image.md +40 -0
  305. package/src/components/embeds/.og-link-preview.md +54 -0
  306. package/src/components/embeds/.pdf-viewer.md +43 -0
  307. package/src/components/embeds/.reddit-embed-client.md +40 -0
  308. package/src/components/embeds/.rich-markdown-runtime.md +53 -0
  309. package/src/components/embeds/.twitter-embed-client.md +44 -0
  310. package/src/components/faq/.faq-document-page.md +68 -0
  311. package/src/components/faq/.faq-section.md +55 -0
  312. package/src/components/faq/.index.md +29 -0
  313. package/src/components/faq/.json-ld.md +48 -0
  314. package/src/components/features/.array-entry-manager.md +32 -24
  315. package/src/components/features/.auth-providers-list.md +33 -32
  316. package/src/components/features/.captions-url.md +43 -0
  317. package/src/components/features/.cards-strip.md +48 -0
  318. package/src/components/features/.changelog-manager.md +17 -20
  319. package/src/components/features/.command-box.md +11 -16
  320. package/src/components/features/.entity-summary-editor.md +20 -15
  321. package/src/components/features/.entity-tag-badges.md +43 -0
  322. package/src/components/features/.entity-video-section.md +31 -41
  323. package/src/components/features/.figma-prototype-viewer.md +55 -37
  324. package/src/components/features/.filters-dropdown.md +14 -13
  325. package/src/components/features/.highlight-config-section.md +19 -16
  326. package/src/components/features/.highlight-video-combined-section.md +28 -19
  327. package/src/components/features/.highlight-video-preview.md +13 -11
  328. package/src/components/features/.highlight-video-section.md +26 -22
  329. package/src/components/features/.index.md +40 -36
  330. package/src/components/features/.media-gallery-manager.md +37 -35
  331. package/src/components/features/.mux-origins.md +46 -0
  332. package/src/components/features/.og-editor-preview.md +29 -24
  333. package/src/components/features/.os-type-badge-group.md +26 -18
  334. package/src/components/features/.os-type-badge.md +41 -24
  335. package/src/components/features/.paths-display.md +42 -25
  336. package/src/components/features/.platform-badge.md +26 -17
  337. package/src/components/features/.policy-configuration-panel.md +33 -31
  338. package/src/components/features/.provider-button.md +29 -20
  339. package/src/components/features/.push-button-selector.md +39 -41
  340. package/src/components/features/.release-media-manager.md +41 -34
  341. package/src/components/features/.section-selector.md +27 -16
  342. package/src/components/features/.select-button.md +21 -32
  343. package/src/components/features/.seo-editor-preview.md +49 -36
  344. package/src/components/features/.social-links-manager.md +40 -18
  345. package/src/components/features/.start-with-openframe-button.md +30 -32
  346. package/src/components/features/.status-filter-component.md +29 -38
  347. package/src/components/features/.tags-selector.md +25 -29
  348. package/src/components/features/.transcript-summary-editor.md +24 -18
  349. package/src/components/features/.use-video-warmup.md +47 -0
  350. package/src/components/features/.video-bites-display.md +36 -37
  351. package/src/components/features/.video-bites-shared.md +44 -0
  352. package/src/components/features/.video-bites-strip.md +63 -0
  353. package/src/components/features/.video-center-badge.md +38 -0
  354. package/src/components/features/.video-ratio-tabs.md +38 -31
  355. package/src/components/features/.video-source-selector.md +24 -27
  356. package/src/components/features/.video.md +35 -27
  357. package/src/components/features/.waitlist-form.md +39 -33
  358. package/src/components/features/.warning-block.md +53 -0
  359. package/src/components/features/ai-enrich/.AIEnrichSection.md +24 -25
  360. package/src/components/features/ai-enrich/.AIRequiredBadge.md +22 -21
  361. package/src/components/features/ai-enrich/.AIStatusIndicator.md +42 -35
  362. package/src/components/features/ai-enrich/.AIWarningsSection.md +23 -20
  363. package/src/components/features/ai-enrich/.ConfidenceBadge.md +35 -20
  364. package/src/components/features/auth/.auth-benefits-panel.md +48 -0
  365. package/src/components/features/auth/.auth-branding.md +51 -0
  366. package/src/components/features/auth/.auth-shell.md +51 -0
  367. package/src/components/features/auth/.back-to-login-link.md +48 -0
  368. package/src/components/features/auth/.complete-account-form.md +45 -0
  369. package/src/components/features/auth/.create-organization-form.md +53 -0
  370. package/src/components/features/auth/.index.md +48 -0
  371. package/src/components/features/auth/.invite-link-invalid-modal.md +42 -0
  372. package/src/components/features/auth/.login-form.md +42 -0
  373. package/src/components/features/auth/.openframe-sso-login-form.md +46 -0
  374. package/src/components/features/auth/.openframe-sso-signup-form.md +51 -0
  375. package/src/components/features/auth/.password-reset-form.md +57 -0
  376. package/src/components/features/auth/.sso-auth-shell.md +35 -0
  377. package/src/components/features/auth/.sso-providers.md +42 -0
  378. package/src/components/features/auth/.terms-agreement-label.md +28 -0
  379. package/src/components/features/board/.board-column-header.md +24 -18
  380. package/src/components/features/board/.board-column.md +32 -32
  381. package/src/components/features/board/.board-ticket-approval.md +42 -0
  382. package/src/components/features/board/.board.md +38 -38
  383. package/src/components/features/board/.index.md +35 -38
  384. package/src/components/features/board/.ticket-card.md +33 -36
  385. package/src/components/features/board/.types.md +38 -31
  386. package/src/components/features/card-hit-layer.tsx +84 -0
  387. package/src/components/features/floating-walkthrough-video.tsx +891 -0
  388. package/src/components/features/index.ts +4 -0
  389. package/src/components/features/notifications/.approval-request-notification-tile.md +45 -0
  390. package/src/components/features/notifications/.index.md +35 -31
  391. package/src/components/features/notifications/.notification-drawer.md +32 -19
  392. package/src/components/features/notifications/.notification-popups.md +51 -0
  393. package/src/components/features/notifications/.notification-tile.md +43 -27
  394. package/src/components/features/notifications/.notifications-context.md +42 -45
  395. package/src/components/features/notifications/.types.md +51 -31
  396. package/src/components/features/ticket-status-config-list/.ticket-status-config-list.md +51 -0
  397. package/src/components/features/time-tracker/.index.md +48 -0
  398. package/src/components/features/time-tracker/.time-tracker-context.md +55 -0
  399. package/src/components/features/time-tracker/.time-tracker-header-button.md +51 -0
  400. package/src/components/features/time-tracker/.time-tracker-panel.md +58 -0
  401. package/src/components/features/time-tracker/.types.md +51 -0
  402. package/src/components/features/time-tracker/.use-tracker-clock.md +32 -0
  403. package/src/components/features/use-walkthrough-video.ts +70 -0
  404. package/src/components/features/video-bites-strip.tsx +46 -146
  405. package/src/components/features/video-center-badge.tsx +11 -2
  406. package/src/components/features/video-hover-preview.tsx +201 -0
  407. package/src/components/features/video.tsx +368 -73
  408. package/src/components/help-center-pages/.delivery-page.md +51 -0
  409. package/src/components/help-center-pages/.index.md +51 -0
  410. package/src/components/help-center-pages/.onboarding-guides-catalog-page.md +53 -0
  411. package/src/components/help-center-pages/.product-releases-list-page.md +51 -0
  412. package/src/components/help-center-pages/.roadmap-page.md +46 -0
  413. package/src/components/icons/.figma-icon.md +13 -7
  414. package/src/components/icons/.index.md +26 -22
  415. package/src/components/icons/.vendor-directory-icon.md +30 -18
  416. package/src/components/icons/.x-logo.md +26 -10
  417. package/src/components/icons-v2-generated/.index.md +30 -41
  418. package/src/components/icons-v2-generated/brand-logos/.index.md +25 -19
  419. package/src/components/icons-v2-generated/communication/.index.md +26 -30
  420. package/src/components/icons-v2-generated/logos/.flamingo-logo-icon.md +41 -0
  421. package/src/components/layout/.article-detail-layout.md +32 -21
  422. package/src/components/layout/.page-container.md +25 -23
  423. package/src/components/layout/.page-heading.md +48 -0
  424. package/src/components/layout/.page-layout.md +30 -25
  425. package/src/components/layout/.title-block.md +43 -24
  426. package/src/components/loading/.card-skeleton.md +28 -35
  427. package/src/components/loading/.category-card-skeleton.md +25 -23
  428. package/src/components/loading/.device-card-skeleton.md +22 -15
  429. package/src/components/loading/.margin-report-skeleton.md +30 -35
  430. package/src/components/loading/.openmsp-heartbeat.md +30 -32
  431. package/src/components/loading/.organization-card-skeleton.md +22 -25
  432. package/src/components/loading/.organization-icon-skeleton.md +39 -27
  433. package/src/components/loading/.page-layout-skeleton.md +50 -28
  434. package/src/components/loading/.unified-skeleton.md +37 -40
  435. package/src/components/loading/.users-grid-skeleton.md +19 -38
  436. package/src/components/navigation/.app-header.md +35 -28
  437. package/src/components/navigation/.app-layout-context.md +48 -0
  438. package/src/components/navigation/.app-layout-drawer.md +56 -0
  439. package/src/components/navigation/.app-layout.md +24 -23
  440. package/src/components/navigation/.header-mingo-button.md +46 -0
  441. package/src/components/navigation/.header-organization-filter.md +32 -18
  442. package/src/components/navigation/.header.md +24 -31
  443. package/src/components/navigation/.index.md +36 -50
  444. package/src/components/navigation/.mingo-ai-button.md +41 -0
  445. package/src/components/navigation/.mobile-burger-menu.md +29 -29
  446. package/src/components/navigation/.mobile-nav-panel.md +41 -49
  447. package/src/components/navigation/.multi-level-navigation.md +76 -0
  448. package/src/components/navigation/.navigation-sidebar-item.md +14 -14
  449. package/src/components/navigation/.navigation-sidebar.md +30 -23
  450. package/src/components/navigation/.sliding-sidebar.md +30 -25
  451. package/src/components/navigation/.sticky-section-nav.md +23 -21
  452. package/src/components/onboarding-guides/.index.md +40 -0
  453. package/src/components/onboarding-guides/.onboarding-guide-detail-view.md +55 -0
  454. package/src/components/onboarding-guides/.onboarding-guides-catalog-skeleton.md +33 -0
  455. package/src/components/onboarding-guides/.onboarding-guides-catalog-view.md +50 -0
  456. package/src/components/onboarding-guides/hooks/.use-onboarding-guides.md +54 -0
  457. package/src/components/platform/.CveLink.md +28 -17
  458. package/src/components/platform/.ScriptArguments.md +18 -23
  459. package/src/components/platform/.ScriptInfoSection.md +27 -21
  460. package/src/components/platform/.ShellTypeBadge.md +34 -18
  461. package/src/components/platform/.SoftwareInfo.md +23 -21
  462. package/src/components/platform/.ToolBadge.md +18 -16
  463. package/src/components/profile/.ProfileLoadingSkeleton.md +24 -23
  464. package/src/components/related-content/.index.md +41 -0
  465. package/src/components/related-content/.related-content-section.md +62 -0
  466. package/src/components/shared/.article-author-byline.md +56 -0
  467. package/src/components/shared/.detail-page-skeleton.md +32 -43
  468. package/src/components/shared/.media-gallery-strip.md +43 -0
  469. package/src/components/shared/delivery/.delivery-lists.md +20 -19
  470. package/src/components/shared/delivery/.delivery-row.md +24 -20
  471. package/src/components/shared/delivery/.delivery-table.md +20 -22
  472. package/src/components/shared/dev-section/.dev-card-row.md +28 -36
  473. package/src/components/shared/dev-section/.dev-section-page.md +36 -25
  474. package/src/components/shared/dev-section/.dev-section-view.md +32 -22
  475. package/src/components/shared/doc-search/.doc-search-bar.md +58 -0
  476. package/src/components/shared/doc-search/.doc-search-result-row.md +50 -0
  477. package/src/components/shared/doc-search/.format-relative-path.md +30 -0
  478. package/src/components/shared/doc-search/.index.md +46 -0
  479. package/src/components/shared/doc-search/.map-doc-search-results.md +44 -0
  480. package/src/components/shared/doc-search/.resolve-search-result-action.md +52 -0
  481. package/src/components/shared/doc-search/.types.md +49 -0
  482. package/src/components/shared/doc-search/.use-doc-search.md +66 -0
  483. package/src/components/shared/legal-document/.legal-document-page.md +26 -20
  484. package/src/components/shared/legal-document/.use-legal-docs.md +36 -30
  485. package/src/components/shared/onboarding/.onboarding-step-card.md +24 -16
  486. package/src/components/shared/onboarding/.onboarding-walkthrough.md +42 -28
  487. package/src/components/shared/product-release/.index.md +33 -24
  488. package/src/components/shared/product-release/.product-release-card-skeleton.md +22 -28
  489. package/src/components/shared/product-release/.product-release-card.md +28 -29
  490. package/src/components/shared/product-release/.product-releases-view.md +49 -0
  491. package/src/components/shared/product-release/.release-detail-page.md +30 -15
  492. package/src/components/shared/roadmap/.index.md +29 -24
  493. package/src/components/shared/roadmap/.roadmap-grid.md +43 -54
  494. package/src/components/shared/roadmap/.roadmap-view.md +41 -0
  495. package/src/components/shared/roadmap/.use-roadmap-voting.md +27 -17
  496. package/src/components/switch.tsx +1 -1
  497. package/src/components/tickets/.help-center-card.md +32 -28
  498. package/src/components/tickets/.help-center-create-form.md +34 -22
  499. package/src/components/tickets/.help-center-list.md +36 -25
  500. package/src/components/tickets/.index.md +30 -45
  501. package/src/components/tickets/.ticket-center.md +31 -38
  502. package/src/components/tickets/.ticket-detail-drawer.md +20 -30
  503. package/src/components/tickets/.ticket-open-form.md +24 -26
  504. package/src/components/tickets/.ticket-reply-composer.md +51 -0
  505. package/src/components/tickets/.ticket-row.md +26 -11
  506. package/src/components/tickets/.types.md +56 -38
  507. package/src/components/tickets/hooks/.use-ticket-actions.md +60 -47
  508. package/src/components/tickets/hooks/.use-ticket-engagements.md +27 -27
  509. package/src/components/tickets/hooks/.use-tickets-list.md +24 -30
  510. package/src/components/ui/.accordion.md +28 -21
  511. package/src/components/ui/.actions-menu.md +36 -54
  512. package/src/components/ui/.ai-generated-badge.md +25 -0
  513. package/src/components/ui/.alert-dialog.md +21 -16
  514. package/src/components/ui/.alert.md +30 -25
  515. package/src/components/ui/.allowed-domains-input.md +26 -15
  516. package/src/components/ui/.announcement-bar-view.md +46 -0
  517. package/src/components/ui/.autocomplete.md +40 -27
  518. package/src/components/ui/.badge.md +34 -31
  519. package/src/components/ui/.brand-association-card.md +22 -18
  520. package/src/components/ui/.breadcrumb.md +18 -14
  521. package/src/components/ui/.bullet-list.md +35 -23
  522. package/src/components/ui/.card.md +47 -30
  523. package/src/components/ui/.checkbox-block.md +34 -22
  524. package/src/components/ui/.checkbox-with-description.md +18 -20
  525. package/src/components/ui/.chevron-button.md +29 -29
  526. package/src/components/ui/.circular-progress.md +30 -41
  527. package/src/components/ui/.color-preset-select.md +54 -0
  528. package/src/components/ui/.color-swatch.md +37 -0
  529. package/src/components/ui/.content-loader.md +34 -27
  530. package/src/components/ui/.crossfade-panels.md +50 -0
  531. package/src/components/ui/.cursor-pagination.md +38 -26
  532. package/src/components/ui/.dashboard-info-card.md +46 -27
  533. package/src/components/ui/.date-picker.md +52 -36
  534. package/src/components/ui/.device-card-compact.md +23 -20
  535. package/src/components/ui/.device-card.md +39 -30
  536. package/src/components/ui/.dialog.md +14 -14
  537. package/src/components/ui/.drawer.md +45 -39
  538. package/src/components/ui/.dropdown-button.md +41 -33
  539. package/src/components/ui/.dropdown-menu.md +40 -23
  540. package/src/components/ui/.duration-input.md +41 -0
  541. package/src/components/ui/.entity-image.md +32 -28
  542. package/src/components/ui/.error-state.md +30 -26
  543. package/src/components/ui/.fade-preview.md +44 -0
  544. package/src/components/ui/.field-wrapper.md +34 -23
  545. package/src/components/ui/.file-upload.md +30 -18
  546. package/src/components/ui/.filter-modal.md +30 -32
  547. package/src/components/ui/.filter-pill-row.md +58 -0
  548. package/src/components/ui/.floating-tooltip.md +27 -32
  549. package/src/components/ui/.hidden-tags-popup.md +18 -20
  550. package/src/components/ui/.highlight-card.md +36 -23
  551. package/src/components/ui/.honeypot-field.md +41 -0
  552. package/src/components/ui/.hover-dropdown.md +44 -31
  553. package/src/components/ui/.image-gallery-modal.md +28 -30
  554. package/src/components/ui/.image-uploader.md +39 -22
  555. package/src/components/ui/.index.md +33 -31
  556. package/src/components/ui/.info-card-row.md +50 -0
  557. package/src/components/ui/.info-card.md +27 -20
  558. package/src/components/ui/.info-row.md +30 -24
  559. package/src/components/ui/.info-section.md +63 -0
  560. package/src/components/ui/.input.md +29 -28
  561. package/src/components/ui/.label.md +34 -26
  562. package/src/components/ui/.markdown-editor.md +26 -25
  563. package/src/components/ui/.marquee-wall.md +64 -0
  564. package/src/components/ui/.menubar.md +50 -16
  565. package/src/components/ui/.modal-v2.md +41 -27
  566. package/src/components/ui/.modal.md +22 -19
  567. package/src/components/ui/.more-actions-menu.md +30 -24
  568. package/src/components/ui/.navigation-menu.md +40 -25
  569. package/src/components/ui/.organization-card.md +46 -27
  570. package/src/components/ui/.page-actions.md +55 -41
  571. package/src/components/ui/.page-loader.md +40 -23
  572. package/src/components/ui/.password-input.md +30 -0
  573. package/src/components/ui/.phone-input.md +20 -22
  574. package/src/components/ui/.portal-container.md +43 -0
  575. package/src/components/ui/.progress-bar.md +40 -27
  576. package/src/components/ui/.release-changelog-section.md +32 -26
  577. package/src/components/ui/.rich-markdown-renderer.md +45 -0
  578. package/src/components/ui/.scroll-fade.md +56 -0
  579. package/src/components/ui/.search-input.md +55 -37
  580. package/src/components/ui/.select.md +25 -26
  581. package/src/components/ui/.service-card.md +25 -19
  582. package/src/components/ui/.sheet.md +21 -21
  583. package/src/components/ui/.simple-markdown-renderer.md +36 -24
  584. package/src/components/ui/.slack-channel-chip.md +49 -0
  585. package/src/components/ui/.square-avatar.md +29 -26
  586. package/src/components/ui/.stacked-rows-panel.md +61 -0
  587. package/src/components/ui/.status-badge.md +30 -24
  588. package/src/components/ui/.status-indicator.md +35 -21
  589. package/src/components/ui/.tab-content.md +34 -22
  590. package/src/components/ui/.tab-navigation.md +40 -50
  591. package/src/components/ui/.tab-selector.md +48 -31
  592. package/src/components/ui/.tabs.md +34 -21
  593. package/src/components/ui/.tag-search-input.md +20 -20
  594. package/src/components/ui/.tag-select-dropdown.md +59 -0
  595. package/src/components/ui/.tag.md +25 -43
  596. package/src/components/ui/.tags-input.md +31 -31
  597. package/src/components/ui/.textarea.md +32 -30
  598. package/src/components/ui/.ticket-attachments-list.md +36 -29
  599. package/src/components/ui/.ticket-info-section.md +37 -42
  600. package/src/components/ui/.ticket-status-config-row.md +66 -0
  601. package/src/components/ui/.ticket-status-tag.md +39 -35
  602. package/src/components/ui/.toaster.md +21 -15
  603. package/src/components/ui/.toggle.md +38 -37
  604. package/src/components/ui/.tooltip.md +16 -13
  605. package/src/components/ui/button/.button-styles.md +17 -18
  606. package/src/components/ui/button/.button.md +30 -37
  607. package/src/components/ui/button/.split-button.md +46 -23
  608. package/src/components/ui/button/button-styles.ts +13 -0
  609. package/src/components/ui/button/button.tsx +5 -0
  610. package/src/components/ui/data-table/.data-table-body.md +50 -35
  611. package/src/components/ui/data-table/.data-table-empty.md +17 -33
  612. package/src/components/ui/data-table/.data-table-header.md +43 -40
  613. package/src/components/ui/data-table/.data-table-row.md +31 -31
  614. package/src/components/ui/data-table/.types.md +23 -28
  615. package/src/components/ui/file-manager/.file-manager-breadcrumb.md +16 -24
  616. package/src/components/ui/file-manager/.file-manager-empty.md +23 -15
  617. package/src/components/ui/file-manager/.file-manager-skeleton.md +34 -36
  618. package/src/components/ui/file-manager/.file-manager-table-row.md +29 -29
  619. package/src/components/ui/file-manager/.file-manager-table.md +39 -24
  620. package/src/components/ui/no-data/.index.md +22 -0
  621. package/src/components/ui/no-data/.no-data-actions.md +29 -0
  622. package/src/components/ui/no-data/.no-data-message.md +37 -0
  623. package/src/components/ui/no-data/.no-data-styles.md +39 -0
  624. package/src/components/ui/no-data/.no-data.md +59 -0
  625. package/src/components/ui/page-actions.tsx +2 -1
  626. package/src/components/ui/query-report-table/.query-report-table-header.md +15 -15
  627. package/src/components/ui/query-report-table/.query-report-table-row.md +16 -16
  628. package/src/components/ui/query-report-table/.query-report-table.md +39 -24
  629. package/src/components/ui/table/.table-column-filter-dropdown.md +15 -9
  630. package/src/components/ui/table/.table-description-cell.md +13 -12
  631. package/src/components/ui/table/.table-empty-state.md +19 -20
  632. package/src/components/ui/table/.table-row.md +30 -20
  633. package/src/components/ui/table/.table-skeleton.md +32 -27
  634. package/src/components/ui/table/.table-timestamp-cell.md +24 -23
  635. package/src/components/ui/table/.table.md +43 -30
  636. package/src/components/ui/table/.types.md +49 -45
  637. package/src/components/ui/table/.use-table-motion.md +45 -0
  638. package/src/contexts/.chat-runtime-context.md +55 -26
  639. package/src/contexts/.endpoints-runtime-context.md +40 -44
  640. package/src/embed-shims/.next-navigation.md +38 -31
  641. package/src/hooks/.api-hooks.md +28 -21
  642. package/src/hooks/.index.md +30 -25
  643. package/src/hooks/.use-authed-image-src.md +38 -0
  644. package/src/hooks/.use-contact-submission.md +35 -36
  645. package/src/hooks/.use-humanity-signals.md +47 -0
  646. package/src/hooks/.use-near-viewport.md +30 -30
  647. package/src/hooks/.use-og-placeholder-url.md +57 -0
  648. package/src/hooks/.use-scroll-to-hash.md +46 -0
  649. package/src/hooks/.use-self-fetch.md +52 -0
  650. package/src/hooks/state/.flatten-schema.md +37 -29
  651. package/src/hooks/ui/.index.md +37 -25
  652. package/src/hooks/ui/.use-auto-limit-tags.md +55 -38
  653. package/src/hooks/ui/.use-deferred-error.md +44 -0
  654. package/src/hooks/ui/.use-focus-trap.md +59 -0
  655. package/src/hooks/ui/.use-header-height.md +37 -0
  656. package/src/hooks/ui/.use-horizontal-scrollbar.md +25 -34
  657. package/src/hooks/ui/.use-marquee-engine.md +73 -0
  658. package/src/hooks/ui/.use-notification-permission.md +49 -0
  659. package/src/hooks/ui/.use-reset-on-page-hidden.md +40 -0
  660. package/src/hooks/ui/.use-suppress-clone-focus.md +41 -0
  661. package/src/nats/.index.md +39 -0
  662. package/src/nats/.nats-provider.md +46 -0
  663. package/src/nats/.nats.md +38 -28
  664. package/src/nats/.shared-connection.md +56 -0
  665. package/src/nats/.use-nats-subscription.md +57 -0
  666. package/src/stories/.ActionsMenu.stories.md +57 -0
  667. package/src/stories/.Alert.stories.md +46 -0
  668. package/src/stories/.AnnouncementBar.stories.md +59 -32
  669. package/src/stories/.AppLayoutDrawer.stories.md +60 -0
  670. package/src/stories/.AppLayoutSidebar.stories.md +45 -0
  671. package/src/stories/.ApprovalBatchMessage.stories.md +46 -0
  672. package/src/stories/.ApprovalBatchMessageClient.stories.md +55 -0
  673. package/src/stories/.ApprovalRequestMessage.stories.md +50 -0
  674. package/src/stories/.ApprovalRequestMessageClient.stories.md +41 -0
  675. package/src/stories/.BlogCard.stories.md +52 -0
  676. package/src/stories/.Board.stories.md +25 -20
  677. package/src/stories/.Button.stories.md +35 -40
  678. package/src/stories/.CampaignCardAdmin.stories.md +38 -0
  679. package/src/stories/.CardsStrip.stories.md +39 -0
  680. package/src/stories/.CaseStudyCard.stories.md +41 -0
  681. package/src/stories/.ChatContainer.stories.md +41 -0
  682. package/src/stories/.ChatInlineVideoPill.stories.md +36 -0
  683. package/src/stories/.ChatMessageEnhanced.stories.md +51 -0
  684. package/src/stories/.ChatMingoInfoCards.stories.md +30 -0
  685. package/src/stories/.ChatTicketList.stories.md +38 -22
  686. package/src/stories/.ChatTypingIndicator.stories.md +47 -0
  687. package/src/stories/.CheckboxBlock.stories.md +34 -35
  688. package/src/stories/.ContextCompactionDisplay.stories.md +28 -0
  689. package/src/stories/.CustomerInterviewCard.stories.md +36 -0
  690. package/src/stories/.DashboardInfoCard.stories.md +40 -33
  691. package/src/stories/.DataRoomDocCard.stories.md +42 -0
  692. package/src/stories/.DataTable.stories.md +37 -32
  693. package/src/stories/.DatePicker.stories.md +34 -30
  694. package/src/stories/.EmbeddableChat.stories.md +45 -28
  695. package/src/stories/.EmptyState.stories.md +55 -0
  696. package/src/stories/.ErrorMessageDisplay.stories.md +45 -0
  697. package/src/stories/.FilterModal.stories.md +28 -22
  698. package/src/stories/.GenericEntityCard.stories.md +50 -0
  699. package/src/stories/.GitHubActivityCard.stories.md +41 -0
  700. package/src/stories/.GuideWelcome.stories.md +38 -0
  701. package/src/stories/.Header.stories.md +32 -22
  702. package/src/stories/.HubspotTicketCard.stories.md +41 -0
  703. package/src/stories/.InfoCard.stories.md +37 -26
  704. package/src/stories/.InfoCardRow.stories.md +48 -0
  705. package/src/stories/.InfoSection.stories.md +55 -0
  706. package/src/stories/.Input.stories.md +45 -35
  707. package/src/stories/.InvestorUpdateCard.stories.md +41 -0
  708. package/src/stories/.MarqueeWall.stories.md +53 -0
  709. package/src/stories/.MingoAiButton.stories.md +31 -0
  710. package/src/stories/.MingoChatModals.stories.md +47 -0
  711. package/src/stories/.MingoInfoCard.stories.md +50 -0
  712. package/src/stories/.MingoOnboardingCard.stories.md +19 -19
  713. package/src/stories/.MingoWelcome.stories.md +41 -0
  714. package/src/stories/.MobileNavPanel.stories.md +52 -0
  715. package/src/stories/.Modal.stories.md +19 -16
  716. package/src/stories/.MspOrganizationCard.stories.md +45 -0
  717. package/src/stories/.NotificationDrawer.stories.md +39 -28
  718. package/src/stories/.OSTypeBadge.stories.md +34 -25
  719. package/src/stories/.OnboardingGuideCard.stories.md +41 -0
  720. package/src/stories/.PageActions.stories.md +21 -21
  721. package/src/stories/.PageContainer.stories.md +29 -24
  722. package/src/stories/.PageLayout.stories.md +18 -35
  723. package/src/stories/.PolicyConfigurationPanel.stories.md +58 -0
  724. package/src/stories/.ProductReleaseCard.stories.md +39 -0
  725. package/src/stories/.ProgramCard.stories.md +51 -0
  726. package/src/stories/.QuickActionChip.stories.md +59 -0
  727. package/src/stories/.QuickActionMarquee.stories.md +51 -0
  728. package/src/stories/.QuickActionWall.stories.md +58 -0
  729. package/src/stories/.RoadmapCard.stories.md +41 -0
  730. package/src/stories/.ShellTypeBadge.stories.md +42 -22
  731. package/src/stories/.SlackMessageCard.stories.md +42 -0
  732. package/src/stories/.SlashCommandSuggestions.stories.md +21 -31
  733. package/src/stories/.SplitButton.stories.md +23 -25
  734. package/src/stories/.StackedRowsPanel.stories.md +65 -0
  735. package/src/stories/.TabSelector.stories.md +26 -38
  736. package/src/stories/.Tag.stories.md +32 -27
  737. package/src/stories/.ThinkingDisplay.stories.md +43 -0
  738. package/src/stories/.TicketCard.stories.md +60 -0
  739. package/src/stories/.TicketInfoSection.stories.md +28 -20
  740. package/src/stories/.TimeTracker.stories.md +35 -0
  741. package/src/stories/.Toaster.stories.md +26 -20
  742. package/src/stories/.ToolBadge.stories.md +34 -24
  743. package/src/stories/.ToolExecutionDisplay.stories.md +22 -20
  744. package/src/stories/.ToolExecutionDisplayClient.stories.md +33 -0
  745. package/src/stories/.VideoBitesStrip.stories.md +37 -0
  746. package/src/stories/.WarningBlock.stories.md +51 -0
  747. package/src/stories/__fixtures__/.chat-card-decorator.md +39 -0
  748. package/src/stories/__fixtures__/.chat-cards.md +57 -0
  749. package/src/stories/auth/.CompleteAccount.stories.md +36 -0
  750. package/src/stories/auth/.CreateOrganization.stories.md +52 -0
  751. package/src/stories/auth/.InviteLinkInvalid.stories.md +21 -0
  752. package/src/stories/auth/.Login.stories.md +32 -0
  753. package/src/stories/auth/.OpenFrameSso.stories.md +58 -0
  754. package/src/stories/auth/.PasswordReset.stories.md +49 -0
  755. package/src/styles/ods-interaction-states.css +32 -0
  756. package/src/types/.announcement.md +67 -35
  757. package/src/types/.blog.md +44 -41
  758. package/src/types/.case-study.md +31 -17
  759. package/src/types/.content-ref.md +37 -0
  760. package/src/types/.customer-interview.md +38 -38
  761. package/src/types/.doc-source.md +87 -0
  762. package/src/types/.entity-author.md +53 -0
  763. package/src/types/.entity-platform.md +40 -0
  764. package/src/types/.index.md +23 -17
  765. package/src/types/.marketing.md +32 -35
  766. package/src/types/.navigation.md +31 -19
  767. package/src/types/.os.types.md +30 -31
  768. package/src/types/.permissions.md +49 -35
  769. package/src/types/.platform.md +44 -28
  770. package/src/types/.product-release.md +59 -42
  771. package/src/types/.shell.types.md +46 -30
  772. package/src/types/.supabase.md +43 -29
  773. package/src/types/.tool.types.md +43 -23
  774. package/src/types/.video-processing.md +40 -31
  775. package/src/types/supabase.ts +80 -0
  776. package/src/types/video-processing.ts +1 -0
  777. package/src/utils/.announcement-storage.md +49 -17
  778. package/src/utils/.app-config.md +22 -18
  779. package/src/utils/.brand-marks.md +46 -0
  780. package/src/utils/.cn.md +40 -29
  781. package/src/utils/.color-analysis.md +34 -25
  782. package/src/utils/.common.md +43 -23
  783. package/src/utils/.content-href.md +64 -0
  784. package/src/utils/.content-ref-groups.md +51 -0
  785. package/src/utils/.date-utils.md +46 -35
  786. package/src/utils/.doc-path-utils.md +38 -0
  787. package/src/utils/.doc-tree-nav.md +51 -0
  788. package/src/utils/.embed-authed-fetch.md +48 -32
  789. package/src/utils/.embed-content-fetch.md +36 -0
  790. package/src/utils/.embed-url-converters.md +52 -0
  791. package/src/utils/.extract-items.md +49 -0
  792. package/src/utils/.faq-anchor.md +48 -0
  793. package/src/utils/.format.md +73 -55
  794. package/src/utils/.humanity-signals.md +59 -0
  795. package/src/utils/.index.md +73 -31
  796. package/src/utils/.list-url.md +43 -0
  797. package/src/utils/.markdown-section-extractor.md +57 -0
  798. package/src/utils/.markdown-to-plain.md +51 -0
  799. package/src/utils/.media-carousel-utils-stub.md +42 -31
  800. package/src/utils/.ods-color-utils.md +84 -43
  801. package/src/utils/.og-placeholder.md +45 -0
  802. package/src/utils/.page-header-constants.md +26 -0
  803. package/src/utils/.platform-config.md +34 -34
  804. package/src/utils/.release-badge.md +47 -0
  805. package/src/utils/.release-cover.md +45 -0
  806. package/src/utils/.same-page-hash-nav.md +45 -0
  807. package/src/utils/.scroll-into-view.md +32 -25
  808. package/src/utils/.seo-description.md +37 -0
  809. package/src/utils/.seo-title.md +25 -0
  810. package/src/utils/.social-embed-cache.md +37 -0
  811. package/src/utils/.source-icons.md +30 -34
  812. package/src/utils/.suggestion-url.md +46 -0
  813. package/src/utils/.tool-utils.md +39 -24
  814. package/src/utils/.tree-builder.md +64 -0
  815. package/src/utils/.video-bite-id.md +42 -0
  816. package/src/utils/announcement-storage.ts +9 -18
  817. package/src/utils/dev-sections/.dev-section-param-keys.md +51 -0
  818. package/src/utils/dev-sections/.openframe-dev-sections.md +40 -28
  819. package/src/utils/dismiss-cookie.ts +55 -0
  820. package/src/utils/dismissal-storage.ts +38 -0
  821. package/src/utils/index.ts +3 -0
  822. package/dist/chunk-BBUEY73L.js.map +0 -1
  823. package/dist/chunk-G3UN2DXU.cjs.map +0 -1
  824. package/dist/chunk-OWMLWJQY.cjs.map +0 -1
  825. package/dist/chunk-SASR7SK5.js.map +0 -1
  826. package/src/components/chat/utils/.onboarding-icons.md +0 -28
  827. package/src/hooks/.use-og-placeholder.md +0 -51
  828. /package/dist/{chunk-MGKCS6KS.js.map → chunk-3WCARCI4.js.map} +0 -0
  829. /package/dist/{chunk-Y3Y2DLNO.js.map → chunk-6UGYBCEN.js.map} +0 -0
  830. /package/dist/{chunk-PSPWT2Q5.js.map → chunk-7LWXWXEY.js.map} +0 -0
  831. /package/dist/{chunk-VTSRDC4W.js.map → chunk-CKC3EAYT.js.map} +0 -0
  832. /package/dist/{chunk-ZRANZNEA.js.map → chunk-JJE5TUZK.js.map} +0 -0
  833. /package/dist/{chunk-66BNAFO6.js.map → chunk-JQIUBFHL.js.map} +0 -0
  834. /package/dist/{chunk-2DIOV7BR.js.map → chunk-UPN6EFOM.js.map} +0 -0
  835. /package/dist/{chunk-4SMRQ4SN.js.map → chunk-WBL5Y4PS.js.map} +0 -0
  836. /package/dist/{chunk-FP4H6Y5O.js.map → chunk-WPYPSIY2.js.map} +0 -0
  837. /package/dist/{chunk-R5WJJL4V.js.map → chunk-X5X43HFV.js.map} +0 -0
  838. /package/dist/{chunk-DEHZ5CTC.js.map → chunk-XTWKDMCG.js.map} +0 -0
@@ -1,55 +1,65 @@
1
- <!-- source-hash: 07edf12b9aece7d3d65330a955505e1f -->
2
- Storybook stories for the `Input` UI component, demonstrating all supported variants, adornments, states, and compositions.
1
+ <!-- source-hash: 7985287071ae710bfda62ca359ff5865 -->
2
+ Storybook stories for the `Input` UI component, covering all supported props, states, and adornment combinations for visual testing and documentation.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Description |
7
- |--------|-------------|
6
+ | Story | Description |
7
+ |---|---|
8
8
  | `Default` | Basic input with placeholder text |
9
9
  | `WithEndAdornmentText` | Input with trailing text label (e.g., "Seconds") |
10
- | `WithStartAdornmentIcon` | Input with leading icon/emoji |
11
- | `WithBothAdornments` | Input with both start and end adornments (e.g., currency) |
10
+ | `WithStartAdornmentIcon` | Input with leading icon or emoji |
11
+ | `WithBothAdornments` | Combined start and end adornments (e.g., currency `$` / `USD`) |
12
12
  | `DisabledWithAdornments` | Disabled state with adornments |
13
- | `InvalidWithAdornments` | Error/invalid state with adornments |
14
- | `WithLabel` | Input with a visible label |
15
- | `WithLabelAndError` | Input with label and validation error message |
16
- | `SearchInput` | Controlled input with `SearchIcon` start adornment |
17
- | `Loading` | Input with loading spinner state |
13
+ | `InvalidWithAdornments` | Error state with adornments |
14
+ | `NumberWithUnit` | Numeric input with unit suffix |
15
+ | `WithLabel` | Input with an accessible label |
16
+ | `WithLabelAndError` | Label + inline error message |
17
+ | `SearchInput` | Controlled search input with `SearchIcon` start adornment |
18
+ | `Loading` | Input showing a loading spinner |
18
19
  | `WithButton` | Input paired with a submit `Button` |
19
- | `AllVariants` | Side-by-side showcase of all input states |
20
+ | `AllVariants` | Side-by-side comparison of all visual states |
21
+ | `ErrorState` | Full matrix of error/status variants: short, long-wrapping, success, and muted |
20
22
 
21
23
  ## Usage Example
22
24
 
23
25
  ```typescript
24
- // Basic input
25
- <Input placeholder="Enter text..." />
26
+ // Controlled search input with icon adornment
27
+ import { useState } from 'react';
28
+ import { Input } from '../components/ui/input';
29
+ import { SearchIcon } from '../components/icons-v2-generated/interface/search-icon';
26
30
 
27
- // With adornments
28
- <Input
29
- placeholder="0.00"
30
- startAdornment="$"
31
- endAdornment="USD"
32
- />
31
+ function SearchField() {
32
+ const [value, setValue] = useState('');
33
+ return (
34
+ <Input
35
+ value={value}
36
+ onChange={(e) => setValue(e.target.value)}
37
+ placeholder="Search..."
38
+ startAdornment={<SearchIcon size={20} />}
39
+ loading={false}
40
+ />
41
+ );
42
+ }
33
43
 
34
- // With label and error
44
+ // Input with label, error, and end adornment
35
45
  <Input
36
- label="Username"
37
- placeholder="Enter text..."
38
- error="This field is required"
46
+ label="Timeout"
47
+ defaultValue="90"
48
+ endAdornment="Seconds"
49
+ error="Value must be between 1 and 300"
39
50
  />
40
51
 
41
- // Controlled search input with icon
42
- const [value, setValue] = useState('');
52
+ // Error status variants
43
53
  <Input
44
- value={value}
45
- onChange={(e) => setValue(e.target.value)}
46
- placeholder="Search..."
47
- startAdornment={<SearchIcon size={20} />}
54
+ label="Email"
55
+ defaultValue="ada@example.com"
56
+ error="Email is available"
57
+ errorVariant="success"
48
58
  />
59
+ ```
49
60
 
50
- // Disabled state
51
- <Input placeholder="90" endAdornment="Seconds" disabled />
61
+ ## Notes
52
62
 
53
- // Loading state
54
- <Input placeholder="Searching..." loading={true} startAdornment={<SearchIcon size={20} />} />
55
- ```
63
+ - `errorVariant` accepts `"success"` and `"muted"` in addition to the default error styling.
64
+ - Long error messages wrap up to two lines before truncating with ellipsis.
65
+ - Stories using stateful interactions (e.g., `SearchInput`, `WithButton`) use the `render` function pattern with `useState`.
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 8a28e7f09b42f9392270067eafb565cd -->
2
+ Storybook stories for the `InvestorUpdateCard` component, covering both compact chat-inline (`sm`) and full-size (`default`) display variants.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `meta` | `Meta<typeof InvestorUpdateCard>` | Storybook metadata; registers stories under `Chat/EntityCards/InvestorUpdateCard` |
9
+ | `ChatInlineSm` | `Story` | Compact `sm` size variant for inline chat display |
10
+ | `Default` | `Story` | Standard `default` size variant |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ import { ChatInlineSm, Default } from './InvestorUpdateCard.stories'
16
+
17
+ // Render the sm (chat-inline) variant
18
+ <InvestorUpdateCard
19
+ update={investorUpdate}
20
+ href={`/investor-updates/${investorUpdate.slug}`}
21
+ size="sm"
22
+ target="_blank"
23
+ rel="noopener noreferrer"
24
+ />
25
+
26
+ // Render the default (full-size) variant
27
+ <InvestorUpdateCard
28
+ update={investorUpdate}
29
+ href={`/investor-updates/${investorUpdate.slug}`}
30
+ size="default"
31
+ target="_blank"
32
+ rel="noopener noreferrer"
33
+ />
34
+ ```
35
+
36
+ ## Notes
37
+
38
+ - All stories are wrapped in `ChatColumnDecorator` to simulate a realistic chat column layout context.
39
+ - The period badge (e.g. `"Mar 2025 - May 2025"`) is composed internally via `formatInvestorUpdatePeriod`.
40
+ - Fixture data is sourced from [`__fixtures__/chat-cards`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/stories/__fixtures__/chat-cards.ts).
41
+ - The `size` prop is the primary differentiator between stories: `sm` for compact chat use, `default` for full presentation.
@@ -0,0 +1,53 @@
1
+ <!-- source-hash: 349081fc6c3741b461a3b5d973f96c1d -->
2
+ Storybook stories for the `MarqueeWall` component, demonstrating its scrolling wall variants including horizontal/vertical loops, synced pairs, plain mode, and reversed travel.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `Horizontal` | `Story` | Default horizontal marquee with right-edge fade |
9
+ | `Vertical` | `Story` | Vertical scrolling marquee with bottom fade inside a height-capped container |
10
+ | `SyncedPair` | `Story` | Two walls sharing a single position driver via `useMarqueeSync` |
11
+ | `Plain` | `Story` | Static layout opt-out — no motion, no fades |
12
+ | `Reversed` | `Story` | Right-traveling marquee with dual-edge fades and custom fade sizing |
13
+ | `Tile` | Component | Internal demo tile rendering an MSP tool label |
14
+ | `TILES` | `string[]` | Sample content labels (MSP tool names) used across all stories |
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ import { MarqueeWall, useMarqueeSync } from '../components/ui/marquee-wall'
20
+
21
+ // Basic horizontal marquee
22
+ <MarqueeWall
23
+ fade="right"
24
+ copyGap="var(--spacing-system-mf)"
25
+ className="w-full"
26
+ contentClassName="flex items-center gap-[var(--spacing-system-mf)]"
27
+ >
28
+ <MyTile label="ConnectWise" />
29
+ <MyTile label="HaloPSA" />
30
+ </MarqueeWall>
31
+
32
+ // Pixel-locked sync across multiple walls
33
+ function SyncedWalls() {
34
+ const sync = useMarqueeSync()
35
+ return (
36
+ <>
37
+ <MarqueeWall sync={sync} axis="x" className="w-full" contentClassName="flex items-center gap-4">
38
+ <MyTile label="Row A" />
39
+ </MarqueeWall>
40
+ <MarqueeWall sync={sync} axis="x" className="w-full" contentClassName="flex items-center gap-4">
41
+ <MyTile label="Row B" />
42
+ </MarqueeWall>
43
+ </>
44
+ )
45
+ }
46
+ ```
47
+
48
+ ## Notes
49
+
50
+ - Stories use ODS design tokens (`--spacing-system-mf`, `--color-bg-card`) for spacing and color — ensure the token stylesheet is loaded in Storybook.
51
+ - `MarqueeWall` auto-statics when content fits the container or when `prefers-reduced-motion` is active.
52
+ - `useMarqueeSync` is used in the `FreeTrialCTA` resolve-strip; `SyncedPair` reproduces that exact pattern.
53
+ - Source: [`MarqueeWall.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MarqueeWall.stories.tsx)
@@ -0,0 +1,31 @@
1
+ <!-- source-hash: f5a16b4e2ffb17c391572edd22291edb -->
2
+ Storybook stories for the `MingoAiButton` component, documenting the marketing-header AI launcher button in its realistic 72px unified header context.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `meta` | `Meta<typeof MingoAiButton>` | Story configuration with decorator simulating the `Header` (`config.mingo`) layout context |
9
+ | `Default` | `Story` | Full button with "Mingo AI" wordmark visible, sourced from `'flamingo'` |
10
+ | `IconOnly` | `Story` | Mobile viewport variant showing icon-only display when wordmark hides below `md` breakpoint |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ import { MingoAiButton } from '../components/navigation/mingo-ai-button'
16
+
17
+ // Render the button inside a 72px header (as seen in Header config.mingo)
18
+ <div className="flex h-[72px] items-center justify-end border-b border-ods-border bg-ods-card">
19
+ <MingoAiButton source="flamingo" />
20
+ </div>
21
+ ```
22
+
23
+ ## Notes
24
+
25
+ - The decorator wraps every story in a `360px × 72px` header shell to accurately reproduce the left border divider and traveling accent edge light seen in the real `Header` component.
26
+ - `source` controls the analytics/tracking origin passed to the launcher; accepts any string value via the `text` control in Storybook.
27
+ - The `IconOnly` story uses `mobile1` viewport to demonstrate responsive hiding of the "Mingo AI" label below the `md` breakpoint — no code change required, purely viewport-driven via Tailwind responsive classes.
28
+
29
+ ## Source
30
+
31
+ [`MingoAiButton.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoAiButton.stories.tsx)
@@ -0,0 +1,47 @@
1
+ <!-- source-hash: eeac5fa6d99d16a54c9e7e71931d0495 -->
2
+ Storybook stories for the `RenameChatModal` and `ArchiveChatModal` chat management dialogs, providing interactive previews of both modal variants used in the Mingo chat interface.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `meta` | `Meta` | Storybook metadata under `Chat/MingoChatModals`; maps to Figma frames `7592:225962` (Rename) and `7592:226181` (Archive) |
9
+ | `Rename` | `Story` | Interactive story for `RenameChatModal` — pre-seeded input, Cancel + Save actions |
10
+ | `Archive` | `Story` | Interactive story for `ArchiveChatModal` — destructive confirmation dialog |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ // Simulate the Rename story in isolation
16
+ import { RenameChatModal } from '../components/chat/mingo-chat-modals'
17
+
18
+ <RenameChatModal
19
+ isOpen={open}
20
+ initialName="Troubleshooting Exchange Online connection issues"
21
+ onClose={() => setOpen(false)}
22
+ onSave={(name) => {
23
+ console.log('save', name)
24
+ setOpen(false)
25
+ }}
26
+ />
27
+
28
+ // Simulate the Archive story in isolation
29
+ import { ArchiveChatModal } from '../components/chat/mingo-chat-modals'
30
+
31
+ <ArchiveChatModal
32
+ isOpen={open}
33
+ onClose={() => setOpen(false)}
34
+ onConfirm={() => {
35
+ console.log('archive confirmed')
36
+ setOpen(false)
37
+ }}
38
+ />
39
+ ```
40
+
41
+ Both stories open with `isOpen={true}` by default and include a toggle button to re-open the modal after dismissal. The decorator wraps each story in a full-viewport `bg-ods-bg` container. Modals are built on `ModalV2` with an Azeret Mono title, `p-40`/`gap-24` spacing, and an in-house overlay.
42
+
43
+ ## Notes
44
+
45
+ - Triggered from the chat header `⋯` menu and dialog-history row menus in production
46
+ - `Archive` uses a destructive red action button; use with care in UI testing
47
+ - Source: [`MingoChatModals.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoChatModals.stories.tsx)
@@ -0,0 +1,50 @@
1
+ <!-- source-hash: 3ba205c8b3aec59e3fa2ed5249902509 -->
2
+ Storybook stories file for `MingoInfoCard`, a horizontal info-row card component used in chat interfaces. Covers Figma-spec variants and optional-element permutations.
3
+
4
+ ## Key Components
5
+
6
+ **Exported Stories**
7
+
8
+ | Story | Description |
9
+ |---|---|
10
+ | `WithImage` | Card with a 40px avatar image as the leading media element |
11
+ | `WithIcon` | Card with a boxed glyph (`MonitorIcon`) as the leading media element |
12
+ | `WithoutStatus` | Icon variant with the status pill omitted |
13
+ | `WithoutDescription` | Image variant with the description line omitted |
14
+ | `WithoutMenu` | Card with the trailing overflow menu omitted |
15
+ | `Clickable` | Full card with an `onClick` handler wired to the entire row |
16
+ | `StatusVariants` | Side-by-side showcase of all four `Tag` palette variants: `success`, `warning`, `error`, `grey` |
17
+ | `LongContentTruncates` | Validates text truncation on overflow for both title and description |
18
+
19
+ **Supporting Fixtures**
20
+
21
+ - `AVATAR_SRC` — Pravatar placeholder image URL used across image-based stories
22
+ - `SAMPLE_MENU` — Two-item menu group (`Copy link`, `Remove`) reused across stories
23
+
24
+ ## Usage Example
25
+
26
+ ```typescript
27
+ import { MingoInfoCard } from '../components/chat/mingo-info-card'
28
+ import { MonitorIcon } from '../components/icons-v2-generated/devices/monitor-icon'
29
+
30
+ // Basic card with icon and status
31
+ <MingoInfoCard
32
+ title="Production Host"
33
+ description="All systems operational"
34
+ icon={<MonitorIcon size={24} />}
35
+ status={{ label: 'Online', variant: 'success' }}
36
+ menuGroups={[{
37
+ items: [
38
+ { id: 'copy', label: 'Copy link', icon: <Copy01Icon size={16} />, onClick: () => {} },
39
+ { id: 'remove', label: 'Remove', icon: <TrashIcon size={16} />, danger: true, onClick: () => {} },
40
+ ],
41
+ }]}
42
+ onClick={() => console.log('card clicked')}
43
+ />
44
+ ```
45
+
46
+ > **Layout note:** `MingoInfoCard` is `w-full` and must be placed inside a block-level container. The Storybook canvas uses `layout: 'fullscreen'` rather than `centered` to allow the card to reflow correctly when the viewport is resized.
47
+
48
+ ## Source
49
+
50
+ [`MingoInfoCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoInfoCard.stories.tsx)
@@ -1,42 +1,42 @@
1
- <!-- source-hash: 3d1f4ac24e4bcadba43f4bdf62347d8d -->
2
- Storybook stories for `MingoOnboardingCard`, the single-row card used in Mingo's chat empty-state list. Covers isolated prop variants and a full stacked list mirroring the Figma empty-state layout.
1
+ <!-- source-hash: d66fd15df5fb4fcaec69fc58ba1c8b1a -->
2
+ Storybook stories for `MingoOnboardingCard`, a single-row chat empty-state card component. Covers isolated prop variants and a full stacked list mirroring the Figma empty-state design (`7363:205938`).
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Description |
7
- |--------|-------------|
7
+ |---|---|
8
8
  | `Default` | Base card with icon, title, slash command, and description |
9
9
  | `WithoutDescription` | Card omitting the description field |
10
10
  | `WithoutSlashCommand` | Card omitting the slash command badge |
11
- | `LongTitleTruncates` | Validates truncation behavior for long titles and commands |
11
+ | `LongTitleTruncates` | Validates truncation behavior for overflowing text |
12
12
  | `Clickable` | Card with an `onClick` handler wired to console output |
13
- | `WithActions` | Card with multiple outline-chip action buttons (Recent, Search, Find) |
14
- | `ChipCommands` | Full stacked list of 13 cards driven by `SAMPLE_CHIP_COMMANDS`, mirroring Figma node `7363:205938` |
13
+ | `WithActions` | Card with a row of outline-chip action buttons (Recent / Search / Find) |
14
+ | `ChipCommands` | Full stacked list of 13 cards sourced from `SAMPLE_CHIP_COMMANDS`, mirroring the runtime empty-state |
15
+
16
+ **`SAMPLE_CHIP_COMMANDS`** — internal fixture array defining icon names (resolved via `resolveIcon`), labels, slash commands, descriptions, and action chip labels for the `ChipCommands` story.
15
17
 
16
18
  ## Usage Example
17
19
 
18
20
  ```typescript
19
- // Single card with actions
21
+ // Minimal card
20
22
  <MingoOnboardingCard
21
23
  icon={<CompassIcon size={16} />}
22
24
  title="ClickUp Roadmap"
23
25
  slashCommand="/roadmap"
24
26
  description="Public product roadmap with upcoming features and releases"
25
- actions={[
26
- { id: 'recent', label: 'Recent', onClick: () => {} },
27
- { id: 'search', label: 'Search', onClick: () => {} },
28
- ]}
29
27
  />
30
28
 
31
- // Stacked list icons resolved from the shared registry
32
- const Icon = resolveOnboardingIcon('rocket-02')
29
+ // Card with action chips
33
30
  <MingoOnboardingCard
34
- icon={<Icon size={16} />}
35
- title="Product Releases"
36
- slashCommand="/release-notes"
37
- description="OpenFrame version releases, changelogs, and update notes"
38
- actions={[{ id: 'recent', label: 'Recent', onClick: () => {} }]}
31
+ icon={<CompassIcon size={16} />}
32
+ title="ClickUp Roadmap"
33
+ slashCommand="/roadmap"
34
+ description="Public product roadmap with upcoming features and releases"
35
+ actions={[
36
+ { id: 'recent', label: 'Recent', onClick: () => console.log('recent') },
37
+ { id: 'search', label: 'Search', onClick: () => console.log('search') },
38
+ ]}
39
39
  />
40
40
  ```
41
41
 
42
- > **Decorator context:** All stories wrap cards inside a `rounded-md` border container. The bottom border on each card acts as a 1-px divider between siblings, collapsed on the last row via `last:border-b-0`.
42
+ Icons are sourced directly from `icons-v2-generated` for static stories, or resolved dynamically via `resolveIcon(iconName)` in the `ChipCommands` story to stay in sync with the chat runtime mapping. The decorator wraps each story in a `520px` container replicating the `rounded-md` / `border-ods-border` shell used in production.
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 240d97a568a9d22b85f350a706e05276 -->
2
+ Storybook stories for the `MingoWelcome` component, covering the chat empty-state UI across its key display variants.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Default` | Full welcome state with Guide CTA promo card and yellow chip wired to `onStartGuideChat` |
9
+ | `WithoutGuide` | Guide mode omitted — promo card and "Start Guide Chat" chip are suppressed |
10
+ | `WithQuickActions` | Extends Default with additional quick-action chips appended after the built-in Guide chip |
11
+ | `ReturningUser` | Returning user view — hides "New to OpenFrame?" notification, mutes Guide chip style, renders `MingoChatHistory` |
12
+ | `Wide` | Desktop/wide-panel layout variant at 960px width |
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ import { MingoWelcome } from '../components/chat/mingo-welcome'
18
+
19
+ // New user — full onboarding state
20
+ <MingoWelcome
21
+ onStartGuideChat={() => switchToGuideMode()}
22
+ />
23
+
24
+ // Returning user with existing chat history
25
+ <MingoWelcome
26
+ onStartGuideChat={() => switchToGuideMode()}
27
+ hasExistingChats={true}
28
+ dialogHistory={<MingoChatHistory dialogs={dialogs} ... />}
29
+ quickActions={[
30
+ { id: 'weekly', label: 'Weekly Log Summary' },
31
+ ]}
32
+ />
33
+ ```
34
+
35
+ ## Notes
36
+
37
+ - All stories render inside a decorator that mimics the narrow drawer panel (`440×760px`) to validate `flex-1` centering and pinned chip row behavior.
38
+ - `title`, `subtitle`, `promo`, `quickActions`, and `onStartGuideChat` controls are disabled in Storybook — only `hasExistingChats` is toggle-controllable via the controls panel.
39
+ - Corresponds to Figma node `113:69208`.
40
+
41
+ **Source:** [`MingoWelcome.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MingoWelcome.stories.tsx)
@@ -0,0 +1,52 @@
1
+ <!-- source-hash: 58d9af4560f1028379a158cfe6c749c5 -->
2
+ Storybook stories for the `MobileNavPanel` component, covering default chrome, custom styling, disabled footer states, and a short-viewport scrolling regression test.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Default` | Standard panel with auth footer (`Sign Up` button) using `bg-ods-card` chrome |
9
+ | `CustomChrome` | Flamingo-style panel with custom `className` override via `config.className` |
10
+ | `DisabledFooter` | TMCG-style panel with a disabled footer button and a `StatusBadge` "Coming Soon" indicator |
11
+ | `ShortViewportLongList` | Regression story validating scroll + pinned footer behavior on short viewports (~660px tall) with 30 items |
12
+ | `PanelHarness` | Internal render helper managing `isOpen` state with a toggle button |
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ import { MobileNavPanel } from '../components/navigation/mobile-nav-panel'
18
+ import type { MobileNavConfig } from '../types/navigation'
19
+
20
+ const sections: MobileNavConfig['sections'] = [
21
+ {
22
+ title: 'Product',
23
+ items: [
24
+ { id: 'home', label: 'Home', href: '/', isActive: true },
25
+ { id: 'pricing', label: 'Pricing', href: '/pricing' },
26
+ ],
27
+ },
28
+ ]
29
+
30
+ function MyNav() {
31
+ const [open, setOpen] = useState(false)
32
+ return (
33
+ <MobileNavPanel
34
+ isOpen={open}
35
+ config={{
36
+ sections,
37
+ onClose: () => setOpen(false),
38
+ footer: <Button className="w-full">Sign Up</Button>,
39
+ }}
40
+ />
41
+ )
42
+ }
43
+ ```
44
+
45
+ ## Notes
46
+
47
+ - All stories use `layout: 'fullscreen'` for realistic viewport simulation.
48
+ - `PanelHarness` wraps each story to provide controlled open/close state without boilerplate.
49
+ - `ShortViewportLongList` exists specifically to guard against regressions where the footer scrolls off-screen; test it at ~660px viewport height.
50
+ - `config.className` accepts Tailwind classes to override default panel chrome per-product (OpenMSP vs Flamingo vs TMCG).
51
+
52
+ **Source:** [`MobileNavPanel.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MobileNavPanel.stories.tsx)
@@ -1,23 +1,23 @@
1
- <!-- source-hash: a814b843aeaf82abd73ff945b405ef13 -->
2
- Storybook stories for the `Modal` UI component, demonstrating two interaction patterns: a basic modal with header/content/footer, and a modal containing an `Autocomplete` dropdown with portal-aware rendering.
1
+ <!-- source-hash: f30f001db374caa2804f9c6e873f3b59 -->
2
+ Storybook stories for the `Modal` UI component, demonstrating default usage and a modal containing an `Autocomplete` dropdown.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Description |
7
- |---|---|
8
- | `Default` | Basic modal story with open/close toggle, header, body text, and Cancel/Confirm footer buttons |
9
- | `WithAutocomplete` | Modal story embedding an `Autocomplete` multi-select with `overflow-visible` and a `ref` callback to capture the modal DOM node for portal containment |
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Default` | `Story` | Basic modal with header, content, and footer sections |
9
+ | `WithAutocomplete` | `Story` | Modal containing a multi-select `Autocomplete`, using `portalContainer` to avoid z-index conflicts |
10
10
 
11
11
  ## Usage Example
12
12
 
13
13
  ```typescript
14
- // Default modal pattern
14
+ // Default modal
15
15
  <Modal isOpen={isOpen} onClose={() => setIsOpen(false)}>
16
16
  <ModalHeader>
17
17
  <ModalTitle>Modal Title</ModalTitle>
18
18
  </ModalHeader>
19
19
  <ModalContent className="px-6 py-4">
20
- <p>Modal body content</p>
20
+ <p>Modal body content.</p>
21
21
  </ModalContent>
22
22
  <ModalFooter>
23
23
  <Button variant="outline" onClick={() => setIsOpen(false)}>Cancel</Button>
@@ -25,19 +25,19 @@ Storybook stories for the `Modal` UI component, demonstrating two interaction pa
25
25
  </ModalFooter>
26
26
  </Modal>
27
27
 
28
- // Autocomplete inside modalcapture modal ref to avoid z-index conflicts
28
+ // Modal with Autocompleteattach a ref to keep the dropdown in the modal's DOM tree
29
29
  const [modalElement, setModalElement] = useState<HTMLDivElement | null>(null)
30
- const modalRef = useCallback((node: HTMLDivElement | null) => {
31
- setModalElement(node)
32
- }, [])
30
+ const modalRef = useCallback((node: HTMLDivElement | null) => setModalElement(node), [])
33
31
 
34
- <Modal ref={modalRef} isOpen={isOpen} onClose={...} className="max-w-lg overflow-visible">
32
+ <Modal ref={modalRef} isOpen={isOpen} onClose={() => setIsOpen(false)} className="max-w-lg overflow-visible">
35
33
  <ModalContent className="px-6 py-4">
36
34
  <Autocomplete
35
+ multiple
37
36
  options={options}
38
37
  value={selected}
39
38
  onChange={setSelected}
40
- placeholder="Search..."
39
+ label="Industries"
40
+ placeholder="Search industries..."
41
41
  />
42
42
  </ModalContent>
43
43
  </Modal>
@@ -45,5 +45,8 @@ const modalRef = useCallback((node: HTMLDivElement | null) => {
45
45
 
46
46
  ## Notes
47
47
 
48
- - `WithAutocomplete` uses `useCallback` ref to capture the modal DOM node, enabling dropdown portals to render inside the modal's subtree and avoid z-index stacking issues.
49
- - Both stories manage `isOpen` via local `useState`, decoupled from Storybook's `args.isOpen` control after initial render.
48
+ - Both stories manage open/close state locally via `useState`, keeping each story self-contained with a trigger `Button`.
49
+ - The `WithAutocomplete` story captures the modal's DOM node via a `useCallback` ref. Pass `modalElement` as `portalContainer` to the `Autocomplete` if your implementation renders the dropdown in a portal, preventing z-index stacking issues.
50
+ - The `isOpen` and `className` args are exposed as Storybook controls (`boolean` and `text` respectively).
51
+
52
+ **Source:** [`Modal.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/Modal.stories.tsx)
@@ -0,0 +1,45 @@
1
+ <!-- source-hash: 66b7b4649ed15eb53a24145addff0a43 -->
2
+ Storybook stories for the `MspOrganizationCard` component, covering the AI Assistant welcome screen card that identifies the managing MSP organization.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `meta` | `Meta` | Storybook metadata — mounts under `Chat/AI Assistant Welcome Screen/MSP Organization`, centered in a 600px wrapper mirroring the Figma container |
9
+ | `Default` | `Story` | Card with a square logo image, website label, and external-link anchor (new tab) |
10
+ | `NoLogo` | `Story` | Fallback state — renders initials derived from `name` when no `logoUrl` is provided |
11
+ | `WithCallback` | `Story` | Button fires `onOpenWebsite` callback instead of navigating via `href` |
12
+ | `WithoutAction` | `Story` | Trailing button hidden when both `href` and `onOpenWebsite` are omitted |
13
+ | `LongValues` | `Story` | Truncation behavior — long `name` and `website` values clamp to a single line |
14
+ | `Loading` | `Story` | Renders `MspOrganizationCardSkeleton` as the placeholder shown while tenant data loads |
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ import { MspOrganizationCard } from '../components/chat/msp-organization-card'
20
+ import { MspOrganizationCardSkeleton } from '../components/chat/msp-organization-card-skeleton'
21
+
22
+ // Anchor variant — opens organization website in a new tab
23
+ <MspOrganizationCard
24
+ name="TechFlow Solutions"
25
+ website="www.techflow.com"
26
+ href="https://www.techflow.com"
27
+ logoUrl="https://cdn.example.com/techflow-logo.png"
28
+ />
29
+
30
+ // Callback variant — handle navigation in-app
31
+ <MspOrganizationCard
32
+ name="TechFlow Solutions"
33
+ website="www.techflow.com"
34
+ onOpenWebsite={() => openOrgPanel()}
35
+ />
36
+
37
+ // Loading state while tenant info resolves
38
+ <MspOrganizationCardSkeleton />
39
+ ```
40
+
41
+ ## Notes
42
+
43
+ - The card is width-unconstrained and fills its parent; wrap it in a container to control width (Figma reference: node `1:5540`, `600×80px`).
44
+ - The trailing external-link button renders **only** when either `href` or `onOpenWebsite` is provided.
45
+ - Source: [`MspOrganizationCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/MspOrganizationCard.stories.tsx)