@korautils/forms
Version:

1 lines • 4.13 kB
Source Map (JSON)
{"version":3,"sources":["../src/modules/core/components/shared/Select/styles.tsx","../src/modules/core/components/shared/Select/Select.tsx","../src/modules/core/components/shared/Select/index.tsx"],"names":["SelectWrapper","styled","Select","React","id","uuidv4","name","label","size","defaultNoneText","value","helperText","onChange","options","showNone","error","ref","onChangeFn","event","newValue","jsx","jsxs","FormControl","InputLabel","MuiSelect","MenuItem","option","index","FormHelperText","Select_default"],"mappings":"yNAEO,IAAMA,CAAAA,CAAqBC,OAAO,KAAK,CAAA;AAAA;ACD9C,CAAA,CAwBA,IAAMC,EAA0BC,CAAM,CAAA,UAAA,CAAW,SAC/C,CACE,GAAAC,CAAKC,CAAAA,CAAAA,EACL,CAAA,IAAA,CAAAC,EAAOD,CAAO,EAAA,CACd,MAAAE,CACA,CAAA,IAAA,CAAAC,EAAO,OACP,CAAA,eAAA,CAAAC,CAAkB,CAAA,MAAA,CAClB,MAAAC,CACA,CAAA,UAAA,CAAAC,CACA,CAAA,QAAA,CAAAC,EACA,OAAAC,CAAAA,CAAAA,CACA,QAAAC,CAAAA,CAAAA,CAAW,GACX,KAAAC,CAAAA,CACF,EACAC,CACA,CAAA,CACA,IAAMC,CAAcC,CAAAA,CAAAA,EAA6B,CAC/C,IAAMC,EAAWD,CAAM,CAAA,MAAA,CAAO,MAC9BN,CAASM,CAAAA,CAAAA,CAAOC,CAAQ,EAC1B,CAAA,CAEA,OACEC,GAAAA,CAACpB,EAAA,CACC,QAAA,CAAAqB,KAACC,WAAA,CAAA,CAAY,KAAMd,CAAM,CAAA,SAAA,CAAS,CAAC,CAAA,CAAA,KAAA,CAAOO,EACvC,QAAAR,CAAAA,CAAAA,CAAAA,EAASa,GAACG,CAAAA,UAAAA,CAAA,CAAW,EAAI,CAAA,CAAA,MAAA,EAASnB,CAAE,CAAA,CAAA,CAAK,SAAAG,CAAM,CAAA,CAAA,CAEhDc,KAACG,CAAA,CAAA,CACC,IAAKR,CACL,CAAA,IAAA,CAAMV,CACN,CAAA,OAAA,CAAS,SAASF,CAAE,CAAA,CAAA,CACpB,EAAI,CAAA,CAAA,OAAA,EAAUA,CAAE,CAChB,CAAA,CAAA,KAAA,CAAOM,CACP,CAAA,KAAA,CAAOH,EACP,QAAUU,CAAAA,CAAAA,CAET,UAAAH,CACCM,EAAAA,GAAAA,CAACK,SAAA,CAAS,KAAA,CAAM,WACd,CAAA,QAAA,CAAAL,IAAC,IAAI,CAAA,CAAA,QAAA,CAAAX,CAAgB,CAAA,CAAA,CACvB,EAGDI,CAAS,EAAA,GAAA,CAAI,CAACa,CAAAA,CAAQC,IACrBP,GAACK,CAAAA,QAAAA,CAAA,CAAS,KAAOC,CAAAA,CAAAA,CAAO,MACrB,QAAAA,CAAAA,CAAAA,CAAO,KAD0BA,CAAAA,CAAAA,CAAAA,CAAO,KAE3C,CACD,CAAA,CAAA,CACH,EACCf,CAAcS,EAAAA,GAAAA,CAACQ,eAAA,CAAgB,QAAA,CAAAjB,CAAW,CAAA,CAAA,CAAA,CAC7C,EACF,CAEJ,CAAC,EAEMkB,CAAQ3B,CAAAA,CAAAA,KC5ER2B,CAAQA,CAAAA","file":"chunk-OKMYB4ZY.mjs","sourcesContent":["import { styled } from '@mui/material'\n\nexport const SelectWrapper:any = styled('div')`\n width: 100%;\n`\n","import { SelectWrapper } from '@/modules/core/components/shared/Select/styles'\nimport MuiSelect, { SelectChangeEvent } from '@mui/material/Select'\nimport { uuidv4 } from '@/modules/core/utils'\n\nimport {\n FormControl,\n FormHelperText,\n InputLabel,\n MenuItem,\n} from '@mui/material'\nimport { ElementProps } from '@/modules/builder/interfaces/elements/types'\nimport React from 'react'\n\ninterface SelectOption {\n label?: any\n value?: string\n}\n\ninterface Props extends ElementProps {\n value?: string\n showNone?: boolean\n defaultNoneText?: string\n options?: Array<SelectOption>\n}\n\nconst Select: React.FC<Props> = React.forwardRef(function Field(\n {\n id = uuidv4(),\n name = uuidv4(),\n label,\n size = 'small',\n defaultNoneText = 'None',\n value,\n helperText,\n onChange,\n options,\n showNone = true,\n error,\n },\n ref\n) {\n const onChangeFn = (event: SelectChangeEvent) => {\n const newValue = event.target.value\n onChange(event, newValue)\n }\n\n return (\n <SelectWrapper>\n <FormControl size={size} fullWidth error={error}>\n {label && <InputLabel id={`label_${id}`}>{label}</InputLabel>}\n\n <MuiSelect\n ref={ref}\n name={name}\n labelId={`label_${id}`}\n id={`select_${id}`}\n value={value}\n label={label}\n onChange={onChangeFn}\n >\n {showNone && (\n <MenuItem value=\"Kora_None\">\n <em>{defaultNoneText}</em>\n </MenuItem>\n )}\n\n {options?.map((option, index) => (\n <MenuItem value={option.value} key={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </MuiSelect>\n {helperText && <FormHelperText>{helperText}</FormHelperText>}\n </FormControl>\n </SelectWrapper>\n )\n})\n\nexport default Select\n","import Select from '@/modules/core/components/shared/Select/Select'\n\nexport default Select\n"]}