@agimon-ai/doompi-web-components 0.0.1-alpha.0 → 0.0.1-alpha.10

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 (309) hide show
  1. package/README.md +25 -6
  2. package/dist/components/Accordion.d.cts +4 -4
  3. package/dist/components/Accordion.d.cts.map +1 -1
  4. package/dist/components/AnsiText.d.cts +17 -0
  5. package/dist/components/AnsiText.d.cts.map +1 -0
  6. package/dist/components/Avatar.d.cts +3 -3
  7. package/dist/components/Avatar.d.cts.map +1 -1
  8. package/dist/components/Badge.d.cts +1 -1
  9. package/dist/components/Badge.d.cts.map +1 -1
  10. package/dist/components/Breadcrumb.d.cts +37 -0
  11. package/dist/components/Breadcrumb.d.cts.map +1 -0
  12. package/dist/components/Button.d.cts +1 -1
  13. package/dist/components/Button.d.cts.map +1 -1
  14. package/dist/components/Checkbox.d.cts +1 -1
  15. package/dist/components/Checkbox.d.cts.map +1 -1
  16. package/dist/components/CodeEditor.d.cts +6 -0
  17. package/dist/components/CodeEditor.d.cts.map +1 -0
  18. package/dist/components/Collapsible.d.cts +3 -3
  19. package/dist/components/Collapsible.d.cts.map +1 -1
  20. package/dist/components/Command.d.cts +10 -10
  21. package/dist/components/Command.d.cts.map +1 -1
  22. package/dist/components/Dialog.d.cts +9 -9
  23. package/dist/components/Dialog.d.cts.map +1 -1
  24. package/dist/components/Dot.d.cts +1 -1
  25. package/dist/components/Dot.d.cts.map +1 -1
  26. package/dist/components/DropdownMenu.d.cts +14 -14
  27. package/dist/components/DropdownMenu.d.cts.map +1 -1
  28. package/dist/components/EmptyState.d.cts +1 -1
  29. package/dist/components/EmptyState.d.cts.map +1 -1
  30. package/dist/components/HashlineLines.d.cts +24 -0
  31. package/dist/components/HashlineLines.d.cts.map +1 -0
  32. package/dist/components/Input.d.cts +1 -1
  33. package/dist/components/Input.d.cts.map +1 -1
  34. package/dist/components/Kbd.d.cts +1 -1
  35. package/dist/components/Kbd.d.cts.map +1 -1
  36. package/dist/components/Label.d.cts +1 -1
  37. package/dist/components/Label.d.cts.map +1 -1
  38. package/dist/components/Markdown.d.cts +13 -3
  39. package/dist/components/Markdown.d.cts.map +1 -1
  40. package/dist/components/MediaPreview.d.cts +25 -0
  41. package/dist/components/MediaPreview.d.cts.map +1 -0
  42. package/dist/components/MessageItem.d.cts +38 -6
  43. package/dist/components/MessageItem.d.cts.map +1 -1
  44. package/dist/components/MessageLines.d.cts +1 -1
  45. package/dist/components/MessageLines.d.cts.map +1 -1
  46. package/dist/components/OptionList.d.cts +3 -3
  47. package/dist/components/OptionList.d.cts.map +1 -1
  48. package/dist/components/Panel.d.cts +3 -3
  49. package/dist/components/Panel.d.cts.map +1 -1
  50. package/dist/components/Popover.d.cts +7 -7
  51. package/dist/components/Popover.d.cts.map +1 -1
  52. package/dist/components/Progress.d.cts +1 -1
  53. package/dist/components/Progress.d.cts.map +1 -1
  54. package/dist/components/RadioGroup.d.cts +3 -3
  55. package/dist/components/RadioGroup.d.cts.map +1 -1
  56. package/dist/components/ScrollArea.d.cts +2 -2
  57. package/dist/components/ScrollArea.d.cts.map +1 -1
  58. package/dist/components/SectionLabel.d.cts +1 -1
  59. package/dist/components/SectionLabel.d.cts.map +1 -1
  60. package/dist/components/Select.d.cts +8 -8
  61. package/dist/components/Select.d.cts.map +1 -1
  62. package/dist/components/Separator.d.cts +1 -1
  63. package/dist/components/Separator.d.cts.map +1 -1
  64. package/dist/components/Sheet.d.cts +36 -0
  65. package/dist/components/Sheet.d.cts.map +1 -0
  66. package/dist/components/Skeleton.d.cts +1 -1
  67. package/dist/components/Skeleton.d.cts.map +1 -1
  68. package/dist/components/Spinner.d.cts +1 -1
  69. package/dist/components/Spinner.d.cts.map +1 -1
  70. package/dist/components/StatusBadge.d.cts +1 -1
  71. package/dist/components/StatusBadge.d.cts.map +1 -1
  72. package/dist/components/StreamCursor.d.cts +1 -1
  73. package/dist/components/StreamCursor.d.cts.map +1 -1
  74. package/dist/components/Switch.d.cts +1 -1
  75. package/dist/components/Switch.d.cts.map +1 -1
  76. package/dist/components/SyntaxText.d.cts +51 -0
  77. package/dist/components/SyntaxText.d.cts.map +1 -0
  78. package/dist/components/Tabs.d.cts +6 -6
  79. package/dist/components/Tabs.d.cts.map +1 -1
  80. package/dist/components/Textarea.d.cts +1 -1
  81. package/dist/components/Textarea.d.cts.map +1 -1
  82. package/dist/components/Toast.d.cts +7 -7
  83. package/dist/components/Toast.d.cts.map +1 -1
  84. package/dist/components/ToolPathLink.d.cts +23 -0
  85. package/dist/components/ToolPathLink.d.cts.map +1 -0
  86. package/dist/components/Tooltip.d.cts +4 -4
  87. package/dist/components/Tooltip.d.cts.map +1 -1
  88. package/dist/icons/icons.d.cts +2 -2
  89. package/dist/index.cjs +1 -1
  90. package/dist/index.d.cts +18 -3
  91. package/dist/index.d.mts +18 -3
  92. package/dist/index.mjs +1 -1
  93. package/dist/lib/ansiSpans.d.cts +43 -0
  94. package/dist/lib/ansiSpans.d.cts.map +1 -0
  95. package/dist/lib/editorLanguage.d.cts +22 -0
  96. package/dist/lib/editorLanguage.d.cts.map +1 -0
  97. package/dist/lib/editorTheme.d.cts +77 -0
  98. package/dist/lib/editorTheme.d.cts.map +1 -0
  99. package/dist/lib/hashlineHighlight.d.cts +31 -0
  100. package/dist/lib/hashlineHighlight.d.cts.map +1 -0
  101. package/dist/lib/hashlineView.d.cts +61 -0
  102. package/dist/lib/hashlineView.d.cts.map +1 -0
  103. package/dist/lib/media.d.cts +12 -0
  104. package/dist/lib/media.d.cts.map +1 -0
  105. package/dist/lib/syntaxHighlight.d.cts +55 -0
  106. package/dist/lib/syntaxHighlight.d.cts.map +1 -0
  107. package/dist/src/components/Accordion.d.mts +4 -4
  108. package/dist/src/components/Accordion.d.mts.map +1 -1
  109. package/dist/src/components/AnsiText.cjs +4 -0
  110. package/dist/src/components/AnsiText.cjs.map +1 -0
  111. package/dist/src/components/AnsiText.d.mts +17 -0
  112. package/dist/src/components/AnsiText.d.mts.map +1 -0
  113. package/dist/src/components/AnsiText.mjs +4 -0
  114. package/dist/src/components/AnsiText.mjs.map +1 -0
  115. package/dist/src/components/Avatar.d.mts +3 -3
  116. package/dist/src/components/Avatar.d.mts.map +1 -1
  117. package/dist/src/components/Badge.d.mts +2 -2
  118. package/dist/src/components/Badge.d.mts.map +1 -1
  119. package/dist/src/components/Breadcrumb.cjs +2 -0
  120. package/dist/src/components/Breadcrumb.cjs.map +1 -0
  121. package/dist/src/components/Breadcrumb.d.mts +37 -0
  122. package/dist/src/components/Breadcrumb.d.mts.map +1 -0
  123. package/dist/src/components/Breadcrumb.mjs +2 -0
  124. package/dist/src/components/Breadcrumb.mjs.map +1 -0
  125. package/dist/src/components/Button.d.mts +2 -2
  126. package/dist/src/components/Button.d.mts.map +1 -1
  127. package/dist/src/components/Checkbox.d.mts +1 -1
  128. package/dist/src/components/Checkbox.d.mts.map +1 -1
  129. package/dist/src/components/CodeEditor.cjs +2 -0
  130. package/dist/src/components/CodeEditor.cjs.map +1 -0
  131. package/dist/src/components/CodeEditor.d.mts +6 -0
  132. package/dist/src/components/CodeEditor.d.mts.map +1 -0
  133. package/dist/src/components/CodeEditor.mjs +2 -0
  134. package/dist/src/components/CodeEditor.mjs.map +1 -0
  135. package/dist/src/components/CodeEditorView.cjs +2 -0
  136. package/dist/src/components/CodeEditorView.cjs.map +1 -0
  137. package/dist/src/components/CodeEditorView.mjs +2 -0
  138. package/dist/src/components/CodeEditorView.mjs.map +1 -0
  139. package/dist/src/components/Collapsible.d.mts +3 -3
  140. package/dist/src/components/Collapsible.d.mts.map +1 -1
  141. package/dist/src/components/Command.d.mts +10 -10
  142. package/dist/src/components/Command.d.mts.map +1 -1
  143. package/dist/src/components/Dialog.cjs +1 -1
  144. package/dist/src/components/Dialog.cjs.map +1 -1
  145. package/dist/src/components/Dialog.d.mts +10 -10
  146. package/dist/src/components/Dialog.d.mts.map +1 -1
  147. package/dist/src/components/Dialog.mjs +1 -1
  148. package/dist/src/components/Dialog.mjs.map +1 -1
  149. package/dist/src/components/Dot.d.mts +2 -2
  150. package/dist/src/components/Dot.d.mts.map +1 -1
  151. package/dist/src/components/DropdownMenu.d.mts +15 -15
  152. package/dist/src/components/DropdownMenu.d.mts.map +1 -1
  153. package/dist/src/components/EmptyState.cjs +1 -1
  154. package/dist/src/components/EmptyState.cjs.map +1 -1
  155. package/dist/src/components/EmptyState.d.mts +1 -1
  156. package/dist/src/components/EmptyState.d.mts.map +1 -1
  157. package/dist/src/components/EmptyState.mjs +1 -1
  158. package/dist/src/components/EmptyState.mjs.map +1 -1
  159. package/dist/src/components/HashlineLines.cjs +2 -0
  160. package/dist/src/components/HashlineLines.cjs.map +1 -0
  161. package/dist/src/components/HashlineLines.d.mts +24 -0
  162. package/dist/src/components/HashlineLines.d.mts.map +1 -0
  163. package/dist/src/components/HashlineLines.mjs +2 -0
  164. package/dist/src/components/HashlineLines.mjs.map +1 -0
  165. package/dist/src/components/Input.d.mts +2 -2
  166. package/dist/src/components/Input.d.mts.map +1 -1
  167. package/dist/src/components/Kbd.d.mts +1 -1
  168. package/dist/src/components/Kbd.d.mts.map +1 -1
  169. package/dist/src/components/Label.d.mts +1 -1
  170. package/dist/src/components/Label.d.mts.map +1 -1
  171. package/dist/src/components/Markdown.cjs +2 -1
  172. package/dist/src/components/Markdown.cjs.map +1 -1
  173. package/dist/src/components/Markdown.d.mts +13 -3
  174. package/dist/src/components/Markdown.d.mts.map +1 -1
  175. package/dist/src/components/Markdown.mjs +2 -1
  176. package/dist/src/components/Markdown.mjs.map +1 -1
  177. package/dist/src/components/MediaPreview.cjs +2 -0
  178. package/dist/src/components/MediaPreview.cjs.map +1 -0
  179. package/dist/src/components/MediaPreview.d.mts +25 -0
  180. package/dist/src/components/MediaPreview.d.mts.map +1 -0
  181. package/dist/src/components/MediaPreview.mjs +2 -0
  182. package/dist/src/components/MediaPreview.mjs.map +1 -0
  183. package/dist/src/components/MessageItem.cjs +1 -1
  184. package/dist/src/components/MessageItem.cjs.map +1 -1
  185. package/dist/src/components/MessageItem.d.mts +39 -7
  186. package/dist/src/components/MessageItem.d.mts.map +1 -1
  187. package/dist/src/components/MessageItem.mjs +1 -1
  188. package/dist/src/components/MessageItem.mjs.map +1 -1
  189. package/dist/src/components/MessageLines.d.mts +1 -1
  190. package/dist/src/components/MessageLines.d.mts.map +1 -1
  191. package/dist/src/components/OptionList.cjs +1 -1
  192. package/dist/src/components/OptionList.d.mts +4 -4
  193. package/dist/src/components/OptionList.d.mts.map +1 -1
  194. package/dist/src/components/OptionList.mjs +1 -1
  195. package/dist/src/components/Panel.d.mts +3 -3
  196. package/dist/src/components/Panel.d.mts.map +1 -1
  197. package/dist/src/components/Popover.cjs +1 -1
  198. package/dist/src/components/Popover.cjs.map +1 -1
  199. package/dist/src/components/Popover.d.mts +7 -7
  200. package/dist/src/components/Popover.d.mts.map +1 -1
  201. package/dist/src/components/Popover.mjs +1 -1
  202. package/dist/src/components/Popover.mjs.map +1 -1
  203. package/dist/src/components/Progress.d.mts +1 -1
  204. package/dist/src/components/Progress.d.mts.map +1 -1
  205. package/dist/src/components/RadioGroup.d.mts +3 -3
  206. package/dist/src/components/RadioGroup.d.mts.map +1 -1
  207. package/dist/src/components/ScrollArea.d.mts +2 -2
  208. package/dist/src/components/ScrollArea.d.mts.map +1 -1
  209. package/dist/src/components/SectionLabel.d.mts +1 -1
  210. package/dist/src/components/SectionLabel.d.mts.map +1 -1
  211. package/dist/src/components/Select.d.mts +8 -8
  212. package/dist/src/components/Select.d.mts.map +1 -1
  213. package/dist/src/components/Separator.d.mts +1 -1
  214. package/dist/src/components/Separator.d.mts.map +1 -1
  215. package/dist/src/components/Sheet.cjs +2 -0
  216. package/dist/src/components/Sheet.cjs.map +1 -0
  217. package/dist/src/components/Sheet.d.mts +36 -0
  218. package/dist/src/components/Sheet.d.mts.map +1 -0
  219. package/dist/src/components/Sheet.mjs +2 -0
  220. package/dist/src/components/Sheet.mjs.map +1 -0
  221. package/dist/src/components/Skeleton.d.mts +1 -1
  222. package/dist/src/components/Skeleton.d.mts.map +1 -1
  223. package/dist/src/components/Spinner.cjs +1 -1
  224. package/dist/src/components/Spinner.cjs.map +1 -1
  225. package/dist/src/components/Spinner.d.mts +1 -1
  226. package/dist/src/components/Spinner.d.mts.map +1 -1
  227. package/dist/src/components/Spinner.mjs +1 -1
  228. package/dist/src/components/Spinner.mjs.map +1 -1
  229. package/dist/src/components/StatusBadge.d.mts +2 -2
  230. package/dist/src/components/StatusBadge.d.mts.map +1 -1
  231. package/dist/src/components/StreamCursor.d.mts +1 -1
  232. package/dist/src/components/StreamCursor.d.mts.map +1 -1
  233. package/dist/src/components/Switch.d.mts +1 -1
  234. package/dist/src/components/Switch.d.mts.map +1 -1
  235. package/dist/src/components/SyntaxText.cjs +4 -0
  236. package/dist/src/components/SyntaxText.cjs.map +1 -0
  237. package/dist/src/components/SyntaxText.d.mts +51 -0
  238. package/dist/src/components/SyntaxText.d.mts.map +1 -0
  239. package/dist/src/components/SyntaxText.mjs +4 -0
  240. package/dist/src/components/SyntaxText.mjs.map +1 -0
  241. package/dist/src/components/Tabs.d.mts +7 -7
  242. package/dist/src/components/Tabs.d.mts.map +1 -1
  243. package/dist/src/components/Textarea.d.mts +2 -2
  244. package/dist/src/components/Textarea.d.mts.map +1 -1
  245. package/dist/src/components/Toast.d.mts +8 -8
  246. package/dist/src/components/Toast.d.mts.map +1 -1
  247. package/dist/src/components/ToolPathLink.cjs +2 -0
  248. package/dist/src/components/ToolPathLink.cjs.map +1 -0
  249. package/dist/src/components/ToolPathLink.d.mts +23 -0
  250. package/dist/src/components/ToolPathLink.d.mts.map +1 -0
  251. package/dist/src/components/ToolPathLink.mjs +2 -0
  252. package/dist/src/components/ToolPathLink.mjs.map +1 -0
  253. package/dist/src/components/Tooltip.d.mts +4 -4
  254. package/dist/src/components/Tooltip.d.mts.map +1 -1
  255. package/dist/src/icons/icons.cjs +1 -1
  256. package/dist/src/icons/icons.d.mts +2 -2
  257. package/dist/src/icons/icons.mjs +1 -1
  258. package/dist/src/lib/ansiSpans.cjs +2 -0
  259. package/dist/src/lib/ansiSpans.cjs.map +1 -0
  260. package/dist/src/lib/ansiSpans.d.mts +43 -0
  261. package/dist/src/lib/ansiSpans.d.mts.map +1 -0
  262. package/dist/src/lib/ansiSpans.mjs +2 -0
  263. package/dist/src/lib/ansiSpans.mjs.map +1 -0
  264. package/dist/src/lib/editorLanguage.cjs +2 -0
  265. package/dist/src/lib/editorLanguage.cjs.map +1 -0
  266. package/dist/src/lib/editorLanguage.d.mts +22 -0
  267. package/dist/src/lib/editorLanguage.d.mts.map +1 -0
  268. package/dist/src/lib/editorLanguage.mjs +2 -0
  269. package/dist/src/lib/editorLanguage.mjs.map +1 -0
  270. package/dist/src/lib/editorTheme.cjs +2 -0
  271. package/dist/src/lib/editorTheme.cjs.map +1 -0
  272. package/dist/src/lib/editorTheme.d.mts +77 -0
  273. package/dist/src/lib/editorTheme.d.mts.map +1 -0
  274. package/dist/src/lib/editorTheme.mjs +2 -0
  275. package/dist/src/lib/editorTheme.mjs.map +1 -0
  276. package/dist/src/lib/hashlineHighlight.cjs +3 -0
  277. package/dist/src/lib/hashlineHighlight.cjs.map +1 -0
  278. package/dist/src/lib/hashlineHighlight.d.mts +31 -0
  279. package/dist/src/lib/hashlineHighlight.d.mts.map +1 -0
  280. package/dist/src/lib/hashlineHighlight.mjs +3 -0
  281. package/dist/src/lib/hashlineHighlight.mjs.map +1 -0
  282. package/dist/src/lib/hashlineView.cjs +6 -0
  283. package/dist/src/lib/hashlineView.cjs.map +1 -0
  284. package/dist/src/lib/hashlineView.d.mts +61 -0
  285. package/dist/src/lib/hashlineView.d.mts.map +1 -0
  286. package/dist/src/lib/hashlineView.mjs +6 -0
  287. package/dist/src/lib/hashlineView.mjs.map +1 -0
  288. package/dist/src/lib/media.cjs +2 -0
  289. package/dist/src/lib/media.cjs.map +1 -0
  290. package/dist/src/lib/media.d.mts +12 -0
  291. package/dist/src/lib/media.d.mts.map +1 -0
  292. package/dist/src/lib/media.mjs +2 -0
  293. package/dist/src/lib/media.mjs.map +1 -0
  294. package/dist/src/lib/syntaxHighlight.cjs +3 -0
  295. package/dist/src/lib/syntaxHighlight.cjs.map +1 -0
  296. package/dist/src/lib/syntaxHighlight.d.mts +55 -0
  297. package/dist/src/lib/syntaxHighlight.d.mts.map +1 -0
  298. package/dist/src/lib/syntaxHighlight.mjs +3 -0
  299. package/dist/src/lib/syntaxHighlight.mjs.map +1 -0
  300. package/dist/src/types/editor.cjs +2 -0
  301. package/dist/src/types/editor.cjs.map +1 -0
  302. package/dist/src/types/editor.d.mts +44 -0
  303. package/dist/src/types/editor.d.mts.map +1 -0
  304. package/dist/src/types/editor.mjs +2 -0
  305. package/dist/src/types/editor.mjs.map +1 -0
  306. package/dist/types/editor.d.cts +44 -0
  307. package/dist/types/editor.d.cts.map +1 -0
  308. package/package.json +20 -6
  309. package/styles/tokens.css +22 -0
package/README.md CHANGED
@@ -11,12 +11,12 @@ Because every colour is a token, a theme config recolours the whole cockpit at r
11
11
 
12
12
  ## What it ships
13
13
 
14
- | Export | Components |
15
- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
16
- | `.` | Actions and chips: `Button`, `Badge`, `StatusBadge`, `Dot`, `Kbd`, `NavTab*`, `Tabs*`. Fields: `Input`, `Textarea`, `Label`, `Checkbox`, `Switch`, `RadioGroup*`, `Select*`. Overlays: `Dialog*`, `Popover*`, `DropdownMenu*`, `Tooltip*`, `Toast*`, `Command*`. Layout and content: `Panel*`, `SectionLabel`, `Separator`, `EmptyState`, `ScrollArea`, `Collapsible*`, `Accordion*`, `OptionList`, `OptionRow`, `MessageItem*`, `MessageLines`. Feedback: `Spinner`, `Progress`, `Skeleton`, `Avatar*`, `StreamCursor`. Plus the curated icon set, `cn`, `collapseLines`, the option-list key helpers, and the tone vocabularies with the maps between them |
17
- | `./theme` | `ThemeConfig`, the token lists, `BUILTIN_THEMES`, `applyTheme`, `parseThemeConfig`, `themeFromPiTheme`, the stored-preference helpers |
18
- | `./styles.css` | The token stylesheet: `:root` defaults, the Tailwind `@theme inline` mapping, shadcn semantic aliases, base styles, and the `@source` for this package's classes |
19
- | `./themes/*.json` | The shipped theme configs: `doom-one-dark` (default), `doom-one-light`, `doom-nord-dark` |
14
+ | Export | Components |
15
+ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
16
+ | `.` | Actions and chips: `Button`, `Badge`, `StatusBadge`, `Dot`, `Kbd`, `NavTab*`, `Tabs*`. Fields: `Input`, `Textarea`, `Label`, `Checkbox`, `Switch`, `RadioGroup*`, `Select*`. Overlays: `Dialog*`, `Sheet*`, `Popover*`, `DropdownMenu*`, `Tooltip*`, `Toast*`, `Command*`. Layout and content: `Panel*`, `SectionLabel`, `Separator`, `EmptyState`, `ScrollArea`, `Collapsible*`, `Accordion*`, `OptionList`, `OptionRow`, `MessageItem*`, `MessageLines`. Feedback: `Spinner`, `Progress`, `Skeleton`, `Avatar*`, `StreamCursor`. Files: `CodeEditor`, `MediaPreview`. Plus the curated icon set, `cn`, `collapseLines`, `grammarKeyOf`, `mediaKindOf`, the option-list key helpers, and the tone vocabularies with the maps between them |
17
+ | `./theme` | `ThemeConfig`, the token lists, `BUILTIN_THEMES`, `applyTheme`, `parseThemeConfig`, `themeFromPiTheme`, the stored-preference helpers |
18
+ | `./styles.css` | The token stylesheet: `:root` defaults, the Tailwind `@theme inline` mapping, shadcn semantic aliases, base styles, and the `@source` for this package's classes |
19
+ | `./themes/*.json` | The shipped theme configs: `doom-one-dark` (default), `doom-one-light`, `doom-nord-dark` |
20
20
 
21
21
  ## Using it from the cockpit host
22
22
 
@@ -57,6 +57,25 @@ more line(s)" hint that expands), and `MessageLines` (toned lines a pure view he
57
57
  is what keeps host and plugin items alike, and the shell carries the `tool-status` and
58
58
  `tool-expand` test ids every card inherits.
59
59
 
60
+ ## Files
61
+
62
+ `CodeEditor` is CodeMirror 6 on the doom palette: line numbers, folding, undo, a search panel, and
63
+ a grammar chosen from the file's path. It arrives as its own chunk, and each grammar as another, so
64
+ a session that never opens a file downloads neither. Give it a height (it fills its container) and
65
+ read edits back through `onChange`; `onSelect` reports the current range with one-based line
66
+ numbers, which is what anchors a review comment to a line.
67
+
68
+ ```tsx
69
+ <CodeEditor value={source} path="src/app.ts" onChange={setSource} className="h-full" />
70
+ ```
71
+
72
+ `MediaPreview` shows a file the browser can render but not edit: an image, a video, or a PDF from a
73
+ URL a server is already serving, and a download link for everything else. `mediaKindOf(path)` is
74
+ the same classification on its own, for a caller deciding between the editor and the preview.
75
+
76
+ Neither converts a format. A `.docx` rendered as HTML is a different document, so it is offered as
77
+ a download rather than as something that looks editable.
78
+
60
79
  ## Using it from a plugin's `web/` client
61
80
 
62
81
  A web plugin's client code may import `react`, the `@tanstack` store packages,
@@ -2,10 +2,10 @@ import { Accordion } from "radix-ui";
2
2
  import { ComponentProps } from "react";
3
3
  //#region src/components/Accordion.d.ts
4
4
  /** Several collapsibles that know about each other; pass type="single" for one open at a time. */
5
- declare function Accordion$1(props: ComponentProps<typeof Accordion.Root>): import("react/jsx-runtime").JSX.Element;
6
- declare function AccordionItem({ className, ...props }: ComponentProps<typeof Accordion.Item>): import("react/jsx-runtime").JSX.Element;
7
- declare function AccordionTrigger({ className, children, ...props }: ComponentProps<typeof Accordion.Trigger>): import("react/jsx-runtime").JSX.Element;
8
- declare function AccordionContent({ className, ...props }: ComponentProps<typeof Accordion.Content>): import("react/jsx-runtime").JSX.Element;
5
+ declare function Accordion$1(props: ComponentProps<typeof Accordion.Root>): import("react").JSX.Element;
6
+ declare function AccordionItem({ className, ...props }: ComponentProps<typeof Accordion.Item>): import("react").JSX.Element;
7
+ declare function AccordionTrigger({ className, children, ...props }: ComponentProps<typeof Accordion.Trigger>): import("react").JSX.Element;
8
+ declare function AccordionContent({ className, ...props }: ComponentProps<typeof Accordion.Content>): import("react").JSX.Element;
9
9
  //#endregion
10
10
  export { Accordion$1 as Accordion, AccordionContent, AccordionItem, AccordionTrigger };
11
11
  //# sourceMappingURL=Accordion.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.cts","names":[],"sources":["../../src/components/Accordion.tsx"],"mappings":";;;;iBAMgB,YAAU,OAAO,sBAAsB,UAAmB,oCAAK,IAAA;iBAI/D,gBAAgB,cAAc,SAAS,sBAAsB,UAAmB,oCAAK,IAAA;iBAUrF,mBAAmB,WAAW,aAAa,SAAS,sBAAsB,UAAmB,uCAAQ,IAAA;iBAkBrG,mBAAmB,cAAc,SAAS,sBAAsB,UAAmB,uCAAQ,IAAA"}
1
+ {"version":3,"file":"Accordion.d.cts","names":[],"sources":["../../src/components/Accordion.tsx"],"mappings":";;;;iBAMgB,YAAU,OAAO,sBAAsB,UAAmB,wBAAK,IAAA;iBAI/D,gBAAgB,cAAc,SAAS,sBAAsB,UAAmB,wBAAK,IAAA;iBAUrF,mBAAmB,WAAW,aAAa,SAAS,sBAAsB,UAAmB,2BAAQ,IAAA;iBAkBrG,mBAAmB,cAAc,SAAS,sBAAsB,UAAmB,2BAAQ,IAAA"}
@@ -0,0 +1,17 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/components/AnsiText.d.ts
3
+ interface AnsiLineProps extends Omit<ComponentProps<'span'>, 'children'> {
4
+ /** One line of terminal output, escapes and all. */
5
+ line: string;
6
+ }
7
+ /** One line, for a caller that already lays out a screen row by row. */
8
+ declare function AnsiLine({ line, className, ...props }: AnsiLineProps): import("react").JSX.Element;
9
+ interface AnsiTextProps extends Omit<ComponentProps<'pre'>, 'children'> {
10
+ /** Terminal output, newline separated, escapes and all. */
11
+ text: string;
12
+ }
13
+ /** A block of terminal output: a log tail, or anything else that arrives whole. */
14
+ declare function AnsiText({ text, ...props }: AnsiTextProps): import("react").JSX.Element;
15
+ //#endregion
16
+ export { AnsiLine, AnsiLineProps, AnsiText, AnsiTextProps };
17
+ //# sourceMappingURL=AnsiText.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnsiText.d.cts","names":[],"sources":["../../src/components/AnsiText.tsx"],"mappings":";;UAkDiB,sBAAsB,KAAK;;EAE1C;;;iBAIc,WAAW,MAAM,cAAc,SAAS,gCAAa,IAAA;UASpD,sBAAsB,KAAK;;EAE1C;;;iBAIc,WAAW,SAAS,SAAS,gCAAa,IAAA"}
@@ -2,9 +2,9 @@ import { Avatar } from "radix-ui";
2
2
  import { ComponentProps } from "react";
3
3
  //#region src/components/Avatar.d.ts
4
4
  /** A face or an initial; Radix only shows the fallback once the image has actually failed. */
5
- declare function Avatar$1({ className, ...props }: ComponentProps<typeof Avatar.Root>): import("react/jsx-runtime").JSX.Element;
6
- declare function AvatarImage({ className, ...props }: ComponentProps<typeof Avatar.Image>): import("react/jsx-runtime").JSX.Element;
7
- declare function AvatarFallback({ className, ...props }: ComponentProps<typeof Avatar.Fallback>): import("react/jsx-runtime").JSX.Element;
5
+ declare function Avatar$1({ className, ...props }: ComponentProps<typeof Avatar.Root>): import("react").JSX.Element;
6
+ declare function AvatarImage({ className, ...props }: ComponentProps<typeof Avatar.Image>): import("react").JSX.Element;
7
+ declare function AvatarFallback({ className, ...props }: ComponentProps<typeof Avatar.Fallback>): import("react").JSX.Element;
8
8
  //#endregion
9
9
  export { Avatar$1 as Avatar, AvatarFallback, AvatarImage };
10
10
  //# sourceMappingURL=Avatar.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.cts","names":[],"sources":["../../src/components/Avatar.tsx"],"mappings":";;;;iBAKgB,WAAS,cAAc,SAAS,sBAAsB,OAAgB,oCAAK,IAAA;iBAU3E,cAAc,cAAc,SAAS,sBAAsB,OAAgB,qCAAM,IAAA;iBAUjF,iBAAiB,cAAc,SAAS,sBAAsB,OAAgB,wCAAS,IAAA"}
1
+ {"version":3,"file":"Avatar.d.cts","names":[],"sources":["../../src/components/Avatar.tsx"],"mappings":";;;;iBAKgB,WAAS,cAAc,SAAS,sBAAsB,OAAgB,wBAAK,IAAA;iBAU3E,cAAc,cAAc,SAAS,sBAAsB,OAAgB,yBAAM,IAAA;iBAUjF,iBAAiB,cAAc,SAAS,sBAAsB,OAAgB,4BAAS,IAAA"}
@@ -12,7 +12,7 @@ interface BadgeProps extends ComponentProps<'span'>, VariantProps<typeof badgeVa
12
12
  asChild?: boolean;
13
13
  }
14
14
  /** An outlined chip in one of the accent tones; the Chip the cockpit mockup draws. */
15
- declare function Badge({ className, tone, size, asChild, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function Badge({ className, tone, size, asChild, ...props }: BadgeProps): import("react").JSX.Element;
16
16
  //#endregion
17
17
  export { Badge, BadgeProps, BadgeTone, badgeVariants };
18
18
  //# sourceMappingURL=Badge.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.cts","names":[],"sources":["../../src/components/Badge.tsx"],"mappings":";;;;cAMa,gBAAa;;;6CAuBxB;KAEU,YAAY;UAEP,mBAAmB,wBAAwB,oBAAoB;;EAE9E;;;iBAIc,QAAQ,WAAW,MAAM,MAAM,YAAoB,SAAS,yCAAU,IAAA"}
1
+ {"version":3,"file":"Badge.d.cts","names":[],"sources":["../../src/components/Badge.tsx"],"mappings":";;;;cAMa,gBAAa;;;6CAuBxB;KAEU,YAAY;UAEP,mBAAmB,wBAAwB,oBAAoB;;EAE9E;;;iBAIc,QAAQ,WAAW,MAAM,MAAM,YAAoB,SAAS,6BAAU,IAAA"}
@@ -0,0 +1,37 @@
1
+ //#region src/components/Breadcrumb.d.ts
2
+ /** The marker a collapsed run of segments is shown as. */
3
+ declare const BREADCRUMB_ELLIPSIS = "…";
4
+ /**
5
+ * A path as breadcrumb segments, with the middle collapsed when it is deeper
6
+ * than `keep` allows.
7
+ *
8
+ * The first segment and the last few are what place a leaf; the ones between
9
+ * are what a reader skims past, so those are the ones that go. The leaf is
10
+ * always the final segment and is never collapsed.
11
+ */
12
+ declare function breadcrumbSegments(path: string, keep?: number): string[];
13
+ interface BreadcrumbProps {
14
+ /** The path to show, separated by forward slashes. */
15
+ path: string;
16
+ /** How many segments survive before the middle collapses. */
17
+ keep?: number;
18
+ /** Marks the trail so a test can find it. */
19
+ 'data-testid'?: string;
20
+ className?: string;
21
+ }
22
+ /**
23
+ * A slash-separated path, shortened to fit and readable in full on hover.
24
+ *
25
+ * Two things shorten it, because they solve different problems. Collapsing the
26
+ * middle keeps a deep path legible at any width, and truncation handles what is
27
+ * left when the container is narrower than even that. Either one hides
28
+ * something, so the whole path is always one hover away, wrapped rather than
29
+ * clipped: a tooltip that truncates too would defeat the point of having one.
30
+ *
31
+ * The leaf carries the emphasis. A reader scanning a header is looking for the
32
+ * file, and the directories are context for it.
33
+ */
34
+ declare function Breadcrumb({ path, keep, className, 'data-testid': testId }: BreadcrumbProps): import("react").JSX.Element;
35
+ //#endregion
36
+ export { BREADCRUMB_ELLIPSIS, Breadcrumb, BreadcrumbProps, breadcrumbSegments };
37
+ //# sourceMappingURL=Breadcrumb.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Breadcrumb.d.cts","names":[],"sources":["../../src/components/Breadcrumb.tsx"],"mappings":";;cAIa;;;;;;;;;iBAUG,mBAAmB,cAAc;UAQhC;;EAEf;;EAEA;;EAEA;EACA;;;;;;;;;;;;;;iBAec,aAAa,MAAM,MAAM,0BAA0B,UAAU,kCAAe,IAAA"}
@@ -19,7 +19,7 @@ interface ButtonProps extends ComponentProps<'button'>, VariantProps<typeof butt
19
19
  loadingLabel?: string;
20
20
  }
21
21
  /** The one button: every variant is a theme token, so it recolours with the theme. */
22
- declare function Button({ className, variant, size, asChild, loading, loadingLabel, disabled, type, children, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
22
+ declare function Button({ className, variant, size, asChild, loading, loadingLabel, disabled, type, children, ...props }: ButtonProps): import("react").JSX.Element;
23
23
  //#endregion
24
24
  export { Button, ButtonProps, ButtonSize, ButtonVariant, buttonVariants };
25
25
  //# sourceMappingURL=Button.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.cts","names":[],"sources":["../../src/components/Button.tsx"],"mappings":";;;cAMa,iBAAc;;;6CAgC1B;KAEW,gBAAgB,YAAY,oBAAoB;KAChD,aAAa,YAAY,oBAAoB;UAExC,oBAAoB,0BAA0B,oBAAoB;;EAEjF;;;;;EAKA;;EAEA;;;iBAIc,SACd,WACA,SACA,MACA,SACA,SACA,cACA,UACA,MACA,aACG,SACF,0CAAW,IAAA"}
1
+ {"version":3,"file":"Button.d.cts","names":[],"sources":["../../src/components/Button.tsx"],"mappings":";;;cAMa,iBAAc;;;6CAgC1B;KAEW,gBAAgB,YAAY,oBAAoB;KAChD,aAAa,YAAY,oBAAoB;UAExC,oBAAoB,0BAA0B,oBAAoB;;EAEjF;;;;;EAKA;;EAEA;;;iBAIc,SACd,WACA,SACA,MACA,SACA,SACA,cACA,UACA,MACA,aACG,SACF,8BAAW,IAAA"}
@@ -2,7 +2,7 @@ import { Checkbox } from "radix-ui";
2
2
  import { ComponentProps } from "react";
3
3
  //#region src/components/Checkbox.d.ts
4
4
  /** A box that is on, off, or indeterminate; the tick is the accent on the deep well. */
5
- declare function Checkbox$1({ className, ...props }: ComponentProps<typeof Checkbox.Root>): import("react/jsx-runtime").JSX.Element;
5
+ declare function Checkbox$1({ className, ...props }: ComponentProps<typeof Checkbox.Root>): import("react").JSX.Element;
6
6
  //#endregion
7
7
  export { Checkbox$1 as Checkbox };
8
8
  //# sourceMappingURL=Checkbox.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.cts","names":[],"sources":["../../src/components/Checkbox.tsx"],"mappings":";;;;iBAMgB,aAAW,cAAc,SAAS,sBAAsB,SAAkB,oCAAK,IAAA"}
1
+ {"version":3,"file":"Checkbox.d.cts","names":[],"sources":["../../src/components/Checkbox.tsx"],"mappings":";;;;iBAMgB,aAAW,cAAc,SAAS,sBAAsB,SAAkB,wBAAK,IAAA"}
@@ -0,0 +1,6 @@
1
+ import { CodeEditorProps } from "../types/editor.cjs";
2
+ //#region src/components/CodeEditor.d.ts
3
+ declare function CodeEditor({ className, ...props }: CodeEditorProps): import("react").JSX.Element;
4
+ //#endregion
5
+ export { CodeEditor };
6
+ //# sourceMappingURL=CodeEditor.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeEditor.d.cts","names":[],"sources":["../../src/components/CodeEditor.tsx"],"mappings":";;iBAiBgB,aAAa,cAAc,SAAS,kCAAe,IAAA"}
@@ -2,9 +2,9 @@ import { Collapsible } from "radix-ui";
2
2
  import { ComponentProps } from "react";
3
3
  //#region src/components/Collapsible.d.ts
4
4
  /** A section that folds; Radix keeps the trigger's aria-expanded in step with the content. */
5
- declare function Collapsible$1(props: ComponentProps<typeof Collapsible.Root>): import("react/jsx-runtime").JSX.Element;
6
- declare function CollapsibleTrigger(props: ComponentProps<typeof Collapsible.CollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
7
- declare function CollapsibleContent({ className, ...props }: ComponentProps<typeof Collapsible.CollapsibleContent>): import("react/jsx-runtime").JSX.Element;
5
+ declare function Collapsible$1(props: ComponentProps<typeof Collapsible.Root>): import("react").JSX.Element;
6
+ declare function CollapsibleTrigger(props: ComponentProps<typeof Collapsible.CollapsibleTrigger>): import("react").JSX.Element;
7
+ declare function CollapsibleContent({ className, ...props }: ComponentProps<typeof Collapsible.CollapsibleContent>): import("react").JSX.Element;
8
8
  //#endregion
9
9
  export { Collapsible$1 as Collapsible, CollapsibleContent, CollapsibleTrigger };
10
10
  //# sourceMappingURL=Collapsible.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.d.cts","names":[],"sources":["../../src/components/Collapsible.tsx"],"mappings":";;;;iBAKgB,cAAY,OAAO,sBAAsB,YAAqB,oCAAK,IAAA;iBAInE,mBAAmB,OAAO,sBAAsB,YAAqB,kDAAmB,IAAA;iBAIxF,qBACd,cACG,SACF,sBAAsB,YAAqB,kDAAmB,IAAA"}
1
+ {"version":3,"file":"Collapsible.d.cts","names":[],"sources":["../../src/components/Collapsible.tsx"],"mappings":";;;;iBAKgB,cAAY,OAAO,sBAAsB,YAAqB,wBAAK,IAAA;iBAInE,mBAAmB,OAAO,sBAAsB,YAAqB,sCAAmB,IAAA;iBAIxF,qBACd,cACG,SACF,sBAAsB,YAAqB,sCAAmB,IAAA"}
@@ -19,24 +19,24 @@ interface CommandDialogProps extends Omit<DialogContentProps, 'title'> {
19
19
  title: ReactNode;
20
20
  titleVisible?: boolean;
21
21
  }
22
- declare function CommandDialog({ open, onOpenChange, title, titleVisible, className, children, width, ...props }: CommandDialogProps): import("react/jsx-runtime").JSX.Element;
22
+ declare function CommandDialog({ open, onOpenChange, title, titleVisible, className, children, width, ...props }: CommandDialogProps): import("react").JSX.Element;
23
23
  /** The strip the search field sits in. */
24
- declare function CommandHeader({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
24
+ declare function CommandHeader({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
25
25
  /** The search field: bare, because the header already draws the surface. */
26
- declare function CommandInput({ className, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
26
+ declare function CommandInput({ className, ...props }: InputProps): import("react").JSX.Element;
27
27
  /** The scrolling body. It is the listbox, so its rows are the options. */
28
- declare function CommandList({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
28
+ declare function CommandList({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
29
29
  /** A labelled run of rows. */
30
- declare function CommandGroup({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
31
- declare function CommandGroupLabel({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
30
+ declare function CommandGroup({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
31
+ declare function CommandGroupLabel({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
32
32
  /** One command. Compact by default, since a palette shows many at once. */
33
- declare function CommandItem({ density, ...props }: OptionRowProps): import("react/jsx-runtime").JSX.Element;
33
+ declare function CommandItem({ density, ...props }: OptionRowProps): import("react").JSX.Element;
34
34
  /** A command's name, taking the width the row has left. */
35
- declare function CommandItemLabel(props: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
35
+ declare function CommandItemLabel(props: ComponentProps<'span'>): import("react").JSX.Element;
36
36
  /** What the palette says when nothing matches. */
37
- declare function CommandEmpty({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
37
+ declare function CommandEmpty({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
38
38
  /** The hint strip along the bottom: what the keys do. */
39
- declare function CommandFooter({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
39
+ declare function CommandFooter({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
40
40
  //#endregion
41
41
  export { CommandDialog, CommandDialogProps, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandHeader, CommandInput, CommandItem, CommandItemLabel, CommandList };
42
42
  //# sourceMappingURL=Command.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command.d.cts","names":[],"sources":["../../src/components/Command.tsx"],"mappings":";;;;;;;;;;;;;;UAgBiB,2BAA2B,KAAK;EAC/C;EACA,eAAe;;EAEf,OAAO;EACP;;iBAGc,gBACd,MACA,cACA,OACA,cACA,WACA,UACA,UACG,SACF,iDAAkB,IAAA;;iBAYL,gBAAgB,cAAc,SAAS,oDAAqB,IAAA;;iBAW5D,eAAe,cAAc,SAAS,yCAAU,IAAA;;iBAchD,cAAc,cAAc,SAAS,oDAAqB,IAAA;;iBAY1D,eAAe,cAAc,SAAS,oDAAqB,IAAA;iBAI3D,oBAAoB,cAAc,SAAS,oDAAqB,IAAA;;iBAWhE,cAAc,YAAwB,SAAS,6CAAc,IAAA;;iBAK7D,iBAAiB,OAAO,qDAAsB,IAAA;;iBAK9C,eAAe,cAAc,SAAS,oDAAqB,IAAA;;iBAW3D,gBAAgB,cAAc,SAAS,oDAAqB,IAAA"}
1
+ {"version":3,"file":"Command.d.cts","names":[],"sources":["../../src/components/Command.tsx"],"mappings":";;;;;;;;;;;;;;UAgBiB,2BAA2B,KAAK;EAC/C;EACA,eAAe;;EAEf,OAAO;EACP;;iBAGc,gBACd,MACA,cACA,OACA,cACA,WACA,UACA,UACG,SACF,qCAAkB,IAAA;;iBAYL,gBAAgB,cAAc,SAAS,wCAAqB,IAAA;;iBAW5D,eAAe,cAAc,SAAS,6BAAU,IAAA;;iBAchD,cAAc,cAAc,SAAS,wCAAqB,IAAA;;iBAY1D,eAAe,cAAc,SAAS,wCAAqB,IAAA;iBAI3D,oBAAoB,cAAc,SAAS,wCAAqB,IAAA;;iBAWhE,cAAc,YAAwB,SAAS,iCAAc,IAAA;;iBAK7D,iBAAiB,OAAO,yCAAsB,IAAA;;iBAK9C,eAAe,cAAc,SAAS,wCAAqB,IAAA;;iBAW3D,gBAAgB,cAAc,SAAS,wCAAqB,IAAA"}
@@ -6,14 +6,14 @@ import { VariantProps } from "class-variance-authority";
6
6
  * shadcn's Dialog on Radix: focus trap, Escape, outside click, scroll lock,
7
7
  * and focus restored to the trigger on close. The frame is the Doom panel.
8
8
  */
9
- declare function Dialog$1(props: ComponentProps<typeof Dialog.Root>): import("react/jsx-runtime").JSX.Element;
10
- declare function DialogTrigger(props: ComponentProps<typeof Dialog.Trigger>): import("react/jsx-runtime").JSX.Element;
11
- declare function DialogClose(props: ComponentProps<typeof Dialog.Close>): import("react/jsx-runtime").JSX.Element;
9
+ declare function Dialog$1(props: ComponentProps<typeof Dialog.Root>): import("react").JSX.Element;
10
+ declare function DialogTrigger(props: ComponentProps<typeof Dialog.Trigger>): import("react").JSX.Element;
11
+ declare function DialogClose(props: ComponentProps<typeof Dialog.Close>): import("react").JSX.Element;
12
12
  interface DialogContentProps extends ComponentProps<typeof Dialog.Content> {
13
13
  /** Width preset; `className` may still override. */
14
14
  width?: 'sm' | 'md' | 'lg';
15
15
  }
16
- declare function DialogContent({ className, children, width, ...props }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
16
+ declare function DialogContent({ className, children, width, ...props }: DialogContentProps): import("react").JSX.Element;
17
17
  interface DialogHeaderProps extends ComponentProps<'div'> {
18
18
  /**
19
19
  * Show the close control at the right of the strip. Off by default: most
@@ -25,15 +25,15 @@ interface DialogHeaderProps extends ComponentProps<'div'> {
25
25
  /** What the close control announces. */
26
26
  closeLabel?: string;
27
27
  }
28
- declare function DialogHeader({ className, dismissible, closeLabel, children, ...props }: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
29
- declare function DialogTitle({ className, ...props }: ComponentProps<typeof Dialog.Title>): import("react/jsx-runtime").JSX.Element;
30
- declare function DialogDescription({ className, ...props }: ComponentProps<typeof Dialog.Description>): import("react/jsx-runtime").JSX.Element;
31
- declare function DialogBody({ className, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
28
+ declare function DialogHeader({ className, dismissible, closeLabel, children, ...props }: DialogHeaderProps): import("react").JSX.Element;
29
+ declare function DialogTitle({ className, ...props }: ComponentProps<typeof Dialog.Title>): import("react").JSX.Element;
30
+ declare function DialogDescription({ className, ...props }: ComponentProps<typeof Dialog.Description>): import("react").JSX.Element;
31
+ declare function DialogBody({ className, ...props }: ComponentProps<'div'>): import("react").JSX.Element;
32
32
  declare const dialogFooterVariants: (props?: ({
33
33
  variant?: "bar" | "plain" | null | undefined;
34
34
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
35
35
  interface DialogFooterProps extends ComponentProps<'div'>, VariantProps<typeof dialogFooterVariants> {}
36
- declare function DialogFooter({ className, variant, ...props }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
36
+ declare function DialogFooter({ className, variant, ...props }: DialogFooterProps): import("react").JSX.Element;
37
37
  //#endregion
38
38
  export { Dialog$1 as Dialog, DialogBody, DialogClose, DialogContent, DialogContentProps, DialogDescription, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogTitle, DialogTrigger, dialogFooterVariants };
39
39
  //# sourceMappingURL=Dialog.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.cts","names":[],"sources":["../../src/components/Dialog.tsx"],"mappings":";;;;;;;;iBAWgB,SAAO,OAAO,sBAAsB,OAAgB,oCAAK,IAAA;iBAIzD,cAAc,OAAO,sBAAsB,OAAgB,uCAAQ,IAAA;iBAQnE,YAAY,OAAO,sBAAsB,OAAgB,qCAAM,IAAA;UAc9D,2BAA2B,sBAAsB,OAAgB;;EAEhF;;iBAKc,gBAAgB,WAAW,UAAU,UAAiB,SAAS,iDAAkB,IAAA;UAmBhF,0BAA0B;;;;;;;EAOzC;;EAEA;;iBAGc,eACd,WACA,aACA,YACA,aACG,SACF,gDAAiB,IAAA;iBAmBJ,cAAc,cAAc,SAAS,sBAAsB,OAAgB,qCAAM,IAAA;iBAUjF,oBAAoB,cAAc,SAAS,sBAAsB,OAAgB,2CAAY,IAAA;iBAU7F,aAAa,cAAc,SAAS,oDAAqB,IAAA;cAU5D,uBAAoB;;6CAc/B;UAEe,0BAA0B,uBAAuB,oBAAoB;iBAEtE,eAAe,WAAW,YAAY,SAAS,gDAAiB,IAAA"}
1
+ {"version":3,"file":"Dialog.d.cts","names":[],"sources":["../../src/components/Dialog.tsx"],"mappings":";;;;;;;;iBAWgB,SAAO,OAAO,sBAAsB,OAAgB,wBAAK,IAAA;iBAIzD,cAAc,OAAO,sBAAsB,OAAgB,2BAAQ,IAAA;iBAQnE,YAAY,OAAO,sBAAsB,OAAgB,yBAAM,IAAA;UAc9D,2BAA2B,sBAAsB,OAAgB;;EAEhF;;iBAKc,gBAAgB,WAAW,UAAU,UAAiB,SAAS,qCAAkB,IAAA;UAmBhF,0BAA0B;;;;;;;EAOzC;;EAEA;;iBAGc,eACd,WACA,aACA,YACA,aACG,SACF,oCAAiB,IAAA;iBAsBJ,cAAc,cAAc,SAAS,sBAAsB,OAAgB,yBAAM,IAAA;iBAUjF,oBAAoB,cAAc,SAAS,sBAAsB,OAAgB,+BAAY,IAAA;iBAU7F,aAAa,cAAc,SAAS,wCAAqB,IAAA;cAU5D,uBAAoB;;6CAc/B;UAEe,0BAA0B,uBAAuB,oBAAoB;iBAEtE,eAAe,WAAW,YAAY,SAAS,oCAAiB,IAAA"}
@@ -10,7 +10,7 @@ declare const dotVariants: (props?: ({
10
10
  type DotTone = DotTone$1;
11
11
  interface DotProps extends ComponentProps<'span'>, VariantProps<typeof dotVariants> {}
12
12
  /** The status dot: a colour and, while something is live, a pulse. */
13
- declare function Dot({ className, tone, size, pulse, ...props }: DotProps): import("react/jsx-runtime").JSX.Element;
13
+ declare function Dot({ className, tone, size, pulse, ...props }: DotProps): import("react").JSX.Element;
14
14
  //#endregion
15
15
  export { Dot, DotProps, DotTone, dotVariants };
16
16
  //# sourceMappingURL=Dot.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dot.d.cts","names":[],"sources":["../../src/components/Dot.tsx"],"mappings":";;;;cAKa,cAAW;;;;6CA2BtB;KAEU,UAAU;UAEL,iBAAiB,wBAAwB,oBAAoB;;iBAG9D,MAAM,WAAW,MAAM,MAAM,UAAU,SAAS,uCAAQ,IAAA"}
1
+ {"version":3,"file":"Dot.d.cts","names":[],"sources":["../../src/components/Dot.tsx"],"mappings":";;;;cAKa,cAAW;;;;6CA2BtB;KAEU,UAAU;UAEL,iBAAiB,wBAAwB,oBAAoB;;iBAG9D,MAAM,WAAW,MAAM,MAAM,UAAU,SAAS,2BAAQ,IAAA"}
@@ -3,32 +3,32 @@ import { ComponentProps } from "react";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  //#region src/components/DropdownMenu.d.ts
5
5
  /** shadcn's DropdownMenu on Radix: roving focus, typeahead, outside click, Escape. */
6
- declare function DropdownMenu$1(props: ComponentProps<typeof DropdownMenu.Root>): import("react/jsx-runtime").JSX.Element;
7
- declare function DropdownMenuTrigger(props: ComponentProps<typeof DropdownMenu.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DropdownMenu$1(props: ComponentProps<typeof DropdownMenu.Root>): import("react").JSX.Element;
7
+ declare function DropdownMenuTrigger(props: ComponentProps<typeof DropdownMenu.Trigger>): import("react").JSX.Element;
8
8
  /** A run of items under one label, so the separator between groups is structural. */
9
- declare function DropdownMenuGroup(props: ComponentProps<typeof DropdownMenu.Group>): import("react/jsx-runtime").JSX.Element;
10
- declare function DropdownMenuContent({ className, align, sideOffset, ...props }: ComponentProps<typeof DropdownMenu.Content>): import("react/jsx-runtime").JSX.Element;
9
+ declare function DropdownMenuGroup(props: ComponentProps<typeof DropdownMenu.Group>): import("react").JSX.Element;
10
+ declare function DropdownMenuContent({ className, align, sideOffset, ...props }: ComponentProps<typeof DropdownMenu.Content>): import("react").JSX.Element;
11
11
  declare const dropdownMenuItemVariants: (props?: ({
12
12
  variant?: "default" | "destructive" | null | undefined;
13
13
  indented?: boolean | null | undefined;
14
14
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
15
  interface DropdownMenuItemProps extends ComponentProps<typeof DropdownMenu.Item>, VariantProps<typeof dropdownMenuItemVariants> {}
16
- declare function DropdownMenuItem({ className, variant, indented, ...props }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
16
+ declare function DropdownMenuItem({ className, variant, indented, ...props }: DropdownMenuItemProps): import("react").JSX.Element;
17
17
  interface DropdownMenuCheckboxItemProps extends ComponentProps<typeof DropdownMenu.CheckboxItem>, VariantProps<typeof dropdownMenuItemVariants> {}
18
18
  /** A row that toggles: the check lives in the gutter so the label never shifts. */
19
- declare function DropdownMenuCheckboxItem({ className, variant, children, ...props }: DropdownMenuCheckboxItemProps): import("react/jsx-runtime").JSX.Element;
19
+ declare function DropdownMenuCheckboxItem({ className, variant, children, ...props }: DropdownMenuCheckboxItemProps): import("react").JSX.Element;
20
20
  /** The exclusive-choice group; pair it with DropdownMenuRadioItem. */
21
- declare function DropdownMenuRadioGroup(props: ComponentProps<typeof DropdownMenu.RadioGroup>): import("react/jsx-runtime").JSX.Element;
21
+ declare function DropdownMenuRadioGroup(props: ComponentProps<typeof DropdownMenu.RadioGroup>): import("react").JSX.Element;
22
22
  interface DropdownMenuRadioItemProps extends ComponentProps<typeof DropdownMenu.RadioItem>, VariantProps<typeof dropdownMenuItemVariants> {}
23
- declare function DropdownMenuRadioItem({ className, variant, children, ...props }: DropdownMenuRadioItemProps): import("react/jsx-runtime").JSX.Element;
24
- declare function DropdownMenuSub(props: ComponentProps<typeof DropdownMenu.Sub>): import("react/jsx-runtime").JSX.Element;
23
+ declare function DropdownMenuRadioItem({ className, variant, children, ...props }: DropdownMenuRadioItemProps): import("react").JSX.Element;
24
+ declare function DropdownMenuSub(props: ComponentProps<typeof DropdownMenu.Sub>): import("react").JSX.Element;
25
25
  /** The row that opens a submenu; the chevron is part of the row, not the caller's job. */
26
- declare function DropdownMenuSubTrigger({ className, children, ...props }: ComponentProps<typeof DropdownMenu.SubTrigger>): import("react/jsx-runtime").JSX.Element;
27
- declare function DropdownMenuSubContent({ className, sideOffset, ...props }: ComponentProps<typeof DropdownMenu.SubContent>): import("react/jsx-runtime").JSX.Element;
28
- declare function DropdownMenuLabel({ className, ...props }: ComponentProps<typeof DropdownMenu.Label>): import("react/jsx-runtime").JSX.Element;
26
+ declare function DropdownMenuSubTrigger({ className, children, ...props }: ComponentProps<typeof DropdownMenu.SubTrigger>): import("react").JSX.Element;
27
+ declare function DropdownMenuSubContent({ className, sideOffset, ...props }: ComponentProps<typeof DropdownMenu.SubContent>): import("react").JSX.Element;
28
+ declare function DropdownMenuLabel({ className, ...props }: ComponentProps<typeof DropdownMenu.Label>): import("react").JSX.Element;
29
29
  /** The keystroke printed at the right of a row; the row supplies the gap. */
30
- declare function DropdownMenuShortcut({ className, ...props }: ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
31
- declare function DropdownMenuSeparator({ className, ...props }: ComponentProps<typeof DropdownMenu.Separator>): import("react/jsx-runtime").JSX.Element;
30
+ declare function DropdownMenuShortcut({ className, ...props }: ComponentProps<'span'>): import("react").JSX.Element;
31
+ declare function DropdownMenuSeparator({ className, ...props }: ComponentProps<typeof DropdownMenu.Separator>): import("react").JSX.Element;
32
32
  //#endregion
33
33
  export { DropdownMenu$1 as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemProps, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemProps, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, dropdownMenuItemVariants };
34
34
  //# sourceMappingURL=DropdownMenu.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.d.cts","names":[],"sources":["../../src/components/DropdownMenu.tsx"],"mappings":";;;;;iBAOgB,eAAa,OAAO,sBAAsB,aAAsB,oCAAK,IAAA;iBAIrE,oBAAoB,OAAO,sBAAsB,aAAsB,uCAAQ,IAAA;;iBAK/E,kBAAkB,OAAO,sBAAsB,aAAsB,qCAAM,IAAA;iBAQ3E,sBACd,WACA,OACA,eACG,SACF,sBAAsB,aAAsB,uCAAQ,IAAA;cAc1C,2BAAwB;;;6CAapC;UAEgB,8BACP,sBAAsB,aAAsB,OAAO,oBAAoB;iBAEjE,mBAAmB,WAAW,SAAS,aAAa,SAAS,oDAAqB,IAAA;UAoBjF,sCACP,sBAAsB,aAAsB,eAAe,oBAAoB;;iBAGzE,2BAA2B,WAAW,SAAS,aAAa,SAAS,4DAA6B,IAAA;;iBAgBlG,uBAAuB,OAAO,sBAAsB,aAAsB,0CAAW,IAAA;UAIpF,mCACP,sBAAsB,aAAsB,YAAY,oBAAoB;iBAEtE,wBAAwB,WAAW,SAAS,aAAa,SAAS,yDAA0B,IAAA;iBAe5F,gBAAgB,OAAO,sBAAsB,aAAsB,mCAAI,IAAA;;iBAKvE,yBACd,WACA,aACG,SACF,sBAAsB,aAAsB,0CAAW,IAAA;iBAa1C,yBACd,WACA,eACG,SACF,sBAAsB,aAAsB,0CAAW,IAAA;iBAa1C,oBAAoB,cAAc,SAAS,sBAAsB,aAAsB,qCAAM,IAAA;;iBAW7F,uBAAuB,cAAc,SAAS,qDAAsB,IAAA;iBAUpE,wBAAwB,cAAc,SAAS,sBAAsB,aAAsB,yCAAU,IAAA"}
1
+ {"version":3,"file":"DropdownMenu.d.cts","names":[],"sources":["../../src/components/DropdownMenu.tsx"],"mappings":";;;;;iBAOgB,eAAa,OAAO,sBAAsB,aAAsB,wBAAK,IAAA;iBAIrE,oBAAoB,OAAO,sBAAsB,aAAsB,2BAAQ,IAAA;;iBAK/E,kBAAkB,OAAO,sBAAsB,aAAsB,yBAAM,IAAA;iBAQ3E,sBACd,WACA,OACA,eACG,SACF,sBAAsB,aAAsB,2BAAQ,IAAA;cAc1C,2BAAwB;;;6CAapC;UAEgB,8BACP,sBAAsB,aAAsB,OAAO,oBAAoB;iBAEjE,mBAAmB,WAAW,SAAS,aAAa,SAAS,wCAAqB,IAAA;UAoBjF,sCACP,sBAAsB,aAAsB,eAAe,oBAAoB;;iBAGzE,2BAA2B,WAAW,SAAS,aAAa,SAAS,gDAA6B,IAAA;;iBAgBlG,uBAAuB,OAAO,sBAAsB,aAAsB,8BAAW,IAAA;UAIpF,mCACP,sBAAsB,aAAsB,YAAY,oBAAoB;iBAEtE,wBAAwB,WAAW,SAAS,aAAa,SAAS,6CAA0B,IAAA;iBAe5F,gBAAgB,OAAO,sBAAsB,aAAsB,uBAAI,IAAA;;iBAKvE,yBACd,WACA,aACG,SACF,sBAAsB,aAAsB,8BAAW,IAAA;iBAa1C,yBACd,WACA,eACG,SACF,sBAAsB,aAAsB,8BAAW,IAAA;iBAa1C,oBAAoB,cAAc,SAAS,sBAAsB,aAAsB,yBAAM,IAAA;;iBAW7F,uBAAuB,cAAc,SAAS,yCAAsB,IAAA;iBAUpE,wBAAwB,cAAc,SAAS,sBAAsB,aAAsB,6BAAU,IAAA"}
@@ -12,7 +12,7 @@ interface EmptyStateProps extends Omit<ComponentProps<'div'>, 'title'> {
12
12
  asChild?: boolean;
13
13
  }
14
14
  /** The centred "nothing here yet" card every empty panel shares. */
15
- declare function EmptyState({ title, description, children, className, asChild, ...props }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function EmptyState({ title, description, children, className, asChild, ...props }: EmptyStateProps): import("react").JSX.Element;
16
16
  //#endregion
17
17
  export { EmptyState, EmptyStateProps };
18
18
  //# sourceMappingURL=EmptyState.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.cts","names":[],"sources":["../../src/components/EmptyState.tsx"],"mappings":";;UAIiB,wBAAwB,KAAK;EAC5C,OAAO;EACP,cAAc;;EAEd,WAAW;;;;;EAKX;;;iBAIc,aAAa,OAAO,aAAa,UAAU,WAAW,YAAoB,SAAS,8CAAe,IAAA"}
1
+ {"version":3,"file":"EmptyState.d.cts","names":[],"sources":["../../src/components/EmptyState.tsx"],"mappings":";;UAIiB,wBAAwB,KAAK;EAC5C,OAAO;EACP,cAAc;;EAEd,WAAW;;;;;EAKX;;;iBAIc,aAAa,OAAO,aAAa,UAAU,WAAW,YAAoB,SAAS,kCAAe,IAAA"}
@@ -0,0 +1,24 @@
1
+ import { PresentedLine } from "../lib/hashlineView.cjs";
2
+ import { ComponentProps } from "react";
3
+ //#region src/components/HashlineLines.d.ts
4
+ /**
5
+ * The anchored body shared by hashline results: a file heading per group, a
6
+ * right-aligned line-number gutter, and a `>>` marker on grep matches. The
7
+ * gutter width is a style, not a class, because it follows the widest number.
8
+ *
9
+ * The anchored lines are coloured with the editor's grammars when the body
10
+ * names a file, or when `path` names one for a result that does not. Colour
11
+ * arrives a frame or two late and never blocks the text: an unhighlighted body
12
+ * is the same body without the colours.
13
+ */
14
+ interface HashlineLinesProps extends ComponentProps<'div'> {
15
+ lines: readonly PresentedLine[];
16
+ /** Width of the line-number column, in characters, from `hashlineBody`. */
17
+ gutter: number;
18
+ /** The file a body of bare anchored lines came from, for highlighting. */
19
+ path?: string | undefined;
20
+ }
21
+ declare function HashlineLines({ className, lines, gutter, path, ...props }: HashlineLinesProps): import("react").JSX.Element;
22
+ //#endregion
23
+ export { HashlineLines, HashlineLinesProps };
24
+ //# sourceMappingURL=HashlineLines.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashlineLines.d.cts","names":[],"sources":["../../src/components/HashlineLines.tsx"],"mappings":";;;;;;;;;;;;;UAiBiB,2BAA2B;EAC1C,gBAAgB;;EAEhB;;EAEA;;iBA4Cc,gBAAgB,WAAW,OAAO,QAAQ,SAAS,SAAS,qCAAkB,IAAA"}
@@ -14,7 +14,7 @@ type FieldVariant = NonNullable<VariantProps<typeof fieldVariants>['variant']>;
14
14
  type FieldSize = NonNullable<VariantProps<typeof fieldVariants>['size']>;
15
15
  interface InputProps extends Omit<ComponentProps<'input'>, 'size'>, VariantProps<typeof fieldVariants> {}
16
16
  /** The one text field: deep well, quiet border, accent border on focus, red edge when invalid. */
17
- declare function Input({ className, type, variant, size, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
17
+ declare function Input({ className, type, variant, size, ...props }: InputProps): import("react").JSX.Element;
18
18
  //#endregion
19
19
  export { FieldSize, FieldVariant, Input, InputProps, fieldVariants };
20
20
  //# sourceMappingURL=Input.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.cts","names":[],"sources":["../../src/components/Input.tsx"],"mappings":";;;;;;;;cASa,gBAAa;;;6CAwBzB;KAEW,eAAe,YAAY,oBAAoB;KAC/C,YAAY,YAAY,oBAAoB;UAEvC,mBAAmB,KAAK,kCAAkC,oBAAoB;;iBAG/E,QAAQ,WAAW,MAAM,SAAS,SAAS,SAAS,yCAAU,IAAA"}
1
+ {"version":3,"file":"Input.d.cts","names":[],"sources":["../../src/components/Input.tsx"],"mappings":";;;;;;;;cASa,gBAAa;;;6CAwBzB;KAEW,eAAe,YAAY,oBAAoB;KAC/C,YAAY,YAAY,oBAAoB;UAEvC,mBAAmB,KAAK,kCAAkC,oBAAoB;;iBAG/E,QAAQ,WAAW,MAAM,SAAS,SAAS,SAAS,6BAAU,IAAA"}
@@ -1,7 +1,7 @@
1
1
  import { ComponentProps } from "react";
2
2
  //#region src/components/Kbd.d.ts
3
3
  /** A key or key path, drawn as the leader hints draw them. */
4
- declare function Kbd({ className, ...props }: ComponentProps<'kbd'>): import("react/jsx-runtime").JSX.Element;
4
+ declare function Kbd({ className, ...props }: ComponentProps<'kbd'>): import("react").JSX.Element;
5
5
  //#endregion
6
6
  export { Kbd };
7
7
  //# sourceMappingURL=Kbd.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Kbd.d.cts","names":[],"sources":["../../src/components/Kbd.tsx"],"mappings":";;;iBAIgB,MAAM,cAAc,SAAS,oDAAqB,IAAA"}
1
+ {"version":3,"file":"Kbd.d.cts","names":[],"sources":["../../src/components/Kbd.tsx"],"mappings":";;;iBAIgB,MAAM,cAAc,SAAS,wCAAqB,IAAA"}
@@ -2,7 +2,7 @@ import { Label } from "radix-ui";
2
2
  import { ComponentProps } from "react";
3
3
  //#region src/components/Label.d.ts
4
4
  /** A field's name: clicking it focuses the control, which a bare span never does. */
5
- declare function Label$1({ className, ...props }: ComponentProps<typeof Label.Root>): import("react/jsx-runtime").JSX.Element;
5
+ declare function Label$1({ className, ...props }: ComponentProps<typeof Label.Root>): import("react").JSX.Element;
6
6
  //#endregion
7
7
  export { Label$1 as Label };
8
8
  //# sourceMappingURL=Label.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Label.d.cts","names":[],"sources":["../../src/components/Label.tsx"],"mappings":";;;;iBAKgB,UAAQ,cAAc,SAAS,sBAAsB,MAAe,oCAAK,IAAA"}
1
+ {"version":3,"file":"Label.d.cts","names":[],"sources":["../../src/components/Label.tsx"],"mappings":";;;;iBAKgB,UAAQ,cAAc,SAAS,sBAAsB,MAAe,wBAAK,IAAA"}
@@ -1,8 +1,18 @@
1
1
  //#region src/components/Markdown.d.ts
2
+ /**
3
+ * What a piece of inline code opens, when the host knows.
4
+ *
5
+ * Returning undefined leaves the span as plain code, which is the answer for
6
+ * everything a message quotes that is not a file: a class name, a flag, a
7
+ * command. The caller decides what counts, because only it knows which files
8
+ * the session has.
9
+ */
10
+ type FileLinkHandler = (text: string) => (() => void) | undefined;
2
11
  /** GitHub-flavored Markdown using the cockpit's safe, shared presentation. */
3
- declare function Markdown({ text }: {
12
+ declare function Markdown({ text, onFileLink }: {
4
13
  text: string;
5
- }): import("react/jsx-runtime").JSX.Element;
14
+ onFileLink?: FileLinkHandler;
15
+ }): import("react").JSX.Element;
6
16
  //#endregion
7
- export { Markdown };
17
+ export { FileLinkHandler, Markdown };
8
18
  //# sourceMappingURL=Markdown.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.d.cts","names":[],"sources":["../../src/components/Markdown.tsx"],"mappings":";;iBA2DgB,WAAW;EAAU;gCAAc,IAAA"}
1
+ {"version":3,"file":"Markdown.d.cts","names":[],"sources":["../../src/components/Markdown.tsx"],"mappings":";;;;;;;;;KAgBY,mBAAmB;;iBAiFf,WAAW,MAAM;EAAgB;EAAc,aAAa;oBAAiB,IAAA"}
@@ -0,0 +1,25 @@
1
+ import { MediaKind } from "../types/editor.cjs";
2
+ //#region src/components/MediaPreview.d.ts
3
+ /**
4
+ * A file the browser can show but not edit.
5
+ *
6
+ * It renders bytes a server is already serving, so the caller supplies the
7
+ * URL and this decides only which element reads it. Everything the browser
8
+ * cannot render is a download rather than a converted approximation: a `.docx`
9
+ * turned into HTML is a different document, and offering to edit that one
10
+ * would be offering to overwrite the real one with it.
11
+ */
12
+ interface MediaPreviewProps {
13
+ /** Where the bytes are served from. */
14
+ src: string;
15
+ /** The file's path, used for the accessible name and the download name. */
16
+ path: string;
17
+ /** Overrides the kind inferred from the path, for a server that knows better. */
18
+ kind?: MediaKind;
19
+ className?: string;
20
+ 'data-testid'?: string;
21
+ }
22
+ declare function MediaPreview({ src, path, kind, className, 'data-testid': testId }: MediaPreviewProps): import("react").JSX.Element;
23
+ //#endregion
24
+ export { MediaPreview, MediaPreviewProps };
25
+ //# sourceMappingURL=MediaPreview.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPreview.d.cts","names":[],"sources":["../../src/components/MediaPreview.tsx"],"mappings":";;;;;;;;;;;UAgBiB;;EAEf;;EAEA;;EAEA,OAAO;EACP;EACA;;iBAKc,eAAe,KAAK,MAAM,MAAM,0BAA0B,UAAU,oCAAiB,IAAA"}