@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,49 +1,54 @@
1
- <!-- source-hash: 288686d02f75f571a8af9576a88762b3 -->
2
- A React component that renders categorized vendor tags with icons and styling for different software types and classifications.
1
+ <!-- source-hash: f936efb725972b55ffa32204b6306bc7 -->
2
+ A client-side React component that renders styled badge tags for categorizing vendors, tools, and platform capabilities within the OpenFrame design system.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **VendorTag**: Main component that displays a styled tag with icon and text based on vendor type
7
- - **VendorTagProps**: Interface defining props including type, text, styling options, and size variants
8
- - **getTagContent()**: Internal function that maps vendor types to their corresponding icons, colors, and display text
6
+ ### `VendorTagProps` Interface
9
7
 
10
- ## Supported Tag Types
8
+ | Prop | Type | Description |
9
+ |---|---|---|
10
+ | `type` | union (14 variants) | Determines icon, label, and color scheme |
11
+ | `text` | `string` | Optional override for the default display label |
12
+ | `className` | `string` | Additional CSS classes |
13
+ | `size` | `'sm' \| 'md'` | Controls padding; defaults to `'md'` |
14
+ | `hidden` | `boolean` | Applies `invisible` class when `true` |
15
+ | `accentColor` | `string` | Inline color override for the icon box (open-source type only) |
11
16
 
12
- The component supports various vendor classifications:
13
- - **Licensing**: `open-source`, `commercial`, `free`, `freemium`, `paid`, `enterprise`
14
- - **Selection**: `ai`, `manual`, `openframe_selected`, `recommended`
15
- - **Generic**: `classification`, `placeholder`
17
+ ### `VendorTag` Function
16
18
 
17
- Each type has predefined styling, icons, and color schemes with support for custom accent colors and text overrides.
19
+ Renders a pill-shaped tag with a small icon box and a label. The internal `getTagContent()` helper maps each `type` to its icon, default text, and text color using ODS design tokens (`ods-accent`, `ods-border`, `ods-text-primary`, etc.).
20
+
21
+ **Supported types:**
22
+
23
+ - **Licensing:** `open-source`, `commercial`, `free`, `freemium`, `paid`, `enterprise`
24
+ - **Platform capability:** `api`, `data`, `k8s`, `secured`
25
+ - **Selection state:** `ai`, `manual`, `openframe_selected`, `placeholder`
26
+ - **Meta:** `recommended`, `classification` (sub-dispatches on `text` value)
18
27
 
19
28
  ## Usage Example
20
29
 
21
30
  ```typescript
22
- import { VendorTag } from './vendor-tag'
31
+ import { VendorTag } from "./vendor-tag"
23
32
 
24
- // Basic open source tag
33
+ // Basic licensing badge
25
34
  <VendorTag type="open-source" />
26
35
 
27
- // Custom commercial tag with accent color
28
- <VendorTag
29
- type="commercial"
30
- text="Enterprise Solution"
31
- accentColor="#ff6b35"
32
- size="sm"
33
- />
34
-
35
- // AI-selected tag with custom styling
36
- <VendorTag
37
- type="ai"
38
- className="ml-2"
39
- hidden={!showTags}
40
- />
41
-
42
- // Classification tag with dynamic content
43
- <VendorTag
44
- type="classification"
45
- text="openframe_selected"
46
- />
36
+ // Custom label with accent color override
37
+ <VendorTag type="open-source" text="Apache 2.0" accentColor="#e07b39" />
38
+
39
+ // Small AI-selection badge
40
+ <VendorTag type="ai" size="sm" />
41
+
42
+ // Platform capability tags
43
+ <VendorTag type="k8s" />
44
+ <VendorTag type="secured" text="SOC 2" />
45
+
46
+ // Classification (text drives sub-type)
47
+ <VendorTag type="classification" text="open_source" />
48
+ <VendorTag type="classification" text="openframe_selected" />
49
+
50
+ // Hidden (preserves layout space)
51
+ <VendorTag type="recommended" hidden />
47
52
  ```
48
53
 
49
- The component uses Tailwind CSS classes with a dark theme design system (`ods-*` custom colors) and includes responsive sizing options.
54
+ **Source:** [`vendor-tag.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/vendor-tag.tsx)
@@ -1,14 +1,13 @@
1
- <!-- source-hash: 0a0456d4a0a372cdfeb0bc7afca3a55f -->
2
- A Next.js client component that renders a numbered list section highlighting the key value propositions of the OpenFrame/Flamingo platform.
1
+ <!-- source-hash: 8bdfd0b0bb8aed0edd883e829a021abf -->
2
+ A client-side React section component that renders a numbered list of value propositions explaining the benefits of the OpenFrame/Flamingo platform.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### `WhyItMattersItem` (internal)
7
- A list item component rendering a numbered entry with title and description. Accepts:
8
- - `number` display number string (e.g. `"1."`)
9
- - `title` short benefit headline
10
- - `description` supporting copy
11
- - `isLast?` — omits bottom border on the final item
7
+ A list item component rendering a single value proposition with:
8
+ - **Props:** `number` (display numeral), `title`, `description`, `isLast` (controls bottom border visibility)
9
+ - Responsive layout: stacked on mobile (`flex-col`), side-by-side on desktop (`md:flex-row`)
10
+ - Hover highlight via `hover:bg-ods-bg-hover`
12
11
 
13
12
  ### `WhyItMatters` (default export)
14
13
  The parent section component containing four hardcoded value propositions:
@@ -22,12 +21,17 @@ The parent section component containing four hardcoded value propositions:
22
21
 
23
22
  ## Usage Example
24
23
 
24
+ ```vue
25
+ <!-- Drop into any page layout as a standalone section -->
26
+ ```
27
+
25
28
  ```typescript
26
29
  import WhyItMatters from '@/components/why-it-matters';
27
30
 
28
31
  export default function LandingPage() {
29
32
  return (
30
33
  <main>
34
+ {/* other sections */}
31
35
  <WhyItMatters />
32
36
  </main>
33
37
  );
@@ -36,7 +40,7 @@ export default function LandingPage() {
36
40
 
37
41
  ## Notes
38
42
 
39
- - Marked `"use client"` — requires a Next.js App Router client boundary.
40
- - Styled with Tailwind CSS using `ods-` design tokens (`ods-accent`, `ods-border`, `ods-text-primary`, `ods-card`).
41
- - Items hover to `#2A2A2A` with a smooth transition for subtle interactivity.
42
- - Layout is responsive: stacks vertically on mobile (`flex-col`), switches to row on `md+`.
43
+ - Uses `"use client"` directive — requires a Next.js App Router client boundary
44
+ - Styling relies on ODS design tokens (`ods-bg`, `ods-card`, `ods-border`, `ods-accent`, `ods-text-primary`) — ensure the ODS theme is configured in Tailwind
45
+ - `SECTION_HEADING_CLASS` is imported from [`./layout/page-heading`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/layout/page-heading.ts) for consistent section heading typography
46
+ - Content is currently static; extract `items` to props or a CMS if copy needs to vary per page
@@ -1,12 +1,28 @@
1
- <!-- source-hash: 7b9908b3b26a126e9c2fb26254d2a3dc -->
2
- A React component for displaying boolean values with appropriate icons and text, plus utility logic for evaluating feature values across different data types.
1
+ <!-- source-hash: 5d8965c2105bee8651e70267abd0b3db -->
2
+ A React client component for rendering boolean values as icon-accompanied Yes/No indicators, plus a utility function for evaluating feature flag values across multiple data types.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **YesNoDisplay**: Main React component that renders boolean values with check/X icons
7
- - **evaluateFeatureValue**: Utility function that determines boolean state from various data formats (boolean, text, number)
6
+ ### `YesNoDisplay` (Component)
8
7
 
9
- The component supports customizable yes/no text, custom text override, and flexible styling through className props.
8
+ Renders a boolean state with an icon and label. Supports custom text override, configurable Yes/No labels, and optional CSS class extension.
9
+
10
+ | Prop | Type | Default | Description |
11
+ |------|------|---------|-------------|
12
+ | `value` | `boolean` | — | The boolean state to display |
13
+ | `yesText` | `string` | `"Yes"` | Label shown for truthy state |
14
+ | `noText` | `string` | `"No"` | Label shown for falsy state |
15
+ | `customText` | `string` | — | Overrides Yes/No logic; always renders with check icon |
16
+ | `className` | `string` | `""` | Additional CSS classes |
17
+
18
+ ### `evaluateFeatureValue` (Utility)
19
+
20
+ Normalizes raw feature values (`string | null | undefined`) to a `boolean` using type-aware rules:
21
+
22
+ - **`boolean`** — matches `"true"`, `"1"`, `"yes"`, `"✓"`, `"✅"`
23
+ - **`text`** — emoji-aware; treats any non-empty, non-negative string as truthy
24
+ - **`number`** — parses float; truthy if `> 0`
25
+ - Null-like sentinels (`"null"`, `"n/a"`, `"none"`, `"-"`) always return `false`
10
26
 
11
27
  ## Usage Example
12
28
 
@@ -14,31 +30,20 @@ The component supports customizable yes/no text, custom text override, and flexi
14
30
  import { YesNoDisplay, evaluateFeatureValue } from './yes-no-display'
15
31
 
16
32
  // Basic boolean display
17
- <YesNoDisplay value={true} />
18
-
19
- // Custom text labels
20
- <YesNoDisplay
21
- value={false}
22
- yesText="Active"
23
- noText="Inactive"
24
- />
25
-
26
- // Custom text override
27
- <YesNoDisplay
28
- value={true}
29
- customText="Premium Feature Available"
30
- />
31
-
32
- // Evaluate feature values
33
- const isEnabled = evaluateFeatureValue("✅", "text") // true
34
- const isActive = evaluateFeatureValue("0", "number") // false
35
- const hasFeature = evaluateFeatureValue("yes", "boolean") // true
36
-
37
- // Use together
38
- <YesNoDisplay
39
- value={evaluateFeatureValue(featureData.value, featureData.type)}
40
- className="my-2"
41
- />
33
+ <YesNoDisplay value={true} /> // ✓ Yes
34
+ <YesNoDisplay value={false} yesText="Enabled" noText="Disabled" />
35
+
36
+ // Custom text (always shows check icon)
37
+ <YesNoDisplay value={true} customText="Included in plan" />
38
+
39
+ // Evaluate raw feature flag values before rendering
40
+ const isEnabled = evaluateFeatureValue("✅", "text") // true
41
+ const hasCount = evaluateFeatureValue("42", "number") // true
42
+ const missing = evaluateFeatureValue("n/a", "boolean") // false
43
+
44
+ <YesNoDisplay value={isEnabled} />
42
45
  ```
43
46
 
44
- The `evaluateFeatureValue` function handles various input formats including emojis (✅/❌), text values ("yes"/"no"), numbers (>0 is true), and explicit null/empty states.
47
+ ## Source
48
+
49
+ [`yes-no-display.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/yes-no-display.tsx)
@@ -0,0 +1,50 @@
1
+ <!-- source-hash: d20279dde85e1fcd84bfce0068c08fca -->
2
+ A presentational component that renders a full author profile page body — identity header (avatar, name, job title, socials), bio, expertise badges, and a slot for the authored-content rail.
3
+
4
+ ## Key Components
5
+
6
+ ### `AuthorDetailViewProps`
7
+
8
+ | Prop | Type | Description |
9
+ |---|---|---|
10
+ | `author` | `AuthorProfile` | Full author data object |
11
+ | `proxyImageUrl` | `(url: string) => string` | Optional host-level avatar URL mapper; takes precedence over the ambient runtime proxy |
12
+ | `children` | `React.ReactNode` | Authored-content rail slot (hub passes SSR-prefetched section; embedders pass API-backed section) |
13
+ | `className` | `string` | Optional wrapper class override |
14
+
15
+ ### `AuthorDetailView`
16
+
17
+ The exported component. Handles:
18
+
19
+ - **Avatar proxying** — resolves through `proxyImageUrl` prop → `ChatRuntime.endpoints.imageProxyUrlPrefix` → raw URL (never throws without a provider)
20
+ - **Identity header** — avatar (or initial fallback), name as `<p>` (host owns `<h1>`), subtitle (`jobTitle @ company`), and social icon row
21
+ - **Bio** — formatted via `formatBioText`
22
+ - **Expertise badges** — `StatusBadge` per `knowsAbout` entry
23
+ - **Content slot** — renders `children` as-is beneath the profile
24
+
25
+ ## Usage Example
26
+
27
+ ```typescript
28
+ // Hub usage — SSR content rail passed as children
29
+ <AuthorDetailView author={authorProfile}>
30
+ <RelatedContentSection
31
+ authorSlug={authorProfile.slug}
32
+ initialItems={ssrItems}
33
+ />
34
+ </AuthorDetailView>
35
+
36
+ // Embed usage — custom proxy + API-backed content rail
37
+ <AuthorDetailView
38
+ author={authorProfile}
39
+ proxyImageUrl={(url) => `/media-proxy?src=${encodeURIComponent(url)}`}
40
+ >
41
+ <AuthoredContentSection
42
+ authorSlug={authorProfile.slug}
43
+ apiBaseUrl="https://api.example.com"
44
+ />
45
+ </AuthorDetailView>
46
+ ```
47
+
48
+ > **Embed contract:** `Image` renders through the embed shim (plain `<img>` outside Next.js hosts). The component is data-in, markup-out — no internal fetches.
49
+
50
+ **Source:** [`author-detail-view.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/author-detail-view.tsx)
@@ -0,0 +1,26 @@
1
+ <!-- source-hash: c59db722e44565f70c23008e3894c6d4 -->
2
+ Barrel export file that re-exports the `ShareExperienceSection` component and its associated `ShareExperienceSectionProps` type from the `share-experience-section` module.
3
+
4
+ ## Key Components
5
+
6
+ - **`ShareExperienceSection`** — The main component for rendering a "share experience" UI section.
7
+ - **`ShareExperienceSectionProps`** — TypeScript type definition for the component's props.
8
+
9
+ ## Usage Example
10
+
11
+ ```typescript
12
+ import {
13
+ ShareExperienceSection,
14
+ type ShareExperienceSectionProps,
15
+ } from '@/components/share-experience-section'
16
+
17
+ const props: ShareExperienceSectionProps = {
18
+ // component-specific props
19
+ }
20
+
21
+ export default function Page() {
22
+ return <ShareExperienceSection {...props} />
23
+ }
24
+ ```
25
+
26
+ > **Source:** [`index.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/index.ts)
@@ -0,0 +1,45 @@
1
+ <!-- source-hash: aa11a1879c86772619c2a16ae6fa5a48 -->
2
+ A client-side React section component that renders the "Share Your Experience" CTA block used on the Flamingo case-studies page, displaying review platform cards (G2, Capterra, TrustPilot, GetApp) alongside an embedded contact form.
3
+
4
+ ## Key Components
5
+
6
+ - **`ShareExperienceSection`** — Main exported component; composes the heading, subtitle, "How it works" block, review platform benefit cards, and a `ContactForm` into a unified CTA section.
7
+ - **`ShareExperienceSectionProps`** — Interface exposing overridable props: `title`, `subtitle`, `howItWorksTitle`, `howItWorksBody`, `contactFormProps`, and `className`.
8
+ - **`DEFAULT_CONTACT_FORM_PROPS`** — Pre-configured `ContactForm` defaults (prefilled reason/message, hidden fields, outline button style) matching the hub's `/case-studies` behavior; caller-supplied `contactFormProps` take precedence via spread order.
9
+
10
+ ## Usage Example
11
+
12
+ **Hub usage (auto-resolved context):**
13
+
14
+ ```typescript
15
+ <ShareExperienceSection
16
+ contactFormProps={{
17
+ userId: currentUser.id,
18
+ rdtCid: rdtCid,
19
+ onSubmitSuccess: () => router.push('/case-studies/thank-you'),
20
+ }}
21
+ />
22
+ ```
23
+
24
+ **Embed usage (brand-neutral override):**
25
+
26
+ ```typescript
27
+ <ShareExperienceSection
28
+ title="Share Your Experience"
29
+ subtitle="Help other IT teams make better decisions."
30
+ howItWorksTitle="How it works?"
31
+ howItWorksBody="Submit your details and we'll be in touch."
32
+ contactFormProps={{
33
+ successRedirectUrl: '/thank-you',
34
+ }}
35
+ className="my-16"
36
+ />
37
+ ```
38
+
39
+ **Minimal usage (all defaults):**
40
+
41
+ ```typescript
42
+ <ShareExperienceSection />
43
+ ```
44
+
45
+ The inner `ContactForm` submits through the ambient `EndpointsRuntime.contactUrl` proxy, so no per-call-site API wiring is required for embedded deployments behind a `/content` reverse proxy.
@@ -1,51 +1,66 @@
1
- <!-- source-hash: 0d9faa5f98d4a04ec4d4d1a8221ac7cd -->
2
- A React component that renders a batch of pending AI tool-call approvals, allowing users to approve or reject multiple tool executions at once, with expandable argument details and live execution status indicators.
1
+ <!-- source-hash: 53c5e53d9aa5256ad542ac1abea08fb2 -->
2
+ Renders an approval batch message UI component that displays pending AI tool calls requiring user approval, with support for both admin and client (end-user) variants, expandable tool call details, and real-time execution status tracking.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### `ApprovalBatchMessage` (default export)
7
- A `forwardRef` component that renders the full approval card. Accepts:
7
+ The main `forwardRef` component rendering a bordered card containing one or more tool call rows, explanation bullets, and Approve/Reject action buttons.
8
8
 
9
- | Prop | Type | Description |
10
- |------|------|-------------|
11
- | `data` | `ApprovalBatchSegment["data"]` | Tool calls, executions, and request ID |
12
- | `status` | `ApprovalBatchSegment["status"]` | `"pending"` \| `"approved"` \| `"rejected"` |
13
- | `onApprove` | `(requestId?) => void \| Promise<void>` | Called when user approves the batch |
14
- | `onReject` | `(requestId?) => void \| Promise<void>` | Called when user rejects the batch |
9
+ **Key props:**
10
+ - `data` — batch segment data including tool calls and approval request ID
11
+ - `status` `"pending"` | `"approved"` | `"rejected"` | `"cancelled"`
12
+ - `onApprove` / `onReject` async callbacks receiving the `requestId`
13
+ - `variant` `"admin"` (full preview, expandable args/results) or `"client"` (titles + actions only)
14
+ - `maxBodyHeight` constrains tool list height with internal scroll
15
+ - `showExecutionStatus` — toggles per-tool execution spinner/check/cross icons
16
+ - `showFooterActions` — hides Approve/Reject when host owns the action row
17
+ - `resolvedByName` — name shown alongside the resolved status tag
18
+
19
+ ### `ApprovalStatusTag`
20
+ Standalone badge for resolved batches. Renders a `Tag` component with icon for `approved`, `rejected`, or `cancelled` states; returns `null` while pending. Supports `inlineResolver` to embed `"by {name}"` inside the pill.
15
21
 
16
22
  ### `ToolCallRow` (internal)
17
- Renders a single collapsible tool call row showing the command text, filtered arguments via `ArgRow`, execution result via `ResultBlock`, and a live `ExecutionStatusIcon`.
23
+ Admin-only collapsible row showing tool icon, command preview, execution status icon, and expandable arguments/result block.
18
24
 
19
25
  ### `ExecutionStatusIcon` (internal)
20
- Displays the per-tool execution state:
21
- - **Pending batch** → hidden
22
- - **Approved / executing** → `DotsLoaderIcon` (spinner)
23
- - **Done + success** → green `CheckCircleIcon`
24
- - **Done + failure** → red `XmarkCircleIcon`
25
-
26
- ### Helper: `getArgEntries`
27
- Filters tool call arguments, excluding body-level keys (via `COMMAND_BODY_KEYS`) and null/empty values.
26
+ Resolves the correct icon based on batch status and per-tool execution state: `DotsLoaderIcon` while queued/executing, `CheckCircleIcon` on success, `XmarkCircleIcon` on failure.
28
27
 
29
28
  ## Usage Example
30
29
 
31
30
  ```typescript
32
- import { ApprovalBatchMessage } from "./approval-batch-message"
31
+ import { ApprovalBatchMessage } from "@openframe/ui"
33
32
 
33
+ // Admin view — full command preview with execution tracking
34
34
  <ApprovalBatchMessage
35
- data={{
36
- approvalRequestId: "req_123",
37
- toolCalls: [
38
- {
39
- toolExecutionRequestId: "exec_1",
40
- toolType: "SHELL",
41
- toolCallArguments: { command: "ls -la" },
42
- toolExplanation: "List directory contents",
43
- },
44
- ],
45
- executions: {},
35
+ data={batch.data}
36
+ status={batch.status}
37
+ variant="admin"
38
+ showExecutionStatus
39
+ maxBodyHeight={400}
40
+ resolvedByName="Jane Doe"
41
+ onApprove={async (requestId) => {
42
+ await approveRequest(requestId)
43
+ }}
44
+ onReject={async (requestId) => {
45
+ await rejectRequest(requestId)
46
46
  }}
47
- status="pending"
48
- onApprove={(id) => console.log("Approved:", id)}
49
- onReject={(id) => console.log("Rejected:", id)}
47
+ />
48
+
49
+ // Client (Fae end-user) view titles + action buttons only
50
+ <ApprovalBatchMessage
51
+ data={batch.data}
52
+ status={batch.status}
53
+ variant="client"
54
+ resolvedByName="Jane Doe"
55
+ onApprove={handleApprove}
56
+ onReject={handleReject}
57
+ />
58
+
59
+ // Notification tile — host owns the action row
60
+ <ApprovalBatchMessage
61
+ data={batch.data}
62
+ status={batch.status}
63
+ showFooterActions={false}
64
+ showExecutionStatus={false}
50
65
  />
51
66
  ```
@@ -1,45 +1,56 @@
1
- <!-- source-hash: 8ff0735cc63d1ea7a83dab6aab9e0cc6 -->
2
- A React component that renders an AI approval request card with pending (Approve/Reject buttons) and resolved (status tag) states, used in Mingo AI's chat interface for human-in-the-loop action confirmation.
1
+ <!-- source-hash: 3efe25cb3a6b4446309ff83a123a65c3 -->
2
+ A React component that renders an individual approval request card in two variants — `admin` (technician-facing, shows raw command + structured fields) and `client` (Fae end-user-facing, shows only the human-readable explanation). Both variants switch between a pending state with Approve/Reject actions and a resolved state with a status tag.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Type | Description |
7
- |--------|------|-------------|
8
- | `ApprovalRequestMessage` | `forwardRef` component | Main approval card with pending/resolved display states |
9
- | `ApprovalCardBody` | Internal component | Shared card body (command block + fields/explanation) |
10
- | `ApprovalFieldList` | Internal component | Stacked label/value `<dl>` rows for structured fields |
6
+ | Export / Symbol | Description |
7
+ |---|---|
8
+ | `ApprovalRequestMessage` | Primary `forwardRef` component the main export |
9
+ | `ApprovalCardBody` | Internal shared body (command block + fields/explanation) rendered for the `admin` variant |
10
+ | `ApprovalFieldList` | Internal `<dl>`-based renderer for structured `label/value` field pairs |
11
+
12
+ **Props (`ApprovalRequestMessageProps`):**
13
+
14
+ | Prop | Type | Default | Description |
15
+ |---|---|---|---|
16
+ | `data` | `ApprovalRequestData` | — | Command, fields, explanation, requestId |
17
+ | `status` | `'pending' \| 'approved' \| 'rejected' \| 'cancelled'` | `'pending'` | Controls action vs. resolved UI |
18
+ | `variant` | `'admin' \| 'client'` | `'admin'` | Switches between technician and end-user layout |
19
+ | `onApprove` | `(requestId) => Promise<void>` | — | Callback fired on Approve click |
20
+ | `onReject` | `(requestId) => Promise<void>` | — | Callback fired on Reject click |
21
+ | `resolvedByName` | `string` | — | Name shown in resolved status tag (client variant) |
22
+ | `assistantType` | `string` | — | Accepted for prop parity with batch card; unused internally |
11
23
 
12
24
  ## Usage Example
13
25
 
14
26
  ```typescript
15
27
  import { ApprovalRequestMessage } from "./approval-request-message"
16
28
 
17
- // Pending state — shows Approve / Reject buttons
29
+ // Admin (technician) view — shows command block and structured fields
18
30
  <ApprovalRequestMessage
31
+ variant="admin"
32
+ status="pending"
19
33
  data={{
20
- requestId: "req_abc123",
21
- command: "apt-get install nginx --yes",
22
- explanation: "Installing nginx on the production web server.",
34
+ requestId: "req_123",
35
+ command: "net user jdoe /domain",
23
36
  fields: [
24
- { label: "Host", value: "web-01.prod" },
25
- { label: "Risk", value: "Low" },
37
+ { label: "Ticket", value: "#4821" },
38
+ { label: "Requested By", value: "John Doe" },
26
39
  ],
27
40
  }}
28
- status="pending"
29
- onApprove={async (id) => await approveAction(id)}
30
- onReject={async (id) => await rejectAction(id)}
41
+ onApprove={async (id) => await approveRequest(id)}
42
+ onReject={async (id) => await rejectRequest(id)}
31
43
  />
32
44
 
33
- // Resolved state — shows Approved/Rejected tag
45
+ // Client (Fae end-user) view — shows explanation only
34
46
  <ApprovalRequestMessage
35
- data={{ requestId: "req_abc123", command: "apt-get install nginx --yes" }}
47
+ variant="client"
36
48
  status="approved"
49
+ data={{
50
+ requestId: "req_123",
51
+ command: "net user jdoe /domain",
52
+ explanation: "Your technician needs to look up your domain account.",
53
+ }}
54
+ resolvedByName="Alex T."
37
55
  />
38
- ```
39
-
40
- ## Behavior Notes
41
-
42
- - `status` defaults to `"pending"`; transitions to `"approved"` or `"rejected"` render a `<Tag>` with a `CheckCircle` or `XCircle` icon respectively
43
- - Both `handleApprove` and `handleReject` set `isProcessing = true` during the async callback, disabling both buttons to prevent double-submission
44
- - `fields` take rendering priority over `explanation` — if both are provided, only `fields` is shown
45
- - The command block is scrollable (`max-h-32 overflow-y-auto`) for long commands
56
+ ```
@@ -0,0 +1,56 @@
1
+ <!-- source-hash: c499bb92cb1ddfd48e76787dd129e08f -->
2
+ Renders the Chat Archive page UI, displaying date-grouped archived dialogs with conditional loading states, and supports both a standalone mode (with its own back/close header) and an embedded mode (headerless, for split layouts).
3
+
4
+ ## Key Components
5
+
6
+ ### `ChatArchivePage`
7
+ Main exported component that orchestrates the archive view. Conditionally renders:
8
+ - **Mobile header** (`ChatPanelHeaderMobile`) — back + close controls on small screens
9
+ - **Desktop header** — fixed-height bar with `ChatHeaderIconButton` cells for back/close
10
+ - **`MingoChatHistory`** — date-grouped dialog list when dialogs exist
11
+ - **`MingoChatHistorySkeleton`** — grouped placeholder during first-load
12
+ - **`ChatListEmptyState`** — archive-specific empty state with `BoxArchiveIcon`
13
+
14
+ ### Props Interfaces
15
+
16
+ | Interface | Description |
17
+ |---|---|
18
+ | `ChatArchivePageStandaloneProps` | Requires `onBack` and `onClose`; renders its own header |
19
+ | `ChatArchivePageEmbeddedProps` | Sets `embedded: true`; omits header and forbids `onBack`/`onClose` |
20
+ | `ChatArchivePageBaseProps` | Shared: `dialogs`, `onSelectDialog`, `isLoading`, `isFetching`, `hasMore`, `onLoadMore` |
21
+
22
+ ## Usage Example
23
+
24
+ ```typescript
25
+ // Standalone mode (default)
26
+ <ChatArchivePage
27
+ dialogs={archivedDialogs}
28
+ onSelectDialog={(id) => openDialog(id)}
29
+ onBack={() => setView('list')}
30
+ onClose={() => setPanelOpen(false)}
31
+ isLoading={isLoadingArchive}
32
+ isFetching={isFetchingArchive}
33
+ hasMore={hasNextPage}
34
+ onLoadMore={fetchNextPage}
35
+ />
36
+
37
+ // Embedded mode (split layout — host provides header)
38
+ <ChatArchivePage
39
+ embedded
40
+ dialogs={archivedDialogs}
41
+ onSelectDialog={(id) => openDialog(id)}
42
+ isLoading={isLoadingArchive}
43
+ />
44
+ ```
45
+
46
+ ## Loading State Precedence
47
+
48
+ ```mermaid
49
+ graph TD
50
+ A{dialogs.length > 0?} -->|Yes| B[MingoChatHistory]
51
+ A -->|No| C{isLoading?}
52
+ C -->|Yes| D[MingoChatHistorySkeleton]
53
+ C -->|No| E{isFetching?}
54
+ E -->|Yes| F[null - suppress flash]
55
+ E -->|No| G[ChatListEmptyState]
56
+ ```