@mizen-labs/ui 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (995) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +72 -2
  3. package/dist/closed.d.ts +5 -0
  4. package/dist/closed.js +1 -0
  5. package/dist/components/accordion/accordion.d.ts +28 -0
  6. package/dist/components/accordion/accordion.js +1 -0
  7. package/dist/components/accordion/accordion.styles.js +1 -0
  8. package/dist/components/activity-feed/activity-feed.d.ts +28 -0
  9. package/dist/components/activity-feed/activity-feed.js +2 -0
  10. package/dist/components/activity-feed/activity-feed.styles.js +1 -0
  11. package/dist/components/agent-thinking/agent-thinking.d.ts +25 -0
  12. package/dist/components/agent-thinking/agent-thinking.js +16 -0
  13. package/dist/components/agent-thinking/agent-thinking.styles.js +3 -0
  14. package/dist/components/alert/alert.d.ts +14 -0
  15. package/dist/components/alert/alert.js +1 -0
  16. package/dist/components/alert/alert.styles.js +1 -0
  17. package/dist/components/alert/alert.stylex.js +1 -0
  18. package/dist/components/alert-dialog/alert-dialog.d.ts +29 -0
  19. package/dist/components/alert-dialog/alert-dialog.js +1 -0
  20. package/dist/components/alert-dialog/alert-dialog.styles.js +1 -0
  21. package/dist/components/approval-card/approval-card.d.ts +38 -0
  22. package/dist/components/approval-card/approval-card.js +8 -0
  23. package/dist/components/approval-card/approval-card.styles.js +1 -0
  24. package/dist/components/area-chart/area-chart.d.ts +29 -0
  25. package/dist/components/area-chart/area-chart.js +10 -0
  26. package/dist/components/area-chart/area-chart.styles.js +1 -0
  27. package/dist/components/aspect-ratio/aspect-ratio.d.ts +7 -0
  28. package/dist/components/aspect-ratio/aspect-ratio.js +1 -0
  29. package/dist/components/aspect-ratio/aspect-ratio.styles.js +1 -0
  30. package/dist/components/attachment/attachment.d.ts +20 -0
  31. package/dist/components/attachment/attachment.js +1 -0
  32. package/dist/components/attachment/attachment.styles.js +1 -0
  33. package/dist/components/avatar/avatar-character.styles.js +1 -0
  34. package/dist/components/avatar/avatar.d.ts +36 -0
  35. package/dist/components/avatar/avatar.js +4 -0
  36. package/dist/components/avatar/avatar.styles.js +1 -0
  37. package/dist/components/badge/badge.d.ts +8 -0
  38. package/dist/components/badge/badge.js +1 -0
  39. package/dist/components/badge/badge.styles.js +1 -0
  40. package/dist/components/bar-list/bar-list.d.ts +22 -0
  41. package/dist/components/bar-list/bar-list.js +4 -0
  42. package/dist/components/bar-list/bar-list.styles.js +1 -0
  43. package/dist/components/blockquote/blockquote.d.ts +12 -0
  44. package/dist/components/blockquote/blockquote.js +1 -0
  45. package/dist/components/blockquote/blockquote.styles.js +1 -0
  46. package/dist/components/breadcrumb/breadcrumb-link.d.ts +4 -0
  47. package/dist/components/breadcrumb/breadcrumb-link.js +1 -0
  48. package/dist/components/breadcrumb/breadcrumb.d.ts +16 -0
  49. package/dist/components/breadcrumb/breadcrumb.js +2 -0
  50. package/dist/components/breadcrumb/breadcrumb.styles.js +1 -0
  51. package/dist/components/button/button-colors.stylex.js +3 -0
  52. package/dist/components/button/button.css +16 -0
  53. package/dist/components/button/button.css.d.js +0 -0
  54. package/dist/components/button/button.d.ts +27 -0
  55. package/dist/components/button/button.js +1 -0
  56. package/dist/components/button/button.styles.js +3 -0
  57. package/dist/components/button-group/button-group.css +115 -0
  58. package/dist/components/button-group/button-group.d.ts +8 -0
  59. package/dist/components/button-group/button-group.js +3 -0
  60. package/dist/components/button-group/button-group.styles.js +1 -0
  61. package/dist/components/calendar/calendar-components.js +2 -0
  62. package/dist/components/calendar/calendar-context.js +1 -0
  63. package/dist/components/calendar/calendar-dropdowns.js +2 -0
  64. package/dist/components/calendar/calendar-utils.js +1 -0
  65. package/dist/components/calendar/calendar.d.ts +4 -0
  66. package/dist/components/calendar/calendar.js +1 -0
  67. package/dist/components/calendar/calendar.styles.js +1 -0
  68. package/dist/components/calendar/calendar.types.d.ts +48 -0
  69. package/dist/components/calendar/calendar.types.js +1 -0
  70. package/dist/components/calendar-heatmap/calendar-heatmap.d.ts +20 -0
  71. package/dist/components/calendar-heatmap/calendar-heatmap.js +9 -0
  72. package/dist/components/card/card.d.ts +17 -0
  73. package/dist/components/card/card.js +1 -0
  74. package/dist/components/card/card.styles.js +1 -0
  75. package/dist/components/carousel/carousel.d.ts +33 -0
  76. package/dist/components/carousel/carousel.js +21 -0
  77. package/dist/components/carousel/carousel.styles.js +4 -0
  78. package/dist/components/category-comparison/category-comparison.d.ts +30 -0
  79. package/dist/components/category-comparison/category-comparison.js +9 -0
  80. package/dist/components/category-comparison/category-comparison.styles.js +1 -0
  81. package/dist/components/chart-frame/arc-path.js +7 -0
  82. package/dist/components/chart-frame/chart-assert.js +2 -0
  83. package/dist/components/chart-frame/chart-colors.d.ts +10 -0
  84. package/dist/components/chart-frame/chart-colors.js +2 -0
  85. package/dist/components/chart-frame/chart-crosshair.js +6 -0
  86. package/dist/components/chart-frame/chart-data-table.js +4 -0
  87. package/dist/components/chart-frame/chart-frame.d.ts +24 -0
  88. package/dist/components/chart-frame/chart-frame.js +7 -0
  89. package/dist/components/chart-frame/chart-frame.styles.js +1 -0
  90. package/dist/components/chart-frame/chart-hover.js +3 -0
  91. package/dist/components/chart-frame/chart-loading.d.ts +22 -0
  92. package/dist/components/chart-frame/chart-loading.js +6 -0
  93. package/dist/components/chart-frame/ring-graphic.js +5 -0
  94. package/dist/components/chart-legend/chart-legend.d.ts +18 -0
  95. package/dist/components/chart-legend/chart-legend.js +1 -0
  96. package/dist/components/chart-legend/chart-legend.styles.js +1 -0
  97. package/dist/components/chart-tooltip/chart-tooltip.d.ts +14 -0
  98. package/dist/components/chart-tooltip/chart-tooltip.js +1 -0
  99. package/dist/components/chart-tooltip/chart-tooltip.styles.js +1 -0
  100. package/dist/components/checkbox/checkbox-card.d.ts +16 -0
  101. package/dist/components/checkbox/checkbox-card.js +1 -0
  102. package/dist/components/checkbox/checkbox-card.styles.js +1 -0
  103. package/dist/components/checkbox/checkbox.d.ts +13 -0
  104. package/dist/components/checkbox/checkbox.js +5 -0
  105. package/dist/components/checkbox/checkbox.styles.js +3 -0
  106. package/dist/components/checkbox-group/checkbox-group.d.ts +6 -0
  107. package/dist/components/checkbox-group/checkbox-group.js +1 -0
  108. package/dist/components/checkbox-group/checkbox-group.styles.js +1 -0
  109. package/dist/components/citation/citation.d.ts +6 -0
  110. package/dist/components/citation/citation.js +1 -0
  111. package/dist/components/citation/citation.styles.js +1 -0
  112. package/dist/components/code/code.d.ts +5 -0
  113. package/dist/components/code/code.js +1 -0
  114. package/dist/components/code/code.styles.js +3 -0
  115. package/dist/components/code-block/code-block-copy.d.ts +6 -0
  116. package/dist/components/code-block/code-block-copy.js +1 -0
  117. package/dist/components/code-block/code-block-highlight.d.ts +31 -0
  118. package/dist/components/code-block/code-block-highlight.js +8 -0
  119. package/dist/components/code-block/code-block.d.ts +22 -0
  120. package/dist/components/code-block/code-block.js +4 -0
  121. package/dist/components/code-block/code-block.styles.js +3 -0
  122. package/dist/components/collapsible/collapsible.d.ts +19 -0
  123. package/dist/components/collapsible/collapsible.js +1 -0
  124. package/dist/components/collapsible/collapsible.styles.js +1 -0
  125. package/dist/components/combobox/combobox-chips.js +1 -0
  126. package/dist/components/combobox/combobox-chips.styles.js +1 -0
  127. package/dist/components/combobox/combobox-context.d.ts +9 -0
  128. package/dist/components/combobox/combobox-context.js +1 -0
  129. package/dist/components/combobox/combobox-field.styles.js +1 -0
  130. package/dist/components/combobox/combobox-input.js +1 -0
  131. package/dist/components/combobox/combobox-popup.js +1 -0
  132. package/dist/components/combobox/combobox-popup.styles.js +1 -0
  133. package/dist/components/combobox/combobox-structure.js +1 -0
  134. package/dist/components/combobox/combobox.d.ts +27 -0
  135. package/dist/components/combobox/combobox.js +1 -0
  136. package/dist/components/combobox/combobox.types.d.ts +43 -0
  137. package/dist/components/combobox/combobox.types.js +1 -0
  138. package/dist/components/command/command-dialog.js +1 -0
  139. package/dist/components/command/command-dialog.styles.js +1 -0
  140. package/dist/components/command/command-field.styles.js +1 -0
  141. package/dist/components/command/command-input.js +1 -0
  142. package/dist/components/command/command-items.js +1 -0
  143. package/dist/components/command/command-items.styles.js +1 -0
  144. package/dist/components/command/command-structure.js +1 -0
  145. package/dist/components/command/command.d.ts +29 -0
  146. package/dist/components/command/command.js +2 -0
  147. package/dist/components/command/command.types.d.ts +28 -0
  148. package/dist/components/command/command.types.js +1 -0
  149. package/dist/components/composer/attachment-marker.stylex.js +2 -0
  150. package/dist/components/composer/composer-clipboard.js +1 -0
  151. package/dist/components/composer/composer-context-meter.d.ts +36 -0
  152. package/dist/components/composer/composer-context-meter.js +6 -0
  153. package/dist/components/composer/composer-dictation.d.ts +17 -0
  154. package/dist/components/composer/composer-dictation.js +5 -0
  155. package/dist/components/composer/composer-document.d.ts +32 -0
  156. package/dist/components/composer/composer-document.js +1 -0
  157. package/dist/components/composer/composer-editor.d.ts +57 -0
  158. package/dist/components/composer/composer-editor.js +4 -0
  159. package/dist/components/composer/composer-history.js +1 -0
  160. package/dist/components/composer/composer-options.d.ts +45 -0
  161. package/dist/components/composer/composer-options.js +1 -0
  162. package/dist/components/composer/composer-parts.d.ts +36 -0
  163. package/dist/components/composer/composer-parts.js +4 -0
  164. package/dist/components/composer/composer-parts.styles.js +4 -0
  165. package/dist/components/composer/composer-picker.d.ts +50 -0
  166. package/dist/components/composer/composer-picker.js +15 -0
  167. package/dist/components/composer/composer-progress-ring.js +1 -0
  168. package/dist/components/composer/composer-query.js +1 -0
  169. package/dist/components/composer/composer-scroll-area.js +1 -0
  170. package/dist/components/composer/composer-session.js +3 -0
  171. package/dist/components/composer/composer-value.d.ts +45 -0
  172. package/dist/components/composer/composer-value.js +1 -0
  173. package/dist/components/composer/composer.css +80 -0
  174. package/dist/components/composer/composer.d.ts +72 -0
  175. package/dist/components/composer/composer.js +3 -0
  176. package/dist/components/composer/composer.styles.js +2 -0
  177. package/dist/components/composer/use-composer-editor.d.ts +8 -0
  178. package/dist/components/composer/use-composer-editor.js +2 -0
  179. package/dist/components/context-menu/context-menu-items.d.ts +10 -0
  180. package/dist/components/context-menu/context-menu-items.js +2 -0
  181. package/dist/components/context-menu/context-menu-utils.js +1 -0
  182. package/dist/components/context-menu/context-menu.d.ts +22 -0
  183. package/dist/components/context-menu/context-menu.js +1 -0
  184. package/dist/components/context-menu/context-menu.types.d.ts +57 -0
  185. package/dist/components/context-menu/context-menu.types.js +1 -0
  186. package/dist/components/conversation/conversation.d.ts +41 -0
  187. package/dist/components/conversation/conversation.js +6 -0
  188. package/dist/components/conversation/conversation.styles.js +2 -0
  189. package/dist/components/data-table/data-table.d.ts +30 -0
  190. package/dist/components/data-table/data-table.js +13 -0
  191. package/dist/components/data-table/data-table.styles.js +1 -0
  192. package/dist/components/data-table/grid-navigation.js +10 -0
  193. package/dist/components/date-picker/date-picker-date.js +1 -0
  194. package/dist/components/date-picker/date-picker-icon.js +1 -0
  195. package/dist/components/date-picker/date-picker-state.js +1 -0
  196. package/dist/components/date-picker/date-picker.d.ts +4 -0
  197. package/dist/components/date-picker/date-picker.js +1 -0
  198. package/dist/components/date-picker/date-picker.styles.js +1 -0
  199. package/dist/components/date-picker/date-picker.types.d.ts +28 -0
  200. package/dist/components/date-picker/date-picker.types.js +1 -0
  201. package/dist/components/date-range-picker/date-range-picker-date.js +1 -0
  202. package/dist/components/date-range-picker/date-range-picker-state.js +1 -0
  203. package/dist/components/date-range-picker/date-range-picker-views.js +1 -0
  204. package/dist/components/date-range-picker/date-range-picker.d.ts +4 -0
  205. package/dist/components/date-range-picker/date-range-picker.js +1 -0
  206. package/dist/components/date-range-picker/date-range-picker.styles.js +1 -0
  207. package/dist/components/date-range-picker/date-range-picker.types.d.ts +37 -0
  208. package/dist/components/date-range-picker/date-range-picker.types.js +1 -0
  209. package/dist/components/date-time-input/date-time-input.d.ts +13 -0
  210. package/dist/components/date-time-input/date-time-input.js +1 -0
  211. package/dist/components/diagram/diagram-renderer.js +5 -0
  212. package/dist/components/diagram/diagram.css +51 -0
  213. package/dist/components/diagram/diagram.d.ts +11 -0
  214. package/dist/components/diagram/diagram.js +4 -0
  215. package/dist/components/diagram/diagram.styles.js +6 -0
  216. package/dist/components/dialog/dialog.d.ts +34 -0
  217. package/dist/components/dialog/dialog.js +1 -0
  218. package/dist/components/dialog/dialog.styles.js +1 -0
  219. package/dist/components/distribution/distribution.d.ts +16 -0
  220. package/dist/components/distribution/distribution.js +6 -0
  221. package/dist/components/distribution/distribution.styles.js +1 -0
  222. package/dist/components/drawer/drawer-affordance.styles.js +1 -0
  223. package/dist/components/drawer/drawer-bar.js +1 -0
  224. package/dist/components/drawer/drawer-content.js +1 -0
  225. package/dist/components/drawer/drawer-layout.js +1 -0
  226. package/dist/components/drawer/drawer-menu.d.ts +30 -0
  227. package/dist/components/drawer/drawer-menu.js +1 -0
  228. package/dist/components/drawer/drawer-menu.styles.js +1 -0
  229. package/dist/components/drawer/drawer-positions.styles.js +1 -0
  230. package/dist/components/drawer/drawer.context.js +1 -0
  231. package/dist/components/drawer/drawer.d.ts +22 -0
  232. package/dist/components/drawer/drawer.js +2 -0
  233. package/dist/components/drawer/drawer.styles.js +1 -0
  234. package/dist/components/drawer/drawer.types.d.ts +53 -0
  235. package/dist/components/drawer/drawer.types.js +1 -0
  236. package/dist/components/empty/empty.d.ts +18 -0
  237. package/dist/components/empty/empty.js +1 -0
  238. package/dist/components/empty/empty.styles.js +1 -0
  239. package/dist/components/error-state/error-state.d.ts +15 -0
  240. package/dist/components/error-state/error-state.js +1 -0
  241. package/dist/components/error-state/error-state.styles.js +1 -0
  242. package/dist/components/field/field-context.d.ts +33 -0
  243. package/dist/components/field/field-context.js +1 -0
  244. package/dist/components/field/field.d.ts +44 -0
  245. package/dist/components/field/field.js +3 -0
  246. package/dist/components/field/field.styles.js +1 -0
  247. package/dist/components/fieldset/fieldset.d.ts +14 -0
  248. package/dist/components/fieldset/fieldset.js +1 -0
  249. package/dist/components/fieldset/fieldset.styles.js +1 -0
  250. package/dist/components/file-upload/file-upload-context.js +1 -0
  251. package/dist/components/file-upload/file-upload-controls.d.ts +4 -0
  252. package/dist/components/file-upload/file-upload-controls.js +7 -0
  253. package/dist/components/file-upload/file-upload-item-preview.d.ts +5 -0
  254. package/dist/components/file-upload/file-upload-item-preview.js +3 -0
  255. package/dist/components/file-upload/file-upload-items.d.ts +8 -0
  256. package/dist/components/file-upload/file-upload-items.js +5 -0
  257. package/dist/components/file-upload/file-upload-motion.js +6 -0
  258. package/dist/components/file-upload/file-upload-validation.d.ts +18 -0
  259. package/dist/components/file-upload/file-upload-validation.js +1 -0
  260. package/dist/components/file-upload/file-upload.d.ts +19 -0
  261. package/dist/components/file-upload/file-upload.js +2 -0
  262. package/dist/components/file-upload/file-upload.styles.js +2 -0
  263. package/dist/components/file-upload/file-upload.types.d.ts +87 -0
  264. package/dist/components/file-upload/file-upload.types.js +1 -0
  265. package/dist/components/frame/frame.d.ts +13 -0
  266. package/dist/components/frame/frame.js +1 -0
  267. package/dist/components/frame/frame.styles.js +1 -0
  268. package/dist/components/funnel/funnel-flow.js +3 -0
  269. package/dist/components/funnel/funnel.d.ts +31 -0
  270. package/dist/components/funnel/funnel.js +4 -0
  271. package/dist/components/funnel/funnel.styles.js +1 -0
  272. package/dist/components/grid/grid.d.ts +5 -0
  273. package/dist/components/grid/grid.js +1 -0
  274. package/dist/components/grid/grid.styles.js +1 -0
  275. package/dist/components/group/group.d.ts +5 -0
  276. package/dist/components/group/group.js +1 -0
  277. package/dist/components/group/group.styles.js +1 -0
  278. package/dist/components/heading/heading.d.ts +10 -0
  279. package/dist/components/heading/heading.js +1 -0
  280. package/dist/components/heading/heading.styles.js +1 -0
  281. package/dist/components/heatmap/heatmap-scale.js +3 -0
  282. package/dist/components/heatmap/heatmap.d.ts +17 -0
  283. package/dist/components/heatmap/heatmap.js +2 -0
  284. package/dist/components/inline/inline.d.ts +5 -0
  285. package/dist/components/inline/inline.js +1 -0
  286. package/dist/components/inline/inline.styles.js +1 -0
  287. package/dist/components/inline-citation/citation-source.d.ts +27 -0
  288. package/dist/components/inline-citation/citation-source.js +13 -0
  289. package/dist/components/inline-citation/inline-citation.d.ts +22 -0
  290. package/dist/components/inline-citation/inline-citation.js +10 -0
  291. package/dist/components/inline-citation/inline-citation.styles.js +1 -0
  292. package/dist/components/input/input.d.ts +17 -0
  293. package/dist/components/input/input.js +3 -0
  294. package/dist/components/input/input.styles.js +1 -0
  295. package/dist/components/input-group/input-group.d.ts +17 -0
  296. package/dist/components/input-group/input-group.js +1 -0
  297. package/dist/components/input-group/input-group.styles.js +1 -0
  298. package/dist/components/kbd/kbd.d.ts +7 -0
  299. package/dist/components/kbd/kbd.js +1 -0
  300. package/dist/components/kbd/kbd.styles.js +1 -0
  301. package/dist/components/label/label.d.ts +5 -0
  302. package/dist/components/label/label.js +1 -0
  303. package/dist/components/label/label.styles.js +1 -0
  304. package/dist/components/lightbox/lightbox-gallery.d.ts +25 -0
  305. package/dist/components/lightbox/lightbox-gallery.js +6 -0
  306. package/dist/components/lightbox/lightbox.d.ts +30 -0
  307. package/dist/components/lightbox/lightbox.js +6 -0
  308. package/dist/components/lightbox/lightbox.styles.js +3 -0
  309. package/dist/components/link/link.d.ts +15 -0
  310. package/dist/components/link/link.js +1 -0
  311. package/dist/components/link/link.styles.js +1 -0
  312. package/dist/components/list/list.d.ts +10 -0
  313. package/dist/components/list/list.js +2 -0
  314. package/dist/components/list/list.styles.js +1 -0
  315. package/dist/components/markdown/markdown.d.ts +34 -0
  316. package/dist/components/markdown/markdown.js +8 -0
  317. package/dist/components/markdown/markdown.styles.js +1 -0
  318. package/dist/components/menu/menu-align-context.js +3 -0
  319. package/dist/components/menu/menu.d.ts +75 -0
  320. package/dist/components/menu/menu.js +2 -0
  321. package/dist/components/menu/menu.styles.js +1 -0
  322. package/dist/components/menubar/menubar.d.ts +13 -0
  323. package/dist/components/menubar/menubar.js +1 -0
  324. package/dist/components/menubar/menubar.styles.js +1 -0
  325. package/dist/components/message/message.d.ts +47 -0
  326. package/dist/components/message/message.js +16 -0
  327. package/dist/components/message/message.styles.js +3 -0
  328. package/dist/components/message-scroller/message-scroller-store.d.ts +58 -0
  329. package/dist/components/message-scroller/message-scroller-store.js +27 -0
  330. package/dist/components/message-scroller/message-scroller.d.ts +76 -0
  331. package/dist/components/message-scroller/message-scroller.js +30 -0
  332. package/dist/components/message-scroller/message-scroller.styles.js +4 -0
  333. package/dist/components/meter/meter.d.ts +30 -0
  334. package/dist/components/meter/meter.js +2 -0
  335. package/dist/components/meter/meter.styles.js +1 -0
  336. package/dist/components/metric/metric.d.ts +17 -0
  337. package/dist/components/metric/metric.js +4 -0
  338. package/dist/components/metric/metric.styles.js +1 -0
  339. package/dist/components/metric-trend/metric-trend.d.ts +26 -0
  340. package/dist/components/metric-trend/metric-trend.js +6 -0
  341. package/dist/components/metric-trend/metric-trend.styles.js +1 -0
  342. package/dist/components/navigation-menu/navigation-menu.d.ts +40 -0
  343. package/dist/components/navigation-menu/navigation-menu.js +1 -0
  344. package/dist/components/navigation-menu/navigation-menu.styles.js +1 -0
  345. package/dist/components/number-field/number-field-context.js +1 -0
  346. package/dist/components/number-field/number-field.d.ts +11 -0
  347. package/dist/components/number-field/number-field.js +1 -0
  348. package/dist/components/number-field/number-field.styles.js +1 -0
  349. package/dist/components/number-field/number-field.types.d.ts +30 -0
  350. package/dist/components/number-field/number-field.types.js +1 -0
  351. package/dist/components/otp-field/otp-field.d.ts +21 -0
  352. package/dist/components/otp-field/otp-field.js +1 -0
  353. package/dist/components/otp-field/otp-field.styles.js +1 -0
  354. package/dist/components/overflow-list/overflow-list.d.ts +10 -0
  355. package/dist/components/overflow-list/overflow-list.js +3 -0
  356. package/dist/components/overflow-list/overflow-list.styles.js +1 -0
  357. package/dist/components/pagination/pagination-link.d.ts +10 -0
  358. package/dist/components/pagination/pagination-link.js +1 -0
  359. package/dist/components/pagination/pagination.d.ts +22 -0
  360. package/dist/components/pagination/pagination.js +2 -0
  361. package/dist/components/pagination/pagination.styles.js +1 -0
  362. package/dist/components/part-to-whole/part-to-whole.d.ts +18 -0
  363. package/dist/components/part-to-whole/part-to-whole.js +2 -0
  364. package/dist/components/part-to-whole/part-to-whole.styles.js +1 -0
  365. package/dist/components/popover/popover.d.ts +33 -0
  366. package/dist/components/popover/popover.js +1 -0
  367. package/dist/components/popover/popover.styles.js +1 -0
  368. package/dist/components/preview-card/preview-card.d.ts +21 -0
  369. package/dist/components/preview-card/preview-card.js +1 -0
  370. package/dist/components/preview-card/preview-card.styles.js +1 -0
  371. package/dist/components/progress/progress.d.ts +28 -0
  372. package/dist/components/progress/progress.js +1 -0
  373. package/dist/components/progress/progress.styles.js +1 -0
  374. package/dist/components/progress-rings/progress-rings.d.ts +25 -0
  375. package/dist/components/progress-rings/progress-rings.js +2 -0
  376. package/dist/components/progress-rings/progress-rings.styles.js +1 -0
  377. package/dist/components/property-list/property-list.d.ts +9 -0
  378. package/dist/components/property-list/property-list.js +1 -0
  379. package/dist/components/property-list/property-list.styles.js +1 -0
  380. package/dist/components/question-card/question-card.d.ts +35 -0
  381. package/dist/components/question-card/question-card.js +13 -0
  382. package/dist/components/question-card/question-card.styles.js +1 -0
  383. package/dist/components/radar-chart/radar-chart.d.ts +28 -0
  384. package/dist/components/radar-chart/radar-chart.js +1 -0
  385. package/dist/components/radial-bars/radial-bars.d.ts +19 -0
  386. package/dist/components/radial-bars/radial-bars.js +8 -0
  387. package/dist/components/radio/radio-card.d.ts +15 -0
  388. package/dist/components/radio/radio-card.js +1 -0
  389. package/dist/components/radio/radio.d.ts +9 -0
  390. package/dist/components/radio/radio.js +1 -0
  391. package/dist/components/radio/radio.styles.js +1 -0
  392. package/dist/components/radio-group/radio-group.d.ts +3 -0
  393. package/dist/components/radio-group/radio-group.js +1 -0
  394. package/dist/components/sankey-chart/sankey-chart.d.ts +16 -0
  395. package/dist/components/sankey-chart/sankey-chart.js +1 -0
  396. package/dist/components/sankey-chart/sankey-layout.d.ts +34 -0
  397. package/dist/components/sankey-chart/sankey-layout.js +5 -0
  398. package/dist/components/scatter-chart/scatter-chart.d.ts +30 -0
  399. package/dist/components/scatter-chart/scatter-chart.js +6 -0
  400. package/dist/components/scatter-chart/scatter-chart.styles.js +1 -0
  401. package/dist/components/score-gauge/score-gauge.d.ts +24 -0
  402. package/dist/components/score-gauge/score-gauge.js +8 -0
  403. package/dist/components/score-gauge/score-gauge.styles.js +1 -0
  404. package/dist/components/scroll-area/scroll-area.d.ts +26 -0
  405. package/dist/components/scroll-area/scroll-area.js +1 -0
  406. package/dist/components/scroll-area/scroll-area.styles.js +2 -0
  407. package/dist/components/section/section.d.ts +5 -0
  408. package/dist/components/section/section.js +1 -0
  409. package/dist/components/section/section.styles.js +1 -0
  410. package/dist/components/segmented-control/segmented-control.d.ts +10 -0
  411. package/dist/components/segmented-control/segmented-control.js +1 -0
  412. package/dist/components/segmented-control/segmented-control.styles.js +1 -0
  413. package/dist/components/select/select.d.ts +55 -0
  414. package/dist/components/select/select.js +1 -0
  415. package/dist/components/select/select.styles.js +1 -0
  416. package/dist/components/separator/separator.d.ts +5 -0
  417. package/dist/components/separator/separator.js +1 -0
  418. package/dist/components/separator/separator.styles.js +1 -0
  419. package/dist/components/sheet/sheet-layout.js +1 -0
  420. package/dist/components/sheet/sheet-positions.styles.js +1 -0
  421. package/dist/components/sheet/sheet.d.ts +15 -0
  422. package/dist/components/sheet/sheet.js +1 -0
  423. package/dist/components/sheet/sheet.styles.js +1 -0
  424. package/dist/components/sheet/sheet.types.d.ts +32 -0
  425. package/dist/components/sheet/sheet.types.js +1 -0
  426. package/dist/components/skeleton/skeleton.d.ts +8 -0
  427. package/dist/components/skeleton/skeleton.js +1 -0
  428. package/dist/components/skeleton/skeleton.styles.js +1 -0
  429. package/dist/components/slider/slider-context.d.ts +23 -0
  430. package/dist/components/slider/slider-context.js +9 -0
  431. package/dist/components/slider/slider-default-anatomy.js +1 -0
  432. package/dist/components/slider/slider-ref-utils.js +1 -0
  433. package/dist/components/slider/slider-slot.js +1 -0
  434. package/dist/components/slider/slider.d.ts +15 -0
  435. package/dist/components/slider/slider.js +1 -0
  436. package/dist/components/slider/slider.styles.js +1 -0
  437. package/dist/components/slider/slider.types.d.ts +36 -0
  438. package/dist/components/slider/slider.types.js +1 -0
  439. package/dist/components/sources/sources.d.ts +22 -0
  440. package/dist/components/sources/sources.js +6 -0
  441. package/dist/components/sources/sources.styles.js +3 -0
  442. package/dist/components/spacer/spacer.d.ts +5 -0
  443. package/dist/components/spacer/spacer.js +1 -0
  444. package/dist/components/spacer/spacer.styles.js +1 -0
  445. package/dist/components/spinner/spinner.d.ts +18 -0
  446. package/dist/components/spinner/spinner.js +9 -0
  447. package/dist/components/spinner/spinner.styles.js +11 -0
  448. package/dist/components/stack/stack.d.ts +9 -0
  449. package/dist/components/stack/stack.js +1 -0
  450. package/dist/components/stack/stack.styles.d.ts +76 -0
  451. package/dist/components/stack/stack.styles.js +2 -0
  452. package/dist/components/status-dot/status-dot.d.ts +9 -0
  453. package/dist/components/status-dot/status-dot.js +1 -0
  454. package/dist/components/status-dot/status-dot.styles.js +1 -0
  455. package/dist/components/stepper/stepper.d.ts +42 -0
  456. package/dist/components/stepper/stepper.js +2 -0
  457. package/dist/components/stepper/stepper.styles.js +1 -0
  458. package/dist/components/streaming-text/streaming-text-words.d.ts +29 -0
  459. package/dist/components/streaming-text/streaming-text-words.js +19 -0
  460. package/dist/components/streaming-text/streaming-text.d.ts +35 -0
  461. package/dist/components/streaming-text/streaming-text.js +13 -0
  462. package/dist/components/streaming-text/streaming-text.styles.js +6 -0
  463. package/dist/components/suggestion/suggestion.d.ts +23 -0
  464. package/dist/components/suggestion/suggestion.js +7 -0
  465. package/dist/components/suggestion/suggestion.styles.js +3 -0
  466. package/dist/components/switch/switch.d.ts +12 -0
  467. package/dist/components/switch/switch.js +1 -0
  468. package/dist/components/switch/switch.styles.js +1 -0
  469. package/dist/components/table/table.d.ts +64 -0
  470. package/dist/components/table/table.js +1 -0
  471. package/dist/components/table/table.styles.js +1 -0
  472. package/dist/components/tabs/tabs.d.ts +32 -0
  473. package/dist/components/tabs/tabs.js +1 -0
  474. package/dist/components/tabs/tabs.styles.js +1 -0
  475. package/dist/components/task-list/task-list.d.ts +34 -0
  476. package/dist/components/task-list/task-list.js +10 -0
  477. package/dist/components/task-list/task-list.styles.js +2 -0
  478. package/dist/components/terminal/ansi.js +11 -0
  479. package/dist/components/terminal/terminal.d.ts +23 -0
  480. package/dist/components/terminal/terminal.js +15 -0
  481. package/dist/components/terminal/terminal.styles.js +1 -0
  482. package/dist/components/text/text.d.ts +11 -0
  483. package/dist/components/text/text.js +1 -0
  484. package/dist/components/text/text.styles.js +1 -0
  485. package/dist/components/textarea/textarea.d.ts +13 -0
  486. package/dist/components/textarea/textarea.js +3 -0
  487. package/dist/components/textarea/textarea.styles.js +1 -0
  488. package/dist/components/thumbnail/thumbnail.d.ts +9 -0
  489. package/dist/components/thumbnail/thumbnail.js +2 -0
  490. package/dist/components/thumbnail/thumbnail.styles.js +1 -0
  491. package/dist/components/time-input/time-input.d.ts +13 -0
  492. package/dist/components/time-input/time-input.js +1 -0
  493. package/dist/components/time-series/time-format.d.ts +16 -0
  494. package/dist/components/time-series/time-format.js +10 -0
  495. package/dist/components/time-series/time-series.d.ts +30 -0
  496. package/dist/components/time-series/time-series.js +10 -0
  497. package/dist/components/time-series/time-series.styles.js +1 -0
  498. package/dist/components/timestamp/timestamp.d.ts +15 -0
  499. package/dist/components/timestamp/timestamp.js +4 -0
  500. package/dist/components/timestamp/timestamp.styles.js +1 -0
  501. package/dist/components/toast/toast-anchored.styles.js +1 -0
  502. package/dist/components/toast/toast-animation.styles.js +1 -0
  503. package/dist/components/toast/toast-icons.js +1 -0
  504. package/dist/components/toast/toast-stacked.styles.js +1 -0
  505. package/dist/components/toast/toast-utils.js +1 -0
  506. package/dist/components/toast/toast-views.js +1 -0
  507. package/dist/components/toast/toast.d.ts +8 -0
  508. package/dist/components/toast/toast.js +1 -0
  509. package/dist/components/toast/toast.styles.js +1 -0
  510. package/dist/components/toast/toast.types.d.ts +18 -0
  511. package/dist/components/toast/toast.types.js +1 -0
  512. package/dist/components/toggle/toggle-colors.stylex.js +2 -0
  513. package/dist/components/toggle/toggle.d.ts +33 -0
  514. package/dist/components/toggle/toggle.js +1 -0
  515. package/dist/components/toggle/toggle.styles.js +1 -0
  516. package/dist/components/token/token.d.ts +16 -0
  517. package/dist/components/token/token.js +1 -0
  518. package/dist/components/token/token.styles.js +1 -0
  519. package/dist/components/tool-call/tool-call-group.d.ts +17 -0
  520. package/dist/components/tool-call/tool-call-group.js +6 -0
  521. package/dist/components/tool-call/tool-call.d.ts +36 -0
  522. package/dist/components/tool-call/tool-call.js +12 -0
  523. package/dist/components/tool-call/tool-call.styles.js +3 -0
  524. package/dist/components/toolbar/toolbar-context.js +2 -0
  525. package/dist/components/toolbar/toolbar.d.ts +37 -0
  526. package/dist/components/toolbar/toolbar.js +1 -0
  527. package/dist/components/toolbar/toolbar.styles.js +1 -0
  528. package/dist/components/tooltip/tooltip.d.ts +25 -0
  529. package/dist/components/tooltip/tooltip.js +1 -0
  530. package/dist/components/tooltip/tooltip.styles.js +1 -0
  531. package/dist/components/tree/tree.d.ts +31 -0
  532. package/dist/components/tree/tree.js +5 -0
  533. package/dist/components/tree/tree.styles.js +3 -0
  534. package/dist/components/visually-hidden/visually-hidden.d.ts +6 -0
  535. package/dist/components/visually-hidden/visually-hidden.js +1 -0
  536. package/dist/components/visually-hidden/visually-hidden.styles.js +1 -0
  537. package/dist/control-label.js +3 -0
  538. package/dist/copy-button.js +1 -0
  539. package/dist/form.d.ts +2 -0
  540. package/dist/form.js +2 -0
  541. package/dist/icon-masks.stylex.js +3 -0
  542. package/dist/icons.js +5 -0
  543. package/dist/index.d.ts +275 -0
  544. package/dist/index.js +1 -0
  545. package/dist/loading-indicator.js +3 -0
  546. package/dist/motion.js +9 -0
  547. package/dist/ref-utils.js +1 -0
  548. package/dist/render-utils.js +3 -0
  549. package/dist/styles/application-structure.stylex.js +1 -0
  550. package/dist/styles/colors.stylex.d.ts +50 -0
  551. package/dist/styles/colors.stylex.js +1 -0
  552. package/dist/styles/conditions.stylex.d.ts +9 -0
  553. package/dist/styles/conditions.stylex.js +1 -0
  554. package/dist/styles/dimensions.stylex.d.ts +14 -0
  555. package/dist/styles/dimensions.stylex.js +1 -0
  556. package/dist/styles/floating-item-colors.stylex.js +1 -0
  557. package/dist/styles/fonts.stylex.d.ts +5 -0
  558. package/dist/styles/fonts.stylex.js +1 -0
  559. package/dist/styles/interaction.stylex.d.ts +23 -0
  560. package/dist/styles/interaction.stylex.js +4 -0
  561. package/dist/styles/motion.stylex.d.ts +22 -0
  562. package/dist/styles/motion.stylex.js +3 -0
  563. package/dist/styles/overlay-layers.styles.js +1 -0
  564. package/dist/styles/palette.stylex.d.ts +26 -0
  565. package/dist/styles/palette.stylex.js +1 -0
  566. package/dist/styles/shadows.stylex.d.ts +10 -0
  567. package/dist/styles/shadows.stylex.js +1 -0
  568. package/dist/styles/shape.stylex.d.ts +9 -0
  569. package/dist/styles/shape.stylex.js +1 -0
  570. package/dist/styles/spacing.stylex.d.ts +14 -0
  571. package/dist/styles/spacing.stylex.js +3 -0
  572. package/dist/styles/themes.d.ts +49 -0
  573. package/dist/styles/themes.js +1 -0
  574. package/dist/styles/typography.styles.d.ts +90 -0
  575. package/dist/styles/typography.styles.js +8 -0
  576. package/dist/styles/typography.stylex.d.ts +35 -0
  577. package/dist/styles/typography.stylex.js +5 -0
  578. package/dist/styles.css +2125 -0
  579. package/dist/theme/index.d.ts +11 -0
  580. package/dist/theme/index.js +1 -0
  581. package/dist/theme/initialize.d.ts +4 -0
  582. package/dist/theme/initialize.js +1 -0
  583. package/dist/theme/theme-provider.d.ts +3 -0
  584. package/dist/theme/theme-provider.js +4 -0
  585. package/dist/theme/theme-root.js +1 -0
  586. package/dist/theme/theme-script.d.ts +3 -0
  587. package/dist/theme/theme-script.js +1 -0
  588. package/dist/theme/theme-storage.js +1 -0
  589. package/dist/theme/theme-tokens.js +1 -0
  590. package/dist/theme/theme-transition-guard.js +1 -0
  591. package/dist/theme/types.d.ts +25 -0
  592. package/dist/theme/types.js +1 -0
  593. package/dist/use-copy-to-clipboard.d.ts +17 -0
  594. package/dist/use-copy-to-clipboard.js +6 -0
  595. package/dist/use-elapsed.js +4 -0
  596. package/package.json +769 -3
  597. package/src/closed.ts +7 -0
  598. package/src/components/accordion/accordion.styles.ts +246 -0
  599. package/src/components/accordion/accordion.tsx +221 -0
  600. package/src/components/activity-feed/activity-feed.styles.ts +135 -0
  601. package/src/components/activity-feed/activity-feed.tsx +182 -0
  602. package/src/components/agent-thinking/agent-thinking.styles.ts +140 -0
  603. package/src/components/agent-thinking/agent-thinking.tsx +275 -0
  604. package/src/components/alert/alert.styles.ts +135 -0
  605. package/src/components/alert/alert.stylex.ts +6 -0
  606. package/src/components/alert/alert.tsx +123 -0
  607. package/src/components/alert-dialog/alert-dialog.styles.ts +29 -0
  608. package/src/components/alert-dialog/alert-dialog.tsx +197 -0
  609. package/src/components/approval-card/approval-card.styles.ts +69 -0
  610. package/src/components/approval-card/approval-card.tsx +379 -0
  611. package/src/components/area-chart/area-chart.styles.ts +14 -0
  612. package/src/components/area-chart/area-chart.tsx +571 -0
  613. package/src/components/aspect-ratio/aspect-ratio.styles.ts +20 -0
  614. package/src/components/aspect-ratio/aspect-ratio.tsx +43 -0
  615. package/src/components/attachment/attachment.styles.ts +71 -0
  616. package/src/components/attachment/attachment.tsx +132 -0
  617. package/src/components/avatar/avatar-character.styles.ts +32 -0
  618. package/src/components/avatar/avatar.styles.ts +118 -0
  619. package/src/components/avatar/avatar.tsx +262 -0
  620. package/src/components/badge/badge.styles.ts +116 -0
  621. package/src/components/badge/badge.tsx +66 -0
  622. package/src/components/bar-list/bar-list.styles.ts +72 -0
  623. package/src/components/bar-list/bar-list.tsx +157 -0
  624. package/src/components/blockquote/blockquote.styles.ts +26 -0
  625. package/src/components/blockquote/blockquote.tsx +75 -0
  626. package/src/components/breadcrumb/breadcrumb-link.tsx +32 -0
  627. package/src/components/breadcrumb/breadcrumb.styles.ts +114 -0
  628. package/src/components/breadcrumb/breadcrumb.tsx +137 -0
  629. package/src/components/button/button-colors.stylex.ts +7 -0
  630. package/src/components/button/button.css +16 -0
  631. package/src/components/button/button.css.d.ts +1 -0
  632. package/src/components/button/button.styles.ts +457 -0
  633. package/src/components/button/button.tsx +168 -0
  634. package/src/components/button-group/button-group.css +115 -0
  635. package/src/components/button-group/button-group.styles.ts +24 -0
  636. package/src/components/button-group/button-group.tsx +46 -0
  637. package/src/components/calendar/calendar-components.tsx +187 -0
  638. package/src/components/calendar/calendar-context.ts +16 -0
  639. package/src/components/calendar/calendar-dropdowns.tsx +84 -0
  640. package/src/components/calendar/calendar-utils.ts +67 -0
  641. package/src/components/calendar/calendar.styles.ts +270 -0
  642. package/src/components/calendar/calendar.tsx +244 -0
  643. package/src/components/calendar/calendar.types.ts +55 -0
  644. package/src/components/calendar-heatmap/calendar-heatmap.tsx +384 -0
  645. package/src/components/card/card.styles.ts +122 -0
  646. package/src/components/card/card.tsx +154 -0
  647. package/src/components/carousel/carousel.styles.ts +142 -0
  648. package/src/components/carousel/carousel.tsx +786 -0
  649. package/src/components/category-comparison/category-comparison.styles.ts +14 -0
  650. package/src/components/category-comparison/category-comparison.tsx +567 -0
  651. package/src/components/chart-frame/arc-path.ts +33 -0
  652. package/src/components/chart-frame/chart-assert.ts +47 -0
  653. package/src/components/chart-frame/chart-colors.ts +14 -0
  654. package/src/components/chart-frame/chart-crosshair.ts +129 -0
  655. package/src/components/chart-frame/chart-data-table.tsx +15 -0
  656. package/src/components/chart-frame/chart-frame.styles.ts +48 -0
  657. package/src/components/chart-frame/chart-frame.tsx +223 -0
  658. package/src/components/chart-frame/chart-hover.tsx +127 -0
  659. package/src/components/chart-frame/chart-loading.tsx +130 -0
  660. package/src/components/chart-frame/ring-graphic.tsx +100 -0
  661. package/src/components/chart-legend/chart-legend.styles.ts +80 -0
  662. package/src/components/chart-legend/chart-legend.tsx +107 -0
  663. package/src/components/chart-tooltip/chart-tooltip.styles.ts +71 -0
  664. package/src/components/chart-tooltip/chart-tooltip.tsx +94 -0
  665. package/src/components/checkbox/checkbox-card.styles.ts +75 -0
  666. package/src/components/checkbox/checkbox-card.tsx +71 -0
  667. package/src/components/checkbox/checkbox.styles.ts +199 -0
  668. package/src/components/checkbox/checkbox.tsx +104 -0
  669. package/src/components/checkbox-group/checkbox-group.styles.ts +11 -0
  670. package/src/components/checkbox-group/checkbox-group.tsx +29 -0
  671. package/src/components/citation/citation.styles.ts +7 -0
  672. package/src/components/citation/citation.tsx +30 -0
  673. package/src/components/code/code.styles.ts +22 -0
  674. package/src/components/code/code.tsx +22 -0
  675. package/src/components/code-block/code-block-copy.tsx +62 -0
  676. package/src/components/code-block/code-block-highlight.tsx +69 -0
  677. package/src/components/code-block/code-block.styles.ts +129 -0
  678. package/src/components/code-block/code-block.tsx +128 -0
  679. package/src/components/collapsible/collapsible.styles.ts +22 -0
  680. package/src/components/collapsible/collapsible.tsx +109 -0
  681. package/src/components/combobox/combobox-chips.styles.ts +182 -0
  682. package/src/components/combobox/combobox-chips.tsx +164 -0
  683. package/src/components/combobox/combobox-context.tsx +26 -0
  684. package/src/components/combobox/combobox-field.styles.ts +156 -0
  685. package/src/components/combobox/combobox-input.tsx +185 -0
  686. package/src/components/combobox/combobox-popup.styles.ts +190 -0
  687. package/src/components/combobox/combobox-popup.tsx +113 -0
  688. package/src/components/combobox/combobox-structure.tsx +138 -0
  689. package/src/components/combobox/combobox.tsx +162 -0
  690. package/src/components/combobox/combobox.types.ts +77 -0
  691. package/src/components/command/command-dialog.styles.ts +43 -0
  692. package/src/components/command/command-dialog.tsx +126 -0
  693. package/src/components/command/command-field.styles.ts +59 -0
  694. package/src/components/command/command-input.tsx +59 -0
  695. package/src/components/command/command-items.styles.ts +169 -0
  696. package/src/components/command/command-items.tsx +99 -0
  697. package/src/components/command/command-structure.tsx +172 -0
  698. package/src/components/command/command.tsx +157 -0
  699. package/src/components/command/command.types.ts +58 -0
  700. package/src/components/composer/attachment-marker.stylex.ts +4 -0
  701. package/src/components/composer/composer-clipboard.ts +49 -0
  702. package/src/components/composer/composer-context-meter.tsx +179 -0
  703. package/src/components/composer/composer-dictation.tsx +56 -0
  704. package/src/components/composer/composer-document.ts +508 -0
  705. package/src/components/composer/composer-editor.ts +544 -0
  706. package/src/components/composer/composer-history.ts +74 -0
  707. package/src/components/composer/composer-options.ts +51 -0
  708. package/src/components/composer/composer-parts.styles.ts +456 -0
  709. package/src/components/composer/composer-parts.tsx +245 -0
  710. package/src/components/composer/composer-picker.tsx +375 -0
  711. package/src/components/composer/composer-progress-ring.tsx +44 -0
  712. package/src/components/composer/composer-query.ts +52 -0
  713. package/src/components/composer/composer-scroll-area.tsx +29 -0
  714. package/src/components/composer/composer-session.ts +593 -0
  715. package/src/components/composer/composer-value.ts +46 -0
  716. package/src/components/composer/composer.css +80 -0
  717. package/src/components/composer/composer.styles.ts +236 -0
  718. package/src/components/composer/composer.tsx +581 -0
  719. package/src/components/composer/use-composer-editor.ts +153 -0
  720. package/src/components/context-menu/context-menu-items.tsx +230 -0
  721. package/src/components/context-menu/context-menu-utils.tsx +65 -0
  722. package/src/components/context-menu/context-menu.tsx +198 -0
  723. package/src/components/context-menu/context-menu.types.ts +97 -0
  724. package/src/components/conversation/conversation.styles.ts +56 -0
  725. package/src/components/conversation/conversation.tsx +142 -0
  726. package/src/components/data-table/data-table.styles.ts +63 -0
  727. package/src/components/data-table/data-table.tsx +723 -0
  728. package/src/components/data-table/grid-navigation.ts +186 -0
  729. package/src/components/date-picker/date-picker-date.ts +142 -0
  730. package/src/components/date-picker/date-picker-icon.tsx +6 -0
  731. package/src/components/date-picker/date-picker-state.ts +193 -0
  732. package/src/components/date-picker/date-picker.styles.ts +53 -0
  733. package/src/components/date-picker/date-picker.tsx +213 -0
  734. package/src/components/date-picker/date-picker.types.ts +32 -0
  735. package/src/components/date-range-picker/date-range-picker-date.ts +191 -0
  736. package/src/components/date-range-picker/date-range-picker-state.ts +235 -0
  737. package/src/components/date-range-picker/date-range-picker-views.tsx +144 -0
  738. package/src/components/date-range-picker/date-range-picker.styles.ts +80 -0
  739. package/src/components/date-range-picker/date-range-picker.tsx +208 -0
  740. package/src/components/date-range-picker/date-range-picker.types.ts +41 -0
  741. package/src/components/date-time-input/date-time-input.tsx +30 -0
  742. package/src/components/diagram/diagram-renderer.ts +35 -0
  743. package/src/components/diagram/diagram.css +51 -0
  744. package/src/components/diagram/diagram.styles.ts +130 -0
  745. package/src/components/diagram/diagram.tsx +238 -0
  746. package/src/components/dialog/dialog.styles.ts +226 -0
  747. package/src/components/dialog/dialog.tsx +227 -0
  748. package/src/components/distribution/distribution.styles.ts +14 -0
  749. package/src/components/distribution/distribution.tsx +450 -0
  750. package/src/components/drawer/drawer-affordance.styles.ts +61 -0
  751. package/src/components/drawer/drawer-bar.tsx +53 -0
  752. package/src/components/drawer/drawer-content.tsx +25 -0
  753. package/src/components/drawer/drawer-layout.tsx +129 -0
  754. package/src/components/drawer/drawer-menu.styles.ts +52 -0
  755. package/src/components/drawer/drawer-menu.tsx +222 -0
  756. package/src/components/drawer/drawer-positions.styles.ts +138 -0
  757. package/src/components/drawer/drawer.context.tsx +25 -0
  758. package/src/components/drawer/drawer.styles.ts +233 -0
  759. package/src/components/drawer/drawer.tsx +278 -0
  760. package/src/components/drawer/drawer.types.ts +85 -0
  761. package/src/components/empty/empty.styles.ts +118 -0
  762. package/src/components/empty/empty.tsx +175 -0
  763. package/src/components/error-state/error-state.styles.ts +97 -0
  764. package/src/components/error-state/error-state.tsx +151 -0
  765. package/src/components/field/field-context.ts +83 -0
  766. package/src/components/field/field.styles.ts +141 -0
  767. package/src/components/field/field.tsx +212 -0
  768. package/src/components/fieldset/fieldset.styles.ts +28 -0
  769. package/src/components/fieldset/fieldset.tsx +68 -0
  770. package/src/components/file-upload/file-upload-context.tsx +191 -0
  771. package/src/components/file-upload/file-upload-controls.tsx +280 -0
  772. package/src/components/file-upload/file-upload-item-preview.tsx +56 -0
  773. package/src/components/file-upload/file-upload-items.tsx +339 -0
  774. package/src/components/file-upload/file-upload-motion.ts +85 -0
  775. package/src/components/file-upload/file-upload-validation.ts +141 -0
  776. package/src/components/file-upload/file-upload.styles.ts +426 -0
  777. package/src/components/file-upload/file-upload.tsx +278 -0
  778. package/src/components/file-upload/file-upload.types.ts +161 -0
  779. package/src/components/frame/frame.styles.ts +66 -0
  780. package/src/components/frame/frame.tsx +126 -0
  781. package/src/components/funnel/funnel-flow.tsx +198 -0
  782. package/src/components/funnel/funnel.styles.ts +73 -0
  783. package/src/components/funnel/funnel.tsx +177 -0
  784. package/src/components/grid/grid.styles.ts +15 -0
  785. package/src/components/grid/grid.tsx +22 -0
  786. package/src/components/group/group.styles.ts +13 -0
  787. package/src/components/group/group.tsx +22 -0
  788. package/src/components/heading/heading.styles.ts +10 -0
  789. package/src/components/heading/heading.tsx +52 -0
  790. package/src/components/heatmap/heatmap-scale.tsx +92 -0
  791. package/src/components/heatmap/heatmap.tsx +402 -0
  792. package/src/components/inline/inline.styles.ts +13 -0
  793. package/src/components/inline/inline.tsx +22 -0
  794. package/src/components/inline-citation/citation-source.tsx +105 -0
  795. package/src/components/inline-citation/inline-citation.styles.ts +94 -0
  796. package/src/components/inline-citation/inline-citation.tsx +199 -0
  797. package/src/components/input/input.styles.ts +95 -0
  798. package/src/components/input/input.tsx +147 -0
  799. package/src/components/input-group/input-group.styles.ts +183 -0
  800. package/src/components/input-group/input-group.tsx +215 -0
  801. package/src/components/kbd/kbd.styles.ts +42 -0
  802. package/src/components/kbd/kbd.tsx +70 -0
  803. package/src/components/label/label.styles.ts +8 -0
  804. package/src/components/label/label.tsx +29 -0
  805. package/src/components/lightbox/lightbox-gallery.tsx +208 -0
  806. package/src/components/lightbox/lightbox.styles.ts +196 -0
  807. package/src/components/lightbox/lightbox.tsx +137 -0
  808. package/src/components/link/link.styles.ts +41 -0
  809. package/src/components/link/link.tsx +48 -0
  810. package/src/components/list/list.styles.ts +49 -0
  811. package/src/components/list/list.tsx +105 -0
  812. package/src/components/markdown/markdown.styles.ts +104 -0
  813. package/src/components/markdown/markdown.tsx +268 -0
  814. package/src/components/menu/menu-align-context.ts +8 -0
  815. package/src/components/menu/menu.styles.ts +281 -0
  816. package/src/components/menu/menu.tsx +485 -0
  817. package/src/components/menubar/menubar.styles.ts +97 -0
  818. package/src/components/menubar/menubar.tsx +89 -0
  819. package/src/components/message/message.styles.ts +145 -0
  820. package/src/components/message/message.tsx +501 -0
  821. package/src/components/message-scroller/message-scroller-store.ts +457 -0
  822. package/src/components/message-scroller/message-scroller.styles.ts +177 -0
  823. package/src/components/message-scroller/message-scroller.tsx +417 -0
  824. package/src/components/meter/meter.styles.ts +48 -0
  825. package/src/components/meter/meter.tsx +176 -0
  826. package/src/components/metric/metric.styles.ts +64 -0
  827. package/src/components/metric/metric.tsx +134 -0
  828. package/src/components/metric-trend/metric-trend.styles.ts +103 -0
  829. package/src/components/metric-trend/metric-trend.tsx +188 -0
  830. package/src/components/navigation-menu/navigation-menu.styles.ts +183 -0
  831. package/src/components/navigation-menu/navigation-menu.tsx +255 -0
  832. package/src/components/number-field/number-field-context.tsx +46 -0
  833. package/src/components/number-field/number-field.styles.ts +229 -0
  834. package/src/components/number-field/number-field.tsx +268 -0
  835. package/src/components/number-field/number-field.types.ts +46 -0
  836. package/src/components/otp-field/otp-field.styles.ts +138 -0
  837. package/src/components/otp-field/otp-field.tsx +174 -0
  838. package/src/components/overflow-list/overflow-list.styles.ts +25 -0
  839. package/src/components/overflow-list/overflow-list.tsx +84 -0
  840. package/src/components/pagination/pagination-link.tsx +96 -0
  841. package/src/components/pagination/pagination.styles.ts +137 -0
  842. package/src/components/pagination/pagination.tsx +153 -0
  843. package/src/components/part-to-whole/part-to-whole.styles.ts +56 -0
  844. package/src/components/part-to-whole/part-to-whole.tsx +329 -0
  845. package/src/components/popover/popover.styles.ts +177 -0
  846. package/src/components/popover/popover.tsx +197 -0
  847. package/src/components/preview-card/preview-card.styles.ts +61 -0
  848. package/src/components/preview-card/preview-card.tsx +94 -0
  849. package/src/components/progress/progress.styles.ts +82 -0
  850. package/src/components/progress/progress.tsx +153 -0
  851. package/src/components/progress-rings/progress-rings.styles.ts +65 -0
  852. package/src/components/progress-rings/progress-rings.tsx +163 -0
  853. package/src/components/property-list/property-list.styles.ts +49 -0
  854. package/src/components/property-list/property-list.tsx +91 -0
  855. package/src/components/question-card/question-card.styles.ts +106 -0
  856. package/src/components/question-card/question-card.tsx +525 -0
  857. package/src/components/radar-chart/radar-chart.tsx +281 -0
  858. package/src/components/radial-bars/radial-bars.tsx +197 -0
  859. package/src/components/radio/radio-card.tsx +57 -0
  860. package/src/components/radio/radio.styles.ts +57 -0
  861. package/src/components/radio/radio.tsx +61 -0
  862. package/src/components/radio-group/radio-group.tsx +29 -0
  863. package/src/components/sankey-chart/sankey-chart.tsx +340 -0
  864. package/src/components/sankey-chart/sankey-layout.ts +107 -0
  865. package/src/components/scatter-chart/scatter-chart.styles.ts +7 -0
  866. package/src/components/scatter-chart/scatter-chart.tsx +509 -0
  867. package/src/components/score-gauge/score-gauge.styles.ts +77 -0
  868. package/src/components/score-gauge/score-gauge.tsx +236 -0
  869. package/src/components/scroll-area/scroll-area.styles.ts +174 -0
  870. package/src/components/scroll-area/scroll-area.tsx +202 -0
  871. package/src/components/section/section.styles.ts +11 -0
  872. package/src/components/section/section.tsx +29 -0
  873. package/src/components/segmented-control/segmented-control.styles.ts +107 -0
  874. package/src/components/segmented-control/segmented-control.tsx +98 -0
  875. package/src/components/select/select.styles.ts +295 -0
  876. package/src/components/select/select.tsx +335 -0
  877. package/src/components/separator/separator.styles.ts +14 -0
  878. package/src/components/separator/separator.tsx +24 -0
  879. package/src/components/sheet/sheet-layout.tsx +92 -0
  880. package/src/components/sheet/sheet-positions.styles.ts +104 -0
  881. package/src/components/sheet/sheet.styles.ts +209 -0
  882. package/src/components/sheet/sheet.tsx +182 -0
  883. package/src/components/sheet/sheet.types.ts +67 -0
  884. package/src/components/skeleton/skeleton.styles.ts +52 -0
  885. package/src/components/skeleton/skeleton.tsx +35 -0
  886. package/src/components/slider/slider-context.tsx +414 -0
  887. package/src/components/slider/slider-default-anatomy.tsx +71 -0
  888. package/src/components/slider/slider-ref-utils.ts +16 -0
  889. package/src/components/slider/slider-slot.ts +7 -0
  890. package/src/components/slider/slider.styles.ts +368 -0
  891. package/src/components/slider/slider.tsx +303 -0
  892. package/src/components/slider/slider.types.ts +57 -0
  893. package/src/components/sources/sources.styles.ts +105 -0
  894. package/src/components/sources/sources.tsx +150 -0
  895. package/src/components/spacer/spacer.styles.ts +11 -0
  896. package/src/components/spacer/spacer.tsx +25 -0
  897. package/src/components/spinner/spinner.styles.ts +231 -0
  898. package/src/components/spinner/spinner.tsx +153 -0
  899. package/src/components/stack/stack.styles.ts +37 -0
  900. package/src/components/stack/stack.tsx +34 -0
  901. package/src/components/status-dot/status-dot.styles.ts +27 -0
  902. package/src/components/status-dot/status-dot.tsx +55 -0
  903. package/src/components/stepper/stepper.styles.ts +564 -0
  904. package/src/components/stepper/stepper.tsx +349 -0
  905. package/src/components/streaming-text/streaming-text-words.tsx +275 -0
  906. package/src/components/streaming-text/streaming-text.styles.ts +166 -0
  907. package/src/components/streaming-text/streaming-text.tsx +299 -0
  908. package/src/components/suggestion/suggestion.styles.ts +55 -0
  909. package/src/components/suggestion/suggestion.tsx +125 -0
  910. package/src/components/switch/switch.styles.ts +195 -0
  911. package/src/components/switch/switch.tsx +69 -0
  912. package/src/components/table/table.styles.ts +198 -0
  913. package/src/components/table/table.tsx +290 -0
  914. package/src/components/tabs/tabs.styles.ts +245 -0
  915. package/src/components/tabs/tabs.tsx +186 -0
  916. package/src/components/task-list/task-list.styles.ts +82 -0
  917. package/src/components/task-list/task-list.tsx +430 -0
  918. package/src/components/terminal/ansi.ts +86 -0
  919. package/src/components/terminal/terminal.styles.ts +20 -0
  920. package/src/components/terminal/terminal.tsx +339 -0
  921. package/src/components/text/text.styles.ts +8 -0
  922. package/src/components/text/text.tsx +47 -0
  923. package/src/components/textarea/textarea.styles.ts +85 -0
  924. package/src/components/textarea/textarea.tsx +163 -0
  925. package/src/components/thumbnail/thumbnail.styles.ts +33 -0
  926. package/src/components/thumbnail/thumbnail.tsx +63 -0
  927. package/src/components/time-input/time-input.tsx +30 -0
  928. package/src/components/time-series/time-format.ts +172 -0
  929. package/src/components/time-series/time-series.styles.ts +18 -0
  930. package/src/components/time-series/time-series.tsx +521 -0
  931. package/src/components/timestamp/timestamp.styles.ts +9 -0
  932. package/src/components/timestamp/timestamp.tsx +162 -0
  933. package/src/components/toast/toast-anchored.styles.ts +146 -0
  934. package/src/components/toast/toast-animation.styles.ts +64 -0
  935. package/src/components/toast/toast-icons.tsx +58 -0
  936. package/src/components/toast/toast-stacked.styles.ts +129 -0
  937. package/src/components/toast/toast-utils.ts +53 -0
  938. package/src/components/toast/toast-views.tsx +223 -0
  939. package/src/components/toast/toast.styles.ts +198 -0
  940. package/src/components/toast/toast.tsx +59 -0
  941. package/src/components/toast/toast.types.ts +41 -0
  942. package/src/components/toggle/toggle-colors.stylex.ts +27 -0
  943. package/src/components/toggle/toggle.styles.ts +267 -0
  944. package/src/components/toggle/toggle.tsx +193 -0
  945. package/src/components/token/token.styles.ts +135 -0
  946. package/src/components/token/token.tsx +208 -0
  947. package/src/components/tool-call/tool-call-group.tsx +147 -0
  948. package/src/components/tool-call/tool-call.styles.ts +146 -0
  949. package/src/components/tool-call/tool-call.tsx +324 -0
  950. package/src/components/toolbar/toolbar-context.ts +6 -0
  951. package/src/components/toolbar/toolbar.styles.ts +120 -0
  952. package/src/components/toolbar/toolbar.tsx +219 -0
  953. package/src/components/tooltip/tooltip.styles.ts +104 -0
  954. package/src/components/tooltip/tooltip.tsx +106 -0
  955. package/src/components/tree/tree.styles.ts +133 -0
  956. package/src/components/tree/tree.tsx +862 -0
  957. package/src/components/visually-hidden/visually-hidden.styles.ts +15 -0
  958. package/src/components/visually-hidden/visually-hidden.tsx +36 -0
  959. package/src/control-label.tsx +48 -0
  960. package/src/copy-button.tsx +38 -0
  961. package/src/form.ts +44 -0
  962. package/src/icon-masks.stylex.ts +7 -0
  963. package/src/icons.ts +43 -0
  964. package/src/index.ts +1392 -0
  965. package/src/loading-indicator.tsx +45 -0
  966. package/src/motion.tsx +124 -0
  967. package/src/ref-utils.ts +27 -0
  968. package/src/render-utils.ts +35 -0
  969. package/src/styles/application-structure.stylex.ts +5 -0
  970. package/src/styles/colors.stylex.ts +64 -0
  971. package/src/styles/conditions.stylex.ts +10 -0
  972. package/src/styles/dimensions.stylex.ts +17 -0
  973. package/src/styles/floating-item-colors.stylex.ts +22 -0
  974. package/src/styles/fonts.stylex.ts +9 -0
  975. package/src/styles/interaction.stylex.ts +34 -0
  976. package/src/styles/motion.stylex.ts +28 -0
  977. package/src/styles/overlay-layers.styles.ts +26 -0
  978. package/src/styles/palette.stylex.ts +28 -0
  979. package/src/styles/shadows.stylex.ts +14 -0
  980. package/src/styles/shape.stylex.ts +11 -0
  981. package/src/styles/spacing.stylex.ts +18 -0
  982. package/src/styles/themes.ts +57 -0
  983. package/src/styles/typography.styles.ts +116 -0
  984. package/src/styles/typography.stylex.ts +44 -0
  985. package/src/theme/index.ts +25 -0
  986. package/src/theme/initialize.ts +31 -0
  987. package/src/theme/theme-provider.tsx +189 -0
  988. package/src/theme/theme-root.ts +37 -0
  989. package/src/theme/theme-script.tsx +35 -0
  990. package/src/theme/theme-storage.ts +256 -0
  991. package/src/theme/theme-tokens.ts +11 -0
  992. package/src/theme/theme-transition-guard.ts +102 -0
  993. package/src/theme/types.ts +33 -0
  994. package/src/use-copy-to-clipboard.ts +57 -0
  995. package/src/use-elapsed.ts +40 -0
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,22 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ import type { Closed } from "../../closed";
3
+ import { type CitationSource } from "../inline-citation/citation-source";
4
+ /** A page or document the agent used: a link with `href`, or text without. */
5
+ export type SourcesItem = CitationSource;
6
+ export type SourcesProps = Omit<Closed<ComponentPropsWithRef<"div">>, "children" | "data-slot" | "role"> & {
7
+ /** Opens the list from the start, such as in a research view. */
8
+ defaultOpen?: boolean;
9
+ /** Repeats of the same link or document show once. */
10
+ sources: readonly SourcesItem[];
11
+ };
12
+ /** The same page cited twice is one source. */
13
+ export declare function uniqueSources(sources: readonly SourcesItem[]): CitationSource[];
14
+ /** One source as a row: favicon, title, and domain; a link when it has one. */
15
+ export declare function SourceRow({ source }: {
16
+ source: SourcesItem;
17
+ }): import("react").JSX.Element;
18
+ /**
19
+ * The pages and documents an agent used for a reply, folded into one line:
20
+ * the first favicons and "Used 3 sources". It opens to a link for each.
21
+ */
22
+ export declare function Sources({ defaultOpen, ref: forwardedRef, sources, ...rest }: SourcesProps): import("react").JSX.Element | null;
@@ -0,0 +1,6 @@
1
+ "use client";import{props}from"@stylexjs/stylex";import{IconChevronDown}from"../../icons";import{typeRoles}from"../../styles/typography.styles";import{Collapsible,CollapsiblePanel,CollapsibleTrigger}from"../collapsible/collapsible";import{SourceIcon,sourceLabel,sourceName}from"../inline-citation/citation-source";import{VisuallyHidden}from"../visually-hidden/visually-hidden";import{sourcesStyles as styles}from"./sources.styles";/** A page or document the agent used: a link with `href`, or text without. */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";/** The same page cited twice is one source. */export function uniqueSources(sources){const seen=new Set();return sources.filter(source=>{const key=source.href??`document:${source.title}`;if(seen.has(key)){return false;}seen.add(key);return true;});}/** "Used 3 sources" with the first three favicons; opens the list. */function SourcesTrigger({sources}){const noun=sources.length===1?"source":"sources";return/*#__PURE__*/_jsxs(CollapsibleTrigger,{render:/*#__PURE__*/_jsx("button",{type:"button",...props(typeRoles.ui,styles.trigger)}),children:[/*#__PURE__*/_jsx("span",{"aria-hidden":"true",...props(styles.stack),children:sources.slice(0,3).map((source,index)=>/*#__PURE__*/// biome-ignore lint/suspicious/noArrayIndexKey: sources keep their order, and a document may share a title.
2
+ _jsx("span",{...props(styles.stackIcon),children:/*#__PURE__*/_jsx(SourceIcon,{source:source})},index))}),/*#__PURE__*/_jsxs("span",{children:["Used ",/*#__PURE__*/_jsx("span",{...props(styles.count),children:sources.length})," ",noun]}),/*#__PURE__*/_jsx(IconChevronDown,{"aria-hidden":"true",size:14,...props(styles.chevron)})]});}/** One source as a row: favicon, title, and domain; a link when it has one. */export function SourceRow({source}){const content=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(SourceIcon,{source:source}),/*#__PURE__*/_jsx("span",{...props(styles.title),children:sourceName(source)}),source.href===undefined?null:/*#__PURE__*/_jsx("span",{...props(typeRoles.caption,styles.domain),children:sourceLabel(source)})]});if(source.href===undefined){return/*#__PURE__*/_jsx("div",{...props(typeRoles.ui,styles.row),children:content});}return/*#__PURE__*/_jsxs("a",{href:source.href,rel:"noopener noreferrer",target:"_blank",...props(typeRoles.ui,styles.row),children:[content,/*#__PURE__*/_jsx(VisuallyHidden,{children:", opens in a new tab"})]});}/** One line per source: favicon, title, and domain. */function SourcesList({sources}){return/*#__PURE__*/_jsx(CollapsiblePanel,{children:/*#__PURE__*/_jsx("ul",{"aria-label":"Sources","data-slot":"sources-list",...props(styles.list),children:sources.map((source,index)=>/*#__PURE__*/// biome-ignore lint/suspicious/noArrayIndexKey: sources keep their order, and a document may share a title.
3
+ _jsx("li",{children:/*#__PURE__*/_jsx(SourceRow,{source:source})},index))})});}/**
4
+ * The pages and documents an agent used for a reply, folded into one line:
5
+ * the first favicons and "Used 3 sources". It opens to a link for each.
6
+ */export function Sources({defaultOpen=false,ref:forwardedRef,sources,...rest}){const unique=uniqueSources(sources);for(const prop of["className","data-slot","role","style"]){Reflect.deleteProperty(rest,prop);}if(unique.length===0){return null;}return/*#__PURE__*/_jsx("div",{...rest,"data-slot":"sources",ref:forwardedRef,...props(styles.root),children:/*#__PURE__*/_jsxs(Collapsible,{defaultOpen:defaultOpen,children:[/*#__PURE__*/_jsx(SourcesTrigger,{sources:unique}),/*#__PURE__*/_jsx(SourcesList,{sources:unique})]})});}
@@ -0,0 +1,3 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/interaction.stylex";import{borderWidth}from"../../styles/interaction.stylex";import"../../styles/motion.stylex";import{duration,easing}from"../../styles/motion.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";// Lines bleed into the gutter by their padding, so favicons line up with the
2
+ // text around them while the hover fill has room.
3
+ const BLEED=space["2"];const line={alignItems:"center",backgroundColor:{[conditions.canHover]:{":hover":colors.controlSurfaceHover,default:"transparent"},default:"transparent"},borderRadius:shape.controlRadius,color:colors.content,display:"flex",gap:space["2"],minBlockSize:space["8"],minInlineSize:0,outlineColor:{":focus-visible":colors.focusRing,default:"transparent"},outlineOffset:-2,outlineStyle:{":focus-visible":"solid",default:"none"},outlineWidth:borderWidth.focus,paddingBlock:space["1"],paddingInline:BLEED,textDecoration:"none"};export const sourcesStyles={chevron:{kMwMTN:"x125omll",kmuXW:"x2lah0s",k3aq6I:"x14p7gce x1c071of",kIyJzY:"x1e471i8 x115jf8",k1ekBW:"x11xpdln",kAMwcw:"xvhdtae",$$css:true},count:{kcqcaj:"xss6m8b",$$css:true},domain:{kMwMTN:"x125omll",keTefX:"xvc5jky",khDVqt:"xuxw1ft",$$css:true},list:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"x195vfkc",kB88ic:"xe8uvvx",kogj98:"x1ghz6dp",kmVPX3:"x1717udv",$$css:true},root:{kUOVxO:"x1tjh6xj",k7Eaqz:"xeuugli",$$css:true},row:{kGNEyG:"x6s0dn4",kWkggS:"xxsa5ao x12ribo7 xjbqb8w",kaIpWk:"x2b34ud",kMwMTN:"x14tvo57",k1xSpc:"x78zum5",kOIVth:"xp4ho6d",kAzted:"xwv0vdp",k7Eaqz:"xeuugli",kjBf7l:"x4dprnk x1uczgqu",kInvED:"x2ssjo2",k3XXqK:"x9v5kkp x1t137rt",kMeerF:"x1vhx2qj",k8WAf4:"x1lmimt7",kg3NbH:"xb5xqfq",kybGjl:"x1hl2dhg",$$css:true},stack:{k1xSpc:"x78zum5",$$css:true},stackIcon:{kGNEyG:"x6s0dn4",kWkggS:"x1o7hn9x",kZKoxP:"xmix8c7",kaIpWk:"x16rqkct",kGVxlE:"x1mj9anb",k1xSpc:"x3nfvp2",kzqmXN:"x1xp8n7a",kjj79g:"xl56j7k",keTefX:"x20kiso x1lziwak",kVQacm:"xb3r6kr",$$css:true},title:{k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",kg5iWk:"xlyipyv",khDVqt:"xuxw1ft",$$css:true},trigger:{kGNEyG:"x6s0dn4",kWkggS:"xxsa5ao x12ribo7 xjbqb8w",kaIpWk:"x2b34ud",kMwMTN:"x14tvo57",k1xSpc:"x78zum5",kOIVth:"xp4ho6d",kAzted:"xwv0vdp",k7Eaqz:"xeuugli",kjBf7l:"x4dprnk x1uczgqu",kInvED:"x2ssjo2",k3XXqK:"x9v5kkp x1t137rt",kMeerF:"x1vhx2qj",k8WAf4:"x1lmimt7",kg3NbH:"xb5xqfq",kybGjl:"x1hl2dhg",kysU6D:"xjyslct",kMzoRj:"xc342km",kkrTdU:"x1ypdohk",kzqmXN:"xeq5yr9",kogj98:"x1ghz6dp",ks0D6T:"x193iq5w",k9WMMc:"x1yc453h",$$css:true}};
@@ -0,0 +1,5 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ type NativeDivProps = ComponentPropsWithRef<"div">;
3
+ export type SpacerProps = Omit<NativeDivProps, "children" | "className" | "dangerouslySetInnerHTML" | "role" | "style">;
4
+ export declare function Spacer({ ref: forwardedRef, ...rest }: SpacerProps): import("react").JSX.Element;
5
+ export {};
@@ -0,0 +1 @@
1
+ import{props}from"@stylexjs/stylex";import{spacerStyles}from"./spacer.styles";import{jsx as _jsx}from"react/jsx-runtime";export function Spacer({ref:forwardedRef,...rest}){Reflect.deleteProperty(rest,"role");Reflect.deleteProperty(rest,"children");Reflect.deleteProperty(rest,"dangerouslySetInnerHTML");return/*#__PURE__*/_jsx("div",{...rest,"data-slot":"spacer",ref:forwardedRef,...props(spacerStyles.base)});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";export const spacerStyles={base:{kCS8Yb:"x1t1x2f9",kzQI83:"x1iyjqo2",kmuXW:"xs83m0k",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",$$css:true}};
@@ -0,0 +1,18 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ type NativeSvgProps = ComponentPropsWithRef<"svg">;
3
+ /**
4
+ * `thinking` is the model reasoning, `dots` is work running, and `typing` is
5
+ * a reply being written.
6
+ */
7
+ export type SpinnerVariant = "dots" | "thinking" | "typing";
8
+ export type SpinnerProps = Omit<NativeSvgProps, "aria-label" | "children" | "className" | "dangerouslySetInnerHTML" | "data-slot" | "fill" | "focusable" | "height" | "role" | "style" | "viewBox" | "width"> & {
9
+ /**
10
+ * What is happening, such as "Thinking". Defaults to "Loading", or
11
+ * "Typing" for the typing variant. With `aria-hidden`, the spinner is
12
+ * decorative and nearby text carries the meaning.
13
+ */
14
+ "aria-label"?: string;
15
+ variant?: SpinnerVariant;
16
+ };
17
+ export declare function Spinner({ "aria-hidden": ariaHidden, "aria-label": ariaLabel, ref: forwardedRef, variant, ...rest }: SpinnerProps): import("react").JSX.Element;
18
+ export {};
@@ -0,0 +1,9 @@
1
+ import{props}from"@stylexjs/stylex";import{LoadingIndicator}from"../../loading-indicator";import{spinnerStyles}from"./spinner.styles";/**
2
+ * `thinking` is the model reasoning, `dots` is work running, and `typing` is
3
+ * a reply being written.
4
+ */import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const defaultLabels={dots:"Loading",thinking:"Thinking",typing:"Typing"};// The gap starts at the top-left cell; the centre dot holds still.
5
+ const thinkingDots=[{cx:12,cy:4,style:spinnerStyles.thinkingDot1},{cx:20,cy:4,style:spinnerStyles.thinkingDot2},{cx:20,cy:12,style:spinnerStyles.thinkingDot3},{cx:20,cy:20,style:spinnerStyles.thinkingDot4},{cx:12,cy:20,style:spinnerStyles.thinkingDot5},{cx:4,cy:20,style:spinnerStyles.thinkingDot6},{cx:4,cy:12,style:spinnerStyles.thinkingDot7}];const typingDots=[{cx:4,style:spinnerStyles.typingFirst},{cx:12,style:spinnerStyles.typingSecond},{cx:20,style:spinnerStyles.typingThird}];function accessibility(variant,ariaHidden,ariaLabel){if(ariaHidden===true||ariaHidden==="true"){return{"aria-hidden":true};}if(ariaLabel!==undefined&&!ariaLabel.trim()){throw new TypeError("Spinner aria-label must not be blank.");}return{"aria-label":ariaLabel??defaultLabels[variant],role:"status"};}export function Spinner({"aria-hidden":ariaHidden,"aria-label":ariaLabel,ref:forwardedRef,variant="dots",...rest}){for(const name of["children","className","dangerouslySetInnerHTML","height","role","style","width"]){Reflect.deleteProperty(rest,name);}const shared={...rest,...accessibility(variant,ariaHidden,ariaLabel),"data-slot":"spinner","data-variant":variant,focusable:false,ref:forwardedRef};if(variant==="dots"){return/*#__PURE__*/_jsx(LoadingIndicator,{...shared,indicatorStyles:spinnerStyles.textSize});}if(variant==="thinking"){return(/*#__PURE__*/// biome-ignore lint/a11y/noSvgWithoutTitle: the name comes from aria-label with role=status, or the SVG is aria-hidden; both arrive in the spread props.
6
+ _jsxs("svg",{...shared,fill:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...props(spinnerStyles.thinking),children:[thinkingDots.map(({cx,cy,style})=>/*#__PURE__*/_jsx("circle",{cx:cx,cy:cy,r:2.5,...props(spinnerStyles.thinkingDot,style)},`${cx}-${cy}`)),/*#__PURE__*/_jsx("circle",{cx:12,cy:12,r:2.5,...props(spinnerStyles.thinkingDot)})]}));}// Three dots rise in turn and fall back, brightening at the top, like a
7
+ // reply being written. Reduced motion holds them still as a fading row.
8
+ return(/*#__PURE__*/// biome-ignore lint/a11y/noSvgWithoutTitle: the name comes from aria-label with role=status, or the SVG is aria-hidden; both arrive in the spread props.
9
+ _jsx("svg",{...shared,fill:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...props(spinnerStyles.typing),children:typingDots.map(({cx,style})=>/*#__PURE__*/_jsx("circle",{cx:cx,cy:12,r:3,...props(spinnerStyles.typingDot,style)},cx))}));}
@@ -0,0 +1,11 @@
1
+ import{create,keyframes}from"@stylexjs/stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/dimensions.stylex";import{glyphSize}from"../../styles/dimensions.stylex";import"../../styles/motion.stylex";import{easing}from"../../styles/motion.stylex";// Loading: the eight dots hold their places and a bright head travels round
2
+ // the ring once a second. Its trail fades over half a lap to the same 40%
3
+ // rest the other variants use, so one head leads and the rest stay quiet.
4
+ const loaderChase="x1qby7ya-B";// One dot's cycle: a 0.6s bounce, then rest while the others finish, 1.05s in
5
+ // all. It rises on an ease-out and falls on an ease-in, like a dropped ball,
6
+ // and is brightest at the top. Lengths are SVG user units.
7
+ const typingBounce="x1hxuvi9-B";// Thinking: eight dots on a 3x3 grid with one empty cell, like a sliding
8
+ // puzzle. Each 0.5s step, the dot beside the gap slides into it (0.3s, then a
9
+ // hold) and brightens while it moves, so the gap travels round the ring. After
10
+ // eight moves the same cells are filled, so the loop restarts invisibly.
11
+ const thinkEase="cubic-bezier(0.65, 0, 0.35, 1)";const think1="x1wqrf3r-B";const think2="x13rfqgj-B";const think3="x9cw1hc-B";const think4="xqjoxkm-B";const think5="x1rs4tjw-B";const think6="x19qwp6y-B";const think7="xwwzc1d-B";export const spinnerStyles={base:{k1xSpc:"x1rg5ohu",kmuXW:"x2lah0s",kZKoxP:"x1a05dn3",kzqmXN:"xmpb2e4",$$css:true},loaderDot:{k44tkh:"x1q3qbx4",ko0y90:"xa4qsjk",kKVMdj:"x1tzfbnl xxr0skm",kyAemX:"xhbrl7j",$$css:true},loaderDot0:{kKxzle:"x123bg45",kSiTet:"x1q2kfjc x1hc1fzr",$$css:true},loaderDot1:{kKxzle:"x1re9mjr",kSiTet:"x168f7en x1hc1fzr",$$css:true},loaderDot2:{kKxzle:"x1cuam14",kSiTet:"x168f7en x1hc1fzr",$$css:true},loaderDot3:{kKxzle:"xw76d41",kSiTet:"x168f7en x1hc1fzr",$$css:true},loaderDot4:{kKxzle:"xiz60hx",kSiTet:"x168f7en x1hc1fzr",$$css:true},loaderDot5:{kKxzle:"x5sczgi",kSiTet:"xzu80bj x1hc1fzr",$$css:true},loaderDot6:{kKxzle:"x13ypx2b",kSiTet:"xnuexv9 x1hc1fzr",$$css:true},loaderDot7:{kKxzle:"xfd80k5",kSiTet:"xfi89d5 x1hc1fzr",$$css:true},textSize:{kZKoxP:"xlzyvqe",kzqmXN:"x15vhz18",$$css:true},thinking:{k1xSpc:"x1rg5ohu",kmuXW:"x2lah0s",kZKoxP:"xlzyvqe",kzqmXN:"x15vhz18",$$css:true},thinkingDot:{k44tkh:"xeaay5l",ko0y90:"xa4qsjk",kSiTet:"xnuexv9 xti2d7y",$$css:true},thinkingDot1:{kKVMdj:"x1tzfbnl x1876tnn",$$css:true},thinkingDot2:{kKVMdj:"x1tzfbnl x13v7j9d",$$css:true},thinkingDot3:{kKVMdj:"x1tzfbnl x1snwgbi",$$css:true},thinkingDot4:{kKVMdj:"x1tzfbnl x1x9gzob",$$css:true},thinkingDot5:{kKVMdj:"x1tzfbnl x1jxd84b",$$css:true},thinkingDot6:{kKVMdj:"x1tzfbnl x2qp8yx",$$css:true},thinkingDot7:{kKVMdj:"x1tzfbnl x1g9esx5",$$css:true},typing:{k1xSpc:"x1rg5ohu",kmuXW:"x2lah0s",kZKoxP:"xlzyvqe",kVQacm:"x1rea2x4",kzqmXN:"x15vhz18",$$css:true},typingDot:{k44tkh:"x7tkt5m",ko0y90:"xa4qsjk",kKVMdj:"x1tzfbnl x10635y4",kSiTet:"xti2d7y",$$css:true},typingFirst:{kSiTet:"x168f7en xti2d7y",$$css:true},typingSecond:{kKxzle:"x1k0bccz",kSiTet:"xnuexv9 xti2d7y",$$css:true},typingThird:{kKxzle:"x1t83zlg",kSiTet:"x1q2kfjc xti2d7y",$$css:true}};
@@ -0,0 +1,9 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ import { stackGapStyles } from "./stack.styles";
3
+ type NativeDivProps = ComponentPropsWithRef<"div">;
4
+ export type StackGap = keyof typeof stackGapStyles;
5
+ export type StackProps = Omit<NativeDivProps, "className" | "role" | "style"> & {
6
+ gap?: StackGap;
7
+ };
8
+ export declare function Stack({ children, gap, ref: forwardedRef, ...rest }: StackProps): import("react").JSX.Element;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{props}from"@stylexjs/stylex";import{stackGapStyles,stackStyles}from"./stack.styles";import{jsx as _jsx}from"react/jsx-runtime";export function Stack({children,gap,ref:forwardedRef,...rest}){Reflect.deleteProperty(rest,"role");return/*#__PURE__*/_jsx("div",{...rest,"data-slot":"stack",ref:forwardedRef,...props(stackStyles.base,gap?stackGapStyles[gap]:null),children:children});}
@@ -0,0 +1,76 @@
1
+ export declare const stackStyles: Readonly<{
2
+ readonly base: Readonly<{
3
+ readonly display: import("@stylexjs/stylex").StyleXClassNameFor<"display", "flex">;
4
+ readonly flexDirection: import("@stylexjs/stylex").StyleXClassNameFor<"flexDirection", "column">;
5
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
6
+ readonly minWidth: import("@stylexjs/stylex").StyleXClassNameFor<"minWidth", 0>;
7
+ }>;
8
+ readonly gap0: Readonly<{
9
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", 0>;
10
+ }>;
11
+ readonly gap1: Readonly<{
12
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
13
+ }>;
14
+ readonly gap2: Readonly<{
15
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
16
+ }>;
17
+ readonly gap3: Readonly<{
18
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
19
+ }>;
20
+ readonly gap4: Readonly<{
21
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
22
+ }>;
23
+ readonly gap5: Readonly<{
24
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
25
+ }>;
26
+ readonly gap6: Readonly<{
27
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
28
+ }>;
29
+ readonly gap8: Readonly<{
30
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
31
+ }>;
32
+ readonly gap10: Readonly<{
33
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
34
+ }>;
35
+ readonly gap12: Readonly<{
36
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
37
+ }>;
38
+ readonly gap16: Readonly<{
39
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
40
+ }>;
41
+ }>;
42
+ export declare const stackGapStyles: {
43
+ "0": Readonly<{
44
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", 0>;
45
+ }>;
46
+ "1": Readonly<{
47
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
48
+ }>;
49
+ "2": Readonly<{
50
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
51
+ }>;
52
+ "3": Readonly<{
53
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
54
+ }>;
55
+ "4": Readonly<{
56
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
57
+ }>;
58
+ "5": Readonly<{
59
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
60
+ }>;
61
+ "6": Readonly<{
62
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
63
+ }>;
64
+ "8": Readonly<{
65
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
66
+ }>;
67
+ "10": Readonly<{
68
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
69
+ }>;
70
+ "12": Readonly<{
71
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
72
+ }>;
73
+ "16": Readonly<{
74
+ readonly gap: import("@stylexjs/stylex").StyleXClassNameFor<"gap", string>;
75
+ }>;
76
+ };
@@ -0,0 +1,2 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";export const stackStyles={base:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"xiw8qbs",k7Eaqz:"xeuugli",$$css:true},gap0:{kOIVth:"xxhr3t",$$css:true},gap1:{kOIVth:"x13hh4mm",$$css:true},gap2:{kOIVth:"xp4ho6d",$$css:true},gap3:{kOIVth:"xiw8qbs",$$css:true},gap4:{kOIVth:"x1q60jeg",$$css:true},gap5:{kOIVth:"xe0n8jp",$$css:true},gap6:{kOIVth:"xfy154a",$$css:true},gap8:{kOIVth:"xgmk5i5",$$css:true},gap10:{kOIVth:"x6ybyrc",$$css:true},gap12:{kOIVth:"xteekn9",$$css:true},gap16:{kOIVth:"xzmxvoy",$$css:true}};// Gap steps mirror the 4px spacing scale: step × 4 = px.
2
+ export const stackGapStyles={"0":stackStyles.gap0,"1":stackStyles.gap1,"2":stackStyles.gap2,"3":stackStyles.gap3,"4":stackStyles.gap4,"5":stackStyles.gap5,"6":stackStyles.gap6,"8":stackStyles.gap8,"10":stackStyles.gap10,"12":stackStyles.gap12,"16":stackStyles.gap16};
@@ -0,0 +1,9 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ type NativeSpanProps = ComponentPropsWithRef<"span">;
3
+ export type StatusDotVariant = "success" | "warning" | "error" | "accent" | "neutral";
4
+ export type StatusDotProps = Omit<NativeSpanProps, "aria-label" | "children" | "className" | "dangerouslySetInnerHTML" | "data-slot" | "role" | "style"> & {
5
+ label: string;
6
+ variant: StatusDotVariant;
7
+ };
8
+ export declare function StatusDot({ label, ref: forwardedRef, variant, ...rest }: StatusDotProps): import("react").JSX.Element;
9
+ export {};
@@ -0,0 +1 @@
1
+ import{props}from"@stylexjs/stylex";import{statusDotStyles}from"./status-dot.styles";import{jsx as _jsx}from"react/jsx-runtime";const variantStyles={accent:statusDotStyles.accent,error:statusDotStyles.error,neutral:statusDotStyles.neutral,success:statusDotStyles.success,warning:statusDotStyles.warning};export function StatusDot({label,ref:forwardedRef,variant,...rest}){Reflect.deleteProperty(rest,"children");Reflect.deleteProperty(rest,"dangerouslySetInnerHTML");return/*#__PURE__*/_jsx("span",{...rest,"aria-label":label,"data-slot":"status-dot",ref:forwardedRef,role:"img",...props(statusDotStyles.base,variantStyles[variant])});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";export const statusDotStyles={accent:{kWkggS:"xcvg9v3",$$css:true},base:{kZKoxP:"xdk7pt",kaIpWk:"x16rqkct",k1xSpc:"x3nfvp2",kmuXW:"x2lah0s",kzqmXN:"x1xc55vz",$$css:true},error:{kWkggS:"x1cpc4p9",$$css:true},neutral:{kWkggS:"x1jhsfs9",$$css:true},success:{kWkggS:"x1k31blj",$$css:true},warning:{kWkggS:"x98pag6",$$css:true}};
@@ -0,0 +1,42 @@
1
+ import { type ComponentPropsWithRef } from "react";
2
+ import type { Closed } from "../../closed";
3
+ export type StepperState = "complete" | "current" | "upcoming";
4
+ type StepperAccessibleName = {
5
+ "aria-label": string;
6
+ "aria-labelledby"?: string;
7
+ } | {
8
+ "aria-label"?: string;
9
+ "aria-labelledby": string;
10
+ };
11
+ export type StepperProps = Omit<Closed<ComponentPropsWithRef<"ol">>, "aria-label" | "aria-labelledby" | "data-slot" | "role"> & StepperAccessibleName & {
12
+ orientation?: "horizontal" | "vertical";
13
+ layout?: "separated" | "on-track";
14
+ density?: "compact" | "balanced" | "spacious";
15
+ activeStep?: number;
16
+ onStepClick?: (step: number) => void;
17
+ };
18
+ export type StepperItemProps = Omit<Closed<ComponentPropsWithRef<"li">>, "aria-current" | "data-slot" | "role"> & ({
19
+ status: StepperState;
20
+ step?: number;
21
+ } | {
22
+ step: number;
23
+ status?: never;
24
+ }) & {
25
+ disabled?: boolean;
26
+ optional?: boolean;
27
+ };
28
+ export type StepperIndicatorProps = Omit<Closed<ComponentPropsWithRef<"span">>, "data-slot"> & {
29
+ mode?: "auto" | "number" | "custom" | "none";
30
+ };
31
+ export type StepperTitleProps = Omit<Closed<ComponentPropsWithRef<"span">>, "data-slot">;
32
+ export type StepperDescriptionProps = Omit<Closed<ComponentPropsWithRef<"p">>, "data-slot">;
33
+ export declare function Stepper({ children, activeStep, onStepClick, orientation, layout, density, ref: forwardedRef, ...rest }: StepperProps): import("react").JSX.Element;
34
+ export declare function StepperItem({ children, ref: forwardedRef, status, step, disabled, optional, ...rest }: StepperItemProps): import("react").JSX.Element;
35
+ export declare function StepperIndicator({ children, mode, ref: forwardedRef, ...rest }: StepperIndicatorProps): import("react").JSX.Element;
36
+ export declare function StepperTitle({ children, ref: forwardedRef, ...rest }: StepperTitleProps): import("react").JSX.Element;
37
+ export declare function StepperDescription({ children, ref: forwardedRef, ...rest }: StepperDescriptionProps): import("react").JSX.Element;
38
+ export type StepperTriggerProps = Omit<Closed<ComponentPropsWithRef<"button">>, "data-slot" | "role">;
39
+ export type StepperContentProps = Omit<Closed<ComponentPropsWithRef<"div">>, "data-slot">;
40
+ export declare function StepperTrigger({ children, onClick, ref, type, ...rest }: StepperTriggerProps): import("react").JSX.Element;
41
+ export declare function StepperContent({ children, ref, ...rest }: StepperContentProps): import("react").JSX.Element;
42
+ export {};
@@ -0,0 +1,2 @@
1
+ "use client";import{props}from"@stylexjs/stylex";import{createContext,useCallback,useContext,useState}from"react";import{controlLabel}from"../../control-label";import{IconCheck}from"../../icons";import{typographyStyles}from"../../styles/typography.styles";import{stepperStyles}from"./stepper.styles";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const StepperContext=createContext({});const StepContext=createContext({});const statusStyles={complete:stepperStyles.complete,current:stepperStyles.current,upcoming:stepperStyles.upcoming};function getProgress(step,activeStep){if(step<activeStep){return"complete";}return step===activeStep?"current":"upcoming";}function isStepperState(status){return typeof status==="string"&&Object.hasOwn(statusStyles,status);}const frameByOrientation={horizontal:null,vertical:stepperStyles.frameVertical};export function Stepper({children,activeStep,onStepClick,orientation="horizontal",layout="separated",density="balanced",ref:forwardedRef,...rest}){const[progress,setProgress]=useState({activeStep,forward:false,layout,orientation});const sameLayout=progress.layout===layout&&progress.orientation===orientation;if(!(Object.is(progress.activeStep,activeStep)&&sameLayout)){setProgress({activeStep,forward:sameLayout&&activeStep!==undefined&&progress.activeStep!==undefined&&activeStep===progress.activeStep+1,layout,orientation});}Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"data-slot");Reflect.deleteProperty(rest,"role");Reflect.deleteProperty(rest,"style");return/*#__PURE__*/_jsx(StepperContext,{value:{activeStep,forward:progress.forward,onStepClick},children:/*#__PURE__*/_jsx("div",{...props(stepperStyles.frame,frameByOrientation[orientation]),children:/*#__PURE__*/_jsx("ol",{...rest,"data-density":density,"data-layout":layout,"data-orientation":orientation,"data-slot":"stepper",ref:forwardedRef// biome-ignore lint/a11y/noRedundantRoles: Safari needs an explicit list role when list-style is none outside nav.
2
+ ,role:"list",...props(stepperStyles.root),children:children})})});}export function StepperItem({children,ref:forwardedRef,status,step,disabled=false,optional=false,...rest}){const{activeStep,forward}=useContext(StepperContext);const resolvedStatus=step!==undefined&&activeStep!==undefined?getProgress(step,activeStep):status;const safeStatus=isStepperState(resolvedStatus)?resolvedStatus:"upcoming";Reflect.deleteProperty(rest,"aria-current");Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"data-slot");Reflect.deleteProperty(rest,"role");Reflect.deleteProperty(rest,"style");return/*#__PURE__*/_jsx(StepContext,{value:{disabled,optional,step},children:/*#__PURE__*/_jsxs("li",{...rest,"aria-current":safeStatus==="current"?"step":undefined,"data-disabled":disabled||undefined,"data-motion":forward?"forward":"none","data-slot":"stepper-item","data-status":safeStatus,ref:forwardedRef,...props(stepperStyles.item,statusStyles[safeStatus]),children:[safeStatus==="complete"&&/*#__PURE__*/_jsxs("span",{"data-slot":"stepper-status",...props(stepperStyles.visuallyHidden),children:["Completed:"," "]}),children]})});}export function StepperIndicator({children,mode="auto",ref:forwardedRef,...rest}){Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"data-slot");Reflect.deleteProperty(rest,"style");return/*#__PURE__*/_jsxs("span",{...rest,"aria-hidden":"true","data-mode":mode,"data-slot":"stepper-indicator",ref:forwardedRef,...props(stepperStyles.indicator),children:[/*#__PURE__*/_jsx("span",{...props(stepperStyles.markerContent,mode==="auto"&&stepperStyles.autoNumber),children:controlLabel(children)}),mode==="auto"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(IconCheck,{...props(stepperStyles.check),size:12}),/*#__PURE__*/_jsx("span",{...props(stepperStyles.currentDot)})]})]});}export function StepperTitle({children,ref:forwardedRef,...rest}){const{optional}=useContext(StepContext);Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"data-slot");Reflect.deleteProperty(rest,"style");return/*#__PURE__*/_jsxs("span",{...rest,"data-slot":"stepper-title",ref:forwardedRef,...props(stepperStyles.title),children:[/*#__PURE__*/_jsx("span",{...props(stepperStyles.titleLabel,typographyStyles.controlLabel),children:children}),!!optional&&/*#__PURE__*/_jsx("span",{...props(stepperStyles.optional),children:"Optional"})]});}export function StepperDescription({children,ref:forwardedRef,...rest}){Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"data-slot");Reflect.deleteProperty(rest,"style");return/*#__PURE__*/_jsx("p",{...rest,"data-slot":"stepper-description",ref:forwardedRef,...props(stepperStyles.description),children:children});}export function StepperTrigger({children,onClick,ref,type="button",...rest}){const{step,disabled}=useContext(StepContext);const{onStepClick}=useContext(StepperContext);const handleClick=useCallback(event=>{onClick?.(event);if(!event.defaultPrevented&&step!==undefined){onStepClick?.(step);}},[onClick,onStepClick,step]);Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"style");Reflect.deleteProperty(rest,"data-slot");Reflect.deleteProperty(rest,"role");return/*#__PURE__*/_jsx("button",{...rest,"data-slot":"stepper-trigger",disabled:disabled||rest.disabled,onClick:handleClick,ref:ref,type:type,...props(stepperStyles.trigger),children:children});}export function StepperContent({children,ref,...rest}){Reflect.deleteProperty(rest,"className");Reflect.deleteProperty(rest,"style");Reflect.deleteProperty(rest,"data-slot");return/*#__PURE__*/_jsx("div",{...rest,"data-slot":"stepper-content",ref:ref,...props(stepperStyles.content),children:children});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/interaction.stylex";import{borderWidth,focus,focusMotion,opacity}from"../../styles/interaction.stylex";import"../../styles/motion.stylex";import{duration,easing}from"../../styles/motion.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";import"../../styles/typography.stylex";import{fontSize,fontWeight,lineHeight}from"../../styles/typography.stylex";export const stepperStyles={autoNumber:{k1xSpc:"x1hsaif x1i1ft7z x3nfvp2",$$css:true},check:{k1xSpc:"xivigs2 x1s85apg",$$css:true},complete:{kMwMTN:"x14tvo57",$$css:true},content:{kMwMTN:"x14tvo57",k1xSpc:"xdq0s42 x1lliihq",kBCFzs:"x1npkx4u",kbNqZ1:"xz51j44",k7Eaqz:"xeuugli",kLKAdn:"xyfr97a",$$css:true},current:{kMwMTN:"x14tvo57",$$css:true},currentDot:{kWkggS:"xtwfq29",kaIpWk:"x16rqkct",k1xSpc:"xlwfe6i x1s85apg",kZKoxP:"xqu0tyb",kzqmXN:"x51ohtg",$$css:true},description:{kz4h6p:"x5s2o64",kMwMTN:"x125omll",kGuDYH:"x1ws78te",k63SB2:"x1lo1l87",kBCFzs:"x1f132xd x1npkx4u",kbNqZ1:"x1jvwtl3 x7sv70a",kZKoxP:"x1hbqfyk",kLWn49:"x76y1r9",kqGvvJ:"x10im51j",kHjlTd:"xj0a0fe",kVAEAm:"x18kyndy",k9WMMc:"x12p78ps",kN2L0X:"x1fzhlzt",kzqmXN:"x1g1pfam",$$css:true},frame:{k9g6sI:"x12h1iku",k7Eaqz:"xeuugli",kzqmXN:"xh8yej3",$$css:true},frameVertical:{k9g6sI:"x1hssuek",ks0D6T:"x193iq5w",kzqmXN:"xeq5yr9",$$css:true},indicator:{kGNEyG:"x6s0dn4",kSGwAc:"x1y8v6su",kWkggS:"x1f7rye1 x1judrl6 xjbqb8w",kVAM5u:"xzvuhac x1u84l3y x155xxfk",kaIpWk:"x16rqkct",ksu8eU:"x1y0btm7",kMzoRj:"xdh2fpr",kB7OPa:"x9f619",kMwMTN:"xpojhvu x1bc8v1o xi8fscl x1heor9g",k1xSpc:"xdq0s42 x1xao6cv x3nfvp2",kGuDYH:"x1ws78te",kcqcaj:"xss6m8b",k63SB2:"xuku2lm",kAXs8y:"x1yaudzo",kBCFzs:"xgkxs2y",kbNqZ1:"x1ms6mhf",kZKoxP:"x1l36t39",krVfgx:"xqht66",kLqNvP:"xdulhbm",kjj79g:"xl56j7k",kLWn49:"x1wrb330",keoZOQ:"xgbyhqb xyj18y1 xr9ek0c",kUOVxO:"x4tszoc",kVAEAm:"xcmnld",k33iCy:"xbk111g xnpuxes",kzqmXN:"xcdlrvm",$$css:true},item:{kLkRvE:"x1lg0vu7 x1vdifmb x1rrojwg xx62q6d",k3DiCg:"x2rr1g5",kuPSpR:"xdzphnl xwcio26",kTP8oX:"xgaypha",k836YN:"x1tvldj xfqigvl x1yaiut9 x1nip49h xyluehe",kPB484:"xo9nbae",kgeoSG:"x1cpjm7i",kP1sEF:"xw86o2v xb4p653 x8qz6xe x1l286mb x1fgarty",ku0W4C:"x13rwrtk",krRUto:"x1fhgol4",kIWj2D:"x1yho9co",kgzTxl:"x1dijapi xfjbcg2 x190kx3w xa25mwu",k96MEf:"x1v13qp5 x18pfyoo xd2lgdo xzeeik5",kSJ0CW:"x1r8tkyy x1jk9lxy xxmn4dn x1lk18uv",km8f2m:"xkk1bqk",kEoFBp:"x1upfp4i x1hmns74",kKXxxB:"x19rdrfn x1gzhrc1 xo2dlot",k7KCAZ:"xn6wxm0",kqUdNP:"x17q5s6t",kOlAkY:"x1ioyv4u xa3qhk x1mscwic xjuy2up",kxmVGU:"x12maryy",kfiyM8:"x10ukxgv",k1C7PZ:"x9etzr1",k1xSpc:"xrvj5dj",kCS8Yb:"x1r8uery",kzQI83:"x1iyjqo2",kumcoG:"x1nmrglv xv43t63 x1h5ziqk",k9llMU:"x1q1w665",k7Eaqz:"xeuugli",kSiTet:"x1yporm9 x1hc1fzr",kGO01o:"xrudrgy x9jt90y xup0pd7 xkvy6t5 x19j4s4l x1i17mcb",kLKAdn:"x4ihoxi x12di76u x1miae11 xexx8yu",kVAEAm:"x86rzx4 x1n2onr6",khm7nJ:"xjcy2k7",$$css:true},markerContent:{kGNEyG:"x6s0dn4",k1xSpc:"x3nfvp2",kjj79g:"xl56j7k",kLWn49:"x1wrb330",k7Eaqz:"xeuugli",$$css:true},optional:{kMwMTN:"x125omll",kmuXW:"x2lah0s",kGuDYH:"x1ws78te",k63SB2:"x1lo1l87",kLWn49:"x76y1r9",keTefX:"xdd4mtk",$$css:true},root:{kB7OPa:"x9f619",k1xSpc:"x78zum5",kXwgrk:"x1p6fsy9 xdt5ytf",kOIVth:"xak5vep xxhr3t",kHBbk8:"xc8icb0",kB88ic:"xe8uvvx",kogj98:"x1ghz6dp",kmVPX3:"x1717udv",kGO01o:"xyug4x2 x18d9i69",kVAEAm:"x1n2onr6",kzqmXN:"xh8yej3",$$css:true},title:{kGNEyG:"x6s0dn4",kz4h6p:"x5s2o64 xywt1xz",k1xSpc:"x3nfvp2",kGuDYH:"xlh8hku",k63SB2:"x18c5fy5 x1lo1l87",kBCFzs:"x1f132xd x1npkx4u",kbNqZ1:"xnsm0vc x1ms6mhf",kZKoxP:"x1hbqfyk x62kgan",krVfgx:"xey8ofu",kLqNvP:"xr93f2a",kjj79g:"x1bulzux",kLWn49:"x2xzzt7",kAzted:"x2umgb4",k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",kVAEAm:"x18kyndy",kg5iWk:"xlyipyv",khDVqt:"xuxw1ft",kzqmXN:"x1g1pfam x1163usm",$$css:true},titleLabel:{k1xSpc:"x1lliihq",k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",k8WAf4:"x1rz8xl6",kg5iWk:"xlyipyv",khDVqt:"xuxw1ft",$$css:true},trigger:{kfiyM8:"x10ukxgv",k44tkh:"x1iha7go",kKVMdj:"x1b5t0b2",kysU6D:"xjyslct",kWkggS:"x16ylinb xjbqb8w",kaIpWk:"x2b34ud",ksu8eU:"xng3xce",kMwMTN:"x1heor9g",k1C7PZ:"x9etzr1",kkrTdU:"x1s07b3s x1ypdohk",k1xSpc:"xrvj5dj",kMv6JI:"xjb2p0i",kWZpDQ:"xx1abn8",kEXP64:"xcrlgei",kpJH7q:"x1tee5qw",k1lYIM:"x1agbcgv",kumcoG:"xaxbzem x1h5ziqk",kogj98:"x3sra5",kSiTet:"x1pymsji x1r73q2f x1hc1fzr",kjBf7l:"x12acm8b",kInvED:"x1w1ofmy",k3XXqK:"x9v5kkp x1t137rt",kMeerF:"x1vhx2qj",kmVPX3:"xlxy37g",khm7nJ:"xjcy2k7",k9WMMc:"x1yc453h",$$css:true},upcoming:{kMwMTN:"x125omll",$$css:true},visuallyHidden:{ksu8eU:"xng3xce",kMzoRj:"xc342km",kz4h6p:"x1hyvwdk",kZKoxP:"xjm9jq1",kogj98:"xkdpibf",kVQacm:"xb3r6kr",kmVPX3:"x1717udv",kVAEAm:"x10l6tqk",khDVqt:"xuxw1ft",kzqmXN:"x1i1rx1s",$$css:true}};
@@ -0,0 +1,29 @@
1
+ import type { CitationSource } from "../inline-citation/citation-source";
2
+ /** A cited source; see CitationSource. */
3
+ export type StreamingTextSource = CitationSource;
4
+ /** Plain text, or a citation of `sources[source]` placed at that point. */
5
+ export type StreamingTextPart = string | {
6
+ source: number;
7
+ };
8
+ type Token = {
9
+ kind: "word";
10
+ text: string;
11
+ } | {
12
+ kind: "citation";
13
+ sources: number[];
14
+ };
15
+ export declare function toTokens(content: string | readonly StreamingTextPart[], sourceCount?: number): Token[];
16
+ /** The sources the reply has cited so far, in their original order. */
17
+ export declare function citedSources(content: string | readonly StreamingTextPart[], sources: readonly StreamingTextSource[]): CitationSource[];
18
+ /** The reply as plain text, without citations, for copying. */
19
+ export declare function plainText(content: string | readonly StreamingTextPart[], sourceCount?: number): string;
20
+ /** `reply` runs the color trail; `reasoning` stays muted and only resolves. */
21
+ export type StreamedTone = "reasoning" | "reply";
22
+ export declare function StreamedWords({ content, slot, sources, streaming, tone, }: {
23
+ content: string | readonly StreamingTextPart[];
24
+ slot?: string;
25
+ sources: readonly StreamingTextSource[];
26
+ streaming: boolean;
27
+ tone?: StreamedTone;
28
+ }): import("react").JSX.Element;
29
+ export {};
@@ -0,0 +1,19 @@
1
+ import{props}from"@stylexjs/stylex";import{useCallback,useState}from"react";import{typeRoles}from"../../styles/typography.styles";import{CitationChip}from"../inline-citation/inline-citation";import{streamingTextDynamic,streamingTextStyles as styles}from"./streaming-text.styles";/** A cited source; see CitationSource. *//** Plain text, or a citation of `sources[source]` placed at that point. */import{jsx as _jsx}from"react/jsx-runtime";// A burst spreads across at most this long, however many words it brings.
2
+ const BURST_MS=400;const WORD_STAGGER_MS=30;// A word with the space after it, or a run of leading space.
3
+ const WORD_PATTERN=/\S+\s*|\s+/gu;const TRAILING_SPACE=/\s$/u;// A numbered citation marker such as [1], as some providers write them.
4
+ const CITATION_MARKER=/\[(?<citation>\d{1,3})\]/gu;// Turns [n] markers into citations of sources[n - 1]. A marker with no
5
+ // matching source stays text, so stray brackets in prose survive.
6
+ function splitMarkers(text,sourceCount){const parts=[];let rest=0;for(const match of text.matchAll(CITATION_MARKER)){const source=Number(match[1])-1;if(source<0||source>=sourceCount){continue;}parts.push(text.slice(rest,match.index),{source});rest=match.index+match[0].length;}parts.push(text.slice(rest));return parts.filter(part=>part!=="");}function toParts(content,sourceCount){const parts=typeof content==="string"?[content]:content;return parts.flatMap(part=>typeof part==="string"?splitMarkers(part,sourceCount):[part]);}const BLANK=/^\s*$/u;// Citations at one point, such as [1][2] or [1] [2], become one group, so
7
+ // they show as one chip.
8
+ function pushCitation(tokens,source){const last=tokens.at(-1);const beforeLast=tokens.at(-2);if(last===undefined){tokens.push({kind:"citation",sources:[source]});return;}if(last.kind==="citation"){last.sources.push(source);return;}if(last.kind==="word"&&BLANK.test(last.text)&&beforeLast?.kind==="citation"){tokens.pop();beforeLast.sources.push(source);return;}tokens.push({kind:"citation",sources:[source]});}export function toTokens(content,sourceCount=0){const tokens=[];for(const part of toParts(content,sourceCount)){if(typeof part!=="string"){pushCitation(tokens,part.source);continue;}// Each word keeps the space after it, so line breaks survive.
9
+ for(const text of part.match(WORD_PATTERN)??[]){tokens.push({kind:"word",text});}}return tokens;}/** The sources the reply has cited so far, in their original order. */export function citedSources(content,sources){const cited=new Set(toParts(content,sources.length).flatMap(part=>typeof part==="string"?[]:[part.source]));return sources.filter((_,index)=>cited.has(index));}/** The reply as plain text, without citations, for copying. */export function plainText(content,sourceCount=0){return toParts(content,sourceCount).filter(part=>typeof part==="string").join("");}// Tracks which tokens are new since the last render, adjusting state during
10
+ // render rather than in an effect.
11
+ function useArrival(count){const[arrival,setArrival]=useState(()=>({count,from:count,settled:count}));// A token's reveal ended: it and every token before it are settled.
12
+ const settle=useCallback(index=>{setArrival(current=>index<current.settled?current:{...current,settled:Math.min(index+1,current.count)});},[]);if(arrival.count===count){return{arrival,settle};}const next={count,from:Math.min(arrival.count,count),settled:Math.min(arrival.settled,count)};setArrival(next);return{arrival:next,settle};}// The token whose reveal just ended: the paragraph's direct child it sits in.
13
+ function tokenIndex(paragraph,target){let node=target instanceof Element?target:null;while(node&&node.parentElement!==paragraph){node=node.parentElement;}return node?Array.prototype.indexOf.call(paragraph.children,node):-1;}/** `reply` runs the color trail; `reasoning` stays muted and only resolves. */function arrivalStyle(index,arrival,trail){if(index<arrival.settled){return null;}const burst=arrival.count-arrival.from;const step=Math.min(WORD_STAGGER_MS,BURST_MS/Math.max(burst,1));const delay=index>=arrival.from?(index-arrival.from)*step:0;return[trail?styles.word:styles.resolveArrive,streamingTextDynamic.delay(`${Math.round(delay)}ms`)];}// While streaming, a last word with no space after it may still be growing
14
+ // ("Contai" before "Container"), so it waits until the stream confirms it.
15
+ function settledTokens(tokens,streaming){const last=tokens.at(-1);const partial=streaming&&last?.kind==="word"&&!TRAILING_SPACE.test(last.text);return partial?tokens.slice(0,-1):tokens;}// The reply's height eases to each new line instead of jumping, so whatever
16
+ // sits below it moves smoothly. The observer sets the height directly.
17
+ function easeHeight(frame){const content=frame?.firstElementChild;if(!(frame&&content)||typeof ResizeObserver==="undefined"){return;}const observer=new ResizeObserver(()=>{frame.style.height=`${content.getBoundingClientRect().height}px`;});observer.observe(content);return()=>observer.disconnect();}export function StreamedWords({content,slot="streaming-text-content",sources,streaming,tone="reply"}){const tokens=settledTokens(toTokens(content,sources.length),streaming);const{arrival,settle}=useArrival(tokens.length);const ended=useCallback(event=>{const index=tokenIndex(event.currentTarget,event.target);if(index>=0){settle(index);}},[settle]);return/*#__PURE__*/_jsx("div",{ref:easeHeight,...props(styles.textFrame),children:/*#__PURE__*/_jsx("p",{"aria-busy":streaming||undefined,"data-slot":slot,onAnimationEnd:ended,...props(tone==="reply"?typeRoles.body:typeRoles.ui,styles.text,tone==="reasoning"&&styles.reasoningText),children:tokens.map((token,index)=>{const style=arrivalStyle(index,arrival,tone==="reply"&&token.kind==="word");if(token.kind==="citation"){return/*#__PURE__*/_jsx(CitationChip,{arrival:style// biome-ignore lint/suspicious/noArrayIndexKey: tokens only append, so a position is stable.
18
+ ,sources:token.sources.flatMap(at=>sources[at]??[])},index);}return(/*#__PURE__*/// biome-ignore lint/suspicious/noArrayIndexKey: tokens only append, so a position is stable.
19
+ _jsx("span",{...props(style),children:token.text},index));})})});}
@@ -0,0 +1,35 @@
1
+ import { type ComponentPropsWithRef } from "react";
2
+ import type { Closed } from "../../closed";
3
+ import { type StreamingTextPart, type StreamingTextSource } from "./streaming-text-words";
4
+ export type { StreamingTextPart, StreamingTextSource, } from "./streaming-text-words";
5
+ /**
6
+ * `streaming` while words arrive, `complete` once the reply has ended, and
7
+ * `error` when it stopped early; the partial reply stays.
8
+ */
9
+ export type StreamingTextState = "complete" | "error" | "streaming";
10
+ export type StreamingTextFeedback = "down" | "up";
11
+ export type StreamingTextProps = Omit<Closed<ComponentPropsWithRef<"div">>, "children" | "content" | "data-slot" | "role"> & {
12
+ /**
13
+ * The reply so far: text, or text with citations placed where the model
14
+ * cites them. Pass the growing value as it streams; only new words animate.
15
+ */
16
+ content: string | readonly StreamingTextPart[];
17
+ /** The rating the person gave, if any. */
18
+ feedback?: StreamingTextFeedback | null;
19
+ /** Prompts offered once the reply is complete. */
20
+ followUps?: readonly string[];
21
+ /** Shows Good and Bad response buttons. */
22
+ onFeedback?: (feedback: StreamingTextFeedback | null) => void;
23
+ onFollowUp?: (prompt: string, index: number) => void;
24
+ /** Shows a Retry button. */
25
+ onRetry?: () => void;
26
+ /** Sources cited in `content`, listed under the reply. */
27
+ sources?: readonly StreamingTextSource[];
28
+ status: StreamingTextState;
29
+ };
30
+ /**
31
+ * A reply that arrives a word at a time. Words resolve out of a soft blur,
32
+ * citations sit where the model cites them, and once the reply is complete
33
+ * its actions, sources, and follow-ups become available.
34
+ */
35
+ export declare function StreamingText({ content, feedback, followUps, onFeedback, onFollowUp, onRetry, ref: forwardedRef, sources, status, ...rest }: StreamingTextProps): import("react").JSX.Element;
@@ -0,0 +1,13 @@
1
+ "use client";import{props}from"@stylexjs/stylex";import{AnimatePresence,m}from"motion/react";import{useCallback}from"react";import{CopyButton}from"../../copy-button";import{IconAlertCircle,IconArrowBackUp,IconRefresh,IconThumbDown,IconThumbUp}from"../../icons";import{disclosure,MotionScope}from"../../motion";import{typeRoles}from"../../styles/typography.styles";import{Button}from"../button/button";import{Sources}from"../sources/sources";import{visuallyHiddenStyles}from"../visually-hidden/visually-hidden.styles";import{streamingTextStyles as styles}from"./streaming-text.styles";import{citedSources,plainText,StreamedWords}from"./streaming-text-words";/**
2
+ * `streaming` while words arrive, `complete` once the reply has ended, and
3
+ * `error` when it stopped early; the partial reply stays.
4
+ */import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";function FeedbackButtons({feedback,onFeedback}){const up=useCallback(()=>onFeedback(feedback==="up"?null:"up"),[feedback,onFeedback]);const down=useCallback(()=>onFeedback(feedback==="down"?null:"down"),[feedback,onFeedback]);return/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Button,{"aria-label":"Good response","aria-pressed":feedback==="up",onClick:up,size:"icon-xs",variant:"ghost",children:/*#__PURE__*/_jsx(IconThumbUp,{"aria-hidden":"true",size:"1em"})}),/*#__PURE__*/_jsx(Button,{"aria-label":"Bad response","aria-pressed":feedback==="down",onClick:down,size:"icon-xs",variant:"ghost",children:/*#__PURE__*/_jsx(IconThumbDown,{"aria-hidden":"true",size:"1em"})})]});}// Follow-ups rise in one after another when a reply finishes on screen; a
5
+ // reply that loads complete shows them at once.
6
+ const staggered={hidden:{},shown:{transition:{staggerChildren:0.09}}};const rising={hidden:{opacity:0,y:4},shown:{opacity:1,transition:disclosure,y:0}};function FollowUp({index,onFollowUp,prompt}){const choose=useCallback(()=>onFollowUp?.(prompt,index),[index,onFollowUp,prompt]);return/*#__PURE__*/_jsx(m.li,{variants:rising,children:/*#__PURE__*/_jsxs("button",{onClick:choose,type:"button",...props(typeRoles.ui,styles.followUp),children:[/*#__PURE__*/_jsx(IconArrowBackUp,{"aria-hidden":"true",size:14,...props(styles.followUpIcon)}),prompt]})});}function FollowUps({followUps,onFollowUp}){return/*#__PURE__*/_jsxs("div",{"data-slot":"streaming-text-follow-ups",...props(styles.followUps),children:[/*#__PURE__*/_jsx("p",{...props(typeRoles.label,styles.followUpsTitle),children:"Follow-ups"}),/*#__PURE__*/_jsx(m.ul,{animate:"shown",initial:"hidden",variants:staggered,...props(styles.followUpsList),children:followUps.map((prompt,index)=>/*#__PURE__*/_jsx(FollowUp,{index:index,onFollowUp:onFollowUp,prompt:prompt},prompt))})]});}const STOPPED="The reply stopped before it finished.";// The visible note shows only on error; the live region is always present so
7
+ // the announcement is not lost.
8
+ function ErrorNote({error}){return/*#__PURE__*/_jsxs(_Fragment,{children:[error?/*#__PURE__*/_jsxs("p",{"data-slot":"streaming-text-error",...props(typeRoles.ui,styles.error),children:[/*#__PURE__*/_jsx(IconAlertCircle,{"aria-hidden":"true",size:16}),STOPPED]}):null,/*#__PURE__*/_jsx("span",{"aria-live":"polite",role:"status",...props(visuallyHiddenStyles.root),children:error?STOPPED:null})]});}function Actions({content,feedback,onFeedback,onRetry,sources,streaming}){// Present while streaming so the reply never jumps, but inert.
9
+ return/*#__PURE__*/_jsx("div",{"data-slot":"streaming-text-actions",inert:streaming,...props(styles.actions),children:/*#__PURE__*/_jsxs("div",{...props(styles.actionsGroup),children:[/*#__PURE__*/_jsx(CopyButton,{label:"Copy response",text:plainText(content,sources.length)}),onRetry?/*#__PURE__*/_jsx(Button,{"aria-label":"Retry",onClick:onRetry,size:"icon-xs",variant:"ghost",children:/*#__PURE__*/_jsx(IconRefresh,{"aria-hidden":"true",size:"1em"})}):null,onFeedback?/*#__PURE__*/_jsx(FeedbackButtons,{feedback:feedback,onFeedback:onFeedback}):null]})});}/**
10
+ * A reply that arrives a word at a time. Words resolve out of a soft blur,
11
+ * citations sit where the model cites them, and once the reply is complete
12
+ * its actions, sources, and follow-ups become available.
13
+ */export function StreamingText({content,feedback,followUps=[],onFeedback,onFollowUp,onRetry,ref:forwardedRef,sources=[],status,...rest}){const streaming=status==="streaming";for(const name of["className","data-slot","role","style"]){Reflect.deleteProperty(rest,name);}return/*#__PURE__*/_jsxs("div",{...rest,"data-slot":"streaming-text","data-status":status,ref:forwardedRef,...props(styles.root),children:[/*#__PURE__*/_jsx(StreamedWords,{content:content,sources:sources,streaming:streaming}),/*#__PURE__*/_jsx(ErrorNote,{error:status==="error"}),/*#__PURE__*/_jsx(Sources,{sources:streaming?citedSources(content,sources):sources}),/*#__PURE__*/_jsx(Actions,{content:content,feedback:feedback,onFeedback:onFeedback,onRetry:onRetry,sources:sources,streaming:streaming}),/*#__PURE__*/_jsx(MotionScope,{children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:status==="complete"&&followUps.length>0?/*#__PURE__*/_jsx(FollowUps,{followUps:followUps,onFollowUp:onFollowUp},"follow-ups"):null})})]});}
@@ -0,0 +1,6 @@
1
+ import{create,keyframes}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors}from"../../styles/colors.stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/dimensions.stylex";import{controlSize,glyphSize}from"../../styles/dimensions.stylex";import"../../styles/interaction.stylex";import{borderWidth}from"../../styles/interaction.stylex";import"../../styles/motion.stylex";import{duration,easing}from"../../styles/motion.stylex";import"../../styles/shape.stylex";import{shape}from"../../styles/shape.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";// A word resolves out of a soft blur as it arrives.
2
+ const resolve="x1a1n1oe-B";// A new word arrives faint and violet, warms to pink, then settles into the
3
+ // text color. Words keep landing behind it, so the newest few form a
4
+ // gradient at the growing edge of the reply.
5
+ const trail="xkog4lp-B";const arrive={animationDuration:{[conditions.reducedMotion]:duration.instant,default:"360ms"},animationFillMode:"both",animationTimingFunction:easing.expoOut};export const streamingTextStyles={actions:{kGNEyG:"x6s0dn4",k1xSpc:"x78zum5",kwnvtZ:"x1a02dak",kOIVth:"x13hh4mm",keTefX:"x1is7kxt",kSiTet:"x96pum x1hc1fzr",kIyJzY:"x1e471i8 x115jf8",k1ekBW:"x19991ni",kAMwcw:"xvhdtae",$$css:true},actionsGroup:{kGNEyG:"x6s0dn4",k1xSpc:"x78zum5",kOIVth:"xxhr3t",$$css:true},error:{kGNEyG:"x6s0dn4",kMwMTN:"x1ytrddi",k1xSpc:"x78zum5",kOIVth:"xp4ho6d",kogj98:"x1ghz6dp",$$css:true},followUp:{kGNEyG:"x6s0dn4",kysU6D:"xjyslct",kWkggS:"xxsa5ao x12ribo7 xjbqb8w",kaIpWk:"x2b34ud",kMzoRj:"xc342km",kMwMTN:"x14tvo57",kkrTdU:"x1ypdohk",k1xSpc:"x78zum5",kOIVth:"xp4ho6d",kzqmXN:"xh8yej3",kogj98:"x1ghz6dp",kjBf7l:"x4dprnk x1uczgqu",kInvED:"x2ssjo2",k3XXqK:"x9v5kkp x1t137rt",kMeerF:"x1vhx2qj",k8WAf4:"x391bbb",kg3NbH:"xb5xqfq",k9WMMc:"x1yc453h",$$css:true},followUpIcon:{kMwMTN:"x125omll",kmuXW:"x2lah0s",k3aq6I:"x19axjrm x1c071of",$$css:true},followUps:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"x13hh4mm",keoZOQ:"x16yphcf",$$css:true},followUpsList:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"x195vfkc",kB88ic:"xe8uvvx",kogj98:"x1ghz6dp",kUOVxO:"x1tjh6xj",kmVPX3:"x1717udv",$$css:true},followUpsTitle:{kMwMTN:"x125omll",kogj98:"x1ghz6dp",$$css:true},reasoningText:{kMwMTN:"x125omll",$$css:true},resolveArrive:{kKVMdj:"x1tzfbnl xov6gjd",k44tkh:"xui4633 x9dz2be",kWV6AL:"x1u6ievf",kyAemX:"xc8zlda",$$css:true},root:{kMwMTN:"x14tvo57",k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"xp4ho6d",k7Eaqz:"xeuugli",$$css:true},text:{kogj98:"x1ghz6dp",kHjlTd:"xj0a0fe",kN2L0X:"xk4td0m",khDVqt:"x1fj9vlw",$$css:true},textFrame:{kVQacm:"x7giv3",kOmJVX:"x1e0hetf",kIyJzY:"x1e471i8 x43t7r1",k1ekBW:"xua3uq3",kAMwcw:"xvhdtae",$$css:true},word:{k44tkh:"xui4633 x1m9vv7p",kWV6AL:"xskzprw",kKVMdj:"x1tzfbnl xzhw2s5",kyAemX:"x17ay8nm",$$css:true}};// A burst of words staggers in, so it never lands all at once.
6
+ export const streamingTextDynamic={delay:delay=>[{kKxzle:delay!=null?"xvo38ju":delay,$$css:true},{"--x-animationDelay":(val=>typeof val==="number"?val+"ms":val!=null?val:undefined)(delay)}]};
@@ -0,0 +1,23 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from "react";
2
+ import type { Closed } from "../../closed";
3
+ export type SuggestionsProps = Omit<Closed<ComponentPropsWithRef<"div">>, "data-slot" | "role"> & {
4
+ /** Names the row for screen readers. */
5
+ "aria-label"?: string;
6
+ children: ReactNode;
7
+ };
8
+ /**
9
+ * A row of prompts the person can send in one click, above the composer.
10
+ * It stays one line: when the pills outrun the space it scrolls sideways,
11
+ * and its edges fade where more wait.
12
+ */
13
+ export declare function Suggestions({ "aria-label": ariaLabel, children, ref, ...rest }: SuggestionsProps): import("react").JSX.Element;
14
+ export type SuggestionProps = Omit<Closed<ComponentPropsWithRef<"button">>, "children" | "data-slot" | "onClick" | "type"> & {
15
+ /** A glyph before the words, such as a test tube for "Write tests". */
16
+ icon?: ReactNode;
17
+ /** Called with the suggestion, which is the message to send. */
18
+ onClick?: (suggestion: string) => void;
19
+ /** The prompt, shown as the label and passed to `onClick`. */
20
+ suggestion: string;
21
+ };
22
+ /** One prompt: an outline pill whose label is the message it sends. */
23
+ export declare function Suggestion({ disabled, icon, onClick, ref, suggestion, ...rest }: SuggestionProps): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ "use client";import{Button as BaseButton}from"@base-ui/react/button";import{ScrollArea as BaseScrollArea}from"@base-ui/react/scroll-area";import{props}from"@stylexjs/stylex";import{useCallback}from"react";import{buttonStyles}from"../button/button.styles";import{scrollAreaStyles}from"../scroll-area/scroll-area.styles";import{suggestionStyles as styles}from"./suggestion.styles";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";/**
2
+ * A row of prompts the person can send in one click, above the composer.
3
+ * It stays one line: when the pills outrun the space it scrolls sideways,
4
+ * and its edges fade where more wait.
5
+ */export function Suggestions({"aria-label":ariaLabel="Suggestions",children,ref,...rest}){for(const prop of["className","style"]){Reflect.deleteProperty(rest,prop);}return(/*#__PURE__*/// The faded edges say there is more. Touch, trackpads, and focus scroll
6
+ // the row; a thin thumb appears on hover for a mouse.
7
+ _jsxs(BaseScrollArea.Root,{"aria-label":ariaLabel,ref:ref,role:"group",...props(scrollAreaStyles.root,styles.fit,styles.root),children:[/*#__PURE__*/_jsx(BaseScrollArea.Viewport,{...props(scrollAreaStyles.viewport,scrollAreaStyles.viewportFade,scrollAreaStyles.viewportOverscrollContain,styles.fit,styles.viewport),children:/*#__PURE__*/_jsx(BaseScrollArea.Content,{...rest,"data-slot":"suggestions",...props(styles.row),children:children})}),/*#__PURE__*/_jsx(BaseScrollArea.Scrollbar,{orientation:"horizontal",...props(scrollAreaStyles.scrollbar,scrollAreaStyles.scrollbarHorizontal,styles.scrollbar),children:/*#__PURE__*/_jsx(BaseScrollArea.Thumb,{...props(scrollAreaStyles.thumb)})})]}));}/** One prompt: an outline pill whose label is the message it sends. */export function Suggestion({disabled=false,icon,onClick,ref,suggestion,...rest}){for(const prop of["className","style"]){Reflect.deleteProperty(rest,prop);}const send=useCallback(()=>onClick?.(suggestion),[onClick,suggestion]);return/*#__PURE__*/_jsxs(BaseButton,{...rest,"data-slot":"suggestion",disabled:disabled,onClick:send,ref:ref,type:"button",...props(buttonStyles.base,buttonStyles.outline,buttonStyles.sm,disabled?buttonStyles.disabled:buttonStyles.press,disabled?null:buttonStyles.interactionOutline,styles.pill),children:[icon?/*#__PURE__*/_jsx("span",{"aria-hidden":"true",...props(styles.glyph),children:icon}):null,suggestion]});}
@@ -0,0 +1,3 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/interaction.stylex";import{borderWidth}from"../../styles/interaction.stylex";import"../../styles/spacing.stylex";import{space}from"../../styles/spacing.stylex";const ring=`${borderWidth.focus}px`;// The strip under the pills: a 4px thumb, 2px clear of the pills, in a bar
2
+ // with 1px around it. The focus ring's 3px fits inside it too.
3
+ const bar=`calc(${space["1"]} + 2px)`;const strip=`calc(${bar} + 1px)`;export const suggestionStyles={fit:{kZKoxP:"xt7dq6l",$$css:true},glyph:{k1xSpc:"x3nfvp2",kmuXW:"x2lah0s",$$css:true},pill:{kT0f0o:"x3hdh8v",kVL7Gh:"xr0m5pc",kfmiAY:"x9okykr",krdFHd:"x1142k65",kmuXW:"x2lah0s",khDVqt:"xuxw1ft",$$css:true},root:{ktR8K2:"x41o525",k1K539:"xrlti3l",keoZOQ:"x1o1lne9",$$css:true},row:{k1xSpc:"x78zum5",kOIVth:"xp4ho6d",kUOVxO:"x1olqop1 x1gtwjfb",kmVPX3:"xd3kdmu",kGO01o:"x1pte9ik",kzqmXN:"xezivpi",$$css:true},scrollbar:{kZKoxP:"xhiq0k0",kogj98:"x1ghz6dp",kmVPX3:"xyf9f8g",$$css:true},viewport:{katHQp:"x1uik0ie",$$css:true}};
@@ -0,0 +1,12 @@
1
+ import { Switch as BaseSwitch } from "@base-ui/react/switch";
2
+ import type { ComponentPropsWithRef } from "react";
3
+ type BaseSwitchProps = ComponentPropsWithRef<typeof BaseSwitch.Root>;
4
+ export type SwitchSize = "default" | "lg" | "sm";
5
+ export type SwitchProps = Omit<BaseSwitchProps, "children" | "className" | "disabled" | "nativeButton" | "parent" | "ref" | "render" | "style"> & {
6
+ disabled?: boolean;
7
+ invalid?: boolean;
8
+ ref?: BaseSwitchProps["ref"];
9
+ size?: SwitchSize;
10
+ };
11
+ export declare function Switch({ disabled, invalid, readOnly, ref: forwardedRef, size, ...rest }: SwitchProps): import("react").JSX.Element;
12
+ export {};
@@ -0,0 +1 @@
1
+ "use client";import{Switch as BaseSwitch}from"@base-ui/react/switch";import{props}from"@stylexjs/stylex";import{switchStyles}from"./switch.styles";import{jsx as _jsx}from"react/jsx-runtime";const sizeStyles={default:switchStyles.sizeDefault,lg:switchStyles.sizeLg,sm:switchStyles.sizeSm};const thumbSizeStyles={default:switchStyles.thumbDefault,lg:switchStyles.thumbLg,sm:switchStyles.thumbSm};export function Switch({disabled=false,invalid=false,readOnly=false,ref:forwardedRef=undefined,size="default",...rest}){return/*#__PURE__*/_jsx(BaseSwitch.Root,{...rest,"aria-invalid":invalid||undefined,"data-slot":"switch",disabled:disabled,readOnly:readOnly,ref:forwardedRef,...props(switchStyles.base,sizeStyles[size],switchStyles.forcedColorsChecked),children:/*#__PURE__*/_jsx(BaseSwitch.Thumb,{"data-slot":"switch-thumb",...props(switchStyles.thumb,thumbSizeStyles[size])})});}
@@ -0,0 +1 @@
1
+ import{create}from"@stylexjs/stylex";import"../../styles/colors.stylex";import{colors,fieldColors}from"../../styles/colors.stylex";import"../../styles/conditions.stylex";import{conditions}from"../../styles/conditions.stylex";import"../../styles/interaction.stylex";import{borderWidth,focus,focusMotion,focusOutline,opacity}from"../../styles/interaction.stylex";import"../../styles/motion.stylex";import{duration,easing}from"../../styles/motion.stylex";import"../../styles/shadows.stylex";import{shadows}from"../../styles/shadows.stylex";export const switchStyles={base:{"--mizen-switch-thumb-radius":"xtzdw4k x8qii98 xsh7lky x1yg0ze9","--mizen-switch-thumb-scale-y":"x1tqmw0x x1g9yl17 x6046pj xdlfpb7",kGNEyG:"x6s0dn4",k44tkh:"x1iha7go",kKVMdj:"x1b5t0b2",kysU6D:"xjyslct",kWkggS:"x8g7iud xvkgy7j x1snul95 xfxevdu x1keecby x1lgktvr",kVAM5u:"x1jj8si6 xa6gebk x9r1u3d",ksu8eU:"x1y0btm7",kMzoRj:"x1cdonsl",kGVxlE:"x19er7zc xywav3q xxswp7w x210vsb xpt4131 x1bep6d6 x1tsqlz3 x1sidj8d x2z5kxh x1xj6pjg x1xxjdaf",kB7OPa:"x9f619",kkrTdU:"x1j1ks5o xktmlxf x1ypdohk",k1xSpc:"x3nfvp2",kmuXW:"x2lah0s",kjj79g:"x1nhvcw1",kSiTet:"x1yporm9 x1hc1fzr",kjBf7l:"x4dprnk x1uczgqu",kInvED:"x7jjmpn x1w1ofmy",k3XXqK:"x9v5kkp xzc55om",kMeerF:"xm9seqh x1vhx2qj",k8WAf4:"xsplgde",kg3NbH:"x1gbt3hs",kVAEAm:"x1n2onr6",kIyJzY:"x1e471i8 x1j5v3x2",k1ekBW:"xlbla5t",kAMwcw:"xvhdtae",kfSwDN:"x87ps6o",kXLuUW:"xxymvpz",$$css:true},forcedColorsChecked:{kpNTys:"x74uwrl",kZ8EXX:"x1gyuuhj",$$css:true},sizeDefault:{kT0f0o:"x3hdh8v",kVL7Gh:"xr0m5pc",kfmiAY:"x9okykr",krdFHd:"x1142k65",kZKoxP:"xmll18r",kzqmXN:"x1s4ejo4",$$css:true},sizeLg:{kT0f0o:"x3hdh8v",kVL7Gh:"xr0m5pc",kfmiAY:"x9okykr",krdFHd:"x1142k65",kZKoxP:"xam5rvr",kzqmXN:"xb1qrhf",$$css:true},sizeSm:{kT0f0o:"x3hdh8v",kVL7Gh:"xr0m5pc",kfmiAY:"x9okykr",krdFHd:"x1142k65",kZKoxP:"xaylbqo",kzqmXN:"xs5h3dt",$$css:true},thumb:{kWkggS:"x8r451n x1dgvb5d",kVAM5u:"x1a9ryxi x13gay1x",kaIpWk:"x1jm5wza",ksu8eU:"x1y0btm7",kMzoRj:"xmkeg23",kGVxlE:"x1oyd9xq xxmju8b",kB7OPa:"x9f619",k1xSpc:"x1lliihq",k3aq6I:"x1g9hb5n",k3nNDw:"x1g0ag68",kIyJzY:"x1e471i8 x1j5v3x2",k1ekBW:"x12rtq9n",kAMwcw:"xvhdtae",$$css:true},thumbDefault:{kZKoxP:"x1l36t39",keTefX:"x11h9ylw x1lziwak",kzqmXN:"xcdlrvm",$$css:true},thumbLg:{kZKoxP:"xmll18r",keTefX:"xgnz0v5 x1lziwak",kzqmXN:"xwqq7k2",$$css:true},thumbSm:{kZKoxP:"xf08kfj",keTefX:"xd1z44d x1lziwak",kzqmXN:"x1xvt488",$$css:true}};
@@ -0,0 +1,64 @@
1
+ import type { ComponentPropsWithRef } from "react";
2
+ import type { Closed } from "../../closed";
3
+ type Part<T> = Omit<Closed<T>, "data-slot" | "role">;
4
+ type Align = "center" | "end" | "start";
5
+ export type TableScroll = "both" | "horizontal";
6
+ type AccessibleName = {
7
+ "aria-label": string;
8
+ "aria-labelledby"?: never;
9
+ } | {
10
+ "aria-label"?: never;
11
+ "aria-labelledby": string;
12
+ };
13
+ export type TableContainerProps = Omit<Part<ComponentPropsWithRef<"section">>, "aria-label" | "aria-labelledby" | "tabIndex"> & AccessibleName & {
14
+ /**
15
+ * Makes the scroll region a tab stop for keyboard scrolling. Turn it off
16
+ * when an interactive grid inside already moves focus cell by cell.
17
+ */
18
+ focusable?: boolean;
19
+ scroll?: TableScroll;
20
+ tabIndex?: never;
21
+ };
22
+ export type TableProps = Part<ComponentPropsWithRef<"table">> & {
23
+ /**
24
+ * Spreadsheet presentation: column rules and compact rows for working data.
25
+ * `"interactive"` also exposes the ARIA grid role; only use it with a
26
+ * keyboard model, as DataTable provides.
27
+ */
28
+ grid?: boolean | "interactive";
29
+ /**
30
+ * Exact fixed-layout width in px: the sum of sized columns. Wider tables
31
+ * scroll, and narrower ones leave free space, like a spreadsheet.
32
+ */
33
+ width?: number;
34
+ };
35
+ export type TableHeaderProps = Part<ComponentPropsWithRef<"thead">> & {
36
+ sticky?: boolean;
37
+ };
38
+ export type TableBodyProps = Part<ComponentPropsWithRef<"tbody">>;
39
+ export type TableFooterProps = Part<ComponentPropsWithRef<"tfoot">>;
40
+ export type TableRowProps = Part<ComponentPropsWithRef<"tr">> & {
41
+ selected?: boolean;
42
+ };
43
+ export type TableHeadProps = Omit<Part<ComponentPropsWithRef<"th">>, "align" | "scope"> & {
44
+ align?: Align;
45
+ numeric?: boolean;
46
+ scope?: "col" | "colgroup" | "row" | "rowgroup";
47
+ sticky?: boolean;
48
+ };
49
+ export type TableCellProps = Omit<Part<ComponentPropsWithRef<"td">>, "align"> & {
50
+ align?: Align;
51
+ numeric?: boolean;
52
+ sticky?: boolean;
53
+ };
54
+ export type TableCaptionProps = Part<ComponentPropsWithRef<"caption">>;
55
+ export declare function TableContainer({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, focusable, ref: forwardedRef, scroll, ...rest }: TableContainerProps): import("react").JSX.Element;
56
+ export declare function Table({ children, grid, ref: forwardedRef, width, ...rest }: TableProps): import("react").JSX.Element;
57
+ export declare function TableHeader({ children, ref: forwardedRef, sticky, ...rest }: TableHeaderProps): import("react").JSX.Element;
58
+ export declare function TableBody({ children, ref: forwardedRef, ...rest }: TableBodyProps): import("react").JSX.Element;
59
+ export declare function TableFooter({ children, ref: forwardedRef, ...rest }: TableFooterProps): import("react").JSX.Element;
60
+ export declare function TableRow({ children, ref: forwardedRef, selected, ...rest }: TableRowProps): import("react").JSX.Element;
61
+ export declare function TableHead({ align, children, numeric, ref: forwardedRef, scope, sticky, ...rest }: TableHeadProps): import("react").JSX.Element;
62
+ export declare function TableCell({ align, children, numeric, ref: forwardedRef, sticky, ...rest }: TableCellProps): import("react").JSX.Element;
63
+ export declare function TableCaption({ children, ref: forwardedRef, ...rest }: TableCaptionProps): import("react").JSX.Element;
64
+ export {};