/** * Patched version of attr-accept to fix compatibility issues with react-dropzone */ function attrAccept(file, acceptedFiles) { if (file && acceptedFiles) { var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(','); if (acceptedFilesArray.length === 0) { return true; } var fileName = file.name || ''; var mimeType = (file.type || '').toLowerCase(); var baseMimeType = mimeType.replace(/\/.*$/, ''); return acceptedFilesArray.some(function (type) { var validType = type.trim().toLowerCase(); if (validType.charAt(0) === '.') { return fileName.toLowerCase().endsWith(validType); } else if (validType.endsWith('/*')) { // This is something like a image/* mime type return baseMimeType === validType.replace(/\/.*$/, ''); } return mimeType === validType; }); } return true; } // Export as both default and named export to support different import styles export default attrAccept; export { attrAccept };