@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,57 +1,58 @@
1
- <!-- source-hash: ffc5aef958faee68b30051c7f83e0b1e -->
2
- A full-featured, theme-aware Markdown editor component wrapping `@uiw/react-md-editor` with Flamingo design system styling, file upload support, and auto-scroll during resize.
1
+ <!-- source-hash: a618d405d5548462a096475c39936f2e -->
2
+ A full-featured Markdown editor component built on top of `@uiw/react-md-editor`, providing theme-aware styling, file/image upload support, paste handling, and auto-scroll during resize drag.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### `MarkdownEditor` (default export)
7
- The primary editor component. Dynamically loads the underlying `MDEditor` (SSR-safe) and injects scoped CSS overrides to match Flamingo's design tokens.
7
+ The primary editor component. Lazily loads `@uiw/react-md-editor` (SSR-safe) and injects scoped CSS overrides that map to ODS design tokens.
8
8
 
9
9
  ### `MarkdownEditorStyles`
10
- Internal component that injects `<style>` into `document.head` once on mount, applying Flamingo theme variables to all `.w-md-editor-*` selectors.
10
+ Internal component that injects `mdEditorCSS` into `<head>` as a `<style>` tag on mount (idempotent uses a stable element ID to avoid duplicates).
11
11
 
12
12
  ### `MarkdownEditorProps`
13
13
  | Prop | Type | Description |
14
- |------|------|-------------|
14
+ |---|---|---|
15
15
  | `value` | `string` | Controlled markdown content |
16
- | `onChange` | `(markdown: string) => void` | Change callback |
17
- | `placeholder` | `string` | Editor placeholder text |
18
- | `disabled` | `boolean` | Disables editing |
19
- | `height` | `number` | Initial height in px (default: `600`) |
20
- | `minHeight` | `number` | Minimum height in px (default: `100`) |
21
- | `onUploadFile` | `(file: File) => Promise<string>` | Upload handler; shows upload button when provided |
16
+ | `onChange` | `(markdown: string) => void` | Called on every edit |
17
+ | `placeholder` | `string` | Empty-state hint text |
18
+ | `disabled` | `boolean` | Disables the editor |
19
+ | `height` | `number` | Initial height in px (default `600`) |
20
+ | `minHeight` | `number` | Minimum height in px (default `100`) |
21
+ | `onUploadFile` | `(file: File) => Promise<string>` | Upload handler; reveals upload button when provided |
22
22
  | `onFileUploaded` | `(url, filename) => void` | Post-upload callback |
23
- | `renderPreview` | `(source: string) => ReactNode` | Custom preview renderer |
23
+ | `renderPreview` | `(source: string) => React.ReactNode` | Custom preview renderer |
24
24
 
25
25
  ## Usage Example
26
26
 
27
27
  ```typescript
28
- import { MarkdownEditor } from "./markdown-editor"
28
+ import { MarkdownEditor } from "@/components/markdown-editor"
29
29
 
30
30
  function MyForm() {
31
- const [content, setContent] = useState("# Hello")
31
+ const [body, setBody] = useState("# Hello\n\nStart writing...")
32
32
 
33
- const handleUpload = async (file: File): Promise<string> => {
34
- const formData = new FormData()
35
- formData.append("file", file)
36
- const res = await fetch("/api/upload", { method: "POST", body: formData })
33
+ const uploadFile = async (file: File): Promise<string> => {
34
+ const form = new FormData()
35
+ form.append("file", file)
36
+ const res = await fetch("/api/upload", { method: "POST", body: form })
37
37
  const { url } = await res.json()
38
38
  return url
39
39
  }
40
40
 
41
41
  return (
42
42
  <MarkdownEditor
43
- value={content}
44
- onChange={setContent}
43
+ value={body}
44
+ onChange={setBody}
45
45
  placeholder="Write something..."
46
46
  height={400}
47
- onUploadFile={handleUpload}
47
+ onUploadFile={uploadFile}
48
48
  onFileUploaded={(url, name) => console.log("Uploaded:", name, url)}
49
49
  />
50
50
  )
51
51
  }
52
52
  ```
53
53
 
54
- **Notable behaviors:**
55
- - Pasting an image from clipboard triggers `onUploadFile` automatically
56
- - Uploaded files are inserted as `![name](url)` (images) or `[name](url)` (other)
57
- - The resize drag handle triggers an auto-scroll RAF loop to prevent viewport lock during resize
54
+ ## Notable Behaviors
55
+
56
+ - **Paste-to-upload**: Pasting an image from the clipboard triggers `onUploadFile` automatically and inserts the resulting Markdown image link at the cursor.
57
+ - **Auto-scroll on resize**: A `requestAnimationFrame` loop detects when the user drags the resize bar near the viewport bottom and scrolls the nearest scrollable ancestor, preventing the handle from going offscreen.
58
+ - **Theme tokens**: All CSS overrides use `var(--color-*)` and `var(--ods-*)` CSS custom properties so the editor adapts to light/dark themes without re-mounting.
@@ -0,0 +1,64 @@
1
+ <!-- source-hash: 0af4a3ae2ab53f633bb817451c42700d -->
2
+ Infinite-scroll marquee wall component with sync coordination, FLIP morph support, and composable edge fades for animated or static chip/card walls.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `MarqueeWall` | Component | Main infinite-scroll wall (implied by hooks/props wiring) |
9
+ | `MarqueeWallFades` | Component | Standalone edge-fade overlays for composite/stacked walls |
10
+ | `useMarqueeSync` | Hook | Creates a shared position controller to pixel-lock multiple wall instances |
11
+ | `getMarqueeTrackOffset` | Function | Returns the last known translation + wrap of a named wall (survives unmount) |
12
+ | `getMarqueeAppliedOffset` | Function | Reads the live DOM transform of a wall's track container |
13
+ | `getMarqueeCloneTwin` | Function | Locates the loop-clone twin of an element inside a wall's primary copy |
14
+ | `MarqueeSyncController` | Interface | Shared driver registry for synced walls |
15
+ | `MarqueeTrackOffset` | Interface | Per-frame position record published to the global offset map |
16
+ | `MarqueeWallProps` | Interface | Full prop surface for the wall component |
17
+
18
+ ## Usage Example
19
+
20
+ ```typescript
21
+ // Basic animated chip wall
22
+ <MarqueeWall
23
+ mode="animated"
24
+ axis="x"
25
+ speed={40}
26
+ fade={['left', 'right']}
27
+ fadeColor="var(--color-bg)"
28
+ copyGap="var(--chip-gap)"
29
+ className="h-32 w-full"
30
+ contentClassName="flex gap-2"
31
+ >
32
+ {chips.map(chip => <Chip key={chip.id} {...chip} />)}
33
+ </MarqueeWall>
34
+
35
+ // Pixel-locked pair (e.g. pending vs. resolved overlay)
36
+ const sync = useMarqueeSync()
37
+
38
+ <MarqueeWall sync={sync} trackId="cta-wall" ...>{chips}</MarqueeWall>
39
+ <MarqueeWall sync={sync} trackId="cta-wall" ...>{chips}</MarqueeWall>
40
+
41
+ // Standalone fades over a stacked row layout
42
+ <div className="relative">
43
+ <StackedRows />
44
+ <MarqueeWallFades
45
+ fade={['top', 'bottom']}
46
+ fadeColor="var(--color-surface)"
47
+ fadeSize={{ top: 40, bottom: 40 }}
48
+ />
49
+ </div>
50
+
51
+ // FLIP drift correction — read offset before morph capture
52
+ const offset = getMarqueeTrackOffset('cta-wall')
53
+ ```
54
+
55
+ ## Notes
56
+
57
+ - `MarqueeWallFades` renders at `z-[1]`, above FLIP flight ghosts (`z-0`), so in-flight chips dissolve under the blur naturally.
58
+ - The global `MARQUEE_TRACK_OFFSETS` map intentionally survives unmount to support cross-remount FLIP morphs.
59
+ - Clone copy is `aria-hidden` with focusable descendants suppressed via `useSuppressCloneFocus`, but remains clickable.
60
+ - Auto-disables under `prefers-reduced-motion` regardless of the `animate` prop.
61
+
62
+ ## Source
63
+
64
+ [`marquee-wall.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/marquee-wall.tsx)
@@ -1,18 +1,24 @@
1
- <!-- source-hash: 012df9d2854b351926910f02fe6af944 -->
2
- A styled React menubar component system built on top of Radix UI primitives, providing a complete set of components for creating accessible desktop-style menu bars with dropdowns, submenus, and various item types.
1
+ <!-- source-hash: 787375e2a94d48292a1025b78d2a5ead -->
2
+ Accessible menubar component built on Radix UI's `@radix-ui/react-menubar` primitive, styled with Tailwind CSS and integrated with the OpenFrame design system.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Menubar** - Root container component with styled border and spacing
7
- - **MenubarTrigger** - Clickable menu trigger buttons with hover/focus states
8
- - **MenubarContent** - Dropdown menu container with animations and portal rendering
9
- - **MenubarItem** - Basic menu items with focus states and disabled support
10
- - **MenubarCheckboxItem** - Checkable menu items with check icon indicators
11
- - **MenubarRadioItem** - Radio button menu items with circle indicators
12
- - **MenubarSubTrigger/MenubarSubContent** - Nested submenu components with chevron icons
13
- - **MenubarSeparator** - Visual dividers between menu sections
14
- - **MenubarLabel** - Non-interactive section headers
15
- - **MenubarShortcut** - Keyboard shortcut display component
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Menubar` | Root container — horizontal bar with border, rounded corners, and background styling |
9
+ | `MenubarMenu` | Groups a trigger with its associated content (re-export of Radix `Menu`) |
10
+ | `MenubarTrigger` | Clickable menu label in the bar; highlights on focus and open state |
11
+ | `MenubarContent` | Dropdown panel rendered via portal with entrance/exit animations |
12
+ | `MenubarItem` | Standard clickable menu entry; supports `inset` prop for left-padding alignment |
13
+ | `MenubarCheckboxItem` | Menu item with a `Check` icon indicator for boolean toggles |
14
+ | `MenubarRadioGroup` | Wrapper for mutually exclusive `MenubarRadioItem` entries |
15
+ | `MenubarRadioItem` | Menu item with a `Circle` fill indicator for single-selection groups |
16
+ | `MenubarSubTrigger` | Nested menu trigger with a `ChevronRight` icon; supports `inset` prop |
17
+ | `MenubarSubContent` | Flyout panel for nested submenus |
18
+ | `MenubarLabel` | Non-interactive section header; supports `inset` prop |
19
+ | `MenubarSeparator` | Horizontal divider between menu sections |
20
+ | `MenubarShortcut` | Right-aligned muted span for displaying keyboard shortcut hints |
21
+ | `MenubarGroup` / `MenubarPortal` / `MenubarSub` | Radix UI structural primitives re-exported directly |
16
22
 
17
23
  ## Usage Example
18
24
 
@@ -25,9 +31,16 @@ import {
25
31
  MenubarSeparator,
26
32
  MenubarShortcut,
27
33
  MenubarTrigger,
28
- } from "./menubar"
34
+ MenubarCheckboxItem,
35
+ MenubarRadioGroup,
36
+ MenubarRadioItem,
37
+ MenubarLabel,
38
+ MenubarSub,
39
+ MenubarSubTrigger,
40
+ MenubarSubContent,
41
+ } from "@/components/ui/menubar"
29
42
 
30
- function AppMenubar() {
43
+ export function AppMenubar() {
31
44
  return (
32
45
  <Menubar>
33
46
  <MenubarMenu>
@@ -40,10 +53,31 @@ function AppMenubar() {
40
53
  New Window <MenubarShortcut>⌘N</MenubarShortcut>
41
54
  </MenubarItem>
42
55
  <MenubarSeparator />
43
- <MenubarItem>Share</MenubarItem>
56
+ <MenubarSub>
57
+ <MenubarSubTrigger>Share</MenubarSubTrigger>
58
+ <MenubarSubContent>
59
+ <MenubarItem>Email</MenubarItem>
60
+ <MenubarItem>Slack</MenubarItem>
61
+ </MenubarSubContent>
62
+ </MenubarSub>
63
+ </MenubarContent>
64
+ </MenubarMenu>
65
+
66
+ <MenubarMenu>
67
+ <MenubarTrigger>View</MenubarTrigger>
68
+ <MenubarContent>
69
+ <MenubarLabel>Appearance</MenubarLabel>
70
+ <MenubarCheckboxItem checked>Show Sidebar</MenubarCheckboxItem>
71
+ <MenubarSeparator />
72
+ <MenubarRadioGroup value="compact">
73
+ <MenubarRadioItem value="compact">Compact</MenubarRadioItem>
74
+ <MenubarRadioItem value="comfortable">Comfortable</MenubarRadioItem>
75
+ </MenubarRadioGroup>
44
76
  </MenubarContent>
45
77
  </MenubarMenu>
46
78
  </Menubar>
47
79
  )
48
80
  }
49
- ```
81
+ ```
82
+
83
+ **Source:** [`https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/ui/menubar.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/ui/menubar.tsx)
@@ -1,15 +1,19 @@
1
- <!-- source-hash: 4e95a6a9f9ef814174b92059833949dc -->
2
- Accessible modal dialog component with keyboard navigation, backdrop click-to-close, and scroll locking. Built with React context to share close functionality across sub-components.
1
+ <!-- source-hash: c07730f37a88d985ee9a4914a711ec71 -->
2
+ Accessible, animated modal dialog component with compound sub-components for building structured dialogs with backdrop, scroll-lock, and keyboard dismiss support.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Description |
7
- |--------|-------------|
8
- | `ModalV2` | Root modal container manages open state, Escape key handling, and body scroll lock |
9
- | `ModalV2Header` | Header row with close button (desktop only); consumes `ModalContext` for `onClose` |
10
- | `ModalV2Title` | Styled `<h2>` heading for the modal title |
11
- | `ModalV2Content` | Scrollable content area with `overflow-y-auto` |
12
- | `ModalV2Footer` | Flex row container for action buttons |
7
+ |---|---|
8
+ | `ModalV2` | Root modal container managing open/close state, backdrop, animations, scroll lock, and Escape key handling |
9
+ | `ModalV2Header` | Header row with auto-injected close button (desktop only) via `ModalContext` |
10
+ | `ModalV2Title` | Semantic `<h2>` styled with design system text tokens |
11
+ | `ModalV2Content` | Scrollable body area with `overflow-y-auto` and flex-grow |
12
+ | `ModalV2Footer` | Horizontal action row for buttons or other controls |
13
+
14
+ **Internal:**
15
+ - `ModalContext` — React context passing `onClose` to descendants (used by `ModalV2Header`)
16
+ - `ANIMATION_DURATION` — `200ms` constant kept in sync with Tailwind `duration-200` utilities; controls unmount delay so exit animations complete before DOM removal
13
17
 
14
18
  ## Usage Example
15
19
 
@@ -22,30 +26,40 @@ import {
22
26
  ModalV2Footer,
23
27
  } from "@/components/modal-v2"
24
28
 
25
- function ExampleModal() {
26
- const [isOpen, setIsOpen] = React.useState(false)
29
+ function MyDialog() {
30
+ const [open, setOpen] = React.useState(false)
27
31
 
28
32
  return (
29
- <ModalV2 isOpen={isOpen} onClose={() => setIsOpen(false)}>
30
- <ModalV2Header>
31
- <ModalV2Title>Confirm Action</ModalV2Title>
32
- </ModalV2Header>
33
- <ModalV2Content>
34
- <p>Are you sure you want to proceed?</p>
35
- </ModalV2Content>
36
- <ModalV2Footer>
37
- <button onClick={() => setIsOpen(false)}>Cancel</button>
38
- <button onClick={handleConfirm}>Confirm</button>
39
- </ModalV2Footer>
40
- </ModalV2>
33
+ <>
34
+ <button onClick={() => setOpen(true)}>Open</button>
35
+
36
+ <ModalV2 isOpen={open} onClose={() => setOpen(false)}>
37
+ <ModalV2Header>
38
+ <ModalV2Title>Confirm Action</ModalV2Title>
39
+ </ModalV2Header>
40
+
41
+ <ModalV2Content>
42
+ <p>Are you sure you want to proceed?</p>
43
+ </ModalV2Content>
44
+
45
+ <ModalV2Footer>
46
+ <button onClick={() => setOpen(false)}>Cancel</button>
47
+ <button onClick={handleConfirm}>Confirm</button>
48
+ </ModalV2Footer>
49
+ </ModalV2>
50
+ </>
41
51
  )
42
52
  }
43
53
  ```
44
54
 
45
55
  ## Behavior Notes
46
56
 
47
- - **Escape key** closes the modal automatically while open
48
- - **Backdrop click** dismisses via the overlay `div`
49
- - **Body scroll** is locked (`overflow: hidden`) while open and restored on close
50
- - **Close button** renders only on `md+` breakpoints; mobile relies on backdrop/Escape
51
- - All sub-components forward refs to their underlying DOM elements
57
+ - **Scroll lock** uses `@react-aria/overlays` `usePreventScroll` (ref-counted, restores prior `overflow` styles)
58
+ - **Escape key** document-level listener active only while `isOpen` is `true`
59
+ - **Backdrop click** calls `onClose`
60
+ - **Animations** slide-up on mobile, zoom on desktop; `fill-mode-forwards` prevents opacity flash between animation end and unmount
61
+ - **Close button** rendered inside `ModalV2Header`, visible on `md:` breakpoint and above only
62
+
63
+ ## Source
64
+
65
+ [`modal-v2.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/modal-v2.tsx)
@@ -1,37 +1,39 @@
1
- <!-- source-hash: bde5cd5df57a305212c78a5d9d2b8add -->
2
- A **deprecated** modal dialog component set providing accessible overlay UI primitives. All exports are superseded by `ModalV2` from `./modal-v2`.
3
-
4
- > ⚠️ **Deprecated** — Migrate to `ModalV2` and its sub-components from `./modal-v2`.
1
+ <!-- source-hash: ed95b565acc4157d608a7b7a22ff8139 -->
2
+ A deprecated modal component system providing an accessible, composable modal dialog with scroll locking, keyboard handling, and overlay dismissal. All exports are superseded by `ModalV2` from `./modal-v2`.
5
3
 
6
4
  ## Key Components
7
5
 
8
6
  | Export | Description |
9
- |--------|-------------|
10
- | `Modal` | Root overlay container; handles `Escape` key, backdrop click, and scroll locking |
7
+ |---|---|
8
+ | `Modal` | Root container handles overlay, Escape key, scroll lock, and `role="dialog"` |
9
+ | `ModalHeader` | Top section with bottom border, meant to hold a title |
10
+ | `ModalTitle` | Styled `<h2>` for the dialog heading |
11
11
  | `ModalContent` | Scrollable body area (`overflow-y-auto`) |
12
- | `ModalHeader` | Top section with bottom border, fixed height |
13
- | `ModalTitle` | Styled `<h2>` heading within the header |
14
- | `ModalFooter` | Bottom action bar, right-aligned with gap |
12
+ | `ModalFooter` | Bottom action row, right-aligned with gap |
15
13
 
16
- All components use `React.forwardRef` and accept an optional `className` for Tailwind overrides via `cn()`.
14
+ All components use `React.forwardRef` and accept an optional `className` for Tailwind overrides.
17
15
 
18
16
  ## Usage Example
19
17
 
18
+ > ⚠️ **Deprecated.** Use [`ModalV2`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/modal-v2.tsx) instead.
19
+
20
20
  ```typescript
21
- import { Modal, ModalContent, ModalHeader, ModalTitle, ModalFooter } from "./modal"
21
+ import { Modal, ModalHeader, ModalTitle, ModalContent, ModalFooter } from "./modal"
22
+
23
+ function Example() {
24
+ const [open, setOpen] = React.useState(false)
22
25
 
23
- function ExampleDialog({ open, onClose }: { open: boolean; onClose: () => void }) {
24
26
  return (
25
- <Modal isOpen={open} onClose={onClose}>
27
+ <Modal isOpen={open} onClose={() => setOpen(false)}>
26
28
  <ModalHeader>
27
29
  <ModalTitle>Confirm Action</ModalTitle>
28
30
  </ModalHeader>
29
31
  <ModalContent className="px-6 py-4">
30
- <p>Are you sure you want to proceed?</p>
32
+ Are you sure you want to proceed?
31
33
  </ModalContent>
32
34
  <ModalFooter>
33
- <button onClick={onClose}>Cancel</button>
34
- <button onClick={onClose}>Confirm</button>
35
+ <button onClick={() => setOpen(false)}>Cancel</button>
36
+ <button onClick={handleConfirm}>Confirm</button>
35
37
  </ModalFooter>
36
38
  </Modal>
37
39
  )
@@ -40,6 +42,7 @@ function ExampleDialog({ open, onClose }: { open: boolean; onClose: () => void }
40
42
 
41
43
  ## Behavior Notes
42
44
 
43
- - Backdrop click and `Escape` key both trigger `onClose`
44
- - `document.body` scroll is blocked (`overflow: hidden`) while modal is open and restored on close/unmount
45
- - Renders at `z-index: 1300` using a fixed full-screen overlay
45
+ - **Scroll lock** uses `usePreventScroll` from `@react-aria/overlays`; ref-counted, safely restores prior body styles on close
46
+ - **Escape key** document-level listener added only while open; cleaned up on close or unmount
47
+ - **Overlay click** — clicking the backdrop calls `onClose`; the dialog itself is `z-10` above the `bg-ods-overlay` backdrop
48
+ - **Max dimensions** — constrained to `max-w-md` width and `max-h-[90vh]` height; `ModalContent` scrolls independently
@@ -1,54 +1,60 @@
1
- <!-- source-hash: d1c57ae6ae958d461aaf3fb171dd1d00 -->
2
- A compact, reusable dropdown menu component triggered by an ellipsis icon button, built on Radix UI's `DropdownMenu`. Supports both link-based and click-based menu items with optional icons, danger states, and controlled open/close behavior.
1
+ <!-- source-hash: 27013ecbc14f532020d75fe1ab709dd3 -->
2
+ Compact ellipsis-triggered dropdown menu component built on Radix `DropdownMenu`, supporting both button and link item variants.
3
+
4
+ > **Deprecated:** Use `ActionsMenuDropdown` from `./actions-menu` instead. This component will be removed in a future release.
3
5
 
4
6
  ## Key Components
5
7
 
6
8
  ### `MoreActionsItem`
7
- Type definition for individual menu entries:
8
- - `label` — display text
9
- - `onClick` optional click handler
10
- - `href` — renders item as a `<Link>` (anchor tag) instead of a button
11
- - `openInNewTab` applies `target="_blank"` when using `href`
12
- - `icon` optional React node rendered before the label
13
- - `disabled` disables interaction and reduces opacity
14
- - `danger` applies error color styling to the icon
9
+ Defines a single menu entry with the following options:
10
+
11
+ | Property | Type | Description |
12
+ |---|---|---|
13
+ | `label` | `string` | Display text |
14
+ | `onClick` | `() => void` | Click handler (optional when `href` is set) |
15
+ | `href` | `string` | Renders item as a Next.js `<Link>` |
16
+ | `openInNewTab` | `boolean` | Opens `href` in a new tab |
17
+ | `icon` | `ReactNode` | Leading icon |
18
+ | `disabled` | `boolean` | Disables interaction |
19
+ | `danger` | `boolean` | Applies error color to icon |
15
20
 
16
21
  ### `MoreActionsMenuProps`
17
- Configuration interface for the menu:
18
- - `items` — array of `MoreActionsItem`
19
- - `align`, `side`, `sideOffset` — Radix positioning controls
20
- - `trigger` — optional custom trigger element (replaces default ellipsis button)
21
- - `open` / `onOpenChange` — controlled open state support
22
+ Configuration for the menu container, including controlled `open`/`onOpenChange`, positioning (`align`, `side`, `sideOffset`), and a custom `trigger` override.
22
23
 
23
24
  ### `MoreActionsMenu`
24
- The exported component. Renders either a default ellipsis icon `Button` or a custom `trigger`, with a `DropdownMenuContent` list of items.
25
+ The rendered component. Defaults to an ellipsis icon button trigger. Items render as `<a href>` (link variant) or a `DropdownMenuItem` button based on whether `href` is present.
25
26
 
26
27
  ## Usage Example
27
28
 
28
29
  ```typescript
29
30
  import { MoreActionsMenu } from './more-actions-menu'
30
- import { EditIcon, TrashIcon } from '../icons'
31
+ import { Trash01Icon, Edit01Icon } from '../icons-v2-generated'
31
32
 
32
33
  <MoreActionsMenu
33
34
  items={[
34
35
  {
35
36
  label: 'Edit',
36
- icon: <EditIcon />,
37
- onClick: () => console.log('edit'),
37
+ icon: <Edit01Icon />,
38
+ onClick: () => handleEdit(),
38
39
  },
39
40
  {
40
- label: 'View Details',
41
- href: '/tickets/123',
41
+ label: 'Open in docs',
42
+ icon: <Edit01Icon />,
43
+ href: '/docs/item',
42
44
  openInNewTab: true,
43
45
  },
44
46
  {
45
47
  label: 'Delete',
46
- icon: <TrashIcon />,
48
+ icon: <Trash01Icon />,
47
49
  danger: true,
48
- onClick: () => console.log('delete'),
50
+ onClick: () => handleDelete(),
49
51
  },
50
52
  ]}
51
53
  align="end"
52
54
  side="bottom"
53
55
  />
54
- ```
56
+ ```
57
+
58
+ ## Migration
59
+
60
+ Replace with [`ActionsMenuDropdown`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/actions-menu.tsx) which supports the same API plus grouped items, checkboxes, and submenus.
@@ -1,17 +1,19 @@
1
- <!-- source-hash: b8dcb926ccd995c515d14074ce101e19 -->
2
- A complete navigation menu component system built on Radix UI primitives with custom styling and animations for creating accessible dropdown navigation menus.
1
+ <!-- source-hash: d23bf0b4932c8f403db0c50d4da2788b -->
2
+ Accessible navigation menu component built on Radix UI primitives, providing animated dropdown menus with keyboard navigation support and smooth enter/exit transitions.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **NavigationMenu** - Root container component that manages the overall navigation structure
7
- - **NavigationMenuList** - Wrapper for navigation menu items with flex layout
8
- - **NavigationMenuItem** - Individual menu item container (re-exported from Radix)
9
- - **NavigationMenuTrigger** - Clickable trigger button with ChevronDown icon and rotation animation
10
- - **NavigationMenuContent** - Dropdown content panel with slide/fade animations
11
- - **NavigationMenuLink** - Navigation link component (re-exported from Radix)
12
- - **NavigationMenuViewport** - Portal container for dropdown content with zoom animations
13
- - **NavigationMenuIndicator** - Visual indicator showing active menu state
14
- - **navigationMenuTriggerStyle** - CVA utility for consistent trigger button styling
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `NavigationMenu` | Component | Root wrapper with viewport auto-included |
9
+ | `NavigationMenuList` | Component | Horizontal list container for menu items |
10
+ | `NavigationMenuItem` | Component | Individual menu item wrapper (Radix primitive) |
11
+ | `NavigationMenuTrigger` | Component | Clickable trigger with animated `ChevronDown` icon |
12
+ | `NavigationMenuContent` | Component | Animated dropdown content panel with slide transitions |
13
+ | `NavigationMenuLink` | Component | Accessible link element (Radix primitive) |
14
+ | `NavigationMenuViewport` | Component | Floating viewport that renders active content |
15
+ | `NavigationMenuIndicator` | Component | Animated arrow indicator pointing to active item |
16
+ | `navigationMenuTriggerStyle` | `cva` function | Reusable CVA style for standalone trigger-styled links |
15
17
 
16
18
  ## Usage Example
17
19
 
@@ -20,31 +22,42 @@ import {
20
22
  NavigationMenu,
21
23
  NavigationMenuContent,
22
24
  NavigationMenuItem,
25
+ NavigationMenuLink,
23
26
  NavigationMenuList,
24
27
  NavigationMenuTrigger,
25
- } from "./navigation-menu"
28
+ navigationMenuTriggerStyle,
29
+ } from "@/components/ui/navigation-menu"
26
30
 
27
- function MainNav() {
31
+ export function SiteNav() {
28
32
  return (
29
33
  <NavigationMenu>
30
34
  <NavigationMenuList>
31
35
  <NavigationMenuItem>
32
36
  <NavigationMenuTrigger>Products</NavigationMenuTrigger>
33
37
  <NavigationMenuContent>
34
- <div className="grid gap-3 p-6 md:w-[400px]">
35
- <a href="/product-1">Product 1</a>
36
- <a href="/product-2">Product 2</a>
37
- </div>
38
+ <ul className="grid gap-3 p-4 w-[400px]">
39
+ <li>
40
+ <NavigationMenuLink href="/openframe">
41
+ OpenFrame
42
+ </NavigationMenuLink>
43
+ </li>
44
+ <li>
45
+ <NavigationMenuLink href="/mingo-ai">
46
+ Mingo AI
47
+ </NavigationMenuLink>
48
+ </li>
49
+ </ul>
38
50
  </NavigationMenuContent>
39
51
  </NavigationMenuItem>
40
-
52
+
53
+ {/* Standalone link using trigger styling */}
41
54
  <NavigationMenuItem>
42
- <NavigationMenuTrigger>About</NavigationMenuTrigger>
43
- <NavigationMenuContent>
44
- <div className="p-6">
45
- <p>About our company...</p>
46
- </div>
47
- </NavigationMenuContent>
55
+ <NavigationMenuLink
56
+ href="/docs"
57
+ className={navigationMenuTriggerStyle()}
58
+ >
59
+ Docs
60
+ </NavigationMenuLink>
48
61
  </NavigationMenuItem>
49
62
  </NavigationMenuList>
50
63
  </NavigationMenu>
@@ -52,4 +65,6 @@ function MainNav() {
52
65
  }
53
66
  ```
54
67
 
55
- The component system provides full keyboard navigation, ARIA compliance, and smooth animations for professional navigation experiences.
68
+ > **Note:** `NavigationMenuViewport` is automatically rendered inside `NavigationMenu` no need to add it manually. Use `navigationMenuTriggerStyle()` to style plain links with the same appearance as trigger buttons.
69
+
70
+ **Source:** [`navigation-menu.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/navigation-menu.tsx)