@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,22 +1,23 @@
1
- <!-- source-hash: 6142d73d82bfcb3ba377d2f80cb29999 -->
2
- Storybook stories for the `Tag` UI component, covering all visual variants, icon/close button combinations, disabled states, and composite showcase renders.
1
+ <!-- source-hash: f18130ebfbca951caf39d3dd0646a0a4 -->
2
+ Storybook stories for the `Tag` UI component, covering all variants, icon/close button combinations, disabled states, and composite showcase renders.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Description |
7
- |--------|-------------|
8
- | `Primary` | Default primary variant |
9
- | `Outline` | Outline/bordered variant |
10
- | `Success` / `Warning` / `Error` / `Critical` / `Grey` | Semantic status variants |
11
- | `WithIcon` | Tag with a leading icon |
12
- | `WithCloseButton` | Tag with dismissible close handler |
7
+ |---|---|
8
+ | `Primary` | Tag with `primary` variant |
9
+ | `Outline` | Tag with `outline` variant |
10
+ | `Success` / `Warning` / `Error` / `Critical` / `Grey` | Semantic variant stories |
11
+ | `WithIcon` | Tag with a leading lucide icon |
12
+ | `WithCloseButton` | Tag with an `onClose` dismiss handler |
13
13
  | `WithIconAndClose` | Tag combining icon and close button |
14
- | `Disabled` / `AllDisabled` | Disabled state across all variants |
15
- | `AllVariants` | Showcase of every variant side-by-side |
16
- | `AllWithIcons` | All variants with icons |
17
- | `AllWithClose` | All variants with close buttons |
14
+ | `AllVariants` | Side-by-side showcase of all 7 variants |
15
+ | `AllWithIcons` | All variants rendered with icons |
16
+ | `AllWithClose` | All variants rendered with close buttons |
17
+ | `Disabled` | Single disabled tag |
18
+ | `DisabledWithIconAndClose` | Disabled tag with icon and close |
19
+ | `AllDisabled` | All variants in disabled state |
18
20
  | `AllWithIconAndClose` | All variants with both icon and close |
19
- | `DisabledWithIconAndClose` | Disabled state with full feature set |
20
21
 
21
22
  ## Usage Example
22
23
 
@@ -27,26 +28,30 @@ import { Smile } from 'lucide-react';
27
28
  // Basic variant
28
29
  <Tag variant="success" label="Active" />
29
30
 
30
- // With icon
31
- <Tag variant="primary" label="Category" icon={<Smile className="size-5" />} />
32
-
33
- // Dismissible
34
- <Tag variant="warning" label="Pending" onClose={() => handleRemove()} />
35
-
36
- // Full featured
31
+ // With icon and dismissible close button
37
32
  <Tag
38
- variant="error"
39
- label="Failed"
33
+ variant="primary"
34
+ label="Assigned"
40
35
  icon={<Smile className="size-5" />}
41
36
  onClose={() => handleRemove()}
42
- disabled={false}
43
37
  />
38
+
39
+ // Disabled state
40
+ <Tag variant="warning" label="Pending" disabled />
44
41
  ```
45
42
 
46
43
  ## Variants
47
44
 
48
- The `Tag` component supports 7 variants controlled via the Storybook `select` control:
45
+ | Variant | Typical Use |
46
+ |---|---|
47
+ | `primary` | Default / general purpose |
48
+ | `outline` | Subtle / secondary |
49
+ | `success` | Positive status |
50
+ | `warning` | Cautionary status |
51
+ | `error` | Failure / invalid |
52
+ | `critical` | High-severity alert |
53
+ | `grey` | Neutral / inactive |
54
+
55
+ ## Source
49
56
 
50
- ```text
51
- primary | outline | success | warning | error | critical | grey
52
- ```
57
+ [`Tag.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/Tag.stories.tsx)
@@ -0,0 +1,43 @@
1
+ <!-- source-hash: ac60f93004b9e402b8bae16130a1e2c8 -->
2
+ Storybook stories for `ThinkingDisplay`, a collapsible reasoning block that surfaces AI "thinking" segments in the chat interface.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Thought` | `Story` | Finished thought — collapsed to a single line, expandable via chevron |
9
+ | `Streaming` | `Story` | Active streaming state — shows "Thinking" label with dots loader, collapse disabled |
10
+ | `LongMarkdown` | `Story` | Multi-paragraph markdown thought with headings, lists, and inline code |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ import { ThinkingDisplay } from "../components/chat/thinking-display";
16
+
17
+ // Completed thought (collapsed by default)
18
+ <ThinkingDisplay text="Homebrew is present, so `brew install --cask slack` is the cleanest path." />
19
+
20
+ // Actively streaming
21
+ <ThinkingDisplay
22
+ text="Evaluating install options..."
23
+ isStreaming={true}
24
+ />
25
+ ```
26
+
27
+ ## Story Variants
28
+
29
+ | Story | `isStreaming` | Content |
30
+ |---|---|---|
31
+ | `Thought` | `false` | Short single-line reasoning |
32
+ | `Streaming` | `true` | Same short text, streaming UI active |
33
+ | `LongMarkdown` | `false` | Multi-section markdown with bold, numbered list, inline code |
34
+
35
+ ## Notes
36
+
37
+ - All stories are wrapped in a `640px` max-width container using `--color-bg` to match the chat canvas
38
+ - `autodocs` is enabled — Storybook auto-generates API docs from prop types
39
+ - The decorator (`plainDecorator`) provides consistent padding and background without additional story boilerplate
40
+
41
+ ## Source
42
+
43
+ [`ThinkingDisplay.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ThinkingDisplay.stories.tsx)
@@ -0,0 +1,60 @@
1
+ <!-- source-hash: 683edd8a6fb103f7ce880f7847fc90e2 -->
2
+ Storybook stories for the `TicketCard` board component, covering drag-and-drop context setup and all visual/behavioral variants.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Default` | `Story` | Full card with all fields: title, device/org, priority, assignee, tags, timestamp |
9
+ | `Minimal` | `Story` | Only required fields — all optional rows absent |
10
+ | `LongContent` | `Story` | Truncation behavior for long titles and device/org rows |
11
+ | `ManyAssigneesAndTags` | `Story` | Overflow badges (`+N`) for assignees and tag pills |
12
+ | `WithNewMessage` | `Story` | Colored "New Message" tag and tinted card border via `columnColor` |
13
+ | `PendingClientApproval` | `Story` | Collapsed client approval row with approve/reject handlers |
14
+ | `PendingTechApproval` | `Story` | Yellow shield admin approval header variant |
15
+ | `Approved` | `Story` | Green checkmark resolved state |
16
+ | `AsLink` | `Story` | Full-card anchor overlay via `href` |
17
+ | `DragDisabled` | `Story` | Pinned card — no grab cursor, sortable listeners off |
18
+ | `DragOverlay` | `Story` | Drag-overlay presentation (tilted + elevated shadow) |
19
+ | `Priorities` | `Story` | All four priority colors (`low`, `medium`, `high`, `urgent`) side by side |
20
+ | `Harness` | Helper | Wraps `TicketCard` in the minimal `DndContext` + `SortableContext` required by `useSortable` |
21
+
22
+ ## Usage Example
23
+
24
+ ```typescript
25
+ // Render the card in a DnD harness (as stories do)
26
+ import { DndContext } from '@dnd-kit/core'
27
+ import { SortableContext } from '@dnd-kit/sortable'
28
+ import { TicketCard } from '../components/features/board'
29
+
30
+ const ticket = {
31
+ id: 'ticket-1',
32
+ title: 'VPN drops every few minutes',
33
+ ticketNumber: '#1042',
34
+ status: 'TECH_REQUIRED',
35
+ priority: 'high',
36
+ assignees: [{ id: 'u1', initials: 'RS', name: 'Rachel Santos' }],
37
+ tags: ['network', 'vpn'],
38
+ createdAt: new Date().toISOString(),
39
+ }
40
+
41
+ export function Example() {
42
+ return (
43
+ <DndContext>
44
+ <SortableContext items={[ticket.id]}>
45
+ <TicketCard
46
+ ticket={ticket}
47
+ columnId="TECH_REQUIRED"
48
+ columnColor="#2890fa"
49
+ onApprove={(ticketId, requestId) => console.log('approve', ticketId, requestId)}
50
+ onReject={(ticketId, requestId) => console.log('reject', ticketId, requestId)}
51
+ />
52
+ </SortableContext>
53
+ </DndContext>
54
+ )
55
+ }
56
+ ```
57
+
58
+ > **Note:** `TicketCard` internally calls `useSortable`, which requires both `DndContext` and `SortableContext` ancestors with the card's own `id` registered. In the app the Board provides these; in isolation (tests, stories) you must supply the `Harness` wrapper shown above.
59
+
60
+ **Source:** [`TicketCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TicketCard.stories.tsx)
@@ -1,40 +1,48 @@
1
- <!-- source-hash: 82f8ca355b8119e08afe608bf0b4cf05 -->
1
+ <!-- source-hash: 9c86c7c558b8e84471d042872e05ba8a -->
2
2
  Storybook stories for the `TicketInfoSection` component, covering collapsed, expanded, interactive, and minimal display states of the collapsible ticket info bar.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`Collapsed`** Default header-only view showing organization, user, device, and status fields
7
- - **`Expanded`** — Fully populated view with description, attachments, tags, knowledge base articles, and notes
8
- - **`Interactive`** Stateful story demonstrating expand/collapse toggle with `useState`, device click handler, and note CRUD callbacks
9
- - **`Minimal`** Expanded state with all fields set to "Unassigned", useful for empty-state validation
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Collapsed` | Default collapsed header row showing org, user, device, and status |
9
+ | `Expanded` | Fully populated expanded state with description, attachments, tags, notes, and assignee |
10
+ | `Interactive` | Stateful story demonstrating live expand/collapse toggling with `useState` |
11
+ | `Minimal` | Expanded state with no optional data beyond required fields and assignee options |
10
12
 
11
13
  ## Usage Example
12
14
 
13
15
  ```typescript
14
- import { TicketInfoSection } from '../components/ui/ticket-info-section';
15
-
16
- // Basic collapsed header
16
+ // Collapsed header row
17
17
  <TicketInfoSection
18
18
  organization={{ name: 'Acme Corp' }}
19
- user="John Doe"
19
+ user="Unassigned"
20
20
  device={{ name: 'WIN-SERVER-01', icon: <Monitor className="size-4" /> }}
21
21
  status="TECH_REQUIRED"
22
22
  expanded={false}
23
23
  />
24
24
 
25
- // Expanded with notes and attachments
25
+ // Expanded with full detail sections
26
26
  <TicketInfoSection
27
27
  organization={{ name: 'Acme Corp' }}
28
- user="John Doe"
29
- device={{ name: 'WIN-SERVER-01' }}
30
- status="ACTIVE"
28
+ user="Unassigned"
29
+ device={{ name: 'WIN-SERVER-01', icon: <Monitor className="size-4" /> }}
30
+ status="TECH_REQUIRED"
31
31
  expanded={true}
32
- notes={mockNotes}
32
+ assigned={{
33
+ currentAssignee: { id: 'u1', name: 'Roman Smith' },
34
+ options: [{ value: 'u1', label: 'Roman Smith' }],
35
+ onAssign={(userId) => console.log('Assigned:', userId)}
36
+ }}
37
+ createdAt="2025/07/12, 22:27"
38
+ description="Ticket description with **markdown** support."
33
39
  attachments={mockAttachments}
34
- knowledgeBaseArticles={mockArticles}
35
- tags={['Client-onboarding']}
36
- onAddNote={(text) => console.log('Add note:', text)}
37
- onEditNote={(id) => console.log('Edit note:', id)}
38
- onDeleteNote={(id) => console.log('Delete note:', id)}
40
+ tags={['Client-onboarding', 'Process-management']}
41
+ notes={mockNotes}
42
+ onAddNote={(text) => console.log('Note added:', text)}
43
+ onEditNote={(id) => console.log('Note edited:', id)}
44
+ onDeleteNote={(id) => console.log('Note deleted:', id)}
39
45
  />
40
- ```
46
+ ```
47
+
48
+ **Source:** [`TicketInfoSection.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TicketInfoSection.stories.tsx)
@@ -0,0 +1,35 @@
1
+ <!-- source-hash: f40f70a6039dee228c17777e9753c266 -->
2
+ Storybook stories for the `TimeTracker` feature, providing interactive demos of the time tracker panel and header button across all status states, along with a full playground with simulated server-side ticket search.
3
+
4
+ ## Key Components
5
+
6
+ - **`useTimeTrackerHost`** — Custom React hook that simulates the OpenFrame frontend backend: manages timer state transitions (`ready` → `tracking` → `paused`), ticket search (sync or async with 350ms debounce), and entry persistence
7
+ - **`HeaderBar`** — Mock app header strip used to correctly anchor the `TimeTrackerHeaderButton` popover
8
+ - **Panel Stories** — `PanelReady`, `PanelTracking`, `PanelPaused`, `PanelFinishGate`, `PanelNoEntries`
9
+ - **Header Button Stories** — `HeaderButtonIdle`, `HeaderButtonTracking`, `HeaderButtonPaused`
10
+ - **`Playground`** — Fully interactive story combining provider, header button, and async ticket search
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ // Minimal host setup for a custom story
16
+ function MyStory() {
17
+ const host = useTimeTrackerHost({
18
+ status: 'tracking',
19
+ runningSince: Date.now() - 30_000,
20
+ selectedTicketId: 'TICK-102',
21
+ serverSearch: true, // enables async ticket filtering
22
+ })
23
+
24
+ return (
25
+ <TimeTrackerProvider {...host}>
26
+ <HeaderBar />
27
+ <TimeTrackerPanel {...host} onClose={() => {}} />
28
+ </TimeTrackerProvider>
29
+ )
30
+ }
31
+ ```
32
+
33
+ The `HostInit` interface accepts `status`, `runningSince`, `accumulatedMs`, `selectedTicketId`, `notes`, `lastEntries`, and `serverSearch` to seed each story's initial state. `formatDuration` and `formatDate` are used internally to format submitted entries.
34
+
35
+ **Source:** [`TimeTracker.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/TimeTracker.stories.tsx)
@@ -1,40 +1,46 @@
1
- <!-- source-hash: 8385ab6a043167836b17b6b41deb0581 -->
2
- Storybook stories for the `Toaster` / `ToastCard` component system, covering static previews, interactive playground, command-approval flows, and live Sonner-powered triggers.
1
+ <!-- source-hash: a4b281a933e60702674f5785f8ad266a -->
2
+ Storybook stories for the `Toaster` component system, providing static previews and interactive demos for toast notifications built on Sonner with ODS-styled cards.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Type | Description |
7
- |--------|------|-------------|
8
- | `AllVariants` | Story | Static grid of every `ToastVariant` (`default`, `success`, `warning`, `error`, `info`) plus edge cases (title-only, description-only, non-dismissible, persistent) |
9
- | `Playground` | Story | Arg-driven interactive card use Storybook Controls to tweak `variant`, `title`, `description`, `duration`, and `dismissible` |
7
+ |---|---|---|
8
+ | `AllVariants` | Story | Static grid showing all five toast variants plus edge cases (title-only, description-only, non-dismissible, persistent) |
9
+ | `Playground` | Story | Interactive arg-driven story for tweaking `ToastCard` props via Storybook controls |
10
10
  | `CommandApprovalCollapsed` | Story | `CommandApprovalToast` in its default collapsed state |
11
- | `CommandApprovalExpanded` | Story | `CommandApprovalToast` with `defaultExpanded` showing the command preview and Approve/Reject actions |
12
- | `CommandApprovalPerTool` | Story | One expanded approval toast per supported tool type (`FLEET_MDM`, `MESHCENTRAL`, `AUTHENTIK`, `OSQUERY`, `OPENFRAME`) to verify icon mapping |
13
- | `CommandApprovalLive` | Story | Fires real Sonner toasts via `showCommandApprovalToast()` with `onApprove`/`onReject` callbacks |
14
- | `LiveTriggers` | Story | Button panel that fires every variant as a live Sonner toast using both `toast()` and `showToast()` |
11
+ | `CommandApprovalExpanded` | Story | `CommandApprovalToast` pre-expanded to show command preview and Approve/Reject actions |
12
+ | `CommandApprovalPerTool` | Story | Renders one approval toast per supported tool type to verify icon mapping |
13
+ | `CommandApprovalLive` | Story | Fires real Sonner toasts via `showCommandApprovalToast()` with approve/reject callbacks |
14
+ | `LiveTriggers` | Story | Button grid for firing all five variants plus edge cases using the live `toast()` and `showToast()` APIs |
15
15
 
16
16
  ## Usage Example
17
17
 
18
18
  ```typescript
19
- // Render once near your app root
20
- import { Toaster } from '@/components/ui/toaster';
21
- <Toaster />
19
+ // Fire a warning toast from anywhere in the app
20
+ import { showToast } from '../components/ui/toaster';
22
21
 
23
- // Fire a standard toast from anywhere
24
- import { toast } from '@/hooks/use-toast';
25
- toast({ variant: 'success', title: 'Saved', description: 'All changes committed.' });
22
+ showToast({
23
+ variant: 'warning',
24
+ title: 'Device Package limit',
25
+ description: 'Extra devices will be billed at pay-as-you-go rates.',
26
+ duration: 4000,
27
+ dismissible: true,
28
+ });
29
+
30
+ // Fire a command approval toast with action callbacks
31
+ import { showCommandApprovalToast } from '../components/ui/toaster';
32
+ import { toast } from '../hooks/use-toast';
33
+ import { ToolTypeValues } from '../types/tool.types';
26
34
 
27
- // Fire a command-approval toast requiring tech sign-off
28
- import { showCommandApprovalToast } from '@/components/ui/toaster';
29
35
  showCommandApprovalToast({
30
36
  title: 'Tech Required',
31
37
  description: 'Approval is required to execute the command.',
32
38
  command: 'fleetctl query --hosts mac-* "SELECT * FROM system_info"',
33
39
  toolType: ToolTypeValues.FLEET_MDM,
34
- approvalDescription: 'Queries system info across all macOS endpoints.',
40
+ approvalDescription: 'Queries system info across all macOS hosts.',
35
41
  onApprove: () => toast({ variant: 'success', title: 'Command approved' }),
36
- onReject: () => toast({ variant: 'error', title: 'Command rejected' }),
42
+ onReject: () => toast({ variant: 'error', title: 'Command rejected' }),
37
43
  });
38
44
  ```
39
45
 
40
- > **Note:** `<Toaster />` must be mounted in the render tree for live stories (`CommandApprovalLive`, `LiveTriggers`) both stories include it inline so the Storybook canvas is self-contained.
46
+ Place `<Toaster />` once near your app root to render the Sonner portal. Supported variants: `default`, `success`, `warning`, `error`, `info`.
@@ -1,33 +1,43 @@
1
- <!-- source-hash: 1f71a33edd36a6a22cc6854ed4e9a2c8 -->
2
- Storybook configuration file for the ToolBadge component, providing interactive examples and documentation for all supported OpenFrame integrated tool types.
1
+ <!-- source-hash: 8a4662b67f2730f64ed12f36116fd1a5 -->
2
+ Storybook stories for the `ToolBadge` component, covering all supported OpenFrame tool type variants with individual and combined display stories.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **meta**: Main Storybook configuration with component metadata, controls, and documentation
7
- - **Story exports**: Individual stories showcasing different tool types (Fleet MDM, MeshCentral, etc.)
8
- - **AllTools story**: Comparison view showing multiple tool badges together
9
- - **argTypes**: Interactive controls for `toolType` selection and `className` customization
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `Default` | `Story` | `OPENFRAME_RMM` badge |
9
+ | `Fleet` | `Story` | `FLEET_MDM` badge |
10
+ | `MeshCentral` | `Story` | `MESHCENTRAL` badge |
11
+ | `Authentik` | `Story` | `AUTHENTIK` badge |
12
+ | `OpenFrame` | `Story` | `OPENFRAME` badge |
13
+ | `OpenFrameChat` | `Story` | `OPENFRAME_CHAT` badge |
14
+ | `OpenFrameClient` | `Story` | `OPENFRAME_CLIENT` badge |
15
+ | `System` | `Story` | `SYSTEM` badge |
16
+ | `AllTools` | `Story` | Side-by-side comparison of all badges |
17
+
18
+ **Supported `toolType` values:** `OPENFRAME_RMM` · `FLEET_MDM` · `MESHCENTRAL` · `AUTHENTIK` · `OPENFRAME` · `OPENFRAME_CHAT` · `OPENFRAME_CLIENT` · `SYSTEM`
10
19
 
11
20
  ## Usage Example
12
21
 
13
22
  ```typescript
14
- // Individual tool badge stories
15
- export const Default: Story = {
16
- args: {
17
- toolType: 'OPENFRAME_RMM',
18
- },
19
- };
20
-
21
- // Custom render for multiple badges
22
- export const AllTools: Story = {
23
- render: () => (
24
- <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
25
- <ToolBadge toolType="OPENFRAME" />
26
- <ToolBadge toolType="FLEET_MDM" />
27
- <ToolBadge toolType="MESHCENTRAL" />
28
- </div>
29
- ),
30
- };
23
+ import { ToolBadge } from '../components/platform/ToolBadge';
24
+
25
+ // Single badge
26
+ <ToolBadge toolType="OPENFRAME_RMM" />
27
+
28
+ // With optional class override
29
+ <ToolBadge toolType="FLEET_MDM" className="my-custom-class" />
30
+
31
+ // Inline comparison (mirrors AllTools story)
32
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
33
+ <ToolBadge toolType="OPENFRAME" />
34
+ <ToolBadge toolType="OPENFRAME_CHAT" />
35
+ <ToolBadge toolType="OPENFRAME_CLIENT" />
36
+ </div>
31
37
  ```
32
38
 
33
- This Storybook configuration enables developers and designers to preview all available tool badge variants, test different configurations, and understand the component's visual hierarchy within the OpenFrame platform interface.
39
+ ## Notes
40
+
41
+ - Stories live under the **Platform/ToolBadge** Storybook path with `autodocs` enabled.
42
+ - The `toolType` arg is exposed as a `select` control in the Storybook UI, making it easy to cycle through all tool types interactively.
43
+ - See [`ToolBadge`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/components/platform/ToolBadge.tsx) and [`ToolType`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/types/tool.types.ts) for implementation details.
@@ -1,14 +1,22 @@
1
- <!-- source-hash: 5d594bd4947331ddd5432015be5899f2 -->
2
- Storybook stories for the `ToolExecutionDisplay` chat component, covering executing, success, and failure states in a constrained-width layout.
1
+ <!-- source-hash: 533347f65ca290eed5d328bc474e10fa -->
2
+ Storybook stories for the `ToolExecutionDisplay` chat component, covering executing, success, and failure states in both collapsed and expanded views.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Description |
7
- |--------|-------------|
8
- | `CollapsedExecuting` | Spinner state while a tool (e.g. `run_script` via OpenFrame RMM) is in progress |
9
- | `CollapsedSuccess` | Green check state after successful tool execution, with result output |
10
- | `CollapsedFailure` | Red error icon state after a failed tool execution (e.g. Fleet MDM profile deploy) |
11
- | `constrainedDecorator` | Helper decorator that wraps stories in a `max-width` container (default 400px) |
7
+ |---|---|
8
+ | `CollapsedExecuting` | Story showing spinner state while a tool is actively running |
9
+ | `CollapsedSuccess` | Story showing green check after successful RMM script execution |
10
+ | `CollapsedFailure` | Story showing red error icon after a failed MDM profile deployment |
11
+ | `constrainedDecorator` | Helper that wraps stories in a max-width container (default 400px) to simulate chat bubble constraints |
12
+
13
+ ### Fixture Data
14
+
15
+ | Variable | Type | Description |
16
+ |---|---|---|
17
+ | `executingMessage` | `ToolExecutionData` | In-progress RMM `run_script` call |
18
+ | `executedSuccessMessage` | `ToolExecutionData` | Completed RMM `run_script` with process list output |
19
+ | `executedFailureMessage` | `ToolExecutionData` | Failed Fleet MDM `deploy_profile` with error string |
12
20
 
13
21
  ## Usage Example
14
22
 
@@ -17,25 +25,19 @@ import { ToolExecutionDisplay } from "../components/chat/tool-execution-display"
17
25
  import type { ToolExecutionData } from "../components/chat/types";
18
26
 
19
27
  const message: ToolExecutionData = {
20
- type: "EXECUTED_TOOL",
28
+ type: "EXECUTING_TOOL",
21
29
  integratedToolType: "OPENFRAME_RMM",
22
30
  toolFunction: "run_script",
23
31
  parameters: { RunAsUser: "False", timeoutSeconds: 60 },
24
- result: "Script output here...",
25
- success: true,
26
32
  };
27
33
 
34
+ // Render the component directly in your chat UI
28
35
  <ToolExecutionDisplay message={message} />
29
36
  ```
30
37
 
31
- ## Story Data
32
-
33
- Three fixture payloads cover the core display states:
34
-
35
- | Fixture | `type` | `integratedToolType` | `success` |
36
- |---------|--------|----------------------|-----------|
37
- | `executingMessage` | `EXECUTING_TOOL` | `OPENFRAME_RMM` | — |
38
- | `executedSuccessMessage` | `EXECUTED_TOOL` | `OPENFRAME_RMM` | `true` |
39
- | `executedFailureMessage` | `EXECUTED_TOOL` | `FLEET_MDM` | `false` |
38
+ ## Notes
40
39
 
41
- The component renders a collapsed card by default; clicking toggles full details including parameters and result output.
40
+ - Stories are registered under `Chat/Admin/ToolExecutionDisplay` in Storybook.
41
+ - The `constrainedDecorator` accepts an optional `width` argument (default `400`) to test layout at narrow chat widths.
42
+ - The success fixture includes a realistic suspicious process output to validate result rendering.
43
+ - Source: [`ToolExecutionDisplay.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ToolExecutionDisplay.stories.tsx)
@@ -0,0 +1,33 @@
1
+ <!-- source-hash: 31d09281389b3132fd1d2113059efe86 -->
2
+ Storybook stories for the **client (Fae) variant** of `ToolExecutionDisplay`, demonstrating the component rendered with `assistantType="fae"` — which hides the tool icon compared to the Admin variant.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `CollapsedExecuting` | `Story` | Card in executing state — spinner, 2-line parameter preview, no tool icon |
9
+ | `CollapsedSuccess` | `Story` | Card in success state — green check indicator, no tool icon |
10
+ | `meta` | `Meta` | Storybook metadata registering under `Chat/Client/ToolExecutionDisplay` with `assistantType: "fae"` default arg |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ // Render the Fae (client) tool-execution card directly in tests or other stories
16
+ import { ToolExecutionDisplay } from "../components/chat/tool-execution-display";
17
+ import type { ToolExecutionData } from "../components/chat/types";
18
+
19
+ const message: ToolExecutionData = {
20
+ type: "EXECUTING_TOOL",
21
+ integratedToolType: "OPENFRAME_RMM",
22
+ toolFunction: "run_script",
23
+ parameters: { RunAsUser: "False", timeoutSeconds: 60 },
24
+ };
25
+
26
+ <ToolExecutionDisplay assistantType="fae" message={message} />;
27
+ ```
28
+
29
+ ## Notes
30
+
31
+ - `assistantType="fae"` is the only prop that differentiates this from the Admin card — no other props or component logic differs.
32
+ - The `constrainedDecorator` wraps each story in a `400px` max-width container with the design-system background token (`--color-bg`) to approximate the chat panel context.
33
+ - Source: [`ToolExecutionDisplayClient.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ToolExecutionDisplayClient.stories.tsx)
@@ -0,0 +1,37 @@
1
+ <!-- source-hash: 382f5135f62cf6f535679afcc02e0379 -->
2
+ Storybook stories for the `VideoBitesStrip` feature component, covering mixed aspect ratios, marquee behavior, thumbnail fallbacks, auto-scroll toggling, and unpublished filtering.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `MixedRatiosMarquee` | `Story` | Seven bites with mixed aspect ratios; marquee activates on overflow |
9
+ | `TwoBitesNoMarquee` | `Story` | Two bites — no overflow, no marquee, no clone rows, no chevrons |
10
+ | `NoThumbnails` | `Story` | All thumbnails stripped; verifies `PlayIcon` fallback and hover-mount preview |
11
+ | `AutoScrollDisabled` | `Story` | `autoScroll=false` — plain scrollable row with chevrons only |
12
+ | `AllUnpublishedRendersNull` | `Story` | All bites unpublished; asserts component returns `null` |
13
+
14
+ **Helpers**
15
+
16
+ - `bite(over)` — factory that merges partial `VideoBiteStripItem` overrides onto a base fixture, using public-domain Google CDN MP4s for realistic hover-preview testing
17
+ - `PROFILE` — shared presenter profile fixture (`name`, `avatarUrl`, `subtitle`)
18
+ - `MANY_MIXED` — seven-item array covering portrait, landscape, square, and no-thumbnail variants
19
+
20
+ ## Usage Example
21
+
22
+ ```typescript
23
+ import { MixedRatiosMarquee } from './VideoBitesStrip.stories'
24
+
25
+ // Render the story directly in a test or composition
26
+ <MixedRatiosMarquee.args.bites /> // not typical — use via Storybook or play() functions
27
+
28
+ // Or compose your own fixture with the bite() pattern:
29
+ const items: VideoBiteStripItem[] = [
30
+ bite({ title: 'Custom Clip', aspect_ratio: '16:9' }),
31
+ bite({ title: 'No Thumb', thumbnail_url: undefined }),
32
+ ]
33
+ ```
34
+
35
+ ## Source
36
+
37
+ [`VideoBitesStrip.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/VideoBitesStrip.stories.tsx)
@@ -0,0 +1,51 @@
1
+ <!-- source-hash: 71794302d8c9acc340a02fd7550a5df2 -->
2
+ Storybook stories for the `WarningBlock` component, demonstrating all usage variants from minimal banners to the full New Device onboarding warning stack.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Default` | Minimal story — banner title with a single description paragraph |
9
+ | `AntivirusWarning` | Warning with a `PathsDisplay` exclusion folder list and closing text |
10
+ | `DoctorMode` | Warning with a descriptive paragraph and a single copyable doctor command |
11
+ | `AdministratorPrivileges` | Warning with a platform icon row (no copy button) framed by paragraphs |
12
+ | `NewDeviceBlocks` | All three New Device warnings stacked, matching the Figma layout |
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ // Minimal warning block
18
+ <WarningBlock title="Administrator privileges are required.">
19
+ <p className="text-h4 text-ods-text-primary">
20
+ Run the command with appropriate permissions for your platform.
21
+ </p>
22
+ </WarningBlock>
23
+
24
+ // With PathsDisplay — antivirus exclusion paths
25
+ <WarningBlock title="Your antivirus may block OpenFrame installation.">
26
+ <PathsDisplay
27
+ title="Add these folders to your antivirus exclusions list:"
28
+ paths={[
29
+ 'C:\\Program Files\\OpenFrame\\',
30
+ 'C:\\Users\\[Username]\\AppData\\Local\\OpenFrame\\',
31
+ ]}
32
+ onCopyPath={(path) => navigator.clipboard.writeText(path)}
33
+ />
34
+ </WarningBlock>
35
+
36
+ // With OSTypeIcon — no copy button, platform-specific instruction
37
+ <WarningBlock title="Administrator privileges are required.">
38
+ <PathsDisplay
39
+ paths={['Run PowerShell as Local Administrator']}
40
+ showCopyButtons={false}
41
+ leadingIcon={<OSTypeIcon osType="windows" size="w-6 h-6" />}
42
+ />
43
+ </WarningBlock>
44
+ ```
45
+
46
+ ## Notes
47
+
48
+ - Body content is fully composable via `children` — mix paragraphs and multiple `PathsDisplay` lists freely.
49
+ - Typography scales via ODS tokens: `14px` on mobile, `18px` from `md` breakpoint up.
50
+ - The `OPENFRAME_DOCTOR_COMMANDS` constant from `PathsDisplay` provides the canonical doctor command strings per platform.
51
+ - Source: [`WarningBlock.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/WarningBlock.stories.tsx)