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