{"version":3,"sources":["../../src/List/ListItem.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { AnchorHTMLAttributes, ElementType, FC, ReactNode } from 'react';\n\nexport interface ListItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n  /** Indica se l'elemento è attivo o no */\n  active?: boolean;\n  /** Indica se l'elemento ha un avatar */\n  avatar?: ReactNode;\n  /** Indica se l'elemento ha una icona */\n  icon?: ReactNode;\n  /** Indica se l'elemento ha una immagine */\n  img?: ReactNode;\n  /** Utilizzarlo in caso di utilizzo di componenti personalizzati */\n  tag?: ElementType;\n  /** Classi aggiuntive da usare per il componente ListItem */\n  className?: string;\n  /** Classi aggiuntive da usare per l'elemento contenitore dell'item */\n  wrapperClassName?: string;\n  /** Indica il link a cui l'elemento deve puntare. */\n  href?: string;\n  /** Indica il link route a cui l'elemento deve puntare. */\n  to?: string;\n  testId?: string;\n}\n\nexport const ListItem: FC<ListItemProps> & {\n  MultipleAction: typeof MultipleAction;\n} = ({\n  className,\n  active,\n  avatar,\n  icon,\n  img,\n  href,\n  tag = 'div',\n  to,\n  wrapperClassName,\n  testId,\n  children,\n  ...attributes\n}) => {\n  const Tag = tag;\n  const classes = classNames(className, { active }, 'list-item'),\n    classesItem = classNames(className, {\n      'it-rounded-icon': icon,\n      'avatar size-lg': avatar,\n      'it-thumb': img\n    }),\n    leftItem = icon || avatar || img;\n\n  if (href) {\n    return (\n      <li className={wrapperClassName} data-testid={testId}>\n        <a href={href || '#'} {...attributes} className={classes}>\n          <div className='it-right-zone'>{children}</div>\n        </a>\n      </li>\n    );\n  }\n\n  return (\n    <li className={wrapperClassName} data-testid={testId}>\n      <Tag {...attributes} className={classes} href={href} to={to}>\n        {leftItem && <div className={classesItem}>{leftItem}</div>}\n        <div className='it-right-zone'>{children}</div>\n      </Tag>\n    </li>\n  );\n};\n\nconst MultipleAction: FC<ListItemProps> = ({ children }) => {\n  return <span className='it-multiple'>{children}</span>;\n};\n\nListItem.MultipleAction = MultipleAction;\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,2BACvBC,EAAwE,sBAwB3DH,EAET,CAAC,CACH,UAAAI,EACA,OAAAC,EACA,OAAAC,EACA,KAAAC,EACA,IAAAC,EACA,KAAAC,EACA,IAAAC,EAAM,MACN,GAAAC,EACA,iBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,IAAMC,EAAMN,EACNO,KAAU,EAAAC,SAAWd,EAAW,CAAE,OAAAC,CAAO,EAAG,WAAW,EAC3Dc,KAAc,EAAAD,SAAWd,EAAW,CAClC,kBAAmBG,EACnB,iBAAkBD,EAClB,WAAYE,CACd,CAAC,EACDY,EAAWb,GAAQD,GAAUE,EAE/B,OAAIC,EAEA,EAAAY,QAAA,cAAC,MAAG,UAAWT,EAAkB,cAAaC,GAC5C,EAAAQ,QAAA,cAAC,KAAE,KAAMZ,GAAQ,IAAM,GAAGM,EAAY,UAAWE,GAC/C,EAAAI,QAAA,cAAC,OAAI,UAAU,iBAAiBP,CAAS,CAC3C,CACF,EAKF,EAAAO,QAAA,cAAC,MAAG,UAAWT,EAAkB,cAAaC,GAC5C,EAAAQ,QAAA,cAACL,EAAA,CAAK,GAAGD,EAAY,UAAWE,EAAS,KAAMR,EAAM,GAAIE,GACtDS,GAAY,EAAAC,QAAA,cAAC,OAAI,UAAWF,GAAcC,CAAS,EACpD,EAAAC,QAAA,cAAC,OAAI,UAAU,iBAAiBP,CAAS,CAC3C,CACF,CAEJ,EAEMQ,EAAoC,CAAC,CAAE,SAAAR,CAAS,IAC7C,EAAAO,QAAA,cAAC,QAAK,UAAU,eAAeP,CAAS,EAGjDd,EAAS,eAAiBsB","names":["ListItem_exports","__export","ListItem","__toCommonJS","import_classnames","import_react","className","active","avatar","icon","img","href","tag","to","wrapperClassName","testId","children","attributes","Tag","classes","classNames","classesItem","leftItem","React","MultipleAction"]}