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,166 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseComponent } from '../../../types/common.js';
|
|
3
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Stack direction options
|
|
7
|
+
*/
|
|
8
|
+
type StackDirection = 'row' | 'column';
|
|
9
|
+
/**
|
|
10
|
+
* Stack wrap options
|
|
11
|
+
*/
|
|
12
|
+
type StackWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
13
|
+
/**
|
|
14
|
+
* Justify content options for main axis alignment
|
|
15
|
+
*/
|
|
16
|
+
type StackJustify = 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
|
|
17
|
+
/**
|
|
18
|
+
* Align items options for cross axis alignment
|
|
19
|
+
*/
|
|
20
|
+
type StackAlign = 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';
|
|
21
|
+
/**
|
|
22
|
+
* Spacing multiplier (0-8) based on theme spacing unit
|
|
23
|
+
*/
|
|
24
|
+
type StackSpacing = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
25
|
+
interface StackBaseProps extends Omit<BaseComponent<HTMLDivElement>, 'children'> {
|
|
26
|
+
/**
|
|
27
|
+
* Stack content - any React elements
|
|
28
|
+
*/
|
|
29
|
+
children: React.ReactNode;
|
|
30
|
+
/**
|
|
31
|
+
* Stack direction - controls main axis orientation
|
|
32
|
+
* - `row`: Left to right (horizontal)
|
|
33
|
+
* - `column`: Top to bottom (vertical)
|
|
34
|
+
* @default "column"
|
|
35
|
+
*/
|
|
36
|
+
direction?: StackDirection | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Responsive stack direction
|
|
39
|
+
* Allows different directions at different breakpoints
|
|
40
|
+
* @example direction="column" md="row" // Vertical on mobile, horizontal on desktop
|
|
41
|
+
*/
|
|
42
|
+
sm?: StackDirection | undefined;
|
|
43
|
+
md?: StackDirection | undefined;
|
|
44
|
+
lg?: StackDirection | undefined;
|
|
45
|
+
xl?: StackDirection | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Stack wrap behavior
|
|
48
|
+
* - `nowrap`: Items stay on one line (default)
|
|
49
|
+
* - `wrap`: Items wrap to new lines as needed
|
|
50
|
+
* - `wrap-reverse`: Items wrap in reverse order
|
|
51
|
+
* @default "nowrap"
|
|
52
|
+
*/
|
|
53
|
+
wrap?: StackWrap | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Whether stack should expand to fill available space
|
|
56
|
+
* - For row direction: takes 100% width
|
|
57
|
+
* - For column direction: takes 100% height
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
expand?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Spacing between stack items (multiplier of base spacing unit)
|
|
63
|
+
* - `0`: No spacing (0px)
|
|
64
|
+
* - `1`: 1x base unit (4px)
|
|
65
|
+
* - `2`: 2x base unit (8px)
|
|
66
|
+
* - `3`: 3x base unit (12px)
|
|
67
|
+
* - `4`: 4x base unit (16px)
|
|
68
|
+
* @default 0
|
|
69
|
+
*/
|
|
70
|
+
spacing?: StackSpacing | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Custom gap override (CSS value)
|
|
73
|
+
* Overrides spacing prop if provided
|
|
74
|
+
* @example "16px", "1rem", "2rem 1rem"
|
|
75
|
+
*/
|
|
76
|
+
customGap?: string | number | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Justify content - distributes space along main axis
|
|
79
|
+
* - `flex-start`: Items packed to start (default)
|
|
80
|
+
* - `flex-end`: Items packed to end
|
|
81
|
+
* - `center`: Items centered
|
|
82
|
+
* - `space-between`: Even space between items
|
|
83
|
+
* - `space-around`: Even space around items
|
|
84
|
+
* - `space-evenly`: Equal space between and around items
|
|
85
|
+
* @default "flex-start"
|
|
86
|
+
*/
|
|
87
|
+
justify?: StackJustify | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Align items - aligns items along cross axis
|
|
90
|
+
* - `flex-start`: Items align to start of cross axis (default)
|
|
91
|
+
* - `flex-end`: Items align to end of cross axis
|
|
92
|
+
* - `center`: Items centered on cross axis
|
|
93
|
+
* - `stretch`: Items stretch to fill container
|
|
94
|
+
* - `baseline`: Items align to text baseline
|
|
95
|
+
* @default "flex-start"
|
|
96
|
+
*/
|
|
97
|
+
align?: StackAlign | undefined;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Props for the Stack component with prettified type for better IntelliSense
|
|
101
|
+
*/
|
|
102
|
+
type StackProps = Prettify<StackBaseProps>;
|
|
103
|
+
/**
|
|
104
|
+
* A flexible stacking component for arranging elements vertically or horizontally.
|
|
105
|
+
*
|
|
106
|
+
* Built on flexbox with consistent spacing and alignment options. Perfect for
|
|
107
|
+
* simple layouts where you need to stack elements with controlled spacing.
|
|
108
|
+
* Use Grid or Flex components for more complex layout requirements.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```tsx
|
|
112
|
+
* // Basic vertical stack
|
|
113
|
+
* <Stack spacing={2}>
|
|
114
|
+
* <Card>Item 1</Card>
|
|
115
|
+
* <Card>Item 2</Card>
|
|
116
|
+
* <Card>Item 3</Card>
|
|
117
|
+
* </Stack>
|
|
118
|
+
*
|
|
119
|
+
* // Horizontal stack with full width
|
|
120
|
+
* <Stack direction="row" expand spacing={3} justify="space-between">
|
|
121
|
+
* <Button>Cancel</Button>
|
|
122
|
+
* <Button variant="filled">Save</Button>
|
|
123
|
+
* </Stack>
|
|
124
|
+
*
|
|
125
|
+
* // Responsive stack
|
|
126
|
+
* <Stack
|
|
127
|
+
* direction="column"
|
|
128
|
+
* md="row"
|
|
129
|
+
* spacing={2}
|
|
130
|
+
* align="center"
|
|
131
|
+
* >
|
|
132
|
+
* <Logo />
|
|
133
|
+
* <Navigation />
|
|
134
|
+
* <UserMenu />
|
|
135
|
+
* </Stack>
|
|
136
|
+
*
|
|
137
|
+
* // Centered content
|
|
138
|
+
* <Stack
|
|
139
|
+
* direction="column"
|
|
140
|
+
* expand
|
|
141
|
+
* justify="center"
|
|
142
|
+
* align="center"
|
|
143
|
+
* spacing={4}
|
|
144
|
+
* >
|
|
145
|
+
* <Icon />
|
|
146
|
+
* <Title>Welcome</Title>
|
|
147
|
+
* <Button>Get Started</Button>
|
|
148
|
+
* </Stack>
|
|
149
|
+
*
|
|
150
|
+
* // Wrapping horizontal stack
|
|
151
|
+
* <Stack
|
|
152
|
+
* direction="row"
|
|
153
|
+
* wrap="wrap"
|
|
154
|
+
* spacing={2}
|
|
155
|
+
* justify="center"
|
|
156
|
+
* >
|
|
157
|
+
* <Tag>React</Tag>
|
|
158
|
+
* <Tag>TypeScript</Tag>
|
|
159
|
+
* <Tag>CSS</Tag>
|
|
160
|
+
* </Stack>
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
declare const Stack: React.FC<StackProps>;
|
|
164
|
+
|
|
165
|
+
export { Stack };
|
|
166
|
+
export type { StackAlign, StackBaseProps, StackDirection, StackJustify, StackProps, StackSpacing, StackWrap };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ContextMenuProps } from './ContextMenu.types.js';
|
|
3
|
+
|
|
4
|
+
declare function ContextMenu<TPayload = unknown>({ config, selectedItems, onChange, children, payload, checkboxIcon, radioIcon, disabled, className, style, testId, ref, ...rest }: ContextMenuProps<TPayload>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
|
|
6
|
+
export { ContextMenu };
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
3
|
+
import { BaseComponent } from '../../../types/common.js';
|
|
4
|
+
import { MenuConfig, MenuSelection } from '../Menu/Menu.types.js';
|
|
5
|
+
|
|
6
|
+
interface ContextMenuTargetDetails<TPayload = unknown> {
|
|
7
|
+
/**
|
|
8
|
+
* Native browser contextmenu event from the latest trigger interaction.
|
|
9
|
+
* Null until the first right click.
|
|
10
|
+
*/
|
|
11
|
+
event: MouseEvent | null;
|
|
12
|
+
/**
|
|
13
|
+
* Element that initiated the context menu interaction.
|
|
14
|
+
*/
|
|
15
|
+
target: HTMLElement | null;
|
|
16
|
+
/**
|
|
17
|
+
* Optional payload associated with the trigger area.
|
|
18
|
+
*/
|
|
19
|
+
payload?: TPayload;
|
|
20
|
+
}
|
|
21
|
+
type ContextMenuConfig<TPayload = unknown> = MenuConfig | ((context: ContextMenuTargetDetails<TPayload>) => MenuConfig);
|
|
22
|
+
interface ContextMenuBaseProps<TPayload = unknown> extends Omit<BaseComponent<HTMLDivElement>, 'children' | 'onChange'> {
|
|
23
|
+
/**
|
|
24
|
+
* Static menu config or resolver function called with trigger context.
|
|
25
|
+
*/
|
|
26
|
+
config: ContextMenuConfig<TPayload>;
|
|
27
|
+
/**
|
|
28
|
+
* Currently selected items grouped by id.
|
|
29
|
+
*/
|
|
30
|
+
selectedItems?: MenuSelection;
|
|
31
|
+
/**
|
|
32
|
+
* Called when selection state changes.
|
|
33
|
+
*/
|
|
34
|
+
onChange?: (selection: MenuSelection) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Content that acts as the right-click trigger area.
|
|
37
|
+
*/
|
|
38
|
+
children?: React.ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Optional data attached to this trigger area and passed to config resolver.
|
|
41
|
+
*/
|
|
42
|
+
payload?: TPayload;
|
|
43
|
+
/**
|
|
44
|
+
* Custom icon for checkbox selected state.
|
|
45
|
+
*/
|
|
46
|
+
checkboxIcon?: React.ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* Custom icon for radio selected state.
|
|
49
|
+
*/
|
|
50
|
+
radioIcon?: React.ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* Disables opening the context menu.
|
|
53
|
+
* @default false
|
|
54
|
+
*/
|
|
55
|
+
disabled?: boolean;
|
|
56
|
+
}
|
|
57
|
+
type ContextMenuProps<TPayload = unknown> = Prettify<ContextMenuBaseProps<TPayload>>;
|
|
58
|
+
interface UseContextMenuTargetResult<TPayload = unknown> {
|
|
59
|
+
/**
|
|
60
|
+
* Latest target context captured from right click interaction.
|
|
61
|
+
*/
|
|
62
|
+
context: ContextMenuTargetDetails<TPayload>;
|
|
63
|
+
/**
|
|
64
|
+
* Attach this to an element if you want to capture context manually.
|
|
65
|
+
*/
|
|
66
|
+
onContextMenuCapture: (event: React.MouseEvent<HTMLElement>) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Callback ref that captures native right-click interactions on a node.
|
|
69
|
+
* Useful when you want ref-based wiring.
|
|
70
|
+
*/
|
|
71
|
+
targetRef: (node: HTMLElement | null) => void;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export type { ContextMenuBaseProps, ContextMenuConfig, ContextMenuProps, ContextMenuTargetDetails, UseContextMenuTargetResult };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MenuProps } from './Menu.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A configuration-driven menu component for editor interfaces.
|
|
6
|
+
*
|
|
7
|
+
* Automatically handles radio/checkbox selection states, grouping,
|
|
8
|
+
* and nested submenus based on provided configuration object.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* const config = {
|
|
13
|
+
* groups: [{
|
|
14
|
+
* id: 'actions',
|
|
15
|
+
* items: [
|
|
16
|
+
* {
|
|
17
|
+
* id: 'copy',
|
|
18
|
+
* label: 'Copy',
|
|
19
|
+
* onClick: handleCopy,
|
|
20
|
+
* subMenu: nestedConfig,
|
|
21
|
+
* submenuTrigger: 'hover' // Opens on hover (default)
|
|
22
|
+
* },
|
|
23
|
+
* {
|
|
24
|
+
* id: 'paste',
|
|
25
|
+
* label: 'Paste',
|
|
26
|
+
* onClick: handlePaste,
|
|
27
|
+
* subMenu: nestedConfig,
|
|
28
|
+
* submenuTrigger: 'click' // Opens on click only
|
|
29
|
+
* }
|
|
30
|
+
* ],
|
|
31
|
+
* itemSelectionType: 'none'
|
|
32
|
+
* }]
|
|
33
|
+
* };
|
|
34
|
+
*
|
|
35
|
+
* <Menu config={config}>
|
|
36
|
+
* <Button>Options</Button>
|
|
37
|
+
* </Menu>
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
declare const Menu: React.FC<MenuProps>;
|
|
41
|
+
|
|
42
|
+
export { Menu };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
3
|
+
import { BaseComponent } from '../../../types/common.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* How submenus should be triggered.
|
|
7
|
+
* - `hover`: Submenu opens on hover
|
|
8
|
+
* - `click`: Submenu opens on click only
|
|
9
|
+
*/
|
|
10
|
+
type SubmenuTrigger = 'hover' | 'click';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for a single menu item.
|
|
13
|
+
*/
|
|
14
|
+
type MenuItem = {
|
|
15
|
+
/** Unique identifier for the menu item */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Display text for the menu item */
|
|
18
|
+
label: string;
|
|
19
|
+
/** Click handler called with item id and event */
|
|
20
|
+
onClick: (id: string, event: MouseEvent) => void;
|
|
21
|
+
/** Optional icon rendered before the label */
|
|
22
|
+
icon?: React.ReactNode;
|
|
23
|
+
/** Whether the item is disabled */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Nested submenu configuration */
|
|
26
|
+
subMenu?: MenuConfig;
|
|
27
|
+
/** How submenu should be triggered when subMenu is present */
|
|
28
|
+
submenuTrigger?: SubmenuTrigger;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Type of item selection behavior within a group.
|
|
32
|
+
* - `radio`: Single selection within group
|
|
33
|
+
* - `checkbox`: Multiple selection within group
|
|
34
|
+
* - `none`: No selection state, just click handlers
|
|
35
|
+
*/
|
|
36
|
+
type ItemSelectionType = 'radio' | 'checkbox' | 'none';
|
|
37
|
+
/**
|
|
38
|
+
* Configuration for a group of menu items.
|
|
39
|
+
* Groups are visually separated and can have different selection behaviors.
|
|
40
|
+
*/
|
|
41
|
+
type MenuGroup = {
|
|
42
|
+
/** Unique identifier for the group */
|
|
43
|
+
id: string;
|
|
44
|
+
/** Optional label displayed above the group */
|
|
45
|
+
label?: string;
|
|
46
|
+
/** Array of menu items in this group */
|
|
47
|
+
items: MenuItem[];
|
|
48
|
+
/** Selection behavior for items in this group */
|
|
49
|
+
itemSelectionType: ItemSelectionType;
|
|
50
|
+
/** Whether to close menu when any item in group is clicked */
|
|
51
|
+
closeOnItemClick?: boolean;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Configuration for a menu component.
|
|
55
|
+
* Defines structure, behavior, and selection state.
|
|
56
|
+
*/
|
|
57
|
+
type MenuConfig = {
|
|
58
|
+
/** Whether to open menu on hover instead of click */
|
|
59
|
+
openOnHover?: boolean;
|
|
60
|
+
/** Array of menu groups */
|
|
61
|
+
groups: MenuGroup[];
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Selected items state organized by group.
|
|
65
|
+
* Maps group ID to array of selected item IDs.
|
|
66
|
+
*/
|
|
67
|
+
type MenuSelection = Record<string, string[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Base props for the Menu component.
|
|
70
|
+
*/
|
|
71
|
+
interface MenuBaseProps extends Omit<BaseComponent<HTMLDivElement>, 'onChange'> {
|
|
72
|
+
/** Menu configuration object */
|
|
73
|
+
config: MenuConfig;
|
|
74
|
+
/** Currently selected items organized by group */
|
|
75
|
+
selectedItems?: MenuSelection;
|
|
76
|
+
/** Callback when selection changes */
|
|
77
|
+
onChange?: (selection: MenuSelection) => void;
|
|
78
|
+
/** Menu trigger element */
|
|
79
|
+
children?: React.ReactNode;
|
|
80
|
+
/** Custom icon for checkbox selected state */
|
|
81
|
+
checkboxIcon?: React.ReactNode;
|
|
82
|
+
/** Custom icon for radio selected state */
|
|
83
|
+
radioIcon?: React.ReactNode;
|
|
84
|
+
/** Whether the menu is disabled */
|
|
85
|
+
disabled?: boolean;
|
|
86
|
+
/** Whether this menu is a submenu */
|
|
87
|
+
isSubmenu?: boolean;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Props for the Menu component using Prettify utility type.
|
|
91
|
+
*/
|
|
92
|
+
type MenuProps = Prettify<MenuBaseProps>;
|
|
93
|
+
|
|
94
|
+
export type { ItemSelectionType, MenuBaseProps, MenuConfig, MenuGroup, MenuItem, MenuProps, MenuSelection, SubmenuTrigger };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MenuSelection, MenuGroup } from './Menu.types.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Hook for managing menu selection state and interactions.
|
|
5
|
+
* Handles radio/checkbox logic, state updates, and submenu visibility.
|
|
6
|
+
*/
|
|
7
|
+
declare const useMenu: (selectedItems?: MenuSelection, onChange?: (selection: MenuSelection) => void) => {
|
|
8
|
+
handleItemClick: (groupId: string, itemId: string, group: MenuGroup) => void;
|
|
9
|
+
isItemSelected: (groupId: string, itemId: string) => boolean;
|
|
10
|
+
toggleSubmenu: (itemId: string) => void;
|
|
11
|
+
openSubmenu: (itemId: string) => void;
|
|
12
|
+
closeSubmenu: (itemId: string) => void;
|
|
13
|
+
isSubmenuOpen: (itemId: string) => boolean;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { useMenu };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TabsProps } from './Tabs.types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Tabs component for switching between views within a panel.
|
|
6
|
+
*
|
|
7
|
+
* Compound component pattern: use with TabList, Tab, and TabPanel.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <Tabs defaultValue="properties">
|
|
12
|
+
* <TabList>
|
|
13
|
+
* <Tab value="properties">Properties</Tab>
|
|
14
|
+
* <Tab value="materials">Materials</Tab>
|
|
15
|
+
* </TabList>
|
|
16
|
+
* <TabPanel value="properties">Properties content</TabPanel>
|
|
17
|
+
* <TabPanel value="materials">Materials content</TabPanel>
|
|
18
|
+
* </Tabs>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
declare const Tabs: React.FC<TabsProps>;
|
|
22
|
+
|
|
23
|
+
export { Tabs };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Prettify } from '../../../types/utilities.js';
|
|
3
|
+
import { BaseComponent, Size } from '../../../types/common.js';
|
|
4
|
+
|
|
5
|
+
type TabsSize = Size;
|
|
6
|
+
/**
|
|
7
|
+
* Visual variants for the tab list
|
|
8
|
+
* - `underline`: Bottom border indicator (default, like VS Code tabs)
|
|
9
|
+
* - `pills`: Filled background on active tab
|
|
10
|
+
* - `enclosed`: Bordered active tab with connected panel
|
|
11
|
+
*/
|
|
12
|
+
type TabsVariant = 'underline' | 'pills' | 'enclosed';
|
|
13
|
+
interface TabsBaseProps extends Omit<BaseComponent, 'onChange'> {
|
|
14
|
+
/**
|
|
15
|
+
* Currently active tab value (controlled)
|
|
16
|
+
*/
|
|
17
|
+
value?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Default active tab (uncontrolled)
|
|
20
|
+
*/
|
|
21
|
+
defaultValue?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Tab list variant
|
|
24
|
+
* @default "underline"
|
|
25
|
+
*/
|
|
26
|
+
variant?: TabsVariant;
|
|
27
|
+
/**
|
|
28
|
+
* Tab size
|
|
29
|
+
* - `sm`: 24px tab height, ultra-compact panels
|
|
30
|
+
* - `md`: 28px tab height, compact default
|
|
31
|
+
* - `lg`: 32px tab height, comfortable navigation
|
|
32
|
+
* @default "md"
|
|
33
|
+
*/
|
|
34
|
+
size?: TabsSize;
|
|
35
|
+
/**
|
|
36
|
+
* Orientation of the tab list
|
|
37
|
+
* @default "horizontal"
|
|
38
|
+
*/
|
|
39
|
+
orientation?: 'horizontal' | 'vertical';
|
|
40
|
+
/**
|
|
41
|
+
* Whether tabs fill the available width equally
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
fullWidth?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether pills variant renders a framed tab-list container.
|
|
47
|
+
* When false, pills tabs render without surrounding border/background.
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
pillsFrame?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Children: TabList + TabPanel components
|
|
53
|
+
*/
|
|
54
|
+
children: React.ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Callback when active tab changes
|
|
57
|
+
*/
|
|
58
|
+
onChange?: (value: string) => void;
|
|
59
|
+
}
|
|
60
|
+
type TabsProps = Prettify<TabsBaseProps>;
|
|
61
|
+
interface TabListBaseProps extends BaseComponent {
|
|
62
|
+
/**
|
|
63
|
+
* Tab elements
|
|
64
|
+
*/
|
|
65
|
+
children: React.ReactNode;
|
|
66
|
+
}
|
|
67
|
+
type TabListProps = Prettify<TabListBaseProps>;
|
|
68
|
+
interface TabBaseProps extends BaseComponent<HTMLButtonElement> {
|
|
69
|
+
/**
|
|
70
|
+
* Unique value identifying this tab.
|
|
71
|
+
* Must match a TabPanel's value.
|
|
72
|
+
*/
|
|
73
|
+
value: string;
|
|
74
|
+
/**
|
|
75
|
+
* Tab label content
|
|
76
|
+
*/
|
|
77
|
+
children: React.ReactNode;
|
|
78
|
+
/**
|
|
79
|
+
* Icon displayed before the label
|
|
80
|
+
*/
|
|
81
|
+
icon?: React.ReactNode;
|
|
82
|
+
/**
|
|
83
|
+
* Whether this tab is disabled
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
disabled?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Whether this tab can be closed
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
closable?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Callback when close button is clicked.
|
|
94
|
+
* Only relevant when closable is true.
|
|
95
|
+
*/
|
|
96
|
+
onClose?: (value: string) => void;
|
|
97
|
+
}
|
|
98
|
+
type TabProps = Prettify<TabBaseProps>;
|
|
99
|
+
interface TabPanelBaseProps extends BaseComponent {
|
|
100
|
+
/**
|
|
101
|
+
* Value matching a Tab's value
|
|
102
|
+
*/
|
|
103
|
+
value: string;
|
|
104
|
+
/**
|
|
105
|
+
* Panel content — only rendered when this tab is active
|
|
106
|
+
*/
|
|
107
|
+
children: React.ReactNode;
|
|
108
|
+
/**
|
|
109
|
+
* Whether to keep panel mounted when inactive (preserves state).
|
|
110
|
+
* When false, panel is unmounted when not active.
|
|
111
|
+
* @default false
|
|
112
|
+
*/
|
|
113
|
+
keepMounted?: boolean;
|
|
114
|
+
}
|
|
115
|
+
type TabPanelProps = Prettify<TabPanelBaseProps>;
|
|
116
|
+
|
|
117
|
+
export type { TabBaseProps, TabListBaseProps, TabListProps, TabPanelBaseProps, TabPanelProps, TabProps, TabsBaseProps, TabsProps, TabsSize, TabsVariant };
|