@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,185 @@
1
+ /**
2
+ * @fileoverview DetailsPopover: an anchored, accessible details surface (a toggletip dialog) and
3
+ * its trigger hook (master-plan F-09, the ninth shared block, ADR-02-R1).
4
+ * @module components/DetailsPopover
5
+ *
6
+ * @internal — not part of the public API; see ADR-02
7
+ *
8
+ * The details surface of AILabel (WI-60+) and of the HITL molecules: AIConfidenceBadge,
9
+ * AIVerificationBadge, AISourceChip and AIFeedbackControl (F-10, F-11, F-12, F-17). It holds
10
+ * nothing AI-specific, so it lives beside the other blocks, not in AI/. No per-block barrel
11
+ * (M5 decision 19): import it by this module path. Not Popper and not a Popover variant
12
+ * (docs/NAMING.md, "Internal components").
13
+ *
14
+ * - **Trigger.** {@link useDetailsPopover} is `useDisclosure`'s popup mode (B-05): the trigger
15
+ * gets `aria-haspopup="dialog"`, `aria-expanded`, and `aria-controls` while open, with `useId`
16
+ * ids. Every change calls `onOpenChange(open, reason, event?)`; the reason is B-05's
17
+ * `OpenChangeReason` or `'action'`, for a close that an action inside the surface asked for
18
+ * (`setOpen(false, 'action')`).
19
+ * - **Surface.** MUI Popover, so focus moves in, stays trapped, and returns to the trigger on
20
+ * close (ADR-15). The paper is `role="dialog"` with `aria-modal="true"`, named by a visible
21
+ * heading (`title`, an h2 unless `headingLevel` says otherwise: a dialog is its own heading
22
+ * context, so the ADR-19 no-heading default does not apply inside it). A consumer whose
23
+ * content already shows its own title names the dialog with `labelledBy` (an id inside the
24
+ * content) or `label` instead (AILabel's public `popoverLabelledBy` and `popoverLabel`).
25
+ * - **Announcements.** A `LiveRegionProvider` sits inside the paper (ADR-07): MUI hides
26
+ * everything outside an open modal, the document-level regions included.
27
+ * - **Placement.** Anchored at the trigger's bottom centre, the paper's top centre: the same in
28
+ * both directions, so nothing branches on RTL (ADR-11 (3)). If the trigger unmounts while open,
29
+ * the surface stays where the trigger was.
30
+ * - **Size and motion.** The paper is at most the compact container width (E-19 token) and never
31
+ * wider than the viewport minus `theme.spacing(4)`. The transition uses
32
+ * `semanticTokens.motion.duration` (normal in, fast out), 0 under reduced motion. Colours,
33
+ * border, radius and shadow come from the theme's MuiPopover paper. When the dialog itself holds
34
+ * focus (no control inside, opened from the keyboard) it shows the theme focus ring
35
+ * (`interactive.focus`, Highlight in forced colours).
36
+ * - **Closing.** Escape and a click outside request a close (reasons `'escape'` and
37
+ * `'clickAway'`). `preventClose` ignores both while true (ADR-07's `'block'` parity for a
38
+ * pending action). `onAfterClose(reason)` runs after the exit transition, after MUI has
39
+ * returned focus: a focus move made there (a "Show query" action moving focus to the query)
40
+ * is not overwritten, and an announcement made there is not hidden by the modal. If the
41
+ * trigger is gone by then, focus goes to `fallbackFocusRef`.
42
+ * - **Slots.** `slotProps.paper` and `slotProps.heading` merge through `mergeSlotProps`; the
43
+ * dialog's `role` and `aria-modal` are owned.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * const details = useDetailsPopover();
48
+ * <button type="button" {...details.triggerProps}>Why this confidence</button>
49
+ * <DetailsPopover {...details.popoverProps} title="Why this confidence">
50
+ * <KeyValueList items={items} />
51
+ * </DetailsPopover>
52
+ * ```
53
+ */
54
+ import * as React from 'react';
55
+ import { type DisclosureTriggerProps, type OpenChangeReason, type UseDisclosureReturn } from '../../hooks/useDisclosure';
56
+ import { type HeadingLevel } from '../shared/headingLevel';
57
+ import type { TrinitySlotProps } from '../shared/rootProps';
58
+ /**
59
+ * Why a details popover opened or closed: B-05's reasons, or `'action'` for a close that an
60
+ * action inside the surface requested.
61
+ * @internal
62
+ * @since 2.13.0
63
+ */
64
+ export type DetailsPopoverChangeReason = OpenChangeReason | 'action';
65
+ /**
66
+ * How the dialog is named. `title` (the default for new surfaces) renders a visible heading that
67
+ * names it. `labelledBy` names it from an element inside `children`, and `label` with an
68
+ * `aria-label`, for content that already shows its own title (AILabel).
69
+ * @internal
70
+ * @since 2.13.0
71
+ */
72
+ export type DetailsPopoverName = {
73
+ title: React.ReactNode;
74
+ label?: never;
75
+ labelledBy?: never;
76
+ } | {
77
+ labelledBy: string;
78
+ title?: never;
79
+ label?: never;
80
+ } | {
81
+ label: string;
82
+ title?: never;
83
+ labelledBy?: never;
84
+ };
85
+ /**
86
+ * The popover's own props.
87
+ * @internal
88
+ * @since 2.13.0
89
+ */
90
+ export interface DetailsPopoverOwnProps {
91
+ /** Whether the surface is open. */
92
+ open: boolean;
93
+ /** The trigger: the surface is anchored at its bottom centre. */
94
+ anchorEl: HTMLElement | null;
95
+ /**
96
+ * Called when Escape or a click outside requests a close (never while `preventClose`).
97
+ * {@link useDetailsPopover}'s `popoverProps` wires it.
98
+ */
99
+ onOpenChange?: (open: boolean, reason: DetailsPopoverChangeReason, event?: React.SyntheticEvent | Event) => void;
100
+ /**
101
+ * Runs after the exit transition, once MUI has returned focus to the trigger, with the reason
102
+ * of the close. Move focus or announce here, never in the handler that closes.
103
+ */
104
+ onAfterClose?: (reason: DetailsPopoverChangeReason) => void;
105
+ /**
106
+ * The close reason the trigger hook recorded, read when the exit transition ends. Set by
107
+ * {@link useDetailsPopover}; without it the reason is the last Escape or click outside, else
108
+ * `'programmatic'`.
109
+ */
110
+ getCloseReason?: () => DetailsPopoverChangeReason | undefined;
111
+ /**
112
+ * The heading element of `title`.
113
+ * @default 2
114
+ */
115
+ headingLevel?: HeadingLevel;
116
+ /** While true, Escape and a click outside do not close the surface (a pending action). */
117
+ preventClose?: boolean;
118
+ /** Receives focus after the close when the trigger is no longer in the document. */
119
+ fallbackFocusRef?: React.RefObject<HTMLElement | null>;
120
+ /** The paper's id: the trigger's `aria-controls`. {@link useDetailsPopover} sets it. */
121
+ id?: string;
122
+ /** The surface's content. */
123
+ children?: React.ReactNode;
124
+ slotProps?: {
125
+ /** The dialog (MUI Popover's paper). */
126
+ paper?: TrinitySlotProps<HTMLDivElement>;
127
+ /** The `title` heading. */
128
+ heading?: TrinitySlotProps<HTMLHeadingElement>;
129
+ };
130
+ }
131
+ /**
132
+ * Props of {@link DetailsPopover}.
133
+ * @internal
134
+ * @since 2.13.0
135
+ */
136
+ export type DetailsPopoverProps = DetailsPopoverOwnProps & DetailsPopoverName;
137
+ /**
138
+ * An anchored, accessible details surface. See the module notes.
139
+ * @internal
140
+ * @since 2.13.0
141
+ */
142
+ export declare function DetailsPopover(props: DetailsPopoverProps): React.JSX.Element;
143
+ /**
144
+ * Options of {@link useDetailsPopover}.
145
+ * @internal
146
+ * @since 2.13.0
147
+ */
148
+ export interface UseDetailsPopoverOptions {
149
+ /** Controlled open state. */
150
+ open?: boolean;
151
+ /** @default false */
152
+ defaultOpen?: boolean;
153
+ /** Called on every requested change, with the reason and the event when there is one. */
154
+ onOpenChange?: (open: boolean, reason: DetailsPopoverChangeReason, event?: React.SyntheticEvent | Event) => void;
155
+ /** The trigger's id; the paper's is `${id}-panel`. @default an id from `React.useId()` */
156
+ id?: string;
157
+ }
158
+ /**
159
+ * What {@link useDetailsPopover} returns.
160
+ * @internal
161
+ * @since 2.13.0
162
+ */
163
+ export interface UseDetailsPopoverResult {
164
+ /** Whether the surface is open. */
165
+ open: boolean;
166
+ /** Requests a change. `setOpen(false, 'action')` closes for an action inside the surface. */
167
+ setOpen: (open: boolean, reason?: DetailsPopoverChangeReason, event?: React.SyntheticEvent | Event) => void;
168
+ /** Spread on the trigger (a native button). */
169
+ triggerProps: DisclosureTriggerProps;
170
+ /** The trigger props merged with the trigger's own `onClick` and `ref`. */
171
+ getTriggerProps: UseDisclosureReturn['getTriggerProps'];
172
+ /** Spread on {@link DetailsPopover}. */
173
+ popoverProps: Pick<DetailsPopoverOwnProps, 'id' | 'open' | 'anchorEl' | 'onOpenChange' | 'getCloseReason'> & {
174
+ open: boolean;
175
+ anchorEl: HTMLElement | null;
176
+ };
177
+ }
178
+ /**
179
+ * The trigger side of a {@link DetailsPopover}: `useDisclosure`'s popup mode with a dialog
180
+ * popup, plus the `'action'` close reason. See the module notes.
181
+ * @internal
182
+ * @since 2.13.0
183
+ */
184
+ export declare function useDetailsPopover(options?: UseDetailsPopoverOptions): UseDetailsPopoverResult;
185
+ //# sourceMappingURL=DetailsPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailsPopover.d.ts","sourceRoot":"","sources":["../../../src/components/DetailsPopover/DetailsPopover.tsx"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  * ```
13
13
  */
14
14
  import * as React from 'react';
15
+ import type { SxProps, Theme } from '@mui/material/styles';
15
16
  export type DiffViewMode = 'side-by-side' | 'unified';
16
17
  export interface DiffLine {
17
18
  type: 'unchanged' | 'added' | 'removed' | 'context';
@@ -55,8 +56,8 @@ export interface DiffViewerProps {
55
56
  showCopy?: boolean;
56
57
  /** Custom class name */
57
58
  className?: string;
58
- /** Custom styles */
59
- sx?: Record<string, unknown>;
59
+ /** Styles for the root, merged after the component's own: an object, an array or a theme callback (ADR-04) */
60
+ sx?: SxProps<Theme>;
60
61
  }
61
62
  export declare const DiffViewer: React.ForwardRefExoticComponent<DiffViewerProps & React.RefAttributes<HTMLDivElement>>;
62
63
  export default DiffViewer;
@@ -1 +1 @@
1
- {"version":3,"file":"DiffViewer.d.ts","sourceRoot":"","sources":["../../../src/components/DiffViewer/DiffViewer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0B/B,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,iCAAiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAoaD,eAAO,MAAM,UAAU,wFAsMrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"DiffViewer.d.ts","sourceRoot":"","sources":["../../../src/components/DiffViewer/DiffViewer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAY3D,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,iCAAiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8GAA8G;IAC9G,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACrB;AAoaD,eAAO,MAAM,UAAU,wFAwNrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @fileoverview Disclosure: one button that shows and hides one panel (master-plan D-08).
3
+ * @module components/Disclosure
4
+ *
5
+ * @internal — not part of the public API; see ADR-02
6
+ *
7
+ * The expand and collapse control for DiffViewer's hunks, AIExpandableSection, AISourcesSection,
8
+ * AIRelatedQuestions, AISourcesPanel, the chain of thought and InsightEngine's history (D-22,
9
+ * D-27..D-31, D-36, D-39). Not an Accordion variant (NAMING, "Why each block is not a variant").
10
+ *
11
+ * - **State.** `useDisclosure`'s inline mode (B-05): controlled (`open`) or uncontrolled
12
+ * (`defaultOpen`); every change calls `onOpenChange(open, 'trigger', event)` (D-45, ADR-35-R9).
13
+ * The trigger owns `aria-expanded` and `aria-controls` (applied after slot props); ids come
14
+ * from `useId`, or from `id` (the trigger's id; the panel's is `${id}-panel`).
15
+ * - **Trigger.** A full-width ButtonBase (`<button type="button">`): focus ring, keyboard and
16
+ * disabled from the theme. Its content is phrasing only: the title and subtitle are spans
17
+ * (never Typography's `<p>` or `<h6>`), and the adornments must be non-interactive phrasing
18
+ * content. A development warning, and the D-44 test guard, catch block or interactive content.
19
+ * - **Chevron (OD-D2 (a)).** `chevron-down`, rotated 180 degrees when open: the same in both
20
+ * directions. Its transition (`motion.duration.fast`) is turned off under reduced motion.
21
+ * - **Panel.** MUI Collapse with `motion.duration.normal`, 0 under reduced motion or with
22
+ * `disableAnimation`. Mounted while closed (hidden, so Tab skips it) unless `unmountOnExit`.
23
+ * `panelRole="region"` opts in to a region named by the trigger.
24
+ * - **Heading.** None by default; `headingLevel` wraps the trigger in that heading.
25
+ * - **Disabled** sets `aria-disabled`: the trigger stays focusable and does not toggle.
26
+ * - **Colours.** `text.primary`; hover is MUI's `action.hover` state colour; the focus outline is
27
+ * `interactive.focus`, Highlight in forced colours.
28
+ */
29
+ import * as React from 'react';
30
+ import { type SxProps, type Theme } from '@mui/material/styles';
31
+ import { type HeadingLevel } from '../shared/headingLevel';
32
+ import { type TrinitySlotProps } from '../shared/rootProps';
33
+ /** The disclosure's own props. @internal */
34
+ export interface DisclosureOwnProps {
35
+ /** The trigger's label: phrasing content only. */
36
+ title: React.ReactNode;
37
+ /** A second line under the title: phrasing content only. */
38
+ subtitle?: React.ReactNode;
39
+ /** Before the title: non-interactive phrasing content (an icon, a MetaChip with `component="span"`). */
40
+ startAdornment?: React.ReactNode;
41
+ /** After the title: non-interactive phrasing content (a count, a status). */
42
+ endAdornment?: React.ReactNode;
43
+ /** The panel's content. */
44
+ children: React.ReactNode;
45
+ /** Controlled open state. */
46
+ open?: boolean;
47
+ /** @default false */
48
+ defaultOpen?: boolean;
49
+ /** Called with the requested state, the reason and the trigger's event. */
50
+ onOpenChange?: (open: boolean, reason: 'trigger', event: React.SyntheticEvent) => void;
51
+ /** `aria-disabled`: focusable, does not toggle. */
52
+ disabled?: boolean;
53
+ /** Wraps the trigger in a heading of this level. */
54
+ headingLevel?: HeadingLevel;
55
+ /** Makes the panel a region named by the trigger. */
56
+ panelRole?: 'region';
57
+ /** @default 'end' */
58
+ chevronPlacement?: 'start' | 'end';
59
+ /** Unmount the panel while closed. */
60
+ unmountOnExit?: boolean;
61
+ /** No collapse animation. */
62
+ disableAnimation?: boolean;
63
+ /** @default 'medium' */
64
+ size?: 'small' | 'medium';
65
+ /** The trigger's id; the panel's is `${id}-panel`. */
66
+ id?: string;
67
+ sx?: SxProps<Theme>;
68
+ className?: string;
69
+ slotProps?: {
70
+ heading?: TrinitySlotProps<HTMLHeadingElement>;
71
+ trigger?: TrinitySlotProps<HTMLButtonElement>;
72
+ chevron?: TrinitySlotProps<HTMLSpanElement>;
73
+ panel?: TrinitySlotProps<HTMLDivElement>;
74
+ };
75
+ }
76
+ /** @internal */
77
+ export type DisclosureProps = DisclosureOwnProps & Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'onChange' | 'color' | keyof DisclosureOwnProps>;
78
+ /**
79
+ * A button that shows and hides one panel. See the module notes.
80
+ * @internal
81
+ */
82
+ export declare const Disclosure: React.ForwardRefExoticComponent<DisclosureOwnProps & Omit<React.HTMLAttributes<HTMLDivElement>, "color" | "onChange" | keyof DisclosureOwnProps> & React.RefAttributes<HTMLDivElement>>;
83
+ //# sourceMappingURL=Disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Disclosure.d.ts","sourceRoot":"","sources":["../../../src/components/Disclosure/Disclosure.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK1E,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI7E,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG1E,4CAA4C;AAC5C,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wGAAwG;IACxG,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,2BAA2B;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qBAAqB;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IACvF,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,qBAAqB;IACrB,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACnC,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB;IACxB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC5C,KAAK,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAC9C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,kBAAkB,CAAC,CAAC;AAQxG;;;GAGG;AACH,eAAO,MAAM,UAAU,yLAqJrB,CAAC"}
@@ -12,6 +12,53 @@
12
12
  * ```
13
13
  */
14
14
  import * as React from 'react';
15
+ /**
16
+ * DockLayout's overridable strings (NAMING.md, "Label overrides (non-AI)"). Pass any subset
17
+ * through the `labels` prop; keys you leave out keep their defaults. Each one names an
18
+ * icon-only header button and is its tooltip (B-34).
19
+ *
20
+ * @since 2.13.0
21
+ */
22
+ export interface DockLayoutLabels {
23
+ /** @default 'Minimize panel' */
24
+ minimizePanel: string;
25
+ /** @default 'Maximize panel' */
26
+ maximizePanel: string;
27
+ /** @default 'More panel actions' */
28
+ morePanelActions: string;
29
+ /** @default 'Close panel' */
30
+ closePanel: string;
31
+ /**
32
+ * The move button at the end of a tab bar; it moves the selected tab's panel (B-59).
33
+ * @default ({ title }) => `Move ${title}`
34
+ */
35
+ movePanel: (args: {
36
+ title: string;
37
+ }) => string;
38
+ /**
39
+ * A "Move to" menu item, one per other zone (B-59). `zone` is the zone's `zoneLabels` entry, or
40
+ * its id.
41
+ * @default ({ zone }) => `Move to ${zone}`
42
+ */
43
+ moveTo: (args: {
44
+ zone: string;
45
+ }) => string;
46
+ /** @default 'Drop panel here' */
47
+ dropPanelHere: string;
48
+ /** Announced when a drag starts. @default ({ title }) => `Moving panel ${title}. Drop on a zone to complete.` */
49
+ moving: (args: {
50
+ title: string;
51
+ }) => string;
52
+ /** Announced after a drop or a "Move to" item. @default ({ title, zone }) => `Moved panel ${title} to ${zone}.` */
53
+ moved: (args: {
54
+ title: string;
55
+ zone: string;
56
+ }) => string;
57
+ /** Announced when a panel is dropped on its own zone. @default ({ title }) => `Drop canceled. Panel ${title} stayed in place.` */
58
+ moveCanceled: (args: {
59
+ title: string;
60
+ }) => string;
61
+ }
15
62
  export interface DockPanel {
16
63
  /** Unique identifier */
17
64
  id: string;
@@ -72,6 +119,17 @@ export interface DockLayoutProps {
72
119
  className?: string;
73
120
  /** Custom styles */
74
121
  sx?: Record<string, unknown>;
122
+ /**
123
+ * Overrides for DockLayout's built-in strings (any subset).
124
+ * @since 2.13.0
125
+ */
126
+ labels?: Partial<DockLayoutLabels>;
127
+ /**
128
+ * Names for the zones, by zone id, used by the "Move to" menu items and the move announcements
129
+ * (B-59). A zone without an entry is named by its id.
130
+ * @since 2.13.0
131
+ */
132
+ zoneLabels?: Record<string, string>;
75
133
  }
76
134
  export declare const DockLayout: React.ForwardRefExoticComponent<DockLayoutProps & React.RefAttributes<HTMLDivElement>>;
77
135
  export default DockLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"DockLayout.d.ts","sourceRoot":"","sources":["../../../src/components/DockLayout/DockLayout.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6B/B,MAAM,WAAW,SAAS;IACxB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,iBAAiB;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IACrD,oCAAoC;IACpC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,8BAA8B;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,mCAAmC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC5C,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAwfD,eAAO,MAAM,UAAU,wFAsJrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"DockLayout.d.ts","sourceRoot":"","sources":["../../../src/components/DockLayout/DockLayout.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { DockLayout, type DockLayoutProps, type DockPanel, type DockZone } from './DockLayout';
1
+ export { DockLayout, type DockLayoutProps, type DockLayoutLabels, type DockPanel, type DockZone } from './DockLayout';
2
2
  export { default } from './DockLayout';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DockLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DockLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -70,7 +70,11 @@ export interface DocumentCardProps {
70
70
  onDelete?: (id: string | number) => void;
71
71
  /** Called when edit is clicked */
72
72
  onEdit?: (id: string | number) => void;
73
- /** Called when card is clicked */
73
+ /**
74
+ * Called when the card is activated. The card then has a primary action: a button that
75
+ * covers the card, named by the file name, reachable with Tab and run by Enter and Space.
76
+ * The toggle, edit and delete controls keep their own clicks.
77
+ */
74
78
  onClick?: (id: string | number) => void;
75
79
  }
76
80
  export declare const DocumentCard: React.ForwardRefExoticComponent<DocumentCardProps & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentCard.d.ts","sourceRoot":"","sources":["../../../src/components/DocumentCard/DocumentCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAgBD,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,GAAG,EAAE,YAAY,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,2CAA2C;IAC3C,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC/C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACzC,kCAAkC;IAClC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACzC;AAsED,eAAO,MAAM,YAAY,0FA8SxB,CAAC"}
1
+ {"version":3,"file":"DocumentCard.d.ts","sourceRoot":"","sources":["../../../src/components/DocumentCard/DocumentCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqB/B,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAgBD,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,GAAG,EAAE,YAAY,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,2CAA2C;IAC3C,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC/C,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACzC,kCAAkC;IAClC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACzC;AAoCD,eAAO,MAAM,YAAY,0FA+VxB,CAAC"}
@@ -5,8 +5,12 @@
5
5
  * optional tab strip, scrollable body with one tab's content visible,
6
6
  * optional sticky footer slot.
7
7
  *
8
- * Field sections render as a 2-column grid (label left, value right) at
9
- * desktop width; collapse to single column on narrow viewports.
8
+ * Field sections render as a named description list (KeyValueList): label
9
+ * and value side by side, stacking when the row is narrower than both.
10
+ *
11
+ * Colors come from the MUI text roles and the palette resolver (`getTrinityPalette`): surfaces,
12
+ * borders and the status pill's status roles, so both modes, presets and theme overrides flow
13
+ * through (D-47).
10
14
  *
11
15
  * @module components/EntityDetailPanel
12
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EntityDetailPanel.d.ts","sourceRoot":"","sources":["../../../src/components/EntityDetailPanel/EntityDetailPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EACV,sBAAsB,EAKvB,MAAM,SAAS,CAAC;AA0KjB,eAAO,MAAM,iBAAiB,+FAkO5B,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"EntityDetailPanel.d.ts","sourceRoot":"","sources":["../../../src/components/EntityDetailPanel/EntityDetailPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EACV,sBAAsB,EAKvB,MAAM,SAAS,CAAC;AAqIjB,eAAO,MAAM,iBAAiB,+FAwO5B,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -9,7 +9,12 @@
9
9
  * ```
10
10
  */
11
11
  import React from 'react';
12
+ /** Visual variant of {@link FileUpload}: a dropzone, a single button, or a compact chip row. */
12
13
  export type FileUploadVariant = 'dropzone' | 'button' | 'compact';
14
+ /**
15
+ * One entry of the {@link FileUpload} file list, as rendered and as reported
16
+ * through `onFilesChange`.
17
+ */
13
18
  export interface UploadFile {
14
19
  /** Unique identifier */
15
20
  id: string;
@@ -21,15 +26,60 @@ export interface UploadFile {
21
26
  size: number;
22
27
  /** MIME type */
23
28
  type: string;
24
- /** Upload progress (0-100) */
29
+ /**
30
+ * Upload progress (0-100). While `onUpload` is pending it is simulated in
31
+ * 10% steps up to 90%; it becomes 100 when the upload resolves.
32
+ */
25
33
  progress: number;
26
34
  /** Upload status */
27
35
  status: 'pending' | 'uploading' | 'complete' | 'error';
28
36
  /** Error message if status is 'error' */
29
37
  error?: string;
30
- /** Preview URL for images */
38
+ /**
39
+ * Preview URL for images. For image files it selects, FileUpload creates an
40
+ * object URL (`URL.createObjectURL`) and revokes it once the file has left
41
+ * the rendered list (removed, or replaced in single-file mode) or when
42
+ * FileUpload unmounts. React `<Activity mode="hidden">` also revokes these
43
+ * URLs; when FileUpload is shown again, each listed image file gets a new
44
+ * URL, reported once through `onFilesChange` (twice in development under
45
+ * React StrictMode, which replays the effect). A URL FileUpload created is
46
+ * kept while the file stays listed, so a removal you decline keeps a live
47
+ * preview. To show a preview beyond that, create your own URL from `file`.
48
+ * A `preview` you pass in through `files` is never revoked on replacement,
49
+ * hiding or unmount; it is revoked as soon as the user presses that file's
50
+ * remove control, even if you then decline the removal, so pass a new URL
51
+ * for a file you keep.
52
+ */
31
53
  preview?: string;
32
54
  }
55
+ /**
56
+ * Overridable user-facing strings of {@link FileUpload} that name controls in
57
+ * the file list (H-47 label overrides). Pass any subset through the `labels`
58
+ * prop; keys you leave out keep their English defaults. Each function receives
59
+ * the file's `name`, so every row gets a distinct name.
60
+ *
61
+ * @since 2.13.0
62
+ */
63
+ export interface FileUploadLabels {
64
+ /**
65
+ * Accessible name of the progress bar shown in a file's row while its
66
+ * upload is pending (dropzone and button variants).
67
+ *
68
+ * @default ({ name }) => `Uploading ${name}`
69
+ */
70
+ uploading: (args: {
71
+ name: string;
72
+ }) => string;
73
+ /**
74
+ * Accessible name and tooltip of the icon-only button that removes a file's
75
+ * row (dropzone and button variants).
76
+ *
77
+ * @default ({ name }) => `Remove ${name}`
78
+ */
79
+ remove: (args: {
80
+ name: string;
81
+ }) => string;
82
+ }
33
83
  /**
34
84
  * Props for FileUpload component.
35
85
  */
@@ -44,15 +94,91 @@ export interface FileUploadProps {
44
94
  maxSize?: number;
45
95
  /** Maximum number of files */
46
96
  maxFiles?: number;
47
- /** Current files (controlled) */
97
+ /**
98
+ * Current files (controlled). When set, the component renders exactly this
99
+ * list and reports every change through `onFilesChange`; apply each value
100
+ * as-is (e.g. `onFilesChange={setFiles}`). You may also decline a value
101
+ * (keep your list) or apply a filtered copy: the next change builds on the
102
+ * list you render, so a declined file does not come back and does not count
103
+ * towards `maxFiles`. For the same reason, apply or decline each value
104
+ * synchronously (`onFilesChange={setFiles}`, or a functional updater such
105
+ * as `setFiles((prev) => …)`) or in `startTransition`. Then every upload
106
+ * outcome of a listed file reaches your list, and each selection and
107
+ * removal is kept, also when a transition renders an upload report after
108
+ * it (after each selection or removal, FileUpload holds its upload reports
109
+ * until your answer renders, for up to 200 ms). The exception is a
110
+ * selection or removal your list does not show yet when the user selects or
111
+ * removes again (a transition still rendering): the new change builds on
112
+ * the list you render, so the earlier one is lost. Values applied later
113
+ * (`setTimeout`, even `setTimeout(0)`, or after an `await`) are not
114
+ * guaranteed: an older report can be applied after the user's change and
115
+ * undo it (browsers delay a `setTimeout(0)` scheduled from FileUpload's
116
+ * progress timer by 4 ms), and a value held back past FileUpload's next
117
+ * report (the user's next selection or removal, or the next progress step
118
+ * or outcome of an upload in flight) is overwritten by that report, which
119
+ * builds on the list you rendered.
120
+ * When omitted, the component keeps the list itself.
121
+ *
122
+ * The mode is decided on the first render and kept for the component's
123
+ * lifetime. To control the list, pass an array from the start (`[]` while
124
+ * your data loads, not `undefined`). Switching between controlled and
125
+ * uncontrolled after mount is not supported and logs a warning in
126
+ * development.
127
+ */
48
128
  files?: UploadFile[];
49
- /** Callback when files change */
129
+ /**
130
+ * Called with the complete next file list on every change: selection,
131
+ * removal and each upload transition (`pending` → `uploading` → progress →
132
+ * `complete` | `error`). Not called when nothing changed, for example while
133
+ * simulated progress waits at 90% or for an upload whose file is no longer
134
+ * listed. Fires in controlled and uncontrolled mode; each value is the whole
135
+ * accumulated list, not only the latest selection.
136
+ *
137
+ * Each value builds on the list of the last render, with every upload
138
+ * transition FileUpload has made applied to the files in it, so
139
+ * intermediate transitions are never dropped and a file you declined is
140
+ * not brought back. FileUpload's own upload transitions (`status`,
141
+ * `progress`, `error`) for a listed file are applied to each value until
142
+ * your list shows them, so keeping your previous file object does not
143
+ * decline one. To override one, change the file after you have applied it:
144
+ * render your own copy whose `status`, `progress`, `error` or `preview`
145
+ * differs from what FileUpload reported (for example a translated `error`),
146
+ * or edit the file later; FileUpload keeps your version. Values reported
147
+ * back-to-back before React renders (a selection and its first `uploading`
148
+ * transition) build on each other. After a selection or removal, upload
149
+ * progress and outcomes wait until your answer renders (that value or a
150
+ * later one, or a list of your own with other files), for up to 200 ms,
151
+ * and are then reported in one value (see `files`).
152
+ *
153
+ * Not called after the component unmounts, or while React
154
+ * `<Activity mode="hidden">` hides it: uploads keep running while hidden,
155
+ * and what changed is reported once, in one value, when it is shown again.
156
+ * In development under React StrictMode, which replays effects, a re-show
157
+ * that gives an image file a new preview URL reports twice.
158
+ */
50
159
  onFilesChange?: (files: UploadFile[]) => void;
51
160
  /** Callback when a file is selected */
52
161
  onFileSelect?: (files: File[]) => void;
53
- /** Callback when a file is removed */
162
+ /**
163
+ * Callback when a file is removed: its row's remove button (dropzone and
164
+ * button variants) or its chip's delete action (compact variant). When that
165
+ * control had focus (Enter or Space on the button, Backspace or Delete on the
166
+ * chip), focus moves to the next file's control, else the previous file's,
167
+ * else the control that opens the file picker (the dropzone, the upload
168
+ * button or Browse), once the file has left the rendered list.
169
+ */
54
170
  onFileRemove?: (file: UploadFile) => void;
55
- /** Custom upload function - return promise that resolves on success */
171
+ /**
172
+ * Custom upload function. Return a promise that resolves on success or
173
+ * rejects (its `Error.message` becomes the file's `error`). Files from one
174
+ * selection upload one after another; a second selection starts uploading
175
+ * at once, alongside the first. While a promise is pending, progress is
176
+ * simulated in 10% steps up to 90% and shown as a progress bar named
177
+ * "Uploading {file name}" (`labels.uploading`). The simulation stops when
178
+ * the promise settles, when the file is no longer listed, or when the
179
+ * component unmounts or is hidden by React `<Activity mode="hidden">` (it
180
+ * resumes when shown again). No state update is made after unmount.
181
+ */
56
182
  onUpload?: (file: File) => Promise<void>;
57
183
  /** Whether upload is disabled */
58
184
  disabled?: boolean;
@@ -64,6 +190,15 @@ export interface FileUploadProps {
64
190
  showFileList?: boolean;
65
191
  /** Compact size */
66
192
  size?: 'small' | 'medium';
193
+ /**
194
+ * Overrides for the file list's screen-reader strings: the remove button's
195
+ * name and tooltip, and the upload progress bar's name. Keys you leave out
196
+ * keep their defaults.
197
+ *
198
+ * @default {} (see {@link FileUploadLabels} for each key's default)
199
+ * @since 2.13.0
200
+ */
201
+ labels?: Partial<FileUploadLabels>;
67
202
  /** Custom styles */
68
203
  sx?: object;
69
204
  }