@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,20 +1,22 @@
1
- <!-- source-hash: fd9f374934342611a000534ff097b06e -->
2
- Storybook stories for the `NotificationDrawer` feature, providing interactive visual tests for notification tile variants, drawer states, and live notification dispatching via the `useNotifications` hook.
1
+ <!-- source-hash: f63f316c3ca0b7f0616cd692ac686468 -->
2
+ Storybook stories file for the `NotificationDrawer` feature, providing visual documentation and interactive playground stories for notification tiles, drawer states, and approval workflows.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Description |
7
- |---|---|
8
- | `AllTileVariants` | Static preview of all five `NotificationVariant` tile styles (`default`, `success`, `error`, `warning`, `info`) in a settled/read state |
9
- | `LiveTile` | Demonstrates the animated progress-bar lifecycle of a freshly arrived tile, with a replay button |
10
- | `DrawerEmpty` | Drawer rendered with zero notifications (empty state), auto-opened on mount |
11
- | `DrawerWithSeedData` | Drawer pre-seeded with six notifications mirroring the Figma reference design |
12
- | `LivePlayground` | Interactive sandbox for firing notifications of any variant, toggling the drawer, and testing `markAllRead`/`clear` |
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `AllTileVariants` | Story | Static preview of all notification tile variants (`default`, `success`, `error`, `warning`, `info`) |
9
+ | `SeverityIconAndImage` | Story | Demonstrates the `severity` field (`INFO`, `WARNING`, `DANGER`) with image, icon, and dot fallback states |
10
+ | `LiveTile` | Story | Animated tile showing the 4-second progress bar + dismiss UX before settling into resting state |
11
+ | `DrawerEmpty` | Story | `NotificationDrawer` rendered with no notifications (empty state) |
12
+ | `DrawerWithSeedData` | Story | Drawer pre-seeded with `SEED` data covering all approval resolution states: pending, approved, rejected, cancelled |
13
+ | `AutoOpen` | Helper | Internal component that calls `useNotifications().open()` on mount to auto-expand the drawer in stories |
14
+ | `approvalSeed` | Helper | Factory function generating `Notification` objects for approval-request tiles in a given resolution state |
13
15
 
14
16
  ## Usage Example
15
17
 
16
18
  ```typescript
17
- // Minimal setup mirroring how stories bootstrap the notification system
19
+ // Minimal provider + drawer setup (mirrors DrawerEmpty story)
18
20
  import {
19
21
  NotificationsProvider,
20
22
  NotificationDrawer,
@@ -24,32 +26,41 @@ import {
24
26
  function App() {
25
27
  return (
26
28
  <NotificationsProvider
27
- initialNotifications={[]}
29
+ initialNotifications={SEED}
28
30
  onHistoryClick={() => router.push('/notifications')}
29
- onShowPopupsChange={(enabled) => console.log('popups:', enabled)}
31
+ historyHref="/notifications"
32
+ renderTile={renderApprovalTile}
30
33
  >
31
34
  <NotificationDrawer />
32
- <FireButton />
33
35
  </NotificationsProvider>
34
36
  );
35
37
  }
36
38
 
37
- function FireButton() {
39
+ // Fire a notification from any realtime source
40
+ function RealtimeListener() {
38
41
  const { addNotification } = useNotifications();
39
- return (
40
- <button
41
- onClick={() =>
42
- addNotification({
43
- variant: 'success',
44
- title: 'Deployment Complete',
45
- description: 'HP EliteBook deployed to Marketing Dept',
46
- })
47
- }
48
- >
49
- Fire notification
50
- </button>
51
- );
42
+
43
+ useEffect(() => {
44
+ socket.on('alert', (event) => {
45
+ addNotification({
46
+ id: event.id,
47
+ severity: 'WARNING',
48
+ type: 'Disk Space Warning',
49
+ icon: <AlertTriangleIcon size={16} />,
50
+ title: event.device,
51
+ description: event.message,
52
+ createdAt: Date.now(),
53
+ read: false,
54
+ });
55
+ });
56
+ }, [addNotification]);
57
+
58
+ return null;
52
59
  }
53
60
  ```
54
61
 
55
- > Mount `<NotificationsProvider>` once at the app root. The `<NotificationDrawer>` can be placed anywhere within the provider tree; the bell button in `AppHeader` toggles it automatically.
62
+ ## Notes
63
+
64
+ - Mount `<NotificationsProvider>` once at the app root; the bell button in `AppHeader` toggles the drawer automatically.
65
+ - The `severity` field (`INFO` | `WARNING` | `DANGER`) overrides `variant` for color; `imageUrl` takes priority over `icon`, which falls back to a severity dot.
66
+ - Source: [`NotificationDrawer.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/NotificationDrawer.stories.tsx)
@@ -1,34 +1,43 @@
1
- <!-- source-hash: 5ace583dbfd66c8797d551088d516a48 -->
2
- Storybook configuration file defining visual documentation and interactive examples for the OSTypeBadge component system. This file creates comprehensive stories showcasing different OS type displays, normalization capabilities, and component variants.
1
+ <!-- source-hash: f7b466b1e3952004dc2b4484708db888 -->
2
+ Storybook stories for the `OSTypeBadge`, `OSTypeIcon`, and `OSTypeLabel` components, covering OS type rendering, alias normalization, display modes, and sizing variants.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **OSTypeBadge Stories** - Main component stories with various OS types and display modes
7
- - **OSTypeIcon Stories** - Icon-only variant stories with different sizes
8
- - **OSTypeLabel Stories** - Label-only variant stories
9
- - **Alias Demonstrations** - Stories showing OS type string normalization from different sources
10
- - **Configuration Objects** - Meta configurations for each component variant
6
+ | Export | Type | Description |
7
+ |---|---|---|
8
+ | `Default` / `Windows` / `MacOS` / `Linux` | `Story` | Basic OS badge rendering per platform |
9
+ | `Darwin` / `Ubuntu` | `Story` | Alias normalization (e.g. `"Darwin"` → macOS, `"Ubuntu"` → Linux) |
10
+ | `IconOnly` / `LabelOnly` | `Story` | Display mode variants |
11
+ | `LargeIcon` | `Story` | Custom icon sizing via Tailwind class |
12
+ | `Unknown` | `Story` | Graceful fallback for undefined OS type |
13
+ | `AllOSTypes` | `Story` | Side-by-side comparison of all three platforms |
14
+ | `Aliases` | `Story` | Normalization showcase for `Darwin`, `win32`, `Ubuntu`, `Fedora` |
15
+ | `Icons` / `IconSizes` | `IconStory` | `OSTypeIcon` standalone stories with size variants |
16
+ | `Labels` | `LabelStory` | `OSTypeLabel` standalone story |
11
17
 
12
18
  ## Usage Example
13
19
 
14
20
  ```typescript
15
- // Example story configuration for Windows OS display
16
- export const Windows: Story = {
17
- args: {
18
- osType: 'windows',
19
- },
20
- };
21
-
22
- // Custom render function for comparison stories
23
- export const AllOSTypes: Story = {
24
- render: () => (
25
- <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
26
- <OSTypeBadge osType="windows" />
27
- <OSTypeBadge osType="macos" />
28
- <OSTypeBadge osType="linux" />
29
- </div>
30
- ),
31
- };
21
+ // Full badge (icon + label)
22
+ <OSTypeBadge osType="Darwin" /> // normalizes macOS
23
+ <OSTypeBadge osType="win32" /> // normalizes → Windows
24
+
25
+ // Icon only
26
+ <OSTypeBadge osType="linux" iconOnly />
27
+ <OSTypeIcon osType="linux" size="w-6 h-6" />
28
+
29
+ // Label only
30
+ <OSTypeBadge osType="macos" labelOnly />
31
+ <OSTypeLabel osType="macos" />
32
+
33
+ // Unknown / missing type (renders fallback)
34
+ <OSTypeBadge osType={undefined} labelOnly />
32
35
  ```
33
36
 
34
- The stories demonstrate OS type normalization from various MDM sources (Fleet) with support for aliases like "Darwin" → "macOS" and "win32" → "Windows". Includes examples for icon-only, label-only, and combined display modes with customizable sizing options.
37
+ ## Notes
38
+
39
+ - The `meta` object configures three separate Storybook entries: `Features/OSTypeBadge`, `Features/OSTypeIcon`, and `Features/OSTypeLabel`.
40
+ - `osType` accepts case-insensitive strings and platform aliases sourced from Fleet MDM, OpenFrame RMM, and similar integrations.
41
+ - `iconSize` / `size` accept Tailwind width/height classes (e.g. `"w-6 h-6"`).
42
+
43
+ **Source:** [`OSTypeBadge.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/OSTypeBadge.stories.tsx)
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 158823868f1a6fa08bcd360e6e3fc0c6 -->
2
+ Storybook stories for the `OnboardingGuideCard` component, covering all three display densities used across the MSP platform UI.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `meta` | Storybook metadata — registers the component under `Chat/EntityCards/OnboardingGuideCard` with fullscreen layout |
9
+ | `ChatInlineSm` | Compact `sm` size story, matches the `size="sm"` + `displayAction: true` output from the chat dispatcher |
10
+ | `Default` | Horizontal step-card layout at the `default` density |
11
+ | `Catalog` | Full hero + author grid layout at the `catalog` density |
12
+
13
+ ## Usage Example
14
+
15
+ ```typescript
16
+ // Render the chat-inline variant directly in your component
17
+ import { OnboardingGuideCard } from '../components/chat/entity-cards'
18
+ import { onboardingGuide } from './__fixtures__/chat-cards'
19
+
20
+ <OnboardingGuideCard
21
+ guide={onboardingGuide}
22
+ href={`/guides/${onboardingGuide.slug}`}
23
+ size="sm"
24
+ target="_blank"
25
+ rel="noopener noreferrer"
26
+ />
27
+ ```
28
+
29
+ ## Size Variants
30
+
31
+ | Size | Use Case |
32
+ |---|---|
33
+ | `sm` | Chat-inline compact — always used by the chat dispatcher |
34
+ | `default` | Horizontal step-card — standard page embeds |
35
+ | `catalog` | Hero + author grid — browse/catalog views |
36
+
37
+ ## Notes
38
+
39
+ - All stories are wrapped in `ChatColumnDecorator` to simulate the chat column width constraint.
40
+ - The `sm` story mirrors the exact props the chat dispatch layer injects at runtime (`size="sm"`, `displayAction: true`).
41
+ - Fixture data is sourced from [`__fixtures__/chat-cards`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/stories/__fixtures__/chat-cards.ts).
@@ -1,39 +1,41 @@
1
- <!-- source-hash: cad0666dc893f948d0160200a40d9384 -->
2
- Storybook stories file for the `PageActions` component, documenting all interactive variants and states for use in the Flamingo/OpenFrame UI library.
1
+ <!-- source-hash: c2ab0103ae9c6603a7acd3db11530c37 -->
2
+ Storybook stories for the `PageActions` UI component, covering all layout variants, responsive behaviors, and interactive states.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Exported Stories:**
6
+ ### Stories
7
7
 
8
8
  | Story | Variant | Description |
9
9
  |---|---|---|
10
- | `IconButtons` | `icon-buttons` | Icon + label buttons, collapses to dropdown on mobile |
11
- | `PrimaryButtons` | `primary-buttons` | Accent + outline buttons, fixed bottom bar on mobile |
10
+ | `IconButtons` | `icon-buttons` | Icon-labeled buttons; collapses to dropdown on mobile |
11
+ | `PrimaryButtons` | `primary-buttons` | Accent + outline buttons; fixed bottom bar on mobile |
12
12
  | `PrimaryButtonsWithIcons` | `primary-buttons` | Primary buttons with leading icons |
13
- | `SinglePrimaryButton` | `primary-buttons` | Single accent CTA |
14
- | `SingleIconButton` | `icon-buttons` | Single icon button (stays visible on mobile, no menu collapse) |
15
- | `ThreeIconButtons` | `icon-buttons` | Three-action icon row |
16
- | `WithStates` | `primary-buttons` | `loading` and `disabled` prop states |
17
- | `MenuPrimary` | `menu-primary` | `...` overflow menu + primary button |
18
- | `MenuPrimaryLoading` | `menu-primary` | Loading state on primary button |
19
- | `MobileOnlyActions` | `icon-buttons` | `showOnlyMobile` prop hides specific actions on desktop |
20
- | `LinkActions` | `menu-primary` | `href`-based actions rendering as `<a>` elements |
21
- | `SplitButtonWithMenu` | `menu-primary` | `submenu` chevron split button pattern |
22
- | `SplitButtonTwoActions` | `menu-primary` | `iconAction` dual-target split button |
13
+ | `SinglePrimaryButton` | `primary-buttons` | Single accent button |
14
+ | `SingleIconButton` | `icon-buttons` | Single icon button (no dropdown collapse on mobile) |
15
+ | `ThreeIconButtons` | `icon-buttons` | Three icon buttons |
16
+ | `WithStates` | `primary-buttons` | Loading and disabled button states |
17
+ | `MenuPrimary` | `menu-primary` | `...` dropdown menu + primary button |
18
+ | `MenuPrimaryLoading` | `menu-primary` | Primary button in loading state |
19
+ | `MobileOnlyActions` | `icon-buttons` | Actions hidden on desktop via `showOnlyMobile` |
20
+ | `LinkActions` | `menu-primary` | Actions rendered as Next.js `<Link>` via `href` |
21
+ | `SplitButtonWithMenu` | `menu-primary` | Primary button with chevron submenu |
22
+ | `SplitButtonTwoActions` | `menu-primary` | Two independently clickable button halves via `iconAction` |
23
23
 
24
24
  ## Usage Example
25
25
 
26
26
  ```typescript
27
- // Basic icon-buttons usage in a page header
27
+ import { PageActions } from '../components/ui/page-actions'
28
+ import { PlusCircleIcon, PlayCircleIcon, PenEditIcon } from '../components/icons-v2-generated'
29
+
30
+ // icon-buttons variant (e.g. list pages)
28
31
  <PageActions
29
32
  variant="icon-buttons"
30
33
  actions={[
31
34
  { label: 'Add Script', onClick: handleAdd, icon: <PlusCircleIcon size={24} /> },
32
- { label: 'Edit Categories', onClick: handleEdit, icon: <ColorsIcon size={24} /> },
33
35
  ]}
34
36
  />
35
37
 
36
- // menu-primary with split button and overflow menu
38
+ // menu-primary variant with split button and submenu
37
39
  <PageActions
38
40
  variant="menu-primary"
39
41
  actions={[
@@ -42,7 +44,6 @@ Storybook stories file for the `PageActions` component, documenting all interact
42
44
  variant: 'outline',
43
45
  submenu: [
44
46
  { id: 'cmd', label: 'CMD', onClick: openCmd, icon: <TerminalIcon size={24} /> },
45
- { id: 'powershell', label: 'Power Shell', onClick: openPs, icon: <TerminalIcon size={24} /> },
46
47
  ],
47
48
  },
48
49
  ]}
@@ -50,11 +51,10 @@ Storybook stories file for the `PageActions` component, documenting all interact
50
51
  {
51
52
  items: [
52
53
  { id: 'edit', label: 'Edit Device', onClick: handleEdit, icon: <PenEditIcon size={24} /> },
53
- { id: 'delete', label: 'Delete Device', onClick: handleDelete, icon: <TrashIcon size={24} /> },
54
54
  ],
55
55
  },
56
56
  ]}
57
57
  />
58
58
  ```
59
59
 
60
- > **Tip:** Use `PageActions` via the `headerActions` prop on `PageContainer` for consistent page-level layouts across the Flamingo platform.
60
+ Pair with `PageContainer`'s `headerActions` prop for consistent page-level layouts. See the full source at [`PageActions.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/PageActions.stories.tsx).
@@ -1,25 +1,18 @@
1
- <!-- source-hash: f72131cedcde7906c303bc3ea8538959 -->
2
- Storybook stories for the `PageContainer` layout component, covering legacy and advanced usage variants including list, detail, form, and content page layouts.
1
+ <!-- source-hash: 6f5a95b06338851dcc16b8ce6b05192a -->
2
+ Storybook stories for the `PageContainer` layout component, covering legacy usage patterns and all advanced variants (list, detail, form, content) with header and padding configurations.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`Legacy`** — Basic container with full-width background and no structured header
7
- - **`LegacyCustomBackground`** / **`LegacyContentWidthBackground`** — Legacy mode with custom background and content-width options
8
- - **`ListPage`** / **`ListPageMultipleActions`** — List variant with title, subtitle, and action buttons
9
- - **`DetailPage`** / **`DetailPageWithActions`** — Detail variant with back button navigation and optional actions
10
- - **`FormPage`** — Form variant with cancel/save/publish actions
11
- - **`ContentPage`** — Generic content layout variant
12
- - **`CustomHeaderContent`** / **`WithHeaderActions`** / **`HiddenHeader`** Header customization stories
13
- - **`WithPaddingAndBackground`** — Demonstrates `padding` and `background` prop combinations
14
-
15
- ## Storybook Controls
16
-
17
- | Control | Options |
18
- |---------|---------|
19
- | `variant` | `list`, `detail`, `form`, `content` |
20
- | `padding` | `none`, `sm`, `md`, `lg` |
21
- | `background` | `default`, `card`, `transparent` |
22
- | `showHeader` | `boolean` |
6
+ - **`Legacy`** — Basic container with full-width background using className-based styling
7
+ - **`LegacyCustomBackground`** / **`LegacyContentWidthBackground`** — Legacy mode with custom background and scoped content-width background
8
+ - **`ListPage`** / **`ListPageMultipleActions`** — List variant with title, subtitle, and one or more action buttons
9
+ - **`DetailPage`** / **`DetailPageWithActions`** — Detail variant with back button and optional action buttons
10
+ - **`FormPage`** — Form variant with cancel back button and draft/publish actions
11
+ - **`ContentPage`** — Generic content variant with title
12
+ - **`CustomHeaderContent`** List variant using a fully custom `headerContent` ReactNode
13
+ - **`WithHeaderActions`** — List variant combining `headerActions` slot with standard `actions` array
14
+ - **`HiddenHeader`** — Content variant with `showHeader: false`
15
+ - **`WithPaddingAndBackground`** — Demonstrates `padding` (`lg`) and `background` (`card`) props
23
16
 
24
17
  ## Usage Example
25
18
 
@@ -30,21 +23,33 @@ Storybook stories for the `PageContainer` layout component, covering legacy and
30
23
  title="Devices"
31
24
  subtitle="24 devices found"
32
25
  actions={[
33
- { label: 'Add Device', onClick: handleAdd, icon: <Plus />, variant: 'primary' }
26
+ { label: 'Add Device', onClick: handleAdd, icon: <Plus className="w-5 h-5" />, variant: 'accent' },
34
27
  ]}
35
28
  >
36
- <DeviceTable />
29
+ <DeviceList />
37
30
  </PageContainer>
38
31
 
39
32
  // Detail page with back navigation
40
33
  <PageContainer
41
34
  variant="detail"
42
35
  title="Device Details"
36
+ subtitle="MacBook Pro — Online"
43
37
  backButton={{ label: 'Back to Devices', onClick: handleBack }}
44
38
  actions={[
45
- { label: 'Delete', onClick: handleDelete, variant: 'outline' }
39
+ { label: 'Delete', onClick: handleDelete, icon: <Trash2 className="w-5 h-5" />, variant: 'outline' },
46
40
  ]}
47
41
  >
48
- <DeviceDetails />
42
+ <DeviceDetail />
49
43
  </PageContainer>
50
- ```
44
+ ```
45
+
46
+ ## Configurable Controls
47
+
48
+ | Prop | Type | Options |
49
+ |---|---|---|
50
+ | `variant` | select | `list`, `detail`, `form`, `content` |
51
+ | `padding` | select | `none`, `sm`, `md`, `lg` |
52
+ | `background` | select | `default`, `card`, `transparent` |
53
+ | `showHeader` | boolean | `true` / `false` |
54
+
55
+ **Source:** [`PageContainer.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/PageContainer.stories.tsx)
@@ -1,60 +1,43 @@
1
- <!-- source-hash: 3e5784b9b627d4143a0bac991ef6fb48 -->
2
- Storybook stories for the `PageLayout` component, covering all major layout variants including title-only, subtitle/image combinations, mobile responsive behavior, and action button configurations.
1
+ <!-- source-hash: b09fa95f839417d0e19c0699fdf0b67c -->
2
+ Storybook stories for the `PageLayout` component, covering layout variants including title-only, subtitle/image combinations, mobile responsive behavior, and action button configurations.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Description |
7
- |--------|-------------|
8
- | `TitleOnly` | Minimal header with title and content only |
9
- | `WithSubtitleAndImage` | Full organization detail header with back button, thumbnail, subtitle, and icon-button actions |
10
- | `MobileActionsMenu` | Same as `WithSubtitleAndImage` at mobile viewport — actions collapse to `…` dropdown |
11
- | `WithSubtitleOnly` | Title + one-line context note with primary-button actions |
12
- | `WithImageOnly` | Branded entity header without a subtitle line |
13
- | `WithSelector` | Desktop tab selector (table/grid toggle) rendered before action buttons |
14
- | `WithSelectorMobile` | `WithSelector` at mobile viewport — selector hidden, only `…` dropdown remains |
15
- | `LongTitleTruncates` | Verifies ellipsis truncation when title/subtitle overflow the header |
7
+ |---|---|
8
+ | `TitleOnly` | Baseline header with title and content, no extras |
9
+ | `WithSubtitleAndImage` | Full org detail page with thumbnail, subtitle, back button, and icon-button actions |
10
+ | `MobileActionsMenu` | `WithSubtitleAndImage` at mobile viewport — actions collapse into a `…` dropdown |
11
+ | `WithSubtitleOnly` | Title + one-line subtitle with primary-button actions, no image |
12
+ | `WithImageOnly` | Branded entity header with thumbnail, no subtitle |
13
+ | `WithSelector` | Adds a desktop-only `TabSelector` (table/grid toggle) before action buttons |
14
+ | `WithSelectorMobile` | `WithSelector` at mobile viewport — selector is hidden, only `…` dropdown remains |
15
+ | `LongTitleTruncates` | Validates ellipsis truncation for overflowing titles and subtitles |
16
16
 
17
17
  ## Usage Example
18
18
 
19
19
  ```typescript
20
- // Minimal usage
20
+ // Minimal title-only layout
21
21
  <PageLayout title="Devices">
22
22
  <Table data={devices} columns={columns} rowKey="id" />
23
23
  </PageLayout>
24
24
 
25
- // Full organization detail page
25
+ // Full org detail layout with image, subtitle, back button, and actions
26
26
  <PageLayout
27
27
  title="TechFlow Solutions"
28
28
  subtitle="techflow.com • Software Development"
29
- image={{ src: logoSrc, alt: 'TechFlow logo' }}
29
+ image={{ src: logoSrc, alt: 'TechFlow Solutions logo' }}
30
30
  backButton={{ label: 'Back to Organizations', onClick: handleBack }}
31
31
  actionsVariant="icon-buttons"
32
32
  actions={[
33
33
  { label: 'Archive Organization', onClick: handleArchive, variant: 'outline', icon: <BoxArchiveIcon size={24} /> },
34
- { label: 'Edit Organization', onClick: handleEdit, variant: 'outline', icon: <PenEditIcon size={24} /> },
34
+ { label: 'Edit Organization', onClick: handleEdit, variant: 'outline', icon: <PenEditIcon size={24} /> },
35
35
  ]}
36
36
  >
37
37
  <Table data={devices} columns={columns} rowKey="id" />
38
38
  </PageLayout>
39
-
40
- // With desktop tab selector (hidden on mobile)
41
- <PageLayout
42
- title="Devices"
43
- actionsVariant="icon-buttons"
44
- actions={[{ label: 'Add Device', onClick: fn(), variant: 'outline', icon: <PlusCircleIcon size={24} /> }]}
45
- selector={
46
- <TabSelector
47
- value={view}
48
- onValueChange={setView}
49
- items={[
50
- { id: 'table', label: '', icon: <TableCellIcon size={24} /> },
51
- { id: 'grid', label: '', icon: <GridLayoutIcon size={24} /> },
52
- ]}
53
- />
54
- }
55
- >
56
- <Table data={devices} columns={columns} rowKey="id" />
57
- </PageLayout>
58
39
  ```
59
40
 
60
- **`actionsVariant` options:** `icon-buttons` (labeled outline buttons `…` menu on mobile), `primary-buttons` (always visible primary buttons), `menu-primary` (menu trigger with primary style).
41
+ **`actionsVariant` options:** `icon-buttons` (outline buttons that collapse to `…` on mobile) · `primary-buttons` (always visible) · `menu-primary`.
42
+
43
+ **Source:** [`PageLayout.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/PageLayout.stories.tsx)
@@ -0,0 +1,58 @@
1
+ <!-- source-hash: 26e88f6d6986aabc12b20690300de3c7 -->
2
+ Storybook stories for the `PolicyConfigurationPanel` component, demonstrating AI guardrails permission configuration UI in read-only and interactive edit modes.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `ReadOnly` | Panel in view-only mode — approval levels rendered as static text, no dropdowns |
9
+ | `EditMode` | Interactive story with per-policy and bulk category approval dropdowns; state updates mirror the OpenFrame guardrails editor hook |
10
+ | `GroupedPolicySections` | Composes multiple `PolicyConfigurationPanel` instances under labeled group headings (e.g., "Device Management", "Data Access") |
11
+ | `applyPolicyLevel` | Helper that immutably updates a single policy's `ApprovalLevel` within a category list |
12
+ | `applyCategoryLevel` | Helper that bulk-applies an `ApprovalLevel` to every policy in a given category |
13
+
14
+ **Sample fixture data** covers three device-action categories (`Device Actions`, `Remote Access`, `Scripts & Automation`) and one data-access category (`Read Access`), referencing tools such as `OPENFRAME_RMM`, `FLEET_MDM`, `MESHCENTRAL`, and `OSQUERY`.
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ // Replicate the EditMode story locally
20
+ import { useState } from 'react'
21
+ import { PolicyConfigurationPanel } from '../components/features/policy-configuration-panel'
22
+ import type { ApprovalLevel, PermissionCategory } from '../types/permissions'
23
+
24
+ function GuardrailsTab({ categories }: { categories: PermissionCategory[] }) {
25
+ const [cats, setCats] = useState(categories)
26
+
27
+ return (
28
+ <PolicyConfigurationPanel
29
+ categories={cats}
30
+ editMode={true}
31
+ onPolicyPermissionChange={(categoryId, policyId, level) =>
32
+ setCats(prev =>
33
+ prev.map(c =>
34
+ c.id !== categoryId ? c : {
35
+ ...c,
36
+ policies: c.policies.map(p =>
37
+ p.id === policyId ? { ...p, approvalLevel: level } : p
38
+ ),
39
+ }
40
+ )
41
+ )
42
+ }
43
+ onCategoryPermissionChange={(categoryId, level) =>
44
+ setCats(prev =>
45
+ prev.map(c =>
46
+ c.id !== categoryId ? c : {
47
+ ...c,
48
+ policies: c.policies.map(p => ({ ...p, approvalLevel: level })),
49
+ }
50
+ )
51
+ )
52
+ }
53
+ />
54
+ )
55
+ }
56
+ ```
57
+
58
+ **Source:** [`PolicyConfigurationPanel.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/PolicyConfigurationPanel.stories.tsx)
@@ -0,0 +1,39 @@
1
+ <!-- source-hash: 290738d76bac6ec31d0611cc77b0adc1 -->
2
+ Storybook stories for `ProductReleaseCard`, covering the `product_release` doc type at two density variants (`sm` and `lg`) used across chat inline views and catalog/release pages.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `ChatInlineSm` | Compact `sm` density card for inline chat display |
9
+ | `ChatInlineSmWithVideoCover` | Compact `sm` card with `hasVideoCover` enabled |
10
+ | `Large` | Rich `lg` density card with hero cover, version pill, changelog stats, and a 4-cell metadata grid footer |
11
+
12
+ ## Usage Example
13
+
14
+ ```typescript
15
+ import { ProductReleaseCard } from '../components/chat/entity-cards'
16
+ import { productReleaseSmProps, productReleaseLgProps } from './__fixtures__/chat-cards'
17
+ import { makeAnchorProps } from './__fixtures__/chat-card-decorator'
18
+
19
+ // Compact inline chat card
20
+ <ProductReleaseCard
21
+ {...productReleaseSmProps}
22
+ size="sm"
23
+ anchorProps={makeAnchorProps('/releases/2-5-0')}
24
+ />
25
+
26
+ // Rich catalog/release page card
27
+ <ProductReleaseCard
28
+ {...productReleaseLgProps}
29
+ size="lg"
30
+ anchorProps={makeAnchorProps('/releases/2-5-0')}
31
+ />
32
+ ```
33
+
34
+ ## Notes
35
+
36
+ - Both densities share a **flat prop signature** — no `item` wrapper object required.
37
+ - The `lg` variant is intended for `/releases`, the DevCenter tab, and investor-update related-content sections.
38
+ - Stories are wrapped in `ChatColumnDecorator` to simulate the chat column layout context.
39
+ - Source: [`ProductReleaseCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ProductReleaseCard.stories.tsx)
@@ -0,0 +1,51 @@
1
+ <!-- source-hash: abf8ccf174f6c325f8b6a86c8368e747 -->
2
+ Storybook stories for the `ProgramCard` component, covering the three supported program doc types (`podcast`, `webinar`, `event`) at both `sm` (chat-dispatch) and `default` (catalog page) sizes.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `ProgramCard` | Generic card component for program-type content entities |
9
+ | `DEFAULT_PROGRAM_CONFIGS` | Pre-built safe minimum configs per doc type (`podcast`, `webinar`, `event`) |
10
+ | `ChatColumnDecorator` | Storybook decorator that wraps stories in a chat column layout |
11
+ | `podcastItem` / `webinarItem` / `eventItem` | Fixture data for each program type |
12
+
13
+ ## Stories
14
+
15
+ | Story | Size | Notes |
16
+ |---|---|---|
17
+ | `PodcastSm` | `sm` | Chat-dispatch rendering for podcast cards |
18
+ | `WebinarSm` | `sm` | Chat-dispatch rendering for webinar cards |
19
+ | `EventSm` | `sm` | Chat-dispatch rendering for event cards |
20
+ | `PodcastDefault` | `default` | Full density; used on the podcast catalog page, not inline in chat |
21
+
22
+ ## Usage Example
23
+
24
+ ```typescript
25
+ import { ProgramCard } from '../components/chat/entity-cards'
26
+ import { DEFAULT_PROGRAM_CONFIGS } from '../components/chat/entity-cards/program-card-defaults'
27
+
28
+ // Minimal chat-safe rendering (sm size used by chat dispatch)
29
+ <ProgramCard
30
+ config={DEFAULT_PROGRAM_CONFIGS.podcast}
31
+ item={podcastItem}
32
+ size="sm"
33
+ href={`/podcasts/${podcastItem.id}`}
34
+ target="_blank"
35
+ rel="noopener noreferrer"
36
+ />
37
+
38
+ // Override config per type for full catalog rendering
39
+ <ProgramCard
40
+ config={{ ...DEFAULT_PROGRAM_CONFIGS.podcast, ...customCatalogConfig }}
41
+ item={podcastItem}
42
+ size="default"
43
+ href={`/podcasts/${podcastItem.id}`}
44
+ />
45
+ ```
46
+
47
+ > **Note:** `DEFAULT_PROGRAM_CONFIGS[type]` ships a safe minimum config for compact chat rendering. Embedders can override per type with a full catalog config via the `config` prop.
48
+
49
+ ## Source
50
+
51
+ [`ProgramCard.stories.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/ProgramCard.stories.tsx)