{"version":3,"file":"179-c10909bbf0e339ad73fd.js","mappings":"2sBAOA,IAAMA,GAASC,EAAAA,EAAAA,KACb,SAAAC,GAqBM,IAAAC,E,EApBJC,EAAIF,EAAJE,KAEAC,GADQH,EAARI,SACKJ,EAALG,OACAE,EAAIL,EAAJK,KACAC,EAAKN,EAALM,MACAC,EAAQP,EAARO,SACAC,EAAMR,EAANQ,OACAC,EAAKT,EAALS,MACAC,EAAQV,EAARU,SACAC,EAAWX,EAAXW,YACAC,EAAQZ,EAARY,SACAC,EAAQb,EAARa,SAEAC,GADId,EAAJe,KACKf,EAALc,OACAE,EAAShB,EAATgB,UACAC,EAAOjB,EAAPiB,QACAC,EAAWlB,EAAXkB,YACAC,EAASnB,EAATmB,UAEGC,E,kXAAIC,CAAArB,EAAAsB,GAEDC,EAAWd,GAASe,IAAWf,GAC/BgB,GAAeC,EAAAA,EAAAA,cACnB,SAAAC,GAAC,OAAIpB,EAA4B,KAAnBoB,EAAEC,OAAOtB,MAAe,KAAOqB,EAAEC,OAAOtB,MAAM,GAC5D,CAACC,IAGCsB,EAAqD,QAAjD5B,GAAG6B,EAAAA,EAAAA,IAAcb,EAASC,EAAaC,UAAU,IAAAlB,EAAAA,EAAI,GAQ7D,OAPIU,IACFkB,EAAO,CACL,CAAEvB,MAAO,GAAIH,MAAOQ,IAAaoB,O,+CAC9BF,I,kkBAKLG,IAAAA,cAAA,OACEC,UAAU,gDACV,qBAAoB/B,GAEpB8B,IAAAA,cAAA,SAAOE,IAAKhC,GACTC,EACAU,GAAYmB,IAAAA,cAACG,EAAAA,GAAY,OAE5BH,IAAAA,cAAA,SAAAI,EAAA,CACEC,GAAInC,EACJI,MAAOA,EACPC,SAAUkB,EACVjB,OAAQA,EACRG,YAAaA,EACb2B,OAAOC,EAAAA,EAAAA,IAAevB,EAAWF,GACjCJ,SAAUA,EACVE,SAAUA,IACN4B,EAAAA,EAAAA,IAASpB,IAEZS,EAAKY,KAAI,SAAAC,GAAM,OACdV,IAAAA,cAAA,UAAQW,IAAKD,EAAOpC,MAAOA,MAAOoC,EAAOpC,OAAQoC,EAAOvC,MAAe,KAG1EE,IAASkB,GAAYS,IAAAA,cAAA,OAAKC,UAAU,yBAAyB5B,GAC7DkB,GAAYS,IAAAA,cAAA,OAAKC,UAAU,+BAA+BxB,GAGjE,GACA,CAAC,QAAS,OAAQ,eAClB,CACEQ,QAAS2B,EAAAA,MAGbC,EAAAA,EAAAA,GAAM,uBAEN,W","sources":["webpack:///./react/select/index.js"],"sourcesContent":["import React, { useCallback } from 'react';\nimport _ from 'lodash';\n\nimport { I18N, RequiredIcon } from '../../components';\nimport { makeWidthStyle, passRest, filterOptions, i18nOptions } from '../../helpers';\nimport { lfLog } from '../../helpers/lf-log';\n\nconst Select = I18N(\n  ({\n    name,\n    lfLocale,\n    label,\n    hint,\n    value,\n    onChange,\n    onBlur,\n    error,\n    disabled,\n    placeholder,\n    readOnly,\n    required,\n    size,\n    width,\n    fullWidth,\n    options,\n    filterValue,\n    filterKey,\n\n    ...rest\n  }) => {\n    const hasError = error && _.isString(error);\n    const handleChange = useCallback(\n      e => onChange(e.target.value === '' ? null : e.target.value),\n      [onChange]\n    );\n\n    let opts = filterOptions(options, filterValue, filterKey) ?? [];\n    if (placeholder) {\n      opts = [\n        { value: '', label: placeholder },\n        ...opts\n      ];\n    }\n\n    return (\n      <div\n        className=\"lf-control-select lf-form-react-control-group\"\n        data-lf-field-name={name}\n      >\n        <label for={name}>\n          {label}\n          {required && <RequiredIcon />}\n        </label>\n        <select\n          id={name}\n          value={value}\n          onChange={handleChange}\n          onBlur={onBlur}\n          placeholder={placeholder}\n          style={makeWidthStyle(fullWidth, width)}\n          disabled={disabled}\n          readOnly={readOnly}\n          {...passRest(rest)}\n        >\n          {opts.map(option => (\n            <option key={option.value} value={option.value}>{option.label}</option>\n          ))}\n        </select>\n        {hint && !hasError && <div className=\"lf-form-react-message\">{hint}</div>}\n        {hasError && <div className=\"lf-form-react-error-message\">{error}</div>}\n      </div>\n    );\n  },\n  ['label', 'hint', 'placeholder'],\n  {\n    options: i18nOptions\n  }\n);\nlfLog('Loaded React.Select');\n\nexport default Select;\n"],"names":["Select","I18N","_ref","_filterOptions","name","label","lfLocale","hint","value","onChange","onBlur","error","disabled","placeholder","readOnly","required","width","size","fullWidth","options","filterValue","filterKey","rest","_objectWithoutProperties","_excluded","hasError","_isString","handleChange","useCallback","e","target","opts","filterOptions","concat","React","className","for","RequiredIcon","_extends","id","style","makeWidthStyle","passRest","map","option","key","i18nOptions","lfLog"],"sourceRoot":""}