@flamingo-stack/openframe-frontend-core 0.0.213 → 0.0.214

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 (745) hide show
  1. package/dist/{chunk-3JWIJJ44.js → chunk-5OWDOFKK.js} +2 -2
  2. package/dist/{chunk-IK2X5YJU.js → chunk-HWY35EAK.js} +2 -2
  3. package/dist/{chunk-OTKJASSX.cjs → chunk-IZL2KEH6.cjs} +24 -24
  4. package/dist/{chunk-OTKJASSX.cjs.map → chunk-IZL2KEH6.cjs.map} +1 -1
  5. package/dist/{chunk-35XIT2CF.cjs → chunk-KDNGUYZM.cjs} +17 -17
  6. package/dist/{chunk-35XIT2CF.cjs.map → chunk-KDNGUYZM.cjs.map} +1 -1
  7. package/dist/{chunk-ZTJVRSN5.js → chunk-UKND27XC.js} +2 -2
  8. package/dist/chunk-UKND27XC.js.map +1 -0
  9. package/dist/{chunk-ZDF6F7ED.cjs → chunk-YZUUFTIK.cjs} +2 -2
  10. package/dist/chunk-YZUUFTIK.cjs.map +1 -0
  11. package/dist/components/chat/index.cjs +2 -2
  12. package/dist/components/chat/index.js +1 -1
  13. package/dist/components/contact/index.cjs +3 -3
  14. package/dist/components/contact/index.js +2 -2
  15. package/dist/components/features/index.cjs +2 -2
  16. package/dist/components/features/index.js +1 -1
  17. package/dist/components/index.cjs +49 -49
  18. package/dist/components/index.js +2 -2
  19. package/dist/components/navigation/index.cjs +2 -2
  20. package/dist/components/navigation/index.js +1 -1
  21. package/dist/components/tickets/index.cjs +61 -61
  22. package/dist/components/tickets/index.js +3 -3
  23. package/dist/components/ui/index.cjs +2 -2
  24. package/dist/components/ui/index.js +1 -1
  25. package/dist/index.cjs +2 -2
  26. package/dist/index.js +1 -1
  27. package/package.json +1 -1
  28. package/src/.index.md +36 -34
  29. package/src/components/.alert-dialog.md +27 -23
  30. package/src/components/.announcement-bar.md +26 -21
  31. package/src/components/.breadcrumb.md +19 -15
  32. package/src/components/.calendar.md +24 -19
  33. package/src/components/.categories-cart.md +29 -24
  34. package/src/components/.checkbox.md +23 -25
  35. package/src/components/.chevron-button.md +37 -32
  36. package/src/components/.comment-card.md +32 -62
  37. package/src/components/.dialog.md +26 -26
  38. package/src/components/.dynamic-skeleton.md +54 -57
  39. package/src/components/.empty-state.md +42 -51
  40. package/src/components/.faq-accordion.md +27 -21
  41. package/src/components/.filter-chip.md +41 -24
  42. package/src/components/.flamingo-logo.md +20 -23
  43. package/src/components/.footer-waitlist-button.md +29 -22
  44. package/src/components/.footer.md +32 -32
  45. package/src/components/.icons-block.md +27 -17
  46. package/src/components/.image-cropper.md +41 -32
  47. package/src/components/.index.md +33 -39
  48. package/src/components/.input.md +31 -35
  49. package/src/components/.logs-list.md +31 -20
  50. package/src/components/.media-carousel.md +35 -36
  51. package/src/components/.open-source-features.md +33 -16
  52. package/src/components/.pagination.md +52 -51
  53. package/src/components/.provider-button.md +21 -23
  54. package/src/components/.select.md +31 -20
  55. package/src/components/.sidebar.md +34 -24
  56. package/src/components/.smooth-accordion.md +29 -24
  57. package/src/components/.social-icon-row.md +36 -32
  58. package/src/components/.textarea.md +25 -31
  59. package/src/components/.tool-icon.md +24 -26
  60. package/src/components/.unified-filter-logic.md +37 -30
  61. package/src/components/.unified-pagination.md +23 -22
  62. package/src/components/.user-summary-stub.md +38 -22
  63. package/src/components/.vendor-display-button.md +25 -25
  64. package/src/components/.vendor-icon.md +33 -25
  65. package/src/components/.why-it-matters.md +28 -25
  66. package/src/components/chat/.approval-batch-message.md +51 -0
  67. package/src/components/chat/.approval-request-message.md +35 -34
  68. package/src/components/chat/.chat-attachment-bar.md +64 -0
  69. package/src/components/chat/.chat-container.md +36 -18
  70. package/src/components/chat/.chat-input.md +37 -20
  71. package/src/components/chat/.chat-message-enhanced.md +30 -49
  72. package/src/components/chat/.chat-message-list.md +45 -32
  73. package/src/components/chat/.chat-message-skeleton.md +26 -22
  74. package/src/components/chat/.chat-panel-context.md +52 -0
  75. package/src/components/chat/.chat-ref.types.md +42 -0
  76. package/src/components/chat/.chat-sidebar-skeleton.md +34 -25
  77. package/src/components/chat/.chat-sidebar.md +31 -26
  78. package/src/components/chat/.chat-ticket-list.md +39 -0
  79. package/src/components/chat/.context-compaction-display.md +36 -0
  80. package/src/components/chat/.cycling-phrase.md +52 -0
  81. package/src/components/chat/.embeddable-chat.md +48 -0
  82. package/src/components/chat/.expand-chevron.md +24 -0
  83. package/src/components/chat/.index.md +31 -35
  84. package/src/components/chat/.mingo-onboarding-card-skeleton.md +44 -0
  85. package/src/components/chat/.mingo-onboarding-card.md +62 -0
  86. package/src/components/chat/.model-display.md +32 -30
  87. package/src/components/chat/.nav-link-anchor-via-runtime.md +40 -0
  88. package/src/components/chat/.remark-card-links.md +38 -0
  89. package/src/components/chat/.slash-command-suggestions.md +47 -0
  90. package/src/components/chat/.source-action-button.md +48 -0
  91. package/src/components/chat/.thinking-display.md +42 -0
  92. package/src/components/chat/.tool-call-blocks.md +45 -0
  93. package/src/components/chat/.tool-execution-display.md +44 -36
  94. package/src/components/chat/chat-container.tsx +1 -1
  95. package/src/components/chat/entity-cards/.admin-content-card.md +43 -0
  96. package/src/components/chat/entity-cards/.block-card.md +47 -0
  97. package/src/components/chat/entity-cards/.blog-card.md +52 -0
  98. package/src/components/chat/entity-cards/.blog-image-placeholder.md +39 -0
  99. package/src/components/chat/entity-cards/.campaign-card-admin.md +47 -0
  100. package/src/components/chat/entity-cards/.case-study-card.md +58 -0
  101. package/src/components/chat/entity-cards/.chat-ticket-item.md +40 -0
  102. package/src/components/chat/entity-cards/.chat-video-entity-card.md +43 -0
  103. package/src/components/chat/entity-cards/.customer-interview-card.md +53 -0
  104. package/src/components/chat/entity-cards/.data-room-doc-card.md +47 -0
  105. package/src/components/chat/entity-cards/.dispatch.md +39 -0
  106. package/src/components/chat/entity-cards/.entity-author-card.md +51 -0
  107. package/src/components/chat/entity-cards/.generic-entity-card.md +62 -0
  108. package/src/components/chat/entity-cards/.github-activity-card.md +61 -0
  109. package/src/components/chat/entity-cards/.hubspot-ticket-card.md +53 -0
  110. package/src/components/chat/entity-cards/.index.md +66 -0
  111. package/src/components/chat/entity-cards/.investor-update-card.md +47 -0
  112. package/src/components/chat/entity-cards/.onboarding-guide-card.md +58 -0
  113. package/src/components/chat/entity-cards/.product-release-card-defaults.md +31 -0
  114. package/src/components/chat/entity-cards/.product-release-card.md +29 -0
  115. package/src/components/chat/entity-cards/.program-card-defaults.md +41 -0
  116. package/src/components/chat/entity-cards/.program-card.md +59 -0
  117. package/src/components/chat/entity-cards/.roadmap-card.md +46 -0
  118. package/src/components/chat/entity-cards/.roadmap-vote-button.md +52 -0
  119. package/src/components/chat/entity-cards/.slack-message-card.md +48 -0
  120. package/src/components/chat/entity-cards/.task-type-icon.md +47 -0
  121. package/src/components/chat/hooks/.index.md +36 -21
  122. package/src/components/chat/hooks/.use-chat-attachment-image-gallery.md +51 -0
  123. package/src/components/chat/hooks/.use-chat-attachments.md +48 -0
  124. package/src/components/chat/hooks/.use-chat-card-item.md +39 -0
  125. package/src/components/chat/hooks/.use-chat-identity.md +45 -0
  126. package/src/components/chat/hooks/.use-chat.md +58 -0
  127. package/src/components/chat/hooks/.use-chunk-catchup.md +46 -48
  128. package/src/components/chat/hooks/.use-close-on-navigation.md +44 -0
  129. package/src/components/chat/hooks/.use-collapsible.md +48 -0
  130. package/src/components/chat/hooks/.use-embedded-chat.md +32 -0
  131. package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +40 -0
  132. package/src/components/chat/hooks/.use-nats-chat-adapter.md +52 -0
  133. package/src/components/chat/hooks/.use-nats-dialog-subscription.md +49 -30
  134. package/src/components/chat/hooks/.use-proxied-image-url.md +40 -0
  135. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +43 -40
  136. package/src/components/chat/hooks/.use-slash-commands.md +46 -0
  137. package/src/components/chat/hooks/.use-sse-chat-adapter.md +34 -0
  138. package/src/components/chat/hooks/.use-sse.md +60 -0
  139. package/src/components/chat/hooks/.use-unified-chat.md +57 -0
  140. package/src/components/chat/types/.api.types.md +52 -38
  141. package/src/components/chat/types/.chat.types.md +43 -34
  142. package/src/components/chat/types/.component.types.md +47 -48
  143. package/src/components/chat/types/.index.md +20 -27
  144. package/src/components/chat/types/.message.types.md +58 -48
  145. package/src/components/chat/types/.network.types.md +57 -31
  146. package/src/components/chat/types/.processing.types.md +49 -31
  147. package/src/components/chat/types/.unified-chat-state.types.md +41 -0
  148. package/src/components/chat/types/entities/.blog.md +43 -0
  149. package/src/components/chat/types/entities/.case-study.md +26 -0
  150. package/src/components/chat/types/entities/.content-ref.md +41 -0
  151. package/src/components/chat/types/entities/.customer-interview.md +28 -0
  152. package/src/components/chat/types/entities/.data-room-doc.md +36 -0
  153. package/src/components/chat/types/entities/.github-activity.md +43 -0
  154. package/src/components/chat/types/entities/.hubspot-ticket.md +53 -0
  155. package/src/components/chat/types/entities/.index.md +42 -0
  156. package/src/components/chat/types/entities/.investor-update.md +45 -0
  157. package/src/components/chat/types/entities/.onboarding-guide.md +50 -0
  158. package/src/components/chat/types/entities/.program-types.md +57 -0
  159. package/src/components/chat/types/entities/.roadmap-item.md +58 -0
  160. package/src/components/chat/types/entities/.slack-message.md +35 -0
  161. package/src/components/chat/utils/.agent-status-message.md +45 -0
  162. package/src/components/chat/utils/.auto-continuation-directive.md +58 -0
  163. package/src/components/chat/utils/.chat-attachment-markdown.md +54 -0
  164. package/src/components/chat/utils/.chat-authed-fetch.md +25 -0
  165. package/src/components/chat/utils/.chat-nav-resolution.md +46 -0
  166. package/src/components/chat/utils/.chat-proxy-auth-storage.md +38 -0
  167. package/src/components/chat/utils/.chip-action-class.md +34 -0
  168. package/src/components/chat/utils/.chip-styles.md +46 -0
  169. package/src/components/chat/utils/.chunk-parser.md +38 -28
  170. package/src/components/chat/utils/.clickup-task-type-utils.md +48 -0
  171. package/src/components/chat/utils/.compact-card-classes.md +62 -0
  172. package/src/components/chat/utils/.decide-new-tab.md +51 -0
  173. package/src/components/chat/utils/.external-app-urls.md +29 -0
  174. package/src/components/chat/utils/.extract-incomplete-message-state.md +25 -29
  175. package/src/components/chat/utils/.flatten-assistant-content.md +34 -0
  176. package/src/components/chat/utils/.icon-registry.md +46 -0
  177. package/src/components/chat/utils/.index.md +37 -32
  178. package/src/components/chat/utils/.is-cross-origin-url.md +35 -0
  179. package/src/components/chat/utils/.message-segment-accumulator.md +25 -34
  180. package/src/components/chat/utils/.nav-anchor-props.md +44 -0
  181. package/src/components/chat/utils/.nav-click-handler.md +47 -0
  182. package/src/components/chat/utils/.onboarding-icons.md +28 -0
  183. package/src/components/chat/utils/.process-historical-messages.md +46 -35
  184. package/src/components/chat/utils/.scroll-anchor.md +40 -0
  185. package/src/components/chat/utils/.slash-dispatch-utils.md +44 -0
  186. package/src/components/chat/utils/.source-icons.md +35 -0
  187. package/src/components/chat/utils/.source-row-cta.md +54 -0
  188. package/src/components/chat/utils/.tool-call-helpers.md +42 -0
  189. package/src/components/contact/.contact-form.md +43 -0
  190. package/src/components/contact/.index.md +27 -0
  191. package/src/components/features/.array-entry-manager.md +36 -45
  192. package/src/components/features/.changelog-manager.md +47 -21
  193. package/src/components/features/.changelog-sections-manager.md +21 -26
  194. package/src/components/features/.command-box.md +31 -28
  195. package/src/components/features/.entity-summary-editor.md +46 -0
  196. package/src/components/features/.entity-video-section.md +51 -0
  197. package/src/components/features/.figma-prototype-viewer.md +48 -29
  198. package/src/components/features/.filters-dropdown.md +33 -46
  199. package/src/components/features/.highlight-config-section.md +42 -0
  200. package/src/components/features/.highlight-generation-section.md +46 -0
  201. package/src/components/features/.highlight-video-combined-section.md +47 -0
  202. package/src/components/features/.highlight-video-preview.md +44 -0
  203. package/src/components/features/.highlight-video-section.md +47 -0
  204. package/src/components/features/.index.md +40 -66
  205. package/src/components/features/.media-gallery-manager.md +48 -38
  206. package/src/components/features/.more-about-button.md +22 -19
  207. package/src/components/features/.og-editor-preview.md +40 -36
  208. package/src/components/features/.parallax-image-showcase.md +33 -26
  209. package/src/components/features/.paths-display.md +42 -43
  210. package/src/components/features/.platform-badge.md +37 -36
  211. package/src/components/features/.platform-filter.md +23 -16
  212. package/src/components/features/.policy-configuration-panel.md +48 -56
  213. package/src/components/features/.provider-button.md +33 -36
  214. package/src/components/features/.push-button-selector.md +40 -29
  215. package/src/components/features/.release-media-manager.md +46 -31
  216. package/src/components/features/.section-selector.md +26 -31
  217. package/src/components/features/.select-button.md +35 -25
  218. package/src/components/features/.seo-editor-preview.md +41 -44
  219. package/src/components/features/.social-links-manager.md +25 -19
  220. package/src/components/features/.start-with-openframe-button.md +37 -29
  221. package/src/components/features/.status-filter-component.md +36 -20
  222. package/src/components/features/.tags-selector.md +40 -24
  223. package/src/components/features/.transcribe-and-summarize-combined-section.md +45 -0
  224. package/src/components/features/.transcribe-summarize-section.md +48 -0
  225. package/src/components/features/.transcript-summary-editor.md +53 -0
  226. package/src/components/features/.video-bites-display.md +46 -0
  227. package/src/components/features/.video-clips-section.md +41 -0
  228. package/src/components/features/.video-ratio-tabs.md +56 -0
  229. package/src/components/features/.video-source-selector.md +60 -0
  230. package/src/components/features/.video.md +44 -0
  231. package/src/components/features/.waitlist-form.md +60 -0
  232. package/src/components/features/ai-enrich/.AIEnrichButton.md +30 -27
  233. package/src/components/features/ai-enrich/.AIEnrichSection.md +46 -42
  234. package/src/components/features/board/.board-column-header.md +38 -0
  235. package/src/components/features/board/.board-column.md +43 -0
  236. package/src/components/features/board/.board.md +51 -0
  237. package/src/components/features/board/.color-utils.md +26 -0
  238. package/src/components/features/board/.index.md +56 -0
  239. package/src/components/features/board/.ticket-card-skeleton.md +38 -0
  240. package/src/components/features/board/.ticket-card.md +47 -0
  241. package/src/components/features/board/.types.md +45 -0
  242. package/src/components/features/board/.use-board-collapse.md +34 -0
  243. package/src/components/features/notifications/.index.md +57 -0
  244. package/src/components/features/notifications/.notification-drawer.md +34 -0
  245. package/src/components/features/notifications/.notification-tile.md +39 -0
  246. package/src/components/features/notifications/.notifications-context.md +73 -0
  247. package/src/components/features/notifications/.types.md +45 -0
  248. package/src/components/icons/.about-icon.md +20 -28
  249. package/src/components/icons/.ai-robot-icon.md +15 -17
  250. package/src/components/icons/.bash-icon.md +16 -23
  251. package/src/components/icons/.buildings-icon.md +10 -24
  252. package/src/components/icons/.capterra-icon.md +30 -26
  253. package/src/components/icons/.carta-icon.md +29 -0
  254. package/src/components/icons/.clickup-icon.md +26 -0
  255. package/src/components/icons/.cmd-icon.md +15 -22
  256. package/src/components/icons/.coins-icon.md +17 -25
  257. package/src/components/icons/.community-hub-icon.md +19 -25
  258. package/src/components/icons/.community-icon.md +24 -21
  259. package/src/components/icons/.compare-icon.md +32 -19
  260. package/src/components/icons/.copy-icon.md +29 -15
  261. package/src/components/icons/.custom-external-link-icon.md +19 -17
  262. package/src/components/icons/.custom-fork-icon.md +32 -21
  263. package/src/components/icons/.custom-license-icon.md +29 -25
  264. package/src/components/icons/.custom-star-icon.md +20 -28
  265. package/src/components/icons/.custom-time-icon.md +21 -22
  266. package/src/components/icons/.cut-vendor-costs-icon.md +6 -19
  267. package/src/components/icons/.dashboard-icon.md +13 -18
  268. package/src/components/icons/.deno-icon.md +16 -23
  269. package/src/components/icons/.donut-icon.md +12 -23
  270. package/src/components/icons/.double-chevron-icon.md +28 -36
  271. package/src/components/icons/.elestio-logo.md +13 -23
  272. package/src/components/icons/.empty-vendor-icon.md +16 -18
  273. package/src/components/icons/.explore-categories-icon.md +18 -29
  274. package/src/components/icons/.eye-icon.md +16 -26
  275. package/src/components/icons/.facebook-icon.md +9 -20
  276. package/src/components/icons/.figma-icon.md +8 -17
  277. package/src/components/icons/.filter-icon.md +15 -17
  278. package/src/components/icons/.flamingo-logo.md +28 -27
  279. package/src/components/icons/.folder-shield-icon.md +28 -19
  280. package/src/components/icons/.g2-icon.md +22 -21
  281. package/src/components/icons/.getapp-icon.md +25 -21
  282. package/src/components/icons/.github-icon.md +13 -25
  283. package/src/components/icons/.globe-icon.md +14 -19
  284. package/src/components/icons/.google-gemini-icon.md +16 -19
  285. package/src/components/icons/.google-logo.md +15 -21
  286. package/src/components/icons/.grid-view-icon.md +30 -19
  287. package/src/components/icons/.hamburger-icon.md +22 -20
  288. package/src/components/icons/.hand-dollar-icon.md +24 -34
  289. package/src/components/icons/.hotel-icon.md +27 -21
  290. package/src/components/icons/.icon-utils.md +28 -29
  291. package/src/components/icons/.image-icon.md +15 -22
  292. package/src/components/icons/.index.md +25 -28
  293. package/src/components/icons/.info-circle-icon.md +29 -30
  294. package/src/components/icons/.instagram-icon.md +10 -24
  295. package/src/components/icons/.jump-in-icon.md +18 -18
  296. package/src/components/icons/.linux-icon.md +18 -18
  297. package/src/components/icons/.log-out-icon.md +15 -23
  298. package/src/components/icons/.logs-icon.md +14 -23
  299. package/src/components/icons/.margin-crisis-icon.md +21 -20
  300. package/src/components/icons/.menu-icon.md +18 -19
  301. package/src/components/icons/.miami-cyber-gang-logo-face-only.md +18 -21
  302. package/src/components/icons/.miami-cyber-gang-logo.md +22 -14
  303. package/src/components/icons/.mlg-logo.md +18 -16
  304. package/src/components/icons/.moon-icon.md +32 -22
  305. package/src/components/icons/.ms-icon.md +30 -19
  306. package/src/components/icons/.nushell-icon.md +7 -21
  307. package/src/components/icons/.open-source-icon.md +19 -23
  308. package/src/components/icons/.openai-icon.md +9 -24
  309. package/src/components/icons/.openframe-ai-icons.md +25 -26
  310. package/src/components/icons/.openframe-logo.md +28 -22
  311. package/src/components/icons/.openframe-text.md +24 -27
  312. package/src/components/icons/.openmsp-logo.md +26 -23
  313. package/src/components/icons/.pilot-icon.md +23 -0
  314. package/src/components/icons/.powershell-icon.md +17 -22
  315. package/src/components/icons/.python-icon.md +16 -23
  316. package/src/components/icons/.queries-icon.md +13 -21
  317. package/src/components/icons/.reddit-icon.md +28 -24
  318. package/src/components/icons/.remote-control-icon.md +13 -17
  319. package/src/components/icons/.script-icon.md +27 -19
  320. package/src/components/icons/.search-icon.md +21 -21
  321. package/src/components/icons/.send-icon.md +14 -16
  322. package/src/components/icons/.settings-icon.md +30 -19
  323. package/src/components/icons/.shape-circle-dash-icon.md +16 -21
  324. package/src/components/icons/.shell-icon.md +15 -19
  325. package/src/components/icons/.shield-check-icon.md +18 -31
  326. package/src/components/icons/.shield-key-icon.md +25 -25
  327. package/src/components/icons/.shield-lock-icon.md +8 -18
  328. package/src/components/icons/.slack-icon.md +28 -32
  329. package/src/components/icons/.sparkles-icon.md +18 -23
  330. package/src/components/icons/.sso-configuration-icon.md +29 -16
  331. package/src/components/icons/.sun-icon.md +20 -18
  332. package/src/components/icons/.table-view-icon.md +17 -19
  333. package/src/components/icons/.telegram-icon.md +8 -22
  334. package/src/components/icons/.thumbs-down-icon.md +10 -19
  335. package/src/components/icons/.thumbs-up-icon.md +8 -17
  336. package/src/components/icons/.tool-directory-icons.md +24 -28
  337. package/src/components/icons/.trustpilot-icon.md +25 -22
  338. package/src/components/icons/.user-icon.md +26 -28
  339. package/src/components/icons/.users-group-icon.md +28 -24
  340. package/src/components/icons/.vendor-showcase-icons.md +21 -29
  341. package/src/components/icons/.vendors-icon.md +18 -22
  342. package/src/components/icons/.whatsapp-icon.md +30 -14
  343. package/src/components/icons/.x-icon.md +18 -23
  344. package/src/components/icons/.x-logo.md +13 -38
  345. package/src/components/icons/.youtube-icon.md +8 -19
  346. package/src/components/icons/device-type-icons/.get-device-type-icon.md +26 -34
  347. package/src/components/icons-v2-generated/.index.md +52 -0
  348. package/src/components/icons-v2-generated/alphabet/.index.md +33 -0
  349. package/src/components/icons-v2-generated/arrows/.index.md +39 -0
  350. package/src/components/icons-v2-generated/audio-and-visual/.index.md +40 -0
  351. package/src/components/icons-v2-generated/brand-logos/.elestio-logo-icon.md +40 -0
  352. package/src/components/icons-v2-generated/brand-logos/.gemini-logo-icon.md +37 -0
  353. package/src/components/icons-v2-generated/brand-logos/.google-gemini-logo-icon.md +33 -0
  354. package/src/components/icons-v2-generated/brand-logos/.index.md +38 -0
  355. package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-grey-icon.md +35 -0
  356. package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-icon.md +36 -0
  357. package/src/components/icons-v2-generated/buildings/.index.md +48 -0
  358. package/src/components/icons-v2-generated/charts/.index.md +40 -0
  359. package/src/components/icons-v2-generated/clothes/.index.md +48 -0
  360. package/src/components/icons-v2-generated/coding/.index.md +42 -0
  361. package/src/components/icons-v2-generated/communication/.index.md +39 -0
  362. package/src/components/icons-v2-generated/date-and-time/.index.md +29 -0
  363. package/src/components/icons-v2-generated/design/.index.md +39 -0
  364. package/src/components/icons-v2-generated/devices/.index.md +38 -0
  365. package/src/components/icons-v2-generated/documents/.index.md +38 -0
  366. package/src/components/icons-v2-generated/finance/.index.md +34 -0
  367. package/src/components/icons-v2-generated/food-and-drinks/.index.md +34 -0
  368. package/src/components/icons-v2-generated/food-and-drinks/.leafy-green-icon.md +36 -0
  369. package/src/components/icons-v2-generated/food-and-drinks/.strawberry-icon.md +39 -0
  370. package/src/components/icons-v2-generated/health/.index.md +40 -0
  371. package/src/components/icons-v2-generated/household/.index.md +45 -0
  372. package/src/components/icons-v2-generated/interface/.index.md +36 -0
  373. package/src/components/icons-v2-generated/map-and-travel/.index.md +41 -0
  374. package/src/components/icons-v2-generated/media-playback/.index.md +51 -0
  375. package/src/components/icons-v2-generated/number/.index.md +41 -0
  376. package/src/components/icons-v2-generated/school/.index.md +37 -0
  377. package/src/components/icons-v2-generated/security/.fingerprint-icon.md +38 -0
  378. package/src/components/icons-v2-generated/security/.index.md +39 -0
  379. package/src/components/icons-v2-generated/shopping/.index.md +42 -0
  380. package/src/components/icons-v2-generated/signs-and-symbols/.index.md +32 -0
  381. package/src/components/icons-v2-generated/sort-and-filter/.index.md +35 -0
  382. package/src/components/icons-v2-generated/sport/.index.md +41 -0
  383. package/src/components/icons-v2-generated/text-editor/.index.md +44 -0
  384. package/src/components/icons-v2-generated/users/.index.md +45 -0
  385. package/src/components/icons-v2-generated/vehicles-and-delivery/.index.md +36 -0
  386. package/src/components/icons-v2-generated/weather-and-nature/.flower-sakura-icon.md +36 -0
  387. package/src/components/icons-v2-generated/weather-and-nature/.index.md +34 -0
  388. package/src/components/layout/.article-detail-layout.md +43 -0
  389. package/src/components/layout/.back-button.md +40 -0
  390. package/src/components/layout/.list-page-layout.md +35 -26
  391. package/src/components/layout/.page-container.md +27 -38
  392. package/src/components/layout/.page-layout.md +50 -0
  393. package/src/components/layout/.title-block.md +42 -0
  394. package/src/components/loading/.card-skeleton.md +38 -29
  395. package/src/components/loading/.device-card-skeleton.md +29 -25
  396. package/src/components/loading/.index.md +39 -46
  397. package/src/components/loading/.margin-report-skeleton.md +45 -34
  398. package/src/components/loading/.organization-card-skeleton.md +39 -44
  399. package/src/components/loading/.page-layout-skeleton.md +34 -45
  400. package/src/components/loading/.unified-skeleton.md +62 -36
  401. package/src/components/navigation/.app-header.md +40 -29
  402. package/src/components/navigation/.app-layout.md +25 -26
  403. package/src/components/navigation/.header-global-search.md +34 -37
  404. package/src/components/navigation/.header-organization-filter.md +23 -22
  405. package/src/components/navigation/.header.md +31 -35
  406. package/src/components/navigation/.mobile-burger-menu.md +39 -47
  407. package/src/components/navigation/.mobile-nav-panel.md +51 -32
  408. package/src/components/navigation/.navigation-sidebar-header.md +36 -0
  409. package/src/components/navigation/.navigation-sidebar-item.md +45 -0
  410. package/src/components/navigation/.navigation-sidebar-toggle.md +38 -0
  411. package/src/components/navigation/.navigation-sidebar.md +33 -34
  412. package/src/components/navigation/.sliding-sidebar.md +52 -41
  413. package/src/components/navigation/.sticky-section-nav.md +56 -48
  414. package/src/components/platform/.ScriptArguments.md +39 -25
  415. package/src/components/platform/.ScriptInfoSection.md +30 -26
  416. package/src/components/platform/.ShellTypeBadge.md +18 -13
  417. package/src/components/platform/.SoftwareInfo.md +23 -27
  418. package/src/components/platform/.SoftwareSourceBadge.md +28 -19
  419. package/src/components/platform/.ToolBadge.md +25 -26
  420. package/src/components/providers/.theme-provider.md +52 -0
  421. package/src/components/shared/delivery/.delivery-lists.md +39 -0
  422. package/src/components/shared/delivery/.delivery-row.md +41 -0
  423. package/src/components/shared/delivery/.delivery-table.md +41 -0
  424. package/src/components/shared/delivery/.index.md +38 -0
  425. package/src/components/shared/dev-section/.dev-card-row.md +60 -0
  426. package/src/components/shared/dev-section/.dev-section-page.md +48 -0
  427. package/src/components/shared/dev-section/.dev-section-view.md +43 -0
  428. package/src/components/shared/dev-section/.index.md +38 -0
  429. package/src/components/shared/legal-document/.index.md +40 -0
  430. package/src/components/shared/legal-document/.legal-document-page.md +50 -0
  431. package/src/components/shared/legal-document/.use-legal-docs.md +42 -0
  432. package/src/components/shared/onboarding/.onboarding-step-card.md +32 -31
  433. package/src/components/shared/onboarding/.onboarding-walkthrough.md +39 -43
  434. package/src/components/shared/product-release/.index.md +28 -30
  435. package/src/components/shared/product-release/.product-release-card-skeleton.md +28 -28
  436. package/src/components/shared/product-release/.product-release-card.md +45 -27
  437. package/src/components/shared/product-release/.release-detail-page.md +23 -24
  438. package/src/components/shared/roadmap/.index.md +37 -0
  439. package/src/components/shared/roadmap/.roadmap-grid-skeleton.md +39 -0
  440. package/src/components/shared/roadmap/.roadmap-grid.md +66 -0
  441. package/src/components/shared/roadmap/.use-roadmap-voting.md +68 -0
  442. package/src/components/tickets/.help-center-card.md +51 -0
  443. package/src/components/tickets/.help-center-create-form.md +38 -0
  444. package/src/components/tickets/.help-center-list.md +40 -0
  445. package/src/components/tickets/.index.md +65 -0
  446. package/src/components/tickets/.ticket-center.md +51 -0
  447. package/src/components/tickets/.ticket-detail-drawer.md +48 -0
  448. package/src/components/tickets/.ticket-linked-delivery-card.md +36 -0
  449. package/src/components/tickets/.ticket-open-form.md +50 -0
  450. package/src/components/tickets/.ticket-row.md +30 -0
  451. package/src/components/tickets/.types.md +57 -0
  452. package/src/components/tickets/hooks/.use-ticket-actions.md +77 -0
  453. package/src/components/tickets/hooks/.use-ticket-engagements.md +42 -0
  454. package/src/components/tickets/hooks/.use-tickets-list.md +54 -0
  455. package/src/components/ui/.actions-menu.md +66 -41
  456. package/src/components/ui/.alert-dialog.md +29 -26
  457. package/src/components/ui/.allowed-domains-input.md +29 -21
  458. package/src/components/ui/.assignee-dropdown.md +45 -0
  459. package/src/components/ui/.autocomplete.md +47 -41
  460. package/src/components/ui/.benefit-card.md +51 -36
  461. package/src/components/ui/.brand-association-card.md +30 -27
  462. package/src/components/ui/.breadcrumb.md +17 -15
  463. package/src/components/ui/.checkbox-block.md +39 -35
  464. package/src/components/ui/.checkbox-with-description.md +23 -16
  465. package/src/components/ui/.checkbox.md +31 -23
  466. package/src/components/ui/.circular-progress.md +49 -19
  467. package/src/components/ui/.content-loader.md +32 -20
  468. package/src/components/ui/.cursor-pagination.md +41 -52
  469. package/src/components/ui/.dashboard-info-card.md +33 -26
  470. package/src/components/ui/.date-picker.md +27 -25
  471. package/src/components/ui/.device-card-compact.md +28 -29
  472. package/src/components/ui/.device-card.md +27 -27
  473. package/src/components/ui/.dialog.md +25 -16
  474. package/src/components/ui/.drawer.md +86 -0
  475. package/src/components/ui/.dropdown-button.md +45 -0
  476. package/src/components/ui/.entity-image.md +46 -0
  477. package/src/components/ui/.error-state.md +41 -28
  478. package/src/components/ui/.feature-card.md +35 -31
  479. package/src/components/ui/.feature-list.md +48 -0
  480. package/src/components/ui/.field-wrapper.md +47 -0
  481. package/src/components/ui/.file-upload.md +42 -0
  482. package/src/components/ui/.filter-checkbox-item.md +43 -0
  483. package/src/components/ui/.filter-list.md +57 -0
  484. package/src/components/ui/.filter-modal.md +59 -0
  485. package/src/components/ui/.floating-tooltip.md +43 -26
  486. package/src/components/ui/.hidden-tags-popup.md +49 -0
  487. package/src/components/ui/.hover-dropdown.md +54 -0
  488. package/src/components/ui/.image-gallery-modal.md +41 -34
  489. package/src/components/ui/.image-uploader.md +53 -0
  490. package/src/components/ui/.index.md +40 -34
  491. package/src/components/ui/.info-card.md +31 -31
  492. package/src/components/ui/.info-row.md +31 -27
  493. package/src/components/ui/.input-trigger.md +44 -0
  494. package/src/components/ui/.input.md +37 -31
  495. package/src/components/ui/.markdown-editor.md +57 -0
  496. package/src/components/ui/.modal-v2.md +51 -0
  497. package/src/components/ui/.modal.md +32 -31
  498. package/src/components/ui/.more-actions-menu.md +45 -38
  499. package/src/components/ui/.organization-card.md +31 -37
  500. package/src/components/ui/.page-actions.md +44 -54
  501. package/src/components/ui/.phone-input.md +54 -0
  502. package/src/components/ui/.progress-bar.md +35 -27
  503. package/src/components/ui/.radio-group.md +39 -27
  504. package/src/components/ui/.release-changelog-section.md +34 -34
  505. package/src/components/ui/.search-input.md +48 -0
  506. package/src/components/ui/.select.md +54 -34
  507. package/src/components/ui/.service-card.md +42 -40
  508. package/src/components/ui/.sheet.md +27 -18
  509. package/src/components/ui/.simple-markdown-renderer.md +29 -31
  510. package/src/components/ui/.sort-column-item.md +42 -0
  511. package/src/components/ui/.square-avatar.md +34 -24
  512. package/src/components/ui/.status-badge.md +26 -38
  513. package/src/components/ui/.switch.md +22 -35
  514. package/src/components/ui/.tab-navigation.md +56 -53
  515. package/src/components/ui/.tab-selector.md +40 -0
  516. package/src/components/ui/.tag-key-value-filter.md +56 -0
  517. package/src/components/ui/.tag-search-input.md +53 -0
  518. package/src/components/ui/.tag.md +49 -31
  519. package/src/components/ui/.tags-manager.md +60 -0
  520. package/src/components/ui/.textarea.md +44 -34
  521. package/src/components/ui/.ticket-attachments-list.md +45 -0
  522. package/src/components/ui/.ticket-detail-section.md +29 -0
  523. package/src/components/ui/.ticket-info-section.md +56 -0
  524. package/src/components/ui/.ticket-note-card.md +53 -0
  525. package/src/components/ui/.ticket-notes-section.md +54 -0
  526. package/src/components/ui/.ticket-status-tag.md +49 -0
  527. package/src/components/ui/.title-content-block.md +25 -26
  528. package/src/components/ui/.toaster.md +40 -28
  529. package/src/components/ui/.tooltip.md +22 -11
  530. package/src/components/ui/.truncate-text.md +39 -0
  531. package/src/components/ui/button/.button-styles.md +35 -0
  532. package/src/components/ui/button/.button.md +53 -0
  533. package/src/components/ui/button/.split-button.md +48 -0
  534. package/src/components/ui/data-table/.data-table-body.md +48 -0
  535. package/src/components/ui/data-table/.data-table-column-filter.md +45 -0
  536. package/src/components/ui/data-table/.data-table-cursor-footer.md +45 -0
  537. package/src/components/ui/data-table/.data-table-empty.md +43 -0
  538. package/src/components/ui/data-table/.data-table-header.md +55 -0
  539. package/src/components/ui/data-table/.data-table-infinite-footer.md +44 -0
  540. package/src/components/ui/data-table/.data-table-row-count.md +43 -0
  541. package/src/components/ui/data-table/.data-table-row.md +47 -0
  542. package/src/components/ui/data-table/.data-table-skeleton.md +42 -0
  543. package/src/components/ui/data-table/.data-table.md +47 -0
  544. package/src/components/ui/data-table/.index.md +55 -0
  545. package/src/components/ui/data-table/.types.md +54 -0
  546. package/src/components/ui/data-table/.use-data-table.md +45 -0
  547. package/src/components/ui/data-table/.utils.md +38 -0
  548. package/src/components/ui/file-manager/.file-manager-action-bar.md +39 -30
  549. package/src/components/ui/file-manager/.file-manager-breadcrumb.md +29 -27
  550. package/src/components/ui/file-manager/.file-manager-context-menu.md +38 -42
  551. package/src/components/ui/file-manager/.file-manager-empty.md +26 -39
  552. package/src/components/ui/file-manager/.file-manager-table-row.md +33 -41
  553. package/src/components/ui/file-manager/.file-manager.md +35 -31
  554. package/src/components/ui/query-report-table/.index.md +43 -0
  555. package/src/components/ui/query-report-table/.query-report-table-header.md +36 -0
  556. package/src/components/ui/query-report-table/.query-report-table-row.md +40 -0
  557. package/src/components/ui/query-report-table/.query-report-table-skeleton.md +44 -0
  558. package/src/components/ui/query-report-table/.query-report-table.md +47 -0
  559. package/src/components/ui/query-report-table/.types.md +41 -0
  560. package/src/components/ui/query-report-table/.utils.md +35 -0
  561. package/src/components/ui/table/.index.md +27 -48
  562. package/src/components/ui/table/.table-cell.md +18 -27
  563. package/src/components/ui/table/.table-column-filter-dropdown.md +40 -0
  564. package/src/components/ui/table/.table-description-cell.md +24 -14
  565. package/src/components/ui/table/.table-empty-state.md +21 -22
  566. package/src/components/ui/table/.table-header.md +25 -40
  567. package/src/components/ui/table/.table-row.md +22 -40
  568. package/src/components/ui/table/.table-skeleton.md +33 -26
  569. package/src/components/ui/table/.table-timestamp-cell.md +26 -16
  570. package/src/components/ui/table/.table.md +39 -59
  571. package/src/components/ui/table/.types.md +44 -36
  572. package/src/components/ui/table/.utils.md +18 -20
  573. package/src/contexts/.chat-runtime-context.md +54 -0
  574. package/src/contexts/.endpoints-runtime-context.md +58 -0
  575. package/src/contexts/.index.md +53 -0
  576. package/src/contexts/.use-outer-or-default.md +36 -0
  577. package/src/embed-shims/.index.md +45 -0
  578. package/src/embed-shims/.next-dynamic.md +43 -0
  579. package/src/embed-shims/.next-image.md +45 -0
  580. package/src/embed-shims/.next-link.md +59 -0
  581. package/src/embed-shims/.next-navigation.md +59 -0
  582. package/src/hooks/.index.md +34 -29
  583. package/src/hooks/.use-access-code-integration.md +49 -0
  584. package/src/hooks/.use-contact-submission.md +37 -26
  585. package/src/hooks/.use-copy-to-clipboard.md +42 -0
  586. package/src/hooks/.use-near-viewport.md +44 -0
  587. package/src/hooks/.use-og-placeholder.md +51 -0
  588. package/src/hooks/.use-toast.md +36 -35
  589. package/src/hooks/state/.use-api-params.md +29 -46
  590. package/src/hooks/state/.use-query-params.md +37 -33
  591. package/src/hooks/ui/.index.md +33 -32
  592. package/src/hooks/ui/.use-auto-limit-tags.md +54 -0
  593. package/src/hooks/ui/.use-horizontal-scrollbar.md +74 -0
  594. package/src/hooks/ui/.use-image-edge-color.md +42 -0
  595. package/src/hooks/ui/.use-media-query.md +33 -25
  596. package/src/hooks/ui/.use-search.md +51 -0
  597. package/src/nats/.nats.md +49 -28
  598. package/src/schemas/.contact-schema.md +45 -0
  599. package/src/stories/.AnnouncementBar.stories.md +45 -0
  600. package/src/stories/.AppLayout.stories.md +20 -21
  601. package/src/stories/.Autocomplete.stories.md +48 -34
  602. package/src/stories/.Board.stories.md +35 -0
  603. package/src/stories/.Button.stories.md +36 -33
  604. package/src/stories/.ChatTicketList.stories.md +33 -0
  605. package/src/stories/.CheckboxBlock.stories.md +40 -28
  606. package/src/stories/.ContentLoader.stories.md +47 -0
  607. package/src/stories/.DashboardInfoCard.stories.md +57 -0
  608. package/src/stories/.DataTable.stories.md +41 -0
  609. package/src/stories/.DatePicker.stories.md +66 -52
  610. package/src/stories/.DeviceCard.stories.md +41 -40
  611. package/src/stories/.DeviceCardCompact.stories.md +41 -0
  612. package/src/stories/.DotsLoaderIcon.stories.md +36 -0
  613. package/src/stories/.Drawer.stories.md +58 -0
  614. package/src/stories/.EmbeddableChat.stories.md +41 -0
  615. package/src/stories/.FileManager.stories.md +41 -0
  616. package/src/stories/.FileManagerActionBar.stories.md +38 -0
  617. package/src/stories/.FileUpload.stories.md +53 -0
  618. package/src/stories/.FilterList.stories.md +54 -0
  619. package/src/stories/.FilterModal.stories.md +72 -0
  620. package/src/stories/.FiltersDropdown.stories.md +57 -0
  621. package/src/stories/.Header.stories.md +48 -0
  622. package/src/stories/.ImageUploader.stories.md +49 -0
  623. package/src/stories/.InfoCard.stories.md +54 -0
  624. package/src/stories/.Input.stories.md +48 -30
  625. package/src/stories/.ListPageLayout.stories.md +56 -43
  626. package/src/stories/.MingoOnboardingCard.stories.md +42 -0
  627. package/src/stories/.MingoOnboardingCardSkeleton.stories.md +35 -0
  628. package/src/stories/.Modal.stories.md +40 -31
  629. package/src/stories/.NotificationDrawer.stories.md +55 -0
  630. package/src/stories/.OnboardingStepCard.stories.md +41 -0
  631. package/src/stories/.OrganizationCard.stories.md +61 -0
  632. package/src/stories/.PageActions.stories.md +52 -49
  633. package/src/stories/.PageContainer.stories.md +41 -35
  634. package/src/stories/.PageLayout.stories.md +60 -0
  635. package/src/stories/.ParallaxImageShowcase.stories.md +49 -0
  636. package/src/stories/.PhoneInput.stories.md +53 -0
  637. package/src/stories/.QueryReportTable.stories.md +44 -0
  638. package/src/stories/.RadioGroup.stories.md +46 -0
  639. package/src/stories/.RadioGroupBlock.stories.md +45 -0
  640. package/src/stories/.Select.stories.md +29 -15
  641. package/src/stories/.SlashCommandSuggestions.stories.md +41 -0
  642. package/src/stories/.SplitButton.stories.md +62 -0
  643. package/src/stories/.TabNavigation.stories.md +47 -38
  644. package/src/stories/.TabSelector.stories.md +65 -0
  645. package/src/stories/.Table.stories.md +38 -46
  646. package/src/stories/.TableColumnFilterDropdown.stories.md +46 -0
  647. package/src/stories/.Tag.stories.md +43 -32
  648. package/src/stories/.TagKeyValueFilter.stories.md +44 -0
  649. package/src/stories/.TagSearchInput.stories.md +61 -0
  650. package/src/stories/.Textarea.stories.md +49 -26
  651. package/src/stories/.Theme.stories.md +41 -0
  652. package/src/stories/.TicketAttachmentsList.stories.md +39 -0
  653. package/src/stories/.TicketDescriptionViewer.stories.md +39 -0
  654. package/src/stories/.TicketInfoSection.stories.md +40 -0
  655. package/src/stories/.TicketKnowledgeBaseList.stories.md +36 -0
  656. package/src/stories/.TicketNotesSection.stories.md +50 -0
  657. package/src/stories/.Toaster.stories.md +40 -0
  658. package/src/stories/.ToolExecutionDisplay.stories.md +41 -0
  659. package/src/stories/.Tooltip.stories.md +41 -0
  660. package/src/stories/.UserSummary.stories.md +41 -0
  661. package/src/stories/.WaitlistForm.stories.md +42 -0
  662. package/src/stories/BlogCard.stories.tsx +61 -0
  663. package/src/stories/CampaignCardAdmin.stories.tsx +52 -0
  664. package/src/stories/CaseStudyCard.stories.tsx +42 -0
  665. package/src/stories/ChatContainer.stories.tsx +186 -0
  666. package/src/stories/ChatInlineVideoPill.stories.tsx +63 -0
  667. package/src/stories/CustomerInterviewCard.stories.tsx +42 -0
  668. package/src/stories/DataRoomDocCard.stories.tsx +52 -0
  669. package/src/stories/GenericEntityCard.stories.tsx +66 -0
  670. package/src/stories/GitHubActivityCard.stories.tsx +61 -0
  671. package/src/stories/HubspotTicketCard.stories.tsx +98 -0
  672. package/src/stories/InvestorUpdateCard.stories.tsx +42 -0
  673. package/src/stories/OnboardingGuideCard.stories.tsx +52 -0
  674. package/src/stories/ProductReleaseCard.stories.tsx +61 -0
  675. package/src/stories/ProgramCard.stories.tsx +79 -0
  676. package/src/stories/RoadmapCard.stories.tsx +75 -0
  677. package/src/stories/SlackMessageCard.stories.tsx +41 -0
  678. package/src/stories/__fixtures__/chat-cards.ts +604 -0
  679. package/src/types/.blog.md +53 -29
  680. package/src/types/.case-study.md +44 -27
  681. package/src/types/.customer-interview.md +66 -44
  682. package/src/types/.delivery.md +40 -0
  683. package/src/types/.employee.md +24 -30
  684. package/src/types/.index.md +33 -47
  685. package/src/types/.marketing.md +49 -44
  686. package/src/types/.navigation.md +33 -25
  687. package/src/types/.os.types.md +32 -27
  688. package/src/types/.platform.md +31 -28
  689. package/src/types/.product-release.md +65 -38
  690. package/src/types/.supabase.md +37 -29
  691. package/src/types/.team.md +41 -33
  692. package/src/types/.video-processing.md +54 -0
  693. package/src/types/.waitlist.md +40 -36
  694. package/src/utils/.access-code-client.md +37 -36
  695. package/src/utils/.cn.md +31 -23
  696. package/src/utils/.color-analysis.md +35 -0
  697. package/src/utils/.country-phone-utils.md +39 -0
  698. package/src/utils/.date-formatters.md +19 -18
  699. package/src/utils/.embed-authed-fetch.md +39 -0
  700. package/src/utils/.embed-proxy-auth-storage.md +38 -0
  701. package/src/utils/.fetch-priority.md +41 -0
  702. package/src/utils/.format.md +74 -25
  703. package/src/utils/.generic-domain-utils.md +42 -0
  704. package/src/utils/.image-proxy.md +59 -23
  705. package/src/utils/.index.md +42 -49
  706. package/src/utils/.local-storage-adapter.md +50 -0
  707. package/src/utils/.ods-color-utils.md +55 -38
  708. package/src/utils/.platform-config.md +45 -25
  709. package/src/utils/.scroll-into-view.md +40 -0
  710. package/src/utils/.source-icons.md +53 -0
  711. package/src/utils/.sse-decision-frame.md +46 -0
  712. package/src/utils/dev-sections/.index.md +34 -0
  713. package/src/utils/dev-sections/.openframe-dev-sections.md +49 -0
  714. package/dist/chunk-ZDF6F7ED.cjs.map +0 -1
  715. package/dist/chunk-ZTJVRSN5.js.map +0 -1
  716. package/src/components/.card.md +0 -42
  717. package/src/components/.contact-button.md +0 -30
  718. package/src/components/.drawer.md +0 -46
  719. package/src/components/.fixed-layout-container.md +0 -47
  720. package/src/components/.footer-waitlist-card.md +0 -29
  721. package/src/components/.join-waitlist-cta.md +0 -29
  722. package/src/components/.sheet.md +0 -47
  723. package/src/components/.sliding-panel.md +0 -48
  724. package/src/components/.tooltip.md +0 -48
  725. package/src/components/.use-mobile.md +0 -42
  726. package/src/components/.vendor-compact-card.md +0 -66
  727. package/src/components/.x-button.md +0 -42
  728. package/src/components/features/.github-repo-button.md +0 -40
  729. package/src/components/features/.organization-icon.md +0 -47
  730. package/src/components/features/.organization-selector.md +0 -45
  731. package/src/components/icons/.fleet-icon.md +0 -39
  732. package/src/components/icons/.meshcentral-icon.md +0 -35
  733. package/src/components/icons/.refresh-icon.md +0 -34
  734. package/src/components/icons/.tactical-icon.md +0 -35
  735. package/src/components/ui/.button.md +0 -69
  736. package/src/components/ui/.log-table-row.md +0 -47
  737. package/src/components/ui/.selectable-device-card.md +0 -46
  738. package/src/hooks/.api-hooks-stub.md +0 -45
  739. package/src/hooks/api/.use-product-releases.md +0 -53
  740. package/src/stories/.OrganizationSelector.stories.md +0 -42
  741. package/src/stories/.SelectableDeviceCard.stories.md +0 -30
  742. package/src/utils/.lite-youtube-embed-stub.md +0 -37
  743. package/src/utils/.lite-youtube-embed.md +0 -33
  744. /package/dist/{chunk-3JWIJJ44.js.map → chunk-5OWDOFKK.js.map} +0 -0
  745. /package/dist/{chunk-IK2X5YJU.js.map → chunk-HWY35EAK.js.map} +0 -0
@@ -1,55 +1,48 @@
1
- <!-- source-hash: 766a56f3c8aa7fc2b9d10d145974687d -->
2
- A comprehensive index file that exports all skeleton loading components and filtering utilities from the Flamingo UI system, providing a centralized entry point for loading states and content filtering functionality.
1
+ <!-- source-hash: 6f6dc44a9f25ba3b463f1c1d0d5381af -->
2
+ Barrel export file for the skeleton/loading component library, consolidating all skeleton UI components used across the Flamingo/OpenFrame platform into a single import surface.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Page Layout Skeletons:**
7
- - `AnnouncementBarSkeleton`, `HeroSkeleton`, `SearchContainerSkeleton` - Main page structure loading states
8
- - `TwoColumnLayoutSkeleton`, `ArticleLayoutSkeleton`, `VendorDetailLayoutSkeleton` - Content layout skeletons
9
- - `CategorySidebarSkeleton`, `BreadcrumbSkeleton`, `ResultsHeaderSkeleton` - Navigation and header skeletons
6
+ ### Page Layout Skeletons
7
+ | Export | Source |
8
+ |--------|--------|
9
+ | `AnnouncementBarSkeleton`, `HeroSkeleton`, `SearchContainerSkeleton` | `./page-layout-skeleton` |
10
+ | `TwoColumnLayoutSkeleton`, `ArticleLayoutSkeleton`, `VendorDetailLayoutSkeleton` | `./page-layout-skeleton` |
11
+ | `BlogCardGridSkeleton`, `VendorGridSkeleton`, `StatsSectionSkeleton` | `./page-layout-skeleton` |
12
+
13
+ ### Card & Content Skeletons
14
+ - **`CardSkeleton`, `CardSkeletonGrid`** — Generic card placeholders
15
+ - **`ParagraphSkeleton`, `ListSkeleton`, `TableSkeleton`, `FormSkeleton`** — Content-type specific loaders
16
+ - **`ProfileSkeleton`, `CommentSkeleton`, `TimelineSkeleton`, `PricingSkeleton`** — Specialized content skeletons
17
+
18
+ ### Unified / Dynamic Systems
19
+ - **`UnifiedSkeleton`, `TextSkeleton`, `MediaSkeleton`, `InteractiveSkeleton`** — Composable primitives
20
+ - **`DynamicSkeleton`, `SkeletonPresets`, `PlatformSkeletonContainer`, `ProgressiveSkeleton`** — ODS-aware adaptive skeletons
21
+ - **`ContentLoadingContainer`, `useContentLoading`** — Hook + container for loading state management
22
+
23
+ ### Domain-Specific Skeletons
24
+ - **`ProfileLoadingSkeleton`, `MspProfileFormSkeleton`** — MSP profile flows
25
+ - **`OrganizationCardSkeleton`, `OrganizationCardSkeletonGrid`** — Organization management
26
+ - **`DeviceCardSkeleton`, `DeviceCardSkeletonGrid`** — Device listing views
27
+ - **`WizardLayoutSkeleton`**, **`MarginReportSkeleton`**, **`UsersGridSkeleton`** — Wizard, reporting, and admin views
10
28
 
11
- **Card Components:**
12
- - `CardSkeleton`, `CardSkeletonGrid` - Basic card loading states
13
- - `CategoryCardSkeleton`, `OrganizationCardSkeleton`, `DeviceCardSkeleton` - Specialized card skeletons
14
-
15
- **Unified Components:**
16
- - `UnifiedSkeleton`, `TextSkeleton`, `MediaSkeleton` - Flexible skeleton building blocks
17
- - `DynamicSkeleton`, `SkeletonPresets` - ODS-aware adaptive loading states
29
+ ## Usage Example
18
30
 
19
- **Content & Form Skeletons:**
20
- - `ParagraphSkeleton`, `ListSkeleton`, `TableSkeleton`, `FormSkeleton` - Text content loading states
21
- - `MspProfileFormSkeleton`, `ProfileLoadingSkeleton` - Profile-specific skeletons
31
+ ```typescript
32
+ // Import any skeleton from a single entry point
33
+ import {
34
+ TwoColumnLayoutSkeleton,
35
+ DynamicSkeleton,
36
+ useContentLoading
37
+ } from '@/components/skeletons'
22
38
 
23
- **Filtering & Pagination:**
24
- - `useUnifiedFiltering`, `FilterState`, `FilterConfig` - Content filtering logic
25
- - `PersistentFilterControls`, `PersistentPagination` - Filter UI components
26
- - `vendorFilterConfig`, `blogFilterConfig` - Pre-configured filter sets
39
+ export default function PageShell() {
40
+ const { isLoading } = useContentLoading()
27
41
 
28
- ## Usage Example
42
+ if (isLoading) return <TwoColumnLayoutSkeleton />
29
43
 
30
- ```typescript
31
- import {
32
- CardSkeletonGrid,
33
- useUnifiedFiltering,
34
- vendorFilterConfig,
35
- PersistentFilterControls
36
- } from '@/components/loading/skeletons'
37
-
38
- function VendorListPage() {
39
- const { filters, updateFilter, isLoading } = useUnifiedFiltering(vendorFilterConfig)
40
-
41
- if (isLoading) {
42
- return <CardSkeletonGrid count={12} />
43
- }
44
-
45
- return (
46
- <div>
47
- <PersistentFilterControls
48
- filters={filters}
49
- onFilterChange={updateFilter}
50
- />
51
- {/* Vendor content */}
52
- </div>
53
- )
44
+ return <MainContent />
54
45
  }
55
- ```
46
+ ```
47
+
48
+ > ⚠️ **Important:** `OpenmspHeartbeatLoader` is intentionally **excluded** from this barrel — it is client-only and must be imported directly from `./openmsp-heartbeat` in client components to avoid breaking server-side rendering.
@@ -1,43 +1,54 @@
1
- <!-- source-hash: ef376aa2ee23a24d8bff5b1fb35578a0 -->
2
- A React component that renders a skeleton loading state for a margin report page, mimicking the layout structure while data loads or when displaying placeholder content with optional overlay functionality.
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.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **MarginReportSkeleton** - Main component that renders the complete skeleton UI
7
- - **MarginReportSkeletonProps** - Interface defining component configuration options
8
- - `animate` - Controls pulse animation (default: true)
9
- - `description` - Optional explanatory text above overlay
10
- - `overlayContent` - Optional React node displayed over skeleton
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 |
10
+
11
+ ### Props
12
+
13
+ | 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 lists — Commercial & 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
+ ```
11
29
 
12
30
  ## Usage Example
13
31
 
14
32
  ```typescript
15
- import { MarginReportSkeleton } from './margin-report-skeleton';
16
-
17
- // Basic loading skeleton
18
- function LoadingReport() {
19
- return <MarginReportSkeleton />;
20
- }
21
-
22
- // With overlay content
23
- function ReportWithCTA() {
24
- return (
25
- <MarginReportSkeleton
26
- animate={true}
27
- description="Generate your custom margin report"
28
- overlayContent={
29
- <button className="btn-primary">
30
- Start Analysis
31
- </button>
32
- }
33
- />
34
- );
35
- }
36
-
37
- // Static skeleton without animation
38
- function StaticPlaceholder() {
39
- return <MarginReportSkeleton animate={false} />;
40
- }
33
+ // Basic animated skeleton while data loads
34
+ <MarginReportSkeleton />
35
+
36
+ // Static skeleton with a gated CTA overlay
37
+ <MarginReportSkeleton
38
+ animate={false}
39
+ description="Generate your free Margin Report to unlock insights."
40
+ overlayContent={
41
+ <Button onClick={handleGenerate}>
42
+ Generate Report
43
+ </Button>
44
+ }
45
+ />
46
+
47
+ // Skeleton with a loading spinner overlay
48
+ <MarginReportSkeleton
49
+ description="Calculating your margins…"
50
+ overlayContent={<Spinner size="lg" />}
51
+ />
41
52
  ```
42
53
 
43
- The component creates a comprehensive skeleton layout including header sections, summary cards, MSP profile cards, vendor solution lists (commercial and open-source), strategic recommendations grid, and an OpenFrame value section. The optional overlay feature allows displaying CTAs or loading indicators centered over the skeleton content.
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.
@@ -1,51 +1,46 @@
1
- <!-- source-hash: 336012723d59d92058cb1b5e5d7f331f -->
2
- A React component that provides loading skeleton placeholders for organization cards, designed to match the exact layout and dimensions of actual organization cards to prevent layout shifts during data loading.
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.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **OrganizationCardSkeleton** - Main skeleton component with configurable sections (header, description, footer)
7
- - **OrganizationCardSkeletonGrid** - Grid wrapper for displaying multiple skeleton cards with responsive layout
8
- - **OrganizationCardSkeletonProps** - TypeScript interface defining customization options
6
+ ### `OrganizationCardSkeleton`
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`)
11
+
12
+ ### `OrganizationCardSkeletonGrid`
13
+ Renders a responsive grid of `OrganizationCardSkeleton` instances:
14
+ - Mobile: 1 column | Tablet (`md`): 2 columns | Desktop (`lg`): 3 columns
15
+
16
+ ### `OrganizationCardSkeletonProps`
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 |
9
23
 
10
24
  ## Usage Example
11
25
 
12
26
  ```typescript
13
- import { OrganizationCardSkeleton, OrganizationCardSkeletonGrid } from "./organization-card-skeleton"
14
-
15
- // Single skeleton card
16
- function LoadingCard() {
17
- return (
18
- <OrganizationCardSkeleton
19
- showDescription={true}
20
- showFooter={true}
21
- className="max-w-sm"
22
- />
23
- )
24
- }
25
-
26
- // Grid of skeleton cards
27
- function LoadingGrid() {
28
- return (
29
- <OrganizationCardSkeletonGrid
30
- count={9}
31
- showDescription={false}
32
- containerClassName="bg-gray-100"
33
- />
34
- )
35
- }
36
-
37
- // Conditional loading state
38
- function OrganizationList({ isLoading, organizations }) {
39
- if (isLoading) {
40
- return <OrganizationCardSkeletonGrid count={12} />
41
- }
42
-
43
- return (
44
- <div className="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
45
- {organizations.map(org => <OrganizationCard key={org.id} {...org} />)}
46
- </div>
47
- )
48
- }
49
- ```
50
-
51
- The skeleton maintains visual parity with the actual OrganizationCard component, including a 60x60px logo area, text placeholders for title/subtitle, optional description section, and footer with stats and badges.
27
+ // Single card skeleton
28
+ <OrganizationCardSkeleton
29
+ showDescription={true}
30
+ showFooter={true}
31
+ />
32
+
33
+ // Full grid skeleton during data load
34
+ <OrganizationCardSkeletonGrid
35
+ count={9}
36
+ showFooter={true}
37
+ showDescription={false}
38
+ className="my-4"
39
+ />
40
+
41
+ // Custom container styling
42
+ <OrganizationCardSkeleton
43
+ containerClassName="bg-gray-900 border border-gray-700"
44
+ showFooter={false}
45
+ />
46
+ ```
@@ -1,57 +1,46 @@
1
- <!-- source-hash: 404cf3b17445eee0f8d6345f40405c01 -->
2
- A React component that provides skeleton loading states for various page layout sections, designed to match the actual UI components during loading.
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.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Main Layout Skeletons:**
7
- - `PageLayoutSkeletonProps` - Base interface for skeleton components
8
- - `AnnouncementBarSkeleton` - Skeleton for announcement bar with logo, text, and close button
9
- - `HeaderSkeleton` - Navigation header skeleton with logo, nav items, and action buttons
10
- - `HeroSkeleton` - Hero section skeleton with title, subtitle, and CTA button
11
- - `TwoColumnLayoutSkeleton` - Flexible two-column layout with configurable sidebar position
12
- - `ArticleLayoutSkeleton` - Full article/blog post layout with header, metadata, and content
13
- - `VendorDetailLayoutSkeleton` - Detailed vendor page layout (truncated in example)
14
-
15
- **Search & Navigation Skeletons:**
16
- - `SearchContainerSkeleton` - Search input with optional filter chips
17
- - `CategorySidebarSkeleton` - Sidebar with categories and filter sections
18
- - `BreadcrumbSkeleton` - Breadcrumb navigation trail
19
- - `ResultsHeaderSkeleton` - Results count and sorting controls
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 |
11
+ | `SearchContainerSkeleton` | Search input with optional filter chip row |
12
+ | `CategorySidebarSkeleton` | Sidebar mimicking `MultiLevelNavigation` with folder/file icons and README badges |
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 |
20
18
 
21
19
  ## Usage Example
22
20
 
23
21
  ```typescript
24
- import {
25
- HeaderSkeleton,
26
- HeroSkeleton,
22
+ import {
23
+ HeaderSkeleton,
27
24
  TwoColumnLayoutSkeleton,
28
- SearchContainerSkeleton
29
- } from './page-layout-skeleton'
30
-
31
- // Loading state for a search page
32
- function SearchPageSkeleton() {
33
- return (
34
- <>
35
- <HeaderSkeleton />
36
- <div className="container mx-auto p-6">
37
- <SearchContainerSkeleton showFilters={true} />
38
- <TwoColumnLayoutSkeleton
25
+ CategorySidebarSkeleton,
26
+ } from "./page-layout-skeleton"
27
+
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 />}
39
36
  sidebarPosition="left"
40
- className="mt-8"
41
37
  />
42
- </div>
43
- </>
44
- )
45
- }
46
-
47
- // Loading state for article page
48
- function ArticlePageSkeleton() {
49
- return (
50
- <div className="container mx-auto px-4">
51
- <ArticleLayoutSkeleton />
52
- </div>
53
- )
38
+ </>
39
+ )
40
+ }
41
+ return <ActualContent />
54
42
  }
55
- ```
56
43
 
57
- The skeletons use the unified skeleton components and maintain responsive design patterns with proper animations and semantic structure.
44
+ // Inline search skeleton with filters hidden
45
+ <SearchContainerSkeleton showFilters={false} className="my-4" />
46
+ ```
@@ -1,43 +1,69 @@
1
- <!-- source-hash: f42b8a7e1d3731949a7e184cfd3799e1 -->
2
- A comprehensive React skeleton loading component system with consistent styling and accessibility features for displaying loading states across the application.
1
+ <!-- source-hash: 8c0e5c74de8bbbd5020de8b54978e503 -->
2
+ Accessible loading placeholder component providing a base `UnifiedSkeleton` with specialized sub-components for consistent skeleton UI across the application.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **UnifiedSkeleton** - Base skeleton component with customizable variants (default, text, circular, rectangular)
7
- - **TextSkeleton** - Pre-configured text skeleton variants for headings, body text, and captions
8
- - **InteractiveSkeleton** - Skeleton components for interactive elements like buttons, inputs, and chips
9
- - **MediaSkeleton** - Specialized skeletons for images, avatars, and icons with proper aspect ratios
6
+ ### `UnifiedSkeleton` (base component)
7
+ Core skeleton element with dark theme styling (`#2A2A2A` base), pulse animation, and full accessibility support.
8
+
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
18
+ | 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`) |
24
+
25
+ ### `InteractiveSkeleton` namespace
26
+ | 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 |
31
+
32
+ ### `MediaSkeleton` namespace
33
+ | 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`) |
10
38
 
11
39
  ## Usage Example
12
40
 
13
41
  ```typescript
14
- import { UnifiedSkeleton, TextSkeleton, MediaSkeleton } from './unified-skeleton'
15
-
16
- // Basic skeleton with custom dimensions
17
- <UnifiedSkeleton width={200} height={100} variant="rectangular" />
18
-
19
- // Text loading states
20
- <TextSkeleton.Heading className="mb-4" />
21
- <TextSkeleton.Body className="mb-2" />
22
- <TextSkeleton.Caption />
23
-
24
- // Media elements
25
- <MediaSkeleton.Avatar size="lg" />
26
- <MediaSkeleton.CardImage className="mb-4" />
27
-
28
- // Interactive elements
29
- <InteractiveSkeleton.Button />
30
- <InteractiveSkeleton.Input className="mb-3" />
31
-
32
- // Custom styling and accessibility
33
- <UnifiedSkeleton
34
- variant="circular"
35
- width={60}
36
- height={60}
37
- animate={false}
38
- aria-label="Loading user profile"
39
- className="mx-auto"
40
- />
41
- ```
42
-
43
- The component system includes mobile-responsive sizing, respects user motion preferences, and provides proper ARIA labels for screen reader accessibility.
42
+ import {
43
+ UnifiedSkeleton,
44
+ TextSkeleton,
45
+ InteractiveSkeleton,
46
+ MediaSkeleton,
47
+ } from "./unified-skeleton"
48
+
49
+ // Basic usage
50
+ <UnifiedSkeleton variant="rectangular" height={200} />
51
+
52
+ // Composing a card loading state
53
+ function TicketCardSkeleton() {
54
+ 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" />
61
+ </div>
62
+ <InteractiveSkeleton.Button />
63
+ </div>
64
+ )
65
+ }
66
+
67
+ // Disable animation (e.g. for snapshot tests)
68
+ <UnifiedSkeleton animate={false} aria-label="Loading ticket list" />
69
+ ```
@@ -1,47 +1,58 @@
1
- <!-- source-hash: a1b3156cdf394cc3dd5a1c35f3e88dd9 -->
2
- A responsive application header component that provides navigation, search, notifications, and user management functionality with mobile-first design and conditional feature rendering.
1
+ <!-- source-hash: 898258d76810df35b3a9175ed9b09824 -->
2
+ Responsive application header component for the OpenFrame platform, providing navigation controls, search, organization filtering, notifications, and user account management across mobile and desktop breakpoints.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **AppHeader**: Main header component with responsive layout switching between mobile and desktop views
7
- - **AppHeaderProps**: TypeScript interface defining all configurable props including search, organizations, notifications, and user settings
8
- - **Mobile Menu Integration**: Hamburger menu toggle with open/close state management
9
- - **Conditional Rendering**: Feature flags for search, organizations, notifications, and user sections
10
- - **User Dropdown**: Desktop-only dropdown menu with profile and logout actions
11
- - **Responsive Icons**: Different icon sizes and layouts for mobile vs desktop breakpoints
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `AppHeader` | `React.memo` component | Main header component with full prop-driven configuration |
9
+ | `AppHeaderProps` | Interface | Full prop contract for the header |
10
+ | `NotificationsHeaderButton` | Internal component | Bell icon button with unread badge, integrates with `NotificationsContext` |
11
+
12
+ ## Props Overview
13
+
14
+ | Prop | Type | Description |
15
+ |------|------|-------------|
16
+ | `isMobileMenuOpen` | `boolean` | Required; controls burger menu icon state |
17
+ | `onToggleMobileMenu` | `() => void` | Callback to toggle the mobile sidebar |
18
+ | `disabled` | `boolean` | Dims all controls except the mobile burger toggle |
19
+ | `showSearch` | `boolean` | Renders global search (desktop) or search button (mobile) |
20
+ | `showOrganizations` | `boolean` | Renders org filter dropdown (large screens only) |
21
+ | `showNotifications` | `boolean` | Renders notification bell with unread badge |
22
+ | `showUser` | `boolean` | Renders user avatar + dropdown (desktop only) |
12
23
 
13
24
  ## Usage Example
14
25
 
15
26
  ```typescript
16
27
  import { AppHeader } from './app-header'
17
28
 
18
- function Layout() {
19
- const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false)
20
-
29
+ export function Shell() {
30
+ const [mobileOpen, setMobileOpen] = React.useState(false)
31
+
21
32
  return (
22
33
  <AppHeader
23
- showSearch={true}
24
- onSearch={(query) => console.log('Search:', query)}
25
- showOrganizations={true}
26
- organizations={[
27
- { id: '1', name: 'Acme Corp' },
28
- { id: '2', name: 'Tech Solutions' }
29
- ]}
30
- selectedOrgId="1"
31
- onOrgChange={(id) => console.log('Org changed:', id)}
32
- showNotifications={true}
34
+ isMobileMenuOpen={mobileOpen}
35
+ onToggleMobileMenu={() => setMobileOpen(prev => !prev)}
36
+ showSearch
37
+ onSearch={(query) => console.log(query)}
38
+ showOrganizations
39
+ organizations={[{ id: 'org-1', name: 'Acme Corp' }]}
40
+ selectedOrgId="org-1"
41
+ onOrgChange={(id) => console.log(id)}
42
+ showNotifications
33
43
  unreadCount={3}
34
- showUser={true}
35
- userName="John Doe"
36
- userEmail="john@example.com"
37
- userAvatarUrl="/avatar.jpg"
38
- onProfile={() => navigate('/profile')}
44
+ showUser
45
+ userName="Jane Doe"
46
+ userEmail="jane@acme.com"
47
+ onProfile={() => router.push('/profile')}
39
48
  onLogout={() => signOut()}
40
- isMobileMenuOpen={isMobileMenuOpen}
41
- onToggleMobileMenu={() => setIsMobileMenuOpen(!isMobileMenuOpen)}
42
49
  />
43
50
  )
44
51
  }
45
52
  ```
46
53
 
47
- The header automatically adapts its layout based on screen size using the `useMdUp` hook, showing a compact mobile version with essential actions and an expanded desktop version with full feature visibility.
54
+ ## Behavior Notes
55
+
56
+ - **Responsive layout:** Mobile renders a burger icon + logo; desktop shows the full search bar and org filter
57
+ - **Disabled state:** Setting `disabled={true}` applies `pointer-events-none opacity-50` to all controls except the mobile menu toggle
58
+ - **Notifications:** Prefers live unread count from `NotificationsContext` when available, falls back to the `unreadCount` prop; switches between `BellIcon` and `BellRingingIcon` based on count