JSFiddle - React, Tailwind, and code Playground

by ismusidhu

HTML

<button id="abc">
download csv
</button>

JavaScript

(function(n){"use strict";function t(n){var t;return null===n||void 0===n?void 0:"true"===n?!0:"false"===n?!1:"null"===n?null:"undefined"===n?void 0:""===n?n:isNaN(t=Number(n))?a.test(n)?i(n)||n:n:t}function e(n,e){e=e||",";for(var r,i,o,c=RegExp(e+'(?=(?:[^"]|"(?:[^"])[^"]*")*$)'),f=u(n).split("\n"),s=f.shift().split(e),a=[],l=f.length,p=s.length,y=-1;l>++y;){for(i={},o=f[y].split(c),r=-1;p>++r;)i[s[r]]=t((o[r]||"").replace(/^"|"$/g,""));a.push(i)}return a}function r(n,t,e){t=t||",",e=e!==!1;var u=i(n)||n,c="";return u instanceof Array?u[0]instanceof Object?(e&&(c=g(u[0]).join(t)+"\n"),c+=u.map(function(n){return r(n,t,!1)}).join("\n")):c+=o(u,t)+"\n":(e&&(c=g(u).join(t)+"\n"),c+=v(u).map(function(n){return o(n,t)}).join(t)+"\n"),c.replace(f,"")}function i(n){try{return JSON.parse(n)}catch(t){return void 0}}function o(n,t){var e;return n instanceof Array?(e='"'+(""+n)+'"',s.test(e)&&(e='"'+r(n,t)+'"')):e=n instanceof Object?'"'+r(n,t)+'"':l.test(n)?'"'+n.replace(/"/g,'""')+'"':n,e}function u(n){return n.replace(/^(\s+|\t+)|(\s+|\t+|\n+)$/g,"")}var c=/msie|ie/i,f=/\n$/,s=/\[object Object\]/,a=/^[\[\{]/,l=/^\s|\"|\n|,|\s$/,p=n.navigator,y=p?c.test(p.userAgent):!1,h=y?parseInt(p.userAgent.replace(/(.*msie|;.*)/gi,""),10):null,v=function(){return!y||h>8?function(n,t){t=t===!0;var e=[];return isNaN(n.length)?t?e=g(n):d(n,function(n){e.push(n)}):e=Array.prototype.slice.call(n),e}:function(n,t){t=t===!0;var e=[];if(isNaN(n.length))t?e=g(n):d(n,function(n){e.push(n)});else try{e=Array.prototype.slice.call(n)}catch(r){d(n,function(n,t){"length"!==t&&e.push(n)})}return e}}(),d=function(){return"function"==typeof Object.keys?function(n,t){if("function"!=typeof t)throw Error("Invalid arguments");return Object.keys(n).forEach(function(e){return t.call(n,n[e],e)}),n}:function(n,t){var e,r,i=Object.prototype.hasOwnProperty;if("function"!=typeof t)throw Error("Invalid arguments");for(e in n){if(!i.call(n,e))break;if(r=t.call(n,n[e],e),r===!1)break}return...