@lostgradient/cinder 0.5.0 → 0.6.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 (2051) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +31 -1
  3. package/components.json +64 -2
  4. package/dist/cli/best-practices.d.ts +2 -0
  5. package/dist/cli/index.d.ts +14 -0
  6. package/dist/cli/index.js +978 -0
  7. package/dist/cli/knowledge.d.ts +23 -0
  8. package/dist/cli/manifest-validation.d.ts +2 -0
  9. package/dist/cli/mcp.d.ts +2 -0
  10. package/dist/cli/output.d.ts +21 -0
  11. package/dist/cli/types.d.ts +107 -0
  12. package/dist/components/action-row/action-row.css +133 -0
  13. package/dist/components/action-row/action-row.css.d.ts +1 -0
  14. package/dist/components/action-row/action-row.schema.d.ts +3 -0
  15. package/dist/components/action-row/action-row.schema.js +126 -0
  16. package/dist/components/action-row/action-row.svelte.d.ts +19 -0
  17. package/dist/components/action-row/action-row.types.d.ts +45 -0
  18. package/dist/components/action-row/action-row.variables.d.ts +2 -0
  19. package/dist/components/action-row/action-row.variables.js +61 -0
  20. package/dist/components/action-row/index.d.ts +5 -0
  21. package/dist/components/action-row/index.js +183 -0
  22. package/dist/components/approval-card/approval-card.css +31 -1
  23. package/dist/components/approval-card/approval-card.schema.js +6 -1
  24. package/dist/components/approval-card/approval-card.svelte.d.ts +1 -1
  25. package/dist/components/approval-card/approval-card.types.d.ts +20 -0
  26. package/dist/components/approval-card/index.d.ts +1 -1
  27. package/dist/components/approval-card/index.js +1392 -1218
  28. package/dist/components/autocomplete/index.js +79 -5
  29. package/dist/components/avatar-group/index.js +79 -5
  30. package/dist/components/badge/index.js +2 -2
  31. package/dist/components/bento-cell/index.d.ts +1 -1
  32. package/dist/components/blog-section/blog-section.css +2 -1
  33. package/dist/components/callout/callout.schema.js +6 -2
  34. package/dist/components/callout/callout.svelte.d.ts +2 -2
  35. package/dist/components/callout/callout.types.d.ts +25 -13
  36. package/dist/components/callout/index.d.ts +1 -1
  37. package/dist/components/callout/index.js +102 -39
  38. package/dist/components/card/card.css +53 -1
  39. package/dist/components/card/card.schema.js +5 -1
  40. package/dist/components/card/card.svelte.d.ts +1 -1
  41. package/dist/components/card/card.types.d.ts +3 -0
  42. package/dist/components/card/index.d.ts +1 -1
  43. package/dist/components/card/index.js +234 -58
  44. package/dist/components/chat/index.js +400 -14924
  45. package/dist/components/chat-conversation-header/index.js +247 -14773
  46. package/dist/components/chat-conversation-list/index.js +161 -14761
  47. package/dist/components/checkbox/checkbox.schema.js +5 -1
  48. package/dist/components/checkbox/checkbox.types.d.ts +2 -0
  49. package/dist/components/checkbox/index.js +6 -2
  50. package/dist/components/code-block/code-block.css +56 -2
  51. package/dist/components/code-block/index.js +3 -3
  52. package/dist/components/combobox/index.js +79 -5
  53. package/dist/components/command-menu/index.js +79 -5
  54. package/dist/components/context-menu/index.js +79 -5
  55. package/dist/components/copy-button/index.js +3 -3
  56. package/dist/components/data-table/index.js +6 -2
  57. package/dist/components/date-picker/index.js +79 -5
  58. package/dist/components/date-range-field/index.js +79 -5
  59. package/dist/components/diff-viewer/index.js +10 -10
  60. package/dist/components/dropdown/index.js +79 -5
  61. package/dist/components/dropdown-menu/index.js +79 -5
  62. package/dist/components/event-stream-viewer/index.js +3 -3
  63. package/dist/components/experimental/json-viewer/index.d.ts +3 -3
  64. package/dist/components/experimental/message/index.d.ts +3 -3
  65. package/dist/components/feature-section/feature-section.css +3 -2
  66. package/dist/components/footer/footer.css +2 -1
  67. package/dist/components/hero-section/hero-section.css +2 -1
  68. package/dist/components/hover-card/index.js +79 -5
  69. package/dist/components/json-schema-editor/index.js +97 -18
  70. package/dist/components/logo-cloud/logo-cloud.css +3 -2
  71. package/dist/components/markdown-editor/index.js +115 -39
  72. package/dist/components/menu-bar/index.js +79 -5
  73. package/dist/components/navigation-bar/index.d.ts +1 -1
  74. package/dist/components/navigation-bar/index.js +56 -31
  75. package/dist/components/navigation-bar/navigation-bar.css +15 -0
  76. package/dist/components/navigation-bar/navigation-bar.schema.js +6 -1
  77. package/dist/components/navigation-bar/navigation-bar.svelte.d.ts +1 -1
  78. package/dist/components/navigation-bar/navigation-bar.types.d.ts +8 -0
  79. package/dist/components/newsletter-section/newsletter-section.css +2 -1
  80. package/dist/components/pagination/index.js +9 -5
  81. package/dist/components/pagination/pagination.schema.js +12 -3
  82. package/dist/components/pagination/pagination.types.d.ts +6 -2
  83. package/dist/components/payload-inspector/index.js +6 -5
  84. package/dist/components/popover/index.js +79 -5
  85. package/dist/components/portal/index.js +79 -5
  86. package/dist/components/portal/portal.utilities.svelte.d.ts +25 -3
  87. package/dist/components/pricing-section/pricing-section.css +2 -1
  88. package/dist/components/review-editor/index.js +157 -77
  89. package/dist/components/run-step-timeline/index.js +2 -2
  90. package/dist/components/schema-form/index.js +6 -2
  91. package/dist/components/selection-popover/index.js +79 -5
  92. package/dist/components/sidebar/index.js +74 -106
  93. package/dist/components/sidebar/sidebar.css +14 -0
  94. package/dist/components/source-diff-viewer/index.d.ts +6 -0
  95. package/dist/components/source-diff-viewer/index.js +886 -0
  96. package/dist/components/source-diff-viewer/source-diff-viewer.css +129 -0
  97. package/dist/components/source-diff-viewer/source-diff-viewer.css.d.ts +1 -0
  98. package/dist/components/source-diff-viewer/source-diff-viewer.schema.d.ts +3 -0
  99. package/dist/components/source-diff-viewer/source-diff-viewer.schema.js +96 -0
  100. package/dist/components/source-diff-viewer/source-diff-viewer.svelte.d.ts +20 -0
  101. package/dist/components/source-diff-viewer/source-diff-viewer.types.d.ts +44 -0
  102. package/dist/components/source-diff-viewer/source-diff-viewer.utilities.d.ts +6 -0
  103. package/dist/components/source-diff-viewer/source-diff-viewer.variables.d.ts +2 -0
  104. package/dist/components/source-diff-viewer/source-diff-viewer.variables.js +61 -0
  105. package/dist/components/tabs/index.js +3 -2
  106. package/dist/components/tabs/tabs.css +6 -0
  107. package/dist/components/tabs/tabs.schema.js +6 -1
  108. package/dist/components/tabs/tabs.types.d.ts +5 -0
  109. package/dist/components/team-section/index.js +407 -155
  110. package/dist/components/team-section/team-section.css +2 -1
  111. package/dist/components/testimonial-section/index.js +314 -136
  112. package/dist/components/testimonial-section/testimonial-section.css +2 -1
  113. package/dist/components/toolbar/index.js +9 -2
  114. package/dist/components/toolbar/toolbar-group.svelte.d.ts +2 -2
  115. package/dist/components/toolbar/toolbar.css +10 -11
  116. package/dist/components/toolbar/toolbar.schema.js +2 -2
  117. package/dist/components/toolbar/toolbar.types.d.ts +2 -2
  118. package/dist/components/tooltip/index.js +79 -5
  119. package/dist/index.d.ts +8 -8
  120. package/dist/index.js +61813 -79580
  121. package/dist/server/components/access-gate/access-gate.schema.js +1 -1
  122. package/dist/server/components/access-gate/access-gate.variables.js +1 -1
  123. package/dist/server/components/access-gate/index.js +4 -3
  124. package/dist/server/components/accordion/accordion.schema.js +1 -1
  125. package/dist/server/components/accordion/accordion.variables.js +1 -1
  126. package/dist/server/components/accordion/index.js +1 -1
  127. package/dist/server/components/accordion-item/accordion-item.schema.js +1 -1
  128. package/dist/server/components/accordion-item/accordion-item.variables.js +1 -1
  129. package/dist/server/components/accordion-item/index.js +1 -1
  130. package/dist/server/components/action-row/action-row.schema.js +75 -0
  131. package/dist/server/components/action-row/action-row.variables.js +10 -0
  132. package/dist/server/components/action-row/index.js +12 -0
  133. package/dist/server/components/alert/alert.schema.js +1 -1
  134. package/dist/server/components/alert/alert.variables.js +1 -1
  135. package/dist/server/components/alert/index.js +1 -1
  136. package/dist/server/components/alert-dialog/alert-dialog.schema.js +1 -1
  137. package/dist/server/components/alert-dialog/alert-dialog.variables.js +1 -1
  138. package/dist/server/components/alert-dialog/index.js +1 -1
  139. package/dist/server/components/approval-card/approval-card.schema.js +7 -2
  140. package/dist/server/components/approval-card/approval-card.variables.js +1 -1
  141. package/dist/server/components/approval-card/index.js +13 -10
  142. package/dist/server/components/area-chart/area-chart.schema.js +1 -1
  143. package/dist/server/components/area-chart/area-chart.variables.js +1 -1
  144. package/dist/server/components/area-chart/index.js +1 -1
  145. package/dist/server/components/aspect-ratio/aspect-ratio.schema.js +1 -1
  146. package/dist/server/components/aspect-ratio/aspect-ratio.variables.js +1 -1
  147. package/dist/server/components/aspect-ratio/index.js +1 -1
  148. package/dist/server/components/autocomplete/autocomplete.schema.js +1 -1
  149. package/dist/server/components/autocomplete/autocomplete.variables.js +1 -1
  150. package/dist/server/components/autocomplete/index.js +5 -5
  151. package/dist/server/components/avatar/avatar.schema.js +1 -1
  152. package/dist/server/components/avatar/avatar.variables.js +1 -1
  153. package/dist/server/components/avatar/index.js +1 -1
  154. package/dist/server/components/avatar-group/avatar-group.schema.js +1 -1
  155. package/dist/server/components/avatar-group/avatar-group.variables.js +1 -1
  156. package/dist/server/components/avatar-group/index.js +5 -5
  157. package/dist/server/components/backdrop/backdrop.schema.js +1 -1
  158. package/dist/server/components/backdrop/backdrop.variables.js +1 -1
  159. package/dist/server/components/backdrop/index.js +1 -1
  160. package/dist/server/components/badge/badge.schema.js +1 -1
  161. package/dist/server/components/badge/badge.variables.js +1 -1
  162. package/dist/server/components/badge/index.js +3 -3
  163. package/dist/server/components/banner/banner.schema.js +1 -1
  164. package/dist/server/components/banner/banner.variables.js +1 -1
  165. package/dist/server/components/banner/index.js +1 -1
  166. package/dist/server/components/bar-chart/bar-chart.schema.js +1 -1
  167. package/dist/server/components/bar-chart/bar-chart.variables.js +1 -1
  168. package/dist/server/components/bar-chart/index.js +1 -1
  169. package/dist/server/components/bento-cell/bento-cell.schema.js +1 -1
  170. package/dist/server/components/bento-cell/bento-cell.variables.js +1 -1
  171. package/dist/server/components/bento-cell/index.js +1 -1
  172. package/dist/server/components/bento-grid/bento-grid.schema.js +1 -1
  173. package/dist/server/components/bento-grid/bento-grid.variables.js +1 -1
  174. package/dist/server/components/bento-grid/index.js +1 -1
  175. package/dist/server/components/blog-section/blog-section.schema.js +1 -1
  176. package/dist/server/components/blog-section/blog-section.variables.js +1 -1
  177. package/dist/server/components/blog-section/index.js +1 -1
  178. package/dist/server/components/breadcrumbs/breadcrumbs.schema.js +1 -1
  179. package/dist/server/components/breadcrumbs/breadcrumbs.variables.js +1 -1
  180. package/dist/server/components/breadcrumbs/index.js +1 -1
  181. package/dist/server/components/button/button.schema.js +1 -1
  182. package/dist/server/components/button/button.variables.js +1 -1
  183. package/dist/server/components/button/index.js +1 -1
  184. package/dist/server/components/button-group/button-group.schema.js +1 -1
  185. package/dist/server/components/button-group/button-group.variables.js +1 -1
  186. package/dist/server/components/button-group/index.js +1 -1
  187. package/dist/server/components/calendar/calendar.schema.js +1 -1
  188. package/dist/server/components/calendar/calendar.variables.js +1 -1
  189. package/dist/server/components/calendar/index.js +1 -1
  190. package/dist/server/components/callout/callout.schema.js +7 -3
  191. package/dist/server/components/callout/callout.variables.js +1 -1
  192. package/dist/server/components/callout/index.js +2 -2
  193. package/dist/server/components/capability-gate/capability-gate.schema.js +1 -1
  194. package/dist/server/components/capability-gate/capability-gate.variables.js +1 -1
  195. package/dist/server/components/capability-gate/index.js +1 -1
  196. package/dist/server/components/card/card.schema.js +6 -2
  197. package/dist/server/components/card/card.variables.js +1 -1
  198. package/dist/server/components/card/index.js +8 -4
  199. package/dist/server/components/carousel/carousel.schema.js +1 -1
  200. package/dist/server/components/carousel/carousel.variables.js +1 -1
  201. package/dist/server/components/carousel/index.js +1 -1
  202. package/dist/server/components/chat/chat.schema.js +1 -1
  203. package/dist/server/components/chat/chat.variables.js +1 -1
  204. package/dist/server/components/chat/index.js +19 -17
  205. package/dist/server/components/chat-conversation-header/chat-conversation-header.schema.js +1 -1
  206. package/dist/server/components/chat-conversation-header/chat-conversation-header.variables.js +1 -1
  207. package/dist/server/components/chat-conversation-header/index.js +9 -9
  208. package/dist/server/components/chat-conversation-list/chat-conversation-list.schema.js +1 -1
  209. package/dist/server/components/chat-conversation-list/chat-conversation-list.variables.js +1 -1
  210. package/dist/server/components/chat-conversation-list/index.js +5 -5
  211. package/dist/server/components/checkbox/checkbox.schema.js +6 -2
  212. package/dist/server/components/checkbox/checkbox.variables.js +1 -1
  213. package/dist/server/components/checkbox/index.js +4 -4
  214. package/dist/server/components/checkbox-group/checkbox-group.schema.js +1 -1
  215. package/dist/server/components/checkbox-group/checkbox-group.variables.js +1 -1
  216. package/dist/server/components/checkbox-group/index.js +1 -1
  217. package/dist/server/components/chip/chip.schema.js +1 -1
  218. package/dist/server/components/chip/chip.variables.js +1 -1
  219. package/dist/server/components/chip/index.js +1 -1
  220. package/dist/server/components/choice-grid/choice-grid.schema.js +1 -1
  221. package/dist/server/components/choice-grid/choice-grid.variables.js +1 -1
  222. package/dist/server/components/choice-grid/index.js +1 -1
  223. package/dist/server/components/choice-grid-item/choice-grid-item.schema.js +1 -1
  224. package/dist/server/components/choice-grid-item/choice-grid-item.variables.js +1 -1
  225. package/dist/server/components/choice-grid-item/index.js +1 -1
  226. package/dist/server/components/click-away-listener/click-away-listener.schema.js +1 -1
  227. package/dist/server/components/click-away-listener/click-away-listener.variables.js +1 -1
  228. package/dist/server/components/click-away-listener/index.js +1 -1
  229. package/dist/server/components/code-block/code-block.schema.js +1 -1
  230. package/dist/server/components/code-block/code-block.variables.js +1 -1
  231. package/dist/server/components/code-block/index.js +4 -4
  232. package/dist/server/components/collapsible/collapsible.schema.js +1 -1
  233. package/dist/server/components/collapsible/collapsible.variables.js +1 -1
  234. package/dist/server/components/collapsible/index.js +1 -1
  235. package/dist/server/components/color-field/color-field.schema.js +1 -1
  236. package/dist/server/components/color-field/color-field.variables.js +1 -1
  237. package/dist/server/components/color-field/index.js +4 -4
  238. package/dist/server/components/color-picker/color-picker.schema.js +1 -1
  239. package/dist/server/components/color-picker/color-picker.variables.js +1 -1
  240. package/dist/server/components/color-picker/index.js +1 -1
  241. package/dist/server/components/color-swatch-picker/color-swatch-picker.schema.js +1 -1
  242. package/dist/server/components/color-swatch-picker/color-swatch-picker.variables.js +1 -1
  243. package/dist/server/components/color-swatch-picker/index.js +1 -1
  244. package/dist/server/components/combobox/combobox.schema.js +1 -1
  245. package/dist/server/components/combobox/combobox.variables.js +1 -1
  246. package/dist/server/components/combobox/index.js +5 -5
  247. package/dist/server/components/command-item/command-item.schema.js +1 -1
  248. package/dist/server/components/command-item/command-item.variables.js +1 -1
  249. package/dist/server/components/command-item/index.js +1 -1
  250. package/dist/server/components/command-menu/command-menu.schema.js +1 -1
  251. package/dist/server/components/command-menu/command-menu.variables.js +1 -1
  252. package/dist/server/components/command-menu/index.js +3 -3
  253. package/dist/server/components/command-palette/command-palette.schema.js +1 -1
  254. package/dist/server/components/command-palette/command-palette.variables.js +1 -1
  255. package/dist/server/components/command-palette/index.js +1 -1
  256. package/dist/server/components/confirm-dialog/confirm-dialog.schema.js +1 -1
  257. package/dist/server/components/confirm-dialog/confirm-dialog.variables.js +1 -1
  258. package/dist/server/components/confirm-dialog/index.js +1 -1
  259. package/dist/server/components/container/container.schema.js +1 -1
  260. package/dist/server/components/container/container.variables.js +1 -1
  261. package/dist/server/components/container/index.js +1 -1
  262. package/dist/server/components/context-menu/context-menu.schema.js +1 -1
  263. package/dist/server/components/context-menu/context-menu.variables.js +1 -1
  264. package/dist/server/components/context-menu/index.js +5 -5
  265. package/dist/server/components/context-menu-trigger/context-menu-trigger.schema.js +1 -1
  266. package/dist/server/components/context-menu-trigger/context-menu-trigger.variables.js +1 -1
  267. package/dist/server/components/context-menu-trigger/index.js +1 -1
  268. package/dist/server/components/copy-button/copy-button.schema.js +1 -1
  269. package/dist/server/components/copy-button/copy-button.variables.js +1 -1
  270. package/dist/server/components/copy-button/index.js +3 -3
  271. package/dist/server/components/cta-section/cta-section.schema.js +1 -1
  272. package/dist/server/components/cta-section/cta-section.variables.js +1 -1
  273. package/dist/server/components/cta-section/index.js +1 -1
  274. package/dist/server/components/data-grid/data-grid.schema.js +1 -1
  275. package/dist/server/components/data-grid/data-grid.variables.js +1 -1
  276. package/dist/server/components/data-grid/index.js +1 -1
  277. package/dist/server/components/data-list/data-list.schema.js +1 -1
  278. package/dist/server/components/data-list/data-list.variables.js +1 -1
  279. package/dist/server/components/data-list/index.js +1 -1
  280. package/dist/server/components/data-table/data-table.schema.js +1 -1
  281. package/dist/server/components/data-table/data-table.variables.js +1 -1
  282. package/dist/server/components/data-table/index.js +5 -5
  283. package/dist/server/components/date-picker/date-picker.schema.js +1 -1
  284. package/dist/server/components/date-picker/date-picker.variables.js +1 -1
  285. package/dist/server/components/date-picker/index.js +5 -5
  286. package/dist/server/components/date-range-field/date-range-field.schema.js +1 -1
  287. package/dist/server/components/date-range-field/date-range-field.variables.js +1 -1
  288. package/dist/server/components/date-range-field/index.js +6 -6
  289. package/dist/server/components/description-list/description-list.schema.js +1 -1
  290. package/dist/server/components/description-list/description-list.variables.js +1 -1
  291. package/dist/server/components/description-list/index.js +1 -1
  292. package/dist/server/components/diff-statistics/diff-statistics.schema.js +1 -1
  293. package/dist/server/components/diff-statistics/diff-statistics.variables.js +1 -1
  294. package/dist/server/components/diff-statistics/index.js +1 -1
  295. package/dist/server/components/diff-viewer/diff-viewer.schema.js +1 -1
  296. package/dist/server/components/diff-viewer/diff-viewer.variables.js +1 -1
  297. package/dist/server/components/diff-viewer/index.js +4 -4
  298. package/dist/server/components/divider/divider.schema.js +1 -1
  299. package/dist/server/components/divider/divider.variables.js +1 -1
  300. package/dist/server/components/divider/index.js +1 -1
  301. package/dist/server/components/drawer/drawer.schema.js +1 -1
  302. package/dist/server/components/drawer/drawer.variables.js +1 -1
  303. package/dist/server/components/drawer/index.js +1 -1
  304. package/dist/server/components/dropdown/dropdown.schema.js +1 -1
  305. package/dist/server/components/dropdown/dropdown.variables.js +1 -1
  306. package/dist/server/components/dropdown/index.js +5 -5
  307. package/dist/server/components/dropdown-group/dropdown-group.schema.js +1 -1
  308. package/dist/server/components/dropdown-group/dropdown-group.variables.js +1 -1
  309. package/dist/server/components/dropdown-group/index.js +1 -1
  310. package/dist/server/components/dropdown-item/dropdown-item.schema.js +1 -1
  311. package/dist/server/components/dropdown-item/dropdown-item.variables.js +1 -1
  312. package/dist/server/components/dropdown-item/index.js +1 -1
  313. package/dist/server/components/dropdown-label/dropdown-label.schema.js +1 -1
  314. package/dist/server/components/dropdown-label/dropdown-label.variables.js +1 -1
  315. package/dist/server/components/dropdown-label/index.js +1 -1
  316. package/dist/server/components/dropdown-menu/dropdown-menu.schema.js +1 -1
  317. package/dist/server/components/dropdown-menu/dropdown-menu.variables.js +1 -1
  318. package/dist/server/components/dropdown-menu/index.js +4 -4
  319. package/dist/server/components/dropdown-separator/dropdown-separator.schema.js +1 -1
  320. package/dist/server/components/dropdown-separator/dropdown-separator.variables.js +1 -1
  321. package/dist/server/components/dropdown-separator/index.js +1 -1
  322. package/dist/server/components/dropdown-trigger/dropdown-trigger.schema.js +1 -1
  323. package/dist/server/components/dropdown-trigger/dropdown-trigger.variables.js +1 -1
  324. package/dist/server/components/dropdown-trigger/index.js +1 -1
  325. package/dist/server/components/empty-state/empty-state.schema.js +1 -1
  326. package/dist/server/components/empty-state/empty-state.variables.js +1 -1
  327. package/dist/server/components/empty-state/index.js +1 -1
  328. package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +1 -1
  329. package/dist/server/components/event-stream-viewer/event-stream-viewer.variables.js +1 -1
  330. package/dist/server/components/event-stream-viewer/index.js +3 -3
  331. package/dist/server/components/event-timeline/event-timeline.schema.js +1 -1
  332. package/dist/server/components/event-timeline/event-timeline.variables.js +1 -1
  333. package/dist/server/components/event-timeline/index.js +1 -1
  334. package/dist/server/components/experimental/json-viewer/index.js +1 -1
  335. package/dist/server/components/experimental/message/index.js +1 -1
  336. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.schema.js +1 -1
  337. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.variables.js +1 -1
  338. package/dist/server/components/faceted-filter-bar/index.js +4 -4
  339. package/dist/server/components/feature-section/feature-section.schema.js +1 -1
  340. package/dist/server/components/feature-section/feature-section.variables.js +1 -1
  341. package/dist/server/components/feature-section/index.js +1 -1
  342. package/dist/server/components/feed/feed.schema.js +1 -1
  343. package/dist/server/components/feed/feed.variables.js +1 -1
  344. package/dist/server/components/feed/index.js +1 -1
  345. package/dist/server/components/feed-event/feed-event.schema.js +1 -1
  346. package/dist/server/components/feed-event/feed-event.variables.js +1 -1
  347. package/dist/server/components/feed-event/index.js +1 -1
  348. package/dist/server/components/file-upload/file-upload.schema.js +1 -1
  349. package/dist/server/components/file-upload/file-upload.variables.js +1 -1
  350. package/dist/server/components/file-upload/index.js +1 -1
  351. package/dist/server/components/floating-action-button/floating-action-button.schema.js +1 -1
  352. package/dist/server/components/floating-action-button/floating-action-button.variables.js +1 -1
  353. package/dist/server/components/floating-action-button/index.js +1 -1
  354. package/dist/server/components/focus-trap/focus-trap.schema.js +1 -1
  355. package/dist/server/components/focus-trap/focus-trap.variables.js +1 -1
  356. package/dist/server/components/focus-trap/index.js +1 -1
  357. package/dist/server/components/footer/footer.schema.js +1 -1
  358. package/dist/server/components/footer/footer.variables.js +1 -1
  359. package/dist/server/components/footer/index.js +1 -1
  360. package/dist/server/components/form-field/form-field.schema.js +1 -1
  361. package/dist/server/components/form-field/form-field.variables.js +1 -1
  362. package/dist/server/components/form-field/index.js +1 -1
  363. package/dist/server/components/form-section/form-section.schema.js +1 -1
  364. package/dist/server/components/form-section/form-section.variables.js +1 -1
  365. package/dist/server/components/form-section/index.js +1 -1
  366. package/dist/server/components/grid/grid.schema.js +1 -1
  367. package/dist/server/components/grid/grid.variables.js +1 -1
  368. package/dist/server/components/grid/index.js +1 -1
  369. package/dist/server/components/grid-item/grid-item.schema.js +1 -1
  370. package/dist/server/components/grid-item/grid-item.variables.js +1 -1
  371. package/dist/server/components/grid-item/index.js +1 -1
  372. package/dist/server/components/grid-list/grid-list.schema.js +1 -1
  373. package/dist/server/components/grid-list/grid-list.variables.js +1 -1
  374. package/dist/server/components/grid-list/index.js +1 -1
  375. package/dist/server/components/grid-list-item/grid-list-item.schema.js +1 -1
  376. package/dist/server/components/grid-list-item/grid-list-item.variables.js +1 -1
  377. package/dist/server/components/grid-list-item/index.js +1 -1
  378. package/dist/server/components/hero-section/hero-section.schema.js +1 -1
  379. package/dist/server/components/hero-section/hero-section.variables.js +1 -1
  380. package/dist/server/components/hero-section/index.js +1 -1
  381. package/dist/server/components/hover-card/hover-card.schema.js +1 -1
  382. package/dist/server/components/hover-card/hover-card.variables.js +1 -1
  383. package/dist/server/components/hover-card/index.js +3 -3
  384. package/dist/server/components/image/image.schema.js +1 -1
  385. package/dist/server/components/image/image.variables.js +1 -1
  386. package/dist/server/components/image/index.js +1 -1
  387. package/dist/server/components/inline-loading/index.js +1 -1
  388. package/dist/server/components/inline-loading/inline-loading.schema.js +1 -1
  389. package/dist/server/components/inline-loading/inline-loading.variables.js +1 -1
  390. package/dist/server/components/input/index.js +4 -4
  391. package/dist/server/components/input/input.schema.js +1 -1
  392. package/dist/server/components/input/input.variables.js +1 -1
  393. package/dist/server/components/invocation-rule-builder/index.js +1 -1
  394. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +1 -1
  395. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.variables.js +1 -1
  396. package/dist/server/components/json-schema-editor/index.js +12 -12
  397. package/dist/server/components/json-schema-editor/json-schema-editor.schema.js +1 -1
  398. package/dist/server/components/json-schema-editor/json-schema-editor.variables.js +1 -1
  399. package/dist/server/components/json-viewer/index.js +1 -1
  400. package/dist/server/components/json-viewer/json-viewer.schema.js +1 -1
  401. package/dist/server/components/json-viewer/json-viewer.variables.js +1 -1
  402. package/dist/server/components/kanban-board/index.js +1 -1
  403. package/dist/server/components/kanban-board/kanban-board.schema.js +1 -1
  404. package/dist/server/components/kanban-board/kanban-board.variables.js +1 -1
  405. package/dist/server/components/kbd/index.js +1 -1
  406. package/dist/server/components/kbd/kbd.schema.js +1 -1
  407. package/dist/server/components/kbd/kbd.variables.js +1 -1
  408. package/dist/server/components/keyboard-shortcuts/index.js +1 -1
  409. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +1 -1
  410. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +1 -1
  411. package/dist/server/components/label/index.js +1 -1
  412. package/dist/server/components/label/label.schema.js +1 -1
  413. package/dist/server/components/label/label.variables.js +1 -1
  414. package/dist/server/components/line-chart/index.js +1 -1
  415. package/dist/server/components/line-chart/line-chart.schema.js +1 -1
  416. package/dist/server/components/line-chart/line-chart.variables.js +1 -1
  417. package/dist/server/components/link/index.js +1 -1
  418. package/dist/server/components/link/link.schema.js +1 -1
  419. package/dist/server/components/link/link.variables.js +1 -1
  420. package/dist/server/components/load-more/index.js +1 -1
  421. package/dist/server/components/load-more/load-more.schema.js +1 -1
  422. package/dist/server/components/load-more/load-more.variables.js +1 -1
  423. package/dist/server/components/locale-provider/index.js +1 -1
  424. package/dist/server/components/locale-provider/locale-provider.schema.js +1 -1
  425. package/dist/server/components/locale-provider/locale-provider.variables.js +1 -1
  426. package/dist/server/components/logo-cloud/index.js +1 -1
  427. package/dist/server/components/logo-cloud/logo-cloud.schema.js +1 -1
  428. package/dist/server/components/logo-cloud/logo-cloud.variables.js +1 -1
  429. package/dist/server/components/markdown-editor/index.js +12 -12
  430. package/dist/server/components/markdown-editor/markdown-editor.schema.js +1 -1
  431. package/dist/server/components/markdown-editor/markdown-editor.variables.js +1 -1
  432. package/dist/server/components/marquee/index.js +1 -1
  433. package/dist/server/components/marquee/marquee.schema.js +1 -1
  434. package/dist/server/components/marquee/marquee.variables.js +1 -1
  435. package/dist/server/components/masonry/index.js +1 -1
  436. package/dist/server/components/masonry/masonry.schema.js +1 -1
  437. package/dist/server/components/masonry/masonry.variables.js +1 -1
  438. package/dist/server/components/matrix-chart/index.js +1 -1
  439. package/dist/server/components/matrix-chart/matrix-chart.schema.js +1 -1
  440. package/dist/server/components/matrix-chart/matrix-chart.variables.js +1 -1
  441. package/dist/server/components/media-controls/index.js +1 -1
  442. package/dist/server/components/media-controls/media-controls.schema.js +1 -1
  443. package/dist/server/components/media-controls/media-controls.variables.js +1 -1
  444. package/dist/server/components/mega-menu/index.js +1 -1
  445. package/dist/server/components/mega-menu/mega-menu.schema.js +1 -1
  446. package/dist/server/components/mega-menu/mega-menu.variables.js +1 -1
  447. package/dist/server/components/menu-bar/index.js +5 -5
  448. package/dist/server/components/menu-bar/menu-bar.schema.js +1 -1
  449. package/dist/server/components/menu-bar/menu-bar.variables.js +1 -1
  450. package/dist/server/components/message/index.js +1 -1
  451. package/dist/server/components/message/message.schema.js +1 -1
  452. package/dist/server/components/message/message.variables.js +1 -1
  453. package/dist/server/components/meter/index.js +1 -1
  454. package/dist/server/components/meter/meter.schema.js +1 -1
  455. package/dist/server/components/meter/meter.variables.js +1 -1
  456. package/dist/server/components/modal/index.js +1 -1
  457. package/dist/server/components/modal/modal.schema.js +1 -1
  458. package/dist/server/components/modal/modal.variables.js +1 -1
  459. package/dist/server/components/multi-select/index.js +2 -2
  460. package/dist/server/components/multi-select/multi-select.schema.js +1 -1
  461. package/dist/server/components/multi-select/multi-select.variables.js +1 -1
  462. package/dist/server/components/navigation-bar/index.js +2 -2
  463. package/dist/server/components/navigation-bar/navigation-bar.schema.js +7 -2
  464. package/dist/server/components/navigation-bar/navigation-bar.variables.js +1 -1
  465. package/dist/server/components/navigation-item/index.js +1 -1
  466. package/dist/server/components/navigation-item/navigation-item.schema.js +1 -1
  467. package/dist/server/components/navigation-item/navigation-item.variables.js +1 -1
  468. package/dist/server/components/newsletter-section/index.js +4 -4
  469. package/dist/server/components/newsletter-section/newsletter-section.schema.js +1 -1
  470. package/dist/server/components/newsletter-section/newsletter-section.variables.js +1 -1
  471. package/dist/server/components/number-input/index.js +1 -1
  472. package/dist/server/components/number-input/number-input.schema.js +1 -1
  473. package/dist/server/components/number-input/number-input.variables.js +1 -1
  474. package/dist/server/components/page-header/index.js +1 -1
  475. package/dist/server/components/page-header/page-header.schema.js +1 -1
  476. package/dist/server/components/page-header/page-header.variables.js +1 -1
  477. package/dist/server/components/pagination/index.js +2 -2
  478. package/dist/server/components/pagination/pagination.schema.js +13 -4
  479. package/dist/server/components/pagination/pagination.variables.js +1 -1
  480. package/dist/server/components/payload-inspector/index.js +8 -8
  481. package/dist/server/components/payload-inspector/payload-inspector.schema.js +1 -1
  482. package/dist/server/components/payload-inspector/payload-inspector.variables.js +1 -1
  483. package/dist/server/components/permission-matrix/index.js +1 -1
  484. package/dist/server/components/permission-matrix/permission-matrix.schema.js +1 -1
  485. package/dist/server/components/permission-matrix/permission-matrix.variables.js +1 -1
  486. package/dist/server/components/phone-input/index.js +1 -1
  487. package/dist/server/components/phone-input/phone-input.schema.js +1 -1
  488. package/dist/server/components/phone-input/phone-input.variables.js +1 -1
  489. package/dist/server/components/pin-input/index.js +1 -1
  490. package/dist/server/components/pin-input/pin-input.schema.js +1 -1
  491. package/dist/server/components/pin-input/pin-input.variables.js +1 -1
  492. package/dist/server/components/popover/index.js +4 -4
  493. package/dist/server/components/popover/popover.schema.js +1 -1
  494. package/dist/server/components/popover/popover.variables.js +1 -1
  495. package/dist/server/components/portal/index.js +2 -2
  496. package/dist/server/components/portal/portal.schema.js +1 -1
  497. package/dist/server/components/portal/portal.variables.js +1 -1
  498. package/dist/server/components/pricing-card/index.js +1 -1
  499. package/dist/server/components/pricing-card/pricing-card.schema.js +1 -1
  500. package/dist/server/components/pricing-card/pricing-card.variables.js +1 -1
  501. package/dist/server/components/pricing-section/index.js +1 -1
  502. package/dist/server/components/pricing-section/pricing-section.schema.js +1 -1
  503. package/dist/server/components/pricing-section/pricing-section.variables.js +1 -1
  504. package/dist/server/components/progress/index.js +1 -1
  505. package/dist/server/components/progress/progress.schema.js +1 -1
  506. package/dist/server/components/progress/progress.variables.js +1 -1
  507. package/dist/server/components/qr-code/index.js +2 -2
  508. package/dist/server/components/qr-code/qr-code.schema.js +1 -1
  509. package/dist/server/components/qr-code/qr-code.variables.js +1 -1
  510. package/dist/server/components/radio-group/index.js +1 -1
  511. package/dist/server/components/radio-group/radio-group.schema.js +1 -1
  512. package/dist/server/components/radio-group/radio-group.variables.js +1 -1
  513. package/dist/server/components/rating/index.js +1 -1
  514. package/dist/server/components/rating/rating.schema.js +1 -1
  515. package/dist/server/components/rating/rating.variables.js +1 -1
  516. package/dist/server/components/resizable-panels/index.js +1 -1
  517. package/dist/server/components/resizable-panels/resizable-panels.schema.js +1 -1
  518. package/dist/server/components/resizable-panels/resizable-panels.variables.js +1 -1
  519. package/dist/server/components/review-editor/index.js +3392 -51
  520. package/dist/server/components/review-editor/review-editor.schema.js +1 -1
  521. package/dist/server/components/review-editor/review-editor.variables.js +1 -1
  522. package/dist/server/components/run-step-timeline/index.js +3 -3
  523. package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +1 -1
  524. package/dist/server/components/run-step-timeline/run-step-timeline.variables.js +1 -1
  525. package/dist/server/components/schema-form/index.js +5 -5
  526. package/dist/server/components/schema-form/schema-form.schema.js +1 -1
  527. package/dist/server/components/schema-form/schema-form.variables.js +1 -1
  528. package/dist/server/components/scroll-area/index.js +1 -1
  529. package/dist/server/components/scroll-area/scroll-area.schema.js +1 -1
  530. package/dist/server/components/scroll-area/scroll-area.variables.js +1 -1
  531. package/dist/server/components/search-field/index.js +4 -4
  532. package/dist/server/components/search-field/search-field.schema.js +1 -1
  533. package/dist/server/components/search-field/search-field.variables.js +1 -1
  534. package/dist/server/components/secret-value-field/index.js +1 -1
  535. package/dist/server/components/secret-value-field/secret-value-field.schema.js +1 -1
  536. package/dist/server/components/secret-value-field/secret-value-field.variables.js +1 -1
  537. package/dist/server/components/section-heading/index.js +1 -1
  538. package/dist/server/components/section-heading/section-heading.schema.js +1 -1
  539. package/dist/server/components/section-heading/section-heading.variables.js +1 -1
  540. package/dist/server/components/segment/index.js +1 -1
  541. package/dist/server/components/segment/segment.schema.js +1 -1
  542. package/dist/server/components/segment/segment.variables.js +1 -1
  543. package/dist/server/components/segmented-control/index.js +1 -1
  544. package/dist/server/components/segmented-control/segmented-control.schema.js +1 -1
  545. package/dist/server/components/segmented-control/segmented-control.variables.js +1 -1
  546. package/dist/server/components/select/index.js +1 -1
  547. package/dist/server/components/select/select.schema.js +1 -1
  548. package/dist/server/components/select/select.variables.js +1 -1
  549. package/dist/server/components/selection-popover/index.js +4 -4
  550. package/dist/server/components/selection-popover/selection-popover.schema.js +1 -1
  551. package/dist/server/components/selection-popover/selection-popover.variables.js +1 -1
  552. package/dist/server/components/share-card/index.js +1 -1
  553. package/dist/server/components/share-card/share-card.schema.js +1 -1
  554. package/dist/server/components/share-card/share-card.variables.js +1 -1
  555. package/dist/server/components/sheet/index.js +1 -1
  556. package/dist/server/components/sheet/sheet.schema.js +1 -1
  557. package/dist/server/components/sheet/sheet.variables.js +1 -1
  558. package/dist/server/components/shortcut-hint/index.js +1 -1
  559. package/dist/server/components/shortcut-hint/shortcut-hint.schema.js +1 -1
  560. package/dist/server/components/shortcut-hint/shortcut-hint.variables.js +1 -1
  561. package/dist/server/components/side-navigation/index.js +1 -1
  562. package/dist/server/components/side-navigation/side-navigation.schema.js +1 -1
  563. package/dist/server/components/side-navigation/side-navigation.variables.js +1 -1
  564. package/dist/server/components/side-navigation-group/index.js +1 -1
  565. package/dist/server/components/side-navigation-group/side-navigation-group.schema.js +1 -1
  566. package/dist/server/components/side-navigation-group/side-navigation-group.variables.js +1 -1
  567. package/dist/server/components/side-navigation-item/index.js +1 -1
  568. package/dist/server/components/side-navigation-item/side-navigation-item.schema.js +1 -1
  569. package/dist/server/components/side-navigation-item/side-navigation-item.variables.js +1 -1
  570. package/dist/server/components/sidebar/index.js +2 -2
  571. package/dist/server/components/sidebar/sidebar.schema.js +1 -1
  572. package/dist/server/components/sidebar/sidebar.variables.js +1 -1
  573. package/dist/server/components/skeleton/index.js +1 -1
  574. package/dist/server/components/skeleton/skeleton.schema.js +1 -1
  575. package/dist/server/components/skeleton/skeleton.variables.js +1 -1
  576. package/dist/server/components/skip-link/index.js +1 -1
  577. package/dist/server/components/skip-link/skip-link.schema.js +1 -1
  578. package/dist/server/components/skip-link/skip-link.variables.js +1 -1
  579. package/dist/server/components/slider/index.js +1 -1
  580. package/dist/server/components/slider/slider.schema.js +1 -1
  581. package/dist/server/components/slider/slider.variables.js +1 -1
  582. package/dist/server/components/sortable-list/index.js +1 -1
  583. package/dist/server/components/sortable-list/sortable-list.schema.js +1 -1
  584. package/dist/server/components/sortable-list/sortable-list.variables.js +1 -1
  585. package/dist/server/components/source-diff-viewer/index.js +18 -0
  586. package/dist/server/components/source-diff-viewer/source-diff-viewer.schema.js +45 -0
  587. package/dist/server/components/source-diff-viewer/source-diff-viewer.variables.js +10 -0
  588. package/dist/server/components/sparkbar/index.js +1 -1
  589. package/dist/server/components/sparkbar/sparkbar.schema.js +1 -1
  590. package/dist/server/components/sparkbar/sparkbar.variables.js +1 -1
  591. package/dist/server/components/spectrogram/index.js +1 -1
  592. package/dist/server/components/spectrogram/spectrogram.schema.js +1 -1
  593. package/dist/server/components/spectrogram/spectrogram.variables.js +1 -1
  594. package/dist/server/components/spectrum-chart/index.js +1 -1
  595. package/dist/server/components/spectrum-chart/spectrum-chart.schema.js +1 -1
  596. package/dist/server/components/spectrum-chart/spectrum-chart.variables.js +1 -1
  597. package/dist/server/components/speed-dial/index.js +1 -1
  598. package/dist/server/components/speed-dial/speed-dial.schema.js +1 -1
  599. package/dist/server/components/speed-dial/speed-dial.variables.js +1 -1
  600. package/dist/server/components/speed-dial-action/index.js +1 -1
  601. package/dist/server/components/speed-dial-action/speed-dial-action.schema.js +1 -1
  602. package/dist/server/components/speed-dial-action/speed-dial-action.variables.js +1 -1
  603. package/dist/server/components/spinner/index.js +1 -1
  604. package/dist/server/components/spinner/spinner.schema.js +1 -1
  605. package/dist/server/components/spinner/spinner.variables.js +1 -1
  606. package/dist/server/components/stacked-list-item/index.js +1 -1
  607. package/dist/server/components/stacked-list-item/stacked-list-item.schema.js +1 -1
  608. package/dist/server/components/stacked-list-item/stacked-list-item.variables.js +1 -1
  609. package/dist/server/components/stat/index.js +1 -1
  610. package/dist/server/components/stat/stat.schema.js +1 -1
  611. package/dist/server/components/stat/stat.variables.js +1 -1
  612. package/dist/server/components/stat-group/index.js +1 -1
  613. package/dist/server/components/stat-group/stat-group.schema.js +1 -1
  614. package/dist/server/components/stat-group/stat-group.variables.js +1 -1
  615. package/dist/server/components/stats-section/index.js +1 -1
  616. package/dist/server/components/stats-section/stats-section.schema.js +1 -1
  617. package/dist/server/components/stats-section/stats-section.variables.js +1 -1
  618. package/dist/server/components/status-dot/index.js +1 -1
  619. package/dist/server/components/status-dot/status-dot.schema.js +1 -1
  620. package/dist/server/components/status-dot/status-dot.variables.js +1 -1
  621. package/dist/server/components/steps/index.js +1 -1
  622. package/dist/server/components/steps/steps.schema.js +1 -1
  623. package/dist/server/components/steps/steps.variables.js +1 -1
  624. package/dist/server/components/surface/index.js +1 -1
  625. package/dist/server/components/surface/surface.schema.js +1 -1
  626. package/dist/server/components/surface/surface.variables.js +1 -1
  627. package/dist/server/components/tab/index.js +1 -1
  628. package/dist/server/components/tab/tab.schema.js +1 -1
  629. package/dist/server/components/tab/tab.variables.js +1 -1
  630. package/dist/server/components/tab-list/index.js +1 -1
  631. package/dist/server/components/tab-list/tab-list.schema.js +1 -1
  632. package/dist/server/components/tab-list/tab-list.variables.js +1 -1
  633. package/dist/server/components/tab-panel/index.js +1 -1
  634. package/dist/server/components/tab-panel/tab-panel.schema.js +1 -1
  635. package/dist/server/components/tab-panel/tab-panel.variables.js +1 -1
  636. package/dist/server/components/table/index.js +3 -3
  637. package/dist/server/components/table/table.schema.js +1 -1
  638. package/dist/server/components/table/table.variables.js +1 -1
  639. package/dist/server/components/table-body/index.js +1 -1
  640. package/dist/server/components/table-body/table-body.schema.js +1 -1
  641. package/dist/server/components/table-body/table-body.variables.js +1 -1
  642. package/dist/server/components/table-cell/index.js +1 -1
  643. package/dist/server/components/table-cell/table-cell.schema.js +1 -1
  644. package/dist/server/components/table-cell/table-cell.variables.js +1 -1
  645. package/dist/server/components/table-header/index.js +1 -1
  646. package/dist/server/components/table-header/table-header.schema.js +1 -1
  647. package/dist/server/components/table-header/table-header.variables.js +1 -1
  648. package/dist/server/components/table-header-cell/index.js +1 -1
  649. package/dist/server/components/table-header-cell/table-header-cell.schema.js +1 -1
  650. package/dist/server/components/table-header-cell/table-header-cell.variables.js +1 -1
  651. package/dist/server/components/table-of-contents/index.js +1 -1
  652. package/dist/server/components/table-of-contents/table-of-contents.schema.js +1 -1
  653. package/dist/server/components/table-of-contents/table-of-contents.variables.js +1 -1
  654. package/dist/server/components/table-row/index.js +1 -1
  655. package/dist/server/components/table-row/table-row.schema.js +1 -1
  656. package/dist/server/components/table-row/table-row.variables.js +1 -1
  657. package/dist/server/components/tabs/index.js +4 -4
  658. package/dist/server/components/tabs/tabs.schema.js +7 -2
  659. package/dist/server/components/tabs/tabs.variables.js +1 -1
  660. package/dist/server/components/tag-input/index.js +3 -3
  661. package/dist/server/components/tag-input/tag-input.schema.js +1 -1
  662. package/dist/server/components/tag-input/tag-input.variables.js +1 -1
  663. package/dist/server/components/team-section/index.js +11 -7
  664. package/dist/server/components/team-section/team-section.schema.js +1 -1
  665. package/dist/server/components/team-section/team-section.variables.js +1 -1
  666. package/dist/server/components/testimonial-section/index.js +8 -4
  667. package/dist/server/components/testimonial-section/testimonial-section.schema.js +1 -1
  668. package/dist/server/components/testimonial-section/testimonial-section.variables.js +1 -1
  669. package/dist/server/components/textarea/index.js +1 -1
  670. package/dist/server/components/textarea/textarea.schema.js +1 -1
  671. package/dist/server/components/textarea/textarea.variables.js +1 -1
  672. package/dist/server/components/time-field/index.js +1 -1
  673. package/dist/server/components/time-field/time-field.schema.js +1 -1
  674. package/dist/server/components/time-field/time-field.variables.js +1 -1
  675. package/dist/server/components/timeline/index.js +1 -1
  676. package/dist/server/components/timeline/timeline.schema.js +1 -1
  677. package/dist/server/components/timeline/timeline.variables.js +1 -1
  678. package/dist/server/components/toast-region/index.js +1 -1
  679. package/dist/server/components/toast-region/toast-region.schema.js +1 -1
  680. package/dist/server/components/toast-region/toast-region.variables.js +1 -1
  681. package/dist/server/components/toggle/index.js +1 -1
  682. package/dist/server/components/toggle/toggle.schema.js +1 -1
  683. package/dist/server/components/toggle/toggle.variables.js +1 -1
  684. package/dist/server/components/toolbar/index.js +2 -2
  685. package/dist/server/components/toolbar/toolbar.schema.js +3 -3
  686. package/dist/server/components/toolbar/toolbar.variables.js +1 -1
  687. package/dist/server/components/tooltip/index.js +4 -4
  688. package/dist/server/components/tooltip/tooltip.schema.js +1 -1
  689. package/dist/server/components/tooltip/tooltip.variables.js +1 -1
  690. package/dist/server/components/transfer-list/index.js +1 -1
  691. package/dist/server/components/transfer-list/transfer-list.schema.js +1 -1
  692. package/dist/server/components/transfer-list/transfer-list.variables.js +1 -1
  693. package/dist/server/components/tree/index.js +1 -1
  694. package/dist/server/components/tree/tree.schema.js +1 -1
  695. package/dist/server/components/tree/tree.variables.js +1 -1
  696. package/dist/server/components/tree-item/index.js +1 -1
  697. package/dist/server/components/tree-item/tree-item.schema.js +1 -1
  698. package/dist/server/components/tree-item/tree-item.variables.js +1 -1
  699. package/dist/server/components/typography/index.js +1 -1
  700. package/dist/server/components/typography/typography.schema.js +1 -1
  701. package/dist/server/components/typography/typography.variables.js +1 -1
  702. package/dist/server/components/virtual-list/index.js +1 -1
  703. package/dist/server/components/virtual-list/virtual-list.schema.js +1 -1
  704. package/dist/server/components/virtual-list/virtual-list.variables.js +1 -1
  705. package/dist/server/components/visually-hidden/index.js +1 -1
  706. package/dist/server/components/visually-hidden/visually-hidden.schema.js +1 -1
  707. package/dist/server/components/visually-hidden/visually-hidden.variables.js +1 -1
  708. package/dist/server/components/waveform/index.js +1 -1
  709. package/dist/server/components/waveform/waveform.schema.js +1 -1
  710. package/dist/server/components/waveform/waveform.variables.js +1 -1
  711. package/dist/server/highlighters/shiki/index.js +1 -1
  712. package/dist/server/index-49we2xfs.js +344 -0
  713. package/dist/server/index-8fhvxk30.js +265 -0
  714. package/dist/server/index-x2ysg8ds.js +388 -0
  715. package/dist/server/index.js +165 -187
  716. package/dist/server/index.server-0e1m3agz.js +102 -0
  717. package/dist/server/index.server-0gwr59yw.js +9 -0
  718. package/dist/server/index.server-0q2bpsa1.js +98 -0
  719. package/dist/server/index.server-0v6na3yp.js +37 -0
  720. package/dist/server/index.server-1nh09ck7.js +377 -0
  721. package/dist/server/index.server-1vscnped.js +105 -0
  722. package/dist/server/index.server-2a789g24.js +1163 -0
  723. package/dist/server/index.server-2j52msk2.js +34 -0
  724. package/dist/server/index.server-3qdm4kcn.js +1028 -0
  725. package/dist/server/index.server-5knawt7p.js +94 -0
  726. package/dist/server/index.server-5npa16n7.js +9 -0
  727. package/dist/server/index.server-62mtrvr7.js +111 -0
  728. package/dist/server/index.server-73x2d3j3.js +9 -0
  729. package/dist/server/index.server-7fp0epev.js +143 -0
  730. package/dist/server/index.server-7yq1jgt3.js +9 -0
  731. package/dist/server/index.server-8cxs4kya.js +244 -0
  732. package/dist/server/index.server-98zf89h7.js +3842 -0
  733. package/dist/server/index.server-9j5sym59.js +23 -0
  734. package/dist/server/index.server-9s4na701.js +195 -0
  735. package/dist/server/index.server-a3dhq5t8.js +2309 -0
  736. package/dist/server/index.server-aeexcxdp.js +9 -0
  737. package/dist/server/index.server-atjc1qcq.js +83 -0
  738. package/dist/server/index.server-bfsbp9dz.js +169 -0
  739. package/dist/server/index.server-btgb3d56.js +195 -0
  740. package/dist/server/index.server-bvsb9gea.js +2 -0
  741. package/dist/server/index.server-cbtg8rq5.js +457 -0
  742. package/dist/server/index.server-cvnw3hw9.js +9 -0
  743. package/dist/server/index.server-d04aj37r.js +62 -0
  744. package/dist/server/index.server-dc35kh7d.js +1835 -0
  745. package/dist/server/index.server-dp9j2kkr.js +291 -0
  746. package/dist/server/index.server-e8x1hgw6.js +118 -0
  747. package/dist/server/index.server-ecm1vs3g.js +9 -0
  748. package/dist/server/index.server-egk5q7aj.js +148 -0
  749. package/dist/server/index.server-ezpdsg81.js +733 -0
  750. package/dist/server/index.server-f0hma3jp.js +9 -0
  751. package/dist/server/index.server-f23vtaw4.js +284 -0
  752. package/dist/server/index.server-ft1xvwqd.js +9 -0
  753. package/dist/server/index.server-g789yep6.js +1035 -0
  754. package/dist/server/index.server-gxf0d1p5.js +76 -0
  755. package/dist/server/index.server-hcfnae5y.js +126 -0
  756. package/dist/server/index.server-hd8gpehd.js +9 -0
  757. package/dist/server/index.server-hhxjaeen.js +35 -0
  758. package/dist/server/index.server-hpcs7tmh.js +271 -0
  759. package/dist/server/index.server-j5hn2qds.js +126 -0
  760. package/dist/server/index.server-jk4rx4aa.js +9 -0
  761. package/dist/server/index.server-jt1twhgk.js +726 -0
  762. package/dist/server/index.server-kd4b0342.js +607 -0
  763. package/dist/server/index.server-kvdrhzr3.js +176 -0
  764. package/dist/server/index.server-mehav5vs.js +31 -0
  765. package/dist/server/index.server-n39drzes.js +222 -0
  766. package/dist/server/index.server-nzgjr724.js +190 -0
  767. package/dist/server/index.server-pacrqvyz.js +9 -0
  768. package/dist/server/index.server-pakw5qm3.js +84 -0
  769. package/dist/server/index.server-pen9pxt6.js +117 -0
  770. package/dist/server/index.server-pp6vn6z6.js +294 -0
  771. package/dist/server/index.server-pxg74pyp.js +393 -0
  772. package/dist/server/index.server-q89dz8h1.js +72 -0
  773. package/dist/server/index.server-qfa2rxzx.js +177 -0
  774. package/dist/server/index.server-qwknp759.js +141 -0
  775. package/dist/server/index.server-rhhmdxtz.js +159 -0
  776. package/dist/server/index.server-rjap4k7y.js +1389 -0
  777. package/dist/server/index.server-s9khh4ry.js +56 -0
  778. package/dist/server/index.server-sh2rxejg.js +371 -0
  779. package/dist/server/index.server-tbxe02px.js +9 -0
  780. package/dist/server/index.server-te0d13bf.js +4416 -0
  781. package/dist/server/index.server-thedzn9z.js +100 -0
  782. package/dist/server/index.server-tnbaknbp.js +9 -0
  783. package/dist/server/index.server-txnxnbd6.js +161 -0
  784. package/dist/server/index.server-vne4rzfa.js +9 -0
  785. package/dist/server/index.server-vt6sn9y4.js +447 -0
  786. package/dist/server/index.server-wc9aggfz.js +197 -0
  787. package/dist/server/index.server-wm7mk5kw.js +93 -0
  788. package/dist/server/index.server-z1q7qnb8.js +84 -0
  789. package/dist/server/index.server-zeqv7nrz.js +184 -0
  790. package/dist/server/styles/base-guard.js +1 -1
  791. package/dist/utilities/__test-helpers__/announcer-wrapper.svelte.d.ts +7 -0
  792. package/package.json +189 -39
  793. package/src/components/_radio/radio.schema.json +36 -0
  794. package/src/components/_radio/radio.variables.json +1 -0
  795. package/src/components/_tree-select-all/tree-select-all.schema.json +38 -0
  796. package/src/components/_tree-select-all/tree-select-all.variables.json +1 -0
  797. package/src/components/access-gate/access-gate.schema.json +38 -0
  798. package/src/components/access-gate/access-gate.variables.json +1 -0
  799. package/src/components/accordion/accordion.schema.json +26 -0
  800. package/src/components/accordion/accordion.variables.json +1 -0
  801. package/src/components/accordion-item/accordion-item.schema.json +35 -0
  802. package/src/components/accordion-item/accordion-item.variables.json +1 -0
  803. package/src/components/action-row/action-row.css +133 -0
  804. package/src/components/action-row/action-row.examples.json +19 -0
  805. package/src/components/action-row/action-row.schema.json +66 -0
  806. package/src/components/action-row/action-row.variables.json +1 -0
  807. package/src/components/alert/alert.schema.json +38 -0
  808. package/src/components/alert/alert.variables.json +1 -0
  809. package/src/components/alert-dialog/alert-dialog.schema.json +53 -0
  810. package/src/components/alert-dialog/alert-dialog.variables.json +1 -0
  811. package/src/components/approval-card/approval-card.css +31 -1
  812. package/src/components/approval-card/approval-card.examples.json +1 -1
  813. package/src/components/approval-card/approval-card.schema.json +211 -0
  814. package/src/components/approval-card/approval-card.variables.json +1 -0
  815. package/src/components/area-chart/area-chart.schema.json +143 -0
  816. package/src/components/area-chart/area-chart.variables.json +1 -0
  817. package/src/components/aspect-ratio/aspect-ratio.schema.json +143 -0
  818. package/src/components/aspect-ratio/aspect-ratio.variables.json +1 -0
  819. package/src/components/autocomplete/autocomplete.schema.json +79 -0
  820. package/src/components/autocomplete/autocomplete.variables.json +1 -0
  821. package/src/components/avatar/avatar.schema.json +36 -0
  822. package/src/components/avatar/avatar.variables.json +1 -0
  823. package/src/components/avatar-group/avatar-group.schema.json +69 -0
  824. package/src/components/avatar-group/avatar-group.variables.json +1 -0
  825. package/src/components/backdrop/backdrop.schema.json +44 -0
  826. package/src/components/backdrop/backdrop.variables.json +1 -0
  827. package/src/components/badge/badge.schema.json +39 -0
  828. package/src/components/badge/badge.variables.json +1 -0
  829. package/src/components/banner/banner.schema.json +39 -0
  830. package/src/components/banner/banner.variables.json +1 -0
  831. package/src/components/bar-chart/bar-chart.schema.json +144 -0
  832. package/src/components/bar-chart/bar-chart.variables.json +1 -0
  833. package/src/components/bento-cell/bento-cell.schema.json +105 -0
  834. package/src/components/bento-cell/bento-cell.variables.json +1 -0
  835. package/src/components/bento-grid/bento-grid.schema.json +54 -0
  836. package/src/components/bento-grid/bento-grid.variables.json +1 -0
  837. package/src/components/blog-section/blog-section.css +2 -1
  838. package/src/components/blog-section/blog-section.schema.json +82 -0
  839. package/src/components/blog-section/blog-section.variables.json +1 -0
  840. package/src/components/breadcrumbs/breadcrumbs.schema.json +21 -0
  841. package/src/components/breadcrumbs/breadcrumbs.variables.json +1 -0
  842. package/src/components/button/button.schema.json +62 -0
  843. package/src/components/button/button.variables.json +1 -0
  844. package/src/components/button-group/button-group.schema.json +33 -0
  845. package/src/components/button-group/button-group.variables.json +1 -0
  846. package/src/components/calendar/calendar.schema.json +61 -0
  847. package/src/components/calendar/calendar.variables.json +1 -0
  848. package/src/components/callout/callout.schema.json +38 -0
  849. package/src/components/callout/callout.variables.json +1 -0
  850. package/src/components/capability-gate/capability-gate.schema.json +72 -0
  851. package/src/components/capability-gate/capability-gate.variables.json +1 -0
  852. package/src/components/card/card.css +53 -1
  853. package/src/components/card/card.examples.json +12 -0
  854. package/src/components/card/card.schema.json +64 -0
  855. package/src/components/card/card.variables.json +1 -0
  856. package/src/components/carousel/carousel.schema.json +46 -0
  857. package/src/components/carousel/carousel.variables.json +1 -0
  858. package/src/components/chat/chat.schema.json +250 -0
  859. package/src/components/chat/chat.variables.json +1 -0
  860. package/src/components/chat-conversation-header/chat-conversation-header.schema.json +34 -0
  861. package/src/components/chat-conversation-header/chat-conversation-header.variables.json +1 -0
  862. package/src/components/chat-conversation-list/chat-conversation-list.schema.json +45 -0
  863. package/src/components/chat-conversation-list/chat-conversation-list.variables.json +1 -0
  864. package/src/components/checkbox/checkbox.examples.json +6 -0
  865. package/src/components/checkbox/checkbox.schema.json +53 -0
  866. package/src/components/checkbox/checkbox.variables.json +1 -0
  867. package/src/components/checkbox-group/checkbox-group.schema.json +45 -0
  868. package/src/components/checkbox-group/checkbox-group.variables.json +1 -0
  869. package/src/components/chip/chip.schema.json +60 -0
  870. package/src/components/chip/chip.variables.json +1 -0
  871. package/src/components/choice-grid/choice-grid.schema.json +64 -0
  872. package/src/components/choice-grid/choice-grid.variables.json +1 -0
  873. package/src/components/choice-grid-item/choice-grid-item.schema.json +34 -0
  874. package/src/components/choice-grid-item/choice-grid-item.variables.json +1 -0
  875. package/src/components/click-away-listener/click-away-listener.schema.json +31 -0
  876. package/src/components/click-away-listener/click-away-listener.variables.json +1 -0
  877. package/src/components/code-block/code-block.css +56 -2
  878. package/src/components/code-block/code-block.schema.json +37 -0
  879. package/src/components/code-block/code-block.variables.json +1 -0
  880. package/src/components/collapsible/collapsible.schema.json +49 -0
  881. package/src/components/collapsible/collapsible.variables.json +1 -0
  882. package/src/components/color-field/color-field.schema.json +80 -0
  883. package/src/components/color-field/color-field.variables.json +1 -0
  884. package/src/components/color-picker/color-picker.schema.json +56 -0
  885. package/src/components/color-picker/color-picker.variables.json +1 -0
  886. package/src/components/color-swatch-picker/color-swatch-picker.schema.json +60 -0
  887. package/src/components/color-swatch-picker/color-swatch-picker.variables.json +1 -0
  888. package/src/components/combobox/combobox.schema.json +76 -0
  889. package/src/components/combobox/combobox.variables.json +1 -0
  890. package/src/components/command-item/command-item.schema.json +61 -0
  891. package/src/components/command-item/command-item.variables.json +1 -0
  892. package/src/components/command-menu/command-menu.schema.json +81 -0
  893. package/src/components/command-menu/command-menu.variables.json +1 -0
  894. package/src/components/command-palette/command-palette.schema.json +58 -0
  895. package/src/components/command-palette/command-palette.variables.json +1 -0
  896. package/src/components/confirm-dialog/confirm-dialog.schema.json +56 -0
  897. package/src/components/confirm-dialog/confirm-dialog.variables.json +1 -0
  898. package/src/components/container/container.schema.json +140 -0
  899. package/src/components/container/container.variables.json +1 -0
  900. package/src/components/context-menu/context-menu.schema.json +50 -0
  901. package/src/components/context-menu/context-menu.variables.json +1 -0
  902. package/src/components/context-menu-trigger/context-menu-trigger.schema.json +20 -0
  903. package/src/components/context-menu-trigger/context-menu-trigger.variables.json +1 -0
  904. package/src/components/copy-button/copy-button.schema.json +46 -0
  905. package/src/components/copy-button/copy-button.variables.json +1 -0
  906. package/src/components/cta-section/cta-section.schema.json +67 -0
  907. package/src/components/cta-section/cta-section.variables.json +1 -0
  908. package/src/components/data-grid/data-grid.schema.json +106 -0
  909. package/src/components/data-grid/data-grid.variables.json +1 -0
  910. package/src/components/data-list/data-list.schema.json +42 -0
  911. package/src/components/data-list/data-list.variables.json +1 -0
  912. package/src/components/data-table/data-table.schema.json +96 -0
  913. package/src/components/data-table/data-table.variables.json +1 -0
  914. package/src/components/date-picker/date-picker.schema.json +61 -0
  915. package/src/components/date-picker/date-picker.variables.json +1 -0
  916. package/src/components/date-range-field/date-range-field.schema.json +66 -0
  917. package/src/components/date-range-field/date-range-field.variables.json +1 -0
  918. package/src/components/description-list/description-list.schema.json +29 -0
  919. package/src/components/description-list/description-list.variables.json +1 -0
  920. package/src/components/diff-statistics/diff-statistics.schema.json +36 -0
  921. package/src/components/diff-statistics/diff-statistics.variables.json +1 -0
  922. package/src/components/diff-viewer/diff-viewer.schema.json +61 -0
  923. package/src/components/diff-viewer/diff-viewer.variables.json +1 -0
  924. package/src/components/divider/divider.schema.json +31 -0
  925. package/src/components/divider/divider.variables.json +1 -0
  926. package/src/components/drawer/drawer.schema.json +57 -0
  927. package/src/components/drawer/drawer.variables.json +1 -0
  928. package/src/components/dropdown/dropdown.schema.json +35 -0
  929. package/src/components/dropdown/dropdown.variables.json +1 -0
  930. package/src/components/dropdown-group/dropdown-group.schema.json +28 -0
  931. package/src/components/dropdown-group/dropdown-group.variables.json +1 -0
  932. package/src/components/dropdown-item/dropdown-item.schema.json +51 -0
  933. package/src/components/dropdown-item/dropdown-item.variables.json +1 -0
  934. package/src/components/dropdown-label/dropdown-label.schema.json +19 -0
  935. package/src/components/dropdown-label/dropdown-label.variables.json +1 -0
  936. package/src/components/dropdown-menu/dropdown-menu.schema.json +19 -0
  937. package/src/components/dropdown-menu/dropdown-menu.variables.json +1 -0
  938. package/src/components/dropdown-separator/dropdown-separator.schema.json +11 -0
  939. package/src/components/dropdown-separator/dropdown-separator.variables.json +1 -0
  940. package/src/components/dropdown-trigger/dropdown-trigger.schema.json +23 -0
  941. package/src/components/dropdown-trigger/dropdown-trigger.variables.json +1 -0
  942. package/src/components/empty-state/empty-state.schema.json +37 -0
  943. package/src/components/empty-state/empty-state.variables.json +1 -0
  944. package/src/components/event-stream-viewer/event-stream-viewer.schema.json +128 -0
  945. package/src/components/event-stream-viewer/event-stream-viewer.variables.json +1 -0
  946. package/src/components/event-timeline/event-timeline.schema.json +95 -0
  947. package/src/components/event-timeline/event-timeline.variables.json +1 -0
  948. package/src/components/faceted-filter-bar/faceted-filter-bar.schema.json +65 -0
  949. package/src/components/faceted-filter-bar/faceted-filter-bar.variables.json +1 -0
  950. package/src/components/feature-section/feature-section.css +3 -2
  951. package/src/components/feature-section/feature-section.schema.json +82 -0
  952. package/src/components/feature-section/feature-section.variables.json +1 -0
  953. package/src/components/feed/feed.schema.json +25 -0
  954. package/src/components/feed/feed.variables.json +1 -0
  955. package/src/components/feed-event/feed-event.schema.json +43 -0
  956. package/src/components/feed-event/feed-event.variables.json +1 -0
  957. package/src/components/file-upload/file-upload.schema.json +70 -0
  958. package/src/components/file-upload/file-upload.variables.json +6 -0
  959. package/src/components/floating-action-button/floating-action-button.schema.json +44 -0
  960. package/src/components/floating-action-button/floating-action-button.variables.json +1 -0
  961. package/src/components/focus-trap/focus-trap.schema.json +50 -0
  962. package/src/components/focus-trap/focus-trap.variables.json +1 -0
  963. package/src/components/footer/footer.css +2 -1
  964. package/src/components/footer/footer.schema.json +41 -0
  965. package/src/components/footer/footer.variables.json +1 -0
  966. package/src/components/form-field/form-field.schema.json +46 -0
  967. package/src/components/form-field/form-field.variables.json +1 -0
  968. package/src/components/form-section/form-section.schema.json +41 -0
  969. package/src/components/form-section/form-section.variables.json +1 -0
  970. package/src/components/grid/grid.schema.json +53 -0
  971. package/src/components/grid/grid.variables.json +1 -0
  972. package/src/components/grid-item/grid-item.schema.json +80 -0
  973. package/src/components/grid-item/grid-item.variables.json +1 -0
  974. package/src/components/grid-list/grid-list.schema.json +26 -0
  975. package/src/components/grid-list/grid-list.variables.json +1 -0
  976. package/src/components/grid-list-item/grid-list-item.schema.json +60 -0
  977. package/src/components/grid-list-item/grid-list-item.variables.json +1 -0
  978. package/src/components/hero-section/hero-section.css +2 -1
  979. package/src/components/hero-section/hero-section.schema.json +63 -0
  980. package/src/components/hero-section/hero-section.variables.json +1 -0
  981. package/src/components/hover-card/hover-card.schema.json +74 -0
  982. package/src/components/hover-card/hover-card.variables.json +1 -0
  983. package/src/components/image/image.schema.json +64 -0
  984. package/src/components/image/image.variables.json +1 -0
  985. package/src/components/inline-loading/inline-loading.schema.json +29 -0
  986. package/src/components/inline-loading/inline-loading.variables.json +1 -0
  987. package/src/components/input/input.schema.json +75 -0
  988. package/src/components/input/input.variables.json +1 -0
  989. package/src/components/invocation-rule-builder/invocation-rule-builder.schema.json +163 -0
  990. package/src/components/invocation-rule-builder/invocation-rule-builder.variables.json +1 -0
  991. package/src/components/json-schema-editor/json-schema-editor.schema.json +63 -0
  992. package/src/components/json-schema-editor/json-schema-editor.variables.json +1 -0
  993. package/src/components/json-viewer/json-viewer.schema.json +33 -0
  994. package/src/components/json-viewer/json-viewer.variables.json +1 -0
  995. package/src/components/kanban-board/kanban-board.schema.json +64 -0
  996. package/src/components/kanban-board/kanban-board.variables.json +6 -0
  997. package/src/components/kbd/kbd.schema.json +29 -0
  998. package/src/components/kbd/kbd.variables.json +1 -0
  999. package/src/components/keyboard-shortcuts/keyboard-shortcuts.schema.json +30 -0
  1000. package/src/components/keyboard-shortcuts/keyboard-shortcuts.variables.json +1 -0
  1001. package/src/components/label/label.schema.json +35 -0
  1002. package/src/components/label/label.variables.json +1 -0
  1003. package/src/components/line-chart/line-chart.schema.json +139 -0
  1004. package/src/components/line-chart/line-chart.variables.json +1 -0
  1005. package/src/components/link/link.schema.json +61 -0
  1006. package/src/components/link/link.variables.json +1 -0
  1007. package/src/components/load-more/load-more.schema.json +58 -0
  1008. package/src/components/load-more/load-more.variables.json +1 -0
  1009. package/src/components/locale-provider/locale-provider.schema.json +24 -0
  1010. package/src/components/locale-provider/locale-provider.variables.json +1 -0
  1011. package/src/components/logo-cloud/logo-cloud.css +3 -2
  1012. package/src/components/logo-cloud/logo-cloud.schema.json +63 -0
  1013. package/src/components/logo-cloud/logo-cloud.variables.json +1 -0
  1014. package/src/components/markdown-editor/markdown-editor.examples.json +6 -0
  1015. package/src/components/markdown-editor/markdown-editor.schema.json +111 -0
  1016. package/src/components/markdown-editor/markdown-editor.variables.json +1 -0
  1017. package/src/components/marquee/marquee.schema.json +50 -0
  1018. package/src/components/marquee/marquee.variables.json +1 -0
  1019. package/src/components/masonry/masonry.schema.json +34 -0
  1020. package/src/components/masonry/masonry.variables.json +1 -0
  1021. package/src/components/matrix-chart/matrix-chart.schema.json +90 -0
  1022. package/src/components/matrix-chart/matrix-chart.variables.json +1 -0
  1023. package/src/components/media-controls/media-controls.schema.json +68 -0
  1024. package/src/components/media-controls/media-controls.variables.json +1 -0
  1025. package/src/components/mega-menu/mega-menu.schema.json +37 -0
  1026. package/src/components/mega-menu/mega-menu.variables.json +1 -0
  1027. package/src/components/menu-bar/menu-bar.schema.json +32 -0
  1028. package/src/components/menu-bar/menu-bar.variables.json +1 -0
  1029. package/src/components/message/message.schema.json +38 -0
  1030. package/src/components/message/message.variables.json +1 -0
  1031. package/src/components/meter/meter.schema.json +51 -0
  1032. package/src/components/meter/meter.variables.json +1 -0
  1033. package/src/components/modal/modal.schema.json +77 -0
  1034. package/src/components/modal/modal.variables.json +1 -0
  1035. package/src/components/multi-select/multi-select.schema.json +88 -0
  1036. package/src/components/multi-select/multi-select.variables.json +1 -0
  1037. package/src/components/navigation-bar/navigation-bar.css +15 -0
  1038. package/src/components/navigation-bar/navigation-bar.examples.json +1 -1
  1039. package/src/components/navigation-bar/navigation-bar.schema.json +57 -0
  1040. package/src/components/navigation-bar/navigation-bar.variables.json +1 -0
  1041. package/src/components/navigation-item/navigation-item.schema.json +45 -0
  1042. package/src/components/navigation-item/navigation-item.variables.json +1 -0
  1043. package/src/components/newsletter-section/newsletter-section.css +2 -1
  1044. package/src/components/newsletter-section/newsletter-section.schema.json +62 -0
  1045. package/src/components/newsletter-section/newsletter-section.variables.json +1 -0
  1046. package/src/components/number-input/number-input.schema.json +91 -0
  1047. package/src/components/number-input/number-input.variables.json +1 -0
  1048. package/src/components/page-header/page-header.schema.json +29 -0
  1049. package/src/components/page-header/page-header.variables.json +1 -0
  1050. package/src/components/pagination/pagination.examples.json +12 -0
  1051. package/src/components/pagination/pagination.schema.json +33 -0
  1052. package/src/components/pagination/pagination.variables.json +1 -0
  1053. package/src/components/payload-inspector/payload-inspector.schema.json +63 -0
  1054. package/src/components/payload-inspector/payload-inspector.variables.json +1 -0
  1055. package/src/components/permission-matrix/permission-matrix.schema.json +70 -0
  1056. package/src/components/permission-matrix/permission-matrix.variables.json +1 -0
  1057. package/src/components/phone-input/phone-input.schema.json +572 -0
  1058. package/src/components/phone-input/phone-input.variables.json +1 -0
  1059. package/src/components/pin-input/pin-input.schema.json +82 -0
  1060. package/src/components/pin-input/pin-input.variables.json +1 -0
  1061. package/src/components/popover/popover.schema.json +88 -0
  1062. package/src/components/popover/popover.variables.json +1 -0
  1063. package/src/components/portal/portal.schema.json +39 -0
  1064. package/src/components/portal/portal.variables.json +1 -0
  1065. package/src/components/pricing-card/pricing-card.schema.json +50 -0
  1066. package/src/components/pricing-card/pricing-card.variables.json +1 -0
  1067. package/src/components/pricing-section/pricing-section.css +2 -1
  1068. package/src/components/pricing-section/pricing-section.schema.json +82 -0
  1069. package/src/components/pricing-section/pricing-section.variables.json +1 -0
  1070. package/src/components/progress/progress.schema.json +39 -0
  1071. package/src/components/progress/progress.variables.json +1 -0
  1072. package/src/components/qr-code/qr-code.schema.json +36 -0
  1073. package/src/components/qr-code/qr-code.variables.json +1 -0
  1074. package/src/components/radio-group/radio-group.schema.json +54 -0
  1075. package/src/components/radio-group/radio-group.variables.json +1 -0
  1076. package/src/components/rating/rating.schema.json +77 -0
  1077. package/src/components/rating/rating.variables.json +1 -0
  1078. package/src/components/resizable-panels/resizable-panels.schema.json +53 -0
  1079. package/src/components/resizable-panels/resizable-panels.variables.json +1 -0
  1080. package/src/components/review-editor/review-editor.schema.json +83 -0
  1081. package/src/components/review-editor/review-editor.variables.json +1 -0
  1082. package/src/components/run-step-timeline/run-step-timeline.schema.json +429 -0
  1083. package/src/components/run-step-timeline/run-step-timeline.variables.json +1 -0
  1084. package/src/components/schema-form/schema-form.schema.json +39 -0
  1085. package/src/components/schema-form/schema-form.variables.json +1 -0
  1086. package/src/components/scroll-area/scroll-area.schema.json +45 -0
  1087. package/src/components/scroll-area/scroll-area.variables.json +1 -0
  1088. package/src/components/search-field/search-field.schema.json +63 -0
  1089. package/src/components/search-field/search-field.variables.json +1 -0
  1090. package/src/components/secret-value-field/secret-value-field.schema.json +53 -0
  1091. package/src/components/secret-value-field/secret-value-field.variables.json +1 -0
  1092. package/src/components/section-heading/section-heading.schema.json +43 -0
  1093. package/src/components/section-heading/section-heading.variables.json +1 -0
  1094. package/src/components/segment/segment.schema.json +45 -0
  1095. package/src/components/segment/segment.variables.json +1 -0
  1096. package/src/components/segmented-control/segmented-control.schema.json +84 -0
  1097. package/src/components/segmented-control/segmented-control.variables.json +1 -0
  1098. package/src/components/select/select.schema.json +52 -0
  1099. package/src/components/select/select.variables.json +1 -0
  1100. package/src/components/selection-popover/selection-popover.schema.json +50 -0
  1101. package/src/components/selection-popover/selection-popover.variables.json +1 -0
  1102. package/src/components/share-card/share-card.schema.json +55 -0
  1103. package/src/components/share-card/share-card.variables.json +1 -0
  1104. package/src/components/sheet/sheet.schema.json +53 -0
  1105. package/src/components/sheet/sheet.variables.json +1 -0
  1106. package/src/components/shortcut-hint/shortcut-hint.schema.json +37 -0
  1107. package/src/components/shortcut-hint/shortcut-hint.variables.json +1 -0
  1108. package/src/components/side-navigation/side-navigation.schema.json +27 -0
  1109. package/src/components/side-navigation/side-navigation.variables.json +1 -0
  1110. package/src/components/side-navigation-group/side-navigation-group.schema.json +49 -0
  1111. package/src/components/side-navigation-group/side-navigation-group.variables.json +1 -0
  1112. package/src/components/side-navigation-item/side-navigation-item.schema.json +45 -0
  1113. package/src/components/side-navigation-item/side-navigation-item.variables.json +1 -0
  1114. package/src/components/sidebar/sidebar.css +14 -0
  1115. package/src/components/sidebar/sidebar.schema.json +38 -0
  1116. package/src/components/sidebar/sidebar.variables.json +1 -0
  1117. package/src/components/skeleton/skeleton.schema.json +23 -0
  1118. package/src/components/skeleton/skeleton.variables.json +1 -0
  1119. package/src/components/skip-link/skip-link.schema.json +25 -0
  1120. package/src/components/skip-link/skip-link.variables.json +1 -0
  1121. package/src/components/slider/slider.schema.json +82 -0
  1122. package/src/components/slider/slider.variables.json +1 -0
  1123. package/src/components/sortable-list/sortable-list.schema.json +64 -0
  1124. package/src/components/sortable-list/sortable-list.variables.json +1 -0
  1125. package/src/components/source-diff-viewer/source-diff-viewer.css +129 -0
  1126. package/src/components/source-diff-viewer/source-diff-viewer.examples.json +19 -0
  1127. package/src/components/source-diff-viewer/source-diff-viewer.schema.json +36 -0
  1128. package/src/components/source-diff-viewer/source-diff-viewer.variables.json +1 -0
  1129. package/src/components/sparkbar/sparkbar.schema.json +44 -0
  1130. package/src/components/sparkbar/sparkbar.variables.json +1 -0
  1131. package/src/components/spectrogram/spectrogram.schema.json +79 -0
  1132. package/src/components/spectrogram/spectrogram.variables.json +1 -0
  1133. package/src/components/spectrum-chart/spectrum-chart.schema.json +69 -0
  1134. package/src/components/spectrum-chart/spectrum-chart.variables.json +1 -0
  1135. package/src/components/speed-dial/speed-dial.schema.json +46 -0
  1136. package/src/components/speed-dial/speed-dial.variables.json +1 -0
  1137. package/src/components/speed-dial-action/speed-dial-action.schema.json +41 -0
  1138. package/src/components/speed-dial-action/speed-dial-action.variables.json +1 -0
  1139. package/src/components/spinner/spinner.schema.json +21 -0
  1140. package/src/components/spinner/spinner.variables.json +1 -0
  1141. package/src/components/stacked-list-item/stacked-list-item.schema.json +76 -0
  1142. package/src/components/stacked-list-item/stacked-list-item.variables.json +1 -0
  1143. package/src/components/stat/stat.schema.json +50 -0
  1144. package/src/components/stat/stat.variables.json +1 -0
  1145. package/src/components/stat-group/stat-group.schema.json +35 -0
  1146. package/src/components/stat-group/stat-group.variables.json +1 -0
  1147. package/src/components/stats-section/stats-section.schema.json +83 -0
  1148. package/src/components/stats-section/stats-section.variables.json +1 -0
  1149. package/src/components/status-dot/status-dot.schema.json +37 -0
  1150. package/src/components/status-dot/status-dot.variables.json +1 -0
  1151. package/src/components/steps/steps.schema.json +38 -0
  1152. package/src/components/steps/steps.variables.json +1 -0
  1153. package/src/components/surface/surface.schema.json +25 -0
  1154. package/src/components/surface/surface.variables.json +1 -0
  1155. package/src/components/tab/tab.schema.json +39 -0
  1156. package/src/components/tab/tab.variables.json +1 -0
  1157. package/src/components/tab-list/tab-list.schema.json +29 -0
  1158. package/src/components/tab-list/tab-list.variables.json +1 -0
  1159. package/src/components/tab-panel/tab-panel.schema.json +30 -0
  1160. package/src/components/tab-panel/tab-panel.variables.json +1 -0
  1161. package/src/components/table/table.schema.json +42 -0
  1162. package/src/components/table/table.variables.json +1 -0
  1163. package/src/components/table-body/table-body.schema.json +21 -0
  1164. package/src/components/table-body/table-body.variables.json +1 -0
  1165. package/src/components/table-cell/table-cell.schema.json +28 -0
  1166. package/src/components/table-cell/table-cell.variables.json +1 -0
  1167. package/src/components/table-header/table-header.schema.json +38 -0
  1168. package/src/components/table-header/table-header.variables.json +1 -0
  1169. package/src/components/table-header-cell/table-header-cell.schema.json +37 -0
  1170. package/src/components/table-header-cell/table-header-cell.variables.json +1 -0
  1171. package/src/components/table-of-contents/table-of-contents.schema.json +39 -0
  1172. package/src/components/table-of-contents/table-of-contents.variables.json +7 -0
  1173. package/src/components/table-row/table-row.schema.json +37 -0
  1174. package/src/components/table-row/table-row.variables.json +1 -0
  1175. package/src/components/tabs/tabs.css +6 -0
  1176. package/src/components/tabs/tabs.examples.json +6 -0
  1177. package/src/components/tabs/tabs.schema.json +42 -0
  1178. package/src/components/tabs/tabs.variables.json +1 -0
  1179. package/src/components/tag-input/tag-input.schema.json +162 -0
  1180. package/src/components/tag-input/tag-input.variables.json +1 -0
  1181. package/src/components/team-section/team-section.css +2 -1
  1182. package/src/components/team-section/team-section.schema.json +76 -0
  1183. package/src/components/team-section/team-section.variables.json +1 -0
  1184. package/src/components/testimonial-section/testimonial-section.css +2 -1
  1185. package/src/components/testimonial-section/testimonial-section.schema.json +71 -0
  1186. package/src/components/testimonial-section/testimonial-section.variables.json +1 -0
  1187. package/src/components/textarea/textarea.schema.json +58 -0
  1188. package/src/components/textarea/textarea.variables.json +1 -0
  1189. package/src/components/time-field/time-field.schema.json +77 -0
  1190. package/src/components/time-field/time-field.variables.json +1 -0
  1191. package/src/components/timeline/timeline.schema.json +90 -0
  1192. package/src/components/timeline/timeline.variables.json +1 -0
  1193. package/src/components/toast-region/toast-region.schema.json +39 -0
  1194. package/src/components/toast-region/toast-region.variables.json +1 -0
  1195. package/src/components/toggle/toggle.schema.json +53 -0
  1196. package/src/components/toggle/toggle.variables.json +1 -0
  1197. package/src/components/toolbar/toolbar.css +10 -11
  1198. package/src/components/toolbar/toolbar.examples.json +1 -1
  1199. package/src/components/toolbar/toolbar.schema.json +26 -0
  1200. package/src/components/toolbar/toolbar.variables.json +1 -0
  1201. package/src/components/tooltip/tooltip.schema.json +34 -0
  1202. package/src/components/tooltip/tooltip.variables.json +1 -0
  1203. package/src/components/transfer-list/transfer-list.schema.json +61 -0
  1204. package/src/components/transfer-list/transfer-list.variables.json +1 -0
  1205. package/src/components/tree/tree.schema.json +128 -0
  1206. package/src/components/tree/tree.variables.json +5 -0
  1207. package/src/components/tree-item/tree-item.schema.json +68 -0
  1208. package/src/components/tree-item/tree-item.variables.json +1 -0
  1209. package/src/components/typography/typography.schema.json +154 -0
  1210. package/src/components/typography/typography.variables.json +1 -0
  1211. package/src/components/virtual-list/virtual-list.schema.json +53 -0
  1212. package/src/components/virtual-list/virtual-list.variables.json +1 -0
  1213. package/src/components/visually-hidden/visually-hidden.schema.json +131 -0
  1214. package/src/components/visually-hidden/visually-hidden.variables.json +1 -0
  1215. package/src/components/waveform/waveform.schema.json +61 -0
  1216. package/src/components/waveform/waveform.variables.json +1 -0
  1217. package/src/index.ts +34 -37
  1218. package/src/styles/components.css +2 -0
  1219. package/src/styles/foundation.css +39 -0
  1220. package/src/styles/tokens-base.css +149 -0
  1221. package/src/styles/utilities.css +141 -21
  1222. package/dist/server/index-2ynappje.js +0 -388
  1223. package/dist/server/index-d3jpz7nh.js +0 -265
  1224. package/dist/server/index-v5tk8a0j.js +0 -344
  1225. package/dist/server/index.server-0n0h8wsw.js +0 -159
  1226. package/dist/server/index.server-1hrcs2mn.js +0 -55
  1227. package/dist/server/index.server-1q6csb7g.js +0 -62
  1228. package/dist/server/index.server-30s4ajz2.js +0 -3391
  1229. package/dist/server/index.server-37t15r2c.js +0 -9
  1230. package/dist/server/index.server-3jr3n02r.js +0 -1835
  1231. package/dist/server/index.server-3yvf1t1p.js +0 -197
  1232. package/dist/server/index.server-4h5tdvz1.js +0 -271
  1233. package/dist/server/index.server-4xer517a.js +0 -23
  1234. package/dist/server/index.server-51r677ht.js +0 -1035
  1235. package/dist/server/index.server-55x63e57.js +0 -9
  1236. package/dist/server/index.server-5zvh7svb.js +0 -9
  1237. package/dist/server/index.server-65wyd3qb.js +0 -244
  1238. package/dist/server/index.server-70y2sq2g.js +0 -9
  1239. package/dist/server/index.server-76z9qsxq.js +0 -93
  1240. package/dist/server/index.server-7pjefftj.js +0 -102
  1241. package/dist/server/index.server-7yp7j1bw.js +0 -371
  1242. package/dist/server/index.server-8s1t2e2w.js +0 -284
  1243. package/dist/server/index.server-90g4gszd.js +0 -1163
  1244. package/dist/server/index.server-989dxz7z.js +0 -9
  1245. package/dist/server/index.server-9ew3zj1z.js +0 -726
  1246. package/dist/server/index.server-9jqd7bxw.js +0 -117
  1247. package/dist/server/index.server-9zfs8c1b.js +0 -35
  1248. package/dist/server/index.server-9zqmr226.js +0 -117
  1249. package/dist/server/index.server-axf8h1gd.js +0 -161
  1250. package/dist/server/index.server-bt1gy21n.js +0 -100
  1251. package/dist/server/index.server-cpjmf3c9.js +0 -9
  1252. package/dist/server/index.server-dt0ccgbz.js +0 -3839
  1253. package/dist/server/index.server-e5zf44p5.js +0 -9
  1254. package/dist/server/index.server-eabjzvtt.js +0 -9
  1255. package/dist/server/index.server-edr3c033.js +0 -85
  1256. package/dist/server/index.server-eq83dtav.js +0 -195
  1257. package/dist/server/index.server-eqprncaf.js +0 -168
  1258. package/dist/server/index.server-ffcsn4km.js +0 -9
  1259. package/dist/server/index.server-fm19v7bt.js +0 -9
  1260. package/dist/server/index.server-g3qbp906.js +0 -377
  1261. package/dist/server/index.server-ga7e445m.js +0 -56
  1262. package/dist/server/index.server-gdtt4a78.js +0 -143
  1263. package/dist/server/index.server-gyg8tfq3.js +0 -176
  1264. package/dist/server/index.server-h2hjtvk4.js +0 -94
  1265. package/dist/server/index.server-hmqm1t7m.js +0 -222
  1266. package/dist/server/index.server-hrdm71tg.js +0 -194
  1267. package/dist/server/index.server-hybyy2xe.js +0 -177
  1268. package/dist/server/index.server-j3gec8b5.js +0 -393
  1269. package/dist/server/index.server-j89rzjcz.js +0 -9
  1270. package/dist/server/index.server-j8x6mvrh.js +0 -294
  1271. package/dist/server/index.server-jsxtrgrv.js +0 -9
  1272. package/dist/server/index.server-kfcst2vb.js +0 -9
  1273. package/dist/server/index.server-kfshf5nx.js +0 -111
  1274. package/dist/server/index.server-meehv9hp.js +0 -4416
  1275. package/dist/server/index.server-n16wn1ps.js +0 -15643
  1276. package/dist/server/index.server-n4f4tspa.js +0 -9
  1277. package/dist/server/index.server-pfn50743.js +0 -447
  1278. package/dist/server/index.server-pg2vydas.js +0 -190
  1279. package/dist/server/index.server-pm6q0dmn.js +0 -563
  1280. package/dist/server/index.server-pne61vry.js +0 -9
  1281. package/dist/server/index.server-rjgy0mc7.js +0 -1028
  1282. package/dist/server/index.server-rxa52bqt.js +0 -169
  1283. package/dist/server/index.server-sqnbagf9.js +0 -457
  1284. package/dist/server/index.server-svgs2fzj.js +0 -2309
  1285. package/dist/server/index.server-szrtfkbm.js +0 -31
  1286. package/dist/server/index.server-tgmm7xgc.js +0 -83
  1287. package/dist/server/index.server-v38m2bgg.js +0 -75
  1288. package/dist/server/index.server-v41vrqg7.js +0 -76
  1289. package/dist/server/index.server-vbn6z472.js +0 -291
  1290. package/dist/server/index.server-vdpcpdqc.js +0 -126
  1291. package/dist/server/index.server-vy5csx7j.js +0 -153
  1292. package/dist/server/index.server-w0y2bxb7.js +0 -72
  1293. package/dist/server/index.server-w7cxxf03.js +0 -9
  1294. package/dist/server/index.server-w8y3eqhp.js +0 -84
  1295. package/dist/server/index.server-wckvcay0.js +0 -50
  1296. package/dist/server/index.server-yg55jew8.js +0 -162
  1297. package/src/components/_internal/command-list-context.ts +0 -79
  1298. package/src/components/_internal/create-command-list-state.svelte.ts +0 -171
  1299. package/src/components/_internal/create-sliding-dialog-state.svelte.ts +0 -170
  1300. package/src/components/_internal/side-navigation-group-context.ts +0 -48
  1301. package/src/components/_radio/index.ts +0 -6
  1302. package/src/components/_radio/radio.svelte +0 -93
  1303. package/src/components/_radio/radio.types.ts +0 -27
  1304. package/src/components/_sortable-item.svelte +0 -587
  1305. package/src/components/_timeline-item/index.ts +0 -5
  1306. package/src/components/_timeline-item/timeline-item.svelte +0 -76
  1307. package/src/components/_timeline-item/timeline-item.types.ts +0 -51
  1308. package/src/components/_tree-expand-all/index.ts +0 -5
  1309. package/src/components/_tree-expand-all/tree-expand-all.svelte +0 -83
  1310. package/src/components/_tree-expand-all/tree-expand-all.types.ts +0 -15
  1311. package/src/components/_tree-select-all/index.ts +0 -5
  1312. package/src/components/_tree-select-all/tree-select-all.svelte +0 -68
  1313. package/src/components/_tree-select-all/tree-select-all.types.ts +0 -15
  1314. package/src/components/_visually-hidden-live-region.svelte +0 -120
  1315. package/src/components/access-gate/access-gate-inline.svelte +0 -417
  1316. package/src/components/access-gate/access-gate.svelte +0 -92
  1317. package/src/components/access-gate/access-gate.types.ts +0 -46
  1318. package/src/components/access-gate/index.ts +0 -6
  1319. package/src/components/accordion/accordion.context.ts +0 -16
  1320. package/src/components/accordion/accordion.svelte +0 -66
  1321. package/src/components/accordion/accordion.types.ts +0 -37
  1322. package/src/components/accordion/index.ts +0 -16
  1323. package/src/components/accordion-item/accordion-item.svelte +0 -77
  1324. package/src/components/accordion-item/accordion-item.types.ts +0 -33
  1325. package/src/components/accordion-item/index.ts +0 -6
  1326. package/src/components/alert/alert.svelte +0 -158
  1327. package/src/components/alert/alert.types.ts +0 -58
  1328. package/src/components/alert/index.ts +0 -6
  1329. package/src/components/alert-dialog/alert-dialog.svelte +0 -80
  1330. package/src/components/alert-dialog/alert-dialog.types.ts +0 -19
  1331. package/src/components/alert-dialog/index.ts +0 -6
  1332. package/src/components/approval-card/approval-card-state.ts +0 -24
  1333. package/src/components/approval-card/approval-card.svelte +0 -583
  1334. package/src/components/approval-card/approval-card.types.ts +0 -180
  1335. package/src/components/approval-card/index.ts +0 -16
  1336. package/src/components/area-chart/area-chart.svelte +0 -410
  1337. package/src/components/area-chart/area-chart.types.ts +0 -61
  1338. package/src/components/area-chart/index.ts +0 -6
  1339. package/src/components/aspect-ratio/aspect-ratio.svelte +0 -53
  1340. package/src/components/aspect-ratio/aspect-ratio.types.ts +0 -53
  1341. package/src/components/aspect-ratio/index.ts +0 -10
  1342. package/src/components/autocomplete/autocomplete.svelte +0 -563
  1343. package/src/components/autocomplete/autocomplete.types.ts +0 -74
  1344. package/src/components/autocomplete/index.ts +0 -11
  1345. package/src/components/avatar/avatar.svelte +0 -73
  1346. package/src/components/avatar/avatar.types.ts +0 -33
  1347. package/src/components/avatar/index.ts +0 -6
  1348. package/src/components/avatar-group/avatar-group.svelte +0 -195
  1349. package/src/components/avatar-group/avatar-group.types.ts +0 -97
  1350. package/src/components/avatar-group/index.ts +0 -6
  1351. package/src/components/backdrop/backdrop.svelte +0 -105
  1352. package/src/components/backdrop/backdrop.types.ts +0 -30
  1353. package/src/components/backdrop/index.ts +0 -6
  1354. package/src/components/badge/badge.svelte +0 -118
  1355. package/src/components/badge/badge.types.ts +0 -67
  1356. package/src/components/badge/index.ts +0 -6
  1357. package/src/components/banner/banner.svelte +0 -156
  1358. package/src/components/banner/banner.types.ts +0 -46
  1359. package/src/components/banner/index.ts +0 -6
  1360. package/src/components/bar-chart/bar-chart.svelte +0 -426
  1361. package/src/components/bar-chart/bar-chart.types.ts +0 -62
  1362. package/src/components/bar-chart/index.ts +0 -6
  1363. package/src/components/bento-cell/bento-cell.svelte +0 -62
  1364. package/src/components/bento-cell/bento-cell.types.ts +0 -24
  1365. package/src/components/bento-cell/index.ts +0 -6
  1366. package/src/components/bento-grid/bento-grid.svelte +0 -104
  1367. package/src/components/bento-grid/bento-grid.types.ts +0 -33
  1368. package/src/components/bento-grid/index.ts +0 -12
  1369. package/src/components/blog-section/blog-section.svelte +0 -107
  1370. package/src/components/blog-section/blog-section.types.ts +0 -59
  1371. package/src/components/blog-section/index.ts +0 -6
  1372. package/src/components/breadcrumbs/breadcrumbs.svelte +0 -51
  1373. package/src/components/breadcrumbs/breadcrumbs.types.ts +0 -43
  1374. package/src/components/breadcrumbs/index.ts +0 -6
  1375. package/src/components/button/button.constraints.ts +0 -102
  1376. package/src/components/button/button.svelte +0 -249
  1377. package/src/components/button/button.types.ts +0 -120
  1378. package/src/components/button/index.ts +0 -6
  1379. package/src/components/button-group/button-group.svelte +0 -127
  1380. package/src/components/button-group/button-group.types.ts +0 -34
  1381. package/src/components/button-group/index.ts +0 -6
  1382. package/src/components/calendar/calendar.svelte +0 -373
  1383. package/src/components/calendar/calendar.types.ts +0 -31
  1384. package/src/components/calendar/index.ts +0 -6
  1385. package/src/components/callout/callout.svelte +0 -85
  1386. package/src/components/callout/callout.types.ts +0 -80
  1387. package/src/components/callout/index.ts +0 -6
  1388. package/src/components/capability-gate/capability-gate.svelte +0 -186
  1389. package/src/components/capability-gate/capability-gate.types.ts +0 -83
  1390. package/src/components/capability-gate/index.ts +0 -10
  1391. package/src/components/card/card.svelte +0 -83
  1392. package/src/components/card/card.types.ts +0 -55
  1393. package/src/components/card/index.ts +0 -6
  1394. package/src/components/carousel/carousel.svelte +0 -255
  1395. package/src/components/carousel/carousel.types.ts +0 -47
  1396. package/src/components/carousel/index.ts +0 -11
  1397. package/src/components/chart.types.ts +0 -116
  1398. package/src/components/chat/adapter/chat-adapter.ts +0 -132
  1399. package/src/components/chat/adapter/index.ts +0 -15
  1400. package/src/components/chat/artifact/artifact-panel.svelte +0 -127
  1401. package/src/components/chat/artifact/artifact-viewer.svelte +0 -110
  1402. package/src/components/chat/artifact/chat-artifact-layout.svelte +0 -85
  1403. package/src/components/chat/artifact/index.ts +0 -3
  1404. package/src/components/chat/builders.ts +0 -33
  1405. package/src/components/chat/chat.svelte +0 -71
  1406. package/src/components/chat/chat.types.ts +0 -246
  1407. package/src/components/chat/container/chat-events.ts +0 -26
  1408. package/src/components/chat/container/chat-history-trigger.svelte +0 -115
  1409. package/src/components/chat/container/chat-jump-controls.svelte +0 -220
  1410. package/src/components/chat/container/chat-participant-typing.svelte +0 -156
  1411. package/src/components/chat/container/chat-search-bar.svelte +0 -266
  1412. package/src/components/chat/container/chat-status-announcer.svelte +0 -40
  1413. package/src/components/chat/container/chat.svelte +0 -2102
  1414. package/src/components/chat/container/index.ts +0 -64
  1415. package/src/components/chat/container/scroll-utilities.ts +0 -204
  1416. package/src/components/chat/container/use-chat-disclosure-state.svelte.ts +0 -96
  1417. package/src/components/chat/container/use-chat-keyboard-nav.svelte.ts +0 -203
  1418. package/src/components/chat/container/use-chat-message-groups.svelte.ts +0 -237
  1419. package/src/components/chat/container/use-chat-read-receipts.svelte.ts +0 -103
  1420. package/src/components/chat/container/use-chat-scroll-state.svelte.ts +0 -417
  1421. package/src/components/chat/container/use-chat-search.svelte.ts +0 -178
  1422. package/src/components/chat/container/use-chat-typing-indicator.svelte.ts +0 -200
  1423. package/src/components/chat/container/use-chat-unread-state.svelte.ts +0 -247
  1424. package/src/components/chat/container/use-chat-virtualizer.svelte.ts +0 -328
  1425. package/src/components/chat/conversation-model.ts +0 -44
  1426. package/src/components/chat/export/conversation-export-actions.svelte +0 -202
  1427. package/src/components/chat/export/index.ts +0 -9
  1428. package/src/components/chat/index.ts +0 -125
  1429. package/src/components/chat/input/attachment-kind.ts +0 -28
  1430. package/src/components/chat/input/chat-attachment-preview.svelte +0 -231
  1431. package/src/components/chat/input/chat-attachment.ts +0 -12
  1432. package/src/components/chat/input/chat-input.svelte +0 -938
  1433. package/src/components/chat/input/index.ts +0 -4
  1434. package/src/components/chat/message/chat-date-separator.svelte +0 -106
  1435. package/src/components/chat/message/chat-message-parts-renderer.svelte +0 -153
  1436. package/src/components/chat/message/chat-message-parts.ts +0 -163
  1437. package/src/components/chat/message/chat-message.svelte +0 -992
  1438. package/src/components/chat/message/chat-read-receipt.svelte +0 -115
  1439. package/src/components/chat/message/image-lightbox.svelte +0 -283
  1440. package/src/components/chat/message/index.ts +0 -6
  1441. package/src/components/chat/message/markdown-preview.svelte +0 -84
  1442. package/src/components/chat/message/message-attachments.svelte +0 -209
  1443. package/src/components/chat/message/message-content.svelte +0 -163
  1444. package/src/components/chat/message/parts/image-part.svelte +0 -27
  1445. package/src/components/chat/message/parts/markdown-part.svelte +0 -23
  1446. package/src/components/chat/message/parts/reasoning-part.svelte +0 -288
  1447. package/src/components/chat/message/parts/step-part.svelte +0 -134
  1448. package/src/components/chat/message/parts/suggestion-part.svelte +0 -99
  1449. package/src/components/chat/message/parts/tool-approval-part.svelte +0 -317
  1450. package/src/components/chat/message/parts/tool-call-part.svelte +0 -31
  1451. package/src/components/chat/message/parts/tool-result-part.svelte +0 -74
  1452. package/src/components/chat/message/tool-call-group.svelte +0 -303
  1453. package/src/components/chat/message/tool-payload-code.svelte +0 -76
  1454. package/src/components/chat/utilities/conversation.ts +0 -26
  1455. package/src/components/chat/utilities/index.ts +0 -33
  1456. package/src/components/chat/utilities/types.ts +0 -288
  1457. package/src/components/chat/utilities/utilities.ts +0 -507
  1458. package/src/components/chat-conversation-header/chat-conversation-header.svelte +0 -83
  1459. package/src/components/chat-conversation-header/chat-conversation-header.types.ts +0 -20
  1460. package/src/components/chat-conversation-header/index.ts +0 -9
  1461. package/src/components/chat-conversation-list/chat-conversation-list.svelte +0 -110
  1462. package/src/components/chat-conversation-list/chat-conversation-list.types.ts +0 -18
  1463. package/src/components/chat-conversation-list/conversation-summary.ts +0 -88
  1464. package/src/components/chat-conversation-list/index.ts +0 -11
  1465. package/src/components/checkbox/checkbox.svelte +0 -164
  1466. package/src/components/checkbox/checkbox.types.ts +0 -37
  1467. package/src/components/checkbox/index.ts +0 -6
  1468. package/src/components/checkbox-group/checkbox-group.svelte +0 -101
  1469. package/src/components/checkbox-group/checkbox-group.types.ts +0 -58
  1470. package/src/components/checkbox-group/index.ts +0 -6
  1471. package/src/components/chip/chip.svelte +0 -194
  1472. package/src/components/chip/chip.types.ts +0 -89
  1473. package/src/components/chip/index.ts +0 -15
  1474. package/src/components/choice-grid/choice-grid-context.ts +0 -30
  1475. package/src/components/choice-grid/choice-grid.svelte +0 -272
  1476. package/src/components/choice-grid/choice-grid.types.ts +0 -152
  1477. package/src/components/choice-grid/index.ts +0 -22
  1478. package/src/components/choice-grid-item/choice-grid-item.svelte +0 -139
  1479. package/src/components/choice-grid-item/choice-grid-item.types.ts +0 -30
  1480. package/src/components/choice-grid-item/index.ts +0 -6
  1481. package/src/components/click-away-listener/click-away-listener.svelte +0 -76
  1482. package/src/components/click-away-listener/click-away-listener.types.ts +0 -28
  1483. package/src/components/click-away-listener/index.ts +0 -5
  1484. package/src/components/code-block/code-block-default-highlighter.ts +0 -63
  1485. package/src/components/code-block/code-block.svelte +0 -141
  1486. package/src/components/code-block/code-block.types.ts +0 -54
  1487. package/src/components/code-block/index.ts +0 -6
  1488. package/src/components/collapsible/collapsible-bindable-harness.svelte +0 -19
  1489. package/src/components/collapsible/collapsible-open-prop-harness.svelte +0 -19
  1490. package/src/components/collapsible/collapsible-snippet-trigger-harness.svelte +0 -16
  1491. package/src/components/collapsible/collapsible.svelte +0 -122
  1492. package/src/components/collapsible/collapsible.types.ts +0 -75
  1493. package/src/components/collapsible/index.ts +0 -6
  1494. package/src/components/color-field/color-field.svelte +0 -446
  1495. package/src/components/color-field/color-field.types.ts +0 -60
  1496. package/src/components/color-field/index.ts +0 -6
  1497. package/src/components/color-picker/color-picker.svelte +0 -679
  1498. package/src/components/color-picker/color-picker.types.ts +0 -27
  1499. package/src/components/color-picker/index.ts +0 -6
  1500. package/src/components/color-swatch-picker/color-swatch-picker.svelte +0 -211
  1501. package/src/components/color-swatch-picker/color-swatch-picker.types.ts +0 -55
  1502. package/src/components/color-swatch-picker/index.ts +0 -6
  1503. package/src/components/combobox/combobox.svelte +0 -411
  1504. package/src/components/combobox/combobox.types.ts +0 -80
  1505. package/src/components/combobox/index.ts +0 -6
  1506. package/src/components/command-item/command-item.svelte +0 -144
  1507. package/src/components/command-item/command-item.types.ts +0 -42
  1508. package/src/components/command-item/index.ts +0 -6
  1509. package/src/components/command-menu/caret-rect.svelte.ts +0 -93
  1510. package/src/components/command-menu/command-menu-trigger.ts +0 -41
  1511. package/src/components/command-menu/command-menu.svelte +0 -179
  1512. package/src/components/command-menu/command-menu.types.ts +0 -49
  1513. package/src/components/command-menu/index.ts +0 -12
  1514. package/src/components/command-palette/command-palette.svelte +0 -237
  1515. package/src/components/command-palette/command-palette.types.ts +0 -30
  1516. package/src/components/command-palette/index.ts +0 -6
  1517. package/src/components/confirm-dialog/confirm-dialog.svelte +0 -72
  1518. package/src/components/confirm-dialog/confirm-dialog.types.ts +0 -52
  1519. package/src/components/confirm-dialog/index.ts +0 -6
  1520. package/src/components/container/container.svelte +0 -41
  1521. package/src/components/container/container.types.ts +0 -54
  1522. package/src/components/container/index.ts +0 -6
  1523. package/src/components/context-menu/context-menu.context.ts +0 -22
  1524. package/src/components/context-menu/context-menu.svelte +0 -219
  1525. package/src/components/context-menu/context-menu.types.ts +0 -24
  1526. package/src/components/context-menu/index.ts +0 -21
  1527. package/src/components/context-menu-trigger/context-menu-trigger.svelte +0 -183
  1528. package/src/components/context-menu-trigger/context-menu-trigger.types.ts +0 -8
  1529. package/src/components/context-menu-trigger/index.ts +0 -5
  1530. package/src/components/copy-button/__test-helpers__/copy-state-wrapper.svelte +0 -30
  1531. package/src/components/copy-button/copy-button.svelte +0 -104
  1532. package/src/components/copy-button/copy-button.types.ts +0 -49
  1533. package/src/components/copy-button/index.ts +0 -6
  1534. package/src/components/copy-button/use-copy-state.svelte.ts +0 -101
  1535. package/src/components/cta-section/cta-section.svelte +0 -67
  1536. package/src/components/cta-section/cta-section.types.ts +0 -55
  1537. package/src/components/cta-section/index.ts +0 -6
  1538. package/src/components/data-grid/_internal/column-model.svelte.ts +0 -220
  1539. package/src/components/data-grid/_internal/geometry.ts +0 -87
  1540. package/src/components/data-grid/_internal/keyboard-model.ts +0 -131
  1541. package/src/components/data-grid/_internal/selection-model.svelte.ts +0 -168
  1542. package/src/components/data-grid/_internal/sort-model.ts +0 -134
  1543. package/src/components/data-grid/_internal/virtualization-adapter.svelte.ts +0 -505
  1544. package/src/components/data-grid/data-grid-selection-bind-probe.ts +0 -15
  1545. package/src/components/data-grid/data-grid.svelte +0 -1030
  1546. package/src/components/data-grid/data-grid.types.ts +0 -124
  1547. package/src/components/data-grid/index.ts +0 -16
  1548. package/src/components/data-list/data-list.svelte +0 -60
  1549. package/src/components/data-list/data-list.types.ts +0 -53
  1550. package/src/components/data-list/index.ts +0 -6
  1551. package/src/components/data-table/data-table.svelte +0 -560
  1552. package/src/components/data-table/data-table.types.ts +0 -150
  1553. package/src/components/data-table/index.ts +0 -11
  1554. package/src/components/date-picker/date-picker.svelte +0 -243
  1555. package/src/components/date-picker/date-picker.types.ts +0 -33
  1556. package/src/components/date-picker/index.ts +0 -6
  1557. package/src/components/date-range-field/date-range-field.svelte +0 -403
  1558. package/src/components/date-range-field/date-range-field.types.ts +0 -84
  1559. package/src/components/date-range-field/index.ts +0 -11
  1560. package/src/components/description-list/description-list.svelte +0 -89
  1561. package/src/components/description-list/description-list.types.ts +0 -37
  1562. package/src/components/description-list/index.ts +0 -11
  1563. package/src/components/diff-statistics/diff-statistics.svelte +0 -111
  1564. package/src/components/diff-statistics/diff-statistics.types.ts +0 -32
  1565. package/src/components/diff-statistics/index.ts +0 -10
  1566. package/src/components/diff-viewer/diff-controller.svelte.ts +0 -314
  1567. package/src/components/diff-viewer/diff-front-matter.svelte +0 -89
  1568. package/src/components/diff-viewer/diff-line.svelte +0 -366
  1569. package/src/components/diff-viewer/diff-summary-bar.svelte +0 -125
  1570. package/src/components/diff-viewer/diff-toolbar.svelte +0 -233
  1571. package/src/components/diff-viewer/diff-viewer.svelte +0 -487
  1572. package/src/components/diff-viewer/diff-viewer.types.ts +0 -56
  1573. package/src/components/diff-viewer/front-matter-header.svelte +0 -178
  1574. package/src/components/diff-viewer/index.ts +0 -5
  1575. package/src/components/divider/divider.svelte +0 -78
  1576. package/src/components/divider/divider.types.ts +0 -75
  1577. package/src/components/divider/index.ts +0 -6
  1578. package/src/components/drawer/drawer.svelte +0 -197
  1579. package/src/components/drawer/drawer.types.ts +0 -52
  1580. package/src/components/drawer/index.ts +0 -6
  1581. package/src/components/dropdown/dropdown.context.ts +0 -23
  1582. package/src/components/dropdown/dropdown.svelte +0 -257
  1583. package/src/components/dropdown/dropdown.types.ts +0 -48
  1584. package/src/components/dropdown/index.ts +0 -32
  1585. package/src/components/dropdown-group/dropdown-group.svelte +0 -74
  1586. package/src/components/dropdown-group/dropdown-group.types.ts +0 -26
  1587. package/src/components/dropdown-group/index.ts +0 -5
  1588. package/src/components/dropdown-item/dropdown-item.svelte +0 -166
  1589. package/src/components/dropdown-item/dropdown-item.types.ts +0 -75
  1590. package/src/components/dropdown-item/index.ts +0 -10
  1591. package/src/components/dropdown-label/dropdown-label.svelte +0 -31
  1592. package/src/components/dropdown-label/dropdown-label.types.ts +0 -7
  1593. package/src/components/dropdown-label/index.ts +0 -5
  1594. package/src/components/dropdown-menu/dropdown-menu.svelte +0 -230
  1595. package/src/components/dropdown-menu/dropdown-menu.types.ts +0 -7
  1596. package/src/components/dropdown-menu/index.ts +0 -5
  1597. package/src/components/dropdown-separator/dropdown-separator.svelte +0 -33
  1598. package/src/components/dropdown-separator/dropdown-separator.types.ts +0 -5
  1599. package/src/components/dropdown-separator/index.ts +0 -5
  1600. package/src/components/dropdown-trigger/dropdown-trigger.svelte +0 -90
  1601. package/src/components/dropdown-trigger/dropdown-trigger.types.ts +0 -9
  1602. package/src/components/dropdown-trigger/index.ts +0 -5
  1603. package/src/components/empty-state/empty-state.svelte +0 -68
  1604. package/src/components/empty-state/empty-state.types.ts +0 -18
  1605. package/src/components/empty-state/index.ts +0 -6
  1606. package/src/components/event-stream-viewer/event-stream-viewer-keys.ts +0 -74
  1607. package/src/components/event-stream-viewer/event-stream-viewer.svelte +0 -491
  1608. package/src/components/event-stream-viewer/event-stream-viewer.types.ts +0 -212
  1609. package/src/components/event-stream-viewer/index.ts +0 -17
  1610. package/src/components/event-timeline/event-timeline.svelte +0 -199
  1611. package/src/components/event-timeline/event-timeline.types.ts +0 -80
  1612. package/src/components/event-timeline/index.ts +0 -12
  1613. package/src/components/experimental/json-viewer/index.ts +0 -19
  1614. package/src/components/experimental/message/index.ts +0 -19
  1615. package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +0 -219
  1616. package/src/components/faceted-filter-bar/faceted-filter-bar.types.ts +0 -98
  1617. package/src/components/faceted-filter-bar/index.ts +0 -13
  1618. package/src/components/feature-section/feature-section.svelte +0 -88
  1619. package/src/components/feature-section/feature-section.types.ts +0 -63
  1620. package/src/components/feature-section/index.ts +0 -11
  1621. package/src/components/feed/feed.svelte +0 -30
  1622. package/src/components/feed/feed.types.ts +0 -15
  1623. package/src/components/feed/index.ts +0 -16
  1624. package/src/components/feed-event/feed-event.svelte +0 -51
  1625. package/src/components/feed-event/feed-event.types.ts +0 -58
  1626. package/src/components/feed-event/index.ts +0 -5
  1627. package/src/components/file-upload/file-upload.svelte +0 -433
  1628. package/src/components/file-upload/file-upload.types.ts +0 -60
  1629. package/src/components/file-upload/index.ts +0 -12
  1630. package/src/components/floating-action-button/floating-action-button.svelte +0 -145
  1631. package/src/components/floating-action-button/floating-action-button.types.ts +0 -100
  1632. package/src/components/floating-action-button/index.ts +0 -11
  1633. package/src/components/focus-trap/focus-trap.svelte +0 -45
  1634. package/src/components/focus-trap/focus-trap.types.ts +0 -28
  1635. package/src/components/focus-trap/focus-trap.utilities.svelte.ts +0 -297
  1636. package/src/components/focus-trap/index.ts +0 -6
  1637. package/src/components/footer/footer.svelte +0 -79
  1638. package/src/components/footer/footer.types.ts +0 -30
  1639. package/src/components/footer/index.ts +0 -6
  1640. package/src/components/form-field/form-field.svelte +0 -98
  1641. package/src/components/form-field/form-field.types.ts +0 -19
  1642. package/src/components/form-field/index.ts +0 -6
  1643. package/src/components/form-section/form-section.svelte +0 -80
  1644. package/src/components/form-section/form-section.types.ts +0 -34
  1645. package/src/components/form-section/index.ts +0 -6
  1646. package/src/components/grid/grid.svelte +0 -62
  1647. package/src/components/grid/grid.types.ts +0 -31
  1648. package/src/components/grid/index.ts +0 -17
  1649. package/src/components/grid-item/grid-item.svelte +0 -55
  1650. package/src/components/grid-item/grid-item.types.ts +0 -22
  1651. package/src/components/grid-item/index.ts +0 -5
  1652. package/src/components/grid-list/grid-list.svelte +0 -36
  1653. package/src/components/grid-list/grid-list.types.ts +0 -15
  1654. package/src/components/grid-list/index.ts +0 -16
  1655. package/src/components/grid-list-item/grid-list-item.svelte +0 -81
  1656. package/src/components/grid-list-item/grid-list-item.types.ts +0 -53
  1657. package/src/components/grid-list-item/index.ts +0 -5
  1658. package/src/components/hero-section/hero-section.svelte +0 -81
  1659. package/src/components/hero-section/hero-section.types.ts +0 -51
  1660. package/src/components/hero-section/index.ts +0 -10
  1661. package/src/components/hover-card/hover-card.svelte +0 -256
  1662. package/src/components/hover-card/hover-card.types.ts +0 -38
  1663. package/src/components/hover-card/index.ts +0 -6
  1664. package/src/components/icons/index.ts +0 -47
  1665. package/src/components/image/image.svelte +0 -116
  1666. package/src/components/image/image.types.ts +0 -58
  1667. package/src/components/image/index.ts +0 -6
  1668. package/src/components/inline-loading/index.ts +0 -6
  1669. package/src/components/inline-loading/inline-loading.svelte +0 -139
  1670. package/src/components/inline-loading/inline-loading.types.ts +0 -41
  1671. package/src/components/input/index.ts +0 -6
  1672. package/src/components/input/input.constraints.ts +0 -58
  1673. package/src/components/input/input.svelte +0 -214
  1674. package/src/components/input/input.types.ts +0 -62
  1675. package/src/components/invocation-rule-builder/index.ts +0 -14
  1676. package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +0 -602
  1677. package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +0 -235
  1678. package/src/components/json-schema-editor/composition-branch-keys.ts +0 -35
  1679. package/src/components/json-schema-editor/diff-view.svelte +0 -45
  1680. package/src/components/json-schema-editor/form-view.svelte +0 -59
  1681. package/src/components/json-schema-editor/index.ts +0 -19
  1682. package/src/components/json-schema-editor/json-schema-editor-impl.svelte +0 -268
  1683. package/src/components/json-schema-editor/json-schema-editor-state.svelte.ts +0 -495
  1684. package/src/components/json-schema-editor/json-schema-editor-state.types.ts +0 -21
  1685. package/src/components/json-schema-editor/json-schema-editor-types.ts +0 -110
  1686. package/src/components/json-schema-editor/json-schema-editor.svelte +0 -40
  1687. package/src/components/json-schema-editor/json-schema-editor.types.ts +0 -47
  1688. package/src/components/json-schema-editor/json-schema-toolbar.svelte +0 -204
  1689. package/src/components/json-schema-editor/json-schema-validator.ts +0 -345
  1690. package/src/components/json-schema-editor/json-view.svelte +0 -80
  1691. package/src/components/json-schema-editor/property-editor.svelte +0 -630
  1692. package/src/components/json-schema-editor/property-list-validation.ts +0 -10
  1693. package/src/components/json-schema-editor/property-list.svelte +0 -341
  1694. package/src/components/json-viewer/_json-viewer-node.svelte +0 -161
  1695. package/src/components/json-viewer/index.ts +0 -6
  1696. package/src/components/json-viewer/json-viewer.svelte +0 -134
  1697. package/src/components/json-viewer/json-viewer.types.ts +0 -25
  1698. package/src/components/kanban-board/index.ts +0 -15
  1699. package/src/components/kanban-board/kanban-board-helpers.ts +0 -210
  1700. package/src/components/kanban-board/kanban-board.svelte +0 -691
  1701. package/src/components/kanban-board/kanban-board.types.ts +0 -75
  1702. package/src/components/kbd/index.ts +0 -6
  1703. package/src/components/kbd/kbd.svelte +0 -27
  1704. package/src/components/kbd/kbd.types.ts +0 -46
  1705. package/src/components/keyboard-shortcuts/index.ts +0 -10
  1706. package/src/components/keyboard-shortcuts/keyboard-shortcuts.svelte +0 -91
  1707. package/src/components/keyboard-shortcuts/keyboard-shortcuts.types.ts +0 -46
  1708. package/src/components/label/index.ts +0 -6
  1709. package/src/components/label/label.svelte +0 -44
  1710. package/src/components/label/label.types.ts +0 -22
  1711. package/src/components/line-chart/index.ts +0 -6
  1712. package/src/components/line-chart/line-chart.svelte +0 -423
  1713. package/src/components/line-chart/line-chart.types.ts +0 -56
  1714. package/src/components/link/index.ts +0 -6
  1715. package/src/components/link/link.svelte +0 -115
  1716. package/src/components/link/link.types.ts +0 -69
  1717. package/src/components/load-more/index.ts +0 -6
  1718. package/src/components/load-more/load-more.svelte +0 -135
  1719. package/src/components/load-more/load-more.types.ts +0 -29
  1720. package/src/components/locale-provider/index.ts +0 -5
  1721. package/src/components/locale-provider/locale-provider.svelte +0 -40
  1722. package/src/components/locale-provider/locale-provider.types.ts +0 -21
  1723. package/src/components/logo-cloud/index.ts +0 -6
  1724. package/src/components/logo-cloud/logo-cloud.svelte +0 -76
  1725. package/src/components/logo-cloud/logo-cloud.types.ts +0 -51
  1726. package/src/components/markdown-editor/editor-skeleton.svelte +0 -95
  1727. package/src/components/markdown-editor/editor-toolbar/editor-toolbar.svelte +0 -385
  1728. package/src/components/markdown-editor/editor-toolbar/index.ts +0 -18
  1729. package/src/components/markdown-editor/editor-toolbar/link-popover.svelte +0 -366
  1730. package/src/components/markdown-editor/editor-toolbar/toolbar-button.svelte +0 -125
  1731. package/src/components/markdown-editor/editor-toolbar/toolbar-dropdown.svelte +0 -139
  1732. package/src/components/markdown-editor/editor-toolbar/toolbar-separator.svelte +0 -35
  1733. package/src/components/markdown-editor/editor-toolbar/types.ts +0 -15
  1734. package/src/components/markdown-editor/index.ts +0 -10
  1735. package/src/components/markdown-editor/markdown-editor.svelte +0 -970
  1736. package/src/components/markdown-editor/markdown-editor.types.ts +0 -124
  1737. package/src/components/marquee/index.ts +0 -6
  1738. package/src/components/marquee/marquee.svelte +0 -268
  1739. package/src/components/marquee/marquee.types.ts +0 -44
  1740. package/src/components/masonry/index.ts +0 -6
  1741. package/src/components/masonry/masonry.svelte +0 -39
  1742. package/src/components/masonry/masonry.types.ts +0 -38
  1743. package/src/components/matrix-chart/index.ts +0 -10
  1744. package/src/components/matrix-chart/matrix-chart.svelte +0 -340
  1745. package/src/components/matrix-chart/matrix-chart.types.ts +0 -69
  1746. package/src/components/media-controls/index.ts +0 -6
  1747. package/src/components/media-controls/media-controls.svelte +0 -238
  1748. package/src/components/media-controls/media-controls.types.ts +0 -83
  1749. package/src/components/mega-menu/index.ts +0 -11
  1750. package/src/components/mega-menu/mega-menu.svelte +0 -415
  1751. package/src/components/mega-menu/mega-menu.types.ts +0 -48
  1752. package/src/components/menu-bar/index.ts +0 -16
  1753. package/src/components/menu-bar/menu-bar-dropdown-context.svelte +0 -31
  1754. package/src/components/menu-bar/menu-bar.svelte +0 -873
  1755. package/src/components/menu-bar/menu-bar.types.ts +0 -73
  1756. package/src/components/message/index.ts +0 -6
  1757. package/src/components/message/message.svelte +0 -60
  1758. package/src/components/message/message.types.ts +0 -31
  1759. package/src/components/meter/index.ts +0 -6
  1760. package/src/components/meter/meter.svelte +0 -203
  1761. package/src/components/meter/meter.types.ts +0 -50
  1762. package/src/components/modal/index.ts +0 -6
  1763. package/src/components/modal/modal.constraints.ts +0 -72
  1764. package/src/components/modal/modal.svelte +0 -270
  1765. package/src/components/modal/modal.types.ts +0 -41
  1766. package/src/components/multi-select/index.ts +0 -11
  1767. package/src/components/multi-select/multi-select.svelte +0 -577
  1768. package/src/components/multi-select/multi-select.types.ts +0 -53
  1769. package/src/components/navigation-bar/index.ts +0 -13
  1770. package/src/components/navigation-bar/navigation-bar.svelte +0 -255
  1771. package/src/components/navigation-bar/navigation-bar.types.ts +0 -46
  1772. package/src/components/navigation-item/index.ts +0 -6
  1773. package/src/components/navigation-item/navigation-item.svelte +0 -119
  1774. package/src/components/navigation-item/navigation-item.types.ts +0 -60
  1775. package/src/components/newsletter-section/index.ts +0 -6
  1776. package/src/components/newsletter-section/newsletter-section.svelte +0 -91
  1777. package/src/components/newsletter-section/newsletter-section.types.ts +0 -50
  1778. package/src/components/number-input/index.ts +0 -6
  1779. package/src/components/number-input/number-input.svelte +0 -612
  1780. package/src/components/number-input/number-input.types.ts +0 -56
  1781. package/src/components/page-header/index.ts +0 -6
  1782. package/src/components/page-header/page-header.svelte +0 -39
  1783. package/src/components/page-header/page-header.types.ts +0 -14
  1784. package/src/components/pagination/index.ts +0 -6
  1785. package/src/components/pagination/pagination.svelte +0 -182
  1786. package/src/components/pagination/pagination.types.ts +0 -12
  1787. package/src/components/payload-inspector/index.ts +0 -12
  1788. package/src/components/payload-inspector/payload-inspector.svelte +0 -404
  1789. package/src/components/payload-inspector/payload-inspector.types.ts +0 -123
  1790. package/src/components/permission-matrix/index.ts +0 -12
  1791. package/src/components/permission-matrix/permission-matrix.svelte +0 -181
  1792. package/src/components/permission-matrix/permission-matrix.types.ts +0 -73
  1793. package/src/components/phone-input/index.ts +0 -12
  1794. package/src/components/phone-input/phone-input-formatting.ts +0 -229
  1795. package/src/components/phone-input/phone-input.svelte +0 -516
  1796. package/src/components/phone-input/phone-input.types.ts +0 -91
  1797. package/src/components/pin-input/index.ts +0 -6
  1798. package/src/components/pin-input/pin-input.svelte +0 -346
  1799. package/src/components/pin-input/pin-input.types.ts +0 -68
  1800. package/src/components/popover/index.ts +0 -6
  1801. package/src/components/popover/popover.svelte +0 -308
  1802. package/src/components/popover/popover.types.ts +0 -60
  1803. package/src/components/portal/index.ts +0 -6
  1804. package/src/components/portal/portal.svelte +0 -55
  1805. package/src/components/portal/portal.types.ts +0 -25
  1806. package/src/components/portal/portal.utilities.svelte.ts +0 -179
  1807. package/src/components/pricing-card/index.ts +0 -6
  1808. package/src/components/pricing-card/pricing-card.svelte +0 -95
  1809. package/src/components/pricing-card/pricing-card.types.ts +0 -49
  1810. package/src/components/pricing-section/index.ts +0 -6
  1811. package/src/components/pricing-section/pricing-section.svelte +0 -84
  1812. package/src/components/pricing-section/pricing-section.types.ts +0 -55
  1813. package/src/components/progress/index.ts +0 -6
  1814. package/src/components/progress/progress.svelte +0 -123
  1815. package/src/components/progress/progress.types.ts +0 -45
  1816. package/src/components/qr-code/index.ts +0 -6
  1817. package/src/components/qr-code/qr-code.svelte +0 -160
  1818. package/src/components/qr-code/qr-code.types.ts +0 -36
  1819. package/src/components/radio-group/index.ts +0 -22
  1820. package/src/components/radio-group/radio-group-context.ts +0 -33
  1821. package/src/components/radio-group/radio-group.svelte +0 -123
  1822. package/src/components/radio-group/radio-group.types.ts +0 -47
  1823. package/src/components/rating/index.ts +0 -6
  1824. package/src/components/rating/rating.svelte +0 -380
  1825. package/src/components/rating/rating.types.ts +0 -59
  1826. package/src/components/resizable-panels/index.ts +0 -16
  1827. package/src/components/resizable-panels/resizable-panels-sizing.ts +0 -706
  1828. package/src/components/resizable-panels/resizable-panels.svelte +0 -470
  1829. package/src/components/resizable-panels/resizable-panels.types.ts +0 -79
  1830. package/src/components/review-editor/comment-composer.svelte +0 -333
  1831. package/src/components/review-editor/comment-list.svelte +0 -342
  1832. package/src/components/review-editor/comment-sidebar.svelte +0 -491
  1833. package/src/components/review-editor/export-actions.svelte +0 -215
  1834. package/src/components/review-editor/focus-navigation.ts +0 -220
  1835. package/src/components/review-editor/front-matter-fields.svelte +0 -176
  1836. package/src/components/review-editor/index.ts +0 -59
  1837. package/src/components/review-editor/live-region.svelte +0 -125
  1838. package/src/components/review-editor/review-editor-anchors.svelte.ts +0 -322
  1839. package/src/components/review-editor/review-editor-controls.svelte +0 -263
  1840. package/src/components/review-editor/review-editor-exports.ts +0 -145
  1841. package/src/components/review-editor/review-editor-front-matter.ts +0 -237
  1842. package/src/components/review-editor/review-editor-impl.svelte +0 -1812
  1843. package/src/components/review-editor/review-editor-selection-geometry.ts +0 -31
  1844. package/src/components/review-editor/review-editor-selection-types.ts +0 -68
  1845. package/src/components/review-editor/review-editor-selection.svelte.ts +0 -349
  1846. package/src/components/review-editor/review-editor-state.svelte.ts +0 -179
  1847. package/src/components/review-editor/review-editor-threads.svelte.ts +0 -643
  1848. package/src/components/review-editor/review-editor.svelte +0 -41
  1849. package/src/components/review-editor/review-editor.types.ts +0 -92
  1850. package/src/components/review-editor/thread-popover.svelte +0 -310
  1851. package/src/components/run-step-timeline/index.ts +0 -17
  1852. package/src/components/run-step-timeline/run-step-timeline.svelte +0 -470
  1853. package/src/components/run-step-timeline/run-step-timeline.types.ts +0 -310
  1854. package/src/components/schema-form/index.ts +0 -13
  1855. package/src/components/schema-form/schema-form-async.fixture.ts +0 -101
  1856. package/src/components/schema-form/schema-form-body.svelte +0 -646
  1857. package/src/components/schema-form/schema-form-model.ts +0 -369
  1858. package/src/components/schema-form/schema-form-validation.ts +0 -235
  1859. package/src/components/schema-form/schema-form.svelte +0 -58
  1860. package/src/components/schema-form/schema-form.types.ts +0 -40
  1861. package/src/components/scroll-area/index.ts +0 -10
  1862. package/src/components/scroll-area/scroll-area.svelte +0 -71
  1863. package/src/components/scroll-area/scroll-area.types.ts +0 -57
  1864. package/src/components/search-field/index.ts +0 -6
  1865. package/src/components/search-field/search-field.svelte +0 -148
  1866. package/src/components/search-field/search-field.types.ts +0 -46
  1867. package/src/components/secret-value-field/index.ts +0 -6
  1868. package/src/components/secret-value-field/secret-value-field.svelte +0 -227
  1869. package/src/components/secret-value-field/secret-value-field.types.ts +0 -47
  1870. package/src/components/section-heading/index.ts +0 -6
  1871. package/src/components/section-heading/section-heading.svelte +0 -64
  1872. package/src/components/section-heading/section-heading.types.ts +0 -37
  1873. package/src/components/segment/index.ts +0 -5
  1874. package/src/components/segment/segment.svelte +0 -107
  1875. package/src/components/segment/segment.types.ts +0 -39
  1876. package/src/components/segmented-control/index.ts +0 -6
  1877. package/src/components/segmented-control/segmented-control-state.svelte.ts +0 -240
  1878. package/src/components/segmented-control/segmented-control.svelte +0 -172
  1879. package/src/components/segmented-control/segmented-control.types.ts +0 -89
  1880. package/src/components/select/index.ts +0 -6
  1881. package/src/components/select/select.svelte +0 -126
  1882. package/src/components/select/select.types.ts +0 -28
  1883. package/src/components/selection-popover/index.ts +0 -6
  1884. package/src/components/selection-popover/selection-popover.svelte +0 -273
  1885. package/src/components/selection-popover/selection-popover.types.ts +0 -31
  1886. package/src/components/share-card/index.ts +0 -6
  1887. package/src/components/share-card/share-card.svelte +0 -346
  1888. package/src/components/share-card/share-card.types.ts +0 -69
  1889. package/src/components/sheet/index.ts +0 -6
  1890. package/src/components/sheet/sheet.svelte +0 -176
  1891. package/src/components/sheet/sheet.types.ts +0 -55
  1892. package/src/components/shortcut-hint/index.ts +0 -6
  1893. package/src/components/shortcut-hint/shortcut-hint.svelte +0 -62
  1894. package/src/components/shortcut-hint/shortcut-hint.types.ts +0 -35
  1895. package/src/components/side-navigation/index.ts +0 -19
  1896. package/src/components/side-navigation/side-navigation.svelte +0 -48
  1897. package/src/components/side-navigation/side-navigation.types.ts +0 -14
  1898. package/src/components/side-navigation-group/_contains-active-harness.svelte +0 -36
  1899. package/src/components/side-navigation-group/index.ts +0 -6
  1900. package/src/components/side-navigation-group/side-navigation-group.svelte +0 -143
  1901. package/src/components/side-navigation-group/side-navigation-group.types.ts +0 -21
  1902. package/src/components/side-navigation-item/index.ts +0 -5
  1903. package/src/components/side-navigation-item/side-navigation-item.svelte +0 -61
  1904. package/src/components/side-navigation-item/side-navigation-item.types.ts +0 -22
  1905. package/src/components/sidebar/index.ts +0 -6
  1906. package/src/components/sidebar/sidebar.svelte +0 -136
  1907. package/src/components/sidebar/sidebar.types.ts +0 -36
  1908. package/src/components/skeleton/index.ts +0 -6
  1909. package/src/components/skeleton/skeleton.svelte +0 -35
  1910. package/src/components/skeleton/skeleton.types.ts +0 -11
  1911. package/src/components/skip-link/index.ts +0 -5
  1912. package/src/components/skip-link/skip-link.svelte +0 -86
  1913. package/src/components/skip-link/skip-link.types.ts +0 -40
  1914. package/src/components/slider/index.ts +0 -12
  1915. package/src/components/slider/slider.svelte +0 -533
  1916. package/src/components/slider/slider.types.ts +0 -65
  1917. package/src/components/sortable-list/index.ts +0 -6
  1918. package/src/components/sortable-list/sortable-list.svelte +0 -150
  1919. package/src/components/sortable-list/sortable-list.types.ts +0 -41
  1920. package/src/components/sparkbar/index.ts +0 -6
  1921. package/src/components/sparkbar/sparkbar.svelte +0 -72
  1922. package/src/components/sparkbar/sparkbar.types.ts +0 -48
  1923. package/src/components/spectrogram/index.ts +0 -10
  1924. package/src/components/spectrogram/spectrogram.svelte +0 -272
  1925. package/src/components/spectrogram/spectrogram.types.ts +0 -74
  1926. package/src/components/spectrum-chart/index.ts +0 -10
  1927. package/src/components/spectrum-chart/spectrum-chart.svelte +0 -235
  1928. package/src/components/spectrum-chart/spectrum-chart.types.ts +0 -53
  1929. package/src/components/speed-dial/index.ts +0 -25
  1930. package/src/components/speed-dial/speed-dial.context.ts +0 -16
  1931. package/src/components/speed-dial/speed-dial.svelte +0 -205
  1932. package/src/components/speed-dial/speed-dial.types.ts +0 -59
  1933. package/src/components/speed-dial-action/index.ts +0 -8
  1934. package/src/components/speed-dial-action/speed-dial-action.svelte +0 -77
  1935. package/src/components/speed-dial-action/speed-dial-action.types.ts +0 -50
  1936. package/src/components/spinner/index.ts +0 -6
  1937. package/src/components/spinner/spinner.svelte +0 -33
  1938. package/src/components/spinner/spinner.types.ts +0 -27
  1939. package/src/components/stacked-list-item/index.ts +0 -6
  1940. package/src/components/stacked-list-item/stacked-list-item.svelte +0 -132
  1941. package/src/components/stacked-list-item/stacked-list-item.types.ts +0 -47
  1942. package/src/components/stat/index.ts +0 -6
  1943. package/src/components/stat/stat.svelte +0 -90
  1944. package/src/components/stat/stat.types.ts +0 -35
  1945. package/src/components/stat-group/index.ts +0 -16
  1946. package/src/components/stat-group/stat-group.svelte +0 -46
  1947. package/src/components/stat-group/stat-group.types.ts +0 -30
  1948. package/src/components/stats-section/index.ts +0 -6
  1949. package/src/components/stats-section/stats-section.svelte +0 -86
  1950. package/src/components/stats-section/stats-section.types.ts +0 -61
  1951. package/src/components/status-dot/index.ts +0 -11
  1952. package/src/components/status-dot/status-dot.svelte +0 -112
  1953. package/src/components/status-dot/status-dot.types.ts +0 -74
  1954. package/src/components/steps/index.ts +0 -6
  1955. package/src/components/steps/steps.svelte +0 -125
  1956. package/src/components/steps/steps.types.ts +0 -42
  1957. package/src/components/surface/index.ts +0 -6
  1958. package/src/components/surface/surface.svelte +0 -35
  1959. package/src/components/surface/surface.types.ts +0 -20
  1960. package/src/components/tab/index.ts +0 -6
  1961. package/src/components/tab/tab.svelte +0 -120
  1962. package/src/components/tab/tab.types.ts +0 -25
  1963. package/src/components/tab-list/index.ts +0 -6
  1964. package/src/components/tab-list/tab-list.svelte +0 -38
  1965. package/src/components/tab-list/tab-list.types.ts +0 -11
  1966. package/src/components/tab-panel/index.ts +0 -6
  1967. package/src/components/tab-panel/tab-panel-aria-labelledby-harness.svelte +0 -23
  1968. package/src/components/tab-panel/tab-panel.svelte +0 -51
  1969. package/src/components/tab-panel/tab-panel.types.ts +0 -16
  1970. package/src/components/table/index.ts +0 -33
  1971. package/src/components/table/table.context.ts +0 -65
  1972. package/src/components/table/table.svelte +0 -100
  1973. package/src/components/table/table.types.ts +0 -82
  1974. package/src/components/table-body/index.ts +0 -6
  1975. package/src/components/table-body/table-body.svelte +0 -29
  1976. package/src/components/table-body/table-body.types.ts +0 -7
  1977. package/src/components/table-cell/index.ts +0 -6
  1978. package/src/components/table-cell/table-cell.svelte +0 -32
  1979. package/src/components/table-cell/table-cell.types.ts +0 -32
  1980. package/src/components/table-header/index.ts +0 -6
  1981. package/src/components/table-header/table-header.svelte +0 -81
  1982. package/src/components/table-header/table-header.types.ts +0 -24
  1983. package/src/components/table-header-cell/index.ts +0 -6
  1984. package/src/components/table-header-cell/table-header-cell.svelte +0 -103
  1985. package/src/components/table-header-cell/table-header-cell.types.ts +0 -30
  1986. package/src/components/table-of-contents/index.ts +0 -6
  1987. package/src/components/table-of-contents/table-of-contents.svelte +0 -634
  1988. package/src/components/table-of-contents/table-of-contents.types.ts +0 -70
  1989. package/src/components/table-row/index.ts +0 -6
  1990. package/src/components/table-row/table-row.svelte +0 -134
  1991. package/src/components/table-row/table-row.types.ts +0 -51
  1992. package/src/components/tabs/index.ts +0 -21
  1993. package/src/components/tabs/tabs-context.ts +0 -29
  1994. package/src/components/tabs/tabs.svelte +0 -232
  1995. package/src/components/tabs/tabs.types.ts +0 -75
  1996. package/src/components/tag-input/index.ts +0 -6
  1997. package/src/components/tag-input/tag-input.svelte +0 -437
  1998. package/src/components/tag-input/tag-input.types.ts +0 -98
  1999. package/src/components/team-section/index.ts +0 -6
  2000. package/src/components/team-section/team-section.svelte +0 -100
  2001. package/src/components/team-section/team-section.types.ts +0 -59
  2002. package/src/components/testimonial-section/index.ts +0 -10
  2003. package/src/components/testimonial-section/testimonial-section.svelte +0 -88
  2004. package/src/components/testimonial-section/testimonial-section.types.ts +0 -57
  2005. package/src/components/textarea/index.ts +0 -6
  2006. package/src/components/textarea/textarea.svelte +0 -101
  2007. package/src/components/textarea/textarea.types.ts +0 -37
  2008. package/src/components/textarea-count.ts +0 -19
  2009. package/src/components/time-field/index.ts +0 -6
  2010. package/src/components/time-field/time-field.svelte +0 -277
  2011. package/src/components/time-field/time-field.types.ts +0 -70
  2012. package/src/components/timeline/index.ts +0 -14
  2013. package/src/components/timeline/timeline-groups.ts +0 -158
  2014. package/src/components/timeline/timeline.svelte +0 -101
  2015. package/src/components/timeline/timeline.types.ts +0 -80
  2016. package/src/components/toast-region/index.ts +0 -14
  2017. package/src/components/toast-region/toast-region.svelte +0 -725
  2018. package/src/components/toast-region/toast-region.types.ts +0 -31
  2019. package/src/components/toggle/index.ts +0 -6
  2020. package/src/components/toggle/toggle.svelte +0 -101
  2021. package/src/components/toggle/toggle.types.ts +0 -49
  2022. package/src/components/toolbar/index.ts +0 -18
  2023. package/src/components/toolbar/toolbar-group.svelte +0 -32
  2024. package/src/components/toolbar/toolbar-spacer.svelte +0 -40
  2025. package/src/components/toolbar/toolbar.svelte +0 -409
  2026. package/src/components/toolbar/toolbar.types.ts +0 -59
  2027. package/src/components/tooltip/index.ts +0 -6
  2028. package/src/components/tooltip/tooltip.svelte +0 -230
  2029. package/src/components/tooltip/tooltip.types.ts +0 -14
  2030. package/src/components/transfer-list/index.ts +0 -10
  2031. package/src/components/transfer-list/transfer-list.svelte +0 -428
  2032. package/src/components/transfer-list/transfer-list.types.ts +0 -58
  2033. package/src/components/tree/index.ts +0 -38
  2034. package/src/components/tree/tree-selection.ts +0 -88
  2035. package/src/components/tree/tree.svelte +0 -1400
  2036. package/src/components/tree/tree.types.ts +0 -106
  2037. package/src/components/tree-item/index.ts +0 -5
  2038. package/src/components/tree-item/tree-item.svelte +0 -925
  2039. package/src/components/tree-item/tree-item.types.ts +0 -53
  2040. package/src/components/typography/index.ts +0 -6
  2041. package/src/components/typography/typography.svelte +0 -77
  2042. package/src/components/typography/typography.types.ts +0 -117
  2043. package/src/components/virtual-list/index.ts +0 -16
  2044. package/src/components/virtual-list/virtual-list.svelte +0 -192
  2045. package/src/components/virtual-list/virtual-list.types.ts +0 -60
  2046. package/src/components/visually-hidden/index.ts +0 -5
  2047. package/src/components/visually-hidden/visually-hidden.svelte +0 -36
  2048. package/src/components/visually-hidden/visually-hidden.types.ts +0 -70
  2049. package/src/components/waveform/index.ts +0 -6
  2050. package/src/components/waveform/waveform.svelte +0 -274
  2051. package/src/components/waveform/waveform.types.ts +0 -54
@@ -1,1812 +0,0 @@
1
- <script lang="ts" module>
2
- import type { EditorSelection } from '@lostgradient/cinder/editor';
3
- import type {
4
- Thread,
5
- PersistedThread,
6
- ThreadCreateEvent,
7
- ReviewState,
8
- AnchorUpdate,
9
- } from '@lostgradient/cinder/commentary/comments';
10
- import type { ReviewEditorProps, ReviewFormData } from './review-editor.types.ts';
11
-
12
- export type { ReviewMode, ReviewEditorProps, ReviewFormData } from './review-editor.types.ts';
13
-
14
- /** Type alias for thread ID to improve readability in state declarations */
15
- type ThreadId = string;
16
- </script>
17
-
18
- <script lang="ts">
19
- import { classNames } from '../../utilities/class-names.ts';
20
- import { devWarn } from '../../utilities/dev-warn.ts';
21
- import { useReducedMotion } from '../../utilities/use-reduced-motion.svelte.ts';
22
- import { createFocusRegionNavigator, type FocusRegion } from './focus-navigation.ts';
23
- import { createChangeTracker } from '../../utilities/change-tracker.svelte.ts';
24
- import { stringifyOrNull } from '../../utilities/stringify.ts';
25
- import MarkdownEditor from '../markdown-editor/markdown-editor.svelte';
26
- import { contentEquals, normalize } from '@lostgradient/cinder/markdown/pipeline';
27
- import { textOffsetToProseMirrorPosition } from '@lostgradient/cinder/editor';
28
- import {
29
- createAnchorPlugin,
30
- anchorPluginKey,
31
- } from '@lostgradient/cinder/commentary/anchor-decorations';
32
- import {
33
- reanchorQuote,
34
- ANCHOR_CONTEXT_LENGTH,
35
- generateId,
36
- extractMentions,
37
- createDocumentAnchor,
38
- } from '@lostgradient/cinder/commentary/comments';
39
- import { buildAnchorFromSelection } from '@lostgradient/cinder/commentary/anchoring';
40
- import ThreadPopover from './thread-popover.svelte';
41
- import LiveRegion from './live-region.svelte';
42
- import ExportActions from './export-actions.svelte';
43
- import CommentSidebar from './comment-sidebar.svelte';
44
- import FrontMatterFields from './front-matter-fields.svelte';
45
- import ReviewEditorControls from './review-editor-controls.svelte';
46
- import {
47
- bodyAnchorToDocumentAnchor,
48
- bodyAnchorUpdateToDocumentAnchorUpdate,
49
- combineFrontMatterAndBody,
50
- documentAnchorToBodyAnchor,
51
- documentPersistedAnchorToBodyAnchor,
52
- documentPositionToBodyPosition,
53
- parseReviewEditorFrontMatter,
54
- replaceFrontMatterData,
55
- remapDocumentAnchorBodyOffset,
56
- reviewStateToMarkdown,
57
- } from './review-editor-front-matter.ts';
58
- import type {
59
- ReviewEditorDiffViewMode as DiffViewMode,
60
- ReviewEditorViewType as ViewType,
61
- } from './review-editor.types.ts';
62
- import {
63
- getSelectionAnchorPosition,
64
- type SelectionAnchorPosition,
65
- } from './review-editor-selection-geometry.ts';
66
- import DiffViewer from '../diff-viewer/diff-viewer.svelte';
67
- import SelectionPopover from '../selection-popover/selection-popover.svelte';
68
- import { computeLineDiff, getDiffStats } from '@lostgradient/cinder/markdown/diff/line-diff';
69
- import {
70
- generateMarkdownSummary,
71
- generateUnifiedDiff,
72
- generateCommentsExport,
73
- type MarkdownSummaryOptions,
74
- type MarkdownSummaryResult,
75
- type UnifiedDiffOptions,
76
- type UnifiedDiffResult,
77
- } from '@lostgradient/cinder/commentary/export';
78
-
79
- // Shared reduced-motion preference (OVERLAY-POLICY: use the shared hook, not inline matchMedia).
80
- const reducedMotion = useReducedMotion();
81
-
82
- let {
83
- id,
84
- original = $bindable(''),
85
- value = $bindable(''),
86
- threads = $bindable<Thread[]>([]),
87
- mode = 'edit',
88
- currentUserId,
89
- placeholder = 'Start writing...',
90
- name,
91
- class: className,
92
- onchange,
93
- onthreadcreate,
94
- onthreaddelete,
95
- oncommentcreate,
96
- oncommentupdate,
97
- oncommentdelete,
98
- snapshotMode = false,
99
- }: ReviewEditorProps = $props();
100
-
101
- // Blur any focused element inside this component on mount when snapshotMode
102
- // is active. This prevents the initial screenshot from capturing a focused
103
- // ring or blinking caret. We track the container element via bind:this.
104
- let containerElement = $state<HTMLDivElement | null>(null);
105
-
106
- $effect(() => {
107
- if (!snapshotMode) return;
108
- if (!containerElement) return;
109
- const active = document.activeElement;
110
- if (active instanceof HTMLElement && containerElement.contains(active)) {
111
- active.blur();
112
- }
113
- });
114
-
115
- // Reference to the underlying MarkdownEditor. Using the imported component
116
- // as a type is the Svelte ambient pattern — `*.svelte` declares the import
117
- // as a constructable type with the component's `export function` methods.
118
- let editorRef: MarkdownEditor | undefined = $state();
119
-
120
- // Reference to LiveRegion for screen reader announcements (DEP-47)
121
- let liveRegionRef: LiveRegion | undefined = $state();
122
-
123
- // Track when editor view is ready (for effects that need to wait for async editor creation)
124
- let editorViewReady = $state(false);
125
-
126
- // Track current selection for thread creation
127
- let currentSelection = $state<EditorSelection | null>(null);
128
-
129
- // =========================================================================
130
- // Thread Popover State
131
- // =========================================================================
132
-
133
- // Thread popover state
134
- let popoverThreadId = $state<ThreadId | null>(null);
135
- let popoverPosition = $state<{ x: number; y: number } | null>(null);
136
-
137
- // Timer handle for panel selection scroll-then-position delay.
138
- // Stored at component level so we can cancel it when switching threads.
139
- let selectTimeoutId: ReturnType<typeof setTimeout> | null = null;
140
-
141
- // Cleanup: cancel pending panel selection timeout on component unmount.
142
- // This prevents the callback from executing on a destroyed component.
143
- $effect(() => {
144
- return () => {
145
- if (selectTimeoutId !== null) {
146
- clearTimeout(selectTimeoutId);
147
- selectTimeoutId = null;
148
- }
149
- };
150
- });
151
-
152
- // Internal active thread tracking (not exposed as bindable prop)
153
- let activeThreadId = $state<string | null>(null);
154
-
155
- // Comment sidebar toggle state
156
- let sidebarOpen = $state(false);
157
-
158
- const currentDocument = $derived(parseReviewEditorFrontMatter(value));
159
- const editorValue = $derived(currentDocument.body);
160
- const viewPanelIds = $derived({
161
- editor: `${id}-editor-panel`,
162
- diff: `${id}-diff-panel`,
163
- summary: `${id}-summary-panel`,
164
- });
165
-
166
- // =========================================================================
167
- // View Switching State (DEP-47)
168
- // =========================================================================
169
-
170
- /** Active view: editor for editing, diff for comparing, summary for review */
171
- let activeView = $state<ViewType>('editor');
172
-
173
- /** Diff view mode: unified shows all changes, final shows current state, original shows baseline */
174
- let diffViewMode = $state<DiffViewMode>('unified');
175
-
176
- // =========================================================================
177
- // Diff Statistics (DEP-47)
178
- // =========================================================================
179
-
180
- /**
181
- * Compute diff statistics from original vs current content.
182
- * Uses the same line-diff algorithm as DiffViewer for consistency.
183
- */
184
- const diffStats = $derived.by(() => {
185
- if (!original) {
186
- return { added: 0, removed: 0, modified: 0 };
187
- }
188
- // Normalize both inputs to avoid false positives from formatting differences
189
- const normalizedOriginal = normalize(original);
190
- const normalizedCurrent = normalize(value);
191
- const lineDiffs = computeLineDiff(normalizedOriginal, normalizedCurrent);
192
- return getDiffStats(lineDiffs);
193
- });
194
-
195
- /** Whether there are any content changes */
196
- const hasContentChanges = $derived(
197
- diffStats.added > 0 || diffStats.removed > 0 || diffStats.modified > 0,
198
- );
199
-
200
- /** Total comment count (excluding soft-deleted comments) */
201
- const commentCount = $derived(
202
- threads.reduce((count, thread) => {
203
- return count + thread.comments.filter((c) => !c.deletedAt).length;
204
- }, 0),
205
- );
206
-
207
- /**
208
- * Summary content for the Summary view (without the "# Review Summary" heading).
209
- * The heading is useful for clipboard exports but redundant in the UI preview
210
- * since the view tab already indicates this is a summary.
211
- */
212
- const summaryContent = $derived.by(() => {
213
- const result = exportMarkdownSummary();
214
- // Strip the "# Review Summary\n" heading from the beginning
215
- return result.markdown.replace(/^# Review Summary\n+/, '');
216
- });
217
-
218
- // =========================================================================
219
- // Selection Popover State (DEP-47)
220
- // =========================================================================
221
-
222
- /** Position for the selection popover (viewport-relative) */
223
- let selectionPopoverPosition = $state<SelectionAnchorPosition | null>(null);
224
-
225
- /**
226
- * Captured selection range for thread creation.
227
- * We capture this when the popover appears because clicking the popover button
228
- * will collapse the browser selection before handleSelectionComment runs.
229
- */
230
- let capturedSelectionForPopover = $state<{ from: number; to: number } | null>(null);
231
-
232
- /** Whether the selection popover is in expanded form state (user clicked to add comment) */
233
- let selectionPopoverExpanded = $state(false);
234
-
235
- /** Whether the selection popover should be visible */
236
- const showSelectionPopover = $derived(
237
- activeView === 'editor' &&
238
- mode === 'edit' &&
239
- // Must have a user ID to create comments
240
- currentUserId !== undefined &&
241
- // Position is only set when browser selection is non-collapsed
242
- // (checked via window.getSelection() in the debounced handler)
243
- // OR the popover is already expanded (user is composing a comment)
244
- (selectionPopoverPosition !== null || selectionPopoverExpanded) &&
245
- // Don't show if a thread popover is already open
246
- popoverThreadId === null,
247
- );
248
-
249
- /** Delay for scroll-then-position pattern (matches smooth scroll duration) */
250
- const POSITION_DELAY_MS = 350;
251
-
252
- /**
253
- * Get the preferred scroll behavior respecting prefers-reduced-motion.
254
- * @returns 'instant' if user prefers reduced motion, 'smooth' otherwise
255
- */
256
- function getScrollBehavior(): ScrollBehavior {
257
- return reducedMotion.current ? 'instant' : 'smooth';
258
- }
259
-
260
- // =========================================================================
261
- // Screen Reader Announcements (DEP-47)
262
- // =========================================================================
263
-
264
- /**
265
- * Announce a message to screen readers via the LiveRegion component.
266
- * Safe to call before the ref is available (no-op in that case).
267
- *
268
- * @param message - The message to announce
269
- * @param priority - 'polite' (default) or 'assertive'
270
- */
271
- function announce(message: string, priority: 'polite' | 'assertive' = 'polite'): void {
272
- liveRegionRef?.announce(message, priority);
273
- }
274
-
275
- // Get the popover thread
276
- const popoverThread = $derived.by(() => {
277
- if (!popoverThreadId) return null;
278
- return threads.find((t) => t.id === popoverThreadId) ?? null;
279
- });
280
-
281
- // Clear popover if thread is deleted
282
- $effect(() => {
283
- if (popoverThreadId && !popoverThread) {
284
- popoverThreadId = null;
285
- popoverPosition = null;
286
- }
287
- });
288
-
289
- // Clear internal active thread if it no longer exists
290
- $effect(() => {
291
- if (activeThreadId && !threads.some((t) => t.id === activeThreadId)) {
292
- activeThreadId = null;
293
- }
294
- });
295
-
296
- // Deep linking: open popover when activeThreadId is set externally (e.g., URL navigation).
297
- $effect(() => {
298
- let positionTimeoutId: ReturnType<typeof setTimeout> | null = null;
299
-
300
- if (activeThreadId && popoverThreadId !== activeThreadId) {
301
- const thread = threads.find((t) => t.id === activeThreadId);
302
- if (thread) {
303
- const threadIdToOpen = activeThreadId;
304
-
305
- // First, scroll the anchor into view. We defer popover positioning until
306
- // after the scroll completes to avoid the popover appearing off-screen.
307
- scrollAnchorIntoView(threadIdToOpen);
308
-
309
- // After scrolling, calculate position and open the popover.
310
- // We re-fetch the thread inside the callback to avoid using stale data
311
- // if the threads array changes during the scroll delay.
312
- positionTimeoutId = setTimeout(() => {
313
- // Re-fetch thread to ensure we have current data (thread may have been deleted/modified)
314
- const currentThread = threads.find((t) => t.id === threadIdToOpen);
315
- if (!currentThread) return;
316
-
317
- const pos = calculateViewportPosition(currentThread.anchor.from);
318
- if (pos) {
319
- popoverPosition = { x: pos.left + 16, y: pos.top };
320
- popoverThreadId = threadIdToOpen;
321
- }
322
- }, POSITION_DELAY_MS);
323
- }
324
- }
325
-
326
- // Cleanup: cancel pending timeout if effect re-runs or component unmounts
327
- return () => {
328
- if (positionTimeoutId !== null) {
329
- clearTimeout(positionTimeoutId);
330
- }
331
- };
332
- });
333
-
334
- /**
335
- * Scroll the editor to bring an anchor position into view.
336
- * @param threadId - The thread ID to scroll to (passed explicitly to avoid stale closure)
337
- */
338
- function scrollAnchorIntoView(threadId: ThreadId): void {
339
- // Query using the passed threadId, not the reactive activeThreadId,
340
- // to avoid race conditions when called from setTimeout.
341
- // Scope query to editor DOM to handle multiple ReviewEditor instances on page.
342
- const editorDom = editorRef?.getView()?.dom;
343
- const anchorElement = editorDom?.querySelector(`[data-thread-id="${threadId}"]`);
344
- if (anchorElement) {
345
- anchorElement.scrollIntoView({ behavior: getScrollBehavior(), block: 'center' });
346
- }
347
- }
348
-
349
- // =========================================================================
350
- // Thread Popover Handlers
351
- // =========================================================================
352
-
353
- /**
354
- * Handle closing the thread popover.
355
- * Also clears activeThreadId to prevent the deep-linking effect from
356
- * immediately reopening the popover, and cancels any pending panel selection timeout.
357
- */
358
- function handlePopoverClose(): void {
359
- // Cancel any pending panel selection timeout
360
- if (selectTimeoutId !== null) {
361
- clearTimeout(selectTimeoutId);
362
- selectTimeoutId = null;
363
- }
364
-
365
- popoverThreadId = null;
366
- popoverPosition = null;
367
- activeThreadId = null;
368
- }
369
-
370
- /**
371
- * Handle thread delete from popover.
372
- */
373
- function handlePopoverDelete(threadId: string): void {
374
- if (currentUserId) {
375
- deleteThread(threadId);
376
- handlePopoverClose();
377
- }
378
- }
379
-
380
- /**
381
- * Handle comment update from popover.
382
- */
383
- function handlePopoverCommentUpdate(threadId: string, commentId: string, body: string): void {
384
- updateComment(threadId, commentId, body);
385
- }
386
-
387
- /**
388
- * Handle comment delete from popover.
389
- */
390
- function handlePopoverCommentDelete(threadId: string, commentId: string): void {
391
- deleteComment(threadId, commentId);
392
- }
393
-
394
- /**
395
- * Handle comment create from popover.
396
- */
397
- function handlePopoverCommentCreate(threadId: string, body: string): void {
398
- if (currentUserId) {
399
- createComment(threadId, body, currentUserId);
400
- }
401
- }
402
-
403
- /**
404
- * Calculate position for fixed-position popovers near an anchor.
405
- * Returns viewport-relative coordinates for use with position: fixed elements
406
- * (ThreadPopover).
407
- */
408
- function calculateViewportPosition(from: number): { top: number; left: number } | null {
409
- const view = editorRef?.getView();
410
- if (!view) return null;
411
-
412
- try {
413
- const coords = view.coordsAtPos(
414
- documentPositionToBodyPosition(from, currentDocument.bodyOffset),
415
- );
416
- if (coords) {
417
- // coords are already viewport-relative from ProseMirror
418
- return {
419
- top: coords.top + 24, // Below the anchor
420
- left: Math.max(16, coords.left), // Minimum 16px from viewport edge
421
- };
422
- }
423
- } catch {
424
- // Position may be invalid
425
- }
426
- return null;
427
- }
428
-
429
- // =========================================================================
430
- // Anchor Plugin Integration (DEP-39)
431
- // =========================================================================
432
-
433
- // Track last synced state to prevent thrashing
434
- let lastSyncedFingerprint: string | null = null;
435
-
436
- // Pending state for deferred re-anchoring (setState flow)
437
- let pendingState: ReviewState | null = $state(null);
438
-
439
- /**
440
- * Create fingerprint including all mutable anchor fields.
441
- * This prevents sync thrashing when quote/prefix/suffix change.
442
- */
443
- function createSyncFingerprint(threadsToSync: Thread[]): string {
444
- return threadsToSync
445
- .map((t) => {
446
- const a = t.anchor;
447
- // Include lastKnownOffset to propagate disambiguation updates
448
- return `${t.id}:${a.from}:${a.to}:${a.quote}:${a.prefix}:${a.suffix}:${a.lastKnownOffset ?? ''}`;
449
- })
450
- .join('|');
451
- }
452
-
453
- function createPluginSyncFingerprint(threadsToSync: Thread[]): string {
454
- return `${currentDocument.bodyOffset}|${createSyncFingerprint(threadsToSync)}`;
455
- }
456
-
457
- /**
458
- * Handle anchor position updates from the plugin.
459
- * Called when the plugin detects position changes.
460
- */
461
- function handleAnchorsUpdate(updates: AnchorUpdate[]): void {
462
- // Update published threads
463
- threads = threads.map((thread) => {
464
- const update = updates.find((u) => u.threadId === thread.id);
465
- if (update) {
466
- const documentUpdate = bodyAnchorUpdateToDocumentAnchorUpdate(
467
- update,
468
- currentDocument.bodyOffset,
469
- );
470
- return {
471
- ...thread,
472
- anchor: {
473
- ...thread.anchor,
474
- from: documentUpdate.from,
475
- to: documentUpdate.to,
476
- quote: documentUpdate.quote,
477
- prefix: documentUpdate.prefix,
478
- suffix: documentUpdate.suffix,
479
- lastKnownOffset: documentUpdate.lastKnownOffset,
480
- },
481
- };
482
- }
483
- return thread;
484
- });
485
-
486
- // Update fingerprint to skip re-sync
487
- lastSyncedFingerprint = createPluginSyncFingerprint(threads);
488
- }
489
-
490
- // Create anchor plugin in instance script (per-instance, before mount)
491
- // This runs once per ReviewEditor instance during initialization
492
- const anchorPlugin = createAnchorPlugin({
493
- onAnchorsUpdate: handleAnchorsUpdate,
494
- onAnchorClick: handleAnchorClick,
495
- });
496
-
497
- /**
498
- * Handle click on an anchor decoration.
499
- * Opens the thread popover at the click location.
500
- */
501
- function handleAnchorClick(threadId: string, event: MouseEvent): void {
502
- // Cancel any pending panel selection timer to prevent race conditions
503
- // where the timer callback would unexpectedly switch to a different thread
504
- if (selectTimeoutId !== null) {
505
- clearTimeout(selectTimeoutId);
506
- selectTimeoutId = null;
507
- }
508
-
509
- // Clear selection popover state when opening a thread popover
510
- // Otherwise stale state persists and the popover may reappear at an invalid position
511
- selectionPopoverPosition = null;
512
- capturedSelectionForPopover = null;
513
- selectionPopoverExpanded = false;
514
-
515
- // Set active thread and open popover
516
- activeThreadId = threadId;
517
-
518
- // Find the thread to show the popover
519
- const thread = threads.find((t) => t.id === threadId);
520
- if (thread) {
521
- // Position popover near the click location
522
- popoverPosition = { x: event.clientX + 16, y: event.clientY };
523
- popoverThreadId = threadId;
524
- }
525
- }
526
-
527
- /**
528
- * Sync threads to the anchor plugin via meta-transaction.
529
- */
530
- function syncThreadsToPlugin(threadsToSync: Thread[]): void {
531
- const view = editorRef?.getView();
532
- if (!view) return;
533
-
534
- const fingerprint = createPluginSyncFingerprint(threadsToSync);
535
-
536
- // Skip if already synced
537
- if (fingerprint === lastSyncedFingerprint) return;
538
- lastSyncedFingerprint = fingerprint;
539
-
540
- view.dispatch(
541
- view.state.tr.setMeta(anchorPluginKey, {
542
- type: 'sync',
543
- threads: threadsToSync.map((thread) => ({
544
- ...thread,
545
- anchor: documentAnchorToBodyAnchor(thread.anchor, currentDocument.bodyOffset),
546
- })),
547
- source: 'external',
548
- }),
549
- );
550
- }
551
-
552
- /**
553
- * Attempt re-anchoring for pending state.
554
- * Called when setState is invoked and when editor content changes.
555
- *
556
- * Threads whose anchor text cannot be found are removed (auto-delete behavior).
557
- */
558
- function attemptReanchoring(): void {
559
- if (!pendingState) return;
560
-
561
- const view = editorRef?.getView();
562
- if (!view) return;
563
-
564
- // Compare markdown using contentEquals (handles normalization)
565
- const currentMarkdown = editorRef?.getMarkdown() ?? '';
566
- const pendingDocument = parseReviewEditorFrontMatter(pendingState.content);
567
- const expectedMarkdown = pendingDocument.body;
568
-
569
- if (!contentEquals(currentMarkdown, expectedMarkdown)) {
570
- // Content not synced yet - will retry when editor updates
571
- return;
572
- }
573
-
574
- const state = pendingState;
575
- pendingState = null;
576
-
577
- const { doc } = view.state;
578
- const documentText = doc.textBetween(0, doc.content.size, '\n');
579
-
580
- // Re-anchor threads, filtering out those that can't be found
581
- const reanchoredThreads: Thread[] = [];
582
-
583
- for (const persistedThread of state.threads) {
584
- const bodyPersistedAnchor = documentPersistedAnchorToBodyAnchor(
585
- persistedThread.anchor,
586
- pendingDocument.bodyOffset,
587
- );
588
- const result = reanchorQuote(documentText, bodyPersistedAnchor);
589
-
590
- // If anchor text not found, skip this thread (auto-delete)
591
- if (!result.found) {
592
- onthreaddelete?.({ threadId: persistedThread.id });
593
- continue;
594
- }
595
-
596
- const from = textOffsetToProseMirrorPosition(doc, result.from);
597
- const to = textOffsetToProseMirrorPosition(doc, result.to);
598
-
599
- if (from !== null && to !== null) {
600
- // Extract the matched quote and context from the current document
601
- // This prevents the plugin from detecting false drift on subsequent transactions
602
- const matchedQuote = documentText.slice(result.from, result.to);
603
- const newPrefix = documentText.slice(
604
- Math.max(0, result.from - ANCHOR_CONTEXT_LENGTH),
605
- result.from,
606
- );
607
- const newSuffix = documentText.slice(
608
- result.to,
609
- Math.min(documentText.length, result.to + ANCHOR_CONTEXT_LENGTH),
610
- );
611
-
612
- reanchoredThreads.push({
613
- ...persistedThread,
614
- anchor: {
615
- ...persistedThread.anchor,
616
- from: from + pendingDocument.bodyOffset,
617
- to: to + pendingDocument.bodyOffset,
618
- quote: matchedQuote,
619
- prefix: newPrefix,
620
- suffix: newSuffix,
621
- status: 'anchored',
622
- lastKnownOffset: result.from + pendingDocument.bodyOffset,
623
- },
624
- });
625
- }
626
- }
627
-
628
- threads = reanchoredThreads;
629
-
630
- // Sync threads to plugin
631
- syncThreadsToPlugin(threads);
632
- }
633
-
634
- // Retry re-anchoring when editor content changes (handles async content sync)
635
- // We read `value` to create a dependency so this effect re-runs when content changes.
636
- // This is critical for setState flow where pendingState exists but content isn't synced yet.
637
- $effect(() => {
638
- void value; // Create dependency on value
639
- if (pendingState && editorRef?.getView()) {
640
- attemptReanchoring();
641
- }
642
- });
643
-
644
- // Sync threads to plugin when they change externally
645
- // Runs for empty arrays too - needed to clear stale decorations when all threads removed
646
- $effect(() => {
647
- // Only sync if editor is ready and we don't have pending state
648
- if (editorRef?.getView() && !pendingState) {
649
- syncThreadsToPlugin(threads);
650
- }
651
- });
652
-
653
- // Determine if editor is readonly based on mode
654
- const isReadonly = $derived(mode === 'readonly');
655
-
656
- // Clear selection popover state when mode changes to readonly
657
- // This prevents stale popover state from persisting across mode transitions
658
- $effect(() => {
659
- if (mode === 'readonly') {
660
- selectionPopoverPosition = null;
661
- capturedSelectionForPopover = null;
662
- selectionPopoverExpanded = false;
663
- }
664
- });
665
-
666
- // =========================================================================
667
- // Optimized Change Detection (DEP-47)
668
- // =========================================================================
669
-
670
- /**
671
- * Change tracker with lazy dirty flag and debounced semantic verification.
672
- * Avoids per-keystroke normalize() calls which are expensive for large documents.
673
- */
674
- const changeTracker = createChangeTracker({
675
- debounceMs: 300,
676
- includeFrontMatter: true,
677
- });
678
-
679
- // Wire baseline and current values to the tracker
680
- $effect(() => {
681
- changeTracker.setBaseline(original);
682
- });
683
-
684
- $effect(() => {
685
- changeTracker.setCurrent(value);
686
- });
687
-
688
- /** Timeout ID for debounced selection position calculation */
689
- let selectionTimeoutId: ReturnType<typeof setTimeout> | null = null;
690
-
691
- /** Debounce delay for selection position calculation (ms) */
692
- const SELECTION_DEBOUNCE_MS = 20;
693
-
694
- // Listen to browser's native selectionchange event
695
- // This is more reliable than ProseMirror's selection events for detecting visual selection
696
- $effect(() => {
697
- if (typeof document === 'undefined') return;
698
-
699
- function handleBrowserSelectionChange() {
700
- // Clear any pending calculation
701
- if (selectionTimeoutId !== null) {
702
- clearTimeout(selectionTimeoutId);
703
- selectionTimeoutId = null;
704
- }
705
-
706
- // Only process in edit mode
707
- if (mode !== 'edit') {
708
- selectionPopoverPosition = null;
709
- capturedSelectionForPopover = null;
710
- return;
711
- }
712
-
713
- // Don't clear the popover if focus is within it (user is interacting with the form)
714
- const selectionPopoverElement = document.getElementById(`${id}-selection-popover`);
715
- if (selectionPopoverElement?.contains(document.activeElement)) {
716
- return;
717
- }
718
-
719
- // Don't clear the popover if it's expanded (user is composing a comment)
720
- // This is especially important for Safari where clicking a button doesn't focus it,
721
- // which would otherwise cause the popover to close unexpectedly
722
- if (selectionPopoverExpanded) {
723
- return;
724
- }
725
-
726
- const browserSelection = window.getSelection();
727
-
728
- // If selection is collapsed, hide popover immediately and reset all popover state
729
- if (!browserSelection || browserSelection.isCollapsed) {
730
- selectionPopoverPosition = null;
731
- capturedSelectionForPopover = null;
732
- selectionPopoverExpanded = false;
733
- return;
734
- }
735
-
736
- // Check if selection is within the actual editor DOM (not front matter controls,
737
- // sidebar, or toolbar content).
738
- const anchorNode = browserSelection.anchorNode;
739
- const editorDom = editorRef?.getView()?.dom;
740
- if (!editorDom || !anchorNode || !editorDom.contains(anchorNode)) {
741
- selectionPopoverPosition = null;
742
- capturedSelectionForPopover = null;
743
- selectionPopoverExpanded = false;
744
- return;
745
- }
746
-
747
- // Debounce position calculation to let rapid selection events settle
748
- selectionTimeoutId = setTimeout(() => {
749
- selectionTimeoutId = null;
750
-
751
- // Re-check selection after debounce
752
- const sel = window.getSelection();
753
- if (!sel || sel.isCollapsed) {
754
- selectionPopoverPosition = null;
755
- capturedSelectionForPopover = null;
756
- return;
757
- }
758
-
759
- // Get the selection range and compute position from the browser's DOM
760
- const range = sel.getRangeAt(0);
761
- const anchorPosition = getSelectionAnchorPosition(range);
762
-
763
- if (anchorPosition) {
764
- // Capture the ProseMirror selection range for thread creation
765
- // We need this because clicking the popover will collapse the selection
766
- // Get selection directly from the view since currentSelection state
767
- // may not be updated yet when the native selectionchange fires
768
- const view = editorRef?.getView();
769
- if (view) {
770
- const { from, to } = view.state.selection;
771
- if (from !== to) {
772
- capturedSelectionForPopover = { from, to };
773
- // Only show popover when we have a valid captured selection
774
- // This prevents showing a popover that can't submit due to timing mismatches
775
- selectionPopoverPosition = anchorPosition;
776
- }
777
- }
778
- }
779
- }, SELECTION_DEBOUNCE_MS);
780
- }
781
-
782
- document.addEventListener('selectionchange', handleBrowserSelectionChange);
783
-
784
- return () => {
785
- document.removeEventListener('selectionchange', handleBrowserSelectionChange);
786
- if (selectionTimeoutId !== null) {
787
- clearTimeout(selectionTimeoutId);
788
- selectionTimeoutId = null;
789
- }
790
- };
791
- });
792
-
793
- // Handle selection changes from ProseMirror (for currentSelection state)
794
- function handleSelectionChange(selection: EditorSelection | null) {
795
- // Mark editor as ready on first selection change (fired when editor initializes)
796
- if (!editorViewReady) {
797
- editorViewReady = true;
798
- }
799
- currentSelection = selection;
800
- }
801
-
802
- // Handle content changes
803
- function handleChange(newValue: string) {
804
- value = newValue;
805
- onchange?.(newValue);
806
- }
807
-
808
- function handleEditorBodyChange(newBody: string) {
809
- handleChange(combineFrontMatterAndBody(currentDocument, newBody));
810
- }
811
-
812
- function handleFrontMatterChange(data: Record<string, unknown> | null) {
813
- const previousBodyOffset = currentDocument.bodyOffset;
814
- const nextValue = replaceFrontMatterData(value, data);
815
- const nextDocument = parseReviewEditorFrontMatter(nextValue);
816
-
817
- if (previousBodyOffset !== nextDocument.bodyOffset) {
818
- threads = threads.map((thread) => ({
819
- ...thread,
820
- anchor: remapDocumentAnchorBodyOffset(
821
- thread.anchor,
822
- previousBodyOffset,
823
- nextDocument.bodyOffset,
824
- nextValue,
825
- ),
826
- }));
827
- }
828
-
829
- handleChange(nextValue);
830
- }
831
-
832
- // =========================================================================
833
- // Imperative Methods
834
- // =========================================================================
835
-
836
- /** Focus the editor */
837
- export function focus(): void {
838
- editorRef?.focus();
839
- }
840
-
841
- /** Get current markdown content */
842
- export function getMarkdown(): string {
843
- const body = editorRef?.getMarkdown() ?? currentDocument.body;
844
- return combineFrontMatterAndBody(currentDocument, body);
845
- }
846
-
847
- /** Set markdown content */
848
- export function setMarkdown(content: string): void {
849
- value = content;
850
- editorRef?.setMarkdown(parseReviewEditorFrontMatter(content).body);
851
- }
852
-
853
- /** Get current AST */
854
- export function getAst() {
855
- return editorRef?.getAst();
856
- }
857
-
858
- /** Get current selection */
859
- export function getSelection(): EditorSelection | null {
860
- const selection = editorRef?.getSelection();
861
- if (!selection) return null;
862
- return {
863
- ...selection,
864
- from: selection.from + currentDocument.bodyOffset,
865
- to: selection.to + currentDocument.bodyOffset,
866
- };
867
- }
868
-
869
- /** Scroll to a specific thread's anchor position in the editor */
870
- export function scrollToThread(threadId: string): void {
871
- const thread = threads.find((t) => t.id === threadId);
872
- if (!thread) return;
873
-
874
- const view = editorRef?.getView();
875
- if (view && thread.anchor.from !== undefined) {
876
- // Scroll the anchor position into view
877
- const coords = view.coordsAtPos(
878
- documentPositionToBodyPosition(thread.anchor.from, currentDocument.bodyOffset),
879
- );
880
- if (coords) {
881
- view.dom.scrollTo({
882
- top: coords.top - 100, // Offset from top
883
- behavior: getScrollBehavior(),
884
- });
885
- }
886
- }
887
- }
888
-
889
- /**
890
- * Handle thread selection from the comment sidebar.
891
- * Scrolls to the thread and opens its popover.
892
- */
893
- function handleSidebarThreadSelect(threadId: string): void {
894
- const thread = threads.find((t) => t.id === threadId);
895
- if (!thread) return;
896
-
897
- // Set active thread
898
- activeThreadId = threadId;
899
-
900
- // Scroll to the thread
901
- scrollToThread(threadId);
902
-
903
- // Open popover at anchor position after scroll completes
904
- setTimeout(() => {
905
- const view = editorRef?.getView();
906
- if (view && thread.anchor.from !== undefined) {
907
- const coords = view.coordsAtPos(
908
- documentPositionToBodyPosition(thread.anchor.from, currentDocument.bodyOffset),
909
- );
910
- if (coords) {
911
- popoverPosition = { x: coords.left + 16, y: coords.top };
912
- popoverThreadId = threadId;
913
- }
914
- }
915
- }, POSITION_DELAY_MS);
916
- }
917
-
918
- /**
919
- * Handle request to add a document-level comment from the sidebar.
920
- * The body is provided by the inline CommentComposer in the sidebar.
921
- */
922
- function handleAddDocumentComment(body: string): void {
923
- if (!currentUserId) {
924
- devWarn('Cannot add document comment: no currentUserId');
925
- return;
926
- }
927
-
928
- createDocumentThread(body, currentUserId);
929
- }
930
-
931
- /**
932
- * Get serializable review state.
933
- * Threads are converted to persisted format for re-anchoring.
934
- *
935
- * Content is preserved as the complete Markdown document, including front matter.
936
- */
937
- export function getState(): ReviewState {
938
- const persistedThreads: PersistedThread[] = threads.map((thread) => ({
939
- ...thread,
940
- anchor: {
941
- quote: thread.anchor.quote,
942
- prefix: thread.anchor.prefix,
943
- suffix: thread.anchor.suffix,
944
- status: thread.anchor.status,
945
- blockId: thread.anchor.blockId,
946
- originalPosition: thread.anchor.originalPosition,
947
- originalQuote: thread.anchor.originalQuote, // Preserve for history
948
- lastKnownOffset: thread.anchor.lastKnownOffset, // For disambiguation
949
- },
950
- }));
951
-
952
- return {
953
- schemaVersion: 4,
954
- content: value,
955
- original: original || undefined,
956
- threads: persistedThreads,
957
- reviewSession: undefined,
958
- frontMatter: currentDocument.data,
959
- frontMatterRaw: currentDocument.raw,
960
- updatedAt: new Date().toISOString(),
961
- };
962
- }
963
-
964
- /**
965
- * Restore review state from serialized data.
966
- * Thread anchors are re-anchored using the quote/prefix/suffix context.
967
- *
968
- * Note: This updates both content and original baseline from the incoming state,
969
- * ensuring subsequent diffs and exports use the correct baseline.
970
- */
971
- export function setState(state: ReviewState): void {
972
- const nextValue = reviewStateToMarkdown(state);
973
- value = nextValue;
974
- // Update original baseline if provided in state, so diffs work correctly
975
- if (state.original !== undefined) {
976
- original = state.original;
977
- }
978
- pendingState = { ...state, content: nextValue };
979
-
980
- // Attempt re-anchoring immediately if editor is ready
981
- attemptReanchoring();
982
- }
983
-
984
- /** Get direct access to ProseMirror view (advanced use) */
985
- export function getView() {
986
- return editorRef?.getView() ?? null;
987
- }
988
-
989
- /** Get direct access to Milkdown editor (advanced use) */
990
- export function getEditor() {
991
- return editorRef?.getEditor() ?? null;
992
- }
993
-
994
- // =========================================================================
995
- // Export Operations
996
- // =========================================================================
997
-
998
- /**
999
- * Export an LLM-optimized Markdown summary of the review.
1000
- * Includes document changes and comment threads
1001
- * in a structured format suitable for LLM analysis.
1002
- */
1003
- export function exportMarkdownSummary(
1004
- options: MarkdownSummaryOptions | undefined = undefined,
1005
- ): MarkdownSummaryResult {
1006
- return generateMarkdownSummary(getState(), options);
1007
- }
1008
-
1009
- /**
1010
- * Export a Git-compatible unified diff.
1011
- * The output can be applied with `git apply` or `patch` command.
1012
- */
1013
- export function exportUnifiedDiff(
1014
- options: UnifiedDiffOptions | undefined = undefined,
1015
- ): UnifiedDiffResult {
1016
- return generateUnifiedDiff(getState(), options);
1017
- }
1018
-
1019
- // =========================================================================
1020
- // Export Action Callbacks (for ExportActions component)
1021
- // =========================================================================
1022
-
1023
- /** Get plain markdown content for clipboard export */
1024
- function handleExportContent(): string {
1025
- return value;
1026
- }
1027
-
1028
- /** Get LLM-optimized summary for clipboard export */
1029
- function handleExportSummary(): string {
1030
- return exportMarkdownSummary().markdown;
1031
- }
1032
-
1033
- /** Get JSON state for clipboard export */
1034
- function handleExportJSON(): string {
1035
- const json = stringifyOrNull(getState());
1036
- // Return error message if serialization fails (circular refs, BigInt, etc.)
1037
- // This prevents copying invalid JSON like "[object Object]" to clipboard
1038
- if (json === null) {
1039
- return '{"error": "Failed to serialize editor state"}';
1040
- }
1041
- return json;
1042
- }
1043
-
1044
- /** Get unified diff for clipboard export */
1045
- function handleExportDiff(): string {
1046
- return exportUnifiedDiff().diff;
1047
- }
1048
-
1049
- /** Get comments export for clipboard export */
1050
- function handleExportComments(): string {
1051
- return generateCommentsExport(getState()).markdown;
1052
- }
1053
-
1054
- // =========================================================================
1055
- // Form Participation (FormData integration)
1056
- // =========================================================================
1057
-
1058
- /**
1059
- * Derive field name with optional prefix.
1060
- * Used for hidden inputs when participating in a parent form.
1061
- */
1062
- function getFieldName(field: string): string {
1063
- return name ? `${name}-${field}` : field;
1064
- }
1065
-
1066
- /**
1067
- * Derived values for hidden inputs (computed reactively).
1068
- * These power both the hidden form inputs and the getFormData() method.
1069
- */
1070
- const formOriginal = $derived(original);
1071
- const formCurrent = $derived(value);
1072
- const formComments = $derived(JSON.stringify(threads));
1073
- const formDiff = $derived(exportUnifiedDiff().diff);
1074
- const formSummary = $derived(exportMarkdownSummary().markdown);
1075
-
1076
- /**
1077
- * Get form data as a structured object.
1078
- * Use this for programmatic access when not using native form submission.
1079
- *
1080
- * @example
1081
- * ```ts
1082
- * const data = editor.getFormData();
1083
- * await fetch('/api/review', {
1084
- * method: 'POST',
1085
- * body: JSON.stringify(data)
1086
- * });
1087
- * ```
1088
- */
1089
- export function getFormData(): ReviewFormData {
1090
- return {
1091
- original: formOriginal,
1092
- current: formCurrent,
1093
- comments: formComments,
1094
- diff: formDiff,
1095
- summary: formSummary,
1096
- };
1097
- }
1098
-
1099
- /**
1100
- * Reset the editor to its initial state.
1101
- * Reverts content to original and clears all threads.
1102
- */
1103
- export function reset(): void {
1104
- // Revert content
1105
- value = original;
1106
- onchange?.(original);
1107
-
1108
- // Clear all threads
1109
- for (const thread of threads) {
1110
- onthreaddelete?.({ threadId: thread.id });
1111
- }
1112
-
1113
- // Clear UI state
1114
- popoverThreadId = null;
1115
- popoverPosition = null;
1116
- activeThreadId = null;
1117
- activeView = 'editor';
1118
- selectionPopoverPosition = null;
1119
- capturedSelectionForPopover = null;
1120
- selectionPopoverExpanded = false;
1121
-
1122
- announce('Review reset');
1123
- }
1124
-
1125
- // =========================================================================
1126
- // Selection Popover Handlers
1127
- // =========================================================================
1128
-
1129
- /**
1130
- * Handle the comment submission from the selection popover.
1131
- * Creates a new thread at the captured selection using currentUserId as author.
1132
- *
1133
- * We use capturedSelectionForPopover instead of currentSelection because
1134
- * clicking the popover button collapses the browser selection before this runs.
1135
- *
1136
- * @param body - The comment body from the selection popover form
1137
- */
1138
- function handleSelectionComment(body: string): void {
1139
- // Helper to clear popover state and announce failure
1140
- function failWithMessage(message: string): void {
1141
- devWarn(message);
1142
- selectionPopoverPosition = null;
1143
- capturedSelectionForPopover = null;
1144
- selectionPopoverExpanded = false;
1145
- announce('Could not add comment. Please try selecting text again.', 'assertive');
1146
- }
1147
-
1148
- if (!currentUserId) {
1149
- failWithMessage('Cannot create comment: no currentUserId set');
1150
- return;
1151
- }
1152
-
1153
- // Use captured selection - clicking the popover collapses browser selection
1154
- if (!capturedSelectionForPopover) {
1155
- failWithMessage('Cannot create comment: no captured selection');
1156
- return;
1157
- }
1158
-
1159
- if (mode === 'readonly') {
1160
- failWithMessage('Cannot create thread: editor is readonly');
1161
- return;
1162
- }
1163
-
1164
- const view = editorRef?.getView();
1165
- if (!view) {
1166
- failWithMessage('Cannot create thread: editor view not available');
1167
- return;
1168
- }
1169
-
1170
- const { from, to } = capturedSelectionForPopover;
1171
-
1172
- // Validate positions are still within document bounds
1173
- // User may have edited the document while popover was expanded
1174
- const docSize = view.state.doc.content.size;
1175
- if (from < 0 || to > docSize || from > to) {
1176
- failWithMessage('Cannot create thread: captured selection is out of bounds');
1177
- return;
1178
- }
1179
-
1180
- // Build anchor using shared helper
1181
- const anchor = bodyAnchorToDocumentAnchor(
1182
- buildAnchorFromSelection(view, from, to),
1183
- currentDocument.bodyOffset,
1184
- value,
1185
- );
1186
-
1187
- // Generate requestId for correlating optimistic updates
1188
- const requestId = generateId();
1189
-
1190
- // Extract @mentions from the comment body
1191
- const mentions = extractMentions(body);
1192
-
1193
- // Fire the create event with the comment body
1194
- const event: ThreadCreateEvent = {
1195
- requestId,
1196
- anchor,
1197
- body,
1198
- authorId: currentUserId,
1199
- mentions: mentions.length > 0 ? mentions : undefined,
1200
- };
1201
- onthreadcreate?.(event);
1202
-
1203
- // Clear state
1204
- capturedSelectionForPopover = null;
1205
- selectionPopoverPosition = null;
1206
- selectionPopoverExpanded = false;
1207
-
1208
- announce('Comment added');
1209
- }
1210
-
1211
- /**
1212
- * Handle the selection popover expanding to show the comment form.
1213
- * This keeps the popover visible even when the browser selection collapses.
1214
- */
1215
- function handleSelectionPopoverExpand(): void {
1216
- selectionPopoverExpanded = true;
1217
- }
1218
-
1219
- /**
1220
- * Handle the selection popover cancel action.
1221
- * Resets expanded state so new selections can be processed.
1222
- */
1223
- function handleSelectionPopoverCancel(): void {
1224
- selectionPopoverExpanded = false;
1225
- // Keep position and captured selection so user can re-expand if they want
1226
- }
1227
-
1228
- /**
1229
- * Close the selection popover.
1230
- */
1231
- function handleSelectionPopoverClose(): void {
1232
- selectionPopoverPosition = null;
1233
- capturedSelectionForPopover = null;
1234
- selectionPopoverExpanded = false;
1235
- }
1236
-
1237
- // =========================================================================
1238
- // Thread Operations
1239
- // =========================================================================
1240
-
1241
- /**
1242
- * Create a new thread at the current selection.
1243
- * Requires non-collapsed selection in edit or comment mode.
1244
- *
1245
- * Returns requestId for correlating with backend response, or null if creation failed.
1246
- *
1247
- * No-op (returns null) if:
1248
- * - No text is selected (collapsed selection)
1249
- * - Editor is in readonly mode
1250
- * - Editor view is not available
1251
- */
1252
- export function createThread(body: string, authorId: string): string | null {
1253
- if (!currentSelection || currentSelection.isCollapsed) {
1254
- devWarn('Cannot create thread: no text selected');
1255
- return null;
1256
- }
1257
-
1258
- if (mode === 'readonly') {
1259
- devWarn('Cannot create thread: editor is readonly');
1260
- return null;
1261
- }
1262
-
1263
- const view = editorRef?.getView();
1264
- if (!view) {
1265
- devWarn('Cannot create thread: editor view not available');
1266
- return null;
1267
- }
1268
-
1269
- const { from, to } = currentSelection;
1270
-
1271
- // Build anchor using shared helper
1272
- const anchor = bodyAnchorToDocumentAnchor(
1273
- buildAnchorFromSelection(view, from, to),
1274
- currentDocument.bodyOffset,
1275
- value,
1276
- );
1277
-
1278
- // Extract mentions from comment body
1279
- const mentions = extractMentions(body);
1280
-
1281
- // Generate requestId for correlating optimistic updates
1282
- const requestId = generateId();
1283
-
1284
- // Fire the create event (parent handles actual thread creation)
1285
- const event: ThreadCreateEvent = {
1286
- requestId,
1287
- anchor,
1288
- body,
1289
- authorId,
1290
- mentions: mentions.length > 0 ? mentions : undefined,
1291
- };
1292
- onthreadcreate?.(event);
1293
-
1294
- announce('Comment added');
1295
- return requestId;
1296
- }
1297
-
1298
- /**
1299
- * Create a document-level comment thread.
1300
- *
1301
- * Document-level comments are not anchored to specific text but apply to
1302
- * the entire document. They appear at the top of the comment sidebar.
1303
- *
1304
- * Returns requestId for correlating with backend response, or null if creation failed.
1305
- */
1306
- export function createDocumentThread(body: string, authorId: string): string | null {
1307
- if (mode === 'readonly') {
1308
- devWarn('Cannot create thread: editor is readonly');
1309
- return null;
1310
- }
1311
-
1312
- // Create document-level anchor
1313
- const anchor = createDocumentAnchor();
1314
-
1315
- // Extract mentions from comment body
1316
- const mentions = extractMentions(body);
1317
-
1318
- // Generate requestId for correlating optimistic updates
1319
- const requestId = generateId();
1320
-
1321
- // Fire the create event (parent handles actual thread creation)
1322
- const event: ThreadCreateEvent = {
1323
- requestId,
1324
- anchor,
1325
- body,
1326
- authorId,
1327
- mentions: mentions.length > 0 ? mentions : undefined,
1328
- };
1329
- onthreadcreate?.(event);
1330
-
1331
- announce('Document comment added');
1332
- return requestId;
1333
- }
1334
-
1335
- /**
1336
- * Delete a thread.
1337
- *
1338
- * Silently returns without emitting an event if:
1339
- * - Editor is in readonly mode (mode === 'readonly')
1340
- * - Thread does not exist
1341
- *
1342
- * This silent no-op behavior supports declarative UI patterns where callers
1343
- * don't need to pre-check conditions before calling mutation methods.
1344
- */
1345
- export function deleteThread(threadId: string): void {
1346
- if (mode === 'readonly') return;
1347
-
1348
- const thread = threads.find((t) => t.id === threadId);
1349
- if (!thread) return;
1350
-
1351
- onthreaddelete?.({ threadId });
1352
- }
1353
-
1354
- /**
1355
- * Delete all threads (clear all comments).
1356
- *
1357
- * Silently does nothing if:
1358
- * - Editor is in readonly mode (mode === 'readonly')
1359
- * - No threads exist
1360
- *
1361
- * Fires onthreaddelete for each thread.
1362
- */
1363
- export function clearAllThreads(): void {
1364
- if (mode === 'readonly') return;
1365
- if (threads.length === 0) return;
1366
-
1367
- // Fire delete event for each thread
1368
- for (const thread of threads) {
1369
- onthreaddelete?.({ threadId: thread.id });
1370
- }
1371
-
1372
- // Clear any active selection state
1373
- popoverThreadId = null;
1374
- popoverPosition = null;
1375
- activeThreadId = null;
1376
-
1377
- announce('All comments cleared');
1378
- }
1379
-
1380
- // =========================================================================
1381
- // Comment Operations
1382
- // =========================================================================
1383
-
1384
- /**
1385
- * Create a new comment in an existing thread.
1386
- *
1387
- * @returns requestId for correlating with backend response, or null if creation was blocked
1388
- *
1389
- * Silently returns null without emitting an event if:
1390
- * - Editor is in readonly mode (mode === 'readonly')
1391
- * - Thread does not exist
1392
- *
1393
- * This silent no-op behavior supports declarative UI patterns where callers
1394
- * don't need to pre-check conditions before calling mutation methods.
1395
- */
1396
- export function createComment(threadId: string, body: string, authorId: string): string | null {
1397
- if (mode === 'readonly') return null;
1398
-
1399
- const thread = threads.find((t) => t.id === threadId);
1400
- if (!thread) return null;
1401
-
1402
- const mentions = extractMentions(body);
1403
- const requestId = generateId();
1404
-
1405
- oncommentcreate?.({
1406
- requestId,
1407
- threadId,
1408
- body,
1409
- authorId,
1410
- mentions: mentions.length > 0 ? mentions : undefined,
1411
- });
1412
-
1413
- announce('Comment added');
1414
- return requestId;
1415
- }
1416
-
1417
- /**
1418
- * Update an existing comment.
1419
- *
1420
- * Silently returns without emitting an event if:
1421
- * - Editor is in readonly mode (mode === 'readonly')
1422
- * - Thread or comment does not exist
1423
- * - Comment is soft-deleted
1424
- *
1425
- * This silent no-op behavior supports declarative UI patterns where callers
1426
- * don't need to pre-check conditions before calling mutation methods.
1427
- */
1428
- export function updateComment(threadId: string, commentId: string, body: string): void {
1429
- if (mode === 'readonly') return;
1430
-
1431
- const thread = threads.find((t) => t.id === threadId);
1432
- const comment = thread?.comments.find((c) => c.id === commentId);
1433
- if (!comment || comment.deletedAt) return;
1434
-
1435
- const mentions = extractMentions(body);
1436
-
1437
- oncommentupdate?.({
1438
- threadId,
1439
- commentId,
1440
- body,
1441
- mentions: mentions.length > 0 ? mentions : undefined,
1442
- });
1443
- }
1444
-
1445
- /**
1446
- * Delete a comment.
1447
- *
1448
- * Silently returns without emitting an event if:
1449
- * - Editor is in readonly mode (mode === 'readonly')
1450
- * - Thread or comment does not exist
1451
- * - Soft delete is requested but comment is already soft-deleted
1452
- *
1453
- * This silent no-op behavior supports declarative UI patterns where callers
1454
- * don't need to pre-check conditions before calling mutation methods.
1455
- *
1456
- * @param soft - If true (default), sets deletedAt for soft delete. If false, requests hard delete.
1457
- */
1458
- export function deleteComment(threadId: string, commentId: string, soft: boolean = true): void {
1459
- if (mode === 'readonly') return;
1460
-
1461
- const thread = threads.find((t) => t.id === threadId);
1462
- const comment = thread?.comments.find((c) => c.id === commentId);
1463
- if (!comment || (soft && comment.deletedAt)) return;
1464
-
1465
- oncommentdelete?.({ threadId, commentId, soft });
1466
- announce('Comment deleted');
1467
- }
1468
-
1469
- // =========================================================================
1470
- // Block-Level Thread Creation
1471
- // =========================================================================
1472
-
1473
- /**
1474
- * Create a thread anchored to the block containing the cursor.
1475
- * Works even with a collapsed selection (no text selected).
1476
- *
1477
- * Returns requestId for correlating with backend response, or null if creation failed.
1478
- *
1479
- * No-op (returns null) if:
1480
- * - Editor is in readonly mode
1481
- * - Editor view is not available
1482
- * - Cursor is not inside a block
1483
- */
1484
- export function createBlockThread(body: string, authorId: string): string | null {
1485
- if (mode === 'readonly') {
1486
- devWarn('Cannot create block thread: editor is readonly');
1487
- return null;
1488
- }
1489
-
1490
- const view = editorRef?.getView();
1491
- if (!view) {
1492
- devWarn('Cannot create block thread: editor view not available');
1493
- return null;
1494
- }
1495
-
1496
- const { from } = view.state.selection;
1497
- const resolvedPos = view.state.doc.resolve(from);
1498
-
1499
- // Find the nearest block-level node
1500
- for (let depth = resolvedPos.depth; depth > 0; depth--) {
1501
- const node = resolvedPos.node(depth);
1502
- if (!node.isBlock) continue;
1503
-
1504
- // Get the block's inner positions (content bounds)
1505
- const blockFrom = resolvedPos.start(depth);
1506
- const blockTo = resolvedPos.end(depth);
1507
-
1508
- // Build anchor for the entire block
1509
- const anchor = bodyAnchorToDocumentAnchor(
1510
- buildAnchorFromSelection(view, blockFrom, blockTo),
1511
- currentDocument.bodyOffset,
1512
- value,
1513
- );
1514
-
1515
- // Extract mentions and generate requestId
1516
- const mentions = extractMentions(body);
1517
- const requestId = generateId();
1518
-
1519
- // Fire the create event
1520
- onthreadcreate?.({
1521
- requestId,
1522
- anchor,
1523
- body,
1524
- authorId,
1525
- mentions: mentions.length > 0 ? mentions : undefined,
1526
- });
1527
-
1528
- return requestId;
1529
- }
1530
-
1531
- devWarn('Cannot create block thread: cursor not inside a block');
1532
- return null;
1533
- }
1534
-
1535
- // =========================================================================
1536
- // Keyboard Navigation (F6 Landmark Navigation)
1537
- // =========================================================================
1538
-
1539
- /**
1540
- * Focus regions for F6 navigation.
1541
- * The 'popover' region is conditionally included when a thread popover is open.
1542
- */
1543
- const focusRegions: FocusRegion[] = [
1544
- { id: 'editor', selector: '.review-editor-main', label: 'Editor' },
1545
- { id: 'popover', selector: '.thread-popover', label: 'Thread' },
1546
- ];
1547
-
1548
- /**
1549
- * Focus region navigator with conditional popover inclusion and custom editor focus.
1550
- */
1551
- const focusNavigator = createFocusRegionNavigator(focusRegions, {
1552
- // Only include popover region when a thread popover is actually open
1553
- isRegionActive: (region) => {
1554
- if (region.id === 'popover') {
1555
- return popoverThread !== null;
1556
- }
1557
- return true;
1558
- },
1559
- // Custom focus handler for the editor region (ProseMirror needs special handling)
1560
- customFocusHandler: (region) => {
1561
- if (region.id === 'editor') {
1562
- editorRef?.getView()?.focus();
1563
- return true; // Handled
1564
- }
1565
- return false; // Use default behavior
1566
- },
1567
- });
1568
-
1569
- /**
1570
- * Handle F6 keyboard navigation between regions.
1571
- * Uses event.currentTarget to scope navigation to this specific editor instance,
1572
- * supporting multiple ReviewEditor instances on the same page.
1573
- */
1574
- function handleContainerKeyDown(event: KeyboardEvent): void {
1575
- if (event.key !== 'F6') return;
1576
-
1577
- // Use currentTarget (the element with the listener) to get this specific editor container
1578
- const container = event.currentTarget;
1579
- if (!(container instanceof HTMLElement)) return;
1580
-
1581
- event.preventDefault();
1582
- const current = focusNavigator.getCurrentRegion(container);
1583
- const next = focusNavigator.getNextRegion(current, event.shiftKey);
1584
- focusNavigator.focusRegion(container, next);
1585
- }
1586
- </script>
1587
-
1588
- <!-- Export actions snippet for passing to controls -->
1589
- {#snippet exportActionsSnippet()}
1590
- <ExportActions
1591
- id="{id}-export"
1592
- onexportcontent={handleExportContent}
1593
- onexportsummary={handleExportSummary}
1594
- onexportjson={handleExportJSON}
1595
- onexportdiff={handleExportDiff}
1596
- onexportcomments={handleExportComments}
1597
- />
1598
- {/snippet}
1599
-
1600
- <!--
1601
- The a11y_no_static_element_interactions ignore is intentional:
1602
- F6 landmark navigation requires a container-level keydown listener to cycle
1603
- focus between editor/popover regions. The container itself is not
1604
- interactive; it only captures keyboard events for region-level focus management.
1605
- -->
1606
- <!-- svelte-ignore a11y_no_static_element_interactions -->
1607
- <div
1608
- bind:this={containerElement}
1609
- data-testid="review-editor"
1610
- class={classNames('review-editor-container', className)}
1611
- data-mode={mode}
1612
- data-view={activeView}
1613
- data-ready={editorViewReady && !pendingState ? true : undefined}
1614
- data-snapshot-mode={snapshotMode || undefined}
1615
- onkeydown={handleContainerKeyDown}
1616
- >
1617
- <!-- Screen reader announcements (DEP-47) -->
1618
- <LiveRegion bind:this={liveRegionRef} />
1619
-
1620
- <!-- Hidden form inputs for FormData participation -->
1621
- {#if name}
1622
- <input type="hidden" name={getFieldName('original')} value={formOriginal} />
1623
- <input type="hidden" name={getFieldName('current')} value={formCurrent} />
1624
- <input type="hidden" name={getFieldName('comments')} value={formComments} />
1625
- <input type="hidden" name={getFieldName('diff')} value={formDiff} />
1626
- <input type="hidden" name={getFieldName('summary')} value={formSummary} />
1627
- {/if}
1628
-
1629
- <!-- Unified controls bar - consistent across all views -->
1630
- <ReviewEditorControls
1631
- id="{id}-controls"
1632
- {activeView}
1633
- {viewPanelIds}
1634
- onViewChange={(view) => {
1635
- // Clear selection popover state when leaving editor view
1636
- // Otherwise stale expanded state blocks new selections when returning
1637
- if (view !== 'editor') {
1638
- selectionPopoverPosition = null;
1639
- capturedSelectionForPopover = null;
1640
- selectionPopoverExpanded = false;
1641
- }
1642
- activeView = view;
1643
- announce(`Switched to ${view} view`);
1644
- }}
1645
- showDiffTabs={!!original}
1646
- {diffStats}
1647
- bind:diffViewMode
1648
- {hasContentChanges}
1649
- readonly={isReadonly}
1650
- onRevertAll={() => {
1651
- value = original;
1652
- onchange?.(original);
1653
- announce('All changes reverted');
1654
- }}
1655
- {commentCount}
1656
- {sidebarOpen}
1657
- onSidebarToggle={() => (sidebarOpen = !sidebarOpen)}
1658
- trailing={exportActionsSnippet}
1659
- />
1660
-
1661
- <!-- Main content area -->
1662
- <div class="review-editor-main">
1663
- {#if activeView === 'editor'}
1664
- <!-- Editor view: formatting toolbar + editor content -->
1665
- <div
1666
- id={viewPanelIds.editor}
1667
- class="review-editor-view-panel"
1668
- role="tabpanel"
1669
- aria-label="Editor view"
1670
- >
1671
- {#if currentDocument.hasFrontMatter}
1672
- <FrontMatterFields
1673
- id={`${id}-front-matter`}
1674
- data={currentDocument.data}
1675
- raw={currentDocument.raw}
1676
- readonly={isReadonly}
1677
- onchange={handleFrontMatterChange}
1678
- />
1679
- {/if}
1680
- <MarkdownEditor
1681
- {id}
1682
- bind:this={editorRef}
1683
- value={editorValue}
1684
- mode="wysiwyg"
1685
- readonly={isReadonly}
1686
- {placeholder}
1687
- plugins={[anchorPlugin]}
1688
- {snapshotMode}
1689
- onchange={handleEditorBodyChange}
1690
- onready={() => {
1691
- if (!editorViewReady) {
1692
- editorViewReady = true;
1693
- }
1694
- }}
1695
- onselectionchange={handleSelectionChange}
1696
- />
1697
- </div>
1698
- {:else if activeView === 'diff'}
1699
- <!-- Diff view content -->
1700
- <div
1701
- id={viewPanelIds.diff}
1702
- class="review-editor-view-panel"
1703
- role="tabpanel"
1704
- aria-label="Diff view"
1705
- >
1706
- <DiffViewer {original} current={value} bind:viewMode={diffViewMode} readonly={isReadonly}>
1707
- {#snippet toolbar()}
1708
- <!-- Empty toolbar - controls are in the unified bar above -->
1709
- {/snippet}
1710
- </DiffViewer>
1711
- </div>
1712
- {:else}
1713
- <!-- Summary view (auto-generated, readonly preview) -->
1714
- <div
1715
- id={viewPanelIds.summary}
1716
- class="review-editor-view-panel"
1717
- role="tabpanel"
1718
- aria-label="Summary view"
1719
- >
1720
- {#if hasContentChanges || threads.length > 0}
1721
- <MarkdownEditor
1722
- id="{id}-summary"
1723
- value={summaryContent}
1724
- mode="wysiwyg"
1725
- readonly
1726
- showToolbar={false}
1727
- placeholder=""
1728
- />
1729
- {:else}
1730
- <div class="summary-view" role="region" aria-label="Review summary">
1731
- <div class="summary-empty">
1732
- <p>No changes or comments to summarize.</p>
1733
- <p class="summary-hint">Edit the document or add comments to generate a summary.</p>
1734
- </div>
1735
- </div>
1736
- {/if}
1737
- </div>
1738
- {/if}
1739
- </div>
1740
-
1741
- <!-- Comment sidebar -->
1742
- {#if sidebarOpen}
1743
- <CommentSidebar
1744
- id="{id}-sidebar"
1745
- {threads}
1746
- {activeThreadId}
1747
- readonly={isReadonly}
1748
- onthreadselect={handleSidebarThreadSelect}
1749
- onclearall={clearAllThreads}
1750
- onadddocumentcomment={handleAddDocumentComment}
1751
- />
1752
- {/if}
1753
-
1754
- <!-- Thread popover -->
1755
- {#if popoverThread && popoverPosition}
1756
- <ThreadPopover
1757
- id="{id}-thread-popover"
1758
- thread={popoverThread}
1759
- {currentUserId}
1760
- {mode}
1761
- position={popoverPosition}
1762
- onclose={handlePopoverClose}
1763
- ondelete={handlePopoverDelete}
1764
- oncommentcreate={handlePopoverCommentCreate}
1765
- oncommentupdate={handlePopoverCommentUpdate}
1766
- oncommentdelete={handlePopoverCommentDelete}
1767
- />
1768
- {/if}
1769
-
1770
- <!-- Selection popover for quick comment creation -->
1771
- {#if showSelectionPopover}
1772
- <SelectionPopover
1773
- id="{id}-selection-popover"
1774
- position={selectionPopoverPosition}
1775
- open={showSelectionPopover}
1776
- oncommentsubmit={handleSelectionComment}
1777
- onexpand={handleSelectionPopoverExpand}
1778
- oncancel={handleSelectionPopoverCancel}
1779
- onclose={handleSelectionPopoverClose}
1780
- />
1781
- {/if}
1782
- </div>
1783
-
1784
- <style>
1785
- /*
1786
- * Reset outer border/radius/overflow on the markdown-editor-wrapper when
1787
- * nested inside review-editor-main (.review-editor-main provides the outer shape).
1788
- *
1789
- * :global() is required because .markdown-editor-wrapper is rendered by
1790
- * MarkdownEditor (a child component) and would not match a scoped selector.
1791
- */
1792
- :global(.review-editor-container .review-editor-main .markdown-editor-wrapper) {
1793
- border: none;
1794
- border-radius: 0;
1795
- overflow: visible;
1796
- }
1797
-
1798
- .review-editor-view-panel {
1799
- min-width: 0;
1800
- }
1801
-
1802
- /*
1803
- * Snapshot mode: suppress the blinking caret and text selection highlights
1804
- * so visual regression screenshots are pixel-stable across runs.
1805
- * Scoped to [data-snapshot-mode] so normal editing is completely unaffected.
1806
- */
1807
- .review-editor-container[data-snapshot-mode],
1808
- .review-editor-container[data-snapshot-mode] * {
1809
- caret-color: transparent;
1810
- user-select: none;
1811
- }
1812
- </style>