entangle-ui 0.1.0 → 0.3.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 +54 -0
- package/README.md +129 -75
- 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/ColorPicker/AlphaSlider.js +92 -0
- package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorArea.js +93 -0
- package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js +129 -0
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js +89 -0
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js +75 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js +57 -0
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorSwatch.js +67 -0
- package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/EyeDropper.js +85 -0
- package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/HueSlider.js +85 -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 +63 -0
- package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +84 -0
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js +134 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +96 -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 +338 -0
- package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +569 -0
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +400 -0
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.js +377 -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.js +533 -0
- package/dist/esm/components/controls/Select/Select.js.map +1 -0
- package/dist/esm/components/controls/Slider/Slider.js +413 -0
- package/dist/esm/components/controls/Slider/Slider.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeNode.js +189 -0
- package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeView.js +213 -0
- package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -0
- package/dist/esm/components/controls/TreeView/useTreeState.js +154 -0
- package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.js +202 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +42 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +98 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +154 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js +136 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js +86 -0
- package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/Dialog.js +92 -0
- package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/Dialog.styled.js +80 -0
- package/dist/esm/components/feedback/Dialog/Dialog.styled.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogBody.js +33 -0
- package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogClose.js +26 -0
- package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogFooter.js +43 -0
- package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogHeader.js +84 -0
- package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +70 -0
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/useFocusTrap.js +55 -0
- package/dist/esm/components/feedback/Dialog/useFocusTrap.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.js +34 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastItem.js +214 -0
- package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastProvider.js +47 -0
- package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -0
- package/dist/esm/components/feedback/Toast/useToast.js +60 -0
- package/dist/esm/components/feedback/Toast/useToast.js.map +1 -0
- package/dist/esm/components/form/FormHelperText.js +38 -0
- package/dist/esm/components/form/FormHelperText.js.map +1 -0
- package/dist/esm/components/form/FormLabel.js +43 -0
- package/dist/esm/components/form/FormLabel.js.map +1 -0
- package/dist/esm/components/form/InputWrapper.js +100 -0
- package/dist/esm/components/form/InputWrapper.js.map +1 -0
- package/dist/esm/components/layout/Accordion/Accordion.js +103 -0
- package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionContent.js +37 -0
- package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionItem.js +24 -0
- package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js +123 -0
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -0
- package/dist/esm/components/layout/Flex/Flex.js +149 -0
- package/dist/esm/components/layout/Flex/Flex.js.map +1 -0
- package/dist/esm/components/layout/Grid/Grid.js +118 -0
- package/dist/esm/components/layout/Grid/Grid.js.map +1 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js +106 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js +362 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/esm/components/layout/Spacer/Spacer.js +78 -0
- package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.js +581 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -0
- package/dist/esm/components/layout/SplitPane/SplitPanePanel.js +29 -0
- package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -0
- package/dist/esm/components/layout/Stack/Stack.js +138 -0
- package/dist/esm/components/layout/Stack/Stack.js.map +1 -0
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +45 -0
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +52 -0
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.helpers.js +52 -0
- package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.js +80 -0
- package/dist/esm/components/navigation/Menu/Menu.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.styled.js +83 -0
- package/dist/esm/components/navigation/Menu/Menu.styled.js.map +1 -0
- package/dist/esm/components/navigation/Menu/useMenu.js +87 -0
- package/dist/esm/components/navigation/Menu/useMenu.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/Tab.js +222 -0
- package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/TabList.js +115 -0
- package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/TabPanel.js +32 -0
- package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/Tabs.js +77 -0
- package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -0
- package/dist/esm/components/primitives/BaseButton/BaseButton.js +17 -0
- package/dist/esm/components/primitives/BaseButton/BaseButton.js.map +1 -0
- package/dist/esm/components/primitives/Button/Button.js +183 -0
- package/dist/esm/components/primitives/Button/Button.js.map +1 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.js +205 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -0
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +71 -0
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.js +116 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -0
- package/dist/esm/components/primitives/Icon/Icon.js +63 -0
- package/dist/esm/components/primitives/Icon/Icon.js.map +1 -0
- package/dist/esm/components/primitives/IconButton/IconButton.js +222 -0
- package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -0
- package/dist/esm/components/primitives/Input/Input.js +133 -0
- package/dist/esm/components/primitives/Input/Input.js.map +1 -0
- package/dist/esm/components/primitives/Paper/Paper.js +146 -0
- package/dist/esm/components/primitives/Paper/Paper.js.map +1 -0
- package/dist/esm/components/primitives/Popover/Popover.js +121 -0
- package/dist/esm/components/primitives/Popover/Popover.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverClose.js +50 -0
- package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverContent.js +102 -0
- package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverTrigger.js +37 -0
- package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -0
- package/dist/esm/components/primitives/Switch/Switch.js +170 -0
- package/dist/esm/components/primitives/Switch/Switch.js.map +1 -0
- package/dist/esm/components/primitives/Text/Text.js +166 -0
- package/dist/esm/components/primitives/Text/Text.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/Arrow.js +52 -0
- package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/Tooltip.js +219 -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/shell/AppShell/AppShell.js +157 -0
- package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +236 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.js +340 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.js +134 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.js +185 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -0
- package/dist/esm/context/KeyboardContext.js +14 -0
- package/dist/esm/context/KeyboardContext.js.map +1 -0
- package/dist/esm/index.js +78 -0
- package/dist/esm/index.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 +12 -0
- package/dist/esm/theme/ThemeProvider.js.map +1 -0
- package/dist/esm/theme/createTheme.js +10 -0
- package/dist/esm/theme/createTheme.js.map +1 -0
- package/dist/esm/theme/tokens.js +144 -0
- package/dist/esm/theme/tokens.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/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/esm/utils/objects.js +22 -0
- package/dist/esm/utils/objects.js.map +1 -0
- package/dist/esm/utils/styledUtils.js +81 -0
- package/dist/esm/utils/styledUtils.js.map +1 -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 +297 -0
- package/dist/types/components/controls/CurveEditor/curvePresets.d.ts +5 -0
- package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +28 -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/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/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 +321 -0
- package/dist/types/components/form/FormLabel.d.ts +331 -0
- package/dist/types/components/form/InputWrapper.d.ts +346 -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 +1153 -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 +329 -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 +392 -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 +40 -0
- package/dist/types/components/primitives/IconButton/IconButton.d.ts +354 -0
- package/dist/types/components/primitives/Input/Input.d.ts +134 -0
- package/dist/types/components/primitives/Paper/Paper.d.ts +419 -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 +78 -0
- package/dist/types/components/primitives/Text/Text.d.ts +442 -0
- package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +175 -0
- package/dist/types/components/primitives/Tooltip/types.d.ts +82 -0
- package/dist/types/components/shell/AppShell/AppShell.d.ts +1437 -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 +1441 -0
- package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +48 -0
- package/dist/types/components/shell/StatusBar/StatusBar.d.ts +868 -0
- package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +40 -0
- package/dist/types/components/shell/Toolbar/Toolbar.d.ts +1728 -0
- package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +59 -0
- package/dist/types/index.d.ts +101 -0
- package/dist/types/palettes.d.ts +3 -0
- package/dist/types/theme/ThemeProvider.d.ts +11 -0
- package/dist/types/theme/createTheme.d.ts +6 -0
- package/dist/types/theme/tokens.d.ts +147 -0
- package/dist/types/theme/types.d.ts +7 -0
- package/dist/types/types/common.d.ts +24 -0
- package/dist/types/types/utilities.d.ts +72 -0
- package/dist/types/utils/cn.d.ts +3 -0
- package/package.json +23 -7
- package/dist/index.d.ts +0 -11
- package/dist/index.esm.js +0 -12149
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js +0 -12223
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
3
|
+
import { BaseComponent, Size } from '../../../types/common.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Props specific to Slider component
|
|
7
|
+
*/
|
|
8
|
+
interface SliderBaseProps extends Omit<BaseComponent, 'onChange'> {
|
|
9
|
+
/**
|
|
10
|
+
* Current numeric value
|
|
11
|
+
*/
|
|
12
|
+
value: number;
|
|
13
|
+
/**
|
|
14
|
+
* Callback when value changes
|
|
15
|
+
*/
|
|
16
|
+
onChange: (value: number) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Minimum allowed value
|
|
19
|
+
* @default 0
|
|
20
|
+
*/
|
|
21
|
+
min?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Maximum allowed value
|
|
24
|
+
* @default 100
|
|
25
|
+
*/
|
|
26
|
+
max?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Step size for value increments
|
|
29
|
+
* @default 1
|
|
30
|
+
*/
|
|
31
|
+
step?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Step size when Shift is held (precision mode)
|
|
34
|
+
* @default step / 10
|
|
35
|
+
*/
|
|
36
|
+
precisionStep?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Step size when Ctrl is held (large steps)
|
|
39
|
+
* @default step * 10
|
|
40
|
+
*/
|
|
41
|
+
largeStep?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Number of decimal places to round to
|
|
44
|
+
*/
|
|
45
|
+
precision?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Slider size using standard library sizing
|
|
48
|
+
* - `sm`: Compact for toolbars
|
|
49
|
+
* - `md`: Standard for forms
|
|
50
|
+
* - `lg`: Prominent sliders
|
|
51
|
+
* @default "md"
|
|
52
|
+
*/
|
|
53
|
+
size?: Size;
|
|
54
|
+
/**
|
|
55
|
+
* Whether the slider is disabled
|
|
56
|
+
* @default false
|
|
57
|
+
*/
|
|
58
|
+
disabled?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the slider is read-only
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
63
|
+
readOnly?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Slider label
|
|
66
|
+
*/
|
|
67
|
+
label?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Helper text displayed below the slider
|
|
70
|
+
*/
|
|
71
|
+
helperText?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Error message displayed when error is true
|
|
74
|
+
*/
|
|
75
|
+
errorMessage?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Whether the slider has an error state
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
error?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Whether the slider is required
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
required?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Unit suffix to display (e.g., "px", "%", "°")
|
|
88
|
+
*/
|
|
89
|
+
unit?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Format value for display
|
|
92
|
+
*/
|
|
93
|
+
formatValue?: (value: number) => string;
|
|
94
|
+
/**
|
|
95
|
+
* Show value tooltip while dragging
|
|
96
|
+
* @default true
|
|
97
|
+
*/
|
|
98
|
+
showTooltip?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Show tick marks along the track
|
|
101
|
+
* @default false
|
|
102
|
+
*/
|
|
103
|
+
showTicks?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Number of tick marks to show (when showTicks is true)
|
|
106
|
+
* @default 5
|
|
107
|
+
*/
|
|
108
|
+
tickCount?: number;
|
|
109
|
+
/**
|
|
110
|
+
* Focus event handler
|
|
111
|
+
*/
|
|
112
|
+
onFocus?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
113
|
+
/**
|
|
114
|
+
* Blur event handler
|
|
115
|
+
*/
|
|
116
|
+
onBlur?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
117
|
+
/**
|
|
118
|
+
* Key down event handler
|
|
119
|
+
*/
|
|
120
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Props for the Slider component with prettified type for better IntelliSense
|
|
124
|
+
*/
|
|
125
|
+
type SliderProps = Prettify<SliderBaseProps>;
|
|
126
|
+
/**
|
|
127
|
+
* A professional slider component with drag interaction and keyboard support.
|
|
128
|
+
*
|
|
129
|
+
* Features:
|
|
130
|
+
* - Smooth drag interaction with visual feedback
|
|
131
|
+
* - Keyboard navigation with arrow keys
|
|
132
|
+
* - Modifier key support: Ctrl (large steps), Shift (precision)
|
|
133
|
+
* - Optional tick marks and value tooltip
|
|
134
|
+
* - Comprehensive theming and size variants
|
|
135
|
+
* - Accessible with proper ARIA attributes
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```tsx
|
|
139
|
+
* // Basic slider
|
|
140
|
+
* <Slider
|
|
141
|
+
* value={opacity}
|
|
142
|
+
* onChange={setOpacity}
|
|
143
|
+
* min={0}
|
|
144
|
+
* max={1}
|
|
145
|
+
* step={0.1}
|
|
146
|
+
* unit="%"
|
|
147
|
+
* />
|
|
148
|
+
*
|
|
149
|
+
* // Slider with ticks and custom formatting
|
|
150
|
+
* <Slider
|
|
151
|
+
* value={rotation}
|
|
152
|
+
* onChange={setRotation}
|
|
153
|
+
* min={0}
|
|
154
|
+
* max={360}
|
|
155
|
+
* step={15}
|
|
156
|
+
* unit="°"
|
|
157
|
+
* showTicks
|
|
158
|
+
* tickCount={8}
|
|
159
|
+
* formatValue={(v) => `${v}°`}
|
|
160
|
+
* />
|
|
161
|
+
*
|
|
162
|
+
* // Precision slider for fine control
|
|
163
|
+
* <Slider
|
|
164
|
+
* value={scale}
|
|
165
|
+
* onChange={setScale}
|
|
166
|
+
* min={0.1}
|
|
167
|
+
* max={5}
|
|
168
|
+
* step={0.1}
|
|
169
|
+
* precisionStep={0.01}
|
|
170
|
+
* largeStep={1}
|
|
171
|
+
* precision={2}
|
|
172
|
+
* />
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
declare const Slider: React.FC<SliderProps>;
|
|
176
|
+
|
|
177
|
+
export { Slider };
|
|
178
|
+
export type { SliderBaseProps, SliderProps };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { TreeViewProps } from './TreeView.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A hierarchical collapsible tree for displaying and managing nested data.
|
|
6
|
+
*
|
|
7
|
+
* Supports multi-selection, keyboard navigation, inline renaming,
|
|
8
|
+
* and custom node rendering. The most iconic editor panel — scene hierarchy,
|
|
9
|
+
* file browser, layer stack.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* const nodes = [
|
|
14
|
+
* { id: '1', label: 'Root', children: [
|
|
15
|
+
* { id: '1.1', label: 'Child A' },
|
|
16
|
+
* { id: '1.2', label: 'Child B' },
|
|
17
|
+
* ]},
|
|
18
|
+
* ];
|
|
19
|
+
* <TreeView nodes={nodes} onSelectionChange={setSelected} />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
declare const TreeView: {
|
|
23
|
+
({ nodes, expandedIds, defaultExpandedIds, selectedIds, defaultSelectedIds, selectionMode, renamable, size, indent, showChevrons, showGuideLines, expandOnSelect, maxHeight, renderNode, renderActions, emptyContent, onExpandedChange, onSelectionChange, onNodeClick, onNodeDoubleClick, onNodeContextMenu, onNodeRename, className, testId, ...rest }: TreeViewProps): react_jsx_runtime.JSX.Element;
|
|
24
|
+
displayName: string;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export { TreeView };
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
3
|
+
import { BaseComponent, Size } from '../../../types/common.js';
|
|
4
|
+
|
|
5
|
+
type TreeViewSize = Size;
|
|
6
|
+
/**
|
|
7
|
+
* Selection mode for the tree.
|
|
8
|
+
* - `single`: Only one node can be selected
|
|
9
|
+
* - `multiple`: Multiple nodes via Ctrl+Click, Shift+Click
|
|
10
|
+
* - `none`: No selection, tree is display-only
|
|
11
|
+
*/
|
|
12
|
+
type TreeSelectionMode = 'single' | 'multiple' | 'none';
|
|
13
|
+
/**
|
|
14
|
+
* Generic tree node data structure.
|
|
15
|
+
*/
|
|
16
|
+
interface TreeNodeData {
|
|
17
|
+
/** Unique identifier for this node */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Display label */
|
|
20
|
+
label: string;
|
|
21
|
+
/** Optional icon rendered before the label */
|
|
22
|
+
icon?: React.ReactNode;
|
|
23
|
+
/** Child nodes (empty array or undefined for leaf nodes) */
|
|
24
|
+
children?: TreeNodeData[];
|
|
25
|
+
/** Whether this node is disabled */
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/** Whether this node can be dragged */
|
|
28
|
+
draggable?: boolean;
|
|
29
|
+
/** Whether this node can accept children via drag-and-drop */
|
|
30
|
+
droppable?: boolean;
|
|
31
|
+
/** Whether this node can be renamed inline */
|
|
32
|
+
renamable?: boolean;
|
|
33
|
+
/** Additional data attached to this node */
|
|
34
|
+
data?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* State information passed to render functions.
|
|
38
|
+
*/
|
|
39
|
+
interface TreeNodeState {
|
|
40
|
+
selected: boolean;
|
|
41
|
+
expanded: boolean;
|
|
42
|
+
focused: boolean;
|
|
43
|
+
depth: number;
|
|
44
|
+
isLeaf: boolean;
|
|
45
|
+
isFirst: boolean;
|
|
46
|
+
isLast: boolean;
|
|
47
|
+
}
|
|
48
|
+
interface TreeViewBaseProps extends Omit<BaseComponent, 'onChange'> {
|
|
49
|
+
/**
|
|
50
|
+
* Tree data — array of root-level nodes.
|
|
51
|
+
*/
|
|
52
|
+
nodes: TreeNodeData[];
|
|
53
|
+
/**
|
|
54
|
+
* Expanded node IDs (controlled).
|
|
55
|
+
*/
|
|
56
|
+
expandedIds?: string[];
|
|
57
|
+
/**
|
|
58
|
+
* Default expanded node IDs (uncontrolled).
|
|
59
|
+
*/
|
|
60
|
+
defaultExpandedIds?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* Selected node IDs (controlled).
|
|
63
|
+
*/
|
|
64
|
+
selectedIds?: string[];
|
|
65
|
+
/**
|
|
66
|
+
* Default selected node IDs (uncontrolled).
|
|
67
|
+
*/
|
|
68
|
+
defaultSelectedIds?: string[];
|
|
69
|
+
/**
|
|
70
|
+
* Selection mode.
|
|
71
|
+
* @default "single"
|
|
72
|
+
*/
|
|
73
|
+
selectionMode?: TreeSelectionMode;
|
|
74
|
+
/**
|
|
75
|
+
* Whether to allow inline renaming (double-click on label).
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
78
|
+
renamable?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Tree node size.
|
|
81
|
+
* @default "md"
|
|
82
|
+
*/
|
|
83
|
+
size?: TreeViewSize;
|
|
84
|
+
/**
|
|
85
|
+
* Indentation per depth level in pixels.
|
|
86
|
+
* @default 16
|
|
87
|
+
*/
|
|
88
|
+
indent?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Whether to show expand/collapse chevrons for parent nodes.
|
|
91
|
+
* @default true
|
|
92
|
+
*/
|
|
93
|
+
showChevrons?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Whether to show connecting guide lines.
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
98
|
+
showGuideLines?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Whether to expand parent nodes when they are selected.
|
|
101
|
+
* @default false
|
|
102
|
+
*/
|
|
103
|
+
expandOnSelect?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Maximum height before scrolling.
|
|
106
|
+
*/
|
|
107
|
+
maxHeight?: number | string;
|
|
108
|
+
/**
|
|
109
|
+
* Custom render function for node content.
|
|
110
|
+
*/
|
|
111
|
+
renderNode?: (node: TreeNodeData, state: TreeNodeState) => React.ReactNode;
|
|
112
|
+
/**
|
|
113
|
+
* Custom render function for trailing actions (right side of node).
|
|
114
|
+
*/
|
|
115
|
+
renderActions?: (node: TreeNodeData, state: TreeNodeState) => React.ReactNode;
|
|
116
|
+
/**
|
|
117
|
+
* Empty state content when nodes array is empty.
|
|
118
|
+
*/
|
|
119
|
+
emptyContent?: React.ReactNode;
|
|
120
|
+
/** Fired when expanded nodes change. */
|
|
121
|
+
onExpandedChange?: (expandedIds: string[]) => void;
|
|
122
|
+
/** Fired when selected nodes change. */
|
|
123
|
+
onSelectionChange?: (selectedIds: string[]) => void;
|
|
124
|
+
/** Fired when a node is clicked. */
|
|
125
|
+
onNodeClick?: (node: TreeNodeData, event: React.MouseEvent) => void;
|
|
126
|
+
/** Fired when a node is double-clicked. */
|
|
127
|
+
onNodeDoubleClick?: (node: TreeNodeData, event: React.MouseEvent) => void;
|
|
128
|
+
/** Fired when a node is right-clicked. */
|
|
129
|
+
onNodeContextMenu?: (node: TreeNodeData, event: React.MouseEvent) => void;
|
|
130
|
+
/** Fired when a node is renamed. */
|
|
131
|
+
onNodeRename?: (nodeId: string, newLabel: string) => void;
|
|
132
|
+
}
|
|
133
|
+
type TreeViewProps = Prettify<TreeViewBaseProps>;
|
|
134
|
+
|
|
135
|
+
export type { TreeNodeData, TreeNodeState, TreeSelectionMode, TreeViewBaseProps, TreeViewProps, TreeViewSize };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { VectorInputProps } from './VectorInput.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A grouped numeric input for Vec2, Vec3, and Vec4 vectors.
|
|
6
|
+
*
|
|
7
|
+
* Used for position, rotation, scale, color channels, UV coordinates,
|
|
8
|
+
* bounding box extents, and more. Composes NumberInput with per-axis labels,
|
|
9
|
+
* optional color coding, and linked/unlinked proportional editing.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <VectorInput
|
|
14
|
+
* label="Position"
|
|
15
|
+
* value={[0, 0, 0]}
|
|
16
|
+
* onChange={(val) => setPosition(val)}
|
|
17
|
+
* unit="px"
|
|
18
|
+
* />
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
declare const VectorInput: {
|
|
22
|
+
({ value: controlledValue, defaultValue, dimension, labelPreset, axisLabels: customAxisLabels, colorPreset, axisColors: customAxisColors, min, max, step, precisionStep, largeStep, precision, unit, size, label, helperText, error, errorMessage, disabled, showLink, defaultLinked, linked: controlledLinked, onLinkedChange, direction, gap, onChange, onChangeComplete, className, testId, ...rest }: VectorInputProps): react_jsx_runtime.JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { VectorInput };
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
2
|
+
import { BaseComponent, Size } from '../../../types/common.js';
|
|
3
|
+
|
|
4
|
+
type VectorInputSize = Size;
|
|
5
|
+
/**
|
|
6
|
+
* Number of components in the vector.
|
|
7
|
+
*/
|
|
8
|
+
type VectorDimension = 2 | 3 | 4;
|
|
9
|
+
/**
|
|
10
|
+
* Axis label preset configurations.
|
|
11
|
+
* - `xyz`: X, Y, Z, W — position, rotation, scale
|
|
12
|
+
* - `rgba`: R, G, B, A — color channels
|
|
13
|
+
* - `uvw`: U, V, W — texture coordinates
|
|
14
|
+
* - `custom`: use `axisLabels` prop
|
|
15
|
+
*/
|
|
16
|
+
type VectorLabelPreset = 'xyz' | 'rgba' | 'uvw' | 'custom';
|
|
17
|
+
/**
|
|
18
|
+
* Color coding preset for axis labels.
|
|
19
|
+
* - `spatial`: X=red, Y=green, Z=blue, W=purple (standard 3D convention)
|
|
20
|
+
* - `color`: R=red, G=green, B=blue, A=white
|
|
21
|
+
* - `none`: all labels use default text color
|
|
22
|
+
* - `custom`: use `axisColors` prop
|
|
23
|
+
*/
|
|
24
|
+
type VectorColorPreset = 'spatial' | 'color' | 'none' | 'custom';
|
|
25
|
+
interface VectorInputBaseProps extends Omit<BaseComponent, 'onChange' | 'value' | 'defaultValue'> {
|
|
26
|
+
/**
|
|
27
|
+
* Current vector value (controlled).
|
|
28
|
+
* Array length must match `dimension`.
|
|
29
|
+
*/
|
|
30
|
+
value?: number[];
|
|
31
|
+
/**
|
|
32
|
+
* Default vector value (uncontrolled).
|
|
33
|
+
*/
|
|
34
|
+
defaultValue?: number[];
|
|
35
|
+
/**
|
|
36
|
+
* Number of vector components.
|
|
37
|
+
* @default 3
|
|
38
|
+
*/
|
|
39
|
+
dimension?: VectorDimension;
|
|
40
|
+
/**
|
|
41
|
+
* Axis label preset.
|
|
42
|
+
* @default "xyz"
|
|
43
|
+
*/
|
|
44
|
+
labelPreset?: VectorLabelPreset;
|
|
45
|
+
/**
|
|
46
|
+
* Custom axis labels (when labelPreset is "custom").
|
|
47
|
+
* Array length must match `dimension`.
|
|
48
|
+
*/
|
|
49
|
+
axisLabels?: string[];
|
|
50
|
+
/**
|
|
51
|
+
* Color coding for axis labels.
|
|
52
|
+
* @default "spatial"
|
|
53
|
+
*/
|
|
54
|
+
colorPreset?: VectorColorPreset;
|
|
55
|
+
/**
|
|
56
|
+
* Custom axis colors (when colorPreset is "custom").
|
|
57
|
+
* Array of CSS color strings, length must match `dimension`.
|
|
58
|
+
*/
|
|
59
|
+
axisColors?: string[];
|
|
60
|
+
/**
|
|
61
|
+
* Minimum allowed value (applies to all axes).
|
|
62
|
+
*/
|
|
63
|
+
min?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Maximum allowed value (applies to all axes).
|
|
66
|
+
*/
|
|
67
|
+
max?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Step size for value increments.
|
|
70
|
+
* @default 1
|
|
71
|
+
*/
|
|
72
|
+
step?: number;
|
|
73
|
+
/**
|
|
74
|
+
* Step size when Shift is held (precision mode).
|
|
75
|
+
*/
|
|
76
|
+
precisionStep?: number;
|
|
77
|
+
/**
|
|
78
|
+
* Step size when Ctrl is held (large steps).
|
|
79
|
+
*/
|
|
80
|
+
largeStep?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Number of decimal places.
|
|
83
|
+
* @default 2
|
|
84
|
+
*/
|
|
85
|
+
precision?: number;
|
|
86
|
+
/**
|
|
87
|
+
* Unit suffix displayed in each input (e.g., "px", "deg", "%").
|
|
88
|
+
*/
|
|
89
|
+
unit?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Component size using standard library sizing.
|
|
92
|
+
* @default "md"
|
|
93
|
+
*/
|
|
94
|
+
size?: VectorInputSize;
|
|
95
|
+
/**
|
|
96
|
+
* Label displayed above the vector input.
|
|
97
|
+
*/
|
|
98
|
+
label?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Helper text displayed below.
|
|
101
|
+
*/
|
|
102
|
+
helperText?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Error state.
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
error?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Error message.
|
|
110
|
+
*/
|
|
111
|
+
errorMessage?: string;
|
|
112
|
+
/**
|
|
113
|
+
* Whether the vector input is disabled.
|
|
114
|
+
* @default false
|
|
115
|
+
*/
|
|
116
|
+
disabled?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Whether to show the lock/link proportions toggle.
|
|
119
|
+
* @default false
|
|
120
|
+
*/
|
|
121
|
+
showLink?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Whether axes are linked by default.
|
|
124
|
+
* @default false
|
|
125
|
+
*/
|
|
126
|
+
defaultLinked?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Whether axes are linked (controlled).
|
|
129
|
+
*/
|
|
130
|
+
linked?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Callback when linked state changes.
|
|
133
|
+
*/
|
|
134
|
+
onLinkedChange?: (linked: boolean) => void;
|
|
135
|
+
/**
|
|
136
|
+
* Layout direction.
|
|
137
|
+
* @default "row"
|
|
138
|
+
*/
|
|
139
|
+
direction?: 'row' | 'column';
|
|
140
|
+
/**
|
|
141
|
+
* Gap between axis inputs in pixels.
|
|
142
|
+
* @default 2
|
|
143
|
+
*/
|
|
144
|
+
gap?: number;
|
|
145
|
+
/**
|
|
146
|
+
* Callback when any axis value changes.
|
|
147
|
+
* @param value - Complete vector array with the changed axis.
|
|
148
|
+
* @param axisIndex - Which axis changed (0-based).
|
|
149
|
+
*/
|
|
150
|
+
onChange?: (value: number[], axisIndex: number) => void;
|
|
151
|
+
/**
|
|
152
|
+
* Callback when editing is committed (blur, Enter).
|
|
153
|
+
*/
|
|
154
|
+
onChangeComplete?: (value: number[]) => void;
|
|
155
|
+
}
|
|
156
|
+
type VectorInputProps = Prettify<VectorInputBaseProps>;
|
|
157
|
+
|
|
158
|
+
export type { VectorColorPreset, VectorDimension, VectorInputBaseProps, VectorInputProps, VectorInputSize, VectorLabelPreset };
|