{"version":3,"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import React, { FC, ButtonHTMLAttributes, ElementType, Ref } from 'react';\nimport classNames from 'classnames';\n\nimport { Button as ButtonBase } from 'reactstrap';\nimport { CSSModule } from 'reactstrap/types/lib/utils';\n\n// reactstrap wrapper\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n  /** Quando abilitato, estende il componente Button fino a prendere tutta la larghezza disponibile */\n  block?: boolean;\n  /** Utilizzarlo disabilitare il colore di sfondo, ed applicarlo invece al bordo.  */\n  outline?: boolean;\n  /** Utilizzarlo in caso di componenti personalizzati */\n  tag?: ElementType;\n  /** Classi aggiuntive da usare per il componente Button */\n  className?: string;\n  /** Oggetto contenente la nuova mappatura per le classi CSS. */\n  cssModule?: CSSModule;\n  innerRef?: Ref<HTMLButtonElement>;\n  /** Da utilizzare si usa una icona nel contenuto del Button */\n  icon?: boolean;\n  /** Da utilizzare per le varianti di dimensione del componente Button */\n  size?: 'lg' | 'sm' | 'xs';\n  /** Da utilizzare per i bottoni di chiusura all'interno di altri componenti (i.e. Chips, Modali, etc...) */\n  close?: boolean;\n  active?: boolean;\n  href?: string;\n  testId?: string;\n}\n\nexport const Button: FC<ButtonProps> = ({\n  tag = 'button',\n  icon = false,\n  color = '',\n  className,\n  testId,\n  ...attributes\n}) => {\n  const classes = classNames(className, {\n    'btn-icon': icon\n  });\n\n  const ariaAttributes = {\n    ...(attributes.disabled && { 'aria-disabled': true })\n  };\n\n  const baseProps = { color, tag };\n\n  return <ButtonBase className={classes} data-testid={testId} {...baseProps} {...attributes} {...ariaAttributes} />;\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkE,sBAClEC,EAAuB,2BAEvBC,EAAqC,sBA2BxBJ,EAA0B,CAAC,CACtC,IAAAK,EAAM,SACN,KAAAC,EAAO,GACP,MAAAC,EAAQ,GACR,UAAAC,EACA,OAAAC,EACA,GAAGC,CACL,IAAM,CACJ,IAAMC,KAAU,EAAAC,SAAWJ,EAAW,CACpC,WAAYF,CACd,CAAC,EAEKO,EAAiB,CACrB,GAAIH,EAAW,UAAY,CAAE,gBAAiB,EAAK,CACrD,EAIA,OAAO,EAAAI,QAAA,cAAC,EAAAC,OAAA,CAAW,UAAWJ,EAAS,cAAaF,EAAS,GAF3C,CAAE,MAAAF,EAAO,IAAAF,CAAI,EAE6C,GAAGK,EAAa,GAAGG,EAAgB,CACjH","names":["Button_exports","__export","Button","__toCommonJS","import_react","import_classnames","import_reactstrap","tag","icon","color","className","testId","attributes","classes","classNames","ariaAttributes","React","ButtonBase"]}