Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Accordion] Add Joy UI Accordion components #38164

Merged
merged 38 commits into from
Aug 22, 2023
Merged
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
815eba5
init components
siriwatknp Jul 25, 2023
1f9f732
add component logics
siriwatknp Jul 25, 2023
4e8e6de
wip
siriwatknp Jul 25, 2023
5398a8a
add variant and color props
siriwatknp Jul 25, 2023
8686e88
add demos
siriwatknp Jul 25, 2023
19ecc35
add examples
siriwatknp Jul 26, 2023
9f9281c
fix classes usage
siriwatknp Jul 26, 2023
eec4862
change to newFeature tag
siriwatknp Jul 26, 2023
fdea025
Merge branch 'master' of https://github.com/mui/material-ui into joy/…
siriwatknp Jul 26, 2023
040091f
update content
siriwatknp Jul 26, 2023
c244985
Merge branch 'master' of https://github.com/mui/material-ui into joy/…
siriwatknp Aug 3, 2023
68cf7c8
fix button font
siriwatknp Aug 4, 2023
8be16b4
update docs
siriwatknp Aug 7, 2023
e52029a
add slots spec
siriwatknp Aug 7, 2023
5e21f92
fix className
siriwatknp Aug 7, 2023
5bf97dd
add tests
siriwatknp Aug 7, 2023
41802a8
run scripts
siriwatknp Aug 7, 2023
220be9a
fix lint
siriwatknp Aug 7, 2023
41ffd5f
Small visual tweaks to Styling on expansion demo
zanivan Aug 9, 2023
3b64aa9
Run yarn docs:typescript:formatted
zanivan Aug 9, 2023
988f1f5
Added a new demo
zanivan Aug 9, 2023
2b7279d
run yarn docs:typescript:formatted
zanivan Aug 9, 2023
e86cff5
fix as suggested.
siriwatknp Aug 10, 2023
42be08b
remove AccordionUsage
siriwatknp Aug 10, 2023
9db383e
bring back AccordionUsage with solid variant improvement
siriwatknp Aug 21, 2023
91abdbb
Merge branch 'master' of https://github.com/mui/material-ui into joy/…
siriwatknp Aug 21, 2023
c4f65d2
run scripts
siriwatknp Aug 21, 2023
5fbe9b7
fix ListItem flexDirection types
siriwatknp Aug 21, 2023
58d3dc5
fix name
siriwatknp Aug 21, 2023
b4bdbad
fix types
siriwatknp Aug 21, 2023
db26aa1
add as const
siriwatknp Aug 21, 2023
2afd1c3
minor fixes
siriwatknp Aug 21, 2023
8f91d0a
Small tweaks to styling expansion demo
zanivan Aug 21, 2023
c5d4a99
Merge branch 'master' of https://github.com/mui/material-ui into joy/…
siriwatknp Aug 22, 2023
2925221
fix tab index logic and add tests
siriwatknp Aug 22, 2023
6670b1d
add type "text"
siriwatknp Aug 22, 2023
08234e2
explicitly add role textbox
siriwatknp Aug 22, 2023
69d7cfa
fix tests
siriwatknp Aug 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions docs/data/joy/components/accordion/AccordionBasic.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails from '@mui/joy/AccordionDetails';
import AccordionSummary from '@mui/joy/AccordionSummary';

export default function AccordionBasic() {
return (
<AccordionGroup sx={{ maxWidth: 400 }}>
<Accordion>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
33 changes: 33 additions & 0 deletions docs/data/joy/components/accordion/AccordionBasic.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails from '@mui/joy/AccordionDetails';
import AccordionSummary from '@mui/joy/AccordionSummary';

export default function AccordionBasic() {
return (
<AccordionGroup sx={{ maxWidth: 400 }}>
<Accordion>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
49 changes: 49 additions & 0 deletions docs/data/joy/components/accordion/AccordionControlled.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails from '@mui/joy/AccordionDetails';
import AccordionSummary from '@mui/joy/AccordionSummary';

export default function AccordionControlled() {
const [index, setIndex] = React.useState(0);
return (
<AccordionGroup sx={{ maxWidth: 400 }}>
<Accordion
expanded={index === 0}
onChange={(event, expanded) => {
setIndex(expanded ? 0 : null);
}}
>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion
expanded={index === 1}
onChange={(event, expanded) => {
setIndex(expanded ? 1 : null);
}}
>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion
expanded={index === 2}
onChange={(event, expanded) => {
setIndex(expanded ? 2 : null);
}}
>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
49 changes: 49 additions & 0 deletions docs/data/joy/components/accordion/AccordionControlled.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails from '@mui/joy/AccordionDetails';
import AccordionSummary from '@mui/joy/AccordionSummary';

export default function AccordionControlled() {
const [index, setIndex] = React.useState<number | null>(0);
return (
<AccordionGroup sx={{ maxWidth: 400 }}>
<Accordion
expanded={index === 0}
onChange={(event, expanded) => {
setIndex(expanded ? 0 : null);
}}
>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion
expanded={index === 1}
onChange={(event, expanded) => {
setIndex(expanded ? 1 : null);
}}
>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion
expanded={index === 2}
onChange={(event, expanded) => {
setIndex(expanded ? 2 : null);
}}
>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
53 changes: 53 additions & 0 deletions docs/data/joy/components/accordion/AccordionDepthPanel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails, {
accordionDetailsClasses,
} from '@mui/joy/AccordionDetails';
import AccordionSummary, {
accordionSummaryClasses,
} from '@mui/joy/AccordionSummary';

export default function AccordionDepthPanel() {
return (
<AccordionGroup
variant="outlined"
transition="0.2s"
sx={{
maxWidth: 400,
borderRadius: 'lg',
[`& .${accordionSummaryClasses.button}:hover`]: {
bgcolor: 'transparent',
},
[`& .${accordionDetailsClasses.content}`]: {
boxShadow: (theme) => `inset 0 1px ${theme.vars.palette.divider}`,
[`&.${accordionDetailsClasses.expanded}`]: {
paddingBlock: '0.75rem',
},
},
}}
>
<Accordion defaultExpanded>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails variant="soft">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails variant="soft">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails variant="soft">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
53 changes: 53 additions & 0 deletions docs/data/joy/components/accordion/AccordionDepthPanel.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails, {
accordionDetailsClasses,
} from '@mui/joy/AccordionDetails';
import AccordionSummary, {
accordionSummaryClasses,
} from '@mui/joy/AccordionSummary';

export default function AccordionDepthPanel() {
return (
<AccordionGroup
variant="outlined"
transition="0.2s"
sx={{
maxWidth: 400,
borderRadius: 'lg',
[`& .${accordionSummaryClasses.button}:hover`]: {
bgcolor: 'transparent',
},
[`& .${accordionDetailsClasses.content}`]: {
boxShadow: (theme) => `inset 0 1px ${theme.vars.palette.divider}`,
[`&.${accordionDetailsClasses.expanded}`]: {
paddingBlock: '0.75rem',
},
},
}}
>
<Accordion defaultExpanded>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails variant="soft">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails variant="soft">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails variant="soft">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
33 changes: 33 additions & 0 deletions docs/data/joy/components/accordion/AccordionDisabled.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails from '@mui/joy/AccordionDetails';
import AccordionSummary from '@mui/joy/AccordionSummary';

export default function AccordionDisabled() {
return (
<AccordionGroup sx={{ maxWidth: 400 }}>
<Accordion disabled>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion disabled>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion expanded disabled>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
33 changes: 33 additions & 0 deletions docs/data/joy/components/accordion/AccordionDisabled.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import * as React from 'react';
import AccordionGroup from '@mui/joy/AccordionGroup';
import Accordion from '@mui/joy/Accordion';
import AccordionDetails from '@mui/joy/AccordionDetails';
import AccordionSummary from '@mui/joy/AccordionSummary';

export default function AccordionDisabled() {
return (
<AccordionGroup sx={{ maxWidth: 400 }}>
<Accordion disabled>
<AccordionSummary>First accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion disabled>
<AccordionSummary>Second accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
<Accordion expanded disabled>
<AccordionSummary>Third accordion</AccordionSummary>
<AccordionDetails>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
</AccordionDetails>
</Accordion>
</AccordionGroup>
);
}
Loading