React Native MantineData display

Accordion

Expandable accordion panels

Import: import { Accordion } from 'react-native-mantine';

Usage

import { useState } from 'react';
import { Collapse, Button, Paper, Text } from 'react-native-mantine';

const AccordionItem = ({ title, children }) => {
  const [opened, setOpened] = useState(false);

  return (
    <>
      <Button
        variant="subtle"
        fullWidth
        onPress={() => setOpened(!opened)}
      >
        {title}
      </Button>
      <Collapse in={opened}>
        <Paper p="md">
          <Text>{children}</Text>
        </Paper>
      </Collapse>
    </>
  );
};

Props

PropTypeDefaultDescription
children (required)React.ReactNodeAccordion items
multiplebooleanAllow multiple items to be opened at once
defaultValuestring | string[]Default opened items (uncontrolled)
valuestring | string[]Controlled opened items
onChange(value: string | string[]) => voidCalled when opened items change
variant'default' | 'contained' | 'separated'Accordion variant
radiusMantineNumberSizeBorder radius
spacingSpacingValueSpacing between items (separated variant only)
styleanyAdditional styles
testIDstringTest identifier used by testing frameworks

Source on GitHub · npm