entangle-ui 0.8.2 → 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.
- package/CHANGELOG.md +771 -0
- package/README.md +1 -1
- package/dist/esm/assets/src/components/controls/Combobox/Combobox.css.ts.vanilla-B7B5ttkq.css +210 -0
- package/dist/esm/assets/src/components/controls/FileTree/FileTree.css.ts.vanilla-YmktPvnr.css +48 -0
- package/dist/esm/assets/src/components/controls/FileUploader/FileUploader.css.ts.vanilla-T4nRiI7s.css +194 -0
- package/dist/esm/assets/src/components/controls/MultiSelect/MultiSelect.css.ts.vanilla-CdYayqaF.css +311 -0
- package/dist/esm/assets/src/components/controls/TagInput/TagInput.css.ts.vanilla-hnkMOPp1.css +141 -0
- package/dist/esm/assets/src/components/controls/TreeView/{TreeNode.css.ts.vanilla-B_f8pUb8.css → TreeNode.css.ts.vanilla-DXPJRWZZ.css} +31 -24
- package/dist/esm/assets/src/components/data/DataTable/DataTable.css.ts.vanilla-CmRgtjIW.css +231 -0
- package/dist/esm/assets/src/components/editor/AssetBrowser/AssetBrowser.css.ts.vanilla-B2S4cEiY.css +262 -0
- package/dist/esm/assets/src/components/editor/Minimap/Minimap.css.ts.vanilla--rNdWQwy.css +133 -0
- package/dist/esm/assets/src/components/editor/NodeGraph/NodeGraph.css.ts.vanilla-ClF4YZvl.css +401 -0
- package/dist/esm/assets/src/components/editor/Timeline/Timeline.css.ts.vanilla-DDX6Zalo.css +203 -0
- package/dist/esm/assets/src/components/feedback/Alert/{Alert.css.ts.vanilla-CRAI-xHx.css → Alert.css.ts.vanilla-CfCDsIEg.css} +2 -0
- package/dist/esm/assets/src/components/feedback/CommandPalette/CommandPalette.css.ts.vanilla-DGdrLKYZ.css +160 -0
- package/dist/esm/assets/src/components/feedback/Drawer/Drawer.css.ts.vanilla-CLPTOUrA.css +247 -0
- package/dist/esm/assets/src/components/feedback/LogView/LogView.css.ts.vanilla-nB5ENOpw.css +312 -0
- package/dist/esm/assets/src/components/feedback/Skeleton/SkeletonLayout.css.ts.vanilla-Db7bpqiI.css +75 -0
- package/dist/esm/assets/src/components/feedback/Stat/Stat.css.ts.vanilla-GBk3JAMB.css +69 -0
- package/dist/esm/assets/src/components/layout/Card/Card.css.ts.vanilla-Ducn1gUX.css +124 -0
- package/dist/esm/assets/src/components/navigation/Menu/Menu.css.ts.vanilla-B5iVe5S2.css +88 -0
- package/dist/esm/assets/src/components/navigation/Pagination/Pagination.css.ts.vanilla-CmlFyyjh.css +103 -0
- package/dist/esm/assets/src/components/navigation/PathBar/PathBar.css.ts.vanilla-BIEzQQOf.css +10 -0
- package/dist/esm/assets/src/components/primitives/HoverCard/HoverCard.css.ts.vanilla-BYT0qbLp.css +41 -0
- package/dist/esm/assets/src/components/primitives/viewport/Viewport.css.ts.vanilla-CkFBJ7Vo.css +65 -0
- package/dist/esm/assets/src/components/shell/FloatingPanel/{FloatingPanel.css.ts.vanilla-1rIAXEFp.css → FloatingPanel.css.ts.vanilla-CRaeYJ2b.css} +20 -13
- package/dist/esm/assets/src/theme/{darkTheme.css.ts.vanilla-ab1WD4dr.css → darkTheme.css.ts.vanilla-BHZ3ecRn.css} +3 -3
- package/dist/esm/assets/src/theme/{lightTheme.css.ts.vanilla-OaRI_wIc.css → lightTheme.css.ts.vanilla-Ct6f9Iym.css} +3 -3
- package/dist/esm/components/Icons/AddIcon.js.map +1 -1
- package/dist/esm/components/Icons/AiChatIcon.js.map +1 -1
- package/dist/esm/components/Icons/AiSparklesIcon.js.map +1 -1
- package/dist/esm/components/Icons/ArchiveIcon.js.map +1 -1
- package/dist/esm/components/Icons/ArrowDownIcon.js.map +1 -1
- package/dist/esm/components/Icons/ArrowLeftIcon.js.map +1 -1
- package/dist/esm/components/Icons/ArrowRightIcon.js.map +1 -1
- package/dist/esm/components/Icons/ArrowUpIcon.js.map +1 -1
- package/dist/esm/components/Icons/BookmarkIcon.js.map +1 -1
- package/dist/esm/components/Icons/BugIcon.js.map +1 -1
- package/dist/esm/components/Icons/BuildingIcon.js.map +1 -1
- package/dist/esm/components/Icons/CalendarIcon.js.map +1 -1
- package/dist/esm/components/Icons/CheckIcon.js.map +1 -1
- package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -1
- package/dist/esm/components/Icons/ChevronLeftIcon.js.map +1 -1
- package/dist/esm/components/Icons/ChevronRightIcon.js.map +1 -1
- package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -1
- package/dist/esm/components/Icons/CircleIcon.js.map +1 -1
- package/dist/esm/components/Icons/ClockIcon.js.map +1 -1
- package/dist/esm/components/Icons/CloseIcon.js.map +1 -1
- package/dist/esm/components/Icons/CloudUploadIcon.js +24 -0
- package/dist/esm/components/Icons/CloudUploadIcon.js.map +1 -0
- package/dist/esm/components/Icons/CodeIcon.js.map +1 -1
- package/dist/esm/components/Icons/CopyIcon.js.map +1 -1
- package/dist/esm/components/Icons/CutIcon.js.map +1 -1
- package/dist/esm/components/Icons/DotsHorizontalIcon.js.map +1 -1
- package/dist/esm/components/Icons/DotsVerticalIcon.js.map +1 -1
- package/dist/esm/components/Icons/DownloadIcon.js.map +1 -1
- package/dist/esm/components/Icons/EditIcon.js.map +1 -1
- package/dist/esm/components/Icons/ErrorIcon.js.map +1 -1
- package/dist/esm/components/Icons/ExternalLinkIcon.js +26 -0
- package/dist/esm/components/Icons/ExternalLinkIcon.js.map +1 -0
- package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -1
- package/dist/esm/components/Icons/EyeIcon.js.map +1 -1
- package/dist/esm/components/Icons/FileTextIcon.js.map +1 -1
- package/dist/esm/components/Icons/FilterIcon.js.map +1 -1
- package/dist/esm/components/Icons/FirstIcon.js +23 -0
- package/dist/esm/components/Icons/FirstIcon.js.map +1 -0
- package/dist/esm/components/Icons/FolderCogIcon.js.map +1 -1
- package/dist/esm/components/Icons/FolderIcon.js.map +1 -1
- package/dist/esm/components/Icons/FolderOpenIcon.js +2 -2
- package/dist/esm/components/Icons/FolderOpenIcon.js.map +1 -1
- package/dist/esm/components/Icons/FullscreenIcon.js.map +1 -1
- package/dist/esm/components/Icons/GitBranchIcon.js.map +1 -1
- package/dist/esm/components/Icons/GridIcon.js.map +1 -1
- package/dist/esm/components/Icons/HeartIcon.js.map +1 -1
- package/dist/esm/components/Icons/HelpIcon.js.map +1 -1
- package/dist/esm/components/Icons/HomeIcon.js.map +1 -1
- package/dist/esm/components/Icons/ImageIcon.js +31 -0
- package/dist/esm/components/Icons/ImageIcon.js.map +1 -0
- package/dist/esm/components/Icons/InfoIcon.js.map +1 -1
- package/dist/esm/components/Icons/LastIcon.js +23 -0
- package/dist/esm/components/Icons/LastIcon.js.map +1 -0
- package/dist/esm/components/Icons/LinkIcon.js.map +1 -1
- package/dist/esm/components/Icons/ListIcon.js.map +1 -1
- package/dist/esm/components/Icons/LockIcon.js.map +1 -1
- package/dist/esm/components/Icons/MaximizeIcon.js.map +1 -1
- package/dist/esm/components/Icons/MenuIcon.js.map +1 -1
- package/dist/esm/components/Icons/MinimizeIcon.js.map +1 -1
- package/dist/esm/components/Icons/MinusIcon.js.map +1 -1
- package/dist/esm/components/Icons/PasteIcon.js.map +1 -1
- package/dist/esm/components/Icons/PauseIcon.js +2 -2
- package/dist/esm/components/Icons/PauseIcon.js.map +1 -1
- package/dist/esm/components/Icons/PinIcon.js.map +1 -1
- package/dist/esm/components/Icons/PlayIcon.js.map +1 -1
- package/dist/esm/components/Icons/RedoIcon.js.map +1 -1
- package/dist/esm/components/Icons/RefreshIcon.js.map +1 -1
- package/dist/esm/components/Icons/RobotIcon.js.map +1 -1
- package/dist/esm/components/Icons/SaveIcon.js.map +1 -1
- package/dist/esm/components/Icons/SearchIcon.js.map +1 -1
- package/dist/esm/components/Icons/SendIcon.js.map +1 -1
- package/dist/esm/components/Icons/SettingsIcon.js.map +1 -1
- package/dist/esm/components/Icons/SortIcon.js.map +1 -1
- package/dist/esm/components/Icons/StarIcon.js.map +1 -1
- package/dist/esm/components/Icons/StopIcon.js.map +1 -1
- package/dist/esm/components/Icons/SuccessIcon.js.map +1 -1
- package/dist/esm/components/Icons/TagIcon.js.map +1 -1
- package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -1
- package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -1
- package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -1
- package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -1
- package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -1
- package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -1
- package/dist/esm/components/Icons/TerminalIcon.js.map +1 -1
- package/dist/esm/components/Icons/TrashIcon.js.map +1 -1
- package/dist/esm/components/Icons/UndoIcon.js.map +1 -1
- package/dist/esm/components/Icons/UnlinkIcon.js +26 -0
- package/dist/esm/components/Icons/UnlinkIcon.js.map +1 -0
- package/dist/esm/components/Icons/UnlockIcon.js.map +1 -1
- package/dist/esm/components/Icons/UploadIcon.js.map +1 -1
- package/dist/esm/components/Icons/UserIcon.js.map +1 -1
- package/dist/esm/components/Icons/UsersIcon.js.map +1 -1
- package/dist/esm/components/Icons/WarningIcon.js.map +1 -1
- package/dist/esm/components/Icons/ZoomInIcon.js.map +1 -1
- package/dist/esm/components/Icons/ZoomOutIcon.js.map +1 -1
- package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js +3 -3
- package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js.map +1 -1
- package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js +7 -5
- package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js.map +1 -1
- package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/ColorArea.js +2 -2
- package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js +16 -2
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js +3 -1
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js +6 -6
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js +3 -1
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -1
- package/dist/esm/components/controls/Combobox/Combobox.css.js +20 -0
- package/dist/esm/components/controls/Combobox/Combobox.css.js.map +1 -0
- package/dist/esm/components/controls/Combobox/Combobox.js +377 -0
- package/dist/esm/components/controls/Combobox/Combobox.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +11 -4
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -1
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js +4 -4
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -1
- package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +7 -5
- package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -1
- package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -1
- package/dist/esm/components/controls/CurveEditor/curveUtils.js +13 -15
- package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -1
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +72 -50
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -1
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +11 -3
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -1
- package/dist/esm/components/controls/FileTree/FileTree.css.js +9 -0
- package/dist/esm/components/controls/FileTree/FileTree.css.js.map +1 -0
- package/dist/esm/components/controls/FileTree/FileTree.js +246 -0
- package/dist/esm/components/controls/FileTree/FileTree.js.map +1 -0
- package/dist/esm/components/controls/FileTree/fileTreeIcons.js +129 -0
- package/dist/esm/components/controls/FileTree/fileTreeIcons.js.map +1 -0
- package/dist/esm/components/controls/FileTree/fileTreeLabels.js +8 -0
- package/dist/esm/components/controls/FileTree/fileTreeLabels.js.map +1 -0
- package/dist/esm/components/controls/FileTree/useFileTreeDrop.js +115 -0
- package/dist/esm/components/controls/FileTree/useFileTreeDrop.js.map +1 -0
- package/dist/esm/components/controls/FileUploader/FileUploader.css.js +20 -0
- package/dist/esm/components/controls/FileUploader/FileUploader.css.js.map +1 -0
- package/dist/esm/components/controls/FileUploader/FileUploader.js +261 -0
- package/dist/esm/components/controls/FileUploader/FileUploader.js.map +1 -0
- package/dist/esm/components/controls/MultiSelect/MultiSelect.css.js +23 -0
- package/dist/esm/components/controls/MultiSelect/MultiSelect.css.js.map +1 -0
- package/dist/esm/components/controls/MultiSelect/MultiSelect.js +300 -0
- package/dist/esm/components/controls/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.js +11 -4
- package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -1
- package/dist/esm/components/controls/NumberInput/useNumberInput.js +6 -2
- package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -1
- package/dist/esm/components/controls/Select/Select.js +34 -13
- package/dist/esm/components/controls/Select/Select.js.map +1 -1
- package/dist/esm/components/controls/Slider/Slider.js +6 -8
- package/dist/esm/components/controls/Slider/Slider.js.map +1 -1
- package/dist/esm/components/controls/TagInput/TagInput.css.js +12 -0
- package/dist/esm/components/controls/TagInput/TagInput.css.js.map +1 -0
- package/dist/esm/components/controls/TagInput/TagInput.js +191 -0
- package/dist/esm/components/controls/TagInput/TagInput.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeNode.css.js +9 -8
- package/dist/esm/components/controls/TreeView/TreeNode.css.js.map +1 -1
- package/dist/esm/components/controls/TreeView/TreeNode.js +123 -8
- package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -1
- package/dist/esm/components/controls/TreeView/TreeView.js +18 -6
- package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -1
- package/dist/esm/components/controls/TreeView/useTreeState.js +2 -6
- package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -1
- package/dist/esm/components/controls/VectorInput/VectorInput.js +94 -8
- package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
- package/dist/esm/components/data/DataTable/DataTable.css.js +25 -0
- package/dist/esm/components/data/DataTable/DataTable.css.js.map +1 -0
- package/dist/esm/components/data/DataTable/DataTable.js +519 -0
- package/dist/esm/components/data/DataTable/DataTable.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowser.css.js +46 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowser.css.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowser.js +254 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowser.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserAnnouncementLive.js +17 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserAnnouncementLive.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserBreadcrumbs.js +25 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserBreadcrumbs.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserContent.js +134 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserContent.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserContext.js +81 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserContext.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserContextMenu.js +123 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserContextMenu.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserDefaultMenus.js +130 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserDefaultMenus.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserGrid.js +137 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserGrid.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserGridItem.js +220 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserGridItem.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserList.js +183 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserList.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserRenameField.js +63 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserRenameField.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserSidebar.js +19 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserSidebar.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserStatusBar.js +24 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserStatusBar.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserStore.js +176 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserStore.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserSurface.js +114 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserSurface.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserToolbar.js +128 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserToolbar.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserFilter.js +90 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserFilter.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserFormat.js +32 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserFormat.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserGeometry.js +70 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserGeometry.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserKeyboard.js +62 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserKeyboard.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserLabels.js +52 -0
- package/dist/esm/components/editor/AssetBrowser/assetBrowserLabels.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/slots.js +18 -0
- package/dist/esm/components/editor/AssetBrowser/slots.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetBrowserAnnouncement.js +19 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetBrowserAnnouncement.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetBrowserHandle.js +70 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetBrowserHandle.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetBrowserViewState.js +108 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetBrowserViewState.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetDnd.js +192 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetDnd.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetGridKeyboardNav.js +91 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetGridKeyboardNav.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetGridVirtualizer.js +91 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetGridVirtualizer.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetMarqueeGesture.js +128 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetMarqueeGesture.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetMutationKeyboard.js +72 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetMutationKeyboard.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetMutations.js +141 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetMutations.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetNavigation.js +113 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetNavigation.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetSelectionController.js +174 -0
- package/dist/esm/components/editor/AssetBrowser/useAssetSelectionController.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatActionBar.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatAttachment.js +8 -2
- package/dist/esm/components/editor/ChatPanel/ChatAttachment.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatBubble.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +100 -8
- package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatContextChip.js +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatContextChip.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js +3 -1
- package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatInput.js +90 -7
- package/dist/esm/components/editor/ChatPanel/ChatInput.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatMarkdownRenderer.js +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatMarkdownRenderer.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatMessage.js +89 -3
- package/dist/esm/components/editor/ChatPanel/ChatMessage.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatMessageList.js +5 -3
- package/dist/esm/components/editor/ChatPanel/ChatMessageList.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatPanel.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatToolCall.js +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatToolCall.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/useChatInput.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/useChatMessages.js +7 -4
- package/dist/esm/components/editor/ChatPanel/useChatMessages.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/useChatScroll.js +6 -1
- package/dist/esm/components/editor/ChatPanel/useChatScroll.js.map +1 -1
- package/dist/esm/components/editor/Minimap/Minimap.css.js +18 -0
- package/dist/esm/components/editor/Minimap/Minimap.css.js.map +1 -0
- package/dist/esm/components/editor/Minimap/Minimap.js +257 -0
- package/dist/esm/components/editor/Minimap/Minimap.js.map +1 -0
- package/dist/esm/components/editor/Minimap/Minimap.types.js +11 -0
- package/dist/esm/components/editor/Minimap/Minimap.types.js.map +1 -0
- package/dist/esm/components/editor/Minimap/MinimapContext.js +48 -0
- package/dist/esm/components/editor/Minimap/MinimapContext.js.map +1 -0
- package/dist/esm/components/editor/Minimap/MinimapCorner.js +16 -0
- package/dist/esm/components/editor/Minimap/MinimapCorner.js.map +1 -0
- package/dist/esm/components/editor/Minimap/MinimapFooter.js +16 -0
- package/dist/esm/components/editor/Minimap/MinimapFooter.js.map +1 -0
- package/dist/esm/components/editor/Minimap/MinimapStore.js +166 -0
- package/dist/esm/components/editor/Minimap/MinimapStore.js.map +1 -0
- package/dist/esm/components/editor/Minimap/MinimapTitle.js +16 -0
- package/dist/esm/components/editor/Minimap/MinimapTitle.js.map +1 -0
- package/dist/esm/components/editor/Minimap/ViewportMinimap.js +69 -0
- package/dist/esm/components/editor/Minimap/ViewportMinimap.js.map +1 -0
- package/dist/esm/components/editor/Minimap/computeBoundsFromItems.js +65 -0
- package/dist/esm/components/editor/Minimap/computeBoundsFromItems.js.map +1 -0
- package/dist/esm/components/editor/Minimap/index.js +15 -0
- package/dist/esm/components/editor/Minimap/index.js.map +1 -0
- package/dist/esm/components/editor/Minimap/minimapCoords.js +105 -0
- package/dist/esm/components/editor/Minimap/minimapCoords.js.map +1 -0
- package/dist/esm/components/editor/Minimap/minimapDrawing.js +93 -0
- package/dist/esm/components/editor/Minimap/minimapDrawing.js.map +1 -0
- package/dist/esm/components/editor/Minimap/minimapHitTest.js +59 -0
- package/dist/esm/components/editor/Minimap/minimapHitTest.js.map +1 -0
- package/dist/esm/components/editor/Minimap/useMinimapGestures.js +299 -0
- package/dist/esm/components/editor/Minimap/useMinimapGestures.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraph.css.js +36 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraph.css.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraph.js +627 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraph.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraph.types.js +10 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraph.types.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphContext.js +54 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphContext.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphEdgeLabels.js +137 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphEdgeLabels.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphGroup.js +211 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphGroup.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphMinimap.js +122 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphMinimap.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNode.js +170 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNode.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeContext.js +21 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeContext.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeParts.js +56 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeParts.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSection.js +59 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSection.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSectionContext.js +17 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSectionContext.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphPin.js +35 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphPin.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphPort.js +191 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphPort.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphPortVisual.js +46 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphPortVisual.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphSlots.js +50 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphSlots.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphSpawnPalette.js +70 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphSpawnPalette.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphStore.js +543 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphStore.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphToolbar.js +100 -0
- package/dist/esm/components/editor/NodeGraph/NodeGraphToolbar.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/createTypeMatchValidator.js +37 -0
- package/dist/esm/components/editor/NodeGraph/createTypeMatchValidator.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphActions.js +53 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphActions.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphDrawing.js +461 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphDrawing.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphIds.js +31 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphIds.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphMath.js +350 -0
- package/dist/esm/components/editor/NodeGraph/nodeGraphMath.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/sortSlots.js +69 -0
- package/dist/esm/components/editor/NodeGraph/sortSlots.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useDragGesture.js +63 -0
- package/dist/esm/components/editor/NodeGraph/useDragGesture.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraph.js +207 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraph.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphConnection.js +334 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphConnection.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphEdgeInteraction.js +137 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphEdgeInteraction.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphGroupDrag.js +392 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphGroupDrag.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphKeyboard.js +164 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphKeyboard.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphNodeDrag.js +234 -0
- package/dist/esm/components/editor/NodeGraph/useNodeGraphNodeDrag.js.map +1 -0
- package/dist/esm/components/editor/NodeGraph/useStoreSlice.js +49 -0
- package/dist/esm/components/editor/NodeGraph/useStoreSlice.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +8 -4
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +90 -5
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js +100 -3
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -1
- package/dist/esm/components/editor/Timeline/Timeline.css.js +23 -0
- package/dist/esm/components/editor/Timeline/Timeline.css.js.map +1 -0
- package/dist/esm/components/editor/Timeline/Timeline.js +450 -0
- package/dist/esm/components/editor/Timeline/Timeline.js.map +1 -0
- package/dist/esm/components/editor/Timeline/Timeline.types.js +10 -0
- package/dist/esm/components/editor/Timeline/Timeline.types.js.map +1 -0
- package/dist/esm/components/editor/Timeline/TimelineContext.js +69 -0
- package/dist/esm/components/editor/Timeline/TimelineContext.js.map +1 -0
- package/dist/esm/components/editor/Timeline/TimelineFooter.js +16 -0
- package/dist/esm/components/editor/Timeline/TimelineFooter.js.map +1 -0
- package/dist/esm/components/editor/Timeline/TimelineMinimap.js +280 -0
- package/dist/esm/components/editor/Timeline/TimelineMinimap.js.map +1 -0
- package/dist/esm/components/editor/Timeline/TimelineStore.js +289 -0
- package/dist/esm/components/editor/Timeline/TimelineStore.js.map +1 -0
- package/dist/esm/components/editor/Timeline/TimelineToolbar.js +15 -0
- package/dist/esm/components/editor/Timeline/TimelineToolbar.js.map +1 -0
- package/dist/esm/components/editor/Timeline/TimelineTrackHeaders.js +142 -0
- package/dist/esm/components/editor/Timeline/TimelineTrackHeaders.js.map +1 -0
- package/dist/esm/components/editor/Timeline/TimelineTrackScale.js +18 -0
- package/dist/esm/components/editor/Timeline/TimelineTrackScale.js.map +1 -0
- package/dist/esm/components/editor/Timeline/index.js +18 -0
- package/dist/esm/components/editor/Timeline/index.js.map +1 -0
- package/dist/esm/components/editor/Timeline/timelineCoords.js +118 -0
- package/dist/esm/components/editor/Timeline/timelineCoords.js.map +1 -0
- package/dist/esm/components/editor/Timeline/timelineDrawing.js +390 -0
- package/dist/esm/components/editor/Timeline/timelineDrawing.js.map +1 -0
- package/dist/esm/components/editor/Timeline/timelineEdits.js +323 -0
- package/dist/esm/components/editor/Timeline/timelineEdits.js.map +1 -0
- package/dist/esm/components/editor/Timeline/timelineHitTest.js +153 -0
- package/dist/esm/components/editor/Timeline/timelineHitTest.js.map +1 -0
- package/dist/esm/components/editor/Timeline/timelineLayout.js +39 -0
- package/dist/esm/components/editor/Timeline/timelineLayout.js.map +1 -0
- package/dist/esm/components/editor/Timeline/timelineSelection.js +0 -0
- package/dist/esm/components/editor/Timeline/timelineSelection.js.map +1 -0
- package/dist/esm/components/editor/Timeline/useTimelineDraw.js +156 -0
- package/dist/esm/components/editor/Timeline/useTimelineDraw.js.map +1 -0
- package/dist/esm/components/editor/Timeline/useTimelineGestures.js +587 -0
- package/dist/esm/components/editor/Timeline/useTimelineGestures.js.map +1 -0
- package/dist/esm/components/editor/Timeline/useTimelinePlayback.js +85 -0
- package/dist/esm/components/editor/Timeline/useTimelinePlayback.js.map +1 -0
- package/dist/esm/components/editor/TransformControl/TransformControl.js +4 -4
- package/dist/esm/components/editor/TransformControl/TransformControl.js.map +1 -1
- package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js +8 -4
- package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js.map +1 -1
- package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js +6 -2
- package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js.map +1 -1
- package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js +8 -6
- package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js.map +1 -1
- package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js +1 -2
- package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js.map +1 -1
- package/dist/esm/components/feedback/Alert/Alert.css.js +1 -1
- package/dist/esm/components/feedback/Alert/Alert.js +11 -10
- package/dist/esm/components/feedback/Alert/Alert.js.map +1 -1
- package/dist/esm/components/feedback/Alert/AlertActions.js.map +1 -1
- package/dist/esm/components/feedback/Alert/AlertDescription.js.map +1 -1
- package/dist/esm/components/feedback/Alert/AlertTitle.js.map +1 -1
- package/dist/esm/components/feedback/CommandPalette/CommandPalette.css.js +20 -0
- package/dist/esm/components/feedback/CommandPalette/CommandPalette.css.js.map +1 -0
- package/dist/esm/components/feedback/CommandPalette/CommandPalette.js +271 -0
- package/dist/esm/components/feedback/CommandPalette/CommandPalette.js.map +1 -0
- package/dist/esm/components/feedback/CommandPalette/fuzzySearch.js +86 -0
- package/dist/esm/components/feedback/CommandPalette/fuzzySearch.js.map +1 -0
- package/dist/esm/components/feedback/CommandPalette/useRecentItems.js +65 -0
- package/dist/esm/components/feedback/CommandPalette/useRecentItems.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/Dialog.js +6 -3
- package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -1
- package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -1
- package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -1
- package/dist/esm/components/feedback/Dialog/DialogHeader.js +3 -2
- package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -1
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +10 -2
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -1
- package/dist/esm/components/feedback/Drawer/Drawer.css.js +17 -0
- package/dist/esm/components/feedback/Drawer/Drawer.css.js.map +1 -0
- package/dist/esm/components/feedback/Drawer/Drawer.js +123 -0
- package/dist/esm/components/feedback/Drawer/Drawer.js.map +1 -0
- package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js +78 -0
- package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js.map +1 -0
- package/dist/esm/components/feedback/EmptyState/EmptyState.js +1 -1
- package/dist/esm/components/feedback/EmptyState/EmptyState.js.map +1 -1
- package/dist/esm/components/feedback/LogView/LogView.css.js +35 -0
- package/dist/esm/components/feedback/LogView/LogView.css.js.map +1 -0
- package/dist/esm/components/feedback/LogView/LogView.js +297 -0
- package/dist/esm/components/feedback/LogView/LogView.js.map +1 -0
- package/dist/esm/components/feedback/LogView/LogViewBody.js +205 -0
- package/dist/esm/components/feedback/LogView/LogViewBody.js.map +1 -0
- package/dist/esm/components/feedback/LogView/LogViewContext.js +31 -0
- package/dist/esm/components/feedback/LogView/LogViewContext.js.map +1 -0
- package/dist/esm/components/feedback/LogView/LogViewParts.js +73 -0
- package/dist/esm/components/feedback/LogView/LogViewParts.js.map +1 -0
- package/dist/esm/components/feedback/LogView/LogViewStore.js +240 -0
- package/dist/esm/components/feedback/LogView/LogViewStore.js.map +1 -0
- package/dist/esm/components/feedback/LogView/logViewLabels.js +25 -0
- package/dist/esm/components/feedback/LogView/logViewLabels.js.map +1 -0
- package/dist/esm/components/feedback/LogView/logViewLevels.js +74 -0
- package/dist/esm/components/feedback/LogView/logViewLevels.js.map +1 -0
- package/dist/esm/components/feedback/LogView/logViewUtils.js +128 -0
- package/dist/esm/components/feedback/LogView/logViewUtils.js.map +1 -0
- package/dist/esm/components/feedback/LogView/useFollowTail.js +95 -0
- package/dist/esm/components/feedback/LogView/useFollowTail.js.map +1 -0
- package/dist/esm/components/feedback/LogView/useLogSelection.js +113 -0
- package/dist/esm/components/feedback/LogView/useLogSelection.js.map +1 -0
- package/dist/esm/components/feedback/ProgressBar/CircularProgress.js +1 -1
- package/dist/esm/components/feedback/ProgressBar/CircularProgress.js.map +1 -1
- package/dist/esm/components/feedback/ProgressBar/ProgressBar.js +1 -1
- package/dist/esm/components/feedback/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/feedback/Skeleton/Skeleton.js +1 -1
- package/dist/esm/components/feedback/Skeleton/Skeleton.js.map +1 -1
- package/dist/esm/components/feedback/Skeleton/SkeletonGroup.js +1 -1
- package/dist/esm/components/feedback/Skeleton/SkeletonGroup.js.map +1 -1
- package/dist/esm/components/feedback/Skeleton/SkeletonLayout.css.js +18 -0
- package/dist/esm/components/feedback/Skeleton/SkeletonLayout.css.js.map +1 -0
- package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js +95 -0
- package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js.map +1 -0
- package/dist/esm/components/feedback/Spinner/Spinner.js +1 -1
- package/dist/esm/components/feedback/Spinner/Spinner.js.map +1 -1
- package/dist/esm/components/feedback/Stat/Stat.css.js +15 -0
- package/dist/esm/components/feedback/Stat/Stat.css.js.map +1 -0
- package/dist/esm/components/feedback/Stat/Stat.js +55 -0
- package/dist/esm/components/feedback/Stat/Stat.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.js +1 -1
- package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -1
- package/dist/esm/components/feedback/Toast/ToastItem.js +18 -17
- package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -1
- package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -1
- package/dist/esm/components/feedback/Toast/useToast.js.map +1 -1
- package/dist/esm/components/form/FormHelperText.js.map +1 -1
- package/dist/esm/components/form/FormLabel.js.map +1 -1
- package/dist/esm/components/form/InputWrapper.js.map +1 -1
- package/dist/esm/components/layout/Accordion/Accordion.js +3 -2
- package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/layout/Accordion/AccordionContent.js +1 -1
- package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -1
- package/dist/esm/components/layout/Accordion/AccordionItem.js +1 -1
- package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -1
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js +8 -4
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -1
- package/dist/esm/components/layout/Card/Card.css.js +18 -0
- package/dist/esm/components/layout/Card/Card.css.js.map +1 -0
- package/dist/esm/components/layout/Card/Card.js +66 -0
- package/dist/esm/components/layout/Card/Card.js.map +1 -0
- package/dist/esm/components/layout/Divider/Divider.js.map +1 -1
- package/dist/esm/components/layout/Flex/Flex.js +1 -1
- package/dist/esm/components/layout/Flex/Flex.js.map +1 -1
- package/dist/esm/components/layout/Grid/Grid.js +1 -1
- package/dist/esm/components/layout/ListItem/ListItem.js +1 -1
- package/dist/esm/components/layout/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/layout/PageHeader/PageHeader.js.map +1 -1
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js +3 -3
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -1
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js +91 -23
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/esm/components/layout/SplitPane/SplitPane.js +29 -16
- package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -1
- package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -1
- package/dist/esm/components/layout/Stack/Stack.js +1 -1
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js +5 -0
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js.map +1 -1
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js +7 -2
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js.map +1 -1
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbSeparator.js.map +1 -1
- package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js +12 -2
- package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +45 -39
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/esm/components/navigation/Menu/Menu.css.js +9 -12
- package/dist/esm/components/navigation/Menu/Menu.css.js.map +1 -1
- package/dist/esm/components/navigation/Menu/Menu.js +97 -63
- package/dist/esm/components/navigation/Menu/Menu.js.map +1 -1
- package/dist/esm/components/navigation/Menu/MenuGapContext.js +19 -0
- package/dist/esm/components/navigation/Menu/MenuGapContext.js.map +1 -0
- package/dist/esm/components/navigation/Pagination/Pagination.css.js +12 -0
- package/dist/esm/components/navigation/Pagination/Pagination.css.js.map +1 -0
- package/dist/esm/components/navigation/Pagination/Pagination.js +107 -0
- package/dist/esm/components/navigation/Pagination/Pagination.js.map +1 -0
- package/dist/esm/components/navigation/Pagination/usePagination.js +143 -0
- package/dist/esm/components/navigation/Pagination/usePagination.js.map +1 -0
- package/dist/esm/components/navigation/PathBar/PathBar.css.js +6 -0
- package/dist/esm/components/navigation/PathBar/PathBar.css.js.map +1 -0
- package/dist/esm/components/navigation/PathBar/PathBar.js +178 -0
- package/dist/esm/components/navigation/PathBar/PathBar.js.map +1 -0
- package/dist/esm/components/navigation/PathBar/PathBarSiblingMenu.js +145 -0
- package/dist/esm/components/navigation/PathBar/PathBarSiblingMenu.js.map +1 -0
- package/dist/esm/components/navigation/PathBar/pathUtils.js +118 -0
- package/dist/esm/components/navigation/PathBar/pathUtils.js.map +1 -0
- package/dist/esm/components/navigation/SegmentedControl/SegmentedControl.js +16 -6
- package/dist/esm/components/navigation/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/esm/components/navigation/SegmentedControl/SegmentedControlItem.js +1 -1
- package/dist/esm/components/navigation/SegmentedControl/SegmentedControlItem.js.map +1 -1
- package/dist/esm/components/navigation/Tabs/Tab.js +10 -3
- package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -1
- package/dist/esm/components/navigation/Tabs/TabList.js +5 -2
- package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -1
- package/dist/esm/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -1
- package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/primitives/Avatar/Avatar.js +90 -3
- package/dist/esm/components/primitives/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/primitives/Avatar/AvatarGroup.js +2 -2
- package/dist/esm/components/primitives/Avatar/AvatarGroup.js.map +1 -1
- package/dist/esm/components/primitives/Badge/Badge.js +89 -2
- package/dist/esm/components/primitives/Badge/Badge.js.map +1 -1
- package/dist/esm/components/primitives/Button/Button.js.map +1 -1
- package/dist/esm/components/primitives/Checkbox/Checkbox.js +10 -5
- package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +2 -2
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/esm/components/primitives/Code/Code.js.map +1 -1
- package/dist/esm/components/primitives/Collapsible/Collapsible.js +4 -5
- package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -1
- package/dist/esm/components/primitives/HoverCard/HoverCard.css.js +7 -0
- package/dist/esm/components/primitives/HoverCard/HoverCard.css.js.map +1 -0
- package/dist/esm/components/primitives/HoverCard/HoverCard.js +171 -0
- package/dist/esm/components/primitives/HoverCard/HoverCard.js.map +1 -0
- package/dist/esm/components/primitives/Icon/Icon.js +16 -2
- package/dist/esm/components/primitives/Icon/Icon.js.map +1 -1
- package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -1
- package/dist/esm/components/primitives/Input/Input.js +1 -1
- package/dist/esm/components/primitives/Input/Input.js.map +1 -1
- package/dist/esm/components/primitives/Kbd/Kbd.js +1 -1
- package/dist/esm/components/primitives/Kbd/Kbd.js.map +1 -1
- package/dist/esm/components/primitives/Link/Link.js +3 -3
- package/dist/esm/components/primitives/Link/Link.js.map +1 -1
- package/dist/esm/components/primitives/Paper/Paper.js.map +1 -1
- package/dist/esm/components/primitives/Popover/Popover.js +1 -1
- package/dist/esm/components/primitives/Popover/PopoverClose.js +3 -4
- package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -1
- package/dist/esm/components/primitives/Popover/PopoverContent.js +6 -4
- package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -1
- package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -1
- package/dist/esm/components/primitives/Radio/Radio.js +4 -4
- package/dist/esm/components/primitives/Radio/Radio.js.map +1 -1
- package/dist/esm/components/primitives/Radio/RadioGroup.js +2 -2
- package/dist/esm/components/primitives/Radio/RadioGroup.js.map +1 -1
- package/dist/esm/components/primitives/Switch/Switch.js +1 -1
- package/dist/esm/components/primitives/Switch/Switch.js.map +1 -1
- package/dist/esm/components/primitives/Text/Text.js.map +1 -1
- package/dist/esm/components/primitives/TextArea/TextArea.js +3 -4
- package/dist/esm/components/primitives/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/primitives/Tooltip/Arrow.js +1 -1
- package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -1
- package/dist/esm/components/primitives/Tooltip/Tooltip.js +9 -7
- package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/primitives/Tooltip/utils.js +1 -1
- package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -1
- package/dist/esm/components/primitives/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/esm/components/primitives/canvas/CanvasContainer.js +1 -1
- package/dist/esm/components/primitives/canvas/CanvasContainer.js.map +1 -1
- package/dist/esm/components/primitives/canvas/canvasDrawing.js +1 -1
- package/dist/esm/components/primitives/canvas/canvasDrawing.js.map +1 -1
- package/dist/esm/components/primitives/canvas/canvasTheme.js.map +1 -1
- package/dist/esm/components/primitives/canvas/useCanvasRenderer.js +8 -2
- package/dist/esm/components/primitives/canvas/useCanvasRenderer.js.map +1 -1
- package/dist/esm/components/primitives/viewport/Viewport.css.js +12 -0
- package/dist/esm/components/primitives/viewport/Viewport.css.js.map +1 -0
- package/dist/esm/components/primitives/viewport/Viewport.js +189 -0
- package/dist/esm/components/primitives/viewport/Viewport.js.map +1 -0
- package/dist/esm/components/primitives/viewport/ViewportContext.js +47 -0
- package/dist/esm/components/primitives/viewport/ViewportContext.js.map +1 -0
- package/dist/esm/components/primitives/viewport/ViewportLayer.js +113 -0
- package/dist/esm/components/primitives/viewport/ViewportLayer.js.map +1 -0
- package/dist/esm/components/primitives/viewport/ViewportOverlay.js +47 -0
- package/dist/esm/components/primitives/viewport/ViewportOverlay.js.map +1 -0
- package/dist/esm/components/primitives/viewport/ViewportStore.js +210 -0
- package/dist/esm/components/primitives/viewport/ViewportStore.js.map +1 -0
- package/dist/esm/components/primitives/viewport/ViewportWorld.js +38 -0
- package/dist/esm/components/primitives/viewport/ViewportWorld.js.map +1 -0
- package/dist/esm/components/primitives/viewport/useViewportGestures.js +333 -0
- package/dist/esm/components/primitives/viewport/useViewportGestures.js.map +1 -0
- package/dist/esm/components/primitives/viewport/viewportCoords.js +37 -0
- package/dist/esm/components/primitives/viewport/viewportCoords.js.map +1 -0
- package/dist/esm/components/primitives/viewport/viewportMath.js +77 -0
- package/dist/esm/components/primitives/viewport/viewportMath.js.map +1 -0
- package/dist/esm/components/shell/AppShell/AppShell.js +1 -1
- package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -1
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js +11 -10
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js.map +1 -1
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +60 -24
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -1
- package/dist/esm/components/shell/MenuBar/MenuBar.js +23 -16
- package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -1
- package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -1
- package/dist/esm/components/shell/Toolbar/Toolbar.js +4 -3
- package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/context/KeyboardContext.js.map +1 -1
- package/dist/esm/hooks/useBreakpoint/useBreakpoint.js +44 -0
- package/dist/esm/hooks/useBreakpoint/useBreakpoint.js.map +1 -0
- package/dist/esm/hooks/useClickOutside/useClickOutside.js +9 -9
- package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
- package/dist/esm/hooks/useClipboard/useClipboard.js +4 -0
- package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
- package/dist/esm/hooks/useControlledState/useControlledState.js.map +1 -1
- package/dist/esm/hooks/useDebounced/useDebouncedCallback.js +102 -0
- package/dist/esm/hooks/useDebounced/useDebouncedCallback.js.map +1 -0
- package/dist/esm/hooks/useDebounced/useDebouncedValue.js +47 -0
- package/dist/esm/hooks/useDebounced/useDebouncedValue.js.map +1 -0
- package/dist/esm/hooks/useDisclosure/useDisclosure.js.map +1 -1
- package/dist/esm/hooks/useEventCallback/useEventCallback.js +49 -0
- package/dist/esm/hooks/useEventCallback/useEventCallback.js.map +1 -0
- package/dist/esm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
- package/dist/esm/hooks/useHotkey/useHotkey.js +7 -12
- package/dist/esm/hooks/useHotkey/useHotkey.js.map +1 -1
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +75 -0
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -0
- package/dist/esm/hooks/useIsMounted/useIsMounted.js +43 -0
- package/dist/esm/hooks/useIsMounted/useIsMounted.js.map +1 -0
- package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
- package/dist/esm/hooks/useKeyboard/utils.js.map +1 -1
- package/dist/esm/hooks/useLatest/useLatest.js +31 -0
- package/dist/esm/hooks/useLatest/useLatest.js.map +1 -0
- package/dist/esm/hooks/useListboxNav/useListboxNav.js +197 -0
- package/dist/esm/hooks/useListboxNav/useListboxNav.js.map +1 -0
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +60 -0
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -0
- package/dist/esm/hooks/useMergedRef/useMergedRef.js +6 -1
- package/dist/esm/hooks/useMergedRef/useMergedRef.js.map +1 -1
- package/dist/esm/hooks/useNavigationHistory/useNavigationHistory.js +146 -0
- package/dist/esm/hooks/useNavigationHistory/useNavigationHistory.js.map +1 -0
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +6 -8
- package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
- package/dist/esm/hooks/useTheme/useTheme.js +5 -2
- package/dist/esm/hooks/useTheme/useTheme.js.map +1 -1
- package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js +83 -0
- package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js.map +1 -0
- package/dist/esm/index.js +82 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node_modules/tslib/tslib.es6.js +37 -0
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/esm/theme/ThemeProvider.js +1 -1
- package/dist/esm/theme/ThemeProvider.js.map +1 -1
- package/dist/esm/theme/breakpoints.js +27 -0
- package/dist/esm/theme/breakpoints.js.map +1 -0
- package/dist/esm/theme/contract.css.js +1 -1
- package/dist/esm/theme/createCustomTheme.js +1 -1
- package/dist/esm/theme/createCustomTheme.js.map +1 -1
- package/dist/esm/theme/darkTheme.css.js +2 -2
- package/dist/esm/theme/darkThemeValues.js +1 -1
- package/dist/esm/theme/darkThemeValues.js.map +1 -1
- package/dist/esm/theme/index.js +1 -0
- package/dist/esm/theme/index.js.map +1 -1
- package/dist/esm/theme/lightTheme.css.js +1 -1
- package/dist/esm/theme/lightThemeValues.js +1 -1
- package/dist/esm/theme/lightThemeValues.js.map +1 -1
- package/dist/esm/theme/themeContractData.js +4 -4
- package/dist/esm/theme/themeContractData.js.map +1 -1
- package/dist/esm/utils/devWarn.js +1 -1
- package/dist/esm/utils/mathExpression.js +1 -1
- package/dist/esm/utils/mathExpression.js.map +1 -1
- package/dist/tokens/tokens.dark.css +1 -1
- package/dist/tokens/tokens.json +1 -1
- package/dist/tokens/tokens.light.css +1 -1
- package/dist/types/components/Icons/AddIcon.d.ts +1 -1
- package/dist/types/components/Icons/AiChatIcon.d.ts +1 -1
- package/dist/types/components/Icons/AiSparklesIcon.d.ts +1 -1
- package/dist/types/components/Icons/ArchiveIcon.d.ts +1 -1
- package/dist/types/components/Icons/ArrowDownIcon.d.ts +1 -1
- package/dist/types/components/Icons/ArrowLeftIcon.d.ts +1 -1
- package/dist/types/components/Icons/ArrowRightIcon.d.ts +1 -1
- package/dist/types/components/Icons/ArrowUpIcon.d.ts +1 -1
- package/dist/types/components/Icons/BookmarkIcon.d.ts +1 -1
- package/dist/types/components/Icons/BugIcon.d.ts +1 -1
- package/dist/types/components/Icons/BuildingIcon.d.ts +1 -1
- package/dist/types/components/Icons/CalendarIcon.d.ts +1 -1
- package/dist/types/components/Icons/CheckIcon.d.ts +1 -1
- package/dist/types/components/Icons/ChevronDownIcon.d.ts +1 -1
- package/dist/types/components/Icons/ChevronLeftIcon.d.ts +1 -1
- package/dist/types/components/Icons/ChevronRightIcon.d.ts +1 -1
- package/dist/types/components/Icons/ChevronUpIcon.d.ts +1 -1
- package/dist/types/components/Icons/CircleIcon.d.ts +1 -1
- package/dist/types/components/Icons/ClockIcon.d.ts +1 -1
- package/dist/types/components/Icons/CloseIcon.d.ts +1 -1
- package/dist/types/components/Icons/CloudUploadIcon.d.ts +27 -0
- package/dist/types/components/Icons/CodeIcon.d.ts +1 -1
- package/dist/types/components/Icons/CopyIcon.d.ts +1 -1
- package/dist/types/components/Icons/CutIcon.d.ts +1 -1
- package/dist/types/components/Icons/DotsHorizontalIcon.d.ts +1 -1
- package/dist/types/components/Icons/DotsVerticalIcon.d.ts +1 -1
- package/dist/types/components/Icons/DownloadIcon.d.ts +1 -1
- package/dist/types/components/Icons/EditIcon.d.ts +1 -1
- package/dist/types/components/Icons/ErrorIcon.d.ts +1 -1
- package/dist/types/components/Icons/ExternalLinkIcon.d.ts +29 -0
- package/dist/types/components/Icons/EyeDropperIcon.d.ts +1 -1
- package/dist/types/components/Icons/EyeIcon.d.ts +1 -1
- package/dist/types/components/Icons/FileTextIcon.d.ts +1 -1
- package/dist/types/components/Icons/FilterIcon.d.ts +1 -1
- package/dist/types/components/Icons/FirstIcon.d.ts +26 -0
- package/dist/types/components/Icons/FolderCogIcon.d.ts +1 -1
- package/dist/types/components/Icons/FolderIcon.d.ts +1 -1
- package/dist/types/components/Icons/FolderOpenIcon.d.ts +1 -1
- package/dist/types/components/Icons/FullscreenIcon.d.ts +1 -1
- package/dist/types/components/Icons/GitBranchIcon.d.ts +1 -1
- package/dist/types/components/Icons/GridIcon.d.ts +1 -1
- package/dist/types/components/Icons/HeartIcon.d.ts +1 -1
- package/dist/types/components/Icons/HelpIcon.d.ts +1 -1
- package/dist/types/components/Icons/HomeIcon.d.ts +1 -1
- package/dist/types/components/Icons/ImageIcon.d.ts +34 -0
- package/dist/types/components/Icons/InfoIcon.d.ts +1 -1
- package/dist/types/components/Icons/LastIcon.d.ts +26 -0
- package/dist/types/components/Icons/LinkIcon.d.ts +1 -1
- package/dist/types/components/Icons/ListIcon.d.ts +1 -1
- package/dist/types/components/Icons/LockIcon.d.ts +1 -1
- package/dist/types/components/Icons/MaximizeIcon.d.ts +1 -1
- package/dist/types/components/Icons/MenuIcon.d.ts +1 -1
- package/dist/types/components/Icons/MinimizeIcon.d.ts +1 -1
- package/dist/types/components/Icons/MinusIcon.d.ts +1 -1
- package/dist/types/components/Icons/PasteIcon.d.ts +1 -1
- package/dist/types/components/Icons/PauseIcon.d.ts +1 -1
- package/dist/types/components/Icons/PinIcon.d.ts +1 -1
- package/dist/types/components/Icons/PlayIcon.d.ts +1 -1
- package/dist/types/components/Icons/RedoIcon.d.ts +1 -1
- package/dist/types/components/Icons/RefreshIcon.d.ts +1 -1
- package/dist/types/components/Icons/RobotIcon.d.ts +1 -1
- package/dist/types/components/Icons/SaveIcon.d.ts +1 -1
- package/dist/types/components/Icons/SearchIcon.d.ts +1 -1
- package/dist/types/components/Icons/SendIcon.d.ts +1 -1
- package/dist/types/components/Icons/SettingsIcon.d.ts +1 -1
- package/dist/types/components/Icons/SortIcon.d.ts +1 -1
- package/dist/types/components/Icons/StarIcon.d.ts +1 -1
- package/dist/types/components/Icons/StopIcon.d.ts +1 -1
- package/dist/types/components/Icons/SuccessIcon.d.ts +1 -1
- package/dist/types/components/Icons/TagIcon.d.ts +1 -1
- package/dist/types/components/Icons/TangentAlignedIcon.d.ts +1 -1
- package/dist/types/components/Icons/TangentAutoIcon.d.ts +1 -1
- package/dist/types/components/Icons/TangentFreeIcon.d.ts +1 -1
- package/dist/types/components/Icons/TangentLinearIcon.d.ts +1 -1
- package/dist/types/components/Icons/TangentMirroredIcon.d.ts +1 -1
- package/dist/types/components/Icons/TangentStepIcon.d.ts +1 -1
- package/dist/types/components/Icons/TerminalIcon.d.ts +1 -1
- package/dist/types/components/Icons/TrashIcon.d.ts +1 -1
- package/dist/types/components/Icons/UndoIcon.d.ts +1 -1
- package/dist/types/components/Icons/UnlinkIcon.d.ts +29 -0
- package/dist/types/components/Icons/UnlockIcon.d.ts +1 -1
- package/dist/types/components/Icons/UploadIcon.d.ts +1 -1
- package/dist/types/components/Icons/UserIcon.d.ts +1 -1
- package/dist/types/components/Icons/UsersIcon.d.ts +1 -1
- package/dist/types/components/Icons/WarningIcon.d.ts +1 -1
- package/dist/types/components/Icons/ZoomInIcon.d.ts +1 -1
- package/dist/types/components/Icons/ZoomOutIcon.d.ts +1 -1
- package/dist/types/components/controls/CartesianPicker/CartesianPicker.types.d.ts +3 -3
- package/dist/types/components/controls/ColorPicker/ColorPicker.types.d.ts +2 -2
- package/dist/types/components/controls/ColorPicker/EyeDropper.d.ts +1 -1
- package/dist/types/components/controls/Combobox/Combobox.d.ts +29 -0
- package/dist/types/components/controls/Combobox/Combobox.types.d.ts +109 -0
- package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +8 -58
- package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +2 -1
- package/dist/types/components/controls/FileTree/FileTree.d.ts +34 -0
- package/dist/types/components/controls/FileTree/FileTree.types.d.ts +133 -0
- package/dist/types/components/controls/FileTree/fileTreeIcons.d.ts +29 -0
- package/dist/types/components/controls/FileTree/fileTreeLabels.d.ts +19 -0
- package/dist/types/components/controls/FileUploader/FileUploader.d.ts +34 -0
- package/dist/types/components/controls/FileUploader/FileUploader.types.d.ts +94 -0
- package/dist/types/components/controls/MultiSelect/MultiSelect.d.ts +31 -0
- package/dist/types/components/controls/MultiSelect/MultiSelect.types.d.ts +85 -0
- package/dist/types/components/controls/NumberInput/NumberInput.d.ts +2 -2
- package/dist/types/components/controls/Select/Select.types.d.ts +2 -2
- package/dist/types/components/controls/Slider/Slider.d.ts +1 -1
- package/dist/types/components/controls/TagInput/TagInput.d.ts +24 -0
- package/dist/types/components/controls/TagInput/TagInput.types.d.ts +100 -0
- package/dist/types/components/controls/TreeView/TreeView.d.ts +1 -1
- package/dist/types/components/controls/TreeView/TreeView.types.d.ts +24 -2
- package/dist/types/components/controls/VectorInput/VectorInput.types.d.ts +1 -1
- package/dist/types/components/data/DataTable/DataTable.d.ts +8 -0
- package/dist/types/components/data/DataTable/DataTable.types.d.ts +159 -0
- package/dist/types/components/editor/AssetBrowser/AssetBrowser.d.ts +13 -0
- package/dist/types/components/editor/AssetBrowser/AssetBrowser.types.d.ts +241 -0
- package/dist/types/components/editor/AssetBrowser/assetBrowserLabels.d.ts +70 -0
- package/dist/types/components/editor/ChatPanel/ChatMarkdownRenderer.types.d.ts +1 -1
- package/dist/types/components/editor/ChatPanel/ChatPanel.types.d.ts +2 -2
- package/dist/types/components/editor/Minimap/Minimap.d.ts +26 -0
- package/dist/types/components/editor/Minimap/Minimap.types.d.ts +249 -0
- package/dist/types/components/editor/Minimap/MinimapContext.d.ts +27 -0
- package/dist/types/components/editor/Minimap/MinimapCorner.d.ts +8 -0
- package/dist/types/components/editor/Minimap/MinimapFooter.d.ts +8 -0
- package/dist/types/components/editor/Minimap/MinimapStore.d.ts +17 -0
- package/dist/types/components/editor/Minimap/MinimapTitle.d.ts +8 -0
- package/dist/types/components/editor/Minimap/ViewportMinimap.d.ts +52 -0
- package/dist/types/components/editor/Minimap/computeBoundsFromItems.d.ts +13 -0
- package/dist/types/components/editor/Minimap/index.d.ts +13 -0
- package/dist/types/components/editor/NodeGraph/NodeGraph.d.ts +63 -0
- package/dist/types/components/editor/NodeGraph/NodeGraph.types.d.ts +568 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphContext.d.ts +30 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphNodeParts.d.ts +86 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphNodeSection.d.ts +47 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphPin.d.ts +57 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphPort.d.ts +30 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphPortVisual.d.ts +46 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphSlots.d.ts +16 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphStore.d.ts +256 -0
- package/dist/types/components/editor/NodeGraph/NodeGraphToolbar.d.ts +54 -0
- package/dist/types/components/editor/NodeGraph/createTypeMatchValidator.d.ts +43 -0
- package/dist/types/components/editor/NodeGraph/nodeGraphActions.d.ts +39 -0
- package/dist/types/components/editor/NodeGraph/nodeGraphIds.d.ts +16 -0
- package/dist/types/components/editor/NodeGraph/useNodeGraph.d.ts +103 -0
- package/dist/types/components/editor/PropertyInspector/PropertyInspector.types.d.ts +2 -2
- package/dist/types/components/editor/Timeline/Timeline.d.ts +18 -0
- package/dist/types/components/editor/Timeline/Timeline.types.d.ts +348 -0
- package/dist/types/components/editor/Timeline/TimelineContext.d.ts +51 -0
- package/dist/types/components/editor/Timeline/TimelineFooter.d.ts +8 -0
- package/dist/types/components/editor/Timeline/TimelineMinimap.d.ts +21 -0
- package/dist/types/components/editor/Timeline/TimelineStore.d.ts +41 -0
- package/dist/types/components/editor/Timeline/TimelineToolbar.d.ts +8 -0
- package/dist/types/components/editor/Timeline/TimelineTrackScale.d.ts +8 -0
- package/dist/types/components/editor/Timeline/index.d.ts +15 -0
- package/dist/types/components/editor/Timeline/timelineCoords.d.ts +7 -0
- package/dist/types/components/editor/Timeline/timelineEdits.d.ts +18 -0
- package/dist/types/components/editor/TransformControl/TransformControl.types.d.ts +2 -2
- package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.types.d.ts +1 -1
- package/dist/types/components/feedback/Alert/Alert.d.ts +3 -2
- package/dist/types/components/feedback/Alert/Alert.types.d.ts +12 -5
- package/dist/types/components/feedback/CommandPalette/CommandPalette.d.ts +29 -0
- package/dist/types/components/feedback/CommandPalette/CommandPalette.types.d.ts +59 -0
- package/dist/types/components/feedback/CommandPalette/fuzzySearch.d.ts +6 -0
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +2 -2
- package/dist/types/components/feedback/Drawer/Drawer.d.ts +12 -0
- package/dist/types/components/feedback/Drawer/Drawer.types.d.ts +70 -0
- package/dist/types/components/feedback/EmptyState/EmptyState.types.d.ts +2 -2
- package/dist/types/components/feedback/LogView/LogView.d.ts +58 -0
- package/dist/types/components/feedback/LogView/LogView.types.d.ts +333 -0
- package/dist/types/components/feedback/LogView/LogViewBody.d.ts +15 -0
- package/dist/types/components/feedback/LogView/LogViewContext.d.ts +9 -0
- package/dist/types/components/feedback/LogView/LogViewParts.d.ts +35 -0
- package/dist/types/components/feedback/LogView/LogViewStore.d.ts +4 -0
- package/dist/types/components/feedback/LogView/logViewLabels.d.ts +9 -0
- package/dist/types/components/feedback/LogView/logViewUtils.d.ts +41 -0
- package/dist/types/components/feedback/ProgressBar/ProgressBar.types.d.ts +3 -3
- package/dist/types/components/feedback/Skeleton/Skeleton.types.d.ts +47 -4
- package/dist/types/components/feedback/Skeleton/SkeletonLayout.d.ts +314 -0
- package/dist/types/components/feedback/Stat/Stat.d.ts +23 -0
- package/dist/types/components/feedback/Stat/Stat.types.d.ts +38 -0
- package/dist/types/components/feedback/Toast/Toast.types.d.ts +1 -1
- package/dist/types/components/form/FormHelperText.d.ts +2 -2
- package/dist/types/components/form/FormLabel.d.ts +1 -1
- package/dist/types/components/form/InputWrapper.d.ts +2 -2
- package/dist/types/components/layout/Accordion/Accordion.types.d.ts +9 -2
- package/dist/types/components/layout/Card/Card.d.ts +12 -0
- package/dist/types/components/layout/Card/Card.types.d.ts +54 -0
- package/dist/types/components/layout/Divider/Divider.types.d.ts +2 -2
- package/dist/types/components/layout/Flex/Flex.d.ts +1 -1
- package/dist/types/components/layout/Grid/Grid.d.ts +1 -1
- package/dist/types/components/layout/ListItem/ListItem.types.d.ts +2 -2
- package/dist/types/components/layout/PageHeader/PageHeader.types.d.ts +1 -1
- package/dist/types/components/layout/PanelSurface/PanelSurface.types.d.ts +6 -6
- package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +2 -2
- package/dist/types/components/layout/Stack/Stack.d.ts +1 -1
- package/dist/types/components/navigation/Breadcrumbs/BreadcrumbItem.d.ts +1 -0
- package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.types.d.ts +7 -0
- package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts +18 -3
- package/dist/types/components/navigation/ContextMenu/ContextMenu.types.d.ts +55 -63
- package/dist/types/components/navigation/Menu/Menu.d.ts +38 -35
- package/dist/types/components/navigation/Menu/Menu.types.d.ts +190 -71
- package/dist/types/components/navigation/Pagination/Pagination.d.ts +22 -0
- package/dist/types/components/navigation/Pagination/Pagination.types.d.ts +49 -0
- package/dist/types/components/navigation/PathBar/PathBar.d.ts +31 -0
- package/dist/types/components/navigation/PathBar/PathBar.types.d.ts +79 -0
- package/dist/types/components/navigation/SegmentedControl/SegmentedControl.types.d.ts +3 -3
- package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +2 -2
- package/dist/types/components/primitives/Avatar/Avatar.types.d.ts +2 -2
- package/dist/types/components/primitives/Badge/Badge.types.d.ts +1 -1
- package/dist/types/components/primitives/Button/Button.d.ts +2 -2
- package/dist/types/components/primitives/Checkbox/Checkbox.types.d.ts +2 -2
- package/dist/types/components/primitives/Code/Code.types.d.ts +1 -1
- package/dist/types/components/primitives/Collapsible/Collapsible.types.d.ts +2 -2
- package/dist/types/components/primitives/HoverCard/HoverCard.d.ts +10 -0
- package/dist/types/components/primitives/HoverCard/HoverCard.types.d.ts +64 -0
- package/dist/types/components/primitives/Icon/Icon.d.ts +15 -2
- package/dist/types/components/primitives/IconButton/IconButton.d.ts +1 -1
- package/dist/types/components/primitives/Input/Input.d.ts +1 -1
- package/dist/types/components/primitives/Kbd/Kbd.types.d.ts +1 -1
- package/dist/types/components/primitives/Link/Link.types.d.ts +1 -1
- package/dist/types/components/primitives/Popover/Popover.types.d.ts +2 -2
- package/dist/types/components/primitives/Radio/Radio.types.d.ts +3 -3
- package/dist/types/components/primitives/Switch/Switch.d.ts +1 -1
- package/dist/types/components/primitives/TextArea/TextArea.types.d.ts +1 -1
- package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +1 -1
- package/dist/types/components/primitives/VisuallyHidden/VisuallyHidden.types.d.ts +1 -1
- package/dist/types/components/primitives/canvas/canvas.types.d.ts +16 -1
- package/dist/types/components/primitives/viewport/Viewport.d.ts +38 -0
- package/dist/types/components/primitives/viewport/Viewport.types.d.ts +257 -0
- package/dist/types/components/primitives/viewport/ViewportContext.d.ts +23 -0
- package/dist/types/components/primitives/viewport/ViewportLayer.d.ts +26 -0
- package/dist/types/components/primitives/viewport/ViewportOverlay.d.ts +27 -0
- package/dist/types/components/primitives/viewport/ViewportWorld.d.ts +25 -0
- package/dist/types/components/primitives/viewport/viewportCoords.d.ts +25 -0
- package/dist/types/components/primitives/viewport/viewportMath.d.ts +35 -0
- package/dist/types/components/shell/AppShell/AppShell.types.d.ts +2 -2
- package/dist/types/components/shell/FloatingPanel/FloatingPanel.types.d.ts +2 -2
- package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +5 -5
- package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +3 -3
- package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +5 -5
- package/dist/types/hooks/useBreakpoint/useBreakpoint.d.ts +19 -0
- package/dist/types/hooks/useBreakpoint/useBreakpoint.types.d.ts +20 -0
- package/dist/types/hooks/useDebounced/useDebounced.types.d.ts +15 -0
- package/dist/types/hooks/useDebounced/useDebouncedCallback.d.ts +22 -0
- package/dist/types/hooks/useDebounced/useDebouncedValue.d.ts +25 -0
- package/dist/types/hooks/useEventCallback/useEventCallback.d.ts +32 -0
- package/dist/types/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +22 -0
- package/dist/types/hooks/useIntersectionObserver/useIntersectionObserver.types.d.ts +22 -0
- package/dist/types/hooks/useIsMounted/useIsMounted.d.ts +28 -0
- package/dist/types/hooks/useKeyboard/types.d.ts +1 -1
- package/dist/types/hooks/useLatest/useLatest.d.ts +23 -0
- package/dist/types/hooks/useListboxNav/useListboxNav.d.ts +75 -0
- package/dist/types/hooks/useMediaQuery/useMediaQuery.d.ts +19 -0
- package/dist/types/hooks/useMediaQuery/useMediaQuery.types.d.ts +6 -0
- package/dist/types/hooks/useResizeObserver/useResizeObserver.d.ts +3 -3
- package/dist/types/hooks/useThrottledCallback/useThrottledCallback.d.ts +23 -0
- package/dist/types/hooks/useThrottledCallback/useThrottledCallback.types.d.ts +13 -0
- package/dist/types/index.d.ts +108 -7
- package/dist/types/theme/breakpoints.d.ts +22 -0
- package/dist/types/theme/contract.css.d.ts +1 -1
- package/dist/types/theme/createCustomTheme.d.ts +1 -1
- package/dist/types/theme/darkThemeValues.d.ts +1 -1
- package/dist/types/theme/index.d.ts +1 -0
- package/dist/types/theme/lightThemeValues.d.ts +1 -1
- package/dist/types/theme/themeContractData.d.ts +4 -4
- package/dist/types/theme-values.d.ts +1 -1
- package/dist/types/types/keyframe.d.ts +64 -0
- package/package.json +31 -17
- package/dist/esm/assets/src/components/navigation/Menu/Menu.css.ts.vanilla-DD0c5D10.css +0 -67
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +0 -53
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +0 -1
- package/dist/esm/components/navigation/Menu/Menu.helpers.js +0 -53
- package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +0 -1
- package/dist/esm/components/navigation/Menu/useMenu.js +0 -88
- package/dist/esm/components/navigation/Menu/useMenu.js.map +0 -1
- package/dist/types/components/navigation/ContextMenu/useContextMenuTarget.d.ts +0 -5
- package/dist/types/components/navigation/Menu/useMenu.d.ts +0 -16
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
import { Point2D } from '../../primitives/canvas/canvas.types.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { WorldRect, ViewportPanConfig, ViewportZoomConfig, ViewportTransform, ViewportSize } from '../../primitives/viewport/Viewport.types.js';
|
|
4
|
+
import { BaseComponent } from '../../../types/common.js';
|
|
5
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
6
|
+
|
|
7
|
+
/** Side of a node a port is anchored to. */
|
|
8
|
+
type NodeGraphPortSide = 'left' | 'right' | 'top' | 'bottom';
|
|
9
|
+
/** Reference to a single port on a node. */
|
|
10
|
+
interface NodeGraphPortRef {
|
|
11
|
+
/** Owning node id. */
|
|
12
|
+
node: string;
|
|
13
|
+
/** Port id within that node. */
|
|
14
|
+
port: string;
|
|
15
|
+
}
|
|
16
|
+
interface NodeGraphNode {
|
|
17
|
+
/** Stable identity. */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Position in world coordinates (top-left corner of the node body). */
|
|
20
|
+
position: Point2D;
|
|
21
|
+
/**
|
|
22
|
+
* Override the auto-measured width of the node body. Use this when you
|
|
23
|
+
* need fixed-size nodes. When omitted, the library measures the rendered
|
|
24
|
+
* node DOM and uses that size for hit-testing, marquee selection, and
|
|
25
|
+
* minimap geometry.
|
|
26
|
+
*/
|
|
27
|
+
width?: number;
|
|
28
|
+
/** Override the auto-measured height of the node body. See {@link width}. */
|
|
29
|
+
height?: number;
|
|
30
|
+
/** Arbitrary consumer payload passed to `renderNode`. */
|
|
31
|
+
data?: unknown;
|
|
32
|
+
/**
|
|
33
|
+
* When false, the node cannot be moved by drag. Selection still works.
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
draggable?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* When false, the node cannot be selected (clicks pass through to the
|
|
39
|
+
* background). Drag is also disabled.
|
|
40
|
+
* @default true
|
|
41
|
+
*/
|
|
42
|
+
selectable?: boolean;
|
|
43
|
+
}
|
|
44
|
+
interface NodeGraphEdge {
|
|
45
|
+
/** Stable identity. */
|
|
46
|
+
id: string;
|
|
47
|
+
/** Edge source endpoint. */
|
|
48
|
+
source: NodeGraphPortRef;
|
|
49
|
+
/** Edge target endpoint. */
|
|
50
|
+
target: NodeGraphPortRef;
|
|
51
|
+
/** Arbitrary consumer payload (e.g. animation flags, weights). */
|
|
52
|
+
data?: unknown;
|
|
53
|
+
/**
|
|
54
|
+
* Optional HTML label rendered absolutely above the edge midpoint.
|
|
55
|
+
* Use `renderEdgeLabel` for full control, or pass a node here for the
|
|
56
|
+
* default centred placement.
|
|
57
|
+
*/
|
|
58
|
+
label?: React.ReactNode;
|
|
59
|
+
/**
|
|
60
|
+
* Override the stroke colour of this edge in its default state.
|
|
61
|
+
* Selected / hovered edges still pick up the theme accents (so the
|
|
62
|
+
* interaction state stays visible), this colour is used only when
|
|
63
|
+
* neither state is active. Useful for type-coloured wires — assign
|
|
64
|
+
* the colour at edge-creation time based on the source pin's data
|
|
65
|
+
* type, the way UE5 paints exec / float / bool wires differently.
|
|
66
|
+
*/
|
|
67
|
+
color?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A visual backdrop rectangle drawn under nodes. Groups in v1 are purely
|
|
71
|
+
* decorative — nodes are not children of a group, they simply happen to
|
|
72
|
+
* overlap with it. Selection of a group through marquee/click can be
|
|
73
|
+
* wired up by the consumer via `onContextMenu` / future selection API.
|
|
74
|
+
*/
|
|
75
|
+
interface NodeGraphGroup {
|
|
76
|
+
/** Stable identity. */
|
|
77
|
+
id: string;
|
|
78
|
+
/** Group rectangle in world coordinates. */
|
|
79
|
+
bounds: WorldRect;
|
|
80
|
+
/** Optional title shown above the group's top edge. */
|
|
81
|
+
label?: string;
|
|
82
|
+
/** Optional CSS colour string used for the group tint and label. */
|
|
83
|
+
color?: string;
|
|
84
|
+
}
|
|
85
|
+
interface NodeGraphSelection {
|
|
86
|
+
/** Selected node ids. */
|
|
87
|
+
nodes: string[];
|
|
88
|
+
/** Selected edge ids. */
|
|
89
|
+
edges: string[];
|
|
90
|
+
/** Selected group ids. */
|
|
91
|
+
groups: string[];
|
|
92
|
+
}
|
|
93
|
+
/** Discriminated union describing what was hit by a pointer event. */
|
|
94
|
+
type NodeGraphTarget = {
|
|
95
|
+
kind: 'node';
|
|
96
|
+
id: string;
|
|
97
|
+
} | {
|
|
98
|
+
kind: 'edge';
|
|
99
|
+
id: string;
|
|
100
|
+
} | {
|
|
101
|
+
kind: 'port';
|
|
102
|
+
node: string;
|
|
103
|
+
port: string;
|
|
104
|
+
} | {
|
|
105
|
+
kind: 'group';
|
|
106
|
+
id: string;
|
|
107
|
+
} | {
|
|
108
|
+
kind: 'empty';
|
|
109
|
+
worldPoint: Point2D;
|
|
110
|
+
};
|
|
111
|
+
interface NodeGraphContextMenuInfo {
|
|
112
|
+
target: NodeGraphTarget;
|
|
113
|
+
/** Screen-space (CSS-pixel) position of the pointer relative to viewport. */
|
|
114
|
+
screenPoint: Point2D;
|
|
115
|
+
/** World-space position of the pointer. */
|
|
116
|
+
worldPoint: Point2D;
|
|
117
|
+
}
|
|
118
|
+
interface NodeGraphConnectStartInfo {
|
|
119
|
+
source: NodeGraphPortRef;
|
|
120
|
+
/** World-space position the drag started at (the source port). */
|
|
121
|
+
worldPoint: Point2D;
|
|
122
|
+
}
|
|
123
|
+
interface NodeGraphConnectEndInfo {
|
|
124
|
+
source: NodeGraphPortRef;
|
|
125
|
+
/** Resolved drop target, or null when the drag ended on empty space. */
|
|
126
|
+
target: NodeGraphPortRef | null;
|
|
127
|
+
/** True when the drop was rejected (target invalid or empty). */
|
|
128
|
+
cancelled: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* World-space position the drag was released at. With `cancelled` + a null
|
|
131
|
+
* `target` this is an empty-space drop — the hook for a "drag a wire onto
|
|
132
|
+
* the canvas → open a create-node menu here → connect the new node to
|
|
133
|
+
* `source`" flow. Place the spawned node at this point.
|
|
134
|
+
*/
|
|
135
|
+
worldPoint: Point2D;
|
|
136
|
+
/**
|
|
137
|
+
* Screen-space (CSS-pixel, relative to the viewport top-left) release
|
|
138
|
+
* position — position your create-node menu / popover here.
|
|
139
|
+
*/
|
|
140
|
+
screenPoint: Point2D;
|
|
141
|
+
}
|
|
142
|
+
interface NodeGraphConnectionValidationInfo {
|
|
143
|
+
/** True when source and target reference the same node. */
|
|
144
|
+
sameNode: boolean;
|
|
145
|
+
/** Side combination shorthand, e.g. `'right->left'`. */
|
|
146
|
+
sideCombo: string;
|
|
147
|
+
/** `dataType` declared on the source `<NodeGraph.Port>`, if any. */
|
|
148
|
+
sourceDataType?: string;
|
|
149
|
+
/** `dataType` declared on the target `<NodeGraph.Port>`, if any. */
|
|
150
|
+
targetDataType?: string;
|
|
151
|
+
}
|
|
152
|
+
/** Context passed to `renderNode`. */
|
|
153
|
+
interface NodeGraphRenderCtx {
|
|
154
|
+
/** True when the node is part of the current selection. */
|
|
155
|
+
selected: boolean;
|
|
156
|
+
/** True when the node is being dragged (single or multi). */
|
|
157
|
+
dragging: boolean;
|
|
158
|
+
/** True when the pointer is hovering over the node body. */
|
|
159
|
+
hovered: boolean;
|
|
160
|
+
/** Current viewport zoom — useful for LOD rendering. */
|
|
161
|
+
zoom: number;
|
|
162
|
+
}
|
|
163
|
+
/** Resolved port metadata passed to the `edgeStyle` callback. */
|
|
164
|
+
interface NodeGraphEdgeStyleCtx {
|
|
165
|
+
/** True when the edge is in the current selection. */
|
|
166
|
+
selected: boolean;
|
|
167
|
+
/** True when the pointer is currently hovering over the edge. */
|
|
168
|
+
hovered: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* The `side` and `dataType` declared on the source `<NodeGraph.Port>`,
|
|
171
|
+
* resolved from the store. `null` when the port hasn't been measured
|
|
172
|
+
* yet (e.g. first paint before `useLayoutEffect` has run).
|
|
173
|
+
*/
|
|
174
|
+
sourcePort: {
|
|
175
|
+
side: NodeGraphPortSide;
|
|
176
|
+
dataType?: string;
|
|
177
|
+
} | null;
|
|
178
|
+
/** Same for the target endpoint. */
|
|
179
|
+
targetPort: {
|
|
180
|
+
side: NodeGraphPortSide;
|
|
181
|
+
dataType?: string;
|
|
182
|
+
} | null;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Style overrides for a single edge, returned by `edgeStyle`. Any field
|
|
186
|
+
* left undefined falls back to the default (theme + `edge.color`).
|
|
187
|
+
*/
|
|
188
|
+
interface NodeGraphEdgeStyle {
|
|
189
|
+
/** Stroke colour. Overrides `edge.color`. */
|
|
190
|
+
color?: string;
|
|
191
|
+
/** Stroke width in screen pixels. */
|
|
192
|
+
width?: number;
|
|
193
|
+
/**
|
|
194
|
+
* Marching-ant dash pattern, in screen pixels.
|
|
195
|
+
* Example: `[8, 6]` draws 8 px dash + 6 px gap repeating.
|
|
196
|
+
* Pass `null` (or omit) for a solid stroke.
|
|
197
|
+
*/
|
|
198
|
+
dash?: ReadonlyArray<number> | null;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Per-edge style hook. Called on every frame for every edge — keep it
|
|
202
|
+
* cheap (map lookup, ternary). The library memoizes nothing here; if
|
|
203
|
+
* the result is expensive, hoist into a `useMemo` keyed by inputs.
|
|
204
|
+
*/
|
|
205
|
+
type NodeGraphEdgeStyleFn = (edge: NodeGraphEdge, ctx: NodeGraphEdgeStyleCtx) => NodeGraphEdgeStyle | undefined;
|
|
206
|
+
/**
|
|
207
|
+
* Built-in port handle shapes. `circle` is the default data-pin look,
|
|
208
|
+
* `triangle` is the UE-style exec/flow arrow, `diamond` / `square` cover
|
|
209
|
+
* the other common node-editor conventions. Render any other visual by
|
|
210
|
+
* passing `children` to `<NodeGraph.Port>`.
|
|
211
|
+
*/
|
|
212
|
+
type NodeGraphPortShape = 'circle' | 'triangle' | 'diamond' | 'square';
|
|
213
|
+
/**
|
|
214
|
+
* Props for `<NodeGraph.Port>` — the compound child rendered inside
|
|
215
|
+
* `renderNode` to declare a connection endpoint.
|
|
216
|
+
*
|
|
217
|
+
* The library tracks the slot's DOM position and registers it as the
|
|
218
|
+
* anchor for any edge that references this port. Pointer events on the
|
|
219
|
+
* slot start a connection drag automatically — no manual wiring from the
|
|
220
|
+
* consumer.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* <NodeGraph
|
|
225
|
+
* renderNode={(node, ctx) => (
|
|
226
|
+
* <MyNodeBody>
|
|
227
|
+
* <Row>
|
|
228
|
+
* <NodeGraph.Port id="exec-in" side="left" dataType="exec" />
|
|
229
|
+
* Execute
|
|
230
|
+
* </Row>
|
|
231
|
+
* </MyNodeBody>
|
|
232
|
+
* )}
|
|
233
|
+
* />
|
|
234
|
+
* ```
|
|
235
|
+
*/
|
|
236
|
+
interface NodeGraphPortSlotProps {
|
|
237
|
+
/** Stable identity within the owning node — referenced by `NodeGraphEdge`. */
|
|
238
|
+
id: string;
|
|
239
|
+
/** Which side of the node the port anchors to. Determines Bézier tangent. */
|
|
240
|
+
side: NodeGraphPortSide;
|
|
241
|
+
/**
|
|
242
|
+
* Opaque type token forwarded to `isValidConnection` and exposed on
|
|
243
|
+
* `data-port-data-type` for CSS theming. Not interpreted by the library.
|
|
244
|
+
*/
|
|
245
|
+
dataType?: string;
|
|
246
|
+
/**
|
|
247
|
+
* Built-in handle shape used when no `children` are supplied.
|
|
248
|
+
* @default 'circle'
|
|
249
|
+
*/
|
|
250
|
+
shape?: NodeGraphPortShape;
|
|
251
|
+
/**
|
|
252
|
+
* Handle colour for the built-in visual (any CSS colour). When omitted,
|
|
253
|
+
* the port inherits the theme focus colour; the connection-drag states
|
|
254
|
+
* (source / candidate / invalid) still override it so interaction stays
|
|
255
|
+
* visible. Ignored when `children` are supplied.
|
|
256
|
+
*/
|
|
257
|
+
color?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Force the built-in visual filled (`true`) or hollow (`false`). When
|
|
260
|
+
* omitted, the port fills automatically while it is connected to at
|
|
261
|
+
* least one edge and stays hollow otherwise — the standard "wired vs
|
|
262
|
+
* unwired pin" convention. Ignored when `children` are supplied.
|
|
263
|
+
*/
|
|
264
|
+
filled?: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Replace the built-in port visual entirely. When provided, no built-in
|
|
267
|
+
* chrome is rendered — the children fill the slot wrapper. State for
|
|
268
|
+
* theming (source / candidate / hover / invalid / connected) is exposed
|
|
269
|
+
* via `data-port-*` attributes on the wrapper.
|
|
270
|
+
*/
|
|
271
|
+
children?: React.ReactNode;
|
|
272
|
+
/** Accessible label. Falls back to `${side} port ${id}`. */
|
|
273
|
+
label?: string;
|
|
274
|
+
/** Extra class applied to the slot wrapper. */
|
|
275
|
+
className?: string;
|
|
276
|
+
/** Inline style override on the slot wrapper. */
|
|
277
|
+
style?: React.CSSProperties;
|
|
278
|
+
}
|
|
279
|
+
interface NodeGraphHandle {
|
|
280
|
+
/** Pan/zoom so all nodes fit inside the viewport with optional padding. */
|
|
281
|
+
fitToContent(padding?: number): void;
|
|
282
|
+
/** Pan/zoom so all *selected* nodes fit. No-op when selection is empty. */
|
|
283
|
+
fitToSelection(padding?: number): void;
|
|
284
|
+
/** Center the viewport on a specific node. */
|
|
285
|
+
focusNode(id: string): void;
|
|
286
|
+
/** Center on a world point, optionally setting zoom. */
|
|
287
|
+
centerOn(point: Point2D, zoom?: number): void;
|
|
288
|
+
/** Pan/zoom to fit a world rectangle. */
|
|
289
|
+
zoomToRect(rect: WorldRect, padding?: number): void;
|
|
290
|
+
/** Read the current transform. */
|
|
291
|
+
getTransform(): ViewportTransform;
|
|
292
|
+
/** Read the current viewport size in CSS pixels. */
|
|
293
|
+
getSize(): ViewportSize;
|
|
294
|
+
/** Convert a world point to a screen (CSS-pixel) point. */
|
|
295
|
+
worldToScreen(point: Point2D): Point2D;
|
|
296
|
+
/** Convert a screen (CSS-pixel) point to a world point. */
|
|
297
|
+
screenToWorld(point: Point2D): Point2D;
|
|
298
|
+
/**
|
|
299
|
+
* Force a redraw. With no `layerName`, all canvas layers redraw on the
|
|
300
|
+
* next frame; with a name (`'edges' | 'groups' | 'preview'`), only that
|
|
301
|
+
* layer redraws.
|
|
302
|
+
*/
|
|
303
|
+
invalidate(layerName?: NodeGraphLayerName): void;
|
|
304
|
+
}
|
|
305
|
+
type NodeGraphLayerName = 'groups' | 'edges' | 'preview';
|
|
306
|
+
/**
|
|
307
|
+
* Symbol attached to `<NodeGraph.Minimap>` and other slot subcomponents so
|
|
308
|
+
* the parent `<NodeGraph>` can identify them without relying on
|
|
309
|
+
* `displayName` (which gets clobbered by `React.memo` / minifiers).
|
|
310
|
+
*/
|
|
311
|
+
declare const NODE_GRAPH_SLOT: unique symbol;
|
|
312
|
+
type NodeGraphSlotKind = 'minimap' | 'background' | 'toolbar' | 'spawn-palette';
|
|
313
|
+
/**
|
|
314
|
+
* Template registered with `<NodeGraph.SpawnPalette>` — describes a
|
|
315
|
+
* spawn-able node + how to build it at a given world point. The
|
|
316
|
+
* library handles search / filtering / focus / selection of templates
|
|
317
|
+
* in the popover; this is the data slice consumer cares about.
|
|
318
|
+
*/
|
|
319
|
+
interface NodeGraphTemplate {
|
|
320
|
+
/** Stable identifier (used for keys + the palette's recent list). */
|
|
321
|
+
id: string;
|
|
322
|
+
/** Human-readable title shown in the palette. */
|
|
323
|
+
title: string;
|
|
324
|
+
/** Optional secondary line. */
|
|
325
|
+
subtitle?: string;
|
|
326
|
+
/** Group label used to section the palette list. */
|
|
327
|
+
group?: string;
|
|
328
|
+
/** Extra strings the fuzzy matcher considers (synonyms, tags). */
|
|
329
|
+
keywords?: ReadonlyArray<string>;
|
|
330
|
+
/** Optional leading icon. */
|
|
331
|
+
icon?: React.ReactNode;
|
|
332
|
+
/**
|
|
333
|
+
* Build the node body from a world position. The library assigns
|
|
334
|
+
* the final `id` (so consumer doesn't have to roll their own
|
|
335
|
+
* uniqueness scheme) — return everything except `id`.
|
|
336
|
+
*/
|
|
337
|
+
build: (worldPoint: Point2D) => Omit<NodeGraphNode, 'id'>;
|
|
338
|
+
}
|
|
339
|
+
interface NodeGraphSpawnContext {
|
|
340
|
+
/** World point where the user invoked the palette. */
|
|
341
|
+
worldPoint: Point2D;
|
|
342
|
+
/** Screen-space point (CSS pixels relative to viewport top-left). */
|
|
343
|
+
screenPoint: Point2D;
|
|
344
|
+
}
|
|
345
|
+
interface NodeGraphSpawnPaletteSlotProps {
|
|
346
|
+
/** All spawn-able templates. Filtering happens inside the library. */
|
|
347
|
+
templates: ReadonlyArray<NodeGraphTemplate>;
|
|
348
|
+
/**
|
|
349
|
+
* Called when the user picks a template. Library has already
|
|
350
|
+
* assigned an `id`; consumer typically appends to their nodes state.
|
|
351
|
+
*/
|
|
352
|
+
onSpawn: (node: NodeGraphNode, ctx: NodeGraphSpawnContext) => void;
|
|
353
|
+
/** Placeholder for the search input. */
|
|
354
|
+
placeholder?: string;
|
|
355
|
+
/** localStorage key for the palette's recent list. */
|
|
356
|
+
recentKey?: string;
|
|
357
|
+
/** Popover width. @default 400 */
|
|
358
|
+
width?: number | string;
|
|
359
|
+
/** Popover max height. @default 360 */
|
|
360
|
+
maxHeight?: number;
|
|
361
|
+
}
|
|
362
|
+
interface NodeGraphToolbarSlotProps {
|
|
363
|
+
/**
|
|
364
|
+
* Anchored corner inside the graph. Defaults to top-left.
|
|
365
|
+
*/
|
|
366
|
+
placement?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
367
|
+
/** Distance from the edge, CSS px. @default 12 */
|
|
368
|
+
margin?: number;
|
|
369
|
+
/** Gap between toolbar buttons / children, CSS px. @default 4 */
|
|
370
|
+
gap?: number;
|
|
371
|
+
/** Optional className applied to the toolbar wrapper. */
|
|
372
|
+
className?: string;
|
|
373
|
+
/** Inline style override. */
|
|
374
|
+
style?: React.CSSProperties;
|
|
375
|
+
/** Toolbar contents — typically `<NodeGraph.FitContentButton>` etc. */
|
|
376
|
+
children?: React.ReactNode;
|
|
377
|
+
}
|
|
378
|
+
interface NodeGraphSlotMarker {
|
|
379
|
+
[NODE_GRAPH_SLOT]: NodeGraphSlotKind;
|
|
380
|
+
}
|
|
381
|
+
interface NodeGraphBaseProps extends Omit<BaseComponent, 'onChange' | 'onContextMenu' | 'ref'> {
|
|
382
|
+
nodes?: NodeGraphNode[];
|
|
383
|
+
defaultNodes?: NodeGraphNode[];
|
|
384
|
+
onNodesChange?: (nodes: NodeGraphNode[]) => void;
|
|
385
|
+
edges?: NodeGraphEdge[];
|
|
386
|
+
defaultEdges?: NodeGraphEdge[];
|
|
387
|
+
onEdgesChange?: (edges: NodeGraphEdge[]) => void;
|
|
388
|
+
groups?: NodeGraphGroup[];
|
|
389
|
+
defaultGroups?: NodeGraphGroup[];
|
|
390
|
+
onGroupsChange?: (groups: NodeGraphGroup[]) => void;
|
|
391
|
+
selection?: NodeGraphSelection;
|
|
392
|
+
defaultSelection?: NodeGraphSelection;
|
|
393
|
+
onSelectionChange?: (selection: NodeGraphSelection) => void;
|
|
394
|
+
/**
|
|
395
|
+
* Render the body of a node. The returned content sits inside a wrapper
|
|
396
|
+
* `<div>` positioned in world space — do not set position/transform
|
|
397
|
+
* yourself. Declare connection endpoints by placing `<NodeGraph.Port>`
|
|
398
|
+
* children anywhere inside the returned tree; the library tracks their
|
|
399
|
+
* DOM positions automatically and routes edges through them.
|
|
400
|
+
*/
|
|
401
|
+
renderNode?: (node: NodeGraphNode, ctx: NodeGraphRenderCtx) => React.ReactNode;
|
|
402
|
+
/**
|
|
403
|
+
* Render a label above the midpoint of an edge. Receives the edge data.
|
|
404
|
+
* When omitted, `edge.label` is used as-is (if defined).
|
|
405
|
+
*/
|
|
406
|
+
renderEdgeLabel?: (edge: NodeGraphEdge) => React.ReactNode;
|
|
407
|
+
/**
|
|
408
|
+
* Per-edge style hook called on every draw frame. The returned shape
|
|
409
|
+
* is shallow-merged into the default edge style; any field left
|
|
410
|
+
* undefined falls back to `edge.color` / theme defaults.
|
|
411
|
+
*
|
|
412
|
+
* The second argument carries resolved port metadata from the store
|
|
413
|
+
* so consumers don't need to maintain a parallel index just to colour
|
|
414
|
+
* wires by their source pin's `dataType`.
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```tsx
|
|
418
|
+
* <NodeGraph
|
|
419
|
+
* edgeStyle={(edge, ctx) => ({
|
|
420
|
+
* color: TYPE_COLOR[ctx.sourcePort?.dataType ?? 'any'],
|
|
421
|
+
* width: ctx.selected ? 3 : 1.5,
|
|
422
|
+
* })}
|
|
423
|
+
* />
|
|
424
|
+
* ```
|
|
425
|
+
*/
|
|
426
|
+
edgeStyle?: NodeGraphEdgeStyleFn;
|
|
427
|
+
/**
|
|
428
|
+
* Validate a connection between two ports. Return `false` to reject the
|
|
429
|
+
* drop; the preview edge is still drawn while the user is hovering, but
|
|
430
|
+
* styled as invalid.
|
|
431
|
+
*/
|
|
432
|
+
isValidConnection?: (source: NodeGraphPortRef, target: NodeGraphPortRef, info: NodeGraphConnectionValidationInfo) => boolean;
|
|
433
|
+
/**
|
|
434
|
+
* Snap node positions to a grid of `snapToGrid` world units. Pass `false`
|
|
435
|
+
* to disable snapping. Affects drag (mouse), not programmatic position
|
|
436
|
+
* updates.
|
|
437
|
+
* @default false
|
|
438
|
+
*/
|
|
439
|
+
snapToGrid?: number | false;
|
|
440
|
+
/** Fired when a connection drag starts (pointer-down on a port). */
|
|
441
|
+
onConnectStart?: (info: NodeGraphConnectStartInfo) => void;
|
|
442
|
+
/** Fired when a connection drag ends (drop on a port or cancellation). */
|
|
443
|
+
onConnectEnd?: (info: NodeGraphConnectEndInfo) => void;
|
|
444
|
+
/**
|
|
445
|
+
* Fired on a context menu (right-click) over any part of the graph.
|
|
446
|
+
* Includes a discriminated target so the consumer can render contextual
|
|
447
|
+
* menus for nodes / edges / ports / groups / empty background.
|
|
448
|
+
*/
|
|
449
|
+
onContextMenu?: (info: NodeGraphContextMenuInfo) => void;
|
|
450
|
+
/** Fired when Delete/Backspace is pressed with a non-empty selection. */
|
|
451
|
+
onDelete?: (selection: NodeGraphSelection) => void;
|
|
452
|
+
/** Fired when Enter is pressed with a single focused node. */
|
|
453
|
+
onActivate?: (node: NodeGraphNode) => void;
|
|
454
|
+
/**
|
|
455
|
+
* Pan gesture configuration, or `false` to disable. Defaults match
|
|
456
|
+
* `<Viewport>`: middle-mouse drag + space-key + left-drag.
|
|
457
|
+
*/
|
|
458
|
+
pan?: ViewportPanConfig | false;
|
|
459
|
+
/** Zoom gesture configuration, or `false` to disable. */
|
|
460
|
+
zoom?: ViewportZoomConfig | false;
|
|
461
|
+
/** @default 0.1 */
|
|
462
|
+
minZoom?: number;
|
|
463
|
+
/** @default 4 */
|
|
464
|
+
maxZoom?: number;
|
|
465
|
+
/**
|
|
466
|
+
* Enable marquee selection rectangle. When true, dragging on empty
|
|
467
|
+
* background draws a marquee that selects intersecting nodes.
|
|
468
|
+
* @default true
|
|
469
|
+
*/
|
|
470
|
+
selectionRect?: boolean;
|
|
471
|
+
/**
|
|
472
|
+
* Track parent size via `ResizeObserver`. Identical to `<Viewport>`'s
|
|
473
|
+
* `responsive`. @default false
|
|
474
|
+
*/
|
|
475
|
+
responsive?: boolean;
|
|
476
|
+
/** Fixed height when not responsive. @default 480 */
|
|
477
|
+
height?: number;
|
|
478
|
+
/**
|
|
479
|
+
* Fallback size used when neither `node.width`/`height` nor the measured
|
|
480
|
+
* DOM size is yet available — for the brief window between mount and
|
|
481
|
+
* first ResizeObserver tick, and for the imperative `fitToContent` /
|
|
482
|
+
* minimap reads at first paint.
|
|
483
|
+
* @default { width: 180, height: 80 }
|
|
484
|
+
*/
|
|
485
|
+
defaultNodeSize?: {
|
|
486
|
+
width: number;
|
|
487
|
+
height: number;
|
|
488
|
+
};
|
|
489
|
+
/**
|
|
490
|
+
* Disable all interaction and dim the surface.
|
|
491
|
+
* @default false
|
|
492
|
+
*/
|
|
493
|
+
disabled?: boolean;
|
|
494
|
+
/** @default 'Node graph' */
|
|
495
|
+
ariaLabel?: string;
|
|
496
|
+
/** Slot children: `<NodeGraph.Minimap>`, `<NodeGraph.Background>`. */
|
|
497
|
+
children?: React.ReactNode;
|
|
498
|
+
/** Imperative handle. */
|
|
499
|
+
ref?: React.Ref<NodeGraphHandle>;
|
|
500
|
+
}
|
|
501
|
+
type NodeGraphProps = Prettify<NodeGraphBaseProps>;
|
|
502
|
+
/**
|
|
503
|
+
* Per-node colouring for the minimap. Return `{ color }` for a flat tinted
|
|
504
|
+
* rect, or add `headerColor` for a two-tone "header strip + body" mini-node
|
|
505
|
+
* that echoes the real node's look at a glance.
|
|
506
|
+
*/
|
|
507
|
+
interface NodeGraphMinimapNodeStyle {
|
|
508
|
+
/** Body fill colour. Falls back to the minimap's default item colour. */
|
|
509
|
+
color?: string;
|
|
510
|
+
/** When set, a header strip is drawn on top in this colour (two-tone). */
|
|
511
|
+
headerColor?: string;
|
|
512
|
+
}
|
|
513
|
+
interface NodeGraphMinimapSlotProps {
|
|
514
|
+
/**
|
|
515
|
+
* Anchored position inside the graph. Matches `ViewportMinimap`'s
|
|
516
|
+
* `placement` (string preset or custom anchor object).
|
|
517
|
+
* @default 'bottom-right'
|
|
518
|
+
*/
|
|
519
|
+
placement?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | {
|
|
520
|
+
top?: number | string;
|
|
521
|
+
right?: number | string;
|
|
522
|
+
bottom?: number | string;
|
|
523
|
+
left?: number | string;
|
|
524
|
+
width?: number | string;
|
|
525
|
+
height?: number | string;
|
|
526
|
+
};
|
|
527
|
+
/** Distance from the edge for preset placements (CSS px). @default 12 */
|
|
528
|
+
margin?: number;
|
|
529
|
+
/** Minimap width in CSS pixels. @default 200 */
|
|
530
|
+
width?: number;
|
|
531
|
+
/** Optional title (rendered as `<Minimap.Title>`). */
|
|
532
|
+
title?: React.ReactNode;
|
|
533
|
+
/** Optional className applied to the minimap wrapper. */
|
|
534
|
+
className?: string;
|
|
535
|
+
/**
|
|
536
|
+
* CSS colour used to highlight selected nodes inside the minimap. When
|
|
537
|
+
* omitted, selected nodes use the same colour as unselected ones.
|
|
538
|
+
*/
|
|
539
|
+
selectedColor?: string;
|
|
540
|
+
/**
|
|
541
|
+
* Per-node colouring. Return `{ color }` to tint the rect, or
|
|
542
|
+
* `{ color, headerColor }` to draw a two-tone header/body mini-node that
|
|
543
|
+
* mirrors the real node. When omitted, every node uses the default colour
|
|
544
|
+
* (or `selectedColor` while selected).
|
|
545
|
+
*/
|
|
546
|
+
nodeStyle?: (node: NodeGraphNode) => NodeGraphMinimapNodeStyle | undefined;
|
|
547
|
+
}
|
|
548
|
+
interface NodeGraphBackgroundSlotProps {
|
|
549
|
+
/**
|
|
550
|
+
* Background style. `'dots'` and `'grid'` are built in; pass `'none'`
|
|
551
|
+
* for an opaque background only.
|
|
552
|
+
* @default 'dots'
|
|
553
|
+
*/
|
|
554
|
+
variant?: 'dots' | 'grid' | 'none';
|
|
555
|
+
/**
|
|
556
|
+
* Grid spacing in world units. The pattern repeats at this interval
|
|
557
|
+
* regardless of zoom.
|
|
558
|
+
* @default 24
|
|
559
|
+
*/
|
|
560
|
+
gap?: number;
|
|
561
|
+
/** Optional dot/line colour. Defaults to theme `border.default`. */
|
|
562
|
+
color?: string;
|
|
563
|
+
/** Optional background colour. Defaults to theme `background.primary`. */
|
|
564
|
+
background?: string;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
export { NODE_GRAPH_SLOT };
|
|
568
|
+
export type { NodeGraphBackgroundSlotProps, NodeGraphBaseProps, NodeGraphConnectEndInfo, NodeGraphConnectStartInfo, NodeGraphConnectionValidationInfo, NodeGraphContextMenuInfo, NodeGraphEdge, NodeGraphEdgeStyle, NodeGraphEdgeStyleCtx, NodeGraphEdgeStyleFn, NodeGraphGroup, NodeGraphHandle, NodeGraphLayerName, NodeGraphMinimapNodeStyle, NodeGraphMinimapSlotProps, NodeGraphNode, NodeGraphPortRef, NodeGraphPortShape, NodeGraphPortSide, NodeGraphPortSlotProps, NodeGraphProps, NodeGraphRenderCtx, NodeGraphSelection, NodeGraphSlotKind, NodeGraphSlotMarker, NodeGraphSpawnContext, NodeGraphSpawnPaletteSlotProps, NodeGraphTarget, NodeGraphTemplate, NodeGraphToolbarSlotProps };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NodeGraphSelection } from './NodeGraph.types.js';
|
|
2
|
+
import { NodeGraphDataState, NodeGraphHoverState, NodeGraphInteractionState, NodeGraphStore } from './NodeGraphStore.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Access the underlying `NodeGraphStore` instance — escape hatch for
|
|
6
|
+
* subscribing to custom slice combinations or for imperative reads from
|
|
7
|
+
* non-React code paths (gesture handlers, canvas draw frames).
|
|
8
|
+
*/
|
|
9
|
+
declare function useNodeGraphStore(): NodeGraphStore;
|
|
10
|
+
/**
|
|
11
|
+
* Subscribe to the data slice — re-renders when the graph contents
|
|
12
|
+
* (`nodes`, `edges`, `groups`, default size) change.
|
|
13
|
+
*/
|
|
14
|
+
declare function useNodeGraphData(): NodeGraphDataState;
|
|
15
|
+
/**
|
|
16
|
+
* Subscribe to the selection slice — re-renders when the selection changes.
|
|
17
|
+
*/
|
|
18
|
+
declare function useNodeGraphSelection(): NodeGraphSelection;
|
|
19
|
+
/**
|
|
20
|
+
* Subscribe to the interaction slice — re-renders on gesture lifecycle
|
|
21
|
+
* (drag, connect, marquee) and on per-frame deltas during a drag.
|
|
22
|
+
*/
|
|
23
|
+
declare function useNodeGraphInteraction(): NodeGraphInteractionState;
|
|
24
|
+
/**
|
|
25
|
+
* Subscribe to the hover slice — re-renders when the hovered node / edge /
|
|
26
|
+
* port changes.
|
|
27
|
+
*/
|
|
28
|
+
declare function useNodeGraphHover(): NodeGraphHoverState;
|
|
29
|
+
|
|
30
|
+
export { useNodeGraphData, useNodeGraphHover, useNodeGraphInteraction, useNodeGraphSelection, useNodeGraphStore };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { NodeGraphPortSide } from './NodeGraph.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Default node body wrapper — a themed panel with the standard
|
|
6
|
+
* selected/hovered visual states the library provides out of the box.
|
|
7
|
+
* Drop it inside your `renderNode` and you get a node that looks at
|
|
8
|
+
* home next to the rest of the library; override `className` / `style`
|
|
9
|
+
* to take over.
|
|
10
|
+
*
|
|
11
|
+
* Selection / hover / drag state is read from the store via the
|
|
12
|
+
* per-node context so the body re-themes itself without the consumer
|
|
13
|
+
* threading state in from `renderNode`'s `ctx`. Pass `selected` /
|
|
14
|
+
* `hovered` explicitly to drive the visual from outside (e.g. running
|
|
15
|
+
* a node-state machine in your own React tree).
|
|
16
|
+
*/
|
|
17
|
+
interface NodeGraphNodeBodyProps {
|
|
18
|
+
/** Override the accent colour (default border / shadow when selected). */
|
|
19
|
+
accent?: string;
|
|
20
|
+
/** Override the auto-derived `selected` state. */
|
|
21
|
+
selected?: boolean;
|
|
22
|
+
/** Override the auto-derived `hovered` state. */
|
|
23
|
+
hovered?: boolean;
|
|
24
|
+
/** Visual variant — affects default chrome density. */
|
|
25
|
+
variant?: 'panel' | 'flat' | 'minimal';
|
|
26
|
+
/** Extra classes applied to the body wrapper. */
|
|
27
|
+
className?: string;
|
|
28
|
+
/** Inline style override (lower priority than CSS classes). */
|
|
29
|
+
style?: React.CSSProperties;
|
|
30
|
+
/** Body content — typically `<NodeGraph.NodeHeader>` + `<NodeGraph.PinList>`. */
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
}
|
|
33
|
+
declare function NodeGraphNodeBody({ accent, selected: selectedProp, hovered: hoveredProp, variant, className, style, children, }: NodeGraphNodeBodyProps): React.ReactElement;
|
|
34
|
+
/**
|
|
35
|
+
* Header bar for a node — gradient strip + optional icon, title and
|
|
36
|
+
* subtitle. Pass `children` to take full control of the header layout.
|
|
37
|
+
*/
|
|
38
|
+
interface NodeGraphNodeHeaderProps {
|
|
39
|
+
title?: React.ReactNode;
|
|
40
|
+
subtitle?: React.ReactNode;
|
|
41
|
+
/** Small leading icon (typically 14-18 px). */
|
|
42
|
+
icon?: React.ReactNode;
|
|
43
|
+
/** Override the header background — defaults to theme accent gradient. */
|
|
44
|
+
background?: string;
|
|
45
|
+
className?: string;
|
|
46
|
+
style?: React.CSSProperties;
|
|
47
|
+
children?: React.ReactNode;
|
|
48
|
+
}
|
|
49
|
+
declare function NodeGraphNodeHeader({ title, subtitle, icon, background, className, style, children, }: NodeGraphNodeHeaderProps): React.ReactElement;
|
|
50
|
+
/**
|
|
51
|
+
* Two-column pin container — children are routed into the left or right
|
|
52
|
+
* column based on each `<NodeGraph.PinRow side>`. Anything that isn't a
|
|
53
|
+
* `<NodeGraph.PinRow>` falls through into a center "loose" slot below
|
|
54
|
+
* the columns (so you can drop inline editors / body content next to
|
|
55
|
+
* your pin rows without breaking layout).
|
|
56
|
+
*/
|
|
57
|
+
interface NodeGraphPinListProps {
|
|
58
|
+
className?: string;
|
|
59
|
+
style?: React.CSSProperties;
|
|
60
|
+
/** Gap between left and right columns, in CSS px. Default 16. */
|
|
61
|
+
columnGap?: number;
|
|
62
|
+
children?: React.ReactNode;
|
|
63
|
+
}
|
|
64
|
+
declare function NodeGraphPinList({ className, style, columnGap, children, }: NodeGraphPinListProps): React.ReactElement;
|
|
65
|
+
/**
|
|
66
|
+
* Single pin row — typically holds a `<NodeGraph.Port>` plus a label.
|
|
67
|
+
* Side determines which end of the row the port sits at: `left` puts
|
|
68
|
+
* the port first (left edge), `right` puts it last (right edge).
|
|
69
|
+
*
|
|
70
|
+
* The row is layout-only — pin position math comes from the slot's DOM
|
|
71
|
+
* measurement, not from where in the row it lives. You can rearrange
|
|
72
|
+
* the order inside the row without breaking edges.
|
|
73
|
+
*/
|
|
74
|
+
interface NodeGraphPinRowProps {
|
|
75
|
+
/** Which side this pin anchors to. Drives the layout / justification. */
|
|
76
|
+
side: NodeGraphPortSide;
|
|
77
|
+
/** Optional row height (CSS px). Default 22. */
|
|
78
|
+
height?: number;
|
|
79
|
+
className?: string;
|
|
80
|
+
style?: React.CSSProperties;
|
|
81
|
+
children?: React.ReactNode;
|
|
82
|
+
}
|
|
83
|
+
declare function NodeGraphPinRow({ side, height, className, style, children, }: NodeGraphPinRowProps): React.ReactElement;
|
|
84
|
+
|
|
85
|
+
export { NodeGraphNodeBody, NodeGraphNodeHeader, NodeGraphPinList, NodeGraphPinRow };
|
|
86
|
+
export type { NodeGraphNodeBodyProps, NodeGraphNodeHeaderProps, NodeGraphPinListProps, NodeGraphPinRowProps };
|