Skip to content

Commit e352bda

Browse files
authored
feat(Meter): support informative variant in Meter (#6282)
1 parent 3f6ed62 commit e352bda

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

packages/@react-spectrum/meter/chromatic/Meter.chromatic.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const meta: Meta<SpectrumMeterProps> = {
2222
export default meta;
2323

2424
export const Default = {
25-
args: {label: 'Meter label', value: 50, variant: 'positive'}
25+
args: {label: 'Meter label', value: 50}
2626
};
2727

2828
export const SizeS = {
@@ -37,6 +37,10 @@ export const LabelPositionSide = {
3737
args: {...Default.args, labelPosition: 'side'}
3838
};
3939

40+
export const Positive = {
41+
args: {...Default.args, variant: 'positive'}
42+
};
43+
4044
export const Critical = {
4145
args: {...Default.args, variant: 'critical'}
4246
};

packages/@react-spectrum/meter/docs/Meter.mdx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ category: Status
3636
## Example
3737

3838
```tsx example
39-
<Meter label="Storage space" variant="positive" value={35} />
39+
<Meter label="Storage space" value={35} />
4040
```
4141

4242
## Value
@@ -47,8 +47,7 @@ By default, the `value` prop represents the current percentage of progress, as t
4747
```tsx example
4848
<Meter
4949
label="Storage space"
50-
value={25}
51-
variant="positive" />
50+
value={25} />
5251
```
5352

5453
Alternatively, a different scale can be used by setting the `minValue` and `maxValue` props.
@@ -58,8 +57,7 @@ Alternatively, a different scale can be used by setting the `minValue` and `maxV
5857
label="Widgets Used"
5958
minValue={50}
6059
maxValue={150}
61-
value={100}
62-
variant="positive" />
60+
value={100} />
6361
```
6462

6563
Values are formatted as a percentage by default, but this can be modified by using the `formatOptions` prop to specify a different format.
@@ -69,8 +67,7 @@ Values are formatted as a percentage by default, but this can be modified by usi
6967
<Meter
7068
label="Currency"
7169
formatOptions={{style: 'currency', currency: 'JPY'}}
72-
value={60}
73-
variant="positive" />
70+
value={60} />
7471
```
7572

7673
## Labeling
@@ -145,10 +142,11 @@ Meter automatically uses the current locale to format the value label.
145142
```
146143

147144
### Variants
148-
[View guidelines](https://spectrum.adobe.com/page/meter/#Semantic-colors)
145+
[View guidelines](https://spectrum.adobe.com/page/meter/#Options)
149146

150147
```tsx example
151148
<Flex direction="column" gap="size-300">
149+
<Meter label="Space used" value={25} variant="informative" />
152150
<Meter label="Space used" value={25} variant="positive" />
153151
<Meter label="Space used" value={90} variant="critical" />
154152
<Meter label="Space used" value={70} variant="warning" />

packages/@react-spectrum/meter/src/Meter.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import styles from '@adobe/spectrum-css-temp/components/barloader/vars.css';
1919
import {useMeter} from '@react-aria/meter';
2020

2121
function Meter(props: SpectrumMeterProps, ref: DOMRef<HTMLDivElement>) {
22-
let {variant, ...otherProps} = props;
22+
let {variant = 'informative', ...otherProps} = props;
2323
const {
2424
meterProps,
2525
labelProps

packages/@react-spectrum/meter/stories/Meter.stories.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default {
2525
title: 'Meter',
2626
component: Meter,
2727
args: {
28-
variant: 'positive'
28+
variant: 'informative'
2929
},
3030
argTypes: {
3131
value: {
@@ -38,7 +38,7 @@ export default {
3838
variant: {
3939
control: {
4040
type: 'radio',
41-
options: ['positive', 'warning', 'critical']
41+
options: ['informative', 'positive', 'warning', 'critical']
4242
}
4343
},
4444
size: {

packages/@react-types/meter/src/index.d.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ import {AriaProgressBarBaseProps, ProgressBarBaseProps, SpectrumProgressBarBaseP
1515
export type MeterProps = ProgressBarBaseProps;
1616
export interface AriaMeterProps extends AriaProgressBarBaseProps {}
1717
export interface SpectrumMeterProps extends SpectrumProgressBarBaseProps {
18-
/** The [visual style](https://spectrum.adobe.com/page/meter/#-Options) of the Meter. */
19-
variant: 'positive' | 'warning' | 'critical'
18+
/**
19+
* The [visual style](https://spectrum.adobe.com/page/meter/#Options) of the Meter.
20+
* @default 'informative'
21+
*/
22+
variant?: 'informative' | 'positive' | 'warning' | 'critical'
2023
}

0 commit comments

Comments
 (0)