{"version":3,"file":"index.cjs","names":["React"],"sources":["../../../src/components/ListItem/ListItem.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { CSSProperties, ReactNode } from \"react\";\n\nexport type ListItemVariant = \"icon\" | \"image\" | \"number\";\n\nexport interface ListItemProps {\n  className?: string;\n  style?: CSSProperties;\n  title?: ReactNode;\n  subtitle?: ReactNode;\n  variant?: ListItemVariant;\n  icon?: ReactNode;\n  image?: { src?: string; alt: string };\n  index?: number;\n  listHasSubtitle?: boolean;\n  actionLabel?: ReactNode;\n  actionIcon?: ReactNode;\n  onClick?: () => void;\n}\n\nconst ListItem = React.forwardRef<HTMLDivElement, ListItemProps>((props, ref) => {\n  const {\n    className,\n    style,\n    variant = \"number\",\n    icon,\n    image,\n    index = 0,\n    listHasSubtitle,\n    title,\n    subtitle,\n    actionIcon,\n    actionLabel,\n    onClick,\n    ...rest\n  } = props;\n\n  const hasAction = !!onClick;\n\n  return (\n    <div\n      ref={ref}\n      className={clsx(\n        \"openui-list-item-wrapper\",\n        hasAction && \"openui-list-item-wrapper-with-action\",\n        className,\n      )}\n      style={style}\n      {...rest}\n    >\n      <div\n        className={clsx(\"openui-list-item\", hasAction && \"openui-list-item-clickable\")}\n        onClick={onClick}\n        role={hasAction ? \"button\" : undefined}\n        tabIndex={hasAction ? 0 : undefined}\n      >\n        <div\n          className={clsx(\n            \"openui-list-item-indicator\",\n            !listHasSubtitle && \"openui-list-item-indicator-no-subtitle\",\n            hasAction && \"openui-list-item-indicator-clickable\",\n          )}\n        >\n          {variant === \"number\" && (\n            <div className=\"openui-list-item-indicator-number\">{index + 1}</div>\n          )}\n          {variant === \"icon\" && icon}\n          {variant === \"image\" && image && (image.src || image.alt) && (\n            <div className=\"openui-list-item-indicator-image\">\n              <img src={image.src} alt={image.alt} width={40} height={40} />\n            </div>\n          )}\n        </div>\n        <div className=\"openui-list-item-content-wrapper\">\n          <div className=\"openui-list-item-content\">\n            {title && <div className=\"openui-list-item-title\">{title}</div>}\n            {subtitle && <div className=\"openui-list-item-subtitle\">{subtitle}</div>}\n          </div>\n          {hasAction && (actionIcon || actionLabel) && (\n            <div className=\"openui-list-item-action\">\n              {actionLabel && <div className=\"openui-list-item-action-label\">{actionLabel}</div>}\n              {actionIcon && <div className=\"openui-list-item-action-icon\">{actionIcon}</div>}\n            </div>\n          )}\n        </div>\n      </div>\n    </div>\n  );\n});\n\nListItem.displayName = \"ListItem\";\n\nexport { ListItem };\n"],"mappings":";;;;;;;;AAoBA,MAAM,WAAWA,MAAAA,QAAM,YAA2C,OAAO,QAAQ;CAC/E,MAAM,EACJ,WACA,OACA,UAAU,UACV,MACA,OACA,QAAQ,GACR,iBACA,OACA,UACA,YACA,aACA,SACA,GAAG,SACD;CAEJ,MAAM,YAAY,CAAC,CAAC;AAEpB,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACO;EACL,YAAA,GAAA,KAAA,SACE,4BACA,aAAa,wCACb,UACD;EACM;EACP,GAAI;YAEJ,iBAAA,GAAA,kBAAA,MAAC,OAAD;GACE,YAAA,GAAA,KAAA,SAAgB,oBAAoB,aAAa,6BAA6B;GACrE;GACT,MAAM,YAAY,WAAW,KAAA;GAC7B,UAAU,YAAY,IAAI,KAAA;aAJ5B,CAME,iBAAA,GAAA,kBAAA,MAAC,OAAD;IACE,YAAA,GAAA,KAAA,SACE,8BACA,CAAC,mBAAmB,0CACpB,aAAa,uCACd;cALH;KAOG,YAAY,YACX,iBAAA,GAAA,kBAAA,KAAC,OAAD;MAAK,WAAU;gBAAqC,QAAQ;MAAQ,CAAA;KAErE,YAAY,UAAU;KACtB,YAAY,WAAW,UAAU,MAAM,OAAO,MAAM,QACnD,iBAAA,GAAA,kBAAA,KAAC,OAAD;MAAK,WAAU;gBACb,iBAAA,GAAA,kBAAA,KAAC,OAAD;OAAK,KAAK,MAAM;OAAK,KAAK,MAAM;OAAK,OAAO;OAAI,QAAQ;OAAM,CAAA;MAC1D,CAAA;KAEJ;OACN,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAU;cAAf,CACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;KAAK,WAAU;eAAf,CACG,SAAS,iBAAA,GAAA,kBAAA,KAAC,OAAD;MAAK,WAAU;gBAA0B;MAAY,CAAA,EAC9D,YAAY,iBAAA,GAAA,kBAAA,KAAC,OAAD;MAAK,WAAU;gBAA6B;MAAe,CAAA,CACpE;QACL,cAAc,cAAc,gBAC3B,iBAAA,GAAA,kBAAA,MAAC,OAAD;KAAK,WAAU;eAAf,CACG,eAAe,iBAAA,GAAA,kBAAA,KAAC,OAAD;MAAK,WAAU;gBAAiC;MAAkB,CAAA,EACjF,cAAc,iBAAA,GAAA,kBAAA,KAAC,OAAD;MAAK,WAAU;gBAAgC;MAAiB,CAAA,CAC3E;OAEJ;MACF;;EACF,CAAA;EAER;AAEF,SAAS,cAAc"}