{"version":3,"file":"ListItem.cjs","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';\n\nexport type ListItemStylesNames = 'item' | 'itemWrapper' | 'itemIcon' | 'itemLabel';\n\nexport interface ListItemProps\n  extends BoxProps,\n    CompoundStylesApiProps<ListItemFactory>,\n    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\nconst defaultProps: Partial<ListItemProps> = {};\n\nexport const ListItem = factory<ListItemFactory>((_props, ref) => {\n  const props = useProps('ListItem', defaultProps, _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      ref={ref}\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.displayName = '@raikou/core/ListItem';\n"],"names":["factory","useProps","useListContext","jsx","Box"],"mappings":";;;;;;;;;;;;;AA+BA,MAAM,eAAuC,EAAC;AAEvC,MAAM,QAAW,GAAAA,eAAA,CAAyB,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAChE,EAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAS,UAAY,EAAA,YAAA,EAAc,MAAM,CAAA;AACvD,EAAM,MAAA,EAAE,UAAY,EAAA,SAAA,EAAW,KAAO,EAAA,MAAA,EAAQ,IAAM,EAAA,IAAA,EAAM,QAAU,EAAA,GAAA,EAAK,GAAG,MAAA,EAAW,GAAA,KAAA;AAEvF,EAAA,MAAM,MAAMC,2BAAe,EAAA;AAC3B,EAAM,MAAA,KAAA,GAAQ,QAAQ,GAAI,CAAA,IAAA;AAC1B,EAAM,MAAA,cAAA,GAAiB,EAAE,UAAA,EAAY,MAAO,EAAA;AAE5C,EACE,uBAAAC,cAAA;AAAA,IAACC,OAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAI,SAAU,CAAA,MAAA,EAAQ,EAAE,GAAG,cAAA,EAAgB,SAAW,EAAA,KAAA,EAAO,CAAA;AAAA,MACjE,SAAU,EAAA,IAAA;AAAA,MACV,GAAA,EAAK,CAAC,EAAE,WAAa,EAAA,CAAC,CAAC,KAAA,EAAO,QAAU,EAAA,GAAA,CAAI,MAAO,EAAA,EAAG,GAAG,CAAA;AAAA,MACzD,GAAA;AAAA,MACC,GAAG,MAAA;AAAA,MAEJ,0CAAC,KAAK,EAAA,EAAA,GAAG,IAAI,SAAU,CAAA,aAAA,EAAe,cAAc,CACjD,EAAA,QAAA,EAAA;AAAA,QAAS,KAAA,oBAAAD,cAAA,CAAC,UAAM,GAAG,GAAA,CAAI,UAAU,UAAY,EAAA,cAAc,GAAI,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,wBACtEA,cAAA,CAAC,UAAM,GAAG,GAAA,CAAI,UAAU,WAAa,EAAA,cAAc,GAAI,QAAS,EAAA;AAAA,OAClE,EAAA;AAAA;AAAA,GACF;AAEJ,CAAC;AAED,QAAA,CAAS,WAAc,GAAA,uBAAA;;;;"}