Skip to content

Commit 9da1ea8

Browse files
committed
Progress component RFC
1 parent df02ee1 commit 9da1ea8

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

rfcs/active/0001-progress.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
* Start Date: 2025-02-24
2+
* RFC PR: (Leave empty till PR Created)
3+
4+
## Summary
5+
6+
This RFC proposes the addition of a Progress component to the Open UI Design System. Progress components are used to represent the completion status of a task or process.
7+
8+
# Basic Example
9+
10+
```html
11+
<!-- Determinate Example -->
12+
<label for="progress">Example Label:</label>
13+
<oui-progress id="progress" value="20" max="100"></oui-progress>
14+
15+
<!-- Indeterminate Example -->
16+
<label for="indeterminate-progress">Example Label:</label>
17+
<oui-progress id="indeterminate-progress"></oui-progress>
18+
```
19+
20+
# Motivation
21+
22+
Progress indicators are a common UI pattern used to communicate the status of a task or process to users. By providing a Progress component in the Open UI Design System, we can ensure a consistent and accessible implementation across applications.
23+
24+
# Detailed Proposal
25+
26+
The `oui-progress` component will provide a versatile, accessible, and themable implementation of progress indicators. The component will support both determinate and indeterminate modes.
27+
28+
## API
29+
30+
This component will be form associated so it can be labeled by a `<label>` element.
31+
32+
### CSS States
33+
34+
| State | Description |
35+
|-------|-------------|
36+
| `indeterminate` | The progress bar is in an indeterminate state. |
37+
38+
### CSS Parts
39+
40+
| Part | Description |
41+
|---------|--------------------------------------------|
42+
| `track` | The track for the progress bar. |
43+
| `fill` | The filled in portion of the progress bar. |
44+
45+
### Properties
46+
47+
| Property | Type | Default | Readonly | Description |
48+
|----------|------|---------|-------------|
49+
| `value` | Number | `0` | false | The current progress value. |
50+
| `max` | Number | `100` | false |The maximum progress value. |
51+
| `position` | Number | `-1` | true | The current position of the progress bar. |
52+
53+
### Attributes
54+
55+
| Property | Description |
56+
|----------|------|---------|-------------|
57+
| `value` | The current progress value. |
58+
| `max` | The maximum progress value. |
59+
60+
### Slots
61+
62+
| Slot | Description |
63+
|------|-------------------------------------------------------------------|
64+
| `default` | Fallback text to render if the component otherwise fails to load. |
65+
66+
### Events
67+
68+
None

0 commit comments

Comments
 (0)