@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 2.52 kB
Source Map (JSON)
{"version":3,"file":"ListItem.cjs","names":["factory","useProps","useListContext","Box","classes"],"sources":["../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { useListContext } from '../List.context';\nimport classes from '../List.module.css';\n\nexport type ListItemStylesNames = 'item' | 'itemWrapper' | 'itemIcon' | 'itemLabel';\n\nexport interface ListItemProps\n extends BoxProps, CompoundStylesApiProps<ListItemFactory>, ElementProps<'li'> {\n /** Icon to replace item bullet */\n icon?: React.ReactNode;\n\n /** Item content */\n children?: React.ReactNode;\n}\n\nexport type ListItemFactory = Factory<{\n props: ListItemProps;\n ref: HTMLLIElement;\n stylesNames: ListItemStylesNames;\n compound: true;\n}>;\n\nexport const ListItem = factory<ListItemFactory>((_props) => {\n const props = useProps('ListItem', null, _props);\n const { classNames, className, style, styles, vars, icon, children, mod, ...others } = props;\n\n const ctx = useListContext();\n const _icon = icon || ctx.icon;\n const stylesApiProps = { classNames, styles };\n\n return (\n <Box\n {...ctx.getStyles('item', { ...stylesApiProps, className, style })}\n component=\"li\"\n mod={[{ 'with-icon': !!_icon, centered: ctx.center }, mod]}\n {...others}\n >\n <div {...ctx.getStyles('itemWrapper', stylesApiProps)}>\n {_icon && <span {...ctx.getStyles('itemIcon', stylesApiProps)}>{_icon}</span>}\n <span {...ctx.getStyles('itemLabel', stylesApiProps)}>{children}</span>\n </div>\n </Box>\n );\n});\n\nListItem.classes = classes;\nListItem.displayName = '@mantine/core/ListItem';\n"],"mappings":";;;;;;;;;AA8BA,MAAa,WAAWA,gBAAAA,SAA0B,WAAW;CAE3D,MAAM,EAAE,YAAY,WAAW,OAAO,QAAQ,MAAM,MAAM,UAAU,KAAK,GAAG,WAD9DC,kBAAAA,SAAS,YAAY,MAAM,OAAO;CAGhD,MAAM,MAAMC,qBAAAA,gBAAgB;CAC5B,MAAM,QAAQ,QAAQ,IAAI;CAC1B,MAAM,iBAAiB;EAAE;EAAY;EAAQ;AAE7C,QACE,iBAAA,GAAA,kBAAA,KAACC,YAAAA,KAAD;EACE,GAAI,IAAI,UAAU,QAAQ;GAAE,GAAG;GAAgB;GAAW;GAAO,CAAC;EAClE,WAAU;EACV,KAAK,CAAC;GAAE,aAAa,CAAC,CAAC;GAAO,UAAU,IAAI;GAAQ,EAAE,IAAI;EAC1D,GAAI;YAEJ,iBAAA,GAAA,kBAAA,MAAC,OAAD;GAAK,GAAI,IAAI,UAAU,eAAe,eAAe;aAArD,CACG,SAAS,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,GAAI,IAAI,UAAU,YAAY,eAAe;cAAG;IAAa,CAAA,EAC7E,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,GAAI,IAAI,UAAU,aAAa,eAAe;IAAG;IAAgB,CAAA,CACnE;;EACF,CAAA;EAER;AAEF,SAAS,UAAUC,oBAAAA;AACnB,SAAS,cAAc"}