@lostgradient/cinder 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2480) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +4 -2
  3. package/components.json +1465 -290
  4. package/dist/_internal/overlay.d.ts +26 -3
  5. package/dist/_internal/toast-context.d.ts +8 -0
  6. package/dist/_internal/tree-context.d.ts +18 -0
  7. package/dist/_internal/tree-data.d.ts +22 -0
  8. package/dist/_internal/tree-drag-controller.svelte.d.ts +47 -0
  9. package/dist/_internal/tree-registry.svelte.d.ts +19 -3
  10. package/dist/_internal/use-virtualizer.svelte.d.ts +21 -0
  11. package/dist/_internal/virtual-item.d.ts +1 -0
  12. package/dist/components/_timeline-item/index.d.ts +4 -0
  13. package/dist/components/_tree-expand-all/index.d.ts +4 -0
  14. package/dist/components/_tree-expand-all/tree-expand-all.svelte.d.ts +18 -0
  15. package/dist/components/_tree-expand-all/tree-expand-all.types.d.ts +15 -0
  16. package/dist/components/_visually-hidden-live-region.svelte.d.ts +9 -0
  17. package/dist/components/access-gate/access-gate-inline.svelte.d.ts +13 -0
  18. package/dist/components/access-gate/access-gate.css +129 -0
  19. package/dist/components/access-gate/access-gate.schema.js +68 -0
  20. package/dist/components/access-gate/access-gate.svelte.d.ts +20 -0
  21. package/dist/components/access-gate/access-gate.types.d.ts +40 -0
  22. package/dist/components/access-gate/access-gate.variables.js +31 -0
  23. package/dist/components/access-gate/index.d.ts +5 -0
  24. package/dist/components/access-gate/index.js +1836 -0
  25. package/dist/components/accordion/accordion.schema.js +12 -32
  26. package/dist/components/accordion/accordion.svelte.d.ts +9 -2
  27. package/dist/components/accordion/accordion.variables.js +1 -31
  28. package/dist/components/accordion/index.js +1 -31
  29. package/dist/components/accordion-item/accordion-item.schema.js +12 -32
  30. package/dist/components/accordion-item/accordion-item.variables.js +1 -31
  31. package/dist/components/accordion-item/index.js +1 -31
  32. package/dist/components/alert/alert.schema.js +19 -32
  33. package/dist/components/alert/alert.variables.js +1 -31
  34. package/dist/components/alert/index.js +1 -31
  35. package/dist/components/alert-dialog/alert-dialog.schema.js +17 -39
  36. package/dist/components/alert-dialog/alert-dialog.types.d.ts +7 -0
  37. package/dist/components/alert-dialog/alert-dialog.variables.js +1 -31
  38. package/dist/components/alert-dialog/index.js +453 -238
  39. package/dist/components/area-chart/area-chart.schema.js +42 -46
  40. package/dist/components/area-chart/area-chart.types.d.ts +14 -0
  41. package/dist/components/area-chart/area-chart.variables.js +1 -31
  42. package/dist/components/area-chart/index.js +1 -31
  43. package/dist/components/aspect-ratio/aspect-ratio.schema.js +12 -32
  44. package/dist/components/aspect-ratio/aspect-ratio.variables.js +1 -31
  45. package/dist/components/aspect-ratio/index.js +1 -31
  46. package/dist/components/autocomplete/autocomplete.css +10 -3
  47. package/dist/components/autocomplete/autocomplete.schema.js +29 -45
  48. package/dist/components/autocomplete/autocomplete.types.d.ts +14 -0
  49. package/dist/components/autocomplete/autocomplete.variables.js +1 -31
  50. package/dist/components/autocomplete/index.js +961 -529
  51. package/dist/components/avatar/avatar.css +1 -0
  52. package/dist/components/avatar/avatar.schema.js +3 -32
  53. package/dist/components/avatar/avatar.types.d.ts +6 -0
  54. package/dist/components/avatar/avatar.variables.js +1 -31
  55. package/dist/components/avatar/index.js +1 -31
  56. package/dist/components/avatar-group/avatar-group.schema.js +6 -31
  57. package/dist/components/avatar-group/avatar-group.types.d.ts +10 -0
  58. package/dist/components/avatar-group/avatar-group.variables.js +1 -31
  59. package/dist/components/avatar-group/index.js +994 -559
  60. package/dist/components/backdrop/backdrop.schema.js +5 -33
  61. package/dist/components/backdrop/backdrop.variables.js +1 -31
  62. package/dist/components/backdrop/index.js +2 -32
  63. package/dist/components/badge/badge.css +1 -1
  64. package/dist/components/badge/badge.schema.js +12 -32
  65. package/dist/components/badge/badge.variables.js +1 -31
  66. package/dist/components/badge/index.js +1 -31
  67. package/dist/components/banner/banner.schema.js +8 -34
  68. package/dist/components/banner/banner.variables.js +1 -31
  69. package/dist/components/banner/index.js +1 -31
  70. package/dist/components/bar-chart/bar-chart.css +4 -0
  71. package/dist/components/bar-chart/bar-chart.schema.js +42 -46
  72. package/dist/components/bar-chart/bar-chart.types.d.ts +14 -0
  73. package/dist/components/bar-chart/bar-chart.variables.js +1 -31
  74. package/dist/components/bar-chart/index.js +2 -31
  75. package/dist/components/breadcrumbs/breadcrumbs.schema.js +1 -31
  76. package/dist/components/breadcrumbs/breadcrumbs.variables.js +1 -31
  77. package/dist/components/breadcrumbs/index.js +1 -31
  78. package/dist/components/button/button.css +7 -0
  79. package/dist/components/button/button.schema.js +20 -32
  80. package/dist/components/button/button.variables.js +1 -31
  81. package/dist/components/button/index.js +1 -31
  82. package/dist/components/button-group/button-group.schema.js +8 -34
  83. package/dist/components/button-group/button-group.types.d.ts +2 -0
  84. package/dist/components/button-group/button-group.variables.js +1 -31
  85. package/dist/components/button-group/index.js +1 -31
  86. package/dist/components/callout/callout.schema.js +6 -33
  87. package/dist/components/callout/callout.variables.js +1 -31
  88. package/dist/components/callout/index.js +1 -31
  89. package/dist/components/capability-gate/capability-gate.css +5 -2
  90. package/dist/components/capability-gate/capability-gate.schema.js +9 -35
  91. package/dist/components/capability-gate/capability-gate.variables.js +1 -31
  92. package/dist/components/capability-gate/index.js +1 -31
  93. package/dist/components/card/card.schema.js +7 -34
  94. package/dist/components/card/card.types.d.ts +2 -0
  95. package/dist/components/card/card.variables.js +1 -31
  96. package/dist/components/card/index.js +1 -31
  97. package/dist/components/chart.types.d.ts +12 -0
  98. package/dist/components/chat/adapter/chat-adapter.d.ts +123 -0
  99. package/dist/components/chat/adapter/index.d.ts +8 -0
  100. package/dist/components/chat/chat.schema.js +161 -48
  101. package/dist/components/chat/chat.types.d.ts +166 -0
  102. package/dist/components/chat/chat.variables.js +1 -31
  103. package/dist/components/chat/container/chat-history-trigger.svelte.d.ts +15 -0
  104. package/dist/components/chat/container/chat-participant-typing.svelte.d.ts +31 -0
  105. package/dist/components/chat/container/chat-status-announcer.svelte.d.ts +4 -1
  106. package/dist/components/chat/container/chat.svelte.d.ts +2 -85
  107. package/dist/components/chat/container/use-chat-keyboard-nav.svelte.d.ts +8 -0
  108. package/dist/components/chat/container/use-chat-message-groups.svelte.d.ts +16 -0
  109. package/dist/components/chat/container/use-chat-read-receipts.svelte.d.ts +51 -0
  110. package/dist/components/chat/container/use-chat-reasoning-state.svelte.d.ts +55 -0
  111. package/dist/components/chat/container/use-chat-typing-indicator.svelte.d.ts +76 -0
  112. package/dist/components/chat/container/use-chat-virtualizer.svelte.d.ts +47 -0
  113. package/dist/components/chat/index.d.ts +2 -1
  114. package/dist/components/chat/index.js +9813 -7207
  115. package/dist/components/chat/message/chat-message-parts-renderer.svelte.d.ts +4 -0
  116. package/dist/components/chat/message/chat-message-parts.d.ts +96 -0
  117. package/dist/components/chat/message/chat-message.svelte.d.ts +37 -0
  118. package/dist/components/chat/message/chat-read-receipt.svelte.d.ts +27 -0
  119. package/dist/components/chat/message/parts/image-part.svelte.d.ts +17 -0
  120. package/dist/components/chat/message/parts/markdown-part.svelte.d.ts +8 -0
  121. package/dist/components/chat/message/parts/reasoning-part.svelte.d.ts +12 -0
  122. package/dist/components/chat/message/parts/step-part.svelte.d.ts +8 -0
  123. package/dist/components/chat/message/parts/suggestion-part.svelte.d.ts +18 -0
  124. package/dist/components/chat/message/parts/tool-approval-part.svelte.d.ts +12 -0
  125. package/dist/components/chat/message/parts/tool-call-part.svelte.d.ts +12 -0
  126. package/dist/components/chat/message/parts/tool-result-part.svelte.d.ts +8 -0
  127. package/dist/components/chat/utilities/index.d.ts +2 -2
  128. package/dist/components/chat/utilities/types.d.ts +242 -2
  129. package/dist/components/chat/utilities/utilities.d.ts +64 -0
  130. package/dist/components/chat-conversation-header/chat-conversation-header.css +51 -0
  131. package/dist/components/chat-conversation-header/chat-conversation-header.schema.d.ts +3 -0
  132. package/dist/components/chat-conversation-header/chat-conversation-header.schema.js +64 -0
  133. package/dist/components/chat-conversation-header/chat-conversation-header.svelte.d.ts +19 -0
  134. package/dist/components/chat-conversation-header/chat-conversation-header.types.d.ts +18 -0
  135. package/dist/components/chat-conversation-header/chat-conversation-header.variables.d.ts +2 -0
  136. package/dist/components/chat-conversation-header/chat-conversation-header.variables.js +31 -0
  137. package/dist/components/chat-conversation-header/index.d.ts +5 -0
  138. package/dist/components/chat-conversation-header/index.js +3825 -0
  139. package/dist/components/chat-conversation-list/chat-conversation-list.css +114 -0
  140. package/dist/components/chat-conversation-list/chat-conversation-list.schema.d.ts +3 -0
  141. package/dist/components/chat-conversation-list/chat-conversation-list.schema.js +75 -0
  142. package/dist/components/chat-conversation-list/chat-conversation-list.svelte.d.ts +21 -0
  143. package/dist/components/chat-conversation-list/chat-conversation-list.types.d.ts +17 -0
  144. package/dist/components/chat-conversation-list/chat-conversation-list.variables.d.ts +2 -0
  145. package/dist/components/chat-conversation-list/chat-conversation-list.variables.js +31 -0
  146. package/dist/components/chat-conversation-list/conversation-summary.d.ts +30 -0
  147. package/dist/components/chat-conversation-list/index.d.ts +6 -0
  148. package/dist/components/chat-conversation-list/index.js +464 -0
  149. package/dist/components/checkbox/checkbox.schema.js +3 -32
  150. package/dist/components/checkbox/checkbox.variables.js +1 -31
  151. package/dist/components/checkbox/index.js +1 -31
  152. package/dist/components/checkbox-group/checkbox-group.schema.js +4 -32
  153. package/dist/components/checkbox-group/checkbox-group.variables.js +1 -31
  154. package/dist/components/checkbox-group/index.js +1 -31
  155. package/dist/components/chip/chip.schema.js +19 -40
  156. package/dist/components/chip/chip.types.d.ts +22 -0
  157. package/dist/components/chip/chip.variables.js +1 -31
  158. package/dist/components/chip/index.js +7 -31
  159. package/dist/components/choice-grid/choice-grid.schema.js +6 -33
  160. package/dist/components/choice-grid/choice-grid.variables.js +1 -31
  161. package/dist/components/choice-grid/index.js +1 -31
  162. package/dist/components/choice-grid-item/choice-grid-item.schema.js +4 -32
  163. package/dist/components/choice-grid-item/choice-grid-item.variables.js +1 -31
  164. package/dist/components/choice-grid-item/index.js +1 -31
  165. package/dist/components/click-away-listener/click-away-listener.schema.js +9 -33
  166. package/dist/components/click-away-listener/click-away-listener.variables.js +1 -31
  167. package/dist/components/click-away-listener/index.js +1 -31
  168. package/dist/components/code-block/code-block.css +77 -47
  169. package/dist/components/code-block/code-block.schema.js +4 -33
  170. package/dist/components/code-block/code-block.types.d.ts +9 -6
  171. package/dist/components/code-block/code-block.variables.js +1 -31
  172. package/dist/components/code-block/index.js +24 -42
  173. package/dist/components/collapsible/collapsible.schema.js +17 -32
  174. package/dist/components/collapsible/collapsible.variables.js +1 -31
  175. package/dist/components/collapsible/index.js +1 -31
  176. package/dist/components/color-field/color-field.schema.js +3 -32
  177. package/dist/components/color-field/color-field.variables.js +1 -31
  178. package/dist/components/color-field/index.js +1 -31
  179. package/dist/components/color-picker/color-picker.schema.js +5 -33
  180. package/dist/components/color-picker/color-picker.variables.js +1 -31
  181. package/dist/components/color-picker/index.js +1 -31
  182. package/dist/components/color-swatch-picker/color-swatch-picker.schema.js +9 -34
  183. package/dist/components/color-swatch-picker/color-swatch-picker.variables.js +1 -31
  184. package/dist/components/color-swatch-picker/index.js +1 -31
  185. package/dist/components/combobox/combobox.schema.js +10 -34
  186. package/dist/components/combobox/combobox.variables.js +1 -31
  187. package/dist/components/combobox/index.js +970 -511
  188. package/dist/components/command-item/command-item.schema.js +10 -35
  189. package/dist/components/command-item/command-item.variables.js +1 -31
  190. package/dist/components/command-item/index.js +1 -31
  191. package/dist/components/command-menu/command-menu.schema.js +15 -37
  192. package/dist/components/command-menu/command-menu.variables.js +1 -31
  193. package/dist/components/command-menu/index.js +962 -531
  194. package/dist/components/command-palette/command-palette.css +26 -12
  195. package/dist/components/command-palette/command-palette.schema.js +12 -36
  196. package/dist/components/command-palette/command-palette.variables.js +1 -31
  197. package/dist/components/command-palette/index.js +2 -32
  198. package/dist/components/confirm-dialog/confirm-dialog.schema.js +11 -34
  199. package/dist/components/confirm-dialog/confirm-dialog.variables.js +1 -31
  200. package/dist/components/confirm-dialog/index.js +455 -240
  201. package/dist/components/connection-indicator/connection-indicator.schema.js +1 -31
  202. package/dist/components/connection-indicator/connection-indicator.variables.js +1 -31
  203. package/dist/components/connection-indicator/index.js +1 -31
  204. package/dist/components/container/container.schema.js +12 -32
  205. package/dist/components/container/container.variables.js +1 -31
  206. package/dist/components/container/index.js +1 -31
  207. package/dist/components/context-menu/context-menu.context.d.ts +2 -0
  208. package/dist/components/context-menu/context-menu.schema.js +13 -37
  209. package/dist/components/context-menu/context-menu.types.d.ts +5 -0
  210. package/dist/components/context-menu/context-menu.variables.js +1 -31
  211. package/dist/components/context-menu/index.js +2111 -1670
  212. package/dist/components/context-menu-trigger/context-menu-trigger.schema.js +5 -33
  213. package/dist/components/context-menu-trigger/context-menu-trigger.types.d.ts +1 -0
  214. package/dist/components/context-menu-trigger/context-menu-trigger.variables.js +1 -31
  215. package/dist/components/context-menu-trigger/index.js +7 -31
  216. package/dist/components/copy-button/copy-button.schema.js +5 -33
  217. package/dist/components/copy-button/copy-button.variables.js +1 -31
  218. package/dist/components/copy-button/index.js +5 -32
  219. package/dist/components/data-grid/_internal/column-model.svelte.d.ts +43 -0
  220. package/dist/components/data-grid/_internal/geometry.d.ts +19 -0
  221. package/dist/components/data-grid/_internal/keyboard-model.d.ts +22 -0
  222. package/dist/components/data-grid/_internal/selection-model.svelte.d.ts +28 -0
  223. package/dist/components/data-grid/_internal/sort-model.d.ts +6 -0
  224. package/dist/components/data-grid/_internal/virtualization-adapter.svelte.d.ts +44 -0
  225. package/dist/components/data-grid/data-grid-selection-bind-probe.d.ts +4 -0
  226. package/dist/components/data-grid/data-grid.css +283 -0
  227. package/dist/components/data-grid/data-grid.schema.d.ts +3 -0
  228. package/dist/components/data-grid/data-grid.schema.js +136 -0
  229. package/dist/components/data-grid/data-grid.svelte.d.ts +40 -0
  230. package/dist/components/data-grid/data-grid.types.d.ts +102 -0
  231. package/dist/components/data-grid/data-grid.variables.d.ts +2 -0
  232. package/dist/components/data-grid/data-grid.variables.js +31 -0
  233. package/dist/components/data-grid/index.d.ts +5 -0
  234. package/dist/components/data-grid/index.js +3088 -0
  235. package/dist/components/data-list/data-list.schema.js +24 -36
  236. package/dist/components/data-list/data-list.types.d.ts +1 -0
  237. package/dist/components/data-list/data-list.variables.js +1 -31
  238. package/dist/components/data-list/index.js +1 -31
  239. package/dist/components/data-table/data-table.css +25 -0
  240. package/dist/components/data-table/data-table.schema.js +35 -34
  241. package/dist/components/data-table/data-table.types.d.ts +31 -1
  242. package/dist/components/data-table/data-table.variables.js +2 -32
  243. package/dist/components/data-table/index.js +458 -123
  244. package/dist/components/date-range-field/date-range-field.css +211 -0
  245. package/dist/components/date-range-field/date-range-field.schema.d.ts +3 -0
  246. package/dist/components/date-range-field/date-range-field.schema.js +95 -0
  247. package/dist/components/date-range-field/date-range-field.svelte.d.ts +19 -0
  248. package/dist/components/date-range-field/date-range-field.types.d.ts +72 -0
  249. package/dist/components/date-range-field/date-range-field.variables.d.ts +2 -0
  250. package/dist/components/date-range-field/date-range-field.variables.js +31 -0
  251. package/dist/components/date-range-field/index.d.ts +5 -0
  252. package/dist/components/date-range-field/index.js +297 -0
  253. package/dist/components/description-list/description-list.schema.js +7 -34
  254. package/dist/components/description-list/description-list.types.d.ts +1 -0
  255. package/dist/components/description-list/description-list.variables.js +1 -31
  256. package/dist/components/description-list/index.js +1 -31
  257. package/dist/components/diff-statistics/diff-statistics.schema.js +2 -32
  258. package/dist/components/diff-statistics/diff-statistics.types.d.ts +5 -2
  259. package/dist/components/diff-statistics/diff-statistics.variables.js +1 -31
  260. package/dist/components/diff-statistics/index.js +1 -31
  261. package/dist/components/diff-viewer/diff-viewer.schema.js +15 -36
  262. package/dist/components/diff-viewer/diff-viewer.variables.js +1 -31
  263. package/dist/components/diff-viewer/index.js +1 -31
  264. package/dist/components/divider/divider.schema.js +1 -31
  265. package/dist/components/divider/divider.svelte.d.ts +1 -1
  266. package/dist/components/divider/divider.variables.js +1 -31
  267. package/dist/components/divider/index.js +1 -31
  268. package/dist/components/drawer/drawer.schema.js +12 -35
  269. package/dist/components/drawer/drawer.variables.js +1 -31
  270. package/dist/components/drawer/index.js +382 -180
  271. package/dist/components/dropdown/dropdown.schema.js +9 -35
  272. package/dist/components/dropdown/dropdown.types.d.ts +4 -0
  273. package/dist/components/dropdown/dropdown.variables.js +1 -31
  274. package/dist/components/dropdown/index.js +1258 -827
  275. package/dist/components/dropdown-group/dropdown-group.schema.js +7 -34
  276. package/dist/components/dropdown-group/dropdown-group.types.d.ts +2 -0
  277. package/dist/components/dropdown-group/dropdown-group.variables.js +1 -31
  278. package/dist/components/dropdown-group/index.js +1 -31
  279. package/dist/components/dropdown-item/dropdown-item.schema.js +9 -35
  280. package/dist/components/dropdown-item/dropdown-item.types.d.ts +4 -0
  281. package/dist/components/dropdown-item/dropdown-item.variables.js +1 -31
  282. package/dist/components/dropdown-item/index.js +1 -31
  283. package/dist/components/dropdown-label/dropdown-label.schema.js +3 -32
  284. package/dist/components/dropdown-label/dropdown-label.types.d.ts +1 -0
  285. package/dist/components/dropdown-label/dropdown-label.variables.js +1 -31
  286. package/dist/components/dropdown-label/index.js +1 -31
  287. package/dist/components/dropdown-menu/dropdown-menu.schema.js +3 -32
  288. package/dist/components/dropdown-menu/dropdown-menu.types.d.ts +1 -0
  289. package/dist/components/dropdown-menu/dropdown-menu.variables.js +1 -31
  290. package/dist/components/dropdown-menu/index.js +786 -355
  291. package/dist/components/dropdown-separator/dropdown-separator.schema.js +3 -32
  292. package/dist/components/dropdown-separator/dropdown-separator.types.d.ts +1 -0
  293. package/dist/components/dropdown-separator/dropdown-separator.variables.js +1 -31
  294. package/dist/components/dropdown-separator/index.js +1 -31
  295. package/dist/components/dropdown-trigger/dropdown-trigger.schema.js +3 -32
  296. package/dist/components/dropdown-trigger/dropdown-trigger.types.d.ts +1 -0
  297. package/dist/components/dropdown-trigger/dropdown-trigger.variables.js +1 -31
  298. package/dist/components/dropdown-trigger/index.js +1 -31
  299. package/dist/components/empty-state/empty-state.schema.js +7 -34
  300. package/dist/components/empty-state/empty-state.types.d.ts +3 -0
  301. package/dist/components/empty-state/empty-state.variables.js +1 -31
  302. package/dist/components/empty-state/index.js +1 -31
  303. package/dist/components/event-stream-viewer/event-stream-viewer.css +474 -0
  304. package/dist/components/event-stream-viewer/event-stream-viewer.schema.d.ts +3 -0
  305. package/dist/components/event-stream-viewer/event-stream-viewer.schema.js +92 -0
  306. package/dist/components/event-stream-viewer/event-stream-viewer.svelte.d.ts +19 -0
  307. package/dist/components/event-stream-viewer/event-stream-viewer.types.d.ts +81 -0
  308. package/dist/components/event-stream-viewer/event-stream-viewer.variables.d.ts +2 -0
  309. package/dist/components/event-stream-viewer/event-stream-viewer.variables.js +31 -0
  310. package/dist/components/event-stream-viewer/index.d.ts +5 -0
  311. package/dist/components/event-stream-viewer/index.js +1036 -0
  312. package/dist/components/experimental/connection-indicator/index.js +1 -31
  313. package/dist/components/experimental/json-viewer/index.js +1 -31
  314. package/dist/components/experimental/message/index.js +1 -31
  315. package/dist/components/faceted-filter-bar/faceted-filter-bar.css +121 -0
  316. package/dist/components/faceted-filter-bar/faceted-filter-bar.schema.d.ts +3 -0
  317. package/dist/components/faceted-filter-bar/faceted-filter-bar.schema.js +97 -0
  318. package/dist/components/faceted-filter-bar/faceted-filter-bar.svelte.d.ts +18 -0
  319. package/dist/components/faceted-filter-bar/faceted-filter-bar.types.d.ts +95 -0
  320. package/dist/components/faceted-filter-bar/faceted-filter-bar.variables.d.ts +2 -0
  321. package/dist/components/faceted-filter-bar/faceted-filter-bar.variables.js +31 -0
  322. package/dist/components/faceted-filter-bar/index.d.ts +5 -0
  323. package/dist/components/faceted-filter-bar/index.js +1062 -0
  324. package/dist/components/feed/feed.schema.js +6 -33
  325. package/dist/components/feed/feed.types.d.ts +1 -0
  326. package/dist/components/feed/feed.variables.js +1 -31
  327. package/dist/components/feed/index.js +1 -31
  328. package/dist/components/feed-event/feed-event.schema.js +16 -35
  329. package/dist/components/feed-event/feed-event.types.d.ts +1 -0
  330. package/dist/components/feed-event/feed-event.variables.js +1 -31
  331. package/dist/components/feed-event/index.js +1 -31
  332. package/dist/components/file-upload/file-upload.schema.js +15 -38
  333. package/dist/components/file-upload/file-upload.variables.js +1 -31
  334. package/dist/components/file-upload/index.js +1 -31
  335. package/dist/components/floating-action-button/floating-action-button.css +3 -1
  336. package/dist/components/floating-action-button/floating-action-button.schema.js +11 -32
  337. package/dist/components/floating-action-button/floating-action-button.variables.js +1 -31
  338. package/dist/components/floating-action-button/index.js +1 -31
  339. package/dist/components/focus-trap/focus-trap.schema.js +21 -37
  340. package/dist/components/focus-trap/focus-trap.types.d.ts +5 -0
  341. package/dist/components/focus-trap/focus-trap.utilities.svelte.d.ts +14 -0
  342. package/dist/components/focus-trap/focus-trap.variables.js +1 -31
  343. package/dist/components/focus-trap/index.js +6 -33
  344. package/dist/components/form-field/form-field.schema.js +4 -32
  345. package/dist/components/form-field/form-field.variables.js +1 -31
  346. package/dist/components/form-field/index.js +1 -31
  347. package/dist/components/form-section/form-section.schema.js +4 -32
  348. package/dist/components/form-section/form-section.variables.js +1 -31
  349. package/dist/components/form-section/index.js +1 -31
  350. package/dist/components/grid/grid.css +24 -0
  351. package/dist/components/grid/grid.schema.d.ts +3 -0
  352. package/dist/components/grid/grid.schema.js +83 -0
  353. package/dist/components/grid/grid.svelte.d.ts +18 -0
  354. package/dist/components/grid/grid.types.d.ts +29 -0
  355. package/dist/components/grid/grid.variables.d.ts +2 -0
  356. package/dist/components/grid/grid.variables.js +31 -0
  357. package/dist/components/grid/index.d.ts +13 -0
  358. package/dist/components/grid/index.js +147 -0
  359. package/dist/components/grid-item/grid-item.schema.d.ts +3 -0
  360. package/dist/components/grid-item/grid-item.schema.js +110 -0
  361. package/dist/components/grid-item/grid-item.svelte.d.ts +16 -0
  362. package/dist/components/grid-item/grid-item.types.d.ts +21 -0
  363. package/dist/components/grid-item/grid-item.variables.d.ts +2 -0
  364. package/dist/components/grid-item/grid-item.variables.js +31 -0
  365. package/dist/components/grid-item/index.d.ts +4 -0
  366. package/dist/components/grid-item/index.js +87 -0
  367. package/dist/components/grid-list/grid-list.schema.js +6 -33
  368. package/dist/components/grid-list/grid-list.variables.js +1 -31
  369. package/dist/components/grid-list/index.js +1 -31
  370. package/dist/components/grid-list-item/grid-list-item.schema.js +19 -40
  371. package/dist/components/grid-list-item/grid-list-item.types.d.ts +3 -0
  372. package/dist/components/grid-list-item/grid-list-item.variables.js +1 -31
  373. package/dist/components/grid-list-item/index.js +1 -31
  374. package/dist/components/hover-card/hover-card.schema.js +21 -41
  375. package/dist/components/hover-card/hover-card.types.d.ts +8 -0
  376. package/dist/components/hover-card/hover-card.variables.js +1 -31
  377. package/dist/components/hover-card/index.js +789 -358
  378. package/dist/components/image/image.schema.js +9 -35
  379. package/dist/components/image/image.variables.js +1 -31
  380. package/dist/components/image/index.js +1 -31
  381. package/dist/components/input/index.js +1 -31
  382. package/dist/components/input/input.schema.js +22 -41
  383. package/dist/components/input/input.types.d.ts +12 -0
  384. package/dist/components/input/input.variables.js +1 -31
  385. package/dist/components/invocation-rule-builder/index.d.ts +5 -0
  386. package/dist/components/invocation-rule-builder/index.js +526 -0
  387. package/dist/components/invocation-rule-builder/invocation-rule-builder.css +281 -0
  388. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.d.ts +3 -0
  389. package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +101 -0
  390. package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +16 -0
  391. package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +147 -0
  392. package/dist/components/invocation-rule-builder/invocation-rule-builder.variables.d.ts +2 -0
  393. package/dist/components/invocation-rule-builder/invocation-rule-builder.variables.js +31 -0
  394. package/dist/components/json-schema-editor/index.js +5328 -12274
  395. package/dist/components/json-schema-editor/json-schema-editor.schema.js +8 -34
  396. package/dist/components/json-schema-editor/json-schema-editor.types.d.ts +1 -0
  397. package/dist/components/json-schema-editor/json-schema-editor.variables.js +1 -31
  398. package/dist/components/json-viewer/index.js +5 -35
  399. package/dist/components/json-viewer/json-viewer.css +6 -0
  400. package/dist/components/json-viewer/json-viewer.schema.js +4 -32
  401. package/dist/components/json-viewer/json-viewer.variables.js +1 -31
  402. package/dist/components/kanban-board/index.js +1 -31
  403. package/dist/components/kanban-board/kanban-board.schema.js +19 -40
  404. package/dist/components/kanban-board/kanban-board.types.d.ts +4 -0
  405. package/dist/components/kanban-board/kanban-board.variables.js +1 -31
  406. package/dist/components/kbd/index.js +1 -31
  407. package/dist/components/kbd/kbd.schema.js +11 -32
  408. package/dist/components/kbd/kbd.variables.js +1 -31
  409. package/dist/components/keyboard-shortcuts/index.js +1 -31
  410. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +6 -33
  411. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +1 -31
  412. package/dist/components/label/index.js +1 -31
  413. package/dist/components/label/label.schema.js +6 -33
  414. package/dist/components/label/label.variables.js +1 -31
  415. package/dist/components/line-chart/index.js +1 -31
  416. package/dist/components/line-chart/line-chart.schema.js +40 -45
  417. package/dist/components/line-chart/line-chart.types.d.ts +13 -0
  418. package/dist/components/line-chart/line-chart.variables.js +1 -31
  419. package/dist/components/link/index.js +1 -31
  420. package/dist/components/link/link.schema.js +6 -33
  421. package/dist/components/link/link.variables.js +1 -31
  422. package/dist/components/load-more/index.js +3 -32
  423. package/dist/components/load-more/load-more.schema.js +10 -34
  424. package/dist/components/load-more/load-more.variables.js +1 -31
  425. package/dist/components/markdown-editor/index.js +3484 -3050
  426. package/dist/components/markdown-editor/markdown-editor.schema.js +29 -42
  427. package/dist/components/markdown-editor/markdown-editor.variables.js +1 -31
  428. package/dist/components/masonry/index.d.ts +5 -0
  429. package/dist/components/masonry/index.js +76 -0
  430. package/dist/components/masonry/masonry.css +12 -0
  431. package/dist/components/masonry/masonry.schema.d.ts +3 -0
  432. package/dist/components/masonry/masonry.schema.js +63 -0
  433. package/dist/components/masonry/masonry.svelte.d.ts +17 -0
  434. package/dist/components/masonry/masonry.types.d.ts +15 -0
  435. package/dist/components/masonry/masonry.variables.d.ts +2 -0
  436. package/dist/components/masonry/masonry.variables.js +31 -0
  437. package/dist/components/matrix-chart/index.js +9 -32
  438. package/dist/components/matrix-chart/matrix-chart.css +4 -0
  439. package/dist/components/matrix-chart/matrix-chart.schema.js +42 -45
  440. package/dist/components/matrix-chart/matrix-chart.types.d.ts +14 -1
  441. package/dist/components/matrix-chart/matrix-chart.variables.js +1 -31
  442. package/dist/components/media-controls/index.js +3 -32
  443. package/dist/components/media-controls/media-controls.schema.js +7 -34
  444. package/dist/components/media-controls/media-controls.variables.js +1 -31
  445. package/dist/components/menu-bar/index.js +1 -31
  446. package/dist/components/menu-bar/menu-bar.schema.js +11 -36
  447. package/dist/components/menu-bar/menu-bar.types.d.ts +4 -0
  448. package/dist/components/menu-bar/menu-bar.variables.js +1 -31
  449. package/dist/components/message/index.js +1 -31
  450. package/dist/components/message/message.schema.js +4 -32
  451. package/dist/components/message/message.variables.js +1 -31
  452. package/dist/components/modal/index.js +333 -118
  453. package/dist/components/modal/modal.schema.js +19 -40
  454. package/dist/components/modal/modal.types.d.ts +8 -0
  455. package/dist/components/modal/modal.variables.js +1 -31
  456. package/dist/components/navigation-bar/index.d.ts +1 -1
  457. package/dist/components/navigation-bar/index.js +19 -38
  458. package/dist/components/navigation-bar/navigation-bar.css +66 -0
  459. package/dist/components/navigation-bar/navigation-bar.schema.js +16 -33
  460. package/dist/components/navigation-bar/navigation-bar.svelte.d.ts +1 -1
  461. package/dist/components/navigation-bar/navigation-bar.types.d.ts +18 -0
  462. package/dist/components/navigation-bar/navigation-bar.variables.js +1 -31
  463. package/dist/components/navigation-item/index.js +1 -31
  464. package/dist/components/navigation-item/navigation-item.schema.js +16 -37
  465. package/dist/components/navigation-item/navigation-item.types.d.ts +4 -0
  466. package/dist/components/navigation-item/navigation-item.variables.js +1 -31
  467. package/dist/components/number-input/index.js +1 -31
  468. package/dist/components/number-input/number-input.schema.js +27 -44
  469. package/dist/components/number-input/number-input.types.d.ts +13 -0
  470. package/dist/components/number-input/number-input.variables.js +1 -31
  471. package/dist/components/pagination/index.js +1 -31
  472. package/dist/components/pagination/pagination.css +0 -1
  473. package/dist/components/pagination/pagination.schema.js +1 -31
  474. package/dist/components/pagination/pagination.variables.js +1 -31
  475. package/dist/components/payload-inspector/index.d.ts +5 -0
  476. package/dist/components/payload-inspector/index.js +2002 -0
  477. package/dist/components/payload-inspector/payload-inspector.css +173 -0
  478. package/dist/components/payload-inspector/payload-inspector.schema.d.ts +3 -0
  479. package/dist/components/payload-inspector/payload-inspector.schema.js +95 -0
  480. package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +19 -0
  481. package/dist/components/payload-inspector/payload-inspector.types.d.ts +69 -0
  482. package/dist/components/payload-inspector/payload-inspector.variables.d.ts +2 -0
  483. package/dist/components/payload-inspector/payload-inspector.variables.js +31 -0
  484. package/dist/components/permission-matrix/index.d.ts +5 -0
  485. package/dist/components/permission-matrix/index.js +474 -0
  486. package/dist/components/permission-matrix/permission-matrix.css +165 -0
  487. package/dist/components/permission-matrix/permission-matrix.schema.d.ts +3 -0
  488. package/dist/components/permission-matrix/permission-matrix.schema.js +100 -0
  489. package/dist/components/permission-matrix/permission-matrix.svelte.d.ts +20 -0
  490. package/dist/components/permission-matrix/permission-matrix.types.d.ts +58 -0
  491. package/dist/components/permission-matrix/permission-matrix.variables.d.ts +2 -0
  492. package/dist/components/permission-matrix/permission-matrix.variables.js +31 -0
  493. package/dist/components/phone-input/index.js +1 -31
  494. package/dist/components/phone-input/phone-input.schema.js +3 -32
  495. package/dist/components/phone-input/phone-input.variables.js +1 -31
  496. package/dist/components/pin-input/index.js +1 -31
  497. package/dist/components/pin-input/pin-input.schema.js +6 -33
  498. package/dist/components/pin-input/pin-input.variables.js +1 -31
  499. package/dist/components/popover/index.js +793 -362
  500. package/dist/components/popover/popover.schema.js +12 -34
  501. package/dist/components/popover/popover.types.d.ts +6 -0
  502. package/dist/components/popover/popover.variables.js +1 -31
  503. package/dist/components/portal/index.js +1 -31
  504. package/dist/components/portal/portal.schema.js +19 -36
  505. package/dist/components/portal/portal.types.d.ts +4 -0
  506. package/dist/components/portal/portal.variables.js +1 -31
  507. package/dist/components/pricing-card/index.js +1 -31
  508. package/dist/components/pricing-card/pricing-card.css +11 -3
  509. package/dist/components/pricing-card/pricing-card.schema.js +12 -32
  510. package/dist/components/pricing-card/pricing-card.variables.js +1 -31
  511. package/dist/components/progress/index.js +1 -31
  512. package/dist/components/progress/progress.schema.js +1 -31
  513. package/dist/components/progress/progress.variables.js +1 -31
  514. package/dist/components/radio-group/index.js +1 -31
  515. package/dist/components/radio-group/radio-group.schema.js +4 -32
  516. package/dist/components/radio-group/radio-group.variables.js +1 -31
  517. package/dist/components/rating/index.js +1 -31
  518. package/dist/components/rating/rating.schema.js +4 -32
  519. package/dist/components/rating/rating.variables.js +1 -31
  520. package/dist/components/resizable-panels/index.js +1 -31
  521. package/dist/components/resizable-panels/resizable-panels.schema.js +13 -37
  522. package/dist/components/resizable-panels/resizable-panels.types.d.ts +4 -0
  523. package/dist/components/resizable-panels/resizable-panels.variables.js +1 -31
  524. package/dist/components/review-editor/index.d.ts +1 -1
  525. package/dist/components/review-editor/index.js +3700 -3262
  526. package/dist/components/review-editor/review-editor-selection-geometry.d.ts +2 -0
  527. package/dist/components/review-editor/review-editor-selection-types.d.ts +62 -0
  528. package/dist/components/review-editor/review-editor-selection.svelte.d.ts +1 -58
  529. package/dist/components/review-editor/review-editor.schema.js +15 -38
  530. package/dist/components/review-editor/review-editor.variables.js +1 -31
  531. package/dist/components/run-step-timeline/index.d.ts +5 -0
  532. package/dist/components/run-step-timeline/index.js +658 -0
  533. package/dist/components/run-step-timeline/run-step-timeline.css +215 -0
  534. package/dist/components/run-step-timeline/run-step-timeline.schema.d.ts +3 -0
  535. package/dist/components/run-step-timeline/run-step-timeline.schema.js +129 -0
  536. package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +19 -0
  537. package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +111 -0
  538. package/dist/components/run-step-timeline/run-step-timeline.variables.d.ts +2 -0
  539. package/dist/components/run-step-timeline/run-step-timeline.variables.js +31 -0
  540. package/dist/components/schema-form/index.d.ts +6 -0
  541. package/dist/components/schema-form/index.js +1164 -0
  542. package/dist/components/schema-form/schema-form-model.d.ts +46 -0
  543. package/dist/components/schema-form/schema-form-validation.d.ts +33 -0
  544. package/dist/components/schema-form/schema-form.css +180 -0
  545. package/dist/components/schema-form/schema-form.schema.d.ts +3 -0
  546. package/dist/components/schema-form/schema-form.schema.js +69 -0
  547. package/dist/components/schema-form/schema-form.svelte.d.ts +43 -0
  548. package/dist/components/schema-form/schema-form.types.d.ts +22 -0
  549. package/dist/components/schema-form/schema-form.variables.d.ts +2 -0
  550. package/dist/components/schema-form/schema-form.variables.js +31 -0
  551. package/dist/components/scroll-area/index.js +1 -31
  552. package/dist/components/scroll-area/scroll-area.schema.js +4 -32
  553. package/dist/components/scroll-area/scroll-area.variables.js +1 -31
  554. package/dist/components/search-field/index.js +1 -31
  555. package/dist/components/search-field/search-field.schema.js +9 -35
  556. package/dist/components/search-field/search-field.variables.js +1 -31
  557. package/dist/components/secret-value-field/index.d.ts +5 -0
  558. package/dist/components/secret-value-field/index.js +316 -0
  559. package/dist/components/secret-value-field/secret-value-field.css +147 -0
  560. package/dist/components/secret-value-field/secret-value-field.schema.d.ts +3 -0
  561. package/dist/components/secret-value-field/secret-value-field.schema.js +87 -0
  562. package/dist/components/secret-value-field/secret-value-field.svelte.d.ts +18 -0
  563. package/dist/components/secret-value-field/secret-value-field.types.d.ts +37 -0
  564. package/dist/components/secret-value-field/secret-value-field.variables.d.ts +2 -0
  565. package/dist/components/secret-value-field/secret-value-field.variables.js +31 -0
  566. package/dist/components/section-heading/index.js +1 -31
  567. package/dist/components/section-heading/section-heading.schema.js +8 -34
  568. package/dist/components/section-heading/section-heading.variables.js +1 -31
  569. package/dist/components/segment/index.js +1 -31
  570. package/dist/components/segment/segment.schema.js +11 -35
  571. package/dist/components/segment/segment.variables.js +1 -31
  572. package/dist/components/segmented-control/index.js +1 -31
  573. package/dist/components/segmented-control/segmented-control.css +17 -0
  574. package/dist/components/segmented-control/segmented-control.schema.js +10 -35
  575. package/dist/components/segmented-control/segmented-control.types.d.ts +2 -0
  576. package/dist/components/segmented-control/segmented-control.variables.js +1 -31
  577. package/dist/components/select/index.js +1 -31
  578. package/dist/components/select/select.schema.js +8 -34
  579. package/dist/components/select/select.variables.js +1 -31
  580. package/dist/components/selection-popover/index.js +793 -361
  581. package/dist/components/selection-popover/selection-popover.schema.js +12 -36
  582. package/dist/components/selection-popover/selection-popover.types.d.ts +8 -0
  583. package/dist/components/selection-popover/selection-popover.variables.js +1 -31
  584. package/dist/components/share-card/index.js +159 -174
  585. package/dist/components/share-card/share-card.schema.js +5 -33
  586. package/dist/components/share-card/share-card.variables.js +1 -31
  587. package/dist/components/sheet/index.js +387 -172
  588. package/dist/components/sheet/sheet.schema.js +12 -35
  589. package/dist/components/sheet/sheet.variables.js +1 -31
  590. package/dist/components/shortcut-hint/index.js +1 -31
  591. package/dist/components/shortcut-hint/shortcut-hint.schema.js +3 -32
  592. package/dist/components/shortcut-hint/shortcut-hint.variables.js +1 -31
  593. package/dist/components/side-navigation/index.d.ts +1 -1
  594. package/dist/components/side-navigation/index.js +1 -31
  595. package/dist/components/side-navigation/side-navigation.schema.js +6 -33
  596. package/dist/components/side-navigation/side-navigation.variables.js +1 -31
  597. package/dist/components/side-navigation-group/index.js +1 -31
  598. package/dist/components/side-navigation-group/side-navigation-group.schema.js +10 -35
  599. package/dist/components/side-navigation-group/side-navigation-group.variables.js +1 -31
  600. package/dist/components/side-navigation-item/index.js +1 -31
  601. package/dist/components/side-navigation-item/side-navigation-item.schema.js +16 -37
  602. package/dist/components/side-navigation-item/side-navigation-item.variables.js +1 -31
  603. package/dist/components/sidebar/index.js +448 -246
  604. package/dist/components/sidebar/sidebar.schema.js +7 -34
  605. package/dist/components/sidebar/sidebar.variables.js +1 -31
  606. package/dist/components/skeleton/index.js +1 -31
  607. package/dist/components/skeleton/skeleton.schema.js +9 -35
  608. package/dist/components/skeleton/skeleton.types.d.ts +4 -0
  609. package/dist/components/skeleton/skeleton.variables.js +1 -31
  610. package/dist/components/skip-link/index.js +1 -31
  611. package/dist/components/skip-link/skip-link.schema.js +11 -32
  612. package/dist/components/skip-link/skip-link.variables.js +1 -31
  613. package/dist/components/slider/index.js +1 -31
  614. package/dist/components/slider/slider.schema.js +5 -33
  615. package/dist/components/slider/slider.types.d.ts +2 -0
  616. package/dist/components/slider/slider.variables.js +1 -31
  617. package/dist/components/sortable-list/index.js +1 -31
  618. package/dist/components/sortable-list/sortable-list.schema.js +27 -40
  619. package/dist/components/sortable-list/sortable-list.types.d.ts +1 -0
  620. package/dist/components/sortable-list/sortable-list.variables.js +1 -31
  621. package/dist/components/spectrogram/index.js +1 -31
  622. package/dist/components/spectrogram/spectrogram.css +2 -1
  623. package/dist/components/spectrogram/spectrogram.schema.js +51 -42
  624. package/dist/components/spectrogram/spectrogram.types.d.ts +12 -1
  625. package/dist/components/spectrogram/spectrogram.variables.js +1 -31
  626. package/dist/components/spectrum-chart/index.js +1 -31
  627. package/dist/components/spectrum-chart/spectrum-chart.schema.js +43 -41
  628. package/dist/components/spectrum-chart/spectrum-chart.types.d.ts +9 -0
  629. package/dist/components/spectrum-chart/spectrum-chart.variables.js +1 -31
  630. package/dist/components/speed-dial/index.d.ts +13 -0
  631. package/dist/components/speed-dial/index.js +529 -0
  632. package/dist/components/speed-dial/speed-dial.context.d.ts +5 -0
  633. package/dist/components/speed-dial/speed-dial.css +112 -0
  634. package/dist/components/speed-dial/speed-dial.schema.d.ts +3 -0
  635. package/dist/components/speed-dial/speed-dial.schema.js +76 -0
  636. package/dist/components/speed-dial/speed-dial.svelte.d.ts +17 -0
  637. package/dist/components/speed-dial/speed-dial.types.d.ts +54 -0
  638. package/dist/components/speed-dial/speed-dial.variables.d.ts +2 -0
  639. package/dist/components/speed-dial/speed-dial.variables.js +31 -0
  640. package/dist/components/speed-dial-action/index.d.ts +4 -0
  641. package/dist/components/speed-dial-action/index.js +264 -0
  642. package/dist/components/speed-dial-action/speed-dial-action.schema.d.ts +3 -0
  643. package/dist/components/speed-dial-action/speed-dial-action.schema.js +71 -0
  644. package/dist/components/speed-dial-action/speed-dial-action.svelte.d.ts +16 -0
  645. package/dist/components/speed-dial-action/speed-dial-action.types.d.ts +44 -0
  646. package/dist/components/speed-dial-action/speed-dial-action.variables.d.ts +2 -0
  647. package/dist/components/speed-dial-action/speed-dial-action.variables.js +31 -0
  648. package/dist/components/spinner/index.js +1 -31
  649. package/dist/components/spinner/spinner.schema.js +1 -31
  650. package/dist/components/spinner/spinner.variables.js +1 -31
  651. package/dist/components/stacked-list-item/index.js +1 -31
  652. package/dist/components/stacked-list-item/stacked-list-item.schema.js +20 -40
  653. package/dist/components/stacked-list-item/stacked-list-item.types.d.ts +4 -0
  654. package/dist/components/stacked-list-item/stacked-list-item.variables.js +1 -31
  655. package/dist/components/stat/index.js +1 -31
  656. package/dist/components/stat/stat.schema.js +7 -34
  657. package/dist/components/stat/stat.variables.js +1 -31
  658. package/dist/components/stat-group/index.js +1 -31
  659. package/dist/components/stat-group/stat-group.schema.js +4 -32
  660. package/dist/components/stat-group/stat-group.variables.js +1 -31
  661. package/dist/components/status-dot/index.js +1 -31
  662. package/dist/components/status-dot/status-dot.css +1 -1
  663. package/dist/components/status-dot/status-dot.schema.js +1 -31
  664. package/dist/components/status-dot/status-dot.variables.js +1 -31
  665. package/dist/components/steps/index.js +1 -31
  666. package/dist/components/steps/steps.css +30 -10
  667. package/dist/components/steps/steps.schema.js +4 -32
  668. package/dist/components/steps/steps.variables.js +1 -31
  669. package/dist/components/subscription-badge/index.js +2 -32
  670. package/dist/components/subscription-badge/subscription-badge.schema.js +1 -31
  671. package/dist/components/subscription-badge/subscription-badge.variables.js +1 -31
  672. package/dist/components/surface/index.js +1 -31
  673. package/dist/components/surface/surface.schema.js +11 -32
  674. package/dist/components/surface/surface.types.d.ts +1 -0
  675. package/dist/components/surface/surface.variables.js +1 -31
  676. package/dist/components/tab/index.js +1 -31
  677. package/dist/components/tab/tab.schema.js +6 -33
  678. package/dist/components/tab/tab.variables.js +1 -31
  679. package/dist/components/tab-list/index.js +1 -31
  680. package/dist/components/tab-list/tab-list.schema.js +4 -32
  681. package/dist/components/tab-list/tab-list.variables.js +1 -31
  682. package/dist/components/tab-panel/index.js +1 -31
  683. package/dist/components/tab-panel/tab-panel.schema.js +4 -32
  684. package/dist/components/tab-panel/tab-panel.variables.js +1 -31
  685. package/dist/components/table/index.js +94 -53
  686. package/dist/components/table/table.css +23 -4
  687. package/dist/components/table/table.schema.js +6 -33
  688. package/dist/components/table/table.types.d.ts +2 -1
  689. package/dist/components/table/table.variables.js +1 -31
  690. package/dist/components/table-body/index.js +1 -31
  691. package/dist/components/table-body/table-body.schema.js +4 -32
  692. package/dist/components/table-body/table-body.variables.js +1 -31
  693. package/dist/components/table-cell/index.js +1 -31
  694. package/dist/components/table-cell/table-cell.schema.js +11 -33
  695. package/dist/components/table-cell/table-cell.types.d.ts +4 -7
  696. package/dist/components/table-cell/table-cell.variables.js +1 -31
  697. package/dist/components/table-header/index.js +1 -31
  698. package/dist/components/table-header/table-header.schema.js +6 -33
  699. package/dist/components/table-header/table-header.variables.js +1 -31
  700. package/dist/components/table-header-cell/index.js +1 -31
  701. package/dist/components/table-header-cell/table-header-cell.schema.js +4 -32
  702. package/dist/components/table-header-cell/table-header-cell.variables.js +1 -31
  703. package/dist/components/table-row/index.js +13 -32
  704. package/dist/components/table-row/table-row.schema.js +8 -34
  705. package/dist/components/table-row/table-row.types.d.ts +4 -1
  706. package/dist/components/table-row/table-row.variables.js +1 -31
  707. package/dist/components/tabs/index.js +1 -31
  708. package/dist/components/tabs/tabs.css +1 -1
  709. package/dist/components/tabs/tabs.schema.js +4 -32
  710. package/dist/components/tabs/tabs.variables.js +1 -31
  711. package/dist/components/tag-input/index.js +1 -31
  712. package/dist/components/tag-input/tag-input.css +2 -2
  713. package/dist/components/tag-input/tag-input.schema.js +5 -33
  714. package/dist/components/tag-input/tag-input.variables.js +1 -31
  715. package/dist/components/textarea/index.js +1 -31
  716. package/dist/components/textarea/textarea.css +1 -0
  717. package/dist/components/textarea/textarea.schema.js +13 -33
  718. package/dist/components/textarea/textarea.types.d.ts +4 -0
  719. package/dist/components/textarea/textarea.variables.js +1 -31
  720. package/dist/components/timeline/index.js +2 -32
  721. package/dist/components/timeline/timeline.css +40 -8
  722. package/dist/components/timeline/timeline.schema.js +17 -33
  723. package/dist/components/timeline/timeline.svelte.d.ts +2 -2
  724. package/dist/components/timeline/timeline.types.d.ts +2 -2
  725. package/dist/components/timeline/timeline.variables.js +1 -31
  726. package/dist/components/toast-region/index.js +106 -81
  727. package/dist/components/toast-region/toast-region.schema.js +3 -32
  728. package/dist/components/toast-region/toast-region.variables.js +1 -31
  729. package/dist/components/toggle/index.js +1 -31
  730. package/dist/components/toggle/toggle.css +5 -2
  731. package/dist/components/toggle/toggle.schema.js +1 -31
  732. package/dist/components/toggle/toggle.variables.js +1 -31
  733. package/dist/components/toolbar/index.js +1 -31
  734. package/dist/components/toolbar/toolbar.schema.js +12 -32
  735. package/dist/components/toolbar/toolbar.variables.js +1 -31
  736. package/dist/components/tooltip/index.js +792 -361
  737. package/dist/components/tooltip/tooltip.css +11 -2
  738. package/dist/components/tooltip/tooltip.schema.js +10 -35
  739. package/dist/components/tooltip/tooltip.types.d.ts +4 -0
  740. package/dist/components/tooltip/tooltip.variables.js +1 -31
  741. package/dist/components/transfer-list/index.d.ts +5 -0
  742. package/dist/components/transfer-list/index.js +451 -0
  743. package/dist/components/transfer-list/transfer-list.css +114 -0
  744. package/dist/components/transfer-list/transfer-list.schema.d.ts +3 -0
  745. package/dist/components/transfer-list/transfer-list.schema.js +91 -0
  746. package/dist/components/transfer-list/transfer-list.svelte.d.ts +17 -0
  747. package/dist/components/transfer-list/transfer-list.types.d.ts +52 -0
  748. package/dist/components/transfer-list/transfer-list.variables.d.ts +2 -0
  749. package/dist/components/transfer-list/transfer-list.variables.js +31 -0
  750. package/dist/components/tree/index.d.ts +9 -4
  751. package/dist/components/tree/index.js +3433 -365
  752. package/dist/components/tree/tree.css +203 -3
  753. package/dist/components/tree/tree.schema.js +72 -34
  754. package/dist/components/tree/tree.svelte.d.ts +2 -2
  755. package/dist/components/tree/tree.types.d.ts +69 -3
  756. package/dist/components/tree/tree.variables.js +6 -32
  757. package/dist/components/tree-item/index.js +608 -169
  758. package/dist/components/tree-item/tree-item.schema.js +19 -36
  759. package/dist/components/tree-item/tree-item.types.d.ts +11 -3
  760. package/dist/components/tree-item/tree-item.variables.js +1 -31
  761. package/dist/components/typography/index.js +1 -31
  762. package/dist/components/typography/typography.schema.js +12 -32
  763. package/dist/components/typography/typography.variables.js +1 -31
  764. package/dist/components/virtual-list/index.d.ts +7 -0
  765. package/dist/components/virtual-list/index.js +266 -0
  766. package/dist/components/virtual-list/virtual-list.css +30 -0
  767. package/dist/components/virtual-list/virtual-list.schema.d.ts +3 -0
  768. package/dist/components/virtual-list/virtual-list.schema.js +88 -0
  769. package/dist/components/virtual-list/virtual-list.svelte.d.ts +42 -0
  770. package/dist/components/virtual-list/virtual-list.types.d.ts +54 -0
  771. package/dist/components/virtual-list/virtual-list.variables.d.ts +2 -0
  772. package/dist/components/virtual-list/virtual-list.variables.js +31 -0
  773. package/dist/components/visually-hidden/index.js +1 -31
  774. package/dist/components/visually-hidden/visually-hidden.schema.js +12 -32
  775. package/dist/components/visually-hidden/visually-hidden.variables.js +1 -31
  776. package/dist/components/waveform/index.js +1 -31
  777. package/dist/components/waveform/waveform.schema.js +34 -41
  778. package/dist/components/waveform/waveform.types.d.ts +9 -0
  779. package/dist/components/waveform/waveform.variables.js +1 -31
  780. package/dist/highlighters/shiki/index.js +9 -32
  781. package/dist/index.d.ts +41 -3
  782. package/dist/index.js +192 -180
  783. package/dist/markdown/rendering/rehype-shiki-sync.d.ts +9 -0
  784. package/dist/markdown/rendering/rehype-shiki-sync.js +23 -10
  785. package/dist/markdown/rendering/render.js +8 -2
  786. package/dist/schema-types.d.ts +10 -0
  787. package/dist/server/components/access-gate/access-gate.schema.js +49 -0
  788. package/dist/server/components/access-gate/access-gate.variables.js +12 -0
  789. package/dist/server/components/access-gate/index.css +130 -0
  790. package/dist/server/components/access-gate/index.js +1693 -0
  791. package/dist/server/components/accordion/accordion.schema.js +12 -33
  792. package/dist/server/components/accordion/accordion.variables.js +1 -32
  793. package/dist/server/components/accordion/index.js +1 -32
  794. package/dist/server/components/accordion-item/accordion-item.schema.js +12 -33
  795. package/dist/server/components/accordion-item/accordion-item.variables.js +1 -32
  796. package/dist/server/components/accordion-item/index.js +1 -32
  797. package/dist/server/components/alert/alert.schema.js +19 -33
  798. package/dist/server/components/alert/alert.variables.js +1 -32
  799. package/dist/server/components/alert/index.js +1 -32
  800. package/dist/server/components/alert-dialog/alert-dialog.schema.js +17 -40
  801. package/dist/server/components/alert-dialog/alert-dialog.variables.js +1 -32
  802. package/dist/server/components/alert-dialog/index.js +274 -84
  803. package/dist/server/components/area-chart/area-chart.schema.js +42 -47
  804. package/dist/server/components/area-chart/area-chart.variables.js +1 -32
  805. package/dist/server/components/area-chart/index.js +1 -32
  806. package/dist/server/components/aspect-ratio/aspect-ratio.schema.js +12 -33
  807. package/dist/server/components/aspect-ratio/aspect-ratio.variables.js +1 -32
  808. package/dist/server/components/aspect-ratio/index.js +1 -32
  809. package/dist/server/components/autocomplete/autocomplete.schema.js +29 -46
  810. package/dist/server/components/autocomplete/autocomplete.variables.js +1 -32
  811. package/dist/server/components/autocomplete/index.css +0 -4
  812. package/dist/server/components/autocomplete/index.js +9 -34
  813. package/dist/server/components/avatar/avatar.schema.js +3 -33
  814. package/dist/server/components/avatar/avatar.variables.js +1 -32
  815. package/dist/server/components/avatar/index.css +1 -0
  816. package/dist/server/components/avatar/index.js +1 -32
  817. package/dist/server/components/avatar-group/avatar-group.schema.js +6 -32
  818. package/dist/server/components/avatar-group/avatar-group.variables.js +1 -32
  819. package/dist/server/components/avatar-group/index.js +5 -32
  820. package/dist/server/components/backdrop/backdrop.schema.js +5 -34
  821. package/dist/server/components/backdrop/backdrop.variables.js +1 -32
  822. package/dist/server/components/backdrop/index.js +2 -33
  823. package/dist/server/components/badge/badge.schema.js +12 -33
  824. package/dist/server/components/badge/badge.variables.js +1 -32
  825. package/dist/server/components/badge/index.css +1 -1
  826. package/dist/server/components/badge/index.js +1 -32
  827. package/dist/server/components/banner/banner.schema.js +8 -35
  828. package/dist/server/components/banner/banner.variables.js +1 -32
  829. package/dist/server/components/banner/index.js +1 -32
  830. package/dist/server/components/bar-chart/bar-chart.schema.js +42 -47
  831. package/dist/server/components/bar-chart/bar-chart.variables.js +1 -32
  832. package/dist/server/components/bar-chart/index.css +4 -0
  833. package/dist/server/components/bar-chart/index.js +2 -33
  834. package/dist/server/components/breadcrumbs/breadcrumbs.schema.js +1 -32
  835. package/dist/server/components/breadcrumbs/breadcrumbs.variables.js +1 -32
  836. package/dist/server/components/breadcrumbs/index.js +1 -32
  837. package/dist/server/components/button/button.schema.js +20 -33
  838. package/dist/server/components/button/button.variables.js +1 -32
  839. package/dist/server/components/button/index.js +1 -32
  840. package/dist/server/components/button-group/button-group.schema.js +8 -35
  841. package/dist/server/components/button-group/button-group.variables.js +1 -32
  842. package/dist/server/components/button-group/index.js +1 -32
  843. package/dist/server/components/callout/callout.schema.js +6 -34
  844. package/dist/server/components/callout/callout.variables.js +1 -32
  845. package/dist/server/components/callout/index.js +1 -32
  846. package/dist/server/components/capability-gate/capability-gate.schema.js +9 -36
  847. package/dist/server/components/capability-gate/capability-gate.variables.js +1 -32
  848. package/dist/server/components/capability-gate/index.css +5 -2
  849. package/dist/server/components/capability-gate/index.js +1 -32
  850. package/dist/server/components/card/card.schema.js +7 -35
  851. package/dist/server/components/card/card.variables.js +1 -32
  852. package/dist/server/components/card/index.js +1 -32
  853. package/dist/server/components/chat/chat.schema.js +161 -49
  854. package/dist/server/components/chat/chat.variables.js +1 -32
  855. package/dist/server/components/chat/index.js +2665 -1064
  856. package/dist/server/components/chat-conversation-header/chat-conversation-header.schema.js +45 -0
  857. package/dist/server/components/chat-conversation-header/chat-conversation-header.variables.js +12 -0
  858. package/dist/server/components/chat-conversation-header/index.css +309 -0
  859. package/dist/server/components/chat-conversation-header/index.js +1468 -0
  860. package/dist/server/components/chat-conversation-list/chat-conversation-list.schema.js +56 -0
  861. package/dist/server/components/chat-conversation-list/chat-conversation-list.variables.js +12 -0
  862. package/dist/server/components/chat-conversation-list/index.css +115 -0
  863. package/dist/server/components/chat-conversation-list/index.js +355 -0
  864. package/dist/server/components/checkbox/checkbox.schema.js +3 -33
  865. package/dist/server/components/checkbox/checkbox.variables.js +1 -32
  866. package/dist/server/components/checkbox/index.js +1 -32
  867. package/dist/server/components/checkbox-group/checkbox-group.schema.js +4 -33
  868. package/dist/server/components/checkbox-group/checkbox-group.variables.js +1 -32
  869. package/dist/server/components/checkbox-group/index.js +1 -32
  870. package/dist/server/components/chip/chip.schema.js +19 -41
  871. package/dist/server/components/chip/chip.variables.js +1 -32
  872. package/dist/server/components/chip/index.js +7 -32
  873. package/dist/server/components/choice-grid/choice-grid.schema.js +6 -34
  874. package/dist/server/components/choice-grid/choice-grid.variables.js +1 -32
  875. package/dist/server/components/choice-grid/index.js +1 -32
  876. package/dist/server/components/choice-grid-item/choice-grid-item.schema.js +4 -33
  877. package/dist/server/components/choice-grid-item/choice-grid-item.variables.js +1 -32
  878. package/dist/server/components/choice-grid-item/index.js +1 -32
  879. package/dist/server/components/click-away-listener/click-away-listener.schema.js +9 -34
  880. package/dist/server/components/click-away-listener/click-away-listener.variables.js +1 -32
  881. package/dist/server/components/click-away-listener/index.js +1 -32
  882. package/dist/server/components/code-block/code-block.schema.js +4 -34
  883. package/dist/server/components/code-block/code-block.variables.js +1 -32
  884. package/dist/server/components/code-block/index.css +42 -22
  885. package/dist/server/components/code-block/index.js +14 -38
  886. package/dist/server/components/collapsible/collapsible.schema.js +17 -33
  887. package/dist/server/components/collapsible/collapsible.variables.js +1 -32
  888. package/dist/server/components/collapsible/index.js +1 -32
  889. package/dist/server/components/color-field/color-field.schema.js +3 -33
  890. package/dist/server/components/color-field/color-field.variables.js +1 -32
  891. package/dist/server/components/color-field/index.js +1 -32
  892. package/dist/server/components/color-picker/color-picker.schema.js +5 -34
  893. package/dist/server/components/color-picker/color-picker.variables.js +1 -32
  894. package/dist/server/components/color-picker/index.js +1 -32
  895. package/dist/server/components/color-swatch-picker/color-swatch-picker.schema.js +9 -35
  896. package/dist/server/components/color-swatch-picker/color-swatch-picker.variables.js +1 -32
  897. package/dist/server/components/color-swatch-picker/index.js +1 -32
  898. package/dist/server/components/combobox/combobox.schema.js +10 -35
  899. package/dist/server/components/combobox/combobox.variables.js +1 -32
  900. package/dist/server/components/combobox/index.js +53 -65
  901. package/dist/server/components/command-item/command-item.schema.js +10 -36
  902. package/dist/server/components/command-item/command-item.variables.js +1 -32
  903. package/dist/server/components/command-item/index.js +1 -32
  904. package/dist/server/components/command-menu/command-menu.schema.js +15 -38
  905. package/dist/server/components/command-menu/command-menu.variables.js +1 -32
  906. package/dist/server/components/command-menu/index.js +1 -32
  907. package/dist/server/components/command-palette/command-palette.schema.js +12 -37
  908. package/dist/server/components/command-palette/command-palette.variables.js +1 -32
  909. package/dist/server/components/command-palette/index.css +12 -12
  910. package/dist/server/components/command-palette/index.js +2 -33
  911. package/dist/server/components/confirm-dialog/confirm-dialog.schema.js +11 -35
  912. package/dist/server/components/confirm-dialog/confirm-dialog.variables.js +1 -32
  913. package/dist/server/components/confirm-dialog/index.js +274 -84
  914. package/dist/server/components/connection-indicator/connection-indicator.schema.js +1 -32
  915. package/dist/server/components/connection-indicator/connection-indicator.variables.js +1 -32
  916. package/dist/server/components/connection-indicator/index.js +1 -32
  917. package/dist/server/components/container/container.schema.js +12 -33
  918. package/dist/server/components/container/container.variables.js +1 -32
  919. package/dist/server/components/container/index.js +1 -32
  920. package/dist/server/components/context-menu/context-menu.schema.js +13 -38
  921. package/dist/server/components/context-menu/context-menu.variables.js +1 -32
  922. package/dist/server/components/context-menu/index.js +13 -34
  923. package/dist/server/components/context-menu-trigger/context-menu-trigger.schema.js +5 -34
  924. package/dist/server/components/context-menu-trigger/context-menu-trigger.variables.js +1 -32
  925. package/dist/server/components/context-menu-trigger/index.js +7 -32
  926. package/dist/server/components/copy-button/copy-button.schema.js +5 -34
  927. package/dist/server/components/copy-button/copy-button.variables.js +1 -32
  928. package/dist/server/components/copy-button/index.js +9 -33
  929. package/dist/server/components/data-grid/data-grid.schema.js +117 -0
  930. package/dist/server/components/data-grid/data-grid.variables.js +12 -0
  931. package/dist/server/components/data-grid/index.css +245 -0
  932. package/dist/server/components/data-grid/index.js +2822 -0
  933. package/dist/server/components/data-list/data-list.schema.js +24 -37
  934. package/dist/server/components/data-list/data-list.variables.js +1 -32
  935. package/dist/server/components/data-list/index.js +1 -32
  936. package/dist/server/components/data-table/data-table.schema.js +35 -35
  937. package/dist/server/components/data-table/data-table.variables.js +2 -33
  938. package/dist/server/components/data-table/index.css +37 -4
  939. package/dist/server/components/data-table/index.js +328 -81
  940. package/dist/server/components/date-range-field/date-range-field.schema.js +76 -0
  941. package/dist/server/components/date-range-field/date-range-field.variables.js +12 -0
  942. package/dist/server/components/date-range-field/index.css +178 -0
  943. package/dist/server/components/date-range-field/index.js +189 -0
  944. package/dist/server/components/description-list/description-list.schema.js +7 -35
  945. package/dist/server/components/description-list/description-list.variables.js +1 -32
  946. package/dist/server/components/description-list/index.js +1 -32
  947. package/dist/server/components/diff-statistics/diff-statistics.schema.js +2 -33
  948. package/dist/server/components/diff-statistics/diff-statistics.variables.js +1 -32
  949. package/dist/server/components/diff-statistics/index.js +1 -32
  950. package/dist/server/components/diff-viewer/diff-viewer.schema.js +15 -37
  951. package/dist/server/components/diff-viewer/diff-viewer.variables.js +1 -32
  952. package/dist/server/components/diff-viewer/index.js +1 -32
  953. package/dist/server/components/divider/divider.schema.js +1 -32
  954. package/dist/server/components/divider/divider.variables.js +1 -32
  955. package/dist/server/components/divider/index.js +1 -32
  956. package/dist/server/components/drawer/drawer.schema.js +12 -36
  957. package/dist/server/components/drawer/drawer.variables.js +1 -32
  958. package/dist/server/components/drawer/index.js +261 -68
  959. package/dist/server/components/dropdown/dropdown.schema.js +9 -36
  960. package/dist/server/components/dropdown/dropdown.variables.js +1 -32
  961. package/dist/server/components/dropdown/index.js +2 -33
  962. package/dist/server/components/dropdown-group/dropdown-group.schema.js +7 -35
  963. package/dist/server/components/dropdown-group/dropdown-group.variables.js +1 -32
  964. package/dist/server/components/dropdown-group/index.js +1 -32
  965. package/dist/server/components/dropdown-item/dropdown-item.schema.js +9 -36
  966. package/dist/server/components/dropdown-item/dropdown-item.variables.js +1 -32
  967. package/dist/server/components/dropdown-item/index.js +1 -32
  968. package/dist/server/components/dropdown-label/dropdown-label.schema.js +3 -33
  969. package/dist/server/components/dropdown-label/dropdown-label.variables.js +1 -32
  970. package/dist/server/components/dropdown-label/index.js +1 -32
  971. package/dist/server/components/dropdown-menu/dropdown-menu.schema.js +3 -33
  972. package/dist/server/components/dropdown-menu/dropdown-menu.variables.js +1 -32
  973. package/dist/server/components/dropdown-menu/index.js +1 -32
  974. package/dist/server/components/dropdown-separator/dropdown-separator.schema.js +3 -33
  975. package/dist/server/components/dropdown-separator/dropdown-separator.variables.js +1 -32
  976. package/dist/server/components/dropdown-separator/index.js +1 -32
  977. package/dist/server/components/dropdown-trigger/dropdown-trigger.schema.js +3 -33
  978. package/dist/server/components/dropdown-trigger/dropdown-trigger.variables.js +1 -32
  979. package/dist/server/components/dropdown-trigger/index.js +1 -32
  980. package/dist/server/components/empty-state/empty-state.schema.js +7 -35
  981. package/dist/server/components/empty-state/empty-state.variables.js +1 -32
  982. package/dist/server/components/empty-state/index.js +1 -32
  983. package/dist/server/components/event-stream-viewer/event-stream-viewer.schema.js +73 -0
  984. package/dist/server/components/event-stream-viewer/event-stream-viewer.variables.js +12 -0
  985. package/dist/server/components/event-stream-viewer/index.css +414 -0
  986. package/dist/server/components/event-stream-viewer/index.js +627 -0
  987. package/dist/server/components/experimental/connection-indicator/index.js +1 -32
  988. package/dist/server/components/experimental/json-viewer/index.js +1 -32
  989. package/dist/server/components/experimental/message/index.js +1 -32
  990. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.schema.js +78 -0
  991. package/dist/server/components/faceted-filter-bar/faceted-filter-bar.variables.js +12 -0
  992. package/dist/server/components/faceted-filter-bar/index.css +108 -0
  993. package/dist/server/components/faceted-filter-bar/index.js +736 -0
  994. package/dist/server/components/feed/feed.schema.js +6 -34
  995. package/dist/server/components/feed/feed.variables.js +1 -32
  996. package/dist/server/components/feed/index.js +1 -32
  997. package/dist/server/components/feed-event/feed-event.schema.js +16 -36
  998. package/dist/server/components/feed-event/feed-event.variables.js +1 -32
  999. package/dist/server/components/feed-event/index.js +1 -32
  1000. package/dist/server/components/file-upload/file-upload.schema.js +15 -39
  1001. package/dist/server/components/file-upload/file-upload.variables.js +1 -32
  1002. package/dist/server/components/file-upload/index.js +1 -32
  1003. package/dist/server/components/floating-action-button/floating-action-button.schema.js +11 -33
  1004. package/dist/server/components/floating-action-button/floating-action-button.variables.js +1 -32
  1005. package/dist/server/components/floating-action-button/index.css +2 -1
  1006. package/dist/server/components/floating-action-button/index.js +1 -32
  1007. package/dist/server/components/focus-trap/focus-trap.schema.js +21 -38
  1008. package/dist/server/components/focus-trap/focus-trap.variables.js +1 -32
  1009. package/dist/server/components/focus-trap/index.js +6 -34
  1010. package/dist/server/components/form-field/form-field.schema.js +4 -33
  1011. package/dist/server/components/form-field/form-field.variables.js +1 -32
  1012. package/dist/server/components/form-field/index.js +1 -32
  1013. package/dist/server/components/form-section/form-section.schema.js +4 -33
  1014. package/dist/server/components/form-section/form-section.variables.js +1 -32
  1015. package/dist/server/components/form-section/index.js +1 -32
  1016. package/dist/server/components/grid/grid.schema.js +64 -0
  1017. package/dist/server/components/grid/grid.variables.js +12 -0
  1018. package/dist/server/components/grid/index.css +26 -0
  1019. package/dist/server/components/grid/index.js +113 -0
  1020. package/dist/server/components/grid-item/grid-item.schema.js +91 -0
  1021. package/dist/server/components/grid-item/grid-item.variables.js +12 -0
  1022. package/dist/server/components/grid-item/index.js +62 -0
  1023. package/dist/server/components/grid-list/grid-list.schema.js +6 -34
  1024. package/dist/server/components/grid-list/grid-list.variables.js +1 -32
  1025. package/dist/server/components/grid-list/index.js +1 -32
  1026. package/dist/server/components/grid-list-item/grid-list-item.schema.js +19 -41
  1027. package/dist/server/components/grid-list-item/grid-list-item.variables.js +1 -32
  1028. package/dist/server/components/grid-list-item/index.js +1 -32
  1029. package/dist/server/components/hover-card/hover-card.schema.js +21 -42
  1030. package/dist/server/components/hover-card/hover-card.variables.js +1 -32
  1031. package/dist/server/components/hover-card/index.js +1 -32
  1032. package/dist/server/components/image/image.schema.js +9 -36
  1033. package/dist/server/components/image/image.variables.js +1 -32
  1034. package/dist/server/components/image/index.js +1 -32
  1035. package/dist/server/components/input/index.js +1 -32
  1036. package/dist/server/components/input/input.schema.js +22 -42
  1037. package/dist/server/components/input/input.variables.js +1 -32
  1038. package/dist/server/components/invocation-rule-builder/index.css +262 -0
  1039. package/dist/server/components/invocation-rule-builder/index.js +333 -0
  1040. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.schema.js +82 -0
  1041. package/dist/server/components/invocation-rule-builder/invocation-rule-builder.variables.js +12 -0
  1042. package/dist/server/components/json-schema-editor/index.js +26 -7430
  1043. package/dist/server/components/json-schema-editor/json-schema-editor.schema.js +8 -35
  1044. package/dist/server/components/json-schema-editor/json-schema-editor.variables.js +1 -32
  1045. package/dist/server/components/json-viewer/index.css +6 -0
  1046. package/dist/server/components/json-viewer/index.js +3 -34
  1047. package/dist/server/components/json-viewer/json-viewer.schema.js +4 -33
  1048. package/dist/server/components/json-viewer/json-viewer.variables.js +1 -32
  1049. package/dist/server/components/kanban-board/index.js +1 -32
  1050. package/dist/server/components/kanban-board/kanban-board.schema.js +19 -41
  1051. package/dist/server/components/kanban-board/kanban-board.variables.js +1 -32
  1052. package/dist/server/components/kbd/index.js +1 -32
  1053. package/dist/server/components/kbd/kbd.schema.js +11 -33
  1054. package/dist/server/components/kbd/kbd.variables.js +1 -32
  1055. package/dist/server/components/keyboard-shortcuts/index.js +1 -32
  1056. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +6 -34
  1057. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +1 -32
  1058. package/dist/server/components/label/index.js +1 -32
  1059. package/dist/server/components/label/label.schema.js +6 -34
  1060. package/dist/server/components/label/label.variables.js +1 -32
  1061. package/dist/server/components/line-chart/index.js +1 -32
  1062. package/dist/server/components/line-chart/line-chart.schema.js +40 -46
  1063. package/dist/server/components/line-chart/line-chart.variables.js +1 -32
  1064. package/dist/server/components/link/index.js +1 -32
  1065. package/dist/server/components/link/link.schema.js +6 -34
  1066. package/dist/server/components/link/link.variables.js +1 -32
  1067. package/dist/server/components/load-more/index.js +7 -33
  1068. package/dist/server/components/load-more/load-more.schema.js +10 -35
  1069. package/dist/server/components/load-more/load-more.variables.js +1 -32
  1070. package/dist/server/components/markdown-editor/index.js +109 -137
  1071. package/dist/server/components/markdown-editor/markdown-editor.schema.js +29 -43
  1072. package/dist/server/components/markdown-editor/markdown-editor.variables.js +1 -32
  1073. package/dist/server/components/masonry/index.css +14 -0
  1074. package/dist/server/components/masonry/index.js +48 -0
  1075. package/dist/server/components/masonry/masonry.schema.js +44 -0
  1076. package/dist/server/components/masonry/masonry.variables.js +12 -0
  1077. package/dist/server/components/matrix-chart/index.css +4 -0
  1078. package/dist/server/components/matrix-chart/index.js +7 -34
  1079. package/dist/server/components/matrix-chart/matrix-chart.schema.js +42 -46
  1080. package/dist/server/components/matrix-chart/matrix-chart.variables.js +1 -32
  1081. package/dist/server/components/media-controls/index.js +7 -33
  1082. package/dist/server/components/media-controls/media-controls.schema.js +7 -35
  1083. package/dist/server/components/media-controls/media-controls.variables.js +1 -32
  1084. package/dist/server/components/menu-bar/index.js +1 -32
  1085. package/dist/server/components/menu-bar/menu-bar.schema.js +11 -37
  1086. package/dist/server/components/menu-bar/menu-bar.variables.js +1 -32
  1087. package/dist/server/components/message/index.js +1 -32
  1088. package/dist/server/components/message/message.schema.js +4 -33
  1089. package/dist/server/components/message/message.variables.js +1 -32
  1090. package/dist/server/components/modal/index.js +251 -61
  1091. package/dist/server/components/modal/modal.schema.js +19 -41
  1092. package/dist/server/components/modal/modal.variables.js +1 -32
  1093. package/dist/server/components/navigation-bar/index.css +57 -0
  1094. package/dist/server/components/navigation-bar/index.js +14 -38
  1095. package/dist/server/components/navigation-bar/navigation-bar.schema.js +16 -34
  1096. package/dist/server/components/navigation-bar/navigation-bar.variables.js +1 -32
  1097. package/dist/server/components/navigation-item/index.js +1 -32
  1098. package/dist/server/components/navigation-item/navigation-item.schema.js +16 -38
  1099. package/dist/server/components/navigation-item/navigation-item.variables.js +1 -32
  1100. package/dist/server/components/number-input/index.js +1 -32
  1101. package/dist/server/components/number-input/number-input.schema.js +27 -45
  1102. package/dist/server/components/number-input/number-input.variables.js +1 -32
  1103. package/dist/server/components/pagination/index.css +0 -1
  1104. package/dist/server/components/pagination/index.js +1 -32
  1105. package/dist/server/components/pagination/pagination.schema.js +1 -32
  1106. package/dist/server/components/pagination/pagination.variables.js +1 -32
  1107. package/dist/server/components/payload-inspector/index.css +144 -0
  1108. package/dist/server/components/payload-inspector/index.js +1322 -0
  1109. package/dist/server/components/payload-inspector/payload-inspector.schema.js +76 -0
  1110. package/dist/server/components/payload-inspector/payload-inspector.variables.js +12 -0
  1111. package/dist/server/components/permission-matrix/index.css +161 -0
  1112. package/dist/server/components/permission-matrix/index.js +294 -0
  1113. package/dist/server/components/permission-matrix/permission-matrix.schema.js +81 -0
  1114. package/dist/server/components/permission-matrix/permission-matrix.variables.js +12 -0
  1115. package/dist/server/components/phone-input/index.js +1 -32
  1116. package/dist/server/components/phone-input/phone-input.schema.js +3 -33
  1117. package/dist/server/components/phone-input/phone-input.variables.js +1 -32
  1118. package/dist/server/components/pin-input/index.js +1 -32
  1119. package/dist/server/components/pin-input/pin-input.schema.js +6 -34
  1120. package/dist/server/components/pin-input/pin-input.variables.js +1 -32
  1121. package/dist/server/components/popover/index.js +3 -33
  1122. package/dist/server/components/popover/popover.schema.js +12 -35
  1123. package/dist/server/components/popover/popover.variables.js +1 -32
  1124. package/dist/server/components/portal/index.js +1 -32
  1125. package/dist/server/components/portal/portal.schema.js +19 -37
  1126. package/dist/server/components/portal/portal.variables.js +1 -32
  1127. package/dist/server/components/pricing-card/index.css +2 -2
  1128. package/dist/server/components/pricing-card/index.js +1 -32
  1129. package/dist/server/components/pricing-card/pricing-card.schema.js +12 -33
  1130. package/dist/server/components/pricing-card/pricing-card.variables.js +1 -32
  1131. package/dist/server/components/progress/index.js +1 -32
  1132. package/dist/server/components/progress/progress.schema.js +1 -32
  1133. package/dist/server/components/progress/progress.variables.js +1 -32
  1134. package/dist/server/components/radio-group/index.js +1 -32
  1135. package/dist/server/components/radio-group/radio-group.schema.js +4 -33
  1136. package/dist/server/components/radio-group/radio-group.variables.js +1 -32
  1137. package/dist/server/components/rating/index.js +1 -32
  1138. package/dist/server/components/rating/rating.schema.js +4 -33
  1139. package/dist/server/components/rating/rating.variables.js +1 -32
  1140. package/dist/server/components/resizable-panels/index.js +1 -32
  1141. package/dist/server/components/resizable-panels/resizable-panels.schema.js +13 -38
  1142. package/dist/server/components/resizable-panels/resizable-panels.variables.js +1 -32
  1143. package/dist/server/components/review-editor/index.js +116 -140
  1144. package/dist/server/components/review-editor/review-editor.schema.js +15 -39
  1145. package/dist/server/components/review-editor/review-editor.variables.js +1 -32
  1146. package/dist/server/components/run-step-timeline/index.css +161 -0
  1147. package/dist/server/components/run-step-timeline/index.js +414 -0
  1148. package/dist/server/components/run-step-timeline/run-step-timeline.schema.js +110 -0
  1149. package/dist/server/components/run-step-timeline/run-step-timeline.variables.js +12 -0
  1150. package/dist/server/components/schema-form/index.css +165 -0
  1151. package/dist/server/components/schema-form/index.js +911 -0
  1152. package/dist/server/components/schema-form/schema-form.schema.js +50 -0
  1153. package/dist/server/components/schema-form/schema-form.variables.js +12 -0
  1154. package/dist/server/components/scroll-area/index.js +1 -32
  1155. package/dist/server/components/scroll-area/scroll-area.schema.js +4 -33
  1156. package/dist/server/components/scroll-area/scroll-area.variables.js +1 -32
  1157. package/dist/server/components/search-field/index.js +1 -32
  1158. package/dist/server/components/search-field/search-field.schema.js +9 -36
  1159. package/dist/server/components/search-field/search-field.variables.js +1 -32
  1160. package/dist/server/components/secret-value-field/index.css +124 -0
  1161. package/dist/server/components/secret-value-field/index.js +173 -0
  1162. package/dist/server/components/secret-value-field/secret-value-field.schema.js +68 -0
  1163. package/dist/server/components/secret-value-field/secret-value-field.variables.js +12 -0
  1164. package/dist/server/components/section-heading/index.js +1 -32
  1165. package/dist/server/components/section-heading/section-heading.schema.js +8 -35
  1166. package/dist/server/components/section-heading/section-heading.variables.js +1 -32
  1167. package/dist/server/components/segment/index.js +1 -32
  1168. package/dist/server/components/segment/segment.schema.js +11 -36
  1169. package/dist/server/components/segment/segment.variables.js +1 -32
  1170. package/dist/server/components/segmented-control/index.css +5 -0
  1171. package/dist/server/components/segmented-control/index.js +1 -32
  1172. package/dist/server/components/segmented-control/segmented-control.schema.js +10 -36
  1173. package/dist/server/components/segmented-control/segmented-control.variables.js +1 -32
  1174. package/dist/server/components/select/index.js +1 -32
  1175. package/dist/server/components/select/select.schema.js +8 -35
  1176. package/dist/server/components/select/select.variables.js +1 -32
  1177. package/dist/server/components/selection-popover/index.js +5 -35
  1178. package/dist/server/components/selection-popover/selection-popover.schema.js +12 -37
  1179. package/dist/server/components/selection-popover/selection-popover.variables.js +1 -32
  1180. package/dist/server/components/share-card/index.js +45 -66
  1181. package/dist/server/components/share-card/share-card.schema.js +5 -34
  1182. package/dist/server/components/share-card/share-card.variables.js +1 -32
  1183. package/dist/server/components/sheet/index.js +254 -64
  1184. package/dist/server/components/sheet/sheet.schema.js +12 -36
  1185. package/dist/server/components/sheet/sheet.variables.js +1 -32
  1186. package/dist/server/components/shortcut-hint/index.js +1 -32
  1187. package/dist/server/components/shortcut-hint/shortcut-hint.schema.js +3 -33
  1188. package/dist/server/components/shortcut-hint/shortcut-hint.variables.js +1 -32
  1189. package/dist/server/components/side-navigation/index.js +1 -32
  1190. package/dist/server/components/side-navigation/side-navigation.schema.js +6 -34
  1191. package/dist/server/components/side-navigation/side-navigation.variables.js +1 -32
  1192. package/dist/server/components/side-navigation-group/index.js +1 -32
  1193. package/dist/server/components/side-navigation-group/side-navigation-group.schema.js +10 -36
  1194. package/dist/server/components/side-navigation-group/side-navigation-group.variables.js +1 -32
  1195. package/dist/server/components/side-navigation-item/index.js +1 -32
  1196. package/dist/server/components/side-navigation-item/side-navigation-item.schema.js +16 -38
  1197. package/dist/server/components/side-navigation-item/side-navigation-item.variables.js +1 -32
  1198. package/dist/server/components/sidebar/index.js +272 -79
  1199. package/dist/server/components/sidebar/sidebar.schema.js +7 -35
  1200. package/dist/server/components/sidebar/sidebar.variables.js +1 -32
  1201. package/dist/server/components/skeleton/index.js +1 -32
  1202. package/dist/server/components/skeleton/skeleton.schema.js +9 -36
  1203. package/dist/server/components/skeleton/skeleton.variables.js +1 -32
  1204. package/dist/server/components/skip-link/index.js +1 -32
  1205. package/dist/server/components/skip-link/skip-link.schema.js +11 -33
  1206. package/dist/server/components/skip-link/skip-link.variables.js +1 -32
  1207. package/dist/server/components/slider/index.js +1 -32
  1208. package/dist/server/components/slider/slider.schema.js +5 -34
  1209. package/dist/server/components/slider/slider.variables.js +1 -32
  1210. package/dist/server/components/sortable-list/index.js +1 -32
  1211. package/dist/server/components/sortable-list/sortable-list.schema.js +27 -41
  1212. package/dist/server/components/sortable-list/sortable-list.variables.js +1 -32
  1213. package/dist/server/components/spectrogram/index.css +2 -1
  1214. package/dist/server/components/spectrogram/index.js +1 -32
  1215. package/dist/server/components/spectrogram/spectrogram.schema.js +51 -43
  1216. package/dist/server/components/spectrogram/spectrogram.variables.js +1 -32
  1217. package/dist/server/components/spectrum-chart/index.js +1 -32
  1218. package/dist/server/components/spectrum-chart/spectrum-chart.schema.js +43 -42
  1219. package/dist/server/components/spectrum-chart/spectrum-chart.variables.js +1 -32
  1220. package/dist/server/components/speed-dial/index.css +111 -0
  1221. package/dist/server/components/speed-dial/index.js +393 -0
  1222. package/dist/server/components/speed-dial/speed-dial.schema.js +57 -0
  1223. package/dist/server/components/speed-dial/speed-dial.variables.js +12 -0
  1224. package/dist/server/components/speed-dial-action/index.js +171 -0
  1225. package/dist/server/components/speed-dial-action/speed-dial-action.schema.js +52 -0
  1226. package/dist/server/components/speed-dial-action/speed-dial-action.variables.js +12 -0
  1227. package/dist/server/components/spinner/index.js +1 -32
  1228. package/dist/server/components/spinner/spinner.schema.js +1 -32
  1229. package/dist/server/components/spinner/spinner.variables.js +1 -32
  1230. package/dist/server/components/stacked-list-item/index.js +1 -32
  1231. package/dist/server/components/stacked-list-item/stacked-list-item.schema.js +20 -41
  1232. package/dist/server/components/stacked-list-item/stacked-list-item.variables.js +1 -32
  1233. package/dist/server/components/stat/index.js +1 -32
  1234. package/dist/server/components/stat/stat.schema.js +7 -35
  1235. package/dist/server/components/stat/stat.variables.js +1 -32
  1236. package/dist/server/components/stat-group/index.js +1 -32
  1237. package/dist/server/components/stat-group/stat-group.schema.js +4 -33
  1238. package/dist/server/components/stat-group/stat-group.variables.js +1 -32
  1239. package/dist/server/components/status-dot/index.css +1 -1
  1240. package/dist/server/components/status-dot/index.js +1 -32
  1241. package/dist/server/components/status-dot/status-dot.schema.js +1 -32
  1242. package/dist/server/components/status-dot/status-dot.variables.js +1 -32
  1243. package/dist/server/components/steps/index.css +13 -3
  1244. package/dist/server/components/steps/index.js +1 -32
  1245. package/dist/server/components/steps/steps.schema.js +4 -33
  1246. package/dist/server/components/steps/steps.variables.js +1 -32
  1247. package/dist/server/components/subscription-badge/index.js +2 -33
  1248. package/dist/server/components/subscription-badge/subscription-badge.schema.js +1 -32
  1249. package/dist/server/components/subscription-badge/subscription-badge.variables.js +1 -32
  1250. package/dist/server/components/surface/index.js +1 -32
  1251. package/dist/server/components/surface/surface.schema.js +11 -33
  1252. package/dist/server/components/surface/surface.variables.js +1 -32
  1253. package/dist/server/components/tab/index.js +1 -32
  1254. package/dist/server/components/tab/tab.schema.js +6 -34
  1255. package/dist/server/components/tab/tab.variables.js +1 -32
  1256. package/dist/server/components/tab-list/index.js +1 -32
  1257. package/dist/server/components/tab-list/tab-list.schema.js +4 -33
  1258. package/dist/server/components/tab-list/tab-list.variables.js +1 -32
  1259. package/dist/server/components/tab-panel/index.js +1 -32
  1260. package/dist/server/components/tab-panel/tab-panel.schema.js +4 -33
  1261. package/dist/server/components/tab-panel/tab-panel.variables.js +1 -32
  1262. package/dist/server/components/table/index.css +14 -4
  1263. package/dist/server/components/table/index.js +52 -38
  1264. package/dist/server/components/table/table.schema.js +6 -34
  1265. package/dist/server/components/table/table.variables.js +1 -32
  1266. package/dist/server/components/table-body/index.js +1 -32
  1267. package/dist/server/components/table-body/table-body.schema.js +4 -33
  1268. package/dist/server/components/table-body/table-body.variables.js +1 -32
  1269. package/dist/server/components/table-cell/index.js +1 -32
  1270. package/dist/server/components/table-cell/table-cell.schema.js +11 -34
  1271. package/dist/server/components/table-cell/table-cell.variables.js +1 -32
  1272. package/dist/server/components/table-header/index.js +1 -32
  1273. package/dist/server/components/table-header/table-header.schema.js +6 -34
  1274. package/dist/server/components/table-header/table-header.variables.js +1 -32
  1275. package/dist/server/components/table-header-cell/index.js +1 -32
  1276. package/dist/server/components/table-header-cell/table-header-cell.schema.js +4 -33
  1277. package/dist/server/components/table-header-cell/table-header-cell.variables.js +1 -32
  1278. package/dist/server/components/table-row/index.js +9 -34
  1279. package/dist/server/components/table-row/table-row.schema.js +8 -35
  1280. package/dist/server/components/table-row/table-row.variables.js +1 -32
  1281. package/dist/server/components/tabs/index.css +1 -1
  1282. package/dist/server/components/tabs/index.js +1 -32
  1283. package/dist/server/components/tabs/tabs.schema.js +4 -33
  1284. package/dist/server/components/tabs/tabs.variables.js +1 -32
  1285. package/dist/server/components/tag-input/index.css +2 -2
  1286. package/dist/server/components/tag-input/index.js +1 -32
  1287. package/dist/server/components/tag-input/tag-input.schema.js +5 -34
  1288. package/dist/server/components/tag-input/tag-input.variables.js +1 -32
  1289. package/dist/server/components/textarea/index.css +1 -0
  1290. package/dist/server/components/textarea/index.js +1 -32
  1291. package/dist/server/components/textarea/textarea.schema.js +13 -34
  1292. package/dist/server/components/textarea/textarea.variables.js +1 -32
  1293. package/dist/server/components/timeline/index.css +9 -7
  1294. package/dist/server/components/timeline/index.js +2 -33
  1295. package/dist/server/components/timeline/timeline.schema.js +17 -34
  1296. package/dist/server/components/timeline/timeline.variables.js +1 -32
  1297. package/dist/server/components/toast-region/index.js +31 -34
  1298. package/dist/server/components/toast-region/toast-region.schema.js +3 -33
  1299. package/dist/server/components/toast-region/toast-region.variables.js +1 -32
  1300. package/dist/server/components/toggle/index.css +2 -2
  1301. package/dist/server/components/toggle/index.js +1 -32
  1302. package/dist/server/components/toggle/toggle.schema.js +1 -32
  1303. package/dist/server/components/toggle/toggle.variables.js +1 -32
  1304. package/dist/server/components/toolbar/index.js +1 -32
  1305. package/dist/server/components/toolbar/toolbar.schema.js +12 -33
  1306. package/dist/server/components/toolbar/toolbar.variables.js +1 -32
  1307. package/dist/server/components/tooltip/index.css +3 -2
  1308. package/dist/server/components/tooltip/index.js +1 -32
  1309. package/dist/server/components/tooltip/tooltip.schema.js +10 -36
  1310. package/dist/server/components/tooltip/tooltip.variables.js +1 -32
  1311. package/dist/server/components/transfer-list/index.css +116 -0
  1312. package/dist/server/components/transfer-list/index.js +326 -0
  1313. package/dist/server/components/transfer-list/transfer-list.schema.js +72 -0
  1314. package/dist/server/components/transfer-list/transfer-list.variables.js +12 -0
  1315. package/dist/server/components/tree/index.css +186 -2
  1316. package/dist/server/components/tree/index.js +2651 -157
  1317. package/dist/server/components/tree/tree.schema.js +72 -35
  1318. package/dist/server/components/tree/tree.variables.js +6 -33
  1319. package/dist/server/components/tree-item/index.js +374 -49
  1320. package/dist/server/components/tree-item/tree-item.schema.js +19 -37
  1321. package/dist/server/components/tree-item/tree-item.variables.js +1 -32
  1322. package/dist/server/components/typography/index.js +1 -32
  1323. package/dist/server/components/typography/typography.schema.js +12 -33
  1324. package/dist/server/components/typography/typography.variables.js +1 -32
  1325. package/dist/server/components/virtual-list/index.css +30 -0
  1326. package/dist/server/components/virtual-list/index.js +186 -0
  1327. package/dist/server/components/virtual-list/virtual-list.schema.js +69 -0
  1328. package/dist/server/components/virtual-list/virtual-list.variables.js +12 -0
  1329. package/dist/server/components/visually-hidden/index.js +1 -32
  1330. package/dist/server/components/visually-hidden/visually-hidden.schema.js +12 -33
  1331. package/dist/server/components/visually-hidden/visually-hidden.variables.js +1 -32
  1332. package/dist/server/components/waveform/index.js +1 -32
  1333. package/dist/server/components/waveform/waveform.schema.js +34 -42
  1334. package/dist/server/components/waveform/waveform.variables.js +1 -32
  1335. package/dist/server/highlighters/shiki/index.js +9 -33
  1336. package/dist/server/index.css +5383 -2634
  1337. package/dist/server/index.js +14950 -12212
  1338. package/dist/server/markdown/rendering/rehype-shiki-sync.d.ts +9 -0
  1339. package/dist/server/markdown/rendering/rehype-shiki-sync.js +23 -10
  1340. package/dist/server/markdown/rendering/render.js +8 -2
  1341. package/dist/server/styles/base-guard.js +1 -32
  1342. package/dist/styles/base-guard.js +1 -31
  1343. package/dist/utilities/fixed-virtual-window.d.ts +27 -0
  1344. package/package.json +465 -369
  1345. package/src/_internal/anchored-overlay.svelte.ts +72 -48
  1346. package/src/_internal/overlay.ts +27 -12
  1347. package/src/_internal/toast-context.ts +8 -0
  1348. package/src/_internal/tree-context.ts +18 -0
  1349. package/src/_internal/tree-data.ts +91 -0
  1350. package/src/_internal/tree-drag-controller.svelte.ts +328 -0
  1351. package/src/_internal/tree-registry.svelte.ts +89 -4
  1352. package/src/_internal/use-virtualizer.svelte.ts +226 -0
  1353. package/src/_internal/virtual-item.ts +1 -0
  1354. package/src/components/_timeline-item/index.ts +5 -0
  1355. package/src/components/_tree-expand-all/index.ts +5 -0
  1356. package/src/components/_tree-expand-all/tree-expand-all.svelte +83 -0
  1357. package/src/components/_tree-expand-all/tree-expand-all.types.ts +15 -0
  1358. package/src/components/_visually-hidden-live-region.svelte +13 -0
  1359. package/src/components/access-gate/README.md +55 -0
  1360. package/src/components/access-gate/access-gate-inline.svelte +415 -0
  1361. package/src/components/access-gate/access-gate.css +129 -0
  1362. package/src/components/access-gate/access-gate.examples.json +19 -0
  1363. package/src/components/access-gate/access-gate.svelte +92 -0
  1364. package/src/components/access-gate/access-gate.types.ts +46 -0
  1365. package/src/components/access-gate/index.ts +6 -0
  1366. package/src/components/accordion/README.md +5 -4
  1367. package/src/components/accordion/accordion.examples.json +1 -1
  1368. package/src/components/accordion/accordion.svelte +9 -2
  1369. package/src/components/accordion-item/README.md +7 -6
  1370. package/src/components/alert/README.md +8 -5
  1371. package/src/components/alert-dialog/README.md +14 -14
  1372. package/src/components/alert-dialog/alert-dialog.types.ts +7 -0
  1373. package/src/components/area-chart/README.md +18 -16
  1374. package/src/components/area-chart/area-chart.examples.json +1 -0
  1375. package/src/components/area-chart/area-chart.types.ts +14 -0
  1376. package/src/components/aspect-ratio/README.md +7 -6
  1377. package/src/components/autocomplete/README.md +14 -14
  1378. package/src/components/autocomplete/autocomplete.css +10 -3
  1379. package/src/components/autocomplete/autocomplete.examples.json +3 -2
  1380. package/src/components/autocomplete/autocomplete.types.ts +14 -0
  1381. package/src/components/avatar/README.md +8 -8
  1382. package/src/components/avatar/avatar.css +1 -0
  1383. package/src/components/avatar/avatar.types.ts +6 -0
  1384. package/src/components/avatar-group/README.md +11 -10
  1385. package/src/components/avatar-group/avatar-group.svelte +16 -0
  1386. package/src/components/avatar-group/avatar-group.types.ts +10 -0
  1387. package/src/components/backdrop/README.md +9 -9
  1388. package/src/components/badge/README.md +7 -6
  1389. package/src/components/badge/badge.css +1 -1
  1390. package/src/components/banner/README.md +3 -3
  1391. package/src/components/bar-chart/README.md +16 -14
  1392. package/src/components/bar-chart/bar-chart.css +4 -0
  1393. package/src/components/bar-chart/bar-chart.svelte +4 -0
  1394. package/src/components/bar-chart/bar-chart.types.ts +14 -0
  1395. package/src/components/button/README.md +13 -10
  1396. package/src/components/button/button.css +7 -0
  1397. package/src/components/button/button.examples.json +1 -1
  1398. package/src/components/button-group/README.md +7 -7
  1399. package/src/components/button-group/button-group.types.ts +12 -1
  1400. package/src/components/callout/README.md +2 -2
  1401. package/src/components/capability-gate/README.md +14 -14
  1402. package/src/components/capability-gate/capability-gate.css +5 -2
  1403. package/src/components/card/README.md +3 -3
  1404. package/src/components/card/card.types.ts +2 -0
  1405. package/src/components/chart.types.ts +12 -0
  1406. package/src/components/chat/README.md +149 -36
  1407. package/src/components/chat/adapter/chat-adapter.ts +132 -0
  1408. package/src/components/chat/adapter/index.ts +15 -0
  1409. package/src/components/chat/chat.examples.json +26 -2
  1410. package/src/components/chat/chat.types.ts +173 -0
  1411. package/src/components/chat/container/chat-history-trigger.svelte +107 -0
  1412. package/src/components/chat/container/chat-participant-typing.svelte +156 -0
  1413. package/src/components/chat/container/chat-status-announcer.svelte +13 -19
  1414. package/src/components/chat/container/chat.svelte +1326 -226
  1415. package/src/components/chat/container/use-chat-keyboard-nav.svelte.ts +41 -8
  1416. package/src/components/chat/container/use-chat-message-groups.svelte.ts +66 -0
  1417. package/src/components/chat/container/use-chat-read-receipts.svelte.ts +103 -0
  1418. package/src/components/chat/container/use-chat-reasoning-state.svelte.ts +93 -0
  1419. package/src/components/chat/container/use-chat-typing-indicator.svelte.ts +200 -0
  1420. package/src/components/chat/container/use-chat-virtualizer.svelte.ts +328 -0
  1421. package/src/components/chat/index.ts +10 -1
  1422. package/src/components/chat/message/chat-message-parts-renderer.svelte +152 -0
  1423. package/src/components/chat/message/chat-message-parts.ts +163 -0
  1424. package/src/components/chat/message/chat-message.svelte +112 -78
  1425. package/src/components/chat/message/chat-read-receipt.svelte +115 -0
  1426. package/src/components/chat/message/parts/image-part.svelte +27 -0
  1427. package/src/components/chat/message/parts/markdown-part.svelte +23 -0
  1428. package/src/components/chat/message/parts/reasoning-part.svelte +280 -0
  1429. package/src/components/chat/message/parts/step-part.svelte +134 -0
  1430. package/src/components/chat/message/parts/suggestion-part.svelte +99 -0
  1431. package/src/components/chat/message/parts/tool-approval-part.svelte +301 -0
  1432. package/src/components/chat/message/parts/tool-call-part.svelte +31 -0
  1433. package/src/components/chat/message/parts/tool-result-part.svelte +74 -0
  1434. package/src/components/chat/utilities/index.ts +17 -1
  1435. package/src/components/chat/utilities/types.ts +265 -2
  1436. package/src/components/chat/utilities/utilities.ts +325 -1
  1437. package/src/components/chat-conversation-header/README.md +40 -0
  1438. package/src/components/chat-conversation-header/chat-conversation-header.css +51 -0
  1439. package/src/components/chat-conversation-header/chat-conversation-header.examples.json +13 -0
  1440. package/src/components/chat-conversation-header/chat-conversation-header.svelte +83 -0
  1441. package/src/components/chat-conversation-header/chat-conversation-header.types.ts +20 -0
  1442. package/src/components/chat-conversation-header/index.ts +9 -0
  1443. package/src/components/chat-conversation-list/README.md +45 -0
  1444. package/src/components/chat-conversation-list/chat-conversation-list.css +114 -0
  1445. package/src/components/chat-conversation-list/chat-conversation-list.examples.json +13 -0
  1446. package/src/components/chat-conversation-list/chat-conversation-list.svelte +110 -0
  1447. package/src/components/chat-conversation-list/chat-conversation-list.types.ts +18 -0
  1448. package/src/components/chat-conversation-list/conversation-summary.ts +88 -0
  1449. package/src/components/chat-conversation-list/index.ts +11 -0
  1450. package/src/components/checkbox/README.md +1 -1
  1451. package/src/components/checkbox/checkbox.examples.json +1 -1
  1452. package/src/components/checkbox-group/README.md +1 -1
  1453. package/src/components/chip/README.md +9 -9
  1454. package/src/components/chip/chip.svelte +12 -0
  1455. package/src/components/chip/chip.types.ts +22 -0
  1456. package/src/components/choice-grid/README.md +2 -2
  1457. package/src/components/choice-grid-item/README.md +1 -1
  1458. package/src/components/click-away-listener/README.md +6 -6
  1459. package/src/components/code-block/README.md +11 -9
  1460. package/src/components/code-block/code-block.css +77 -47
  1461. package/src/components/code-block/code-block.examples.json +6 -0
  1462. package/src/components/code-block/code-block.svelte +32 -37
  1463. package/src/components/code-block/code-block.types.ts +9 -6
  1464. package/src/components/collapsible/README.md +9 -7
  1465. package/src/components/color-field/README.md +1 -1
  1466. package/src/components/color-field/color-field.examples.json +1 -1
  1467. package/src/components/color-picker/README.md +2 -2
  1468. package/src/components/color-swatch-picker/README.md +13 -13
  1469. package/src/components/combobox/README.md +3 -3
  1470. package/src/components/combobox/combobox.examples.json +1 -1
  1471. package/src/components/combobox/combobox.svelte +64 -6
  1472. package/src/components/command-item/README.md +11 -11
  1473. package/src/components/command-menu/README.md +15 -15
  1474. package/src/components/command-menu/command-menu.examples.json +1 -1
  1475. package/src/components/command-palette/README.md +5 -5
  1476. package/src/components/command-palette/command-palette.css +26 -12
  1477. package/src/components/confirm-dialog/README.md +14 -14
  1478. package/src/components/container/README.md +10 -9
  1479. package/src/components/context-menu/README.md +9 -9
  1480. package/src/components/context-menu/context-menu.context.ts +2 -0
  1481. package/src/components/context-menu/context-menu.svelte +4 -0
  1482. package/src/components/context-menu/context-menu.types.ts +5 -0
  1483. package/src/components/context-menu-trigger/README.md +2 -2
  1484. package/src/components/context-menu-trigger/context-menu-trigger.svelte +6 -0
  1485. package/src/components/context-menu-trigger/context-menu-trigger.types.ts +1 -0
  1486. package/src/components/copy-button/README.md +2 -2
  1487. package/src/components/data-grid/README.md +80 -0
  1488. package/src/components/data-grid/_internal/column-model.svelte.ts +218 -0
  1489. package/src/components/data-grid/_internal/geometry.ts +87 -0
  1490. package/src/components/data-grid/_internal/keyboard-model.ts +131 -0
  1491. package/src/components/data-grid/_internal/selection-model.svelte.ts +168 -0
  1492. package/src/components/data-grid/_internal/sort-model.ts +134 -0
  1493. package/src/components/data-grid/_internal/virtualization-adapter.svelte.ts +505 -0
  1494. package/src/components/data-grid/data-grid-selection-bind-probe.ts +15 -0
  1495. package/src/components/data-grid/data-grid.css +283 -0
  1496. package/src/components/data-grid/data-grid.examples.json +19 -0
  1497. package/src/components/data-grid/data-grid.svelte +1030 -0
  1498. package/src/components/data-grid/data-grid.types.ts +118 -0
  1499. package/src/components/data-grid/index.ts +16 -0
  1500. package/src/components/data-list/README.md +8 -8
  1501. package/src/components/data-list/data-list.types.ts +1 -0
  1502. package/src/components/data-table/README.md +23 -12
  1503. package/src/components/data-table/data-table.css +25 -0
  1504. package/src/components/data-table/data-table.examples.json +6 -0
  1505. package/src/components/data-table/data-table.svelte +305 -13
  1506. package/src/components/data-table/data-table.types.ts +35 -1
  1507. package/src/components/date-range-field/README.md +141 -0
  1508. package/src/components/date-range-field/date-range-field.css +211 -0
  1509. package/src/components/date-range-field/date-range-field.examples.json +31 -0
  1510. package/src/components/date-range-field/date-range-field.svelte +246 -0
  1511. package/src/components/date-range-field/date-range-field.types.ts +78 -0
  1512. package/src/components/date-range-field/index.ts +10 -0
  1513. package/src/components/description-list/README.md +3 -3
  1514. package/src/components/description-list/description-list.types.ts +1 -0
  1515. package/src/components/diff-statistics/README.md +11 -11
  1516. package/src/components/diff-statistics/diff-statistics.types.ts +5 -2
  1517. package/src/components/diff-viewer/README.md +13 -13
  1518. package/src/components/divider/divider.svelte +1 -1
  1519. package/src/components/drawer/README.md +6 -6
  1520. package/src/components/drawer/drawer.examples.json +1 -1
  1521. package/src/components/drawer/drawer.svelte +39 -27
  1522. package/src/components/dropdown/README.md +4 -4
  1523. package/src/components/dropdown/dropdown.examples.json +1 -1
  1524. package/src/components/dropdown/dropdown.types.ts +4 -0
  1525. package/src/components/dropdown-group/README.md +6 -6
  1526. package/src/components/dropdown-group/dropdown-group.types.ts +12 -1
  1527. package/src/components/dropdown-item/README.md +4 -4
  1528. package/src/components/dropdown-item/dropdown-item.types.ts +4 -0
  1529. package/src/components/dropdown-label/README.md +1 -1
  1530. package/src/components/dropdown-label/dropdown-label.types.ts +1 -0
  1531. package/src/components/dropdown-menu/README.md +1 -1
  1532. package/src/components/dropdown-menu/dropdown-menu.types.ts +1 -0
  1533. package/src/components/dropdown-separator/README.md +3 -3
  1534. package/src/components/dropdown-separator/dropdown-separator.types.ts +1 -0
  1535. package/src/components/dropdown-trigger/README.md +1 -1
  1536. package/src/components/dropdown-trigger/dropdown-trigger.types.ts +1 -0
  1537. package/src/components/empty-state/README.md +3 -3
  1538. package/src/components/empty-state/empty-state.types.ts +3 -0
  1539. package/src/components/event-stream-viewer/README.md +147 -0
  1540. package/src/components/event-stream-viewer/event-stream-viewer.css +474 -0
  1541. package/src/components/event-stream-viewer/event-stream-viewer.examples.json +31 -0
  1542. package/src/components/event-stream-viewer/event-stream-viewer.svelte +298 -0
  1543. package/src/components/event-stream-viewer/event-stream-viewer.types.ts +85 -0
  1544. package/src/components/event-stream-viewer/index.ts +11 -0
  1545. package/src/components/faceted-filter-bar/README.md +170 -0
  1546. package/src/components/faceted-filter-bar/faceted-filter-bar.css +121 -0
  1547. package/src/components/faceted-filter-bar/faceted-filter-bar.examples.json +25 -0
  1548. package/src/components/faceted-filter-bar/faceted-filter-bar.svelte +193 -0
  1549. package/src/components/faceted-filter-bar/faceted-filter-bar.types.ts +98 -0
  1550. package/src/components/faceted-filter-bar/index.ts +13 -0
  1551. package/src/components/feed/README.md +2 -2
  1552. package/src/components/feed/feed.types.ts +1 -0
  1553. package/src/components/feed-event/README.md +4 -4
  1554. package/src/components/feed-event/feed-event.types.ts +1 -0
  1555. package/src/components/file-upload/README.md +15 -15
  1556. package/src/components/floating-action-button/README.md +9 -8
  1557. package/src/components/floating-action-button/floating-action-button.css +3 -1
  1558. package/src/components/focus-trap/README.md +8 -7
  1559. package/src/components/focus-trap/focus-trap.types.ts +5 -0
  1560. package/src/components/focus-trap/focus-trap.utilities.svelte.ts +32 -3
  1561. package/src/components/form-field/README.md +10 -10
  1562. package/src/components/form-field/form-field.examples.json +1 -1
  1563. package/src/components/form-section/README.md +9 -9
  1564. package/src/components/grid/README.md +61 -0
  1565. package/src/components/grid/grid.css +24 -0
  1566. package/src/components/grid/grid.examples.json +19 -0
  1567. package/src/components/grid/grid.svelte +62 -0
  1568. package/src/components/grid/grid.types.ts +31 -0
  1569. package/src/components/grid/index.ts +17 -0
  1570. package/src/components/grid-item/README.md +50 -0
  1571. package/src/components/grid-item/grid-item.svelte +55 -0
  1572. package/src/components/grid-item/grid-item.types.ts +22 -0
  1573. package/src/components/grid-item/index.ts +5 -0
  1574. package/src/components/grid-list/README.md +2 -2
  1575. package/src/components/grid-list-item/README.md +11 -11
  1576. package/src/components/grid-list-item/grid-list-item.types.ts +3 -0
  1577. package/src/components/hover-card/README.md +10 -10
  1578. package/src/components/hover-card/hover-card.types.ts +8 -0
  1579. package/src/components/image/README.md +4 -4
  1580. package/src/components/input/README.md +10 -10
  1581. package/src/components/input/input.examples.json +1 -1
  1582. package/src/components/input/input.types.ts +12 -0
  1583. package/src/components/invocation-rule-builder/README.md +128 -0
  1584. package/src/components/invocation-rule-builder/index.ts +13 -0
  1585. package/src/components/invocation-rule-builder/invocation-rule-builder.css +281 -0
  1586. package/src/components/invocation-rule-builder/invocation-rule-builder.examples.json +19 -0
  1587. package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +545 -0
  1588. package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +144 -0
  1589. package/src/components/json-schema-editor/README.md +14 -14
  1590. package/src/components/json-schema-editor/json-schema-editor.examples.json +1 -1
  1591. package/src/components/json-schema-editor/json-schema-editor.types.ts +1 -0
  1592. package/src/components/json-viewer/README.md +7 -7
  1593. package/src/components/json-viewer/_json-viewer-node.svelte +7 -7
  1594. package/src/components/json-viewer/json-viewer.css +6 -0
  1595. package/src/components/json-viewer/json-viewer.examples.json +37 -0
  1596. package/src/components/kanban-board/README.md +9 -9
  1597. package/src/components/kanban-board/kanban-board.types.ts +4 -0
  1598. package/src/components/kbd/README.md +6 -5
  1599. package/src/components/keyboard-shortcuts/README.md +6 -6
  1600. package/src/components/label/README.md +7 -7
  1601. package/src/components/line-chart/README.md +17 -15
  1602. package/src/components/line-chart/line-chart.examples.json +1 -0
  1603. package/src/components/line-chart/line-chart.types.ts +13 -0
  1604. package/src/components/link/README.md +2 -2
  1605. package/src/components/load-more/README.md +13 -13
  1606. package/src/components/markdown-editor/README.md +11 -11
  1607. package/src/components/markdown-editor/markdown-editor.examples.json +1 -1
  1608. package/src/components/masonry/README.md +49 -0
  1609. package/src/components/masonry/index.ts +6 -0
  1610. package/src/components/masonry/masonry.css +12 -0
  1611. package/src/components/masonry/masonry.examples.json +13 -0
  1612. package/src/components/masonry/masonry.svelte +39 -0
  1613. package/src/components/masonry/masonry.types.ts +16 -0
  1614. package/src/components/matrix-chart/README.md +17 -15
  1615. package/src/components/matrix-chart/matrix-chart.css +4 -0
  1616. package/src/components/matrix-chart/matrix-chart.svelte +19 -1
  1617. package/src/components/matrix-chart/matrix-chart.types.ts +14 -1
  1618. package/src/components/media-controls/README.md +14 -14
  1619. package/src/components/menu-bar/README.md +7 -7
  1620. package/src/components/menu-bar/menu-bar.svelte +9 -0
  1621. package/src/components/menu-bar/menu-bar.types.ts +4 -0
  1622. package/src/components/message/README.md +8 -8
  1623. package/src/components/modal/README.md +16 -16
  1624. package/src/components/modal/modal.examples.json +1 -1
  1625. package/src/components/modal/modal.svelte +19 -1
  1626. package/src/components/modal/modal.types.ts +8 -0
  1627. package/src/components/navigation-bar/README.md +42 -12
  1628. package/src/components/navigation-bar/index.ts +2 -0
  1629. package/src/components/navigation-bar/navigation-bar.css +66 -0
  1630. package/src/components/navigation-bar/navigation-bar.examples.json +6 -0
  1631. package/src/components/navigation-bar/navigation-bar.svelte +16 -6
  1632. package/src/components/navigation-bar/navigation-bar.types.ts +18 -0
  1633. package/src/components/navigation-item/README.md +6 -6
  1634. package/src/components/navigation-item/navigation-item.types.ts +4 -0
  1635. package/src/components/number-input/README.md +13 -13
  1636. package/src/components/number-input/number-input.types.ts +13 -0
  1637. package/src/components/pagination/pagination.css +0 -1
  1638. package/src/components/payload-inspector/README.md +147 -0
  1639. package/src/components/payload-inspector/index.ts +10 -0
  1640. package/src/components/payload-inspector/payload-inspector.css +173 -0
  1641. package/src/components/payload-inspector/payload-inspector.examples.json +31 -0
  1642. package/src/components/payload-inspector/payload-inspector.svelte +386 -0
  1643. package/src/components/payload-inspector/payload-inspector.types.ts +72 -0
  1644. package/src/components/permission-matrix/README.md +61 -0
  1645. package/src/components/permission-matrix/index.ts +12 -0
  1646. package/src/components/permission-matrix/permission-matrix.css +165 -0
  1647. package/src/components/permission-matrix/permission-matrix.examples.json +13 -0
  1648. package/src/components/permission-matrix/permission-matrix.svelte +181 -0
  1649. package/src/components/permission-matrix/permission-matrix.types.ts +73 -0
  1650. package/src/components/phone-input/README.md +18 -18
  1651. package/src/components/phone-input/phone-input.examples.json +1 -1
  1652. package/src/components/pin-input/README.md +19 -19
  1653. package/src/components/pin-input/pin-input.examples.json +1 -1
  1654. package/src/components/popover/README.md +19 -18
  1655. package/src/components/popover/popover.svelte +10 -3
  1656. package/src/components/popover/popover.types.ts +6 -0
  1657. package/src/components/portal/README.md +7 -6
  1658. package/src/components/portal/portal.types.ts +4 -0
  1659. package/src/components/pricing-card/README.md +10 -9
  1660. package/src/components/pricing-card/pricing-card.css +11 -3
  1661. package/src/components/radio-group/README.md +12 -12
  1662. package/src/components/radio-group/radio-group.examples.json +1 -1
  1663. package/src/components/rating/README.md +18 -18
  1664. package/src/components/rating/rating.examples.json +1 -1
  1665. package/src/components/resizable-panels/resizable-panels.types.ts +4 -0
  1666. package/src/components/review-editor/README.md +7 -7
  1667. package/src/components/review-editor/index.ts +1 -1
  1668. package/src/components/review-editor/review-editor-impl.svelte +5 -2
  1669. package/src/components/review-editor/review-editor-selection-geometry.ts +3 -0
  1670. package/src/components/review-editor/review-editor-selection-types.ts +68 -0
  1671. package/src/components/review-editor/review-editor-selection.svelte.ts +2 -63
  1672. package/src/components/review-editor/review-editor.examples.json +1 -1
  1673. package/src/components/run-step-timeline/README.md +152 -0
  1674. package/src/components/run-step-timeline/index.ts +11 -0
  1675. package/src/components/run-step-timeline/run-step-timeline.css +215 -0
  1676. package/src/components/run-step-timeline/run-step-timeline.examples.json +25 -0
  1677. package/src/components/run-step-timeline/run-step-timeline.svelte +234 -0
  1678. package/src/components/run-step-timeline/run-step-timeline.types.ts +123 -0
  1679. package/src/components/schema-form/README.md +59 -0
  1680. package/src/components/schema-form/index.ts +14 -0
  1681. package/src/components/schema-form/schema-form-model.ts +409 -0
  1682. package/src/components/schema-form/schema-form-validation.ts +199 -0
  1683. package/src/components/schema-form/schema-form.css +180 -0
  1684. package/src/components/schema-form/schema-form.examples.json +19 -0
  1685. package/src/components/schema-form/schema-form.svelte +626 -0
  1686. package/src/components/schema-form/schema-form.types.ts +36 -0
  1687. package/src/components/scroll-area/README.md +1 -1
  1688. package/src/components/search-field/README.md +4 -4
  1689. package/src/components/search-field/search-field.examples.json +1 -1
  1690. package/src/components/secret-value-field/README.md +85 -0
  1691. package/src/components/secret-value-field/index.ts +6 -0
  1692. package/src/components/secret-value-field/secret-value-field.css +147 -0
  1693. package/src/components/secret-value-field/secret-value-field.examples.json +31 -0
  1694. package/src/components/secret-value-field/secret-value-field.svelte +223 -0
  1695. package/src/components/secret-value-field/secret-value-field.types.ts +47 -0
  1696. package/src/components/section-heading/README.md +9 -9
  1697. package/src/components/segment/README.md +9 -9
  1698. package/src/components/segmented-control/README.md +4 -4
  1699. package/src/components/segmented-control/segmented-control.css +17 -0
  1700. package/src/components/segmented-control/segmented-control.types.ts +2 -0
  1701. package/src/components/select/README.md +11 -11
  1702. package/src/components/select/select.examples.json +7 -1
  1703. package/src/components/selection-popover/README.md +13 -13
  1704. package/src/components/selection-popover/selection-popover.examples.json +4 -4
  1705. package/src/components/selection-popover/selection-popover.svelte +9 -2
  1706. package/src/components/selection-popover/selection-popover.types.ts +8 -0
  1707. package/src/components/share-card/README.md +12 -12
  1708. package/src/components/share-card/share-card.svelte +159 -141
  1709. package/src/components/sheet/README.md +6 -6
  1710. package/src/components/sheet/sheet.svelte +6 -0
  1711. package/src/components/shortcut-hint/README.md +7 -7
  1712. package/src/components/side-navigation/README.md +5 -5
  1713. package/src/components/side-navigation/side-navigation.examples.json +2 -2
  1714. package/src/components/side-navigation-group/README.md +10 -10
  1715. package/src/components/side-navigation-item/README.md +10 -10
  1716. package/src/components/sidebar/README.md +3 -3
  1717. package/src/components/skeleton/README.md +6 -6
  1718. package/src/components/skeleton/skeleton.types.ts +4 -0
  1719. package/src/components/skip-link/README.md +5 -4
  1720. package/src/components/skip-link/skip-link.examples.json +1 -1
  1721. package/src/components/slider/README.md +16 -16
  1722. package/src/components/slider/slider.types.ts +2 -0
  1723. package/src/components/sortable-list/README.md +12 -12
  1724. package/src/components/sortable-list/sortable-list.types.ts +1 -0
  1725. package/src/components/spectrogram/README.md +13 -11
  1726. package/src/components/spectrogram/spectrogram.css +2 -1
  1727. package/src/components/spectrogram/spectrogram.examples.json +12 -0
  1728. package/src/components/spectrogram/spectrogram.types.ts +12 -1
  1729. package/src/components/spectrum-chart/README.md +12 -10
  1730. package/src/components/spectrum-chart/spectrum-chart.types.ts +9 -0
  1731. package/src/components/speed-dial/README.md +54 -0
  1732. package/src/components/speed-dial/index.ts +25 -0
  1733. package/src/components/speed-dial/speed-dial.context.ts +16 -0
  1734. package/src/components/speed-dial/speed-dial.css +112 -0
  1735. package/src/components/speed-dial/speed-dial.examples.json +19 -0
  1736. package/src/components/speed-dial/speed-dial.svelte +205 -0
  1737. package/src/components/speed-dial/speed-dial.types.ts +59 -0
  1738. package/src/components/speed-dial-action/README.md +51 -0
  1739. package/src/components/speed-dial-action/index.ts +8 -0
  1740. package/src/components/speed-dial-action/speed-dial-action.svelte +77 -0
  1741. package/src/components/speed-dial-action/speed-dial-action.types.ts +50 -0
  1742. package/src/components/stacked-list-item/README.md +21 -11
  1743. package/src/components/stacked-list-item/stacked-list-item.examples.json +25 -0
  1744. package/src/components/stacked-list-item/stacked-list-item.types.ts +4 -0
  1745. package/src/components/stat/README.md +11 -11
  1746. package/src/components/stat-group/README.md +1 -1
  1747. package/src/components/stat-group/stat-group.examples.json +18 -0
  1748. package/src/components/status-dot/status-dot.css +1 -1
  1749. package/src/components/status-dot/status-dot.examples.json +2 -2
  1750. package/src/components/steps/README.md +10 -3
  1751. package/src/components/steps/steps.css +30 -10
  1752. package/src/components/steps/steps.examples.json +12 -0
  1753. package/src/components/subscription-badge/subscription-badge.examples.json +1 -1
  1754. package/src/components/subscription-badge/subscription-badge.svelte +1 -1
  1755. package/src/components/surface/README.md +6 -5
  1756. package/src/components/surface/surface.types.ts +1 -0
  1757. package/src/components/tab/README.md +8 -8
  1758. package/src/components/tab-list/README.md +6 -6
  1759. package/src/components/tab-panel/README.md +1 -1
  1760. package/src/components/table/README.md +2 -2
  1761. package/src/components/table/table.css +23 -4
  1762. package/src/components/table/table.svelte +26 -1
  1763. package/src/components/table/table.types.ts +2 -1
  1764. package/src/components/table-body/README.md +4 -4
  1765. package/src/components/table-cell/README.md +6 -6
  1766. package/src/components/table-cell/table-cell.types.ts +4 -7
  1767. package/src/components/table-header/README.md +2 -2
  1768. package/src/components/table-header-cell/README.md +1 -1
  1769. package/src/components/table-row/README.md +3 -3
  1770. package/src/components/table-row/table-row.svelte +2 -1
  1771. package/src/components/table-row/table-row.types.ts +4 -1
  1772. package/src/components/tabs/README.md +1 -1
  1773. package/src/components/tabs/tabs.css +1 -1
  1774. package/src/components/tag-input/README.md +29 -29
  1775. package/src/components/tag-input/tag-input.css +2 -2
  1776. package/src/components/tag-input/tag-input.examples.json +7 -1
  1777. package/src/components/tag-input/tag-input.svelte +18 -0
  1778. package/src/components/textarea/README.md +4 -2
  1779. package/src/components/textarea/textarea.css +1 -0
  1780. package/src/components/textarea/textarea.examples.json +19 -1
  1781. package/src/components/textarea/textarea.types.ts +10 -0
  1782. package/src/components/timeline/README.md +12 -10
  1783. package/src/components/timeline/timeline.css +40 -8
  1784. package/src/components/timeline/timeline.examples.json +9 -3
  1785. package/src/components/timeline/timeline.svelte +6 -3
  1786. package/src/components/timeline/timeline.types.ts +2 -2
  1787. package/src/components/toast-region/README.md +7 -7
  1788. package/src/components/toast-region/toast-region.svelte +54 -1
  1789. package/src/components/toggle/README.md +1 -1
  1790. package/src/components/toggle/toggle.css +5 -2
  1791. package/src/components/toggle/toggle.examples.json +7 -1
  1792. package/src/components/toolbar/README.md +5 -4
  1793. package/src/components/tooltip/README.md +7 -7
  1794. package/src/components/tooltip/tooltip.css +11 -2
  1795. package/src/components/tooltip/tooltip.types.ts +4 -0
  1796. package/src/components/transfer-list/README.md +52 -0
  1797. package/src/components/transfer-list/index.ts +10 -0
  1798. package/src/components/transfer-list/transfer-list.css +114 -0
  1799. package/src/components/transfer-list/transfer-list.examples.json +13 -0
  1800. package/src/components/transfer-list/transfer-list.svelte +394 -0
  1801. package/src/components/transfer-list/transfer-list.types.ts +55 -0
  1802. package/src/components/tree/README.md +29 -15
  1803. package/src/components/tree/index.ts +16 -3
  1804. package/src/components/tree/tree.css +203 -3
  1805. package/src/components/tree/tree.examples.json +12 -0
  1806. package/src/components/tree/tree.svelte +981 -45
  1807. package/src/components/tree/tree.types.ts +80 -3
  1808. package/src/components/tree-item/README.md +14 -12
  1809. package/src/components/tree-item/tree-item.svelte +410 -7
  1810. package/src/components/tree-item/tree-item.types.ts +11 -3
  1811. package/src/components/typography/README.md +8 -7
  1812. package/src/components/virtual-list/README.md +70 -0
  1813. package/src/components/virtual-list/index.ts +16 -0
  1814. package/src/components/virtual-list/virtual-list.css +30 -0
  1815. package/src/components/virtual-list/virtual-list.examples.json +13 -0
  1816. package/src/components/virtual-list/virtual-list.svelte +192 -0
  1817. package/src/components/virtual-list/virtual-list.types.ts +60 -0
  1818. package/src/components/visually-hidden/README.md +6 -5
  1819. package/src/components/waveform/README.md +13 -11
  1820. package/src/components/waveform/waveform.examples.json +12 -0
  1821. package/src/components/waveform/waveform.types.ts +9 -0
  1822. package/src/highlighters/shiki/index.ts +11 -1
  1823. package/src/index.ts +145 -3
  1824. package/src/schema-types.ts +10 -0
  1825. package/src/styles/all.css.d.ts +7 -0
  1826. package/src/styles/base-guard.ts +95 -0
  1827. package/src/styles/components/_dismiss-button.css +1 -1
  1828. package/src/styles/components/_floating-surface.css +32 -2
  1829. package/src/styles/components/_input-frame.css +29 -0
  1830. package/src/styles/components.css +19 -2
  1831. package/src/styles/foundation.css.d.ts +7 -0
  1832. package/src/styles/index.css.d.ts +7 -0
  1833. package/src/styles/tokens-base.css +110 -42
  1834. package/src/styles/tokens.css.d.ts +7 -0
  1835. package/src/styles/utilities.css.d.ts +7 -0
  1836. package/src/utilities/clipboard.ts +2 -0
  1837. package/src/utilities/fixed-virtual-window.ts +99 -0
  1838. package/dist/components/accordion/accordion.fixture.svelte.d.ts +0 -8
  1839. package/dist/components/dropdown/dropdown.fixture.svelte.d.ts +0 -7
  1840. package/dist/components/experimental/timeline/index.d.ts +0 -2
  1841. package/dist/components/experimental/timeline/index.js +0 -70
  1842. package/dist/components/experimental/timeline-item/index.d.ts +0 -2
  1843. package/dist/components/experimental/timeline-item/index.js +0 -70
  1844. package/dist/components/modal/modal.fixture.svelte.d.ts +0 -9
  1845. package/dist/components/navigation-item/navigation-item.fixture.svelte.d.ts +0 -7
  1846. package/dist/components/segmented-control/segmented-control.fixture.svelte.d.ts +0 -7
  1847. package/dist/components/side-navigation/side-navigation.fixture.svelte.d.ts +0 -8
  1848. package/dist/components/table/table.fixture.svelte.d.ts +0 -4
  1849. package/dist/components/tabs/tabs.fixture.svelte.d.ts +0 -7
  1850. package/dist/components/timeline-item/index.d.ts +0 -5
  1851. package/dist/components/timeline-item/index.js +0 -171
  1852. package/dist/components/timeline-item/timeline-item.css +0 -7
  1853. package/dist/components/timeline-item/timeline-item.schema.js +0 -103
  1854. package/dist/components/timeline-item/timeline-item.variables.js +0 -61
  1855. package/dist/server/components/experimental/timeline/index.js +0 -54
  1856. package/dist/server/components/experimental/timeline-item/index.js +0 -54
  1857. package/dist/server/components/timeline-item/index.css +0 -2
  1858. package/dist/server/components/timeline-item/index.js +0 -108
  1859. package/dist/server/components/timeline-item/timeline-item.schema.js +0 -85
  1860. package/dist/server/components/timeline-item/timeline-item.variables.js +0 -43
  1861. package/src/components/_radio/radio.schema.json +0 -36
  1862. package/src/components/_radio/radio.schema.ts +0 -41
  1863. package/src/components/_radio/radio.variables.json +0 -1
  1864. package/src/components/_radio/radio.variables.ts +0 -3
  1865. package/src/components/_tree-select-all/tree-select-all.css +0 -38
  1866. package/src/components/_tree-select-all/tree-select-all.schema.json +0 -38
  1867. package/src/components/_tree-select-all/tree-select-all.schema.ts +0 -43
  1868. package/src/components/_tree-select-all/tree-select-all.variables.json +0 -1
  1869. package/src/components/_tree-select-all/tree-select-all.variables.ts +0 -3
  1870. package/src/components/accordion/accordion.fixture.svelte +0 -32
  1871. package/src/components/accordion/accordion.schema.json +0 -16
  1872. package/src/components/accordion/accordion.schema.ts +0 -20
  1873. package/src/components/accordion/accordion.variables.json +0 -1
  1874. package/src/components/accordion/accordion.variables.ts +0 -3
  1875. package/src/components/accordion-item/accordion-item.schema.json +0 -25
  1876. package/src/components/accordion-item/accordion-item.schema.ts +0 -29
  1877. package/src/components/accordion-item/accordion-item.variables.json +0 -1
  1878. package/src/components/accordion-item/accordion-item.variables.ts +0 -3
  1879. package/src/components/alert/alert.schema.json +0 -21
  1880. package/src/components/alert/alert.schema.ts +0 -26
  1881. package/src/components/alert/alert.variables.json +0 -1
  1882. package/src/components/alert/alert.variables.ts +0 -3
  1883. package/src/components/alert-dialog/alert-dialog.schema.json +0 -45
  1884. package/src/components/alert-dialog/alert-dialog.schema.ts +0 -49
  1885. package/src/components/alert-dialog/alert-dialog.variables.json +0 -1
  1886. package/src/components/alert-dialog/alert-dialog.variables.ts +0 -3
  1887. package/src/components/area-chart/area-chart.schema.json +0 -117
  1888. package/src/components/area-chart/area-chart.schema.ts +0 -121
  1889. package/src/components/area-chart/area-chart.variables.json +0 -1
  1890. package/src/components/area-chart/area-chart.variables.ts +0 -3
  1891. package/src/components/aspect-ratio/aspect-ratio.schema.json +0 -133
  1892. package/src/components/aspect-ratio/aspect-ratio.schema.ts +0 -137
  1893. package/src/components/aspect-ratio/aspect-ratio.variables.json +0 -1
  1894. package/src/components/aspect-ratio/aspect-ratio.variables.ts +0 -3
  1895. package/src/components/autocomplete/autocomplete.schema.json +0 -65
  1896. package/src/components/autocomplete/autocomplete.schema.ts +0 -69
  1897. package/src/components/autocomplete/autocomplete.variables.json +0 -1
  1898. package/src/components/autocomplete/autocomplete.variables.ts +0 -3
  1899. package/src/components/avatar/avatar.schema.json +0 -35
  1900. package/src/components/avatar/avatar.schema.ts +0 -40
  1901. package/src/components/avatar/avatar.variables.json +0 -1
  1902. package/src/components/avatar/avatar.variables.ts +0 -3
  1903. package/src/components/avatar-group/avatar-group.schema.json +0 -64
  1904. package/src/components/avatar-group/avatar-group.schema.ts +0 -69
  1905. package/src/components/avatar-group/avatar-group.variables.json +0 -1
  1906. package/src/components/avatar-group/avatar-group.variables.ts +0 -3
  1907. package/src/components/backdrop/backdrop.schema.json +0 -42
  1908. package/src/components/backdrop/backdrop.schema.ts +0 -49
  1909. package/src/components/backdrop/backdrop.variables.json +0 -1
  1910. package/src/components/backdrop/backdrop.variables.ts +0 -3
  1911. package/src/components/badge/badge.schema.json +0 -26
  1912. package/src/components/badge/badge.schema.ts +0 -31
  1913. package/src/components/badge/badge.variables.json +0 -1
  1914. package/src/components/badge/badge.variables.ts +0 -3
  1915. package/src/components/banner/banner.schema.json +0 -35
  1916. package/src/components/banner/banner.schema.ts +0 -40
  1917. package/src/components/banner/banner.variables.json +0 -1
  1918. package/src/components/banner/banner.variables.ts +0 -3
  1919. package/src/components/bar-chart/bar-chart.schema.json +0 -118
  1920. package/src/components/bar-chart/bar-chart.schema.ts +0 -125
  1921. package/src/components/bar-chart/bar-chart.variables.json +0 -1
  1922. package/src/components/bar-chart/bar-chart.variables.ts +0 -3
  1923. package/src/components/breadcrumbs/breadcrumbs.schema.json +0 -21
  1924. package/src/components/breadcrumbs/breadcrumbs.schema.ts +0 -25
  1925. package/src/components/breadcrumbs/breadcrumbs.variables.json +0 -1
  1926. package/src/components/breadcrumbs/breadcrumbs.variables.ts +0 -3
  1927. package/src/components/button/button.schema.json +0 -44
  1928. package/src/components/button/button.schema.ts +0 -48
  1929. package/src/components/button/button.variables.json +0 -1
  1930. package/src/components/button/button.variables.ts +0 -3
  1931. package/src/components/button-group/button-group.schema.json +0 -29
  1932. package/src/components/button-group/button-group.schema.ts +0 -33
  1933. package/src/components/button-group/button-group.variables.json +0 -1
  1934. package/src/components/button-group/button-group.variables.ts +0 -3
  1935. package/src/components/callout/callout.schema.json +0 -31
  1936. package/src/components/callout/callout.schema.ts +0 -37
  1937. package/src/components/callout/callout.variables.json +0 -1
  1938. package/src/components/callout/callout.variables.ts +0 -3
  1939. package/src/components/capability-gate/capability-gate.schema.json +0 -68
  1940. package/src/components/capability-gate/capability-gate.schema.ts +0 -72
  1941. package/src/components/capability-gate/capability-gate.variables.json +0 -1
  1942. package/src/components/capability-gate/capability-gate.variables.ts +0 -3
  1943. package/src/components/card/card.schema.json +0 -57
  1944. package/src/components/card/card.schema.ts +0 -63
  1945. package/src/components/card/card.variables.json +0 -1
  1946. package/src/components/card/card.variables.ts +0 -3
  1947. package/src/components/chat/chat.schema.json +0 -131
  1948. package/src/components/chat/chat.schema.ts +0 -135
  1949. package/src/components/chat/chat.variables.json +0 -1
  1950. package/src/components/chat/chat.variables.ts +0 -3
  1951. package/src/components/checkbox/checkbox.schema.json +0 -43
  1952. package/src/components/checkbox/checkbox.schema.ts +0 -48
  1953. package/src/components/checkbox/checkbox.variables.json +0 -1
  1954. package/src/components/checkbox/checkbox.variables.ts +0 -3
  1955. package/src/components/checkbox-group/checkbox-group.schema.json +0 -43
  1956. package/src/components/checkbox-group/checkbox-group.schema.ts +0 -51
  1957. package/src/components/checkbox-group/checkbox-group.variables.json +0 -1
  1958. package/src/components/checkbox-group/checkbox-group.variables.ts +0 -3
  1959. package/src/components/chip/chip.schema.json +0 -51
  1960. package/src/components/chip/chip.schema.ts +0 -55
  1961. package/src/components/chip/chip.variables.json +0 -1
  1962. package/src/components/chip/chip.variables.ts +0 -3
  1963. package/src/components/choice-grid/choice-grid.schema.json +0 -61
  1964. package/src/components/choice-grid/choice-grid.schema.ts +0 -70
  1965. package/src/components/choice-grid/choice-grid.variables.json +0 -1
  1966. package/src/components/choice-grid/choice-grid.variables.ts +0 -3
  1967. package/src/components/choice-grid-item/choice-grid-item.schema.json +0 -32
  1968. package/src/components/choice-grid-item/choice-grid-item.schema.ts +0 -38
  1969. package/src/components/choice-grid-item/choice-grid-item.variables.json +0 -1
  1970. package/src/components/choice-grid-item/choice-grid-item.variables.ts +0 -3
  1971. package/src/components/click-away-listener/click-away-listener.schema.json +0 -27
  1972. package/src/components/click-away-listener/click-away-listener.schema.ts +0 -32
  1973. package/src/components/click-away-listener/click-away-listener.variables.json +0 -1
  1974. package/src/components/click-away-listener/click-away-listener.variables.ts +0 -3
  1975. package/src/components/code-block/code-block.schema.json +0 -36
  1976. package/src/components/code-block/code-block.schema.ts +0 -42
  1977. package/src/components/code-block/code-block.variables.json +0 -1
  1978. package/src/components/code-block/code-block.variables.ts +0 -3
  1979. package/src/components/collapsible/collapsible.schema.json +0 -30
  1980. package/src/components/collapsible/collapsible.schema.ts +0 -36
  1981. package/src/components/collapsible/collapsible.variables.json +0 -1
  1982. package/src/components/collapsible/collapsible.variables.ts +0 -3
  1983. package/src/components/color-field/color-field.schema.json +0 -79
  1984. package/src/components/color-field/color-field.schema.ts +0 -90
  1985. package/src/components/color-field/color-field.variables.json +0 -1
  1986. package/src/components/color-field/color-field.variables.ts +0 -3
  1987. package/src/components/color-picker/color-picker.schema.json +0 -54
  1988. package/src/components/color-picker/color-picker.schema.ts +0 -60
  1989. package/src/components/color-picker/color-picker.variables.json +0 -1
  1990. package/src/components/color-picker/color-picker.variables.ts +0 -3
  1991. package/src/components/color-swatch-picker/color-swatch-picker.schema.json +0 -56
  1992. package/src/components/color-swatch-picker/color-swatch-picker.schema.ts +0 -62
  1993. package/src/components/color-swatch-picker/color-swatch-picker.variables.json +0 -1
  1994. package/src/components/color-swatch-picker/color-swatch-picker.variables.ts +0 -3
  1995. package/src/components/combobox/combobox.schema.json +0 -64
  1996. package/src/components/combobox/combobox.schema.ts +0 -69
  1997. package/src/components/combobox/combobox.variables.json +0 -1
  1998. package/src/components/combobox/combobox.variables.ts +0 -3
  1999. package/src/components/command-item/command-item.schema.json +0 -48
  2000. package/src/components/command-item/command-item.schema.ts +0 -52
  2001. package/src/components/command-item/command-item.variables.json +0 -1
  2002. package/src/components/command-item/command-item.variables.ts +0 -3
  2003. package/src/components/command-menu/command-menu.schema.json +0 -73
  2004. package/src/components/command-menu/command-menu.schema.ts +0 -77
  2005. package/src/components/command-menu/command-menu.variables.json +0 -1
  2006. package/src/components/command-menu/command-menu.variables.ts +0 -3
  2007. package/src/components/command-palette/command-palette.schema.json +0 -52
  2008. package/src/components/command-palette/command-palette.schema.ts +0 -58
  2009. package/src/components/command-palette/command-palette.variables.json +0 -1
  2010. package/src/components/command-palette/command-palette.variables.ts +0 -3
  2011. package/src/components/confirm-dialog/confirm-dialog.schema.json +0 -52
  2012. package/src/components/confirm-dialog/confirm-dialog.schema.ts +0 -60
  2013. package/src/components/confirm-dialog/confirm-dialog.variables.json +0 -1
  2014. package/src/components/confirm-dialog/confirm-dialog.variables.ts +0 -3
  2015. package/src/components/connection-indicator/connection-indicator.schema.json +0 -20
  2016. package/src/components/connection-indicator/connection-indicator.schema.ts +0 -24
  2017. package/src/components/connection-indicator/connection-indicator.variables.json +0 -1
  2018. package/src/components/connection-indicator/connection-indicator.variables.ts +0 -3
  2019. package/src/components/container/container.schema.json +0 -130
  2020. package/src/components/container/container.schema.ts +0 -134
  2021. package/src/components/container/container.variables.json +0 -1
  2022. package/src/components/container/container.variables.ts +0 -3
  2023. package/src/components/context-menu/context-menu.schema.json +0 -44
  2024. package/src/components/context-menu/context-menu.schema.ts +0 -48
  2025. package/src/components/context-menu/context-menu.variables.json +0 -1
  2026. package/src/components/context-menu/context-menu.variables.ts +0 -3
  2027. package/src/components/context-menu-trigger/context-menu-trigger.schema.json +0 -18
  2028. package/src/components/context-menu-trigger/context-menu-trigger.schema.ts +0 -22
  2029. package/src/components/context-menu-trigger/context-menu-trigger.variables.json +0 -1
  2030. package/src/components/context-menu-trigger/context-menu-trigger.variables.ts +0 -3
  2031. package/src/components/copy-button/copy-button.schema.json +0 -44
  2032. package/src/components/copy-button/copy-button.schema.ts +0 -50
  2033. package/src/components/copy-button/copy-button.variables.json +0 -1
  2034. package/src/components/copy-button/copy-button.variables.ts +0 -3
  2035. package/src/components/data-list/data-list.schema.json +0 -34
  2036. package/src/components/data-list/data-list.schema.ts +0 -39
  2037. package/src/components/data-list/data-list.variables.json +0 -1
  2038. package/src/components/data-list/data-list.variables.ts +0 -3
  2039. package/src/components/data-table/data-table.schema.json +0 -43
  2040. package/src/components/data-table/data-table.schema.ts +0 -50
  2041. package/src/components/data-table/data-table.variables.json +0 -1
  2042. package/src/components/data-table/data-table.variables.ts +0 -3
  2043. package/src/components/description-list/description-list.schema.json +0 -26
  2044. package/src/components/description-list/description-list.schema.ts +0 -31
  2045. package/src/components/description-list/description-list.variables.json +0 -1
  2046. package/src/components/description-list/description-list.variables.ts +0 -3
  2047. package/src/components/diff-statistics/diff-statistics.schema.json +0 -36
  2048. package/src/components/diff-statistics/diff-statistics.schema.ts +0 -41
  2049. package/src/components/diff-statistics/diff-statistics.variables.json +0 -1
  2050. package/src/components/diff-statistics/diff-statistics.variables.ts +0 -3
  2051. package/src/components/diff-viewer/diff-viewer.schema.json +0 -56
  2052. package/src/components/diff-viewer/diff-viewer.schema.ts +0 -62
  2053. package/src/components/diff-viewer/diff-viewer.variables.json +0 -1
  2054. package/src/components/diff-viewer/diff-viewer.variables.ts +0 -3
  2055. package/src/components/divider/divider.schema.json +0 -31
  2056. package/src/components/divider/divider.schema.ts +0 -35
  2057. package/src/components/divider/divider.variables.json +0 -1
  2058. package/src/components/divider/divider.variables.ts +0 -3
  2059. package/src/components/drawer/drawer.schema.json +0 -52
  2060. package/src/components/drawer/drawer.schema.ts +0 -58
  2061. package/src/components/drawer/drawer.variables.json +0 -1
  2062. package/src/components/drawer/drawer.variables.ts +0 -3
  2063. package/src/components/dropdown/dropdown.fixture.svelte +0 -28
  2064. package/src/components/dropdown/dropdown.schema.json +0 -31
  2065. package/src/components/dropdown/dropdown.schema.ts +0 -35
  2066. package/src/components/dropdown/dropdown.variables.json +0 -1
  2067. package/src/components/dropdown/dropdown.variables.ts +0 -3
  2068. package/src/components/dropdown-group/dropdown-group.schema.json +0 -25
  2069. package/src/components/dropdown-group/dropdown-group.schema.ts +0 -29
  2070. package/src/components/dropdown-group/dropdown-group.variables.json +0 -1
  2071. package/src/components/dropdown-group/dropdown-group.variables.ts +0 -3
  2072. package/src/components/dropdown-item/dropdown-item.schema.json +0 -39
  2073. package/src/components/dropdown-item/dropdown-item.schema.ts +0 -45
  2074. package/src/components/dropdown-item/dropdown-item.variables.json +0 -1
  2075. package/src/components/dropdown-item/dropdown-item.variables.ts +0 -3
  2076. package/src/components/dropdown-label/dropdown-label.schema.json +0 -18
  2077. package/src/components/dropdown-label/dropdown-label.schema.ts +0 -22
  2078. package/src/components/dropdown-label/dropdown-label.variables.json +0 -1
  2079. package/src/components/dropdown-label/dropdown-label.variables.ts +0 -3
  2080. package/src/components/dropdown-menu/dropdown-menu.schema.json +0 -18
  2081. package/src/components/dropdown-menu/dropdown-menu.schema.ts +0 -22
  2082. package/src/components/dropdown-menu/dropdown-menu.variables.json +0 -1
  2083. package/src/components/dropdown-menu/dropdown-menu.variables.ts +0 -3
  2084. package/src/components/dropdown-separator/dropdown-separator.schema.json +0 -10
  2085. package/src/components/dropdown-separator/dropdown-separator.schema.ts +0 -14
  2086. package/src/components/dropdown-separator/dropdown-separator.variables.json +0 -1
  2087. package/src/components/dropdown-separator/dropdown-separator.variables.ts +0 -3
  2088. package/src/components/dropdown-trigger/dropdown-trigger.schema.json +0 -22
  2089. package/src/components/dropdown-trigger/dropdown-trigger.schema.ts +0 -26
  2090. package/src/components/dropdown-trigger/dropdown-trigger.variables.json +0 -1
  2091. package/src/components/dropdown-trigger/dropdown-trigger.variables.ts +0 -3
  2092. package/src/components/empty-state/empty-state.schema.json +0 -34
  2093. package/src/components/empty-state/empty-state.schema.ts +0 -38
  2094. package/src/components/empty-state/empty-state.variables.json +0 -1
  2095. package/src/components/empty-state/empty-state.variables.ts +0 -3
  2096. package/src/components/experimental/timeline/index.ts +0 -25
  2097. package/src/components/experimental/timeline-item/index.ts +0 -17
  2098. package/src/components/feed/feed.schema.json +0 -22
  2099. package/src/components/feed/feed.schema.ts +0 -27
  2100. package/src/components/feed/feed.variables.json +0 -1
  2101. package/src/components/feed/feed.variables.ts +0 -3
  2102. package/src/components/feed-event/feed-event.schema.json +0 -39
  2103. package/src/components/feed-event/feed-event.schema.ts +0 -45
  2104. package/src/components/feed-event/feed-event.variables.json +0 -1
  2105. package/src/components/feed-event/feed-event.variables.ts +0 -3
  2106. package/src/components/file-upload/file-upload.schema.json +0 -63
  2107. package/src/components/file-upload/file-upload.schema.ts +0 -67
  2108. package/src/components/file-upload/file-upload.variables.json +0 -6
  2109. package/src/components/file-upload/file-upload.variables.ts +0 -8
  2110. package/src/components/floating-action-button/floating-action-button.schema.json +0 -35
  2111. package/src/components/floating-action-button/floating-action-button.schema.ts +0 -39
  2112. package/src/components/floating-action-button/floating-action-button.variables.json +0 -1
  2113. package/src/components/floating-action-button/floating-action-button.variables.ts +0 -3
  2114. package/src/components/focus-trap/focus-trap.schema.json +0 -36
  2115. package/src/components/focus-trap/focus-trap.schema.ts +0 -40
  2116. package/src/components/focus-trap/focus-trap.variables.json +0 -1
  2117. package/src/components/focus-trap/focus-trap.variables.ts +0 -3
  2118. package/src/components/form-field/form-field.schema.json +0 -44
  2119. package/src/components/form-field/form-field.schema.ts +0 -50
  2120. package/src/components/form-field/form-field.variables.json +0 -1
  2121. package/src/components/form-field/form-field.variables.ts +0 -3
  2122. package/src/components/form-section/form-section.schema.json +0 -39
  2123. package/src/components/form-section/form-section.schema.ts +0 -43
  2124. package/src/components/form-section/form-section.variables.json +0 -1
  2125. package/src/components/form-section/form-section.variables.ts +0 -3
  2126. package/src/components/grid-list/grid-list.schema.json +0 -23
  2127. package/src/components/grid-list/grid-list.schema.ts +0 -28
  2128. package/src/components/grid-list/grid-list.variables.json +0 -1
  2129. package/src/components/grid-list/grid-list.variables.ts +0 -3
  2130. package/src/components/grid-list-item/grid-list-item.schema.json +0 -51
  2131. package/src/components/grid-list-item/grid-list-item.schema.ts +0 -55
  2132. package/src/components/grid-list-item/grid-list-item.variables.json +0 -1
  2133. package/src/components/grid-list-item/grid-list-item.variables.ts +0 -3
  2134. package/src/components/hover-card/hover-card.schema.json +0 -64
  2135. package/src/components/hover-card/hover-card.schema.ts +0 -68
  2136. package/src/components/hover-card/hover-card.variables.json +0 -1
  2137. package/src/components/hover-card/hover-card.variables.ts +0 -3
  2138. package/src/components/image/image.schema.json +0 -60
  2139. package/src/components/image/image.schema.ts +0 -68
  2140. package/src/components/image/image.variables.json +0 -1
  2141. package/src/components/image/image.variables.ts +0 -3
  2142. package/src/components/input/input.schema.json +0 -55
  2143. package/src/components/input/input.schema.ts +0 -59
  2144. package/src/components/input/input.variables.json +0 -1
  2145. package/src/components/input/input.variables.ts +0 -3
  2146. package/src/components/json-schema-editor/json-schema-editor.schema.json +0 -59
  2147. package/src/components/json-schema-editor/json-schema-editor.schema.ts +0 -63
  2148. package/src/components/json-schema-editor/json-schema-editor.variables.json +0 -1
  2149. package/src/components/json-schema-editor/json-schema-editor.variables.ts +0 -3
  2150. package/src/components/json-viewer/json-viewer.schema.json +0 -31
  2151. package/src/components/json-viewer/json-viewer.schema.ts +0 -36
  2152. package/src/components/json-viewer/json-viewer.variables.json +0 -1
  2153. package/src/components/json-viewer/json-viewer.variables.ts +0 -3
  2154. package/src/components/kanban-board/kanban-board.schema.json +0 -55
  2155. package/src/components/kanban-board/kanban-board.schema.ts +0 -59
  2156. package/src/components/kanban-board/kanban-board.variables.json +0 -6
  2157. package/src/components/kanban-board/kanban-board.variables.ts +0 -8
  2158. package/src/components/kbd/kbd.schema.json +0 -20
  2159. package/src/components/kbd/kbd.schema.ts +0 -24
  2160. package/src/components/kbd/kbd.variables.json +0 -1
  2161. package/src/components/kbd/kbd.variables.ts +0 -3
  2162. package/src/components/keyboard-shortcuts/keyboard-shortcuts.schema.json +0 -27
  2163. package/src/components/keyboard-shortcuts/keyboard-shortcuts.schema.ts +0 -31
  2164. package/src/components/keyboard-shortcuts/keyboard-shortcuts.variables.json +0 -1
  2165. package/src/components/keyboard-shortcuts/keyboard-shortcuts.variables.ts +0 -3
  2166. package/src/components/label/label.schema.json +0 -32
  2167. package/src/components/label/label.schema.ts +0 -37
  2168. package/src/components/label/label.variables.json +0 -1
  2169. package/src/components/label/label.variables.ts +0 -3
  2170. package/src/components/line-chart/line-chart.schema.json +0 -114
  2171. package/src/components/line-chart/line-chart.schema.ts +0 -118
  2172. package/src/components/line-chart/line-chart.variables.json +0 -1
  2173. package/src/components/line-chart/line-chart.variables.ts +0 -3
  2174. package/src/components/link/link.schema.json +0 -58
  2175. package/src/components/link/link.schema.ts +0 -68
  2176. package/src/components/link/link.variables.json +0 -1
  2177. package/src/components/link/link.variables.ts +0 -3
  2178. package/src/components/load-more/load-more.schema.json +0 -55
  2179. package/src/components/load-more/load-more.schema.ts +0 -59
  2180. package/src/components/load-more/load-more.variables.json +0 -1
  2181. package/src/components/load-more/load-more.variables.ts +0 -3
  2182. package/src/components/markdown-editor/markdown-editor.schema.json +0 -100
  2183. package/src/components/markdown-editor/markdown-editor.schema.ts +0 -105
  2184. package/src/components/markdown-editor/markdown-editor.variables.json +0 -1
  2185. package/src/components/markdown-editor/markdown-editor.variables.ts +0 -3
  2186. package/src/components/matrix-chart/matrix-chart.schema.json +0 -63
  2187. package/src/components/matrix-chart/matrix-chart.schema.ts +0 -67
  2188. package/src/components/matrix-chart/matrix-chart.variables.json +0 -1
  2189. package/src/components/matrix-chart/matrix-chart.variables.ts +0 -3
  2190. package/src/components/media-controls/media-controls.schema.json +0 -65
  2191. package/src/components/media-controls/media-controls.schema.ts +0 -69
  2192. package/src/components/media-controls/media-controls.variables.json +0 -1
  2193. package/src/components/media-controls/media-controls.variables.ts +0 -3
  2194. package/src/components/menu-bar/menu-bar.schema.json +0 -27
  2195. package/src/components/menu-bar/menu-bar.schema.ts +0 -31
  2196. package/src/components/menu-bar/menu-bar.variables.json +0 -1
  2197. package/src/components/menu-bar/menu-bar.variables.ts +0 -3
  2198. package/src/components/message/message.schema.json +0 -36
  2199. package/src/components/message/message.schema.ts +0 -42
  2200. package/src/components/message/message.variables.json +0 -1
  2201. package/src/components/message/message.variables.ts +0 -3
  2202. package/src/components/modal/modal.fixture.svelte +0 -89
  2203. package/src/components/modal/modal.schema.json +0 -68
  2204. package/src/components/modal/modal.schema.ts +0 -8
  2205. package/src/components/modal/modal.variables.json +0 -1
  2206. package/src/components/modal/modal.variables.ts +0 -3
  2207. package/src/components/navigation-bar/navigation-bar.schema.json +0 -39
  2208. package/src/components/navigation-bar/navigation-bar.schema.ts +0 -44
  2209. package/src/components/navigation-bar/navigation-bar.variables.json +0 -1
  2210. package/src/components/navigation-bar/navigation-bar.variables.ts +0 -3
  2211. package/src/components/navigation-item/navigation-item.fixture.svelte +0 -21
  2212. package/src/components/navigation-item/navigation-item.schema.json +0 -39
  2213. package/src/components/navigation-item/navigation-item.schema.ts +0 -45
  2214. package/src/components/navigation-item/navigation-item.variables.json +0 -1
  2215. package/src/components/navigation-item/navigation-item.variables.ts +0 -3
  2216. package/src/components/number-input/number-input.schema.json +0 -77
  2217. package/src/components/number-input/number-input.schema.ts +0 -81
  2218. package/src/components/number-input/number-input.variables.json +0 -1
  2219. package/src/components/number-input/number-input.variables.ts +0 -3
  2220. package/src/components/pagination/pagination.schema.json +0 -24
  2221. package/src/components/pagination/pagination.schema.ts +0 -28
  2222. package/src/components/pagination/pagination.variables.json +0 -1
  2223. package/src/components/pagination/pagination.variables.ts +0 -3
  2224. package/src/components/phone-input/phone-input.schema.json +0 -571
  2225. package/src/components/phone-input/phone-input.schema.ts +0 -577
  2226. package/src/components/phone-input/phone-input.variables.json +0 -1
  2227. package/src/components/phone-input/phone-input.variables.ts +0 -3
  2228. package/src/components/pin-input/pin-input.schema.json +0 -80
  2229. package/src/components/pin-input/pin-input.schema.ts +0 -86
  2230. package/src/components/pin-input/pin-input.variables.json +0 -1
  2231. package/src/components/pin-input/pin-input.variables.ts +0 -3
  2232. package/src/components/popover/popover.schema.json +0 -80
  2233. package/src/components/popover/popover.schema.ts +0 -84
  2234. package/src/components/popover/popover.variables.json +0 -1
  2235. package/src/components/popover/popover.variables.ts +0 -3
  2236. package/src/components/portal/portal.schema.json +0 -26
  2237. package/src/components/portal/portal.schema.ts +0 -30
  2238. package/src/components/portal/portal.variables.json +0 -1
  2239. package/src/components/portal/portal.variables.ts +0 -3
  2240. package/src/components/pricing-card/pricing-card.schema.json +0 -40
  2241. package/src/components/pricing-card/pricing-card.schema.ts +0 -44
  2242. package/src/components/pricing-card/pricing-card.variables.json +0 -1
  2243. package/src/components/pricing-card/pricing-card.variables.ts +0 -3
  2244. package/src/components/progress/progress.schema.json +0 -39
  2245. package/src/components/progress/progress.schema.ts +0 -46
  2246. package/src/components/progress/progress.variables.json +0 -1
  2247. package/src/components/progress/progress.variables.ts +0 -3
  2248. package/src/components/radio-group/radio-group.schema.json +0 -52
  2249. package/src/components/radio-group/radio-group.schema.ts +0 -58
  2250. package/src/components/radio-group/radio-group.variables.json +0 -1
  2251. package/src/components/radio-group/radio-group.variables.ts +0 -3
  2252. package/src/components/rating/rating.schema.json +0 -76
  2253. package/src/components/rating/rating.schema.ts +0 -83
  2254. package/src/components/rating/rating.variables.json +0 -1
  2255. package/src/components/rating/rating.variables.ts +0 -3
  2256. package/src/components/resizable-panels/resizable-panels.schema.json +0 -47
  2257. package/src/components/resizable-panels/resizable-panels.schema.ts +0 -51
  2258. package/src/components/resizable-panels/resizable-panels.variables.json +0 -1
  2259. package/src/components/resizable-panels/resizable-panels.variables.ts +0 -3
  2260. package/src/components/review-editor/review-editor.schema.json +0 -76
  2261. package/src/components/review-editor/review-editor.schema.ts +0 -81
  2262. package/src/components/review-editor/review-editor.variables.json +0 -1
  2263. package/src/components/review-editor/review-editor.variables.ts +0 -3
  2264. package/src/components/scroll-area/scroll-area.schema.json +0 -43
  2265. package/src/components/scroll-area/scroll-area.schema.ts +0 -49
  2266. package/src/components/scroll-area/scroll-area.variables.json +0 -1
  2267. package/src/components/scroll-area/scroll-area.variables.ts +0 -3
  2268. package/src/components/search-field/search-field.schema.json +0 -59
  2269. package/src/components/search-field/search-field.schema.ts +0 -64
  2270. package/src/components/search-field/search-field.variables.json +0 -1
  2271. package/src/components/search-field/search-field.variables.ts +0 -3
  2272. package/src/components/section-heading/section-heading.schema.json +0 -40
  2273. package/src/components/section-heading/section-heading.schema.ts +0 -46
  2274. package/src/components/section-heading/section-heading.variables.json +0 -1
  2275. package/src/components/section-heading/section-heading.variables.ts +0 -3
  2276. package/src/components/segment/segment.schema.json +0 -39
  2277. package/src/components/segment/segment.schema.ts +0 -44
  2278. package/src/components/segment/segment.variables.json +0 -1
  2279. package/src/components/segment/segment.variables.ts +0 -3
  2280. package/src/components/segmented-control/segmented-control.fixture.svelte +0 -31
  2281. package/src/components/segmented-control/segmented-control.schema.json +0 -75
  2282. package/src/components/segmented-control/segmented-control.schema.ts +0 -82
  2283. package/src/components/segmented-control/segmented-control.variables.json +0 -1
  2284. package/src/components/segmented-control/segmented-control.variables.ts +0 -3
  2285. package/src/components/select/select.schema.json +0 -48
  2286. package/src/components/select/select.schema.ts +0 -53
  2287. package/src/components/select/select.variables.json +0 -1
  2288. package/src/components/select/select.variables.ts +0 -3
  2289. package/src/components/selection-popover/selection-popover.schema.json +0 -44
  2290. package/src/components/selection-popover/selection-popover.schema.ts +0 -48
  2291. package/src/components/selection-popover/selection-popover.variables.json +0 -1
  2292. package/src/components/selection-popover/selection-popover.variables.ts +0 -3
  2293. package/src/components/share-card/share-card.schema.json +0 -53
  2294. package/src/components/share-card/share-card.schema.ts +0 -57
  2295. package/src/components/share-card/share-card.variables.json +0 -1
  2296. package/src/components/share-card/share-card.variables.ts +0 -3
  2297. package/src/components/sheet/sheet.schema.json +0 -48
  2298. package/src/components/sheet/sheet.schema.ts +0 -55
  2299. package/src/components/sheet/sheet.variables.json +0 -1
  2300. package/src/components/sheet/sheet.variables.ts +0 -3
  2301. package/src/components/shortcut-hint/shortcut-hint.schema.json +0 -36
  2302. package/src/components/shortcut-hint/shortcut-hint.schema.ts +0 -40
  2303. package/src/components/shortcut-hint/shortcut-hint.variables.json +0 -1
  2304. package/src/components/shortcut-hint/shortcut-hint.variables.ts +0 -3
  2305. package/src/components/side-navigation/side-navigation.fixture.svelte +0 -39
  2306. package/src/components/side-navigation/side-navigation.schema.json +0 -24
  2307. package/src/components/side-navigation/side-navigation.schema.ts +0 -29
  2308. package/src/components/side-navigation/side-navigation.variables.json +0 -1
  2309. package/src/components/side-navigation/side-navigation.variables.ts +0 -3
  2310. package/src/components/side-navigation-group/side-navigation-group.schema.json +0 -44
  2311. package/src/components/side-navigation-group/side-navigation-group.schema.ts +0 -49
  2312. package/src/components/side-navigation-group/side-navigation-group.variables.json +0 -1
  2313. package/src/components/side-navigation-group/side-navigation-group.variables.ts +0 -3
  2314. package/src/components/side-navigation-item/side-navigation-item.schema.json +0 -39
  2315. package/src/components/side-navigation-item/side-navigation-item.schema.ts +0 -44
  2316. package/src/components/side-navigation-item/side-navigation-item.variables.json +0 -1
  2317. package/src/components/side-navigation-item/side-navigation-item.variables.ts +0 -3
  2318. package/src/components/sidebar/sidebar.schema.json +0 -35
  2319. package/src/components/sidebar/sidebar.schema.ts +0 -41
  2320. package/src/components/sidebar/sidebar.variables.json +0 -1
  2321. package/src/components/sidebar/sidebar.variables.ts +0 -3
  2322. package/src/components/skeleton/skeleton.schema.json +0 -19
  2323. package/src/components/skeleton/skeleton.schema.ts +0 -23
  2324. package/src/components/skeleton/skeleton.variables.json +0 -1
  2325. package/src/components/skeleton/skeleton.variables.ts +0 -3
  2326. package/src/components/skip-link/skip-link.schema.json +0 -16
  2327. package/src/components/skip-link/skip-link.schema.ts +0 -20
  2328. package/src/components/skip-link/skip-link.variables.json +0 -1
  2329. package/src/components/skip-link/skip-link.variables.ts +0 -3
  2330. package/src/components/slider/slider.schema.json +0 -80
  2331. package/src/components/slider/slider.schema.ts +0 -85
  2332. package/src/components/slider/slider.variables.json +0 -1
  2333. package/src/components/slider/slider.variables.ts +0 -3
  2334. package/src/components/sortable-list/sortable-list.schema.json +0 -50
  2335. package/src/components/sortable-list/sortable-list.schema.ts +0 -54
  2336. package/src/components/sortable-list/sortable-list.variables.json +0 -1
  2337. package/src/components/sortable-list/sortable-list.variables.ts +0 -3
  2338. package/src/components/spectrogram/spectrogram.schema.json +0 -43
  2339. package/src/components/spectrogram/spectrogram.schema.ts +0 -47
  2340. package/src/components/spectrogram/spectrogram.variables.json +0 -1
  2341. package/src/components/spectrogram/spectrogram.variables.ts +0 -3
  2342. package/src/components/spectrum-chart/spectrum-chart.schema.json +0 -37
  2343. package/src/components/spectrum-chart/spectrum-chart.schema.ts +0 -41
  2344. package/src/components/spectrum-chart/spectrum-chart.variables.json +0 -1
  2345. package/src/components/spectrum-chart/spectrum-chart.variables.ts +0 -3
  2346. package/src/components/spinner/spinner.schema.json +0 -21
  2347. package/src/components/spinner/spinner.schema.ts +0 -25
  2348. package/src/components/spinner/spinner.variables.json +0 -1
  2349. package/src/components/spinner/spinner.variables.ts +0 -3
  2350. package/src/components/stacked-list-item/stacked-list-item.schema.json +0 -66
  2351. package/src/components/stacked-list-item/stacked-list-item.schema.ts +0 -71
  2352. package/src/components/stacked-list-item/stacked-list-item.variables.json +0 -1
  2353. package/src/components/stacked-list-item/stacked-list-item.variables.ts +0 -3
  2354. package/src/components/stat/stat.schema.json +0 -47
  2355. package/src/components/stat/stat.schema.ts +0 -51
  2356. package/src/components/stat/stat.variables.json +0 -1
  2357. package/src/components/stat/stat.variables.ts +0 -3
  2358. package/src/components/stat-group/stat-group.schema.json +0 -33
  2359. package/src/components/stat-group/stat-group.schema.ts +0 -39
  2360. package/src/components/stat-group/stat-group.variables.json +0 -1
  2361. package/src/components/stat-group/stat-group.variables.ts +0 -3
  2362. package/src/components/status-dot/status-dot.schema.json +0 -30
  2363. package/src/components/status-dot/status-dot.schema.ts +0 -36
  2364. package/src/components/status-dot/status-dot.variables.json +0 -1
  2365. package/src/components/status-dot/status-dot.variables.ts +0 -3
  2366. package/src/components/steps/steps.schema.json +0 -36
  2367. package/src/components/steps/steps.schema.ts +0 -42
  2368. package/src/components/steps/steps.variables.json +0 -1
  2369. package/src/components/steps/steps.variables.ts +0 -3
  2370. package/src/components/subscription-badge/subscription-badge.schema.json +0 -16
  2371. package/src/components/subscription-badge/subscription-badge.schema.ts +0 -21
  2372. package/src/components/subscription-badge/subscription-badge.variables.json +0 -1
  2373. package/src/components/subscription-badge/subscription-badge.variables.ts +0 -3
  2374. package/src/components/surface/surface.schema.json +0 -16
  2375. package/src/components/surface/surface.schema.ts +0 -20
  2376. package/src/components/surface/surface.variables.json +0 -1
  2377. package/src/components/surface/surface.variables.ts +0 -3
  2378. package/src/components/tab/tab.schema.json +0 -36
  2379. package/src/components/tab/tab.schema.ts +0 -40
  2380. package/src/components/tab/tab.variables.json +0 -1
  2381. package/src/components/tab/tab.variables.ts +0 -3
  2382. package/src/components/tab-list/tab-list.schema.json +0 -27
  2383. package/src/components/tab-list/tab-list.schema.ts +0 -31
  2384. package/src/components/tab-list/tab-list.variables.json +0 -1
  2385. package/src/components/tab-list/tab-list.variables.ts +0 -3
  2386. package/src/components/tab-panel/tab-panel.schema.json +0 -28
  2387. package/src/components/tab-panel/tab-panel.schema.ts +0 -33
  2388. package/src/components/tab-panel/tab-panel.variables.json +0 -1
  2389. package/src/components/tab-panel/tab-panel.variables.ts +0 -3
  2390. package/src/components/table/table.fixture.svelte +0 -87
  2391. package/src/components/table/table.schema.json +0 -39
  2392. package/src/components/table/table.schema.ts +0 -45
  2393. package/src/components/table/table.variables.json +0 -1
  2394. package/src/components/table/table.variables.ts +0 -3
  2395. package/src/components/table-body/table-body.schema.json +0 -19
  2396. package/src/components/table-body/table-body.schema.ts +0 -23
  2397. package/src/components/table-body/table-body.variables.json +0 -1
  2398. package/src/components/table-body/table-body.variables.ts +0 -3
  2399. package/src/components/table-cell/table-cell.schema.json +0 -27
  2400. package/src/components/table-cell/table-cell.schema.ts +0 -32
  2401. package/src/components/table-cell/table-cell.variables.json +0 -1
  2402. package/src/components/table-cell/table-cell.variables.ts +0 -3
  2403. package/src/components/table-header/table-header.schema.json +0 -35
  2404. package/src/components/table-header/table-header.schema.ts +0 -42
  2405. package/src/components/table-header/table-header.variables.json +0 -1
  2406. package/src/components/table-header/table-header.variables.ts +0 -3
  2407. package/src/components/table-header-cell/table-header-cell.schema.json +0 -35
  2408. package/src/components/table-header-cell/table-header-cell.schema.ts +0 -41
  2409. package/src/components/table-header-cell/table-header-cell.variables.json +0 -1
  2410. package/src/components/table-header-cell/table-header-cell.variables.ts +0 -3
  2411. package/src/components/table-row/table-row.schema.json +0 -33
  2412. package/src/components/table-row/table-row.schema.ts +0 -38
  2413. package/src/components/table-row/table-row.variables.json +0 -1
  2414. package/src/components/table-row/table-row.variables.ts +0 -3
  2415. package/src/components/tabs/tabs.fixture.svelte +0 -35
  2416. package/src/components/tabs/tabs.schema.json +0 -31
  2417. package/src/components/tabs/tabs.schema.ts +0 -36
  2418. package/src/components/tabs/tabs.variables.json +0 -1
  2419. package/src/components/tabs/tabs.variables.ts +0 -3
  2420. package/src/components/tag-input/tag-input.schema.json +0 -160
  2421. package/src/components/tag-input/tag-input.schema.ts +0 -169
  2422. package/src/components/tag-input/tag-input.variables.json +0 -1
  2423. package/src/components/tag-input/tag-input.variables.ts +0 -3
  2424. package/src/components/textarea/textarea.schema.json +0 -48
  2425. package/src/components/textarea/textarea.schema.ts +0 -53
  2426. package/src/components/textarea/textarea.variables.json +0 -1
  2427. package/src/components/textarea/textarea.variables.ts +0 -3
  2428. package/src/components/timeline/timeline.schema.json +0 -76
  2429. package/src/components/timeline/timeline.schema.ts +0 -81
  2430. package/src/components/timeline/timeline.variables.json +0 -1
  2431. package/src/components/timeline/timeline.variables.ts +0 -3
  2432. package/src/components/timeline-item/README.md +0 -51
  2433. package/src/components/timeline-item/index.ts +0 -6
  2434. package/src/components/timeline-item/timeline-item.css +0 -7
  2435. package/src/components/timeline-item/timeline-item.schema.json +0 -43
  2436. package/src/components/timeline-item/timeline-item.schema.ts +0 -48
  2437. package/src/components/timeline-item/timeline-item.variables.json +0 -1
  2438. package/src/components/timeline-item/timeline-item.variables.ts +0 -3
  2439. package/src/components/toast-region/toast-region.schema.json +0 -38
  2440. package/src/components/toast-region/toast-region.schema.ts +0 -35
  2441. package/src/components/toast-region/toast-region.variables.json +0 -1
  2442. package/src/components/toast-region/toast-region.variables.ts +0 -3
  2443. package/src/components/toggle/toggle.schema.json +0 -44
  2444. package/src/components/toggle/toggle.schema.ts +0 -54
  2445. package/src/components/toggle/toggle.variables.json +0 -1
  2446. package/src/components/toggle/toggle.variables.ts +0 -3
  2447. package/src/components/toolbar/toolbar.schema.json +0 -16
  2448. package/src/components/toolbar/toolbar.schema.ts +0 -20
  2449. package/src/components/toolbar/toolbar.variables.json +0 -1
  2450. package/src/components/toolbar/toolbar.variables.ts +0 -3
  2451. package/src/components/tooltip/tooltip.schema.json +0 -29
  2452. package/src/components/tooltip/tooltip.schema.ts +0 -33
  2453. package/src/components/tooltip/tooltip.variables.json +0 -1
  2454. package/src/components/tooltip/tooltip.variables.ts +0 -3
  2455. package/src/components/tree/tree.schema.json +0 -60
  2456. package/src/components/tree/tree.schema.ts +0 -67
  2457. package/src/components/tree/tree.variables.json +0 -1
  2458. package/src/components/tree/tree.variables.ts +0 -3
  2459. package/src/components/tree-item/tree-item.schema.json +0 -55
  2460. package/src/components/tree-item/tree-item.schema.ts +0 -61
  2461. package/src/components/tree-item/tree-item.variables.json +0 -1
  2462. package/src/components/tree-item/tree-item.variables.ts +0 -3
  2463. package/src/components/typography/typography.schema.json +0 -144
  2464. package/src/components/typography/typography.schema.ts +0 -148
  2465. package/src/components/typography/typography.variables.json +0 -1
  2466. package/src/components/typography/typography.variables.ts +0 -3
  2467. package/src/components/visually-hidden/visually-hidden.schema.json +0 -121
  2468. package/src/components/visually-hidden/visually-hidden.schema.ts +0 -125
  2469. package/src/components/visually-hidden/visually-hidden.variables.json +0 -1
  2470. package/src/components/visually-hidden/visually-hidden.variables.ts +0 -3
  2471. package/src/components/waveform/waveform.schema.json +0 -38
  2472. package/src/components/waveform/waveform.schema.ts +0 -42
  2473. package/src/components/waveform/waveform.variables.json +0 -1
  2474. package/src/components/waveform/waveform.variables.ts +0 -3
  2475. /package/dist/components/{timeline-item → _timeline-item}/timeline-item.svelte.d.ts +0 -0
  2476. /package/dist/components/{timeline-item → _timeline-item}/timeline-item.types.d.ts +0 -0
  2477. /package/dist/components/{timeline-item/timeline-item.schema.d.ts → access-gate/access-gate.schema.d.ts} +0 -0
  2478. /package/dist/components/{timeline-item/timeline-item.variables.d.ts → access-gate/access-gate.variables.d.ts} +0 -0
  2479. /package/src/components/{timeline-item → _timeline-item}/timeline-item.svelte +0 -0
  2480. /package/src/components/{timeline-item → _timeline-item}/timeline-item.types.ts +0 -0
@@ -1,34 +1,4 @@
1
- var __create = Object.create;
2
- var __getProtoOf = Object.getPrototypeOf;
3
1
  var __defProp = Object.defineProperty;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- function __accessProp(key) {
7
- return this[key];
8
- }
9
- var __toESMCache_node;
10
- var __toESMCache_esm;
11
- var __toESM = (mod, isNodeMode, target) => {
12
- var canCache = mod != null && typeof mod === "object";
13
- if (canCache) {
14
- var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
15
- var cached = cache.get(mod);
16
- if (cached)
17
- return cached;
18
- }
19
- target = mod != null ? __create(__getProtoOf(mod)) : {};
20
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
21
- for (let key of __getOwnPropNames(mod))
22
- if (!__hasOwnProp.call(to, key))
23
- __defProp(to, key, {
24
- get: __accessProp.bind(mod, key),
25
- enumerable: true
26
- });
27
- if (canCache)
28
- cache.set(mod, to);
29
- return to;
30
- };
31
- var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
32
2
  var __returnValue = (v) => v;
33
3
  function __exportSetter(name, newValue) {
34
4
  this[name] = __returnValue.bind(null, newValue);
@@ -54,7 +24,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
54
24
  // src/components/tree/index.ts
55
25
  import"@lostgradient/cinder/tree/styles";
56
26
 
57
- // src/components/_tree-select-all/tree-select-all.svelte
27
+ // src/components/_tree-expand-all/tree-expand-all.svelte
58
28
  import"svelte/internal/disclose-version";
59
29
  import * as $ from "svelte/internal/client";
60
30
 
@@ -83,63 +53,223 @@ function classNames(...parts) {
83
53
  return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
84
54
  }
85
55
 
86
- // src/components/_tree-select-all/tree-select-all.svelte
87
- var root = $.from_html(`<div><span class="cinder-tree-select-all__label"> </span> <button type="button" class="cinder-tree-select-all__button"> </button> <button type="button" class="cinder-tree-select-all__button"> </button></div>`);
88
- function Tree_select_all($$anchor, $$props) {
56
+ // src/components/_tree-expand-all/tree-expand-all.svelte
57
+ var root_1 = $.from_html(`<button type="button" class="cinder-tree-expand-all__button"> </button>`);
58
+ var root = $.from_html(`<div><span class="cinder-tree-expand-all__label"> </span> <!> <button type="button" class="cinder-tree-expand-all__button"> </button> <button type="button" class="cinder-tree-expand-all__button"> </button></div>`);
59
+ function Tree_expand_all($$anchor, $$props) {
89
60
  $.push($$props, true);
90
- let parentId = $.prop($$props, "parentId", 3, null), includeDescendants = $.prop($$props, "includeDescendants", 3, false), label = $.prop($$props, "label", 3, "Tree selection"), selectAllLabel = $.prop($$props, "selectAllLabel", 3, "Select all"), selectNoneLabel = $.prop($$props, "selectNoneLabel", 3, "Select none");
61
+ let label = $.prop($$props, "label", 3, "Tree expansion"), expandAllLabel = $.prop($$props, "expandAllLabel", 3, "Expand all"), expandOneLevelLabel = $.prop($$props, "expandOneLevelLabel", 3, "Expand one level"), collapseAllLabel = $.prop($$props, "collapseAllLabel", 3, "Collapse all"), safetyThreshold = $.prop($$props, "safetyThreshold", 3, 500);
91
62
  const context = getTreeContext();
92
- const disabled = $.derived(() => !context.multiselectable || !context.hasSelectableSelectionScope(parentId(), includeDescendants()));
93
- function selectAll() {
94
- if (!$.get(disabled))
95
- context.selectSelectionScope(parentId(), true, includeDescendants());
63
+ const expandDisabled = $.derived(() => context.expandableBranchCount === 0);
64
+ const collapseDisabled = $.derived(() => !context.hasExpandedItems);
65
+ const showSafetyValve = $.derived(() => context.expandableBranchCount > safetyThreshold());
66
+ function expandAll() {
67
+ if (!$.get(expandDisabled))
68
+ context.expandAll();
96
69
  }
97
- function selectNone() {
98
- if (!$.get(disabled))
99
- context.selectSelectionScope(parentId(), false, includeDescendants());
70
+ function expandOneLevel() {
71
+ if (!$.get(expandDisabled))
72
+ context.expandOneLevel();
73
+ }
74
+ function collapseAll() {
75
+ if (!$.get(collapseDisabled))
76
+ context.collapseAll();
100
77
  }
101
78
  var div = root();
102
79
  var span = $.child(div);
103
80
  var text = $.child(span, true);
104
81
  $.reset(span);
105
- var button = $.sibling(span, 2);
106
- var text_1 = $.child(button, true);
107
- $.reset(button);
108
- var button_1 = $.sibling(button, 2);
82
+ var node = $.sibling(span, 2);
83
+ {
84
+ var consequent = ($$anchor2) => {
85
+ var button = root_1();
86
+ var text_1 = $.child(button, true);
87
+ $.reset(button);
88
+ $.template_effect(() => {
89
+ $.set_attribute(button, "aria-label", `${expandOneLevelLabel()}: ${label()}`);
90
+ button.disabled = $.get(expandDisabled);
91
+ $.set_text(text_1, expandOneLevelLabel());
92
+ });
93
+ $.delegated("click", button, expandOneLevel);
94
+ $.append($$anchor2, button);
95
+ };
96
+ $.if(node, ($$render) => {
97
+ if ($.get(showSafetyValve))
98
+ $$render(consequent);
99
+ });
100
+ }
101
+ var button_1 = $.sibling(node, 2);
109
102
  var text_2 = $.child(button_1, true);
110
103
  $.reset(button_1);
104
+ var button_2 = $.sibling(button_1, 2);
105
+ var text_3 = $.child(button_2, true);
106
+ $.reset(button_2);
111
107
  $.reset(div);
112
108
  $.template_effect(($0) => {
113
109
  $.set_class(div, 1, $0);
114
110
  $.set_text(text, label());
115
- $.set_attribute(button, "aria-label", `${selectAllLabel()}: ${label()}`);
116
- button.disabled = $.get(disabled);
117
- $.set_text(text_1, selectAllLabel());
118
- $.set_attribute(button_1, "aria-label", `${selectNoneLabel()}: ${label()}`);
119
- button_1.disabled = $.get(disabled);
120
- $.set_text(text_2, selectNoneLabel());
111
+ $.set_attribute(button_1, "aria-label", `${expandAllLabel()}: ${label()}`);
112
+ button_1.disabled = $.get(expandDisabled);
113
+ $.set_text(text_2, expandAllLabel());
114
+ $.set_attribute(button_2, "aria-label", `${collapseAllLabel()}: ${label()}`);
115
+ button_2.disabled = $.get(collapseDisabled);
116
+ $.set_text(text_3, collapseAllLabel());
121
117
  }, [
122
- () => $.clsx(classNames("cinder-tree-select-all", $$props.class))
118
+ () => $.clsx(classNames("cinder-tree-expand-all", $$props.class))
123
119
  ]);
124
- $.delegated("click", button, selectAll);
125
- $.delegated("click", button_1, selectNone);
120
+ $.delegated("click", button_1, expandAll);
121
+ $.delegated("click", button_2, collapseAll);
126
122
  $.append($$anchor, div);
127
123
  $.pop();
128
124
  }
129
125
  $.delegate(["click"]);
130
126
 
131
- // src/components/tree-item/tree-item.svelte
127
+ // src/components/_tree-select-all/tree-select-all.svelte
132
128
  import"svelte/internal/disclose-version";
133
129
  import * as $2 from "svelte/internal/client";
134
- import { untrack } from "svelte";
135
- var root_2 = $2.from_html(`<input type="checkbox" class="cinder-tree-item__checkbox" tabindex="-1" aria-hidden="true"/> <span aria-hidden="true" class="cinder-tree-item__label cinder-_truncate"> </span>`, 1);
136
- var root_3 = $2.from_html(`<span aria-hidden="true" class="cinder-tree-item__label cinder-_truncate"> </span>`);
137
- var root_4 = $2.from_html(`<div role="group" class="cinder-tree-item__children"><!></div>`);
138
- var root2 = $2.from_html(`<div role="treeitem"><span class="cinder-sr-only"> </span> <div class="cinder-tree-item__row"><!></div> <!></div>`);
139
- function Tree_item($$anchor, $$props) {
140
- const treeItemElementId = $2.props_id();
130
+ var root2 = $2.from_html(`<div><span class="cinder-tree-select-all__label"> </span> <button type="button" class="cinder-tree-select-all__button"> </button> <button type="button" class="cinder-tree-select-all__button"> </button></div>`);
131
+ function Tree_select_all($$anchor, $$props) {
141
132
  $2.push($$props, true);
142
- let disabled = $2.prop($$props, "disabled", 3, false), branch = $2.prop($$props, "branch", 3, false);
133
+ let parentId = $2.prop($$props, "parentId", 3, null), includeDescendants = $2.prop($$props, "includeDescendants", 3, false), label = $2.prop($$props, "label", 3, "Tree selection"), selectAllLabel = $2.prop($$props, "selectAllLabel", 3, "Select all"), selectNoneLabel = $2.prop($$props, "selectNoneLabel", 3, "Select none");
134
+ const context = getTreeContext();
135
+ const disabled = $2.derived(() => !context.multiselectable || !context.hasSelectableSelectionScope(parentId(), includeDescendants()));
136
+ function selectAll() {
137
+ if (!$2.get(disabled))
138
+ context.selectSelectionScope(parentId(), true, includeDescendants());
139
+ }
140
+ function selectNone() {
141
+ if (!$2.get(disabled))
142
+ context.selectSelectionScope(parentId(), false, includeDescendants());
143
+ }
144
+ var div = root2();
145
+ var span = $2.child(div);
146
+ var text = $2.child(span, true);
147
+ $2.reset(span);
148
+ var button = $2.sibling(span, 2);
149
+ var text_1 = $2.child(button, true);
150
+ $2.reset(button);
151
+ var button_1 = $2.sibling(button, 2);
152
+ var text_2 = $2.child(button_1, true);
153
+ $2.reset(button_1);
154
+ $2.reset(div);
155
+ $2.template_effect(($0) => {
156
+ $2.set_class(div, 1, $0);
157
+ $2.set_text(text, label());
158
+ $2.set_attribute(button, "aria-label", `${selectAllLabel()}: ${label()}`);
159
+ button.disabled = $2.get(disabled);
160
+ $2.set_text(text_1, selectAllLabel());
161
+ $2.set_attribute(button_1, "aria-label", `${selectNoneLabel()}: ${label()}`);
162
+ button_1.disabled = $2.get(disabled);
163
+ $2.set_text(text_2, selectNoneLabel());
164
+ }, [
165
+ () => $2.clsx(classNames("cinder-tree-select-all", $$props.class))
166
+ ]);
167
+ $2.delegated("click", button, selectAll);
168
+ $2.delegated("click", button_1, selectNone);
169
+ $2.append($$anchor, div);
170
+ $2.pop();
171
+ }
172
+ $2.delegate(["click"]);
173
+
174
+ // src/components/tree-item/tree-item.svelte
175
+ import"svelte/internal/disclose-version";
176
+ import * as $4 from "svelte/internal/client";
177
+ import { tick, untrack } from "svelte";
178
+
179
+ // src/components/_visually-hidden-live-region.svelte
180
+ import"svelte/internal/disclose-version";
181
+ import * as $3 from "svelte/internal/client";
182
+ var root3 = $3.from_html(`<div aria-atomic="true"> </div>`);
183
+ function _visually_hidden_live_region($$anchor, $$props) {
184
+ $3.push($$props, true);
185
+ let message = $3.prop($$props, "message", 3, ""), announcementSequence = $3.prop($$props, "announcementSequence", 3, 0), priority = $3.prop($$props, "priority", 3, "polite");
186
+ let rendered = $3.state("");
187
+ let setTimeoutId = null;
188
+ let version = 0;
189
+ let isDestroyed = false;
190
+ $3.user_effect(() => {
191
+ return () => {
192
+ isDestroyed = true;
193
+ if (setTimeoutId) {
194
+ clearTimeout(setTimeoutId);
195
+ setTimeoutId = null;
196
+ }
197
+ };
198
+ });
199
+ $3.user_effect(() => {
200
+ const next = message();
201
+ announcementSequence();
202
+ const current = ++version;
203
+ if (setTimeoutId) {
204
+ clearTimeout(setTimeoutId);
205
+ setTimeoutId = null;
206
+ }
207
+ $3.set(rendered, "");
208
+ if (next === "")
209
+ return;
210
+ setTimeoutId = setTimeout(() => {
211
+ if (isDestroyed || version !== current)
212
+ return;
213
+ $3.set(rendered, next, true);
214
+ setTimeoutId = null;
215
+ }, 0);
216
+ });
217
+ var div = root3();
218
+ var text = $3.child(div, true);
219
+ $3.reset(div);
220
+ $3.template_effect(($0) => {
221
+ $3.set_attribute(div, "role", priority() === "assertive" ? "alert" : "status");
222
+ $3.set_attribute(div, "aria-live", priority() === "assertive" ? "assertive" : "polite");
223
+ $3.set_class(div, 1, $0);
224
+ $3.set_text(text, $3.get(rendered));
225
+ }, [() => $3.clsx(classNames("cinder-sr-only", $$props.class))]);
226
+ $3.append($$anchor, div);
227
+ $3.pop();
228
+ }
229
+
230
+ // src/components/tree-item/tree-item.svelte
231
+ var root_4 = $4.from_html(`<mark aria-hidden="true" class="cinder-tree-item__highlight"> </mark>`);
232
+ var root_6 = $4.from_html(`<button type="button" class="cinder-tree-item__drag-handle" tabindex="-1"><span aria-hidden="true">::</span></button>`);
233
+ var root_8 = $4.from_html(`<input type="text" class="cinder-tree-item__rename-input"/>`);
234
+ var root_9 = $4.from_html(`<input type="checkbox" class="cinder-tree-item__checkbox" tabindex="-1" aria-hidden="true"/> <span aria-hidden="true" class="cinder-tree-item__label cinder-_truncate"><!></span>`, 1);
235
+ var root_10 = $4.from_html(`<span aria-hidden="true" class="cinder-tree-item__label cinder-_truncate"><!></span>`);
236
+ var root_11 = $4.from_html(`<span class="cinder-sr-only"> </span>`);
237
+ var root_12 = $4.from_html(`<div role="group" class="cinder-tree-item__children"><!></div>`);
238
+ var root_13 = $4.from_html(`<div role="treeitem"><span class="cinder-sr-only"> </span> <div class="cinder-tree-item__row"><!> <!></div> <!> <!> <!></div>`);
239
+ function Tree_item($$anchor, $$props) {
240
+ const treeItemElementId = $4.props_id();
241
+ $4.push($$props, true);
242
+ const visibleLabel = ($$anchor2) => {
243
+ var fragment = $4.comment();
244
+ var node_1 = $4.first_child(fragment);
245
+ $4.each(node_1, 17, () => $4.get(labelSegments), (segment) => `${segment.start}-${segment.highlighted}-${segment.text}`, ($$anchor3, segment) => {
246
+ var fragment_1 = $4.comment();
247
+ var node_2 = $4.first_child(fragment_1);
248
+ {
249
+ var consequent = ($$anchor4) => {
250
+ var mark = root_4();
251
+ var text2 = $4.child(mark, true);
252
+ $4.reset(mark);
253
+ $4.template_effect(() => $4.set_text(text2, $4.get(segment).text));
254
+ $4.append($$anchor4, mark);
255
+ };
256
+ var alternate = ($$anchor4) => {
257
+ var text_1 = $4.text();
258
+ $4.template_effect(() => $4.set_text(text_1, $4.get(segment).text));
259
+ $4.append($$anchor4, text_1);
260
+ };
261
+ $4.if(node_2, ($$render) => {
262
+ if ($4.get(segment).highlighted)
263
+ $$render(consequent);
264
+ else
265
+ $$render(alternate, -1);
266
+ });
267
+ }
268
+ $4.append($$anchor3, fragment_1);
269
+ });
270
+ $4.append($$anchor2, fragment);
271
+ };
272
+ let disabled = $4.prop($$props, "disabled", 3, false), draggable = $4.prop($$props, "draggable", 3, false), branch = $4.prop($$props, "branch", 3, false);
143
273
  const context = getTreeContext();
144
274
  const parentContext = tryGetTreeItemParentContext();
145
275
  const parentId = parentContext?.parentId ?? null;
@@ -152,31 +282,72 @@ function Tree_item($$anchor, $$props) {
152
282
  return level + 1;
153
283
  }
154
284
  });
155
- const isBranch = $2.derived(() => branch() || $$props.loadChildren != null);
156
- let busy = $2.state(false);
157
- let loaded = $2.state(false);
285
+ const isBranch = $4.derived(() => branch() || $$props.loadChildren != null);
286
+ let busy = $4.state(false);
287
+ let loaded = $4.state(false);
158
288
  let activeController = null;
159
- let outerElement = $2.state(undefined);
160
- const isExpanded = $2.derived(() => context.expandedIds.includes($$props.id));
161
- const isSelected = $2.derived(() => context.selectedIds.includes($$props.id));
162
- const isFocused = $2.derived(() => context.focusedId === $$props.id);
163
- const checkboxSelectionActive = $2.derived(() => context.checkboxSelectionActive());
164
- const selectionState = $2.derived(() => context.selectionStateFor($$props.id));
165
- const ariaChecked = $2.derived(() => {
166
- if (!$2.get(checkboxSelectionActive))
167
- return;
168
- if ($2.get(selectionState).indeterminate)
289
+ let editing = $4.state(false);
290
+ let editValue = $4.state("");
291
+ let renamePending = $4.state(false);
292
+ let renameError = $4.state("");
293
+ let renameAnnouncement = $4.state("");
294
+ let renameAnnouncementSequence = $4.state(0);
295
+ let probedFilterValue = $4.state(null);
296
+ let outerElement = $4.state(undefined);
297
+ let renameInputElement = $4.state(undefined);
298
+ let dragHandleElement = $4.state(undefined);
299
+ let renameOwningTreeElement;
300
+ const renameMessageId = $4.derived(() => `${treeItemElementId}-rename-message`);
301
+ const isExpanded = $4.derived(() => context.expandedIds.includes($$props.id));
302
+ const isSelected = $4.derived(() => context.selectedIds.includes($$props.id));
303
+ const isFocused = $4.derived(() => context.focusedId === $$props.id);
304
+ const isFiltering = $4.derived(() => context.filtering);
305
+ const isVisible = $4.derived(() => !$4.get(isFiltering) || context.isVisible($$props.id) || !context.hasRegisteredItems && ($4.get(isBranch) || context.matchesFilter($$props.label, $$props.id)));
306
+ const hasVisibleDescendant = $4.derived(() => context.hasVisibleDescendant($$props.id));
307
+ const renderedExpanded = $4.derived(() => $4.get(isExpanded) || $4.get(isFiltering) && $4.get(hasVisibleDescendant));
308
+ const shouldProbeFilterChildren = $4.derived(() => $4.get(isBranch) && $4.get(isFiltering) && !$4.get(isExpanded) && $4.get(probedFilterValue) !== context.filterValue);
309
+ const shouldRenderChildren = $4.derived(() => $4.get(isBranch) && ($4.get(isExpanded) || $4.get(hasVisibleDescendant) || $4.get(shouldProbeFilterChildren)));
310
+ const checkboxSelectionActive = $4.derived(() => context.checkboxSelectionActive());
311
+ const selectionState = $4.derived(() => context.selectionStateFor($$props.id));
312
+ const labelSegments = $4.derived(() => splitLabelForHighlight($$props.label, context.filterValue));
313
+ const canRename = $4.derived(() => !disabled() && $$props.onRename != null);
314
+ const editingLabel = $4.derived(() => `Editing: ${$$props.label}`);
315
+ const dragController = $4.derived(() => context.dragController);
316
+ const canDrag = $4.derived(() => draggable() && !disabled() && $4.get(dragController) != null);
317
+ const isDraggingItem = $4.derived(() => $4.get(dragController)?.isDragging($$props.id) ?? false);
318
+ const isDropBefore = $4.derived(() => $4.get(dragController)?.isDropTarget($$props.id, "before") ?? false);
319
+ const isDropAfter = $4.derived(() => $4.get(dragController)?.isDropTarget($$props.id, "after") ?? false);
320
+ const isDropInto = $4.derived(() => $4.get(dragController)?.isDropTarget($$props.id, "child") ?? false);
321
+ const dragHandleLabel = $4.derived(() => `Reorder ${$$props.label}`);
322
+ const ariaChecked = $4.derived(() => {
323
+ if (!$4.get(checkboxSelectionActive))
324
+ return;
325
+ if ($4.get(selectionState).indeterminate)
169
326
  return "mixed";
170
- return $2.get(selectionState).checked ? "true" : "false";
327
+ return $4.get(selectionState).checked ? "true" : "false";
328
+ });
329
+ $4.user_effect(() => {
330
+ if (!$4.get(isFiltering)) {
331
+ $4.set(probedFilterValue, null);
332
+ return;
333
+ }
334
+ if (!$4.get(shouldProbeFilterChildren))
335
+ return;
336
+ const filterValueAtProbeStart = context.filterValue;
337
+ tick().then(() => {
338
+ if (context.filtering && context.filterValue === filterValueAtProbeStart) {
339
+ $4.set(probedFilterValue, filterValueAtProbeStart, true);
340
+ }
341
+ });
171
342
  });
172
- let checkboxElement = $2.state(undefined);
343
+ let checkboxElement = $4.state(undefined);
173
344
  function syncCheckboxToSelectionState() {
174
- if (!$2.get(checkboxElement))
345
+ if (!$4.get(checkboxElement))
175
346
  return;
176
- $2.get(checkboxElement).checked = $2.get(selectionState).checked;
177
- $2.get(checkboxElement).indeterminate = $2.get(selectionState).indeterminate && !$2.get(selectionState).checked;
347
+ $4.get(checkboxElement).checked = $4.get(selectionState).checked;
348
+ $4.get(checkboxElement).indeterminate = $4.get(selectionState).indeterminate && !$4.get(selectionState).checked;
178
349
  }
179
- $2.user_effect(syncCheckboxToSelectionState);
350
+ $4.user_effect(syncCheckboxToSelectionState);
180
351
  const registerWithTree = (node) => {
181
352
  return untrack(() => {
182
353
  const unregister = context.register({
@@ -188,9 +359,10 @@ function Tree_item($$anchor, $$props) {
188
359
  return disabled();
189
360
  },
190
361
  selectionScopeIds: () => $$props.selectionScopeIds,
191
- isBranch: () => $2.get(isBranch),
362
+ isBranch: () => $4.get(isBranch),
363
+ bulkExpandable: () => $$props.loadChildren == null,
192
364
  label: () => $$props.label,
193
- focus: () => $2.get(outerElement)?.focus()
365
+ focus: () => $4.get(outerElement)?.focus()
194
366
  });
195
367
  return () => {
196
368
  if (activeController) {
@@ -202,26 +374,26 @@ function Tree_item($$anchor, $$props) {
202
374
  });
203
375
  };
204
376
  async function triggerLoad() {
205
- if (!$$props.loadChildren || $2.get(loaded) || $2.get(busy))
377
+ if (!$$props.loadChildren || $4.get(loaded) || $4.get(busy))
206
378
  return;
207
379
  activeController?.abort();
208
380
  const controller = new AbortController;
209
381
  activeController = controller;
210
- $2.set(busy, true);
382
+ $4.set(busy, true);
211
383
  try {
212
384
  await $$props.loadChildren({ id: $$props.id, signal: controller.signal });
213
385
  if (!controller.signal.aborted) {
214
- $2.set(loaded, true);
215
- $2.set(busy, false);
386
+ $4.set(loaded, true);
387
+ $4.set(busy, false);
216
388
  }
217
389
  } catch (error) {
218
390
  if (controller.signal.aborted || error instanceof DOMException && error.name === "AbortError") {
219
391
  if (activeController === controller)
220
- $2.set(busy, false);
392
+ $4.set(busy, false);
221
393
  return;
222
394
  }
223
- $2.set(busy, false);
224
- $2.set(loaded, false);
395
+ $4.set(busy, false);
396
+ $4.set(loaded, false);
225
397
  context.setExpanded($$props.id, false);
226
398
  if ($$props.onLoadError) {
227
399
  $$props.onLoadError(error, $$props.id);
@@ -230,16 +402,16 @@ function Tree_item($$anchor, $$props) {
230
402
  }
231
403
  }
232
404
  }
233
- $2.user_effect(() => {
234
- if ($2.get(isExpanded) && $$props.loadChildren && !$2.get(loaded) && !$2.get(busy)) {
405
+ $4.user_effect(() => {
406
+ if ($4.get(isExpanded) && $$props.loadChildren && !$4.get(loaded) && !$4.get(busy)) {
235
407
  triggerLoad();
236
408
  }
237
409
  });
238
- $2.user_effect(() => {
239
- if (!$2.get(isExpanded) && $2.get(busy) && activeController) {
410
+ $4.user_effect(() => {
411
+ if (!$4.get(isExpanded) && $4.get(busy) && activeController) {
240
412
  activeController.abort();
241
413
  activeController = null;
242
- $2.set(busy, false);
414
+ $4.set(busy, false);
243
415
  }
244
416
  });
245
417
  const INTERACTIVE_SELECTOR = 'button, a, input, select, textarea, [role="button"], [role="menuitem"], [role="checkbox"], [contenteditable]';
@@ -247,7 +419,7 @@ function Tree_item($$anchor, $$props) {
247
419
  if (!(target instanceof Element))
248
420
  return false;
249
421
  let node = target;
250
- while (node && node !== $2.get(outerElement)) {
422
+ while (node && node !== $4.get(outerElement)) {
251
423
  if (node.matches(INTERACTIVE_SELECTOR))
252
424
  return true;
253
425
  node = node.parentElement;
@@ -259,12 +431,223 @@ function Tree_item($$anchor, $$props) {
259
431
  if (!(target instanceof Element))
260
432
  return false;
261
433
  const closestTreeItem = target.closest('[role="treeitem"]');
262
- return closestTreeItem !== $2.get(outerElement);
434
+ return closestTreeItem !== $4.get(outerElement);
435
+ }
436
+ const focusRenameInput = (node) => {
437
+ $4.set(renameInputElement, node, true);
438
+ queueMicrotask(() => {
439
+ if (!$4.get(editing) || $4.get(renameInputElement) !== node)
440
+ return;
441
+ node.focus();
442
+ node.select();
443
+ });
444
+ return () => {
445
+ if ($4.get(renameInputElement) === node)
446
+ $4.set(renameInputElement, undefined);
447
+ };
448
+ };
449
+ function announceRename(message) {
450
+ $4.set(renameAnnouncement, message, true);
451
+ $4.set(renameAnnouncementSequence, $4.get(renameAnnouncementSequence) + 1);
452
+ }
453
+ function renameFailureMessage(error) {
454
+ if (error instanceof Error && error.message)
455
+ return error.message;
456
+ if (typeof error === "string" && error)
457
+ return error;
458
+ return "Unknown error";
459
+ }
460
+ function focusCurrentTreeItem() {
461
+ if ($4.get(outerElement)?.isConnected) {
462
+ $4.get(outerElement).focus();
463
+ renameOwningTreeElement = undefined;
464
+ return;
465
+ }
466
+ if (typeof document === "undefined")
467
+ return;
468
+ const root4 = renameOwningTreeElement?.isConnected === true ? renameOwningTreeElement : document;
469
+ const current = [...root4.querySelectorAll("[data-cinder-tree-item-id]")].find((element) => element.dataset["cinderTreeItemId"] === $$props.id);
470
+ current?.focus();
471
+ renameOwningTreeElement = undefined;
472
+ }
473
+ function beginEdit() {
474
+ if (!$4.get(canRename) || $4.get(editing))
475
+ return;
476
+ $4.set(editValue, $$props.label, true);
477
+ $4.set(renameError, "");
478
+ $4.set(renamePending, false);
479
+ renameOwningTreeElement = $4.get(outerElement)?.closest('[role="tree"]') ?? undefined;
480
+ $4.set(editing, true);
481
+ announceRename(`Editing ${$$props.label}. Press Enter to confirm, Escape to cancel.`);
482
+ }
483
+ function finishEdit(afterFocus) {
484
+ $4.set(editing, false);
485
+ $4.set(renameError, "");
486
+ $4.set(renamePending, false);
487
+ queueMicrotask(() => {
488
+ focusCurrentTreeItem();
489
+ afterFocus?.();
490
+ });
491
+ }
492
+ function cancelEdit() {
493
+ $4.set(editValue, $$props.label, true);
494
+ announceRename("Rename cancelled.");
495
+ finishEdit();
496
+ }
497
+ async function commitEdit(afterFocus) {
498
+ if (!$4.get(editing) || $4.get(renamePending))
499
+ return false;
500
+ if ($4.get(editValue).trim().length === 0) {
501
+ $4.set(renameError, "Label is required.");
502
+ announceRename($4.get(renameError));
503
+ queueMicrotask(() => $4.get(renameInputElement)?.focus());
504
+ return false;
505
+ }
506
+ if (!$$props.onRename) {
507
+ finishEdit(afterFocus);
508
+ return true;
509
+ }
510
+ $4.set(renamePending, true);
511
+ $4.set(renameError, "");
512
+ try {
513
+ await $$props.onRename($$props.id, $4.get(editValue));
514
+ announceRename(`${$4.get(editValue)}, renamed.`);
515
+ finishEdit(afterFocus);
516
+ return true;
517
+ } catch (error) {
518
+ const message = `Rename failed: ${renameFailureMessage(error)}.`;
519
+ $4.set(renamePending, false);
520
+ $4.set(renameError, message);
521
+ announceRename(message);
522
+ queueMicrotask(() => $4.get(renameInputElement)?.focus());
523
+ return false;
524
+ }
525
+ }
526
+ async function commitEditAndMove(direction) {
527
+ await commitEdit(() => context.focusVisibleDelta($$props.id, direction));
528
+ }
529
+ function handleRenameInputKeydown(event2) {
530
+ event2.stopPropagation();
531
+ if (event2.key === "Enter") {
532
+ event2.preventDefault();
533
+ commitEdit();
534
+ return;
535
+ }
536
+ if (event2.key === "Escape") {
537
+ event2.preventDefault();
538
+ cancelEdit();
539
+ return;
540
+ }
541
+ if (event2.key === "Tab") {
542
+ const direction = event2.shiftKey ? -1 : 1;
543
+ if (context.canFocusVisibleDelta($$props.id, direction)) {
544
+ event2.preventDefault();
545
+ commitEditAndMove(direction);
546
+ } else {
547
+ commitEdit();
548
+ }
549
+ }
550
+ }
551
+ function handleRenameInputBlur() {
552
+ commitEdit();
553
+ }
554
+ let dragKeyboardReturnTarget;
555
+ function restoreDragKeyboardFocus() {
556
+ const target = dragKeyboardReturnTarget ?? $4.get(dragHandleElement) ?? $4.get(outerElement);
557
+ queueMicrotask(() => target?.focus());
558
+ }
559
+ function canLiftWithKeyboard(event2) {
560
+ const fromDragHandle = event2.currentTarget === $4.get(dragHandleElement);
561
+ const treeItemShortcut = event2.key === " " && event2.ctrlKey && event2.shiftKey && !event2.altKey && !event2.metaKey;
562
+ return fromDragHandle && (event2.key === " " || event2.key === "Enter") || treeItemShortcut;
563
+ }
564
+ function handleDragKeyboard(event2) {
565
+ const controller = $4.get(dragController);
566
+ if (!$4.get(canDrag) || !controller)
567
+ return false;
568
+ if (!controller.dragging && canLiftWithKeyboard(event2)) {
569
+ event2.preventDefault();
570
+ event2.stopPropagation();
571
+ dragKeyboardReturnTarget = event2.currentTarget instanceof HTMLElement ? event2.currentTarget : undefined;
572
+ controller.lift($$props.id, "keyboard");
573
+ restoreDragKeyboardFocus();
574
+ return true;
575
+ }
576
+ if (!controller.isDragging($$props.id))
577
+ return false;
578
+ switch (event2.key) {
579
+ case "ArrowDown":
580
+ event2.preventDefault();
581
+ event2.stopPropagation();
582
+ controller.moveBy(1);
583
+ return true;
584
+ case "ArrowUp":
585
+ event2.preventDefault();
586
+ event2.stopPropagation();
587
+ controller.moveBy(-1);
588
+ return true;
589
+ case "ArrowRight":
590
+ event2.preventDefault();
591
+ event2.stopPropagation();
592
+ controller.moveIntoPreviousBranch();
593
+ return true;
594
+ case "ArrowLeft":
595
+ event2.preventDefault();
596
+ event2.stopPropagation();
597
+ controller.moveOut();
598
+ return true;
599
+ case "Home":
600
+ event2.preventDefault();
601
+ event2.stopPropagation();
602
+ controller.moveToEdge("first");
603
+ return true;
604
+ case "End":
605
+ event2.preventDefault();
606
+ event2.stopPropagation();
607
+ controller.moveToEdge("last");
608
+ return true;
609
+ case "F2":
610
+ event2.preventDefault();
611
+ event2.stopPropagation();
612
+ return true;
613
+ case "Tab":
614
+ event2.stopPropagation();
615
+ controller.cancel();
616
+ return true;
617
+ case " ":
618
+ case "Enter":
619
+ event2.preventDefault();
620
+ event2.stopPropagation();
621
+ controller.drop();
622
+ restoreDragKeyboardFocus();
623
+ return true;
624
+ case "Escape":
625
+ event2.preventDefault();
626
+ event2.stopPropagation();
627
+ controller.cancel();
628
+ restoreDragKeyboardFocus();
629
+ return true;
630
+ default:
631
+ return false;
632
+ }
633
+ }
634
+ function handleDragPointerDown(event2) {
635
+ const controller = $4.get(dragController);
636
+ if (!$4.get(canDrag) || !controller || event2.button !== 0)
637
+ return;
638
+ event2.preventDefault();
639
+ event2.stopPropagation();
640
+ $4.get(dragHandleElement)?.focus();
641
+ $4.get(dragHandleElement)?.setPointerCapture(event2.pointerId);
642
+ controller.lift($$props.id, "pointer");
643
+ }
644
+ function handleDragClick(event2) {
645
+ event2.stopPropagation();
263
646
  }
264
647
  function toggleKeyboardSelection(event2) {
265
648
  if (disabled())
266
649
  return;
267
- if ($2.get(checkboxSelectionActive)) {
650
+ if ($4.get(checkboxSelectionActive)) {
268
651
  context.toggleSelectionScope($$props.id);
269
652
  } else {
270
653
  context.toggleSelected($$props.id, event2);
@@ -276,6 +659,13 @@ function Tree_item($$anchor, $$props) {
276
659
  if (isInteractiveDescendant(event2.target))
277
660
  return;
278
661
  const key = event2.key;
662
+ if (handleDragKeyboard(event2))
663
+ return;
664
+ if (key === "F2") {
665
+ event2.preventDefault();
666
+ beginEdit();
667
+ return;
668
+ }
279
669
  switch (key) {
280
670
  case "ArrowDown":
281
671
  event2.preventDefault();
@@ -297,9 +687,9 @@ function Tree_item($$anchor, $$props) {
297
687
  break;
298
688
  case "ArrowRight":
299
689
  event2.preventDefault();
300
- if (!$2.get(isBranch))
690
+ if (!$4.get(isBranch))
301
691
  break;
302
- if (!$2.get(isExpanded)) {
692
+ if (!$4.get(renderedExpanded)) {
303
693
  context.setExpanded($$props.id, true);
304
694
  } else {
305
695
  context.focusFirstChild($$props.id);
@@ -307,7 +697,7 @@ function Tree_item($$anchor, $$props) {
307
697
  break;
308
698
  case "ArrowLeft":
309
699
  event2.preventDefault();
310
- if ($2.get(isBranch) && $2.get(isExpanded)) {
700
+ if ($4.get(isBranch) && $4.get(isExpanded)) {
311
701
  context.setExpanded($$props.id, false);
312
702
  } else {
313
703
  context.focusParent($$props.id);
@@ -323,23 +713,27 @@ function Tree_item($$anchor, $$props) {
323
713
  break;
324
714
  case "Enter":
325
715
  event2.preventDefault();
326
- if ($2.get(checkboxSelectionActive)) {
327
- if ($2.get(isBranch)) {
328
- context.setExpanded($$props.id, !$2.get(isExpanded));
716
+ if (context.selectionMode === "none" && $4.get(canRename)) {
717
+ beginEdit();
718
+ break;
719
+ }
720
+ if ($4.get(checkboxSelectionActive)) {
721
+ if ($4.get(isBranch)) {
722
+ context.setExpanded($$props.id, !$4.get(isExpanded));
329
723
  } else if (!disabled()) {
330
724
  context.toggleSelectionScope($$props.id);
331
725
  }
332
726
  } else {
333
727
  if (!disabled())
334
728
  context.toggleSelected($$props.id, event2);
335
- if ($2.get(isBranch))
336
- context.setExpanded($$props.id, !$2.get(isExpanded));
729
+ if ($4.get(isBranch))
730
+ context.setExpanded($$props.id, !$4.get(isExpanded));
337
731
  }
338
732
  break;
339
733
  case " ":
340
734
  event2.preventDefault();
341
735
  if (!disabled()) {
342
- if ($2.get(checkboxSelectionActive)) {
736
+ if ($4.get(checkboxSelectionActive)) {
343
737
  context.toggleSelectionScope($$props.id);
344
738
  } else {
345
739
  context.toggleSelected($$props.id, event2);
@@ -366,17 +760,24 @@ function Tree_item($$anchor, $$props) {
366
760
  return;
367
761
  if (isInteractiveDescendant(event2.target))
368
762
  return;
369
- $2.get(outerElement)?.focus();
370
- if (!disabled() && !$2.get(checkboxSelectionActive))
763
+ $4.get(outerElement)?.focus();
764
+ if (event2.detail > 1)
765
+ return;
766
+ if (!disabled() && !$4.get(checkboxSelectionActive))
371
767
  context.toggleSelected($$props.id, event2);
372
- if ($2.get(isBranch) && !event2.shiftKey && !event2.metaKey && !event2.ctrlKey) {
373
- context.setExpanded($$props.id, !$2.get(isExpanded));
768
+ if ($4.get(isBranch) && !event2.shiftKey && !event2.metaKey && !event2.ctrlKey) {
769
+ context.setExpanded($$props.id, !$4.get(isExpanded));
374
770
  }
375
771
  }
772
+ function handleLabelDoubleClick(event2) {
773
+ event2.preventDefault();
774
+ event2.stopPropagation();
775
+ beginEdit();
776
+ }
376
777
  function handleCheckboxActivation(event2) {
377
778
  event2.preventDefault();
378
779
  event2.stopPropagation();
379
- $2.get(outerElement)?.focus();
780
+ $4.get(outerElement)?.focus();
380
781
  if (!disabled())
381
782
  context.toggleSelectionScope($$props.id);
382
783
  if (typeof globalThis.requestAnimationFrame === "function") {
@@ -387,163 +788,566 @@ function Tree_item($$anchor, $$props) {
387
788
  if (!disabled())
388
789
  context.toggleSelectionScope($$props.id);
389
790
  }
390
- var div = root2();
391
- var span = $2.child(div);
392
- var text = $2.child(span, true);
393
- $2.reset(span);
394
- var div_1 = $2.sibling(span, 2);
395
- var node_1 = $2.child(div_1);
791
+ function splitLabelForHighlight(value, query) {
792
+ if (query.length === 0)
793
+ return [{ text: value, highlighted: false, start: 0 }];
794
+ const matchIndex = value.toLowerCase().indexOf(query.toLowerCase());
795
+ if (matchIndex === -1)
796
+ return [{ text: value, highlighted: false, start: 0 }];
797
+ const matchEnd = matchIndex + query.length;
798
+ const segments = [];
799
+ if (matchIndex > 0) {
800
+ segments.push({
801
+ text: value.slice(0, matchIndex),
802
+ highlighted: false,
803
+ start: 0
804
+ });
805
+ }
806
+ segments.push({
807
+ text: value.slice(matchIndex, matchEnd),
808
+ highlighted: true,
809
+ start: matchIndex
810
+ });
811
+ if (matchEnd < value.length) {
812
+ segments.push({
813
+ text: value.slice(matchEnd),
814
+ highlighted: false,
815
+ start: matchEnd
816
+ });
817
+ }
818
+ return segments;
819
+ }
820
+ var div = root_13();
821
+ var span = $4.child(div);
822
+ var text_2 = $4.child(span, true);
823
+ $4.reset(span);
824
+ var div_1 = $4.sibling(span, 2);
825
+ var node_3 = $4.child(div_1);
396
826
  {
397
- var consequent = ($$anchor2) => {
398
- var fragment = $2.comment();
399
- var node_2 = $2.first_child(fragment);
400
- $2.snippet(node_2, () => $$props.row, () => ({
401
- expanded: $2.get(isExpanded),
402
- selected: $2.get(isSelected),
403
- busy: $2.get(busy),
827
+ var consequent_1 = ($$anchor2) => {
828
+ var button = root_6();
829
+ $4.bind_this(button, ($$value) => $4.set(dragHandleElement, $$value), () => $4.get(dragHandleElement));
830
+ $4.template_effect(() => {
831
+ $4.set_attribute(button, "aria-label", $4.get(dragHandleLabel));
832
+ $4.set_attribute(button, "aria-pressed", $4.get(isDraggingItem));
833
+ $4.set_attribute(button, "aria-describedby", context.dragInstructionsId);
834
+ });
835
+ $4.delegated("pointerdown", button, handleDragPointerDown);
836
+ $4.event("click", button, handleDragClick, true);
837
+ $4.delegated("keydown", button, handleDragKeyboard);
838
+ $4.append($$anchor2, button);
839
+ };
840
+ $4.if(node_3, ($$render) => {
841
+ if ($4.get(canDrag))
842
+ $$render(consequent_1);
843
+ });
844
+ }
845
+ var node_4 = $4.sibling(node_3, 2);
846
+ {
847
+ var consequent_2 = ($$anchor2) => {
848
+ var fragment_3 = $4.comment();
849
+ var node_5 = $4.first_child(fragment_3);
850
+ $4.snippet(node_5, () => $$props.row, () => ({
851
+ expanded: $4.get(isExpanded),
852
+ selected: $4.get(isSelected),
853
+ busy: $4.get(busy),
404
854
  level,
405
- checkboxSelection: $2.get(checkboxSelectionActive),
406
- selectionState: $2.get(selectionState),
855
+ checkboxSelection: $4.get(checkboxSelectionActive),
856
+ selectionState: $4.get(selectionState),
857
+ editing: $4.get(editing),
858
+ beginEdit,
407
859
  toggleSelection: toggleSelectionFromRow
408
860
  }));
409
- $2.append($$anchor2, fragment);
861
+ $4.append($$anchor2, fragment_3);
410
862
  };
411
- var consequent_1 = ($$anchor2) => {
412
- var fragment_1 = root_2();
413
- var input = $2.first_child(fragment_1);
414
- $2.remove_input_defaults(input);
415
- $2.bind_this(input, ($$value) => $2.set(checkboxElement, $$value), () => $2.get(checkboxElement));
416
- var span_1 = $2.sibling(input, 2);
417
- var text_1 = $2.child(span_1, true);
418
- $2.reset(span_1);
419
- $2.template_effect(() => {
420
- $2.set_checked(input, $2.get(selectionState).checked);
421
- input.disabled = disabled();
422
- $2.set_text(text_1, $$props.label);
863
+ var consequent_3 = ($$anchor2) => {
864
+ var input = root_8();
865
+ $4.remove_input_defaults(input);
866
+ $4.attach(input, () => focusRenameInput);
867
+ $4.template_effect(() => {
868
+ $4.set_attribute(input, "aria-label", $4.get(editingLabel));
869
+ $4.set_attribute(input, "aria-invalid", $4.get(renameError) ? "true" : undefined);
870
+ $4.set_attribute(input, "aria-describedby", $4.get(renameError) ? $4.get(renameMessageId) : undefined);
871
+ input.disabled = $4.get(renamePending);
423
872
  });
424
- $2.delegated("click", input, handleCheckboxActivation);
425
- $2.append($$anchor2, fragment_1);
873
+ $4.delegated("keydown", input, handleRenameInputKeydown);
874
+ $4.event("blur", input, handleRenameInputBlur);
875
+ $4.bind_value(input, () => $4.get(editValue), ($$value) => $4.set(editValue, $$value));
876
+ $4.append($$anchor2, input);
426
877
  };
427
- var alternate = ($$anchor2) => {
428
- var span_2 = root_3();
429
- var text_2 = $2.child(span_2, true);
430
- $2.reset(span_2);
431
- $2.template_effect(() => $2.set_text(text_2, $$props.label));
432
- $2.append($$anchor2, span_2);
878
+ var consequent_4 = ($$anchor2) => {
879
+ var fragment_4 = root_9();
880
+ var input_1 = $4.first_child(fragment_4);
881
+ $4.remove_input_defaults(input_1);
882
+ $4.bind_this(input_1, ($$value) => $4.set(checkboxElement, $$value), () => $4.get(checkboxElement));
883
+ var span_1 = $4.sibling(input_1, 2);
884
+ var node_6 = $4.child(span_1);
885
+ visibleLabel(node_6);
886
+ $4.reset(span_1);
887
+ $4.template_effect(() => {
888
+ $4.set_checked(input_1, $4.get(selectionState).checked);
889
+ input_1.disabled = disabled();
890
+ });
891
+ $4.delegated("click", input_1, handleCheckboxActivation);
892
+ $4.delegated("dblclick", span_1, handleLabelDoubleClick);
893
+ $4.append($$anchor2, fragment_4);
894
+ };
895
+ var alternate_1 = ($$anchor2) => {
896
+ var span_2 = root_10();
897
+ var node_7 = $4.child(span_2);
898
+ visibleLabel(node_7);
899
+ $4.reset(span_2);
900
+ $4.delegated("dblclick", span_2, handleLabelDoubleClick);
901
+ $4.append($$anchor2, span_2);
433
902
  };
434
- $2.if(node_1, ($$render) => {
903
+ $4.if(node_4, ($$render) => {
435
904
  if ($$props.row)
436
- $$render(consequent);
437
- else if ($2.get(checkboxSelectionActive))
438
- $$render(consequent_1, 1);
905
+ $$render(consequent_2);
906
+ else if ($4.get(editing))
907
+ $$render(consequent_3, 1);
908
+ else if ($4.get(checkboxSelectionActive))
909
+ $$render(consequent_4, 2);
439
910
  else
440
- $$render(alternate, -1);
911
+ $$render(alternate_1, -1);
441
912
  });
442
913
  }
443
- $2.reset(div_1);
444
- var node_3 = $2.sibling(div_1, 2);
914
+ $4.reset(div_1);
915
+ var node_8 = $4.sibling(div_1, 2);
445
916
  {
446
- var consequent_2 = ($$anchor2) => {
447
- var div_2 = root_4();
448
- var node_4 = $2.child(div_2);
449
- $2.snippet(node_4, () => $$props.children ?? $2.noop);
450
- $2.reset(div_2);
451
- $2.template_effect(() => $2.set_attribute(div_2, "aria-labelledby", treeItemElementId));
452
- $2.append($$anchor2, div_2);
453
- };
454
- $2.if(node_3, ($$render) => {
455
- if ($2.get(isBranch) && $2.get(isExpanded))
456
- $$render(consequent_2);
917
+ var consequent_5 = ($$anchor2) => {
918
+ var span_3 = root_11();
919
+ var text_3 = $4.child(span_3, true);
920
+ $4.reset(span_3);
921
+ $4.template_effect(() => {
922
+ $4.set_attribute(span_3, "id", $4.get(renameMessageId));
923
+ $4.set_text(text_3, $4.get(renameError));
924
+ });
925
+ $4.append($$anchor2, span_3);
926
+ };
927
+ $4.if(node_8, ($$render) => {
928
+ if ($4.get(renameError))
929
+ $$render(consequent_5);
457
930
  });
458
931
  }
459
- $2.reset(div);
460
- $2.bind_this(div, ($$value) => $2.set(outerElement, $$value), () => $2.get(outerElement));
461
- $2.attach(div, () => registerWithTree);
462
- $2.template_effect(($0) => {
463
- $2.set_attribute(div, "id", treeItemElementId);
464
- $2.set_class(div, 1, $0);
465
- $2.set_attribute(div, "aria-labelledby", `${treeItemElementId}-label`);
466
- $2.set_attribute(div, "aria-level", level);
467
- $2.set_attribute(div, "aria-expanded", $2.get(isBranch) ? $2.get(isExpanded) : undefined);
468
- $2.set_attribute(div, "aria-selected", context.selectionMode === "none" || $2.get(checkboxSelectionActive) ? undefined : $2.get(isSelected));
469
- $2.set_attribute(div, "aria-checked", $2.get(ariaChecked));
470
- $2.set_attribute(div, "aria-busy", $2.get(busy) || undefined);
471
- $2.set_attribute(div, "aria-disabled", disabled() || undefined);
472
- $2.set_attribute(div, "tabindex", $2.get(isFocused) ? 0 : -1);
473
- $2.set_attribute(div, "data-cinder-expanded", $2.get(isBranch) && $2.get(isExpanded) ? "" : undefined);
474
- $2.set_attribute(div, "data-cinder-selected", $2.get(isSelected) ? "" : undefined);
475
- $2.set_attribute(div, "data-cinder-disabled", disabled() ? "" : undefined);
476
- $2.set_attribute(div, "data-cinder-busy", $2.get(busy) ? "" : undefined);
477
- $2.set_attribute(span, "id", `${treeItemElementId}-label`);
478
- $2.set_text(text, $$props.label);
479
- }, [() => $2.clsx(classNames("cinder-tree-item", $$props.class))]);
480
- $2.event("focus", div, handleFocus);
481
- $2.delegated("keydown", div, handleKeydown);
482
- $2.delegated("click", div, handleClick);
483
- $2.append($$anchor, div);
484
- $2.pop();
932
+ var node_9 = $4.sibling(node_8, 2);
933
+ {
934
+ var consequent_6 = ($$anchor2) => {
935
+ var div_2 = root_12();
936
+ var node_10 = $4.child(div_2);
937
+ $4.snippet(node_10, () => $$props.children ?? $4.noop);
938
+ $4.reset(div_2);
939
+ $4.template_effect(() => $4.set_attribute(div_2, "aria-labelledby", treeItemElementId));
940
+ $4.append($$anchor2, div_2);
941
+ };
942
+ $4.if(node_9, ($$render) => {
943
+ if ($4.get(shouldRenderChildren))
944
+ $$render(consequent_6);
945
+ });
946
+ }
947
+ var node_11 = $4.sibling(node_9, 2);
948
+ {
949
+ var consequent_7 = ($$anchor2) => {
950
+ _visually_hidden_live_region($$anchor2, {
951
+ get message() {
952
+ return $4.get(renameAnnouncement);
953
+ },
954
+ get announcementSequence() {
955
+ return $4.get(renameAnnouncementSequence);
956
+ },
957
+ priority: "assertive"
958
+ });
959
+ };
960
+ $4.if(node_11, ($$render) => {
961
+ if ($$props.onRename)
962
+ $$render(consequent_7);
963
+ });
964
+ }
965
+ $4.reset(div);
966
+ $4.bind_this(div, ($$value) => $4.set(outerElement, $$value), () => $4.get(outerElement));
967
+ $4.attach(div, () => registerWithTree);
968
+ $4.template_effect(($0) => {
969
+ $4.set_attribute(div, "id", treeItemElementId);
970
+ $4.set_class(div, 1, $0);
971
+ $4.set_attribute(div, "aria-label", $4.get(editing) ? $4.get(editingLabel) : undefined);
972
+ $4.set_attribute(div, "aria-labelledby", $4.get(editing) ? undefined : `${treeItemElementId}-label`);
973
+ $4.set_attribute(div, "aria-level", level);
974
+ $4.set_attribute(div, "aria-expanded", $4.get(isBranch) ? $4.get(renderedExpanded) : undefined);
975
+ $4.set_attribute(div, "aria-selected", context.selectionMode === "none" || $4.get(checkboxSelectionActive) ? undefined : $4.get(isSelected));
976
+ $4.set_attribute(div, "aria-checked", $4.get(ariaChecked));
977
+ $4.set_attribute(div, "aria-busy", $4.get(busy) || undefined);
978
+ $4.set_attribute(div, "aria-disabled", disabled() || undefined);
979
+ $4.set_attribute(div, "aria-describedby", $4.get(canDrag) ? context.dragInstructionsId : undefined);
980
+ $4.set_attribute(div, "tabindex", $4.get(isFocused) ? 0 : -1);
981
+ $4.set_attribute(div, "data-cinder-expanded", $4.get(isBranch) && $4.get(isExpanded) ? "" : undefined);
982
+ $4.set_attribute(div, "data-cinder-selected", $4.get(isSelected) ? "" : undefined);
983
+ $4.set_attribute(div, "data-cinder-disabled", disabled() ? "" : undefined);
984
+ $4.set_attribute(div, "data-cinder-busy", $4.get(busy) ? "" : undefined);
985
+ $4.set_attribute(div, "data-cinder-hidden", !$4.get(isVisible) ? "" : undefined);
986
+ $4.set_attribute(div, "data-cinder-editing", $4.get(editing) ? "" : undefined);
987
+ $4.set_attribute(div, "data-cinder-tree-item-id", $$props.id);
988
+ $4.set_attribute(div, "data-cinder-dragging", $4.get(isDraggingItem) ? "" : undefined);
989
+ $4.set_attribute(div, "data-cinder-drop-target", $4.get(isDropBefore) ? "before" : $4.get(isDropAfter) ? "after" : undefined);
990
+ $4.set_attribute(div, "data-cinder-drop-into", $4.get(isDropInto) ? "" : undefined);
991
+ $4.set_attribute(span, "id", `${treeItemElementId}-label`);
992
+ $4.set_text(text_2, $$props.label);
993
+ }, [() => $4.clsx(classNames("cinder-tree-item", $$props.class))]);
994
+ $4.event("focus", div, handleFocus);
995
+ $4.delegated("keydown", div, handleKeydown);
996
+ $4.delegated("click", div, handleClick);
997
+ $4.append($$anchor, div);
998
+ $4.pop();
485
999
  }
486
- $2.delegate(["keydown", "click"]);
1000
+ $4.delegate(["keydown", "click", "pointerdown", "dblclick"]);
487
1001
 
488
1002
  // src/components/tree/tree.svelte
489
1003
  import"svelte/internal/disclose-version";
490
- import * as $4 from "svelte/internal/client";
491
-
492
- // src/_internal/tree-registry.svelte.ts
493
- import * as $3 from "svelte/internal/client";
494
- import { SvelteMap } from "svelte/reactivity";
1004
+ import * as $8 from "svelte/internal/client";
1005
+ import { tick as tick2, untrack as untrack2 } from "svelte";
1006
+ import { SvelteSet } from "svelte/reactivity";
495
1007
 
496
- // src/utilities/document-order.ts
497
- function inDocumentOrder(items) {
498
- return items.toSorted((a, b) => {
499
- if (a.node === b.node)
500
- return 0;
501
- const position = a.node.compareDocumentPosition(b.node);
502
- if (position & Node.DOCUMENT_POSITION_FOLLOWING)
503
- return -1;
504
- if (position & Node.DOCUMENT_POSITION_PRECEDING)
505
- return 1;
506
- return 0;
507
- });
1008
+ // src/_internal/tree-data.ts
1009
+ function flattenTreeDataItems(items) {
1010
+ const flattenedItems = [];
1011
+ const visit = (children, parentId, level, ancestorIds) => {
1012
+ const setSize = children.length;
1013
+ children.forEach((item, siblingIndex) => {
1014
+ const branch = (item.children?.length ?? 0) > 0;
1015
+ const flattenedItem = {
1016
+ id: item.id,
1017
+ label: item.label,
1018
+ disabled: item.disabled ?? false,
1019
+ parentId,
1020
+ level,
1021
+ branch,
1022
+ index: flattenedItems.length,
1023
+ posInSet: siblingIndex + 1,
1024
+ setSize,
1025
+ ancestorIds
1026
+ };
1027
+ flattenedItems.push(flattenedItem);
1028
+ if (branch) {
1029
+ visit(item.children ?? [], item.id, level + 1, [...ancestorIds, item.id]);
1030
+ }
1031
+ });
1032
+ };
1033
+ visit(items, null, 1, []);
1034
+ return flattenedItems;
508
1035
  }
509
-
510
- // src/_internal/tree-registry.svelte.ts
511
- class TreeRegistry {
512
- #nodes = new SvelteMap;
513
- #children = new SvelteMap;
514
- register(node) {
515
- if (this.#nodes.has(node.id)) {
516
- throw new Error(`[cinder-tree] Duplicate TreeItem id: "${node.id}". All node ids must be unique within the tree.`);
517
- }
518
- this.#nodes.set(node.id, node);
519
- const siblings = this.#children.get(node.parentId) ?? [];
520
- this.#children.set(node.parentId, [...siblings, node.id]);
521
- return () => {
522
- this.#nodes.delete(node.id);
523
- const remaining = (this.#children.get(node.parentId) ?? []).filter((id) => id !== node.id);
524
- if (remaining.length === 0) {
525
- this.#children.delete(node.parentId);
526
- } else {
527
- this.#children.set(node.parentId, remaining);
1036
+ function visibleTreeDataItems(flattenedItems, expandedIds, filterPredicate) {
1037
+ if (filterPredicate) {
1038
+ const byId = new Map(flattenedItems.map((item) => [item.id, item]));
1039
+ const retainedIds = new Set;
1040
+ for (const item of flattenedItems) {
1041
+ if (!filterPredicate(item))
1042
+ continue;
1043
+ retainedIds.add(item.id);
1044
+ for (const ancestorId of item.ancestorIds) {
1045
+ if (byId.has(ancestorId))
1046
+ retainedIds.add(ancestorId);
528
1047
  }
529
- };
1048
+ }
1049
+ return flattenedItems.filter((item) => retainedIds.has(item.id));
530
1050
  }
531
- #orderedChildren(parentId) {
532
- const ids = this.#children.get(parentId);
1051
+ const expandedIdSet = new Set(expandedIds);
1052
+ return flattenedItems.filter((item) => item.ancestorIds.every((ancestorId) => expandedIdSet.has(ancestorId)));
1053
+ }
1054
+ function descendantTreeDataIds(flattenedItems, parentId) {
1055
+ const parent = flattenedItems.find((item) => item.id === parentId);
1056
+ if (!parent)
1057
+ return [];
1058
+ return flattenedItems.filter((item) => item.ancestorIds.includes(parentId) && item.level > parent.level).map((item) => item.id);
1059
+ }
1060
+
1061
+ // src/_internal/tree-drag-controller.svelte.ts
1062
+ import * as $5 from "svelte/internal/client";
1063
+ function reversedVisibleIds(visibleIds) {
1064
+ const reversedIds = [];
1065
+ for (let index = visibleIds.length - 1;index >= 0; index -= 1) {
1066
+ const id = visibleIds[index];
1067
+ if (id !== undefined)
1068
+ reversedIds.push(id);
1069
+ }
1070
+ return reversedIds;
1071
+ }
1072
+
1073
+ class TreeDragController {
1074
+ #phase = $5.state("idle");
1075
+ get phase() {
1076
+ return $5.get(this.#phase);
1077
+ }
1078
+ set phase(value) {
1079
+ $5.set(this.#phase, value, true);
1080
+ }
1081
+ #draggedId = $5.state(null);
1082
+ get draggedId() {
1083
+ return $5.get(this.#draggedId);
1084
+ }
1085
+ set draggedId(value) {
1086
+ $5.set(this.#draggedId, value, true);
1087
+ }
1088
+ #dropTarget = $5.state(null);
1089
+ get dropTarget() {
1090
+ return $5.get(this.#dropTarget);
1091
+ }
1092
+ set dropTarget(value) {
1093
+ $5.set(this.#dropTarget, value, true);
1094
+ }
1095
+ #dragSource = $5.state(null);
1096
+ get dragSource() {
1097
+ return $5.get(this.#dragSource);
1098
+ }
1099
+ set dragSource(value) {
1100
+ $5.set(this.#dragSource, value, true);
1101
+ }
1102
+ #options;
1103
+ constructor(options) {
1104
+ this.#options = options;
1105
+ }
1106
+ get dragging() {
1107
+ return this.phase === "dragging";
1108
+ }
1109
+ get pointerDragging() {
1110
+ return this.dragging && this.dragSource === "pointer";
1111
+ }
1112
+ isDragging(id) {
1113
+ return this.draggedId === id;
1114
+ }
1115
+ isDropTarget(id, position) {
1116
+ if (this.dropTarget?.id !== id)
1117
+ return false;
1118
+ return position === undefined || this.dropTarget.position === position;
1119
+ }
1120
+ lift(id, source) {
1121
+ if (this.phase !== "idle")
1122
+ return;
1123
+ this.phase = "dragging";
1124
+ this.draggedId = id;
1125
+ this.dropTarget = null;
1126
+ this.dragSource = source;
1127
+ const visibleIds = this.#options.getVisibleIds();
1128
+ const position = Math.max(1, visibleIds.indexOf(id) + 1);
1129
+ this.#options.announce(`${this.#labelFor(id)}, lifted. Position ${position} of ${visibleIds.length} ${this.#parentPhrase(id)}. Arrow keys to move, Space to drop, Escape to cancel.`);
1130
+ }
1131
+ moveBy(delta) {
1132
+ if (this.phase !== "dragging" || !this.draggedId)
1133
+ return;
1134
+ const visibleIds = this.#options.getVisibleIds();
1135
+ if (visibleIds.length === 0)
1136
+ return;
1137
+ const currentId = this.dropTarget?.id ?? this.draggedId;
1138
+ const currentIndex = this.#currentVisibleIndex(currentId, visibleIds);
1139
+ if (currentIndex < 0)
1140
+ return;
1141
+ let nextIndex = currentIndex + delta;
1142
+ while (nextIndex >= 0 && nextIndex < visibleIds.length) {
1143
+ const nextId = visibleIds[nextIndex];
1144
+ const target = nextId ? { id: nextId, position: delta > 0 ? "after" : "before" } : null;
1145
+ if (target && this.#setValidDropTarget(target)) {
1146
+ this.#options.announce(`${this.#labelFor(this.draggedId)}, moved ${this.#targetPhrase(target)}.`);
1147
+ return;
1148
+ }
1149
+ nextIndex += delta;
1150
+ }
1151
+ }
1152
+ moveToEdge(edge) {
1153
+ if (this.phase !== "dragging" || !this.draggedId)
1154
+ return;
1155
+ const visibleIds = this.#options.getVisibleIds();
1156
+ const candidates = edge === "first" ? visibleIds : reversedVisibleIds(visibleIds);
1157
+ for (const targetId of candidates) {
1158
+ const target = {
1159
+ id: targetId,
1160
+ position: edge === "first" ? "before" : "after"
1161
+ };
1162
+ if (this.#setValidDropTarget(target)) {
1163
+ this.#options.announce(`${this.#labelFor(this.draggedId)}, moved ${this.#targetPhrase(target)}.`);
1164
+ return;
1165
+ }
1166
+ }
1167
+ }
1168
+ moveIntoPreviousBranch() {
1169
+ if (this.phase !== "dragging" || !this.draggedId)
1170
+ return;
1171
+ const visibleIds = this.#options.getVisibleIds();
1172
+ const currentId = this.dropTarget?.id ?? this.draggedId;
1173
+ const currentIndex = this.#currentVisibleIndex(currentId, visibleIds);
1174
+ if (currentIndex < 0)
1175
+ return;
1176
+ const before = reversedVisibleIds(visibleIds.slice(0, Math.max(0, currentIndex)));
1177
+ const branchId = before.find((id) => this.#isValidDropTarget({ id, position: "child" }) && this.#options.isBranch(id));
1178
+ if (!branchId || !this.#setValidDropTarget({ id: branchId, position: "child" }))
1179
+ return;
1180
+ this.#options.announce(`${this.#labelFor(this.draggedId)}, moved into ${this.#labelFor(branchId)}.`);
1181
+ }
1182
+ moveOut() {
1183
+ if (this.phase !== "dragging" || !this.draggedId)
1184
+ return;
1185
+ const parentId = this.#options.getParentId(this.draggedId);
1186
+ if (!parentId)
1187
+ return;
1188
+ if (!this.#setValidDropTarget({ id: parentId, position: "after" }))
1189
+ return;
1190
+ this.#options.announce(`${this.#labelFor(this.draggedId)}, moved out after ${this.#labelFor(parentId)}.`);
1191
+ }
1192
+ setDropTarget(target) {
1193
+ if (this.phase !== "dragging")
1194
+ return;
1195
+ this.#setValidDropTarget(target);
1196
+ }
1197
+ drop() {
1198
+ if (this.phase !== "dragging" || !this.draggedId)
1199
+ return;
1200
+ if (!this.#isValidDropTarget(this.dropTarget)) {
1201
+ const focusId2 = this.draggedId;
1202
+ this.#options.announce(`${this.#labelFor(focusId2)}, no reorder target selected.`);
1203
+ this.#reset();
1204
+ this.#options.focus(focusId2);
1205
+ return;
1206
+ }
1207
+ const target = this.#reorderTarget(this.draggedId, this.dropTarget);
1208
+ this.#options.commit(this.draggedId, target);
1209
+ this.#options.announce(`${this.#labelFor(this.draggedId)}, dropped ${this.#targetPhrase(this.dropTarget)}.`);
1210
+ const focusId = this.draggedId;
1211
+ this.#reset();
1212
+ this.#options.focus(focusId);
1213
+ }
1214
+ cancel() {
1215
+ if (this.phase !== "dragging")
1216
+ return;
1217
+ const focusId = this.draggedId;
1218
+ const label = focusId ? this.#labelFor(focusId) : "Item";
1219
+ this.#options.announce(`${label}, reorder cancelled.`);
1220
+ this.#reset();
1221
+ if (focusId)
1222
+ this.#options.focus(focusId);
1223
+ }
1224
+ targetFromPointer(pointerY, element) {
1225
+ const item = element.closest("[data-cinder-tree-item-id]");
1226
+ if (!item)
1227
+ return null;
1228
+ const id = item.dataset["cinderTreeItemId"];
1229
+ if (!id || id === this.draggedId)
1230
+ return null;
1231
+ const rect = item.getBoundingClientRect();
1232
+ const offset = pointerY - rect.top;
1233
+ const topThreshold = rect.height * 0.25;
1234
+ const bottomThreshold = rect.height * 0.75;
1235
+ const target = offset < topThreshold ? { id, position: "before" } : offset > bottomThreshold ? { id, position: "after" } : this.#options.isBranch(id) ? { id, position: "child" } : { id, position: "after" };
1236
+ return this.#isValidDropTarget(target) ? target : null;
1237
+ }
1238
+ #setValidDropTarget(target) {
1239
+ if (!target) {
1240
+ this.dropTarget = null;
1241
+ return true;
1242
+ }
1243
+ if (!this.#isValidDropTarget(target))
1244
+ return false;
1245
+ this.dropTarget = target;
1246
+ return true;
1247
+ }
1248
+ #isValidDropTarget(target) {
1249
+ if (!this.draggedId || !target || target.id === this.draggedId)
1250
+ return false;
1251
+ let currentId = target.id;
1252
+ while (currentId) {
1253
+ if (currentId === this.draggedId)
1254
+ return false;
1255
+ currentId = this.#options.getParentId(currentId);
1256
+ }
1257
+ return true;
1258
+ }
1259
+ #reorderTarget(draggedId, dropTarget) {
1260
+ const fromParentId = this.#options.getParentId(draggedId) ?? null;
1261
+ const toParentId = dropTarget.position === "child" ? dropTarget.id : this.#options.getParentId(dropTarget.id) ?? null;
1262
+ return { ...dropTarget, fromParentId, toParentId };
1263
+ }
1264
+ #labelFor(id) {
1265
+ return this.#options.getNode(id)?.label() ?? id;
1266
+ }
1267
+ #parentPhrase(id) {
1268
+ const parentId = this.#options.getParentId(id);
1269
+ return parentId ? `in ${this.#labelFor(parentId)}` : "in root";
1270
+ }
1271
+ #targetPhrase(target) {
1272
+ if (target.position === "child")
1273
+ return `into ${this.#labelFor(target.id)}`;
1274
+ return `${target.position} ${this.#labelFor(target.id)}`;
1275
+ }
1276
+ #currentVisibleIndex(currentId, visibleIds) {
1277
+ const currentIndex = visibleIds.indexOf(currentId);
1278
+ if (currentIndex !== -1)
1279
+ return currentIndex;
1280
+ return this.draggedId ? visibleIds.indexOf(this.draggedId) : -1;
1281
+ }
1282
+ #reset() {
1283
+ this.phase = "idle";
1284
+ this.draggedId = null;
1285
+ this.dropTarget = null;
1286
+ this.dragSource = null;
1287
+ }
1288
+ }
1289
+
1290
+ // src/_internal/tree-registry.svelte.ts
1291
+ import * as $6 from "svelte/internal/client";
1292
+ import { SvelteMap } from "svelte/reactivity";
1293
+
1294
+ // src/utilities/document-order.ts
1295
+ function inDocumentOrder(items) {
1296
+ return items.toSorted((a, b) => {
1297
+ if (a.node === b.node)
1298
+ return 0;
1299
+ const position = a.node.compareDocumentPosition(b.node);
1300
+ if (position & Node.DOCUMENT_POSITION_FOLLOWING)
1301
+ return -1;
1302
+ if (position & Node.DOCUMENT_POSITION_PRECEDING)
1303
+ return 1;
1304
+ return 0;
1305
+ });
1306
+ }
1307
+
1308
+ // src/_internal/tree-registry.svelte.ts
1309
+ class TreeRegistry {
1310
+ #nodes = new SvelteMap;
1311
+ #children = new SvelteMap;
1312
+ get size() {
1313
+ return this.#nodes.size;
1314
+ }
1315
+ register(node) {
1316
+ if (this.#nodes.has(node.id)) {
1317
+ throw new Error(`[cinder-tree] Duplicate TreeItem id: "${node.id}". All node ids must be unique within the tree.`);
1318
+ }
1319
+ this.#nodes.set(node.id, node);
1320
+ const siblings = this.#children.get(node.parentId) ?? [];
1321
+ this.#children.set(node.parentId, [...siblings, node.id]);
1322
+ return () => {
1323
+ this.#nodes.delete(node.id);
1324
+ const remaining = (this.#children.get(node.parentId) ?? []).filter((id) => id !== node.id);
1325
+ if (remaining.length === 0) {
1326
+ this.#children.delete(node.parentId);
1327
+ } else {
1328
+ this.#children.set(node.parentId, remaining);
1329
+ }
1330
+ };
1331
+ }
1332
+ #orderedChildren(parentId) {
1333
+ const ids = this.#children.get(parentId);
533
1334
  if (!ids || ids.length <= 1)
534
1335
  return ids ?? [];
535
1336
  const withNodes = ids.map((id) => ({ id, node: this.#nodes.get(id)?.node })).filter((entry) => entry.node !== undefined);
536
1337
  return inDocumentOrder(withNodes).map((entry) => entry.id);
537
1338
  }
538
- getVisible(expandedIds) {
1339
+ getVisible(expandedIds, visibilityPredicate) {
539
1340
  const result = [];
540
1341
  const expandedSet = new Set(expandedIds);
1342
+ const retainedIds = visibilityPredicate ? this.#retainedIdsForPredicate(visibilityPredicate) : undefined;
541
1343
  const visit = (parentId) => {
542
1344
  const childIds = this.#orderedChildren(parentId);
543
1345
  for (const id of childIds) {
1346
+ if (retainedIds && !retainedIds.has(id))
1347
+ continue;
544
1348
  result.push(id);
545
1349
  const node = this.#nodes.get(id);
546
- if (node?.isBranch() && expandedSet.has(id)) {
1350
+ if (node?.isBranch() && (expandedSet.has(id) || retainedIds?.has(id))) {
547
1351
  visit(id);
548
1352
  }
549
1353
  }
@@ -551,6 +1355,26 @@ class TreeRegistry {
551
1355
  visit(null);
552
1356
  return result;
553
1357
  }
1358
+ #retainedIdsForPredicate(visibilityPredicate) {
1359
+ const retainedIds = new Set;
1360
+ for (const [id, node] of this.#nodes) {
1361
+ if (!visibilityPredicate({
1362
+ id,
1363
+ label: node.label(),
1364
+ parentId: node.parentId,
1365
+ level: node.level
1366
+ })) {
1367
+ continue;
1368
+ }
1369
+ retainedIds.add(id);
1370
+ let parentId = node.parentId;
1371
+ while (parentId !== null) {
1372
+ retainedIds.add(parentId);
1373
+ parentId = this.parentOf(parentId) ?? null;
1374
+ }
1375
+ }
1376
+ return retainedIds;
1377
+ }
554
1378
  getNode(id) {
555
1379
  return this.#nodes.get(id);
556
1380
  }
@@ -574,26 +1398,1370 @@ class TreeRegistry {
574
1398
  visit(parentId);
575
1399
  return result;
576
1400
  }
1401
+ getAllBranchIds(options = {}) {
1402
+ const result = [];
1403
+ const visit = (parentId) => {
1404
+ for (const id of this.#orderedChildren(parentId)) {
1405
+ const node = this.#nodes.get(id);
1406
+ if (!node?.isBranch())
1407
+ continue;
1408
+ if (!options.bulkOnly || this.isBulkExpandableBranch(id)) {
1409
+ result.push(id);
1410
+ }
1411
+ visit(id);
1412
+ }
1413
+ };
1414
+ visit(null);
1415
+ return result;
1416
+ }
1417
+ isBulkExpandableBranch(id) {
1418
+ const node = this.#nodes.get(id);
1419
+ return Boolean(node?.isBranch() && (node.bulkExpandable?.() ?? true));
1420
+ }
1421
+ ancestorsOf(id) {
1422
+ const result = [];
1423
+ let parentId = this.parentOf(id);
1424
+ while (parentId !== null && parentId !== undefined) {
1425
+ result.push(parentId);
1426
+ parentId = this.parentOf(parentId);
1427
+ }
1428
+ return result;
1429
+ }
577
1430
  siblingsOf(id) {
578
1431
  const node = this.#nodes.get(id);
579
1432
  if (!node)
580
1433
  return [];
581
1434
  return this.#orderedChildren(node.parentId);
582
1435
  }
583
- typeaheadMatch(prefix, currentId, expandedIds) {
584
- const visible = this.getVisible(expandedIds);
585
- const lower = prefix.toLowerCase();
586
- const startIndex = visible.indexOf(currentId);
587
- for (let offset = 1;offset <= visible.length; offset++) {
588
- const index = (startIndex + offset) % visible.length;
589
- const id = visible[index];
590
- const node = this.#nodes.get(id);
591
- if (node && node.label().toLowerCase().startsWith(lower)) {
592
- return id;
593
- }
1436
+ typeaheadMatch(prefix, currentId, expandedIds, visibilityPredicate) {
1437
+ const visible = this.getVisible(expandedIds, visibilityPredicate);
1438
+ const lower = prefix.toLowerCase();
1439
+ const startIndex = visible.indexOf(currentId);
1440
+ for (let offset = 1;offset <= visible.length; offset++) {
1441
+ const index = (startIndex + offset) % visible.length;
1442
+ const id = visible[index];
1443
+ const node = this.#nodes.get(id);
1444
+ if (node && node.label().toLowerCase().startsWith(lower)) {
1445
+ return id;
1446
+ }
1447
+ }
1448
+ return;
1449
+ }
1450
+ }
1451
+
1452
+ // src/_internal/use-virtualizer.svelte.ts
1453
+ import * as $7 from "svelte/internal/client";
1454
+
1455
+ // ../../node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
1456
+ function createLazyMeasurementsView(count, flat, getItemKey) {
1457
+ const cache = new Array(count);
1458
+ return new Proxy(cache, {
1459
+ get(target, prop5, receiver) {
1460
+ if (typeof prop5 === "string") {
1461
+ const c = prop5.charCodeAt(0);
1462
+ if (c >= 48 && c <= 57) {
1463
+ const i = +prop5;
1464
+ if (Number.isInteger(i) && i >= 0 && i < count) {
1465
+ let v = target[i];
1466
+ if (!v) {
1467
+ const s = flat[i * 2];
1468
+ v = target[i] = {
1469
+ index: i,
1470
+ key: getItemKey(i),
1471
+ start: s,
1472
+ size: flat[i * 2 + 1],
1473
+ end: s + flat[i * 2 + 1],
1474
+ lane: 0
1475
+ };
1476
+ }
1477
+ return v;
1478
+ }
1479
+ }
1480
+ if (prop5 === "length")
1481
+ return count;
1482
+ }
1483
+ return Reflect.get(target, prop5, receiver);
1484
+ }
1485
+ });
1486
+ }
1487
+
1488
+ // ../../node_modules/@tanstack/virtual-core/dist/esm/utils.js
1489
+ function memo(getDeps, fn, opts) {
1490
+ let deps = opts.initialDeps ?? [];
1491
+ let result;
1492
+ let isInitial = true;
1493
+ function memoizedFunction() {
1494
+ var _a;
1495
+ const debugEnabled = !!opts.key && !!((_a = opts.debug) == null ? undefined : _a.call(opts));
1496
+ let depTime = 0;
1497
+ if (debugEnabled)
1498
+ depTime = Date.now();
1499
+ const newDeps = getDeps();
1500
+ const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);
1501
+ if (!depsChanged) {
1502
+ return result;
1503
+ }
1504
+ deps = newDeps;
1505
+ let resultTime = 0;
1506
+ if (debugEnabled)
1507
+ resultTime = Date.now();
1508
+ result = fn(...newDeps);
1509
+ if (debugEnabled) {
1510
+ const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
1511
+ const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
1512
+ const resultFpsPercentage = resultEndTime / 16;
1513
+ const pad = (str, num) => {
1514
+ str = String(str);
1515
+ while (str.length < num) {
1516
+ str = " " + str;
1517
+ }
1518
+ return str;
1519
+ };
1520
+ console.info(`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, `
1521
+ font-size: .6rem;
1522
+ font-weight: bold;
1523
+ color: hsl(${Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120))}deg 100% 31%);`, opts == null ? undefined : opts.key);
1524
+ }
1525
+ if ((opts == null ? undefined : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {
1526
+ opts.onChange(result);
1527
+ }
1528
+ isInitial = false;
1529
+ return result;
1530
+ }
1531
+ memoizedFunction.updateDeps = (newDeps) => {
1532
+ deps = newDeps;
1533
+ };
1534
+ return memoizedFunction;
1535
+ }
1536
+ function notUndefined(value, msg) {
1537
+ if (value === undefined) {
1538
+ throw new Error(`Unexpected undefined${msg ? `: ${msg}` : ""}`);
1539
+ } else {
1540
+ return value;
1541
+ }
1542
+ }
1543
+ var approxEqual = (a, b) => Math.abs(a - b) < 1.01;
1544
+
1545
+ // ../../node_modules/@tanstack/virtual-core/dist/esm/index.js
1546
+ var _isIOSResult;
1547
+ var isIOSWebKit = () => {
1548
+ if (_isIOSResult !== undefined)
1549
+ return _isIOSResult;
1550
+ if (typeof navigator === "undefined")
1551
+ return _isIOSResult = false;
1552
+ if (/iP(hone|od|ad)/.test(navigator.userAgent))
1553
+ return _isIOSResult = true;
1554
+ const mtp = navigator.maxTouchPoints;
1555
+ return _isIOSResult = navigator.platform === "MacIntel" && mtp !== undefined && mtp > 0;
1556
+ };
1557
+ var defaultKeyExtractor = (index) => index;
1558
+ var defaultRangeExtractor = (range) => {
1559
+ const start = Math.max(range.startIndex - range.overscan, 0);
1560
+ const end = Math.min(range.endIndex + range.overscan, range.count - 1);
1561
+ const len = end - start + 1;
1562
+ const arr = new Array(len);
1563
+ for (let i = 0;i < len; i++) {
1564
+ arr[i] = start + i;
1565
+ }
1566
+ return arr;
1567
+ };
1568
+ var addEventListenerOptions = {
1569
+ passive: true
1570
+ };
1571
+ var supportsScrollend = typeof window == "undefined" ? true : ("onscrollend" in window);
1572
+ var measureElement = (element, entry, instance) => {
1573
+ if (instance.options.useCachedMeasurements) {
1574
+ const index = instance.indexFromElement(element);
1575
+ const key = instance.options.getItemKey(index);
1576
+ return instance.itemSizeCache.get(key) ?? instance.options.estimateSize(index);
1577
+ }
1578
+ if (entry == null ? undefined : entry.borderBoxSize) {
1579
+ const box = entry.borderBoxSize[0];
1580
+ if (box) {
1581
+ const size = Math.round(box[instance.options.horizontal ? "inlineSize" : "blockSize"]);
1582
+ return size;
1583
+ }
1584
+ }
1585
+ if (!entry) {
1586
+ const index = instance.indexFromElement(element);
1587
+ const key = instance.options.getItemKey(index);
1588
+ const cachedSize = instance.itemSizeCache.get(key);
1589
+ if (cachedSize !== undefined) {
1590
+ return cachedSize;
1591
+ }
1592
+ }
1593
+ return element[instance.options.horizontal ? "offsetWidth" : "offsetHeight"];
1594
+ };
1595
+ class Virtualizer {
1596
+ constructor(opts) {
1597
+ this.unsubs = [];
1598
+ this.scrollElement = null;
1599
+ this.targetWindow = null;
1600
+ this.isScrolling = false;
1601
+ this.scrollState = null;
1602
+ this.measurementsCache = [];
1603
+ this._flatMeasurements = null;
1604
+ this.itemSizeCache = /* @__PURE__ */ new Map;
1605
+ this.itemSizeCacheVersion = 0;
1606
+ this.laneAssignments = /* @__PURE__ */ new Map;
1607
+ this.pendingMin = null;
1608
+ this.prevLanes = undefined;
1609
+ this.lanesChangedFlag = false;
1610
+ this.lanesSettling = false;
1611
+ this.pendingScrollAnchor = null;
1612
+ this.scrollRect = null;
1613
+ this.scrollOffset = null;
1614
+ this.scrollDirection = null;
1615
+ this.scrollAdjustments = 0;
1616
+ this._iosDeferredAdjustment = 0;
1617
+ this._iosTouching = false;
1618
+ this._iosJustTouchEnded = false;
1619
+ this._iosTouchEndTimerId = null;
1620
+ this._intendedScrollOffset = null;
1621
+ this.elementsCache = /* @__PURE__ */ new Map;
1622
+ this.now = () => {
1623
+ var _a, _b, _c;
1624
+ return ((_c = (_b = (_a = this.targetWindow) == null ? undefined : _a.performance) == null ? undefined : _b.now) == null ? undefined : _c.call(_b)) ?? Date.now();
1625
+ };
1626
+ this.observer = /* @__PURE__ */ (() => {
1627
+ let _ro = null;
1628
+ const get6 = () => {
1629
+ if (_ro) {
1630
+ return _ro;
1631
+ }
1632
+ if (!this.targetWindow || !this.targetWindow.ResizeObserver) {
1633
+ return null;
1634
+ }
1635
+ return _ro = new this.targetWindow.ResizeObserver((entries) => {
1636
+ entries.forEach((entry) => {
1637
+ const run = () => {
1638
+ const node = entry.target;
1639
+ const index = this.indexFromElement(node);
1640
+ if (!node.isConnected) {
1641
+ this.observer.unobserve(node);
1642
+ for (const [cacheKey, cachedNode] of this.elementsCache) {
1643
+ if (cachedNode === node) {
1644
+ this.elementsCache.delete(cacheKey);
1645
+ break;
1646
+ }
1647
+ }
1648
+ return;
1649
+ }
1650
+ if (this.shouldMeasureDuringScroll(index)) {
1651
+ this.resizeItem(index, this.options.measureElement(node, entry, this));
1652
+ }
1653
+ };
1654
+ this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();
1655
+ });
1656
+ });
1657
+ };
1658
+ return {
1659
+ disconnect: () => {
1660
+ var _a;
1661
+ (_a = get6()) == null || _a.disconnect();
1662
+ _ro = null;
1663
+ },
1664
+ observe: (target) => {
1665
+ var _a;
1666
+ return (_a = get6()) == null ? undefined : _a.observe(target, { box: "border-box" });
1667
+ },
1668
+ unobserve: (target) => {
1669
+ var _a;
1670
+ return (_a = get6()) == null ? undefined : _a.unobserve(target);
1671
+ }
1672
+ };
1673
+ })();
1674
+ this.range = null;
1675
+ this.setOptions = (opts2) => {
1676
+ var _a, _b;
1677
+ const merged = {
1678
+ debug: false,
1679
+ initialOffset: 0,
1680
+ overscan: 1,
1681
+ paddingStart: 0,
1682
+ paddingEnd: 0,
1683
+ scrollPaddingStart: 0,
1684
+ scrollPaddingEnd: 0,
1685
+ horizontal: false,
1686
+ getItemKey: defaultKeyExtractor,
1687
+ rangeExtractor: defaultRangeExtractor,
1688
+ onChange: () => {},
1689
+ measureElement,
1690
+ initialRect: { width: 0, height: 0 },
1691
+ scrollMargin: 0,
1692
+ gap: 0,
1693
+ indexAttribute: "data-index",
1694
+ initialMeasurementsCache: [],
1695
+ lanes: 1,
1696
+ anchorTo: "start",
1697
+ followOnAppend: false,
1698
+ scrollEndThreshold: 1,
1699
+ isScrollingResetDelay: 150,
1700
+ enabled: true,
1701
+ isRtl: false,
1702
+ useScrollendEvent: false,
1703
+ useAnimationFrameWithResizeObserver: false,
1704
+ laneAssignmentMode: "estimate",
1705
+ useCachedMeasurements: false
1706
+ };
1707
+ for (const key in opts2) {
1708
+ const v = opts2[key];
1709
+ if (v !== undefined)
1710
+ merged[key] = v;
1711
+ }
1712
+ const prevOptions = this.options;
1713
+ let anchor = null;
1714
+ let followOnAppend = null;
1715
+ let edgeKeysChanged = false;
1716
+ if (prevOptions !== undefined && prevOptions.enabled && merged.enabled && merged.anchorTo === "end" && this.scrollElement !== null) {
1717
+ const prevCount = prevOptions.count;
1718
+ const nextCount = merged.count;
1719
+ const measurements = this.getMeasurements();
1720
+ const prevFirstKey = prevCount > 0 ? ((_a = measurements[0]) == null ? undefined : _a.key) ?? prevOptions.getItemKey(0) : null;
1721
+ const prevLastKey = prevCount > 0 ? ((_b = measurements[prevCount - 1]) == null ? undefined : _b.key) ?? prevOptions.getItemKey(prevCount - 1) : null;
1722
+ const didCountChange = nextCount !== prevCount;
1723
+ const didEdgeKeysChange = didCountChange || prevCount > 0 && nextCount > 0 && (merged.getItemKey(0) !== prevFirstKey || merged.getItemKey(nextCount - 1) !== prevLastKey);
1724
+ if (didEdgeKeysChange) {
1725
+ edgeKeysChanged = true;
1726
+ const item = prevCount > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? measurements[0] : null;
1727
+ if (item) {
1728
+ anchor = [item.key, this.getScrollOffset() - item.start];
1729
+ }
1730
+ const behavior = merged.followOnAppend === true ? "auto" : merged.followOnAppend || null;
1731
+ if (behavior && nextCount > prevCount && this.isAtEnd(prevOptions.scrollEndThreshold) && (prevCount === 0 || merged.getItemKey(nextCount - 1) !== prevLastKey)) {
1732
+ followOnAppend = behavior;
1733
+ }
1734
+ }
1735
+ }
1736
+ this.options = merged;
1737
+ if (edgeKeysChanged) {
1738
+ this.pendingMin = 0;
1739
+ this.itemSizeCacheVersion++;
1740
+ }
1741
+ let anchorResolved = false;
1742
+ let anchorDelta = 0;
1743
+ if (anchor && this.scrollOffset !== null) {
1744
+ const [anchorKey, anchorOffset] = anchor;
1745
+ const newMeasurements = this.getMeasurements();
1746
+ const { count, getItemKey } = this.options;
1747
+ let idx = 0;
1748
+ while (idx < count && getItemKey(idx) !== anchorKey) {
1749
+ idx++;
1750
+ }
1751
+ if (idx < count) {
1752
+ const anchorItem = newMeasurements[idx];
1753
+ if (anchorItem) {
1754
+ const newOffset = anchorItem.start + anchorOffset;
1755
+ if (newOffset !== this.scrollOffset) {
1756
+ anchorDelta = newOffset - this.scrollOffset;
1757
+ this.scrollOffset = newOffset;
1758
+ anchorResolved = true;
1759
+ }
1760
+ }
1761
+ }
1762
+ }
1763
+ if (anchorResolved || followOnAppend) {
1764
+ this.pendingScrollAnchor = [
1765
+ anchorResolved ? anchor[0] : null,
1766
+ anchorResolved ? anchor[1] : 0,
1767
+ followOnAppend,
1768
+ anchorDelta
1769
+ ];
1770
+ }
1771
+ };
1772
+ this.notify = (sync) => {
1773
+ var _a, _b;
1774
+ (_b = (_a = this.options).onChange) == null || _b.call(_a, this, sync);
1775
+ };
1776
+ this.maybeNotify = memo(() => {
1777
+ this.calculateRange();
1778
+ return [
1779
+ this.isScrolling,
1780
+ this.range ? this.range.startIndex : null,
1781
+ this.range ? this.range.endIndex : null
1782
+ ];
1783
+ }, (isScrolling) => {
1784
+ this.notify(isScrolling);
1785
+ }, {
1786
+ key: "maybeNotify",
1787
+ debug: () => this.options.debug,
1788
+ initialDeps: [
1789
+ this.isScrolling,
1790
+ this.range ? this.range.startIndex : null,
1791
+ this.range ? this.range.endIndex : null
1792
+ ]
1793
+ });
1794
+ this.cleanup = () => {
1795
+ this.unsubs.filter(Boolean).forEach((d) => d());
1796
+ this.unsubs = [];
1797
+ this.observer.disconnect();
1798
+ if (this.rafId != null && this.targetWindow) {
1799
+ this.targetWindow.cancelAnimationFrame(this.rafId);
1800
+ this.rafId = null;
1801
+ }
1802
+ this.scrollState = null;
1803
+ this.scrollElement = null;
1804
+ this.targetWindow = null;
1805
+ };
1806
+ this._didMount = () => {
1807
+ return () => {
1808
+ this.cleanup();
1809
+ };
1810
+ };
1811
+ this._willUpdate = () => {
1812
+ var _a;
1813
+ const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;
1814
+ if (this.scrollElement !== scrollElement) {
1815
+ this.cleanup();
1816
+ if (!scrollElement) {
1817
+ this.maybeNotify();
1818
+ return;
1819
+ }
1820
+ this.scrollElement = scrollElement;
1821
+ if (this.scrollElement && "ownerDocument" in this.scrollElement) {
1822
+ this.targetWindow = this.scrollElement.ownerDocument.defaultView;
1823
+ } else {
1824
+ this.targetWindow = ((_a = this.scrollElement) == null ? undefined : _a.window) ?? null;
1825
+ }
1826
+ this.elementsCache.forEach((cached) => {
1827
+ this.observer.observe(cached);
1828
+ });
1829
+ this.unsubs.push(this.options.observeElementRect(this, (rect) => {
1830
+ this.scrollRect = rect;
1831
+ this.maybeNotify();
1832
+ }));
1833
+ this.unsubs.push(this.options.observeElementOffset(this, (offset, isScrolling) => {
1834
+ if (this._intendedScrollOffset !== null && Math.abs(offset - this._intendedScrollOffset) < 1.5) {
1835
+ offset = this._intendedScrollOffset;
1836
+ }
1837
+ this._intendedScrollOffset = null;
1838
+ this.scrollAdjustments = 0;
1839
+ this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null;
1840
+ this.scrollOffset = offset;
1841
+ this.isScrolling = isScrolling;
1842
+ this._flushIosDeferredIfReady();
1843
+ if (this.scrollState) {
1844
+ this.scheduleScrollReconcile();
1845
+ }
1846
+ this.maybeNotify();
1847
+ }));
1848
+ if ("addEventListener" in this.scrollElement) {
1849
+ const scrollEl = this.scrollElement;
1850
+ const onTouchStart = () => {
1851
+ this._iosTouching = true;
1852
+ this._iosJustTouchEnded = false;
1853
+ if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {
1854
+ this.targetWindow.clearTimeout(this._iosTouchEndTimerId);
1855
+ this._iosTouchEndTimerId = null;
1856
+ }
1857
+ };
1858
+ const onTouchEnd = () => {
1859
+ this._iosTouching = false;
1860
+ if (!isIOSWebKit() || this.targetWindow == null) {
1861
+ return;
1862
+ }
1863
+ this._iosJustTouchEnded = true;
1864
+ this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
1865
+ this._iosJustTouchEnded = false;
1866
+ this._iosTouchEndTimerId = null;
1867
+ this._flushIosDeferredIfReady();
1868
+ }, 150);
1869
+ };
1870
+ scrollEl.addEventListener("touchstart", onTouchStart, addEventListenerOptions);
1871
+ scrollEl.addEventListener("touchend", onTouchEnd, addEventListenerOptions);
1872
+ this.unsubs.push(() => {
1873
+ scrollEl.removeEventListener("touchstart", onTouchStart);
1874
+ scrollEl.removeEventListener("touchend", onTouchEnd);
1875
+ if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {
1876
+ this.targetWindow.clearTimeout(this._iosTouchEndTimerId);
1877
+ this._iosTouchEndTimerId = null;
1878
+ }
1879
+ });
1880
+ }
1881
+ this._scrollToOffset(this.getScrollOffset(), {
1882
+ adjustments: undefined,
1883
+ behavior: undefined
1884
+ });
1885
+ }
1886
+ const anchor = this.pendingScrollAnchor;
1887
+ this.pendingScrollAnchor = null;
1888
+ if (anchor && this.scrollElement && this.options.enabled) {
1889
+ const [key, _offset, followOnAppend, anchorDelta] = anchor;
1890
+ if (key !== null && !followOnAppend) {
1891
+ if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {
1892
+ if (anchorDelta !== 0) {
1893
+ this._iosDeferredAdjustment += anchorDelta;
1894
+ }
1895
+ } else {
1896
+ this._scrollToOffset(this.getScrollOffset(), {
1897
+ adjustments: undefined,
1898
+ behavior: undefined
1899
+ });
1900
+ }
1901
+ }
1902
+ if (followOnAppend) {
1903
+ this.scrollToEnd({ behavior: followOnAppend });
1904
+ }
1905
+ }
1906
+ };
1907
+ this._flushIosDeferredIfReady = () => {
1908
+ if (this._iosDeferredAdjustment === 0)
1909
+ return;
1910
+ if (this.isScrolling)
1911
+ return;
1912
+ if (this._iosTouching)
1913
+ return;
1914
+ if (this._iosJustTouchEnded)
1915
+ return;
1916
+ const cur = this.getScrollOffset();
1917
+ const max = this.getMaxScrollOffset();
1918
+ if (cur < 0 || cur > max)
1919
+ return;
1920
+ const delta = this._iosDeferredAdjustment;
1921
+ this._iosDeferredAdjustment = 0;
1922
+ this._scrollToOffset(cur, {
1923
+ adjustments: this.scrollAdjustments += delta,
1924
+ behavior: undefined
1925
+ });
1926
+ };
1927
+ this.rafId = null;
1928
+ this.getSize = () => {
1929
+ if (!this.options.enabled) {
1930
+ this.scrollRect = null;
1931
+ return 0;
1932
+ }
1933
+ this.scrollRect = this.scrollRect ?? this.options.initialRect;
1934
+ return this.scrollRect[this.options.horizontal ? "width" : "height"];
1935
+ };
1936
+ this.getScrollOffset = () => {
1937
+ if (!this.options.enabled) {
1938
+ this.scrollOffset = null;
1939
+ return 0;
1940
+ }
1941
+ this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset);
1942
+ return this.scrollOffset;
1943
+ };
1944
+ this.getFurthestMeasurement = (measurements, index) => {
1945
+ const furthestMeasurementsFound = /* @__PURE__ */ new Map;
1946
+ const furthestMeasurements = /* @__PURE__ */ new Map;
1947
+ for (let m = index - 1;m >= 0; m--) {
1948
+ const measurement = measurements[m];
1949
+ if (furthestMeasurementsFound.has(measurement.lane)) {
1950
+ continue;
1951
+ }
1952
+ const previousFurthestMeasurement = furthestMeasurements.get(measurement.lane);
1953
+ if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {
1954
+ furthestMeasurements.set(measurement.lane, measurement);
1955
+ } else if (measurement.end < previousFurthestMeasurement.end) {
1956
+ furthestMeasurementsFound.set(measurement.lane, true);
1957
+ }
1958
+ if (furthestMeasurementsFound.size === this.options.lanes) {
1959
+ break;
1960
+ }
1961
+ }
1962
+ return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {
1963
+ if (a.end === b.end) {
1964
+ return a.index - b.index;
1965
+ }
1966
+ return a.end - b.end;
1967
+ })[0] : undefined;
1968
+ };
1969
+ this.getMeasurementOptions = memo(() => [
1970
+ this.options.count,
1971
+ this.options.paddingStart,
1972
+ this.options.scrollMargin,
1973
+ this.options.getItemKey,
1974
+ this.options.enabled,
1975
+ this.options.lanes,
1976
+ this.options.laneAssignmentMode
1977
+ ], (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode) => {
1978
+ const lanesChanged = this.prevLanes !== undefined && this.prevLanes !== lanes;
1979
+ if (lanesChanged) {
1980
+ this.lanesChangedFlag = true;
1981
+ }
1982
+ this.prevLanes = lanes;
1983
+ this.pendingMin = null;
1984
+ return {
1985
+ count,
1986
+ paddingStart,
1987
+ scrollMargin,
1988
+ getItemKey,
1989
+ enabled,
1990
+ lanes,
1991
+ laneAssignmentMode
1992
+ };
1993
+ }, {
1994
+ key: false
1995
+ });
1996
+ this.getMeasurements = memo(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({
1997
+ count,
1998
+ paddingStart,
1999
+ scrollMargin,
2000
+ getItemKey,
2001
+ enabled,
2002
+ lanes,
2003
+ laneAssignmentMode
2004
+ }, _itemSizeCacheVersion) => {
2005
+ const itemSizeCache = this.itemSizeCache;
2006
+ if (!enabled) {
2007
+ this.measurementsCache = [];
2008
+ this.itemSizeCache.clear();
2009
+ this.laneAssignments.clear();
2010
+ return [];
2011
+ }
2012
+ if (this.laneAssignments.size > count) {
2013
+ for (const index of this.laneAssignments.keys()) {
2014
+ if (index >= count) {
2015
+ this.laneAssignments.delete(index);
2016
+ }
2017
+ }
2018
+ }
2019
+ if (this.lanesChangedFlag) {
2020
+ this.lanesChangedFlag = false;
2021
+ this.lanesSettling = true;
2022
+ this.measurementsCache = [];
2023
+ this.itemSizeCache.clear();
2024
+ this.laneAssignments.clear();
2025
+ this.pendingMin = null;
2026
+ }
2027
+ if (this.measurementsCache.length === 0 && !this.lanesSettling) {
2028
+ this.measurementsCache = this.options.initialMeasurementsCache;
2029
+ this.measurementsCache.forEach((item) => {
2030
+ this.itemSizeCache.set(item.key, item.size);
2031
+ });
2032
+ }
2033
+ const min = this.lanesSettling ? 0 : this.pendingMin ?? 0;
2034
+ this.pendingMin = null;
2035
+ if (this.lanesSettling && this.measurementsCache.length === count) {
2036
+ this.lanesSettling = false;
2037
+ }
2038
+ if (lanes === 1) {
2039
+ const gap = this.options.gap;
2040
+ const need = count * 2;
2041
+ let flat = this._flatMeasurements;
2042
+ if (!flat || flat.length < need) {
2043
+ const next = new Float64Array(need);
2044
+ if (flat && min > 0)
2045
+ next.set(flat.subarray(0, min * 2));
2046
+ flat = next;
2047
+ this._flatMeasurements = flat;
2048
+ }
2049
+ let runningStart;
2050
+ if (min === 0) {
2051
+ runningStart = paddingStart + scrollMargin;
2052
+ } else {
2053
+ const prevIdx = min - 1;
2054
+ runningStart = flat[prevIdx * 2] + flat[prevIdx * 2 + 1] + gap;
2055
+ }
2056
+ for (let i = min;i < count; i++) {
2057
+ const key = getItemKey(i);
2058
+ const measuredSize = itemSizeCache.get(key);
2059
+ const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
2060
+ flat[i * 2] = runningStart;
2061
+ flat[i * 2 + 1] = size;
2062
+ runningStart += size + gap;
2063
+ }
2064
+ const view = createLazyMeasurementsView(count, flat, getItemKey);
2065
+ this.measurementsCache = view;
2066
+ return view;
2067
+ }
2068
+ const measurements = this.measurementsCache.slice(0, min);
2069
+ const laneLastIndex = new Array(lanes).fill(undefined);
2070
+ for (let m = 0;m < min; m++) {
2071
+ const item = measurements[m];
2072
+ if (item) {
2073
+ laneLastIndex[item.lane] = m;
2074
+ }
2075
+ }
2076
+ for (let i = min;i < count; i++) {
2077
+ const key = getItemKey(i);
2078
+ const cachedLane = this.laneAssignments.get(i);
2079
+ let lane;
2080
+ let start;
2081
+ const shouldCacheLane = laneAssignmentMode === "estimate" || itemSizeCache.has(key);
2082
+ if (cachedLane !== undefined && this.options.lanes > 1) {
2083
+ lane = cachedLane;
2084
+ const prevIndex = laneLastIndex[lane];
2085
+ const prevInLane = prevIndex !== undefined ? measurements[prevIndex] : undefined;
2086
+ start = prevInLane ? prevInLane.end + this.options.gap : paddingStart + scrollMargin;
2087
+ } else {
2088
+ const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);
2089
+ start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;
2090
+ lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;
2091
+ if (this.options.lanes > 1 && shouldCacheLane) {
2092
+ this.laneAssignments.set(i, lane);
2093
+ }
2094
+ }
2095
+ const measuredSize = itemSizeCache.get(key);
2096
+ const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
2097
+ const end = start + size;
2098
+ measurements[i] = {
2099
+ index: i,
2100
+ start,
2101
+ size,
2102
+ end,
2103
+ key,
2104
+ lane
2105
+ };
2106
+ laneLastIndex[lane] = i;
2107
+ }
2108
+ this.measurementsCache = measurements;
2109
+ return measurements;
2110
+ }, {
2111
+ key: "getMeasurements",
2112
+ debug: () => this.options.debug
2113
+ });
2114
+ this.calculateRange = memo(() => [
2115
+ this.getMeasurements(),
2116
+ this.getSize(),
2117
+ this.getScrollOffset(),
2118
+ this.options.lanes
2119
+ ], (measurements, outerSize, scrollOffset, lanes) => {
2120
+ return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
2121
+ measurements,
2122
+ outerSize,
2123
+ scrollOffset,
2124
+ lanes,
2125
+ flat: lanes === 1 && this._flatMeasurements != null ? this._flatMeasurements : null
2126
+ }) : null;
2127
+ }, {
2128
+ key: "calculateRange",
2129
+ debug: () => this.options.debug
2130
+ });
2131
+ this.getVirtualIndexes = memo(() => {
2132
+ let startIndex = null;
2133
+ let endIndex = null;
2134
+ const range = this.calculateRange();
2135
+ if (range) {
2136
+ startIndex = range.startIndex;
2137
+ endIndex = range.endIndex;
2138
+ }
2139
+ this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);
2140
+ return [
2141
+ this.options.rangeExtractor,
2142
+ this.options.overscan,
2143
+ this.options.count,
2144
+ startIndex,
2145
+ endIndex
2146
+ ];
2147
+ }, (rangeExtractor, overscan, count, startIndex, endIndex) => {
2148
+ return startIndex === null || endIndex === null ? [] : rangeExtractor({
2149
+ startIndex,
2150
+ endIndex,
2151
+ overscan,
2152
+ count
2153
+ });
2154
+ }, {
2155
+ key: "getVirtualIndexes",
2156
+ debug: () => this.options.debug
2157
+ });
2158
+ this.indexFromElement = (node) => {
2159
+ const attributeName = this.options.indexAttribute;
2160
+ const indexStr = node.getAttribute(attributeName);
2161
+ if (!indexStr) {
2162
+ console.warn(`Missing attribute name '${attributeName}={index}' on measured element.`);
2163
+ return -1;
2164
+ }
2165
+ return parseInt(indexStr, 10);
2166
+ };
2167
+ this.shouldMeasureDuringScroll = (index) => {
2168
+ var _a;
2169
+ if (!this.scrollState || this.scrollState.behavior !== "smooth") {
2170
+ return true;
2171
+ }
2172
+ const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? undefined : _a.index);
2173
+ if (scrollIndex !== undefined && this.range) {
2174
+ const bufferSize = Math.max(this.options.overscan, Math.ceil((this.range.endIndex - this.range.startIndex) / 2));
2175
+ const minIndex = Math.max(0, scrollIndex - bufferSize);
2176
+ const maxIndex = Math.min(this.options.count - 1, scrollIndex + bufferSize);
2177
+ return index >= minIndex && index <= maxIndex;
2178
+ }
2179
+ return true;
2180
+ };
2181
+ this.measureElement = (node) => {
2182
+ if (!node) {
2183
+ this.elementsCache.forEach((cached, key2) => {
2184
+ if (!cached.isConnected) {
2185
+ this.observer.unobserve(cached);
2186
+ this.elementsCache.delete(key2);
2187
+ }
2188
+ });
2189
+ return;
2190
+ }
2191
+ const index = this.indexFromElement(node);
2192
+ const key = this.options.getItemKey(index);
2193
+ const prevNode = this.elementsCache.get(key);
2194
+ if (prevNode !== node) {
2195
+ if (prevNode) {
2196
+ this.observer.unobserve(prevNode);
2197
+ }
2198
+ this.observer.observe(node);
2199
+ this.elementsCache.set(key, node);
2200
+ }
2201
+ if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) {
2202
+ this.resizeItem(index, this.options.measureElement(node, undefined, this));
2203
+ }
2204
+ };
2205
+ this.resizeItem = (index, size) => {
2206
+ var _a, _b;
2207
+ if (index < 0 || index >= this.options.count)
2208
+ return;
2209
+ let cachedSize;
2210
+ let itemStart;
2211
+ let key;
2212
+ const flat = this._flatMeasurements;
2213
+ if (this.options.lanes === 1 && flat !== null) {
2214
+ key = this.options.getItemKey(index);
2215
+ itemStart = flat[index * 2];
2216
+ cachedSize = flat[index * 2 + 1];
2217
+ } else {
2218
+ const item = this.measurementsCache[index];
2219
+ if (!item)
2220
+ return;
2221
+ key = item.key;
2222
+ itemStart = item.start;
2223
+ cachedSize = item.size;
2224
+ }
2225
+ const itemSize = this.itemSizeCache.get(key) ?? cachedSize;
2226
+ const delta = size - itemSize;
2227
+ if (delta !== 0) {
2228
+ const wasAtEnd = this.options.anchorTo === "end" && ((_a = this.scrollState) == null ? undefined : _a.behavior) !== "smooth" && this.getVirtualDistanceFromEnd() <= this.options.scrollEndThreshold;
2229
+ const prevTotalSize = wasAtEnd ? this.getTotalSize() : 0;
2230
+ const shouldAdjustScroll = ((_b = this.scrollState) == null ? undefined : _b.behavior) !== "smooth" && (this.shouldAdjustScrollPositionOnItemSizeChange !== undefined ? this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[index] ?? {
2231
+ index,
2232
+ key,
2233
+ start: itemStart,
2234
+ size: cachedSize,
2235
+ end: itemStart + cachedSize,
2236
+ lane: 0
2237
+ }, delta, this) : itemStart < this.getScrollOffset() + this.scrollAdjustments && (!this.itemSizeCache.has(key) || this.scrollDirection !== "backward"));
2238
+ if (this.pendingMin === null || index < this.pendingMin) {
2239
+ this.pendingMin = index;
2240
+ }
2241
+ this.itemSizeCache.set(key, size);
2242
+ this.itemSizeCacheVersion++;
2243
+ if (wasAtEnd) {
2244
+ this.applyScrollAdjustment(this.getTotalSize() - prevTotalSize);
2245
+ } else if (shouldAdjustScroll) {
2246
+ this.applyScrollAdjustment(delta);
2247
+ }
2248
+ this.notify(false);
2249
+ }
2250
+ };
2251
+ this.getVirtualItems = memo(() => [this.getVirtualIndexes(), this.getMeasurements()], (indexes, measurements) => {
2252
+ const virtualItems = [];
2253
+ for (let k = 0, len = indexes.length;k < len; k++) {
2254
+ const i = indexes[k];
2255
+ const measurement = measurements[i];
2256
+ virtualItems.push(measurement);
2257
+ }
2258
+ return virtualItems;
2259
+ }, {
2260
+ key: "getVirtualItems",
2261
+ debug: () => this.options.debug
2262
+ });
2263
+ this.getVirtualItemForOffset = (offset) => {
2264
+ const measurements = this.getMeasurements();
2265
+ if (measurements.length === 0) {
2266
+ return;
2267
+ }
2268
+ const flat = this._flatMeasurements;
2269
+ const useFlat = this.options.lanes === 1 && flat != null;
2270
+ const idx = findNearestBinarySearch(0, measurements.length - 1, useFlat ? (i) => flat[i * 2] : (i) => notUndefined(measurements[i]).start, offset);
2271
+ return notUndefined(measurements[idx]);
2272
+ };
2273
+ this.getMaxScrollOffset = () => {
2274
+ if (!this.scrollElement)
2275
+ return 0;
2276
+ if ("scrollHeight" in this.scrollElement) {
2277
+ return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
2278
+ } else {
2279
+ const doc = this.scrollElement.document.documentElement;
2280
+ return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;
2281
+ }
2282
+ };
2283
+ this.getVirtualDistanceFromEnd = () => {
2284
+ return Math.max(this.getTotalSize() - this.getSize() - this.getScrollOffset(), 0);
2285
+ };
2286
+ this.getDistanceFromEnd = () => {
2287
+ return Math.max(this.getMaxScrollOffset() - this.getScrollOffset(), 0);
2288
+ };
2289
+ this.isAtEnd = (threshold = this.options.scrollEndThreshold) => {
2290
+ return this.getDistanceFromEnd() <= threshold;
2291
+ };
2292
+ this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {
2293
+ if (!this.scrollElement)
2294
+ return 0;
2295
+ const size = this.getSize();
2296
+ const scrollOffset = this.getScrollOffset();
2297
+ if (align === "auto") {
2298
+ align = toOffset >= scrollOffset + size ? "end" : "start";
2299
+ }
2300
+ if (align === "center") {
2301
+ toOffset += (itemSize - size) / 2;
2302
+ } else if (align === "end") {
2303
+ toOffset -= size;
2304
+ }
2305
+ const maxOffset = this.getMaxScrollOffset();
2306
+ return Math.max(Math.min(maxOffset, toOffset), 0);
2307
+ };
2308
+ this.getOffsetForIndex = (index, align = "auto") => {
2309
+ index = Math.max(0, Math.min(index, this.options.count - 1));
2310
+ const size = this.getSize();
2311
+ const scrollOffset = this.getScrollOffset();
2312
+ const item = this.measurementsCache[index];
2313
+ if (!item)
2314
+ return;
2315
+ if (align === "auto") {
2316
+ if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {
2317
+ align = "end";
2318
+ } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {
2319
+ align = "start";
2320
+ } else {
2321
+ return [scrollOffset, align];
2322
+ }
2323
+ }
2324
+ if (align === "end" && index === this.options.count - 1) {
2325
+ return [this.getMaxScrollOffset(), align];
2326
+ }
2327
+ const toOffset = align === "end" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;
2328
+ return [
2329
+ this.getOffsetForAlignment(toOffset, align, item.size),
2330
+ align
2331
+ ];
2332
+ };
2333
+ this.scrollToOffset = (toOffset, { align = "start", behavior = "auto" } = {}) => {
2334
+ const offset = this.getOffsetForAlignment(toOffset, align);
2335
+ const now = this.now();
2336
+ this.scrollState = {
2337
+ index: null,
2338
+ align,
2339
+ behavior,
2340
+ startedAt: now,
2341
+ lastTargetOffset: offset,
2342
+ stableFrames: 0
2343
+ };
2344
+ this._scrollToOffset(offset, { adjustments: undefined, behavior });
2345
+ this.scheduleScrollReconcile();
2346
+ };
2347
+ this.scrollToIndex = (index, {
2348
+ align: initialAlign = "auto",
2349
+ behavior = "auto"
2350
+ } = {}) => {
2351
+ index = Math.max(0, Math.min(index, this.options.count - 1));
2352
+ const offsetInfo = this.getOffsetForIndex(index, initialAlign);
2353
+ if (!offsetInfo) {
2354
+ return;
2355
+ }
2356
+ const [offset, align] = offsetInfo;
2357
+ const now = this.now();
2358
+ this.scrollState = {
2359
+ index,
2360
+ align,
2361
+ behavior,
2362
+ startedAt: now,
2363
+ lastTargetOffset: offset,
2364
+ stableFrames: 0
2365
+ };
2366
+ this._scrollToOffset(offset, { adjustments: undefined, behavior });
2367
+ this.scheduleScrollReconcile();
2368
+ };
2369
+ this.scrollBy = (delta, { behavior = "auto" } = {}) => {
2370
+ const offset = this.getScrollOffset() + delta;
2371
+ const now = this.now();
2372
+ this.scrollState = {
2373
+ index: null,
2374
+ align: "start",
2375
+ behavior,
2376
+ startedAt: now,
2377
+ lastTargetOffset: offset,
2378
+ stableFrames: 0
2379
+ };
2380
+ this._scrollToOffset(offset, { adjustments: undefined, behavior });
2381
+ this.scheduleScrollReconcile();
2382
+ };
2383
+ this.scrollToEnd = ({ behavior = "auto" } = {}) => {
2384
+ if (this.options.count > 0) {
2385
+ this.scrollToIndex(this.options.count - 1, {
2386
+ align: "end",
2387
+ behavior
2388
+ });
2389
+ return;
2390
+ }
2391
+ this.scrollToOffset(Math.max(this.getTotalSize() - this.getSize(), 0), {
2392
+ behavior
2393
+ });
2394
+ };
2395
+ this.getTotalSize = () => {
2396
+ var _a;
2397
+ const measurements = this.getMeasurements();
2398
+ let end;
2399
+ if (measurements.length === 0) {
2400
+ end = this.options.paddingStart;
2401
+ } else if (this.options.lanes === 1) {
2402
+ const lastIdx = measurements.length - 1;
2403
+ const flat = this._flatMeasurements;
2404
+ if (flat != null) {
2405
+ end = flat[lastIdx * 2] + flat[lastIdx * 2 + 1];
2406
+ } else {
2407
+ end = ((_a = measurements[lastIdx]) == null ? undefined : _a.end) ?? 0;
2408
+ }
2409
+ } else {
2410
+ const endByLane = Array(this.options.lanes).fill(null);
2411
+ let endIndex = measurements.length - 1;
2412
+ while (endIndex >= 0 && endByLane.some((val) => val === null)) {
2413
+ const item = measurements[endIndex];
2414
+ if (endByLane[item.lane] === null) {
2415
+ endByLane[item.lane] = item.end;
2416
+ }
2417
+ endIndex--;
2418
+ }
2419
+ end = Math.max(...endByLane.filter((val) => val !== null));
2420
+ }
2421
+ return Math.max(end - this.options.scrollMargin + this.options.paddingEnd, 0);
2422
+ };
2423
+ this.takeSnapshot = () => {
2424
+ const snapshot = [];
2425
+ if (this.itemSizeCache.size === 0)
2426
+ return snapshot;
2427
+ const m = this.getMeasurements();
2428
+ for (const item of m) {
2429
+ if (item && this.itemSizeCache.has(item.key)) {
2430
+ snapshot.push({
2431
+ index: item.index,
2432
+ key: item.key,
2433
+ start: item.start,
2434
+ size: item.size,
2435
+ end: item.end,
2436
+ lane: item.lane
2437
+ });
2438
+ }
2439
+ }
2440
+ return snapshot;
2441
+ };
2442
+ this._scrollToOffset = (offset, {
2443
+ adjustments,
2444
+ behavior
2445
+ }) => {
2446
+ this._intendedScrollOffset = offset + (adjustments ?? 0);
2447
+ this.options.scrollToFn(offset, { behavior, adjustments }, this);
2448
+ };
2449
+ this.measure = () => {
2450
+ this.pendingMin = null;
2451
+ this.itemSizeCache.clear();
2452
+ this.laneAssignments.clear();
2453
+ this.itemSizeCacheVersion++;
2454
+ this.notify(false);
2455
+ };
2456
+ this.setOptions(opts);
2457
+ }
2458
+ applyScrollAdjustment(delta, behavior) {
2459
+ if (delta === 0)
2460
+ return;
2461
+ if (this.options.debug) {
2462
+ console.info("correction", delta);
2463
+ }
2464
+ if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {
2465
+ this._iosDeferredAdjustment += delta;
2466
+ } else {
2467
+ this._scrollToOffset(this.getScrollOffset(), {
2468
+ adjustments: this.scrollAdjustments += delta,
2469
+ behavior
2470
+ });
2471
+ }
2472
+ }
2473
+ scheduleScrollReconcile() {
2474
+ if (!this.targetWindow) {
2475
+ this.scrollState = null;
2476
+ return;
2477
+ }
2478
+ if (this.rafId != null)
2479
+ return;
2480
+ this.rafId = this.targetWindow.requestAnimationFrame(() => {
2481
+ this.rafId = null;
2482
+ this.reconcileScroll();
2483
+ });
2484
+ }
2485
+ reconcileScroll() {
2486
+ if (!this.scrollState)
2487
+ return;
2488
+ const el = this.scrollElement;
2489
+ if (!el)
2490
+ return;
2491
+ const MAX_RECONCILE_MS = 5000;
2492
+ if (this.now() - this.scrollState.startedAt > MAX_RECONCILE_MS) {
2493
+ this.scrollState = null;
2494
+ return;
2495
+ }
2496
+ const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : undefined;
2497
+ const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;
2498
+ const STABLE_FRAMES = 1;
2499
+ const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;
2500
+ if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {
2501
+ this.scrollState.stableFrames++;
2502
+ if (this.scrollState.stableFrames >= STABLE_FRAMES) {
2503
+ if (this.getScrollOffset() !== targetOffset) {
2504
+ this._scrollToOffset(targetOffset, {
2505
+ adjustments: undefined,
2506
+ behavior: "auto"
2507
+ });
2508
+ }
2509
+ this.scrollState = null;
2510
+ return;
2511
+ }
2512
+ } else {
2513
+ this.scrollState.stableFrames = 0;
2514
+ if (targetChanged) {
2515
+ const viewport = this.getSize() || 600;
2516
+ const distance = Math.abs(targetOffset - this.getScrollOffset());
2517
+ const keepSmooth = this.scrollState.behavior === "smooth" && distance > viewport;
2518
+ this.scrollState.lastTargetOffset = targetOffset;
2519
+ if (!keepSmooth) {
2520
+ this.scrollState.behavior = "auto";
2521
+ }
2522
+ this._scrollToOffset(targetOffset, {
2523
+ adjustments: undefined,
2524
+ behavior: keepSmooth ? "smooth" : "auto"
2525
+ });
2526
+ }
2527
+ }
2528
+ this.scheduleScrollReconcile();
2529
+ }
2530
+ }
2531
+ var findNearestBinarySearch = (low, high, getCurrentValue, value) => {
2532
+ while (low <= high) {
2533
+ const middle = (low + high) / 2 | 0;
2534
+ const currentValue = getCurrentValue(middle);
2535
+ if (currentValue < value) {
2536
+ low = middle + 1;
2537
+ } else if (currentValue > value) {
2538
+ high = middle - 1;
2539
+ } else {
2540
+ return middle;
2541
+ }
2542
+ }
2543
+ if (low > 0) {
2544
+ return low - 1;
2545
+ } else {
2546
+ return 0;
2547
+ }
2548
+ };
2549
+ function calculateRange({
2550
+ measurements,
2551
+ outerSize,
2552
+ scrollOffset,
2553
+ lanes,
2554
+ flat
2555
+ }) {
2556
+ const lastIndex = measurements.length - 1;
2557
+ const getStart = flat ? (index) => flat[index * 2] : (index) => measurements[index].start;
2558
+ const getEnd = flat ? (index) => flat[index * 2] + flat[index * 2 + 1] : (index) => measurements[index].end;
2559
+ if (measurements.length <= lanes) {
2560
+ return {
2561
+ startIndex: 0,
2562
+ endIndex: lastIndex
2563
+ };
2564
+ }
2565
+ let startIndex = findNearestBinarySearch(0, lastIndex, getStart, scrollOffset);
2566
+ let endIndex = startIndex;
2567
+ if (lanes === 1) {
2568
+ while (endIndex < lastIndex && getEnd(endIndex) < scrollOffset + outerSize) {
2569
+ endIndex++;
2570
+ }
2571
+ } else if (lanes > 1) {
2572
+ const endPerLane = Array(lanes).fill(0);
2573
+ while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {
2574
+ const item = measurements[endIndex];
2575
+ endPerLane[item.lane] = item.end;
2576
+ endIndex++;
2577
+ }
2578
+ const startPerLane = Array(lanes).fill(scrollOffset + outerSize);
2579
+ while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {
2580
+ const item = measurements[startIndex];
2581
+ startPerLane[item.lane] = item.start;
2582
+ startIndex--;
2583
+ }
2584
+ startIndex = Math.max(0, startIndex - startIndex % lanes);
2585
+ endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));
2586
+ }
2587
+ return { startIndex, endIndex };
2588
+ }
2589
+
2590
+ // src/_internal/use-virtualizer.svelte.ts
2591
+ import { createSubscriber } from "svelte/reactivity";
2592
+
2593
+ class TreeVirtualizer {
2594
+ options;
2595
+ #virtualizer = null;
2596
+ #scrollElement = null;
2597
+ #update = () => {};
2598
+ #subscribe;
2599
+ constructor(options) {
2600
+ this.options = options;
2601
+ this.#subscribe = createSubscriber((update) => {
2602
+ if (typeof window === "undefined")
2603
+ return;
2604
+ this.#update = update;
2605
+ this.#virtualizer = new Virtualizer(this.#buildOptions());
2606
+ const cleanup = this.#virtualizer._didMount();
2607
+ this.#virtualizer._willUpdate();
2608
+ update();
2609
+ return () => {
2610
+ cleanup();
2611
+ this.#virtualizer = null;
2612
+ };
2613
+ });
2614
+ }
2615
+ get virtualItems() {
2616
+ this.#subscribe();
2617
+ this.#syncOptions();
2618
+ const fallbackItems = this.#fallbackVirtualItems();
2619
+ const virtualizerItems = this.#virtualizer?.getVirtualItems();
2620
+ const items = this.#shouldUseFallbackVirtualItems(virtualizerItems, fallbackItems) ? fallbackItems : virtualizerItems ?? fallbackItems;
2621
+ return items.map((item) => ({ ...item }));
2622
+ }
2623
+ get totalSize() {
2624
+ this.#subscribe();
2625
+ this.#syncOptions();
2626
+ return this.#virtualizer?.getTotalSize() ?? this.options.getCount() * this.options.getEstimatedSize();
2627
+ }
2628
+ setScrollElement(element) {
2629
+ if (this.#scrollElement === element)
2630
+ return;
2631
+ this.#scrollElement = element;
2632
+ this.#syncOptions();
2633
+ this.#update();
2634
+ }
2635
+ scrollElement = (node) => {
2636
+ this.setScrollElement(node);
2637
+ return () => {
2638
+ if (this.#scrollElement === node) {
2639
+ this.setScrollElement(null);
2640
+ }
2641
+ };
2642
+ };
2643
+ measureElement = (node) => {
2644
+ this.#syncOptions();
2645
+ this.#virtualizer?.measureElement(node);
2646
+ return () => this.#virtualizer?.measureElement(null);
2647
+ };
2648
+ scrollToIndex(index, options = { align: "auto" }) {
2649
+ this.#subscribe();
2650
+ this.#syncOptions();
2651
+ const element = this.#getScrollElement();
2652
+ const shouldUseFallbackScroll = Boolean(element && (!this.#virtualizer || element.clientHeight === 0));
2653
+ this.#virtualizer?.scrollToIndex(index, options);
2654
+ if (!element || !shouldUseFallbackScroll)
2655
+ return;
2656
+ element.scrollTop = Math.max(0, index * Math.max(1, this.options.getEstimatedSize()));
2657
+ element.dispatchEvent(new Event("scroll"));
2658
+ }
2659
+ #syncOptions() {
2660
+ if (!this.#virtualizer)
2661
+ return;
2662
+ this.#virtualizer.setOptions(this.#buildOptions());
2663
+ this.#virtualizer._willUpdate();
2664
+ }
2665
+ #getScrollElement = () => this.#scrollElement ?? this.options.getScrollElement();
2666
+ #buildOptions() {
2667
+ return {
2668
+ count: this.options.getCount(),
2669
+ getScrollElement: this.#getScrollElement,
2670
+ getItemKey: this.options.getItemKey,
2671
+ estimateSize: () => this.options.getEstimatedSize(),
2672
+ overscan: this.#overscan(),
2673
+ initialRect: { width: 0, height: this.options.getInitialHeight() },
2674
+ observeElementRect: this.#observeElementRect,
2675
+ observeElementOffset: this.#observeElementOffset,
2676
+ scrollToFn: this.#scrollToOffset,
2677
+ measureElement: this.#measureElement,
2678
+ onChange: () => this.#update(),
2679
+ indexAttribute: "data-cinder-virtual-index"
2680
+ };
2681
+ }
2682
+ #scrollToOffset = (offset, { adjustments = 0, behavior }, instance) => {
2683
+ const element = instance.scrollElement;
2684
+ if (!element)
2685
+ return;
2686
+ const top = offset + adjustments;
2687
+ if (typeof element.scrollTo === "function") {
2688
+ element.scrollTo(behavior ? { top, behavior } : { top });
2689
+ return;
2690
+ }
2691
+ element.scrollTop = top;
2692
+ };
2693
+ #observeElementRect = (instance, callback) => {
2694
+ const element = instance.scrollElement;
2695
+ if (!element)
2696
+ return () => {};
2697
+ const notify = () => {
2698
+ const rect = element.getBoundingClientRect();
2699
+ callback({
2700
+ width: rect.width,
2701
+ height: rect.height || element.clientHeight || this.options.getInitialHeight()
2702
+ });
2703
+ };
2704
+ notify();
2705
+ if (typeof ResizeObserver === "undefined")
2706
+ return () => {};
2707
+ const observer = new ResizeObserver(notify);
2708
+ observer.observe(element);
2709
+ return () => observer.disconnect();
2710
+ };
2711
+ #measureElement = (element) => {
2712
+ const rect = element.getBoundingClientRect();
2713
+ return rect.height || this.options.getEstimatedSize();
2714
+ };
2715
+ #fallbackVirtualItems() {
2716
+ const count = this.options.getCount();
2717
+ if (count === 0)
2718
+ return [];
2719
+ const size = Math.max(1, this.options.getEstimatedSize());
2720
+ const overscan = this.#overscan();
2721
+ const scrollTop = this.#getScrollElement()?.scrollTop ?? 0;
2722
+ const visibleCount = Math.ceil(this.options.getInitialHeight() / size);
2723
+ const startIndex = Math.max(0, Math.floor(scrollTop / size) - overscan);
2724
+ const itemCount = Math.min(count - startIndex, visibleCount + overscan * 2);
2725
+ return Array.from({ length: itemCount }, (_, offset) => {
2726
+ const index = startIndex + offset;
2727
+ return {
2728
+ key: this.options.getItemKey(index),
2729
+ index,
2730
+ start: index * size,
2731
+ end: (index + 1) * size,
2732
+ size,
2733
+ lane: 0
2734
+ };
2735
+ });
2736
+ }
2737
+ #shouldUseFallbackVirtualItems(virtualizerItems, fallbackItems) {
2738
+ if (!virtualizerItems || fallbackItems.length === 0) {
2739
+ return false;
594
2740
  }
595
- return;
2741
+ if (virtualizerItems.length === 0)
2742
+ return true;
2743
+ const scrollTop = this.#getScrollElement()?.scrollTop ?? 0;
2744
+ if (scrollTop <= 0)
2745
+ return false;
2746
+ const firstVirtualizerIndex = virtualizerItems[0]?.index ?? 0;
2747
+ const firstFallbackIndex = fallbackItems[0]?.index ?? 0;
2748
+ return Math.abs(firstVirtualizerIndex - firstFallbackIndex) > 1;
2749
+ }
2750
+ #overscan() {
2751
+ return Math.max(0, this.options.getOverscan());
596
2752
  }
2753
+ #observeElementOffset = (instance, callback) => {
2754
+ const element = instance.scrollElement;
2755
+ if (!element)
2756
+ return () => {};
2757
+ const notify = () => {
2758
+ callback(element.scrollTop, true);
2759
+ this.#update();
2760
+ };
2761
+ callback(element.scrollTop, false);
2762
+ element.addEventListener("scroll", notify, { passive: true });
2763
+ return () => element.removeEventListener("scroll", notify);
2764
+ };
597
2765
  }
598
2766
 
599
2767
  // ../../node_modules/esm-env/true.js
@@ -652,64 +2820,468 @@ function toggleSelectionScope(selectedIds, targetIds, disabledIds = new Set) {
652
2820
  const targets = selectableIds(targetIds, disabledIds);
653
2821
  if (targets.length === 0)
654
2822
  return [...selectedIds];
655
- const state2 = selectionStateFor(selectedIds, targets);
656
- return state2.checked ? deselectIds(selectedIds, targets, disabledIds) : selectIds(selectedIds, targets, disabledIds);
2823
+ const state4 = selectionStateFor(selectedIds, targets);
2824
+ return state4.checked ? deselectIds(selectedIds, targets, disabledIds) : selectIds(selectedIds, targets, disabledIds);
657
2825
  }
658
2826
 
659
2827
  // src/components/tree/tree.svelte
660
- var root_1 = $4.from_html(`<div class="cinder-tree-root"><div class="cinder-tree__selection-controls"><!></div> <div role="tree" tabindex="-1"><!></div></div>`);
661
- var root_22 = $4.from_html(`<div role="tree" tabindex="-1"><!></div>`);
2828
+ var root_3 = $8.from_html(`<input type="checkbox" class="cinder-tree-item__checkbox" tabindex="-1" aria-hidden="true"/>`);
2829
+ var root_5 = $8.from_html(`<span class="cinder-tree-item__label cinder-_truncate"> </span>`);
2830
+ var root_2 = $8.from_html(`<div role="treeitem" class="cinder-tree-item cinder-tree-item--virtual" tabindex="-1"><div class="cinder-tree-item__row"><!> <!></div></div>`);
2831
+ var root_15 = $8.from_html(`<div class="cinder-tree__virtual-spacer"></div>`);
2832
+ var root_62 = $8.from_html(`<div><!></div>`);
2833
+ var root_102 = $8.from_html(`<div class="cinder-tree__filter"><label class="cinder-sr-only"> </label> <input class="cinder-tree__filter-input" type="search" autocomplete="off" autocorrect="off"/></div>`);
2834
+ var root_112 = $8.from_html(`<div class="cinder-tree__selection-controls"><!></div>`);
2835
+ var root_122 = $8.from_html(`<div class="cinder-sr-only">Press Control Shift Space to lift the focused item, or Space from the reorder handle. Use
2836
+ arrow keys to move. Press Space to drop, Escape to cancel.</div>`);
2837
+ var root_132 = $8.from_html(`<div class="cinder-tree__empty" role="none">No results</div>`);
2838
+ var root_92 = $8.from_html(`<div class="cinder-tree-root"><!> <!> <!> <!> <!> <!> <!></div>`);
2839
+ var root4 = $8.from_html(`<!> <!>`, 1);
662
2840
  function Tree($$anchor, $$props) {
663
- $4.push($$props, true);
664
- let selectionMode = $4.prop($$props, "selectionMode", 3, "none"), checkboxSelection = $4.prop($$props, "checkboxSelection", 3, false), selectionBehavior = $4.prop($$props, "selectionBehavior", 3, "independent"), selectedIds = $4.prop($$props, "selectedIds", 31, () => $4.proxy([])), expandedIds = $4.prop($$props, "expandedIds", 31, () => $4.proxy([])), disableTypeahead = $4.prop($$props, "disableTypeahead", 3, false);
2841
+ const generatedId = $8.props_id();
2842
+ $8.push($$props, true);
2843
+ const virtualizedRows = ($$anchor2) => {
2844
+ var div = root_15();
2845
+ $8.each(div, 21, () => $8.get(virtualRows), (row) => row.item.id, ($$anchor3, row) => {
2846
+ const virtualItem = $8.derived(() => $8.get(row).virtualItem);
2847
+ const item = $8.derived(() => $8.get(row).item);
2848
+ const itemSelectionState = $8.derived(() => selectionStateForId($8.get(item).id));
2849
+ var div_1 = root_2();
2850
+ var div_2 = $8.child(div_1);
2851
+ var node_1 = $8.child(div_2);
2852
+ {
2853
+ var consequent = ($$anchor4) => {
2854
+ var input = root_3();
2855
+ $8.remove_input_defaults(input);
2856
+ $8.attach(input, () => (node) => {
2857
+ $8.user_effect(() => {
2858
+ syncVirtualizedCheckboxElement(node, $8.get(item).id);
2859
+ });
2860
+ });
2861
+ $8.template_effect(() => {
2862
+ $8.set_checked(input, $8.get(itemSelectionState).checked);
2863
+ input.disabled = $8.get(item).disabled;
2864
+ });
2865
+ $8.delegated("click", input, (event2) => handleVirtualizedCheckboxClick($8.get(item), event2));
2866
+ $8.append($$anchor4, input);
2867
+ };
2868
+ var d = $8.derived(() => checkboxSelectionActive());
2869
+ $8.if(node_1, ($$render) => {
2870
+ if ($8.get(d))
2871
+ $$render(consequent);
2872
+ });
2873
+ }
2874
+ var node_2 = $8.sibling(node_1, 2);
2875
+ {
2876
+ var consequent_1 = ($$anchor4) => {
2877
+ var fragment = $8.comment();
2878
+ var node_3 = $8.first_child(fragment);
2879
+ {
2880
+ let $0 = $8.derived(() => ({
2881
+ item: $8.get(item),
2882
+ expanded: virtualizedItemExpanded($8.get(item)),
2883
+ selected: selectedIds().includes($8.get(item).id),
2884
+ focused: $8.get(effectiveFocusedId) === $8.get(item).id
2885
+ }));
2886
+ $8.snippet(node_3, () => $$props.virtualizedItem, () => $8.get($0));
2887
+ }
2888
+ $8.append($$anchor4, fragment);
2889
+ };
2890
+ var alternate = ($$anchor4) => {
2891
+ var span = root_5();
2892
+ var text2 = $8.child(span, true);
2893
+ $8.reset(span);
2894
+ $8.template_effect(() => $8.set_text(text2, $8.get(item).label));
2895
+ $8.append($$anchor4, span);
2896
+ };
2897
+ $8.if(node_2, ($$render) => {
2898
+ if ($$props.virtualizedItem)
2899
+ $$render(consequent_1);
2900
+ else
2901
+ $$render(alternate, -1);
2902
+ });
2903
+ }
2904
+ $8.reset(div_2);
2905
+ $8.reset(div_1);
2906
+ $8.attach(div_1, () => virtualizer.measureElement);
2907
+ $8.template_effect(($0, $1, $22, $32, $42, $52, $62) => {
2908
+ $8.set_attribute(div_1, "id", $0);
2909
+ $8.set_attribute(div_1, "aria-level", $8.get(item).level);
2910
+ $8.set_attribute(div_1, "aria-expanded", $1);
2911
+ $8.set_attribute(div_1, "aria-selected", $22);
2912
+ $8.set_attribute(div_1, "aria-checked", $32);
2913
+ $8.set_attribute(div_1, "aria-disabled", $8.get(item).disabled || undefined);
2914
+ $8.set_attribute(div_1, "aria-setsize", $8.get(item).setSize);
2915
+ $8.set_attribute(div_1, "aria-posinset", $8.get(item).posInSet);
2916
+ $8.set_attribute(div_1, "aria-label", $8.get(item).label);
2917
+ $8.set_attribute(div_1, "data-cinder-tree-item-id", $8.get(item).id);
2918
+ $8.set_attribute(div_1, "data-cinder-expanded", $42);
2919
+ $8.set_attribute(div_1, "data-cinder-selected", $52);
2920
+ $8.set_attribute(div_1, "data-cinder-disabled", $8.get(item).disabled ? "" : undefined);
2921
+ $8.set_attribute(div_1, "data-cinder-focused", $8.get(effectiveFocusedId) === $8.get(item).id ? "" : undefined);
2922
+ $8.set_attribute(div_1, "data-cinder-virtual-index", $8.get(virtualItem).index);
2923
+ $8.set_style(div_1, $62);
2924
+ $8.set_style(div_2, `padding-inline-start: ${$8.get(item).level * 1.25}rem;`);
2925
+ }, [
2926
+ () => virtualItemElementId($8.get(item)),
2927
+ () => $8.get(item).branch ? virtualizedItemExpanded($8.get(item)) : undefined,
2928
+ () => selectionMode() === "none" || checkboxSelectionActive() ? undefined : selectedIds().includes($8.get(item).id),
2929
+ () => ariaCheckedForSelectionState($8.get(itemSelectionState)),
2930
+ () => $8.get(item).branch && virtualizedItemExpanded($8.get(item)) ? "" : undefined,
2931
+ () => selectedIds().includes($8.get(item).id) ? "" : undefined,
2932
+ () => virtualizedRowStyle($8.get(virtualItem).start, $8.get(virtualItem).size)
2933
+ ]);
2934
+ $8.delegated("click", div_1, (event2) => handleVirtualizedItemClick($8.get(item), event2));
2935
+ $8.delegated("keydown", div_1, (event2) => handleVirtualizedItemKeydown($8.get(item), event2));
2936
+ $8.append($$anchor3, div_1);
2937
+ });
2938
+ $8.reset(div);
2939
+ $8.template_effect(($0) => $8.set_style(div, $0), [() => virtualizedSpacerStyle()]);
2940
+ $8.append($$anchor2, div);
2941
+ };
2942
+ const treeBody = ($$anchor2) => {
2943
+ var div_3 = root_62();
2944
+ $8.attribute_effect(div_3, ($0, $1, $22) => ({
2945
+ ...rest,
2946
+ id: $8.get(treeId),
2947
+ role: "tree",
2948
+ tabindex: $8.get(isVirtualizedTree) ? 0 : -1,
2949
+ class: $0,
2950
+ style: $1,
2951
+ "aria-label": $8.get(resolvedAriaLabel),
2952
+ "aria-labelledby": $8.get(resolvedAriaLabelledBy),
2953
+ "aria-activedescendant": $8.get(virtualizedActiveDescendantId),
2954
+ "aria-multiselectable": selectionMode() === "multiple" ? true : undefined,
2955
+ "aria-busy": $8.get(filterStatusBusy) || undefined,
2956
+ "data-cinder-checkbox-selection": $22,
2957
+ "data-cinder-virtualized": $8.get(isVirtualizedTree) ? "" : undefined,
2958
+ onkeydown: handleKeydown,
2959
+ onpointermove: handlePointerMove,
2960
+ onpointerup: handlePointerUp,
2961
+ onpointercancel: handlePointerCancel
2962
+ }), [
2963
+ () => classNames("cinder-tree", $$props.class),
2964
+ () => treeStyle(),
2965
+ () => checkboxSelectionActive() ? "" : undefined
2966
+ ]);
2967
+ var node_4 = $8.child(div_3);
2968
+ {
2969
+ var consequent_2 = ($$anchor3) => {
2970
+ virtualizedRows($$anchor3);
2971
+ };
2972
+ var alternate_1 = ($$anchor3) => {
2973
+ var fragment_2 = $8.comment();
2974
+ var node_5 = $8.first_child(fragment_2);
2975
+ $8.snippet(node_5, () => $$props.children ?? $8.noop);
2976
+ $8.append($$anchor3, fragment_2);
2977
+ };
2978
+ $8.if(node_4, ($$render) => {
2979
+ if ($8.get(isVirtualizedTree))
2980
+ $$render(consequent_2);
2981
+ else
2982
+ $$render(alternate_1, -1);
2983
+ });
2984
+ }
2985
+ $8.reset(div_3);
2986
+ $8.attach(div_3, () => virtualizer.scrollElement);
2987
+ $8.bind_this(div_3, ($$value) => $8.set(treeElement, $$value), () => $8.get(treeElement));
2988
+ $8.append($$anchor2, div_3);
2989
+ };
2990
+ let selectionMode = $8.prop($$props, "selectionMode", 3, "none"), checkboxSelection = $8.prop($$props, "checkboxSelection", 3, false), selectionBehavior = $8.prop($$props, "selectionBehavior", 3, "independent"), selectedIds = $8.prop($$props, "selectedIds", 31, () => $8.proxy([])), expandedIds = $8.prop($$props, "expandedIds", 31, () => $8.proxy([])), ref = $8.prop($$props, "ref", 15), virtualized = $8.prop($$props, "virtualized", 3, false), virtualizationEstimatedRowHeight = $8.prop($$props, "virtualizationEstimatedRowHeight", 3, 36), virtualizationOverscan = $8.prop($$props, "virtualizationOverscan", 3, 4), virtualizationHeight = $8.prop($$props, "virtualizationHeight", 3, "20rem"), disableTypeahead = $8.prop($$props, "disableTypeahead", 3, false), filterPlaceholder = $8.prop($$props, "filterPlaceholder", 3, "Search tree"), showSearch = $8.prop($$props, "showSearch", 3, false), filterPredicate = $8.prop($$props, "filterPredicate", 3, defaultFilterPredicate), rest = $8.rest_props($$props, [
2991
+ "$$slots",
2992
+ "$$events",
2993
+ "$$legacy",
2994
+ "selectionMode",
2995
+ "checkboxSelection",
2996
+ "selectionBehavior",
2997
+ "selectedIds",
2998
+ "expandedIds",
2999
+ "ref",
3000
+ "items",
3001
+ "virtualized",
3002
+ "virtualizationEstimatedRowHeight",
3003
+ "virtualizationOverscan",
3004
+ "virtualizationHeight",
3005
+ "virtualizedItem",
3006
+ "aria-label",
3007
+ "aria-labelledby",
3008
+ "disableTypeahead",
3009
+ "id",
3010
+ "class",
3011
+ "style",
3012
+ "selectionControls",
3013
+ "filterValue",
3014
+ "onFilterChange",
3015
+ "filterPlaceholder",
3016
+ "showSearch",
3017
+ "filterPredicate",
3018
+ "onReorder",
3019
+ "children"
3020
+ ]);
3021
+ function normalizeOptionalText(value) {
3022
+ const trimmedValue = value?.trim();
3023
+ return trimmedValue ? trimmedValue : undefined;
3024
+ }
3025
+ function defaultFilterPredicate(label, _id, query) {
3026
+ return label.toLowerCase().includes(query.toLowerCase());
3027
+ }
665
3028
  const registry = new TreeRegistry;
666
- let focusedId = $4.state(null);
667
- let selectionAnchorId = $4.state(null);
668
- let typeaheadBuffer = $4.state("");
3029
+ let focusedId = $8.state(null);
3030
+ let treeElement = $8.state(null);
3031
+ let filterInputElement = $8.state(null);
3032
+ let uncontrolledFilterValue = $8.state($8.proxy(untrack2(() => $$props.filterValue ?? "")));
3033
+ let filterStatusAnnouncement = $8.state("");
3034
+ let filterStatusAnnouncementSequence = $8.state(0);
3035
+ let filterStatusBusy = $8.state(false);
3036
+ let filterStatusTimer = null;
3037
+ let expansionAnnouncement = $8.state("");
3038
+ let expansionAnnouncementSequence = $8.state(0);
3039
+ let dragAnnouncement = $8.state("");
3040
+ let dragAnnouncementSequence = $8.state(0);
3041
+ let dragController = $8.state(null);
3042
+ let latestDragPointerX = 0;
3043
+ let latestDragPointerY = 0;
3044
+ let dragScrollElement = null;
3045
+ let dragScrollAnimationFrame = null;
3046
+ let selectionAnchorId = $8.state(null);
3047
+ let typeaheadBuffer = $8.state("");
669
3048
  let typeaheadTimer = null;
670
3049
  let hasWarnedNoLabel = false;
671
- $4.user_effect(() => {
672
- if (!$$props["aria-label"] && !$$props["aria-labelledby"] && !hasWarnedNoLabel) {
3050
+ let hasWarnedVirtualizedChildren = false;
3051
+ let hasWarnedVirtualizedWithoutItems = false;
3052
+ const resolvedAriaLabel = $8.derived(() => normalizeOptionalText($$props["aria-label"]));
3053
+ const resolvedAriaLabelledBy = $8.derived(() => normalizeOptionalText($$props["aria-labelledby"]));
3054
+ const resolvedFilterPlaceholder = $8.derived(() => normalizeOptionalText(filterPlaceholder()) ?? "Search tree");
3055
+ $8.user_effect(() => {
3056
+ if (!$8.get(resolvedAriaLabel) && !$8.get(resolvedAriaLabelledBy) && !hasWarnedNoLabel) {
673
3057
  hasWarnedNoLabel = true;
674
3058
  devWarn("[cinder-tree] Tree requires either aria-label or aria-labelledby.");
675
3059
  }
676
3060
  });
677
- $4.user_effect(() => {
3061
+ $8.user_effect(() => {
3062
+ if (virtualized() && $$props.children && !hasWarnedVirtualizedChildren) {
3063
+ hasWarnedVirtualizedChildren = true;
3064
+ devWarn("[cinder-tree] virtualized Tree uses the items prop; child snippets are ignored while virtualized is true.");
3065
+ }
3066
+ if (virtualized() && !$$props.items && !hasWarnedVirtualizedWithoutItems) {
3067
+ hasWarnedVirtualizedWithoutItems = true;
3068
+ devWarn("[cinder-tree] virtualized Tree requires the items prop.");
3069
+ }
3070
+ });
3071
+ $8.user_effect(() => {
678
3072
  return () => {
679
3073
  if (typeaheadTimer !== null) {
680
3074
  clearTimeout(typeaheadTimer);
681
3075
  typeaheadTimer = null;
682
3076
  }
3077
+ if (filterStatusTimer !== null) {
3078
+ clearTimeout(filterStatusTimer);
3079
+ filterStatusTimer = null;
3080
+ }
3081
+ stopDragAutoscroll();
683
3082
  };
684
3083
  });
685
- const visibleIds = $4.derived(() => registry.getVisible(expandedIds()));
686
- const initialFocusId = $4.derived(() => {
3084
+ const isFilterControlled = $8.derived(() => $$props.filterValue !== undefined);
3085
+ const currentFilterValue = $8.derived(() => $8.get(isFilterControlled) ? $$props.filterValue ?? "" : $8.get(uncontrolledFilterValue));
3086
+ const normalizedFilterValue = $8.derived(() => $8.get(currentFilterValue).trim());
3087
+ const filtering = $8.derived(() => $8.get(normalizedFilterValue).length > 0);
3088
+ const treeId = $8.derived(() => $$props.id ?? `${generatedId}-tree`);
3089
+ const filterInputId = $8.derived(() => `${generatedId}-filter`);
3090
+ const dragInstructionsId = $8.derived(() => `${generatedId}-drag-instructions`);
3091
+ const isVirtualizedTree = $8.derived(() => virtualized() && $$props.items != null);
3092
+ const flattenedDataItems = $8.derived(() => flattenTreeDataItems($$props.items ?? []));
3093
+ const flattenedDataItemById = $8.derived(() => new Map($8.get(flattenedDataItems).map((item) => [item.id, item])));
3094
+ const hasTreeChrome = $8.derived(() => $$props.selectionControls != null || showSearch() || $8.get(filtering) || $$props.onReorder != null);
3095
+ const hasRegisteredItems = $8.derived(() => $8.get(isVirtualizedTree) ? $8.get(flattenedDataItems).length > 0 : registry.size > 0);
3096
+ const activeVisibilityPredicate = $8.derived(() => {
3097
+ if (!$8.get(filtering))
3098
+ return;
3099
+ const query = $8.get(normalizedFilterValue);
3100
+ const predicate = filterPredicate();
3101
+ return ({ id, label }) => predicate(label, id, query);
3102
+ });
3103
+ const activeDataVisibilityPredicate = $8.derived(() => {
3104
+ if (!$8.get(filtering))
3105
+ return;
3106
+ const query = $8.get(normalizedFilterValue);
3107
+ const predicate = filterPredicate();
3108
+ return (item) => predicate(item.label, item.id, query);
3109
+ });
3110
+ const visibleDataItems = $8.derived(() => visibleTreeDataItems($8.get(flattenedDataItems), expandedIds(), $8.get(activeDataVisibilityPredicate)));
3111
+ const registryVisibleIds = $8.derived(() => registry.getVisible(expandedIds(), $8.get(activeVisibilityPredicate)));
3112
+ const visibleIds = $8.derived(() => $8.get(isVirtualizedTree) ? $8.get(visibleDataItems).map((item) => item.id) : $8.get(registryVisibleIds));
3113
+ const hasNoFilterResults = $8.derived(() => $8.get(filtering) && $8.get(hasRegisteredItems) && $8.get(visibleIds).length === 0);
3114
+ const visibleIdSet = $8.derived(() => new SvelteSet($8.get(visibleIds)));
3115
+ const expandableBranchIds = $8.derived(() => $8.get(isVirtualizedTree) ? $8.get(flattenedDataItems).filter((item) => item.branch).map((item) => item.id) : registry.getAllBranchIds({ bulkOnly: true }));
3116
+ const expandableBranchCount = $8.derived(() => $8.get(expandableBranchIds).length);
3117
+ const hasExpandedItems = $8.derived(() => expandedIds().length > 0);
3118
+ $8.user_effect(() => {
3119
+ if (filterStatusTimer !== null) {
3120
+ clearTimeout(filterStatusTimer);
3121
+ filterStatusTimer = null;
3122
+ }
3123
+ if (!$8.get(filtering)) {
3124
+ $8.set(filterStatusBusy, false);
3125
+ $8.set(filterStatusAnnouncement, "");
3126
+ return;
3127
+ }
3128
+ const query = $8.get(normalizedFilterValue);
3129
+ const resultCount = $8.get(visibleIds).length;
3130
+ $8.set(filterStatusBusy, true);
3131
+ filterStatusTimer = setTimeout(() => {
3132
+ $8.set(filterStatusAnnouncement, resultCount === 0 ? `No results for ${query}.` : `${resultCount} result${resultCount === 1 ? "" : "s"} found.`, true);
3133
+ $8.set(filterStatusAnnouncementSequence, $8.get(filterStatusAnnouncementSequence) + 1);
3134
+ $8.set(filterStatusBusy, false);
3135
+ filterStatusTimer = null;
3136
+ }, 500);
3137
+ });
3138
+ const initialFocusId = $8.derived(() => {
687
3139
  if (selectionMode() !== "none" && selectedIds().length > 0) {
688
- for (const id of $4.get(visibleIds)) {
3140
+ for (const id of $8.get(visibleIds)) {
689
3141
  if (selectedIds().includes(id))
690
3142
  return id;
691
3143
  }
692
3144
  }
693
- return $4.get(visibleIds)[0] ?? null;
3145
+ return $8.get(visibleIds)[0] ?? null;
694
3146
  });
695
3147
  function visibleFocusCandidate(id) {
696
- return id !== null && $4.get(visibleIds).includes(id) ? id : null;
3148
+ return id !== null && $8.get(visibleIds).includes(id) ? id : null;
697
3149
  }
698
- const effectiveFocusedId = $4.derived(() => {
699
- return visibleFocusCandidate($4.get(focusedId)) ?? visibleFocusCandidate($4.get(initialFocusId)) ?? $4.get(visibleIds)[0] ?? null;
3150
+ const effectiveFocusedId = $8.derived(() => {
3151
+ return visibleFocusCandidate($8.get(focusedId)) ?? visibleFocusCandidate($8.get(initialFocusId)) ?? $8.get(visibleIds)[0] ?? null;
3152
+ });
3153
+ $8.user_effect(() => {
3154
+ if ($8.get(focusedId) === null || $8.get(visibleIds).includes($8.get(focusedId)))
3155
+ return;
3156
+ $8.set(focusedId, $8.get(initialFocusId) ?? $8.get(visibleIds)[0] ?? null, true);
700
3157
  });
3158
+ const virtualizer = new TreeVirtualizer({
3159
+ getScrollElement: () => $8.get(treeElement),
3160
+ getCount: () => $8.get(visibleDataItems).length,
3161
+ getItemKey: (index) => $8.get(visibleDataItems)[index]?.id ?? index,
3162
+ getEstimatedSize: () => virtualizationEstimatedRowHeight(),
3163
+ getOverscan: () => virtualizationOverscan(),
3164
+ getInitialHeight: () => typeof virtualizationHeight() === "number" ? virtualizationHeight() : virtualizationEstimatedRowHeight() * 10
3165
+ });
3166
+ $8.user_effect(() => {
3167
+ virtualizer.setScrollElement($8.get(isVirtualizedTree) ? $8.get(treeElement) : null);
3168
+ });
3169
+ const virtualItems = $8.derived(() => virtualizer.virtualItems);
3170
+ const virtualizedActiveItem = $8.derived(() => $8.get(effectiveFocusedId) ? $8.get(flattenedDataItemById).get($8.get(effectiveFocusedId)) : undefined);
3171
+ const virtualizedActiveDescendantId = $8.derived(() => $8.get(isVirtualizedTree) && $8.get(virtualizedActiveItem) ? virtualItemElementId($8.get(virtualizedActiveItem)) : undefined);
3172
+ const virtualRows = $8.derived(() => {
3173
+ const rows = [];
3174
+ const renderedIndexes = new Set;
3175
+ for (const virtualItem of $8.get(virtualItems)) {
3176
+ const item = $8.get(visibleDataItems)[virtualItem.index];
3177
+ if (item) {
3178
+ renderedIndexes.add(virtualItem.index);
3179
+ rows.push({ virtualItem, item });
3180
+ }
3181
+ }
3182
+ if ($8.get(effectiveFocusedId)) {
3183
+ const focusedIndex = $8.get(visibleIds).indexOf($8.get(effectiveFocusedId));
3184
+ const focusedItem = $8.get(visibleDataItems)[focusedIndex];
3185
+ if (focusedItem && !renderedIndexes.has(focusedIndex)) {
3186
+ const size = virtualizationEstimatedRowHeight();
3187
+ rows.push({
3188
+ item: focusedItem,
3189
+ virtualItem: {
3190
+ key: focusedItem.id,
3191
+ index: focusedIndex,
3192
+ start: focusedIndex * size,
3193
+ end: (focusedIndex + 1) * size,
3194
+ size,
3195
+ lane: 0
3196
+ }
3197
+ });
3198
+ }
3199
+ }
3200
+ rows.sort((a, b) => a.virtualItem.index - b.virtualItem.index);
3201
+ return rows;
3202
+ });
3203
+ function virtualItemElementId(item) {
3204
+ return `${$8.get(treeId)}-item-${item.index}`;
3205
+ }
3206
+ function virtualizedHeightValue() {
3207
+ return typeof virtualizationHeight() === "number" ? `${virtualizationHeight()}px` : virtualizationHeight();
3208
+ }
3209
+ function virtualizedTreeStyle() {
3210
+ return `block-size: ${virtualizedHeightValue()}; overflow: auto; position: relative;`;
3211
+ }
3212
+ function treeStyle() {
3213
+ const forwardedStyle = $$props.style ?? undefined;
3214
+ if (!$8.get(isVirtualizedTree))
3215
+ return forwardedStyle;
3216
+ return forwardedStyle ? `${forwardedStyle}; ${virtualizedTreeStyle()}` : virtualizedTreeStyle();
3217
+ }
3218
+ function virtualizedSpacerStyle() {
3219
+ return `block-size: ${virtualizer.totalSize}px; position: relative; inline-size: 100%;`;
3220
+ }
3221
+ function virtualizedRowStyle(start, size) {
3222
+ return `position: absolute; inset-inline: 0; transform: translateY(${start}px); block-size: ${size}px;`;
3223
+ }
3224
+ function virtualizedItemExpanded(item) {
3225
+ return expandedIds().includes(item.id) || $8.get(filtering) && item.branch && $8.get(visibleDataItems).some((visibleItem) => visibleItem.id !== item.id && visibleItem.ancestorIds.includes(item.id));
3226
+ }
3227
+ function firstVisibleVirtualizedChildIndex(parentId) {
3228
+ return $8.get(visibleDataItems).findIndex((item) => item.parentId === parentId);
3229
+ }
3230
+ function focusFirstVirtualizedChild(parentId) {
3231
+ const index = firstVisibleVirtualizedChildIndex(parentId);
3232
+ if (index !== -1)
3233
+ focusVirtualIndex(index);
3234
+ }
701
3235
  function focusNode(id) {
702
- $4.set(focusedId, id, true);
3236
+ if ($8.get(isVirtualizedTree)) {
3237
+ const index = $8.get(visibleIds).indexOf(id);
3238
+ if (index !== -1)
3239
+ focusVirtualIndex(index);
3240
+ return;
3241
+ }
3242
+ $8.set(focusedId, id, true);
703
3243
  registry.getNode(id)?.focus();
704
3244
  }
3245
+ async function focusVirtualIndex(index) {
3246
+ const id = $8.get(visibleIds)[index];
3247
+ if (!id)
3248
+ return;
3249
+ virtualizer.scrollToIndex(index, { align: "auto" });
3250
+ await tick2();
3251
+ $8.set(focusedId, id, true);
3252
+ $8.get(treeElement)?.focus();
3253
+ }
3254
+ function announceExpansion(message) {
3255
+ $8.set(expansionAnnouncement, message, true);
3256
+ $8.set(expansionAnnouncementSequence, $8.get(expansionAnnouncementSequence) + 1);
3257
+ }
3258
+ function announceDrag(message) {
3259
+ $8.set(dragAnnouncement, message, true);
3260
+ $8.set(dragAnnouncementSequence, $8.get(dragAnnouncementSequence) + 1);
3261
+ }
3262
+ $8.user_effect(() => {
3263
+ if (!$$props.onReorder) {
3264
+ $8.set(dragController, null);
3265
+ return;
3266
+ }
3267
+ $8.set(dragController, $8.get(dragController) ?? new TreeDragController(untrack2(() => ({
3268
+ getVisibleIds: () => $8.get(visibleIds),
3269
+ getNode: (id) => registry.getNode(id),
3270
+ getParentId: (id) => registry.parentOf(id),
3271
+ isBranch: (id) => registry.getNode(id)?.isBranch() ?? false,
3272
+ focus: focusNode,
3273
+ announce: announceDrag,
3274
+ commit: (draggedId, target) => $$props.onReorder?.(draggedId, target)
3275
+ }))), true);
3276
+ });
705
3277
  function focusFallbackAfterUnregister(parentId) {
706
- const currentVisibleIds = registry.getVisible(expandedIds());
3278
+ const currentVisibleIds = registry.getVisible(expandedIds(), $8.get(activeVisibilityPredicate));
707
3279
  const selectedVisibleId = selectionMode() === "none" ? null : currentVisibleIds.find((id) => selectedIds().includes(id));
708
3280
  const fallbackId = (parentId && currentVisibleIds.includes(parentId) ? parentId : null) ?? selectedVisibleId ?? currentVisibleIds[0] ?? null;
709
3281
  if (fallbackId) {
710
3282
  focusNode(fallbackId);
711
3283
  } else {
712
- $4.set(focusedId, null);
3284
+ $8.set(focusedId, null);
713
3285
  }
714
3286
  }
715
3287
  function setExpandedInternal(id, next) {
@@ -721,18 +3293,123 @@ function Tree($$anchor, $$props) {
721
3293
  expandedIds(expandedIds().filter((existing) => existing !== id));
722
3294
  }
723
3295
  }
3296
+ function withExpandedIds(ids) {
3297
+ const nextIds = [...expandedIds()];
3298
+ const seen = new Set(nextIds);
3299
+ for (const id of ids) {
3300
+ if (!seen.has(id)) {
3301
+ seen.add(id);
3302
+ nextIds.push(id);
3303
+ }
3304
+ }
3305
+ return nextIds;
3306
+ }
3307
+ async function expandAll() {
3308
+ if ($8.get(isVirtualizedTree)) {
3309
+ const nextIds = withExpandedIds($8.get(expandableBranchIds));
3310
+ if (nextIds.length !== expandedIds().length) {
3311
+ expandedIds(nextIds);
3312
+ await tick2();
3313
+ announceExpansion("All items expanded.");
3314
+ }
3315
+ return;
3316
+ }
3317
+ let changed = false;
3318
+ while (true) {
3319
+ const nextIds = withExpandedIds(registry.getAllBranchIds({ bulkOnly: true }));
3320
+ if (nextIds.length === expandedIds().length)
3321
+ break;
3322
+ expandedIds(nextIds);
3323
+ changed = true;
3324
+ await tick2();
3325
+ }
3326
+ if (changed)
3327
+ announceExpansion("All items expanded.");
3328
+ }
3329
+ function collapseAll() {
3330
+ if (expandedIds().length === 0)
3331
+ return;
3332
+ expandedIds([]);
3333
+ announceExpansion("All items collapsed.");
3334
+ }
3335
+ function expandOneLevel() {
3336
+ const expandedIdSet = new Set(expandedIds());
3337
+ const visibleBranchIds = $8.get(isVirtualizedTree) ? $8.get(visibleDataItems).filter((item) => item.branch && item.ancestorIds.every((id) => expandedIdSet.has(id))).map((item) => item.id) : $8.get(visibleIds).filter((id) => registry.isBulkExpandableBranch(id) && registry.ancestorsOf(id).every((ancestorId) => expandedIdSet.has(ancestorId)));
3338
+ const nextIds = withExpandedIds(visibleBranchIds);
3339
+ if (nextIds.length === expandedIds().length)
3340
+ return;
3341
+ expandedIds(nextIds);
3342
+ announceExpansion("One tree level expanded.");
3343
+ }
3344
+ function focusItem(id) {
3345
+ if (!$8.get(visibleIds).includes(id))
3346
+ return;
3347
+ focusNode(id);
3348
+ }
3349
+ async function expandToItem(id) {
3350
+ if ($8.get(isVirtualizedTree)) {
3351
+ const item = $8.get(flattenedDataItemById).get(id);
3352
+ if (!item)
3353
+ return;
3354
+ const nextIds2 = withExpandedIds(item.ancestorIds);
3355
+ if (nextIds2.length !== expandedIds().length) {
3356
+ expandedIds(nextIds2);
3357
+ await tick2();
3358
+ }
3359
+ focusItem(id);
3360
+ return;
3361
+ }
3362
+ if (!registry.getNode(id))
3363
+ return;
3364
+ const nextIds = withExpandedIds(registry.ancestorsOf(id));
3365
+ if (nextIds.length !== expandedIds().length) {
3366
+ expandedIds(nextIds);
3367
+ await tick2();
3368
+ }
3369
+ focusItem(id);
3370
+ }
3371
+ function scrollToRow(id, options) {
3372
+ if ($8.get(isVirtualizedTree)) {
3373
+ const index = $8.get(visibleIds).indexOf(id);
3374
+ if (index !== -1) {
3375
+ virtualizer.scrollToIndex(index, {
3376
+ align: options?.block === "center" ? "center" : "auto",
3377
+ behavior: options?.behavior === "smooth" ? "smooth" : "auto"
3378
+ });
3379
+ }
3380
+ return;
3381
+ }
3382
+ registry.getNode(id)?.node.scrollIntoView(options ?? { block: "nearest" });
3383
+ }
724
3384
  function disabledIdsFor(ids) {
725
3385
  const disabledIds = new Set;
726
3386
  for (const id of ids) {
727
- if (registry.getNode(id)?.disabled)
3387
+ if ($8.get(isVirtualizedTree)) {
3388
+ if ($8.get(flattenedDataItemById).get(id)?.disabled)
3389
+ disabledIds.add(id);
3390
+ } else if (registry.getNode(id)?.disabled) {
728
3391
  disabledIds.add(id);
3392
+ }
729
3393
  }
730
3394
  return disabledIds;
731
3395
  }
732
3396
  function checkboxSelectionActive() {
733
3397
  return checkboxSelection() && selectionMode() === "multiple";
734
3398
  }
3399
+ function ariaCheckedForSelectionState(state5) {
3400
+ if (!checkboxSelectionActive())
3401
+ return;
3402
+ if (state5.indeterminate)
3403
+ return "mixed";
3404
+ return state5.checked ? "true" : "false";
3405
+ }
735
3406
  function selectionTargetsFor(id) {
3407
+ if ($8.get(isVirtualizedTree)) {
3408
+ const item = $8.get(flattenedDataItemById).get(id);
3409
+ if (!item)
3410
+ return [];
3411
+ return [id, ...descendantTreeDataIds($8.get(flattenedDataItems), id)];
3412
+ }
736
3413
  const node = registry.getNode(id);
737
3414
  if (!node)
738
3415
  return [];
@@ -741,8 +3418,11 @@ function Tree($$anchor, $$props) {
741
3418
  return [...explicitScopeIds];
742
3419
  return [id, ...registry.descendantsOf(id)];
743
3420
  }
3421
+ function childDataItemIds(parentId) {
3422
+ return $8.get(visibleDataItems).filter((item) => item.parentId === parentId).map((item) => item.id);
3423
+ }
744
3424
  function selectionTargetsForChildren(parentId, includeDescendants) {
745
- const childIds = registry.childrenOf(parentId);
3425
+ const childIds = $8.get(isVirtualizedTree) ? childDataItemIds(parentId) : registry.childrenOf(parentId);
746
3426
  if (!includeDescendants)
747
3427
  return childIds;
748
3428
  const targets = [];
@@ -760,9 +3440,22 @@ function Tree($$anchor, $$props) {
760
3440
  const disabledIds = disabledIdsFor(targets);
761
3441
  selectedIds(next === true ? selectIds(selectedIds(), targets, disabledIds) : next === false ? deselectIds(selectedIds(), targets, disabledIds) : toggleSelectionScope(selectedIds(), targets, disabledIds));
762
3442
  }
3443
+ function toggleSelectionScopeInternal(id) {
3444
+ if (selectionMode() !== "multiple")
3445
+ return;
3446
+ const disabled = $8.get(isVirtualizedTree) ? $8.get(flattenedDataItemById).get(id)?.disabled ?? true : registry.getNode(id)?.disabled ?? true;
3447
+ if (disabled)
3448
+ return;
3449
+ if (selectionBehavior() === "cascade") {
3450
+ applySelectionScope(selectionTargetsFor(id));
3451
+ } else {
3452
+ selectedIds(toggleIndependentId(selectedIds(), id, disabledIdsFor([id])));
3453
+ }
3454
+ $8.set(selectionAnchorId, id, true);
3455
+ }
763
3456
  function toggleSelectedInternal(id, event2) {
764
- const node = registry.getNode(id);
765
- if (!node || node.disabled)
3457
+ const disabled = $8.get(isVirtualizedTree) ? $8.get(flattenedDataItemById).get(id)?.disabled ?? true : registry.getNode(id)?.disabled ?? true;
3458
+ if (disabled)
766
3459
  return;
767
3460
  if (selectionMode() === "none")
768
3461
  return;
@@ -770,49 +3463,65 @@ function Tree($$anchor, $$props) {
770
3463
  const isMeta = event2 ? event2.metaKey || event2.ctrlKey : false;
771
3464
  if (selectionMode() === "single") {
772
3465
  selectedIds(selectedIds().includes(id) ? [] : [id]);
773
- $4.set(selectionAnchorId, id, true);
3466
+ $8.set(selectionAnchorId, id, true);
774
3467
  return;
775
3468
  }
776
- if (isShift && $4.get(selectionAnchorId)) {
777
- const anchorVisible = $4.get(visibleIds).includes($4.get(selectionAnchorId));
778
- const anchor = anchorVisible ? $4.get(selectionAnchorId) : id;
3469
+ if (isShift && $8.get(selectionAnchorId)) {
3470
+ const anchorVisible = $8.get(visibleIds).includes($8.get(selectionAnchorId));
3471
+ const anchor = anchorVisible ? $8.get(selectionAnchorId) : id;
779
3472
  if (!anchorVisible)
780
- $4.set(selectionAnchorId, id, true);
781
- const anchorIndex = $4.get(visibleIds).indexOf(anchor);
782
- const targetIndex = $4.get(visibleIds).indexOf(id);
3473
+ $8.set(selectionAnchorId, id, true);
3474
+ const anchorIndex = $8.get(visibleIds).indexOf(anchor);
3475
+ const targetIndex = $8.get(visibleIds).indexOf(id);
783
3476
  const start = Math.min(anchorIndex, targetIndex);
784
3477
  const end = Math.max(anchorIndex, targetIndex);
785
- const rangeIds = $4.get(visibleIds).slice(start, end + 1).filter((rangeId) => {
3478
+ const rangeIds = $8.get(visibleIds).slice(start, end + 1).filter((rangeId) => {
3479
+ if ($8.get(isVirtualizedTree))
3480
+ return !$8.get(flattenedDataItemById).get(rangeId)?.disabled;
786
3481
  const rangeNode = registry.getNode(rangeId);
787
3482
  return rangeNode && !rangeNode.disabled;
788
3483
  });
789
3484
  selectedIds(rangeIds);
790
3485
  } else if (isMeta) {
791
3486
  selectedIds(toggleIndependentId(selectedIds(), id));
792
- $4.set(selectionAnchorId, id, true);
3487
+ $8.set(selectionAnchorId, id, true);
793
3488
  } else {
794
3489
  if (selectionBehavior() === "cascade") {
795
3490
  applySelectionScope(selectionTargetsFor(id));
796
3491
  } else {
797
3492
  selectedIds(toggleIndependentId(selectedIds(), id));
798
3493
  }
799
- $4.set(selectionAnchorId, id, true);
3494
+ $8.set(selectionAnchorId, id, true);
800
3495
  }
801
3496
  }
802
3497
  function selectAll() {
803
3498
  if (selectionMode() !== "multiple")
804
3499
  return;
805
- const allVisibleTargets = $4.get(visibleIds).flatMap((id) => {
806
- const node = registry.getNode(id);
807
- if (!node || node.disabled)
3500
+ const allVisibleTargets = $8.get(visibleIds).flatMap((id) => {
3501
+ const disabled = $8.get(isVirtualizedTree) ? $8.get(flattenedDataItemById).get(id)?.disabled ?? true : registry.getNode(id)?.disabled ?? true;
3502
+ if (disabled)
808
3503
  return [];
809
3504
  return selectionBehavior() === "cascade" ? selectionTargetsFor(id) : [id];
810
3505
  });
811
3506
  const disabledIds = disabledIdsFor(allVisibleTargets);
812
3507
  selectedIds(selectIds(selectionBehavior() === "cascade" ? selectedIds() : [], allVisibleTargets, disabledIds));
813
3508
  if (allVisibleTargets.length > 0)
814
- $4.set(selectionAnchorId, allVisibleTargets[0], true);
3509
+ $8.set(selectionAnchorId, allVisibleTargets[0], true);
815
3510
  }
3511
+ const treeRef = {
3512
+ expandAll,
3513
+ collapseAll,
3514
+ expandOneLevel,
3515
+ focusItem,
3516
+ expandToItem,
3517
+ scrollToRow
3518
+ };
3519
+ $8.user_effect(() => {
3520
+ ref(treeRef);
3521
+ return () => {
3522
+ ref(undefined);
3523
+ };
3524
+ });
816
3525
  const context = {
817
3526
  get selectionMode() {
818
3527
  return selectionMode();
@@ -836,7 +3545,28 @@ function Tree($$anchor, $$props) {
836
3545
  return selectedIds();
837
3546
  },
838
3547
  get focusedId() {
839
- return $4.get(effectiveFocusedId);
3548
+ return $8.get(effectiveFocusedId);
3549
+ },
3550
+ get filtering() {
3551
+ return $8.get(filtering);
3552
+ },
3553
+ get filterValue() {
3554
+ return $8.get(normalizedFilterValue);
3555
+ },
3556
+ get hasRegisteredItems() {
3557
+ return $8.get(hasRegisteredItems);
3558
+ },
3559
+ get expandableBranchCount() {
3560
+ return $8.get(expandableBranchCount);
3561
+ },
3562
+ get hasExpandedItems() {
3563
+ return $8.get(hasExpandedItems);
3564
+ },
3565
+ get dragController() {
3566
+ return $8.get(dragController);
3567
+ },
3568
+ get dragInstructionsId() {
3569
+ return $8.get(dragInstructionsId);
840
3570
  },
841
3571
  isExpanded(id) {
842
3572
  return expandedIds().includes(id);
@@ -845,22 +3575,21 @@ function Tree($$anchor, $$props) {
845
3575
  return selectedIds().includes(id);
846
3576
  },
847
3577
  isFocused(id) {
848
- return $4.get(effectiveFocusedId) === id;
3578
+ return $8.get(effectiveFocusedId) === id;
3579
+ },
3580
+ isVisible(id) {
3581
+ return $8.get(visibleIdSet).has(id);
3582
+ },
3583
+ hasVisibleDescendant(id) {
3584
+ return registry.descendantsOf(id).some((descendantId) => $8.get(visibleIdSet).has(descendantId));
3585
+ },
3586
+ matchesFilter(label, id) {
3587
+ return $8.get(filtering) && filterPredicate()(label, id, $8.get(normalizedFilterValue));
849
3588
  },
850
3589
  checkboxSelectionActive,
851
3590
  selectionStateFor: selectionStateForId,
852
3591
  toggleSelectionScope(id) {
853
- if (selectionMode() !== "multiple")
854
- return;
855
- const node = registry.getNode(id);
856
- if (!node || node.disabled)
857
- return;
858
- if (selectionBehavior() === "cascade") {
859
- applySelectionScope(selectionTargetsFor(id));
860
- } else {
861
- selectedIds(toggleIndependentId(selectedIds(), id, disabledIdsFor([id])));
862
- }
863
- $4.set(selectionAnchorId, id, true);
3592
+ toggleSelectionScopeInternal(id);
864
3593
  },
865
3594
  selectSelectionScope(parentId, next, includeDescendants) {
866
3595
  if (selectionMode() !== "multiple")
@@ -875,32 +3604,45 @@ function Tree($$anchor, $$props) {
875
3604
  selectionTargetsFor,
876
3605
  selectionTargetsForChildren,
877
3606
  setExpanded: setExpandedInternal,
3607
+ expandAll,
3608
+ collapseAll,
3609
+ expandOneLevel,
3610
+ focusItem,
3611
+ expandToItem,
3612
+ scrollToRow,
878
3613
  toggleSelected: toggleSelectedInternal,
879
3614
  register(node) {
880
3615
  const unregister = registry.register(node);
881
3616
  return () => {
882
3617
  unregister();
883
- if ($4.get(focusedId) === node.id) {
3618
+ if ($8.get(focusedId) === node.id) {
884
3619
  focusFallbackAfterUnregister(node.parentId);
885
3620
  }
886
3621
  };
887
3622
  },
888
3623
  focusVisibleDelta(currentId, delta) {
889
- const index = $4.get(visibleIds).indexOf(currentId);
3624
+ const index = $8.get(visibleIds).indexOf(currentId);
890
3625
  if (index === -1)
891
3626
  return;
892
3627
  const nextIndex = index + delta;
893
- if (nextIndex < 0 || nextIndex >= $4.get(visibleIds).length)
3628
+ if (nextIndex < 0 || nextIndex >= $8.get(visibleIds).length)
894
3629
  return;
895
- focusNode($4.get(visibleIds)[nextIndex]);
3630
+ focusNode($8.get(visibleIds)[nextIndex]);
3631
+ },
3632
+ canFocusVisibleDelta(currentId, delta) {
3633
+ const index = $8.get(visibleIds).indexOf(currentId);
3634
+ if (index === -1)
3635
+ return false;
3636
+ const nextIndex = index + delta;
3637
+ return nextIndex >= 0 && nextIndex < $8.get(visibleIds).length;
896
3638
  },
897
3639
  focusFirstVisible() {
898
- if ($4.get(visibleIds).length > 0)
899
- focusNode($4.get(visibleIds)[0]);
3640
+ if ($8.get(visibleIds).length > 0)
3641
+ focusNode($8.get(visibleIds)[0]);
900
3642
  },
901
3643
  focusLastVisible() {
902
- if ($4.get(visibleIds).length > 0)
903
- focusNode($4.get(visibleIds)[$4.get(visibleIds).length - 1]);
3644
+ if ($8.get(visibleIds).length > 0)
3645
+ focusNode($8.get(visibleIds)[$8.get(visibleIds).length - 1]);
904
3646
  },
905
3647
  focusParent(currentId) {
906
3648
  const parentId = registry.parentOf(currentId);
@@ -908,7 +3650,7 @@ function Tree($$anchor, $$props) {
908
3650
  focusNode(parentId);
909
3651
  },
910
3652
  focusFirstChild(currentId) {
911
- const childId = registry.firstChildOf(currentId);
3653
+ const childId = registry.childrenOf(currentId).find((id) => $8.get(visibleIdSet).has(id));
912
3654
  if (childId)
913
3655
  focusNode(childId);
914
3656
  },
@@ -917,12 +3659,12 @@ function Tree($$anchor, $$props) {
917
3659
  return;
918
3660
  if (typeaheadTimer !== null)
919
3661
  clearTimeout(typeaheadTimer);
920
- $4.set(typeaheadBuffer, $4.get(typeaheadBuffer) + char);
921
- const match = registry.typeaheadMatch($4.get(typeaheadBuffer), currentId, expandedIds());
3662
+ $8.set(typeaheadBuffer, $8.get(typeaheadBuffer) + char);
3663
+ const match = registry.typeaheadMatch($8.get(typeaheadBuffer), currentId, expandedIds(), $8.get(activeVisibilityPredicate));
922
3664
  if (match)
923
3665
  focusNode(match);
924
3666
  typeaheadTimer = setTimeout(() => {
925
- $4.set(typeaheadBuffer, "");
3667
+ $8.set(typeaheadBuffer, "");
926
3668
  typeaheadTimer = null;
927
3669
  }, 500);
928
3670
  },
@@ -937,76 +3679,402 @@ function Tree($$anchor, $$props) {
937
3679
  }
938
3680
  },
939
3681
  notifyFocus(id) {
940
- $4.set(focusedId, id, true);
3682
+ $8.set(focusedId, id, true);
941
3683
  }
942
3684
  };
943
3685
  setTreeContextRaw(context);
944
3686
  setTreeItemParentContextRaw({ parentId: null, level: 1 });
945
3687
  function handleKeydown(event2) {
3688
+ if ($8.get(isVirtualizedTree) && handleVirtualizedKeydown(event2))
3689
+ return;
3690
+ if ((event2.metaKey || event2.ctrlKey) && event2.key === "a") {
3691
+ event2.preventDefault();
3692
+ selectAll();
3693
+ }
3694
+ if (event2.key === "Escape" && $8.get(dragController)?.dragging) {
3695
+ event2.preventDefault();
3696
+ $8.get(dragController).cancel();
3697
+ }
3698
+ }
3699
+ function currentVirtualIndex() {
3700
+ const index = $8.get(effectiveFocusedId) ? $8.get(visibleIds).indexOf($8.get(effectiveFocusedId)) : -1;
3701
+ return index === -1 ? 0 : index;
3702
+ }
3703
+ function focusVirtualDelta(delta) {
3704
+ const nextIndex = currentVirtualIndex() + delta;
3705
+ if (nextIndex < 0 || nextIndex >= $8.get(visibleIds).length)
3706
+ return;
3707
+ focusVirtualIndex(nextIndex);
3708
+ }
3709
+ function applyVirtualizedShiftSelection(currentId, event2) {
3710
+ if (!currentId || !event2.shiftKey || selectionMode() !== "multiple")
3711
+ return;
3712
+ toggleSelectedInternal(currentId, event2);
3713
+ }
3714
+ function expandVirtualizedSiblings(currentId) {
3715
+ const currentItem = currentId ? $8.get(flattenedDataItemById).get(currentId) : undefined;
3716
+ if (!currentItem)
3717
+ return;
3718
+ const siblingBranchIds = $8.get(flattenedDataItems).filter((item) => item.parentId === currentItem.parentId && item.branch).map((item) => item.id);
3719
+ const nextIds = withExpandedIds(siblingBranchIds);
3720
+ if (nextIds.length !== expandedIds().length)
3721
+ expandedIds(nextIds);
3722
+ }
3723
+ function handleVirtualizedKeydown(event2) {
946
3724
  if ((event2.metaKey || event2.ctrlKey) && event2.key === "a") {
947
3725
  event2.preventDefault();
948
3726
  selectAll();
3727
+ return true;
3728
+ }
3729
+ const currentId = $8.get(effectiveFocusedId);
3730
+ const currentItem = currentId ? $8.get(flattenedDataItemById).get(currentId) : undefined;
3731
+ switch (event2.key) {
3732
+ case "ArrowDown":
3733
+ event2.preventDefault();
3734
+ applyVirtualizedShiftSelection(currentId, event2);
3735
+ focusVirtualDelta(1);
3736
+ return true;
3737
+ case "ArrowUp":
3738
+ event2.preventDefault();
3739
+ applyVirtualizedShiftSelection(currentId, event2);
3740
+ focusVirtualDelta(-1);
3741
+ return true;
3742
+ case "Home":
3743
+ event2.preventDefault();
3744
+ focusVirtualIndex(0);
3745
+ return true;
3746
+ case "End":
3747
+ event2.preventDefault();
3748
+ focusVirtualIndex($8.get(visibleIds).length - 1);
3749
+ return true;
3750
+ case "ArrowRight":
3751
+ event2.preventDefault();
3752
+ if (!currentItem?.branch)
3753
+ return true;
3754
+ if (!virtualizedItemExpanded(currentItem)) {
3755
+ setExpandedInternal(currentItem.id, true);
3756
+ } else {
3757
+ focusFirstVirtualizedChild(currentItem.id);
3758
+ }
3759
+ return true;
3760
+ case "ArrowLeft":
3761
+ event2.preventDefault();
3762
+ if (currentItem?.branch && expandedIds().includes(currentItem.id)) {
3763
+ setExpandedInternal(currentItem.id, false);
3764
+ } else if (currentItem?.parentId) {
3765
+ focusNode(currentItem.parentId);
3766
+ }
3767
+ return true;
3768
+ case "Enter":
3769
+ case " ":
3770
+ if (!currentItem)
3771
+ return false;
3772
+ event2.preventDefault();
3773
+ activateVirtualizedItemFromKeyboard(currentItem, event2);
3774
+ return true;
3775
+ case "*":
3776
+ event2.preventDefault();
3777
+ expandVirtualizedSiblings(currentId);
3778
+ return true;
3779
+ default:
3780
+ return handleVirtualizedTypeahead(event2);
3781
+ }
3782
+ }
3783
+ function handleVirtualizedTypeahead(event2) {
3784
+ if (disableTypeahead() || event2.key.length !== 1 || event2.ctrlKey || event2.metaKey || event2.altKey) {
3785
+ return false;
3786
+ }
3787
+ event2.preventDefault();
3788
+ if (typeaheadTimer !== null)
3789
+ clearTimeout(typeaheadTimer);
3790
+ $8.set(typeaheadBuffer, $8.get(typeaheadBuffer) + event2.key.toLowerCase());
3791
+ const startIndex = currentVirtualIndex();
3792
+ for (let offset = 1;offset <= $8.get(visibleDataItems).length; offset++) {
3793
+ const index = (startIndex + offset) % $8.get(visibleDataItems).length;
3794
+ const item = $8.get(visibleDataItems)[index];
3795
+ if (item?.label.toLowerCase().startsWith($8.get(typeaheadBuffer))) {
3796
+ focusVirtualIndex(index);
3797
+ break;
3798
+ }
3799
+ }
3800
+ typeaheadTimer = setTimeout(() => {
3801
+ $8.set(typeaheadBuffer, "");
3802
+ typeaheadTimer = null;
3803
+ }, 500);
3804
+ return true;
3805
+ }
3806
+ function updateFilterValue(next) {
3807
+ if (!$8.get(isFilterControlled))
3808
+ $8.set(uncontrolledFilterValue, next, true);
3809
+ $$props.onFilterChange?.(next);
3810
+ }
3811
+ function handleFilterInput(event2) {
3812
+ const target = event2.currentTarget;
3813
+ updateFilterValue(target.value);
3814
+ }
3815
+ function handleFilterKeydown(event2) {
3816
+ if (event2.key === "ArrowDown") {
3817
+ event2.preventDefault();
3818
+ const firstVisibleId = $8.get(visibleIds)[0];
3819
+ if (firstVisibleId)
3820
+ focusNode(firstVisibleId);
3821
+ return;
3822
+ }
3823
+ if (event2.key === "Escape" && $8.get(currentFilterValue).length > 0) {
3824
+ event2.preventDefault();
3825
+ event2.stopPropagation();
3826
+ updateFilterValue("");
3827
+ $8.get(filterInputElement)?.focus();
3828
+ }
3829
+ }
3830
+ function pointerTargetElement(clientX, clientY, fallbackTarget) {
3831
+ if (typeof document !== "undefined") {
3832
+ const element = document.elementFromPoint(clientX, clientY);
3833
+ if (element instanceof HTMLElement)
3834
+ return element;
3835
+ }
3836
+ return fallbackTarget instanceof HTMLElement ? fallbackTarget : null;
3837
+ }
3838
+ function updateDragTargetFromPointer(clientX, clientY, fallbackTarget) {
3839
+ const element = pointerTargetElement(clientX, clientY, fallbackTarget);
3840
+ if (!element)
3841
+ return;
3842
+ $8.get(dragController)?.setDropTarget($8.get(dragController).targetFromPointer(clientY, element));
3843
+ }
3844
+ function stopDragAutoscroll() {
3845
+ if (dragScrollAnimationFrame !== null && typeof cancelAnimationFrame === "function") {
3846
+ cancelAnimationFrame(dragScrollAnimationFrame);
3847
+ }
3848
+ dragScrollAnimationFrame = null;
3849
+ dragScrollElement = null;
3850
+ }
3851
+ function scheduleDragAutoscroll() {
3852
+ if (dragScrollAnimationFrame !== null || !$8.get(dragController)?.pointerDragging || !dragScrollElement || typeof requestAnimationFrame !== "function") {
3853
+ return;
3854
+ }
3855
+ dragScrollAnimationFrame = requestAnimationFrame(() => {
3856
+ dragScrollAnimationFrame = null;
3857
+ const tree = dragScrollElement;
3858
+ if (!$8.get(dragController)?.pointerDragging || !tree)
3859
+ return;
3860
+ const rect = tree.getBoundingClientRect();
3861
+ const edge = 32;
3862
+ const speed = 8;
3863
+ const previousScrollTop = tree.scrollTop;
3864
+ if (latestDragPointerY - rect.top < edge) {
3865
+ tree.scrollTop -= speed;
3866
+ } else if (rect.bottom - latestDragPointerY < edge) {
3867
+ tree.scrollTop += speed;
3868
+ }
3869
+ if (tree.scrollTop === previousScrollTop)
3870
+ return;
3871
+ updateDragTargetFromPointer(latestDragPointerX, latestDragPointerY, tree);
3872
+ scheduleDragAutoscroll();
3873
+ });
3874
+ }
3875
+ function handlePointerMove(event2) {
3876
+ if (!$8.get(dragController)?.pointerDragging)
3877
+ return;
3878
+ event2.preventDefault();
3879
+ latestDragPointerX = event2.clientX;
3880
+ latestDragPointerY = event2.clientY;
3881
+ dragScrollElement = event2.currentTarget;
3882
+ updateDragTargetFromPointer(event2.clientX, event2.clientY, event2.target);
3883
+ scheduleDragAutoscroll();
3884
+ }
3885
+ function handlePointerUp(event2) {
3886
+ if (!$8.get(dragController)?.pointerDragging)
3887
+ return;
3888
+ event2.preventDefault();
3889
+ stopDragAutoscroll();
3890
+ $8.get(dragController).drop();
3891
+ }
3892
+ function handlePointerCancel() {
3893
+ if (!$8.get(dragController)?.pointerDragging)
3894
+ return;
3895
+ stopDragAutoscroll();
3896
+ $8.get(dragController).cancel();
3897
+ }
3898
+ function handleVirtualizedItemClick(item, event2) {
3899
+ $8.set(focusedId, item.id, true);
3900
+ $8.get(treeElement)?.focus();
3901
+ if (event2.detail > 1)
3902
+ return;
3903
+ if (!item.disabled)
3904
+ toggleSelectedInternal(item.id, event2);
3905
+ if (item.branch && !event2.shiftKey && !event2.metaKey && !event2.ctrlKey) {
3906
+ setExpandedInternal(item.id, !expandedIds().includes(item.id));
3907
+ }
3908
+ }
3909
+ function syncVirtualizedCheckboxElement(element, id) {
3910
+ const state5 = selectionStateForId(id);
3911
+ element.checked = state5.checked;
3912
+ element.indeterminate = state5.indeterminate && !state5.checked;
3913
+ }
3914
+ function handleVirtualizedCheckboxClick(item, event2) {
3915
+ event2.stopPropagation();
3916
+ $8.set(focusedId, item.id, true);
3917
+ $8.get(treeElement)?.focus();
3918
+ toggleSelectionScopeInternal(item.id);
3919
+ const checkbox = event2.currentTarget;
3920
+ if (checkbox instanceof HTMLInputElement) {
3921
+ syncVirtualizedCheckboxElement(checkbox, item.id);
3922
+ }
3923
+ }
3924
+ function activateVirtualizedItemFromKeyboard(item, event2) {
3925
+ if (item.branch && event2.key === "Enter") {
3926
+ setExpandedInternal(item.id, !expandedIds().includes(item.id));
3927
+ if (checkboxSelectionActive())
3928
+ return;
3929
+ }
3930
+ if (checkboxSelectionActive()) {
3931
+ toggleSelectionScopeInternal(item.id);
3932
+ } else {
3933
+ toggleSelectedInternal(item.id, event2);
949
3934
  }
950
3935
  }
951
- var fragment = $4.comment();
952
- var node_1 = $4.first_child(fragment);
3936
+ function handleVirtualizedItemKeydown(item, event2) {
3937
+ if (event2.key !== "Enter" && event2.key !== " ")
3938
+ return;
3939
+ event2.preventDefault();
3940
+ event2.stopPropagation();
3941
+ $8.set(focusedId, item.id, true);
3942
+ $8.get(treeElement)?.focus();
3943
+ activateVirtualizedItemFromKeyboard(item, event2);
3944
+ }
3945
+ var fragment_3 = root4();
3946
+ var node_6 = $8.first_child(fragment_3);
953
3947
  {
954
- var consequent = ($$anchor2) => {
955
- var div = root_1();
956
- var div_1 = $4.child(div);
957
- var node_2 = $4.child(div_1);
958
- $4.snippet(node_2, () => $$props.selectionControls);
959
- $4.reset(div_1);
960
- var div_2 = $4.sibling(div_1, 2);
961
- var node_3 = $4.child(div_2);
962
- $4.snippet(node_3, () => $$props.children);
963
- $4.reset(div_2);
964
- $4.reset(div);
965
- $4.template_effect(($0, $1) => {
966
- $4.set_class(div_2, 1, $0);
967
- $4.set_attribute(div_2, "aria-label", $$props["aria-label"]);
968
- $4.set_attribute(div_2, "aria-labelledby", $$props["aria-labelledby"]);
969
- $4.set_attribute(div_2, "aria-multiselectable", selectionMode() === "multiple" ? true : undefined);
970
- $4.set_attribute(div_2, "data-cinder-checkbox-selection", $1);
971
- }, [
972
- () => $4.clsx(classNames("cinder-tree", $$props.class)),
973
- () => checkboxSelectionActive() ? "" : undefined
974
- ]);
975
- $4.delegated("keydown", div_2, handleKeydown);
976
- $4.append($$anchor2, div);
977
- };
978
- var alternate = ($$anchor2) => {
979
- var div_3 = root_22();
980
- var node_4 = $4.child(div_3);
981
- $4.snippet(node_4, () => $$props.children);
982
- $4.reset(div_3);
983
- $4.template_effect(($0, $1) => {
984
- $4.set_class(div_3, 1, $0);
985
- $4.set_attribute(div_3, "aria-label", $$props["aria-label"]);
986
- $4.set_attribute(div_3, "aria-labelledby", $$props["aria-labelledby"]);
987
- $4.set_attribute(div_3, "aria-multiselectable", selectionMode() === "multiple" ? true : undefined);
988
- $4.set_attribute(div_3, "data-cinder-checkbox-selection", $1);
989
- }, [
990
- () => $4.clsx(classNames("cinder-tree", $$props.class)),
991
- () => checkboxSelectionActive() ? "" : undefined
992
- ]);
993
- $4.delegated("keydown", div_3, handleKeydown);
994
- $4.append($$anchor2, div_3);
3948
+ var consequent_8 = ($$anchor2) => {
3949
+ var div_4 = root_92();
3950
+ var node_7 = $8.child(div_4);
3951
+ {
3952
+ var consequent_3 = ($$anchor3) => {
3953
+ var div_5 = root_102();
3954
+ var label_1 = $8.child(div_5);
3955
+ var text_1 = $8.child(label_1, true);
3956
+ $8.reset(label_1);
3957
+ var input_1 = $8.sibling(label_1, 2);
3958
+ $8.remove_input_defaults(input_1);
3959
+ $8.set_attribute(input_1, "spellcheck", false);
3960
+ $8.bind_this(input_1, ($$value) => $8.set(filterInputElement, $$value), () => $8.get(filterInputElement));
3961
+ $8.reset(div_5);
3962
+ $8.template_effect(() => {
3963
+ $8.set_attribute(label_1, "for", $8.get(filterInputId));
3964
+ $8.set_text(text_1, $8.get(resolvedFilterPlaceholder));
3965
+ $8.set_attribute(input_1, "id", $8.get(filterInputId));
3966
+ $8.set_value(input_1, $8.get(currentFilterValue));
3967
+ $8.set_attribute(input_1, "placeholder", $8.get(resolvedFilterPlaceholder));
3968
+ $8.set_attribute(input_1, "aria-label", $8.get(resolvedFilterPlaceholder));
3969
+ $8.set_attribute(input_1, "aria-controls", $8.get(treeId));
3970
+ });
3971
+ $8.delegated("input", input_1, handleFilterInput);
3972
+ $8.delegated("keydown", input_1, handleFilterKeydown);
3973
+ $8.append($$anchor3, div_5);
3974
+ };
3975
+ $8.if(node_7, ($$render) => {
3976
+ if (showSearch())
3977
+ $$render(consequent_3);
3978
+ });
3979
+ }
3980
+ var node_8 = $8.sibling(node_7, 2);
3981
+ {
3982
+ var consequent_4 = ($$anchor3) => {
3983
+ var div_6 = root_112();
3984
+ var node_9 = $8.child(div_6);
3985
+ $8.snippet(node_9, () => $$props.selectionControls);
3986
+ $8.reset(div_6);
3987
+ $8.append($$anchor3, div_6);
3988
+ };
3989
+ $8.if(node_8, ($$render) => {
3990
+ if ($$props.selectionControls)
3991
+ $$render(consequent_4);
3992
+ });
3993
+ }
3994
+ var node_10 = $8.sibling(node_8, 2);
3995
+ {
3996
+ var consequent_5 = ($$anchor3) => {
3997
+ var div_7 = root_122();
3998
+ $8.template_effect(() => $8.set_attribute(div_7, "id", $8.get(dragInstructionsId)));
3999
+ $8.append($$anchor3, div_7);
4000
+ };
4001
+ $8.if(node_10, ($$render) => {
4002
+ if ($$props.onReorder)
4003
+ $$render(consequent_5);
4004
+ });
4005
+ }
4006
+ var node_11 = $8.sibling(node_10, 2);
4007
+ treeBody(node_11);
4008
+ var node_12 = $8.sibling(node_11, 2);
4009
+ {
4010
+ var consequent_6 = ($$anchor3) => {
4011
+ var div_8 = root_132();
4012
+ $8.append($$anchor3, div_8);
4013
+ };
4014
+ $8.if(node_12, ($$render) => {
4015
+ if ($8.get(hasNoFilterResults))
4016
+ $$render(consequent_6);
4017
+ });
4018
+ }
4019
+ var node_13 = $8.sibling(node_12, 2);
4020
+ _visually_hidden_live_region(node_13, {
4021
+ get message() {
4022
+ return $8.get(filterStatusAnnouncement);
4023
+ },
4024
+ get announcementSequence() {
4025
+ return $8.get(filterStatusAnnouncementSequence);
4026
+ },
4027
+ priority: "polite"
4028
+ });
4029
+ var node_14 = $8.sibling(node_13, 2);
4030
+ {
4031
+ var consequent_7 = ($$anchor3) => {
4032
+ _visually_hidden_live_region($$anchor3, {
4033
+ get message() {
4034
+ return $8.get(dragAnnouncement);
4035
+ },
4036
+ get announcementSequence() {
4037
+ return $8.get(dragAnnouncementSequence);
4038
+ },
4039
+ priority: "assertive"
4040
+ });
4041
+ };
4042
+ $8.if(node_14, ($$render) => {
4043
+ if ($$props.onReorder)
4044
+ $$render(consequent_7);
4045
+ });
4046
+ }
4047
+ $8.reset(div_4);
4048
+ $8.append($$anchor2, div_4);
995
4049
  };
996
- $4.if(node_1, ($$render) => {
997
- if ($$props.selectionControls)
998
- $$render(consequent);
4050
+ var alternate_2 = ($$anchor2) => {
4051
+ treeBody($$anchor2);
4052
+ };
4053
+ $8.if(node_6, ($$render) => {
4054
+ if ($8.get(hasTreeChrome))
4055
+ $$render(consequent_8);
999
4056
  else
1000
- $$render(alternate, -1);
4057
+ $$render(alternate_2, -1);
1001
4058
  });
1002
4059
  }
1003
- $4.append($$anchor, fragment);
1004
- $4.pop();
4060
+ var node_15 = $8.sibling(node_6, 2);
4061
+ _visually_hidden_live_region(node_15, {
4062
+ get message() {
4063
+ return $8.get(expansionAnnouncement);
4064
+ },
4065
+ get announcementSequence() {
4066
+ return $8.get(expansionAnnouncementSequence);
4067
+ },
4068
+ priority: "polite"
4069
+ });
4070
+ $8.append($$anchor, fragment_3);
4071
+ $8.pop();
1005
4072
  }
1006
- $4.delegate(["keydown"]);
4073
+ $8.delegate(["click", "keydown", "input"]);
1007
4074
 
1008
4075
  // src/components/tree/index.ts
1009
4076
  var Tree2 = Object.assign(Tree, {
4077
+ ExpandAll: Tree_expand_all,
1010
4078
  Item: Tree_item,
1011
4079
  SelectAll: Tree_select_all
1012
4080
  });
@@ -1016,4 +4084,4 @@ export {
1016
4084
  Tree2 as Tree
1017
4085
  };
1018
4086
 
1019
- //# debugId=976427EC8351700764756E2164756E21
4087
+ //# debugId=9F27635FB502261164756E2164756E21