UNPKG

design-react-kit

Version:

Componenti React per Bootstrap 5

1 lines 3.01 kB
{"version":3,"sources":["../../src/Card/Card.tsx"],"sourcesContent":["import React, { FC, HTMLAttributes, ElementType, Ref } from 'react';\nimport classNames from 'classnames';\nimport { Card as CardBase } from 'reactstrap';\nimport { CSSModule } from 'reactstrap/types/lib/utils';\n\nexport interface CardProps extends HTMLAttributes<HTMLElement> {\n /** Utilizzarlo in caso di utilizzo di componenti personalizzati */\n tag?: ElementType;\n /** Utilizzarlo quando si passa `a` a `tag` per ottenere una special card cliccabile */\n href?: string;\n /** Classi aggiuntive da usare per il componente Card */\n className?: string;\n /** Da utilizzare per impostare un riferimento all'elemento DOM */\n innerRef?: Ref<HTMLElement>;\n /** Oggetto contenente la nuova mappatura per le classi CSS. */\n cssModule?: CSSModule;\n /** Abilita la versione teaser della Card */\n teaser?: boolean;\n /** Quando attivo distanzia la Card nella versione mobile */\n spacing?: boolean;\n /** Quando attivo rimuove il componente contenitore della carta. Utile per card multiple nello stesso contenitore */\n noWrapper?: boolean;\n /** Classi aggiuntive per l'elemento contenitore */\n wrapperClassName?: string;\n testId?: string;\n}\n\nexport const Card: FC<CardProps> = ({\n tag = 'div',\n href = undefined,\n teaser,\n spacing,\n noWrapper = false,\n wrapperClassName,\n testId,\n ...attributes\n}) => {\n const wrapperClasses = classNames('card-wrapper', wrapperClassName, {\n 'card-space': spacing,\n 'card-teaser-wrapper': teaser\n });\n const cardClasses = classNames(attributes.className, {\n 'card-teaser': teaser\n });\n\n if (noWrapper) {\n return (\n <CardBase\n {...attributes}\n className={cardClasses}\n tag={tag}\n href={tag === 'a' ? href : undefined}\n data-testid={testId}\n />\n );\n }\n\n return (\n <div className={wrapperClasses} data-testid={testId}>\n <CardBase {...attributes} className={cardClasses} tag={tag} href={tag === 'a' ? href : undefined} />\n </div>\n );\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA4D,sBAC5DC,EAAuB,2BACvBC,EAAiC,sBAyBpBJ,EAAsB,CAAC,CAClC,IAAAK,EAAM,MACN,KAAAC,EAAO,OACP,OAAAC,EACA,QAAAC,EACA,UAAAC,EAAY,GACZ,iBAAAC,EACA,OAAAC,EACA,GAAGC,CACL,IAAM,CACJ,IAAMC,KAAiB,EAAAC,SAAW,eAAgBJ,EAAkB,CAClE,aAAcF,EACd,sBAAuBD,CACzB,CAAC,EACKQ,KAAc,EAAAD,SAAWF,EAAW,UAAW,CACnD,cAAeL,CACjB,CAAC,EAED,OAAIE,EAEA,EAAAO,QAAA,cAAC,EAAAC,KAAA,CACE,GAAGL,EACJ,UAAWG,EACX,IAAKV,EACL,KAAMA,IAAQ,IAAMC,EAAO,OAC3B,cAAaK,EACf,EAKF,EAAAK,QAAA,cAAC,OAAI,UAAWH,EAAgB,cAAaF,GAC3C,EAAAK,QAAA,cAAC,EAAAC,KAAA,CAAU,GAAGL,EAAY,UAAWG,EAAa,IAAKV,EAAK,KAAMA,IAAQ,IAAMC,EAAO,OAAW,CACpG,CAEJ","names":["Card_exports","__export","Card","__toCommonJS","import_react","import_classnames","import_reactstrap","tag","href","teaser","spacing","noWrapper","wrapperClassName","testId","attributes","wrapperClasses","classNames","cardClasses","React","CardBase"]}