entangle-ui 0.2.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 +23 -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/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 -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,134 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useState, useMemo, useCallback } from 'react';
|
|
3
|
+
import styled from '@emotion/styled';
|
|
4
|
+
import { useTheme } from '@emotion/react';
|
|
5
|
+
import { ensureKeyframeIds, evaluateCurve } from './curveUtils.js';
|
|
6
|
+
import { CURVE_PRESETS } from './curvePresets.js';
|
|
7
|
+
import { CurveCanvas } from './CurveCanvas.js';
|
|
8
|
+
import { CurveToolbar } from './CurveToolbar.js';
|
|
9
|
+
import { useCurveInteraction } from './useCurveInteraction.js';
|
|
10
|
+
|
|
11
|
+
const StyledCurveEditor = styled.div `
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
width: ${p => (p.$responsive ? '100%' : `${p.$width}px`)};
|
|
15
|
+
border: 1px solid ${p => p.theme.colors.border.default};
|
|
16
|
+
border-radius: ${p => p.theme.borderRadius.md}px;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
background: ${p => p.theme.colors.background.secondary};
|
|
19
|
+
opacity: ${p => (p.$disabled ? 0.6 : 1)};
|
|
20
|
+
`;
|
|
21
|
+
const StyledBottomBar = styled.div `
|
|
22
|
+
border-top: 1px solid ${p => p.theme.colors.border.default};
|
|
23
|
+
background: ${p => p.theme.colors.surface.default};
|
|
24
|
+
padding: ${p => p.theme.spacing.xs}px ${p => p.theme.spacing.sm}px;
|
|
25
|
+
flex-shrink: 0;
|
|
26
|
+
`;
|
|
27
|
+
const CurveEditor = ({ value, defaultValue, width = 320, height = 200, responsive = false, showToolbar = true, showGrid = true, gridSubdivisions = 4, showAxisLabels = true, allowAdd = true, allowDelete = true, maxKeyframes = Infinity, lockEndpoints = true, minKeyframeDistance = 0.001, clampY = true, snapToGrid = false, precision = 3, labelX, labelY, presets: userPresets, size = 'md', disabled = false, readOnly = false, curveColor, curveWidth = 2, renderBackground, renderBottomBar, lockTangents = false, onChange, onChangeComplete, onSelectionChange, className, testId, id, style, ...rest }) => {
|
|
28
|
+
const theme = useTheme();
|
|
29
|
+
const effectiveCurveColor = curveColor ?? theme.colors.accent.primary;
|
|
30
|
+
const canvasRef = useRef(null);
|
|
31
|
+
// Controlled / uncontrolled — defaults to ease-in-out
|
|
32
|
+
const [internalValue, setInternalValue] = useState(() => {
|
|
33
|
+
const easeInOut = CURVE_PRESETS.find(p => p.id === 'ease-in-out');
|
|
34
|
+
const initial = defaultValue ??
|
|
35
|
+
easeInOut?.curve ??
|
|
36
|
+
CURVE_PRESETS[0]?.curve ?? {
|
|
37
|
+
keyframes: [],
|
|
38
|
+
domainX: [0, 1],
|
|
39
|
+
domainY: [0, 1],
|
|
40
|
+
};
|
|
41
|
+
return { ...initial, keyframes: ensureKeyframeIds(initial.keyframes) };
|
|
42
|
+
});
|
|
43
|
+
const isControlled = value !== undefined;
|
|
44
|
+
const curve = useMemo(() => {
|
|
45
|
+
const c = isControlled ? value : internalValue;
|
|
46
|
+
return { ...c, keyframes: ensureKeyframeIds(c.keyframes) };
|
|
47
|
+
}, [isControlled, value, internalValue]);
|
|
48
|
+
const handleChange = useCallback((newCurve) => {
|
|
49
|
+
if (!isControlled) {
|
|
50
|
+
setInternalValue(newCurve);
|
|
51
|
+
}
|
|
52
|
+
onChange?.(newCurve);
|
|
53
|
+
}, [isControlled, onChange]);
|
|
54
|
+
const handleChangeComplete = useCallback((newCurve) => {
|
|
55
|
+
onChangeComplete?.(newCurve);
|
|
56
|
+
}, [onChangeComplete]);
|
|
57
|
+
// Viewport — always matches domain with padding for labels (no user zoom/pan)
|
|
58
|
+
const viewport = useMemo(() => {
|
|
59
|
+
const axisName = labelX ?? labelY;
|
|
60
|
+
const hasAxisNames = Boolean(axisName);
|
|
61
|
+
const padding = hasAxisNames && showAxisLabels ? 0.12 : 0.08;
|
|
62
|
+
const [dxMin, dxMax] = curve.domainX;
|
|
63
|
+
const [dyMin, dyMax] = curve.domainY;
|
|
64
|
+
const xPad = (dxMax - dxMin) * padding;
|
|
65
|
+
const yPad = (dyMax - dyMin) * padding;
|
|
66
|
+
return {
|
|
67
|
+
viewX: [dxMin - xPad, dxMax + xPad],
|
|
68
|
+
viewY: [dyMin - yPad, dyMax + yPad],
|
|
69
|
+
zoom: 1,
|
|
70
|
+
panX: 0,
|
|
71
|
+
panY: 0,
|
|
72
|
+
};
|
|
73
|
+
}, [curve.domainX, curve.domainY, labelX, labelY, showAxisLabels]);
|
|
74
|
+
// Merge presets
|
|
75
|
+
const allPresets = useMemo(() => (userPresets ? [...CURVE_PRESETS, ...userPresets] : CURVE_PRESETS), [userPresets]);
|
|
76
|
+
// Interaction hook
|
|
77
|
+
const interaction = useCurveInteraction({
|
|
78
|
+
curve,
|
|
79
|
+
viewport,
|
|
80
|
+
canvasRef,
|
|
81
|
+
disabled,
|
|
82
|
+
readOnly,
|
|
83
|
+
allowAdd,
|
|
84
|
+
allowDelete,
|
|
85
|
+
maxKeyframes,
|
|
86
|
+
lockEndpoints,
|
|
87
|
+
lockTangents,
|
|
88
|
+
clampY,
|
|
89
|
+
snapToGrid,
|
|
90
|
+
gridSubdivisions,
|
|
91
|
+
minKeyframeDistance,
|
|
92
|
+
precision,
|
|
93
|
+
onChange: handleChange,
|
|
94
|
+
onChangeComplete: handleChangeComplete,
|
|
95
|
+
onSelectionChange,
|
|
96
|
+
});
|
|
97
|
+
// Compute tangent mode for selected keyframes (null if mixed or none selected)
|
|
98
|
+
const selectedTangentMode = useMemo(() => {
|
|
99
|
+
if (interaction.selectedIds.size === 0)
|
|
100
|
+
return null;
|
|
101
|
+
let mode = null;
|
|
102
|
+
for (const kf of curve.keyframes) {
|
|
103
|
+
if (kf.id && interaction.selectedIds.has(kf.id)) {
|
|
104
|
+
if (mode === null) {
|
|
105
|
+
mode = kf.tangentMode;
|
|
106
|
+
}
|
|
107
|
+
else if (mode !== kf.tangentMode) {
|
|
108
|
+
return null; // Mixed modes
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return mode;
|
|
113
|
+
}, [curve.keyframes, interaction.selectedIds]);
|
|
114
|
+
const handlePresetSelect = useCallback((preset) => {
|
|
115
|
+
const newCurve = {
|
|
116
|
+
...preset.curve,
|
|
117
|
+
keyframes: ensureKeyframeIds(preset.curve.keyframes),
|
|
118
|
+
};
|
|
119
|
+
handleChange(newCurve);
|
|
120
|
+
handleChangeComplete(newCurve);
|
|
121
|
+
}, [handleChange, handleChangeComplete]);
|
|
122
|
+
return (jsxs(StyledCurveEditor, { className: className, "$disabled": disabled, "$width": width, "$responsive": responsive, "data-testid": testId, id: id, style: style, ...rest, children: [showToolbar && (jsx(CurveToolbar, { selectedTangentMode: selectedTangentMode, onTangentModeChange: interaction.setTangentMode, onPresetSelect: handlePresetSelect, presets: allPresets, disabled: disabled, lockTangents: lockTangents, size: size, testId: testId })), jsx(CurveCanvas, { canvasRef: canvasRef, curve: curve, viewport: viewport, showGrid: showGrid, gridSubdivisions: gridSubdivisions, showAxisLabels: showAxisLabels, labelX: labelX, labelY: labelY, curveColor: effectiveCurveColor, curveWidth: curveWidth, renderBackground: renderBackground, selectedIds: interaction.selectedIds, hoveredElement: interaction.hoveredElement, selectionBox: interaction.selectionBox, isDragging: interaction.isDragging, lockTangents: lockTangents, height: height, responsive: responsive, disabled: disabled, size: size, handlers: interaction.handlers, testId: testId }), renderBottomBar && (jsx(StyledBottomBar, { "data-testid": testId ? `${testId}-bottom-bar` : undefined, children: renderBottomBar({
|
|
123
|
+
curve,
|
|
124
|
+
selectedIds: Array.from(interaction.selectedIds),
|
|
125
|
+
selectedKeyframes: curve.keyframes.filter(kf => kf.id && interaction.selectedIds.has(kf.id)),
|
|
126
|
+
evaluate: (x) => evaluateCurve(curve, x),
|
|
127
|
+
disabled,
|
|
128
|
+
readOnly,
|
|
129
|
+
}) }))] }));
|
|
130
|
+
};
|
|
131
|
+
CurveEditor.displayName = 'CurveEditor';
|
|
132
|
+
|
|
133
|
+
export { CurveEditor };
|
|
134
|
+
//# sourceMappingURL=CurveEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurveEditor.js","sources":["../../../../../../src/components/controls/CurveEditor/CurveEditor.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { IconButton } from '../../primitives/IconButton/IconButton.js';
|
|
4
|
+
import { Select } from '../Select/Select.js';
|
|
5
|
+
import { Tooltip } from '../../primitives/Tooltip/Tooltip.js';
|
|
6
|
+
import '../../primitives/Icon/Icon.js';
|
|
7
|
+
import { TangentFreeIcon } from '../../Icons/TangentFreeIcon.js';
|
|
8
|
+
import { TangentAlignedIcon } from '../../Icons/TangentAlignedIcon.js';
|
|
9
|
+
import { TangentMirroredIcon } from '../../Icons/TangentMirroredIcon.js';
|
|
10
|
+
import { TangentAutoIcon } from '../../Icons/TangentAutoIcon.js';
|
|
11
|
+
import { TangentLinearIcon } from '../../Icons/TangentLinearIcon.js';
|
|
12
|
+
import { TangentStepIcon } from '../../Icons/TangentStepIcon.js';
|
|
13
|
+
|
|
14
|
+
const TOOLBAR_HEIGHT = {
|
|
15
|
+
sm: 28,
|
|
16
|
+
md: 32,
|
|
17
|
+
lg: 36,
|
|
18
|
+
};
|
|
19
|
+
const StyledToolbar = styled.div `
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
gap: ${p => p.theme.spacing.sm}px;
|
|
23
|
+
padding: 0 ${p => p.theme.spacing.sm}px;
|
|
24
|
+
height: ${p => TOOLBAR_HEIGHT[p.$size]}px;
|
|
25
|
+
background: ${p => p.theme.colors.surface.default};
|
|
26
|
+
border-bottom: 1px solid ${p => p.theme.colors.border.default};
|
|
27
|
+
flex-shrink: 0;
|
|
28
|
+
`;
|
|
29
|
+
const ToolbarSection = styled.div `
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
gap: ${p => p.theme.spacing.xs}px;
|
|
33
|
+
`;
|
|
34
|
+
const Separator = styled.div `
|
|
35
|
+
width: 1px;
|
|
36
|
+
height: 16px;
|
|
37
|
+
background: ${p => p.theme.colors.border.default};
|
|
38
|
+
margin: 0 ${p => p.theme.spacing.xs}px;
|
|
39
|
+
`;
|
|
40
|
+
const TANGENT_MODES = [
|
|
41
|
+
{
|
|
42
|
+
mode: 'free',
|
|
43
|
+
label: 'Free',
|
|
44
|
+
icon: jsx(TangentFreeIcon, { decorative: true }),
|
|
45
|
+
shortcut: '1',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
mode: 'aligned',
|
|
49
|
+
label: 'Aligned',
|
|
50
|
+
icon: jsx(TangentAlignedIcon, { decorative: true }),
|
|
51
|
+
shortcut: '2',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
mode: 'mirrored',
|
|
55
|
+
label: 'Mirrored',
|
|
56
|
+
icon: jsx(TangentMirroredIcon, { decorative: true }),
|
|
57
|
+
shortcut: '3',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
mode: 'auto',
|
|
61
|
+
label: 'Auto',
|
|
62
|
+
icon: jsx(TangentAutoIcon, { decorative: true }),
|
|
63
|
+
shortcut: '4',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
mode: 'linear',
|
|
67
|
+
label: 'Linear',
|
|
68
|
+
icon: jsx(TangentLinearIcon, { decorative: true }),
|
|
69
|
+
shortcut: '5',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
mode: 'step',
|
|
73
|
+
label: 'Step',
|
|
74
|
+
icon: jsx(TangentStepIcon, { decorative: true }),
|
|
75
|
+
shortcut: '6',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
const CurveToolbar = ({ selectedTangentMode, onTangentModeChange, onPresetSelect, presets, disabled, lockTangents, size, testId, }) => {
|
|
79
|
+
const presetOptions = presets.map(p => ({
|
|
80
|
+
value: p.id,
|
|
81
|
+
label: p.label,
|
|
82
|
+
}));
|
|
83
|
+
const handlePresetChange = (id) => {
|
|
84
|
+
if (!id)
|
|
85
|
+
return;
|
|
86
|
+
const preset = presets.find(p => p.id === id);
|
|
87
|
+
if (preset)
|
|
88
|
+
onPresetSelect(preset);
|
|
89
|
+
};
|
|
90
|
+
const iconSize = size === 'lg' ? 'md' : 'sm';
|
|
91
|
+
return (jsxs(StyledToolbar, { "$size": size, "data-testid": testId ? `${testId}-toolbar` : undefined, children: [jsx(ToolbarSection, { children: jsx(Select, { options: presetOptions, onChange: handlePresetChange, size: size === 'lg' ? 'md' : 'sm', variant: "ghost", disabled: disabled, placeholder: "Preset...", "aria-label": "Curve preset", minDropdownWidth: 180 }) }), !lockTangents && (jsxs(Fragment, { children: [jsx(Separator, {}), jsx(ToolbarSection, { children: TANGENT_MODES.map(({ mode, label, icon, shortcut }) => (jsx(Tooltip, { title: `${label} (${shortcut})`, placement: "bottom", children: jsx(IconButton, { size: iconSize, variant: "ghost", pressed: selectedTangentMode === mode, disabled: disabled || selectedTangentMode === null, "aria-label": `${label} tangent mode`, onClick: () => onTangentModeChange(mode), children: icon }) }, mode))) })] }))] }));
|
|
92
|
+
};
|
|
93
|
+
CurveToolbar.displayName = 'CurveToolbar';
|
|
94
|
+
|
|
95
|
+
export { CurveToolbar };
|
|
96
|
+
//# sourceMappingURL=CurveToolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurveToolbar.js","sources":["../../../../../../src/components/controls/CurveEditor/CurveToolbar.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { generateKeyframeId } from './curveUtils.js';
|
|
2
|
+
|
|
3
|
+
function kf(x, y, hInX, hInY, hOutX, hOutY, tangentMode = 'free') {
|
|
4
|
+
return {
|
|
5
|
+
x,
|
|
6
|
+
y,
|
|
7
|
+
handleIn: { x: hInX, y: hInY },
|
|
8
|
+
handleOut: { x: hOutX, y: hOutY },
|
|
9
|
+
tangentMode,
|
|
10
|
+
id: generateKeyframeId(),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const CURVE_PRESETS = [
|
|
14
|
+
// ─── Basic ───
|
|
15
|
+
{
|
|
16
|
+
id: 'linear',
|
|
17
|
+
label: 'Linear',
|
|
18
|
+
category: 'Basic',
|
|
19
|
+
curve: {
|
|
20
|
+
keyframes: [
|
|
21
|
+
kf(0, 0, 0, 0, 0.333, 0.333, 'linear'),
|
|
22
|
+
kf(1, 1, -0.333, -0.333, 0, 0, 'linear'),
|
|
23
|
+
],
|
|
24
|
+
domainX: [0, 1],
|
|
25
|
+
domainY: [0, 1],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'constant',
|
|
30
|
+
label: 'Constant',
|
|
31
|
+
category: 'Basic',
|
|
32
|
+
curve: {
|
|
33
|
+
keyframes: [
|
|
34
|
+
kf(0, 1, 0, 0, 0.333, 0, 'linear'),
|
|
35
|
+
kf(1, 1, -0.333, 0, 0, 0, 'linear'),
|
|
36
|
+
],
|
|
37
|
+
domainX: [0, 1],
|
|
38
|
+
domainY: [0, 1],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
// ─── Ease ───
|
|
42
|
+
{
|
|
43
|
+
id: 'ease-in',
|
|
44
|
+
label: 'Ease In',
|
|
45
|
+
category: 'Ease',
|
|
46
|
+
curve: {
|
|
47
|
+
keyframes: [kf(0, 0, 0, 0, 0.42, 0), kf(1, 1, -0.333, -0.333, 0, 0)],
|
|
48
|
+
domainX: [0, 1],
|
|
49
|
+
domainY: [0, 1],
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'ease-out',
|
|
54
|
+
label: 'Ease Out',
|
|
55
|
+
category: 'Ease',
|
|
56
|
+
curve: {
|
|
57
|
+
keyframes: [kf(0, 0, 0, 0, 0.333, 0.333), kf(1, 1, -0.58, 0, 0, 0)],
|
|
58
|
+
domainX: [0, 1],
|
|
59
|
+
domainY: [0, 1],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 'ease-in-out',
|
|
64
|
+
label: 'Ease In-Out',
|
|
65
|
+
category: 'Ease',
|
|
66
|
+
curve: {
|
|
67
|
+
keyframes: [kf(0, 0, 0, 0, 0.42, 0), kf(1, 1, -0.58, 0, 0, 0)],
|
|
68
|
+
domainX: [0, 1],
|
|
69
|
+
domainY: [0, 1],
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
// ─── Dramatic ───
|
|
73
|
+
{
|
|
74
|
+
id: 'ease-in-cubic',
|
|
75
|
+
label: 'Ease In (Cubic)',
|
|
76
|
+
category: 'Dramatic',
|
|
77
|
+
curve: {
|
|
78
|
+
keyframes: [kf(0, 0, 0, 0, 0.55, 0), kf(1, 1, -0.2, -0.333, 0, 0)],
|
|
79
|
+
domainX: [0, 1],
|
|
80
|
+
domainY: [0, 1],
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: 'ease-out-cubic',
|
|
85
|
+
label: 'Ease Out (Cubic)',
|
|
86
|
+
category: 'Dramatic',
|
|
87
|
+
curve: {
|
|
88
|
+
keyframes: [kf(0, 0, 0, 0, 0.2, 0.333), kf(1, 1, -0.55, 0, 0, 0)],
|
|
89
|
+
domainX: [0, 1],
|
|
90
|
+
domainY: [0, 1],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: 'bounce',
|
|
95
|
+
label: 'Bounce',
|
|
96
|
+
category: 'Dramatic',
|
|
97
|
+
curve: {
|
|
98
|
+
keyframes: [
|
|
99
|
+
kf(0, 0, 0, 0, 0.12, 0.33),
|
|
100
|
+
kf(0.5, 1.15, -0.12, 0.05, 0.12, -0.05),
|
|
101
|
+
kf(0.75, 0.9, -0.08, -0.05, 0.08, 0.05),
|
|
102
|
+
kf(1, 1, -0.08, 0, 0, 0),
|
|
103
|
+
],
|
|
104
|
+
domainX: [0, 1],
|
|
105
|
+
domainY: [0, 1],
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: 'overshoot',
|
|
110
|
+
label: 'Overshoot',
|
|
111
|
+
category: 'Dramatic',
|
|
112
|
+
curve: {
|
|
113
|
+
keyframes: [
|
|
114
|
+
kf(0, 0, 0, 0, 0.2, 0.5),
|
|
115
|
+
kf(0.7, 1.2, -0.15, 0.1, 0.1, -0.05),
|
|
116
|
+
kf(1, 1, -0.1, 0, 0, 0),
|
|
117
|
+
],
|
|
118
|
+
domainX: [0, 1],
|
|
119
|
+
domainY: [0, 1],
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
// ─── Utility ───
|
|
123
|
+
{
|
|
124
|
+
id: 'step',
|
|
125
|
+
label: 'Step',
|
|
126
|
+
category: 'Utility',
|
|
127
|
+
curve: {
|
|
128
|
+
keyframes: [
|
|
129
|
+
kf(0, 0, 0, 0, 0, 0, 'step'),
|
|
130
|
+
kf(0.5, 1, 0, 0, 0, 0, 'step'),
|
|
131
|
+
kf(1, 1, 0, 0, 0, 0, 'linear'),
|
|
132
|
+
],
|
|
133
|
+
domainX: [0, 1],
|
|
134
|
+
domainY: [0, 1],
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
id: 'inverse',
|
|
139
|
+
label: 'Inverse',
|
|
140
|
+
category: 'Utility',
|
|
141
|
+
curve: {
|
|
142
|
+
keyframes: [
|
|
143
|
+
kf(0, 1, 0, 0, 0.333, -0.333, 'linear'),
|
|
144
|
+
kf(1, 0, -0.333, 0.333, 0, 0, 'linear'),
|
|
145
|
+
],
|
|
146
|
+
domainX: [0, 1],
|
|
147
|
+
domainY: [0, 1],
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
id: 'bell',
|
|
152
|
+
label: 'Bell Curve',
|
|
153
|
+
category: 'Utility',
|
|
154
|
+
curve: {
|
|
155
|
+
keyframes: [
|
|
156
|
+
kf(0, 0, 0, 0, 0.1, 0),
|
|
157
|
+
kf(0.3, 0.8, -0.1, 0.1, 0.08, 0.08),
|
|
158
|
+
kf(0.5, 1, -0.08, 0.02, 0.08, -0.02, 'mirrored'),
|
|
159
|
+
kf(0.7, 0.8, -0.08, 0.08, 0.1, -0.1),
|
|
160
|
+
kf(1, 0, -0.1, 0, 0, 0),
|
|
161
|
+
],
|
|
162
|
+
domainX: [0, 1],
|
|
163
|
+
domainY: [0, 1],
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
id: 'sawtooth',
|
|
168
|
+
label: 'Sawtooth',
|
|
169
|
+
category: 'Utility',
|
|
170
|
+
curve: {
|
|
171
|
+
keyframes: [
|
|
172
|
+
kf(0, 0, 0, 0, 0.15, 0.5, 'linear'),
|
|
173
|
+
kf(0.5, 1, -0.15, -0.5, 0, 0, 'linear'),
|
|
174
|
+
kf(0.5, 0, 0, 0, 0.15, 0.5, 'linear'),
|
|
175
|
+
kf(1, 1, -0.15, -0.5, 0, 0, 'linear'),
|
|
176
|
+
],
|
|
177
|
+
domainX: [0, 1],
|
|
178
|
+
domainY: [0, 1],
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
];
|
|
182
|
+
|
|
183
|
+
export { CURVE_PRESETS };
|
|
184
|
+
//# sourceMappingURL=curvePresets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curvePresets.js","sources":["../../../../../../src/components/controls/CurveEditor/curvePresets.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|