Skip to content

Commit 9108cc1

Browse files
committed
share more between components and simplify, review comments
1 parent 1d8871e commit 9108cc1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+7724
-688
lines changed

packages/react-aria-components/stories/Autocomplete.stories.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
*/
1212

1313
import {action} from '@storybook/addon-actions';
14-
import {Autocomplete, Button, Collection, DialogTrigger, Header, Input, Keyboard, Label, ListBox, ListBoxSection, ListLayout, Menu, MenuItem, MenuSection, MenuTrigger, Popover, SearchField, Select, SelectValue, Separator, SubmenuTrigger, Text, TextField, Virtualizer} from 'react-aria-components';
14+
import {Autocomplete, Button, Collection, DialogTrigger, Header, Input, Keyboard, Label, ListBox, ListBoxSection, ListLayout,Popover, SearchField, Select, SelectValue, Separator, SubmenuTrigger, Text, TextField, Virtualizer} from 'react-aria-components';
15+
import {Menu, MenuItem, MenuSection, MenuTrigger} from '../src/Menu';
1516
import {MyListBoxItem, MyMenuItem} from './utils';
1617
import React from 'react';
1718
import styles from '../example/index.css';

starters/docs/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"@storybook/test": "^8.6.14",
1616
"@types/react": "^18.3.0",
1717
"@types/react-dom": "^18.3.0",
18+
"clsx": "^2.1.1",
1819
"lightningcss-loader": "^2.1.0",
1920
"lucide-react": "^0.292.0",
2021
"prop-types": "^15.8.1",

starters/docs/src/Autocomplete.css

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
@import './Menu.css';
2-
@import './Button.css';
3-
@import './SearchField.css';
41
@import "./theme.css";
52

63
.my-autocomplete {

starters/docs/src/Autocomplete.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ import {
33
Autocomplete as AriaAutocomplete,
44
AutocompleteProps as AriaAutocompleteProps,
55
Key,
6-
Menu,
76
useFilter
87
} from 'react-aria-components';
9-
8+
import {Menu} from './Menu';
109
import {SearchField} from './SearchField';
1110

1211
import './Autocomplete.css';

starters/docs/src/Breadcrumbs.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
'use client';
2-
import {Breadcrumbs as RACBreadcrumbs, BreadcrumbsProps} from 'react-aria-components';
2+
import {Breadcrumbs as RACBreadcrumbs, BreadcrumbsProps, Breadcrumb as RACBreadcrumb, BreadcrumbProps} from 'react-aria-components';
33
import './Breadcrumbs.css';
44

55
export function Breadcrumbs<T extends object>(props: BreadcrumbsProps<T>) {
66
return <RACBreadcrumbs {...props} />;
77
}
8+
9+
export function Breadcrumb(props: BreadcrumbProps) {
10+
return <RACBreadcrumb {...props} />;
11+
}

starters/docs/src/Button.css

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,3 @@
3434
color: var(--text-color-disabled);
3535
}
3636
}
37-
38-
@keyframes toggle {
39-
from {
40-
opacity: 0;
41-
}
42-
43-
to {
44-
opacity: 1;
45-
}
46-
}

starters/docs/src/Calendar.css

Lines changed: 34 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
@import './Button.css';
21
@import "./theme.css";
32

43
.react-aria-Calendar {
@@ -25,57 +24,50 @@
2524
padding: 0;
2625
}
2726

28-
.react-aria-CalendarCell {
29-
width: 1.75rem;
30-
line-height: 1.75rem;
31-
text-align: center;
32-
border-radius: 6px;
33-
cursor: default;
34-
outline: none;
35-
margin: 1px;
36-
forced-color-adjust: none;
37-
38-
&[data-outside-month] {
39-
display: none;
40-
}
27+
[slot=errorMessage] {
28+
font-size: 12px;
29+
color: var(--invalid-color);
30+
}
31+
}
4132

42-
&[data-pressed] {
43-
background: var(--gray-100);
44-
}
33+
.react-aria-CalendarCell {
34+
width: 2.00025rem;
35+
line-height: 2.00025rem;
36+
text-align: center;
37+
border-radius: 6px;
38+
cursor: default;
39+
outline: none;
40+
forced-color-adjust: none;
4541

46-
&[data-focus-visible] {
47-
outline: 2px solid var(--focus-ring-color);
48-
outline-offset: 2px;
49-
}
42+
&[data-outside-month] {
43+
display: none;
44+
}
5045

51-
&[data-selected] {
52-
background: var(--highlight-background);
53-
color: var(--highlight-foreground);
54-
}
46+
&[data-pressed] {
47+
background: var(--gray-100);
5548
}
5649

57-
.react-aria-CalendarCell {
58-
&[data-disabled] {
59-
color: var(--text-color-disabled);
60-
}
50+
&[data-focus-visible] {
51+
outline: 2px solid var(--focus-ring-color);
52+
outline-offset: 2px;
6153
}
6254

63-
.react-aria-CalendarCell {
64-
&[data-unavailable] {
65-
text-decoration: line-through;
66-
color: var(--invalid-color);
67-
}
55+
&[data-selected] {
56+
background: var(--highlight-background);
57+
color: var(--highlight-foreground);
6858
}
6959

70-
.react-aria-CalendarCell {
71-
&[data-invalid] {
72-
background: var(--invalid-color);
73-
color: var(--highlight-foreground);
74-
}
60+
&[data-disabled] {
61+
color: var(--text-color-disabled);
7562
}
7663

77-
[slot=errorMessage] {
78-
font-size: 12px;
64+
&[data-unavailable] {
65+
text-decoration: line-through;
7966
color: var(--invalid-color);
8067
}
81-
}
68+
69+
&[data-invalid] {
70+
background: var(--invalid-color);
71+
color: var(--highlight-foreground);
72+
}
73+
}

starters/docs/src/Calendar.tsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
'use client';
22
import {
33
Calendar as AriaCalendar,
4-
CalendarCell,
5-
CalendarGrid,
4+
CalendarCell as AriaCalendarCell,
5+
CalendarGrid as AriaCalendarGrid,
66
CalendarProps as AriaCalendarProps,
77
DateValue,
8-
Heading,
9-
Text
8+
CalendarCellProps,
9+
CalendarGridProps
1010
} from 'react-aria-components';
11+
import {Heading, Text} from './Content';
1112
import {ChevronLeft, ChevronRight} from 'lucide-react';
1213

1314
import {Button} from './Button';
@@ -38,3 +39,11 @@ export function Calendar<T extends DateValue>(
3839
)
3940
);
4041
}
42+
43+
export function CalendarCell(props: CalendarCellProps) {
44+
return <AriaCalendarCell {...props} />;
45+
}
46+
47+
export function CalendarGrid(props: CalendarGridProps) {
48+
return <AriaCalendarGrid {...props} />;
49+
}

starters/docs/src/CheckboxGroup.css

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
@import './Checkbox.css';
2-
@import './Form.css';
3-
@import './Button.css';
41
@import "./theme.css";
52

63
.react-aria-CheckboxGroup {
@@ -9,11 +6,6 @@
96
gap: 0.499625rem;
107
color: var(--text-color);
118

12-
.react-aria-FieldError {
13-
font-size: 12px;
14-
color: var(--invalid-color);
15-
}
16-
179
[slot=description] {
1810
font-size: 12px;
1911
}

starters/docs/src/CheckboxGroup.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
import {
33
CheckboxGroup as AriaCheckboxGroup,
44
CheckboxGroupProps as AriaCheckboxGroupProps,
5-
FieldError,
6-
Label,
7-
Text,
85
ValidationResult
96
} from 'react-aria-components';
7+
import {Text} from './Content';
8+
import {Label, FieldError} from './Form';
109

1110
import './CheckboxGroup.css';
1211

@@ -38,5 +37,3 @@ export function CheckboxGroup(
3837
)
3938
);
4039
}
41-
42-
export { CheckboxGroup as MyCheckboxGroup };

0 commit comments

Comments
 (0)