
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
react-simple-accordion-ui
Advanced tools
A flexible and customizable accordion component for React applications.
A flexible and customizable accordion component for React applications.
Install the package using npm:
npm install react-simple-accordion-ui
Or using yarn:
yarn add react-simple-accordion-ui
Here's a basic example of how to use the Accordion component:
import { Accordion } from 'react-simple-accordion-ui';
const App = () => {
const items = [
{
title: "Simple Title",
content: <p>This is a simple content with a React component.</p>,
action: (isActive) => (
<button>{isActive ? "Hide" : "Show"}</button>
),
},
{
title: (
<p>
This title is a React component title
</p>
),
content: (
<div>
<p>This content is also a React component.</p>
<p>It can contain multiple elements and even other components.</p>
<a href="https://www.google.com">Another link to Google</a>
</div>
),
},
{
title: "Title with Default Toggle",
content: (
<p>
This item uses the default toggle button instead of a custom action.
The content can be as complex as you need.
</p>
),
},
];
return (
<Accordion
items={items}
allowMultiple={true}
duration={300}
easing="ease-in-out"
/>
);
};
export default App;
The Accordion component accepts the following props:
Prop | Type | Default | Description |
---|---|---|---|
allowMultiple | boolean | true | If true, multiple accordion items can be expanded at once. If false, only one item can be expanded at a time. |
duration | number | The duration of the expand/collapse animation in milliseconds. If not provided, no transition is applied. | |
easing | string | The easing function for the expand/collapse animation. Any valid CSS transition timing function can be used. | |
items | Array | Required | An array of objects representing the accordion items. Each object should have a title and content property. |
Each item in the items
array should be an object with the following properties:
Property | Type | Description |
---|---|---|
title | ReactNode | The title of the accordion item. Can be a string or a React component. |
content | ReactNode | The content of the accordion item. Can be a string or a React component. |
action | function | (Optional) A custom function to render the expand/collapse action. If provided, it overrides the default toggle button. |
The component uses CSS modules for styling. You can override the default styles by targeting the following classes:
.RSA__AccordionWrapper
: The main wrapper for the accordion.RSA__AccordionWrapper__Item
: Each accordion item.RSA__AccordionWrapper__Item__Header
: The header of each accordion item.RSA__AccordionWrapper__Item__Content
: The content wrapper of each accordion item.RSA__AccordionWrapper__Item__Content__ContentContainer
: The inner content container.RSA__AccordionWrapper__Item__Content__ContentContainer__Wrapper
: The innermost content wrapperAdditionally, the following modifier class is applied to active items:
.active
: Applied to the accordion item when it's expandedThis component follows WAI-ARIA practices for accordions:
aria-expanded
is used to indicate the expanded statearia-hidden
is used to hide the content when collapsedThis component is written in TypeScript and includes type definitions. The main types you might need are:
interface IAccordionProps {
allowMultiple?: boolean;
duration?: number;
easing?: string;
items: Array<{
title: ReactNode;
content: ReactNode;
action?: (isActive: boolean) => ReactNode;
}>;
}
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
FAQs
A flexible and customizable accordion component for React applications.
We found that react-simple-accordion-ui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.