@discourser/design-system 0.3.1 → 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/guidelines/Guidelines.md +120 -13
- package/guidelines/components/accordion.md +639 -0
- package/guidelines/components/avatar.md +945 -0
- package/guidelines/components/badge.md +667 -0
- package/guidelines/components/checkbox.md +583 -0
- package/guidelines/components/drawer.md +961 -0
- package/guidelines/components/heading.md +505 -0
- package/guidelines/components/popover.md +1200 -0
- package/guidelines/components/progress.md +773 -0
- package/guidelines/components/radio-group.md +757 -0
- package/guidelines/components/select.md +1155 -0
- package/guidelines/components/skeleton.md +726 -0
- package/guidelines/components/tabs.md +834 -0
- package/guidelines/components/textarea.md +425 -0
- package/guidelines/components/toast.md +707 -0
- package/guidelines/components/tooltip.md +832 -0
- package/guidelines/overview-components.md +56 -8
- package/package.json +1 -1
|
@@ -4,14 +4,56 @@ Always prefer components from `@discourser/design-system` if available. Do not u
|
|
|
4
4
|
|
|
5
5
|
## Available Components
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
7
|
+
### Interactive Elements
|
|
8
|
+
|
|
9
|
+
| Component | Purpose | Guidelines |
|
|
10
|
+
| ---------- | -------------------------------------------------- | ------------------------------------------- |
|
|
11
|
+
| Button | Primary interactive element for actions | [button.md](components/button.md) |
|
|
12
|
+
| IconButton | Icon-only interactive element | [icon-button.md](components/icon-button.md) |
|
|
13
|
+
| Switch | Toggle control for binary on/off states | [switch.md](components/switch.md) |
|
|
14
|
+
| Checkbox | Binary selection control for toggling options | [checkbox.md](components/checkbox.md) |
|
|
15
|
+
| RadioGroup | Mutually exclusive selection from multiple options | [radio-group.md](components/radio-group.md) |
|
|
16
|
+
|
|
17
|
+
### Form Elements
|
|
18
|
+
|
|
19
|
+
| Component | Purpose | Guidelines |
|
|
20
|
+
| --------- | ------------------------------------------------ | ------------------------------------- |
|
|
21
|
+
| Input | Single-line text input with label and validation | [input.md](components/input.md) |
|
|
22
|
+
| Textarea | Multi-line text input for longer content | [textarea.md](components/textarea.md) |
|
|
23
|
+
| Select | Dropdown selection from list of options | [select.md](components/select.md) |
|
|
24
|
+
|
|
25
|
+
### Layout & Container Elements
|
|
26
|
+
|
|
27
|
+
| Component | Purpose | Guidelines |
|
|
28
|
+
| --------- | -------------------------------------------------- | --------------------------------------- |
|
|
29
|
+
| Card | Container for related content with elevation | [card.md](components/card.md) |
|
|
30
|
+
| Accordion | Collapsible sections for organizing content | [accordion.md](components/accordion.md) |
|
|
31
|
+
| Tabs | Tabbed navigation for switching between views | [tabs.md](components/tabs.md) |
|
|
32
|
+
| Drawer | Side panel for navigation or supplementary content | [drawer.md](components/drawer.md) |
|
|
33
|
+
|
|
34
|
+
### Overlay Elements
|
|
35
|
+
|
|
36
|
+
| Component | Purpose | Guidelines |
|
|
37
|
+
| --------- | ------------------------------------------------ | ----------------------------------- |
|
|
38
|
+
| Dialog | Modal overlay for focused tasks or confirmations | [dialog.md](components/dialog.md) |
|
|
39
|
+
| Popover | Floating panel for contextual content | [popover.md](components/popover.md) |
|
|
40
|
+
| Tooltip | Brief contextual help text on hover | [tooltip.md](components/tooltip.md) |
|
|
41
|
+
|
|
42
|
+
### Feedback & Status Elements
|
|
43
|
+
|
|
44
|
+
| Component | Purpose | Guidelines |
|
|
45
|
+
| --------- | --------------------------------------------- | ------------------------------------- |
|
|
46
|
+
| Badge | Compact visual indicator for status or labels | [badge.md](components/badge.md) |
|
|
47
|
+
| Avatar | User profile image with fallback initials | [avatar.md](components/avatar.md) |
|
|
48
|
+
| Toast | Temporary notification messages | [toast.md](components/toast.md) |
|
|
49
|
+
| Progress | Visual indicator for task completion | [progress.md](components/progress.md) |
|
|
50
|
+
| Skeleton | Loading placeholder for content | [skeleton.md](components/skeleton.md) |
|
|
51
|
+
|
|
52
|
+
### Typography Elements
|
|
53
|
+
|
|
54
|
+
| Component | Purpose | Guidelines |
|
|
55
|
+
| --------- | -------------------------------------- | ----------------------------------- |
|
|
56
|
+
| Heading | Semantic heading for content hierarchy | [heading.md](components/heading.md) |
|
|
15
57
|
|
|
16
58
|
## Common Props
|
|
17
59
|
|
|
@@ -66,22 +108,27 @@ const style = css({ bg: '#4C662B' }); // Use semantic tokens instead
|
|
|
66
108
|
## Component Categories
|
|
67
109
|
|
|
68
110
|
### Interactive Elements
|
|
111
|
+
|
|
69
112
|
- **Button** - For user actions (submit, cancel, etc.)
|
|
70
113
|
- **IconButton** - For icon-only actions (close, menu, etc.)
|
|
71
114
|
- **Switch** - For toggle states (enable/disable features)
|
|
72
115
|
|
|
73
116
|
### Input Elements
|
|
117
|
+
|
|
74
118
|
- **Input** - For text input fields with built-in label and validation
|
|
75
119
|
|
|
76
120
|
### Layout Elements
|
|
121
|
+
|
|
77
122
|
- **Card** - For grouping related content with visual hierarchy
|
|
78
123
|
|
|
79
124
|
### Overlay Elements
|
|
125
|
+
|
|
80
126
|
- **Dialog** - For modal dialogs and confirmations
|
|
81
127
|
|
|
82
128
|
## Controlled vs Uncontrolled
|
|
83
129
|
|
|
84
130
|
### Controlled Components
|
|
131
|
+
|
|
85
132
|
Component receives `value` and `onChange` props from parent:
|
|
86
133
|
|
|
87
134
|
```typescript
|
|
@@ -94,6 +141,7 @@ const [email, setEmail] = useState('');
|
|
|
94
141
|
```
|
|
95
142
|
|
|
96
143
|
### Uncontrolled Components
|
|
144
|
+
|
|
97
145
|
Component manages own state, use `defaultValue`:
|
|
98
146
|
|
|
99
147
|
```typescript
|