@lostgradient/cinder 0.3.0 → 0.4.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 (921) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +2 -2
  3. package/components.json +138 -86
  4. package/dist/_internal/locale-context.d.ts +9 -0
  5. package/dist/_internal/text-direction.d.ts +4 -0
  6. package/dist/_internal/tree-context.d.ts +2 -0
  7. package/dist/api-contract.d.ts +1 -1
  8. package/dist/components/_internal/create-command-list-state.svelte.d.ts +43 -0
  9. package/dist/components/_internal/create-sliding-dialog-state.svelte.d.ts +26 -0
  10. package/dist/components/access-gate/index.js +379 -513
  11. package/dist/components/alert/alert.css +1 -1
  12. package/dist/components/alert/alert.schema.js +4 -4
  13. package/dist/components/alert/alert.types.d.ts +4 -4
  14. package/dist/components/alert/index.js +4 -4
  15. package/dist/components/alert-dialog/index.js +9 -3
  16. package/dist/components/approval-card/approval-card-state.d.ts +3 -0
  17. package/dist/components/approval-card/approval-card.css +239 -0
  18. package/dist/components/approval-card/approval-card.schema.js +236 -0
  19. package/dist/components/approval-card/approval-card.svelte.d.ts +21 -0
  20. package/dist/components/approval-card/approval-card.types.d.ts +155 -0
  21. package/dist/components/{subscription-badge/subscription-badge.variables.js → approval-card/approval-card.variables.js} +4 -4
  22. package/dist/components/approval-card/index.d.ts +5 -0
  23. package/dist/components/approval-card/index.js +3794 -0
  24. package/dist/components/autocomplete/autocomplete.css +12 -1
  25. package/dist/components/autocomplete/index.js +106 -81
  26. package/dist/components/avatar-group/index.js +3 -2
  27. package/dist/components/badge/badge.schema.js +6 -3
  28. package/dist/components/badge/badge.svelte.d.ts +4 -0
  29. package/dist/components/badge/badge.types.d.ts +18 -4
  30. package/dist/components/badge/index.d.ts +1 -1
  31. package/dist/components/badge/index.js +99 -3
  32. package/dist/components/banner/banner.schema.js +2 -2
  33. package/dist/components/banner/banner.types.d.ts +1 -1
  34. package/dist/components/banner/index.js +3 -3
  35. package/dist/components/button/button.css +1 -1
  36. package/dist/components/capability-gate/capability-gate.css +15 -2
  37. package/dist/components/capability-gate/capability-gate.schema.js +4 -4
  38. package/dist/components/capability-gate/capability-gate.types.d.ts +6 -6
  39. package/dist/components/capability-gate/index.js +7 -7
  40. package/dist/components/chat/chat.schema.js +11 -26
  41. package/dist/components/chat/chat.types.d.ts +30 -15
  42. package/dist/components/chat/container/chat-events.d.ts +2 -2
  43. package/dist/components/chat/container/chat-history-trigger.svelte.d.ts +1 -1
  44. package/dist/components/chat/container/chat.svelte.d.ts +1 -1
  45. package/dist/components/chat/container/use-chat-scroll-state.svelte.d.ts +4 -4
  46. package/dist/components/chat/container/use-chat-unread-state.svelte.d.ts +6 -6
  47. package/dist/components/chat/index.d.ts +1 -1
  48. package/dist/components/chat/index.js +2257 -1913
  49. package/dist/components/chat/input/chat-input.svelte.d.ts +3 -1
  50. package/dist/components/chat-conversation-header/index.js +261 -29
  51. package/dist/components/chat-conversation-list/chat-conversation-list.css +13 -0
  52. package/dist/components/checkbox/checkbox.css +3 -0
  53. package/dist/components/checkbox/checkbox.schema.js +6 -1
  54. package/dist/components/checkbox/checkbox.types.d.ts +2 -0
  55. package/dist/components/checkbox/index.js +78 -22
  56. package/dist/components/checkbox-group/checkbox-group.css +3 -0
  57. package/dist/components/checkbox-group/checkbox-group.schema.js +4 -4
  58. package/dist/components/checkbox-group/checkbox-group.types.d.ts +12 -7
  59. package/dist/components/checkbox-group/index.js +50 -21
  60. package/dist/components/choice-grid/index.js +2 -2
  61. package/dist/components/choice-grid-item/index.js +2 -2
  62. package/dist/components/click-away-listener/click-away-listener.schema.js +3 -3
  63. package/dist/components/click-away-listener/click-away-listener.types.d.ts +3 -3
  64. package/dist/components/click-away-listener/index.js +3 -3
  65. package/dist/components/code-block/code-block.css +4 -3
  66. package/dist/components/code-block/index.js +6 -5
  67. package/dist/components/collapsible/collapsible.schema.js +2 -2
  68. package/dist/components/collapsible/collapsible.types.d.ts +2 -2
  69. package/dist/components/collapsible/index.js +3 -3
  70. package/dist/components/color-field/color-field.schema.js +3 -3
  71. package/dist/components/color-field/color-field.types.d.ts +2 -2
  72. package/dist/components/color-field/index.js +133 -69
  73. package/dist/components/color-picker/index.js +29 -18
  74. package/dist/components/color-swatch-picker/index.js +29 -18
  75. package/dist/components/combobox/combobox.schema.js +6 -2
  76. package/dist/components/combobox/combobox.types.d.ts +7 -1
  77. package/dist/components/combobox/index.js +112 -60
  78. package/dist/components/command-item/command-item.css +10 -0
  79. package/dist/components/command-item/command-item.schema.js +9 -1
  80. package/dist/components/command-item/command-item.types.d.ts +4 -0
  81. package/dist/components/command-item/index.js +9 -1
  82. package/dist/components/command-menu/index.js +257 -161
  83. package/dist/components/command-palette/command-palette.schema.js +2 -3
  84. package/dist/components/command-palette/command-palette.types.d.ts +1 -2
  85. package/dist/components/command-palette/index.js +282 -192
  86. package/dist/components/confirm-dialog/index.js +9 -3
  87. package/dist/components/context-menu/context-menu.context.d.ts +2 -0
  88. package/dist/components/context-menu/index.js +300 -40
  89. package/dist/components/context-menu-trigger/index.js +11 -8
  90. package/dist/components/copy-button/index.js +6 -5
  91. package/dist/components/data-grid/_internal/column-model.svelte.d.ts +1 -0
  92. package/dist/components/data-grid/data-grid.css +25 -0
  93. package/dist/components/data-grid/data-grid.schema.js +3 -3
  94. package/dist/components/data-grid/data-grid.types.d.ts +8 -2
  95. package/dist/components/data-grid/index.js +11 -8
  96. package/dist/components/data-list/data-list.schema.js +7 -10
  97. package/dist/components/data-list/data-list.types.d.ts +5 -9
  98. package/dist/components/data-list/index.js +15 -39
  99. package/dist/components/data-table/data-table.css +13 -0
  100. package/dist/components/data-table/index.js +32 -19
  101. package/dist/components/date-range-field/date-range-field.schema.js +7 -3
  102. package/dist/components/date-range-field/date-range-field.svelte.d.ts +2 -2
  103. package/dist/components/date-range-field/date-range-field.types.d.ts +15 -10
  104. package/dist/components/date-range-field/index.d.ts +1 -1
  105. package/dist/components/date-range-field/index.js +160 -17
  106. package/dist/components/diff-viewer/diff-front-matter.svelte.d.ts +2 -2
  107. package/dist/components/diff-viewer/diff-line.svelte.d.ts +2 -2
  108. package/dist/components/diff-viewer/diff-toolbar.svelte.d.ts +2 -2
  109. package/dist/components/diff-viewer/diff-viewer.svelte.d.ts +1 -1
  110. package/dist/components/diff-viewer/diff-viewer.types.d.ts +3 -3
  111. package/dist/components/diff-viewer/index.d.ts +1 -1
  112. package/dist/components/diff-viewer/index.js +171 -67
  113. package/dist/components/drawer/index.js +353 -283
  114. package/dist/components/dropdown/dropdown.css +7 -1
  115. package/dist/components/dropdown/dropdown.types.d.ts +3 -0
  116. package/dist/components/dropdown/index.js +267 -35
  117. package/dist/components/dropdown-group/dropdown-group.schema.js +4 -4
  118. package/dist/components/dropdown-group/dropdown-group.types.d.ts +4 -4
  119. package/dist/components/dropdown-group/index.js +7 -7
  120. package/dist/components/dropdown-item/dropdown-item.schema.js +9 -1
  121. package/dist/components/dropdown-item/dropdown-item.types.d.ts +5 -0
  122. package/dist/components/dropdown-item/index.js +13 -8
  123. package/dist/components/dropdown-menu/index.js +236 -14
  124. package/dist/components/dropdown-trigger/index.js +11 -12
  125. package/dist/components/event-stream-viewer/event-stream-viewer-keys.d.ts +6 -0
  126. package/dist/components/event-stream-viewer/event-stream-viewer.css +46 -0
  127. package/dist/components/event-stream-viewer/event-stream-viewer.schema.js +83 -10
  128. package/dist/components/event-stream-viewer/event-stream-viewer.svelte.d.ts +3 -3
  129. package/dist/components/event-stream-viewer/event-stream-viewer.types.d.ts +124 -3
  130. package/dist/components/event-stream-viewer/index.d.ts +1 -1
  131. package/dist/components/event-stream-viewer/index.js +764 -409
  132. package/dist/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
  133. package/dist/components/faceted-filter-bar/index.js +25 -6
  134. package/dist/components/file-upload/file-upload.css +5 -5
  135. package/dist/components/floating-action-button/floating-action-button.css +22 -22
  136. package/dist/components/floating-action-button/floating-action-button.schema.js +5 -5
  137. package/dist/components/floating-action-button/floating-action-button.svelte.d.ts +1 -1
  138. package/dist/components/floating-action-button/floating-action-button.types.d.ts +21 -21
  139. package/dist/components/floating-action-button/index.d.ts +1 -1
  140. package/dist/components/floating-action-button/index.js +8 -8
  141. package/dist/components/form-field/form-field.css +3 -13
  142. package/dist/components/form-field/index.js +2 -2
  143. package/dist/components/hover-card/index.js +3 -2
  144. package/dist/components/input/index.js +131 -67
  145. package/dist/components/input/input.schema.js +6 -1
  146. package/dist/components/input/input.types.d.ts +2 -0
  147. package/dist/components/invocation-rule-builder/index.d.ts +1 -1
  148. package/dist/components/invocation-rule-builder/index.js +184 -107
  149. package/dist/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
  150. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +133 -35
  151. package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +2 -2
  152. package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +85 -8
  153. package/dist/components/json-schema-editor/form-view.svelte.d.ts +1 -0
  154. package/dist/components/json-schema-editor/index.js +677 -357
  155. package/dist/components/json-schema-editor/json-schema-editor.css +6 -1
  156. package/dist/components/json-schema-editor/json-schema-toolbar.svelte.d.ts +1 -0
  157. package/dist/components/json-schema-editor/property-editor.svelte.d.ts +2 -0
  158. package/dist/components/json-schema-editor/property-list-validation.d.ts +1 -0
  159. package/dist/components/json-schema-editor/property-list.svelte.d.ts +1 -0
  160. package/dist/components/json-viewer/_json-viewer-node.svelte.d.ts +3 -0
  161. package/dist/components/json-viewer/index.js +112 -26
  162. package/dist/components/json-viewer/json-viewer.css +11 -0
  163. package/dist/components/kanban-board/index.js +18 -13
  164. package/dist/components/kanban-board/kanban-board.css +56 -3
  165. package/dist/components/keyboard-shortcuts/index.js +2 -2
  166. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
  167. package/dist/components/label/index.js +2 -2
  168. package/dist/components/label/label.css +2 -9
  169. package/dist/components/load-more/index.js +4 -4
  170. package/dist/components/load-more/load-more.css +13 -5
  171. package/dist/components/load-more/load-more.schema.js +4 -4
  172. package/dist/components/load-more/load-more.types.d.ts +3 -3
  173. package/dist/components/locale-provider/index.d.ts +4 -0
  174. package/dist/components/locale-provider/index.js +76 -0
  175. package/dist/components/{connection-indicator/connection-indicator.schema.js → locale-provider/locale-provider.schema.js} +18 -14
  176. package/dist/components/locale-provider/locale-provider.svelte.d.ts +17 -0
  177. package/dist/components/locale-provider/locale-provider.types.d.ts +17 -0
  178. package/dist/components/{connection-indicator/connection-indicator.variables.js → locale-provider/locale-provider.variables.js} +4 -4
  179. package/dist/components/markdown-editor/editor-toolbar/editor-toolbar.svelte.d.ts +2 -0
  180. package/dist/components/markdown-editor/index.js +437 -128
  181. package/dist/components/markdown-editor/markdown-editor.schema.js +4 -4
  182. package/dist/components/markdown-editor/markdown-editor.types.d.ts +4 -4
  183. package/dist/components/masonry/masonry.schema.js +4 -3
  184. package/dist/components/masonry/masonry.types.d.ts +13 -2
  185. package/dist/components/matrix-chart/index.js +245 -224
  186. package/dist/components/media-controls/index.js +7 -7
  187. package/dist/components/media-controls/media-controls.css +15 -4
  188. package/dist/components/media-controls/media-controls.schema.js +4 -4
  189. package/dist/components/media-controls/media-controls.types.d.ts +7 -7
  190. package/dist/components/menu-bar/menu-bar.css +11 -0
  191. package/dist/components/menu-bar/menu-bar.svelte.d.ts +1 -0
  192. package/dist/components/modal/index.js +9 -3
  193. package/dist/components/navigation-bar/index.js +4 -4
  194. package/dist/components/navigation-bar/navigation-bar.schema.js +2 -2
  195. package/dist/components/navigation-bar/navigation-bar.types.d.ts +1 -1
  196. package/dist/components/number-input/index.js +88 -42
  197. package/dist/components/number-input/number-input.schema.js +4 -3
  198. package/dist/components/number-input/number-input.types.d.ts +16 -5
  199. package/dist/components/payload-inspector/index.d.ts +1 -1
  200. package/dist/components/payload-inspector/index.js +271 -64
  201. package/dist/components/payload-inspector/payload-inspector.css +6 -0
  202. package/dist/components/payload-inspector/payload-inspector.schema.js +27 -15
  203. package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +2 -2
  204. package/dist/components/payload-inspector/payload-inspector.types.d.ts +52 -3
  205. package/dist/components/permission-matrix/permission-matrix.css +10 -0
  206. package/dist/components/phone-input/index.js +56 -33
  207. package/dist/components/phone-input/phone-input.schema.js +2 -2
  208. package/dist/components/phone-input/phone-input.types.d.ts +3 -2
  209. package/dist/components/pin-input/index.js +46 -41
  210. package/dist/components/pin-input/pin-input.schema.js +9 -2
  211. package/dist/components/pin-input/pin-input.types.d.ts +10 -1
  212. package/dist/components/popover/index.js +11 -4
  213. package/dist/components/portal/index.js +3 -2
  214. package/dist/components/pricing-card/index.js +22 -7
  215. package/dist/components/radio-group/index.js +51 -21
  216. package/dist/components/radio-group/radio-group.css +3 -0
  217. package/dist/components/radio-group/radio-group.schema.js +3 -3
  218. package/dist/components/radio-group/radio-group.types.d.ts +6 -2
  219. package/dist/components/rating/index.js +1 -6
  220. package/dist/components/rating/rating.schema.js +9 -2
  221. package/dist/components/rating/rating.types.d.ts +6 -0
  222. package/dist/components/review-editor/comment-list.svelte.d.ts +1 -1
  223. package/dist/components/review-editor/index.d.ts +1 -1
  224. package/dist/components/review-editor/index.js +789 -314
  225. package/dist/components/review-editor/review-editor-controls.svelte.d.ts +1 -1
  226. package/dist/components/review-editor/review-editor-impl.svelte.d.ts +4 -4
  227. package/dist/components/review-editor/review-editor-selection-types.d.ts +1 -1
  228. package/dist/components/review-editor/review-editor-state.svelte.d.ts +1 -1
  229. package/dist/components/review-editor/review-editor-threads.svelte.d.ts +2 -2
  230. package/dist/components/review-editor/review-editor.svelte.d.ts +2 -1
  231. package/dist/components/review-editor/review-editor.types.d.ts +77 -3
  232. package/dist/components/review-editor/thread-popover.svelte.d.ts +1 -1
  233. package/dist/components/run-step-timeline/index.d.ts +1 -1
  234. package/dist/components/run-step-timeline/index.js +747 -273
  235. package/dist/components/run-step-timeline/run-step-timeline.css +25 -5
  236. package/dist/components/run-step-timeline/run-step-timeline.schema.js +351 -21
  237. package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +1 -1
  238. package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +184 -3
  239. package/dist/components/schema-form/index.d.ts +1 -1
  240. package/dist/components/schema-form/index.js +1916 -474
  241. package/dist/components/schema-form/schema-form-async.fixture.d.ts +1 -0
  242. package/dist/components/schema-form/schema-form-body.svelte.d.ts +25 -0
  243. package/dist/components/schema-form/schema-form-model.d.ts +1 -4
  244. package/dist/components/schema-form/schema-form-validation.d.ts +1 -2
  245. package/dist/components/schema-form/schema-form.css +12 -74
  246. package/dist/components/schema-form/schema-form.schema.js +10 -3
  247. package/dist/components/schema-form/schema-form.svelte.d.ts +3 -3
  248. package/dist/components/schema-form/schema-form.types.d.ts +15 -8
  249. package/dist/components/scroll-area/index.js +3 -3
  250. package/dist/components/scroll-area/scroll-area.schema.js +2 -2
  251. package/dist/components/scroll-area/scroll-area.types.d.ts +1 -1
  252. package/dist/components/secret-value-field/index.js +10 -4
  253. package/dist/components/secret-value-field/secret-value-field.svelte.d.ts +1 -1
  254. package/dist/components/segmented-control/segmented-control.css +22 -1
  255. package/dist/components/select/index.js +37 -24
  256. package/dist/components/select/select.css +9 -2
  257. package/dist/components/selection-popover/index.js +11 -4
  258. package/dist/components/share-card/index.js +3 -4
  259. package/dist/components/share-card/share-card.css +15 -4
  260. package/dist/components/sheet/index.js +365 -300
  261. package/dist/components/shortcut-hint/index.js +3 -3
  262. package/dist/components/sidebar/index.js +423 -353
  263. package/dist/components/sidebar/sidebar.schema.js +2 -2
  264. package/dist/components/sidebar/sidebar.types.d.ts +1 -1
  265. package/dist/components/slider/index.js +211 -9
  266. package/dist/components/slider/slider.css +14 -9
  267. package/dist/components/sortable-list/sortable-list.css +1 -1
  268. package/dist/components/spectrogram/index.js +224 -203
  269. package/dist/components/spectrum-chart/index.js +208 -187
  270. package/dist/components/speed-dial/index.js +11 -11
  271. package/dist/components/speed-dial/speed-dial.css +3 -3
  272. package/dist/components/speed-dial-action/index.js +9 -9
  273. package/dist/components/stat/index.js +26 -4
  274. package/dist/components/stat/stat.schema.js +2 -2
  275. package/dist/components/stat/stat.types.d.ts +2 -2
  276. package/dist/components/stat-group/index.js +26 -4
  277. package/dist/components/stat-group/stat-group.css +1 -1
  278. package/dist/components/status-dot/index.d.ts +1 -1
  279. package/dist/components/status-dot/index.js +47 -8
  280. package/dist/components/status-dot/status-dot.css +45 -1
  281. package/dist/components/status-dot/status-dot.schema.js +12 -5
  282. package/dist/components/status-dot/status-dot.svelte.d.ts +5 -1
  283. package/dist/components/status-dot/status-dot.types.d.ts +16 -6
  284. package/dist/components/steps/steps.css +3 -3
  285. package/dist/components/table/index.js +23 -17
  286. package/dist/components/table/table.css +10 -0
  287. package/dist/components/table/table.types.d.ts +3 -3
  288. package/dist/components/table-header/index.js +5 -5
  289. package/dist/components/table-header/table-header.schema.js +3 -3
  290. package/dist/components/table-header/table-header.types.d.ts +2 -2
  291. package/dist/components/table-header-cell/index.js +11 -5
  292. package/dist/components/table-row/index.js +7 -7
  293. package/dist/components/table-row/table-row.schema.js +3 -3
  294. package/dist/components/table-row/table-row.types.d.ts +6 -6
  295. package/dist/components/tabs/index.js +17 -4
  296. package/dist/components/tabs/tabs.schema.js +6 -1
  297. package/dist/components/tabs/tabs.types.d.ts +2 -0
  298. package/dist/components/textarea/index.js +37 -24
  299. package/dist/components/textarea/textarea.css +16 -1
  300. package/dist/components/time-field/index.d.ts +5 -0
  301. package/dist/components/time-field/index.js +456 -0
  302. package/dist/components/time-field/time-field.css +60 -0
  303. package/dist/components/time-field/time-field.schema.d.ts +3 -0
  304. package/dist/components/time-field/time-field.schema.js +107 -0
  305. package/dist/components/time-field/time-field.svelte.d.ts +18 -0
  306. package/dist/components/time-field/time-field.types.d.ts +63 -0
  307. package/dist/components/time-field/time-field.variables.d.ts +2 -0
  308. package/dist/components/{experimental/connection-indicator/index.js → time-field/time-field.variables.js} +5 -14
  309. package/dist/components/toggle/index.js +39 -7
  310. package/dist/components/toggle/toggle.schema.js +11 -2
  311. package/dist/components/toggle/toggle.types.d.ts +2 -0
  312. package/dist/components/tooltip/index.js +3 -2
  313. package/dist/components/transfer-list/index.js +41 -11
  314. package/dist/components/transfer-list/transfer-list.css +22 -0
  315. package/dist/components/transfer-list/transfer-list.schema.js +2 -2
  316. package/dist/components/transfer-list/transfer-list.types.d.ts +2 -2
  317. package/dist/components/tree/index.js +238 -153
  318. package/dist/components/tree/tree.css +69 -0
  319. package/dist/components/tree/tree.schema.js +3 -3
  320. package/dist/components/tree/tree.types.d.ts +2 -2
  321. package/dist/components/tree-item/index.js +107 -68
  322. package/dist/components/tree-item/tree-item.schema.js +5 -5
  323. package/dist/components/tree-item/tree-item.types.d.ts +4 -4
  324. package/dist/components/virtual-list/index.js +98 -63
  325. package/dist/components/waveform/index.js +185 -164
  326. package/dist/editor/attach.d.ts +2 -2
  327. package/dist/editor/attach.js +10 -16
  328. package/dist/editor/editor.js +6 -6
  329. package/dist/editor/keymap-plugin.d.ts +2 -2
  330. package/dist/editor/keymap-plugin.js +4 -4
  331. package/dist/editor/types.d.ts +11 -11
  332. package/dist/index.d.ts +14 -12
  333. package/dist/index.js +106 -105
  334. package/dist/server/components/access-gate/index.js +176 -305
  335. package/dist/server/components/alert/alert.schema.js +4 -4
  336. package/dist/server/components/alert/index.css +1 -1
  337. package/dist/server/components/alert/index.js +4 -4
  338. package/dist/server/components/alert-dialog/index.js +9 -3
  339. package/dist/server/components/approval-card/approval-card.schema.js +217 -0
  340. package/dist/server/components/approval-card/approval-card.variables.js +12 -0
  341. package/dist/server/components/approval-card/index.css +1767 -0
  342. package/dist/server/components/approval-card/index.js +2499 -0
  343. package/dist/server/components/autocomplete/index.css +12 -1
  344. package/dist/server/components/autocomplete/index.js +34 -24
  345. package/dist/server/components/badge/badge.schema.js +6 -3
  346. package/dist/server/components/badge/index.js +71 -4
  347. package/dist/server/components/banner/banner.schema.js +2 -2
  348. package/dist/server/components/banner/index.js +3 -3
  349. package/dist/server/components/button/index.css +1 -1
  350. package/dist/server/components/capability-gate/capability-gate.schema.js +4 -4
  351. package/dist/server/components/capability-gate/index.css +10 -2
  352. package/dist/server/components/capability-gate/index.js +5 -5
  353. package/dist/server/components/chat/chat.schema.js +11 -26
  354. package/dist/server/components/chat/index.js +695 -438
  355. package/dist/server/components/chat-conversation-header/index.css +7 -1
  356. package/dist/server/components/chat-conversation-header/index.js +215 -17
  357. package/dist/server/components/chat-conversation-list/index.css +8 -0
  358. package/dist/server/components/checkbox/checkbox.schema.js +6 -1
  359. package/dist/server/components/checkbox/index.css +3 -0
  360. package/dist/server/components/checkbox/index.js +41 -4
  361. package/dist/server/components/checkbox-group/checkbox-group.schema.js +4 -4
  362. package/dist/server/components/checkbox-group/index.css +3 -0
  363. package/dist/server/components/checkbox-group/index.js +23 -4
  364. package/dist/server/components/choice-grid/index.js +2 -2
  365. package/dist/server/components/choice-grid-item/index.js +2 -2
  366. package/dist/server/components/click-away-listener/click-away-listener.schema.js +3 -3
  367. package/dist/server/components/click-away-listener/index.js +2 -2
  368. package/dist/server/components/code-block/index.css +4 -3
  369. package/dist/server/components/code-block/index.js +1 -6
  370. package/dist/server/components/collapsible/collapsible.schema.js +2 -2
  371. package/dist/server/components/collapsible/index.js +3 -3
  372. package/dist/server/components/color-field/color-field.schema.js +3 -3
  373. package/dist/server/components/color-field/index.js +61 -17
  374. package/dist/server/components/color-picker/index.js +29 -12
  375. package/dist/server/components/color-swatch-picker/index.js +29 -12
  376. package/dist/server/components/combobox/combobox.schema.js +6 -2
  377. package/dist/server/components/combobox/index.js +61 -12
  378. package/dist/server/components/command-item/command-item.schema.js +9 -1
  379. package/dist/server/components/command-item/index.css +1 -0
  380. package/dist/server/components/command-item/index.js +10 -2
  381. package/dist/server/components/command-menu/index.css +1 -0
  382. package/dist/server/components/command-menu/index.js +193 -102
  383. package/dist/server/components/command-palette/command-palette.schema.js +2 -3
  384. package/dist/server/components/command-palette/index.css +1 -0
  385. package/dist/server/components/command-palette/index.js +190 -106
  386. package/dist/server/components/confirm-dialog/index.js +9 -3
  387. package/dist/server/components/context-menu/index.css +7 -1
  388. package/dist/server/components/context-menu/index.js +244 -26
  389. package/dist/server/components/context-menu-trigger/index.js +7 -4
  390. package/dist/server/components/copy-button/index.js +1 -6
  391. package/dist/server/components/data-grid/data-grid.schema.js +3 -3
  392. package/dist/server/components/data-grid/index.css +23 -0
  393. package/dist/server/components/data-grid/index.js +9 -7
  394. package/dist/server/components/data-list/data-list.schema.js +7 -10
  395. package/dist/server/components/data-list/index.js +7 -21
  396. package/dist/server/components/data-table/index.css +20 -0
  397. package/dist/server/components/data-table/index.js +26 -16
  398. package/dist/server/components/date-range-field/date-range-field.schema.js +7 -3
  399. package/dist/server/components/date-range-field/index.js +146 -12
  400. package/dist/server/components/diff-viewer/index.js +79 -7
  401. package/dist/server/components/drawer/index.js +260 -193
  402. package/dist/server/components/dropdown/index.css +7 -1
  403. package/dist/server/components/dropdown/index.js +221 -23
  404. package/dist/server/components/dropdown-group/dropdown-group.schema.js +4 -4
  405. package/dist/server/components/dropdown-group/index.js +7 -7
  406. package/dist/server/components/dropdown-item/dropdown-item.schema.js +9 -1
  407. package/dist/server/components/dropdown-item/index.js +12 -7
  408. package/dist/server/components/dropdown-menu/index.js +197 -13
  409. package/dist/server/components/dropdown-trigger/index.js +5 -2
  410. package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +83 -10
  411. package/dist/server/components/event-stream-viewer/index.css +323 -0
  412. package/dist/server/components/event-stream-viewer/index.js +406 -139
  413. package/dist/server/components/faceted-filter-bar/index.css +10 -1
  414. package/dist/server/components/faceted-filter-bar/index.js +24 -6
  415. package/dist/server/components/file-upload/index.css +3 -3
  416. package/dist/server/components/floating-action-button/floating-action-button.schema.js +5 -5
  417. package/dist/server/components/floating-action-button/index.css +16 -16
  418. package/dist/server/components/floating-action-button/index.js +5 -5
  419. package/dist/server/components/form-field/index.css +0 -10
  420. package/dist/server/components/form-field/index.js +2 -2
  421. package/dist/server/components/input/index.js +59 -15
  422. package/dist/server/components/input/input.schema.js +6 -1
  423. package/dist/server/components/invocation-rule-builder/index.css +51 -6
  424. package/dist/server/components/invocation-rule-builder/index.js +56 -17
  425. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +133 -35
  426. package/dist/server/components/json-schema-editor/index.css +4 -1
  427. package/dist/server/components/json-schema-editor/index.js +282 -52
  428. package/dist/server/components/json-viewer/index.css +7 -1
  429. package/dist/server/components/json-viewer/index.js +83 -11
  430. package/dist/server/components/kanban-board/index.css +42 -3
  431. package/dist/server/components/kanban-board/index.js +7 -6
  432. package/dist/server/components/keyboard-shortcuts/index.css +2 -2
  433. package/dist/server/components/keyboard-shortcuts/index.js +2 -2
  434. package/dist/server/components/label/index.css +0 -10
  435. package/dist/server/components/label/index.js +2 -2
  436. package/dist/server/components/load-more/index.css +12 -4
  437. package/dist/server/components/load-more/index.js +5 -5
  438. package/dist/server/components/load-more/load-more.schema.js +4 -4
  439. package/dist/server/components/locale-provider/index.js +55 -0
  440. package/dist/server/components/locale-provider/locale-provider.schema.js +35 -0
  441. package/dist/server/components/locale-provider/locale-provider.variables.js +12 -0
  442. package/dist/server/components/markdown-editor/index.js +297 -60
  443. package/dist/server/components/markdown-editor/markdown-editor.schema.js +4 -4
  444. package/dist/server/components/masonry/masonry.schema.js +4 -3
  445. package/dist/server/components/matrix-chart/index.js +62 -39
  446. package/dist/server/components/media-controls/index.css +11 -3
  447. package/dist/server/components/media-controls/index.js +7 -7
  448. package/dist/server/components/media-controls/media-controls.schema.js +4 -4
  449. package/dist/server/components/menu-bar/index.css +15 -1
  450. package/dist/server/components/modal/index.js +9 -3
  451. package/dist/server/components/navigation-bar/index.js +3 -3
  452. package/dist/server/components/navigation-bar/navigation-bar.schema.js +2 -2
  453. package/dist/server/components/number-input/index.js +56 -18
  454. package/dist/server/components/number-input/number-input.schema.js +4 -3
  455. package/dist/server/components/payload-inspector/index.css +616 -0
  456. package/dist/server/components/payload-inspector/index.js +181 -22
  457. package/dist/server/components/payload-inspector/payload-inspector.schema.js +27 -15
  458. package/dist/server/components/permission-matrix/index.css +8 -0
  459. package/dist/server/components/phone-input/index.js +21 -3
  460. package/dist/server/components/phone-input/phone-input.schema.js +2 -2
  461. package/dist/server/components/pin-input/index.js +12 -7
  462. package/dist/server/components/pin-input/pin-input.schema.js +9 -2
  463. package/dist/server/components/popover/index.js +9 -3
  464. package/dist/server/components/pricing-card/index.js +22 -7
  465. package/dist/server/components/radio-group/index.css +3 -0
  466. package/dist/server/components/radio-group/index.js +24 -3
  467. package/dist/server/components/radio-group/radio-group.schema.js +3 -3
  468. package/dist/server/components/rating/rating.schema.js +9 -2
  469. package/dist/server/components/review-editor/index.js +426 -80
  470. package/dist/server/components/run-step-timeline/index.css +503 -6
  471. package/dist/server/components/run-step-timeline/index.js +455 -109
  472. package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +351 -21
  473. package/dist/server/components/schema-form/index.css +11 -69
  474. package/dist/server/components/schema-form/index.js +1291 -218
  475. package/dist/server/components/schema-form/schema-form.schema.js +10 -3
  476. package/dist/server/components/scroll-area/index.js +3 -3
  477. package/dist/server/components/scroll-area/scroll-area.schema.js +2 -2
  478. package/dist/server/components/secret-value-field/index.js +4 -4
  479. package/dist/server/components/segmented-control/index.css +15 -1
  480. package/dist/server/components/select/index.css +9 -2
  481. package/dist/server/components/select/index.js +9 -2
  482. package/dist/server/components/selection-popover/index.js +9 -3
  483. package/dist/server/components/share-card/index.css +11 -3
  484. package/dist/server/components/share-card/index.js +1 -5
  485. package/dist/server/components/sheet/index.js +265 -195
  486. package/dist/server/components/sidebar/index.js +274 -207
  487. package/dist/server/components/sidebar/sidebar.schema.js +2 -2
  488. package/dist/server/components/slider/index.css +13 -9
  489. package/dist/server/components/slider/index.js +173 -4
  490. package/dist/server/components/sortable-list/index.css +1 -1
  491. package/dist/server/components/spectrogram/index.js +68 -45
  492. package/dist/server/components/spectrum-chart/index.js +54 -31
  493. package/dist/server/components/speed-dial/index.css +3 -3
  494. package/dist/server/components/speed-dial/index.js +8 -8
  495. package/dist/server/components/speed-dial-action/index.js +6 -6
  496. package/dist/server/components/stat/index.js +26 -4
  497. package/dist/server/components/stat/stat.schema.js +2 -2
  498. package/dist/server/components/stat-group/index.css +1 -1
  499. package/dist/server/components/stat-group/index.js +26 -4
  500. package/dist/server/components/status-dot/index.css +45 -1
  501. package/dist/server/components/status-dot/index.js +35 -7
  502. package/dist/server/components/status-dot/status-dot.schema.js +12 -5
  503. package/dist/server/components/steps/index.css +3 -3
  504. package/dist/server/components/table/index.css +8 -0
  505. package/dist/server/components/table/index.js +22 -16
  506. package/dist/server/components/table-header/index.js +6 -6
  507. package/dist/server/components/table-header/table-header.schema.js +3 -3
  508. package/dist/server/components/table-header-cell/index.js +9 -3
  509. package/dist/server/components/table-row/index.js +7 -7
  510. package/dist/server/components/table-row/table-row.schema.js +3 -3
  511. package/dist/server/components/tabs/index.js +18 -4
  512. package/dist/server/components/tabs/tabs.schema.js +6 -1
  513. package/dist/server/components/textarea/index.css +16 -1
  514. package/dist/server/components/textarea/index.js +9 -2
  515. package/dist/server/components/time-field/index.css +58 -0
  516. package/dist/server/components/time-field/index.js +291 -0
  517. package/dist/server/components/time-field/time-field.schema.js +88 -0
  518. package/dist/server/components/time-field/time-field.variables.js +12 -0
  519. package/dist/server/components/toggle/index.js +40 -7
  520. package/dist/server/components/toggle/toggle.schema.js +11 -2
  521. package/dist/server/components/transfer-list/index.css +16 -0
  522. package/dist/server/components/transfer-list/index.js +37 -11
  523. package/dist/server/components/transfer-list/transfer-list.schema.js +2 -2
  524. package/dist/server/components/tree/index.css +68 -0
  525. package/dist/server/components/tree/index.js +67 -20
  526. package/dist/server/components/tree/tree.schema.js +3 -3
  527. package/dist/server/components/tree-item/index.js +34 -13
  528. package/dist/server/components/tree-item/tree-item.schema.js +5 -5
  529. package/dist/server/components/virtual-list/index.js +36 -13
  530. package/dist/server/components/waveform/index.js +51 -28
  531. package/dist/server/editor/attach.d.ts +2 -2
  532. package/dist/server/editor/attach.js +10 -16
  533. package/dist/server/editor/editor.js +6 -6
  534. package/dist/server/editor/keymap-plugin.d.ts +2 -2
  535. package/dist/server/editor/keymap-plugin.js +4 -4
  536. package/dist/server/editor/types.d.ts +11 -11
  537. package/dist/server/index.css +2033 -1463
  538. package/dist/server/index.js +7203 -5135
  539. package/dist/utilities/attachments.d.ts +6 -6
  540. package/dist/utilities/value-change.d.ts +2 -0
  541. package/package.json +96 -63
  542. package/src/_internal/locale-context.ts +21 -0
  543. package/src/_internal/text-direction.ts +213 -0
  544. package/src/_internal/tree-context.ts +2 -0
  545. package/src/components/_internal/create-command-list-state.svelte.ts +171 -0
  546. package/src/components/_internal/create-sliding-dialog-state.svelte.ts +170 -0
  547. package/src/components/_radio/README.md +1 -1
  548. package/src/components/access-gate/access-gate-inline.svelte +3 -1
  549. package/src/components/alert/README.md +8 -8
  550. package/src/components/alert/alert.css +1 -1
  551. package/src/components/alert/alert.examples.json +4 -4
  552. package/src/components/alert/alert.svelte +3 -5
  553. package/src/components/alert/alert.types.ts +4 -4
  554. package/src/components/approval-card/README.md +92 -0
  555. package/src/components/approval-card/approval-card-state.ts +24 -0
  556. package/src/components/approval-card/approval-card.css +239 -0
  557. package/src/components/approval-card/approval-card.examples.json +25 -0
  558. package/src/components/approval-card/approval-card.svelte +583 -0
  559. package/src/components/approval-card/approval-card.types.ts +180 -0
  560. package/src/components/approval-card/index.ts +16 -0
  561. package/src/components/autocomplete/autocomplete.css +12 -1
  562. package/src/components/autocomplete/autocomplete.svelte +53 -27
  563. package/src/components/badge/README.md +8 -7
  564. package/src/components/badge/badge.svelte +80 -3
  565. package/src/components/badge/badge.types.ts +36 -13
  566. package/src/components/badge/index.ts +1 -1
  567. package/src/components/banner/README.md +2 -2
  568. package/src/components/banner/banner.examples.json +19 -0
  569. package/src/components/banner/banner.svelte +2 -2
  570. package/src/components/banner/banner.types.ts +1 -1
  571. package/src/components/button/button.css +1 -1
  572. package/src/components/callout/callout.examples.json +19 -0
  573. package/src/components/capability-gate/README.md +3 -3
  574. package/src/components/capability-gate/capability-gate.css +15 -2
  575. package/src/components/capability-gate/capability-gate.examples.json +1 -1
  576. package/src/components/capability-gate/capability-gate.svelte +7 -7
  577. package/src/components/capability-gate/capability-gate.types.ts +6 -6
  578. package/src/components/chat/README.md +6 -10
  579. package/src/components/chat/chat.examples.json +8 -8
  580. package/src/components/chat/chat.types.ts +31 -15
  581. package/src/components/chat/container/chat-events.ts +2 -2
  582. package/src/components/chat/container/chat-history-trigger.svelte +9 -1
  583. package/src/components/chat/container/chat.svelte +47 -46
  584. package/src/components/chat/container/use-chat-scroll-state.svelte.ts +21 -18
  585. package/src/components/chat/container/use-chat-unread-state.svelte.ts +19 -19
  586. package/src/components/chat/index.ts +1 -1
  587. package/src/components/chat/input/chat-input.svelte +35 -13
  588. package/src/components/chat/message/image-lightbox.svelte +38 -15
  589. package/src/components/chat/message/message-attachments.svelte +1 -1
  590. package/src/components/chat/message/parts/reasoning-part.svelte +8 -0
  591. package/src/components/chat/message/parts/tool-approval-part.svelte +22 -9
  592. package/src/components/chat-conversation-list/chat-conversation-list.css +13 -0
  593. package/src/components/checkbox/README.md +1 -0
  594. package/src/components/checkbox/checkbox.css +3 -0
  595. package/src/components/checkbox/checkbox.svelte +44 -2
  596. package/src/components/checkbox/checkbox.types.ts +2 -0
  597. package/src/components/checkbox-group/README.md +2 -2
  598. package/src/components/checkbox-group/checkbox-group.css +3 -0
  599. package/src/components/checkbox-group/checkbox-group.examples.json +13 -0
  600. package/src/components/checkbox-group/checkbox-group.svelte +23 -2
  601. package/src/components/checkbox-group/checkbox-group.types.ts +12 -7
  602. package/src/components/choice-grid-item/choice-grid-item.svelte +1 -1
  603. package/src/components/click-away-listener/README.md +2 -2
  604. package/src/components/click-away-listener/click-away-listener.examples.json +1 -1
  605. package/src/components/click-away-listener/click-away-listener.svelte +2 -2
  606. package/src/components/click-away-listener/click-away-listener.types.ts +3 -3
  607. package/src/components/code-block/code-block.css +4 -3
  608. package/src/components/collapsible/README.md +2 -2
  609. package/src/components/collapsible/collapsible.svelte +2 -2
  610. package/src/components/collapsible/collapsible.types.ts +5 -2
  611. package/src/components/color-field/README.md +18 -18
  612. package/src/components/color-field/color-field.svelte +2 -2
  613. package/src/components/color-field/color-field.types.ts +2 -2
  614. package/src/components/color-swatch-picker/color-swatch-picker.examples.json +13 -0
  615. package/src/components/color-swatch-picker/color-swatch-picker.svelte +38 -24
  616. package/src/components/combobox/README.md +2 -1
  617. package/src/components/combobox/combobox.svelte +38 -17
  618. package/src/components/combobox/combobox.types.ts +7 -1
  619. package/src/components/command-item/README.md +13 -11
  620. package/src/components/command-item/command-item.css +10 -0
  621. package/src/components/command-item/command-item.svelte +11 -0
  622. package/src/components/command-item/command-item.types.ts +4 -0
  623. package/src/components/command-menu/command-menu.svelte +21 -102
  624. package/src/components/command-palette/README.md +12 -12
  625. package/src/components/command-palette/command-palette.examples.json +3 -3
  626. package/src/components/command-palette/command-palette.svelte +17 -134
  627. package/src/components/command-palette/command-palette.types.ts +1 -2
  628. package/src/components/context-menu/context-menu.context.ts +2 -0
  629. package/src/components/context-menu/context-menu.svelte +35 -9
  630. package/src/components/context-menu-trigger/context-menu-trigger.svelte +9 -6
  631. package/src/components/copy-button/copy-button.svelte +4 -3
  632. package/src/components/data-grid/README.md +3 -3
  633. package/src/components/data-grid/_internal/column-model.svelte.ts +2 -0
  634. package/src/components/data-grid/data-grid.css +25 -0
  635. package/src/components/data-grid/data-grid.svelte +7 -7
  636. package/src/components/data-grid/data-grid.types.ts +8 -2
  637. package/src/components/data-list/README.md +9 -9
  638. package/src/components/data-list/data-list.examples.json +1 -1
  639. package/src/components/data-list/data-list.svelte +3 -9
  640. package/src/components/data-list/data-list.types.ts +5 -9
  641. package/src/components/data-table/data-table.css +13 -0
  642. package/src/components/data-table/data-table.svelte +13 -3
  643. package/src/components/date-range-field/README.md +9 -8
  644. package/src/components/date-range-field/date-range-field.svelte +193 -19
  645. package/src/components/date-range-field/date-range-field.types.ts +16 -10
  646. package/src/components/date-range-field/index.ts +1 -0
  647. package/src/components/diff-viewer/diff-front-matter.svelte +2 -2
  648. package/src/components/diff-viewer/diff-line.svelte +32 -8
  649. package/src/components/diff-viewer/diff-toolbar.svelte +3 -3
  650. package/src/components/diff-viewer/diff-viewer.svelte +4 -4
  651. package/src/components/diff-viewer/diff-viewer.types.ts +3 -3
  652. package/src/components/diff-viewer/index.ts +1 -1
  653. package/src/components/drawer/drawer.svelte +26 -145
  654. package/src/components/dropdown/dropdown.css +7 -1
  655. package/src/components/dropdown/dropdown.types.ts +3 -0
  656. package/src/components/dropdown-group/README.md +6 -6
  657. package/src/components/dropdown-group/dropdown-group.svelte +8 -8
  658. package/src/components/dropdown-group/dropdown-group.types.ts +4 -4
  659. package/src/components/dropdown-item/README.md +2 -0
  660. package/src/components/dropdown-item/dropdown-item.svelte +14 -11
  661. package/src/components/dropdown-item/dropdown-item.types.ts +5 -0
  662. package/src/components/dropdown-menu/dropdown-menu.svelte +42 -9
  663. package/src/components/dropdown-trigger/dropdown-trigger.svelte +4 -6
  664. package/src/components/event-stream-viewer/README.md +38 -16
  665. package/src/components/event-stream-viewer/event-stream-viewer-keys.ts +74 -0
  666. package/src/components/event-stream-viewer/event-stream-viewer.css +46 -0
  667. package/src/components/event-stream-viewer/event-stream-viewer.examples.json +6 -0
  668. package/src/components/event-stream-viewer/event-stream-viewer.svelte +262 -69
  669. package/src/components/event-stream-viewer/event-stream-viewer.types.ts +130 -3
  670. package/src/components/event-stream-viewer/index.ts +6 -0
  671. package/src/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
  672. package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +31 -5
  673. package/src/components/file-upload/file-upload.css +5 -5
  674. package/src/components/file-upload/file-upload.examples.json +13 -0
  675. package/src/components/floating-action-button/README.md +9 -9
  676. package/src/components/floating-action-button/floating-action-button.css +22 -22
  677. package/src/components/floating-action-button/floating-action-button.examples.json +1 -1
  678. package/src/components/floating-action-button/floating-action-button.svelte +7 -7
  679. package/src/components/floating-action-button/floating-action-button.types.ts +21 -21
  680. package/src/components/floating-action-button/index.ts +1 -1
  681. package/src/components/form-field/form-field.css +3 -13
  682. package/src/components/form-field/form-field.svelte +4 -1
  683. package/src/components/image/image.examples.json +13 -0
  684. package/src/components/input/README.md +16 -15
  685. package/src/components/input/input.examples.json +1 -1
  686. package/src/components/input/input.svelte +65 -28
  687. package/src/components/input/input.types.ts +2 -0
  688. package/src/components/invocation-rule-builder/README.md +14 -14
  689. package/src/components/invocation-rule-builder/index.ts +1 -0
  690. package/src/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
  691. package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +73 -16
  692. package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +99 -8
  693. package/src/components/json-schema-editor/form-view.svelte +3 -1
  694. package/src/components/json-schema-editor/json-schema-editor-impl.svelte +30 -18
  695. package/src/components/json-schema-editor/json-schema-editor.css +6 -1
  696. package/src/components/json-schema-editor/json-schema-toolbar.svelte +6 -0
  697. package/src/components/json-schema-editor/json-view.svelte +1 -1
  698. package/src/components/json-schema-editor/property-editor.svelte +38 -2
  699. package/src/components/json-schema-editor/property-list-validation.ts +10 -0
  700. package/src/components/json-schema-editor/property-list.svelte +48 -3
  701. package/src/components/json-viewer/_json-viewer-node.svelte +55 -9
  702. package/src/components/json-viewer/json-viewer.css +11 -0
  703. package/src/components/json-viewer/json-viewer.svelte +63 -1
  704. package/src/components/kanban-board/kanban-board.css +56 -3
  705. package/src/components/kanban-board/kanban-board.svelte +10 -3
  706. package/src/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
  707. package/src/components/keyboard-shortcuts/keyboard-shortcuts.svelte +1 -1
  708. package/src/components/label/README.md +1 -1
  709. package/src/components/label/label.css +2 -9
  710. package/src/components/label/label.svelte +4 -2
  711. package/src/components/load-more/README.md +4 -4
  712. package/src/components/load-more/load-more.css +13 -5
  713. package/src/components/load-more/load-more.examples.json +2 -2
  714. package/src/components/load-more/load-more.svelte +4 -4
  715. package/src/components/load-more/load-more.types.ts +3 -3
  716. package/src/components/locale-provider/README.md +43 -0
  717. package/src/components/locale-provider/index.ts +5 -0
  718. package/src/components/locale-provider/locale-provider.svelte +40 -0
  719. package/src/components/locale-provider/locale-provider.types.ts +21 -0
  720. package/src/components/markdown-editor/README.md +3 -3
  721. package/src/components/markdown-editor/editor-toolbar/editor-toolbar.svelte +5 -2
  722. package/src/components/markdown-editor/editor-toolbar/link-popover.svelte +13 -0
  723. package/src/components/markdown-editor/editor-toolbar/toolbar-dropdown.svelte +2 -0
  724. package/src/components/markdown-editor/markdown-editor.svelte +14 -12
  725. package/src/components/markdown-editor/markdown-editor.types.ts +4 -4
  726. package/src/components/masonry/README.md +7 -7
  727. package/src/components/masonry/masonry.types.ts +24 -2
  728. package/src/components/matrix-chart/matrix-chart.svelte +7 -21
  729. package/src/components/media-controls/README.md +3 -3
  730. package/src/components/media-controls/media-controls.css +15 -4
  731. package/src/components/media-controls/media-controls.examples.json +1 -1
  732. package/src/components/media-controls/media-controls.svelte +6 -6
  733. package/src/components/media-controls/media-controls.types.ts +10 -7
  734. package/src/components/menu-bar/menu-bar.css +11 -0
  735. package/src/components/menu-bar/menu-bar.svelte +81 -12
  736. package/src/components/navigation-bar/README.md +1 -1
  737. package/src/components/navigation-bar/navigation-bar.examples.json +1 -1
  738. package/src/components/navigation-bar/navigation-bar.svelte +2 -2
  739. package/src/components/navigation-bar/navigation-bar.types.ts +1 -1
  740. package/src/components/number-input/README.md +18 -18
  741. package/src/components/number-input/number-input.examples.json +13 -0
  742. package/src/components/number-input/number-input.svelte +77 -38
  743. package/src/components/number-input/number-input.types.ts +15 -5
  744. package/src/components/pagination/README.md +3 -1
  745. package/src/components/payload-inspector/README.md +11 -11
  746. package/src/components/payload-inspector/index.ts +2 -0
  747. package/src/components/payload-inspector/payload-inspector.css +6 -0
  748. package/src/components/payload-inspector/payload-inspector.svelte +22 -4
  749. package/src/components/payload-inspector/payload-inspector.types.ts +54 -3
  750. package/src/components/permission-matrix/permission-matrix.css +10 -0
  751. package/src/components/phone-input/README.md +1 -1
  752. package/src/components/phone-input/phone-input.svelte +7 -1
  753. package/src/components/phone-input/phone-input.types.ts +3 -2
  754. package/src/components/pin-input/README.md +19 -19
  755. package/src/components/pin-input/pin-input.svelte +16 -12
  756. package/src/components/pin-input/pin-input.types.ts +10 -1
  757. package/src/components/portal/portal.utilities.svelte.ts +4 -1
  758. package/src/components/pricing-card/pricing-card.svelte +26 -1
  759. package/src/components/radio-group/README.md +12 -12
  760. package/src/components/radio-group/radio-group.css +3 -0
  761. package/src/components/radio-group/radio-group.examples.json +3 -3
  762. package/src/components/radio-group/radio-group.svelte +22 -2
  763. package/src/components/radio-group/radio-group.types.ts +6 -2
  764. package/src/components/rating/README.md +18 -18
  765. package/src/components/rating/rating.svelte +0 -8
  766. package/src/components/rating/rating.types.ts +6 -0
  767. package/src/components/review-editor/comment-list.svelte +1 -1
  768. package/src/components/review-editor/index.ts +1 -1
  769. package/src/components/review-editor/review-editor-controls.svelte +8 -3
  770. package/src/components/review-editor/review-editor-impl.svelte +11 -7
  771. package/src/components/review-editor/review-editor-selection-types.ts +1 -1
  772. package/src/components/review-editor/review-editor-selection.svelte.ts +1 -1
  773. package/src/components/review-editor/review-editor-state.svelte.ts +1 -1
  774. package/src/components/review-editor/review-editor-threads.svelte.ts +2 -2
  775. package/src/components/review-editor/review-editor.types.ts +91 -3
  776. package/src/components/review-editor/thread-popover.svelte +1 -1
  777. package/src/components/run-step-timeline/README.md +53 -6
  778. package/src/components/run-step-timeline/index.ts +6 -0
  779. package/src/components/run-step-timeline/run-step-timeline.css +25 -5
  780. package/src/components/run-step-timeline/run-step-timeline.examples.json +3 -3
  781. package/src/components/run-step-timeline/run-step-timeline.svelte +314 -78
  782. package/src/components/run-step-timeline/run-step-timeline.types.ts +190 -3
  783. package/src/components/schema-form/README.md +9 -9
  784. package/src/components/schema-form/index.ts +0 -1
  785. package/src/components/schema-form/schema-form-async.fixture.ts +101 -0
  786. package/src/components/schema-form/schema-form-body.svelte +646 -0
  787. package/src/components/schema-form/schema-form-model.ts +4 -44
  788. package/src/components/schema-form/schema-form-validation.ts +83 -46
  789. package/src/components/schema-form/schema-form.css +12 -74
  790. package/src/components/schema-form/schema-form.examples.json +0 -6
  791. package/src/components/schema-form/schema-form.svelte +30 -598
  792. package/src/components/schema-form/schema-form.types.ts +16 -12
  793. package/src/components/scroll-area/README.md +1 -1
  794. package/src/components/scroll-area/scroll-area.examples.json +3 -3
  795. package/src/components/scroll-area/scroll-area.svelte +5 -5
  796. package/src/components/scroll-area/scroll-area.types.ts +1 -1
  797. package/src/components/secret-value-field/secret-value-field.svelte +10 -6
  798. package/src/components/segmented-control/segmented-control.css +22 -1
  799. package/src/components/segmented-control/segmented-control.examples.json +2 -2
  800. package/src/components/select/select.css +9 -2
  801. package/src/components/select/select.svelte +6 -1
  802. package/src/components/selection-popover/selection-popover.examples.json +1 -1
  803. package/src/components/share-card/share-card.css +15 -4
  804. package/src/components/share-card/share-card.svelte +2 -4
  805. package/src/components/sheet/sheet.svelte +30 -145
  806. package/src/components/shortcut-hint/shortcut-hint.svelte +1 -1
  807. package/src/components/side-navigation/side-navigation.examples.json +1 -1
  808. package/src/components/sidebar/README.md +6 -2
  809. package/src/components/sidebar/sidebar.examples.json +1 -1
  810. package/src/components/sidebar/sidebar.svelte +4 -4
  811. package/src/components/sidebar/sidebar.types.ts +1 -1
  812. package/src/components/slider/slider.css +14 -9
  813. package/src/components/slider/slider.svelte +33 -2
  814. package/src/components/sortable-list/README.md +18 -1
  815. package/src/components/sortable-list/sortable-list.css +1 -1
  816. package/src/components/sortable-list/sortable-list.examples.json +13 -0
  817. package/src/components/spectrogram/spectrogram.examples.json +1 -0
  818. package/src/components/spectrogram/spectrogram.svelte +7 -19
  819. package/src/components/spectrum-chart/spectrum-chart.svelte +8 -20
  820. package/src/components/speed-dial/speed-dial.css +3 -3
  821. package/src/components/speed-dial/speed-dial.examples.json +1 -1
  822. package/src/components/speed-dial/speed-dial.svelte +2 -2
  823. package/src/components/speed-dial-action/speed-dial-action.svelte +1 -1
  824. package/src/components/stacked-list-item/stacked-list-item.examples.json +1 -1
  825. package/src/components/stat/README.md +1 -1
  826. package/src/components/stat/stat.svelte +7 -2
  827. package/src/components/stat/stat.types.ts +2 -2
  828. package/src/components/stat-group/stat-group.css +1 -1
  829. package/src/components/status-dot/README.md +9 -7
  830. package/src/components/status-dot/index.ts +6 -1
  831. package/src/components/status-dot/status-dot.css +45 -1
  832. package/src/components/status-dot/status-dot.examples.json +1 -1
  833. package/src/components/status-dot/status-dot.svelte +57 -8
  834. package/src/components/status-dot/status-dot.types.ts +17 -6
  835. package/src/components/steps/steps.css +3 -3
  836. package/src/components/table/table.css +10 -0
  837. package/src/components/table/table.examples.json +1 -1
  838. package/src/components/table/table.svelte +2 -2
  839. package/src/components/table/table.types.ts +3 -3
  840. package/src/components/table-header/README.md +2 -2
  841. package/src/components/table-header/table-header.svelte +5 -5
  842. package/src/components/table-header/table-header.types.ts +2 -2
  843. package/src/components/table-header-cell/table-header-cell.svelte +13 -2
  844. package/src/components/table-row/README.md +2 -2
  845. package/src/components/table-row/table-row.svelte +6 -6
  846. package/src/components/table-row/table-row.types.ts +6 -6
  847. package/src/components/tabs/README.md +1 -0
  848. package/src/components/tabs/tabs.svelte +11 -3
  849. package/src/components/tabs/tabs.types.ts +2 -0
  850. package/src/components/textarea/textarea.css +16 -1
  851. package/src/components/textarea/textarea.svelte +6 -1
  852. package/src/components/time-field/README.md +60 -0
  853. package/src/components/time-field/index.ts +6 -0
  854. package/src/components/time-field/time-field.css +60 -0
  855. package/src/components/time-field/time-field.examples.json +13 -0
  856. package/src/components/time-field/time-field.svelte +277 -0
  857. package/src/components/time-field/time-field.types.ts +70 -0
  858. package/src/components/toggle/README.md +12 -11
  859. package/src/components/toggle/toggle.svelte +19 -6
  860. package/src/components/toggle/toggle.types.ts +2 -0
  861. package/src/components/transfer-list/README.md +1 -1
  862. package/src/components/transfer-list/transfer-list.css +22 -0
  863. package/src/components/transfer-list/transfer-list.svelte +44 -10
  864. package/src/components/transfer-list/transfer-list.types.ts +5 -2
  865. package/src/components/tree/README.md +2 -2
  866. package/src/components/tree/tree.css +69 -0
  867. package/src/components/tree/tree.examples.json +1 -1
  868. package/src/components/tree/tree.svelte +52 -9
  869. package/src/components/tree/tree.types.ts +2 -2
  870. package/src/components/tree-item/README.md +4 -4
  871. package/src/components/tree-item/tree-item.svelte +42 -12
  872. package/src/components/tree-item/tree-item.types.ts +4 -4
  873. package/src/components/virtual-list/virtual-list.svelte +5 -5
  874. package/src/components/waveform/waveform.svelte +7 -19
  875. package/src/index.ts +40 -16
  876. package/src/styles/components/_field-label.css +20 -0
  877. package/src/styles/components/_input-frame.css +2 -1
  878. package/src/styles/components.css +3 -2
  879. package/src/styles/index.css +1 -0
  880. package/src/styles/tokens-base.css +3 -0
  881. package/src/utilities/attachments.ts +15 -12
  882. package/src/utilities/value-change.ts +11 -0
  883. package/dist/components/connection-indicator/connection-indicator.css +0 -63
  884. package/dist/components/connection-indicator/connection-indicator.svelte.d.ts +0 -18
  885. package/dist/components/connection-indicator/connection-indicator.types.d.ts +0 -14
  886. package/dist/components/connection-indicator/index.d.ts +0 -5
  887. package/dist/components/connection-indicator/index.js +0 -75
  888. package/dist/components/experimental/connection-indicator/index.d.ts +0 -2
  889. package/dist/components/review-editor/review-editor-types.d.ts +0 -77
  890. package/dist/components/subscription-badge/index.d.ts +0 -5
  891. package/dist/components/subscription-badge/index.js +0 -353
  892. package/dist/components/subscription-badge/subscription-badge.css +0 -18
  893. package/dist/components/subscription-badge/subscription-badge.schema.js +0 -47
  894. package/dist/components/subscription-badge/subscription-badge.svelte.d.ts +0 -19
  895. package/dist/components/subscription-badge/subscription-badge.types.d.ts +0 -28
  896. package/dist/server/components/connection-indicator/connection-indicator.schema.js +0 -31
  897. package/dist/server/components/connection-indicator/connection-indicator.variables.js +0 -12
  898. package/dist/server/components/connection-indicator/index.css +0 -60
  899. package/dist/server/components/connection-indicator/index.js +0 -42
  900. package/dist/server/components/experimental/connection-indicator/index.js +0 -23
  901. package/dist/server/components/subscription-badge/index.css +0 -2
  902. package/dist/server/components/subscription-badge/index.js +0 -308
  903. package/dist/server/components/subscription-badge/subscription-badge.schema.js +0 -28
  904. package/dist/server/components/subscription-badge/subscription-badge.variables.js +0 -12
  905. package/src/components/connection-indicator/README.md +0 -41
  906. package/src/components/connection-indicator/connection-indicator.css +0 -63
  907. package/src/components/connection-indicator/connection-indicator.svelte +0 -44
  908. package/src/components/connection-indicator/connection-indicator.types.ts +0 -18
  909. package/src/components/connection-indicator/index.ts +0 -6
  910. package/src/components/experimental/connection-indicator/index.ts +0 -20
  911. package/src/components/review-editor/review-editor-types.ts +0 -92
  912. package/src/components/subscription-badge/README.md +0 -50
  913. package/src/components/subscription-badge/index.ts +0 -6
  914. package/src/components/subscription-badge/subscription-badge.css +0 -18
  915. package/src/components/subscription-badge/subscription-badge.examples.json +0 -19
  916. package/src/components/subscription-badge/subscription-badge.svelte +0 -69
  917. package/src/components/subscription-badge/subscription-badge.types.ts +0 -37
  918. /package/dist/components/{connection-indicator/connection-indicator.schema.d.ts → approval-card/approval-card.schema.d.ts} +0 -0
  919. /package/dist/components/{connection-indicator/connection-indicator.variables.d.ts → approval-card/approval-card.variables.d.ts} +0 -0
  920. /package/dist/components/{subscription-badge/subscription-badge.schema.d.ts → locale-provider/locale-provider.schema.d.ts} +0 -0
  921. /package/dist/components/{subscription-badge/subscription-badge.variables.d.ts → locale-provider/locale-provider.variables.d.ts} +0 -0
@@ -2152,7 +2152,8 @@ function copyInheritedPortalAttributes(element, source, inheritAttributes, fallb
2152
2152
  dir: element.getAttribute("dir"),
2153
2153
  theme: element.getAttribute("data-cinder-theme")
2154
2154
  }) {
2155
- const inheritedDir = inheritAttributes && source ? source.closest("[dir]")?.getAttribute("dir") : null;
2155
+ const preservesExplicitDirection = element.dataset["cinderExplicitDirection"] === "true";
2156
+ const inheritedDir = inheritAttributes && source && !preservesExplicitDirection ? source.closest("[dir]")?.getAttribute("dir") : null;
2156
2157
  const nextDir = inheritedDir ?? fallbackAttributes.dir;
2157
2158
  if (nextDir) {
2158
2159
  element.setAttribute("dir", nextDir);
@@ -4338,6 +4339,10 @@ function createBodyScrollLock() {
4338
4339
  return release;
4339
4340
  };
4340
4341
  }
4342
+ function isInsideEventPath(event2, element2) {
4343
+ const path = event2.composedPath();
4344
+ return path.some((entry) => entry instanceof Node && element2.contains(entry));
4345
+ }
4341
4346
  function createClickOutside(options) {
4342
4347
  const { handler, enabled = true, eventType = "click", capture = true, ignoreRefs } = options;
4343
4348
  return (node) => {
@@ -4345,17 +4350,19 @@ function createClickOutside(options) {
4345
4350
  const isEnabled = typeof enabled === "function" ? enabled() : enabled;
4346
4351
  if (!isEnabled)
4347
4352
  return;
4353
+ if (event2.type === "touchstart" && !event2.cancelable)
4354
+ return;
4348
4355
  const target = event2.target;
4349
4356
  if (!(target instanceof Node)) {
4350
4357
  handler();
4351
4358
  return;
4352
4359
  }
4353
- if (node.contains(target))
4360
+ if (isInsideEventPath(event2, node))
4354
4361
  return;
4355
4362
  if (ignoreRefs) {
4356
4363
  for (const ref of ignoreRefs) {
4357
4364
  const element2 = ref();
4358
- if (element2 && element2.contains(target))
4365
+ if (element2 && isInsideEventPath(event2, element2))
4359
4366
  return;
4360
4367
  }
4361
4368
  }
@@ -4698,11 +4705,10 @@ function Dropdown_trigger($$anchor, $$props) {
4698
4705
  const context = getDropdownContext();
4699
4706
  const registerTrigger = getDropdownRegisterTrigger();
4700
4707
  const setOpen = getDropdownSetOpen();
4701
- let triggerElement = $34.state(null);
4702
- $34.user_effect(() => {
4703
- registerTrigger($34.get(triggerElement));
4708
+ function attachTrigger(node) {
4709
+ registerTrigger(node);
4704
4710
  return () => registerTrigger(null);
4705
- });
4711
+ }
4706
4712
  function handleClick(event3) {
4707
4713
  if (typeof $$props.onclick === "function") {
4708
4714
  $$props.onclick(event3);
@@ -4723,32 +4729,32 @@ function Dropdown_trigger($$anchor, $$props) {
4723
4729
  onclick: handleClick,
4724
4730
  ...rest
4725
4731
  }), [() => classNames("cinder-dropdown-trigger", $$props.class)]);
4726
- var node = $34.child(button);
4732
+ var node_1 = $34.child(button);
4727
4733
  {
4728
4734
  var consequent = ($$anchor2) => {
4729
4735
  var fragment = $34.comment();
4730
- var node_1 = $34.first_child(fragment);
4731
- $34.snippet(node_1, () => $$props.children);
4736
+ var node_2 = $34.first_child(fragment);
4737
+ $34.snippet(node_2, () => $$props.children);
4732
4738
  $34.append($$anchor2, fragment);
4733
4739
  };
4734
- $34.if(node, ($$render) => {
4740
+ $34.if(node_1, ($$render) => {
4735
4741
  if ($$props.children)
4736
4742
  $$render(consequent);
4737
4743
  });
4738
4744
  }
4739
- var node_2 = $34.sibling(node, 2);
4745
+ var node_3 = $34.sibling(node_1, 2);
4740
4746
  {
4741
4747
  var consequent_1 = ($$anchor2) => {
4742
4748
  var svg = root_22();
4743
4749
  $34.append($$anchor2, svg);
4744
4750
  };
4745
- $34.if(node_2, ($$render) => {
4751
+ $34.if(node_3, ($$render) => {
4746
4752
  if (showCaret())
4747
4753
  $$render(consequent_1);
4748
4754
  });
4749
4755
  }
4750
4756
  $34.reset(button);
4751
- $34.bind_this(button, ($$value) => $34.set(triggerElement, $$value), () => $34.get(triggerElement));
4757
+ $34.attach(button, () => attachTrigger);
4752
4758
  $34.append($$anchor, button);
4753
4759
  $34.pop();
4754
4760
  }
@@ -4757,23 +4763,236 @@ function Dropdown_trigger($$anchor, $$props) {
4757
4763
  import"svelte/internal/disclose-version";
4758
4764
  import * as $35 from "svelte/internal/client";
4759
4765
  import { tick } from "svelte";
4766
+
4767
+ // src/_internal/locale-context.ts
4768
+ import { createContext as createContext3 } from "svelte";
4769
+
4770
+ // src/_internal/optional-context.ts
4771
+ function optionalContext(getStrict) {
4772
+ return () => {
4773
+ try {
4774
+ return getStrict();
4775
+ } catch {
4776
+ return;
4777
+ }
4778
+ };
4779
+ }
4780
+
4781
+ // src/_internal/locale-context.ts
4782
+ var [getLocaleContextStrict, setLocaleContextRaw] = createContext3();
4783
+ function setLocaleContext(context) {
4784
+ setLocaleContextRaw(context);
4785
+ }
4786
+ var getLocaleContext = optionalContext(getLocaleContextStrict);
4787
+
4788
+ // src/_internal/text-direction.ts
4789
+ function resolveTextDirection(element2, fallback) {
4790
+ let currentElement = element2 ?? null;
4791
+ let documentDirection;
4792
+ let styledDirectionElement = null;
4793
+ while (currentElement) {
4794
+ const direction = currentElement.getAttribute("dir")?.toLowerCase();
4795
+ if (direction === "rtl" || direction === "ltr") {
4796
+ if (typeof getComputedStyle === "function" && styledDirectionElement) {
4797
+ const styledDirection2 = getComputedStyle(styledDirectionElement).direction;
4798
+ if (styledDirection2 === "rtl" || styledDirection2 === "ltr")
4799
+ return styledDirection2;
4800
+ }
4801
+ if (currentElement === currentElement.ownerDocument.documentElement) {
4802
+ documentDirection = direction;
4803
+ break;
4804
+ }
4805
+ return direction;
4806
+ }
4807
+ if (direction === "auto" && typeof getComputedStyle === "function") {
4808
+ const computedDirection2 = getComputedStyle(currentElement).direction;
4809
+ if (computedDirection2 === "rtl" || computedDirection2 === "ltr")
4810
+ return computedDirection2;
4811
+ }
4812
+ const styledDirection = currentElement.style.direction;
4813
+ if (!styledDirectionElement && (styledDirection === "rtl" || styledDirection === "ltr")) {
4814
+ styledDirectionElement = currentElement;
4815
+ }
4816
+ currentElement = currentElement.parentElement;
4817
+ }
4818
+ if (typeof getComputedStyle === "function" && styledDirectionElement) {
4819
+ const direction = getComputedStyle(styledDirectionElement).direction;
4820
+ if (direction === "rtl" || direction === "ltr")
4821
+ return direction;
4822
+ }
4823
+ const computedDirection = readComputedTextDirection(element2);
4824
+ const rootComputedDirection = readComputedTextDirection(element2?.ownerDocument.documentElement);
4825
+ if (computedDirection && computedDirection !== rootComputedDirection)
4826
+ return computedDirection;
4827
+ if (computedDirection && fallback && computedDirection !== fallback && hasDirectionStylingHint(element2)) {
4828
+ return computedDirection;
4829
+ }
4830
+ if (!fallback && computedDirection === "rtl")
4831
+ return computedDirection;
4832
+ if (fallback)
4833
+ return fallback;
4834
+ if (documentDirection)
4835
+ return documentDirection;
4836
+ return;
4837
+ }
4838
+ function readComputedTextDirection(element2) {
4839
+ if (!element2 || typeof getComputedStyle !== "function")
4840
+ return;
4841
+ const direction = getComputedStyle(element2).direction;
4842
+ return direction === "rtl" || direction === "ltr" ? direction : undefined;
4843
+ }
4844
+ function hasDirectionStylingHint(element2) {
4845
+ let currentElement = element2?.parentElement;
4846
+ while (currentElement && currentElement !== currentElement.ownerDocument.documentElement) {
4847
+ if (currentElement.style.direction)
4848
+ return true;
4849
+ if (matchesDirectionStyleRule(currentElement))
4850
+ return true;
4851
+ currentElement = currentElement.parentElement;
4852
+ }
4853
+ return false;
4854
+ }
4855
+ function matchesDirectionStyleRule(element2) {
4856
+ for (const sheet of Array.from(element2.ownerDocument.styleSheets)) {
4857
+ let rules;
4858
+ try {
4859
+ rules = sheet.cssRules;
4860
+ } catch {
4861
+ continue;
4862
+ }
4863
+ if (matchesDirectionStyleRuleList(element2, rules))
4864
+ return true;
4865
+ }
4866
+ return false;
4867
+ }
4868
+ function matchesDirectionStyleRuleList(element2, rules) {
4869
+ for (const rule of Array.from(rules)) {
4870
+ if (isCssStyleRule(rule)) {
4871
+ if (!rule.style.direction) {
4872
+ const nestedRules2 = readNestedCssRules(rule);
4873
+ if (nestedRules2 && matchesDirectionStyleRuleList(element2, nestedRules2))
4874
+ return true;
4875
+ continue;
4876
+ }
4877
+ try {
4878
+ if (element2.matches(rule.selectorText))
4879
+ return true;
4880
+ } catch {
4881
+ continue;
4882
+ }
4883
+ }
4884
+ const nestedRules = readNestedCssRules(rule);
4885
+ if (nestedRules && isConditionalRuleActive(rule) && matchesDirectionStyleRuleList(element2, nestedRules)) {
4886
+ return true;
4887
+ }
4888
+ }
4889
+ return false;
4890
+ }
4891
+ function readNestedCssRules(rule) {
4892
+ if (!("cssRules" in rule))
4893
+ return;
4894
+ try {
4895
+ const nestedRules = Reflect.get(rule, "cssRules");
4896
+ return isCssRuleCollection(nestedRules) ? nestedRules : undefined;
4897
+ } catch {
4898
+ return;
4899
+ }
4900
+ }
4901
+ function isCssRuleCollection(value) {
4902
+ if (typeof CSSRuleList !== "undefined" && value instanceof CSSRuleList)
4903
+ return true;
4904
+ return Array.isArray(value) && value.every(isCssRule);
4905
+ }
4906
+ function isCssRule(value) {
4907
+ return typeof value === "object" && value !== null && typeof Reflect.get(value, "cssText") === "string" && typeof Reflect.get(value, "type") === "number";
4908
+ }
4909
+ function isCssStyleRule(rule) {
4910
+ return typeof Reflect.get(rule, "selectorText") === "string" && typeof Reflect.get(rule, "style") === "object" && Reflect.get(rule, "style") !== null;
4911
+ }
4912
+ function isConditionalRuleActive(rule) {
4913
+ const conditionText = Reflect.get(rule, "conditionText");
4914
+ if (typeof conditionText !== "string" || !conditionText.trim())
4915
+ return true;
4916
+ if (isMediaRule(rule) && typeof matchMedia === "function") {
4917
+ return matchMedia(conditionText).matches;
4918
+ }
4919
+ if (isSupportsRule(rule) && typeof CSS !== "undefined" && typeof CSS.supports === "function") {
4920
+ return CSS.supports(conditionText);
4921
+ }
4922
+ return true;
4923
+ }
4924
+ function isMediaRule(rule) {
4925
+ return typeof Reflect.get(rule, "media") === "object" && Reflect.get(rule, "media") !== null;
4926
+ }
4927
+ function isSupportsRule(rule) {
4928
+ return rule.constructor.name === "CSSSupportsRule" || Reflect.get(rule, "type") === 12;
4929
+ }
4930
+ function observeTextDirection(element2, onChange) {
4931
+ if (!element2 || typeof MutationObserver === "undefined")
4932
+ return;
4933
+ const observedElement = element2;
4934
+ const observer = new MutationObserver((mutations) => {
4935
+ if (mutations.some((mutation) => mutation.type === "attributes" && mutation.attributeName === "dir")) {
4936
+ observeDirectionChain();
4937
+ }
4938
+ onChange();
4939
+ });
4940
+ function observeDirectionChain() {
4941
+ observer.disconnect();
4942
+ let currentElement = observedElement;
4943
+ while (currentElement) {
4944
+ const isAutoDirection = currentElement.getAttribute("dir")?.toLowerCase() === "auto";
4945
+ observer.observe(currentElement, {
4946
+ attributes: true,
4947
+ attributeFilter: ["dir", "style", "class"],
4948
+ childList: isAutoDirection,
4949
+ characterData: isAutoDirection,
4950
+ subtree: isAutoDirection
4951
+ });
4952
+ currentElement = currentElement.parentElement;
4953
+ }
4954
+ }
4955
+ observeDirectionChain();
4956
+ return () => observer.disconnect();
4957
+ }
4958
+
4959
+ // src/components/dropdown-menu/dropdown-menu.svelte
4760
4960
  var root_15 = $35.from_html(`<div><!></div>`);
4761
4961
  function Dropdown_menu($$anchor, $$props) {
4762
4962
  $35.push($$props, true);
4763
- let rest = $35.rest_props($$props, ["$$slots", "$$events", "$$legacy", "class", "children"]);
4963
+ let rest = $35.rest_props($$props, [
4964
+ "$$slots",
4965
+ "$$events",
4966
+ "$$legacy",
4967
+ "class",
4968
+ "children",
4969
+ "dir"
4970
+ ]);
4764
4971
  const context = getDropdownContext();
4765
4972
  const registerMenu = getDropdownRegister();
4766
4973
  const setOpen = getDropdownSetOpen();
4974
+ const localeContext = getLocaleContext();
4975
+ let directionRevision = $35.state(0);
4976
+ const resolvedDirection = $35.derived(() => {
4977
+ $35.get(directionRevision);
4978
+ if ($$props.dir === "auto") {
4979
+ return resolveTextDirection(context.anchorElement, localeContext?.direction) ?? $$props.dir;
4980
+ }
4981
+ return $$props.dir ?? resolveTextDirection(context.anchorElement, localeContext?.direction);
4982
+ });
4983
+ const fallbackAnchorElement = $35.derived(() => context.fallbackAnchorElement === undefined ? context.anchorElement : context.fallbackAnchorElement);
4767
4984
  let menuElement = $35.state(null);
4768
4985
  let focusedFallbackOpen = false;
4769
4986
  const anchoredFallback = createAnchoredOverlay({
4770
- open: () => context.isOpen && !context.supportsPopover && Boolean(context.anchorElement),
4771
- anchor: () => context.anchorElement,
4987
+ open: () => context.isOpen && !context.supportsPopover && Boolean($35.get(fallbackAnchorElement)),
4988
+ anchor: () => $35.get(fallbackAnchorElement),
4772
4989
  panel: () => $35.get(menuElement),
4773
4990
  placement: () => context.fallbackPlacement ?? "bottom-end",
4774
4991
  offset: () => 4,
4775
4992
  widthMode: () => context.widthMode ?? "menu"
4776
4993
  });
4994
+ const fallbackPositionStyle = $35.derived(() => context.fallbackPositionStyle ?? ($35.get(fallbackAnchorElement) ? anchoredFallback.positionStyle : undefined));
4995
+ const fallbackPositionReady = $35.derived(() => context.fallbackPositionReady ?? ($35.get(fallbackAnchorElement) ? anchoredFallback.positionReady : undefined));
4777
4996
  const fallbackPortalAttachment = createPortalAttachment({
4778
4997
  target: () => typeof document === "undefined" ? null : document.body,
4779
4998
  source: () => context.anchorElement,
@@ -4784,6 +5003,13 @@ function Dropdown_menu($$anchor, $$props) {
4784
5003
  registerMenu($35.get(menuElement));
4785
5004
  return () => registerMenu(null);
4786
5005
  });
5006
+ $35.user_effect(() => {
5007
+ if ($$props.dir && $$props.dir !== "auto")
5008
+ return;
5009
+ return observeTextDirection(context.anchorElement, () => {
5010
+ $35.set(directionRevision, $35.get(directionRevision) + 1);
5011
+ });
5012
+ });
4787
5013
  $35.user_effect(() => {
4788
5014
  if (context.supportsPopover || !context.isOpen) {
4789
5015
  focusedFallbackOpen = false;
@@ -4799,7 +5025,7 @@ function Dropdown_menu($$anchor, $$props) {
4799
5025
  function getOwnedMenuItems() {
4800
5026
  if (!$35.get(menuElement))
4801
5027
  return [];
4802
- return Array.from($35.get(menuElement).querySelectorAll('[role="menuitem"]:not([data-disabled])')).filter((item) => item.closest('[role="menu"]') === $35.get(menuElement));
5028
+ return Array.from($35.get(menuElement).querySelectorAll('[role="menuitem"]:not([data-disabled]), [role="menuitemradio"]:not([data-disabled])')).filter((item) => item.closest('[role="menu"]') === $35.get(menuElement));
4803
5029
  }
4804
5030
  function focusMenuItem(index3) {
4805
5031
  const items = getOwnedMenuItems();
@@ -4862,14 +5088,16 @@ function Dropdown_menu($$anchor, $$props) {
4862
5088
  id: context.menuId,
4863
5089
  popover: context.supportsPopover ? "auto" : undefined,
4864
5090
  class: $0,
4865
- style: context.supportsPopover ? `position-anchor: --${context.menuId};` : context.anchorElement ? anchoredFallback.positionStyle : undefined,
5091
+ style: context.supportsPopover ? `position-anchor: --${context.menuId};` : $35.get(fallbackPositionStyle),
4866
5092
  role: "menu",
4867
5093
  "aria-orientation": "vertical",
4868
- "data-cinder-position-ready": !context.supportsPopover && context.anchorElement ? anchoredFallback.positionReady : undefined,
5094
+ "data-cinder-position-ready": !context.supportsPopover && $35.get(fallbackPositionReady) !== undefined ? $35.get(fallbackPositionReady) : undefined,
4869
5095
  tabindex: -1,
4870
5096
  onkeydown: handleKeydown,
4871
5097
  ontoggle: context.supportsPopover ? handleToggle : undefined,
4872
- ...rest
5098
+ ...rest,
5099
+ dir: $35.get(resolvedDirection),
5100
+ "data-cinder-explicit-direction": $35.get(resolvedDirection) ? "true" : undefined
4873
5101
  }), [
4874
5102
  () => classNames("cinder-_floating-surface", "cinder-dropdown-menu", $$props.class)
4875
5103
  ]);
@@ -4889,6 +5117,7 @@ function Dropdown_menu($$anchor, $$props) {
4889
5117
  $35.reset(div);
4890
5118
  $35.bind_this(div, ($$value) => $35.set(menuElement, $$value), () => $35.get(menuElement));
4891
5119
  $35.attach(div, () => fallbackPortalAttachment);
5120
+ $35.template_effect(() => div.dir = div.dir);
4892
5121
  $35.append($$anchor2, div);
4893
5122
  };
4894
5123
  $35.if(node, ($$render) => {
@@ -4907,11 +5136,13 @@ var root_16 = $36.from_html(`<a><!></a>`);
4907
5136
  var root_32 = $36.from_html(`<button><!></button>`);
4908
5137
  function Dropdown_item($$anchor, $$props) {
4909
5138
  $36.push($$props, true);
4910
- let variant = $36.prop($$props, "variant", 3, "default"), inset = $36.prop($$props, "inset", 3, false), closeOnSelect = $36.prop($$props, "closeOnSelect", 3, true), rest = $36.rest_props($$props, [
5139
+ let variant = $36.prop($$props, "variant", 3, "default"), itemRole = $36.prop($$props, "itemRole", 3, "menuitem"), checked = $36.prop($$props, "checked", 3, false), inset = $36.prop($$props, "inset", 3, false), closeOnSelect = $36.prop($$props, "closeOnSelect", 3, true), rest = $36.rest_props($$props, [
4911
5140
  "$$slots",
4912
5141
  "$$events",
4913
5142
  "$$legacy",
4914
5143
  "variant",
5144
+ "itemRole",
5145
+ "checked",
4915
5146
  "inset",
4916
5147
  "disabled",
4917
5148
  "closeOnSelect",
@@ -4953,18 +5184,20 @@ function Dropdown_item($$anchor, $$props) {
4953
5184
  return;
4954
5185
  event3.currentTarget.click();
4955
5186
  }
4956
- const anchorAttributes = rest;
4957
- const buttonAttributes = rest;
5187
+ const anchorAttributes = $36.derived(() => rest);
5188
+ const buttonAttributes = $36.derived(() => rest);
4958
5189
  const buttonType = $36.derived(() => $$props.type ?? "button");
5190
+ const ariaChecked = $36.derived(() => itemRole() === "menuitemradio" ? checked() : undefined);
4959
5191
  var fragment = $36.comment();
4960
5192
  var node = $36.first_child(fragment);
4961
5193
  {
4962
5194
  var consequent_1 = ($$anchor2) => {
4963
5195
  var a = root_16();
4964
5196
  $36.attribute_effect(a, () => ({
4965
- ...anchorAttributes,
5197
+ ...$36.get(anchorAttributes),
4966
5198
  href: $$props.href,
4967
- role: "menuitem",
5199
+ role: itemRole(),
5200
+ "aria-checked": $36.get(ariaChecked),
4968
5201
  class: $36.get(sharedClass),
4969
5202
  "data-cinder-variant": variant(),
4970
5203
  tabindex: -1,
@@ -4992,9 +5225,10 @@ function Dropdown_item($$anchor, $$props) {
4992
5225
  var alternate = ($$anchor2) => {
4993
5226
  var button = root_32();
4994
5227
  $36.attribute_effect(button, () => ({
4995
- ...buttonAttributes,
5228
+ ...$36.get(buttonAttributes),
4996
5229
  type: $36.get(buttonType),
4997
- role: "menuitem",
5230
+ role: itemRole(),
5231
+ "aria-checked": $36.get(ariaChecked),
4998
5232
  class: $36.get(sharedClass),
4999
5233
  "data-cinder-variant": variant(),
5000
5234
  tabindex: -1,
@@ -5101,6 +5335,10 @@ function Toolbar_dropdown($$anchor, $$props) {
5101
5335
  get "data-active"() {
5102
5336
  return $37.get($0);
5103
5337
  },
5338
+ itemRole: "menuitemradio",
5339
+ get checked() {
5340
+ return $37.get(isActive);
5341
+ },
5104
5342
  children: ($$anchor5, $$slotProps3) => {
5105
5343
  var fragment_6 = root_6();
5106
5344
  var node_5 = $37.first_child(fragment_6);
@@ -5143,7 +5381,7 @@ var root_24 = $38.from_html(`<div class="toolbar-spacer svelte-1m9m099"></div> <
5143
5381
  var root_18 = $38.from_html(`<div class="toolbar-group svelte-1m9m099" role="group" aria-label="History"><!> <!></div> <!> <div class="toolbar-group svelte-1m9m099" role="group" aria-label="Block type"><!></div> <!> <div class="toolbar-group svelte-1m9m099" role="group" aria-label="Text formatting"><!> <!> <!> <!></div> <!> <div class="toolbar-group svelte-1m9m099" role="group" aria-label="Links"><!></div> <!> <div class="toolbar-group svelte-1m9m099" role="group" aria-label="Lists"><!> <!></div> <!> <div class="toolbar-group svelte-1m9m099" role="group" aria-label="Block operations"><!></div> <!>`, 1);
5144
5382
  function Editor_toolbar($$anchor, $$props) {
5145
5383
  $38.push($$props, true);
5146
- let canUndo = $38.prop($$props, "canUndo", 3, false), canRedo = $38.prop($$props, "canRedo", 3, false), disabled = $38.prop($$props, "disabled", 3, false), rest = $38.rest_props($$props, [
5384
+ let canUndo = $38.prop($$props, "canUndo", 3, false), canRedo = $38.prop($$props, "canRedo", 3, false), disabled = $38.prop($$props, "disabled", 3, false), linkPopoverOpen = $38.prop($$props, "linkPopoverOpen", 3, false), rest = $38.rest_props($$props, [
5147
5385
  "$$slots",
5148
5386
  "$$events",
5149
5387
  "$$legacy",
@@ -5155,6 +5393,7 @@ function Editor_toolbar($$anchor, $$props) {
5155
5393
  "canUndo",
5156
5394
  "canRedo",
5157
5395
  "disabled",
5396
+ "linkPopoverOpen",
5158
5397
  "onLinkClick",
5159
5398
  "onUndo",
5160
5399
  "onRedo",
@@ -5430,9 +5669,9 @@ function Editor_toolbar($$anchor, $$props) {
5430
5669
  get shortcut() {
5431
5670
  return $38.get($02);
5432
5671
  },
5433
- toggle: true,
5434
- get pressed() {
5435
- return $$props.activeMarks.link;
5672
+ "aria-haspopup": "dialog",
5673
+ get "aria-expanded"() {
5674
+ return linkPopoverOpen();
5436
5675
  },
5437
5676
  get disabled() {
5438
5677
  return disabled();
@@ -5542,6 +5781,7 @@ function Editor_toolbar($$anchor, $$props) {
5542
5781
  // src/components/markdown-editor/editor-toolbar/link-popover.svelte
5543
5782
  import"svelte/internal/disclose-version";
5544
5783
  import * as $43 from "svelte/internal/client";
5784
+ import { tick as tick2 } from "svelte";
5545
5785
 
5546
5786
  // src/components/button/button.svelte
5547
5787
  import"svelte/internal/disclose-version";
@@ -5808,26 +6048,20 @@ function resolveFieldControl(input) {
5808
6048
  }
5809
6049
 
5810
6050
  // src/_internal/form-field-context.ts
5811
- import { createContext as createContext3 } from "svelte";
5812
-
5813
- // src/_internal/optional-context.ts
5814
- function optionalContext(getStrict) {
5815
- return () => {
5816
- try {
5817
- return getStrict();
5818
- } catch {
5819
- return;
5820
- }
5821
- };
5822
- }
5823
-
5824
- // src/_internal/form-field-context.ts
5825
- var [getFormFieldContextStrict, setFormFieldContextRaw] = createContext3();
6051
+ import { createContext as createContext4 } from "svelte";
6052
+ var [getFormFieldContextStrict, setFormFieldContextRaw] = createContext4();
5826
6053
  function setFormFieldContext(context) {
5827
6054
  setFormFieldContextRaw(context);
5828
6055
  }
5829
6056
  var getFormFieldContext = optionalContext(getFormFieldContextStrict);
5830
6057
 
6058
+ // src/utilities/value-change.ts
6059
+ function commitValue(proposed, onValueChange, setValue) {
6060
+ const committed = onValueChange?.(proposed) ?? proposed;
6061
+ setValue(committed);
6062
+ return committed;
6063
+ }
6064
+
5831
6065
  // src/components/input/input.svelte
5832
6066
  var calendarIcon = ($$anchor) => {
5833
6067
  var svg = root_110();
@@ -5835,13 +6069,14 @@ var calendarIcon = ($$anchor) => {
5835
6069
  };
5836
6070
  var root_110 = $40.from_svg(`<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>`);
5837
6071
  var root_26 = $40.from_html(`<input/>`);
5838
- var root_34 = $40.from_html(`<label class="cinder-input-field__label"> </label>`);
5839
- var root_53 = $40.from_html(`<span class="cinder-input-group__leading cinder-_truncate"><!></span>`);
5840
- var root_62 = $40.from_html(`<span class="cinder-input-group__trailing cinder-_truncate"><!></span>`);
5841
- var root_7 = $40.from_html(`<span class="cinder-input-group__trailing cinder-input-group__date-icon cinder-_truncate" aria-hidden="true"><!></span>`);
5842
- var root_42 = $40.from_html(`<div class="cinder-input-group"><!> <!> <!></div>`);
5843
- var root_92 = $40.from_html(`<p class="cinder-input-field__description"> </p>`);
5844
- var root_102 = $40.from_html(`<p class="cinder-input-field__error" aria-live="polite"> </p>`);
6072
+ var root_42 = $40.from_html(`<span class="cinder-_required-marker" aria-hidden="true">*</span>`);
6073
+ var root_34 = $40.from_html(`<label class="cinder-input-field__label"> <!></label>`);
6074
+ var root_62 = $40.from_html(`<span class="cinder-input-group__leading cinder-_truncate"><!></span>`);
6075
+ var root_7 = $40.from_html(`<span class="cinder-input-group__trailing cinder-_truncate"><!></span>`);
6076
+ var root_82 = $40.from_html(`<span class="cinder-input-group__trailing cinder-input-group__date-icon cinder-_truncate" aria-hidden="true"><!></span>`);
6077
+ var root_53 = $40.from_html(`<div class="cinder-input-group"><!> <!> <!></div>`);
6078
+ var root_102 = $40.from_html(`<p class="cinder-input-field__description"> </p>`);
6079
+ var root_11 = $40.from_html(`<p class="cinder-input-field__error" aria-live="polite"> </p>`);
5845
6080
  var root12 = $40.from_html(`<div class="cinder-input-field"><!> <!> <!> <!></div>`);
5846
6081
  function Input($$anchor, $$props) {
5847
6082
  $40.push($$props, true);
@@ -5850,15 +6085,17 @@ function Input($$anchor, $$props) {
5850
6085
  $40.attribute_effect(input, ($0) => ({
5851
6086
  id: $$props.id,
5852
6087
  type: type(),
6088
+ ...rest,
5853
6089
  disabled: $40.get(resolvedDisabled),
5854
6090
  required: $40.get(resolvedRequired),
6091
+ value: value(),
6092
+ oninput: handleInput,
5855
6093
  class: $0,
5856
6094
  "data-cinder-native-date": $40.get(rendersNativeDateIcon) ? "" : undefined,
5857
6095
  "aria-invalid": $40.get(resolvedAriaInvalid),
5858
- "aria-describedby": $40.get(describedBy),
5859
- ...rest
6096
+ "aria-describedby": $40.get(describedBy)
5860
6097
  }), [() => classNames("cinder-input", $$props.class)], undefined, undefined, undefined, true);
5861
- $40.bind_value(input, value);
6098
+ $40.bind_this(input, ($$value) => $40.set(inputNode, $$value), () => $40.get(inputNode));
5862
6099
  $40.append($$anchor2, input);
5863
6100
  };
5864
6101
  let value = $40.prop($$props, "value", 15, ""), type = $40.prop($$props, "type", 3, "text"), leadingInteractive = $40.prop($$props, "leadingInteractive", 3, false), trailingInteractive = $40.prop($$props, "trailingInteractive", 3, false), rest = $40.rest_props($$props, [
@@ -5867,6 +6104,7 @@ function Input($$anchor, $$props) {
5867
6104
  "$$legacy",
5868
6105
  "id",
5869
6106
  "value",
6107
+ "onValueChange",
5870
6108
  "label",
5871
6109
  "description",
5872
6110
  "error",
@@ -5878,7 +6116,9 @@ function Input($$anchor, $$props) {
5878
6116
  "trailing",
5879
6117
  "leadingInteractive",
5880
6118
  "trailingInteractive",
5881
- "aria-describedby"
6119
+ "aria-describedby",
6120
+ "aria-invalid",
6121
+ "oninput"
5882
6122
  ]);
5883
6123
  const context = getFormFieldContext();
5884
6124
  $40.user_effect(() => {
@@ -5886,83 +6126,134 @@ function Input($$anchor, $$props) {
5886
6126
  devWarn(`[cinder/Input] id mismatch: Input id="${$$props.id}" but wrapping FormField expects controlId="${context.controlId}". Set the same id on both.`);
5887
6127
  }
5888
6128
  });
5889
- const defaultDescriptionId = $40.derived(() => describeId($$props.id, !!$$props.description));
5890
- const defaultErrorId = $40.derived(() => errorId($$props.id, !!$$props.error));
5891
- const ownDescriptionId = $40.derived(() => $$props.description && $40.get(defaultDescriptionId) === context?.descriptionId ? `${$$props.id}-input-description` : $40.get(defaultDescriptionId));
5892
- const ownErrorId = $40.derived(() => $$props.error && $40.get(defaultErrorId) === context?.errorId ? `${$$props.id}-input-error` : $40.get(defaultErrorId));
5893
- const resolvedDescriptionId = $40.derived(() => $40.get(ownDescriptionId) ?? context?.descriptionId);
5894
- const resolvedErrorId = $40.derived(() => $40.get(ownErrorId) ?? context?.errorId);
5895
- const describedBy = $40.derived(() => composeDescribedBy($40.get(resolvedDescriptionId), $40.get(resolvedErrorId), $$props["aria-describedby"]));
5896
- const resolvedAriaInvalid = $40.derived(() => $$props.error ? ariaInvalid(true) : context?.invalid ?? rest["aria-invalid"] ?? ariaInvalid(false));
5897
- const resolvedRequired = $40.derived(() => $$props.required ?? context?.required ?? false);
5898
- const resolvedDisabled = $40.derived(() => $$props.disabled ?? context?.disabled ?? false);
6129
+ const field = $40.derived(() => resolveFieldControl({
6130
+ id: $$props.id,
6131
+ generatedId: $$props.id,
6132
+ context,
6133
+ hasDescription: !!$$props.description,
6134
+ hasError: !!$$props.error,
6135
+ localIdNamespace: "input",
6136
+ consumerDescribedBy: $$props["aria-describedby"],
6137
+ consumerInvalid: $$props["aria-invalid"],
6138
+ required: $$props.required,
6139
+ disabled: $$props.disabled
6140
+ }));
6141
+ const ownDescriptionId = $40.derived(() => $40.get(field).ownDescriptionId);
6142
+ const ownErrorId = $40.derived(() => $40.get(field).ownErrorId);
6143
+ const describedBy = $40.derived(() => $40.get(field).describedBy);
6144
+ const resolvedAriaInvalid = $40.derived(() => $40.get(field).ariaInvalid);
6145
+ const resolvedRequired = $40.derived(() => $40.get(field).required);
6146
+ const resolvedDisabled = $40.derived(() => $40.get(field).disabled);
5899
6147
  const isNativeDateInput = $40.derived(() => type() === "date");
5900
6148
  const rendersNativeDateIcon = $40.derived(() => $40.get(isNativeDateInput) && !$$props.trailing);
5901
6149
  const hasTrailing = $40.derived(() => !!$$props.trailing || $40.get(isNativeDateInput));
5902
6150
  const hasGroupWrapper = $40.derived(() => !!$$props.leading || $40.get(hasTrailing));
5903
- const isInvalid = $40.derived(() => $40.get(resolvedAriaInvalid) === "true" || $40.get(resolvedAriaInvalid) === true);
6151
+ const isInvalid = $40.derived(() => $40.get(resolvedAriaInvalid) === "true");
6152
+ let inputNode = $40.state(undefined);
6153
+ let resetSyncTimeout;
6154
+ function syncValueAfterFormReset() {
6155
+ if (resetSyncTimeout !== undefined)
6156
+ clearTimeout(resetSyncTimeout);
6157
+ resetSyncTimeout = setTimeout(() => {
6158
+ resetSyncTimeout = undefined;
6159
+ if ($40.get(inputNode))
6160
+ value($40.get(inputNode).value);
6161
+ }, 0);
6162
+ }
6163
+ $40.user_effect(() => {
6164
+ const form = $40.get(inputNode)?.form;
6165
+ if (!form)
6166
+ return;
6167
+ form.addEventListener("reset", syncValueAfterFormReset);
6168
+ return () => {
6169
+ form.removeEventListener("reset", syncValueAfterFormReset);
6170
+ if (resetSyncTimeout !== undefined) {
6171
+ clearTimeout(resetSyncTimeout);
6172
+ resetSyncTimeout = undefined;
6173
+ }
6174
+ };
6175
+ });
6176
+ function handleInput(event3) {
6177
+ const target = event3.currentTarget;
6178
+ const committed = commitValue(target.value, $$props.onValueChange, (next) => {
6179
+ value(next);
6180
+ });
6181
+ target.value = committed;
6182
+ $$props.oninput?.(event3);
6183
+ }
5904
6184
  var div = root12();
5905
6185
  var node = $40.child(div);
5906
6186
  {
5907
- var consequent = ($$anchor2) => {
6187
+ var consequent_1 = ($$anchor2) => {
5908
6188
  var label_1 = root_34();
5909
- var text2 = $40.child(label_1, true);
6189
+ var text2 = $40.child(label_1);
6190
+ var node_1 = $40.sibling(text2);
6191
+ {
6192
+ var consequent = ($$anchor3) => {
6193
+ var span = root_42();
6194
+ $40.append($$anchor3, span);
6195
+ };
6196
+ $40.if(node_1, ($$render) => {
6197
+ if ($40.get(resolvedRequired))
6198
+ $$render(consequent);
6199
+ });
6200
+ }
5910
6201
  $40.reset(label_1);
5911
6202
  $40.template_effect(() => {
5912
6203
  $40.set_attribute(label_1, "for", $$props.id);
5913
6204
  $40.set_attribute(label_1, "data-disabled", $40.get(resolvedDisabled) || undefined);
5914
- $40.set_text(text2, $$props.label);
6205
+ $40.set_text(text2, `${$$props.label ?? ""} `);
5915
6206
  });
5916
6207
  $40.append($$anchor2, label_1);
5917
6208
  };
5918
6209
  $40.if(node, ($$render) => {
5919
6210
  if ($$props.label)
5920
- $$render(consequent);
6211
+ $$render(consequent_1);
5921
6212
  });
5922
6213
  }
5923
- var node_1 = $40.sibling(node, 2);
6214
+ var node_2 = $40.sibling(node, 2);
5924
6215
  {
5925
- var consequent_4 = ($$anchor2) => {
5926
- var div_1 = root_42();
5927
- var node_2 = $40.child(div_1);
5928
- {
5929
- var consequent_1 = ($$anchor3) => {
5930
- var span = root_53();
5931
- var node_3 = $40.child(span);
5932
- $40.snippet(node_3, () => $$props.leading);
5933
- $40.reset(span);
5934
- $40.template_effect(() => $40.set_attribute(span, "aria-hidden", leadingInteractive() ? undefined : "true"));
5935
- $40.append($$anchor3, span);
5936
- };
5937
- $40.if(node_2, ($$render) => {
5938
- if ($$props.leading)
5939
- $$render(consequent_1);
5940
- });
5941
- }
5942
- var node_4 = $40.sibling(node_2, 2);
5943
- inputElement(node_4);
5944
- var node_5 = $40.sibling(node_4, 2);
6216
+ var consequent_5 = ($$anchor2) => {
6217
+ var div_1 = root_53();
6218
+ var node_3 = $40.child(div_1);
5945
6219
  {
5946
6220
  var consequent_2 = ($$anchor3) => {
5947
6221
  var span_1 = root_62();
5948
- var node_6 = $40.child(span_1);
5949
- $40.snippet(node_6, () => $$props.trailing);
6222
+ var node_4 = $40.child(span_1);
6223
+ $40.snippet(node_4, () => $$props.leading);
5950
6224
  $40.reset(span_1);
5951
- $40.template_effect(() => $40.set_attribute(span_1, "aria-hidden", trailingInteractive() ? undefined : "true"));
6225
+ $40.template_effect(() => $40.set_attribute(span_1, "aria-hidden", leadingInteractive() ? undefined : "true"));
5952
6226
  $40.append($$anchor3, span_1);
5953
6227
  };
6228
+ $40.if(node_3, ($$render) => {
6229
+ if ($$props.leading)
6230
+ $$render(consequent_2);
6231
+ });
6232
+ }
6233
+ var node_5 = $40.sibling(node_3, 2);
6234
+ inputElement(node_5);
6235
+ var node_6 = $40.sibling(node_5, 2);
6236
+ {
5954
6237
  var consequent_3 = ($$anchor3) => {
5955
6238
  var span_2 = root_7();
5956
6239
  var node_7 = $40.child(span_2);
5957
- calendarIcon(node_7);
6240
+ $40.snippet(node_7, () => $$props.trailing);
5958
6241
  $40.reset(span_2);
6242
+ $40.template_effect(() => $40.set_attribute(span_2, "aria-hidden", trailingInteractive() ? undefined : "true"));
5959
6243
  $40.append($$anchor3, span_2);
5960
6244
  };
5961
- $40.if(node_5, ($$render) => {
6245
+ var consequent_4 = ($$anchor3) => {
6246
+ var span_3 = root_82();
6247
+ var node_8 = $40.child(span_3);
6248
+ calendarIcon(node_8);
6249
+ $40.reset(span_3);
6250
+ $40.append($$anchor3, span_3);
6251
+ };
6252
+ $40.if(node_6, ($$render) => {
5962
6253
  if ($$props.trailing)
5963
- $$render(consequent_2);
6254
+ $$render(consequent_3);
5964
6255
  else if ($40.get(rendersNativeDateIcon))
5965
- $$render(consequent_3, 1);
6256
+ $$render(consequent_4, 1);
5966
6257
  });
5967
6258
  }
5968
6259
  $40.reset(div_1);
@@ -5978,17 +6269,17 @@ function Input($$anchor, $$props) {
5978
6269
  var alternate = ($$anchor2) => {
5979
6270
  inputElement($$anchor2);
5980
6271
  };
5981
- $40.if(node_1, ($$render) => {
6272
+ $40.if(node_2, ($$render) => {
5982
6273
  if ($40.get(hasGroupWrapper))
5983
- $$render(consequent_4);
6274
+ $$render(consequent_5);
5984
6275
  else
5985
6276
  $$render(alternate, -1);
5986
6277
  });
5987
6278
  }
5988
- var node_8 = $40.sibling(node_1, 2);
6279
+ var node_9 = $40.sibling(node_2, 2);
5989
6280
  {
5990
- var consequent_5 = ($$anchor2) => {
5991
- var p = root_92();
6281
+ var consequent_6 = ($$anchor2) => {
6282
+ var p = root_102();
5992
6283
  var text_1 = $40.child(p, true);
5993
6284
  $40.reset(p);
5994
6285
  $40.template_effect(() => {
@@ -5997,15 +6288,15 @@ function Input($$anchor, $$props) {
5997
6288
  });
5998
6289
  $40.append($$anchor2, p);
5999
6290
  };
6000
- $40.if(node_8, ($$render) => {
6291
+ $40.if(node_9, ($$render) => {
6001
6292
  if ($$props.description)
6002
- $$render(consequent_5);
6293
+ $$render(consequent_6);
6003
6294
  });
6004
6295
  }
6005
- var node_9 = $40.sibling(node_8, 2);
6296
+ var node_10 = $40.sibling(node_9, 2);
6006
6297
  {
6007
- var consequent_6 = ($$anchor2) => {
6008
- var p_1 = root_102();
6298
+ var consequent_7 = ($$anchor2) => {
6299
+ var p_1 = root_11();
6009
6300
  var text_2 = $40.child(p_1, true);
6010
6301
  $40.reset(p_1);
6011
6302
  $40.template_effect(() => {
@@ -6014,9 +6305,9 @@ function Input($$anchor, $$props) {
6014
6305
  });
6015
6306
  $40.append($$anchor2, p_1);
6016
6307
  };
6017
- $40.if(node_9, ($$render) => {
6308
+ $40.if(node_10, ($$render) => {
6018
6309
  if ($$props.error)
6019
- $$render(consequent_6);
6310
+ $$render(consequent_7);
6020
6311
  });
6021
6312
  }
6022
6313
  $40.reset(div);
@@ -6101,6 +6392,21 @@ function Link_popover($$anchor, $$props) {
6101
6392
  });
6102
6393
  let url = $43.state($43.proxy(initialUrl()));
6103
6394
  let text3 = $43.state($43.proxy(initialText()));
6395
+ let initialFocusApplied = false;
6396
+ $43.user_effect(() => {
6397
+ if (initialFocusApplied)
6398
+ return;
6399
+ if (!$43.get(popoverElement))
6400
+ return;
6401
+ if (anchorElement() && !anchoredOverlay.positionReady)
6402
+ return;
6403
+ tick2().then(() => {
6404
+ if (initialFocusApplied)
6405
+ return;
6406
+ document.getElementById(`${$$props.id}-url`)?.focus();
6407
+ initialFocusApplied = true;
6408
+ });
6409
+ });
6104
6410
  const ALLOWED_PROTOCOLS = [
6105
6411
  "http:",
6106
6412
  "https:",
@@ -6319,8 +6625,8 @@ var root_54 = $44.from_html(`<div class="toolbar-actions svelte-1mxvqjb"><!></di
6319
6625
  var root_72 = $44.from_html(`<!> <!>`, 1);
6320
6626
  var root_63 = $44.from_html(`<div class="toolbar-mode-toggle svelte-1mxvqjb"><!></div>`);
6321
6627
  var root_36 = $44.from_html(`<div class="editor-toolbar-wrapper svelte-1mxvqjb"><!> <!> <!> <!></div>`);
6322
- var root_11 = $44.from_html(`<div class="cinder-markdown-content prose markdown-editor surface svelte-1mxvqjb" role="application" tabindex="0"></div>`);
6323
- var root_122 = $44.from_html(`<textarea class="markdown-editor surface source-mode svelte-1mxvqjb"></textarea>`);
6628
+ var root_112 = $44.from_html(`<div class="cinder-markdown-content prose markdown-editor surface svelte-1mxvqjb" role="application" tabindex="0"></div>`);
6629
+ var root_122 = $44.from_html(`<textarea class="markdown-editor surface source-mode svelte-1mxvqjb" aria-multiline="true"></textarea>`);
6324
6630
  var root14 = $44.from_html(`<div><!> <!> <!></div>`);
6325
6631
  function Markdown_editor($$anchor, $$props) {
6326
6632
  $44.push($$props, true);
@@ -6339,10 +6645,10 @@ function Markdown_editor($$anchor, $$props) {
6339
6645
  "showToolbar",
6340
6646
  "class",
6341
6647
  "onchange",
6342
- "onReady",
6648
+ "onready",
6343
6649
  "onmodechange",
6344
- "onSelectionChange",
6345
- "onCommentShortcut",
6650
+ "onselectionchange",
6651
+ "oncommentshortcut",
6346
6652
  "plugins",
6347
6653
  "placeholderCompletion",
6348
6654
  "placeholderDecoration",
@@ -6549,7 +6855,7 @@ function Markdown_editor($$anchor, $$props) {
6549
6855
  $44.set(linkPopoverAnchorElement, null);
6550
6856
  $44.get(editorState)?.focus();
6551
6857
  }
6552
- function handleLinkInsert(url, text4) {
6858
+ function handleLinkInsert(url, text4 = undefined) {
6553
6859
  if (!$44.get(editorContext))
6554
6860
  return;
6555
6861
  if (text4) {
@@ -6593,12 +6899,12 @@ function Markdown_editor($$anchor, $$props) {
6593
6899
  getPlugins: () => plugins(),
6594
6900
  getPlaceholderCompletion: () => $$props.placeholderCompletion,
6595
6901
  getPlaceholderDecoration: () => $$props.placeholderDecoration,
6596
- onReady: (state12) => {
6902
+ onready: (state12) => {
6597
6903
  $44.set(editorState, state12, true);
6598
6904
  $44.set(isInitializing, false);
6599
- $$props.onReady?.();
6905
+ $$props.onready?.();
6600
6906
  },
6601
- onChange: (markdown) => {
6907
+ onchange: (markdown) => {
6602
6908
  isInternalUpdate = true;
6603
6909
  value(markdown);
6604
6910
  $$props.onchange?.(markdown);
@@ -6607,16 +6913,16 @@ function Markdown_editor($$anchor, $$props) {
6607
6913
  isInternalUpdate = false;
6608
6914
  });
6609
6915
  },
6610
- onSelectionChange: (selection) => {
6916
+ onselectionchange: (selection) => {
6611
6917
  $44.update(selectionVersion);
6612
- $$props.onSelectionChange?.(selection);
6918
+ $$props.onselectionchange?.(selection);
6613
6919
  },
6614
- onLinkShortcut: () => {
6920
+ onlinkshortcut: () => {
6615
6921
  $44.set(capturedLinkRange, $44.get(lastKnownLinkRange), true);
6616
6922
  $44.set(linkPopoverAnchorElement, resolveLinkPopoverAnchor(), true);
6617
6923
  $44.set(linkPopoverOpen, true);
6618
6924
  },
6619
- onCommentShortcut: () => $$props.onCommentShortcut?.()
6925
+ oncommentshortcut: () => $$props.oncommentshortcut?.()
6620
6926
  });
6621
6927
  let previousMode = mode();
6622
6928
  $44.user_effect(() => {
@@ -6808,6 +7114,9 @@ function Markdown_editor($$anchor, $$props) {
6808
7114
  get canRedo() {
6809
7115
  return $44.get(canRedo);
6810
7116
  },
7117
+ get linkPopoverOpen() {
7118
+ return $44.get(linkPopoverOpen);
7119
+ },
6811
7120
  get disabled() {
6812
7121
  return $44.get($1);
6813
7122
  },
@@ -6912,7 +7221,7 @@ function Markdown_editor($$anchor, $$props) {
6912
7221
  var node_13 = $44.first_child(fragment_3);
6913
7222
  {
6914
7223
  var consequent_5 = ($$anchor3) => {
6915
- var div_5 = root_11();
7224
+ var div_5 = root_112();
6916
7225
  let styles;
6917
7226
  $44.attach(div_5, () => editorAttachment);
6918
7227
  $44.template_effect(() => {
@@ -7115,8 +7424,8 @@ function Trash_2($$anchor, $$props) {
7115
7424
  var root_27 = $47.from_html(`<span class="comment-edited svelte-11dydst">(edited)</span>`);
7116
7425
  var root_37 = $47.from_html(`<div class="comment-edit svelte-11dydst"><label class="sr-only svelte-11dydst">Edit comment</label> <textarea class="comment-edit-textarea svelte-11dydst"></textarea> <div class="comment-edit-actions svelte-11dydst"><!> <!></div></div>`);
7117
7426
  var root_64 = $47.from_html(`<div class="comment-body svelte-11dydst"> </div>`);
7118
- var root_82 = $47.from_html(`<button type="button" class="comment-action svelte-11dydst" aria-label="Edit comment" title="Edit comment"><!></button>`);
7119
- var root_93 = $47.from_html(`<button type="button" class="comment-action comment-action-danger svelte-11dydst" aria-label="Delete comment" title="Delete comment"><!></button>`);
7427
+ var root_83 = $47.from_html(`<button type="button" class="comment-action svelte-11dydst" aria-label="Edit comment" title="Edit comment"><!></button>`);
7428
+ var root_92 = $47.from_html(`<button type="button" class="comment-action comment-action-danger svelte-11dydst" aria-label="Delete comment" title="Delete comment"><!></button>`);
7120
7429
  var root_73 = $47.from_html(`<div class="comment-actions svelte-11dydst"><!> <!></div>`);
7121
7430
  var root_111 = $47.from_html(`<article class="comment svelte-11dydst"><header class="comment-header svelte-11dydst"><div class="comment-author svelte-11dydst"><div class="comment-avatar svelte-11dydst" aria-hidden="true"> </div> <span class="comment-author-name svelte-11dydst"> </span></div> <div class="comment-meta svelte-11dydst"><time class="comment-time svelte-11dydst"> </time> <!></div></header> <!> <!></article>`);
7122
7431
  var root_103 = $47.from_html(`<p class="comment-list-empty svelte-11dydst">No comments yet.</p>`);
@@ -7256,7 +7565,7 @@ function Comment_list($$anchor, $$props) {
7256
7565
  var node_6 = $47.child(div_7);
7257
7566
  {
7258
7567
  var consequent_2 = ($$anchor4) => {
7259
- var button = root_82();
7568
+ var button = root_83();
7260
7569
  var node_7 = $47.child(button);
7261
7570
  Pencil(node_7, { class: "icon-sm" });
7262
7571
  $47.reset(button);
@@ -7272,7 +7581,7 @@ function Comment_list($$anchor, $$props) {
7272
7581
  var node_8 = $47.sibling(node_6, 2);
7273
7582
  {
7274
7583
  var consequent_3 = ($$anchor4) => {
7275
- var button_1 = root_93();
7584
+ var button_1 = root_92();
7276
7585
  var node_9 = $47.child(button_1);
7277
7586
  Trash_2(node_9, { class: "icon-sm" });
7278
7587
  $47.reset(button_1);
@@ -7553,7 +7862,7 @@ function File_text($$anchor, $$props) {
7553
7862
  }));
7554
7863
  }
7555
7864
  // src/components/review-editor/thread-popover.svelte
7556
- var root_112 = $50.from_html(`<span class="thread-popover-document-label svelte-jqotwh"><!> Document comment</span>`);
7865
+ var root_113 = $50.from_html(`<span class="thread-popover-document-label svelte-jqotwh"><!> Document comment</span>`);
7557
7866
  var root_29 = $50.from_html(`<span class="thread-popover-quote svelte-jqotwh"> </span>`);
7558
7867
  var root_55 = $50.from_html(`<div class="thread-popover-composer svelte-jqotwh"><!></div>`);
7559
7868
  var root17 = $50.from_html(`<div role="dialog" aria-modal="true" tabindex="-1"><header class="thread-popover-header svelte-jqotwh"><div class="thread-popover-title-row svelte-jqotwh"><h2 class="thread-popover-title svelte-jqotwh"><!></h2> <div class="thread-popover-header-actions svelte-jqotwh"><!> <button type="button" class="thread-popover-close svelte-jqotwh" aria-label="Close"><!></button></div></div></header> <div class="thread-popover-content svelte-jqotwh"><!></div> <!></div>`);
@@ -7619,7 +7928,7 @@ function Thread_popover($$anchor, $$props) {
7619
7928
  var node = $50.child(h2);
7620
7929
  {
7621
7930
  var consequent = ($$anchor2) => {
7622
- var span = root_112();
7931
+ var span = root_113();
7623
7932
  var node_1 = $50.child(span);
7624
7933
  File_text(node_1, { class: "icon-xs" });
7625
7934
  $50.next();
@@ -7738,7 +8047,7 @@ $50.delegate(["keydown", "click"]);
7738
8047
  // src/components/review-editor/live-region.svelte
7739
8048
  import"svelte/internal/disclose-version";
7740
8049
  import * as $51 from "svelte/internal/client";
7741
- var root_113 = $51.from_html(`<div role="status" aria-live="polite" aria-atomic="true"> </div>`);
8050
+ var root_115 = $51.from_html(`<div role="status" aria-live="polite" aria-atomic="true"> </div>`);
7742
8051
  var root_210 = $51.from_html(`<div role="alert" aria-live="assertive" aria-atomic="true"> </div>`);
7743
8052
  function Live_region($$anchor, $$props) {
7744
8053
  $51.push($$props, true);
@@ -7783,7 +8092,7 @@ function Live_region($$anchor, $$props) {
7783
8092
  var node = $51.first_child(fragment);
7784
8093
  {
7785
8094
  var consequent = ($$anchor2) => {
7786
- var div = root_113();
8095
+ var div = root_115();
7787
8096
  var text_1 = $51.child(div, true);
7788
8097
  $51.reset(div);
7789
8098
  $51.template_effect(($0) => {
@@ -8011,7 +8320,7 @@ function Message_square($$anchor, $$props) {
8011
8320
  }
8012
8321
  // src/components/review-editor/export-actions.svelte
8013
8322
  var root_38 = $57.from_html(`<!> <span class="cinder-sr-only">Copy</span>`, 1);
8014
- var root_94 = $57.from_html(`<span class="copied-label svelte-1cj1bq5">Copied!</span>`);
8323
+ var root_93 = $57.from_html(`<span class="copied-label svelte-1cj1bq5">Copied!</span>`);
8015
8324
  var root_65 = $57.from_html(`<!> <span> </span> <!>`, 1);
8016
8325
  var root_132 = $57.from_html(`<span class="copied-label svelte-1cj1bq5">Copied!</span>`);
8017
8326
  var root_104 = $57.from_html(`<!> <span> </span> <!>`, 1);
@@ -8127,7 +8436,7 @@ function Export_actions($$anchor, $$props) {
8127
8436
  var node_7 = $57.sibling(span, 2);
8128
8437
  {
8129
8438
  var consequent_2 = ($$anchor6) => {
8130
- var span_1 = root_94();
8439
+ var span_1 = root_93();
8131
8440
  $57.append($$anchor6, span_1);
8132
8441
  };
8133
8442
  $57.if(node_7, ($$render) => {
@@ -8383,7 +8692,7 @@ function Plus($$anchor, $$props) {
8383
8692
  }
8384
8693
  // src/components/review-editor/comment-sidebar.svelte
8385
8694
  import { getVisibleComments, isDocumentAnchor as isDocumentAnchor2 } from "@lostgradient/cinder/commentary/comments";
8386
- var root_95 = $60.from_html(`<!> Clear all comments`, 1);
8695
+ var root_94 = $60.from_html(`<!> Clear all comments`, 1);
8387
8696
  var root_66 = $60.from_html(`<!> <!>`, 1);
8388
8697
  var root_105 = $60.from_html(`<div class="confirm-clear svelte-1g8l8sh" role="alertdialog"><p class="confirm-message svelte-1g8l8sh"> </p> <div class="confirm-actions svelte-1g8l8sh"><!> <!></div></div>`);
8389
8698
  var root_133 = $60.from_html(`<div class="document-comment-composer svelte-1g8l8sh"><div class="document-comment-header svelte-1g8l8sh"><!> <span>Document comment</span></div> <!></div>`);
@@ -8518,7 +8827,7 @@ function Comment_sidebar($$anchor, $$props) {
8518
8827
  variant: "danger",
8519
8828
  onclick: handleClearAllClick,
8520
8829
  children: ($$anchor5, $$slotProps3) => {
8521
- var fragment_8 = root_95();
8830
+ var fragment_8 = root_94();
8522
8831
  var node_6 = $60.first_child(fragment_8);
8523
8832
  Trash_2(node_6, { class: "icon-sm" });
8524
8833
  $60.next();
@@ -8693,9 +9002,10 @@ import { parseFrontMatter as parseFrontMatter2, validateFrontMatter as validateF
8693
9002
  // src/components/checkbox/checkbox.svelte
8694
9003
  import"svelte/internal/disclose-version";
8695
9004
  import * as $61 from "svelte/internal/client";
8696
- var root_114 = $61.from_html(`<label class="cinder-checkbox-field__label"> </label>`);
8697
- var root_212 = $61.from_html(`<p class="cinder-checkbox-field__description"> </p>`);
8698
- var root_39 = $61.from_html(`<p class="cinder-checkbox-field__error" aria-live="polite"> </p>`);
9005
+ var root_212 = $61.from_html(`<span class="cinder-_required-marker" aria-hidden="true">*</span>`);
9006
+ var root_116 = $61.from_html(`<label class="cinder-checkbox-field__label"> <!></label>`);
9007
+ var root_39 = $61.from_html(`<p class="cinder-checkbox-field__description"> </p>`);
9008
+ var root_45 = $61.from_html(`<p class="cinder-checkbox-field__error" aria-live="polite"> </p>`);
8699
9009
  var root20 = $61.from_html(`<div class="cinder-checkbox-field"><div class="cinder-checkbox-row"><span class="cinder-checkbox-field__control"><input/> <span class="cinder-checkbox-field__indicator" aria-hidden="true"></span></span> <!></div> <!> <!></div>`);
8700
9010
  function Checkbox($$anchor, $$props) {
8701
9011
  const generatedId = $61.props_id();
@@ -8706,6 +9016,7 @@ function Checkbox($$anchor, $$props) {
8706
9016
  "$$legacy",
8707
9017
  "id",
8708
9018
  "checked",
9019
+ "onValueChange",
8709
9020
  "indeterminate",
8710
9021
  "label",
8711
9022
  "description",
@@ -8714,7 +9025,8 @@ function Checkbox($$anchor, $$props) {
8714
9025
  "required",
8715
9026
  "class",
8716
9027
  "aria-describedby",
8717
- "aria-invalid"
9028
+ "aria-invalid",
9029
+ "onchange"
8718
9030
  ]);
8719
9031
  const context = getFormFieldContext();
8720
9032
  const field = $61.derived(() => resolveFieldControl({
@@ -8740,6 +9052,40 @@ function Checkbox($$anchor, $$props) {
8740
9052
  $61.get(inputElement).indeterminate = indeterminate() && !checked();
8741
9053
  }
8742
9054
  });
9055
+ let resetSyncTimeout;
9056
+ function syncCheckedAfterFormReset() {
9057
+ if (resetSyncTimeout !== undefined)
9058
+ clearTimeout(resetSyncTimeout);
9059
+ resetSyncTimeout = setTimeout(() => {
9060
+ resetSyncTimeout = undefined;
9061
+ if (!$61.get(inputElement))
9062
+ return;
9063
+ checked($61.get(inputElement).checked);
9064
+ $61.get(inputElement).indeterminate = indeterminate() && !$61.get(inputElement).checked;
9065
+ }, 0);
9066
+ }
9067
+ $61.user_effect(() => {
9068
+ const form = $61.get(inputElement)?.form;
9069
+ if (!form)
9070
+ return;
9071
+ form.addEventListener("reset", syncCheckedAfterFormReset);
9072
+ return () => {
9073
+ form.removeEventListener("reset", syncCheckedAfterFormReset);
9074
+ if (resetSyncTimeout !== undefined) {
9075
+ clearTimeout(resetSyncTimeout);
9076
+ resetSyncTimeout = undefined;
9077
+ }
9078
+ };
9079
+ });
9080
+ function handleChange(event4) {
9081
+ const target = event4.currentTarget;
9082
+ const committed = commitValue(target.checked, $$props.onValueChange, (next9) => {
9083
+ checked(next9);
9084
+ });
9085
+ target.checked = committed;
9086
+ target.indeterminate = indeterminate() && !committed;
9087
+ $$props.onchange?.(event4);
9088
+ }
8743
9089
  var div = root20();
8744
9090
  var div_1 = $61.child(div);
8745
9091
  var span = $61.child(div_1);
@@ -8747,39 +9093,52 @@ function Checkbox($$anchor, $$props) {
8747
9093
  $61.attribute_effect(input, ($0) => ({
8748
9094
  id: $61.get(field).id,
8749
9095
  type: "checkbox",
9096
+ ...rest,
8750
9097
  disabled: $61.get(field).disabled,
8751
9098
  required: $61.get(field).required,
9099
+ checked: checked(),
9100
+ onchange: handleChange,
8752
9101
  class: $0,
8753
9102
  "aria-invalid": $61.get(field).ariaInvalid,
8754
- "aria-describedby": $61.get(field).describedBy,
8755
- ...rest
9103
+ "aria-describedby": $61.get(field).describedBy
8756
9104
  }), [() => classNames("cinder-checkbox", $$props.class)], undefined, undefined, undefined, true);
8757
9105
  $61.bind_this(input, ($$value) => $61.set(inputElement, $$value), () => $61.get(inputElement));
8758
9106
  $61.next(2);
8759
9107
  $61.reset(span);
8760
9108
  var node = $61.sibling(span, 2);
8761
9109
  {
8762
- var consequent = ($$anchor2) => {
8763
- var label_1 = root_114();
8764
- var text8 = $61.child(label_1, true);
9110
+ var consequent_1 = ($$anchor2) => {
9111
+ var label_1 = root_116();
9112
+ var text8 = $61.child(label_1);
9113
+ var node_1 = $61.sibling(text8);
9114
+ {
9115
+ var consequent = ($$anchor3) => {
9116
+ var span_1 = root_212();
9117
+ $61.append($$anchor3, span_1);
9118
+ };
9119
+ $61.if(node_1, ($$render) => {
9120
+ if ($61.get(field).required)
9121
+ $$render(consequent);
9122
+ });
9123
+ }
8765
9124
  $61.reset(label_1);
8766
9125
  $61.template_effect(() => {
8767
9126
  $61.set_attribute(label_1, "for", $61.get(field).id);
8768
9127
  $61.set_attribute(label_1, "data-disabled", $61.get(field).disabled || undefined);
8769
- $61.set_text(text8, $$props.label);
9128
+ $61.set_text(text8, `${$$props.label ?? ""} `);
8770
9129
  });
8771
9130
  $61.append($$anchor2, label_1);
8772
9131
  };
8773
9132
  $61.if(node, ($$render) => {
8774
9133
  if ($$props.label)
8775
- $$render(consequent);
9134
+ $$render(consequent_1);
8776
9135
  });
8777
9136
  }
8778
9137
  $61.reset(div_1);
8779
- var node_1 = $61.sibling(div_1, 2);
9138
+ var node_2 = $61.sibling(div_1, 2);
8780
9139
  {
8781
- var consequent_1 = ($$anchor2) => {
8782
- var p = root_212();
9140
+ var consequent_2 = ($$anchor2) => {
9141
+ var p = root_39();
8783
9142
  var text_1 = $61.child(p, true);
8784
9143
  $61.reset(p);
8785
9144
  $61.template_effect(() => {
@@ -8788,15 +9147,15 @@ function Checkbox($$anchor, $$props) {
8788
9147
  });
8789
9148
  $61.append($$anchor2, p);
8790
9149
  };
8791
- $61.if(node_1, ($$render) => {
9150
+ $61.if(node_2, ($$render) => {
8792
9151
  if ($$props.description)
8793
- $$render(consequent_1);
9152
+ $$render(consequent_2);
8794
9153
  });
8795
9154
  }
8796
- var node_2 = $61.sibling(node_1, 2);
9155
+ var node_3 = $61.sibling(node_2, 2);
8797
9156
  {
8798
- var consequent_2 = ($$anchor2) => {
8799
- var p_1 = root_39();
9157
+ var consequent_3 = ($$anchor2) => {
9158
+ var p_1 = root_45();
8800
9159
  var text_2 = $61.child(p_1, true);
8801
9160
  $61.reset(p_1);
8802
9161
  $61.template_effect(() => {
@@ -8805,13 +9164,12 @@ function Checkbox($$anchor, $$props) {
8805
9164
  });
8806
9165
  $61.append($$anchor2, p_1);
8807
9166
  };
8808
- $61.if(node_2, ($$render) => {
9167
+ $61.if(node_3, ($$render) => {
8809
9168
  if ($$props.error)
8810
- $$render(consequent_2);
9169
+ $$render(consequent_3);
8811
9170
  });
8812
9171
  }
8813
9172
  $61.reset(div);
8814
- $61.bind_checked(input, checked);
8815
9173
  $61.append($$anchor, div);
8816
9174
  $61.pop();
8817
9175
  }
@@ -8836,10 +9194,11 @@ function resolveMaximumLength(value) {
8836
9194
  }
8837
9195
 
8838
9196
  // src/components/textarea/textarea.svelte
8839
- var root_115 = $62.from_html(`<label class="cinder-textarea-label"> </label>`);
8840
- var root_213 = $62.from_html(`<p class="cinder-textarea-description"> </p>`);
8841
- var root_310 = $62.from_html(`<output class="cinder-textarea-count" aria-live="polite" aria-atomic="true"> </output>`);
8842
- var root_45 = $62.from_html(`<p class="cinder-textarea-error" aria-live="polite"> </p>`);
9197
+ var root_213 = $62.from_html(`<span class="cinder-_required-marker" aria-hidden="true">*</span>`);
9198
+ var root_117 = $62.from_html(`<label class="cinder-textarea-label"> <!></label>`);
9199
+ var root_310 = $62.from_html(`<p class="cinder-textarea-description"> </p>`);
9200
+ var root_46 = $62.from_html(`<output class="cinder-textarea-count" aria-live="polite" aria-atomic="true"> </output>`);
9201
+ var root_56 = $62.from_html(`<p class="cinder-textarea-error" aria-live="polite"> </p>`);
8843
9202
  var root21 = $62.from_html(`<div class="cinder-textarea-field"><!> <textarea></textarea> <!> <!> <!></div>`);
8844
9203
  function Textarea($$anchor, $$props) {
8845
9204
  $62.push($$props, true);
@@ -8882,19 +9241,31 @@ function Textarea($$anchor, $$props) {
8882
9241
  var div = root21();
8883
9242
  var node = $62.child(div);
8884
9243
  {
8885
- var consequent = ($$anchor2) => {
8886
- var label_1 = root_115();
8887
- var text8 = $62.child(label_1, true);
9244
+ var consequent_1 = ($$anchor2) => {
9245
+ var label_1 = root_117();
9246
+ var text8 = $62.child(label_1);
9247
+ var node_1 = $62.sibling(text8);
9248
+ {
9249
+ var consequent = ($$anchor3) => {
9250
+ var span = root_213();
9251
+ $62.append($$anchor3, span);
9252
+ };
9253
+ $62.if(node_1, ($$render) => {
9254
+ if ($62.get(field).required)
9255
+ $$render(consequent);
9256
+ });
9257
+ }
8888
9258
  $62.reset(label_1);
8889
9259
  $62.template_effect(() => {
8890
9260
  $62.set_attribute(label_1, "for", $$props.id);
8891
- $62.set_text(text8, $$props.label);
9261
+ $62.set_attribute(label_1, "data-disabled", $62.get(field).disabled || undefined);
9262
+ $62.set_text(text8, `${$$props.label ?? ""} `);
8892
9263
  });
8893
9264
  $62.append($$anchor2, label_1);
8894
9265
  };
8895
9266
  $62.if(node, ($$render) => {
8896
9267
  if ($$props.label)
8897
- $$render(consequent);
9268
+ $$render(consequent_1);
8898
9269
  });
8899
9270
  }
8900
9271
  var textarea = $62.sibling(node, 2);
@@ -8912,10 +9283,10 @@ function Textarea($$anchor, $$props) {
8912
9283
  }), [
8913
9284
  () => classNames("cinder-_input-frame", "cinder-textarea", $$props.class)
8914
9285
  ]);
8915
- var node_1 = $62.sibling(textarea, 2);
9286
+ var node_2 = $62.sibling(textarea, 2);
8916
9287
  {
8917
- var consequent_1 = ($$anchor2) => {
8918
- var p = root_213();
9288
+ var consequent_2 = ($$anchor2) => {
9289
+ var p = root_310();
8919
9290
  var text_1 = $62.child(p, true);
8920
9291
  $62.reset(p);
8921
9292
  $62.template_effect(() => {
@@ -8924,15 +9295,15 @@ function Textarea($$anchor, $$props) {
8924
9295
  });
8925
9296
  $62.append($$anchor2, p);
8926
9297
  };
8927
- $62.if(node_1, ($$render) => {
9298
+ $62.if(node_2, ($$render) => {
8928
9299
  if ($$props.description)
8929
- $$render(consequent_1);
9300
+ $$render(consequent_2);
8930
9301
  });
8931
9302
  }
8932
- var node_2 = $62.sibling(node_1, 2);
9303
+ var node_3 = $62.sibling(node_2, 2);
8933
9304
  {
8934
- var consequent_2 = ($$anchor2) => {
8935
- var output = root_310();
9305
+ var consequent_3 = ($$anchor2) => {
9306
+ var output = root_46();
8936
9307
  var text_2 = $62.child(output);
8937
9308
  $62.reset(output);
8938
9309
  $62.template_effect(() => {
@@ -8942,15 +9313,15 @@ function Textarea($$anchor, $$props) {
8942
9313
  });
8943
9314
  $62.append($$anchor2, output);
8944
9315
  };
8945
- $62.if(node_2, ($$render) => {
9316
+ $62.if(node_3, ($$render) => {
8946
9317
  if ($62.get(countId))
8947
- $$render(consequent_2);
9318
+ $$render(consequent_3);
8948
9319
  });
8949
9320
  }
8950
- var node_3 = $62.sibling(node_2, 2);
9321
+ var node_4 = $62.sibling(node_3, 2);
8951
9322
  {
8952
- var consequent_3 = ($$anchor2) => {
8953
- var p_1 = root_45();
9323
+ var consequent_4 = ($$anchor2) => {
9324
+ var p_1 = root_56();
8954
9325
  var text_3 = $62.child(p_1, true);
8955
9326
  $62.reset(p_1);
8956
9327
  $62.template_effect(() => {
@@ -8959,9 +9330,9 @@ function Textarea($$anchor, $$props) {
8959
9330
  });
8960
9331
  $62.append($$anchor2, p_1);
8961
9332
  };
8962
- $62.if(node_3, ($$render) => {
9333
+ $62.if(node_4, ($$render) => {
8963
9334
  if ($$props.error)
8964
- $$render(consequent_3);
9335
+ $$render(consequent_4);
8965
9336
  });
8966
9337
  }
8967
9338
  $62.reset(div);
@@ -9131,7 +9502,7 @@ function textOffsetToLineColumn(documentText, offset3, fallback) {
9131
9502
 
9132
9503
  // src/components/review-editor/front-matter-fields.svelte
9133
9504
  var root_214 = $63.from_html(`<div class="review-editor-front-matter__field"><!></div>`);
9134
- var root_96 = $63.from_html(`<p class="review-editor-front-matter__empty">No front matter fields.</p>`);
9505
+ var root_95 = $63.from_html(`<p class="review-editor-front-matter__empty">No front matter fields.</p>`);
9135
9506
  var root22 = $63.from_html(`<section class="review-editor-front-matter"><div class="review-editor-front-matter__header"><h3 class="review-editor-front-matter__title">Front matter</h3></div> <div class="review-editor-front-matter__body"><!></div></section>`);
9136
9507
  function Front_matter_fields($$anchor, $$props) {
9137
9508
  $63.push($$props, true);
@@ -9386,7 +9757,7 @@ ${rawValue}
9386
9757
  }
9387
9758
  };
9388
9759
  var alternate_1 = ($$anchor2) => {
9389
- var p = root_96();
9760
+ var p = root_95();
9390
9761
  $63.append($$anchor2, p);
9391
9762
  };
9392
9763
  $63.if(node, ($$render) => {
@@ -9415,9 +9786,46 @@ import * as $67 from "svelte/internal/client";
9415
9786
  // src/components/badge/badge.svelte
9416
9787
  import"svelte/internal/disclose-version";
9417
9788
  import * as $64 from "svelte/internal/client";
9789
+ var root_311 = $64.from_svg(`<path></path>`);
9790
+ var root_215 = $64.from_svg(`<svg class="icon-sm" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></svg>`);
9791
+ var root_118 = $64.from_html(`<!> <!>`, 1);
9418
9792
  var root23 = $64.from_html(`<span><!></span>`);
9419
9793
  function Badge($$anchor, $$props) {
9420
9794
  $64.push($$props, true);
9795
+ const subscriptionStateConfigurations = {
9796
+ active: { variant: "success", label: "Active" },
9797
+ trialing: { variant: "info", label: "Trialing" },
9798
+ "past-due": { variant: "warning", label: "Past due" },
9799
+ canceled: { variant: "neutral", label: "Canceled" },
9800
+ expired: { variant: "danger", label: "Expired" },
9801
+ refunded: { variant: "neutral", label: "Refunded" }
9802
+ };
9803
+ const subscriptionStateIconPaths = {
9804
+ active: ["M21.801 10A10 10 0 1 1 17 3.335", "m9 11 3 3L22 4"],
9805
+ trialing: ["M12 6v6l4 2", "M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"],
9806
+ "past-due": [
9807
+ "m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",
9808
+ "M12 9v4",
9809
+ "M12 17h.01"
9810
+ ],
9811
+ canceled: [
9812
+ "M15 9 9 15",
9813
+ "M9 9l6 6",
9814
+ "M22 12A10 10 0 1 1 12 2a10 10 0 0 1 10 10Z"
9815
+ ],
9816
+ expired: [
9817
+ "M8 2v4",
9818
+ "M16 2v4",
9819
+ "M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8",
9820
+ "M3 10h18",
9821
+ "m17 14-5-5",
9822
+ "m12 14 5 5"
9823
+ ],
9824
+ refunded: [
9825
+ "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
9826
+ "M3 3v5h5"
9827
+ ]
9828
+ };
9421
9829
  let variant = $64.prop($$props, "variant", 3, "neutral"), size3 = $64.prop($$props, "size", 3, "md"), mono = $64.prop($$props, "mono", 3, false), rest = $64.rest_props($$props, [
9422
9830
  "$$slots",
9423
9831
  "$$events",
@@ -9425,19 +9833,78 @@ function Badge($$anchor, $$props) {
9425
9833
  "variant",
9426
9834
  "size",
9427
9835
  "mono",
9836
+ "subscriptionState",
9428
9837
  "class",
9429
9838
  "children"
9430
9839
  ]);
9840
+ const subscriptionStateConfiguration = $64.derived(() => $$props.subscriptionState === undefined ? undefined : subscriptionStateConfigurations[$$props.subscriptionState]);
9841
+ const resolvedVariant = $64.derived(() => $64.get(subscriptionStateConfiguration)?.variant ?? variant());
9842
+ const resolvedSubscriptionIconPaths = $64.derived(() => $$props.subscriptionState === undefined ? undefined : subscriptionStateIconPaths[$$props.subscriptionState]);
9431
9843
  var span = root23();
9432
9844
  $64.attribute_effect(span, ($0) => ({
9433
9845
  class: $0,
9434
- "data-cinder-variant": variant(),
9846
+ "data-cinder-variant": $64.get(resolvedVariant),
9435
9847
  "data-cinder-size": size3(),
9436
9848
  "data-cinder-mono": mono() ? "" : undefined,
9849
+ "data-cinder-subscription-state": $$props.subscriptionState,
9437
9850
  ...rest
9438
9851
  }), [() => classNames("cinder-badge", $$props.class)]);
9439
9852
  var node = $64.child(span);
9440
- $64.snippet(node, () => $$props.children ?? $64.noop);
9853
+ {
9854
+ var consequent_2 = ($$anchor2) => {
9855
+ var fragment = root_118();
9856
+ var node_1 = $64.first_child(fragment);
9857
+ {
9858
+ var consequent = ($$anchor3) => {
9859
+ var svg = root_215();
9860
+ $64.each(svg, 20, () => $64.get(resolvedSubscriptionIconPaths), (iconPath) => iconPath, ($$anchor4, iconPath) => {
9861
+ var path = root_311();
9862
+ $64.template_effect(() => $64.set_attribute(path, "d", iconPath));
9863
+ $64.append($$anchor4, path);
9864
+ });
9865
+ $64.reset(svg);
9866
+ $64.append($$anchor3, svg);
9867
+ };
9868
+ $64.if(node_1, ($$render) => {
9869
+ if ($64.get(resolvedSubscriptionIconPaths))
9870
+ $$render(consequent);
9871
+ });
9872
+ }
9873
+ var node_2 = $64.sibling(node_1, 2);
9874
+ {
9875
+ var consequent_1 = ($$anchor3) => {
9876
+ var fragment_1 = $64.comment();
9877
+ var node_3 = $64.first_child(fragment_1);
9878
+ $64.snippet(node_3, () => $$props.children);
9879
+ $64.append($$anchor3, fragment_1);
9880
+ };
9881
+ var alternate = ($$anchor3) => {
9882
+ var text9 = $64.text();
9883
+ $64.template_effect(() => $64.set_text(text9, $64.get(subscriptionStateConfiguration).label));
9884
+ $64.append($$anchor3, text9);
9885
+ };
9886
+ $64.if(node_2, ($$render) => {
9887
+ if ($$props.children)
9888
+ $$render(consequent_1);
9889
+ else
9890
+ $$render(alternate, -1);
9891
+ });
9892
+ }
9893
+ $64.append($$anchor2, fragment);
9894
+ };
9895
+ var alternate_1 = ($$anchor2) => {
9896
+ var fragment_3 = $64.comment();
9897
+ var node_4 = $64.first_child(fragment_3);
9898
+ $64.snippet(node_4, () => $$props.children ?? $64.noop);
9899
+ $64.append($$anchor2, fragment_3);
9900
+ };
9901
+ $64.if(node, ($$render) => {
9902
+ if ($64.get(subscriptionStateConfiguration))
9903
+ $$render(consequent_2);
9904
+ else
9905
+ $$render(alternate_1, -1);
9906
+ });
9907
+ }
9441
9908
  $64.reset(span);
9442
9909
  $64.append($$anchor, span);
9443
9910
  $64.pop();
@@ -9446,14 +9913,14 @@ function Badge($$anchor, $$props) {
9446
9913
  // src/components/diff-statistics/diff-statistics.svelte
9447
9914
  import"svelte/internal/disclose-version";
9448
9915
  import * as $65 from "svelte/internal/client";
9449
- var root_311 = $65.from_html(`<span class="cinder-diff-statistics__label">added</span>`);
9450
- var root_215 = $65.from_html(`<span class="cinder-diff-statistics__stat cinder-diff-statistics__stat--added"><span class="cinder-diff-statistics__prefix" aria-hidden="true">+</span> <span class="cinder-diff-statistics__value"> </span> <!></span>`);
9451
- var root_56 = $65.from_html(`<span class="cinder-diff-statistics__label">removed</span>`);
9452
- var root_46 = $65.from_html(`<span class="cinder-diff-statistics__stat cinder-diff-statistics__stat--removed"><span class="cinder-diff-statistics__prefix" aria-hidden="true">-</span> <span class="cinder-diff-statistics__value"> </span> <!></span>`);
9916
+ var root_312 = $65.from_html(`<span class="cinder-diff-statistics__label">added</span>`);
9917
+ var root_216 = $65.from_html(`<span class="cinder-diff-statistics__stat cinder-diff-statistics__stat--added"><span class="cinder-diff-statistics__prefix" aria-hidden="true">+</span> <span class="cinder-diff-statistics__value"> </span> <!></span>`);
9918
+ var root_57 = $65.from_html(`<span class="cinder-diff-statistics__label">removed</span>`);
9919
+ var root_47 = $65.from_html(`<span class="cinder-diff-statistics__stat cinder-diff-statistics__stat--removed"><span class="cinder-diff-statistics__prefix" aria-hidden="true">-</span> <span class="cinder-diff-statistics__value"> </span> <!></span>`);
9453
9920
  var root_74 = $65.from_html(`<span class="cinder-diff-statistics__label">modified</span>`);
9454
9921
  var root_67 = $65.from_html(`<span class="cinder-diff-statistics__stat cinder-diff-statistics__stat--modified"><span class="cinder-diff-statistics__prefix" aria-hidden="true">~</span> <span class="cinder-diff-statistics__value"> </span> <!></span>`);
9455
- var root_116 = $65.from_html(`<!> <!> <!>`, 1);
9456
- var root_83 = $65.from_html(`<span class="cinder-diff-statistics__stat cinder-diff-statistics__stat--none">No changes</span>`);
9922
+ var root_119 = $65.from_html(`<!> <!> <!>`, 1);
9923
+ var root_84 = $65.from_html(`<span class="cinder-diff-statistics__stat cinder-diff-statistics__stat--none">No changes</span>`);
9457
9924
  var root24 = $65.from_html(`<div><!></div>`);
9458
9925
  function Diff_statistics($$anchor, $$props) {
9459
9926
  $65.push($$props, true);
@@ -9493,18 +9960,18 @@ function Diff_statistics($$anchor, $$props) {
9493
9960
  var node = $65.child(div);
9494
9961
  {
9495
9962
  var consequent_6 = ($$anchor2) => {
9496
- var fragment = root_116();
9963
+ var fragment = root_119();
9497
9964
  var node_1 = $65.first_child(fragment);
9498
9965
  {
9499
9966
  var consequent_1 = ($$anchor3) => {
9500
- var span = root_215();
9967
+ var span = root_216();
9501
9968
  var span_1 = $65.sibling($65.child(span), 2);
9502
- var text8 = $65.child(span_1, true);
9969
+ var text9 = $65.child(span_1, true);
9503
9970
  $65.reset(span_1);
9504
9971
  var node_2 = $65.sibling(span_1, 2);
9505
9972
  {
9506
9973
  var consequent = ($$anchor4) => {
9507
- var span_2 = root_311();
9974
+ var span_2 = root_312();
9508
9975
  $65.append($$anchor4, span_2);
9509
9976
  };
9510
9977
  $65.if(node_2, ($$render) => {
@@ -9515,7 +9982,7 @@ function Diff_statistics($$anchor, $$props) {
9515
9982
  $65.reset(span);
9516
9983
  $65.template_effect(() => {
9517
9984
  $65.set_attribute(span, "aria-label", $65.get(addedLabel));
9518
- $65.set_text(text8, $$props.added);
9985
+ $65.set_text(text9, $$props.added);
9519
9986
  });
9520
9987
  $65.append($$anchor3, span);
9521
9988
  };
@@ -9527,14 +9994,14 @@ function Diff_statistics($$anchor, $$props) {
9527
9994
  var node_3 = $65.sibling(node_1, 2);
9528
9995
  {
9529
9996
  var consequent_3 = ($$anchor3) => {
9530
- var span_3 = root_46();
9997
+ var span_3 = root_47();
9531
9998
  var span_4 = $65.sibling($65.child(span_3), 2);
9532
9999
  var text_1 = $65.child(span_4, true);
9533
10000
  $65.reset(span_4);
9534
10001
  var node_4 = $65.sibling(span_4, 2);
9535
10002
  {
9536
10003
  var consequent_2 = ($$anchor4) => {
9537
- var span_5 = root_56();
10004
+ var span_5 = root_57();
9538
10005
  $65.append($$anchor4, span_5);
9539
10006
  };
9540
10007
  $65.if(node_4, ($$render) => {
@@ -9587,7 +10054,7 @@ function Diff_statistics($$anchor, $$props) {
9587
10054
  $65.append($$anchor2, fragment);
9588
10055
  };
9589
10056
  var alternate = ($$anchor2) => {
9590
- var span_9 = root_83();
10057
+ var span_9 = root_84();
9591
10058
  $65.append($$anchor2, span_9);
9592
10059
  };
9593
10060
  $65.if(node, ($$render) => {
@@ -9629,13 +10096,13 @@ function Rotate_ccw($$anchor, $$props) {
9629
10096
  }));
9630
10097
  }
9631
10098
  // src/components/review-editor/review-editor-controls.svelte
9632
- var root_47 = $67.from_html(`<!> <!>`, 1);
9633
- var root_117 = $67.from_html(`<!> <!>`, 1);
9634
- var root_118 = $67.from_html(`<!> <!> <!>`, 1);
10099
+ var root_48 = $67.from_html(`<!> <!>`, 1);
10100
+ var root_120 = $67.from_html(`<!> <!>`, 1);
10101
+ var root_114 = $67.from_html(`<!> <!> <!>`, 1);
9635
10102
  var root_106 = $67.from_html(`<div class="controls-separator svelte-161pl7w" aria-hidden="true"></div> <!>`, 1);
9636
- var root_163 = $67.from_html(`<!> <span class="sr-only">Revert All</span>`, 1);
10103
+ var root_163 = $67.from_html(`<!> <span class="cinder-sr-only">Revert All</span>`, 1);
9637
10104
  var root_174 = $67.from_html(`<!> <!>`, 1);
9638
- var root25 = $67.from_html(`<div role="toolbar" aria-label="Review editor controls"><div class="controls-leading svelte-161pl7w"><!> <!> <!></div> <div class="controls-trailing svelte-161pl7w"><!> <div class="comments-toggle-wrapper svelte-161pl7w"><!></div> <!></div></div> <div role="status" aria-live="polite" aria-atomic="true" class="comments-count-announcer sr-only"> </div>`, 1);
10105
+ var root25 = $67.from_html(`<div role="toolbar" aria-label="Review editor controls"><div class="controls-leading svelte-161pl7w"><!> <!> <!></div> <div class="controls-trailing svelte-161pl7w"><!> <div class="comments-toggle-wrapper svelte-161pl7w"><!></div> <!></div></div> <div role="status" aria-live="polite" aria-atomic="true" class="comments-count-announcer cinder-sr-only"> </div>`, 1);
9639
10106
  function Review_editor_controls($$anchor, $$props) {
9640
10107
  $67.push($$props, true);
9641
10108
  let showDiffTabs = $67.prop($$props, "showDiffTabs", 3, true), diffViewMode = $67.prop($$props, "diffViewMode", 15, "unified"), hasContentChanges = $67.prop($$props, "hasContentChanges", 3, false), readonly = $67.prop($$props, "readonly", 3, false), commentCount = $67.prop($$props, "commentCount", 3, 0), sidebarOpen = $67.prop($$props, "sidebarOpen", 3, false);
@@ -9673,7 +10140,7 @@ function Review_editor_controls($$anchor, $$props) {
9673
10140
  },
9674
10141
  onchange: handleViewChange,
9675
10142
  children: ($$anchor2, $$slotProps) => {
9676
- var fragment_1 = root_117();
10143
+ var fragment_1 = root_120();
9677
10144
  var node_1 = $67.first_child(fragment_1);
9678
10145
  {
9679
10146
  const leading = ($$anchor3) => {
@@ -9688,8 +10155,8 @@ function Review_editor_controls($$anchor, $$props) {
9688
10155
  leading,
9689
10156
  children: ($$anchor3, $$slotProps2) => {
9690
10157
  $67.next();
9691
- var text9 = $67.text("Editor");
9692
- $67.append($$anchor3, text9);
10158
+ var text10 = $67.text("Editor");
10159
+ $67.append($$anchor3, text10);
9693
10160
  },
9694
10161
  $$slots: { leading: true, default: true }
9695
10162
  });
@@ -9697,7 +10164,7 @@ function Review_editor_controls($$anchor, $$props) {
9697
10164
  var node_2 = $67.sibling(node_1, 2);
9698
10165
  {
9699
10166
  var consequent = ($$anchor3) => {
9700
- var fragment_3 = root_47();
10167
+ var fragment_3 = root_48();
9701
10168
  var node_3 = $67.first_child(fragment_3);
9702
10169
  {
9703
10170
  const leading = ($$anchor4) => {
@@ -9793,7 +10260,7 @@ function Review_editor_controls($$anchor, $$props) {
9793
10260
  diffViewMode($$value);
9794
10261
  },
9795
10262
  children: ($$anchor3, $$slotProps) => {
9796
- var fragment_8 = root_118();
10263
+ var fragment_8 = root_114();
9797
10264
  var node_8 = $67.first_child(fragment_8);
9798
10265
  Segment(node_8, {
9799
10266
  value: "unified",
@@ -9967,8 +10434,8 @@ import"svelte/internal/disclose-version";
9967
10434
  import * as $68 from "svelte/internal/client";
9968
10435
 
9969
10436
  // src/_internal/surface-context.ts
9970
- import { createContext as createContext4 } from "svelte";
9971
- var [getSurfaceContextStrict, setSurfaceContextRaw] = createContext4();
10437
+ import { createContext as createContext5 } from "svelte";
10438
+ var [getSurfaceContextStrict, setSurfaceContextRaw] = createContext5();
9972
10439
  function setSurfaceContext(context) {
9973
10440
  setSurfaceContextRaw(context);
9974
10441
  }
@@ -10290,7 +10757,7 @@ function Front_matter_header($$anchor, $$props) {
10290
10757
  var node_1 = $72.sibling(span, 2);
10291
10758
  File_text(node_1, { class: "icon-sm" });
10292
10759
  var span_1 = $72.sibling(node_1, 2);
10293
- var text10 = $72.child(span_1, true);
10760
+ var text11 = $72.child(span_1, true);
10294
10761
  $72.reset(span_1);
10295
10762
  var node_2 = $72.sibling(span_1, 2);
10296
10763
  {
@@ -10317,7 +10784,7 @@ function Front_matter_header($$anchor, $$props) {
10317
10784
  });
10318
10785
  }
10319
10786
  $72.reset(button);
10320
- $72.template_effect(() => $72.set_text(text10, label()));
10787
+ $72.template_effect(() => $72.set_text(text11, label()));
10321
10788
  $72.append($$anchor, button);
10322
10789
  $72.pop();
10323
10790
  }
@@ -10325,10 +10792,10 @@ function Front_matter_header($$anchor, $$props) {
10325
10792
  // src/components/diff-viewer/diff-line.svelte
10326
10793
  import"svelte/internal/disclose-version";
10327
10794
  import * as $73 from "svelte/internal/client";
10328
- var root_216 = $73.from_html(`<div><span class="diff-gutter svelte-hc3elb"></span> <span class="diff-text svelte-hc3elb"> </span></div>`);
10329
- var root_48 = $73.from_html(`<button type="button"><span class="diff-gutter svelte-hc3elb">+</span> <span class="diff-text svelte-hc3elb"> </span></button>`);
10330
- var root_57 = $73.from_html(`<div><span class="diff-gutter svelte-hc3elb">+</span> <span class="diff-text svelte-hc3elb"> </span></div>`);
10331
- var root_84 = $73.from_html(`<del class="svelte-hc3elb"> </del>`);
10795
+ var root_217 = $73.from_html(`<div><span class="diff-gutter svelte-hc3elb"></span> <span class="diff-text svelte-hc3elb"> </span></div>`);
10796
+ var root_49 = $73.from_html(`<button type="button"><span class="diff-gutter svelte-hc3elb">+</span> <span class="diff-text svelte-hc3elb"> </span></button>`);
10797
+ var root_58 = $73.from_html(`<div><span class="diff-gutter svelte-hc3elb">+</span> <span class="diff-text svelte-hc3elb"> </span></div>`);
10798
+ var root_85 = $73.from_html(`<del class="svelte-hc3elb"> </del>`);
10332
10799
  var root_75 = $73.from_html(`<button type="button"><span class="diff-gutter svelte-hc3elb"> </span> <span class="diff-text svelte-hc3elb"><!></span></button>`);
10333
10800
  var root_1110 = $73.from_html(`<del class="svelte-hc3elb"> </del>`);
10334
10801
  var root_107 = $73.from_html(`<div><span class="diff-gutter svelte-hc3elb"> </span> <span class="diff-text svelte-hc3elb"><!></span></div>`);
@@ -10357,6 +10824,11 @@ function Diff_line($$anchor, $$props) {
10357
10824
  return true;
10358
10825
  });
10359
10826
  const isInteractive = $73.derived(() => $$props.diff.type !== "same" && $$props.onselect !== undefined);
10827
+ const accessibleLineLabel = $73.derived(() => {
10828
+ const text12 = $$props.diff.type === "modified" ? $$props.viewMode === "original" ? $$props.diff.oldText : $$props.viewMode === "final" ? $$props.diff.newText : `${$$props.diff.oldText} changed to ${$$props.diff.newText}` : $$props.diff.text;
10829
+ const typeLabel = $$props.diff.type === "added" ? "Added line" : $$props.diff.type === "removed" ? "Removed line" : "Modified line";
10830
+ return `${typeLabel}: ${text12 || "blank line"}`;
10831
+ });
10360
10832
  var fragment = $73.comment();
10361
10833
  var node = $73.first_child(fragment);
10362
10834
  {
@@ -10365,14 +10837,14 @@ function Diff_line($$anchor, $$props) {
10365
10837
  var node_1 = $73.first_child(fragment_1);
10366
10838
  {
10367
10839
  var consequent = ($$anchor3) => {
10368
- var div = root_216();
10840
+ var div = root_217();
10369
10841
  var span = $73.sibling($73.child(div), 2);
10370
- var text11 = $73.child(span, true);
10842
+ var text_1 = $73.child(span, true);
10371
10843
  $73.reset(span);
10372
10844
  $73.reset(div);
10373
10845
  $73.template_effect(($0) => {
10374
10846
  $73.set_class(div, 1, $0, "svelte-hc3elb");
10375
- $73.set_text(text11, $$props.diff.text || " ");
10847
+ $73.set_text(text_1, $$props.diff.text || " ");
10376
10848
  }, [() => $73.clsx(classNames("diff-line", $$props.class))]);
10377
10849
  $73.append($$anchor3, div);
10378
10850
  };
@@ -10381,15 +10853,16 @@ function Diff_line($$anchor, $$props) {
10381
10853
  var node_2 = $73.first_child(fragment_2);
10382
10854
  {
10383
10855
  var consequent_1 = ($$anchor4) => {
10384
- var button = root_48();
10856
+ var button = root_49();
10385
10857
  var span_1 = $73.sibling($73.child(button), 2);
10386
- var text_1 = $73.child(span_1, true);
10858
+ var text_2 = $73.child(span_1, true);
10387
10859
  $73.reset(span_1);
10388
10860
  $73.reset(button);
10389
10861
  $73.template_effect(($0) => {
10390
10862
  $73.set_class(button, 1, $0, "svelte-hc3elb");
10391
10863
  $73.set_attribute(button, "data-selected", selected());
10392
- $73.set_text(text_1, $$props.diff.text || " ");
10864
+ $73.set_attribute(button, "aria-label", $73.get(accessibleLineLabel));
10865
+ $73.set_text(text_2, $$props.diff.text || " ");
10393
10866
  }, [
10394
10867
  () => $73.clsx(classNames("diff-line diff-line-added", $$props.class))
10395
10868
  ]);
@@ -10399,15 +10872,15 @@ function Diff_line($$anchor, $$props) {
10399
10872
  $73.append($$anchor4, button);
10400
10873
  };
10401
10874
  var alternate = ($$anchor4) => {
10402
- var div_1 = root_57();
10875
+ var div_1 = root_58();
10403
10876
  var span_2 = $73.sibling($73.child(div_1), 2);
10404
- var text_2 = $73.child(span_2, true);
10877
+ var text_3 = $73.child(span_2, true);
10405
10878
  $73.reset(span_2);
10406
10879
  $73.reset(div_1);
10407
10880
  $73.template_effect(($0) => {
10408
10881
  $73.set_class(div_1, 1, $0, "svelte-hc3elb");
10409
10882
  $73.set_attribute(div_1, "data-selected", selected());
10410
- $73.set_text(text_2, $$props.diff.text || " ");
10883
+ $73.set_text(text_3, $$props.diff.text || " ");
10411
10884
  }, [
10412
10885
  () => $73.clsx(classNames("diff-line diff-line-added", $$props.class))
10413
10886
  ]);
@@ -10430,22 +10903,22 @@ function Diff_line($$anchor, $$props) {
10430
10903
  var consequent_4 = ($$anchor4) => {
10431
10904
  var button_1 = root_75();
10432
10905
  var span_3 = $73.child(button_1);
10433
- var text_3 = $73.child(span_3, true);
10906
+ var text_4 = $73.child(span_3, true);
10434
10907
  $73.reset(span_3);
10435
10908
  var span_4 = $73.sibling(span_3, 2);
10436
10909
  var node_4 = $73.child(span_4);
10437
10910
  {
10438
10911
  var consequent_3 = ($$anchor5) => {
10439
- var del = root_84();
10440
- var text_4 = $73.child(del, true);
10912
+ var del = root_85();
10913
+ var text_5 = $73.child(del, true);
10441
10914
  $73.reset(del);
10442
- $73.template_effect(() => $73.set_text(text_4, $$props.diff.text || " "));
10915
+ $73.template_effect(() => $73.set_text(text_5, $$props.diff.text || " "));
10443
10916
  $73.append($$anchor5, del);
10444
10917
  };
10445
10918
  var alternate_1 = ($$anchor5) => {
10446
- var text_5 = $73.text();
10447
- $73.template_effect(() => $73.set_text(text_5, $$props.diff.text || " "));
10448
- $73.append($$anchor5, text_5);
10919
+ var text_6 = $73.text();
10920
+ $73.template_effect(() => $73.set_text(text_6, $$props.diff.text || " "));
10921
+ $73.append($$anchor5, text_6);
10449
10922
  };
10450
10923
  $73.if(node_4, ($$render) => {
10451
10924
  if ($73.get(showStrikethrough))
@@ -10459,7 +10932,8 @@ function Diff_line($$anchor, $$props) {
10459
10932
  $73.template_effect(($0) => {
10460
10933
  $73.set_class(button_1, 1, $0, "svelte-hc3elb");
10461
10934
  $73.set_attribute(button_1, "data-selected", selected());
10462
- $73.set_text(text_3, $73.get(showStrikethrough) ? "-" : "");
10935
+ $73.set_attribute(button_1, "aria-label", $73.get(accessibleLineLabel));
10936
+ $73.set_text(text_4, $73.get(showStrikethrough) ? "-" : "");
10463
10937
  }, [
10464
10938
  () => $73.clsx(classNames("diff-line", $73.get(showStrikethrough) ? "diff-line-removed" : "diff-line-removed-original", $$props.class))
10465
10939
  ]);
@@ -10471,22 +10945,22 @@ function Diff_line($$anchor, $$props) {
10471
10945
  var alternate_3 = ($$anchor4) => {
10472
10946
  var div_2 = root_107();
10473
10947
  var span_5 = $73.child(div_2);
10474
- var text_6 = $73.child(span_5, true);
10948
+ var text_7 = $73.child(span_5, true);
10475
10949
  $73.reset(span_5);
10476
10950
  var span_6 = $73.sibling(span_5, 2);
10477
10951
  var node_5 = $73.child(span_6);
10478
10952
  {
10479
10953
  var consequent_5 = ($$anchor5) => {
10480
10954
  var del_1 = root_1110();
10481
- var text_7 = $73.child(del_1, true);
10955
+ var text_8 = $73.child(del_1, true);
10482
10956
  $73.reset(del_1);
10483
- $73.template_effect(() => $73.set_text(text_7, $$props.diff.text || " "));
10957
+ $73.template_effect(() => $73.set_text(text_8, $$props.diff.text || " "));
10484
10958
  $73.append($$anchor5, del_1);
10485
10959
  };
10486
10960
  var alternate_2 = ($$anchor5) => {
10487
- var text_8 = $73.text();
10488
- $73.template_effect(() => $73.set_text(text_8, $$props.diff.text || " "));
10489
- $73.append($$anchor5, text_8);
10961
+ var text_9 = $73.text();
10962
+ $73.template_effect(() => $73.set_text(text_9, $$props.diff.text || " "));
10963
+ $73.append($$anchor5, text_9);
10490
10964
  };
10491
10965
  $73.if(node_5, ($$render) => {
10492
10966
  if ($73.get(showStrikethrough))
@@ -10500,7 +10974,7 @@ function Diff_line($$anchor, $$props) {
10500
10974
  $73.template_effect(($0) => {
10501
10975
  $73.set_class(div_2, 1, $0, "svelte-hc3elb");
10502
10976
  $73.set_attribute(div_2, "data-selected", selected());
10503
- $73.set_text(text_6, $73.get(showStrikethrough) ? "-" : "");
10977
+ $73.set_text(text_7, $73.get(showStrikethrough) ? "-" : "");
10504
10978
  }, [
10505
10979
  () => $73.clsx(classNames("diff-line", $73.get(showStrikethrough) ? "diff-line-removed" : "diff-line-removed-original", $$props.class))
10506
10980
  ]);
@@ -10544,23 +11018,23 @@ function Diff_line($$anchor, $$props) {
10544
11018
  {
10545
11019
  var consequent_8 = ($$anchor8) => {
10546
11020
  var span_9 = root_193();
10547
- var text_9 = $73.child(span_9, true);
11021
+ var text_10 = $73.child(span_9, true);
10548
11022
  $73.reset(span_9);
10549
- $73.template_effect(() => $73.set_text(text_9, $73.get(wordChange).text));
11023
+ $73.template_effect(() => $73.set_text(text_10, $73.get(wordChange).text));
10550
11024
  $73.append($$anchor8, span_9);
10551
11025
  };
10552
11026
  var consequent_9 = ($$anchor8) => {
10553
11027
  var del_2 = root_20();
10554
- var text_10 = $73.child(del_2, true);
11028
+ var text_11 = $73.child(del_2, true);
10555
11029
  $73.reset(del_2);
10556
- $73.template_effect(() => $73.set_text(text_10, $73.get(wordChange).text));
11030
+ $73.template_effect(() => $73.set_text(text_11, $73.get(wordChange).text));
10557
11031
  $73.append($$anchor8, del_2);
10558
11032
  };
10559
11033
  var consequent_10 = ($$anchor8) => {
10560
11034
  var ins = root_21();
10561
- var text_11 = $73.child(ins, true);
11035
+ var text_12 = $73.child(ins, true);
10562
11036
  $73.reset(ins);
10563
- $73.template_effect(() => $73.set_text(text_11, $73.get(wordChange).text));
11037
+ $73.template_effect(() => $73.set_text(text_12, $73.get(wordChange).text));
10564
11038
  $73.append($$anchor8, ins);
10565
11039
  };
10566
11040
  $73.if(node_10, ($$render) => {
@@ -10587,9 +11061,9 @@ function Diff_line($$anchor, $$props) {
10587
11061
  $73.append($$anchor5, fragment_7);
10588
11062
  };
10589
11063
  var alternate_5 = ($$anchor5) => {
10590
- var text_12 = $73.text();
10591
- $73.template_effect(() => $73.set_text(text_12, $73.get(displayText) || " "));
10592
- $73.append($$anchor5, text_12);
11064
+ var text_13 = $73.text();
11065
+ $73.template_effect(() => $73.set_text(text_13, $73.get(displayText) || " "));
11066
+ $73.append($$anchor5, text_13);
10593
11067
  };
10594
11068
  $73.if(node_7, ($$render) => {
10595
11069
  if ($$props.viewMode === "unified")
@@ -10603,6 +11077,7 @@ function Diff_line($$anchor, $$props) {
10603
11077
  $73.template_effect(($0) => {
10604
11078
  $73.set_class(button_2, 1, $0, "svelte-hc3elb");
10605
11079
  $73.set_attribute(button_2, "data-selected", selected());
11080
+ $73.set_attribute(button_2, "aria-label", $73.get(accessibleLineLabel));
10606
11081
  }, [
10607
11082
  () => $73.clsx(classNames("diff-line", $73.get(lineClass), $$props.class))
10608
11083
  ]);
@@ -10634,23 +11109,23 @@ function Diff_line($$anchor, $$props) {
10634
11109
  {
10635
11110
  var consequent_14 = ($$anchor8) => {
10636
11111
  var span_12 = root_282();
10637
- var text_13 = $73.child(span_12, true);
11112
+ var text_14 = $73.child(span_12, true);
10638
11113
  $73.reset(span_12);
10639
- $73.template_effect(() => $73.set_text(text_13, $73.get(wordChange).text));
11114
+ $73.template_effect(() => $73.set_text(text_14, $73.get(wordChange).text));
10640
11115
  $73.append($$anchor8, span_12);
10641
11116
  };
10642
11117
  var consequent_15 = ($$anchor8) => {
10643
11118
  var del_3 = root_292();
10644
- var text_14 = $73.child(del_3, true);
11119
+ var text_15 = $73.child(del_3, true);
10645
11120
  $73.reset(del_3);
10646
- $73.template_effect(() => $73.set_text(text_14, $73.get(wordChange).text));
11121
+ $73.template_effect(() => $73.set_text(text_15, $73.get(wordChange).text));
10647
11122
  $73.append($$anchor8, del_3);
10648
11123
  };
10649
11124
  var consequent_16 = ($$anchor8) => {
10650
11125
  var ins_1 = root_30();
10651
- var text_15 = $73.child(ins_1, true);
11126
+ var text_16 = $73.child(ins_1, true);
10652
11127
  $73.reset(ins_1);
10653
- $73.template_effect(() => $73.set_text(text_15, $73.get(wordChange).text));
11128
+ $73.template_effect(() => $73.set_text(text_16, $73.get(wordChange).text));
10654
11129
  $73.append($$anchor8, ins_1);
10655
11130
  };
10656
11131
  $73.if(node_14, ($$render) => {
@@ -10677,9 +11152,9 @@ function Diff_line($$anchor, $$props) {
10677
11152
  $73.append($$anchor5, fragment_11);
10678
11153
  };
10679
11154
  var alternate_7 = ($$anchor5) => {
10680
- var text_16 = $73.text();
10681
- $73.template_effect(() => $73.set_text(text_16, $73.get(displayText) || " "));
10682
- $73.append($$anchor5, text_16);
11155
+ var text_17 = $73.text();
11156
+ $73.template_effect(() => $73.set_text(text_17, $73.get(displayText) || " "));
11157
+ $73.append($$anchor5, text_17);
10683
11158
  };
10684
11159
  $73.if(node_11, ($$render) => {
10685
11160
  if ($$props.viewMode === "unified")
@@ -10731,7 +11206,7 @@ function Diff_line($$anchor, $$props) {
10731
11206
  $73.delegate(["click"]);
10732
11207
 
10733
11208
  // src/components/diff-viewer/diff-front-matter.svelte
10734
- var root_119 = $74.from_html(`<div class="front-matter-content svelte-113383m"></div>`);
11209
+ var root_121 = $74.from_html(`<div class="front-matter-content svelte-113383m"></div>`);
10735
11210
  var root28 = $74.from_html(`<div><!> <!></div>`);
10736
11211
  function Diff_front_matter($$anchor, $$props) {
10737
11212
  $74.push($$props, true);
@@ -10778,7 +11253,7 @@ function Diff_front_matter($$anchor, $$props) {
10778
11253
  var node_1 = $74.sibling(node, 2);
10779
11254
  {
10780
11255
  var consequent = ($$anchor2) => {
10781
- var div_1 = root_119();
11256
+ var div_1 = root_121();
10782
11257
  $74.each(div_1, 23, () => $$props.diffs, (lineDiff, idx) => `fm-${idx}:${lineDiff.type}:${lineDiff.type === "modified" ? lineDiff.newText : lineDiff.text}`, ($$anchor3, lineDiff) => {
10783
11258
  Diff_line($$anchor3, {
10784
11259
  get diff() {
@@ -10836,9 +11311,9 @@ function Kbd($$anchor, $$props) {
10836
11311
  $75.append($$anchor2, fragment);
10837
11312
  };
10838
11313
  var alternate = ($$anchor2) => {
10839
- var text12 = $75.text();
10840
- $75.template_effect(() => $75.set_text(text12, $$props.label));
10841
- $75.append($$anchor2, text12);
11314
+ var text13 = $75.text();
11315
+ $75.template_effect(() => $75.set_text(text13, $$props.label));
11316
+ $75.append($$anchor2, text13);
10842
11317
  };
10843
11318
  $75.if(node, ($$render) => {
10844
11319
  if ($$props.children)
@@ -10868,10 +11343,10 @@ function Spinner($$anchor, $$props) {
10868
11343
  "data-cinder-size": size3()
10869
11344
  }), [() => classNames("cinder-spinner", $$props.class)]);
10870
11345
  var span_1 = $76.child(span);
10871
- var text12 = $76.child(span_1, true);
11346
+ var text13 = $76.child(span_1, true);
10872
11347
  $76.reset(span_1);
10873
11348
  $76.reset(span);
10874
- $76.template_effect(() => $76.set_text(text12, label()));
11349
+ $76.template_effect(() => $76.set_text(text13, label()));
10875
11350
  $76.append($$anchor, span);
10876
11351
  $76.pop();
10877
11352
  }
@@ -10928,11 +11403,11 @@ function Refresh_cw($$anchor, $$props) {
10928
11403
  }));
10929
11404
  }
10930
11405
  // src/components/diff-viewer/diff-toolbar.svelte
10931
- var root_121 = $79.from_html(`<!> <!> <!>`, 1);
10932
- var root_1111 = $79.from_html(`<span class="no-changes svelte-1p8ursg">No changes</span>`);
11406
+ var root_123 = $79.from_html(`<!> <!> <!>`, 1);
11407
+ var root_1112 = $79.from_html(`<span class="no-changes svelte-1p8ursg">No changes</span>`);
10933
11408
  var root_176 = $79.from_html(`<!> Revert All`, 1);
10934
11409
  var root_194 = $79.from_html(`<!> Compute Diff`, 1);
10935
- var root_217 = $79.from_html(`<div class="navigation svelte-1p8ursg"><!> <span class="change-counter svelte-1p8ursg"> </span> <!></div> <div class="shortcuts svelte-1p8ursg"><!> <!></div>`, 1);
11410
+ var root_218 = $79.from_html(`<div class="navigation svelte-1p8ursg"><!> <span class="change-counter svelte-1p8ursg"> </span> <!></div> <div class="shortcuts svelte-1p8ursg"><!> <!></div>`, 1);
10936
11411
  var root_242 = $79.from_html(`<span class="front-matter-only-hint svelte-1p8ursg">Front matter only</span>`);
10937
11412
  var root31 = $79.from_html(`<div><div class="toolbar-left svelte-1p8ursg"><!> <div class="stats svelte-1p8ursg"><!> <!> <!> <!> <!> <!></div></div> <div class="toolbar-right svelte-1p8ursg"><!> <!> <!> <!></div></div>`);
10938
11413
  function Diff_toolbar($$anchor, $$props) {
@@ -10975,14 +11450,14 @@ function Diff_toolbar($$anchor, $$props) {
10975
11450
  viewMode($$value);
10976
11451
  },
10977
11452
  children: ($$anchor2, $$slotProps) => {
10978
- var fragment = root_121();
11453
+ var fragment = root_123();
10979
11454
  var node_1 = $79.first_child(fragment);
10980
11455
  Segment(node_1, {
10981
11456
  value: "unified",
10982
11457
  children: ($$anchor3, $$slotProps2) => {
10983
11458
  $79.next();
10984
- var text13 = $79.text("Unified");
10985
- $79.append($$anchor3, text13);
11459
+ var text14 = $79.text("Unified");
11460
+ $79.append($$anchor3, text14);
10986
11461
  },
10987
11462
  $$slots: { default: true }
10988
11463
  });
@@ -11077,7 +11552,7 @@ function Diff_toolbar($$anchor, $$props) {
11077
11552
  var node_7 = $79.sibling(node_6, 2);
11078
11553
  {
11079
11554
  var consequent_3 = ($$anchor2) => {
11080
- var span = root_1111();
11555
+ var span = root_1112();
11081
11556
  $79.append($$anchor2, span);
11082
11557
  };
11083
11558
  $79.if(node_7, ($$render) => {
@@ -11189,7 +11664,7 @@ function Diff_toolbar($$anchor, $$props) {
11189
11664
  var node_17 = $79.first_child(fragment_14);
11190
11665
  {
11191
11666
  var consequent_9 = ($$anchor3) => {
11192
- var fragment_15 = root_217();
11667
+ var fragment_15 = root_218();
11193
11668
  var div_4 = $79.first_child(fragment_15);
11194
11669
  var node_18 = $79.child(div_4);
11195
11670
  Button(node_18, {
@@ -11270,10 +11745,10 @@ function Diff_toolbar($$anchor, $$props) {
11270
11745
  // src/components/diff-viewer/diff-viewer.svelte
11271
11746
  var root_76 = $80.from_html(`<span class="compute-time svelte-1fvc2en"> </span>`);
11272
11747
  var root_68 = $80.from_html(`<div class="diff-warning svelte-1fvc2en" role="status"> <!></div>`);
11273
- var root_1112 = $80.from_html(`<!> Revert`, 1);
11748
+ var root_1113 = $80.from_html(`<!> Revert`, 1);
11274
11749
  var root_108 = $80.from_html(`<div class="hunk-header svelte-1fvc2en"><span class="hunk-range svelte-1fvc2en"> </span> <!></div>`);
11275
- var root_97 = $80.from_html(`<!> <!>`, 1);
11276
- var root_123 = $80.from_html(`<!> <!> <div class="diff-content svelte-1fvc2en"><!> <!></div>`, 1);
11750
+ var root_96 = $80.from_html(`<!> <!>`, 1);
11751
+ var root_125 = $80.from_html(`<!> <!> <div class="diff-content svelte-1fvc2en"><!> <!></div>`, 1);
11277
11752
  function Diff_viewer($$anchor, $$props) {
11278
11753
  const instanceId = $80.props_id();
11279
11754
  $80.push($$props, true);
@@ -11435,7 +11910,7 @@ ${match[1] ?? ""}
11435
11910
  return $80.get($1);
11436
11911
  },
11437
11912
  children: ($$anchor2, $$slotProps) => {
11438
- var fragment_1 = root_123();
11913
+ var fragment_1 = root_125();
11439
11914
  var node = $80.first_child(fragment_1);
11440
11915
  {
11441
11916
  var consequent = ($$anchor3) => {
@@ -11510,8 +11985,8 @@ ${match[1] ?? ""}
11510
11985
  {
11511
11986
  var consequent_3 = ($$anchor3) => {
11512
11987
  var div = root_68();
11513
- var text13 = $80.child(div);
11514
- var node_5 = $80.sibling(text13);
11988
+ var text14 = $80.child(div);
11989
+ var node_5 = $80.sibling(text14);
11515
11990
  {
11516
11991
  var consequent_2 = ($$anchor4) => {
11517
11992
  var span = root_76();
@@ -11526,7 +12001,7 @@ ${match[1] ?? ""}
11526
12001
  });
11527
12002
  }
11528
12003
  $80.reset(div);
11529
- $80.template_effect(() => $80.set_text(text13, `${$80.get(diffState).warning ?? ""} `));
12004
+ $80.template_effect(() => $80.set_text(text14, `${$80.get(diffState).warning ?? ""} `));
11530
12005
  $80.append($$anchor3, div);
11531
12006
  };
11532
12007
  $80.if(node_4, ($$render) => {
@@ -11573,7 +12048,7 @@ ${match[1] ?? ""}
11573
12048
  $80.each(node_7, 17, () => $80.get(lineDiffs), $80.index, ($$anchor3, lineDiff, idx) => {
11574
12049
  const isSelected = $80.derived(() => $80.get(selectedLineIndex) === idx);
11575
12050
  const hunkAtLine = $80.derived(() => $80.get(hunkStartMap).get(idx));
11576
- var fragment_7 = root_97();
12051
+ var fragment_7 = root_96();
11577
12052
  var node_8 = $80.first_child(fragment_7);
11578
12053
  {
11579
12054
  var consequent_5 = ($$anchor4) => {
@@ -11589,7 +12064,7 @@ ${match[1] ?? ""}
11589
12064
  onclick: () => handleRevertHunk($80.get(hunkAtLine)),
11590
12065
  "aria-label": "Revert this change",
11591
12066
  children: ($$anchor5, $$slotProps2) => {
11592
- var fragment_8 = root_1112();
12067
+ var fragment_8 = root_1113();
11593
12068
  var node_10 = $80.first_child(fragment_8);
11594
12069
  Rotate_ccw(node_10, { class: "icon-xs" });
11595
12070
  $80.next();
@@ -11634,9 +12109,9 @@ ${match[1] ?? ""}
11634
12109
  // src/components/selection-popover/selection-popover.svelte
11635
12110
  import"svelte/internal/disclose-version";
11636
12111
  import * as $81 from "svelte/internal/client";
11637
- import { tick as tick2 } from "svelte";
11638
- var root_125 = $81.from_html(`<div class="cinder-selection-popover__form"><textarea class="cinder-selection-popover__textarea" aria-label="Comment text" placeholder="Add a comment..."></textarea> <div class="cinder-selection-popover__actions"><button type="button" class="cinder-selection-popover__cancel" aria-label="Cancel"><svg class="cinder-selection-popover__icon" aria-hidden="true" viewBox="0 0 24 24"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button> <button type="button" class="cinder-selection-popover__submit" aria-label="Submit comment" title="Submit comment"><svg class="cinder-selection-popover__icon" aria-hidden="true" viewBox="0 0 24 24"><path d="m22 2-7 20-4-9-9-4Z"></path><path d="M22 2 11 13"></path></svg></button></div></div>`);
11639
- var root_218 = $81.from_html(`<button type="button" class="cinder-selection-popover__button" aria-label="Add comment" title="Add comment to selection"><svg class="cinder-selection-popover__icon" aria-hidden="true" viewBox="0 0 24 24"><path d="M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h6"></path><path d="M19 3v6"></path><path d="M16 6h6"></path></svg></button>`);
12112
+ import { tick as tick3 } from "svelte";
12113
+ var root_126 = $81.from_html(`<div class="cinder-selection-popover__form"><textarea class="cinder-selection-popover__textarea" aria-label="Comment text" placeholder="Add a comment..."></textarea> <div class="cinder-selection-popover__actions"><button type="button" class="cinder-selection-popover__cancel" aria-label="Cancel"><svg class="cinder-selection-popover__icon" aria-hidden="true" viewBox="0 0 24 24"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button> <button type="button" class="cinder-selection-popover__submit" aria-label="Submit comment" title="Submit comment"><svg class="cinder-selection-popover__icon" aria-hidden="true" viewBox="0 0 24 24"><path d="m22 2-7 20-4-9-9-4Z"></path><path d="M22 2 11 13"></path></svg></button></div></div>`);
12114
+ var root_219 = $81.from_html(`<button type="button" class="cinder-selection-popover__button" aria-label="Add comment" title="Add comment to selection"><svg class="cinder-selection-popover__icon" aria-hidden="true" viewBox="0 0 24 24"><path d="M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h6"></path><path d="M19 3v6"></path><path d="M16 6h6"></path></svg></button>`);
11640
12115
  var root32 = $81.from_html(`<div><!></div>`);
11641
12116
  function Selection_popover($$anchor, $$props) {
11642
12117
  $81.push($$props, true);
@@ -11707,7 +12182,7 @@ function Selection_popover($$anchor, $$props) {
11707
12182
  rememberFocus();
11708
12183
  $81.set(expanded, true);
11709
12184
  $$props.onexpand?.();
11710
- tick2().then(() => $81.get(textareaElement)?.focus());
12185
+ tick3().then(() => $81.get(textareaElement)?.focus());
11711
12186
  }
11712
12187
  function handleCancel() {
11713
12188
  $81.set(expanded, false);
@@ -11782,7 +12257,7 @@ function Selection_popover($$anchor, $$props) {
11782
12257
  var node = $81.child(div);
11783
12258
  {
11784
12259
  var consequent = ($$anchor2) => {
11785
- var div_1 = root_125();
12260
+ var div_1 = root_126();
11786
12261
  var textarea = $81.child(div_1);
11787
12262
  $81.remove_textarea_child(textarea);
11788
12263
  $81.set_attribute(textarea, "rows", 2);
@@ -11800,7 +12275,7 @@ function Selection_popover($$anchor, $$props) {
11800
12275
  $81.append($$anchor2, div_1);
11801
12276
  };
11802
12277
  var alternate = ($$anchor2) => {
11803
- var button_2 = root_218();
12278
+ var button_2 = root_219();
11804
12279
  $81.delegated("click", button_2, handleExpand);
11805
12280
  $81.append($$anchor2, button_2);
11806
12281
  };
@@ -11827,10 +12302,10 @@ import {
11827
12302
  generateUnifiedDiff,
11828
12303
  generateCommentsExport
11829
12304
  } from "@lostgradient/cinder/commentary/export";
11830
- var root_220 = $82.from_html(`<input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/>`, 1);
11831
- var root_312 = $82.from_html(`<div class="review-editor-view-panel svelte-1rnat08" role="tabpanel" aria-label="Editor view"><!> <!></div>`);
11832
- var root_58 = $82.from_html(`<div class="review-editor-view-panel svelte-1rnat08" role="tabpanel" aria-label="Diff view"><!></div>`);
11833
- var root_85 = $82.from_html(`<div class="summary-view svelte-1rnat08" role="region" aria-label="Review summary"><div class="summary-empty svelte-1rnat08"><p class="svelte-1rnat08">No changes or comments to summarize.</p> <p class="summary-hint svelte-1rnat08">Edit the document or add comments to generate a summary.</p></div></div>`);
12305
+ var root_221 = $82.from_html(`<input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/> <input type="hidden" class="svelte-1rnat08"/>`, 1);
12306
+ var root_313 = $82.from_html(`<div class="review-editor-view-panel svelte-1rnat08" role="tabpanel" aria-label="Editor view"><!> <!></div>`);
12307
+ var root_59 = $82.from_html(`<div class="review-editor-view-panel svelte-1rnat08" role="tabpanel" aria-label="Diff view"><!></div>`);
12308
+ var root_86 = $82.from_html(`<div class="summary-view svelte-1rnat08" role="region" aria-label="Review summary"><div class="summary-empty svelte-1rnat08"><p class="svelte-1rnat08">No changes or comments to summarize.</p> <p class="summary-hint svelte-1rnat08">Edit the document or add comments to generate a summary.</p></div></div>`);
11834
12309
  var root_69 = $82.from_html(`<div class="review-editor-view-panel svelte-1rnat08" role="tabpanel" aria-label="Summary view"><!></div>`);
11835
12310
  var root33 = $82.from_html(`<div data-testid="review-editor"><!> <!> <!> <div class="review-editor-main svelte-1rnat08"><!></div> <!> <!> <!></div>`);
11836
12311
  function Review_editor_impl($$anchor, $$props) {
@@ -12343,10 +12818,10 @@ function Review_editor_impl($$anchor, $$props) {
12343
12818
  function getEditor() {
12344
12819
  return $82.get(editorRef)?.getEditor() ?? null;
12345
12820
  }
12346
- function exportMarkdownSummary(options) {
12821
+ function exportMarkdownSummary(options = undefined) {
12347
12822
  return generateMarkdownSummary(getState(), options);
12348
12823
  }
12349
- function exportUnifiedDiff(options) {
12824
+ function exportUnifiedDiff(options = undefined) {
12350
12825
  return generateUnifiedDiff(getState(), options);
12351
12826
  }
12352
12827
  function handleExportContent() {
@@ -12549,8 +13024,8 @@ function Review_editor_impl($$anchor, $$props) {
12549
13024
  if (mode() === "readonly")
12550
13025
  return;
12551
13026
  const thread = threads().find((t) => t.id === threadId);
12552
- const comment50 = thread?.comments.find((c) => c.id === commentId);
12553
- if (!comment50 || comment50.deletedAt)
13027
+ const comment51 = thread?.comments.find((c) => c.id === commentId);
13028
+ if (!comment51 || comment51.deletedAt)
12554
13029
  return;
12555
13030
  const mentions = extractMentions(body);
12556
13031
  $$props.oncommentupdate?.({
@@ -12564,8 +13039,8 @@ function Review_editor_impl($$anchor, $$props) {
12564
13039
  if (mode() === "readonly")
12565
13040
  return;
12566
13041
  const thread = threads().find((t) => t.id === threadId);
12567
- const comment50 = thread?.comments.find((c) => c.id === commentId);
12568
- if (!comment50 || soft && comment50.deletedAt)
13042
+ const comment51 = thread?.comments.find((c) => c.id === commentId);
13043
+ if (!comment51 || soft && comment51.deletedAt)
12569
13044
  return;
12570
13045
  $$props.oncommentdelete?.({ threadId, commentId, soft });
12571
13046
  announce("Comment deleted");
@@ -12667,7 +13142,7 @@ function Review_editor_impl($$anchor, $$props) {
12667
13142
  var node_2 = $82.sibling(node_1, 2);
12668
13143
  {
12669
13144
  var consequent = ($$anchor2) => {
12670
- var fragment_1 = root_220();
13145
+ var fragment_1 = root_221();
12671
13146
  var input = $82.first_child(fragment_1);
12672
13147
  $82.remove_input_defaults(input);
12673
13148
  var input_1 = $82.sibling(input, 2);
@@ -12764,7 +13239,7 @@ function Review_editor_impl($$anchor, $$props) {
12764
13239
  var node_4 = $82.child(div_1);
12765
13240
  {
12766
13241
  var consequent_2 = ($$anchor2) => {
12767
- var div_2 = root_312();
13242
+ var div_2 = root_313();
12768
13243
  var node_5 = $82.child(div_2);
12769
13244
  {
12770
13245
  var consequent_1 = ($$anchor3) => {
@@ -12816,12 +13291,12 @@ function Review_editor_impl($$anchor, $$props) {
12816
13291
  return snapshotMode();
12817
13292
  },
12818
13293
  onchange: handleEditorBodyChange,
12819
- onReady: () => {
13294
+ onready: () => {
12820
13295
  if (!$82.get(editorViewReady)) {
12821
13296
  $82.set(editorViewReady, true);
12822
13297
  }
12823
13298
  },
12824
- onSelectionChange: handleSelectionChange
13299
+ onselectionchange: handleSelectionChange
12825
13300
  }), ($$value) => $82.set(editorRef, $$value, true), () => $82.get(editorRef));
12826
13301
  }
12827
13302
  $82.reset(div_2);
@@ -12829,7 +13304,7 @@ function Review_editor_impl($$anchor, $$props) {
12829
13304
  $82.append($$anchor2, div_2);
12830
13305
  };
12831
13306
  var consequent_3 = ($$anchor2) => {
12832
- var div_3 = root_58();
13307
+ var div_3 = root_59();
12833
13308
  var node_7 = $82.child(div_3);
12834
13309
  {
12835
13310
  const toolbar = ($$anchor3) => {};
@@ -12876,7 +13351,7 @@ function Review_editor_impl($$anchor, $$props) {
12876
13351
  });
12877
13352
  };
12878
13353
  var alternate = ($$anchor3) => {
12879
- var div_5 = root_85();
13354
+ var div_5 = root_86();
12880
13355
  $82.append($$anchor3, div_5);
12881
13356
  };
12882
13357
  $82.if(node_8, ($$render) => {
@@ -13383,8 +13858,8 @@ function createThreadManager(options) {
13383
13858
  if (getMode() === "readonly")
13384
13859
  return;
13385
13860
  const thread = getThreads().find((t) => t.id === threadId);
13386
- const comment50 = thread?.comments.find((c) => c.id === commentId);
13387
- if (!comment50 || comment50.deletedAt)
13861
+ const comment51 = thread?.comments.find((c) => c.id === commentId);
13862
+ if (!comment51 || comment51.deletedAt)
13388
13863
  return;
13389
13864
  const mentions = extractMentions2(body);
13390
13865
  oncommentupdate?.({
@@ -13398,8 +13873,8 @@ function createThreadManager(options) {
13398
13873
  if (getMode() === "readonly")
13399
13874
  return;
13400
13875
  const thread = getThreads().find((t) => t.id === threadId);
13401
- const comment50 = thread?.comments.find((c) => c.id === commentId);
13402
- if (!comment50 || soft && comment50.deletedAt)
13876
+ const comment51 = thread?.comments.find((c) => c.id === commentId);
13877
+ if (!comment51 || soft && comment51.deletedAt)
13403
13878
  return;
13404
13879
  oncommentdelete?.({ threadId, commentId, soft });
13405
13880
  announce("Comment deleted");
@@ -13873,4 +14348,4 @@ export {
13873
14348
  Comment_composer as CommentComposer
13874
14349
  };
13875
14350
 
13876
- //# debugId=98E7D0D8AC4117DE64756E2164756E21
14351
+ //# debugId=A7CFE2AA7C4F675F64756E2164756E21