@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,18 +1,17 @@
1
- <!-- source-hash: 3f4c3ea11c22967d350372a28c7b33d3 -->
2
- A deprecated table cell component for displaying truncated description text with configurable line clamping. Use `data-table` instead.
1
+ <!-- source-hash: 2746004dfdd4cd1e448e6edd26994e2f -->
2
+ A deprecated React component for rendering truncated description text within table cells, supporting configurable line clamping from 1–6 lines.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### `TableDescriptionCell` *(deprecated)*
7
- A React component that renders description text within a table cell, supporting multi-line truncation via CSS `line-clamp` utilities.
8
-
9
- ### `TableDescriptionCellProps` *(deprecated)*
10
-
6
+ ### `TableDescriptionCellProps`
11
7
  | Prop | Type | Default | Description |
12
8
  |------|------|---------|-------------|
13
9
  | `text` | `string` | — | The description text to display |
14
10
  | `className` | `string` | — | Optional additional CSS classes |
15
- | `maxLines` | `1-6` | `3` | Maximum lines before truncating |
11
+ | `maxLines` | `16` | `3` | Maximum lines before truncating |
12
+
13
+ ### `TableDescriptionCell`
14
+ A client-side functional component that renders description text with Tailwind-based line clamping. Applies `truncate` for `maxLines=1` and `line-clamp-{n}` for values 2–6. Text uses `text-h6` and `text-ods-text-secondary` styling by default.
16
15
 
17
16
  ## Usage Example
18
17
 
@@ -21,16 +20,16 @@ import { TableDescriptionCell } from './table-description-cell'
21
20
 
22
21
  // Default 3-line clamp
23
22
  <TableDescriptionCell
24
- text="This is a long description that may span multiple lines in the table cell."
23
+ text="This is a long description that will be clamped after three lines of text."
25
24
  />
26
25
 
27
26
  // Single-line truncation
28
27
  <TableDescriptionCell
29
- text="Short truncated description"
28
+ text="Long description truncated to one line"
30
29
  maxLines={1}
31
30
  />
32
31
 
33
- // Custom styling with 2-line clamp
32
+ // Custom class with 2-line clamp
34
33
  <TableDescriptionCell
35
34
  text="Custom styled description text"
36
35
  maxLines={2}
@@ -38,4 +37,6 @@ import { TableDescriptionCell } from './table-description-cell'
38
37
  />
39
38
  ```
40
39
 
41
- > **⚠️ Deprecated:** This component is deprecated. Migrate to `data-table` for new implementations.
40
+ ## Notes
41
+
42
+ > ⚠️ **Deprecated:** This component is deprecated. Use [`data-table`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src) instead.
@@ -1,37 +1,36 @@
1
- <!-- source-hash: 646e60a86ac75ae22a638fb221c00ad2 -->
2
- Renders a centered empty state UI within a table or data container, displaying an icon, message, and optional action button when no data is available.
1
+ <!-- source-hash: 9f3cb8400bce287eb892324aeced9179 -->
2
+ Deprecated empty state component for tables that renders a "no results" UI using the `NoData` base component.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`TableEmptyState`** *(deprecated)* Main exported component. Use `DataTableEmpty` from `data-table` instead.
6
+ - **`TableEmptyState`** — Exported function component that wraps `NoData` with table-specific defaults. Marked as `@deprecated` in favour of `DataTableEmpty` from `data-table`.
7
7
 
8
- ## Props (`TableEmptyStateProps`)
8
+ ### Props (`TableEmptyStateProps`)
9
9
 
10
- | Prop | Type | Default | Description |
11
- |------|------|---------|-------------|
12
- | `message` | `string` | `'No data available'` | Text displayed below the icon |
13
- | `icon` | `ReactNode` | `<FileX2 />` | Custom icon override |
14
- | `action` | `{ label: string; onClick: () => void }` | `undefined` | Optional action button |
15
- | `className` | `string` | `undefined` | Additional CSS classes |
10
+ | Prop | Description |
11
+ |---|---|
12
+ | `message` | Custom message shown as the title; defaults to `'No results found'` |
13
+ | `icon` | Override icon; defaults to `<SearchIcon />` |
14
+ | `action` | Optional `{ label, onClick }` for a call-to-action button |
15
+ | `className` | Additional CSS classes merged via `cn()` |
16
16
 
17
17
  ## Usage Example
18
18
 
19
19
  ```typescript
20
- // ⚠️ Deprecated — prefer DataTableEmpty from data-table
21
20
  import { TableEmptyState } from './table-empty-state'
22
21
 
23
22
  // Basic usage
24
- <TableEmptyState message="No records found" />
23
+ <TableEmptyState />
25
24
 
26
- // With custom icon and action
25
+ // With custom message and action
27
26
  <TableEmptyState
28
- message="No devices available"
29
- icon={<ServerOff className="w-12 h-12" />}
30
- action={{
31
- label: "Add Device",
32
- onClick: () => router.push('/devices/new')
33
- }}
27
+ message="No tickets found"
28
+ action={{ label: 'Create Ticket', onClick: () => router.push('/tickets/new') }}
34
29
  />
35
30
  ```
36
31
 
37
- > **Deprecated:** This component is superseded by `DataTableEmpty` from the `data-table` package, which provides enhanced features and consistent data table integration. Migrate existing usages when possible.
32
+ > **Deprecation notice:** Migrate to `DataTableEmpty` from the `data-table` package for new implementations.
33
+
34
+ ## Source
35
+
36
+ [`table-empty-state.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/table-empty-state.tsx)
@@ -1,34 +1,44 @@
1
- <!-- source-hash: fc61b63b86b6a05d8f7ae1ddcc0dba93 -->
2
- A deprecated table row component that renders a single row in a tabular layout, supporting click handlers, link navigation, row selection, and dynamic cell rendering with nested property access.
1
+ <!-- source-hash: 3f82dc8c648a34997fb9485fd51b9624 -->
2
+ Deprecated row component for the legacy `Table` component, rendering a single data row with support for click handlers, link mode, selection checkboxes, nested property access, and optional FLIP animation via `framer-motion`.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`TableRow<T>`** — Generic row component accepting typed `item` data, column definitions, and interaction callbacks. Marked `@deprecated` use `DataTableRow` from `data-table` instead.
7
- - **`handleRowClick`** — Click handler that respects `[data-no-row-click]` elements (e.g., checkboxes), preventing event propagation to row-level handlers.
8
- - **`getCellValue`** — Resolves cell content via `column.renderCell` or dot-notation key traversal (e.g., `"user.address.city"`), with fallbacks for `null`, `boolean`, and `object` values.
9
- - **Link mode** When `href` is provided without `onClick`, renders an absolutely-positioned `<Link>` overlay for full-row navigation while keeping inner elements pointer-event-safe.
6
+ - **`TableRow<T>`** — Generic row component (deprecated; use `DataTableRow` from `data-table` instead)
7
+ - **`getCellValue`** — Resolves cell content via `column.renderCell` or dot-notation key traversal with fallback formatting for `null`, `boolean`, and `object` values
8
+ - **`handleRowClick`** — Click handler that respects `[data-no-row-click]` targets to prevent propagation from interactive inner elements
9
+ - **`handleSelect`**Checkbox selection callback forwarding the row item to `onSelect`
10
+ - **FLIP animation** — Lazily upgrades the root element to a `motion.div` (only when `animateRowReorder` and `motionDiv` are both provided), keeping `framer-motion` out of the default bundle
10
11
 
11
12
  ## Usage Example
12
13
 
13
14
  ```typescript
15
+ import { TableRow } from './table-row'
16
+
17
+ const columns = [
18
+ { key: 'user.name', label: 'Name' },
19
+ { key: 'status', label: 'Status', renderCell: (item) => <Badge>{item.status}</Badge> },
20
+ ]
21
+
14
22
  <TableRow
15
- item={user}
23
+ item={rowData}
24
+ columns={columns}
16
25
  index={0}
17
- columns={[
18
- { key: 'name', label: 'Name' },
19
- { key: 'address.city', label: 'City' },
20
- {
21
- key: 'status',
22
- label: 'Status',
23
- renderCell: (item) => <StatusBadge status={item.status} />
24
- }
25
- ]}
26
- href={`/users/${user.id}`}
26
+ compact={false}
27
+ href={`/users/${rowData.id}`}
27
28
  selectable
28
- selected={selectedIds.has(user.id)}
29
+ selected={selectedIds.has(rowData.id)}
29
30
  onSelect={(item) => toggleSelection(item.id)}
30
- compact={false}
31
+ animateRowReorder
32
+ motionDiv={MotionDiv}
31
33
  />
32
34
  ```
33
35
 
34
- > **Deprecation notice:** This component is superseded by `DataTableRow` from the `data-table` package, which provides improved composability and feature support.
36
+ ## Notes
37
+
38
+ - **Link mode** activates when `href` is provided and `onClick` is absent — an absolutely-positioned `<Link>` covers the row while inner cells use `pointer-events-none`
39
+ - `[data-no-row-click]` on any inner element (e.g., the checkbox wrapper) prevents the row click from firing
40
+ - `className` accepts either a static string or a `(item, index) => string` function for per-row dynamic styles
41
+
42
+ > **Deprecated:** Use `DataTableRow` from `data-table` instead.
43
+
44
+ **Source:** [`table-row.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/table-row.tsx)
@@ -1,45 +1,50 @@
1
- <!-- source-hash: 1ccd2771fe5f338fc464bca5ddb0e198 -->
2
- Renders animated loading skeleton rows for table/card layouts with responsive desktop and mobile variants.
1
+ <!-- source-hash: cf0d76307d34f2cb3ba0d8a755fc3f81 -->
2
+ Renders animated pulse skeleton rows for table/card lists while data loads, providing separate desktop and mobile layouts. Marked as deprecated in favor of `DataTableSkeleton` from `data-table`.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`TableCardSkeleton`** *(deprecated)* — Main exported component. Renders `n` pulsing skeleton rows with configurable columns, optional action buttons, and optional chevron indicators. Use `DataTableSkeleton` from `data-table` instead.
7
- - **`ROW_HEIGHT_DESKTOP`** *(deprecated)* Tailwind height class `h-[68px] md:h-[80px]` for desktop rows.
8
- - **`ROW_HEIGHT_MOBILE`** *(deprecated)* — Tailwind height class `h-[68px]` for mobile rows.
6
+ ### `TableCardSkeleton` *(deprecated)*
7
+ Main export. Renders `n` skeleton card rows with responsive desktop (`md:flex`) and mobile (`flex md:hidden`) layouts.
9
8
 
10
- ## Props (`TableCardSkeletonProps`)
9
+ **Props** (`TableCardSkeletonProps`):
11
10
 
12
11
  | Prop | Type | Default | Description |
13
- |------|------|---------|-------------|
14
- | `columns` | `Column[]` | required | Column definitions with `key` and optional `width` |
12
+ |---|---|---|---|
13
+ | `columns` | `Column[]` | | Column definitions with `key` and optional `width` (Tailwind class) |
15
14
  | `rows` | `number` | `10` | Number of skeleton rows to render |
16
- | `hasActions` | `boolean` | `false` | Show action button placeholders |
17
- | `hasChevron` | `boolean` | `false` | Show chevron placeholder |
18
- | `className` | `string` | — | Extra classes on each row wrapper |
19
- | `rowClassName` | `string` | — | Extra classes on the inner row layout |
15
+ | `hasActions` | `boolean` | `false` | Renders action button placeholders |
16
+ | `hasChevron` | `boolean` | `false` | Renders a chevron/navigate placeholder |
17
+ | `className` | `string` | — | Extra classes on the row wrapper |
18
+ | `rowClassName` | `string` | — | Extra classes on the inner flex row |
19
+
20
+ ### Constants *(deprecated)*
21
+ - `ROW_HEIGHT_DESKTOP` — `'h-[68px] md:h-[80px]'`
22
+ - `ROW_HEIGHT_MOBILE` — `'h-[68px]'`
23
+
24
+ **Primary column detection:** The component automatically identifies the widest (`flex-1` or `flex-[n]`) column as "primary" and renders a second skeleton line on every other row to simulate multi-line content.
20
25
 
21
26
  ## Usage Example
22
27
 
23
28
  ```typescript
24
- import { TableCardSkeleton } from './table-skeleton'
29
+ import { TableCardSkeleton } from '@openframe/ui/components/table-card-skeleton'
25
30
 
26
31
  const columns = [
27
- { key: 'name', width: 'w-1/3' },
28
- { key: 'status' },
29
- { key: 'date' },
32
+ { key: 'avatar', width: 'w-10' },
33
+ { key: 'name', width: 'flex-1' },
34
+ { key: 'status', width: 'w-24' },
30
35
  ]
31
36
 
32
37
  // While data is loading:
33
- if (isLoading) {
34
- return (
35
- <TableCardSkeleton
36
- columns={columns}
37
- rows={5}
38
- hasActions
39
- hasChevron
40
- />
41
- )
42
- }
38
+ <TableCardSkeleton
39
+ columns={columns}
40
+ rows={5}
41
+ hasActions
42
+ hasChevron
43
+ />
43
44
  ```
44
45
 
45
- > **Deprecation notice:** `TableCardSkeleton` is deprecated. Migrate to `DataTableSkeleton` from the `data-table` package for new implementations.
46
+ > **Deprecated:** Migrate to `DataTableSkeleton` from the `data-table` package.
47
+
48
+ ## Source
49
+
50
+ [`table-skeleton.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/table-skeleton.tsx)
@@ -1,47 +1,48 @@
1
- <!-- source-hash: 7500f4530337c7688e67a30e99d9fabd -->
2
- Renders a two-line table cell displaying a formatted timestamp with an optional labeled ID beneath it.
1
+ <!-- source-hash: 2b4c1503432027b2b294508069472c01 -->
2
+ A deprecated table cell component that displays a timestamp with an optional ID label below it, designed for use in table rows.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### `TableTimestampCell` *(deprecated — use `data-table` instead)*
7
- A React client component that stacks a primary timestamp line and a secondary ID line within a flex column layout.
7
+
8
+ The primary exported component renders a two-line cell: a formatted timestamp on top and an ID (with optional label) below.
8
9
 
9
10
  ### `TableTimestampCellProps` *(deprecated)*
11
+
10
12
  | Prop | Type | Default | Description |
11
- |------|------|---------|-------------|
12
- | `timestamp` | `string \| Date` | — | Timestamp to display; auto-formatted if ISO string or Date |
13
- | `id` | `string` | — | ID value shown below the timestamp |
14
- | `idLabel` | `string` | `undefined` | Optional label prefix (e.g. `"Log ID"`) |
15
- | `className` | `string` | `undefined` | Additional CSS classes for the container |
16
- | `formatTimestamp` | `boolean` | `true` | Disable to render the timestamp as-is |
13
+ |---|---|---|---|
14
+ | `timestamp` | `string \| Date` | — | Timestamp to display; accepts `Date`, ISO string, or pre-formatted string |
15
+ | `id` | `string` | — | ID displayed below the timestamp |
16
+ | `idLabel` | `string` | | Optional label prefix (e.g. `"Log ID"`) |
17
+ | `className` | `string` | | Additional CSS classes for the container |
18
+ | `formatTimestamp` | `boolean` | `true` | Auto-formats ISO strings and `Date` objects via `toLocaleString()` |
17
19
 
18
20
  ### `formatTimestampValue` *(internal)*
19
- Converts a `Date` or ISO string to a locale-formatted string. Already-formatted strings (containing `,` or `/` + `:`) are returned unchanged. Falls back to `String(timestamp)` if parsing fails.
21
+
22
+ Formats a `string | Date` value for display:
23
+ - `Date` instances → `toLocaleString()`
24
+ - ISO strings → parsed and formatted via `toLocaleString()`
25
+ - Already-formatted strings (containing `,` or `/` + `:`) → returned as-is
26
+ - Unparseable values → returned as-is via `String()`
20
27
 
21
28
  ## Usage Example
22
29
 
23
30
  ```typescript
24
31
  import { TableTimestampCell } from './table-timestamp-cell'
25
32
 
26
- // With an ISO string and a labeled ID
33
+ // With ISO string and a labeled ID
27
34
  <TableTimestampCell
28
- timestamp="2024-06-15T14:30:00Z"
29
- id="abc-123"
35
+ timestamp="2024-11-15T10:30:00.000Z"
36
+ id="log-abc-123"
30
37
  idLabel="Log ID"
31
38
  />
32
39
 
33
- // With a Date object, no label
34
- <TableTimestampCell
35
- timestamp={new Date()}
36
- id="xyz-789"
37
- />
38
-
39
- // Skip auto-formatting (display raw value)
40
+ // With a pre-formatted string and no label
40
41
  <TableTimestampCell
41
- timestamp="Jun 15, 2024 2:30 PM"
42
- id="xyz-789"
42
+ timestamp="11/15/2024, 10:30:00 AM"
43
+ id="chat-xyz-789"
43
44
  formatTimestamp={false}
44
45
  />
45
46
  ```
46
47
 
47
- > **Deprecated:** This component is marked for removal. Migrate to the `data-table` component for new implementations.
48
+ > ⚠️ **Deprecated:** This component is superseded by the [`data-table`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src) primitive. Migrate existing usages when possible.
@@ -1,47 +1,60 @@
1
- <!-- source-hash: ec4b9765ec4a72e85067393812e2e172 -->
2
- A deprecated generic `Table` component that renders a card-style data table with sorting, filtering, selection, pagination, and infinite scroll support.
1
+ <!-- source-hash: d3651ba2596f8979ff27b1f6715a6879 -->
2
+ A deprecated generic table component that renders tabular data with support for sorting, filtering, row selection, bulk actions, pagination (cursor and page-based), infinite scroll, and optional row-reorder animations via lazy-loaded Framer Motion.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### `injectSyntheticColumns<T>`
7
- Internal helper that appends synthetic columns to the column definitions:
8
- - **`__actions__`** renders row-level action buttons or a custom `renderRowActions` slot
9
- - **`__chevron__`** renders a navigation chevron button when `rowHref` is provided
10
-
11
- ### `Table<T>`
12
- The main exported component. **Marked `@deprecated`** — use `DataTable` from `data-table` instead.
13
-
14
- Key features:
15
- - **Loading state** — shows `TableCardSkeleton` while fetching with no data
16
- - **Empty state** — renders `TableEmptyState` with a configurable message
17
- - **Row selection** — checkbox-based with `selectable`, `selectedRows`, and `onSelectionChange`
18
- - **Bulk actions toolbar** — appears when rows are selected and `showToolbar` + `bulkActions` are set
19
- - **Sorting & filtering** — delegated to `TableHeader` via `sortBy`, `sortDirection`, `onSort`, `filters`
20
- - **Pagination** — supports cursor-based (`CursorPagination`) or page-based (`Pagination`)
21
- - **Infinite scroll** — uses `IntersectionObserver` on a sentinel `<div>` to trigger `onLoadMore`
22
- - **Sticky header** — controlled via `stickyHeader` and `stickyHeaderOffset`
23
- - **Placeholder rows** — invisible rows maintain consistent table height when data count is below `skeletonRows`
6
+ | Export / Symbol | Description |
7
+ |---|---|
8
+ | `Table<T>` | Main generic table component (deprecated use `DataTable` from `data-table` instead) |
9
+ | `injectSyntheticColumns` | Internal helper that appends row-action buttons and/or chevron-link columns to the column definition array |
10
+ | `TableProps<T>` | Type imported from `./types` that defines all accepted props |
11
+ | `useTableMotion` | Hook that lazily loads Framer Motion for opt-in row-reorder FLIP animations |
24
12
 
25
13
  ## Usage Example
26
14
 
27
15
  ```typescript
28
- <Table
16
+ import { Table } from './table'
17
+
18
+ type User = { id: string; name: string; email: string }
19
+
20
+ const columns = [
21
+ { key: 'name', label: 'Name', renderCell: (u: User) => u.name },
22
+ { key: 'email', label: 'Email', renderCell: (u: User) => u.email },
23
+ ]
24
+
25
+ <Table<User>
29
26
  data={users}
27
+ columns={columns}
30
28
  rowKey="id"
31
- columns={[
32
- { key: 'name', label: 'Name', renderCell: (u) => u.name },
33
- { key: 'email', label: 'Email', renderCell: (u) => u.email },
29
+ loading={isLoading}
30
+ emptyMessage="No users found"
31
+ skeletonRows={5}
32
+ onRowClick={(user) => console.log('clicked', user)}
33
+ rowActions={[
34
+ {
35
+ label: 'Delete',
36
+ onClick: (user) => deleteUser(user.id),
37
+ },
34
38
  ]}
35
- rowActions={[{ label: 'Edit', icon: <EditIcon />, onClick: (u) => openEdit(u) }]}
36
- rowHref={(u) => `/users/${u.id}`}
37
- onRowClick={(u) => console.log(u)}
38
39
  cursorPagination={{
39
40
  hasNextPage: true,
40
41
  hasPreviousPage: false,
41
42
  onNext: fetchNext,
42
43
  onPrevious: fetchPrev,
44
+ onReset: resetCursor,
43
45
  }}
44
- loading={isFetching}
45
- skeletonRows={5}
46
+ selectable
47
+ selectedRows={selected}
48
+ onSelectionChange={setSelected}
49
+ animateRowReorder
46
50
  />
47
- ```
51
+ ```
52
+
53
+ ## Notable Behaviors
54
+
55
+ - **Synthetic columns** — `rowActions` / `renderRowActions` append an actions column; `rowHref` appends a chevron navigation column. Both use `data-no-row-click` to prevent event bubbling to the row click handler.
56
+ - **Infinite scroll** — Uses an `IntersectionObserver` on a 1 px sentinel `div` with a `200px` root margin to call `onLoadMore` before the user hits the bottom.
57
+ - **Height stability** — When infinite scroll is inactive, invisible placeholder rows fill the remaining `skeletonRows` quota to prevent layout shift.
58
+ - **Framer Motion** — Loaded in its own lazy chunk only when `animateRowReorder` is `true`; rows are wrapped in a `LayoutGroup` for FLIP reorder transitions.
59
+
60
+ > ⚠️ **Deprecated:** Prefer [`DataTable`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/components/data-table) for new implementations.
@@ -1,74 +1,78 @@
1
- <!-- source-hash: 808a537086105a4fbc3af48a2f6c9794 -->
2
- Legacy table component type definitions, all marked `@deprecated` in favor of the `data-table` module's types.
1
+ <!-- source-hash: 08d57f62d79766ba8c518fb5cd2e217e -->
2
+ Deprecated legacy table type definitions for the OpenFrame component library. All exports have been superseded by the `data-table` package and are retained only for backward compatibility.
3
+
4
+ > ⚠️ **All types in this file are deprecated.** Migrate to the equivalent types exported from `data-table`.
3
5
 
4
6
  ## Key Components
5
7
 
6
- | Type | Kind | Description |
7
- |------|------|-------------|
8
- | `TableColumn<T>` | Interface | Column definition with sorting, filtering, rendering, and responsive visibility options |
9
- | `TableProps<T>` | Interface | Full table configuration including data, pagination, selection, sorting, filtering, and styling |
10
- | `CursorPagination` | Interface | Cursor-based pagination controls with next/previous navigation callbacks |
11
- | `PagePagination` | Interface | Page-number-based pagination with page change callback |
12
- | `InfiniteScrollConfig` | Interface | Infinite scroll configuration with load-more callback |
13
- | `FilterOption` | Interface | Single filter option with id, label, and value |
14
- | `FilterSection` | Interface | Grouped filter UI section supporting checkbox, radio, or select types |
15
- | `TableFilters` | Interface | Map of column keys to active filter values |
16
- | `BulkAction<T>` | Interface | Bulk action definition applied to selected rows |
17
- | `RowAction<T>` | Interface | Per-row action with label, icon, and click handler |
18
- | `TableHeaderProps<T>` | Interface | Props for the table header sub-component |
19
- | `TableRowProps<T>` | Interface | Props for an individual table row sub-component |
20
- | `TableCellProps` | Interface | Props for a single table cell |
21
- | `TableCardSkeletonProps` | Interface | Skeleton loader configuration for loading states |
22
- | `TableEmptyStateProps` | Interface | Empty state display with optional action button |
23
- | `TailwindBreakpoint` | Type | Responsive breakpoint union: `'md' \| 'lg' \| 'xl' \| '2xl'` |
8
+ | Type | Description |
9
+ |---|---|
10
+ | `TailwindBreakpoint` | Union of responsive breakpoints (`'md' \| 'lg' \| 'xl' \| '2xl'`) |
11
+ | `TableColumn<T>` | Column definition with sorting, filtering, responsive hiding, and custom cell/header renderers |
12
+ | `FilterOption` | Single filter choice with `id`, `label`, and `value` |
13
+ | `FilterSection` | Groups filter options by UI type (`checkbox`, `radio`, `select`) |
14
+ | `TableFilters` | Map of column keys to arrays of active filter values |
15
+ | `CursorPagination` | Cursor-based pagination config with navigation callbacks |
16
+ | `PagePagination` | Page-number pagination config |
17
+ | `InfiniteScrollConfig` | Infinite scroll trigger config with load-more callback |
18
+ | `TableProps<T>` | Root table configuration data, columns, sorting, filtering, selection, pagination, and animation |
19
+ | `BulkAction<T>` | Action applied to all selected rows |
20
+ | `RowAction<T>` | Per-row action with variant and mobile visibility control |
21
+ | `TableHeaderProps<T>` | Props for the table header sub-component |
22
+ | `TableRowProps<T>` | Props for individual row rendering, including optional FLIP reorder animation |
23
+ | `TableCellProps` | Props for a single table cell |
24
+ | `TableCardSkeletonProps` | Loading skeleton configuration |
25
+ | `TableEmptyStateProps` | Empty state configuration with optional action |
24
26
 
25
27
  ## Usage Example
26
28
 
27
- > ⚠️ **Deprecated** — migrate to types from the `data-table` module instead.
28
-
29
29
  ```typescript
30
- import type { TableColumn, TableProps, CursorPagination } from './types'
30
+ import type {
31
+ TableColumn,
32
+ TableProps,
33
+ CursorPagination,
34
+ } from './types'
31
35
 
32
- interface User {
36
+ // ⚠️ Deprecated — prefer imports from `data-table`
37
+ interface Device {
33
38
  id: string
34
39
  name: string
35
- email: string
40
+ status: 'online' | 'offline'
36
41
  }
37
42
 
38
- const columns: TableColumn<User>[] = [
43
+ const columns: TableColumn<Device>[] = [
39
44
  {
40
45
  key: 'name',
41
- label: 'Name',
46
+ label: 'Device Name',
42
47
  sortable: true,
43
- hideAt: 'md',
44
- renderCell: (user) => <span className="font-medium">{user.name}</span>,
48
+ width: 'flex-1',
45
49
  },
46
50
  {
47
- key: 'email',
48
- label: 'Email',
49
- filterable: true,
50
- filterKey: 'email',
51
+ key: 'status',
52
+ label: 'Status',
53
+ align: 'center',
54
+ hideAt: 'md',
55
+ renderCell: (item) => <StatusBadge status={item.status} />,
51
56
  },
52
57
  ]
53
58
 
54
59
  const pagination: CursorPagination = {
55
60
  hasNextPage: true,
56
61
  endCursor: 'cursor_abc123',
57
- onNext: (cursor) => fetchUsers({ after: cursor }),
58
- onReset: () => fetchUsers({}),
59
- totalCount: 200,
60
- showInfo: true,
62
+ onNext: (cursor) => fetchDevices({ after: cursor }),
63
+ itemName: 'devices',
61
64
  }
62
65
 
63
- const tableProps: TableProps<User> = {
64
- data: users,
66
+ const tableProps: TableProps<Device> = {
67
+ data: devices,
65
68
  columns,
66
69
  rowKey: 'id',
67
- loading: false,
68
- selectable: true,
69
70
  cursorPagination: pagination,
70
- stickyHeader: true,
71
- stickyHeaderOffset: 'top-[72px]',
72
- onRowClick: (user) => router.push(`/users/${user.id}`),
71
+ onRowClick: (device) => router.push(`/devices/${device.id}`),
72
+ animateRowReorder: !prefersReducedMotion,
73
73
  }
74
- ```
74
+ ```
75
+
76
+ ## Source
77
+
78
+ [`types.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/types.ts)
@@ -0,0 +1,45 @@
1
+ <!-- source-hash: e987f30323723ab5749093a8669f97f8 -->
2
+ Lazy-loads `framer-motion` on demand to power optional row-reorder FLIP animations in table components, keeping the motion library out of the default bundle when the feature is unused.
3
+
4
+ ## Key Components
5
+
6
+ ### `TableMotionRuntime` (interface)
7
+ Holds the resolved Framer Motion primitives needed for row-reorder animation:
8
+ - `motionDiv` — `motion.div` component used to wrap animated table rows
9
+ - `LayoutGroup` — coordinates FLIP animations across sibling rows
10
+
11
+ ### `useTableMotion(enabled)` (hook)
12
+ Accepts a single boolean (`enabled`) and returns `TableMotionRuntime | null`.
13
+
14
+ - Returns `null` immediately (and always) when `enabled` is `false` — no import is triggered
15
+ - Fires a single dynamic `import('framer-motion')` when `enabled` becomes `true`
16
+ - Returns `null` during the async load; callers render plain DOM so first paint is non-animated
17
+ - Silently catches chunk-load failures and stays `null`, gracefully degrading to non-animated rows rather than throwing an unhandled rejection
18
+ - Cleans up via an `active` flag to prevent state updates after unmount
19
+
20
+ ## Usage Example
21
+
22
+ ```typescript
23
+ import { useTableMotion } from './use-table-motion'
24
+
25
+ function TableRow({ reorderEnabled }: { reorderEnabled: boolean }) {
26
+ const motion = useTableMotion(reorderEnabled)
27
+
28
+ // Falls back to a plain <div> until framer-motion resolves
29
+ const Wrapper = motion?.motionDiv ?? 'div'
30
+
31
+ return (
32
+ <motion?.LayoutGroup>
33
+ <Wrapper layout>
34
+ {/* row content */}
35
+ </Wrapper>
36
+ </motion?.LayoutGroup>
37
+ )
38
+ }
39
+ ```
40
+
41
+ > **Bundle note:** Consumers that never pass `animateRowReorder={true}` will never load the `framer-motion` chunk, keeping the base `Table` path completely motion-free.
42
+
43
+ ## Source
44
+
45
+ [`use-table-motion.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/use-table-motion.ts)