@lostgradient/cinder 0.4.1 → 0.5.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 (2663) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/components.json +839 -2
  3. package/dist/components/access-gate/access-gate.css.d.ts +1 -0
  4. package/dist/components/access-gate/access-gate.schema.js +31 -1
  5. package/dist/components/access-gate/access-gate.variables.js +31 -1
  6. package/dist/components/access-gate/index.js +31 -1
  7. package/dist/components/accordion/accordion.css.d.ts +1 -0
  8. package/dist/components/accordion/accordion.schema.js +31 -1
  9. package/dist/components/accordion/accordion.variables.js +31 -1
  10. package/dist/components/accordion/index.js +31 -1
  11. package/dist/components/accordion-item/accordion-item.css.d.ts +1 -0
  12. package/dist/components/accordion-item/accordion-item.schema.js +31 -1
  13. package/dist/components/accordion-item/accordion-item.variables.js +31 -1
  14. package/dist/components/accordion-item/index.js +31 -1
  15. package/dist/components/alert/alert.css +12 -16
  16. package/dist/components/alert/alert.css.d.ts +1 -0
  17. package/dist/components/alert/alert.schema.js +33 -3
  18. package/dist/components/alert/alert.types.d.ts +4 -1
  19. package/dist/components/alert/alert.variables.js +31 -1
  20. package/dist/components/alert/index.js +33 -3
  21. package/dist/components/alert-dialog/alert-dialog.css.d.ts +1 -0
  22. package/dist/components/alert-dialog/alert-dialog.schema.js +31 -1
  23. package/dist/components/alert-dialog/alert-dialog.variables.js +31 -1
  24. package/dist/components/alert-dialog/index.js +31 -1
  25. package/dist/components/approval-card/approval-card.css.d.ts +1 -0
  26. package/dist/components/approval-card/approval-card.schema.js +31 -1
  27. package/dist/components/approval-card/approval-card.variables.js +31 -1
  28. package/dist/components/approval-card/index.js +95 -45
  29. package/dist/components/area-chart/area-chart.css.d.ts +1 -0
  30. package/dist/components/area-chart/area-chart.schema.js +31 -1
  31. package/dist/components/area-chart/area-chart.variables.js +31 -1
  32. package/dist/components/area-chart/index.js +55 -24
  33. package/dist/components/aspect-ratio/aspect-ratio.css.d.ts +1 -0
  34. package/dist/components/aspect-ratio/aspect-ratio.schema.js +31 -1
  35. package/dist/components/aspect-ratio/aspect-ratio.variables.js +31 -1
  36. package/dist/components/aspect-ratio/index.js +31 -1
  37. package/dist/components/autocomplete/autocomplete.css.d.ts +1 -0
  38. package/dist/components/autocomplete/autocomplete.schema.js +31 -1
  39. package/dist/components/autocomplete/autocomplete.variables.js +31 -1
  40. package/dist/components/autocomplete/index.js +31 -1
  41. package/dist/components/avatar/avatar.css.d.ts +1 -0
  42. package/dist/components/avatar/avatar.schema.js +31 -1
  43. package/dist/components/avatar/avatar.variables.js +31 -1
  44. package/dist/components/avatar/index.js +31 -1
  45. package/dist/components/avatar-group/avatar-group.css.d.ts +1 -0
  46. package/dist/components/avatar-group/avatar-group.schema.js +31 -1
  47. package/dist/components/avatar-group/avatar-group.variables.js +31 -1
  48. package/dist/components/avatar-group/index.js +31 -1
  49. package/dist/components/backdrop/backdrop.css.d.ts +1 -0
  50. package/dist/components/backdrop/backdrop.schema.js +31 -1
  51. package/dist/components/backdrop/backdrop.variables.js +31 -1
  52. package/dist/components/backdrop/index.js +31 -1
  53. package/dist/components/badge/badge.css.d.ts +1 -0
  54. package/dist/components/badge/badge.schema.js +31 -1
  55. package/dist/components/badge/badge.variables.js +31 -1
  56. package/dist/components/badge/index.js +31 -1
  57. package/dist/components/banner/banner.css.d.ts +1 -0
  58. package/dist/components/banner/banner.schema.js +31 -1
  59. package/dist/components/banner/banner.variables.js +31 -1
  60. package/dist/components/banner/index.js +31 -1
  61. package/dist/components/bar-chart/bar-chart.css.d.ts +1 -0
  62. package/dist/components/bar-chart/bar-chart.schema.js +31 -1
  63. package/dist/components/bar-chart/bar-chart.variables.js +31 -1
  64. package/dist/components/bar-chart/index.js +55 -24
  65. package/dist/components/bento-cell/bento-cell.css +17 -0
  66. package/dist/components/bento-cell/bento-cell.css.d.ts +1 -0
  67. package/dist/components/bento-cell/bento-cell.schema.d.ts +3 -0
  68. package/dist/components/bento-cell/bento-cell.schema.js +165 -0
  69. package/dist/components/bento-cell/bento-cell.svelte.d.ts +17 -0
  70. package/dist/components/bento-cell/bento-cell.types.d.ts +23 -0
  71. package/dist/components/bento-cell/bento-cell.variables.d.ts +2 -0
  72. package/dist/components/bento-cell/bento-cell.variables.js +61 -0
  73. package/dist/components/bento-cell/index.d.ts +5 -0
  74. package/dist/components/bento-cell/index.js +124 -0
  75. package/dist/components/bento-grid/bento-grid.css +22 -0
  76. package/dist/components/bento-grid/bento-grid.css.d.ts +1 -0
  77. package/dist/components/bento-grid/bento-grid.schema.d.ts +3 -0
  78. package/dist/components/bento-grid/bento-grid.schema.js +115 -0
  79. package/dist/components/bento-grid/bento-grid.svelte.d.ts +19 -0
  80. package/dist/components/bento-grid/bento-grid.types.d.ts +31 -0
  81. package/dist/components/bento-grid/bento-grid.variables.d.ts +2 -0
  82. package/dist/components/bento-grid/bento-grid.variables.js +61 -0
  83. package/dist/components/bento-grid/index.d.ts +8 -0
  84. package/dist/components/bento-grid/index.js +248 -0
  85. package/dist/components/blog-section/blog-section.css +98 -0
  86. package/dist/components/blog-section/blog-section.css.d.ts +1 -0
  87. package/dist/components/blog-section/blog-section.schema.d.ts +3 -0
  88. package/dist/components/blog-section/blog-section.schema.js +142 -0
  89. package/dist/components/blog-section/blog-section.svelte.d.ts +19 -0
  90. package/dist/components/blog-section/blog-section.types.d.ts +56 -0
  91. package/dist/components/blog-section/blog-section.variables.d.ts +2 -0
  92. package/dist/components/blog-section/blog-section.variables.js +61 -0
  93. package/dist/components/blog-section/index.d.ts +5 -0
  94. package/dist/components/blog-section/index.js +404 -0
  95. package/dist/components/breadcrumbs/breadcrumbs.css.d.ts +1 -0
  96. package/dist/components/breadcrumbs/breadcrumbs.schema.js +31 -1
  97. package/dist/components/breadcrumbs/breadcrumbs.variables.js +31 -1
  98. package/dist/components/breadcrumbs/index.js +31 -1
  99. package/dist/components/button/button.css.d.ts +1 -0
  100. package/dist/components/button/button.schema.js +31 -1
  101. package/dist/components/button/button.variables.js +31 -1
  102. package/dist/components/button/index.js +31 -1
  103. package/dist/components/button-group/button-group.css.d.ts +1 -0
  104. package/dist/components/button-group/button-group.schema.js +31 -1
  105. package/dist/components/button-group/button-group.variables.js +31 -1
  106. package/dist/components/button-group/index.js +31 -1
  107. package/dist/components/calendar/calendar.css +105 -0
  108. package/dist/components/calendar/calendar.css.d.ts +1 -0
  109. package/dist/components/calendar/calendar.schema.d.ts +3 -0
  110. package/dist/components/calendar/calendar.schema.js +121 -0
  111. package/dist/components/calendar/calendar.svelte.d.ts +18 -0
  112. package/dist/components/calendar/calendar.types.d.ts +27 -0
  113. package/dist/components/calendar/calendar.variables.d.ts +2 -0
  114. package/dist/components/calendar/calendar.variables.js +61 -0
  115. package/dist/components/calendar/index.d.ts +5 -0
  116. package/dist/components/calendar/index.js +394 -0
  117. package/dist/components/callout/callout.css.d.ts +1 -0
  118. package/dist/components/callout/callout.schema.js +31 -1
  119. package/dist/components/callout/callout.variables.js +31 -1
  120. package/dist/components/callout/index.js +31 -1
  121. package/dist/components/capability-gate/capability-gate.css.d.ts +1 -0
  122. package/dist/components/capability-gate/capability-gate.schema.js +31 -1
  123. package/dist/components/capability-gate/capability-gate.variables.js +31 -1
  124. package/dist/components/capability-gate/index.js +31 -1
  125. package/dist/components/card/card.css.d.ts +1 -0
  126. package/dist/components/card/card.schema.js +31 -1
  127. package/dist/components/card/card.variables.js +31 -1
  128. package/dist/components/card/index.js +31 -1
  129. package/dist/components/carousel/carousel.css +129 -0
  130. package/dist/components/carousel/carousel.css.d.ts +1 -0
  131. package/dist/components/carousel/carousel.schema.d.ts +3 -0
  132. package/dist/components/carousel/carousel.schema.js +106 -0
  133. package/dist/components/carousel/carousel.svelte.d.ts +22 -0
  134. package/dist/components/carousel/carousel.types.d.ts +43 -0
  135. package/dist/components/carousel/carousel.variables.d.ts +2 -0
  136. package/dist/components/carousel/carousel.variables.js +61 -0
  137. package/dist/components/carousel/index.d.ts +5 -0
  138. package/dist/components/carousel/index.js +456 -0
  139. package/dist/components/chat/adapter/chat-adapter.d.ts +1 -1
  140. package/dist/components/chat/builders.d.ts +11 -18
  141. package/dist/components/chat/chat.css +16 -0
  142. package/dist/components/chat/chat.css.d.ts +1 -0
  143. package/dist/components/chat/chat.schema.js +31 -1
  144. package/dist/components/chat/chat.variables.js +31 -1
  145. package/dist/components/chat/container/use-chat-disclosure-state.svelte.d.ts +58 -0
  146. package/dist/components/chat/conversation-model.d.ts +9 -137
  147. package/dist/components/chat/index.d.ts +2 -1
  148. package/dist/components/chat/index.js +20258 -1604
  149. package/dist/components/chat/message/chat-message.svelte.d.ts +13 -1
  150. package/dist/components/chat/message/parts/reasoning-part.svelte.d.ts +1 -1
  151. package/dist/components/chat/utilities/conversation.d.ts +8 -35
  152. package/dist/components/chat/utilities/index.d.ts +1 -1
  153. package/dist/components/chat/utilities/types.d.ts +5 -3
  154. package/dist/components/chat/utilities/utilities.d.ts +4 -3
  155. package/dist/components/chat-conversation-header/chat-conversation-header.css.d.ts +1 -0
  156. package/dist/components/chat-conversation-header/chat-conversation-header.schema.js +31 -1
  157. package/dist/components/chat-conversation-header/chat-conversation-header.variables.js +31 -1
  158. package/dist/components/chat-conversation-header/index.js +18902 -264
  159. package/dist/components/chat-conversation-list/chat-conversation-list.css.d.ts +1 -0
  160. package/dist/components/chat-conversation-list/chat-conversation-list.schema.js +31 -1
  161. package/dist/components/chat-conversation-list/chat-conversation-list.variables.js +31 -1
  162. package/dist/components/chat-conversation-list/index.js +18670 -38
  163. package/dist/components/checkbox/checkbox.css.d.ts +1 -0
  164. package/dist/components/checkbox/checkbox.schema.js +31 -1
  165. package/dist/components/checkbox/checkbox.variables.js +31 -1
  166. package/dist/components/checkbox/index.js +31 -1
  167. package/dist/components/checkbox-group/checkbox-group.css.d.ts +1 -0
  168. package/dist/components/checkbox-group/checkbox-group.schema.js +31 -1
  169. package/dist/components/checkbox-group/checkbox-group.variables.js +31 -1
  170. package/dist/components/checkbox-group/index.js +31 -1
  171. package/dist/components/chip/chip.css.d.ts +1 -0
  172. package/dist/components/chip/chip.schema.js +31 -1
  173. package/dist/components/chip/chip.variables.js +31 -1
  174. package/dist/components/chip/index.js +31 -1
  175. package/dist/components/choice-grid/choice-grid.css.d.ts +1 -0
  176. package/dist/components/choice-grid/choice-grid.schema.js +31 -1
  177. package/dist/components/choice-grid/choice-grid.variables.js +31 -1
  178. package/dist/components/choice-grid/index.js +31 -1
  179. package/dist/components/choice-grid-item/choice-grid-item.css.d.ts +1 -0
  180. package/dist/components/choice-grid-item/choice-grid-item.schema.js +31 -1
  181. package/dist/components/choice-grid-item/choice-grid-item.variables.js +31 -1
  182. package/dist/components/choice-grid-item/index.js +31 -1
  183. package/dist/components/click-away-listener/click-away-listener.schema.js +31 -1
  184. package/dist/components/click-away-listener/click-away-listener.variables.js +31 -1
  185. package/dist/components/click-away-listener/index.js +31 -1
  186. package/dist/components/code-block/code-block.css.d.ts +1 -0
  187. package/dist/components/code-block/code-block.schema.js +31 -1
  188. package/dist/components/code-block/code-block.variables.js +31 -1
  189. package/dist/components/code-block/index.js +42 -10
  190. package/dist/components/collapsible/collapsible-open-prop-harness.svelte.d.ts +3 -0
  191. package/dist/components/collapsible/collapsible.css.d.ts +1 -0
  192. package/dist/components/collapsible/collapsible.schema.js +37 -4
  193. package/dist/components/collapsible/collapsible.types.d.ts +21 -6
  194. package/dist/components/collapsible/collapsible.variables.js +31 -1
  195. package/dist/components/collapsible/index.js +52 -8
  196. package/dist/components/color-field/color-field.css.d.ts +1 -0
  197. package/dist/components/color-field/color-field.schema.js +31 -1
  198. package/dist/components/color-field/color-field.variables.js +31 -1
  199. package/dist/components/color-field/index.js +39 -5
  200. package/dist/components/color-picker/color-picker.css.d.ts +1 -0
  201. package/dist/components/color-picker/color-picker.schema.js +31 -1
  202. package/dist/components/color-picker/color-picker.variables.js +31 -1
  203. package/dist/components/color-picker/index.js +31 -1
  204. package/dist/components/color-swatch-picker/color-swatch-picker.css.d.ts +1 -0
  205. package/dist/components/color-swatch-picker/color-swatch-picker.schema.js +31 -1
  206. package/dist/components/color-swatch-picker/color-swatch-picker.variables.js +31 -1
  207. package/dist/components/color-swatch-picker/index.js +31 -1
  208. package/dist/components/combobox/combobox.css.d.ts +1 -0
  209. package/dist/components/combobox/combobox.schema.js +31 -1
  210. package/dist/components/combobox/combobox.variables.js +31 -1
  211. package/dist/components/combobox/index.js +31 -1
  212. package/dist/components/command-item/command-item.css.d.ts +1 -0
  213. package/dist/components/command-item/command-item.schema.js +31 -1
  214. package/dist/components/command-item/command-item.variables.js +31 -1
  215. package/dist/components/command-item/index.js +31 -1
  216. package/dist/components/command-menu/command-menu.css.d.ts +1 -0
  217. package/dist/components/command-menu/command-menu.schema.js +31 -1
  218. package/dist/components/command-menu/command-menu.variables.js +31 -1
  219. package/dist/components/command-menu/index.js +31 -1
  220. package/dist/components/command-palette/command-palette.css.d.ts +1 -0
  221. package/dist/components/command-palette/command-palette.schema.js +31 -1
  222. package/dist/components/command-palette/command-palette.variables.js +31 -1
  223. package/dist/components/command-palette/index.js +31 -1
  224. package/dist/components/confirm-dialog/confirm-dialog.css.d.ts +1 -0
  225. package/dist/components/confirm-dialog/confirm-dialog.schema.js +31 -1
  226. package/dist/components/confirm-dialog/confirm-dialog.variables.js +31 -1
  227. package/dist/components/confirm-dialog/index.js +31 -1
  228. package/dist/components/container/container.css.d.ts +1 -0
  229. package/dist/components/container/container.schema.js +31 -1
  230. package/dist/components/container/container.variables.js +31 -1
  231. package/dist/components/container/index.js +31 -1
  232. package/dist/components/context-menu/context-menu.css.d.ts +1 -0
  233. package/dist/components/context-menu/context-menu.schema.js +31 -1
  234. package/dist/components/context-menu/context-menu.variables.js +31 -1
  235. package/dist/components/context-menu/index.js +48 -15
  236. package/dist/components/context-menu-trigger/context-menu-trigger.schema.js +31 -1
  237. package/dist/components/context-menu-trigger/context-menu-trigger.variables.js +31 -1
  238. package/dist/components/context-menu-trigger/index.js +31 -1
  239. package/dist/components/copy-button/copy-button.css.d.ts +1 -0
  240. package/dist/components/copy-button/copy-button.schema.js +31 -1
  241. package/dist/components/copy-button/copy-button.variables.js +31 -1
  242. package/dist/components/copy-button/index.js +31 -1
  243. package/dist/components/cta-section/cta-section.css +54 -0
  244. package/dist/components/cta-section/cta-section.css.d.ts +1 -0
  245. package/dist/components/cta-section/cta-section.schema.d.ts +3 -0
  246. package/dist/components/cta-section/cta-section.schema.js +127 -0
  247. package/dist/components/cta-section/cta-section.svelte.d.ts +19 -0
  248. package/dist/components/cta-section/cta-section.types.d.ts +52 -0
  249. package/dist/components/cta-section/cta-section.variables.d.ts +2 -0
  250. package/dist/components/cta-section/cta-section.variables.js +61 -0
  251. package/dist/components/cta-section/index.d.ts +5 -0
  252. package/dist/components/cta-section/index.js +451 -0
  253. package/dist/components/data-grid/data-grid.css.d.ts +1 -0
  254. package/dist/components/data-grid/data-grid.schema.js +31 -1
  255. package/dist/components/data-grid/data-grid.variables.js +31 -1
  256. package/dist/components/data-grid/index.js +31 -1
  257. package/dist/components/data-list/data-list.css.d.ts +1 -0
  258. package/dist/components/data-list/data-list.schema.js +31 -1
  259. package/dist/components/data-list/data-list.variables.js +31 -1
  260. package/dist/components/data-list/index.js +31 -1
  261. package/dist/components/data-table/data-table.css.d.ts +1 -0
  262. package/dist/components/data-table/data-table.schema.js +31 -1
  263. package/dist/components/data-table/data-table.variables.js +31 -1
  264. package/dist/components/data-table/index.js +31 -1
  265. package/dist/components/date-picker/date-picker.css +106 -0
  266. package/dist/components/date-picker/date-picker.css.d.ts +1 -0
  267. package/dist/components/date-picker/date-picker.schema.d.ts +3 -0
  268. package/dist/components/date-picker/date-picker.schema.js +121 -0
  269. package/dist/components/date-picker/date-picker.svelte.d.ts +18 -0
  270. package/dist/components/date-picker/date-picker.types.d.ts +28 -0
  271. package/dist/components/date-picker/date-picker.variables.d.ts +2 -0
  272. package/dist/components/date-picker/date-picker.variables.js +61 -0
  273. package/dist/components/date-picker/index.d.ts +5 -0
  274. package/dist/components/date-picker/index.js +3273 -0
  275. package/dist/components/date-range-field/date-range-field.css +1 -0
  276. package/dist/components/date-range-field/date-range-field.css.d.ts +1 -0
  277. package/dist/components/date-range-field/date-range-field.schema.js +31 -1
  278. package/dist/components/date-range-field/date-range-field.variables.js +31 -1
  279. package/dist/components/date-range-field/index.js +3423 -167
  280. package/dist/components/description-list/description-list.css.d.ts +1 -0
  281. package/dist/components/description-list/description-list.schema.js +31 -1
  282. package/dist/components/description-list/description-list.types.d.ts +4 -2
  283. package/dist/components/description-list/description-list.variables.js +31 -1
  284. package/dist/components/description-list/index.d.ts +1 -1
  285. package/dist/components/description-list/index.js +62 -14
  286. package/dist/components/diff-statistics/diff-statistics.css.d.ts +1 -0
  287. package/dist/components/diff-statistics/diff-statistics.schema.js +31 -1
  288. package/dist/components/diff-statistics/diff-statistics.variables.js +31 -1
  289. package/dist/components/diff-statistics/index.js +31 -1
  290. package/dist/components/diff-viewer/diff-viewer.schema.js +31 -1
  291. package/dist/components/diff-viewer/diff-viewer.variables.js +31 -1
  292. package/dist/components/diff-viewer/index.js +31 -1
  293. package/dist/components/divider/divider.css.d.ts +1 -0
  294. package/dist/components/divider/divider.schema.js +31 -1
  295. package/dist/components/divider/divider.variables.js +31 -1
  296. package/dist/components/divider/index.js +31 -1
  297. package/dist/components/drawer/drawer.css.d.ts +1 -0
  298. package/dist/components/drawer/drawer.schema.js +31 -1
  299. package/dist/components/drawer/drawer.variables.js +31 -1
  300. package/dist/components/drawer/index.js +31 -1
  301. package/dist/components/dropdown/dropdown.css +59 -6
  302. package/dist/components/dropdown/dropdown.css.d.ts +1 -0
  303. package/dist/components/dropdown/dropdown.schema.js +33 -3
  304. package/dist/components/dropdown/dropdown.types.d.ts +10 -3
  305. package/dist/components/dropdown/dropdown.variables.js +31 -1
  306. package/dist/components/dropdown/index.js +49 -16
  307. package/dist/components/dropdown-group/dropdown-group.schema.js +31 -1
  308. package/dist/components/dropdown-group/dropdown-group.variables.js +31 -1
  309. package/dist/components/dropdown-group/index.js +31 -1
  310. package/dist/components/dropdown-item/dropdown-item.schema.js +31 -1
  311. package/dist/components/dropdown-item/dropdown-item.variables.js +31 -1
  312. package/dist/components/dropdown-item/index.js +31 -1
  313. package/dist/components/dropdown-label/dropdown-label.schema.js +31 -1
  314. package/dist/components/dropdown-label/dropdown-label.variables.js +31 -1
  315. package/dist/components/dropdown-label/index.js +31 -1
  316. package/dist/components/dropdown-menu/dropdown-menu.schema.js +31 -1
  317. package/dist/components/dropdown-menu/dropdown-menu.variables.js +31 -1
  318. package/dist/components/dropdown-menu/index.js +48 -15
  319. package/dist/components/dropdown-separator/dropdown-separator.schema.js +31 -1
  320. package/dist/components/dropdown-separator/dropdown-separator.variables.js +31 -1
  321. package/dist/components/dropdown-separator/index.js +31 -1
  322. package/dist/components/dropdown-trigger/dropdown-trigger.schema.js +31 -1
  323. package/dist/components/dropdown-trigger/dropdown-trigger.variables.js +31 -1
  324. package/dist/components/dropdown-trigger/index.js +31 -1
  325. package/dist/components/empty-state/empty-state.css.d.ts +1 -0
  326. package/dist/components/empty-state/empty-state.schema.js +31 -1
  327. package/dist/components/empty-state/empty-state.variables.js +31 -1
  328. package/dist/components/empty-state/index.js +31 -1
  329. package/dist/components/event-stream-viewer/event-stream-viewer.css.d.ts +1 -0
  330. package/dist/components/event-stream-viewer/event-stream-viewer.schema.js +31 -1
  331. package/dist/components/event-stream-viewer/event-stream-viewer.variables.js +31 -1
  332. package/dist/components/event-stream-viewer/index.js +31 -1
  333. package/dist/components/event-timeline/event-timeline.css +126 -0
  334. package/dist/components/event-timeline/event-timeline.css.d.ts +1 -0
  335. package/dist/components/event-timeline/event-timeline.schema.d.ts +3 -0
  336. package/dist/components/event-timeline/event-timeline.schema.js +155 -0
  337. package/dist/components/event-timeline/event-timeline.svelte.d.ts +18 -0
  338. package/dist/components/event-timeline/event-timeline.types.d.ts +75 -0
  339. package/dist/components/event-timeline/event-timeline.variables.d.ts +2 -0
  340. package/dist/components/event-timeline/event-timeline.variables.js +61 -0
  341. package/dist/components/event-timeline/index.d.ts +5 -0
  342. package/dist/components/event-timeline/index.js +277 -0
  343. package/dist/components/experimental/json-viewer/index.js +31 -1
  344. package/dist/components/experimental/message/index.js +31 -1
  345. package/dist/components/faceted-filter-bar/faceted-filter-bar.css.d.ts +1 -0
  346. package/dist/components/faceted-filter-bar/faceted-filter-bar.schema.js +31 -1
  347. package/dist/components/faceted-filter-bar/faceted-filter-bar.variables.js +31 -1
  348. package/dist/components/faceted-filter-bar/index.js +31 -1
  349. package/dist/components/feature-section/feature-section.css +114 -0
  350. package/dist/components/feature-section/feature-section.css.d.ts +1 -0
  351. package/dist/components/feature-section/feature-section.schema.d.ts +3 -0
  352. package/dist/components/feature-section/feature-section.schema.js +142 -0
  353. package/dist/components/feature-section/feature-section.svelte.d.ts +19 -0
  354. package/dist/components/feature-section/feature-section.types.d.ts +59 -0
  355. package/dist/components/feature-section/feature-section.variables.d.ts +2 -0
  356. package/dist/components/feature-section/feature-section.variables.js +61 -0
  357. package/dist/components/feature-section/index.d.ts +5 -0
  358. package/dist/components/feature-section/index.js +246 -0
  359. package/dist/components/feed/feed.css.d.ts +1 -0
  360. package/dist/components/feed/feed.schema.js +31 -1
  361. package/dist/components/feed/feed.variables.js +31 -1
  362. package/dist/components/feed/index.js +31 -1
  363. package/dist/components/feed-event/feed-event.schema.js +31 -1
  364. package/dist/components/feed-event/feed-event.variables.js +31 -1
  365. package/dist/components/feed-event/index.js +31 -1
  366. package/dist/components/file-upload/file-upload.css.d.ts +1 -0
  367. package/dist/components/file-upload/file-upload.schema.js +31 -1
  368. package/dist/components/file-upload/file-upload.variables.js +31 -1
  369. package/dist/components/file-upload/index.js +31 -1
  370. package/dist/components/floating-action-button/floating-action-button.css.d.ts +1 -0
  371. package/dist/components/floating-action-button/floating-action-button.schema.js +31 -1
  372. package/dist/components/floating-action-button/floating-action-button.variables.js +31 -1
  373. package/dist/components/floating-action-button/index.js +31 -1
  374. package/dist/components/focus-trap/focus-trap.schema.js +31 -1
  375. package/dist/components/focus-trap/focus-trap.variables.js +31 -1
  376. package/dist/components/focus-trap/index.js +31 -1
  377. package/dist/components/footer/footer.css +112 -0
  378. package/dist/components/footer/footer.css.d.ts +1 -0
  379. package/dist/components/footer/footer.schema.d.ts +3 -0
  380. package/dist/components/footer/footer.schema.js +101 -0
  381. package/dist/components/footer/footer.svelte.d.ts +19 -0
  382. package/dist/components/footer/footer.types.d.ts +27 -0
  383. package/dist/components/footer/footer.variables.d.ts +2 -0
  384. package/dist/components/footer/footer.variables.js +61 -0
  385. package/dist/components/footer/index.d.ts +5 -0
  386. package/dist/components/footer/index.js +236 -0
  387. package/dist/components/form-field/form-field.css.d.ts +1 -0
  388. package/dist/components/form-field/form-field.schema.js +31 -1
  389. package/dist/components/form-field/form-field.variables.js +31 -1
  390. package/dist/components/form-field/index.js +31 -1
  391. package/dist/components/form-section/form-section.css.d.ts +1 -0
  392. package/dist/components/form-section/form-section.schema.js +31 -1
  393. package/dist/components/form-section/form-section.variables.js +31 -1
  394. package/dist/components/form-section/index.js +31 -1
  395. package/dist/components/grid/grid.css.d.ts +1 -0
  396. package/dist/components/grid/grid.schema.js +31 -1
  397. package/dist/components/grid/grid.variables.js +31 -1
  398. package/dist/components/grid/index.js +31 -1
  399. package/dist/components/grid-item/grid-item.schema.js +31 -1
  400. package/dist/components/grid-item/grid-item.variables.js +31 -1
  401. package/dist/components/grid-item/index.js +31 -1
  402. package/dist/components/grid-list/grid-list.css.d.ts +1 -0
  403. package/dist/components/grid-list/grid-list.schema.js +31 -1
  404. package/dist/components/grid-list/grid-list.variables.js +31 -1
  405. package/dist/components/grid-list/index.js +31 -1
  406. package/dist/components/grid-list-item/grid-list-item.schema.js +31 -1
  407. package/dist/components/grid-list-item/grid-list-item.variables.js +31 -1
  408. package/dist/components/grid-list-item/index.js +31 -1
  409. package/dist/components/hero-section/hero-section.css +83 -0
  410. package/dist/components/hero-section/hero-section.css.d.ts +1 -0
  411. package/dist/components/hero-section/hero-section.schema.d.ts +3 -0
  412. package/dist/components/hero-section/hero-section.schema.js +123 -0
  413. package/dist/components/hero-section/hero-section.svelte.d.ts +19 -0
  414. package/dist/components/hero-section/hero-section.types.d.ts +48 -0
  415. package/dist/components/hero-section/hero-section.variables.d.ts +2 -0
  416. package/dist/components/hero-section/hero-section.variables.js +61 -0
  417. package/dist/components/hero-section/index.d.ts +5 -0
  418. package/dist/components/hero-section/index.js +237 -0
  419. package/dist/components/hover-card/hover-card.css.d.ts +1 -0
  420. package/dist/components/hover-card/hover-card.schema.js +31 -1
  421. package/dist/components/hover-card/hover-card.variables.js +31 -1
  422. package/dist/components/hover-card/index.js +31 -1
  423. package/dist/components/image/image.css.d.ts +1 -0
  424. package/dist/components/image/image.schema.js +31 -1
  425. package/dist/components/image/image.variables.js +31 -1
  426. package/dist/components/image/index.js +31 -1
  427. package/dist/components/inline-loading/index.d.ts +5 -0
  428. package/dist/components/inline-loading/index.js +383 -0
  429. package/dist/components/inline-loading/inline-loading.css +50 -0
  430. package/dist/components/inline-loading/inline-loading.css.d.ts +1 -0
  431. package/dist/components/inline-loading/inline-loading.schema.d.ts +3 -0
  432. package/dist/components/inline-loading/inline-loading.schema.js +89 -0
  433. package/dist/components/inline-loading/inline-loading.svelte.d.ts +20 -0
  434. package/dist/components/inline-loading/inline-loading.types.d.ts +38 -0
  435. package/dist/components/inline-loading/inline-loading.variables.d.ts +2 -0
  436. package/dist/components/inline-loading/inline-loading.variables.js +61 -0
  437. package/dist/components/input/index.js +39 -5
  438. package/dist/components/input/input.css.d.ts +1 -0
  439. package/dist/components/input/input.schema.js +35 -1
  440. package/dist/components/input/input.types.d.ts +2 -0
  441. package/dist/components/input/input.variables.js +31 -1
  442. package/dist/components/invocation-rule-builder/index.js +31 -1
  443. package/dist/components/invocation-rule-builder/invocation-rule-builder.css.d.ts +1 -0
  444. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +31 -1
  445. package/dist/components/invocation-rule-builder/invocation-rule-builder.variables.js +31 -1
  446. package/dist/components/json-schema-editor/index.js +53 -21
  447. package/dist/components/json-schema-editor/json-schema-editor.css.d.ts +1 -0
  448. package/dist/components/json-schema-editor/json-schema-editor.schema.js +31 -1
  449. package/dist/components/json-schema-editor/json-schema-editor.variables.js +31 -1
  450. package/dist/components/json-viewer/index.js +31 -1
  451. package/dist/components/json-viewer/json-viewer.css.d.ts +1 -0
  452. package/dist/components/json-viewer/json-viewer.schema.js +31 -1
  453. package/dist/components/json-viewer/json-viewer.variables.js +31 -1
  454. package/dist/components/kanban-board/index.js +31 -1
  455. package/dist/components/kanban-board/kanban-board.css.d.ts +1 -0
  456. package/dist/components/kanban-board/kanban-board.schema.js +31 -1
  457. package/dist/components/kanban-board/kanban-board.variables.js +31 -1
  458. package/dist/components/kbd/index.js +31 -1
  459. package/dist/components/kbd/kbd.css.d.ts +1 -0
  460. package/dist/components/kbd/kbd.schema.js +31 -1
  461. package/dist/components/kbd/kbd.variables.js +31 -1
  462. package/dist/components/keyboard-shortcuts/index.js +31 -1
  463. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.css.d.ts +1 -0
  464. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +31 -1
  465. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +31 -1
  466. package/dist/components/label/index.js +31 -1
  467. package/dist/components/label/label.css.d.ts +1 -0
  468. package/dist/components/label/label.schema.js +31 -1
  469. package/dist/components/label/label.variables.js +31 -1
  470. package/dist/components/line-chart/index.js +55 -24
  471. package/dist/components/line-chart/line-chart.css.d.ts +1 -0
  472. package/dist/components/line-chart/line-chart.schema.js +31 -1
  473. package/dist/components/line-chart/line-chart.variables.js +31 -1
  474. package/dist/components/link/index.js +31 -1
  475. package/dist/components/link/link.css.d.ts +1 -0
  476. package/dist/components/link/link.schema.js +31 -1
  477. package/dist/components/link/link.variables.js +31 -1
  478. package/dist/components/load-more/index.js +31 -1
  479. package/dist/components/load-more/load-more.css.d.ts +1 -0
  480. package/dist/components/load-more/load-more.schema.js +31 -1
  481. package/dist/components/load-more/load-more.variables.js +31 -1
  482. package/dist/components/locale-provider/index.js +31 -1
  483. package/dist/components/locale-provider/locale-provider.schema.js +31 -1
  484. package/dist/components/locale-provider/locale-provider.variables.js +31 -1
  485. package/dist/components/logo-cloud/index.d.ts +5 -0
  486. package/dist/components/logo-cloud/index.js +225 -0
  487. package/dist/components/logo-cloud/logo-cloud.css +104 -0
  488. package/dist/components/logo-cloud/logo-cloud.css.d.ts +1 -0
  489. package/dist/components/logo-cloud/logo-cloud.schema.d.ts +3 -0
  490. package/dist/components/logo-cloud/logo-cloud.schema.js +123 -0
  491. package/dist/components/logo-cloud/logo-cloud.svelte.d.ts +19 -0
  492. package/dist/components/logo-cloud/logo-cloud.types.d.ts +48 -0
  493. package/dist/components/logo-cloud/logo-cloud.variables.d.ts +2 -0
  494. package/dist/components/logo-cloud/logo-cloud.variables.js +61 -0
  495. package/dist/components/markdown-editor/index.js +62 -23
  496. package/dist/components/markdown-editor/markdown-editor.schema.js +31 -1
  497. package/dist/components/markdown-editor/markdown-editor.variables.js +31 -1
  498. package/dist/components/marquee/index.d.ts +5 -0
  499. package/dist/components/marquee/index.js +286 -0
  500. package/dist/components/marquee/marquee.css +135 -0
  501. package/dist/components/marquee/marquee.css.d.ts +1 -0
  502. package/dist/components/marquee/marquee.schema.d.ts +3 -0
  503. package/dist/components/marquee/marquee.schema.js +110 -0
  504. package/dist/components/marquee/marquee.svelte.d.ts +18 -0
  505. package/dist/components/marquee/marquee.types.d.ts +38 -0
  506. package/dist/components/marquee/marquee.variables.d.ts +2 -0
  507. package/dist/components/marquee/marquee.variables.js +65 -0
  508. package/dist/components/masonry/index.js +31 -1
  509. package/dist/components/masonry/masonry.css.d.ts +1 -0
  510. package/dist/components/masonry/masonry.schema.js +31 -1
  511. package/dist/components/masonry/masonry.variables.js +31 -1
  512. package/dist/components/matrix-chart/index.js +55 -24
  513. package/dist/components/matrix-chart/matrix-chart.css.d.ts +1 -0
  514. package/dist/components/matrix-chart/matrix-chart.schema.js +31 -1
  515. package/dist/components/matrix-chart/matrix-chart.variables.js +31 -1
  516. package/dist/components/media-controls/index.js +31 -1
  517. package/dist/components/media-controls/media-controls.css.d.ts +1 -0
  518. package/dist/components/media-controls/media-controls.schema.js +31 -1
  519. package/dist/components/media-controls/media-controls.variables.js +31 -1
  520. package/dist/components/mega-menu/index.d.ts +5 -0
  521. package/dist/components/mega-menu/index.js +552 -0
  522. package/dist/components/mega-menu/mega-menu.css +204 -0
  523. package/dist/components/mega-menu/mega-menu.css.d.ts +1 -0
  524. package/dist/components/mega-menu/mega-menu.schema.d.ts +3 -0
  525. package/dist/components/mega-menu/mega-menu.schema.js +97 -0
  526. package/dist/components/mega-menu/mega-menu.svelte.d.ts +22 -0
  527. package/dist/components/mega-menu/mega-menu.types.d.ts +42 -0
  528. package/dist/components/mega-menu/mega-menu.variables.d.ts +2 -0
  529. package/dist/components/mega-menu/mega-menu.variables.js +61 -0
  530. package/dist/components/menu-bar/index.js +48 -15
  531. package/dist/components/menu-bar/menu-bar.css.d.ts +1 -0
  532. package/dist/components/menu-bar/menu-bar.schema.js +31 -1
  533. package/dist/components/menu-bar/menu-bar.variables.js +31 -1
  534. package/dist/components/message/index.js +31 -1
  535. package/dist/components/message/message.css.d.ts +1 -0
  536. package/dist/components/message/message.schema.js +31 -1
  537. package/dist/components/message/message.variables.js +31 -1
  538. package/dist/components/meter/index.d.ts +5 -0
  539. package/dist/components/meter/index.js +223 -0
  540. package/dist/components/meter/meter.css +90 -0
  541. package/dist/components/meter/meter.css.d.ts +1 -0
  542. package/dist/components/meter/meter.schema.d.ts +3 -0
  543. package/dist/components/meter/meter.schema.js +114 -0
  544. package/dist/components/meter/meter.svelte.d.ts +19 -0
  545. package/dist/components/meter/meter.types.d.ts +49 -0
  546. package/dist/components/meter/meter.variables.d.ts +2 -0
  547. package/dist/components/meter/meter.variables.js +61 -0
  548. package/dist/components/modal/index.js +31 -1
  549. package/dist/components/modal/modal.css +4 -4
  550. package/dist/components/modal/modal.css.d.ts +1 -0
  551. package/dist/components/modal/modal.schema.js +31 -1
  552. package/dist/components/modal/modal.variables.js +31 -1
  553. package/dist/components/multi-select/index.d.ts +5 -0
  554. package/dist/components/multi-select/index.js +827 -0
  555. package/dist/components/multi-select/multi-select.css +279 -0
  556. package/dist/components/multi-select/multi-select.css.d.ts +1 -0
  557. package/dist/components/multi-select/multi-select.schema.d.ts +3 -0
  558. package/dist/components/multi-select/multi-select.schema.js +148 -0
  559. package/dist/components/multi-select/multi-select.svelte.d.ts +40 -0
  560. package/dist/components/multi-select/multi-select.types.d.ts +50 -0
  561. package/dist/components/multi-select/multi-select.variables.d.ts +2 -0
  562. package/dist/components/multi-select/multi-select.variables.js +61 -0
  563. package/dist/components/navigation-bar/index.js +102 -9
  564. package/dist/components/navigation-bar/navigation-bar.css.d.ts +1 -0
  565. package/dist/components/navigation-bar/navigation-bar.schema.js +31 -1
  566. package/dist/components/navigation-bar/navigation-bar.types.d.ts +2 -1
  567. package/dist/components/navigation-bar/navigation-bar.variables.js +31 -1
  568. package/dist/components/navigation-item/index.js +31 -1
  569. package/dist/components/navigation-item/navigation-item.css.d.ts +1 -0
  570. package/dist/components/navigation-item/navigation-item.schema.js +31 -1
  571. package/dist/components/navigation-item/navigation-item.variables.js +31 -1
  572. package/dist/components/newsletter-section/index.d.ts +5 -0
  573. package/dist/components/newsletter-section/index.js +802 -0
  574. package/dist/components/newsletter-section/newsletter-section.css +53 -0
  575. package/dist/components/newsletter-section/newsletter-section.css.d.ts +1 -0
  576. package/dist/components/newsletter-section/newsletter-section.schema.d.ts +3 -0
  577. package/dist/components/newsletter-section/newsletter-section.schema.js +122 -0
  578. package/dist/components/newsletter-section/newsletter-section.svelte.d.ts +19 -0
  579. package/dist/components/newsletter-section/newsletter-section.types.d.ts +48 -0
  580. package/dist/components/newsletter-section/newsletter-section.variables.d.ts +2 -0
  581. package/dist/components/newsletter-section/newsletter-section.variables.js +61 -0
  582. package/dist/components/number-input/index.js +31 -1
  583. package/dist/components/number-input/number-input.css.d.ts +1 -0
  584. package/dist/components/number-input/number-input.schema.js +31 -1
  585. package/dist/components/number-input/number-input.variables.js +31 -1
  586. package/dist/components/page-header/index.d.ts +5 -0
  587. package/dist/components/page-header/index.js +129 -0
  588. package/dist/components/page-header/page-header.css +51 -0
  589. package/dist/components/page-header/page-header.css.d.ts +1 -0
  590. package/dist/components/page-header/page-header.schema.d.ts +3 -0
  591. package/dist/components/page-header/page-header.schema.js +89 -0
  592. package/dist/components/page-header/page-header.svelte.d.ts +19 -0
  593. package/dist/components/page-header/page-header.types.d.ts +13 -0
  594. package/dist/components/page-header/page-header.variables.d.ts +2 -0
  595. package/dist/components/page-header/page-header.variables.js +61 -0
  596. package/dist/components/pagination/index.js +31 -1
  597. package/dist/components/pagination/pagination.css.d.ts +1 -0
  598. package/dist/components/pagination/pagination.schema.js +31 -1
  599. package/dist/components/pagination/pagination.variables.js +31 -1
  600. package/dist/components/payload-inspector/index.js +87 -37
  601. package/dist/components/payload-inspector/payload-inspector.css.d.ts +1 -0
  602. package/dist/components/payload-inspector/payload-inspector.schema.js +31 -1
  603. package/dist/components/payload-inspector/payload-inspector.variables.js +31 -1
  604. package/dist/components/permission-matrix/index.js +31 -1
  605. package/dist/components/permission-matrix/permission-matrix.css.d.ts +1 -0
  606. package/dist/components/permission-matrix/permission-matrix.schema.js +31 -1
  607. package/dist/components/permission-matrix/permission-matrix.variables.js +31 -1
  608. package/dist/components/phone-input/index.js +31 -1
  609. package/dist/components/phone-input/phone-input.css.d.ts +1 -0
  610. package/dist/components/phone-input/phone-input.schema.js +31 -1
  611. package/dist/components/phone-input/phone-input.variables.js +31 -1
  612. package/dist/components/pin-input/index.js +31 -1
  613. package/dist/components/pin-input/pin-input.css.d.ts +1 -0
  614. package/dist/components/pin-input/pin-input.schema.js +31 -1
  615. package/dist/components/pin-input/pin-input.variables.js +31 -1
  616. package/dist/components/popover/index.js +31 -1
  617. package/dist/components/popover/popover.css.d.ts +1 -0
  618. package/dist/components/popover/popover.schema.js +31 -1
  619. package/dist/components/popover/popover.variables.js +31 -1
  620. package/dist/components/portal/index.js +31 -1
  621. package/dist/components/portal/portal.schema.js +31 -1
  622. package/dist/components/portal/portal.variables.js +31 -1
  623. package/dist/components/pricing-card/index.js +31 -1
  624. package/dist/components/pricing-card/pricing-card.css.d.ts +1 -0
  625. package/dist/components/pricing-card/pricing-card.schema.js +31 -1
  626. package/dist/components/pricing-card/pricing-card.variables.js +31 -1
  627. package/dist/components/pricing-section/index.d.ts +5 -0
  628. package/dist/components/pricing-section/index.js +570 -0
  629. package/dist/components/pricing-section/pricing-section.css +54 -0
  630. package/dist/components/pricing-section/pricing-section.css.d.ts +1 -0
  631. package/dist/components/pricing-section/pricing-section.schema.d.ts +3 -0
  632. package/dist/components/pricing-section/pricing-section.schema.js +142 -0
  633. package/dist/components/pricing-section/pricing-section.svelte.d.ts +19 -0
  634. package/dist/components/pricing-section/pricing-section.types.d.ts +52 -0
  635. package/dist/components/pricing-section/pricing-section.variables.d.ts +2 -0
  636. package/dist/components/pricing-section/pricing-section.variables.js +61 -0
  637. package/dist/components/progress/index.js +31 -1
  638. package/dist/components/progress/progress.css.d.ts +1 -0
  639. package/dist/components/progress/progress.schema.js +31 -1
  640. package/dist/components/progress/progress.svelte.d.ts +2 -1
  641. package/dist/components/progress/progress.variables.js +31 -1
  642. package/dist/components/qr-code/index.d.ts +5 -0
  643. package/dist/components/qr-code/index.js +2258 -0
  644. package/dist/components/qr-code/qr-code.css +40 -0
  645. package/dist/components/qr-code/qr-code.css.d.ts +1 -0
  646. package/dist/components/qr-code/qr-code.schema.d.ts +3 -0
  647. package/dist/components/qr-code/qr-code.schema.js +96 -0
  648. package/dist/components/qr-code/qr-code.svelte.d.ts +18 -0
  649. package/dist/components/qr-code/qr-code.types.d.ts +30 -0
  650. package/dist/components/qr-code/qr-code.variables.d.ts +2 -0
  651. package/dist/components/qr-code/qr-code.variables.js +61 -0
  652. package/dist/components/radio-group/index.js +31 -1
  653. package/dist/components/radio-group/radio-group.css.d.ts +1 -0
  654. package/dist/components/radio-group/radio-group.schema.js +31 -1
  655. package/dist/components/radio-group/radio-group.variables.js +31 -1
  656. package/dist/components/rating/index.js +31 -1
  657. package/dist/components/rating/rating.css.d.ts +1 -0
  658. package/dist/components/rating/rating.schema.js +31 -1
  659. package/dist/components/rating/rating.variables.js +31 -1
  660. package/dist/components/resizable-panels/index.js +136 -37
  661. package/dist/components/resizable-panels/resizable-panels.css.d.ts +1 -0
  662. package/dist/components/resizable-panels/resizable-panels.schema.js +31 -1
  663. package/dist/components/resizable-panels/resizable-panels.variables.js +31 -1
  664. package/dist/components/review-editor/index.js +68 -28
  665. package/dist/components/review-editor/review-editor-front-matter.d.ts +1 -1
  666. package/dist/components/review-editor/review-editor.css.d.ts +1 -0
  667. package/dist/components/review-editor/review-editor.schema.js +31 -1
  668. package/dist/components/review-editor/review-editor.variables.js +31 -1
  669. package/dist/components/run-step-timeline/index.js +72 -28
  670. package/dist/components/run-step-timeline/run-step-timeline.css.d.ts +1 -0
  671. package/dist/components/run-step-timeline/run-step-timeline.schema.js +31 -1
  672. package/dist/components/run-step-timeline/run-step-timeline.variables.js +31 -1
  673. package/dist/components/schema-form/index.js +40 -7
  674. package/dist/components/schema-form/schema-form.css.d.ts +1 -0
  675. package/dist/components/schema-form/schema-form.schema.js +31 -1
  676. package/dist/components/schema-form/schema-form.variables.js +31 -1
  677. package/dist/components/scroll-area/index.js +31 -1
  678. package/dist/components/scroll-area/scroll-area.css.d.ts +1 -0
  679. package/dist/components/scroll-area/scroll-area.schema.js +31 -1
  680. package/dist/components/scroll-area/scroll-area.variables.js +31 -1
  681. package/dist/components/search-field/index.js +31 -1
  682. package/dist/components/search-field/search-field.css.d.ts +1 -0
  683. package/dist/components/search-field/search-field.schema.js +31 -1
  684. package/dist/components/search-field/search-field.variables.js +31 -1
  685. package/dist/components/secret-value-field/index.js +31 -1
  686. package/dist/components/secret-value-field/secret-value-field.css.d.ts +1 -0
  687. package/dist/components/secret-value-field/secret-value-field.schema.js +31 -1
  688. package/dist/components/secret-value-field/secret-value-field.variables.js +31 -1
  689. package/dist/components/section-heading/index.js +31 -1
  690. package/dist/components/section-heading/section-heading.css.d.ts +1 -0
  691. package/dist/components/section-heading/section-heading.schema.js +31 -1
  692. package/dist/components/section-heading/section-heading.variables.js +31 -1
  693. package/dist/components/segment/index.js +31 -1
  694. package/dist/components/segment/segment.schema.js +31 -1
  695. package/dist/components/segment/segment.variables.js +31 -1
  696. package/dist/components/segmented-control/index.js +31 -1
  697. package/dist/components/segmented-control/segmented-control.css +13 -1
  698. package/dist/components/segmented-control/segmented-control.css.d.ts +1 -0
  699. package/dist/components/segmented-control/segmented-control.schema.js +31 -1
  700. package/dist/components/segmented-control/segmented-control.variables.js +31 -1
  701. package/dist/components/select/index.js +31 -1
  702. package/dist/components/select/select.css.d.ts +1 -0
  703. package/dist/components/select/select.schema.js +31 -1
  704. package/dist/components/select/select.variables.js +31 -1
  705. package/dist/components/selection-popover/index.js +31 -1
  706. package/dist/components/selection-popover/selection-popover.css.d.ts +1 -0
  707. package/dist/components/selection-popover/selection-popover.schema.js +31 -1
  708. package/dist/components/selection-popover/selection-popover.variables.js +31 -1
  709. package/dist/components/share-card/index.js +31 -1
  710. package/dist/components/share-card/share-card.css.d.ts +1 -0
  711. package/dist/components/share-card/share-card.schema.js +31 -1
  712. package/dist/components/share-card/share-card.variables.js +31 -1
  713. package/dist/components/sheet/index.js +31 -1
  714. package/dist/components/sheet/sheet.css.d.ts +1 -0
  715. package/dist/components/sheet/sheet.schema.js +31 -1
  716. package/dist/components/sheet/sheet.variables.js +31 -1
  717. package/dist/components/shortcut-hint/index.js +31 -1
  718. package/dist/components/shortcut-hint/shortcut-hint.css.d.ts +1 -0
  719. package/dist/components/shortcut-hint/shortcut-hint.schema.js +31 -1
  720. package/dist/components/shortcut-hint/shortcut-hint.variables.js +31 -1
  721. package/dist/components/side-navigation/index.js +31 -1
  722. package/dist/components/side-navigation/side-navigation.css.d.ts +1 -0
  723. package/dist/components/side-navigation/side-navigation.schema.js +31 -1
  724. package/dist/components/side-navigation/side-navigation.variables.js +31 -1
  725. package/dist/components/side-navigation-group/index.js +31 -1
  726. package/dist/components/side-navigation-group/side-navigation-group.css.d.ts +1 -0
  727. package/dist/components/side-navigation-group/side-navigation-group.schema.js +31 -1
  728. package/dist/components/side-navigation-group/side-navigation-group.variables.js +31 -1
  729. package/dist/components/side-navigation-item/index.js +31 -1
  730. package/dist/components/side-navigation-item/side-navigation-item.schema.js +31 -1
  731. package/dist/components/side-navigation-item/side-navigation-item.variables.js +31 -1
  732. package/dist/components/sidebar/index.js +31 -1
  733. package/dist/components/sidebar/sidebar.css.d.ts +1 -0
  734. package/dist/components/sidebar/sidebar.schema.js +31 -1
  735. package/dist/components/sidebar/sidebar.variables.js +31 -1
  736. package/dist/components/skeleton/index.js +31 -1
  737. package/dist/components/skeleton/skeleton.css.d.ts +1 -0
  738. package/dist/components/skeleton/skeleton.schema.js +31 -1
  739. package/dist/components/skeleton/skeleton.variables.js +31 -1
  740. package/dist/components/skip-link/index.js +31 -1
  741. package/dist/components/skip-link/skip-link.schema.js +31 -1
  742. package/dist/components/skip-link/skip-link.variables.js +31 -1
  743. package/dist/components/slider/index.js +32 -3
  744. package/dist/components/slider/slider.css.d.ts +1 -0
  745. package/dist/components/slider/slider.schema.js +31 -1
  746. package/dist/components/slider/slider.variables.js +31 -1
  747. package/dist/components/sortable-list/index.js +31 -1
  748. package/dist/components/sortable-list/sortable-list.css.d.ts +1 -0
  749. package/dist/components/sortable-list/sortable-list.schema.js +31 -1
  750. package/dist/components/sortable-list/sortable-list.variables.js +31 -1
  751. package/dist/components/sparkbar/index.d.ts +5 -0
  752. package/dist/components/sparkbar/index.js +147 -0
  753. package/dist/components/sparkbar/sparkbar.css +95 -0
  754. package/dist/components/sparkbar/sparkbar.css.d.ts +1 -0
  755. package/dist/components/sparkbar/sparkbar.schema.d.ts +3 -0
  756. package/dist/components/sparkbar/sparkbar.schema.js +104 -0
  757. package/dist/components/sparkbar/sparkbar.svelte.d.ts +18 -0
  758. package/dist/components/sparkbar/sparkbar.types.d.ts +45 -0
  759. package/dist/components/sparkbar/sparkbar.variables.d.ts +2 -0
  760. package/dist/components/sparkbar/sparkbar.variables.js +61 -0
  761. package/dist/components/spectrogram/index.js +55 -24
  762. package/dist/components/spectrogram/spectrogram.css.d.ts +1 -0
  763. package/dist/components/spectrogram/spectrogram.schema.js +31 -1
  764. package/dist/components/spectrogram/spectrogram.variables.js +31 -1
  765. package/dist/components/spectrum-chart/index.js +55 -24
  766. package/dist/components/spectrum-chart/spectrum-chart.css.d.ts +1 -0
  767. package/dist/components/spectrum-chart/spectrum-chart.schema.js +31 -1
  768. package/dist/components/spectrum-chart/spectrum-chart.variables.js +31 -1
  769. package/dist/components/speed-dial/index.js +31 -1
  770. package/dist/components/speed-dial/speed-dial.css.d.ts +1 -0
  771. package/dist/components/speed-dial/speed-dial.schema.js +31 -1
  772. package/dist/components/speed-dial/speed-dial.variables.js +31 -1
  773. package/dist/components/speed-dial-action/index.js +31 -1
  774. package/dist/components/speed-dial-action/speed-dial-action.schema.js +31 -1
  775. package/dist/components/speed-dial-action/speed-dial-action.variables.js +31 -1
  776. package/dist/components/spinner/index.js +31 -1
  777. package/dist/components/spinner/spinner.css.d.ts +1 -0
  778. package/dist/components/spinner/spinner.schema.js +31 -1
  779. package/dist/components/spinner/spinner.variables.js +31 -1
  780. package/dist/components/stacked-list-item/index.js +31 -1
  781. package/dist/components/stacked-list-item/stacked-list-item.css.d.ts +1 -0
  782. package/dist/components/stacked-list-item/stacked-list-item.schema.js +31 -1
  783. package/dist/components/stacked-list-item/stacked-list-item.variables.js +31 -1
  784. package/dist/components/stat/index.js +31 -1
  785. package/dist/components/stat/stat.css.d.ts +1 -0
  786. package/dist/components/stat/stat.schema.js +31 -1
  787. package/dist/components/stat/stat.variables.js +31 -1
  788. package/dist/components/stat-group/index.js +31 -1
  789. package/dist/components/stat-group/stat-group.css.d.ts +1 -0
  790. package/dist/components/stat-group/stat-group.schema.js +31 -1
  791. package/dist/components/stat-group/stat-group.variables.js +31 -1
  792. package/dist/components/stats-section/index.d.ts +5 -0
  793. package/dist/components/stats-section/index.js +413 -0
  794. package/dist/components/stats-section/stats-section.css +30 -0
  795. package/dist/components/stats-section/stats-section.css.d.ts +1 -0
  796. package/dist/components/stats-section/stats-section.schema.d.ts +3 -0
  797. package/dist/components/stats-section/stats-section.schema.js +143 -0
  798. package/dist/components/stats-section/stats-section.svelte.d.ts +19 -0
  799. package/dist/components/stats-section/stats-section.types.d.ts +58 -0
  800. package/dist/components/stats-section/stats-section.variables.d.ts +2 -0
  801. package/dist/components/stats-section/stats-section.variables.js +61 -0
  802. package/dist/components/status-dot/index.js +31 -1
  803. package/dist/components/status-dot/status-dot.css.d.ts +1 -0
  804. package/dist/components/status-dot/status-dot.schema.js +31 -1
  805. package/dist/components/status-dot/status-dot.variables.js +31 -1
  806. package/dist/components/steps/index.js +31 -1
  807. package/dist/components/steps/steps.css.d.ts +1 -0
  808. package/dist/components/steps/steps.schema.js +31 -1
  809. package/dist/components/steps/steps.variables.js +31 -1
  810. package/dist/components/surface/index.js +31 -1
  811. package/dist/components/surface/surface.css.d.ts +1 -0
  812. package/dist/components/surface/surface.schema.js +31 -1
  813. package/dist/components/surface/surface.variables.js +31 -1
  814. package/dist/components/tab/index.js +31 -1
  815. package/dist/components/tab/tab.css.d.ts +1 -0
  816. package/dist/components/tab/tab.schema.js +31 -1
  817. package/dist/components/tab/tab.variables.js +31 -1
  818. package/dist/components/tab-list/index.js +31 -1
  819. package/dist/components/tab-list/tab-list.css.d.ts +1 -0
  820. package/dist/components/tab-list/tab-list.schema.js +31 -1
  821. package/dist/components/tab-list/tab-list.variables.js +31 -1
  822. package/dist/components/tab-panel/index.js +31 -1
  823. package/dist/components/tab-panel/tab-panel.css.d.ts +1 -0
  824. package/dist/components/tab-panel/tab-panel.schema.js +31 -1
  825. package/dist/components/tab-panel/tab-panel.variables.js +31 -1
  826. package/dist/components/table/index.js +31 -1
  827. package/dist/components/table/table.css.d.ts +1 -0
  828. package/dist/components/table/table.schema.js +31 -1
  829. package/dist/components/table/table.variables.js +31 -1
  830. package/dist/components/table-body/index.js +31 -1
  831. package/dist/components/table-body/table-body.css.d.ts +1 -0
  832. package/dist/components/table-body/table-body.schema.js +31 -1
  833. package/dist/components/table-body/table-body.variables.js +31 -1
  834. package/dist/components/table-cell/index.js +31 -1
  835. package/dist/components/table-cell/table-cell.css.d.ts +1 -0
  836. package/dist/components/table-cell/table-cell.schema.js +31 -1
  837. package/dist/components/table-cell/table-cell.variables.js +31 -1
  838. package/dist/components/table-header/index.js +31 -1
  839. package/dist/components/table-header/table-header.css.d.ts +1 -0
  840. package/dist/components/table-header/table-header.schema.js +31 -1
  841. package/dist/components/table-header/table-header.variables.js +31 -1
  842. package/dist/components/table-header-cell/index.js +31 -1
  843. package/dist/components/table-header-cell/table-header-cell.css.d.ts +1 -0
  844. package/dist/components/table-header-cell/table-header-cell.schema.js +31 -1
  845. package/dist/components/table-header-cell/table-header-cell.variables.js +31 -1
  846. package/dist/components/table-of-contents/index.d.ts +5 -0
  847. package/dist/components/table-of-contents/index.js +563 -0
  848. package/dist/components/table-of-contents/table-of-contents.css +62 -0
  849. package/dist/components/table-of-contents/table-of-contents.css.d.ts +1 -0
  850. package/dist/components/table-of-contents/table-of-contents.schema.d.ts +3 -0
  851. package/dist/components/table-of-contents/table-of-contents.schema.js +99 -0
  852. package/dist/components/table-of-contents/table-of-contents.svelte.d.ts +24 -0
  853. package/dist/components/table-of-contents/table-of-contents.types.d.ts +64 -0
  854. package/dist/components/table-of-contents/table-of-contents.variables.d.ts +2 -0
  855. package/dist/components/table-of-contents/table-of-contents.variables.js +67 -0
  856. package/dist/components/table-row/index.js +31 -1
  857. package/dist/components/table-row/table-row.css.d.ts +1 -0
  858. package/dist/components/table-row/table-row.schema.js +31 -1
  859. package/dist/components/table-row/table-row.variables.js +31 -1
  860. package/dist/components/tabs/index.js +31 -1
  861. package/dist/components/tabs/tabs.css.d.ts +1 -0
  862. package/dist/components/tabs/tabs.schema.js +31 -1
  863. package/dist/components/tabs/tabs.variables.js +31 -1
  864. package/dist/components/tag-input/index.js +31 -1
  865. package/dist/components/tag-input/tag-input.css.d.ts +1 -0
  866. package/dist/components/tag-input/tag-input.schema.js +31 -1
  867. package/dist/components/tag-input/tag-input.variables.js +31 -1
  868. package/dist/components/team-section/index.d.ts +5 -0
  869. package/dist/components/team-section/index.js +3091 -0
  870. package/dist/components/team-section/team-section.css +94 -0
  871. package/dist/components/team-section/team-section.css.d.ts +1 -0
  872. package/dist/components/team-section/team-section.schema.d.ts +3 -0
  873. package/dist/components/team-section/team-section.schema.js +136 -0
  874. package/dist/components/team-section/team-section.svelte.d.ts +19 -0
  875. package/dist/components/team-section/team-section.types.d.ts +56 -0
  876. package/dist/components/team-section/team-section.variables.d.ts +2 -0
  877. package/dist/components/team-section/team-section.variables.js +61 -0
  878. package/dist/components/testimonial-section/index.d.ts +5 -0
  879. package/dist/components/testimonial-section/index.js +472 -0
  880. package/dist/components/testimonial-section/testimonial-section.css +85 -0
  881. package/dist/components/testimonial-section/testimonial-section.css.d.ts +1 -0
  882. package/dist/components/testimonial-section/testimonial-section.schema.d.ts +3 -0
  883. package/dist/components/testimonial-section/testimonial-section.schema.js +131 -0
  884. package/dist/components/testimonial-section/testimonial-section.svelte.d.ts +19 -0
  885. package/dist/components/testimonial-section/testimonial-section.types.d.ts +53 -0
  886. package/dist/components/testimonial-section/testimonial-section.variables.d.ts +2 -0
  887. package/dist/components/testimonial-section/testimonial-section.variables.js +61 -0
  888. package/dist/components/textarea/index.js +31 -1
  889. package/dist/components/textarea/textarea.css.d.ts +1 -0
  890. package/dist/components/textarea/textarea.schema.js +31 -1
  891. package/dist/components/textarea/textarea.variables.js +31 -1
  892. package/dist/components/time-field/index.js +31 -1
  893. package/dist/components/time-field/time-field.css.d.ts +1 -0
  894. package/dist/components/time-field/time-field.schema.js +31 -1
  895. package/dist/components/time-field/time-field.variables.js +31 -1
  896. package/dist/components/timeline/index.js +31 -1
  897. package/dist/components/timeline/timeline.css.d.ts +1 -0
  898. package/dist/components/timeline/timeline.schema.js +31 -1
  899. package/dist/components/timeline/timeline.variables.js +31 -1
  900. package/dist/components/toast-region/index.d.ts +1 -0
  901. package/dist/components/toast-region/index.js +38 -1
  902. package/dist/components/toast-region/toast-region.css.d.ts +1 -0
  903. package/dist/components/toast-region/toast-region.schema.js +31 -1
  904. package/dist/components/toast-region/toast-region.variables.js +31 -1
  905. package/dist/components/toggle/index.js +31 -1
  906. package/dist/components/toggle/toggle.css.d.ts +1 -0
  907. package/dist/components/toggle/toggle.schema.js +31 -1
  908. package/dist/components/toggle/toggle.variables.js +31 -1
  909. package/dist/components/toolbar/index.js +31 -1
  910. package/dist/components/toolbar/toolbar.css.d.ts +1 -0
  911. package/dist/components/toolbar/toolbar.schema.js +31 -1
  912. package/dist/components/toolbar/toolbar.variables.js +31 -1
  913. package/dist/components/tooltip/index.js +31 -1
  914. package/dist/components/tooltip/tooltip.css.d.ts +1 -0
  915. package/dist/components/tooltip/tooltip.schema.js +31 -1
  916. package/dist/components/tooltip/tooltip.variables.js +31 -1
  917. package/dist/components/transfer-list/index.js +31 -1
  918. package/dist/components/transfer-list/transfer-list.css.d.ts +1 -0
  919. package/dist/components/transfer-list/transfer-list.schema.js +31 -1
  920. package/dist/components/transfer-list/transfer-list.variables.js +31 -1
  921. package/dist/components/tree/index.d.ts +1 -1
  922. package/dist/components/tree/index.js +44 -12
  923. package/dist/components/tree/tree.css.d.ts +1 -0
  924. package/dist/components/tree/tree.schema.js +31 -1
  925. package/dist/components/tree/tree.svelte.d.ts +1 -1
  926. package/dist/components/tree/tree.variables.js +31 -1
  927. package/dist/components/tree-item/index.js +31 -1
  928. package/dist/components/tree-item/tree-item.schema.js +31 -1
  929. package/dist/components/tree-item/tree-item.variables.js +31 -1
  930. package/dist/components/typography/index.js +31 -1
  931. package/dist/components/typography/typography.css.d.ts +1 -0
  932. package/dist/components/typography/typography.schema.js +31 -1
  933. package/dist/components/typography/typography.variables.js +31 -1
  934. package/dist/components/virtual-list/index.js +31 -1
  935. package/dist/components/virtual-list/virtual-list.css.d.ts +1 -0
  936. package/dist/components/virtual-list/virtual-list.schema.js +31 -1
  937. package/dist/components/virtual-list/virtual-list.variables.js +31 -1
  938. package/dist/components/visually-hidden/index.js +31 -1
  939. package/dist/components/visually-hidden/visually-hidden.schema.js +31 -1
  940. package/dist/components/visually-hidden/visually-hidden.variables.js +31 -1
  941. package/dist/components/waveform/index.js +55 -24
  942. package/dist/components/waveform/waveform.css.d.ts +1 -0
  943. package/dist/components/waveform/waveform.schema.js +31 -1
  944. package/dist/components/waveform/waveform.variables.js +31 -1
  945. package/dist/diff/index.js +1 -2
  946. package/dist/diff/line-diff.js +1 -2
  947. package/dist/diff/types.js +1 -2
  948. package/dist/editor/attach.js +1 -2
  949. package/dist/editor/bridge.js +1 -2
  950. package/dist/editor/clipboard.js +1 -2
  951. package/dist/editor/commands.js +1 -2
  952. package/dist/editor/component-runtime.js +1 -2
  953. package/dist/editor/editor.js +16 -5
  954. package/dist/editor/index.js +1 -2
  955. package/dist/editor/keymap-plugin.js +1 -2
  956. package/dist/editor/link-input-rule.js +1 -2
  957. package/dist/editor/milkdown-plugin-runtime.js +1 -2
  958. package/dist/editor/placeholder-security.js +1 -2
  959. package/dist/editor/placeholder.js +1 -2
  960. package/dist/editor/sanitize-html.js +1 -2
  961. package/dist/editor/template-completion-plugin.js +1 -2
  962. package/dist/editor/template-invalid-decoration-plugin.js +1 -2
  963. package/dist/editor/template-placeholders.js +1 -2
  964. package/dist/editor/template-position-utilities.js +1 -2
  965. package/dist/editor/template-render.js +1 -2
  966. package/dist/editor/test-utilities.js +1 -2
  967. package/dist/editor/types.js +1 -2
  968. package/dist/highlighters/shiki/index.d.ts +8 -1
  969. package/dist/highlighters/shiki/index.js +42 -10
  970. package/dist/highlighters/shiki/strip-root-pre-tab-index.d.ts +1 -0
  971. package/dist/index.d.ts +52 -0
  972. package/dist/index.js +93587 -214
  973. package/dist/markdown/diff/compute.js +1 -2
  974. package/dist/markdown/diff/frontmatter.js +1 -2
  975. package/dist/markdown/diff/index.js +1 -2
  976. package/dist/markdown/diff/line-diff.js +1 -2
  977. package/dist/markdown/diff/positions.js +1 -2
  978. package/dist/markdown/diff/types.js +1 -2
  979. package/dist/markdown/index.js +1 -2
  980. package/dist/markdown/pipeline/ast.js +1 -2
  981. package/dist/markdown/pipeline/errors.js +1 -2
  982. package/dist/markdown/pipeline/frontmatter.js +1 -2
  983. package/dist/markdown/pipeline/index.js +1 -2
  984. package/dist/markdown/pipeline/parser.js +1 -2
  985. package/dist/markdown/pipeline/serializer.js +1 -2
  986. package/dist/markdown/pipeline/strip-positions.js +1 -2
  987. package/dist/markdown/pipeline/types.js +1 -2
  988. package/dist/markdown/rendering/extract-code-blocks.js +1 -2
  989. package/dist/markdown/rendering/highlighter.js +1 -2
  990. package/dist/markdown/rendering/index.js +1 -2
  991. package/dist/markdown/rendering/mermaid-cache.js +1 -2
  992. package/dist/markdown/rendering/rehype-shiki-sync.js +1 -2
  993. package/dist/markdown/rendering/render-async.js +1 -2
  994. package/dist/markdown/rendering/render-streaming.js +1 -2
  995. package/dist/markdown/rendering/render-worker.js +1 -2
  996. package/dist/markdown/rendering/render.js +1 -2
  997. package/dist/markdown/rendering/sanitize-schema.js +1 -2
  998. package/dist/markdown/rendering/transform-urls.js +1 -2
  999. package/dist/markdown/rendering/types.js +1 -2
  1000. package/dist/markdown/rendering/worker-dom-shim.js +1 -2
  1001. package/dist/markdown/utilities/safe-url.js +1 -2
  1002. package/dist/markdown/utilities/sort-keys.js +1 -2
  1003. package/dist/server/components/access-gate/access-gate.schema.js +1 -1
  1004. package/dist/server/components/access-gate/access-gate.variables.js +1 -1
  1005. package/dist/server/components/access-gate/index.js +16 -16
  1006. package/dist/server/components/accordion/accordion.schema.js +1 -1
  1007. package/dist/server/components/accordion/accordion.variables.js +1 -1
  1008. package/dist/server/components/accordion/index.js +3 -3
  1009. package/dist/server/components/accordion-item/accordion-item.schema.js +1 -1
  1010. package/dist/server/components/accordion-item/accordion-item.variables.js +1 -1
  1011. package/dist/server/components/accordion-item/index.js +3 -3
  1012. package/dist/server/components/alert/alert.schema.js +4 -4
  1013. package/dist/server/components/alert/alert.variables.js +1 -1
  1014. package/dist/server/components/alert/index.js +3 -3
  1015. package/dist/server/components/alert-dialog/alert-dialog.schema.js +1 -1
  1016. package/dist/server/components/alert-dialog/alert-dialog.variables.js +1 -1
  1017. package/dist/server/components/alert-dialog/index.js +5 -5
  1018. package/dist/server/components/approval-card/approval-card.schema.js +1 -1
  1019. package/dist/server/components/approval-card/approval-card.variables.js +1 -1
  1020. package/dist/server/components/approval-card/index.js +23 -23
  1021. package/dist/server/components/area-chart/area-chart.schema.js +1 -1
  1022. package/dist/server/components/area-chart/area-chart.variables.js +1 -1
  1023. package/dist/server/components/area-chart/index.js +4 -4
  1024. package/dist/server/components/aspect-ratio/aspect-ratio.schema.js +1 -1
  1025. package/dist/server/components/aspect-ratio/aspect-ratio.variables.js +1 -1
  1026. package/dist/server/components/aspect-ratio/index.js +2 -2
  1027. package/dist/server/components/autocomplete/autocomplete.schema.js +1 -1
  1028. package/dist/server/components/autocomplete/autocomplete.variables.js +1 -1
  1029. package/dist/server/components/autocomplete/index.js +6 -6
  1030. package/dist/server/components/avatar/avatar.schema.js +1 -1
  1031. package/dist/server/components/avatar/avatar.variables.js +1 -1
  1032. package/dist/server/components/avatar/index.js +4 -4
  1033. package/dist/server/components/avatar-group/avatar-group.schema.js +1 -1
  1034. package/dist/server/components/avatar-group/avatar-group.variables.js +1 -1
  1035. package/dist/server/components/avatar-group/index.js +10 -8
  1036. package/dist/server/components/backdrop/backdrop.schema.js +1 -1
  1037. package/dist/server/components/backdrop/backdrop.variables.js +1 -1
  1038. package/dist/server/components/backdrop/index.js +2 -2
  1039. package/dist/server/components/badge/badge.schema.js +1 -1
  1040. package/dist/server/components/badge/badge.variables.js +1 -1
  1041. package/dist/server/components/badge/index.js +3 -3
  1042. package/dist/server/components/banner/banner.schema.js +1 -1
  1043. package/dist/server/components/banner/banner.variables.js +1 -1
  1044. package/dist/server/components/banner/index.js +2 -2
  1045. package/dist/server/components/bar-chart/bar-chart.schema.js +1 -1
  1046. package/dist/server/components/bar-chart/bar-chart.variables.js +1 -1
  1047. package/dist/server/components/bar-chart/index.js +4 -4
  1048. package/dist/server/components/bento-cell/bento-cell.schema.js +114 -0
  1049. package/dist/server/components/bento-cell/bento-cell.variables.js +10 -0
  1050. package/dist/server/components/bento-cell/index.js +14 -0
  1051. package/dist/server/components/bento-grid/bento-grid.schema.js +64 -0
  1052. package/dist/server/components/bento-grid/bento-grid.variables.js +10 -0
  1053. package/dist/server/components/bento-grid/index.js +14 -0
  1054. package/dist/server/components/blog-section/blog-section.schema.js +91 -0
  1055. package/dist/server/components/blog-section/blog-section.variables.js +10 -0
  1056. package/dist/server/components/blog-section/index.js +15 -0
  1057. package/dist/server/components/breadcrumbs/breadcrumbs.schema.js +1 -1
  1058. package/dist/server/components/breadcrumbs/breadcrumbs.variables.js +1 -1
  1059. package/dist/server/components/breadcrumbs/index.js +2 -2
  1060. package/dist/server/components/button/button.schema.js +1 -1
  1061. package/dist/server/components/button/button.variables.js +1 -1
  1062. package/dist/server/components/button/index.js +3 -3
  1063. package/dist/server/components/button-group/button-group.schema.js +1 -1
  1064. package/dist/server/components/button-group/button-group.variables.js +1 -1
  1065. package/dist/server/components/button-group/index.js +3 -3
  1066. package/dist/server/components/calendar/calendar.schema.js +70 -0
  1067. package/dist/server/components/calendar/calendar.variables.js +10 -0
  1068. package/dist/server/components/calendar/index.js +14 -0
  1069. package/dist/server/components/callout/callout.schema.js +1 -1
  1070. package/dist/server/components/callout/callout.variables.js +1 -1
  1071. package/dist/server/components/callout/index.js +2 -2
  1072. package/dist/server/components/capability-gate/capability-gate.schema.js +1 -1
  1073. package/dist/server/components/capability-gate/capability-gate.variables.js +1 -1
  1074. package/dist/server/components/capability-gate/index.js +2 -2
  1075. package/dist/server/components/card/card.schema.js +1 -1
  1076. package/dist/server/components/card/card.variables.js +1 -1
  1077. package/dist/server/components/card/index.js +3 -3
  1078. package/dist/server/components/carousel/carousel.schema.js +55 -0
  1079. package/dist/server/components/carousel/carousel.variables.js +10 -0
  1080. package/dist/server/components/carousel/index.js +13 -0
  1081. package/dist/server/components/chat/chat.schema.js +1 -1
  1082. package/dist/server/components/chat/chat.variables.js +1 -1
  1083. package/dist/server/components/chat/index.js +39 -38
  1084. package/dist/server/components/chat-conversation-header/chat-conversation-header.schema.js +1 -1
  1085. package/dist/server/components/chat-conversation-header/chat-conversation-header.variables.js +1 -1
  1086. package/dist/server/components/chat-conversation-header/index.js +20 -19
  1087. package/dist/server/components/chat-conversation-list/chat-conversation-list.schema.js +1 -1
  1088. package/dist/server/components/chat-conversation-list/chat-conversation-list.variables.js +1 -1
  1089. package/dist/server/components/chat-conversation-list/index.js +6 -5
  1090. package/dist/server/components/checkbox/checkbox.schema.js +1 -1
  1091. package/dist/server/components/checkbox/checkbox.variables.js +1 -1
  1092. package/dist/server/components/checkbox/index.js +4 -4
  1093. package/dist/server/components/checkbox-group/checkbox-group.schema.js +1 -1
  1094. package/dist/server/components/checkbox-group/checkbox-group.variables.js +1 -1
  1095. package/dist/server/components/checkbox-group/index.js +2 -2
  1096. package/dist/server/components/chip/chip.schema.js +1 -1
  1097. package/dist/server/components/chip/chip.variables.js +1 -1
  1098. package/dist/server/components/chip/index.js +3 -3
  1099. package/dist/server/components/choice-grid/choice-grid.schema.js +1 -1
  1100. package/dist/server/components/choice-grid/choice-grid.variables.js +1 -1
  1101. package/dist/server/components/choice-grid/index.js +3 -3
  1102. package/dist/server/components/choice-grid-item/choice-grid-item.schema.js +1 -1
  1103. package/dist/server/components/choice-grid-item/choice-grid-item.variables.js +1 -1
  1104. package/dist/server/components/choice-grid-item/index.js +3 -3
  1105. package/dist/server/components/click-away-listener/click-away-listener.schema.js +1 -1
  1106. package/dist/server/components/click-away-listener/click-away-listener.variables.js +1 -1
  1107. package/dist/server/components/click-away-listener/index.js +2 -2
  1108. package/dist/server/components/code-block/code-block.schema.js +1 -1
  1109. package/dist/server/components/code-block/code-block.variables.js +1 -1
  1110. package/dist/server/components/code-block/index.js +8 -8
  1111. package/dist/server/components/collapsible/collapsible.schema.js +8 -5
  1112. package/dist/server/components/collapsible/collapsible.variables.js +1 -1
  1113. package/dist/server/components/collapsible/index.js +3 -3
  1114. package/dist/server/components/color-field/color-field.schema.js +1 -1
  1115. package/dist/server/components/color-field/color-field.variables.js +1 -1
  1116. package/dist/server/components/color-field/index.js +4 -4
  1117. package/dist/server/components/color-picker/color-picker.schema.js +1 -1
  1118. package/dist/server/components/color-picker/color-picker.variables.js +1 -1
  1119. package/dist/server/components/color-picker/index.js +5 -5
  1120. package/dist/server/components/color-swatch-picker/color-swatch-picker.schema.js +1 -1
  1121. package/dist/server/components/color-swatch-picker/color-swatch-picker.variables.js +1 -1
  1122. package/dist/server/components/color-swatch-picker/index.js +5 -5
  1123. package/dist/server/components/combobox/combobox.schema.js +1 -1
  1124. package/dist/server/components/combobox/combobox.variables.js +1 -1
  1125. package/dist/server/components/combobox/index.js +5 -5
  1126. package/dist/server/components/command-item/command-item.schema.js +1 -1
  1127. package/dist/server/components/command-item/command-item.variables.js +1 -1
  1128. package/dist/server/components/command-item/index.js +2 -2
  1129. package/dist/server/components/command-menu/command-menu.schema.js +1 -1
  1130. package/dist/server/components/command-menu/command-menu.variables.js +1 -1
  1131. package/dist/server/components/command-menu/index.js +3 -3
  1132. package/dist/server/components/command-palette/command-palette.schema.js +1 -1
  1133. package/dist/server/components/command-palette/command-palette.variables.js +1 -1
  1134. package/dist/server/components/command-palette/index.js +2 -2
  1135. package/dist/server/components/confirm-dialog/confirm-dialog.schema.js +1 -1
  1136. package/dist/server/components/confirm-dialog/confirm-dialog.variables.js +1 -1
  1137. package/dist/server/components/confirm-dialog/index.js +5 -5
  1138. package/dist/server/components/container/container.schema.js +1 -1
  1139. package/dist/server/components/container/container.variables.js +1 -1
  1140. package/dist/server/components/container/index.js +6 -4
  1141. package/dist/server/components/context-menu/context-menu.schema.js +1 -1
  1142. package/dist/server/components/context-menu/context-menu.variables.js +1 -1
  1143. package/dist/server/components/context-menu/index.js +11 -11
  1144. package/dist/server/components/context-menu-trigger/context-menu-trigger.schema.js +1 -1
  1145. package/dist/server/components/context-menu-trigger/context-menu-trigger.variables.js +1 -1
  1146. package/dist/server/components/context-menu-trigger/index.js +3 -3
  1147. package/dist/server/components/copy-button/copy-button.schema.js +1 -1
  1148. package/dist/server/components/copy-button/copy-button.variables.js +1 -1
  1149. package/dist/server/components/copy-button/index.js +7 -7
  1150. package/dist/server/components/cta-section/cta-section.schema.js +76 -0
  1151. package/dist/server/components/cta-section/cta-section.variables.js +10 -0
  1152. package/dist/server/components/cta-section/index.js +16 -0
  1153. package/dist/server/components/data-grid/data-grid.schema.js +1 -1
  1154. package/dist/server/components/data-grid/data-grid.variables.js +1 -1
  1155. package/dist/server/components/data-grid/index.js +2 -2
  1156. package/dist/server/components/data-list/data-list.schema.js +1 -1
  1157. package/dist/server/components/data-list/data-list.variables.js +1 -1
  1158. package/dist/server/components/data-list/index.js +2 -2
  1159. package/dist/server/components/data-table/data-table.schema.js +1 -1
  1160. package/dist/server/components/data-table/data-table.variables.js +1 -1
  1161. package/dist/server/components/data-table/index.js +10 -10
  1162. package/dist/server/components/date-picker/date-picker.schema.js +70 -0
  1163. package/dist/server/components/date-picker/date-picker.variables.js +10 -0
  1164. package/dist/server/components/date-picker/index.js +24 -0
  1165. package/dist/server/components/date-range-field/date-range-field.schema.js +1 -1
  1166. package/dist/server/components/date-range-field/date-range-field.variables.js +1 -1
  1167. package/dist/server/components/date-range-field/index.js +14 -3
  1168. package/dist/server/components/description-list/description-list.schema.js +1 -1
  1169. package/dist/server/components/description-list/description-list.variables.js +1 -1
  1170. package/dist/server/components/description-list/index.js +3 -3
  1171. package/dist/server/components/diff-statistics/diff-statistics.schema.js +1 -1
  1172. package/dist/server/components/diff-statistics/diff-statistics.variables.js +1 -1
  1173. package/dist/server/components/diff-statistics/index.js +3 -3
  1174. package/dist/server/components/diff-viewer/diff-viewer.schema.js +1 -1
  1175. package/dist/server/components/diff-viewer/diff-viewer.variables.js +1 -1
  1176. package/dist/server/components/diff-viewer/index.js +14 -14
  1177. package/dist/server/components/divider/divider.schema.js +1 -1
  1178. package/dist/server/components/divider/divider.variables.js +1 -1
  1179. package/dist/server/components/divider/index.js +2 -2
  1180. package/dist/server/components/drawer/drawer.schema.js +1 -1
  1181. package/dist/server/components/drawer/drawer.variables.js +1 -1
  1182. package/dist/server/components/drawer/index.js +4 -4
  1183. package/dist/server/components/dropdown/dropdown.schema.js +4 -4
  1184. package/dist/server/components/dropdown/dropdown.variables.js +1 -1
  1185. package/dist/server/components/dropdown/index.js +12 -12
  1186. package/dist/server/components/dropdown-group/dropdown-group.schema.js +1 -1
  1187. package/dist/server/components/dropdown-group/dropdown-group.variables.js +1 -1
  1188. package/dist/server/components/dropdown-group/index.js +3 -3
  1189. package/dist/server/components/dropdown-item/dropdown-item.schema.js +1 -1
  1190. package/dist/server/components/dropdown-item/dropdown-item.variables.js +1 -1
  1191. package/dist/server/components/dropdown-item/index.js +3 -3
  1192. package/dist/server/components/dropdown-label/dropdown-label.schema.js +1 -1
  1193. package/dist/server/components/dropdown-label/dropdown-label.variables.js +1 -1
  1194. package/dist/server/components/dropdown-label/index.js +3 -3
  1195. package/dist/server/components/dropdown-menu/dropdown-menu.schema.js +1 -1
  1196. package/dist/server/components/dropdown-menu/dropdown-menu.variables.js +1 -1
  1197. package/dist/server/components/dropdown-menu/index.js +6 -6
  1198. package/dist/server/components/dropdown-separator/dropdown-separator.schema.js +1 -1
  1199. package/dist/server/components/dropdown-separator/dropdown-separator.variables.js +1 -1
  1200. package/dist/server/components/dropdown-separator/index.js +3 -3
  1201. package/dist/server/components/dropdown-trigger/dropdown-trigger.schema.js +1 -1
  1202. package/dist/server/components/dropdown-trigger/dropdown-trigger.variables.js +1 -1
  1203. package/dist/server/components/dropdown-trigger/index.js +3 -3
  1204. package/dist/server/components/empty-state/empty-state.schema.js +1 -1
  1205. package/dist/server/components/empty-state/empty-state.variables.js +1 -1
  1206. package/dist/server/components/empty-state/index.js +3 -3
  1207. package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +1 -1
  1208. package/dist/server/components/event-stream-viewer/event-stream-viewer.variables.js +1 -1
  1209. package/dist/server/components/event-stream-viewer/index.js +9 -9
  1210. package/dist/server/components/event-timeline/event-timeline.schema.js +104 -0
  1211. package/dist/server/components/event-timeline/event-timeline.variables.js +10 -0
  1212. package/dist/server/components/event-timeline/index.js +12 -0
  1213. package/dist/server/components/experimental/json-viewer/index.js +3 -3
  1214. package/dist/server/components/experimental/message/index.js +2 -2
  1215. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.schema.js +1 -1
  1216. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.variables.js +1 -1
  1217. package/dist/server/components/faceted-filter-bar/index.js +10 -10
  1218. package/dist/server/components/feature-section/feature-section.schema.js +91 -0
  1219. package/dist/server/components/feature-section/feature-section.variables.js +10 -0
  1220. package/dist/server/components/feature-section/index.js +13 -0
  1221. package/dist/server/components/feed/feed.schema.js +1 -1
  1222. package/dist/server/components/feed/feed.variables.js +1 -1
  1223. package/dist/server/components/feed/index.js +3 -3
  1224. package/dist/server/components/feed-event/feed-event.schema.js +1 -1
  1225. package/dist/server/components/feed-event/feed-event.variables.js +1 -1
  1226. package/dist/server/components/feed-event/index.js +3 -3
  1227. package/dist/server/components/file-upload/file-upload.schema.js +1 -1
  1228. package/dist/server/components/file-upload/file-upload.variables.js +1 -1
  1229. package/dist/server/components/file-upload/index.js +3 -3
  1230. package/dist/server/components/floating-action-button/floating-action-button.schema.js +1 -1
  1231. package/dist/server/components/floating-action-button/floating-action-button.variables.js +1 -1
  1232. package/dist/server/components/floating-action-button/index.js +3 -3
  1233. package/dist/server/components/focus-trap/focus-trap.schema.js +1 -1
  1234. package/dist/server/components/focus-trap/focus-trap.variables.js +1 -1
  1235. package/dist/server/components/focus-trap/index.js +2 -2
  1236. package/dist/server/components/footer/footer.schema.js +50 -0
  1237. package/dist/server/components/footer/footer.variables.js +10 -0
  1238. package/dist/server/components/footer/index.js +12 -0
  1239. package/dist/server/components/form-field/form-field.schema.js +1 -1
  1240. package/dist/server/components/form-field/form-field.variables.js +1 -1
  1241. package/dist/server/components/form-field/index.js +3 -3
  1242. package/dist/server/components/form-section/form-section.schema.js +1 -1
  1243. package/dist/server/components/form-section/form-section.variables.js +1 -1
  1244. package/dist/server/components/form-section/index.js +2 -2
  1245. package/dist/server/components/grid/grid.schema.js +1 -1
  1246. package/dist/server/components/grid/grid.variables.js +1 -1
  1247. package/dist/server/components/grid/index.js +3 -3
  1248. package/dist/server/components/grid-item/grid-item.schema.js +1 -1
  1249. package/dist/server/components/grid-item/grid-item.variables.js +1 -1
  1250. package/dist/server/components/grid-item/index.js +3 -3
  1251. package/dist/server/components/grid-list/grid-list.schema.js +1 -1
  1252. package/dist/server/components/grid-list/grid-list.variables.js +1 -1
  1253. package/dist/server/components/grid-list/index.js +3 -3
  1254. package/dist/server/components/grid-list-item/grid-list-item.schema.js +1 -1
  1255. package/dist/server/components/grid-list-item/grid-list-item.variables.js +1 -1
  1256. package/dist/server/components/grid-list-item/index.js +3 -3
  1257. package/dist/server/components/hero-section/hero-section.schema.js +72 -0
  1258. package/dist/server/components/hero-section/hero-section.variables.js +10 -0
  1259. package/dist/server/components/hero-section/index.js +13 -0
  1260. package/dist/server/components/hover-card/hover-card.schema.js +1 -1
  1261. package/dist/server/components/hover-card/hover-card.variables.js +1 -1
  1262. package/dist/server/components/hover-card/index.js +3 -3
  1263. package/dist/server/components/image/image.schema.js +1 -1
  1264. package/dist/server/components/image/image.variables.js +1 -1
  1265. package/dist/server/components/image/index.js +2 -2
  1266. package/dist/server/components/inline-loading/index.js +19 -0
  1267. package/dist/server/components/inline-loading/inline-loading.schema.js +38 -0
  1268. package/dist/server/components/inline-loading/inline-loading.variables.js +10 -0
  1269. package/dist/server/components/input/index.js +4 -4
  1270. package/dist/server/components/input/input.schema.js +6 -2
  1271. package/dist/server/components/input/input.variables.js +1 -1
  1272. package/dist/server/components/invocation-rule-builder/index.js +2 -2
  1273. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +1 -1
  1274. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.variables.js +1 -1
  1275. package/dist/server/components/json-schema-editor/index.js +32 -32
  1276. package/dist/server/components/json-schema-editor/json-schema-editor.schema.js +1 -1
  1277. package/dist/server/components/json-schema-editor/json-schema-editor.variables.js +1 -1
  1278. package/dist/server/components/json-viewer/index.js +3 -3
  1279. package/dist/server/components/json-viewer/json-viewer.schema.js +1 -1
  1280. package/dist/server/components/json-viewer/json-viewer.variables.js +1 -1
  1281. package/dist/server/components/kanban-board/index.js +3 -3
  1282. package/dist/server/components/kanban-board/kanban-board.schema.js +1 -1
  1283. package/dist/server/components/kanban-board/kanban-board.variables.js +1 -1
  1284. package/dist/server/components/kbd/index.js +3 -3
  1285. package/dist/server/components/kbd/kbd.schema.js +1 -1
  1286. package/dist/server/components/kbd/kbd.variables.js +1 -1
  1287. package/dist/server/components/keyboard-shortcuts/index.js +3 -3
  1288. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +1 -1
  1289. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +1 -1
  1290. package/dist/server/components/label/index.js +2 -2
  1291. package/dist/server/components/label/label.schema.js +1 -1
  1292. package/dist/server/components/label/label.variables.js +1 -1
  1293. package/dist/server/components/line-chart/index.js +4 -4
  1294. package/dist/server/components/line-chart/line-chart.schema.js +1 -1
  1295. package/dist/server/components/line-chart/line-chart.variables.js +1 -1
  1296. package/dist/server/components/link/index.js +3 -3
  1297. package/dist/server/components/link/link.schema.js +1 -1
  1298. package/dist/server/components/link/link.variables.js +1 -1
  1299. package/dist/server/components/load-more/index.js +3 -3
  1300. package/dist/server/components/load-more/load-more.schema.js +1 -1
  1301. package/dist/server/components/load-more/load-more.variables.js +1 -1
  1302. package/dist/server/components/locale-provider/index.js +2 -2
  1303. package/dist/server/components/locale-provider/locale-provider.schema.js +1 -1
  1304. package/dist/server/components/locale-provider/locale-provider.variables.js +1 -1
  1305. package/dist/server/components/logo-cloud/index.js +13 -0
  1306. package/dist/server/components/logo-cloud/logo-cloud.schema.js +72 -0
  1307. package/dist/server/components/logo-cloud/logo-cloud.variables.js +10 -0
  1308. package/dist/server/components/markdown-editor/index.js +24 -24
  1309. package/dist/server/components/markdown-editor/markdown-editor.schema.js +1 -1
  1310. package/dist/server/components/markdown-editor/markdown-editor.variables.js +1 -1
  1311. package/dist/server/components/marquee/index.js +12 -0
  1312. package/dist/server/components/marquee/marquee.schema.js +59 -0
  1313. package/dist/server/components/marquee/marquee.variables.js +14 -0
  1314. package/dist/server/components/masonry/index.js +2 -2
  1315. package/dist/server/components/masonry/masonry.schema.js +1 -1
  1316. package/dist/server/components/masonry/masonry.variables.js +1 -1
  1317. package/dist/server/components/matrix-chart/index.js +3 -3
  1318. package/dist/server/components/matrix-chart/matrix-chart.schema.js +1 -1
  1319. package/dist/server/components/matrix-chart/matrix-chart.variables.js +1 -1
  1320. package/dist/server/components/media-controls/index.js +3 -3
  1321. package/dist/server/components/media-controls/media-controls.schema.js +1 -1
  1322. package/dist/server/components/media-controls/media-controls.variables.js +1 -1
  1323. package/dist/server/components/mega-menu/index.js +12 -0
  1324. package/dist/server/components/mega-menu/mega-menu.schema.js +46 -0
  1325. package/dist/server/components/mega-menu/mega-menu.variables.js +10 -0
  1326. package/dist/server/components/menu-bar/index.js +9 -9
  1327. package/dist/server/components/menu-bar/menu-bar.schema.js +1 -1
  1328. package/dist/server/components/menu-bar/menu-bar.variables.js +1 -1
  1329. package/dist/server/components/message/index.js +2 -2
  1330. package/dist/server/components/message/message.schema.js +1 -1
  1331. package/dist/server/components/message/message.variables.js +1 -1
  1332. package/dist/server/components/meter/index.js +14 -0
  1333. package/dist/server/components/meter/meter.schema.js +63 -0
  1334. package/dist/server/components/meter/meter.variables.js +10 -0
  1335. package/dist/server/components/modal/index.js +4 -4
  1336. package/dist/server/components/modal/modal.schema.js +1 -1
  1337. package/dist/server/components/modal/modal.variables.js +1 -1
  1338. package/dist/server/components/multi-select/index.js +16 -0
  1339. package/dist/server/components/multi-select/multi-select.schema.js +97 -0
  1340. package/dist/server/components/multi-select/multi-select.variables.js +10 -0
  1341. package/dist/server/components/navigation-bar/index.js +4 -3
  1342. package/dist/server/components/navigation-bar/navigation-bar.schema.js +1 -1
  1343. package/dist/server/components/navigation-bar/navigation-bar.variables.js +1 -1
  1344. package/dist/server/components/navigation-item/index.js +3 -3
  1345. package/dist/server/components/navigation-item/navigation-item.schema.js +1 -1
  1346. package/dist/server/components/navigation-item/navigation-item.variables.js +1 -1
  1347. package/dist/server/components/newsletter-section/index.js +21 -0
  1348. package/dist/server/components/newsletter-section/newsletter-section.schema.js +71 -0
  1349. package/dist/server/components/newsletter-section/newsletter-section.variables.js +10 -0
  1350. package/dist/server/components/number-input/index.js +4 -4
  1351. package/dist/server/components/number-input/number-input.schema.js +1 -1
  1352. package/dist/server/components/number-input/number-input.variables.js +1 -1
  1353. package/dist/server/components/page-header/index.js +12 -0
  1354. package/dist/server/components/page-header/page-header.schema.js +38 -0
  1355. package/dist/server/components/page-header/page-header.variables.js +10 -0
  1356. package/dist/server/components/pagination/index.js +2 -2
  1357. package/dist/server/components/pagination/pagination.schema.js +1 -1
  1358. package/dist/server/components/pagination/pagination.variables.js +1 -1
  1359. package/dist/server/components/payload-inspector/index.js +17 -17
  1360. package/dist/server/components/payload-inspector/payload-inspector.schema.js +1 -1
  1361. package/dist/server/components/payload-inspector/payload-inspector.variables.js +1 -1
  1362. package/dist/server/components/permission-matrix/index.js +5 -5
  1363. package/dist/server/components/permission-matrix/permission-matrix.schema.js +1 -1
  1364. package/dist/server/components/permission-matrix/permission-matrix.variables.js +1 -1
  1365. package/dist/server/components/phone-input/index.js +3 -3
  1366. package/dist/server/components/phone-input/phone-input.schema.js +1 -1
  1367. package/dist/server/components/phone-input/phone-input.variables.js +1 -1
  1368. package/dist/server/components/pin-input/index.js +3 -3
  1369. package/dist/server/components/pin-input/pin-input.schema.js +1 -1
  1370. package/dist/server/components/pin-input/pin-input.variables.js +1 -1
  1371. package/dist/server/components/popover/index.js +4 -4
  1372. package/dist/server/components/popover/popover.schema.js +1 -1
  1373. package/dist/server/components/popover/popover.variables.js +1 -1
  1374. package/dist/server/components/portal/index.js +2 -2
  1375. package/dist/server/components/portal/portal.schema.js +1 -1
  1376. package/dist/server/components/portal/portal.variables.js +1 -1
  1377. package/dist/server/components/pricing-card/index.js +7 -5
  1378. package/dist/server/components/pricing-card/pricing-card.schema.js +1 -1
  1379. package/dist/server/components/pricing-card/pricing-card.variables.js +1 -1
  1380. package/dist/server/components/pricing-section/index.js +17 -0
  1381. package/dist/server/components/pricing-section/pricing-section.schema.js +91 -0
  1382. package/dist/server/components/pricing-section/pricing-section.variables.js +10 -0
  1383. package/dist/server/components/progress/index.js +3 -3
  1384. package/dist/server/components/progress/progress.schema.js +1 -1
  1385. package/dist/server/components/progress/progress.variables.js +1 -1
  1386. package/dist/server/components/qr-code/index.js +12 -0
  1387. package/dist/server/components/qr-code/qr-code.schema.js +45 -0
  1388. package/dist/server/components/qr-code/qr-code.variables.js +10 -0
  1389. package/dist/server/components/radio-group/index.js +2 -2
  1390. package/dist/server/components/radio-group/radio-group.schema.js +1 -1
  1391. package/dist/server/components/radio-group/radio-group.variables.js +1 -1
  1392. package/dist/server/components/rating/index.js +3 -3
  1393. package/dist/server/components/rating/rating.schema.js +1 -1
  1394. package/dist/server/components/rating/rating.variables.js +1 -1
  1395. package/dist/server/components/resizable-panels/index.js +2 -2
  1396. package/dist/server/components/resizable-panels/resizable-panels.schema.js +1 -1
  1397. package/dist/server/components/resizable-panels/resizable-panels.variables.js +1 -1
  1398. package/dist/server/components/review-editor/index.js +41 -41
  1399. package/dist/server/components/review-editor/review-editor.schema.js +1 -1
  1400. package/dist/server/components/review-editor/review-editor.variables.js +1 -1
  1401. package/dist/server/components/run-step-timeline/index.js +7 -7
  1402. package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +1 -1
  1403. package/dist/server/components/run-step-timeline/run-step-timeline.variables.js +1 -1
  1404. package/dist/server/components/schema-form/index.js +8 -8
  1405. package/dist/server/components/schema-form/schema-form.schema.js +1 -1
  1406. package/dist/server/components/schema-form/schema-form.variables.js +1 -1
  1407. package/dist/server/components/scroll-area/index.js +2 -2
  1408. package/dist/server/components/scroll-area/scroll-area.schema.js +1 -1
  1409. package/dist/server/components/scroll-area/scroll-area.variables.js +1 -1
  1410. package/dist/server/components/search-field/index.js +7 -7
  1411. package/dist/server/components/search-field/search-field.schema.js +1 -1
  1412. package/dist/server/components/search-field/search-field.variables.js +1 -1
  1413. package/dist/server/components/secret-value-field/index.js +4 -4
  1414. package/dist/server/components/secret-value-field/secret-value-field.schema.js +1 -1
  1415. package/dist/server/components/secret-value-field/secret-value-field.variables.js +1 -1
  1416. package/dist/server/components/section-heading/index.js +2 -2
  1417. package/dist/server/components/section-heading/section-heading.schema.js +1 -1
  1418. package/dist/server/components/section-heading/section-heading.variables.js +1 -1
  1419. package/dist/server/components/segment/index.js +3 -3
  1420. package/dist/server/components/segment/segment.schema.js +1 -1
  1421. package/dist/server/components/segment/segment.variables.js +1 -1
  1422. package/dist/server/components/segmented-control/index.js +3 -3
  1423. package/dist/server/components/segmented-control/segmented-control.schema.js +1 -1
  1424. package/dist/server/components/segmented-control/segmented-control.variables.js +1 -1
  1425. package/dist/server/components/select/index.js +4 -4
  1426. package/dist/server/components/select/select.schema.js +1 -1
  1427. package/dist/server/components/select/select.variables.js +1 -1
  1428. package/dist/server/components/selection-popover/index.js +4 -4
  1429. package/dist/server/components/selection-popover/selection-popover.schema.js +1 -1
  1430. package/dist/server/components/selection-popover/selection-popover.variables.js +1 -1
  1431. package/dist/server/components/share-card/index.js +3 -3
  1432. package/dist/server/components/share-card/share-card.schema.js +1 -1
  1433. package/dist/server/components/share-card/share-card.variables.js +1 -1
  1434. package/dist/server/components/sheet/index.js +3 -3
  1435. package/dist/server/components/sheet/sheet.schema.js +1 -1
  1436. package/dist/server/components/sheet/sheet.variables.js +1 -1
  1437. package/dist/server/components/shortcut-hint/index.js +3 -3
  1438. package/dist/server/components/shortcut-hint/shortcut-hint.schema.js +1 -1
  1439. package/dist/server/components/shortcut-hint/shortcut-hint.variables.js +1 -1
  1440. package/dist/server/components/side-navigation/index.js +5 -5
  1441. package/dist/server/components/side-navigation/side-navigation.schema.js +1 -1
  1442. package/dist/server/components/side-navigation/side-navigation.variables.js +1 -1
  1443. package/dist/server/components/side-navigation-group/index.js +3 -3
  1444. package/dist/server/components/side-navigation-group/side-navigation-group.schema.js +1 -1
  1445. package/dist/server/components/side-navigation-group/side-navigation-group.variables.js +1 -1
  1446. package/dist/server/components/side-navigation-item/index.js +4 -4
  1447. package/dist/server/components/side-navigation-item/side-navigation-item.schema.js +1 -1
  1448. package/dist/server/components/side-navigation-item/side-navigation-item.variables.js +1 -1
  1449. package/dist/server/components/sidebar/index.js +4 -4
  1450. package/dist/server/components/sidebar/sidebar.schema.js +1 -1
  1451. package/dist/server/components/sidebar/sidebar.variables.js +1 -1
  1452. package/dist/server/components/skeleton/index.js +2 -2
  1453. package/dist/server/components/skeleton/skeleton.schema.js +1 -1
  1454. package/dist/server/components/skeleton/skeleton.variables.js +1 -1
  1455. package/dist/server/components/skip-link/index.js +3 -3
  1456. package/dist/server/components/skip-link/skip-link.schema.js +1 -1
  1457. package/dist/server/components/skip-link/skip-link.variables.js +1 -1
  1458. package/dist/server/components/slider/index.js +3 -3
  1459. package/dist/server/components/slider/slider.schema.js +1 -1
  1460. package/dist/server/components/slider/slider.variables.js +1 -1
  1461. package/dist/server/components/sortable-list/index.js +3 -3
  1462. package/dist/server/components/sortable-list/sortable-list.schema.js +1 -1
  1463. package/dist/server/components/sortable-list/sortable-list.variables.js +1 -1
  1464. package/dist/server/components/sparkbar/index.js +12 -0
  1465. package/dist/server/components/sparkbar/sparkbar.schema.js +53 -0
  1466. package/dist/server/components/sparkbar/sparkbar.variables.js +10 -0
  1467. package/dist/server/components/spectrogram/index.js +3 -3
  1468. package/dist/server/components/spectrogram/spectrogram.schema.js +1 -1
  1469. package/dist/server/components/spectrogram/spectrogram.variables.js +1 -1
  1470. package/dist/server/components/spectrum-chart/index.js +3 -3
  1471. package/dist/server/components/spectrum-chart/spectrum-chart.schema.js +1 -1
  1472. package/dist/server/components/spectrum-chart/spectrum-chart.variables.js +1 -1
  1473. package/dist/server/components/speed-dial/index.js +4 -4
  1474. package/dist/server/components/speed-dial/speed-dial.schema.js +1 -1
  1475. package/dist/server/components/speed-dial/speed-dial.variables.js +1 -1
  1476. package/dist/server/components/speed-dial-action/index.js +4 -4
  1477. package/dist/server/components/speed-dial-action/speed-dial-action.schema.js +1 -1
  1478. package/dist/server/components/speed-dial-action/speed-dial-action.variables.js +1 -1
  1479. package/dist/server/components/spinner/index.js +3 -3
  1480. package/dist/server/components/spinner/spinner.schema.js +1 -1
  1481. package/dist/server/components/spinner/spinner.variables.js +1 -1
  1482. package/dist/server/components/stacked-list-item/index.js +2 -2
  1483. package/dist/server/components/stacked-list-item/stacked-list-item.schema.js +1 -1
  1484. package/dist/server/components/stacked-list-item/stacked-list-item.variables.js +1 -1
  1485. package/dist/server/components/stat/index.js +3 -3
  1486. package/dist/server/components/stat/stat.schema.js +1 -1
  1487. package/dist/server/components/stat/stat.variables.js +1 -1
  1488. package/dist/server/components/stat-group/index.js +5 -4
  1489. package/dist/server/components/stat-group/stat-group.schema.js +1 -1
  1490. package/dist/server/components/stat-group/stat-group.variables.js +1 -1
  1491. package/dist/server/components/stats-section/index.js +18 -0
  1492. package/dist/server/components/stats-section/stats-section.schema.js +92 -0
  1493. package/dist/server/components/stats-section/stats-section.variables.js +10 -0
  1494. package/dist/server/components/status-dot/index.js +3 -3
  1495. package/dist/server/components/status-dot/status-dot.schema.js +1 -1
  1496. package/dist/server/components/status-dot/status-dot.variables.js +1 -1
  1497. package/dist/server/components/steps/index.js +4 -4
  1498. package/dist/server/components/steps/steps.schema.js +1 -1
  1499. package/dist/server/components/steps/steps.variables.js +1 -1
  1500. package/dist/server/components/surface/index.js +3 -3
  1501. package/dist/server/components/surface/surface.schema.js +1 -1
  1502. package/dist/server/components/surface/surface.variables.js +1 -1
  1503. package/dist/server/components/tab/index.js +3 -3
  1504. package/dist/server/components/tab/tab.schema.js +1 -1
  1505. package/dist/server/components/tab/tab.variables.js +1 -1
  1506. package/dist/server/components/tab-list/index.js +3 -3
  1507. package/dist/server/components/tab-list/tab-list.schema.js +1 -1
  1508. package/dist/server/components/tab-list/tab-list.variables.js +1 -1
  1509. package/dist/server/components/tab-panel/index.js +3 -3
  1510. package/dist/server/components/tab-panel/tab-panel.schema.js +1 -1
  1511. package/dist/server/components/tab-panel/tab-panel.variables.js +1 -1
  1512. package/dist/server/components/table/index.js +8 -8
  1513. package/dist/server/components/table/table.schema.js +1 -1
  1514. package/dist/server/components/table/table.variables.js +1 -1
  1515. package/dist/server/components/table-body/index.js +3 -3
  1516. package/dist/server/components/table-body/table-body.schema.js +1 -1
  1517. package/dist/server/components/table-body/table-body.variables.js +1 -1
  1518. package/dist/server/components/table-cell/index.js +3 -3
  1519. package/dist/server/components/table-cell/table-cell.schema.js +1 -1
  1520. package/dist/server/components/table-cell/table-cell.variables.js +1 -1
  1521. package/dist/server/components/table-header/index.js +3 -3
  1522. package/dist/server/components/table-header/table-header.schema.js +1 -1
  1523. package/dist/server/components/table-header/table-header.variables.js +1 -1
  1524. package/dist/server/components/table-header-cell/index.js +3 -3
  1525. package/dist/server/components/table-header-cell/table-header-cell.schema.js +1 -1
  1526. package/dist/server/components/table-header-cell/table-header-cell.variables.js +1 -1
  1527. package/dist/server/components/table-of-contents/index.js +13 -0
  1528. package/dist/server/components/table-of-contents/table-of-contents.schema.js +48 -0
  1529. package/dist/server/components/table-of-contents/table-of-contents.variables.js +16 -0
  1530. package/dist/server/components/table-row/index.js +3 -3
  1531. package/dist/server/components/table-row/table-row.schema.js +1 -1
  1532. package/dist/server/components/table-row/table-row.variables.js +1 -1
  1533. package/dist/server/components/tabs/index.js +7 -7
  1534. package/dist/server/components/tabs/tabs.schema.js +1 -1
  1535. package/dist/server/components/tabs/tabs.variables.js +1 -1
  1536. package/dist/server/components/tag-input/index.js +4 -4
  1537. package/dist/server/components/tag-input/tag-input.schema.js +1 -1
  1538. package/dist/server/components/tag-input/tag-input.variables.js +1 -1
  1539. package/dist/server/components/team-section/index.js +24 -0
  1540. package/dist/server/components/team-section/team-section.schema.js +85 -0
  1541. package/dist/server/components/team-section/team-section.variables.js +10 -0
  1542. package/dist/server/components/testimonial-section/index.js +16 -0
  1543. package/dist/server/components/testimonial-section/testimonial-section.schema.js +80 -0
  1544. package/dist/server/components/testimonial-section/testimonial-section.variables.js +10 -0
  1545. package/dist/server/components/textarea/index.js +4 -4
  1546. package/dist/server/components/textarea/textarea.schema.js +1 -1
  1547. package/dist/server/components/textarea/textarea.variables.js +1 -1
  1548. package/dist/server/components/time-field/index.js +3 -3
  1549. package/dist/server/components/time-field/time-field.schema.js +1 -1
  1550. package/dist/server/components/time-field/time-field.variables.js +1 -1
  1551. package/dist/server/components/timeline/index.js +2 -2
  1552. package/dist/server/components/timeline/timeline.schema.js +1 -1
  1553. package/dist/server/components/timeline/timeline.variables.js +1 -1
  1554. package/dist/server/components/toast-region/index.js +6 -4
  1555. package/dist/server/components/toast-region/toast-region.schema.js +1 -1
  1556. package/dist/server/components/toast-region/toast-region.variables.js +1 -1
  1557. package/dist/server/components/toggle/index.js +2 -2
  1558. package/dist/server/components/toggle/toggle.schema.js +1 -1
  1559. package/dist/server/components/toggle/toggle.variables.js +1 -1
  1560. package/dist/server/components/toolbar/index.js +3 -3
  1561. package/dist/server/components/toolbar/toolbar.schema.js +1 -1
  1562. package/dist/server/components/toolbar/toolbar.variables.js +1 -1
  1563. package/dist/server/components/tooltip/index.js +4 -4
  1564. package/dist/server/components/tooltip/tooltip.schema.js +1 -1
  1565. package/dist/server/components/tooltip/tooltip.variables.js +1 -1
  1566. package/dist/server/components/transfer-list/index.js +2 -2
  1567. package/dist/server/components/transfer-list/transfer-list.schema.js +1 -1
  1568. package/dist/server/components/transfer-list/transfer-list.variables.js +1 -1
  1569. package/dist/server/components/tree/index.js +5 -5
  1570. package/dist/server/components/tree/tree.schema.js +1 -1
  1571. package/dist/server/components/tree/tree.variables.js +1 -1
  1572. package/dist/server/components/tree-item/index.js +4 -4
  1573. package/dist/server/components/tree-item/tree-item.schema.js +1 -1
  1574. package/dist/server/components/tree-item/tree-item.variables.js +1 -1
  1575. package/dist/server/components/typography/index.js +2 -2
  1576. package/dist/server/components/typography/typography.schema.js +1 -1
  1577. package/dist/server/components/typography/typography.variables.js +1 -1
  1578. package/dist/server/components/virtual-list/index.js +2 -2
  1579. package/dist/server/components/virtual-list/virtual-list.schema.js +1 -1
  1580. package/dist/server/components/virtual-list/virtual-list.variables.js +1 -1
  1581. package/dist/server/components/visually-hidden/index.js +3 -3
  1582. package/dist/server/components/visually-hidden/visually-hidden.schema.js +1 -1
  1583. package/dist/server/components/visually-hidden/visually-hidden.variables.js +1 -1
  1584. package/dist/server/components/waveform/index.js +3 -3
  1585. package/dist/server/components/waveform/waveform.schema.js +1 -1
  1586. package/dist/server/components/waveform/waveform.variables.js +1 -1
  1587. package/dist/server/diff/index.js +1 -2
  1588. package/dist/server/diff/line-diff.js +1 -2
  1589. package/dist/server/diff/types.js +1 -2
  1590. package/dist/server/editor/attach.js +1 -2
  1591. package/dist/server/editor/bridge.js +1 -2
  1592. package/dist/server/editor/clipboard.js +1 -2
  1593. package/dist/server/editor/commands.js +1 -2
  1594. package/dist/server/editor/component-runtime.js +1 -2
  1595. package/dist/server/editor/editor.js +16 -5
  1596. package/dist/server/editor/index.js +1 -2
  1597. package/dist/server/editor/keymap-plugin.js +1 -2
  1598. package/dist/server/editor/link-input-rule.js +1 -2
  1599. package/dist/server/editor/milkdown-plugin-runtime.js +1 -2
  1600. package/dist/server/editor/placeholder-security.js +1 -2
  1601. package/dist/server/editor/placeholder.js +1 -2
  1602. package/dist/server/editor/sanitize-html.js +1 -2
  1603. package/dist/server/editor/template-completion-plugin.js +1 -2
  1604. package/dist/server/editor/template-invalid-decoration-plugin.js +1 -2
  1605. package/dist/server/editor/template-placeholders.js +1 -2
  1606. package/dist/server/editor/template-position-utilities.js +1 -2
  1607. package/dist/server/editor/template-render.js +1 -2
  1608. package/dist/server/editor/test-utilities.js +1 -2
  1609. package/dist/server/editor/types.js +1 -2
  1610. package/dist/server/highlighters/shiki/index.js +13 -11
  1611. package/dist/server/index-2ynappje.js +388 -0
  1612. package/dist/server/index-d3jpz7nh.js +265 -0
  1613. package/dist/server/index-v5tk8a0j.js +344 -0
  1614. package/dist/server/index.js +490 -358
  1615. package/dist/server/index.server-02tkmzvs.js +37 -0
  1616. package/dist/server/index.server-0d87rtgb.js +9 -0
  1617. package/dist/server/index.server-0dny4mhe.js +68 -0
  1618. package/dist/server/index.server-0jhra85x.js +49 -0
  1619. package/dist/server/index.server-0jw824y0.js +9 -0
  1620. package/dist/server/index.server-0m5sf323.js +67 -0
  1621. package/dist/server/index.server-0n0h8wsw.js +159 -0
  1622. package/dist/server/index.server-0svdq2kq.js +151 -0
  1623. package/dist/server/index.server-0te7np0n.js +66 -0
  1624. package/dist/server/index.server-0yfgpazx.js +99 -0
  1625. package/dist/server/index.server-10jb2jzm.js +53 -0
  1626. package/dist/server/index.server-1221p7e4.js +59 -0
  1627. package/dist/server/index.server-1bwvsnjk.js +100 -0
  1628. package/dist/server/index.server-1hrcs2mn.js +55 -0
  1629. package/dist/server/index.server-1nm6seqc.js +38 -0
  1630. package/dist/server/index.server-1nq8h5yb.js +656 -0
  1631. package/dist/server/index.server-1p3patnj.js +9 -0
  1632. package/dist/server/index.server-1q6csb7g.js +62 -0
  1633. package/dist/server/index.server-1w762xmp.js +9 -0
  1634. package/dist/server/index.server-20j0jh30.js +9 -0
  1635. package/dist/server/index.server-2752sd9e.js +98 -0
  1636. package/dist/server/index.server-2cyn5sjd.js +9 -0
  1637. package/dist/server/index.server-2ef5byty.js +41 -0
  1638. package/dist/server/index.server-2ffw6am1.js +91 -0
  1639. package/dist/server/index.server-2qd56bzw.js +384 -0
  1640. package/dist/server/index.server-2qdzkapm.js +54 -0
  1641. package/dist/server/index.server-2ssdpqz0.js +458 -0
  1642. package/dist/server/index.server-2ta1a4ze.js +86 -0
  1643. package/dist/server/index.server-30s4ajz2.js +3391 -0
  1644. package/dist/server/index.server-30zw3bv3.js +52 -0
  1645. package/dist/server/index.server-37t15r2c.js +9 -0
  1646. package/dist/server/index.server-39ne5cd1.js +107 -0
  1647. package/dist/server/index.server-3axwhvt7.js +68 -0
  1648. package/dist/server/index.server-3f2jzg7q.js +60 -0
  1649. package/dist/server/index.server-3jr3n02r.js +1835 -0
  1650. package/dist/server/index.server-3qf60xx4.js +9 -0
  1651. package/dist/server/index.server-3sq9d73w.js +569 -0
  1652. package/dist/server/index.server-3yvf1t1p.js +197 -0
  1653. package/dist/server/index.server-435sj5m6.js +125 -0
  1654. package/dist/server/index.server-44vrcbhz.js +25 -0
  1655. package/dist/server/index.server-49m5nntq.js +31 -0
  1656. package/dist/server/index.server-49z7q0pj.js +30 -0
  1657. package/dist/server/index.server-4h5tdvz1.js +271 -0
  1658. package/dist/server/index.server-4kxpbg4p.js +34 -0
  1659. package/dist/server/index.server-4maxbgsj.js +102 -0
  1660. package/dist/server/index.server-4rdkwmfb.js +113 -0
  1661. package/dist/server/index.server-4xer517a.js +23 -0
  1662. package/dist/server/index.server-51r677ht.js +1035 -0
  1663. package/dist/server/index.server-51t6yebn.js +93 -0
  1664. package/dist/server/index.server-52sym42b.js +59 -0
  1665. package/dist/server/index.server-52zhxbdh.js +30 -0
  1666. package/dist/server/index.server-55x63e57.js +9 -0
  1667. package/dist/server/index.server-5c8qde3q.js +9 -0
  1668. package/dist/server/index.server-5exh7rmw.js +362 -0
  1669. package/dist/server/index.server-5fypkt27.js +23 -0
  1670. package/dist/server/index.server-5mc2vsy0.js +92 -0
  1671. package/dist/server/index.server-5zvh7svb.js +9 -0
  1672. package/dist/server/index.server-62p9v60x.js +45 -0
  1673. package/dist/server/index.server-64r048av.js +63 -0
  1674. package/dist/server/index.server-65wyd3qb.js +244 -0
  1675. package/dist/server/index.server-66amt15s.js +47 -0
  1676. package/dist/server/index.server-67q8dmbp.js +210 -0
  1677. package/dist/server/index.server-6gbhg9gp.js +291 -0
  1678. package/dist/server/index.server-6m4r6qzc.js +9 -0
  1679. package/dist/server/index.server-70y2sq2g.js +9 -0
  1680. package/dist/server/index.server-76z9qsxq.js +93 -0
  1681. package/dist/server/index.server-796hb0r8.js +271 -0
  1682. package/dist/server/index.server-7g2pzksm.js +53 -0
  1683. package/dist/server/index.server-7pjefftj.js +102 -0
  1684. package/dist/server/index.server-7scshbcm.js +9 -0
  1685. package/dist/server/index.server-7vyzen5x.js +362 -0
  1686. package/dist/server/index.server-7yfz2t73.js +189 -0
  1687. package/dist/server/index.server-7yp7j1bw.js +371 -0
  1688. package/dist/server/index.server-8ak2cftv.js +9 -0
  1689. package/dist/server/index.server-8bm66pm4.js +83 -0
  1690. package/dist/server/index.server-8bvk5czj.js +9 -0
  1691. package/dist/server/index.server-8gv0tm3r.js +61 -0
  1692. package/dist/server/index.server-8s1t2e2w.js +284 -0
  1693. package/dist/server/index.server-8s3qm06c.js +15 -0
  1694. package/dist/server/index.server-8sybstcc.js +1543 -0
  1695. package/dist/server/index.server-8tkwdtna.js +38 -0
  1696. package/dist/server/index.server-8tr30fpp.js +9 -0
  1697. package/dist/server/index.server-8xrzkve2.js +116 -0
  1698. package/dist/server/index.server-8zazgeyc.js +95 -0
  1699. package/dist/server/index.server-90g4gszd.js +1163 -0
  1700. package/dist/server/index.server-90wxfb4j.js +149 -0
  1701. package/dist/server/index.server-914v805w.js +9 -0
  1702. package/dist/server/index.server-9599zs05.js +9 -0
  1703. package/dist/server/index.server-989dxz7z.js +9 -0
  1704. package/dist/server/index.server-9ew3zj1z.js +726 -0
  1705. package/dist/server/index.server-9fyy0j4c.js +108 -0
  1706. package/dist/server/index.server-9jete4xx.js +117 -0
  1707. package/dist/server/index.server-9jqd7bxw.js +117 -0
  1708. package/dist/server/index.server-9w7k8wwk.js +613 -0
  1709. package/dist/server/index.server-9xrqh29s.js +446 -0
  1710. package/dist/server/index.server-9zfs8c1b.js +35 -0
  1711. package/dist/server/index.server-9zqmr226.js +117 -0
  1712. package/dist/server/index.server-a59y47rw.js +59 -0
  1713. package/dist/server/index.server-a9de6h0d.js +141 -0
  1714. package/dist/server/index.server-af4mbxn7.js +9 -0
  1715. package/dist/server/index.server-ahtaqav5.js +9 -0
  1716. package/dist/server/index.server-ap53z0a0.js +38 -0
  1717. package/dist/server/index.server-apyaqxfw.js +9 -0
  1718. package/dist/server/index.server-axf8h1gd.js +161 -0
  1719. package/dist/server/index.server-b2jaw4ng.js +78 -0
  1720. package/dist/server/index.server-b6jr01st.js +129 -0
  1721. package/dist/server/index.server-bqjv32nb.js +68 -0
  1722. package/dist/server/index.server-bs4tyzxz.js +9 -0
  1723. package/dist/server/index.server-bt1gy21n.js +100 -0
  1724. package/dist/server/index.server-c5qj6x13.js +62 -0
  1725. package/dist/server/index.server-c8pmq1tm.js +151 -0
  1726. package/dist/server/index.server-cm3adbhs.js +256 -0
  1727. package/dist/server/index.server-cpjmf3c9.js +9 -0
  1728. package/dist/server/index.server-d146g8pr.js +423 -0
  1729. package/dist/server/index.server-d2nn25sg.js +29 -0
  1730. package/dist/server/index.server-d4e6afc0.js +22 -0
  1731. package/dist/server/index.server-d6j2jmqg.js +31 -0
  1732. package/dist/server/index.server-d77c4vae.js +56 -0
  1733. package/dist/server/index.server-dbne33pa.js +47 -0
  1734. package/dist/server/index.server-dj47xy3x.js +400 -0
  1735. package/dist/server/index.server-dpw9dc92.js +149 -0
  1736. package/dist/server/index.server-dpwfg6e4.js +9 -0
  1737. package/dist/server/index.server-dt0ccgbz.js +3839 -0
  1738. package/dist/server/index.server-e5zf44p5.js +9 -0
  1739. package/dist/server/index.server-e6yy3jqd.js +73 -0
  1740. package/dist/server/index.server-e9eyxk7a.js +9 -0
  1741. package/dist/server/index.server-eabjzvtt.js +9 -0
  1742. package/dist/server/index.server-edr3c033.js +85 -0
  1743. package/dist/server/index.server-eftvmq3f.js +9 -0
  1744. package/dist/server/index.server-egzx2kh5.js +113 -0
  1745. package/dist/server/index.server-ep81fn23.js +285 -0
  1746. package/dist/server/index.server-eq83dtav.js +195 -0
  1747. package/dist/server/index.server-eqprncaf.js +168 -0
  1748. package/dist/server/index.server-ex3ea9z0.js +109 -0
  1749. package/dist/server/index.server-eyqwajwn.js +81 -0
  1750. package/dist/server/index.server-f3z7tpxr.js +230 -0
  1751. package/dist/server/index.server-f75c90pd.js +50 -0
  1752. package/dist/server/index.server-f7npjawh.js +41 -0
  1753. package/dist/server/index.server-fe41fvr4.js +9 -0
  1754. package/dist/server/index.server-fe98ezq1.js +760 -0
  1755. package/dist/server/index.server-ffcsn4km.js +9 -0
  1756. package/dist/server/index.server-fm19v7bt.js +9 -0
  1757. package/dist/server/index.server-g2nmdcr4.js +9 -0
  1758. package/dist/server/index.server-g3gfbp7a.js +53 -0
  1759. package/dist/server/index.server-g3qbp906.js +377 -0
  1760. package/dist/server/index.server-ga7e445m.js +56 -0
  1761. package/dist/server/index.server-gdtt4a78.js +143 -0
  1762. package/dist/server/index.server-gf20dp5p.js +9 -0
  1763. package/dist/server/index.server-gmd6gbwb.js +462 -0
  1764. package/dist/server/index.server-gmszd3fn.js +9 -0
  1765. package/dist/server/index.server-gn10jdzk.js +72 -0
  1766. package/dist/server/index.server-gyg8tfq3.js +176 -0
  1767. package/dist/server/index.server-h2hjtvk4.js +94 -0
  1768. package/dist/server/index.server-hess6rtb.js +45 -0
  1769. package/dist/server/index.server-hmqm1t7m.js +222 -0
  1770. package/dist/server/index.server-hrdm71tg.js +194 -0
  1771. package/dist/server/index.server-hrq85wvg.js +32 -0
  1772. package/dist/server/index.server-hwajb8z6.js +38 -0
  1773. package/dist/server/index.server-hybyy2xe.js +177 -0
  1774. package/dist/server/index.server-j150jxcq.js +9 -0
  1775. package/dist/server/index.server-j3gec8b5.js +393 -0
  1776. package/dist/server/index.server-j89rzjcz.js +9 -0
  1777. package/dist/server/index.server-j8x6mvrh.js +294 -0
  1778. package/dist/server/index.server-jd0gmw7x.js +37 -0
  1779. package/dist/server/index.server-jnyznmzv.js +74 -0
  1780. package/dist/server/index.server-jp19145t.js +9 -0
  1781. package/dist/server/index.server-jp2xep48.js +38 -0
  1782. package/dist/server/index.server-jsxtrgrv.js +9 -0
  1783. package/dist/server/index.server-jtytqppy.js +75 -0
  1784. package/dist/server/index.server-jz5yxwde.js +319 -0
  1785. package/dist/server/index.server-k1fyyae7.js +9 -0
  1786. package/dist/server/index.server-k2tmp4j0.js +9 -0
  1787. package/dist/server/index.server-k4mpevmq.js +9 -0
  1788. package/dist/server/index.server-k9m693ty.js +100 -0
  1789. package/dist/server/index.server-kc1k02tk.js +9 -0
  1790. package/dist/server/index.server-kfcst2vb.js +9 -0
  1791. package/dist/server/index.server-kfshf5nx.js +111 -0
  1792. package/dist/server/index.server-kg2sepsr.js +102 -0
  1793. package/dist/server/index.server-kwsv1mmy.js +9 -0
  1794. package/dist/server/index.server-kx0w27nk.js +245 -0
  1795. package/dist/server/index.server-m4wc0170.js +9 -0
  1796. package/dist/server/index.server-m80kp6tm.js +4463 -0
  1797. package/dist/server/index.server-meehv9hp.js +4416 -0
  1798. package/dist/server/index.server-mm1xa3kr.js +93 -0
  1799. package/dist/server/index.server-mvhf8b7g.js +74 -0
  1800. package/dist/server/index.server-mz7sqkya.js +97 -0
  1801. package/dist/server/index.server-mzj20rfz.js +77 -0
  1802. package/dist/server/index.server-n16wn1ps.js +15643 -0
  1803. package/dist/server/index.server-n4f4tspa.js +9 -0
  1804. package/dist/server/index.server-n5cdmsz4.js +30 -0
  1805. package/dist/server/index.server-n85yz1tm.js +91 -0
  1806. package/dist/server/index.server-nbrd998e.js +9 -0
  1807. package/dist/server/index.server-ncdt0xb7.js +9 -0
  1808. package/dist/server/index.server-ndss6byn.js +123 -0
  1809. package/dist/server/index.server-npxtkwjp.js +72 -0
  1810. package/dist/server/index.server-nq2r5m1r.js +267 -0
  1811. package/dist/server/index.server-nt304e00.js +216 -0
  1812. package/dist/server/index.server-nwzrpjc9.js +88 -0
  1813. package/dist/server/index.server-ny0z50m0.js +92 -0
  1814. package/dist/server/index.server-nz6jpmkx.js +83 -0
  1815. package/dist/server/index.server-p592zt1q.js +9 -0
  1816. package/dist/server/index.server-p8d04em5.js +53 -0
  1817. package/dist/server/index.server-p9w4tdax.js +9 -0
  1818. package/dist/server/index.server-pfn50743.js +447 -0
  1819. package/dist/server/index.server-pg2vydas.js +190 -0
  1820. package/dist/server/index.server-pm6q0dmn.js +563 -0
  1821. package/dist/server/index.server-pne61vry.js +9 -0
  1822. package/dist/server/index.server-psnzdn2g.js +9 -0
  1823. package/dist/server/index.server-pt8b65mt.js +134 -0
  1824. package/dist/server/index.server-q1mbprkt.js +9 -0
  1825. package/dist/server/index.server-q48q15g7.js +63 -0
  1826. package/dist/server/index.server-q6zdj3xy.js +9 -0
  1827. package/dist/server/index.server-qdnsgt12.js +30 -0
  1828. package/dist/server/index.server-r70ezssy.js +145 -0
  1829. package/dist/server/index.server-r84kvx9x.js +49 -0
  1830. package/dist/server/index.server-rermas0k.js +126 -0
  1831. package/dist/server/index.server-rjgy0mc7.js +1028 -0
  1832. package/dist/server/index.server-rqe5bqgm.js +37 -0
  1833. package/dist/server/index.server-rsqa7q4a.js +90 -0
  1834. package/dist/server/index.server-rtk7fhjy.js +150 -0
  1835. package/dist/server/index.server-rxa52bqt.js +169 -0
  1836. package/dist/server/index.server-rxzp610y.js +277 -0
  1837. package/dist/server/index.server-s0vmsxhj.js +9 -0
  1838. package/dist/server/index.server-s4ynjgep.js +71 -0
  1839. package/dist/server/index.server-s5g7reqp.js +294 -0
  1840. package/dist/server/index.server-sd68dmej.js +169 -0
  1841. package/dist/server/index.server-sghkqw5x.js +421 -0
  1842. package/dist/server/index.server-smw54qtg.js +22 -0
  1843. package/dist/server/index.server-sq3b57v4.js +9 -0
  1844. package/dist/server/index.server-sqnbagf9.js +457 -0
  1845. package/dist/server/index.server-srawp0s9.js +81 -0
  1846. package/dist/server/index.server-svgs2fzj.js +2309 -0
  1847. package/dist/server/index.server-szrtfkbm.js +31 -0
  1848. package/dist/server/index.server-t3hknp1c.js +137 -0
  1849. package/dist/server/index.server-t859hsx1.js +149 -0
  1850. package/dist/server/index.server-tax8khqs.js +95 -0
  1851. package/dist/server/index.server-tbyd4re7.js +203 -0
  1852. package/dist/server/index.server-tez36va4.js +9 -0
  1853. package/dist/server/index.server-tf2n3ccm.js +224 -0
  1854. package/dist/server/index.server-tfftb7hs.js +163 -0
  1855. package/dist/server/index.server-tgmm7xgc.js +83 -0
  1856. package/dist/server/index.server-thcda9ny.js +282 -0
  1857. package/dist/server/index.server-thp81fc0.js +114 -0
  1858. package/dist/server/index.server-tkrsxwye.js +307 -0
  1859. package/dist/server/index.server-tww47bb6.js +1642 -0
  1860. package/dist/server/index.server-v38m2bgg.js +75 -0
  1861. package/dist/server/index.server-v3vnmjat.js +9 -0
  1862. package/dist/server/index.server-v41vrqg7.js +76 -0
  1863. package/dist/server/index.server-v90d8593.js +59 -0
  1864. package/dist/server/index.server-vbn6z472.js +291 -0
  1865. package/dist/server/index.server-vcr8a585.js +20 -0
  1866. package/dist/server/index.server-vdpcpdqc.js +126 -0
  1867. package/dist/server/index.server-vg8t3dkb.js +57 -0
  1868. package/dist/server/index.server-vp3b93er.js +65 -0
  1869. package/dist/server/index.server-vy5csx7j.js +153 -0
  1870. package/dist/server/index.server-vzc1j5mq.js +30 -0
  1871. package/dist/server/index.server-w0y2bxb7.js +72 -0
  1872. package/dist/server/index.server-w1g5q9j9.js +71 -0
  1873. package/dist/server/index.server-w63n618v.js +9 -0
  1874. package/dist/server/index.server-w6k62afr.js +223 -0
  1875. package/dist/server/index.server-w7a9knxq.js +666 -0
  1876. package/dist/server/index.server-w7cxxf03.js +9 -0
  1877. package/dist/server/index.server-w8y3eqhp.js +84 -0
  1878. package/dist/server/index.server-wc8dbm5e.js +117 -0
  1879. package/dist/server/index.server-wcadkrpf.js +239 -0
  1880. package/dist/server/index.server-wckvcay0.js +50 -0
  1881. package/dist/server/index.server-wwk0f944.js +27 -0
  1882. package/dist/server/index.server-x1dha7bk.js +48 -0
  1883. package/dist/server/index.server-x1xxzfvg.js +191 -0
  1884. package/dist/server/index.server-x23hgj29.js +9 -0
  1885. package/dist/server/index.server-x8c8x34n.js +57 -0
  1886. package/dist/server/index.server-x9s4m9eg.js +224 -0
  1887. package/dist/server/index.server-xafa05pt.js +9 -0
  1888. package/dist/server/index.server-xb9cj0bp.js +9 -0
  1889. package/dist/server/index.server-xbx230ec.js +9 -0
  1890. package/dist/server/index.server-xerynzwy.js +37 -0
  1891. package/dist/server/index.server-xgfwm4hw.js +174 -0
  1892. package/dist/server/index.server-xpad931e.js +85 -0
  1893. package/dist/server/index.server-y2pa1k46.js +9 -0
  1894. package/dist/server/index.server-y35dk7yx.js +9 -0
  1895. package/dist/server/index.server-yb5b3hnv.js +9 -0
  1896. package/dist/server/index.server-yf2jn8cr.js +83 -0
  1897. package/dist/server/index.server-yg55jew8.js +162 -0
  1898. package/dist/server/index.server-yjfe3xc3.js +50 -0
  1899. package/dist/server/index.server-yk3731p4.js +9 -0
  1900. package/dist/server/index.server-yq9evnp4.js +38 -0
  1901. package/dist/server/index.server-yth7z776.js +71 -0
  1902. package/dist/server/index.server-z1qvwaem.js +74 -0
  1903. package/dist/server/index.server-z721a5gp.js +192 -0
  1904. package/dist/server/index.server-z7tyy8gh.js +28 -0
  1905. package/dist/server/index.server-z7veaa0n.js +99 -0
  1906. package/dist/server/index.server-zdm63dt8.js +105 -0
  1907. package/dist/server/index.server-ze9xj0kf.js +100 -0
  1908. package/dist/server/index.server-zke5zt13.js +9 -0
  1909. package/dist/server/index.server-zngmm4tg.js +101 -0
  1910. package/dist/server/index.server-zp4hjjym.js +76 -0
  1911. package/dist/server/index.server-zrh23kty.js +107 -0
  1912. package/dist/server/index.server-zvrew616.js +9 -0
  1913. package/dist/server/markdown/diff/compute.js +1 -2
  1914. package/dist/server/markdown/diff/frontmatter.js +1 -2
  1915. package/dist/server/markdown/diff/index.js +1 -2
  1916. package/dist/server/markdown/diff/line-diff.js +1 -2
  1917. package/dist/server/markdown/diff/positions.js +1 -2
  1918. package/dist/server/markdown/diff/types.js +1 -2
  1919. package/dist/server/markdown/index.js +1 -2
  1920. package/dist/server/markdown/pipeline/ast.js +1 -2
  1921. package/dist/server/markdown/pipeline/errors.js +1 -2
  1922. package/dist/server/markdown/pipeline/frontmatter.js +1 -2
  1923. package/dist/server/markdown/pipeline/index.js +1 -2
  1924. package/dist/server/markdown/pipeline/parser.js +1 -2
  1925. package/dist/server/markdown/pipeline/serializer.js +1 -2
  1926. package/dist/server/markdown/pipeline/strip-positions.js +1 -2
  1927. package/dist/server/markdown/pipeline/types.js +1 -2
  1928. package/dist/server/markdown/rendering/extract-code-blocks.js +1 -2
  1929. package/dist/server/markdown/rendering/highlighter.js +1 -2
  1930. package/dist/server/markdown/rendering/index.js +1 -2
  1931. package/dist/server/markdown/rendering/mermaid-cache.js +1 -2
  1932. package/dist/server/markdown/rendering/rehype-shiki-sync.js +1 -2
  1933. package/dist/server/markdown/rendering/render-async.js +1 -2
  1934. package/dist/server/markdown/rendering/render-streaming.js +1 -2
  1935. package/dist/server/markdown/rendering/render-worker.js +1 -2
  1936. package/dist/server/markdown/rendering/render.js +1 -2
  1937. package/dist/server/markdown/rendering/sanitize-schema.js +1 -2
  1938. package/dist/server/markdown/rendering/transform-urls.js +1 -2
  1939. package/dist/server/markdown/rendering/types.js +1 -2
  1940. package/dist/server/markdown/rendering/worker-dom-shim.js +1 -2
  1941. package/dist/server/markdown/utilities/safe-url.js +1 -2
  1942. package/dist/server/markdown/utilities/sort-keys.js +1 -2
  1943. package/dist/server/styles/base-guard.js +6 -3
  1944. package/dist/styles/base-guard.d.ts +1 -0
  1945. package/dist/styles/base-guard.js +35 -2
  1946. package/dist/utilities/change-tracker.svelte.d.ts +1 -2
  1947. package/dist/utilities/json-highlight.d.ts +15 -0
  1948. package/dist/utilities/sortable-controller.svelte.d.ts +3 -4
  1949. package/dist/utilities/stringify.d.ts +3 -3
  1950. package/dist/utilities/typeahead.d.ts +3 -1
  1951. package/dist/utilities/use-announcer.svelte.d.ts +1 -2
  1952. package/dist/utilities/use-history.svelte.d.ts +1 -2
  1953. package/dist/utilities/use-intersection.svelte.d.ts +1 -2
  1954. package/dist/utilities/use-mutation-observer.svelte.d.ts +1 -2
  1955. package/dist/utilities/use-reduced-motion.svelte.d.ts +1 -2
  1956. package/dist/utilities/use-resize-observer.svelte.d.ts +1 -2
  1957. package/package.json +1935 -353
  1958. package/src/_internal/chart/chart-utilities.ts +23 -17
  1959. package/src/_internal/text-direction.ts +1 -2
  1960. package/src/components/alert/alert.css +12 -16
  1961. package/src/components/alert/alert.svelte +7 -2
  1962. package/src/components/alert/alert.types.ts +8 -1
  1963. package/src/components/bento-cell/bento-cell.css +17 -0
  1964. package/src/components/bento-cell/bento-cell.svelte +62 -0
  1965. package/src/components/bento-cell/bento-cell.types.ts +24 -0
  1966. package/src/components/bento-cell/index.ts +6 -0
  1967. package/src/components/bento-grid/bento-grid.css +22 -0
  1968. package/src/components/bento-grid/bento-grid.examples.json +13 -0
  1969. package/src/components/bento-grid/bento-grid.svelte +104 -0
  1970. package/src/components/bento-grid/bento-grid.types.ts +33 -0
  1971. package/src/components/bento-grid/index.ts +12 -0
  1972. package/src/components/blog-section/blog-section.css +98 -0
  1973. package/src/components/blog-section/blog-section.examples.json +13 -0
  1974. package/src/components/blog-section/blog-section.svelte +107 -0
  1975. package/src/components/blog-section/blog-section.types.ts +59 -0
  1976. package/src/components/blog-section/index.ts +6 -0
  1977. package/src/components/calendar/calendar.css +105 -0
  1978. package/src/components/calendar/calendar.examples.json +13 -0
  1979. package/src/components/calendar/calendar.svelte +373 -0
  1980. package/src/components/calendar/calendar.types.ts +31 -0
  1981. package/src/components/calendar/index.ts +6 -0
  1982. package/src/components/carousel/carousel.css +129 -0
  1983. package/src/components/carousel/carousel.examples.json +13 -0
  1984. package/src/components/carousel/carousel.svelte +255 -0
  1985. package/src/components/carousel/carousel.types.ts +47 -0
  1986. package/src/components/carousel/index.ts +11 -0
  1987. package/src/components/chat/adapter/chat-adapter.ts +1 -1
  1988. package/src/components/chat/builders.ts +17 -91
  1989. package/src/components/chat/chat.css +16 -0
  1990. package/src/components/chat/chat.examples.json +2 -2
  1991. package/src/components/chat/container/chat.svelte +24 -18
  1992. package/src/components/chat/container/use-chat-disclosure-state.svelte.ts +96 -0
  1993. package/src/components/chat/container/use-chat-scroll-state.svelte.ts +86 -3
  1994. package/src/components/chat/conversation-model.ts +34 -147
  1995. package/src/components/chat/index.ts +12 -3
  1996. package/src/components/chat/message/chat-message-parts-renderer.svelte +2 -1
  1997. package/src/components/chat/message/chat-message.svelte +54 -3
  1998. package/src/components/chat/message/parts/reasoning-part.svelte +1 -1
  1999. package/src/components/chat/message/parts/tool-approval-part.svelte +6 -3
  2000. package/src/components/chat/message/tool-payload-code.svelte +10 -0
  2001. package/src/components/chat/utilities/conversation.ts +17 -66
  2002. package/src/components/chat/utilities/index.ts +1 -1
  2003. package/src/components/chat/utilities/types.ts +5 -3
  2004. package/src/components/chat/utilities/utilities.ts +58 -13
  2005. package/src/components/collapsible/collapsible-open-prop-harness.svelte +19 -0
  2006. package/src/components/collapsible/collapsible.svelte +18 -3
  2007. package/src/components/collapsible/collapsible.types.ts +21 -6
  2008. package/src/components/cta-section/cta-section.css +54 -0
  2009. package/src/components/cta-section/cta-section.examples.json +13 -0
  2010. package/src/components/cta-section/cta-section.svelte +67 -0
  2011. package/src/components/cta-section/cta-section.types.ts +55 -0
  2012. package/src/components/cta-section/index.ts +6 -0
  2013. package/src/components/date-picker/date-picker.css +106 -0
  2014. package/src/components/date-picker/date-picker.examples.json +19 -0
  2015. package/src/components/date-picker/date-picker.svelte +243 -0
  2016. package/src/components/date-picker/date-picker.types.ts +33 -0
  2017. package/src/components/date-picker/index.ts +6 -0
  2018. package/src/components/date-range-field/date-range-field.css +1 -0
  2019. package/src/components/date-range-field/date-range-field.svelte +18 -35
  2020. package/src/components/description-list/description-list.examples.json +6 -0
  2021. package/src/components/description-list/description-list.svelte +7 -1
  2022. package/src/components/description-list/description-list.types.ts +4 -2
  2023. package/src/components/description-list/index.ts +1 -0
  2024. package/src/components/dropdown/dropdown.css +59 -6
  2025. package/src/components/dropdown/dropdown.examples.json +2 -2
  2026. package/src/components/dropdown/dropdown.svelte +1 -1
  2027. package/src/components/dropdown/dropdown.types.ts +10 -3
  2028. package/src/components/dropdown-menu/dropdown-menu.svelte +5 -1
  2029. package/src/components/event-timeline/event-timeline.css +126 -0
  2030. package/src/components/event-timeline/event-timeline.examples.json +19 -0
  2031. package/src/components/event-timeline/event-timeline.svelte +199 -0
  2032. package/src/components/event-timeline/event-timeline.types.ts +80 -0
  2033. package/src/components/event-timeline/index.ts +12 -0
  2034. package/src/components/feature-section/feature-section.css +114 -0
  2035. package/src/components/feature-section/feature-section.examples.json +13 -0
  2036. package/src/components/feature-section/feature-section.svelte +88 -0
  2037. package/src/components/feature-section/feature-section.types.ts +63 -0
  2038. package/src/components/feature-section/index.ts +11 -0
  2039. package/src/components/footer/footer.css +112 -0
  2040. package/src/components/footer/footer.examples.json +13 -0
  2041. package/src/components/footer/footer.svelte +79 -0
  2042. package/src/components/footer/footer.types.ts +30 -0
  2043. package/src/components/footer/index.ts +6 -0
  2044. package/src/components/hero-section/hero-section.css +83 -0
  2045. package/src/components/hero-section/hero-section.examples.json +13 -0
  2046. package/src/components/hero-section/hero-section.svelte +81 -0
  2047. package/src/components/hero-section/hero-section.types.ts +51 -0
  2048. package/src/components/hero-section/index.ts +10 -0
  2049. package/src/components/inline-loading/index.ts +6 -0
  2050. package/src/components/inline-loading/inline-loading.css +50 -0
  2051. package/src/components/inline-loading/inline-loading.examples.json +13 -0
  2052. package/src/components/inline-loading/inline-loading.svelte +139 -0
  2053. package/src/components/inline-loading/inline-loading.types.ts +41 -0
  2054. package/src/components/input/input.examples.json +6 -0
  2055. package/src/components/input/input.svelte +6 -1
  2056. package/src/components/input/input.types.ts +2 -0
  2057. package/src/components/json-schema-editor/json-schema-validator.ts +13 -16
  2058. package/src/components/logo-cloud/index.ts +6 -0
  2059. package/src/components/logo-cloud/logo-cloud.css +104 -0
  2060. package/src/components/logo-cloud/logo-cloud.examples.json +13 -0
  2061. package/src/components/logo-cloud/logo-cloud.svelte +76 -0
  2062. package/src/components/logo-cloud/logo-cloud.types.ts +51 -0
  2063. package/src/components/markdown-editor/editor-toolbar/toolbar-dropdown.svelte +1 -1
  2064. package/src/components/markdown-editor/markdown-editor.svelte +9 -4
  2065. package/src/components/marquee/index.ts +6 -0
  2066. package/src/components/marquee/marquee.css +135 -0
  2067. package/src/components/marquee/marquee.examples.json +19 -0
  2068. package/src/components/marquee/marquee.svelte +268 -0
  2069. package/src/components/marquee/marquee.types.ts +44 -0
  2070. package/src/components/mega-menu/index.ts +11 -0
  2071. package/src/components/mega-menu/mega-menu.css +204 -0
  2072. package/src/components/mega-menu/mega-menu.examples.json +13 -0
  2073. package/src/components/mega-menu/mega-menu.svelte +415 -0
  2074. package/src/components/mega-menu/mega-menu.types.ts +48 -0
  2075. package/src/components/meter/index.ts +6 -0
  2076. package/src/components/meter/meter.css +90 -0
  2077. package/src/components/meter/meter.examples.json +25 -0
  2078. package/src/components/meter/meter.svelte +203 -0
  2079. package/src/components/meter/meter.types.ts +50 -0
  2080. package/src/components/modal/modal.css +4 -4
  2081. package/src/components/multi-select/index.ts +11 -0
  2082. package/src/components/multi-select/multi-select.css +279 -0
  2083. package/src/components/multi-select/multi-select.examples.json +19 -0
  2084. package/src/components/multi-select/multi-select.svelte +577 -0
  2085. package/src/components/multi-select/multi-select.types.ts +53 -0
  2086. package/src/components/navigation-bar/navigation-bar.svelte +84 -4
  2087. package/src/components/navigation-bar/navigation-bar.types.ts +2 -1
  2088. package/src/components/newsletter-section/index.ts +6 -0
  2089. package/src/components/newsletter-section/newsletter-section.css +53 -0
  2090. package/src/components/newsletter-section/newsletter-section.examples.json +13 -0
  2091. package/src/components/newsletter-section/newsletter-section.svelte +91 -0
  2092. package/src/components/newsletter-section/newsletter-section.types.ts +50 -0
  2093. package/src/components/page-header/index.ts +6 -0
  2094. package/src/components/page-header/page-header.css +51 -0
  2095. package/src/components/page-header/page-header.examples.json +13 -0
  2096. package/src/components/page-header/page-header.svelte +39 -0
  2097. package/src/components/page-header/page-header.types.ts +14 -0
  2098. package/src/components/pricing-section/index.ts +6 -0
  2099. package/src/components/pricing-section/pricing-section.css +54 -0
  2100. package/src/components/pricing-section/pricing-section.examples.json +13 -0
  2101. package/src/components/pricing-section/pricing-section.svelte +84 -0
  2102. package/src/components/pricing-section/pricing-section.types.ts +55 -0
  2103. package/src/components/progress/progress.svelte +2 -1
  2104. package/src/components/qr-code/index.ts +6 -0
  2105. package/src/components/qr-code/qr-code.css +40 -0
  2106. package/src/components/qr-code/qr-code.examples.json +19 -0
  2107. package/src/components/qr-code/qr-code.svelte +160 -0
  2108. package/src/components/qr-code/qr-code.types.ts +36 -0
  2109. package/src/components/resizable-panels/resizable-panels-sizing.ts +103 -58
  2110. package/src/components/review-editor/review-editor-front-matter.ts +2 -3
  2111. package/src/components/schema-form/schema-form-validation.ts +1 -2
  2112. package/src/components/segmented-control/segmented-control.css +13 -1
  2113. package/src/components/sparkbar/index.ts +6 -0
  2114. package/src/components/sparkbar/sparkbar.css +95 -0
  2115. package/src/components/sparkbar/sparkbar.examples.json +19 -0
  2116. package/src/components/sparkbar/sparkbar.svelte +72 -0
  2117. package/src/components/sparkbar/sparkbar.types.ts +48 -0
  2118. package/src/components/stats-section/index.ts +6 -0
  2119. package/src/components/stats-section/stats-section.css +30 -0
  2120. package/src/components/stats-section/stats-section.examples.json +13 -0
  2121. package/src/components/stats-section/stats-section.svelte +86 -0
  2122. package/src/components/stats-section/stats-section.types.ts +61 -0
  2123. package/src/components/table-of-contents/index.ts +6 -0
  2124. package/src/components/table-of-contents/table-of-contents.css +62 -0
  2125. package/src/components/table-of-contents/table-of-contents.examples.json +19 -0
  2126. package/src/components/table-of-contents/table-of-contents.svelte +634 -0
  2127. package/src/components/table-of-contents/table-of-contents.types.ts +70 -0
  2128. package/src/components/team-section/index.ts +6 -0
  2129. package/src/components/team-section/team-section.css +94 -0
  2130. package/src/components/team-section/team-section.examples.json +13 -0
  2131. package/src/components/team-section/team-section.svelte +100 -0
  2132. package/src/components/team-section/team-section.types.ts +59 -0
  2133. package/src/components/testimonial-section/index.ts +10 -0
  2134. package/src/components/testimonial-section/testimonial-section.css +85 -0
  2135. package/src/components/testimonial-section/testimonial-section.examples.json +13 -0
  2136. package/src/components/testimonial-section/testimonial-section.svelte +88 -0
  2137. package/src/components/testimonial-section/testimonial-section.types.ts +57 -0
  2138. package/src/components/toast-region/index.ts +1 -0
  2139. package/src/components/toast-region/toast-region.examples.json +12 -12
  2140. package/src/highlighters/shiki/index.ts +30 -30
  2141. package/src/highlighters/shiki/strip-root-pre-tab-index.ts +8 -0
  2142. package/src/index.ts +126 -0
  2143. package/src/styles/base-guard.ts +3 -1
  2144. package/src/styles/components/_status-surface.css +2 -4
  2145. package/src/styles/components.css +27 -0
  2146. package/src/utilities/change-tracker.svelte.ts +3 -3
  2147. package/src/utilities/json-highlight.ts +6 -18
  2148. package/src/utilities/sortable-controller.svelte.ts +9 -11
  2149. package/src/utilities/stringify.ts +9 -5
  2150. package/src/utilities/typeahead.ts +14 -11
  2151. package/src/utilities/use-announcer.svelte.ts +3 -3
  2152. package/src/utilities/use-history.svelte.ts +6 -11
  2153. package/src/utilities/use-intersection.svelte.ts +3 -9
  2154. package/src/utilities/use-mutation-observer.svelte.ts +3 -9
  2155. package/src/utilities/use-reduced-motion.svelte.ts +1 -3
  2156. package/src/utilities/use-resize-observer.svelte.ts +3 -9
  2157. package/dist/components/chat/container/use-chat-reasoning-state.svelte.d.ts +0 -55
  2158. package/dist/server/commentary/anchor-decorations.d.ts +0 -86
  2159. package/dist/server/commentary/anchoring.d.ts +0 -93
  2160. package/dist/server/commentary/comments/index.d.ts +0 -12
  2161. package/dist/server/commentary/comments/mentions.d.ts +0 -43
  2162. package/dist/server/commentary/comments/reanchor.d.ts +0 -86
  2163. package/dist/server/commentary/comments/types.d.ts +0 -260
  2164. package/dist/server/commentary/comments/updates.d.ts +0 -102
  2165. package/dist/server/commentary/export/comments-export.d.ts +0 -42
  2166. package/dist/server/commentary/export/index.d.ts +0 -12
  2167. package/dist/server/commentary/export/markdown-summary.d.ts +0 -31
  2168. package/dist/server/commentary/export/types.d.ts +0 -162
  2169. package/dist/server/commentary/export/unified-diff.d.ts +0 -28
  2170. package/dist/server/commentary/index.d.ts +0 -6
  2171. package/dist/server/commentary/session/index.d.ts +0 -12
  2172. package/dist/server/commentary/session/persistence.d.ts +0 -92
  2173. package/dist/server/commentary/session/types.d.ts +0 -208
  2174. package/dist/server/commentary/session/updates.d.ts +0 -155
  2175. package/dist/server/commentary/shared/anchor-types.d.ts +0 -116
  2176. package/dist/server/diff/index.d.ts +0 -2
  2177. package/dist/server/diff/line-diff.d.ts +0 -84
  2178. package/dist/server/diff/types.d.ts +0 -1
  2179. package/dist/server/editor/attach.d.ts +0 -30
  2180. package/dist/server/editor/bridge.d.ts +0 -110
  2181. package/dist/server/editor/clipboard.d.ts +0 -19
  2182. package/dist/server/editor/commands.d.ts +0 -167
  2183. package/dist/server/editor/component-runtime.d.ts +0 -21
  2184. package/dist/server/editor/editor.d.ts +0 -23
  2185. package/dist/server/editor/index.d.ts +0 -30
  2186. package/dist/server/editor/keymap-plugin.d.ts +0 -56
  2187. package/dist/server/editor/link-input-rule.d.ts +0 -4
  2188. package/dist/server/editor/milkdown-plugin-runtime.d.ts +0 -20
  2189. package/dist/server/editor/placeholder-security.d.ts +0 -22
  2190. package/dist/server/editor/placeholder.d.ts +0 -14
  2191. package/dist/server/editor/sanitize-html.d.ts +0 -32
  2192. package/dist/server/editor/template-completion-plugin.d.ts +0 -159
  2193. package/dist/server/editor/template-invalid-decoration-plugin.d.ts +0 -73
  2194. package/dist/server/editor/template-placeholders.d.ts +0 -96
  2195. package/dist/server/editor/template-position-utilities.d.ts +0 -34
  2196. package/dist/server/editor/template-render.d.ts +0 -37
  2197. package/dist/server/editor/test-utilities.d.ts +0 -49
  2198. package/dist/server/editor/types.d.ts +0 -234
  2199. package/dist/server/index.server-04pgs1m4.js +0 -9
  2200. package/dist/server/index.server-06ak422z.js +0 -726
  2201. package/dist/server/index.server-09ky0qhy.js +0 -9
  2202. package/dist/server/index.server-0ed43ctm.js +0 -3834
  2203. package/dist/server/index.server-0rj7syca.js +0 -271
  2204. package/dist/server/index.server-0tnw5ter.js +0 -39
  2205. package/dist/server/index.server-1c79f4fe.js +0 -38
  2206. package/dist/server/index.server-1gsgt31t.js +0 -9
  2207. package/dist/server/index.server-1k7j69zg.js +0 -20
  2208. package/dist/server/index.server-1nzyv1av.js +0 -50
  2209. package/dist/server/index.server-1tp7nabp.js +0 -98
  2210. package/dist/server/index.server-1x7gd5rm.js +0 -55
  2211. package/dist/server/index.server-1yn62azq.js +0 -145
  2212. package/dist/server/index.server-24kf2kgd.js +0 -9
  2213. package/dist/server/index.server-27c3ewc8.js +0 -9
  2214. package/dist/server/index.server-2fa12eg1.js +0 -153
  2215. package/dist/server/index.server-2fz89mxv.js +0 -9
  2216. package/dist/server/index.server-2g8qr4nk.js +0 -72
  2217. package/dist/server/index.server-2q8eszkm.js +0 -319
  2218. package/dist/server/index.server-2sjf4r4j.js +0 -1036
  2219. package/dist/server/index.server-2tr8ba51.js +0 -114
  2220. package/dist/server/index.server-2ymxf0ra.js +0 -71
  2221. package/dist/server/index.server-324f5vcc.js +0 -195
  2222. package/dist/server/index.server-338vqndh.js +0 -9
  2223. package/dist/server/index.server-34p02y48.js +0 -149
  2224. package/dist/server/index.server-36yahywm.js +0 -423
  2225. package/dist/server/index.server-37x76zdn.js +0 -6
  2226. package/dist/server/index.server-3cwyrz8f.js +0 -84
  2227. package/dist/server/index.server-3f5f7jd4.js +0 -371
  2228. package/dist/server/index.server-3fvz5gak.js +0 -30
  2229. package/dist/server/index.server-3jz24pb5.js +0 -38
  2230. package/dist/server/index.server-3mbgzhq8.js +0 -59
  2231. package/dist/server/index.server-3zzwg4ew.js +0 -60
  2232. package/dist/server/index.server-41003crj.js +0 -125
  2233. package/dist/server/index.server-4jc5ny87.js +0 -174
  2234. package/dist/server/index.server-4p5znv15.js +0 -92
  2235. package/dist/server/index.server-4pv40879.js +0 -68
  2236. package/dist/server/index.server-4pyw3ask.js +0 -86
  2237. package/dist/server/index.server-4t03p6p4.js +0 -113
  2238. package/dist/server/index.server-4wphqyck.js +0 -73
  2239. package/dist/server/index.server-52fkd3c2.js +0 -53
  2240. package/dist/server/index.server-5599w5gj.js +0 -41
  2241. package/dist/server/index.server-578qndbg.js +0 -221
  2242. package/dist/server/index.server-5h2t2v49.js +0 -9
  2243. package/dist/server/index.server-5hvm9w79.js +0 -9
  2244. package/dist/server/index.server-5kt7t4y4.js +0 -69
  2245. package/dist/server/index.server-5qknw2zb.js +0 -46
  2246. package/dist/server/index.server-5s9645md.js +0 -97
  2247. package/dist/server/index.server-5v74e1fz.js +0 -29
  2248. package/dist/server/index.server-5zbf7wta.js +0 -4463
  2249. package/dist/server/index.server-61g7sxkr.js +0 -191
  2250. package/dist/server/index.server-62gb3jcw.js +0 -9
  2251. package/dist/server/index.server-6492n4zt.js +0 -107
  2252. package/dist/server/index.server-64bppvdn.js +0 -9
  2253. package/dist/server/index.server-68hbjs6n.js +0 -1642
  2254. package/dist/server/index.server-6evw00zj.js +0 -245
  2255. package/dist/server/index.server-6jnnp1s8.js +0 -32
  2256. package/dist/server/index.server-6mdy1500.js +0 -31
  2257. package/dist/server/index.server-6rw2v7f4.js +0 -457
  2258. package/dist/server/index.server-6tc4k9n2.js +0 -281
  2259. package/dist/server/index.server-70c570r3.js +0 -109
  2260. package/dist/server/index.server-76y146qj.js +0 -141
  2261. package/dist/server/index.server-77gpgvab.js +0 -68
  2262. package/dist/server/index.server-7d9fgwdv.js +0 -284
  2263. package/dist/server/index.server-7ptnbrtg.js +0 -9
  2264. package/dist/server/index.server-7pxzf0ch.js +0 -9
  2265. package/dist/server/index.server-7yg3rd66.js +0 -126
  2266. package/dist/server/index.server-8bqpdv5z.js +0 -63
  2267. package/dist/server/index.server-8cvkc386.js +0 -271
  2268. package/dist/server/index.server-8d3tttbj.js +0 -31
  2269. package/dist/server/index.server-8gakk9d5.js +0 -168
  2270. package/dist/server/index.server-8jm0z4vp.js +0 -38
  2271. package/dist/server/index.server-8ysrmagt.js +0 -9
  2272. package/dist/server/index.server-92ae8fk6.js +0 -83
  2273. package/dist/server/index.server-93xr1xx4.js +0 -192
  2274. package/dist/server/index.server-94p65bqz.js +0 -38
  2275. package/dist/server/index.server-94wsps5p.js +0 -9
  2276. package/dist/server/index.server-96fg085d.js +0 -9
  2277. package/dist/server/index.server-9cyktwxj.js +0 -9
  2278. package/dist/server/index.server-9kas8kq5.js +0 -462
  2279. package/dist/server/index.server-9pbg150a.js +0 -9
  2280. package/dist/server/index.server-9r0zg6d9.js +0 -102
  2281. package/dist/server/index.server-9vqgsfds.js +0 -9
  2282. package/dist/server/index.server-9xyn021z.js +0 -9
  2283. package/dist/server/index.server-adgnf7ez.js +0 -190
  2284. package/dist/server/index.server-ah91j894.js +0 -564
  2285. package/dist/server/index.server-ajzk1x9v.js +0 -224
  2286. package/dist/server/index.server-ans2v9y9.js +0 -45
  2287. package/dist/server/index.server-anyk9x1r.js +0 -282
  2288. package/dist/server/index.server-att810se.js +0 -362
  2289. package/dist/server/index.server-awaramqw.js +0 -277
  2290. package/dist/server/index.server-axzcx0e9.js +0 -9
  2291. package/dist/server/index.server-b14k8cq5.js +0 -458
  2292. package/dist/server/index.server-b54c3kn2.js +0 -22
  2293. package/dist/server/index.server-bgcpy5vk.js +0 -47
  2294. package/dist/server/index.server-bktae19b.js +0 -75
  2295. package/dist/server/index.server-bkz7h7jx.js +0 -100
  2296. package/dist/server/index.server-br63fj2h.js +0 -9
  2297. package/dist/server/index.server-bs46fdxd.js +0 -54
  2298. package/dist/server/index.server-bte0dfkh.js +0 -30
  2299. package/dist/server/index.server-bxmyxbfm.js +0 -95
  2300. package/dist/server/index.server-c29mzp9r.js +0 -48
  2301. package/dist/server/index.server-c3gbtj71.js +0 -65
  2302. package/dist/server/index.server-c5jyrshr.js +0 -9
  2303. package/dist/server/index.server-c7t8taqa.js +0 -23
  2304. package/dist/server/index.server-chj73na5.js +0 -655
  2305. package/dist/server/index.server-cjkcwy18.js +0 -9
  2306. package/dist/server/index.server-d2e6xxc3.js +0 -94
  2307. package/dist/server/index.server-d6peankz.js +0 -563
  2308. package/dist/server/index.server-dbkczma7.js +0 -83
  2309. package/dist/server/index.server-dezmeg8v.js +0 -244
  2310. package/dist/server/index.server-dpnwk6w4.js +0 -9
  2311. package/dist/server/index.server-dr17jbt2.js +0 -162
  2312. package/dist/server/index.server-dsf1bjt5.js +0 -9
  2313. package/dist/server/index.server-dt2rpjtk.js +0 -90
  2314. package/dist/server/index.server-dxkrc7sf.js +0 -9
  2315. package/dist/server/index.server-dyryxwe8.js +0 -67
  2316. package/dist/server/index.server-e10j3s54.js +0 -93
  2317. package/dist/server/index.server-e1gjs02r.js +0 -147
  2318. package/dist/server/index.server-e39mgany.js +0 -9
  2319. package/dist/server/index.server-e967et3j.js +0 -77
  2320. package/dist/server/index.server-e9g5b01k.js +0 -9
  2321. package/dist/server/index.server-ecv75266.js +0 -9
  2322. package/dist/server/index.server-eeq2c9pm.js +0 -78
  2323. package/dist/server/index.server-eknv9erd.js +0 -169
  2324. package/dist/server/index.server-emt82wev.js +0 -447
  2325. package/dist/server/index.server-en97tw08.js +0 -9
  2326. package/dist/server/index.server-eq2ca4j4.js +0 -105
  2327. package/dist/server/index.server-eqa0xxbt.js +0 -72
  2328. package/dist/server/index.server-ezn8d6zv.js +0 -285
  2329. package/dist/server/index.server-f1j0pjt8.js +0 -99
  2330. package/dist/server/index.server-f42dvea7.js +0 -294
  2331. package/dist/server/index.server-fankxd0h.js +0 -362
  2332. package/dist/server/index.server-fcgycatb.js +0 -9
  2333. package/dist/server/index.server-fdmb571x.js +0 -116
  2334. package/dist/server/index.server-fgpfrjbw.js +0 -9
  2335. package/dist/server/index.server-fhnhfrf4.js +0 -9
  2336. package/dist/server/index.server-fjzvm2c4.js +0 -175
  2337. package/dist/server/index.server-fnj6xyr0.js +0 -1028
  2338. package/dist/server/index.server-fy9eb0xp.js +0 -101
  2339. package/dist/server/index.server-fz2jddt8.js +0 -613
  2340. package/dist/server/index.server-g8kdhzf2.js +0 -146
  2341. package/dist/server/index.server-gae09raw.js +0 -75
  2342. package/dist/server/index.server-ghvqpc50.js +0 -71
  2343. package/dist/server/index.server-gj3eb1ce.js +0 -23
  2344. package/dist/server/index.server-grb4gyta.js +0 -210
  2345. package/dist/server/index.server-gtsdsv75.js +0 -230
  2346. package/dist/server/index.server-gw4atb82.js +0 -216
  2347. package/dist/server/index.server-gxhj1st8.js +0 -9
  2348. package/dist/server/index.server-h1vdh0nc.js +0 -107
  2349. package/dist/server/index.server-h68sx7bz.js +0 -37
  2350. package/dist/server/index.server-hmw4afhn.js +0 -25
  2351. package/dist/server/index.server-hn1n8dwr.js +0 -9
  2352. package/dist/server/index.server-hxz0tnr9.js +0 -57
  2353. package/dist/server/index.server-hzamrkgk.js +0 -256
  2354. package/dist/server/index.server-j2kh5fhy.js +0 -9
  2355. package/dist/server/index.server-jda8tyzf.js +0 -53
  2356. package/dist/server/index.server-jev5qwr3.js +0 -9
  2357. package/dist/server/index.server-jh1te4hy.js +0 -9
  2358. package/dist/server/index.server-jhvs517p.js +0 -384
  2359. package/dist/server/index.server-jky3p49s.js +0 -9
  2360. package/dist/server/index.server-jwwwgx0d.js +0 -9
  2361. package/dist/server/index.server-jx2qn5an.js +0 -9
  2362. package/dist/server/index.server-k02nvs46.js +0 -50
  2363. package/dist/server/index.server-k15sq5qf.js +0 -294
  2364. package/dist/server/index.server-k1hd2e0x.js +0 -9
  2365. package/dist/server/index.server-k454ba7j.js +0 -291
  2366. package/dist/server/index.server-k5fmb7tw.js +0 -35
  2367. package/dist/server/index.server-k7py0pfc.js +0 -151
  2368. package/dist/server/index.server-kjtb596w.js +0 -163
  2369. package/dist/server/index.server-kq859dmc.js +0 -1543
  2370. package/dist/server/index.server-kykvc153.js +0 -3393
  2371. package/dist/server/index.server-m6phax03.js +0 -137
  2372. package/dist/server/index.server-m8d6yz6b.js +0 -47
  2373. package/dist/server/index.server-m9axazfh.js +0 -9
  2374. package/dist/server/index.server-m9n4b1bv.js +0 -9
  2375. package/dist/server/index.server-mm4g29h0.js +0 -85
  2376. package/dist/server/index.server-msf37rwk.js +0 -9
  2377. package/dist/server/index.server-n3zbnw3w.js +0 -194
  2378. package/dist/server/index.server-n4zvbkvq.js +0 -9
  2379. package/dist/server/index.server-n562tmxd.js +0 -197
  2380. package/dist/server/index.server-n86bmg5s.js +0 -393
  2381. package/dist/server/index.server-najpstc3.js +0 -224
  2382. package/dist/server/index.server-nav1z5d8.js +0 -59
  2383. package/dist/server/index.server-nhnvxwz3.js +0 -9
  2384. package/dist/server/index.server-nvktnr2d.js +0 -2311
  2385. package/dist/server/index.server-nw1n32dx.js +0 -100
  2386. package/dist/server/index.server-nwjjp9t6.js +0 -71
  2387. package/dist/server/index.server-nxx9ckb3.js +0 -123
  2388. package/dist/server/index.server-nzjy03c0.js +0 -189
  2389. package/dist/server/index.server-p617pg5j.js +0 -9
  2390. package/dist/server/index.server-p78n7r6g.js +0 -37
  2391. package/dist/server/index.server-pa4qcv70.js +0 -9
  2392. package/dist/server/index.server-pehx7yrn.js +0 -72
  2393. package/dist/server/index.server-pg65gmdb.js +0 -117
  2394. package/dist/server/index.server-ps1p8xrf.js +0 -9
  2395. package/dist/server/index.server-q160a4x5.js +0 -9
  2396. package/dist/server/index.server-q4qh8a6x.js +0 -126
  2397. package/dist/server/index.server-q550gsbe.js +0 -83
  2398. package/dist/server/index.server-qjdkp02z.js +0 -117
  2399. package/dist/server/index.server-qkwnbj88.js +0 -149
  2400. package/dist/server/index.server-qq12yqwb.js +0 -76
  2401. package/dist/server/index.server-qreadmdy.js +0 -85
  2402. package/dist/server/index.server-qwn3yfyq.js +0 -74
  2403. package/dist/server/index.server-qxd1ej6r.js +0 -161
  2404. package/dist/server/index.server-qz23rh6j.js +0 -34
  2405. package/dist/server/index.server-r0wzpqh7.js +0 -113
  2406. package/dist/server/index.server-r30hm3ep.js +0 -159
  2407. package/dist/server/index.server-rpenapvz.js +0 -57
  2408. package/dist/server/index.server-rsjrjd13.js +0 -223
  2409. package/dist/server/index.server-s0xz0vmh.js +0 -117
  2410. package/dist/server/index.server-s84epxbr.js +0 -134
  2411. package/dist/server/index.server-sg3pthbn.js +0 -81
  2412. package/dist/server/index.server-sk2damtz.js +0 -150
  2413. package/dist/server/index.server-sz7qa1vs.js +0 -9
  2414. package/dist/server/index.server-t437b1td.js +0 -71
  2415. package/dist/server/index.server-t9a3m15z.js +0 -691
  2416. package/dist/server/index.server-tesf3qd9.js +0 -446
  2417. package/dist/server/index.server-thp727nz.js +0 -9
  2418. package/dist/server/index.server-tjbpdh7b.js +0 -47
  2419. package/dist/server/index.server-tm012b9x.js +0 -421
  2420. package/dist/server/index.server-tp1j7few.js +0 -53
  2421. package/dist/server/index.server-tys344bj.js +0 -61
  2422. package/dist/server/index.server-v5qqrjej.js +0 -30
  2423. package/dist/server/index.server-v6kp8px5.js +0 -68
  2424. package/dist/server/index.server-va9x168w.js +0 -30
  2425. package/dist/server/index.server-vbnc9fac.js +0 -377
  2426. package/dist/server/index.server-vqgwwdzz.js +0 -9
  2427. package/dist/server/index.server-vqhdvsx5.js +0 -151
  2428. package/dist/server/index.server-vzvz108c.js +0 -9
  2429. package/dist/server/index.server-wj91h1wk.js +0 -666
  2430. package/dist/server/index.server-wqkzae6a.js +0 -41
  2431. package/dist/server/index.server-wrx4sd6j.js +0 -9
  2432. package/dist/server/index.server-wrz6jqw1.js +0 -59
  2433. package/dist/server/index.server-x83rwh0m.js +0 -49
  2434. package/dist/server/index.server-xb4r3skb.js +0 -9
  2435. package/dist/server/index.server-xecgaeth.js +0 -102
  2436. package/dist/server/index.server-xjmx6rm8.js +0 -1162
  2437. package/dist/server/index.server-xmphf30z.js +0 -9
  2438. package/dist/server/index.server-xnh932xs.js +0 -85
  2439. package/dist/server/index.server-xp53vmj5.js +0 -129
  2440. package/dist/server/index.server-xpghbgpz.js +0 -22
  2441. package/dist/server/index.server-xqmtg1tq.js +0 -9
  2442. package/dist/server/index.server-xxddjkmm.js +0 -9
  2443. package/dist/server/index.server-y0q949bm.js +0 -27
  2444. package/dist/server/index.server-y16zcjfw.js +0 -38
  2445. package/dist/server/index.server-y3r39npa.js +0 -54
  2446. package/dist/server/index.server-y3xyech8.js +0 -9
  2447. package/dist/server/index.server-y68tcxw3.js +0 -52
  2448. package/dist/server/index.server-ya3f9g84.js +0 -9
  2449. package/dist/server/index.server-yaejrcc0.js +0 -53
  2450. package/dist/server/index.server-ygk52jt8.js +0 -62
  2451. package/dist/server/index.server-yheh2spx.js +0 -66
  2452. package/dist/server/index.server-yr9zjj1r.js +0 -31
  2453. package/dist/server/index.server-ytdfzwh1.js +0 -56
  2454. package/dist/server/index.server-z63wz94j.js +0 -9
  2455. package/dist/server/index.server-zbcza3tc.js +0 -62
  2456. package/dist/server/index.server-zbf09rvx.js +0 -111
  2457. package/dist/server/index.server-zcfnwc9r.js +0 -37
  2458. package/dist/server/index.server-zdg2zpx1.js +0 -28
  2459. package/dist/server/index.server-zf0r6cj7.js +0 -9
  2460. package/dist/server/index.server-zm9kbbpp.js +0 -9
  2461. package/dist/server/index.server-zt7rjnct.js +0 -100
  2462. package/dist/server/markdown/diff/compute.d.ts +0 -28
  2463. package/dist/server/markdown/diff/frontmatter.d.ts +0 -66
  2464. package/dist/server/markdown/diff/index.d.ts +0 -27
  2465. package/dist/server/markdown/diff/line-diff.d.ts +0 -2
  2466. package/dist/server/markdown/diff/positions.d.ts +0 -66
  2467. package/dist/server/markdown/diff/types.d.ts +0 -78
  2468. package/dist/server/markdown/index.d.ts +0 -2
  2469. package/dist/server/markdown/pipeline/ast.d.ts +0 -302
  2470. package/dist/server/markdown/pipeline/errors.d.ts +0 -37
  2471. package/dist/server/markdown/pipeline/frontmatter.d.ts +0 -127
  2472. package/dist/server/markdown/pipeline/index.d.ts +0 -37
  2473. package/dist/server/markdown/pipeline/parser.d.ts +0 -65
  2474. package/dist/server/markdown/pipeline/serializer.d.ts +0 -67
  2475. package/dist/server/markdown/pipeline/strip-positions.d.ts +0 -20
  2476. package/dist/server/markdown/pipeline/types.d.ts +0 -116
  2477. package/dist/server/markdown/rendering/extract-code-blocks.d.ts +0 -16
  2478. package/dist/server/markdown/rendering/highlighter.d.ts +0 -109
  2479. package/dist/server/markdown/rendering/index.d.ts +0 -41
  2480. package/dist/server/markdown/rendering/mermaid-cache.d.ts +0 -55
  2481. package/dist/server/markdown/rendering/rehype-shiki-sync.d.ts +0 -57
  2482. package/dist/server/markdown/rendering/render-async.d.ts +0 -43
  2483. package/dist/server/markdown/rendering/render-streaming.d.ts +0 -33
  2484. package/dist/server/markdown/rendering/render-worker.d.ts +0 -19
  2485. package/dist/server/markdown/rendering/render.d.ts +0 -123
  2486. package/dist/server/markdown/rendering/sanitize-schema.d.ts +0 -24
  2487. package/dist/server/markdown/rendering/transform-urls.d.ts +0 -37
  2488. package/dist/server/markdown/rendering/types.d.ts +0 -51
  2489. package/dist/server/markdown/rendering/worker-dom-shim.d.ts +0 -87
  2490. package/dist/server/markdown/utilities/safe-url.d.ts +0 -100
  2491. package/dist/server/markdown/utilities/sort-keys.d.ts +0 -19
  2492. package/src/components/_radio/README.md +0 -51
  2493. package/src/components/access-gate/README.md +0 -55
  2494. package/src/components/accordion/README.md +0 -65
  2495. package/src/components/accordion-item/README.md +0 -44
  2496. package/src/components/alert/README.md +0 -41
  2497. package/src/components/alert-dialog/README.md +0 -75
  2498. package/src/components/approval-card/README.md +0 -92
  2499. package/src/components/area-chart/README.md +0 -64
  2500. package/src/components/aspect-ratio/README.md +0 -54
  2501. package/src/components/autocomplete/README.md +0 -47
  2502. package/src/components/avatar/README.md +0 -44
  2503. package/src/components/avatar-group/README.md +0 -44
  2504. package/src/components/backdrop/README.md +0 -56
  2505. package/src/components/badge/README.md +0 -46
  2506. package/src/components/banner/README.md +0 -44
  2507. package/src/components/bar-chart/README.md +0 -67
  2508. package/src/components/breadcrumbs/README.md +0 -39
  2509. package/src/components/button/README.md +0 -51
  2510. package/src/components/button-group/README.md +0 -43
  2511. package/src/components/callout/README.md +0 -43
  2512. package/src/components/capability-gate/README.md +0 -60
  2513. package/src/components/card/README.md +0 -49
  2514. package/src/components/chat/README.md +0 -190
  2515. package/src/components/chat/container/use-chat-reasoning-state.svelte.ts +0 -93
  2516. package/src/components/chat-conversation-header/README.md +0 -40
  2517. package/src/components/chat-conversation-list/README.md +0 -45
  2518. package/src/components/checkbox/README.md +0 -47
  2519. package/src/components/checkbox-group/README.md +0 -46
  2520. package/src/components/chip/README.md +0 -52
  2521. package/src/components/choice-grid/README.md +0 -66
  2522. package/src/components/choice-grid-item/README.md +0 -41
  2523. package/src/components/click-away-listener/README.md +0 -50
  2524. package/src/components/code-block/README.md +0 -46
  2525. package/src/components/collapsible/README.md +0 -75
  2526. package/src/components/color-field/README.md +0 -98
  2527. package/src/components/color-picker/README.md +0 -48
  2528. package/src/components/color-swatch-picker/README.md +0 -49
  2529. package/src/components/combobox/README.md +0 -53
  2530. package/src/components/command-item/README.md +0 -49
  2531. package/src/components/command-menu/README.md +0 -61
  2532. package/src/components/command-palette/README.md +0 -66
  2533. package/src/components/confirm-dialog/README.md +0 -79
  2534. package/src/components/container/README.md +0 -50
  2535. package/src/components/context-menu/README.md +0 -55
  2536. package/src/components/context-menu-trigger/README.md +0 -50
  2537. package/src/components/copy-button/README.md +0 -46
  2538. package/src/components/data-grid/README.md +0 -80
  2539. package/src/components/data-list/README.md +0 -73
  2540. package/src/components/data-table/README.md +0 -84
  2541. package/src/components/date-range-field/README.md +0 -142
  2542. package/src/components/description-list/README.md +0 -42
  2543. package/src/components/diff-statistics/README.md +0 -61
  2544. package/src/components/diff-viewer/README.md +0 -59
  2545. package/src/components/divider/README.md +0 -59
  2546. package/src/components/drawer/README.md +0 -66
  2547. package/src/components/dropdown/README.md +0 -71
  2548. package/src/components/dropdown-group/README.md +0 -52
  2549. package/src/components/dropdown-item/README.md +0 -46
  2550. package/src/components/dropdown-label/README.md +0 -38
  2551. package/src/components/dropdown-menu/README.md +0 -38
  2552. package/src/components/dropdown-separator/README.md +0 -37
  2553. package/src/components/dropdown-trigger/README.md +0 -39
  2554. package/src/components/empty-state/README.md +0 -44
  2555. package/src/components/event-stream-viewer/README.md +0 -169
  2556. package/src/components/faceted-filter-bar/README.md +0 -170
  2557. package/src/components/feed/README.md +0 -58
  2558. package/src/components/feed-event/README.md +0 -43
  2559. package/src/components/file-upload/README.md +0 -63
  2560. package/src/components/floating-action-button/README.md +0 -54
  2561. package/src/components/focus-trap/README.md +0 -51
  2562. package/src/components/form-field/README.md +0 -46
  2563. package/src/components/form-section/README.md +0 -45
  2564. package/src/components/grid/README.md +0 -61
  2565. package/src/components/grid-item/README.md +0 -50
  2566. package/src/components/grid-list/README.md +0 -55
  2567. package/src/components/grid-list-item/README.md +0 -45
  2568. package/src/components/hover-card/README.md +0 -60
  2569. package/src/components/image/README.md +0 -50
  2570. package/src/components/input/README.md +0 -52
  2571. package/src/components/invocation-rule-builder/README.md +0 -128
  2572. package/src/components/json-schema-editor/README.md +0 -59
  2573. package/src/components/json-viewer/README.md +0 -43
  2574. package/src/components/kanban-board/README.md +0 -62
  2575. package/src/components/kbd/README.md +0 -42
  2576. package/src/components/keyboard-shortcuts/README.md +0 -51
  2577. package/src/components/label/README.md +0 -43
  2578. package/src/components/line-chart/README.md +0 -63
  2579. package/src/components/link/README.md +0 -55
  2580. package/src/components/load-more/README.md +0 -58
  2581. package/src/components/locale-provider/README.md +0 -43
  2582. package/src/components/markdown-editor/README.md +0 -70
  2583. package/src/components/masonry/README.md +0 -49
  2584. package/src/components/matrix-chart/README.md +0 -63
  2585. package/src/components/media-controls/README.md +0 -60
  2586. package/src/components/menu-bar/README.md +0 -53
  2587. package/src/components/message/README.md +0 -44
  2588. package/src/components/modal/README.md +0 -94
  2589. package/src/components/navigation-bar/README.md +0 -75
  2590. package/src/components/navigation-item/README.md +0 -46
  2591. package/src/components/number-input/README.md +0 -54
  2592. package/src/components/pagination/README.md +0 -44
  2593. package/src/components/payload-inspector/README.md +0 -147
  2594. package/src/components/permission-matrix/README.md +0 -61
  2595. package/src/components/phone-input/README.md +0 -55
  2596. package/src/components/pin-input/README.md +0 -56
  2597. package/src/components/popover/README.md +0 -82
  2598. package/src/components/portal/README.md +0 -49
  2599. package/src/components/pricing-card/README.md +0 -56
  2600. package/src/components/progress/README.md +0 -46
  2601. package/src/components/radio-group/README.md +0 -48
  2602. package/src/components/rating/README.md +0 -55
  2603. package/src/components/resizable-panels/README.md +0 -33
  2604. package/src/components/review-editor/README.md +0 -64
  2605. package/src/components/run-step-timeline/README.md +0 -199
  2606. package/src/components/schema-form/README.md +0 -59
  2607. package/src/components/scroll-area/README.md +0 -46
  2608. package/src/components/search-field/README.md +0 -50
  2609. package/src/components/secret-value-field/README.md +0 -85
  2610. package/src/components/section-heading/README.md +0 -45
  2611. package/src/components/segment/README.md +0 -55
  2612. package/src/components/segmented-control/README.md +0 -55
  2613. package/src/components/select/README.md +0 -47
  2614. package/src/components/selection-popover/README.md +0 -134
  2615. package/src/components/share-card/README.md +0 -58
  2616. package/src/components/sheet/README.md +0 -62
  2617. package/src/components/shortcut-hint/README.md +0 -52
  2618. package/src/components/side-navigation/README.md +0 -56
  2619. package/src/components/side-navigation-group/README.md +0 -44
  2620. package/src/components/side-navigation-item/README.md +0 -44
  2621. package/src/components/sidebar/README.md +0 -48
  2622. package/src/components/skeleton/README.md +0 -42
  2623. package/src/components/skip-link/README.md +0 -51
  2624. package/src/components/slider/README.md +0 -52
  2625. package/src/components/sortable-list/README.md +0 -65
  2626. package/src/components/spectrogram/README.md +0 -60
  2627. package/src/components/spectrum-chart/README.md +0 -59
  2628. package/src/components/speed-dial/README.md +0 -54
  2629. package/src/components/speed-dial-action/README.md +0 -51
  2630. package/src/components/spinner/README.md +0 -38
  2631. package/src/components/stacked-list-item/README.md +0 -59
  2632. package/src/components/stat/README.md +0 -59
  2633. package/src/components/stat-group/README.md +0 -54
  2634. package/src/components/status-dot/README.md +0 -56
  2635. package/src/components/steps/README.md +0 -73
  2636. package/src/components/surface/README.md +0 -39
  2637. package/src/components/tab/README.md +0 -42
  2638. package/src/components/tab-list/README.md +0 -40
  2639. package/src/components/tab-panel/README.md +0 -40
  2640. package/src/components/table/README.md +0 -86
  2641. package/src/components/table-body/README.md +0 -38
  2642. package/src/components/table-cell/README.md +0 -40
  2643. package/src/components/table-header/README.md +0 -42
  2644. package/src/components/table-header-cell/README.md +0 -42
  2645. package/src/components/table-row/README.md +0 -42
  2646. package/src/components/tabs/README.md +0 -89
  2647. package/src/components/tag-input/README.md +0 -75
  2648. package/src/components/textarea/README.md +0 -49
  2649. package/src/components/time-field/README.md +0 -60
  2650. package/src/components/timeline/README.md +0 -70
  2651. package/src/components/toast-region/README.md +0 -43
  2652. package/src/components/toast-region.md +0 -185
  2653. package/src/components/toggle/README.md +0 -48
  2654. package/src/components/toolbar/README.md +0 -52
  2655. package/src/components/tooltip/README.md +0 -45
  2656. package/src/components/transfer-list/README.md +0 -52
  2657. package/src/components/tree/README.md +0 -83
  2658. package/src/components/tree-item/README.md +0 -48
  2659. package/src/components/typography/README.md +0 -52
  2660. package/src/components/virtual-list/README.md +0 -70
  2661. package/src/components/visually-hidden/README.md +0 -42
  2662. package/src/components/waveform/README.md +0 -59
  2663. /package/dist/{components/chat/index.css → index.browser.css} +0 -0
@@ -1,3834 +0,0 @@
1
- import {
2
- Markdown_editor
3
- } from "./index.server-xjmx6rm8.js";
4
- import {
5
- useIntersection
6
- } from "./index.server-kb6w1a7c.js";
7
- import {
8
- useAnnouncer
9
- } from "./index.server-gbzsb04q.js";
10
- import {
11
- formatBytes
12
- } from "./index.server-w6am2dxc.js";
13
- import {
14
- stringify
15
- } from "./index.server-nwjjp9t6.js";
16
- import {
17
- deriveMessageParts,
18
- getMessageText,
19
- getMessages,
20
- pairToolCallsWithResults,
21
- resolveMessageReasoning,
22
- resolveMessageSteps,
23
- resolveMessageSuggestions
24
- } from "./index.server-578qndbg.js";
25
- import {
26
- useReducedMotion
27
- } from "./index.server-8hdvr9bt.js";
28
- import {
29
- Arrow_up,
30
- Check_check,
31
- Chevron_up,
32
- Circle_alert,
33
- Paperclip,
34
- Square
35
- } from "./index.server-2fa12eg1.js";
36
- import {
37
- Ellipsis,
38
- Pencil
39
- } from "./index.server-nav1z5d8.js";
40
- import {
41
- Search
42
- } from "./index.server-bte0dfkh.js";
43
- import {
44
- X
45
- } from "./index.server-3fvz5gak.js";
46
- import {
47
- Chevron_down,
48
- Chevron_left,
49
- Chevron_right,
50
- Rotate_ccw
51
- } from "./index.server-e10j3s54.js";
52
- import {
53
- File_code
54
- } from "./index.server-p78n7r6g.js";
55
- import {
56
- File_text
57
- } from "./index.server-y16zcjfw.js";
58
- import {
59
- Code_block
60
- } from "./index.server-2g8qr4nk.js";
61
- import {
62
- Copy_button
63
- } from "./index.server-3cwyrz8f.js";
64
- import {
65
- Check
66
- } from "./index.server-y0q949bm.js";
67
- import {
68
- Button
69
- } from "./index.server-34p02y48.js";
70
- import {
71
- classNames
72
- } from "./index.server-z7nvkz8v.js";
73
- import {
74
- __require
75
- } from "./index.server-37x76zdn.js";
76
-
77
- // src/components/chat/chat.svelte
78
- import * as $36 from "svelte/internal/server";
79
-
80
- // src/components/chat/container/chat.svelte
81
- import * as $35 from "svelte/internal/server";
82
- import { tick as tick2, untrack as untrack2 } from "svelte";
83
-
84
- // src/components/chat/message/chat-date-separator.svelte
85
- import * as $ from "svelte/internal/server";
86
- function Chat_date_separator($$renderer, $$props) {
87
- $$renderer.component(($$renderer2) => {
88
- let {
89
- date,
90
- dateFormatter,
91
- class: className,
92
- $$slots,
93
- $$events,
94
- ...rest
95
- } = $$props;
96
- const dateObj = $.derived(() => typeof date === "string" ? new Date(date) : date);
97
- const isValidDate = $.derived(() => !isNaN(dateObj().getTime()));
98
- const formattedDate = $.derived(() => {
99
- if (!isValidDate()) {
100
- return "Invalid date";
101
- }
102
- if (dateFormatter) {
103
- return dateFormatter(dateObj());
104
- }
105
- const now = new Date;
106
- const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
107
- const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);
108
- const dateOnly = new Date(dateObj().getFullYear(), dateObj().getMonth(), dateObj().getDate());
109
- if (dateOnly.getTime() === today.getTime()) {
110
- return "Today";
111
- }
112
- if (dateOnly.getTime() === yesterday.getTime()) {
113
- return "Yesterday";
114
- }
115
- return new Intl.DateTimeFormat(undefined, { weekday: "long", month: "long", day: "numeric" }).format(dateObj());
116
- });
117
- const isoDate = $.derived(() => isValidDate() ? dateObj().toISOString().split("T")[0] : "");
118
- $$renderer2.push(`<div${$.attributes({
119
- class: $.clsx(classNames("chat-date-separator", className)),
120
- role: "separator",
121
- "aria-label": `Messages from ${formattedDate()}`,
122
- ...rest
123
- }, "svelte-1ohxdji")}><span class="chat-date-separator-line svelte-1ohxdji" aria-hidden="true"></span> `);
124
- if (isValidDate()) {
125
- $$renderer2.push("<!--[0-->");
126
- $$renderer2.push(`<time class="chat-date-separator-text svelte-1ohxdji"${$.attr("datetime", isoDate())}>${$.escape(formattedDate())}</time>`);
127
- } else {
128
- $$renderer2.push("<!--[-1-->");
129
- $$renderer2.push(`<span class="chat-date-separator-text svelte-1ohxdji">${$.escape(formattedDate())}</span>`);
130
- }
131
- $$renderer2.push(`<!--]--> <span class="chat-date-separator-line svelte-1ohxdji" aria-hidden="true"></span></div>`);
132
- });
133
- }
134
- // src/components/chat/message/chat-message.svelte
135
- import * as $17 from "svelte/internal/server";
136
-
137
- // src/components/chat/message/chat-message-parts-renderer.svelte
138
- import * as $16 from "svelte/internal/server";
139
-
140
- // src/components/chat/message/chat-message-parts.ts
141
- function toRenderUnits(parts) {
142
- const units = [];
143
- let imageRun = [];
144
- let stepRun = [];
145
- let suggestionRun = [];
146
- const flushImages = () => {
147
- if (imageRun.length > 0) {
148
- units.push({ kind: "images", images: imageRun, key: `images:${imageRun[0].key}` });
149
- imageRun = [];
150
- }
151
- };
152
- const flushSteps = () => {
153
- if (stepRun.length > 0) {
154
- units.push({ kind: "steps", steps: stepRun, key: `steps:${stepRun[0].key}` });
155
- stepRun = [];
156
- }
157
- };
158
- const flushSuggestions = () => {
159
- if (suggestionRun.length > 0) {
160
- units.push({
161
- kind: "suggestions",
162
- suggestions: suggestionRun,
163
- key: `suggestions:${suggestionRun[0].key}`
164
- });
165
- suggestionRun = [];
166
- }
167
- };
168
- for (const part of parts) {
169
- if (part.type === "image") {
170
- flushSteps();
171
- flushSuggestions();
172
- imageRun.push(part);
173
- continue;
174
- }
175
- if (part.type === "step") {
176
- flushImages();
177
- flushSuggestions();
178
- stepRun.push(part);
179
- continue;
180
- }
181
- if (part.type === "suggestion") {
182
- flushImages();
183
- flushSteps();
184
- suggestionRun.push(part);
185
- continue;
186
- }
187
- flushImages();
188
- flushSteps();
189
- flushSuggestions();
190
- units.push({ kind: "part", part, key: part.key });
191
- }
192
- flushImages();
193
- flushSteps();
194
- flushSuggestions();
195
- return units;
196
- }
197
-
198
- // src/components/chat/message/parts/markdown-part.svelte
199
- import * as $4 from "svelte/internal/server";
200
-
201
- // src/components/chat/message/message-content.svelte
202
- import * as $3 from "svelte/internal/server";
203
-
204
- // src/components/chat/message/markdown-preview.svelte
205
- import * as $2 from "svelte/internal/server";
206
- function Markdown_preview($$renderer, $$props) {
207
- $$renderer.component(($$renderer2) => {
208
- let { content, class: className, $$slots, $$events, ...rest } = $$props;
209
- let renderedHtml = "";
210
- $$renderer2.push(`<div${$2.attributes({
211
- class: $2.clsx(classNames("cinder-markdown-content message-content-preview", className)),
212
- ...rest
213
- })}>`);
214
- if (renderedHtml) {
215
- $$renderer2.push("<!--[0-->");
216
- $$renderer2.push(`${$2.html(renderedHtml)}`);
217
- } else {
218
- $$renderer2.push("<!--[-1-->");
219
- $$renderer2.push(`<p>${$2.escape(content)}</p>`);
220
- }
221
- $$renderer2.push(`<!--]--></div>`);
222
- });
223
- }
224
-
225
- // src/components/chat/message/message-content.svelte
226
- function Message_content($$renderer, $$props) {
227
- $$renderer.component(($$renderer2) => {
228
- let {
229
- content,
230
- expanded = true,
231
- threshold = 500,
232
- streaming = false,
233
- overrideContent,
234
- class: className,
235
- $$slots,
236
- $$events,
237
- ...rest
238
- } = $$props;
239
- function findSafeBoundary(text, limit) {
240
- const paragraphBreak = text.lastIndexOf(`
241
-
242
- `, limit);
243
- if (paragraphBreak > 0)
244
- return paragraphBreak;
245
- const lineBreak = text.lastIndexOf(`
246
- `, limit);
247
- if (lineBreak > 0)
248
- return lineBreak;
249
- return limit;
250
- }
251
- function splitStreamingContent(text) {
252
- const codeFenceCount = (text.match(/```/g) ?? []).length;
253
- if (codeFenceCount % 2 !== 0) {
254
- const lastFenceIndex = text.lastIndexOf("```");
255
- return {
256
- rendered: text.slice(0, lastFenceIndex),
257
- tail: text.slice(lastFenceIndex)
258
- };
259
- }
260
- const boundary = findSafeBoundary(text, text.length);
261
- return {
262
- rendered: text.slice(0, boundary),
263
- tail: text.slice(boundary)
264
- };
265
- }
266
- const effectiveContent = $3.derived(() => overrideContent ?? content);
267
- const streamingSplit = $3.derived(() => {
268
- if (!streaming)
269
- return null;
270
- return splitStreamingContent(effectiveContent());
271
- });
272
- const displayContent = $3.derived(() => {
273
- if (streaming) {
274
- return streamingSplit()?.rendered ?? "";
275
- }
276
- if (expanded || effectiveContent().length <= threshold) {
277
- return effectiveContent();
278
- }
279
- const boundary = findSafeBoundary(effectiveContent(), threshold);
280
- return effectiveContent().slice(0, boundary);
281
- });
282
- const streamingTail = $3.derived(() => streaming ? streamingSplit()?.tail ?? "" : "");
283
- const isTruncated = $3.derived(() => !streaming && !expanded && effectiveContent().length > threshold);
284
- $$renderer2.push(`<div${$3.attributes({
285
- class: $3.clsx(classNames("message-content", streaming && "message-content-streaming", className)),
286
- ...rest
287
- }, "svelte-1ntys16")}>`);
288
- if (displayContent()) {
289
- $$renderer2.push("<!--[0-->");
290
- Markdown_preview($$renderer2, { content: displayContent() });
291
- } else {
292
- $$renderer2.push("<!--[-1-->");
293
- }
294
- $$renderer2.push(`<!--]--> `);
295
- if (streaming && streamingTail()) {
296
- $$renderer2.push("<!--[0-->");
297
- $$renderer2.push(`<span class="message-content-tail svelte-1ntys16">${$3.escape(streamingTail())}</span>`);
298
- } else {
299
- $$renderer2.push("<!--[-1-->");
300
- }
301
- $$renderer2.push(`<!--]--> `);
302
- if (streaming) {
303
- $$renderer2.push("<!--[0-->");
304
- $$renderer2.push(`<span class="message-content-cursor svelte-1ntys16" aria-hidden="true"></span>`);
305
- } else {
306
- $$renderer2.push("<!--[-1-->");
307
- }
308
- $$renderer2.push(`<!--]--> `);
309
- if (isTruncated()) {
310
- $$renderer2.push("<!--[0-->");
311
- $$renderer2.push(`<span class="message-content-ellipsis svelte-1ntys16" aria-hidden="true">...</span>`);
312
- } else {
313
- $$renderer2.push("<!--[-1-->");
314
- }
315
- $$renderer2.push(`<!--]--></div>`);
316
- });
317
- }
318
-
319
- // src/components/chat/message/parts/markdown-part.svelte
320
- function Markdown_part($$renderer, $$props) {
321
- $$renderer.component(($$renderer2) => {
322
- let { part } = $$props;
323
- Message_content($$renderer2, {
324
- content: part.content,
325
- streaming: part.streaming,
326
- expanded: part.expanded
327
- });
328
- });
329
- }
330
-
331
- // src/components/chat/message/parts/tool-call-part.svelte
332
- import * as $7 from "svelte/internal/server";
333
-
334
- // src/components/chat/message/tool-call-group.svelte
335
- import * as $6 from "svelte/internal/server";
336
- // src/components/chat/message/tool-payload-code.svelte
337
- import * as $5 from "svelte/internal/server";
338
- var renderingModulePromise;
339
- var highlighterPromise;
340
- async function getRenderingModule() {
341
- renderingModulePromise ??= import("@lostgradient/cinder/markdown/rendering");
342
- return renderingModulePromise;
343
- }
344
- async function getJsonHighlighter() {
345
- const renderingModule = await getRenderingModule();
346
- highlighterPromise ??= renderingModule.getHighlighter();
347
- return highlighterPromise;
348
- }
349
- function Tool_payload_code($$renderer, $$props) {
350
- $$renderer.component(($$renderer2) => {
351
- let { code, class: className } = $$props;
352
- async function highlightJson(source, language) {
353
- const { isLanguageSupported } = await getRenderingModule();
354
- const highlighter = await getJsonHighlighter();
355
- const lang = isLanguageSupported(language) ? language : "json";
356
- return highlighter.codeToHtml(source, { lang, theme: "depict" });
357
- }
358
- $$renderer2.push(`<div${$5.attr_class($5.clsx(classNames("tool-payload-code", className)), "svelte-1fw63o4")}>`);
359
- Code_block($$renderer2, { code, language: "json", highlighter: highlightJson });
360
- $$renderer2.push(`<!----></div>`);
361
- });
362
- }
363
-
364
- // src/components/chat/message/tool-call-group.svelte
365
- function Tool_call_group($$renderer, $$props) {
366
- $$renderer.component(($$renderer2) => {
367
- let {
368
- pair,
369
- expanded = false,
370
- ontoggle,
371
- class: className,
372
- $$slots,
373
- $$events,
374
- ...rest
375
- } = $$props;
376
- const detailsId = $6.derived(() => `tool-call-details-${pair.call.id}`);
377
- const hasResult = $6.derived(() => !!pair.result);
378
- const isError = $6.derived(() => pair.result?.outcome === "error");
379
- const isSuccess = $6.derived(() => pair.result?.outcome === "success");
380
- const isActionRequired = $6.derived(() => pair.result?.outcome === "action_required");
381
- const status = $6.derived(() => isError() ? "error" : isSuccess() ? "success" : isActionRequired() ? "action-required" : "pending");
382
- const errorMessage = $6.derived(() => pair.result?.error?.message ?? "");
383
- const actionMessage = $6.derived(() => pair.result?.action?.message ?? "This tool call requires action.");
384
- const formattedArguments = $6.derived(() => stringify(pair.call.arguments));
385
- const formattedResult = $6.derived(() => pair.result ? stringify(pair.result.content) : "");
386
- function handleToggle() {
387
- ontoggle?.();
388
- }
389
- $$renderer2.push(`<div${$6.attributes({
390
- class: $6.clsx(classNames("tool-call-group", className)),
391
- "data-status": status(),
392
- ...rest
393
- }, "svelte-1xmm5k6")}><button type="button" class="tool-call-header svelte-1xmm5k6"${$6.attr("aria-expanded", expanded)}${$6.attr("aria-controls", detailsId())}${$6.attr("aria-label", `Toggle tool call details for ${pair.call.name}`)}><span class="tool-call-icon svelte-1xmm5k6" aria-hidden="true">`);
394
- if (isError()) {
395
- $$renderer2.push("<!--[0-->");
396
- X($$renderer2, { class: "icon-xs" });
397
- } else if (isSuccess()) {
398
- $$renderer2.push("<!--[1-->");
399
- Check($$renderer2, { class: "icon-xs" });
400
- } else if (isActionRequired()) {
401
- $$renderer2.push("<!--[2-->");
402
- Circle_alert($$renderer2, { class: "icon-xs" });
403
- } else {
404
- $$renderer2.push("<!--[-1-->");
405
- Ellipsis($$renderer2, { class: "icon-xs" });
406
- }
407
- $$renderer2.push(`<!--]--></span> <span class="tool-call-name svelte-1xmm5k6">${$6.escape(pair.call.name)}</span> <span class="tool-call-status svelte-1xmm5k6" role="status" aria-live="polite">`);
408
- if (isError()) {
409
- $$renderer2.push("<!--[0-->");
410
- $$renderer2.push(`Failed`);
411
- } else if (isSuccess()) {
412
- $$renderer2.push("<!--[1-->");
413
- $$renderer2.push(`Complete`);
414
- } else if (isActionRequired()) {
415
- $$renderer2.push("<!--[2-->");
416
- $$renderer2.push(`Action required`);
417
- } else {
418
- $$renderer2.push("<!--[-1-->");
419
- $$renderer2.push(`Pending`);
420
- }
421
- $$renderer2.push(`<!--]--></span> <span class="tool-call-chevron svelte-1xmm5k6" aria-hidden="true"${$6.attr("data-expanded", expanded)}>`);
422
- Chevron_down($$renderer2, { class: "icon-xs" });
423
- $$renderer2.push(`<!----></span></button> `);
424
- if (expanded) {
425
- $$renderer2.push("<!--[0-->");
426
- $$renderer2.push(`<div${$6.attr("id", detailsId())} class="tool-call-details svelte-1xmm5k6" role="region" aria-label="Tool details"><div class="tool-call-section svelte-1xmm5k6"><h4 class="tool-call-section-title svelte-1xmm5k6">Arguments</h4> `);
427
- Tool_payload_code($$renderer2, { code: formattedArguments() });
428
- $$renderer2.push(`<!----></div> `);
429
- if (hasResult()) {
430
- $$renderer2.push("<!--[0-->");
431
- $$renderer2.push(`<div class="tool-call-section svelte-1xmm5k6"${$6.attr("data-error", isError() || undefined)}><h4 class="tool-call-section-title svelte-1xmm5k6">Result</h4> `);
432
- if (isError()) {
433
- $$renderer2.push("<!--[0-->");
434
- $$renderer2.push(`<div class="tool-call-error svelte-1xmm5k6" role="alert">${$6.escape(errorMessage() || formattedResult())}</div>`);
435
- } else if (isActionRequired()) {
436
- $$renderer2.push("<!--[1-->");
437
- $$renderer2.push(`<div class="tool-call-action svelte-1xmm5k6" role="status">${$6.escape(actionMessage())}</div>`);
438
- } else {
439
- $$renderer2.push("<!--[-1-->");
440
- Tool_payload_code($$renderer2, { code: formattedResult() });
441
- }
442
- $$renderer2.push(`<!--]--></div>`);
443
- } else {
444
- $$renderer2.push("<!--[-1-->");
445
- }
446
- $$renderer2.push(`<!--]--></div>`);
447
- } else {
448
- $$renderer2.push("<!--[-1-->");
449
- }
450
- $$renderer2.push(`<!--]--></div>`);
451
- });
452
- }
453
-
454
- // src/components/chat/message/parts/tool-call-part.svelte
455
- function Tool_call_part($$renderer, $$props) {
456
- $$renderer.component(($$renderer2) => {
457
- const noop = () => {};
458
- let { part, expanded = false, ontoggle } = $$props;
459
- const handleToggle = $7.derived(() => ontoggle ?? noop);
460
- Tool_call_group($$renderer2, { pair: part.pair, expanded, ontoggle: handleToggle() });
461
- });
462
- }
463
-
464
- // src/components/chat/message/parts/tool-result-part.svelte
465
- import * as $8 from "svelte/internal/server";
466
- function Tool_result_part($$renderer, $$props) {
467
- $$renderer.component(($$renderer2) => {
468
- let { part } = $$props;
469
- const result = $8.derived(() => part.result);
470
- const isError = $8.derived(() => result().outcome === "error");
471
- const isActionRequired = $8.derived(() => result().outcome === "action_required");
472
- const formatted = $8.derived(() => {
473
- if (result().outcome === "error" && result().error) {
474
- return result().error.message;
475
- }
476
- if (result().outcome === "action_required") {
477
- return result().action?.message ?? "This tool call requires action.";
478
- }
479
- return stringify(result().content);
480
- });
481
- $$renderer2.push(`<div class="chat-message-tool-result svelte-s62laq"${$8.attr("data-error", isError() || undefined)}${$8.attr("data-action-required", isActionRequired() || undefined)}>`);
482
- if (isError()) {
483
- $$renderer2.push("<!--[0-->");
484
- $$renderer2.push(`<div class="chat-message-tool-error svelte-s62laq" role="alert">${$8.escape(formatted())}</div>`);
485
- } else if (isActionRequired()) {
486
- $$renderer2.push("<!--[1-->");
487
- $$renderer2.push(`<div class="chat-message-tool-action" role="status">${$8.escape(formatted())}</div>`);
488
- } else {
489
- $$renderer2.push("<!--[-1-->");
490
- Tool_payload_code($$renderer2, { code: formatted() });
491
- }
492
- $$renderer2.push(`<!--]--></div>`);
493
- });
494
- }
495
-
496
- // src/components/chat/message/parts/tool-approval-part.svelte
497
- import * as $9 from "svelte/internal/server";
498
- function Tool_approval_part($$renderer, $$props) {
499
- $$renderer.component(($$renderer2) => {
500
- let { part, onapprove, ondeny } = $$props;
501
- const isPending = $9.derived(() => part.approved === undefined);
502
- const isApproved = $9.derived(() => part.approved === true);
503
- const isDenied = $9.derived(() => part.approved === false);
504
- const actionMessage = $9.derived(() => part.action.message ?? "This tool call requires your approval before it can continue.");
505
- const actionSchema = $9.derived(() => part.action.schema !== undefined ? stringify(part.action.schema) : undefined);
506
- const safeKey = $9.derived(() => part.key.replace(/[^a-z0-9-]/gi, "-"));
507
- const labelId = $9.derived(() => `tool-approval-label-${safeKey()}`);
508
- const descId = $9.derived(() => `tool-approval-desc-${safeKey()}`);
509
- function handleApprove() {
510
- if (!isPending())
511
- return;
512
- onapprove?.(part.toolCallId);
513
- }
514
- function handleDeny() {
515
- if (!isPending())
516
- return;
517
- ondeny?.(part.toolCallId);
518
- }
519
- function handleKeydown(event) {
520
- if (event.key === "Escape" && isPending()) {
521
- handleDeny();
522
- }
523
- }
524
- $$renderer2.push(`<div class="chat-tool-approval svelte-vsdezw" role="group" tabindex="-1"${$9.attr("aria-labelledby", labelId())}${$9.attr("aria-describedby", descId())} data-cinder-tool-approval=""${$9.attr("data-cinder-status", isApproved() ? "approved" : isDenied() ? "denied" : "pending")}><div class="chat-tool-approval-header svelte-vsdezw"><span class="chat-tool-approval-icon svelte-vsdezw" aria-hidden="true">`);
525
- if (isApproved()) {
526
- $$renderer2.push("<!--[0-->");
527
- $$renderer2.push(`✓`);
528
- } else if (isDenied()) {
529
- $$renderer2.push("<!--[1-->");
530
- $$renderer2.push(`✕`);
531
- } else {
532
- $$renderer2.push("<!--[-1-->");
533
- $$renderer2.push(`⚠`);
534
- }
535
- $$renderer2.push(`<!--]--></span> <span${$9.attr("id", labelId())} class="chat-tool-approval-title svelte-vsdezw">`);
536
- if (isApproved()) {
537
- $$renderer2.push("<!--[0-->");
538
- $$renderer2.push(`Approved: <code class="chat-tool-approval-name svelte-vsdezw">${$9.escape(part.toolName)}</code>`);
539
- } else if (isDenied()) {
540
- $$renderer2.push("<!--[1-->");
541
- $$renderer2.push(`Denied: <code class="chat-tool-approval-name svelte-vsdezw">${$9.escape(part.toolName)}</code>`);
542
- } else {
543
- $$renderer2.push("<!--[-1-->");
544
- $$renderer2.push(`Action required: <code class="chat-tool-approval-name svelte-vsdezw">${$9.escape(part.toolName)}</code>`);
545
- }
546
- $$renderer2.push(`<!--]--></span></div> <p${$9.attr("id", descId())} class="chat-tool-approval-message svelte-vsdezw">${$9.escape(actionMessage())}</p> `);
547
- if (actionSchema() !== undefined) {
548
- $$renderer2.push("<!--[0-->");
549
- $$renderer2.push(`<details class="chat-tool-approval-args svelte-vsdezw"><summary class="chat-tool-approval-args-toggle svelte-vsdezw">View parameters</summary> <pre class="chat-tool-approval-args-code svelte-vsdezw"><code>${$9.escape(actionSchema())}</code></pre></details>`);
550
- } else {
551
- $$renderer2.push("<!--[-1-->");
552
- }
553
- $$renderer2.push(`<!--]--> `);
554
- if (isPending()) {
555
- $$renderer2.push("<!--[0-->");
556
- $$renderer2.push(`<div class="chat-tool-approval-actions svelte-vsdezw"><button type="button" class="chat-tool-approval-btn chat-tool-approval-btn-approve svelte-vsdezw"${$9.attr("disabled", onapprove === undefined, true)}>Approve</button> <button type="button" class="chat-tool-approval-btn chat-tool-approval-btn-deny svelte-vsdezw"${$9.attr("disabled", ondeny === undefined, true)}>Reject</button></div>`);
557
- } else {
558
- $$renderer2.push("<!--[-1-->");
559
- }
560
- $$renderer2.push(`<!--]--></div>`);
561
- });
562
- }
563
-
564
- // src/components/chat/message/parts/reasoning-part.svelte
565
- import * as $10 from "svelte/internal/server";
566
- function Reasoning_part($$renderer, $$props) {
567
- $$renderer.component(($$renderer2) => {
568
- let { part, expanded = false, ontoggle } = $$props;
569
- const labelId = $10.derived(() => `reasoning-label-${part.key.replace(/[^a-z0-9-]/gi, "-")}`);
570
- const contentId = $10.derived(() => `reasoning-content-${part.key.replace(/[^a-z0-9-]/gi, "-")}`);
571
- const approximateTokenCount = $10.derived(() => Math.round(part.content.length / 4));
572
- const tokenDisplay = $10.derived(() => approximateTokenCount() > 0 ? ` (${approximateTokenCount().toLocaleString()} tokens)` : "");
573
- let wasStreaming = false;
574
- let announced = false;
575
- const announcementText = $10.derived(() => announced ? "Reasoning complete." : "");
576
- function handleToggle() {
577
- if (!part.streaming) {
578
- ontoggle?.();
579
- }
580
- }
581
- $$renderer2.push(`<div class="chat-reasoning svelte-11vyvtm" data-cinder-reasoning=""${$10.attr("data-cinder-streaming", part.streaming ? "" : undefined)}${$10.attr("data-cinder-expanded", expanded ? "" : undefined)}><button type="button" class="chat-reasoning-toggle svelte-11vyvtm"${$10.attr("id", labelId())}${$10.attr("aria-expanded", expanded)}${$10.attr("aria-controls", contentId())}${$10.attr("disabled", part.streaming, true)}><span class="chat-reasoning-label svelte-11vyvtm" aria-hidden="true">`);
582
- if (part.streaming) {
583
- $$renderer2.push("<!--[0-->");
584
- $$renderer2.push(`<span class="chat-reasoning-dot svelte-11vyvtm" aria-hidden="true"></span>`);
585
- } else {
586
- $$renderer2.push("<!--[-1-->");
587
- }
588
- $$renderer2.push(`<!--]--> Reasoning${$10.escape(tokenDisplay())}</span> <span class="sr-only svelte-11vyvtm">`);
589
- if (part.streaming) {
590
- $$renderer2.push("<!--[0-->");
591
- $$renderer2.push(`Reasoning in progress`);
592
- } else if (expanded) {
593
- $$renderer2.push("<!--[1-->");
594
- $$renderer2.push(`Collapse reasoning`);
595
- } else {
596
- $$renderer2.push("<!--[-1-->");
597
- $$renderer2.push(`Expand reasoning`);
598
- }
599
- $$renderer2.push(`<!--]--></span> <span class="chat-reasoning-chevron svelte-11vyvtm" aria-hidden="true">${$10.escape(expanded ? "▲" : "▼")}</span></button> <div class="chat-reasoning-body svelte-11vyvtm"><div${$10.attr("id", contentId())} class="chat-reasoning-content svelte-11vyvtm"${$10.attr("aria-hidden", !expanded)}${$10.attr("aria-live", part.streaming ? "off" : undefined)}${$10.attr("aria-busy", part.streaming ? true : undefined)}>${$10.escape(part.content)}</div></div> <div class="sr-only svelte-11vyvtm" aria-live="polite" aria-atomic="true">${$10.escape(announcementText())}</div></div>`);
600
- });
601
- }
602
-
603
- // src/components/chat/message/parts/step-part.svelte
604
- import * as $11 from "svelte/internal/server";
605
- function Step_part($$renderer, $$props) {
606
- $$renderer.component(($$renderer2) => {
607
- let { part } = $$props;
608
- const statusIcon = { pending: "○", running: "◉", done: "●", error: "✕" };
609
- const statusLabel = {
610
- pending: "pending",
611
- running: "in progress",
612
- done: "complete",
613
- error: "failed"
614
- };
615
- $$renderer2.push(`<li class="chat-step svelte-4godlk"${$11.attr("data-cinder-step-status", part.status)}${$11.attr("aria-current", part.status === "running" ? "step" : undefined)}><span class="chat-step-indicator svelte-4godlk" aria-hidden="true">${$11.escape(statusIcon[part.status])}</span> <span class="chat-step-body svelte-4godlk"><span class="chat-step-title svelte-4godlk">${$11.escape(part.title)} <span class="sr-only svelte-4godlk">— ${$11.escape(statusLabel[part.status])}</span></span> `);
616
- if (part.content) {
617
- $$renderer2.push("<!--[0-->");
618
- $$renderer2.push(`<span class="chat-step-content svelte-4godlk">${$11.escape(part.content)}</span>`);
619
- } else {
620
- $$renderer2.push("<!--[-1-->");
621
- }
622
- $$renderer2.push(`<!--]--></span></li>`);
623
- });
624
- }
625
-
626
- // src/components/chat/message/parts/suggestion-part.svelte
627
- import * as $12 from "svelte/internal/server";
628
- function Suggestion_part($$renderer, $$props) {
629
- $$renderer.component(($$renderer2) => {
630
- let { part, onsuggestionselect, tabindex = 0 } = $$props;
631
- function handleClick() {
632
- onsuggestionselect?.(part.label);
633
- }
634
- $$renderer2.push(`<button type="button" class="chat-suggestion-chip svelte-r2wk4e" data-cinder-suggestion=""${$12.attr("tabindex", tabindex)}>${$12.escape(part.label)}</button>`);
635
- });
636
- }
637
-
638
- // src/components/chat/message/parts/image-part.svelte
639
- import * as $15 from "svelte/internal/server";
640
-
641
- // src/components/chat/message/message-attachments.svelte
642
- import * as $14 from "svelte/internal/server";
643
-
644
- // src/components/chat/message/image-lightbox.svelte
645
- import * as $13 from "svelte/internal/server";
646
- import { fade } from "svelte/transition";
647
- function Image_lightbox($$renderer, $$props) {
648
- $$renderer.component(($$renderer2) => {
649
- let { images, initialIndex = 0, open = false, onclose } = $$props;
650
- const reducedMotion = useReducedMotion();
651
- const LIGHTBOX_FADE_MS = 150;
652
- const fadeDuration = $13.derived(() => reducedMotion.current ? 0 : LIGHTBOX_FADE_MS);
653
- const clampedInitialIndex = $13.derived(() => images.length > 0 ? Math.max(0, Math.min(initialIndex, images.length - 1)) : 0);
654
- let navigationIndex = null;
655
- const effectiveIndex = $13.derived(() => open ? navigationIndex ?? clampedInitialIndex() : clampedInitialIndex());
656
- const hasMultiple = $13.derived(() => images.length > 1);
657
- const currentImage = $13.derived(() => images[effectiveIndex()]);
658
- const counterText = $13.derived(() => `${effectiveIndex() + 1} of ${images.length}`);
659
- function close() {
660
- navigationIndex = null;
661
- open = false;
662
- onclose?.();
663
- }
664
- function previous() {
665
- navigationIndex = (effectiveIndex() - 1 + images.length) % images.length;
666
- }
667
- function next() {
668
- navigationIndex = (effectiveIndex() + 1) % images.length;
669
- }
670
- function handleOverlayClick(event) {
671
- if (event.target === event.currentTarget) {
672
- close();
673
- }
674
- }
675
- function handleKeyDown(event) {
676
- switch (event.key) {
677
- case "Escape":
678
- event.preventDefault();
679
- close();
680
- break;
681
- case "ArrowLeft":
682
- if (hasMultiple()) {
683
- event.preventDefault();
684
- previous();
685
- }
686
- break;
687
- case "ArrowRight":
688
- if (hasMultiple()) {
689
- event.preventDefault();
690
- next();
691
- }
692
- break;
693
- }
694
- }
695
- if (open && currentImage()) {
696
- $$renderer2.push("<!--[0-->");
697
- $$renderer2.push(`<div class="lightbox-overlay svelte-nzg1o2" role="dialog" aria-modal="true" aria-label="Image viewer" tabindex="-1"><button type="button" class="lightbox-close svelte-nzg1o2" aria-label="Close image viewer">`);
698
- X($$renderer2, { size: 20 });
699
- $$renderer2.push(`<!----></button> `);
700
- if (hasMultiple()) {
701
- $$renderer2.push("<!--[0-->");
702
- $$renderer2.push(`<button type="button" class="lightbox-nav lightbox-nav-previous svelte-nzg1o2" aria-label="Previous image">`);
703
- Chevron_left($$renderer2, { size: 24 });
704
- $$renderer2.push(`<!----></button>`);
705
- } else {
706
- $$renderer2.push("<!--[-1-->");
707
- }
708
- $$renderer2.push(`<!--]--> <div class="lightbox-image-container svelte-nzg1o2"><img${$13.attr("src", currentImage().src)}${$13.attr("alt", currentImage().alt)} class="lightbox-image svelte-nzg1o2" decoding="async"/></div> `);
709
- if (hasMultiple()) {
710
- $$renderer2.push("<!--[0-->");
711
- $$renderer2.push(`<button type="button" class="lightbox-nav lightbox-nav-next svelte-nzg1o2" aria-label="Next image">`);
712
- Chevron_right($$renderer2, { size: 24 });
713
- $$renderer2.push(`<!----></button> <div class="lightbox-counter svelte-nzg1o2" aria-live="polite" aria-atomic="true">${$13.escape(counterText())}</div>`);
714
- } else {
715
- $$renderer2.push("<!--[-1-->");
716
- }
717
- $$renderer2.push(`<!--]--></div>`);
718
- } else {
719
- $$renderer2.push("<!--[-1-->");
720
- }
721
- $$renderer2.push(`<!--]-->`);
722
- $13.bind_props($$props, { open });
723
- });
724
- }
725
-
726
- // src/components/chat/message/message-attachments.svelte
727
- function Message_attachments($$renderer, $$props) {
728
- $$renderer.component(($$renderer2) => {
729
- let {
730
- images,
731
- loading = "lazy",
732
- onimageload,
733
- onimageerror,
734
- class: className,
735
- $$slots,
736
- $$events,
737
- ...rest
738
- } = $$props;
739
- const validImages = $14.derived(() => images.filter((item) => item.type === "image").map((image) => ({ image, url: getImageUrlFromContent(image) })).filter((item) => item.url !== ""));
740
- let lightboxOpen = false;
741
- let lightboxIndex = 0;
742
- const lightboxImages = $14.derived(() => validImages().map(({ image, url }, index) => ({ src: url, alt: getAltText(image, index + 1) })));
743
- function getImageUrlFromContent(image) {
744
- if (image.type !== "image")
745
- return "";
746
- return image.url;
747
- }
748
- function getAltText(image, displayIndex) {
749
- if (image.type !== "image")
750
- return "";
751
- if (image.text)
752
- return image.text;
753
- return `Image attachment ${displayIndex}`;
754
- }
755
- function handleLoad(index) {
756
- onimageload?.(index);
757
- }
758
- function handleError(index, event) {
759
- onimageerror?.(index, event);
760
- }
761
- function openLightbox(index) {
762
- lightboxIndex = index;
763
- lightboxOpen = true;
764
- }
765
- let $$settled = true;
766
- let $$inner_renderer;
767
- function $$render_inner($$renderer3) {
768
- $$renderer3.push(`<div${$14.attributes({
769
- class: $14.clsx(classNames("message-attachments", className)),
770
- role: "list",
771
- "aria-label": "Message attachments",
772
- "data-count": validImages().length,
773
- ...rest
774
- }, "svelte-mmlgnv")}><!--[-->`);
775
- const each_array = $14.ensure_array_like(validImages());
776
- for (let loopIndex = 0, $$length = each_array.length;loopIndex < $$length; loopIndex++) {
777
- let { image, url } = each_array[loopIndex];
778
- const displayIndex = loopIndex + 1;
779
- const alt = getAltText(image, displayIndex);
780
- $$renderer3.push(`<figure class="message-attachment svelte-mmlgnv" role="listitem"><button type="button" class="message-attachment-button svelte-mmlgnv"${$14.attr("aria-label", `View image: ${alt}`)}><img${$14.attr("src", url)}${$14.attr("alt", alt)}${$14.attr("loading", loading)} decoding="async" class="message-attachment-image svelte-mmlgnv" onload="this.__e=event" onerror="this.__e=event"/></button> `);
781
- if (alt && alt !== `Image attachment ${displayIndex}`) {
782
- $$renderer3.push("<!--[0-->");
783
- $$renderer3.push(`<figcaption class="sr-only svelte-mmlgnv">${$14.escape(alt)}</figcaption>`);
784
- } else {
785
- $$renderer3.push("<!--[-1-->");
786
- }
787
- $$renderer3.push(`<!--]--></figure>`);
788
- }
789
- $$renderer3.push(`<!--]--></div> `);
790
- Image_lightbox($$renderer3, {
791
- images: lightboxImages(),
792
- initialIndex: lightboxIndex,
793
- get open() {
794
- return lightboxOpen;
795
- },
796
- set open($$value) {
797
- lightboxOpen = $$value;
798
- $$settled = false;
799
- }
800
- });
801
- $$renderer3.push(`<!---->`);
802
- }
803
- do {
804
- $$settled = true;
805
- $$inner_renderer = $$renderer2.copy();
806
- $$render_inner($$inner_renderer);
807
- } while (!$$settled);
808
- $$renderer2.subsume($$inner_renderer);
809
- });
810
- }
811
-
812
- // src/components/chat/message/parts/image-part.svelte
813
- function Image_part($$renderer, $$props) {
814
- $$renderer.component(($$renderer2) => {
815
- let { parts } = $$props;
816
- const images = $15.derived(() => parts.map((part) => part.image));
817
- Message_attachments($$renderer2, { images: images() });
818
- });
819
- }
820
-
821
- // src/components/chat/message/chat-message-parts-renderer.svelte
822
- function Chat_message_parts_renderer($$renderer, $$props) {
823
- $$renderer.component(($$renderer2) => {
824
- let {
825
- parts,
826
- messagePart,
827
- expanded = false,
828
- ontoggle,
829
- onapprove,
830
- ondeny,
831
- reasoningExpanded = false,
832
- onreasoning,
833
- onsuggestionselect
834
- } = $$props;
835
- const units = $16.derived(() => toRenderUnits(parts));
836
- let activeIndex = 0;
837
- function activeChipIndex(count) {
838
- return count === 0 ? 0 : Math.min(activeIndex, count - 1);
839
- }
840
- function handleToolbarKeydown(event, toolbar, count) {
841
- if (count === 0)
842
- return;
843
- const current = Math.min(activeIndex, count - 1);
844
- let next = current;
845
- if (event.key === "ArrowRight") {
846
- next = (current + 1) % count;
847
- } else if (event.key === "ArrowLeft") {
848
- next = (current - 1 + count) % count;
849
- } else if (event.key === "Home") {
850
- next = 0;
851
- } else if (event.key === "End") {
852
- next = count - 1;
853
- } else {
854
- return;
855
- }
856
- event.preventDefault();
857
- activeIndex = next;
858
- const chips = toolbar.querySelectorAll("[data-cinder-suggestion]");
859
- chips[next]?.focus();
860
- }
861
- function renderDefault($$renderer3, part) {
862
- if (part.type === "markdown") {
863
- $$renderer3.push("<!--[0-->");
864
- Markdown_part($$renderer3, { part });
865
- } else if (part.type === "tool-call") {
866
- $$renderer3.push("<!--[1-->");
867
- Tool_call_part($$renderer3, { part, expanded, ontoggle });
868
- } else if (part.type === "tool-result") {
869
- $$renderer3.push("<!--[2-->");
870
- Tool_result_part($$renderer3, { part });
871
- } else if (part.type === "tool-approval") {
872
- $$renderer3.push("<!--[3-->");
873
- Tool_approval_part($$renderer3, { part, onapprove, ondeny });
874
- } else if (part.type === "reasoning") {
875
- $$renderer3.push("<!--[4-->");
876
- Reasoning_part($$renderer3, { part, expanded: reasoningExpanded, ontoggle: onreasoning });
877
- } else {
878
- $$renderer3.push("<!--[-1-->");
879
- $$renderer3.push(`<span data-cinder-unhandled-part="" aria-hidden="true"></span>`);
880
- }
881
- $$renderer3.push(`<!--]-->`);
882
- }
883
- $$renderer2.push(`<!--[-->`);
884
- const each_array = $16.ensure_array_like(units());
885
- for (let $$index_2 = 0, $$length = each_array.length;$$index_2 < $$length; $$index_2++) {
886
- let unit = each_array[$$index_2];
887
- if (unit.kind === "images") {
888
- $$renderer2.push("<!--[0-->");
889
- Image_part($$renderer2, { parts: unit.images });
890
- } else if (unit.kind === "steps") {
891
- $$renderer2.push("<!--[1-->");
892
- $$renderer2.push(`<ol class="chat-step-list svelte-16hfc7o" aria-label="Steps"><!--[-->`);
893
- const each_array_1 = $16.ensure_array_like(unit.steps);
894
- for (let $$index = 0, $$length2 = each_array_1.length;$$index < $$length2; $$index++) {
895
- let step = each_array_1[$$index];
896
- Step_part($$renderer2, { part: step });
897
- }
898
- $$renderer2.push(`<!--]--></ol>`);
899
- } else if (unit.kind === "suggestions") {
900
- $$renderer2.push("<!--[2-->");
901
- $$renderer2.push(`<div class="chat-suggestions svelte-16hfc7o" role="toolbar" aria-label="Suggested replies" data-cinder-suggested-replies=""><!--[-->`);
902
- const each_array_2 = $16.ensure_array_like(unit.suggestions);
903
- for (let index = 0, $$length2 = each_array_2.length;index < $$length2; index++) {
904
- let suggestion = each_array_2[index];
905
- Suggestion_part($$renderer2, {
906
- part: suggestion,
907
- onsuggestionselect,
908
- tabindex: index === activeChipIndex(unit.suggestions.length) ? 0 : -1
909
- });
910
- }
911
- $$renderer2.push(`<!--]--></div>`);
912
- } else if (messagePart) {
913
- $$renderer2.push("<!--[3-->");
914
- messagePart($$renderer2, unit.part, renderDefault);
915
- $$renderer2.push(`<!---->`);
916
- } else {
917
- $$renderer2.push("<!--[-1-->");
918
- renderDefault($$renderer2, unit.part);
919
- }
920
- $$renderer2.push(`<!--]-->`);
921
- }
922
- $$renderer2.push(`<!--]-->`);
923
- });
924
- }
925
-
926
- // src/components/chat/message/chat-message.svelte
927
- var ROLE_LABELS = {
928
- user: "You",
929
- assistant: "Assistant",
930
- system: "System",
931
- developer: "Developer",
932
- "tool-call": "Tool Call",
933
- "tool-result": "Tool Result",
934
- snapshot: "Snapshot"
935
- };
936
- function Chat_message($$renderer, $$props) {
937
- $$renderer.component(($$renderer2) => {
938
- let {
939
- message,
940
- toolCallPairs = [],
941
- expanded = true,
942
- class: className,
943
- searchMatch = false,
944
- actions,
945
- status,
946
- messagePart,
947
- showDefaultActions = true,
948
- streaming = false,
949
- overrideContent,
950
- onexpandedchange,
951
- onretry,
952
- onedit,
953
- approvedToolCallIds,
954
- deniedToolCallIds,
955
- onapprove,
956
- ondeny,
957
- reasoning,
958
- steps,
959
- suggestions,
960
- reasoningExpanded = false,
961
- onreasoning,
962
- onsuggestionselect,
963
- tabindex,
964
- $$slots,
965
- $$events,
966
- ...rest
967
- } = $$props;
968
- let isEditing = false;
969
- let editContent = "";
970
- const canEdit = $17.derived(() => message.role === "user" && onedit !== undefined && !streaming);
971
- function startEditing() {
972
- editContent = textContent();
973
- isEditing = true;
974
- }
975
- function cancelEditing() {
976
- isEditing = false;
977
- editContent = "";
978
- }
979
- function saveEdit() {
980
- const trimmedContent = editContent.trim();
981
- if (trimmedContent && trimmedContent !== textContent()) {
982
- onedit?.({ messageId: message.id, content: trimmedContent });
983
- }
984
- isEditing = false;
985
- editContent = "";
986
- }
987
- function handleEditKeyDown(event) {
988
- if (event.key === "Escape") {
989
- event.preventDefault();
990
- cancelEditing();
991
- }
992
- if (event.key === "Enter" && (event.metaKey || event.ctrlKey)) {
993
- event.preventDefault();
994
- saveEdit();
995
- }
996
- }
997
- const deliveryStatus = $17.derived(() => message.metadata?.["_deliveryStatus"]);
998
- const isFailed = $17.derived(() => deliveryStatus() === "failed");
999
- const textContent = $17.derived(() => getMessageText(message));
1000
- const roleLabel = $17.derived(() => ROLE_LABELS[message.role] ?? message.role);
1001
- const isToolCall = $17.derived(() => message.role === "tool-call");
1002
- const toolPair = $17.derived(() => {
1003
- if (!isToolCall() || !message.toolCall)
1004
- return null;
1005
- return toolCallPairs.find((pair) => pair.call.id === message.toolCall?.id) ?? null;
1006
- });
1007
- const messageParts = $17.derived(() => deriveMessageParts(message, {
1008
- toolCallPair: toolPair() ?? undefined,
1009
- overrideContent,
1010
- streaming,
1011
- expanded,
1012
- approvedToolCallIds,
1013
- deniedToolCallIds,
1014
- reasoning,
1015
- steps,
1016
- suggestions
1017
- }));
1018
- const hasMarkdownBody = $17.derived(() => messageParts().some((part) => part.type === "markdown"));
1019
- const bodyParts = $17.derived(() => messageParts().filter((part) => part.type !== "image"));
1020
- const imageParts = $17.derived(() => messageParts().filter((part) => part.type === "image"));
1021
- const TRUNCATE_THRESHOLD = 500;
1022
- const messageId = $17.derived(() => `message-${message.id}`);
1023
- const roleId = $17.derived(() => `${messageId()}-role`);
1024
- function toggleExpanded() {
1025
- expanded = !expanded;
1026
- onexpandedchange?.(expanded);
1027
- }
1028
- $$renderer2.push(`<div${$17.attributes({
1029
- class: $17.clsx(classNames("chat-message-wrapper", className)),
1030
- "data-role": message.role,
1031
- "data-hidden": message.hidden || undefined,
1032
- "data-failed": isFailed() || undefined,
1033
- "data-search-match": searchMatch || undefined,
1034
- "data-tool-pair": isToolCall() && toolPair() ? "" : undefined,
1035
- ...rest
1036
- }, "svelte-1sxbmxn")}><article${$17.attr("id", messageId())} class="chat-message svelte-1sxbmxn"${$17.attr("aria-labelledby", isToolCall() && toolPair() ? undefined : roleId())}${$17.attr("aria-label", isToolCall() && toolPair() ? `Tool call: ${toolPair().call.name}` : undefined)}${$17.attr("tabindex", tabindex)}><header class="chat-message-header svelte-1sxbmxn"><span${$17.attr("id", roleId())} class="chat-message-role svelte-1sxbmxn">${$17.escape(roleLabel())}</span> `);
1037
- if (status) {
1038
- $$renderer2.push("<!--[0-->");
1039
- $$renderer2.push(`<div class="chat-message-status svelte-1sxbmxn">`);
1040
- status($$renderer2);
1041
- $$renderer2.push(`<!----></div>`);
1042
- } else {
1043
- $$renderer2.push("<!--[-1-->");
1044
- }
1045
- $$renderer2.push(`<!--]--></header> <div class="chat-message-body svelte-1sxbmxn">`);
1046
- if (isEditing) {
1047
- $$renderer2.push("<!--[0-->");
1048
- $$renderer2.push(`<div class="chat-message-edit svelte-1sxbmxn"><textarea class="chat-message-edit-textarea svelte-1sxbmxn" autofocus="" aria-label="Edit message content"${$17.attr("rows", Math.min(Math.max(editContent.split(`
1049
- `).length, 2), 10))}>`);
1050
- const $$body = $17.escape(editContent);
1051
- if ($$body) {
1052
- $$renderer2.push(`${$$body}`);
1053
- } else {}
1054
- $$renderer2.push(`</textarea> <div class="chat-message-edit-actions svelte-1sxbmxn"><button type="button" class="chat-message-edit-save svelte-1sxbmxn">Save &amp; Resend</button> <button type="button" class="chat-message-edit-cancel svelte-1sxbmxn">Cancel</button></div></div>`);
1055
- } else {
1056
- $$renderer2.push("<!--[-1-->");
1057
- Chat_message_parts_renderer($$renderer2, {
1058
- parts: bodyParts(),
1059
- messagePart,
1060
- expanded,
1061
- ontoggle: toggleExpanded,
1062
- onapprove,
1063
- ondeny,
1064
- reasoningExpanded,
1065
- onreasoning,
1066
- onsuggestionselect
1067
- });
1068
- $$renderer2.push(`<!----> `);
1069
- if (hasMarkdownBody() && textContent().length > TRUNCATE_THRESHOLD) {
1070
- $$renderer2.push("<!--[0-->");
1071
- $$renderer2.push(`<button type="button" class="chat-message-expand svelte-1sxbmxn">${$17.escape(expanded ? "Show less" : "Show more")}</button>`);
1072
- } else {
1073
- $$renderer2.push("<!--[-1-->");
1074
- }
1075
- $$renderer2.push(`<!--]-->`);
1076
- }
1077
- $$renderer2.push(`<!--]--></div> `);
1078
- if (imageParts().length > 0) {
1079
- $$renderer2.push("<!--[0-->");
1080
- Chat_message_parts_renderer($$renderer2, { parts: imageParts() });
1081
- } else {
1082
- $$renderer2.push("<!--[-1-->");
1083
- }
1084
- $$renderer2.push(`<!--]--> `);
1085
- if (isFailed() && onretry) {
1086
- $$renderer2.push("<!--[0-->");
1087
- $$renderer2.push(`<div class="chat-message-failed-actions svelte-1sxbmxn"><span class="chat-message-failed-label svelte-1sxbmxn" role="alert">Failed to send</span> <button type="button" class="chat-message-retry svelte-1sxbmxn">`);
1088
- Rotate_ccw($$renderer2, { class: "icon-xs" });
1089
- $$renderer2.push(`<!----> Retry</button></div>`);
1090
- } else {
1091
- $$renderer2.push("<!--[-1-->");
1092
- }
1093
- $$renderer2.push(`<!--]--></article> `);
1094
- if (actions || showDefaultActions && textContent() || canEdit()) {
1095
- $$renderer2.push("<!--[0-->");
1096
- $$renderer2.push(`<footer class="chat-message-footer svelte-1sxbmxn" role="none"><div class="chat-message-actions svelte-1sxbmxn" role="group" aria-label="Message actions">`);
1097
- if (actions) {
1098
- $$renderer2.push("<!--[0-->");
1099
- actions($$renderer2);
1100
- $$renderer2.push(`<!---->`);
1101
- } else {
1102
- $$renderer2.push("<!--[-1-->");
1103
- }
1104
- $$renderer2.push(`<!--]--> `);
1105
- if (showDefaultActions && textContent()) {
1106
- $$renderer2.push("<!--[0-->");
1107
- Copy_button($$renderer2, {
1108
- value: textContent(),
1109
- label: "Copy message",
1110
- copiedLabel: "Copied!",
1111
- iconOnly: true,
1112
- confirmDuration: 2000,
1113
- class: "chat-message-action-button chat-message-copy"
1114
- });
1115
- } else {
1116
- $$renderer2.push("<!--[-1-->");
1117
- }
1118
- $$renderer2.push(`<!--]--> `);
1119
- if (canEdit()) {
1120
- $$renderer2.push("<!--[0-->");
1121
- $$renderer2.push(`<button type="button" class="chat-message-action-button chat-message-edit-button" aria-label="Edit message">`);
1122
- Pencil($$renderer2, { class: "icon-xs" });
1123
- $$renderer2.push(`<!----></button>`);
1124
- } else {
1125
- $$renderer2.push("<!--[-1-->");
1126
- }
1127
- $$renderer2.push(`<!--]--></div></footer>`);
1128
- } else {
1129
- $$renderer2.push("<!--[-1-->");
1130
- }
1131
- $$renderer2.push(`<!--]--></div>`);
1132
- $17.bind_props($$props, { expanded });
1133
- });
1134
- }
1135
- // src/components/chat/input/attachment-kind.ts
1136
- var CODE_MIME_TYPES = new Set([
1137
- "application/json",
1138
- "application/javascript",
1139
- "application/typescript",
1140
- "application/xml",
1141
- "application/yaml",
1142
- "application/x-yaml",
1143
- "application/x-sh",
1144
- "application/sql",
1145
- "application/toml"
1146
- ]);
1147
- function deriveAttachmentKind(mimeType) {
1148
- if (mimeType.startsWith("image/"))
1149
- return "image";
1150
- if (mimeType.startsWith("text/") || CODE_MIME_TYPES.has(mimeType))
1151
- return "code";
1152
- return "document";
1153
- }
1154
- // src/components/chat/input/chat-attachment-preview.svelte
1155
- import * as $18 from "svelte/internal/server";
1156
- function Chat_attachment_preview($$renderer, $$props) {
1157
- $$renderer.component(($$renderer2) => {
1158
- let { attachment, class: className } = $$props;
1159
- const extension = $18.derived(() => attachment.file.name.includes(".") ? attachment.file.name.slice(attachment.file.name.lastIndexOf(".")) : "");
1160
- const truncatedName = $18.derived(() => {
1161
- const name = attachment.file.name;
1162
- const maxLength = 18;
1163
- if (name.length <= maxLength)
1164
- return name;
1165
- const ext = extension();
1166
- const base = name.slice(0, name.length - ext.length);
1167
- const availableLength = maxLength - ext.length - 1;
1168
- if (availableLength < 3)
1169
- return name.slice(0, maxLength - 1) + "…";
1170
- return base.slice(0, availableLength) + "…" + ext;
1171
- });
1172
- $$renderer2.push(`<div${$18.attr_class($18.clsx(classNames("chat-attachment-preview", className)), "svelte-1svhxp5")}${$18.attr("data-kind", attachment.kind)}${$18.attr("data-error", attachment.status === "error" || undefined)}${$18.attr("data-pending", attachment.status === "pending" || undefined)}>`);
1173
- if (attachment.kind === "image") {
1174
- $$renderer2.push("<!--[0-->");
1175
- $$renderer2.push(`<img${$18.attr("src", attachment.previewUrl)}${$18.attr("alt", attachment.file.name)} class="chat-attachment-preview-image svelte-1svhxp5"/>`);
1176
- } else {
1177
- $$renderer2.push("<!--[-1-->");
1178
- $$renderer2.push(`<div class="chat-attachment-preview-file svelte-1svhxp5"><div class="chat-attachment-preview-icon svelte-1svhxp5">`);
1179
- if (attachment.kind === "code") {
1180
- $$renderer2.push("<!--[0-->");
1181
- File_code($$renderer2, { class: "icon-sm" });
1182
- } else {
1183
- $$renderer2.push("<!--[-1-->");
1184
- File_text($$renderer2, { class: "icon-sm" });
1185
- }
1186
- $$renderer2.push(`<!--]--></div> <div class="chat-attachment-preview-info svelte-1svhxp5"><span class="chat-attachment-preview-name svelte-1svhxp5"${$18.attr("title", attachment.file.name)}>${$18.escape(truncatedName())}</span> <span class="chat-attachment-preview-meta svelte-1svhxp5">`);
1187
- if (extension()) {
1188
- $$renderer2.push("<!--[0-->");
1189
- $$renderer2.push(`<span class="chat-attachment-preview-ext svelte-1svhxp5">${$18.escape(extension())}</span>`);
1190
- } else {
1191
- $$renderer2.push("<!--[-1-->");
1192
- }
1193
- $$renderer2.push(`<!--]--> <span class="chat-attachment-preview-size svelte-1svhxp5">${$18.escape(formatBytes(attachment.file.size))}</span></span></div></div>`);
1194
- }
1195
- $$renderer2.push(`<!--]--> `);
1196
- if (attachment.status === "error") {
1197
- $$renderer2.push("<!--[0-->");
1198
- $$renderer2.push(`<span class="chat-attachment-preview-error-badge svelte-1svhxp5"${$18.attr("aria-label", attachment.error ?? "Attachment error")}>!</span>`);
1199
- } else {
1200
- $$renderer2.push("<!--[-1-->");
1201
- }
1202
- $$renderer2.push(`<!--]--> `);
1203
- if (attachment.status === "pending") {
1204
- $$renderer2.push("<!--[0-->");
1205
- $$renderer2.push(`<div class="chat-attachment-preview-loading svelte-1svhxp5" role="status" aria-label="Reading file"><div class="chat-attachment-preview-loading-bar svelte-1svhxp5"></div></div>`);
1206
- } else {
1207
- $$renderer2.push("<!--[-1-->");
1208
- }
1209
- $$renderer2.push(`<!--]--></div>`);
1210
- });
1211
- }
1212
- // src/components/chat/input/chat-input.svelte
1213
- import * as $19 from "svelte/internal/server";
1214
- import { onDestroy } from "svelte";
1215
-
1216
- // src/utilities/id-factory.ts
1217
- function createIdFactory(prefix = "") {
1218
- let counter = 0;
1219
- return {
1220
- next() {
1221
- return `${prefix}-${++counter}`;
1222
- },
1223
- reset() {
1224
- counter = 0;
1225
- }
1226
- };
1227
- }
1228
- var defaultIdFactory = createIdFactory("cinder");
1229
- function djb2Hex(value) {
1230
- let hash = 5381;
1231
- for (let index = 0;index < value.length; index++) {
1232
- hash = (hash << 5) + hash + value.charCodeAt(index) | 0;
1233
- }
1234
- return (hash >>> 0).toString(16).padStart(8, "0");
1235
- }
1236
- function useStableId(seed) {
1237
- if (seed === undefined) {
1238
- return defaultIdFactory.next();
1239
- }
1240
- return `id-${djb2Hex(seed)}`;
1241
- }
1242
- // src/components/chat/input/chat-input.svelte
1243
- function Chat_input($$renderer, $$props) {
1244
- $$renderer.component(($$renderer2) => {
1245
- const attachmentIdFactory = createIdFactory("attachment");
1246
- const usedAttachmentIds = new Set;
1247
- let {
1248
- id,
1249
- value = "",
1250
- placeholder = "Type a message...",
1251
- composerLabel = "Message",
1252
- disabled = false,
1253
- sending = false,
1254
- error,
1255
- class: className,
1256
- action,
1257
- name = "content",
1258
- clearOnSubmit = true,
1259
- allowAttachments = true,
1260
- maxFileSize = 10 * 1024 * 1024,
1261
- acceptedTypes = [
1262
- "image/*",
1263
- "text/*",
1264
- "application/json",
1265
- "application/pdf",
1266
- "application/javascript",
1267
- "application/typescript",
1268
- "application/xml",
1269
- "application/yaml",
1270
- "application/x-yaml",
1271
- "application/x-sh",
1272
- "application/sql",
1273
- "application/toml"
1274
- ],
1275
- onsubmit,
1276
- onstop,
1277
- onattachmentadd,
1278
- onattachmentremove,
1279
- onattachmentfailure,
1280
- actions,
1281
- $$slots,
1282
- $$events,
1283
- ...rest
1284
- } = $$props;
1285
- const showStopButton = $19.derived(() => sending && onstop !== undefined);
1286
- let formElement = null;
1287
- let editorRef;
1288
- let fileInputRef = null;
1289
- let attachments = [];
1290
- let isDragOver = false;
1291
- let isComposing = false;
1292
- const announcer = useAnnouncer();
1293
- const errorId = $19.derived(() => `${id}-error`);
1294
- const hintId = $19.derived(() => `${id}-hint`);
1295
- const shortcutDescriptionId = $19.derived(() => `${id}-shortcut-description`);
1296
- const isWhitespaceOnly = $19.derived(() => value.trim().length === 0);
1297
- const hasPendingAttachments = $19.derived(() => attachments.some((a) => a.status === "pending" || a.status === "uploading"));
1298
- const canSubmit = $19.derived(() => !isWhitespaceOnly() && !disabled && !sending && !hasPendingAttachments());
1299
- const isFormActionMode = $19.derived(() => !!action);
1300
- function isValidType(file) {
1301
- return acceptedTypes.some((type) => {
1302
- if (type.endsWith("/*")) {
1303
- const category = type.slice(0, -2);
1304
- return file.type.startsWith(category);
1305
- }
1306
- return file.type === type;
1307
- });
1308
- }
1309
- const KIND_LABELS = { image: "Image", code: "Code file", document: "Document" };
1310
- function addAttachment(file) {
1311
- if (!isValidType(file)) {
1312
- onattachmentfailure?.(file, `Invalid file type: ${file.type}. Accepted types: ${acceptedTypes.join(", ")}.`);
1313
- return;
1314
- }
1315
- if (file.size > maxFileSize) {
1316
- const maxSizeMB = Math.round(maxFileSize / (1024 * 1024));
1317
- onattachmentfailure?.(file, `File exceeds ${maxSizeMB}MB limit`);
1318
- return;
1319
- }
1320
- const kind = deriveAttachmentKind(file.type);
1321
- let attachmentId = file.lastModified !== 0 ? useStableId(`${file.name}\x00${file.size}\x00${file.lastModified}`) : attachmentIdFactory.next();
1322
- if (usedAttachmentIds.has(attachmentId)) {
1323
- attachmentId = `${attachmentId}-${attachmentIdFactory.next()}`;
1324
- }
1325
- usedAttachmentIds.add(attachmentId);
1326
- const attachment = {
1327
- id: attachmentId,
1328
- file,
1329
- previewUrl: URL.createObjectURL(file),
1330
- kind,
1331
- status: kind === "code" ? "pending" : "ready"
1332
- };
1333
- attachments = [...attachments, attachment];
1334
- onattachmentadd?.(attachment);
1335
- announcer.announce(`${KIND_LABELS[kind]} attached: ${file.name}`);
1336
- if (kind === "code") {
1337
- file.text().then((text) => {
1338
- attachments = attachments.map((a) => a.id === attachment.id ? { ...a, textContent: text, status: "ready" } : a);
1339
- }, () => {
1340
- attachments = attachments.map((a) => a.id === attachment.id ? { ...a, status: "error", error: "Failed to read file" } : a);
1341
- });
1342
- }
1343
- }
1344
- function removeAttachment(attachmentId) {
1345
- const attachment = attachments.find((a) => a.id === attachmentId);
1346
- if (attachment) {
1347
- URL.revokeObjectURL(attachment.previewUrl);
1348
- attachments = attachments.filter((a) => a.id !== attachmentId);
1349
- onattachmentremove?.(attachment);
1350
- announcer.announce(`${KIND_LABELS[attachment.kind]} removed`);
1351
- }
1352
- }
1353
- function handleFileSelect(event) {
1354
- const input = event.target;
1355
- const files = input.files;
1356
- if (files) {
1357
- Array.from(files).forEach(addAttachment);
1358
- }
1359
- input.value = "";
1360
- }
1361
- function handlePaste(event) {
1362
- if (!allowAttachments)
1363
- return;
1364
- const items = event.clipboardData?.items;
1365
- if (!items)
1366
- return;
1367
- const files = [];
1368
- for (const item of items) {
1369
- if (item.kind === "file") {
1370
- const file = item.getAsFile();
1371
- if (file) {
1372
- files.push(file);
1373
- }
1374
- }
1375
- }
1376
- if (files.length > 0) {
1377
- event.preventDefault();
1378
- files.forEach(addAttachment);
1379
- }
1380
- }
1381
- function handleDrop(event) {
1382
- isDragOver = false;
1383
- if (!allowAttachments)
1384
- return;
1385
- event.preventDefault();
1386
- event.stopPropagation();
1387
- const files = event.dataTransfer?.files;
1388
- if (files) {
1389
- Array.from(files).forEach(addAttachment);
1390
- }
1391
- }
1392
- function handleDragOver(event) {
1393
- if (!allowAttachments)
1394
- return;
1395
- event.preventDefault();
1396
- isDragOver = true;
1397
- }
1398
- function handleDragLeave(event) {
1399
- if (!formElement?.contains(event.relatedTarget)) {
1400
- isDragOver = false;
1401
- }
1402
- }
1403
- function handleSubmit(event) {
1404
- if (!canSubmit()) {
1405
- event.preventDefault();
1406
- return;
1407
- }
1408
- const latestContent = editorRef?.getMarkdown() ?? value;
1409
- const trimmedContent = latestContent.trim();
1410
- if (trimmedContent.length === 0) {
1411
- event.preventDefault();
1412
- return;
1413
- }
1414
- const message = { role: "user", content: trimmedContent };
1415
- const readyAttachments = attachments.filter((a) => a.status === "ready");
1416
- onsubmit?.(message, readyAttachments);
1417
- if (!isFormActionMode()) {
1418
- event.preventDefault();
1419
- if (clearOnSubmit) {
1420
- value = "";
1421
- attachments.forEach((a) => URL.revokeObjectURL(a.previewUrl));
1422
- attachments = [];
1423
- }
1424
- editorRef?.focus();
1425
- announcer.announce("Message sent");
1426
- } else {
1427
- value = trimmedContent;
1428
- }
1429
- }
1430
- function handleKeyDown(event) {
1431
- if (event.isComposing || isComposing) {
1432
- return;
1433
- }
1434
- if (event.key === "Enter" && event.shiftKey) {
1435
- return;
1436
- }
1437
- if (event.key === "Enter" && !event.metaKey && !event.ctrlKey && !event.altKey) {
1438
- event.preventDefault();
1439
- if (canSubmit()) {
1440
- formElement?.requestSubmit();
1441
- }
1442
- }
1443
- }
1444
- function handleCompositionStart() {
1445
- isComposing = true;
1446
- }
1447
- function handleCompositionEnd() {
1448
- isComposing = false;
1449
- }
1450
- function focus() {
1451
- editorRef?.focus();
1452
- }
1453
- function clear() {
1454
- value = "";
1455
- attachments.forEach((a) => URL.revokeObjectURL(a.previewUrl));
1456
- attachments = [];
1457
- }
1458
- function getAttachments() {
1459
- return [...attachments];
1460
- }
1461
- function addFiles(files) {
1462
- if (!allowAttachments)
1463
- return;
1464
- files.forEach(addAttachment);
1465
- }
1466
- onDestroy(() => {
1467
- attachments.forEach((a) => URL.revokeObjectURL(a.previewUrl));
1468
- });
1469
- let $$settled = true;
1470
- let $$inner_renderer;
1471
- function $$render_inner($$renderer3) {
1472
- $$renderer3.push(`<form${$19.attributes({
1473
- class: $19.clsx(classNames("chat-input", isDragOver && "chat-input-dragover", className)),
1474
- method: "POST",
1475
- action,
1476
- "aria-label": "Chat message composer",
1477
- "aria-busy": sending || undefined,
1478
- ...rest
1479
- }, "svelte-1tzweuh")}>`);
1480
- if (isFormActionMode()) {
1481
- $$renderer3.push("<!--[0-->");
1482
- $$renderer3.push(`<input type="hidden"${$19.attr("name", name)}${$19.attr("value", value)}/>`);
1483
- } else {
1484
- $$renderer3.push("<!--[-1-->");
1485
- }
1486
- $$renderer3.push(`<!--]--> `);
1487
- if (attachments.length > 0) {
1488
- $$renderer3.push("<!--[0-->");
1489
- $$renderer3.push(`<div class="chat-input-attachments svelte-1tzweuh" role="list" aria-label="Attached files"><!--[-->`);
1490
- const each_array = $19.ensure_array_like(attachments);
1491
- for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
1492
- let attachment = each_array[$$index];
1493
- $$renderer3.push(`<div class="chat-input-attachment-wrapper svelte-1tzweuh" role="listitem">`);
1494
- Chat_attachment_preview($$renderer3, { attachment });
1495
- $$renderer3.push(`<!----> <button type="button" class="chat-input-attachment-remove svelte-1tzweuh"${$19.attr("aria-label", `Remove ${attachment.file.name}`)}>`);
1496
- X($$renderer3, { class: "icon-xs" });
1497
- $$renderer3.push(`<!----></button></div>`);
1498
- }
1499
- $$renderer3.push(`<!--]--></div>`);
1500
- } else {
1501
- $$renderer3.push("<!--[-1-->");
1502
- }
1503
- $$renderer3.push(`<!--]--> <div class="chat-input-editor-container svelte-1tzweuh">`);
1504
- Markdown_editor($$renderer3, {
1505
- id: `${id}-editor`,
1506
- placeholder,
1507
- label: composerLabel,
1508
- readonly: disabled || sending,
1509
- showToolbar: false,
1510
- showModeToggle: false,
1511
- class: "chat-input-editor",
1512
- "aria-describedby": shortcutDescriptionId(),
1513
- get value() {
1514
- return value;
1515
- },
1516
- set value($$value) {
1517
- value = $$value;
1518
- $$settled = false;
1519
- }
1520
- });
1521
- $$renderer3.push(`<!----></div> <div class="chat-input-footer svelte-1tzweuh"><div class="chat-input-footer-left svelte-1tzweuh">`);
1522
- if (allowAttachments) {
1523
- $$renderer3.push("<!--[0-->");
1524
- $$renderer3.push(`<input${$19.attr("id", `${id}-file-picker`)} type="file"${$19.attr("accept", acceptedTypes.join(","))} multiple="" class="sr-only svelte-1tzweuh" aria-label="Attach files"${$19.attr("tabindex", -1)}/> `);
1525
- Button($$renderer3, {
1526
- type: "button",
1527
- variant: "ghost",
1528
- size: "sm",
1529
- onclick: () => fileInputRef?.click(),
1530
- disabled: disabled || sending,
1531
- "aria-label": "Attach file",
1532
- children: ($$renderer4) => {
1533
- Paperclip($$renderer4, { class: "icon-sm" });
1534
- },
1535
- $$slots: { default: true }
1536
- });
1537
- $$renderer3.push(`<!---->`);
1538
- } else {
1539
- $$renderer3.push("<!--[-1-->");
1540
- }
1541
- $$renderer3.push(`<!--]--> <span${$19.attr("id", shortcutDescriptionId())} class="sr-only svelte-1tzweuh">`);
1542
- if (showStopButton()) {
1543
- $$renderer3.push("<!--[0-->");
1544
- $$renderer3.push(`Response is streaming. Use the stop button to stop generation.`);
1545
- } else {
1546
- $$renderer3.push("<!--[-1-->");
1547
- $$renderer3.push(`Press Enter to send, Shift+Enter for newline`);
1548
- }
1549
- $$renderer3.push(`<!--]--></span> `);
1550
- if (!showStopButton()) {
1551
- $$renderer3.push("<!--[0-->");
1552
- $$renderer3.push(`<span${$19.attr("id", hintId())} class="chat-input-hint svelte-1tzweuh" aria-hidden="true"><kbd class="svelte-1tzweuh">Enter</kbd> to send, <kbd class="svelte-1tzweuh">Shift</kbd>+<kbd class="svelte-1tzweuh">Enter</kbd> for newline</span>`);
1553
- } else {
1554
- $$renderer3.push("<!--[-1-->");
1555
- }
1556
- $$renderer3.push(`<!--]--></div> <div class="chat-input-footer-right svelte-1tzweuh">`);
1557
- if (actions) {
1558
- $$renderer3.push("<!--[0-->");
1559
- actions($$renderer3);
1560
- $$renderer3.push(`<!---->`);
1561
- } else {
1562
- $$renderer3.push("<!--[-1-->");
1563
- }
1564
- $$renderer3.push(`<!--]--> `);
1565
- if (showStopButton()) {
1566
- $$renderer3.push("<!--[0-->");
1567
- $$renderer3.push(`<button type="button" class="chat-input-send svelte-1tzweuh" data-stop="" aria-label="Stop generating"${$19.attr("aria-describedby", shortcutDescriptionId())}>`);
1568
- Square($$renderer3, { class: "icon-sm" });
1569
- $$renderer3.push(`<!----></button>`);
1570
- } else {
1571
- $$renderer3.push("<!--[-1-->");
1572
- $$renderer3.push(`<button type="submit" class="chat-input-send svelte-1tzweuh"${$19.attr("disabled", !canSubmit(), true)}${$19.attr("aria-label", sending ? "Sending message" : "Send message")}${$19.attr("aria-describedby", shortcutDescriptionId())}>`);
1573
- if (sending) {
1574
- $$renderer3.push("<!--[0-->");
1575
- $$renderer3.push(`<svg class="chat-input-spinner svelte-1tzweuh" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true"><circle class="spinner-track svelte-1tzweuh" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="spinner-head svelte-1tzweuh" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg>`);
1576
- } else {
1577
- $$renderer3.push("<!--[-1-->");
1578
- Arrow_up($$renderer3, { class: "icon-sm" });
1579
- }
1580
- $$renderer3.push(`<!--]--></button>`);
1581
- }
1582
- $$renderer3.push(`<!--]--></div></div> `);
1583
- if (error) {
1584
- $$renderer3.push("<!--[0-->");
1585
- $$renderer3.push(`<p${$19.attr("id", errorId())} class="chat-input-error svelte-1tzweuh" role="alert">${$19.escape(error)}</p>`);
1586
- } else {
1587
- $$renderer3.push("<!--[-1-->");
1588
- }
1589
- $$renderer3.push(`<!--]--> <div aria-live="polite" aria-atomic="true" class="sr-only svelte-1tzweuh">${$19.escape(announcer.message)}</div></form>`);
1590
- }
1591
- do {
1592
- $$settled = true;
1593
- $$inner_renderer = $$renderer2.copy();
1594
- $$render_inner($$inner_renderer);
1595
- } while (!$$settled);
1596
- $$renderer2.subsume($$inner_renderer);
1597
- $19.bind_props($$props, { value, focus, clear, getAttachments, addFiles });
1598
- });
1599
- }
1600
- // src/components/chat/container/scroll-utilities.ts
1601
- var DEFAULT_SCROLL_CONFIGURATION = {
1602
- bottomThreshold: 150,
1603
- jumpThreshold: 200
1604
- };
1605
- function isAtBottom(state, threshold) {
1606
- const distanceFromBottom = state.scrollHeight - state.scrollTop - state.clientHeight;
1607
- return distanceFromBottom <= threshold || state.scrollHeight <= state.clientHeight;
1608
- }
1609
- function shouldShowJumpToLatest(state, threshold) {
1610
- const distanceFromBottom = state.scrollHeight - state.scrollTop - state.clientHeight;
1611
- if (state.scrollHeight <= state.clientHeight) {
1612
- return false;
1613
- }
1614
- return distanceFromBottom > threshold;
1615
- }
1616
- function getMessageTimestamp(message) {
1617
- if (message.createdAt) {
1618
- const parsed = Date.parse(message.createdAt);
1619
- if (!Number.isNaN(parsed)) {
1620
- return parsed;
1621
- }
1622
- }
1623
- const metaTimestamp = message.metadata?.["timestamp"];
1624
- if (typeof metaTimestamp === "number") {
1625
- return metaTimestamp;
1626
- }
1627
- if (typeof metaTimestamp === "string") {
1628
- const parsed = Date.parse(metaTimestamp);
1629
- if (!Number.isNaN(parsed)) {
1630
- return parsed;
1631
- }
1632
- }
1633
- return null;
1634
- }
1635
- function calculateUnreadCount(messages, lastReadTimestamp) {
1636
- if (lastReadTimestamp === 0) {
1637
- return 0;
1638
- }
1639
- return messages.filter((message) => {
1640
- const timestamp = getMessageTimestamp(message);
1641
- return timestamp != null && timestamp > lastReadTimestamp;
1642
- }).length;
1643
- }
1644
- function findUnreadBoundaryIndex(messages, lastReadTimestamp) {
1645
- if (lastReadTimestamp === 0) {
1646
- return -1;
1647
- }
1648
- return messages.findIndex((message) => {
1649
- const timestamp = getMessageTimestamp(message);
1650
- return timestamp != null && timestamp > lastReadTimestamp;
1651
- });
1652
- }
1653
- function calculateScrollToBottom(state) {
1654
- return Math.max(0, state.scrollHeight - state.clientHeight);
1655
- }
1656
- function formatUnreadCount(count) {
1657
- if (count <= 0)
1658
- return "";
1659
- if (count > 99)
1660
- return "99+";
1661
- return count.toString();
1662
- }
1663
- function isLargeCount(count) {
1664
- return count > 99;
1665
- }
1666
- function extractTimestamp(message) {
1667
- return getMessageTimestamp(message) ?? Date.now();
1668
- }
1669
-
1670
- // src/components/chat/container/use-chat-scroll-state.svelte.ts
1671
- import * as $20 from "svelte/internal/server";
1672
- var destroy = () => {};
1673
- function useChatScrollState(options) {
1674
- const {
1675
- bottomThreshold = DEFAULT_SCROLL_CONFIGURATION.bottomThreshold,
1676
- getBottomThreshold,
1677
- jumpThreshold = DEFAULT_SCROLL_CONFIGURATION.jumpThreshold,
1678
- getJumpThreshold,
1679
- onScrollStateChange,
1680
- onReachBottom
1681
- } = options ?? {};
1682
- const reducedMotion = useReducedMotion();
1683
- function getScrollBehavior() {
1684
- return reducedMotion.current ? "auto" : "smooth";
1685
- }
1686
- let atBottom = true;
1687
- let showJumpButton = false;
1688
- let scrollTicking = false;
1689
- let isUserScrolling = false;
1690
- function setAtBottom(value) {
1691
- atBottom = value;
1692
- }
1693
- function createScrollAttachment() {
1694
- return (element) => {
1695
- function handleScroll() {
1696
- if (scrollTicking)
1697
- return;
1698
- scrollTicking = true;
1699
- requestAnimationFrame(() => {
1700
- const state = {
1701
- scrollTop: element.scrollTop,
1702
- scrollHeight: element.scrollHeight,
1703
- clientHeight: element.clientHeight
1704
- };
1705
- const scrolledToBottom = isAtBottom(state, getBottomThreshold?.() ?? bottomThreshold);
1706
- const shouldShowJump = shouldShowJumpToLatest(state, getJumpThreshold?.() ?? jumpThreshold);
1707
- atBottom = scrolledToBottom;
1708
- showJumpButton = shouldShowJump;
1709
- if (scrolledToBottom) {
1710
- onReachBottom?.();
1711
- }
1712
- onScrollStateChange?.({
1713
- atBottom: scrolledToBottom,
1714
- scrollTop: state.scrollTop,
1715
- scrollHeight: state.scrollHeight
1716
- });
1717
- scrollTicking = false;
1718
- });
1719
- }
1720
- element.addEventListener("scroll", handleScroll, { passive: true });
1721
- return () => element.removeEventListener("scroll", handleScroll);
1722
- };
1723
- }
1724
- function handleSentinelEntry(entry) {
1725
- const sentinelVisible = entry.isIntersecting;
1726
- if (sentinelVisible && !atBottom) {
1727
- atBottom = true;
1728
- onReachBottom?.();
1729
- }
1730
- }
1731
- function createSentinelObserver(viewport, sentinel) {
1732
- if (!viewport || !sentinel)
1733
- return;
1734
- const observer = new IntersectionObserver(([entry]) => {
1735
- if (!entry)
1736
- return;
1737
- handleSentinelEntry(entry);
1738
- }, {
1739
- root: viewport,
1740
- threshold: 0,
1741
- rootMargin: `0px 0px ${getBottomThreshold?.() ?? bottomThreshold}px 0px`
1742
- });
1743
- observer.observe(sentinel);
1744
- return () => observer.disconnect();
1745
- }
1746
- function scrollToBottom(viewport) {
1747
- viewport?.scrollTo({ top: viewport.scrollHeight, behavior: getScrollBehavior() });
1748
- }
1749
- function scrollToTop(viewport) {
1750
- viewport?.scrollTo({ top: 0, behavior: getScrollBehavior() });
1751
- }
1752
- function jumpToLatest(viewport, onComplete) {
1753
- if (!viewport)
1754
- return;
1755
- isUserScrolling = true;
1756
- const behavior = getScrollBehavior();
1757
- viewport.scrollTo({ top: viewport.scrollHeight, behavior });
1758
- onReachBottom?.();
1759
- onComplete?.();
1760
- const scrollDuration = reducedMotion.current ? 50 : 500;
1761
- setTimeout(() => {
1762
- isUserScrolling = false;
1763
- const wrappers = viewport.querySelectorAll(".chat-message-wrapper");
1764
- const lastWrapper = wrappers.length > 0 ? wrappers[wrappers.length - 1] : null;
1765
- const lastMessage = lastWrapper?.querySelector(".chat-message") ?? null;
1766
- lastMessage?.focus();
1767
- }, scrollDuration);
1768
- }
1769
- return {
1770
- get atBottom() {
1771
- return atBottom;
1772
- },
1773
- get showJumpButton() {
1774
- return showJumpButton;
1775
- },
1776
- setAtBottom,
1777
- createScrollAttachment,
1778
- createSentinelObserver,
1779
- handleSentinelEntry,
1780
- scrollToBottom,
1781
- scrollToTop,
1782
- jumpToLatest,
1783
- getScrollBehavior,
1784
- destroy,
1785
- get isUserScrolling() {
1786
- return isUserScrolling;
1787
- }
1788
- };
1789
- }
1790
-
1791
- // src/components/chat/container/use-chat-unread-state.svelte.ts
1792
- import * as $21 from "svelte/internal/server";
1793
- import { untrack } from "svelte";
1794
- function useChatUnreadState(options) {
1795
- const { announcerDebounceMs = 300, onUnreadIndicatorChange } = options ?? {};
1796
- let unreadCount = 0;
1797
- let newMessageIndicatorVisible = false;
1798
- let firstUnreadId = null;
1799
- let previousMessageCount = 0;
1800
- let previousLastMessageId = null;
1801
- let previousConversationId = null;
1802
- const announcer = useAnnouncer({ debounceMs: announcerDebounceMs });
1803
- const displayUnreadCount = $21.derived(() => formatUnreadCount(unreadCount));
1804
- const hasLargeCount = $21.derived(() => isLargeCount(unreadCount));
1805
- function notifyIndicatorChange() {
1806
- onUnreadIndicatorChange?.({ unreadCount, newMessageIndicatorVisible });
1807
- }
1808
- function markAllAsRead() {
1809
- const changed = unreadCount !== 0 || newMessageIndicatorVisible;
1810
- unreadCount = 0;
1811
- newMessageIndicatorVisible = false;
1812
- firstUnreadId = null;
1813
- if (changed)
1814
- notifyIndicatorChange();
1815
- }
1816
- function processMessages(messages, conversationId, getAtBottom) {
1817
- if (conversationId !== previousConversationId) {
1818
- previousMessageCount = messages.length;
1819
- previousLastMessageId = messages.at(-1)?.id ?? null;
1820
- previousConversationId = conversationId;
1821
- markAllAsRead();
1822
- return;
1823
- }
1824
- const currentCount = messages.length;
1825
- const prevCount = previousMessageCount;
1826
- const currentLastMessageId = messages.at(-1)?.id ?? null;
1827
- const wasAppended = currentCount > prevCount && prevCount > 0 && currentLastMessageId !== null && currentLastMessageId !== previousLastMessageId;
1828
- if (wasAppended) {
1829
- const atBottom = untrack(getAtBottom);
1830
- if (!atBottom) {
1831
- const newMessageCount = currentCount - prevCount;
1832
- unreadCount += newMessageCount;
1833
- newMessageIndicatorVisible = true;
1834
- if (firstUnreadId === null) {
1835
- const firstNewIndex = currentCount - newMessageCount;
1836
- const firstNewMessage = messages[firstNewIndex];
1837
- if (firstNewMessage) {
1838
- firstUnreadId = firstNewMessage.id;
1839
- }
1840
- }
1841
- announcer.announce(unreadCount === 1 ? "New message received" : `${unreadCount} new messages received`);
1842
- notifyIndicatorChange();
1843
- }
1844
- }
1845
- previousMessageCount = currentCount;
1846
- previousLastMessageId = currentLastMessageId;
1847
- }
1848
- function destroy2() {
1849
- announcer.destroy();
1850
- }
1851
- return {
1852
- get unreadCount() {
1853
- return unreadCount;
1854
- },
1855
- get newMessageIndicatorVisible() {
1856
- return newMessageIndicatorVisible;
1857
- },
1858
- get firstUnreadId() {
1859
- return firstUnreadId;
1860
- },
1861
- get displayUnreadCount() {
1862
- return displayUnreadCount();
1863
- },
1864
- get hasLargeCount() {
1865
- return hasLargeCount();
1866
- },
1867
- get announcerMessage() {
1868
- return announcer.message;
1869
- },
1870
- markAllAsRead,
1871
- processMessages,
1872
- destroy: destroy2
1873
- };
1874
- }
1875
-
1876
- // src/components/chat/container/use-chat-keyboard-nav.svelte.ts
1877
- import * as $22 from "svelte/internal/server";
1878
- import { tick } from "svelte";
1879
- function useChatKeyboardNav(options) {
1880
- const {
1881
- onJumpToLatest,
1882
- onJumpToStart,
1883
- getScrollBehavior,
1884
- getHistoryTrigger,
1885
- onVirtualMessageNavigation
1886
- } = options;
1887
- function navigateMessages(viewport, direction) {
1888
- const allMessages = viewport.querySelectorAll(".chat-message");
1889
- if (allMessages.length === 0)
1890
- return;
1891
- const currentIndex = Array.from(allMessages).findIndex((msg) => msg === document.activeElement);
1892
- let targetIndex;
1893
- if (currentIndex === -1) {
1894
- targetIndex = direction === "next" ? 0 : allMessages.length - 1;
1895
- } else if (direction === "next") {
1896
- targetIndex = currentIndex < allMessages.length - 1 ? currentIndex + 1 : currentIndex;
1897
- } else {
1898
- targetIndex = currentIndex > 0 ? currentIndex - 1 : currentIndex;
1899
- }
1900
- const targetMessage = allMessages[targetIndex];
1901
- if (targetMessage && targetMessage !== document.activeElement) {
1902
- targetMessage.focus();
1903
- targetMessage.scrollIntoView({ behavior: getScrollBehavior(), block: "nearest" });
1904
- }
1905
- }
1906
- const TEXT_EDITING_SELECTOR = "input, textarea, select, [contenteditable]";
1907
- function handleKeyDown(event, viewport) {
1908
- if (!viewport)
1909
- return;
1910
- if (document.activeElement?.closest(".chat-input") || document.activeElement?.matches(TEXT_EDITING_SELECTOR))
1911
- return;
1912
- const behavior = getScrollBehavior();
1913
- switch (event.key) {
1914
- case "End":
1915
- event.preventDefault();
1916
- onJumpToLatest();
1917
- break;
1918
- case "Home":
1919
- event.preventDefault();
1920
- if (onJumpToStart) {
1921
- onJumpToStart();
1922
- } else {
1923
- viewport.scrollTo({ top: 0, behavior });
1924
- }
1925
- tick().then(() => {
1926
- const historyTrigger = getHistoryTrigger?.();
1927
- if (historyTrigger) {
1928
- historyTrigger.focus();
1929
- } else {
1930
- const firstMessage = viewport.querySelector(".chat-message");
1931
- firstMessage?.focus();
1932
- }
1933
- return;
1934
- }, () => {
1935
- return;
1936
- });
1937
- break;
1938
- case "PageDown":
1939
- event.preventDefault();
1940
- viewport.scrollBy({ top: viewport.clientHeight * 0.9, behavior });
1941
- break;
1942
- case "PageUp":
1943
- event.preventDefault();
1944
- viewport.scrollBy({ top: -viewport.clientHeight * 0.9, behavior });
1945
- break;
1946
- case "ArrowDown":
1947
- if (document.activeElement?.classList.contains("chat-message")) {
1948
- event.preventDefault();
1949
- if (!onVirtualMessageNavigation?.("next")) {
1950
- navigateMessages(viewport, "next");
1951
- }
1952
- }
1953
- break;
1954
- case "ArrowUp":
1955
- if (document.activeElement?.classList.contains("chat-message")) {
1956
- event.preventDefault();
1957
- if (!onVirtualMessageNavigation?.("previous")) {
1958
- navigateMessages(viewport, "previous");
1959
- }
1960
- }
1961
- break;
1962
- }
1963
- }
1964
- return { handleKeyDown };
1965
- }
1966
-
1967
- // src/components/chat/container/use-chat-search.svelte.ts
1968
- import * as $23 from "svelte/internal/server";
1969
- function useChatSearch(options) {
1970
- const { getMessages: getMessages2 } = options;
1971
- let query = "";
1972
- let isOpen = false;
1973
- let currentMatchIndex = 0;
1974
- const matches = $23.derived(() => {
1975
- const trimmedQuery = query.trim();
1976
- if (!trimmedQuery)
1977
- return [];
1978
- const lowercasedQuery = trimmedQuery.toLowerCase();
1979
- const messages = getMessages2();
1980
- return messages.map((message, messageIndex) => ({ message, messageIndex })).filter(({ message }) => getMessageText(message).toLowerCase().includes(lowercasedQuery));
1981
- });
1982
- const matchCount = $23.derived(() => matches().length);
1983
- const clampedMatchIndex = $23.derived(() => matchCount() > 0 ? Math.min(currentMatchIndex, matchCount() - 1) : 0);
1984
- const currentMatch = $23.derived(() => matches()[clampedMatchIndex()] ?? null);
1985
- function open() {
1986
- isOpen = true;
1987
- }
1988
- function close() {
1989
- isOpen = false;
1990
- query = "";
1991
- currentMatchIndex = 0;
1992
- }
1993
- function nextMatch() {
1994
- if (matchCount() > 0) {
1995
- currentMatchIndex = (clampedMatchIndex() + 1) % matchCount();
1996
- }
1997
- }
1998
- function previousMatch() {
1999
- if (matchCount() > 0) {
2000
- currentMatchIndex = (clampedMatchIndex() - 1 + matchCount()) % matchCount();
2001
- }
2002
- }
2003
- function setQuery(value) {
2004
- query = value;
2005
- currentMatchIndex = 0;
2006
- }
2007
- return {
2008
- get query() {
2009
- return query;
2010
- },
2011
- get isOpen() {
2012
- return isOpen;
2013
- },
2014
- get matches() {
2015
- return matches();
2016
- },
2017
- get matchCount() {
2018
- return matchCount();
2019
- },
2020
- get currentMatch() {
2021
- return currentMatch();
2022
- },
2023
- get currentMatchIndex() {
2024
- return clampedMatchIndex();
2025
- },
2026
- open,
2027
- close,
2028
- nextMatch,
2029
- previousMatch,
2030
- setQuery
2031
- };
2032
- }
2033
-
2034
- // src/components/chat/container/chat-jump-controls.svelte
2035
- import * as $24 from "svelte/internal/server";
2036
- function Chat_jump_controls($$renderer, $$props) {
2037
- $$renderer.component(($$renderer2) => {
2038
- let {
2039
- showJumpButton,
2040
- hasNewMessageIndicator,
2041
- unreadCount,
2042
- displayUnreadCount,
2043
- hasLargeCount,
2044
- onjumptolatest
2045
- } = $$props;
2046
- function handleJump() {
2047
- onjumptolatest?.();
2048
- }
2049
- if (showJumpButton) {
2050
- $$renderer2.push("<!--[0-->");
2051
- $$renderer2.push(`<button type="button" class="chat-jump-button svelte-1ornxh"${$24.attr("aria-label", unreadCount > 0 ? `Jump to ${unreadCount} new message${unreadCount !== 1 ? "s" : ""}` : "Jump to latest")}>`);
2052
- Chevron_down($$renderer2, { class: "icon-sm" });
2053
- $$renderer2.push(`<!----> `);
2054
- if (unreadCount > 0) {
2055
- $$renderer2.push("<!--[0-->");
2056
- $$renderer2.push(`<span class="chat-jump-badge svelte-1ornxh"${$24.attr("data-large", hasLargeCount || undefined)}>${$24.escape(displayUnreadCount)}</span>`);
2057
- } else {
2058
- $$renderer2.push("<!--[-1-->");
2059
- }
2060
- $$renderer2.push(`<!--]--></button>`);
2061
- } else {
2062
- $$renderer2.push("<!--[-1-->");
2063
- }
2064
- $$renderer2.push(`<!--]--> `);
2065
- if (hasNewMessageIndicator && !showJumpButton) {
2066
- $$renderer2.push("<!--[0-->");
2067
- $$renderer2.push(`<button type="button" class="chat-new-indicator svelte-1ornxh"${$24.attr("aria-label", `Jump to ${$24.stringify(displayUnreadCount)} new message${$24.stringify(unreadCount !== 1 ? "s" : "")}`)}>`);
2068
- Chevron_down($$renderer2, { class: "icon-xs" });
2069
- $$renderer2.push(`<!----> <span aria-hidden="true">${$24.escape(displayUnreadCount)} new message${$24.escape(unreadCount !== 1 ? "s" : "")}</span></button>`);
2070
- } else {
2071
- $$renderer2.push("<!--[-1-->");
2072
- }
2073
- $$renderer2.push(`<!--]-->`);
2074
- });
2075
- }
2076
-
2077
- // src/components/chat/container/chat-history-trigger.svelte
2078
- import * as $25 from "svelte/internal/server";
2079
- function Chat_history_trigger($$renderer, $$props) {
2080
- $$renderer.component(($$renderer2) => {
2081
- let {
2082
- loading = false,
2083
- label = "Load earlier messages",
2084
- loadingLabel = "Loading earlier messages",
2085
- onload
2086
- } = $$props;
2087
- let buttonElement = null;
2088
- const buttonAttachment = (node) => {
2089
- buttonElement = node;
2090
- return () => {
2091
- if (buttonElement === node) {
2092
- buttonElement = null;
2093
- }
2094
- };
2095
- };
2096
- function focus(options = undefined) {
2097
- buttonElement?.focus(options);
2098
- }
2099
- $$renderer2.push(`<div class="chat-history-trigger svelte-y4b3t5" data-cinder-history-trigger=""><button type="button" class="chat-history-trigger-button svelte-y4b3t5"${$25.attr("disabled", loading, true)}${$25.attr("aria-busy", loading ? "true" : undefined)}>${$25.escape(loading ? loadingLabel : label)}</button> `);
2100
- if (loading) {
2101
- $$renderer2.push("<!--[0-->");
2102
- $$renderer2.push(`<span class="sr-only svelte-y4b3t5" role="status">${$25.escape(loadingLabel)}</span>`);
2103
- } else {
2104
- $$renderer2.push("<!--[-1-->");
2105
- }
2106
- $$renderer2.push(`<!--]--></div>`);
2107
- $25.bind_props($$props, { focus });
2108
- });
2109
- }
2110
-
2111
- // src/components/chat/container/chat-status-announcer.svelte
2112
- import * as $26 from "svelte/internal/server";
2113
- function Chat_status_announcer($$renderer, $$props) {
2114
- let { statusId, messageCount, announcerMessage, assertiveMessage } = $$props;
2115
- $$renderer.push(`<div${$26.attr("id", statusId)} class="cinder-sr-only">${$26.escape(messageCount)} messages in conversation</div> <div class="cinder-sr-only" aria-live="polite" aria-atomic="true">${$26.escape(announcerMessage)}</div> <div class="cinder-sr-only" aria-live="assertive" aria-atomic="true">${$26.escape(assertiveMessage ?? "")}</div>`);
2116
- }
2117
-
2118
- // src/components/chat/container/chat-search-bar.svelte
2119
- import * as $27 from "svelte/internal/server";
2120
- function Chat_search_bar($$renderer, $$props) {
2121
- $$renderer.component(($$renderer2) => {
2122
- let {
2123
- instanceId,
2124
- query,
2125
- matchCount,
2126
- currentMatchIndex,
2127
- onquerychange,
2128
- onnext,
2129
- onprevious,
2130
- onclose
2131
- } = $$props;
2132
- const searchResultsId = $27.derived(() => `${instanceId}-search-results`);
2133
- let inputElement = null;
2134
- const autoFocus = (element) => {
2135
- element.focus();
2136
- inputElement = element;
2137
- };
2138
- function focusInput() {
2139
- inputElement?.focus();
2140
- }
2141
- const matchLabel = $27.derived(() => {
2142
- if (!query.trim())
2143
- return "";
2144
- if (matchCount === 0)
2145
- return "No matches";
2146
- return `${currentMatchIndex + 1} of ${matchCount}`;
2147
- });
2148
- const hasQuery = $27.derived(() => query.trim().length > 0);
2149
- function handleInput(event) {
2150
- const target = event.currentTarget;
2151
- onquerychange(target.value);
2152
- }
2153
- function handleKeyDown(event) {
2154
- if (event.key === "Escape") {
2155
- event.preventDefault();
2156
- onclose();
2157
- } else if (event.key === "Enter" && matchCount > 0) {
2158
- event.preventDefault();
2159
- if (event.shiftKey) {
2160
- onprevious();
2161
- } else {
2162
- onnext();
2163
- }
2164
- }
2165
- }
2166
- $$renderer2.push(`<div class="chat-search-bar svelte-13rzt40" role="search" aria-label="Search messages"><span class="chat-search-icon svelte-13rzt40" aria-hidden="true">`);
2167
- Search($$renderer2, { class: "icon-sm" });
2168
- $$renderer2.push(`<!----></span> <input type="search" class="chat-search-input svelte-13rzt40" placeholder="Search messages…"${$27.attr("value", query)} autocomplete="off" aria-label="Search messages"${$27.attr("aria-controls", hasQuery() ? searchResultsId() : undefined)}/> `);
2169
- if (hasQuery()) {
2170
- $$renderer2.push("<!--[0-->");
2171
- $$renderer2.push(`<span${$27.attr("id", searchResultsId())} class="chat-search-match-count svelte-13rzt40" aria-live="polite" aria-atomic="true">${$27.escape(matchLabel())}</span>`);
2172
- } else {
2173
- $$renderer2.push("<!--[-1-->");
2174
- }
2175
- $$renderer2.push(`<!--]--> <div class="chat-search-navigation svelte-13rzt40" role="group" aria-label="Navigate search results"><button type="button" class="chat-search-nav-button svelte-13rzt40"${$27.attr("disabled", matchCount === 0, true)} aria-label="Previous match" title="Previous match (Shift+Enter)">`);
2176
- Chevron_up($$renderer2, { class: "icon-sm" });
2177
- $$renderer2.push(`<!----></button> <button type="button" class="chat-search-nav-button svelte-13rzt40"${$27.attr("disabled", matchCount === 0, true)} aria-label="Next match" title="Next match (Enter)">`);
2178
- Chevron_down($$renderer2, { class: "icon-sm" });
2179
- $$renderer2.push(`<!----></button></div> <button type="button" class="chat-search-close svelte-13rzt40" aria-label="Close search" title="Close search (Escape)">`);
2180
- X($$renderer2, { class: "icon-sm" });
2181
- $$renderer2.push(`<!----></button></div>`);
2182
- $27.bind_props($$props, { focusInput });
2183
- });
2184
- }
2185
-
2186
- // src/components/chat/container/use-chat-message-groups.svelte.ts
2187
- import * as $28 from "svelte/internal/server";
2188
- function findPairedToolResultIds(messages) {
2189
- const visibleToolCallIds = new Set;
2190
- const pairedResultIds = new Set;
2191
- for (const message of messages) {
2192
- if (message.role === "tool-call" && message.toolCall) {
2193
- visibleToolCallIds.add(message.toolCall.id);
2194
- }
2195
- }
2196
- for (const message of messages) {
2197
- if (message.role === "tool-result" && message.toolResult && visibleToolCallIds.has(message.toolResult.callId)) {
2198
- pairedResultIds.add(message.id);
2199
- }
2200
- }
2201
- return pairedResultIds;
2202
- }
2203
- function buildMessagesWithDateSeparators(messages, pairedToolResultIds) {
2204
- const result = [];
2205
- let lastDate = null;
2206
- for (const message of messages) {
2207
- if (message.role === "tool-result" && pairedToolResultIds.has(message.id)) {
2208
- continue;
2209
- }
2210
- const timestamp = message.createdAt ?? message.metadata?.["timestamp"];
2211
- if (timestamp != null) {
2212
- const messageDate = new Date(timestamp);
2213
- const isValidDate = !isNaN(messageDate.getTime());
2214
- if (isValidDate) {
2215
- const dateKey = messageDate.toDateString();
2216
- if (dateKey !== lastDate) {
2217
- result.push({ type: "date", date: messageDate });
2218
- lastDate = dateKey;
2219
- }
2220
- }
2221
- }
2222
- result.push({ type: "message", message });
2223
- }
2224
- return result;
2225
- }
2226
- function buildChatRenderRows(items, options) {
2227
- const rows = [];
2228
- const firstUnreadId = options?.firstUnreadId ?? null;
2229
- let previousMessageId = null;
2230
- for (const item of items) {
2231
- if (item.type === "message") {
2232
- if (item.message.id === firstUnreadId) {
2233
- rows.push({ type: "unread-divider", afterMessageId: previousMessageId });
2234
- }
2235
- previousMessageId = item.message.id;
2236
- }
2237
- rows.push(item);
2238
- }
2239
- if (options?.showTypingIndicator) {
2240
- rows.push({ type: "typing" });
2241
- }
2242
- return rows;
2243
- }
2244
- function chatRenderRowKey(row) {
2245
- switch (row.type) {
2246
- case "date":
2247
- return `date-${row.date.toISOString()}`;
2248
- case "message":
2249
- return `msg-${row.message.id}`;
2250
- case "unread-divider":
2251
- return `unread-${row.afterMessageId ?? "start"}`;
2252
- case "typing":
2253
- return "typing";
2254
- }
2255
- }
2256
- function findRenderRowIndexByMessageId(rows, messageId) {
2257
- return rows.findIndex((row) => row.type === "message" && row.message.id === messageId);
2258
- }
2259
-
2260
- // src/components/chat/container/use-chat-virtualizer.svelte.ts
2261
- import * as $29 from "svelte/internal/server";
2262
- class ChatVirtualizer {
2263
- options;
2264
- #scrollElement = null;
2265
- #scrollOffset = 0;
2266
- #measurementVersion = 0;
2267
- #offsetsCache = null;
2268
- #offsetsCacheCount = -1;
2269
- #offsetsCacheMeasurementVersion = -1;
2270
- #measuredSizes = new Map;
2271
- constructor(options) {
2272
- this.options = options;
2273
- }
2274
- get virtualItems() {
2275
- return this.#virtualItems();
2276
- }
2277
- get totalSize() {
2278
- const offsets = this.#offsets();
2279
- return offsets[offsets.length - 1] ?? 0;
2280
- }
2281
- get scrollPaddingStart() {
2282
- return this.#scrollPaddingStart();
2283
- }
2284
- get scrollSize() {
2285
- return this.scrollPaddingStart + this.totalSize;
2286
- }
2287
- get scrollOffset() {
2288
- return this.#scrollOffset;
2289
- }
2290
- setScrollElement(element) {
2291
- if (this.#scrollElement === element)
2292
- return;
2293
- this.#scrollElement?.removeEventListener("scroll", this.#handleScroll);
2294
- this.#scrollElement = element;
2295
- this.#scrollOffset = element?.scrollTop ?? 0;
2296
- this.#scrollElement?.addEventListener("scroll", this.#handleScroll, { passive: true });
2297
- }
2298
- scrollElement = (node) => {
2299
- this.setScrollElement(node);
2300
- return () => {
2301
- if (this.#scrollElement === node) {
2302
- this.setScrollElement(null);
2303
- }
2304
- };
2305
- };
2306
- measureElement = (node) => {
2307
- this.measureElementNode(node);
2308
- if (typeof ResizeObserver !== "function")
2309
- return;
2310
- const resizeObserver = new ResizeObserver(() => {
2311
- this.measureElementNode(node);
2312
- });
2313
- resizeObserver.observe(node);
2314
- return () => {
2315
- resizeObserver.disconnect();
2316
- };
2317
- };
2318
- measureElementNode(node) {
2319
- if (!node)
2320
- return;
2321
- this.#measureNode(node);
2322
- }
2323
- syncOptions() {
2324
- const count = this.options.getCount();
2325
- const currentKeys = new Set;
2326
- for (let index = 0;index < count; index += 1) {
2327
- currentKeys.add(this.options.getItemKey(index));
2328
- }
2329
- let changed = false;
2330
- for (const key of this.#measuredSizes.keys()) {
2331
- if (!currentKeys.has(key)) {
2332
- this.#measuredSizes.delete(key);
2333
- changed = true;
2334
- }
2335
- }
2336
- if (changed)
2337
- this.#measurementVersion += 1;
2338
- }
2339
- scrollToIndex(index, options = { align: "auto" }) {
2340
- const count = this.options.getCount();
2341
- if (count === 0)
2342
- return;
2343
- const clampedIndex = Math.max(0, Math.min(Math.trunc(index), count - 1));
2344
- const offsets = this.#offsets();
2345
- const itemStart = offsets[clampedIndex] ?? 0;
2346
- const itemEnd = offsets[clampedIndex + 1] ?? itemStart + this.#estimatedSize();
2347
- const itemSize = itemEnd - itemStart;
2348
- const viewportHeight = this.#containerHeight();
2349
- const paddingStart = this.#scrollPaddingStart();
2350
- const viewportStart = Math.max(0, this.scrollOffset - paddingStart);
2351
- const viewportEnd = viewportStart + viewportHeight;
2352
- let offset = itemStart + paddingStart;
2353
- if (options.align === "end") {
2354
- offset = itemEnd + paddingStart - viewportHeight;
2355
- } else if (options.align === "center") {
2356
- offset = itemStart + paddingStart - (viewportHeight - itemSize) / 2;
2357
- } else if (options.align === "auto") {
2358
- if (itemStart >= viewportStart && itemEnd <= viewportEnd)
2359
- return;
2360
- offset = itemStart < viewportStart ? itemStart + paddingStart : itemEnd + paddingStart - viewportHeight;
2361
- }
2362
- this.scrollToOffset(offset, options);
2363
- }
2364
- getVirtualItem(index) {
2365
- const count = this.options.getCount();
2366
- if (count === 0)
2367
- return null;
2368
- const clampedIndex = Math.max(0, Math.min(Math.trunc(index), count - 1));
2369
- return this.#virtualItemAt(clampedIndex, this.#offsets());
2370
- }
2371
- scrollToOffset(offset, options) {
2372
- const element = this.#getScrollElement();
2373
- const maximumOffset = Math.max(0, this.scrollSize - this.#containerHeight());
2374
- const top = Math.min(maximumOffset, Math.max(0, offset));
2375
- this.#scrollOffset = top;
2376
- if (element) {
2377
- const behavior = options?.behavior === "instant" ? "auto" : options?.behavior;
2378
- if (typeof element.scrollTo === "function" && behavior && behavior !== "auto") {
2379
- element.scrollTo({ top, behavior });
2380
- return;
2381
- }
2382
- element.scrollTop = top;
2383
- return;
2384
- }
2385
- }
2386
- #handleScroll = () => {
2387
- this.#scrollOffset = this.#scrollElement?.scrollTop ?? 0;
2388
- };
2389
- #getScrollElement() {
2390
- return this.#scrollElement ?? this.options.getScrollElement();
2391
- }
2392
- #containerHeight() {
2393
- const element = this.#getScrollElement();
2394
- return element?.clientHeight || this.options.getInitialHeight();
2395
- }
2396
- #scrollPaddingStart() {
2397
- return Math.max(0, this.options.getScrollPaddingStart?.() ?? 0);
2398
- }
2399
- #estimatedSize() {
2400
- return Math.max(1, this.options.getEstimatedSize());
2401
- }
2402
- #itemSize(index) {
2403
- const key = this.options.getItemKey(index);
2404
- return this.#measuredSizes.get(key) ?? this.#estimatedSize();
2405
- }
2406
- #offsets() {
2407
- const count = this.options.getCount();
2408
- const measurementVersion = this.#measurementVersion;
2409
- if (this.#offsetsCache && this.#offsetsCacheCount === count && this.#offsetsCacheMeasurementVersion === measurementVersion) {
2410
- return this.#offsetsCache;
2411
- }
2412
- const offsets = Array.from({ length: count + 1 });
2413
- let offset = 0;
2414
- offsets[0] = 0;
2415
- for (let index = 0;index < count; index += 1) {
2416
- offset += this.#itemSize(index);
2417
- offsets[index + 1] = offset;
2418
- }
2419
- this.#offsetsCache = offsets;
2420
- this.#offsetsCacheCount = count;
2421
- this.#offsetsCacheMeasurementVersion = measurementVersion;
2422
- return offsets;
2423
- }
2424
- #readElementSize(node) {
2425
- const rectHeight = node.getBoundingClientRect().height;
2426
- return Math.ceil(rectHeight || node.scrollHeight || node.offsetHeight || 0);
2427
- }
2428
- #measureNode(node) {
2429
- const index = Number(node.dataset["cinderVirtualIndex"]);
2430
- if (!Number.isInteger(index) || index < 0 || index >= this.options.getCount())
2431
- return;
2432
- const measuredSize = this.#readElementSize(node);
2433
- if (measuredSize <= 0)
2434
- return;
2435
- const key = this.options.getItemKey(index);
2436
- if (this.#measuredSizes.get(key) === measuredSize)
2437
- return;
2438
- this.#measuredSizes.set(key, measuredSize);
2439
- this.#measurementVersion += 1;
2440
- }
2441
- #startIndex(offsets, scrollTop) {
2442
- const count = Math.max(0, offsets.length - 1);
2443
- let low = 0;
2444
- let high = count;
2445
- while (low < high) {
2446
- const mid = Math.floor((low + high) / 2);
2447
- if ((offsets[mid + 1] ?? 0) <= scrollTop) {
2448
- low = mid + 1;
2449
- } else {
2450
- high = mid;
2451
- }
2452
- }
2453
- return low;
2454
- }
2455
- #endIndex(offsets, viewportEnd) {
2456
- const count = Math.max(0, offsets.length - 1);
2457
- let low = 0;
2458
- let high = count;
2459
- while (low < high) {
2460
- const mid = Math.floor((low + high) / 2);
2461
- if ((offsets[mid] ?? 0) < viewportEnd) {
2462
- low = mid + 1;
2463
- } else {
2464
- high = mid;
2465
- }
2466
- }
2467
- return low;
2468
- }
2469
- #virtualItemAt(index, offsets) {
2470
- const start = offsets[index] ?? 0;
2471
- const end = offsets[index + 1] ?? start + this.#estimatedSize();
2472
- return {
2473
- key: this.options.getItemKey(index),
2474
- index,
2475
- start,
2476
- end,
2477
- size: end - start,
2478
- lane: 0
2479
- };
2480
- }
2481
- #virtualItems() {
2482
- const count = this.options.getCount();
2483
- if (count === 0)
2484
- return [];
2485
- const offsets = this.#offsets();
2486
- const overscan = Math.max(0, Math.trunc(this.options.getOverscan()));
2487
- const scrollTop = Math.max(0, this.scrollOffset - this.#scrollPaddingStart());
2488
- const viewportEnd = scrollTop + Math.max(0, this.#containerHeight());
2489
- const visibleStartIndex = this.#startIndex(offsets, scrollTop);
2490
- const visibleEndIndex = Math.max(visibleStartIndex + 1, this.#endIndex(offsets, viewportEnd));
2491
- const startIndex = Math.max(0, visibleStartIndex - overscan);
2492
- const endIndex = Math.min(count, visibleEndIndex + overscan);
2493
- return Array.from({ length: endIndex - startIndex }, (_, offset) => {
2494
- const index = startIndex + offset;
2495
- return this.#virtualItemAt(index, offsets);
2496
- });
2497
- }
2498
- }
2499
-
2500
- // src/components/chat/container/use-chat-reasoning-state.svelte.ts
2501
- import * as $30 from "svelte/internal/server";
2502
- function useChatReasoningState(options) {
2503
- const { onRemeasureRow } = options;
2504
- let expandedIds = new Set;
2505
- function isExpanded(messageId) {
2506
- return expandedIds.has(messageId);
2507
- }
2508
- function toggle(messageId) {
2509
- const next = new Set(expandedIds);
2510
- if (next.has(messageId)) {
2511
- next.delete(messageId);
2512
- } else {
2513
- next.add(messageId);
2514
- }
2515
- expandedIds = next;
2516
- onRemeasureRow?.(messageId);
2517
- }
2518
- function reset() {
2519
- expandedIds = new Set;
2520
- }
2521
- return { isExpanded, toggle, reset };
2522
- }
2523
-
2524
- // src/components/chat/container/use-chat-typing-indicator.svelte.ts
2525
- import * as $31 from "svelte/internal/server";
2526
- var ADAPTER_PARTICIPANT_ID = "__adapter__";
2527
- var ADAPTER_PARTICIPANT_NAME = "Someone";
2528
- function deriveTypingLabel(participants) {
2529
- const count = participants.length;
2530
- if (count === 0)
2531
- return "";
2532
- if (count === 1)
2533
- return `${participants[0].name} is typing…`;
2534
- if (count === 2)
2535
- return `${participants[0].name} and ${participants[1].name} are typing…`;
2536
- if (count <= 4)
2537
- return `${count} people are typing…`;
2538
- return "Several people are typing…";
2539
- }
2540
- function deriveAnnouncedLabel(participants) {
2541
- const count = participants.length;
2542
- if (count === 0)
2543
- return "";
2544
- if (count === 1)
2545
- return `${participants[0].name} is typing`;
2546
- if (count === 2)
2547
- return `${participants[0].name} and ${participants[1].name} are typing`;
2548
- if (count <= 4)
2549
- return `${count} people are typing`;
2550
- return "Several people are typing";
2551
- }
2552
- function useChatTypingIndicator(options) {
2553
- let adapterIsTyping = false;
2554
- let announcedLabel = "";
2555
- let debounceHandle;
2556
- const mergedParticipants = $31.derived(() => {
2557
- const propParticipants = options.getTypingParticipants();
2558
- if (propParticipants !== undefined)
2559
- return propParticipants;
2560
- if (!adapterIsTyping)
2561
- return [];
2562
- return [
2563
- { id: ADAPTER_PARTICIPANT_ID, name: ADAPTER_PARTICIPANT_NAME }
2564
- ];
2565
- });
2566
- const typingLabel = $31.derived(() => deriveTypingLabel(mergedParticipants()));
2567
- const participantCount = $31.derived(() => mergedParticipants().length);
2568
- const announcementText = $31.derived(() => deriveAnnouncedLabel(mergedParticipants()));
2569
- function handleAdapterTypingChange(isTyping) {
2570
- adapterIsTyping = isTyping;
2571
- }
2572
- function reset() {
2573
- adapterIsTyping = false;
2574
- }
2575
- return {
2576
- get typingLabel() {
2577
- return typingLabel();
2578
- },
2579
- get announcedLabel() {
2580
- return announcedLabel;
2581
- },
2582
- get participantCount() {
2583
- return participantCount();
2584
- },
2585
- handleAdapterTypingChange,
2586
- reset
2587
- };
2588
- }
2589
-
2590
- // src/components/chat/container/use-chat-read-receipts.svelte.ts
2591
- import * as $32 from "svelte/internal/server";
2592
- function useChatReadReceipts(options) {
2593
- let adapterReceipts = {};
2594
- function getReceipt(messageId) {
2595
- const propReceipts = options.getReadReceipts();
2596
- if (propReceipts !== undefined)
2597
- return propReceipts.get(messageId);
2598
- return adapterReceipts[messageId];
2599
- }
2600
- function handleAdapterReadReceipt(event) {
2601
- const existing = adapterReceipts[event.messageId];
2602
- if (existing === undefined) {
2603
- adapterReceipts[event.messageId] = {
2604
- status: "read",
2605
- ...event.readBy !== undefined ? { readBy: event.readBy } : {}
2606
- };
2607
- return;
2608
- }
2609
- if (event.readBy !== undefined && event.readBy.length > 0) {
2610
- const merged = Array.from(new Set([...existing.readBy ?? [], ...event.readBy]));
2611
- adapterReceipts[event.messageId] = { ...existing, readBy: merged };
2612
- }
2613
- }
2614
- function reset() {
2615
- adapterReceipts = {};
2616
- }
2617
- return { getReceipt, handleAdapterReadReceipt, reset };
2618
- }
2619
-
2620
- // src/components/chat/container/chat-participant-typing.svelte
2621
- import * as $33 from "svelte/internal/server";
2622
- function Chat_participant_typing($$renderer, $$props) {
2623
- let { typingLabel, participantCount } = $$props;
2624
- const isActive = $33.derived(() => participantCount > 0);
2625
- $$renderer.push(`<div class="chat-participant-typing svelte-1i35kwx"${$33.attr("data-cinder-participant-typing", isActive() ? "" : undefined)}${$33.attr("data-cinder-participant-count", participantCount)} aria-hidden="true">`);
2626
- if (isActive()) {
2627
- $$renderer.push("<!--[0-->");
2628
- $$renderer.push(`<div class="chat-participant-typing-indicator svelte-1i35kwx"><span class="chat-typing-dot svelte-1i35kwx" aria-hidden="true"></span> <span class="chat-typing-dot svelte-1i35kwx" aria-hidden="true"></span> <span class="chat-typing-dot svelte-1i35kwx" aria-hidden="true"></span> <span class="chat-participant-typing-label svelte-1i35kwx">${$33.escape(typingLabel)}</span></div>`);
2629
- } else {
2630
- $$renderer.push("<!--[-1-->");
2631
- }
2632
- $$renderer.push(`<!--]--></div>`);
2633
- }
2634
-
2635
- // src/components/chat/message/chat-read-receipt.svelte
2636
- import * as $34 from "svelte/internal/server";
2637
- function Chat_read_receipt($$renderer, $$props) {
2638
- $$renderer.component(($$renderer2) => {
2639
- let { receipt } = $$props;
2640
- const status = $34.derived(() => receipt.status);
2641
- const ariaLabel = $34.derived(() => {
2642
- if (status() === "sent")
2643
- return "Sent";
2644
- if (status() === "delivered")
2645
- return "Delivered";
2646
- const readers = receipt.readBy;
2647
- if (readers && readers.length > 0) {
2648
- return `Read by ${readers.join(", ")}`;
2649
- }
2650
- return "Read";
2651
- });
2652
- const visibleLabel = $34.derived(() => status() === "sent" ? "Sent" : status() === "delivered" ? "Delivered" : "Read");
2653
- const isDoubleCheck = $34.derived(() => status() === "delivered" || status() === "read");
2654
- $$renderer2.push(`<span class="chat-read-receipt svelte-1r00g9n" role="img"${$34.attr("data-cinder-receipt-status", status())}${$34.attr("aria-label", ariaLabel())}><span class="chat-read-receipt-icon svelte-1r00g9n" aria-hidden="true">`);
2655
- if (isDoubleCheck()) {
2656
- $$renderer2.push("<!--[0-->");
2657
- Check_check($$renderer2, { size: 12 });
2658
- } else {
2659
- $$renderer2.push("<!--[-1-->");
2660
- Check($$renderer2, { size: 12 });
2661
- }
2662
- $$renderer2.push(`<!--]--></span> <span class="chat-read-receipt-label svelte-1r00g9n">${$34.escape(visibleLabel())}</span></span>`);
2663
- });
2664
- }
2665
-
2666
- // src/components/chat/container/chat.svelte
2667
- function Chat($$renderer, $$props) {
2668
- $$renderer.component(($$renderer2) => {
2669
- const noopAttachment = () => {};
2670
- let {
2671
- id,
2672
- conversation,
2673
- atBottom = true,
2674
- unreadCount = 0,
2675
- newMessageIndicatorVisible = false,
2676
- class: className,
2677
- surfaceMode = "default",
2678
- density = "comfortable",
2679
- variant = "bubble",
2680
- bottomThreshold = DEFAULT_SCROLL_CONFIGURATION.bottomThreshold,
2681
- jumpThreshold = DEFAULT_SCROLL_CONFIGURATION.jumpThreshold,
2682
- streaming = false,
2683
- streamingStatus,
2684
- capabilities,
2685
- virtualized = false,
2686
- virtualizationEstimatedRowHeight = 88,
2687
- virtualizationOverscan = 3,
2688
- virtualizationInitialHeight = 640,
2689
- moreHistoryAvailable = true,
2690
- loadEarlierLabel = "Load earlier messages",
2691
- loadingEarlierLabel = "Loading earlier messages",
2692
- header,
2693
- empty,
2694
- emptyPrompts,
2695
- messageActions,
2696
- messageStatus,
2697
- row,
2698
- messagePart,
2699
- viewportAttachment,
2700
- typingParticipants,
2701
- readReceipts,
2702
- adapter,
2703
- onadaptererror,
2704
- onpushmessage,
2705
- ontypingchange,
2706
- onreadreceipt,
2707
- onsubmit,
2708
- onretry,
2709
- onedit,
2710
- onapprove,
2711
- ondeny,
2712
- messageReasoning,
2713
- messageSteps,
2714
- messageSuggestions,
2715
- onsuggestionselect,
2716
- onloadhistory,
2717
- onstopgenerating,
2718
- onjumptolatest,
2719
- onscrollstatechange,
2720
- onunreadindicatorchange,
2721
- onexpandedchange,
2722
- onattachmentadd,
2723
- onattachmentremove,
2724
- onattachmentfailure,
2725
- $$slots,
2726
- $$events,
2727
- ...rest
2728
- } = $$props;
2729
- let viewport = null;
2730
- let containerRef = null;
2731
- let inputRef;
2732
- let searchBarRef = undefined;
2733
- let historyTriggerRef = undefined;
2734
- let isContainerDragOver = false;
2735
- let streamingContent = "";
2736
- let streamingMessageId = null;
2737
- let streamingRowElement = null;
2738
- let tokenBuffer = [];
2739
- let streamingScrollRaf;
2740
- let approvedToolCallIds = new Set;
2741
- let deniedToolCallIds = new Set;
2742
- const reasoningState = useChatReasoningState({
2743
- onRemeasureRow: (messageId) => {
2744
- if (!isVirtualized() || !viewport)
2745
- return;
2746
- const rowNode = viewport.querySelector(`#message-${CSS.escape(messageId)}`);
2747
- if (rowNode) {
2748
- chatVirtualizer.measureElementNode(rowNode);
2749
- }
2750
- }
2751
- });
2752
- let isLoadingHistory = false;
2753
- let adapterHasMoreHistory = undefined;
2754
- let historyAnnouncement = "";
2755
- let pendingHistoryScroll = null;
2756
- let deferredAdapterHasMoreHistory = null;
2757
- let historyAnchorMessageId = null;
2758
- let historyAnchorViewportOffset = null;
2759
- let historyAnchorRestoredScrollTop = null;
2760
- let previousHistoryConversationId;
2761
- let previousHistoryAdapter;
2762
- const scrollState = useChatScrollState({
2763
- getBottomThreshold: () => bottomThreshold,
2764
- getJumpThreshold: () => jumpThreshold,
2765
- onScrollStateChange: handleScrollStateChange,
2766
- onReachBottom: () => {
2767
- atBottom = true;
2768
- if (unreadState.unreadCount > 0 || unreadState.newMessageIndicatorVisible) {
2769
- unreadState.markAllAsRead();
2770
- }
2771
- }
2772
- });
2773
- const unreadState = useChatUnreadState({
2774
- onUnreadIndicatorChange: (event) => {
2775
- unreadCount = event.unreadCount;
2776
- newMessageIndicatorVisible = event.newMessageIndicatorVisible;
2777
- onunreadindicatorchange?.(event);
2778
- }
2779
- });
2780
- const keyboardNav = useChatKeyboardNav({
2781
- onJumpToLatest: handleJumpToLatest,
2782
- onJumpToStart: () => {
2783
- if (isVirtualized()) {
2784
- chatVirtualizer.scrollToOffset(0, { behavior: scrollState.getScrollBehavior() });
2785
- }
2786
- },
2787
- getScrollBehavior: scrollState.getScrollBehavior,
2788
- getHistoryTrigger: () => showHistoryTrigger() ? historyTriggerRef : null,
2789
- onVirtualMessageNavigation: (direction) => navigateVirtualMessage(direction)
2790
- });
2791
- const messages = $35.derived(() => getMessages(conversation));
2792
- const lastMessageId = $35.derived(() => messages().at(-1)?.id);
2793
- let previousAutoScrollMessageCount = getMessages(conversation).length;
2794
- const conversationId = $35.derived(() => conversation.id);
2795
- const showTypingIndicator = $35.derived(() => streaming && !streamingMessageId);
2796
- const allowAttachments = $35.derived(() => capabilities?.attachments ?? true);
2797
- const allowSearch = $35.derived(() => capabilities?.search ?? true);
2798
- const allowCopy = $35.derived(() => capabilities?.copy ?? true);
2799
- const allowEditing = $35.derived(() => capabilities?.editing ?? true);
2800
- const allowRetry = $35.derived(() => capabilities?.retry ?? true);
2801
- const toolCallPairsByCallId = $35.derived(() => {
2802
- const toolCallPairs = pairToolCallsWithResults(messages());
2803
- const map = new Map;
2804
- for (const pair of toolCallPairs) {
2805
- const existing = map.get(pair.call.id);
2806
- if (existing) {
2807
- existing.push(pair);
2808
- } else {
2809
- map.set(pair.call.id, [pair]);
2810
- }
2811
- }
2812
- return map;
2813
- });
2814
- const renderRows = $35.derived(() => {
2815
- const pairedToolResultIds = findPairedToolResultIds(messages());
2816
- const messagesWithDates = buildMessagesWithDateSeparators(messages(), pairedToolResultIds);
2817
- return buildChatRenderRows(messagesWithDates, {
2818
- firstUnreadId: unreadState.firstUnreadId,
2819
- showTypingIndicator: showTypingIndicator()
2820
- });
2821
- });
2822
- let hasMounted = false;
2823
- const isVirtualized = $35.derived(() => virtualized && hasMounted && messages().length > 0);
2824
- const timelineResetIdentity = $35.derived(() => `${conversationId()}:${isVirtualized() ? "virtualized" : "full"}`);
2825
- const staticRowsResetIdentity = $35.derived(() => messages()[0]?.id ?? "");
2826
- const chatVirtualizer = new ChatVirtualizer({
2827
- getScrollElement: () => viewport,
2828
- getCount: () => isVirtualized() ? renderRows().length : 0,
2829
- getItemKey: (index) => chatRenderRowKey(renderRows()[index] ?? { type: "typing" }),
2830
- getEstimatedSize: () => virtualizationEstimatedRowHeight,
2831
- getOverscan: () => virtualizationOverscan,
2832
- getInitialHeight: () => virtualizationInitialHeight,
2833
- getScrollPaddingStart: () => virtualSpacerOffsetTop()
2834
- });
2835
- const virtualRows = $35.derived(() => {
2836
- if (!isVirtualized())
2837
- return [];
2838
- const renderedIndexes = new Set;
2839
- const rows = [];
2840
- for (const virtualItem of chatVirtualizer.virtualItems) {
2841
- const row2 = renderRows()[virtualItem.index];
2842
- if (!row2)
2843
- continue;
2844
- renderedIndexes.add(virtualItem.index);
2845
- rows.push({
2846
- row: row2,
2847
- virtualItem: pinHistoryAnchorVirtualItem(row2, virtualItem)
2848
- });
2849
- }
2850
- if (streamingMessageId) {
2851
- const streamingIndex = findRenderRowIndexByMessageId(renderRows(), streamingMessageId);
2852
- if (streamingIndex >= 0 && !renderedIndexes.has(streamingIndex)) {
2853
- const virtualItem = chatVirtualizer.getVirtualItem(streamingIndex);
2854
- if (!virtualItem)
2855
- return rows;
2856
- rows.push({ row: renderRows()[streamingIndex], virtualItem });
2857
- }
2858
- }
2859
- if (historyAnchorMessageId) {
2860
- const historyAnchorIndex = findRenderRowIndexByMessageId(renderRows(), historyAnchorMessageId);
2861
- if (historyAnchorIndex >= 0 && !renderedIndexes.has(historyAnchorIndex)) {
2862
- const virtualItem = chatVirtualizer.getVirtualItem(historyAnchorIndex);
2863
- if (!virtualItem)
2864
- return rows;
2865
- const row2 = renderRows()[historyAnchorIndex];
2866
- if (row2) {
2867
- rows.push({
2868
- row: row2,
2869
- virtualItem: pinHistoryAnchorVirtualItem(row2, virtualItem)
2870
- });
2871
- }
2872
- }
2873
- }
2874
- rows.sort((a, b) => a.virtualItem.index - b.virtualItem.index);
2875
- return rows;
2876
- });
2877
- function pinHistoryAnchorVirtualItem(row2, virtualItem) {
2878
- if (historyAnchorViewportOffset === null || row2.type !== "message" || row2.message.id !== historyAnchorMessageId) {
2879
- return virtualItem;
2880
- }
2881
- const scrollTop = viewport?.scrollTop ?? chatVirtualizer.scrollOffset;
2882
- const start = Math.max(0, scrollTop - chatVirtualizer.scrollPaddingStart + historyAnchorViewportOffset);
2883
- return { ...virtualItem, start, end: start + virtualItem.size };
2884
- }
2885
- const searchState = useChatSearch({ getMessages: () => messages() });
2886
- const typingIndicatorState = useChatTypingIndicator({ getTypingParticipants: () => typingParticipants });
2887
- const readReceiptsState = useChatReadReceipts({ getReadReceipts: () => readReceipts });
2888
- const viewportAttach = $35.derived(() => viewportAttachment ?? noopAttachment);
2889
- const effectiveHasMoreHistory = $35.derived(() => adapterHasMoreHistory ?? moreHistoryAvailable);
2890
- const hasHistoryLoader = $35.derived(() => onloadhistory !== undefined || adapter?.loadOlderMessages !== undefined);
2891
- const showHistoryTrigger = $35.derived(() => hasHistoryLoader() && effectiveHasMoreHistory());
2892
- const canRetry = $35.derived(() => onretry !== undefined || adapter?.retryMessage !== undefined);
2893
- const canEdit = $35.derived(() => onedit !== undefined || adapter?.editMessage !== undefined);
2894
- const sentinelAttach = $35.derived(() => isVirtualized() ? noopAttachment : useIntersection(scrollState.handleSentinelEntry, {
2895
- root: viewport,
2896
- rootMargin: `0px 0px ${bottomThreshold}px 0px`
2897
- }));
2898
- const timelineId = $35.derived(() => `${id}-timeline`);
2899
- const inputId = $35.derived(() => `${id}-input`);
2900
- const statusId = $35.derived(() => `${id}-status`);
2901
- const toolApprovalAssertiveMessage = $35.derived(() => {
2902
- for (const message of messages()) {
2903
- if (message.role === "tool-result" && message.toolResult?.outcome === "action_required" && message.toolResult.action && !approvedToolCallIds.has(message.toolResult.callId) && !deniedToolCallIds.has(message.toolResult.callId)) {
2904
- const actionMessage = message.toolResult.action.message ?? "This tool call requires your approval before it can continue.";
2905
- return `Action required: ${actionMessage}`;
2906
- }
2907
- }
2908
- return "";
2909
- });
2910
- async function waitForLayoutFrame() {
2911
- await tick2();
2912
- if (typeof requestAnimationFrame !== "function")
2913
- return;
2914
- await new Promise((resolve) => {
2915
- requestAnimationFrame(() => resolve());
2916
- });
2917
- }
2918
- async function restorePendingHistoryScrollAfterLayout(pending) {
2919
- await waitForLayoutFrame();
2920
- if (pendingHistoryScroll !== pending)
2921
- return false;
2922
- return restoreHistoryScroll(pending);
2923
- }
2924
- function restoreHistoryScroll(pending) {
2925
- if (!viewport)
2926
- return false;
2927
- const currentFirstMessageId = messages()[0]?.id ?? null;
2928
- const currentCount = messages().length;
2929
- if (currentCount <= pending.previousCount || currentFirstMessageId === pending.previousFirstTranscriptMessageId) {
2930
- return false;
2931
- }
2932
- const prependedCount = currentCount - pending.previousCount;
2933
- pendingHistoryScroll = null;
2934
- finishDeferredAdapterHistoryLoading();
2935
- if (isVirtualized()) {
2936
- setHistoryAnchor(pending);
2937
- }
2938
- if (isVirtualized()) {
2939
- const newTotalSize = chatVirtualizer.scrollSize;
2940
- const delta = newTotalSize - pending.previousTotalSize;
2941
- const targetScrollTop = pending.previousScrollTop + delta;
2942
- chatVirtualizer.scrollToOffset(targetScrollTop, { behavior: "instant" });
2943
- historyAnchorRestoredScrollTop = viewport?.scrollTop ?? chatVirtualizer.scrollOffset;
2944
- } else {
2945
- clearHistoryAnchor();
2946
- const newTotalSize = viewport.scrollHeight;
2947
- const delta = newTotalSize - pending.previousScrollHeight;
2948
- viewport.scrollTo({ top: pending.previousScrollTop + delta, behavior: "instant" });
2949
- }
2950
- const announcement = prependedCount === 1 ? "1 earlier message loaded." : `${prependedCount} earlier messages loaded.`;
2951
- historyAnnouncement = announcement;
2952
- setTimeout(() => {
2953
- if (historyAnnouncement === announcement) {
2954
- historyAnnouncement = "";
2955
- }
2956
- }, 1000);
2957
- tick2().then(() => {
2958
- focusAfterHistoryRestore(pending);
2959
- });
2960
- return true;
2961
- }
2962
- function setHistoryAnchor(pending) {
2963
- historyAnchorMessageId = pending.previousFirstMessageId;
2964
- historyAnchorViewportOffset = pending.previousFirstMessageViewportOffset;
2965
- historyAnchorRestoredScrollTop = null;
2966
- }
2967
- function clearHistoryAnchor() {
2968
- historyAnchorMessageId = null;
2969
- historyAnchorViewportOffset = null;
2970
- historyAnchorRestoredScrollTop = null;
2971
- }
2972
- function clearHistoryAnchorAfterScroll(scrollTop) {
2973
- if (historyAnchorMessageId !== null && historyAnchorRestoredScrollTop !== null && Math.abs(scrollTop - historyAnchorRestoredScrollTop) > 2) {
2974
- clearHistoryAnchor();
2975
- }
2976
- }
2977
- function handleScrollStateChange(event) {
2978
- clearHistoryAnchorAfterScroll(event.scrollTop);
2979
- atBottom = event.atBottom;
2980
- onscrollstatechange?.(event);
2981
- }
2982
- function virtualSpacerOffsetTop() {
2983
- if (!viewport)
2984
- return 0;
2985
- const spacer = viewport.querySelector(".chat-virtual-spacer");
2986
- if (!spacer)
2987
- return 0;
2988
- const offsetTop = spacer.offsetTop;
2989
- const spacerRect = spacer.getBoundingClientRect();
2990
- const viewportRect = viewport.getBoundingClientRect();
2991
- const hasLayoutBox = spacerRect.top !== 0 || spacerRect.bottom !== 0 || viewportRect.top !== 0 || viewportRect.bottom !== 0;
2992
- if (!hasLayoutBox)
2993
- return Math.max(0, offsetTop);
2994
- const rectOffset = spacerRect.top - viewportRect.top + viewport.scrollTop;
2995
- return Math.max(0, Number.isFinite(rectOffset) ? rectOffset : offsetTop);
2996
- }
2997
- function focusAfterHistoryRestore(pending) {
2998
- if (!viewport)
2999
- return;
3000
- if (showHistoryTrigger() && historyTriggerRef) {
3001
- historyTriggerRef.focus({ preventScroll: true });
3002
- return;
3003
- }
3004
- const anchor = pending.previousFirstMessageId ? viewport.querySelector(`#message-${CSS.escape(pending.previousFirstMessageId)}`) : null;
3005
- const target = anchor ?? viewport.querySelector(".chat-message");
3006
- target?.focus({ preventScroll: true });
3007
- }
3008
- const scrollAttachment = scrollState.createScrollAttachment();
3009
- const historyAnchorScrollAttachment = $35.derived(() => historyAnchorMessageId === null || historyAnchorRestoredScrollTop === null ? noopAttachment : (node) => {
3010
- const handleScroll = () => clearHistoryAnchorAfterScroll(node.scrollTop);
3011
- node.addEventListener("scroll", handleScroll, { passive: true });
3012
- return () => node.removeEventListener("scroll", handleScroll);
3013
- });
3014
- function handleJumpToLatest() {
3015
- if (isVirtualized()) {
3016
- chatVirtualizer.scrollToIndex(Math.max(0, renderRows().length - 1), { align: "end", behavior: scrollState.getScrollBehavior() });
3017
- unreadState.markAllAsRead();
3018
- onjumptolatest?.();
3019
- tick2().then(() => {
3020
- const lastMessage = viewport?.querySelector(`.chat-message-wrapper:last-of-type .chat-message`);
3021
- lastMessage?.focus();
3022
- });
3023
- return;
3024
- }
3025
- scrollState.jumpToLatest(viewport, () => {
3026
- unreadState.markAllAsRead();
3027
- onjumptolatest?.();
3028
- });
3029
- }
3030
- function dispatchCommand(command, runAdapterMethod, callback) {
3031
- if (adapter) {
3032
- try {
3033
- const run = runAdapterMethod(adapter);
3034
- if (run !== undefined) {
3035
- return run.catch((error) => {
3036
- onadaptererror?.({ command, error });
3037
- });
3038
- }
3039
- } catch (error) {
3040
- onadaptererror?.({ command, error });
3041
- return;
3042
- }
3043
- }
3044
- callback?.();
3045
- }
3046
- function handleSubmit(message, attachments) {
3047
- dispatchCommand("sendMessage", (resolvedAdapter) => Promise.resolve(resolvedAdapter.sendMessage(message, attachments)), () => onsubmit?.({ message, attachments }));
3048
- scrollState.setAtBottom(true);
3049
- atBottom = true;
3050
- tick2().then(() => {
3051
- if (isVirtualized()) {
3052
- chatVirtualizer.scrollToOffset(chatVirtualizer.scrollSize, { behavior: "instant" });
3053
- } else {
3054
- viewport?.scrollTo({ top: viewport.scrollHeight, behavior: "instant" });
3055
- }
3056
- });
3057
- }
3058
- function captureHistoryScroll() {
3059
- const previousFirstTranscriptMessageId = messages()[0]?.id ?? null;
3060
- const visibleAnchor = firstVisibleRenderedMessage();
3061
- const previousFirstMessageId = visibleAnchor?.messageId ?? previousFirstTranscriptMessageId;
3062
- const previousScrollTop = viewport?.scrollTop ?? chatVirtualizer.scrollOffset;
3063
- const previousFirstMessageElement = previousFirstMessageId !== null ? renderedMessageById(previousFirstMessageId) : null;
3064
- const previousFirstMessageViewportOffset = visibleAnchor?.viewportOffset ?? (previousFirstMessageElement && viewport ? previousFirstMessageElement.getBoundingClientRect().top - viewport.getBoundingClientRect().top : 0);
3065
- pendingHistoryScroll = {
3066
- previousFirstMessageId,
3067
- previousFirstTranscriptMessageId,
3068
- previousFirstMessageViewportOffset,
3069
- previousCount: messages().length,
3070
- previousScrollTop,
3071
- previousScrollHeight: viewport?.scrollHeight ?? 0,
3072
- previousTotalSize: chatVirtualizer.scrollSize
3073
- };
3074
- }
3075
- async function settlePendingHistoryScroll(pending) {
3076
- for (let attempt = 0;attempt < 5; attempt += 1) {
3077
- if (pendingHistoryScroll !== pending)
3078
- return;
3079
- if (await restorePendingHistoryScrollAfterLayout(pending))
3080
- return;
3081
- }
3082
- if (pendingHistoryScroll === pending) {
3083
- pendingHistoryScroll = null;
3084
- finishDeferredAdapterHistoryLoading();
3085
- }
3086
- }
3087
- function finishDeferredAdapterHistoryLoading() {
3088
- if (deferredAdapterHasMoreHistory === null)
3089
- return;
3090
- adapterHasMoreHistory = deferredAdapterHasMoreHistory;
3091
- deferredAdapterHasMoreHistory = null;
3092
- isLoadingHistory = false;
3093
- }
3094
- function historyTranscriptChanged(pending) {
3095
- return messages().length > pending.previousCount || messages()[0]?.id !== pending.previousFirstTranscriptMessageId;
3096
- }
3097
- async function handleLoadHistory() {
3098
- if (isLoadingHistory || !showHistoryTrigger())
3099
- return;
3100
- isLoadingHistory = true;
3101
- captureHistoryScroll();
3102
- const pending = pendingHistoryScroll;
3103
- if (pending === null) {
3104
- isLoadingHistory = false;
3105
- return;
3106
- }
3107
- if (adapter?.loadOlderMessages) {
3108
- let nextHasMoreHistory;
3109
- try {
3110
- const result = await adapter.loadOlderMessages(conversationId());
3111
- nextHasMoreHistory = result.hasMore;
3112
- } catch (error) {
3113
- pendingHistoryScroll = null;
3114
- isLoadingHistory = false;
3115
- onadaptererror?.({ command: "loadOlderMessages", error });
3116
- return;
3117
- }
3118
- const transcriptChanged = historyTranscriptChanged(pending);
3119
- if (isVirtualized() && !transcriptChanged) {
3120
- deferredAdapterHasMoreHistory = nextHasMoreHistory ?? null;
3121
- await tick2();
3122
- if (historyTranscriptChanged(pending)) {
3123
- await settlePendingHistoryScroll(pending);
3124
- } else if (pendingHistoryScroll === pending) {
3125
- pendingHistoryScroll = null;
3126
- finishDeferredAdapterHistoryLoading();
3127
- } else {
3128
- finishDeferredAdapterHistoryLoading();
3129
- }
3130
- return;
3131
- }
3132
- if (isVirtualized() || transcriptChanged) {
3133
- await settlePendingHistoryScroll(pending);
3134
- } else {
3135
- pendingHistoryScroll = null;
3136
- }
3137
- adapterHasMoreHistory = nextHasMoreHistory;
3138
- isLoadingHistory = false;
3139
- return;
3140
- }
3141
- try {
3142
- await onloadhistory?.();
3143
- await settlePendingHistoryScroll(pending);
3144
- } catch (error) {
3145
- pendingHistoryScroll = null;
3146
- throw error;
3147
- } finally {
3148
- isLoadingHistory = false;
3149
- }
3150
- }
3151
- function handleRetry(messageId) {
3152
- dispatchCommand("retryMessage", (resolvedAdapter) => resolvedAdapter.retryMessage ? Promise.resolve(resolvedAdapter.retryMessage(messageId)) : undefined, () => onretry?.(messageId));
3153
- }
3154
- function handleEdit(event) {
3155
- dispatchCommand("editMessage", (resolvedAdapter) => resolvedAdapter.editMessage ? Promise.resolve(resolvedAdapter.editMessage(event)) : undefined, () => onedit?.(event));
3156
- }
3157
- function handleSuggestionSelect(label) {
3158
- onsuggestionselect?.(label);
3159
- inputRef?.focus();
3160
- }
3161
- const canApprove = $35.derived(() => onapprove !== undefined || adapter?.approveToolCall !== undefined);
3162
- const canDeny = $35.derived(() => ondeny !== undefined || adapter?.denyToolCall !== undefined);
3163
- function resolveToolApproval(toolCallId, command, canHandle, commit, rollback, runAdapter, callback) {
3164
- if (!canHandle)
3165
- return;
3166
- if (approvedToolCallIds.has(toolCallId) || deniedToolCallIds.has(toolCallId))
3167
- return;
3168
- commit(toolCallId);
3169
- if (adapter) {
3170
- let run;
3171
- try {
3172
- run = runAdapter(adapter);
3173
- } catch (error) {
3174
- rollback(toolCallId);
3175
- onadaptererror?.({ command, error });
3176
- return;
3177
- }
3178
- if (run !== undefined) {
3179
- run.then(() => callback?.(), (error) => {
3180
- rollback(toolCallId);
3181
- onadaptererror?.({ command, error });
3182
- });
3183
- return;
3184
- }
3185
- }
3186
- callback?.();
3187
- }
3188
- function handleApprove(toolCallId) {
3189
- resolveToolApproval(toolCallId, "approveToolCall", canApprove(), (id2) => approvedToolCallIds = new Set([...approvedToolCallIds, id2]), (id2) => approvedToolCallIds = removeFromSet(approvedToolCallIds, id2), (resolvedAdapter) => resolvedAdapter.approveToolCall ? Promise.resolve(resolvedAdapter.approveToolCall(toolCallId)) : undefined, () => onapprove?.(toolCallId));
3190
- }
3191
- function handleDeny(toolCallId) {
3192
- resolveToolApproval(toolCallId, "denyToolCall", canDeny(), (id2) => deniedToolCallIds = new Set([...deniedToolCallIds, id2]), (id2) => deniedToolCallIds = removeFromSet(deniedToolCallIds, id2), (resolvedAdapter) => resolvedAdapter.denyToolCall ? Promise.resolve(resolvedAdapter.denyToolCall(toolCallId)) : undefined, () => ondeny?.(toolCallId));
3193
- }
3194
- function removeFromSet(set, value) {
3195
- const next = new Set(set);
3196
- next.delete(value);
3197
- return next;
3198
- }
3199
- function handleStopGenerating() {
3200
- let streamingMessage;
3201
- for (let i = messages().length - 1;i >= 0; i--) {
3202
- const message = messages()[i];
3203
- if (message?.role === "assistant") {
3204
- streamingMessage = message;
3205
- break;
3206
- }
3207
- }
3208
- if (streamingMessage) {
3209
- const targetMessageId = streamingMessage.id;
3210
- dispatchCommand("stopGenerating", (resolvedAdapter) => resolvedAdapter.stopGenerating ? Promise.resolve(resolvedAdapter.stopGenerating(targetMessageId)) : undefined, () => onstopgenerating?.({ messageId: targetMessageId }));
3211
- }
3212
- }
3213
- function handlePromptClick(prompt) {
3214
- const currentAttachments = (inputRef?.getAttachments() ?? []).filter((a) => a.status === "ready");
3215
- handleSubmit({ role: "user", content: prompt }, currentAttachments);
3216
- inputRef?.clear();
3217
- }
3218
- function handleKeyDown(event) {
3219
- if (allowSearch() && (event.ctrlKey || event.metaKey) && event.key === "f") {
3220
- event.preventDefault();
3221
- if (searchState.isOpen) {
3222
- searchBarRef?.focusInput();
3223
- } else {
3224
- searchState.open();
3225
- }
3226
- return;
3227
- }
3228
- keyboardNav.handleKeyDown(event, viewport);
3229
- }
3230
- function messageIdFromElement(element) {
3231
- if (!element.id.startsWith("message-"))
3232
- return null;
3233
- return element.id.slice("message-".length);
3234
- }
3235
- function renderedMessageById(messageId) {
3236
- return viewport?.querySelector(`#message-${CSS.escape(messageId)}`) ?? null;
3237
- }
3238
- function firstVisibleRenderedMessage() {
3239
- if (!viewport)
3240
- return null;
3241
- const viewportRect = viewport.getBoundingClientRect();
3242
- for (const message of viewport.querySelectorAll(".chat-message")) {
3243
- const messageId = messageIdFromElement(message);
3244
- if (!messageId)
3245
- continue;
3246
- const rect = message.getBoundingClientRect();
3247
- if (rect.bottom <= viewportRect.top || rect.top >= viewportRect.bottom)
3248
- continue;
3249
- return { messageId, viewportOffset: rect.top - viewportRect.top };
3250
- }
3251
- return null;
3252
- }
3253
- async function focusVirtualMessage(messageId) {
3254
- const existing = renderedMessageById(messageId);
3255
- if (existing) {
3256
- existing.focus();
3257
- existing.scrollIntoView({ behavior: scrollState.getScrollBehavior(), block: "nearest" });
3258
- return;
3259
- }
3260
- const targetIndex = findRenderRowIndexByMessageId(renderRows(), messageId);
3261
- if (targetIndex < 0)
3262
- return;
3263
- chatVirtualizer.scrollToIndex(targetIndex, { align: "auto", behavior: scrollState.getScrollBehavior() });
3264
- await tick2();
3265
- const target = renderedMessageById(messageId);
3266
- target?.focus();
3267
- target?.scrollIntoView({ behavior: scrollState.getScrollBehavior(), block: "nearest" });
3268
- }
3269
- function navigateVirtualMessage(direction) {
3270
- if (!isVirtualized() || !viewport)
3271
- return false;
3272
- const activeElement = document.activeElement instanceof HTMLElement ? document.activeElement : null;
3273
- if (!activeElement?.classList.contains("chat-message"))
3274
- return false;
3275
- const currentMessageId = messageIdFromElement(activeElement);
3276
- if (!currentMessageId)
3277
- return false;
3278
- const currentIndex = findRenderRowIndexByMessageId(renderRows(), currentMessageId);
3279
- if (currentIndex < 0)
3280
- return false;
3281
- const step = direction === "next" ? 1 : -1;
3282
- for (let targetIndex = currentIndex + step;targetIndex >= 0 && targetIndex < renderRows().length; targetIndex += step) {
3283
- const targetRow = renderRows()[targetIndex];
3284
- if (targetRow?.type !== "message")
3285
- continue;
3286
- focusVirtualMessage(targetRow.message.id);
3287
- return true;
3288
- }
3289
- return true;
3290
- }
3291
- async function scrollCurrentSearchMatch(messageId) {
3292
- if (!viewport)
3293
- return;
3294
- if (isVirtualized()) {
3295
- const targetIndex = findRenderRowIndexByMessageId(renderRows(), messageId);
3296
- if (targetIndex >= 0) {
3297
- chatVirtualizer.scrollToIndex(targetIndex, { align: "center", behavior: "auto" });
3298
- await tick2();
3299
- }
3300
- }
3301
- const messageElement = viewport.querySelector(`#message-${CSS.escape(messageId)}`);
3302
- if (messageElement) {
3303
- messageElement.scrollIntoView({ behavior: "auto", block: "nearest" });
3304
- }
3305
- }
3306
- function handleContainerDrop(event) {
3307
- if (!event.dataTransfer?.types.includes("Files"))
3308
- return;
3309
- isContainerDragOver = false;
3310
- if (!allowAttachments())
3311
- return;
3312
- event.preventDefault();
3313
- const files = event.dataTransfer.files;
3314
- if (files.length > 0) {
3315
- inputRef?.addFiles(Array.from(files));
3316
- }
3317
- }
3318
- function handleContainerDragOver(event) {
3319
- if (!event.dataTransfer?.types.includes("Files"))
3320
- return;
3321
- if (!allowAttachments())
3322
- return;
3323
- event.preventDefault();
3324
- event.dataTransfer.dropEffect = "copy";
3325
- isContainerDragOver = true;
3326
- }
3327
- function handleContainerDragLeave(event) {
3328
- const container = event.currentTarget;
3329
- if (!container.contains(event.relatedTarget)) {
3330
- isContainerDragOver = false;
3331
- }
3332
- }
3333
- function scrollToBottom() {
3334
- if (isVirtualized()) {
3335
- chatVirtualizer.scrollToOffset(chatVirtualizer.scrollSize, { behavior: scrollState.getScrollBehavior() });
3336
- } else {
3337
- scrollState.scrollToBottom(viewport);
3338
- }
3339
- }
3340
- function scrollToTop() {
3341
- if (isVirtualized()) {
3342
- chatVirtualizer.scrollToOffset(0, { behavior: scrollState.getScrollBehavior() });
3343
- } else {
3344
- scrollState.scrollToTop(viewport);
3345
- }
3346
- }
3347
- function focusInput() {
3348
- inputRef?.focus();
3349
- }
3350
- function beginStreaming(messageId) {
3351
- if (streamingScrollRaf !== undefined) {
3352
- cancelAnimationFrame(streamingScrollRaf);
3353
- streamingScrollRaf = undefined;
3354
- }
3355
- streamingMessageId = messageId;
3356
- streamingContent = "";
3357
- tokenBuffer = [];
3358
- }
3359
- function pushToken(token) {
3360
- tokenBuffer.push(token);
3361
- if (streamingScrollRaf === undefined) {
3362
- streamingScrollRaf = requestAnimationFrame(() => {
3363
- streamingScrollRaf = undefined;
3364
- streamingContent = tokenBuffer.join("");
3365
- if (streamingRowElement) {
3366
- tick2().then(() => {
3367
- if (streamingRowElement) {
3368
- chatVirtualizer.measureElementNode(streamingRowElement);
3369
- }
3370
- });
3371
- }
3372
- if (scrollState.atBottom && viewport) {
3373
- if (isVirtualized()) {
3374
- chatVirtualizer.scrollToOffset(chatVirtualizer.scrollSize, { behavior: "instant" });
3375
- } else {
3376
- viewport.scrollTo({ top: viewport.scrollHeight, behavior: "instant" });
3377
- }
3378
- }
3379
- });
3380
- }
3381
- }
3382
- function endStreaming() {
3383
- if (streamingScrollRaf !== undefined) {
3384
- cancelAnimationFrame(streamingScrollRaf);
3385
- streamingScrollRaf = undefined;
3386
- }
3387
- streamingMessageId = null;
3388
- streamingContent = "";
3389
- tokenBuffer = [];
3390
- }
3391
- function virtualizedSpacerStyle() {
3392
- return `height: ${chatVirtualizer.totalSize}px; position: relative; width: 100%;`;
3393
- }
3394
- function virtualizedRowStyle(virtualItem) {
3395
- return `position: absolute; inset-inline: 0; top: 0; transform: translateY(${virtualItem.start}px);`;
3396
- }
3397
- function virtualRowAttachment(row2) {
3398
- return (node) => {
3399
- const detachMeasurement = chatVirtualizer.measureElement(node);
3400
- if (row2.type === "message" && row2.message.id === streamingMessageId) {
3401
- streamingRowElement = node;
3402
- }
3403
- return () => {
3404
- detachMeasurement?.();
3405
- if (streamingRowElement === node) {
3406
- streamingRowElement = null;
3407
- }
3408
- };
3409
- };
3410
- }
3411
- function renderTypingIndicator($$renderer3) {
3412
- $$renderer3.push(`<div class="chat-typing-indicator svelte-932akd" role="status"${$35.attr("aria-label", streamingStatus ?? "Assistant is typing")}>`);
3413
- if (streamingStatus) {
3414
- $$renderer3.push("<!--[0-->");
3415
- $$renderer3.push(`<span class="chat-typing-status svelte-932akd">${$35.escape(streamingStatus)}</span>`);
3416
- } else {
3417
- $$renderer3.push("<!--[-1-->");
3418
- $$renderer3.push(`<span class="chat-typing-dot svelte-932akd" aria-hidden="true"></span> <span class="chat-typing-dot svelte-932akd" aria-hidden="true"></span> <span class="chat-typing-dot svelte-932akd" aria-hidden="true"></span>`);
3419
- }
3420
- $$renderer3.push(`<!--]--></div>`);
3421
- }
3422
- function renderMessageRow($$renderer3, messageRow) {
3423
- const message = messageRow.message;
3424
- const pairs = message.toolCall?.id ? toolCallPairsByCallId().get(message.toolCall.id) ?? [] : [];
3425
- const isStreamingMessage = streamingMessageId === message.id;
3426
- const isCurrentSearchMatch = searchState.isOpen && searchState.currentMatch !== null && searchState.currentMatch.message.id === message.id;
3427
- const derivedReasoning = resolveMessageReasoning(message, messageReasoning);
3428
- const derivedSteps = resolveMessageSteps(message, messageSteps);
3429
- const derivedSuggestions = message.id === lastMessageId() ? resolveMessageSuggestions(message, messageSuggestions) : undefined;
3430
- function renderDefaultRow($$renderer4) {
3431
- const receipt = message.role === "user" ? readReceiptsState.getReceipt(message.id) : undefined;
3432
- {
3433
- let actions = function($$renderer5) {
3434
- if (messageActions) {
3435
- $$renderer5.push("<!--[0-->");
3436
- messageActions($$renderer5, message);
3437
- $$renderer5.push(`<!---->`);
3438
- } else {
3439
- $$renderer5.push("<!--[-1-->");
3440
- }
3441
- $$renderer5.push(`<!--]-->`);
3442
- }, status = function($$renderer5) {
3443
- if (messageStatus) {
3444
- $$renderer5.push("<!--[0-->");
3445
- messageStatus($$renderer5, message);
3446
- $$renderer5.push(`<!---->`);
3447
- } else if (receipt) {
3448
- $$renderer5.push("<!--[1-->");
3449
- Chat_read_receipt($$renderer5, { receipt });
3450
- } else {
3451
- $$renderer5.push("<!--[-1-->");
3452
- }
3453
- $$renderer5.push(`<!--]-->`);
3454
- };
3455
- Chat_message($$renderer4, {
3456
- message,
3457
- toolCallPairs: pairs,
3458
- messagePart,
3459
- onretry: allowRetry() && canRetry() ? handleRetry : undefined,
3460
- onedit: allowEditing() && canEdit() ? handleEdit : undefined,
3461
- showDefaultActions: allowCopy(),
3462
- onexpandedchange,
3463
- streaming: isStreamingMessage,
3464
- overrideContent: isStreamingMessage ? streamingContent : undefined,
3465
- searchMatch: isCurrentSearchMatch,
3466
- tabindex: -1,
3467
- approvedToolCallIds: approvedToolCallIds.size > 0 ? approvedToolCallIds : undefined,
3468
- deniedToolCallIds: deniedToolCallIds.size > 0 ? deniedToolCallIds : undefined,
3469
- onapprove: canApprove() ? handleApprove : undefined,
3470
- ondeny: canDeny() ? handleDeny : undefined,
3471
- reasoning: derivedReasoning,
3472
- steps: derivedSteps,
3473
- suggestions: derivedSuggestions,
3474
- reasoningExpanded: reasoningState.isExpanded(message.id),
3475
- onreasoning: () => reasoningState.toggle(message.id),
3476
- onsuggestionselect: handleSuggestionSelect,
3477
- actions,
3478
- status,
3479
- $$slots: { actions: true, status: true }
3480
- });
3481
- }
3482
- }
3483
- if (row) {
3484
- $$renderer3.push("<!--[0-->");
3485
- row($$renderer3, message, renderDefaultRow);
3486
- $$renderer3.push(`<!---->`);
3487
- } else {
3488
- $$renderer3.push("<!--[-1-->");
3489
- renderDefaultRow($$renderer3);
3490
- }
3491
- $$renderer3.push(`<!--]-->`);
3492
- }
3493
- function renderChatRow($$renderer3, renderRow) {
3494
- if (renderRow.type === "date") {
3495
- $$renderer3.push("<!--[0-->");
3496
- Chat_date_separator($$renderer3, { date: renderRow.date });
3497
- } else if (renderRow.type === "unread-divider") {
3498
- $$renderer3.push("<!--[1-->");
3499
- $$renderer3.push(`<div class="chat-unread-divider svelte-932akd" role="separator" aria-label="New messages below"><span class="chat-unread-divider-line svelte-932akd" aria-hidden="true"></span> <span class="chat-unread-divider-label svelte-932akd">New</span> <span class="chat-unread-divider-line svelte-932akd" aria-hidden="true"></span></div>`);
3500
- } else if (renderRow.type === "typing") {
3501
- $$renderer3.push("<!--[2-->");
3502
- renderTypingIndicator($$renderer3);
3503
- } else {
3504
- $$renderer3.push("<!--[-1-->");
3505
- renderMessageRow($$renderer3, renderRow);
3506
- }
3507
- $$renderer3.push(`<!--]-->`);
3508
- }
3509
- $$renderer2.push(`<div${$35.attributes({
3510
- id,
3511
- class: $35.clsx(classNames("chat-container", className)),
3512
- "data-surface-mode": surfaceMode,
3513
- "data-cinder-density": density,
3514
- "data-cinder-variant": variant,
3515
- role: "region",
3516
- "aria-label": "Chat conversation",
3517
- ...rest
3518
- }, "svelte-932akd")}>`);
3519
- if (isContainerDragOver && allowAttachments()) {
3520
- $$renderer2.push("<!--[0-->");
3521
- $$renderer2.push(`<div class="chat-drop-overlay svelte-932akd" aria-hidden="true"><span class="chat-drop-label svelte-932akd">Drop files here</span></div>`);
3522
- } else {
3523
- $$renderer2.push("<!--[-1-->");
3524
- }
3525
- $$renderer2.push(`<!--]--> `);
3526
- if (header) {
3527
- $$renderer2.push("<!--[0-->");
3528
- $$renderer2.push(`<div class="chat-header svelte-932akd">`);
3529
- header($$renderer2);
3530
- $$renderer2.push(`<!----></div>`);
3531
- } else {
3532
- $$renderer2.push("<!--[-1-->");
3533
- }
3534
- $$renderer2.push(`<!--]--> `);
3535
- if (allowSearch() && searchState.isOpen) {
3536
- $$renderer2.push("<!--[0-->");
3537
- Chat_search_bar($$renderer2, {
3538
- instanceId: id,
3539
- query: searchState.query,
3540
- matchCount: searchState.matchCount,
3541
- currentMatchIndex: searchState.currentMatchIndex,
3542
- onquerychange: searchState.setQuery,
3543
- onnext: searchState.nextMatch,
3544
- onprevious: searchState.previousMatch,
3545
- onclose: searchState.close
3546
- });
3547
- } else {
3548
- $$renderer2.push("<!--[-1-->");
3549
- }
3550
- $$renderer2.push(`<!--]--> <!---->`);
3551
- {
3552
- $$renderer2.push(`<div${$35.attr("id", timelineId())} class="chat-timeline svelte-932akd" role="log" aria-label="Messages"${$35.attr("aria-describedby", statusId())}${$35.attr("aria-live", isVirtualized() ? "off" : "polite")}${$35.attr("aria-relevant", isVirtualized() ? undefined : "additions")}${$35.attr("data-cinder-virtualized", isVirtualized() ? "" : undefined)} tabindex="0">`);
3553
- if (showHistoryTrigger()) {
3554
- $$renderer2.push("<!--[0-->");
3555
- Chat_history_trigger($$renderer2, {
3556
- loading: isLoadingHistory,
3557
- label: loadEarlierLabel,
3558
- loadingLabel: loadingEarlierLabel,
3559
- onload: () => void handleLoadHistory()
3560
- });
3561
- } else {
3562
- $$renderer2.push("<!--[-1-->");
3563
- }
3564
- $$renderer2.push(`<!--]--> `);
3565
- if (messages().length === 0) {
3566
- $$renderer2.push("<!--[0-->");
3567
- if (empty) {
3568
- $$renderer2.push("<!--[0-->");
3569
- empty($$renderer2);
3570
- $$renderer2.push(`<!---->`);
3571
- } else {
3572
- $$renderer2.push("<!--[-1-->");
3573
- $$renderer2.push(`<div class="chat-empty svelte-932akd" role="status"><p class="svelte-932akd">No messages yet</p> `);
3574
- if (emptyPrompts && emptyPrompts.length > 0) {
3575
- $$renderer2.push("<!--[0-->");
3576
- $$renderer2.push(`<div class="chat-empty-prompts svelte-932akd" role="group" aria-label="Suggested prompts"><!--[-->`);
3577
- const each_array = $35.ensure_array_like(emptyPrompts);
3578
- for (let index = 0, $$length = each_array.length;index < $$length; index++) {
3579
- let prompt = each_array[index];
3580
- $$renderer2.push(`<button type="button" class="chat-empty-prompt svelte-932akd">${$35.escape(prompt)}</button>`);
3581
- }
3582
- $$renderer2.push(`<!--]--></div>`);
3583
- } else {
3584
- $$renderer2.push("<!--[-1-->");
3585
- }
3586
- $$renderer2.push(`<!--]--></div>`);
3587
- }
3588
- $$renderer2.push(`<!--]-->`);
3589
- } else if (isVirtualized()) {
3590
- $$renderer2.push("<!--[1-->");
3591
- $$renderer2.push(`<div class="chat-virtual-spacer svelte-932akd"${$35.attr_style(virtualizedSpacerStyle())}><!--[-->`);
3592
- const each_array_1 = $35.ensure_array_like(virtualRows());
3593
- for (let $$index_1 = 0, $$length = each_array_1.length;$$index_1 < $$length; $$index_1++) {
3594
- let virtualRow = each_array_1[$$index_1];
3595
- $$renderer2.push(`<div class="chat-virtual-row svelte-932akd"${$35.attr("data-cinder-virtual-index", virtualRow.virtualItem.index)}${$35.attr_style(virtualizedRowStyle(virtualRow.virtualItem))}>`);
3596
- renderChatRow($$renderer2, virtualRow.row);
3597
- $$renderer2.push(`<!----></div>`);
3598
- }
3599
- $$renderer2.push(`<!--]--></div>`);
3600
- } else {
3601
- $$renderer2.push("<!--[-1-->");
3602
- $$renderer2.push(`<!---->`);
3603
- {
3604
- $$renderer2.push(`<!--[-->`);
3605
- const each_array_2 = $35.ensure_array_like(renderRows());
3606
- for (let $$index_2 = 0, $$length = each_array_2.length;$$index_2 < $$length; $$index_2++) {
3607
- let renderRow = each_array_2[$$index_2];
3608
- renderChatRow($$renderer2, renderRow);
3609
- }
3610
- $$renderer2.push(`<!--]-->`);
3611
- }
3612
- $$renderer2.push(`<!---->`);
3613
- }
3614
- $$renderer2.push(`<!--]--> `);
3615
- Chat_participant_typing($$renderer2, {
3616
- typingLabel: typingIndicatorState.typingLabel,
3617
- participantCount: typingIndicatorState.participantCount
3618
- });
3619
- $$renderer2.push(`<!----> <div class="chat-bottom-sentinel svelte-932akd" aria-hidden="true"></div></div>`);
3620
- }
3621
- $$renderer2.push(`<!----> <div class="chat-input-wrapper svelte-932akd">`);
3622
- Chat_jump_controls($$renderer2, {
3623
- showJumpButton: scrollState.showJumpButton,
3624
- hasNewMessageIndicator: unreadState.newMessageIndicatorVisible,
3625
- unreadCount: unreadState.unreadCount,
3626
- displayUnreadCount: unreadState.displayUnreadCount,
3627
- hasLargeCount: unreadState.hasLargeCount,
3628
- onjumptolatest: handleJumpToLatest
3629
- });
3630
- $$renderer2.push(`<!----> <div class="chat-input-area svelte-932akd">`);
3631
- Chat_input($$renderer2, {
3632
- id: inputId(),
3633
- onsubmit: (message, attachments) => handleSubmit(message, attachments),
3634
- disabled: streaming,
3635
- sending: streaming,
3636
- allowAttachments: allowAttachments(),
3637
- onstop: streaming ? handleStopGenerating : undefined,
3638
- onattachmentadd,
3639
- onattachmentremove,
3640
- onattachmentfailure
3641
- });
3642
- $$renderer2.push(`<!----></div></div> `);
3643
- Chat_status_announcer($$renderer2, {
3644
- statusId: statusId(),
3645
- messageCount: messages().length,
3646
- announcerMessage: historyAnnouncement || unreadState.announcerMessage,
3647
- assertiveMessage: toolApprovalAssertiveMessage()
3648
- });
3649
- $$renderer2.push(`<!----> <div class="cinder-sr-only svelte-932akd" aria-live="polite" aria-atomic="true">${$35.escape(typingIndicatorState.announcedLabel)}</div></div>`);
3650
- $35.bind_props($$props, {
3651
- atBottom,
3652
- unreadCount,
3653
- newMessageIndicatorVisible,
3654
- scrollToBottom,
3655
- scrollToTop,
3656
- focusInput,
3657
- beginStreaming,
3658
- pushToken,
3659
- endStreaming
3660
- });
3661
- });
3662
- }
3663
-
3664
- // src/components/chat/chat.svelte
3665
- function Chat2($$renderer, $$props) {
3666
- $$renderer.component(($$renderer2) => {
3667
- let { class: className, $$slots, $$events, ...rest } = $$props;
3668
- const mergedClassName = $36.derived(() => classNames(className));
3669
- let impl;
3670
- function beginStreaming(messageId) {
3671
- impl?.beginStreaming(messageId);
3672
- }
3673
- function pushToken(token) {
3674
- impl?.pushToken(token);
3675
- }
3676
- function endStreaming() {
3677
- impl?.endStreaming();
3678
- }
3679
- function scrollToBottom() {
3680
- impl?.scrollToBottom();
3681
- }
3682
- function scrollToTop() {
3683
- impl?.scrollToTop();
3684
- }
3685
- function focusInput() {
3686
- impl?.focusInput();
3687
- }
3688
- Chat($$renderer2, $36.spread_props([{ class: mergedClassName() }, rest]));
3689
- $36.bind_props($$props, {
3690
- beginStreaming,
3691
- pushToken,
3692
- endStreaming,
3693
- scrollToBottom,
3694
- scrollToTop,
3695
- focusInput
3696
- });
3697
- });
3698
- }
3699
-
3700
- // src/components/chat/builders.ts
3701
- var SCHEMA_VERSION = 4;
3702
- function nextId(prefix) {
3703
- return `${prefix}-${crypto.randomUUID()}`;
3704
- }
3705
- function createConversation(options) {
3706
- const now = new Date().toISOString();
3707
- return {
3708
- schemaVersion: SCHEMA_VERSION,
3709
- id: options?.id ?? nextId("conversation"),
3710
- title: options?.title,
3711
- status: options?.status ?? "active",
3712
- metadata: {},
3713
- ids: [],
3714
- messages: {},
3715
- createdAt: now,
3716
- updatedAt: now
3717
- };
3718
- }
3719
- function materializeMessage(input, position) {
3720
- const content = typeof input.content === "string" ? input.content : [...input.content];
3721
- return {
3722
- id: nextId("message"),
3723
- role: input.role,
3724
- content,
3725
- position,
3726
- createdAt: new Date().toISOString(),
3727
- metadata: input.metadata ?? {},
3728
- hidden: input.hidden ?? false,
3729
- ...input.toolCall !== undefined ? { toolCall: input.toolCall } : {},
3730
- ...input.toolResult !== undefined ? { toolResult: input.toolResult } : {},
3731
- ...input.tokenUsage !== undefined ? { tokenUsage: input.tokenUsage } : {}
3732
- };
3733
- }
3734
- function appendMessages(conversation, ...inputs) {
3735
- if (inputs.length === 0)
3736
- return conversation;
3737
- const ids = [...conversation.ids];
3738
- const messages = { ...conversation.messages };
3739
- for (const input of inputs) {
3740
- const message = materializeMessage(input, ids.length);
3741
- ids.push(message.id);
3742
- messages[message.id] = message;
3743
- }
3744
- return {
3745
- ...conversation,
3746
- ids,
3747
- messages,
3748
- updatedAt: new Date().toISOString()
3749
- };
3750
- }
3751
- function appendUserMessage(conversation, content) {
3752
- return appendMessages(conversation, { role: "user", content });
3753
- }
3754
- function appendAssistantMessage(conversation, content) {
3755
- return appendMessages(conversation, { role: "assistant", content });
3756
- }
3757
- // src/components/chat/artifact/artifact-panel.svelte
3758
- import * as $37 from "svelte/internal/server";
3759
- function Artifact_panel($$renderer, $$props) {
3760
- let { instanceId = "artifact", title, onclose, children } = $$props;
3761
- const titleId = $37.derived(() => `${instanceId}-panel-title`);
3762
- function focusOnMount(element) {
3763
- element.focus();
3764
- }
3765
- $$renderer.push(`<div class="artifact-panel svelte-o3c2et" role="complementary"${$37.attr("aria-label", title ?? "Artifact panel")}><div class="artifact-panel-header svelte-o3c2et"><span class="artifact-panel-title svelte-o3c2et"${$37.attr("id", titleId())}>${$37.escape(title ?? "Artifact")}</span> <button type="button" class="artifact-panel-close svelte-o3c2et" aria-label="Close artifact panel">`);
3766
- X($$renderer, { class: "icon-sm" });
3767
- $$renderer.push(`<!----></button></div> <div class="artifact-panel-content svelte-o3c2et">`);
3768
- children($$renderer);
3769
- $$renderer.push(`<!----></div></div>`);
3770
- }
3771
- // src/components/chat/artifact/artifact-viewer.svelte
3772
- import * as $38 from "svelte/internal/server";
3773
- function wrapSvgInHtml(svg) {
3774
- return `<!DOCTYPE html><html><body style="margin:0;display:flex;align-items:center;justify-content:center;min-height:100vh;">${svg}</body></html>`;
3775
- }
3776
- function Artifact_viewer($$renderer, $$props) {
3777
- let { type, content, language, title } = $$props;
3778
- const svgDocument = $38.derived(() => type === "svg" ? wrapSvgInHtml(content) : "");
3779
- if (type === "html") {
3780
- $$renderer.push("<!--[0-->");
3781
- $$renderer.push(`<iframe class="artifact-viewer artifact-viewer-html svelte-c4pced"${$38.attr("srcdoc", content)} sandbox=""${$38.attr("title", title ?? "HTML artifact")}${$38.attr("aria-label", title ?? "HTML artifact")}></iframe>`);
3782
- } else if (type === "svg") {
3783
- $$renderer.push("<!--[1-->");
3784
- $$renderer.push(`<iframe class="artifact-viewer artifact-viewer-svg svelte-c4pced"${$38.attr("srcdoc", svgDocument())} sandbox=""${$38.attr("title", title ?? "SVG artifact")}${$38.attr("aria-label", title ?? "SVG artifact")}></iframe>`);
3785
- } else if (type === "code") {
3786
- $$renderer.push("<!--[2-->");
3787
- $$renderer.push(`<div class="artifact-viewer artifact-viewer-code svelte-c4pced"><pre class="artifact-code-block svelte-c4pced"${$38.attr("data-language", language)}><code class="svelte-c4pced">${$38.escape(content)}</code></pre></div>`);
3788
- } else if (type === "mermaid") {
3789
- $$renderer.push("<!--[3-->");
3790
- $$renderer.push(`<div class="artifact-viewer artifact-viewer-mermaid svelte-c4pced"><pre class="artifact-code-block svelte-c4pced" data-language="mermaid"><code class="svelte-c4pced">${$38.escape(content)}</code></pre> <p class="artifact-mermaid-note svelte-c4pced" aria-live="polite">Mermaid diagram source. Install the Mermaid library to render diagrams.</p></div>`);
3791
- } else {
3792
- $$renderer.push("<!--[-1-->");
3793
- }
3794
- $$renderer.push(`<!--]-->`);
3795
- }
3796
- // src/components/chat/artifact/chat-artifact-layout.svelte
3797
- import * as $39 from "svelte/internal/server";
3798
- function Chat_artifact_layout($$renderer, $$props) {
3799
- $$renderer.component(($$renderer2) => {
3800
- let {
3801
- instanceId = "artifact",
3802
- open = false,
3803
- children,
3804
- panel,
3805
- panelTitle,
3806
- onclose,
3807
- class: className
3808
- } = $$props;
3809
- $$renderer2.push(`<div${$39.attr_class($39.clsx(classNames("chat-artifact-layout", className)), "svelte-ed4g6")}${$39.attr("data-panel-open", open)}><div class="chat-artifact-main svelte-ed4g6">`);
3810
- children($$renderer2);
3811
- $$renderer2.push(`<!----></div> `);
3812
- if (open && panel) {
3813
- $$renderer2.push("<!--[0-->");
3814
- Artifact_panel($$renderer2, {
3815
- instanceId,
3816
- title: panelTitle,
3817
- onclose,
3818
- children: ($$renderer3) => {
3819
- panel($$renderer3);
3820
- $$renderer3.push(`<!---->`);
3821
- },
3822
- $$slots: { default: true }
3823
- });
3824
- } else {
3825
- $$renderer2.push("<!--[-1-->");
3826
- }
3827
- $$renderer2.push(`<!--]--></div>`);
3828
- });
3829
- }
3830
- // src/components/chat/index.ts
3831
- var chat_default = Chat2;
3832
- export { Chat_date_separator, Message_content, Tool_call_group, Message_attachments, Chat_message, deriveAttachmentKind, Chat_attachment_preview, Chat_input, DEFAULT_SCROLL_CONFIGURATION, isAtBottom, shouldShowJumpToLatest, calculateUnreadCount, findUnreadBoundaryIndex, calculateScrollToBottom, extractTimestamp, Chat2 as Chat, createConversation, appendMessages, appendUserMessage, appendAssistantMessage, Artifact_panel, Artifact_viewer, Chat_artifact_layout, chat_default };
3833
-
3834
- //# debugId=07FB61482B0C83B364756E2164756E21