@lostgradient/cinder 0.2.0 → 0.3.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 (2480) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +4 -2
  3. package/components.json +1465 -290
  4. package/dist/_internal/overlay.d.ts +26 -3
  5. package/dist/_internal/toast-context.d.ts +8 -0
  6. package/dist/_internal/tree-context.d.ts +18 -0
  7. package/dist/_internal/tree-data.d.ts +22 -0
  8. package/dist/_internal/tree-drag-controller.svelte.d.ts +47 -0
  9. package/dist/_internal/tree-registry.svelte.d.ts +19 -3
  10. package/dist/_internal/use-virtualizer.svelte.d.ts +21 -0
  11. package/dist/_internal/virtual-item.d.ts +1 -0
  12. package/dist/components/_timeline-item/index.d.ts +4 -0
  13. package/dist/components/_tree-expand-all/index.d.ts +4 -0
  14. package/dist/components/_tree-expand-all/tree-expand-all.svelte.d.ts +18 -0
  15. package/dist/components/_tree-expand-all/tree-expand-all.types.d.ts +15 -0
  16. package/dist/components/_visually-hidden-live-region.svelte.d.ts +9 -0
  17. package/dist/components/access-gate/access-gate-inline.svelte.d.ts +13 -0
  18. package/dist/components/access-gate/access-gate.css +129 -0
  19. package/dist/components/access-gate/access-gate.schema.js +68 -0
  20. package/dist/components/access-gate/access-gate.svelte.d.ts +20 -0
  21. package/dist/components/access-gate/access-gate.types.d.ts +40 -0
  22. package/dist/components/access-gate/access-gate.variables.js +31 -0
  23. package/dist/components/access-gate/index.d.ts +5 -0
  24. package/dist/components/access-gate/index.js +1836 -0
  25. package/dist/components/accordion/accordion.schema.js +12 -32
  26. package/dist/components/accordion/accordion.svelte.d.ts +9 -2
  27. package/dist/components/accordion/accordion.variables.js +1 -31
  28. package/dist/components/accordion/index.js +1 -31
  29. package/dist/components/accordion-item/accordion-item.schema.js +12 -32
  30. package/dist/components/accordion-item/accordion-item.variables.js +1 -31
  31. package/dist/components/accordion-item/index.js +1 -31
  32. package/dist/components/alert/alert.schema.js +19 -32
  33. package/dist/components/alert/alert.variables.js +1 -31
  34. package/dist/components/alert/index.js +1 -31
  35. package/dist/components/alert-dialog/alert-dialog.schema.js +17 -39
  36. package/dist/components/alert-dialog/alert-dialog.types.d.ts +7 -0
  37. package/dist/components/alert-dialog/alert-dialog.variables.js +1 -31
  38. package/dist/components/alert-dialog/index.js +453 -238
  39. package/dist/components/area-chart/area-chart.schema.js +42 -46
  40. package/dist/components/area-chart/area-chart.types.d.ts +14 -0
  41. package/dist/components/area-chart/area-chart.variables.js +1 -31
  42. package/dist/components/area-chart/index.js +1 -31
  43. package/dist/components/aspect-ratio/aspect-ratio.schema.js +12 -32
  44. package/dist/components/aspect-ratio/aspect-ratio.variables.js +1 -31
  45. package/dist/components/aspect-ratio/index.js +1 -31
  46. package/dist/components/autocomplete/autocomplete.css +10 -3
  47. package/dist/components/autocomplete/autocomplete.schema.js +29 -45
  48. package/dist/components/autocomplete/autocomplete.types.d.ts +14 -0
  49. package/dist/components/autocomplete/autocomplete.variables.js +1 -31
  50. package/dist/components/autocomplete/index.js +961 -529
  51. package/dist/components/avatar/avatar.css +1 -0
  52. package/dist/components/avatar/avatar.schema.js +3 -32
  53. package/dist/components/avatar/avatar.types.d.ts +6 -0
  54. package/dist/components/avatar/avatar.variables.js +1 -31
  55. package/dist/components/avatar/index.js +1 -31
  56. package/dist/components/avatar-group/avatar-group.schema.js +6 -31
  57. package/dist/components/avatar-group/avatar-group.types.d.ts +10 -0
  58. package/dist/components/avatar-group/avatar-group.variables.js +1 -31
  59. package/dist/components/avatar-group/index.js +994 -559
  60. package/dist/components/backdrop/backdrop.schema.js +5 -33
  61. package/dist/components/backdrop/backdrop.variables.js +1 -31
  62. package/dist/components/backdrop/index.js +2 -32
  63. package/dist/components/badge/badge.css +1 -1
  64. package/dist/components/badge/badge.schema.js +12 -32
  65. package/dist/components/badge/badge.variables.js +1 -31
  66. package/dist/components/badge/index.js +1 -31
  67. package/dist/components/banner/banner.schema.js +8 -34
  68. package/dist/components/banner/banner.variables.js +1 -31
  69. package/dist/components/banner/index.js +1 -31
  70. package/dist/components/bar-chart/bar-chart.css +4 -0
  71. package/dist/components/bar-chart/bar-chart.schema.js +42 -46
  72. package/dist/components/bar-chart/bar-chart.types.d.ts +14 -0
  73. package/dist/components/bar-chart/bar-chart.variables.js +1 -31
  74. package/dist/components/bar-chart/index.js +2 -31
  75. package/dist/components/breadcrumbs/breadcrumbs.schema.js +1 -31
  76. package/dist/components/breadcrumbs/breadcrumbs.variables.js +1 -31
  77. package/dist/components/breadcrumbs/index.js +1 -31
  78. package/dist/components/button/button.css +7 -0
  79. package/dist/components/button/button.schema.js +20 -32
  80. package/dist/components/button/button.variables.js +1 -31
  81. package/dist/components/button/index.js +1 -31
  82. package/dist/components/button-group/button-group.schema.js +8 -34
  83. package/dist/components/button-group/button-group.types.d.ts +2 -0
  84. package/dist/components/button-group/button-group.variables.js +1 -31
  85. package/dist/components/button-group/index.js +1 -31
  86. package/dist/components/callout/callout.schema.js +6 -33
  87. package/dist/components/callout/callout.variables.js +1 -31
  88. package/dist/components/callout/index.js +1 -31
  89. package/dist/components/capability-gate/capability-gate.css +5 -2
  90. package/dist/components/capability-gate/capability-gate.schema.js +9 -35
  91. package/dist/components/capability-gate/capability-gate.variables.js +1 -31
  92. package/dist/components/capability-gate/index.js +1 -31
  93. package/dist/components/card/card.schema.js +7 -34
  94. package/dist/components/card/card.types.d.ts +2 -0
  95. package/dist/components/card/card.variables.js +1 -31
  96. package/dist/components/card/index.js +1 -31
  97. package/dist/components/chart.types.d.ts +12 -0
  98. package/dist/components/chat/adapter/chat-adapter.d.ts +123 -0
  99. package/dist/components/chat/adapter/index.d.ts +8 -0
  100. package/dist/components/chat/chat.schema.js +161 -48
  101. package/dist/components/chat/chat.types.d.ts +166 -0
  102. package/dist/components/chat/chat.variables.js +1 -31
  103. package/dist/components/chat/container/chat-history-trigger.svelte.d.ts +15 -0
  104. package/dist/components/chat/container/chat-participant-typing.svelte.d.ts +31 -0
  105. package/dist/components/chat/container/chat-status-announcer.svelte.d.ts +4 -1
  106. package/dist/components/chat/container/chat.svelte.d.ts +2 -85
  107. package/dist/components/chat/container/use-chat-keyboard-nav.svelte.d.ts +8 -0
  108. package/dist/components/chat/container/use-chat-message-groups.svelte.d.ts +16 -0
  109. package/dist/components/chat/container/use-chat-read-receipts.svelte.d.ts +51 -0
  110. package/dist/components/chat/container/use-chat-reasoning-state.svelte.d.ts +55 -0
  111. package/dist/components/chat/container/use-chat-typing-indicator.svelte.d.ts +76 -0
  112. package/dist/components/chat/container/use-chat-virtualizer.svelte.d.ts +47 -0
  113. package/dist/components/chat/index.d.ts +2 -1
  114. package/dist/components/chat/index.js +9813 -7207
  115. package/dist/components/chat/message/chat-message-parts-renderer.svelte.d.ts +4 -0
  116. package/dist/components/chat/message/chat-message-parts.d.ts +96 -0
  117. package/dist/components/chat/message/chat-message.svelte.d.ts +37 -0
  118. package/dist/components/chat/message/chat-read-receipt.svelte.d.ts +27 -0
  119. package/dist/components/chat/message/parts/image-part.svelte.d.ts +17 -0
  120. package/dist/components/chat/message/parts/markdown-part.svelte.d.ts +8 -0
  121. package/dist/components/chat/message/parts/reasoning-part.svelte.d.ts +12 -0
  122. package/dist/components/chat/message/parts/step-part.svelte.d.ts +8 -0
  123. package/dist/components/chat/message/parts/suggestion-part.svelte.d.ts +18 -0
  124. package/dist/components/chat/message/parts/tool-approval-part.svelte.d.ts +12 -0
  125. package/dist/components/chat/message/parts/tool-call-part.svelte.d.ts +12 -0
  126. package/dist/components/chat/message/parts/tool-result-part.svelte.d.ts +8 -0
  127. package/dist/components/chat/utilities/index.d.ts +2 -2
  128. package/dist/components/chat/utilities/types.d.ts +242 -2
  129. package/dist/components/chat/utilities/utilities.d.ts +64 -0
  130. package/dist/components/chat-conversation-header/chat-conversation-header.css +51 -0
  131. package/dist/components/chat-conversation-header/chat-conversation-header.schema.d.ts +3 -0
  132. package/dist/components/chat-conversation-header/chat-conversation-header.schema.js +64 -0
  133. package/dist/components/chat-conversation-header/chat-conversation-header.svelte.d.ts +19 -0
  134. package/dist/components/chat-conversation-header/chat-conversation-header.types.d.ts +18 -0
  135. package/dist/components/chat-conversation-header/chat-conversation-header.variables.d.ts +2 -0
  136. package/dist/components/chat-conversation-header/chat-conversation-header.variables.js +31 -0
  137. package/dist/components/chat-conversation-header/index.d.ts +5 -0
  138. package/dist/components/chat-conversation-header/index.js +3825 -0
  139. package/dist/components/chat-conversation-list/chat-conversation-list.css +114 -0
  140. package/dist/components/chat-conversation-list/chat-conversation-list.schema.d.ts +3 -0
  141. package/dist/components/chat-conversation-list/chat-conversation-list.schema.js +75 -0
  142. package/dist/components/chat-conversation-list/chat-conversation-list.svelte.d.ts +21 -0
  143. package/dist/components/chat-conversation-list/chat-conversation-list.types.d.ts +17 -0
  144. package/dist/components/chat-conversation-list/chat-conversation-list.variables.d.ts +2 -0
  145. package/dist/components/chat-conversation-list/chat-conversation-list.variables.js +31 -0
  146. package/dist/components/chat-conversation-list/conversation-summary.d.ts +30 -0
  147. package/dist/components/chat-conversation-list/index.d.ts +6 -0
  148. package/dist/components/chat-conversation-list/index.js +464 -0
  149. package/dist/components/checkbox/checkbox.schema.js +3 -32
  150. package/dist/components/checkbox/checkbox.variables.js +1 -31
  151. package/dist/components/checkbox/index.js +1 -31
  152. package/dist/components/checkbox-group/checkbox-group.schema.js +4 -32
  153. package/dist/components/checkbox-group/checkbox-group.variables.js +1 -31
  154. package/dist/components/checkbox-group/index.js +1 -31
  155. package/dist/components/chip/chip.schema.js +19 -40
  156. package/dist/components/chip/chip.types.d.ts +22 -0
  157. package/dist/components/chip/chip.variables.js +1 -31
  158. package/dist/components/chip/index.js +7 -31
  159. package/dist/components/choice-grid/choice-grid.schema.js +6 -33
  160. package/dist/components/choice-grid/choice-grid.variables.js +1 -31
  161. package/dist/components/choice-grid/index.js +1 -31
  162. package/dist/components/choice-grid-item/choice-grid-item.schema.js +4 -32
  163. package/dist/components/choice-grid-item/choice-grid-item.variables.js +1 -31
  164. package/dist/components/choice-grid-item/index.js +1 -31
  165. package/dist/components/click-away-listener/click-away-listener.schema.js +9 -33
  166. package/dist/components/click-away-listener/click-away-listener.variables.js +1 -31
  167. package/dist/components/click-away-listener/index.js +1 -31
  168. package/dist/components/code-block/code-block.css +77 -47
  169. package/dist/components/code-block/code-block.schema.js +4 -33
  170. package/dist/components/code-block/code-block.types.d.ts +9 -6
  171. package/dist/components/code-block/code-block.variables.js +1 -31
  172. package/dist/components/code-block/index.js +24 -42
  173. package/dist/components/collapsible/collapsible.schema.js +17 -32
  174. package/dist/components/collapsible/collapsible.variables.js +1 -31
  175. package/dist/components/collapsible/index.js +1 -31
  176. package/dist/components/color-field/color-field.schema.js +3 -32
  177. package/dist/components/color-field/color-field.variables.js +1 -31
  178. package/dist/components/color-field/index.js +1 -31
  179. package/dist/components/color-picker/color-picker.schema.js +5 -33
  180. package/dist/components/color-picker/color-picker.variables.js +1 -31
  181. package/dist/components/color-picker/index.js +1 -31
  182. package/dist/components/color-swatch-picker/color-swatch-picker.schema.js +9 -34
  183. package/dist/components/color-swatch-picker/color-swatch-picker.variables.js +1 -31
  184. package/dist/components/color-swatch-picker/index.js +1 -31
  185. package/dist/components/combobox/combobox.schema.js +10 -34
  186. package/dist/components/combobox/combobox.variables.js +1 -31
  187. package/dist/components/combobox/index.js +970 -511
  188. package/dist/components/command-item/command-item.schema.js +10 -35
  189. package/dist/components/command-item/command-item.variables.js +1 -31
  190. package/dist/components/command-item/index.js +1 -31
  191. package/dist/components/command-menu/command-menu.schema.js +15 -37
  192. package/dist/components/command-menu/command-menu.variables.js +1 -31
  193. package/dist/components/command-menu/index.js +962 -531
  194. package/dist/components/command-palette/command-palette.css +26 -12
  195. package/dist/components/command-palette/command-palette.schema.js +12 -36
  196. package/dist/components/command-palette/command-palette.variables.js +1 -31
  197. package/dist/components/command-palette/index.js +2 -32
  198. package/dist/components/confirm-dialog/confirm-dialog.schema.js +11 -34
  199. package/dist/components/confirm-dialog/confirm-dialog.variables.js +1 -31
  200. package/dist/components/confirm-dialog/index.js +455 -240
  201. package/dist/components/connection-indicator/connection-indicator.schema.js +1 -31
  202. package/dist/components/connection-indicator/connection-indicator.variables.js +1 -31
  203. package/dist/components/connection-indicator/index.js +1 -31
  204. package/dist/components/container/container.schema.js +12 -32
  205. package/dist/components/container/container.variables.js +1 -31
  206. package/dist/components/container/index.js +1 -31
  207. package/dist/components/context-menu/context-menu.context.d.ts +2 -0
  208. package/dist/components/context-menu/context-menu.schema.js +13 -37
  209. package/dist/components/context-menu/context-menu.types.d.ts +5 -0
  210. package/dist/components/context-menu/context-menu.variables.js +1 -31
  211. package/dist/components/context-menu/index.js +2111 -1670
  212. package/dist/components/context-menu-trigger/context-menu-trigger.schema.js +5 -33
  213. package/dist/components/context-menu-trigger/context-menu-trigger.types.d.ts +1 -0
  214. package/dist/components/context-menu-trigger/context-menu-trigger.variables.js +1 -31
  215. package/dist/components/context-menu-trigger/index.js +7 -31
  216. package/dist/components/copy-button/copy-button.schema.js +5 -33
  217. package/dist/components/copy-button/copy-button.variables.js +1 -31
  218. package/dist/components/copy-button/index.js +5 -32
  219. package/dist/components/data-grid/_internal/column-model.svelte.d.ts +43 -0
  220. package/dist/components/data-grid/_internal/geometry.d.ts +19 -0
  221. package/dist/components/data-grid/_internal/keyboard-model.d.ts +22 -0
  222. package/dist/components/data-grid/_internal/selection-model.svelte.d.ts +28 -0
  223. package/dist/components/data-grid/_internal/sort-model.d.ts +6 -0
  224. package/dist/components/data-grid/_internal/virtualization-adapter.svelte.d.ts +44 -0
  225. package/dist/components/data-grid/data-grid-selection-bind-probe.d.ts +4 -0
  226. package/dist/components/data-grid/data-grid.css +283 -0
  227. package/dist/components/data-grid/data-grid.schema.d.ts +3 -0
  228. package/dist/components/data-grid/data-grid.schema.js +136 -0
  229. package/dist/components/data-grid/data-grid.svelte.d.ts +40 -0
  230. package/dist/components/data-grid/data-grid.types.d.ts +102 -0
  231. package/dist/components/data-grid/data-grid.variables.d.ts +2 -0
  232. package/dist/components/data-grid/data-grid.variables.js +31 -0
  233. package/dist/components/data-grid/index.d.ts +5 -0
  234. package/dist/components/data-grid/index.js +3088 -0
  235. package/dist/components/data-list/data-list.schema.js +24 -36
  236. package/dist/components/data-list/data-list.types.d.ts +1 -0
  237. package/dist/components/data-list/data-list.variables.js +1 -31
  238. package/dist/components/data-list/index.js +1 -31
  239. package/dist/components/data-table/data-table.css +25 -0
  240. package/dist/components/data-table/data-table.schema.js +35 -34
  241. package/dist/components/data-table/data-table.types.d.ts +31 -1
  242. package/dist/components/data-table/data-table.variables.js +2 -32
  243. package/dist/components/data-table/index.js +458 -123
  244. package/dist/components/date-range-field/date-range-field.css +211 -0
  245. package/dist/components/date-range-field/date-range-field.schema.d.ts +3 -0
  246. package/dist/components/date-range-field/date-range-field.schema.js +95 -0
  247. package/dist/components/date-range-field/date-range-field.svelte.d.ts +19 -0
  248. package/dist/components/date-range-field/date-range-field.types.d.ts +72 -0
  249. package/dist/components/date-range-field/date-range-field.variables.d.ts +2 -0
  250. package/dist/components/date-range-field/date-range-field.variables.js +31 -0
  251. package/dist/components/date-range-field/index.d.ts +5 -0
  252. package/dist/components/date-range-field/index.js +297 -0
  253. package/dist/components/description-list/description-list.schema.js +7 -34
  254. package/dist/components/description-list/description-list.types.d.ts +1 -0
  255. package/dist/components/description-list/description-list.variables.js +1 -31
  256. package/dist/components/description-list/index.js +1 -31
  257. package/dist/components/diff-statistics/diff-statistics.schema.js +2 -32
  258. package/dist/components/diff-statistics/diff-statistics.types.d.ts +5 -2
  259. package/dist/components/diff-statistics/diff-statistics.variables.js +1 -31
  260. package/dist/components/diff-statistics/index.js +1 -31
  261. package/dist/components/diff-viewer/diff-viewer.schema.js +15 -36
  262. package/dist/components/diff-viewer/diff-viewer.variables.js +1 -31
  263. package/dist/components/diff-viewer/index.js +1 -31
  264. package/dist/components/divider/divider.schema.js +1 -31
  265. package/dist/components/divider/divider.svelte.d.ts +1 -1
  266. package/dist/components/divider/divider.variables.js +1 -31
  267. package/dist/components/divider/index.js +1 -31
  268. package/dist/components/drawer/drawer.schema.js +12 -35
  269. package/dist/components/drawer/drawer.variables.js +1 -31
  270. package/dist/components/drawer/index.js +382 -180
  271. package/dist/components/dropdown/dropdown.schema.js +9 -35
  272. package/dist/components/dropdown/dropdown.types.d.ts +4 -0
  273. package/dist/components/dropdown/dropdown.variables.js +1 -31
  274. package/dist/components/dropdown/index.js +1258 -827
  275. package/dist/components/dropdown-group/dropdown-group.schema.js +7 -34
  276. package/dist/components/dropdown-group/dropdown-group.types.d.ts +2 -0
  277. package/dist/components/dropdown-group/dropdown-group.variables.js +1 -31
  278. package/dist/components/dropdown-group/index.js +1 -31
  279. package/dist/components/dropdown-item/dropdown-item.schema.js +9 -35
  280. package/dist/components/dropdown-item/dropdown-item.types.d.ts +4 -0
  281. package/dist/components/dropdown-item/dropdown-item.variables.js +1 -31
  282. package/dist/components/dropdown-item/index.js +1 -31
  283. package/dist/components/dropdown-label/dropdown-label.schema.js +3 -32
  284. package/dist/components/dropdown-label/dropdown-label.types.d.ts +1 -0
  285. package/dist/components/dropdown-label/dropdown-label.variables.js +1 -31
  286. package/dist/components/dropdown-label/index.js +1 -31
  287. package/dist/components/dropdown-menu/dropdown-menu.schema.js +3 -32
  288. package/dist/components/dropdown-menu/dropdown-menu.types.d.ts +1 -0
  289. package/dist/components/dropdown-menu/dropdown-menu.variables.js +1 -31
  290. package/dist/components/dropdown-menu/index.js +786 -355
  291. package/dist/components/dropdown-separator/dropdown-separator.schema.js +3 -32
  292. package/dist/components/dropdown-separator/dropdown-separator.types.d.ts +1 -0
  293. package/dist/components/dropdown-separator/dropdown-separator.variables.js +1 -31
  294. package/dist/components/dropdown-separator/index.js +1 -31
  295. package/dist/components/dropdown-trigger/dropdown-trigger.schema.js +3 -32
  296. package/dist/components/dropdown-trigger/dropdown-trigger.types.d.ts +1 -0
  297. package/dist/components/dropdown-trigger/dropdown-trigger.variables.js +1 -31
  298. package/dist/components/dropdown-trigger/index.js +1 -31
  299. package/dist/components/empty-state/empty-state.schema.js +7 -34
  300. package/dist/components/empty-state/empty-state.types.d.ts +3 -0
  301. package/dist/components/empty-state/empty-state.variables.js +1 -31
  302. package/dist/components/empty-state/index.js +1 -31
  303. package/dist/components/event-stream-viewer/event-stream-viewer.css +474 -0
  304. package/dist/components/event-stream-viewer/event-stream-viewer.schema.d.ts +3 -0
  305. package/dist/components/event-stream-viewer/event-stream-viewer.schema.js +92 -0
  306. package/dist/components/event-stream-viewer/event-stream-viewer.svelte.d.ts +19 -0
  307. package/dist/components/event-stream-viewer/event-stream-viewer.types.d.ts +81 -0
  308. package/dist/components/event-stream-viewer/event-stream-viewer.variables.d.ts +2 -0
  309. package/dist/components/event-stream-viewer/event-stream-viewer.variables.js +31 -0
  310. package/dist/components/event-stream-viewer/index.d.ts +5 -0
  311. package/dist/components/event-stream-viewer/index.js +1036 -0
  312. package/dist/components/experimental/connection-indicator/index.js +1 -31
  313. package/dist/components/experimental/json-viewer/index.js +1 -31
  314. package/dist/components/experimental/message/index.js +1 -31
  315. package/dist/components/faceted-filter-bar/faceted-filter-bar.css +121 -0
  316. package/dist/components/faceted-filter-bar/faceted-filter-bar.schema.d.ts +3 -0
  317. package/dist/components/faceted-filter-bar/faceted-filter-bar.schema.js +97 -0
  318. package/dist/components/faceted-filter-bar/faceted-filter-bar.svelte.d.ts +18 -0
  319. package/dist/components/faceted-filter-bar/faceted-filter-bar.types.d.ts +95 -0
  320. package/dist/components/faceted-filter-bar/faceted-filter-bar.variables.d.ts +2 -0
  321. package/dist/components/faceted-filter-bar/faceted-filter-bar.variables.js +31 -0
  322. package/dist/components/faceted-filter-bar/index.d.ts +5 -0
  323. package/dist/components/faceted-filter-bar/index.js +1062 -0
  324. package/dist/components/feed/feed.schema.js +6 -33
  325. package/dist/components/feed/feed.types.d.ts +1 -0
  326. package/dist/components/feed/feed.variables.js +1 -31
  327. package/dist/components/feed/index.js +1 -31
  328. package/dist/components/feed-event/feed-event.schema.js +16 -35
  329. package/dist/components/feed-event/feed-event.types.d.ts +1 -0
  330. package/dist/components/feed-event/feed-event.variables.js +1 -31
  331. package/dist/components/feed-event/index.js +1 -31
  332. package/dist/components/file-upload/file-upload.schema.js +15 -38
  333. package/dist/components/file-upload/file-upload.variables.js +1 -31
  334. package/dist/components/file-upload/index.js +1 -31
  335. package/dist/components/floating-action-button/floating-action-button.css +3 -1
  336. package/dist/components/floating-action-button/floating-action-button.schema.js +11 -32
  337. package/dist/components/floating-action-button/floating-action-button.variables.js +1 -31
  338. package/dist/components/floating-action-button/index.js +1 -31
  339. package/dist/components/focus-trap/focus-trap.schema.js +21 -37
  340. package/dist/components/focus-trap/focus-trap.types.d.ts +5 -0
  341. package/dist/components/focus-trap/focus-trap.utilities.svelte.d.ts +14 -0
  342. package/dist/components/focus-trap/focus-trap.variables.js +1 -31
  343. package/dist/components/focus-trap/index.js +6 -33
  344. package/dist/components/form-field/form-field.schema.js +4 -32
  345. package/dist/components/form-field/form-field.variables.js +1 -31
  346. package/dist/components/form-field/index.js +1 -31
  347. package/dist/components/form-section/form-section.schema.js +4 -32
  348. package/dist/components/form-section/form-section.variables.js +1 -31
  349. package/dist/components/form-section/index.js +1 -31
  350. package/dist/components/grid/grid.css +24 -0
  351. package/dist/components/grid/grid.schema.d.ts +3 -0
  352. package/dist/components/grid/grid.schema.js +83 -0
  353. package/dist/components/grid/grid.svelte.d.ts +18 -0
  354. package/dist/components/grid/grid.types.d.ts +29 -0
  355. package/dist/components/grid/grid.variables.d.ts +2 -0
  356. package/dist/components/grid/grid.variables.js +31 -0
  357. package/dist/components/grid/index.d.ts +13 -0
  358. package/dist/components/grid/index.js +147 -0
  359. package/dist/components/grid-item/grid-item.schema.d.ts +3 -0
  360. package/dist/components/grid-item/grid-item.schema.js +110 -0
  361. package/dist/components/grid-item/grid-item.svelte.d.ts +16 -0
  362. package/dist/components/grid-item/grid-item.types.d.ts +21 -0
  363. package/dist/components/grid-item/grid-item.variables.d.ts +2 -0
  364. package/dist/components/grid-item/grid-item.variables.js +31 -0
  365. package/dist/components/grid-item/index.d.ts +4 -0
  366. package/dist/components/grid-item/index.js +87 -0
  367. package/dist/components/grid-list/grid-list.schema.js +6 -33
  368. package/dist/components/grid-list/grid-list.variables.js +1 -31
  369. package/dist/components/grid-list/index.js +1 -31
  370. package/dist/components/grid-list-item/grid-list-item.schema.js +19 -40
  371. package/dist/components/grid-list-item/grid-list-item.types.d.ts +3 -0
  372. package/dist/components/grid-list-item/grid-list-item.variables.js +1 -31
  373. package/dist/components/grid-list-item/index.js +1 -31
  374. package/dist/components/hover-card/hover-card.schema.js +21 -41
  375. package/dist/components/hover-card/hover-card.types.d.ts +8 -0
  376. package/dist/components/hover-card/hover-card.variables.js +1 -31
  377. package/dist/components/hover-card/index.js +789 -358
  378. package/dist/components/image/image.schema.js +9 -35
  379. package/dist/components/image/image.variables.js +1 -31
  380. package/dist/components/image/index.js +1 -31
  381. package/dist/components/input/index.js +1 -31
  382. package/dist/components/input/input.schema.js +22 -41
  383. package/dist/components/input/input.types.d.ts +12 -0
  384. package/dist/components/input/input.variables.js +1 -31
  385. package/dist/components/invocation-rule-builder/index.d.ts +5 -0
  386. package/dist/components/invocation-rule-builder/index.js +526 -0
  387. package/dist/components/invocation-rule-builder/invocation-rule-builder.css +281 -0
  388. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.d.ts +3 -0
  389. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +101 -0
  390. package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +16 -0
  391. package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +147 -0
  392. package/dist/components/invocation-rule-builder/invocation-rule-builder.variables.d.ts +2 -0
  393. package/dist/components/invocation-rule-builder/invocation-rule-builder.variables.js +31 -0
  394. package/dist/components/json-schema-editor/index.js +5328 -12274
  395. package/dist/components/json-schema-editor/json-schema-editor.schema.js +8 -34
  396. package/dist/components/json-schema-editor/json-schema-editor.types.d.ts +1 -0
  397. package/dist/components/json-schema-editor/json-schema-editor.variables.js +1 -31
  398. package/dist/components/json-viewer/index.js +5 -35
  399. package/dist/components/json-viewer/json-viewer.css +6 -0
  400. package/dist/components/json-viewer/json-viewer.schema.js +4 -32
  401. package/dist/components/json-viewer/json-viewer.variables.js +1 -31
  402. package/dist/components/kanban-board/index.js +1 -31
  403. package/dist/components/kanban-board/kanban-board.schema.js +19 -40
  404. package/dist/components/kanban-board/kanban-board.types.d.ts +4 -0
  405. package/dist/components/kanban-board/kanban-board.variables.js +1 -31
  406. package/dist/components/kbd/index.js +1 -31
  407. package/dist/components/kbd/kbd.schema.js +11 -32
  408. package/dist/components/kbd/kbd.variables.js +1 -31
  409. package/dist/components/keyboard-shortcuts/index.js +1 -31
  410. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +6 -33
  411. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +1 -31
  412. package/dist/components/label/index.js +1 -31
  413. package/dist/components/label/label.schema.js +6 -33
  414. package/dist/components/label/label.variables.js +1 -31
  415. package/dist/components/line-chart/index.js +1 -31
  416. package/dist/components/line-chart/line-chart.schema.js +40 -45
  417. package/dist/components/line-chart/line-chart.types.d.ts +13 -0
  418. package/dist/components/line-chart/line-chart.variables.js +1 -31
  419. package/dist/components/link/index.js +1 -31
  420. package/dist/components/link/link.schema.js +6 -33
  421. package/dist/components/link/link.variables.js +1 -31
  422. package/dist/components/load-more/index.js +3 -32
  423. package/dist/components/load-more/load-more.schema.js +10 -34
  424. package/dist/components/load-more/load-more.variables.js +1 -31
  425. package/dist/components/markdown-editor/index.js +3484 -3050
  426. package/dist/components/markdown-editor/markdown-editor.schema.js +29 -42
  427. package/dist/components/markdown-editor/markdown-editor.variables.js +1 -31
  428. package/dist/components/masonry/index.d.ts +5 -0
  429. package/dist/components/masonry/index.js +76 -0
  430. package/dist/components/masonry/masonry.css +12 -0
  431. package/dist/components/masonry/masonry.schema.d.ts +3 -0
  432. package/dist/components/masonry/masonry.schema.js +63 -0
  433. package/dist/components/masonry/masonry.svelte.d.ts +17 -0
  434. package/dist/components/masonry/masonry.types.d.ts +15 -0
  435. package/dist/components/masonry/masonry.variables.d.ts +2 -0
  436. package/dist/components/masonry/masonry.variables.js +31 -0
  437. package/dist/components/matrix-chart/index.js +9 -32
  438. package/dist/components/matrix-chart/matrix-chart.css +4 -0
  439. package/dist/components/matrix-chart/matrix-chart.schema.js +42 -45
  440. package/dist/components/matrix-chart/matrix-chart.types.d.ts +14 -1
  441. package/dist/components/matrix-chart/matrix-chart.variables.js +1 -31
  442. package/dist/components/media-controls/index.js +3 -32
  443. package/dist/components/media-controls/media-controls.schema.js +7 -34
  444. package/dist/components/media-controls/media-controls.variables.js +1 -31
  445. package/dist/components/menu-bar/index.js +1 -31
  446. package/dist/components/menu-bar/menu-bar.schema.js +11 -36
  447. package/dist/components/menu-bar/menu-bar.types.d.ts +4 -0
  448. package/dist/components/menu-bar/menu-bar.variables.js +1 -31
  449. package/dist/components/message/index.js +1 -31
  450. package/dist/components/message/message.schema.js +4 -32
  451. package/dist/components/message/message.variables.js +1 -31
  452. package/dist/components/modal/index.js +333 -118
  453. package/dist/components/modal/modal.schema.js +19 -40
  454. package/dist/components/modal/modal.types.d.ts +8 -0
  455. package/dist/components/modal/modal.variables.js +1 -31
  456. package/dist/components/navigation-bar/index.d.ts +1 -1
  457. package/dist/components/navigation-bar/index.js +19 -38
  458. package/dist/components/navigation-bar/navigation-bar.css +66 -0
  459. package/dist/components/navigation-bar/navigation-bar.schema.js +16 -33
  460. package/dist/components/navigation-bar/navigation-bar.svelte.d.ts +1 -1
  461. package/dist/components/navigation-bar/navigation-bar.types.d.ts +18 -0
  462. package/dist/components/navigation-bar/navigation-bar.variables.js +1 -31
  463. package/dist/components/navigation-item/index.js +1 -31
  464. package/dist/components/navigation-item/navigation-item.schema.js +16 -37
  465. package/dist/components/navigation-item/navigation-item.types.d.ts +4 -0
  466. package/dist/components/navigation-item/navigation-item.variables.js +1 -31
  467. package/dist/components/number-input/index.js +1 -31
  468. package/dist/components/number-input/number-input.schema.js +27 -44
  469. package/dist/components/number-input/number-input.types.d.ts +13 -0
  470. package/dist/components/number-input/number-input.variables.js +1 -31
  471. package/dist/components/pagination/index.js +1 -31
  472. package/dist/components/pagination/pagination.css +0 -1
  473. package/dist/components/pagination/pagination.schema.js +1 -31
  474. package/dist/components/pagination/pagination.variables.js +1 -31
  475. package/dist/components/payload-inspector/index.d.ts +5 -0
  476. package/dist/components/payload-inspector/index.js +2002 -0
  477. package/dist/components/payload-inspector/payload-inspector.css +173 -0
  478. package/dist/components/payload-inspector/payload-inspector.schema.d.ts +3 -0
  479. package/dist/components/payload-inspector/payload-inspector.schema.js +95 -0
  480. package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +19 -0
  481. package/dist/components/payload-inspector/payload-inspector.types.d.ts +69 -0
  482. package/dist/components/payload-inspector/payload-inspector.variables.d.ts +2 -0
  483. package/dist/components/payload-inspector/payload-inspector.variables.js +31 -0
  484. package/dist/components/permission-matrix/index.d.ts +5 -0
  485. package/dist/components/permission-matrix/index.js +474 -0
  486. package/dist/components/permission-matrix/permission-matrix.css +165 -0
  487. package/dist/components/permission-matrix/permission-matrix.schema.d.ts +3 -0
  488. package/dist/components/permission-matrix/permission-matrix.schema.js +100 -0
  489. package/dist/components/permission-matrix/permission-matrix.svelte.d.ts +20 -0
  490. package/dist/components/permission-matrix/permission-matrix.types.d.ts +58 -0
  491. package/dist/components/permission-matrix/permission-matrix.variables.d.ts +2 -0
  492. package/dist/components/permission-matrix/permission-matrix.variables.js +31 -0
  493. package/dist/components/phone-input/index.js +1 -31
  494. package/dist/components/phone-input/phone-input.schema.js +3 -32
  495. package/dist/components/phone-input/phone-input.variables.js +1 -31
  496. package/dist/components/pin-input/index.js +1 -31
  497. package/dist/components/pin-input/pin-input.schema.js +6 -33
  498. package/dist/components/pin-input/pin-input.variables.js +1 -31
  499. package/dist/components/popover/index.js +793 -362
  500. package/dist/components/popover/popover.schema.js +12 -34
  501. package/dist/components/popover/popover.types.d.ts +6 -0
  502. package/dist/components/popover/popover.variables.js +1 -31
  503. package/dist/components/portal/index.js +1 -31
  504. package/dist/components/portal/portal.schema.js +19 -36
  505. package/dist/components/portal/portal.types.d.ts +4 -0
  506. package/dist/components/portal/portal.variables.js +1 -31
  507. package/dist/components/pricing-card/index.js +1 -31
  508. package/dist/components/pricing-card/pricing-card.css +11 -3
  509. package/dist/components/pricing-card/pricing-card.schema.js +12 -32
  510. package/dist/components/pricing-card/pricing-card.variables.js +1 -31
  511. package/dist/components/progress/index.js +1 -31
  512. package/dist/components/progress/progress.schema.js +1 -31
  513. package/dist/components/progress/progress.variables.js +1 -31
  514. package/dist/components/radio-group/index.js +1 -31
  515. package/dist/components/radio-group/radio-group.schema.js +4 -32
  516. package/dist/components/radio-group/radio-group.variables.js +1 -31
  517. package/dist/components/rating/index.js +1 -31
  518. package/dist/components/rating/rating.schema.js +4 -32
  519. package/dist/components/rating/rating.variables.js +1 -31
  520. package/dist/components/resizable-panels/index.js +1 -31
  521. package/dist/components/resizable-panels/resizable-panels.schema.js +13 -37
  522. package/dist/components/resizable-panels/resizable-panels.types.d.ts +4 -0
  523. package/dist/components/resizable-panels/resizable-panels.variables.js +1 -31
  524. package/dist/components/review-editor/index.d.ts +1 -1
  525. package/dist/components/review-editor/index.js +3700 -3262
  526. package/dist/components/review-editor/review-editor-selection-geometry.d.ts +2 -0
  527. package/dist/components/review-editor/review-editor-selection-types.d.ts +62 -0
  528. package/dist/components/review-editor/review-editor-selection.svelte.d.ts +1 -58
  529. package/dist/components/review-editor/review-editor.schema.js +15 -38
  530. package/dist/components/review-editor/review-editor.variables.js +1 -31
  531. package/dist/components/run-step-timeline/index.d.ts +5 -0
  532. package/dist/components/run-step-timeline/index.js +658 -0
  533. package/dist/components/run-step-timeline/run-step-timeline.css +215 -0
  534. package/dist/components/run-step-timeline/run-step-timeline.schema.d.ts +3 -0
  535. package/dist/components/run-step-timeline/run-step-timeline.schema.js +129 -0
  536. package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +19 -0
  537. package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +111 -0
  538. package/dist/components/run-step-timeline/run-step-timeline.variables.d.ts +2 -0
  539. package/dist/components/run-step-timeline/run-step-timeline.variables.js +31 -0
  540. package/dist/components/schema-form/index.d.ts +6 -0
  541. package/dist/components/schema-form/index.js +1164 -0
  542. package/dist/components/schema-form/schema-form-model.d.ts +46 -0
  543. package/dist/components/schema-form/schema-form-validation.d.ts +33 -0
  544. package/dist/components/schema-form/schema-form.css +180 -0
  545. package/dist/components/schema-form/schema-form.schema.d.ts +3 -0
  546. package/dist/components/schema-form/schema-form.schema.js +69 -0
  547. package/dist/components/schema-form/schema-form.svelte.d.ts +43 -0
  548. package/dist/components/schema-form/schema-form.types.d.ts +22 -0
  549. package/dist/components/schema-form/schema-form.variables.d.ts +2 -0
  550. package/dist/components/schema-form/schema-form.variables.js +31 -0
  551. package/dist/components/scroll-area/index.js +1 -31
  552. package/dist/components/scroll-area/scroll-area.schema.js +4 -32
  553. package/dist/components/scroll-area/scroll-area.variables.js +1 -31
  554. package/dist/components/search-field/index.js +1 -31
  555. package/dist/components/search-field/search-field.schema.js +9 -35
  556. package/dist/components/search-field/search-field.variables.js +1 -31
  557. package/dist/components/secret-value-field/index.d.ts +5 -0
  558. package/dist/components/secret-value-field/index.js +316 -0
  559. package/dist/components/secret-value-field/secret-value-field.css +147 -0
  560. package/dist/components/secret-value-field/secret-value-field.schema.d.ts +3 -0
  561. package/dist/components/secret-value-field/secret-value-field.schema.js +87 -0
  562. package/dist/components/secret-value-field/secret-value-field.svelte.d.ts +18 -0
  563. package/dist/components/secret-value-field/secret-value-field.types.d.ts +37 -0
  564. package/dist/components/secret-value-field/secret-value-field.variables.d.ts +2 -0
  565. package/dist/components/secret-value-field/secret-value-field.variables.js +31 -0
  566. package/dist/components/section-heading/index.js +1 -31
  567. package/dist/components/section-heading/section-heading.schema.js +8 -34
  568. package/dist/components/section-heading/section-heading.variables.js +1 -31
  569. package/dist/components/segment/index.js +1 -31
  570. package/dist/components/segment/segment.schema.js +11 -35
  571. package/dist/components/segment/segment.variables.js +1 -31
  572. package/dist/components/segmented-control/index.js +1 -31
  573. package/dist/components/segmented-control/segmented-control.css +17 -0
  574. package/dist/components/segmented-control/segmented-control.schema.js +10 -35
  575. package/dist/components/segmented-control/segmented-control.types.d.ts +2 -0
  576. package/dist/components/segmented-control/segmented-control.variables.js +1 -31
  577. package/dist/components/select/index.js +1 -31
  578. package/dist/components/select/select.schema.js +8 -34
  579. package/dist/components/select/select.variables.js +1 -31
  580. package/dist/components/selection-popover/index.js +793 -361
  581. package/dist/components/selection-popover/selection-popover.schema.js +12 -36
  582. package/dist/components/selection-popover/selection-popover.types.d.ts +8 -0
  583. package/dist/components/selection-popover/selection-popover.variables.js +1 -31
  584. package/dist/components/share-card/index.js +159 -174
  585. package/dist/components/share-card/share-card.schema.js +5 -33
  586. package/dist/components/share-card/share-card.variables.js +1 -31
  587. package/dist/components/sheet/index.js +387 -172
  588. package/dist/components/sheet/sheet.schema.js +12 -35
  589. package/dist/components/sheet/sheet.variables.js +1 -31
  590. package/dist/components/shortcut-hint/index.js +1 -31
  591. package/dist/components/shortcut-hint/shortcut-hint.schema.js +3 -32
  592. package/dist/components/shortcut-hint/shortcut-hint.variables.js +1 -31
  593. package/dist/components/side-navigation/index.d.ts +1 -1
  594. package/dist/components/side-navigation/index.js +1 -31
  595. package/dist/components/side-navigation/side-navigation.schema.js +6 -33
  596. package/dist/components/side-navigation/side-navigation.variables.js +1 -31
  597. package/dist/components/side-navigation-group/index.js +1 -31
  598. package/dist/components/side-navigation-group/side-navigation-group.schema.js +10 -35
  599. package/dist/components/side-navigation-group/side-navigation-group.variables.js +1 -31
  600. package/dist/components/side-navigation-item/index.js +1 -31
  601. package/dist/components/side-navigation-item/side-navigation-item.schema.js +16 -37
  602. package/dist/components/side-navigation-item/side-navigation-item.variables.js +1 -31
  603. package/dist/components/sidebar/index.js +448 -246
  604. package/dist/components/sidebar/sidebar.schema.js +7 -34
  605. package/dist/components/sidebar/sidebar.variables.js +1 -31
  606. package/dist/components/skeleton/index.js +1 -31
  607. package/dist/components/skeleton/skeleton.schema.js +9 -35
  608. package/dist/components/skeleton/skeleton.types.d.ts +4 -0
  609. package/dist/components/skeleton/skeleton.variables.js +1 -31
  610. package/dist/components/skip-link/index.js +1 -31
  611. package/dist/components/skip-link/skip-link.schema.js +11 -32
  612. package/dist/components/skip-link/skip-link.variables.js +1 -31
  613. package/dist/components/slider/index.js +1 -31
  614. package/dist/components/slider/slider.schema.js +5 -33
  615. package/dist/components/slider/slider.types.d.ts +2 -0
  616. package/dist/components/slider/slider.variables.js +1 -31
  617. package/dist/components/sortable-list/index.js +1 -31
  618. package/dist/components/sortable-list/sortable-list.schema.js +27 -40
  619. package/dist/components/sortable-list/sortable-list.types.d.ts +1 -0
  620. package/dist/components/sortable-list/sortable-list.variables.js +1 -31
  621. package/dist/components/spectrogram/index.js +1 -31
  622. package/dist/components/spectrogram/spectrogram.css +2 -1
  623. package/dist/components/spectrogram/spectrogram.schema.js +51 -42
  624. package/dist/components/spectrogram/spectrogram.types.d.ts +12 -1
  625. package/dist/components/spectrogram/spectrogram.variables.js +1 -31
  626. package/dist/components/spectrum-chart/index.js +1 -31
  627. package/dist/components/spectrum-chart/spectrum-chart.schema.js +43 -41
  628. package/dist/components/spectrum-chart/spectrum-chart.types.d.ts +9 -0
  629. package/dist/components/spectrum-chart/spectrum-chart.variables.js +1 -31
  630. package/dist/components/speed-dial/index.d.ts +13 -0
  631. package/dist/components/speed-dial/index.js +529 -0
  632. package/dist/components/speed-dial/speed-dial.context.d.ts +5 -0
  633. package/dist/components/speed-dial/speed-dial.css +112 -0
  634. package/dist/components/speed-dial/speed-dial.schema.d.ts +3 -0
  635. package/dist/components/speed-dial/speed-dial.schema.js +76 -0
  636. package/dist/components/speed-dial/speed-dial.svelte.d.ts +17 -0
  637. package/dist/components/speed-dial/speed-dial.types.d.ts +54 -0
  638. package/dist/components/speed-dial/speed-dial.variables.d.ts +2 -0
  639. package/dist/components/speed-dial/speed-dial.variables.js +31 -0
  640. package/dist/components/speed-dial-action/index.d.ts +4 -0
  641. package/dist/components/speed-dial-action/index.js +264 -0
  642. package/dist/components/speed-dial-action/speed-dial-action.schema.d.ts +3 -0
  643. package/dist/components/speed-dial-action/speed-dial-action.schema.js +71 -0
  644. package/dist/components/speed-dial-action/speed-dial-action.svelte.d.ts +16 -0
  645. package/dist/components/speed-dial-action/speed-dial-action.types.d.ts +44 -0
  646. package/dist/components/speed-dial-action/speed-dial-action.variables.d.ts +2 -0
  647. package/dist/components/speed-dial-action/speed-dial-action.variables.js +31 -0
  648. package/dist/components/spinner/index.js +1 -31
  649. package/dist/components/spinner/spinner.schema.js +1 -31
  650. package/dist/components/spinner/spinner.variables.js +1 -31
  651. package/dist/components/stacked-list-item/index.js +1 -31
  652. package/dist/components/stacked-list-item/stacked-list-item.schema.js +20 -40
  653. package/dist/components/stacked-list-item/stacked-list-item.types.d.ts +4 -0
  654. package/dist/components/stacked-list-item/stacked-list-item.variables.js +1 -31
  655. package/dist/components/stat/index.js +1 -31
  656. package/dist/components/stat/stat.schema.js +7 -34
  657. package/dist/components/stat/stat.variables.js +1 -31
  658. package/dist/components/stat-group/index.js +1 -31
  659. package/dist/components/stat-group/stat-group.schema.js +4 -32
  660. package/dist/components/stat-group/stat-group.variables.js +1 -31
  661. package/dist/components/status-dot/index.js +1 -31
  662. package/dist/components/status-dot/status-dot.css +1 -1
  663. package/dist/components/status-dot/status-dot.schema.js +1 -31
  664. package/dist/components/status-dot/status-dot.variables.js +1 -31
  665. package/dist/components/steps/index.js +1 -31
  666. package/dist/components/steps/steps.css +30 -10
  667. package/dist/components/steps/steps.schema.js +4 -32
  668. package/dist/components/steps/steps.variables.js +1 -31
  669. package/dist/components/subscription-badge/index.js +2 -32
  670. package/dist/components/subscription-badge/subscription-badge.schema.js +1 -31
  671. package/dist/components/subscription-badge/subscription-badge.variables.js +1 -31
  672. package/dist/components/surface/index.js +1 -31
  673. package/dist/components/surface/surface.schema.js +11 -32
  674. package/dist/components/surface/surface.types.d.ts +1 -0
  675. package/dist/components/surface/surface.variables.js +1 -31
  676. package/dist/components/tab/index.js +1 -31
  677. package/dist/components/tab/tab.schema.js +6 -33
  678. package/dist/components/tab/tab.variables.js +1 -31
  679. package/dist/components/tab-list/index.js +1 -31
  680. package/dist/components/tab-list/tab-list.schema.js +4 -32
  681. package/dist/components/tab-list/tab-list.variables.js +1 -31
  682. package/dist/components/tab-panel/index.js +1 -31
  683. package/dist/components/tab-panel/tab-panel.schema.js +4 -32
  684. package/dist/components/tab-panel/tab-panel.variables.js +1 -31
  685. package/dist/components/table/index.js +94 -53
  686. package/dist/components/table/table.css +23 -4
  687. package/dist/components/table/table.schema.js +6 -33
  688. package/dist/components/table/table.types.d.ts +2 -1
  689. package/dist/components/table/table.variables.js +1 -31
  690. package/dist/components/table-body/index.js +1 -31
  691. package/dist/components/table-body/table-body.schema.js +4 -32
  692. package/dist/components/table-body/table-body.variables.js +1 -31
  693. package/dist/components/table-cell/index.js +1 -31
  694. package/dist/components/table-cell/table-cell.schema.js +11 -33
  695. package/dist/components/table-cell/table-cell.types.d.ts +4 -7
  696. package/dist/components/table-cell/table-cell.variables.js +1 -31
  697. package/dist/components/table-header/index.js +1 -31
  698. package/dist/components/table-header/table-header.schema.js +6 -33
  699. package/dist/components/table-header/table-header.variables.js +1 -31
  700. package/dist/components/table-header-cell/index.js +1 -31
  701. package/dist/components/table-header-cell/table-header-cell.schema.js +4 -32
  702. package/dist/components/table-header-cell/table-header-cell.variables.js +1 -31
  703. package/dist/components/table-row/index.js +13 -32
  704. package/dist/components/table-row/table-row.schema.js +8 -34
  705. package/dist/components/table-row/table-row.types.d.ts +4 -1
  706. package/dist/components/table-row/table-row.variables.js +1 -31
  707. package/dist/components/tabs/index.js +1 -31
  708. package/dist/components/tabs/tabs.css +1 -1
  709. package/dist/components/tabs/tabs.schema.js +4 -32
  710. package/dist/components/tabs/tabs.variables.js +1 -31
  711. package/dist/components/tag-input/index.js +1 -31
  712. package/dist/components/tag-input/tag-input.css +2 -2
  713. package/dist/components/tag-input/tag-input.schema.js +5 -33
  714. package/dist/components/tag-input/tag-input.variables.js +1 -31
  715. package/dist/components/textarea/index.js +1 -31
  716. package/dist/components/textarea/textarea.css +1 -0
  717. package/dist/components/textarea/textarea.schema.js +13 -33
  718. package/dist/components/textarea/textarea.types.d.ts +4 -0
  719. package/dist/components/textarea/textarea.variables.js +1 -31
  720. package/dist/components/timeline/index.js +2 -32
  721. package/dist/components/timeline/timeline.css +40 -8
  722. package/dist/components/timeline/timeline.schema.js +17 -33
  723. package/dist/components/timeline/timeline.svelte.d.ts +2 -2
  724. package/dist/components/timeline/timeline.types.d.ts +2 -2
  725. package/dist/components/timeline/timeline.variables.js +1 -31
  726. package/dist/components/toast-region/index.js +106 -81
  727. package/dist/components/toast-region/toast-region.schema.js +3 -32
  728. package/dist/components/toast-region/toast-region.variables.js +1 -31
  729. package/dist/components/toggle/index.js +1 -31
  730. package/dist/components/toggle/toggle.css +5 -2
  731. package/dist/components/toggle/toggle.schema.js +1 -31
  732. package/dist/components/toggle/toggle.variables.js +1 -31
  733. package/dist/components/toolbar/index.js +1 -31
  734. package/dist/components/toolbar/toolbar.schema.js +12 -32
  735. package/dist/components/toolbar/toolbar.variables.js +1 -31
  736. package/dist/components/tooltip/index.js +792 -361
  737. package/dist/components/tooltip/tooltip.css +11 -2
  738. package/dist/components/tooltip/tooltip.schema.js +10 -35
  739. package/dist/components/tooltip/tooltip.types.d.ts +4 -0
  740. package/dist/components/tooltip/tooltip.variables.js +1 -31
  741. package/dist/components/transfer-list/index.d.ts +5 -0
  742. package/dist/components/transfer-list/index.js +451 -0
  743. package/dist/components/transfer-list/transfer-list.css +114 -0
  744. package/dist/components/transfer-list/transfer-list.schema.d.ts +3 -0
  745. package/dist/components/transfer-list/transfer-list.schema.js +91 -0
  746. package/dist/components/transfer-list/transfer-list.svelte.d.ts +17 -0
  747. package/dist/components/transfer-list/transfer-list.types.d.ts +52 -0
  748. package/dist/components/transfer-list/transfer-list.variables.d.ts +2 -0
  749. package/dist/components/transfer-list/transfer-list.variables.js +31 -0
  750. package/dist/components/tree/index.d.ts +9 -4
  751. package/dist/components/tree/index.js +3433 -365
  752. package/dist/components/tree/tree.css +203 -3
  753. package/dist/components/tree/tree.schema.js +72 -34
  754. package/dist/components/tree/tree.svelte.d.ts +2 -2
  755. package/dist/components/tree/tree.types.d.ts +69 -3
  756. package/dist/components/tree/tree.variables.js +6 -32
  757. package/dist/components/tree-item/index.js +608 -169
  758. package/dist/components/tree-item/tree-item.schema.js +19 -36
  759. package/dist/components/tree-item/tree-item.types.d.ts +11 -3
  760. package/dist/components/tree-item/tree-item.variables.js +1 -31
  761. package/dist/components/typography/index.js +1 -31
  762. package/dist/components/typography/typography.schema.js +12 -32
  763. package/dist/components/typography/typography.variables.js +1 -31
  764. package/dist/components/virtual-list/index.d.ts +7 -0
  765. package/dist/components/virtual-list/index.js +266 -0
  766. package/dist/components/virtual-list/virtual-list.css +30 -0
  767. package/dist/components/virtual-list/virtual-list.schema.d.ts +3 -0
  768. package/dist/components/virtual-list/virtual-list.schema.js +88 -0
  769. package/dist/components/virtual-list/virtual-list.svelte.d.ts +42 -0
  770. package/dist/components/virtual-list/virtual-list.types.d.ts +54 -0
  771. package/dist/components/virtual-list/virtual-list.variables.d.ts +2 -0
  772. package/dist/components/virtual-list/virtual-list.variables.js +31 -0
  773. package/dist/components/visually-hidden/index.js +1 -31
  774. package/dist/components/visually-hidden/visually-hidden.schema.js +12 -32
  775. package/dist/components/visually-hidden/visually-hidden.variables.js +1 -31
  776. package/dist/components/waveform/index.js +1 -31
  777. package/dist/components/waveform/waveform.schema.js +34 -41
  778. package/dist/components/waveform/waveform.types.d.ts +9 -0
  779. package/dist/components/waveform/waveform.variables.js +1 -31
  780. package/dist/highlighters/shiki/index.js +9 -32
  781. package/dist/index.d.ts +41 -3
  782. package/dist/index.js +192 -180
  783. package/dist/markdown/rendering/rehype-shiki-sync.d.ts +9 -0
  784. package/dist/markdown/rendering/rehype-shiki-sync.js +23 -10
  785. package/dist/markdown/rendering/render.js +8 -2
  786. package/dist/schema-types.d.ts +10 -0
  787. package/dist/server/components/access-gate/access-gate.schema.js +49 -0
  788. package/dist/server/components/access-gate/access-gate.variables.js +12 -0
  789. package/dist/server/components/access-gate/index.css +130 -0
  790. package/dist/server/components/access-gate/index.js +1693 -0
  791. package/dist/server/components/accordion/accordion.schema.js +12 -33
  792. package/dist/server/components/accordion/accordion.variables.js +1 -32
  793. package/dist/server/components/accordion/index.js +1 -32
  794. package/dist/server/components/accordion-item/accordion-item.schema.js +12 -33
  795. package/dist/server/components/accordion-item/accordion-item.variables.js +1 -32
  796. package/dist/server/components/accordion-item/index.js +1 -32
  797. package/dist/server/components/alert/alert.schema.js +19 -33
  798. package/dist/server/components/alert/alert.variables.js +1 -32
  799. package/dist/server/components/alert/index.js +1 -32
  800. package/dist/server/components/alert-dialog/alert-dialog.schema.js +17 -40
  801. package/dist/server/components/alert-dialog/alert-dialog.variables.js +1 -32
  802. package/dist/server/components/alert-dialog/index.js +274 -84
  803. package/dist/server/components/area-chart/area-chart.schema.js +42 -47
  804. package/dist/server/components/area-chart/area-chart.variables.js +1 -32
  805. package/dist/server/components/area-chart/index.js +1 -32
  806. package/dist/server/components/aspect-ratio/aspect-ratio.schema.js +12 -33
  807. package/dist/server/components/aspect-ratio/aspect-ratio.variables.js +1 -32
  808. package/dist/server/components/aspect-ratio/index.js +1 -32
  809. package/dist/server/components/autocomplete/autocomplete.schema.js +29 -46
  810. package/dist/server/components/autocomplete/autocomplete.variables.js +1 -32
  811. package/dist/server/components/autocomplete/index.css +0 -4
  812. package/dist/server/components/autocomplete/index.js +9 -34
  813. package/dist/server/components/avatar/avatar.schema.js +3 -33
  814. package/dist/server/components/avatar/avatar.variables.js +1 -32
  815. package/dist/server/components/avatar/index.css +1 -0
  816. package/dist/server/components/avatar/index.js +1 -32
  817. package/dist/server/components/avatar-group/avatar-group.schema.js +6 -32
  818. package/dist/server/components/avatar-group/avatar-group.variables.js +1 -32
  819. package/dist/server/components/avatar-group/index.js +5 -32
  820. package/dist/server/components/backdrop/backdrop.schema.js +5 -34
  821. package/dist/server/components/backdrop/backdrop.variables.js +1 -32
  822. package/dist/server/components/backdrop/index.js +2 -33
  823. package/dist/server/components/badge/badge.schema.js +12 -33
  824. package/dist/server/components/badge/badge.variables.js +1 -32
  825. package/dist/server/components/badge/index.css +1 -1
  826. package/dist/server/components/badge/index.js +1 -32
  827. package/dist/server/components/banner/banner.schema.js +8 -35
  828. package/dist/server/components/banner/banner.variables.js +1 -32
  829. package/dist/server/components/banner/index.js +1 -32
  830. package/dist/server/components/bar-chart/bar-chart.schema.js +42 -47
  831. package/dist/server/components/bar-chart/bar-chart.variables.js +1 -32
  832. package/dist/server/components/bar-chart/index.css +4 -0
  833. package/dist/server/components/bar-chart/index.js +2 -33
  834. package/dist/server/components/breadcrumbs/breadcrumbs.schema.js +1 -32
  835. package/dist/server/components/breadcrumbs/breadcrumbs.variables.js +1 -32
  836. package/dist/server/components/breadcrumbs/index.js +1 -32
  837. package/dist/server/components/button/button.schema.js +20 -33
  838. package/dist/server/components/button/button.variables.js +1 -32
  839. package/dist/server/components/button/index.js +1 -32
  840. package/dist/server/components/button-group/button-group.schema.js +8 -35
  841. package/dist/server/components/button-group/button-group.variables.js +1 -32
  842. package/dist/server/components/button-group/index.js +1 -32
  843. package/dist/server/components/callout/callout.schema.js +6 -34
  844. package/dist/server/components/callout/callout.variables.js +1 -32
  845. package/dist/server/components/callout/index.js +1 -32
  846. package/dist/server/components/capability-gate/capability-gate.schema.js +9 -36
  847. package/dist/server/components/capability-gate/capability-gate.variables.js +1 -32
  848. package/dist/server/components/capability-gate/index.css +5 -2
  849. package/dist/server/components/capability-gate/index.js +1 -32
  850. package/dist/server/components/card/card.schema.js +7 -35
  851. package/dist/server/components/card/card.variables.js +1 -32
  852. package/dist/server/components/card/index.js +1 -32
  853. package/dist/server/components/chat/chat.schema.js +161 -49
  854. package/dist/server/components/chat/chat.variables.js +1 -32
  855. package/dist/server/components/chat/index.js +2665 -1064
  856. package/dist/server/components/chat-conversation-header/chat-conversation-header.schema.js +45 -0
  857. package/dist/server/components/chat-conversation-header/chat-conversation-header.variables.js +12 -0
  858. package/dist/server/components/chat-conversation-header/index.css +309 -0
  859. package/dist/server/components/chat-conversation-header/index.js +1468 -0
  860. package/dist/server/components/chat-conversation-list/chat-conversation-list.schema.js +56 -0
  861. package/dist/server/components/chat-conversation-list/chat-conversation-list.variables.js +12 -0
  862. package/dist/server/components/chat-conversation-list/index.css +115 -0
  863. package/dist/server/components/chat-conversation-list/index.js +355 -0
  864. package/dist/server/components/checkbox/checkbox.schema.js +3 -33
  865. package/dist/server/components/checkbox/checkbox.variables.js +1 -32
  866. package/dist/server/components/checkbox/index.js +1 -32
  867. package/dist/server/components/checkbox-group/checkbox-group.schema.js +4 -33
  868. package/dist/server/components/checkbox-group/checkbox-group.variables.js +1 -32
  869. package/dist/server/components/checkbox-group/index.js +1 -32
  870. package/dist/server/components/chip/chip.schema.js +19 -41
  871. package/dist/server/components/chip/chip.variables.js +1 -32
  872. package/dist/server/components/chip/index.js +7 -32
  873. package/dist/server/components/choice-grid/choice-grid.schema.js +6 -34
  874. package/dist/server/components/choice-grid/choice-grid.variables.js +1 -32
  875. package/dist/server/components/choice-grid/index.js +1 -32
  876. package/dist/server/components/choice-grid-item/choice-grid-item.schema.js +4 -33
  877. package/dist/server/components/choice-grid-item/choice-grid-item.variables.js +1 -32
  878. package/dist/server/components/choice-grid-item/index.js +1 -32
  879. package/dist/server/components/click-away-listener/click-away-listener.schema.js +9 -34
  880. package/dist/server/components/click-away-listener/click-away-listener.variables.js +1 -32
  881. package/dist/server/components/click-away-listener/index.js +1 -32
  882. package/dist/server/components/code-block/code-block.schema.js +4 -34
  883. package/dist/server/components/code-block/code-block.variables.js +1 -32
  884. package/dist/server/components/code-block/index.css +42 -22
  885. package/dist/server/components/code-block/index.js +14 -38
  886. package/dist/server/components/collapsible/collapsible.schema.js +17 -33
  887. package/dist/server/components/collapsible/collapsible.variables.js +1 -32
  888. package/dist/server/components/collapsible/index.js +1 -32
  889. package/dist/server/components/color-field/color-field.schema.js +3 -33
  890. package/dist/server/components/color-field/color-field.variables.js +1 -32
  891. package/dist/server/components/color-field/index.js +1 -32
  892. package/dist/server/components/color-picker/color-picker.schema.js +5 -34
  893. package/dist/server/components/color-picker/color-picker.variables.js +1 -32
  894. package/dist/server/components/color-picker/index.js +1 -32
  895. package/dist/server/components/color-swatch-picker/color-swatch-picker.schema.js +9 -35
  896. package/dist/server/components/color-swatch-picker/color-swatch-picker.variables.js +1 -32
  897. package/dist/server/components/color-swatch-picker/index.js +1 -32
  898. package/dist/server/components/combobox/combobox.schema.js +10 -35
  899. package/dist/server/components/combobox/combobox.variables.js +1 -32
  900. package/dist/server/components/combobox/index.js +53 -65
  901. package/dist/server/components/command-item/command-item.schema.js +10 -36
  902. package/dist/server/components/command-item/command-item.variables.js +1 -32
  903. package/dist/server/components/command-item/index.js +1 -32
  904. package/dist/server/components/command-menu/command-menu.schema.js +15 -38
  905. package/dist/server/components/command-menu/command-menu.variables.js +1 -32
  906. package/dist/server/components/command-menu/index.js +1 -32
  907. package/dist/server/components/command-palette/command-palette.schema.js +12 -37
  908. package/dist/server/components/command-palette/command-palette.variables.js +1 -32
  909. package/dist/server/components/command-palette/index.css +12 -12
  910. package/dist/server/components/command-palette/index.js +2 -33
  911. package/dist/server/components/confirm-dialog/confirm-dialog.schema.js +11 -35
  912. package/dist/server/components/confirm-dialog/confirm-dialog.variables.js +1 -32
  913. package/dist/server/components/confirm-dialog/index.js +274 -84
  914. package/dist/server/components/connection-indicator/connection-indicator.schema.js +1 -32
  915. package/dist/server/components/connection-indicator/connection-indicator.variables.js +1 -32
  916. package/dist/server/components/connection-indicator/index.js +1 -32
  917. package/dist/server/components/container/container.schema.js +12 -33
  918. package/dist/server/components/container/container.variables.js +1 -32
  919. package/dist/server/components/container/index.js +1 -32
  920. package/dist/server/components/context-menu/context-menu.schema.js +13 -38
  921. package/dist/server/components/context-menu/context-menu.variables.js +1 -32
  922. package/dist/server/components/context-menu/index.js +13 -34
  923. package/dist/server/components/context-menu-trigger/context-menu-trigger.schema.js +5 -34
  924. package/dist/server/components/context-menu-trigger/context-menu-trigger.variables.js +1 -32
  925. package/dist/server/components/context-menu-trigger/index.js +7 -32
  926. package/dist/server/components/copy-button/copy-button.schema.js +5 -34
  927. package/dist/server/components/copy-button/copy-button.variables.js +1 -32
  928. package/dist/server/components/copy-button/index.js +9 -33
  929. package/dist/server/components/data-grid/data-grid.schema.js +117 -0
  930. package/dist/server/components/data-grid/data-grid.variables.js +12 -0
  931. package/dist/server/components/data-grid/index.css +245 -0
  932. package/dist/server/components/data-grid/index.js +2822 -0
  933. package/dist/server/components/data-list/data-list.schema.js +24 -37
  934. package/dist/server/components/data-list/data-list.variables.js +1 -32
  935. package/dist/server/components/data-list/index.js +1 -32
  936. package/dist/server/components/data-table/data-table.schema.js +35 -35
  937. package/dist/server/components/data-table/data-table.variables.js +2 -33
  938. package/dist/server/components/data-table/index.css +37 -4
  939. package/dist/server/components/data-table/index.js +328 -81
  940. package/dist/server/components/date-range-field/date-range-field.schema.js +76 -0
  941. package/dist/server/components/date-range-field/date-range-field.variables.js +12 -0
  942. package/dist/server/components/date-range-field/index.css +178 -0
  943. package/dist/server/components/date-range-field/index.js +189 -0
  944. package/dist/server/components/description-list/description-list.schema.js +7 -35
  945. package/dist/server/components/description-list/description-list.variables.js +1 -32
  946. package/dist/server/components/description-list/index.js +1 -32
  947. package/dist/server/components/diff-statistics/diff-statistics.schema.js +2 -33
  948. package/dist/server/components/diff-statistics/diff-statistics.variables.js +1 -32
  949. package/dist/server/components/diff-statistics/index.js +1 -32
  950. package/dist/server/components/diff-viewer/diff-viewer.schema.js +15 -37
  951. package/dist/server/components/diff-viewer/diff-viewer.variables.js +1 -32
  952. package/dist/server/components/diff-viewer/index.js +1 -32
  953. package/dist/server/components/divider/divider.schema.js +1 -32
  954. package/dist/server/components/divider/divider.variables.js +1 -32
  955. package/dist/server/components/divider/index.js +1 -32
  956. package/dist/server/components/drawer/drawer.schema.js +12 -36
  957. package/dist/server/components/drawer/drawer.variables.js +1 -32
  958. package/dist/server/components/drawer/index.js +261 -68
  959. package/dist/server/components/dropdown/dropdown.schema.js +9 -36
  960. package/dist/server/components/dropdown/dropdown.variables.js +1 -32
  961. package/dist/server/components/dropdown/index.js +2 -33
  962. package/dist/server/components/dropdown-group/dropdown-group.schema.js +7 -35
  963. package/dist/server/components/dropdown-group/dropdown-group.variables.js +1 -32
  964. package/dist/server/components/dropdown-group/index.js +1 -32
  965. package/dist/server/components/dropdown-item/dropdown-item.schema.js +9 -36
  966. package/dist/server/components/dropdown-item/dropdown-item.variables.js +1 -32
  967. package/dist/server/components/dropdown-item/index.js +1 -32
  968. package/dist/server/components/dropdown-label/dropdown-label.schema.js +3 -33
  969. package/dist/server/components/dropdown-label/dropdown-label.variables.js +1 -32
  970. package/dist/server/components/dropdown-label/index.js +1 -32
  971. package/dist/server/components/dropdown-menu/dropdown-menu.schema.js +3 -33
  972. package/dist/server/components/dropdown-menu/dropdown-menu.variables.js +1 -32
  973. package/dist/server/components/dropdown-menu/index.js +1 -32
  974. package/dist/server/components/dropdown-separator/dropdown-separator.schema.js +3 -33
  975. package/dist/server/components/dropdown-separator/dropdown-separator.variables.js +1 -32
  976. package/dist/server/components/dropdown-separator/index.js +1 -32
  977. package/dist/server/components/dropdown-trigger/dropdown-trigger.schema.js +3 -33
  978. package/dist/server/components/dropdown-trigger/dropdown-trigger.variables.js +1 -32
  979. package/dist/server/components/dropdown-trigger/index.js +1 -32
  980. package/dist/server/components/empty-state/empty-state.schema.js +7 -35
  981. package/dist/server/components/empty-state/empty-state.variables.js +1 -32
  982. package/dist/server/components/empty-state/index.js +1 -32
  983. package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +73 -0
  984. package/dist/server/components/event-stream-viewer/event-stream-viewer.variables.js +12 -0
  985. package/dist/server/components/event-stream-viewer/index.css +414 -0
  986. package/dist/server/components/event-stream-viewer/index.js +627 -0
  987. package/dist/server/components/experimental/connection-indicator/index.js +1 -32
  988. package/dist/server/components/experimental/json-viewer/index.js +1 -32
  989. package/dist/server/components/experimental/message/index.js +1 -32
  990. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.schema.js +78 -0
  991. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.variables.js +12 -0
  992. package/dist/server/components/faceted-filter-bar/index.css +108 -0
  993. package/dist/server/components/faceted-filter-bar/index.js +736 -0
  994. package/dist/server/components/feed/feed.schema.js +6 -34
  995. package/dist/server/components/feed/feed.variables.js +1 -32
  996. package/dist/server/components/feed/index.js +1 -32
  997. package/dist/server/components/feed-event/feed-event.schema.js +16 -36
  998. package/dist/server/components/feed-event/feed-event.variables.js +1 -32
  999. package/dist/server/components/feed-event/index.js +1 -32
  1000. package/dist/server/components/file-upload/file-upload.schema.js +15 -39
  1001. package/dist/server/components/file-upload/file-upload.variables.js +1 -32
  1002. package/dist/server/components/file-upload/index.js +1 -32
  1003. package/dist/server/components/floating-action-button/floating-action-button.schema.js +11 -33
  1004. package/dist/server/components/floating-action-button/floating-action-button.variables.js +1 -32
  1005. package/dist/server/components/floating-action-button/index.css +2 -1
  1006. package/dist/server/components/floating-action-button/index.js +1 -32
  1007. package/dist/server/components/focus-trap/focus-trap.schema.js +21 -38
  1008. package/dist/server/components/focus-trap/focus-trap.variables.js +1 -32
  1009. package/dist/server/components/focus-trap/index.js +6 -34
  1010. package/dist/server/components/form-field/form-field.schema.js +4 -33
  1011. package/dist/server/components/form-field/form-field.variables.js +1 -32
  1012. package/dist/server/components/form-field/index.js +1 -32
  1013. package/dist/server/components/form-section/form-section.schema.js +4 -33
  1014. package/dist/server/components/form-section/form-section.variables.js +1 -32
  1015. package/dist/server/components/form-section/index.js +1 -32
  1016. package/dist/server/components/grid/grid.schema.js +64 -0
  1017. package/dist/server/components/grid/grid.variables.js +12 -0
  1018. package/dist/server/components/grid/index.css +26 -0
  1019. package/dist/server/components/grid/index.js +113 -0
  1020. package/dist/server/components/grid-item/grid-item.schema.js +91 -0
  1021. package/dist/server/components/grid-item/grid-item.variables.js +12 -0
  1022. package/dist/server/components/grid-item/index.js +62 -0
  1023. package/dist/server/components/grid-list/grid-list.schema.js +6 -34
  1024. package/dist/server/components/grid-list/grid-list.variables.js +1 -32
  1025. package/dist/server/components/grid-list/index.js +1 -32
  1026. package/dist/server/components/grid-list-item/grid-list-item.schema.js +19 -41
  1027. package/dist/server/components/grid-list-item/grid-list-item.variables.js +1 -32
  1028. package/dist/server/components/grid-list-item/index.js +1 -32
  1029. package/dist/server/components/hover-card/hover-card.schema.js +21 -42
  1030. package/dist/server/components/hover-card/hover-card.variables.js +1 -32
  1031. package/dist/server/components/hover-card/index.js +1 -32
  1032. package/dist/server/components/image/image.schema.js +9 -36
  1033. package/dist/server/components/image/image.variables.js +1 -32
  1034. package/dist/server/components/image/index.js +1 -32
  1035. package/dist/server/components/input/index.js +1 -32
  1036. package/dist/server/components/input/input.schema.js +22 -42
  1037. package/dist/server/components/input/input.variables.js +1 -32
  1038. package/dist/server/components/invocation-rule-builder/index.css +262 -0
  1039. package/dist/server/components/invocation-rule-builder/index.js +333 -0
  1040. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +82 -0
  1041. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.variables.js +12 -0
  1042. package/dist/server/components/json-schema-editor/index.js +26 -7430
  1043. package/dist/server/components/json-schema-editor/json-schema-editor.schema.js +8 -35
  1044. package/dist/server/components/json-schema-editor/json-schema-editor.variables.js +1 -32
  1045. package/dist/server/components/json-viewer/index.css +6 -0
  1046. package/dist/server/components/json-viewer/index.js +3 -34
  1047. package/dist/server/components/json-viewer/json-viewer.schema.js +4 -33
  1048. package/dist/server/components/json-viewer/json-viewer.variables.js +1 -32
  1049. package/dist/server/components/kanban-board/index.js +1 -32
  1050. package/dist/server/components/kanban-board/kanban-board.schema.js +19 -41
  1051. package/dist/server/components/kanban-board/kanban-board.variables.js +1 -32
  1052. package/dist/server/components/kbd/index.js +1 -32
  1053. package/dist/server/components/kbd/kbd.schema.js +11 -33
  1054. package/dist/server/components/kbd/kbd.variables.js +1 -32
  1055. package/dist/server/components/keyboard-shortcuts/index.js +1 -32
  1056. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +6 -34
  1057. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +1 -32
  1058. package/dist/server/components/label/index.js +1 -32
  1059. package/dist/server/components/label/label.schema.js +6 -34
  1060. package/dist/server/components/label/label.variables.js +1 -32
  1061. package/dist/server/components/line-chart/index.js +1 -32
  1062. package/dist/server/components/line-chart/line-chart.schema.js +40 -46
  1063. package/dist/server/components/line-chart/line-chart.variables.js +1 -32
  1064. package/dist/server/components/link/index.js +1 -32
  1065. package/dist/server/components/link/link.schema.js +6 -34
  1066. package/dist/server/components/link/link.variables.js +1 -32
  1067. package/dist/server/components/load-more/index.js +7 -33
  1068. package/dist/server/components/load-more/load-more.schema.js +10 -35
  1069. package/dist/server/components/load-more/load-more.variables.js +1 -32
  1070. package/dist/server/components/markdown-editor/index.js +109 -137
  1071. package/dist/server/components/markdown-editor/markdown-editor.schema.js +29 -43
  1072. package/dist/server/components/markdown-editor/markdown-editor.variables.js +1 -32
  1073. package/dist/server/components/masonry/index.css +14 -0
  1074. package/dist/server/components/masonry/index.js +48 -0
  1075. package/dist/server/components/masonry/masonry.schema.js +44 -0
  1076. package/dist/server/components/masonry/masonry.variables.js +12 -0
  1077. package/dist/server/components/matrix-chart/index.css +4 -0
  1078. package/dist/server/components/matrix-chart/index.js +7 -34
  1079. package/dist/server/components/matrix-chart/matrix-chart.schema.js +42 -46
  1080. package/dist/server/components/matrix-chart/matrix-chart.variables.js +1 -32
  1081. package/dist/server/components/media-controls/index.js +7 -33
  1082. package/dist/server/components/media-controls/media-controls.schema.js +7 -35
  1083. package/dist/server/components/media-controls/media-controls.variables.js +1 -32
  1084. package/dist/server/components/menu-bar/index.js +1 -32
  1085. package/dist/server/components/menu-bar/menu-bar.schema.js +11 -37
  1086. package/dist/server/components/menu-bar/menu-bar.variables.js +1 -32
  1087. package/dist/server/components/message/index.js +1 -32
  1088. package/dist/server/components/message/message.schema.js +4 -33
  1089. package/dist/server/components/message/message.variables.js +1 -32
  1090. package/dist/server/components/modal/index.js +251 -61
  1091. package/dist/server/components/modal/modal.schema.js +19 -41
  1092. package/dist/server/components/modal/modal.variables.js +1 -32
  1093. package/dist/server/components/navigation-bar/index.css +57 -0
  1094. package/dist/server/components/navigation-bar/index.js +14 -38
  1095. package/dist/server/components/navigation-bar/navigation-bar.schema.js +16 -34
  1096. package/dist/server/components/navigation-bar/navigation-bar.variables.js +1 -32
  1097. package/dist/server/components/navigation-item/index.js +1 -32
  1098. package/dist/server/components/navigation-item/navigation-item.schema.js +16 -38
  1099. package/dist/server/components/navigation-item/navigation-item.variables.js +1 -32
  1100. package/dist/server/components/number-input/index.js +1 -32
  1101. package/dist/server/components/number-input/number-input.schema.js +27 -45
  1102. package/dist/server/components/number-input/number-input.variables.js +1 -32
  1103. package/dist/server/components/pagination/index.css +0 -1
  1104. package/dist/server/components/pagination/index.js +1 -32
  1105. package/dist/server/components/pagination/pagination.schema.js +1 -32
  1106. package/dist/server/components/pagination/pagination.variables.js +1 -32
  1107. package/dist/server/components/payload-inspector/index.css +144 -0
  1108. package/dist/server/components/payload-inspector/index.js +1322 -0
  1109. package/dist/server/components/payload-inspector/payload-inspector.schema.js +76 -0
  1110. package/dist/server/components/payload-inspector/payload-inspector.variables.js +12 -0
  1111. package/dist/server/components/permission-matrix/index.css +161 -0
  1112. package/dist/server/components/permission-matrix/index.js +294 -0
  1113. package/dist/server/components/permission-matrix/permission-matrix.schema.js +81 -0
  1114. package/dist/server/components/permission-matrix/permission-matrix.variables.js +12 -0
  1115. package/dist/server/components/phone-input/index.js +1 -32
  1116. package/dist/server/components/phone-input/phone-input.schema.js +3 -33
  1117. package/dist/server/components/phone-input/phone-input.variables.js +1 -32
  1118. package/dist/server/components/pin-input/index.js +1 -32
  1119. package/dist/server/components/pin-input/pin-input.schema.js +6 -34
  1120. package/dist/server/components/pin-input/pin-input.variables.js +1 -32
  1121. package/dist/server/components/popover/index.js +3 -33
  1122. package/dist/server/components/popover/popover.schema.js +12 -35
  1123. package/dist/server/components/popover/popover.variables.js +1 -32
  1124. package/dist/server/components/portal/index.js +1 -32
  1125. package/dist/server/components/portal/portal.schema.js +19 -37
  1126. package/dist/server/components/portal/portal.variables.js +1 -32
  1127. package/dist/server/components/pricing-card/index.css +2 -2
  1128. package/dist/server/components/pricing-card/index.js +1 -32
  1129. package/dist/server/components/pricing-card/pricing-card.schema.js +12 -33
  1130. package/dist/server/components/pricing-card/pricing-card.variables.js +1 -32
  1131. package/dist/server/components/progress/index.js +1 -32
  1132. package/dist/server/components/progress/progress.schema.js +1 -32
  1133. package/dist/server/components/progress/progress.variables.js +1 -32
  1134. package/dist/server/components/radio-group/index.js +1 -32
  1135. package/dist/server/components/radio-group/radio-group.schema.js +4 -33
  1136. package/dist/server/components/radio-group/radio-group.variables.js +1 -32
  1137. package/dist/server/components/rating/index.js +1 -32
  1138. package/dist/server/components/rating/rating.schema.js +4 -33
  1139. package/dist/server/components/rating/rating.variables.js +1 -32
  1140. package/dist/server/components/resizable-panels/index.js +1 -32
  1141. package/dist/server/components/resizable-panels/resizable-panels.schema.js +13 -38
  1142. package/dist/server/components/resizable-panels/resizable-panels.variables.js +1 -32
  1143. package/dist/server/components/review-editor/index.js +116 -140
  1144. package/dist/server/components/review-editor/review-editor.schema.js +15 -39
  1145. package/dist/server/components/review-editor/review-editor.variables.js +1 -32
  1146. package/dist/server/components/run-step-timeline/index.css +161 -0
  1147. package/dist/server/components/run-step-timeline/index.js +414 -0
  1148. package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +110 -0
  1149. package/dist/server/components/run-step-timeline/run-step-timeline.variables.js +12 -0
  1150. package/dist/server/components/schema-form/index.css +165 -0
  1151. package/dist/server/components/schema-form/index.js +911 -0
  1152. package/dist/server/components/schema-form/schema-form.schema.js +50 -0
  1153. package/dist/server/components/schema-form/schema-form.variables.js +12 -0
  1154. package/dist/server/components/scroll-area/index.js +1 -32
  1155. package/dist/server/components/scroll-area/scroll-area.schema.js +4 -33
  1156. package/dist/server/components/scroll-area/scroll-area.variables.js +1 -32
  1157. package/dist/server/components/search-field/index.js +1 -32
  1158. package/dist/server/components/search-field/search-field.schema.js +9 -36
  1159. package/dist/server/components/search-field/search-field.variables.js +1 -32
  1160. package/dist/server/components/secret-value-field/index.css +124 -0
  1161. package/dist/server/components/secret-value-field/index.js +173 -0
  1162. package/dist/server/components/secret-value-field/secret-value-field.schema.js +68 -0
  1163. package/dist/server/components/secret-value-field/secret-value-field.variables.js +12 -0
  1164. package/dist/server/components/section-heading/index.js +1 -32
  1165. package/dist/server/components/section-heading/section-heading.schema.js +8 -35
  1166. package/dist/server/components/section-heading/section-heading.variables.js +1 -32
  1167. package/dist/server/components/segment/index.js +1 -32
  1168. package/dist/server/components/segment/segment.schema.js +11 -36
  1169. package/dist/server/components/segment/segment.variables.js +1 -32
  1170. package/dist/server/components/segmented-control/index.css +5 -0
  1171. package/dist/server/components/segmented-control/index.js +1 -32
  1172. package/dist/server/components/segmented-control/segmented-control.schema.js +10 -36
  1173. package/dist/server/components/segmented-control/segmented-control.variables.js +1 -32
  1174. package/dist/server/components/select/index.js +1 -32
  1175. package/dist/server/components/select/select.schema.js +8 -35
  1176. package/dist/server/components/select/select.variables.js +1 -32
  1177. package/dist/server/components/selection-popover/index.js +5 -35
  1178. package/dist/server/components/selection-popover/selection-popover.schema.js +12 -37
  1179. package/dist/server/components/selection-popover/selection-popover.variables.js +1 -32
  1180. package/dist/server/components/share-card/index.js +45 -66
  1181. package/dist/server/components/share-card/share-card.schema.js +5 -34
  1182. package/dist/server/components/share-card/share-card.variables.js +1 -32
  1183. package/dist/server/components/sheet/index.js +254 -64
  1184. package/dist/server/components/sheet/sheet.schema.js +12 -36
  1185. package/dist/server/components/sheet/sheet.variables.js +1 -32
  1186. package/dist/server/components/shortcut-hint/index.js +1 -32
  1187. package/dist/server/components/shortcut-hint/shortcut-hint.schema.js +3 -33
  1188. package/dist/server/components/shortcut-hint/shortcut-hint.variables.js +1 -32
  1189. package/dist/server/components/side-navigation/index.js +1 -32
  1190. package/dist/server/components/side-navigation/side-navigation.schema.js +6 -34
  1191. package/dist/server/components/side-navigation/side-navigation.variables.js +1 -32
  1192. package/dist/server/components/side-navigation-group/index.js +1 -32
  1193. package/dist/server/components/side-navigation-group/side-navigation-group.schema.js +10 -36
  1194. package/dist/server/components/side-navigation-group/side-navigation-group.variables.js +1 -32
  1195. package/dist/server/components/side-navigation-item/index.js +1 -32
  1196. package/dist/server/components/side-navigation-item/side-navigation-item.schema.js +16 -38
  1197. package/dist/server/components/side-navigation-item/side-navigation-item.variables.js +1 -32
  1198. package/dist/server/components/sidebar/index.js +272 -79
  1199. package/dist/server/components/sidebar/sidebar.schema.js +7 -35
  1200. package/dist/server/components/sidebar/sidebar.variables.js +1 -32
  1201. package/dist/server/components/skeleton/index.js +1 -32
  1202. package/dist/server/components/skeleton/skeleton.schema.js +9 -36
  1203. package/dist/server/components/skeleton/skeleton.variables.js +1 -32
  1204. package/dist/server/components/skip-link/index.js +1 -32
  1205. package/dist/server/components/skip-link/skip-link.schema.js +11 -33
  1206. package/dist/server/components/skip-link/skip-link.variables.js +1 -32
  1207. package/dist/server/components/slider/index.js +1 -32
  1208. package/dist/server/components/slider/slider.schema.js +5 -34
  1209. package/dist/server/components/slider/slider.variables.js +1 -32
  1210. package/dist/server/components/sortable-list/index.js +1 -32
  1211. package/dist/server/components/sortable-list/sortable-list.schema.js +27 -41
  1212. package/dist/server/components/sortable-list/sortable-list.variables.js +1 -32
  1213. package/dist/server/components/spectrogram/index.css +2 -1
  1214. package/dist/server/components/spectrogram/index.js +1 -32
  1215. package/dist/server/components/spectrogram/spectrogram.schema.js +51 -43
  1216. package/dist/server/components/spectrogram/spectrogram.variables.js +1 -32
  1217. package/dist/server/components/spectrum-chart/index.js +1 -32
  1218. package/dist/server/components/spectrum-chart/spectrum-chart.schema.js +43 -42
  1219. package/dist/server/components/spectrum-chart/spectrum-chart.variables.js +1 -32
  1220. package/dist/server/components/speed-dial/index.css +111 -0
  1221. package/dist/server/components/speed-dial/index.js +393 -0
  1222. package/dist/server/components/speed-dial/speed-dial.schema.js +57 -0
  1223. package/dist/server/components/speed-dial/speed-dial.variables.js +12 -0
  1224. package/dist/server/components/speed-dial-action/index.js +171 -0
  1225. package/dist/server/components/speed-dial-action/speed-dial-action.schema.js +52 -0
  1226. package/dist/server/components/speed-dial-action/speed-dial-action.variables.js +12 -0
  1227. package/dist/server/components/spinner/index.js +1 -32
  1228. package/dist/server/components/spinner/spinner.schema.js +1 -32
  1229. package/dist/server/components/spinner/spinner.variables.js +1 -32
  1230. package/dist/server/components/stacked-list-item/index.js +1 -32
  1231. package/dist/server/components/stacked-list-item/stacked-list-item.schema.js +20 -41
  1232. package/dist/server/components/stacked-list-item/stacked-list-item.variables.js +1 -32
  1233. package/dist/server/components/stat/index.js +1 -32
  1234. package/dist/server/components/stat/stat.schema.js +7 -35
  1235. package/dist/server/components/stat/stat.variables.js +1 -32
  1236. package/dist/server/components/stat-group/index.js +1 -32
  1237. package/dist/server/components/stat-group/stat-group.schema.js +4 -33
  1238. package/dist/server/components/stat-group/stat-group.variables.js +1 -32
  1239. package/dist/server/components/status-dot/index.css +1 -1
  1240. package/dist/server/components/status-dot/index.js +1 -32
  1241. package/dist/server/components/status-dot/status-dot.schema.js +1 -32
  1242. package/dist/server/components/status-dot/status-dot.variables.js +1 -32
  1243. package/dist/server/components/steps/index.css +13 -3
  1244. package/dist/server/components/steps/index.js +1 -32
  1245. package/dist/server/components/steps/steps.schema.js +4 -33
  1246. package/dist/server/components/steps/steps.variables.js +1 -32
  1247. package/dist/server/components/subscription-badge/index.js +2 -33
  1248. package/dist/server/components/subscription-badge/subscription-badge.schema.js +1 -32
  1249. package/dist/server/components/subscription-badge/subscription-badge.variables.js +1 -32
  1250. package/dist/server/components/surface/index.js +1 -32
  1251. package/dist/server/components/surface/surface.schema.js +11 -33
  1252. package/dist/server/components/surface/surface.variables.js +1 -32
  1253. package/dist/server/components/tab/index.js +1 -32
  1254. package/dist/server/components/tab/tab.schema.js +6 -34
  1255. package/dist/server/components/tab/tab.variables.js +1 -32
  1256. package/dist/server/components/tab-list/index.js +1 -32
  1257. package/dist/server/components/tab-list/tab-list.schema.js +4 -33
  1258. package/dist/server/components/tab-list/tab-list.variables.js +1 -32
  1259. package/dist/server/components/tab-panel/index.js +1 -32
  1260. package/dist/server/components/tab-panel/tab-panel.schema.js +4 -33
  1261. package/dist/server/components/tab-panel/tab-panel.variables.js +1 -32
  1262. package/dist/server/components/table/index.css +14 -4
  1263. package/dist/server/components/table/index.js +52 -38
  1264. package/dist/server/components/table/table.schema.js +6 -34
  1265. package/dist/server/components/table/table.variables.js +1 -32
  1266. package/dist/server/components/table-body/index.js +1 -32
  1267. package/dist/server/components/table-body/table-body.schema.js +4 -33
  1268. package/dist/server/components/table-body/table-body.variables.js +1 -32
  1269. package/dist/server/components/table-cell/index.js +1 -32
  1270. package/dist/server/components/table-cell/table-cell.schema.js +11 -34
  1271. package/dist/server/components/table-cell/table-cell.variables.js +1 -32
  1272. package/dist/server/components/table-header/index.js +1 -32
  1273. package/dist/server/components/table-header/table-header.schema.js +6 -34
  1274. package/dist/server/components/table-header/table-header.variables.js +1 -32
  1275. package/dist/server/components/table-header-cell/index.js +1 -32
  1276. package/dist/server/components/table-header-cell/table-header-cell.schema.js +4 -33
  1277. package/dist/server/components/table-header-cell/table-header-cell.variables.js +1 -32
  1278. package/dist/server/components/table-row/index.js +9 -34
  1279. package/dist/server/components/table-row/table-row.schema.js +8 -35
  1280. package/dist/server/components/table-row/table-row.variables.js +1 -32
  1281. package/dist/server/components/tabs/index.css +1 -1
  1282. package/dist/server/components/tabs/index.js +1 -32
  1283. package/dist/server/components/tabs/tabs.schema.js +4 -33
  1284. package/dist/server/components/tabs/tabs.variables.js +1 -32
  1285. package/dist/server/components/tag-input/index.css +2 -2
  1286. package/dist/server/components/tag-input/index.js +1 -32
  1287. package/dist/server/components/tag-input/tag-input.schema.js +5 -34
  1288. package/dist/server/components/tag-input/tag-input.variables.js +1 -32
  1289. package/dist/server/components/textarea/index.css +1 -0
  1290. package/dist/server/components/textarea/index.js +1 -32
  1291. package/dist/server/components/textarea/textarea.schema.js +13 -34
  1292. package/dist/server/components/textarea/textarea.variables.js +1 -32
  1293. package/dist/server/components/timeline/index.css +9 -7
  1294. package/dist/server/components/timeline/index.js +2 -33
  1295. package/dist/server/components/timeline/timeline.schema.js +17 -34
  1296. package/dist/server/components/timeline/timeline.variables.js +1 -32
  1297. package/dist/server/components/toast-region/index.js +31 -34
  1298. package/dist/server/components/toast-region/toast-region.schema.js +3 -33
  1299. package/dist/server/components/toast-region/toast-region.variables.js +1 -32
  1300. package/dist/server/components/toggle/index.css +2 -2
  1301. package/dist/server/components/toggle/index.js +1 -32
  1302. package/dist/server/components/toggle/toggle.schema.js +1 -32
  1303. package/dist/server/components/toggle/toggle.variables.js +1 -32
  1304. package/dist/server/components/toolbar/index.js +1 -32
  1305. package/dist/server/components/toolbar/toolbar.schema.js +12 -33
  1306. package/dist/server/components/toolbar/toolbar.variables.js +1 -32
  1307. package/dist/server/components/tooltip/index.css +3 -2
  1308. package/dist/server/components/tooltip/index.js +1 -32
  1309. package/dist/server/components/tooltip/tooltip.schema.js +10 -36
  1310. package/dist/server/components/tooltip/tooltip.variables.js +1 -32
  1311. package/dist/server/components/transfer-list/index.css +116 -0
  1312. package/dist/server/components/transfer-list/index.js +326 -0
  1313. package/dist/server/components/transfer-list/transfer-list.schema.js +72 -0
  1314. package/dist/server/components/transfer-list/transfer-list.variables.js +12 -0
  1315. package/dist/server/components/tree/index.css +186 -2
  1316. package/dist/server/components/tree/index.js +2651 -157
  1317. package/dist/server/components/tree/tree.schema.js +72 -35
  1318. package/dist/server/components/tree/tree.variables.js +6 -33
  1319. package/dist/server/components/tree-item/index.js +374 -49
  1320. package/dist/server/components/tree-item/tree-item.schema.js +19 -37
  1321. package/dist/server/components/tree-item/tree-item.variables.js +1 -32
  1322. package/dist/server/components/typography/index.js +1 -32
  1323. package/dist/server/components/typography/typography.schema.js +12 -33
  1324. package/dist/server/components/typography/typography.variables.js +1 -32
  1325. package/dist/server/components/virtual-list/index.css +30 -0
  1326. package/dist/server/components/virtual-list/index.js +186 -0
  1327. package/dist/server/components/virtual-list/virtual-list.schema.js +69 -0
  1328. package/dist/server/components/virtual-list/virtual-list.variables.js +12 -0
  1329. package/dist/server/components/visually-hidden/index.js +1 -32
  1330. package/dist/server/components/visually-hidden/visually-hidden.schema.js +12 -33
  1331. package/dist/server/components/visually-hidden/visually-hidden.variables.js +1 -32
  1332. package/dist/server/components/waveform/index.js +1 -32
  1333. package/dist/server/components/waveform/waveform.schema.js +34 -42
  1334. package/dist/server/components/waveform/waveform.variables.js +1 -32
  1335. package/dist/server/highlighters/shiki/index.js +9 -33
  1336. package/dist/server/index.css +5383 -2634
  1337. package/dist/server/index.js +14950 -12212
  1338. package/dist/server/markdown/rendering/rehype-shiki-sync.d.ts +9 -0
  1339. package/dist/server/markdown/rendering/rehype-shiki-sync.js +23 -10
  1340. package/dist/server/markdown/rendering/render.js +8 -2
  1341. package/dist/server/styles/base-guard.js +1 -32
  1342. package/dist/styles/base-guard.js +1 -31
  1343. package/dist/utilities/fixed-virtual-window.d.ts +27 -0
  1344. package/package.json +465 -369
  1345. package/src/_internal/anchored-overlay.svelte.ts +72 -48
  1346. package/src/_internal/overlay.ts +27 -12
  1347. package/src/_internal/toast-context.ts +8 -0
  1348. package/src/_internal/tree-context.ts +18 -0
  1349. package/src/_internal/tree-data.ts +91 -0
  1350. package/src/_internal/tree-drag-controller.svelte.ts +328 -0
  1351. package/src/_internal/tree-registry.svelte.ts +89 -4
  1352. package/src/_internal/use-virtualizer.svelte.ts +226 -0
  1353. package/src/_internal/virtual-item.ts +1 -0
  1354. package/src/components/_timeline-item/index.ts +5 -0
  1355. package/src/components/_tree-expand-all/index.ts +5 -0
  1356. package/src/components/_tree-expand-all/tree-expand-all.svelte +83 -0
  1357. package/src/components/_tree-expand-all/tree-expand-all.types.ts +15 -0
  1358. package/src/components/_visually-hidden-live-region.svelte +13 -0
  1359. package/src/components/access-gate/README.md +55 -0
  1360. package/src/components/access-gate/access-gate-inline.svelte +415 -0
  1361. package/src/components/access-gate/access-gate.css +129 -0
  1362. package/src/components/access-gate/access-gate.examples.json +19 -0
  1363. package/src/components/access-gate/access-gate.svelte +92 -0
  1364. package/src/components/access-gate/access-gate.types.ts +46 -0
  1365. package/src/components/access-gate/index.ts +6 -0
  1366. package/src/components/accordion/README.md +5 -4
  1367. package/src/components/accordion/accordion.examples.json +1 -1
  1368. package/src/components/accordion/accordion.svelte +9 -2
  1369. package/src/components/accordion-item/README.md +7 -6
  1370. package/src/components/alert/README.md +8 -5
  1371. package/src/components/alert-dialog/README.md +14 -14
  1372. package/src/components/alert-dialog/alert-dialog.types.ts +7 -0
  1373. package/src/components/area-chart/README.md +18 -16
  1374. package/src/components/area-chart/area-chart.examples.json +1 -0
  1375. package/src/components/area-chart/area-chart.types.ts +14 -0
  1376. package/src/components/aspect-ratio/README.md +7 -6
  1377. package/src/components/autocomplete/README.md +14 -14
  1378. package/src/components/autocomplete/autocomplete.css +10 -3
  1379. package/src/components/autocomplete/autocomplete.examples.json +3 -2
  1380. package/src/components/autocomplete/autocomplete.types.ts +14 -0
  1381. package/src/components/avatar/README.md +8 -8
  1382. package/src/components/avatar/avatar.css +1 -0
  1383. package/src/components/avatar/avatar.types.ts +6 -0
  1384. package/src/components/avatar-group/README.md +11 -10
  1385. package/src/components/avatar-group/avatar-group.svelte +16 -0
  1386. package/src/components/avatar-group/avatar-group.types.ts +10 -0
  1387. package/src/components/backdrop/README.md +9 -9
  1388. package/src/components/badge/README.md +7 -6
  1389. package/src/components/badge/badge.css +1 -1
  1390. package/src/components/banner/README.md +3 -3
  1391. package/src/components/bar-chart/README.md +16 -14
  1392. package/src/components/bar-chart/bar-chart.css +4 -0
  1393. package/src/components/bar-chart/bar-chart.svelte +4 -0
  1394. package/src/components/bar-chart/bar-chart.types.ts +14 -0
  1395. package/src/components/button/README.md +13 -10
  1396. package/src/components/button/button.css +7 -0
  1397. package/src/components/button/button.examples.json +1 -1
  1398. package/src/components/button-group/README.md +7 -7
  1399. package/src/components/button-group/button-group.types.ts +12 -1
  1400. package/src/components/callout/README.md +2 -2
  1401. package/src/components/capability-gate/README.md +14 -14
  1402. package/src/components/capability-gate/capability-gate.css +5 -2
  1403. package/src/components/card/README.md +3 -3
  1404. package/src/components/card/card.types.ts +2 -0
  1405. package/src/components/chart.types.ts +12 -0
  1406. package/src/components/chat/README.md +149 -36
  1407. package/src/components/chat/adapter/chat-adapter.ts +132 -0
  1408. package/src/components/chat/adapter/index.ts +15 -0
  1409. package/src/components/chat/chat.examples.json +26 -2
  1410. package/src/components/chat/chat.types.ts +173 -0
  1411. package/src/components/chat/container/chat-history-trigger.svelte +107 -0
  1412. package/src/components/chat/container/chat-participant-typing.svelte +156 -0
  1413. package/src/components/chat/container/chat-status-announcer.svelte +13 -19
  1414. package/src/components/chat/container/chat.svelte +1326 -226
  1415. package/src/components/chat/container/use-chat-keyboard-nav.svelte.ts +41 -8
  1416. package/src/components/chat/container/use-chat-message-groups.svelte.ts +66 -0
  1417. package/src/components/chat/container/use-chat-read-receipts.svelte.ts +103 -0
  1418. package/src/components/chat/container/use-chat-reasoning-state.svelte.ts +93 -0
  1419. package/src/components/chat/container/use-chat-typing-indicator.svelte.ts +200 -0
  1420. package/src/components/chat/container/use-chat-virtualizer.svelte.ts +328 -0
  1421. package/src/components/chat/index.ts +10 -1
  1422. package/src/components/chat/message/chat-message-parts-renderer.svelte +152 -0
  1423. package/src/components/chat/message/chat-message-parts.ts +163 -0
  1424. package/src/components/chat/message/chat-message.svelte +112 -78
  1425. package/src/components/chat/message/chat-read-receipt.svelte +115 -0
  1426. package/src/components/chat/message/parts/image-part.svelte +27 -0
  1427. package/src/components/chat/message/parts/markdown-part.svelte +23 -0
  1428. package/src/components/chat/message/parts/reasoning-part.svelte +280 -0
  1429. package/src/components/chat/message/parts/step-part.svelte +134 -0
  1430. package/src/components/chat/message/parts/suggestion-part.svelte +99 -0
  1431. package/src/components/chat/message/parts/tool-approval-part.svelte +301 -0
  1432. package/src/components/chat/message/parts/tool-call-part.svelte +31 -0
  1433. package/src/components/chat/message/parts/tool-result-part.svelte +74 -0
  1434. package/src/components/chat/utilities/index.ts +17 -1
  1435. package/src/components/chat/utilities/types.ts +265 -2
  1436. package/src/components/chat/utilities/utilities.ts +325 -1
  1437. package/src/components/chat-conversation-header/README.md +40 -0
  1438. package/src/components/chat-conversation-header/chat-conversation-header.css +51 -0
  1439. package/src/components/chat-conversation-header/chat-conversation-header.examples.json +13 -0
  1440. package/src/components/chat-conversation-header/chat-conversation-header.svelte +83 -0
  1441. package/src/components/chat-conversation-header/chat-conversation-header.types.ts +20 -0
  1442. package/src/components/chat-conversation-header/index.ts +9 -0
  1443. package/src/components/chat-conversation-list/README.md +45 -0
  1444. package/src/components/chat-conversation-list/chat-conversation-list.css +114 -0
  1445. package/src/components/chat-conversation-list/chat-conversation-list.examples.json +13 -0
  1446. package/src/components/chat-conversation-list/chat-conversation-list.svelte +110 -0
  1447. package/src/components/chat-conversation-list/chat-conversation-list.types.ts +18 -0
  1448. package/src/components/chat-conversation-list/conversation-summary.ts +88 -0
  1449. package/src/components/chat-conversation-list/index.ts +11 -0
  1450. package/src/components/checkbox/README.md +1 -1
  1451. package/src/components/checkbox/checkbox.examples.json +1 -1
  1452. package/src/components/checkbox-group/README.md +1 -1
  1453. package/src/components/chip/README.md +9 -9
  1454. package/src/components/chip/chip.svelte +12 -0
  1455. package/src/components/chip/chip.types.ts +22 -0
  1456. package/src/components/choice-grid/README.md +2 -2
  1457. package/src/components/choice-grid-item/README.md +1 -1
  1458. package/src/components/click-away-listener/README.md +6 -6
  1459. package/src/components/code-block/README.md +11 -9
  1460. package/src/components/code-block/code-block.css +77 -47
  1461. package/src/components/code-block/code-block.examples.json +6 -0
  1462. package/src/components/code-block/code-block.svelte +32 -37
  1463. package/src/components/code-block/code-block.types.ts +9 -6
  1464. package/src/components/collapsible/README.md +9 -7
  1465. package/src/components/color-field/README.md +1 -1
  1466. package/src/components/color-field/color-field.examples.json +1 -1
  1467. package/src/components/color-picker/README.md +2 -2
  1468. package/src/components/color-swatch-picker/README.md +13 -13
  1469. package/src/components/combobox/README.md +3 -3
  1470. package/src/components/combobox/combobox.examples.json +1 -1
  1471. package/src/components/combobox/combobox.svelte +64 -6
  1472. package/src/components/command-item/README.md +11 -11
  1473. package/src/components/command-menu/README.md +15 -15
  1474. package/src/components/command-menu/command-menu.examples.json +1 -1
  1475. package/src/components/command-palette/README.md +5 -5
  1476. package/src/components/command-palette/command-palette.css +26 -12
  1477. package/src/components/confirm-dialog/README.md +14 -14
  1478. package/src/components/container/README.md +10 -9
  1479. package/src/components/context-menu/README.md +9 -9
  1480. package/src/components/context-menu/context-menu.context.ts +2 -0
  1481. package/src/components/context-menu/context-menu.svelte +4 -0
  1482. package/src/components/context-menu/context-menu.types.ts +5 -0
  1483. package/src/components/context-menu-trigger/README.md +2 -2
  1484. package/src/components/context-menu-trigger/context-menu-trigger.svelte +6 -0
  1485. package/src/components/context-menu-trigger/context-menu-trigger.types.ts +1 -0
  1486. package/src/components/copy-button/README.md +2 -2
  1487. package/src/components/data-grid/README.md +80 -0
  1488. package/src/components/data-grid/_internal/column-model.svelte.ts +218 -0
  1489. package/src/components/data-grid/_internal/geometry.ts +87 -0
  1490. package/src/components/data-grid/_internal/keyboard-model.ts +131 -0
  1491. package/src/components/data-grid/_internal/selection-model.svelte.ts +168 -0
  1492. package/src/components/data-grid/_internal/sort-model.ts +134 -0
  1493. package/src/components/data-grid/_internal/virtualization-adapter.svelte.ts +505 -0
  1494. package/src/components/data-grid/data-grid-selection-bind-probe.ts +15 -0
  1495. package/src/components/data-grid/data-grid.css +283 -0
  1496. package/src/components/data-grid/data-grid.examples.json +19 -0
  1497. package/src/components/data-grid/data-grid.svelte +1030 -0
  1498. package/src/components/data-grid/data-grid.types.ts +118 -0
  1499. package/src/components/data-grid/index.ts +16 -0
  1500. package/src/components/data-list/README.md +8 -8
  1501. package/src/components/data-list/data-list.types.ts +1 -0
  1502. package/src/components/data-table/README.md +23 -12
  1503. package/src/components/data-table/data-table.css +25 -0
  1504. package/src/components/data-table/data-table.examples.json +6 -0
  1505. package/src/components/data-table/data-table.svelte +305 -13
  1506. package/src/components/data-table/data-table.types.ts +35 -1
  1507. package/src/components/date-range-field/README.md +141 -0
  1508. package/src/components/date-range-field/date-range-field.css +211 -0
  1509. package/src/components/date-range-field/date-range-field.examples.json +31 -0
  1510. package/src/components/date-range-field/date-range-field.svelte +246 -0
  1511. package/src/components/date-range-field/date-range-field.types.ts +78 -0
  1512. package/src/components/date-range-field/index.ts +10 -0
  1513. package/src/components/description-list/README.md +3 -3
  1514. package/src/components/description-list/description-list.types.ts +1 -0
  1515. package/src/components/diff-statistics/README.md +11 -11
  1516. package/src/components/diff-statistics/diff-statistics.types.ts +5 -2
  1517. package/src/components/diff-viewer/README.md +13 -13
  1518. package/src/components/divider/divider.svelte +1 -1
  1519. package/src/components/drawer/README.md +6 -6
  1520. package/src/components/drawer/drawer.examples.json +1 -1
  1521. package/src/components/drawer/drawer.svelte +39 -27
  1522. package/src/components/dropdown/README.md +4 -4
  1523. package/src/components/dropdown/dropdown.examples.json +1 -1
  1524. package/src/components/dropdown/dropdown.types.ts +4 -0
  1525. package/src/components/dropdown-group/README.md +6 -6
  1526. package/src/components/dropdown-group/dropdown-group.types.ts +12 -1
  1527. package/src/components/dropdown-item/README.md +4 -4
  1528. package/src/components/dropdown-item/dropdown-item.types.ts +4 -0
  1529. package/src/components/dropdown-label/README.md +1 -1
  1530. package/src/components/dropdown-label/dropdown-label.types.ts +1 -0
  1531. package/src/components/dropdown-menu/README.md +1 -1
  1532. package/src/components/dropdown-menu/dropdown-menu.types.ts +1 -0
  1533. package/src/components/dropdown-separator/README.md +3 -3
  1534. package/src/components/dropdown-separator/dropdown-separator.types.ts +1 -0
  1535. package/src/components/dropdown-trigger/README.md +1 -1
  1536. package/src/components/dropdown-trigger/dropdown-trigger.types.ts +1 -0
  1537. package/src/components/empty-state/README.md +3 -3
  1538. package/src/components/empty-state/empty-state.types.ts +3 -0
  1539. package/src/components/event-stream-viewer/README.md +147 -0
  1540. package/src/components/event-stream-viewer/event-stream-viewer.css +474 -0
  1541. package/src/components/event-stream-viewer/event-stream-viewer.examples.json +31 -0
  1542. package/src/components/event-stream-viewer/event-stream-viewer.svelte +298 -0
  1543. package/src/components/event-stream-viewer/event-stream-viewer.types.ts +85 -0
  1544. package/src/components/event-stream-viewer/index.ts +11 -0
  1545. package/src/components/faceted-filter-bar/README.md +170 -0
  1546. package/src/components/faceted-filter-bar/faceted-filter-bar.css +121 -0
  1547. package/src/components/faceted-filter-bar/faceted-filter-bar.examples.json +25 -0
  1548. package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +193 -0
  1549. package/src/components/faceted-filter-bar/faceted-filter-bar.types.ts +98 -0
  1550. package/src/components/faceted-filter-bar/index.ts +13 -0
  1551. package/src/components/feed/README.md +2 -2
  1552. package/src/components/feed/feed.types.ts +1 -0
  1553. package/src/components/feed-event/README.md +4 -4
  1554. package/src/components/feed-event/feed-event.types.ts +1 -0
  1555. package/src/components/file-upload/README.md +15 -15
  1556. package/src/components/floating-action-button/README.md +9 -8
  1557. package/src/components/floating-action-button/floating-action-button.css +3 -1
  1558. package/src/components/focus-trap/README.md +8 -7
  1559. package/src/components/focus-trap/focus-trap.types.ts +5 -0
  1560. package/src/components/focus-trap/focus-trap.utilities.svelte.ts +32 -3
  1561. package/src/components/form-field/README.md +10 -10
  1562. package/src/components/form-field/form-field.examples.json +1 -1
  1563. package/src/components/form-section/README.md +9 -9
  1564. package/src/components/grid/README.md +61 -0
  1565. package/src/components/grid/grid.css +24 -0
  1566. package/src/components/grid/grid.examples.json +19 -0
  1567. package/src/components/grid/grid.svelte +62 -0
  1568. package/src/components/grid/grid.types.ts +31 -0
  1569. package/src/components/grid/index.ts +17 -0
  1570. package/src/components/grid-item/README.md +50 -0
  1571. package/src/components/grid-item/grid-item.svelte +55 -0
  1572. package/src/components/grid-item/grid-item.types.ts +22 -0
  1573. package/src/components/grid-item/index.ts +5 -0
  1574. package/src/components/grid-list/README.md +2 -2
  1575. package/src/components/grid-list-item/README.md +11 -11
  1576. package/src/components/grid-list-item/grid-list-item.types.ts +3 -0
  1577. package/src/components/hover-card/README.md +10 -10
  1578. package/src/components/hover-card/hover-card.types.ts +8 -0
  1579. package/src/components/image/README.md +4 -4
  1580. package/src/components/input/README.md +10 -10
  1581. package/src/components/input/input.examples.json +1 -1
  1582. package/src/components/input/input.types.ts +12 -0
  1583. package/src/components/invocation-rule-builder/README.md +128 -0
  1584. package/src/components/invocation-rule-builder/index.ts +13 -0
  1585. package/src/components/invocation-rule-builder/invocation-rule-builder.css +281 -0
  1586. package/src/components/invocation-rule-builder/invocation-rule-builder.examples.json +19 -0
  1587. package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +545 -0
  1588. package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +144 -0
  1589. package/src/components/json-schema-editor/README.md +14 -14
  1590. package/src/components/json-schema-editor/json-schema-editor.examples.json +1 -1
  1591. package/src/components/json-schema-editor/json-schema-editor.types.ts +1 -0
  1592. package/src/components/json-viewer/README.md +7 -7
  1593. package/src/components/json-viewer/_json-viewer-node.svelte +7 -7
  1594. package/src/components/json-viewer/json-viewer.css +6 -0
  1595. package/src/components/json-viewer/json-viewer.examples.json +37 -0
  1596. package/src/components/kanban-board/README.md +9 -9
  1597. package/src/components/kanban-board/kanban-board.types.ts +4 -0
  1598. package/src/components/kbd/README.md +6 -5
  1599. package/src/components/keyboard-shortcuts/README.md +6 -6
  1600. package/src/components/label/README.md +7 -7
  1601. package/src/components/line-chart/README.md +17 -15
  1602. package/src/components/line-chart/line-chart.examples.json +1 -0
  1603. package/src/components/line-chart/line-chart.types.ts +13 -0
  1604. package/src/components/link/README.md +2 -2
  1605. package/src/components/load-more/README.md +13 -13
  1606. package/src/components/markdown-editor/README.md +11 -11
  1607. package/src/components/markdown-editor/markdown-editor.examples.json +1 -1
  1608. package/src/components/masonry/README.md +49 -0
  1609. package/src/components/masonry/index.ts +6 -0
  1610. package/src/components/masonry/masonry.css +12 -0
  1611. package/src/components/masonry/masonry.examples.json +13 -0
  1612. package/src/components/masonry/masonry.svelte +39 -0
  1613. package/src/components/masonry/masonry.types.ts +16 -0
  1614. package/src/components/matrix-chart/README.md +17 -15
  1615. package/src/components/matrix-chart/matrix-chart.css +4 -0
  1616. package/src/components/matrix-chart/matrix-chart.svelte +19 -1
  1617. package/src/components/matrix-chart/matrix-chart.types.ts +14 -1
  1618. package/src/components/media-controls/README.md +14 -14
  1619. package/src/components/menu-bar/README.md +7 -7
  1620. package/src/components/menu-bar/menu-bar.svelte +9 -0
  1621. package/src/components/menu-bar/menu-bar.types.ts +4 -0
  1622. package/src/components/message/README.md +8 -8
  1623. package/src/components/modal/README.md +16 -16
  1624. package/src/components/modal/modal.examples.json +1 -1
  1625. package/src/components/modal/modal.svelte +19 -1
  1626. package/src/components/modal/modal.types.ts +8 -0
  1627. package/src/components/navigation-bar/README.md +42 -12
  1628. package/src/components/navigation-bar/index.ts +2 -0
  1629. package/src/components/navigation-bar/navigation-bar.css +66 -0
  1630. package/src/components/navigation-bar/navigation-bar.examples.json +6 -0
  1631. package/src/components/navigation-bar/navigation-bar.svelte +16 -6
  1632. package/src/components/navigation-bar/navigation-bar.types.ts +18 -0
  1633. package/src/components/navigation-item/README.md +6 -6
  1634. package/src/components/navigation-item/navigation-item.types.ts +4 -0
  1635. package/src/components/number-input/README.md +13 -13
  1636. package/src/components/number-input/number-input.types.ts +13 -0
  1637. package/src/components/pagination/pagination.css +0 -1
  1638. package/src/components/payload-inspector/README.md +147 -0
  1639. package/src/components/payload-inspector/index.ts +10 -0
  1640. package/src/components/payload-inspector/payload-inspector.css +173 -0
  1641. package/src/components/payload-inspector/payload-inspector.examples.json +31 -0
  1642. package/src/components/payload-inspector/payload-inspector.svelte +386 -0
  1643. package/src/components/payload-inspector/payload-inspector.types.ts +72 -0
  1644. package/src/components/permission-matrix/README.md +61 -0
  1645. package/src/components/permission-matrix/index.ts +12 -0
  1646. package/src/components/permission-matrix/permission-matrix.css +165 -0
  1647. package/src/components/permission-matrix/permission-matrix.examples.json +13 -0
  1648. package/src/components/permission-matrix/permission-matrix.svelte +181 -0
  1649. package/src/components/permission-matrix/permission-matrix.types.ts +73 -0
  1650. package/src/components/phone-input/README.md +18 -18
  1651. package/src/components/phone-input/phone-input.examples.json +1 -1
  1652. package/src/components/pin-input/README.md +19 -19
  1653. package/src/components/pin-input/pin-input.examples.json +1 -1
  1654. package/src/components/popover/README.md +19 -18
  1655. package/src/components/popover/popover.svelte +10 -3
  1656. package/src/components/popover/popover.types.ts +6 -0
  1657. package/src/components/portal/README.md +7 -6
  1658. package/src/components/portal/portal.types.ts +4 -0
  1659. package/src/components/pricing-card/README.md +10 -9
  1660. package/src/components/pricing-card/pricing-card.css +11 -3
  1661. package/src/components/radio-group/README.md +12 -12
  1662. package/src/components/radio-group/radio-group.examples.json +1 -1
  1663. package/src/components/rating/README.md +18 -18
  1664. package/src/components/rating/rating.examples.json +1 -1
  1665. package/src/components/resizable-panels/resizable-panels.types.ts +4 -0
  1666. package/src/components/review-editor/README.md +7 -7
  1667. package/src/components/review-editor/index.ts +1 -1
  1668. package/src/components/review-editor/review-editor-impl.svelte +5 -2
  1669. package/src/components/review-editor/review-editor-selection-geometry.ts +3 -0
  1670. package/src/components/review-editor/review-editor-selection-types.ts +68 -0
  1671. package/src/components/review-editor/review-editor-selection.svelte.ts +2 -63
  1672. package/src/components/review-editor/review-editor.examples.json +1 -1
  1673. package/src/components/run-step-timeline/README.md +152 -0
  1674. package/src/components/run-step-timeline/index.ts +11 -0
  1675. package/src/components/run-step-timeline/run-step-timeline.css +215 -0
  1676. package/src/components/run-step-timeline/run-step-timeline.examples.json +25 -0
  1677. package/src/components/run-step-timeline/run-step-timeline.svelte +234 -0
  1678. package/src/components/run-step-timeline/run-step-timeline.types.ts +123 -0
  1679. package/src/components/schema-form/README.md +59 -0
  1680. package/src/components/schema-form/index.ts +14 -0
  1681. package/src/components/schema-form/schema-form-model.ts +409 -0
  1682. package/src/components/schema-form/schema-form-validation.ts +199 -0
  1683. package/src/components/schema-form/schema-form.css +180 -0
  1684. package/src/components/schema-form/schema-form.examples.json +19 -0
  1685. package/src/components/schema-form/schema-form.svelte +626 -0
  1686. package/src/components/schema-form/schema-form.types.ts +36 -0
  1687. package/src/components/scroll-area/README.md +1 -1
  1688. package/src/components/search-field/README.md +4 -4
  1689. package/src/components/search-field/search-field.examples.json +1 -1
  1690. package/src/components/secret-value-field/README.md +85 -0
  1691. package/src/components/secret-value-field/index.ts +6 -0
  1692. package/src/components/secret-value-field/secret-value-field.css +147 -0
  1693. package/src/components/secret-value-field/secret-value-field.examples.json +31 -0
  1694. package/src/components/secret-value-field/secret-value-field.svelte +223 -0
  1695. package/src/components/secret-value-field/secret-value-field.types.ts +47 -0
  1696. package/src/components/section-heading/README.md +9 -9
  1697. package/src/components/segment/README.md +9 -9
  1698. package/src/components/segmented-control/README.md +4 -4
  1699. package/src/components/segmented-control/segmented-control.css +17 -0
  1700. package/src/components/segmented-control/segmented-control.types.ts +2 -0
  1701. package/src/components/select/README.md +11 -11
  1702. package/src/components/select/select.examples.json +7 -1
  1703. package/src/components/selection-popover/README.md +13 -13
  1704. package/src/components/selection-popover/selection-popover.examples.json +4 -4
  1705. package/src/components/selection-popover/selection-popover.svelte +9 -2
  1706. package/src/components/selection-popover/selection-popover.types.ts +8 -0
  1707. package/src/components/share-card/README.md +12 -12
  1708. package/src/components/share-card/share-card.svelte +159 -141
  1709. package/src/components/sheet/README.md +6 -6
  1710. package/src/components/sheet/sheet.svelte +6 -0
  1711. package/src/components/shortcut-hint/README.md +7 -7
  1712. package/src/components/side-navigation/README.md +5 -5
  1713. package/src/components/side-navigation/side-navigation.examples.json +2 -2
  1714. package/src/components/side-navigation-group/README.md +10 -10
  1715. package/src/components/side-navigation-item/README.md +10 -10
  1716. package/src/components/sidebar/README.md +3 -3
  1717. package/src/components/skeleton/README.md +6 -6
  1718. package/src/components/skeleton/skeleton.types.ts +4 -0
  1719. package/src/components/skip-link/README.md +5 -4
  1720. package/src/components/skip-link/skip-link.examples.json +1 -1
  1721. package/src/components/slider/README.md +16 -16
  1722. package/src/components/slider/slider.types.ts +2 -0
  1723. package/src/components/sortable-list/README.md +12 -12
  1724. package/src/components/sortable-list/sortable-list.types.ts +1 -0
  1725. package/src/components/spectrogram/README.md +13 -11
  1726. package/src/components/spectrogram/spectrogram.css +2 -1
  1727. package/src/components/spectrogram/spectrogram.examples.json +12 -0
  1728. package/src/components/spectrogram/spectrogram.types.ts +12 -1
  1729. package/src/components/spectrum-chart/README.md +12 -10
  1730. package/src/components/spectrum-chart/spectrum-chart.types.ts +9 -0
  1731. package/src/components/speed-dial/README.md +54 -0
  1732. package/src/components/speed-dial/index.ts +25 -0
  1733. package/src/components/speed-dial/speed-dial.context.ts +16 -0
  1734. package/src/components/speed-dial/speed-dial.css +112 -0
  1735. package/src/components/speed-dial/speed-dial.examples.json +19 -0
  1736. package/src/components/speed-dial/speed-dial.svelte +205 -0
  1737. package/src/components/speed-dial/speed-dial.types.ts +59 -0
  1738. package/src/components/speed-dial-action/README.md +51 -0
  1739. package/src/components/speed-dial-action/index.ts +8 -0
  1740. package/src/components/speed-dial-action/speed-dial-action.svelte +77 -0
  1741. package/src/components/speed-dial-action/speed-dial-action.types.ts +50 -0
  1742. package/src/components/stacked-list-item/README.md +21 -11
  1743. package/src/components/stacked-list-item/stacked-list-item.examples.json +25 -0
  1744. package/src/components/stacked-list-item/stacked-list-item.types.ts +4 -0
  1745. package/src/components/stat/README.md +11 -11
  1746. package/src/components/stat-group/README.md +1 -1
  1747. package/src/components/stat-group/stat-group.examples.json +18 -0
  1748. package/src/components/status-dot/status-dot.css +1 -1
  1749. package/src/components/status-dot/status-dot.examples.json +2 -2
  1750. package/src/components/steps/README.md +10 -3
  1751. package/src/components/steps/steps.css +30 -10
  1752. package/src/components/steps/steps.examples.json +12 -0
  1753. package/src/components/subscription-badge/subscription-badge.examples.json +1 -1
  1754. package/src/components/subscription-badge/subscription-badge.svelte +1 -1
  1755. package/src/components/surface/README.md +6 -5
  1756. package/src/components/surface/surface.types.ts +1 -0
  1757. package/src/components/tab/README.md +8 -8
  1758. package/src/components/tab-list/README.md +6 -6
  1759. package/src/components/tab-panel/README.md +1 -1
  1760. package/src/components/table/README.md +2 -2
  1761. package/src/components/table/table.css +23 -4
  1762. package/src/components/table/table.svelte +26 -1
  1763. package/src/components/table/table.types.ts +2 -1
  1764. package/src/components/table-body/README.md +4 -4
  1765. package/src/components/table-cell/README.md +6 -6
  1766. package/src/components/table-cell/table-cell.types.ts +4 -7
  1767. package/src/components/table-header/README.md +2 -2
  1768. package/src/components/table-header-cell/README.md +1 -1
  1769. package/src/components/table-row/README.md +3 -3
  1770. package/src/components/table-row/table-row.svelte +2 -1
  1771. package/src/components/table-row/table-row.types.ts +4 -1
  1772. package/src/components/tabs/README.md +1 -1
  1773. package/src/components/tabs/tabs.css +1 -1
  1774. package/src/components/tag-input/README.md +29 -29
  1775. package/src/components/tag-input/tag-input.css +2 -2
  1776. package/src/components/tag-input/tag-input.examples.json +7 -1
  1777. package/src/components/tag-input/tag-input.svelte +18 -0
  1778. package/src/components/textarea/README.md +4 -2
  1779. package/src/components/textarea/textarea.css +1 -0
  1780. package/src/components/textarea/textarea.examples.json +19 -1
  1781. package/src/components/textarea/textarea.types.ts +10 -0
  1782. package/src/components/timeline/README.md +12 -10
  1783. package/src/components/timeline/timeline.css +40 -8
  1784. package/src/components/timeline/timeline.examples.json +9 -3
  1785. package/src/components/timeline/timeline.svelte +6 -3
  1786. package/src/components/timeline/timeline.types.ts +2 -2
  1787. package/src/components/toast-region/README.md +7 -7
  1788. package/src/components/toast-region/toast-region.svelte +54 -1
  1789. package/src/components/toggle/README.md +1 -1
  1790. package/src/components/toggle/toggle.css +5 -2
  1791. package/src/components/toggle/toggle.examples.json +7 -1
  1792. package/src/components/toolbar/README.md +5 -4
  1793. package/src/components/tooltip/README.md +7 -7
  1794. package/src/components/tooltip/tooltip.css +11 -2
  1795. package/src/components/tooltip/tooltip.types.ts +4 -0
  1796. package/src/components/transfer-list/README.md +52 -0
  1797. package/src/components/transfer-list/index.ts +10 -0
  1798. package/src/components/transfer-list/transfer-list.css +114 -0
  1799. package/src/components/transfer-list/transfer-list.examples.json +13 -0
  1800. package/src/components/transfer-list/transfer-list.svelte +394 -0
  1801. package/src/components/transfer-list/transfer-list.types.ts +55 -0
  1802. package/src/components/tree/README.md +29 -15
  1803. package/src/components/tree/index.ts +16 -3
  1804. package/src/components/tree/tree.css +203 -3
  1805. package/src/components/tree/tree.examples.json +12 -0
  1806. package/src/components/tree/tree.svelte +981 -45
  1807. package/src/components/tree/tree.types.ts +80 -3
  1808. package/src/components/tree-item/README.md +14 -12
  1809. package/src/components/tree-item/tree-item.svelte +410 -7
  1810. package/src/components/tree-item/tree-item.types.ts +11 -3
  1811. package/src/components/typography/README.md +8 -7
  1812. package/src/components/virtual-list/README.md +70 -0
  1813. package/src/components/virtual-list/index.ts +16 -0
  1814. package/src/components/virtual-list/virtual-list.css +30 -0
  1815. package/src/components/virtual-list/virtual-list.examples.json +13 -0
  1816. package/src/components/virtual-list/virtual-list.svelte +192 -0
  1817. package/src/components/virtual-list/virtual-list.types.ts +60 -0
  1818. package/src/components/visually-hidden/README.md +6 -5
  1819. package/src/components/waveform/README.md +13 -11
  1820. package/src/components/waveform/waveform.examples.json +12 -0
  1821. package/src/components/waveform/waveform.types.ts +9 -0
  1822. package/src/highlighters/shiki/index.ts +11 -1
  1823. package/src/index.ts +145 -3
  1824. package/src/schema-types.ts +10 -0
  1825. package/src/styles/all.css.d.ts +7 -0
  1826. package/src/styles/base-guard.ts +95 -0
  1827. package/src/styles/components/_dismiss-button.css +1 -1
  1828. package/src/styles/components/_floating-surface.css +32 -2
  1829. package/src/styles/components/_input-frame.css +29 -0
  1830. package/src/styles/components.css +19 -2
  1831. package/src/styles/foundation.css.d.ts +7 -0
  1832. package/src/styles/index.css.d.ts +7 -0
  1833. package/src/styles/tokens-base.css +110 -42
  1834. package/src/styles/tokens.css.d.ts +7 -0
  1835. package/src/styles/utilities.css.d.ts +7 -0
  1836. package/src/utilities/clipboard.ts +2 -0
  1837. package/src/utilities/fixed-virtual-window.ts +99 -0
  1838. package/dist/components/accordion/accordion.fixture.svelte.d.ts +0 -8
  1839. package/dist/components/dropdown/dropdown.fixture.svelte.d.ts +0 -7
  1840. package/dist/components/experimental/timeline/index.d.ts +0 -2
  1841. package/dist/components/experimental/timeline/index.js +0 -70
  1842. package/dist/components/experimental/timeline-item/index.d.ts +0 -2
  1843. package/dist/components/experimental/timeline-item/index.js +0 -70
  1844. package/dist/components/modal/modal.fixture.svelte.d.ts +0 -9
  1845. package/dist/components/navigation-item/navigation-item.fixture.svelte.d.ts +0 -7
  1846. package/dist/components/segmented-control/segmented-control.fixture.svelte.d.ts +0 -7
  1847. package/dist/components/side-navigation/side-navigation.fixture.svelte.d.ts +0 -8
  1848. package/dist/components/table/table.fixture.svelte.d.ts +0 -4
  1849. package/dist/components/tabs/tabs.fixture.svelte.d.ts +0 -7
  1850. package/dist/components/timeline-item/index.d.ts +0 -5
  1851. package/dist/components/timeline-item/index.js +0 -171
  1852. package/dist/components/timeline-item/timeline-item.css +0 -7
  1853. package/dist/components/timeline-item/timeline-item.schema.js +0 -103
  1854. package/dist/components/timeline-item/timeline-item.variables.js +0 -61
  1855. package/dist/server/components/experimental/timeline/index.js +0 -54
  1856. package/dist/server/components/experimental/timeline-item/index.js +0 -54
  1857. package/dist/server/components/timeline-item/index.css +0 -2
  1858. package/dist/server/components/timeline-item/index.js +0 -108
  1859. package/dist/server/components/timeline-item/timeline-item.schema.js +0 -85
  1860. package/dist/server/components/timeline-item/timeline-item.variables.js +0 -43
  1861. package/src/components/_radio/radio.schema.json +0 -36
  1862. package/src/components/_radio/radio.schema.ts +0 -41
  1863. package/src/components/_radio/radio.variables.json +0 -1
  1864. package/src/components/_radio/radio.variables.ts +0 -3
  1865. package/src/components/_tree-select-all/tree-select-all.css +0 -38
  1866. package/src/components/_tree-select-all/tree-select-all.schema.json +0 -38
  1867. package/src/components/_tree-select-all/tree-select-all.schema.ts +0 -43
  1868. package/src/components/_tree-select-all/tree-select-all.variables.json +0 -1
  1869. package/src/components/_tree-select-all/tree-select-all.variables.ts +0 -3
  1870. package/src/components/accordion/accordion.fixture.svelte +0 -32
  1871. package/src/components/accordion/accordion.schema.json +0 -16
  1872. package/src/components/accordion/accordion.schema.ts +0 -20
  1873. package/src/components/accordion/accordion.variables.json +0 -1
  1874. package/src/components/accordion/accordion.variables.ts +0 -3
  1875. package/src/components/accordion-item/accordion-item.schema.json +0 -25
  1876. package/src/components/accordion-item/accordion-item.schema.ts +0 -29
  1877. package/src/components/accordion-item/accordion-item.variables.json +0 -1
  1878. package/src/components/accordion-item/accordion-item.variables.ts +0 -3
  1879. package/src/components/alert/alert.schema.json +0 -21
  1880. package/src/components/alert/alert.schema.ts +0 -26
  1881. package/src/components/alert/alert.variables.json +0 -1
  1882. package/src/components/alert/alert.variables.ts +0 -3
  1883. package/src/components/alert-dialog/alert-dialog.schema.json +0 -45
  1884. package/src/components/alert-dialog/alert-dialog.schema.ts +0 -49
  1885. package/src/components/alert-dialog/alert-dialog.variables.json +0 -1
  1886. package/src/components/alert-dialog/alert-dialog.variables.ts +0 -3
  1887. package/src/components/area-chart/area-chart.schema.json +0 -117
  1888. package/src/components/area-chart/area-chart.schema.ts +0 -121
  1889. package/src/components/area-chart/area-chart.variables.json +0 -1
  1890. package/src/components/area-chart/area-chart.variables.ts +0 -3
  1891. package/src/components/aspect-ratio/aspect-ratio.schema.json +0 -133
  1892. package/src/components/aspect-ratio/aspect-ratio.schema.ts +0 -137
  1893. package/src/components/aspect-ratio/aspect-ratio.variables.json +0 -1
  1894. package/src/components/aspect-ratio/aspect-ratio.variables.ts +0 -3
  1895. package/src/components/autocomplete/autocomplete.schema.json +0 -65
  1896. package/src/components/autocomplete/autocomplete.schema.ts +0 -69
  1897. package/src/components/autocomplete/autocomplete.variables.json +0 -1
  1898. package/src/components/autocomplete/autocomplete.variables.ts +0 -3
  1899. package/src/components/avatar/avatar.schema.json +0 -35
  1900. package/src/components/avatar/avatar.schema.ts +0 -40
  1901. package/src/components/avatar/avatar.variables.json +0 -1
  1902. package/src/components/avatar/avatar.variables.ts +0 -3
  1903. package/src/components/avatar-group/avatar-group.schema.json +0 -64
  1904. package/src/components/avatar-group/avatar-group.schema.ts +0 -69
  1905. package/src/components/avatar-group/avatar-group.variables.json +0 -1
  1906. package/src/components/avatar-group/avatar-group.variables.ts +0 -3
  1907. package/src/components/backdrop/backdrop.schema.json +0 -42
  1908. package/src/components/backdrop/backdrop.schema.ts +0 -49
  1909. package/src/components/backdrop/backdrop.variables.json +0 -1
  1910. package/src/components/backdrop/backdrop.variables.ts +0 -3
  1911. package/src/components/badge/badge.schema.json +0 -26
  1912. package/src/components/badge/badge.schema.ts +0 -31
  1913. package/src/components/badge/badge.variables.json +0 -1
  1914. package/src/components/badge/badge.variables.ts +0 -3
  1915. package/src/components/banner/banner.schema.json +0 -35
  1916. package/src/components/banner/banner.schema.ts +0 -40
  1917. package/src/components/banner/banner.variables.json +0 -1
  1918. package/src/components/banner/banner.variables.ts +0 -3
  1919. package/src/components/bar-chart/bar-chart.schema.json +0 -118
  1920. package/src/components/bar-chart/bar-chart.schema.ts +0 -125
  1921. package/src/components/bar-chart/bar-chart.variables.json +0 -1
  1922. package/src/components/bar-chart/bar-chart.variables.ts +0 -3
  1923. package/src/components/breadcrumbs/breadcrumbs.schema.json +0 -21
  1924. package/src/components/breadcrumbs/breadcrumbs.schema.ts +0 -25
  1925. package/src/components/breadcrumbs/breadcrumbs.variables.json +0 -1
  1926. package/src/components/breadcrumbs/breadcrumbs.variables.ts +0 -3
  1927. package/src/components/button/button.schema.json +0 -44
  1928. package/src/components/button/button.schema.ts +0 -48
  1929. package/src/components/button/button.variables.json +0 -1
  1930. package/src/components/button/button.variables.ts +0 -3
  1931. package/src/components/button-group/button-group.schema.json +0 -29
  1932. package/src/components/button-group/button-group.schema.ts +0 -33
  1933. package/src/components/button-group/button-group.variables.json +0 -1
  1934. package/src/components/button-group/button-group.variables.ts +0 -3
  1935. package/src/components/callout/callout.schema.json +0 -31
  1936. package/src/components/callout/callout.schema.ts +0 -37
  1937. package/src/components/callout/callout.variables.json +0 -1
  1938. package/src/components/callout/callout.variables.ts +0 -3
  1939. package/src/components/capability-gate/capability-gate.schema.json +0 -68
  1940. package/src/components/capability-gate/capability-gate.schema.ts +0 -72
  1941. package/src/components/capability-gate/capability-gate.variables.json +0 -1
  1942. package/src/components/capability-gate/capability-gate.variables.ts +0 -3
  1943. package/src/components/card/card.schema.json +0 -57
  1944. package/src/components/card/card.schema.ts +0 -63
  1945. package/src/components/card/card.variables.json +0 -1
  1946. package/src/components/card/card.variables.ts +0 -3
  1947. package/src/components/chat/chat.schema.json +0 -131
  1948. package/src/components/chat/chat.schema.ts +0 -135
  1949. package/src/components/chat/chat.variables.json +0 -1
  1950. package/src/components/chat/chat.variables.ts +0 -3
  1951. package/src/components/checkbox/checkbox.schema.json +0 -43
  1952. package/src/components/checkbox/checkbox.schema.ts +0 -48
  1953. package/src/components/checkbox/checkbox.variables.json +0 -1
  1954. package/src/components/checkbox/checkbox.variables.ts +0 -3
  1955. package/src/components/checkbox-group/checkbox-group.schema.json +0 -43
  1956. package/src/components/checkbox-group/checkbox-group.schema.ts +0 -51
  1957. package/src/components/checkbox-group/checkbox-group.variables.json +0 -1
  1958. package/src/components/checkbox-group/checkbox-group.variables.ts +0 -3
  1959. package/src/components/chip/chip.schema.json +0 -51
  1960. package/src/components/chip/chip.schema.ts +0 -55
  1961. package/src/components/chip/chip.variables.json +0 -1
  1962. package/src/components/chip/chip.variables.ts +0 -3
  1963. package/src/components/choice-grid/choice-grid.schema.json +0 -61
  1964. package/src/components/choice-grid/choice-grid.schema.ts +0 -70
  1965. package/src/components/choice-grid/choice-grid.variables.json +0 -1
  1966. package/src/components/choice-grid/choice-grid.variables.ts +0 -3
  1967. package/src/components/choice-grid-item/choice-grid-item.schema.json +0 -32
  1968. package/src/components/choice-grid-item/choice-grid-item.schema.ts +0 -38
  1969. package/src/components/choice-grid-item/choice-grid-item.variables.json +0 -1
  1970. package/src/components/choice-grid-item/choice-grid-item.variables.ts +0 -3
  1971. package/src/components/click-away-listener/click-away-listener.schema.json +0 -27
  1972. package/src/components/click-away-listener/click-away-listener.schema.ts +0 -32
  1973. package/src/components/click-away-listener/click-away-listener.variables.json +0 -1
  1974. package/src/components/click-away-listener/click-away-listener.variables.ts +0 -3
  1975. package/src/components/code-block/code-block.schema.json +0 -36
  1976. package/src/components/code-block/code-block.schema.ts +0 -42
  1977. package/src/components/code-block/code-block.variables.json +0 -1
  1978. package/src/components/code-block/code-block.variables.ts +0 -3
  1979. package/src/components/collapsible/collapsible.schema.json +0 -30
  1980. package/src/components/collapsible/collapsible.schema.ts +0 -36
  1981. package/src/components/collapsible/collapsible.variables.json +0 -1
  1982. package/src/components/collapsible/collapsible.variables.ts +0 -3
  1983. package/src/components/color-field/color-field.schema.json +0 -79
  1984. package/src/components/color-field/color-field.schema.ts +0 -90
  1985. package/src/components/color-field/color-field.variables.json +0 -1
  1986. package/src/components/color-field/color-field.variables.ts +0 -3
  1987. package/src/components/color-picker/color-picker.schema.json +0 -54
  1988. package/src/components/color-picker/color-picker.schema.ts +0 -60
  1989. package/src/components/color-picker/color-picker.variables.json +0 -1
  1990. package/src/components/color-picker/color-picker.variables.ts +0 -3
  1991. package/src/components/color-swatch-picker/color-swatch-picker.schema.json +0 -56
  1992. package/src/components/color-swatch-picker/color-swatch-picker.schema.ts +0 -62
  1993. package/src/components/color-swatch-picker/color-swatch-picker.variables.json +0 -1
  1994. package/src/components/color-swatch-picker/color-swatch-picker.variables.ts +0 -3
  1995. package/src/components/combobox/combobox.schema.json +0 -64
  1996. package/src/components/combobox/combobox.schema.ts +0 -69
  1997. package/src/components/combobox/combobox.variables.json +0 -1
  1998. package/src/components/combobox/combobox.variables.ts +0 -3
  1999. package/src/components/command-item/command-item.schema.json +0 -48
  2000. package/src/components/command-item/command-item.schema.ts +0 -52
  2001. package/src/components/command-item/command-item.variables.json +0 -1
  2002. package/src/components/command-item/command-item.variables.ts +0 -3
  2003. package/src/components/command-menu/command-menu.schema.json +0 -73
  2004. package/src/components/command-menu/command-menu.schema.ts +0 -77
  2005. package/src/components/command-menu/command-menu.variables.json +0 -1
  2006. package/src/components/command-menu/command-menu.variables.ts +0 -3
  2007. package/src/components/command-palette/command-palette.schema.json +0 -52
  2008. package/src/components/command-palette/command-palette.schema.ts +0 -58
  2009. package/src/components/command-palette/command-palette.variables.json +0 -1
  2010. package/src/components/command-palette/command-palette.variables.ts +0 -3
  2011. package/src/components/confirm-dialog/confirm-dialog.schema.json +0 -52
  2012. package/src/components/confirm-dialog/confirm-dialog.schema.ts +0 -60
  2013. package/src/components/confirm-dialog/confirm-dialog.variables.json +0 -1
  2014. package/src/components/confirm-dialog/confirm-dialog.variables.ts +0 -3
  2015. package/src/components/connection-indicator/connection-indicator.schema.json +0 -20
  2016. package/src/components/connection-indicator/connection-indicator.schema.ts +0 -24
  2017. package/src/components/connection-indicator/connection-indicator.variables.json +0 -1
  2018. package/src/components/connection-indicator/connection-indicator.variables.ts +0 -3
  2019. package/src/components/container/container.schema.json +0 -130
  2020. package/src/components/container/container.schema.ts +0 -134
  2021. package/src/components/container/container.variables.json +0 -1
  2022. package/src/components/container/container.variables.ts +0 -3
  2023. package/src/components/context-menu/context-menu.schema.json +0 -44
  2024. package/src/components/context-menu/context-menu.schema.ts +0 -48
  2025. package/src/components/context-menu/context-menu.variables.json +0 -1
  2026. package/src/components/context-menu/context-menu.variables.ts +0 -3
  2027. package/src/components/context-menu-trigger/context-menu-trigger.schema.json +0 -18
  2028. package/src/components/context-menu-trigger/context-menu-trigger.schema.ts +0 -22
  2029. package/src/components/context-menu-trigger/context-menu-trigger.variables.json +0 -1
  2030. package/src/components/context-menu-trigger/context-menu-trigger.variables.ts +0 -3
  2031. package/src/components/copy-button/copy-button.schema.json +0 -44
  2032. package/src/components/copy-button/copy-button.schema.ts +0 -50
  2033. package/src/components/copy-button/copy-button.variables.json +0 -1
  2034. package/src/components/copy-button/copy-button.variables.ts +0 -3
  2035. package/src/components/data-list/data-list.schema.json +0 -34
  2036. package/src/components/data-list/data-list.schema.ts +0 -39
  2037. package/src/components/data-list/data-list.variables.json +0 -1
  2038. package/src/components/data-list/data-list.variables.ts +0 -3
  2039. package/src/components/data-table/data-table.schema.json +0 -43
  2040. package/src/components/data-table/data-table.schema.ts +0 -50
  2041. package/src/components/data-table/data-table.variables.json +0 -1
  2042. package/src/components/data-table/data-table.variables.ts +0 -3
  2043. package/src/components/description-list/description-list.schema.json +0 -26
  2044. package/src/components/description-list/description-list.schema.ts +0 -31
  2045. package/src/components/description-list/description-list.variables.json +0 -1
  2046. package/src/components/description-list/description-list.variables.ts +0 -3
  2047. package/src/components/diff-statistics/diff-statistics.schema.json +0 -36
  2048. package/src/components/diff-statistics/diff-statistics.schema.ts +0 -41
  2049. package/src/components/diff-statistics/diff-statistics.variables.json +0 -1
  2050. package/src/components/diff-statistics/diff-statistics.variables.ts +0 -3
  2051. package/src/components/diff-viewer/diff-viewer.schema.json +0 -56
  2052. package/src/components/diff-viewer/diff-viewer.schema.ts +0 -62
  2053. package/src/components/diff-viewer/diff-viewer.variables.json +0 -1
  2054. package/src/components/diff-viewer/diff-viewer.variables.ts +0 -3
  2055. package/src/components/divider/divider.schema.json +0 -31
  2056. package/src/components/divider/divider.schema.ts +0 -35
  2057. package/src/components/divider/divider.variables.json +0 -1
  2058. package/src/components/divider/divider.variables.ts +0 -3
  2059. package/src/components/drawer/drawer.schema.json +0 -52
  2060. package/src/components/drawer/drawer.schema.ts +0 -58
  2061. package/src/components/drawer/drawer.variables.json +0 -1
  2062. package/src/components/drawer/drawer.variables.ts +0 -3
  2063. package/src/components/dropdown/dropdown.fixture.svelte +0 -28
  2064. package/src/components/dropdown/dropdown.schema.json +0 -31
  2065. package/src/components/dropdown/dropdown.schema.ts +0 -35
  2066. package/src/components/dropdown/dropdown.variables.json +0 -1
  2067. package/src/components/dropdown/dropdown.variables.ts +0 -3
  2068. package/src/components/dropdown-group/dropdown-group.schema.json +0 -25
  2069. package/src/components/dropdown-group/dropdown-group.schema.ts +0 -29
  2070. package/src/components/dropdown-group/dropdown-group.variables.json +0 -1
  2071. package/src/components/dropdown-group/dropdown-group.variables.ts +0 -3
  2072. package/src/components/dropdown-item/dropdown-item.schema.json +0 -39
  2073. package/src/components/dropdown-item/dropdown-item.schema.ts +0 -45
  2074. package/src/components/dropdown-item/dropdown-item.variables.json +0 -1
  2075. package/src/components/dropdown-item/dropdown-item.variables.ts +0 -3
  2076. package/src/components/dropdown-label/dropdown-label.schema.json +0 -18
  2077. package/src/components/dropdown-label/dropdown-label.schema.ts +0 -22
  2078. package/src/components/dropdown-label/dropdown-label.variables.json +0 -1
  2079. package/src/components/dropdown-label/dropdown-label.variables.ts +0 -3
  2080. package/src/components/dropdown-menu/dropdown-menu.schema.json +0 -18
  2081. package/src/components/dropdown-menu/dropdown-menu.schema.ts +0 -22
  2082. package/src/components/dropdown-menu/dropdown-menu.variables.json +0 -1
  2083. package/src/components/dropdown-menu/dropdown-menu.variables.ts +0 -3
  2084. package/src/components/dropdown-separator/dropdown-separator.schema.json +0 -10
  2085. package/src/components/dropdown-separator/dropdown-separator.schema.ts +0 -14
  2086. package/src/components/dropdown-separator/dropdown-separator.variables.json +0 -1
  2087. package/src/components/dropdown-separator/dropdown-separator.variables.ts +0 -3
  2088. package/src/components/dropdown-trigger/dropdown-trigger.schema.json +0 -22
  2089. package/src/components/dropdown-trigger/dropdown-trigger.schema.ts +0 -26
  2090. package/src/components/dropdown-trigger/dropdown-trigger.variables.json +0 -1
  2091. package/src/components/dropdown-trigger/dropdown-trigger.variables.ts +0 -3
  2092. package/src/components/empty-state/empty-state.schema.json +0 -34
  2093. package/src/components/empty-state/empty-state.schema.ts +0 -38
  2094. package/src/components/empty-state/empty-state.variables.json +0 -1
  2095. package/src/components/empty-state/empty-state.variables.ts +0 -3
  2096. package/src/components/experimental/timeline/index.ts +0 -25
  2097. package/src/components/experimental/timeline-item/index.ts +0 -17
  2098. package/src/components/feed/feed.schema.json +0 -22
  2099. package/src/components/feed/feed.schema.ts +0 -27
  2100. package/src/components/feed/feed.variables.json +0 -1
  2101. package/src/components/feed/feed.variables.ts +0 -3
  2102. package/src/components/feed-event/feed-event.schema.json +0 -39
  2103. package/src/components/feed-event/feed-event.schema.ts +0 -45
  2104. package/src/components/feed-event/feed-event.variables.json +0 -1
  2105. package/src/components/feed-event/feed-event.variables.ts +0 -3
  2106. package/src/components/file-upload/file-upload.schema.json +0 -63
  2107. package/src/components/file-upload/file-upload.schema.ts +0 -67
  2108. package/src/components/file-upload/file-upload.variables.json +0 -6
  2109. package/src/components/file-upload/file-upload.variables.ts +0 -8
  2110. package/src/components/floating-action-button/floating-action-button.schema.json +0 -35
  2111. package/src/components/floating-action-button/floating-action-button.schema.ts +0 -39
  2112. package/src/components/floating-action-button/floating-action-button.variables.json +0 -1
  2113. package/src/components/floating-action-button/floating-action-button.variables.ts +0 -3
  2114. package/src/components/focus-trap/focus-trap.schema.json +0 -36
  2115. package/src/components/focus-trap/focus-trap.schema.ts +0 -40
  2116. package/src/components/focus-trap/focus-trap.variables.json +0 -1
  2117. package/src/components/focus-trap/focus-trap.variables.ts +0 -3
  2118. package/src/components/form-field/form-field.schema.json +0 -44
  2119. package/src/components/form-field/form-field.schema.ts +0 -50
  2120. package/src/components/form-field/form-field.variables.json +0 -1
  2121. package/src/components/form-field/form-field.variables.ts +0 -3
  2122. package/src/components/form-section/form-section.schema.json +0 -39
  2123. package/src/components/form-section/form-section.schema.ts +0 -43
  2124. package/src/components/form-section/form-section.variables.json +0 -1
  2125. package/src/components/form-section/form-section.variables.ts +0 -3
  2126. package/src/components/grid-list/grid-list.schema.json +0 -23
  2127. package/src/components/grid-list/grid-list.schema.ts +0 -28
  2128. package/src/components/grid-list/grid-list.variables.json +0 -1
  2129. package/src/components/grid-list/grid-list.variables.ts +0 -3
  2130. package/src/components/grid-list-item/grid-list-item.schema.json +0 -51
  2131. package/src/components/grid-list-item/grid-list-item.schema.ts +0 -55
  2132. package/src/components/grid-list-item/grid-list-item.variables.json +0 -1
  2133. package/src/components/grid-list-item/grid-list-item.variables.ts +0 -3
  2134. package/src/components/hover-card/hover-card.schema.json +0 -64
  2135. package/src/components/hover-card/hover-card.schema.ts +0 -68
  2136. package/src/components/hover-card/hover-card.variables.json +0 -1
  2137. package/src/components/hover-card/hover-card.variables.ts +0 -3
  2138. package/src/components/image/image.schema.json +0 -60
  2139. package/src/components/image/image.schema.ts +0 -68
  2140. package/src/components/image/image.variables.json +0 -1
  2141. package/src/components/image/image.variables.ts +0 -3
  2142. package/src/components/input/input.schema.json +0 -55
  2143. package/src/components/input/input.schema.ts +0 -59
  2144. package/src/components/input/input.variables.json +0 -1
  2145. package/src/components/input/input.variables.ts +0 -3
  2146. package/src/components/json-schema-editor/json-schema-editor.schema.json +0 -59
  2147. package/src/components/json-schema-editor/json-schema-editor.schema.ts +0 -63
  2148. package/src/components/json-schema-editor/json-schema-editor.variables.json +0 -1
  2149. package/src/components/json-schema-editor/json-schema-editor.variables.ts +0 -3
  2150. package/src/components/json-viewer/json-viewer.schema.json +0 -31
  2151. package/src/components/json-viewer/json-viewer.schema.ts +0 -36
  2152. package/src/components/json-viewer/json-viewer.variables.json +0 -1
  2153. package/src/components/json-viewer/json-viewer.variables.ts +0 -3
  2154. package/src/components/kanban-board/kanban-board.schema.json +0 -55
  2155. package/src/components/kanban-board/kanban-board.schema.ts +0 -59
  2156. package/src/components/kanban-board/kanban-board.variables.json +0 -6
  2157. package/src/components/kanban-board/kanban-board.variables.ts +0 -8
  2158. package/src/components/kbd/kbd.schema.json +0 -20
  2159. package/src/components/kbd/kbd.schema.ts +0 -24
  2160. package/src/components/kbd/kbd.variables.json +0 -1
  2161. package/src/components/kbd/kbd.variables.ts +0 -3
  2162. package/src/components/keyboard-shortcuts/keyboard-shortcuts.schema.json +0 -27
  2163. package/src/components/keyboard-shortcuts/keyboard-shortcuts.schema.ts +0 -31
  2164. package/src/components/keyboard-shortcuts/keyboard-shortcuts.variables.json +0 -1
  2165. package/src/components/keyboard-shortcuts/keyboard-shortcuts.variables.ts +0 -3
  2166. package/src/components/label/label.schema.json +0 -32
  2167. package/src/components/label/label.schema.ts +0 -37
  2168. package/src/components/label/label.variables.json +0 -1
  2169. package/src/components/label/label.variables.ts +0 -3
  2170. package/src/components/line-chart/line-chart.schema.json +0 -114
  2171. package/src/components/line-chart/line-chart.schema.ts +0 -118
  2172. package/src/components/line-chart/line-chart.variables.json +0 -1
  2173. package/src/components/line-chart/line-chart.variables.ts +0 -3
  2174. package/src/components/link/link.schema.json +0 -58
  2175. package/src/components/link/link.schema.ts +0 -68
  2176. package/src/components/link/link.variables.json +0 -1
  2177. package/src/components/link/link.variables.ts +0 -3
  2178. package/src/components/load-more/load-more.schema.json +0 -55
  2179. package/src/components/load-more/load-more.schema.ts +0 -59
  2180. package/src/components/load-more/load-more.variables.json +0 -1
  2181. package/src/components/load-more/load-more.variables.ts +0 -3
  2182. package/src/components/markdown-editor/markdown-editor.schema.json +0 -100
  2183. package/src/components/markdown-editor/markdown-editor.schema.ts +0 -105
  2184. package/src/components/markdown-editor/markdown-editor.variables.json +0 -1
  2185. package/src/components/markdown-editor/markdown-editor.variables.ts +0 -3
  2186. package/src/components/matrix-chart/matrix-chart.schema.json +0 -63
  2187. package/src/components/matrix-chart/matrix-chart.schema.ts +0 -67
  2188. package/src/components/matrix-chart/matrix-chart.variables.json +0 -1
  2189. package/src/components/matrix-chart/matrix-chart.variables.ts +0 -3
  2190. package/src/components/media-controls/media-controls.schema.json +0 -65
  2191. package/src/components/media-controls/media-controls.schema.ts +0 -69
  2192. package/src/components/media-controls/media-controls.variables.json +0 -1
  2193. package/src/components/media-controls/media-controls.variables.ts +0 -3
  2194. package/src/components/menu-bar/menu-bar.schema.json +0 -27
  2195. package/src/components/menu-bar/menu-bar.schema.ts +0 -31
  2196. package/src/components/menu-bar/menu-bar.variables.json +0 -1
  2197. package/src/components/menu-bar/menu-bar.variables.ts +0 -3
  2198. package/src/components/message/message.schema.json +0 -36
  2199. package/src/components/message/message.schema.ts +0 -42
  2200. package/src/components/message/message.variables.json +0 -1
  2201. package/src/components/message/message.variables.ts +0 -3
  2202. package/src/components/modal/modal.fixture.svelte +0 -89
  2203. package/src/components/modal/modal.schema.json +0 -68
  2204. package/src/components/modal/modal.schema.ts +0 -8
  2205. package/src/components/modal/modal.variables.json +0 -1
  2206. package/src/components/modal/modal.variables.ts +0 -3
  2207. package/src/components/navigation-bar/navigation-bar.schema.json +0 -39
  2208. package/src/components/navigation-bar/navigation-bar.schema.ts +0 -44
  2209. package/src/components/navigation-bar/navigation-bar.variables.json +0 -1
  2210. package/src/components/navigation-bar/navigation-bar.variables.ts +0 -3
  2211. package/src/components/navigation-item/navigation-item.fixture.svelte +0 -21
  2212. package/src/components/navigation-item/navigation-item.schema.json +0 -39
  2213. package/src/components/navigation-item/navigation-item.schema.ts +0 -45
  2214. package/src/components/navigation-item/navigation-item.variables.json +0 -1
  2215. package/src/components/navigation-item/navigation-item.variables.ts +0 -3
  2216. package/src/components/number-input/number-input.schema.json +0 -77
  2217. package/src/components/number-input/number-input.schema.ts +0 -81
  2218. package/src/components/number-input/number-input.variables.json +0 -1
  2219. package/src/components/number-input/number-input.variables.ts +0 -3
  2220. package/src/components/pagination/pagination.schema.json +0 -24
  2221. package/src/components/pagination/pagination.schema.ts +0 -28
  2222. package/src/components/pagination/pagination.variables.json +0 -1
  2223. package/src/components/pagination/pagination.variables.ts +0 -3
  2224. package/src/components/phone-input/phone-input.schema.json +0 -571
  2225. package/src/components/phone-input/phone-input.schema.ts +0 -577
  2226. package/src/components/phone-input/phone-input.variables.json +0 -1
  2227. package/src/components/phone-input/phone-input.variables.ts +0 -3
  2228. package/src/components/pin-input/pin-input.schema.json +0 -80
  2229. package/src/components/pin-input/pin-input.schema.ts +0 -86
  2230. package/src/components/pin-input/pin-input.variables.json +0 -1
  2231. package/src/components/pin-input/pin-input.variables.ts +0 -3
  2232. package/src/components/popover/popover.schema.json +0 -80
  2233. package/src/components/popover/popover.schema.ts +0 -84
  2234. package/src/components/popover/popover.variables.json +0 -1
  2235. package/src/components/popover/popover.variables.ts +0 -3
  2236. package/src/components/portal/portal.schema.json +0 -26
  2237. package/src/components/portal/portal.schema.ts +0 -30
  2238. package/src/components/portal/portal.variables.json +0 -1
  2239. package/src/components/portal/portal.variables.ts +0 -3
  2240. package/src/components/pricing-card/pricing-card.schema.json +0 -40
  2241. package/src/components/pricing-card/pricing-card.schema.ts +0 -44
  2242. package/src/components/pricing-card/pricing-card.variables.json +0 -1
  2243. package/src/components/pricing-card/pricing-card.variables.ts +0 -3
  2244. package/src/components/progress/progress.schema.json +0 -39
  2245. package/src/components/progress/progress.schema.ts +0 -46
  2246. package/src/components/progress/progress.variables.json +0 -1
  2247. package/src/components/progress/progress.variables.ts +0 -3
  2248. package/src/components/radio-group/radio-group.schema.json +0 -52
  2249. package/src/components/radio-group/radio-group.schema.ts +0 -58
  2250. package/src/components/radio-group/radio-group.variables.json +0 -1
  2251. package/src/components/radio-group/radio-group.variables.ts +0 -3
  2252. package/src/components/rating/rating.schema.json +0 -76
  2253. package/src/components/rating/rating.schema.ts +0 -83
  2254. package/src/components/rating/rating.variables.json +0 -1
  2255. package/src/components/rating/rating.variables.ts +0 -3
  2256. package/src/components/resizable-panels/resizable-panels.schema.json +0 -47
  2257. package/src/components/resizable-panels/resizable-panels.schema.ts +0 -51
  2258. package/src/components/resizable-panels/resizable-panels.variables.json +0 -1
  2259. package/src/components/resizable-panels/resizable-panels.variables.ts +0 -3
  2260. package/src/components/review-editor/review-editor.schema.json +0 -76
  2261. package/src/components/review-editor/review-editor.schema.ts +0 -81
  2262. package/src/components/review-editor/review-editor.variables.json +0 -1
  2263. package/src/components/review-editor/review-editor.variables.ts +0 -3
  2264. package/src/components/scroll-area/scroll-area.schema.json +0 -43
  2265. package/src/components/scroll-area/scroll-area.schema.ts +0 -49
  2266. package/src/components/scroll-area/scroll-area.variables.json +0 -1
  2267. package/src/components/scroll-area/scroll-area.variables.ts +0 -3
  2268. package/src/components/search-field/search-field.schema.json +0 -59
  2269. package/src/components/search-field/search-field.schema.ts +0 -64
  2270. package/src/components/search-field/search-field.variables.json +0 -1
  2271. package/src/components/search-field/search-field.variables.ts +0 -3
  2272. package/src/components/section-heading/section-heading.schema.json +0 -40
  2273. package/src/components/section-heading/section-heading.schema.ts +0 -46
  2274. package/src/components/section-heading/section-heading.variables.json +0 -1
  2275. package/src/components/section-heading/section-heading.variables.ts +0 -3
  2276. package/src/components/segment/segment.schema.json +0 -39
  2277. package/src/components/segment/segment.schema.ts +0 -44
  2278. package/src/components/segment/segment.variables.json +0 -1
  2279. package/src/components/segment/segment.variables.ts +0 -3
  2280. package/src/components/segmented-control/segmented-control.fixture.svelte +0 -31
  2281. package/src/components/segmented-control/segmented-control.schema.json +0 -75
  2282. package/src/components/segmented-control/segmented-control.schema.ts +0 -82
  2283. package/src/components/segmented-control/segmented-control.variables.json +0 -1
  2284. package/src/components/segmented-control/segmented-control.variables.ts +0 -3
  2285. package/src/components/select/select.schema.json +0 -48
  2286. package/src/components/select/select.schema.ts +0 -53
  2287. package/src/components/select/select.variables.json +0 -1
  2288. package/src/components/select/select.variables.ts +0 -3
  2289. package/src/components/selection-popover/selection-popover.schema.json +0 -44
  2290. package/src/components/selection-popover/selection-popover.schema.ts +0 -48
  2291. package/src/components/selection-popover/selection-popover.variables.json +0 -1
  2292. package/src/components/selection-popover/selection-popover.variables.ts +0 -3
  2293. package/src/components/share-card/share-card.schema.json +0 -53
  2294. package/src/components/share-card/share-card.schema.ts +0 -57
  2295. package/src/components/share-card/share-card.variables.json +0 -1
  2296. package/src/components/share-card/share-card.variables.ts +0 -3
  2297. package/src/components/sheet/sheet.schema.json +0 -48
  2298. package/src/components/sheet/sheet.schema.ts +0 -55
  2299. package/src/components/sheet/sheet.variables.json +0 -1
  2300. package/src/components/sheet/sheet.variables.ts +0 -3
  2301. package/src/components/shortcut-hint/shortcut-hint.schema.json +0 -36
  2302. package/src/components/shortcut-hint/shortcut-hint.schema.ts +0 -40
  2303. package/src/components/shortcut-hint/shortcut-hint.variables.json +0 -1
  2304. package/src/components/shortcut-hint/shortcut-hint.variables.ts +0 -3
  2305. package/src/components/side-navigation/side-navigation.fixture.svelte +0 -39
  2306. package/src/components/side-navigation/side-navigation.schema.json +0 -24
  2307. package/src/components/side-navigation/side-navigation.schema.ts +0 -29
  2308. package/src/components/side-navigation/side-navigation.variables.json +0 -1
  2309. package/src/components/side-navigation/side-navigation.variables.ts +0 -3
  2310. package/src/components/side-navigation-group/side-navigation-group.schema.json +0 -44
  2311. package/src/components/side-navigation-group/side-navigation-group.schema.ts +0 -49
  2312. package/src/components/side-navigation-group/side-navigation-group.variables.json +0 -1
  2313. package/src/components/side-navigation-group/side-navigation-group.variables.ts +0 -3
  2314. package/src/components/side-navigation-item/side-navigation-item.schema.json +0 -39
  2315. package/src/components/side-navigation-item/side-navigation-item.schema.ts +0 -44
  2316. package/src/components/side-navigation-item/side-navigation-item.variables.json +0 -1
  2317. package/src/components/side-navigation-item/side-navigation-item.variables.ts +0 -3
  2318. package/src/components/sidebar/sidebar.schema.json +0 -35
  2319. package/src/components/sidebar/sidebar.schema.ts +0 -41
  2320. package/src/components/sidebar/sidebar.variables.json +0 -1
  2321. package/src/components/sidebar/sidebar.variables.ts +0 -3
  2322. package/src/components/skeleton/skeleton.schema.json +0 -19
  2323. package/src/components/skeleton/skeleton.schema.ts +0 -23
  2324. package/src/components/skeleton/skeleton.variables.json +0 -1
  2325. package/src/components/skeleton/skeleton.variables.ts +0 -3
  2326. package/src/components/skip-link/skip-link.schema.json +0 -16
  2327. package/src/components/skip-link/skip-link.schema.ts +0 -20
  2328. package/src/components/skip-link/skip-link.variables.json +0 -1
  2329. package/src/components/skip-link/skip-link.variables.ts +0 -3
  2330. package/src/components/slider/slider.schema.json +0 -80
  2331. package/src/components/slider/slider.schema.ts +0 -85
  2332. package/src/components/slider/slider.variables.json +0 -1
  2333. package/src/components/slider/slider.variables.ts +0 -3
  2334. package/src/components/sortable-list/sortable-list.schema.json +0 -50
  2335. package/src/components/sortable-list/sortable-list.schema.ts +0 -54
  2336. package/src/components/sortable-list/sortable-list.variables.json +0 -1
  2337. package/src/components/sortable-list/sortable-list.variables.ts +0 -3
  2338. package/src/components/spectrogram/spectrogram.schema.json +0 -43
  2339. package/src/components/spectrogram/spectrogram.schema.ts +0 -47
  2340. package/src/components/spectrogram/spectrogram.variables.json +0 -1
  2341. package/src/components/spectrogram/spectrogram.variables.ts +0 -3
  2342. package/src/components/spectrum-chart/spectrum-chart.schema.json +0 -37
  2343. package/src/components/spectrum-chart/spectrum-chart.schema.ts +0 -41
  2344. package/src/components/spectrum-chart/spectrum-chart.variables.json +0 -1
  2345. package/src/components/spectrum-chart/spectrum-chart.variables.ts +0 -3
  2346. package/src/components/spinner/spinner.schema.json +0 -21
  2347. package/src/components/spinner/spinner.schema.ts +0 -25
  2348. package/src/components/spinner/spinner.variables.json +0 -1
  2349. package/src/components/spinner/spinner.variables.ts +0 -3
  2350. package/src/components/stacked-list-item/stacked-list-item.schema.json +0 -66
  2351. package/src/components/stacked-list-item/stacked-list-item.schema.ts +0 -71
  2352. package/src/components/stacked-list-item/stacked-list-item.variables.json +0 -1
  2353. package/src/components/stacked-list-item/stacked-list-item.variables.ts +0 -3
  2354. package/src/components/stat/stat.schema.json +0 -47
  2355. package/src/components/stat/stat.schema.ts +0 -51
  2356. package/src/components/stat/stat.variables.json +0 -1
  2357. package/src/components/stat/stat.variables.ts +0 -3
  2358. package/src/components/stat-group/stat-group.schema.json +0 -33
  2359. package/src/components/stat-group/stat-group.schema.ts +0 -39
  2360. package/src/components/stat-group/stat-group.variables.json +0 -1
  2361. package/src/components/stat-group/stat-group.variables.ts +0 -3
  2362. package/src/components/status-dot/status-dot.schema.json +0 -30
  2363. package/src/components/status-dot/status-dot.schema.ts +0 -36
  2364. package/src/components/status-dot/status-dot.variables.json +0 -1
  2365. package/src/components/status-dot/status-dot.variables.ts +0 -3
  2366. package/src/components/steps/steps.schema.json +0 -36
  2367. package/src/components/steps/steps.schema.ts +0 -42
  2368. package/src/components/steps/steps.variables.json +0 -1
  2369. package/src/components/steps/steps.variables.ts +0 -3
  2370. package/src/components/subscription-badge/subscription-badge.schema.json +0 -16
  2371. package/src/components/subscription-badge/subscription-badge.schema.ts +0 -21
  2372. package/src/components/subscription-badge/subscription-badge.variables.json +0 -1
  2373. package/src/components/subscription-badge/subscription-badge.variables.ts +0 -3
  2374. package/src/components/surface/surface.schema.json +0 -16
  2375. package/src/components/surface/surface.schema.ts +0 -20
  2376. package/src/components/surface/surface.variables.json +0 -1
  2377. package/src/components/surface/surface.variables.ts +0 -3
  2378. package/src/components/tab/tab.schema.json +0 -36
  2379. package/src/components/tab/tab.schema.ts +0 -40
  2380. package/src/components/tab/tab.variables.json +0 -1
  2381. package/src/components/tab/tab.variables.ts +0 -3
  2382. package/src/components/tab-list/tab-list.schema.json +0 -27
  2383. package/src/components/tab-list/tab-list.schema.ts +0 -31
  2384. package/src/components/tab-list/tab-list.variables.json +0 -1
  2385. package/src/components/tab-list/tab-list.variables.ts +0 -3
  2386. package/src/components/tab-panel/tab-panel.schema.json +0 -28
  2387. package/src/components/tab-panel/tab-panel.schema.ts +0 -33
  2388. package/src/components/tab-panel/tab-panel.variables.json +0 -1
  2389. package/src/components/tab-panel/tab-panel.variables.ts +0 -3
  2390. package/src/components/table/table.fixture.svelte +0 -87
  2391. package/src/components/table/table.schema.json +0 -39
  2392. package/src/components/table/table.schema.ts +0 -45
  2393. package/src/components/table/table.variables.json +0 -1
  2394. package/src/components/table/table.variables.ts +0 -3
  2395. package/src/components/table-body/table-body.schema.json +0 -19
  2396. package/src/components/table-body/table-body.schema.ts +0 -23
  2397. package/src/components/table-body/table-body.variables.json +0 -1
  2398. package/src/components/table-body/table-body.variables.ts +0 -3
  2399. package/src/components/table-cell/table-cell.schema.json +0 -27
  2400. package/src/components/table-cell/table-cell.schema.ts +0 -32
  2401. package/src/components/table-cell/table-cell.variables.json +0 -1
  2402. package/src/components/table-cell/table-cell.variables.ts +0 -3
  2403. package/src/components/table-header/table-header.schema.json +0 -35
  2404. package/src/components/table-header/table-header.schema.ts +0 -42
  2405. package/src/components/table-header/table-header.variables.json +0 -1
  2406. package/src/components/table-header/table-header.variables.ts +0 -3
  2407. package/src/components/table-header-cell/table-header-cell.schema.json +0 -35
  2408. package/src/components/table-header-cell/table-header-cell.schema.ts +0 -41
  2409. package/src/components/table-header-cell/table-header-cell.variables.json +0 -1
  2410. package/src/components/table-header-cell/table-header-cell.variables.ts +0 -3
  2411. package/src/components/table-row/table-row.schema.json +0 -33
  2412. package/src/components/table-row/table-row.schema.ts +0 -38
  2413. package/src/components/table-row/table-row.variables.json +0 -1
  2414. package/src/components/table-row/table-row.variables.ts +0 -3
  2415. package/src/components/tabs/tabs.fixture.svelte +0 -35
  2416. package/src/components/tabs/tabs.schema.json +0 -31
  2417. package/src/components/tabs/tabs.schema.ts +0 -36
  2418. package/src/components/tabs/tabs.variables.json +0 -1
  2419. package/src/components/tabs/tabs.variables.ts +0 -3
  2420. package/src/components/tag-input/tag-input.schema.json +0 -160
  2421. package/src/components/tag-input/tag-input.schema.ts +0 -169
  2422. package/src/components/tag-input/tag-input.variables.json +0 -1
  2423. package/src/components/tag-input/tag-input.variables.ts +0 -3
  2424. package/src/components/textarea/textarea.schema.json +0 -48
  2425. package/src/components/textarea/textarea.schema.ts +0 -53
  2426. package/src/components/textarea/textarea.variables.json +0 -1
  2427. package/src/components/textarea/textarea.variables.ts +0 -3
  2428. package/src/components/timeline/timeline.schema.json +0 -76
  2429. package/src/components/timeline/timeline.schema.ts +0 -81
  2430. package/src/components/timeline/timeline.variables.json +0 -1
  2431. package/src/components/timeline/timeline.variables.ts +0 -3
  2432. package/src/components/timeline-item/README.md +0 -51
  2433. package/src/components/timeline-item/index.ts +0 -6
  2434. package/src/components/timeline-item/timeline-item.css +0 -7
  2435. package/src/components/timeline-item/timeline-item.schema.json +0 -43
  2436. package/src/components/timeline-item/timeline-item.schema.ts +0 -48
  2437. package/src/components/timeline-item/timeline-item.variables.json +0 -1
  2438. package/src/components/timeline-item/timeline-item.variables.ts +0 -3
  2439. package/src/components/toast-region/toast-region.schema.json +0 -38
  2440. package/src/components/toast-region/toast-region.schema.ts +0 -35
  2441. package/src/components/toast-region/toast-region.variables.json +0 -1
  2442. package/src/components/toast-region/toast-region.variables.ts +0 -3
  2443. package/src/components/toggle/toggle.schema.json +0 -44
  2444. package/src/components/toggle/toggle.schema.ts +0 -54
  2445. package/src/components/toggle/toggle.variables.json +0 -1
  2446. package/src/components/toggle/toggle.variables.ts +0 -3
  2447. package/src/components/toolbar/toolbar.schema.json +0 -16
  2448. package/src/components/toolbar/toolbar.schema.ts +0 -20
  2449. package/src/components/toolbar/toolbar.variables.json +0 -1
  2450. package/src/components/toolbar/toolbar.variables.ts +0 -3
  2451. package/src/components/tooltip/tooltip.schema.json +0 -29
  2452. package/src/components/tooltip/tooltip.schema.ts +0 -33
  2453. package/src/components/tooltip/tooltip.variables.json +0 -1
  2454. package/src/components/tooltip/tooltip.variables.ts +0 -3
  2455. package/src/components/tree/tree.schema.json +0 -60
  2456. package/src/components/tree/tree.schema.ts +0 -67
  2457. package/src/components/tree/tree.variables.json +0 -1
  2458. package/src/components/tree/tree.variables.ts +0 -3
  2459. package/src/components/tree-item/tree-item.schema.json +0 -55
  2460. package/src/components/tree-item/tree-item.schema.ts +0 -61
  2461. package/src/components/tree-item/tree-item.variables.json +0 -1
  2462. package/src/components/tree-item/tree-item.variables.ts +0 -3
  2463. package/src/components/typography/typography.schema.json +0 -144
  2464. package/src/components/typography/typography.schema.ts +0 -148
  2465. package/src/components/typography/typography.variables.json +0 -1
  2466. package/src/components/typography/typography.variables.ts +0 -3
  2467. package/src/components/visually-hidden/visually-hidden.schema.json +0 -121
  2468. package/src/components/visually-hidden/visually-hidden.schema.ts +0 -125
  2469. package/src/components/visually-hidden/visually-hidden.variables.json +0 -1
  2470. package/src/components/visually-hidden/visually-hidden.variables.ts +0 -3
  2471. package/src/components/waveform/waveform.schema.json +0 -38
  2472. package/src/components/waveform/waveform.schema.ts +0 -42
  2473. package/src/components/waveform/waveform.variables.json +0 -1
  2474. package/src/components/waveform/waveform.variables.ts +0 -3
  2475. /package/dist/components/{timeline-item → _timeline-item}/timeline-item.svelte.d.ts +0 -0
  2476. /package/dist/components/{timeline-item → _timeline-item}/timeline-item.types.d.ts +0 -0
  2477. /package/dist/components/{timeline-item/timeline-item.schema.d.ts → access-gate/access-gate.schema.d.ts} +0 -0
  2478. /package/dist/components/{timeline-item/timeline-item.variables.d.ts → access-gate/access-gate.variables.d.ts} +0 -0
  2479. /package/src/components/{timeline-item → _timeline-item}/timeline-item.svelte +0 -0
  2480. /package/src/components/{timeline-item → _timeline-item}/timeline-item.types.ts +0 -0
@@ -1,129 +1,72 @@
1
1
  <script lang="ts" module>
2
- import type { Snippet } from 'svelte';
3
2
  import type { Attachment } from 'svelte/attachments';
4
- import type { HTMLAttributes } from 'svelte/elements';
5
- import type { ConversationHistory, Message, MessageInput } from '../conversation-model.ts';
3
+ import type { ChatAdapter, ChatCommand, ChatPushHandlers } from '../adapter/chat-adapter.ts';
4
+ import type { Message, MessageInput } from '../conversation-model.ts';
6
5
  import type { ChatAttachment } from '../input/chat-attachment.ts';
7
- import type {
8
- ChatScrollStateChangeEvent,
9
- ChatStopGeneratingEvent,
10
- ChatSubmitEvent,
11
- ChatUnreadIndicatorChangeEvent,
12
- } from './chat-events.ts';
13
6
 
7
+ // `ChatProps` is owned by `../chat.types.ts` (the analyzer + schema generator
8
+ // read that symbol). The implementation imports it from there rather than
9
+ // redeclaring it, so the public type and the `$props()` shape can never drift.
10
+ import type { ChatProps } from '../chat.types.ts';
11
+
12
+ export type { ChatProps };
14
13
  export type {
15
14
  ChatScrollStateChangeEvent,
16
15
  ChatStopGeneratingEvent,
17
16
  ChatSubmitEvent,
18
17
  ChatUnreadIndicatorChangeEvent,
19
18
  } from './chat-events.ts';
20
-
21
- // ==========================================================================
22
- // Props Type
23
- // ==========================================================================
24
-
25
- export type ChatProps = Omit<HTMLAttributes<HTMLElement>, 'class' | 'onsubmit'> & {
26
- /** Unique ID for accessibility (required) */
27
- id: string;
28
- /** The conversation to render */
29
- conversation: ConversationHistory;
30
- /** Whether the viewport is at bottom (bindable) */
31
- isAtBottom?: boolean;
32
- /** Count of unread messages (bindable) */
33
- unreadCount?: number;
34
- /** Whether the new message indicator is visible (bindable) */
35
- hasNewMessageIndicator?: boolean;
36
- /** Additional CSS class */
37
- class?: string;
38
- /** Surface rendering mode for embedded contexts */
39
- surfaceMode?: 'default' | 'transparent';
40
-
41
- // Configuration
42
- /**
43
- * Pixels from bottom to consider "at bottom" (default: 150).
44
- * NOTE: This value should remain constant after initialization.
45
- * Changing it dynamically may cause unexpected behavior with IntersectionObserver.
46
- */
47
- bottomThreshold?: number;
48
- /**
49
- * Pixels scrolled before showing jump button (default: 200).
50
- * NOTE: This value should remain constant after initialization.
51
- * Changing it dynamically may cause unexpected behavior.
52
- */
53
- jumpThreshold?: number;
54
- /** Whether streaming is in progress (shows stop button) */
55
- isStreaming?: boolean;
56
- /** Contextual status label during streaming (e.g., "Thinking...", "Analyzing file...") */
57
- streamingStatus?: string;
58
- /** Whether file attachments are allowed (default: true). When false, drag-and-drop is suppressed. */
59
- allowAttachments?: boolean;
60
- /** Whether in-conversation search (Ctrl+F) is enabled (default: true) */
61
- allowSearch?: boolean;
62
- /** Whether per-message copy buttons are shown (default: true) */
63
- allowCopy?: boolean;
64
- /** Whether user messages can be edited (default: true) */
65
- allowEditing?: boolean;
66
- /** Whether failed messages show a retry button (default: true) */
67
- allowRetry?: boolean;
68
-
69
- // Snippets for extensibility
70
- /** Custom header above messages */
71
- header?: Snippet;
72
- /** Custom empty state when no messages */
73
- empty?: Snippet;
74
- /** Suggested starter prompts shown in the empty state */
75
- emptyPrompts?: string[];
76
- /** Custom message actions snippet */
77
- messageActions?: Snippet<[Message]>;
78
- /** Custom message status snippet */
79
- messageStatus?: Snippet<[Message]>;
80
- /** Attachment for the viewport element */
81
- viewportAttachment?: Attachment<HTMLElement>;
82
-
83
- // Event handlers
84
- /** Called when a message is submitted */
85
- onsubmit?: (event: ChatSubmitEvent) => void;
86
- /** Called when retry is requested for a failed message */
87
- onretry?: (messageId: string) => void;
88
- /** Called when a user message is edited */
89
- onedit?: (event: { messageId: string; content: string }) => void;
90
- /** Called when stop generating is requested */
91
- onstopgenerating?: (event: ChatStopGeneratingEvent) => void;
92
- /** Called when jump-to-latest is clicked */
93
- onjumptolatest?: () => void;
94
- /** Called when scroll state changes */
95
- onscrollstatechange?: (event: ChatScrollStateChangeEvent) => void;
96
- /** Called when unread indicator state changes */
97
- onunreadindicatorchange?: (event: ChatUnreadIndicatorChangeEvent) => void;
98
- /** Called when a message's expanded state changes */
99
- onexpandedchange?: (expanded: boolean) => void;
100
- /** Called when an attachment is added to the input */
101
- onattachmentadd?: (attachment: ChatAttachment) => void;
102
- /** Called when an attachment is removed from the input */
103
- onattachmentremove?: (attachment: ChatAttachment) => void;
104
- /** Called when an attachment fails validation */
105
- onattachmentfailure?: (file: File, error: string) => void;
106
- };
107
19
  </script>
108
20
 
109
21
  <script lang="ts">
110
- import { tick, untrack } from 'svelte';
22
+ import { onMount, tick, untrack } from 'svelte';
111
23
  import { classNames } from '../../../utilities/class-names.ts';
112
- import { getMessages } from '../utilities';
24
+ import {
25
+ getMessages,
26
+ pairToolCallsWithResults,
27
+ resolveMessageReasoning,
28
+ resolveMessageSteps,
29
+ resolveMessageSuggestions,
30
+ } from '../utilities';
113
31
  import { ChatMessage, ChatDateSeparator } from '../message';
114
32
  import { ChatInput } from '../input';
115
33
  import { DEFAULT_SCROLL_CONFIGURATION } from './scroll-utilities';
116
34
  import { useChatScrollState } from './use-chat-scroll-state.svelte';
117
35
  import { useChatUnreadState } from './use-chat-unread-state.svelte';
118
36
  import { useChatKeyboardNav } from './use-chat-keyboard-nav.svelte';
119
- import { useChatMessageGroups } from './use-chat-message-groups.svelte';
120
37
  import { useChatSearch } from './use-chat-search.svelte';
121
38
  import { useIntersection } from '../../../utilities/use-intersection.svelte.ts';
122
39
  import ChatJumpControls from './chat-jump-controls.svelte';
40
+ import ChatHistoryTrigger from './chat-history-trigger.svelte';
123
41
  import ChatStatusAnnouncer from './chat-status-announcer.svelte';
124
42
  import ChatSearchBar from './chat-search-bar.svelte';
43
+ import {
44
+ buildChatRenderRows,
45
+ buildMessagesWithDateSeparators,
46
+ chatRenderRowKey,
47
+ findPairedToolResultIds,
48
+ findRenderRowIndexByMessageId,
49
+ type ChatRenderRow,
50
+ } from './use-chat-message-groups.svelte.ts';
51
+ import { ChatVirtualizer } from './use-chat-virtualizer.svelte.ts';
52
+ import { useChatReasoningState } from './use-chat-reasoning-state.svelte.ts';
53
+ import type { VirtualItem } from '../../../_internal/virtual-item.ts';
54
+ import { useChatTypingIndicator } from './use-chat-typing-indicator.svelte.ts';
55
+ import { useChatReadReceipts } from './use-chat-read-receipts.svelte.ts';
56
+ import ChatParticipantTyping from './chat-participant-typing.svelte';
57
+ import ChatReadReceipt from '../message/chat-read-receipt.svelte';
125
58
 
126
59
  const noopAttachment: Attachment<HTMLElement> = () => {};
60
+ type ChatMessageRenderRow = Extract<ChatRenderRow, { type: 'message' }>;
61
+ type PendingHistoryScroll = {
62
+ previousFirstMessageId: string | null;
63
+ previousFirstTranscriptMessageId: string | null;
64
+ previousFirstMessageViewportOffset: number;
65
+ previousCount: number;
66
+ previousScrollTop: number;
67
+ previousScrollHeight: number;
68
+ previousTotalSize: number;
69
+ };
127
70
 
128
71
  let {
129
72
  id,
@@ -133,12 +76,21 @@
133
76
  hasNewMessageIndicator = $bindable(false),
134
77
  class: className,
135
78
  surfaceMode = 'default',
79
+ density = 'comfortable',
80
+ variant = 'bubble',
136
81
  bottomThreshold = DEFAULT_SCROLL_CONFIGURATION.bottomThreshold,
137
82
  jumpThreshold = DEFAULT_SCROLL_CONFIGURATION.jumpThreshold,
138
83
  isStreaming = false,
139
84
  streamingStatus,
140
85
  allowAttachments = true,
141
86
  allowSearch = true,
87
+ virtualized = false,
88
+ virtualizationEstimatedRowHeight = 88,
89
+ virtualizationOverscan = 3,
90
+ virtualizationInitialHeight = 640,
91
+ hasMoreHistory = true,
92
+ loadEarlierLabel = 'Load earlier messages',
93
+ loadingEarlierLabel = 'Loading earlier messages',
142
94
  allowCopy = true,
143
95
  allowEditing = true,
144
96
  allowRetry = true,
@@ -147,10 +99,26 @@
147
99
  emptyPrompts,
148
100
  messageActions,
149
101
  messageStatus,
102
+ row,
103
+ messagePart,
150
104
  viewportAttachment,
105
+ typingParticipants,
106
+ readReceipts,
107
+ adapter,
108
+ onadaptererror,
109
+ onpushmessage,
110
+ ontypingchange,
111
+ onreadreceipt,
151
112
  onsubmit,
152
113
  onretry,
153
114
  onedit,
115
+ onapprove,
116
+ ondeny,
117
+ messageReasoning,
118
+ messageSteps,
119
+ messageSuggestions,
120
+ onsuggestionselect,
121
+ onloadhistory,
154
122
  onstopgenerating,
155
123
  onjumptolatest,
156
124
  onscrollstatechange,
@@ -177,6 +145,9 @@
177
145
  }
178
146
  | undefined;
179
147
  let searchBarRef = $state<{ focusInput: () => void } | undefined>(undefined);
148
+ let historyTriggerRef = $state<{ focus: (options?: FocusOptions) => void } | undefined>(
149
+ undefined,
150
+ );
180
151
 
181
152
  // Container-level drag-and-drop state for full-window drop zone
182
153
  let isContainerDragOver = $state(false);
@@ -184,6 +155,7 @@
184
155
  // Streaming state: separate from the Conversation to avoid re-rendering the message list
185
156
  let streamingContent = $state('');
186
157
  let streamingMessageId = $state<string | null>(null);
158
+ let streamingRowElement = $state<HTMLElement | null>(null);
187
159
 
188
160
  // Token buffer: accumulate tokens as an array; joined and flushed once per animation frame
189
161
  // to avoid O(n²) string work from calling join() on every push.
@@ -191,6 +163,54 @@
191
163
  // rAF handle for batching token flushes and scroll throttling during streaming
192
164
  let streamingScrollRaf: number | undefined;
193
165
 
166
+ // C3 — tool approval state. Keyed by tool call id. Both sets are UI-only and
167
+ // are never written back to the transcript. A pending tool-approval part has
168
+ // its call id in neither set (approved === undefined). Once the consumer or
169
+ // adapter resolves the approval, the id moves into one of the sets and the
170
+ // part re-derives to show the resolved state.
171
+ let approvedToolCallIds = $state(new Set<string>());
172
+ let deniedToolCallIds = $state(new Set<string>());
173
+
174
+ // C4 — reasoning expansion state. UI-only; not written to the transcript.
175
+ // Collapsed by default; toggling triggers a virtualizer remeasure when wired.
176
+ const reasoningState = useChatReasoningState({
177
+ onRemeasureRow: (messageId) => {
178
+ if (!isVirtualized || !viewport) return;
179
+ // Find the message row DOM node via the stable id and re-measure it so
180
+ // the virtualizer updates the row's height after the disclosure transitions.
181
+ const rowNode = viewport.querySelector<HTMLElement>(`#message-${CSS.escape(messageId)}`);
182
+ if (rowNode) {
183
+ chatVirtualizer.measureElementNode(rowNode);
184
+ }
185
+ },
186
+ });
187
+
188
+ // Reset UI-only approval/reasoning/typing/receipt state on conversation change
189
+ // so stale approved/denied sets, expanded reasoning blocks, adapter-derived
190
+ // typing state, and accumulated read receipts from the previous conversation
191
+ // are cleared (their message ids can collide). The void reference to
192
+ // `conversationId` at the start of the effect body is the Svelte 5 pattern for
193
+ // declaring a reactive dependency on a derived without reading its value.
194
+ $effect(() => {
195
+ conversationId;
196
+ approvedToolCallIds = new Set();
197
+ deniedToolCallIds = new Set();
198
+ reasoningState.reset();
199
+ typingIndicatorState.reset();
200
+ readReceiptsState.reset();
201
+ });
202
+
203
+ let isLoadingHistory = $state(false);
204
+ let adapterHasMoreHistory = $state<boolean | undefined>(undefined);
205
+ let historyAnnouncement = $state('');
206
+ let pendingHistoryScroll: PendingHistoryScroll | null = $state(null);
207
+ let deferredAdapterHasMoreHistory: boolean | null = null;
208
+ let historyAnchorMessageId = $state<string | null>(null);
209
+ let historyAnchorViewportOffset = $state<number | null>(null);
210
+ let historyAnchorRestoredScrollTop: number | null = null;
211
+ let previousHistoryConversationId: string | undefined;
212
+ let previousHistoryAdapter: ChatAdapter | undefined;
213
+
194
214
  // ==========================================================================
195
215
  // Initialize Helpers
196
216
  // ==========================================================================
@@ -198,7 +218,7 @@
198
218
  const scrollState = useChatScrollState({
199
219
  getBottomThreshold: () => bottomThreshold,
200
220
  getJumpThreshold: () => jumpThreshold,
201
- onScrollStateChange: (event) => onscrollstatechange?.(event),
221
+ onScrollStateChange: handleScrollStateChange,
202
222
  onReachBottom: () => {
203
223
  if (unreadState.unreadCount > 0 || unreadState.hasNewMessageIndicator) {
204
224
  unreadState.markAllAsRead();
@@ -212,34 +232,212 @@
212
232
 
213
233
  const keyboardNav = useChatKeyboardNav({
214
234
  onJumpToLatest: handleJumpToLatest,
235
+ onJumpToStart: () => {
236
+ if (isVirtualized) {
237
+ chatVirtualizer.scrollToOffset(0, { behavior: scrollState.getScrollBehavior() });
238
+ }
239
+ },
215
240
  getScrollBehavior: scrollState.getScrollBehavior,
241
+ getHistoryTrigger: () => (showHistoryTrigger ? historyTriggerRef : null),
242
+ onVirtualMessageNavigation: (direction) => navigateVirtualMessage(direction),
216
243
  });
217
244
 
218
245
  const messages = $derived(getMessages(conversation));
246
+ // C5 — suggested replies are a per-TURN affordance shown only beneath the last
247
+ // message, not on every historical message that still carries the metadata.
248
+ const lastMessageId = $derived(messages.at(-1)?.id);
249
+ let previousAutoScrollMessageCount = getMessages(conversation).length;
250
+
251
+ // The conversation id as a stable VALUE dependency. The subscribe effect keys
252
+ // on this (not on `conversation.id` read inline) so a consumer passing a fresh
253
+ // `conversation` snapshot on every transcript update — but with the same id —
254
+ // does not tear down and reopen the real-time subscription each render.
255
+ const conversationId = $derived(conversation.id);
256
+
257
+ const showTypingIndicator = $derived(isStreaming && !streamingMessageId);
258
+ const toolCallPairsByCallId = $derived.by(() => {
259
+ const toolCallPairs = pairToolCallsWithResults(messages);
260
+ const map = new Map<string, ReturnType<typeof pairToolCallsWithResults>>();
261
+ for (const pair of toolCallPairs) {
262
+ const existing = map.get(pair.call.id);
263
+ if (existing) {
264
+ existing.push(pair);
265
+ } else {
266
+ map.set(pair.call.id, [pair]);
267
+ }
268
+ }
269
+ return map;
270
+ });
271
+ const renderRows = $derived.by(() => {
272
+ const pairedToolResultIds = findPairedToolResultIds(messages);
273
+ const messagesWithDates = buildMessagesWithDateSeparators(messages, pairedToolResultIds);
274
+ return buildChatRenderRows(messagesWithDates, {
275
+ firstUnreadId: unreadState.firstUnreadId,
276
+ showTypingIndicator,
277
+ });
278
+ });
279
+ let hasMounted = $state(false);
280
+ onMount(() => {
281
+ hasMounted = true;
282
+ });
219
283
 
220
- const messageGroups = useChatMessageGroups({
221
- getMessages: () => messages,
284
+ const isVirtualized = $derived(virtualized && hasMounted && messages.length > 0);
285
+ const timelineResetIdentity = $derived(
286
+ `${conversationId}:${isVirtualized ? 'virtualized' : 'full'}`,
287
+ );
288
+ const staticRowsResetIdentity = $derived(messages[0]?.id ?? '');
289
+
290
+ const chatVirtualizer = new ChatVirtualizer({
291
+ getScrollElement: () => viewport,
292
+ getCount: () => (isVirtualized ? renderRows.length : 0),
293
+ getItemKey: (index) => chatRenderRowKey(renderRows[index] ?? { type: 'typing' }),
294
+ getEstimatedSize: () => virtualizationEstimatedRowHeight,
295
+ getOverscan: () => virtualizationOverscan,
296
+ getInitialHeight: () => virtualizationInitialHeight,
297
+ getScrollPaddingStart: () => virtualSpacerOffsetTop(),
222
298
  });
223
299
 
300
+ const virtualRows = $derived.by(() => {
301
+ if (!isVirtualized) return [];
302
+
303
+ const renderedIndexes = new Set<number>();
304
+ const rows: { row: ChatRenderRow; virtualItem: VirtualItem }[] = [];
305
+ for (const virtualItem of chatVirtualizer.virtualItems) {
306
+ const row = renderRows[virtualItem.index];
307
+ if (!row) continue;
308
+ renderedIndexes.add(virtualItem.index);
309
+ rows.push({ row, virtualItem: pinHistoryAnchorVirtualItem(row, virtualItem) });
310
+ }
311
+
312
+ if (streamingMessageId) {
313
+ const streamingIndex = findRenderRowIndexByMessageId(renderRows, streamingMessageId);
314
+ if (streamingIndex >= 0 && !renderedIndexes.has(streamingIndex)) {
315
+ const virtualItem = chatVirtualizer.getVirtualItem(streamingIndex);
316
+ if (!virtualItem) return rows;
317
+ rows.push({
318
+ row: renderRows[streamingIndex]!,
319
+ virtualItem,
320
+ });
321
+ }
322
+ }
323
+
324
+ if (historyAnchorMessageId) {
325
+ const historyAnchorIndex = findRenderRowIndexByMessageId(renderRows, historyAnchorMessageId);
326
+ if (historyAnchorIndex >= 0 && !renderedIndexes.has(historyAnchorIndex)) {
327
+ const virtualItem = chatVirtualizer.getVirtualItem(historyAnchorIndex);
328
+ if (!virtualItem) return rows;
329
+ const row = renderRows[historyAnchorIndex];
330
+ if (row) {
331
+ rows.push({
332
+ row,
333
+ virtualItem: pinHistoryAnchorVirtualItem(row, virtualItem),
334
+ });
335
+ }
336
+ }
337
+ }
338
+
339
+ rows.sort((a, b) => a.virtualItem.index - b.virtualItem.index);
340
+ return rows;
341
+ });
342
+
343
+ function pinHistoryAnchorVirtualItem(row: ChatRenderRow, virtualItem: VirtualItem): VirtualItem {
344
+ if (
345
+ historyAnchorViewportOffset === null ||
346
+ row.type !== 'message' ||
347
+ row.message.id !== historyAnchorMessageId
348
+ ) {
349
+ return virtualItem;
350
+ }
351
+
352
+ const scrollTop = viewport?.scrollTop ?? chatVirtualizer.scrollOffset;
353
+ const start = Math.max(
354
+ 0,
355
+ scrollTop - chatVirtualizer.scrollPaddingStart + historyAnchorViewportOffset,
356
+ );
357
+ return {
358
+ ...virtualItem,
359
+ start,
360
+ end: start + virtualItem.size,
361
+ };
362
+ }
363
+
224
364
  const searchState = useChatSearch({
225
365
  getMessages: () => messages,
226
366
  });
227
367
 
368
+ // ==========================================================================
369
+ // C6 — Per-participant typing indicators + read receipts (out-of-band state)
370
+ // ==========================================================================
371
+
372
+ const typingIndicatorState = useChatTypingIndicator({
373
+ getTypingParticipants: () => typingParticipants,
374
+ });
375
+
376
+ const readReceiptsState = useChatReadReceipts({
377
+ getReadReceipts: () => readReceipts,
378
+ });
379
+
228
380
  // ==========================================================================
229
381
  // Derived Values
230
382
  // ==========================================================================
231
383
 
232
384
  const viewportAttach = $derived(viewportAttachment ?? noopAttachment);
385
+ const effectiveHasMoreHistory = $derived(adapterHasMoreHistory ?? hasMoreHistory);
386
+ const hasHistoryLoader = $derived(
387
+ onloadhistory !== undefined || adapter?.loadOlderMessages !== undefined,
388
+ );
389
+ const showHistoryTrigger = $derived(hasHistoryLoader && effectiveHasMoreHistory);
390
+
391
+ $effect(() => {
392
+ chatVirtualizer.setScrollElement(isVirtualized ? viewport : null);
393
+ });
394
+
395
+ $effect(() => {
396
+ for (const renderRow of renderRows) {
397
+ chatRenderRowKey(renderRow);
398
+ }
399
+ chatVirtualizer.syncOptions();
400
+ });
401
+
402
+ $effect(() => {
403
+ const currentConversationId = conversationId;
404
+ const currentAdapter = adapter;
405
+ if (previousHistoryConversationId === undefined) {
406
+ previousHistoryConversationId = currentConversationId;
407
+ previousHistoryAdapter = currentAdapter;
408
+ return;
409
+ }
410
+
411
+ if (
412
+ currentConversationId !== previousHistoryConversationId ||
413
+ currentAdapter !== previousHistoryAdapter
414
+ ) {
415
+ adapterHasMoreHistory = undefined;
416
+ pendingHistoryScroll = null;
417
+ deferredAdapterHasMoreHistory = null;
418
+ clearHistoryAnchor();
419
+ }
420
+ previousHistoryConversationId = currentConversationId;
421
+ previousHistoryAdapter = currentAdapter;
422
+ });
423
+
424
+ // A retry/edit affordance shows when EITHER a callback OR the adapter can
425
+ // handle it — so an adapter-only consumer (no `onretry`/`onedit`) still gets
426
+ // working buttons, and a callback-only consumer is unchanged.
427
+ const canRetry = $derived(onretry !== undefined || adapter?.retryMessage !== undefined);
428
+ const canEdit = $derived(onedit !== undefined || adapter?.editMessage !== undefined);
233
429
 
234
430
  // Stable bottom-sentinel attachment. Wrapping useIntersection in $derived (matching
235
431
  // load-more) means the IntersectionObserver is only torn down + recreated when
236
432
  // `viewport` or `bottomThreshold` actually change — NOT on every chat re-render
237
433
  // (which is frequent during streaming and would otherwise make bottom detection flicker).
238
434
  const sentinelAttach = $derived(
239
- useIntersection(scrollState.handleSentinelEntry, {
240
- root: viewport,
241
- rootMargin: `0px 0px ${bottomThreshold}px 0px`,
242
- }),
435
+ isVirtualized
436
+ ? noopAttachment
437
+ : useIntersection(scrollState.handleSentinelEntry, {
438
+ root: viewport,
439
+ rootMargin: `0px 0px ${bottomThreshold}px 0px`,
440
+ }),
243
441
  );
244
442
 
245
443
  // Accessibility IDs
@@ -247,6 +445,28 @@
247
445
  const inputId = $derived(`${id}-input`);
248
446
  const statusId = $derived(`${id}-status`);
249
447
 
448
+ // C3 — assertive announcement for action-required tool approvals. Derived from
449
+ // the first pending tool-approval part in the current transcript. When a new
450
+ // tool-approval part appears (outcome === 'action_required' + action present),
451
+ // this updates and the assertive live region interrupts screen readers.
452
+ const toolApprovalAssertiveMessage = $derived.by(() => {
453
+ for (const message of messages) {
454
+ if (
455
+ message.role === 'tool-result' &&
456
+ message.toolResult?.outcome === 'action_required' &&
457
+ message.toolResult.action &&
458
+ !approvedToolCallIds.has(message.toolResult.callId) &&
459
+ !deniedToolCallIds.has(message.toolResult.callId)
460
+ ) {
461
+ const actionMessage =
462
+ message.toolResult.action.message ??
463
+ 'This tool call requires your approval before it can continue.';
464
+ return `Action required: ${actionMessage}`;
465
+ }
466
+ }
467
+ return '';
468
+ });
469
+
250
470
  // ==========================================================================
251
471
  // Sync Bindable Props with Helper State
252
472
  // ==========================================================================
@@ -278,25 +498,197 @@
278
498
  * then use `tick()` to wait for DOM updates before scrolling.
279
499
  */
280
500
  $effect.pre(() => {
281
- if (!viewport) return;
501
+ if (!viewport) return undefined;
282
502
 
283
503
  // Register dependency on message count
284
504
  const currentCount = messages.length;
505
+ const isTranscriptAppend = currentCount > previousAutoScrollMessageCount;
506
+ previousAutoScrollMessageCount = currentCount;
507
+ // Keep the scroll extent as a dependency so virtual row measurement can
508
+ // trigger one final bottom correction after the appended row is measured.
509
+ const currentScrollExtent = isVirtualized ? chatVirtualizer.scrollSize : viewport.scrollHeight;
510
+ void currentScrollExtent;
285
511
 
286
512
  // Read isAtBottom without making it a dependency (prevents loops)
287
513
  const atBottom = untrack(() => scrollState.isAtBottom);
288
514
 
289
515
  // Skip if user initiated a smooth scroll (e.g., via jump button)
290
- if (scrollState.isUserScrolling) return;
516
+ if (scrollState.isUserScrolling) return undefined;
517
+
518
+ // Explicit history anchoring owns scroll restoration while a prepend is pending
519
+ // and until the user scrolls away from the restored anchor.
520
+ const hasActiveHistoryAnchor = untrack(
521
+ () => pendingHistoryScroll !== null || historyAnchorMessageId !== null,
522
+ );
523
+ if (hasActiveHistoryAnchor) return undefined;
291
524
 
292
525
  if (atBottom && currentCount > 0) {
293
- // Schedule scroll after DOM updates
294
- tick().then(() => {
295
- viewport?.scrollTo({ top: viewport.scrollHeight, behavior: 'instant' });
526
+ let cancelled = false;
527
+ const waitForBottomTarget = isTranscriptAppend ? waitForLayoutFrame() : tick();
528
+ void waitForBottomTarget.then(() => {
529
+ if (cancelled || !viewport || pendingHistoryScroll || historyAnchorMessageId !== null) {
530
+ return;
531
+ }
532
+ if (isVirtualized) {
533
+ chatVirtualizer.scrollToOffset(chatVirtualizer.scrollSize, { behavior: 'instant' });
534
+ } else {
535
+ viewport?.scrollTo({ top: viewport.scrollHeight, behavior: 'instant' });
536
+ }
296
537
  });
538
+
539
+ return () => {
540
+ cancelled = true;
541
+ };
297
542
  }
543
+
544
+ return undefined;
545
+ });
546
+
547
+ $effect.pre(() => {
548
+ if (!viewport || !pendingHistoryScroll) return;
549
+
550
+ const pending = pendingHistoryScroll;
551
+ messages.length;
552
+ messages[0]?.id;
553
+ void restorePendingHistoryScrollAfterLayout(pending);
298
554
  });
299
555
 
556
+ async function waitForLayoutFrame(): Promise<void> {
557
+ await tick();
558
+ if (typeof requestAnimationFrame !== 'function') return;
559
+
560
+ await new Promise<void>((resolve) => {
561
+ requestAnimationFrame(() => resolve());
562
+ });
563
+ }
564
+
565
+ async function restorePendingHistoryScrollAfterLayout(
566
+ pending: PendingHistoryScroll,
567
+ ): Promise<boolean> {
568
+ await waitForLayoutFrame();
569
+ if (pendingHistoryScroll !== pending) return false;
570
+ return restoreHistoryScroll(pending);
571
+ }
572
+
573
+ function restoreHistoryScroll(pending: PendingHistoryScroll): boolean {
574
+ if (!viewport) return false;
575
+
576
+ const currentFirstMessageId = messages[0]?.id ?? null;
577
+ const currentCount = messages.length;
578
+ if (
579
+ currentCount <= pending.previousCount ||
580
+ currentFirstMessageId === pending.previousFirstTranscriptMessageId
581
+ ) {
582
+ return false;
583
+ }
584
+
585
+ const prependedCount = currentCount - pending.previousCount;
586
+ pendingHistoryScroll = null;
587
+ finishDeferredAdapterHistoryLoading();
588
+ if (isVirtualized) {
589
+ setHistoryAnchor(pending);
590
+ }
591
+
592
+ if (isVirtualized) {
593
+ const newTotalSize = chatVirtualizer.scrollSize;
594
+ const delta = newTotalSize - pending.previousTotalSize;
595
+ const targetScrollTop = pending.previousScrollTop + delta;
596
+ chatVirtualizer.scrollToOffset(targetScrollTop, { behavior: 'instant' });
597
+ historyAnchorRestoredScrollTop = viewport?.scrollTop ?? chatVirtualizer.scrollOffset;
598
+ } else {
599
+ clearHistoryAnchor();
600
+ const newTotalSize = viewport.scrollHeight;
601
+ const delta = newTotalSize - pending.previousScrollHeight;
602
+ viewport.scrollTo({
603
+ top: pending.previousScrollTop + delta,
604
+ behavior: 'instant',
605
+ });
606
+ }
607
+ const announcement =
608
+ prependedCount === 1
609
+ ? '1 earlier message loaded.'
610
+ : `${prependedCount} earlier messages loaded.`;
611
+ historyAnnouncement = announcement;
612
+ setTimeout(() => {
613
+ if (historyAnnouncement === announcement) {
614
+ historyAnnouncement = '';
615
+ }
616
+ }, 1000);
617
+ void tick().then(() => {
618
+ focusAfterHistoryRestore(pending);
619
+ });
620
+ return true;
621
+ }
622
+
623
+ function setHistoryAnchor(pending: PendingHistoryScroll): void {
624
+ historyAnchorMessageId = pending.previousFirstMessageId;
625
+ historyAnchorViewportOffset = pending.previousFirstMessageViewportOffset;
626
+ historyAnchorRestoredScrollTop = null;
627
+ }
628
+
629
+ function clearHistoryAnchor(): void {
630
+ historyAnchorMessageId = null;
631
+ historyAnchorViewportOffset = null;
632
+ historyAnchorRestoredScrollTop = null;
633
+ }
634
+
635
+ function clearHistoryAnchorAfterScroll(scrollTop: number): void {
636
+ if (
637
+ historyAnchorMessageId !== null &&
638
+ historyAnchorRestoredScrollTop !== null &&
639
+ Math.abs(scrollTop - historyAnchorRestoredScrollTop) > 2
640
+ ) {
641
+ clearHistoryAnchor();
642
+ }
643
+ }
644
+
645
+ function handleScrollStateChange(event: {
646
+ isAtBottom: boolean;
647
+ scrollTop: number;
648
+ scrollHeight: number;
649
+ }): void {
650
+ clearHistoryAnchorAfterScroll(event.scrollTop);
651
+
652
+ onscrollstatechange?.(event);
653
+ }
654
+
655
+ function virtualSpacerOffsetTop(): number {
656
+ if (!viewport) return 0;
657
+
658
+ const spacer = viewport.querySelector<HTMLElement>('.chat-virtual-spacer');
659
+ if (!spacer) return 0;
660
+
661
+ const offsetTop = spacer.offsetTop;
662
+ const spacerRect = spacer.getBoundingClientRect();
663
+ const viewportRect = viewport.getBoundingClientRect();
664
+ const hasLayoutBox =
665
+ spacerRect.top !== 0 ||
666
+ spacerRect.bottom !== 0 ||
667
+ viewportRect.top !== 0 ||
668
+ viewportRect.bottom !== 0;
669
+ if (!hasLayoutBox) return Math.max(0, offsetTop);
670
+
671
+ const rectOffset = spacerRect.top - viewportRect.top + viewport.scrollTop;
672
+ return Math.max(0, Number.isFinite(rectOffset) ? rectOffset : offsetTop);
673
+ }
674
+
675
+ function focusAfterHistoryRestore(pending: PendingHistoryScroll): void {
676
+ if (!viewport) return;
677
+
678
+ if (showHistoryTrigger && historyTriggerRef) {
679
+ historyTriggerRef.focus({ preventScroll: true });
680
+ return;
681
+ }
682
+
683
+ const anchor = pending.previousFirstMessageId
684
+ ? viewport.querySelector<HTMLElement>(
685
+ `#message-${CSS.escape(pending.previousFirstMessageId)}`,
686
+ )
687
+ : null;
688
+ const target = anchor ?? viewport.querySelector<HTMLElement>('.chat-message');
689
+ target?.focus({ preventScroll: true });
690
+ }
691
+
300
692
  // ==========================================================================
301
693
  // Process Messages for Unread Detection
302
694
  // ==========================================================================
@@ -322,33 +714,406 @@
322
714
  };
323
715
  });
324
716
 
717
+ // ==========================================================================
718
+ // Adapter Real-Time Subscription
719
+ // ==========================================================================
720
+
721
+ // When an adapter exposes `subscribe`, open a real-time subscription keyed on
722
+ // the conversation id and tear it down on cleanup. `$effect` never runs on the
723
+ // server, so no browser guard is needed. Streaming pushes drive Chat's own
724
+ // imperative buffer (so a push-driven stream is self-contained); transcript /
725
+ // peripheral pushes forward to the consumer (Chat never mutates `conversation`).
726
+ //
727
+ // The effect re-subscribes ONLY when the adapter reference or the
728
+ // `conversationId` VALUE changes — keying on the derived id value (not on
729
+ // `conversation.id` read inline) means a new `conversation` snapshot bearing
730
+ // the same id does not churn the subscription. The forwarding callbacks are
731
+ // read through `untrack` at invocation time so a consumer passing inline arrow
732
+ // functions (whose identity churns every render) does not tear down and reopen
733
+ // the transport on every render — each handler still calls the LATEST callback,
734
+ // it just isn't a dependency of the subscription effect.
735
+ $effect(() => {
736
+ const resolvedAdapter = adapter;
737
+ if (!resolvedAdapter?.subscribe) return;
738
+
739
+ const currentConversationId = conversationId;
740
+ const handlers: ChatPushHandlers = {
741
+ onMessage: (message) => untrack(() => onpushmessage)?.(message),
742
+ onTypingChange: (isTyping) => {
743
+ // Drive the C6 per-participant typing indicator via the adapter path.
744
+ typingIndicatorState.handleAdapterTypingChange(isTyping);
745
+ untrack(() => ontypingchange)?.(isTyping);
746
+ },
747
+ onReadReceipt: (event) => {
748
+ // Accumulate the receipt into C6 read receipt state.
749
+ readReceiptsState.handleAdapterReadReceipt(event);
750
+ untrack(() => onreadreceipt)?.(event);
751
+ },
752
+ onStreamBegin: (messageId) => beginStreaming(messageId),
753
+ onTokenPush: (token) => pushToken(token),
754
+ onStreamEnd: () => endStreaming(),
755
+ };
756
+
757
+ const unsubscribe = resolvedAdapter.subscribe(currentConversationId, handlers);
758
+
759
+ // Teardown: close the transport (guarding a contract-violating non-function
760
+ // return so a bad adapter can't crash Svelte's cleanup), clear the imperative
761
+ // streaming buffer, AND clear the adapter-derived C6 typing/receipt state.
762
+ // Without the `endStreaming()`, a resubscribe or conversation switch mid-stream
763
+ // (no `onStreamEnd` fired) would leave `streamingMessageId`/`streamingContent`
764
+ // driving a row. Without the typing/receipt resets, an adapter that changed or
765
+ // was removed for the SAME conversation would leave a synthetic typing
766
+ // participant, a pending live-region timer, and accumulated receipts alive
767
+ // (the conversation-change effect above only fires on an id change).
768
+ return () => {
769
+ if (typeof unsubscribe === 'function') unsubscribe();
770
+ endStreaming();
771
+ typingIndicatorState.reset();
772
+ readReceiptsState.reset();
773
+ };
774
+ });
775
+
325
776
  // ==========================================================================
326
777
  // Create Scroll Attachment
327
778
  // ==========================================================================
328
779
 
329
780
  const scrollAttachment = scrollState.createScrollAttachment();
330
-
781
+ const historyAnchorScrollAttachment = $derived<Attachment<HTMLElement>>(
782
+ historyAnchorMessageId === null || historyAnchorRestoredScrollTop === null
783
+ ? noopAttachment
784
+ : (node) => {
785
+ const handleScroll = () => clearHistoryAnchorAfterScroll(node.scrollTop);
786
+ node.addEventListener('scroll', handleScroll, { passive: true });
787
+
788
+ return () => node.removeEventListener('scroll', handleScroll);
789
+ },
790
+ );
331
791
  // ==========================================================================
332
792
  // Actions
333
793
  // ==========================================================================
334
794
 
335
795
  function handleJumpToLatest(): void {
796
+ if (isVirtualized) {
797
+ chatVirtualizer.scrollToIndex(Math.max(0, renderRows.length - 1), {
798
+ align: 'end',
799
+ behavior: scrollState.getScrollBehavior(),
800
+ });
801
+ unreadState.markAllAsRead();
802
+ onjumptolatest?.();
803
+ tick().then(() => {
804
+ const lastMessage = viewport?.querySelector<HTMLElement>(
805
+ `.chat-message-wrapper:last-of-type .chat-message`,
806
+ );
807
+ lastMessage?.focus();
808
+ });
809
+ return;
810
+ }
811
+
336
812
  scrollState.jumpToLatest(viewport, () => {
337
813
  unreadState.markAllAsRead();
338
814
  onjumptolatest?.();
339
815
  });
340
816
  }
341
817
 
818
+ // ==========================================================================
819
+ // Command Dispatch (callbacks + optional adapter, one path)
820
+ // ==========================================================================
821
+
822
+ // One internal path for every user command so callback-driven and
823
+ // adapter-driven usage behave identically. The adapter method takes
824
+ // precedence when present (a transport owner); otherwise the callback fires.
825
+ //
826
+ // "Present" is decided by `runAdapterMethod` returning a value (not by the
827
+ // method's own return value): the call site returns `undefined` ONLY when the
828
+ // adapter lacks that optional method, and otherwise returns the method's
829
+ // result wrapped in `Promise.resolve(...)`. This means a synchronously-
830
+ // returning adapter method (one that resolves to `undefined` rather than a
831
+ // promise) is still treated as "handled" — the callback does NOT also fire, so
832
+ // there's no double-dispatch even for a type-violating sync method.
833
+ //
834
+ // The whole adapter path is wrapped so BOTH a rejected promise AND a
835
+ // synchronous throw from the adapter route to `onadaptererror` rather than
836
+ // escaping. `onadaptererror` is scoped to ADAPTER failures only — the fallback
837
+ // callback path is the consumer's own code, so a throw there propagates
838
+ // synchronously rather than being converted into a rejected dispatcher promise.
839
+ function dispatchCommand(
840
+ command: ChatCommand,
841
+ runAdapterMethod: (adapter: ChatAdapter) => Promise<void> | undefined,
842
+ callback: (() => void) | undefined,
843
+ ): Promise<void> | void {
844
+ if (adapter) {
845
+ try {
846
+ const run = runAdapterMethod(adapter);
847
+ // `undefined` means the adapter has no such method → fall through to the
848
+ // callback. Any other return (a promise, including one wrapping a sync
849
+ // `undefined` result) means the adapter handled it — never fire the callback.
850
+ if (run !== undefined) {
851
+ return run.catch((error: unknown) => {
852
+ onadaptererror?.({ command, error });
853
+ });
854
+ }
855
+ } catch (error) {
856
+ onadaptererror?.({ command, error });
857
+ return;
858
+ }
859
+ }
860
+ callback?.();
861
+ }
862
+
342
863
  function handleSubmit(message: MessageInput, attachments: ChatAttachment[]): void {
343
- onsubmit?.({ message, attachments });
864
+ // Fire-and-forget the command (the dispatcher owns awaiting + error routing);
865
+ // scroll immediately so the round-trip latency never delays the auto-scroll.
866
+ // `Promise.resolve(...)` normalizes a sync-returning method to a promise so
867
+ // the dispatcher always treats a present method as "handled" (sendMessage is
868
+ // required, so it's always present here).
869
+ void dispatchCommand(
870
+ 'sendMessage',
871
+ (resolvedAdapter) => Promise.resolve(resolvedAdapter.sendMessage(message, attachments)),
872
+ () => onsubmit?.({ message, attachments }),
873
+ );
344
874
 
345
875
  // Auto-scroll after sending
346
876
  scrollState.setIsAtBottom(true);
347
877
  tick().then(() => {
348
- viewport?.scrollTo({ top: viewport.scrollHeight, behavior: 'instant' });
878
+ if (isVirtualized) {
879
+ chatVirtualizer.scrollToOffset(chatVirtualizer.scrollSize, { behavior: 'instant' });
880
+ } else {
881
+ viewport?.scrollTo({ top: viewport.scrollHeight, behavior: 'instant' });
882
+ }
349
883
  });
350
884
  }
351
885
 
886
+ function captureHistoryScroll(): void {
887
+ const previousFirstTranscriptMessageId = messages[0]?.id ?? null;
888
+ const visibleAnchor = firstVisibleRenderedMessage();
889
+ const previousFirstMessageId = visibleAnchor?.messageId ?? previousFirstTranscriptMessageId;
890
+ const previousScrollTop = viewport?.scrollTop ?? chatVirtualizer.scrollOffset;
891
+ const previousFirstMessageElement =
892
+ previousFirstMessageId !== null ? renderedMessageById(previousFirstMessageId) : null;
893
+ const previousFirstMessageViewportOffset =
894
+ visibleAnchor?.viewportOffset ??
895
+ (previousFirstMessageElement && viewport
896
+ ? previousFirstMessageElement.getBoundingClientRect().top -
897
+ viewport.getBoundingClientRect().top
898
+ : 0);
899
+ pendingHistoryScroll = {
900
+ previousFirstMessageId,
901
+ previousFirstTranscriptMessageId,
902
+ previousFirstMessageViewportOffset,
903
+ previousCount: messages.length,
904
+ previousScrollTop,
905
+ previousScrollHeight: viewport?.scrollHeight ?? 0,
906
+ previousTotalSize: chatVirtualizer.scrollSize,
907
+ };
908
+ }
909
+
910
+ async function settlePendingHistoryScroll(pending: PendingHistoryScroll): Promise<void> {
911
+ for (let attempt = 0; attempt < 5; attempt += 1) {
912
+ if (pendingHistoryScroll !== pending) return;
913
+ if (await restorePendingHistoryScrollAfterLayout(pending)) return;
914
+ }
915
+
916
+ if (pendingHistoryScroll === pending) {
917
+ pendingHistoryScroll = null;
918
+ finishDeferredAdapterHistoryLoading();
919
+ }
920
+ }
921
+
922
+ function finishDeferredAdapterHistoryLoading(): void {
923
+ if (deferredAdapterHasMoreHistory === null) return;
924
+
925
+ adapterHasMoreHistory = deferredAdapterHasMoreHistory;
926
+ deferredAdapterHasMoreHistory = null;
927
+ isLoadingHistory = false;
928
+ }
929
+
930
+ function historyTranscriptChanged(pending: PendingHistoryScroll): boolean {
931
+ return (
932
+ messages.length > pending.previousCount ||
933
+ messages[0]?.id !== pending.previousFirstTranscriptMessageId
934
+ );
935
+ }
936
+
937
+ async function handleLoadHistory(): Promise<void> {
938
+ if (isLoadingHistory || !showHistoryTrigger) return;
939
+
940
+ isLoadingHistory = true;
941
+ captureHistoryScroll();
942
+ const pending = pendingHistoryScroll;
943
+ if (pending === null) {
944
+ isLoadingHistory = false;
945
+ return;
946
+ }
947
+
948
+ if (adapter?.loadOlderMessages) {
949
+ let nextHasMoreHistory: boolean | undefined;
950
+ try {
951
+ const result = await adapter.loadOlderMessages(conversationId);
952
+ nextHasMoreHistory = result.hasMore;
953
+ } catch (error) {
954
+ pendingHistoryScroll = null;
955
+ isLoadingHistory = false;
956
+ onadaptererror?.({ command: 'loadOlderMessages', error });
957
+ return;
958
+ }
959
+
960
+ const transcriptChanged = historyTranscriptChanged(pending);
961
+ if (isVirtualized && !transcriptChanged) {
962
+ deferredAdapterHasMoreHistory = nextHasMoreHistory ?? null;
963
+ await tick();
964
+ if (historyTranscriptChanged(pending)) {
965
+ await settlePendingHistoryScroll(pending);
966
+ } else if (pendingHistoryScroll === pending) {
967
+ pendingHistoryScroll = null;
968
+ finishDeferredAdapterHistoryLoading();
969
+ } else {
970
+ finishDeferredAdapterHistoryLoading();
971
+ }
972
+ return;
973
+ }
974
+
975
+ if (isVirtualized || transcriptChanged) {
976
+ await settlePendingHistoryScroll(pending);
977
+ } else {
978
+ pendingHistoryScroll = null;
979
+ }
980
+ adapterHasMoreHistory = nextHasMoreHistory;
981
+ isLoadingHistory = false;
982
+ return;
983
+ }
984
+
985
+ try {
986
+ await onloadhistory?.();
987
+ await settlePendingHistoryScroll(pending);
988
+ } catch (error) {
989
+ pendingHistoryScroll = null;
990
+ throw error;
991
+ } finally {
992
+ isLoadingHistory = false;
993
+ }
994
+ }
995
+
996
+ function handleRetry(messageId: string): void {
997
+ void dispatchCommand(
998
+ 'retryMessage',
999
+ // Return `undefined` ONLY when the optional method is absent; otherwise
1000
+ // wrap its result so a present-but-sync method still counts as handled.
1001
+ (resolvedAdapter) =>
1002
+ resolvedAdapter.retryMessage
1003
+ ? Promise.resolve(resolvedAdapter.retryMessage(messageId))
1004
+ : undefined,
1005
+ () => onretry?.(messageId),
1006
+ );
1007
+ }
1008
+
1009
+ function handleEdit(event: { messageId: string; content: string }): void {
1010
+ void dispatchCommand(
1011
+ 'editMessage',
1012
+ (resolvedAdapter) =>
1013
+ resolvedAdapter.editMessage
1014
+ ? Promise.resolve(resolvedAdapter.editMessage(event))
1015
+ : undefined,
1016
+ () => onedit?.(event),
1017
+ );
1018
+ }
1019
+
1020
+ // C5 — suggestion selection handler. Calls the consumer callback then
1021
+ // moves focus to the composer so keyboard users are not left stranded on a
1022
+ // chip button that gets removed from the DOM when the suggestion set clears.
1023
+ function handleSuggestionSelect(label: string): void {
1024
+ onsuggestionselect?.(label);
1025
+ inputRef?.focus();
1026
+ }
1027
+
1028
+ // C3 — an approve/deny affordance only resolves when SOMETHING can handle it —
1029
+ // the adapter command OR the consumer callback. `canApprove`/`canDeny` gate
1030
+ // both the button-enabled state (passed to ToolApprovalPart) and the resolve
1031
+ // guard, so a consumer that wires neither path gets disabled buttons rather
1032
+ // than a click that commits UI-only state to nowhere (matches canRetry/canEdit).
1033
+ const canApprove = $derived(onapprove !== undefined || adapter?.approveToolCall !== undefined);
1034
+ const canDeny = $derived(ondeny !== undefined || adapter?.denyToolCall !== undefined);
1035
+
1036
+ // C3 — tool approval handlers. The resolution is recorded optimistically in the
1037
+ // UI-only id sets for immediate feedback, then the adapter command (if present)
1038
+ // runs and, on SUCCESS, the consumer callback fires (adapter-first-then-callback
1039
+ // contract). Guard double-resolution: if the call id is already in either set,
1040
+ // skip so a second tap/Escape cannot flip a resolved state. If the ADAPTER
1041
+ // command REJECTS (or throws), the optimistic resolution is rolled back so the
1042
+ // prompt returns to pending instead of being stuck "approved"/"denied" on a
1043
+ // transport failure — the error routes to onadaptererror and the callback does
1044
+ // NOT fire. With no adapter method, the callback fires synchronously.
1045
+ function resolveToolApproval(
1046
+ toolCallId: string,
1047
+ command: 'approveToolCall' | 'denyToolCall',
1048
+ canHandle: boolean,
1049
+ commit: (id: string) => void,
1050
+ rollback: (id: string) => void,
1051
+ runAdapter: (adapter: ChatAdapter) => Promise<void> | undefined,
1052
+ callback: (() => void) | undefined,
1053
+ ): void {
1054
+ if (!canHandle) return;
1055
+ if (approvedToolCallIds.has(toolCallId) || deniedToolCallIds.has(toolCallId)) return;
1056
+ commit(toolCallId);
1057
+
1058
+ if (adapter) {
1059
+ let run: Promise<void> | undefined;
1060
+ try {
1061
+ run = runAdapter(adapter);
1062
+ } catch (error) {
1063
+ rollback(toolCallId);
1064
+ onadaptererror?.({ command, error });
1065
+ return;
1066
+ }
1067
+ if (run !== undefined) {
1068
+ void run.then(
1069
+ () => callback?.(),
1070
+ (error: unknown) => {
1071
+ rollback(toolCallId);
1072
+ onadaptererror?.({ command, error });
1073
+ },
1074
+ );
1075
+ return;
1076
+ }
1077
+ }
1078
+ callback?.();
1079
+ }
1080
+
1081
+ function handleApprove(toolCallId: string): void {
1082
+ resolveToolApproval(
1083
+ toolCallId,
1084
+ 'approveToolCall',
1085
+ canApprove,
1086
+ (id) => (approvedToolCallIds = new Set([...approvedToolCallIds, id])),
1087
+ (id) => (approvedToolCallIds = removeFromSet(approvedToolCallIds, id)),
1088
+ (resolvedAdapter) =>
1089
+ resolvedAdapter.approveToolCall
1090
+ ? Promise.resolve(resolvedAdapter.approveToolCall(toolCallId))
1091
+ : undefined,
1092
+ () => onapprove?.(toolCallId),
1093
+ );
1094
+ }
1095
+
1096
+ function handleDeny(toolCallId: string): void {
1097
+ resolveToolApproval(
1098
+ toolCallId,
1099
+ 'denyToolCall',
1100
+ canDeny,
1101
+ (id) => (deniedToolCallIds = new Set([...deniedToolCallIds, id])),
1102
+ (id) => (deniedToolCallIds = removeFromSet(deniedToolCallIds, id)),
1103
+ (resolvedAdapter) =>
1104
+ resolvedAdapter.denyToolCall
1105
+ ? Promise.resolve(resolvedAdapter.denyToolCall(toolCallId))
1106
+ : undefined,
1107
+ () => ondeny?.(toolCallId),
1108
+ );
1109
+ }
1110
+
1111
+ function removeFromSet(set: Set<string>, value: string): Set<string> {
1112
+ const next = new Set(set);
1113
+ next.delete(value);
1114
+ return next;
1115
+ }
1116
+
352
1117
  function handleStopGenerating(): void {
353
1118
  // Find the streaming message (last assistant message)
354
1119
  // Using backwards loop instead of findLast() for broader browser compatibility
@@ -361,7 +1126,16 @@
361
1126
  }
362
1127
  }
363
1128
  if (streamingMessage) {
364
- onstopgenerating?.({ messageId: streamingMessage.id });
1129
+ // Local name avoids shadowing the module-level `streamingMessageId` $state.
1130
+ const targetMessageId = streamingMessage.id;
1131
+ void dispatchCommand(
1132
+ 'stopGenerating',
1133
+ (resolvedAdapter) =>
1134
+ resolvedAdapter.stopGenerating
1135
+ ? Promise.resolve(resolvedAdapter.stopGenerating(targetMessageId))
1136
+ : undefined,
1137
+ () => onstopgenerating?.({ messageId: targetMessageId }),
1138
+ );
365
1139
  }
366
1140
  }
367
1141
 
@@ -396,18 +1170,108 @@
396
1170
  keyboardNav.handleKeyDown(event, viewport);
397
1171
  }
398
1172
 
1173
+ function messageIdFromElement(element: HTMLElement): string | null {
1174
+ if (!element.id.startsWith('message-')) return null;
1175
+ return element.id.slice('message-'.length);
1176
+ }
1177
+
1178
+ function renderedMessageById(messageId: string): HTMLElement | null {
1179
+ return viewport?.querySelector<HTMLElement>(`#message-${CSS.escape(messageId)}`) ?? null;
1180
+ }
1181
+
1182
+ function firstVisibleRenderedMessage(): { messageId: string; viewportOffset: number } | null {
1183
+ if (!viewport) return null;
1184
+
1185
+ const viewportRect = viewport.getBoundingClientRect();
1186
+ for (const message of viewport.querySelectorAll<HTMLElement>('.chat-message')) {
1187
+ const messageId = messageIdFromElement(message);
1188
+ if (!messageId) continue;
1189
+
1190
+ const rect = message.getBoundingClientRect();
1191
+ if (rect.bottom <= viewportRect.top || rect.top >= viewportRect.bottom) continue;
1192
+
1193
+ return {
1194
+ messageId,
1195
+ viewportOffset: rect.top - viewportRect.top,
1196
+ };
1197
+ }
1198
+
1199
+ return null;
1200
+ }
1201
+
1202
+ async function focusVirtualMessage(messageId: string): Promise<void> {
1203
+ const existing = renderedMessageById(messageId);
1204
+ if (existing) {
1205
+ existing.focus();
1206
+ existing.scrollIntoView({ behavior: scrollState.getScrollBehavior(), block: 'nearest' });
1207
+ return;
1208
+ }
1209
+
1210
+ const targetIndex = findRenderRowIndexByMessageId(renderRows, messageId);
1211
+ if (targetIndex < 0) return;
1212
+
1213
+ chatVirtualizer.scrollToIndex(targetIndex, {
1214
+ align: 'auto',
1215
+ behavior: scrollState.getScrollBehavior(),
1216
+ });
1217
+ await tick();
1218
+ const target = renderedMessageById(messageId);
1219
+ target?.focus();
1220
+ target?.scrollIntoView({ behavior: scrollState.getScrollBehavior(), block: 'nearest' });
1221
+ }
1222
+
1223
+ function navigateVirtualMessage(direction: 'next' | 'previous'): boolean {
1224
+ if (!isVirtualized || !viewport) return false;
1225
+ const activeElement =
1226
+ document.activeElement instanceof HTMLElement ? document.activeElement : null;
1227
+ if (!activeElement?.classList.contains('chat-message')) return false;
1228
+
1229
+ const currentMessageId = messageIdFromElement(activeElement);
1230
+ if (!currentMessageId) return false;
1231
+
1232
+ const currentIndex = findRenderRowIndexByMessageId(renderRows, currentMessageId);
1233
+ if (currentIndex < 0) return false;
1234
+
1235
+ const step = direction === 'next' ? 1 : -1;
1236
+ for (
1237
+ let targetIndex = currentIndex + step;
1238
+ targetIndex >= 0 && targetIndex < renderRows.length;
1239
+ targetIndex += step
1240
+ ) {
1241
+ const targetRow = renderRows[targetIndex];
1242
+ if (targetRow?.type !== 'message') continue;
1243
+
1244
+ void focusVirtualMessage(targetRow.message.id);
1245
+ return true;
1246
+ }
1247
+
1248
+ return true;
1249
+ }
1250
+
399
1251
  // Scroll to the currently matched message when the current match changes
400
1252
  $effect(() => {
401
1253
  const match = searchState.currentMatch;
402
1254
  if (!match || !viewport) return;
403
1255
 
404
- const messageElement = viewport.querySelector<HTMLElement>(
405
- `#message-${CSS.escape(match.message.id)}`,
406
- );
1256
+ void scrollCurrentSearchMatch(match.message.id);
1257
+ });
1258
+
1259
+ async function scrollCurrentSearchMatch(messageId: string): Promise<void> {
1260
+ if (!viewport) return;
1261
+
1262
+ if (isVirtualized) {
1263
+ const targetIndex = findRenderRowIndexByMessageId(renderRows, messageId);
1264
+ if (targetIndex >= 0) {
1265
+ chatVirtualizer.scrollToIndex(targetIndex, { align: 'center', behavior: 'auto' });
1266
+ await tick();
1267
+ }
1268
+ }
1269
+
1270
+ const messageElement = viewport.querySelector<HTMLElement>(`#message-${CSS.escape(messageId)}`);
407
1271
  if (messageElement) {
408
1272
  messageElement.scrollIntoView({ behavior: 'auto', block: 'nearest' });
409
1273
  }
410
- });
1274
+ }
411
1275
 
412
1276
  // ==========================================================================
413
1277
  // Container-Level Drag and Drop
@@ -467,11 +1331,21 @@
467
1331
  // ==========================================================================
468
1332
 
469
1333
  export function scrollToBottom(): void {
470
- scrollState.scrollToBottom(viewport);
1334
+ if (isVirtualized) {
1335
+ chatVirtualizer.scrollToOffset(chatVirtualizer.scrollSize, {
1336
+ behavior: scrollState.getScrollBehavior(),
1337
+ });
1338
+ } else {
1339
+ scrollState.scrollToBottom(viewport);
1340
+ }
471
1341
  }
472
1342
 
473
1343
  export function scrollToTop(): void {
474
- scrollState.scrollToTop(viewport);
1344
+ if (isVirtualized) {
1345
+ chatVirtualizer.scrollToOffset(0, { behavior: scrollState.getScrollBehavior() });
1346
+ } else {
1347
+ scrollState.scrollToTop(viewport);
1348
+ }
475
1349
  }
476
1350
 
477
1351
  export function focusInput(): void {
@@ -512,9 +1386,20 @@
512
1386
  streamingScrollRaf = undefined;
513
1387
  // Flush: join the entire buffer once per frame
514
1388
  streamingContent = tokenBuffer.join('');
1389
+ if (streamingRowElement) {
1390
+ tick().then(() => {
1391
+ if (streamingRowElement) {
1392
+ chatVirtualizer.measureElementNode(streamingRowElement);
1393
+ }
1394
+ });
1395
+ }
515
1396
  // Auto-scroll if at bottom
516
1397
  if (scrollState.isAtBottom && viewport) {
517
- viewport.scrollTo({ top: viewport.scrollHeight, behavior: 'instant' });
1398
+ if (isVirtualized) {
1399
+ chatVirtualizer.scrollToOffset(chatVirtualizer.scrollSize, { behavior: 'instant' });
1400
+ } else {
1401
+ viewport.scrollTo({ top: viewport.scrollHeight, behavior: 'instant' });
1402
+ }
518
1403
  }
519
1404
  });
520
1405
  }
@@ -534,6 +1419,30 @@
534
1419
  streamingContent = '';
535
1420
  tokenBuffer = [];
536
1421
  }
1422
+
1423
+ function virtualizedSpacerStyle(): string {
1424
+ return `height: ${chatVirtualizer.totalSize}px; position: relative; width: 100%;`;
1425
+ }
1426
+
1427
+ function virtualizedRowStyle(virtualItem: VirtualItem): string {
1428
+ return `position: absolute; inset-inline: 0; top: 0; transform: translateY(${virtualItem.start}px);`;
1429
+ }
1430
+
1431
+ function virtualRowAttachment(row: ChatRenderRow): Attachment<HTMLElement> {
1432
+ return (node) => {
1433
+ const detachMeasurement = chatVirtualizer.measureElement(node);
1434
+ if (row.type === 'message' && row.message.id === streamingMessageId) {
1435
+ streamingRowElement = node;
1436
+ }
1437
+
1438
+ return () => {
1439
+ detachMeasurement?.();
1440
+ if (streamingRowElement === node) {
1441
+ streamingRowElement = null;
1442
+ }
1443
+ };
1444
+ };
1445
+ }
537
1446
  </script>
538
1447
 
539
1448
  <div
@@ -541,6 +1450,8 @@
541
1450
  {id}
542
1451
  class={classNames('chat-container', className)}
543
1452
  data-surface-mode={surfaceMode}
1453
+ data-cinder-density={density}
1454
+ data-cinder-variant={variant}
544
1455
  role="region"
545
1456
  aria-label="Chat conversation"
546
1457
  onkeydown={handleKeyDown}
@@ -574,112 +1485,199 @@
574
1485
  />
575
1486
  {/if}
576
1487
 
577
- <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
578
- <div
579
- bind:this={viewport}
580
- id={timelineId}
581
- class="chat-timeline"
582
- role="log"
583
- aria-label="Messages"
584
- aria-describedby={statusId}
585
- aria-live="polite"
586
- aria-relevant="additions"
587
- tabindex="0"
588
- {@attach scrollAttachment}
589
- {@attach viewportAttach}
590
- >
591
- {#if messages.length === 0}
592
- {#if empty}
593
- {@render empty()}
1488
+ {#snippet renderTypingIndicator()}
1489
+ <div
1490
+ class="chat-typing-indicator"
1491
+ role="status"
1492
+ aria-label={streamingStatus ?? 'Assistant is typing'}
1493
+ >
1494
+ {#if streamingStatus}
1495
+ <span class="chat-typing-status">{streamingStatus}</span>
594
1496
  {:else}
595
- <div class="chat-empty" role="status">
596
- <p>No messages yet</p>
597
- {#if emptyPrompts && emptyPrompts.length > 0}
598
- <div class="chat-empty-prompts" role="group" aria-label="Suggested prompts">
599
- {#each emptyPrompts as prompt, index (index)}
600
- <button
601
- type="button"
602
- class="chat-empty-prompt"
603
- onclick={() => handlePromptClick(prompt)}
604
- >
605
- {prompt}
606
- </button>
607
- {/each}
608
- </div>
609
- {/if}
610
- </div>
1497
+ <span class="chat-typing-dot" aria-hidden="true"></span>
1498
+ <span class="chat-typing-dot" aria-hidden="true"></span>
1499
+ <span class="chat-typing-dot" aria-hidden="true"></span>
611
1500
  {/if}
612
- {:else}
613
- {#each messageGroups.messagesWithDates as item, index (item.type === 'date' ? `date-${item.date.toISOString()}` : `msg-${item.message.id}`)}
614
- {#if item.type === 'date'}
615
- <ChatDateSeparator date={item.date} />
616
- {:else}
617
- {@const message = item.message}
618
- {@const isFirstUnread = message.id === unreadState.firstUnreadId}
619
- {@const pairs = message.toolCall?.id
620
- ? (messageGroups.toolCallPairsByCallId.get(message.toolCall.id) ?? [])
621
- : []}
622
-
623
- {#if isFirstUnread && index > 0}
624
- <div class="chat-unread-divider" role="separator" aria-label="New messages below">
625
- <span class="chat-unread-divider-line" aria-hidden="true"></span>
626
- <span class="chat-unread-divider-label">New</span>
627
- <span class="chat-unread-divider-line" aria-hidden="true"></span>
628
- </div>
1501
+ </div>
1502
+ {/snippet}
1503
+
1504
+ {#snippet renderMessageRow(messageRow: ChatMessageRenderRow)}
1505
+ {@const message = messageRow.message}
1506
+ {@const pairs = message.toolCall?.id
1507
+ ? (toolCallPairsByCallId.get(message.toolCall.id) ?? [])
1508
+ : []}
1509
+ {@const isStreamingMessage = streamingMessageId === message.id}
1510
+ {@const isCurrentSearchMatch =
1511
+ searchState.isOpen &&
1512
+ searchState.currentMatch !== null &&
1513
+ searchState.currentMatch.message.id === message.id}
1514
+ <!-- C4/C5: resolve reasoning/steps/suggestions overlays. Each prefers an
1515
+ explicit per-message prop over `cinder:`-namespaced metadata, validates
1516
+ both paths identically, and guards consumer-callback throws — so a
1517
+ malformed callback can never break the chat render (see resolve* in
1518
+ chat/utilities). A plain transcript yields `undefined` for all three. -->
1519
+ {@const derivedReasoning = resolveMessageReasoning(message, messageReasoning)}
1520
+ {@const derivedSteps = resolveMessageSteps(message, messageSteps)}
1521
+ {@const derivedSuggestions =
1522
+ message.id === lastMessageId
1523
+ ? resolveMessageSuggestions(message, messageSuggestions)
1524
+ : undefined}
1525
+
1526
+ <!-- The built-in row. Wrapped in a snippet so the optional `row`
1527
+ override can render it (inversion of control) or replace it. The
1528
+ per-part `messagePart` override flows through into the message's
1529
+ parts renderer. -->
1530
+ {#snippet renderDefaultRow()}
1531
+ {@const receipt =
1532
+ message.role === 'user' ? readReceiptsState.getReceipt(message.id) : undefined}
1533
+ <ChatMessage
1534
+ {message}
1535
+ toolCallPairs={pairs}
1536
+ {messagePart}
1537
+ onretry={allowRetry && canRetry ? handleRetry : undefined}
1538
+ onedit={allowEditing && canEdit ? handleEdit : undefined}
1539
+ showDefaultActions={allowCopy}
1540
+ {onexpandedchange}
1541
+ streaming={isStreamingMessage}
1542
+ overrideContent={isStreamingMessage ? streamingContent : undefined}
1543
+ searchMatch={isCurrentSearchMatch}
1544
+ tabindex={-1}
1545
+ approvedToolCallIds={approvedToolCallIds.size > 0 ? approvedToolCallIds : undefined}
1546
+ deniedToolCallIds={deniedToolCallIds.size > 0 ? deniedToolCallIds : undefined}
1547
+ onapprove={canApprove ? handleApprove : undefined}
1548
+ ondeny={canDeny ? handleDeny : undefined}
1549
+ reasoning={derivedReasoning}
1550
+ steps={derivedSteps}
1551
+ suggestions={derivedSuggestions}
1552
+ reasoningExpanded={reasoningState.isExpanded(message.id)}
1553
+ onreasoning={() => reasoningState.toggle(message.id)}
1554
+ onsuggestionselect={handleSuggestionSelect}
1555
+ >
1556
+ {#snippet actions()}
1557
+ {#if messageActions}
1558
+ {@render messageActions(message)}
1559
+ {/if}
1560
+ {/snippet}
1561
+ {#snippet status()}
1562
+ {#if messageStatus}
1563
+ {@render messageStatus(message)}
1564
+ {:else if receipt}
1565
+ <ChatReadReceipt {receipt} />
629
1566
  {/if}
1567
+ {/snippet}
1568
+ </ChatMessage>
1569
+ {/snippet}
630
1570
 
631
- {@const isStreamingMessage = streamingMessageId === message.id}
632
- {@const isCurrentSearchMatch =
633
- searchState.isOpen &&
634
- searchState.currentMatch !== null &&
635
- searchState.currentMatch.message.id === message.id}
636
- <ChatMessage
637
- {message}
638
- toolCallPairs={pairs}
639
- onretry={allowRetry ? onretry : undefined}
640
- onedit={allowEditing ? onedit : undefined}
641
- showDefaultActions={allowCopy}
642
- {onexpandedchange}
643
- streaming={isStreamingMessage}
644
- overrideContent={isStreamingMessage ? streamingContent : undefined}
645
- searchMatch={isCurrentSearchMatch}
646
- tabindex={-1}
647
- >
648
- {#snippet actions()}
649
- {#if messageActions}
650
- {@render messageActions(message)}
651
- {/if}
652
- {/snippet}
653
- {#snippet status()}
654
- {#if messageStatus}
655
- {@render messageStatus(message)}
656
- {/if}
657
- {/snippet}
658
- </ChatMessage>
1571
+ {#if row}
1572
+ {@render row(message, renderDefaultRow)}
1573
+ {:else}
1574
+ {@render renderDefaultRow()}
1575
+ {/if}
1576
+ {/snippet}
1577
+
1578
+ {#snippet renderChatRow(renderRow: ChatRenderRow)}
1579
+ {#if renderRow.type === 'date'}
1580
+ <ChatDateSeparator date={renderRow.date} />
1581
+ {:else if renderRow.type === 'unread-divider'}
1582
+ <div class="chat-unread-divider" role="separator" aria-label="New messages below">
1583
+ <span class="chat-unread-divider-line" aria-hidden="true"></span>
1584
+ <span class="chat-unread-divider-label">New</span>
1585
+ <span class="chat-unread-divider-line" aria-hidden="true"></span>
1586
+ </div>
1587
+ {:else if renderRow.type === 'typing'}
1588
+ {@render renderTypingIndicator()}
1589
+ {:else}
1590
+ {@render renderMessageRow(renderRow)}
1591
+ {/if}
1592
+ {/snippet}
1593
+
1594
+ {#key timelineResetIdentity}
1595
+ <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
1596
+ <div
1597
+ bind:this={viewport}
1598
+ id={timelineId}
1599
+ class="chat-timeline"
1600
+ role="log"
1601
+ aria-label="Messages"
1602
+ aria-describedby={statusId}
1603
+ aria-live={isVirtualized ? 'off' : 'polite'}
1604
+ aria-relevant={isVirtualized ? undefined : 'additions'}
1605
+ data-cinder-virtualized={isVirtualized ? '' : undefined}
1606
+ tabindex="0"
1607
+ {@attach scrollAttachment}
1608
+ {@attach historyAnchorScrollAttachment}
1609
+ {@attach viewportAttach}
1610
+ >
1611
+ {#if showHistoryTrigger}
1612
+ <ChatHistoryTrigger
1613
+ bind:this={historyTriggerRef}
1614
+ loading={isLoadingHistory}
1615
+ label={loadEarlierLabel}
1616
+ loadingLabel={loadingEarlierLabel}
1617
+ onload={() => void handleLoadHistory()}
1618
+ />
1619
+ {/if}
1620
+
1621
+ {#if messages.length === 0}
1622
+ {#if empty}
1623
+ {@render empty()}
1624
+ {:else}
1625
+ <div class="chat-empty" role="status">
1626
+ <p>No messages yet</p>
1627
+ {#if emptyPrompts && emptyPrompts.length > 0}
1628
+ <div class="chat-empty-prompts" role="group" aria-label="Suggested prompts">
1629
+ {#each emptyPrompts as prompt, index (index)}
1630
+ <button
1631
+ type="button"
1632
+ class="chat-empty-prompt"
1633
+ onclick={() => handlePromptClick(prompt)}
1634
+ >
1635
+ {prompt}
1636
+ </button>
1637
+ {/each}
1638
+ </div>
1639
+ {/if}
1640
+ </div>
659
1641
  {/if}
660
- {/each}
661
-
662
- <!-- Typing indicator when streaming but no content yet, or status label -->
663
- {#if isStreaming && !streamingMessageId}
664
- <div
665
- class="chat-typing-indicator"
666
- role="status"
667
- aria-label={streamingStatus ?? 'Assistant is typing'}
668
- >
669
- {#if streamingStatus}
670
- <span class="chat-typing-status">{streamingStatus}</span>
671
- {:else}
672
- <span class="chat-typing-dot" aria-hidden="true"></span>
673
- <span class="chat-typing-dot" aria-hidden="true"></span>
674
- <span class="chat-typing-dot" aria-hidden="true"></span>
675
- {/if}
1642
+ {:else if isVirtualized}
1643
+ <div class="chat-virtual-spacer" style={virtualizedSpacerStyle()}>
1644
+ {#each virtualRows as virtualRow (chatRenderRowKey(virtualRow.row))}
1645
+ <div
1646
+ class="chat-virtual-row"
1647
+ data-cinder-virtual-index={virtualRow.virtualItem.index}
1648
+ style={virtualizedRowStyle(virtualRow.virtualItem)}
1649
+ {@attach virtualRowAttachment(virtualRow.row)}
1650
+ >
1651
+ {@render renderChatRow(virtualRow.row)}
1652
+ </div>
1653
+ {/each}
676
1654
  </div>
1655
+ {:else}
1656
+ {#key staticRowsResetIdentity}
1657
+ {#each renderRows as renderRow (chatRenderRowKey(renderRow))}
1658
+ {@render renderChatRow(renderRow)}
1659
+ {/each}
1660
+ {/key}
677
1661
  {/if}
678
1662
 
1663
+ <!-- Per-participant typing indicator: above the bottom sentinel.
1664
+ Always in DOM regardless of message count — the aria-live region must
1665
+ exist before the first update fires so screen readers receive the
1666
+ announcement even in an empty chat. The outer wrapper is always rendered;
1667
+ the inner indicator mounts/unmounts via {#if isActive} inside the
1668
+ component to replay the entrance animation on each typing start.
1669
+ Virtualized path: sits outside the virtual spacer so it does not affect
1670
+ row measurement. The sentinel remains the last element so
1671
+ IntersectionObserver fires correctly when the typing region gains height. -->
1672
+ <ChatParticipantTyping
1673
+ typingLabel={typingIndicatorState.typingLabel}
1674
+ participantCount={typingIndicatorState.participantCount}
1675
+ />
1676
+
679
1677
  <!-- Bottom sentinel for IntersectionObserver -->
680
1678
  <div class="chat-bottom-sentinel" aria-hidden="true" {@attach sentinelAttach}></div>
681
- {/if}
682
- </div>
1679
+ </div>
1680
+ {/key}
683
1681
 
684
1682
  <!-- Input Area with Jump Buttons -->
685
1683
  <div class="chat-input-wrapper">
@@ -712,8 +1710,16 @@
712
1710
  <ChatStatusAnnouncer
713
1711
  {statusId}
714
1712
  messageCount={messages.length}
715
- announcerMessage={unreadState.announcerMessage}
1713
+ announcerMessage={historyAnnouncement || unreadState.announcerMessage}
1714
+ assertiveMessage={toolApprovalAssertiveMessage}
716
1715
  />
1716
+
1717
+ <!-- Typing-participant live region: outside role="log" to avoid double announcement.
1718
+ (ChatStatusAnnouncer is similarly placed outside the log for the same reason.)
1719
+ Text is empty when nobody is typing, debounced for brief-burst suppression. -->
1720
+ <div class="cinder-sr-only" aria-live="polite" aria-atomic="true">
1721
+ {typingIndicatorState.announcedLabel}
1722
+ </div>
717
1723
  </div>
718
1724
 
719
1725
  <style>
@@ -730,6 +1736,31 @@
730
1736
  background: transparent;
731
1737
  }
732
1738
 
1739
+ /* ==========================================================================
1740
+ * Density tokens — intermediate contract between container and its children.
1741
+ * ONLY the container reads `data-cinder-density`; children consume the
1742
+ * custom properties below. The defaults match the historical hard-coded
1743
+ * --cinder-space values (comfortable = no visual change from before).
1744
+ * ========================================================================== */
1745
+
1746
+ .chat-container {
1747
+ --cinder-chat-message-gap: var(--cinder-space-3);
1748
+ --cinder-chat-message-padding-inline: var(--cinder-space-4);
1749
+ --cinder-chat-timeline-padding: var(--cinder-space-4);
1750
+ /* Narrow-viewport tokens: tighter padding/gap at ≤480px (comfortable density). */
1751
+ --cinder-chat-narrow-padding: var(--cinder-space-3);
1752
+ --cinder-chat-narrow-gap: var(--cinder-space-2);
1753
+ }
1754
+
1755
+ .chat-container[data-cinder-density='compact'] {
1756
+ --cinder-chat-message-gap: var(--cinder-space-1-5);
1757
+ --cinder-chat-message-padding-inline: var(--cinder-space-2);
1758
+ --cinder-chat-timeline-padding: var(--cinder-space-2);
1759
+ /* Narrow-viewport tokens: proportionally tighter for compact density. */
1760
+ --cinder-chat-narrow-padding: var(--cinder-space-1-5);
1761
+ --cinder-chat-narrow-gap: var(--cinder-space-1);
1762
+ }
1763
+
733
1764
  /* Full-window drop zone overlay */
734
1765
  .chat-drop-overlay {
735
1766
  position: absolute;
@@ -763,10 +1794,29 @@
763
1794
  flex: 1;
764
1795
  overflow-y: auto;
765
1796
  overflow-anchor: auto;
766
- padding: var(--cinder-space-4);
1797
+ padding: var(--cinder-chat-timeline-padding);
767
1798
  display: flex;
768
1799
  flex-direction: column;
769
- gap: var(--cinder-space-3);
1800
+ gap: var(--cinder-chat-message-gap);
1801
+ }
1802
+
1803
+ .chat-timeline[data-cinder-virtualized] {
1804
+ display: block;
1805
+ overflow-anchor: none;
1806
+ }
1807
+
1808
+ .chat-timeline[data-cinder-virtualized] > :global(.chat-history-trigger) {
1809
+ margin-block-end: var(--cinder-chat-message-gap);
1810
+ }
1811
+
1812
+ .chat-virtual-spacer {
1813
+ flex-shrink: 0;
1814
+ }
1815
+
1816
+ .chat-virtual-row {
1817
+ box-sizing: border-box;
1818
+ width: 100%;
1819
+ padding-block-end: var(--cinder-chat-message-gap);
770
1820
  }
771
1821
 
772
1822
  /* Inset surface separates assistant bubbles (--cinder-surface) from the
@@ -972,7 +2022,7 @@
972
2022
  /* Input Area */
973
2023
  .chat-input-area {
974
2024
  flex-shrink: 0;
975
- padding: var(--cinder-space-4);
2025
+ padding: var(--cinder-chat-timeline-padding);
976
2026
  border-top: 1px solid var(--cinder-border);
977
2027
  background: var(--cinder-surface);
978
2028
  }
@@ -981,15 +2031,65 @@
981
2031
  background: transparent;
982
2032
  }
983
2033
 
984
- /* Responsive adjustments */
2034
+ /* Responsive adjustments: tighten padding at narrow widths.
2035
+ Uses --cinder-chat-narrow-* tokens so each density gets an appropriate
2036
+ reduced value (comfortable → space-3/space-2; compact → space-1-5/space-1). */
985
2037
  @container (max-width: 480px) {
986
2038
  .chat-timeline {
987
- padding: var(--cinder-space-3);
988
- gap: var(--cinder-space-2);
2039
+ padding: var(--cinder-chat-narrow-padding);
2040
+ gap: var(--cinder-chat-narrow-gap);
989
2041
  }
990
2042
 
991
2043
  .chat-input-area {
992
- padding: var(--cinder-space-3);
2044
+ padding: var(--cinder-chat-narrow-padding);
993
2045
  }
994
2046
  }
2047
+
2048
+ /* ==========================================================================
2049
+ * Variant — flat: remove bubble backgrounds; role is communicated via
2050
+ * alignment and role label only. Text renders on --cinder-surface-inset
2051
+ * (the timeline background in default surfaceMode), which meets WCAG AA
2052
+ * for --cinder-text. The `:global()` reach is required because bubble CSS
2053
+ * lives in chat-message.svelte (a child component).
2054
+ * ========================================================================== */
2055
+
2056
+ /* Strip user bubble background + distinctive border radius */
2057
+ .chat-container[data-cinder-variant='flat']
2058
+ :global(.chat-message-wrapper[data-role='user'] .chat-message) {
2059
+ background: transparent;
2060
+ border-radius: var(--cinder-radius-lg);
2061
+ }
2062
+
2063
+ /* Strip assistant bubble background + border + shadow */
2064
+ .chat-container[data-cinder-variant='flat']
2065
+ :global(.chat-message-wrapper[data-role='assistant'] .chat-message) {
2066
+ background: transparent;
2067
+ border: none;
2068
+ box-shadow: none;
2069
+ border-radius: var(--cinder-radius-lg);
2070
+ }
2071
+
2072
+ /* In flat mode, the user header must flow in-document (not absolutely
2073
+ positioned) so the role label appears above the message content.
2074
+ The label itself is un-clipped below so it reads as visible text. */
2075
+ .chat-container[data-cinder-variant='flat']
2076
+ :global(.chat-message-wrapper[data-role='user'] .chat-message-header) {
2077
+ position: static;
2078
+ inset: unset;
2079
+ }
2080
+
2081
+ /* Un-hide the role label for user messages: in bubble mode alignment
2082
+ communicates role; in flat mode there is no colored background, so the
2083
+ label is the primary visible role signal. */
2084
+ .chat-container[data-cinder-variant='flat']
2085
+ :global(.chat-message-wrapper[data-role='user'] .chat-message-role) {
2086
+ position: static;
2087
+ width: auto;
2088
+ height: auto;
2089
+ padding: 0;
2090
+ margin: 0;
2091
+ overflow: visible;
2092
+ clip: auto;
2093
+ white-space: normal;
2094
+ }
995
2095
  </style>