@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
@@ -0,0 +1,54 @@
1
+ <!-- source-hash: 9effa67e5fd33a6782ade58cc9bf19ec -->
2
+ Customer-scoped ticket list hook that wraps `POST /api/chat/agent/find-ticket`, supporting free-text search, status filtering, and server-side pagination with a single round-trip returning both rows and total count.
3
+
4
+ ## Key Components
5
+
6
+ ### `useTicketsList(filters)`
7
+ Main exported hook. Accepts a `UseTicketsListFilters` object and returns `UseTicketsListReturn`.
8
+
9
+ ### `UseTicketsListFilters`
10
+ | Field | Type | Description |
11
+ |-------|------|-------------|
12
+ | `customerEmail` | `string` | Resolved identity from parent — **must** be drilled in, not re-fetched |
13
+ | `search` | `string?` | Free-text FTS query; empty = list all tickets |
14
+ | `status` | `string?` | `'open'` \| `'closed'` \| `'all'` — empty/`'all'` skips filter |
15
+ | `page` | `number?` | 1-based page number, defaults to `1` |
16
+ | `pageSize` | `number?` | Items per page, server-capped at `100`, defaults to `20` |
17
+
18
+ ### `UseTicketsListReturn`
19
+ | Field | Type | Description |
20
+ |-------|------|-------------|
21
+ | `tickets` | `TicketData[]` | Current page of tickets |
22
+ | `totalCount` | `number` | Total across all pages (drives pagination) |
23
+ | `totalPages` | `number` | Pre-computed, clamped to ≥1 |
24
+ | `page` / `pageSize` | `number` | Server-echoed values |
25
+ | `isLoading` | `boolean` | `true` when no data exists for the current query slot |
26
+ | `isFetching` | `boolean` | `true` during any background refetch |
27
+ | `lastUpdatedAt` | `number \| null` | Wall-clock timestamp of last successful fetch |
28
+
29
+ ## Cache Behavior
30
+
31
+ - **Key:** `['tickets', 'self', identity, search, status, page, pageSize]` — each filter+page combo occupies its own slot
32
+ - **Caching disabled** (`staleTime: 0`, `gcTime: 0`) — always fetches fresh data on mount, focus, and navigation
33
+ - **Invalidation:** `useTicketActions` calls `queryClient.invalidateQueries({ queryKey: ['tickets'] })` after mutations, refreshing all slots
34
+
35
+ ## Usage Example
36
+
37
+ ```typescript
38
+ const {
39
+ tickets,
40
+ isLoading,
41
+ totalCount,
42
+ totalPages,
43
+ page,
44
+ pageSize,
45
+ } = useTicketsList({
46
+ customerEmail: identity.user.email,
47
+ search: 'printer not working',
48
+ status: 'open',
49
+ page: 1,
50
+ pageSize: 20,
51
+ })
52
+ ```
53
+
54
+ > **Note:** Never call `useChatIdentity` inside this hook. Always drill `customerEmail` from the parent to avoid a null-identity race that causes an `EmptyState` flash before the first fetch fires.
@@ -1,62 +1,87 @@
1
- <!-- source-hash: 412b98113ff29f66e6b4391a1641cde6 -->
2
- A client-side React component that renders a customizable actions menu with support for nested submenus, checkboxes, separators, and external links.
1
+ <!-- source-hash: 342a87b9f572574fd4c65a58c52361ef -->
2
+ A flexible, accessible dropdown actions menu component built on Radix UI primitives, supporting grouped items, checkboxes, submenus, navigation links, and secondary icon actions.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`ActionsMenu`** - Main menu component that accepts grouped menu items
7
- - **`MenuItem`** - Individual menu item renderer with submenu support
8
- - **`ActionsMenuItem`** - Interface defining menu item properties (label, icon, type, callbacks)
9
- - **`ActionsMenuGroup`** - Interface for grouping menu items with optional separators
10
- - **Portal-based submenus** - Uses ReactDOM.createPortal for overflow-safe submenu positioning
6
+ ### Exported Components
7
+
8
+ | Component | Description |
9
+ |-----------|-------------|
10
+ | `ActionsMenu` | Standalone menu panel (no trigger) renders grouped items directly |
11
+ | `ActionsMenuDropdown` | Full dropdown with a configurable trigger button and Radix-powered popover |
12
+
13
+ ### Internal Components
14
+
15
+ | Component | Description |
16
+ |-----------|-------------|
17
+ | `MenuItem` | Renders a single item — handles `item`, `checkbox`, `submenu`, `separator`, and link variants |
18
+ | `SecondaryAction` | 40px secondary icon button/link on the right side of a row, independently clickable |
19
+ | `GroupSeparator` | Visual divider rendered between groups when `separator: true` |
20
+
21
+ ### Key Interfaces
22
+
23
+ | Interface | Purpose |
24
+ |-----------|---------|
25
+ | `ActionsMenuItem` | Single menu item with optional `href`, `submenu`, `iconAction`, `checked` |
26
+ | `ActionsMenuGroup` | Collection of items with optional separator |
27
+ | `ActionsMenuProps` | Props for `ActionsMenu` — `groups`, `className`, `onItemClick` |
28
+ | `ActionsMenuDropdownProps` | Extends `ActionsMenuProps` with trigger, alignment, and popover controls |
11
29
 
12
30
  ## Usage Example
13
31
 
14
32
  ```typescript
15
- import { ActionsMenu, ActionsMenuItem } from './actions-menu'
16
- import { Settings, Download, Share } from 'lucide-react'
33
+ import { ActionsMenuDropdown } from "./actions-menu";
17
34
 
18
- const menuGroups = [
35
+ const groups = [
19
36
  {
20
37
  items: [
21
38
  {
22
- id: 'download',
23
- label: 'Download',
24
- icon: <Download className="w-4 h-4" />,
25
- onClick: () => console.log('Download clicked')
39
+ id: "edit",
40
+ label: "Edit",
41
+ icon: <EditIcon />,
42
+ onClick: () => console.log("Edit clicked"),
26
43
  },
27
44
  {
28
- id: 'share',
29
- label: 'Share',
30
- icon: <Share className="w-4 h-4" />,
31
- type: 'submenu' as const,
32
- submenu: [
33
- {
34
- id: 'copy-link',
35
- label: 'Copy Link',
36
- onClick: () => navigator.clipboard.writeText(window.location.href)
37
- }
38
- ]
39
- }
45
+ id: "open",
46
+ label: "Open in new tab",
47
+ href: "/resource/123",
48
+ iconAction: {
49
+ icon: <ExternalLinkIcon />,
50
+ "aria-label": "Open in new tab",
51
+ href: "/resource/123",
52
+ openInNewTab: true,
53
+ },
54
+ },
40
55
  ],
41
- separator: true
56
+ separator: true,
42
57
  },
43
58
  {
44
59
  items: [
45
60
  {
46
- id: 'settings',
47
- label: 'Settings',
48
- icon: <Settings className="w-4 h-4" />,
49
- href: '/settings',
50
- showExternalLinkOnHover: true
51
- }
52
- ]
53
- }
54
- ]
55
-
56
- <ActionsMenu
57
- groups={menuGroups}
58
- onItemClick={(item) => console.log('Item clicked:', item)}
61
+ id: "notify",
62
+ label: "Notifications",
63
+ type: "checkbox",
64
+ checked: true,
65
+ onClick: () => toggleNotifications(),
66
+ },
67
+ { id: "sep", label: "", type: "separator" },
68
+ {
69
+ id: "delete",
70
+ label: "Delete",
71
+ disabled: true,
72
+ onClick: () => handleDelete(),
73
+ },
74
+ ],
75
+ },
76
+ ];
77
+
78
+ <ActionsMenuDropdown
79
+ groups={groups}
80
+ align="end"
81
+ side="bottom"
82
+ triggerAriaLabel="More actions"
83
+ onItemClick={(item) => console.log("Clicked:", item.id)}
59
84
  />
60
85
  ```
61
86
 
62
- The component features intelligent submenu positioning, click-outside handling, keyboard navigation support, and follows a dark theme design system with customizable styling through Tailwind CSS classes.
87
+ > **Note:** The dropdown auto-closes after selecting a regular item but stays open for `checkbox` and `submenu` types, allowing toggling and nested navigation.
@@ -1,50 +1,53 @@
1
- <!-- source-hash: 2fb4ad12bb79561506d1589576a1f441 -->
2
- A comprehensive Alert Dialog component built on top of Radix UI primitives, providing styled and accessible modal dialogs for confirmations, warnings, and important user interactions.
1
+ <!-- source-hash: 6146e5c92352e7744ffcf239f861beb3 -->
2
+ Accessible alert dialog component built on Radix UI's `AlertDialogPrimitive`, providing a modal confirmation pattern with animated overlay, centered content panel, and styled action/cancel buttons using Tailwind CSS.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **AlertDialog** - Root container component (Radix Root primitive)
7
- - **AlertDialogTrigger** - Button or element that opens the dialog
8
- - **AlertDialogContent** - Main dialog container with overlay and animations
9
- - **AlertDialogHeader/Footer** - Layout containers for dialog sections
10
- - **AlertDialogTitle** - Accessible dialog heading
11
- - **AlertDialogDescription** - Supporting text for the dialog
12
- - **AlertDialogAction** - Primary action button (styled with default button variant)
13
- - **AlertDialogCancel** - Cancel/dismiss button (styled with outline variant)
14
- - **AlertDialogOverlay** - Semi-transparent backdrop
15
- - **AlertDialogPortal** - Renders dialog outside normal DOM flow
6
+ | Export | Description |
7
+ |--------|-------------|
8
+ | `AlertDialog` | Root component (Radix `Root`) managing open/close state |
9
+ | `AlertDialogTrigger` | Element that opens the dialog |
10
+ | `AlertDialogPortal` | Renders dialog outside the DOM hierarchy |
11
+ | `AlertDialogOverlay` | Fixed dark backdrop with fade animations |
12
+ | `AlertDialogContent` | Centered modal panel with zoom/slide entrance animations |
13
+ | `AlertDialogHeader` | Layout wrapper for title and description |
14
+ | `AlertDialogFooter` | Responsive action button row (stacked on mobile, inline on md+) |
15
+ | `AlertDialogTitle` | Semibold heading (`text-lg font-semibold`) |
16
+ | `AlertDialogDescription` | Muted body text (`text-sm text-muted-foreground`) |
17
+ | `AlertDialogAction` | Confirm button styled with default `buttonVariants()` |
18
+ | `AlertDialogCancel` | Dismiss button styled with `buttonVariants({ variant: "outline" })` |
16
19
 
17
20
  ## Usage Example
18
21
 
19
22
  ```typescript
20
23
  import {
21
24
  AlertDialog,
22
- AlertDialogAction,
23
- AlertDialogCancel,
25
+ AlertDialogTrigger,
24
26
  AlertDialogContent,
25
- AlertDialogDescription,
26
- AlertDialogFooter,
27
27
  AlertDialogHeader,
28
28
  AlertDialogTitle,
29
- AlertDialogTrigger,
30
- } from "./alert-dialog"
29
+ AlertDialogDescription,
30
+ AlertDialogFooter,
31
+ AlertDialogAction,
32
+ AlertDialogCancel,
33
+ } from "@/components/ui/alert-dialog"
31
34
 
32
- function DeleteConfirmation() {
35
+ export function DeleteConfirmDialog() {
33
36
  return (
34
37
  <AlertDialog>
35
- <AlertDialogTrigger asChild>
36
- <button>Delete Account</button>
37
- </AlertDialogTrigger>
38
+ <AlertDialogTrigger>Delete Device</AlertDialogTrigger>
38
39
  <AlertDialogContent>
39
40
  <AlertDialogHeader>
40
- <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
41
+ <AlertDialogTitle>Are you sure?</AlertDialogTitle>
41
42
  <AlertDialogDescription>
42
- This action cannot be undone. This will permanently delete your account.
43
+ This will permanently remove the device from your fleet.
43
44
  </AlertDialogDescription>
44
45
  </AlertDialogHeader>
45
46
  <AlertDialogFooter>
46
47
  <AlertDialogCancel>Cancel</AlertDialogCancel>
47
- <AlertDialogAction>Delete Account</AlertDialogAction>
48
+ <AlertDialogAction onClick={() => handleDelete()}>
49
+ Confirm
50
+ </AlertDialogAction>
48
51
  </AlertDialogFooter>
49
52
  </AlertDialogContent>
50
53
  </AlertDialog>
@@ -52,4 +55,4 @@ function DeleteConfirmation() {
52
55
  }
53
56
  ```
54
57
 
55
- The component includes smooth animations, responsive design, and follows accessibility best practices through Radix UI's robust foundation.
58
+ > **Accessibility:** Inherits full Radix UI ARIA semantics focus is trapped within the dialog when open, and keyboard (`Escape`) dismissal is handled automatically.
@@ -1,31 +1,40 @@
1
- <!-- source-hash: 935d1df99872aa31bc563c07919bee91 -->
2
- A React component that provides an interactive interface for managing a list of allowed domains with validation support, add/remove functionality, and error handling.
1
+ <!-- source-hash: 4488babe1708a2df7fd49ce4d01e1ce8 -->
2
+ A client-side React component for managing a list of allowed domains, supporting add/remove operations with optional validation, duplicate prevention, and error display.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **AllowedDomainsInput**: Main forwardRef component that manages domain list state
7
- - **AllowedDomainsInputProps**: TypeScript interface defining component props including validation callbacks
8
- - **addDomain()**: Function that validates and adds new domains to the list
9
- - **removeDomain()**: Function that removes domains by index
10
- - **handleKeyDown()**: Keyboard handler for Enter key submission
6
+ ### `AllowedDomainsInputProps`
7
+
8
+ | Prop | Type | Description |
9
+ |------|------|-------------|
10
+ | `value` | `string[]` | Controlled list of current domains |
11
+ | `onChange` | `(domains: string[]) => void` | Callback when domain list changes |
12
+ | `onValidate` | `(domain: string) => { valid, error?, cleanedDomain? }` | Optional custom domain validator |
13
+ | `label` | `string` | Field label (default: `"Allowed Domains"`) |
14
+ | `placeholder` | `string` | Input placeholder (default: `"example.com"`) |
15
+ | `disabled` | `boolean` | Disables all interactions |
16
+ | `error` | `string \| null` | External error message |
17
+ | `helperText` | `string` | Helper text shown when no error is present |
18
+
19
+ ### `AllowedDomainsInput`
20
+
21
+ A `forwardRef` component that renders:
22
+ - **Existing domain rows** — each as a disabled `Input` with an `X` remove button
23
+ - **New domain input** — accepts `Enter` key or "Add Domain" button to submit
24
+ - **Validation feedback** — displays external `error` or internal `localError`
11
25
 
12
26
  ## Usage Example
13
27
 
14
28
  ```typescript
15
- import { AllowedDomainsInput } from "./allowed-domains-input"
29
+ import { AllowedDomainsInput } from "@/components/ui/allowed-domains-input"
30
+
31
+ function SettingsForm() {
32
+ const [domains, setDomains] = React.useState<string[]>(["flamingo.run"])
16
33
 
17
- function DomainSettings() {
18
- const [domains, setDomains] = useState<string[]>(["example.com"])
19
-
20
34
  const validateDomain = (domain: string) => {
21
- const domainRegex = /^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.([a-zA-Z]{2,})$/
22
35
  const cleaned = domain.toLowerCase().replace(/^https?:\/\//, "")
23
-
24
- if (!domainRegex.test(cleaned)) {
25
- return { valid: false, error: "Invalid domain format" }
26
- }
27
-
28
- return { valid: true, cleanedDomain: cleaned }
36
+ const valid = /^[a-z0-9.-]+\.[a-z]{2,}$/.test(cleaned)
37
+ return { valid, error: valid ? undefined : "Enter a valid domain", cleanedDomain: cleaned }
29
38
  }
30
39
 
31
40
  return (
@@ -33,11 +42,10 @@ function DomainSettings() {
33
42
  value={domains}
34
43
  onChange={setDomains}
35
44
  onValidate={validateDomain}
36
- placeholder="yourdomain.com"
37
- helperText="Enter domains without protocol (http/https)"
45
+ helperText="Only users from these domains can sign in."
38
46
  />
39
47
  )
40
48
  }
41
49
  ```
42
50
 
43
- The component features real-time validation, duplicate prevention, keyboard shortcuts, and integrates with form libraries through controlled component patterns.
51
+ > **Note:** Duplicate domains are silently ignored. If `onValidate` returns a `cleanedDomain`, that normalized value is stored instead of the raw input.
@@ -0,0 +1,45 @@
1
+ <!-- source-hash: 174def33d719cb0d6dbefdba06240030 -->
2
+ A dropdown component for assigning users to tickets, supporting two visual variants: a compact avatar-based popover and a default inline editable display.
3
+
4
+ ## Key Components
5
+
6
+ ### Interfaces
7
+ - **`TicketAssigneeOption`** — Shape for assignee list items (`value`, `label`, `imageUrl?`)
8
+ - **`AssigneeDropdownProps`** — Component props including `currentAssignee`, `options`, `onAssign` callback, and `variant`
9
+
10
+ ### Exports
11
+ - **`AssigneeDropdown`** — Main entry component that delegates to `CompactAssigneeDropdown` or `DefaultAssigneeDropdown` based on the `variant` prop
12
+
13
+ ### Internal Components
14
+ - **`CompactAssigneeDropdown`** — Renders a circular avatar button (or `UserPlusIcon` when unassigned) that opens a searchable Radix UI popover list; selecting the current assignee deselects them
15
+ - **`DefaultAssigneeDropdown`** — Inline display showing the assignee's avatar and name with a pencil edit icon; clicking switches to an `Autocomplete` input for searching and reassigning
16
+
17
+ ## Usage Example
18
+
19
+ ```typescript
20
+ import { AssigneeDropdown } from './assignee-dropdown'
21
+
22
+ const users = [
23
+ { value: 'u1', label: 'Alice Johnson', imageUrl: '/avatars/alice.png' },
24
+ { value: 'u2', label: 'Bob Smith' },
25
+ ]
26
+
27
+ // Default variant (inline editable)
28
+ <AssigneeDropdown
29
+ currentAssignee={{ id: 'u1', name: 'Alice Johnson', avatarSrc: '/avatars/alice.png' }}
30
+ options={users}
31
+ onAssign={(userId) => console.log('Assigned to:', userId)}
32
+ />
33
+
34
+ // Compact variant (avatar popover)
35
+ <AssigneeDropdown
36
+ options={users}
37
+ onAssign={(userId) => console.log('Assigned to:', userId)}
38
+ variant="compact"
39
+ />
40
+ ```
41
+
42
+ **Behavior notes:**
43
+ - `onAssign` receives `null` when the current assignee is deselected (compact variant toggle)
44
+ - Search resets automatically when the compact popover closes
45
+ - The `isLoading` prop shows a loading state inside the options list
@@ -1,48 +1,54 @@
1
- <!-- source-hash: 1889fd24b7bf12d381a0902565b29f66 -->
2
- A multi-select autocomplete component with search, keyboard navigation, and customizable rendering built on Radix UI primitives.
1
+ <!-- source-hash: c483f7e7ed16ddf489c0f0b85c84e31b -->
2
+ A fully-featured autocomplete/combobox input component supporting both single and multi-select modes, with keyboard navigation, tag display, filtering, and creatable options.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **AutocompleteOption<T>**: Interface defining option structure with label and value
7
- - **AutocompleteProps<T>**: Comprehensive props interface supporting multi-select, custom rendering, validation states
8
- - **AutocompleteInner<T>**: Main component implementation with keyboard navigation and tag management
9
- - **containerStyles**: Shared styling constants matching the design system's Input component
10
- - **innerInputStyles**: Input field styling with consistent typography and theming
6
+ ### Types & Interfaces
7
+ - **`AutocompleteOption<T>`** Shape of each selectable option (`label` + `value`)
8
+ - **`AutocompleteInputChangeReason`** Union of `'input' | 'reset' | 'clear'`
9
+ - **`AutocompleteSingleProps<T>`** Props for single-select mode
10
+ - **`AutocompleteMultipleProps<T>`** Props for multi-select mode (adds `maxItems`, `renderTag`, `limitTags`, etc.)
11
+ - **`AutocompleteProps<T>`** — Discriminated union of the two modes
12
+
13
+ ### Internal Logic
14
+ - **`AutocompleteInner`** — Core render function wrapped with `forwardRef`, managing:
15
+ - Controlled/uncontrolled input value state
16
+ - Dropdown open/close via Radix `PopoverPrimitive`
17
+ - Option filtering (client-side or delegated via `disableClientFilter`)
18
+ - Keyboard navigation (`ArrowDown/Up`, `Enter`, `Escape`)
19
+ - Tag overflow via `useAutoLimitTags` hook
20
+ - `freeSolo` and `creatable` modes
11
21
 
12
22
  ## Usage Example
13
23
 
14
24
  ```typescript
15
- import { Autocomplete, AutocompleteOption } from './autocomplete'
16
-
17
- const userOptions: AutocompleteOption<number>[] = [
18
- { label: 'John Doe', value: 1 },
19
- { label: 'Jane Smith', value: 2 },
20
- { label: 'Bob Johnson', value: 3 }
21
- ]
22
-
23
- function UserSelector() {
24
- const [selectedUsers, setSelectedUsers] = React.useState<number[]>([])
25
-
26
- return (
27
- <Autocomplete
28
- options={userOptions}
29
- value={selectedUsers}
30
- onChange={setSelectedUsers}
31
- placeholder="Select users..."
32
- label="Team Members"
33
- maxItems={3}
34
- limitTags={2}
35
- freeSolo={true}
36
- showClearAll={true}
37
- renderOption={(option, isSelected) => (
38
- <div className="flex items-center justify-between">
39
- <span>{option.label}</span>
40
- {isSelected && <Check className="h-4 w-4" />}
41
- </div>
42
- )}
43
- />
44
- )
45
- }
46
- ```
47
-
48
- The component features keyboard navigation (arrow keys, Enter, Escape, Backspace), tag overflow handling, custom filtering, and integrates with form validation states through the `invalid` prop.
25
+ // Single select
26
+ <Autocomplete
27
+ options={[{ label: "Option A", value: "a" }, { label: "Option B", value: "b" }]}
28
+ value={selected}
29
+ onChange={(val) => setSelected(val)}
30
+ label="Pick one"
31
+ placeholder="Search..."
32
+ />
33
+
34
+ // Multi-select with tag limit and creatable
35
+ <Autocomplete
36
+ multiple
37
+ options={options}
38
+ value={selectedValues}
39
+ onChange={(vals) => setSelectedValues(vals)}
40
+ limitTags={3}
41
+ creatable
42
+ onCreateOption={(input) => persistNewOption(input)}
43
+ label="Tags"
44
+ />
45
+
46
+ // Server-side filtering
47
+ <Autocomplete
48
+ options={serverOptions}
49
+ value={value}
50
+ onChange={setValue}
51
+ disableClientFilter
52
+ onInputChange={(query, reason) => fetchOptions(query)}
53
+ />
54
+ ```
@@ -1,44 +1,59 @@
1
- <!-- source-hash: 62daa81d47cf45a76b1ac5e35401b10f -->
2
- A flexible React component system for displaying feature benefits with optional icons, supporting multiple visual variants and responsive grid layouts.
1
+ <!-- source-hash: b039cee3855a4c8e259a4c0cd027fea4 -->
2
+ A client-side React component providing styled benefit/feature cards with multiple visual variants and a responsive grid layout container.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **`BenefitCard`** - Individual card component with icon, title, and description
7
- - **`BenefitCardGrid`** - Container component for organizing cards in responsive grids (2, 3, or 4 columns)
8
- - **`BenefitCardProps`** - Props interface supporting three variants: `default`, `dark`, and `auth-figma`
9
- - **`BenefitCardGridProps`** - Grid container props with customizable column counts
6
+ ### `BenefitCard`
7
+ Renders a single benefit card with an optional icon, title, and description. Supports three visual variants:
8
+
9
+ | Variant | Description |
10
+ |---|---|
11
+ | `default` | Light background with standard body typography |
12
+ | `dark` | Transparent background with monospace heading and shadow |
13
+ | `auth-figma` | Transparent with larger padding and heading-scale typography |
14
+
15
+ **Props:**
16
+ - `icon` — optional React node rendered before the text content
17
+ - `title` — required card heading
18
+ - `description` — required supporting text
19
+ - `variant` — visual style (`'default'` | `'dark'` | `'auth-figma'`)
20
+ - `className` — additional Tailwind classes
21
+
22
+ ### `BenefitCardGrid`
23
+ A responsive grid container that wraps multiple `BenefitCard` instances and automatically applies divider borders between items.
24
+
25
+ **Props:**
26
+ - `children` — one or more `BenefitCard` nodes
27
+ - `columns` — grid column count: `2` | `3` | `4` (default: `2`)
28
+ - `className` — additional Tailwind classes
10
29
 
11
30
  ## Usage Example
12
31
 
13
32
  ```typescript
14
33
  import { BenefitCard, BenefitCardGrid } from './benefit-card'
15
- import { ShieldIcon, SparklesIcon } from 'lucide-react'
16
-
17
- // Single benefit card
18
- <BenefitCard
19
- icon={<ShieldIcon className="w-6 h-6" />}
20
- title="Enhanced Security"
21
- description="Advanced protection with multi-layer authentication"
22
- variant="dark"
23
- />
24
-
25
- // Grid of benefit cards
26
- <BenefitCardGrid columns={3}>
27
- <BenefitCard
28
- icon={<SparklesIcon className="w-5 h-5" />}
29
- title="AI-Powered Automation"
30
- description="Intelligent automation reduces manual tasks by 80%"
31
- />
32
- <BenefitCard
33
- title="24/7 Support"
34
- description="Round-the-clock technical assistance"
35
- variant="auth-figma"
36
- />
37
- <BenefitCard
38
- title="Scalable Infrastructure"
39
- description="Grows with your business needs"
40
- />
41
- </BenefitCardGrid>
42
- ```
43
-
44
- The component uses Tailwind CSS with OpenFrame Design System (ODS) tokens and automatically handles responsive layouts with appropriate borders between grid items.
34
+ import { ShieldIcon } from 'lucide-react'
35
+
36
+ export function Features() {
37
+ return (
38
+ <BenefitCardGrid columns={3}>
39
+ <BenefitCard
40
+ icon={<ShieldIcon />}
41
+ title="Secure by Default"
42
+ description="End-to-end encryption across all endpoints."
43
+ variant="default"
44
+ />
45
+ <BenefitCard
46
+ icon={<ShieldIcon />}
47
+ title="AI-Powered"
48
+ description="Mingo AI resolves tickets before they escalate."
49
+ variant="dark"
50
+ />
51
+ <BenefitCard
52
+ title="Open Source"
53
+ description="Built on trusted open-source foundations."
54
+ variant="auth-figma"
55
+ />
56
+ </BenefitCardGrid>
57
+ )
58
+ }
59
+ ```