@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,44 +1,50 @@
1
- <!-- source-hash: 20b9937080b2caa3584f87d4ae933cfe -->
2
- Storybook stories configuration for the PageContainer component, showcasing various layouts and usage patterns for different page types in the application.
1
+ <!-- source-hash: f72131cedcde7906c303bc3ea8538959 -->
2
+ Storybook stories for the `PageContainer` layout component, covering legacy and advanced usage variants including list, detail, form, and content page layouts.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Meta Configuration** - Storybook metadata with interactive controls for variant, padding, background, and header visibility
7
- - **Story Variants** - Comprehensive examples including legacy, list, detail, form, and content page layouts
8
- - **PlaceholderContent** - Reusable component for demonstrating page content areas
9
- - **Interactive Controls** - Argtype definitions for testing different component configurations
6
+ - **`Legacy`** Basic container with full-width background and no structured header
7
+ - **`LegacyCustomBackground`** / **`LegacyContentWidthBackground`** Legacy mode with custom background and content-width options
8
+ - **`ListPage`** / **`ListPageMultipleActions`** List variant with title, subtitle, and action buttons
9
+ - **`DetailPage`** / **`DetailPageWithActions`** Detail variant with back button navigation and optional actions
10
+ - **`FormPage`** — Form variant with cancel/save/publish actions
11
+ - **`ContentPage`** — Generic content layout variant
12
+ - **`CustomHeaderContent`** / **`WithHeaderActions`** / **`HiddenHeader`** — Header customization stories
13
+ - **`WithPaddingAndBackground`** — Demonstrates `padding` and `background` prop combinations
14
+
15
+ ## Storybook Controls
16
+
17
+ | Control | Options |
18
+ |---------|---------|
19
+ | `variant` | `list`, `detail`, `form`, `content` |
20
+ | `padding` | `none`, `sm`, `md`, `lg` |
21
+ | `background` | `default`, `card`, `transparent` |
22
+ | `showHeader` | `boolean` |
10
23
 
11
24
  ## Usage Example
12
25
 
13
26
  ```typescript
14
- // Basic list page story
15
- export const ListPage: Story = {
16
- args: {
17
- variant: 'list',
18
- title: 'Devices',
19
- subtitle: '24 devices found',
20
- actions: [
21
- {
22
- label: 'Add Device',
23
- onClick: () => {},
24
- icon: <Plus className="w-5 h-5" />,
25
- variant: 'primary'
26
- },
27
- ],
28
- children: <PlaceholderContent />,
29
- },
30
- };
27
+ // List page with actions
28
+ <PageContainer
29
+ variant="list"
30
+ title="Devices"
31
+ subtitle="24 devices found"
32
+ actions={[
33
+ { label: 'Add Device', onClick: handleAdd, icon: <Plus />, variant: 'primary' }
34
+ ]}
35
+ >
36
+ <DeviceTable />
37
+ </PageContainer>
31
38
 
32
39
  // Detail page with back navigation
33
- export const DetailPage: Story = {
34
- args: {
35
- variant: 'detail',
36
- title: 'Device Details',
37
- subtitle: 'MacBook Pro — Online',
38
- backButton: { label: 'Back to Devices', onClick: () => {} },
39
- children: <PlaceholderContent />,
40
- },
41
- };
42
- ```
43
-
44
- The stories demonstrate legacy mode compatibility, advanced variants (list, detail, form, content), header customization options, and various padding/background combinations. Each story includes realistic props and content to showcase the PageContainer's flexibility across different application contexts.
40
+ <PageContainer
41
+ variant="detail"
42
+ title="Device Details"
43
+ backButton={{ label: 'Back to Devices', onClick: handleBack }}
44
+ actions={[
45
+ { label: 'Delete', onClick: handleDelete, variant: 'outline' }
46
+ ]}
47
+ >
48
+ <DeviceDetails />
49
+ </PageContainer>
50
+ ```
@@ -0,0 +1,60 @@
1
+ <!-- source-hash: 3e5784b9b627d4143a0bac991ef6fb48 -->
2
+ Storybook stories for the `PageLayout` component, covering all major layout variants including title-only, subtitle/image combinations, mobile responsive behavior, and action button configurations.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |--------|-------------|
8
+ | `TitleOnly` | Minimal header with title and content only |
9
+ | `WithSubtitleAndImage` | Full organization detail header with back button, thumbnail, subtitle, and icon-button actions |
10
+ | `MobileActionsMenu` | Same as `WithSubtitleAndImage` at mobile viewport — actions collapse to `…` dropdown |
11
+ | `WithSubtitleOnly` | Title + one-line context note with primary-button actions |
12
+ | `WithImageOnly` | Branded entity header without a subtitle line |
13
+ | `WithSelector` | Desktop tab selector (table/grid toggle) rendered before action buttons |
14
+ | `WithSelectorMobile` | `WithSelector` at mobile viewport — selector hidden, only `…` dropdown remains |
15
+ | `LongTitleTruncates` | Verifies ellipsis truncation when title/subtitle overflow the header |
16
+
17
+ ## Usage Example
18
+
19
+ ```typescript
20
+ // Minimal usage
21
+ <PageLayout title="Devices">
22
+ <Table data={devices} columns={columns} rowKey="id" />
23
+ </PageLayout>
24
+
25
+ // Full organization detail page
26
+ <PageLayout
27
+ title="TechFlow Solutions"
28
+ subtitle="techflow.com • Software Development"
29
+ image={{ src: logoSrc, alt: 'TechFlow logo' }}
30
+ backButton={{ label: 'Back to Organizations', onClick: handleBack }}
31
+ actionsVariant="icon-buttons"
32
+ actions={[
33
+ { label: 'Archive Organization', onClick: handleArchive, variant: 'outline', icon: <BoxArchiveIcon size={24} /> },
34
+ { label: 'Edit Organization', onClick: handleEdit, variant: 'outline', icon: <PenEditIcon size={24} /> },
35
+ ]}
36
+ >
37
+ <Table data={devices} columns={columns} rowKey="id" />
38
+ </PageLayout>
39
+
40
+ // With desktop tab selector (hidden on mobile)
41
+ <PageLayout
42
+ title="Devices"
43
+ actionsVariant="icon-buttons"
44
+ actions={[{ label: 'Add Device', onClick: fn(), variant: 'outline', icon: <PlusCircleIcon size={24} /> }]}
45
+ selector={
46
+ <TabSelector
47
+ value={view}
48
+ onValueChange={setView}
49
+ items={[
50
+ { id: 'table', label: '', icon: <TableCellIcon size={24} /> },
51
+ { id: 'grid', label: '', icon: <GridLayoutIcon size={24} /> },
52
+ ]}
53
+ />
54
+ }
55
+ >
56
+ <Table data={devices} columns={columns} rowKey="id" />
57
+ </PageLayout>
58
+ ```
59
+
60
+ **`actionsVariant` options:** `icon-buttons` (labeled outline buttons → `…` menu on mobile), `primary-buttons` (always visible primary buttons), `menu-primary` (menu trigger with primary style).
@@ -0,0 +1,49 @@
1
+ <!-- source-hash: bc3b7f6794a8e489c9fce54c9abbaeb4 -->
2
+ Storybook stories for the `ParallaxImageShowcase` component, covering layout variants, parallax intensity levels, shadow options, and partial image configurations using inline SVG placeholder images.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `meta` | `Meta` | Storybook metadata — registers component under `Features/ParallaxImageShowcase` with controls for `layout`, `intensity`, and `shadow` |
9
+ | `makePlaceholder` | Helper | Generates an SVG data URI mimicking a screenshot UI with sidebar, panels, and a centered label |
10
+ | `images` | Fixture | Three placeholder images with `left`, `center`, and `right` position assignments |
11
+ | `NonBoxed` | `Story` | Default overlapping layer layout |
12
+ | `Boxed` | `Story` | Two-row layout with optional `logoElement` slot |
13
+ | `Grid` | `Story` | Three-column grid layout |
14
+ | `SubtleIntensity` / `HighIntensity` | `Story` | Parallax motion range demos (`0.3` → `5`) |
15
+ | `GridWithShadow` / `GridHighIntensity` | `Story` | Grid layout with shadow and intensity combinations |
16
+ | `TwoImages` / `SingleImage` | `Story` | Edge-case coverage for reduced image counts |
17
+
18
+ ## Usage Example
19
+
20
+ ```typescript
21
+ import { ParallaxImageShowcase } from '../components/features/parallax-image-showcase'
22
+
23
+ // Minimal usage with three positioned images
24
+ <ParallaxImageShowcase
25
+ layout="non-boxed"
26
+ intensity={1.5}
27
+ shadow={false}
28
+ images={[
29
+ { src: '/screenshots/dashboard.png', alt: 'Dashboard', position: 'left' },
30
+ { src: '/screenshots/analytics.png', alt: 'Analytics', position: 'center' },
31
+ { src: '/screenshots/settings.png', alt: 'Settings', position: 'right' },
32
+ ]}
33
+ />
34
+
35
+ // Boxed layout with a logo slot
36
+ <ParallaxImageShowcase
37
+ layout="boxed"
38
+ images={images}
39
+ logoElement={<img src="/logo.svg" alt="Logo" />}
40
+ />
41
+ ```
42
+
43
+ ## Controls Reference
44
+
45
+ | Prop | Control | Values |
46
+ |------|---------|--------|
47
+ | `layout` | select | `non-boxed` · `boxed` · `grid` |
48
+ | `intensity` | number slider | `0` – `10`, step `0.1` |
49
+ | `shadow` | boolean toggle | `true` / `false` |
@@ -0,0 +1,53 @@
1
+ <!-- source-hash: 1e78827c6bdbb029fe4aeac35f0fdda1 -->
2
+ Storybook stories for the `PhoneInput` UI component, demonstrating various states, country configurations, and layout scenarios.
3
+
4
+ ## Key Components
5
+
6
+ ### `PhoneInputControlled`
7
+ Internal stateful wrapper that manages `phone`, `country`, and `isInvalid` state, wiring up all `PhoneInput` callbacks and rendering an inline validation warning when the number is invalid.
8
+
9
+ ### Exported Stories
10
+
11
+ | Story | Description |
12
+ |---|---|
13
+ | `Default` | US country code, empty value |
14
+ | `UnitedKingdom` | Pre-selected GB country code |
15
+ | `WithValue` | Pre-filled US number `(555) 123-4567` |
16
+ | `Disabled` | Disabled input with a pre-filled value |
17
+ | `CustomPlaceholder` | Custom placeholder text `"Enter phone..."` |
18
+ | `NarrowContainer` | 300px container to verify overflow handling |
19
+ | `Germany` | Pre-selected DE country code |
20
+
21
+ ## Usage Example
22
+
23
+ ```typescript
24
+ // Replicate the controlled pattern from stories in your own component
25
+ import { PhoneInput } from '@/components/ui/phone-input';
26
+ import { useState } from 'react';
27
+ import type { CountryCode } from 'libphonenumber-js';
28
+
29
+ function MyForm() {
30
+ const [phone, setPhone] = useState('');
31
+ const [country, setCountry] = useState<CountryCode>('US');
32
+ const [isInvalid, setIsInvalid] = useState(false);
33
+
34
+ return (
35
+ <>
36
+ <PhoneInput
37
+ value={phone}
38
+ countryCode={country}
39
+ onPhoneChange={setPhone}
40
+ onCountryChange={setCountry}
41
+ onValidationChange={setIsInvalid}
42
+ />
43
+ {isInvalid && <p>Invalid phone number</p>}
44
+ </>
45
+ );
46
+ }
47
+ ```
48
+
49
+ ## Notes
50
+
51
+ - Stories are scoped under the `UI/PhoneInput` Storybook path.
52
+ - All stories use `PhoneInputControlled` via the `render` override rather than Storybook's default args rendering, ensuring live state management within the canvas.
53
+ - Country codes follow the [`libphonenumber-js`](https://www.npmjs.com/package/libphonenumber-js) `CountryCode` type.
@@ -0,0 +1,44 @@
1
+ <!-- source-hash: 30d7c4e87b438b12b503725269f756f6 -->
2
+ Storybook stories for the `QueryReportTable` component, covering all major display states, configuration options, and edge cases for visual testing and documentation.
3
+
4
+ ## Key Components
5
+
6
+ - **`Default`** — Basic table with auto-derived columns from data keys
7
+ - **`Loading`** — Skeleton placeholder state with configurable rows/columns
8
+ - **`Empty`** — Empty state with a custom message
9
+ - **`CustomColumnOrder`** — Explicit column ordering with remaining keys appended
10
+ - **`WideColumns` / `NarrowColumns`** — Column width variants (`columnWidth` prop)
11
+ - **`ManyColumns`** — Horizontal scroll with right-edge gradient fade using a 14-column dataset
12
+ - **`NoExport`** — Hides the CSV export button (`showExport: false`)
13
+ - **`CustomExport`** — Custom filename and `onExport` callback
14
+ - **`WithHeaderActions`** — Renders additional controls (e.g. Refresh button) in the table header
15
+ - **`WithNullValues`** — Displays `null` fields as dashes
16
+ - **`SingleRow`** — Single-record result set
17
+
18
+ ## Usage Example
19
+
20
+ ```typescript
21
+ import { QueryReportTable } from '../components/ui/query-report-table'
22
+
23
+ <QueryReportTable
24
+ title="Server Health Report"
25
+ data={[
26
+ { hostname: 'prod-web-01', cpu_usage: 45, status: 'healthy' },
27
+ ]}
28
+ columnOrder={['status', 'hostname', 'cpu_usage']}
29
+ columnWidth={160}
30
+ exportFilename="server-health-2026-02"
31
+ onExport={() => console.log('Exported')}
32
+ headerActions={<Button variant="outline">Refresh</Button>}
33
+ />
34
+ ```
35
+
36
+ ## ArgTypes (Storybook Controls)
37
+
38
+ | Prop | Control | Range |
39
+ |---|---|---|
40
+ | `columnWidth` | number | 80–400, step 10 |
41
+ | `skeletonRows` | number | 1–20 |
42
+ | `skeletonColumns` | number | 1–12 |
43
+ | `showExport` | boolean | — |
44
+ | `loading` | boolean | — |
@@ -0,0 +1,46 @@
1
+ <!-- source-hash: 708dc6fe37c97945e4c968bc3a3e4867 -->
2
+ Storybook stories for the `RadioGroup` UI component, demonstrating all supported variants, states, and theme configurations within the OpenFrame design system.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |---|---|
8
+ | `Default` | Basic radio group with three unselected options |
9
+ | `WithDefaultValue` | Uncontrolled group with a pre-selected option via `defaultValue` |
10
+ | `Disabled` | Entire group disabled with a pre-selected value |
11
+ | `DisabledItem` | Group with a single item disabled while others remain interactive |
12
+ | `Horizontal` | Horizontal layout using `orientation="horizontal"` with flex-row styling |
13
+ | `Controlled` | Controlled component using `useState` with live selection display |
14
+ | `FlamingoTheme` | Group wrapped in `data-app-type="flamingo"` decorator for Flamingo-branded styling |
15
+
16
+ ## Usage Example
17
+
18
+ ```typescript
19
+ import { RadioGroup, RadioGroupItem } from '../components/ui/radio-group';
20
+ import { useState } from 'react';
21
+
22
+ // Uncontrolled with default selection
23
+ <RadioGroup defaultValue="option-1">
24
+ <div className="flex items-center gap-3">
25
+ <RadioGroupItem value="option-1" id="opt-1" />
26
+ <label htmlFor="opt-1">Option 1</label>
27
+ </div>
28
+ <div className="flex items-center gap-3">
29
+ <RadioGroupItem value="option-2" id="opt-2" />
30
+ <label htmlFor="opt-2">Option 2</label>
31
+ </div>
32
+ </RadioGroup>
33
+
34
+ // Controlled
35
+ const [value, setValue] = useState('option-1');
36
+ <RadioGroup value={value} onValueChange={setValue}>
37
+ <RadioGroupItem value="option-1" id="opt-1" />
38
+ <RadioGroupItem value="option-2" id="opt-2" />
39
+ </RadioGroup>
40
+ ```
41
+
42
+ ## Notes
43
+
44
+ - Built on **Radix UI** primitives with OpenFrame design tokens (`ods-text-primary`, `ods-text-secondary`)
45
+ - The `renderItem` helper ensures consistent label/input pairing across all stories
46
+ - Use `data-app-type="flamingo"` on a parent wrapper to activate Flamingo-specific theme overrides
@@ -0,0 +1,45 @@
1
+ <!-- source-hash: af0e39e63f288e66b45ccc927c98cf2a -->
2
+ Storybook stories for the `RadioGroupBlock` component, covering all visual states, variants, and interactive behaviors for the ODS design system's bordered radio group.
3
+
4
+ ## Key Components
5
+
6
+ - **`Default`** — Basic radio group with no pre-selected value
7
+ - **`WithDefaultValue`** — Pre-selected option via `defaultValue`
8
+ - **`WithDescriptions`** — Options with descriptive sub-text (e.g., pricing tiers)
9
+ - **`Disabled`** / **`DisabledItem`** — Whole group or individual option disabled
10
+ - **`Error`** — Group with inline validation error message
11
+ - **`Controlled`** — Controlled component with `useState` showing selected value
12
+ - **`AllStates`** — Combined showcase of selected, disabled, error, and description states
13
+ - **`DevicePricing`** / **`DevicePricingDisabled`** — `grouped` variant with trailing `Tag` discount badges, modeled after Figma device-pricing picker
14
+ - **`Grouped`** — `grouped` variant with dividers, no trailing slot (billing period example)
15
+ - **`FlamingoTheme`** — Same group rendered inside a `data-app-type="flamingo"` container for theme verification
16
+
17
+ ## Usage Example
18
+
19
+ ```typescript
20
+ // Controlled usage with grouped variant and trailing slots
21
+ import { RadioGroupBlock } from '../components/ui/radio-group';
22
+ import { Tag } from '../components/ui/tag';
23
+
24
+ <RadioGroupBlock
25
+ name="pricing"
26
+ variant="grouped"
27
+ defaultValue="300"
28
+ options={[
29
+ {
30
+ value: '100',
31
+ label: '100 devices',
32
+ description: '$5,400/year',
33
+ trailing: <Tag variant="success" label="-10%" />,
34
+ },
35
+ {
36
+ value: '300',
37
+ label: '300 devices',
38
+ description: '$14,400/year',
39
+ trailing: <Tag variant="success" label="-20%" />,
40
+ },
41
+ ]}
42
+ />
43
+ ```
44
+
45
+ **Configurable `argTypes`:** `defaultValue`, `value`, `disabled`, `error`, `variant` (`separated` | `grouped`), `onValueChange`. All stories render at `400px` width via a shared decorator.
@@ -1,22 +1,26 @@
1
- <!-- source-hash: a57080f2d4d37dc92f1ae1d4fa84a3d1 -->
2
- Storybook stories file demonstrating the Select component and its various states and configurations for the OpenFrame UI library.
1
+ <!-- source-hash: 57929b92378079c47ade3983e6429cff -->
2
+ Storybook stories for the `Select` UI component, showcasing all variants and states including grouped items, validation, disabled states, and `FieldWrapper` integration.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Meta Configuration** - Storybook metadata with title, component reference, layout parameters, and custom decorator
7
- - **Story Variants** - Seven different stories showcasing select functionality:
8
- - `Default` - Basic select with placeholder
9
- - `WithValue` - Pre-selected value example
10
- - `Disabled` - Non-interactive disabled state
11
- - `WithGroups` - Categorized options with labels and separators
12
- - `WithDisabledItem` - Individual disabled items within options
13
- - `ManyItems` - Scrollable list with timezone options
14
- - `AllVariants` - Side-by-side comparison view
6
+ | Story | Description |
7
+ |---|---|
8
+ | `Default` | Basic select with placeholder text |
9
+ | `WithValue` | Select with a pre-selected default value |
10
+ | `Disabled` | Non-interactive disabled state |
11
+ | `WithGroups` | Grouped items with `SelectLabel` and `SelectSeparator` |
12
+ | `WithDisabledItem` | Select with individual disabled option |
13
+ | `ManyItems` | Scrollable list (25 UTC timezones) |
14
+ | `Invalid` | Error/invalid visual state via `invalid` prop on `SelectTrigger` |
15
+ | `WithLabel` | Wrapped in `FieldWrapper` with a label |
16
+ | `WithLabelAndError` | `FieldWrapper` with label and error message |
17
+ | `WithLabelAndValue` | `FieldWrapper` with a pre-selected value |
18
+ | `AllVariants` | All states rendered together for comparison |
15
19
 
16
20
  ## Usage Example
17
21
 
18
22
  ```typescript
19
- // Basic select implementation
23
+ // Basic usage
20
24
  <Select>
21
25
  <SelectTrigger>
22
26
  <SelectValue placeholder="Select an option..." />
@@ -27,7 +31,7 @@ Storybook stories file demonstrating the Select component and its various states
27
31
  </SelectContent>
28
32
  </Select>
29
33
 
30
- // Grouped select with categories
34
+ // With grouped items
31
35
  <Select>
32
36
  <SelectTrigger>
33
37
  <SelectValue placeholder="Select a fruit..." />
@@ -44,6 +48,16 @@ Storybook stories file demonstrating the Select component and its various states
44
48
  </SelectGroup>
45
49
  </SelectContent>
46
50
  </Select>
47
- ```
48
51
 
49
- The stories use a custom decorator that provides consistent styling with padding, background color using CSS custom properties (`--ods-bg`), and a maximum width constraint for optimal visual presentation in Storybook.
52
+ // With validation via FieldWrapper
53
+ <FieldWrapper label="Role" error="Please select a role">
54
+ <Select>
55
+ <SelectTrigger invalid>
56
+ <SelectValue placeholder="Select a role..." />
57
+ </SelectTrigger>
58
+ <SelectContent>
59
+ <SelectItem value="viewer">Viewer</SelectItem>
60
+ </SelectContent>
61
+ </Select>
62
+ </FieldWrapper>
63
+ ```
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 1c7447069bb7b63321514a5ef06052ac -->
2
+ Storybook stories for the `SlashCommandSuggestions` chat autocomplete component, providing visual test cases for the `/`-triggered command dropdown used in the Flamingo/OpenFrame chat interface.
3
+
4
+ ## Key Components
5
+
6
+ ### Stories
7
+
8
+ | Story | Description |
9
+ |-------|-------------|
10
+ | `Default` | Full command list with the first row statically highlighted |
11
+ | `Interactive` | Live hover-driven highlight via `useState`, mimics keyboard navigation |
12
+ | `FilteredSingle` | Single result row, simulates typing `/road` to filter |
13
+ | `NoActions` | Hides action chips when `onAction` is `undefined`, row becomes click-only |
14
+
15
+ ### Sample Data (`SAMPLE_COMMANDS`)
16
+
17
+ 14 `SlashCommandSummary` entries covering all production `/api/docs/commands` sources: ClickUp (`roadmap`, `delivery`), GitHub (`commits`, `pull-requests`, `pr-reviews`), Slack (`slack`), and OpenFrame content types (`docs`, `blogs`, `releases`, `case-studies`, `getting-started`, `webinars`, `events`, `podcasts`). Each entry includes `iconName` keys wired to the `resolveOnboardingIcon` registry.
18
+
19
+ ## Usage Example
20
+
21
+ ```typescript
22
+ // Render the interactive story manually outside Storybook
23
+ import { SlashCommandSuggestions } from '../components/chat/slash-command-suggestions'
24
+ import { useState } from 'react'
25
+
26
+ export function Demo() {
27
+ const [idx, setIdx] = useState(0)
28
+
29
+ return (
30
+ <SlashCommandSuggestions
31
+ commands={SAMPLE_COMMANDS}
32
+ highlightedIdx={idx}
33
+ onHover={setIdx}
34
+ onSelect={(cmd) => console.log('selected:', cmd.id)}
35
+ onAction={(cmd, actionId) => console.log('action:', cmd.id, actionId)}
36
+ />
37
+ )
38
+ }
39
+ ```
40
+
41
+ The decorator wraps every story in a `640px` container with a mock chat input row below, replicating the `absolute bottom-full` anchor behavior of the real `ChatInput` component.
@@ -0,0 +1,62 @@
1
+ <!-- source-hash: b262c529e121e8f3f9e9aa107480cd1a -->
2
+ Storybook stories for the `SplitButton` component, showcasing all supported variants, sizes, states, and icon configurations for visual testing and documentation.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |--------|-------------|
8
+ | `Accent` | Default accent variant with external link icon action |
9
+ | `Outline` | Outline variant with new-tab icon action |
10
+ | `Transparent` | Transparent variant with new-tab icon action |
11
+ | `Destructive` | Destructive variant with trash icon and overflow menu |
12
+ | `SizeSmall` | Small size variant demonstration |
13
+ | `AsLink` | Button rendered as an anchor (`href`) with icon action |
14
+ | `WithLeftIcon` | Main button with a left-side icon and dropdown action |
15
+ | `Disabled` | Fully disabled state for the entire component |
16
+ | `IconActionDisabled` | Only the secondary icon action is disabled |
17
+ | `AllVariants` | Grid showcasing all 4 variants × default/disabled × default/small sizes |
18
+ | `TwoActions` | Composite example combining link navigation and dropdown actions |
19
+
20
+ ## Usage Example
21
+
22
+ ```typescript
23
+ import { SplitButton } from '../components/ui/button'
24
+ import { FloppyDiscIcon as Save, Chevron01DownIcon as ChevronDown } from '../components/icons-v2-generated'
25
+
26
+ // Main action button with a secondary icon action
27
+ <SplitButton
28
+ variant="accent"
29
+ leftIcon={<Save />}
30
+ onClick={() => handleSave()}
31
+ iconAction={{
32
+ icon: <ChevronDown />,
33
+ 'aria-label': 'More save options',
34
+ onClick: () => openMenu(),
35
+ }}
36
+ >
37
+ Save
38
+ </SplitButton>
39
+
40
+ // Rendered as a link with external open icon action
41
+ <SplitButton
42
+ variant="outline"
43
+ href="/docs"
44
+ iconAction={{
45
+ icon: <ExternalLink />,
46
+ 'aria-label': 'Open in new tab',
47
+ href: '/docs',
48
+ openInNewTab: true,
49
+ }}
50
+ >
51
+ Documentation
52
+ </SplitButton>
53
+ ```
54
+
55
+ ## Controls
56
+
57
+ | Prop | Type | Options |
58
+ |------|------|---------|
59
+ | `variant` | select | `accent`, `outline`, `transparent`, `destructive` |
60
+ | `size` | select | `default`, `small` |
61
+ | `fullWidth` | boolean | — |
62
+ | `disabled` | boolean | — |
@@ -1,45 +1,54 @@
1
- <!-- source-hash: 8a90b2a3ce7aa3caab122dc39d6ddec4 -->
2
- Storybook stories for the TabNavigation component demonstrating various usage patterns including controlled state management, URL synchronization, and visual indicators.
1
+ <!-- source-hash: 03e4c838723c464e0642fcd3805a327d -->
2
+ Storybook stories for the `TabNavigation` component, covering controlled state, URL synchronization, status indicators, overflow scroll shadows, and custom styling variants.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **defaultTabs**: Basic tab configuration with Home, Users, Settings, and Notifications
7
- - **tabsWithIndicators**: Extended tab set including status indicators (success, warning, error)
8
- - **Controlled**: Standard controlled component story with local state management
9
- - **WithContent**: Demonstrates children render prop pattern for tab content
10
- - **WithIndicators**: Shows tabs with visual status indicators
11
- - **UrlSync**: URL parameter synchronization using default "tab" param
12
- - **UrlSyncCustomParam**: Custom URL parameter name and replace state behavior
6
+ **Exported Stories**
7
+
8
+ | Story | Description |
9
+ |---|---|
10
+ | `Controlled` | Basic controlled mode with `activeTab` + `onTabChange` |
11
+ | `WithContent` | Children render prop displaying active tab content |
12
+ | `WithIndicators` | Tabs with `success`, `warning`, and `error` indicator badges |
13
+ | `UrlSync` | Active tab driven by a `?tab=` URL search parameter |
14
+ | `UrlSyncCustomParam` | URL sync with a custom param name (`section`) and `replaceState` |
15
+ | `TwoTabs` | Minimal two-tab layout |
16
+ | `DefaultTabOverride` | Pre-selects a non-first tab on mount |
17
+ | `CustomClassName` | Custom Tailwind class on the tab container |
18
+ | `ScrollShadows` | 15 tabs in a constrained width to trigger fade scroll shadows |
19
+ | `CustomShadowColor` | Overrides scroll shadow gradient via `shadowClassName` |
20
+ | `ShadowOnCustomBackground` | Shadow color matched to a custom card background |
21
+ | `NoShadows` | Two tabs that fit without overflow — shadows never appear |
22
+
23
+ **Fixture Data**
24
+ - `defaultTabs` — 4 tabs (Overview, Users, Settings, Notifications)
25
+ - `tabsWithIndicators` — 5 tabs with mixed `success`/`warning`/`error` indicators
26
+ - `manyTabs` — 15 tabs used for overflow/scroll stories
13
27
 
14
28
  ## Usage Example
15
29
 
16
30
  ```typescript
17
- // Basic controlled tab navigation
18
- const [activeTab, setActiveTab] = useState('overview');
19
-
20
- <TabNavigation
21
- tabs={defaultTabs}
22
- activeTab={activeTab}
23
- onTabChange={setActiveTab}
24
- />
25
-
26
- // With status indicators and content
27
- <TabNavigation
28
- tabs={tabsWithIndicators}
29
- activeTab={activeTab}
30
- onTabChange={setActiveTab}
31
- >
32
- {(activeTab) => (
33
- <div>Content for {activeTab}</div>
34
- )}
35
- </TabNavigation>
36
-
37
- // URL synchronized tabs
38
- <TabNavigation
39
- tabs={defaultTabs}
40
- urlSync={{ paramName: 'section', replaceState: true }}
41
- defaultTab="overview"
42
- />
43
- ```
44
-
45
- The stories cover all major interaction patterns including two-tab layouts, default tab overrides, and custom styling through className props.
31
+ // Controlled tab navigation with status indicators
32
+ import { TabNavigation, TabItem } from '../components/ui/tab-navigation';
33
+ import { useState } from 'react';
34
+ import { Home, Settings } from 'lucide-react';
35
+
36
+ const tabs: TabItem[] = [
37
+ { id: 'home', label: 'Home', icon: Home, indicator: 'success' },
38
+ { id: 'settings', label: 'Settings', icon: Settings, indicator: 'warning' },
39
+ ];
40
+
41
+ export function MyPage() {
42
+ const [active, setActive] = useState('home');
43
+ return (
44
+ <TabNavigation
45
+ tabs={tabs}
46
+ activeTab={active}
47
+ onTabChange={setActive}
48
+ shadowClassName="from-ods-card"
49
+ >
50
+ {(activeTab) => <div>Viewing: {activeTab}</div>}
51
+ </TabNavigation>
52
+ );
53
+ }
54
+ ```