@lostgradient/cinder 0.3.0 → 0.4.1

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 (1760) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/README.md +2 -2
  3. package/components.json +139 -87
  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/_sortable-item.svelte.d.ts +1 -1
  11. package/dist/components/access-gate/index.js +379 -513
  12. package/dist/components/alert/alert.css +1 -1
  13. package/dist/components/alert/alert.schema.js +4 -4
  14. package/dist/components/alert/alert.types.d.ts +4 -4
  15. package/dist/components/alert/index.js +4 -4
  16. package/dist/components/alert-dialog/index.js +9 -3
  17. package/dist/components/approval-card/approval-card-state.d.ts +3 -0
  18. package/dist/components/approval-card/approval-card.css +239 -0
  19. package/dist/components/approval-card/approval-card.schema.js +236 -0
  20. package/dist/components/approval-card/approval-card.svelte.d.ts +21 -0
  21. package/dist/components/approval-card/approval-card.types.d.ts +155 -0
  22. package/dist/components/{subscription-badge/subscription-badge.variables.js → approval-card/approval-card.variables.js} +4 -4
  23. package/dist/components/approval-card/index.d.ts +5 -0
  24. package/dist/components/approval-card/index.js +3794 -0
  25. package/dist/components/autocomplete/autocomplete.css +12 -1
  26. package/dist/components/autocomplete/index.js +181 -143
  27. package/dist/components/avatar-group/index.js +98 -17
  28. package/dist/components/badge/badge.schema.js +6 -3
  29. package/dist/components/badge/badge.svelte.d.ts +4 -0
  30. package/dist/components/badge/badge.types.d.ts +18 -4
  31. package/dist/components/badge/index.d.ts +1 -1
  32. package/dist/components/badge/index.js +99 -3
  33. package/dist/components/banner/banner.schema.js +2 -2
  34. package/dist/components/banner/banner.types.d.ts +1 -1
  35. package/dist/components/banner/index.js +3 -3
  36. package/dist/components/button/button.css +1 -1
  37. package/dist/components/capability-gate/capability-gate.css +15 -2
  38. package/dist/components/capability-gate/capability-gate.schema.js +4 -4
  39. package/dist/components/capability-gate/capability-gate.types.d.ts +6 -6
  40. package/dist/components/capability-gate/index.js +7 -7
  41. package/dist/components/chat/chat.schema.js +11 -26
  42. package/dist/components/chat/chat.types.d.ts +30 -15
  43. package/dist/components/chat/container/chat-events.d.ts +2 -2
  44. package/dist/components/chat/container/chat-history-trigger.svelte.d.ts +1 -1
  45. package/dist/components/chat/container/chat.svelte.d.ts +1 -1
  46. package/dist/components/chat/container/use-chat-scroll-state.svelte.d.ts +4 -4
  47. package/dist/components/chat/container/use-chat-unread-state.svelte.d.ts +6 -6
  48. package/dist/components/chat/index.d.ts +1 -1
  49. package/dist/components/chat/index.js +2516 -2020
  50. package/dist/components/chat/input/chat-input.svelte.d.ts +3 -1
  51. package/dist/components/chat-conversation-header/index.js +327 -29
  52. package/dist/components/chat-conversation-list/chat-conversation-list.css +13 -0
  53. package/dist/components/checkbox/checkbox.css +3 -0
  54. package/dist/components/checkbox/checkbox.schema.js +6 -1
  55. package/dist/components/checkbox/checkbox.types.d.ts +2 -0
  56. package/dist/components/checkbox/index.js +78 -22
  57. package/dist/components/checkbox-group/checkbox-group.css +3 -0
  58. package/dist/components/checkbox-group/checkbox-group.schema.js +4 -4
  59. package/dist/components/checkbox-group/checkbox-group.types.d.ts +12 -7
  60. package/dist/components/checkbox-group/index.js +50 -21
  61. package/dist/components/choice-grid/index.js +2 -2
  62. package/dist/components/choice-grid-item/index.js +2 -2
  63. package/dist/components/click-away-listener/click-away-listener.schema.js +3 -3
  64. package/dist/components/click-away-listener/click-away-listener.types.d.ts +3 -3
  65. package/dist/components/click-away-listener/index.js +3 -3
  66. package/dist/components/code-block/code-block.css +4 -3
  67. package/dist/components/code-block/index.js +6 -5
  68. package/dist/components/collapsible/collapsible.schema.js +2 -2
  69. package/dist/components/collapsible/collapsible.types.d.ts +2 -2
  70. package/dist/components/collapsible/index.js +3 -3
  71. package/dist/components/color-field/color-field.schema.js +3 -3
  72. package/dist/components/color-field/color-field.types.d.ts +2 -2
  73. package/dist/components/color-field/index.js +133 -69
  74. package/dist/components/color-picker/index.js +29 -18
  75. package/dist/components/color-swatch-picker/index.js +29 -18
  76. package/dist/components/combobox/combobox.schema.js +10 -2
  77. package/dist/components/combobox/combobox.types.d.ts +9 -1
  78. package/dist/components/combobox/index.js +188 -75
  79. package/dist/components/command-item/command-item.css +10 -0
  80. package/dist/components/command-item/command-item.schema.js +9 -1
  81. package/dist/components/command-item/command-item.types.d.ts +4 -0
  82. package/dist/components/command-item/index.js +9 -1
  83. package/dist/components/command-menu/index.js +261 -161
  84. package/dist/components/command-palette/command-palette.schema.js +2 -3
  85. package/dist/components/command-palette/command-palette.types.d.ts +1 -2
  86. package/dist/components/command-palette/index.js +286 -192
  87. package/dist/components/confirm-dialog/index.js +9 -3
  88. package/dist/components/context-menu/context-menu.context.d.ts +2 -0
  89. package/dist/components/context-menu/index.js +366 -40
  90. package/dist/components/context-menu-trigger/index.js +11 -8
  91. package/dist/components/copy-button/index.js +6 -5
  92. package/dist/components/data-grid/_internal/column-model.svelte.d.ts +1 -0
  93. package/dist/components/data-grid/data-grid.css +25 -0
  94. package/dist/components/data-grid/data-grid.schema.js +3 -3
  95. package/dist/components/data-grid/data-grid.types.d.ts +8 -2
  96. package/dist/components/data-grid/index.js +11 -8
  97. package/dist/components/data-list/data-list.schema.js +7 -10
  98. package/dist/components/data-list/data-list.types.d.ts +5 -9
  99. package/dist/components/data-list/index.js +15 -39
  100. package/dist/components/data-table/data-table.css +33 -0
  101. package/dist/components/data-table/data-table.schema.js +30 -1
  102. package/dist/components/data-table/data-table.svelte.d.ts +4 -4
  103. package/dist/components/data-table/data-table.types.d.ts +26 -0
  104. package/dist/components/data-table/index.d.ts +1 -1
  105. package/dist/components/data-table/index.js +728 -310
  106. package/dist/components/date-range-field/date-range-field.schema.js +7 -3
  107. package/dist/components/date-range-field/date-range-field.svelte.d.ts +2 -2
  108. package/dist/components/date-range-field/date-range-field.types.d.ts +15 -10
  109. package/dist/components/date-range-field/index.d.ts +1 -1
  110. package/dist/components/date-range-field/index.js +160 -17
  111. package/dist/components/diff-viewer/diff-front-matter.svelte.d.ts +2 -2
  112. package/dist/components/diff-viewer/diff-line.svelte.d.ts +2 -2
  113. package/dist/components/diff-viewer/diff-toolbar.svelte.d.ts +2 -2
  114. package/dist/components/diff-viewer/diff-viewer.svelte.d.ts +1 -1
  115. package/dist/components/diff-viewer/diff-viewer.types.d.ts +3 -3
  116. package/dist/components/diff-viewer/index.d.ts +1 -1
  117. package/dist/components/diff-viewer/index.js +241 -71
  118. package/dist/components/drawer/index.js +353 -283
  119. package/dist/components/dropdown/dropdown.css +7 -1
  120. package/dist/components/dropdown/dropdown.types.d.ts +3 -0
  121. package/dist/components/dropdown/index.js +333 -35
  122. package/dist/components/dropdown-group/dropdown-group.schema.js +4 -4
  123. package/dist/components/dropdown-group/dropdown-group.types.d.ts +4 -4
  124. package/dist/components/dropdown-group/index.js +7 -7
  125. package/dist/components/dropdown-item/dropdown-item.schema.js +9 -1
  126. package/dist/components/dropdown-item/dropdown-item.types.d.ts +5 -0
  127. package/dist/components/dropdown-item/index.js +13 -8
  128. package/dist/components/dropdown-menu/index.js +302 -14
  129. package/dist/components/dropdown-trigger/index.js +11 -12
  130. package/dist/components/event-stream-viewer/event-stream-viewer-keys.d.ts +6 -0
  131. package/dist/components/event-stream-viewer/event-stream-viewer.css +46 -0
  132. package/dist/components/event-stream-viewer/event-stream-viewer.schema.js +83 -10
  133. package/dist/components/event-stream-viewer/event-stream-viewer.svelte.d.ts +3 -3
  134. package/dist/components/event-stream-viewer/event-stream-viewer.types.d.ts +124 -3
  135. package/dist/components/event-stream-viewer/index.d.ts +1 -1
  136. package/dist/components/event-stream-viewer/index.js +764 -409
  137. package/dist/components/experimental/json-viewer/index.d.ts +3 -1
  138. package/dist/components/experimental/json-viewer/index.js +396 -3
  139. package/dist/components/experimental/message/index.d.ts +3 -1
  140. package/dist/components/experimental/message/index.js +81 -3
  141. package/dist/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
  142. package/dist/components/faceted-filter-bar/index.js +25 -6
  143. package/dist/components/file-upload/file-upload.css +5 -5
  144. package/dist/components/floating-action-button/floating-action-button.css +22 -22
  145. package/dist/components/floating-action-button/floating-action-button.schema.js +5 -5
  146. package/dist/components/floating-action-button/floating-action-button.svelte.d.ts +1 -1
  147. package/dist/components/floating-action-button/floating-action-button.types.d.ts +21 -21
  148. package/dist/components/floating-action-button/index.d.ts +1 -1
  149. package/dist/components/floating-action-button/index.js +8 -8
  150. package/dist/components/form-field/form-field.css +3 -13
  151. package/dist/components/form-field/index.js +2 -2
  152. package/dist/components/hover-card/index.js +69 -9
  153. package/dist/components/input/index.js +131 -67
  154. package/dist/components/input/input.schema.js +6 -1
  155. package/dist/components/input/input.types.d.ts +2 -0
  156. package/dist/components/invocation-rule-builder/index.d.ts +1 -1
  157. package/dist/components/invocation-rule-builder/index.js +184 -107
  158. package/dist/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
  159. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +133 -35
  160. package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +2 -2
  161. package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +85 -8
  162. package/dist/components/json-schema-editor/diff-view.svelte.d.ts +1 -1
  163. package/dist/components/json-schema-editor/form-view.svelte.d.ts +2 -1
  164. package/dist/components/json-schema-editor/index.js +848 -382
  165. package/dist/components/json-schema-editor/json-schema-editor-state.svelte.d.ts +2 -12
  166. package/dist/components/json-schema-editor/json-schema-editor-state.types.d.ts +13 -0
  167. package/dist/components/json-schema-editor/json-schema-editor.css +6 -1
  168. package/dist/components/json-schema-editor/json-schema-toolbar.svelte.d.ts +2 -1
  169. package/dist/components/json-schema-editor/json-view.svelte.d.ts +1 -1
  170. package/dist/components/json-schema-editor/property-editor.svelte.d.ts +2 -0
  171. package/dist/components/json-schema-editor/property-list-validation.d.ts +1 -0
  172. package/dist/components/json-schema-editor/property-list.svelte.d.ts +1 -0
  173. package/dist/components/json-viewer/_json-viewer-node.svelte.d.ts +3 -0
  174. package/dist/components/json-viewer/index.js +112 -26
  175. package/dist/components/json-viewer/json-viewer.css +11 -0
  176. package/dist/components/kanban-board/index.js +18 -13
  177. package/dist/components/kanban-board/kanban-board.css +56 -3
  178. package/dist/components/keyboard-shortcuts/index.js +2 -2
  179. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
  180. package/dist/components/label/index.js +2 -2
  181. package/dist/components/label/label.css +2 -9
  182. package/dist/components/load-more/index.js +4 -4
  183. package/dist/components/load-more/load-more.css +13 -5
  184. package/dist/components/load-more/load-more.schema.js +4 -4
  185. package/dist/components/load-more/load-more.types.d.ts +3 -3
  186. package/dist/components/locale-provider/index.d.ts +4 -0
  187. package/dist/components/locale-provider/index.js +76 -0
  188. package/dist/components/{connection-indicator/connection-indicator.schema.js → locale-provider/locale-provider.schema.js} +18 -14
  189. package/dist/components/locale-provider/locale-provider.svelte.d.ts +17 -0
  190. package/dist/components/locale-provider/locale-provider.types.d.ts +17 -0
  191. package/dist/components/{connection-indicator/connection-indicator.variables.js → locale-provider/locale-provider.variables.js} +4 -4
  192. package/dist/components/markdown-editor/editor-toolbar/editor-toolbar.svelte.d.ts +2 -0
  193. package/dist/components/markdown-editor/index.js +744 -283
  194. package/dist/components/markdown-editor/markdown-editor.schema.js +4 -4
  195. package/dist/components/markdown-editor/markdown-editor.types.d.ts +4 -4
  196. package/dist/components/masonry/masonry.schema.js +4 -3
  197. package/dist/components/masonry/masonry.types.d.ts +13 -2
  198. package/dist/components/matrix-chart/index.js +245 -224
  199. package/dist/components/media-controls/index.js +7 -7
  200. package/dist/components/media-controls/media-controls.css +15 -4
  201. package/dist/components/media-controls/media-controls.schema.js +4 -4
  202. package/dist/components/media-controls/media-controls.types.d.ts +7 -7
  203. package/dist/components/menu-bar/index.d.ts +3 -1
  204. package/dist/components/menu-bar/index.js +3702 -3
  205. package/dist/components/menu-bar/menu-bar.css +11 -0
  206. package/dist/components/menu-bar/menu-bar.svelte.d.ts +1 -0
  207. package/dist/components/modal/index.js +9 -3
  208. package/dist/components/navigation-bar/index.js +4 -4
  209. package/dist/components/navigation-bar/navigation-bar.schema.js +2 -2
  210. package/dist/components/navigation-bar/navigation-bar.types.d.ts +1 -1
  211. package/dist/components/number-input/index.js +88 -42
  212. package/dist/components/number-input/number-input.schema.js +4 -3
  213. package/dist/components/number-input/number-input.types.d.ts +16 -5
  214. package/dist/components/payload-inspector/index.d.ts +1 -1
  215. package/dist/components/payload-inspector/index.js +271 -64
  216. package/dist/components/payload-inspector/payload-inspector.css +6 -0
  217. package/dist/components/payload-inspector/payload-inspector.schema.js +27 -15
  218. package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +2 -2
  219. package/dist/components/payload-inspector/payload-inspector.types.d.ts +52 -3
  220. package/dist/components/permission-matrix/permission-matrix.css +10 -0
  221. package/dist/components/phone-input/index.js +56 -33
  222. package/dist/components/phone-input/phone-input.schema.js +2 -2
  223. package/dist/components/phone-input/phone-input.types.d.ts +3 -2
  224. package/dist/components/pin-input/index.js +46 -41
  225. package/dist/components/pin-input/pin-input.schema.js +9 -2
  226. package/dist/components/pin-input/pin-input.types.d.ts +10 -1
  227. package/dist/components/popover/index.js +11 -4
  228. package/dist/components/portal/index.js +3 -2
  229. package/dist/components/pricing-card/index.js +22 -7
  230. package/dist/components/radio-group/index.js +51 -21
  231. package/dist/components/radio-group/radio-group.css +3 -0
  232. package/dist/components/radio-group/radio-group.schema.js +3 -3
  233. package/dist/components/radio-group/radio-group.types.d.ts +6 -2
  234. package/dist/components/rating/index.js +1 -6
  235. package/dist/components/rating/rating.schema.js +9 -2
  236. package/dist/components/rating/rating.types.d.ts +6 -0
  237. package/dist/components/review-editor/comment-list.svelte.d.ts +1 -1
  238. package/dist/components/review-editor/index.d.ts +1 -1
  239. package/dist/components/review-editor/index.js +1151 -524
  240. package/dist/components/review-editor/review-editor-controls.svelte.d.ts +1 -1
  241. package/dist/components/review-editor/review-editor-impl.svelte.d.ts +4 -4
  242. package/dist/components/review-editor/review-editor-selection-types.d.ts +1 -1
  243. package/dist/components/review-editor/review-editor-state.svelte.d.ts +1 -1
  244. package/dist/components/review-editor/review-editor-threads.svelte.d.ts +2 -2
  245. package/dist/components/review-editor/review-editor.svelte.d.ts +2 -1
  246. package/dist/components/review-editor/review-editor.types.d.ts +77 -3
  247. package/dist/components/review-editor/thread-popover.svelte.d.ts +1 -1
  248. package/dist/components/run-step-timeline/index.d.ts +1 -1
  249. package/dist/components/run-step-timeline/index.js +747 -273
  250. package/dist/components/run-step-timeline/run-step-timeline.css +25 -5
  251. package/dist/components/run-step-timeline/run-step-timeline.schema.js +351 -21
  252. package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +1 -1
  253. package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +184 -3
  254. package/dist/components/schema-form/index.d.ts +1 -1
  255. package/dist/components/schema-form/index.js +1916 -474
  256. package/dist/components/schema-form/schema-form-async.fixture.d.ts +1 -0
  257. package/dist/components/schema-form/schema-form-body.svelte.d.ts +25 -0
  258. package/dist/components/schema-form/schema-form-model.d.ts +1 -4
  259. package/dist/components/schema-form/schema-form-validation.d.ts +1 -2
  260. package/dist/components/schema-form/schema-form.css +12 -74
  261. package/dist/components/schema-form/schema-form.schema.js +10 -3
  262. package/dist/components/schema-form/schema-form.svelte.d.ts +3 -3
  263. package/dist/components/schema-form/schema-form.types.d.ts +15 -8
  264. package/dist/components/scroll-area/index.js +3 -3
  265. package/dist/components/scroll-area/scroll-area.schema.js +2 -2
  266. package/dist/components/scroll-area/scroll-area.types.d.ts +1 -1
  267. package/dist/components/secret-value-field/index.js +10 -4
  268. package/dist/components/secret-value-field/secret-value-field.svelte.d.ts +1 -1
  269. package/dist/components/segment/index.js +8 -4
  270. package/dist/components/segmented-control/index.js +71 -5
  271. package/dist/components/segmented-control/segmented-control.css +22 -1
  272. package/dist/components/segmented-control/segmented-control.schema.js +5 -1
  273. package/dist/components/segmented-control/segmented-control.types.d.ts +2 -0
  274. package/dist/components/select/index.js +37 -24
  275. package/dist/components/select/select.css +9 -2
  276. package/dist/components/selection-popover/index.js +11 -4
  277. package/dist/components/share-card/index.js +3 -4
  278. package/dist/components/share-card/share-card.css +15 -4
  279. package/dist/components/sheet/index.js +365 -300
  280. package/dist/components/shortcut-hint/index.js +3 -3
  281. package/dist/components/sidebar/index.js +423 -353
  282. package/dist/components/sidebar/sidebar.schema.js +2 -2
  283. package/dist/components/sidebar/sidebar.types.d.ts +1 -1
  284. package/dist/components/slider/index.js +211 -9
  285. package/dist/components/slider/slider.css +14 -9
  286. package/dist/components/sortable-list/sortable-list.css +1 -1
  287. package/dist/components/sortable-list/sortable-list.types.d.ts +4 -4
  288. package/dist/components/spectrogram/index.js +224 -203
  289. package/dist/components/spectrum-chart/index.js +208 -187
  290. package/dist/components/speed-dial/index.js +11 -11
  291. package/dist/components/speed-dial/speed-dial.css +3 -3
  292. package/dist/components/speed-dial-action/index.js +9 -9
  293. package/dist/components/stat/index.js +26 -4
  294. package/dist/components/stat/stat.schema.js +2 -2
  295. package/dist/components/stat/stat.types.d.ts +2 -2
  296. package/dist/components/stat-group/index.js +26 -4
  297. package/dist/components/stat-group/stat-group.css +1 -1
  298. package/dist/components/status-dot/index.d.ts +1 -1
  299. package/dist/components/status-dot/index.js +47 -8
  300. package/dist/components/status-dot/status-dot.css +45 -1
  301. package/dist/components/status-dot/status-dot.schema.js +12 -5
  302. package/dist/components/status-dot/status-dot.svelte.d.ts +5 -1
  303. package/dist/components/status-dot/status-dot.types.d.ts +16 -6
  304. package/dist/components/steps/steps.css +3 -3
  305. package/dist/components/table/index.js +23 -17
  306. package/dist/components/table/table.css +10 -0
  307. package/dist/components/table/table.types.d.ts +3 -3
  308. package/dist/components/table-header/index.js +5 -5
  309. package/dist/components/table-header/table-header.schema.js +3 -3
  310. package/dist/components/table-header/table-header.types.d.ts +2 -2
  311. package/dist/components/table-header-cell/index.js +11 -5
  312. package/dist/components/table-row/index.js +7 -7
  313. package/dist/components/table-row/table-row.schema.js +3 -3
  314. package/dist/components/table-row/table-row.types.d.ts +6 -6
  315. package/dist/components/tabs/index.js +17 -4
  316. package/dist/components/tabs/tabs.schema.js +6 -1
  317. package/dist/components/tabs/tabs.types.d.ts +2 -0
  318. package/dist/components/tag-input/index.d.ts +3 -1
  319. package/dist/components/tag-input/index.js +566 -3
  320. package/dist/components/textarea/index.js +37 -24
  321. package/dist/components/textarea/textarea.css +16 -1
  322. package/dist/components/time-field/index.d.ts +5 -0
  323. package/dist/components/time-field/index.js +456 -0
  324. package/dist/components/time-field/time-field.css +60 -0
  325. package/dist/components/time-field/time-field.schema.d.ts +3 -0
  326. package/dist/components/time-field/time-field.schema.js +107 -0
  327. package/dist/components/time-field/time-field.svelte.d.ts +18 -0
  328. package/dist/components/time-field/time-field.types.d.ts +63 -0
  329. package/dist/components/time-field/time-field.variables.d.ts +2 -0
  330. package/dist/components/{experimental/connection-indicator/index.js → time-field/time-field.variables.js} +5 -14
  331. package/dist/components/toggle/index.js +39 -7
  332. package/dist/components/toggle/toggle.schema.js +11 -2
  333. package/dist/components/toggle/toggle.types.d.ts +2 -0
  334. package/dist/components/tooltip/index.js +98 -17
  335. package/dist/components/transfer-list/index.js +41 -11
  336. package/dist/components/transfer-list/transfer-list.css +22 -0
  337. package/dist/components/transfer-list/transfer-list.schema.js +2 -2
  338. package/dist/components/transfer-list/transfer-list.types.d.ts +2 -2
  339. package/dist/components/tree/index.js +303 -196
  340. package/dist/components/tree/tree.css +69 -0
  341. package/dist/components/tree/tree.schema.js +3 -3
  342. package/dist/components/tree/tree.types.d.ts +2 -2
  343. package/dist/components/tree-item/index.js +107 -68
  344. package/dist/components/tree-item/tree-item.schema.js +5 -5
  345. package/dist/components/tree-item/tree-item.types.d.ts +4 -4
  346. package/dist/components/virtual-list/index.js +98 -63
  347. package/dist/components/waveform/index.js +185 -164
  348. package/dist/editor/attach.d.ts +2 -2
  349. package/dist/editor/attach.js +10 -16
  350. package/dist/editor/editor.js +6 -6
  351. package/dist/editor/keymap-plugin.d.ts +2 -2
  352. package/dist/editor/keymap-plugin.js +4 -4
  353. package/dist/editor/types.d.ts +11 -11
  354. package/dist/index.d.ts +19 -17
  355. package/dist/index.js +106 -105
  356. package/dist/server/components/access-gate/access-gate.schema.js +2 -4
  357. package/dist/server/components/access-gate/access-gate.variables.js +2 -4
  358. package/dist/server/components/access-gate/index.js +21 -1688
  359. package/dist/server/components/accordion/accordion.schema.js +2 -4
  360. package/dist/server/components/accordion/accordion.variables.js +2 -4
  361. package/dist/server/components/accordion/index.js +10 -122
  362. package/dist/server/components/accordion-item/accordion-item.schema.js +2 -4
  363. package/dist/server/components/accordion-item/accordion-item.variables.js +2 -4
  364. package/dist/server/components/accordion-item/index.js +9 -46
  365. package/dist/server/components/alert/alert.schema.js +5 -7
  366. package/dist/server/components/alert/alert.variables.js +2 -4
  367. package/dist/server/components/alert/index.js +9 -108
  368. package/dist/server/components/alert-dialog/alert-dialog.schema.js +2 -4
  369. package/dist/server/components/alert-dialog/alert-dialog.variables.js +2 -4
  370. package/dist/server/components/alert-dialog/index.js +16 -779
  371. package/dist/server/components/approval-card/approval-card.schema.js +215 -0
  372. package/dist/server/components/approval-card/approval-card.variables.js +10 -0
  373. package/dist/server/components/approval-card/index.js +41 -0
  374. package/dist/server/components/area-chart/area-chart.schema.js +2 -4
  375. package/dist/server/components/area-chart/area-chart.variables.js +2 -4
  376. package/dist/server/components/area-chart/index.js +9 -1138
  377. package/dist/server/components/aspect-ratio/aspect-ratio.schema.js +2 -4
  378. package/dist/server/components/aspect-ratio/aspect-ratio.variables.js +2 -4
  379. package/dist/server/components/aspect-ratio/index.js +7 -42
  380. package/dist/server/components/autocomplete/autocomplete.schema.js +2 -4
  381. package/dist/server/components/autocomplete/autocomplete.variables.js +2 -4
  382. package/dist/server/components/autocomplete/index.js +19 -844
  383. package/dist/server/components/avatar/avatar.schema.js +2 -4
  384. package/dist/server/components/avatar/avatar.variables.js +2 -4
  385. package/dist/server/components/avatar/index.js +10 -94
  386. package/dist/server/components/avatar-group/avatar-group.schema.js +2 -4
  387. package/dist/server/components/avatar-group/avatar-group.variables.js +2 -4
  388. package/dist/server/components/avatar-group/index.js +16 -481
  389. package/dist/server/components/backdrop/backdrop.schema.js +2 -4
  390. package/dist/server/components/backdrop/backdrop.variables.js +2 -4
  391. package/dist/server/components/backdrop/index.js +9 -134
  392. package/dist/server/components/badge/badge.schema.js +7 -6
  393. package/dist/server/components/badge/badge.variables.js +2 -4
  394. package/dist/server/components/badge/index.js +9 -40
  395. package/dist/server/components/banner/banner.schema.js +3 -5
  396. package/dist/server/components/banner/banner.variables.js +2 -4
  397. package/dist/server/components/banner/index.js +7 -107
  398. package/dist/server/components/bar-chart/bar-chart.schema.js +2 -4
  399. package/dist/server/components/bar-chart/bar-chart.variables.js +2 -4
  400. package/dist/server/components/bar-chart/index.js +9 -1135
  401. package/dist/server/components/breadcrumbs/breadcrumbs.schema.js +2 -4
  402. package/dist/server/components/breadcrumbs/breadcrumbs.variables.js +2 -4
  403. package/dist/server/components/breadcrumbs/index.js +7 -52
  404. package/dist/server/components/button/button.schema.js +2 -4
  405. package/dist/server/components/button/button.variables.js +2 -4
  406. package/dist/server/components/button/index.js +11 -167
  407. package/dist/server/components/button-group/button-group.schema.js +2 -4
  408. package/dist/server/components/button-group/button-group.variables.js +2 -4
  409. package/dist/server/components/button-group/index.js +12 -132
  410. package/dist/server/components/callout/callout.schema.js +2 -4
  411. package/dist/server/components/callout/callout.variables.js +2 -4
  412. package/dist/server/components/callout/index.js +7 -67
  413. package/dist/server/components/capability-gate/capability-gate.schema.js +5 -7
  414. package/dist/server/components/capability-gate/capability-gate.variables.js +2 -4
  415. package/dist/server/components/capability-gate/index.js +9 -132
  416. package/dist/server/components/card/card.schema.js +2 -4
  417. package/dist/server/components/card/card.variables.js +2 -4
  418. package/dist/server/components/card/index.js +9 -82
  419. package/dist/server/components/chat/chat.schema.js +12 -29
  420. package/dist/server/components/chat/chat.variables.js +2 -4
  421. package/dist/server/components/chat/index.js +96 -8611
  422. package/dist/server/components/chat-conversation-header/chat-conversation-header.schema.js +2 -4
  423. package/dist/server/components/chat-conversation-header/chat-conversation-header.variables.js +2 -4
  424. package/dist/server/components/chat-conversation-header/index.js +36 -1463
  425. package/dist/server/components/chat-conversation-list/chat-conversation-list.schema.js +2 -4
  426. package/dist/server/components/chat-conversation-list/chat-conversation-list.variables.js +2 -4
  427. package/dist/server/components/chat-conversation-list/index.js +12 -348
  428. package/dist/server/components/checkbox/checkbox.schema.js +7 -4
  429. package/dist/server/components/checkbox/checkbox.variables.js +2 -4
  430. package/dist/server/components/checkbox/index.js +15 -155
  431. package/dist/server/components/checkbox-group/checkbox-group.schema.js +5 -7
  432. package/dist/server/components/checkbox-group/checkbox-group.variables.js +2 -4
  433. package/dist/server/components/checkbox-group/index.js +10 -97
  434. package/dist/server/components/chip/chip.schema.js +2 -4
  435. package/dist/server/components/chip/chip.variables.js +2 -4
  436. package/dist/server/components/chip/index.js +9 -136
  437. package/dist/server/components/choice-grid/choice-grid.schema.js +2 -4
  438. package/dist/server/components/choice-grid/choice-grid.variables.js +2 -4
  439. package/dist/server/components/choice-grid/index.js +12 -347
  440. package/dist/server/components/choice-grid-item/choice-grid-item.schema.js +2 -4
  441. package/dist/server/components/choice-grid-item/choice-grid-item.variables.js +2 -4
  442. package/dist/server/components/choice-grid-item/index.js +12 -103
  443. package/dist/server/components/click-away-listener/click-away-listener.schema.js +4 -6
  444. package/dist/server/components/click-away-listener/click-away-listener.variables.js +2 -4
  445. package/dist/server/components/click-away-listener/index.js +7 -37
  446. package/dist/server/components/code-block/code-block.schema.js +2 -4
  447. package/dist/server/components/code-block/code-block.variables.js +2 -4
  448. package/dist/server/components/code-block/index.js +19 -335
  449. package/dist/server/components/collapsible/collapsible.schema.js +3 -5
  450. package/dist/server/components/collapsible/collapsible.variables.js +2 -4
  451. package/dist/server/components/collapsible/index.js +10 -88
  452. package/dist/server/components/color-field/color-field.schema.js +4 -6
  453. package/dist/server/components/color-field/color-field.variables.js +2 -4
  454. package/dist/server/components/color-field/index.js +15 -643
  455. package/dist/server/components/color-picker/color-picker.schema.js +2 -4
  456. package/dist/server/components/color-picker/color-picker.variables.js +2 -4
  457. package/dist/server/components/color-picker/index.js +15 -906
  458. package/dist/server/components/color-swatch-picker/color-swatch-picker.schema.js +2 -4
  459. package/dist/server/components/color-swatch-picker/color-swatch-picker.variables.js +2 -4
  460. package/dist/server/components/color-swatch-picker/index.js +16 -461
  461. package/dist/server/components/combobox/combobox.schema.js +11 -5
  462. package/dist/server/components/combobox/combobox.variables.js +2 -4
  463. package/dist/server/components/combobox/index.js +19 -661
  464. package/dist/server/components/command-item/command-item.schema.js +10 -4
  465. package/dist/server/components/command-item/command-item.variables.js +2 -4
  466. package/dist/server/components/command-item/index.js +8 -113
  467. package/dist/server/components/command-menu/command-menu.schema.js +2 -4
  468. package/dist/server/components/command-menu/command-menu.variables.js +2 -4
  469. package/dist/server/components/command-menu/index.js +16 -461
  470. package/dist/server/components/command-palette/command-palette.schema.js +3 -6
  471. package/dist/server/components/command-palette/command-palette.variables.js +2 -4
  472. package/dist/server/components/command-palette/index.js +12 -318
  473. package/dist/server/components/confirm-dialog/confirm-dialog.schema.js +2 -4
  474. package/dist/server/components/confirm-dialog/confirm-dialog.variables.js +2 -4
  475. package/dist/server/components/confirm-dialog/index.js +16 -779
  476. package/dist/server/components/container/container.schema.js +2 -4
  477. package/dist/server/components/container/container.variables.js +2 -4
  478. package/dist/server/components/container/index.js +7 -44
  479. package/dist/server/components/context-menu/context-menu.schema.js +2 -4
  480. package/dist/server/components/context-menu/context-menu.variables.js +2 -4
  481. package/dist/server/components/context-menu/index.js +26 -878
  482. package/dist/server/components/context-menu-trigger/context-menu-trigger.schema.js +2 -4
  483. package/dist/server/components/context-menu-trigger/context-menu-trigger.variables.js +2 -4
  484. package/dist/server/components/context-menu-trigger/index.js +10 -159
  485. package/dist/server/components/copy-button/copy-button.schema.js +2 -4
  486. package/dist/server/components/copy-button/copy-button.variables.js +2 -4
  487. package/dist/server/components/copy-button/index.js +16 -260
  488. package/dist/server/components/data-grid/data-grid.schema.js +4 -6
  489. package/dist/server/components/data-grid/data-grid.variables.js +2 -4
  490. package/dist/server/components/data-grid/index.js +11 -2817
  491. package/dist/server/components/data-list/data-list.schema.js +8 -13
  492. package/dist/server/components/data-list/data-list.variables.js +2 -4
  493. package/dist/server/components/data-list/index.js +9 -96
  494. package/dist/server/components/data-table/data-table.schema.js +31 -4
  495. package/dist/server/components/data-table/data-table.variables.js +2 -4
  496. package/dist/server/components/data-table/index.js +23 -711
  497. package/dist/server/components/date-range-field/date-range-field.schema.js +8 -6
  498. package/dist/server/components/date-range-field/date-range-field.variables.js +2 -4
  499. package/dist/server/components/date-range-field/index.js +8 -184
  500. package/dist/server/components/description-list/description-list.schema.js +2 -4
  501. package/dist/server/components/description-list/description-list.variables.js +2 -4
  502. package/dist/server/components/description-list/index.js +11 -72
  503. package/dist/server/components/diff-statistics/diff-statistics.schema.js +2 -4
  504. package/dist/server/components/diff-statistics/diff-statistics.variables.js +2 -4
  505. package/dist/server/components/diff-statistics/index.js +9 -99
  506. package/dist/server/components/diff-viewer/diff-viewer.schema.js +2 -4
  507. package/dist/server/components/diff-viewer/diff-viewer.variables.js +2 -4
  508. package/dist/server/components/diff-viewer/index.js +29 -1874
  509. package/dist/server/components/divider/divider.schema.js +2 -4
  510. package/dist/server/components/divider/divider.variables.js +2 -4
  511. package/dist/server/components/divider/index.js +7 -78
  512. package/dist/server/components/drawer/drawer.schema.js +2 -4
  513. package/dist/server/components/drawer/drawer.variables.js +2 -4
  514. package/dist/server/components/drawer/index.js +17 -694
  515. package/dist/server/components/dropdown/dropdown.schema.js +2 -4
  516. package/dist/server/components/dropdown/dropdown.variables.js +2 -4
  517. package/dist/server/components/dropdown/index.js +27 -810
  518. package/dist/server/components/dropdown-group/dropdown-group.schema.js +5 -7
  519. package/dist/server/components/dropdown-group/dropdown-group.variables.js +2 -4
  520. package/dist/server/components/dropdown-group/index.js +9 -64
  521. package/dist/server/components/dropdown-item/dropdown-item.schema.js +10 -4
  522. package/dist/server/components/dropdown-item/dropdown-item.variables.js +2 -4
  523. package/dist/server/components/dropdown-item/index.js +10 -123
  524. package/dist/server/components/dropdown-label/dropdown-label.schema.js +2 -4
  525. package/dist/server/components/dropdown-label/dropdown-label.variables.js +2 -4
  526. package/dist/server/components/dropdown-label/index.js +9 -35
  527. package/dist/server/components/dropdown-menu/dropdown-menu.schema.js +2 -4
  528. package/dist/server/components/dropdown-menu/dropdown-menu.variables.js +2 -4
  529. package/dist/server/components/dropdown-menu/index.js +19 -258
  530. package/dist/server/components/dropdown-separator/dropdown-separator.schema.js +2 -4
  531. package/dist/server/components/dropdown-separator/dropdown-separator.variables.js +2 -4
  532. package/dist/server/components/dropdown-separator/index.js +9 -27
  533. package/dist/server/components/dropdown-trigger/dropdown-trigger.schema.js +2 -4
  534. package/dist/server/components/dropdown-trigger/dropdown-trigger.variables.js +2 -4
  535. package/dist/server/components/dropdown-trigger/index.js +10 -78
  536. package/dist/server/components/empty-state/empty-state.schema.js +2 -4
  537. package/dist/server/components/empty-state/empty-state.variables.js +2 -4
  538. package/dist/server/components/empty-state/index.js +9 -72
  539. package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +84 -13
  540. package/dist/server/components/event-stream-viewer/event-stream-viewer.variables.js +2 -4
  541. package/dist/server/components/event-stream-viewer/index.js +17 -622
  542. package/dist/server/components/experimental/json-viewer/index.js +14 -17
  543. package/dist/server/components/experimental/message/index.js +13 -17
  544. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.schema.js +2 -4
  545. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.variables.js +2 -4
  546. package/dist/server/components/faceted-filter-bar/index.js +21 -731
  547. package/dist/server/components/feed/feed.schema.js +2 -4
  548. package/dist/server/components/feed/feed.variables.js +2 -4
  549. package/dist/server/components/feed/index.js +9 -96
  550. package/dist/server/components/feed-event/feed-event.schema.js +2 -4
  551. package/dist/server/components/feed-event/feed-event.variables.js +2 -4
  552. package/dist/server/components/feed-event/index.js +9 -69
  553. package/dist/server/components/file-upload/file-upload.schema.js +2 -4
  554. package/dist/server/components/file-upload/file-upload.variables.js +2 -4
  555. package/dist/server/components/file-upload/index.js +14 -459
  556. package/dist/server/components/floating-action-button/floating-action-button.schema.js +6 -8
  557. package/dist/server/components/floating-action-button/floating-action-button.variables.js +2 -4
  558. package/dist/server/components/floating-action-button/index.js +11 -101
  559. package/dist/server/components/focus-trap/focus-trap.schema.js +2 -4
  560. package/dist/server/components/focus-trap/focus-trap.variables.js +2 -4
  561. package/dist/server/components/focus-trap/index.js +10 -249
  562. package/dist/server/components/form-field/form-field.schema.js +2 -4
  563. package/dist/server/components/form-field/form-field.variables.js +2 -4
  564. package/dist/server/components/form-field/index.js +10 -145
  565. package/dist/server/components/form-section/form-section.schema.js +2 -4
  566. package/dist/server/components/form-section/form-section.variables.js +2 -4
  567. package/dist/server/components/form-section/index.js +9 -87
  568. package/dist/server/components/grid/grid.schema.js +2 -4
  569. package/dist/server/components/grid/grid.variables.js +2 -4
  570. package/dist/server/components/grid/index.js +9 -109
  571. package/dist/server/components/grid-item/grid-item.schema.js +2 -4
  572. package/dist/server/components/grid-item/grid-item.variables.js +2 -4
  573. package/dist/server/components/grid-item/index.js +9 -57
  574. package/dist/server/components/grid-list/grid-list.schema.js +2 -4
  575. package/dist/server/components/grid-list/grid-list.variables.js +2 -4
  576. package/dist/server/components/grid-list/index.js +8 -128
  577. package/dist/server/components/grid-list-item/grid-list-item.schema.js +2 -4
  578. package/dist/server/components/grid-list-item/grid-list-item.variables.js +2 -4
  579. package/dist/server/components/grid-list-item/index.js +9 -102
  580. package/dist/server/components/hover-card/hover-card.schema.js +2 -4
  581. package/dist/server/components/hover-card/hover-card.variables.js +2 -4
  582. package/dist/server/components/hover-card/index.js +13 -312
  583. package/dist/server/components/image/image.schema.js +2 -4
  584. package/dist/server/components/image/image.variables.js +2 -4
  585. package/dist/server/components/image/index.js +7 -83
  586. package/dist/server/components/input/index.js +15 -199
  587. package/dist/server/components/input/input.schema.js +7 -4
  588. package/dist/server/components/input/input.variables.js +2 -4
  589. package/dist/server/components/invocation-rule-builder/index.js +7 -328
  590. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +134 -38
  591. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.variables.js +2 -4
  592. package/dist/server/components/json-schema-editor/index.js +56 -5446
  593. package/dist/server/components/json-schema-editor/json-schema-editor.schema.js +2 -4
  594. package/dist/server/components/json-schema-editor/json-schema-editor.variables.js +2 -4
  595. package/dist/server/components/json-viewer/index.js +9 -158
  596. package/dist/server/components/json-viewer/json-viewer.schema.js +2 -4
  597. package/dist/server/components/json-viewer/json-viewer.variables.js +2 -4
  598. package/dist/server/components/kanban-board/index.js +11 -1140
  599. package/dist/server/components/kanban-board/kanban-board.schema.js +2 -4
  600. package/dist/server/components/kanban-board/kanban-board.variables.js +2 -4
  601. package/dist/server/components/kbd/index.js +9 -44
  602. package/dist/server/components/kbd/kbd.schema.js +2 -4
  603. package/dist/server/components/kbd/kbd.variables.js +2 -4
  604. package/dist/server/components/keyboard-shortcuts/index.js +8 -113
  605. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +2 -4
  606. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +2 -4
  607. package/dist/server/components/label/index.js +7 -46
  608. package/dist/server/components/label/label.schema.js +2 -4
  609. package/dist/server/components/label/label.variables.js +2 -4
  610. package/dist/server/components/line-chart/index.js +9 -1147
  611. package/dist/server/components/line-chart/line-chart.schema.js +2 -4
  612. package/dist/server/components/line-chart/line-chart.variables.js +2 -4
  613. package/dist/server/components/link/index.js +9 -93
  614. package/dist/server/components/link/link.schema.js +2 -4
  615. package/dist/server/components/link/link.variables.js +2 -4
  616. package/dist/server/components/load-more/index.js +9 -141
  617. package/dist/server/components/load-more/load-more.schema.js +5 -7
  618. package/dist/server/components/load-more/load-more.variables.js +2 -4
  619. package/dist/server/components/locale-provider/index.js +13 -0
  620. package/dist/server/components/locale-provider/locale-provider.schema.js +33 -0
  621. package/dist/server/components/locale-provider/locale-provider.variables.js +10 -0
  622. package/dist/server/components/markdown-editor/index.js +44 -3761
  623. package/dist/server/components/markdown-editor/markdown-editor.schema.js +5 -7
  624. package/dist/server/components/markdown-editor/markdown-editor.variables.js +2 -4
  625. package/dist/server/components/masonry/index.js +7 -43
  626. package/dist/server/components/masonry/masonry.schema.js +5 -6
  627. package/dist/server/components/masonry/masonry.variables.js +2 -4
  628. package/dist/server/components/matrix-chart/index.js +10 -994
  629. package/dist/server/components/matrix-chart/matrix-chart.schema.js +2 -4
  630. package/dist/server/components/matrix-chart/matrix-chart.variables.js +2 -4
  631. package/dist/server/components/media-controls/index.js +8 -161
  632. package/dist/server/components/media-controls/media-controls.schema.js +5 -7
  633. package/dist/server/components/media-controls/media-controls.variables.js +2 -4
  634. package/dist/server/components/menu-bar/index.js +23 -6
  635. package/dist/server/components/menu-bar/menu-bar.schema.js +2 -4
  636. package/dist/server/components/menu-bar/menu-bar.variables.js +2 -4
  637. package/dist/server/components/message/index.js +7 -55
  638. package/dist/server/components/message/message.schema.js +2 -4
  639. package/dist/server/components/message/message.variables.js +2 -4
  640. package/dist/server/components/modal/index.js +16 -541
  641. package/dist/server/components/modal/modal.schema.js +2 -4
  642. package/dist/server/components/modal/modal.variables.js +2 -4
  643. package/dist/server/components/navigation-bar/index.js +7 -152
  644. package/dist/server/components/navigation-bar/navigation-bar.schema.js +3 -5
  645. package/dist/server/components/navigation-bar/navigation-bar.variables.js +2 -4
  646. package/dist/server/components/navigation-item/index.js +9 -81
  647. package/dist/server/components/navigation-item/navigation-item.schema.js +2 -4
  648. package/dist/server/components/navigation-item/navigation-item.variables.js +2 -4
  649. package/dist/server/components/number-input/index.js +14 -450
  650. package/dist/server/components/number-input/number-input.schema.js +5 -6
  651. package/dist/server/components/number-input/number-input.variables.js +2 -4
  652. package/dist/server/components/pagination/index.js +8 -101
  653. package/dist/server/components/pagination/pagination.schema.js +2 -4
  654. package/dist/server/components/pagination/pagination.variables.js +2 -4
  655. package/dist/server/components/payload-inspector/index.js +31 -1317
  656. package/dist/server/components/payload-inspector/payload-inspector.schema.js +28 -18
  657. package/dist/server/components/payload-inspector/payload-inspector.variables.js +2 -4
  658. package/dist/server/components/permission-matrix/index.js +11 -289
  659. package/dist/server/components/permission-matrix/permission-matrix.schema.js +2 -4
  660. package/dist/server/components/permission-matrix/permission-matrix.variables.js +2 -4
  661. package/dist/server/components/phone-input/index.js +13 -4514
  662. package/dist/server/components/phone-input/phone-input.schema.js +3 -5
  663. package/dist/server/components/phone-input/phone-input.variables.js +2 -4
  664. package/dist/server/components/pin-input/index.js +12 -317
  665. package/dist/server/components/pin-input/pin-input.schema.js +10 -5
  666. package/dist/server/components/pin-input/pin-input.variables.js +2 -4
  667. package/dist/server/components/popover/index.js +17 -422
  668. package/dist/server/components/popover/popover.schema.js +2 -4
  669. package/dist/server/components/popover/popover.variables.js +2 -4
  670. package/dist/server/components/portal/index.js +11 -109
  671. package/dist/server/components/portal/portal.schema.js +2 -4
  672. package/dist/server/components/portal/portal.variables.js +2 -4
  673. package/dist/server/components/pricing-card/index.js +10 -222
  674. package/dist/server/components/pricing-card/pricing-card.schema.js +2 -4
  675. package/dist/server/components/pricing-card/pricing-card.variables.js +2 -4
  676. package/dist/server/components/progress/index.js +11 -71
  677. package/dist/server/components/progress/progress.schema.js +2 -4
  678. package/dist/server/components/progress/progress.variables.js +2 -4
  679. package/dist/server/components/radio-group/index.js +10 -177
  680. package/dist/server/components/radio-group/radio-group.schema.js +4 -6
  681. package/dist/server/components/radio-group/radio-group.variables.js +2 -4
  682. package/dist/server/components/rating/index.js +12 -357
  683. package/dist/server/components/rating/rating.schema.js +10 -5
  684. package/dist/server/components/rating/rating.variables.js +2 -4
  685. package/dist/server/components/resizable-panels/index.js +10 -721
  686. package/dist/server/components/resizable-panels/resizable-panels.schema.js +2 -4
  687. package/dist/server/components/resizable-panels/resizable-panels.variables.js +2 -4
  688. package/dist/server/components/review-editor/index.js +83 -9047
  689. package/dist/server/components/review-editor/review-editor.schema.js +2 -4
  690. package/dist/server/components/review-editor/review-editor.variables.js +2 -4
  691. package/dist/server/components/run-step-timeline/index.js +15 -409
  692. package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +352 -24
  693. package/dist/server/components/run-step-timeline/run-step-timeline.variables.js +2 -4
  694. package/dist/server/components/schema-form/index.js +21 -905
  695. package/dist/server/components/schema-form/schema-form.schema.js +11 -6
  696. package/dist/server/components/schema-form/schema-form.variables.js +2 -4
  697. package/dist/server/components/scroll-area/index.js +7 -52
  698. package/dist/server/components/scroll-area/scroll-area.schema.js +3 -5
  699. package/dist/server/components/scroll-area/scroll-area.variables.js +2 -4
  700. package/dist/server/components/search-field/index.js +19 -289
  701. package/dist/server/components/search-field/search-field.schema.js +2 -4
  702. package/dist/server/components/search-field/search-field.variables.js +2 -4
  703. package/dist/server/components/secret-value-field/index.js +11 -168
  704. package/dist/server/components/secret-value-field/secret-value-field.schema.js +2 -4
  705. package/dist/server/components/secret-value-field/secret-value-field.variables.js +2 -4
  706. package/dist/server/components/section-heading/index.js +7 -77
  707. package/dist/server/components/section-heading/section-heading.schema.js +2 -4
  708. package/dist/server/components/section-heading/section-heading.variables.js +2 -4
  709. package/dist/server/components/segment/index.js +12 -306
  710. package/dist/server/components/segment/segment.schema.js +2 -4
  711. package/dist/server/components/segment/segment.variables.js +2 -4
  712. package/dist/server/components/segmented-control/index.js +12 -308
  713. package/dist/server/components/segmented-control/segmented-control.schema.js +6 -4
  714. package/dist/server/components/segmented-control/segmented-control.variables.js +2 -4
  715. package/dist/server/components/select/index.js +14 -173
  716. package/dist/server/components/select/select.schema.js +2 -4
  717. package/dist/server/components/select/select.variables.js +2 -4
  718. package/dist/server/components/selection-popover/index.js +16 -437
  719. package/dist/server/components/selection-popover/selection-popover.schema.js +2 -4
  720. package/dist/server/components/selection-popover/selection-popover.variables.js +2 -4
  721. package/dist/server/components/share-card/index.js +9 -244
  722. package/dist/server/components/share-card/share-card.schema.js +2 -4
  723. package/dist/server/components/share-card/share-card.variables.js +2 -4
  724. package/dist/server/components/sheet/index.js +15 -698
  725. package/dist/server/components/sheet/sheet.schema.js +2 -4
  726. package/dist/server/components/sheet/sheet.variables.js +2 -4
  727. package/dist/server/components/shortcut-hint/index.js +8 -98
  728. package/dist/server/components/shortcut-hint/shortcut-hint.schema.js +2 -4
  729. package/dist/server/components/shortcut-hint/shortcut-hint.variables.js +2 -4
  730. package/dist/server/components/side-navigation/index.js +12 -240
  731. package/dist/server/components/side-navigation/side-navigation.schema.js +2 -4
  732. package/dist/server/components/side-navigation/side-navigation.variables.js +2 -4
  733. package/dist/server/components/side-navigation-group/index.js +11 -119
  734. package/dist/server/components/side-navigation-group/side-navigation-group.schema.js +2 -4
  735. package/dist/server/components/side-navigation-group/side-navigation-group.variables.js +2 -4
  736. package/dist/server/components/side-navigation-item/index.js +12 -117
  737. package/dist/server/components/side-navigation-item/side-navigation-item.schema.js +2 -4
  738. package/dist/server/components/side-navigation-item/side-navigation-item.variables.js +2 -4
  739. package/dist/server/components/sidebar/index.js +17 -854
  740. package/dist/server/components/sidebar/sidebar.schema.js +3 -5
  741. package/dist/server/components/sidebar/sidebar.variables.js +2 -4
  742. package/dist/server/components/skeleton/index.js +7 -28
  743. package/dist/server/components/skeleton/skeleton.schema.js +2 -4
  744. package/dist/server/components/skeleton/skeleton.variables.js +2 -4
  745. package/dist/server/components/skip-link/index.js +9 -105
  746. package/dist/server/components/skip-link/skip-link.schema.js +2 -4
  747. package/dist/server/components/skip-link/skip-link.variables.js +2 -4
  748. package/dist/server/components/slider/index.js +13 -394
  749. package/dist/server/components/slider/slider.schema.js +2 -4
  750. package/dist/server/components/slider/slider.variables.js +2 -4
  751. package/dist/server/components/sortable-list/index.js +9 -632
  752. package/dist/server/components/sortable-list/sortable-list.schema.js +2 -4
  753. package/dist/server/components/sortable-list/sortable-list.variables.js +2 -4
  754. package/dist/server/components/spectrogram/index.js +10 -934
  755. package/dist/server/components/spectrogram/spectrogram.schema.js +2 -4
  756. package/dist/server/components/spectrogram/spectrogram.variables.js +2 -4
  757. package/dist/server/components/spectrum-chart/index.js +9 -835
  758. package/dist/server/components/spectrum-chart/spectrum-chart.schema.js +2 -4
  759. package/dist/server/components/spectrum-chart/spectrum-chart.variables.js +2 -4
  760. package/dist/server/components/speed-dial/index.js +12 -388
  761. package/dist/server/components/speed-dial/speed-dial.schema.js +2 -4
  762. package/dist/server/components/speed-dial/speed-dial.variables.js +2 -4
  763. package/dist/server/components/speed-dial-action/index.js +12 -166
  764. package/dist/server/components/speed-dial-action/speed-dial-action.schema.js +2 -4
  765. package/dist/server/components/speed-dial-action/speed-dial-action.variables.js +2 -4
  766. package/dist/server/components/spinner/index.js +9 -36
  767. package/dist/server/components/spinner/spinner.schema.js +2 -4
  768. package/dist/server/components/spinner/spinner.variables.js +2 -4
  769. package/dist/server/components/stacked-list-item/index.js +9 -122
  770. package/dist/server/components/stacked-list-item/stacked-list-item.schema.js +2 -4
  771. package/dist/server/components/stacked-list-item/stacked-list-item.variables.js +2 -4
  772. package/dist/server/components/stat/index.js +12 -88
  773. package/dist/server/components/stat/stat.schema.js +3 -5
  774. package/dist/server/components/stat/stat.variables.js +2 -4
  775. package/dist/server/components/stat-group/index.js +11 -122
  776. package/dist/server/components/stat-group/stat-group.schema.js +2 -4
  777. package/dist/server/components/stat-group/stat-group.variables.js +2 -4
  778. package/dist/server/components/status-dot/index.js +9 -51
  779. package/dist/server/components/status-dot/status-dot.schema.js +13 -8
  780. package/dist/server/components/status-dot/status-dot.variables.js +2 -4
  781. package/dist/server/components/steps/index.js +10 -191
  782. package/dist/server/components/steps/steps.schema.js +2 -4
  783. package/dist/server/components/steps/steps.variables.js +2 -4
  784. package/dist/server/components/surface/index.js +10 -63
  785. package/dist/server/components/surface/surface.schema.js +2 -4
  786. package/dist/server/components/surface/surface.variables.js +2 -4
  787. package/dist/server/components/tab/index.js +11 -96
  788. package/dist/server/components/tab/tab.schema.js +2 -4
  789. package/dist/server/components/tab/tab.variables.js +2 -4
  790. package/dist/server/components/tab-list/index.js +10 -31
  791. package/dist/server/components/tab-list/tab-list.schema.js +2 -4
  792. package/dist/server/components/tab-list/tab-list.variables.js +2 -4
  793. package/dist/server/components/tab-panel/index.js +10 -40
  794. package/dist/server/components/tab-panel/tab-panel.schema.js +2 -4
  795. package/dist/server/components/tab-panel/tab-panel.variables.js +2 -4
  796. package/dist/server/components/table/index.js +19 -356
  797. package/dist/server/components/table/table.schema.js +2 -4
  798. package/dist/server/components/table/table.variables.js +2 -4
  799. package/dist/server/components/table-body/index.js +11 -49
  800. package/dist/server/components/table-body/table-body.schema.js +2 -4
  801. package/dist/server/components/table-body/table-body.variables.js +2 -4
  802. package/dist/server/components/table-cell/index.js +9 -41
  803. package/dist/server/components/table-cell/table-cell.schema.js +2 -4
  804. package/dist/server/components/table-cell/table-cell.variables.js +2 -4
  805. package/dist/server/components/table-header/index.js +11 -84
  806. package/dist/server/components/table-header/table-header.schema.js +4 -6
  807. package/dist/server/components/table-header/table-header.variables.js +2 -4
  808. package/dist/server/components/table-header-cell/index.js +11 -82
  809. package/dist/server/components/table-header-cell/table-header-cell.schema.js +2 -4
  810. package/dist/server/components/table-header-cell/table-header-cell.variables.js +2 -4
  811. package/dist/server/components/table-row/index.js +13 -130
  812. package/dist/server/components/table-row/table-row.schema.js +4 -6
  813. package/dist/server/components/table-row/table-row.variables.js +2 -4
  814. package/dist/server/components/tabs/index.js +16 -379
  815. package/dist/server/components/tabs/tabs.schema.js +7 -4
  816. package/dist/server/components/tabs/tabs.variables.js +2 -4
  817. package/dist/server/components/tag-input/index.js +16 -6
  818. package/dist/server/components/tag-input/tag-input.schema.js +2 -4
  819. package/dist/server/components/tag-input/tag-input.variables.js +2 -4
  820. package/dist/server/components/textarea/index.js +12 -176
  821. package/dist/server/components/textarea/textarea.schema.js +2 -4
  822. package/dist/server/components/textarea/textarea.variables.js +2 -4
  823. package/dist/server/components/time-field/index.js +15 -0
  824. package/dist/server/components/time-field/time-field.schema.js +86 -0
  825. package/dist/server/components/time-field/time-field.variables.js +10 -0
  826. package/dist/server/components/timeline/index.js +7 -248
  827. package/dist/server/components/timeline/timeline.schema.js +2 -4
  828. package/dist/server/components/timeline/timeline.variables.js +2 -4
  829. package/dist/server/components/toast-region/index.js +10 -717
  830. package/dist/server/components/toast-region/toast-region.schema.js +2 -4
  831. package/dist/server/components/toast-region/toast-region.variables.js +2 -4
  832. package/dist/server/components/toggle/index.js +10 -47
  833. package/dist/server/components/toggle/toggle.schema.js +12 -5
  834. package/dist/server/components/toggle/toggle.variables.js +2 -4
  835. package/dist/server/components/toolbar/index.js +15 -534
  836. package/dist/server/components/toolbar/toolbar.schema.js +2 -4
  837. package/dist/server/components/toolbar/toolbar.variables.js +2 -4
  838. package/dist/server/components/tooltip/index.js +15 -267
  839. package/dist/server/components/tooltip/tooltip.schema.js +2 -4
  840. package/dist/server/components/tooltip/tooltip.variables.js +2 -4
  841. package/dist/server/components/transfer-list/index.js +8 -321
  842. package/dist/server/components/transfer-list/transfer-list.schema.js +3 -5
  843. package/dist/server/components/transfer-list/transfer-list.variables.js +2 -4
  844. package/dist/server/components/tree/index.js +16 -3353
  845. package/dist/server/components/tree/tree.schema.js +4 -6
  846. package/dist/server/components/tree/tree.variables.js +2 -4
  847. package/dist/server/components/tree-item/index.js +11 -675
  848. package/dist/server/components/tree-item/tree-item.schema.js +6 -8
  849. package/dist/server/components/tree-item/tree-item.variables.js +2 -4
  850. package/dist/server/components/typography/index.js +7 -61
  851. package/dist/server/components/typography/typography.schema.js +2 -4
  852. package/dist/server/components/typography/typography.variables.js +2 -4
  853. package/dist/server/components/virtual-list/index.js +14 -177
  854. package/dist/server/components/virtual-list/virtual-list.schema.js +2 -4
  855. package/dist/server/components/virtual-list/virtual-list.variables.js +2 -4
  856. package/dist/server/components/visually-hidden/index.js +9 -37
  857. package/dist/server/components/visually-hidden/visually-hidden.schema.js +2 -4
  858. package/dist/server/components/visually-hidden/visually-hidden.variables.js +2 -4
  859. package/dist/server/components/waveform/index.js +9 -871
  860. package/dist/server/components/waveform/waveform.schema.js +2 -4
  861. package/dist/server/components/waveform/waveform.variables.js +2 -4
  862. package/dist/server/editor/attach.d.ts +2 -2
  863. package/dist/server/editor/attach.js +10 -16
  864. package/dist/server/editor/editor.js +6 -6
  865. package/dist/server/editor/keymap-plugin.d.ts +2 -2
  866. package/dist/server/editor/keymap-plugin.js +4 -4
  867. package/dist/server/editor/types.d.ts +11 -11
  868. package/dist/server/highlighters/shiki/index.js +8 -13
  869. package/dist/server/index.js +729 -42315
  870. package/dist/server/index.server-04pgs1m4.js +9 -0
  871. package/dist/server/index.server-06ak422z.js +726 -0
  872. package/dist/server/index.server-09ky0qhy.js +9 -0
  873. package/dist/server/index.server-0a8m173j.js +73 -0
  874. package/dist/server/index.server-0ed43ctm.js +3834 -0
  875. package/dist/server/index.server-0rj7syca.js +271 -0
  876. package/dist/server/index.server-0tnw5ter.js +39 -0
  877. package/dist/server/index.server-1c79f4fe.js +38 -0
  878. package/dist/server/index.server-1gsgt31t.js +9 -0
  879. package/dist/server/index.server-1k7j69zg.js +20 -0
  880. package/dist/server/index.server-1nzyv1av.js +50 -0
  881. package/dist/server/index.server-1tp7nabp.js +98 -0
  882. package/dist/server/index.server-1vsv7ngz.js +106 -0
  883. package/dist/server/index.server-1x7gd5rm.js +55 -0
  884. package/dist/server/index.server-1yn62azq.js +145 -0
  885. package/dist/server/index.server-20y4mdhm.js +167 -0
  886. package/dist/server/index.server-24kf2kgd.js +9 -0
  887. package/dist/server/index.server-27c3ewc8.js +9 -0
  888. package/dist/server/index.server-2fa12eg1.js +153 -0
  889. package/dist/server/index.server-2fz89mxv.js +9 -0
  890. package/dist/server/index.server-2g8qr4nk.js +72 -0
  891. package/dist/server/index.server-2h3y9v3e.js +15 -0
  892. package/dist/server/index.server-2q8eszkm.js +319 -0
  893. package/dist/server/index.server-2sjf4r4j.js +1036 -0
  894. package/dist/server/index.server-2tr8ba51.js +114 -0
  895. package/dist/server/index.server-2ymxf0ra.js +71 -0
  896. package/dist/server/index.server-317enkqq.js +2 -0
  897. package/dist/server/index.server-324f5vcc.js +195 -0
  898. package/dist/server/index.server-338vqndh.js +9 -0
  899. package/dist/server/index.server-34p02y48.js +149 -0
  900. package/dist/server/index.server-36yahywm.js +423 -0
  901. package/dist/server/index.server-37x76zdn.js +6 -0
  902. package/dist/server/index.server-3cwyrz8f.js +84 -0
  903. package/dist/server/index.server-3f5f7jd4.js +371 -0
  904. package/dist/server/index.server-3fvz5gak.js +30 -0
  905. package/dist/server/index.server-3jz24pb5.js +38 -0
  906. package/dist/server/index.server-3mbgzhq8.js +59 -0
  907. package/dist/server/index.server-3zzwg4ew.js +60 -0
  908. package/dist/server/index.server-41003crj.js +125 -0
  909. package/dist/server/index.server-42qeekwc.js +10 -0
  910. package/dist/server/index.server-493m9fm5.js +14 -0
  911. package/dist/server/index.server-4jc5ny87.js +174 -0
  912. package/dist/server/index.server-4p5znv15.js +92 -0
  913. package/dist/server/index.server-4pv40879.js +68 -0
  914. package/dist/server/index.server-4pyw3ask.js +86 -0
  915. package/dist/server/index.server-4t03p6p4.js +113 -0
  916. package/dist/server/index.server-4wphqyck.js +73 -0
  917. package/dist/server/index.server-52fkd3c2.js +53 -0
  918. package/dist/server/index.server-5599w5gj.js +41 -0
  919. package/dist/server/index.server-578qndbg.js +221 -0
  920. package/dist/server/index.server-5bxfjsbc.js +74 -0
  921. package/dist/server/index.server-5h2t2v49.js +9 -0
  922. package/dist/server/index.server-5hvm9w79.js +9 -0
  923. package/dist/server/index.server-5kt7t4y4.js +69 -0
  924. package/dist/server/index.server-5qknw2zb.js +46 -0
  925. package/dist/server/index.server-5s9645md.js +97 -0
  926. package/dist/server/index.server-5v74e1fz.js +29 -0
  927. package/dist/server/index.server-5zbf7wta.js +4463 -0
  928. package/dist/server/index.server-61g7sxkr.js +191 -0
  929. package/dist/server/index.server-62gb3jcw.js +9 -0
  930. package/dist/server/index.server-6492n4zt.js +107 -0
  931. package/dist/server/index.server-64bppvdn.js +9 -0
  932. package/dist/server/index.server-68hbjs6n.js +1642 -0
  933. package/dist/server/index.server-6dfav8r0.js +142 -0
  934. package/dist/server/index.server-6evw00zj.js +245 -0
  935. package/dist/server/index.server-6jnnp1s8.js +32 -0
  936. package/dist/server/index.server-6mdy1500.js +31 -0
  937. package/dist/server/index.server-6pdmym90.js +11 -0
  938. package/dist/server/index.server-6rw2v7f4.js +457 -0
  939. package/dist/server/index.server-6tc4k9n2.js +281 -0
  940. package/dist/server/index.server-6zgzghtm.js +157 -0
  941. package/dist/server/index.server-70c570r3.js +109 -0
  942. package/dist/server/index.server-76y146qj.js +141 -0
  943. package/dist/server/index.server-77gpgvab.js +68 -0
  944. package/dist/server/index.server-78d33trm.js +88 -0
  945. package/dist/server/index.server-7d9fgwdv.js +284 -0
  946. package/dist/server/index.server-7pdq2w0a.js +17 -0
  947. package/dist/server/index.server-7ptnbrtg.js +9 -0
  948. package/dist/server/index.server-7pxzf0ch.js +9 -0
  949. package/dist/server/index.server-7wsshxkg.js +166 -0
  950. package/dist/server/index.server-7yg3rd66.js +126 -0
  951. package/dist/server/index.server-8bqpdv5z.js +63 -0
  952. package/dist/server/index.server-8cvkc386.js +271 -0
  953. package/dist/server/index.server-8d3tttbj.js +31 -0
  954. package/dist/server/index.server-8gakk9d5.js +168 -0
  955. package/dist/server/index.server-8hdvr9bt.js +18 -0
  956. package/dist/server/index.server-8jm0z4vp.js +38 -0
  957. package/dist/server/index.server-8ysrmagt.js +9 -0
  958. package/dist/server/index.server-92ae8fk6.js +83 -0
  959. package/dist/server/index.server-93xr1xx4.js +192 -0
  960. package/dist/server/index.server-94b7tjs5.js +27 -0
  961. package/dist/server/index.server-94p65bqz.js +38 -0
  962. package/dist/server/index.server-94wsps5p.js +9 -0
  963. package/dist/server/index.server-96fg085d.js +9 -0
  964. package/dist/server/index.server-9cyktwxj.js +9 -0
  965. package/dist/server/index.server-9kas8kq5.js +462 -0
  966. package/dist/server/index.server-9pbg150a.js +9 -0
  967. package/dist/server/index.server-9r0zg6d9.js +102 -0
  968. package/dist/server/index.server-9r6rts7c.js +2 -0
  969. package/dist/server/index.server-9vqgsfds.js +9 -0
  970. package/dist/server/index.server-9w7qdn8h.js +22 -0
  971. package/dist/server/index.server-9xyn021z.js +9 -0
  972. package/dist/server/index.server-abm21gz1.js +41 -0
  973. package/dist/server/index.server-adgnf7ez.js +190 -0
  974. package/dist/server/index.server-ah91j894.js +564 -0
  975. package/dist/server/index.server-ajzk1x9v.js +224 -0
  976. package/dist/server/index.server-amfq2v2p.js +12 -0
  977. package/dist/server/index.server-ans2v9y9.js +45 -0
  978. package/dist/server/index.server-anyk9x1r.js +282 -0
  979. package/dist/server/index.server-att810se.js +362 -0
  980. package/dist/server/index.server-awaramqw.js +277 -0
  981. package/dist/server/index.server-axzcx0e9.js +9 -0
  982. package/dist/server/index.server-b14k8cq5.js +458 -0
  983. package/dist/server/index.server-b54c3kn2.js +22 -0
  984. package/dist/server/index.server-bfkka7x4.js +2 -0
  985. package/dist/server/index.server-bgcpy5vk.js +47 -0
  986. package/dist/server/index.server-bktae19b.js +75 -0
  987. package/dist/server/index.server-bkz7h7jx.js +100 -0
  988. package/dist/server/index.server-br63fj2h.js +9 -0
  989. package/dist/server/index.server-bs46fdxd.js +54 -0
  990. package/dist/server/index.server-bte0dfkh.js +30 -0
  991. package/dist/server/index.server-bxmyxbfm.js +95 -0
  992. package/dist/server/index.server-c29mzp9r.js +48 -0
  993. package/dist/server/index.server-c3gbtj71.js +65 -0
  994. package/dist/server/index.server-c5jyrshr.js +9 -0
  995. package/dist/server/index.server-c7t8taqa.js +23 -0
  996. package/dist/server/index.server-chh0fzxj.js +8 -0
  997. package/dist/server/index.server-chj73na5.js +655 -0
  998. package/dist/server/index.server-cjkcwy18.js +9 -0
  999. package/dist/server/index.server-d2e6xxc3.js +94 -0
  1000. package/dist/server/index.server-d63pwytk.js +85 -0
  1001. package/dist/server/index.server-d6peankz.js +563 -0
  1002. package/dist/server/index.server-dbkczma7.js +83 -0
  1003. package/dist/server/index.server-dezmeg8v.js +244 -0
  1004. package/dist/server/index.server-dpnwk6w4.js +9 -0
  1005. package/dist/server/index.server-dr17jbt2.js +162 -0
  1006. package/dist/server/index.server-dsf1bjt5.js +9 -0
  1007. package/dist/server/index.server-dt2rpjtk.js +90 -0
  1008. package/dist/server/index.server-dxkrc7sf.js +9 -0
  1009. package/dist/server/index.server-dyryxwe8.js +67 -0
  1010. package/dist/server/index.server-e10j3s54.js +93 -0
  1011. package/dist/server/index.server-e1gjs02r.js +147 -0
  1012. package/dist/server/index.server-e39mgany.js +9 -0
  1013. package/dist/server/index.server-e967et3j.js +77 -0
  1014. package/dist/server/index.server-e9g5b01k.js +9 -0
  1015. package/dist/server/index.server-ecv75266.js +9 -0
  1016. package/dist/server/index.server-eeq2c9pm.js +78 -0
  1017. package/dist/server/index.server-eknv9erd.js +169 -0
  1018. package/dist/server/index.server-emt82wev.js +447 -0
  1019. package/dist/server/index.server-en97tw08.js +9 -0
  1020. package/dist/server/index.server-eq2ca4j4.js +105 -0
  1021. package/dist/server/index.server-eqa0xxbt.js +72 -0
  1022. package/dist/server/index.server-et3p2cfq.js +14 -0
  1023. package/dist/server/index.server-ezn8d6zv.js +285 -0
  1024. package/dist/server/index.server-f1j0pjt8.js +99 -0
  1025. package/dist/server/index.server-f42dvea7.js +294 -0
  1026. package/dist/server/index.server-fankxd0h.js +362 -0
  1027. package/dist/server/index.server-fcgycatb.js +9 -0
  1028. package/dist/server/index.server-fdmb571x.js +116 -0
  1029. package/dist/server/index.server-fgpfrjbw.js +9 -0
  1030. package/dist/server/index.server-fhnhfrf4.js +9 -0
  1031. package/dist/server/index.server-fjzvm2c4.js +175 -0
  1032. package/dist/server/index.server-fn57dr4e.js +21 -0
  1033. package/dist/server/index.server-fnj6xyr0.js +1028 -0
  1034. package/dist/server/index.server-fy9eb0xp.js +101 -0
  1035. package/dist/server/index.server-fz2jddt8.js +613 -0
  1036. package/dist/server/index.server-g75bhbvb.js +2 -0
  1037. package/dist/server/index.server-g8kdhzf2.js +146 -0
  1038. package/dist/server/index.server-gae09raw.js +75 -0
  1039. package/dist/server/index.server-gbzsb04q.js +71 -0
  1040. package/dist/server/index.server-ge07r1p8.js +8 -0
  1041. package/dist/server/index.server-ghvqpc50.js +71 -0
  1042. package/dist/server/index.server-gj3eb1ce.js +23 -0
  1043. package/dist/server/index.server-grb4gyta.js +210 -0
  1044. package/dist/server/index.server-gtsdsv75.js +230 -0
  1045. package/dist/server/index.server-gw4atb82.js +216 -0
  1046. package/dist/server/index.server-gxhj1st8.js +9 -0
  1047. package/dist/server/index.server-h1vdh0nc.js +107 -0
  1048. package/dist/server/index.server-h54v6c32.js +21 -0
  1049. package/dist/server/index.server-h68sx7bz.js +37 -0
  1050. package/dist/server/index.server-hmw4afhn.js +25 -0
  1051. package/dist/server/index.server-hn1n8dwr.js +9 -0
  1052. package/dist/server/index.server-htmd13mc.js +2 -0
  1053. package/dist/server/index.server-hxz0tnr9.js +57 -0
  1054. package/dist/server/index.server-hzamrkgk.js +256 -0
  1055. package/dist/server/index.server-j2kh5fhy.js +9 -0
  1056. package/dist/server/index.server-jda8tyzf.js +53 -0
  1057. package/dist/server/index.server-jev5qwr3.js +9 -0
  1058. package/dist/server/index.server-jh1te4hy.js +9 -0
  1059. package/dist/server/index.server-jhvs517p.js +384 -0
  1060. package/dist/server/index.server-jky3p49s.js +9 -0
  1061. package/dist/server/index.server-js3eva86.js +8 -0
  1062. package/dist/server/index.server-jwwwgx0d.js +9 -0
  1063. package/dist/server/index.server-jx2qn5an.js +9 -0
  1064. package/dist/server/index.server-k02nvs46.js +50 -0
  1065. package/dist/server/index.server-k15sq5qf.js +294 -0
  1066. package/dist/server/index.server-k1hd2e0x.js +9 -0
  1067. package/dist/server/index.server-k454ba7j.js +291 -0
  1068. package/dist/server/index.server-k5fmb7tw.js +35 -0
  1069. package/dist/server/index.server-k7py0pfc.js +151 -0
  1070. package/dist/server/index.server-kb6w1a7c.js +27 -0
  1071. package/dist/server/index.server-kjtb596w.js +163 -0
  1072. package/dist/server/index.server-kq859dmc.js +1543 -0
  1073. package/dist/server/index.server-kykvc153.js +3393 -0
  1074. package/dist/server/index.server-m6phax03.js +137 -0
  1075. package/dist/server/index.server-m8d6yz6b.js +47 -0
  1076. package/dist/server/index.server-m9axazfh.js +9 -0
  1077. package/dist/server/index.server-m9n4b1bv.js +9 -0
  1078. package/dist/server/index.server-mc6vc1pm.js +63 -0
  1079. package/dist/server/index.server-mm4g29h0.js +85 -0
  1080. package/dist/server/index.server-msf37rwk.js +9 -0
  1081. package/dist/server/index.server-n3zbnw3w.js +194 -0
  1082. package/dist/server/index.server-n4zvbkvq.js +9 -0
  1083. package/dist/server/index.server-n562tmxd.js +197 -0
  1084. package/dist/server/index.server-n86bmg5s.js +393 -0
  1085. package/dist/server/index.server-najpstc3.js +224 -0
  1086. package/dist/server/index.server-nav1z5d8.js +59 -0
  1087. package/dist/server/index.server-nhnvxwz3.js +9 -0
  1088. package/dist/server/index.server-nj8mebze.js +14 -0
  1089. package/dist/server/index.server-nvktnr2d.js +2311 -0
  1090. package/dist/server/index.server-nw1n32dx.js +100 -0
  1091. package/dist/server/index.server-nwjjp9t6.js +71 -0
  1092. package/dist/server/index.server-nxx9ckb3.js +123 -0
  1093. package/dist/server/index.server-ny1hfypg.js +1138 -0
  1094. package/dist/server/index.server-nzjy03c0.js +189 -0
  1095. package/dist/server/index.server-p045dgmk.js +49 -0
  1096. package/dist/server/index.server-p3aw22qv.js +40 -0
  1097. package/dist/server/index.server-p617pg5j.js +9 -0
  1098. package/dist/server/index.server-p78n7r6g.js +37 -0
  1099. package/dist/server/index.server-pa4qcv70.js +9 -0
  1100. package/dist/server/index.server-pehx7yrn.js +72 -0
  1101. package/dist/server/index.server-pg65gmdb.js +117 -0
  1102. package/dist/server/index.server-ps1p8xrf.js +9 -0
  1103. package/dist/server/index.server-q160a4x5.js +9 -0
  1104. package/dist/server/index.server-q4qh8a6x.js +126 -0
  1105. package/dist/server/index.server-q550gsbe.js +83 -0
  1106. package/dist/server/index.server-qjdkp02z.js +117 -0
  1107. package/dist/server/index.server-qkfd0qa7.js +2 -0
  1108. package/dist/server/index.server-qkwnbj88.js +149 -0
  1109. package/dist/server/index.server-qq12yqwb.js +76 -0
  1110. package/dist/server/index.server-qreadmdy.js +85 -0
  1111. package/dist/server/index.server-qwn3yfyq.js +74 -0
  1112. package/dist/server/index.server-qxd1ej6r.js +161 -0
  1113. package/dist/server/index.server-qz23rh6j.js +34 -0
  1114. package/dist/server/index.server-r0wzpqh7.js +113 -0
  1115. package/dist/server/index.server-r30hm3ep.js +159 -0
  1116. package/dist/server/index.server-rf67m8v5.js +2 -0
  1117. package/dist/server/index.server-rpenapvz.js +57 -0
  1118. package/dist/server/index.server-rsjrjd13.js +223 -0
  1119. package/dist/server/index.server-s0xz0vmh.js +117 -0
  1120. package/dist/server/index.server-s84epxbr.js +134 -0
  1121. package/dist/server/index.server-sg3pthbn.js +81 -0
  1122. package/dist/server/index.server-sk2damtz.js +150 -0
  1123. package/dist/server/index.server-sz7qa1vs.js +9 -0
  1124. package/dist/server/index.server-sz8sxsj6.js +15 -0
  1125. package/dist/server/index.server-t437b1td.js +71 -0
  1126. package/dist/server/index.server-t9a3m15z.js +691 -0
  1127. package/dist/server/index.server-tesf3qd9.js +446 -0
  1128. package/dist/server/index.server-thp727nz.js +9 -0
  1129. package/dist/server/index.server-tjbpdh7b.js +47 -0
  1130. package/dist/server/index.server-tm012b9x.js +421 -0
  1131. package/dist/server/index.server-tp1j7few.js +53 -0
  1132. package/dist/server/index.server-tys344bj.js +61 -0
  1133. package/dist/server/index.server-v5qqrjej.js +30 -0
  1134. package/dist/server/index.server-v6kp8px5.js +68 -0
  1135. package/dist/server/index.server-va9x168w.js +30 -0
  1136. package/dist/server/index.server-vbnc9fac.js +377 -0
  1137. package/dist/server/index.server-vmsmaztb.js +35 -0
  1138. package/dist/server/index.server-vqgwwdzz.js +9 -0
  1139. package/dist/server/index.server-vqhdvsx5.js +151 -0
  1140. package/dist/server/index.server-vzvz108c.js +9 -0
  1141. package/dist/server/index.server-w6am2dxc.js +12 -0
  1142. package/dist/server/index.server-weae7gs2.js +15 -0
  1143. package/dist/server/index.server-wj91h1wk.js +666 -0
  1144. package/dist/server/index.server-wqkzae6a.js +41 -0
  1145. package/dist/server/index.server-wrx4sd6j.js +9 -0
  1146. package/dist/server/index.server-wrz6jqw1.js +59 -0
  1147. package/dist/server/index.server-x83rwh0m.js +49 -0
  1148. package/dist/server/index.server-xb4r3skb.js +9 -0
  1149. package/dist/server/index.server-xecgaeth.js +102 -0
  1150. package/dist/server/index.server-xjmx6rm8.js +1162 -0
  1151. package/dist/server/index.server-xmphf30z.js +9 -0
  1152. package/dist/server/index.server-xnh932xs.js +85 -0
  1153. package/dist/server/index.server-xp53vmj5.js +129 -0
  1154. package/dist/server/index.server-xpghbgpz.js +22 -0
  1155. package/dist/server/index.server-xqmtg1tq.js +9 -0
  1156. package/dist/server/index.server-xxddjkmm.js +9 -0
  1157. package/dist/server/index.server-y0q949bm.js +27 -0
  1158. package/dist/server/index.server-y16zcjfw.js +38 -0
  1159. package/dist/server/index.server-y3r39npa.js +54 -0
  1160. package/dist/server/index.server-y3xyech8.js +9 -0
  1161. package/dist/server/index.server-y68tcxw3.js +52 -0
  1162. package/dist/server/index.server-ya3f9g84.js +9 -0
  1163. package/dist/server/index.server-yaejrcc0.js +53 -0
  1164. package/dist/server/index.server-ygk52jt8.js +62 -0
  1165. package/dist/server/index.server-yheh2spx.js +66 -0
  1166. package/dist/server/index.server-yr9zjj1r.js +31 -0
  1167. package/dist/server/index.server-ytdfzwh1.js +56 -0
  1168. package/dist/server/index.server-z63wz94j.js +9 -0
  1169. package/dist/server/index.server-z7nvkz8v.js +8 -0
  1170. package/dist/server/index.server-zbcza3tc.js +62 -0
  1171. package/dist/server/index.server-zbf09rvx.js +111 -0
  1172. package/dist/server/index.server-zcfnwc9r.js +37 -0
  1173. package/dist/server/index.server-zdg2zpx1.js +28 -0
  1174. package/dist/server/index.server-zf0r6cj7.js +9 -0
  1175. package/dist/server/index.server-zm9kbbpp.js +9 -0
  1176. package/dist/server/index.server-zt7rjnct.js +100 -0
  1177. package/dist/server/index.server-zwjp26z8.js +21 -0
  1178. package/dist/server/styles/base-guard.js +6 -8
  1179. package/dist/utilities/attachments.d.ts +6 -6
  1180. package/dist/utilities/change-tracker.svelte.d.ts +1 -20
  1181. package/dist/utilities/change-tracker.types.d.ts +20 -0
  1182. package/dist/utilities/document-order.d.ts +0 -16
  1183. package/dist/utilities/sortable-controller.svelte.d.ts +1 -47
  1184. package/dist/utilities/sortable-controller.types.d.ts +48 -0
  1185. package/dist/utilities/typeahead.d.ts +13 -0
  1186. package/dist/utilities/use-announcer.svelte.d.ts +1 -24
  1187. package/dist/utilities/use-announcer.types.d.ts +24 -0
  1188. package/dist/utilities/use-history.svelte.d.ts +1 -52
  1189. package/dist/utilities/use-history.types.d.ts +52 -0
  1190. package/dist/utilities/use-intersection.svelte.d.ts +2 -13
  1191. package/dist/utilities/use-intersection.types.d.ts +13 -0
  1192. package/dist/utilities/use-mutation-observer.svelte.d.ts +2 -21
  1193. package/dist/utilities/use-mutation-observer.types.d.ts +21 -0
  1194. package/dist/utilities/use-reduced-motion.svelte.d.ts +1 -4
  1195. package/dist/utilities/use-reduced-motion.types.d.ts +4 -0
  1196. package/dist/utilities/use-resize-observer.svelte.d.ts +2 -9
  1197. package/dist/utilities/use-resize-observer.types.d.ts +9 -0
  1198. package/dist/utilities/value-change.d.ts +2 -0
  1199. package/package.json +439 -233
  1200. package/src/_internal/locale-context.ts +21 -0
  1201. package/src/_internal/text-direction.ts +213 -0
  1202. package/src/_internal/tree-context.ts +2 -0
  1203. package/src/_internal/tree-registry.svelte.ts +13 -15
  1204. package/src/components/_internal/create-command-list-state.svelte.ts +171 -0
  1205. package/src/components/_internal/create-sliding-dialog-state.svelte.ts +170 -0
  1206. package/src/components/_radio/README.md +1 -1
  1207. package/src/components/_sortable-item.svelte +1 -1
  1208. package/src/components/access-gate/access-gate-inline.svelte +3 -1
  1209. package/src/components/alert/README.md +8 -8
  1210. package/src/components/alert/alert.css +1 -1
  1211. package/src/components/alert/alert.examples.json +4 -4
  1212. package/src/components/alert/alert.svelte +3 -5
  1213. package/src/components/alert/alert.types.ts +4 -4
  1214. package/src/components/approval-card/README.md +92 -0
  1215. package/src/components/approval-card/approval-card-state.ts +24 -0
  1216. package/src/components/approval-card/approval-card.css +239 -0
  1217. package/src/components/approval-card/approval-card.examples.json +25 -0
  1218. package/src/components/approval-card/approval-card.svelte +583 -0
  1219. package/src/components/approval-card/approval-card.types.ts +180 -0
  1220. package/src/components/approval-card/index.ts +16 -0
  1221. package/src/components/autocomplete/autocomplete.css +12 -1
  1222. package/src/components/autocomplete/autocomplete.svelte +68 -29
  1223. package/src/components/badge/README.md +8 -7
  1224. package/src/components/badge/badge.svelte +80 -3
  1225. package/src/components/badge/badge.types.ts +36 -13
  1226. package/src/components/badge/index.ts +1 -1
  1227. package/src/components/banner/README.md +2 -2
  1228. package/src/components/banner/banner.examples.json +19 -0
  1229. package/src/components/banner/banner.svelte +2 -2
  1230. package/src/components/banner/banner.types.ts +1 -1
  1231. package/src/components/button/button.css +1 -1
  1232. package/src/components/callout/callout.examples.json +19 -0
  1233. package/src/components/capability-gate/README.md +3 -3
  1234. package/src/components/capability-gate/capability-gate.css +15 -2
  1235. package/src/components/capability-gate/capability-gate.examples.json +1 -1
  1236. package/src/components/capability-gate/capability-gate.svelte +7 -7
  1237. package/src/components/capability-gate/capability-gate.types.ts +6 -6
  1238. package/src/components/chat/README.md +6 -10
  1239. package/src/components/chat/chat.examples.json +8 -8
  1240. package/src/components/chat/chat.types.ts +31 -15
  1241. package/src/components/chat/container/chat-events.ts +2 -2
  1242. package/src/components/chat/container/chat-history-trigger.svelte +9 -1
  1243. package/src/components/chat/container/chat.svelte +47 -46
  1244. package/src/components/chat/container/use-chat-scroll-state.svelte.ts +21 -18
  1245. package/src/components/chat/container/use-chat-unread-state.svelte.ts +19 -19
  1246. package/src/components/chat/index.ts +1 -1
  1247. package/src/components/chat/input/chat-input.svelte +35 -13
  1248. package/src/components/chat/message/image-lightbox.svelte +38 -15
  1249. package/src/components/chat/message/message-attachments.svelte +1 -1
  1250. package/src/components/chat/message/parts/reasoning-part.svelte +8 -0
  1251. package/src/components/chat/message/parts/tool-approval-part.svelte +22 -9
  1252. package/src/components/chat-conversation-list/chat-conversation-list.css +13 -0
  1253. package/src/components/checkbox/README.md +1 -0
  1254. package/src/components/checkbox/checkbox.css +3 -0
  1255. package/src/components/checkbox/checkbox.svelte +44 -2
  1256. package/src/components/checkbox/checkbox.types.ts +2 -0
  1257. package/src/components/checkbox-group/README.md +2 -2
  1258. package/src/components/checkbox-group/checkbox-group.css +3 -0
  1259. package/src/components/checkbox-group/checkbox-group.examples.json +13 -0
  1260. package/src/components/checkbox-group/checkbox-group.svelte +23 -2
  1261. package/src/components/checkbox-group/checkbox-group.types.ts +12 -7
  1262. package/src/components/choice-grid-item/choice-grid-item.svelte +1 -1
  1263. package/src/components/click-away-listener/README.md +2 -2
  1264. package/src/components/click-away-listener/click-away-listener.examples.json +1 -1
  1265. package/src/components/click-away-listener/click-away-listener.svelte +2 -2
  1266. package/src/components/click-away-listener/click-away-listener.types.ts +3 -3
  1267. package/src/components/code-block/code-block.css +4 -3
  1268. package/src/components/collapsible/README.md +2 -2
  1269. package/src/components/collapsible/collapsible.svelte +2 -2
  1270. package/src/components/collapsible/collapsible.types.ts +5 -2
  1271. package/src/components/color-field/README.md +18 -18
  1272. package/src/components/color-field/color-field.svelte +2 -2
  1273. package/src/components/color-field/color-field.types.ts +2 -2
  1274. package/src/components/color-swatch-picker/color-swatch-picker.examples.json +13 -0
  1275. package/src/components/color-swatch-picker/color-swatch-picker.svelte +38 -24
  1276. package/src/components/combobox/README.md +3 -1
  1277. package/src/components/combobox/combobox.svelte +93 -17
  1278. package/src/components/combobox/combobox.types.ts +9 -1
  1279. package/src/components/command-item/README.md +13 -11
  1280. package/src/components/command-item/command-item.css +10 -0
  1281. package/src/components/command-item/command-item.svelte +11 -0
  1282. package/src/components/command-item/command-item.types.ts +4 -0
  1283. package/src/components/command-menu/command-menu.svelte +21 -102
  1284. package/src/components/command-palette/README.md +12 -12
  1285. package/src/components/command-palette/command-palette.examples.json +3 -3
  1286. package/src/components/command-palette/command-palette.svelte +17 -134
  1287. package/src/components/command-palette/command-palette.types.ts +1 -2
  1288. package/src/components/context-menu/context-menu.context.ts +2 -0
  1289. package/src/components/context-menu/context-menu.svelte +35 -9
  1290. package/src/components/context-menu-trigger/context-menu-trigger.svelte +9 -6
  1291. package/src/components/copy-button/copy-button.svelte +4 -3
  1292. package/src/components/data-grid/README.md +3 -3
  1293. package/src/components/data-grid/_internal/column-model.svelte.ts +2 -0
  1294. package/src/components/data-grid/data-grid.css +25 -0
  1295. package/src/components/data-grid/data-grid.svelte +7 -7
  1296. package/src/components/data-grid/data-grid.types.ts +8 -2
  1297. package/src/components/data-list/README.md +9 -9
  1298. package/src/components/data-list/data-list.examples.json +1 -1
  1299. package/src/components/data-list/data-list.svelte +3 -9
  1300. package/src/components/data-list/data-list.types.ts +5 -9
  1301. package/src/components/data-table/README.md +21 -15
  1302. package/src/components/data-table/data-table.css +33 -0
  1303. package/src/components/data-table/data-table.svelte +170 -8
  1304. package/src/components/data-table/data-table.types.ts +27 -0
  1305. package/src/components/data-table/index.ts +6 -1
  1306. package/src/components/date-range-field/README.md +9 -8
  1307. package/src/components/date-range-field/date-range-field.svelte +193 -19
  1308. package/src/components/date-range-field/date-range-field.types.ts +16 -10
  1309. package/src/components/date-range-field/index.ts +1 -0
  1310. package/src/components/diff-viewer/diff-front-matter.svelte +2 -2
  1311. package/src/components/diff-viewer/diff-line.svelte +32 -8
  1312. package/src/components/diff-viewer/diff-toolbar.svelte +3 -3
  1313. package/src/components/diff-viewer/diff-viewer.svelte +4 -4
  1314. package/src/components/diff-viewer/diff-viewer.types.ts +3 -3
  1315. package/src/components/diff-viewer/index.ts +1 -1
  1316. package/src/components/drawer/drawer.svelte +26 -145
  1317. package/src/components/dropdown/dropdown.css +7 -1
  1318. package/src/components/dropdown/dropdown.types.ts +3 -0
  1319. package/src/components/dropdown-group/README.md +6 -6
  1320. package/src/components/dropdown-group/dropdown-group.svelte +8 -8
  1321. package/src/components/dropdown-group/dropdown-group.types.ts +4 -4
  1322. package/src/components/dropdown-item/README.md +12 -10
  1323. package/src/components/dropdown-item/dropdown-item.svelte +16 -11
  1324. package/src/components/dropdown-item/dropdown-item.types.ts +5 -0
  1325. package/src/components/dropdown-menu/dropdown-menu.svelte +73 -9
  1326. package/src/components/dropdown-trigger/dropdown-trigger.svelte +4 -6
  1327. package/src/components/event-stream-viewer/README.md +38 -16
  1328. package/src/components/event-stream-viewer/event-stream-viewer-keys.ts +74 -0
  1329. package/src/components/event-stream-viewer/event-stream-viewer.css +46 -0
  1330. package/src/components/event-stream-viewer/event-stream-viewer.examples.json +6 -0
  1331. package/src/components/event-stream-viewer/event-stream-viewer.svelte +262 -69
  1332. package/src/components/event-stream-viewer/event-stream-viewer.types.ts +130 -3
  1333. package/src/components/event-stream-viewer/index.ts +6 -0
  1334. package/src/components/experimental/json-viewer/index.ts +3 -1
  1335. package/src/components/experimental/message/index.ts +3 -1
  1336. package/src/components/faceted-filter-bar/faceted-filter-bar.css +9 -0
  1337. package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +31 -5
  1338. package/src/components/file-upload/file-upload.css +5 -5
  1339. package/src/components/file-upload/file-upload.examples.json +13 -0
  1340. package/src/components/floating-action-button/README.md +9 -9
  1341. package/src/components/floating-action-button/floating-action-button.css +22 -22
  1342. package/src/components/floating-action-button/floating-action-button.examples.json +1 -1
  1343. package/src/components/floating-action-button/floating-action-button.svelte +7 -7
  1344. package/src/components/floating-action-button/floating-action-button.types.ts +21 -21
  1345. package/src/components/floating-action-button/index.ts +1 -1
  1346. package/src/components/form-field/form-field.css +3 -13
  1347. package/src/components/form-field/form-field.svelte +4 -1
  1348. package/src/components/hover-card/hover-card.svelte +6 -7
  1349. package/src/components/image/image.examples.json +13 -0
  1350. package/src/components/input/README.md +16 -15
  1351. package/src/components/input/input.examples.json +1 -1
  1352. package/src/components/input/input.svelte +65 -28
  1353. package/src/components/input/input.types.ts +2 -0
  1354. package/src/components/invocation-rule-builder/README.md +14 -14
  1355. package/src/components/invocation-rule-builder/index.ts +1 -0
  1356. package/src/components/invocation-rule-builder/invocation-rule-builder.css +63 -6
  1357. package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +73 -16
  1358. package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +99 -8
  1359. package/src/components/json-schema-editor/diff-view.svelte +1 -1
  1360. package/src/components/json-schema-editor/form-view.svelte +4 -2
  1361. package/src/components/json-schema-editor/json-schema-editor-impl.svelte +30 -18
  1362. package/src/components/json-schema-editor/json-schema-editor-state.svelte.ts +3 -20
  1363. package/src/components/json-schema-editor/json-schema-editor-state.types.ts +21 -0
  1364. package/src/components/json-schema-editor/json-schema-editor.css +6 -1
  1365. package/src/components/json-schema-editor/json-schema-toolbar.svelte +7 -1
  1366. package/src/components/json-schema-editor/json-view.svelte +2 -2
  1367. package/src/components/json-schema-editor/property-editor.svelte +38 -2
  1368. package/src/components/json-schema-editor/property-list-validation.ts +10 -0
  1369. package/src/components/json-schema-editor/property-list.svelte +48 -3
  1370. package/src/components/json-viewer/_json-viewer-node.svelte +55 -9
  1371. package/src/components/json-viewer/json-viewer.css +11 -0
  1372. package/src/components/json-viewer/json-viewer.svelte +63 -1
  1373. package/src/components/kanban-board/kanban-board.css +56 -3
  1374. package/src/components/kanban-board/kanban-board.svelte +10 -3
  1375. package/src/components/keyboard-shortcuts/keyboard-shortcuts.css +2 -2
  1376. package/src/components/keyboard-shortcuts/keyboard-shortcuts.svelte +1 -1
  1377. package/src/components/label/README.md +1 -1
  1378. package/src/components/label/label.css +2 -9
  1379. package/src/components/label/label.svelte +4 -2
  1380. package/src/components/load-more/README.md +4 -4
  1381. package/src/components/load-more/load-more.css +13 -5
  1382. package/src/components/load-more/load-more.examples.json +2 -2
  1383. package/src/components/load-more/load-more.svelte +4 -4
  1384. package/src/components/load-more/load-more.types.ts +3 -3
  1385. package/src/components/locale-provider/README.md +43 -0
  1386. package/src/components/locale-provider/index.ts +5 -0
  1387. package/src/components/locale-provider/locale-provider.svelte +40 -0
  1388. package/src/components/locale-provider/locale-provider.types.ts +21 -0
  1389. package/src/components/markdown-editor/README.md +3 -3
  1390. package/src/components/markdown-editor/editor-toolbar/editor-toolbar.svelte +5 -2
  1391. package/src/components/markdown-editor/editor-toolbar/link-popover.svelte +13 -0
  1392. package/src/components/markdown-editor/editor-toolbar/toolbar-dropdown.svelte +2 -0
  1393. package/src/components/markdown-editor/markdown-editor.svelte +14 -12
  1394. package/src/components/markdown-editor/markdown-editor.types.ts +4 -4
  1395. package/src/components/masonry/README.md +7 -7
  1396. package/src/components/masonry/masonry.types.ts +24 -2
  1397. package/src/components/matrix-chart/matrix-chart.svelte +7 -21
  1398. package/src/components/media-controls/README.md +3 -3
  1399. package/src/components/media-controls/media-controls.css +15 -4
  1400. package/src/components/media-controls/media-controls.examples.json +1 -1
  1401. package/src/components/media-controls/media-controls.svelte +6 -6
  1402. package/src/components/media-controls/media-controls.types.ts +10 -7
  1403. package/src/components/menu-bar/index.ts +4 -1
  1404. package/src/components/menu-bar/menu-bar.css +11 -0
  1405. package/src/components/menu-bar/menu-bar.svelte +329 -13
  1406. package/src/components/navigation-bar/README.md +1 -1
  1407. package/src/components/navigation-bar/navigation-bar.examples.json +1 -1
  1408. package/src/components/navigation-bar/navigation-bar.svelte +2 -2
  1409. package/src/components/navigation-bar/navigation-bar.types.ts +1 -1
  1410. package/src/components/number-input/README.md +18 -18
  1411. package/src/components/number-input/number-input.examples.json +13 -0
  1412. package/src/components/number-input/number-input.svelte +77 -38
  1413. package/src/components/number-input/number-input.types.ts +15 -5
  1414. package/src/components/pagination/README.md +3 -1
  1415. package/src/components/payload-inspector/README.md +11 -11
  1416. package/src/components/payload-inspector/index.ts +2 -0
  1417. package/src/components/payload-inspector/payload-inspector.css +6 -0
  1418. package/src/components/payload-inspector/payload-inspector.svelte +22 -4
  1419. package/src/components/payload-inspector/payload-inspector.types.ts +54 -3
  1420. package/src/components/permission-matrix/permission-matrix.css +10 -0
  1421. package/src/components/phone-input/README.md +1 -1
  1422. package/src/components/phone-input/phone-input.svelte +7 -1
  1423. package/src/components/phone-input/phone-input.types.ts +3 -2
  1424. package/src/components/pin-input/README.md +19 -19
  1425. package/src/components/pin-input/pin-input.svelte +16 -12
  1426. package/src/components/pin-input/pin-input.types.ts +10 -1
  1427. package/src/components/portal/portal.utilities.svelte.ts +4 -1
  1428. package/src/components/pricing-card/pricing-card.svelte +26 -1
  1429. package/src/components/radio-group/README.md +12 -12
  1430. package/src/components/radio-group/radio-group.css +3 -0
  1431. package/src/components/radio-group/radio-group.examples.json +3 -3
  1432. package/src/components/radio-group/radio-group.svelte +22 -2
  1433. package/src/components/radio-group/radio-group.types.ts +6 -2
  1434. package/src/components/rating/README.md +18 -18
  1435. package/src/components/rating/rating.svelte +0 -8
  1436. package/src/components/rating/rating.types.ts +6 -0
  1437. package/src/components/review-editor/comment-list.svelte +1 -1
  1438. package/src/components/review-editor/index.ts +1 -1
  1439. package/src/components/review-editor/review-editor-controls.svelte +8 -3
  1440. package/src/components/review-editor/review-editor-impl.svelte +11 -7
  1441. package/src/components/review-editor/review-editor-selection-types.ts +1 -1
  1442. package/src/components/review-editor/review-editor-selection.svelte.ts +1 -1
  1443. package/src/components/review-editor/review-editor-state.svelte.ts +1 -1
  1444. package/src/components/review-editor/review-editor-threads.svelte.ts +2 -2
  1445. package/src/components/review-editor/review-editor.types.ts +91 -3
  1446. package/src/components/review-editor/thread-popover.svelte +1 -1
  1447. package/src/components/run-step-timeline/README.md +53 -6
  1448. package/src/components/run-step-timeline/index.ts +6 -0
  1449. package/src/components/run-step-timeline/run-step-timeline.css +25 -5
  1450. package/src/components/run-step-timeline/run-step-timeline.examples.json +3 -3
  1451. package/src/components/run-step-timeline/run-step-timeline.svelte +314 -78
  1452. package/src/components/run-step-timeline/run-step-timeline.types.ts +190 -3
  1453. package/src/components/schema-form/README.md +9 -9
  1454. package/src/components/schema-form/index.ts +0 -1
  1455. package/src/components/schema-form/schema-form-async.fixture.ts +101 -0
  1456. package/src/components/schema-form/schema-form-body.svelte +646 -0
  1457. package/src/components/schema-form/schema-form-model.ts +4 -44
  1458. package/src/components/schema-form/schema-form-validation.ts +83 -46
  1459. package/src/components/schema-form/schema-form.css +12 -74
  1460. package/src/components/schema-form/schema-form.examples.json +0 -6
  1461. package/src/components/schema-form/schema-form.svelte +30 -598
  1462. package/src/components/schema-form/schema-form.types.ts +16 -12
  1463. package/src/components/scroll-area/README.md +1 -1
  1464. package/src/components/scroll-area/scroll-area.examples.json +3 -3
  1465. package/src/components/scroll-area/scroll-area.svelte +5 -5
  1466. package/src/components/scroll-area/scroll-area.types.ts +1 -1
  1467. package/src/components/secret-value-field/secret-value-field.svelte +10 -6
  1468. package/src/components/segmented-control/README.md +1 -0
  1469. package/src/components/segmented-control/segmented-control.css +22 -1
  1470. package/src/components/segmented-control/segmented-control.examples.json +2 -2
  1471. package/src/components/segmented-control/segmented-control.svelte +54 -1
  1472. package/src/components/segmented-control/segmented-control.types.ts +2 -0
  1473. package/src/components/select/select.css +9 -2
  1474. package/src/components/select/select.svelte +6 -1
  1475. package/src/components/selection-popover/selection-popover.examples.json +1 -1
  1476. package/src/components/share-card/share-card.css +15 -4
  1477. package/src/components/share-card/share-card.svelte +2 -4
  1478. package/src/components/sheet/sheet.svelte +30 -145
  1479. package/src/components/shortcut-hint/shortcut-hint.svelte +1 -1
  1480. package/src/components/side-navigation/side-navigation.examples.json +1 -1
  1481. package/src/components/sidebar/README.md +6 -2
  1482. package/src/components/sidebar/sidebar.examples.json +1 -1
  1483. package/src/components/sidebar/sidebar.svelte +4 -4
  1484. package/src/components/sidebar/sidebar.types.ts +1 -1
  1485. package/src/components/slider/slider.css +14 -9
  1486. package/src/components/slider/slider.svelte +33 -2
  1487. package/src/components/sortable-list/README.md +18 -1
  1488. package/src/components/sortable-list/sortable-list.css +1 -1
  1489. package/src/components/sortable-list/sortable-list.examples.json +13 -0
  1490. package/src/components/sortable-list/sortable-list.types.ts +4 -4
  1491. package/src/components/spectrogram/spectrogram.examples.json +1 -0
  1492. package/src/components/spectrogram/spectrogram.svelte +7 -19
  1493. package/src/components/spectrum-chart/spectrum-chart.svelte +8 -20
  1494. package/src/components/speed-dial/speed-dial.css +3 -3
  1495. package/src/components/speed-dial/speed-dial.examples.json +1 -1
  1496. package/src/components/speed-dial/speed-dial.svelte +2 -2
  1497. package/src/components/speed-dial-action/speed-dial-action.svelte +1 -1
  1498. package/src/components/stacked-list-item/stacked-list-item.examples.json +1 -1
  1499. package/src/components/stat/README.md +1 -1
  1500. package/src/components/stat/stat.svelte +7 -2
  1501. package/src/components/stat/stat.types.ts +2 -2
  1502. package/src/components/stat-group/stat-group.css +1 -1
  1503. package/src/components/status-dot/README.md +9 -7
  1504. package/src/components/status-dot/index.ts +6 -1
  1505. package/src/components/status-dot/status-dot.css +45 -1
  1506. package/src/components/status-dot/status-dot.examples.json +1 -1
  1507. package/src/components/status-dot/status-dot.svelte +57 -8
  1508. package/src/components/status-dot/status-dot.types.ts +17 -6
  1509. package/src/components/steps/steps.css +3 -3
  1510. package/src/components/table/table.css +10 -0
  1511. package/src/components/table/table.examples.json +1 -1
  1512. package/src/components/table/table.svelte +2 -2
  1513. package/src/components/table/table.types.ts +3 -3
  1514. package/src/components/table-header/README.md +2 -2
  1515. package/src/components/table-header/table-header.svelte +5 -5
  1516. package/src/components/table-header/table-header.types.ts +2 -2
  1517. package/src/components/table-header-cell/table-header-cell.svelte +13 -2
  1518. package/src/components/table-row/README.md +2 -2
  1519. package/src/components/table-row/table-row.svelte +6 -6
  1520. package/src/components/table-row/table-row.types.ts +6 -6
  1521. package/src/components/tabs/README.md +1 -0
  1522. package/src/components/tabs/tabs.svelte +11 -3
  1523. package/src/components/tabs/tabs.types.ts +2 -0
  1524. package/src/components/tag-input/index.ts +4 -1
  1525. package/src/components/textarea/textarea.css +16 -1
  1526. package/src/components/textarea/textarea.svelte +6 -1
  1527. package/src/components/time-field/README.md +60 -0
  1528. package/src/components/time-field/index.ts +6 -0
  1529. package/src/components/time-field/time-field.css +60 -0
  1530. package/src/components/time-field/time-field.examples.json +13 -0
  1531. package/src/components/time-field/time-field.svelte +277 -0
  1532. package/src/components/time-field/time-field.types.ts +70 -0
  1533. package/src/components/toggle/README.md +12 -11
  1534. package/src/components/toggle/toggle.svelte +19 -6
  1535. package/src/components/toggle/toggle.types.ts +2 -0
  1536. package/src/components/tooltip/tooltip.svelte +39 -14
  1537. package/src/components/transfer-list/README.md +1 -1
  1538. package/src/components/transfer-list/transfer-list.css +22 -0
  1539. package/src/components/transfer-list/transfer-list.svelte +44 -10
  1540. package/src/components/transfer-list/transfer-list.types.ts +5 -2
  1541. package/src/components/tree/README.md +2 -2
  1542. package/src/components/tree/tree.css +69 -0
  1543. package/src/components/tree/tree.examples.json +1 -1
  1544. package/src/components/tree/tree.svelte +71 -48
  1545. package/src/components/tree/tree.types.ts +2 -2
  1546. package/src/components/tree-item/README.md +4 -4
  1547. package/src/components/tree-item/tree-item.svelte +42 -12
  1548. package/src/components/tree-item/tree-item.types.ts +4 -4
  1549. package/src/components/virtual-list/virtual-list.svelte +5 -5
  1550. package/src/components/waveform/waveform.svelte +7 -19
  1551. package/src/index.ts +45 -20
  1552. package/src/styles/components/_field-label.css +20 -0
  1553. package/src/styles/components/_input-frame.css +2 -1
  1554. package/src/styles/components.css +3 -2
  1555. package/src/styles/index.css +1 -0
  1556. package/src/styles/tokens-base.css +3 -0
  1557. package/src/utilities/attachments.ts +15 -12
  1558. package/src/utilities/change-tracker.svelte.ts +1 -21
  1559. package/src/utilities/change-tracker.types.ts +21 -0
  1560. package/src/utilities/document-order.ts +8 -3
  1561. package/src/utilities/sortable-controller.svelte.ts +5 -47
  1562. package/src/utilities/sortable-controller.types.ts +49 -0
  1563. package/src/utilities/typeahead.ts +63 -0
  1564. package/src/utilities/use-announcer.svelte.ts +1 -26
  1565. package/src/utilities/use-announcer.types.ts +26 -0
  1566. package/src/utilities/use-history.svelte.ts +6 -56
  1567. package/src/utilities/use-history.types.ts +56 -0
  1568. package/src/utilities/use-intersection.svelte.ts +6 -15
  1569. package/src/utilities/use-intersection.types.ts +16 -0
  1570. package/src/utilities/use-mutation-observer.svelte.ts +6 -23
  1571. package/src/utilities/use-mutation-observer.types.ts +24 -0
  1572. package/src/utilities/use-reduced-motion.svelte.ts +1 -4
  1573. package/src/utilities/use-reduced-motion.types.ts +4 -0
  1574. package/src/utilities/use-resize-observer.svelte.ts +6 -11
  1575. package/src/utilities/use-resize-observer.types.ts +12 -0
  1576. package/src/utilities/value-change.ts +11 -0
  1577. package/dist/components/connection-indicator/connection-indicator.css +0 -63
  1578. package/dist/components/connection-indicator/connection-indicator.svelte.d.ts +0 -18
  1579. package/dist/components/connection-indicator/connection-indicator.types.d.ts +0 -14
  1580. package/dist/components/connection-indicator/index.d.ts +0 -5
  1581. package/dist/components/connection-indicator/index.js +0 -75
  1582. package/dist/components/experimental/connection-indicator/index.d.ts +0 -2
  1583. package/dist/components/review-editor/review-editor-types.d.ts +0 -77
  1584. package/dist/components/subscription-badge/index.d.ts +0 -5
  1585. package/dist/components/subscription-badge/index.js +0 -353
  1586. package/dist/components/subscription-badge/subscription-badge.css +0 -18
  1587. package/dist/components/subscription-badge/subscription-badge.schema.js +0 -47
  1588. package/dist/components/subscription-badge/subscription-badge.svelte.d.ts +0 -19
  1589. package/dist/components/subscription-badge/subscription-badge.types.d.ts +0 -28
  1590. package/dist/server/components/access-gate/index.css +0 -130
  1591. package/dist/server/components/accordion/index.css +0 -125
  1592. package/dist/server/components/accordion-item/index.css +0 -110
  1593. package/dist/server/components/alert/index.css +0 -91
  1594. package/dist/server/components/alert-dialog/index.css +0 -14
  1595. package/dist/server/components/area-chart/index.css +0 -167
  1596. package/dist/server/components/aspect-ratio/index.css +0 -19
  1597. package/dist/server/components/autocomplete/index.css +0 -89
  1598. package/dist/server/components/avatar/index.css +0 -74
  1599. package/dist/server/components/avatar-group/index.css +0 -98
  1600. package/dist/server/components/backdrop/index.css +0 -26
  1601. package/dist/server/components/badge/index.css +0 -77
  1602. package/dist/server/components/banner/index.css +0 -102
  1603. package/dist/server/components/bar-chart/index.css +0 -161
  1604. package/dist/server/components/breadcrumbs/index.css +0 -90
  1605. package/dist/server/components/button/index.css +0 -356
  1606. package/dist/server/components/button-group/index.css +0 -109
  1607. package/dist/server/components/callout/index.css +0 -84
  1608. package/dist/server/components/capability-gate/index.css +0 -124
  1609. package/dist/server/components/card/index.css +0 -79
  1610. package/dist/server/components/chat/index.css +0 -61
  1611. package/dist/server/components/chat-conversation-header/index.css +0 -309
  1612. package/dist/server/components/chat-conversation-list/index.css +0 -115
  1613. package/dist/server/components/checkbox/index.css +0 -152
  1614. package/dist/server/components/checkbox-group/index.css +0 -84
  1615. package/dist/server/components/chip/index.css +0 -199
  1616. package/dist/server/components/choice-grid/index.css +0 -103
  1617. package/dist/server/components/choice-grid-item/index.css +0 -86
  1618. package/dist/server/components/code-block/index.css +0 -128
  1619. package/dist/server/components/collapsible/index.css +0 -88
  1620. package/dist/server/components/color-field/index.css +0 -49
  1621. package/dist/server/components/color-picker/index.css +0 -134
  1622. package/dist/server/components/color-swatch-picker/index.css +0 -113
  1623. package/dist/server/components/combobox/index.css +0 -180
  1624. package/dist/server/components/command-item/index.css +0 -89
  1625. package/dist/server/components/command-menu/index.css +0 -130
  1626. package/dist/server/components/command-palette/index.css +0 -258
  1627. package/dist/server/components/confirm-dialog/index.css +0 -10
  1628. package/dist/server/components/connection-indicator/connection-indicator.schema.js +0 -31
  1629. package/dist/server/components/connection-indicator/connection-indicator.variables.js +0 -12
  1630. package/dist/server/components/connection-indicator/index.css +0 -60
  1631. package/dist/server/components/connection-indicator/index.js +0 -42
  1632. package/dist/server/components/container/index.css +0 -36
  1633. package/dist/server/components/context-menu/index.css +0 -268
  1634. package/dist/server/components/copy-button/index.css +0 -46
  1635. package/dist/server/components/data-grid/index.css +0 -245
  1636. package/dist/server/components/data-list/index.css +0 -20
  1637. package/dist/server/components/data-table/index.css +0 -215
  1638. package/dist/server/components/date-range-field/index.css +0 -178
  1639. package/dist/server/components/description-list/index.css +0 -83
  1640. package/dist/server/components/diff-statistics/index.css +0 -81
  1641. package/dist/server/components/divider/index.css +0 -45
  1642. package/dist/server/components/drawer/index.css +0 -191
  1643. package/dist/server/components/dropdown/index.css +0 -259
  1644. package/dist/server/components/empty-state/index.css +0 -43
  1645. package/dist/server/components/event-stream-viewer/index.css +0 -414
  1646. package/dist/server/components/experimental/connection-indicator/index.js +0 -23
  1647. package/dist/server/components/faceted-filter-bar/index.css +0 -108
  1648. package/dist/server/components/feed/index.css +0 -74
  1649. package/dist/server/components/file-upload/index.css +0 -183
  1650. package/dist/server/components/floating-action-button/index.css +0 -149
  1651. package/dist/server/components/form-field/index.css +0 -50
  1652. package/dist/server/components/form-section/index.css +0 -54
  1653. package/dist/server/components/grid/index.css +0 -26
  1654. package/dist/server/components/grid-list/index.css +0 -96
  1655. package/dist/server/components/hover-card/index.css +0 -53
  1656. package/dist/server/components/image/index.css +0 -37
  1657. package/dist/server/components/input/index.css +0 -213
  1658. package/dist/server/components/invocation-rule-builder/index.css +0 -262
  1659. package/dist/server/components/json-schema-editor/index.css +0 -331
  1660. package/dist/server/components/json-viewer/index.css +0 -117
  1661. package/dist/server/components/kanban-board/index.css +0 -194
  1662. package/dist/server/components/kbd/index.css +0 -44
  1663. package/dist/server/components/keyboard-shortcuts/index.css +0 -86
  1664. package/dist/server/components/label/index.css +0 -29
  1665. package/dist/server/components/line-chart/index.css +0 -168
  1666. package/dist/server/components/link/index.css +0 -70
  1667. package/dist/server/components/load-more/index.css +0 -74
  1668. package/dist/server/components/masonry/index.css +0 -14
  1669. package/dist/server/components/matrix-chart/index.css +0 -56
  1670. package/dist/server/components/media-controls/index.css +0 -109
  1671. package/dist/server/components/menu-bar/index.css +0 -364
  1672. package/dist/server/components/message/index.css +0 -54
  1673. package/dist/server/components/modal/index.css +0 -143
  1674. package/dist/server/components/navigation-bar/index.css +0 -157
  1675. package/dist/server/components/navigation-item/index.css +0 -88
  1676. package/dist/server/components/number-input/index.css +0 -111
  1677. package/dist/server/components/pagination/index.css +0 -110
  1678. package/dist/server/components/payload-inspector/index.css +0 -144
  1679. package/dist/server/components/permission-matrix/index.css +0 -161
  1680. package/dist/server/components/phone-input/index.css +0 -108
  1681. package/dist/server/components/pin-input/index.css +0 -91
  1682. package/dist/server/components/popover/index.css +0 -124
  1683. package/dist/server/components/pricing-card/index.css +0 -131
  1684. package/dist/server/components/progress/index.css +0 -136
  1685. package/dist/server/components/radio-group/index.css +0 -243
  1686. package/dist/server/components/rating/index.css +0 -117
  1687. package/dist/server/components/resizable-panels/index.css +0 -101
  1688. package/dist/server/components/review-editor/index.css +0 -259
  1689. package/dist/server/components/run-step-timeline/index.css +0 -161
  1690. package/dist/server/components/schema-form/index.css +0 -165
  1691. package/dist/server/components/scroll-area/index.css +0 -74
  1692. package/dist/server/components/search-field/index.css +0 -162
  1693. package/dist/server/components/secret-value-field/index.css +0 -124
  1694. package/dist/server/components/section-heading/index.css +0 -72
  1695. package/dist/server/components/segmented-control/index.css +0 -223
  1696. package/dist/server/components/select/index.css +0 -143
  1697. package/dist/server/components/selection-popover/index.css +0 -205
  1698. package/dist/server/components/share-card/index.css +0 -113
  1699. package/dist/server/components/sheet/index.css +0 -176
  1700. package/dist/server/components/shortcut-hint/index.css +0 -28
  1701. package/dist/server/components/side-navigation/index.css +0 -220
  1702. package/dist/server/components/side-navigation-group/index.css +0 -109
  1703. package/dist/server/components/sidebar/index.css +0 -86
  1704. package/dist/server/components/skeleton/index.css +0 -31
  1705. package/dist/server/components/slider/index.css +0 -112
  1706. package/dist/server/components/sortable-list/index.css +0 -117
  1707. package/dist/server/components/spectrogram/index.css +0 -46
  1708. package/dist/server/components/spectrum-chart/index.css +0 -51
  1709. package/dist/server/components/speed-dial/index.css +0 -111
  1710. package/dist/server/components/spinner/index.css +0 -57
  1711. package/dist/server/components/stacked-list-item/index.css +0 -114
  1712. package/dist/server/components/stat/index.css +0 -70
  1713. package/dist/server/components/stat-group/index.css +0 -64
  1714. package/dist/server/components/status-dot/index.css +0 -70
  1715. package/dist/server/components/steps/index.css +0 -287
  1716. package/dist/server/components/subscription-badge/index.css +0 -2
  1717. package/dist/server/components/subscription-badge/index.js +0 -308
  1718. package/dist/server/components/subscription-badge/subscription-badge.schema.js +0 -28
  1719. package/dist/server/components/subscription-badge/subscription-badge.variables.js +0 -12
  1720. package/dist/server/components/surface/index.css +0 -25
  1721. package/dist/server/components/tab/index.css +0 -2
  1722. package/dist/server/components/tab-list/index.css +0 -2
  1723. package/dist/server/components/tab-panel/index.css +0 -2
  1724. package/dist/server/components/table/index.css +0 -179
  1725. package/dist/server/components/table-body/index.css +0 -2
  1726. package/dist/server/components/table-cell/index.css +0 -2
  1727. package/dist/server/components/table-header/index.css +0 -2
  1728. package/dist/server/components/table-header-cell/index.css +0 -2
  1729. package/dist/server/components/table-row/index.css +0 -2
  1730. package/dist/server/components/tabs/index.css +0 -152
  1731. package/dist/server/components/tag-input/index.css +0 -170
  1732. package/dist/server/components/textarea/index.css +0 -103
  1733. package/dist/server/components/timeline/index.css +0 -143
  1734. package/dist/server/components/toast-region/index.css +0 -227
  1735. package/dist/server/components/toggle/index.css +0 -109
  1736. package/dist/server/components/toolbar/index.css +0 -63
  1737. package/dist/server/components/tooltip/index.css +0 -50
  1738. package/dist/server/components/transfer-list/index.css +0 -116
  1739. package/dist/server/components/tree/index.css +0 -273
  1740. package/dist/server/components/typography/index.css +0 -115
  1741. package/dist/server/components/virtual-list/index.css +0 -30
  1742. package/dist/server/components/waveform/index.css +0 -55
  1743. package/dist/server/index.css +0 -15032
  1744. package/src/components/connection-indicator/README.md +0 -41
  1745. package/src/components/connection-indicator/connection-indicator.css +0 -63
  1746. package/src/components/connection-indicator/connection-indicator.svelte +0 -44
  1747. package/src/components/connection-indicator/connection-indicator.types.ts +0 -18
  1748. package/src/components/connection-indicator/index.ts +0 -6
  1749. package/src/components/experimental/connection-indicator/index.ts +0 -20
  1750. package/src/components/review-editor/review-editor-types.ts +0 -92
  1751. package/src/components/subscription-badge/README.md +0 -50
  1752. package/src/components/subscription-badge/index.ts +0 -6
  1753. package/src/components/subscription-badge/subscription-badge.css +0 -18
  1754. package/src/components/subscription-badge/subscription-badge.examples.json +0 -19
  1755. package/src/components/subscription-badge/subscription-badge.svelte +0 -69
  1756. package/src/components/subscription-badge/subscription-badge.types.ts +0 -37
  1757. /package/dist/components/{connection-indicator/connection-indicator.schema.d.ts → approval-card/approval-card.schema.d.ts} +0 -0
  1758. /package/dist/components/{connection-indicator/connection-indicator.variables.d.ts → approval-card/approval-card.variables.d.ts} +0 -0
  1759. /package/dist/components/{subscription-badge/subscription-badge.schema.d.ts → locale-provider/locale-provider.schema.d.ts} +0 -0
  1760. /package/dist/components/{subscription-badge/subscription-badge.variables.d.ts → locale-provider/locale-provider.variables.d.ts} +0 -0
@@ -1,3357 +1,20 @@
1
- import { createRequire } from "node:module";
2
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
3
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
4
-
5
- // src/components/_tree-expand-all/tree-expand-all.svelte
6
- import * as $ from "svelte/internal/server";
7
-
8
- // src/_internal/tree-context.ts
9
- import { createContext } from "svelte";
10
-
11
- // src/_internal/optional-context.ts
12
- function optionalContext(getStrict) {
13
- return () => {
14
- try {
15
- return getStrict();
16
- } catch {
17
- return;
18
- }
19
- };
20
- }
21
-
22
- // src/_internal/tree-context.ts
23
- var [getTreeContextStrict, setTreeContextRaw] = createContext();
24
- var getTreeContext = getTreeContextStrict;
25
- var [getTreeItemParentContextStrict, setTreeItemParentContextRaw] = createContext();
26
- var tryGetTreeItemParentContext = optionalContext(getTreeItemParentContextStrict);
27
-
28
- // src/utilities/class-names.ts
29
- function classNames(...parts) {
30
- return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
31
- }
32
-
33
- // src/components/_tree-expand-all/tree-expand-all.svelte
34
- function Tree_expand_all($$renderer, $$props) {
35
- $$renderer.component(($$renderer2) => {
36
- let {
37
- label = "Tree expansion",
38
- expandAllLabel = "Expand all",
39
- expandOneLevelLabel = "Expand one level",
40
- collapseAllLabel = "Collapse all",
41
- safetyThreshold = 500,
42
- class: className
43
- } = $$props;
44
- const context = getTreeContext();
45
- const expandDisabled = $.derived(() => context.expandableBranchCount === 0);
46
- const collapseDisabled = $.derived(() => !context.hasExpandedItems);
47
- const showSafetyValve = $.derived(() => context.expandableBranchCount > safetyThreshold);
48
- function expandAll() {
49
- if (!expandDisabled())
50
- context.expandAll();
51
- }
52
- function expandOneLevel() {
53
- if (!expandDisabled())
54
- context.expandOneLevel();
55
- }
56
- function collapseAll() {
57
- if (!collapseDisabled())
58
- context.collapseAll();
59
- }
60
- $$renderer2.push(`<div${$.attr_class($.clsx(classNames("cinder-tree-expand-all", className)))}><span class="cinder-tree-expand-all__label">${$.escape(label)}</span> `);
61
- if (showSafetyValve()) {
62
- $$renderer2.push("<!--[0-->");
63
- $$renderer2.push(`<button type="button" class="cinder-tree-expand-all__button"${$.attr("aria-label", `${expandOneLevelLabel}: ${label}`)}${$.attr("disabled", expandDisabled(), true)}>${$.escape(expandOneLevelLabel)}</button>`);
64
- } else {
65
- $$renderer2.push("<!--[-1-->");
66
- }
67
- $$renderer2.push(`<!--]--> <button type="button" class="cinder-tree-expand-all__button"${$.attr("aria-label", `${expandAllLabel}: ${label}`)}${$.attr("disabled", expandDisabled(), true)}>${$.escape(expandAllLabel)}</button> <button type="button" class="cinder-tree-expand-all__button"${$.attr("aria-label", `${collapseAllLabel}: ${label}`)}${$.attr("disabled", collapseDisabled(), true)}>${$.escape(collapseAllLabel)}</button></div>`);
68
- });
69
- }
70
-
71
- // src/components/_tree-select-all/tree-select-all.svelte
72
- import * as $2 from "svelte/internal/server";
73
- function Tree_select_all($$renderer, $$props) {
74
- $$renderer.component(($$renderer2) => {
75
- let {
76
- parentId = null,
77
- includeDescendants = false,
78
- label = "Tree selection",
79
- selectAllLabel = "Select all",
80
- selectNoneLabel = "Select none",
81
- class: className
82
- } = $$props;
83
- const context = getTreeContext();
84
- const disabled = $2.derived(() => !context.multiselectable || !context.hasSelectableSelectionScope(parentId, includeDescendants));
85
- function selectAll() {
86
- if (!disabled())
87
- context.selectSelectionScope(parentId, true, includeDescendants);
88
- }
89
- function selectNone() {
90
- if (!disabled())
91
- context.selectSelectionScope(parentId, false, includeDescendants);
92
- }
93
- $$renderer2.push(`<div${$2.attr_class($2.clsx(classNames("cinder-tree-select-all", className)))}><span class="cinder-tree-select-all__label">${$2.escape(label)}</span> <button type="button" class="cinder-tree-select-all__button"${$2.attr("aria-label", `${selectAllLabel}: ${label}`)}${$2.attr("disabled", disabled(), true)}>${$2.escape(selectAllLabel)}</button> <button type="button" class="cinder-tree-select-all__button"${$2.attr("aria-label", `${selectNoneLabel}: ${label}`)}${$2.attr("disabled", disabled(), true)}>${$2.escape(selectNoneLabel)}</button></div>`);
94
- });
95
- }
96
-
97
- // src/components/tree-item/tree-item.svelte
98
- import * as $4 from "svelte/internal/server";
99
- import { tick, untrack } from "svelte";
100
-
101
- // src/components/_visually-hidden-live-region.svelte
102
- import * as $3 from "svelte/internal/server";
103
- function _visually_hidden_live_region($$renderer, $$props) {
104
- $$renderer.component(($$renderer2) => {
105
- let {
106
- message = "",
107
- announcementSequence = 0,
108
- priority = "polite",
109
- class: className
110
- } = $$props;
111
- let rendered = "";
112
- let setTimeoutId = null;
113
- let version = 0;
114
- let isDestroyed = false;
115
- $$renderer2.push(`<div${$3.attr("role", priority === "assertive" ? "alert" : "status")}${$3.attr("aria-live", priority === "assertive" ? "assertive" : "polite")} aria-atomic="true"${$3.attr_class($3.clsx(classNames("cinder-sr-only", className)))}>${$3.escape(rendered)}</div>`);
116
- });
117
- }
118
-
119
- // src/components/tree-item/tree-item.svelte
120
- function Tree_item($$renderer, $$props) {
121
- $$renderer.component(($$renderer2) => {
122
- const treeItemElementId = $4.props_id($$renderer2);
123
- let {
124
- id,
125
- label,
126
- disabled = false,
127
- draggable = false,
128
- branch = false,
129
- loadChildren,
130
- onLoadError,
131
- onRename,
132
- selectionScopeIds,
133
- row,
134
- children,
135
- class: className
136
- } = $$props;
137
- const context = getTreeContext();
138
- const parentContext = tryGetTreeItemParentContext();
139
- const parentId = parentContext?.parentId ?? null;
140
- const level = parentContext?.level ?? 1;
141
- setTreeItemParentContextRaw({
142
- get parentId() {
143
- return id;
144
- },
145
- get level() {
146
- return level + 1;
147
- }
148
- });
149
- const isBranch = $4.derived(() => branch || loadChildren != null);
150
- let busy = false;
151
- let loaded = false;
152
- let activeController = null;
153
- let editing = false;
154
- let editValue = "";
155
- let renamePending = false;
156
- let renameError = "";
157
- let renameAnnouncement = "";
158
- let renameAnnouncementSequence = 0;
159
- let probedFilterValue = null;
160
- let outerElement = undefined;
161
- let renameInputElement = undefined;
162
- let dragHandleElement = undefined;
163
- let renameOwningTreeElement;
164
- const renameMessageId = $4.derived(() => `${treeItemElementId}-rename-message`);
165
- const isExpanded = $4.derived(() => context.expandedIds.includes(id));
166
- const isSelected = $4.derived(() => context.selectedIds.includes(id));
167
- const isFocused = $4.derived(() => context.focusedId === id);
168
- const isFiltering = $4.derived(() => context.filtering);
169
- const isVisible = $4.derived(() => !isFiltering() || context.isVisible(id) || !context.hasRegisteredItems && (isBranch() || context.matchesFilter(label, id)));
170
- const hasVisibleDescendant = $4.derived(() => context.hasVisibleDescendant(id));
171
- const renderedExpanded = $4.derived(() => isExpanded() || isFiltering() && hasVisibleDescendant());
172
- const shouldProbeFilterChildren = $4.derived(() => isBranch() && isFiltering() && !isExpanded() && probedFilterValue !== context.filterValue);
173
- const shouldRenderChildren = $4.derived(() => isBranch() && (isExpanded() || hasVisibleDescendant() || shouldProbeFilterChildren()));
174
- const checkboxSelectionActive = $4.derived(() => context.checkboxSelectionActive());
175
- const selectionState = $4.derived(() => context.selectionStateFor(id));
176
- const labelSegments = $4.derived(() => splitLabelForHighlight(label, context.filterValue));
177
- const canRename = $4.derived(() => !disabled && onRename != null);
178
- const editingLabel = $4.derived(() => `Editing: ${label}`);
179
- const dragController = $4.derived(() => context.dragController);
180
- const canDrag = $4.derived(() => draggable && !disabled && dragController() != null);
181
- const isDraggingItem = $4.derived(() => dragController()?.isDragging(id) ?? false);
182
- const isDropBefore = $4.derived(() => dragController()?.isDropTarget(id, "before") ?? false);
183
- const isDropAfter = $4.derived(() => dragController()?.isDropTarget(id, "after") ?? false);
184
- const isDropInto = $4.derived(() => dragController()?.isDropTarget(id, "child") ?? false);
185
- const dragHandleLabel = $4.derived(() => `Reorder ${label}`);
186
- const ariaChecked = $4.derived(() => {
187
- if (!checkboxSelectionActive())
188
- return;
189
- if (selectionState().indeterminate)
190
- return "mixed";
191
- return selectionState().checked ? "true" : "false";
192
- });
193
- let checkboxElement = undefined;
194
- function syncCheckboxToSelectionState() {
195
- if (!checkboxElement)
196
- return;
197
- checkboxElement.checked = selectionState().checked;
198
- checkboxElement.indeterminate = selectionState().indeterminate && !selectionState().checked;
199
- }
200
- const registerWithTree = (node) => {
201
- return untrack(() => {
202
- const unregister = context.register({
203
- id,
204
- parentId,
205
- level,
206
- node,
207
- get disabled() {
208
- return disabled;
209
- },
210
- selectionScopeIds: () => selectionScopeIds,
211
- isBranch: () => isBranch(),
212
- bulkExpandable: () => loadChildren == null,
213
- label: () => label,
214
- focus: () => outerElement?.focus()
215
- });
216
- return () => {
217
- if (activeController) {
218
- activeController.abort();
219
- activeController = null;
220
- }
221
- unregister();
222
- };
223
- });
224
- };
225
- async function triggerLoad() {
226
- if (!loadChildren || loaded || busy)
227
- return;
228
- activeController?.abort();
229
- const controller = new AbortController;
230
- activeController = controller;
231
- busy = true;
232
- try {
233
- await loadChildren({ id, signal: controller.signal });
234
- if (!controller.signal.aborted) {
235
- loaded = true;
236
- busy = false;
237
- }
238
- } catch (error) {
239
- if (controller.signal.aborted || error instanceof DOMException && error.name === "AbortError") {
240
- if (activeController === controller)
241
- busy = false;
242
- return;
243
- }
244
- busy = false;
245
- loaded = false;
246
- context.setExpanded(id, false);
247
- if (onLoadError) {
248
- onLoadError(error, id);
249
- } else {
250
- console.error("[cinder-tree] loadChildren failed for item", id, error);
251
- }
252
- }
253
- }
254
- const INTERACTIVE_SELECTOR = 'button, a, input, select, textarea, [role="button"], [role="menuitem"], [role="checkbox"], [contenteditable]';
255
- function isInteractiveDescendant(target) {
256
- if (!(target instanceof Element))
257
- return false;
258
- let node = target;
259
- while (node && node !== outerElement) {
260
- if (node.matches(INTERACTIVE_SELECTOR))
261
- return true;
262
- node = node.parentElement;
263
- }
264
- return false;
265
- }
266
- function isFromNestedItem(event) {
267
- const target = event.target;
268
- if (!(target instanceof Element))
269
- return false;
270
- const closestTreeItem = target.closest('[role="treeitem"]');
271
- return closestTreeItem !== outerElement;
272
- }
273
- const focusRenameInput = (node) => {
274
- renameInputElement = node;
275
- queueMicrotask(() => {
276
- if (!editing || renameInputElement !== node)
277
- return;
278
- node.focus();
279
- node.select();
280
- });
281
- return () => {
282
- if (renameInputElement === node)
283
- renameInputElement = undefined;
284
- };
285
- };
286
- function announceRename(message) {
287
- renameAnnouncement = message;
288
- renameAnnouncementSequence += 1;
289
- }
290
- function renameFailureMessage(error) {
291
- if (error instanceof Error && error.message)
292
- return error.message;
293
- if (typeof error === "string" && error)
294
- return error;
295
- return "Unknown error";
296
- }
297
- function focusCurrentTreeItem() {
298
- if (outerElement?.isConnected) {
299
- outerElement.focus();
300
- renameOwningTreeElement = undefined;
301
- return;
302
- }
303
- if (typeof document === "undefined")
304
- return;
305
- const root = renameOwningTreeElement?.isConnected === true ? renameOwningTreeElement : document;
306
- const current = [...root.querySelectorAll("[data-cinder-tree-item-id]")].find((element) => element.dataset["cinderTreeItemId"] === id);
307
- current?.focus();
308
- renameOwningTreeElement = undefined;
309
- }
310
- function beginEdit() {
311
- if (!canRename() || editing)
312
- return;
313
- editValue = label;
314
- renameError = "";
315
- renamePending = false;
316
- renameOwningTreeElement = outerElement?.closest('[role="tree"]') ?? undefined;
317
- editing = true;
318
- announceRename(`Editing ${label}. Press Enter to confirm, Escape to cancel.`);
319
- }
320
- function finishEdit(afterFocus) {
321
- editing = false;
322
- renameError = "";
323
- renamePending = false;
324
- queueMicrotask(() => {
325
- focusCurrentTreeItem();
326
- afterFocus?.();
327
- });
328
- }
329
- function cancelEdit() {
330
- editValue = label;
331
- announceRename("Rename cancelled.");
332
- finishEdit();
333
- }
334
- async function commitEdit(afterFocus) {
335
- if (!editing || renamePending)
336
- return false;
337
- if (editValue.trim().length === 0) {
338
- renameError = "Label is required.";
339
- announceRename(renameError);
340
- queueMicrotask(() => renameInputElement?.focus());
341
- return false;
342
- }
343
- if (!onRename) {
344
- finishEdit(afterFocus);
345
- return true;
346
- }
347
- renamePending = true;
348
- renameError = "";
349
- try {
350
- await onRename(id, editValue);
351
- announceRename(`${editValue}, renamed.`);
352
- finishEdit(afterFocus);
353
- return true;
354
- } catch (error) {
355
- const message = `Rename failed: ${renameFailureMessage(error)}.`;
356
- renamePending = false;
357
- renameError = message;
358
- announceRename(message);
359
- queueMicrotask(() => renameInputElement?.focus());
360
- return false;
361
- }
362
- }
363
- async function commitEditAndMove(direction) {
364
- await commitEdit(() => context.focusVisibleDelta(id, direction));
365
- }
366
- function handleRenameInputKeydown(event) {
367
- event.stopPropagation();
368
- if (event.key === "Enter") {
369
- event.preventDefault();
370
- commitEdit();
371
- return;
372
- }
373
- if (event.key === "Escape") {
374
- event.preventDefault();
375
- cancelEdit();
376
- return;
377
- }
378
- if (event.key === "Tab") {
379
- const direction = event.shiftKey ? -1 : 1;
380
- if (context.canFocusVisibleDelta(id, direction)) {
381
- event.preventDefault();
382
- commitEditAndMove(direction);
383
- } else {
384
- commitEdit();
385
- }
386
- }
387
- }
388
- function handleRenameInputBlur() {
389
- commitEdit();
390
- }
391
- let dragKeyboardReturnTarget;
392
- function restoreDragKeyboardFocus() {
393
- const target = dragKeyboardReturnTarget ?? dragHandleElement ?? outerElement;
394
- queueMicrotask(() => target?.focus());
395
- }
396
- function canLiftWithKeyboard(event) {
397
- const fromDragHandle = event.currentTarget === dragHandleElement;
398
- const treeItemShortcut = event.key === " " && event.ctrlKey && event.shiftKey && !event.altKey && !event.metaKey;
399
- return fromDragHandle && (event.key === " " || event.key === "Enter") || treeItemShortcut;
400
- }
401
- function handleDragKeyboard(event) {
402
- const controller = dragController();
403
- if (!canDrag() || !controller)
404
- return false;
405
- if (!controller.dragging && canLiftWithKeyboard(event)) {
406
- event.preventDefault();
407
- event.stopPropagation();
408
- dragKeyboardReturnTarget = event.currentTarget instanceof HTMLElement ? event.currentTarget : undefined;
409
- controller.lift(id, "keyboard");
410
- restoreDragKeyboardFocus();
411
- return true;
412
- }
413
- if (!controller.isDragging(id))
414
- return false;
415
- switch (event.key) {
416
- case "ArrowDown":
417
- event.preventDefault();
418
- event.stopPropagation();
419
- controller.moveBy(1);
420
- return true;
421
- case "ArrowUp":
422
- event.preventDefault();
423
- event.stopPropagation();
424
- controller.moveBy(-1);
425
- return true;
426
- case "ArrowRight":
427
- event.preventDefault();
428
- event.stopPropagation();
429
- controller.moveIntoPreviousBranch();
430
- return true;
431
- case "ArrowLeft":
432
- event.preventDefault();
433
- event.stopPropagation();
434
- controller.moveOut();
435
- return true;
436
- case "Home":
437
- event.preventDefault();
438
- event.stopPropagation();
439
- controller.moveToEdge("first");
440
- return true;
441
- case "End":
442
- event.preventDefault();
443
- event.stopPropagation();
444
- controller.moveToEdge("last");
445
- return true;
446
- case "F2":
447
- event.preventDefault();
448
- event.stopPropagation();
449
- return true;
450
- case "Tab":
451
- event.stopPropagation();
452
- controller.cancel();
453
- return true;
454
- case " ":
455
- case "Enter":
456
- event.preventDefault();
457
- event.stopPropagation();
458
- controller.drop();
459
- restoreDragKeyboardFocus();
460
- return true;
461
- case "Escape":
462
- event.preventDefault();
463
- event.stopPropagation();
464
- controller.cancel();
465
- restoreDragKeyboardFocus();
466
- return true;
467
- default:
468
- return false;
469
- }
470
- }
471
- function handleDragPointerDown(event) {
472
- const controller = dragController();
473
- if (!canDrag() || !controller || event.button !== 0)
474
- return;
475
- event.preventDefault();
476
- event.stopPropagation();
477
- dragHandleElement?.focus();
478
- dragHandleElement?.setPointerCapture(event.pointerId);
479
- controller.lift(id, "pointer");
480
- }
481
- function handleDragClick(event) {
482
- event.stopPropagation();
483
- }
484
- function toggleKeyboardSelection(event) {
485
- if (disabled)
486
- return;
487
- if (checkboxSelectionActive()) {
488
- context.toggleSelectionScope(id);
489
- } else {
490
- context.toggleSelected(id, event);
491
- }
492
- }
493
- function handleKeydown(event) {
494
- if (isFromNestedItem(event))
495
- return;
496
- if (isInteractiveDescendant(event.target))
497
- return;
498
- const key = event.key;
499
- if (handleDragKeyboard(event))
500
- return;
501
- if (key === "F2") {
502
- event.preventDefault();
503
- beginEdit();
504
- return;
505
- }
506
- switch (key) {
507
- case "ArrowDown":
508
- event.preventDefault();
509
- if (event.shiftKey && context.selectionMode === "multiple") {
510
- toggleKeyboardSelection(event);
511
- context.focusVisibleDelta(id, 1);
512
- } else {
513
- context.focusVisibleDelta(id, 1);
514
- }
515
- break;
516
- case "ArrowUp":
517
- event.preventDefault();
518
- if (event.shiftKey && context.selectionMode === "multiple") {
519
- toggleKeyboardSelection(event);
520
- context.focusVisibleDelta(id, -1);
521
- } else {
522
- context.focusVisibleDelta(id, -1);
523
- }
524
- break;
525
- case "ArrowRight":
526
- event.preventDefault();
527
- if (!isBranch())
528
- break;
529
- if (!renderedExpanded()) {
530
- context.setExpanded(id, true);
531
- } else {
532
- context.focusFirstChild(id);
533
- }
534
- break;
535
- case "ArrowLeft":
536
- event.preventDefault();
537
- if (isBranch() && isExpanded()) {
538
- context.setExpanded(id, false);
539
- } else {
540
- context.focusParent(id);
541
- }
542
- break;
543
- case "Home":
544
- event.preventDefault();
545
- context.focusFirstVisible();
546
- break;
547
- case "End":
548
- event.preventDefault();
549
- context.focusLastVisible();
550
- break;
551
- case "Enter":
552
- event.preventDefault();
553
- if (context.selectionMode === "none" && canRename()) {
554
- beginEdit();
555
- break;
556
- }
557
- if (checkboxSelectionActive()) {
558
- if (isBranch()) {
559
- context.setExpanded(id, !isExpanded());
560
- } else if (!disabled) {
561
- context.toggleSelectionScope(id);
562
- }
563
- } else {
564
- if (!disabled)
565
- context.toggleSelected(id, event);
566
- if (isBranch())
567
- context.setExpanded(id, !isExpanded());
568
- }
569
- break;
570
- case " ":
571
- event.preventDefault();
572
- if (!disabled) {
573
- if (checkboxSelectionActive()) {
574
- context.toggleSelectionScope(id);
575
- } else {
576
- context.toggleSelected(id, event);
577
- }
578
- }
579
- break;
580
- case "*":
581
- event.preventDefault();
582
- context.expandSiblings(id);
583
- break;
584
- default:
585
- if (key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
586
- event.preventDefault();
587
- context.handleTypeahead(key, id);
588
- }
589
- break;
590
- }
591
- }
592
- function handleFocus() {
593
- context.notifyFocus(id);
594
- }
595
- function handleClick(event) {
596
- if (isFromNestedItem(event))
597
- return;
598
- if (isInteractiveDescendant(event.target))
599
- return;
600
- outerElement?.focus();
601
- if (event.detail > 1)
602
- return;
603
- if (!disabled && !checkboxSelectionActive())
604
- context.toggleSelected(id, event);
605
- if (isBranch() && !event.shiftKey && !event.metaKey && !event.ctrlKey) {
606
- context.setExpanded(id, !isExpanded());
607
- }
608
- }
609
- function handleLabelDoubleClick(event) {
610
- event.preventDefault();
611
- event.stopPropagation();
612
- beginEdit();
613
- }
614
- function handleCheckboxActivation(event) {
615
- event.preventDefault();
616
- event.stopPropagation();
617
- outerElement?.focus();
618
- if (!disabled)
619
- context.toggleSelectionScope(id);
620
- if (typeof globalThis.requestAnimationFrame === "function") {
621
- globalThis.requestAnimationFrame(syncCheckboxToSelectionState);
622
- }
623
- }
624
- function toggleSelectionFromRow() {
625
- if (!disabled)
626
- context.toggleSelectionScope(id);
627
- }
628
- function splitLabelForHighlight(value, query) {
629
- if (query.length === 0)
630
- return [{ text: value, highlighted: false, start: 0 }];
631
- const matchIndex = value.toLowerCase().indexOf(query.toLowerCase());
632
- if (matchIndex === -1)
633
- return [{ text: value, highlighted: false, start: 0 }];
634
- const matchEnd = matchIndex + query.length;
635
- const segments = [];
636
- if (matchIndex > 0) {
637
- segments.push({
638
- text: value.slice(0, matchIndex),
639
- highlighted: false,
640
- start: 0
641
- });
642
- }
643
- segments.push({
644
- text: value.slice(matchIndex, matchEnd),
645
- highlighted: true,
646
- start: matchIndex
647
- });
648
- if (matchEnd < value.length) {
649
- segments.push({
650
- text: value.slice(matchEnd),
651
- highlighted: false,
652
- start: matchEnd
653
- });
654
- }
655
- return segments;
656
- }
657
- function visibleLabel($$renderer3) {
658
- $$renderer3.push(`<!--[-->`);
659
- const each_array = $4.ensure_array_like(labelSegments());
660
- for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
661
- let segment = each_array[$$index];
662
- if (segment.highlighted) {
663
- $$renderer3.push("<!--[0-->");
664
- $$renderer3.push(`<mark aria-hidden="true" class="cinder-tree-item__highlight">${$4.escape(segment.text)}</mark>`);
665
- } else {
666
- $$renderer3.push("<!--[-1-->");
667
- $$renderer3.push(`${$4.escape(segment.text)}`);
668
- }
669
- $$renderer3.push(`<!--]-->`);
670
- }
671
- $$renderer3.push(`<!--]-->`);
672
- }
673
- $$renderer2.push(`<div role="treeitem"${$4.attr("id", treeItemElementId)}${$4.attr_class($4.clsx(classNames("cinder-tree-item", className)))}${$4.attr("aria-label", editing ? editingLabel() : undefined)}${$4.attr("aria-labelledby", editing ? undefined : `${treeItemElementId}-label`)}${$4.attr("aria-level", level)}${$4.attr("aria-expanded", isBranch() ? renderedExpanded() : undefined)}${$4.attr("aria-selected", context.selectionMode === "none" || checkboxSelectionActive() ? undefined : isSelected())}${$4.attr("aria-checked", ariaChecked())}${$4.attr("aria-busy", busy || undefined)}${$4.attr("aria-disabled", disabled || undefined)}${$4.attr("aria-describedby", canDrag() ? context.dragInstructionsId : undefined)}${$4.attr("tabindex", isFocused() ? 0 : -1)}${$4.attr("data-cinder-expanded", isBranch() && isExpanded() ? "" : undefined)}${$4.attr("data-cinder-selected", isSelected() ? "" : undefined)}${$4.attr("data-cinder-disabled", disabled ? "" : undefined)}${$4.attr("data-cinder-busy", busy ? "" : undefined)}${$4.attr("data-cinder-hidden", !isVisible() ? "" : undefined)}${$4.attr("data-cinder-editing", editing ? "" : undefined)}${$4.attr("data-cinder-tree-item-id", id)}${$4.attr("data-cinder-dragging", isDraggingItem() ? "" : undefined)}${$4.attr("data-cinder-drop-target", isDropBefore() ? "before" : isDropAfter() ? "after" : undefined)}${$4.attr("data-cinder-drop-into", isDropInto() ? "" : undefined)}><span${$4.attr("id", `${treeItemElementId}-label`)} class="cinder-sr-only">${$4.escape(label)}</span> <div class="cinder-tree-item__row">`);
674
- if (canDrag()) {
675
- $$renderer2.push("<!--[0-->");
676
- $$renderer2.push(`<button type="button" class="cinder-tree-item__drag-handle"${$4.attr("aria-label", dragHandleLabel())}${$4.attr("aria-pressed", isDraggingItem())}${$4.attr("aria-describedby", context.dragInstructionsId)} tabindex="-1"><span aria-hidden="true">::</span></button>`);
677
- } else {
678
- $$renderer2.push("<!--[-1-->");
679
- }
680
- $$renderer2.push(`<!--]--> `);
681
- if (row) {
682
- $$renderer2.push("<!--[0-->");
683
- row($$renderer2, {
684
- expanded: isExpanded(),
685
- selected: isSelected(),
686
- busy,
687
- level,
688
- checkboxSelection: checkboxSelectionActive(),
689
- selectionState: selectionState(),
690
- editing,
691
- beginEdit,
692
- toggleSelection: toggleSelectionFromRow
693
- });
694
- $$renderer2.push(`<!---->`);
695
- } else if (editing) {
696
- $$renderer2.push("<!--[1-->");
697
- $$renderer2.push(`<input type="text" class="cinder-tree-item__rename-input"${$4.attr("value", editValue)}${$4.attr("aria-label", editingLabel())}${$4.attr("aria-invalid", renameError ? "true" : undefined)}${$4.attr("aria-describedby", renameError ? renameMessageId() : undefined)}${$4.attr("disabled", renamePending, true)}/>`);
698
- } else if (checkboxSelectionActive()) {
699
- $$renderer2.push("<!--[2-->");
700
- $$renderer2.push(`<input type="checkbox" class="cinder-tree-item__checkbox"${$4.attr("checked", selectionState().checked, true)}${$4.attr("disabled", disabled, true)} tabindex="-1" aria-hidden="true"/> <span aria-hidden="true" class="cinder-tree-item__label cinder-_truncate">`);
701
- visibleLabel($$renderer2);
702
- $$renderer2.push(`<!----></span>`);
703
- } else {
704
- $$renderer2.push("<!--[-1-->");
705
- $$renderer2.push(`<span aria-hidden="true" class="cinder-tree-item__label cinder-_truncate">`);
706
- visibleLabel($$renderer2);
707
- $$renderer2.push(`<!----></span>`);
708
- }
709
- $$renderer2.push(`<!--]--></div> `);
710
- if (renameError) {
711
- $$renderer2.push("<!--[0-->");
712
- $$renderer2.push(`<span${$4.attr("id", renameMessageId())} class="cinder-sr-only">${$4.escape(renameError)}</span>`);
713
- } else {
714
- $$renderer2.push("<!--[-1-->");
715
- }
716
- $$renderer2.push(`<!--]--> `);
717
- if (shouldRenderChildren()) {
718
- $$renderer2.push("<!--[0-->");
719
- $$renderer2.push(`<div role="group"${$4.attr("aria-labelledby", treeItemElementId)} class="cinder-tree-item__children">`);
720
- children?.($$renderer2);
721
- $$renderer2.push(`<!----></div>`);
722
- } else {
723
- $$renderer2.push("<!--[-1-->");
724
- }
725
- $$renderer2.push(`<!--]--> `);
726
- if (onRename) {
727
- $$renderer2.push("<!--[0-->");
728
- _visually_hidden_live_region($$renderer2, {
729
- message: renameAnnouncement,
730
- announcementSequence: renameAnnouncementSequence,
731
- priority: "assertive"
732
- });
733
- } else {
734
- $$renderer2.push("<!--[-1-->");
735
- }
736
- $$renderer2.push(`<!--]--></div>`);
737
- });
738
- }
739
-
740
- // src/components/tree/tree.svelte
741
- import * as $7 from "svelte/internal/server";
742
- import { tick as tick2, untrack as untrack2 } from "svelte";
743
- import { SvelteSet } from "svelte/reactivity";
744
-
745
- // src/_internal/tree-data.ts
746
- function flattenTreeDataItems(items) {
747
- const flattenedItems = [];
748
- const visit = (children, parentId, level, ancestorIds) => {
749
- const setSize = children.length;
750
- children.forEach((item, siblingIndex) => {
751
- const branch = (item.children?.length ?? 0) > 0;
752
- const flattenedItem = {
753
- id: item.id,
754
- label: item.label,
755
- disabled: item.disabled ?? false,
756
- parentId,
757
- level,
758
- branch,
759
- index: flattenedItems.length,
760
- posInSet: siblingIndex + 1,
761
- setSize,
762
- ancestorIds
763
- };
764
- flattenedItems.push(flattenedItem);
765
- if (branch) {
766
- visit(item.children ?? [], item.id, level + 1, [...ancestorIds, item.id]);
767
- }
768
- });
769
- };
770
- visit(items, null, 1, []);
771
- return flattenedItems;
772
- }
773
- function visibleTreeDataItems(flattenedItems, expandedIds, filterPredicate) {
774
- if (filterPredicate) {
775
- const byId = new Map(flattenedItems.map((item) => [item.id, item]));
776
- const retainedIds = new Set;
777
- for (const item of flattenedItems) {
778
- if (!filterPredicate(item))
779
- continue;
780
- retainedIds.add(item.id);
781
- for (const ancestorId of item.ancestorIds) {
782
- if (byId.has(ancestorId))
783
- retainedIds.add(ancestorId);
784
- }
785
- }
786
- return flattenedItems.filter((item) => retainedIds.has(item.id));
787
- }
788
- const expandedIdSet = new Set(expandedIds);
789
- return flattenedItems.filter((item) => item.ancestorIds.every((ancestorId) => expandedIdSet.has(ancestorId)));
790
- }
791
- function descendantTreeDataIds(flattenedItems, parentId) {
792
- const parent = flattenedItems.find((item) => item.id === parentId);
793
- if (!parent)
794
- return [];
795
- return flattenedItems.filter((item) => item.ancestorIds.includes(parentId) && item.level > parent.level).map((item) => item.id);
796
- }
797
-
798
- // src/_internal/tree-registry.svelte.ts
799
- import * as $5 from "svelte/internal/server";
800
- import { SvelteMap } from "svelte/reactivity";
801
-
802
- // src/utilities/document-order.ts
803
- function inDocumentOrder(items) {
804
- return items.toSorted((a, b) => {
805
- if (a.node === b.node)
806
- return 0;
807
- const position = a.node.compareDocumentPosition(b.node);
808
- if (position & Node.DOCUMENT_POSITION_FOLLOWING)
809
- return -1;
810
- if (position & Node.DOCUMENT_POSITION_PRECEDING)
811
- return 1;
812
- return 0;
813
- });
814
- }
815
-
816
- // src/_internal/tree-registry.svelte.ts
817
- class TreeRegistry {
818
- #nodes = new SvelteMap;
819
- #children = new SvelteMap;
820
- get size() {
821
- return this.#nodes.size;
822
- }
823
- register(node) {
824
- if (this.#nodes.has(node.id)) {
825
- throw new Error(`[cinder-tree] Duplicate TreeItem id: "${node.id}". All node ids must be unique within the tree.`);
826
- }
827
- this.#nodes.set(node.id, node);
828
- const siblings = this.#children.get(node.parentId) ?? [];
829
- this.#children.set(node.parentId, [...siblings, node.id]);
830
- return () => {
831
- this.#nodes.delete(node.id);
832
- const remaining = (this.#children.get(node.parentId) ?? []).filter((id) => id !== node.id);
833
- if (remaining.length === 0) {
834
- this.#children.delete(node.parentId);
835
- } else {
836
- this.#children.set(node.parentId, remaining);
837
- }
838
- };
839
- }
840
- #orderedChildren(parentId) {
841
- const ids = this.#children.get(parentId);
842
- if (!ids || ids.length <= 1)
843
- return ids ?? [];
844
- const withNodes = ids.map((id) => ({ id, node: this.#nodes.get(id)?.node })).filter((entry) => entry.node !== undefined);
845
- return inDocumentOrder(withNodes).map((entry) => entry.id);
846
- }
847
- getVisible(expandedIds, visibilityPredicate) {
848
- const result = [];
849
- const expandedSet = new Set(expandedIds);
850
- const retainedIds = visibilityPredicate ? this.#retainedIdsForPredicate(visibilityPredicate) : undefined;
851
- const visit = (parentId) => {
852
- const childIds = this.#orderedChildren(parentId);
853
- for (const id of childIds) {
854
- if (retainedIds && !retainedIds.has(id))
855
- continue;
856
- result.push(id);
857
- const node = this.#nodes.get(id);
858
- if (node?.isBranch() && (expandedSet.has(id) || retainedIds?.has(id))) {
859
- visit(id);
860
- }
861
- }
862
- };
863
- visit(null);
864
- return result;
865
- }
866
- #retainedIdsForPredicate(visibilityPredicate) {
867
- const retainedIds = new Set;
868
- for (const [id, node] of this.#nodes) {
869
- if (!visibilityPredicate({
870
- id,
871
- label: node.label(),
872
- parentId: node.parentId,
873
- level: node.level
874
- })) {
875
- continue;
876
- }
877
- retainedIds.add(id);
878
- let parentId = node.parentId;
879
- while (parentId !== null) {
880
- retainedIds.add(parentId);
881
- parentId = this.parentOf(parentId) ?? null;
882
- }
883
- }
884
- return retainedIds;
885
- }
886
- getNode(id) {
887
- return this.#nodes.get(id);
888
- }
889
- parentOf(id) {
890
- return this.#nodes.get(id)?.parentId;
891
- }
892
- firstChildOf(id) {
893
- return this.#orderedChildren(id)[0];
894
- }
895
- childrenOf(parentId) {
896
- return this.#orderedChildren(parentId);
897
- }
898
- descendantsOf(parentId) {
899
- const result = [];
900
- const visit = (id) => {
901
- for (const childId of this.#orderedChildren(id)) {
902
- result.push(childId);
903
- visit(childId);
904
- }
905
- };
906
- visit(parentId);
907
- return result;
908
- }
909
- getAllBranchIds(options = {}) {
910
- const result = [];
911
- const visit = (parentId) => {
912
- for (const id of this.#orderedChildren(parentId)) {
913
- const node = this.#nodes.get(id);
914
- if (!node?.isBranch())
915
- continue;
916
- if (!options.bulkOnly || this.isBulkExpandableBranch(id)) {
917
- result.push(id);
918
- }
919
- visit(id);
920
- }
921
- };
922
- visit(null);
923
- return result;
924
- }
925
- isBulkExpandableBranch(id) {
926
- const node = this.#nodes.get(id);
927
- return Boolean(node?.isBranch() && (node.bulkExpandable?.() ?? true));
928
- }
929
- ancestorsOf(id) {
930
- const result = [];
931
- let parentId = this.parentOf(id);
932
- while (parentId !== null && parentId !== undefined) {
933
- result.push(parentId);
934
- parentId = this.parentOf(parentId);
935
- }
936
- return result;
937
- }
938
- siblingsOf(id) {
939
- const node = this.#nodes.get(id);
940
- if (!node)
941
- return [];
942
- return this.#orderedChildren(node.parentId);
943
- }
944
- typeaheadMatch(prefix, currentId, expandedIds, visibilityPredicate) {
945
- const visible = this.getVisible(expandedIds, visibilityPredicate);
946
- const lower = prefix.toLowerCase();
947
- const startIndex = visible.indexOf(currentId);
948
- for (let offset = 1;offset <= visible.length; offset++) {
949
- const index = (startIndex + offset) % visible.length;
950
- const id = visible[index];
951
- const node = this.#nodes.get(id);
952
- if (node && node.label().toLowerCase().startsWith(lower)) {
953
- return id;
954
- }
955
- }
956
- return;
957
- }
958
- }
959
-
960
- // src/_internal/use-virtualizer.svelte.ts
961
- import * as $6 from "svelte/internal/server";
962
-
963
- // ../../node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
964
- function createLazyMeasurementsView(count, flat, getItemKey) {
965
- const cache = new Array(count);
966
- return new Proxy(cache, {
967
- get(target, prop, receiver) {
968
- if (typeof prop === "string") {
969
- const c = prop.charCodeAt(0);
970
- if (c >= 48 && c <= 57) {
971
- const i = +prop;
972
- if (Number.isInteger(i) && i >= 0 && i < count) {
973
- let v = target[i];
974
- if (!v) {
975
- const s = flat[i * 2];
976
- v = target[i] = {
977
- index: i,
978
- key: getItemKey(i),
979
- start: s,
980
- size: flat[i * 2 + 1],
981
- end: s + flat[i * 2 + 1],
982
- lane: 0
983
- };
984
- }
985
- return v;
986
- }
987
- }
988
- if (prop === "length")
989
- return count;
990
- }
991
- return Reflect.get(target, prop, receiver);
992
- }
993
- });
994
- }
995
-
996
- // ../../node_modules/@tanstack/virtual-core/dist/esm/utils.js
997
- function memo(getDeps, fn, opts) {
998
- let deps = opts.initialDeps ?? [];
999
- let result;
1000
- let isInitial = true;
1001
- function memoizedFunction() {
1002
- var _a;
1003
- const debugEnabled = !!opts.key && !!((_a = opts.debug) == null ? undefined : _a.call(opts));
1004
- let depTime = 0;
1005
- if (debugEnabled)
1006
- depTime = Date.now();
1007
- const newDeps = getDeps();
1008
- const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);
1009
- if (!depsChanged) {
1010
- return result;
1011
- }
1012
- deps = newDeps;
1013
- let resultTime = 0;
1014
- if (debugEnabled)
1015
- resultTime = Date.now();
1016
- result = fn(...newDeps);
1017
- if (debugEnabled) {
1018
- const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
1019
- const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
1020
- const resultFpsPercentage = resultEndTime / 16;
1021
- const pad = (str, num) => {
1022
- str = String(str);
1023
- while (str.length < num) {
1024
- str = " " + str;
1025
- }
1026
- return str;
1027
- };
1028
- console.info(`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, `
1029
- font-size: .6rem;
1030
- font-weight: bold;
1031
- color: hsl(${Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120))}deg 100% 31%);`, opts == null ? undefined : opts.key);
1032
- }
1033
- if ((opts == null ? undefined : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {
1034
- opts.onChange(result);
1035
- }
1036
- isInitial = false;
1037
- return result;
1038
- }
1039
- memoizedFunction.updateDeps = (newDeps) => {
1040
- deps = newDeps;
1041
- };
1042
- return memoizedFunction;
1043
- }
1044
- function notUndefined(value, msg) {
1045
- if (value === undefined) {
1046
- throw new Error(`Unexpected undefined${msg ? `: ${msg}` : ""}`);
1047
- } else {
1048
- return value;
1049
- }
1050
- }
1051
- var approxEqual = (a, b) => Math.abs(a - b) < 1.01;
1052
-
1053
- // ../../node_modules/@tanstack/virtual-core/dist/esm/index.js
1054
- var _isIOSResult;
1055
- var isIOSWebKit = () => {
1056
- if (_isIOSResult !== undefined)
1057
- return _isIOSResult;
1058
- if (typeof navigator === "undefined")
1059
- return _isIOSResult = false;
1060
- if (/iP(hone|od|ad)/.test(navigator.userAgent))
1061
- return _isIOSResult = true;
1062
- const mtp = navigator.maxTouchPoints;
1063
- return _isIOSResult = navigator.platform === "MacIntel" && mtp !== undefined && mtp > 0;
1064
- };
1065
- var defaultKeyExtractor = (index) => index;
1066
- var defaultRangeExtractor = (range) => {
1067
- const start = Math.max(range.startIndex - range.overscan, 0);
1068
- const end = Math.min(range.endIndex + range.overscan, range.count - 1);
1069
- const len = end - start + 1;
1070
- const arr = new Array(len);
1071
- for (let i = 0;i < len; i++) {
1072
- arr[i] = start + i;
1073
- }
1074
- return arr;
1075
- };
1076
- var addEventListenerOptions = {
1077
- passive: true
1078
- };
1079
- var supportsScrollend = typeof window == "undefined" ? true : ("onscrollend" in window);
1080
- var measureElement = (element, entry, instance) => {
1081
- if (instance.options.useCachedMeasurements) {
1082
- const index = instance.indexFromElement(element);
1083
- const key = instance.options.getItemKey(index);
1084
- return instance.itemSizeCache.get(key) ?? instance.options.estimateSize(index);
1085
- }
1086
- if (entry == null ? undefined : entry.borderBoxSize) {
1087
- const box = entry.borderBoxSize[0];
1088
- if (box) {
1089
- const size = Math.round(box[instance.options.horizontal ? "inlineSize" : "blockSize"]);
1090
- return size;
1091
- }
1092
- }
1093
- if (!entry) {
1094
- const index = instance.indexFromElement(element);
1095
- const key = instance.options.getItemKey(index);
1096
- const cachedSize = instance.itemSizeCache.get(key);
1097
- if (cachedSize !== undefined) {
1098
- return cachedSize;
1099
- }
1100
- }
1101
- return element[instance.options.horizontal ? "offsetWidth" : "offsetHeight"];
1102
- };
1103
- class Virtualizer {
1104
- constructor(opts) {
1105
- this.unsubs = [];
1106
- this.scrollElement = null;
1107
- this.targetWindow = null;
1108
- this.isScrolling = false;
1109
- this.scrollState = null;
1110
- this.measurementsCache = [];
1111
- this._flatMeasurements = null;
1112
- this.itemSizeCache = /* @__PURE__ */ new Map;
1113
- this.itemSizeCacheVersion = 0;
1114
- this.laneAssignments = /* @__PURE__ */ new Map;
1115
- this.pendingMin = null;
1116
- this.prevLanes = undefined;
1117
- this.lanesChangedFlag = false;
1118
- this.lanesSettling = false;
1119
- this.pendingScrollAnchor = null;
1120
- this.scrollRect = null;
1121
- this.scrollOffset = null;
1122
- this.scrollDirection = null;
1123
- this.scrollAdjustments = 0;
1124
- this._iosDeferredAdjustment = 0;
1125
- this._iosTouching = false;
1126
- this._iosJustTouchEnded = false;
1127
- this._iosTouchEndTimerId = null;
1128
- this._intendedScrollOffset = null;
1129
- this.elementsCache = /* @__PURE__ */ new Map;
1130
- this.now = () => {
1131
- var _a, _b, _c;
1132
- return ((_c = (_b = (_a = this.targetWindow) == null ? undefined : _a.performance) == null ? undefined : _b.now) == null ? undefined : _c.call(_b)) ?? Date.now();
1133
- };
1134
- this.observer = /* @__PURE__ */ (() => {
1135
- let _ro = null;
1136
- const get = () => {
1137
- if (_ro) {
1138
- return _ro;
1139
- }
1140
- if (!this.targetWindow || !this.targetWindow.ResizeObserver) {
1141
- return null;
1142
- }
1143
- return _ro = new this.targetWindow.ResizeObserver((entries) => {
1144
- entries.forEach((entry) => {
1145
- const run = () => {
1146
- const node = entry.target;
1147
- const index = this.indexFromElement(node);
1148
- if (!node.isConnected) {
1149
- this.observer.unobserve(node);
1150
- for (const [cacheKey, cachedNode] of this.elementsCache) {
1151
- if (cachedNode === node) {
1152
- this.elementsCache.delete(cacheKey);
1153
- break;
1154
- }
1155
- }
1156
- return;
1157
- }
1158
- if (this.shouldMeasureDuringScroll(index)) {
1159
- this.resizeItem(index, this.options.measureElement(node, entry, this));
1160
- }
1161
- };
1162
- this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();
1163
- });
1164
- });
1165
- };
1166
- return {
1167
- disconnect: () => {
1168
- var _a;
1169
- (_a = get()) == null || _a.disconnect();
1170
- _ro = null;
1171
- },
1172
- observe: (target) => {
1173
- var _a;
1174
- return (_a = get()) == null ? undefined : _a.observe(target, { box: "border-box" });
1175
- },
1176
- unobserve: (target) => {
1177
- var _a;
1178
- return (_a = get()) == null ? undefined : _a.unobserve(target);
1179
- }
1180
- };
1181
- })();
1182
- this.range = null;
1183
- this.setOptions = (opts2) => {
1184
- var _a, _b;
1185
- const merged = {
1186
- debug: false,
1187
- initialOffset: 0,
1188
- overscan: 1,
1189
- paddingStart: 0,
1190
- paddingEnd: 0,
1191
- scrollPaddingStart: 0,
1192
- scrollPaddingEnd: 0,
1193
- horizontal: false,
1194
- getItemKey: defaultKeyExtractor,
1195
- rangeExtractor: defaultRangeExtractor,
1196
- onChange: () => {},
1197
- measureElement,
1198
- initialRect: { width: 0, height: 0 },
1199
- scrollMargin: 0,
1200
- gap: 0,
1201
- indexAttribute: "data-index",
1202
- initialMeasurementsCache: [],
1203
- lanes: 1,
1204
- anchorTo: "start",
1205
- followOnAppend: false,
1206
- scrollEndThreshold: 1,
1207
- isScrollingResetDelay: 150,
1208
- enabled: true,
1209
- isRtl: false,
1210
- useScrollendEvent: false,
1211
- useAnimationFrameWithResizeObserver: false,
1212
- laneAssignmentMode: "estimate",
1213
- useCachedMeasurements: false
1214
- };
1215
- for (const key in opts2) {
1216
- const v = opts2[key];
1217
- if (v !== undefined)
1218
- merged[key] = v;
1219
- }
1220
- const prevOptions = this.options;
1221
- let anchor = null;
1222
- let followOnAppend = null;
1223
- let edgeKeysChanged = false;
1224
- if (prevOptions !== undefined && prevOptions.enabled && merged.enabled && merged.anchorTo === "end" && this.scrollElement !== null) {
1225
- const prevCount = prevOptions.count;
1226
- const nextCount = merged.count;
1227
- const measurements = this.getMeasurements();
1228
- const prevFirstKey = prevCount > 0 ? ((_a = measurements[0]) == null ? undefined : _a.key) ?? prevOptions.getItemKey(0) : null;
1229
- const prevLastKey = prevCount > 0 ? ((_b = measurements[prevCount - 1]) == null ? undefined : _b.key) ?? prevOptions.getItemKey(prevCount - 1) : null;
1230
- const didCountChange = nextCount !== prevCount;
1231
- const didEdgeKeysChange = didCountChange || prevCount > 0 && nextCount > 0 && (merged.getItemKey(0) !== prevFirstKey || merged.getItemKey(nextCount - 1) !== prevLastKey);
1232
- if (didEdgeKeysChange) {
1233
- edgeKeysChanged = true;
1234
- const item = prevCount > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? measurements[0] : null;
1235
- if (item) {
1236
- anchor = [item.key, this.getScrollOffset() - item.start];
1237
- }
1238
- const behavior = merged.followOnAppend === true ? "auto" : merged.followOnAppend || null;
1239
- if (behavior && nextCount > prevCount && this.isAtEnd(prevOptions.scrollEndThreshold) && (prevCount === 0 || merged.getItemKey(nextCount - 1) !== prevLastKey)) {
1240
- followOnAppend = behavior;
1241
- }
1242
- }
1243
- }
1244
- this.options = merged;
1245
- if (edgeKeysChanged) {
1246
- this.pendingMin = 0;
1247
- this.itemSizeCacheVersion++;
1248
- }
1249
- let anchorResolved = false;
1250
- let anchorDelta = 0;
1251
- if (anchor && this.scrollOffset !== null) {
1252
- const [anchorKey, anchorOffset] = anchor;
1253
- const newMeasurements = this.getMeasurements();
1254
- const { count, getItemKey } = this.options;
1255
- let idx = 0;
1256
- while (idx < count && getItemKey(idx) !== anchorKey) {
1257
- idx++;
1258
- }
1259
- if (idx < count) {
1260
- const anchorItem = newMeasurements[idx];
1261
- if (anchorItem) {
1262
- const newOffset = anchorItem.start + anchorOffset;
1263
- if (newOffset !== this.scrollOffset) {
1264
- anchorDelta = newOffset - this.scrollOffset;
1265
- this.scrollOffset = newOffset;
1266
- anchorResolved = true;
1267
- }
1268
- }
1269
- }
1270
- }
1271
- if (anchorResolved || followOnAppend) {
1272
- this.pendingScrollAnchor = [
1273
- anchorResolved ? anchor[0] : null,
1274
- anchorResolved ? anchor[1] : 0,
1275
- followOnAppend,
1276
- anchorDelta
1277
- ];
1278
- }
1279
- };
1280
- this.notify = (sync) => {
1281
- var _a, _b;
1282
- (_b = (_a = this.options).onChange) == null || _b.call(_a, this, sync);
1283
- };
1284
- this.maybeNotify = memo(() => {
1285
- this.calculateRange();
1286
- return [
1287
- this.isScrolling,
1288
- this.range ? this.range.startIndex : null,
1289
- this.range ? this.range.endIndex : null
1290
- ];
1291
- }, (isScrolling) => {
1292
- this.notify(isScrolling);
1293
- }, {
1294
- key: "maybeNotify",
1295
- debug: () => this.options.debug,
1296
- initialDeps: [
1297
- this.isScrolling,
1298
- this.range ? this.range.startIndex : null,
1299
- this.range ? this.range.endIndex : null
1300
- ]
1301
- });
1302
- this.cleanup = () => {
1303
- this.unsubs.filter(Boolean).forEach((d) => d());
1304
- this.unsubs = [];
1305
- this.observer.disconnect();
1306
- if (this.rafId != null && this.targetWindow) {
1307
- this.targetWindow.cancelAnimationFrame(this.rafId);
1308
- this.rafId = null;
1309
- }
1310
- this.scrollState = null;
1311
- this.scrollElement = null;
1312
- this.targetWindow = null;
1313
- };
1314
- this._didMount = () => {
1315
- return () => {
1316
- this.cleanup();
1317
- };
1318
- };
1319
- this._willUpdate = () => {
1320
- var _a;
1321
- const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;
1322
- if (this.scrollElement !== scrollElement) {
1323
- this.cleanup();
1324
- if (!scrollElement) {
1325
- this.maybeNotify();
1326
- return;
1327
- }
1328
- this.scrollElement = scrollElement;
1329
- if (this.scrollElement && "ownerDocument" in this.scrollElement) {
1330
- this.targetWindow = this.scrollElement.ownerDocument.defaultView;
1331
- } else {
1332
- this.targetWindow = ((_a = this.scrollElement) == null ? undefined : _a.window) ?? null;
1333
- }
1334
- this.elementsCache.forEach((cached) => {
1335
- this.observer.observe(cached);
1336
- });
1337
- this.unsubs.push(this.options.observeElementRect(this, (rect) => {
1338
- this.scrollRect = rect;
1339
- this.maybeNotify();
1340
- }));
1341
- this.unsubs.push(this.options.observeElementOffset(this, (offset, isScrolling) => {
1342
- if (this._intendedScrollOffset !== null && Math.abs(offset - this._intendedScrollOffset) < 1.5) {
1343
- offset = this._intendedScrollOffset;
1344
- }
1345
- this._intendedScrollOffset = null;
1346
- this.scrollAdjustments = 0;
1347
- this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null;
1348
- this.scrollOffset = offset;
1349
- this.isScrolling = isScrolling;
1350
- this._flushIosDeferredIfReady();
1351
- if (this.scrollState) {
1352
- this.scheduleScrollReconcile();
1353
- }
1354
- this.maybeNotify();
1355
- }));
1356
- if ("addEventListener" in this.scrollElement) {
1357
- const scrollEl = this.scrollElement;
1358
- const onTouchStart = () => {
1359
- this._iosTouching = true;
1360
- this._iosJustTouchEnded = false;
1361
- if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {
1362
- this.targetWindow.clearTimeout(this._iosTouchEndTimerId);
1363
- this._iosTouchEndTimerId = null;
1364
- }
1365
- };
1366
- const onTouchEnd = () => {
1367
- this._iosTouching = false;
1368
- if (!isIOSWebKit() || this.targetWindow == null) {
1369
- return;
1370
- }
1371
- this._iosJustTouchEnded = true;
1372
- this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
1373
- this._iosJustTouchEnded = false;
1374
- this._iosTouchEndTimerId = null;
1375
- this._flushIosDeferredIfReady();
1376
- }, 150);
1377
- };
1378
- scrollEl.addEventListener("touchstart", onTouchStart, addEventListenerOptions);
1379
- scrollEl.addEventListener("touchend", onTouchEnd, addEventListenerOptions);
1380
- this.unsubs.push(() => {
1381
- scrollEl.removeEventListener("touchstart", onTouchStart);
1382
- scrollEl.removeEventListener("touchend", onTouchEnd);
1383
- if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {
1384
- this.targetWindow.clearTimeout(this._iosTouchEndTimerId);
1385
- this._iosTouchEndTimerId = null;
1386
- }
1387
- });
1388
- }
1389
- this._scrollToOffset(this.getScrollOffset(), {
1390
- adjustments: undefined,
1391
- behavior: undefined
1392
- });
1393
- }
1394
- const anchor = this.pendingScrollAnchor;
1395
- this.pendingScrollAnchor = null;
1396
- if (anchor && this.scrollElement && this.options.enabled) {
1397
- const [key, _offset, followOnAppend, anchorDelta] = anchor;
1398
- if (key !== null && !followOnAppend) {
1399
- if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {
1400
- if (anchorDelta !== 0) {
1401
- this._iosDeferredAdjustment += anchorDelta;
1402
- }
1403
- } else {
1404
- this._scrollToOffset(this.getScrollOffset(), {
1405
- adjustments: undefined,
1406
- behavior: undefined
1407
- });
1408
- }
1409
- }
1410
- if (followOnAppend) {
1411
- this.scrollToEnd({ behavior: followOnAppend });
1412
- }
1413
- }
1414
- };
1415
- this._flushIosDeferredIfReady = () => {
1416
- if (this._iosDeferredAdjustment === 0)
1417
- return;
1418
- if (this.isScrolling)
1419
- return;
1420
- if (this._iosTouching)
1421
- return;
1422
- if (this._iosJustTouchEnded)
1423
- return;
1424
- const cur = this.getScrollOffset();
1425
- const max = this.getMaxScrollOffset();
1426
- if (cur < 0 || cur > max)
1427
- return;
1428
- const delta = this._iosDeferredAdjustment;
1429
- this._iosDeferredAdjustment = 0;
1430
- this._scrollToOffset(cur, {
1431
- adjustments: this.scrollAdjustments += delta,
1432
- behavior: undefined
1433
- });
1434
- };
1435
- this.rafId = null;
1436
- this.getSize = () => {
1437
- if (!this.options.enabled) {
1438
- this.scrollRect = null;
1439
- return 0;
1440
- }
1441
- this.scrollRect = this.scrollRect ?? this.options.initialRect;
1442
- return this.scrollRect[this.options.horizontal ? "width" : "height"];
1443
- };
1444
- this.getScrollOffset = () => {
1445
- if (!this.options.enabled) {
1446
- this.scrollOffset = null;
1447
- return 0;
1448
- }
1449
- this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset);
1450
- return this.scrollOffset;
1451
- };
1452
- this.getFurthestMeasurement = (measurements, index) => {
1453
- const furthestMeasurementsFound = /* @__PURE__ */ new Map;
1454
- const furthestMeasurements = /* @__PURE__ */ new Map;
1455
- for (let m = index - 1;m >= 0; m--) {
1456
- const measurement = measurements[m];
1457
- if (furthestMeasurementsFound.has(measurement.lane)) {
1458
- continue;
1459
- }
1460
- const previousFurthestMeasurement = furthestMeasurements.get(measurement.lane);
1461
- if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {
1462
- furthestMeasurements.set(measurement.lane, measurement);
1463
- } else if (measurement.end < previousFurthestMeasurement.end) {
1464
- furthestMeasurementsFound.set(measurement.lane, true);
1465
- }
1466
- if (furthestMeasurementsFound.size === this.options.lanes) {
1467
- break;
1468
- }
1469
- }
1470
- return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {
1471
- if (a.end === b.end) {
1472
- return a.index - b.index;
1473
- }
1474
- return a.end - b.end;
1475
- })[0] : undefined;
1476
- };
1477
- this.getMeasurementOptions = memo(() => [
1478
- this.options.count,
1479
- this.options.paddingStart,
1480
- this.options.scrollMargin,
1481
- this.options.getItemKey,
1482
- this.options.enabled,
1483
- this.options.lanes,
1484
- this.options.laneAssignmentMode
1485
- ], (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode) => {
1486
- const lanesChanged = this.prevLanes !== undefined && this.prevLanes !== lanes;
1487
- if (lanesChanged) {
1488
- this.lanesChangedFlag = true;
1489
- }
1490
- this.prevLanes = lanes;
1491
- this.pendingMin = null;
1492
- return {
1493
- count,
1494
- paddingStart,
1495
- scrollMargin,
1496
- getItemKey,
1497
- enabled,
1498
- lanes,
1499
- laneAssignmentMode
1500
- };
1501
- }, {
1502
- key: false
1503
- });
1504
- this.getMeasurements = memo(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({
1505
- count,
1506
- paddingStart,
1507
- scrollMargin,
1508
- getItemKey,
1509
- enabled,
1510
- lanes,
1511
- laneAssignmentMode
1512
- }, _itemSizeCacheVersion) => {
1513
- const itemSizeCache = this.itemSizeCache;
1514
- if (!enabled) {
1515
- this.measurementsCache = [];
1516
- this.itemSizeCache.clear();
1517
- this.laneAssignments.clear();
1518
- return [];
1519
- }
1520
- if (this.laneAssignments.size > count) {
1521
- for (const index of this.laneAssignments.keys()) {
1522
- if (index >= count) {
1523
- this.laneAssignments.delete(index);
1524
- }
1525
- }
1526
- }
1527
- if (this.lanesChangedFlag) {
1528
- this.lanesChangedFlag = false;
1529
- this.lanesSettling = true;
1530
- this.measurementsCache = [];
1531
- this.itemSizeCache.clear();
1532
- this.laneAssignments.clear();
1533
- this.pendingMin = null;
1534
- }
1535
- if (this.measurementsCache.length === 0 && !this.lanesSettling) {
1536
- this.measurementsCache = this.options.initialMeasurementsCache;
1537
- this.measurementsCache.forEach((item) => {
1538
- this.itemSizeCache.set(item.key, item.size);
1539
- });
1540
- }
1541
- const min = this.lanesSettling ? 0 : this.pendingMin ?? 0;
1542
- this.pendingMin = null;
1543
- if (this.lanesSettling && this.measurementsCache.length === count) {
1544
- this.lanesSettling = false;
1545
- }
1546
- if (lanes === 1) {
1547
- const gap = this.options.gap;
1548
- const need = count * 2;
1549
- let flat = this._flatMeasurements;
1550
- if (!flat || flat.length < need) {
1551
- const next = new Float64Array(need);
1552
- if (flat && min > 0)
1553
- next.set(flat.subarray(0, min * 2));
1554
- flat = next;
1555
- this._flatMeasurements = flat;
1556
- }
1557
- let runningStart;
1558
- if (min === 0) {
1559
- runningStart = paddingStart + scrollMargin;
1560
- } else {
1561
- const prevIdx = min - 1;
1562
- runningStart = flat[prevIdx * 2] + flat[prevIdx * 2 + 1] + gap;
1563
- }
1564
- for (let i = min;i < count; i++) {
1565
- const key = getItemKey(i);
1566
- const measuredSize = itemSizeCache.get(key);
1567
- const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
1568
- flat[i * 2] = runningStart;
1569
- flat[i * 2 + 1] = size;
1570
- runningStart += size + gap;
1571
- }
1572
- const view = createLazyMeasurementsView(count, flat, getItemKey);
1573
- this.measurementsCache = view;
1574
- return view;
1575
- }
1576
- const measurements = this.measurementsCache.slice(0, min);
1577
- const laneLastIndex = new Array(lanes).fill(undefined);
1578
- for (let m = 0;m < min; m++) {
1579
- const item = measurements[m];
1580
- if (item) {
1581
- laneLastIndex[item.lane] = m;
1582
- }
1583
- }
1584
- for (let i = min;i < count; i++) {
1585
- const key = getItemKey(i);
1586
- const cachedLane = this.laneAssignments.get(i);
1587
- let lane;
1588
- let start;
1589
- const shouldCacheLane = laneAssignmentMode === "estimate" || itemSizeCache.has(key);
1590
- if (cachedLane !== undefined && this.options.lanes > 1) {
1591
- lane = cachedLane;
1592
- const prevIndex = laneLastIndex[lane];
1593
- const prevInLane = prevIndex !== undefined ? measurements[prevIndex] : undefined;
1594
- start = prevInLane ? prevInLane.end + this.options.gap : paddingStart + scrollMargin;
1595
- } else {
1596
- const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);
1597
- start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;
1598
- lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;
1599
- if (this.options.lanes > 1 && shouldCacheLane) {
1600
- this.laneAssignments.set(i, lane);
1601
- }
1602
- }
1603
- const measuredSize = itemSizeCache.get(key);
1604
- const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
1605
- const end = start + size;
1606
- measurements[i] = {
1607
- index: i,
1608
- start,
1609
- size,
1610
- end,
1611
- key,
1612
- lane
1613
- };
1614
- laneLastIndex[lane] = i;
1615
- }
1616
- this.measurementsCache = measurements;
1617
- return measurements;
1618
- }, {
1619
- key: "getMeasurements",
1620
- debug: () => this.options.debug
1621
- });
1622
- this.calculateRange = memo(() => [
1623
- this.getMeasurements(),
1624
- this.getSize(),
1625
- this.getScrollOffset(),
1626
- this.options.lanes
1627
- ], (measurements, outerSize, scrollOffset, lanes) => {
1628
- return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
1629
- measurements,
1630
- outerSize,
1631
- scrollOffset,
1632
- lanes,
1633
- flat: lanes === 1 && this._flatMeasurements != null ? this._flatMeasurements : null
1634
- }) : null;
1635
- }, {
1636
- key: "calculateRange",
1637
- debug: () => this.options.debug
1638
- });
1639
- this.getVirtualIndexes = memo(() => {
1640
- let startIndex = null;
1641
- let endIndex = null;
1642
- const range = this.calculateRange();
1643
- if (range) {
1644
- startIndex = range.startIndex;
1645
- endIndex = range.endIndex;
1646
- }
1647
- this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);
1648
- return [
1649
- this.options.rangeExtractor,
1650
- this.options.overscan,
1651
- this.options.count,
1652
- startIndex,
1653
- endIndex
1654
- ];
1655
- }, (rangeExtractor, overscan, count, startIndex, endIndex) => {
1656
- return startIndex === null || endIndex === null ? [] : rangeExtractor({
1657
- startIndex,
1658
- endIndex,
1659
- overscan,
1660
- count
1661
- });
1662
- }, {
1663
- key: "getVirtualIndexes",
1664
- debug: () => this.options.debug
1665
- });
1666
- this.indexFromElement = (node) => {
1667
- const attributeName = this.options.indexAttribute;
1668
- const indexStr = node.getAttribute(attributeName);
1669
- if (!indexStr) {
1670
- console.warn(`Missing attribute name '${attributeName}={index}' on measured element.`);
1671
- return -1;
1672
- }
1673
- return parseInt(indexStr, 10);
1674
- };
1675
- this.shouldMeasureDuringScroll = (index) => {
1676
- var _a;
1677
- if (!this.scrollState || this.scrollState.behavior !== "smooth") {
1678
- return true;
1679
- }
1680
- const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? undefined : _a.index);
1681
- if (scrollIndex !== undefined && this.range) {
1682
- const bufferSize = Math.max(this.options.overscan, Math.ceil((this.range.endIndex - this.range.startIndex) / 2));
1683
- const minIndex = Math.max(0, scrollIndex - bufferSize);
1684
- const maxIndex = Math.min(this.options.count - 1, scrollIndex + bufferSize);
1685
- return index >= minIndex && index <= maxIndex;
1686
- }
1687
- return true;
1688
- };
1689
- this.measureElement = (node) => {
1690
- if (!node) {
1691
- this.elementsCache.forEach((cached, key2) => {
1692
- if (!cached.isConnected) {
1693
- this.observer.unobserve(cached);
1694
- this.elementsCache.delete(key2);
1695
- }
1696
- });
1697
- return;
1698
- }
1699
- const index = this.indexFromElement(node);
1700
- const key = this.options.getItemKey(index);
1701
- const prevNode = this.elementsCache.get(key);
1702
- if (prevNode !== node) {
1703
- if (prevNode) {
1704
- this.observer.unobserve(prevNode);
1705
- }
1706
- this.observer.observe(node);
1707
- this.elementsCache.set(key, node);
1708
- }
1709
- if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) {
1710
- this.resizeItem(index, this.options.measureElement(node, undefined, this));
1711
- }
1712
- };
1713
- this.resizeItem = (index, size) => {
1714
- var _a, _b;
1715
- if (index < 0 || index >= this.options.count)
1716
- return;
1717
- let cachedSize;
1718
- let itemStart;
1719
- let key;
1720
- const flat = this._flatMeasurements;
1721
- if (this.options.lanes === 1 && flat !== null) {
1722
- key = this.options.getItemKey(index);
1723
- itemStart = flat[index * 2];
1724
- cachedSize = flat[index * 2 + 1];
1725
- } else {
1726
- const item = this.measurementsCache[index];
1727
- if (!item)
1728
- return;
1729
- key = item.key;
1730
- itemStart = item.start;
1731
- cachedSize = item.size;
1732
- }
1733
- const itemSize = this.itemSizeCache.get(key) ?? cachedSize;
1734
- const delta = size - itemSize;
1735
- if (delta !== 0) {
1736
- const wasAtEnd = this.options.anchorTo === "end" && ((_a = this.scrollState) == null ? undefined : _a.behavior) !== "smooth" && this.getVirtualDistanceFromEnd() <= this.options.scrollEndThreshold;
1737
- const prevTotalSize = wasAtEnd ? this.getTotalSize() : 0;
1738
- const shouldAdjustScroll = ((_b = this.scrollState) == null ? undefined : _b.behavior) !== "smooth" && (this.shouldAdjustScrollPositionOnItemSizeChange !== undefined ? this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[index] ?? {
1739
- index,
1740
- key,
1741
- start: itemStart,
1742
- size: cachedSize,
1743
- end: itemStart + cachedSize,
1744
- lane: 0
1745
- }, delta, this) : itemStart < this.getScrollOffset() + this.scrollAdjustments && (!this.itemSizeCache.has(key) || this.scrollDirection !== "backward"));
1746
- if (this.pendingMin === null || index < this.pendingMin) {
1747
- this.pendingMin = index;
1748
- }
1749
- this.itemSizeCache.set(key, size);
1750
- this.itemSizeCacheVersion++;
1751
- if (wasAtEnd) {
1752
- this.applyScrollAdjustment(this.getTotalSize() - prevTotalSize);
1753
- } else if (shouldAdjustScroll) {
1754
- this.applyScrollAdjustment(delta);
1755
- }
1756
- this.notify(false);
1757
- }
1758
- };
1759
- this.getVirtualItems = memo(() => [this.getVirtualIndexes(), this.getMeasurements()], (indexes, measurements) => {
1760
- const virtualItems = [];
1761
- for (let k = 0, len = indexes.length;k < len; k++) {
1762
- const i = indexes[k];
1763
- const measurement = measurements[i];
1764
- virtualItems.push(measurement);
1765
- }
1766
- return virtualItems;
1767
- }, {
1768
- key: "getVirtualItems",
1769
- debug: () => this.options.debug
1770
- });
1771
- this.getVirtualItemForOffset = (offset) => {
1772
- const measurements = this.getMeasurements();
1773
- if (measurements.length === 0) {
1774
- return;
1775
- }
1776
- const flat = this._flatMeasurements;
1777
- const useFlat = this.options.lanes === 1 && flat != null;
1778
- const idx = findNearestBinarySearch(0, measurements.length - 1, useFlat ? (i) => flat[i * 2] : (i) => notUndefined(measurements[i]).start, offset);
1779
- return notUndefined(measurements[idx]);
1780
- };
1781
- this.getMaxScrollOffset = () => {
1782
- if (!this.scrollElement)
1783
- return 0;
1784
- if ("scrollHeight" in this.scrollElement) {
1785
- return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
1786
- } else {
1787
- const doc = this.scrollElement.document.documentElement;
1788
- return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;
1789
- }
1790
- };
1791
- this.getVirtualDistanceFromEnd = () => {
1792
- return Math.max(this.getTotalSize() - this.getSize() - this.getScrollOffset(), 0);
1793
- };
1794
- this.getDistanceFromEnd = () => {
1795
- return Math.max(this.getMaxScrollOffset() - this.getScrollOffset(), 0);
1796
- };
1797
- this.isAtEnd = (threshold = this.options.scrollEndThreshold) => {
1798
- return this.getDistanceFromEnd() <= threshold;
1799
- };
1800
- this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {
1801
- if (!this.scrollElement)
1802
- return 0;
1803
- const size = this.getSize();
1804
- const scrollOffset = this.getScrollOffset();
1805
- if (align === "auto") {
1806
- align = toOffset >= scrollOffset + size ? "end" : "start";
1807
- }
1808
- if (align === "center") {
1809
- toOffset += (itemSize - size) / 2;
1810
- } else if (align === "end") {
1811
- toOffset -= size;
1812
- }
1813
- const maxOffset = this.getMaxScrollOffset();
1814
- return Math.max(Math.min(maxOffset, toOffset), 0);
1815
- };
1816
- this.getOffsetForIndex = (index, align = "auto") => {
1817
- index = Math.max(0, Math.min(index, this.options.count - 1));
1818
- const size = this.getSize();
1819
- const scrollOffset = this.getScrollOffset();
1820
- const item = this.measurementsCache[index];
1821
- if (!item)
1822
- return;
1823
- if (align === "auto") {
1824
- if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {
1825
- align = "end";
1826
- } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {
1827
- align = "start";
1828
- } else {
1829
- return [scrollOffset, align];
1830
- }
1831
- }
1832
- if (align === "end" && index === this.options.count - 1) {
1833
- return [this.getMaxScrollOffset(), align];
1834
- }
1835
- const toOffset = align === "end" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;
1836
- return [
1837
- this.getOffsetForAlignment(toOffset, align, item.size),
1838
- align
1839
- ];
1840
- };
1841
- this.scrollToOffset = (toOffset, { align = "start", behavior = "auto" } = {}) => {
1842
- const offset = this.getOffsetForAlignment(toOffset, align);
1843
- const now = this.now();
1844
- this.scrollState = {
1845
- index: null,
1846
- align,
1847
- behavior,
1848
- startedAt: now,
1849
- lastTargetOffset: offset,
1850
- stableFrames: 0
1851
- };
1852
- this._scrollToOffset(offset, { adjustments: undefined, behavior });
1853
- this.scheduleScrollReconcile();
1854
- };
1855
- this.scrollToIndex = (index, {
1856
- align: initialAlign = "auto",
1857
- behavior = "auto"
1858
- } = {}) => {
1859
- index = Math.max(0, Math.min(index, this.options.count - 1));
1860
- const offsetInfo = this.getOffsetForIndex(index, initialAlign);
1861
- if (!offsetInfo) {
1862
- return;
1863
- }
1864
- const [offset, align] = offsetInfo;
1865
- const now = this.now();
1866
- this.scrollState = {
1867
- index,
1868
- align,
1869
- behavior,
1870
- startedAt: now,
1871
- lastTargetOffset: offset,
1872
- stableFrames: 0
1873
- };
1874
- this._scrollToOffset(offset, { adjustments: undefined, behavior });
1875
- this.scheduleScrollReconcile();
1876
- };
1877
- this.scrollBy = (delta, { behavior = "auto" } = {}) => {
1878
- const offset = this.getScrollOffset() + delta;
1879
- const now = this.now();
1880
- this.scrollState = {
1881
- index: null,
1882
- align: "start",
1883
- behavior,
1884
- startedAt: now,
1885
- lastTargetOffset: offset,
1886
- stableFrames: 0
1887
- };
1888
- this._scrollToOffset(offset, { adjustments: undefined, behavior });
1889
- this.scheduleScrollReconcile();
1890
- };
1891
- this.scrollToEnd = ({ behavior = "auto" } = {}) => {
1892
- if (this.options.count > 0) {
1893
- this.scrollToIndex(this.options.count - 1, {
1894
- align: "end",
1895
- behavior
1896
- });
1897
- return;
1898
- }
1899
- this.scrollToOffset(Math.max(this.getTotalSize() - this.getSize(), 0), {
1900
- behavior
1901
- });
1902
- };
1903
- this.getTotalSize = () => {
1904
- var _a;
1905
- const measurements = this.getMeasurements();
1906
- let end;
1907
- if (measurements.length === 0) {
1908
- end = this.options.paddingStart;
1909
- } else if (this.options.lanes === 1) {
1910
- const lastIdx = measurements.length - 1;
1911
- const flat = this._flatMeasurements;
1912
- if (flat != null) {
1913
- end = flat[lastIdx * 2] + flat[lastIdx * 2 + 1];
1914
- } else {
1915
- end = ((_a = measurements[lastIdx]) == null ? undefined : _a.end) ?? 0;
1916
- }
1917
- } else {
1918
- const endByLane = Array(this.options.lanes).fill(null);
1919
- let endIndex = measurements.length - 1;
1920
- while (endIndex >= 0 && endByLane.some((val) => val === null)) {
1921
- const item = measurements[endIndex];
1922
- if (endByLane[item.lane] === null) {
1923
- endByLane[item.lane] = item.end;
1924
- }
1925
- endIndex--;
1926
- }
1927
- end = Math.max(...endByLane.filter((val) => val !== null));
1928
- }
1929
- return Math.max(end - this.options.scrollMargin + this.options.paddingEnd, 0);
1930
- };
1931
- this.takeSnapshot = () => {
1932
- const snapshot = [];
1933
- if (this.itemSizeCache.size === 0)
1934
- return snapshot;
1935
- const m = this.getMeasurements();
1936
- for (const item of m) {
1937
- if (item && this.itemSizeCache.has(item.key)) {
1938
- snapshot.push({
1939
- index: item.index,
1940
- key: item.key,
1941
- start: item.start,
1942
- size: item.size,
1943
- end: item.end,
1944
- lane: item.lane
1945
- });
1946
- }
1947
- }
1948
- return snapshot;
1949
- };
1950
- this._scrollToOffset = (offset, {
1951
- adjustments,
1952
- behavior
1953
- }) => {
1954
- this._intendedScrollOffset = offset + (adjustments ?? 0);
1955
- this.options.scrollToFn(offset, { behavior, adjustments }, this);
1956
- };
1957
- this.measure = () => {
1958
- this.pendingMin = null;
1959
- this.itemSizeCache.clear();
1960
- this.laneAssignments.clear();
1961
- this.itemSizeCacheVersion++;
1962
- this.notify(false);
1963
- };
1964
- this.setOptions(opts);
1965
- }
1966
- applyScrollAdjustment(delta, behavior) {
1967
- if (delta === 0)
1968
- return;
1969
- if (this.options.debug) {
1970
- console.info("correction", delta);
1971
- }
1972
- if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {
1973
- this._iosDeferredAdjustment += delta;
1974
- } else {
1975
- this._scrollToOffset(this.getScrollOffset(), {
1976
- adjustments: this.scrollAdjustments += delta,
1977
- behavior
1978
- });
1979
- }
1980
- }
1981
- scheduleScrollReconcile() {
1982
- if (!this.targetWindow) {
1983
- this.scrollState = null;
1984
- return;
1985
- }
1986
- if (this.rafId != null)
1987
- return;
1988
- this.rafId = this.targetWindow.requestAnimationFrame(() => {
1989
- this.rafId = null;
1990
- this.reconcileScroll();
1991
- });
1992
- }
1993
- reconcileScroll() {
1994
- if (!this.scrollState)
1995
- return;
1996
- const el = this.scrollElement;
1997
- if (!el)
1998
- return;
1999
- const MAX_RECONCILE_MS = 5000;
2000
- if (this.now() - this.scrollState.startedAt > MAX_RECONCILE_MS) {
2001
- this.scrollState = null;
2002
- return;
2003
- }
2004
- const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : undefined;
2005
- const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;
2006
- const STABLE_FRAMES = 1;
2007
- const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;
2008
- if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {
2009
- this.scrollState.stableFrames++;
2010
- if (this.scrollState.stableFrames >= STABLE_FRAMES) {
2011
- if (this.getScrollOffset() !== targetOffset) {
2012
- this._scrollToOffset(targetOffset, {
2013
- adjustments: undefined,
2014
- behavior: "auto"
2015
- });
2016
- }
2017
- this.scrollState = null;
2018
- return;
2019
- }
2020
- } else {
2021
- this.scrollState.stableFrames = 0;
2022
- if (targetChanged) {
2023
- const viewport = this.getSize() || 600;
2024
- const distance = Math.abs(targetOffset - this.getScrollOffset());
2025
- const keepSmooth = this.scrollState.behavior === "smooth" && distance > viewport;
2026
- this.scrollState.lastTargetOffset = targetOffset;
2027
- if (!keepSmooth) {
2028
- this.scrollState.behavior = "auto";
2029
- }
2030
- this._scrollToOffset(targetOffset, {
2031
- adjustments: undefined,
2032
- behavior: keepSmooth ? "smooth" : "auto"
2033
- });
2034
- }
2035
- }
2036
- this.scheduleScrollReconcile();
2037
- }
2038
- }
2039
- var findNearestBinarySearch = (low, high, getCurrentValue, value) => {
2040
- while (low <= high) {
2041
- const middle = (low + high) / 2 | 0;
2042
- const currentValue = getCurrentValue(middle);
2043
- if (currentValue < value) {
2044
- low = middle + 1;
2045
- } else if (currentValue > value) {
2046
- high = middle - 1;
2047
- } else {
2048
- return middle;
2049
- }
2050
- }
2051
- if (low > 0) {
2052
- return low - 1;
2053
- } else {
2054
- return 0;
2055
- }
2056
- };
2057
- function calculateRange({
2058
- measurements,
2059
- outerSize,
2060
- scrollOffset,
2061
- lanes,
2062
- flat
2063
- }) {
2064
- const lastIndex = measurements.length - 1;
2065
- const getStart = flat ? (index) => flat[index * 2] : (index) => measurements[index].start;
2066
- const getEnd = flat ? (index) => flat[index * 2] + flat[index * 2 + 1] : (index) => measurements[index].end;
2067
- if (measurements.length <= lanes) {
2068
- return {
2069
- startIndex: 0,
2070
- endIndex: lastIndex
2071
- };
2072
- }
2073
- let startIndex = findNearestBinarySearch(0, lastIndex, getStart, scrollOffset);
2074
- let endIndex = startIndex;
2075
- if (lanes === 1) {
2076
- while (endIndex < lastIndex && getEnd(endIndex) < scrollOffset + outerSize) {
2077
- endIndex++;
2078
- }
2079
- } else if (lanes > 1) {
2080
- const endPerLane = Array(lanes).fill(0);
2081
- while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {
2082
- const item = measurements[endIndex];
2083
- endPerLane[item.lane] = item.end;
2084
- endIndex++;
2085
- }
2086
- const startPerLane = Array(lanes).fill(scrollOffset + outerSize);
2087
- while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {
2088
- const item = measurements[startIndex];
2089
- startPerLane[item.lane] = item.start;
2090
- startIndex--;
2091
- }
2092
- startIndex = Math.max(0, startIndex - startIndex % lanes);
2093
- endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));
2094
- }
2095
- return { startIndex, endIndex };
2096
- }
2097
-
2098
- // src/_internal/use-virtualizer.svelte.ts
2099
- import { createSubscriber } from "svelte/reactivity";
2100
-
2101
- class TreeVirtualizer {
2102
- options;
2103
- #virtualizer = null;
2104
- #scrollElement = null;
2105
- #update = () => {};
2106
- #subscribe;
2107
- constructor(options) {
2108
- this.options = options;
2109
- this.#subscribe = createSubscriber((update) => {
2110
- if (typeof window === "undefined")
2111
- return;
2112
- this.#update = update;
2113
- this.#virtualizer = new Virtualizer(this.#buildOptions());
2114
- const cleanup = this.#virtualizer._didMount();
2115
- this.#virtualizer._willUpdate();
2116
- update();
2117
- return () => {
2118
- cleanup();
2119
- this.#virtualizer = null;
2120
- };
2121
- });
2122
- }
2123
- get virtualItems() {
2124
- this.#subscribe();
2125
- this.#syncOptions();
2126
- const fallbackItems = this.#fallbackVirtualItems();
2127
- const virtualizerItems = this.#virtualizer?.getVirtualItems();
2128
- const items = this.#shouldUseFallbackVirtualItems(virtualizerItems, fallbackItems) ? fallbackItems : virtualizerItems ?? fallbackItems;
2129
- return items.map((item) => ({ ...item }));
2130
- }
2131
- get totalSize() {
2132
- this.#subscribe();
2133
- this.#syncOptions();
2134
- return this.#virtualizer?.getTotalSize() ?? this.options.getCount() * this.options.getEstimatedSize();
2135
- }
2136
- setScrollElement(element) {
2137
- if (this.#scrollElement === element)
2138
- return;
2139
- this.#scrollElement = element;
2140
- this.#syncOptions();
2141
- this.#update();
2142
- }
2143
- scrollElement = (node) => {
2144
- this.setScrollElement(node);
2145
- return () => {
2146
- if (this.#scrollElement === node) {
2147
- this.setScrollElement(null);
2148
- }
2149
- };
2150
- };
2151
- measureElement = (node) => {
2152
- this.#syncOptions();
2153
- this.#virtualizer?.measureElement(node);
2154
- return () => this.#virtualizer?.measureElement(null);
2155
- };
2156
- scrollToIndex(index, options = { align: "auto" }) {
2157
- this.#subscribe();
2158
- this.#syncOptions();
2159
- const element = this.#getScrollElement();
2160
- const shouldUseFallbackScroll = Boolean(element && (!this.#virtualizer || element.clientHeight === 0));
2161
- this.#virtualizer?.scrollToIndex(index, options);
2162
- if (!element || !shouldUseFallbackScroll)
2163
- return;
2164
- element.scrollTop = Math.max(0, index * Math.max(1, this.options.getEstimatedSize()));
2165
- element.dispatchEvent(new Event("scroll"));
2166
- }
2167
- #syncOptions() {
2168
- if (!this.#virtualizer)
2169
- return;
2170
- this.#virtualizer.setOptions(this.#buildOptions());
2171
- this.#virtualizer._willUpdate();
2172
- }
2173
- #getScrollElement = () => this.#scrollElement ?? this.options.getScrollElement();
2174
- #buildOptions() {
2175
- return {
2176
- count: this.options.getCount(),
2177
- getScrollElement: this.#getScrollElement,
2178
- getItemKey: this.options.getItemKey,
2179
- estimateSize: () => this.options.getEstimatedSize(),
2180
- overscan: this.#overscan(),
2181
- initialRect: { width: 0, height: this.options.getInitialHeight() },
2182
- observeElementRect: this.#observeElementRect,
2183
- observeElementOffset: this.#observeElementOffset,
2184
- scrollToFn: this.#scrollToOffset,
2185
- measureElement: this.#measureElement,
2186
- onChange: () => this.#update(),
2187
- indexAttribute: "data-cinder-virtual-index"
2188
- };
2189
- }
2190
- #scrollToOffset = (offset, { adjustments = 0, behavior }, instance) => {
2191
- const element = instance.scrollElement;
2192
- if (!element)
2193
- return;
2194
- const top = offset + adjustments;
2195
- if (typeof element.scrollTo === "function") {
2196
- element.scrollTo(behavior ? { top, behavior } : { top });
2197
- return;
2198
- }
2199
- element.scrollTop = top;
2200
- };
2201
- #observeElementRect = (instance, callback) => {
2202
- const element = instance.scrollElement;
2203
- if (!element)
2204
- return () => {};
2205
- const notify = () => {
2206
- const rect = element.getBoundingClientRect();
2207
- callback({
2208
- width: rect.width,
2209
- height: rect.height || element.clientHeight || this.options.getInitialHeight()
2210
- });
2211
- };
2212
- notify();
2213
- if (typeof ResizeObserver === "undefined")
2214
- return () => {};
2215
- const observer = new ResizeObserver(notify);
2216
- observer.observe(element);
2217
- return () => observer.disconnect();
2218
- };
2219
- #measureElement = (element) => {
2220
- const rect = element.getBoundingClientRect();
2221
- return rect.height || this.options.getEstimatedSize();
2222
- };
2223
- #fallbackVirtualItems() {
2224
- const count = this.options.getCount();
2225
- if (count === 0)
2226
- return [];
2227
- const size = Math.max(1, this.options.getEstimatedSize());
2228
- const overscan = this.#overscan();
2229
- const scrollTop = this.#getScrollElement()?.scrollTop ?? 0;
2230
- const visibleCount = Math.ceil(this.options.getInitialHeight() / size);
2231
- const startIndex = Math.max(0, Math.floor(scrollTop / size) - overscan);
2232
- const itemCount = Math.min(count - startIndex, visibleCount + overscan * 2);
2233
- return Array.from({ length: itemCount }, (_, offset) => {
2234
- const index = startIndex + offset;
2235
- return {
2236
- key: this.options.getItemKey(index),
2237
- index,
2238
- start: index * size,
2239
- end: (index + 1) * size,
2240
- size,
2241
- lane: 0
2242
- };
2243
- });
2244
- }
2245
- #shouldUseFallbackVirtualItems(virtualizerItems, fallbackItems) {
2246
- if (!virtualizerItems || fallbackItems.length === 0) {
2247
- return false;
2248
- }
2249
- if (virtualizerItems.length === 0)
2250
- return true;
2251
- const scrollTop = this.#getScrollElement()?.scrollTop ?? 0;
2252
- if (scrollTop <= 0)
2253
- return false;
2254
- const firstVirtualizerIndex = virtualizerItems[0]?.index ?? 0;
2255
- const firstFallbackIndex = fallbackItems[0]?.index ?? 0;
2256
- return Math.abs(firstVirtualizerIndex - firstFallbackIndex) > 1;
2257
- }
2258
- #overscan() {
2259
- return Math.max(0, this.options.getOverscan());
2260
- }
2261
- #observeElementOffset = (instance, callback) => {
2262
- const element = instance.scrollElement;
2263
- if (!element)
2264
- return () => {};
2265
- const notify = () => {
2266
- callback(element.scrollTop, true);
2267
- this.#update();
2268
- };
2269
- callback(element.scrollTop, false);
2270
- element.addEventListener("scroll", notify, { passive: true });
2271
- return () => element.removeEventListener("scroll", notify);
2272
- };
2273
- }
2274
-
2275
- // ../../node_modules/esm-env/false.js
2276
- var false_default = false;
2277
- // ../../node_modules/esm-env/true.js
2278
- var true_default = true;
2279
- // src/utilities/dev-warn.ts
2280
- function devWarn(message, ...args) {
2281
- if (!true_default)
2282
- return;
2283
- console.warn(message, ...args);
2284
- }
2285
-
2286
- // src/components/tree/tree-selection.ts
2287
- function uniqueIds(ids) {
2288
- return [...new Set(ids)];
2289
- }
2290
- function selectableIds(ids, disabledIds = new Set) {
2291
- return uniqueIds(ids).filter((id) => !disabledIds.has(id));
2292
- }
2293
- function selectionStateFor(selectedIds, targetIds, disabledIds = new Set) {
2294
- const targets = selectableIds(targetIds, disabledIds);
2295
- if (targets.length === 0)
2296
- return { checked: false, indeterminate: false };
2297
- const selected = new Set(selectedIds);
2298
- const selectedCount = targets.filter((id) => selected.has(id)).length;
2299
- return {
2300
- checked: selectedCount === targets.length,
2301
- indeterminate: selectedCount > 0 && selectedCount < targets.length
2302
- };
2303
- }
2304
- function selectIds(selectedIds, targetIds, disabledIds = new Set) {
2305
- const targets = selectableIds(targetIds, disabledIds);
2306
- if (targets.length === 0)
2307
- return [...selectedIds];
2308
- const existing = new Set(selectedIds);
2309
- const next = [...selectedIds];
2310
- for (const id of targets) {
2311
- if (!existing.has(id)) {
2312
- existing.add(id);
2313
- next.push(id);
2314
- }
2315
- }
2316
- return next;
2317
- }
2318
- function deselectIds(selectedIds, targetIds, disabledIds = new Set) {
2319
- const targetSet = new Set(selectableIds(targetIds, disabledIds));
2320
- if (targetSet.size === 0)
2321
- return [...selectedIds];
2322
- return selectedIds.filter((id) => !targetSet.has(id));
2323
- }
2324
- function toggleIndependentId(selectedIds, id, disabledIds = new Set) {
2325
- if (disabledIds.has(id))
2326
- return [...selectedIds];
2327
- return selectedIds.includes(id) ? selectedIds.filter((selectedId) => selectedId !== id) : [...selectedIds, id];
2328
- }
2329
- function toggleSelectionScope(selectedIds, targetIds, disabledIds = new Set) {
2330
- const targets = selectableIds(targetIds, disabledIds);
2331
- if (targets.length === 0)
2332
- return [...selectedIds];
2333
- const state = selectionStateFor(selectedIds, targets);
2334
- return state.checked ? deselectIds(selectedIds, targets, disabledIds) : selectIds(selectedIds, targets, disabledIds);
2335
- }
2336
-
2337
- // src/components/tree/tree.svelte
2338
- function Tree($$renderer, $$props) {
2339
- $$renderer.component(($$renderer2) => {
2340
- const generatedId = $7.props_id($$renderer2);
2341
- let {
2342
- selectionMode = "none",
2343
- checkboxSelection = false,
2344
- selectionBehavior = "independent",
2345
- selectedIds = [],
2346
- expandedIds = [],
2347
- ref = undefined,
2348
- items,
2349
- virtualized = false,
2350
- virtualizationEstimatedRowHeight = 36,
2351
- virtualizationOverscan = 4,
2352
- virtualizationHeight = "20rem",
2353
- virtualizedItem,
2354
- "aria-label": ariaLabel,
2355
- "aria-labelledby": ariaLabelledBy,
2356
- disableTypeahead = false,
2357
- id: idAttribute,
2358
- class: className,
2359
- style: styleAttribute,
2360
- selectionControls,
2361
- filterValue,
2362
- onFilterChange,
2363
- filterPlaceholder = "Search tree",
2364
- showSearch = false,
2365
- filterPredicate = defaultFilterPredicate,
2366
- onReorder,
2367
- children,
2368
- $$slots,
2369
- $$events,
2370
- ...rest
2371
- } = $$props;
2372
- function normalizeOptionalText(value) {
2373
- const trimmedValue = value?.trim();
2374
- return trimmedValue ? trimmedValue : undefined;
2375
- }
2376
- function defaultFilterPredicate(label, _id, query) {
2377
- return label.toLowerCase().includes(query.toLowerCase());
2378
- }
2379
- const registry = new TreeRegistry;
2380
- let focusedId = null;
2381
- let treeElement = null;
2382
- let filterInputElement = null;
2383
- let uncontrolledFilterValue = untrack2(() => filterValue ?? "");
2384
- let filterStatusAnnouncement = "";
2385
- let filterStatusAnnouncementSequence = 0;
2386
- let filterStatusBusy = false;
2387
- let filterStatusTimer = null;
2388
- let expansionAnnouncement = "";
2389
- let expansionAnnouncementSequence = 0;
2390
- let dragAnnouncement = "";
2391
- let dragAnnouncementSequence = 0;
2392
- let dragController = null;
2393
- let latestDragPointerX = 0;
2394
- let latestDragPointerY = 0;
2395
- let dragScrollElement = null;
2396
- let dragScrollAnimationFrame = null;
2397
- let selectionAnchorId = null;
2398
- let typeaheadBuffer = "";
2399
- let typeaheadTimer = null;
2400
- let hasWarnedNoLabel = false;
2401
- let hasWarnedVirtualizedChildren = false;
2402
- let hasWarnedVirtualizedWithoutItems = false;
2403
- const resolvedAriaLabel = $7.derived(() => normalizeOptionalText(ariaLabel));
2404
- const resolvedAriaLabelledBy = $7.derived(() => normalizeOptionalText(ariaLabelledBy));
2405
- const resolvedFilterPlaceholder = $7.derived(() => normalizeOptionalText(filterPlaceholder) ?? "Search tree");
2406
- const isFilterControlled = $7.derived(() => filterValue !== undefined);
2407
- const currentFilterValue = $7.derived(() => isFilterControlled() ? filterValue ?? "" : uncontrolledFilterValue);
2408
- const normalizedFilterValue = $7.derived(() => currentFilterValue().trim());
2409
- const filtering = $7.derived(() => normalizedFilterValue().length > 0);
2410
- const treeId = $7.derived(() => idAttribute ?? `${generatedId}-tree`);
2411
- const filterInputId = $7.derived(() => `${generatedId}-filter`);
2412
- const dragInstructionsId = $7.derived(() => `${generatedId}-drag-instructions`);
2413
- const isVirtualizedTree = $7.derived(() => virtualized && items != null);
2414
- const flattenedDataItems = $7.derived(() => flattenTreeDataItems(items ?? []));
2415
- const flattenedDataItemById = $7.derived(() => new Map(flattenedDataItems().map((item) => [item.id, item])));
2416
- const hasTreeChrome = $7.derived(() => selectionControls != null || showSearch || filtering() || onReorder != null);
2417
- const hasRegisteredItems = $7.derived(() => isVirtualizedTree() ? flattenedDataItems().length > 0 : registry.size > 0);
2418
- const activeVisibilityPredicate = $7.derived(() => {
2419
- if (!filtering())
2420
- return;
2421
- const query = normalizedFilterValue();
2422
- const predicate = filterPredicate;
2423
- return ({ id, label }) => predicate(label, id, query);
2424
- });
2425
- const activeDataVisibilityPredicate = $7.derived(() => {
2426
- if (!filtering())
2427
- return;
2428
- const query = normalizedFilterValue();
2429
- const predicate = filterPredicate;
2430
- return (item) => predicate(item.label, item.id, query);
2431
- });
2432
- const visibleDataItems = $7.derived(() => visibleTreeDataItems(flattenedDataItems(), expandedIds, activeDataVisibilityPredicate()));
2433
- const registryVisibleIds = $7.derived(() => registry.getVisible(expandedIds, activeVisibilityPredicate()));
2434
- const visibleIds = $7.derived(() => isVirtualizedTree() ? visibleDataItems().map((item) => item.id) : registryVisibleIds());
2435
- const hasNoFilterResults = $7.derived(() => filtering() && hasRegisteredItems() && visibleIds().length === 0);
2436
- const visibleIdSet = $7.derived(() => new SvelteSet(visibleIds()));
2437
- const expandableBranchIds = $7.derived(() => isVirtualizedTree() ? flattenedDataItems().filter((item) => item.branch).map((item) => item.id) : registry.getAllBranchIds({ bulkOnly: true }));
2438
- const expandableBranchCount = $7.derived(() => expandableBranchIds().length);
2439
- const hasExpandedItems = $7.derived(() => expandedIds.length > 0);
2440
- const initialFocusId = $7.derived(() => {
2441
- if (selectionMode !== "none" && selectedIds.length > 0) {
2442
- for (const id of visibleIds()) {
2443
- if (selectedIds.includes(id))
2444
- return id;
2445
- }
2446
- }
2447
- return visibleIds()[0] ?? null;
2448
- });
2449
- function visibleFocusCandidate(id) {
2450
- return id !== null && visibleIds().includes(id) ? id : null;
2451
- }
2452
- const effectiveFocusedId = $7.derived(() => {
2453
- return visibleFocusCandidate(focusedId) ?? visibleFocusCandidate(initialFocusId()) ?? visibleIds()[0] ?? null;
2454
- });
2455
- const virtualizer = new TreeVirtualizer({
2456
- getScrollElement: () => treeElement,
2457
- getCount: () => visibleDataItems().length,
2458
- getItemKey: (index) => visibleDataItems()[index]?.id ?? index,
2459
- getEstimatedSize: () => virtualizationEstimatedRowHeight,
2460
- getOverscan: () => virtualizationOverscan,
2461
- getInitialHeight: () => typeof virtualizationHeight === "number" ? virtualizationHeight : virtualizationEstimatedRowHeight * 10
2462
- });
2463
- const virtualItems = $7.derived(() => virtualizer.virtualItems);
2464
- const virtualizedActiveItem = $7.derived(() => effectiveFocusedId() ? flattenedDataItemById().get(effectiveFocusedId()) : undefined);
2465
- const virtualizedActiveDescendantId = $7.derived(() => isVirtualizedTree() && virtualizedActiveItem() ? virtualItemElementId(virtualizedActiveItem()) : undefined);
2466
- const virtualRows = $7.derived(() => {
2467
- const rows = [];
2468
- const renderedIndexes = new Set;
2469
- for (const virtualItem of virtualItems()) {
2470
- const item = visibleDataItems()[virtualItem.index];
2471
- if (item) {
2472
- renderedIndexes.add(virtualItem.index);
2473
- rows.push({ virtualItem, item });
2474
- }
2475
- }
2476
- if (effectiveFocusedId()) {
2477
- const focusedIndex = visibleIds().indexOf(effectiveFocusedId());
2478
- const focusedItem = visibleDataItems()[focusedIndex];
2479
- if (focusedItem && !renderedIndexes.has(focusedIndex)) {
2480
- const size = virtualizationEstimatedRowHeight;
2481
- rows.push({
2482
- item: focusedItem,
2483
- virtualItem: {
2484
- key: focusedItem.id,
2485
- index: focusedIndex,
2486
- start: focusedIndex * size,
2487
- end: (focusedIndex + 1) * size,
2488
- size,
2489
- lane: 0
2490
- }
2491
- });
2492
- }
2493
- }
2494
- rows.sort((a, b) => a.virtualItem.index - b.virtualItem.index);
2495
- return rows;
2496
- });
2497
- function virtualItemElementId(item) {
2498
- return `${treeId()}-item-${item.index}`;
2499
- }
2500
- function virtualizedHeightValue() {
2501
- return typeof virtualizationHeight === "number" ? `${virtualizationHeight}px` : virtualizationHeight;
2502
- }
2503
- function virtualizedTreeStyle() {
2504
- return `block-size: ${virtualizedHeightValue()}; overflow: auto; position: relative;`;
2505
- }
2506
- function treeStyle() {
2507
- const forwardedStyle = styleAttribute ?? undefined;
2508
- if (!isVirtualizedTree())
2509
- return forwardedStyle;
2510
- return forwardedStyle ? `${forwardedStyle}; ${virtualizedTreeStyle()}` : virtualizedTreeStyle();
2511
- }
2512
- function virtualizedSpacerStyle() {
2513
- return `block-size: ${virtualizer.totalSize}px; position: relative; inline-size: 100%;`;
2514
- }
2515
- function virtualizedRowStyle(start, size) {
2516
- return `position: absolute; inset-inline: 0; transform: translateY(${start}px); block-size: ${size}px;`;
2517
- }
2518
- function virtualizedItemExpanded(item) {
2519
- return expandedIds.includes(item.id) || filtering() && item.branch && visibleDataItems().some((visibleItem) => visibleItem.id !== item.id && visibleItem.ancestorIds.includes(item.id));
2520
- }
2521
- function firstVisibleVirtualizedChildIndex(parentId) {
2522
- return visibleDataItems().findIndex((item) => item.parentId === parentId);
2523
- }
2524
- function focusFirstVirtualizedChild(parentId) {
2525
- const index = firstVisibleVirtualizedChildIndex(parentId);
2526
- if (index !== -1)
2527
- focusVirtualIndex(index);
2528
- }
2529
- function focusNode(id) {
2530
- if (isVirtualizedTree()) {
2531
- const index = visibleIds().indexOf(id);
2532
- if (index !== -1)
2533
- focusVirtualIndex(index);
2534
- return;
2535
- }
2536
- focusedId = id;
2537
- registry.getNode(id)?.focus();
2538
- }
2539
- async function focusVirtualIndex(index) {
2540
- const id = visibleIds()[index];
2541
- if (!id)
2542
- return;
2543
- virtualizer.scrollToIndex(index, { align: "auto" });
2544
- await tick2();
2545
- focusedId = id;
2546
- treeElement?.focus();
2547
- }
2548
- function announceExpansion(message) {
2549
- expansionAnnouncement = message;
2550
- expansionAnnouncementSequence += 1;
2551
- }
2552
- function announceDrag(message) {
2553
- dragAnnouncement = message;
2554
- dragAnnouncementSequence += 1;
2555
- }
2556
- function focusFallbackAfterUnregister(parentId) {
2557
- const currentVisibleIds = registry.getVisible(expandedIds, activeVisibilityPredicate());
2558
- const selectedVisibleId = selectionMode === "none" ? null : currentVisibleIds.find((id) => selectedIds.includes(id));
2559
- const fallbackId = (parentId && currentVisibleIds.includes(parentId) ? parentId : null) ?? selectedVisibleId ?? currentVisibleIds[0] ?? null;
2560
- if (fallbackId) {
2561
- focusNode(fallbackId);
2562
- } else {
2563
- focusedId = null;
2564
- }
2565
- }
2566
- function setExpandedInternal(id, next) {
2567
- if (next) {
2568
- if (!expandedIds.includes(id)) {
2569
- expandedIds = [...expandedIds, id];
2570
- }
2571
- } else {
2572
- expandedIds = expandedIds.filter((existing) => existing !== id);
2573
- }
2574
- }
2575
- function withExpandedIds(ids) {
2576
- const nextIds = [...expandedIds];
2577
- const seen = new Set(nextIds);
2578
- for (const id of ids) {
2579
- if (!seen.has(id)) {
2580
- seen.add(id);
2581
- nextIds.push(id);
2582
- }
2583
- }
2584
- return nextIds;
2585
- }
2586
- async function expandAll() {
2587
- if (isVirtualizedTree()) {
2588
- const nextIds = withExpandedIds(expandableBranchIds());
2589
- if (nextIds.length !== expandedIds.length) {
2590
- expandedIds = nextIds;
2591
- await tick2();
2592
- announceExpansion("All items expanded.");
2593
- }
2594
- return;
2595
- }
2596
- let changed = false;
2597
- while (true) {
2598
- const nextIds = withExpandedIds(registry.getAllBranchIds({ bulkOnly: true }));
2599
- if (nextIds.length === expandedIds.length)
2600
- break;
2601
- expandedIds = nextIds;
2602
- changed = true;
2603
- await tick2();
2604
- }
2605
- if (changed)
2606
- announceExpansion("All items expanded.");
2607
- }
2608
- function collapseAll() {
2609
- if (expandedIds.length === 0)
2610
- return;
2611
- expandedIds = [];
2612
- announceExpansion("All items collapsed.");
2613
- }
2614
- function expandOneLevel() {
2615
- const expandedIdSet = new Set(expandedIds);
2616
- const visibleBranchIds = isVirtualizedTree() ? visibleDataItems().filter((item) => item.branch && item.ancestorIds.every((id) => expandedIdSet.has(id))).map((item) => item.id) : visibleIds().filter((id) => registry.isBulkExpandableBranch(id) && registry.ancestorsOf(id).every((ancestorId) => expandedIdSet.has(ancestorId)));
2617
- const nextIds = withExpandedIds(visibleBranchIds);
2618
- if (nextIds.length === expandedIds.length)
2619
- return;
2620
- expandedIds = nextIds;
2621
- announceExpansion("One tree level expanded.");
2622
- }
2623
- function focusItem(id) {
2624
- if (!visibleIds().includes(id))
2625
- return;
2626
- focusNode(id);
2627
- }
2628
- async function expandToItem(id) {
2629
- if (isVirtualizedTree()) {
2630
- const item = flattenedDataItemById().get(id);
2631
- if (!item)
2632
- return;
2633
- const nextIds2 = withExpandedIds(item.ancestorIds);
2634
- if (nextIds2.length !== expandedIds.length) {
2635
- expandedIds = nextIds2;
2636
- await tick2();
2637
- }
2638
- focusItem(id);
2639
- return;
2640
- }
2641
- if (!registry.getNode(id))
2642
- return;
2643
- const nextIds = withExpandedIds(registry.ancestorsOf(id));
2644
- if (nextIds.length !== expandedIds.length) {
2645
- expandedIds = nextIds;
2646
- await tick2();
2647
- }
2648
- focusItem(id);
2649
- }
2650
- function scrollToRow(id, options) {
2651
- if (isVirtualizedTree()) {
2652
- const index = visibleIds().indexOf(id);
2653
- if (index !== -1) {
2654
- virtualizer.scrollToIndex(index, {
2655
- align: options?.block === "center" ? "center" : "auto",
2656
- behavior: options?.behavior === "smooth" ? "smooth" : "auto"
2657
- });
2658
- }
2659
- return;
2660
- }
2661
- registry.getNode(id)?.node.scrollIntoView(options ?? { block: "nearest" });
2662
- }
2663
- function disabledIdsFor(ids) {
2664
- const disabledIds = new Set;
2665
- for (const id of ids) {
2666
- if (isVirtualizedTree()) {
2667
- if (flattenedDataItemById().get(id)?.disabled)
2668
- disabledIds.add(id);
2669
- } else if (registry.getNode(id)?.disabled) {
2670
- disabledIds.add(id);
2671
- }
2672
- }
2673
- return disabledIds;
2674
- }
2675
- function checkboxSelectionActive() {
2676
- return checkboxSelection && selectionMode === "multiple";
2677
- }
2678
- function ariaCheckedForSelectionState(state) {
2679
- if (!checkboxSelectionActive())
2680
- return;
2681
- if (state.indeterminate)
2682
- return "mixed";
2683
- return state.checked ? "true" : "false";
2684
- }
2685
- function selectionTargetsFor(id) {
2686
- if (isVirtualizedTree()) {
2687
- const item = flattenedDataItemById().get(id);
2688
- if (!item)
2689
- return [];
2690
- return [id, ...descendantTreeDataIds(flattenedDataItems(), id)];
2691
- }
2692
- const node = registry.getNode(id);
2693
- if (!node)
2694
- return [];
2695
- const explicitScopeIds = node.selectionScopeIds?.();
2696
- if (explicitScopeIds?.length)
2697
- return [...explicitScopeIds];
2698
- return [id, ...registry.descendantsOf(id)];
2699
- }
2700
- function childDataItemIds(parentId) {
2701
- return visibleDataItems().filter((item) => item.parentId === parentId).map((item) => item.id);
2702
- }
2703
- function selectionTargetsForChildren(parentId, includeDescendants) {
2704
- const childIds = isVirtualizedTree() ? childDataItemIds(parentId) : registry.childrenOf(parentId);
2705
- if (!includeDescendants)
2706
- return childIds;
2707
- const targets = [];
2708
- for (const childId of childIds) {
2709
- targets.push(...selectionTargetsFor(childId));
2710
- }
2711
- return [...new Set(targets)];
2712
- }
2713
- function selectionStateForId(id) {
2714
- const targets = selectionBehavior === "cascade" ? selectionTargetsFor(id) : [id];
2715
- const aggregateDisabledIds = disabledIdsFor(targets.filter((targetId) => targetId !== id));
2716
- return selectionStateFor(selectedIds, targets, aggregateDisabledIds);
2717
- }
2718
- function applySelectionScope(targets, next = undefined) {
2719
- const disabledIds = disabledIdsFor(targets);
2720
- selectedIds = next === true ? selectIds(selectedIds, targets, disabledIds) : next === false ? deselectIds(selectedIds, targets, disabledIds) : toggleSelectionScope(selectedIds, targets, disabledIds);
2721
- }
2722
- function toggleSelectionScopeInternal(id) {
2723
- if (selectionMode !== "multiple")
2724
- return;
2725
- const disabled = isVirtualizedTree() ? flattenedDataItemById().get(id)?.disabled ?? true : registry.getNode(id)?.disabled ?? true;
2726
- if (disabled)
2727
- return;
2728
- if (selectionBehavior === "cascade") {
2729
- applySelectionScope(selectionTargetsFor(id));
2730
- } else {
2731
- selectedIds = toggleIndependentId(selectedIds, id, disabledIdsFor([id]));
2732
- }
2733
- selectionAnchorId = id;
2734
- }
2735
- function toggleSelectedInternal(id, event) {
2736
- const disabled = isVirtualizedTree() ? flattenedDataItemById().get(id)?.disabled ?? true : registry.getNode(id)?.disabled ?? true;
2737
- if (disabled)
2738
- return;
2739
- if (selectionMode === "none")
2740
- return;
2741
- const isShift = event?.shiftKey ?? false;
2742
- const isMeta = event ? event.metaKey || event.ctrlKey : false;
2743
- if (selectionMode === "single") {
2744
- selectedIds = selectedIds.includes(id) ? [] : [id];
2745
- selectionAnchorId = id;
2746
- return;
2747
- }
2748
- if (isShift && selectionAnchorId) {
2749
- const anchorVisible = visibleIds().includes(selectionAnchorId);
2750
- const anchor = anchorVisible ? selectionAnchorId : id;
2751
- if (!anchorVisible)
2752
- selectionAnchorId = id;
2753
- const anchorIndex = visibleIds().indexOf(anchor);
2754
- const targetIndex = visibleIds().indexOf(id);
2755
- const start = Math.min(anchorIndex, targetIndex);
2756
- const end = Math.max(anchorIndex, targetIndex);
2757
- const rangeIds = visibleIds().slice(start, end + 1).filter((rangeId) => {
2758
- if (isVirtualizedTree())
2759
- return !flattenedDataItemById().get(rangeId)?.disabled;
2760
- const rangeNode = registry.getNode(rangeId);
2761
- return rangeNode && !rangeNode.disabled;
2762
- });
2763
- selectedIds = rangeIds;
2764
- } else if (isMeta) {
2765
- selectedIds = toggleIndependentId(selectedIds, id);
2766
- selectionAnchorId = id;
2767
- } else {
2768
- if (selectionBehavior === "cascade") {
2769
- applySelectionScope(selectionTargetsFor(id));
2770
- } else {
2771
- selectedIds = toggleIndependentId(selectedIds, id);
2772
- }
2773
- selectionAnchorId = id;
2774
- }
2775
- }
2776
- function selectAll() {
2777
- if (selectionMode !== "multiple")
2778
- return;
2779
- const allVisibleTargets = visibleIds().flatMap((id) => {
2780
- const disabled = isVirtualizedTree() ? flattenedDataItemById().get(id)?.disabled ?? true : registry.getNode(id)?.disabled ?? true;
2781
- if (disabled)
2782
- return [];
2783
- return selectionBehavior === "cascade" ? selectionTargetsFor(id) : [id];
2784
- });
2785
- const disabledIds = disabledIdsFor(allVisibleTargets);
2786
- selectedIds = selectIds(selectionBehavior === "cascade" ? selectedIds : [], allVisibleTargets, disabledIds);
2787
- if (allVisibleTargets.length > 0)
2788
- selectionAnchorId = allVisibleTargets[0];
2789
- }
2790
- const treeRef = {
2791
- expandAll,
2792
- collapseAll,
2793
- expandOneLevel,
2794
- focusItem,
2795
- expandToItem,
2796
- scrollToRow
2797
- };
2798
- const context = {
2799
- get selectionMode() {
2800
- return selectionMode;
2801
- },
2802
- get selectionBehavior() {
2803
- return selectionBehavior;
2804
- },
2805
- get checkboxSelection() {
2806
- return checkboxSelection;
2807
- },
2808
- get multiselectable() {
2809
- return selectionMode === "multiple";
2810
- },
2811
- get typeaheadEnabled() {
2812
- return !disableTypeahead;
2813
- },
2814
- get expandedIds() {
2815
- return expandedIds;
2816
- },
2817
- get selectedIds() {
2818
- return selectedIds;
2819
- },
2820
- get focusedId() {
2821
- return effectiveFocusedId();
2822
- },
2823
- get filtering() {
2824
- return filtering();
2825
- },
2826
- get filterValue() {
2827
- return normalizedFilterValue();
2828
- },
2829
- get hasRegisteredItems() {
2830
- return hasRegisteredItems();
2831
- },
2832
- get expandableBranchCount() {
2833
- return expandableBranchCount();
2834
- },
2835
- get hasExpandedItems() {
2836
- return hasExpandedItems();
2837
- },
2838
- get dragController() {
2839
- return dragController;
2840
- },
2841
- get dragInstructionsId() {
2842
- return dragInstructionsId();
2843
- },
2844
- isExpanded(id) {
2845
- return expandedIds.includes(id);
2846
- },
2847
- isSelected(id) {
2848
- return selectedIds.includes(id);
2849
- },
2850
- isFocused(id) {
2851
- return effectiveFocusedId() === id;
2852
- },
2853
- isVisible(id) {
2854
- return visibleIdSet().has(id);
2855
- },
2856
- hasVisibleDescendant(id) {
2857
- return registry.descendantsOf(id).some((descendantId) => visibleIdSet().has(descendantId));
2858
- },
2859
- matchesFilter(label, id) {
2860
- return filtering() && filterPredicate(label, id, normalizedFilterValue());
2861
- },
2862
- checkboxSelectionActive,
2863
- selectionStateFor: selectionStateForId,
2864
- toggleSelectionScope(id) {
2865
- toggleSelectionScopeInternal(id);
2866
- },
2867
- selectSelectionScope(parentId, next, includeDescendants) {
2868
- if (selectionMode !== "multiple")
2869
- return;
2870
- applySelectionScope(selectionTargetsForChildren(parentId, includeDescendants), next);
2871
- },
2872
- hasSelectableSelectionScope(parentId, includeDescendants) {
2873
- const targets = selectionTargetsForChildren(parentId, includeDescendants);
2874
- const disabledIds = disabledIdsFor(targets);
2875
- return targets.some((id) => !disabledIds.has(id));
2876
- },
2877
- selectionTargetsFor,
2878
- selectionTargetsForChildren,
2879
- setExpanded: setExpandedInternal,
2880
- expandAll,
2881
- collapseAll,
2882
- expandOneLevel,
2883
- focusItem,
2884
- expandToItem,
2885
- scrollToRow,
2886
- toggleSelected: toggleSelectedInternal,
2887
- register(node) {
2888
- const unregister = registry.register(node);
2889
- return () => {
2890
- unregister();
2891
- if (focusedId === node.id) {
2892
- focusFallbackAfterUnregister(node.parentId);
2893
- }
2894
- };
2895
- },
2896
- focusVisibleDelta(currentId, delta) {
2897
- const index = visibleIds().indexOf(currentId);
2898
- if (index === -1)
2899
- return;
2900
- const nextIndex = index + delta;
2901
- if (nextIndex < 0 || nextIndex >= visibleIds().length)
2902
- return;
2903
- focusNode(visibleIds()[nextIndex]);
2904
- },
2905
- canFocusVisibleDelta(currentId, delta) {
2906
- const index = visibleIds().indexOf(currentId);
2907
- if (index === -1)
2908
- return false;
2909
- const nextIndex = index + delta;
2910
- return nextIndex >= 0 && nextIndex < visibleIds().length;
2911
- },
2912
- focusFirstVisible() {
2913
- if (visibleIds().length > 0)
2914
- focusNode(visibleIds()[0]);
2915
- },
2916
- focusLastVisible() {
2917
- if (visibleIds().length > 0)
2918
- focusNode(visibleIds()[visibleIds().length - 1]);
2919
- },
2920
- focusParent(currentId) {
2921
- const parentId = registry.parentOf(currentId);
2922
- if (parentId)
2923
- focusNode(parentId);
2924
- },
2925
- focusFirstChild(currentId) {
2926
- const childId = registry.childrenOf(currentId).find((id) => visibleIdSet().has(id));
2927
- if (childId)
2928
- focusNode(childId);
2929
- },
2930
- handleTypeahead(char, currentId) {
2931
- if (disableTypeahead)
2932
- return;
2933
- if (typeaheadTimer !== null)
2934
- clearTimeout(typeaheadTimer);
2935
- typeaheadBuffer += char;
2936
- const match = registry.typeaheadMatch(typeaheadBuffer, currentId, expandedIds, activeVisibilityPredicate());
2937
- if (match)
2938
- focusNode(match);
2939
- typeaheadTimer = setTimeout(() => {
2940
- typeaheadBuffer = "";
2941
- typeaheadTimer = null;
2942
- }, 500);
2943
- },
2944
- expandSiblings(currentId) {
2945
- const siblings = registry.siblingsOf(currentId);
2946
- const branchSiblings = siblings.filter((id) => {
2947
- const node = registry.getNode(id);
2948
- return node?.isBranch() && !expandedIds.includes(id);
2949
- });
2950
- if (branchSiblings.length > 0) {
2951
- expandedIds = [...expandedIds, ...branchSiblings];
2952
- }
2953
- },
2954
- notifyFocus(id) {
2955
- focusedId = id;
2956
- }
2957
- };
2958
- setTreeContextRaw(context);
2959
- setTreeItemParentContextRaw({ parentId: null, level: 1 });
2960
- function handleKeydown(event) {
2961
- if (isVirtualizedTree() && handleVirtualizedKeydown(event))
2962
- return;
2963
- if ((event.metaKey || event.ctrlKey) && event.key === "a") {
2964
- event.preventDefault();
2965
- selectAll();
2966
- }
2967
- if (event.key === "Escape" && dragController?.dragging) {
2968
- event.preventDefault();
2969
- dragController.cancel();
2970
- }
2971
- }
2972
- function currentVirtualIndex() {
2973
- const index = effectiveFocusedId() ? visibleIds().indexOf(effectiveFocusedId()) : -1;
2974
- return index === -1 ? 0 : index;
2975
- }
2976
- function focusVirtualDelta(delta) {
2977
- const nextIndex = currentVirtualIndex() + delta;
2978
- if (nextIndex < 0 || nextIndex >= visibleIds().length)
2979
- return;
2980
- focusVirtualIndex(nextIndex);
2981
- }
2982
- function applyVirtualizedShiftSelection(currentId, event) {
2983
- if (!currentId || !event.shiftKey || selectionMode !== "multiple")
2984
- return;
2985
- toggleSelectedInternal(currentId, event);
2986
- }
2987
- function expandVirtualizedSiblings(currentId) {
2988
- const currentItem = currentId ? flattenedDataItemById().get(currentId) : undefined;
2989
- if (!currentItem)
2990
- return;
2991
- const siblingBranchIds = flattenedDataItems().filter((item) => item.parentId === currentItem.parentId && item.branch).map((item) => item.id);
2992
- const nextIds = withExpandedIds(siblingBranchIds);
2993
- if (nextIds.length !== expandedIds.length)
2994
- expandedIds = nextIds;
2995
- }
2996
- function handleVirtualizedKeydown(event) {
2997
- if ((event.metaKey || event.ctrlKey) && event.key === "a") {
2998
- event.preventDefault();
2999
- selectAll();
3000
- return true;
3001
- }
3002
- const currentId = effectiveFocusedId();
3003
- const currentItem = currentId ? flattenedDataItemById().get(currentId) : undefined;
3004
- switch (event.key) {
3005
- case "ArrowDown":
3006
- event.preventDefault();
3007
- applyVirtualizedShiftSelection(currentId, event);
3008
- focusVirtualDelta(1);
3009
- return true;
3010
- case "ArrowUp":
3011
- event.preventDefault();
3012
- applyVirtualizedShiftSelection(currentId, event);
3013
- focusVirtualDelta(-1);
3014
- return true;
3015
- case "Home":
3016
- event.preventDefault();
3017
- focusVirtualIndex(0);
3018
- return true;
3019
- case "End":
3020
- event.preventDefault();
3021
- focusVirtualIndex(visibleIds().length - 1);
3022
- return true;
3023
- case "ArrowRight":
3024
- event.preventDefault();
3025
- if (!currentItem?.branch)
3026
- return true;
3027
- if (!virtualizedItemExpanded(currentItem)) {
3028
- setExpandedInternal(currentItem.id, true);
3029
- } else {
3030
- focusFirstVirtualizedChild(currentItem.id);
3031
- }
3032
- return true;
3033
- case "ArrowLeft":
3034
- event.preventDefault();
3035
- if (currentItem?.branch && expandedIds.includes(currentItem.id)) {
3036
- setExpandedInternal(currentItem.id, false);
3037
- } else if (currentItem?.parentId) {
3038
- focusNode(currentItem.parentId);
3039
- }
3040
- return true;
3041
- case "Enter":
3042
- case " ":
3043
- if (!currentItem)
3044
- return false;
3045
- event.preventDefault();
3046
- activateVirtualizedItemFromKeyboard(currentItem, event);
3047
- return true;
3048
- case "*":
3049
- event.preventDefault();
3050
- expandVirtualizedSiblings(currentId);
3051
- return true;
3052
- default:
3053
- return handleVirtualizedTypeahead(event);
3054
- }
3055
- }
3056
- function handleVirtualizedTypeahead(event) {
3057
- if (disableTypeahead || event.key.length !== 1 || event.ctrlKey || event.metaKey || event.altKey) {
3058
- return false;
3059
- }
3060
- event.preventDefault();
3061
- if (typeaheadTimer !== null)
3062
- clearTimeout(typeaheadTimer);
3063
- typeaheadBuffer += event.key.toLowerCase();
3064
- const startIndex = currentVirtualIndex();
3065
- for (let offset = 1;offset <= visibleDataItems().length; offset++) {
3066
- const index = (startIndex + offset) % visibleDataItems().length;
3067
- const item = visibleDataItems()[index];
3068
- if (item?.label.toLowerCase().startsWith(typeaheadBuffer)) {
3069
- focusVirtualIndex(index);
3070
- break;
3071
- }
3072
- }
3073
- typeaheadTimer = setTimeout(() => {
3074
- typeaheadBuffer = "";
3075
- typeaheadTimer = null;
3076
- }, 500);
3077
- return true;
3078
- }
3079
- function updateFilterValue(next) {
3080
- if (!isFilterControlled())
3081
- uncontrolledFilterValue = next;
3082
- onFilterChange?.(next);
3083
- }
3084
- function handleFilterInput(event) {
3085
- const target = event.currentTarget;
3086
- updateFilterValue(target.value);
3087
- }
3088
- function handleFilterKeydown(event) {
3089
- if (event.key === "ArrowDown") {
3090
- event.preventDefault();
3091
- const firstVisibleId = visibleIds()[0];
3092
- if (firstVisibleId)
3093
- focusNode(firstVisibleId);
3094
- return;
3095
- }
3096
- if (event.key === "Escape" && currentFilterValue().length > 0) {
3097
- event.preventDefault();
3098
- event.stopPropagation();
3099
- updateFilterValue("");
3100
- filterInputElement?.focus();
3101
- }
3102
- }
3103
- function pointerTargetElement(clientX, clientY, fallbackTarget) {
3104
- if (typeof document !== "undefined") {
3105
- const element = document.elementFromPoint(clientX, clientY);
3106
- if (element instanceof HTMLElement)
3107
- return element;
3108
- }
3109
- return fallbackTarget instanceof HTMLElement ? fallbackTarget : null;
3110
- }
3111
- function updateDragTargetFromPointer(clientX, clientY, fallbackTarget) {
3112
- const element = pointerTargetElement(clientX, clientY, fallbackTarget);
3113
- if (!element)
3114
- return;
3115
- dragController?.setDropTarget(dragController.targetFromPointer(clientY, element));
3116
- }
3117
- function stopDragAutoscroll() {
3118
- if (dragScrollAnimationFrame !== null && typeof cancelAnimationFrame === "function") {
3119
- cancelAnimationFrame(dragScrollAnimationFrame);
3120
- }
3121
- dragScrollAnimationFrame = null;
3122
- dragScrollElement = null;
3123
- }
3124
- function scheduleDragAutoscroll() {
3125
- if (dragScrollAnimationFrame !== null || !dragController?.pointerDragging || !dragScrollElement || typeof requestAnimationFrame !== "function") {
3126
- return;
3127
- }
3128
- dragScrollAnimationFrame = requestAnimationFrame(() => {
3129
- dragScrollAnimationFrame = null;
3130
- const tree = dragScrollElement;
3131
- if (!dragController?.pointerDragging || !tree)
3132
- return;
3133
- const rect = tree.getBoundingClientRect();
3134
- const edge = 32;
3135
- const speed = 8;
3136
- const previousScrollTop = tree.scrollTop;
3137
- if (latestDragPointerY - rect.top < edge) {
3138
- tree.scrollTop -= speed;
3139
- } else if (rect.bottom - latestDragPointerY < edge) {
3140
- tree.scrollTop += speed;
3141
- }
3142
- if (tree.scrollTop === previousScrollTop)
3143
- return;
3144
- updateDragTargetFromPointer(latestDragPointerX, latestDragPointerY, tree);
3145
- scheduleDragAutoscroll();
3146
- });
3147
- }
3148
- function handlePointerMove(event) {
3149
- if (!dragController?.pointerDragging)
3150
- return;
3151
- event.preventDefault();
3152
- latestDragPointerX = event.clientX;
3153
- latestDragPointerY = event.clientY;
3154
- dragScrollElement = event.currentTarget;
3155
- updateDragTargetFromPointer(event.clientX, event.clientY, event.target);
3156
- scheduleDragAutoscroll();
3157
- }
3158
- function handlePointerUp(event) {
3159
- if (!dragController?.pointerDragging)
3160
- return;
3161
- event.preventDefault();
3162
- stopDragAutoscroll();
3163
- dragController.drop();
3164
- }
3165
- function handlePointerCancel() {
3166
- if (!dragController?.pointerDragging)
3167
- return;
3168
- stopDragAutoscroll();
3169
- dragController.cancel();
3170
- }
3171
- function handleVirtualizedItemClick(item, event) {
3172
- focusedId = item.id;
3173
- treeElement?.focus();
3174
- if (event.detail > 1)
3175
- return;
3176
- if (!item.disabled)
3177
- toggleSelectedInternal(item.id, event);
3178
- if (item.branch && !event.shiftKey && !event.metaKey && !event.ctrlKey) {
3179
- setExpandedInternal(item.id, !expandedIds.includes(item.id));
3180
- }
3181
- }
3182
- function syncVirtualizedCheckboxElement(element, id) {
3183
- const state = selectionStateForId(id);
3184
- element.checked = state.checked;
3185
- element.indeterminate = state.indeterminate && !state.checked;
3186
- }
3187
- function handleVirtualizedCheckboxClick(item, event) {
3188
- event.stopPropagation();
3189
- focusedId = item.id;
3190
- treeElement?.focus();
3191
- toggleSelectionScopeInternal(item.id);
3192
- const checkbox = event.currentTarget;
3193
- if (checkbox instanceof HTMLInputElement) {
3194
- syncVirtualizedCheckboxElement(checkbox, item.id);
3195
- }
3196
- }
3197
- function activateVirtualizedItemFromKeyboard(item, event) {
3198
- if (item.branch && event.key === "Enter") {
3199
- setExpandedInternal(item.id, !expandedIds.includes(item.id));
3200
- if (checkboxSelectionActive())
3201
- return;
3202
- }
3203
- if (checkboxSelectionActive()) {
3204
- toggleSelectionScopeInternal(item.id);
3205
- } else {
3206
- toggleSelectedInternal(item.id, event);
3207
- }
3208
- }
3209
- function handleVirtualizedItemKeydown(item, event) {
3210
- if (event.key !== "Enter" && event.key !== " ")
3211
- return;
3212
- event.preventDefault();
3213
- event.stopPropagation();
3214
- focusedId = item.id;
3215
- treeElement?.focus();
3216
- activateVirtualizedItemFromKeyboard(item, event);
3217
- }
3218
- function virtualizedRows($$renderer3) {
3219
- $$renderer3.push(`<div class="cinder-tree__virtual-spacer"${$7.attr_style(virtualizedSpacerStyle())}><!--[-->`);
3220
- const each_array = $7.ensure_array_like(virtualRows());
3221
- for (let $$index = 0, $$length = each_array.length;$$index < $$length; $$index++) {
3222
- let row = each_array[$$index];
3223
- const virtualItem = row.virtualItem;
3224
- const item = row.item;
3225
- const itemSelectionState = selectionStateForId(item.id);
3226
- $$renderer3.push(`<div${$7.attr("id", virtualItemElementId(item))} role="treeitem" class="cinder-tree-item cinder-tree-item--virtual"${$7.attr("aria-level", item.level)}${$7.attr("aria-expanded", item.branch ? virtualizedItemExpanded(item) : undefined)}${$7.attr("aria-selected", selectionMode === "none" || checkboxSelectionActive() ? undefined : selectedIds.includes(item.id))}${$7.attr("aria-checked", ariaCheckedForSelectionState(itemSelectionState))}${$7.attr("aria-disabled", item.disabled || undefined)}${$7.attr("aria-setsize", item.setSize)}${$7.attr("aria-posinset", item.posInSet)}${$7.attr("aria-label", item.label)} tabindex="-1"${$7.attr("data-cinder-tree-item-id", item.id)}${$7.attr("data-cinder-expanded", item.branch && virtualizedItemExpanded(item) ? "" : undefined)}${$7.attr("data-cinder-selected", selectedIds.includes(item.id) ? "" : undefined)}${$7.attr("data-cinder-disabled", item.disabled ? "" : undefined)}${$7.attr("data-cinder-focused", effectiveFocusedId() === item.id ? "" : undefined)}${$7.attr("data-cinder-virtual-index", virtualItem.index)}${$7.attr_style(virtualizedRowStyle(virtualItem.start, virtualItem.size))}><div class="cinder-tree-item__row"${$7.attr_style(`padding-inline-start: ${item.level * 1.25}rem;`)}>`);
3227
- if (checkboxSelectionActive()) {
3228
- $$renderer3.push("<!--[0-->");
3229
- $$renderer3.push(`<input type="checkbox" class="cinder-tree-item__checkbox"${$7.attr("checked", itemSelectionState.checked, true)}${$7.attr("disabled", item.disabled, true)} tabindex="-1" aria-hidden="true"/>`);
3230
- } else {
3231
- $$renderer3.push("<!--[-1-->");
3232
- }
3233
- $$renderer3.push(`<!--]--> `);
3234
- if (virtualizedItem) {
3235
- $$renderer3.push("<!--[0-->");
3236
- virtualizedItem($$renderer3, {
3237
- item,
3238
- expanded: virtualizedItemExpanded(item),
3239
- selected: selectedIds.includes(item.id),
3240
- focused: effectiveFocusedId() === item.id
3241
- });
3242
- $$renderer3.push(`<!---->`);
3243
- } else {
3244
- $$renderer3.push("<!--[-1-->");
3245
- $$renderer3.push(`<span class="cinder-tree-item__label cinder-_truncate">${$7.escape(item.label)}</span>`);
3246
- }
3247
- $$renderer3.push(`<!--]--></div></div>`);
3248
- }
3249
- $$renderer3.push(`<!--]--></div>`);
3250
- }
3251
- function treeBody($$renderer3) {
3252
- $$renderer3.push(`<div${$7.attributes({
3253
- ...rest,
3254
- id: treeId(),
3255
- role: "tree",
3256
- tabindex: isVirtualizedTree() ? 0 : -1,
3257
- class: $7.clsx(classNames("cinder-tree", className)),
3258
- style: treeStyle(),
3259
- "aria-label": resolvedAriaLabel(),
3260
- "aria-labelledby": resolvedAriaLabelledBy(),
3261
- "aria-activedescendant": virtualizedActiveDescendantId(),
3262
- "aria-multiselectable": selectionMode === "multiple" ? true : undefined,
3263
- "aria-busy": filterStatusBusy || undefined,
3264
- "data-cinder-checkbox-selection": checkboxSelectionActive() ? "" : undefined,
3265
- "data-cinder-virtualized": isVirtualizedTree() ? "" : undefined
3266
- })}>`);
3267
- if (isVirtualizedTree()) {
3268
- $$renderer3.push("<!--[0-->");
3269
- virtualizedRows($$renderer3);
3270
- } else {
3271
- $$renderer3.push("<!--[-1-->");
3272
- children?.($$renderer3);
3273
- $$renderer3.push(`<!---->`);
3274
- }
3275
- $$renderer3.push(`<!--]--></div>`);
3276
- }
3277
- if (hasTreeChrome()) {
3278
- $$renderer2.push("<!--[0-->");
3279
- $$renderer2.push(`<div class="cinder-tree-root">`);
3280
- if (showSearch) {
3281
- $$renderer2.push("<!--[0-->");
3282
- $$renderer2.push(`<div class="cinder-tree__filter"><label class="cinder-sr-only"${$7.attr("for", filterInputId())}>${$7.escape(resolvedFilterPlaceholder())}</label> <input${$7.attr("id", filterInputId())} class="cinder-tree__filter-input" type="search"${$7.attr("value", currentFilterValue())}${$7.attr("placeholder", resolvedFilterPlaceholder())}${$7.attr("aria-label", resolvedFilterPlaceholder())}${$7.attr("aria-controls", treeId())} autocomplete="off" autocorrect="off"${$7.attr("spellcheck", false)}/></div>`);
3283
- } else {
3284
- $$renderer2.push("<!--[-1-->");
3285
- }
3286
- $$renderer2.push(`<!--]--> `);
3287
- if (selectionControls) {
3288
- $$renderer2.push("<!--[0-->");
3289
- $$renderer2.push(`<div class="cinder-tree__selection-controls">`);
3290
- selectionControls($$renderer2);
3291
- $$renderer2.push(`<!----></div>`);
3292
- } else {
3293
- $$renderer2.push("<!--[-1-->");
3294
- }
3295
- $$renderer2.push(`<!--]--> `);
3296
- if (onReorder) {
3297
- $$renderer2.push("<!--[0-->");
3298
- $$renderer2.push(`<div${$7.attr("id", dragInstructionsId())} class="cinder-sr-only">Press Control Shift Space to lift the focused item, or Space from the reorder handle. Use
3299
- arrow keys to move. Press Space to drop, Escape to cancel.</div>`);
3300
- } else {
3301
- $$renderer2.push("<!--[-1-->");
3302
- }
3303
- $$renderer2.push(`<!--]--> `);
3304
- treeBody($$renderer2);
3305
- $$renderer2.push(`<!----> `);
3306
- if (hasNoFilterResults()) {
3307
- $$renderer2.push("<!--[0-->");
3308
- $$renderer2.push(`<div class="cinder-tree__empty" role="none">No results</div>`);
3309
- } else {
3310
- $$renderer2.push("<!--[-1-->");
3311
- }
3312
- $$renderer2.push(`<!--]--> `);
3313
- _visually_hidden_live_region($$renderer2, {
3314
- message: filterStatusAnnouncement,
3315
- announcementSequence: filterStatusAnnouncementSequence,
3316
- priority: "polite"
3317
- });
3318
- $$renderer2.push(`<!----> `);
3319
- if (onReorder) {
3320
- $$renderer2.push("<!--[0-->");
3321
- _visually_hidden_live_region($$renderer2, {
3322
- message: dragAnnouncement,
3323
- announcementSequence: dragAnnouncementSequence,
3324
- priority: "assertive"
3325
- });
3326
- } else {
3327
- $$renderer2.push("<!--[-1-->");
3328
- }
3329
- $$renderer2.push(`<!--]--></div>`);
3330
- } else {
3331
- $$renderer2.push("<!--[-1-->");
3332
- treeBody($$renderer2);
3333
- }
3334
- $$renderer2.push(`<!--]--> `);
3335
- _visually_hidden_live_region($$renderer2, {
3336
- message: expansionAnnouncement,
3337
- announcementSequence: expansionAnnouncementSequence,
3338
- priority: "polite"
3339
- });
3340
- $$renderer2.push(`<!---->`);
3341
- $7.bind_props($$props, { selectedIds, expandedIds, ref });
3342
- });
3343
- }
3344
-
3345
- // src/components/tree/index.ts
3346
- var Tree2 = Object.assign(Tree, {
3347
- ExpandAll: Tree_expand_all,
3348
- Item: Tree_item,
3349
- SelectAll: Tree_select_all
3350
- });
3351
- var tree_default = Tree2;
1
+ import {
2
+ Tree,
3
+ tree_default
4
+ } from "../../index.server-kq859dmc.js";
5
+ import"../../index.server-wj91h1wk.js";
6
+ import"../../index.server-ny1hfypg.js";
7
+ import"../../index.server-h54v6c32.js";
8
+ import"../../index.server-bgcpy5vk.js";
9
+ import"../../index.server-493m9fm5.js";
10
+ import"../../index.server-hmw4afhn.js";
11
+ import"../../index.server-nj8mebze.js";
12
+ import"../../index.server-ge07r1p8.js";
13
+ import"../../index.server-z7nvkz8v.js";
14
+ import"../../index.server-37x76zdn.js";
3352
15
  export {
3353
16
  tree_default as default,
3354
- Tree2 as Tree
17
+ Tree
3355
18
  };
3356
19
 
3357
- //# debugId=3D1583A37F0759C664756E2164756E21
20
+ //# debugId=797C68CB3D4E957964756E2164756E21