UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

29 lines (27 loc) 1.03 kB
/** * Check if the provided file type should be accepted by the input with accept attribute. * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-accept * * Inspired by https://github.com/enyo/dropzone */ var isFileAccepted = function isFileAccepted(file, acceptedFiles) { if (file && acceptedFiles) { var acceptedFilesArray = acceptedFiles.split(','); 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.startsWith('.')) { 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 { isFileAccepted }; //# sourceMappingURL=isFileAccepted.js.map