entangle-ui 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/README.md +129 -75
- package/dist/esm/components/Icons/CheckIcon.js +27 -0
- package/dist/esm/components/Icons/CheckIcon.js.map +1 -0
- package/dist/esm/components/Icons/ChevronDownIcon.js +27 -0
- package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -0
- package/dist/esm/components/Icons/ChevronUpIcon.js +27 -0
- package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -0
- package/dist/esm/components/Icons/CircleIcon.js +27 -0
- package/dist/esm/components/Icons/CircleIcon.js.map +1 -0
- package/dist/esm/components/Icons/CloseIcon.js +27 -0
- package/dist/esm/components/Icons/CloseIcon.js.map +1 -0
- package/dist/esm/components/Icons/EyeDropperIcon.js +28 -0
- package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentAlignedIcon.js +9 -0
- package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentAutoIcon.js +9 -0
- package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentFreeIcon.js +9 -0
- package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentLinearIcon.js +9 -0
- package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentMirroredIcon.js +9 -0
- package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -0
- package/dist/esm/components/Icons/TangentStepIcon.js +9 -0
- package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/AlphaSlider.js +92 -0
- package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorArea.js +93 -0
- package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js +129 -0
- package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js +89 -0
- package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js +75 -0
- package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js +57 -0
- package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/ColorSwatch.js +67 -0
- package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/EyeDropper.js +85 -0
- package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/HueSlider.js +85 -0
- package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/colorUtils.js +220 -0
- package/dist/esm/components/controls/ColorPicker/colorUtils.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/palettes/material.js +299 -0
- package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/palettes/professional.js +479 -0
- package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js +366 -0
- package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -0
- package/dist/esm/components/controls/ColorPicker/useColor.js +63 -0
- package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +84 -0
- package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js +134 -0
- package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +96 -0
- package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/curvePresets.js +184 -0
- package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/curveUtils.js +338 -0
- package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +569 -0
- package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -0
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +400 -0
- package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.js +377 -0
- package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -0
- package/dist/esm/components/controls/NumberInput/useNumberInput.js +324 -0
- package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -0
- package/dist/esm/components/controls/Select/Select.js +533 -0
- package/dist/esm/components/controls/Select/Select.js.map +1 -0
- package/dist/esm/components/controls/Slider/Slider.js +413 -0
- package/dist/esm/components/controls/Slider/Slider.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeNode.js +189 -0
- package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -0
- package/dist/esm/components/controls/TreeView/TreeView.js +213 -0
- package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -0
- package/dist/esm/components/controls/TreeView/useTreeState.js +154 -0
- package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.js +202 -0
- package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +42 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +98 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +154 -0
- package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js +136 -0
- package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -0
- package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js +86 -0
- package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/Dialog.js +92 -0
- package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/Dialog.styled.js +80 -0
- package/dist/esm/components/feedback/Dialog/Dialog.styled.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogBody.js +33 -0
- package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogClose.js +26 -0
- package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogFooter.js +43 -0
- package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/DialogHeader.js +84 -0
- package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +70 -0
- package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -0
- package/dist/esm/components/feedback/Dialog/useFocusTrap.js +55 -0
- package/dist/esm/components/feedback/Dialog/useFocusTrap.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.js +34 -0
- package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastItem.js +214 -0
- package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -0
- package/dist/esm/components/feedback/Toast/ToastProvider.js +47 -0
- package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -0
- package/dist/esm/components/feedback/Toast/useToast.js +60 -0
- package/dist/esm/components/feedback/Toast/useToast.js.map +1 -0
- package/dist/esm/components/form/FormHelperText.js +38 -0
- package/dist/esm/components/form/FormHelperText.js.map +1 -0
- package/dist/esm/components/form/FormLabel.js +43 -0
- package/dist/esm/components/form/FormLabel.js.map +1 -0
- package/dist/esm/components/form/InputWrapper.js +100 -0
- package/dist/esm/components/form/InputWrapper.js.map +1 -0
- package/dist/esm/components/layout/Accordion/Accordion.js +103 -0
- package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionContent.js +37 -0
- package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionItem.js +24 -0
- package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -0
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js +123 -0
- package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -0
- package/dist/esm/components/layout/Flex/Flex.js +149 -0
- package/dist/esm/components/layout/Flex/Flex.js.map +1 -0
- package/dist/esm/components/layout/Grid/Grid.js +118 -0
- package/dist/esm/components/layout/Grid/Grid.js.map +1 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js +106 -0
- package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js +362 -0
- package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/esm/components/layout/Spacer/Spacer.js +78 -0
- package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.js +581 -0
- package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -0
- package/dist/esm/components/layout/SplitPane/SplitPanePanel.js +29 -0
- package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -0
- package/dist/esm/components/layout/Stack/Stack.js +138 -0
- package/dist/esm/components/layout/Stack/Stack.js.map +1 -0
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +45 -0
- package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +52 -0
- package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.helpers.js +52 -0
- package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.js +80 -0
- package/dist/esm/components/navigation/Menu/Menu.js.map +1 -0
- package/dist/esm/components/navigation/Menu/Menu.styled.js +83 -0
- package/dist/esm/components/navigation/Menu/Menu.styled.js.map +1 -0
- package/dist/esm/components/navigation/Menu/useMenu.js +87 -0
- package/dist/esm/components/navigation/Menu/useMenu.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/Tab.js +222 -0
- package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/TabList.js +115 -0
- package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/TabPanel.js +32 -0
- package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -0
- package/dist/esm/components/navigation/Tabs/Tabs.js +77 -0
- package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -0
- package/dist/esm/components/primitives/BaseButton/BaseButton.js +17 -0
- package/dist/esm/components/primitives/BaseButton/BaseButton.js.map +1 -0
- package/dist/esm/components/primitives/Button/Button.js +183 -0
- package/dist/esm/components/primitives/Button/Button.js.map +1 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.js +205 -0
- package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -0
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +71 -0
- package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.js +116 -0
- package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -0
- package/dist/esm/components/primitives/Icon/Icon.js +63 -0
- package/dist/esm/components/primitives/Icon/Icon.js.map +1 -0
- package/dist/esm/components/primitives/IconButton/IconButton.js +222 -0
- package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -0
- package/dist/esm/components/primitives/Input/Input.js +133 -0
- package/dist/esm/components/primitives/Input/Input.js.map +1 -0
- package/dist/esm/components/primitives/Paper/Paper.js +146 -0
- package/dist/esm/components/primitives/Paper/Paper.js.map +1 -0
- package/dist/esm/components/primitives/Popover/Popover.js +121 -0
- package/dist/esm/components/primitives/Popover/Popover.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverClose.js +50 -0
- package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverContent.js +102 -0
- package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -0
- package/dist/esm/components/primitives/Popover/PopoverTrigger.js +37 -0
- package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -0
- package/dist/esm/components/primitives/Switch/Switch.js +170 -0
- package/dist/esm/components/primitives/Switch/Switch.js.map +1 -0
- package/dist/esm/components/primitives/Text/Text.js +166 -0
- package/dist/esm/components/primitives/Text/Text.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/Arrow.js +52 -0
- package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/Tooltip.js +219 -0
- package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -0
- package/dist/esm/components/primitives/Tooltip/utils.js +66 -0
- package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -0
- package/dist/esm/components/shell/AppShell/AppShell.js +157 -0
- package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +236 -0
- package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.js +340 -0
- package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.js +134 -0
- package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.js +185 -0
- package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -0
- package/dist/esm/context/KeyboardContext.js +14 -0
- package/dist/esm/context/KeyboardContext.js.map +1 -0
- package/dist/esm/index.js +78 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/palettes.js +4 -0
- package/dist/esm/palettes.js.map +1 -0
- package/dist/esm/theme/ThemeProvider.js +12 -0
- package/dist/esm/theme/ThemeProvider.js.map +1 -0
- package/dist/esm/theme/createTheme.js +10 -0
- package/dist/esm/theme/createTheme.js.map +1 -0
- package/dist/esm/theme/tokens.js +144 -0
- package/dist/esm/theme/tokens.js.map +1 -0
- package/dist/esm/utils/cn.js +6 -0
- package/dist/esm/utils/cn.js.map +1 -0
- package/dist/esm/utils/mathExpression.js +275 -0
- package/dist/esm/utils/mathExpression.js.map +1 -0
- package/dist/esm/utils/mathUtils.js +18 -0
- package/dist/esm/utils/mathUtils.js.map +1 -0
- package/dist/esm/utils/objects.js +22 -0
- package/dist/esm/utils/objects.js.map +1 -0
- package/dist/esm/utils/styledUtils.js +81 -0
- package/dist/esm/utils/styledUtils.js.map +1 -0
- package/dist/types/components/controls/ColorPicker/ColorPalette.d.ts +16 -0
- package/dist/types/components/controls/ColorPicker/ColorPicker.d.ts +6 -0
- package/dist/types/components/controls/ColorPicker/ColorPicker.types.d.ts +120 -0
- package/dist/types/components/controls/ColorPicker/ColorSwatch.d.ts +6 -0
- package/dist/types/components/controls/ColorPicker/EyeDropper.d.ts +28 -0
- package/dist/types/components/controls/ColorPicker/colorUtils.d.ts +3 -0
- package/dist/types/components/controls/ColorPicker/palettes/material.d.ts +24 -0
- package/dist/types/components/controls/ColorPicker/palettes/professional.d.ts +19 -0
- package/dist/types/components/controls/ColorPicker/palettes/tailwind.d.ts +12 -0
- package/dist/types/components/controls/CurveEditor/CurveEditor.d.ts +6 -0
- package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +297 -0
- package/dist/types/components/controls/CurveEditor/curvePresets.d.ts +5 -0
- package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +28 -0
- package/dist/types/components/controls/NumberInput/NumberInput.d.ts +150 -0
- package/dist/types/components/controls/NumberInput/useNumberInput.d.ts +65 -0
- package/dist/types/components/controls/Select/Select.d.ts +29 -0
- package/dist/types/components/controls/Select/Select.types.d.ts +131 -0
- package/dist/types/components/controls/Slider/Slider.d.ts +178 -0
- package/dist/types/components/controls/TreeView/TreeView.d.ts +27 -0
- package/dist/types/components/controls/TreeView/TreeView.types.d.ts +135 -0
- package/dist/types/components/controls/VectorInput/VectorInput.d.ts +26 -0
- package/dist/types/components/controls/VectorInput/VectorInput.types.d.ts +158 -0
- package/dist/types/components/editor/PropertyInspector/PropertyGroup.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/PropertyInspector.types.d.ts +238 -0
- package/dist/types/components/editor/PropertyInspector/PropertyPanel.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/PropertyRow.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/PropertySection.d.ts +6 -0
- package/dist/types/components/editor/PropertyInspector/usePropertyUndo.d.ts +9 -0
- package/dist/types/components/feedback/Dialog/Dialog.d.ts +25 -0
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +55 -0
- package/dist/types/components/feedback/Dialog/DialogBody.d.ts +16 -0
- package/dist/types/components/feedback/Dialog/DialogClose.d.ts +21 -0
- package/dist/types/components/feedback/Dialog/DialogFooter.d.ts +17 -0
- package/dist/types/components/feedback/Dialog/DialogHeader.d.ts +17 -0
- package/dist/types/components/feedback/Toast/Toast.types.d.ts +39 -0
- package/dist/types/components/feedback/Toast/ToastProvider.d.ts +19 -0
- package/dist/types/components/feedback/Toast/useToast.d.ts +22 -0
- package/dist/types/components/form/FormHelperText.d.ts +321 -0
- package/dist/types/components/form/FormLabel.d.ts +331 -0
- package/dist/types/components/form/InputWrapper.d.ts +346 -0
- package/dist/types/components/layout/Accordion/Accordion.d.ts +23 -0
- package/dist/types/components/layout/Accordion/Accordion.types.d.ts +109 -0
- package/dist/types/components/layout/Accordion/AccordionContent.d.ts +6 -0
- package/dist/types/components/layout/Accordion/AccordionItem.d.ts +6 -0
- package/dist/types/components/layout/Accordion/AccordionTrigger.d.ts +6 -0
- package/dist/types/components/layout/Flex/Flex.d.ts +215 -0
- package/dist/types/components/layout/Grid/Grid.d.ts +113 -0
- package/dist/types/components/layout/PanelSurface/PanelSurface.d.ts +1153 -0
- package/dist/types/components/layout/PanelSurface/PanelSurface.types.d.ts +64 -0
- package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts +6 -0
- package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +93 -0
- package/dist/types/components/layout/Spacer/Spacer.d.ts +329 -0
- package/dist/types/components/layout/SplitPane/SplitPane.d.ts +21 -0
- package/dist/types/components/layout/SplitPane/SplitPane.types.d.ts +87 -0
- package/dist/types/components/layout/SplitPane/SplitPanePanel.d.ts +20 -0
- package/dist/types/components/layout/Stack/Stack.d.ts +166 -0
- package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts +6 -0
- package/dist/types/components/navigation/ContextMenu/ContextMenu.types.d.ts +74 -0
- package/dist/types/components/navigation/ContextMenu/useContextMenuTarget.d.ts +5 -0
- package/dist/types/components/navigation/Menu/Menu.d.ts +42 -0
- package/dist/types/components/navigation/Menu/Menu.types.d.ts +94 -0
- package/dist/types/components/navigation/Menu/useMenu.d.ts +16 -0
- package/dist/types/components/navigation/Tabs/Tab.d.ts +6 -0
- package/dist/types/components/navigation/Tabs/TabList.d.ts +6 -0
- package/dist/types/components/navigation/Tabs/TabPanel.d.ts +6 -0
- package/dist/types/components/navigation/Tabs/Tabs.d.ts +23 -0
- package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +117 -0
- package/dist/types/components/primitives/Button/Button.d.ts +392 -0
- package/dist/types/components/primitives/Checkbox/Checkbox.d.ts +20 -0
- package/dist/types/components/primitives/Checkbox/Checkbox.types.d.ts +156 -0
- package/dist/types/components/primitives/Checkbox/CheckboxGroup.d.ts +25 -0
- package/dist/types/components/primitives/Collapsible/Collapsible.d.ts +6 -0
- package/dist/types/components/primitives/Collapsible/Collapsible.types.d.ts +28 -0
- package/dist/types/components/primitives/Icon/Icon.d.ts +40 -0
- package/dist/types/components/primitives/IconButton/IconButton.d.ts +354 -0
- package/dist/types/components/primitives/Input/Input.d.ts +134 -0
- package/dist/types/components/primitives/Paper/Paper.d.ts +419 -0
- package/dist/types/components/primitives/Popover/Popover.d.ts +25 -0
- package/dist/types/components/primitives/Popover/Popover.types.d.ts +99 -0
- package/dist/types/components/primitives/Popover/PopoverClose.d.ts +6 -0
- package/dist/types/components/primitives/Popover/PopoverContent.d.ts +6 -0
- package/dist/types/components/primitives/Popover/PopoverTrigger.d.ts +10 -0
- package/dist/types/components/primitives/Switch/Switch.d.ts +78 -0
- package/dist/types/components/primitives/Text/Text.d.ts +442 -0
- package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +175 -0
- package/dist/types/components/primitives/Tooltip/types.d.ts +82 -0
- package/dist/types/components/shell/AppShell/AppShell.d.ts +1437 -0
- package/dist/types/components/shell/AppShell/AppShell.types.d.ts +48 -0
- package/dist/types/components/shell/FloatingPanel/FloatingPanel.d.ts +7 -0
- package/dist/types/components/shell/FloatingPanel/FloatingPanel.types.d.ts +61 -0
- package/dist/types/components/shell/MenuBar/MenuBar.d.ts +1441 -0
- package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +48 -0
- package/dist/types/components/shell/StatusBar/StatusBar.d.ts +868 -0
- package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +40 -0
- package/dist/types/components/shell/Toolbar/Toolbar.d.ts +1728 -0
- package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +59 -0
- package/dist/types/index.d.ts +101 -0
- package/dist/types/palettes.d.ts +3 -0
- package/dist/types/theme/ThemeProvider.d.ts +11 -0
- package/dist/types/theme/createTheme.d.ts +6 -0
- package/dist/types/theme/tokens.d.ts +147 -0
- package/dist/types/theme/types.d.ts +7 -0
- package/dist/types/types/common.d.ts +24 -0
- package/dist/types/types/utilities.d.ts +72 -0
- package/dist/types/utils/cn.d.ts +3 -0
- package/package.json +23 -7
- package/dist/index.d.ts +0 -11
- package/dist/index.esm.js +0 -12149
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js +0 -12223
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import { keyframes } from '@emotion/react';
|
|
3
|
+
import { processCss } from '../../../utils/styledUtils.js';
|
|
4
|
+
|
|
5
|
+
// --- Constants ---
|
|
6
|
+
const DIALOG_ANIMATION_MS = 200;
|
|
7
|
+
const DIALOG_SIZE_MAP = {
|
|
8
|
+
sm: '360px',
|
|
9
|
+
md: '480px',
|
|
10
|
+
lg: '640px',
|
|
11
|
+
xl: '800px',
|
|
12
|
+
fullscreen: 'calc(100vw - 48px)',
|
|
13
|
+
};
|
|
14
|
+
// --- Animations ---
|
|
15
|
+
const overlayFadeIn = keyframes `
|
|
16
|
+
from { opacity: 0; }
|
|
17
|
+
to { opacity: 1; }
|
|
18
|
+
`;
|
|
19
|
+
const overlayFadeOut = keyframes `
|
|
20
|
+
from { opacity: 1; }
|
|
21
|
+
to { opacity: 0; }
|
|
22
|
+
`;
|
|
23
|
+
const panelFadeIn = keyframes `
|
|
24
|
+
from {
|
|
25
|
+
opacity: 0;
|
|
26
|
+
transform: translate(-50%, -50%) scale(0.95);
|
|
27
|
+
}
|
|
28
|
+
to {
|
|
29
|
+
opacity: 1;
|
|
30
|
+
transform: translate(-50%, -50%) scale(1);
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
const panelFadeOut = keyframes `
|
|
34
|
+
from {
|
|
35
|
+
opacity: 1;
|
|
36
|
+
transform: translate(-50%, -50%) scale(1);
|
|
37
|
+
}
|
|
38
|
+
to {
|
|
39
|
+
opacity: 0;
|
|
40
|
+
transform: translate(-50%, -50%) scale(0.95);
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
// --- Styled Components ---
|
|
44
|
+
const StyledOverlay = styled.div `
|
|
45
|
+
position: fixed;
|
|
46
|
+
top: 0;
|
|
47
|
+
left: 0;
|
|
48
|
+
right: 0;
|
|
49
|
+
bottom: 0;
|
|
50
|
+
background: ${props => props.theme.colors.backdrop};
|
|
51
|
+
backdrop-filter: blur(2px);
|
|
52
|
+
z-index: ${props => props.theme.zIndex.modal};
|
|
53
|
+
animation: ${props => (props.$closing ? overlayFadeOut : overlayFadeIn)} 150ms
|
|
54
|
+
ease-out forwards;
|
|
55
|
+
`;
|
|
56
|
+
const StyledDialogPanel = styled.div `
|
|
57
|
+
position: fixed;
|
|
58
|
+
top: 50%;
|
|
59
|
+
left: 50%;
|
|
60
|
+
transform: translate(-50%, -50%);
|
|
61
|
+
z-index: ${props => props.theme.zIndex.modal};
|
|
62
|
+
width: ${props => DIALOG_SIZE_MAP[props.$size]};
|
|
63
|
+
max-width: calc(100vw - 48px);
|
|
64
|
+
max-height: calc(100vh - 48px);
|
|
65
|
+
display: flex;
|
|
66
|
+
flex-direction: column;
|
|
67
|
+
background: ${props => props.theme.colors.background.primary};
|
|
68
|
+
border: 1px solid ${props => props.theme.colors.border.default};
|
|
69
|
+
border-radius: ${props => props.theme.borderRadius.lg}px;
|
|
70
|
+
box-shadow: ${props => props.theme.shadows.lg};
|
|
71
|
+
font-family: ${props => props.theme.typography.fontFamily.sans};
|
|
72
|
+
outline: none;
|
|
73
|
+
animation: ${props => (props.$closing ? panelFadeOut : panelFadeIn)}
|
|
74
|
+
${DIALOG_ANIMATION_MS}ms ease-out forwards;
|
|
75
|
+
|
|
76
|
+
${props => processCss(props.$css, props.theme)}
|
|
77
|
+
`;
|
|
78
|
+
|
|
79
|
+
export { DIALOG_ANIMATION_MS, DIALOG_SIZE_MAP, StyledDialogPanel, StyledOverlay };
|
|
80
|
+
//# sourceMappingURL=Dialog.styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.styled.js","sources":["../../../../../../src/components/feedback/Dialog/Dialog.styled.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA;AAEO,MAAM,mBAAmB,GAAG;AAEtB,MAAA,eAAe,GAA+B;AACzD,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,UAAU,EAAE,oBAAoB;;AAGlC;AAEA,MAAM,aAAa,GAAG,SAAS,CAAA;;;CAG9B;AAED,MAAM,cAAc,GAAG,SAAS,CAAA;;;CAG/B;AAED,MAAM,WAAW,GAAG,SAAS,CAAA;;;;;;;;;CAS5B;AAED,MAAM,YAAY,GAAG,SAAS,CAAA;;;;;;;;;CAS7B;AAED;AAEa,MAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAErC;;;;;;gBAMc,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAA;;aAEvC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;AAC/B,aAAA,EAAA,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG,cAAc,GAAG,aAAa,CAAC,CAAA;;;AAI5D,MAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAIzC;;;;;aAKW,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;WACnC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;;;;;gBAKhC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAA;sBACxC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAA;mBAC7C,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAA;gBACvC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;iBAC9B,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAA;;AAEjD,aAAA,EAAA,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;MAC/D,mBAAmB,CAAA;;AAErB,EAAA,EAAA,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { processCss } from '../../../utils/styledUtils.js';
|
|
4
|
+
|
|
5
|
+
// --- Styled components ---
|
|
6
|
+
const StyledBody = styled.div `
|
|
7
|
+
padding: ${props => props.theme.spacing.lg}px;
|
|
8
|
+
overflow-y: auto;
|
|
9
|
+
flex: 1;
|
|
10
|
+
color: ${props => props.theme.colors.text.primary};
|
|
11
|
+
font-size: ${props => props.theme.typography.fontSize.md}px;
|
|
12
|
+
line-height: ${props => props.theme.typography.lineHeight.normal};
|
|
13
|
+
|
|
14
|
+
${props => processCss(props.$css, props.theme)}
|
|
15
|
+
`;
|
|
16
|
+
// --- Component ---
|
|
17
|
+
/**
|
|
18
|
+
* DialogBody renders the scrollable content area of a Dialog.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <DialogBody>
|
|
23
|
+
* <p>Dialog content goes here.</p>
|
|
24
|
+
* </DialogBody>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
const DialogBody = ({ children, className, style, css, testId, ref, ...rest }) => {
|
|
28
|
+
return (jsx(StyledBody, { ref: ref, className: className, style: style, "$css": css, "data-testid": testId, ...rest, children: children }));
|
|
29
|
+
};
|
|
30
|
+
DialogBody.displayName = 'DialogBody';
|
|
31
|
+
|
|
32
|
+
export { DialogBody };
|
|
33
|
+
//# sourceMappingURL=DialogBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogBody.js","sources":["../../../../../../src/components/feedback/Dialog/DialogBody.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAKA;AAEA,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAE3B;aACW,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;;;WAGjC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAA;eACpC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAA;iBACzC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAA;;AAE9D,EAAA,EAAA,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;CAC/C;AAED;AAEA;;;;;;;;;AASG;MACU,UAAU,GAA8B,CAAC,EACpD,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,GAAG,EACH,GAAG,IAAI,EACR,KAAI;IACH,QACEA,GAAC,CAAA,UAAU,EACT,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACN,MAAA,EAAA,GAAG,EACI,aAAA,EAAA,MAAM,EACf,GAAA,IAAI,EAEP,QAAA,EAAA,QAAQ,EACE,CAAA;AAEjB;AAEA,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useDialogContext } from './Dialog.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* DialogClose wraps a child element and adds onClick to close the dialog.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <DialogClose>
|
|
10
|
+
* <Button>Cancel</Button>
|
|
11
|
+
* </DialogClose>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
const DialogClose = ({ children }) => {
|
|
15
|
+
const { onClose } = useDialogContext();
|
|
16
|
+
return React.cloneElement(children, {
|
|
17
|
+
onClick: (e) => {
|
|
18
|
+
children.props.onClick?.(e);
|
|
19
|
+
onClose();
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
DialogClose.displayName = 'DialogClose';
|
|
24
|
+
|
|
25
|
+
export { DialogClose };
|
|
26
|
+
//# sourceMappingURL=DialogClose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogClose.js","sources":["../../../../../../src/components/feedback/Dialog/DialogClose.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;AAQA;;;;;;;;;AASG;MACU,WAAW,GAA+B,CAAC,EAAE,QAAQ,EAAE,KAAI;AACtE,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE;AAEtC,IAAA,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AAClC,QAAA,OAAO,EAAE,CAAC,CAAmB,KAAI;YAC/B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AAC3B,YAAA,OAAO,EAAE;SACV;AACF,KAAA,CAAC;AACJ;AAEA,WAAW,CAAC,WAAW,GAAG,aAAa;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { processCss } from '../../../utils/styledUtils.js';
|
|
4
|
+
|
|
5
|
+
// --- Alignment map ---
|
|
6
|
+
const ALIGN_MAP = {
|
|
7
|
+
left: 'flex-start',
|
|
8
|
+
center: 'center',
|
|
9
|
+
right: 'flex-end',
|
|
10
|
+
'space-between': 'space-between',
|
|
11
|
+
};
|
|
12
|
+
// --- Styled components ---
|
|
13
|
+
const StyledFooter = styled.div `
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: ${props => ALIGN_MAP[props.$align]};
|
|
17
|
+
gap: ${props => props.theme.spacing.md}px;
|
|
18
|
+
padding: ${props => props.theme.spacing.md}px
|
|
19
|
+
${props => props.theme.spacing.lg}px;
|
|
20
|
+
border-top: 1px solid ${props => props.theme.colors.border.default};
|
|
21
|
+
flex-shrink: 0;
|
|
22
|
+
|
|
23
|
+
${props => processCss(props.$css, props.theme)}
|
|
24
|
+
`;
|
|
25
|
+
// --- Component ---
|
|
26
|
+
/**
|
|
27
|
+
* DialogFooter renders the action area at the bottom of a Dialog.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* <DialogFooter align="right">
|
|
32
|
+
* <Button onClick={onCancel}>Cancel</Button>
|
|
33
|
+
* <Button variant="filled" onClick={onConfirm}>Confirm</Button>
|
|
34
|
+
* </DialogFooter>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
const DialogFooter = ({ children, align = 'right', className, style, css, testId, ref, ...rest }) => {
|
|
38
|
+
return (jsx(StyledFooter, { ref: ref, "$align": align, className: className, style: style, "$css": css, "data-testid": testId, ...rest, children: children }));
|
|
39
|
+
};
|
|
40
|
+
DialogFooter.displayName = 'DialogFooter';
|
|
41
|
+
|
|
42
|
+
export { DialogFooter };
|
|
43
|
+
//# sourceMappingURL=DialogFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogFooter.js","sources":["../../../../../../src/components/feedback/Dialog/DialogFooter.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAKA;AAEA,MAAM,SAAS,GAA4D;AACzE,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,eAAe,EAAE,eAAe;CACjC;AAED;AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAG7B;;;qBAGmB,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;SAC5C,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;aAC3B,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;MACtC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;0BACX,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAA;;;AAGhE,EAAA,EAAA,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;CAC/C;AAED;AAEA;;;;;;;;;;AAUG;AACU,MAAA,YAAY,GAAgC,CAAC,EACxD,QAAQ,EACR,KAAK,GAAG,OAAO,EACf,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,GAAG,EACH,GAAG,IAAI,EACR,KAAI;IACH,QACEA,GAAC,CAAA,YAAY,EACX,EAAA,GAAG,EAAE,GAAG,EACA,QAAA,EAAA,KAAK,EACb,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACN,MAAA,EAAA,GAAG,EACI,aAAA,EAAA,MAAM,EACf,GAAA,IAAI,EAEP,QAAA,EAAA,QAAQ,EACI,CAAA;AAEnB;AAEA,YAAY,CAAC,WAAW,GAAG,cAAc;;;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { processCss } from '../../../utils/styledUtils.js';
|
|
4
|
+
import { useDialogContext } from './Dialog.js';
|
|
5
|
+
|
|
6
|
+
// --- Styled components ---
|
|
7
|
+
const StyledHeader = styled.div `
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: flex-start;
|
|
10
|
+
justify-content: space-between;
|
|
11
|
+
padding: ${props => props.theme.spacing.md}px
|
|
12
|
+
${props => props.theme.spacing.lg}px;
|
|
13
|
+
border-bottom: 1px solid ${props => props.theme.colors.border.default};
|
|
14
|
+
flex-shrink: 0;
|
|
15
|
+
|
|
16
|
+
${props => processCss(props.$css, props.theme)}
|
|
17
|
+
`;
|
|
18
|
+
const StyledHeaderContent = styled.div `
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
gap: ${props => props.theme.spacing.xs}px;
|
|
22
|
+
min-width: 0;
|
|
23
|
+
flex: 1;
|
|
24
|
+
`;
|
|
25
|
+
const StyledTitle = styled.div `
|
|
26
|
+
font-size: ${props => props.theme.typography.fontSize.lg}px;
|
|
27
|
+
font-weight: ${props => props.theme.typography.fontWeight.semibold};
|
|
28
|
+
color: ${props => props.theme.colors.text.primary};
|
|
29
|
+
line-height: ${props => props.theme.typography.lineHeight.tight};
|
|
30
|
+
`;
|
|
31
|
+
const StyledDescription = styled.div `
|
|
32
|
+
font-size: ${props => props.theme.typography.fontSize.sm}px;
|
|
33
|
+
color: ${props => props.theme.colors.text.secondary};
|
|
34
|
+
line-height: ${props => props.theme.typography.lineHeight.normal};
|
|
35
|
+
`;
|
|
36
|
+
const StyledCloseButton = styled.button `
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
width: 24px;
|
|
41
|
+
height: 24px;
|
|
42
|
+
padding: 0;
|
|
43
|
+
margin: 0;
|
|
44
|
+
margin-left: ${props => props.theme.spacing.md}px;
|
|
45
|
+
border: none;
|
|
46
|
+
border-radius: ${props => props.theme.borderRadius.sm}px;
|
|
47
|
+
background: transparent;
|
|
48
|
+
color: ${props => props.theme.colors.text.secondary};
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
flex-shrink: 0;
|
|
51
|
+
transition:
|
|
52
|
+
background ${props => props.theme.transitions.fast},
|
|
53
|
+
color ${props => props.theme.transitions.fast};
|
|
54
|
+
|
|
55
|
+
&:hover {
|
|
56
|
+
background: ${props => props.theme.colors.surface.hover};
|
|
57
|
+
color: ${props => props.theme.colors.text.primary};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:focus-visible {
|
|
61
|
+
outline: none;
|
|
62
|
+
box-shadow: ${props => props.theme.shadows.focus};
|
|
63
|
+
}
|
|
64
|
+
`;
|
|
65
|
+
// --- Component ---
|
|
66
|
+
/**
|
|
67
|
+
* DialogHeader renders the title, optional description, and close button
|
|
68
|
+
* for a Dialog.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```tsx
|
|
72
|
+
* <DialogHeader description="This cannot be undone">
|
|
73
|
+
* Delete Item
|
|
74
|
+
* </DialogHeader>
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
const DialogHeader = ({ children, showClose = true, description, className, style, css, testId, ref, ...rest }) => {
|
|
78
|
+
const { onClose, titleId, descriptionId } = useDialogContext();
|
|
79
|
+
return (jsxs(StyledHeader, { ref: ref, className: className, style: style, "$css": css, "data-testid": testId, ...rest, children: [jsxs(StyledHeaderContent, { children: [jsx(StyledTitle, { id: titleId, children: children }), description && (jsx(StyledDescription, { id: descriptionId, children: description }))] }), showClose && (jsx(StyledCloseButton, { type: "button", onClick: onClose, "aria-label": "Close dialog", "data-testid": testId ? `${testId}-close` : undefined, children: jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1 1L11 11M11 1L1 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }))] }));
|
|
80
|
+
};
|
|
81
|
+
DialogHeader.displayName = 'DialogHeader';
|
|
82
|
+
|
|
83
|
+
export { DialogHeader };
|
|
84
|
+
//# sourceMappingURL=DialogHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DialogHeader.js","sources":["../../../../../../src/components/feedback/Dialog/DialogHeader.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { useState, useRef, useEffect } from 'react';
|
|
2
|
+
import { FOCUSABLE_SELECTOR } from './useFocusTrap.js';
|
|
3
|
+
import { DIALOG_ANIMATION_MS } from './Dialog.styled.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Manages Dialog mount/unmount animation lifecycle and focus management.
|
|
7
|
+
*
|
|
8
|
+
* Combines three concerns into a single hook:
|
|
9
|
+
* 1. Mount/unmount with closing animation delay
|
|
10
|
+
* 2. Initial focus on open (respects initialFocusRef)
|
|
11
|
+
* 3. Return focus to previously focused element on close
|
|
12
|
+
*/
|
|
13
|
+
function useDialogAnimation({ open, panelRef, initialFocusRef, }) {
|
|
14
|
+
const [mounted, setMounted] = useState(false);
|
|
15
|
+
const [closing, setClosing] = useState(false);
|
|
16
|
+
const previousFocusRef = useRef(null);
|
|
17
|
+
const wasOpenRef = useRef(false);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (open) {
|
|
20
|
+
// Opening: capture previous focus, mount immediately
|
|
21
|
+
previousFocusRef.current = document.activeElement;
|
|
22
|
+
setClosing(false);
|
|
23
|
+
setMounted(true);
|
|
24
|
+
wasOpenRef.current = true;
|
|
25
|
+
}
|
|
26
|
+
else if (wasOpenRef.current) {
|
|
27
|
+
// Closing: start close animation, unmount after delay
|
|
28
|
+
wasOpenRef.current = false;
|
|
29
|
+
setClosing(true);
|
|
30
|
+
const timer = setTimeout(() => {
|
|
31
|
+
setMounted(false);
|
|
32
|
+
setClosing(false);
|
|
33
|
+
// Return focus after unmount
|
|
34
|
+
if (previousFocusRef.current) {
|
|
35
|
+
previousFocusRef.current.focus();
|
|
36
|
+
previousFocusRef.current = null;
|
|
37
|
+
}
|
|
38
|
+
}, DIALOG_ANIMATION_MS);
|
|
39
|
+
return () => clearTimeout(timer);
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}, [open]);
|
|
43
|
+
// Initial focus after mount
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (!open || !mounted)
|
|
46
|
+
return;
|
|
47
|
+
const timer = setTimeout(() => {
|
|
48
|
+
if (initialFocusRef?.current) {
|
|
49
|
+
initialFocusRef.current.focus();
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const panel = panelRef.current;
|
|
53
|
+
if (panel) {
|
|
54
|
+
const firstFocusable = panel.querySelector(FOCUSABLE_SELECTOR);
|
|
55
|
+
if (firstFocusable) {
|
|
56
|
+
firstFocusable.focus();
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
panel.focus();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, 0);
|
|
64
|
+
return () => clearTimeout(timer);
|
|
65
|
+
}, [open, mounted, initialFocusRef, panelRef]);
|
|
66
|
+
return { mounted, closing };
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { useDialogAnimation };
|
|
70
|
+
//# sourceMappingURL=useDialogAnimation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDialogAnimation.js","sources":["../../../../../../src/components/feedback/Dialog/useDialogAnimation.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAeA;;;;;;;AAOG;AACG,SAAU,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,eAAe,GACW,EAAA;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC7C,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAqB,IAAI,CAAC;AACzD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAEhC,SAAS,CAAC,MAAK;QACb,IAAI,IAAI,EAAE;;AAER,YAAA,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC,aAA4B;YAChE,UAAU,CAAC,KAAK,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC;AAChB,YAAA,UAAU,CAAC,OAAO,GAAG,IAAI;;AACpB,aAAA,IAAI,UAAU,CAAC,OAAO,EAAE;;AAE7B,YAAA,UAAU,CAAC,OAAO,GAAG,KAAK;YAC1B,UAAU,CAAC,IAAI,CAAC;AAChB,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;gBAC5B,UAAU,CAAC,KAAK,CAAC;gBACjB,UAAU,CAAC,KAAK,CAAC;;AAGjB,gBAAA,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC5B,oBAAA,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE;AAChC,oBAAA,gBAAgB,CAAC,OAAO,GAAG,IAAI;;aAElC,EAAE,mBAAmB,CAAC;AACvB,YAAA,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC;;AAElC,QAAA,OAAO,SAAS;AAClB,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC;;IAGV,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE;AAEvB,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;AAC5B,YAAA,IAAI,eAAe,EAAE,OAAO,EAAE;AAC5B,gBAAA,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE;;iBAC1B;AACL,gBAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;gBAC9B,IAAI,KAAK,EAAE;oBACT,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CACxC,kBAAkB,CACJ;oBAChB,IAAI,cAAc,EAAE;wBAClB,cAAc,CAAC,KAAK,EAAE;;yBACjB;wBACL,KAAK,CAAC,KAAK,EAAE;;;;SAIpB,EAAE,CAAC,CAAC;AACL,QAAA,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC;KACjC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAE9C,IAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7B;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
const FOCUSABLE_SELECTOR = [
|
|
4
|
+
'a[href]',
|
|
5
|
+
'button:not([disabled])',
|
|
6
|
+
'input:not([disabled])',
|
|
7
|
+
'textarea:not([disabled])',
|
|
8
|
+
'select:not([disabled])',
|
|
9
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
10
|
+
].join(', ');
|
|
11
|
+
/**
|
|
12
|
+
* Reusable focus trap hook.
|
|
13
|
+
*
|
|
14
|
+
* Traps Tab/Shift+Tab navigation within a container element,
|
|
15
|
+
* wrapping focus from last to first element and vice versa.
|
|
16
|
+
*
|
|
17
|
+
* @returns onKeyDown handler to attach to the container element
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* const handleKeyDown = useFocusTrap({ containerRef: panelRef, enabled: true });
|
|
22
|
+
* <div ref={panelRef} onKeyDown={handleKeyDown}>...</div>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
function useFocusTrap({ containerRef, enabled = true, }) {
|
|
26
|
+
return useCallback((e) => {
|
|
27
|
+
if (!enabled || e.key !== 'Tab')
|
|
28
|
+
return;
|
|
29
|
+
const container = containerRef.current;
|
|
30
|
+
if (!container)
|
|
31
|
+
return;
|
|
32
|
+
const focusableElements = Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR));
|
|
33
|
+
if (focusableElements.length === 0) {
|
|
34
|
+
e.preventDefault();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const firstElement = focusableElements[0];
|
|
38
|
+
const lastElement = focusableElements[focusableElements.length - 1];
|
|
39
|
+
if (e.shiftKey) {
|
|
40
|
+
if (document.activeElement === firstElement) {
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
lastElement.focus();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (document.activeElement === lastElement) {
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
firstElement.focus();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}, [enabled, containerRef]);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { FOCUSABLE_SELECTOR, useFocusTrap };
|
|
55
|
+
//# sourceMappingURL=useFocusTrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.js","sources":["../../../../../../src/components/feedback/Dialog/useFocusTrap.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,MAAM,kBAAkB,GAAG;IACzB,SAAS;IACT,wBAAwB;IACxB,uBAAuB;IACvB,0BAA0B;IAC1B,wBAAwB;IACxB,iCAAiC;AAClC,CAAA,CAAC,IAAI,CAAC,IAAI;AAOX;;;;;;;;;;;;;AAaG;AACG,SAAU,YAAY,CAAC,EAC3B,YAAY,EACZ,OAAO,GAAG,IAAI,GACM,EAAA;AACpB,IAAA,OAAO,WAAW,CAChB,CAAC,CAAgB,KAAI;AACnB,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK;YAAE;AAEjC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,SAAS,CAAC,gBAAgB,CAAc,kBAAkB,CAAC,CAC5D;AAED,QAAA,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,CAAC,CAAC,cAAc,EAAE;YAClB;;AAGF,QAAA,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAgB;QACxD,MAAM,WAAW,GAAG,iBAAiB,CACnC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACd;AAEhB,QAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;AACd,YAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,YAAY,EAAE;gBAC3C,CAAC,CAAC,cAAc,EAAE;gBAClB,WAAW,CAAC,KAAK,EAAE;;;aAEhB;AACL,YAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,WAAW,EAAE;gBAC1C,CAAC,CAAC,cAAc,EAAE;gBAClB,YAAY,CAAC,KAAK,EAAE;;;AAG1B,KAAC,EACD,CAAC,OAAO,EAAE,YAAY,CAAC,CACxB;AACH;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { ToastItem } from './ToastItem.js';
|
|
4
|
+
|
|
5
|
+
// --- Position style map ---
|
|
6
|
+
const POSITION_STYLES = {
|
|
7
|
+
'top-right': { top: 16, right: 16 },
|
|
8
|
+
'top-left': { top: 16, left: 16 },
|
|
9
|
+
'top-center': { top: 16, left: '50%', transform: 'translateX(-50%)' },
|
|
10
|
+
'bottom-right': { bottom: 16, right: 16 },
|
|
11
|
+
'bottom-left': { bottom: 16, left: 16 },
|
|
12
|
+
'bottom-center': { bottom: 16, left: '50%', transform: 'translateX(-50%)' },
|
|
13
|
+
};
|
|
14
|
+
const StyledContainer = styled.div `
|
|
15
|
+
position: fixed;
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: ${props => (props.$isBottom ? 'column-reverse' : 'column')};
|
|
18
|
+
gap: ${props => props.$gap}px;
|
|
19
|
+
z-index: ${props => props.$zIndex};
|
|
20
|
+
pointer-events: none;
|
|
21
|
+
`;
|
|
22
|
+
/**
|
|
23
|
+
* ToastContainer positions toast items at the specified screen edge.
|
|
24
|
+
* Bottom positions use column-reverse so the newest toast appears at the bottom.
|
|
25
|
+
*/
|
|
26
|
+
const ToastContainer = ({ toasts, position, gap, zIndex, onDismiss, }) => {
|
|
27
|
+
const isBottom = position.startsWith('bottom');
|
|
28
|
+
const positionStyle = POSITION_STYLES[position];
|
|
29
|
+
return (jsx(StyledContainer, { "$gap": gap, "$zIndex": zIndex, "$isBottom": isBottom, style: positionStyle, "aria-label": "Notifications", role: "region", children: toasts.map(toast => (jsx(ToastItem, { toast: toast, onDismiss: onDismiss }, toast.id))) }));
|
|
30
|
+
};
|
|
31
|
+
ToastContainer.displayName = 'ToastContainer';
|
|
32
|
+
|
|
33
|
+
export { ToastContainer };
|
|
34
|
+
//# sourceMappingURL=ToastContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastContainer.js","sources":["../../../../../../src/components/feedback/Toast/ToastContainer.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAKA;AAEA,MAAM,eAAe,GAA+C;IAClE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACnC,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;AACjC,IAAA,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE;IACrE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACzC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;AACvC,IAAA,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE;CAC5E;AAUD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAsB;;;AAGpC,kBAAA,EAAA,KAAK,KAAK,KAAK,CAAC,SAAS,GAAG,gBAAgB,GAAG,QAAQ,CAAC,CAAA;AACnE,OAAA,EAAA,KAAK,IAAI,KAAK,CAAC,IAAI,CAAA;AACf,WAAA,EAAA,KAAK,IAAI,KAAK,CAAC,OAAO,CAAA;;CAElC;AAYD;;;AAGG;AACU,MAAA,cAAc,GAAkC,CAAC,EAC5D,MAAM,EACN,QAAQ,EACR,GAAG,EACH,MAAM,EACN,SAAS,GACV,KAAI;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC9C,IAAA,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC;IAE/C,QACEA,IAAC,eAAe,EAAA,EAAA,MAAA,EACR,GAAG,EACA,SAAA,EAAA,MAAM,EACJ,WAAA,EAAA,QAAQ,EACnB,KAAK,EAAE,aAAa,EAAA,YAAA,EACT,eAAe,EAC1B,IAAI,EAAC,QAAQ,EAAA,QAAA,EAEZ,MAAM,CAAC,GAAG,CAAC,KAAK,KACfA,GAAA,CAAC,SAAS,EAAgB,EAAA,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAA,EAA5C,KAAK,CAAC,EAAE,CAAwC,CACjE,CAAC,EACc,CAAA;AAEtB;AAEA,cAAc,CAAC,WAAW,GAAG,gBAAgB;;;;"}
|