@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,50 +1,53 @@
1
- <!-- source-hash: 181d6a36f1bd5081fe46a5e8768d75ae -->
2
- This file defines Storybook stories for the Button component, providing comprehensive examples and interactive controls for all button variants, sizes, states, and icon combinations used throughout the Flamingo platform.
1
+ <!-- source-hash: da7a4cc8d96ad03653cebb8d1ec11d45 -->
2
+ Storybook stories for the `Button` UI component, covering all variants, sizes, states, icon configurations, and link behaviors with interactive controls.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Story Configuration:**
7
- - `Meta` configuration with extensive argTypes for variant, size, disabled, loading, alignment, and styling options
8
- - 20+ button variants including primary, secondary, destructive, Flamingo-themed, and specialized variants (search, filter, device-action)
9
- - Multiple size options from small to touch-friendly with icon-specific sizing
6
+ | Story | Description |
7
+ |---|---|
8
+ | `Accent` / `Outline` / `Transparent` / `Destructive` | Surface variant stories |
9
+ | `SizeDefault` / `SizeSmall` | Size variant stories |
10
+ | `IconOnly` / `WithLeftIcon` / `WithRightIcon` / `WithBothIcons` | Icon placement stories |
11
+ | `Disabled` / `Loading` / `FullWidth` | State stories |
12
+ | `SplitIcon` / `SplitIconOutline` / `SplitIconSmall` / `SplitIconAsLink` | Split-icon button variations |
13
+ | `AsLink` / `ExternalLink` | Button rendered as anchor tag |
14
+ | `AllVariants` / `AllSizes` / `IconButtonGrid` / `WithIconsShowcase` / `StatesShowcase` / `NotificationCounters` | Showcase/grid stories |
10
15
 
11
- **Story Categories:**
12
- - **Variant Stories**: Primary, Secondary, White, Outline, Ghost, Destructive, Success, Warning, Info, Flamingo variants
13
- - **Size Stories**: Small, Default, Large, Touch, Icon-only, and specialized search sizes
14
- - **Icon Stories**: Left, right, center, and combined icon placements with Lucide React icons
15
- - **State Stories**: Disabled, loading, link behaviors, and external link handling
16
- - **Layout Stories**: Alignment options, padding controls, and mobile responsiveness
17
- - **Showcase Stories**: Comprehensive displays of all variants, sizes, and icon combinations
16
+ **Controls exposed via `argTypes`:** `variant`, `size`, `fullWidth`, `disabled`, `loading`
18
17
 
19
18
  ## Usage Example
20
19
 
21
20
  ```typescript
22
- // Basic button story with variant and icon
23
- export const Primary: Story = {
21
+ // Minimal interactive story with controls
22
+ import { Button } from '../components/ui/button';
23
+
24
+ export const MyStory: Story = {
24
25
  args: {
25
- children: 'Primary Button',
26
- variant: 'primary',
26
+ children: 'Click me',
27
+ variant: 'accent',
28
+ size: 'default',
29
+ loading: false,
30
+ disabled: false,
27
31
  },
28
32
  };
29
33
 
30
- // Icon button with Lucide React icon
31
- export const WithLeftIcon: Story = {
34
+ // Split-icon button as a navigation link
35
+ export const SplitNav: Story = {
32
36
  args: {
33
- children: 'Add Item',
34
- leftIcon: <Plus />,
37
+ children: 'Docs',
38
+ href: '/docs',
39
+ splitIcon: <ExternalLinkIcon />,
40
+ variant: 'outline',
35
41
  },
36
42
  };
37
43
 
38
- // Complex showcase story with custom render function
39
- export const AllVariants: Story = {
40
- render: () => (
41
- <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
42
- <Button variant="primary">Primary</Button>
43
- <Button variant="secondary">Secondary</Button>
44
- <Button variant="destructive">Destructive</Button>
45
- </div>
46
- ),
44
+ // Icon-only with accessible label
45
+ export const IconAction: Story = {
46
+ args: {
47
+ size: 'icon',
48
+ variant: 'destructive',
49
+ leftIcon: <Trash2 />,
50
+ 'aria-label': 'Delete item',
51
+ },
47
52
  };
48
- ```
49
-
50
- The stories provide interactive controls for testing all button properties and include specialized showcases for icon buttons with numbers, external links, and comprehensive variant comparisons.
53
+ ```
@@ -0,0 +1,33 @@
1
+ <!-- source-hash: 995995dfe9715311703dcbbfc0fbba0b -->
2
+ Storybook stories for the `ChatTicketList` component, providing visual test cases across different ticket counts, statuses, and scroll/fade behaviors.
3
+
4
+ ## Key Components
5
+
6
+ - **`meta`** — Storybook metadata registering the component under `Chat/ChatTicketList` with autodocs and a `ticketClicked` action handler
7
+ - **`mockTickets`** — 5-item fixture dataset covering all ticket statuses: `ACTIVE`, `ON_HOLD`, `TECH_REQUIRED`, and `RESOLVED`
8
+ - **`manyTickets`** — 15-item extended dataset (includes `mockTickets`) for testing scroll and fade overflow scenarios
9
+ - **`constrainedDecorator`** — Factory returning a story decorator that wraps the component in a max-width 600px container with an optional fixed height, used to simulate real layout constraints
10
+
11
+ ## Exported Stories
12
+
13
+ | Story | Description |
14
+ |---|---|
15
+ | `Default` | 5 tickets, unconstrained height |
16
+ | `SingleTicket` | Only the first ticket rendered |
17
+ | `AllStatuses` | First 4 tickets showing each distinct status |
18
+ | `ScrollFading` | 15 tickets in a 400px container to demonstrate scroll fade |
19
+ | `ScrollFadingCompact` | 15 tickets in a 280px container for more pronounced fade |
20
+
21
+ ## Usage Example
22
+
23
+ ```typescript
24
+ // Replicate the ScrollFading story manually
25
+ import { ChatTicketList } from "../components/chat/chat-ticket-list";
26
+
27
+ <div style={{ maxWidth: 600, height: 400 }}>
28
+ <ChatTicketList
29
+ tickets={manyTickets}
30
+ onTicketClick={(ticket) => console.log(ticket)}
31
+ />
32
+ </div>
33
+ ```
@@ -1,47 +1,59 @@
1
- <!-- source-hash: 779ae7f91843f482308f472e8cad116a -->
2
- Storybook configuration file showcasing all variants and use cases of the CheckboxBlock component, including interactive examples for testing component behavior and visual states.
1
+ <!-- source-hash: d29f5d2cc4bf17eb228a4dc4aebe30a3 -->
2
+ Storybook stories for the `CheckboxBlock` UI component, covering all interactive states, variants, and theme configurations for visual testing and documentation.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **meta**: Main Storybook configuration object defining component metadata, parameters, and controls
7
- - **Story exports**: Multiple story variants demonstrating different states and configurations:
8
- - `Default` - Basic unchecked state
9
- - `RepeatScriptRun` - Figma design reference implementation
10
- - `Checked` - Pre-checked state
11
- - `Disabled/DisabledChecked` - Non-interactive states
12
- - `Controlled` - Interactive state management example
13
- - `WithDescription` variants - Taller layout with secondary text
14
- - `AllVariants` - Comprehensive comparison view
6
+ ### Stories Exported
7
+
8
+ | Story | Description |
9
+ |---|---|
10
+ | `Default` | Unchecked checkbox block baseline |
11
+ | `Checked` / `Disabled` / `DisabledChecked` | State variants |
12
+ | `Controlled` | Stateful example using `useState` with live feedback |
13
+ | `WithDescription` | Taller `h-16` variant with secondary description text |
14
+ | `Error` / `FlamingoError` | Red border validation failure state |
15
+ | `FlamingoChecked` | Pink accent theme via `data-app-type="flamingo"` wrapper |
16
+ | `AllVariants` | Side-by-side comparison of all variants |
17
+
18
+ ### Configured `argTypes`
19
+
20
+ - `label` — checkbox label text
21
+ - `checked` / `defaultChecked` — controlled vs. uncontrolled state
22
+ - `description` — optional secondary text below label
23
+ - `disabled` — disables interaction
24
+ - `onCheckedChange` — action callback on state change
15
25
 
16
26
  ## Usage Example
17
27
 
18
28
  ```typescript
19
29
  import { CheckboxBlock } from '../components/ui/checkbox-block';
20
- import { useState } from 'react';
21
30
 
22
- // Basic usage
23
- <CheckboxBlock label="Enable notifications" />
24
-
25
- // Controlled state
26
- const [isEnabled, setIsEnabled] = useState(false);
27
- <CheckboxBlock
28
- label="Controlled Option"
29
- checked={isEnabled}
30
- onCheckedChange={setIsEnabled}
31
- />
31
+ // Uncontrolled
32
+ <CheckboxBlock label="Repeat Script Run" defaultChecked />
32
33
 
33
34
  // With description
34
35
  <CheckboxBlock
35
36
  label="Run as User"
36
37
  description="Windows Only"
37
- defaultChecked={true}
38
+ disabled
39
+ />
40
+
41
+ // Controlled
42
+ const [checked, setChecked] = useState(false);
43
+ <CheckboxBlock
44
+ label="Controlled Checkbox"
45
+ checked={checked}
46
+ onCheckedChange={setChecked}
38
47
  />
39
48
 
40
- // Disabled state
49
+ // Error state
41
50
  <CheckboxBlock
42
- label="Unavailable Option"
43
- disabled={true}
51
+ label="Accept terms"
52
+ error="Please accept to continue."
44
53
  />
45
- ```
46
54
 
47
- The stories provide comprehensive testing scenarios for the ODS design system checkbox component, including dark theme styling, text wrapping behavior, and state management patterns.
55
+ // Flamingo theme
56
+ <div data-app-type="flamingo">
57
+ <CheckboxBlock label="Accept terms" defaultChecked />
58
+ </div>
59
+ ```
@@ -0,0 +1,47 @@
1
+ <!-- source-hash: 060ea3cce7fdd7cdb79d215a50260791 -->
2
+ Storybook stories for the `ContentLoader` UI component, showcasing all skeleton loading variants and configuration options.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Description |
7
+ |--------|-------------|
8
+ | `Card` | Default card-grid skeleton story |
9
+ | `Form` | Form fields skeleton story |
10
+ | `Detail` | Detail page with sidebar skeleton story |
11
+ | `List` | List rows with avatars skeleton story |
12
+ | `WithoutTitle` | Card variant without a title skeleton |
13
+ | `ManyItems` | Stress test with 8 list items |
14
+ | `SingleItem` | Single card skeleton |
15
+ | `CustomContainer` | Form skeleton with custom container class |
16
+ | `AllVariants` | Side-by-side showcase of all four variants using named loader components |
17
+ | `ShortcutComponents` | Demonstrates `CardLoader`, `FormLoader`, `DetailLoader`, `ListLoader` shortcut components |
18
+
19
+ ## Usage Example
20
+
21
+ ```typescript
22
+ import {
23
+ ContentLoader,
24
+ CardLoader,
25
+ FormLoader,
26
+ DetailLoader,
27
+ ListLoader,
28
+ } from '@/components/ui/content-loader';
29
+
30
+ // Generic loader with variant prop
31
+ <ContentLoader variant="card" items={4} showTitle />
32
+
33
+ // Shortcut components for common patterns
34
+ <CardLoader items={3} showTitle />
35
+ <FormLoader items={5} showTitle />
36
+ <DetailLoader items={2} showTitle containerClassName="bg-bg-card rounded-lg" />
37
+ <ListLoader items={8} />
38
+ ```
39
+
40
+ ## Controls
41
+
42
+ | Prop | Type | Range/Options |
43
+ |------|------|---------------|
44
+ | `variant` | `select` | `card`, `form`, `detail`, `list` |
45
+ | `items` | `number` | 1–12 |
46
+ | `showTitle` | `boolean` | `true` / `false` |
47
+ | `containerClassName` | `string` | Any Tailwind/CSS class string |
@@ -0,0 +1,57 @@
1
+ <!-- source-hash: 903a9f23525777b275b7f8c4003cd050 -->
2
+ Storybook stories for the `DashboardInfoCard` UI component, covering all props and visual states used in dashboard layouts.
3
+
4
+ ## Key Components
5
+
6
+ | Story | Description |
7
+ |---|---|
8
+ | `Default` | Basic card with title and numeric value |
9
+ | `WithPercentage` | Card showing a percentage alongside the value |
10
+ | `WithProgress` | Circular progress indicator with percentage |
11
+ | `CustomProgressVariant` | Progress ring with `error`/`warning`/`success`/`info`/`accent` variants |
12
+ | `WithTooltip` | Question-mark icon with tooltip text |
13
+ | `WithHref` | Clickable card rendered as a Next.js `Link` |
14
+ | `WarningWithTag` / `ErrorWithTag` | Overflow percentage displayed as a colored `Tag` component |
15
+ | `OverflowWrap` / `OverflowComparison` | Demonstrates `progressOverflow="wrap"` vs `"clamp"` for values >100% |
16
+ | `FullyLoaded` | All props enabled simultaneously |
17
+ | `CardGrid` | Multi-card dashboard grid layout decorator |
18
+
19
+ ## Usage Example
20
+
21
+ ```typescript
22
+ import { DashboardInfoCard } from '@/components/ui/dashboard-info-card'
23
+
24
+ // Basic usage
25
+ <DashboardInfoCard title="Total Devices" value={1284} />
26
+
27
+ // With progress ring and navigation
28
+ <DashboardInfoCard
29
+ title="Compliance Score"
30
+ value={92}
31
+ percentage={92}
32
+ showProgress
33
+ progressVariant="success"
34
+ tooltip="Based on the latest audit results"
35
+ href="/compliance"
36
+ />
37
+
38
+ // Overflow handling for values exceeding 100%
39
+ <DashboardInfoCard
40
+ title="Device Usage"
41
+ value={520}
42
+ percentage={104}
43
+ showProgress
44
+ progressVariant="warning"
45
+ progressOverflow="wrap"
46
+ />
47
+ ```
48
+
49
+ ### `progressVariant` options
50
+
51
+ | Value | Use Case |
52
+ |---|---|
53
+ | `success` | Healthy / on-target metrics |
54
+ | `warning` | Approaching limits |
55
+ | `error` | Critical / over-limit |
56
+ | `info` | Neutral informational |
57
+ | `accent` | Brand highlight |
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 4b92799da5c1a1952b02f5fb9273c343 -->
2
+ Storybook showcase for the `DataTable` component, demonstrating all interactive features (sorting, filtering, row selection, column visibility, pagination, and row actions) using a mock device dataset built on TanStack Table.
3
+
4
+ ## Key Components
5
+
6
+ - **`Basic`** — Minimal setup with data and columns; no extra state
7
+ - **`WithSorting`** — Consumer-owned sort cycle with `DataTableSortState`, supporting server-side or in-memory sorting
8
+ - **`useDataTable`** — Hook wrapping TanStack Table; accepts `data`, `columns`, and flags like `clientSideSorting` / `clientSideFiltering`
9
+ - **`baseColumns()`** — Reusable `ColumnDef<Device>[]` factory shared across stories, with responsive `hideAt` breakpoints
10
+ - **Cell renderers** — `StatusTag`, `OSBadge`, `OwnerCell`, `TagsCell`, `LoadCell`, `LastSeenCell` — composable display-only cells
11
+ - **`multiSelectFilterFn`** — Column filter function for multi-value faceted filtering (OS, Status)
12
+ - **`makeDevices(count, startId?)`** — Deterministic fake device data generator seeded by index
13
+
14
+ ## Usage Example
15
+
16
+ ```typescript
17
+ import { DataTable, useDataTable, type ColumnDef } from '@/components/ui/data-table'
18
+
19
+ const columns: ColumnDef<Device>[] = [
20
+ { accessorKey: 'hostname', header: 'Hostname', meta: { width: 'w-[200px]' } },
21
+ { accessorKey: 'status', header: 'Status', cell: ({ row }) => <StatusTag status={row.original.status} /> },
22
+ ]
23
+
24
+ export function DevicesTable({ data }: { data: Device[] }) {
25
+ const table = useDataTable<Device>({
26
+ data,
27
+ columns,
28
+ clientSideSorting: true,
29
+ clientSideFiltering: true,
30
+ })
31
+
32
+ return (
33
+ <DataTable table={table}>
34
+ <DataTable.Header />
35
+ <DataTable.Body emptyMessage="No devices found" />
36
+ </DataTable>
37
+ )
38
+ }
39
+ ```
40
+
41
+ > **Note:** Row actions, checkboxes, and chevron links are regular `ColumnDef` entries — not magic props. Use `data-no-row-click` on interactive cell wrappers to prevent click-event bubbling to `onRowClick`.
@@ -1,62 +1,76 @@
1
- <!-- source-hash: 2b92f85e98364061f3915eb05ec9e989 -->
2
- Comprehensive Storybook stories for the DatePicker component, demonstrating all variants including single date, date range, time selection, and input-style pickers with interactive examples.
1
+ <!-- source-hash: 62c605b851ea957354fc89970178b5ca -->
2
+ Storybook stories for the `DatePicker` UI component, covering single date, date range, input variants, time selection, constraints, and all-variants showcase.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Meta Configuration**: Defines Storybook metadata with UI category, component documentation, and control configurations
7
- - **Story Variants**: 15+ interactive stories covering different DatePicker modes and configurations
8
- - **DatePicker Stories**: Basic picker variants (single, range, disabled, constraints)
9
- - **DatePickerInput Stories**: Input-style variants with time selection and formatting options
10
- - **Composite Stories**: All variants showcase and complex usage examples
6
+ | Export | Description |
7
+ |--------|-------------|
8
+ | `Single` | Basic single-date picker, uncontrolled initial state |
9
+ | `SingleWithValue` | Single picker pre-seeded with today's date |
10
+ | `Range` | Date range picker (from/to selection) |
11
+ | `RangeWithValue` | Range picker pre-filled with today + 7 days |
12
+ | `RangeTwoMonths` | Range picker showing two calendar months simultaneously |
13
+ | `Disabled` | Non-interactive picker in disabled state |
14
+ | `WithLabel` / `WithLabelAndError` | Picker with ODS label and optional error message |
15
+ | `RangeWithLabel` | Range picker with label |
16
+ | `CustomFormat` | Single picker with custom `formatDate` callback (en-GB locale) |
17
+ | `WithConstraints` | Single picker limited to the next 30 days via `fromDate`/`toDate` |
18
+ | `InputStyle` | `DatePickerInput` — calendar-icon-styled input variant |
19
+ | `InputWithLabel` / `InputWithLabelAndError` | Input variant with label/error |
20
+ | `InputWithTimeEmpty` | `DatePickerInput` with `showTime`, no initial value |
21
+ | `InputWithTime` | `DatePickerInput` with `showTime`, pre-seeded with today |
22
+ | `InputWithTime24Hour` | `DatePickerInput` with `use24HourFormat` flag |
23
+ | `AllVariants` | Side-by-side showcase of all major variants |
11
24
 
12
25
  ## Usage Example
13
26
 
14
27
  ```typescript
15
- // Basic single date picker story
16
- export const Single: Story = {
17
- render: function Render() {
18
- const [date, setDate] = useState<Date | undefined>();
19
- return (
20
- <DatePicker
21
- mode="single"
22
- placeholder="Select date"
23
- value={date}
24
- onChange={setDate}
25
- />
26
- );
27
- },
28
- };
28
+ import { useState } from "react";
29
+ import {
30
+ DatePicker,
31
+ DatePickerInput,
32
+ type DateRange,
33
+ } from "../components/ui/date-picker";
29
34
 
30
- // Date range picker with two months
31
- export const RangeTwoMonths: Story = {
32
- render: function Render() {
33
- const [range, setRange] = useState<DateRange | undefined>();
34
- return (
35
- <DatePicker
36
- mode="range"
37
- placeholder="Select date range"
38
- value={range}
39
- onChange={setRange}
40
- numberOfMonths={2}
41
- />
42
- );
43
- },
44
- };
35
+ // Single date picker
36
+ function SingleExample() {
37
+ const [date, setDate] = useState<Date | undefined>();
38
+ return (
39
+ <DatePicker
40
+ mode="single"
41
+ placeholder="Select date"
42
+ value={date}
43
+ onChange={setDate}
44
+ label="Start Date"
45
+ />
46
+ );
47
+ }
45
48
 
46
- // Input-style picker with time selection
47
- export const InputWithTime: Story = {
48
- render: function Render() {
49
- const [date, setDate] = useState<Date | undefined>(new Date());
50
- return (
51
- <DatePickerInput
52
- placeholder="Select date"
53
- value={date}
54
- onChange={setDate}
55
- showTime
56
- />
57
- );
58
- },
59
- };
60
- ```
49
+ // Range picker with two months
50
+ function RangeExample() {
51
+ const [range, setRange] = useState<DateRange | undefined>();
52
+ return (
53
+ <DatePicker
54
+ mode="range"
55
+ placeholder="Select date range"
56
+ value={range}
57
+ onChange={setRange}
58
+ numberOfMonths={2}
59
+ />
60
+ );
61
+ }
61
62
 
62
- The stories provide comprehensive coverage of DatePicker functionality including state management, formatting, constraints, and different UI presentations for Storybook documentation.
63
+ // Input variant with time (12h)
64
+ function InputTimeExample() {
65
+ const [date, setDate] = useState<Date | undefined>(new Date());
66
+ return (
67
+ <DatePickerInput
68
+ placeholder="Select date and time"
69
+ value={date}
70
+ onChange={setDate}
71
+ showTime
72
+ label="Event Date"
73
+ />
74
+ );
75
+ }
76
+ ```
@@ -1,50 +1,51 @@
1
- <!-- source-hash: 2dee21bf038d1057bc04d6d84a1ed675 -->
2
- A comprehensive Storybook configuration file that defines stories for the DeviceCard component, showcasing various device states, operating systems, and interaction patterns across different use cases.
1
+ <!-- source-hash: 79398b1e78d30f30fbc2dcd2bf7f5787 -->
2
+ Storybook stories for the `DeviceCard` UI component, covering all major display states, OS variants, action configurations, and status badges.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **Meta Configuration**: Storybook metadata with component info, parameter settings, and argument type definitions
7
- - **Base Device Template**: Reusable device object for consistent story data
8
- - **Story Variants**: Multiple stories covering different device types (Windows, Linux, macOS), status states, and feature combinations
9
- - **Interactive Examples**: Stories with custom actions, click handlers, and status badges
10
- - **Layout Stories**: Grid layout demonstration and fully-loaded device examples
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `Default` | `Story` | Basic device card with minimal info |
9
+ | `WindowsDevice` / `LinuxDevice` | `Story` | OS-specific rendering variants |
10
+ | `WithTags` | `Story` | Device card with tag pills |
11
+ | `WithCustomActions` | `Story` | Custom action buttons (Remote Access, Run Script) |
12
+ | `WithDetailsButton` | `Story` | Inline details button via `detailsButton.component` |
13
+ | `WithStatusBadge` / `WithWarningStatus` / `OfflineDevice` | `Story` | Status tag variants (`success`, `warning`, `grey`) |
14
+ | `Minimal` | `Story` | Bare-minimum fields, no more button |
15
+ | `FullyLoaded` | `Story` | All props populated including IP, version, location |
16
+ | `CardGrid` | `Story` | Grid layout decorator showing 4 cards side-by-side |
11
17
 
12
18
  ## Usage Example
13
19
 
14
20
  ```typescript
15
- // Basic device story
16
- export const Default: Story = {
17
- args: {
18
- device: {
19
- id: '1',
20
- name: 'MacBook Pro',
21
- operatingSystem: 'darwin',
22
- organization: 'Engineering Team',
23
- status: 'active',
24
- lastSeen: new Date().toISOString(),
25
- },
26
- },
27
- }
21
+ import { DeviceCard } from '../components/ui/device-card'
28
22
 
29
- // Device with custom actions and status badge
30
- export const WithCustomFeatures: Story = {
31
- args: {
32
- device: baseDevice,
33
- actions: {
34
- moreButton: { visible: true },
35
- customActions: [
36
- { label: 'Remote Access', visible: true },
37
- { label: 'Run Script', visible: true },
38
- ],
39
- },
40
- statusBadgeComponent: (
41
- <div className="bg-green-500/20 text-green-500 px-2 py-1 rounded text-sm">
42
- Online
43
- </div>
44
- ),
45
- onDeviceClick: (device) => console.log('Device clicked:', device),
46
- },
47
- }
23
+ <DeviceCard
24
+ device={{
25
+ id: '1',
26
+ name: 'MacBook Pro',
27
+ operatingSystem: 'darwin',
28
+ organization: 'Engineering Team',
29
+ status: 'active',
30
+ lastSeen: new Date().toISOString(),
31
+ tags: ['Production', 'Critical'],
32
+ }}
33
+ actions={{
34
+ moreButton: { visible: true },
35
+ customActions: [
36
+ { label: 'Remote Access', visible: true },
37
+ ],
38
+ }}
39
+ statusTag={{ label: 'Online', variant: 'success' }}
40
+ onDeviceClick={(device) => console.log('Clicked:', device)}
41
+ />
48
42
  ```
49
43
 
50
- The stories cover essential testing scenarios including different operating systems, status states, custom actions, tags, and interactive behaviors for comprehensive component documentation and testing.
44
+ ## Controlled Props (argTypes)
45
+
46
+ | Prop | Control | Description |
47
+ |------|---------|-------------|
48
+ | `device` | `object` | Device data including OS, org, status, tags |
49
+ | `actions` | `object` | `moreButton`, `customActions`, `detailsButton` config |
50
+ | `statusTag` | `object` | `label`, `variant`, `icon`, `onClose`, `className` |
51
+ | `onDeviceClick` | `action` | Fired when the card is clicked |
@@ -0,0 +1,41 @@
1
+ <!-- source-hash: 6fc9c281d1bf67add13a5a334f1d1bf3 -->
2
+ Storybook stories for the `DeviceCardCompact` component, providing interactive documentation and visual test cases for its compact device card variant used in table cells.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `Default` | `Story` | Both `deviceName` and `organization` populated |
9
+ | `NameOnly` | `Story` | Only `deviceName` provided |
10
+ | `OrganizationOnly` | `Story` | Only `organization` provided |
11
+ | `Empty` | `Story` | No props — renders empty fragment |
12
+ | `NullValues` | `Story` | Explicit `null` props — renders empty fragment |
13
+ | `DashValues` | `Story` | Dash placeholder (`"-"`) props — renders empty fragment |
14
+ | `StringNullValues` | `Story` | String `"null"` props — renders empty fragment |
15
+ | `LongName` | `Story` | Truncation behavior with long strings |
16
+ | `InTableContext` | `Story` | Multiple stacked cards simulating a table column |
17
+
18
+ ## Usage Example
19
+
20
+ ```typescript
21
+ import { DeviceCardCompact } from '../components/ui/device-card-compact'
22
+
23
+ // Typical table cell usage
24
+ <DeviceCardCompact
25
+ deviceName="MacBook Pro"
26
+ organization="Engineering Team"
27
+ />
28
+
29
+ // Name only — organization row is omitted
30
+ <DeviceCardCompact deviceName="Dell XPS 15" />
31
+
32
+ // Gracefully handles empty/null/dash/string-null values
33
+ <DeviceCardCompact deviceName={null} organization="-" />
34
+ // → renders nothing (empty fragment)
35
+ ```
36
+
37
+ ## Notes
38
+
39
+ - The meta decorator wraps every story in a `300px` container to simulate a realistic table cell width.
40
+ - `InTableContext` overrides the decorator to render a full bordered list of four cards, demonstrating stacked row rendering.
41
+ - `argTypes` exposes `deviceName` and `organization` as text controls in the Storybook UI for live editing.