entangle-ui 0.9.0 → 0.10.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 (952) hide show
  1. package/CHANGELOG.md +694 -0
  2. package/README.md +1 -1
  3. package/dist/esm/assets/src/components/controls/FileTree/FileTree.css.ts.vanilla-YmktPvnr.css +48 -0
  4. package/dist/esm/assets/src/components/controls/TreeView/{TreeNode.css.ts.vanilla-B_f8pUb8.css → TreeNode.css.ts.vanilla-DXPJRWZZ.css} +31 -24
  5. package/dist/esm/assets/src/components/editor/AssetBrowser/AssetBrowser.css.ts.vanilla-B2S4cEiY.css +262 -0
  6. package/dist/esm/assets/src/components/editor/Minimap/Minimap.css.ts.vanilla--rNdWQwy.css +133 -0
  7. package/dist/esm/assets/src/components/editor/NodeGraph/NodeGraph.css.ts.vanilla-ClF4YZvl.css +401 -0
  8. package/dist/esm/assets/src/components/editor/Timeline/Timeline.css.ts.vanilla-DDX6Zalo.css +203 -0
  9. package/dist/esm/assets/src/components/feedback/LogView/LogView.css.ts.vanilla-nB5ENOpw.css +312 -0
  10. package/dist/esm/assets/src/components/navigation/Menu/Menu.css.ts.vanilla-B5iVe5S2.css +88 -0
  11. package/dist/esm/assets/src/components/navigation/PathBar/PathBar.css.ts.vanilla-BIEzQQOf.css +10 -0
  12. package/dist/esm/assets/src/components/primitives/viewport/Viewport.css.ts.vanilla-CkFBJ7Vo.css +65 -0
  13. package/dist/esm/assets/src/components/shell/FloatingPanel/{FloatingPanel.css.ts.vanilla-1rIAXEFp.css → FloatingPanel.css.ts.vanilla-CRaeYJ2b.css} +20 -13
  14. package/dist/esm/assets/src/theme/{darkTheme.css.ts.vanilla-ab1WD4dr.css → darkTheme.css.ts.vanilla-BHZ3ecRn.css} +3 -3
  15. package/dist/esm/assets/src/theme/{lightTheme.css.ts.vanilla-OaRI_wIc.css → lightTheme.css.ts.vanilla-Ct6f9Iym.css} +3 -3
  16. package/dist/esm/components/Icons/AddIcon.js.map +1 -1
  17. package/dist/esm/components/Icons/AiChatIcon.js.map +1 -1
  18. package/dist/esm/components/Icons/AiSparklesIcon.js.map +1 -1
  19. package/dist/esm/components/Icons/ArchiveIcon.js.map +1 -1
  20. package/dist/esm/components/Icons/ArrowDownIcon.js.map +1 -1
  21. package/dist/esm/components/Icons/ArrowLeftIcon.js.map +1 -1
  22. package/dist/esm/components/Icons/ArrowRightIcon.js.map +1 -1
  23. package/dist/esm/components/Icons/ArrowUpIcon.js.map +1 -1
  24. package/dist/esm/components/Icons/BookmarkIcon.js.map +1 -1
  25. package/dist/esm/components/Icons/BugIcon.js.map +1 -1
  26. package/dist/esm/components/Icons/BuildingIcon.js.map +1 -1
  27. package/dist/esm/components/Icons/CalendarIcon.js.map +1 -1
  28. package/dist/esm/components/Icons/CheckIcon.js.map +1 -1
  29. package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -1
  30. package/dist/esm/components/Icons/ChevronLeftIcon.js.map +1 -1
  31. package/dist/esm/components/Icons/ChevronRightIcon.js.map +1 -1
  32. package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -1
  33. package/dist/esm/components/Icons/CircleIcon.js.map +1 -1
  34. package/dist/esm/components/Icons/ClockIcon.js.map +1 -1
  35. package/dist/esm/components/Icons/CloseIcon.js.map +1 -1
  36. package/dist/esm/components/Icons/CloudUploadIcon.js.map +1 -1
  37. package/dist/esm/components/Icons/CodeIcon.js.map +1 -1
  38. package/dist/esm/components/Icons/CopyIcon.js.map +1 -1
  39. package/dist/esm/components/Icons/CutIcon.js.map +1 -1
  40. package/dist/esm/components/Icons/DotsHorizontalIcon.js.map +1 -1
  41. package/dist/esm/components/Icons/DotsVerticalIcon.js.map +1 -1
  42. package/dist/esm/components/Icons/DownloadIcon.js.map +1 -1
  43. package/dist/esm/components/Icons/EditIcon.js.map +1 -1
  44. package/dist/esm/components/Icons/ErrorIcon.js.map +1 -1
  45. package/dist/esm/components/Icons/ExternalLinkIcon.js.map +1 -1
  46. package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -1
  47. package/dist/esm/components/Icons/EyeIcon.js.map +1 -1
  48. package/dist/esm/components/Icons/FileTextIcon.js.map +1 -1
  49. package/dist/esm/components/Icons/FilterIcon.js.map +1 -1
  50. package/dist/esm/components/Icons/FirstIcon.js.map +1 -1
  51. package/dist/esm/components/Icons/FolderCogIcon.js.map +1 -1
  52. package/dist/esm/components/Icons/FolderIcon.js.map +1 -1
  53. package/dist/esm/components/Icons/FolderOpenIcon.js +2 -2
  54. package/dist/esm/components/Icons/FolderOpenIcon.js.map +1 -1
  55. package/dist/esm/components/Icons/FullscreenIcon.js.map +1 -1
  56. package/dist/esm/components/Icons/GitBranchIcon.js.map +1 -1
  57. package/dist/esm/components/Icons/GridIcon.js.map +1 -1
  58. package/dist/esm/components/Icons/HeartIcon.js.map +1 -1
  59. package/dist/esm/components/Icons/HelpIcon.js.map +1 -1
  60. package/dist/esm/components/Icons/HomeIcon.js.map +1 -1
  61. package/dist/esm/components/Icons/ImageIcon.js +31 -0
  62. package/dist/esm/components/Icons/ImageIcon.js.map +1 -0
  63. package/dist/esm/components/Icons/InfoIcon.js.map +1 -1
  64. package/dist/esm/components/Icons/LastIcon.js.map +1 -1
  65. package/dist/esm/components/Icons/LinkIcon.js.map +1 -1
  66. package/dist/esm/components/Icons/ListIcon.js.map +1 -1
  67. package/dist/esm/components/Icons/LockIcon.js.map +1 -1
  68. package/dist/esm/components/Icons/MaximizeIcon.js.map +1 -1
  69. package/dist/esm/components/Icons/MenuIcon.js.map +1 -1
  70. package/dist/esm/components/Icons/MinimizeIcon.js.map +1 -1
  71. package/dist/esm/components/Icons/MinusIcon.js.map +1 -1
  72. package/dist/esm/components/Icons/PasteIcon.js.map +1 -1
  73. package/dist/esm/components/Icons/PauseIcon.js +2 -2
  74. package/dist/esm/components/Icons/PauseIcon.js.map +1 -1
  75. package/dist/esm/components/Icons/PinIcon.js.map +1 -1
  76. package/dist/esm/components/Icons/PlayIcon.js.map +1 -1
  77. package/dist/esm/components/Icons/RedoIcon.js.map +1 -1
  78. package/dist/esm/components/Icons/RefreshIcon.js.map +1 -1
  79. package/dist/esm/components/Icons/RobotIcon.js.map +1 -1
  80. package/dist/esm/components/Icons/SaveIcon.js.map +1 -1
  81. package/dist/esm/components/Icons/SearchIcon.js.map +1 -1
  82. package/dist/esm/components/Icons/SendIcon.js.map +1 -1
  83. package/dist/esm/components/Icons/SettingsIcon.js.map +1 -1
  84. package/dist/esm/components/Icons/SortIcon.js.map +1 -1
  85. package/dist/esm/components/Icons/StarIcon.js.map +1 -1
  86. package/dist/esm/components/Icons/StopIcon.js.map +1 -1
  87. package/dist/esm/components/Icons/SuccessIcon.js.map +1 -1
  88. package/dist/esm/components/Icons/TagIcon.js.map +1 -1
  89. package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -1
  90. package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -1
  91. package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -1
  92. package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -1
  93. package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -1
  94. package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -1
  95. package/dist/esm/components/Icons/TerminalIcon.js.map +1 -1
  96. package/dist/esm/components/Icons/TrashIcon.js.map +1 -1
  97. package/dist/esm/components/Icons/UndoIcon.js.map +1 -1
  98. package/dist/esm/components/Icons/UnlinkIcon.js.map +1 -1
  99. package/dist/esm/components/Icons/UnlockIcon.js.map +1 -1
  100. package/dist/esm/components/Icons/UploadIcon.js.map +1 -1
  101. package/dist/esm/components/Icons/UserIcon.js.map +1 -1
  102. package/dist/esm/components/Icons/UsersIcon.js.map +1 -1
  103. package/dist/esm/components/Icons/WarningIcon.js.map +1 -1
  104. package/dist/esm/components/Icons/ZoomInIcon.js.map +1 -1
  105. package/dist/esm/components/Icons/ZoomOutIcon.js.map +1 -1
  106. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js +3 -3
  107. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js.map +1 -1
  108. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js +7 -5
  109. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js.map +1 -1
  110. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js.map +1 -1
  111. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -1
  112. package/dist/esm/components/controls/ColorPicker/ColorArea.js +2 -2
  113. package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -1
  114. package/dist/esm/components/controls/ColorPicker/ColorInputs.js +16 -2
  115. package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -1
  116. package/dist/esm/components/controls/ColorPicker/ColorPalette.js +3 -1
  117. package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -1
  118. package/dist/esm/components/controls/ColorPicker/ColorPicker.js +6 -6
  119. package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -1
  120. package/dist/esm/components/controls/ColorPicker/ColorPresets.js +3 -1
  121. package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -1
  122. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -1
  123. package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -1
  124. package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -1
  125. package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -1
  126. package/dist/esm/components/controls/Combobox/Combobox.js +46 -23
  127. package/dist/esm/components/controls/Combobox/Combobox.js.map +1 -1
  128. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +11 -4
  129. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -1
  130. package/dist/esm/components/controls/CurveEditor/CurveEditor.js +4 -4
  131. package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -1
  132. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +7 -5
  133. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -1
  134. package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -1
  135. package/dist/esm/components/controls/CurveEditor/curveUtils.js +13 -15
  136. package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -1
  137. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +72 -50
  138. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -1
  139. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +11 -3
  140. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -1
  141. package/dist/esm/components/controls/FileTree/FileTree.css.js +9 -0
  142. package/dist/esm/components/controls/FileTree/FileTree.css.js.map +1 -0
  143. package/dist/esm/components/controls/FileTree/FileTree.js +246 -0
  144. package/dist/esm/components/controls/FileTree/FileTree.js.map +1 -0
  145. package/dist/esm/components/controls/FileTree/fileTreeIcons.js +129 -0
  146. package/dist/esm/components/controls/FileTree/fileTreeIcons.js.map +1 -0
  147. package/dist/esm/components/controls/FileTree/fileTreeLabels.js +8 -0
  148. package/dist/esm/components/controls/FileTree/fileTreeLabels.js.map +1 -0
  149. package/dist/esm/components/controls/FileTree/useFileTreeDrop.js +115 -0
  150. package/dist/esm/components/controls/FileTree/useFileTreeDrop.js.map +1 -0
  151. package/dist/esm/components/controls/FileUploader/FileUploader.js +3 -6
  152. package/dist/esm/components/controls/FileUploader/FileUploader.js.map +1 -1
  153. package/dist/esm/components/controls/MultiSelect/MultiSelect.js +46 -15
  154. package/dist/esm/components/controls/MultiSelect/MultiSelect.js.map +1 -1
  155. package/dist/esm/components/controls/NumberInput/NumberInput.js +11 -4
  156. package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -1
  157. package/dist/esm/components/controls/NumberInput/useNumberInput.js +6 -2
  158. package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -1
  159. package/dist/esm/components/controls/Select/Select.js +31 -11
  160. package/dist/esm/components/controls/Select/Select.js.map +1 -1
  161. package/dist/esm/components/controls/Slider/Slider.js +6 -8
  162. package/dist/esm/components/controls/Slider/Slider.js.map +1 -1
  163. package/dist/esm/components/controls/TagInput/TagInput.js +4 -2
  164. package/dist/esm/components/controls/TagInput/TagInput.js.map +1 -1
  165. package/dist/esm/components/controls/TreeView/TreeNode.css.js +9 -8
  166. package/dist/esm/components/controls/TreeView/TreeNode.css.js.map +1 -1
  167. package/dist/esm/components/controls/TreeView/TreeNode.js +36 -7
  168. package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -1
  169. package/dist/esm/components/controls/TreeView/TreeView.js +18 -6
  170. package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -1
  171. package/dist/esm/components/controls/TreeView/useTreeState.js +2 -6
  172. package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -1
  173. package/dist/esm/components/controls/VectorInput/VectorInput.js +7 -4
  174. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
  175. package/dist/esm/components/data/DataTable/DataTable.js +25 -8
  176. package/dist/esm/components/data/DataTable/DataTable.js.map +1 -1
  177. package/dist/esm/components/editor/AssetBrowser/AssetBrowser.css.js +46 -0
  178. package/dist/esm/components/editor/AssetBrowser/AssetBrowser.css.js.map +1 -0
  179. package/dist/esm/components/editor/AssetBrowser/AssetBrowser.js +254 -0
  180. package/dist/esm/components/editor/AssetBrowser/AssetBrowser.js.map +1 -0
  181. package/dist/esm/components/editor/AssetBrowser/AssetBrowserAnnouncementLive.js +17 -0
  182. package/dist/esm/components/editor/AssetBrowser/AssetBrowserAnnouncementLive.js.map +1 -0
  183. package/dist/esm/components/editor/AssetBrowser/AssetBrowserBreadcrumbs.js +25 -0
  184. package/dist/esm/components/editor/AssetBrowser/AssetBrowserBreadcrumbs.js.map +1 -0
  185. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContent.js +134 -0
  186. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContent.js.map +1 -0
  187. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContext.js +81 -0
  188. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContext.js.map +1 -0
  189. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContextMenu.js +123 -0
  190. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContextMenu.js.map +1 -0
  191. package/dist/esm/components/editor/AssetBrowser/AssetBrowserDefaultMenus.js +130 -0
  192. package/dist/esm/components/editor/AssetBrowser/AssetBrowserDefaultMenus.js.map +1 -0
  193. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGrid.js +137 -0
  194. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGrid.js.map +1 -0
  195. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGridItem.js +220 -0
  196. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGridItem.js.map +1 -0
  197. package/dist/esm/components/editor/AssetBrowser/AssetBrowserList.js +183 -0
  198. package/dist/esm/components/editor/AssetBrowser/AssetBrowserList.js.map +1 -0
  199. package/dist/esm/components/editor/AssetBrowser/AssetBrowserRenameField.js +63 -0
  200. package/dist/esm/components/editor/AssetBrowser/AssetBrowserRenameField.js.map +1 -0
  201. package/dist/esm/components/editor/AssetBrowser/AssetBrowserSidebar.js +19 -0
  202. package/dist/esm/components/editor/AssetBrowser/AssetBrowserSidebar.js.map +1 -0
  203. package/dist/esm/components/editor/AssetBrowser/AssetBrowserStatusBar.js +24 -0
  204. package/dist/esm/components/editor/AssetBrowser/AssetBrowserStatusBar.js.map +1 -0
  205. package/dist/esm/components/editor/AssetBrowser/AssetBrowserStore.js +176 -0
  206. package/dist/esm/components/editor/AssetBrowser/AssetBrowserStore.js.map +1 -0
  207. package/dist/esm/components/editor/AssetBrowser/AssetBrowserSurface.js +114 -0
  208. package/dist/esm/components/editor/AssetBrowser/AssetBrowserSurface.js.map +1 -0
  209. package/dist/esm/components/editor/AssetBrowser/AssetBrowserToolbar.js +128 -0
  210. package/dist/esm/components/editor/AssetBrowser/AssetBrowserToolbar.js.map +1 -0
  211. package/dist/esm/components/editor/AssetBrowser/assetBrowserFilter.js +90 -0
  212. package/dist/esm/components/editor/AssetBrowser/assetBrowserFilter.js.map +1 -0
  213. package/dist/esm/components/editor/AssetBrowser/assetBrowserFormat.js +32 -0
  214. package/dist/esm/components/editor/AssetBrowser/assetBrowserFormat.js.map +1 -0
  215. package/dist/esm/components/editor/AssetBrowser/assetBrowserGeometry.js +70 -0
  216. package/dist/esm/components/editor/AssetBrowser/assetBrowserGeometry.js.map +1 -0
  217. package/dist/esm/components/editor/AssetBrowser/assetBrowserKeyboard.js +62 -0
  218. package/dist/esm/components/editor/AssetBrowser/assetBrowserKeyboard.js.map +1 -0
  219. package/dist/esm/components/editor/AssetBrowser/assetBrowserLabels.js +52 -0
  220. package/dist/esm/components/editor/AssetBrowser/assetBrowserLabels.js.map +1 -0
  221. package/dist/esm/components/editor/AssetBrowser/slots.js +18 -0
  222. package/dist/esm/components/editor/AssetBrowser/slots.js.map +1 -0
  223. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserAnnouncement.js +19 -0
  224. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserAnnouncement.js.map +1 -0
  225. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserHandle.js +70 -0
  226. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserHandle.js.map +1 -0
  227. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserViewState.js +108 -0
  228. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserViewState.js.map +1 -0
  229. package/dist/esm/components/editor/AssetBrowser/useAssetDnd.js +192 -0
  230. package/dist/esm/components/editor/AssetBrowser/useAssetDnd.js.map +1 -0
  231. package/dist/esm/components/editor/AssetBrowser/useAssetGridKeyboardNav.js +91 -0
  232. package/dist/esm/components/editor/AssetBrowser/useAssetGridKeyboardNav.js.map +1 -0
  233. package/dist/esm/components/editor/AssetBrowser/useAssetGridVirtualizer.js +91 -0
  234. package/dist/esm/components/editor/AssetBrowser/useAssetGridVirtualizer.js.map +1 -0
  235. package/dist/esm/components/editor/AssetBrowser/useAssetMarqueeGesture.js +128 -0
  236. package/dist/esm/components/editor/AssetBrowser/useAssetMarqueeGesture.js.map +1 -0
  237. package/dist/esm/components/editor/AssetBrowser/useAssetMutationKeyboard.js +72 -0
  238. package/dist/esm/components/editor/AssetBrowser/useAssetMutationKeyboard.js.map +1 -0
  239. package/dist/esm/components/editor/AssetBrowser/useAssetMutations.js +141 -0
  240. package/dist/esm/components/editor/AssetBrowser/useAssetMutations.js.map +1 -0
  241. package/dist/esm/components/editor/AssetBrowser/useAssetNavigation.js +113 -0
  242. package/dist/esm/components/editor/AssetBrowser/useAssetNavigation.js.map +1 -0
  243. package/dist/esm/components/editor/AssetBrowser/useAssetSelectionController.js +174 -0
  244. package/dist/esm/components/editor/AssetBrowser/useAssetSelectionController.js.map +1 -0
  245. package/dist/esm/components/editor/ChatPanel/ChatActionBar.js.map +1 -1
  246. package/dist/esm/components/editor/ChatPanel/ChatAttachment.js +8 -2
  247. package/dist/esm/components/editor/ChatPanel/ChatAttachment.js.map +1 -1
  248. package/dist/esm/components/editor/ChatPanel/ChatBubble.js.map +1 -1
  249. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +14 -4
  250. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js.map +1 -1
  251. package/dist/esm/components/editor/ChatPanel/ChatContextChip.js +1 -1
  252. package/dist/esm/components/editor/ChatPanel/ChatContextChip.js.map +1 -1
  253. package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js +3 -1
  254. package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js.map +1 -1
  255. package/dist/esm/components/editor/ChatPanel/ChatInput.js +4 -3
  256. package/dist/esm/components/editor/ChatPanel/ChatInput.js.map +1 -1
  257. package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js.map +1 -1
  258. package/dist/esm/components/editor/ChatPanel/ChatMarkdownRenderer.js +1 -1
  259. package/dist/esm/components/editor/ChatPanel/ChatMarkdownRenderer.js.map +1 -1
  260. package/dist/esm/components/editor/ChatPanel/ChatMessage.js +4 -3
  261. package/dist/esm/components/editor/ChatPanel/ChatMessage.js.map +1 -1
  262. package/dist/esm/components/editor/ChatPanel/ChatMessageList.js +5 -3
  263. package/dist/esm/components/editor/ChatPanel/ChatMessageList.js.map +1 -1
  264. package/dist/esm/components/editor/ChatPanel/ChatPanel.js.map +1 -1
  265. package/dist/esm/components/editor/ChatPanel/ChatToolCall.js +1 -1
  266. package/dist/esm/components/editor/ChatPanel/ChatToolCall.js.map +1 -1
  267. package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js.map +1 -1
  268. package/dist/esm/components/editor/ChatPanel/useChatInput.js.map +1 -1
  269. package/dist/esm/components/editor/ChatPanel/useChatMessages.js +7 -4
  270. package/dist/esm/components/editor/ChatPanel/useChatMessages.js.map +1 -1
  271. package/dist/esm/components/editor/ChatPanel/useChatScroll.js +6 -1
  272. package/dist/esm/components/editor/ChatPanel/useChatScroll.js.map +1 -1
  273. package/dist/esm/components/editor/Minimap/Minimap.css.js +18 -0
  274. package/dist/esm/components/editor/Minimap/Minimap.css.js.map +1 -0
  275. package/dist/esm/components/editor/Minimap/Minimap.js +257 -0
  276. package/dist/esm/components/editor/Minimap/Minimap.js.map +1 -0
  277. package/dist/esm/components/editor/Minimap/Minimap.types.js +11 -0
  278. package/dist/esm/components/editor/Minimap/Minimap.types.js.map +1 -0
  279. package/dist/esm/components/editor/Minimap/MinimapContext.js +48 -0
  280. package/dist/esm/components/editor/Minimap/MinimapContext.js.map +1 -0
  281. package/dist/esm/components/editor/Minimap/MinimapCorner.js +16 -0
  282. package/dist/esm/components/editor/Minimap/MinimapCorner.js.map +1 -0
  283. package/dist/esm/components/editor/Minimap/MinimapFooter.js +16 -0
  284. package/dist/esm/components/editor/Minimap/MinimapFooter.js.map +1 -0
  285. package/dist/esm/components/editor/Minimap/MinimapStore.js +166 -0
  286. package/dist/esm/components/editor/Minimap/MinimapStore.js.map +1 -0
  287. package/dist/esm/components/editor/Minimap/MinimapTitle.js +16 -0
  288. package/dist/esm/components/editor/Minimap/MinimapTitle.js.map +1 -0
  289. package/dist/esm/components/editor/Minimap/ViewportMinimap.js +69 -0
  290. package/dist/esm/components/editor/Minimap/ViewportMinimap.js.map +1 -0
  291. package/dist/esm/components/editor/Minimap/computeBoundsFromItems.js +65 -0
  292. package/dist/esm/components/editor/Minimap/computeBoundsFromItems.js.map +1 -0
  293. package/dist/esm/components/editor/Minimap/index.js +15 -0
  294. package/dist/esm/components/editor/Minimap/index.js.map +1 -0
  295. package/dist/esm/components/editor/Minimap/minimapCoords.js +105 -0
  296. package/dist/esm/components/editor/Minimap/minimapCoords.js.map +1 -0
  297. package/dist/esm/components/editor/Minimap/minimapDrawing.js +93 -0
  298. package/dist/esm/components/editor/Minimap/minimapDrawing.js.map +1 -0
  299. package/dist/esm/components/editor/Minimap/minimapHitTest.js +59 -0
  300. package/dist/esm/components/editor/Minimap/minimapHitTest.js.map +1 -0
  301. package/dist/esm/components/editor/Minimap/useMinimapGestures.js +299 -0
  302. package/dist/esm/components/editor/Minimap/useMinimapGestures.js.map +1 -0
  303. package/dist/esm/components/editor/NodeGraph/NodeGraph.css.js +36 -0
  304. package/dist/esm/components/editor/NodeGraph/NodeGraph.css.js.map +1 -0
  305. package/dist/esm/components/editor/NodeGraph/NodeGraph.js +627 -0
  306. package/dist/esm/components/editor/NodeGraph/NodeGraph.js.map +1 -0
  307. package/dist/esm/components/editor/NodeGraph/NodeGraph.types.js +10 -0
  308. package/dist/esm/components/editor/NodeGraph/NodeGraph.types.js.map +1 -0
  309. package/dist/esm/components/editor/NodeGraph/NodeGraphContext.js +54 -0
  310. package/dist/esm/components/editor/NodeGraph/NodeGraphContext.js.map +1 -0
  311. package/dist/esm/components/editor/NodeGraph/NodeGraphEdgeLabels.js +137 -0
  312. package/dist/esm/components/editor/NodeGraph/NodeGraphEdgeLabels.js.map +1 -0
  313. package/dist/esm/components/editor/NodeGraph/NodeGraphGroup.js +211 -0
  314. package/dist/esm/components/editor/NodeGraph/NodeGraphGroup.js.map +1 -0
  315. package/dist/esm/components/editor/NodeGraph/NodeGraphMinimap.js +122 -0
  316. package/dist/esm/components/editor/NodeGraph/NodeGraphMinimap.js.map +1 -0
  317. package/dist/esm/components/editor/NodeGraph/NodeGraphNode.js +170 -0
  318. package/dist/esm/components/editor/NodeGraph/NodeGraphNode.js.map +1 -0
  319. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeContext.js +21 -0
  320. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeContext.js.map +1 -0
  321. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeParts.js +56 -0
  322. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeParts.js.map +1 -0
  323. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSection.js +59 -0
  324. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSection.js.map +1 -0
  325. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSectionContext.js +17 -0
  326. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSectionContext.js.map +1 -0
  327. package/dist/esm/components/editor/NodeGraph/NodeGraphPin.js +35 -0
  328. package/dist/esm/components/editor/NodeGraph/NodeGraphPin.js.map +1 -0
  329. package/dist/esm/components/editor/NodeGraph/NodeGraphPort.js +191 -0
  330. package/dist/esm/components/editor/NodeGraph/NodeGraphPort.js.map +1 -0
  331. package/dist/esm/components/editor/NodeGraph/NodeGraphPortVisual.js +46 -0
  332. package/dist/esm/components/editor/NodeGraph/NodeGraphPortVisual.js.map +1 -0
  333. package/dist/esm/components/editor/NodeGraph/NodeGraphSlots.js +50 -0
  334. package/dist/esm/components/editor/NodeGraph/NodeGraphSlots.js.map +1 -0
  335. package/dist/esm/components/editor/NodeGraph/NodeGraphSpawnPalette.js +70 -0
  336. package/dist/esm/components/editor/NodeGraph/NodeGraphSpawnPalette.js.map +1 -0
  337. package/dist/esm/components/editor/NodeGraph/NodeGraphStore.js +543 -0
  338. package/dist/esm/components/editor/NodeGraph/NodeGraphStore.js.map +1 -0
  339. package/dist/esm/components/editor/NodeGraph/NodeGraphToolbar.js +100 -0
  340. package/dist/esm/components/editor/NodeGraph/NodeGraphToolbar.js.map +1 -0
  341. package/dist/esm/components/editor/NodeGraph/createTypeMatchValidator.js +37 -0
  342. package/dist/esm/components/editor/NodeGraph/createTypeMatchValidator.js.map +1 -0
  343. package/dist/esm/components/editor/NodeGraph/nodeGraphActions.js +53 -0
  344. package/dist/esm/components/editor/NodeGraph/nodeGraphActions.js.map +1 -0
  345. package/dist/esm/components/editor/NodeGraph/nodeGraphDrawing.js +461 -0
  346. package/dist/esm/components/editor/NodeGraph/nodeGraphDrawing.js.map +1 -0
  347. package/dist/esm/components/editor/NodeGraph/nodeGraphIds.js +31 -0
  348. package/dist/esm/components/editor/NodeGraph/nodeGraphIds.js.map +1 -0
  349. package/dist/esm/components/editor/NodeGraph/nodeGraphMath.js +350 -0
  350. package/dist/esm/components/editor/NodeGraph/nodeGraphMath.js.map +1 -0
  351. package/dist/esm/components/editor/NodeGraph/sortSlots.js +69 -0
  352. package/dist/esm/components/editor/NodeGraph/sortSlots.js.map +1 -0
  353. package/dist/esm/components/editor/NodeGraph/useDragGesture.js +63 -0
  354. package/dist/esm/components/editor/NodeGraph/useDragGesture.js.map +1 -0
  355. package/dist/esm/components/editor/NodeGraph/useNodeGraph.js +207 -0
  356. package/dist/esm/components/editor/NodeGraph/useNodeGraph.js.map +1 -0
  357. package/dist/esm/components/editor/NodeGraph/useNodeGraphConnection.js +334 -0
  358. package/dist/esm/components/editor/NodeGraph/useNodeGraphConnection.js.map +1 -0
  359. package/dist/esm/components/editor/NodeGraph/useNodeGraphEdgeInteraction.js +137 -0
  360. package/dist/esm/components/editor/NodeGraph/useNodeGraphEdgeInteraction.js.map +1 -0
  361. package/dist/esm/components/editor/NodeGraph/useNodeGraphGroupDrag.js +392 -0
  362. package/dist/esm/components/editor/NodeGraph/useNodeGraphGroupDrag.js.map +1 -0
  363. package/dist/esm/components/editor/NodeGraph/useNodeGraphKeyboard.js +164 -0
  364. package/dist/esm/components/editor/NodeGraph/useNodeGraphKeyboard.js.map +1 -0
  365. package/dist/esm/components/editor/NodeGraph/useNodeGraphNodeDrag.js +234 -0
  366. package/dist/esm/components/editor/NodeGraph/useNodeGraphNodeDrag.js.map +1 -0
  367. package/dist/esm/components/editor/NodeGraph/useStoreSlice.js +49 -0
  368. package/dist/esm/components/editor/NodeGraph/useStoreSlice.js.map +1 -0
  369. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +1 -1
  370. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -1
  371. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +8 -4
  372. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -1
  373. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +3 -2
  374. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -1
  375. package/dist/esm/components/editor/PropertyInspector/PropertySection.js +15 -2
  376. package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -1
  377. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -1
  378. package/dist/esm/components/editor/Timeline/Timeline.css.js +23 -0
  379. package/dist/esm/components/editor/Timeline/Timeline.css.js.map +1 -0
  380. package/dist/esm/components/editor/Timeline/Timeline.js +450 -0
  381. package/dist/esm/components/editor/Timeline/Timeline.js.map +1 -0
  382. package/dist/esm/components/editor/Timeline/Timeline.types.js +10 -0
  383. package/dist/esm/components/editor/Timeline/Timeline.types.js.map +1 -0
  384. package/dist/esm/components/editor/Timeline/TimelineContext.js +69 -0
  385. package/dist/esm/components/editor/Timeline/TimelineContext.js.map +1 -0
  386. package/dist/esm/components/editor/Timeline/TimelineFooter.js +16 -0
  387. package/dist/esm/components/editor/Timeline/TimelineFooter.js.map +1 -0
  388. package/dist/esm/components/editor/Timeline/TimelineMinimap.js +280 -0
  389. package/dist/esm/components/editor/Timeline/TimelineMinimap.js.map +1 -0
  390. package/dist/esm/components/editor/Timeline/TimelineStore.js +289 -0
  391. package/dist/esm/components/editor/Timeline/TimelineStore.js.map +1 -0
  392. package/dist/esm/components/editor/Timeline/TimelineToolbar.js +15 -0
  393. package/dist/esm/components/editor/Timeline/TimelineToolbar.js.map +1 -0
  394. package/dist/esm/components/editor/Timeline/TimelineTrackHeaders.js +142 -0
  395. package/dist/esm/components/editor/Timeline/TimelineTrackHeaders.js.map +1 -0
  396. package/dist/esm/components/editor/Timeline/TimelineTrackScale.js +18 -0
  397. package/dist/esm/components/editor/Timeline/TimelineTrackScale.js.map +1 -0
  398. package/dist/esm/components/editor/Timeline/index.js +18 -0
  399. package/dist/esm/components/editor/Timeline/index.js.map +1 -0
  400. package/dist/esm/components/editor/Timeline/timelineCoords.js +118 -0
  401. package/dist/esm/components/editor/Timeline/timelineCoords.js.map +1 -0
  402. package/dist/esm/components/editor/Timeline/timelineDrawing.js +390 -0
  403. package/dist/esm/components/editor/Timeline/timelineDrawing.js.map +1 -0
  404. package/dist/esm/components/editor/Timeline/timelineEdits.js +323 -0
  405. package/dist/esm/components/editor/Timeline/timelineEdits.js.map +1 -0
  406. package/dist/esm/components/editor/Timeline/timelineHitTest.js +153 -0
  407. package/dist/esm/components/editor/Timeline/timelineHitTest.js.map +1 -0
  408. package/dist/esm/components/editor/Timeline/timelineLayout.js +39 -0
  409. package/dist/esm/components/editor/Timeline/timelineLayout.js.map +1 -0
  410. package/dist/esm/components/editor/Timeline/timelineSelection.js +0 -0
  411. package/dist/esm/components/editor/Timeline/timelineSelection.js.map +1 -0
  412. package/dist/esm/components/editor/Timeline/useTimelineDraw.js +156 -0
  413. package/dist/esm/components/editor/Timeline/useTimelineDraw.js.map +1 -0
  414. package/dist/esm/components/editor/Timeline/useTimelineGestures.js +587 -0
  415. package/dist/esm/components/editor/Timeline/useTimelineGestures.js.map +1 -0
  416. package/dist/esm/components/editor/Timeline/useTimelinePlayback.js +85 -0
  417. package/dist/esm/components/editor/Timeline/useTimelinePlayback.js.map +1 -0
  418. package/dist/esm/components/editor/TransformControl/TransformControl.js +4 -4
  419. package/dist/esm/components/editor/TransformControl/TransformControl.js.map +1 -1
  420. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js +8 -4
  421. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js.map +1 -1
  422. package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js +6 -2
  423. package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js.map +1 -1
  424. package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js +8 -6
  425. package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js.map +1 -1
  426. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js +1 -2
  427. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js.map +1 -1
  428. package/dist/esm/components/feedback/Alert/Alert.js +8 -8
  429. package/dist/esm/components/feedback/Alert/Alert.js.map +1 -1
  430. package/dist/esm/components/feedback/Alert/AlertActions.js.map +1 -1
  431. package/dist/esm/components/feedback/Alert/AlertDescription.js.map +1 -1
  432. package/dist/esm/components/feedback/Alert/AlertTitle.js.map +1 -1
  433. package/dist/esm/components/feedback/CommandPalette/CommandPalette.js +32 -22
  434. package/dist/esm/components/feedback/CommandPalette/CommandPalette.js.map +1 -1
  435. package/dist/esm/components/feedback/CommandPalette/useRecentItems.js +3 -1
  436. package/dist/esm/components/feedback/CommandPalette/useRecentItems.js.map +1 -1
  437. package/dist/esm/components/feedback/Dialog/Dialog.js +6 -3
  438. package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -1
  439. package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -1
  440. package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -1
  441. package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -1
  442. package/dist/esm/components/feedback/Dialog/DialogHeader.js +1 -1
  443. package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -1
  444. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +10 -2
  445. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -1
  446. package/dist/esm/components/feedback/Drawer/Drawer.js +4 -1
  447. package/dist/esm/components/feedback/Drawer/Drawer.js.map +1 -1
  448. package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js +4 -0
  449. package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js.map +1 -1
  450. package/dist/esm/components/feedback/EmptyState/EmptyState.js +1 -1
  451. package/dist/esm/components/feedback/EmptyState/EmptyState.js.map +1 -1
  452. package/dist/esm/components/feedback/LogView/LogView.css.js +35 -0
  453. package/dist/esm/components/feedback/LogView/LogView.css.js.map +1 -0
  454. package/dist/esm/components/feedback/LogView/LogView.js +297 -0
  455. package/dist/esm/components/feedback/LogView/LogView.js.map +1 -0
  456. package/dist/esm/components/feedback/LogView/LogViewBody.js +205 -0
  457. package/dist/esm/components/feedback/LogView/LogViewBody.js.map +1 -0
  458. package/dist/esm/components/feedback/LogView/LogViewContext.js +31 -0
  459. package/dist/esm/components/feedback/LogView/LogViewContext.js.map +1 -0
  460. package/dist/esm/components/feedback/LogView/LogViewParts.js +73 -0
  461. package/dist/esm/components/feedback/LogView/LogViewParts.js.map +1 -0
  462. package/dist/esm/components/feedback/LogView/LogViewStore.js +240 -0
  463. package/dist/esm/components/feedback/LogView/LogViewStore.js.map +1 -0
  464. package/dist/esm/components/feedback/LogView/logViewLabels.js +25 -0
  465. package/dist/esm/components/feedback/LogView/logViewLabels.js.map +1 -0
  466. package/dist/esm/components/feedback/LogView/logViewLevels.js +74 -0
  467. package/dist/esm/components/feedback/LogView/logViewLevels.js.map +1 -0
  468. package/dist/esm/components/feedback/LogView/logViewUtils.js +128 -0
  469. package/dist/esm/components/feedback/LogView/logViewUtils.js.map +1 -0
  470. package/dist/esm/components/feedback/LogView/useFollowTail.js +95 -0
  471. package/dist/esm/components/feedback/LogView/useFollowTail.js.map +1 -0
  472. package/dist/esm/components/feedback/LogView/useLogSelection.js +113 -0
  473. package/dist/esm/components/feedback/LogView/useLogSelection.js.map +1 -0
  474. package/dist/esm/components/feedback/ProgressBar/CircularProgress.js +1 -1
  475. package/dist/esm/components/feedback/ProgressBar/CircularProgress.js.map +1 -1
  476. package/dist/esm/components/feedback/ProgressBar/ProgressBar.js +1 -1
  477. package/dist/esm/components/feedback/ProgressBar/ProgressBar.js.map +1 -1
  478. package/dist/esm/components/feedback/Skeleton/Skeleton.js +1 -1
  479. package/dist/esm/components/feedback/Skeleton/Skeleton.js.map +1 -1
  480. package/dist/esm/components/feedback/Skeleton/SkeletonGroup.js +1 -1
  481. package/dist/esm/components/feedback/Skeleton/SkeletonGroup.js.map +1 -1
  482. package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js +1 -1
  483. package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js.map +1 -1
  484. package/dist/esm/components/feedback/Spinner/Spinner.js +1 -1
  485. package/dist/esm/components/feedback/Spinner/Spinner.js.map +1 -1
  486. package/dist/esm/components/feedback/Stat/Stat.js.map +1 -1
  487. package/dist/esm/components/feedback/Toast/ToastContainer.js +1 -1
  488. package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -1
  489. package/dist/esm/components/feedback/Toast/ToastItem.js +7 -3
  490. package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -1
  491. package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -1
  492. package/dist/esm/components/feedback/Toast/useToast.js.map +1 -1
  493. package/dist/esm/components/form/FormHelperText.js.map +1 -1
  494. package/dist/esm/components/form/FormLabel.js.map +1 -1
  495. package/dist/esm/components/form/InputWrapper.js.map +1 -1
  496. package/dist/esm/components/layout/Accordion/Accordion.js +1 -1
  497. package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -1
  498. package/dist/esm/components/layout/Accordion/AccordionContent.js +1 -1
  499. package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -1
  500. package/dist/esm/components/layout/Accordion/AccordionItem.js +1 -1
  501. package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -1
  502. package/dist/esm/components/layout/Accordion/AccordionTrigger.js +7 -2
  503. package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -1
  504. package/dist/esm/components/layout/Card/Card.js +2 -2
  505. package/dist/esm/components/layout/Card/Card.js.map +1 -1
  506. package/dist/esm/components/layout/Divider/Divider.js.map +1 -1
  507. package/dist/esm/components/layout/Flex/Flex.js +1 -1
  508. package/dist/esm/components/layout/Flex/Flex.js.map +1 -1
  509. package/dist/esm/components/layout/Grid/Grid.js +1 -1
  510. package/dist/esm/components/layout/ListItem/ListItem.js +1 -1
  511. package/dist/esm/components/layout/ListItem/ListItem.js.map +1 -1
  512. package/dist/esm/components/layout/PageHeader/PageHeader.js.map +1 -1
  513. package/dist/esm/components/layout/PanelSurface/PanelSurface.js +3 -3
  514. package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -1
  515. package/dist/esm/components/layout/ScrollArea/ScrollArea.js +91 -23
  516. package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -1
  517. package/dist/esm/components/layout/SplitPane/SplitPane.js +29 -16
  518. package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -1
  519. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -1
  520. package/dist/esm/components/layout/Stack/Stack.js +1 -1
  521. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js +4 -0
  522. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js.map +1 -1
  523. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js +6 -2
  524. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js.map +1 -1
  525. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbSeparator.js.map +1 -1
  526. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js +7 -2
  527. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js.map +1 -1
  528. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +45 -39
  529. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -1
  530. package/dist/esm/components/navigation/Menu/Menu.css.js +9 -12
  531. package/dist/esm/components/navigation/Menu/Menu.css.js.map +1 -1
  532. package/dist/esm/components/navigation/Menu/Menu.js +97 -63
  533. package/dist/esm/components/navigation/Menu/Menu.js.map +1 -1
  534. package/dist/esm/components/navigation/Menu/MenuGapContext.js +19 -0
  535. package/dist/esm/components/navigation/Menu/MenuGapContext.js.map +1 -0
  536. package/dist/esm/components/navigation/Pagination/Pagination.js.map +1 -1
  537. package/dist/esm/components/navigation/Pagination/usePagination.js.map +1 -1
  538. package/dist/esm/components/navigation/PathBar/PathBar.css.js +6 -0
  539. package/dist/esm/components/navigation/PathBar/PathBar.css.js.map +1 -0
  540. package/dist/esm/components/navigation/PathBar/PathBar.js +178 -0
  541. package/dist/esm/components/navigation/PathBar/PathBar.js.map +1 -0
  542. package/dist/esm/components/navigation/PathBar/PathBarSiblingMenu.js +145 -0
  543. package/dist/esm/components/navigation/PathBar/PathBarSiblingMenu.js.map +1 -0
  544. package/dist/esm/components/navigation/PathBar/pathUtils.js +118 -0
  545. package/dist/esm/components/navigation/PathBar/pathUtils.js.map +1 -0
  546. package/dist/esm/components/navigation/SegmentedControl/SegmentedControl.js +16 -6
  547. package/dist/esm/components/navigation/SegmentedControl/SegmentedControl.js.map +1 -1
  548. package/dist/esm/components/navigation/SegmentedControl/SegmentedControlItem.js +1 -1
  549. package/dist/esm/components/navigation/SegmentedControl/SegmentedControlItem.js.map +1 -1
  550. package/dist/esm/components/navigation/Tabs/Tab.js +10 -3
  551. package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -1
  552. package/dist/esm/components/navigation/Tabs/TabList.js +5 -2
  553. package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -1
  554. package/dist/esm/components/navigation/Tabs/TabPanel.js +1 -1
  555. package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -1
  556. package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -1
  557. package/dist/esm/components/primitives/Avatar/Avatar.js +5 -4
  558. package/dist/esm/components/primitives/Avatar/Avatar.js.map +1 -1
  559. package/dist/esm/components/primitives/Avatar/AvatarGroup.js +2 -2
  560. package/dist/esm/components/primitives/Avatar/AvatarGroup.js.map +1 -1
  561. package/dist/esm/components/primitives/Badge/Badge.js +4 -3
  562. package/dist/esm/components/primitives/Badge/Badge.js.map +1 -1
  563. package/dist/esm/components/primitives/Button/Button.js.map +1 -1
  564. package/dist/esm/components/primitives/Checkbox/Checkbox.js +6 -4
  565. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -1
  566. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +2 -2
  567. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -1
  568. package/dist/esm/components/primitives/Code/Code.js.map +1 -1
  569. package/dist/esm/components/primitives/Collapsible/Collapsible.js +2 -2
  570. package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -1
  571. package/dist/esm/components/primitives/HoverCard/HoverCard.js +5 -3
  572. package/dist/esm/components/primitives/HoverCard/HoverCard.js.map +1 -1
  573. package/dist/esm/components/primitives/Icon/Icon.js +1 -1
  574. package/dist/esm/components/primitives/Icon/Icon.js.map +1 -1
  575. package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -1
  576. package/dist/esm/components/primitives/Input/Input.js +1 -1
  577. package/dist/esm/components/primitives/Input/Input.js.map +1 -1
  578. package/dist/esm/components/primitives/Kbd/Kbd.js +1 -1
  579. package/dist/esm/components/primitives/Kbd/Kbd.js.map +1 -1
  580. package/dist/esm/components/primitives/Link/Link.js.map +1 -1
  581. package/dist/esm/components/primitives/Paper/Paper.js.map +1 -1
  582. package/dist/esm/components/primitives/Popover/Popover.js +1 -1
  583. package/dist/esm/components/primitives/Popover/PopoverClose.js +1 -1
  584. package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -1
  585. package/dist/esm/components/primitives/Popover/PopoverContent.js +6 -4
  586. package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -1
  587. package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -1
  588. package/dist/esm/components/primitives/Radio/Radio.js +3 -3
  589. package/dist/esm/components/primitives/Radio/Radio.js.map +1 -1
  590. package/dist/esm/components/primitives/Radio/RadioGroup.js +2 -2
  591. package/dist/esm/components/primitives/Radio/RadioGroup.js.map +1 -1
  592. package/dist/esm/components/primitives/Switch/Switch.js +1 -1
  593. package/dist/esm/components/primitives/Switch/Switch.js.map +1 -1
  594. package/dist/esm/components/primitives/Text/Text.js.map +1 -1
  595. package/dist/esm/components/primitives/TextArea/TextArea.js +3 -4
  596. package/dist/esm/components/primitives/TextArea/TextArea.js.map +1 -1
  597. package/dist/esm/components/primitives/Tooltip/Arrow.js +1 -1
  598. package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -1
  599. package/dist/esm/components/primitives/Tooltip/Tooltip.js +9 -7
  600. package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -1
  601. package/dist/esm/components/primitives/Tooltip/utils.js +1 -1
  602. package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -1
  603. package/dist/esm/components/primitives/VisuallyHidden/VisuallyHidden.js.map +1 -1
  604. package/dist/esm/components/primitives/canvas/CanvasContainer.js +1 -1
  605. package/dist/esm/components/primitives/canvas/CanvasContainer.js.map +1 -1
  606. package/dist/esm/components/primitives/canvas/canvasDrawing.js +1 -1
  607. package/dist/esm/components/primitives/canvas/canvasDrawing.js.map +1 -1
  608. package/dist/esm/components/primitives/canvas/canvasTheme.js.map +1 -1
  609. package/dist/esm/components/primitives/canvas/useCanvasRenderer.js +8 -2
  610. package/dist/esm/components/primitives/canvas/useCanvasRenderer.js.map +1 -1
  611. package/dist/esm/components/primitives/viewport/Viewport.css.js +12 -0
  612. package/dist/esm/components/primitives/viewport/Viewport.css.js.map +1 -0
  613. package/dist/esm/components/primitives/viewport/Viewport.js +189 -0
  614. package/dist/esm/components/primitives/viewport/Viewport.js.map +1 -0
  615. package/dist/esm/components/primitives/viewport/ViewportContext.js +47 -0
  616. package/dist/esm/components/primitives/viewport/ViewportContext.js.map +1 -0
  617. package/dist/esm/components/primitives/viewport/ViewportLayer.js +113 -0
  618. package/dist/esm/components/primitives/viewport/ViewportLayer.js.map +1 -0
  619. package/dist/esm/components/primitives/viewport/ViewportOverlay.js +47 -0
  620. package/dist/esm/components/primitives/viewport/ViewportOverlay.js.map +1 -0
  621. package/dist/esm/components/primitives/viewport/ViewportStore.js +210 -0
  622. package/dist/esm/components/primitives/viewport/ViewportStore.js.map +1 -0
  623. package/dist/esm/components/primitives/viewport/ViewportWorld.js +38 -0
  624. package/dist/esm/components/primitives/viewport/ViewportWorld.js.map +1 -0
  625. package/dist/esm/components/primitives/viewport/useViewportGestures.js +333 -0
  626. package/dist/esm/components/primitives/viewport/useViewportGestures.js.map +1 -0
  627. package/dist/esm/components/primitives/viewport/viewportCoords.js +37 -0
  628. package/dist/esm/components/primitives/viewport/viewportCoords.js.map +1 -0
  629. package/dist/esm/components/primitives/viewport/viewportMath.js +77 -0
  630. package/dist/esm/components/primitives/viewport/viewportMath.js.map +1 -0
  631. package/dist/esm/components/shell/AppShell/AppShell.js +1 -1
  632. package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -1
  633. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js +11 -10
  634. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js.map +1 -1
  635. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +60 -24
  636. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -1
  637. package/dist/esm/components/shell/MenuBar/MenuBar.js +23 -16
  638. package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -1
  639. package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -1
  640. package/dist/esm/components/shell/Toolbar/Toolbar.js +4 -3
  641. package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -1
  642. package/dist/esm/context/KeyboardContext.js.map +1 -1
  643. package/dist/esm/hooks/useBreakpoint/useBreakpoint.js +1 -1
  644. package/dist/esm/hooks/useBreakpoint/useBreakpoint.js.map +1 -1
  645. package/dist/esm/hooks/useClickOutside/useClickOutside.js +9 -9
  646. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  647. package/dist/esm/hooks/useClipboard/useClipboard.js +4 -0
  648. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  649. package/dist/esm/hooks/useControlledState/useControlledState.js.map +1 -1
  650. package/dist/esm/hooks/useDebounced/useDebouncedCallback.js +11 -6
  651. package/dist/esm/hooks/useDebounced/useDebouncedCallback.js.map +1 -1
  652. package/dist/esm/hooks/useDebounced/useDebouncedValue.js +16 -4
  653. package/dist/esm/hooks/useDebounced/useDebouncedValue.js.map +1 -1
  654. package/dist/esm/hooks/useDisclosure/useDisclosure.js.map +1 -1
  655. package/dist/esm/hooks/useEventCallback/useEventCallback.js +49 -0
  656. package/dist/esm/hooks/useEventCallback/useEventCallback.js.map +1 -0
  657. package/dist/esm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  658. package/dist/esm/hooks/useHotkey/useHotkey.js +7 -12
  659. package/dist/esm/hooks/useHotkey/useHotkey.js.map +1 -1
  660. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -0
  661. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  662. package/dist/esm/hooks/useIsMounted/useIsMounted.js +43 -0
  663. package/dist/esm/hooks/useIsMounted/useIsMounted.js.map +1 -0
  664. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  665. package/dist/esm/hooks/useKeyboard/utils.js.map +1 -1
  666. package/dist/esm/hooks/useLatest/useLatest.js +31 -0
  667. package/dist/esm/hooks/useLatest/useLatest.js.map +1 -0
  668. package/dist/esm/hooks/useListboxNav/useListboxNav.js +29 -13
  669. package/dist/esm/hooks/useListboxNav/useListboxNav.js.map +1 -1
  670. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +7 -1
  671. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  672. package/dist/esm/hooks/useMergedRef/useMergedRef.js +6 -1
  673. package/dist/esm/hooks/useMergedRef/useMergedRef.js.map +1 -1
  674. package/dist/esm/hooks/useNavigationHistory/useNavigationHistory.js +146 -0
  675. package/dist/esm/hooks/useNavigationHistory/useNavigationHistory.js.map +1 -0
  676. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +6 -8
  677. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  678. package/dist/esm/hooks/useTheme/useTheme.js +5 -2
  679. package/dist/esm/hooks/useTheme/useTheme.js.map +1 -1
  680. package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js +9 -4
  681. package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js.map +1 -1
  682. package/dist/esm/index.js +57 -4
  683. package/dist/esm/index.js.map +1 -1
  684. package/dist/esm/node_modules/tslib/tslib.es6.js +37 -0
  685. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -0
  686. package/dist/esm/theme/ThemeProvider.js +1 -1
  687. package/dist/esm/theme/ThemeProvider.js.map +1 -1
  688. package/dist/esm/theme/contract.css.js +1 -1
  689. package/dist/esm/theme/createCustomTheme.js +1 -1
  690. package/dist/esm/theme/createCustomTheme.js.map +1 -1
  691. package/dist/esm/theme/darkTheme.css.js +2 -2
  692. package/dist/esm/theme/darkThemeValues.js +1 -1
  693. package/dist/esm/theme/darkThemeValues.js.map +1 -1
  694. package/dist/esm/theme/lightTheme.css.js +1 -1
  695. package/dist/esm/theme/lightThemeValues.js +1 -1
  696. package/dist/esm/theme/lightThemeValues.js.map +1 -1
  697. package/dist/esm/theme/themeContractData.js +4 -4
  698. package/dist/esm/theme/themeContractData.js.map +1 -1
  699. package/dist/esm/utils/devWarn.js +1 -1
  700. package/dist/esm/utils/mathExpression.js +1 -1
  701. package/dist/esm/utils/mathExpression.js.map +1 -1
  702. package/dist/tokens/tokens.dark.css +1 -1
  703. package/dist/tokens/tokens.json +1 -1
  704. package/dist/tokens/tokens.light.css +1 -1
  705. package/dist/types/components/Icons/AddIcon.d.ts +1 -1
  706. package/dist/types/components/Icons/AiChatIcon.d.ts +1 -1
  707. package/dist/types/components/Icons/AiSparklesIcon.d.ts +1 -1
  708. package/dist/types/components/Icons/ArchiveIcon.d.ts +1 -1
  709. package/dist/types/components/Icons/ArrowDownIcon.d.ts +1 -1
  710. package/dist/types/components/Icons/ArrowLeftIcon.d.ts +1 -1
  711. package/dist/types/components/Icons/ArrowRightIcon.d.ts +1 -1
  712. package/dist/types/components/Icons/ArrowUpIcon.d.ts +1 -1
  713. package/dist/types/components/Icons/BookmarkIcon.d.ts +1 -1
  714. package/dist/types/components/Icons/BugIcon.d.ts +1 -1
  715. package/dist/types/components/Icons/BuildingIcon.d.ts +1 -1
  716. package/dist/types/components/Icons/CalendarIcon.d.ts +1 -1
  717. package/dist/types/components/Icons/CheckIcon.d.ts +1 -1
  718. package/dist/types/components/Icons/ChevronDownIcon.d.ts +1 -1
  719. package/dist/types/components/Icons/ChevronLeftIcon.d.ts +1 -1
  720. package/dist/types/components/Icons/ChevronRightIcon.d.ts +1 -1
  721. package/dist/types/components/Icons/ChevronUpIcon.d.ts +1 -1
  722. package/dist/types/components/Icons/CircleIcon.d.ts +1 -1
  723. package/dist/types/components/Icons/ClockIcon.d.ts +1 -1
  724. package/dist/types/components/Icons/CloseIcon.d.ts +1 -1
  725. package/dist/types/components/Icons/CloudUploadIcon.d.ts +1 -1
  726. package/dist/types/components/Icons/CodeIcon.d.ts +1 -1
  727. package/dist/types/components/Icons/CopyIcon.d.ts +1 -1
  728. package/dist/types/components/Icons/CutIcon.d.ts +1 -1
  729. package/dist/types/components/Icons/DotsHorizontalIcon.d.ts +1 -1
  730. package/dist/types/components/Icons/DotsVerticalIcon.d.ts +1 -1
  731. package/dist/types/components/Icons/DownloadIcon.d.ts +1 -1
  732. package/dist/types/components/Icons/EditIcon.d.ts +1 -1
  733. package/dist/types/components/Icons/ErrorIcon.d.ts +1 -1
  734. package/dist/types/components/Icons/ExternalLinkIcon.d.ts +1 -1
  735. package/dist/types/components/Icons/EyeDropperIcon.d.ts +1 -1
  736. package/dist/types/components/Icons/EyeIcon.d.ts +1 -1
  737. package/dist/types/components/Icons/FileTextIcon.d.ts +1 -1
  738. package/dist/types/components/Icons/FilterIcon.d.ts +1 -1
  739. package/dist/types/components/Icons/FirstIcon.d.ts +1 -1
  740. package/dist/types/components/Icons/FolderCogIcon.d.ts +1 -1
  741. package/dist/types/components/Icons/FolderIcon.d.ts +1 -1
  742. package/dist/types/components/Icons/FolderOpenIcon.d.ts +1 -1
  743. package/dist/types/components/Icons/FullscreenIcon.d.ts +1 -1
  744. package/dist/types/components/Icons/GitBranchIcon.d.ts +1 -1
  745. package/dist/types/components/Icons/GridIcon.d.ts +1 -1
  746. package/dist/types/components/Icons/HeartIcon.d.ts +1 -1
  747. package/dist/types/components/Icons/HelpIcon.d.ts +1 -1
  748. package/dist/types/components/Icons/HomeIcon.d.ts +1 -1
  749. package/dist/types/components/Icons/ImageIcon.d.ts +34 -0
  750. package/dist/types/components/Icons/InfoIcon.d.ts +1 -1
  751. package/dist/types/components/Icons/LastIcon.d.ts +1 -1
  752. package/dist/types/components/Icons/LinkIcon.d.ts +1 -1
  753. package/dist/types/components/Icons/ListIcon.d.ts +1 -1
  754. package/dist/types/components/Icons/LockIcon.d.ts +1 -1
  755. package/dist/types/components/Icons/MaximizeIcon.d.ts +1 -1
  756. package/dist/types/components/Icons/MenuIcon.d.ts +1 -1
  757. package/dist/types/components/Icons/MinimizeIcon.d.ts +1 -1
  758. package/dist/types/components/Icons/MinusIcon.d.ts +1 -1
  759. package/dist/types/components/Icons/PasteIcon.d.ts +1 -1
  760. package/dist/types/components/Icons/PauseIcon.d.ts +1 -1
  761. package/dist/types/components/Icons/PinIcon.d.ts +1 -1
  762. package/dist/types/components/Icons/PlayIcon.d.ts +1 -1
  763. package/dist/types/components/Icons/RedoIcon.d.ts +1 -1
  764. package/dist/types/components/Icons/RefreshIcon.d.ts +1 -1
  765. package/dist/types/components/Icons/RobotIcon.d.ts +1 -1
  766. package/dist/types/components/Icons/SaveIcon.d.ts +1 -1
  767. package/dist/types/components/Icons/SearchIcon.d.ts +1 -1
  768. package/dist/types/components/Icons/SendIcon.d.ts +1 -1
  769. package/dist/types/components/Icons/SettingsIcon.d.ts +1 -1
  770. package/dist/types/components/Icons/SortIcon.d.ts +1 -1
  771. package/dist/types/components/Icons/StarIcon.d.ts +1 -1
  772. package/dist/types/components/Icons/StopIcon.d.ts +1 -1
  773. package/dist/types/components/Icons/SuccessIcon.d.ts +1 -1
  774. package/dist/types/components/Icons/TagIcon.d.ts +1 -1
  775. package/dist/types/components/Icons/TangentAlignedIcon.d.ts +1 -1
  776. package/dist/types/components/Icons/TangentAutoIcon.d.ts +1 -1
  777. package/dist/types/components/Icons/TangentFreeIcon.d.ts +1 -1
  778. package/dist/types/components/Icons/TangentLinearIcon.d.ts +1 -1
  779. package/dist/types/components/Icons/TangentMirroredIcon.d.ts +1 -1
  780. package/dist/types/components/Icons/TangentStepIcon.d.ts +1 -1
  781. package/dist/types/components/Icons/TerminalIcon.d.ts +1 -1
  782. package/dist/types/components/Icons/TrashIcon.d.ts +1 -1
  783. package/dist/types/components/Icons/UndoIcon.d.ts +1 -1
  784. package/dist/types/components/Icons/UnlinkIcon.d.ts +1 -1
  785. package/dist/types/components/Icons/UnlockIcon.d.ts +1 -1
  786. package/dist/types/components/Icons/UploadIcon.d.ts +1 -1
  787. package/dist/types/components/Icons/UserIcon.d.ts +1 -1
  788. package/dist/types/components/Icons/UsersIcon.d.ts +1 -1
  789. package/dist/types/components/Icons/WarningIcon.d.ts +1 -1
  790. package/dist/types/components/Icons/ZoomInIcon.d.ts +1 -1
  791. package/dist/types/components/Icons/ZoomOutIcon.d.ts +1 -1
  792. package/dist/types/components/controls/CartesianPicker/CartesianPicker.types.d.ts +3 -3
  793. package/dist/types/components/controls/ColorPicker/ColorPicker.types.d.ts +2 -2
  794. package/dist/types/components/controls/ColorPicker/EyeDropper.d.ts +1 -1
  795. package/dist/types/components/controls/Combobox/Combobox.types.d.ts +1 -1
  796. package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +8 -58
  797. package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +2 -1
  798. package/dist/types/components/controls/FileTree/FileTree.d.ts +34 -0
  799. package/dist/types/components/controls/FileTree/FileTree.types.d.ts +133 -0
  800. package/dist/types/components/controls/FileTree/fileTreeIcons.d.ts +29 -0
  801. package/dist/types/components/controls/FileTree/fileTreeLabels.d.ts +19 -0
  802. package/dist/types/components/controls/FileUploader/FileUploader.types.d.ts +2 -2
  803. package/dist/types/components/controls/MultiSelect/MultiSelect.types.d.ts +1 -1
  804. package/dist/types/components/controls/NumberInput/NumberInput.d.ts +2 -2
  805. package/dist/types/components/controls/Select/Select.types.d.ts +2 -2
  806. package/dist/types/components/controls/Slider/Slider.d.ts +1 -1
  807. package/dist/types/components/controls/TagInput/TagInput.types.d.ts +2 -2
  808. package/dist/types/components/controls/TreeView/TreeView.d.ts +1 -1
  809. package/dist/types/components/controls/TreeView/TreeView.types.d.ts +24 -2
  810. package/dist/types/components/controls/VectorInput/VectorInput.types.d.ts +1 -1
  811. package/dist/types/components/data/DataTable/DataTable.types.d.ts +2 -2
  812. package/dist/types/components/editor/AssetBrowser/AssetBrowser.d.ts +13 -0
  813. package/dist/types/components/editor/AssetBrowser/AssetBrowser.types.d.ts +241 -0
  814. package/dist/types/components/editor/AssetBrowser/assetBrowserLabels.d.ts +70 -0
  815. package/dist/types/components/editor/ChatPanel/ChatMarkdownRenderer.types.d.ts +1 -1
  816. package/dist/types/components/editor/ChatPanel/ChatPanel.types.d.ts +2 -2
  817. package/dist/types/components/editor/Minimap/Minimap.d.ts +26 -0
  818. package/dist/types/components/editor/Minimap/Minimap.types.d.ts +249 -0
  819. package/dist/types/components/editor/Minimap/MinimapContext.d.ts +27 -0
  820. package/dist/types/components/editor/Minimap/MinimapCorner.d.ts +8 -0
  821. package/dist/types/components/editor/Minimap/MinimapFooter.d.ts +8 -0
  822. package/dist/types/components/editor/Minimap/MinimapStore.d.ts +17 -0
  823. package/dist/types/components/editor/Minimap/MinimapTitle.d.ts +8 -0
  824. package/dist/types/components/editor/Minimap/ViewportMinimap.d.ts +52 -0
  825. package/dist/types/components/editor/Minimap/computeBoundsFromItems.d.ts +13 -0
  826. package/dist/types/components/editor/Minimap/index.d.ts +13 -0
  827. package/dist/types/components/editor/NodeGraph/NodeGraph.d.ts +63 -0
  828. package/dist/types/components/editor/NodeGraph/NodeGraph.types.d.ts +568 -0
  829. package/dist/types/components/editor/NodeGraph/NodeGraphContext.d.ts +30 -0
  830. package/dist/types/components/editor/NodeGraph/NodeGraphNodeParts.d.ts +86 -0
  831. package/dist/types/components/editor/NodeGraph/NodeGraphNodeSection.d.ts +47 -0
  832. package/dist/types/components/editor/NodeGraph/NodeGraphPin.d.ts +57 -0
  833. package/dist/types/components/editor/NodeGraph/NodeGraphPort.d.ts +30 -0
  834. package/dist/types/components/editor/NodeGraph/NodeGraphPortVisual.d.ts +46 -0
  835. package/dist/types/components/editor/NodeGraph/NodeGraphSlots.d.ts +16 -0
  836. package/dist/types/components/editor/NodeGraph/NodeGraphStore.d.ts +256 -0
  837. package/dist/types/components/editor/NodeGraph/NodeGraphToolbar.d.ts +54 -0
  838. package/dist/types/components/editor/NodeGraph/createTypeMatchValidator.d.ts +43 -0
  839. package/dist/types/components/editor/NodeGraph/nodeGraphActions.d.ts +39 -0
  840. package/dist/types/components/editor/NodeGraph/nodeGraphIds.d.ts +16 -0
  841. package/dist/types/components/editor/NodeGraph/useNodeGraph.d.ts +103 -0
  842. package/dist/types/components/editor/PropertyInspector/PropertyInspector.types.d.ts +2 -2
  843. package/dist/types/components/editor/Timeline/Timeline.d.ts +18 -0
  844. package/dist/types/components/editor/Timeline/Timeline.types.d.ts +348 -0
  845. package/dist/types/components/editor/Timeline/TimelineContext.d.ts +51 -0
  846. package/dist/types/components/editor/Timeline/TimelineFooter.d.ts +8 -0
  847. package/dist/types/components/editor/Timeline/TimelineMinimap.d.ts +21 -0
  848. package/dist/types/components/editor/Timeline/TimelineStore.d.ts +41 -0
  849. package/dist/types/components/editor/Timeline/TimelineToolbar.d.ts +8 -0
  850. package/dist/types/components/editor/Timeline/TimelineTrackScale.d.ts +8 -0
  851. package/dist/types/components/editor/Timeline/index.d.ts +15 -0
  852. package/dist/types/components/editor/Timeline/timelineCoords.d.ts +7 -0
  853. package/dist/types/components/editor/Timeline/timelineEdits.d.ts +18 -0
  854. package/dist/types/components/editor/TransformControl/TransformControl.types.d.ts +2 -2
  855. package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.types.d.ts +1 -1
  856. package/dist/types/components/feedback/Alert/Alert.d.ts +2 -2
  857. package/dist/types/components/feedback/Alert/Alert.types.d.ts +5 -5
  858. package/dist/types/components/feedback/CommandPalette/CommandPalette.types.d.ts +1 -3
  859. package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +2 -2
  860. package/dist/types/components/feedback/Drawer/Drawer.types.d.ts +1 -1
  861. package/dist/types/components/feedback/EmptyState/EmptyState.types.d.ts +2 -2
  862. package/dist/types/components/feedback/LogView/LogView.d.ts +58 -0
  863. package/dist/types/components/feedback/LogView/LogView.types.d.ts +333 -0
  864. package/dist/types/components/feedback/LogView/LogViewBody.d.ts +15 -0
  865. package/dist/types/components/feedback/LogView/LogViewContext.d.ts +9 -0
  866. package/dist/types/components/feedback/LogView/LogViewParts.d.ts +35 -0
  867. package/dist/types/components/feedback/LogView/LogViewStore.d.ts +4 -0
  868. package/dist/types/components/feedback/LogView/logViewLabels.d.ts +9 -0
  869. package/dist/types/components/feedback/LogView/logViewUtils.d.ts +41 -0
  870. package/dist/types/components/feedback/ProgressBar/ProgressBar.types.d.ts +3 -3
  871. package/dist/types/components/feedback/Skeleton/Skeleton.types.d.ts +4 -4
  872. package/dist/types/components/feedback/Stat/Stat.types.d.ts +2 -2
  873. package/dist/types/components/feedback/Toast/Toast.types.d.ts +1 -1
  874. package/dist/types/components/form/FormHelperText.d.ts +2 -2
  875. package/dist/types/components/form/FormLabel.d.ts +1 -1
  876. package/dist/types/components/form/InputWrapper.d.ts +2 -2
  877. package/dist/types/components/layout/Accordion/Accordion.types.d.ts +2 -2
  878. package/dist/types/components/layout/Card/Card.types.d.ts +6 -6
  879. package/dist/types/components/layout/Divider/Divider.types.d.ts +2 -2
  880. package/dist/types/components/layout/Flex/Flex.d.ts +1 -1
  881. package/dist/types/components/layout/Grid/Grid.d.ts +1 -1
  882. package/dist/types/components/layout/ListItem/ListItem.types.d.ts +2 -2
  883. package/dist/types/components/layout/PageHeader/PageHeader.types.d.ts +1 -1
  884. package/dist/types/components/layout/PanelSurface/PanelSurface.types.d.ts +6 -6
  885. package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +2 -2
  886. package/dist/types/components/layout/Stack/Stack.d.ts +1 -1
  887. package/dist/types/components/navigation/Breadcrumbs/BreadcrumbItem.d.ts +1 -0
  888. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.types.d.ts +7 -0
  889. package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts +18 -3
  890. package/dist/types/components/navigation/ContextMenu/ContextMenu.types.d.ts +55 -63
  891. package/dist/types/components/navigation/Menu/Menu.d.ts +38 -35
  892. package/dist/types/components/navigation/Menu/Menu.types.d.ts +190 -71
  893. package/dist/types/components/navigation/Pagination/Pagination.types.d.ts +1 -1
  894. package/dist/types/components/navigation/PathBar/PathBar.d.ts +31 -0
  895. package/dist/types/components/navigation/PathBar/PathBar.types.d.ts +79 -0
  896. package/dist/types/components/navigation/SegmentedControl/SegmentedControl.types.d.ts +3 -3
  897. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +2 -2
  898. package/dist/types/components/primitives/Avatar/Avatar.types.d.ts +2 -2
  899. package/dist/types/components/primitives/Badge/Badge.types.d.ts +1 -1
  900. package/dist/types/components/primitives/Button/Button.d.ts +1 -1
  901. package/dist/types/components/primitives/Checkbox/Checkbox.types.d.ts +2 -2
  902. package/dist/types/components/primitives/Code/Code.types.d.ts +1 -1
  903. package/dist/types/components/primitives/Collapsible/Collapsible.types.d.ts +2 -2
  904. package/dist/types/components/primitives/HoverCard/HoverCard.types.d.ts +3 -3
  905. package/dist/types/components/primitives/Icon/Icon.d.ts +2 -2
  906. package/dist/types/components/primitives/Input/Input.d.ts +1 -1
  907. package/dist/types/components/primitives/Kbd/Kbd.types.d.ts +1 -1
  908. package/dist/types/components/primitives/Link/Link.types.d.ts +1 -1
  909. package/dist/types/components/primitives/Popover/Popover.types.d.ts +2 -2
  910. package/dist/types/components/primitives/Radio/Radio.types.d.ts +3 -3
  911. package/dist/types/components/primitives/Switch/Switch.d.ts +1 -1
  912. package/dist/types/components/primitives/TextArea/TextArea.types.d.ts +1 -1
  913. package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +1 -1
  914. package/dist/types/components/primitives/VisuallyHidden/VisuallyHidden.types.d.ts +1 -1
  915. package/dist/types/components/primitives/canvas/canvas.types.d.ts +16 -1
  916. package/dist/types/components/primitives/viewport/Viewport.d.ts +38 -0
  917. package/dist/types/components/primitives/viewport/Viewport.types.d.ts +257 -0
  918. package/dist/types/components/primitives/viewport/ViewportContext.d.ts +23 -0
  919. package/dist/types/components/primitives/viewport/ViewportLayer.d.ts +26 -0
  920. package/dist/types/components/primitives/viewport/ViewportOverlay.d.ts +27 -0
  921. package/dist/types/components/primitives/viewport/ViewportWorld.d.ts +25 -0
  922. package/dist/types/components/primitives/viewport/viewportCoords.d.ts +25 -0
  923. package/dist/types/components/primitives/viewport/viewportMath.d.ts +35 -0
  924. package/dist/types/components/shell/AppShell/AppShell.types.d.ts +2 -2
  925. package/dist/types/components/shell/FloatingPanel/FloatingPanel.types.d.ts +2 -2
  926. package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +5 -5
  927. package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +3 -3
  928. package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +5 -5
  929. package/dist/types/hooks/useDebounced/useDebouncedValue.d.ts +13 -4
  930. package/dist/types/hooks/useEventCallback/useEventCallback.d.ts +32 -0
  931. package/dist/types/hooks/useIsMounted/useIsMounted.d.ts +28 -0
  932. package/dist/types/hooks/useKeyboard/types.d.ts +1 -1
  933. package/dist/types/hooks/useLatest/useLatest.d.ts +23 -0
  934. package/dist/types/hooks/useResizeObserver/useResizeObserver.d.ts +3 -3
  935. package/dist/types/index.d.ts +65 -6
  936. package/dist/types/theme/contract.css.d.ts +1 -1
  937. package/dist/types/theme/createCustomTheme.d.ts +1 -1
  938. package/dist/types/theme/darkThemeValues.d.ts +1 -1
  939. package/dist/types/theme/lightThemeValues.d.ts +1 -1
  940. package/dist/types/theme/themeContractData.d.ts +4 -4
  941. package/dist/types/theme-values.d.ts +1 -1
  942. package/dist/types/types/keyframe.d.ts +64 -0
  943. package/package.json +29 -17
  944. package/dist/esm/assets/src/components/navigation/Menu/Menu.css.ts.vanilla-DD0c5D10.css +0 -67
  945. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +0 -53
  946. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +0 -1
  947. package/dist/esm/components/navigation/Menu/Menu.helpers.js +0 -53
  948. package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +0 -1
  949. package/dist/esm/components/navigation/Menu/useMenu.js +0 -88
  950. package/dist/esm/components/navigation/Menu/useMenu.js.map +0 -1
  951. package/dist/types/components/navigation/ContextMenu/useContextMenuTarget.d.ts +0 -5
  952. package/dist/types/components/navigation/Menu/useMenu.d.ts +0 -16
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
3
4
  import { useId, useRef, useState, useCallback, useEffect } from 'react';
4
- import { cx } from '../../../utils/cx.js';
5
5
  import { useMergedRef } from '../../../hooks/useMergedRef/useMergedRef.js';
6
6
  import { useResizeObserver } from '../../../hooks/useResizeObserver/useResizeObserver.js';
7
- import { assignInlineVars } from '@vanilla-extract/dynamic';
7
+ import { cx } from '../../../utils/cx.js';
8
8
  import { fadeMaskSizeVar, scrollbarPaddingVar, scrollbarWidthVar, viewportRecipe, fadeMaskVisible, fadeMaskHiddenStyle, fadeMaskTop, fadeMaskBase, fadeMaskBottom, fadeMaskLeft, fadeMaskRight, thumbDragging, thumbVertical, thumbBase, scrollbarVisible, scrollbarHidden, scrollbarVertical, thumbHorizontal, scrollbarHorizontal, rootAutoFill, rootStyle } from './ScrollArea.css.js';
9
9
 
10
10
  // --- Component ---
@@ -19,11 +19,19 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
19
19
  const [hThumbOffset, setHThumbOffset] = useState(0);
20
20
  const [hasVOverflow, setHasVOverflow] = useState(false);
21
21
  const [hasHOverflow, setHasHOverflow] = useState(false);
22
+ // Scroll position as a 0–100 percentage, exposed via aria-valuenow. Kept in
23
+ // state (updated in recalculate) so it stays reactive instead of being read
24
+ // from the viewport ref during render.
25
+ const [vScrollPercent, setVScrollPercent] = useState(0);
26
+ const [hScrollPercent, setHScrollPercent] = useState(0);
22
27
  // Visibility state
23
28
  const [scrollbarVisibleState, setScrollbarVisibleState] = useState(scrollbarVisibility === 'always');
24
29
  const hideTimerRef = useRef(null);
25
30
  const [isDragging, setIsDragging] = useState(false);
31
+ // Ref drives synchronous reads in the move handler; the state mirror is used
32
+ // for the thumb's dragging class during render.
26
33
  const dragAxisRef = useRef(null);
34
+ const [dragAxis, setDragAxis] = useState(null);
27
35
  const dragStartRef = useRef({ pointerPos: 0, scrollPos: 0 });
28
36
  // Fade mask state
29
37
  const [atTop, setAtTop] = useState(true);
@@ -41,12 +49,13 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
41
49
  const ratio = vp.clientHeight / vp.scrollHeight;
42
50
  const overflow = ratio < 1;
43
51
  setHasVOverflow(overflow);
52
+ const maxScroll = vp.scrollHeight - vp.clientHeight;
53
+ const scrollRatio = maxScroll > 0 ? vp.scrollTop / maxScroll : 0;
54
+ setVScrollPercent(Math.round(scrollRatio * 100));
44
55
  if (overflow) {
45
56
  const trackHeight = vp.clientHeight - scrollbarPadding * 2;
46
57
  const thumbH = Math.max(minThumbLength, ratio * trackHeight);
47
58
  setVThumbSize(thumbH);
48
- const maxScroll = vp.scrollHeight - vp.clientHeight;
49
- const scrollRatio = maxScroll > 0 ? vp.scrollTop / maxScroll : 0;
50
59
  setVThumbOffset(scrollRatio * (trackHeight - thumbH));
51
60
  }
52
61
  }
@@ -54,12 +63,13 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
54
63
  const ratio = vp.clientWidth / vp.scrollWidth;
55
64
  const overflow = ratio < 1;
56
65
  setHasHOverflow(overflow);
66
+ const maxScroll = vp.scrollWidth - vp.clientWidth;
67
+ const scrollRatio = maxScroll > 0 ? vp.scrollLeft / maxScroll : 0;
68
+ setHScrollPercent(Math.round(scrollRatio * 100));
57
69
  if (overflow) {
58
70
  const trackWidth = vp.clientWidth - scrollbarPadding * 2;
59
71
  const thumbW = Math.max(minThumbLength, ratio * trackWidth);
60
72
  setHThumbSize(thumbW);
61
- const maxScroll = vp.scrollWidth - vp.clientWidth;
62
- const scrollRatio = maxScroll > 0 ? vp.scrollLeft / maxScroll : 0;
63
73
  setHThumbOffset(scrollRatio * (trackWidth - thumbW));
64
74
  }
65
75
  }
@@ -131,6 +141,7 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
131
141
  return;
132
142
  setIsDragging(true);
133
143
  dragAxisRef.current = axis;
144
+ setDragAxis(axis);
134
145
  e.target.setPointerCapture(e.pointerId);
135
146
  if (axis === 'vertical') {
136
147
  dragStartRef.current = {
@@ -170,6 +181,7 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
170
181
  const handleThumbPointerUp = useCallback(() => {
171
182
  setIsDragging(false);
172
183
  dragAxisRef.current = null;
184
+ setDragAxis(null);
173
185
  }, []);
174
186
  // Track click handler
175
187
  const handleTrackClick = useCallback((axis, e) => {
@@ -186,6 +198,53 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
186
198
  vp.scrollLeft = clickRatio * (vp.scrollWidth - vp.clientWidth);
187
199
  }
188
200
  }, []);
201
+ // Keyboard scrolling for the focusable scrollbar role, mirroring the native
202
+ // scrollbar interaction model (arrows step, PageUp/Down page, Home/End jump).
203
+ const handleTrackKeyDown = useCallback((axis, e) => {
204
+ const vp = viewportRef.current;
205
+ if (!vp)
206
+ return;
207
+ const step = 40;
208
+ const isVertical = axis === 'vertical';
209
+ const page = isVertical ? vp.clientHeight : vp.clientWidth;
210
+ const maxScroll = isVertical
211
+ ? vp.scrollHeight - vp.clientHeight
212
+ : vp.scrollWidth - vp.clientWidth;
213
+ const current = isVertical ? vp.scrollTop : vp.scrollLeft;
214
+ let next;
215
+ const decKey = isVertical ? 'ArrowUp' : 'ArrowLeft';
216
+ const incKey = isVertical ? 'ArrowDown' : 'ArrowRight';
217
+ switch (e.key) {
218
+ case decKey:
219
+ next = current - step;
220
+ break;
221
+ case incKey:
222
+ next = current + step;
223
+ break;
224
+ case 'PageUp':
225
+ next = current - page;
226
+ break;
227
+ case 'PageDown':
228
+ next = current + page;
229
+ break;
230
+ case 'Home':
231
+ next = 0;
232
+ break;
233
+ case 'End':
234
+ next = maxScroll;
235
+ break;
236
+ default:
237
+ return;
238
+ }
239
+ e.preventDefault();
240
+ const clamped = Math.max(0, Math.min(next, maxScroll));
241
+ if (isVertical) {
242
+ vp.scrollTop = clamped;
243
+ }
244
+ else {
245
+ vp.scrollLeft = clamped;
246
+ }
247
+ }, []);
189
248
  // Initial measurement once the viewport is mounted.
190
249
  useEffect(() => {
191
250
  if (viewportRef.current)
@@ -202,9 +261,13 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
202
261
  const child = vp.firstElementChild;
203
262
  if (!child || typeof ResizeObserver === 'undefined')
204
263
  return;
205
- const ro = new ResizeObserver(() => recalculate());
264
+ const ro = new ResizeObserver(() => {
265
+ recalculate();
266
+ });
206
267
  ro.observe(child);
207
- return () => ro.disconnect();
268
+ return () => {
269
+ ro.disconnect();
270
+ };
208
271
  }, [recalculate]);
209
272
  // Cleanup timer
210
273
  useEffect(() => {
@@ -234,25 +297,30 @@ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'a
234
297
  : undefined),
235
298
  ...style,
236
299
  };
237
- return (jsxs("div", { className: cx(rootStyle, autoFill && rootAutoFill, className), style: rootInlineStyle, "data-testid": testId, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ...rest, children: [jsx("div", { ref: setViewportRef, id: viewportId, role: "region", tabIndex: 0, className: viewportRecipe({ direction }), onScroll: handleScroll, children: children }), fadeMask && showV && (jsxs(Fragment, { children: [jsx("div", { className: cx(fadeMaskBase, fadeMaskTop, !atTop ? fadeMaskVisible : fadeMaskHiddenStyle), "data-testid": testId ? `${testId}-fade-top` : undefined }), jsx("div", { className: cx(fadeMaskBase, fadeMaskBottom, !atBottom ? fadeMaskVisible : fadeMaskHiddenStyle), "data-testid": testId ? `${testId}-fade-bottom` : undefined })] })), fadeMask && showH && (jsxs(Fragment, { children: [jsx("div", { className: cx(fadeMaskBase, fadeMaskLeft, !atLeft ? fadeMaskVisible : fadeMaskHiddenStyle) }), jsx("div", { className: cx(fadeMaskBase, fadeMaskRight, !atRight ? fadeMaskVisible : fadeMaskHiddenStyle) })] })), showV && hasVOverflow && (jsx("div", { className: cx(scrollbarVertical, isScrollbarShown ? scrollbarVisible : scrollbarHidden), role: "scrollbar", "aria-controls": viewportId, "aria-orientation": "vertical", "aria-valuenow": Math.round(viewportRef.current
238
- ? (viewportRef.current.scrollTop /
239
- Math.max(1, viewportRef.current.scrollHeight -
240
- viewportRef.current.clientHeight)) *
241
- 100
242
- : 0), "aria-valuemin": 0, "aria-valuemax": 100, "data-testid": testId ? `${testId}-scrollbar-v` : undefined, onClick: e => handleTrackClick('vertical', e), children: jsx("div", { className: cx(thumbBase, thumbVertical, isDragging && dragAxisRef.current === 'vertical' && thumbDragging), style: {
300
+ return (jsxs("div", { className: cx(rootStyle, autoFill && rootAutoFill, className), style: rootInlineStyle, "data-testid": testId, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ...rest, children: [jsx("div", { ref: setViewportRef, id: viewportId, role: "region",
301
+ // The scroll viewport is intentionally focusable so keyboard users can
302
+ // scroll overflowing content with the arrow/page keys (native behavior
303
+ // of a focused scroll container).
304
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
305
+ tabIndex: 0, className: viewportRecipe({ direction }), onScroll: handleScroll, children: children }), fadeMask && showV && (jsxs(Fragment, { children: [jsx("div", { className: cx(fadeMaskBase, fadeMaskTop, !atTop ? fadeMaskVisible : fadeMaskHiddenStyle), "data-testid": testId ? `${testId}-fade-top` : undefined }), jsx("div", { className: cx(fadeMaskBase, fadeMaskBottom, !atBottom ? fadeMaskVisible : fadeMaskHiddenStyle), "data-testid": testId ? `${testId}-fade-bottom` : undefined })] })), fadeMask && showH && (jsxs(Fragment, { children: [jsx("div", { className: cx(fadeMaskBase, fadeMaskLeft, !atLeft ? fadeMaskVisible : fadeMaskHiddenStyle) }), jsx("div", { className: cx(fadeMaskBase, fadeMaskRight, !atRight ? fadeMaskVisible : fadeMaskHiddenStyle) })] })), showV && hasVOverflow && (jsx("div", { className: cx(scrollbarVertical, isScrollbarShown ? scrollbarVisible : scrollbarHidden), role: "scrollbar", tabIndex: 0, "aria-controls": viewportId, "aria-orientation": "vertical", "aria-valuenow": vScrollPercent, "aria-valuemin": 0, "aria-valuemax": 100, "data-testid": testId ? `${testId}-scrollbar-v` : undefined, onClick: e => {
306
+ handleTrackClick('vertical', e);
307
+ }, onKeyDown: e => {
308
+ handleTrackKeyDown('vertical', e);
309
+ }, children: jsx("div", { className: cx(thumbBase, thumbVertical, isDragging && dragAxis === 'vertical' && thumbDragging), style: {
243
310
  height: `${vThumbSize}px`,
244
311
  transform: `translateY(${vThumbOffset}px)`,
245
- }, onPointerDown: e => handleThumbPointerDown('vertical', e), onPointerMove: handleThumbPointerMove, onPointerUp: handleThumbPointerUp, "data-testid": testId ? `${testId}-thumb-v` : undefined }) })), showH && hasHOverflow && (jsx("div", { className: cx(scrollbarHorizontal, isScrollbarShown ? scrollbarVisible : scrollbarHidden), role: "scrollbar", "aria-controls": viewportId, "aria-orientation": "horizontal", "aria-valuenow": Math.round(viewportRef.current
246
- ? (viewportRef.current.scrollLeft /
247
- Math.max(1, viewportRef.current.scrollWidth -
248
- viewportRef.current.clientWidth)) *
249
- 100
250
- : 0), "aria-valuemin": 0, "aria-valuemax": 100, "data-testid": testId ? `${testId}-scrollbar-h` : undefined, onClick: e => handleTrackClick('horizontal', e), children: jsx("div", { className: cx(thumbBase, thumbHorizontal, isDragging &&
251
- dragAxisRef.current === 'horizontal' &&
252
- thumbDragging), style: {
312
+ }, onPointerDown: e => {
313
+ handleThumbPointerDown('vertical', e);
314
+ }, onPointerMove: handleThumbPointerMove, onPointerUp: handleThumbPointerUp, "data-testid": testId ? `${testId}-thumb-v` : undefined }) })), showH && hasHOverflow && (jsx("div", { className: cx(scrollbarHorizontal, isScrollbarShown ? scrollbarVisible : scrollbarHidden), role: "scrollbar", tabIndex: 0, "aria-controls": viewportId, "aria-orientation": "horizontal", "aria-valuenow": hScrollPercent, "aria-valuemin": 0, "aria-valuemax": 100, "data-testid": testId ? `${testId}-scrollbar-h` : undefined, onClick: e => {
315
+ handleTrackClick('horizontal', e);
316
+ }, onKeyDown: e => {
317
+ handleTrackKeyDown('horizontal', e);
318
+ }, children: jsx("div", { className: cx(thumbBase, thumbHorizontal, isDragging && dragAxis === 'horizontal' && thumbDragging), style: {
253
319
  width: `${hThumbSize}px`,
254
320
  transform: `translateX(${hThumbOffset}px)`,
255
- }, onPointerDown: e => handleThumbPointerDown('horizontal', e), onPointerMove: handleThumbPointerMove, onPointerUp: handleThumbPointerUp, "data-testid": testId ? `${testId}-thumb-h` : undefined }) }))] }));
321
+ }, onPointerDown: e => {
322
+ handleThumbPointerDown('horizontal', e);
323
+ }, onPointerMove: handleThumbPointerMove, onPointerUp: handleThumbPointerUp, "data-testid": testId ? `${testId}-thumb-h` : undefined }) }))] }));
256
324
  };
257
325
  ScrollArea.displayName = 'ScrollArea';
258
326
 
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollArea.js","sources":["../../../../../../src/components/layout/ScrollArea/ScrollArea.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAgCA;AAEO;AAsBL;AACA;AACA;;;;;;;;;AAWA;AAGA;;AAEA;AACA;;;;;;;;;AAYA;AACE;AACA;;;;AAIE;;;;AAIE;;;AAGA;;;;;;AAOF;;;;AAIE;;;AAGA;;;;;;AAOF;AACA;AACA;AACA;;AAEJ;;AAGA;;;;;;AAKE;AACE;;AAGF;AACE;;;;;;;;AASJ;AAEI;AACA;AACA;AAEA;AACA;;;AAGA;;;AAGF;;AAKF;;;AAGI;AACE;AACA;;;AAGN;AAEA;AACE;;;AAEO;AACL;;;;;;;;;AAWA;AACA;;;AAGA;;AAGA;;;;;;;;;;;;;AAeJ;AAEI;;AACA;AACA;;AAEA;AAEA;;;;AAIE;;;;;;;AAMA;;;;AAON;;AAEE;;;;AAME;AACA;;;AAMA;AACE;AACA;;;AAEA;AACA;;;;;;AAQqB;AAC3B;AAEA;;;;;AAME;AACA;;AACA;AACA;;;AAGA;AACA;AACF;;;AAIE;AACE;AACE;;AAEJ;;;AAKF;AAGA;AACE;AACE;AACA;AACA;;;AAGA;AACI;AAED;;;AAGH;AACI;AACD;;AAEL;;;AA2EU;;AAIQ;;;;;AAmBT;AAqBC;;AAIQ;;AAGR;;;;;AAkBD;AAUb;AAEA;;"}
1
+ {"version":3,"file":"ScrollArea.js","sources":["../../../../../../src/components/layout/ScrollArea/ScrollArea.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAmCA;AAEO;AAsBL;AACA;AACA;;;;;;;;;;;;;;AAgBA;AAGA;;;;AAIA;;AAIA;;;;;;;;;AAYA;AACE;AACA;;;;AAIE;;;AAGA;;;;AAIE;;;;;;;AAQF;;;AAGA;;;;AAIE;;;;;;;AAQF;AACA;AACA;AACA;;AAEJ;;AAGA;;;;;;AAKE;AACE;;AAGF;AACE;;;;;;;;AASJ;AAEI;AACA;AACA;AAEA;AACA;;;AAGA;;;AAGF;;AAKF;;;AAGI;AACE;AACA;;;AAGN;AAEA;AACE;;;AAEO;AACL;;;;;;;;;AAWA;AACA;;;AAGA;;;AAIA;;;;;;;;;;;;;AAeJ;AAEI;;AACA;AACA;;AAEA;AAEA;;;;AAIE;;;;;;;AAMA;;;;AAON;;AAEE;;;;;AAOE;AACA;;;AAMA;AACE;AACA;;;AAEA;AACA;;;;;;AAUF;AACA;;;AAGA;AACA;;AAEE;;AAEF;AAEA;;;AAIA;AACE;AACE;;AAEF;AACE;;AAEF;AACE;;AAEF;AACE;;AAEF;;;AAGA;;;AAGA;;;;AAKF;;AAEE;;;AAEA;;;;;;AAQqB;AAC3B;AAEA;;;;;AAME;AACA;;AACA;AACA;;AAEA;AACE;AACF;AACA;AACA;;AAEA;AACF;;;AAIE;AACE;AACE;;AAEJ;;;AAKF;AAGA;AACE;AACE;AACA;AACA;;;AAGA;AACI;AAED;;;AAGH;AACI;AACD;;AAEL;;AAGF;;;;;;AAgFU;AACF;AAEE;;;;AAYC;AAEC;AACF;AAwBA;AACF;AAEE;;;;AAYC;AAEC;;AAUd;AAEA;;"}
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
3
4
  import React, { useRef, useState, useMemo, useCallback, useEffect } from 'react';
4
- import { cx } from '../../../utils/cx.js';
5
+ import { useLatest } from '../../../hooks/useLatest/useLatest.js';
5
6
  import { useResizeObserver } from '../../../hooks/useResizeObserver/useResizeObserver.js';
6
- import { assignInlineVars } from '@vanilla-extract/dynamic';
7
+ import { cx } from '../../../utils/cx.js';
7
8
  import { dividerSizeVar, dividerRecipe, containerRecipe } from './SplitPane.css.js';
8
9
 
9
10
  // ---------------------------------------------------------------------------
@@ -201,24 +202,20 @@ const SplitPane = ({ direction = 'horizontal', panels: panelConfigs = [], sizes:
201
202
  // Which sizes array to use
202
203
  const isControlled = controlledSizes !== undefined;
203
204
  const sizes = isControlled ? controlledSizes : internalSizes;
204
- // Stable reference to panelConfigs for use in effects/callbacks
205
+ // Stable reference to panelConfigs for use in effects/callbacks. The
206
+ // serialized key is the deliberate deep-equality dependency, so panelConfigs
207
+ // itself is intentionally absent from the array.
205
208
  const panelConfigsKey = JSON.stringify(panelConfigs);
209
+ // eslint-disable-next-line react-hooks/exhaustive-deps
206
210
  const stablePanelConfigs = useMemo(() => panelConfigs, [panelConfigsKey]);
207
- // Keep a ref so the ResizeObserver callback always reads latest values
208
- const latestRef = useRef({
211
+ // Keep a ref so the ResizeObserver callback always reads latest values.
212
+ const latestRef = useLatest({
209
213
  panelCount,
210
214
  dividerSize,
211
215
  direction,
212
216
  isControlled,
213
217
  panelConfigs: stablePanelConfigs,
214
218
  });
215
- latestRef.current = {
216
- panelCount,
217
- dividerSize,
218
- direction,
219
- isControlled,
220
- panelConfigs: stablePanelConfigs,
221
- };
222
219
  // -----------------------------------------------------------------------
223
220
  // Initial size calculation + ResizeObserver
224
221
  // -----------------------------------------------------------------------
@@ -246,7 +243,8 @@ const SplitPane = ({ direction = 'horizontal', panels: panelConfigs = [], sizes:
246
243
  return reconcileSizesToAvailableSpace(computeInitialSizes(count, cfgs, availableSpace), cfgs, availableSpace, collapsed);
247
244
  });
248
245
  }
249
- }, []);
246
+ // latestRef is a stable useLatest ref; listed to satisfy the rule.
247
+ }, [latestRef]);
250
248
  const getAvailableSpace = useCallback(() => {
251
249
  const container = containerRef.current;
252
250
  if (!container || panelCount < 2)
@@ -393,7 +391,7 @@ const SplitPane = ({ direction = 'horizontal', panels: panelConfigs = [], sizes:
393
391
  const handlePointerUp = useCallback((_dividerIndex, e) => {
394
392
  e.target.releasePointerCapture(e.pointerId);
395
393
  setDraggingIndex(null);
396
- if (isControlled && controlledSizes) {
394
+ if (isControlled) {
397
395
  onResizeEnd?.(controlledSizes);
398
396
  }
399
397
  else {
@@ -533,12 +531,27 @@ const SplitPane = ({ direction = 'horizontal', panels: panelConfigs = [], sizes:
533
531
  if (i < panelCount - 1) {
534
532
  const leftSize = sizes[i] ?? 0;
535
533
  const leftCfg = panelConfigs[i];
536
- elements.push(jsx("div", { role: "separator", tabIndex: 0, "aria-orientation": direction === 'horizontal' ? 'vertical' : 'horizontal', "aria-valuenow": Math.round(leftSize), "aria-valuemin": leftCfg?.minSize ?? 0, "aria-valuemax": leftCfg?.maxSize ?? undefined, "aria-label": "Panel divider", "data-testid": testId ? `${testId}-divider-${i}` : undefined, className: dividerRecipe({
534
+ elements.push(
535
+ // Focusable window-splitter: a separator with aria-valuenow that the
536
+ // user can move with the keyboard is an interactive separator per the
537
+ // WAI-ARIA window splitter pattern, which jsx-a11y does not model.
538
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
539
+ jsx("div", { role: "separator",
540
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
541
+ tabIndex: 0, "aria-orientation": direction === 'horizontal' ? 'vertical' : 'horizontal', "aria-valuenow": Math.round(leftSize), "aria-valuemin": leftCfg?.minSize ?? 0, "aria-valuemax": leftCfg?.maxSize ?? undefined, "aria-label": "Panel divider", "data-testid": testId ? `${testId}-divider-${i}` : undefined, className: dividerRecipe({
537
542
  direction,
538
543
  isDragging: draggingIndex === i || undefined,
539
544
  }), style: assignInlineVars({
540
545
  [dividerSizeVar]: `${dividerSize}px`,
541
- }), onPointerDown: e => handlePointerDown(i, e), onPointerMove: e => handlePointerMove(i, e), onPointerUp: e => handlePointerUp(i, e), onKeyDown: e => handleKeyDown(i, e) }, `divider-${i}`));
546
+ }), onPointerDown: e => {
547
+ handlePointerDown(i, e);
548
+ }, onPointerMove: e => {
549
+ handlePointerMove(i, e);
550
+ }, onPointerUp: e => {
551
+ handlePointerUp(i, e);
552
+ }, onKeyDown: e => {
553
+ handleKeyDown(i, e);
554
+ } }, `divider-${i}`));
542
555
  }
543
556
  });
544
557
  return (jsx("div", { ref: setContainerRef, className: cx(containerRecipe({ direction }), className), "data-testid": testId, style: style, ...htmlProps, children: elements }));
@@ -1 +1 @@
1
- {"version":3,"file":"SplitPane.js","sources":["../../../../../../src/components/layout/SplitPane/SplitPane.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAmBA;AACA;AACA;AAEA;;;AAGG;AACH;;AAIiC;;AACM;;AAErC;AACE;AACA;AAAwB;;AAE1B;AACF;AAEA;;AAEG;AACH;AAKE;AAGI;AACA;AAAU;;AAEZ;;;AAKF;AACE;AACE;;;AAEA;;;AAIJ;AACA;AAGA;AACF;AAEA;;AAEG;AACH;;AAMI;AACA;AAAU;;AAEV;;AAEA;;AACA;AACF;AACF;AAEA;;;AAGG;AACH;AAKE;;AAEA;AACE;AACA;AACD;AACD;;AAIA;AACE;AACE;AAA+B;AAC/B;AACF;AAEA;;AAEE;;;;;AAIE;;AACA;;;;AAIF;;;;AAEG;;AAEL;AACE;AAA+B;AAC/B;AACF;AAEA;;AAEE;;;;;AAIE;;AACA;;;;AAIF;;;;AAIJ;AACF;AAEA;;;;AAIG;AACH;;;;;;;;;AAiBE;AACE;;AAEA;AACA;AACA;;AAGA;AACE;;;;AAGA;;;;AAKF;;;;AAGA;;;;AAKJ;AAEA;AACA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;AAcG;;AAgBD;;;;;AAMA;AACA;;;AAIA;;AAGA;;;;AAKA;;;;;;;AAQE;AACD;;;;;;AAMC;;;;;AAOF;AACE;;AAQA;;;AAGA;AAEA;;AAGE;;AAEE;;AAEE;AACA;AACE;;AAOF;AACA;;;AAUF;AAMF;;;AAIJ;AACE;AACA;AAAkC;AAElC;;AAGI;;AACmB;;;;;AAMvB;AACF;;;;;;;AAOC;AAED;;;;;;;;AAYI;AACA;AACF;;;;AAQE;AACA;AAEA;;AAEA;;;AAKA;AACA;AAEA;AACA;AACA;AACA;AAEA;;AAGA;AACA;;AAGA;AACA;;;;AAMA;;AAEE;;AAEE;AACE;;;;;AAIF;;;AAIJ;;AAEE;;AAEE;AACE;;;;;AAIF;;;;;;;;;;;;;;AAaF;AACA;;AAGA;;AAEE;;AACK;;AAEL;;;;;;AAOF;;;AAEA;;;AAGA;;;AAEA;;AAEF;AAEA;AACA;AACA;AACA;;;;;;;AAcA;AACF;;;;;;;;AASC;;;;AAQC;AACE;;;AAEA;;;;;;;AAYF;;;;AAMA;AACE;;AACK;AACL;;AACK;;AAEL;AACA;;AAEE;;AAEA;;;AAKA;;AAEE;AACA;AACA;;AAIA;;;;AAGA;AACA;AACA;;;AAGC;AACD;;;;;AAMF;AACA;;;;;;;;;AAUJ;AAEA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACE;;;AAGF;AACE;;;AAGF;AACE;;;AAGF;AACE;;;AAIF;AACA;AACA;;;;;;;AAaA;AACF;;;;;;;;;AAUC;;;;AAOH;AAEI;AACA;;;AAEO;AACJ;;AAEL;;;;;;;;AAaA;;;AAGE;;;;AAKF;;AAWA;;AAEE;AAEA;;AAeM;AACD;AAEC;;;AASV;AAEA;AAWF;AAEA;;"}
1
+ {"version":3,"file":"SplitPane.js","sources":["../../../../../../src/components/layout/SplitPane/SplitPane.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAuBA;AACA;AACA;AAEA;;;AAGG;AACH;;AAIiC;;AACM;;AAErC;AACE;AACA;AAAwB;;AAE1B;AACF;AAEA;;AAEG;AACH;AAKE;AAGI;AACA;AAAU;;AAEZ;;;AAKF;AACE;AACE;;;AAEA;;;AAIJ;AACA;AAGA;AACF;AAEA;;AAEG;AACH;;AAMI;AACA;AAAU;;AAEV;;AAEA;;AACA;AACF;AACF;AAEA;;;AAGG;AACH;AAKE;;AAEA;AACE;AACA;AACD;AACD;;AAIA;AACE;AACE;AAA+B;AAC/B;AACF;AAEA;;AAEE;;;;;AAIE;;AACA;;;;AAIF;;;;AAEG;;AAEL;AACE;AAA+B;AAC/B;AACF;AAEA;;AAEE;;;;;AAIE;;AACA;;;;AAIF;;;;AAIJ;AACF;AAEA;;;;AAIG;AACH;;;;;;;;;AAiBE;AACE;;AAEA;AACA;AACA;;AAGA;AACE;;;;AAGA;;;;AAKF;;;;AAGA;;;;AAKJ;AAEA;AACA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;AAcG;;AAgBD;;;;;AAMA;AACA;;;AAIA;;AAGA;;;;;;;AAQA;;;;;;;AAQE;AACD;;;;AAMD;AACE;;AAQA;;;AAGA;AAEA;;AAGE;;AAEE;;AAEE;AACA;AACE;;AAOF;AACA;;;AAUF;AAMF;;;AAGJ;AAEA;AACE;AACA;AAAkC;AAElC;;AAGI;;AACmB;;;;;AAMvB;AACF;;;;;;;AAOC;AAED;;;;;;;;AAYI;AACA;AACF;;;;AAQE;AACA;AAEA;;AAEA;;;AAKA;AACA;AAEA;AACA;AACA;AACA;AAEA;;AAGA;AACA;;AAGA;AACA;;;;AAMA;;AAEE;;AAEE;AACE;;;;;AAIF;;;AAIJ;;AAEE;;AAEE;AACE;;;;;AAIF;;;;;;;;;;;;;;AAaF;AACA;;AAGA;;AAEE;;AACK;;AAEL;;;;;;AAOF;;;AAEA;;;AAGA;;;AAEA;;AAEF;AAEA;AACA;AACA;AACA;;;;;;;AAcA;AACF;;;;;;;;AASC;;;;;AASG;;;AAEA;;;;;;;AAYF;;;;AAMA;AACE;;AACK;AACL;;AACK;;AAEL;AACA;;AAEE;;AAEA;;;AAKA;;AAEE;AACA;AACA;;AAIA;;;;AAGA;AACA;AACA;;;AAGC;AACD;;;;;AAMF;AACA;;;;;;;;;AAUJ;AAEA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACE;;;AAGF;AACE;;;AAGF;AACE;;;AAGF;AACE;;;AAIF;AACA;AACA;;;;;;;AAaA;AACF;;;;;;;;;AAUC;;;;AAOH;AAEI;AACA;;;AAEO;AACL;;AAEJ;;;;;;;;AAaA;;;AAGE;;;;AAKF;;AAWA;;AAEE;AAEA;;;;;;;;;AAoBM;AACD;AAEC;AACD;AAEC;AACF;AAEE;AACF;AAEE;AACF;AAEE;AACF;;AAIR;AAEA;AAWF;AAEA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SplitPanePanel.js","sources":["../../../../../../src/components/layout/SplitPane/SplitPanePanel.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOA;;;;;;;;;;;;;AAaG;;AASD;AAYF;AAEA;;"}
1
+ {"version":3,"file":"SplitPanePanel.js","sources":["../../../../../../src/components/layout/SplitPane/SplitPanePanel.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAUA;;;;;;;;;;;;;AAaG;;AASD;AAYF;AAEA;;"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { cx } from '../../../utils/cx.js';
4
3
  import { assignInlineVars } from '@vanilla-extract/dynamic';
4
+ import { cx } from '../../../utils/cx.js';
5
5
  import { gapVar, stackRecipe } from './Stack.css.js';
6
6
 
7
7
  /** Base spacing unit in px */
@@ -28,6 +28,10 @@ import '../../primitives/TextArea/TextArea.js';
28
28
  import { Tooltip } from '../../primitives/Tooltip/Tooltip.js';
29
29
  import '../../primitives/VisuallyHidden/VisuallyHidden.js';
30
30
  import '../../primitives/canvas/CanvasContainer.js';
31
+ import '../../primitives/viewport/Viewport.js';
32
+ import '../../primitives/viewport/ViewportLayer.js';
33
+ import '../../primitives/viewport/ViewportWorld.js';
34
+ import '../../primitives/viewport/ViewportOverlay.js';
31
35
  import { cx } from '../../../utils/cx.js';
32
36
  import { breadcrumbEllipsisButtonStyle, breadcrumbEllipsisTextStyle, breadcrumbEllipsisStyle } from './Breadcrumbs.css.js';
33
37
 
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbEllipsis.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/BreadcrumbEllipsis.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;;;;;;AAOG;;AAED;AAEI;;AA8BF;AAGJ;;"}
1
+ {"version":3,"file":"BreadcrumbEllipsis.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/BreadcrumbEllipsis.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;;;;;;AAOG;;AAED;AAEI;;AA8BF;AAGJ;;"}
@@ -28,6 +28,10 @@ import '../../primitives/TextArea/TextArea.js';
28
28
  import { Tooltip } from '../../primitives/Tooltip/Tooltip.js';
29
29
  import '../../primitives/VisuallyHidden/VisuallyHidden.js';
30
30
  import '../../primitives/canvas/CanvasContainer.js';
31
+ import '../../primitives/viewport/Viewport.js';
32
+ import '../../primitives/viewport/ViewportLayer.js';
33
+ import '../../primitives/viewport/ViewportWorld.js';
34
+ import '../../primitives/viewport/ViewportOverlay.js';
31
35
  import { cx } from '../../../utils/cx.js';
32
36
  import { breadcrumbIconStyle, breadcrumbLabelStyle, breadcrumbContentRecipe, breadcrumbItemStyle } from './Breadcrumbs.css.js';
33
37
 
@@ -55,7 +59,7 @@ function getTruncatedLabel(children, maxLength) {
55
59
  * <BreadcrumbItem isCurrent>Button</BreadcrumbItem>
56
60
  * ```
57
61
  */
58
- const BreadcrumbItem = /*#__PURE__*/ React.memo(({ href, onClick, isCurrent = false, icon, maxLength, children, className, style, testId, ref, ...rest }) => {
62
+ const BreadcrumbItem = /*#__PURE__*/ React.memo(({ href, onClick, isCurrent = false, icon, maxLength, endContent, children, className, style, testId, ref, ...rest }) => {
59
63
  const { label, fullLabel } = getTruncatedLabel(children, maxLength);
60
64
  const isInteractive = (href !== undefined || onClick !== undefined) && !isCurrent;
61
65
  const state = isCurrent ? 'current' : isInteractive ? 'link' : 'disabled';
@@ -82,7 +86,7 @@ const BreadcrumbItem = /*#__PURE__*/ React.memo(({ href, onClick, isCurrent = fa
82
86
  else {
83
87
  inner = (jsx("span", { className: breadcrumbContentRecipe({ state }), children: content }));
84
88
  }
85
- return (jsx("li", { ref: ref, className: cx(breadcrumbItemStyle, className), style: style, "data-testid": testId, ...rest, children: fullLabel ? (jsx(Tooltip, { title: fullLabel, delay: 300, children: inner })) : (inner) }));
89
+ return (jsxs("li", { ref: ref, className: cx(breadcrumbItemStyle, className), style: style, "data-testid": testId, ...rest, children: [fullLabel ? (jsx(Tooltip, { title: fullLabel, delay: 300, children: inner })) : (inner), endContent] }));
86
90
  });
87
91
  BreadcrumbItem.displayName = 'BreadcrumbItem';
88
92
 
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbItem.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/BreadcrumbItem.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAGI;AACA;;;AAKF;;;AAGE;;AAEJ;AAEA;;;;;;;;;;;AAWG;AACI;AAcH;AACA;AAEA;AAEA;AAEI;;;AAIA;;AAEE;;AAEJ;;AAWF;;AAGE;;;AASA;;;AAMA;;;AAYA;;;AAsBJ;AAGF;;"}
1
+ {"version":3,"file":"BreadcrumbItem.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/BreadcrumbItem.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;AAGI;AACA;;;AAKF;;;AAGE;;AAEJ;AAEA;;;;;;;;;;;AAWG;AACI;AAeH;AACA;AAEA;AAEA;AAEI;;;AAIA;;AAEE;;AAEJ;;AAWF;;AAGE;;;AASA;;;AAMA;;;AAYA;;;AAuBJ;AAGF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbSeparator.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/BreadcrumbSeparator.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAOA;;;;;;;AAOG;;AAED;AAEI;AAYF;AAGJ;;"}
1
+ {"version":3,"file":"BreadcrumbSeparator.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/BreadcrumbSeparator.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAUA;;;;;;;AAOG;;AAED;AAEI;AAYF;AAGJ;;"}
@@ -32,6 +32,7 @@ import '../../Icons/GridIcon.js';
32
32
  import '../../Icons/HeartIcon.js';
33
33
  import '../../Icons/HelpIcon.js';
34
34
  import '../../Icons/HomeIcon.js';
35
+ import '../../Icons/ImageIcon.js';
35
36
  import '../../Icons/InfoIcon.js';
36
37
  import '../../Icons/LastIcon.js';
37
38
  import '../../Icons/LinkIcon.js';
@@ -90,8 +91,8 @@ import '../../Icons/PinIcon.js';
90
91
  import { cx } from '../../../utils/cx.js';
91
92
  import { BreadcrumbEllipsis } from './BreadcrumbEllipsis.js';
92
93
  import { BreadcrumbItem } from './BreadcrumbItem.js';
93
- import { BreadcrumbSeparator } from './BreadcrumbSeparator.js';
94
94
  import { breadcrumbsListRecipe, breadcrumbsRootRecipe } from './Breadcrumbs.css.js';
95
+ import { BreadcrumbSeparator } from './BreadcrumbSeparator.js';
95
96
 
96
97
  function isComponentElement(child, component) {
97
98
  return React.isValidElement(child) && child.type === component;
@@ -154,7 +155,11 @@ const Breadcrumbs = /*#__PURE__*/ React.memo(({ separator = jsx(ArrowRightIcon,
154
155
  .join(' / ');
155
156
  const collapsedTrail = [
156
157
  ...visibleBefore,
157
- jsx(BreadcrumbEllipsis, { onClick: expandable ? () => setExpanded(true) : undefined, tooltip: collapsedLabels || undefined }, "breadcrumb-ellipsis"),
158
+ jsx(BreadcrumbEllipsis, { onClick: expandable
159
+ ? () => {
160
+ setExpanded(true);
161
+ }
162
+ : undefined, tooltip: collapsedLabels || undefined }, "breadcrumb-ellipsis"),
158
163
  ...visibleAfter,
159
164
  ];
160
165
  return withSeparators(collapsedTrail, separator);
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;AAIE;AACF;AAEA;AACE;;AAIE;;AAGF;AACF;AAEA;AAIE;;AAGI;AACI;;AAID;AAET;AAEA;;;;;;;;;;;;;;;AAeG;AACI;;AAiBH;;AAEE;;AAQE;AACE;AACA;;AAGJ;AAOA;AACE;AACE;AACA;;;;;AAMJ;AAEA;;;;;AAUA;AACE;;AAMA;;AAGF;AACF;;;;;;;;AAQC;;AAcH;AAGF;;"}
1
+ {"version":3,"file":"Breadcrumbs.js","sources":["../../../../../../src/components/navigation/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA;AAIE;AACF;AAEA;AACE;;AAIE;;AAGF;AACF;AAEA;AAIE;;AAGI;AACI;;AAID;AAET;AAEA;;;;;;;;;;;;;;;AAeG;AACI;;AAiBH;;AAEE;;AAQE;AACE;AACA;;AAGJ;AAOA;AACE;AACE;AACA;;;;;AAMJ;AAEA;;;;;AAUA;AACE;AACA;;;;;AAWA;;AAGF;AACF;;;;;;;;AAQC;;AAcH;AAGF;;"}
@@ -1,46 +1,52 @@
1
1
  "use client";
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import React, { useMemo } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
4
3
  import { ContextMenu as ContextMenu$1 } from '@base-ui/react/context-menu';
5
- import { CheckIcon } from '../../Icons/CheckIcon.js';
6
- import { CircleIcon } from '../../Icons/CircleIcon.js';
7
- import { Text } from '../../primitives/Text/Text.js';
4
+ import React from 'react';
5
+ import { menuContentStyle } from '../Menu/Menu.css.js';
6
+ import { MenuGapContext, DEFAULT_MENU_GAP } from '../Menu/MenuGapContext.js';
8
7
  import { cx } from '../../../utils/cx.js';
9
- import { Menu } from '../Menu/Menu.js';
10
- import { useMenu, createItemClickHandler } from '../Menu/useMenu.js';
11
- import { renderItemWithSubmenu } from '../Menu/Menu.helpers.js';
12
- import { separatorStyle, menuContentStyle } from '../Menu/Menu.css.js';
13
- import { useContextMenuTarget } from './useContextMenuTarget.js';
14
8
 
15
- function ContextMenu({ config, selectedItems = {}, onChange, children, payload, checkboxIcon = jsx(CheckIcon, { size: "sm" }), radioIcon = jsx(CircleIcon, { size: "sm" }), disabled = false, className, style, testId, ref, ...rest }) {
16
- const { handleItemClick, isItemSelected, toggleSubmenu } = useMenu(selectedItems, onChange);
17
- const { context, onContextMenuCapture } = useContextMenuTarget(payload);
18
- const resolvedConfig = useMemo(() => {
19
- return typeof config === 'function' ? config(context) : config;
20
- }, [config, context]);
21
- const menuItems = useMemo(() => {
22
- return resolvedConfig.groups.map((group, groupIndex) => {
23
- const items = group.items.map(item => {
24
- const isSelected = isItemSelected(group.id, item.id);
25
- const clickHandler = createItemClickHandler(item, group, handleItemClick, toggleSubmenu);
26
- return renderItemWithSubmenu(item, group, isSelected, checkboxIcon, radioIcon, selectedItems, clickHandler, onChange, Menu);
27
- });
28
- const showSeparator = groupIndex < resolvedConfig.groups.length - 1 &&
29
- resolvedConfig.groups.length > 1;
30
- return (jsxs(React.Fragment, { children: [jsxs(ContextMenu$1.Group, { children: [group.label && (jsx(ContextMenu$1.GroupLabel, { children: jsx(Text, { variant: "caption", color: "muted", weight: "semibold", children: group.label }) })), group.itemSelectionType === 'radio' ? (jsx(ContextMenu$1.RadioGroup, { value: selectedItems[group.id]?.[0] ?? '', children: items })) : (items)] }), showSeparator && (jsx(ContextMenu$1.Separator, { className: separatorStyle }))] }, group.id));
31
- });
32
- }, [
33
- resolvedConfig,
34
- isItemSelected,
35
- handleItemClick,
36
- toggleSubmenu,
37
- checkboxIcon,
38
- radioIcon,
39
- selectedItems,
40
- onChange,
41
- ]);
42
- return (jsxs(ContextMenu$1.Root, { disabled: disabled, children: [jsx(ContextMenu$1.Trigger, { onContextMenuCapture: onContextMenuCapture, style: { display: 'contents' }, children: children }), jsx(ContextMenu$1.Portal, { children: jsx(ContextMenu$1.Positioner, { children: jsx(ContextMenu$1.Popup, { ref: ref, className: cx(menuContentStyle, className), style: style, "data-testid": testId, ...rest, children: menuItems }) }) })] }));
43
- }
9
+ /**
10
+ * Right-click context menu, built on `@base-ui/react` ContextMenu primitives.
11
+ *
12
+ * Compose the trigger area and content as children. Reuse the shared `Menu.*`
13
+ * primitives for items, or pass a fully custom panel into
14
+ * `ContextMenu.Content`. Define separate menus per area by giving each area its
15
+ * own `ContextMenu`.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <ContextMenu>
20
+ * <ContextMenu.Trigger>
21
+ * <div className="viewport">Right-click me</div>
22
+ * </ContextMenu.Trigger>
23
+ * <ContextMenu.Content>
24
+ * <Menu.Item icon={<CutIcon />} shortcut="⌘X">Cut</Menu.Item>
25
+ * <Menu.Item icon={<CopyIcon />} shortcut="⌘C">Copy</Menu.Item>
26
+ * </ContextMenu.Content>
27
+ * </ContextMenu>
28
+ * ```
29
+ */
30
+ const ContextMenuRoot = ({ children, open, defaultOpen, onOpenChange, disabled, gap = DEFAULT_MENU_GAP, ref, }) => {
31
+ const actionsRef = React.useRef(null);
32
+ React.useImperativeHandle(ref, () => ({ close: () => actionsRef.current?.close() }), []);
33
+ return (jsx(MenuGapContext.Provider, { value: gap, children: jsx(ContextMenu$1.Root, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange, disabled: disabled, actionsRef: actionsRef, children: children }) }));
34
+ };
35
+ ContextMenuRoot.displayName = 'ContextMenu';
36
+ const ContextMenuTrigger = ({ children, render, className, style, testId, ref, ...rest }) => (jsx(ContextMenu$1.Trigger, { ref: ref, render: render, className: className,
37
+ // With `render`, the user's element is the trigger, so no wrapper is
38
+ // needed; otherwise wrap so the trigger is transparent to layout.
39
+ style: render ? style : { display: 'contents', ...style }, "data-testid": testId, ...rest, children: render ? undefined : children }));
40
+ ContextMenuTrigger.displayName = 'ContextMenu.Trigger';
41
+ const ContextMenuContent = ({ children, className, testId, ref, ...rest }) => (jsx(ContextMenu$1.Portal, { children: jsx(ContextMenu$1.Positioner, { children: jsx(ContextMenu$1.Popup, { ref: ref, className: cx(menuContentStyle, className), "data-testid": testId, ...rest, children: children }) }) }));
42
+ ContextMenuContent.displayName = 'ContextMenu.Content';
43
+ /**
44
+ * Compound ContextMenu API. Items reuse the shared `Menu.*` primitives.
45
+ */
46
+ const ContextMenu = /*#__PURE__*/ Object.assign(ContextMenuRoot, {
47
+ Trigger: ContextMenuTrigger,
48
+ Content: ContextMenuContent,
49
+ });
44
50
 
45
51
  export { ContextMenu };
46
52
  //# sourceMappingURL=ContextMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.js","sources":["../../../../../../src/components/navigation/ContextMenu/ContextMenu.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;AAeM;AAeJ;;AAMA;AACE;AACF;AAEA;;;AAGM;AACA;;AAkBF;;AAIE;;AA2BJ;AACF;;;;;;;;;AASC;AAED;AAuBF;;"}
1
+ {"version":3,"file":"ContextMenu.js","sources":["../../../../../../src/components/navigation/ContextMenu/ContextMenu.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAmBA;;;;;;;;;;;;;;;;;;;;AAoBG;AACH;;;AAeE;AAaF;AACA;AAEA;;;AAeI;AAOJ;AAEA;AAoBA;AAEA;;AAEG;AACI;AACL;AACA;AACD;;"}
@@ -1,16 +1,13 @@
1
- import './../../../assets/src/components/navigation/Menu/Menu.css.ts.vanilla-DD0c5D10.css';
1
+ import './../../../assets/src/components/navigation/Menu/Menu.css.ts.vanilla-B5iVe5S2.css';
2
2
 
3
- var checkboxItemStyle = 'Menu_interactiveItemBase__1pkkb711';
4
- var chevronIconStyle = 'Menu_chevronIconStyle__1pkkb717';
5
- var iconContainerStyle = 'Menu_iconContainerStyle__1pkkb714';
6
- var iconHiddenStyle = 'Menu_iconHiddenStyle__1pkkb716';
7
- var iconVisibleStyle = 'Menu_iconVisibleStyle__1pkkb715';
3
+ var groupLabelStyle = 'Menu_groupLabelStyle__1pkkb716';
4
+ var itemEndSlotStyle = 'Menu_itemEndSlotStyle__1pkkb714';
5
+ var itemLabelStyle = 'Menu_itemLabelStyle__1pkkb713';
6
+ var itemStartSlotStyle = 'Menu_itemStartSlotStyle__1pkkb712';
8
7
  var menuContentStyle = 'Menu_menuContentStyle__1pkkb710';
9
- var menuItemContentStyle = 'Menu_menuItemContentStyle__1pkkb713';
10
- var menuItemDisabledStyle = 'Menu_menuItemDisabledStyle__1pkkb712';
11
- var menuItemStyle = 'Menu_interactiveItemBase__1pkkb711';
12
- var radioItemStyle = 'Menu_interactiveItemBase__1pkkb711';
13
- var separatorStyle = 'Menu_separatorStyle__1pkkb718';
8
+ var menuItemStyle = 'Menu_menuItemStyle__1pkkb711';
9
+ var separatorStyle = 'Menu_separatorStyle__1pkkb717';
10
+ var shortcutStyle = 'Menu_shortcutStyle__1pkkb715';
14
11
 
15
- export { checkboxItemStyle, chevronIconStyle, iconContainerStyle, iconHiddenStyle, iconVisibleStyle, menuContentStyle, menuItemContentStyle, menuItemDisabledStyle, menuItemStyle, radioItemStyle, separatorStyle };
12
+ export { groupLabelStyle, itemEndSlotStyle, itemLabelStyle, itemStartSlotStyle, menuContentStyle, menuItemStyle, separatorStyle, shortcutStyle };
16
13
  //# sourceMappingURL=Menu.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Menu.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}