entangle-ui 0.9.0 → 0.11.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 +766 -0
- package/README.md +8 -6
- package/dist/esm/assets/src/components/controls/FileTree/FileTree.css.ts.vanilla-YmktPvnr.css +48 -0
- package/dist/esm/assets/src/components/controls/Select/{Select.css.ts.vanilla-oZnFUorL.css → Select.css.ts.vanilla-Cpu2BvWL.css} +3 -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/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/PropertyInspector/{PropertyPanel.css.ts.vanilla-RYv_XgOu.css → PropertyPanel.css.ts.vanilla-Dpr_k5I3.css} +4 -1
- package/dist/esm/assets/src/components/editor/PropertyInspector/{PropertyRow.css.ts.vanilla-C3YZnnHb.css → PropertyRow.css.ts.vanilla-pq1Uhd2a.css} +15 -8
- package/dist/esm/assets/src/components/editor/PropertyInspector/{PropertySection.css.ts.vanilla-DK12opZc.css → PropertySection.css.ts.vanilla-6MWWAqyd.css} +50 -32
- package/dist/esm/assets/src/components/editor/Timeline/Timeline.css.ts.vanilla-DDX6Zalo.css +203 -0
- package/dist/esm/assets/src/components/feedback/LogView/LogView.css.ts.vanilla-nB5ENOpw.css +312 -0
- package/dist/esm/assets/src/components/navigation/Menu/Menu.css.ts.vanilla-B5iVe5S2.css +88 -0
- package/dist/esm/assets/src/components/navigation/PathBar/PathBar.css.ts.vanilla-BIEzQQOf.css +10 -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/CameraIcon.js +31 -0
- package/dist/esm/components/Icons/CameraIcon.js.map +1 -0
- 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.map +1 -1
- 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/CubeIcon.js +31 -0
- package/dist/esm/components/Icons/CubeIcon.js.map +1 -0
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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/OrbitIcon.js +31 -0
- package/dist/esm/components/Icons/OrbitIcon.js.map +1 -0
- 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/RotateIcon.js +32 -0
- package/dist/esm/components/Icons/RotateIcon.js.map +1 -0
- 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/SpinIcon.js +32 -0
- package/dist/esm/components/Icons/SpinIcon.js.map +1 -0
- 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.map +1 -1
- 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/ZoomFitIcon.js +32 -0
- package/dist/esm/components/Icons/ZoomFitIcon.js.map +1 -0
- 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/colorUtils.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -1
- package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -1
- package/dist/esm/components/controls/Combobox/Combobox.js +46 -23
- package/dist/esm/components/controls/Combobox/Combobox.js.map +1 -1
- 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 +252 -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.js +3 -6
- package/dist/esm/components/controls/FileUploader/FileUploader.js.map +1 -1
- package/dist/esm/components/controls/MultiSelect/MultiSelect.js +46 -15
- package/dist/esm/components/controls/MultiSelect/MultiSelect.js.map +1 -1
- 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.css.js +1 -1
- package/dist/esm/components/controls/Select/Select.js +44 -16
- 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.js +4 -2
- package/dist/esm/components/controls/TagInput/TagInput.js.map +1 -1
- 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 +42 -7
- 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 +13 -4
- package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
- package/dist/esm/components/data/DataTable/DataTable.js +25 -8
- package/dist/esm/components/data/DataTable/DataTable.js.map +1 -1
- 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 +140 -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 +136 -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 +226 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserGridItem.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserList.js +189 -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 +120 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserSurface.js.map +1 -0
- package/dist/esm/components/editor/AssetBrowser/AssetBrowserToolbar.js +134 -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 +20 -4
- 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/ChatIcons.js.map +1 -1
- package/dist/esm/components/editor/ChatPanel/ChatInput.js +10 -3
- 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 +10 -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.css.js +4 -3
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +12 -7
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js +7 -6
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +21 -5
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js +11 -10
- package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js.map +1 -1
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js +32 -11
- 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.js +8 -8
- 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.js +32 -22
- package/dist/esm/components/feedback/CommandPalette/CommandPalette.js.map +1 -1
- package/dist/esm/components/feedback/CommandPalette/fuzzySearch.js.map +1 -1
- package/dist/esm/components/feedback/CommandPalette/useRecentItems.js +3 -1
- package/dist/esm/components/feedback/CommandPalette/useRecentItems.js.map +1 -1
- 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 +1 -1
- 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.js +4 -1
- package/dist/esm/components/feedback/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js +4 -0
- package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js.map +1 -1
- 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.js +1 -1
- package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js.map +1 -1
- 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.js.map +1 -1
- 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 +7 -3
- 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 +1 -1
- 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 +7 -2
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -1
- package/dist/esm/components/layout/Card/Card.js +2 -2
- package/dist/esm/components/layout/Card/Card.js.map +1 -1
- 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/Grid/Grid.js.map +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/Spacer/Spacer.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/layout/Stack/Stack.js.map +1 -1
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js +4 -0
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js.map +1 -1
- package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js +6 -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 +13 -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.js.map +1 -1
- package/dist/esm/components/navigation/Pagination/usePagination.js.map +1 -1
- 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 +184 -0
- package/dist/esm/components/navigation/PathBar/PathBar.js.map +1 -0
- package/dist/esm/components/navigation/PathBar/PathBarSiblingMenu.js +151 -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 +11 -4
- 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 +10 -3
- 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 +6 -4
- 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 +2 -2
- package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -1
- package/dist/esm/components/primitives/HoverCard/HoverCard.js +5 -3
- package/dist/esm/components/primitives/HoverCard/HoverCard.js.map +1 -1
- package/dist/esm/components/primitives/Icon/Icon.js +1 -1
- 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.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/Popover.js.map +1 -1
- package/dist/esm/components/primitives/Popover/PopoverClose.js +1 -1
- 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 +3 -3
- 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/canvasCoords.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 +1 -1
- package/dist/esm/hooks/useBreakpoint/useBreakpoint.js.map +1 -1
- 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 +11 -6
- package/dist/esm/hooks/useDebounced/useDebouncedCallback.js.map +1 -1
- package/dist/esm/hooks/useDebounced/useDebouncedValue.js +16 -4
- package/dist/esm/hooks/useDebounced/useDebouncedValue.js.map +1 -1
- 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 +2 -0
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
- 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 +29 -13
- package/dist/esm/hooks/useListboxNav/useListboxNav.js.map +1 -1
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +7 -1
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
- 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 +6 -3
- package/dist/esm/hooks/useTheme/useTheme.js.map +1 -1
- package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js +9 -4
- package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js.map +1 -1
- package/dist/esm/index.js +63 -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/styles.js +3 -0
- package/dist/esm/styles.js.map +1 -0
- package/dist/esm/theme/ThemeProvider.js +6 -4
- package/dist/esm/theme/ThemeProvider.js.map +1 -1
- package/dist/esm/theme/VanillaThemeProvider.js.map +1 -1
- package/dist/esm/theme/breakpoints.js.map +1 -1
- package/dist/esm/theme/contract.css.js +1 -1
- package/dist/esm/theme/createCustomTheme.js +2 -2
- package/dist/esm/theme/createCustomTheme.js.map +1 -1
- package/dist/esm/theme/createLightTheme.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/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/cx.js.map +1 -1
- package/dist/esm/utils/devWarn.js +1 -1
- package/dist/esm/utils/devWarn.js.map +1 -1
- package/dist/esm/utils/mathExpression.js +1 -1
- package/dist/esm/utils/mathExpression.js.map +1 -1
- package/dist/esm/utils/mathUtils.js.map +1 -1
- package/dist/esm/utils/objects.js.map +1 -1
- package/dist/esm/utils/platform.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/CameraIcon.d.ts +34 -0
- 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 +1 -1
- 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/CubeIcon.d.ts +34 -0
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/OrbitIcon.d.ts +34 -0
- 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/RotateIcon.d.ts +35 -0
- 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/SpinIcon.d.ts +35 -0
- 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 +1 -1
- 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/ZoomFitIcon.d.ts +35 -0
- 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.types.d.ts +1 -1
- 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.types.d.ts +2 -2
- package/dist/types/components/controls/MultiSelect/MultiSelect.types.d.ts +1 -1
- package/dist/types/components/controls/NumberInput/NumberInput.d.ts +2 -2
- package/dist/types/components/controls/Select/Select.d.ts +1 -1
- package/dist/types/components/controls/Select/Select.types.d.ts +45 -11
- package/dist/types/components/controls/Slider/Slider.d.ts +1 -1
- package/dist/types/components/controls/TagInput/TagInput.types.d.ts +2 -2
- 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.types.d.ts +2 -2
- 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 +51 -5
- 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 +2 -2
- package/dist/types/components/feedback/Alert/Alert.types.d.ts +5 -5
- package/dist/types/components/feedback/CommandPalette/CommandPalette.types.d.ts +1 -3
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +2 -2
- package/dist/types/components/feedback/Drawer/Drawer.types.d.ts +1 -1
- 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 +4 -4
- package/dist/types/components/feedback/Stat/Stat.types.d.ts +2 -2
- 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 +2 -2
- package/dist/types/components/layout/Card/Card.types.d.ts +6 -6
- 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.types.d.ts +1 -1
- 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.types.d.ts +3 -3
- package/dist/types/components/primitives/Icon/Icon.d.ts +2 -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/useDebounced/useDebouncedValue.d.ts +13 -4
- package/dist/types/hooks/useEventCallback/useEventCallback.d.ts +32 -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/useResizeObserver/useResizeObserver.d.ts +3 -3
- package/dist/types/index.d.ts +71 -6
- package/dist/types/theme/ThemeProvider.d.ts +5 -3
- 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/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 +34 -18
- package/dist/esm/_virtual/_commonjsHelpers.js +0 -6
- package/dist/esm/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/esm/_virtual/cjs.js +0 -4
- package/dist/esm/_virtual/cjs.js.map +0 -1
- package/dist/esm/_virtual/cssesc.js +0 -8
- package/dist/esm/_virtual/cssesc.js.map +0 -1
- package/dist/esm/_virtual/picocolors.js +0 -8
- package/dist/esm/_virtual/picocolors.js.map +0 -1
- package/dist/esm/_virtual/picocolors2.js +0 -4
- package/dist/esm/_virtual/picocolors2.js.map +0 -1
- 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/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.js +0 -56
- package/dist/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js +0 -46
- package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/css/dist/taggedTemplateLiteral-10998315.esm.js +0 -13
- package/dist/esm/node_modules/@vanilla-extract/css/dist/taggedTemplateLiteral-10998315.esm.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js +0 -962
- package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js +0 -309
- package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/css/fileScope/dist/vanilla-extract-css-fileScope.esm.js +0 -18
- package/dist/esm/node_modules/@vanilla-extract/css/fileScope/dist/vanilla-extract-css-fileScope.esm.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/css/injectStyles/dist/vanilla-extract-css-injectStyles.esm.js +0 -23
- package/dist/esm/node_modules/@vanilla-extract/css/injectStyles/dist/vanilla-extract-css-injectStyles.esm.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js +0 -1543
- package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js.map +0 -1
- package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js +0 -38
- package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js.map +0 -1
- package/dist/esm/node_modules/css-what/lib/es/parse.js +0 -424
- package/dist/esm/node_modules/css-what/lib/es/parse.js.map +0 -1
- package/dist/esm/node_modules/css-what/lib/es/types.js +0 -29
- package/dist/esm/node_modules/css-what/lib/es/types.js.map +0 -1
- package/dist/esm/node_modules/cssesc/cssesc.js +0 -120
- package/dist/esm/node_modules/cssesc/cssesc.js.map +0 -1
- package/dist/esm/node_modules/dedent/dist/dedent.js +0 -100
- package/dist/esm/node_modules/dedent/dist/dedent.js.map +0 -1
- package/dist/esm/node_modules/deep-object-diff/mjs/diff.js +0 -40
- package/dist/esm/node_modules/deep-object-diff/mjs/diff.js.map +0 -1
- package/dist/esm/node_modules/deep-object-diff/mjs/utils.js +0 -9
- package/dist/esm/node_modules/deep-object-diff/mjs/utils.js.map +0 -1
- package/dist/esm/node_modules/deepmerge/dist/cjs.js +0 -143
- package/dist/esm/node_modules/deepmerge/dist/cjs.js.map +0 -1
- package/dist/esm/node_modules/media-query-parser/dist/media-query-parser.esm.js +0 -1386
- package/dist/esm/node_modules/media-query-parser/dist/media-query-parser.esm.js.map +0 -1
- package/dist/esm/node_modules/modern-ahocorasick/dist/index.js +0 -102
- package/dist/esm/node_modules/modern-ahocorasick/dist/index.js.map +0 -1
- package/dist/esm/node_modules/picocolors/picocolors.js +0 -87
- package/dist/esm/node_modules/picocolors/picocolors.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,70 @@
|
|
|
1
|
+
/** Thumbnail edge length (px) for the named scales. */
|
|
2
|
+
const THUMB_PX = {
|
|
3
|
+
sm: 72,
|
|
4
|
+
md: 104,
|
|
5
|
+
lg: 144,
|
|
6
|
+
};
|
|
7
|
+
const CELL_PADDING = 6;
|
|
8
|
+
const LABEL_HEIGHT = 32;
|
|
9
|
+
const GRID_GAP = 8;
|
|
10
|
+
function resolveThumbPx(size) {
|
|
11
|
+
if (typeof size === 'number')
|
|
12
|
+
return Math.max(32, size);
|
|
13
|
+
return THUMB_PX[size];
|
|
14
|
+
}
|
|
15
|
+
function cellWidth(thumbPx) {
|
|
16
|
+
return thumbPx + CELL_PADDING * 2 + 2; // + border
|
|
17
|
+
}
|
|
18
|
+
function cellHeight(thumbPx) {
|
|
19
|
+
return thumbPx + CELL_PADDING * 2 + LABEL_HEIGHT + 2;
|
|
20
|
+
}
|
|
21
|
+
function rowHeight(thumbPx) {
|
|
22
|
+
return cellHeight(thumbPx) + GRID_GAP;
|
|
23
|
+
}
|
|
24
|
+
/** How many columns fit in `width` px of usable (padding-excluded) space. */
|
|
25
|
+
function columnsFor(width, thumbPx) {
|
|
26
|
+
if (width <= 0)
|
|
27
|
+
return 1;
|
|
28
|
+
const stride = cellWidth(thumbPx) + GRID_GAP;
|
|
29
|
+
return Math.max(1, Math.floor((width + GRID_GAP) / stride));
|
|
30
|
+
}
|
|
31
|
+
/** Content-space rectangle of the item at `index` for a given column count. */
|
|
32
|
+
function itemRect(index, columns, thumbPx) {
|
|
33
|
+
const cols = Math.max(1, columns);
|
|
34
|
+
const col = index % cols;
|
|
35
|
+
const row = Math.floor(index / cols);
|
|
36
|
+
const stride = cellWidth(thumbPx) + GRID_GAP;
|
|
37
|
+
return {
|
|
38
|
+
x: col * stride,
|
|
39
|
+
y: row * rowHeight(thumbPx),
|
|
40
|
+
width: cellWidth(thumbPx),
|
|
41
|
+
height: cellHeight(thumbPx),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function rectsIntersect(a, b) {
|
|
45
|
+
return (a.x < b.x + b.width &&
|
|
46
|
+
a.x + a.width > b.x &&
|
|
47
|
+
a.y < b.y + b.height &&
|
|
48
|
+
a.y + a.height > b.y);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Stable DOM id for a grid cell, namespaced by the grid's `useId`. Used to
|
|
52
|
+
* wire the grid's `aria-activedescendant` to the roving-focus cell. CSS.escape
|
|
53
|
+
* is unnecessary — this is set on the element's `id`/attribute as a raw value,
|
|
54
|
+
* never used in a selector.
|
|
55
|
+
*/
|
|
56
|
+
function cellDomId(gridId, assetId) {
|
|
57
|
+
return `${gridId}-cell-${assetId}`;
|
|
58
|
+
}
|
|
59
|
+
/** Normalize two content-space points into a positive-size rectangle. */
|
|
60
|
+
function rectFromPoints(ax, ay, bx, by) {
|
|
61
|
+
return {
|
|
62
|
+
x: Math.min(ax, bx),
|
|
63
|
+
y: Math.min(ay, by),
|
|
64
|
+
width: Math.abs(ax - bx),
|
|
65
|
+
height: Math.abs(ay - by),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { CELL_PADDING, GRID_GAP, LABEL_HEIGHT, THUMB_PX, cellDomId, cellHeight, cellWidth, columnsFor, itemRect, rectFromPoints, rectsIntersect, resolveThumbPx, rowHeight };
|
|
70
|
+
//# sourceMappingURL=assetBrowserGeometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetBrowserGeometry.js","sources":["src/components/editor/AssetBrowser/assetBrowserGeometry.ts"],"sourcesContent":["import type { AssetThumbnailSize } from './AssetBrowser.types';\nimport type { MarqueeRect } from './AssetBrowserStore';\n\n/** Thumbnail edge length (px) for the named scales. */\nexport const THUMB_PX: Record<'sm' | 'md' | 'lg', number> = {\n sm: 72,\n md: 104,\n lg: 144,\n};\n\nexport const CELL_PADDING = 6;\nexport const LABEL_HEIGHT = 32;\nexport const GRID_GAP = 8;\n\nexport function resolveThumbPx(size: AssetThumbnailSize): number {\n if (typeof size === 'number') return Math.max(32, size);\n return THUMB_PX[size];\n}\n\nexport function cellWidth(thumbPx: number): number {\n return thumbPx + CELL_PADDING * 2 + 2; // + border\n}\n\nexport function cellHeight(thumbPx: number): number {\n return thumbPx + CELL_PADDING * 2 + LABEL_HEIGHT + 2;\n}\n\nexport function rowHeight(thumbPx: number): number {\n return cellHeight(thumbPx) + GRID_GAP;\n}\n\n/** How many columns fit in `width` px of usable (padding-excluded) space. */\nexport function columnsFor(width: number, thumbPx: number): number {\n if (width <= 0) return 1;\n const stride = cellWidth(thumbPx) + GRID_GAP;\n return Math.max(1, Math.floor((width + GRID_GAP) / stride));\n}\n\n/** Content-space rectangle of the item at `index` for a given column count. */\nexport function itemRect(\n index: number,\n columns: number,\n thumbPx: number\n): MarqueeRect {\n const cols = Math.max(1, columns);\n const col = index % cols;\n const row = Math.floor(index / cols);\n const stride = cellWidth(thumbPx) + GRID_GAP;\n return {\n x: col * stride,\n y: row * rowHeight(thumbPx),\n width: cellWidth(thumbPx),\n height: cellHeight(thumbPx),\n };\n}\n\nexport function rectsIntersect(a: MarqueeRect, b: MarqueeRect): boolean {\n return (\n a.x < b.x + b.width &&\n a.x + a.width > b.x &&\n a.y < b.y + b.height &&\n a.y + a.height > b.y\n );\n}\n\n/**\n * Stable DOM id for a grid cell, namespaced by the grid's `useId`. Used to\n * wire the grid's `aria-activedescendant` to the roving-focus cell. CSS.escape\n * is unnecessary — this is set on the element's `id`/attribute as a raw value,\n * never used in a selector.\n */\nexport function cellDomId(gridId: string, assetId: string): string {\n return `${gridId}-cell-${assetId}`;\n}\n\n/** Normalize two content-space points into a positive-size rectangle. */\nexport function rectFromPoints(\n ax: number,\n ay: number,\n bx: number,\n by: number\n): MarqueeRect {\n return {\n x: Math.min(ax, bx),\n y: Math.min(ay, by),\n width: Math.abs(ax - bx),\n height: Math.abs(ay - by),\n };\n}\n"],"names":[],"mappings":"AAGA;AACO,MAAM,QAAQ,GAAuC;AAC1D,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,EAAE,EAAE,GAAG;;AAGF,MAAM,YAAY,GAAG;AACrB,MAAM,YAAY,GAAG;AACrB,MAAM,QAAQ,GAAG;AAElB,SAAU,cAAc,CAAC,IAAwB,EAAA;IACrD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;AACvD,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB;AAEM,SAAU,SAAS,CAAC,OAAe,EAAA;IACvC,OAAO,OAAO,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AACxC;AAEM,SAAU,UAAU,CAAC,OAAe,EAAA;IACxC,OAAO,OAAO,GAAG,YAAY,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;AACtD;AAEM,SAAU,SAAS,CAAC,OAAe,EAAA;AACvC,IAAA,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,QAAQ;AACvC;AAEA;AACM,SAAU,UAAU,CAAC,KAAa,EAAE,OAAe,EAAA;IACvD,IAAI,KAAK,IAAI,CAAC;AAAE,QAAA,OAAO,CAAC;IACxB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,QAAQ;AAC5C,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC;AAC7D;AAEA;SACgB,QAAQ,CACtB,KAAa,EACb,OAAe,EACf,OAAe,EAAA;IAEf,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;AACjC,IAAA,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,QAAQ;IAC5C,OAAO;QACL,CAAC,EAAE,GAAG,GAAG,MAAM;AACf,QAAA,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;AAC3B,QAAA,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;AACzB,QAAA,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC;KAC5B;AACH;AAEM,SAAU,cAAc,CAAC,CAAc,EAAE,CAAc,EAAA;IAC3D,QACE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK;QACnB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;QACpB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAExB;AAEA;;;;;AAKG;AACG,SAAU,SAAS,CAAC,MAAc,EAAE,OAAe,EAAA;AACvD,IAAA,OAAO,CAAA,EAAG,MAAM,CAAA,MAAA,EAAS,OAAO,EAAE;AACpC;AAEA;AACM,SAAU,cAAc,CAC5B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EAAA;IAEV,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;QACnB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;KAC1B;AACH;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure 2D grid keyboard navigation. Given the focused index and a key, return
|
|
3
|
+
* the next index. Returns the clamped target, or the original index when the
|
|
4
|
+
* key is not a navigation key or the move would leave the grid.
|
|
5
|
+
*/
|
|
6
|
+
function nextGridIndex(current, key, params) {
|
|
7
|
+
const { count } = params;
|
|
8
|
+
if (count === 0)
|
|
9
|
+
return -1;
|
|
10
|
+
const columns = Math.max(1, params.columns);
|
|
11
|
+
const rowsPerPage = Math.max(1, params.rowsPerPage);
|
|
12
|
+
const last = count - 1;
|
|
13
|
+
const clamp = (n) => Math.min(last, Math.max(0, n));
|
|
14
|
+
// Starting from "nothing focused", any nav key lands on the first item.
|
|
15
|
+
if (current < 0) {
|
|
16
|
+
switch (key) {
|
|
17
|
+
case 'ArrowRight':
|
|
18
|
+
case 'ArrowDown':
|
|
19
|
+
case 'ArrowLeft':
|
|
20
|
+
case 'ArrowUp':
|
|
21
|
+
case 'Home':
|
|
22
|
+
case 'PageUp':
|
|
23
|
+
return 0;
|
|
24
|
+
case 'End':
|
|
25
|
+
case 'PageDown':
|
|
26
|
+
return last;
|
|
27
|
+
default:
|
|
28
|
+
return current;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
switch (key) {
|
|
32
|
+
case 'ArrowRight':
|
|
33
|
+
return current < last ? current + 1 : current;
|
|
34
|
+
case 'ArrowLeft':
|
|
35
|
+
return current > 0 ? current - 1 : current;
|
|
36
|
+
case 'ArrowDown': {
|
|
37
|
+
const target = current + columns;
|
|
38
|
+
return target <= last ? target : current;
|
|
39
|
+
}
|
|
40
|
+
case 'ArrowUp': {
|
|
41
|
+
const target = current - columns;
|
|
42
|
+
return target >= 0 ? target : current;
|
|
43
|
+
}
|
|
44
|
+
case 'Home':
|
|
45
|
+
return 0;
|
|
46
|
+
case 'End':
|
|
47
|
+
return last;
|
|
48
|
+
case 'PageDown':
|
|
49
|
+
return clamp(current + columns * rowsPerPage);
|
|
50
|
+
case 'PageUp':
|
|
51
|
+
return clamp(current - columns * rowsPerPage);
|
|
52
|
+
default:
|
|
53
|
+
return current;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** Inclusive index range between two indices, regardless of order. */
|
|
57
|
+
function indexRange(a, b) {
|
|
58
|
+
return a <= b ? [a, b] : [b, a];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { indexRange, nextGridIndex };
|
|
62
|
+
//# sourceMappingURL=assetBrowserKeyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetBrowserKeyboard.js","sources":["src/components/editor/AssetBrowser/assetBrowserKeyboard.ts"],"sourcesContent":["export interface GridNavParams {\n /** Number of columns currently laid out. */\n columns: number;\n /** Total item count. */\n count: number;\n /** Rows that fit in one viewport — used by PageUp/PageDown. */\n rowsPerPage: number;\n}\n\n/**\n * Pure 2D grid keyboard navigation. Given the focused index and a key, return\n * the next index. Returns the clamped target, or the original index when the\n * key is not a navigation key or the move would leave the grid.\n */\nexport function nextGridIndex(\n current: number,\n key: string,\n params: GridNavParams\n): number {\n const { count } = params;\n if (count === 0) return -1;\n\n const columns = Math.max(1, params.columns);\n const rowsPerPage = Math.max(1, params.rowsPerPage);\n const last = count - 1;\n const clamp = (n: number): number => Math.min(last, Math.max(0, n));\n\n // Starting from \"nothing focused\", any nav key lands on the first item.\n if (current < 0) {\n switch (key) {\n case 'ArrowRight':\n case 'ArrowDown':\n case 'ArrowLeft':\n case 'ArrowUp':\n case 'Home':\n case 'PageUp':\n return 0;\n case 'End':\n case 'PageDown':\n return last;\n default:\n return current;\n }\n }\n\n switch (key) {\n case 'ArrowRight':\n return current < last ? current + 1 : current;\n case 'ArrowLeft':\n return current > 0 ? current - 1 : current;\n case 'ArrowDown': {\n const target = current + columns;\n return target <= last ? target : current;\n }\n case 'ArrowUp': {\n const target = current - columns;\n return target >= 0 ? target : current;\n }\n case 'Home':\n return 0;\n case 'End':\n return last;\n case 'PageDown':\n return clamp(current + columns * rowsPerPage);\n case 'PageUp':\n return clamp(current - columns * rowsPerPage);\n default:\n return current;\n }\n}\n\n/** Inclusive index range between two indices, regardless of order. */\nexport function indexRange(a: number, b: number): [number, number] {\n return a <= b ? [a, b] : [b, a];\n}\n"],"names":[],"mappings":"AASA;;;;AAIG;SACa,aAAa,CAC3B,OAAe,EACf,GAAW,EACX,MAAqB,EAAA;AAErB,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM;IACxB,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE;AAE1B,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;AAC3C,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;AACnD,IAAA,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC;IACtB,MAAM,KAAK,GAAG,CAAC,CAAS,KAAa,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;AAGnE,IAAA,IAAI,OAAO,GAAG,CAAC,EAAE;QACf,QAAQ,GAAG;AACT,YAAA,KAAK,YAAY;AACjB,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,SAAS;AACd,YAAA,KAAK,MAAM;AACX,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,CAAC;AACV,YAAA,KAAK,KAAK;AACV,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,IAAI;AACb,YAAA;AACE,gBAAA,OAAO,OAAO;;IAEpB;IAEA,QAAQ,GAAG;AACT,QAAA,KAAK,YAAY;AACf,YAAA,OAAO,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO;AAC/C,QAAA,KAAK,WAAW;AACd,YAAA,OAAO,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO;QAC5C,KAAK,WAAW,EAAE;AAChB,YAAA,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO;YAChC,OAAO,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO;QAC1C;QACA,KAAK,SAAS,EAAE;AACd,YAAA,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO;YAChC,OAAO,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO;QACvC;AACA,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,CAAC;AACV,QAAA,KAAK,KAAK;AACR,YAAA,OAAO,IAAI;AACb,QAAA,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAC/C,QAAA,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAC/C,QAAA;AACE,YAAA,OAAO,OAAO;;AAEpB;AAEA;AACM,SAAU,UAAU,CAAC,CAAS,EAAE,CAAS,EAAA;AAC7C,IAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACjC;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const DEFAULT_ASSET_BROWSER_LABELS = {
|
|
2
|
+
searchPlaceholder: 'Search assets…',
|
|
3
|
+
viewModeAria: 'View mode',
|
|
4
|
+
gridViewTooltip: 'Grid view',
|
|
5
|
+
listViewTooltip: 'List view',
|
|
6
|
+
gridAria: 'Assets',
|
|
7
|
+
sort: 'Sort',
|
|
8
|
+
sortAscending: 'Ascending',
|
|
9
|
+
sortDescending: 'Descending',
|
|
10
|
+
filter: 'Filter',
|
|
11
|
+
back: 'Back',
|
|
12
|
+
forward: 'Forward',
|
|
13
|
+
thumbnailSizeAria: 'Thumbnail size',
|
|
14
|
+
empty: 'This folder is empty.',
|
|
15
|
+
loading: 'Loading assets…',
|
|
16
|
+
errorTitle: 'Couldn’t load assets',
|
|
17
|
+
errorDescription: 'Something went wrong while loading this folder.',
|
|
18
|
+
retry: 'Retry',
|
|
19
|
+
importOverlay: 'Drop files to import',
|
|
20
|
+
folder: 'Folder',
|
|
21
|
+
rename: 'Rename',
|
|
22
|
+
delete: 'Delete',
|
|
23
|
+
duplicate: 'Duplicate',
|
|
24
|
+
newFolder: 'New folder',
|
|
25
|
+
sortFields: {
|
|
26
|
+
name: 'Name',
|
|
27
|
+
type: 'Type',
|
|
28
|
+
size: 'Size',
|
|
29
|
+
modified: 'Modified',
|
|
30
|
+
},
|
|
31
|
+
itemCount: count => `${count} item${count === 1 ? '' : 's'}`,
|
|
32
|
+
selectedCount: count => `, ${count} selected`,
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Merge a consumer's partial `labels` onto the English defaults. `sortFields`
|
|
36
|
+
* is merged one level deep so overriding a single column label keeps the rest.
|
|
37
|
+
*/
|
|
38
|
+
function resolveLabels(overrides) {
|
|
39
|
+
if (!overrides)
|
|
40
|
+
return DEFAULT_ASSET_BROWSER_LABELS;
|
|
41
|
+
return {
|
|
42
|
+
...DEFAULT_ASSET_BROWSER_LABELS,
|
|
43
|
+
...overrides,
|
|
44
|
+
sortFields: {
|
|
45
|
+
...DEFAULT_ASSET_BROWSER_LABELS.sortFields,
|
|
46
|
+
...overrides.sortFields,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { DEFAULT_ASSET_BROWSER_LABELS, resolveLabels };
|
|
52
|
+
//# sourceMappingURL=assetBrowserLabels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetBrowserLabels.js","sources":["src/components/editor/AssetBrowser/assetBrowserLabels.ts"],"sourcesContent":["import type { AssetSortField } from './AssetBrowser.types';\n\n/**\n * Every user-facing string in the AssetBrowser chrome. Pass a partial\n * `labels` prop to translate or reword any subset; unspecified keys fall back\n * to {@link DEFAULT_ASSET_BROWSER_LABELS} (English).\n *\n * The `*Aria` keys are accessible names (screen-reader only); the rest are\n * visible text. `sortFields` maps each sortable field id to its menu/column\n * label. `itemCount` / `selectedCount` build the live-region announcement and\n * receive the relevant counts.\n */\nexport interface AssetBrowserLabels {\n /** Search input placeholder. @default \"Search assets…\" */\n searchPlaceholder: string;\n /** Accessible name of the view-mode toggle. @default \"View mode\" */\n viewModeAria: string;\n /** Grid-view tooltip. @default \"Grid view\" */\n gridViewTooltip: string;\n /** List-view tooltip. @default \"List view\" */\n listViewTooltip: string;\n /** Accessible name of the grid region. @default \"Assets\" */\n gridAria: string;\n /** Sort menu trigger. @default \"Sort\" */\n sort: string;\n /** Ascending radio item. @default \"Ascending\" */\n sortAscending: string;\n /** Descending radio item. @default \"Descending\" */\n sortDescending: string;\n /** Filter menu trigger. @default \"Filter\" */\n filter: string;\n /** Back button accessible name. @default \"Back\" */\n back: string;\n /** Forward button accessible name. @default \"Forward\" */\n forward: string;\n /** Thumbnail-size control accessible name. @default \"Thumbnail size\" */\n thumbnailSizeAria: string;\n /** Default empty-folder message. @default \"This folder is empty.\" */\n empty: string;\n /** Loading message (list view) / skeleton aria. @default \"Loading assets…\" */\n loading: string;\n /** Built-in error title. @default \"Couldn’t load assets\" */\n errorTitle: string;\n /** Built-in error description. */\n errorDescription: string;\n /** Retry button. @default \"Retry\" */\n retry: string;\n /** File-import drop overlay. @default \"Drop files to import\" */\n importOverlay: string;\n /** List \"Type\" value for folders. @default \"Folder\" */\n folder: string;\n /** Rename default-action label + rename-field accessible name. @default \"Rename\" */\n rename: string;\n /** Delete default-action label. @default \"Delete\" */\n delete: string;\n /** Duplicate default-action label. @default \"Duplicate\" */\n duplicate: string;\n /** New-folder default-action label. @default \"New folder\" */\n newFolder: string;\n /** Per-sort-field labels (also the list column headers). */\n sortFields: Record<AssetSortField, string>;\n /** Live-region item count, e.g. `n => \\`${n} items\\``. */\n itemCount: (count: number) => string;\n /** Live-region selected count suffix, e.g. `n => \\`, ${n} selected\\``. */\n selectedCount: (count: number) => string;\n}\n\nexport const DEFAULT_ASSET_BROWSER_LABELS: AssetBrowserLabels = {\n searchPlaceholder: 'Search assets…',\n viewModeAria: 'View mode',\n gridViewTooltip: 'Grid view',\n listViewTooltip: 'List view',\n gridAria: 'Assets',\n sort: 'Sort',\n sortAscending: 'Ascending',\n sortDescending: 'Descending',\n filter: 'Filter',\n back: 'Back',\n forward: 'Forward',\n thumbnailSizeAria: 'Thumbnail size',\n empty: 'This folder is empty.',\n loading: 'Loading assets…',\n errorTitle: 'Couldn’t load assets',\n errorDescription: 'Something went wrong while loading this folder.',\n retry: 'Retry',\n importOverlay: 'Drop files to import',\n folder: 'Folder',\n rename: 'Rename',\n delete: 'Delete',\n duplicate: 'Duplicate',\n newFolder: 'New folder',\n sortFields: {\n name: 'Name',\n type: 'Type',\n size: 'Size',\n modified: 'Modified',\n },\n itemCount: count => `${count} item${count === 1 ? '' : 's'}`,\n selectedCount: count => `, ${count} selected`,\n};\n\n/**\n * Merge a consumer's partial `labels` onto the English defaults. `sortFields`\n * is merged one level deep so overriding a single column label keeps the rest.\n */\nexport function resolveLabels(\n overrides: Partial<AssetBrowserLabels> | undefined\n): AssetBrowserLabels {\n if (!overrides) return DEFAULT_ASSET_BROWSER_LABELS;\n return {\n ...DEFAULT_ASSET_BROWSER_LABELS,\n ...overrides,\n sortFields: {\n ...DEFAULT_ASSET_BROWSER_LABELS.sortFields,\n ...overrides.sortFields,\n },\n };\n}\n"],"names":[],"mappings":"AAmEO,MAAM,4BAA4B,GAAuB;AAC9D,IAAA,iBAAiB,EAAE,gBAAgB;AACnC,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,cAAc,EAAE,YAAY;AAC5B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,iBAAiB,EAAE,gBAAgB;AACnC,IAAA,KAAK,EAAE,uBAAuB;AAC9B,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,UAAU,EAAE,sBAAsB;AAClC,IAAA,gBAAgB,EAAE,iDAAiD;AACnE,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,UAAU,EAAE;AACV,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE,UAAU;AACrB,KAAA;AACD,IAAA,SAAS,EAAE,KAAK,IAAI,CAAA,EAAG,KAAK,CAAA,KAAA,EAAQ,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE;AAC5D,IAAA,aAAa,EAAE,KAAK,IAAI,CAAA,EAAA,EAAK,KAAK,CAAA,SAAA,CAAW;;AAG/C;;;AAGG;AACG,SAAU,aAAa,CAC3B,SAAkD,EAAA;AAElD,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,4BAA4B;IACnD,OAAO;AACL,QAAA,GAAG,4BAA4B;AAC/B,QAAA,GAAG,SAAS;AACZ,QAAA,UAAU,EAAE;YACV,GAAG,4BAA4B,CAAC,UAAU;YAC1C,GAAG,SAAS,CAAC,UAAU;AACxB,SAAA;KACF;AACH;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Symbol marker identifying an AssetBrowser compound slot. Survives
|
|
3
|
+
* `React.memo`, function wrapping, and minification — unlike `displayName`.
|
|
4
|
+
*/
|
|
5
|
+
const ASSET_BROWSER_SLOT = Symbol.for('etui.assetBrowser.slot');
|
|
6
|
+
/** Tags a component function with its slot kind. */
|
|
7
|
+
function markSlot(component, kind) {
|
|
8
|
+
component[ASSET_BROWSER_SLOT] = kind;
|
|
9
|
+
return component;
|
|
10
|
+
}
|
|
11
|
+
/** Reads the slot kind off a React element's component type, or `null`. */
|
|
12
|
+
function getSlotKind(el) {
|
|
13
|
+
const type = el.type;
|
|
14
|
+
return type?.[ASSET_BROWSER_SLOT] ?? null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { ASSET_BROWSER_SLOT, getSlotKind, markSlot };
|
|
18
|
+
//# sourceMappingURL=slots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slots.js","sources":["src/components/editor/AssetBrowser/slots.ts"],"sourcesContent":["import type React from 'react';\n\n/**\n * Symbol marker identifying an AssetBrowser compound slot. Survives\n * `React.memo`, function wrapping, and minification — unlike `displayName`.\n */\nexport const ASSET_BROWSER_SLOT: unique symbol = Symbol.for(\n 'etui.assetBrowser.slot'\n);\n\nexport type AssetBrowserSlotKind = 'toolbar' | 'sidebar';\n\ninterface SlotMarker {\n [ASSET_BROWSER_SLOT]: AssetBrowserSlotKind;\n}\n\n/** Tags a component function with its slot kind. */\nexport function markSlot<T>(component: T, kind: AssetBrowserSlotKind): T {\n (component as unknown as SlotMarker)[ASSET_BROWSER_SLOT] = kind;\n return component;\n}\n\n/** Reads the slot kind off a React element's component type, or `null`. */\nexport function getSlotKind(\n el: React.ReactElement\n): AssetBrowserSlotKind | null {\n const type = el.type as Partial<SlotMarker> | null | undefined;\n return type?.[ASSET_BROWSER_SLOT] ?? null;\n}\n"],"names":[],"mappings":"AAEA;;;AAGG;AACI,MAAM,kBAAkB,GAAkB,MAAM,CAAC,GAAG,CACzD,wBAAwB;AAS1B;AACM,SAAU,QAAQ,CAAI,SAAY,EAAE,IAA0B,EAAA;AACjE,IAAA,SAAmC,CAAC,kBAAkB,CAAC,GAAG,IAAI;AAC/D,IAAA,OAAO,SAAS;AAClB;AAEA;AACM,SAAU,WAAW,CACzB,EAAsB,EAAA;AAEtB,IAAA,MAAM,IAAI,GAAG,EAAE,CAAC,IAA8C;AAC9D,IAAA,OAAO,IAAI,GAAG,kBAAkB,CAAC,IAAI,IAAI;AAC3C;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useAssetBrowserContext, useAssetSelection } from './AssetBrowserContext.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The polite-live a11y announcement string ("N items, M selected"). Subscribes
|
|
6
|
+
* to the displayed-items count from the item context and the selection-size
|
|
7
|
+
* slice from the store, so consumers can use it inside a tightly-scoped
|
|
8
|
+
* subcomponent without lifting the value to the root.
|
|
9
|
+
*/
|
|
10
|
+
function useAssetBrowserAnnouncement() {
|
|
11
|
+
const { displayedItems, labels } = useAssetBrowserContext();
|
|
12
|
+
const selectionSet = useAssetSelection();
|
|
13
|
+
const count = displayedItems.length;
|
|
14
|
+
const selected = selectionSet.size;
|
|
15
|
+
return `${labels.itemCount(count)}${selected > 0 ? labels.selectedCount(selected) : ''}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { useAssetBrowserAnnouncement };
|
|
19
|
+
//# sourceMappingURL=useAssetBrowserAnnouncement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAssetBrowserAnnouncement.js","sources":["src/components/editor/AssetBrowser/useAssetBrowserAnnouncement.ts"],"sourcesContent":["'use client';\n\nimport {\n useAssetBrowserContext,\n useAssetSelection,\n} from './AssetBrowserContext';\n\n/**\n * The polite-live a11y announcement string (\"N items, M selected\"). Subscribes\n * to the displayed-items count from the item context and the selection-size\n * slice from the store, so consumers can use it inside a tightly-scoped\n * subcomponent without lifting the value to the root.\n */\nexport function useAssetBrowserAnnouncement(): string {\n const { displayedItems, labels } = useAssetBrowserContext();\n const selectionSet = useAssetSelection();\n const count = displayedItems.length;\n const selected = selectionSet.size;\n return `${labels.itemCount(count)}${selected > 0 ? labels.selectedCount(selected) : ''}`;\n}\n"],"names":[],"mappings":";;;AAOA;;;;;AAKG;;;AAGD;AACA;AACA;;AAEF;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useImperativeHandle } from 'react';
|
|
3
|
+
import '../../../utils/devWarn.js';
|
|
4
|
+
import { useLatest } from '../../../hooks/useLatest/useLatest.js';
|
|
5
|
+
import '../../../hooks/useBreakpoint/useBreakpoint.js';
|
|
6
|
+
import './../../../assets/src/theme/lightTheme.css.ts.vanilla-Ct6f9Iym.css';
|
|
7
|
+
import '@vanilla-extract/css';
|
|
8
|
+
import './../../../assets/src/theme/darkTheme.css.ts.vanilla-BHZ3ecRn.css';
|
|
9
|
+
import 'react/jsx-runtime';
|
|
10
|
+
import './../../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
|
|
11
|
+
import '../../../hooks/useNavigationHistory/useNavigationHistory.js';
|
|
12
|
+
|
|
13
|
+
function cssEscape(value) {
|
|
14
|
+
if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
|
|
15
|
+
return CSS.escape(value);
|
|
16
|
+
}
|
|
17
|
+
return value.replace(/["\\]/g, '\\$&');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Wires the imperative `AssetBrowserHandle` onto the consumer-provided ref.
|
|
21
|
+
* Each handle method has a stable identity (`useCallback`) and reads the latest
|
|
22
|
+
* props through `useLatest` refs, so the handle object is built once and its
|
|
23
|
+
* methods always see the latest props. `scrollToItem` prefers the
|
|
24
|
+
* store-registered grid scroller (works under virtualization) and falls back
|
|
25
|
+
* to a `data-asset-id` DOM query for the list view or when no grid is mounted.
|
|
26
|
+
*/
|
|
27
|
+
function useAssetBrowserHandle(options) {
|
|
28
|
+
const { ref, rootRef, store, items, displayed, selectAll, clearSelection, beginRename, } = options;
|
|
29
|
+
const itemsRef = useLatest(items);
|
|
30
|
+
const displayedRef = useLatest(displayed);
|
|
31
|
+
const focus = useCallback(() => {
|
|
32
|
+
rootRef.current?.focus();
|
|
33
|
+
}, [rootRef]);
|
|
34
|
+
const getElement = useCallback(() => rootRef.current, [rootRef]);
|
|
35
|
+
const scrollToItem = useCallback((id) => {
|
|
36
|
+
store.setFocusedId(id);
|
|
37
|
+
const index = displayedRef.current.findIndex(it => it.id === id);
|
|
38
|
+
if (index >= 0 && store.scrollToIndex(index))
|
|
39
|
+
return;
|
|
40
|
+
const el = rootRef.current?.querySelector(`[data-asset-id="${cssEscape(id)}"]`);
|
|
41
|
+
el?.scrollIntoView({ block: 'nearest' });
|
|
42
|
+
}, [store, rootRef, displayedRef]);
|
|
43
|
+
const getSelectedItems = useCallback(() => itemsRef.current.filter(it => store.getSelection().has(it.id)), [store, itemsRef]);
|
|
44
|
+
const beginRenameHandle = useCallback((id) => {
|
|
45
|
+
// Bring the target into view first so the rename field is visible even
|
|
46
|
+
// when it was outside the virtualization window.
|
|
47
|
+
scrollToItem(id);
|
|
48
|
+
beginRename(id);
|
|
49
|
+
}, [scrollToItem, beginRename]);
|
|
50
|
+
useImperativeHandle(ref, () => ({
|
|
51
|
+
focus,
|
|
52
|
+
getElement,
|
|
53
|
+
selectAll,
|
|
54
|
+
clearSelection,
|
|
55
|
+
scrollToItem,
|
|
56
|
+
getSelectedItems,
|
|
57
|
+
beginRename: beginRenameHandle,
|
|
58
|
+
}), [
|
|
59
|
+
focus,
|
|
60
|
+
getElement,
|
|
61
|
+
selectAll,
|
|
62
|
+
clearSelection,
|
|
63
|
+
scrollToItem,
|
|
64
|
+
getSelectedItems,
|
|
65
|
+
beginRenameHandle,
|
|
66
|
+
]);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { useAssetBrowserHandle };
|
|
70
|
+
//# sourceMappingURL=useAssetBrowserHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAssetBrowserHandle.js","sources":["src/components/editor/AssetBrowser/useAssetBrowserHandle.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useImperativeHandle } from 'react';\n\nimport { useLatest } from '@/hooks';\n\nimport type { AssetBrowserHandle, AssetItem } from './AssetBrowser.types';\nimport type { AssetBrowserStore } from './AssetBrowserStore';\nimport type { Ref, RefObject } from 'react';\n\nfunction cssEscape(value: string): string {\n if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {\n return CSS.escape(value);\n }\n return value.replace(/[\"\\\\]/g, '\\\\$&');\n}\n\nexport interface UseAssetBrowserHandleOptions {\n ref: Ref<AssetBrowserHandle> | undefined;\n rootRef: RefObject<HTMLDivElement | null>;\n store: AssetBrowserStore;\n /** Latest `items` — read by `getSelectedItems`. */\n items: readonly AssetItem[];\n /** Latest displayed (filtered + sorted) list — used to resolve scroll targets. */\n displayed: readonly AssetItem[];\n selectAll: () => void;\n clearSelection: () => void;\n /** Stable mutation handler — enters inline rename for an id. */\n beginRename: (id: string) => void;\n}\n\n/**\n * Wires the imperative `AssetBrowserHandle` onto the consumer-provided ref.\n * Each handle method has a stable identity (`useCallback`) and reads the latest\n * props through `useLatest` refs, so the handle object is built once and its\n * methods always see the latest props. `scrollToItem` prefers the\n * store-registered grid scroller (works under virtualization) and falls back\n * to a `data-asset-id` DOM query for the list view or when no grid is mounted.\n */\nexport function useAssetBrowserHandle(\n options: UseAssetBrowserHandleOptions\n): void {\n const {\n ref,\n rootRef,\n store,\n items,\n displayed,\n selectAll,\n clearSelection,\n beginRename,\n } = options;\n\n const itemsRef = useLatest(items);\n const displayedRef = useLatest(displayed);\n\n const focus = useCallback((): void => {\n rootRef.current?.focus();\n }, [rootRef]);\n\n const getElement = useCallback(\n (): HTMLDivElement | null => rootRef.current,\n [rootRef]\n );\n\n const scrollToItem = useCallback(\n (id: string): void => {\n store.setFocusedId(id);\n const index = displayedRef.current.findIndex(it => it.id === id);\n if (index >= 0 && store.scrollToIndex(index)) return;\n const el = rootRef.current?.querySelector(\n `[data-asset-id=\"${cssEscape(id)}\"]`\n );\n el?.scrollIntoView({ block: 'nearest' });\n },\n [store, rootRef, displayedRef]\n );\n\n const getSelectedItems = useCallback(\n (): AssetItem[] =>\n itemsRef.current.filter(it => store.getSelection().has(it.id)),\n [store, itemsRef]\n );\n\n const beginRenameHandle = useCallback(\n (id: string): void => {\n // Bring the target into view first so the rename field is visible even\n // when it was outside the virtualization window.\n scrollToItem(id);\n beginRename(id);\n },\n [scrollToItem, beginRename]\n );\n\n useImperativeHandle(\n ref,\n (): AssetBrowserHandle => ({\n focus,\n getElement,\n selectAll,\n clearSelection,\n scrollToItem,\n getSelectedItems,\n beginRename: beginRenameHandle,\n }),\n [\n focus,\n getElement,\n selectAll,\n clearSelection,\n scrollToItem,\n getSelectedItems,\n beginRenameHandle,\n ]\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAUA;AACE;AACE;;;AAGJ;AAgBA;;;;;;;AAOG;AACG;AAGJ;AAWA;AACA;AAEA;AACE;AACF;AAEA;AAKA;AAEI;AACA;;;AAEA;;;AAQJ;AAMA;;;;;AAME;AAIF;;;;;;;AASI;AACD;;;;;;;;AASA;AAEL;;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useDeferredValue, useMemo } from 'react';
|
|
3
|
+
import '../../../utils/devWarn.js';
|
|
4
|
+
import { useControlledState } from '../../../hooks/useControlledState/useControlledState.js';
|
|
5
|
+
import '../../../hooks/useBreakpoint/useBreakpoint.js';
|
|
6
|
+
import './../../../assets/src/theme/lightTheme.css.ts.vanilla-Ct6f9Iym.css';
|
|
7
|
+
import '@vanilla-extract/css';
|
|
8
|
+
import './../../../assets/src/theme/darkTheme.css.ts.vanilla-BHZ3ecRn.css';
|
|
9
|
+
import 'react/jsx-runtime';
|
|
10
|
+
import './../../../assets/src/theme/globalScrollbars.css.ts.vanilla-BAJwnUEJ.css';
|
|
11
|
+
import '../../../hooks/useNavigationHistory/useNavigationHistory.js';
|
|
12
|
+
import { collectTypes, shapeAssets } from './assetBrowserFilter.js';
|
|
13
|
+
import { resolveThumbPx } from './assetBrowserGeometry.js';
|
|
14
|
+
|
|
15
|
+
const DEFAULT_SORT = { field: 'name', direction: 'asc' };
|
|
16
|
+
/**
|
|
17
|
+
* View-state aggregate for `AssetBrowser`. Wraps the five `useControlledState`
|
|
18
|
+
* pairs (view / thumbnailSize / search / filters / sort) and computes the
|
|
19
|
+
* derived values (`thumbnailSizePx`, `filterableTypes`, `displayed`,
|
|
20
|
+
* `marqueeEnabled`). Search is run through `useDeferredValue` so heavy filter
|
|
21
|
+
* + sort passes can lag behind responsive keystrokes.
|
|
22
|
+
*/
|
|
23
|
+
function useAssetBrowserViewState(options) {
|
|
24
|
+
const [view, setView] = useControlledState({
|
|
25
|
+
value: options.view,
|
|
26
|
+
defaultValue: options.defaultView,
|
|
27
|
+
onChange: options.onViewChange,
|
|
28
|
+
fallback: 'grid',
|
|
29
|
+
});
|
|
30
|
+
const [thumbnailSize, setThumbnailSize] = useControlledState({
|
|
31
|
+
value: options.thumbnailSize,
|
|
32
|
+
defaultValue: options.defaultThumbnailSize,
|
|
33
|
+
onChange: options.onThumbnailSizeChange,
|
|
34
|
+
fallback: 'md',
|
|
35
|
+
});
|
|
36
|
+
const [search, setSearch] = useControlledState({
|
|
37
|
+
value: options.search,
|
|
38
|
+
defaultValue: options.defaultSearch,
|
|
39
|
+
onChange: options.onSearchChange,
|
|
40
|
+
fallback: '',
|
|
41
|
+
});
|
|
42
|
+
const [filters, setFilters] = useControlledState({
|
|
43
|
+
value: options.filters,
|
|
44
|
+
defaultValue: options.defaultFilters,
|
|
45
|
+
onChange: options.onFiltersChange,
|
|
46
|
+
fallback: {},
|
|
47
|
+
});
|
|
48
|
+
const [sort, setSort] = useControlledState({
|
|
49
|
+
value: options.sort,
|
|
50
|
+
defaultValue: options.defaultSort,
|
|
51
|
+
onChange: options.onSortChange,
|
|
52
|
+
fallback: DEFAULT_SORT,
|
|
53
|
+
});
|
|
54
|
+
const deferredSearch = useDeferredValue(search);
|
|
55
|
+
const thumbnailSizePx = resolveThumbPx(thumbnailSize);
|
|
56
|
+
const marqueeEnabled = options.selectionMode === 'multiple' && options.marquee;
|
|
57
|
+
const filterableTypes = useMemo(() => options.filterableTypesProp ?? collectTypes(options.items), [options.filterableTypesProp, options.items]);
|
|
58
|
+
const displayed = useMemo(() => shapeAssets(options.items, {
|
|
59
|
+
search: deferredSearch,
|
|
60
|
+
filters,
|
|
61
|
+
sort,
|
|
62
|
+
manualSearch: options.manualSearch,
|
|
63
|
+
manualFilter: options.manualFilter,
|
|
64
|
+
manualSort: options.manualSort,
|
|
65
|
+
}), [
|
|
66
|
+
options.items,
|
|
67
|
+
deferredSearch,
|
|
68
|
+
filters,
|
|
69
|
+
sort,
|
|
70
|
+
options.manualSearch,
|
|
71
|
+
options.manualFilter,
|
|
72
|
+
options.manualSort,
|
|
73
|
+
]);
|
|
74
|
+
return useMemo(() => ({
|
|
75
|
+
view,
|
|
76
|
+
setView,
|
|
77
|
+
thumbnailSize,
|
|
78
|
+
setThumbnailSize,
|
|
79
|
+
thumbnailSizePx,
|
|
80
|
+
search,
|
|
81
|
+
setSearch,
|
|
82
|
+
filters,
|
|
83
|
+
setFilters,
|
|
84
|
+
sort,
|
|
85
|
+
setSort,
|
|
86
|
+
filterableTypes,
|
|
87
|
+
displayed,
|
|
88
|
+
marqueeEnabled,
|
|
89
|
+
}), [
|
|
90
|
+
view,
|
|
91
|
+
setView,
|
|
92
|
+
thumbnailSize,
|
|
93
|
+
setThumbnailSize,
|
|
94
|
+
thumbnailSizePx,
|
|
95
|
+
search,
|
|
96
|
+
setSearch,
|
|
97
|
+
filters,
|
|
98
|
+
setFilters,
|
|
99
|
+
sort,
|
|
100
|
+
setSort,
|
|
101
|
+
filterableTypes,
|
|
102
|
+
displayed,
|
|
103
|
+
marqueeEnabled,
|
|
104
|
+
]);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { useAssetBrowserViewState };
|
|
108
|
+
//# sourceMappingURL=useAssetBrowserViewState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAssetBrowserViewState.js","sources":["src/components/editor/AssetBrowser/useAssetBrowserViewState.ts"],"sourcesContent":["'use client';\n\nimport { useDeferredValue, useMemo } from 'react';\n\nimport { useControlledState } from '@/hooks';\n\nimport { collectTypes, shapeAssets } from './assetBrowserFilter';\nimport { resolveThumbPx } from './assetBrowserGeometry';\n\nimport type {\n AssetFilterState,\n AssetItem,\n AssetSortState,\n AssetThumbnailSize,\n AssetType,\n AssetView,\n} from './AssetBrowser.types';\n\nconst DEFAULT_SORT: AssetSortState = { field: 'name', direction: 'asc' };\n\nexport interface UseAssetBrowserViewStateOptions {\n items: readonly AssetItem[];\n selectionMode: 'single' | 'multiple' | false;\n marquee: boolean;\n\n view?: AssetView;\n defaultView?: AssetView;\n onViewChange?: (view: AssetView) => void;\n\n thumbnailSize?: AssetThumbnailSize;\n defaultThumbnailSize?: AssetThumbnailSize;\n onThumbnailSizeChange?: (size: AssetThumbnailSize) => void;\n\n search?: string;\n defaultSearch?: string;\n onSearchChange?: (query: string) => void;\n manualSearch: boolean;\n\n filters?: AssetFilterState;\n defaultFilters?: AssetFilterState;\n onFiltersChange?: (filters: AssetFilterState) => void;\n manualFilter: boolean;\n\n sort?: AssetSortState;\n defaultSort?: AssetSortState;\n onSortChange?: (sort: AssetSortState) => void;\n manualSort: boolean;\n\n filterableTypesProp?: AssetType[];\n}\n\nexport interface AssetBrowserViewState {\n view: AssetView;\n setView: (view: AssetView) => void;\n thumbnailSize: AssetThumbnailSize;\n setThumbnailSize: (size: AssetThumbnailSize) => void;\n thumbnailSizePx: number;\n search: string;\n setSearch: (query: string) => void;\n filters: AssetFilterState;\n setFilters: (filters: AssetFilterState) => void;\n sort: AssetSortState;\n setSort: (sort: AssetSortState) => void;\n filterableTypes: string[];\n /** Search (deferred) + filter + sort applied — what the views render. */\n displayed: AssetItem[];\n /** Resolved from `selectionMode === 'multiple'` and the `marquee` prop. */\n marqueeEnabled: boolean;\n}\n\n/**\n * View-state aggregate for `AssetBrowser`. Wraps the five `useControlledState`\n * pairs (view / thumbnailSize / search / filters / sort) and computes the\n * derived values (`thumbnailSizePx`, `filterableTypes`, `displayed`,\n * `marqueeEnabled`). Search is run through `useDeferredValue` so heavy filter\n * + sort passes can lag behind responsive keystrokes.\n */\nexport function useAssetBrowserViewState(\n options: UseAssetBrowserViewStateOptions\n): AssetBrowserViewState {\n const [view, setView] = useControlledState<AssetView>({\n value: options.view,\n defaultValue: options.defaultView,\n onChange: options.onViewChange,\n fallback: 'grid',\n });\n const [thumbnailSize, setThumbnailSize] =\n useControlledState<AssetThumbnailSize>({\n value: options.thumbnailSize,\n defaultValue: options.defaultThumbnailSize,\n onChange: options.onThumbnailSizeChange,\n fallback: 'md',\n });\n const [search, setSearch] = useControlledState<string>({\n value: options.search,\n defaultValue: options.defaultSearch,\n onChange: options.onSearchChange,\n fallback: '',\n });\n const [filters, setFilters] = useControlledState<AssetFilterState>({\n value: options.filters,\n defaultValue: options.defaultFilters,\n onChange: options.onFiltersChange,\n fallback: {},\n });\n const [sort, setSort] = useControlledState<AssetSortState>({\n value: options.sort,\n defaultValue: options.defaultSort,\n onChange: options.onSortChange,\n fallback: DEFAULT_SORT,\n });\n\n const deferredSearch = useDeferredValue(search);\n const thumbnailSizePx = resolveThumbPx(thumbnailSize);\n const marqueeEnabled =\n options.selectionMode === 'multiple' && options.marquee;\n\n const filterableTypes = useMemo(\n () => options.filterableTypesProp ?? collectTypes(options.items),\n [options.filterableTypesProp, options.items]\n );\n\n const displayed = useMemo(\n () =>\n shapeAssets(options.items, {\n search: deferredSearch,\n filters,\n sort,\n manualSearch: options.manualSearch,\n manualFilter: options.manualFilter,\n manualSort: options.manualSort,\n }),\n [\n options.items,\n deferredSearch,\n filters,\n sort,\n options.manualSearch,\n options.manualFilter,\n options.manualSort,\n ]\n );\n\n return useMemo(\n () => ({\n view,\n setView,\n thumbnailSize,\n setThumbnailSize,\n thumbnailSizePx,\n search,\n setSearch,\n filters,\n setFilters,\n sort,\n setSort,\n filterableTypes,\n displayed,\n marqueeEnabled,\n }),\n [\n view,\n setView,\n thumbnailSize,\n setThumbnailSize,\n thumbnailSizePx,\n search,\n setSearch,\n filters,\n setFilters,\n sort,\n setSort,\n filterableTypes,\n displayed,\n marqueeEnabled,\n ]\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAkBA;AAoDA;;;;;;AAMG;AACG;AAGJ;;;;AAIE;AACD;AACD;;;;AAKI;AACD;AACH;;;;AAIE;AACD;AACD;;;;AAIE;AACD;AACD;;;;AAIE;AACD;AAED;AACA;;AAIA;AAKA;AAGM;;;;;;AAMD;AAED;;;;AAIA;AACA;AACA;AACD;AAGH;;;;;;;;;;;;;;;AAgBG;;;;;;;;;;;;;;;AAgBA;AAEL;;"}
|