{"version":3,"sources":["../../src/Select/Select.tsx"],"sourcesContent":["import React, { ChangeEvent, ReactElement, SelectHTMLAttributes } from 'react';\n\nexport interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'onChange'> {\n  /**\n   * Se `true` determina la disabilitazione del campo\n   */\n  disabled?: boolean;\n  /**\n   * L'etichetta del campo\n   */\n  label: string;\n  /**\n   * La lista di opzioni da visualizzare nella tendina del Select\n   */\n  children: ReactElement<'option'> | ReactElement<'option'>[];\n  /**\n   * Gestisce il cambio del valore selezionato\n   * @param selectedValue\n   * @returns\n   */\n  onChange: (selectedValue: string) => void;\n}\n\nexport const Select = ({ id, disabled = false, label, children, onChange, ...rest }: SelectProps) => {\n  const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n    onChange(e.target.value);\n  };\n\n  const inputProps = {\n    ...rest,\n    disabled: disabled,\n    onChange: handleChange\n  };\n\n  return (\n    <div className='select-wrapper'>\n      {id ? (\n        <>\n          <label htmlFor={id}>{label}</label>\n          <select id={id} {...inputProps}>\n            {children}\n          </select>\n        </>\n      ) : (\n        <label>\n          {label}\n          <select {...inputProps}>{children}</select>\n        </label>\n      )}\n    </div>\n  );\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuE,sBAuB1DF,EAAS,CAAC,CAAE,GAAAG,EAAI,SAAAC,EAAW,GAAO,MAAAC,EAAO,SAAAC,EAAU,SAAAC,EAAU,GAAGC,CAAK,IAAmB,CAKnG,IAAMC,EAAa,CACjB,GAAGD,EACH,SAAUJ,EACV,SAPoBM,GAAsC,CAC1DH,EAASG,EAAE,OAAO,KAAK,CACzB,CAMA,EAEA,OACE,EAAAC,QAAA,cAAC,OAAI,UAAU,kBACZR,EACC,EAAAQ,QAAA,gBAAAA,QAAA,cACE,EAAAA,QAAA,cAAC,SAAM,QAASR,GAAKE,CAAM,EAC3B,EAAAM,QAAA,cAAC,UAAO,GAAIR,EAAK,GAAGM,GACjBH,CACH,CACF,EAEA,EAAAK,QAAA,cAAC,aACEN,EACD,EAAAM,QAAA,cAAC,UAAQ,GAAGF,GAAaH,CAAS,CACpC,CAEJ,CAEJ","names":["Select_exports","__export","Select","__toCommonJS","import_react","id","disabled","label","children","onChange","rest","inputProps","e","React"]}