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
@@ -0,0 +1,91 @@
1
+ "use client";
2
+ import { useMemo, useCallback } from 'react';
3
+ import { nextGridIndex } from './assetBrowserKeyboard.js';
4
+
5
+ /**
6
+ * 2D grid keyboard navigation for `AssetBrowserGrid`. Handles arrows, Home/End,
7
+ * PageUp/PageDown, Enter (activate), Space (toggle), Ctrl/Cmd+A (select all),
8
+ * Escape (clear). `onKeyDown` is a `useCallback` — the selection/navigation
9
+ * callbacks it depends on are themselves stable, and the handler is only spread
10
+ * onto the grid `onKeyDown` so re-attaching on layout changes is free.
11
+ *
12
+ * Alt+ArrowUp is intentionally **not** handled here — it bubbles to the root's
13
+ * "go to parent" handler when `history` is on.
14
+ */
15
+ function useAssetGridKeyboardNav(options) {
16
+ const { store, items, win, scrollerRef, selectionMode, selectAll, clearSelection, activateItem, toggleSelectId, selectByKeyboard, scrollIndexIntoView, } = options;
17
+ const indexById = useMemo(() => {
18
+ const map = new Map();
19
+ items.forEach((item, i) => map.set(item.id, i));
20
+ return map;
21
+ }, [items]);
22
+ const onKeyDown = useCallback((event) => {
23
+ const count = items.length;
24
+ if (count === 0)
25
+ return;
26
+ const key = event.key;
27
+ // Let Alt+ArrowUp bubble to the root's "go to parent" handler.
28
+ if (event.altKey && key === 'ArrowUp')
29
+ return;
30
+ const focusedId = store.getFocusedId();
31
+ const current = focusedId ? (indexById.get(focusedId) ?? -1) : -1;
32
+ const multiple = selectionMode === 'multiple';
33
+ if ((event.ctrlKey || event.metaKey) && (key === 'a' || key === 'A')) {
34
+ event.preventDefault();
35
+ selectAll();
36
+ return;
37
+ }
38
+ if (key === 'Escape') {
39
+ clearSelection();
40
+ return;
41
+ }
42
+ if (key === 'Enter') {
43
+ const item = current >= 0 ? items[current] : undefined;
44
+ if (item) {
45
+ event.preventDefault();
46
+ activateItem(item);
47
+ }
48
+ return;
49
+ }
50
+ if (key === ' ') {
51
+ const item = current >= 0 ? items[current] : undefined;
52
+ if (item) {
53
+ event.preventDefault();
54
+ toggleSelectId(item.id);
55
+ }
56
+ return;
57
+ }
58
+ const rowsPerPage = Math.max(1, Math.floor((scrollerRef.current?.clientHeight ?? win.rowHeight) / win.rowHeight));
59
+ const next = nextGridIndex(current, key, {
60
+ columns: win.columns,
61
+ count,
62
+ rowsPerPage,
63
+ });
64
+ const target = next >= 0 ? items[next] : undefined;
65
+ if (next !== current && target) {
66
+ event.preventDefault();
67
+ store.setFocusedId(target.id);
68
+ scrollIndexIntoView(next, win);
69
+ if (selectionMode !== false) {
70
+ selectByKeyboard(next, multiple && event.shiftKey);
71
+ }
72
+ }
73
+ }, [
74
+ store,
75
+ items,
76
+ win,
77
+ scrollerRef,
78
+ selectionMode,
79
+ indexById,
80
+ selectAll,
81
+ clearSelection,
82
+ activateItem,
83
+ toggleSelectId,
84
+ selectByKeyboard,
85
+ scrollIndexIntoView,
86
+ ]);
87
+ return { onKeyDown };
88
+ }
89
+
90
+ export { useAssetGridKeyboardNav };
91
+ //# sourceMappingURL=useAssetGridKeyboardNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetGridKeyboardNav.js","sources":["../../../../../../src/components/editor/AssetBrowser/useAssetGridKeyboardNav.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAgCA;;;;;;;;;AASG;AACG;;AAiBJ;AACE;;AAEA;AACF;AAEA;AAEI;;;AAEA;;AAEA;;AACA;;AAEA;;;AAIE;;;AAGF;AACE;;;AAGF;AACE;;;;;;;AAOF;AACE;;;AAGE;;;;AAKJ;AAMA;;;;AAIC;AACD;AACA;;AAEE;AACA;AACA;;;;AAIJ;;;;;;;;;;;;;AAcC;;AAIL;;"}
@@ -0,0 +1,91 @@
1
+ "use client";
2
+ import { useState, useEffect, useMemo } from 'react';
3
+ import '../../../utils/devWarn.js';
4
+ import { useResizeObserver } from '../../../hooks/useResizeObserver/useResizeObserver.js';
5
+ import '../../../hooks/useBreakpoint/useBreakpoint.js';
6
+ import './../../../assets/src/theme/lightTheme.css.ts.vanilla-Ct6f9Iym.css';
7
+ import '../../../node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js';
8
+ import './../../../assets/src/theme/darkTheme.css.ts.vanilla-BHZ3ecRn.css';
9
+ import 'react/jsx-runtime';
10
+ import './../../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
11
+ import '../../../hooks/useNavigationHistory/useNavigationHistory.js';
12
+ import { columnsFor, rowHeight } from './assetBrowserGeometry.js';
13
+
14
+ /**
15
+ * Windowed grid math. Tracks container width + height via `useResizeObserver`
16
+ * and scroll position via a throttled (rAF) scroll listener, then derives the
17
+ * row-aligned slice of items to render.
18
+ *
19
+ * When `enabled` is false it still reports `columns`/`rowHeight` (needed for
20
+ * keyboard navigation) but renders the whole list.
21
+ */
22
+ function useAssetGridVirtualizer(options) {
23
+ const { containerRef, count, thumbPx, overscanRows, enabled } = options;
24
+ const [size, setSize] = useState({ width: 0, height: 0 });
25
+ const [scrollTop, setScrollTop] = useState(0);
26
+ useResizeObserver(containerRef, entry => {
27
+ setSize({
28
+ width: entry.contentRect.width,
29
+ height: entry.contentRect.height,
30
+ });
31
+ });
32
+ useEffect(() => {
33
+ const el = containerRef.current;
34
+ if (!el || !enabled)
35
+ return;
36
+ let raf = 0;
37
+ const onScroll = () => {
38
+ cancelAnimationFrame(raf);
39
+ raf = requestAnimationFrame(() => {
40
+ setScrollTop(el.scrollTop);
41
+ });
42
+ };
43
+ el.addEventListener('scroll', onScroll, { passive: true });
44
+ return () => {
45
+ el.removeEventListener('scroll', onScroll);
46
+ cancelAnimationFrame(raf);
47
+ };
48
+ }, [containerRef, enabled]);
49
+ return useMemo(() => {
50
+ const columns = columnsFor(size.width, thumbPx);
51
+ const rh = rowHeight(thumbPx);
52
+ const totalRows = Math.ceil(count / columns);
53
+ const totalHeight = totalRows * rh;
54
+ if (!enabled) {
55
+ return {
56
+ columns,
57
+ rowHeight: rh,
58
+ totalRows,
59
+ totalHeight,
60
+ startIndex: 0,
61
+ endIndex: count,
62
+ offsetY: 0,
63
+ windowed: false,
64
+ };
65
+ }
66
+ const startRow = Math.max(0, Math.floor(scrollTop / rh) - overscanRows);
67
+ const viewportRows = Math.ceil((size.height || rh) / rh);
68
+ const endRow = Math.min(totalRows, startRow + viewportRows + overscanRows * 2);
69
+ return {
70
+ columns,
71
+ rowHeight: rh,
72
+ totalRows,
73
+ totalHeight,
74
+ startIndex: startRow * columns,
75
+ endIndex: Math.min(count, endRow * columns),
76
+ offsetY: startRow * rh,
77
+ windowed: true,
78
+ };
79
+ }, [
80
+ size.width,
81
+ size.height,
82
+ scrollTop,
83
+ count,
84
+ thumbPx,
85
+ overscanRows,
86
+ enabled,
87
+ ]);
88
+ }
89
+
90
+ export { useAssetGridVirtualizer };
91
+ //# sourceMappingURL=useAssetGridVirtualizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetGridVirtualizer.js","sources":["../../../../../../src/components/editor/AssetBrowser/useAssetGridVirtualizer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAkCA;;;;;;;AAOG;AACG;AAGJ;AACA;;AAGA;AACE;AACE;AACA;AACD;AACH;;AAGE;AACA;;;;;AAIE;AACE;AACF;AACF;AACA;AACA;AACE;;AAEF;AACF;;;AAIE;;AAEA;;;;AAKI;;;AAGA;AACA;AACA;AACA;;;AAIJ;AACA;AACA;;;AAOE;;;;;;AAMA;;AAEJ;AACE;AACA;;;;;;AAMD;AACH;;"}
@@ -0,0 +1,128 @@
1
+ "use client";
2
+ import { useRef, useCallback, useEffect } from 'react';
3
+ import '../../../utils/devWarn.js';
4
+ import { useLatest } from '../../../hooks/useLatest/useLatest.js';
5
+ import '../../../hooks/useBreakpoint/useBreakpoint.js';
6
+ import './../../../assets/src/theme/lightTheme.css.ts.vanilla-Ct6f9Iym.css';
7
+ import '../../../node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js';
8
+ import './../../../assets/src/theme/darkTheme.css.ts.vanilla-BHZ3ecRn.css';
9
+ import 'react/jsx-runtime';
10
+ import './../../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
11
+ import '../../../hooks/useNavigationHistory/useNavigationHistory.js';
12
+ import { useAssetBrowserStore } from './AssetBrowserContext.js';
13
+ import { rectFromPoints, rectsIntersect, itemRect } from './assetBrowserGeometry.js';
14
+
15
+ /**
16
+ * Pointer-driven rubber-band selection for the grid. The active rect lives in
17
+ * the AssetBrowser store (so the marquee overlay can subscribe via its own
18
+ * slice), while pointer-move updates are RAF-throttled. The hit-test runs once
19
+ * on pointer-up and reports through `commitMarquee`.
20
+ *
21
+ * Handlers have stable identities (`useCallback`) and read the latest props
22
+ * through `useLatest` refs, matching `component-patterns.md` rules #3/#11.
23
+ */
24
+ function useAssetMarqueeGesture(options) {
25
+ const { scrollerRef, enabled, items, columns, thumbPx, commitMarquee } = options;
26
+ const store = useAssetBrowserStore();
27
+ const dragRef = useRef(null);
28
+ const rafRef = useRef(0);
29
+ const enabledRef = useLatest(enabled);
30
+ const itemsRef = useLatest(items);
31
+ const columnsRef = useLatest(columns);
32
+ const thumbPxRef = useLatest(thumbPx);
33
+ const commitMarqueeRef = useLatest(commitMarquee);
34
+ const contentPoint = useCallback((event) => {
35
+ const el = scrollerRef.current;
36
+ if (!el)
37
+ return { x: 0, y: 0 };
38
+ const rect = el.getBoundingClientRect();
39
+ return {
40
+ x: event.clientX - rect.left + el.scrollLeft,
41
+ y: event.clientY - rect.top + el.scrollTop,
42
+ };
43
+ }, [scrollerRef]);
44
+ const onPointerDown = useCallback((event) => {
45
+ if (event.button !== 0 || !enabledRef.current)
46
+ return;
47
+ // Started on an item, not empty space — let the item handle the click.
48
+ if (event.target !== event.currentTarget)
49
+ return;
50
+ const p = contentPoint(event);
51
+ dragRef.current = {
52
+ startX: p.x,
53
+ startY: p.y,
54
+ additive: event.ctrlKey || event.metaKey,
55
+ moved: false,
56
+ };
57
+ scrollerRef.current?.setPointerCapture(event.pointerId);
58
+ store.setMarquee({
59
+ active: true,
60
+ rect: { x: p.x, y: p.y, width: 0, height: 0 },
61
+ additive: dragRef.current.additive,
62
+ });
63
+ }, [store, scrollerRef, contentPoint, enabledRef]);
64
+ const onPointerMove = useCallback((event) => {
65
+ const drag = dragRef.current;
66
+ if (!drag)
67
+ return;
68
+ drag.moved = true;
69
+ cancelAnimationFrame(rafRef.current);
70
+ const p = contentPoint(event);
71
+ rafRef.current = requestAnimationFrame(() => {
72
+ store.setMarquee({
73
+ active: true,
74
+ rect: rectFromPoints(drag.startX, drag.startY, p.x, p.y),
75
+ additive: drag.additive,
76
+ });
77
+ });
78
+ }, [store, contentPoint]);
79
+ const onPointerUp = useCallback((event) => {
80
+ const drag = dragRef.current;
81
+ if (!drag)
82
+ return;
83
+ cancelAnimationFrame(rafRef.current);
84
+ dragRef.current = null;
85
+ scrollerRef.current?.releasePointerCapture(event.pointerId);
86
+ const p = contentPoint(event);
87
+ const rect = rectFromPoints(drag.startX, drag.startY, p.x, p.y);
88
+ const ids = [];
89
+ const currentItems = itemsRef.current;
90
+ for (let i = 0; i < currentItems.length; i += 1) {
91
+ const item = currentItems[i];
92
+ if (!item || item.selectable === false)
93
+ continue;
94
+ if (rectsIntersect(rect, itemRect(i, columnsRef.current, thumbPxRef.current))) {
95
+ ids.push(item.id);
96
+ }
97
+ }
98
+ commitMarqueeRef.current(ids, drag.additive);
99
+ store.clearMarquee();
100
+ }, [
101
+ store,
102
+ scrollerRef,
103
+ contentPoint,
104
+ itemsRef,
105
+ columnsRef,
106
+ thumbPxRef,
107
+ commitMarqueeRef,
108
+ ]);
109
+ // Abort an in-flight marquee without committing a selection. Fires on a
110
+ // system/touch `pointercancel`, which would otherwise leave `dragRef` set and
111
+ // the marquee rect stuck active in the store until the next pointer-down.
112
+ const onPointerCancel = useCallback((event) => {
113
+ if (!dragRef.current)
114
+ return;
115
+ cancelAnimationFrame(rafRef.current);
116
+ dragRef.current = null;
117
+ scrollerRef.current?.releasePointerCapture(event.pointerId);
118
+ store.clearMarquee();
119
+ }, [store, scrollerRef]);
120
+ // Cancel any in-flight RAF on unmount.
121
+ useEffect(() => () => {
122
+ cancelAnimationFrame(rafRef.current);
123
+ }, []);
124
+ return { onPointerDown, onPointerMove, onPointerUp, onPointerCancel };
125
+ }
126
+
127
+ export { useAssetMarqueeGesture };
128
+ //# sourceMappingURL=useAssetMarqueeGesture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetMarqueeGesture.js","sources":["../../../../../../src/components/editor/AssetBrowser/useAssetMarqueeGesture.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;AA8CA;;;;;;;;AAQG;AACG;AAGJ;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEI;AACA;;AACA;;;;;AAKF;AAIF;;;;AAII;;AACA;;;;AAIE;AACA;;;;AAIA;;AAEA;AACD;;AAKL;AAEI;AACA;;AACA;AACA;AACA;AACA;;AAEI;AACA;;AAED;AACH;AACF;AAIF;AAEI;AACA;;AACA;AACA;;AAEA;;;AAGA;AACA;AACE;AACA;;AACA;AAME;;;;;AAKN;;;;;;;;AASC;;;;AAMH;;;AAGI;AACA;;;AAGF;;AAKF;AAEI;;;AAMN;;"}
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ import { useCallback } from 'react';
3
+ import '../../../utils/devWarn.js';
4
+ import { useLatest } from '../../../hooks/useLatest/useLatest.js';
5
+ import '../../../hooks/useBreakpoint/useBreakpoint.js';
6
+ import './../../../assets/src/theme/lightTheme.css.ts.vanilla-Ct6f9Iym.css';
7
+ import '../../../node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js';
8
+ import './../../../assets/src/theme/darkTheme.css.ts.vanilla-BHZ3ecRn.css';
9
+ import 'react/jsx-runtime';
10
+ import './../../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
11
+ import '../../../hooks/useNavigationHistory/useNavigationHistory.js';
12
+
13
+ function isEditableTarget(target) {
14
+ if (!(target instanceof HTMLElement))
15
+ return false;
16
+ return (target.tagName === 'INPUT' ||
17
+ target.tagName === 'TEXTAREA' ||
18
+ target.isContentEditable);
19
+ }
20
+ /**
21
+ * View-agnostic mutation keyboard shortcuts. The same handler is exposed through
22
+ * context (`mutationKeyDown`) and attached by each view to its own scroller —
23
+ * the grid (merged with its 2D nav) and the list wrapper — so the shortcuts
24
+ * work identically in both without relying on event bubbling to the root.
25
+ *
26
+ * - **F2** — inline-rename the focused item, or the sole selected item (the list
27
+ * has no store roving-focus, so it falls back to a single selection).
28
+ * - **Delete** (and **⌘⌫** on macOS) — delete the selection. Plain `Backspace`
29
+ * stays reserved for the root's "go to parent" shortcut.
30
+ * - **Ctrl/⌘+D** — duplicate the selection.
31
+ *
32
+ * Each shortcut is a no-op unless its mutation callback is wired, and all are
33
+ * skipped while the focus is in an editable element (search box, rename field).
34
+ * The handler is `useCallback`-stable; live state is read through `useLatest`.
35
+ */
36
+ function useAssetMutationKeyboard(options) {
37
+ const { store, mutations } = options;
38
+ const mutationsRef = useLatest(mutations);
39
+ const selectionRef = useLatest(options.selection);
40
+ const onKeyDown = useCallback((event) => {
41
+ if (isEditableTarget(event.target))
42
+ return;
43
+ const key = event.key;
44
+ const m = mutationsRef.current;
45
+ if ((event.ctrlKey || event.metaKey) &&
46
+ (key === 'd' || key === 'D') &&
47
+ m.canDuplicate) {
48
+ event.preventDefault();
49
+ m.duplicateItems();
50
+ return;
51
+ }
52
+ if (key === 'F2' && m.canRename) {
53
+ const focusedId = store.getFocusedId();
54
+ const sel = selectionRef.current;
55
+ const targetId = focusedId ?? (sel.size === 1 ? [...sel][0] : undefined);
56
+ if (targetId !== undefined) {
57
+ event.preventDefault();
58
+ m.beginRename(targetId);
59
+ }
60
+ return;
61
+ }
62
+ if ((key === 'Delete' || (event.metaKey && key === 'Backspace')) &&
63
+ m.canDelete) {
64
+ event.preventDefault();
65
+ m.deleteItems();
66
+ }
67
+ }, [store, mutationsRef, selectionRef]);
68
+ return { onKeyDown };
69
+ }
70
+
71
+ export { useAssetMutationKeyboard };
72
+ //# sourceMappingURL=useAssetMutationKeyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetMutationKeyboard.js","sources":["../../../../../../src/components/editor/AssetBrowser/useAssetMutationKeyboard.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AAsBA;AACE;AAAsC;AACtC;;;AAKF;AAEA;;;;;;;;;;;;;;;AAeG;AACG;AAGJ;AACA;;AAGA;AAEI;;AACA;AACA;;AAIE;;;;;;;AAQA;AACA;;AAGA;;AAEE;;;;AAIJ;;;;;;;AAYN;;"}
@@ -0,0 +1,141 @@
1
+ "use client";
2
+ import { useCallback, useMemo } from 'react';
3
+ import '../../../utils/devWarn.js';
4
+ import { useLatest } from '../../../hooks/useLatest/useLatest.js';
5
+ import '../../../hooks/useBreakpoint/useBreakpoint.js';
6
+ import './../../../assets/src/theme/lightTheme.css.ts.vanilla-Ct6f9Iym.css';
7
+ import '../../../node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js';
8
+ import './../../../assets/src/theme/darkTheme.css.ts.vanilla-BHZ3ecRn.css';
9
+ import 'react/jsx-runtime';
10
+ import './../../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
11
+ import '../../../hooks/useNavigationHistory/useNavigationHistory.js';
12
+
13
+ /**
14
+ * Owns the mutation intents — inline rename (begin/commit/cancel), delete,
15
+ * create-folder, duplicate — for `AssetBrowser`. AssetBrowser is presentational:
16
+ * these report intent through the consumer's callbacks and never touch `items`.
17
+ *
18
+ * The "which cell is editing" flag lives in the store (so rename can be started
19
+ * from the keyboard, a menu, or the imperative handle — all outside the cell);
20
+ * the transient text buffer is local to the rename field. Every handler has a
21
+ * stable identity (`useCallback`) and reads the latest props through `useLatest`
22
+ * refs, matching `component-patterns.md` rules #3/#11.
23
+ */
24
+ function useAssetMutations(options) {
25
+ const { store } = options;
26
+ const canRename = options.onItemRename !== undefined;
27
+ const canDelete = options.onItemsDelete !== undefined;
28
+ const canCreateFolder = options.onCreateFolder !== undefined;
29
+ const canDuplicate = options.onItemsDuplicate !== undefined;
30
+ const displayedRef = useLatest(options.displayed);
31
+ const selectionRef = useLatest(options.selection);
32
+ const currentFolderIdRef = useLatest(options.currentFolderId);
33
+ const onItemRenameRef = useLatest(options.onItemRename);
34
+ const onItemsDeleteRef = useLatest(options.onItemsDelete);
35
+ const onCreateFolderRef = useLatest(options.onCreateFolder);
36
+ const onItemsDuplicateRef = useLatest(options.onItemsDuplicate);
37
+ /** Resolve the items an operation targets: the explicit arg, else the selection. */
38
+ const resolveTargets = useCallback((items) => {
39
+ if (items)
40
+ return [...items];
41
+ const sel = selectionRef.current;
42
+ return displayedRef.current.filter(it => sel.has(it.id));
43
+ }, [displayedRef, selectionRef]);
44
+ const beginRename = useCallback((id) => {
45
+ if (onItemRenameRef.current === undefined)
46
+ return;
47
+ store.setFocusedId(id);
48
+ store.setEditingId(id);
49
+ }, [store, onItemRenameRef]);
50
+ const cancelRename = useCallback(() => {
51
+ store.setEditingId(null);
52
+ }, [store]);
53
+ const commitRename = useCallback(async (item, newName) => {
54
+ const trimmed = newName.trim();
55
+ const cb = onItemRenameRef.current;
56
+ // Empty or unchanged → close silently without firing the callback.
57
+ if (cb === undefined || trimmed === '' || trimmed === item.name) {
58
+ store.setEditingId(null);
59
+ return true;
60
+ }
61
+ const result = await cb(item, trimmed);
62
+ // Only an explicit `false` keeps the editor open (rejected name).
63
+ const accepted = result !== false;
64
+ if (accepted)
65
+ store.setEditingId(null);
66
+ return accepted;
67
+ }, [store, onItemRenameRef]);
68
+ const deleteItems = useCallback((items) => {
69
+ const cb = onItemsDeleteRef.current;
70
+ if (cb === undefined)
71
+ return;
72
+ const targets = resolveTargets(items);
73
+ if (targets.length === 0)
74
+ return;
75
+ // Move roving focus to a survivor before the data updates, so focus
76
+ // doesn't vanish when the deleted cells unmount.
77
+ const list = displayedRef.current;
78
+ const doomed = new Set(targets.map(it => it.id));
79
+ const focusedId = store.getFocusedId();
80
+ if (focusedId !== null && doomed.has(focusedId)) {
81
+ const from = list.findIndex(it => it.id === focusedId);
82
+ let survivor = null;
83
+ for (let i = from + 1; i < list.length; i += 1) {
84
+ const it = list[i];
85
+ if (it && !doomed.has(it.id)) {
86
+ survivor = it.id;
87
+ break;
88
+ }
89
+ }
90
+ if (survivor === null) {
91
+ for (let i = from - 1; i >= 0; i -= 1) {
92
+ const it = list[i];
93
+ if (it && !doomed.has(it.id)) {
94
+ survivor = it.id;
95
+ break;
96
+ }
97
+ }
98
+ }
99
+ store.setFocusedId(survivor);
100
+ }
101
+ cb(targets);
102
+ }, [store, resolveTargets, displayedRef, onItemsDeleteRef]);
103
+ const createFolder = useCallback(() => {
104
+ onCreateFolderRef.current?.(currentFolderIdRef.current ?? null);
105
+ }, [onCreateFolderRef, currentFolderIdRef]);
106
+ const duplicateItems = useCallback((items) => {
107
+ const cb = onItemsDuplicateRef.current;
108
+ if (cb === undefined)
109
+ return;
110
+ const targets = resolveTargets(items);
111
+ if (targets.length === 0)
112
+ return;
113
+ cb(targets);
114
+ }, [resolveTargets, onItemsDuplicateRef]);
115
+ return useMemo(() => ({
116
+ canRename,
117
+ canDelete,
118
+ canCreateFolder,
119
+ canDuplicate,
120
+ beginRename,
121
+ commitRename,
122
+ cancelRename,
123
+ deleteItems,
124
+ createFolder,
125
+ duplicateItems,
126
+ }), [
127
+ canRename,
128
+ canDelete,
129
+ canCreateFolder,
130
+ canDuplicate,
131
+ beginRename,
132
+ commitRename,
133
+ cancelRename,
134
+ deleteItems,
135
+ createFolder,
136
+ duplicateItems,
137
+ ]);
138
+ }
139
+
140
+ export { useAssetMutations };
141
+ //# sourceMappingURL=useAssetMutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetMutations.js","sources":["../../../../../../src/components/editor/AssetBrowser/useAssetMutations.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AA8CA;;;;;;;;;;AAUG;AACG;AAGJ;AAEA;AACA;AACA;AACA;;;;;;;;;AAWA;AAEI;AAAW;AACX;AACA;AACF;AAIF;AAEI;;AACA;AACA;AACF;AAIF;AACE;AACF;;AAII;AACA;;AAEA;AACE;AACA;;;;AAIF;AACA;AAAc;AACd;AACF;AAIF;AAEI;;;AAEA;AACA;;;;AAGA;AACA;AACA;;AAEE;;AAEA;AACE;AACA;AACE;;;;AAIJ;AACE;AACE;AACA;AACE;;;;;AAKN;;;;AAON;;AAEA;AAEA;AAEI;;;AAEA;AACA;;;AAEF;AAIF;;;;;;;;;;;AAYG;;;;;;;;;;;AAYA;AAEL;;"}
@@ -0,0 +1,113 @@
1
+ "use client";
2
+ import { useEffect, useCallback, useMemo } from 'react';
3
+ import '../../../utils/devWarn.js';
4
+ import { useLatest } from '../../../hooks/useLatest/useLatest.js';
5
+ import '../../../hooks/useBreakpoint/useBreakpoint.js';
6
+ import './../../../assets/src/theme/lightTheme.css.ts.vanilla-Ct6f9Iym.css';
7
+ import '../../../node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js';
8
+ import './../../../assets/src/theme/darkTheme.css.ts.vanilla-BHZ3ecRn.css';
9
+ import 'react/jsx-runtime';
10
+ import './../../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
11
+ import { useNavigationHistory } from '../../../hooks/useNavigationHistory/useNavigationHistory.js';
12
+
13
+ function isEditableTarget(target) {
14
+ if (!(target instanceof HTMLElement))
15
+ return false;
16
+ return (target.tagName === 'INPUT' ||
17
+ target.tagName === 'TEXTAREA' ||
18
+ target.isContentEditable);
19
+ }
20
+ /**
21
+ * Folder navigation + back/forward stack + "go to parent" keyboard shortcuts,
22
+ * built on top of the library's `useNavigationHistory` primitive. Every handler
23
+ * has a stable identity (`useCallback`) and reads the latest props through
24
+ * `useLatest` refs, matching `component-patterns.md` rules #3/#11.
25
+ */
26
+ function useAssetNavigation(options) {
27
+ const { history, path, onNavigate, onItemOpen, currentFolderId } = options;
28
+ const histApi = useNavigationHistory({
29
+ initial: currentFolderId,
30
+ enabled: history,
31
+ });
32
+ const { push, canGoBack, canGoForward } = histApi;
33
+ const histGoBack = histApi.goBack;
34
+ const histGoForward = histApi.goForward;
35
+ // Keep the back/forward stack in sync with the controlled `currentFolderId`.
36
+ // `useNavigationHistory` only seeds `initial` once on mount, so an out-of-band
37
+ // change (deep link, "reveal in browser", or a parent that updates
38
+ // `currentFolderId` without routing through `navigate`) would otherwise leave
39
+ // the stack — and `canGoBack`/`canGoForward` — stale. `push` no-ops when the
40
+ // entry already equals the current one, so navigate/back/forward (which leave
41
+ // `current === currentFolderId`) don't double-push and the forward branch
42
+ // survives; only a genuine external change advances the stack. This is the
43
+ // "mirror React state into an external store" bridge that component-patterns.md
44
+ // §2 lists as a legitimate `useEffect` use.
45
+ useEffect(() => {
46
+ if (!history || currentFolderId === undefined)
47
+ return;
48
+ push(currentFolderId);
49
+ }, [history, currentFolderId, push]);
50
+ const onNavigateRef = useLatest(onNavigate);
51
+ const onItemOpenRef = useLatest(onItemOpen);
52
+ const historyRef = useLatest(history);
53
+ const pathRef = useLatest(path);
54
+ const navigate = useCallback((folderId, source) => {
55
+ push(folderId);
56
+ onNavigateRef.current?.(folderId, source);
57
+ }, [push, onNavigateRef]);
58
+ const goBack = useCallback(() => {
59
+ const target = histGoBack();
60
+ if (target === undefined)
61
+ return;
62
+ onNavigateRef.current?.(target, 'back');
63
+ }, [histGoBack, onNavigateRef]);
64
+ const goForward = useCallback(() => {
65
+ const target = histGoForward();
66
+ if (target === undefined)
67
+ return;
68
+ onNavigateRef.current?.(target, 'forward');
69
+ }, [histGoForward, onNavigateRef]);
70
+ const activateItem = useCallback((item) => {
71
+ if (item.kind === 'folder')
72
+ navigate(item.id, 'open');
73
+ else
74
+ onItemOpenRef.current?.(item);
75
+ }, [navigate, onItemOpenRef]);
76
+ const handleRootKeyDown = useCallback((event) => {
77
+ if (!historyRef.current)
78
+ return;
79
+ if (isEditableTarget(event.target))
80
+ return;
81
+ const goToParent = event.key === 'Backspace' || (event.altKey && event.key === 'ArrowUp');
82
+ if (!goToParent)
83
+ return;
84
+ const currentPath = pathRef.current;
85
+ const parent = currentPath[currentPath.length - 2];
86
+ if (parent) {
87
+ event.preventDefault();
88
+ navigate(parent.id, 'breadcrumb');
89
+ }
90
+ }, [navigate, historyRef, pathRef]);
91
+ return useMemo(() => ({
92
+ navigate,
93
+ activateItem,
94
+ goBack,
95
+ goForward,
96
+ canGoBack,
97
+ canGoForward,
98
+ history,
99
+ handleRootKeyDown,
100
+ }), [
101
+ navigate,
102
+ activateItem,
103
+ goBack,
104
+ goForward,
105
+ canGoBack,
106
+ canGoForward,
107
+ history,
108
+ handleRootKeyDown,
109
+ ]);
110
+ }
111
+
112
+ export { useAssetNavigation };
113
+ //# sourceMappingURL=useAssetNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetNavigation.js","sources":["../../../../../../src/components/editor/AssetBrowser/useAssetNavigation.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AAuCA;AACE;AAAsC;AACtC;;;AAKF;AAEA;;;;;AAKG;AACG;AAGJ;;AAGE;AACA;AACD;;AAED;AACA;;;;;;;;;;;;AAaE;;;;AAIF;AACA;AACA;AACA;;;;AAME;AAIF;AACE;;;;AAGF;AAEA;AACE;;;;AAGF;AAEA;AAEI;AAA4B;;AACvB;AACP;AAIF;;;AAGI;;AACA;AAEA;;AACA;;;;AAIE;;;AAMN;;;;;;;;;AAUG;;;;;;;;;AAUA;AAEL;;"}