{"version":3,"file":"612-3400f41a41d090f8aef7.js","mappings":"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","sources":["webpack:///./react-rsuite5/upload/upload.scss?3864","webpack:///./react-rsuite5/upload/index.js","webpack:///./react-rsuite5/upload/upload.scss"],"sourcesContent":["\n      import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./upload.scss\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./upload.scss\";\n       export default content && content.locals ? content.locals : undefined;\n","import React, { useCallback, useState } from 'react';\nimport _ from 'lodash';\nimport Uploader from 'rsuite/Uploader';\nimport Button from 'rsuite/Button';\nimport Form from 'rsuite/Form';\n\nimport { lfLog } from '../../helpers/lf-log';\nimport { RequiredIcon, I18N } from '../../components';\nimport { passRest } from '../../helpers';\n\nimport './upload.scss';\n\nconst makeDefaultValue = defaultValue => {\n  if (_.isArray(defaultValue)) {\n    return defaultValue;\n  } else if (defaultValue != null) {\n    return [defaultValue];\n  }\n  return [];\n};\n\n// shield props component or the uploaded will replace the disabled prop\nconst ShieldedButton = ({ superDisabled, superSize, disabled, hint, ...rest }) => {\n  const inner = (\n    <Button \n      {...rest}\n      size={superSize}\n      disabled={superDisabled}\n    />\n  );\n  \n  if (hint) {\n    return (\n      <div className=\"upload-layout\">\n        <div className=\"upload\">\n          {inner}\n        </div>\n        <div className=\"hint\">\n          {hint}  \n        </div>\n      </div>\n    )\n  }\n  return inner;\n};\n\nconst Upload = I18N(\n  ({\n    name,\n    label,\n    hint,\n    tooltip,\n    required,\n    onChange,\n    multiple,\n    removable,\n    disabledFileItem,\n    fileListVisible,\n    draggable,\n    disabled,\n    accept,\n    defaultValue,\n    listType,\n    uploadButtonLabel,\n    uploadButtonAppearance,\n    uploadButtonSize,\n    draggableText,\n    draggableHeight = 200,\n    value, \n    ...rest\n  }) => {\n    const [currentValue, setCurrentValue] = useState(makeDefaultValue(value));\n\n    const handleChange = useCallback(\n      fileList => {\n        setCurrentValue(fileList);\n        if (multiple) {\n          onChange(fileList);\n        } else {\n          onChange(!_.isEmpty(fileList) ? fileList[0] : null);\n        }\n      },\n      [multiple, onChange]\n    );\n\n    let inner;\n    if (draggable) {\n      inner = (\n        <div style={{ height: draggableHeight, display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n          <span>{draggableText || 'Click or Drag files to this area to upload'}</span>\n        </div>\n      );\n    } else {\n      inner = (\n        <ShieldedButton\n          appearance={uploadButtonAppearance}\n          superSize={uploadButtonSize}\n          superDisabled={disabled || (!multiple && !_.isEmpty(value))}\n          hint={!tooltip && hint}\n        >\n          {uploadButtonLabel || 'Upload' }\n        </ShieldedButton>\n      );\n    }\n\n    return (\n      <div\n        className=\"lf-control-upload\"\n        data-lf-field-name={name}\n      >\n        {label && (\n          <Form.ControlLabel>\n            {label}\n            {hint && tooltip && <Form.HelpText tooltip>{hint}</Form.HelpText>}\n            {required && <RequiredIcon />}\n          </Form.ControlLabel>\n        )} \n        <Uploader\n          autoUpload={false}\n          action=\"\"\n          accept={_.isArray(accept) ? accept.join(',') : accept}\n          multiple={multiple}\n          removable={removable}\n          draggable={draggable}\n          disabled={disabled}\n          fileListVisible={fileListVisible}\n          disabledFileItem={disabledFileItem}\n          fileList={currentValue}\n          listType={listType}\n          onChange={handleChange}\n          {...passRest(rest)}    \n        >\n          {inner}\n        </Uploader>\n        {hint && (draggable && !tooltip) && <Form.HelpText>{hint}</Form.HelpText>}\n      </div>\n    );\n  },\n  ['label', 'hint', 'placeholder', 'uploadButtonLabel', 'draggableText']\n);\nlfLog('Loaded RSuite.Upload');\n\nexport default Upload;","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".lf-control-upload .upload-layout{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:stretch;align-items:center}.lf-control-upload .upload-layout .upload{order:0;flex:0 0 auto;align-self:auto}.lf-control-upload .upload-layout .hint{margin-left:var(--lf-field-column-margin);order:0;flex:1 0 auto;align-self:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./react-rsuite5/upload/upload.scss\"],\"names\":[],\"mappings\":\"AACE,kCACE,YAAA,CACA,kBAAA,CACA,cAAA,CACA,0BAAA,CACA,qBAAA,CACA,kBAAA,CAEA,0CACE,OAAA,CACA,aAAA,CACA,eAAA,CAGF,wCACE,yCAAA,CACA,OAAA,CACA,aAAA,CACA,eAAA\",\"sourcesContent\":[\".lf-control-upload {\\n  .upload-layout {\\n    display: flex;\\n    flex-direction: row;\\n    flex-wrap: wrap;\\n    justify-content: flex-start;\\n    align-content: stretch;\\n    align-items: center;\\n\\n    .upload {\\n      order: 0;\\n      flex: 0 0 auto;\\n      align-self: auto;\\n    }\\n\\n    .hint {\\n      margin-left: var(--lf-field-column-margin);\\n      order: 0;\\n      flex: 1 0 auto;\\n      align-self: auto;\\n    }\\n  }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","ShieldedButton","_ref","superDisabled","superSize","hint","disabled","rest","_objectWithoutProperties","_excluded","inner","React","Button","_extends","size","className","Upload","I18N","_ref2","defaultValue","name","label","tooltip","required","onChange","multiple","removable","disabledFileItem","fileListVisible","draggable","accept","listType","uploadButtonLabel","uploadButtonAppearance","uploadButtonSize","draggableText","_ref2$draggableHeight","draggableHeight","value","_excluded2","_useState","useState","_isArray","_useState2","currentValue","setCurrentValue","handleChange","useCallback","fileList","_isEmpty","style","height","display","alignItems","justifyContent","appearance","Form","RequiredIcon","Uploader","autoUpload","action","join","passRest","lfLog","___CSS_LOADER_EXPORT___","push","module","id"],"sourceRoot":""}