@trinityui/design-system 2.11.1 → 2.13.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 (515) hide show
  1. package/CHANGELOG.md +2155 -0
  2. package/CONTRIBUTING.md +180 -69
  3. package/LICENSE +21 -0
  4. package/MIGRATION.md +505 -28
  5. package/README.md +281 -120
  6. package/dist/IllustratedMessage.js +546 -1341
  7. package/dist/accessibility.d.ts +596 -18
  8. package/dist/accessibility.d.ts.map +1 -1
  9. package/dist/accessibility.js +458 -0
  10. package/dist/app-shell.js +18458 -10385
  11. package/dist/assets/index.d.ts +1 -1
  12. package/dist/charts.js +8507 -6059
  13. package/dist/color-contrast.d.ts +35 -0
  14. package/dist/color-contrast.d.ts.map +1 -0
  15. package/dist/commonjs-helpers.js +8 -0
  16. package/dist/component-color-references.d.ts +175 -0
  17. package/dist/component-color-references.d.ts.map +1 -0
  18. package/dist/components/AI/AIActions.d.ts +72 -12
  19. package/dist/components/AI/AIActions.d.ts.map +1 -1
  20. package/dist/components/AI/AIAvatar.d.ts +31 -3
  21. package/dist/components/AI/AIAvatar.d.ts.map +1 -1
  22. package/dist/components/AI/AIChainOfThought.d.ts +159 -77
  23. package/dist/components/AI/AIChainOfThought.d.ts.map +1 -1
  24. package/dist/components/AI/AIChainOfThought.types.d.ts +292 -40
  25. package/dist/components/AI/AIChainOfThought.types.d.ts.map +1 -1
  26. package/dist/components/AI/AIChainOfThought.utils.d.ts +25 -7
  27. package/dist/components/AI/AIChainOfThought.utils.d.ts.map +1 -1
  28. package/dist/components/AI/AIChat.d.ts +12 -0
  29. package/dist/components/AI/AIChat.d.ts.map +1 -1
  30. package/dist/components/AI/AIChatWelcome.d.ts +254 -0
  31. package/dist/components/AI/AIChatWelcome.d.ts.map +1 -0
  32. package/dist/components/AI/AIClarificationPrompt.d.ts +134 -0
  33. package/dist/components/AI/AIClarificationPrompt.d.ts.map +1 -0
  34. package/dist/components/AI/AIConfidenceBadge.d.ts +117 -0
  35. package/dist/components/AI/AIConfidenceBadge.d.ts.map +1 -0
  36. package/dist/components/AI/AIConfigContext.d.ts +100 -0
  37. package/dist/components/AI/AIConfigContext.d.ts.map +1 -0
  38. package/dist/components/AI/AIConfigProvider.d.ts +66 -0
  39. package/dist/components/AI/AIConfigProvider.d.ts.map +1 -0
  40. package/dist/components/AI/AIContainer.d.ts +80 -11
  41. package/dist/components/AI/AIContainer.d.ts.map +1 -1
  42. package/dist/components/AI/AIExplainability.d.ts +39 -5
  43. package/dist/components/AI/AIExplainability.d.ts.map +1 -1
  44. package/dist/components/AI/AIFeedbackControl.d.ts +113 -0
  45. package/dist/components/AI/AIFeedbackControl.d.ts.map +1 -0
  46. package/dist/components/AI/AIFeedbackForm.d.ts +117 -0
  47. package/dist/components/AI/AIFeedbackForm.d.ts.map +1 -0
  48. package/dist/components/AI/AIFeedbackHostContext.d.ts +16 -0
  49. package/dist/components/AI/AIFeedbackHostContext.d.ts.map +1 -0
  50. package/dist/components/AI/AILabel.d.ts +39 -6
  51. package/dist/components/AI/AILabel.d.ts.map +1 -1
  52. package/dist/components/AI/AIMessage.d.ts +337 -42
  53. package/dist/components/AI/AIMessage.d.ts.map +1 -1
  54. package/dist/components/AI/AIPlanReview.d.ts +194 -0
  55. package/dist/components/AI/AIPlanReview.d.ts.map +1 -0
  56. package/dist/components/AI/AIQueryDisclosure.d.ts +119 -0
  57. package/dist/components/AI/AIQueryDisclosure.d.ts.map +1 -0
  58. package/dist/components/AI/AIRelatedQuestions.d.ts +50 -11
  59. package/dist/components/AI/AIRelatedQuestions.d.ts.map +1 -1
  60. package/dist/components/AI/AIResponseRenderer.d.ts +133 -21
  61. package/dist/components/AI/AIResponseRenderer.d.ts.map +1 -1
  62. package/dist/components/AI/AIResponseSourcesContext.d.ts +83 -0
  63. package/dist/components/AI/AIResponseSourcesContext.d.ts.map +1 -0
  64. package/dist/components/AI/AIReviewItem.d.ts +142 -0
  65. package/dist/components/AI/AIReviewItem.d.ts.map +1 -0
  66. package/dist/components/AI/AISourceChip.d.ts +135 -0
  67. package/dist/components/AI/AISourceChip.d.ts.map +1 -0
  68. package/dist/components/AI/AISources.d.ts +81 -11
  69. package/dist/components/AI/AISources.d.ts.map +1 -1
  70. package/dist/components/AI/AISourcesPanel.d.ts +43 -7
  71. package/dist/components/AI/AISourcesPanel.d.ts.map +1 -1
  72. package/dist/components/AI/AITextBlock.d.ts +104 -16
  73. package/dist/components/AI/AITextBlock.d.ts.map +1 -1
  74. package/dist/components/AI/AITextBlock.parser.d.ts +153 -0
  75. package/dist/components/AI/AITextBlock.parser.d.ts.map +1 -0
  76. package/dist/components/AI/AIVerificationBadge.d.ts +94 -0
  77. package/dist/components/AI/AIVerificationBadge.d.ts.map +1 -0
  78. package/dist/components/AI/AIVisuals.d.ts +92 -23
  79. package/dist/components/AI/AIVisuals.d.ts.map +1 -1
  80. package/dist/components/AI/AIVoiceInput.d.ts +42 -11
  81. package/dist/components/AI/AIVoiceInput.d.ts.map +1 -1
  82. package/dist/components/AI/AIVoiceMode.d.ts +16 -2
  83. package/dist/components/AI/AIVoiceMode.d.ts.map +1 -1
  84. package/dist/components/AI/BlockErrorBoundary.d.ts +77 -0
  85. package/dist/components/AI/BlockErrorBoundary.d.ts.map +1 -0
  86. package/dist/components/AI/ChatHeader.d.ts +41 -4
  87. package/dist/components/AI/ChatHeader.d.ts.map +1 -1
  88. package/dist/components/AI/ChatHistoryList.d.ts +25 -12
  89. package/dist/components/AI/ChatHistoryList.d.ts.map +1 -1
  90. package/dist/components/AI/ChatThread.d.ts +263 -13
  91. package/dist/components/AI/ChatThread.d.ts.map +1 -1
  92. package/dist/components/AI/InThreadContext.d.ts +14 -0
  93. package/dist/components/AI/InThreadContext.d.ts.map +1 -0
  94. package/dist/components/AI/InsightEngine.d.ts +270 -46
  95. package/dist/components/AI/InsightEngine.d.ts.map +1 -1
  96. package/dist/components/AI/InsightEngineInput.d.ts +47 -4
  97. package/dist/components/AI/InsightEngineInput.d.ts.map +1 -1
  98. package/dist/components/AI/MessageActionButton.d.ts +72 -0
  99. package/dist/components/AI/MessageActionButton.d.ts.map +1 -0
  100. package/dist/components/AI/QueryInput.d.ts.map +1 -1
  101. package/dist/components/AI/UserAvatar.d.ts +50 -4
  102. package/dist/components/AI/UserAvatar.d.ts.map +1 -1
  103. package/dist/components/AI/UserMessage.d.ts +32 -3
  104. package/dist/components/AI/UserMessage.d.ts.map +1 -1
  105. package/dist/components/AI/blockRendererContext.d.ts +64 -0
  106. package/dist/components/AI/blockRendererContext.d.ts.map +1 -0
  107. package/dist/components/AI/hitlBlockRenderers.d.ts +48 -0
  108. package/dist/components/AI/hitlBlockRenderers.d.ts.map +1 -0
  109. package/dist/components/AI/index.d.ts +23 -6
  110. package/dist/components/AI/index.d.ts.map +1 -1
  111. package/dist/components/AI/moleculeBlockRenderers.d.ts +15 -0
  112. package/dist/components/AI/moleculeBlockRenderers.d.ts.map +1 -0
  113. package/dist/components/AI/planReviewBlockRenderer.d.ts +8 -0
  114. package/dist/components/AI/planReviewBlockRenderer.d.ts.map +1 -0
  115. package/dist/components/AI/strings/defaults.d.ts +31 -0
  116. package/dist/components/AI/strings/defaults.d.ts.map +1 -0
  117. package/dist/components/AI/tokens.d.ts +185 -20
  118. package/dist/components/AI/tokens.d.ts.map +1 -1
  119. package/dist/components/AI/types/hitl.d.ts +2294 -0
  120. package/dist/components/AI/types/hitl.d.ts.map +1 -0
  121. package/dist/components/AI/types/index.d.ts +2 -1
  122. package/dist/components/AI/types/index.d.ts.map +1 -1
  123. package/dist/components/AI/types/response.d.ts +428 -40
  124. package/dist/components/AI/types/response.d.ts.map +1 -1
  125. package/dist/components/AI/useBlockSources.d.ts +67 -0
  126. package/dist/components/AI/useBlockSources.d.ts.map +1 -0
  127. package/dist/components/AI/useBrowserVoiceMode.d.ts +31 -2
  128. package/dist/components/AI/useBrowserVoiceMode.d.ts.map +1 -1
  129. package/dist/components/AI/useWelcomeComposerHandoff.d.ts +30 -0
  130. package/dist/components/AI/useWelcomeComposerHandoff.d.ts.map +1 -0
  131. package/dist/components/AI/utils/alphaIndex.d.ts +19 -0
  132. package/dist/components/AI/utils/alphaIndex.d.ts.map +1 -0
  133. package/dist/components/AI/utils/blockReady.d.ts +54 -0
  134. package/dist/components/AI/utils/blockReady.d.ts.map +1 -0
  135. package/dist/components/AI/utils/blocks.d.ts +28 -0
  136. package/dist/components/AI/utils/blocks.d.ts.map +1 -0
  137. package/dist/components/AI/utils/confidence.d.ts +182 -0
  138. package/dist/components/AI/utils/confidence.d.ts.map +1 -0
  139. package/dist/components/AI/utils/filters.d.ts +31 -0
  140. package/dist/components/AI/utils/filters.d.ts.map +1 -0
  141. package/dist/components/AI/utils/responseText.d.ts +8 -0
  142. package/dist/components/AI/utils/responseText.d.ts.map +1 -0
  143. package/dist/components/AI/utils/sources.d.ts +110 -0
  144. package/dist/components/AI/utils/sources.d.ts.map +1 -0
  145. package/dist/components/AIDigestCard/AIDigestCard.d.ts.map +1 -1
  146. package/dist/components/AIDigestCard/types.d.ts +42 -5
  147. package/dist/components/AIDigestCard/types.d.ts.map +1 -1
  148. package/dist/components/AppLayout/AIFab.d.ts +33 -6
  149. package/dist/components/AppLayout/AIFab.d.ts.map +1 -1
  150. package/dist/components/AppLayout/AIFabLayout.deprecated.d.ts.map +1 -1
  151. package/dist/components/AppLayout/AppLayout.d.ts +135 -7
  152. package/dist/components/AppLayout/AppLayout.d.ts.map +1 -1
  153. package/dist/components/AppLayout/InsightEnginePanel.d.ts +315 -21
  154. package/dist/components/AppLayout/InsightEnginePanel.d.ts.map +1 -1
  155. package/dist/components/AppLayout/ResizablePanel.d.ts +145 -8
  156. package/dist/components/AppLayout/ResizablePanel.d.ts.map +1 -1
  157. package/dist/components/AppLayout/ThreadHistorySidebar.d.ts +6 -0
  158. package/dist/components/AppLayout/ThreadHistorySidebar.d.ts.map +1 -1
  159. package/dist/components/AppLayout/index.d.ts +3 -3
  160. package/dist/components/AppLayout/index.d.ts.map +1 -1
  161. package/dist/components/AppLayout/insightEnginePanel.demo.d.ts +32 -0
  162. package/dist/components/AppLayout/insightEnginePanel.demo.d.ts.map +1 -0
  163. package/dist/components/AppLayout/panelPropsPath.d.ts +26 -0
  164. package/dist/components/AppLayout/panelPropsPath.d.ts.map +1 -0
  165. package/dist/components/AppLayout/panelResizeTransition.d.ts +49 -0
  166. package/dist/components/AppLayout/panelResizeTransition.d.ts.map +1 -0
  167. package/dist/components/AppLayout/toChatThreadMessage.d.ts +40 -0
  168. package/dist/components/AppLayout/toChatThreadMessage.d.ts.map +1 -0
  169. package/dist/components/AssessmentDrawer/AssessmentDrawer.d.ts +5 -1
  170. package/dist/components/AssessmentDrawer/AssessmentDrawer.d.ts.map +1 -1
  171. package/dist/components/AuditDrawer/AuditDrawer.d.ts +4 -3
  172. package/dist/components/AuditDrawer/AuditDrawer.d.ts.map +1 -1
  173. package/dist/components/AuditDrawer/index.d.ts +1 -1
  174. package/dist/components/AuditDrawer/index.d.ts.map +1 -1
  175. package/dist/components/AuditDrawer/types.d.ts +39 -5
  176. package/dist/components/AuditDrawer/types.d.ts.map +1 -1
  177. package/dist/components/Autocomplete/Autocomplete.d.ts +6 -1
  178. package/dist/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  179. package/dist/components/BulkActionDock/BulkActionDock.d.ts.map +1 -1
  180. package/dist/components/Carousel/Carousel.d.ts +10 -2
  181. package/dist/components/Carousel/Carousel.d.ts.map +1 -1
  182. package/dist/components/Charts/AreaChart.d.ts.map +1 -1
  183. package/dist/components/Charts/BarChart.d.ts.map +1 -1
  184. package/dist/components/Charts/ChartWrapper.d.ts.map +1 -1
  185. package/dist/components/Charts/ComposedChart.d.ts.map +1 -1
  186. package/dist/components/Charts/CustomLegend.d.ts +11 -2
  187. package/dist/components/Charts/CustomLegend.d.ts.map +1 -1
  188. package/dist/components/Charts/LineChart.d.ts.map +1 -1
  189. package/dist/components/Charts/PieChart.d.ts.map +1 -1
  190. package/dist/components/Charts/RadialChart.d.ts.map +1 -1
  191. package/dist/components/Charts/ScatterChart.d.ts.map +1 -1
  192. package/dist/components/Charts/Sparkline.d.ts.map +1 -1
  193. package/dist/components/Charts/gaugeGeometry.d.ts +35 -0
  194. package/dist/components/Charts/gaugeGeometry.d.ts.map +1 -0
  195. package/dist/components/Charts/highcharts.d.ts +23 -0
  196. package/dist/components/Charts/highcharts.d.ts.map +1 -0
  197. package/dist/components/Charts/highchartsUtils.d.ts +101 -6
  198. package/dist/components/Charts/highchartsUtils.d.ts.map +1 -1
  199. package/dist/components/Charts/index.d.ts +1 -1
  200. package/dist/components/Charts/index.d.ts.map +1 -1
  201. package/dist/components/Charts/tokens.d.ts +21 -0
  202. package/dist/components/Charts/tokens.d.ts.map +1 -1
  203. package/dist/components/Charts/types.d.ts +7 -7
  204. package/dist/components/Charts/types.d.ts.map +1 -1
  205. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  206. package/dist/components/ChoiceChips/ChoiceChips.d.ts +106 -0
  207. package/dist/components/ChoiceChips/ChoiceChips.d.ts.map +1 -0
  208. package/dist/components/ClearableTextField/ClearableTextField.d.ts +23 -2
  209. package/dist/components/ClearableTextField/ClearableTextField.d.ts.map +1 -1
  210. package/dist/components/CodeBlock/CodeBlock.d.ts +80 -0
  211. package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -0
  212. package/dist/components/Combobox/Combobox.d.ts +3 -2
  213. package/dist/components/Combobox/Combobox.d.ts.map +1 -1
  214. package/dist/components/CommandPalette/CommandPalette.d.ts +54 -3
  215. package/dist/components/CommandPalette/CommandPalette.d.ts.map +1 -1
  216. package/dist/components/CommandPalette/index.d.ts +1 -1
  217. package/dist/components/CommandPalette/index.d.ts.map +1 -1
  218. package/dist/components/CopyButton/CopyButton.d.ts +80 -0
  219. package/dist/components/CopyButton/CopyButton.d.ts.map +1 -0
  220. package/dist/components/DataCard/DataCard.d.ts +11 -1
  221. package/dist/components/DataCard/DataCard.d.ts.map +1 -1
  222. package/dist/components/DataTable/CellRenderers.d.ts +8 -11
  223. package/dist/components/DataTable/CellRenderers.d.ts.map +1 -1
  224. package/dist/components/DataTable/DataTable.d.ts +1 -1
  225. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  226. package/dist/components/DataTable/InlineAddRow.d.ts.map +1 -1
  227. package/dist/components/DataTable/columnContext.d.ts +8 -0
  228. package/dist/components/DataTable/columnContext.d.ts.map +1 -0
  229. package/dist/components/DataTable/index.d.ts +2 -2
  230. package/dist/components/DataTable/index.d.ts.map +1 -1
  231. package/dist/components/DataTable/labels.d.ts +13 -0
  232. package/dist/components/DataTable/labels.d.ts.map +1 -0
  233. package/dist/components/DataTable/types.d.ts +34 -0
  234. package/dist/components/DataTable/types.d.ts.map +1 -1
  235. package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  236. package/dist/components/DetailsPopover/DetailsPopover.d.ts +185 -0
  237. package/dist/components/DetailsPopover/DetailsPopover.d.ts.map +1 -0
  238. package/dist/components/DiffViewer/DiffViewer.d.ts +3 -2
  239. package/dist/components/DiffViewer/DiffViewer.d.ts.map +1 -1
  240. package/dist/components/Disclosure/Disclosure.d.ts +83 -0
  241. package/dist/components/Disclosure/Disclosure.d.ts.map +1 -0
  242. package/dist/components/DockLayout/DockLayout.d.ts +58 -0
  243. package/dist/components/DockLayout/DockLayout.d.ts.map +1 -1
  244. package/dist/components/DockLayout/index.d.ts +1 -1
  245. package/dist/components/DockLayout/index.d.ts.map +1 -1
  246. package/dist/components/DocumentCard/DocumentCard.d.ts +5 -1
  247. package/dist/components/DocumentCard/DocumentCard.d.ts.map +1 -1
  248. package/dist/components/EntityDetailPanel/EntityDetailPanel.d.ts +6 -2
  249. package/dist/components/EntityDetailPanel/EntityDetailPanel.d.ts.map +1 -1
  250. package/dist/components/FileUpload/FileUpload.d.ts +141 -6
  251. package/dist/components/FileUpload/FileUpload.d.ts.map +1 -1
  252. package/dist/components/FileUpload/index.d.ts +1 -1
  253. package/dist/components/FileUpload/index.d.ts.map +1 -1
  254. package/dist/components/FilterBar/FilterBar.d.ts +27 -1
  255. package/dist/components/FilterBar/FilterBar.d.ts.map +1 -1
  256. package/dist/components/FilterBar/index.d.ts +1 -1
  257. package/dist/components/FilterBar/index.d.ts.map +1 -1
  258. package/dist/components/FlowAutoLayout/useFlowAutoLayout.d.ts.map +1 -1
  259. package/dist/components/GanttView/GanttView.d.ts +24 -0
  260. package/dist/components/GanttView/GanttView.d.ts.map +1 -1
  261. package/dist/components/GanttView/types.d.ts +33 -7
  262. package/dist/components/GanttView/types.d.ts.map +1 -1
  263. package/dist/components/GaugeCard/GaugeCard.d.ts +4 -3
  264. package/dist/components/GaugeCard/GaugeCard.d.ts.map +1 -1
  265. package/dist/components/GaugeCard/geometry.d.ts +59 -0
  266. package/dist/components/GaugeCard/geometry.d.ts.map +1 -0
  267. package/dist/components/GeoStatusMap/GeoStatusMap.d.ts.map +1 -1
  268. package/dist/components/GeoStatusMap/types.d.ts +8 -5
  269. package/dist/components/GeoStatusMap/types.d.ts.map +1 -1
  270. package/dist/components/GoToTop/GoToTop.d.ts +1 -1
  271. package/dist/components/GoToTop/GoToTop.d.ts.map +1 -1
  272. package/dist/components/HierarchicalDrillDown/HierarchicalDrillDown.d.ts.map +1 -1
  273. package/dist/components/HistoricalDataIndicator/HistoricalDataIndicator.d.ts.map +1 -1
  274. package/dist/components/HtmlToMui/HtmlToMui.d.ts.map +1 -1
  275. package/dist/components/Icon.d.ts +567 -10
  276. package/dist/components/Icon.d.ts.map +1 -1
  277. package/dist/components/IllustratedMessage.d.ts +52 -3
  278. package/dist/components/IllustratedMessage.d.ts.map +1 -1
  279. package/dist/components/InlineEditableText/InlineEditableText.d.ts +117 -0
  280. package/dist/components/InlineEditableText/InlineEditableText.d.ts.map +1 -0
  281. package/dist/components/InsightCard/InsightCard.d.ts.map +1 -1
  282. package/dist/components/InsightCard/types.d.ts +10 -3
  283. package/dist/components/InsightCard/types.d.ts.map +1 -1
  284. package/dist/components/KeyValueList/KeyValueList.d.ts +94 -0
  285. package/dist/components/KeyValueList/KeyValueList.d.ts.map +1 -0
  286. package/dist/components/LandingPage/FeatureCard.d.ts +4 -0
  287. package/dist/components/LandingPage/FeatureCard.d.ts.map +1 -1
  288. package/dist/components/LandingPage/LandingPage.d.ts +43 -4
  289. package/dist/components/LandingPage/LandingPage.d.ts.map +1 -1
  290. package/dist/components/LandingPage/heroTone.d.ts +54 -0
  291. package/dist/components/LandingPage/heroTone.d.ts.map +1 -0
  292. package/dist/components/MentionsInput/MentionsInput.d.ts.map +1 -1
  293. package/dist/components/MetaChip/MetaChip.d.ts +113 -0
  294. package/dist/components/MetaChip/MetaChip.d.ts.map +1 -0
  295. package/dist/components/Modal/Modal.d.ts +222 -20
  296. package/dist/components/Modal/Modal.d.ts.map +1 -1
  297. package/dist/components/Modal/index.d.ts +1 -1
  298. package/dist/components/Modal/index.d.ts.map +1 -1
  299. package/dist/components/NotificationCenter/NotificationCenter.d.ts.map +1 -1
  300. package/dist/components/OrgChart/OrgChart.d.ts +5 -0
  301. package/dist/components/OrgChart/OrgChart.d.ts.map +1 -1
  302. package/dist/components/OrgChart/types.d.ts +31 -7
  303. package/dist/components/OrgChart/types.d.ts.map +1 -1
  304. package/dist/components/OverflowTooltip/OverflowTooltip.d.ts +1 -1
  305. package/dist/components/OverflowTooltip/OverflowTooltip.d.ts.map +1 -1
  306. package/dist/components/PageHeader/PageHeader.d.ts.map +1 -1
  307. package/dist/components/PageTOC/PageTOC.d.ts +2 -1
  308. package/dist/components/PageTOC/PageTOC.d.ts.map +1 -1
  309. package/dist/components/Popper/Popper.d.ts +80 -9
  310. package/dist/components/Popper/Popper.d.ts.map +1 -1
  311. package/dist/components/Popper/index.d.ts +1 -1
  312. package/dist/components/Popper/index.d.ts.map +1 -1
  313. package/dist/components/PredictiveTextInput/PredictiveTextInput.d.ts +5 -1
  314. package/dist/components/PredictiveTextInput/PredictiveTextInput.d.ts.map +1 -1
  315. package/dist/components/SearchInput/SearchInput.d.ts +49 -0
  316. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -1
  317. package/dist/components/SearchInput/index.d.ts +1 -1
  318. package/dist/components/SearchInput/index.d.ts.map +1 -1
  319. package/dist/components/SimpleTable/SimpleTable.d.ts +11 -2
  320. package/dist/components/SimpleTable/SimpleTable.d.ts.map +1 -1
  321. package/dist/components/SplitPane/SplitPane.d.ts +2 -1
  322. package/dist/components/SplitPane/SplitPane.d.ts.map +1 -1
  323. package/dist/components/StatusHero/StatusHero.d.ts.map +1 -1
  324. package/dist/components/StatusIndicator/Badge.d.ts +6 -1
  325. package/dist/components/StatusIndicator/Badge.d.ts.map +1 -1
  326. package/dist/components/StatusIndicator/Chip.d.ts +3 -1
  327. package/dist/components/StatusIndicator/Chip.d.ts.map +1 -1
  328. package/dist/components/StatusIndicator/Indicators.d.ts +5 -1
  329. package/dist/components/StatusIndicator/Indicators.d.ts.map +1 -1
  330. package/dist/components/StatusIndicator/Legend.d.ts.map +1 -1
  331. package/dist/components/StatusIndicator/StatusIndicator.d.ts +98 -4
  332. package/dist/components/StatusIndicator/StatusIndicator.d.ts.map +1 -1
  333. package/dist/components/StatusIndicator/index.d.ts +2 -2
  334. package/dist/components/StatusIndicator/index.d.ts.map +1 -1
  335. package/dist/components/StatusIndicator/types.d.ts +48 -1
  336. package/dist/components/StatusIndicator/types.d.ts.map +1 -1
  337. package/dist/components/StepList/StepList.d.ts +80 -0
  338. package/dist/components/StepList/StepList.d.ts.map +1 -0
  339. package/dist/components/StepList/StepStatusMarker.d.ts +39 -0
  340. package/dist/components/StepList/StepStatusMarker.d.ts.map +1 -0
  341. package/dist/components/StepList/stepStatus.d.ts +30 -0
  342. package/dist/components/StepList/stepStatus.d.ts.map +1 -0
  343. package/dist/components/SystemBanner/SystemBanner.d.ts.map +1 -1
  344. package/dist/components/Timeline/Timeline.d.ts +57 -3
  345. package/dist/components/Timeline/Timeline.d.ts.map +1 -1
  346. package/dist/components/Timeline/index.d.ts +1 -1
  347. package/dist/components/Timeline/index.d.ts.map +1 -1
  348. package/dist/components/Timeline/timelineLabels.d.ts +70 -0
  349. package/dist/components/Timeline/timelineLabels.d.ts.map +1 -0
  350. package/dist/components/Toast/Toast.d.ts.map +1 -1
  351. package/dist/components/TopNavHeader.d.ts +6 -0
  352. package/dist/components/TopNavHeader.d.ts.map +1 -1
  353. package/dist/components/TopNavWithSidebar.d.ts +49 -1
  354. package/dist/components/TopNavWithSidebar.d.ts.map +1 -1
  355. package/dist/components/Tour/Tour.d.ts +18 -1
  356. package/dist/components/Tour/Tour.d.ts.map +1 -1
  357. package/dist/components/TransferList/TransferList.d.ts +123 -4
  358. package/dist/components/TransferList/TransferList.d.ts.map +1 -1
  359. package/dist/components/TransferList/index.d.ts +1 -1
  360. package/dist/components/TransferList/index.d.ts.map +1 -1
  361. package/dist/components/TreeView/TreeView.d.ts +97 -8
  362. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  363. package/dist/components/TreeView/index.d.ts +1 -1
  364. package/dist/components/TreeView/index.d.ts.map +1 -1
  365. package/dist/components/TrinityLoader.d.ts.map +1 -1
  366. package/dist/components/icons/featherExtensions.d.ts +55 -0
  367. package/dist/components/icons/featherExtensions.d.ts.map +1 -0
  368. package/dist/components/icons/materialExtensions.d.ts +20 -0
  369. package/dist/components/icons/materialExtensions.d.ts.map +1 -0
  370. package/dist/components/internal/index.d.ts +87 -0
  371. package/dist/components/internal/index.d.ts.map +1 -1
  372. package/dist/components/navigation/MenuListWithHeading.d.ts +33 -0
  373. package/dist/components/navigation/MenuListWithHeading.d.ts.map +1 -0
  374. package/dist/components/navigation/clientSelectorLabels.d.ts +13 -0
  375. package/dist/components/navigation/clientSelectorLabels.d.ts.map +1 -0
  376. package/dist/components/navigation/components.d.ts +6 -0
  377. package/dist/components/navigation/components.d.ts.map +1 -1
  378. package/dist/components/shared/AsyncOutcomeAlert.d.ts +91 -0
  379. package/dist/components/shared/AsyncOutcomeAlert.d.ts.map +1 -0
  380. package/dist/components/shared/TrinityIconSvg.d.ts.map +1 -1
  381. package/dist/components/shared/TrinityLogoSvg.d.ts.map +1 -1
  382. package/dist/components/shared/bidi.d.ts +44 -0
  383. package/dist/components/shared/bidi.d.ts.map +1 -0
  384. package/dist/components/shared/bidiText.d.ts +25 -0
  385. package/dist/components/shared/bidiText.d.ts.map +1 -0
  386. package/dist/components/shared/containerQueries.d.ts +73 -0
  387. package/dist/components/shared/containerQueries.d.ts.map +1 -0
  388. package/dist/components/shared/createStringsContext.d.ts +69 -0
  389. package/dist/components/shared/createStringsContext.d.ts.map +1 -0
  390. package/dist/components/shared/direction.d.ts +46 -0
  391. package/dist/components/shared/direction.d.ts.map +1 -0
  392. package/dist/components/shared/focusTrap.d.ts +36 -0
  393. package/dist/components/shared/focusTrap.d.ts.map +1 -0
  394. package/dist/components/shared/getInitials.d.ts +29 -0
  395. package/dist/components/shared/getInitials.d.ts.map +1 -0
  396. package/dist/components/shared/headingLevel.d.ts +69 -0
  397. package/dist/components/shared/headingLevel.d.ts.map +1 -0
  398. package/dist/components/shared/mergeSlotProps.d.ts +50 -0
  399. package/dist/components/shared/mergeSlotProps.d.ts.map +1 -0
  400. package/dist/components/shared/mergeSx.d.ts +26 -0
  401. package/dist/components/shared/mergeSx.d.ts.map +1 -0
  402. package/dist/components/shared/motion.d.ts +110 -0
  403. package/dist/components/shared/motion.d.ts.map +1 -0
  404. package/dist/components/shared/occurrenceKeys.d.ts +23 -0
  405. package/dist/components/shared/occurrenceKeys.d.ts.map +1 -0
  406. package/dist/components/shared/primaryAction.d.ts +89 -0
  407. package/dist/components/shared/primaryAction.d.ts.map +1 -0
  408. package/dist/components/shared/resizeKeyboard.d.ts +68 -0
  409. package/dist/components/shared/resizeKeyboard.d.ts.map +1 -0
  410. package/dist/components/shared/rootProps.d.ts +117 -0
  411. package/dist/components/shared/rootProps.d.ts.map +1 -0
  412. package/dist/components/shared/safeContent.d.ts +9 -2
  413. package/dist/components/shared/safeContent.d.ts.map +1 -1
  414. package/dist/components/shared/targetSize.d.ts +64 -0
  415. package/dist/components/shared/targetSize.d.ts.map +1 -0
  416. package/dist/components/shared/useContainerInlineSize.d.ts +43 -0
  417. package/dist/components/shared/useContainerInlineSize.d.ts.map +1 -0
  418. package/dist/components/shared/useCopyAction.d.ts +35 -0
  419. package/dist/components/shared/useCopyAction.d.ts.map +1 -0
  420. package/dist/components/shared/useOverflow.d.ts +44 -0
  421. package/dist/components/shared/useOverflow.d.ts.map +1 -0
  422. package/dist/components/shared/useResizable.d.ts +106 -7
  423. package/dist/components/shared/useResizable.d.ts.map +1 -1
  424. package/dist/components/shared/warnDeprecated.d.ts +89 -15
  425. package/dist/components/shared/warnDeprecated.d.ts.map +1 -1
  426. package/dist/components/shared/zIndexRoles.d.ts +62 -0
  427. package/dist/components/shared/zIndexRoles.d.ts.map +1 -0
  428. package/dist/components/templates/AIReviewQueue/AIReviewQueueTemplate.d.ts +213 -0
  429. package/dist/components/templates/AIReviewQueue/AIReviewQueueTemplate.d.ts.map +1 -0
  430. package/dist/components/templates/AIReviewQueue/index.d.ts +2 -0
  431. package/dist/components/templates/AIReviewQueue/index.d.ts.map +1 -0
  432. package/dist/components/templates/Auth/AuthTemplate.d.ts.map +1 -1
  433. package/dist/components/templates/Auth/types.d.ts +4 -1
  434. package/dist/components/templates/Auth/types.d.ts.map +1 -1
  435. package/dist/components/templates/Catalog/CatalogTemplate.d.ts.map +1 -1
  436. package/dist/components/templates/ConnectorWizard/ConnectorWizardTemplate.d.ts.map +1 -1
  437. package/dist/components/templates/InsightsCenter/InsightsCenterTemplate.d.ts.map +1 -1
  438. package/dist/components/templates/IntegrationDetail/IntegrationDetailTemplate.d.ts.map +1 -1
  439. package/dist/components/templates/ListDetail/ListDetailTemplate.d.ts +168 -10
  440. package/dist/components/templates/ListDetail/ListDetailTemplate.d.ts.map +1 -1
  441. package/dist/components/templates/ListDetail/index.d.ts +1 -1
  442. package/dist/components/templates/ListDetail/index.d.ts.map +1 -1
  443. package/dist/components/templates/ListDetail/listDetailLabels.d.ts +106 -0
  444. package/dist/components/templates/ListDetail/listDetailLabels.d.ts.map +1 -0
  445. package/dist/components/templates/Onboarding/OnboardingTemplate.d.ts.map +1 -1
  446. package/dist/components/templates/Settings/SettingsTemplate.d.ts +0 -3
  447. package/dist/components/templates/Settings/SettingsTemplate.d.ts.map +1 -1
  448. package/dist/components/templates/Wizard/WizardTemplate.d.ts +4 -1
  449. package/dist/components/templates/Wizard/WizardTemplate.d.ts.map +1 -1
  450. package/dist/components/templates/index.d.ts +2 -1
  451. package/dist/components/templates/index.d.ts.map +1 -1
  452. package/dist/data-table.d.ts +1 -1
  453. package/dist/data-table.d.ts.map +1 -1
  454. package/dist/data-table.js +1 -0
  455. package/dist/data-table2.js +13522 -13465
  456. package/dist/data.js +213 -194
  457. package/dist/elk.bundled.js +47371 -0
  458. package/dist/essentials.d.ts +3 -3
  459. package/dist/essentials.d.ts.map +1 -1
  460. package/dist/essentials.js +179 -147
  461. package/dist/focus-on-replace.js +49 -0
  462. package/dist/form.d.ts +26 -4
  463. package/dist/form.d.ts.map +1 -1
  464. package/dist/forms.js +575 -483
  465. package/dist/foundation.js +3704 -0
  466. package/dist/hooks/storageStore.d.ts +51 -0
  467. package/dist/hooks/storageStore.d.ts.map +1 -0
  468. package/dist/hooks/useAsyncAction.d.ts +65 -0
  469. package/dist/hooks/useAsyncAction.d.ts.map +1 -0
  470. package/dist/hooks/useDisclosure.d.ts +190 -0
  471. package/dist/hooks/useDisclosure.d.ts.map +1 -0
  472. package/dist/hooks/useFocusOnReplace.d.ts +95 -0
  473. package/dist/hooks/useFocusOnReplace.d.ts.map +1 -0
  474. package/dist/hooks/useTrinityPalette.d.ts +38 -40
  475. package/dist/hooks/useTrinityPalette.d.ts.map +1 -1
  476. package/dist/hooks.d.ts +44 -6
  477. package/dist/hooks.d.ts.map +1 -1
  478. package/dist/hooks.js +301 -0
  479. package/dist/index.d.ts +71 -26
  480. package/dist/index.d.ts.map +1 -1
  481. package/dist/index.js +13923 -60619
  482. package/dist/patterns/AICopilotPattern/AICopilotPattern.d.ts +203 -0
  483. package/dist/patterns/AICopilotPattern/AICopilotPattern.d.ts.map +1 -0
  484. package/dist/patterns/AICopilotPattern/index.d.ts +3 -0
  485. package/dist/patterns/AICopilotPattern/index.d.ts.map +1 -0
  486. package/dist/patterns/index.d.ts +15 -0
  487. package/dist/patterns/index.d.ts.map +1 -0
  488. package/dist/presets/analytics.d.ts +8 -1
  489. package/dist/presets/analytics.d.ts.map +1 -1
  490. package/dist/presets/crm.d.ts +8 -1
  491. package/dist/presets/crm.d.ts.map +1 -1
  492. package/dist/presets/index.d.ts +1 -1
  493. package/dist/presets/portal.d.ts +8 -1
  494. package/dist/presets/portal.d.ts.map +1 -1
  495. package/dist/safe-content.js +69 -69
  496. package/dist/theme-augmentation.d.ts +388 -0
  497. package/dist/theme-augmentation.d.ts.map +1 -0
  498. package/dist/theme.d.ts +116 -30
  499. package/dist/theme.d.ts.map +1 -1
  500. package/dist/theme.js +891 -436
  501. package/dist/token-color.d.ts +14 -0
  502. package/dist/token-color.d.ts.map +1 -0
  503. package/dist/token-merge.d.ts +56 -0
  504. package/dist/token-merge.d.ts.map +1 -0
  505. package/dist/token-serialization.d.ts +65 -0
  506. package/dist/token-serialization.d.ts.map +1 -0
  507. package/dist/tokens.d.ts +882 -13
  508. package/dist/tokens.d.ts.map +1 -1
  509. package/dist/tokens.js +21 -19
  510. package/dist/trinity.css +1077 -414
  511. package/package.json +111 -90
  512. package/dist/components/index.d.ts +0 -145
  513. package/dist/components/index.d.ts.map +0 -1
  514. package/dist/components/shared.d.ts +0 -92
  515. package/dist/components/shared.d.ts.map +0 -1
@@ -0,0 +1,254 @@
1
+ /**
2
+ * @fileoverview AIChatWelcome: the AI start screen, shown before the first message.
3
+ * @module components/AI/AIChatWelcome
4
+ *
5
+ * The landing page of an AI chat (the owner's InsightsEDGE concepts, 2026-10-08), in two
6
+ * variants the owner compares in review:
7
+ *
8
+ * - **`'showcase'`** (default; the owner's two concepts combined): a centred greeting ('Hi
9
+ * George, how can I help you today?') and subtitle, the composer centred under it, three
10
+ * category cards in a row under the composer (a tinted icon tile, the bold title, the question
11
+ * as secondary text), and a disclaimer line.
12
+ * - **`'context'`** (context first): the greeting, the composer with the scope chips on it
13
+ * (project, sources, date range), then three sections: "Continue" (recent threads), "New since
14
+ * yesterday" (proactive prompts with an action label) and "Try asking" (category chips), and a
15
+ * one-line trust note.
16
+ *
17
+ * **Layout keys on the container width** (container queries on an inner wrapper, E-19), never
18
+ * the viewport: from 600px of container (the `regular` container width) the wide layout above;
19
+ * below it (a docked panel 320 to 599px wide) the docked layout: a smaller greeting, the
20
+ * sections compressed (context: one "New since yesterday" row and two chips, no "Continue";
21
+ * showcase: the cards become stacked pill suggestions with a leading arrow) and the composer at
22
+ * the bottom with the disclaimer under it. Each layout renders its own suggestions, so the DOM
23
+ * order is the visual order in both (the hidden one is `display: none`, out of the
24
+ * accessibility tree); the composer is rendered once.
25
+ *
26
+ * **Composer.** By default an InsightEngineInput (its own props through `composerProps`; the
27
+ * text through `inputValue` / `defaultInputValue` / `onInputChange`, and sends through
28
+ * `onSendMessage`). `composer` replaces it with your node (InsightEnginePanel and InsightEngine
29
+ * pass their own composer). The field takes focus on mount (`initialFocus`, default 'composer').
30
+ *
31
+ * **Suggestions.** Every suggestion, update and chip is a `button`. Choosing one calls
32
+ * `onSuggestionSelect(prompt, item)`, then sends the prompt (`suggestionBehavior` 'send', the
33
+ * default, through `onSendMessage`) or puts it in the composer and focuses the field ('fill',
34
+ * and 'send' without `onSendMessage`). A recent thread calls `onRecentThreadClick`; without it
35
+ * the "Continue" section does not render (no dead control).
36
+ *
37
+ * **Accessibility.** The greeting is a heading (`headingLevel`, default 2; the section headings
38
+ * one level under it). The suggestion lists are named lists of buttons; scope chips are a named
39
+ * group (a chip is a button only with `onClick`). Icons are decorative. Text keeps 4.5:1 on the
40
+ * canvas and the cards, icons 3:1 on their tiles, in light and dark (resolver roles only).
41
+ * Logical properties throughout, so the layout mirrors right to left.
42
+ *
43
+ * **Design.** The canvas is the paper under `ai.gradient.canvas` (white to faint lavender and
44
+ * pink toward the bottom right; `ai.canvasFill`, with the CSS package's
45
+ * `--trinity-ai-gradient-canvas`). Tile tints come from existing roles: `ai` (ai.surfaceEmphasis
46
+ * and ai.primary), `accent` (the status.error pair: the readable coral-red tint), `info`,
47
+ * `success`, `warning` (their status pairs) and `neutral`.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * import { AIChatWelcome } from '@trinityui/design-system';
52
+ *
53
+ * <AIChatWelcome
54
+ * userName="George"
55
+ * subtitle="Ask anything about your documents or transcripts"
56
+ * suggestions={[
57
+ * { id: 'ci', title: 'Competitive intelligence', prompt: 'How can we outperform our competitors?', icon: 'award' },
58
+ * ]}
59
+ * onSendMessage={(text) => send(text)}
60
+ * />
61
+ * ```
62
+ */
63
+ import * as React from 'react';
64
+ import type { SxProps, Theme } from '@mui/material/styles';
65
+ import { type IconName } from '../Icon';
66
+ import { type HeadingLevel } from '../shared/headingLevel';
67
+ import { type TrinityRootProps, type TrinitySlotProps } from '../shared/rootProps';
68
+ import { type InsightEngineInputProps } from './InsightEngineInput';
69
+ /**
70
+ * The two start-screen variants the owner compares: `'showcase'` (centred greeting, composer
71
+ * and category cards) and `'context'` (scope chips on the composer, then Continue, New since
72
+ * yesterday and Try asking).
73
+ * @since 2.13.0
74
+ */
75
+ export type AIChatWelcomeVariant = 'context' | 'showcase';
76
+ /**
77
+ * The tint of a suggestion's icon tile, from existing roles: `ai` (purple), `accent` (the
78
+ * coral-red status.error pair), `info` (blue), `success` (green), `warning` (amber) or `neutral`.
79
+ * @since 2.13.0
80
+ */
81
+ export type AIChatWelcomeTone = 'ai' | 'accent' | 'info' | 'success' | 'warning' | 'neutral';
82
+ /**
83
+ * One suggestion: a category card (showcase), a pill (showcase, docked) or a "Try asking" chip
84
+ * (context).
85
+ * @since 2.13.0
86
+ */
87
+ export interface AIChatWelcomeSuggestion {
88
+ /** A stable id, used as the key. */
89
+ id: string;
90
+ /** The category: the card's bold title, the context chip's text. */
91
+ title: string;
92
+ /** The question sent (or put in the composer) when the suggestion is chosen. */
93
+ prompt: string;
94
+ /** The card's secondary text. Default: the prompt. */
95
+ description?: string;
96
+ /** The card's icon (an Icon name). Default: 'sparkles'. */
97
+ icon?: IconName;
98
+ /** The icon tile's tint. Default: by position, `ai`, `accent`, `info`, then again. */
99
+ tone?: AIChatWelcomeTone;
100
+ }
101
+ /**
102
+ * A recent thread in the "Continue" section (context).
103
+ * @since 2.13.0
104
+ */
105
+ export interface AIChatWelcomeThread {
106
+ /** The thread's id, passed back through `onRecentThreadClick`. */
107
+ id: string;
108
+ /** The thread's title (one line, truncated). */
109
+ title: string;
110
+ /** When it was last active, already formatted for the reader (for example '2h ago'). */
111
+ timestamp?: string;
112
+ }
113
+ /**
114
+ * A proactive prompt in the "New since yesterday" section (context): what changed, and what to
115
+ * do about it.
116
+ * @since 2.13.0
117
+ */
118
+ export interface AIChatWelcomeUpdate {
119
+ /** A stable id, used as the key. */
120
+ id: string;
121
+ /** What changed, for example '3 transcripts added'. */
122
+ title: string;
123
+ /** The suggested action, for example 'Summarize what changed'. */
124
+ actionLabel: string;
125
+ /** The question sent (or put in the composer) when the update is chosen. */
126
+ prompt: string;
127
+ }
128
+ /**
129
+ * A scope chip on the composer (context): what the next question is scoped to.
130
+ * @since 2.13.0
131
+ */
132
+ export interface AIChatWelcomeScopeItem {
133
+ /** A stable id, used as the key. */
134
+ id: string;
135
+ /** The scope's name, for example 'Project'. */
136
+ label: string;
137
+ /** The current value, for example 'Oncology launch'. */
138
+ value: string;
139
+ /** A leading icon (an Icon name). */
140
+ icon?: IconName;
141
+ /** Makes the chip a button (for example to open your scope picker). Without it the chip is static. */
142
+ onClick?: (event: React.MouseEvent<HTMLElement>) => void;
143
+ }
144
+ /**
145
+ * Trinity-owned slots of AIChatWelcome (ADR-04 (6)).
146
+ * @since 2.13.0
147
+ */
148
+ export interface AIChatWelcomeSlotProps {
149
+ /** The greeting block (the heading and the subtitle). */
150
+ header?: TrinitySlotProps<HTMLDivElement>;
151
+ /** The composer's container (the scope chips and the composer). */
152
+ composer?: TrinitySlotProps<HTMLDivElement>;
153
+ /** The suggestions of the wide layout (the cards, or the context sections). */
154
+ suggestions?: TrinitySlotProps<HTMLDivElement>;
155
+ /** The disclaimer line. */
156
+ footer?: TrinitySlotProps<HTMLDivElement>;
157
+ }
158
+ /**
159
+ * AIChatWelcome's own props.
160
+ * @since 2.13.0
161
+ */
162
+ export interface AIChatWelcomeOwnProps {
163
+ /** The layout and sections. @default 'showcase' */
164
+ variant?: AIChatWelcomeVariant;
165
+ /**
166
+ * The greeting heading. Default: `ai.chatWelcome.greetingWithName` with `userName`, else
167
+ * `ai.chatWelcome.greeting` ('How can I help you today?').
168
+ */
169
+ greeting?: string;
170
+ /** The user's name for the default greeting ('Hi {name}, how can I help you today?'). */
171
+ userName?: string;
172
+ /** A line under the greeting, in secondary text. Nothing renders without it. */
173
+ subtitle?: string;
174
+ /** The greeting's heading level; the section headings sit one level under it. @default 2 */
175
+ headingLevel?: HeadingLevel;
176
+ /** The suggestions: showcase cards (pills when docked), context "Try asking" chips. */
177
+ suggestions?: AIChatWelcomeSuggestion[];
178
+ /**
179
+ * What choosing a suggestion or an update does after `onSuggestionSelect`: `'send'` sends the
180
+ * prompt through `onSendMessage` (without it, it fills); `'fill'` puts the prompt in the
181
+ * composer and focuses the field.
182
+ * @default 'send'
183
+ */
184
+ suggestionBehavior?: 'send' | 'fill';
185
+ /** Called first when a suggestion or an update is chosen, with its prompt and the item. */
186
+ onSuggestionSelect?: (prompt: string, item: AIChatWelcomeSuggestion | AIChatWelcomeUpdate) => void;
187
+ /** The "Continue" section's threads (context; wide layout only). Needs `onRecentThreadClick`. */
188
+ recentThreads?: AIChatWelcomeThread[];
189
+ /** Called with the chosen recent thread. Without it the "Continue" section does not render. */
190
+ onRecentThreadClick?: (thread: AIChatWelcomeThread) => void;
191
+ /** The "New since yesterday" section's prompts (context; one row when docked). */
192
+ updates?: AIChatWelcomeUpdate[];
193
+ /** The scope chips on the composer (context; only the first when docked). */
194
+ scope?: AIChatWelcomeScopeItem[];
195
+ /**
196
+ * The line under the composer. Default: `ai.chatWelcome.disclaimer` (showcase) or
197
+ * `ai.chatWelcome.trustNote` (context). `null` hides it.
198
+ */
199
+ disclaimer?: React.ReactNode;
200
+ /** Adds the usage guidelines link after the disclaimer. */
201
+ guidelinesHref?: string;
202
+ /** The link's text. Default: `ai.chatWelcome.guidelinesLink` ('Usage guidelines'). */
203
+ guidelinesLabel?: string;
204
+ /**
205
+ * Replaces the default composer (an InsightEngineInput). Choosing a suggestion with 'fill'
206
+ * then calls `onInputChange` (pass the text to your composer) and focuses the first text field
207
+ * inside it.
208
+ */
209
+ composer?: React.ReactNode;
210
+ /** Props of the default composer, an InsightEngineInput (models, sources, mic, attach, …). */
211
+ composerProps?: Omit<InsightEngineInputProps, 'value' | 'onChange' | 'onSubmit'>;
212
+ /** The composer's text, controlled. */
213
+ inputValue?: string;
214
+ /** The composer's first text (uncontrolled). @default '' */
215
+ defaultInputValue?: string;
216
+ /** Called with the composer's text on every change, and with a filled suggestion's prompt. */
217
+ onInputChange?: (value: string) => void;
218
+ /** Called with the trimmed text of a send: the composer's, or a suggestion's with 'send'. */
219
+ onSendMessage?: (value: string) => void;
220
+ /**
221
+ * Where focus goes when the start screen mounts: `'composer'` focuses the composer's field
222
+ * (on mount, and whenever the value turns to `'composer'`, for example when a closed host
223
+ * opens); `'none'` leaves focus where it is.
224
+ * @default 'composer'
225
+ */
226
+ initialFocus?: 'composer' | 'none';
227
+ /** Added to the root's own class names. */
228
+ className?: string;
229
+ /** Styles for the root, applied after its own (object, array or function). */
230
+ sx?: SxProps<Theme>;
231
+ /** Props for the Trinity-owned slots: `header`, `composer`, `suggestions` and `footer`. */
232
+ slotProps?: AIChatWelcomeSlotProps;
233
+ }
234
+ /**
235
+ * Props for AIChatWelcome: its own props, plus the HTML attributes of its root `div` (`id`,
236
+ * `data-*`, `aria-*`), which reach the root (ADR-04).
237
+ * @since 2.13.0
238
+ */
239
+ export interface AIChatWelcomeProps extends AIChatWelcomeOwnProps, TrinityRootProps<HTMLDivElement, AIChatWelcomeOwnProps> {
240
+ }
241
+ /**
242
+ * The start screen's options inside a host that owns the composer (InsightEnginePanel's and
243
+ * InsightEngine's `welcome` prop): AIChatWelcome's props without the composer, its text and its
244
+ * sends, the heading level and the focus, which the host sets.
245
+ * @since 2.13.0
246
+ */
247
+ export type AIChatWelcomeOptions = Omit<AIChatWelcomeProps, 'composer' | 'composerProps' | 'inputValue' | 'defaultInputValue' | 'onInputChange' | 'onSendMessage' | 'initialFocus' | 'headingLevel'>;
248
+ /**
249
+ * AIChatWelcome: the AI start screen, in the `'showcase'` or the `'context'` variant.
250
+ * @since 2.13.0
251
+ */
252
+ export declare const AIChatWelcome: React.ForwardRefExoticComponent<AIChatWelcomeProps & React.RefAttributes<HTMLDivElement>>;
253
+ export default AIChatWelcome;
254
+ //# sourceMappingURL=AIChatWelcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIChatWelcome.d.ts","sourceRoot":"","sources":["../../../src/components/AI/AIChatWelcome.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * @fileoverview AIClarificationPrompt: a clarifying question the AI asks before it answers, with
3
+ * options, a free-text "Something else" answer and a typed answer the backend can act on
4
+ * (master-plan F-15).
5
+ * @module components/AI/AIClarificationPrompt
6
+ *
7
+ * - **Composition.** D's ChoiceChips (native radios or checkboxes in a fieldset whose legend is
8
+ * the question; an option's description sits outside its label and is linked through
9
+ * `aria-describedby`), a themed MUI TextField for "Something else" (OD-F5 A), an MUI Button, and
10
+ * B's `useAsyncAction`, `useFocusOnReplace`, `AsyncOutcomeAlert` and `useAnnounce`.
11
+ * - **Question.** `question`, else `clarification.question`, else a template by reason
12
+ * (`ai.clarificationPrompt.question.*`, with the term; `ambiguousTerm` takes the option count so
13
+ * a locale can pick its plural form). Without a term, the generic question.
14
+ * - **Variants.** `'message'` holds an unnamed `<form>` (not a landmark) with a "Send answer"
15
+ * button, so Enter in the text field submits; the submit handler calls `preventDefault` and
16
+ * `stopPropagation`, so a React-tree ancestor form (through a portal too) never receives it.
17
+ * `'embedded'` renders no form and no submit: `onChange` is its output, for G's AIPlanReview,
18
+ * which owns the form.
19
+ * - **Something else.** Shown with `clarification.allowOther`; with no options, the text field is
20
+ * the whole answer. Picking it reveals the field right after the group and does not move focus,
21
+ * so the radios' arrow keys keep working.
22
+ * - **Validation (ADR-07).** Submit stays enabled. An empty `required` answer sets `aria-invalid`
23
+ * on the inputs, shows the error text linked to the group, and focuses the selected or first
24
+ * input. "Something else" with no text marks the field and focuses it.
25
+ * - **Async (ADR-07, ADR-36).** `onSubmit` runs through `useAsyncAction`: while pending, Submit is
26
+ * `aria-disabled` and `aria-busy` and reads "Sending answer…", so focus stays on it. A failure
27
+ * shows `AsyncOutcomeAlert` below the controls (no live role of its own; it announces once,
28
+ * assertively) with "Try again", which sends the last answer again; the input is kept. The host
29
+ * can drive it instead with `loading`, `error` and `errorMessage`.
30
+ * - **Resolved.** After a successful submit, with `submitted`, or when the clarification carries
31
+ * an `answer`, a summary ("You answered: Net revenue") replaces the controls. When the answer is
32
+ * sent from a control that the summary replaces, focus moves to the summary (`tabIndex={-1}`)
33
+ * after the commit (ADR-31).
34
+ * - **Streaming.** `streaming` shows placeholder options and every control `aria-disabled` with
35
+ * the visible reason; when it turns false after mount, "Question ready for your input" is
36
+ * announced once (ADR-05 (4)). A prompt mounted complete announces nothing.
37
+ * - **Disabled.** `disabled` makes every control `aria-disabled` and ignores input, with
38
+ * `disabledReason` shown and linked through `aria-describedby`. Native `disabled` is never
39
+ * used, so focus is never dropped (ADR-31 (1)).
40
+ * - **Narrow.** A container query on an inner wrapper makes Submit full width below the compact
41
+ * container width (E-19); options wrap. Usable at 320px.
42
+ * - **Telemetry.** `AIClarificationInteraction` on select and submit: counts only; the typed text
43
+ * only in `otherText`, which `AIConfigProvider` drops unless `includeContent` is set.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * <AIClarificationPrompt
48
+ * clarification={{ reason: 'ambiguous-term', term: 'revenue', options: [{ id: 'gross', label: 'Gross revenue' }, { id: 'net', label: 'Net revenue' }], allowOther: true }}
49
+ * onSubmit={(answer) => api.answer(answer)}
50
+ * />
51
+ * ```
52
+ */
53
+ import * as React from 'react';
54
+ import type { SxProps, Theme } from '@mui/material/styles';
55
+ import { type TrinitySlotProps } from '../shared/rootProps';
56
+ import type { AIClarification, AIClarificationAnswer } from './types/hitl';
57
+ /**
58
+ * Props of {@link AIClarificationPrompt}. The rest props reach the root `<div>`.
59
+ * @since 2.13.0
60
+ */
61
+ export interface AIClarificationPromptProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color' | 'onChange' | 'onSubmit' | 'defaultValue'> {
62
+ /** The question from the backend: its reason, term, options and whether free text is allowed. */
63
+ clarification: AIClarification;
64
+ /** Replaces the question text (else `clarification.question`, else a template by reason). */
65
+ question?: React.ReactNode;
66
+ /**
67
+ * `'message'` is a form with a submit button; `'embedded'` renders no form (its output is
68
+ * `onChange`), for a host that owns the form.
69
+ * @default 'message'
70
+ */
71
+ variant?: 'message' | 'embedded';
72
+ /** The answer, controlled. */
73
+ value?: AIClarificationAnswer;
74
+ /** The first answer, uncontrolled. */
75
+ defaultValue?: AIClarificationAnswer;
76
+ /** Called on every change to the answer. */
77
+ onChange?(answer: AIClarificationAnswer, event?: React.SyntheticEvent): void;
78
+ /** Sends the answer. A returned promise shows the pending state, and its rejection the error. */
79
+ onSubmit?(answer: AIClarificationAnswer): void | Promise<void>;
80
+ /** An answer is needed before Submit sends anything. */
81
+ required?: boolean;
82
+ /** The question is still streaming: placeholder options and every control unavailable. */
83
+ streaming?: boolean;
84
+ /** The host's pending state; wins over the internal one. */
85
+ loading?: boolean;
86
+ /** The host's error state; wins over the internal one. */
87
+ error?: boolean;
88
+ /** Replaces the error message (`ai.clarificationPrompt.error`). */
89
+ errorMessage?: string;
90
+ /** Every control unavailable (`aria-disabled`, never native disabled). */
91
+ disabled?: boolean;
92
+ /** Why the controls are unavailable, shown and linked to them while `disabled`. */
93
+ disabledReason?: string;
94
+ /** Resolved, controlled: shows the summary instead of the controls. */
95
+ submitted?: boolean;
96
+ /**
97
+ * The free-text answer's maximum length.
98
+ * @default 500
99
+ */
100
+ otherMaxLength?: number;
101
+ /** Id of the response block that holds the question, reported in telemetry. */
102
+ blockId?: string;
103
+ /** @default 'medium' */
104
+ size?: 'small' | 'medium';
105
+ className?: string;
106
+ sx?: SxProps<Theme>;
107
+ slotProps?: {
108
+ /** The question: the group's legend, or the question line when there are no options. */
109
+ question?: TrinitySlotProps<HTMLElement>;
110
+ /** The option group (ChoiceChips' fieldset). */
111
+ choices?: TrinitySlotProps<HTMLFieldSetElement>;
112
+ /** The "Something else" text field's root. */
113
+ other?: TrinitySlotProps<HTMLDivElement>;
114
+ /** The row with the submit button. */
115
+ actions?: TrinitySlotProps<HTMLDivElement>;
116
+ /** The summary after answering. */
117
+ summary?: TrinitySlotProps<HTMLParagraphElement>;
118
+ /** The error alert. */
119
+ alert?: TrinitySlotProps<HTMLDivElement>;
120
+ };
121
+ }
122
+ /**
123
+ * A clarifying question with options, an optional free-text answer, validation, an async submit
124
+ * and a resolved summary. See the module notes.
125
+ *
126
+ * @example
127
+ * ```tsx
128
+ * <AIClarificationPrompt clarification={clarification} onSubmit={sendAnswer} required />
129
+ * ```
130
+ *
131
+ * @since 2.13.0
132
+ */
133
+ export declare const AIClarificationPrompt: React.ForwardRefExoticComponent<AIClarificationPromptProps & React.RefAttributes<HTMLDivElement>>;
134
+ //# sourceMappingURL=AIClarificationPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIClarificationPrompt.d.ts","sourceRoot":"","sources":["../../../src/components/AI/AIClarificationPrompt.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAU3D,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAInF,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAa,MAAM,cAAc,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;IAChJ,iGAAiG;IACjG,aAAa,EAAE,eAAe,CAAC;IAC/B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,8BAA8B;IAC9B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,sCAAsC;IACtC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7E,iGAAiG;IACjG,QAAQ,CAAC,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,wFAAwF;QACxF,QAAQ,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACzC,gDAAgD;QAChD,OAAO,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAChD,8CAA8C;QAC9C,KAAK,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACzC,sCAAsC;QACtC,OAAO,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC3C,mCAAmC;QACnC,OAAO,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QACjD,uBAAuB;QACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH;AAoCD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,mGAyVhC,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * @fileoverview AIConfidenceBadge: how confident the AI is in an answer, as a level and a percent
3
+ * (master-plan F-10).
4
+ * @module components/AI/AIConfidenceBadge
5
+ *
6
+ * - **Root.** Always a `<span>` that carries the ref, `className`, the typed rest props and the
7
+ * merged `sx`, so the badge is valid inside a paragraph, a label or an option description.
8
+ * - **Interaction.** Only with `rationale`: the chip is a native `<button type="button">` (MetaChip,
9
+ * D-04) that opens a details dialog (DetailsPopover, F-09) with the level, the score, the
10
+ * thresholds and the rationale. Without `rationale` it is a static chip with no tab stop.
11
+ * - **Text.** The visible text comes from `ai.confidenceBadge.display({ level, value })` ('High ·
12
+ * 92%') and is hidden from assistive technology; a visually hidden summary from
13
+ * `ai.confidenceBadge.summary({ label, level, value })` ('Confidence: High, 92%') is what a
14
+ * screen reader reads, and the trigger's name when the badge opens details. Locales can reorder
15
+ * the words; nothing is concatenated.
16
+ * - **Naming.** The root has no role, so `aria-label` and `aria-labelledby` are not set on it (axe
17
+ * aria-prohibited-attr, ADR-04-R2, OD-F19): a development warning points to `label` and
18
+ * `levelLabels`. `aria-describedby` and `data-*` reach the root.
19
+ * - **Level.** The `level` prop wins. Otherwise `describeConfidence` (F-04) rates the value as it
20
+ * is displayed (Intl-rounded, OD-F7), against `thresholds`, then the provider's, then the
21
+ * defaults. The percent shows only for a valid `value`.
22
+ * - **Non-colour cue.** Every level has its own signal-bar glyph (C-28: `confidence-high`,
23
+ * `-medium`, `-low`) and its word, never colour alone (ADR-33).
24
+ * - **States.** `loading`: a decorative Skeleton (not animated under reduced motion) and a
25
+ * visually hidden 'Calculating confidence'. No value, no level and not loading: nothing renders.
26
+ * A value outside 0-1 (or not a number) shows 'Confidence unavailable' and warns once (OD-F8).
27
+ * - **Variants.** `'badge'` (a chip), `'inline'` (glyph and text with no fill, for plan steps and
28
+ * option descriptions) and `'bar'` (the 'Confidence' label, the text and a decorative
29
+ * LinearProgress at MUI's default height). There is no icon-only variant.
30
+ * - **Colour.** `getTrinityPalette(theme).confidence[level]` inside `sx` callbacks, so a brand theme
31
+ * and a plain MUI theme both flow through (ADR-03, ADR-26). Unavailable is `text.secondary` on
32
+ * the default border role. Forced colours: a `semanticTokens.borders.width.default` CanvasText
33
+ * border, and the bar fill in Highlight (ADR-33).
34
+ * - Logical properties only (ADR-11); spacing and type from `aiSpacing` and `aiTypography` (ADR-20).
35
+ * No telemetry: a display component.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <AIConfidenceBadge value={0.92} />
40
+ * <AIConfidenceBadge value={0.92} rationale="Three sources agree on the figure." />
41
+ * <AIConfidenceBadge level="medium" variant="inline" />
42
+ * ```
43
+ */
44
+ import * as React from 'react';
45
+ import type { SxProps, Theme } from '@mui/material/styles';
46
+ import { type TrinitySlotProps } from '../shared/rootProps';
47
+ import type { AIConfidenceLevel, AIConfidenceThresholds } from './types/hitl';
48
+ /**
49
+ * Props of {@link AIConfidenceBadge}. The rest props reach the root span; `aria-label` and
50
+ * `aria-labelledby` do not (use `label` and `levelLabels`).
51
+ * @since 2.13.0
52
+ */
53
+ export interface AIConfidenceBadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'> {
54
+ /**
55
+ * The confidence, from 0 to 1 (0.92 is 92%). `null` or left out shows the level alone, or
56
+ * nothing without a `level`. A value outside 0-1 shows 'Confidence unavailable' (convert 0-100
57
+ * data with `normalizeConfidence(value, 'percent')`).
58
+ */
59
+ value?: number | null;
60
+ /** The level, for a judge that returns a category without a score. Wins over the level of `value`. */
61
+ level?: AIConfidenceLevel;
62
+ /** Thresholds for this badge. They win over the provider's and the defaults (0.6 and 0.85). */
63
+ thresholds?: Partial<AIConfidenceThresholds>;
64
+ /**
65
+ * `'badge'` is a chip; `'inline'` is the glyph and text with no fill; `'bar'` adds the
66
+ * 'Confidence' label and a decorative progress bar.
67
+ * @default 'badge'
68
+ */
69
+ variant?: 'badge' | 'inline' | 'bar';
70
+ /** @default 'small' */
71
+ size?: 'small' | 'medium';
72
+ /**
73
+ * Shows the percent next to the level when `value` is valid.
74
+ * @default true
75
+ */
76
+ showValue?: boolean;
77
+ /**
78
+ * Shows the 'Confidence' label before the level.
79
+ * @default variant === 'bar'
80
+ */
81
+ showLabel?: boolean;
82
+ /** Why the AI is this confident. Makes the badge a button that opens the details. */
83
+ rationale?: React.ReactNode;
84
+ /** Shows a placeholder while the confidence is calculated. */
85
+ loading?: boolean;
86
+ /** Replaces the 'Confidence' word (`ai.confidenceBadge.label`) for this badge. */
87
+ label?: string;
88
+ /** Replaces level words (`ai.confidenceBadge.level`) for this badge. */
89
+ levelLabels?: Partial<Record<AIConfidenceLevel, string>>;
90
+ className?: string;
91
+ sx?: SxProps<Theme>;
92
+ slotProps?: {
93
+ /** The glyph's wrapper. */
94
+ icon?: TrinitySlotProps<HTMLSpanElement>;
95
+ /** The visible text (hidden from assistive technology). */
96
+ text?: TrinitySlotProps<HTMLSpanElement>;
97
+ /** The progress bar of the `'bar'` variant. */
98
+ bar?: TrinitySlotProps<HTMLSpanElement>;
99
+ /** The chip: a button with `rationale`, a span without. */
100
+ trigger?: TrinitySlotProps<HTMLElement>;
101
+ /** The details dialog (the popover's paper). */
102
+ popover?: TrinitySlotProps<HTMLDivElement>;
103
+ };
104
+ }
105
+ /**
106
+ * Shows how confident the AI is: a level glyph, the level word and, with a valid value, the
107
+ * percent. See the module notes.
108
+ *
109
+ * @example
110
+ * ```tsx
111
+ * <AIConfidenceBadge value={0.92} rationale="Three sources agree on the figure." />
112
+ * ```
113
+ *
114
+ * @since 2.13.0
115
+ */
116
+ export declare const AIConfidenceBadge: React.ForwardRefExoticComponent<AIConfidenceBadgeProps & React.RefAttributes<HTMLSpanElement>>;
117
+ //# sourceMappingURL=AIConfidenceBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIConfidenceBadge.d.ts","sourceRoot":"","sources":["../../../src/components/AI/AIConfidenceBadge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAU3D,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG9E;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAClG;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sGAAsG;IACtG,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrC,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,2BAA2B;QAC3B,IAAI,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACzC,2DAA2D;QAC3D,IAAI,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACzC,+CAA+C;QAC/C,GAAG,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACxC,2DAA2D;QAC3D,OAAO,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACxC,gDAAgD;QAChD,OAAO,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;KAC5C,CAAC;CACH;AAqBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,gGAsQ5B,CAAC"}
@@ -0,0 +1,100 @@
1
+ import type { Context } from 'react';
2
+ import { type DeepPartial, type StringsContextKit } from '../shared/createStringsContext';
3
+ import type { AIConfidenceThresholds, AIInteractionEvent, AIStrings } from './types/hitl';
4
+ /**
5
+ * The `ai` strings namespace: keys are `ai.<group>.<key>`.
6
+ *
7
+ * @internal
8
+ */
9
+ export declare const AIStringsKit: StringsContextKit<AIStrings>;
10
+ /** @internal */
11
+ export declare const AIThresholdsContext: Context<Readonly<AIConfidenceThresholds>>;
12
+ /** @internal */
13
+ export declare const AILocaleContext: Context<string | undefined>;
14
+ /** @internal */
15
+ export declare const AITimeZoneContext: Context<string | undefined>;
16
+ /** @internal */
17
+ export interface AIInteractionContextValue {
18
+ /** Reports an interaction; stable for the provider's lifetime. */
19
+ emit: (event: AIInteractionEvent) => void;
20
+ }
21
+ /** @internal */
22
+ export declare const AIInteractionContext: Context<AIInteractionContextValue>;
23
+ /**
24
+ * A copy of `event` without its user or model text fields; the event itself when it has none.
25
+ *
26
+ * @internal
27
+ */
28
+ export declare function stripInteractionContent(event: AIInteractionEvent): AIInteractionEvent;
29
+ /**
30
+ * The AI strings: the nearest `AIConfigProvider`'s `strings` merged over its ancestors' and the
31
+ * defaults. Without a provider, the default English strings.
32
+ *
33
+ * @param overrides Strings from the calling component's own props; they win over every provider.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * function CopyStatus({ copied }: { copied: boolean }) {
38
+ * const strings = useAIStrings();
39
+ * return <span role="status">{copied ? strings.common.copied : ''}</span>;
40
+ * }
41
+ * ```
42
+ *
43
+ * @since 2.13.0
44
+ */
45
+ export declare function useAIStrings(overrides?: DeepPartial<AIStrings>): AIStrings;
46
+ /**
47
+ * The confidence thresholds: the nearest provider's, filled in from its ancestors and
48
+ * `DEFAULT_AI_CONFIDENCE_THRESHOLDS`. Without a provider, the defaults.
49
+ *
50
+ * @param overrides Thresholds from the calling component's own prop; they win over every
51
+ * provider. Invalid ones (not `0 <= medium <= high <= 1`) are ignored.
52
+ *
53
+ * @since 2.13.0
54
+ */
55
+ export declare function useAIThresholds(overrides?: Partial<AIConfidenceThresholds>): Readonly<AIConfidenceThresholds>;
56
+ /**
57
+ * The locale for numbers and counts: the calling component's own value, then the nearest
58
+ * provider's, then an ancestor's. `undefined` when none is set: formatters then use 'en-US'
59
+ * (DN-13), for example `formatConfidence(value, useAILocale() ?? 'en-US')`.
60
+ *
61
+ * @param override The locale from the calling component's own prop.
62
+ *
63
+ * @since 2.13.0
64
+ */
65
+ export declare function useAILocale(override?: string): string | undefined;
66
+ /**
67
+ * The IANA time zone for dates: the calling component's own value, then the nearest
68
+ * provider's, then an ancestor's. Without any, the runtime's own zone on the client and 'UTC'
69
+ * during server rendering and hydration, read through `useSyncExternalStore`, so server and
70
+ * client markup match.
71
+ *
72
+ * @param override The time zone from the calling component's own prop.
73
+ *
74
+ * @since 2.13.0
75
+ */
76
+ export declare function useAITimeZone(override?: string): string;
77
+ /**
78
+ * The function that reports an interaction to the nearest `AIConfigProvider`'s
79
+ * `onInteraction`. Stable for the provider's lifetime; a no-op without a provider.
80
+ *
81
+ * Call your component's own callback first, then emit: telemetry never changes behavior
82
+ * (ADR-06 (6)). Send content-free payloads; put user or model text only in the fields the
83
+ * types mark "includeContent only", which the provider removes unless `includeContent` is set.
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * function CopyQueryButton({ onCopy }: { onCopy: () => Promise<boolean> }) {
88
+ * const emit = useAIInteraction();
89
+ * const handleClick = async () => {
90
+ * const success = await onCopy();
91
+ * emit({ type: 'copy', target: 'query', success });
92
+ * };
93
+ * return <button type="button" onClick={handleClick}>Copy query</button>;
94
+ * }
95
+ * ```
96
+ *
97
+ * @since 2.13.0
98
+ */
99
+ export declare function useAIInteraction(): (event: AIInteractionEvent) => void;
100
+ //# sourceMappingURL=AIConfigContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIConfigContext.d.ts","sourceRoot":"","sources":["../../../src/components/AI/AIConfigContext.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EAAsC,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE9H,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAmB1F;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAEpD,CAAC;AAEH,gBAAgB;AAChB,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAGzE,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAGvD,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAGzD,CAAC;AAEF,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,IAAI,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC3C;AAID,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,yBAAyB,CAGnE,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAMrF;AAcD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAG1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAS7G;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAEtE"}