@ceed/ads 1.23.3 → 1.23.5
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/dist/components/data-display/Badge.md +71 -39
- package/dist/components/data-display/InfoSign.md +74 -98
- package/dist/components/data-display/Typography.md +310 -61
- package/dist/components/feedback/CircularProgress.md +257 -0
- package/dist/components/feedback/Skeleton.md +280 -0
- package/dist/components/feedback/llms.txt +2 -0
- package/dist/components/inputs/ButtonGroup.md +115 -106
- package/dist/components/inputs/Calendar.md +98 -459
- package/dist/components/inputs/CurrencyInput.md +181 -8
- package/dist/components/inputs/DatePicker.md +108 -436
- package/dist/components/inputs/DateRangePicker.md +130 -496
- package/dist/components/inputs/FilterMenu.md +169 -19
- package/dist/components/inputs/FilterableCheckboxGroup.md +119 -24
- package/dist/components/inputs/FormControl.md +361 -0
- package/dist/components/inputs/IconButton.md +137 -88
- package/dist/components/inputs/MonthPicker.md +95 -427
- package/dist/components/inputs/MonthRangePicker.md +89 -471
- package/dist/components/inputs/PercentageInput.md +183 -19
- package/dist/components/inputs/RadioButton.md +163 -35
- package/dist/components/inputs/RadioList.md +241 -0
- package/dist/components/inputs/RadioTileGroup.md +146 -62
- package/dist/components/inputs/Select.md +219 -328
- package/dist/components/inputs/Slider.md +334 -0
- package/dist/components/inputs/Switch.md +136 -376
- package/dist/components/inputs/Textarea.md +209 -11
- package/dist/components/inputs/Uploader/Uploader.md +145 -66
- package/dist/components/inputs/llms.txt +3 -0
- package/dist/components/navigation/Breadcrumbs.md +80 -322
- package/dist/components/navigation/Dropdown.md +92 -221
- package/dist/components/navigation/IconMenuButton.md +40 -502
- package/dist/components/navigation/InsetDrawer.md +68 -738
- package/dist/components/navigation/Link.md +39 -298
- package/dist/components/navigation/Menu.md +92 -285
- package/dist/components/navigation/MenuButton.md +55 -448
- package/dist/components/navigation/Pagination.md +47 -338
- package/dist/components/navigation/ProfileMenu.md +45 -268
- package/dist/components/navigation/Stepper.md +160 -28
- package/dist/components/navigation/Tabs.md +57 -316
- package/dist/components/surfaces/Sheet.md +150 -333
- package/dist/guides/ThemeProvider.md +116 -0
- package/dist/guides/llms.txt +9 -0
- package/dist/llms.txt +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# ThemeProvider
|
|
2
|
+
|
|
3
|
+
## Introduction
|
|
4
|
+
|
|
5
|
+
`ThemeProvider` is the root provider that supplies design tokens across ADS components.
|
|
6
|
+
Internally, it applies Joy UI `CssVarsProvider` and `CssBaseline`, so the default usage is to wrap your app once at the root.
|
|
7
|
+
Because this is an internal design system with pre-defined brand identity, changing tokens via `CustomTheme` is considered an anti-pattern.
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<ThemeProvider>
|
|
11
|
+
<DemoContent />
|
|
12
|
+
</ThemeProvider>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| Field | Description | Default |
|
|
16
|
+
| ---------------------------- | ----------- | ------- |
|
|
17
|
+
| Controls resolved at runtime | — | — |
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import { ThemeProvider } from '@ceed/ads';
|
|
23
|
+
|
|
24
|
+
function App() {
|
|
25
|
+
return (
|
|
26
|
+
<ThemeProvider>
|
|
27
|
+
<YourRoutes />
|
|
28
|
+
</ThemeProvider>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Why It Matters
|
|
34
|
+
|
|
35
|
+
Some components may still render without the provider, but token consistency and baseline styles are not guaranteed.
|
|
36
|
+
Use `ThemeProvider` at the root to ensure a consistent UI across the application.
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
<Stack direction={{
|
|
40
|
+
xs: 'column',
|
|
41
|
+
md: 'row'
|
|
42
|
+
}} spacing={2}>
|
|
43
|
+
<Sheet variant="soft" color="success" sx={{
|
|
44
|
+
p: 1.5,
|
|
45
|
+
borderRadius: 'sm'
|
|
46
|
+
}}>
|
|
47
|
+
<Typography level="title-sm">Without ThemeProvider</Typography>
|
|
48
|
+
</Sheet>
|
|
49
|
+
<Sheet variant="soft" color="primary" sx={{
|
|
50
|
+
p: 1.5,
|
|
51
|
+
borderRadius: 'sm'
|
|
52
|
+
}}>
|
|
53
|
+
<Typography level="title-sm">With ThemeProvider</Typography>
|
|
54
|
+
</Sheet>
|
|
55
|
+
|
|
56
|
+
<Sheet variant="outlined" sx={{
|
|
57
|
+
p: 2,
|
|
58
|
+
flex: 1
|
|
59
|
+
}}>
|
|
60
|
+
<Typography level="title-sm">Without ThemeProvider</Typography>
|
|
61
|
+
<Input label="Project Name" placeholder="Type here" sx={{
|
|
62
|
+
mt: 1.5
|
|
63
|
+
}} />
|
|
64
|
+
</Sheet>
|
|
65
|
+
|
|
66
|
+
<ThemeProvider>
|
|
67
|
+
<Sheet variant="outlined" sx={{
|
|
68
|
+
p: 2,
|
|
69
|
+
flex: 1
|
|
70
|
+
}}>
|
|
71
|
+
<Typography level="title-sm">With ThemeProvider</Typography>
|
|
72
|
+
<Input label="Project Name" placeholder="Type here" sx={{
|
|
73
|
+
mt: 1.5
|
|
74
|
+
}} />
|
|
75
|
+
</Sheet>
|
|
76
|
+
</ThemeProvider>
|
|
77
|
+
</Stack>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Common Use Cases
|
|
81
|
+
|
|
82
|
+
### App Root
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { ThemeProvider } from '@ceed/ads';
|
|
86
|
+
|
|
87
|
+
createRoot(document.getElementById('root')!).render(
|
|
88
|
+
<ThemeProvider>
|
|
89
|
+
<App />
|
|
90
|
+
</ThemeProvider>,
|
|
91
|
+
);
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Storybook/Test Wrapper
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
import { ThemeProvider } from '@ceed/ads';
|
|
98
|
+
|
|
99
|
+
const renderWithTheme = (ui: React.ReactElement) => {
|
|
100
|
+
return render(<ThemeProvider>{ui}</ThemeProvider>);
|
|
101
|
+
};
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Best Practices
|
|
105
|
+
|
|
106
|
+
1. **Use a single provider at the app root**: nested providers increase maintenance complexity.
|
|
107
|
+
2. **Do not create custom themes**: ADS is a standardized internal system with built-in brand identity, and `CustomTheme` usage is an anti-pattern.
|
|
108
|
+
3. **Do not remove the provider**: components may drift from intended tokens and baseline styles.
|
|
109
|
+
4. **Do not mix packages**: use only `@ceed/ads` ThemeProvider in ADS applications.
|
|
110
|
+
|
|
111
|
+
## Accessibility
|
|
112
|
+
|
|
113
|
+
1. **Check color contrast**: make sure text remains readable across component combinations.
|
|
114
|
+
2. **Do not rely on color alone for state**: pair color with text and/or icons.
|
|
115
|
+
3. **Keep focus visibility intact**: ensure keyboard focus rings stay clearly visible.
|
|
116
|
+
4. **Maintain typography consistency**: root-level provider usage ensures predictable reading experience.
|
package/dist/llms.txt
CHANGED
|
@@ -16,8 +16,10 @@
|
|
|
16
16
|
- [Typography](./components/data-display/Typography.md)
|
|
17
17
|
- [feedback](./components/feedback/llms.txt)
|
|
18
18
|
- [Alert](./components/feedback/Alert.md)
|
|
19
|
+
- [CircularProgress](./components/feedback/CircularProgress.md)
|
|
19
20
|
- [DialogFrame](./components/feedback/Dialog.md)
|
|
20
21
|
- [Modal](./components/feedback/Modal.md)
|
|
22
|
+
- [Skeleton](./components/feedback/Skeleton.md)
|
|
21
23
|
- [inputs](./components/inputs/llms.txt)
|
|
22
24
|
- [Autocomplete](./components/inputs/Autocomplete.md)
|
|
23
25
|
- [Button](./components/inputs/Button.md)
|
|
@@ -29,14 +31,17 @@
|
|
|
29
31
|
- [DateRangePicker](./components/inputs/DateRangePicker.md)
|
|
30
32
|
- [FilterableCheckboxGroup](./components/inputs/FilterableCheckboxGroup.md)
|
|
31
33
|
- [FilterMenu](./components/inputs/FilterMenu.md)
|
|
34
|
+
- [FormControl](./components/inputs/FormControl.md)
|
|
32
35
|
- [IconButton](./components/inputs/IconButton.md)
|
|
33
36
|
- [Input](./components/inputs/Input.md)
|
|
34
37
|
- [MonthPicker](./components/inputs/MonthPicker.md)
|
|
35
38
|
- [MonthRangePicker](./components/inputs/MonthRangePicker.md)
|
|
36
39
|
- [PercentageInput](./components/inputs/PercentageInput.md)
|
|
37
40
|
- [Radio](./components/inputs/RadioButton.md)
|
|
41
|
+
- [RadioList](./components/inputs/RadioList.md)
|
|
38
42
|
- [RadioTileGroup](./components/inputs/RadioTileGroup.md)
|
|
39
43
|
- [Select](./components/inputs/Select.md)
|
|
44
|
+
- [Slider](./components/inputs/Slider.md)
|
|
40
45
|
- [Switch](./components/inputs/Switch.md)
|
|
41
46
|
- [Textarea](./components/inputs/Textarea.md)
|
|
42
47
|
- [Uploader](./components/inputs/Uploader/llms.txt)
|
|
@@ -66,6 +71,8 @@
|
|
|
66
71
|
- [Card](./components/surfaces/Card.md)
|
|
67
72
|
- [Divider](./components/surfaces/Divider.md)
|
|
68
73
|
- [Sheet](./components/surfaces/Sheet.md)
|
|
74
|
+
- [guides](./guides/llms.txt)
|
|
75
|
+
- [ThemeProvider](./guides/ThemeProvider.md)
|
|
69
76
|
|
|
70
77
|
## Documentation
|
|
71
78
|
|
|
@@ -74,3 +81,4 @@
|
|
|
74
81
|
## Children
|
|
75
82
|
|
|
76
83
|
- [components](./components/llms.txt)
|
|
84
|
+
- [guides](./guides/llms.txt)
|