entangle-ui 0.1.0-alpha.0 → 0.2.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 +73 -0
- package/LICENSE +20 -20
- package/README.md +171 -117
- package/dist/index.d.ts +8 -1
- package/dist/index.esm.js +13814 -394
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +13888 -390
- package/dist/index.js.map +1 -1
- package/package.json +106 -89
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# entangle-ui
|
|
2
|
+
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#19](https://github.com/SebastianWebdev/entangle-ui/pull/19) [`497d0f5`](https://github.com/SebastianWebdev/entangle-ui/commit/497d0f540f8abdf853cdf88aff8e944fee59d378) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - ### App Shell and Navigation
|
|
8
|
+
|
|
9
|
+
- Added `topChromeSeparator` and `sideChromeSeparator` props in `AppShell` to control border/shadow separation between top and side chrome areas.
|
|
10
|
+
- Refined `Tabs` visual behavior for compact editor layouts and added `pillsFrame` prop to optionally disable the pills container frame.
|
|
11
|
+
- Updated closable tabs to use the library `CloseIcon` by default.
|
|
12
|
+
|
|
13
|
+
### Menu and Inspector Improvements
|
|
14
|
+
|
|
15
|
+
- Added configurable menu dropdown gap via `menuOffset` in `MenuBar`.
|
|
16
|
+
- Extended `PropertyPanel` with configurable `contentTopSpacing` and new `contentBottomSpacing` for better control of inspector spacing.
|
|
17
|
+
- Adjusted property row padding and full-width control layout to better support dense controls (including sliders and curve editor rows).
|
|
18
|
+
|
|
19
|
+
### Typography
|
|
20
|
+
|
|
21
|
+
- Bumped default UI text from 10px (`fontSize.xs`) to 12px (`fontSize.md`) across interactive components: `Menu`, `MenuBar`, `Select`, `Button`, `Input`, `NumberInput`, `TreeView`, `StatusBar`, `FloatingPanel`, and `PropertyInspector` (rows, sections, search, panel).
|
|
22
|
+
- Kept 10px for true secondary text: helper text, tooltips, group labels, toast messages, axis labels.
|
|
23
|
+
- `TreeView`: fixed `line-height: 1` cutting off descenders (p/q/g/y), now uses theme `lineHeight.normal`.
|
|
24
|
+
- `TreeView`: simplified selected item indicator to background-only (removed left border and box-shadow on selected).
|
|
25
|
+
- `FloatingPanel`: replaced hardcoded `12px` font-size with theme token.
|
|
26
|
+
- Added `ContextMenu` component with submenu support, icon slots, and keyboard navigation.
|
|
27
|
+
|
|
28
|
+
### Layout and Rendering Fixes
|
|
29
|
+
|
|
30
|
+
- Fixed `SplitPane` size reconciliation to avoid 1-2px layout drift caused by rounding.
|
|
31
|
+
- Improved overflow behavior in shell regions (`Toolbar`, `StatusBar`, tabs panels, and side slots) to prevent content from bleeding outside container bounds.
|
|
32
|
+
- Improved `CurveEditor` axis label layout and spacing when `labelX` / `labelY` are provided.
|
|
33
|
+
|
|
34
|
+
## 0.1.0
|
|
35
|
+
|
|
36
|
+
### Minor Changes
|
|
37
|
+
|
|
38
|
+
- [#17](https://github.com/SebastianWebdev/entangle-ui/pull/17) [`0854066`](https://github.com/SebastianWebdev/entangle-ui/commit/0854066dbf38c5d45bca24dc861c9eb03a1e98b3) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - ### New Components
|
|
39
|
+
|
|
40
|
+
- **Checkbox & CheckboxGroup** — Controlled/uncontrolled boolean input with indeterminate state, label positioning, sizes (sm/md/lg), variants (default/filled), and array value management via CheckboxGroup
|
|
41
|
+
- **Switch** — Toggle control with controlled/uncontrolled modes, label positioning, sizes, error state, and animated track/thumb
|
|
42
|
+
- **Select** — Dropdown single-value selection with search/filter, grouped options, keyboard navigation, clearable option, portal-based dropdown, sizes and variants (default/ghost/filled)
|
|
43
|
+
- **Tabs** — Compound component (Tabs, TabList, Tab, TabPanel) with variants (underline/pills/enclosed), vertical orientation, closable tabs, fullWidth mode, and keepMounted option
|
|
44
|
+
- **Accordion** — Compound component (Accordion, AccordionItem, AccordionTrigger, AccordionContent) with single/multiple expansion, collapsible option, variants, CSS grid animation
|
|
45
|
+
- **Popover** — Floating content container with focus trap, click outside/Escape handling, 12 placements, matchTriggerWidth, portal rendering, and scale+opacity animation
|
|
46
|
+
- **ScrollArea** — Custom scrollbar styling with keyboard scrolling support
|
|
47
|
+
- **SplitPane** — Draggable panel divider with configurable min/max sizes and collapse/expand
|
|
48
|
+
- **TreeView** — Hierarchical tree with keyboard navigation, selection management, and useTreeState hook
|
|
49
|
+
- **VectorInput** — Multi-value input (x/y/z/w) with linked/unlinked mode and per-component NumberInput editing
|
|
50
|
+
- **ColorPicker** — Full-featured color input with ColorArea, HueSlider, AlphaSlider, ColorInputs (Hex/RGB/HSL), ColorPalette, ColorPresets (700+ colors), ColorSwatch, and EyeDropper
|
|
51
|
+
- **Dialog** — Modal overlay with DialogHeader, DialogBody, DialogFooter, DialogClose, focus trap, and animations
|
|
52
|
+
- **Toast** — Notification system with ToastProvider, ToastContainer, ToastItem, useToast hook, auto-dismiss, progress bar, and severity variants
|
|
53
|
+
- **Collapsible** — Headless collapsible primitive for expandable content
|
|
54
|
+
|
|
55
|
+
### Refactoring & Improvements
|
|
56
|
+
|
|
57
|
+
- Translated all Polish comments and JSDoc to English across the entire codebase
|
|
58
|
+
- Added `forwardRef` and `displayName` to all primitive and layout components
|
|
59
|
+
- Added `React.memo` to stateless presentational components (Icon, Paper, Text, Spacer, FormLabel, FormHelperText, InputWrapper)
|
|
60
|
+
- Split monolithic Menu.tsx (693 lines) into modular files (types, hook, helpers, styled, component)
|
|
61
|
+
- Migrated Stack, Flex, Grid, Spacer to BaseComponent pattern with `css` prop support
|
|
62
|
+
- Hardened `mathExpression.ts` with blocked identifiers whitelist and 20 adversarial security tests
|
|
63
|
+
- Added comprehensive keyboard navigation tests for Button, Input, NumberInput, Slider, and Menu
|
|
64
|
+
|
|
65
|
+
### CI/CD
|
|
66
|
+
|
|
67
|
+
- Added GitHub Actions CI workflow (lint, build, type-check, test on PRs and main)
|
|
68
|
+
- Added GitHub Actions release workflow with Changesets and npm OIDC Trusted Publishing
|
|
69
|
+
- Configured Changesets for automated version management and changelog generation
|
|
70
|
+
|
|
71
|
+
## 0.1.0-alpha.0
|
|
72
|
+
|
|
73
|
+
Initial alpha release.
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Sebastian Gołębiowski
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Sebastian Gołębiowski
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,117 +1,171 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
import {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
1
|
+
# Entangle UI
|
|
2
|
+
|
|
3
|
+
React + TypeScript component library for building editor-style interfaces.
|
|
4
|
+
|
|
5
|
+
`entangle-ui` is focused on dense, keyboard-friendly UI patterns used in tools like 3D editors, node editors, scene inspectors, and technical dashboards.
|
|
6
|
+
|
|
7
|
+
## Status
|
|
8
|
+
|
|
9
|
+
This package is in alpha (`0.1.0-alpha.x`) and still evolving.
|
|
10
|
+
|
|
11
|
+
- API can change between alpha releases.
|
|
12
|
+
- Use in production only if you are comfortable with rapid iteration.
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install entangle-ui@alpha
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Peer dependencies:
|
|
21
|
+
|
|
22
|
+
- `react >= 19.1.0`
|
|
23
|
+
- `react-dom >= 19.1.0`
|
|
24
|
+
- `@emotion/react ^11`
|
|
25
|
+
- `@emotion/styled ^11`
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import React from 'react';
|
|
31
|
+
import {
|
|
32
|
+
ThemeProvider,
|
|
33
|
+
AppShell,
|
|
34
|
+
MenuBar,
|
|
35
|
+
Toolbar,
|
|
36
|
+
StatusBar,
|
|
37
|
+
} from 'entangle-ui';
|
|
38
|
+
|
|
39
|
+
export function App() {
|
|
40
|
+
return (
|
|
41
|
+
<ThemeProvider>
|
|
42
|
+
<div style={{ width: '100vw', height: '100vh' }}>
|
|
43
|
+
<AppShell>
|
|
44
|
+
<AppShell.MenuBar>
|
|
45
|
+
<MenuBar>
|
|
46
|
+
<MenuBar.Menu label="File">
|
|
47
|
+
<MenuBar.Item onClick={() => {}}>New</MenuBar.Item>
|
|
48
|
+
</MenuBar.Menu>
|
|
49
|
+
</MenuBar>
|
|
50
|
+
</AppShell.MenuBar>
|
|
51
|
+
|
|
52
|
+
<AppShell.Toolbar>
|
|
53
|
+
<Toolbar aria-label="Main toolbar">
|
|
54
|
+
<Toolbar.Button onClick={() => {}}>Run</Toolbar.Button>
|
|
55
|
+
</Toolbar>
|
|
56
|
+
</AppShell.Toolbar>
|
|
57
|
+
|
|
58
|
+
<AppShell.Dock>
|
|
59
|
+
<div style={{ padding: 16 }}>Editor content</div>
|
|
60
|
+
</AppShell.Dock>
|
|
61
|
+
|
|
62
|
+
<AppShell.StatusBar>
|
|
63
|
+
<StatusBar>
|
|
64
|
+
<StatusBar.Section>
|
|
65
|
+
<StatusBar.Item>Ready</StatusBar.Item>
|
|
66
|
+
</StatusBar.Section>
|
|
67
|
+
</StatusBar>
|
|
68
|
+
</AppShell.StatusBar>
|
|
69
|
+
</AppShell>
|
|
70
|
+
</div>
|
|
71
|
+
</ThemeProvider>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Theming
|
|
77
|
+
|
|
78
|
+
Entangle UI ships with design tokens and an Emotion-based `ThemeProvider`.
|
|
79
|
+
|
|
80
|
+
```tsx
|
|
81
|
+
import { ThemeProvider, createTheme } from 'entangle-ui';
|
|
82
|
+
|
|
83
|
+
const theme = createTheme({
|
|
84
|
+
colors: {
|
|
85
|
+
accent: {
|
|
86
|
+
primary: '#2aa1ff',
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
export function Root({ children }: { children: React.ReactNode }) {
|
|
92
|
+
return <ThemeProvider theme={theme}>{children}</ThemeProvider>;
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## What Is Included
|
|
97
|
+
|
|
98
|
+
### Primitives
|
|
99
|
+
|
|
100
|
+
- `Button`, `IconButton`
|
|
101
|
+
- `Input`, `Text`, `Paper`, `Icon`
|
|
102
|
+
- `Checkbox`, `CheckboxGroup`, `Switch`
|
|
103
|
+
- `Tooltip`, `Popover`, `Collapsible`
|
|
104
|
+
|
|
105
|
+
### Layout
|
|
106
|
+
|
|
107
|
+
- `Stack`, `Flex`, `Grid`, `Spacer`
|
|
108
|
+
- `Accordion`
|
|
109
|
+
- `ScrollArea`
|
|
110
|
+
- `SplitPane`, `SplitPanePanel`
|
|
111
|
+
|
|
112
|
+
### Controls
|
|
113
|
+
|
|
114
|
+
- `NumberInput`, `Slider`, `Select`, `VectorInput`
|
|
115
|
+
- `ColorPicker`, `ColorPalette`, `ColorSwatch`, `EyeDropper`
|
|
116
|
+
- `TreeView`
|
|
117
|
+
- `CurveEditor` + helpers (`evaluateCurve`, `sampleCurve`, `createLinearCurve`, `domainToCanvas`)
|
|
118
|
+
|
|
119
|
+
### Navigation
|
|
120
|
+
|
|
121
|
+
- `Menu`, `useMenu`
|
|
122
|
+
- `Tabs`, `TabList`, `Tab`, `TabPanel`
|
|
123
|
+
|
|
124
|
+
### Shell
|
|
125
|
+
|
|
126
|
+
- `AppShell`, `useAppShell`
|
|
127
|
+
- `MenuBar`
|
|
128
|
+
- `Toolbar`
|
|
129
|
+
- `StatusBar`
|
|
130
|
+
- `FloatingPanel`, `FloatingManager`
|
|
131
|
+
|
|
132
|
+
### Editor
|
|
133
|
+
|
|
134
|
+
- `PropertyPanel`, `PropertySection`, `PropertyRow`, `PropertyGroup`
|
|
135
|
+
- `usePropertyUndo`
|
|
136
|
+
|
|
137
|
+
### Feedback and Form
|
|
138
|
+
|
|
139
|
+
- `Dialog` primitives (`Dialog`, `DialogHeader`, `DialogBody`, `DialogFooter`, `DialogClose`)
|
|
140
|
+
- `ToastProvider`, `useToast`
|
|
141
|
+
- `FormLabel`, `FormHelperText`, `InputWrapper`
|
|
142
|
+
|
|
143
|
+
## Development
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
npm install
|
|
147
|
+
npm run dev # Storybook
|
|
148
|
+
npm run test # Vitest
|
|
149
|
+
npm run lint
|
|
150
|
+
npm run type-check
|
|
151
|
+
npm run build
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Release Workflow
|
|
155
|
+
|
|
156
|
+
This repository uses Changesets.
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
npm run changeset
|
|
160
|
+
npm run version-packages
|
|
161
|
+
npm run release
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Repository
|
|
165
|
+
|
|
166
|
+
- Source: `https://github.com/SebastianWebdev/entangle-ui`
|
|
167
|
+
- Issues: `https://github.com/SebastianWebdev/entangle-ui/issues`
|
|
168
|
+
|
|
169
|
+
## License
|
|
170
|
+
|
|
171
|
+
MIT
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
export { Theme, ThemeProvider, Tokens, createTheme, tokens } from '@/theme';
|
|
2
|
-
export {
|
|
2
|
+
export { Accordion, AccordionContent, AccordionContentProps, AccordionItem, AccordionItemProps, AccordionProps, AccordionSize, AccordionTrigger, AccordionTriggerProps, AccordionVariant, Flex, FlexAlign, FlexAlignContent, FlexDirection, FlexJustify, FlexProps, FlexSpacing, FlexWrap, Grid, GridProps, GridSize, GridSpacing, PanelConfig, PanelSize, PanelSurface, PanelSurfaceBodyProps, PanelSurfaceFooterProps, PanelSurfaceHeaderProps, PanelSurfaceProps, PanelSurfaceSize, ScrollArea, ScrollAreaDirection, ScrollAreaProps, ScrollbarVisibility, Spacer, SplitDirection, SplitPane, SplitPanePanel, SplitPanePanelProps, SplitPaneProps, Stack } from '@/components/layout';
|
|
3
|
+
export { Button, ButtonProps, ButtonSize, ButtonVariant, Checkbox, CheckboxGroup, CheckboxGroupProps, CheckboxProps, CheckboxSize, CheckboxVariant, Collapsible, CollapsibleProps, CollapsibleSize, CollisionAvoidance, Icon, IconButton, IconProps, IconSize, Input, InputProps, InputSize, Paper, PaperElevation, PaperNestLevel, PaperProps, PaperSpacing, Popover, PopoverClose, PopoverCloseProps, PopoverContent, PopoverContentProps, PopoverPlacement, PopoverProps, PopoverTrigger, PopoverTriggerProps, Switch, SwitchProps, SwitchSize, Text, TextAlign, TextColor, TextElement, TextLineHeight, TextProps, TextSize, TextVariant, TextWeight, Tooltip, TooltipCollisionConfig, TooltipCollisionStrategy, TooltipPlacement, TooltipProps } from '@/components/primitives';
|
|
4
|
+
export { CURVE_PRESETS, ColorFormat, ColorInputMode, ColorPalette, ColorPaletteProps, ColorPicker, ColorPickerProps, ColorPickerSize, ColorPreset, ColorSwatch, ColorSwatchProps, CurveBackgroundInfo, CurveBottomBarInfo, CurveData, CurveEditor, CurveEditorProps, CurveEditorSize, CurveKeyframe, CurvePreset, EARTH_PALETTE, EyeDropper, EyeDropperProps, MATERIAL_PALETTE, MONOCHROME_PALETTE, NEON_PALETTE, NumberInput, NumberInputProps, PASTEL_PALETTE, PROFESSIONAL_PALETTES, Palette, PaletteColor, PaletteShade, SKIN_TONES_PALETTE, Select, SelectOptionGroup, SelectOptionItem, SelectProps, SelectSize, SelectVariant, Slider, SliderProps, TAILWIND_PALETTE, TangentMode, TreeNodeData, TreeNodeState, TreeSelectionMode, TreeView, TreeViewProps, TreeViewSize, VINTAGE_PALETTE, VectorColorPreset, VectorDimension, VectorInput, VectorInputProps, VectorInputSize, VectorLabelPreset, createLinearCurve, domainToCanvas, evaluateCurve, sampleCurve } from '@/components/controls';
|
|
5
|
+
export { ContextMenu, ContextMenuBaseProps, ContextMenuConfig, ContextMenuProps, ContextMenuTargetDetails, ItemSelectionType, Menu, MenuBaseProps, MenuConfig, MenuGroup, MenuItem, MenuProps, MenuSelection, SubmenuTrigger, Tab, TabList, TabListProps, TabPanel, TabPanelProps, TabProps, Tabs, TabsProps, TabsSize, TabsVariant, UseContextMenuTargetResult, useContextMenuTarget, useMenu } from '@/components/navigation';
|
|
6
|
+
export { FormHelperText, FormHelperTextProps, FormLabel, FormLabelProps, InputWrapper, InputWrapperProps } from '@/components/form';
|
|
7
|
+
export { Dialog, DialogBody, DialogBodyProps, DialogClose, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogProps, DialogSize, ToastData, ToastPosition, ToastProvider, ToastProviderProps, ToastSeverity, UseToastReturn, useToast } from '@/components/feedback';
|
|
8
|
+
export { PropertyGroup, PropertyGroupProps, PropertyInspectorSize, PropertyPanel, PropertyPanelProps, PropertyRow, PropertyRowProps, PropertySection, PropertySectionProps, PropertyUndoEntry, UsePropertyUndoOptions, UsePropertyUndoReturn, usePropertyUndo } from '@/components/editor';
|
|
9
|
+
export { AppShell, AppShellContextValue, AppShellProps, AppShellSlotProps, AppShellToolbarSlotProps, FloatingManager, FloatingManagerProps, FloatingPanel, FloatingPanelProps, FloatingPanelSize, MenuBar, MenuBarItemProps, MenuBarMenuProps, MenuBarProps, MenuBarSeparatorProps, MenuBarSize, MenuBarSubProps, Position, StatusBar, StatusBarItemProps, StatusBarProps, StatusBarSectionProps, StatusBarSectionSide, StatusBarSize, StatusBarVariant, Toolbar, ToolbarButtonProps, ToolbarButtonVariant, ToolbarGroupProps, ToolbarOrientation, ToolbarPosition, ToolbarProps, ToolbarSeparatorProps, ToolbarSize, ToolbarSpacerProps, ToolbarToggleProps, useAppShell } from '@/components/shell';
|
|
3
10
|
export { BaseComponent, Size, Variant } from '@/types/common';
|
|
4
11
|
export { Brand, DeepPartial, DeepReadonly, KeyOf, LiteralUnion, NonEmptyArray, Prettify, RequireFields, StrictExclude, ValueOf } from '@/types/utilities';
|
|
5
12
|
export { cn } from '@/utils/cn';
|