-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor:isolate stories for various components (#5651)
refactor:isolate stories for various components
- Loading branch information
Showing
13 changed files
with
726 additions
and
518 deletions.
There are no files selected for viewing
62 changes: 62 additions & 0 deletions
62
packages/react-aria-components/stories/Calendar.stories.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* | ||
* Copyright 2022 Adobe. All rights reserved. | ||
* This file is licensed to you under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. You may obtain a copy | ||
* of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software distributed under | ||
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS | ||
* OF ANY KIND, either express or implied. See the License for the specific language | ||
* governing permissions and limitations under the License. | ||
*/ | ||
|
||
import {Button, Calendar, CalendarCell, CalendarGrid, Heading, RangeCalendar} from 'react-aria-components'; | ||
import React from 'react'; | ||
|
||
export default { | ||
title: 'React Aria Components' | ||
}; | ||
|
||
export const CalendarExample = () => ( | ||
<Calendar style={{width: 220}}> | ||
<div style={{display: 'flex', alignItems: 'center'}}> | ||
<Button slot="previous"><</Button> | ||
<Heading style={{flex: 1, textAlign: 'center'}} /> | ||
<Button slot="next">></Button> | ||
</div> | ||
<CalendarGrid style={{width: '100%'}}> | ||
{date => <CalendarCell date={date} style={({isSelected, isOutsideMonth}) => ({display: isOutsideMonth ? 'none' : '', textAlign: 'center', cursor: 'default', background: isSelected ? 'blue' : ''})} />} | ||
</CalendarGrid> | ||
</Calendar> | ||
); | ||
|
||
export const CalendarMultiMonth = () => ( | ||
<Calendar style={{width: 500}} visibleDuration={{months: 2}}> | ||
<div style={{display: 'flex', alignItems: 'center'}}> | ||
<Button slot="previous"><</Button> | ||
<Heading style={{flex: 1, textAlign: 'center'}} /> | ||
<Button slot="next">></Button> | ||
</div> | ||
<div style={{display: 'flex', gap: 20}}> | ||
<CalendarGrid style={{flex: 1}}> | ||
{date => <CalendarCell date={date} style={({isSelected, isOutsideMonth}) => ({display: isOutsideMonth ? 'none' : '', textAlign: 'center', cursor: 'default', background: isSelected ? 'blue' : ''})} />} | ||
</CalendarGrid> | ||
<CalendarGrid style={{flex: 1}} offset={{months: 1}}> | ||
{date => <CalendarCell date={date} style={({isSelected, isOutsideMonth}) => ({display: isOutsideMonth ? 'none' : '', textAlign: 'center', cursor: 'default', background: isSelected ? 'blue' : ''})} />} | ||
</CalendarGrid> | ||
</div> | ||
</Calendar> | ||
); | ||
|
||
export const RangeCalendarExample = () => ( | ||
<RangeCalendar style={{width: 220}}> | ||
<div style={{display: 'flex', alignItems: 'center'}}> | ||
<Button slot="previous"><</Button> | ||
<Heading style={{flex: 1, textAlign: 'center'}} /> | ||
<Button slot="next">></Button> | ||
</div> | ||
<CalendarGrid style={{width: '100%'}}> | ||
{date => <CalendarCell date={date} style={({isSelected, isOutsideMonth}) => ({display: isOutsideMonth ? 'none' : '', textAlign: 'center', cursor: 'default', background: isSelected ? 'blue' : ''})} />} | ||
</CalendarGrid> | ||
</RangeCalendar> | ||
); |
29 changes: 29 additions & 0 deletions
29
packages/react-aria-components/stories/DateField.stories.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/* | ||
* Copyright 2022 Adobe. All rights reserved. | ||
* This file is licensed to you under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. You may obtain a copy | ||
* of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software distributed under | ||
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS | ||
* OF ANY KIND, either express or implied. See the License for the specific language | ||
* governing permissions and limitations under the License. | ||
*/ | ||
|
||
import clsx from 'clsx'; | ||
import {DateField, DateInput, DateSegment, Label} from 'react-aria-components'; | ||
import React from 'react'; | ||
import styles from '../example/index.css'; | ||
|
||
export default { | ||
title: 'React Aria Components' | ||
}; | ||
|
||
export const DateFieldExample = () => ( | ||
<DateField data-testid="date-field-example"> | ||
<Label style={{display: 'block'}}>Date</Label> | ||
<DateInput className={styles.field} data-testid2="date-input"> | ||
{segment => <DateSegment segment={segment} className={clsx(styles.segment, {[styles.placeholder]: segment.isPlaceholder})} />} | ||
</DateInput> | ||
</DateField> | ||
); |
92 changes: 92 additions & 0 deletions
92
packages/react-aria-components/stories/DatePicker.stories.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
/* | ||
* Copyright 2022 Adobe. All rights reserved. | ||
* This file is licensed to you under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. You may obtain a copy | ||
* of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software distributed under | ||
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS | ||
* OF ANY KIND, either express or implied. See the License for the specific language | ||
* governing permissions and limitations under the License. | ||
*/ | ||
|
||
import {Button, Calendar, CalendarCell, CalendarGrid, DateInput, DatePicker, DateRangePicker, DateSegment, Dialog, Group, Heading, Label, Popover, RangeCalendar} from 'react-aria-components'; | ||
import clsx from 'clsx'; | ||
import React from 'react'; | ||
import styles from '../example/index.css'; | ||
|
||
export default { | ||
title: 'React Aria Components' | ||
}; | ||
|
||
export const DatePickerExample = () => ( | ||
<DatePicker data-testid="date-picker-example"> | ||
<Label style={{display: 'block'}}>Date</Label> | ||
<Group style={{display: 'inline-flex'}}> | ||
<DateInput className={styles.field}> | ||
{segment => <DateSegment segment={segment} className={clsx(styles.segment, {[styles.placeholder]: segment.isPlaceholder})} />} | ||
</DateInput> | ||
<Button>🗓</Button> | ||
</Group> | ||
<Popover | ||
placement="bottom start" | ||
style={{ | ||
background: 'Canvas', | ||
color: 'CanvasText', | ||
border: '1px solid gray', | ||
padding: 20 | ||
}}> | ||
<Dialog> | ||
<Calendar style={{width: 220}}> | ||
<div style={{display: 'flex', alignItems: 'center'}}> | ||
<Button slot="previous"><</Button> | ||
<Heading style={{flex: 1, textAlign: 'center'}} /> | ||
<Button slot="next">></Button> | ||
</div> | ||
<CalendarGrid style={{width: '100%'}}> | ||
{date => <CalendarCell date={date} style={({isSelected, isOutsideMonth}) => ({display: isOutsideMonth ? 'none' : '', textAlign: 'center', cursor: 'default', background: isSelected ? 'blue' : ''})} />} | ||
</CalendarGrid> | ||
</Calendar> | ||
</Dialog> | ||
</Popover> | ||
</DatePicker> | ||
); | ||
|
||
export const DateRangePickerExample = () => ( | ||
<DateRangePicker data-testid="date-range-picker-example"> | ||
<Label style={{display: 'block'}}>Date</Label> | ||
<Group style={{display: 'inline-flex'}}> | ||
<div className={styles.field}> | ||
<DateInput data-testid="date-range-picker-date-input" slot="start" style={{display: 'inline-flex'}}> | ||
{segment => <DateSegment segment={segment} className={clsx(styles.segment, {[styles.placeholder]: segment.isPlaceholder})} />} | ||
</DateInput> | ||
<span aria-hidden="true" style={{padding: '0 4px'}}>–</span> | ||
<DateInput slot="end" style={{display: 'inline-flex'}}> | ||
{segment => <DateSegment segment={segment} className={clsx(styles.segment, {[styles.placeholder]: segment.isPlaceholder})} />} | ||
</DateInput> | ||
</div> | ||
<Button>🗓</Button> | ||
</Group> | ||
<Popover | ||
placement="bottom start" | ||
style={{ | ||
background: 'Canvas', | ||
color: 'CanvasText', | ||
border: '1px solid gray', | ||
padding: 20 | ||
}}> | ||
<Dialog> | ||
<RangeCalendar style={{width: 220}}> | ||
<div style={{display: 'flex', alignItems: 'center'}}> | ||
<Button slot="previous"><</Button> | ||
<Heading style={{flex: 1, textAlign: 'center'}} /> | ||
<Button slot="next">></Button> | ||
</div> | ||
<CalendarGrid style={{width: '100%'}}> | ||
{date => <CalendarCell date={date} style={({isSelected, isOutsideMonth}) => ({display: isOutsideMonth ? 'none' : '', textAlign: 'center', cursor: 'default', background: isSelected ? 'blue' : ''})} />} | ||
</CalendarGrid> | ||
</RangeCalendar> | ||
</Dialog> | ||
</Popover> | ||
</DateRangePicker> | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
/* | ||
* Copyright 2022 Adobe. All rights reserved. | ||
* This file is licensed to you under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. You may obtain a copy | ||
* of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software distributed under | ||
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS | ||
* OF ANY KIND, either express or implied. See the License for the specific language | ||
* governing permissions and limitations under the License. | ||
*/ | ||
|
||
import {action} from '@storybook/addon-actions'; | ||
import {Button, Header, Keyboard, Menu, MenuTrigger, Popover, Section, Separator, Text} from 'react-aria-components'; | ||
import {MyMenuItem} from './utils'; | ||
import React from 'react'; | ||
import styles from '../example/index.css'; | ||
|
||
export default { | ||
title: 'React Aria Components' | ||
}; | ||
|
||
export const MenuExample = () => ( | ||
<MenuTrigger> | ||
<Button aria-label="Menu">☰</Button> | ||
<Popover> | ||
<Menu className={styles.menu} onAction={action('onAction')}> | ||
<Section className={styles.group}> | ||
<Header style={{fontSize: '1.2em'}}>Section 1</Header> | ||
<MyMenuItem>Foo</MyMenuItem> | ||
<MyMenuItem>Bar</MyMenuItem> | ||
<MyMenuItem>Baz</MyMenuItem> | ||
<MyMenuItem href="https://google.com">Google</MyMenuItem> | ||
</Section> | ||
<Separator style={{borderTop: '1px solid gray', margin: '2px 5px'}} /> | ||
<Section className={styles.group}> | ||
<Header style={{fontSize: '1.2em'}}>Section 2</Header> | ||
<MyMenuItem>Foo</MyMenuItem> | ||
<MyMenuItem>Bar</MyMenuItem> | ||
<MyMenuItem>Baz</MyMenuItem> | ||
</Section> | ||
</Menu> | ||
</Popover> | ||
</MenuTrigger> | ||
); | ||
|
||
export const MenuComplex = () => ( | ||
<MenuTrigger> | ||
<Button aria-label="Menu">☰</Button> | ||
<Popover> | ||
<Menu className={styles.menu}> | ||
<MyMenuItem> | ||
<Text slot="label">Copy</Text> | ||
<Text slot="description">Description</Text> | ||
<Keyboard>⌘C</Keyboard> | ||
</MyMenuItem> | ||
<MyMenuItem> | ||
<Text slot="label">Cut</Text> | ||
<Text slot="description">Description</Text> | ||
<Keyboard>⌘X</Keyboard> | ||
</MyMenuItem> | ||
<MyMenuItem> | ||
<Text slot="label">Paste</Text> | ||
<Text slot="description">Description</Text> | ||
<Keyboard>⌘V</Keyboard> | ||
</MyMenuItem> | ||
</Menu> | ||
</Popover> | ||
</MenuTrigger> | ||
); |
Oops, something went wrong.
0c31321
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verdaccio builds:
CRA Test App
NextJS Test App
RAC Tailwind Example
RAC Spectrum + Tailwind Example
CRA Test App Size
NextJS App Size
Publish stats
Size diff since last release
Docs
Storybook
RAC Starter Storybook