{"version":3,"file":"487-e95a31b0dd04a0ed44fb.js","mappings":"s+BAQA,IAAMA,GAAsBC,EAAAA,EAAAA,KAC1B,SAAAC,GAeM,I,IAdJC,EAAID,EAAJC,KACAC,EAAKF,EAALE,MACAC,EAAIH,EAAJG,KACAC,EAAKJ,EAALI,MAAKC,EAAAL,EACLM,SAAAA,OAAQ,IAAAD,GAAQA,EACAE,GADAP,EAChBQ,SAAgBR,EAChBS,UAAAA,OAAQ,IAAAF,GAAQA,EAAAG,EAAAV,EAChBW,OAAAA,OAAM,IAAAD,GAAQA,EAAAE,EAAAZ,EACda,QAAAA,OAAO,IAAAD,GAAQA,EACfE,EAAKd,EAALc,MACAC,EAAQf,EAARe,SACMC,GAAAhB,EAANiB,OAAMjB,EACNkB,SAAAA,OAAO,IAAAF,EAAG,GAAEA,EACTG,E,kXAAIC,CAAApB,EAAAqB,GAE0CC,G,GAArBC,EAAAA,EAAAA,UAASnB,QAAAA,EAAS,I,EAAG,E,unBAA1CoB,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,GAAeC,EAAAA,EAAAA,cACnB,SAAAC,GACE,IAAIC,EAEFA,EADEL,EAAOM,SAASF,EAAEG,OAAO3B,OACfoB,EAAOQ,QAAO,SAAA5B,GAAK,OAAIA,IAAUwB,EAAEG,OAAO3B,KAAK,IAE/C,GAAH6B,O,yWAAAC,CAAOV,GAAM,CAAEI,EAAEG,OAAO3B,QAEnCqB,EAAUI,GACVd,EAASc,EACX,GACA,CAACd,EAAUS,IAGb,OACEW,IAAAA,cAACC,EAAAA,EAAAA,MAAU,CACTC,UAAU,yBACV,qBAAoBpC,GAEpBkC,IAAAA,cAACC,EAAAA,EAAAA,MAAU,KACRlC,EACAO,GAAY0B,IAAAA,cAACG,EAAAA,GAAY,OAE5BH,IAAAA,cAAA,YACIjB,QAAAA,EAAW,IAAIqB,KAAI,SAAAC,EAAkBC,GAAG,IAAlBrC,EAAKoC,EAALpC,MAAOF,EAAKsC,EAALtC,MAAK,OAClCiC,IAAAA,cAACC,EAAAA,EAAAA,MAAU,CACTM,KAAK,WACLC,IAAKvC,EACLS,QAASA,EACTF,OAAQA,GAERwB,IAAAA,cAACC,EAAAA,EAAAA,MAAAA,MAAgBQ,EAAA,CACftC,SAAUA,EACVoC,KAAK,QACLtC,MAAOA,EACPH,KAAMA,EACN4C,GAAE,GAAAZ,OAAKhC,EAAI,KAAAgC,OAAI7B,GACf0C,UAAoB,MAAThC,EACXiC,QAASvB,EAAOM,SAAS1B,GACzBW,SAAUW,GACLsB,IAAO7B,EAAM,cAAe,iBAElCjB,GAASiC,IAAAA,cAACC,EAAAA,EAAAA,MAAAA,MAAgB,CAACa,QAAO,GAAAhB,OAAKhC,EAAI,KAAAgC,OAAI7B,IAAUF,GACzDgD,IAAWpC,KAAWqC,IAAUrC,IAAW2B,IAASvB,EAAQkC,OAAQ,GACnEjB,IAAAA,cAACC,EAAAA,EAAAA,QAAAA,SAAqB,CAACM,KAAK,WAAW5B,GAE9B,KAGhBX,GAAQgC,IAAAA,cAACC,EAAAA,EAAAA,KAAS,KAAEjC,GACpB+C,IAAWpC,KAAWqC,IAAUrC,IAC/BqB,IAAAA,cAACC,EAAAA,EAAAA,QAAAA,SAAqB,CAACM,KAAK,WAAW5B,GAI/C,GACA,CAAC,QAAS,QACV,CACEI,QAASmC,EAAAA,MAIbC,EAAAA,EAAAA,GAAM,kCAEN,W","sources":["webpack:///./react-bootstrap/radio-group/index.js"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport _ from 'lodash';\nimport Form from 'react-bootstrap/Form';\n\nimport { RequiredIcon, I18N } from '../../components';\nimport { i18nOptions } from '../../helpers';\nimport { lfLog } from '../../helpers/lf-log';\n\nconst RadioGroupBootstrap = I18N(\n  ({\n    name,\n    label,\n    hint,\n    value,\n    disabled = false,\n    readOnly = false,\n    required = false,\n    inline = false,\n    reverse = false,\n    error,\n    onChange,\n    onBlur,\n    options = [],\n    ...rest\n  }) => {\n    const [values, setValues] = useState(value ?? []);\n\n    const handleChange = useCallback(\n      e => {\n        let newValues;\n        if (values.includes(e.target.value)) {\n          newValues = values.filter(value => value !== e.target.value);\n        } else {\n          newValues = [...values, e.target.value];\n        }\n        setValues(newValues);\n        onChange(newValues);\n      },\n      [onChange, values]\n    );\n\n    return (\n      <Form.Group\n        className=\"lf-control-radio-group\"\n        data-lf-field-name={name}\n      >\n        <Form.Label>\n          {label}\n          {required && <RequiredIcon />}\n        </Form.Label>\n        <div>\n          {(options ?? []).map(({ value, label}, idx) => (\n            <Form.Check\n              type=\"checkbox\"\n              key={value}\n              reverse={reverse}\n              inline={inline}\n            >\n              <Form.Check.Input\n                disabled={disabled}\n                type=\"radio\"\n                value={value}\n                name={name}\n                id={`${name}_${value}`}\n                isInvalid={error != null}\n                checked={values.includes(value)}\n                onChange={handleChange}\n                {...(_.omit(rest, 'lfFramework', 'lfComponent'))}\n              />\n              {label && <Form.Check.Label htmlFor={`${name}_${value}`}>{label}</Form.Check.Label>}\n              {_.isString(error) && !_.isEmpty(error) && (idx === (options.length -1)) && (\n                <Form.Control.Feedback type=\"invalid\">{error}</Form.Control.Feedback>\n              )}\n            </Form.Check>\n          ))}\n        </div>\n        {hint && <Form.Text>{hint}</Form.Text>}\n        {_.isString(error) && !_.isEmpty(error) && (\n          <Form.Control.Feedback type=\"invalid\">{error}</Form.Control.Feedback>\n        )}\n      </Form.Group>\n    );\n  },\n  ['label', 'hint'],\n  {\n    options: i18nOptions\n  }\n);\n\nlfLog('Loaded ReactBootrap.RadioGroup');\n\nexport default RadioGroupBootstrap;\n"],"names":["RadioGroupBootstrap","I18N","_ref","name","label","hint","value","_ref$disabled","disabled","_ref$required","readOnly","required","_ref$inline","inline","_ref$reverse","reverse","error","onChange","_ref$options","onBlur","options","rest","_objectWithoutProperties","_excluded","_useState2","useState","values","setValues","handleChange","useCallback","e","newValues","includes","target","filter","concat","_toConsumableArray","React","Form","className","RequiredIcon","map","_ref2","idx","type","key","_extends","id","isInvalid","checked","_omit","htmlFor","_isString","_isEmpty","length","i18nOptions","lfLog"],"sourceRoot":""}