- Complete React app with 7 developer tools - JSON Tool with visual structured editor - Serialize Tool with visual structured editor - URL, Base64, CSV/JSON, Beautifier, Diff tools - Responsive navigation with dropdown menu - Dark/light mode toggle - Mobile-responsive design with sticky header - All tools working with copy/paste functionality
1 line
3.9 KiB
JSON
1 line
3.9 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/Users/dwindown/CascadeProjects/developer-tools/src/components/CopyButton.js\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { Copy, Check } from 'lucide-react';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst CopyButton = ({\n text,\n className = ''\n}) => {\n _s();\n const [copied, setCopied] = useState(false);\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n } catch (err) {\n console.error('Failed to copy text: ', err);\n }\n };\n return /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: handleCopy,\n className: `copy-button ${className}`,\n title: copied ? 'Copied!' : 'Copy to clipboard',\n children: copied ? /*#__PURE__*/_jsxDEV(Check, {\n className: \"h-4 w-4 text-green-600\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 24,\n columnNumber: 9\n }, this) : /*#__PURE__*/_jsxDEV(Copy, {\n className: \"h-4 w-4 text-gray-600 dark:text-gray-400\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 26,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 5\n }, this);\n};\n_s(CopyButton, \"NE86rL3vg4NVcTTWDavsT0hUBJs=\");\n_c = CopyButton;\nexport default CopyButton;\nvar _c;\n$RefreshReg$(_c, \"CopyButton\");","map":{"version":3,"names":["React","useState","Copy","Check","jsxDEV","_jsxDEV","CopyButton","text","className","_s","copied","setCopied","handleCopy","navigator","clipboard","writeText","setTimeout","err","console","error","onClick","title","children","fileName","_jsxFileName","lineNumber","columnNumber","_c","$RefreshReg$"],"sources":["/Users/dwindown/CascadeProjects/developer-tools/src/components/CopyButton.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { Copy, Check } from 'lucide-react';\n\nconst CopyButton = ({ text, className = '' }) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n } catch (err) {\n console.error('Failed to copy text: ', err);\n }\n };\n\n return (\n <button\n onClick={handleCopy}\n className={`copy-button ${className}`}\n title={copied ? 'Copied!' : 'Copy to clipboard'}\n >\n {copied ? (\n <Check className=\"h-4 w-4 text-green-600\" />\n ) : (\n <Copy className=\"h-4 w-4 text-gray-600 dark:text-gray-400\" />\n )}\n </button>\n );\n};\n\nexport default CopyButton;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,IAAI,EAAEC,KAAK,QAAQ,cAAc;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE3C,MAAMC,UAAU,GAAGA,CAAC;EAAEC,IAAI;EAAEC,SAAS,GAAG;AAAG,CAAC,KAAK;EAAAC,EAAA;EAC/C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EAE3C,MAAMW,UAAU,GAAG,MAAAA,CAAA,KAAY;IAC7B,IAAI;MACF,MAAMC,SAAS,CAACC,SAAS,CAACC,SAAS,CAACR,IAAI,CAAC;MACzCI,SAAS,CAAC,IAAI,CAAC;MACfK,UAAU,CAAC,MAAML,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IAC1C,CAAC,CAAC,OAAOM,GAAG,EAAE;MACZC,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAEF,GAAG,CAAC;IAC7C;EACF,CAAC;EAED,oBACEZ,OAAA;IACEe,OAAO,EAAER,UAAW;IACpBJ,SAAS,EAAE,eAAeA,SAAS,EAAG;IACtCa,KAAK,EAAEX,MAAM,GAAG,SAAS,GAAG,mBAAoB;IAAAY,QAAA,EAE/CZ,MAAM,gBACLL,OAAA,CAACF,KAAK;MAACK,SAAS,EAAC;IAAwB;MAAAe,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC,gBAE5CrB,OAAA,CAACH,IAAI;MAACM,SAAS,EAAC;IAA0C;MAAAe,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE;EAC7D;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACK,CAAC;AAEb,CAAC;AAACjB,EAAA,CA1BIH,UAAU;AAAAqB,EAAA,GAAVrB,UAAU;AA4BhB,eAAeA,UAAU;AAAC,IAAAqB,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |