design-react-kit
Version:
Componenti React per Bootstrap 5
1 lines • 2.1 kB
Source Map (JSON)
{"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"]}