Skip to content

Commit 69730a8

Browse files
author
Rumen Petrov
committed
Document component contribution process
1 parent e136a93 commit 69730a8

File tree

4 files changed

+71
-7
lines changed

4 files changed

+71
-7
lines changed

.storybook/preview.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const preview: Preview = {
1212
// https://storybook.js.org/docs/writing-stories/naming-components-and-hierarchy#sorting-stories
1313
storySort: {
1414
method: 'alphabetical',
15-
order: ['Welcome', 'Foundations', ['Design principles', 'Design tokens'], 'Web', ['Get started', 'CSS variables', '*'], '*', 'Guides'],
15+
order: ['Welcome', 'Foundations', ['Design principles', 'Design tokens'], 'Web', ['Get started', 'CSS variables', '*'], '*', 'Guides', 'Contribution'],
1616
},
1717
},
1818
},

README.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@ Web is the main supported platform but the system allows easier extension with m
2424
* [x] Add some guides
2525
* [ ] Setup npm package and document how it should be used
2626
* [x] Auto deployment script
27-
* [ ] Add component proposal template
28-
* [ ] Develop at least one component form the MVP list
27+
* [x] Add docs for at least one process - component contribution
28+
* [ ] Develop at least one component from the MVP list by following a process
2929

3030
* Phase Next
31-
* [ ] Make it more engaging - colors, gradients, animations
32-
* [ ] Make it Adaptive/Responsive
33-
* [ ] Improve Accessibility
31+
* [ ] Define and describe versioning
32+
* [ ] More Design principles - Adaptive/Responsive/Accessibility
3433
* [ ] Setup Chromatic with CI
34+
* [ ] Add metrics - e.g. accessibility threshold
3535
* [ ] Setup tests
36+
* [ ] Make it more engaging - colors, gradients, animations
3637
* [ ] Light/dark theme
3738
* [ ] SSR components support
3839

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import { Meta } from "@storybook/blocks";
2+
3+
<Meta title="Contribution/Component" />
4+
5+
# Component contribution process
6+
The contents of the Design System must be of a high quality and meet user needs. To guarantee this, all components need to meet certain criteria.
7+
8+
### 1. Contribution criteria
9+
To be successful, proposals need to show that the component being suggested would be useful and unique.
10+
11+
<table style={{ width: '100%' }}>
12+
<thead>
13+
<tr>
14+
<th>Criteria</th>
15+
<th>Description</th>
16+
</tr>
17+
</thead>
18+
<tbody>
19+
<tr>
20+
<td><strong>Useful</strong></td>
21+
<td>
22+
<p>There is evidence that this component would be useful for many users.</p>
23+
<p>Evidence could be screenshots or links to versions of it being used in different services.</p>
24+
</td>
25+
</tr>
26+
<tr>
27+
<td><strong>Unique</strong></td>
28+
<td>
29+
<p>It does not replicate something already in the Design System.</p>
30+
<p>If it’s intended to replace an existing component, there is evidence to show that it’s better than the existing version.</p>
31+
</td>
32+
</tr>
33+
</tbody>
34+
</table>
35+
36+
#### Contribution criteria checklist
37+
Start by opening an issue which should include information about the following points.
38+
39+
* [ ] Component description
40+
* [ ] Potential use case examples
41+
* [ ] Visual appearance
42+
* Set of requirements in text form
43+
* (optional) Design
44+
* [ ] List of supported states - e.g. hover, focus, error, disabled, read-only...
45+
* [ ] Expected interface/properties/variants/types/forms
46+
* [ ] (optional) Responsiveness and adaptability - e.g. Expected breakpoints, resize behavior...
47+
* [ ] (optional) Other useful resources
48+
49+
### 2. Criteria confirmation
50+
Admins review proposals to check they meet these criteria. Confirmed proposals are eligible for starting the development process.
51+
52+
### 3. Development
53+
New branch is created from "main" and pull request is opened when the code is ready for review.
54+
55+
#### Development checklist
56+
* [ ] The component itself and any other related logic
57+
* [ ] Provide stories which describe the component in details - e.g. states, interface, variants, examples...
58+
* [ ] Documentation page updates, if applicable
59+
60+
### 4. Component confirmation
61+
Admin review the code and request more changes or approve the component.
62+
Approved components goes to the "Labs" section for some time until admins make sure everything is working as expected.
63+
Admins decide when to move them to the "Components" section.

src/docs/web-get-started.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ import { Meta } from "@storybook/blocks";
44

55
# Get started
66

7-
TODO
7+
TBA

0 commit comments

Comments
 (0)