UNPKG

design-react-kit

Version:

Componenti React per Bootstrap 5

1 lines 2.52 kB
{"version":3,"sources":["../../src/Avatar/AvatarIcon.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { ElementType, FC, HTMLAttributes, Ref } from 'react';\n\nexport interface AvatarIconProps extends HTMLAttributes<HTMLElement> {\n /**\n * Utilizzarlo in caso di utilizzo di componenti personalizzati, come ad esempio\n * un link gestito da handler onClick.\n * */\n tag?: ElementType;\n /** Classi aggiuntive da usare per il componente AvatarIcon */\n className?: string;\n /** Le varianti di colore definite in Bootstrap Italia */\n color?: 'primary' | 'secondary' | 'green' | 'orange' | 'red' | string;\n /** Le dimensioni dell'icona definite in Bootstrap Italia */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n /**\n * Quando definito rende l'icona un link cliccabile. Nota: se definito ignora la prop Tag.\n * */\n href?: string;\n /** Da utilizzare per impostare un riferimento all'elemento DOM */\n innerRef?: Ref<HTMLElement | HTMLAnchorElement>;\n testId?: string;\n}\n\nexport const AvatarIcon: FC<AvatarIconProps> = ({\n className,\n tag = 'div',\n size = 'md',\n href,\n color,\n innerRef,\n testId,\n children,\n ...attributes\n}) => {\n const Tag = tag;\n const typeClass = classNames('avatar', {\n [`size-${size}`]: size,\n [`avatar-${color}`]: color,\n className\n });\n if (href) {\n return (\n <a\n href={href}\n {...attributes}\n className={typeClass}\n ref={innerRef as Ref<HTMLAnchorElement>}\n data-testid={testId}\n >\n {children}\n </a>\n );\n }\n\n return (\n <Tag {...attributes} className={typeClass} data-testid={testId}>\n {children}\n </Tag>\n );\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,2BACvBC,EAA4D,sBAuB/CH,EAAkC,CAAC,CAC9C,UAAAI,EACA,IAAAC,EAAM,MACN,KAAAC,EAAO,KACP,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,IAAMC,EAAMR,EACNS,KAAY,EAAAC,SAAW,SAAU,CACrC,CAAC,QAAQT,CAAI,EAAE,EAAGA,EAClB,CAAC,UAAUE,CAAK,EAAE,EAAGA,EACrB,UAAAJ,CACF,CAAC,EACD,OAAIG,EAEA,EAAAS,QAAA,cAAC,KACC,KAAMT,EACL,GAAGK,EACJ,UAAWE,EACX,IAAKL,EACL,cAAaC,GAEZC,CACH,EAKF,EAAAK,QAAA,cAACH,EAAA,CAAK,GAAGD,EAAY,UAAWE,EAAW,cAAaJ,GACrDC,CACH,CAEJ","names":["AvatarIcon_exports","__export","AvatarIcon","__toCommonJS","import_classnames","import_react","className","tag","size","href","color","innerRef","testId","children","attributes","Tag","typeClass","classNames","React"]}