entangle-ui 0.2.0 → 0.4.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 +139 -7
- package/README.md +98 -52
- package/dist/esm/_virtual/cjs.js +4 -0
- package/dist/esm/_virtual/cjs.js.map +1 -0
- package/dist/esm/_virtual/cssesc.js +4 -0
- package/dist/esm/_virtual/cssesc.js.map +1 -0
- package/dist/esm/assets/src/components/controls/CartesianPicker/CartesianPicker.css.ts.vanilla-Ccao9ycw.css +23 -0
- package/dist/esm/assets/src/components/controls/ColorPicker/ColorPicker.css.ts.vanilla-Do5nbdgO.css +341 -0
- package/dist/esm/assets/src/components/controls/CurveEditor/CurveEditor.css.ts.vanilla-Vn9SOx70.css +76 -0
- package/dist/esm/assets/src/components/controls/NumberInput/NumberInput.css.ts.vanilla-uGNr81xQ.css +158 -0
- package/dist/esm/assets/src/components/controls/Select/Select.css.ts.vanilla-D4C059Ua.css +225 -0
- package/dist/esm/assets/src/components/controls/Slider/Slider.css.ts.vanilla-C5SJ_7A1.css +173 -0
- package/dist/esm/assets/src/components/controls/TreeView/TreeNode.css.ts.vanilla-D3ylUhuW.css +150 -0
- package/dist/esm/assets/src/components/controls/TreeView/TreeView.css.ts.vanilla-CsG5-rWt.css +14 -0
- package/dist/esm/assets/src/components/controls/VectorInput/VectorInput.css.ts.vanilla-BJma3iQ4.css +102 -0
- package/dist/esm/assets/src/components/editor/ChatPanel/ChatPanel.css.ts.vanilla-DPIGnZ4A.css +701 -0
- package/dist/esm/assets/src/components/editor/PropertyInspector/PropertyGroup.css.ts.vanilla-Co4n5a98.css +25 -0
- package/dist/esm/assets/src/components/editor/PropertyInspector/PropertyPanel.css.ts.vanilla-RYv_XgOu.css +46 -0
- package/dist/esm/assets/src/components/editor/PropertyInspector/PropertyRow.css.ts.vanilla-C3YZnnHb.css +75 -0
- package/dist/esm/assets/src/components/editor/PropertyInspector/PropertySection.css.ts.vanilla-DJBtY_xk.css +105 -0
- package/dist/esm/assets/src/components/editor/ViewportGizmo/ViewportGizmo.css.ts.vanilla-CEs2H-Iv.css +43 -0
- package/dist/esm/assets/src/components/feedback/Dialog/Dialog.css.ts.vanilla-BrXTOHwS.css +169 -0
- package/dist/esm/assets/src/components/feedback/Toast/ToastContainer.css.ts.vanilla-tBLsZ_70.css +13 -0
- package/dist/esm/assets/src/components/feedback/Toast/ToastItem.css.ts.vanilla-D6UuPKAj.css +152 -0
- package/dist/esm/assets/src/components/form/FormHelperText.css.ts.vanilla-CXKd9jtx.css +11 -0
- package/dist/esm/assets/src/components/form/FormLabel.css.ts.vanilla-DHn6CB2v.css +17 -0
- package/dist/esm/assets/src/components/form/InputWrapper.css.ts.vanilla-Bl7u62PI.css +44 -0
- package/dist/esm/assets/src/components/layout/Accordion/Accordion.css.ts.vanilla-Ck5Yew0e.css +118 -0
- package/dist/esm/assets/src/components/layout/Flex/Flex.css.ts.vanilla-D7wY2gY6.css +142 -0
- package/dist/esm/assets/src/components/layout/Grid/Grid.css.ts.vanilla-gqfqUi29.css +213 -0
- package/dist/esm/assets/src/components/layout/PanelSurface/PanelSurface.css.ts.vanilla-HZvObe0l.css +86 -0
- package/dist/esm/assets/src/components/layout/ScrollArea/ScrollArea.css.ts.vanilla-UsyrfXTC.css +126 -0
- package/dist/esm/assets/src/components/layout/Spacer/Spacer.css.ts.vanilla-A-7aOV46.css +14 -0
- package/dist/esm/assets/src/components/layout/SplitPane/SplitPane.css.ts.vanilla-BFxdvwyI.css +44 -0
- package/dist/esm/assets/src/components/layout/Stack/Stack.css.ts.vanilla-DNZOFYiD.css +123 -0
- package/dist/esm/assets/src/components/navigation/Menu/Menu.css.ts.vanilla-DD0c5D10.css +67 -0
- package/dist/esm/assets/src/components/navigation/Tabs/Tabs.css.ts.vanilla-D7RGpDPC.css +247 -0
- package/dist/esm/assets/src/components/primitives/Button/Button.css.ts.vanilla-CT592JL7.css +98 -0
- package/dist/esm/assets/src/components/primitives/Checkbox/Checkbox.css.ts.vanilla-dvrGPiPs.css +124 -0
- package/dist/esm/assets/src/components/primitives/Collapsible/Collapsible.css.ts.vanilla-C1rYV-JT.css +73 -0
- package/dist/esm/assets/src/components/primitives/Icon/Icon.css.ts.vanilla-DIZ6dped.css +45 -0
- package/dist/esm/assets/src/components/primitives/IconButton/IconButton.css.ts.vanilla-C-xAQoR3.css +123 -0
- package/dist/esm/assets/src/components/primitives/Input/Input.css.ts.vanilla-De5ditYa.css +74 -0
- package/dist/esm/assets/src/components/primitives/Paper/Paper.css.ts.vanilla-B_tPWU80.css +67 -0
- package/dist/esm/assets/src/components/primitives/Popover/Popover.css.ts.vanilla-DW6aAr57.css +60 -0
- package/dist/esm/assets/src/components/primitives/Switch/Switch.css.ts.vanilla-CxqwUToB.css +100 -0
- package/dist/esm/assets/src/components/primitives/Text/Text.css.ts.vanilla-qTMvgKKC.css +126 -0
- package/dist/esm/assets/src/components/primitives/Tooltip/Tooltip.css.ts.vanilla-CrEFoLBX.css +71 -0
- package/dist/esm/assets/src/components/primitives/canvas/CanvasContainer.css.ts.vanilla-DR3zkEYQ.css +32 -0
- package/dist/esm/assets/src/components/shell/AppShell/AppShell.css.ts.vanilla-BYmtU0O_.css +97 -0
- package/dist/esm/assets/src/components/shell/FloatingPanel/FloatingPanel.css.ts.vanilla-1rIAXEFp.css +88 -0
- package/dist/esm/assets/src/components/shell/MenuBar/MenuBar.css.ts.vanilla-TgPcl4yA.css +120 -0
- package/dist/esm/assets/src/components/shell/StatusBar/StatusBar.css.ts.vanilla-BwO7oAZi.css +113 -0
- package/dist/esm/assets/src/components/shell/Toolbar/Toolbar.css.ts.vanilla-DPqftT18.css +97 -0
- package/dist/esm/assets/src/theme/darkTheme.css.ts.vanilla-V8lWHaQH.css +95 -0
- package/dist/esm/components/Icons/CheckIcon.js +27 -0
- package/dist/esm/components/Icons/CheckIcon.js.map +1 -0
- package/dist/esm/components/Icons/ChevronDownIcon.js +27 -0
- package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -0
- package/dist/esm/components/Icons/ChevronUpIcon.js +27 -0
- package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -0
- package/dist/esm/components/Icons/CircleIcon.js +27 -0
- package/dist/esm/components/Icons/CircleIcon.js.map +1 -0
- package/dist/esm/components/Icons/CloseIcon.js +27 -0
- package/dist/esm/components/Icons/CloseIcon.js.map +1 -0
- package/dist/esm/components/Icons/EyeDropperIcon.js +28 -0
- package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentAlignedIcon.js +9 -0
- package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentAutoIcon.js +9 -0
- package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentFreeIcon.js +9 -0
- package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentLinearIcon.js +9 -0
- package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentMirroredIcon.js +9 -0
- package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentStepIcon.js +9 -0
- package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -0
- package/dist/esm/components/controls/CartesianPicker/CartesianPicker.css.js +9 -0
- package/dist/esm/components/controls/CartesianPicker/CartesianPicker.css.js.map +1 -0
- package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js +99 -0
- package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js.map +1 -0
- package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js +230 -0
- package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js.map +1 -0
- package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js +122 -0
- package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/AlphaSlider.js +55 -0
- package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorArea.js +64 -0
- package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js +64 -0
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js +19 -0
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.css.js +34 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.css.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js +61 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js +18 -0
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorSwatch.js +13 -0
- package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/EyeDropper.js +39 -0
- package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/HueSlider.js +56 -0
- package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/colorUtils.js +220 -0
- package/dist/esm/components/controls/ColorPicker/colorUtils.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/palettes/material.js +299 -0
- package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/palettes/professional.js +479 -0
- package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js +366 -0
- package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/useColor.js +64 -0
- package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +62 -0
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.css.js +17 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.css.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js +128 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +79 -0
- package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/curvePresets.js +184 -0
- package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/curveUtils.js +329 -0
- package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +570 -0
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +246 -0
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.css.js +17 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.css.js.map +1 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.js +233 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -0
- package/dist/esm/components/controls/NumberInput/useNumberInput.js +324 -0
- package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -0
- package/dist/esm/components/controls/Select/Select.css.js +18 -0
- package/dist/esm/components/controls/Select/Select.css.js.map +1 -0
- package/dist/esm/components/controls/Select/Select.js +327 -0
- package/dist/esm/components/controls/Select/Select.js.map +1 -0
- package/dist/esm/components/controls/Slider/Slider.css.js +17 -0
- package/dist/esm/components/controls/Slider/Slider.css.js.map +1 -0
- package/dist/esm/components/controls/Slider/Slider.js +266 -0
- package/dist/esm/components/controls/Slider/Slider.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeNode.css.js +15 -0
- package/dist/esm/components/controls/TreeView/TreeNode.css.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeNode.js +117 -0
- package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeView.css.js +8 -0
- package/dist/esm/components/controls/TreeView/TreeView.css.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeView.js +206 -0
- package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -0
- package/dist/esm/components/controls/TreeView/useTreeState.js +155 -0
- package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.css.js +13 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.css.js.map +1 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.js +130 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatActionBar.js +13 -0
- package/dist/esm/components/editor/ChatPanel/ChatActionBar.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatAttachment.js +36 -0
- package/dist/esm/components/editor/ChatPanel/ChatAttachment.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatBubble.js +13 -0
- package/dist/esm/components/editor/ChatPanel/ChatBubble.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +34 -0
- package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatContextChip.js +17 -0
- package/dist/esm/components/editor/ChatPanel/ChatContextChip.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js +16 -0
- package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatInput.js +67 -0
- package/dist/esm/components/editor/ChatPanel/ChatInput.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js +13 -0
- package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatMessage.js +37 -0
- package/dist/esm/components/editor/ChatPanel/ChatMessage.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatMessageList.js +32 -0
- package/dist/esm/components/editor/ChatPanel/ChatMessageList.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatPanel.css.js +72 -0
- package/dist/esm/components/editor/ChatPanel/ChatPanel.css.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatPanel.js +13 -0
- package/dist/esm/components/editor/ChatPanel/ChatPanel.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatToolCall.js +35 -0
- package/dist/esm/components/editor/ChatPanel/ChatToolCall.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js +16 -0
- package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/useChatInput.js +60 -0
- package/dist/esm/components/editor/ChatPanel/useChatInput.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/useChatMessages.js +47 -0
- package/dist/esm/components/editor/ChatPanel/useChatMessages.js.map +1 -0
- package/dist/esm/components/editor/ChatPanel/useChatScroll.js +71 -0
- package/dist/esm/components/editor/ChatPanel/useChatScroll.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.css.js +10 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.css.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +22 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js +13 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +69 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js +15 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +74 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js +15 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js +51 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js +87 -0
- package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -0
- package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.css.js +10 -0
- package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.css.js.map +1 -0
- package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js +90 -0
- package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js.map +1 -0
- package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js +259 -0
- package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js.map +1 -0
- package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js +250 -0
- package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js.map +1 -0
- package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js +191 -0
- package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/Dialog.css.js +16 -0
- package/dist/esm/components/feedback/Dialog/Dialog.css.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/Dialog.js +94 -0
- package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogBody.js +23 -0
- package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogClose.js +27 -0
- package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogFooter.js +24 -0
- package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogHeader.js +26 -0
- package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +71 -0
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/useFocusTrap.js +56 -0
- package/dist/esm/components/feedback/Dialog/useFocusTrap.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.css.js +10 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.css.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.js +36 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastItem.css.js +16 -0
- package/dist/esm/components/feedback/Toast/ToastItem.css.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastItem.js +84 -0
- package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastProvider.js +48 -0
- package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -0
- package/dist/esm/components/feedback/Toast/useToast.js +61 -0
- package/dist/esm/components/feedback/Toast/useToast.js.map +1 -0
- package/dist/esm/components/form/FormHelperText.css.js +7 -0
- package/dist/esm/components/form/FormHelperText.css.js.map +1 -0
- package/dist/esm/components/form/FormHelperText.js +28 -0
- package/dist/esm/components/form/FormHelperText.js.map +1 -0
- package/dist/esm/components/form/FormLabel.css.js +8 -0
- package/dist/esm/components/form/FormLabel.css.js.map +1 -0
- package/dist/esm/components/form/FormLabel.js +27 -0
- package/dist/esm/components/form/FormLabel.js.map +1 -0
- package/dist/esm/components/form/InputWrapper.css.js +7 -0
- package/dist/esm/components/form/InputWrapper.css.js.map +1 -0
- package/dist/esm/components/form/InputWrapper.js +32 -0
- package/dist/esm/components/form/InputWrapper.js.map +1 -0
- package/dist/esm/components/layout/Accordion/Accordion.css.js +20 -0
- package/dist/esm/components/layout/Accordion/Accordion.css.js.map +1 -0
- package/dist/esm/components/layout/Accordion/Accordion.js +104 -0
- package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionContent.js +21 -0
- package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionItem.js +21 -0
- package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js +39 -0
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -0
- package/dist/esm/components/layout/Flex/Flex.css.js +11 -0
- package/dist/esm/components/layout/Flex/Flex.css.js.map +1 -0
- package/dist/esm/components/layout/Flex/Flex.js +123 -0
- package/dist/esm/components/layout/Flex/Flex.js.map +1 -0
- package/dist/esm/components/layout/Grid/Grid.css.js +9 -0
- package/dist/esm/components/layout/Grid/Grid.css.js.map +1 -0
- package/dist/esm/components/layout/Grid/Grid.js +93 -0
- package/dist/esm/components/layout/Grid/Grid.js.map +1 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.css.js +16 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.css.js.map +1 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js +51 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.css.js +27 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.css.js.map +1 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js +263 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/esm/components/layout/Spacer/Spacer.css.js +8 -0
- package/dist/esm/components/layout/Spacer/Spacer.css.js.map +1 -0
- package/dist/esm/components/layout/Spacer/Spacer.js +60 -0
- package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.css.js +10 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.css.js.map +1 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.js +557 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -0
- package/dist/esm/components/layout/SplitPane/SplitPanePanel.js +26 -0
- package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -0
- package/dist/esm/components/layout/Stack/Stack.css.js +8 -0
- package/dist/esm/components/layout/Stack/Stack.css.js.map +1 -0
- package/dist/esm/components/layout/Stack/Stack.js +109 -0
- package/dist/esm/components/layout/Stack/Stack.js.map +1 -0
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +47 -0
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +53 -0
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.css.js +16 -0
- package/dist/esm/components/navigation/Menu/Menu.css.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.helpers.js +54 -0
- package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.js +82 -0
- package/dist/esm/components/navigation/Menu/Menu.js.map +1 -0
- package/dist/esm/components/navigation/Menu/useMenu.js +88 -0
- package/dist/esm/components/navigation/Menu/useMenu.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/Tab.js +79 -0
- package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/TabList.js +64 -0
- package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/TabPanel.js +24 -0
- package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/Tabs.css.js +26 -0
- package/dist/esm/components/navigation/Tabs/Tabs.css.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/Tabs.js +70 -0
- package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -0
- package/dist/esm/components/primitives/BaseButton/BaseButton.js +18 -0
- package/dist/esm/components/primitives/BaseButton/BaseButton.js.map +1 -0
- package/dist/esm/components/primitives/Button/Button.css.js +9 -0
- package/dist/esm/components/primitives/Button/Button.css.js.map +1 -0
- package/dist/esm/components/primitives/Button/Button.js +39 -0
- package/dist/esm/components/primitives/Button/Button.js.map +1 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.css.js +14 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.css.js.map +1 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.js +113 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -0
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +64 -0
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.css.js +18 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.css.js.map +1 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.js +78 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -0
- package/dist/esm/components/primitives/Icon/Icon.css.js +7 -0
- package/dist/esm/components/primitives/Icon/Icon.css.js.map +1 -0
- package/dist/esm/components/primitives/Icon/Icon.js +31 -0
- package/dist/esm/components/primitives/Icon/Icon.js.map +1 -0
- package/dist/esm/components/primitives/IconButton/IconButton.css.js +8 -0
- package/dist/esm/components/primitives/IconButton/IconButton.css.js.map +1 -0
- package/dist/esm/components/primitives/IconButton/IconButton.js +62 -0
- package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -0
- package/dist/esm/components/primitives/Input/Input.css.js +12 -0
- package/dist/esm/components/primitives/Input/Input.css.js.map +1 -0
- package/dist/esm/components/primitives/Input/Input.js +65 -0
- package/dist/esm/components/primitives/Input/Input.js.map +1 -0
- package/dist/esm/components/primitives/Paper/Paper.css.js +7 -0
- package/dist/esm/components/primitives/Paper/Paper.css.js.map +1 -0
- package/dist/esm/components/primitives/Paper/Paper.js +74 -0
- package/dist/esm/components/primitives/Paper/Paper.js.map +1 -0
- package/dist/esm/components/primitives/Popover/Popover.css.js +8 -0
- package/dist/esm/components/primitives/Popover/Popover.css.js.map +1 -0
- package/dist/esm/components/primitives/Popover/Popover.js +122 -0
- package/dist/esm/components/primitives/Popover/Popover.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverClose.js +22 -0
- package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverContent.js +76 -0
- package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverTrigger.js +38 -0
- package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -0
- package/dist/esm/components/primitives/Switch/Switch.css.js +15 -0
- package/dist/esm/components/primitives/Switch/Switch.css.js.map +1 -0
- package/dist/esm/components/primitives/Switch/Switch.js +77 -0
- package/dist/esm/components/primitives/Switch/Switch.js.map +1 -0
- package/dist/esm/components/primitives/Text/Text.css.js +9 -0
- package/dist/esm/components/primitives/Text/Text.css.js.map +1 -0
- package/dist/esm/components/primitives/Text/Text.js +60 -0
- package/dist/esm/components/primitives/Text/Text.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/Arrow.js +19 -0
- package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/Tooltip.css.js +9 -0
- package/dist/esm/components/primitives/Tooltip/Tooltip.css.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/Tooltip.js +160 -0
- package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/utils.js +66 -0
- package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -0
- package/dist/esm/components/primitives/canvas/CanvasContainer.css.js +10 -0
- package/dist/esm/components/primitives/canvas/CanvasContainer.css.js.map +1 -0
- package/dist/esm/components/primitives/canvas/CanvasContainer.js +32 -0
- package/dist/esm/components/primitives/canvas/CanvasContainer.js.map +1 -0
- package/dist/esm/components/primitives/canvas/canvasCoords.js +51 -0
- package/dist/esm/components/primitives/canvas/canvasCoords.js.map +1 -0
- package/dist/esm/components/primitives/canvas/canvasDrawing.js +251 -0
- package/dist/esm/components/primitives/canvas/canvasDrawing.js.map +1 -0
- package/dist/esm/components/primitives/canvas/canvasTheme.js +43 -0
- package/dist/esm/components/primitives/canvas/canvasTheme.js.map +1 -0
- package/dist/esm/components/primitives/canvas/useCanvasRenderer.js +26 -0
- package/dist/esm/components/primitives/canvas/useCanvasRenderer.js.map +1 -0
- package/dist/esm/components/shell/AppShell/AppShell.css.js +13 -0
- package/dist/esm/components/shell/AppShell/AppShell.css.js.map +1 -0
- package/dist/esm/components/shell/AppShell/AppShell.js +72 -0
- package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js +18 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js.map +1 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +159 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.css.js +16 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.css.js.map +1 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.js +215 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.css.js +11 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.css.js.map +1 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.js +38 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.css.js +11 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.css.js.map +1 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.js +109 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -0
- package/dist/esm/context/KeyboardContext.js +15 -0
- package/dist/esm/context/KeyboardContext.js.map +1 -0
- package/dist/esm/index.js +101 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js +15 -0
- package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js.map +1 -0
- package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js +128 -0
- package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js.map +1 -0
- package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js +70 -0
- package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js.map +1 -0
- package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js +1543 -0
- package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js +25 -0
- package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js.map +1 -0
- package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js +10 -0
- package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js.map +1 -0
- package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +112 -0
- package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +1 -0
- package/dist/esm/node_modules/cssesc/cssesc.js +120 -0
- package/dist/esm/node_modules/cssesc/cssesc.js.map +1 -0
- package/dist/esm/node_modules/dedent/dist/dedent.js +98 -0
- package/dist/esm/node_modules/dedent/dist/dedent.js.map +1 -0
- package/dist/esm/node_modules/deepmerge/dist/cjs.js +143 -0
- package/dist/esm/node_modules/deepmerge/dist/cjs.js.map +1 -0
- package/dist/esm/palettes.js +4 -0
- package/dist/esm/palettes.js.map +1 -0
- package/dist/esm/theme/ThemeProvider.js +18 -0
- package/dist/esm/theme/ThemeProvider.js.map +1 -0
- package/dist/esm/theme/VanillaThemeProvider.js +26 -0
- package/dist/esm/theme/VanillaThemeProvider.js.map +1 -0
- package/dist/esm/theme/contract.css.js +4 -0
- package/dist/esm/theme/contract.css.js.map +1 -0
- package/dist/esm/theme/darkTheme.css.js +6 -0
- package/dist/esm/theme/darkTheme.css.js.map +1 -0
- package/dist/esm/utils/cn.js +6 -0
- package/dist/esm/utils/cn.js.map +1 -0
- package/dist/esm/utils/cx.js +14 -0
- package/dist/esm/utils/cx.js.map +1 -0
- package/dist/esm/utils/mathExpression.js +275 -0
- package/dist/esm/utils/mathExpression.js.map +1 -0
- package/dist/esm/utils/mathUtils.js +18 -0
- package/dist/esm/utils/mathUtils.js.map +1 -0
- package/dist/types/components/controls/CartesianPicker/CartesianPicker.d.ts +6 -0
- package/dist/types/components/controls/CartesianPicker/CartesianPicker.types.d.ts +163 -0
- package/dist/types/components/controls/ColorPicker/ColorPalette.d.ts +16 -0
- package/dist/types/components/controls/ColorPicker/ColorPicker.d.ts +6 -0
- package/dist/types/components/controls/ColorPicker/ColorPicker.types.d.ts +120 -0
- package/dist/types/components/controls/ColorPicker/ColorSwatch.d.ts +6 -0
- package/dist/types/components/controls/ColorPicker/EyeDropper.d.ts +28 -0
- package/dist/types/components/controls/ColorPicker/colorUtils.d.ts +3 -0
- package/dist/types/components/controls/ColorPicker/palettes/material.d.ts +24 -0
- package/dist/types/components/controls/ColorPicker/palettes/professional.d.ts +19 -0
- package/dist/types/components/controls/ColorPicker/palettes/tailwind.d.ts +12 -0
- package/dist/types/components/controls/CurveEditor/CurveEditor.d.ts +6 -0
- package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +289 -0
- package/dist/types/components/controls/CurveEditor/curvePresets.d.ts +5 -0
- package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +30 -0
- package/dist/types/components/controls/NumberInput/NumberInput.d.ts +150 -0
- package/dist/types/components/controls/NumberInput/useNumberInput.d.ts +65 -0
- package/dist/types/components/controls/Select/Select.d.ts +29 -0
- package/dist/types/components/controls/Select/Select.types.d.ts +131 -0
- package/dist/types/components/controls/Slider/Slider.d.ts +178 -0
- package/dist/types/components/controls/TreeView/TreeView.d.ts +27 -0
- package/dist/types/components/controls/TreeView/TreeView.types.d.ts +135 -0
- package/dist/types/components/controls/VectorInput/VectorInput.d.ts +26 -0
- package/dist/types/components/controls/VectorInput/VectorInput.types.d.ts +158 -0
- package/dist/types/components/editor/ChatPanel/ChatActionBar.d.ts +288 -0
- package/dist/types/components/editor/ChatPanel/ChatAttachment.d.ts +292 -0
- package/dist/types/components/editor/ChatPanel/ChatBubble.d.ts +289 -0
- package/dist/types/components/editor/ChatPanel/ChatCodeBlock.d.ts +294 -0
- package/dist/types/components/editor/ChatPanel/ChatContextChip.d.ts +292 -0
- package/dist/types/components/editor/ChatPanel/ChatEmptyState.d.ts +292 -0
- package/dist/types/components/editor/ChatPanel/ChatInput.d.ts +300 -0
- package/dist/types/components/editor/ChatPanel/ChatInputToolbar.d.ts +288 -0
- package/dist/types/components/editor/ChatPanel/ChatMessage.d.ts +294 -0
- package/dist/types/components/editor/ChatPanel/ChatMessageList.d.ts +293 -0
- package/dist/types/components/editor/ChatPanel/ChatPanel.d.ts +290 -0
- package/dist/types/components/editor/ChatPanel/ChatPanel.types.d.ts +409 -0
- package/dist/types/components/editor/ChatPanel/ChatToolCall.d.ts +294 -0
- package/dist/types/components/editor/ChatPanel/ChatTypingIndicator.d.ts +291 -0
- package/dist/types/components/editor/ChatPanel/useChatInput.d.ts +5 -0
- package/dist/types/components/editor/ChatPanel/useChatMessages.d.ts +5 -0
- package/dist/types/components/editor/ChatPanel/useChatScroll.d.ts +5 -0
- package/dist/types/components/editor/PropertyInspector/PropertyGroup.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/PropertyInspector.types.d.ts +238 -0
- package/dist/types/components/editor/PropertyInspector/PropertyPanel.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/PropertyRow.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/PropertySection.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/usePropertyUndo.d.ts +9 -0
- package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.d.ts +6 -0
- package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.types.d.ts +146 -0
- package/dist/types/components/editor/ViewportGizmo/gizmoMath.d.ts +73 -0
- package/dist/types/components/feedback/Dialog/Dialog.d.ts +25 -0
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +55 -0
- package/dist/types/components/feedback/Dialog/DialogBody.d.ts +16 -0
- package/dist/types/components/feedback/Dialog/DialogClose.d.ts +21 -0
- package/dist/types/components/feedback/Dialog/DialogFooter.d.ts +17 -0
- package/dist/types/components/feedback/Dialog/DialogHeader.d.ts +17 -0
- package/dist/types/components/feedback/Toast/Toast.types.d.ts +39 -0
- package/dist/types/components/feedback/Toast/ToastProvider.d.ts +19 -0
- package/dist/types/components/feedback/Toast/useToast.d.ts +22 -0
- package/dist/types/components/form/FormHelperText.d.ts +319 -0
- package/dist/types/components/form/FormLabel.d.ts +329 -0
- package/dist/types/components/form/InputWrapper.d.ts +344 -0
- package/dist/types/components/layout/Accordion/Accordion.d.ts +23 -0
- package/dist/types/components/layout/Accordion/Accordion.types.d.ts +109 -0
- package/dist/types/components/layout/Accordion/AccordionContent.d.ts +6 -0
- package/dist/types/components/layout/Accordion/AccordionItem.d.ts +6 -0
- package/dist/types/components/layout/Accordion/AccordionTrigger.d.ts +6 -0
- package/dist/types/components/layout/Flex/Flex.d.ts +215 -0
- package/dist/types/components/layout/Grid/Grid.d.ts +113 -0
- package/dist/types/components/layout/PanelSurface/PanelSurface.d.ts +1148 -0
- package/dist/types/components/layout/PanelSurface/PanelSurface.types.d.ts +64 -0
- package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts +6 -0
- package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +93 -0
- package/dist/types/components/layout/Spacer/Spacer.d.ts +327 -0
- package/dist/types/components/layout/SplitPane/SplitPane.d.ts +21 -0
- package/dist/types/components/layout/SplitPane/SplitPane.types.d.ts +87 -0
- package/dist/types/components/layout/SplitPane/SplitPanePanel.d.ts +20 -0
- package/dist/types/components/layout/Stack/Stack.d.ts +166 -0
- package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts +6 -0
- package/dist/types/components/navigation/ContextMenu/ContextMenu.types.d.ts +74 -0
- package/dist/types/components/navigation/ContextMenu/useContextMenuTarget.d.ts +5 -0
- package/dist/types/components/navigation/Menu/Menu.d.ts +42 -0
- package/dist/types/components/navigation/Menu/Menu.types.d.ts +94 -0
- package/dist/types/components/navigation/Menu/useMenu.d.ts +16 -0
- package/dist/types/components/navigation/Tabs/Tab.d.ts +6 -0
- package/dist/types/components/navigation/Tabs/TabList.d.ts +6 -0
- package/dist/types/components/navigation/Tabs/TabPanel.d.ts +6 -0
- package/dist/types/components/navigation/Tabs/Tabs.d.ts +23 -0
- package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +117 -0
- package/dist/types/components/primitives/Button/Button.d.ts +404 -0
- package/dist/types/components/primitives/Checkbox/Checkbox.d.ts +20 -0
- package/dist/types/components/primitives/Checkbox/Checkbox.types.d.ts +156 -0
- package/dist/types/components/primitives/Checkbox/CheckboxGroup.d.ts +25 -0
- package/dist/types/components/primitives/Collapsible/Collapsible.d.ts +6 -0
- package/dist/types/components/primitives/Collapsible/Collapsible.types.d.ts +28 -0
- package/dist/types/components/primitives/Icon/Icon.d.ts +33 -0
- package/dist/types/components/primitives/IconButton/IconButton.d.ts +361 -0
- package/dist/types/components/primitives/Input/Input.d.ts +139 -0
- package/dist/types/components/primitives/Paper/Paper.d.ts +421 -0
- package/dist/types/components/primitives/Popover/Popover.d.ts +25 -0
- package/dist/types/components/primitives/Popover/Popover.types.d.ts +99 -0
- package/dist/types/components/primitives/Popover/PopoverClose.d.ts +6 -0
- package/dist/types/components/primitives/Popover/PopoverContent.d.ts +6 -0
- package/dist/types/components/primitives/Popover/PopoverTrigger.d.ts +10 -0
- package/dist/types/components/primitives/Switch/Switch.d.ts +83 -0
- package/dist/types/components/primitives/Text/Text.d.ts +444 -0
- package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +179 -0
- package/dist/types/components/primitives/Tooltip/types.d.ts +82 -0
- package/dist/types/components/primitives/canvas/canvas.types.d.ts +27 -0
- package/dist/types/components/shell/AppShell/AppShell.d.ts +1431 -0
- package/dist/types/components/shell/AppShell/AppShell.types.d.ts +48 -0
- package/dist/types/components/shell/FloatingPanel/FloatingPanel.d.ts +7 -0
- package/dist/types/components/shell/FloatingPanel/FloatingPanel.types.d.ts +61 -0
- package/dist/types/components/shell/MenuBar/MenuBar.d.ts +1435 -0
- package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +48 -0
- package/dist/types/components/shell/StatusBar/StatusBar.d.ts +864 -0
- package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +40 -0
- package/dist/types/components/shell/Toolbar/Toolbar.d.ts +1721 -0
- package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +59 -0
- package/dist/types/index.d.ts +124 -0
- package/dist/types/palettes.d.ts +3 -0
- package/dist/types/theme/ThemeProvider.d.ts +18 -0
- package/dist/types/theme/VanillaThemeProvider.d.ts +34 -0
- package/dist/types/theme/contract.css.d.ts +164 -0
- package/dist/types/theme/darkTheme.css.d.ts +151 -0
- package/dist/types/types/common.d.ts +17 -0
- package/dist/types/types/utilities.d.ts +72 -0
- package/dist/types/utils/cn.d.ts +3 -0
- package/dist/types/utils/cx.d.ts +11 -0
- package/package.json +55 -35
- package/dist/index.d.ts +0 -12
- package/dist/index.esm.js +0 -13962
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js +0 -14048
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
3
|
+
import { BaseComponent, Size } from '../../../types/common.js';
|
|
4
|
+
|
|
5
|
+
type PropertyInspectorSize = Size;
|
|
6
|
+
interface PropertyPanelBaseProps extends BaseComponent {
|
|
7
|
+
/**
|
|
8
|
+
* Panel content — PropertySection, PropertyGroup, or any elements
|
|
9
|
+
*/
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Content rendered in the fixed header area (above scrollable content)
|
|
13
|
+
*/
|
|
14
|
+
header?: React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Content rendered in the fixed footer area (below scrollable content)
|
|
17
|
+
*/
|
|
18
|
+
footer?: React.ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* Size applied to all nested PropertySection and PropertyRow components.
|
|
21
|
+
* Individual components can override this.
|
|
22
|
+
* @default "md"
|
|
23
|
+
*/
|
|
24
|
+
size?: PropertyInspectorSize;
|
|
25
|
+
/**
|
|
26
|
+
* Maximum height of the panel (enables scrolling via ScrollArea)
|
|
27
|
+
* @default "100%"
|
|
28
|
+
*/
|
|
29
|
+
maxHeight?: number | string;
|
|
30
|
+
/**
|
|
31
|
+
* Whether to show a search/filter input in the header
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
searchable?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Placeholder for the search input
|
|
37
|
+
* @default "Search properties..."
|
|
38
|
+
*/
|
|
39
|
+
searchPlaceholder?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Callback when search query changes
|
|
42
|
+
*/
|
|
43
|
+
onSearchChange?: (query: string) => void;
|
|
44
|
+
/**
|
|
45
|
+
* Top padding for the scrollable content area (in px).
|
|
46
|
+
* Use this to increase/decrease the space before the first property section.
|
|
47
|
+
* @default theme.spacing.sm
|
|
48
|
+
*/
|
|
49
|
+
contentTopSpacing?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Bottom padding for the scrollable content area (in px).
|
|
52
|
+
* Use this to increase/decrease the space after the last property section.
|
|
53
|
+
* @default theme.spacing.md
|
|
54
|
+
*/
|
|
55
|
+
contentBottomSpacing?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Text displayed when no sections/rows match the search
|
|
58
|
+
* @default "No matching properties"
|
|
59
|
+
*/
|
|
60
|
+
emptySearchMessage?: string;
|
|
61
|
+
}
|
|
62
|
+
type PropertyPanelProps = Prettify<PropertyPanelBaseProps>;
|
|
63
|
+
interface PropertySectionBaseProps extends Omit<BaseComponent, 'onChange'> {
|
|
64
|
+
/**
|
|
65
|
+
* Section title displayed in the collapsible header
|
|
66
|
+
*/
|
|
67
|
+
title: string;
|
|
68
|
+
/**
|
|
69
|
+
* Unique identifier for this section (used for expansion state).
|
|
70
|
+
* Defaults to title if not provided.
|
|
71
|
+
*/
|
|
72
|
+
value?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Icon displayed before the section title
|
|
75
|
+
*/
|
|
76
|
+
icon?: React.ReactNode;
|
|
77
|
+
/**
|
|
78
|
+
* Action buttons rendered on the right side of the header.
|
|
79
|
+
* Clicking actions does NOT toggle the section.
|
|
80
|
+
*/
|
|
81
|
+
actions?: React.ReactNode;
|
|
82
|
+
/**
|
|
83
|
+
* Whether this section is expanded (controlled)
|
|
84
|
+
*/
|
|
85
|
+
expanded?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Whether this section starts expanded (uncontrolled)
|
|
88
|
+
* @default true
|
|
89
|
+
*/
|
|
90
|
+
defaultExpanded?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Callback when expanded state changes
|
|
93
|
+
*/
|
|
94
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
95
|
+
/**
|
|
96
|
+
* Whether to keep content mounted when collapsed
|
|
97
|
+
* @default false
|
|
98
|
+
*/
|
|
99
|
+
keepMounted?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Whether this section is disabled (not collapsible, dimmed)
|
|
102
|
+
* @default false
|
|
103
|
+
*/
|
|
104
|
+
disabled?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Size override for this section and its rows
|
|
107
|
+
*/
|
|
108
|
+
size?: PropertyInspectorSize;
|
|
109
|
+
/**
|
|
110
|
+
* Section content — PropertyRow, PropertyGroup, or any elements
|
|
111
|
+
*/
|
|
112
|
+
children: React.ReactNode;
|
|
113
|
+
/**
|
|
114
|
+
* Custom chevron indicator — pass `null` to hide
|
|
115
|
+
* @default built-in chevron icon
|
|
116
|
+
*/
|
|
117
|
+
indicator?: React.ReactNode | null;
|
|
118
|
+
/**
|
|
119
|
+
* Right-click context menu handler on the section header
|
|
120
|
+
*/
|
|
121
|
+
onContextMenu?: (event: React.MouseEvent) => void;
|
|
122
|
+
}
|
|
123
|
+
type PropertySectionProps = Prettify<PropertySectionBaseProps>;
|
|
124
|
+
interface PropertyRowBaseProps extends BaseComponent {
|
|
125
|
+
/**
|
|
126
|
+
* Property label text
|
|
127
|
+
*/
|
|
128
|
+
label: string;
|
|
129
|
+
/**
|
|
130
|
+
* Tooltip text for the label (shown on hover)
|
|
131
|
+
*/
|
|
132
|
+
tooltip?: string;
|
|
133
|
+
/**
|
|
134
|
+
* Control content — any form control or custom content.
|
|
135
|
+
* Displayed on the right side, fills remaining space.
|
|
136
|
+
*/
|
|
137
|
+
children: React.ReactNode;
|
|
138
|
+
/**
|
|
139
|
+
* Whether the row spans full width (label above, control below)
|
|
140
|
+
* @default false
|
|
141
|
+
*/
|
|
142
|
+
fullWidth?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Label/value split ratio as percentages [label%, value%].
|
|
145
|
+
* @default [40, 60]
|
|
146
|
+
*/
|
|
147
|
+
splitRatio?: [number, number];
|
|
148
|
+
/**
|
|
149
|
+
* Whether this property has been modified from its default value.
|
|
150
|
+
* Shows a visual indicator (dot or bold label).
|
|
151
|
+
* @default false
|
|
152
|
+
*/
|
|
153
|
+
modified?: boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Whether this row is disabled
|
|
156
|
+
* @default false
|
|
157
|
+
*/
|
|
158
|
+
disabled?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Whether this row is visible (controlled by search filtering)
|
|
161
|
+
* @default true
|
|
162
|
+
*/
|
|
163
|
+
visible?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Size override for this row
|
|
166
|
+
*/
|
|
167
|
+
size?: PropertyInspectorSize;
|
|
168
|
+
/**
|
|
169
|
+
* Action button on the right edge of the row (e.g., reset to default).
|
|
170
|
+
* Appears on hover.
|
|
171
|
+
*/
|
|
172
|
+
action?: React.ReactNode;
|
|
173
|
+
/**
|
|
174
|
+
* Callback when label is right-clicked (for context menu)
|
|
175
|
+
*/
|
|
176
|
+
onLabelContextMenu?: (event: React.MouseEvent) => void;
|
|
177
|
+
/**
|
|
178
|
+
* Callback when reset action is triggered.
|
|
179
|
+
* If provided, a reset button automatically appears on hover.
|
|
180
|
+
*/
|
|
181
|
+
onReset?: () => void;
|
|
182
|
+
}
|
|
183
|
+
type PropertyRowProps = Prettify<PropertyRowBaseProps>;
|
|
184
|
+
interface PropertyGroupBaseProps extends BaseComponent {
|
|
185
|
+
/**
|
|
186
|
+
* Optional group title (rendered as a small label divider)
|
|
187
|
+
*/
|
|
188
|
+
title?: string;
|
|
189
|
+
/**
|
|
190
|
+
* Group content — PropertyRow elements
|
|
191
|
+
*/
|
|
192
|
+
children: React.ReactNode;
|
|
193
|
+
/**
|
|
194
|
+
* Indent level for nested groups (number of indent steps)
|
|
195
|
+
* @default 0
|
|
196
|
+
*/
|
|
197
|
+
indent?: number;
|
|
198
|
+
/**
|
|
199
|
+
* Whether all rows in this group are disabled
|
|
200
|
+
* @default false
|
|
201
|
+
*/
|
|
202
|
+
disabled?: boolean;
|
|
203
|
+
}
|
|
204
|
+
type PropertyGroupProps = Prettify<PropertyGroupBaseProps>;
|
|
205
|
+
interface PropertyUndoEntry<T = unknown> {
|
|
206
|
+
/** Property path or identifier */
|
|
207
|
+
propertyId: string;
|
|
208
|
+
/** Value before the change */
|
|
209
|
+
previousValue: T;
|
|
210
|
+
/** Value after the change */
|
|
211
|
+
newValue: T;
|
|
212
|
+
/** Human-readable description */
|
|
213
|
+
label: string;
|
|
214
|
+
/** Timestamp */
|
|
215
|
+
timestamp: number;
|
|
216
|
+
}
|
|
217
|
+
interface UsePropertyUndoOptions {
|
|
218
|
+
/** Maximum undo stack size @default 50 */
|
|
219
|
+
maxHistory?: number;
|
|
220
|
+
}
|
|
221
|
+
interface UsePropertyUndoReturn<T = unknown> {
|
|
222
|
+
/** Wrap a value change to record it in the undo stack */
|
|
223
|
+
record: (entry: Omit<PropertyUndoEntry<T>, 'timestamp'>) => void;
|
|
224
|
+
/** Undo the last change — returns the entry that was undone, or null */
|
|
225
|
+
undo: () => PropertyUndoEntry<T> | null;
|
|
226
|
+
/** Redo the last undone change — returns the entry, or null */
|
|
227
|
+
redo: () => PropertyUndoEntry<T> | null;
|
|
228
|
+
/** Whether undo is available */
|
|
229
|
+
canUndo: boolean;
|
|
230
|
+
/** Whether redo is available */
|
|
231
|
+
canRedo: boolean;
|
|
232
|
+
/** Full undo history */
|
|
233
|
+
history: PropertyUndoEntry<T>[];
|
|
234
|
+
/** Clear all history */
|
|
235
|
+
clear: () => void;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export type { PropertyGroupBaseProps, PropertyGroupProps, PropertyInspectorSize, PropertyPanelBaseProps, PropertyPanelProps, PropertyRowBaseProps, PropertyRowProps, PropertySectionBaseProps, PropertySectionProps, PropertyUndoEntry, UsePropertyUndoOptions, UsePropertyUndoReturn };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UsePropertyUndoOptions, UsePropertyUndoReturn } from './PropertyInspector.types.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Lightweight undo/redo stack for property changes.
|
|
5
|
+
* Records entries with property identifiers and values for precise undo control.
|
|
6
|
+
*/
|
|
7
|
+
declare function usePropertyUndo<T = unknown>(options?: UsePropertyUndoOptions): UsePropertyUndoReturn<T>;
|
|
8
|
+
|
|
9
|
+
export { usePropertyUndo };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
2
|
+
import { BaseComponent, Size } from '../../../types/common.js';
|
|
3
|
+
|
|
4
|
+
type ViewportGizmoSize = Size;
|
|
5
|
+
/**
|
|
6
|
+
* Camera/viewport orientation as Euler angles (degrees).
|
|
7
|
+
* Convention: intrinsic YXZ (heading-pitch-roll), matching Three.js default.
|
|
8
|
+
*/
|
|
9
|
+
interface GizmoOrientation {
|
|
10
|
+
/** Rotation around Y axis (heading/yaw) in degrees */
|
|
11
|
+
yaw: number;
|
|
12
|
+
/** Rotation around X axis (pitch) in degrees */
|
|
13
|
+
pitch: number;
|
|
14
|
+
/** Rotation around Z axis (roll) in degrees @default 0 */
|
|
15
|
+
roll?: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Orbital rotation delta during a drag gesture.
|
|
19
|
+
* The app applies this to its camera orbit controller.
|
|
20
|
+
*/
|
|
21
|
+
interface OrbitDelta {
|
|
22
|
+
/** Yaw change in degrees (horizontal drag) */
|
|
23
|
+
deltaYaw: number;
|
|
24
|
+
/** Pitch change in degrees (vertical drag) */
|
|
25
|
+
deltaPitch: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Preset axis color conventions.
|
|
29
|
+
* - `blender`: X=red, Y=green, Z=blue
|
|
30
|
+
* - `unreal`: X=red, Y=green, Z=blue (same colors, Z-up)
|
|
31
|
+
* - `custom`: use `axisConfig` prop
|
|
32
|
+
*/
|
|
33
|
+
type GizmoAxisColorPreset = 'blender' | 'unreal' | 'custom';
|
|
34
|
+
/**
|
|
35
|
+
* Up axis convention.
|
|
36
|
+
* - `y-up`: Y is vertical (Three.js, Babylon, Maya)
|
|
37
|
+
* - `z-up`: Z is vertical (Blender, Unreal, CAD)
|
|
38
|
+
*/
|
|
39
|
+
type GizmoUpAxis = 'y-up' | 'z-up';
|
|
40
|
+
/** Custom per-axis configuration. */
|
|
41
|
+
interface GizmoAxisConfig {
|
|
42
|
+
/** Axis label text @default "X"/"Y"/"Z" */
|
|
43
|
+
label?: string;
|
|
44
|
+
/** Axis color (CSS color string) */
|
|
45
|
+
color?: string;
|
|
46
|
+
/** Whether this axis arm is visible @default true */
|
|
47
|
+
visible?: boolean;
|
|
48
|
+
}
|
|
49
|
+
/** Named preset camera views for snap navigation. */
|
|
50
|
+
type GizmoPresetView = 'front' | 'back' | 'left' | 'right' | 'top' | 'bottom';
|
|
51
|
+
interface ViewportGizmoBaseProps extends Omit<BaseComponent, 'onChange'> {
|
|
52
|
+
/**
|
|
53
|
+
* Current viewport orientation (controlled).
|
|
54
|
+
* The gizmo always reflects this — it never owns orientation state.
|
|
55
|
+
*/
|
|
56
|
+
orientation: GizmoOrientation;
|
|
57
|
+
/**
|
|
58
|
+
* Which axis points up.
|
|
59
|
+
* @default "y-up"
|
|
60
|
+
*/
|
|
61
|
+
upAxis?: GizmoUpAxis;
|
|
62
|
+
/**
|
|
63
|
+
* Axis color convention.
|
|
64
|
+
* @default "blender"
|
|
65
|
+
*/
|
|
66
|
+
axisColorPreset?: GizmoAxisColorPreset;
|
|
67
|
+
/**
|
|
68
|
+
* Per-axis customization [X, Y, Z].
|
|
69
|
+
* Used when `axisColorPreset="custom"`.
|
|
70
|
+
*/
|
|
71
|
+
axisConfig?: [GizmoAxisConfig, GizmoAxisConfig, GizmoAxisConfig];
|
|
72
|
+
/**
|
|
73
|
+
* Whether to show axis labels at arm tips.
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
showLabels?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Whether to show negative axis arms (dimmed, shorter).
|
|
79
|
+
* @default true
|
|
80
|
+
*/
|
|
81
|
+
showNegativeAxes?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Whether to show a thin orbit ring around the gizmo.
|
|
84
|
+
* @default true
|
|
85
|
+
*/
|
|
86
|
+
showOrbitRing?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Whether to show an origin handle (home button).
|
|
89
|
+
* @default true
|
|
90
|
+
*/
|
|
91
|
+
showOriginHandle?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Background style.
|
|
94
|
+
* @default "subtle"
|
|
95
|
+
*/
|
|
96
|
+
background?: 'transparent' | 'subtle' | 'solid';
|
|
97
|
+
/**
|
|
98
|
+
* Interaction mode.
|
|
99
|
+
* @default "full"
|
|
100
|
+
*/
|
|
101
|
+
interactionMode?: 'full' | 'snap-only' | 'orbit-only' | 'display-only';
|
|
102
|
+
/**
|
|
103
|
+
* Orbit speed multiplier.
|
|
104
|
+
* @default 1
|
|
105
|
+
*/
|
|
106
|
+
orbitSpeed?: number;
|
|
107
|
+
/**
|
|
108
|
+
* Whether to constrain pitch to [-90, 90].
|
|
109
|
+
* @default true
|
|
110
|
+
*/
|
|
111
|
+
constrainPitch?: boolean;
|
|
112
|
+
/** Called continuously while the user drags to orbit. */
|
|
113
|
+
onOrbit?: (delta: OrbitDelta) => void;
|
|
114
|
+
/** Called when the user finishes an orbit drag. */
|
|
115
|
+
onOrbitEnd?: (finalOrientation: GizmoOrientation) => void;
|
|
116
|
+
/** Called when the user clicks an axis to snap to a preset view. */
|
|
117
|
+
onSnapToView?: (view: GizmoPresetView) => void;
|
|
118
|
+
/** Called when the user clicks a specific axis arm. */
|
|
119
|
+
onAxisClick?: (axis: 'x' | 'y' | 'z', positive: boolean) => void;
|
|
120
|
+
/** Called when the user clicks the origin handle. */
|
|
121
|
+
onOriginClick?: () => void;
|
|
122
|
+
/**
|
|
123
|
+
* Gizmo diameter in pixels.
|
|
124
|
+
* @default 120
|
|
125
|
+
*/
|
|
126
|
+
diameter?: number;
|
|
127
|
+
/**
|
|
128
|
+
* Component size — affects label font size.
|
|
129
|
+
* @default "md"
|
|
130
|
+
*/
|
|
131
|
+
size?: ViewportGizmoSize;
|
|
132
|
+
/**
|
|
133
|
+
* Whether the gizmo is disabled.
|
|
134
|
+
* @default false
|
|
135
|
+
*/
|
|
136
|
+
disabled?: boolean;
|
|
137
|
+
}
|
|
138
|
+
type ViewportGizmoProps = Prettify<ViewportGizmoBaseProps>;
|
|
139
|
+
/** Axis arm hit region for interaction. */
|
|
140
|
+
interface GizmoHitRegion {
|
|
141
|
+
type: 'axis-positive' | 'axis-negative' | 'label' | 'origin' | 'ring' | 'none';
|
|
142
|
+
axis?: 'x' | 'y' | 'z';
|
|
143
|
+
distance: number;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export type { GizmoAxisColorPreset, GizmoAxisConfig, GizmoHitRegion, GizmoOrientation, GizmoPresetView, GizmoUpAxis, OrbitDelta, ViewportGizmoBaseProps, ViewportGizmoProps, ViewportGizmoSize };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { GizmoUpAxis, GizmoPresetView, GizmoOrientation, GizmoHitRegion } from './ViewportGizmo.types.js';
|
|
2
|
+
|
|
3
|
+
/** 3D vector */
|
|
4
|
+
interface Vec3 {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
z: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Build a 3×3 rotation matrix from Euler angles (YXZ intrinsic order).
|
|
11
|
+
* Matches Three.js default Euler order.
|
|
12
|
+
*
|
|
13
|
+
* @param yaw - Y-axis rotation in degrees
|
|
14
|
+
* @param pitch - X-axis rotation in degrees
|
|
15
|
+
* @param roll - Z-axis rotation in degrees
|
|
16
|
+
* @returns [right, up, forward] basis vectors (columns of rotation matrix)
|
|
17
|
+
*/
|
|
18
|
+
declare function eulerToRotationMatrix(yaw: number, pitch: number, roll?: number): [Vec3, Vec3, Vec3];
|
|
19
|
+
/**
|
|
20
|
+
* Project a 3D point to 2D canvas coordinates using orthographic projection.
|
|
21
|
+
*
|
|
22
|
+
* @param point - 3D point to project
|
|
23
|
+
* @param orientation - Camera orientation
|
|
24
|
+
* @param center - Canvas center in pixels
|
|
25
|
+
* @param scale - Pixels per unit
|
|
26
|
+
* @returns Projected position { x, y, depth }
|
|
27
|
+
*/
|
|
28
|
+
declare function projectToCanvas(point: Vec3, orientation: GizmoOrientation, center: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
}, scale: number): {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
depth: number;
|
|
35
|
+
};
|
|
36
|
+
/** Projected axis arm data */
|
|
37
|
+
interface ProjectedArm {
|
|
38
|
+
axis: 'x' | 'y' | 'z';
|
|
39
|
+
positive: boolean;
|
|
40
|
+
screenX: number;
|
|
41
|
+
screenY: number;
|
|
42
|
+
depth: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get all 6 axis arm endpoints projected to 2D, sorted by depth (furthest first).
|
|
46
|
+
*/
|
|
47
|
+
declare function projectAxes(orientation: GizmoOrientation, center: {
|
|
48
|
+
x: number;
|
|
49
|
+
y: number;
|
|
50
|
+
}, armLength: number, upAxis: GizmoUpAxis): ProjectedArm[];
|
|
51
|
+
/**
|
|
52
|
+
* Hit test a screen position against the gizmo geometry.
|
|
53
|
+
*/
|
|
54
|
+
declare function gizmoHitTest(px: number, py: number, orientation: GizmoOrientation, center: {
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
}, armLength: number, upAxis: GizmoUpAxis, tolerancePx?: number, originRadius?: number): GizmoHitRegion;
|
|
58
|
+
/**
|
|
59
|
+
* Convert a preset view name to Euler angles.
|
|
60
|
+
*/
|
|
61
|
+
declare function presetViewToOrientation(view: GizmoPresetView, upAxis: GizmoUpAxis): GizmoOrientation;
|
|
62
|
+
/**
|
|
63
|
+
* Convert quaternion [x, y, z, w] to Euler representation (YXZ order, degrees).
|
|
64
|
+
* Utility for Three.js integration where `camera.quaternion` is available.
|
|
65
|
+
*/
|
|
66
|
+
declare function quaternionToEuler(qx: number, qy: number, qz: number, qw: number): GizmoOrientation;
|
|
67
|
+
/**
|
|
68
|
+
* Map an axis tip click to the corresponding preset view.
|
|
69
|
+
*/
|
|
70
|
+
declare function axisToPresetView(axis: 'x' | 'y' | 'z', positive: boolean, upAxis: GizmoUpAxis): GizmoPresetView | null;
|
|
71
|
+
|
|
72
|
+
export { axisToPresetView, eulerToRotationMatrix, gizmoHitTest, presetViewToOrientation, projectAxes, projectToCanvas, quaternionToEuler };
|
|
73
|
+
export type { ProjectedArm, Vec3 };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DialogProps } from './Dialog.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Dialog component for modal overlays in editor interfaces.
|
|
6
|
+
*
|
|
7
|
+
* Renders an accessible modal dialog with overlay, focus trap,
|
|
8
|
+
* and keyboard support. Compound component pattern: use with
|
|
9
|
+
* DialogHeader, DialogBody, DialogFooter, and DialogClose.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <Dialog open={isOpen} onClose={() => setIsOpen(false)} title="Confirm">
|
|
14
|
+
* <DialogHeader>Confirm Action</DialogHeader>
|
|
15
|
+
* <DialogBody>Are you sure?</DialogBody>
|
|
16
|
+
* <DialogFooter align="right">
|
|
17
|
+
* <Button onClick={() => setIsOpen(false)}>Cancel</Button>
|
|
18
|
+
* <Button variant="filled">Confirm</Button>
|
|
19
|
+
* </DialogFooter>
|
|
20
|
+
* </Dialog>
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
declare const Dialog: React.FC<DialogProps>;
|
|
24
|
+
|
|
25
|
+
export { Dialog };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
3
|
+
import { BaseComponent } from '../../../types/common.js';
|
|
4
|
+
|
|
5
|
+
type DialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'fullscreen';
|
|
6
|
+
interface DialogBaseProps extends BaseComponent {
|
|
7
|
+
/** Whether the dialog is open */
|
|
8
|
+
open: boolean;
|
|
9
|
+
/** Callback fired when the dialog should close */
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
/** Dialog width preset */
|
|
12
|
+
size?: DialogSize;
|
|
13
|
+
/** Dialog title — used for aria-labelledby */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Dialog description — used for aria-describedby */
|
|
16
|
+
description?: string;
|
|
17
|
+
/** Whether clicking the overlay closes the dialog */
|
|
18
|
+
closeOnOverlayClick?: boolean;
|
|
19
|
+
/** Whether pressing Escape closes the dialog */
|
|
20
|
+
closeOnEscape?: boolean;
|
|
21
|
+
/** Whether to show the overlay backdrop */
|
|
22
|
+
showOverlay?: boolean;
|
|
23
|
+
/** Whether to trap focus within the dialog */
|
|
24
|
+
trapFocus?: boolean;
|
|
25
|
+
/** Ref to the element that should receive initial focus */
|
|
26
|
+
initialFocusRef?: React.RefObject<HTMLElement>;
|
|
27
|
+
/** Whether to render the dialog in a portal (document.body) */
|
|
28
|
+
portal?: boolean;
|
|
29
|
+
/** Dialog content (use DialogHeader, DialogBody, DialogFooter) */
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
type DialogProps = Prettify<DialogBaseProps>;
|
|
33
|
+
interface DialogHeaderBaseProps extends BaseComponent {
|
|
34
|
+
/** Header content (typically a title) */
|
|
35
|
+
children: React.ReactNode;
|
|
36
|
+
/** Whether to show the close button */
|
|
37
|
+
showClose?: boolean;
|
|
38
|
+
/** Optional description text below the title */
|
|
39
|
+
description?: string;
|
|
40
|
+
}
|
|
41
|
+
type DialogHeaderProps = Prettify<DialogHeaderBaseProps>;
|
|
42
|
+
interface DialogBodyBaseProps extends BaseComponent {
|
|
43
|
+
/** Body content */
|
|
44
|
+
children: React.ReactNode;
|
|
45
|
+
}
|
|
46
|
+
type DialogBodyProps = Prettify<DialogBodyBaseProps>;
|
|
47
|
+
interface DialogFooterBaseProps extends BaseComponent {
|
|
48
|
+
/** Footer content (typically action buttons) */
|
|
49
|
+
children: React.ReactNode;
|
|
50
|
+
/** Horizontal alignment of footer content */
|
|
51
|
+
align?: 'left' | 'center' | 'right' | 'space-between';
|
|
52
|
+
}
|
|
53
|
+
type DialogFooterProps = Prettify<DialogFooterBaseProps>;
|
|
54
|
+
|
|
55
|
+
export type { DialogBaseProps, DialogBodyBaseProps, DialogBodyProps, DialogFooterBaseProps, DialogFooterProps, DialogHeaderBaseProps, DialogHeaderProps, DialogProps, DialogSize };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DialogBodyProps } from './Dialog.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* DialogBody renders the scrollable content area of a Dialog.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <DialogBody>
|
|
10
|
+
* <p>Dialog content goes here.</p>
|
|
11
|
+
* </DialogBody>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
declare const DialogBody: React.FC<DialogBodyProps>;
|
|
15
|
+
|
|
16
|
+
export { DialogBody };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
interface DialogCloseProps {
|
|
4
|
+
/** The element to wrap with close behavior */
|
|
5
|
+
children: React.ReactElement<{
|
|
6
|
+
onClick?: React.MouseEventHandler;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* DialogClose wraps a child element and adds onClick to close the dialog.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <DialogClose>
|
|
15
|
+
* <Button>Cancel</Button>
|
|
16
|
+
* </DialogClose>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare const DialogClose: React.FC<DialogCloseProps>;
|
|
20
|
+
|
|
21
|
+
export { DialogClose };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DialogFooterProps } from './Dialog.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* DialogFooter renders the action area at the bottom of a Dialog.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <DialogFooter align="right">
|
|
10
|
+
* <Button onClick={onCancel}>Cancel</Button>
|
|
11
|
+
* <Button variant="filled" onClick={onConfirm}>Confirm</Button>
|
|
12
|
+
* </DialogFooter>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
declare const DialogFooter: React.FC<DialogFooterProps>;
|
|
16
|
+
|
|
17
|
+
export { DialogFooter };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DialogHeaderProps } from './Dialog.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* DialogHeader renders the title, optional description, and close button
|
|
6
|
+
* for a Dialog.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <DialogHeader description="This cannot be undone">
|
|
11
|
+
* Delete Item
|
|
12
|
+
* </DialogHeader>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
declare const DialogHeader: React.FC<DialogHeaderProps>;
|
|
16
|
+
|
|
17
|
+
export { DialogHeader };
|