@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,54 +1,49 @@
1
- <!-- source-hash: a465f87f85ec79ae37576015929fe094 -->
2
- A full-page loading skeleton for the Margin Report view, rendering animated placeholder blocks that mirror the report's layout sections while optionally displaying an overlay with a CTA or status message.
1
+ <!-- source-hash: 748f0d8dedeec3d8bb5c7d5b38cb4fb6 -->
2
+ A full-page loading skeleton for the Margin Report view, rendering placeholder shimmer blocks that mirror the report's layout sections while data is being fetched.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Type | Description |
7
- |--------|------|-------------|
8
- | `MarginReportSkeleton` | `React.FC` | Main skeleton component with pulse animation and optional overlay |
9
- | `MarginReportSkeletonProps` | `interface` | Props contract for the skeleton component |
6
+ ### `MarginReportSkeleton`
10
7
 
11
- ### Props
8
+ Main export. Renders a multi-section skeleton layout matching the Margin Report structure.
9
+
10
+ **Props (`MarginReportSkeletonProps`):**
12
11
 
13
12
  | Prop | Type | Default | Description |
14
- |------|------|---------|-------------|
15
- | `animate` | `boolean` | `true` | Toggles CSS `animate-pulse` on the root element |
16
- | `description` | `React.ReactNode` | — | Explanatory text rendered above the overlay content |
17
- | `overlayContent` | `React.ReactNode` | — | Node rendered in a centered fixed overlay (e.g. button, spinner) |
18
-
19
- ### Skeleton Sections Rendered
20
-
21
- ```text
22
- ├── Header (title + subtitle bars)
23
- ├── Summary cards (3-column grid)
24
- ├── MSP Profile + Report Info (2-column grid)
25
- ├── Vendor listsCommercial & Open-Source stacks (2-column, 5 rows each)
26
- ├── Strategic Recommendations header + cards (3-column grid)
27
- └── OpenFrame value section (header + 3 value cards)
28
- ```
13
+ |---|---|---|---|
14
+ | `animate` | `boolean` | `true` | Toggles Tailwind `animate-pulse` shimmer |
15
+ | `description` | `React.ReactNode` | — | Text shown above the overlay content |
16
+ | `overlayContent` | `React.ReactNode` | — | Node rendered in a centered fixed overlay (e.g. CTA button, spinner) |
17
+
18
+ **Skeleton sections rendered (in order):**
19
+
20
+ 1. **Header** — title and subtitle placeholders
21
+ 2. **Summary cards** 3-column grid of `h-32` blocks
22
+ 3. **MSP Profile & Report Info** — 2-column card row with icon + text shimmer
23
+ 4. **Vendor solution lists** Commercial Stack / Open-Source Stack columns, each with 5 vendor rows (icon + name + cost placeholders)
24
+ 5. **Strategic Recommendations**section heading + 3-column card grid
25
+ 6. **OpenFrame value section** — header with logo + 3-column value card grid
26
+ 7. **CTA Overlay** conditionally renders a semi-transparent overlay with `overlayContent` fixed-centered on screen
29
27
 
30
28
  ## Usage Example
31
29
 
32
30
  ```typescript
33
- // Basic animated skeleton while data loads
31
+ import { MarginReportSkeleton } from './margin-report-skeleton';
32
+
33
+ // Basic shimmer while loading
34
34
  <MarginReportSkeleton />
35
35
 
36
- // Static skeleton with a gated CTA overlay
36
+ // With overlay CTA (e.g. prompt user to generate report)
37
37
  <MarginReportSkeleton
38
- animate={false}
39
- description="Generate your free Margin Report to unlock insights."
38
+ animate={true}
39
+ description="Your margin report is ready to generate."
40
40
  overlayContent={
41
- <Button onClick={handleGenerate}>
42
- Generate Report
43
- </Button>
41
+ <button onClick={handleGenerate}>Generate Report</button>
44
42
  }
45
43
  />
46
44
 
47
- // Skeleton with a loading spinner overlay
48
- <MarginReportSkeleton
49
- description="Calculating your margins…"
50
- overlayContent={<Spinner size="lg" />}
51
- />
45
+ // Static (no animation) for testing/screenshots
46
+ <MarginReportSkeleton animate={false} />
52
47
  ```
53
48
 
54
- > **Note:** When `overlayContent` is provided, a semi-transparent overlay (`bg-ods-card/80`) covers the entire skeleton. The overlay content is viewport-centered via `fixed` positioning with pointer-events re-enabled only on the CTA container.
49
+ **Source:** [`margin-report-skeleton.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/margin-report-skeleton.tsx)
@@ -1,47 +1,45 @@
1
- <!-- source-hash: 9b080f2c1d6ef86ef972fc514cc318df -->
2
- A React component that displays an animated loading screen with a pulsing heart-like animation, progress indicator, and status message for OpenMSP report generation.
1
+ <!-- source-hash: da03f70685b81a05475fa7db2ce0079d -->
2
+ A full-screen loading component that displays an animated heartbeat logo with progress tracking, designed for long-running background operations like report generation.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **OpenmspHeartbeatLoader** - Main component that creates a full-screen loading interface with:
7
- - Animated OpenMSP logo with heartbeat-style pulsing animation
8
- - Progress percentage display
9
- - Customizable status label
10
- - Background processing notification
11
- - Accessibility support with ARIA labels
6
+ ### `OpenmspHeartbeatLoader`
7
+
8
+ A React client component that renders a centered loading screen with:
9
+
10
+ - **Heartbeat animation** — inline `@keyframes` CSS (`heartbeatInline`) simulating a lub-dub double-beat pulse on the OpenMSP logo, avoiding Tailwind purge issues
11
+ - **`OpenmspLogo`** branded logo with customized bubble colors, scaled responsively (`w-16`/`h-16` → `w-24`/`h-24`)
12
+ - **Progress indicator** — displays integer percentage (0–100) with secondary `/100%` label
13
+ - **Status label** — configurable message defaulting to `"Processing…"`
14
+ - **User reassurance message** — informs users they can navigate away safely
15
+
16
+ ### Props
17
+
18
+ | Prop | Type | Default | Description |
19
+ |---|---|---|---|
20
+ | `className` | `string` | `''` | Additional CSS classes for the outer container |
21
+ | `progress` | `number` | `0` | Completion percentage (0–100) |
22
+ | `label` | `string` | `"Processing…"` | Status message shown below progress |
23
+ | `barWidth` | `string` | `'w-128'` | Tailwind width class for the content column |
12
24
 
13
25
  ## Usage Example
14
26
 
15
27
  ```typescript
16
- // Basic usage with default settings
17
- <OpenmspHeartbeatLoader />
18
-
19
- // With progress tracking
20
- <OpenmspHeartbeatLoader
21
- progress={45}
22
- label="Analyzing data..."
23
- />
24
-
25
- // With custom styling and progress bar width
26
- <OpenmspHeartbeatLoader
27
- className="bg-gray-100"
28
- progress={75}
29
- label="Generating final report..."
30
- barWidth="w-96"
31
- />
32
-
33
- // In a report generation flow
34
- function ReportGenerator() {
35
- const [progress, setProgress] = useState(0);
36
- const [status, setStatus] = useState("Initializing...");
28
+ import { OpenmspHeartbeatLoader } from './openmsp-heartbeat';
29
+
30
+ export default function ReportPage() {
31
+ const [progress, setProgress] = React.useState(42);
37
32
 
38
33
  return (
39
- <OpenmspHeartbeatLoader
34
+ <OpenmspHeartbeatLoader
40
35
  progress={progress}
41
- label={status}
36
+ label="Generating your MSP report…"
37
+ barWidth="w-96"
42
38
  />
43
39
  );
44
40
  }
45
41
  ```
46
42
 
47
- The component features a distinctive double-beat heartbeat animation (lub-dub pattern) that cycles every 3.6 seconds, providing visual feedback during long-running background processes while allowing users to navigate away safely.
43
+ ## Source
44
+
45
+ [`openmsp-heartbeat.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/openmsp-heartbeat.tsx)
@@ -1,46 +1,43 @@
1
- <!-- source-hash: 254d5d86afe2187734cde56c533fc995 -->
2
- Loading skeleton component that renders a placeholder matching the exact layout and dimensions of an `OrganizationCard`, preventing layout shifts during data fetching.
1
+ <!-- source-hash: 42afed7b963d9c8db89ec0c7a70f20ee -->
2
+ Loading skeleton component that replicates the exact layout and dimensions of an `OrganizationCard`, preventing layout shifts during data fetching.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### `OrganizationCardSkeleton`
7
7
  Single card skeleton with three configurable sections:
8
- - **Header** — 60×60px org logo placeholder + title/subtitle text skeletons
9
- - **Description** — Fixed 48px height with two-line body text skeletons (toggled via `showDescription`)
10
- - **Footer** — Two stat items (icon + caption) and a tag/badge placeholder (toggled via `showFooter`)
8
+ - **Header** — 60×60px org logo placeholder + title + subtitle text skeletons
9
+ - **Description** — Fixed 48px height, two-line body text skeletons (toggled via `showDescription`)
10
+ - **Footer** — Two icon+stat pairs and a tag/badge placeholder (toggled via `showFooter`)
11
11
 
12
12
  ### `OrganizationCardSkeletonGrid`
13
- Renders a responsive grid of `OrganizationCardSkeleton` instances:
14
- - Mobile: 1 column | Tablet (`md`): 2 columns | Desktop (`lg`): 3 columns
13
+ Renders a responsive grid of `OrganizationCardSkeleton` instances. Defaults to 12 cards across a 1→2→3 column responsive layout.
15
14
 
16
15
  ### `OrganizationCardSkeletonProps`
16
+
17
17
  | Prop | Type | Default | Description |
18
- |------|------|---------|-------------|
19
- | `className` | `string` | — | Additional CSS classes |
20
- | `containerClassName` | `string` | — | Overrides card background & border |
21
- | `showFooter` | `boolean` | `true` | Renders footer stats area |
22
- | `showDescription` | `boolean` | `true` | Renders description area |
18
+ |---|---|---|---|
19
+ | `className` | `string` | — | Additional CSS classes on the card |
20
+ | `containerClassName` | `string` | — | Overrides background/border of the card container |
21
+ | `showFooter` | `boolean` | `true` | Renders the stats/badge footer row |
22
+ | `showDescription` | `boolean` | `true` | Renders the description area |
23
23
 
24
24
  ## Usage Example
25
25
 
26
26
  ```typescript
27
- // Single card skeleton
28
- <OrganizationCardSkeleton
29
- showDescription={true}
30
- showFooter={true}
31
- />
27
+ // Single skeleton card
28
+ import { OrganizationCardSkeleton } from "./organization-card-skeleton"
29
+
30
+ <OrganizationCardSkeleton showFooter={true} showDescription={true} />
31
+
32
+ // Grid skeleton while fetching a list
33
+ import { OrganizationCardSkeletonGrid } from "./organization-card-skeleton"
32
34
 
33
- // Full grid skeleton during data load
34
35
  <OrganizationCardSkeletonGrid
35
36
  count={9}
36
37
  showFooter={true}
37
38
  showDescription={false}
38
- className="my-4"
39
+ className="my-6"
39
40
  />
41
+ ```
40
42
 
41
- // Custom container styling
42
- <OrganizationCardSkeleton
43
- containerClassName="bg-gray-900 border border-gray-700"
44
- showFooter={false}
45
- />
46
- ```
43
+ > Both components set `role="status"` and `aria-label` for screen reader accessibility during loading states.
@@ -1,41 +1,53 @@
1
- <!-- source-hash: 31726d42ed65c56efadaa8abd3f2fc5b -->
2
- A React skeleton loading component that provides visual placeholders for organization icons while data is loading, ensuring consistent layout and preventing visual jumps during loading states.
1
+ <!-- source-hash: 45999614de7204fe66e3d0b2ca239d81 -->
2
+ Loading skeleton component that renders a placeholder for `OrganizationIcon`/`VendorIcon` during async data fetching, preventing layout shifts by matching the icon's exact dimensions and styling.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **OrganizationIconSkeleton**: Main skeleton component with configurable size, background, and styling options
7
- - **OrganizationIconSkeletonProps**: TypeScript interface defining component props including size variants, styling options, and accessibility features
8
- - **sizeClasses**: Size mapping object that matches OrganizationIcon dimensions exactly (xs: 24px to xl: 64px)
9
- - **backgroundClasses**: Background style variants (dark, light, white) for different UI contexts
6
+ ### `OrganizationIconSkeletonProps`
7
+ | Prop | Type | Default | Description |
8
+ |------|------|---------|-------------|
9
+ | `size` | `'xs' \| 'sm' \| 'md' \| 'lg' \| 'l' \| 'xl'` | `'md'` | Pixel size variant (24px–64px) |
10
+ | `className` | `string` | `''` | Additional Tailwind/CSS classes |
11
+ | `showBackground` | `boolean` | `true` | Toggles the container background and border |
12
+ | `backgroundStyle` | `'dark' \| 'light' \| 'white'` | `'dark'` | Background color variant |
13
+
14
+ ### `OrganizationIconSkeleton`
15
+ The exported functional component. Renders an animated pulse placeholder (`animate-pulse`) sized to match the target icon exactly.
16
+
17
+ **Size → class mapping:**
18
+
19
+ | Size | Class | Pixels |
20
+ |------|-------|--------|
21
+ | `xs` | `w-6 h-6` | 24px |
22
+ | `sm` | `w-8 h-8` | 32px |
23
+ | `md` | `w-10 h-10` | 40px |
24
+ | `lg` | `w-12 h-12` | 48px |
25
+ | `l` | `w-14 h-14` | 56px |
26
+ | `xl` | `w-16 h-16` | 64px |
10
27
 
11
28
  ## Usage Example
12
29
 
13
30
  ```typescript
14
- import { OrganizationIconSkeleton } from './organization-icon-skeleton'
31
+ // Default organizations table / dashboard
32
+ <OrganizationIconSkeleton size="md" />
15
33
 
16
- // Basic usage in a table (default md size)
17
- <OrganizationIconSkeleton />
34
+ // Devices table
35
+ <OrganizationIconSkeleton size="sm" />
18
36
 
19
- // Device card with smaller size
20
- <OrganizationIconSkeleton size="sm" backgroundStyle="light" />
37
+ // Detail / profile view
38
+ <OrganizationIconSkeleton size="xl" backgroundStyle="light" />
21
39
 
22
- // Detail view with large size
23
- <OrganizationIconSkeleton
24
- size="xl"
25
- backgroundStyle="white"
26
- className="shadow-sm"
27
- />
40
+ // Icon-only, no background container
41
+ <OrganizationIconSkeleton size="sm" showBackground={false} />
28
42
 
29
- // Without background container
30
- <OrganizationIconSkeleton
31
- size="lg"
32
- showBackground={false}
43
+ // White card background with extra margin
44
+ <OrganizationIconSkeleton
45
+ size="lg"
46
+ backgroundStyle="white"
47
+ className="mr-3"
33
48
  />
34
-
35
- // Loading list with multiple skeletons
36
- {Array.from({ length: 3 }).map((_, i) => (
37
- <OrganizationIconSkeleton key={i} size="md" />
38
- ))}
39
49
  ```
40
50
 
41
- The component includes proper ARIA labels for accessibility and uses CSS animations for the pulsing skeleton effect. It maintains exact visual parity with the actual OrganizationIcon component to ensure seamless loading transitions.
51
+ ## Source
52
+
53
+ [`organization-icon-skeleton.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/organization-icon-skeleton.tsx)
@@ -1,20 +1,28 @@
1
- <!-- source-hash: d81e064ec80f99a3beddcfc15467f602 -->
2
- Skeleton loading components for the page layout, providing animated placeholders that match the structure of major UI sections including headers, heroes, sidebars, articles, and vendor detail pages.
1
+ <!-- source-hash: faa2b999162e0192fd42b39cf2569ca0 -->
2
+ Provides skeleton UI components that mirror real page layout elements (announcement bar, header, hero, sidebar, article, vendor detail) during loading states, built with Tailwind CSS and animated pulse effects.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Description |
7
- |--------|-------------|
8
- | `AnnouncementBarSkeleton` | Matches `AnnouncementBar` with logo, text lines, and close button placeholders |
9
- | `HeaderSkeleton` | Sticky header with logo, nav links, and action button skeletons |
10
- | `HeroSkeleton` | Full-width hero section with title, subtitle, and CTA placeholders |
7
+ |---|---|
8
+ | `AnnouncementBarSkeleton` | Skeleton for top announcement bars with logo, text, and close button |
9
+ | `HeaderSkeleton` | Sticky header skeleton with logo, nav links, and action buttons (responsive) |
10
+ | `HeroSkeleton` | Full-width hero section skeleton with title, subtitle, and CTA |
11
11
  | `SearchContainerSkeleton` | Search input with optional filter chip row |
12
- | `CategorySidebarSkeleton` | Sidebar mimicking `MultiLevelNavigation` with folder/file icons and README badges |
12
+ | `CategorySidebarSkeleton` | File-tree sidebar skeleton mimicking `MultiLevelNavigation` with folder/file icons and badges |
13
13
  | `BreadcrumbSkeleton` | Horizontal breadcrumb trail with separator dots |
14
- | `ResultsHeaderSkeleton` | Results count and sort controls placeholder |
15
- | `TwoColumnLayoutSkeleton` | Responsive grid wrapper accepting custom sidebar/main content with configurable `sidebarPosition` |
16
- | `ArticleLayoutSkeleton` | Full article page skeleton with header, featured image, and paragraph blocks |
17
- | `VendorDetailLayoutSkeleton` | Vendor detail page with breadcrumb, hero logo/title area, and responsive layout |
14
+ | `ResultsHeaderSkeleton` | Results count / sort bar skeleton |
15
+ | `TwoColumnLayoutSkeleton` | Composable two-column grid (sidebar + main), supports left/right sidebar position |
16
+ | `ArticleLayoutSkeleton` | Full article skeleton: tags, title, metadata, featured image, and 12 body paragraphs |
17
+ | `VendorDetailLayoutSkeleton` | Vendor detail page skeleton with breadcrumb, hero logo/title, and responsive layout |
18
+
19
+ ### Props
20
+
21
+ | Component | Key Props |
22
+ |---|---|
23
+ | `SearchContainerSkeleton` | `showFilters?: boolean`, `className?: string` |
24
+ | `TwoColumnLayoutSkeleton` | `sidebarContent?: ReactNode`, `mainContent?: ReactNode`, `sidebarPosition?: 'left' \| 'right'` |
25
+ | All others | `className?: string` |
18
26
 
19
27
  ## Usage Example
20
28
 
@@ -23,24 +31,38 @@ import {
23
31
  HeaderSkeleton,
24
32
  TwoColumnLayoutSkeleton,
25
33
  CategorySidebarSkeleton,
34
+ ArticleLayoutSkeleton,
26
35
  } from "./page-layout-skeleton"
27
36
 
28
- // Drop-in loading state for a browse page
29
- function BrowsePage() {
30
- if (isLoading) {
31
- return (
32
- <>
33
- <HeaderSkeleton />
34
- <TwoColumnLayoutSkeleton
35
- sidebarContent={<CategorySidebarSkeleton />}
36
- sidebarPosition="left"
37
- />
38
- </>
39
- )
40
- }
41
- return <ActualContent />
37
+ // Drop-in page loading state
38
+ function CatalogPageSkeleton() {
39
+ return (
40
+ <>
41
+ <HeaderSkeleton />
42
+ <TwoColumnLayoutSkeleton
43
+ sidebarPosition="left"
44
+ sidebarContent={<CategorySidebarSkeleton />}
45
+ // mainContent defaults to <CardSkeletonGrid count={6} />
46
+ />
47
+ </>
48
+ )
49
+ }
50
+
51
+ // Slot in a custom main area
52
+ function ArticlePage() {
53
+ return (
54
+ <TwoColumnLayoutSkeleton
55
+ mainContent={<ArticleLayoutSkeleton />}
56
+ sidebarPosition="right"
57
+ />
58
+ )
42
59
  }
60
+ ```
61
+
62
+ ## Notes
63
+
64
+ - All skeletons use `bg-ods-skeleton` / `bg-ods-border` design tokens and `animate-pulse` for consistent motion.
65
+ - `TwoColumnLayoutSkeleton` defaults to `CategorySidebarSkeleton` + `CardSkeletonGrid` when no children are provided.
66
+ - `CategorySidebarSkeleton` hard-codes 11 navigation items to closely mirror the actual `MultiLevelNavigation` shape, including README badges and chevron icons.
43
67
 
44
- // Inline search skeleton with filters hidden
45
- <SearchContainerSkeleton showFilters={false} className="my-4" />
46
- ```
68
+ **Source:** [`page-layout-skeleton.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/page-layout-skeleton.tsx)
@@ -1,40 +1,39 @@
1
- <!-- source-hash: 8c0e5c74de8bbbd5020de8b54978e503 -->
2
- Accessible loading placeholder component providing a base `UnifiedSkeleton` with specialized sub-components for consistent skeleton UI across the application.
1
+ <!-- source-hash: 2711fbf4f1f9d8e6410975aacc0cd4de -->
2
+ A unified skeleton loading component library providing accessible, animated placeholder elements for content loading states across the application.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### `UnifiedSkeleton` (base component)
7
- Core skeleton element with dark theme styling (`#2A2A2A` base), pulse animation, and full accessibility support.
6
+ ### `UnifiedSkeleton`
7
+ Base skeleton component accepting:
8
+ - `variant` — Shape style: `default` (rounded), `text` (rounded-sm), `circular`, `rectangular`
9
+ - `width` / `height` — Custom dimensions; defaults to full width with variant-based height
10
+ - `animate` — Toggles pulse animation; respects `prefers-reduced-motion` via `motion-reduce:animate-none`
11
+ - `aria-label` — Screen reader label (defaults to `"Loading content"`)
8
12
 
9
- | Prop | Type | Default | Description |
10
- |------|------|---------|-------------|
11
- | `variant` | `'default' \| 'text' \| 'circular' \| 'rectangular'` | `'default'` | Shape/border-radius style |
12
- | `width` | `string \| number` | — | Custom width override |
13
- | `height` | `string \| number` | — | Custom height override |
14
- | `animate` | `boolean` | `true` | Toggle pulse animation (respects `prefers-reduced-motion`) |
15
- | `aria-label` | `string` | `"Loading content"` | Screen reader label |
16
-
17
- ### `TextSkeleton` namespace
13
+ ### `TextSkeleton`
14
+ Namespace of text-specific variants:
18
15
  | Export | Use Case |
19
- |--------|----------|
20
- | `TextSkeleton.Heading` | H1/H2 placeholders (`h-8` → `h-12`) |
21
- | `TextSkeleton.Subheading` | H3/H4 placeholders (`h-6` → `h-8`) |
22
- | `TextSkeleton.Body` | Paragraph text (`h-4` → `h-5`) |
23
- | `TextSkeleton.Caption` | Metadata/captions (`h-3` `h-4`) |
16
+ |---|---|
17
+ | `TextSkeleton.Heading` | H1/H2 placeholders |
18
+ | `TextSkeleton.Subheading` | H3/H4 placeholders |
19
+ | `TextSkeleton.Body` | Paragraph text |
20
+ | `TextSkeleton.Caption` | Captions and metadata |
24
21
 
25
- ### `InteractiveSkeleton` namespace
22
+ ### `InteractiveSkeleton`
23
+ UI control placeholders:
26
24
  | Export | Use Case |
27
- |--------|----------|
28
- | `InteractiveSkeleton.Button` | Fixed-width button placeholder |
29
- | `InteractiveSkeleton.Input` | Full-width input field placeholder |
30
- | `InteractiveSkeleton.Chip` | Pill-shaped filter chip placeholder |
25
+ |---|---|
26
+ | `InteractiveSkeleton.Button` | CTA buttons |
27
+ | `InteractiveSkeleton.Input` | Form fields |
28
+ | `InteractiveSkeleton.Chip` | Filter chips |
31
29
 
32
- ### `MediaSkeleton` namespace
30
+ ### `MediaSkeleton`
31
+ Media and icon placeholders:
33
32
  | Export | Use Case |
34
- |--------|----------|
35
- | `MediaSkeleton.Avatar` | Circular avatar (`sm/md/lg`) |
36
- | `MediaSkeleton.CardImage` | `1200×630` aspect-ratio image (matches OG card, prevents layout shift) |
37
- | `MediaSkeleton.Icon` | Square icon placeholder (`sm/md/lg`) |
33
+ |---|---|
34
+ | `MediaSkeleton.Avatar` | Profile images (`sm`/`md`/`lg`) |
35
+ | `MediaSkeleton.CardImage` | OG-ratio card images (1200×630) |
36
+ | `MediaSkeleton.Icon` | Icons (`sm`/`md`/`lg`) |
38
37
 
39
38
  ## Usage Example
40
39
 
@@ -46,24 +45,22 @@ import {
46
45
  MediaSkeleton,
47
46
  } from "./unified-skeleton"
48
47
 
49
- // Basic usage
50
- <UnifiedSkeleton variant="rectangular" height={200} />
48
+ // Custom skeleton
49
+ <UnifiedSkeleton variant="rectangular" width={200} height={100} />
51
50
 
52
51
  // Composing a card loading state
53
- function TicketCardSkeleton() {
52
+ function CardSkeleton() {
54
53
  return (
55
- <div className="flex gap-3 p-4">
56
- <MediaSkeleton.Avatar size="md" />
57
- <div className="flex-1 space-y-2">
58
- <TextSkeleton.Heading className="w-3/4" />
59
- <TextSkeleton.Body />
60
- <TextSkeleton.Caption className="w-1/2" />
54
+ <div className="flex flex-col gap-3 p-4">
55
+ <MediaSkeleton.CardImage />
56
+ <div className="flex items-center gap-2">
57
+ <MediaSkeleton.Avatar size="sm" />
58
+ <TextSkeleton.Subheading className="w-48" />
61
59
  </div>
60
+ <TextSkeleton.Body />
61
+ <TextSkeleton.Body className="w-3/4" />
62
62
  <InteractiveSkeleton.Button />
63
63
  </div>
64
64
  )
65
65
  }
66
-
67
- // Disable animation (e.g. for snapshot tests)
68
- <UnifiedSkeleton animate={false} aria-label="Loading ticket list" />
69
66
  ```
@@ -1,45 +1,26 @@
1
- <!-- source-hash: b81e47a927a9ff4d5803ff0d1171b304 -->
2
- A skeleton loading component that displays a placeholder table structure while user data is being fetched, providing visual feedback during loading states.
1
+ <!-- source-hash: b6ac8db23428c76629b002b2787c23ba -->
2
+ A loading skeleton placeholder for the users data grid, rendering an animated pulsing table with header columns and configurable blank rows while user data is being fetched.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`UsersGridSkeleton`** - Main skeleton component that renders an animated placeholder table
7
- - **`Props`** interface defining:
8
- - `rows` - Number of skeleton rows to display (defaults to 10)
9
- - `className` - Optional additional CSS classes for styling
10
-
11
- ## Features
12
-
13
- - **Responsive Design**: Horizontal scroll for mobile compatibility with `overflow-x-auto`
14
- - **Pulse Animation**: Built-in `animate-pulse` class for loading feedback
15
- - **Fixed Structure**: Matches actual users grid with 5 columns (Name, Email, Role, Created, Last Sign-In)
16
- - **Customizable Rows**: Configurable number of skeleton rows based on expected data size
17
- - **Theme Integration**: Uses ODS (design system) color tokens and styling
6
+ - **`UsersGridSkeleton`** Default export component that renders a full-width table skeleton with five fixed columns: Name, Email, Role, Created, and Last Sign-In.
7
+ - **`Props`** Interface accepting `rows` (number of skeleton rows to render, defaults to `10`) and an optional `className` for style overrides.
18
8
 
19
9
  ## Usage Example
20
10
 
21
11
  ```typescript
22
- import { UsersGridSkeleton } from './users-grid-skeleton'
23
-
24
- // Basic usage with default 10 rows
25
- function UsersList() {
26
- const [loading, setLoading] = useState(true)
27
- const [users, setUsers] = useState([])
28
-
29
- if (loading) {
30
- return <UsersGridSkeleton />
31
- }
32
-
33
- return <UsersGrid users={users} />
34
- }
35
-
36
- // Custom row count and styling
37
- function AdminPanel() {
38
- return (
39
- <UsersGridSkeleton
40
- rows={5}
41
- className="shadow-lg"
42
- />
43
- )
44
- }
45
- ```
12
+ import { UsersGridSkeleton } from "./users-grid-skeleton"
13
+
14
+ // Default: 10 skeleton rows
15
+ <UsersGridSkeleton />
16
+
17
+ // Custom row count and additional styling
18
+ <UsersGridSkeleton rows={5} className="mt-4" />
19
+ ```
20
+
21
+ ## Notes
22
+
23
+ - Uses `animate-pulse` for the loading shimmer effect via Tailwind CSS.
24
+ - Columns are statically defined as `['Name', 'Email', 'Role', 'Created', 'Last Sign-In']` — matching the expected shape of the users table.
25
+ - Each skeleton cell renders a full-width `h-4` bar using the `ods-border` design token, consistent with the OpenFrame design system.
26
+ - The `cn` utility (from [`utils/cn`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/utils/cn.ts)) merges class names, allowing external `className` overrides without conflicts.