@flamingo-stack/openframe-frontend-core 0.0.213 → 0.0.214-snapshot.20260528192313

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 (746) hide show
  1. package/dist/{chunk-35XIT2CF.cjs → chunk-2G3NXF6J.cjs} +17 -17
  2. package/dist/{chunk-35XIT2CF.cjs.map → chunk-2G3NXF6J.cjs.map} +1 -1
  3. package/dist/{chunk-IK2X5YJU.js → chunk-7PCP7YQR.js} +2 -2
  4. package/dist/{chunk-ZDF6F7ED.cjs → chunk-D4MNFY67.cjs} +4 -3
  5. package/dist/chunk-D4MNFY67.cjs.map +1 -0
  6. package/dist/{chunk-OTKJASSX.cjs → chunk-NGFP4RVL.cjs} +24 -24
  7. package/dist/{chunk-OTKJASSX.cjs.map → chunk-NGFP4RVL.cjs.map} +1 -1
  8. package/dist/{chunk-3JWIJJ44.js → chunk-R6MLPU4A.js} +2 -2
  9. package/dist/{chunk-ZTJVRSN5.js → chunk-WQZP3JIZ.js} +4 -3
  10. package/dist/chunk-WQZP3JIZ.js.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/platform/ShellTypeBadge.tsx +2 -2
  421. package/src/components/providers/.theme-provider.md +52 -0
  422. package/src/components/shared/delivery/.delivery-lists.md +39 -0
  423. package/src/components/shared/delivery/.delivery-row.md +41 -0
  424. package/src/components/shared/delivery/.delivery-table.md +41 -0
  425. package/src/components/shared/delivery/.index.md +38 -0
  426. package/src/components/shared/dev-section/.dev-card-row.md +60 -0
  427. package/src/components/shared/dev-section/.dev-section-page.md +48 -0
  428. package/src/components/shared/dev-section/.dev-section-view.md +43 -0
  429. package/src/components/shared/dev-section/.index.md +38 -0
  430. package/src/components/shared/legal-document/.index.md +40 -0
  431. package/src/components/shared/legal-document/.legal-document-page.md +50 -0
  432. package/src/components/shared/legal-document/.use-legal-docs.md +42 -0
  433. package/src/components/shared/onboarding/.onboarding-step-card.md +32 -31
  434. package/src/components/shared/onboarding/.onboarding-walkthrough.md +39 -43
  435. package/src/components/shared/product-release/.index.md +28 -30
  436. package/src/components/shared/product-release/.product-release-card-skeleton.md +28 -28
  437. package/src/components/shared/product-release/.product-release-card.md +45 -27
  438. package/src/components/shared/product-release/.release-detail-page.md +23 -24
  439. package/src/components/shared/roadmap/.index.md +37 -0
  440. package/src/components/shared/roadmap/.roadmap-grid-skeleton.md +39 -0
  441. package/src/components/shared/roadmap/.roadmap-grid.md +66 -0
  442. package/src/components/shared/roadmap/.use-roadmap-voting.md +68 -0
  443. package/src/components/tickets/.help-center-card.md +51 -0
  444. package/src/components/tickets/.help-center-create-form.md +38 -0
  445. package/src/components/tickets/.help-center-list.md +40 -0
  446. package/src/components/tickets/.index.md +65 -0
  447. package/src/components/tickets/.ticket-center.md +51 -0
  448. package/src/components/tickets/.ticket-detail-drawer.md +48 -0
  449. package/src/components/tickets/.ticket-linked-delivery-card.md +36 -0
  450. package/src/components/tickets/.ticket-open-form.md +50 -0
  451. package/src/components/tickets/.ticket-row.md +30 -0
  452. package/src/components/tickets/.types.md +57 -0
  453. package/src/components/tickets/hooks/.use-ticket-actions.md +77 -0
  454. package/src/components/tickets/hooks/.use-ticket-engagements.md +42 -0
  455. package/src/components/tickets/hooks/.use-tickets-list.md +54 -0
  456. package/src/components/ui/.actions-menu.md +66 -41
  457. package/src/components/ui/.alert-dialog.md +29 -26
  458. package/src/components/ui/.allowed-domains-input.md +29 -21
  459. package/src/components/ui/.assignee-dropdown.md +45 -0
  460. package/src/components/ui/.autocomplete.md +47 -41
  461. package/src/components/ui/.benefit-card.md +51 -36
  462. package/src/components/ui/.brand-association-card.md +30 -27
  463. package/src/components/ui/.breadcrumb.md +17 -15
  464. package/src/components/ui/.checkbox-block.md +39 -35
  465. package/src/components/ui/.checkbox-with-description.md +23 -16
  466. package/src/components/ui/.checkbox.md +31 -23
  467. package/src/components/ui/.circular-progress.md +49 -19
  468. package/src/components/ui/.content-loader.md +32 -20
  469. package/src/components/ui/.cursor-pagination.md +41 -52
  470. package/src/components/ui/.dashboard-info-card.md +33 -26
  471. package/src/components/ui/.date-picker.md +27 -25
  472. package/src/components/ui/.device-card-compact.md +28 -29
  473. package/src/components/ui/.device-card.md +27 -27
  474. package/src/components/ui/.dialog.md +25 -16
  475. package/src/components/ui/.drawer.md +86 -0
  476. package/src/components/ui/.dropdown-button.md +45 -0
  477. package/src/components/ui/.entity-image.md +46 -0
  478. package/src/components/ui/.error-state.md +41 -28
  479. package/src/components/ui/.feature-card.md +35 -31
  480. package/src/components/ui/.feature-list.md +48 -0
  481. package/src/components/ui/.field-wrapper.md +47 -0
  482. package/src/components/ui/.file-upload.md +42 -0
  483. package/src/components/ui/.filter-checkbox-item.md +43 -0
  484. package/src/components/ui/.filter-list.md +57 -0
  485. package/src/components/ui/.filter-modal.md +59 -0
  486. package/src/components/ui/.floating-tooltip.md +43 -26
  487. package/src/components/ui/.hidden-tags-popup.md +49 -0
  488. package/src/components/ui/.hover-dropdown.md +54 -0
  489. package/src/components/ui/.image-gallery-modal.md +41 -34
  490. package/src/components/ui/.image-uploader.md +53 -0
  491. package/src/components/ui/.index.md +40 -34
  492. package/src/components/ui/.info-card.md +31 -31
  493. package/src/components/ui/.info-row.md +31 -27
  494. package/src/components/ui/.input-trigger.md +44 -0
  495. package/src/components/ui/.input.md +37 -31
  496. package/src/components/ui/.markdown-editor.md +57 -0
  497. package/src/components/ui/.modal-v2.md +51 -0
  498. package/src/components/ui/.modal.md +32 -31
  499. package/src/components/ui/.more-actions-menu.md +45 -38
  500. package/src/components/ui/.organization-card.md +31 -37
  501. package/src/components/ui/.page-actions.md +44 -54
  502. package/src/components/ui/.phone-input.md +54 -0
  503. package/src/components/ui/.progress-bar.md +35 -27
  504. package/src/components/ui/.radio-group.md +39 -27
  505. package/src/components/ui/.release-changelog-section.md +34 -34
  506. package/src/components/ui/.search-input.md +48 -0
  507. package/src/components/ui/.select.md +54 -34
  508. package/src/components/ui/.service-card.md +42 -40
  509. package/src/components/ui/.sheet.md +27 -18
  510. package/src/components/ui/.simple-markdown-renderer.md +29 -31
  511. package/src/components/ui/.sort-column-item.md +42 -0
  512. package/src/components/ui/.square-avatar.md +34 -24
  513. package/src/components/ui/.status-badge.md +26 -38
  514. package/src/components/ui/.switch.md +22 -35
  515. package/src/components/ui/.tab-navigation.md +56 -53
  516. package/src/components/ui/.tab-selector.md +40 -0
  517. package/src/components/ui/.tag-key-value-filter.md +56 -0
  518. package/src/components/ui/.tag-search-input.md +53 -0
  519. package/src/components/ui/.tag.md +49 -31
  520. package/src/components/ui/.tags-manager.md +60 -0
  521. package/src/components/ui/.textarea.md +44 -34
  522. package/src/components/ui/.ticket-attachments-list.md +45 -0
  523. package/src/components/ui/.ticket-detail-section.md +29 -0
  524. package/src/components/ui/.ticket-info-section.md +56 -0
  525. package/src/components/ui/.ticket-note-card.md +53 -0
  526. package/src/components/ui/.ticket-notes-section.md +54 -0
  527. package/src/components/ui/.ticket-status-tag.md +49 -0
  528. package/src/components/ui/.title-content-block.md +25 -26
  529. package/src/components/ui/.toaster.md +40 -28
  530. package/src/components/ui/.tooltip.md +22 -11
  531. package/src/components/ui/.truncate-text.md +39 -0
  532. package/src/components/ui/button/.button-styles.md +35 -0
  533. package/src/components/ui/button/.button.md +53 -0
  534. package/src/components/ui/button/.split-button.md +48 -0
  535. package/src/components/ui/data-table/.data-table-body.md +48 -0
  536. package/src/components/ui/data-table/.data-table-column-filter.md +45 -0
  537. package/src/components/ui/data-table/.data-table-cursor-footer.md +45 -0
  538. package/src/components/ui/data-table/.data-table-empty.md +43 -0
  539. package/src/components/ui/data-table/.data-table-header.md +55 -0
  540. package/src/components/ui/data-table/.data-table-infinite-footer.md +44 -0
  541. package/src/components/ui/data-table/.data-table-row-count.md +43 -0
  542. package/src/components/ui/data-table/.data-table-row.md +47 -0
  543. package/src/components/ui/data-table/.data-table-skeleton.md +42 -0
  544. package/src/components/ui/data-table/.data-table.md +47 -0
  545. package/src/components/ui/data-table/.index.md +55 -0
  546. package/src/components/ui/data-table/.types.md +54 -0
  547. package/src/components/ui/data-table/.use-data-table.md +45 -0
  548. package/src/components/ui/data-table/.utils.md +38 -0
  549. package/src/components/ui/file-manager/.file-manager-action-bar.md +39 -30
  550. package/src/components/ui/file-manager/.file-manager-breadcrumb.md +29 -27
  551. package/src/components/ui/file-manager/.file-manager-context-menu.md +38 -42
  552. package/src/components/ui/file-manager/.file-manager-empty.md +26 -39
  553. package/src/components/ui/file-manager/.file-manager-table-row.md +33 -41
  554. package/src/components/ui/file-manager/.file-manager.md +35 -31
  555. package/src/components/ui/query-report-table/.index.md +43 -0
  556. package/src/components/ui/query-report-table/.query-report-table-header.md +36 -0
  557. package/src/components/ui/query-report-table/.query-report-table-row.md +40 -0
  558. package/src/components/ui/query-report-table/.query-report-table-skeleton.md +44 -0
  559. package/src/components/ui/query-report-table/.query-report-table.md +47 -0
  560. package/src/components/ui/query-report-table/.types.md +41 -0
  561. package/src/components/ui/query-report-table/.utils.md +35 -0
  562. package/src/components/ui/table/.index.md +27 -48
  563. package/src/components/ui/table/.table-cell.md +18 -27
  564. package/src/components/ui/table/.table-column-filter-dropdown.md +40 -0
  565. package/src/components/ui/table/.table-description-cell.md +24 -14
  566. package/src/components/ui/table/.table-empty-state.md +21 -22
  567. package/src/components/ui/table/.table-header.md +25 -40
  568. package/src/components/ui/table/.table-row.md +22 -40
  569. package/src/components/ui/table/.table-skeleton.md +33 -26
  570. package/src/components/ui/table/.table-timestamp-cell.md +26 -16
  571. package/src/components/ui/table/.table.md +39 -59
  572. package/src/components/ui/table/.types.md +44 -36
  573. package/src/components/ui/table/.utils.md +18 -20
  574. package/src/contexts/.chat-runtime-context.md +54 -0
  575. package/src/contexts/.endpoints-runtime-context.md +58 -0
  576. package/src/contexts/.index.md +53 -0
  577. package/src/contexts/.use-outer-or-default.md +36 -0
  578. package/src/embed-shims/.index.md +45 -0
  579. package/src/embed-shims/.next-dynamic.md +43 -0
  580. package/src/embed-shims/.next-image.md +45 -0
  581. package/src/embed-shims/.next-link.md +59 -0
  582. package/src/embed-shims/.next-navigation.md +59 -0
  583. package/src/hooks/.index.md +34 -29
  584. package/src/hooks/.use-access-code-integration.md +49 -0
  585. package/src/hooks/.use-contact-submission.md +37 -26
  586. package/src/hooks/.use-copy-to-clipboard.md +42 -0
  587. package/src/hooks/.use-near-viewport.md +44 -0
  588. package/src/hooks/.use-og-placeholder.md +51 -0
  589. package/src/hooks/.use-toast.md +36 -35
  590. package/src/hooks/state/.use-api-params.md +29 -46
  591. package/src/hooks/state/.use-query-params.md +37 -33
  592. package/src/hooks/ui/.index.md +33 -32
  593. package/src/hooks/ui/.use-auto-limit-tags.md +54 -0
  594. package/src/hooks/ui/.use-horizontal-scrollbar.md +74 -0
  595. package/src/hooks/ui/.use-image-edge-color.md +42 -0
  596. package/src/hooks/ui/.use-media-query.md +33 -25
  597. package/src/hooks/ui/.use-search.md +51 -0
  598. package/src/nats/.nats.md +49 -28
  599. package/src/schemas/.contact-schema.md +45 -0
  600. package/src/stories/.AnnouncementBar.stories.md +45 -0
  601. package/src/stories/.AppLayout.stories.md +20 -21
  602. package/src/stories/.Autocomplete.stories.md +48 -34
  603. package/src/stories/.Board.stories.md +35 -0
  604. package/src/stories/.Button.stories.md +36 -33
  605. package/src/stories/.ChatTicketList.stories.md +33 -0
  606. package/src/stories/.CheckboxBlock.stories.md +40 -28
  607. package/src/stories/.ContentLoader.stories.md +47 -0
  608. package/src/stories/.DashboardInfoCard.stories.md +57 -0
  609. package/src/stories/.DataTable.stories.md +41 -0
  610. package/src/stories/.DatePicker.stories.md +66 -52
  611. package/src/stories/.DeviceCard.stories.md +41 -40
  612. package/src/stories/.DeviceCardCompact.stories.md +41 -0
  613. package/src/stories/.DotsLoaderIcon.stories.md +36 -0
  614. package/src/stories/.Drawer.stories.md +58 -0
  615. package/src/stories/.EmbeddableChat.stories.md +41 -0
  616. package/src/stories/.FileManager.stories.md +41 -0
  617. package/src/stories/.FileManagerActionBar.stories.md +38 -0
  618. package/src/stories/.FileUpload.stories.md +53 -0
  619. package/src/stories/.FilterList.stories.md +54 -0
  620. package/src/stories/.FilterModal.stories.md +72 -0
  621. package/src/stories/.FiltersDropdown.stories.md +57 -0
  622. package/src/stories/.Header.stories.md +48 -0
  623. package/src/stories/.ImageUploader.stories.md +49 -0
  624. package/src/stories/.InfoCard.stories.md +54 -0
  625. package/src/stories/.Input.stories.md +48 -30
  626. package/src/stories/.ListPageLayout.stories.md +56 -43
  627. package/src/stories/.MingoOnboardingCard.stories.md +42 -0
  628. package/src/stories/.MingoOnboardingCardSkeleton.stories.md +35 -0
  629. package/src/stories/.Modal.stories.md +40 -31
  630. package/src/stories/.NotificationDrawer.stories.md +55 -0
  631. package/src/stories/.OnboardingStepCard.stories.md +41 -0
  632. package/src/stories/.OrganizationCard.stories.md +61 -0
  633. package/src/stories/.PageActions.stories.md +52 -49
  634. package/src/stories/.PageContainer.stories.md +41 -35
  635. package/src/stories/.PageLayout.stories.md +60 -0
  636. package/src/stories/.ParallaxImageShowcase.stories.md +49 -0
  637. package/src/stories/.PhoneInput.stories.md +53 -0
  638. package/src/stories/.QueryReportTable.stories.md +44 -0
  639. package/src/stories/.RadioGroup.stories.md +46 -0
  640. package/src/stories/.RadioGroupBlock.stories.md +45 -0
  641. package/src/stories/.Select.stories.md +29 -15
  642. package/src/stories/.SlashCommandSuggestions.stories.md +41 -0
  643. package/src/stories/.SplitButton.stories.md +62 -0
  644. package/src/stories/.TabNavigation.stories.md +47 -38
  645. package/src/stories/.TabSelector.stories.md +65 -0
  646. package/src/stories/.Table.stories.md +38 -46
  647. package/src/stories/.TableColumnFilterDropdown.stories.md +46 -0
  648. package/src/stories/.Tag.stories.md +43 -32
  649. package/src/stories/.TagKeyValueFilter.stories.md +44 -0
  650. package/src/stories/.TagSearchInput.stories.md +61 -0
  651. package/src/stories/.Textarea.stories.md +49 -26
  652. package/src/stories/.Theme.stories.md +41 -0
  653. package/src/stories/.TicketAttachmentsList.stories.md +39 -0
  654. package/src/stories/.TicketDescriptionViewer.stories.md +39 -0
  655. package/src/stories/.TicketInfoSection.stories.md +40 -0
  656. package/src/stories/.TicketKnowledgeBaseList.stories.md +36 -0
  657. package/src/stories/.TicketNotesSection.stories.md +50 -0
  658. package/src/stories/.Toaster.stories.md +40 -0
  659. package/src/stories/.ToolExecutionDisplay.stories.md +41 -0
  660. package/src/stories/.Tooltip.stories.md +41 -0
  661. package/src/stories/.UserSummary.stories.md +41 -0
  662. package/src/stories/.WaitlistForm.stories.md +42 -0
  663. package/src/stories/BlogCard.stories.tsx +61 -0
  664. package/src/stories/CampaignCardAdmin.stories.tsx +52 -0
  665. package/src/stories/CaseStudyCard.stories.tsx +42 -0
  666. package/src/stories/ChatContainer.stories.tsx +186 -0
  667. package/src/stories/ChatInlineVideoPill.stories.tsx +63 -0
  668. package/src/stories/CustomerInterviewCard.stories.tsx +42 -0
  669. package/src/stories/DataRoomDocCard.stories.tsx +52 -0
  670. package/src/stories/GenericEntityCard.stories.tsx +66 -0
  671. package/src/stories/GitHubActivityCard.stories.tsx +61 -0
  672. package/src/stories/HubspotTicketCard.stories.tsx +98 -0
  673. package/src/stories/InvestorUpdateCard.stories.tsx +42 -0
  674. package/src/stories/OnboardingGuideCard.stories.tsx +52 -0
  675. package/src/stories/ProductReleaseCard.stories.tsx +61 -0
  676. package/src/stories/ProgramCard.stories.tsx +79 -0
  677. package/src/stories/RoadmapCard.stories.tsx +75 -0
  678. package/src/stories/SlackMessageCard.stories.tsx +41 -0
  679. package/src/stories/__fixtures__/chat-cards.ts +604 -0
  680. package/src/types/.blog.md +53 -29
  681. package/src/types/.case-study.md +44 -27
  682. package/src/types/.customer-interview.md +66 -44
  683. package/src/types/.delivery.md +40 -0
  684. package/src/types/.employee.md +24 -30
  685. package/src/types/.index.md +33 -47
  686. package/src/types/.marketing.md +49 -44
  687. package/src/types/.navigation.md +33 -25
  688. package/src/types/.os.types.md +32 -27
  689. package/src/types/.platform.md +31 -28
  690. package/src/types/.product-release.md +65 -38
  691. package/src/types/.supabase.md +37 -29
  692. package/src/types/.team.md +41 -33
  693. package/src/types/.video-processing.md +54 -0
  694. package/src/types/.waitlist.md +40 -36
  695. package/src/utils/.access-code-client.md +37 -36
  696. package/src/utils/.cn.md +31 -23
  697. package/src/utils/.color-analysis.md +35 -0
  698. package/src/utils/.country-phone-utils.md +39 -0
  699. package/src/utils/.date-formatters.md +19 -18
  700. package/src/utils/.embed-authed-fetch.md +39 -0
  701. package/src/utils/.embed-proxy-auth-storage.md +38 -0
  702. package/src/utils/.fetch-priority.md +41 -0
  703. package/src/utils/.format.md +74 -25
  704. package/src/utils/.generic-domain-utils.md +42 -0
  705. package/src/utils/.image-proxy.md +59 -23
  706. package/src/utils/.index.md +42 -49
  707. package/src/utils/.local-storage-adapter.md +50 -0
  708. package/src/utils/.ods-color-utils.md +55 -38
  709. package/src/utils/.platform-config.md +45 -25
  710. package/src/utils/.scroll-into-view.md +40 -0
  711. package/src/utils/.source-icons.md +53 -0
  712. package/src/utils/.sse-decision-frame.md +46 -0
  713. package/src/utils/dev-sections/.index.md +34 -0
  714. package/src/utils/dev-sections/.openframe-dev-sections.md +49 -0
  715. package/dist/chunk-ZDF6F7ED.cjs.map +0 -1
  716. package/dist/chunk-ZTJVRSN5.js.map +0 -1
  717. package/src/components/.card.md +0 -42
  718. package/src/components/.contact-button.md +0 -30
  719. package/src/components/.drawer.md +0 -46
  720. package/src/components/.fixed-layout-container.md +0 -47
  721. package/src/components/.footer-waitlist-card.md +0 -29
  722. package/src/components/.join-waitlist-cta.md +0 -29
  723. package/src/components/.sheet.md +0 -47
  724. package/src/components/.sliding-panel.md +0 -48
  725. package/src/components/.tooltip.md +0 -48
  726. package/src/components/.use-mobile.md +0 -42
  727. package/src/components/.vendor-compact-card.md +0 -66
  728. package/src/components/.x-button.md +0 -42
  729. package/src/components/features/.github-repo-button.md +0 -40
  730. package/src/components/features/.organization-icon.md +0 -47
  731. package/src/components/features/.organization-selector.md +0 -45
  732. package/src/components/icons/.fleet-icon.md +0 -39
  733. package/src/components/icons/.meshcentral-icon.md +0 -35
  734. package/src/components/icons/.refresh-icon.md +0 -34
  735. package/src/components/icons/.tactical-icon.md +0 -35
  736. package/src/components/ui/.button.md +0 -69
  737. package/src/components/ui/.log-table-row.md +0 -47
  738. package/src/components/ui/.selectable-device-card.md +0 -46
  739. package/src/hooks/.api-hooks-stub.md +0 -45
  740. package/src/hooks/api/.use-product-releases.md +0 -53
  741. package/src/stories/.OrganizationSelector.stories.md +0 -42
  742. package/src/stories/.SelectableDeviceCard.stories.md +0 -30
  743. package/src/utils/.lite-youtube-embed-stub.md +0 -37
  744. package/src/utils/.lite-youtube-embed.md +0 -33
  745. /package/dist/{chunk-IK2X5YJU.js.map → chunk-7PCP7YQR.js.map} +0 -0
  746. /package/dist/{chunk-3JWIJJ44.js.map → chunk-R6MLPU4A.js.map} +0 -0
@@ -1,60 +1,61 @@
1
- <!-- source-hash: 5b97dde4a783cfa59eae13fa66e6315f -->
2
- A React pagination component that provides smart page number display with ellipsis handling and accessibility features. The component automatically manages visible page numbers based on total pages and current position.
1
+ <!-- source-hash: c4bd5081b24a42378ae712967abb83c2 -->
2
+ Accessible pagination component with smart page number windowing, ellipsis truncation, and both a high-level `Pagination` component and low-level composable primitives.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Pagination** - Main pagination component with intelligent page number generation
7
- - **PaginationContent** - Container component for pagination items
8
- - **PaginationItem** - Individual list item wrapper for pagination elements
9
- - **PaginationLink** - Clickable button component for page numbers
10
- - **PaginationEllipsis** - Visual indicator for hidden pages (...)
11
- - **PaginationPrevious** - Previous page navigation button
12
- - **PaginationNext** - Next page navigation button
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `Pagination` | Component | All-in-one pagination with built-in windowing logic |
9
+ | `PaginationContent` | Primitive | `<ul>` wrapper for custom pagination layouts |
10
+ | `PaginationItem` | Primitive | `<li>` wrapper for individual page entries |
11
+ | `PaginationLink` | Primitive | Styled `<button>` for page number links |
12
+ | `PaginationEllipsis` | Primitive | `MoreHorizontal` icon span for truncated ranges |
13
+ | `PaginationPrevious` | Primitive | Previous page `<button>` with chevron icon |
14
+ | `PaginationNext` | Primitive | Next page `<button>` with chevron icon |
15
+
16
+ ### `PaginationProps`
17
+
18
+ | Prop | Type | Description |
19
+ |------|------|-------------|
20
+ | `currentPage` | `number` | Active page (1-based) |
21
+ | `totalPages` | `number` | Total number of pages |
22
+ | `onPageChange` | `(page: number) => void` | Callback fired on page selection |
23
+ | `className` | `string?` | Optional extra classes on the `<nav>` |
24
+
25
+ **Windowing logic:** shows up to 5 page buttons — always including first and last — with ellipsis (`-1`/`-2` sentinels) filling gaps in between.
13
26
 
14
27
  ## Usage Example
15
28
 
16
29
  ```typescript
17
- import { Pagination } from "./pagination"
18
-
19
- export function DataTable() {
20
- const [currentPage, setCurrentPage] = useState(1)
21
- const totalPages = Math.ceil(totalItems / itemsPerPage)
22
-
23
- return (
24
- <div>
25
- {/* Table content */}
26
-
27
- <Pagination
28
- currentPage={currentPage}
29
- totalPages={totalPages}
30
- onPageChange={(page) => setCurrentPage(page)}
31
- className="mt-4"
32
- />
33
- </div>
34
- )
35
- }
36
-
37
- // Using individual components for custom layouts
38
- export function CustomPagination() {
39
- return (
40
- <nav>
41
- <PaginationContent>
42
- <PaginationItem>
43
- <PaginationPrevious onClick={() => goToPrevious()} />
44
- </PaginationItem>
45
- <PaginationItem>
46
- <PaginationLink onClick={() => goToPage(1)}>1</PaginationLink>
47
- </PaginationItem>
48
- <PaginationItem>
49
- <PaginationEllipsis />
50
- </PaginationItem>
51
- <PaginationItem>
52
- <PaginationNext onClick={() => goToNext()} />
53
- </PaginationItem>
54
- </PaginationContent>
55
- </nav>
56
- )
57
- }
30
+ // High-level component
31
+ import { Pagination } from "@/components/pagination"
32
+
33
+ <Pagination
34
+ currentPage={3}
35
+ totalPages={20}
36
+ onPageChange={(page) => setCurrentPage(page)}
37
+ />
38
+ ```
39
+
40
+ ```typescript
41
+ // Composable primitives for custom layouts
42
+ import {
43
+ PaginationContent,
44
+ PaginationItem,
45
+ PaginationLink,
46
+ PaginationPrevious,
47
+ PaginationNext,
48
+ PaginationEllipsis,
49
+ } from "@/components/pagination"
50
+
51
+ <nav>
52
+ <PaginationContent>
53
+ <PaginationItem><PaginationPrevious onClick={() => setPage(p => p - 1)} /></PaginationItem>
54
+ <PaginationItem><PaginationLink onClick={() => setPage(1)}>1</PaginationLink></PaginationItem>
55
+ <PaginationItem><PaginationEllipsis /></PaginationItem>
56
+ <PaginationItem><PaginationNext onClick={() => setPage(p => p + 1)} /></PaginationItem>
57
+ </PaginationContent>
58
+ </nav>
58
59
  ```
59
60
 
60
- The component includes ARIA labels for screen readers, smart ellipsis placement, and responsive button sizing. It shows up to 5 pages with ellipsis when dealing with large page counts.
61
+ > All interactive elements include `aria-label` and `aria-current="page"` attributes, and screen-reader-only text via `sr-only` spans for full accessibility compliance.
@@ -1,42 +1,40 @@
1
- <!-- source-hash: 8ea01942c03230213fd637a121e47ff3 -->
2
- A reusable React component that creates standardized authentication provider buttons with built-in styling and provider-specific labeling.
1
+ <!-- source-hash: 0ff05b6970e5b50646e6f4906b4e794e -->
2
+ A reusable OAuth/SSO button component that renders a styled sign-in button for supported identity providers.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **ProviderButton**: Forwardable React component that extends Button with provider-specific functionality
7
- - **ProviderButtonProps**: Interface extending button HTML attributes with provider selection and styling options
8
- - **providerNames**: Internal mapping of provider keys to display names
6
+ - **`ProviderButtonProps`** Extends native `HTMLButtonElement` attributes with:
7
+ - `provider` Required. One of `'google' | 'microsoft' | 'slack' | 'github'`
8
+ - `variant` `'accent' | 'outline'` (default: `'outline'`)
9
+ - `size` — `'default' | 'small-legacy'` (default: `'default'`)
10
+ - `loading` — Optional boolean for loading state
11
+
12
+ - **`ProviderButton`** — `forwardRef` component wrapping the base `Button` UI primitive. Renders a full-width button with a default label of `"Sign in with {ProviderName}"` if no `children` are provided.
9
13
 
10
14
  ## Usage Example
11
15
 
12
16
  ```typescript
13
- import { ProviderButton } from "./provider-button"
17
+ import { ProviderButton } from "@/components/provider-button"
14
18
 
15
- // Basic provider button with default styling
19
+ // Default usage label auto-generated
16
20
  <ProviderButton provider="google" />
17
21
 
18
- // Custom variant and size
19
- <ProviderButton
20
- provider="github"
21
- variant="primary"
22
- size="lg"
23
- />
24
-
25
- // With custom content and styling
26
- <ProviderButton
22
+ // With accent variant and custom label
23
+ <ProviderButton
27
24
  provider="microsoft"
28
- className="mb-4"
29
- onClick={handleMicrosoftAuth}
25
+ variant="accent"
26
+ onClick={handleMicrosoftLogin}
30
27
  >
31
28
  Continue with Microsoft
32
29
  </ProviderButton>
33
30
 
34
- // Loading state
35
- <ProviderButton
36
- provider="slack"
37
- loading={true}
31
+ // Compact size with loading state
32
+ <ProviderButton
33
+ provider="github"
34
+ size="small-legacy"
35
+ loading={isAuthenticating}
38
36
  disabled={isAuthenticating}
39
37
  />
40
38
  ```
41
39
 
42
- The component automatically generates appropriate labels (e.g., "Sign in with Google") when no children are provided, supports all standard button attributes, and maintains consistent styling across different authentication providers.
40
+ > **Note:** The `loading` prop is accepted via `ProviderButtonProps` and forwarded to the underlying `Button` primitive. Ensure the base `Button` component handles the `loading` state for visual feedback.
@@ -1,17 +1,20 @@
1
- <!-- source-hash: eb641bd94ff499508fe8fb4c2fbad14a -->
2
- A React component library providing styled select dropdown components built on top of Radix UI primitives with Tailwind CSS styling and accessibility features.
1
+ <!-- source-hash: edcc0618a769c715daef264fcd0292ee -->
2
+ Accessible, styled select/dropdown component built on Radix UI primitives with Flamingo ODS design tokens and smooth open/close animations.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Select** - Root select component wrapper (re-export of `SelectPrimitive.Root`)
7
- - **SelectTrigger** - Clickable trigger button with chevron icon and focus states
8
- - **SelectContent** - Dropdown content container with portal rendering and animations
9
- - **SelectItem** - Individual selectable options with check indicator
10
- - **SelectValue** - Displays the selected value (re-export of `SelectPrimitive.Value`)
11
- - **SelectLabel** - Section labels within the dropdown
12
- - **SelectGroup** - Groups related select items (re-export of `SelectPrimitive.Group`)
13
- - **SelectSeparator** - Visual divider between select items
14
- - **SelectScrollUpButton/SelectScrollDownButton** - Scroll controls for long lists
6
+ | Export | Description |
7
+ |--------|-------------|
8
+ | `Select` | Root component managing open/value state |
9
+ | `SelectTrigger` | Styled button that opens the dropdown, includes `ChevronDown` icon |
10
+ | `SelectContent` | Animated portal-rendered dropdown container with scroll support |
11
+ | `SelectItem` | Individual option with a `Check` indicator when selected |
12
+ | `SelectGroup` | Groups related items together |
13
+ | `SelectLabel` | Section label within a group |
14
+ | `SelectValue` | Displays the currently selected value in the trigger |
15
+ | `SelectSeparator` | Horizontal divider between items or groups |
16
+ | `SelectScrollUpButton` | Scroll control shown when content overflows upward |
17
+ | `SelectScrollDownButton` | Scroll control shown when content overflows downward |
15
18
 
16
19
  ## Usage Example
17
20
 
@@ -19,25 +22,33 @@ A React component library providing styled select dropdown components built on t
19
22
  import {
20
23
  Select,
21
24
  SelectContent,
25
+ SelectGroup,
22
26
  SelectItem,
27
+ SelectLabel,
28
+ SelectSeparator,
23
29
  SelectTrigger,
24
30
  SelectValue,
25
- } from "./select"
31
+ } from "@/components/ui/select"
26
32
 
27
- function MySelect() {
33
+ export function PrioritySelect() {
28
34
  return (
29
- <Select>
30
- <SelectTrigger className="w-[180px]">
31
- <SelectValue placeholder="Select a fruit" />
35
+ <Select onValueChange={(value) => console.log(value)}>
36
+ <SelectTrigger className="w-[200px]">
37
+ <SelectValue placeholder="Select priority..." />
32
38
  </SelectTrigger>
33
39
  <SelectContent>
34
- <SelectItem value="apple">Apple</SelectItem>
35
- <SelectItem value="banana">Banana</SelectItem>
36
- <SelectItem value="orange">Orange</SelectItem>
40
+ <SelectGroup>
41
+ <SelectLabel>Ticket Priority</SelectLabel>
42
+ <SelectItem value="critical">Critical</SelectItem>
43
+ <SelectItem value="high">High</SelectItem>
44
+ <SelectSeparator />
45
+ <SelectItem value="medium">Medium</SelectItem>
46
+ <SelectItem value="low">Low</SelectItem>
47
+ </SelectGroup>
37
48
  </SelectContent>
38
49
  </Select>
39
50
  )
40
51
  }
41
52
  ```
42
53
 
43
- The components include comprehensive styling for hover, focus, and disabled states, with smooth animations and proper ARIA accessibility support through Radix UI primitives.
54
+ > All sub-components forward refs and accept native Radix UI props, allowing full customization via `className` alongside ODS defaults.
@@ -1,48 +1,58 @@
1
- <!-- source-hash: 8d8cb17e5763b4a44bbe6fa59037fe9a -->
2
- This React component provides a comprehensive sidebar navigation system with responsive behavior, keyboard shortcuts, and flexible theming options.
1
+ <!-- source-hash: b66af7d5956b3733b491a303d043d297 -->
2
+ A comprehensive sidebar UI component system providing collapsible, responsive navigation panels with mobile drawer support, keyboard shortcuts, and multiple layout variants.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **SidebarProvider** - Context provider managing sidebar state, mobile responsiveness, and keyboard shortcuts (Cmd/Ctrl+B)
7
- - **Sidebar** - Main sidebar container with variants (`sidebar`, `floating`, `inset`) and collapsible modes (`offcanvas`, `icon`, `none`)
8
- - **SidebarTrigger** - Button component to toggle sidebar visibility
9
- - **SidebarRail** - Invisible resize handle for desktop sidebar interaction
10
- - **SidebarInset** - Main content area that adapts to sidebar state
11
- - **SidebarHeader/Footer** - Standard layout containers for sidebar top/bottom sections
12
- - **SidebarInput** - Styled input component for sidebar search/filters
13
- - **SidebarSeparator** - Visual divider component
14
- - **useSidebar** - Hook for accessing sidebar context and state
6
+ | Component | Description |
7
+ |-----------|-------------|
8
+ | `SidebarProvider` | Context provider managing open/collapsed state, mobile detection, and cookie persistence |
9
+ | `useSidebar` | Hook to access sidebar context (state, toggle, mobile status) |
10
+ | `Sidebar` | Core sidebar container supporting `left`/`right` sides, `sidebar`/`floating`/`inset` variants, and `offcanvas`/`icon`/`none` collapsible modes |
11
+ | `SidebarTrigger` | Button component that toggles the sidebar (with `PanelLeft` icon) |
12
+ | `SidebarRail` | Thin interactive strip for resize/toggle on desktop |
13
+ | `SidebarInset` | Main content area companion that adjusts layout based on sidebar state |
14
+ | `SidebarInput` | Styled input field scoped to sidebar context |
15
+ | `SidebarHeader` | Top section container for branding/navigation |
16
+ | `SidebarFooter` | Bottom section container for user/settings actions |
17
+ | `SidebarSeparator` | Styled divider using sidebar border token |
18
+ | `SidebarContent` | Scrollable middle section for navigation items |
15
19
 
16
20
  ## Usage Example
17
21
 
18
22
  ```typescript
19
- import {
20
- SidebarProvider,
21
- Sidebar,
22
- SidebarContent,
23
- SidebarTrigger,
23
+ import {
24
+ SidebarProvider,
25
+ Sidebar,
24
26
  SidebarHeader,
25
- SidebarInset
26
- } from './sidebar'
27
+ SidebarContent,
28
+ SidebarFooter,
29
+ SidebarTrigger,
30
+ SidebarInset,
31
+ useSidebar,
32
+ } from "./sidebar"
27
33
 
28
- function AppLayout() {
34
+ export function AppLayout() {
29
35
  return (
30
36
  <SidebarProvider defaultOpen={true}>
31
- <Sidebar variant="floating" side="left">
37
+ <Sidebar side="left" variant="sidebar" collapsible="icon">
32
38
  <SidebarHeader>
33
- <SidebarTrigger />
34
- <h2>Navigation</h2>
39
+ <span>My App</span>
35
40
  </SidebarHeader>
36
41
  <SidebarContent>
37
42
  {/* Navigation items */}
38
43
  </SidebarContent>
44
+ <SidebarFooter>
45
+ {/* User profile */}
46
+ </SidebarFooter>
39
47
  </Sidebar>
48
+
40
49
  <SidebarInset>
41
- {/* Main content */}
50
+ <SidebarTrigger />
51
+ {/* Page content */}
42
52
  </SidebarInset>
43
53
  </SidebarProvider>
44
54
  )
45
55
  }
46
56
  ```
47
57
 
48
- The component automatically handles mobile sheet overlays, desktop positioning, state persistence via cookies, and smooth animations between expanded/collapsed states.
58
+ > **Keyboard shortcut:** `Ctrl+B` / `Cmd+B` toggles the sidebar globally. State is persisted via a 7-day cookie (`sidebar:state`). On mobile, the sidebar renders as a `Sheet` drawer automatically.
@@ -1,43 +1,41 @@
1
- <!-- source-hash: cd5b035679eaea29bc8651dbc5880a4f -->
2
- A smooth-animating accordion component built on top of Radix UI primitives that provides ultra-smooth height transitions using ResizeObserver for dynamic content measurement.
1
+ <!-- source-hash: 8e2d34f99735f6301a4abd6dd93c8c3e -->
2
+ A custom accordion component built on Radix UI primitives that provides ultra-smooth open/close animations using dynamic height measurement via `ResizeObserver`, replacing CSS variable-based transitions with pixel-precise `max-height` animation.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`SmoothAccordion`** - Root wrapper component (re-exports Radix AccordionPrimitive.Root)
7
- - **`SmoothAccordionItem`** - Individual accordion item container with borderless styling
8
- - **`SmoothAccordionTrigger`** - Clickable header with label and animated chevron icon
9
- - **`SmoothAccordionContent`** - Content container with smooth height animations using ResizeObserver
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `SmoothAccordion` | Component | Re-export of `AccordionPrimitive.Root` the accordion container |
9
+ | `SmoothAccordionItem` | `forwardRef` Component | Accordion item wrapper with border removed (`border-0`) |
10
+ | `SmoothAccordionTrigger` | `forwardRef` Component | Clickable header with label text and an animated `ChevronButton` |
11
+ | `SmoothAccordionContent` | `forwardRef` Component | Animated content panel using `ResizeObserver` for height tracking |
10
12
 
11
13
  ## Usage Example
12
14
 
13
15
  ```typescript
14
- import {
15
- SmoothAccordion,
16
- SmoothAccordionItem,
17
- SmoothAccordionTrigger,
18
- SmoothAccordionContent
16
+ import {
17
+ SmoothAccordion,
18
+ SmoothAccordionItem,
19
+ SmoothAccordionTrigger,
20
+ SmoothAccordionContent,
19
21
  } from './smooth-accordion';
20
22
 
21
- function FAQ() {
23
+ export function FAQ() {
22
24
  return (
23
25
  <SmoothAccordion type="single" collapsible>
24
26
  <SmoothAccordionItem value="item-1">
25
- <SmoothAccordionTrigger label="What is this component?" />
27
+ <SmoothAccordionTrigger label="What is Flamingo?" />
26
28
  <SmoothAccordionContent>
27
- <div className="px-6 md:px-8">
28
- This is a smooth accordion that automatically adjusts its height
29
- based on content changes using ResizeObserver.
30
- </div>
29
+ Flamingo is an AI-powered MSP platform that replaces expensive
30
+ proprietary software with open-source alternatives.
31
31
  </SmoothAccordionContent>
32
32
  </SmoothAccordionItem>
33
-
33
+
34
34
  <SmoothAccordionItem value="item-2">
35
- <SmoothAccordionTrigger label="How does the animation work?" />
35
+ <SmoothAccordionTrigger label="What is OpenFrame?" />
36
36
  <SmoothAccordionContent>
37
- <div className="px-6 md:px-8">
38
- Uses CSS transitions on max-height with dynamic measurement
39
- for ultra-smooth expand/collapse animations.
40
- </div>
37
+ OpenFrame is the unified platform integrating multiple MSP tools
38
+ into a single AI-driven interface.
41
39
  </SmoothAccordionContent>
42
40
  </SmoothAccordionItem>
43
41
  </SmoothAccordion>
@@ -45,4 +43,11 @@ function FAQ() {
45
43
  }
46
44
  ```
47
45
 
48
- The component features 0.35s ease-in-out transitions, automatic content height detection, and a rotating chevron indicator that responds to the accordion's open/closed state.
46
+ ## Animation Details
47
+
48
+ `SmoothAccordionContent` avoids Radix's default CSS variable approach by:
49
+
50
+ 1. **Measuring** actual content height via `scrollHeight` on mount and child changes
51
+ 2. **Observing** dynamic content resize with a `ResizeObserver`
52
+ 3. **Animating** `max-height` and `opacity` over `0.35s ease-in-out`
53
+ 4. **Resetting** `maxHeight` to `0` after the close transition ends to prevent residual spacing
@@ -1,39 +1,43 @@
1
- <!-- source-hash: f7eff68f1ef3a2cc1a34d4c978b218c5 -->
2
- A React component that renders a responsive row of social media icons as clickable buttons, supporting multiple platforms with customizable styling and default Flamingo company links.
1
+ <!-- source-hash: 5ee2a1885dc45a65b8396aea3f9f9f10 -->
2
+ A client-side React component that renders a horizontal row of social media icon buttons with configurable links and styling variants.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`SocialIconRow`** - Main component that renders social media icons in a horizontal row
7
- - **`SocialLink`** - Interface defining the structure for social media links (platform, href, label)
8
- - **`renderSocialIcon`** - Helper function that maps platform names to their corresponding icon components
9
- - **`defaultLinks`** - Pre-configured array of Flamingo's official social media profiles
6
+ ### Interfaces
7
+ - **`SocialLink`** Defines a social link entry with `platform` (string key), `href` (URL), and optional `label` (for accessibility)
8
+ - **`SocialIconRowProps`** Component props accepting `className`, `links` array, and a `variant` for button styling
9
+
10
+ ### Functions
11
+ - **`renderSocialIcon(platform)`** — Maps a platform string to its corresponding icon component. Supports: `github`, `twitter`/`x`, `reddit`, `linkedin`, `luma`, `whatsapp`, `website`/`web`/`url`, `slack`, `discord`, `telegram`, `youtube`/`yt`, `instagram`/`ig`, `facebook`/`fb`. Falls back to `GlobeIcon` for unknown platforms.
12
+ - **`SocialIconRow`** — Main exported component rendering a flex row of icon buttons, each wrapped in an accessible anchor tag.
13
+
14
+ ### Defaults
15
+ - `defaultLinks` — Pre-configured links for GitHub, LinkedIn, and Facebook (Flamingo's primary social channels)
16
+ - `variant` defaults to `'outline'`
10
17
 
11
18
  ## Usage Example
12
19
 
13
20
  ```typescript
14
- import { SocialIconRow } from './social-icon-row';
15
-
16
- // Using default Flamingo social links
17
- function Footer() {
18
- return <SocialIconRow variant="ghost" className="max-w-sm mx-auto" />;
19
- }
20
-
21
- // Using custom social links
22
- function CustomSocials() {
23
- const customLinks = [
24
- { platform: 'github', href: 'https://github.com/myorg', label: 'GitHub' },
25
- { platform: 'twitter', href: 'https://x.com/myhandle', label: 'Twitter' },
26
- { platform: 'discord', href: 'https://discord.gg/myserver', label: 'Discord' }
27
- ];
28
-
29
- return (
30
- <SocialIconRow
31
- links={customLinks}
32
- variant="flamingo-primary"
33
- className="justify-center"
34
- />
35
- );
36
- }
37
- ```
38
-
39
- The component automatically handles platform name normalization (e.g., 'twitter' and 'x' both render the X logo) and includes proper accessibility attributes. Each icon opens in a new tab with security attributes for external links.
21
+ // Default Flamingo social links
22
+ <SocialIconRow />
23
+
24
+ // Custom links with accent variant
25
+ <SocialIconRow
26
+ variant="accent"
27
+ links={[
28
+ { platform: 'github', href: 'https://github.com/your-org', label: 'GitHub' },
29
+ { platform: 'slack', href: 'https://join.slack.com/...', label: 'Slack' },
30
+ { platform: 'youtube', href: 'https://youtube.com/@flamingo', label: 'YouTube' },
31
+ ]}
32
+ className="mt-4"
33
+ />
34
+
35
+ // Transparent variant for dark backgrounds
36
+ <SocialIconRow
37
+ variant="transparent"
38
+ links={[
39
+ { platform: 'linkedin', href: 'https://linkedin.com/company/flamingo.run' },
40
+ { platform: 'twitter', href: 'https://x.com/flamingo' },
41
+ ]}
42
+ />
43
+ ```
@@ -1,42 +1,36 @@
1
- <!-- source-hash: 87344b88888806cff87d46aba08c61b6 -->
2
- A reusable textarea component built with React forwardRef that provides consistent styling, accessibility features, and mobile-optimized input handling with zoom prevention.
1
+ <!-- source-hash: 8c7049b50a6628e646e651c6135a8b60 -->
2
+ A styled textarea component built with `React.forwardRef`, applying ODS (OpenFrame Design System) tokens for consistent theming and accessibility.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **TextareaProps** - TypeScript interface extending React's native textarea HTML attributes
7
- - **Textarea** - Forward-ref component that wraps HTML textarea with enhanced styling and mobile optimizations
8
- - **cn utility** - Class name utility for conditional styling (imported from utils)
6
+ - **`Textarea`** — A forwarded-ref wrapper around the native `<textarea>` element with ODS design tokens applied via `cn` utility
7
+ - **`TextareaProps`** Extends all standard `React.TextareaHTMLAttributes<HTMLTextAreaElement>` for full native prop support
9
8
 
10
9
  ## Usage Example
11
10
 
12
11
  ```typescript
13
- import { Textarea } from "./components/ui/textarea"
12
+ import { Textarea } from "./textarea"
14
13
 
15
14
  // Basic usage
16
- function ContactForm() {
17
- return (
18
- <form>
19
- <Textarea
20
- placeholder="Enter your message..."
21
- rows={4}
22
- />
23
- </form>
24
- )
25
- }
26
-
27
- // With custom styling and ref
28
- function AdvancedForm() {
29
- const textareaRef = React.useRef<HTMLTextAreaElement>(null)
30
-
31
- return (
32
- <Textarea
33
- ref={textareaRef}
34
- className="min-h-[120px]"
35
- placeholder="Custom textarea"
36
- onChange={(e) => console.log(e.target.value)}
37
- />
38
- )
39
- }
15
+ <Textarea placeholder="Enter description..." />
16
+
17
+ // With custom class and controlled value
18
+ <Textarea
19
+ className="resize-none"
20
+ value={notes}
21
+ onChange={(e) => setNotes(e.target.value)}
22
+ rows={5}
23
+ disabled={isSubmitting}
24
+ />
40
25
  ```
41
26
 
42
- The component includes mobile-specific optimizations like 16px minimum font size to prevent iOS zoom and touch-manipulation for better mobile interaction. It supports all standard textarea props while providing consistent visual styling with focus states, disabled states, and proper accessibility features.
27
+ ## Styling Highlights
28
+
29
+ | Feature | Detail |
30
+ |---|---|
31
+ | Min height | `80px` |
32
+ | Border | `ods-border` token |
33
+ | Background | `ods-card` token |
34
+ | Focus ring | `ods-accent` color, 2px offset |
35
+ | Disabled state | `cursor-not-allowed` + `ods-bg` background |
36
+ | Mobile | `touch-manipulation` prevents double-tap zoom |
@@ -1,39 +1,37 @@
1
- <!-- source-hash: e98192330ea7cca1e86f51e70aae8fd1 -->
2
- A React component that renders appropriate brand logo icons for different MSP tools and services supported by the OpenFrame platform.
1
+ <!-- source-hash: 2db0b6673e5d8f02f2a3713fb6528d5d -->
2
+ Renders the appropriate logo icon for a given MSP tool type (Fleet MDM, MeshCentral, TacticalRMM, Authentik, Osquery, or OpenFrame variants).
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **ToolIcon**: Main component that displays tool-specific logos with consistent sizing and styling
7
- - **toolIconMap**: Configuration object mapping tool types to their respective icon components
8
- - **ToolIconConfig**: Type definition for icon render functions or null for unsupported tools
6
+ ### `toolIconMap`
7
+ Internal mapping from each `ToolType` value to its corresponding icon renderer function. OpenFrame variants (`OPENFRAME`, `OPENFRAME_CHAT`, `OPENFRAME_CLIENT`) all share `renderOpenFrameLogo`, while `SYSTEM` renders nothing (`null`).
9
8
 
10
- The component supports various MSP tools including Fleet MDM, MeshCentral, Tactical RMM, Authentik, Osquery, and OpenFrame variants. Each tool type maps to its corresponding brand logo icon with proper sizing and theming.
9
+ ### `ToolIconProps`
10
+ | Prop | Type | Default | Description |
11
+ |------|------|---------|-------------|
12
+ | `toolType` | `ToolType` | required | The tool whose icon should be rendered |
13
+ | `size` | `number` | `16` | Width/height passed to the icon component |
14
+ | `className` | `string` | — | Optional CSS class override |
15
+
16
+ ### `ToolIcon`
17
+ A functional React component that looks up the icon renderer from `toolIconMap` and invokes it with `size` and `className`. Returns `null` for unknown or `SYSTEM` tool types.
11
18
 
12
19
  ## Usage Example
13
20
 
14
21
  ```typescript
15
- import { ToolIcon } from './tool-icon'
16
- import { ToolTypeValues } from '../types/tool.types'
22
+ import { ToolIcon } from "./tool-icon";
23
+ import { ToolTypeValues } from "../types/tool.types";
17
24
 
18
- // Basic usage with default size
25
+ // Render a Fleet MDM icon at default size (16px)
19
26
  <ToolIcon toolType={ToolTypeValues.FLEET_MDM} />
20
27
 
21
- // Custom size and styling
22
- <ToolIcon
23
- toolType={ToolTypeValues.TACTICAL_RMM}
24
- size={24}
25
- className="mr-2"
26
- />
27
-
28
- // OpenFrame logo with themed colors
29
- <ToolIcon
30
- toolType={ToolTypeValues.OPENFRAME}
31
- size={20}
32
- className="text-accent-primary"
28
+ // Render a TacticalRMM icon at 24px with a custom class
29
+ <ToolIcon
30
+ toolType={ToolTypeValues.TACTICAL_RMM}
31
+ size={24}
32
+ className="h-6 w-6 text-accent"
33
33
  />
34
34
 
35
- // Handling unsupported tools (renders empty container)
36
- <ToolIcon toolType={ToolTypeValues.SYSTEM} size={16} />
37
- ```
38
-
39
- The component automatically handles fallback cases for unsupported tool types and maintains consistent accessibility attributes with aria-labels for screen readers.
35
+ // Renders nothing SYSTEM has no visual icon
36
+ <ToolIcon toolType={ToolTypeValues.SYSTEM} />
37
+ ```