JSFiddle - React, Tailwind, and code Playground

JavaScript

function saveAs(blob, fileName) {
	var url = window.URL.createObjectURL(blob);

	var anchorElem = document.createElement("a");
	anchorElem.style = "display: none";
	anchorElem.href = url;
	anchorElem.download = fileName;
	console.log(document);

	document.body.appendChild(anchorElem);
	anchorElem.click();
	

	document.body.removeChild(anchorElem);

	// On Edge, revokeObjectURL should be called only after
	// a.click() has completed, atleast on EdgeHTML 15.15048
	setTimeout(function() {
		window.URL.revokeObjectURL(url);
	}, 1000);
}

(function() {
	// convert base64 string to byte array
	var byteCharacters =...