@revolist/ui 4.0.1-rc → 4.0.1

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 (427) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +36 -0
  3. package/OWNERSHIP.md +32 -32
  4. package/README.md +405 -264
  5. package/_button.scss +6 -2
  6. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  7. package/_chunks/calculator-CDWOuAcp.js +4 -0
  8. package/_chunks/calendar-DJqiFwFT.js +258 -0
  9. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  10. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  11. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  12. package/_chunks/choice-chips-yr6Uzmof.js +126 -0
  13. package/_chunks/clock-BOhPNlW3.js +4 -0
  14. package/_chunks/color-palette-DMJUChWC.js +92 -0
  15. package/_chunks/{color-picker-BRv-__AM.js → color-picker-CMWxQlWt.js} +61 -56
  16. package/_chunks/component-DyWiItBR.js +878 -0
  17. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
  18. package/_chunks/configurator-actions-DCodxcUw.js +155 -0
  19. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  20. package/_chunks/control-CbOYUakE.js +118 -0
  21. package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
  22. package/_chunks/controls-DD1qvPfE.js +650 -0
  23. package/_chunks/{date-control-CYCkb1aQ.js → date-control-XI2cpKI_.js} +21 -21
  24. package/_chunks/date-time-CGJdC1Qa.js +807 -0
  25. package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
  26. package/_chunks/dialog.parts-CJ3FVxC9.js +131 -0
  27. package/_chunks/duration-CBJWK82T.js +272 -0
  28. package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
  29. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  30. package/_chunks/field-configurator-B-qtIwx1.js +288 -0
  31. package/_chunks/field-context-D57PnBbH.js +5 -0
  32. package/_chunks/framework-mount-Bk4O_T7T.js +54 -0
  33. package/_chunks/hooks.module-CG3gN83z.js +157 -0
  34. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  35. package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
  36. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  37. package/_chunks/minus-BOAR3A1C.js +4 -0
  38. package/_chunks/mount-C7i5gsKI.js +267 -0
  39. package/_chunks/native-Blr3byjO.js +32 -0
  40. package/_chunks/native-control-B9MNibfa.js +649 -0
  41. package/_chunks/{number-input-NnH57J4j.js → number-input-CgbZes5B.js} +89 -89
  42. package/_chunks/picker-DqpjDC90.js +122 -0
  43. package/_chunks/plus-CbGRkIGl.js +4 -0
  44. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  45. package/_chunks/popup-C35Isk7p.js +378 -0
  46. package/_chunks/preact.module-BBM36DnO.js +290 -0
  47. package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-WDrfiluf.js} +10 -10
  48. package/_chunks/render-m5eMMwFR.js +83 -0
  49. package/_chunks/reorder-list-C4HSda4n.js +59 -0
  50. package/_chunks/request-trail-SHynDFdM.js +762 -0
  51. package/_chunks/rich-text-CtjqRvv8.js +842 -0
  52. package/_chunks/rotate-left-BF6G883o.js +4 -0
  53. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  54. package/_chunks/selection-list-tooltips-BtWjpP6M.js +41 -0
  55. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  56. package/_chunks/tooltip-D4xkio5G.js +54 -0
  57. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  58. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  59. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  60. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  61. package/_dialog.scss +55 -21
  62. package/_form.scss +71 -21
  63. package/_legend.scss +25 -7
  64. package/_shared/data-query/index.d.ts +2 -2
  65. package/_shared/data-query/load-options.d.ts +2 -2
  66. package/_variables.scss +34 -32
  67. package/_vendor/preact/LICENSE +21 -0
  68. package/_vendor/preact/compat/src/index.d.ts +353 -0
  69. package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
  70. package/_vendor/preact/compat/src/suspense.d.ts +19 -0
  71. package/_vendor/preact/hooks/src/index.d.ts +145 -0
  72. package/_vendor/preact/src/dom.d.ts +2548 -0
  73. package/_vendor/preact/src/index.d.ts +373 -0
  74. package/_vendor/preact/src/jsx.d.ts +2958 -0
  75. package/_view-switcher.scss +6 -0
  76. package/activity-message.d.ts +2 -2
  77. package/activity-message.js +16 -16
  78. package/ai/_chat.scss +227 -0
  79. package/ai/_style.scss +170 -39
  80. package/ai/chat.d.ts +65 -0
  81. package/ai/components.d.ts +35 -6
  82. package/ai/index.d.ts +3 -0
  83. package/ai/index.js +3 -3
  84. package/ai/mount.d.ts +59 -6
  85. package/ai/prompt-history.d.ts +13 -0
  86. package/ai/request-trail.d.ts +9 -3
  87. package/ai/results/_style.scss +83 -0
  88. package/ai/results/index.d.ts +11 -0
  89. package/ai/results/metrics.d.ts +5 -0
  90. package/ai/results/table.d.ts +5 -0
  91. package/ai/results/text.d.ts +5 -0
  92. package/ai/results/types.d.ts +29 -0
  93. package/ai/transcript.d.ts +27 -0
  94. package/ai/translation-context.d.ts +1 -1
  95. package/ai/translations.d.ts +1 -1
  96. package/alert.d.ts +2 -2
  97. package/angular/angular.d.ts +1 -1
  98. package/angular/angular.js +13 -10
  99. package/assignee/assignee.scss +28 -6
  100. package/assignee/field.d.ts +2 -2
  101. package/assignee/index.js +86 -87
  102. package/assignee/layout.d.ts +2 -2
  103. package/assignee/picker.d.ts +1 -1
  104. package/avatar/avatar.style.scss +23 -6
  105. package/avatar/index.d.ts +25 -2
  106. package/avatar/index.js +42 -41
  107. package/badge.d.ts +1 -1
  108. package/badge.view.d.ts +8 -0
  109. package/brush-range/_brush-range.scss +55 -49
  110. package/brush-range/component.d.ts +2 -4
  111. package/brush-range/component.js +19 -19
  112. package/buttons/delete-button.d.ts +2 -1
  113. package/buttons/delete-button.js +1 -1
  114. package/buttons/delete-button.style.scss +6 -2
  115. package/buttons/remove-button.d.ts +2 -2
  116. package/buttons/remove-button.js +3 -3
  117. package/buttons/remove-button.style.scss +1 -1
  118. package/buttons/svg-button.d.ts +3 -2
  119. package/buttons/svg-button.js +23 -23
  120. package/calendar/_calendar.scss +27 -26
  121. package/calendar/calendar.d.ts +1 -1
  122. package/calendar/calendar.js +1 -1
  123. package/calendar/caption.d.ts +1 -1
  124. package/calendar/day.d.ts +1 -1
  125. package/calendar/day.js +4 -4
  126. package/calendar/header.d.ts +1 -1
  127. package/calendar/header.js +34 -35
  128. package/calendar/index.js +2 -2
  129. package/calendar/month-grid.d.ts +1 -1
  130. package/calendar/month-grid.js +37 -37
  131. package/calendar/picker.d.ts +1 -1
  132. package/calendar/types.d.ts +1 -1
  133. package/calendar/year-grid.d.ts +1 -1
  134. package/calendar/year-grid.js +12 -12
  135. package/cell-input.scss +3 -7
  136. package/cell-visuals/badge.style.scss +6 -3
  137. package/cell-visuals/bar-chart.style.scss +2 -1
  138. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  139. package/cell-visuals/progress-line.style.scss +1 -4
  140. package/cell-visuals/sparkline.style.scss +2 -1
  141. package/cell-visuals/timeline.style.css +4 -2
  142. package/checkbox/checkbox.scss +6 -24
  143. package/checkbox/index.d.ts +2 -2
  144. package/checkbox/index.js +9 -9
  145. package/choice-chips/index.d.ts +4 -2
  146. package/choice-chips/index.js +1 -1
  147. package/color-palette/color-palette.d.ts +1 -1
  148. package/color-palette/color-palette.js +1 -1
  149. package/color-palette/color-palette.style.scss +88 -25
  150. package/color-palette/color-picker.d.ts +1 -1
  151. package/color-palette/color-picker.js +2 -2
  152. package/color-palette/color-picker.style.scss +23 -10
  153. package/color-palette/common-palettes.d.ts +1 -1
  154. package/color-palette/common-palettes.js +1 -1
  155. package/color-palette/native.d.ts +15 -2
  156. package/component-catalog.d.ts +42 -29
  157. package/configurator-actions.d.ts +67 -0
  158. package/configurator-actions.js +1 -0
  159. package/configurator-aggregation-list.d.ts +14 -0
  160. package/configurator-aggregation-list.js +63 -0
  161. package/configurator-drop-zone.d.ts +39 -0
  162. package/configurator-drop-zone.js +66 -0
  163. package/configurator-field-icon.d.ts +10 -0
  164. package/configurator-field-icon.js +1 -0
  165. package/configurator-focus.d.ts +4 -0
  166. package/configurator-focus.js +39 -0
  167. package/configurator-sections.d.ts +42 -0
  168. package/configurator-sections.js +71 -0
  169. package/control-attributes.js +7 -7
  170. package/control-presentation.d.ts +8 -2
  171. package/control-presentation.js +31 -26
  172. package/controls.d.ts +23 -11
  173. package/controls.js +4 -3
  174. package/core/editor-commit.d.ts +1 -1
  175. package/core/editor-popup-position.d.ts +6 -2
  176. package/core/editor-popup.d.ts +5 -1
  177. package/core/editor-popup.js +1 -1
  178. package/core/popover-controller.d.ts +35 -0
  179. package/core/popup-ownership.d.ts +2 -0
  180. package/core/selection-list-tooltips.d.ts +2 -0
  181. package/core/title-tooltip.d.ts +2 -0
  182. package/core/tooltip-session.d.ts +29 -0
  183. package/core/tooltip-surface.d.ts +13 -0
  184. package/core/tooltip-text.d.ts +6 -0
  185. package/core/tooltip.d.ts +35 -0
  186. package/core/top-layer-popup.d.ts +4 -0
  187. package/core/top-layer-popup.js +1 -23
  188. package/date-time/attach.d.ts +1 -1
  189. package/date-time/date-control.d.ts +2 -2
  190. package/date-time/field.d.ts +4 -3
  191. package/date-time/index.js +1 -1
  192. package/date-time/picker.d.ts +1 -1
  193. package/date-time/style.scss +242 -39
  194. package/date-time/time-control.d.ts +1 -1
  195. package/date-time/time-selection.d.ts +3 -1
  196. package/date-time/types.d.ts +6 -2
  197. package/dialog/dialog-action-footer.d.ts +17 -2
  198. package/dialog/dialog.dom.d.ts +15 -2
  199. package/dialog/dialog.dom.js +53 -53
  200. package/dialog/dialog.parts.d.ts +18 -18
  201. package/dialog/dialog.parts.js +1 -1
  202. package/dialog/dialog.preact.d.ts +1 -1
  203. package/dialog/dialog.preact.js +6 -6
  204. package/distribution-chart/_distribution-chart.scss +113 -77
  205. package/distribution-chart/area-chart.d.ts +1 -1
  206. package/distribution-chart/area-chart.js +25 -25
  207. package/distribution-chart/bar-chart.d.ts +6 -3
  208. package/distribution-chart/bar-chart.js +10 -6
  209. package/distribution-chart/chart-frame.d.ts +3 -2
  210. package/distribution-chart/index.d.ts +2 -2
  211. package/distribution-chart/index.js +6 -6
  212. package/distribution-chart/line-chart.d.ts +1 -1
  213. package/distribution-chart/line-chart.js +9 -9
  214. package/distribution-chart/types.d.ts +1 -1
  215. package/dropdown/content.d.ts +3 -2
  216. package/dropdown/content.js +1 -141
  217. package/dropdown/control.d.ts +14 -0
  218. package/dropdown/control.js +1 -0
  219. package/dropdown/control.view.d.ts +6 -0
  220. package/dropdown/dropdown.service.d.ts +1 -1
  221. package/dropdown/dropdown.service.js +9 -9
  222. package/dropdown/dropdown.types.d.ts +5 -1
  223. package/dropdown/editor-dropdown.style.scss +54 -16
  224. package/dropdown/index.d.ts +1 -1
  225. package/dropdown/index.js +3 -4
  226. package/dropdown/lookup-field.d.ts +6 -1
  227. package/dropdown/lookup-field.js +42 -41
  228. package/dropdown/popup.d.ts +2 -2
  229. package/dropdown/popup.js +1 -140
  230. package/duration/controls.d.ts +1 -1
  231. package/duration/index.d.ts +2 -2
  232. package/duration/index.js +1 -1
  233. package/duration/style.scss +1 -1
  234. package/editor-actions.d.ts +1 -1
  235. package/editor-actions.js +21 -20
  236. package/editor-layout/index.d.ts +5 -5
  237. package/editor-layout/index.js +43 -38
  238. package/editor-layout/style.scss +82 -18
  239. package/field-configurator.d.ts +40 -2
  240. package/field-configurator.js +4 -170
  241. package/field-expansion.d.ts +9 -0
  242. package/field-reorder.hook.js +32 -32
  243. package/fieldset.d.ts +3 -0
  244. package/filter/filters/slider/_single-slider.scss +57 -38
  245. package/filter/filters/slider/_slider.scss +41 -33
  246. package/filter/filters/slider/control.js +2 -0
  247. package/filter/filters/slider/preact.js +3 -3
  248. package/filter/filters/slider/runtime.js +49 -22
  249. package/filter/filters/slider/single.d.ts +1 -1
  250. package/filter/filters/slider/single.js +23 -23
  251. package/filter-badge.d.ts +1 -1
  252. package/filter-badge.js +23 -22
  253. package/filter-controls.d.ts +1 -2
  254. package/filter-controls.js +29 -30
  255. package/form-controls/field-context.d.ts +5 -0
  256. package/form-controls/index.d.ts +10 -2
  257. package/form-controls/index.js +17 -22
  258. package/form-controls/presentation.d.ts +2 -2
  259. package/form-controls/presentation.js +59 -51
  260. package/formatting/comparison-preview.d.ts +1 -1
  261. package/formatting/icon-controls.d.ts +1 -1
  262. package/formatting/index.d.ts +1 -1
  263. package/formatting/index.js +106 -100
  264. package/formatting/inspector-section.d.ts +1 -1
  265. package/formatting/styles.scss +14 -57
  266. package/formatting/typography-controls.d.ts +1 -1
  267. package/framework-mount.d.ts +1 -1
  268. package/framework.js +237 -226
  269. package/history-controls.d.ts +14 -0
  270. package/history-controls.js +27 -0
  271. package/icon-toolbar.d.ts +62 -0
  272. package/icon-toolbar.js +1 -0
  273. package/icons/icon.d.ts +2 -2
  274. package/icons/icon.js +1 -1
  275. package/legend.d.ts +2 -2
  276. package/legend.js +12 -12
  277. package/masked-input/index.d.ts +1 -1
  278. package/masked-input/index.js +109 -109
  279. package/native-control.d.ts +14 -13
  280. package/native-control.js +3 -26
  281. package/native-controls.d.ts +54 -2
  282. package/native-styles.css +1 -1
  283. package/native-styles.scss +6 -2
  284. package/native.d.ts +3 -3
  285. package/native.js +49 -45
  286. package/number-input/index.d.ts +2 -2
  287. package/number-input/index.js +1 -1
  288. package/package.json +88 -15
  289. package/pagination.d.ts +3 -0
  290. package/pagination.js +50 -40
  291. package/pdf-viewer/component.d.ts +1 -1
  292. package/pdf-viewer/controller.js +1 -1
  293. package/pdf-viewer/header.d.ts +2 -2
  294. package/pdf-viewer/index.d.ts +2 -2
  295. package/pdf-viewer/index.js +13 -13
  296. package/pdf-viewer/search-bar.d.ts +2 -2
  297. package/pdf-viewer/status.d.ts +2 -2
  298. package/pdf-viewer/style.scss +205 -45
  299. package/pdf-viewer/toolbar.d.ts +1 -1
  300. package/pickers.d.ts +6 -2
  301. package/preact-mount.d.ts +1 -1
  302. package/preact-mount.js +2 -2
  303. package/preact.d.ts +15 -10
  304. package/preact.js +109 -64
  305. package/progress/_bar.scss +9 -3
  306. package/progress/_circular.scss +2 -1
  307. package/rating-choice.d.ts +1 -1
  308. package/rating-choice.js +1 -1
  309. package/react-adapter.d.ts +5 -3
  310. package/react-control.d.ts +1 -0
  311. package/react.d.ts +20 -11
  312. package/react.js +72 -88
  313. package/reorder-list.d.ts +2 -2
  314. package/reorder-list.js +1 -1
  315. package/reorder-list.scss +59 -17
  316. package/resource-picker/resource-picker-avatar.d.ts +1 -1
  317. package/resource-picker/resource-picker-avatar.js +14 -14
  318. package/resource-picker/resource-picker-option.d.ts +1 -1
  319. package/resource-picker/resource-picker-option.js +28 -28
  320. package/resource-picker/resource-picker-popup.d.ts +1 -1
  321. package/resource-picker/resource-picker-popup.js +3 -3
  322. package/resource-picker/resource-picker.d.ts +1 -1
  323. package/resource-picker/resource-picker.js +68 -66
  324. package/resource-picker/resource-picker.scss +66 -35
  325. package/rich-text/engine.d.ts +17 -19
  326. package/rich-text/format-html.d.ts +2 -0
  327. package/rich-text/index.d.ts +11 -7
  328. package/rich-text/index.js +1 -1
  329. package/rich-text/model.d.ts +6 -3
  330. package/rich-text/render-model.d.ts +4 -5
  331. package/rich-text/style.scss +295 -55
  332. package/rich-text/syntax.d.ts +5 -2
  333. package/rich-text/toolbar.d.ts +7 -7
  334. package/rich-text/translations.d.ts +5 -15
  335. package/search-input/index.js +12 -12
  336. package/search-input/native.d.ts +21 -2
  337. package/segmented-switch/index.d.ts +1 -1
  338. package/segmented-switch/index.js +1 -1
  339. package/select.d.ts +22 -0
  340. package/select.js +1 -0
  341. package/selection-list.d.ts +1 -0
  342. package/selection-list.js +3 -1
  343. package/status-feedback/exit-snapshot.js +1 -1
  344. package/status-feedback/index.js +2 -2
  345. package/status-feedback/popover.js +9 -9
  346. package/status-feedback/render.d.ts +2 -2
  347. package/status-feedback/render.js +3 -44
  348. package/status-feedback/status-feedback.scss +130 -34
  349. package/status-feedback/types.d.ts +4 -0
  350. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  351. package/styles/_activity-message.scss +24 -7
  352. package/styles/_alert.scss +78 -17
  353. package/styles/_cell-editor-frame.scss +11 -0
  354. package/styles/_compositions.scss +404 -82
  355. package/styles/_control.scss +42 -12
  356. package/styles/_disclosure.scss +15 -5
  357. package/styles/_editor-counter.scss +16 -6
  358. package/styles/_editor-slider.scss +8 -4
  359. package/styles/_field-configurator.scss +321 -23
  360. package/styles/_fields-grid.scss +49 -0
  361. package/styles/_filter-controls.scss +10 -2
  362. package/styles/_icon-action.scss +48 -15
  363. package/styles/_loading.scss +12 -3
  364. package/styles/_motion.scss +32 -9
  365. package/styles/_palette.scss +0 -24
  366. package/styles/_primitives.scss +376 -116
  367. package/styles/_theme.scss +130 -86
  368. package/styles/_thresholds.scss +28 -25
  369. package/styles/_time-grid.scss +8 -3
  370. package/styles/_tokens.scss +6 -1
  371. package/styles/configurator-actions.scss +241 -0
  372. package/styles/pagination.css +213 -0
  373. package/styles/{legacy-rating.css → rating.css} +8 -3
  374. package/styles.css +1 -1
  375. package/styles.scss +3 -5
  376. package/surfaces.d.ts +38 -2
  377. package/surfaces.js +37 -134
  378. package/svelte/UiComponent.server.js +1 -48
  379. package/svelte/UiComponent.svelte +44 -32
  380. package/svelte.d.ts +1 -1
  381. package/svelte.js +33 -68
  382. package/switch/index.js +3 -2
  383. package/time-grid.d.ts +1 -2
  384. package/time-grid.js +43 -42
  385. package/timeline-track/_style.scss +96 -24
  386. package/timeline-track/component.d.ts +5 -1
  387. package/timeline-track/index.js +91 -74
  388. package/timeline-track/model.d.ts +9 -0
  389. package/timeline-track/model.js +10 -1
  390. package/ui.css +1 -1
  391. package/view-switcher.d.ts +23 -0
  392. package/vue-adapter.d.ts +1 -1
  393. package/vue.d.ts +160 -144
  394. package/vue.js +149 -178
  395. package/_chunks/calendar-BsDxCYhI.js +0 -248
  396. package/_chunks/chart-frame-BvxbmEU9.js +0 -126
  397. package/_chunks/choice-chips-0HfOnK_4.js +0 -110
  398. package/_chunks/color-palette-BmZ7kH9R.js +0 -94
  399. package/_chunks/component-D4PH5UZT.js +0 -859
  400. package/_chunks/control-tooltip-BCNzQCXE.js +0 -100
  401. package/_chunks/controls-NEL5tDaz.js +0 -615
  402. package/_chunks/date-time-DjucJmbc.js +0 -769
  403. package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
  404. package/_chunks/dropdown-CkGQBm1Q.js +0 -357
  405. package/_chunks/duration-BCaktcvz.js +0 -270
  406. package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
  407. package/_chunks/editor-popup-B7fu_A_T.js +0 -81
  408. package/_chunks/framework-mount-BKIOsvY-.js +0 -54
  409. package/_chunks/mount-0-8opf1j.js +0 -90
  410. package/_chunks/native.view-8q_nwQ7x.js +0 -32
  411. package/_chunks/picker-oazJ7sO_.js +0 -121
  412. package/_chunks/reorder-list-BV3kZXso.js +0 -59
  413. package/_chunks/request-trail-D0oVzdRd.js +0 -347
  414. package/_chunks/rich-text-2Rla349o.js +0 -477
  415. package/avatar/index.view.d.ts +0 -25
  416. package/color-palette/native.view.d.ts +0 -15
  417. package/control-presentation.view.d.ts +0 -8
  418. package/dialog/dialog-action-footer.view.d.ts +0 -20
  419. package/dialog/dialog.dom.view.d.ts +0 -15
  420. package/form-controls/index.view.d.ts +0 -12
  421. package/formatting/control-tooltip.d.ts +0 -27
  422. package/native-controls.view.d.ts +0 -54
  423. package/react-native-select.d.ts +0 -6
  424. package/search-input/native.view.d.ts +0 -21
  425. package/styles/legacy-pagination.css +0 -112
  426. package/surfaces.view.d.ts +0 -63
  427. package/vue-native-select.d.ts +0 -9
@@ -0,0 +1,6 @@
1
+ .rv-view-switcher-controls {
2
+ display: flex;
3
+ align-items: center;
4
+ flex-wrap: wrap;
5
+ gap: 0.5rem;
6
+ }
@@ -1,4 +1,4 @@
1
- import { h, ComponentChildren } from 'preact';
1
+ import { h, ComponentChildren } from './_vendor/preact/src/index';
2
2
  export interface ActivityMessageProps {
3
3
  className?: string;
4
4
  avatar: ComponentChildren;
@@ -9,4 +9,4 @@ export interface ActivityMessageProps {
9
9
  details?: ComponentChildren;
10
10
  }
11
11
  /** A compact, composable message with an avatar, timestamp and optional actions. */
12
- export declare function ActivityMessage({ className, avatar, timestamp, header, children, actions, details }: ActivityMessageProps): h.JSX.Element;
12
+ export declare function ActivityMessage({ className, avatar, timestamp, header, children, actions, details, }: ActivityMessageProps): h.JSX.Element;
@@ -1,40 +1,40 @@
1
- import { jsx as e, jsxs as t } from "preact/jsx-runtime";
1
+ import { t as e } from "./_chunks/jsxRuntime.module-F6UFnpT-.js";
2
2
  //#region src/activity-message.tsx
3
- function n({ className: n = "", avatar: r, timestamp: i, header: a, children: o, actions: s, details: c }) {
4
- return /* @__PURE__ */ t("article", {
5
- class: `rv-activity-message ${n}`,
3
+ function t({ className: t = "", avatar: n, timestamp: r, header: i, children: a, actions: o, details: s }) {
4
+ return /* @__PURE__ */ e("article", {
5
+ class: `rv-activity-message ${t}`,
6
6
  children: [
7
7
  /* @__PURE__ */ e("div", {
8
8
  class: "rv-activity-message-avatar",
9
- children: r
9
+ children: n
10
10
  }),
11
- /* @__PURE__ */ t("div", {
11
+ /* @__PURE__ */ e("div", {
12
12
  class: "rv-activity-message-card",
13
13
  children: [
14
- a && /* @__PURE__ */ e("div", {
14
+ i && /* @__PURE__ */ e("div", {
15
15
  class: "rv-activity-message-header",
16
- children: a
16
+ children: i
17
17
  }),
18
18
  /* @__PURE__ */ e("div", {
19
- class: `rv-activity-message-content${a ? " rv-activity-message-content--full" : ""}`,
20
- children: o
19
+ class: `rv-activity-message-content${i ? " rv-activity-message-content--full" : ""}`,
20
+ children: a
21
21
  }),
22
22
  /* @__PURE__ */ e("div", {
23
23
  class: "rv-activity-message-time",
24
- children: i
24
+ children: r
25
25
  }),
26
- s && /* @__PURE__ */ e("div", {
26
+ o && /* @__PURE__ */ e("div", {
27
27
  class: "rv-activity-message-actions",
28
- children: s
28
+ children: o
29
29
  })
30
30
  ]
31
31
  }),
32
- c && /* @__PURE__ */ e("div", {
32
+ s && /* @__PURE__ */ e("div", {
33
33
  class: "rv-activity-message-details",
34
- children: c
34
+ children: s
35
35
  })
36
36
  ]
37
37
  });
38
38
  }
39
39
  //#endregion
40
- export { n as ActivityMessage };
40
+ export { t as ActivityMessage };
package/ai/_chat.scss ADDED
@@ -0,0 +1,227 @@
1
+ .rv-ai-chat {
2
+ display: flex;
3
+ flex-direction: column;
4
+ min-width: 0;
5
+ min-height: 0;
6
+ width: 100%;
7
+ height: 100%;
8
+ color: var(--rv-ui-text);
9
+ background: var(--rv-ui-surface);
10
+ font: 400 0.875rem/1.55 var(--rv-ai-font, system-ui, sans-serif);
11
+ }
12
+ .rv-ai-chat-scroll {
13
+ position: relative;
14
+ display: flex;
15
+ flex: 1;
16
+ min-height: 0;
17
+ min-width: 0;
18
+ }
19
+ .rv-ai-chat-viewport {
20
+ flex: 1;
21
+ min-width: 0;
22
+ overflow: auto;
23
+ overscroll-behavior: contain;
24
+ overflow-anchor: none;
25
+ scrollbar-gutter: stable;
26
+ &:focus-visible {
27
+ outline: 2px solid var(--rv-ui-accent);
28
+ outline-offset: -2px;
29
+ }
30
+ }
31
+ .rv-ai-chat-content {
32
+ display: flex;
33
+ flex-direction: column;
34
+ gap: 1.5rem;
35
+ min-height: 100%;
36
+ padding: 1.25rem;
37
+ }
38
+ .rv-ai-chat-empty {
39
+ margin: auto;
40
+ text-align: center;
41
+ max-width: 24rem;
42
+ padding-block: 2rem;
43
+ }
44
+ .rv-ai-chat-empty p {
45
+ color: var(--rv-ui-text-muted);
46
+ margin-block: 0.5rem;
47
+ }
48
+ .rv-ai-chat-empty > strong {
49
+ font-size: calc(1em + 2px);
50
+ }
51
+ .rv-ai-chat-empty img {
52
+ max-width: 100%;
53
+ height: auto;
54
+ }
55
+ .rv-ai-mounted-chat .rv-ai-chat-content:has(> .rv-ai-chat-empty:only-child) {
56
+ box-sizing: border-box;
57
+ min-height: 100%;
58
+ }
59
+ .rv-ai-chat-jump.rv-btn {
60
+ position: absolute;
61
+ inset-block-end: 0.75rem;
62
+ inset-inline-start: 50%;
63
+ transform: translateX(-50%);
64
+ width: 2rem;
65
+ min-width: 2rem;
66
+ height: 2rem;
67
+ padding: 0.375rem;
68
+ border: 1px solid var(--rv-ui-border);
69
+ border-radius: 50%;
70
+ background: var(--rv-ui-surface);
71
+ color: var(--rv-ui-text);
72
+ box-shadow: none;
73
+ }
74
+ .rv-ai-chat-composer {
75
+ flex: none;
76
+ padding: 0.75rem 1rem 1rem;
77
+ }
78
+ .rv-ai-message {
79
+ display: flex;
80
+ flex-direction: column;
81
+ gap: 0.625rem;
82
+ min-width: 0;
83
+ max-width: 100%;
84
+ align-self: flex-start;
85
+ }
86
+ .rv-ai-message--assistant {
87
+ align-self: stretch;
88
+ width: 100%;
89
+ }
90
+ .rv-ai-message-content {
91
+ white-space: pre-wrap;
92
+ overflow-wrap: anywhere;
93
+ min-width: 0;
94
+ }
95
+ .rv-ai-message--user {
96
+ align-self: flex-end;
97
+ max-width: 85%;
98
+ .rv-ai-message-content {
99
+ padding: 0.625rem 1rem;
100
+ border-radius: 1.125rem;
101
+ background: var(--rv-ui-surface-sunken);
102
+ }
103
+ .rv-ai-message-actions {
104
+ justify-content: flex-end;
105
+ }
106
+ }
107
+ .rv-ai-message--system {
108
+ color: var(--rv-ui-text-muted);
109
+ font-size: 0.8125rem;
110
+ align-self: center;
111
+ }
112
+ .rv-ai-message-actions {
113
+ display: flex;
114
+ align-items: center;
115
+ flex-wrap: wrap;
116
+ gap: 0.25rem;
117
+ }
118
+ .rv-ai-trace {
119
+ font-size: 0.8125rem;
120
+ min-width: 0;
121
+ }
122
+ .rv-ai-trace > .rv-disclosure-summary {
123
+ display: flex;
124
+ align-items: center;
125
+ gap: 0.5rem;
126
+ padding: 0.25rem 0;
127
+ color: var(--rv-ui-text-muted);
128
+ cursor: pointer;
129
+ }
130
+ .rv-ai-trace-heading {
131
+ display: inline-flex;
132
+ align-items: center;
133
+ gap: 0.5rem;
134
+ min-width: 0;
135
+ overflow-wrap: anywhere;
136
+ }
137
+ .rv-ai-trace-content {
138
+ padding: 0.625rem 0 0.25rem 1rem;
139
+ margin-inline-start: 0.5rem;
140
+ border-inline-start: 1px solid var(--rv-ui-border);
141
+ white-space: pre-wrap;
142
+ overflow-wrap: anywhere;
143
+ }
144
+ .rv-ai-task-item {
145
+ display: flex;
146
+ align-items: flex-start;
147
+ gap: 0.5rem;
148
+ padding-block: 0.3rem;
149
+ }
150
+ .rv-ai-task-icon {
151
+ display: inline-flex;
152
+ width: 1.25rem;
153
+ height: 1.25rem;
154
+ flex: none;
155
+ align-items: center;
156
+ justify-content: center;
157
+ svg {
158
+ width: 0.875rem;
159
+ height: 0.875rem;
160
+ }
161
+ &[data-status='error'] {
162
+ color: var(--rv-ui-danger);
163
+ }
164
+ &[data-status='running'] {
165
+ color: var(--rv-ui-accent);
166
+ }
167
+ }
168
+ @media (max-width: 480px) {
169
+ .rv-ai-chat-content {
170
+ padding: 1rem;
171
+ }
172
+ .rv-ai-message--user {
173
+ max-width: 95%;
174
+ }
175
+ }
176
+
177
+ .rv-ai-trace-chevron {
178
+ display: inline-flex;
179
+ align-items: center;
180
+ }
181
+ .rv-ai-trace[open] .rv-ai-trace-chevron {
182
+ transform: rotate(180deg);
183
+ }
184
+
185
+ .rv-ai-trace-line {
186
+ color: var(--rv-ui-text-muted);
187
+ padding-block: 0.25rem;
188
+ }
189
+
190
+ // Mounted assistants keep the composer in normal flow above the grid.
191
+ .rv-ai-mounted-chat {
192
+ height: auto;
193
+ .rv-ai-chat-viewport {
194
+ min-height: 0;
195
+ max-height: min(18rem, 40vh);
196
+ }
197
+ .rv-ai-chat-content {
198
+ min-height: 0;
199
+ padding: 0.75rem 0;
200
+ &:empty {
201
+ padding: 0;
202
+ }
203
+ }
204
+ .rv-ai-chat-composer {
205
+ padding: 0.75rem 0 0;
206
+ }
207
+ .rv-ai-result-actions {
208
+ margin-block-start: 0.75rem;
209
+ }
210
+ }
211
+ .rv-ai-chat-result {
212
+ max-width: 100%;
213
+ margin: 0;
214
+ padding: 0.625rem;
215
+ border-radius: 0.5rem;
216
+ background: var(--rv-ui-surface-sunken);
217
+ font: inherit;
218
+ white-space: pre-wrap;
219
+ overflow-wrap: anywhere;
220
+ }
221
+
222
+ .rv-ai-chat-actions {
223
+ display: flex;
224
+ justify-content: flex-end;
225
+ align-items: center;
226
+ gap: 0.25rem;
227
+ }
package/ai/_style.scss CHANGED
@@ -1,3 +1,5 @@
1
+ @use './chat';
2
+ @use './results/style';
1
3
  .rv-ai-assistant {
2
4
  box-sizing: border-box;
3
5
  width: 100%;
@@ -18,11 +20,12 @@
18
20
  min-width: 0;
19
21
  }
20
22
  .rv-ai-prompt-composer {
21
- display: flex;
22
- flex-direction: column;
23
+ display: grid;
24
+ grid-template-columns: minmax(0, 1fr) auto;
25
+ align-items: end;
23
26
  min-width: 0;
24
27
  border: 1px solid var(--rv-ui-border);
25
- border-radius: calc(var(--rv-ui-radius, 6px) + 10px);
28
+ border-radius: 24px;
26
29
  background: var(--rv-ui-surface-sunken);
27
30
  transition:
28
31
  border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease),
@@ -34,10 +37,12 @@
34
37
  }
35
38
  }
36
39
  .rv-ai-prompt-composer textarea.rv-control {
40
+ grid-column: 1;
41
+ grid-row: 1;
37
42
  display: block;
38
- min-height: 4.75rem;
43
+ min-height: 1.5rem;
39
44
  max-height: 12rem;
40
- padding: 0.875rem 1rem 0.5rem;
45
+ padding: 0.75rem 1rem;
41
46
  border: 0;
42
47
  border-radius: inherit;
43
48
  background: transparent;
@@ -52,95 +57,126 @@
52
57
  }
53
58
  }
54
59
  .rv-ai-prompt-toolbar {
60
+ grid-column: 2;
61
+ grid-row: 1;
55
62
  display: flex;
56
63
  gap: 0.75rem;
57
64
  align-items: center;
58
65
  justify-content: space-between;
59
66
  min-width: 0;
60
- padding: 0.375rem 0.625rem 0.625rem 1rem;
67
+ padding: 0.5rem 0.5rem 0.5rem 0;
61
68
  }
62
69
  .rv-ai-prompt-footer {
70
+ grid-column: 1 / -1;
71
+ grid-row: 2;
63
72
  min-width: 0;
64
73
  margin-inline: 1rem;
65
- padding-block: 0.625rem 0.25rem;
66
- border-block-start: 1px solid var(--rv-ui-border);
74
+ padding-block: 0.625rem;
67
75
  &:empty {
68
76
  display: none;
69
77
  }
70
78
  }
79
+ .rv-ai-prompt-composer:has(.rv-ai-prompt-hint) {
80
+ grid-template-columns: minmax(0, 1fr);
81
+ .rv-ai-prompt-toolbar {
82
+ grid-column: 1;
83
+ grid-row: 3;
84
+ padding-inline-start: 1rem;
85
+ }
86
+ }
71
87
  .rv-ai-request-trail {
72
88
  min-width: 0;
73
89
  }
74
- .rv-ai-trail-trigger .rv-svg-icon {
75
- transition: transform var(--rv-ui-motion-fast, 120ms)
76
- var(--rv-ui-motion-ease, ease);
77
- }
78
- .rv-ai-trail-trigger[aria-expanded='true'] .rv-svg-icon {
79
- transform: rotate(180deg);
80
- }
81
90
  .rv-popover.rv-ai-trail-popover {
82
91
  box-sizing: border-box;
83
92
  width: 22rem;
84
93
  max-width: calc(100% - 16px);
85
94
  max-height: min(30rem, calc(100dvh - 16px));
86
95
  padding: 0;
96
+ border-radius: 12px;
87
97
  font: inherit;
88
98
  &:focus {
89
99
  outline: none;
90
100
  }
91
101
  }
92
102
  .rv-ai-trail-header {
93
- padding: 0.75rem 0.875rem 0.5rem;
103
+ padding: 0.875rem 1rem 0.625rem;
94
104
  }
95
105
  .rv-ai-trail-label {
96
106
  display: flex;
97
107
  align-items: center;
98
108
  gap: 0.5rem;
99
- color: var(--rv-ui-text-muted);
109
+ color: var(--rv-ui-text);
100
110
  font-size: 0.75rem;
101
111
  font-weight: var(--rv-ui-font-weight-medium, 500);
102
112
  }
103
113
  .rv-ai-trail-steps {
104
114
  display: flex;
105
115
  flex-direction: column;
106
- gap: 0.375rem;
116
+ gap: 0.25rem;
107
117
  min-width: 0;
108
118
  margin: 0;
109
- padding: 0 0.5rem 0.5rem;
119
+ padding: 0 0.5rem 0.625rem;
110
120
  list-style: none;
111
121
  }
122
+ .rv-ai-step {
123
+ position: relative;
124
+ &:not(:last-child)::before {
125
+ content: '';
126
+ position: absolute;
127
+ left: 20px;
128
+ top: 32px;
129
+ bottom: -12px;
130
+ width: 1px;
131
+ background: var(--rv-ui-border);
132
+ }
133
+ }
112
134
  .rv-ai-step-chip {
113
135
  display: flex;
114
136
  align-items: flex-start;
115
137
  gap: 0.625rem;
116
138
  min-width: 0;
117
139
  padding: 0.5rem;
118
- border: 1px solid var(--rv-ui-border);
119
- border-radius: var(--rv-ui-radius, 6px);
120
- background: var(--rv-ui-surface);
140
+ border: 0;
141
+ border-radius: 8px;
142
+ background: transparent;
121
143
  color: var(--rv-ui-text);
122
144
  }
145
+ .rv-ai-step:hover .rv-ai-step-chip,
146
+ .rv-ai-step:focus-within .rv-ai-step-chip {
147
+ background: var(--rv-ui-surface-hover);
148
+ }
123
149
  .rv-ai-step[data-current] .rv-ai-step-chip {
124
- background: var(--rv-ui-selected-bg);
125
- border-color: color-mix(
150
+ background: color-mix(
126
151
  in srgb,
127
- var(--rv-ui-accent) 30%,
128
- var(--rv-ui-border)
152
+ var(--rv-ui-selected-bg) 55%,
153
+ var(--rv-ui-surface)
129
154
  );
130
155
  }
131
156
  .rv-ai-step-number {
157
+ position: relative;
158
+ box-sizing: border-box;
132
159
  flex: none;
133
- min-width: 1.25rem;
134
- padding-block: 0.25rem;
160
+ min-width: 24px;
161
+ height: 24px;
162
+ margin-block: 2px;
163
+ padding: 0 4px;
164
+ border-radius: 999px;
165
+ background: var(--rv-ui-surface-sunken);
135
166
  color: var(--rv-ui-text-muted);
136
167
  font-size: 0.6875rem;
137
168
  font-variant-numeric: tabular-nums;
138
169
  text-align: center;
170
+ line-height: 24px;
171
+ }
172
+ .rv-ai-step[data-current] .rv-ai-step-number {
173
+ background: var(--rv-ui-accent);
174
+ color: var(--rv-ui-accent-contrast, #fff);
139
175
  }
140
176
  .rv-ai-step-label {
141
177
  flex: 1;
142
178
  min-width: 0;
143
- padding-block: 0.1875rem;
179
+ padding-block: 0.25rem;
144
180
  overflow-wrap: anywhere;
145
181
  white-space: pre-wrap;
146
182
  font-size: 0.75rem;
@@ -178,27 +214,43 @@
178
214
  overflow-wrap: anywhere;
179
215
  }
180
216
  .rv-ai-prompt-toolbar .rv-ai-prompt-submit {
181
- --rv-icon-button-size: 32px;
217
+ --rv-icon-button-size: 30px;
218
+ min-height: var(--rv-icon-button-size);
182
219
  flex: 0 0 auto;
183
- padding: 0.5rem;
220
+ padding: 0.25rem;
184
221
  border-radius: 50%;
185
222
  }
186
223
  .rv-ai-suggestions {
187
224
  display: flex;
188
- gap: 0.5rem;
225
+ flex-wrap: wrap;
226
+ align-items: center;
227
+ gap: 0.375rem;
189
228
  min-width: 0;
190
- overflow-x: auto;
191
- overscroll-behavior-x: contain;
192
- scroll-padding-inline: 4px;
193
- scrollbar-width: thin;
194
- // Give keyboard focus outlines room inside the scrolling row.
229
+ // Leave room for focus outlines.
195
230
  padding: 4px;
196
231
  margin: -4px;
197
232
  }
233
+ .rv-ai-suggestions .dropdown-container.rv-ai-examples {
234
+ flex: 0 0 28px;
235
+ width: 28px;
236
+ height: 28px;
237
+ }
238
+ .rv-ai-examples .dropdown-trigger {
239
+ justify-content: center;
240
+ width: 28px;
241
+ height: 28px;
242
+ padding: 0;
243
+ border: 0;
244
+ border-radius: var(--rv-ui-radius, 6px);
245
+ background: transparent;
246
+ color: var(--rv-ui-text);
247
+ font-size: 0.75rem;
248
+ line-height: 1.25;
249
+ }
198
250
  .rv-ai-suggestions .rv-ai-suggestion {
199
251
  flex: 0 0 auto;
200
- min-height: 32px;
201
- padding: 0.5rem 0.75rem;
252
+ min-height: 28px;
253
+ padding: 0.25rem 0.625rem;
202
254
  border-radius: 999px;
203
255
  font-size: 0.75rem;
204
256
  line-height: 1.25;
@@ -250,3 +302,82 @@
250
302
  outline-offset: 2px;
251
303
  }
252
304
  }
305
+
306
+ .rv-ai-result-details {
307
+ margin: 0;
308
+ max-height: 16rem;
309
+ overflow: auto;
310
+ white-space: pre-wrap;
311
+ overflow-wrap: anywhere;
312
+ font-size: 0.875em;
313
+ }
314
+ .rv-ai-preview-changes {
315
+ max-width: 100%;
316
+ overflow-x: auto;
317
+ table {
318
+ width: 100%;
319
+ border-collapse: collapse;
320
+ font-size: 0.875rem;
321
+ }
322
+ th,
323
+ td {
324
+ padding: 0.5rem 0.625rem;
325
+ border-bottom: 1px solid var(--rv-ui-border);
326
+ text-align: start;
327
+ vertical-align: top;
328
+ overflow-wrap: anywhere;
329
+ }
330
+ th {
331
+ font-weight: 500;
332
+ }
333
+ thead th {
334
+ color: var(--rv-ui-text-muted);
335
+ }
336
+ td {
337
+ min-width: 4rem;
338
+ }
339
+ }
340
+ .rv-ai-preview-item {
341
+ display: block;
342
+ font-weight: 600;
343
+ margin-bottom: 0.125rem;
344
+ }
345
+ .rv-ai-preview-notice {
346
+ margin: 0;
347
+ color: var(--rv-ui-text-muted);
348
+ }
349
+
350
+ // Opt-in bounded chat surfaces; toolbar mounts keep their natural height.
351
+ .rv-ai-assistant--fill {
352
+ padding: 0;
353
+ flex: 1;
354
+ min-height: 0;
355
+ height: 100%;
356
+ > .rv-ai-mounted-chat {
357
+ flex: 1;
358
+ min-height: 0;
359
+ }
360
+ .rv-ai-chat-viewport {
361
+ max-height: none;
362
+ }
363
+ .rv-ai-result-actions,
364
+ .rv-ai-assistant-footer {
365
+ flex: none;
366
+ }
367
+ .rv-ai-chat-content {
368
+ min-height: 100%;
369
+ box-sizing: border-box;
370
+ }
371
+ }
372
+
373
+ // Keep the trigger compact while giving long requests room in the shared popup.
374
+ .rv-ai-examples-menu {
375
+ box-sizing: border-box;
376
+ width: min(420px, calc(100vw - 16px));
377
+ max-width: calc(100vw - 16px);
378
+
379
+ .dropdown-option {
380
+ min-height: 36px;
381
+ white-space: normal;
382
+ }
383
+ }
package/ai/chat.d.ts ADDED
@@ -0,0 +1,65 @@
1
+ import { h, ComponentChildren, JSX } from '../_vendor/preact/src/index';
2
+ import { AiPromptInputProps } from './components';
3
+ import { AiUiTranslations } from './translations';
4
+ export interface AiChatPartProps {
5
+ children?: ComponentChildren;
6
+ className?: string;
7
+ translations?: AiUiTranslations;
8
+ }
9
+ export interface AiChatProps extends AiChatPartProps {
10
+ label?: string;
11
+ style?: JSX.CSSProperties;
12
+ }
13
+ /** Presentation only. The host owns transcript, provider, actions and persistence. */
14
+ export declare function AiChat({ children, className, label, style, translations, }: AiChatProps): h.JSX.Element;
15
+ export interface AiChatContentProps extends AiChatPartProps {
16
+ label?: string;
17
+ /** Follow updates only while the reader remains at the live edge. */
18
+ autoScroll?: boolean;
19
+ busy?: boolean;
20
+ jumpLabel?: string;
21
+ }
22
+ /** Scroll measurement belongs to this visual viewport, never to a grid/data owner. */
23
+ export declare function AiChatContent({ children, className, autoScroll, busy, label, jumpLabel, translations, }: AiChatContentProps): h.JSX.Element;
24
+ export interface AiChatEmptyStateProps extends AiChatPartProps {
25
+ title?: string;
26
+ description?: string;
27
+ /** Framework-owned image/text content. Return cleanup for listeners or mounted views. */
28
+ renderContent?(host: HTMLElement): void | (() => void);
29
+ }
30
+ export declare function AiChatEmptyState({ title, description, children, className, translations, renderContent, }: AiChatEmptyStateProps): h.JSX.Element;
31
+ /** Existing composer behavior, with chat-specific defaults. */
32
+ export declare function AiChatComposer(props: AiPromptInputProps): h.JSX.Element;
33
+ export interface AiMessageProps extends AiChatPartProps {
34
+ from: 'user' | 'assistant' | 'system';
35
+ label?: string;
36
+ isStreaming?: boolean;
37
+ }
38
+ export declare function AiMessage({ from, label, isStreaming, children, className, translations, }: AiMessageProps): h.JSX.Element;
39
+ /** Text stays text. Hosts can supply their own trusted Markdown renderer as children. */
40
+ export declare function AiMessageContent({ children, className, }: AiChatPartProps): h.JSX.Element;
41
+ export interface AiMessageActionsProps extends AiChatPartProps {
42
+ label?: string;
43
+ }
44
+ export declare function AiMessageActions({ children, className, label, translations, }: AiMessageActionsProps): h.JSX.Element;
45
+ export type AiTaskStatus = 'pending' | 'running' | 'completed' | 'error' | 'cancelled';
46
+ export interface AiTaskProps extends AiChatPartProps {
47
+ title: string;
48
+ status?: AiTaskStatus;
49
+ open?: boolean;
50
+ defaultOpen?: boolean;
51
+ onOpenChange?(open: boolean): void;
52
+ }
53
+ export declare function AiTask(props: AiTaskProps): h.JSX.Element;
54
+ export interface AiTaskItemProps extends AiChatPartProps {
55
+ status?: AiTaskStatus;
56
+ }
57
+ export declare function AiTaskItem({ status, children, className, translations, }: AiTaskItemProps): h.JSX.Element;
58
+ export interface AiReasoningProps extends Omit<AiTaskProps, 'title' | 'status'> {
59
+ title?: string;
60
+ isStreaming?: boolean;
61
+ /** Host-supplied elapsed seconds; no hidden timer or invented reasoning. */
62
+ duration?: number;
63
+ }
64
+ /** Render only reasoning/summary text explicitly supplied by the host or provider. */
65
+ export declare function AiReasoning({ title, isStreaming, duration, children, translations, ...props }: AiReasoningProps): h.JSX.Element;