@digithings-ai/ui 0.0.0-stage → 0.1.0

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 (424) hide show
  1. package/README.md +48 -2
  2. package/package.json +143 -4
  3. package/src/components/NavShell.tsx +776 -0
  4. package/src/components/SocialRow.tsx +87 -0
  5. package/src/components/Spinner.tsx +27 -0
  6. package/src/components/StackLogo.tsx +40 -0
  7. package/src/components/Terminal.tsx +110 -0
  8. package/src/components/TerminalManifest.tsx +212 -0
  9. package/src/components/ThemeProvider.tsx +271 -0
  10. package/src/components/account/AuthCard.tsx +309 -0
  11. package/src/components/assistant-ui/elements/mermaid-diagram.aui.tsx +63 -0
  12. package/src/components/assistant-ui/elements/mermaid-diagram.tsx +340 -0
  13. package/src/components/brand/BrandWordmark.tsx +32 -0
  14. package/src/components/changelog/ReleaseRail.tsx +81 -0
  15. package/src/components/changelog/index.ts +1 -0
  16. package/src/components/chat/ChatCodeBlock.tsx +67 -0
  17. package/src/components/chat/ChatMarkdown.tsx +66 -0
  18. package/src/components/chat/ChatMarkdownSource.tsx +203 -0
  19. package/src/components/chat/ChatMermaidBlock.tsx +202 -0
  20. package/src/components/chat/ChatMessage.tsx +77 -0
  21. package/src/components/chat/ChatPlayback.tsx +422 -0
  22. package/src/components/chat/ChatStreamCursor.tsx +25 -0
  23. package/src/components/chat/ChatThinking.tsx +113 -0
  24. package/src/components/chat/ChatToolCall.tsx +190 -0
  25. package/src/components/chat/ChatTranscript.tsx +60 -0
  26. package/src/components/chat/ChatWidgetFrame.tsx +107 -0
  27. package/src/components/chat/DigichatBootLoader.tsx +683 -0
  28. package/src/components/chat/DigichatLauncher.tsx +361 -0
  29. package/src/components/chat/DigichatThread.tsx +118 -0
  30. package/src/components/chat/DigichatThreadList.tsx +54 -0
  31. package/src/components/chat/DigichatWordmark.tsx +24 -0
  32. package/src/components/chat/DotMatrix.tsx +650 -0
  33. package/src/components/chat/boot-lab.tsx +766 -0
  34. package/src/components/chat/boot-signal.ts +144 -0
  35. package/src/components/chat/chat-surfaces.ts +52 -0
  36. package/src/components/chat/connection-status.ts +40 -0
  37. package/src/components/chat/digichat-wordmark.ts +355 -0
  38. package/src/components/chat/disclosure-chevron.tsx +49 -0
  39. package/src/components/chat/followable-href.ts +9 -0
  40. package/src/components/chat/gallery-thread/action-icons.tsx +25 -0
  41. package/src/components/chat/gallery-thread/attachment.aui.tsx +262 -0
  42. package/src/components/chat/gallery-thread/block-caret.tsx +439 -0
  43. package/src/components/chat/gallery-thread/cn.ts +1 -0
  44. package/src/components/chat/gallery-thread/composer-keyboard.ts +106 -0
  45. package/src/components/chat/gallery-thread/composer-trigger-popover.aui.tsx +235 -0
  46. package/src/components/chat/gallery-thread/css.d.ts +6 -0
  47. package/src/components/chat/gallery-thread/file.tsx +238 -0
  48. package/src/components/chat/gallery-thread/follow-up-suggestions.aui.tsx +92 -0
  49. package/src/components/chat/gallery-thread/format-json-dump.ts +112 -0
  50. package/src/components/chat/gallery-thread/hooks/use-attachment-src.ts +46 -0
  51. package/src/components/chat/gallery-thread/hooks/use-copy-to-clipboard.ts +9 -0
  52. package/src/components/chat/gallery-thread/image.tsx +519 -0
  53. package/src/components/chat/gallery-thread/markdown-text.tsx +278 -0
  54. package/src/components/chat/gallery-thread/message-error.aui.tsx +105 -0
  55. package/src/components/chat/gallery-thread/message-timing.aui.tsx +143 -0
  56. package/src/components/chat/gallery-thread/private-work-step.tsx +188 -0
  57. package/src/components/chat/gallery-thread/reasoning.tsx +332 -0
  58. package/src/components/chat/gallery-thread/scroll-mode.ts +174 -0
  59. package/src/components/chat/gallery-thread/source.tsx +76 -0
  60. package/src/components/chat/gallery-thread/thread.aui.tsx +1619 -0
  61. package/src/components/chat/gallery-thread/tooltip-icon-button.tsx +53 -0
  62. package/src/components/chat/gallery-thread/typed-welcome-copy.tsx +18 -0
  63. package/src/components/chat/gallery-thread/ui/tooltip.tsx +22 -0
  64. package/src/components/chat/gallery-thread/work-chain-summary.tsx +48 -0
  65. package/src/components/chat/gallery-thread/work-chain.tsx +110 -0
  66. package/src/components/chat/gallery-thread/work-status.ts +66 -0
  67. package/src/components/chat/overlay-scrollbar.tsx +86 -0
  68. package/src/components/chat/sanitize-mermaid-svg.ts +38 -0
  69. package/src/components/chat/skins/SOURCE.md +36 -0
  70. package/src/components/chat/skins/base/attachment.aui.tsx +287 -0
  71. package/src/components/chat/skins/base/aui-default/README.md +45 -0
  72. package/src/components/chat/skins/base/aui-default/collapsible-root.tsx +19 -0
  73. package/src/components/chat/skins/base/aui-default/collapsible.tsx +21 -0
  74. package/src/components/chat/skins/base/aui-default/reasoning.aui.tsx +120 -0
  75. package/src/components/chat/skins/base/aui-default/reasoning.tsx +331 -0
  76. package/src/components/chat/skins/base/aui-default/surfaces.ts +7 -0
  77. package/src/components/chat/skins/base/aui-default/tool-fallback.aui.tsx +772 -0
  78. package/src/components/chat/skins/base/aui-default/tool-group.aui.tsx +241 -0
  79. package/src/components/chat/skins/base/docs-model-options.ts +6 -0
  80. package/src/components/chat/skins/base/elements/assistant-trace.aui.tsx +169 -0
  81. package/src/components/chat/skins/base/elements/composer-trigger-popover.aui.tsx +271 -0
  82. package/src/components/chat/skins/base/elements/directive-text.aui.tsx +29 -0
  83. package/src/components/chat/skins/base/elements/directive-text.tsx +76 -0
  84. package/src/components/chat/skins/base/elements/message-timing.aui.tsx +104 -0
  85. package/src/components/chat/skins/base/elements/model-selector.aui.tsx +140 -0
  86. package/src/components/chat/skins/base/elements/model-selector.tsx +720 -0
  87. package/src/components/chat/skins/base/elements/quote.aui.tsx +290 -0
  88. package/src/components/chat/skins/base/elements/work-chain.tsx +100 -0
  89. package/src/components/chat/skins/base/markdown-text.tsx +294 -0
  90. package/src/components/chat/skins/base/model.ts +1 -0
  91. package/src/components/chat/skins/base/thread.tsx +1050 -0
  92. package/src/components/chat/skins/base/tooltip-icon-button.tsx +56 -0
  93. package/src/components/chat/skins/base/ui/avatar.tsx +115 -0
  94. package/src/components/chat/skins/base/ui/badge.tsx +51 -0
  95. package/src/components/chat/skins/base/ui/button.tsx +67 -0
  96. package/src/components/chat/skins/base/ui/command.tsx +185 -0
  97. package/src/components/chat/skins/base/ui/dialog.tsx +168 -0
  98. package/src/components/chat/skins/base/ui/dot-matrix.tsx +267 -0
  99. package/src/components/chat/skins/base/ui/popover.tsx +97 -0
  100. package/src/components/chat/skins/base/ui/skeleton.tsx +20 -0
  101. package/src/components/chat/skins/base/ui/textarea.tsx +24 -0
  102. package/src/components/chat/skins/base/ui/tooltip.tsx +73 -0
  103. package/src/components/chat/skins/base-assistant-ui/config-provider.tsx +90 -0
  104. package/src/components/chat/skins/base-assistant-ui/defaults.ts +419 -0
  105. package/src/components/chat/skins/base-assistant-ui/index.tsx +44 -0
  106. package/src/components/chat/skins/chatgpt.tsx +448 -0
  107. package/src/components/chat/skins/claude.tsx +380 -0
  108. package/src/components/chat/skins/digichat-composer-toolbar.tsx +151 -0
  109. package/src/components/chat/skins/digichat-context-meter-shares.ts +158 -0
  110. package/src/components/chat/skins/digichat-context-meter.tsx +243 -0
  111. package/src/components/chat/skins/digichat-meter-tone.ts +26 -0
  112. package/src/components/chat/skins/digichat-usage-meter.tsx +103 -0
  113. package/src/components/chat/skins/digichat.tsx +144 -0
  114. package/src/components/chat/skins/expo-react-native.tsx +29 -0
  115. package/src/components/chat/skins/gemini.tsx +322 -0
  116. package/src/components/chat/skins/grok-icon.tsx +34 -0
  117. package/src/components/chat/skins/grok.tsx +369 -0
  118. package/src/components/chat/skins/index.ts +46 -0
  119. package/src/components/chat/skins/perplexity.tsx +462 -0
  120. package/src/components/chat/skins/product-page-assistant/assistant-modal.tsx +73 -0
  121. package/src/components/chat/skins/product-page-assistant/index.tsx +19 -0
  122. package/src/components/chat/skins/product-page-assistant/product-dashboard.tsx +164 -0
  123. package/src/components/chat/skins/react-ink.tsx +97 -0
  124. package/src/components/chat/skins/thread-skin-host-contract.ts +102 -0
  125. package/src/components/chat/skins/thread-skin-view.tsx +156 -0
  126. package/src/components/chat/skins/thread-skins.ts +143 -0
  127. package/src/components/chat/skins/tooltip-icon-button.tsx +35 -0
  128. package/src/components/chat/skins/ui/dropdown-menu.tsx +272 -0
  129. package/src/components/chat/skins/webpage-assistant/assistant-config.ts +238 -0
  130. package/src/components/chat/skins/webpage-assistant/assistant-modal.tsx +78 -0
  131. package/src/components/chat/skins/webpage-assistant/config-provider.tsx +132 -0
  132. package/src/components/chat/skins/webpage-assistant/docs-app.tsx +106 -0
  133. package/src/components/chat/skins/webpage-assistant/docs-article.tsx +109 -0
  134. package/src/components/chat/skins/webpage-assistant/docs-assistant.tsx +73 -0
  135. package/src/components/chat/skins/webpage-assistant/docs-nav.tsx +81 -0
  136. package/src/components/chat/skins/webpage-assistant/host-ui.ts +79 -0
  137. package/src/components/chat/skins/webpage-assistant/index.tsx +12 -0
  138. package/src/components/chat/skins/webpage-assistant/markdown-page.tsx +11 -0
  139. package/src/components/chat/skins/webpage-assistant/pages.ts +9 -0
  140. package/src/components/chat/skins/webpage-assistant/types.ts +178 -0
  141. package/src/components/chat/skins/webpage-assistant/use-mobile.ts +19 -0
  142. package/src/components/chat/stock/SOURCE.md +90 -0
  143. package/src/components/chat/stock/artifacts-panel.tsx +305 -0
  144. package/src/components/chat/stock/attachment.aui.tsx +280 -0
  145. package/src/components/chat/stock/chat-notice.tsx +143 -0
  146. package/src/components/chat/stock/chat-private-mode.tsx +64 -0
  147. package/src/components/chat/stock/deploy-ui-context.tsx +89 -0
  148. package/src/components/chat/stock/embed-chat-prefs.tsx +471 -0
  149. package/src/components/chat/stock/file.tsx +265 -0
  150. package/src/components/chat/stock/follow-up-suggestions.aui.tsx +83 -0
  151. package/src/components/chat/stock/image.tsx +531 -0
  152. package/src/components/chat/stock/index.ts +129 -0
  153. package/src/components/chat/stock/json-view.tsx +140 -0
  154. package/src/components/chat/stock/markdown-text.tsx +319 -0
  155. package/src/components/chat/stock/message-error.aui.tsx +96 -0
  156. package/src/components/chat/stock/message-export-menu.tsx +156 -0
  157. package/src/components/chat/stock/palette-row-preview.tsx +26 -0
  158. package/src/components/chat/stock/reasoning.aui.tsx +120 -0
  159. package/src/components/chat/stock/reasoning.tsx +335 -0
  160. package/src/components/chat/stock/skin-chrome.tsx +81 -0
  161. package/src/components/chat/stock/skin-credit.tsx +63 -0
  162. package/src/components/chat/stock/skin-palette-bridge.tsx +235 -0
  163. package/src/components/chat/stock/skin-palette-context.ts +16 -0
  164. package/src/components/chat/stock/skin-runtime.tsx +52 -0
  165. package/src/components/chat/stock/skin-slash-palette.tsx +393 -0
  166. package/src/components/chat/stock/skin-types.ts +217 -0
  167. package/src/components/chat/stock/stock-chat-prefs-host.tsx +501 -0
  168. package/src/components/chat/stock/stock-send-gate.tsx +94 -0
  169. package/src/components/chat/stock/stock-shape.tsx +39 -0
  170. package/src/components/chat/stock/thread.aui.tsx +645 -0
  171. package/src/components/chat/stock/tool-display.ts +6 -0
  172. package/src/components/chat/stock/tool-fallback.aui.tsx +866 -0
  173. package/src/components/chat/stock/tool-group.aui.tsx +244 -0
  174. package/src/components/chat/stock/tool-surface.ts +120 -0
  175. package/src/components/chat/stock/tooltip-icon-button.tsx +49 -0
  176. package/src/components/chat/stock/ui/avatar.tsx +108 -0
  177. package/src/components/chat/stock/ui/button.tsx +81 -0
  178. package/src/components/chat/stock/ui/collapsible.tsx +21 -0
  179. package/src/components/chat/stock/ui/dialog.tsx +163 -0
  180. package/src/components/chat/stock/ui/skeleton.tsx +13 -0
  181. package/src/components/chat/stock/ui/textarea.tsx +20 -0
  182. package/src/components/chat/stock/ui/tooltip.tsx +68 -0
  183. package/src/components/chat/stock/use-attachment-src.ts +42 -0
  184. package/src/components/chat/stock/use-copy-to-clipboard.ts +29 -0
  185. package/src/components/chat/strip-model-boilerplate.ts +42 -0
  186. package/src/components/chat/suggestion-cycle.tsx +230 -0
  187. package/src/components/chat/suggestion-scroll-row.tsx +81 -0
  188. package/src/components/chat/trace-grouping/chain-group-by.ts +44 -0
  189. package/src/components/chat/trace-grouping/chain-state.ts +141 -0
  190. package/src/components/chat/trace-grouping/index.ts +32 -0
  191. package/src/components/chat/trace-grouping/tool-row.ts +74 -0
  192. package/src/components/chat/trace-grouping/use-deploy-work-disclosure.ts +35 -0
  193. package/src/components/chat/trace-grouping/use-work-chain.ts +103 -0
  194. package/src/components/chat/trace-i18n/core.ts +48 -0
  195. package/src/components/chat/trace-i18n/index.tsx +23 -0
  196. package/src/components/chat/trace-i18n/locales/en.ts +24 -0
  197. package/src/components/chat/trace-i18n/locales/fr.ts +28 -0
  198. package/src/components/chat/trace-i18n/types.ts +35 -0
  199. package/src/components/chat/trace-spacing.ts +249 -0
  200. package/src/components/chat/transcript/activity-view.ts +375 -0
  201. package/src/components/chat/transcript/chat-export.ts +133 -0
  202. package/src/components/chat/transcript/index.ts +10 -0
  203. package/src/components/chat/transcript/save-file.ts +209 -0
  204. package/src/components/chat/transcript/transcript-markdown.ts +428 -0
  205. package/src/components/chat/transcript/types.ts +81 -0
  206. package/src/components/chat/turn-outcome.ts +52 -0
  207. package/src/components/chat/use-warmup-phase.ts +18 -0
  208. package/src/components/chat/work-status-lead.tsx +49 -0
  209. package/src/components/chrome.tsx +264 -0
  210. package/src/components/command-palette/CommandPalette.tsx +404 -0
  211. package/src/components/command-palette/index.ts +6 -0
  212. package/src/components/contact/ContactMailto.tsx +112 -0
  213. package/src/components/contact/index.ts +5 -0
  214. package/src/components/conviction/ConvictionMeter.tsx +40 -0
  215. package/src/components/conviction/SignedConvictionBadge.tsx +26 -0
  216. package/src/components/conviction/index.ts +7 -0
  217. package/src/components/data-layout/BentoGrid.tsx +52 -0
  218. package/src/components/data-layout/CardRail.tsx +150 -0
  219. package/src/components/data-layout/DotMatrixStat.tsx +65 -0
  220. package/src/components/data-layout/FeatureCell.tsx +80 -0
  221. package/src/components/data-layout/MediaFrame.tsx +125 -0
  222. package/src/components/data-layout/ModuleGrid.tsx +735 -0
  223. package/src/components/data-layout/Odometer.tsx +149 -0
  224. package/src/components/data-layout/ProductFrame.tsx +79 -0
  225. package/src/components/data-layout/TestimonialWall.tsx +139 -0
  226. package/src/components/data-layout/index.ts +19 -0
  227. package/src/components/data-layout/treemap.ts +368 -0
  228. package/src/components/deck/DeckStack.tsx +243 -0
  229. package/src/components/desk/DataTable.tsx +373 -0
  230. package/src/components/desk/KpiGrid.tsx +80 -0
  231. package/src/components/desk/Sparkline.tsx +63 -0
  232. package/src/components/desk/StateBlock.tsx +132 -0
  233. package/src/components/desk/index.ts +18 -0
  234. package/src/components/diagrams/ArchitectureDiagram.tsx +350 -0
  235. package/src/components/diagrams/ArchitectureTour.tsx +912 -0
  236. package/src/components/diagrams/TerminalSchematic.tsx +192 -0
  237. package/src/components/diagrams/architecture-svg.tsx +384 -0
  238. package/src/components/diagrams/index.ts +30 -0
  239. package/src/components/diagrams/mermaid-theme.ts +115 -0
  240. package/src/components/diagrams/tour-camera.ts +171 -0
  241. package/src/components/docs/CodeTabs.tsx +90 -0
  242. package/src/components/docs/CopyCommand.tsx +151 -0
  243. package/src/components/docs/DocsLayout.tsx +197 -0
  244. package/src/components/docs/DocsSearch.tsx +97 -0
  245. package/src/components/docs/Endpoint.tsx +135 -0
  246. package/src/components/document/DocumentFrame.tsx +43 -0
  247. package/src/components/document/GlyphList.tsx +51 -0
  248. package/src/components/document/PageTitle.tsx +44 -0
  249. package/src/components/document/Prose.tsx +38 -0
  250. package/src/components/document/Section.tsx +55 -0
  251. package/src/components/document/index.ts +13 -0
  252. package/src/components/effects-chrome/AnnouncementBar.tsx +88 -0
  253. package/src/components/effects-chrome/HorizontalScrollTrack.tsx +461 -0
  254. package/src/components/effects-chrome/Pipeline.tsx +226 -0
  255. package/src/components/effects-chrome/RotatingPrompts.tsx +116 -0
  256. package/src/components/effects-chrome/StackingPanels.tsx +101 -0
  257. package/src/components/effects-chrome/TabStrip.tsx +232 -0
  258. package/src/components/effects-chrome/ToastStack.tsx +201 -0
  259. package/src/components/effects-chrome/horizontal-track-core.ts +70 -0
  260. package/src/components/effects-chrome/index.ts +35 -0
  261. package/src/components/emblems.tsx +188 -0
  262. package/src/components/faviconTheme.ts +23 -0
  263. package/src/components/figure/Figure.tsx +38 -0
  264. package/src/components/figure/index.ts +2 -0
  265. package/src/components/finance-charts/DrawdownPlot.tsx +76 -0
  266. package/src/components/finance-charts/EquityCurve.tsx +71 -0
  267. package/src/components/finance-charts/PriceChart.tsx +119 -0
  268. package/src/components/finance-charts/chart-host.tsx +236 -0
  269. package/src/components/finance-charts/chart-scale.ts +93 -0
  270. package/src/components/finance-charts/demo-data.ts +88 -0
  271. package/src/components/finance-charts/index.ts +46 -0
  272. package/src/components/finance-charts/lw-chart.tsx +292 -0
  273. package/src/components/finance-composites/MarketBar.tsx +243 -0
  274. package/src/components/finance-composites/OrderBook.tsx +133 -0
  275. package/src/components/finance-composites/PerformanceDashboard.tsx +185 -0
  276. package/src/components/finance-composites/SortableTable.tsx +144 -0
  277. package/src/components/finance-composites/StockTicker.tsx +65 -0
  278. package/src/components/finance-composites/SyncedTearsheet.tsx +226 -0
  279. package/src/components/finance-composites/index.ts +28 -0
  280. package/src/components/finance-tearsheet/KpiStrip.tsx +49 -0
  281. package/src/components/finance-tearsheet/LiveBadge.tsx +29 -0
  282. package/src/components/finance-tearsheet/ReturnsMatrix.tsx +321 -0
  283. package/src/components/finance-tearsheet/StrategyTearsheet.tsx +99 -0
  284. package/src/components/finance-tearsheet/TearsheetCard.tsx +54 -0
  285. package/src/components/finance-tearsheet/TradeLogTable.tsx +73 -0
  286. package/src/components/finance-tearsheet/charts.tsx +2624 -0
  287. package/src/components/finance-tearsheet/demo-data.ts +177 -0
  288. package/src/components/finance-tearsheet/format.ts +41 -0
  289. package/src/components/finance-tearsheet/index.ts +120 -0
  290. package/src/components/finance-tearsheet/print.ts +52 -0
  291. package/src/components/finance-tearsheet/risk-bands.ts +48 -0
  292. package/src/components/finance-tearsheet/stats.ts +35 -0
  293. package/src/components/finance-tearsheet/strategy-sheet-model.ts +238 -0
  294. package/src/components/finance-tearsheet/types.ts +58 -0
  295. package/src/components/footer/FooterCells.tsx +109 -0
  296. package/src/components/footer/index.ts +6 -0
  297. package/src/components/graph.tsx +158 -0
  298. package/src/components/icons.tsx +98 -0
  299. package/src/components/landing/PixelWordmark.tsx +36 -0
  300. package/src/components/logos.ts +39 -0
  301. package/src/components/marquee/Marquee.tsx +204 -0
  302. package/src/components/metrics/PerfMetrics.tsx +68 -0
  303. package/src/components/metrics/StatCounter.tsx +104 -0
  304. package/src/components/page-geometry.tsx +177 -0
  305. package/src/components/pricing/Pricing.tsx +174 -0
  306. package/src/components/pricing/PricingMatrix.tsx +219 -0
  307. package/src/components/prose/index.ts +2 -0
  308. package/src/components/prose/prose.tsx +86 -0
  309. package/src/components/repo-activity/RepoActivity.tsx +599 -0
  310. package/src/components/repo-activity/RepoHeatmap.tsx +225 -0
  311. package/src/components/repo-activity/demo.ts +201 -0
  312. package/src/components/repo-activity/fetch.ts +211 -0
  313. package/src/components/repo-activity/heatmap.ts +123 -0
  314. package/src/components/repo-activity/index.ts +28 -0
  315. package/src/components/repo-activity/types.ts +99 -0
  316. package/src/components/stages/NumberedStages.tsx +116 -0
  317. package/src/components/symbols/marks.tsx +116 -0
  318. package/src/components/symbols/terminal-lockup.tsx +136 -0
  319. package/src/components/symbols/terminal-marks.tsx +226 -0
  320. package/src/components/terminal/ChatResponseLoader.tsx +67 -0
  321. package/src/components/terminal/ContainerBootLoader.tsx +82 -0
  322. package/src/components/terminal/TerminalStepCaret.tsx +202 -0
  323. package/src/components/themeInit.ts +24 -0
  324. package/src/components/typography/MotionReveal.tsx +108 -0
  325. package/src/components/typography/TypewriterReveal.tsx +101 -0
  326. package/src/components/typography/WordReveal.tsx +143 -0
  327. package/src/data/modules.ts +378 -0
  328. package/src/data/subsystems.ts +101 -0
  329. package/src/index.ts +587 -0
  330. package/src/lib/base-path.ts +60 -0
  331. package/src/lib/cx.ts +25 -0
  332. package/src/lib/gloomberb.ts +69 -0
  333. package/src/lib/record.ts +19 -0
  334. package/src/lib/stub-payload.ts +183 -0
  335. package/src/lib/useBodyScrollLock.ts +44 -0
  336. package/src/lib/utils.ts +6 -0
  337. package/src/motion/primitives.tsx +105 -0
  338. package/src/motion/scroll-glide.ts +62 -0
  339. package/src/motion/scrolly-core.ts +38 -0
  340. package/src/motion/scrolly.tsx +95 -0
  341. package/src/navigation/HashScrollManager.tsx +167 -0
  342. package/src/navigation/hashScroll.ts +78 -0
  343. package/src/replay/browser.ts +280 -0
  344. package/src/replay/chat-export-run.ts +121 -0
  345. package/src/replay/export-format.ts +25 -0
  346. package/src/replay/export-mount.ts +32 -0
  347. package/src/replay/filename.ts +54 -0
  348. package/src/replay/index.ts +21 -0
  349. package/src/replay/redact-dom.ts +178 -0
  350. package/src/replay/redact.ts +113 -0
  351. package/src/replay/snapshot.ts +659 -0
  352. package/src/styles/account-auth.css +339 -0
  353. package/src/styles/brand-wordmark.css +11 -0
  354. package/src/styles/card-rail.css +120 -0
  355. package/src/styles/chat-aui.css +1143 -0
  356. package/src/styles/chat-core.css +469 -0
  357. package/src/styles/chat-digichat.css +2531 -0
  358. package/src/styles/chat-math.css +70 -0
  359. package/src/styles/chat-skin-palette.css +138 -0
  360. package/src/styles/chat-stock-menu.css +37 -0
  361. package/src/styles/chat-widgets.css +190 -0
  362. package/src/styles/command-palette.css +372 -0
  363. package/src/styles/controls-core.css +2261 -0
  364. package/src/styles/controls-overlay.css +603 -0
  365. package/src/styles/data-layout.css +288 -0
  366. package/src/styles/deck.css +141 -0
  367. package/src/styles/diagrams.css +1860 -0
  368. package/src/styles/digichat-app-theme.css +250 -0
  369. package/src/styles/digichat-boot-loader.css +487 -0
  370. package/src/styles/digichat-launcher.css +377 -0
  371. package/src/styles/docs.css +165 -0
  372. package/src/styles/effects-chrome.css +888 -0
  373. package/src/styles/finance-composites.css +214 -0
  374. package/src/styles/finance-tearsheet-overlay.css +90 -0
  375. package/src/styles/finance-tearsheet.css +945 -0
  376. package/src/styles/marquee.css +168 -0
  377. package/src/styles/metrics.css +82 -0
  378. package/src/styles/nav-shell.css +551 -0
  379. package/src/styles/pricing.css +79 -0
  380. package/src/styles/repo-activity.css +575 -0
  381. package/src/styles/stages.css +69 -0
  382. package/src/styles/terminal-loaders.css +122 -0
  383. package/src/styles/terminal-manifest.css +228 -0
  384. package/src/styles/web-theme.css +1007 -0
  385. package/src/styles/word-reveal.css +204 -0
  386. package/src/theme/apply-theme.ts +214 -0
  387. package/src/theme/index.ts +27 -0
  388. package/src/theme/palette-registry.ts +855 -0
  389. package/src/theme/tui-prefs.ts +64 -0
  390. package/src/ui/alert.tsx +78 -0
  391. package/src/ui/avatar.tsx +104 -0
  392. package/src/ui/badge.tsx +75 -0
  393. package/src/ui/breadcrumb.tsx +61 -0
  394. package/src/ui/button.tsx +67 -0
  395. package/src/ui/card.tsx +139 -0
  396. package/src/ui/checkbox.tsx +27 -0
  397. package/src/ui/collapsible.tsx +32 -0
  398. package/src/ui/date-pager.tsx +325 -0
  399. package/src/ui/dialog.tsx +157 -0
  400. package/src/ui/dropdown-menu.tsx +267 -0
  401. package/src/ui/empty-state.tsx +165 -0
  402. package/src/ui/field.tsx +104 -0
  403. package/src/ui/form.tsx +36 -0
  404. package/src/ui/icon-button.tsx +36 -0
  405. package/src/ui/index.ts +34 -0
  406. package/src/ui/input.tsx +33 -0
  407. package/src/ui/kbd.tsx +30 -0
  408. package/src/ui/label.tsx +32 -0
  409. package/src/ui/pager.tsx +119 -0
  410. package/src/ui/pagination.tsx +126 -0
  411. package/src/ui/radio-group.tsx +51 -0
  412. package/src/ui/search-bar.tsx +85 -0
  413. package/src/ui/segmented-control.tsx +76 -0
  414. package/src/ui/select.tsx +257 -0
  415. package/src/ui/separator.tsx +24 -0
  416. package/src/ui/sheet.tsx +141 -0
  417. package/src/ui/skeleton.tsx +76 -0
  418. package/src/ui/slider.tsx +76 -0
  419. package/src/ui/switch.tsx +31 -0
  420. package/src/ui/table.tsx +179 -0
  421. package/src/ui/tabs.tsx +89 -0
  422. package/src/ui/tags-input.tsx +168 -0
  423. package/src/ui/textarea.tsx +17 -0
  424. package/src/ui/tooltip.tsx +71 -0
package/src/index.ts ADDED
@@ -0,0 +1,587 @@
1
+ export {
2
+ ThemeProvider,
3
+ ThemeToggle,
4
+ useTheme,
5
+ DirectionProvider,
6
+ useDirection,
7
+ type Direction,
8
+ type PaletteName,
9
+ type ResolvedTheme,
10
+ type ThemePreference,
11
+ } from "./components/ThemeProvider";
12
+ export { themeInitScript } from "./components/themeInit";
13
+ export { faviconThemeScript, type FaviconThemePaths } from "./components/faviconTheme";
14
+ export { BrandWordmark } from "./components/brand/BrandWordmark";
15
+ export { MotionProvider, Reveal, Stagger, HeroEntrance, useMotionSafe, m, EASE } from "./motion/primitives";
16
+ export {
17
+ useScrollyFeatures,
18
+ ScrollyRail,
19
+ progressToIndex,
20
+ scrollyTrackHeightVh,
21
+ STEPPER_MEDIA_QUERY,
22
+ type ScrollyFeatures,
23
+ type UseScrollyFeaturesOptions,
24
+ } from "./motion/scrolly";
25
+ export { Emblem, emblems } from "./components/emblems";
26
+ export { StackLogo, StackRow } from "./components/StackLogo";
27
+ export { GitHubGlyph, GoogleGlyph, LinkedInGlyph, XGlyph } from "./components/icons";
28
+ export {
29
+ SocialRow,
30
+ DIGITHINGS_SOCIALS,
31
+ type SocialRowProps,
32
+ type SocialProfile,
33
+ type SocialNetwork,
34
+ } from "./components/SocialRow";
35
+ export {
36
+ AuthCard,
37
+ passwordStrength,
38
+ type AuthCardBrand,
39
+ type AuthCardLayout,
40
+ type AuthCardMode,
41
+ type AuthCardProps,
42
+ type AuthOAuthProvider,
43
+ } from "./components/account/AuthCard";
44
+ export { ScrollyGraph, GraphSVG } from "./components/graph";
45
+ export {
46
+ ArchitectureDiagram,
47
+ toMermaid,
48
+ type ArchitectureDiagramProps,
49
+ type ArchAlign,
50
+ type ArchEdge,
51
+ type ArchGroup,
52
+ type ArchIcon,
53
+ type ArchJunction,
54
+ type ArchService,
55
+ type ArchSide,
56
+ type ArchSpec,
57
+ } from "./components/diagrams";
58
+ export {
59
+ ArchitectureSvg,
60
+ type ArchitectureSvgProps,
61
+ } from "./components/diagrams";
62
+ export {
63
+ ArchitectureTour,
64
+ type ArchitectureTourProps,
65
+ type TourStep,
66
+ type TourVariant,
67
+ } from "./components/diagrams";
68
+ export { camTransform, fitCamera, type CamFrame } from "./components/diagrams";
69
+ export {
70
+ TerminalSchematic,
71
+ type SchematicLegend,
72
+ type SchematicNode,
73
+ type SchematicRow,
74
+ type SchematicTone,
75
+ type TerminalSchematicProps,
76
+ } from "./components/diagrams";
77
+ export {
78
+ Footer,
79
+ Colophon,
80
+ ModuleCard,
81
+ SkipLink,
82
+ CtaLink,
83
+ IconLink,
84
+ hrefIsCurrent,
85
+ isNavGroup,
86
+ type NavLink,
87
+ type NavGroup,
88
+ type NavItem,
89
+ type CtaLinkProps,
90
+ type IconLinkProps,
91
+ } from "./components/chrome";
92
+ export { NavShell, type NavShellProps } from "./components/NavShell";
93
+ export { DocsLayout, type DocsNavGroup, type DocsNavItem, type DocsHero } from "./components/docs/DocsLayout";
94
+ export { DocsSearch, filterDocsItems, type DocsSearchProps } from "./components/docs/DocsSearch";
95
+ export { CodeTabs, DocsCodeBlock, type CodeSample } from "./components/docs/CodeTabs";
96
+ export { CopyCommand, type CopyCommandProps, type CopyCommandSample } from "./components/docs/CopyCommand";
97
+ export { EndpointDoc, MethodBadge, type DocsEndpoint, type DocsField, type DocsMethod } from "./components/docs/Endpoint";
98
+ export { HashScrollManager } from "./navigation/HashScrollManager";
99
+ export {
100
+ hashIdFromHref,
101
+ instantScrollToHash,
102
+ instantScrollToId,
103
+ isSamePageHashHref,
104
+ } from "./navigation/hashScroll";
105
+ export { Terminal, type TermLine } from "./components/Terminal";
106
+ // Spinner — the canonical inline loading glyph (replaces the hand-rolled
107
+ // `size-[11px] … border-current/30` span copied across reference specimens).
108
+ export { Spinner, type SpinnerProps } from "./components/Spinner";
109
+
110
+ // promoted primitives (#1415)
111
+ export { Pricing, PricingTierCard, PrecisionTable, type PricingProps, type PricingTierCardProps, type PrecisionTableProps } from "./components/pricing/Pricing";
112
+ export { PricingMatrix, type PricingMatrixProps, type PricingMatrixTier, type PricingMatrixGroup, type PricingMatrixRow } from "./components/pricing/PricingMatrix";
113
+ export { NumberedStages, type NumberedStage } from "./components/stages/NumberedStages";
114
+ export { PerfMetrics, type PerfMetric } from "./components/metrics/PerfMetrics";
115
+ export { StatCounter, type CounterStat } from "./components/metrics/StatCounter";
116
+ // promoted primitives (#1450)
117
+ export { WordReveal, type WordRevealProps } from "./components/typography/WordReveal";
118
+ export { MotionReveal, type MotionRevealProps } from "./components/typography/MotionReveal";
119
+ export {
120
+ TypewriterReveal,
121
+ type TypewriterRevealProps,
122
+ } from "./components/typography/TypewriterReveal";
123
+ export { Marquee, type MarqueeItem, type MarqueeProps } from "./components/marquee/Marquee";
124
+ export {
125
+ TerminalManifest,
126
+ type TerminalManifestRow,
127
+ type TerminalManifestStatus,
128
+ type TerminalManifestProps,
129
+ } from "./components/TerminalManifest";
130
+ export { DeckStack, DeckCard, type DeckStackProps, type DeckCardProps } from "./components/deck/DeckStack";
131
+ // chat family (#1418)
132
+ export { ChatTranscript, type ChatTranscriptProps } from "./components/chat/ChatTranscript";
133
+ export { ChatMessage, type ChatMessageProps, type ChatRole, type ChatTone } from "./components/chat/ChatMessage";
134
+ export { ChatStreamCursor, type ChatStreamCursorProps } from "./components/chat/ChatStreamCursor";
135
+ export {
136
+ DigichatLauncher,
137
+ type DigichatLauncherProps,
138
+ } from "./components/chat/DigichatLauncher";
139
+ export { ChatMarkdown, type ChatMarkdownProps } from "./components/chat/ChatMarkdown";
140
+ // ChatMarkdownSource is internal to ChatMarkdown — not part of the public
141
+ // barrel (#3819). The legacy family stays exported for its remaining
142
+ // consumers: ChatMarkdown (dashboard SafeMarkdown styling shell, digichat-ui
143
+ // MiniMarkdown) and the ChatToolCallStatus type (digichat-ui activity view).
144
+ // No new adoption; ChatThinking/ChatToolCall components have no importers.
145
+ export { ChatMermaidBlock, type ChatMermaidBlockProps } from "./components/chat/ChatMermaidBlock";
146
+ export { ChatCodeBlock, ChatCopyButton, type ChatCodeBlockProps, type ChatCopyButtonProps } from "./components/chat/ChatCodeBlock";
147
+ export { ChatToolCall, type ChatToolCallProps, type ChatToolCallStatus, type ChatToolCallLine } from "./components/chat/ChatToolCall";
148
+ export { ChatThinking, type ChatThinkingProps } from "./components/chat/ChatThinking";
149
+ export {
150
+ ChatPlayback,
151
+ type ChatPlaybackProps,
152
+ type ChatPlaybackStep,
153
+ type ChatPlaybackTool,
154
+ type ChatPlaybackTable,
155
+ } from "./components/chat/ChatPlayback";
156
+ export {
157
+ ChatWidgetFrame,
158
+ ChatWidgetButton,
159
+ type ChatWidgetFrameProps,
160
+ type ChatWidgetFrameVariant,
161
+ type ChatWidgetButtonProps,
162
+ type ChatWidgetButtonTone,
163
+ } from "./components/chat/ChatWidgetFrame";
164
+
165
+ // terminal loaders — the house type-out applied to waiting. Styles:
166
+ // @digithings-ai/ui/styles/terminal-loaders.css (needs chat-core.css first).
167
+ export { TerminalStepCaret, type TerminalStepCaretProps } from "./components/terminal/TerminalStepCaret";
168
+ export {
169
+ ContainerBootLoader,
170
+ CONTAINER_BOOT_STEPS,
171
+ type ContainerBootLoaderProps,
172
+ } from "./components/terminal/ContainerBootLoader";
173
+ export {
174
+ ChatResponseLoader,
175
+ CHAT_RESPONSE_STEPS,
176
+ CHAT_RESPONSE_HOLD_MS,
177
+ type ChatResponseLoaderProps,
178
+ } from "./components/terminal/ChatResponseLoader";
179
+
180
+ // digichat boot loader — the default embed warm-up animation (composer-outline
181
+ // cube field). Styles: @digithings-ai/ui/styles/digichat-boot-loader.css.
182
+ export {
183
+ DigichatBootLoader,
184
+ type DigichatBootLoaderProps,
185
+ } from "./components/chat/DigichatBootLoader";
186
+
187
+ // conviction family — dashboard F6 vocabulary, promoted verbatim
188
+ export { ConvictionMeter, SignedConvictionBadge } from "./components/conviction";
189
+
190
+ // contact family — Cloudflare-safe mailto link, promoted from the app forks
191
+ export { ContactMailto, buildMailtoHref } from "./components/contact";
192
+
193
+ // finance-charts family (#1450)
194
+ export {
195
+ PriceChart,
196
+ EquityCurve,
197
+ DrawdownPlot,
198
+ useFinanceChart,
199
+ useFinanceChartPalette,
200
+ getFinancePalette,
201
+ readFinancePalette,
202
+ financeChartOptions,
203
+ tokenAlpha,
204
+ toChartTime,
205
+ useLightweightChart,
206
+ chartChromeOptions,
207
+ hostMonoFont,
208
+ toLineData,
209
+ timeToISO,
210
+ useChartTip,
211
+ ChartTipShell,
212
+ PRICE_CHART_DEMO,
213
+ EQUITY_CURVE_DEMO,
214
+ DRAWDOWN_DEMO,
215
+ DIGIQUANT_CHART,
216
+ readDigiquantChartScale,
217
+ type PriceChartProps,
218
+ type EquityCurveProps,
219
+ type DrawdownPlotProps,
220
+ type FinanceChartPalette,
221
+ type FinanceSeriesPoint,
222
+ type OhlcPoint,
223
+ type CrosshairLabelToken,
224
+ type ChartChrome,
225
+ type ChartTip,
226
+ type UseLightweightChartConfig,
227
+ type UseLightweightChartResult,
228
+ type DigiquantChartScale,
229
+ } from "./components/finance-charts";
230
+
231
+ // finance-composites family (#1450)
232
+ export {
233
+ StockTicker,
234
+ MarketBar,
235
+ type MarketBarProps,
236
+ type MarketBarCell,
237
+ type MarketBarStatus,
238
+ OrderBook,
239
+ SortableTable,
240
+ PerformanceDashboard,
241
+ SyncedTearsheet,
242
+ type TickerItem,
243
+ type StockTickerProps,
244
+ type OrderBookLevel,
245
+ type OrderBookProps,
246
+ type SortableColumn,
247
+ type SortableTableProps,
248
+ type DashboardHeadline,
249
+ type DashboardRatio,
250
+ type DashboardAllocation,
251
+ type PerformanceDashboardProps,
252
+ type TearsheetPoint,
253
+ type SyncedTearsheetProps,
254
+ } from "./components/finance-composites";
255
+
256
+ // data-layout family (#1450)
257
+ export {
258
+ Odometer,
259
+ OdometerStrip,
260
+ DotMatrixStat,
261
+ BentoGrid,
262
+ BentoCell,
263
+ CardRail,
264
+ ProductFrame,
265
+ type CardRailProps,
266
+ MediaFrame,
267
+ type MediaFrameProps,
268
+ FeatureCell,
269
+ TestimonialWall,
270
+ ModuleGrid,
271
+ treemapAreas,
272
+ treemapAreasConstrained,
273
+ treemapAnchored,
274
+ type ModuleGridItem,
275
+ type ModuleGridProps,
276
+ type TreemapRect,
277
+ type TreemapMins,
278
+ type OdometerStat,
279
+ type DotMatrixStatProps,
280
+ type BentoSpan,
281
+ type ProductFrameProps,
282
+ type FeatureCellProps,
283
+ type TestimonialQuote,
284
+ type TestimonialWallProps,
285
+ } from "./components/data-layout";
286
+
287
+ // effects-chrome family (#1450)
288
+ export {
289
+ Pipeline,
290
+ RotatingPrompts,
291
+ StackingPanels,
292
+ AnnouncementBar,
293
+ TabStrip,
294
+ tabBaseId,
295
+ tabId,
296
+ tabPanelId,
297
+ ToastStack,
298
+ HorizontalScrollTrack,
299
+ HorizontalTrackStepper,
300
+ useHorizontalTrack,
301
+ type HorizontalScrollTrackProps,
302
+ type HorizontalTrackState,
303
+ type PipelineProps,
304
+ type PipelineColumn,
305
+ type PipelineNode,
306
+ type PipelineStatus,
307
+ type PipelineSummaryItem,
308
+ type RotatingPromptsProps,
309
+ type StackingPanelsProps,
310
+ type StackingPanel,
311
+ type AnnouncementBarProps,
312
+ type TabStripProps,
313
+ type TabItem,
314
+ type ToastStackProps,
315
+ type ToastItem,
316
+ type ToastTone,
317
+ } from "./components/effects-chrome";
318
+
319
+ // finance-tearsheet family (#1463) — print-grade SVG tearsheet grammar
320
+ // (charts share one ViewWindow; the PDF pipeline re-renders them, so SVG is
321
+ // a hard constraint — see packages/ui/CHARTS.md for the canvas split)
322
+ export {
323
+ CandlestickChart,
324
+ TimeSeries,
325
+ MultiTimeSeries,
326
+ RiskBandStrip,
327
+ AllocationStepChart,
328
+ SignedBars,
329
+ ContributionReturnChart,
330
+ TradeReturnChart,
331
+ ReturnsMatrix,
332
+ SegToggle,
333
+ ChartLegend,
334
+ ChartResetButton,
335
+ KpiStrip,
336
+ Kpi,
337
+ TradeLogTable,
338
+ DirectionPill,
339
+ TearsheetCard,
340
+ TearsheetCardKpis,
341
+ TearsheetCardKpi,
342
+ LiveBadge,
343
+ LOOKBACK_OPTIONS,
344
+ MIN_VIEW,
345
+ clampView,
346
+ viewWindowForPreset,
347
+ viewWindowLastYear,
348
+ matchLookbackPreset,
349
+ viewsNear,
350
+ sliceByView,
351
+ PRINT_FULL_VIEW,
352
+ runTearsheetPrint,
353
+ isOpenTrade,
354
+ fmtCompact,
355
+ fmtPct,
356
+ fmtMoney,
357
+ fmtNum,
358
+ toneClass,
359
+ dailyReturnsFromEquity,
360
+ annualizedVolPct,
361
+ computeLivePerformanceKpis,
362
+ computeLiveVsMarkPct,
363
+ dayReturnAnchorNav,
364
+ derivePriceAsOfDate,
365
+ inceptionSignAgreesWithBase100,
366
+ informationRatioFromDaily,
367
+ olsBeta,
368
+ overlappingDailyReturns,
369
+ navHistoryForLiveOverlap,
370
+ relativeMetricsFromReturnSeries,
371
+ sinceInceptionPctFromNav,
372
+ MIN_OVERLAP_DAYS,
373
+ TEARSHEET_DEMO,
374
+ RISK_BANDS,
375
+ riskBandLabel,
376
+ dcaRateCopy,
377
+ type RiskBand,
378
+ type CandlestickChartProps,
379
+ type TimeSeriesProps,
380
+ type MultiTimeSeriesProps,
381
+ type OverlaySeries,
382
+ type RiskBandStripProps,
383
+ type AllocationStepChartProps,
384
+ type AllocationFillMarker,
385
+ type OverlayTone,
386
+ type ReferenceTone,
387
+ type ReferenceLineSpec,
388
+ type ReferenceBandSpec,
389
+ type ReferenceMarkerSpec,
390
+ type ChartReferences,
391
+ type ChartLegendKind,
392
+ type SignedBarsProps,
393
+ type ContributionReturnChartProps,
394
+ type ContributionReturnPoint,
395
+ type TradeReturnChartProps,
396
+ type ReturnsPeriod,
397
+ type MatrixMetric,
398
+ type ChartScale,
399
+ type ChartTone,
400
+ type ViewWindow,
401
+ type LookbackPreset,
402
+ type KpiStripProps,
403
+ type KpiProps,
404
+ type TradeLogTableProps,
405
+ type TradeLogColumn,
406
+ type TradeLogRow,
407
+ type TearsheetCardProps,
408
+ type LiveBadgeProps,
409
+ type TearsheetSeriesPoint,
410
+ type TearsheetOhlcBar,
411
+ type TearsheetTrade,
412
+ type TradeReturnBar,
413
+ type LiveKpiPosition,
414
+ type LiveKpiNavPoint,
415
+ type LiveKpiBenchmarkPoint,
416
+ type LivePerformanceKpis,
417
+ type LivePerformanceKpisInput,
418
+ StrategyTearsheet,
419
+ buildStrategyTearsheet,
420
+ seriesOrNull,
421
+ seriesSparkline,
422
+ sheetCagr,
423
+ type StrategySheetBar,
424
+ type StrategySheetMetric,
425
+ type StrategySheetModel,
426
+ type StrategySheetPoint,
427
+ } from "./components/finance-tearsheet";
428
+
429
+ // repo-activity family (#3445) — snapshot-first GitHub velocity, compact + detailed
430
+ export {
431
+ RepoActivity,
432
+ RepoHeatmap,
433
+ bucketDaily,
434
+ levelFor,
435
+ fetchRepoActivityLive,
436
+ cloneParts,
437
+ grouped,
438
+ isoDay,
439
+ DEFAULT_LIVE_TIMEOUT_MS,
440
+ REPO_ACTIVITY_DEMO,
441
+ REPO_ACTIVITY_DEMO_CLONE,
442
+ REPO_ACTIVITY_DEMO_CONTRIBUTING,
443
+ REPO_ACTIVITY_DEMO_URL,
444
+ type HeatDay,
445
+ type RepoActivityProps,
446
+ type RepoHeatmapProps,
447
+ type RepoActivityLiveConfig,
448
+ type RepoActivitySnapshot,
449
+ type RepoContributor,
450
+ type RepoModuleRelease,
451
+ type RepoFeature,
452
+ type RepoIssueItem,
453
+ type RepoModuleActivity,
454
+ type RepoPullItem,
455
+ type RepoRelease,
456
+ type FetchRepoActivityLiveOptions,
457
+ } from "./components/repo-activity";
458
+
459
+ export { modules, edges, moduleById, type ModuleNode, type StackItem, type Tier } from "./data/modules";
460
+ export { subsystems, subsystemById, type Subsystem } from "./data/subsystems";
461
+ export {
462
+ GLOOMBERB_ATTRIBUTION,
463
+ GLOOMBERB_DELAY_NOTICE,
464
+ GLOOMBERB_TERMINAL_URL,
465
+ gloomberbTickerUrl,
466
+ readGloomberbAttribution,
467
+ type GloomberbAttribution,
468
+ } from "./lib/gloomberb";
469
+
470
+ // chrome (command palette) + symbols (brand marks) promotions (#1548)
471
+ export {
472
+ CommandPalette,
473
+ type CommandPaletteProps,
474
+ type CommandPaletteGroup,
475
+ type CommandPaletteItem,
476
+ } from "./components/command-palette";
477
+ export {
478
+ DigiquantMark,
479
+ Wordmark,
480
+ type DigiquantMarkProps,
481
+ type WordmarkProps,
482
+ } from "./components/symbols/marks";
483
+ // Terminal identity — the `digi` + block-cursor lockup and the hairline display
484
+ // cut. Supersedes `Wordmark` for new work; `Wordmark`/`Colophon` stay for the
485
+ // surfaces already using them.
486
+ export {
487
+ TerminalMark,
488
+ TerminalWordmark,
489
+ HairlineWordmark,
490
+ TERMINAL_CURSOR,
491
+ type TerminalMarkProps,
492
+ type TerminalWordmarkProps,
493
+ type HairlineWordmarkProps,
494
+ } from "./components/symbols/terminal-marks";
495
+ export {
496
+ AnimatedLockup,
497
+ MODULE_SUFFIXES,
498
+ type AnimatedLockupProps,
499
+ } from "./components/symbols/terminal-lockup";
500
+
501
+ // prose family (D1, #4429) — the shared long-form company/legal grammar
502
+ // (PageHead / RuledList / RuledRow / Mono), promoted from digithings-web's
503
+ // app-local `_company/prose.tsx`. Utilities only; no site/app CSS class.
504
+ export {
505
+ Mono,
506
+ PageHead,
507
+ RuledList,
508
+ RuledRow,
509
+ type MonoProps,
510
+ type PageHeadProps,
511
+ type RuledListProps,
512
+ type RuledRowProps,
513
+ } from "./components/prose";
514
+ // figure family (D1, #4429) — the numbered `Fig N` figure caption.
515
+ export { Figure, type FigureProps } from "./components/figure";
516
+ // document family (D1, #4429) — the framed-column marketing grammar
517
+ // (DocumentFrame / Section / PageTitle / Prose / GlyphList / GlyphRow): one
518
+ // bordered column, hairline section separators, a small document-scale type
519
+ // ladder, and the `[*]` + `<strong>Label</strong>` row. Utilities only; no
520
+ // site/app CSS class, so no census entry and nothing to add to styles/.
521
+ export {
522
+ DocumentFrame,
523
+ Section,
524
+ PageTitle,
525
+ Prose,
526
+ GlyphList,
527
+ GlyphRow,
528
+ type DocumentFrameProps,
529
+ type SectionProps,
530
+ type PageTitleProps,
531
+ type ProseProps,
532
+ type GlyphListProps,
533
+ type GlyphRowProps,
534
+ } from "./components/document";
535
+
536
+ // changelog family (D1, #4429) — the release rail: one row per release with a
537
+ // sticky version/date aside and the shipped title in the wide column.
538
+ export {
539
+ ReleaseRail,
540
+ type ReleaseRailItem,
541
+ type ReleaseRailProps,
542
+ } from "./components/changelog";
543
+
544
+ // footer family (D1, #4429) — the footer as a hairline table: one cell per
545
+ // destination, the legal strip underneath.
546
+ export {
547
+ FooterCells,
548
+ type FooterCell,
549
+ type FooterCellsProps,
550
+ type FooterMetaLink,
551
+ } from "./components/footer";
552
+
553
+ // page-geometry family (D1, #4429) — the persistent page structure and the
554
+ // product-artefact depth treatment. `LayoutLines` is one fixed pair of dashed
555
+ // vertical rules the whole page sits between; `MockupFrame` + `Mockup` + `Glow`
556
+ // give a product shot layered depth instead of a flat border. Techniques read
557
+ // out of launch-ui's source (MIT) and re-expressed in this kit's tokens.
558
+ export {
559
+ LayoutLines,
560
+ Mockup,
561
+ MockupFrame,
562
+ Glow,
563
+ } from "./components/page-geometry";
564
+
565
+ // desk family (#6327) — the data-surface primitives lifted from the parked
566
+ // digiquant app and the desk: one table (sort / filter / paginate / sticky),
567
+ // the KPI grid and its sparkline, and the four states a payload can be in.
568
+ export {
569
+ DataTable,
570
+ columnRoles,
571
+ type ColumnRole,
572
+ type DataTableColumn,
573
+ type DataTableProps,
574
+ type DataTableRowVariant,
575
+ type DataTableTone,
576
+ KpiGrid,
577
+ type KpiCell,
578
+ type KpiGridProps,
579
+ type KpiTone,
580
+ Sparkline,
581
+ type SparklineProps,
582
+ BlockBoundary,
583
+ StateBlock,
584
+ type BlockBoundaryProps,
585
+ type StateBlockProps,
586
+ type StateKind,
587
+ } from "./components/desk";
@@ -0,0 +1,60 @@
1
+ /**
2
+ * The base path the digichat app is served under (DIG-5121).
3
+ *
4
+ * The digichat app is served under `/chat` on digithings.ai. This package is
5
+ * shared with the marketing sites, which are served at the root, so the base
6
+ * path is EMPTY by default and only the digichat build carries one.
7
+ *
8
+ * The value comes from the same build-time variable the app reads
9
+ * (`NEXT_PUBLIC_DIGICHAT_BASE_PATH`): Next inlines `NEXT_PUBLIC_*` into every
10
+ * module of the bundle, so the browser gets the value the app was built with.
11
+ * The app's own copy lives in apps/digichat/src/lib/base-path.ts and reads
12
+ * the same variable — one value, two names for it, never two values.
13
+ *
14
+ * Why this file exists: the shared components make calls into the app's own
15
+ * API (the artifacts panel is the one that matters), and a root-absolute
16
+ * path ("/api/conversations/…") works while the app is at the root and 404s
17
+ * the moment it is served under a base path.
18
+ */
19
+
20
+ /**
21
+ * The base path, or "" when the app is served at the root.
22
+ *
23
+ * Normalised the same way the app's own copy is (no trailing slash), so the
24
+ * two helpers always produce the same path for the same input.
25
+ *
26
+ * The read is the same one the app's own copy does (apps/digichat/src/lib/
27
+ * base-path.ts), and for the same reason: `process.env.NEXT_PUBLIC_*` is
28
+ * inlined into the bundle by the framework, so the browser gets the value the
29
+ * app was built with. It is NOT guarded by `typeof process` on purpose — a
30
+ * guard that reads "process is missing" in the browser would swallow the
31
+ * inlined value and silently serve the app at the root, which is exactly the
32
+ * bug this file exists to prevent.
33
+ */
34
+ export const BASE_PATH: string = (process.env.NEXT_PUBLIC_DIGICHAT_BASE_PATH ?? "")
35
+ .trim()
36
+ .replace(/\/+$/, "");
37
+
38
+ /**
39
+ * Prefix a path with the base path.
40
+ *
41
+ * The one way to write a path into the app from this package. A root-relative
42
+ * path that skips it breaks under a base path.
43
+ */
44
+ export function p(path: string): string {
45
+ return `${BASE_PATH}${path}`;
46
+ }
47
+
48
+ /**
49
+ * The path without the base path.
50
+ *
51
+ * The mirror of `p`: a URL the app produced (already prefixed) has to be
52
+ * turned back into the app's own path before it can be matched against the
53
+ * app's route shape. With no base path this is the identity.
54
+ */
55
+ export function stripBasePath(path: string): string {
56
+ if (!BASE_PATH) return path;
57
+ if (path === BASE_PATH) return "/";
58
+ if (path.startsWith(`${BASE_PATH}/`)) return path.slice(BASE_PATH.length);
59
+ return path;
60
+ }
package/src/lib/cx.ts ADDED
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Class joiners. Deliberately NOT tailwind-merge: base-vs-call-site utility
3
+ * conflicts are resolved by layering instead — every default a call site may
4
+ * override lives in `@layer components`, where the app's utilities layer wins.
5
+ *
6
+ * Relocated from the retired controls layer (#4306) — ContactMailto is the
7
+ * surviving consumer.
8
+ */
9
+ export const cx = (...parts: Array<string | false | null | undefined>): string =>
10
+ parts.filter(Boolean).join(" ");
11
+
12
+ /**
13
+ * Composes a base class string with a Base UI `className` prop, which may be
14
+ * a plain string or a `(state) => string` resolver — the function form is
15
+ * preserved so state-driven classes keep working through the wrappers.
16
+ */
17
+ export function cxBase<State>(
18
+ base: string,
19
+ className?: string | ((state: State) => string | undefined),
20
+ ): string | ((state: State) => string) {
21
+ if (typeof className === "function") {
22
+ return (state: State) => cx(base, className(state));
23
+ }
24
+ return cx(base, className);
25
+ }