diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a547bf3..0000000 --- a/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/README.md b/README.md deleted file mode 100644 index b88fb6d..0000000 --- a/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# invert-css-variables-ui - -A simple UI to bulk invert CSS variables. -Good for creating light/dark themes - just invert the colors and you're more than likely halfway there. - -- Uses [@invert-css](https://www.npmjs.com/package/invert-css), a package I made to invert the variables. - -## Usage - -Example input: - -```bash - --accent-1: #111; - --accent-2: rgb(255,170,204); - --accent-3: hsl(340,100%,88%); - --accent-4: #FFFFFF; -``` - -Example output: - -``` - --accent-1: #eeeeee; - --accent-2: rgb(0,85,51); - --accent-3: hsl(160,100%,88%); - --accent-4: #000000; -``` - -- Invalid CSS variables/input will just output the invalid input. A console error will be logged. - -## Features - -- Maintains the variable names and output will have proper spacing. -- Copy to clipboard. - -### Supported Color Formats - -- Hex (both short `#123` and long `#112233` formats) -- RGB (`rgb(255,255,255)`) -- RGBA (`rgba(255,255,255,0.5)`) -- HSL (`hsl(120,100%,50%)`) -- HSLA (`hsla(120,100%,50%,0.5)`) \ No newline at end of file diff --git a/src/fonts/neue/NeueMontreal-Medium.woff2 b/assets/NeueMontreal-Medium-fbe12ebf.woff2 similarity index 100% rename from src/fonts/neue/NeueMontreal-Medium.woff2 rename to assets/NeueMontreal-Medium-fbe12ebf.woff2 diff --git a/src/fonts/neue/NeueMontreal-Regular.woff2 b/assets/NeueMontreal-Regular-d6b4fed2.woff2 similarity index 100% rename from src/fonts/neue/NeueMontreal-Regular.woff2 rename to assets/NeueMontreal-Regular-d6b4fed2.woff2 diff --git a/src/fonts/basement-expanded.woff2 b/assets/basement-expanded-10831ce3.woff2 similarity index 100% rename from src/fonts/basement-expanded.woff2 rename to assets/basement-expanded-10831ce3.woff2 diff --git a/assets/index-01c63dda.css b/assets/index-01c63dda.css new file mode 100644 index 0000000..946ca22 --- /dev/null +++ b/assets/index-01c63dda.css @@ -0,0 +1 @@ +@font-face{font-display:block;font-family:basement;font-style:normal;font-weight:900;src:url(basement-expanded-10831ce3.woff2) format("woff2")}@font-face{font-display:swap;font-family:Neue;font-style:normal;font-weight:400;src:url(NeueMontreal-Regular-d6b4fed2.woff2) format("woff2")}@font-face{font-display:swap;font-family:Neue;font-style:normal;font-weight:500;src:url(NeueMontreal-Medium-fbe12ebf.woff2) format("woff2")}:root{--selection: #f81ce5;--white1: #f7f5f5;--white2: #cccbcb;--white3: #b0aeae;--black0: #000;--black1: #0e0e0f;--black2: #333;--accent-1: #111;--accent-3: #333;--accent-6: #888;--accent-7: #eaeaea;--accent-8: #fafafa;--accent-9: #b6b9c2;--primaryFont: "Neue", sans-serif, -apple-system, ui-sans-serif, system-ui, blinkmacsystemfont, segoe ui, roboto, helvetica neue, arial, noto sans, sans-serif, monospace;--secondaryFont: "basement", georgia, sans-serif, -apple-system, ui-sans-serif, system-ui, blinkmacsystemfont, segoe ui, roboto, helvetica neue, arial, noto sans, sans-serif, monospace;--br-1: 5px;--grad-vert-1: linear-gradient(0deg, hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, .05)), radial-gradient(50% 50% at 50% 100%, hsla(0, 0%, 100%, .1) 0, hsla(0, 0%, 100%, 0) 100%)}*,*:before,*:after{box-sizing:border-box;padding:0;border:0;margin:0}html{font-size:18px;line-height:1.15;-moz-tab-size:4;tab-size:4;text-size-adjust:100%}body{position:relative;width:calc(100vw - (100vw - 100%));background:var(--black0);color:var(--white1);font-family:var(--primaryFont);font-size:1rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:inherit;overflow-x:hidden;overflow-y:scroll}button{padding:0;margin:0;background:none;cursor:pointer;line-height:1.15;outline:none;text-transform:none}textarea{width:100%;min-height:4rem;padding:.5rem;border:1px solid var(--black2);border-radius:var(--br-1);background:none;color:var(--white1);font-size:.875rem;resize:none;text-transform:none}textarea::placeholder{color:var(--white-3)}a:focus-visible,input:focus-visible,input[type=radio]:focus-visible+label,label:focus-visible,textarea:focus-visible,button:focus-visible{outline:1.5px dotted var(--white1)}::selection{background-color:var(--selection);color:var(--white1)}.header{align-items:center;font-size:.85rem;height:60px;display:flex;border-bottom:1px solid var(--accent-4);justify-content:space-between;position:relative;flex-direction:row;padding:0 .5rem}.hc1{padding-left:2px;height:100%;display:flex;width:auto;flex-direction:column;justify-content:center}.header h1,.header h2{font-family:var(--secondaryFont);text-decoration:none;width:auto;font-size:.85rem;text-wrap:nowrap;-webkit-background-clip:text;background-clip:text;color:var(--accent-9);background:var(--black0)}.header h1{line-height:1.4}.hc2{width:100%}.hc2{display:flex;justify-content:flex-end}.hc2 button,.github-link{margin-left:10px;height:2rem;align-items:center;display:flex;color:var(--accent-7);justify-content:center;cursor:pointer;border-radius:var(--br-1);font-size:.8rem;border:1px solid var(--accent-3)}.run-btn{cursor:pointer;background:var(--grad-vert-1);padding:0 1rem}.float-copy,.float-reset,.github-link{background:var(--black1);width:2rem!important}.github-link{background:var(--black0);border:1px solid transparent}.float-copy svg,.float-reset svg,.github-link svg{stroke:var(--accent-7);height:1rem!important;width:1rem!important;fill:none}.hc2 button:hover,.github-link:hover{background:var(--black2)}.main{-moz-column-gap:10px;column-gap:10px;display:grid;grid-template-columns:1fr 1fr;height:calc(100vh - 70px);padding:0 .5rem}.input-wrapper,.output-wrapper{border-radius:var(--br-1);font-size:100%;margin:0 auto;padding:40px 0 4px;position:relative;width:100%}.input-wrapper{background:var(--black1);border:1px solid var(--accent-3);height:100%}.output-wrapper{background:hsla(0,0%,9%,.1);border:1px solid var(--accent-1);height:100%;margin-top:auto;overflow:scroll}.input-wrapper:before,.output-wrapper:before{color:var(--accent-9);content:attr(data-title);font-size:.875rem;font-weight:500;height:40px;line-height:40px;margin:0 auto;position:absolute;top:0;width:100%;left:.5rem}.textinput,.textoutput{border:none;box-shadow:none;color:var(--accent-8);font-size:1rem;height:100%;margin:0 auto;padding:0 2px;outline:none;resize:none;width:100%;font-family:monospace;line-height:1.15}.output-wrapper::-webkit-scrollbar,.textinput::-webkit-scrollbar{height:10px;width:10px}.output-wrapper::-webkit-scrollbar-thumb,.textinput::-webkit-scrollbar-thumb{background:var(--black2);border-radius:var(--br-1);min-height:50px}.output-wrapper:hover::-webkit-scrollbar-thumb,.textinput:hover::-webkit-scrollbar-thumb{background:inherit;background:var(--accent-6)}.output-wrapper::-webkit-scrollbar,.output-wrapper::-webkit-scrollbar-corner,.output-wrapper::-webkit-scrollbar-track,.textinput::-webkit-scrollbar-corner{background:var(--black1)}.textinput::-webkit-scrollbar,.textinput::-webkit-scrollbar-track{background:var(--black2)}@media screen and (max-width: 1020px){html{font-size:16px}}@media screen and (max-width:640px){.main{-moz-column-gap:0;column-gap:0;grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:calc(100vh - 50px);row-gap:0}.header{height:50px;padding-left:8px}.input-wrapper:before,.output-wrapper:before{height:50px;line-height:50px}}@media screen and (max-width: 390px){html{font-size:14px}} diff --git a/assets/index-d69a43ac.js b/assets/index-d69a43ac.js new file mode 100644 index 0000000..49206ca --- /dev/null +++ b/assets/index-d69a43ac.js @@ -0,0 +1,41 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))i(t);new MutationObserver(t=>{for(const r of t)if(r.type==="childList")for(const n of r.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&i(n)}).observe(document,{childList:!0,subtree:!0});function c(t){const r={};return t.integrity&&(r.integrity=t.integrity),t.referrerPolicy&&(r.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?r.credentials="include":t.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(t){if(t.ep)return;t.ep=!0;const r=c(t);fetch(t.href,r)}})();var h=Object.defineProperty,s=(o,e)=>h(o,"name",{value:e,configurable:!0}),g={includedRoot:` + only pass the variables to this function, not the entire :root block. + Example: + invertColorsInRoot(\` + --accent-1: #111; + --accent-2: rgb(255,170,204); + --accent-3: #333; + --accent-4: #444;\`)`},v=g,d=s(o=>{let e=Number.parseInt(o,10);return Number.isNaN(e)||e<0||e>255?null:255-e},"invertRgb"),$=s(o=>{let e=Number.parseInt(o,10);return Number.isNaN(e)||e<0||e>=360?null:(e+180)%360},"flipHue");function m(o){let e=o.trim();if(/^#([\dA-Fa-f]{3}){1,2}$/.test(e)){let t=e.length===4,r=e.toLowerCase()===e,n=t?e.slice(1).split("").map(a=>a+a).join(""):e.slice(1);if(n.length!==6)return null;let l="";for(let a=0;a1)?null:l===null?`rgb(${t},${r},${n})`:`rgba(${t},${r},${n},${l})`}let i=e.match(/^hsla?\((\d{1,3}),\s*(\d{1,3})%,\s*(\d{1,3})%(,\s*([\d.]+))?\)$/);if(i){let t=$(i[1]),r=Number.parseInt(i[2],10),n=Number.parseInt(i[3],10),l=i[5]?Number.parseFloat(i[5]):null;return t===null||Number.isNaN(r)||r<0||r>100||Number.isNaN(n)||n<0||n>100||l!==null&&(Number.isNaN(l)||l<0||l>1)?null:l===null?`hsl(${t},${r}%,${n}%)`:`hsla(${t},${r}%,${n}%,${l})`}return null}s(m,"invertColor");function b(o){return o.split(` +`).map(e=>e.trimStart()).join(` +`).trim()}s(b,"removePadding");function N(o){let e=b(o);if(e.slice(0,4)==="root")return console.log(v.includedRoot),o;let c=[],i=e.trim().split(` +`);for(let t of i){let[r,n]=t.split(":").map(a=>a.trim());if(!r||!n)return console.log(`Invalid CSS variable declaration: ${t}`),o;let l=m(n.replace(/;$/,""));if(!l)return console.log(`Invalid color value: ${n}`),o;c.push(` ${r}: ${l};`)}return` +${c.join(` +`).trimEnd()}`}s(N,"invert");const u=document.querySelector(".textinput"),f=document.querySelector(".textoutput"),y=document.querySelector(".float-copy"),E=document.querySelector(".float-reset"),S=document.querySelector(".run-btn"),x=` + > Invert CSS variables with ease. + > Just paste variables and run + > Perfect for creating themes. + + -------------------------------------------- + + > ACCEPTED COLOR FORMATS + --color-1: #eee; + --color-2: #EEEEEE; + --color-3: rgb(0,85,51); + --color-4: rgba(0,85,51,0.5); + --color-5: hsl(160,100%,88%); + --color-4: hsla(160,100%,88%,0.5); +`,C=` +--selection: #f81ce5; +--white1: #f7f5f5; +--white2: #cccbcb; +--white3: #b0aeae; +--black0: #000; +--black1: #0e0e0f; +--black2: #333; +--accent-1: #111; +--accent-3: #333; +--accent-6: #888; +--accent-7: #eaeaea; +--accent-8: #fafafa; +--accent-9: #b6b9c2; +`;u.setAttribute("placeholder",x);u.textContent=C;const L=o=>{navigator.clipboard.writeText(o)},I=()=>{f.innerText="",u.innerText=""},O=()=>{const o=u.value;o&&(f.innerText=N(o))};S.addEventListener("click",O);y.addEventListener("click",()=>{L(f.innerText)});E.addEventListener("click",I); diff --git a/public/favicon.svg b/favicon.svg similarity index 100% rename from public/favicon.svg rename to favicon.svg diff --git a/index.html b/index.html index 309a2fc..20ef779 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,8 @@ invert-css + + @@ -38,7 +40,7 @@

css vars

- + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index fdcd5c7..0000000 --- a/package-lock.json +++ /dev/null @@ -1,1021 +0,0 @@ -{ - "name": "invert-css-variables-ui", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "invert-css-variables-ui", - "version": "0.0.0", - "dependencies": { - "invert-css": "^1.0.4" - }, - "devDependencies": { - "gh-pages": "^6.0.0", - "typescript": "^5.0.2", - "vite": "^4.4.5" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/email-addresses": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", - "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gh-pages": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.0.0.tgz", - "integrity": "sha512-FXZWJRsvP/fK2HJGY+Di6FRNHvqFF6gOIELaopDjXXgjeOYSNURcuYwEO/6bwuq6koP5Lnkvnr5GViXzuOB89g==", - "dev": true, - "dependencies": { - "async": "^3.2.4", - "commander": "^11.0.0", - "email-addresses": "^5.0.0", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^11.1.1", - "globby": "^6.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/invert-css": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/invert-css/-/invert-css-1.0.4.tgz", - "integrity": "sha512-GIj5wWg+hKnTk14aYAZVKnh6VyYgHdonlBPH1T84SYlGX6+Zo/jhzfe7SoIAwMIhLUYKBCKE6U3EVi9lZA5oOA==" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/vite": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", - "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", - "dev": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 4e7037a..0000000 --- a/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "invert-css-variables-ui", - "description": "A UI for invert-css", - "author": "chase ottofy", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "preview": "vite preview", - "deploy": "gh-pages -d dist" - }, - "keywords": [ - "css", - "invert", - "invert-css", - "color-conversion", - "css-utility", - "invert-colors", - "invert-css-vars", - "ui-tool" - ], - "license": "MIT", - "devDependencies": { - "gh-pages": "^6.0.0", - "typescript": "^5.0.2", - "vite": "^4.4.5" - }, - "dependencies": { - "invert-css": "^1.0.4" - } -} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts deleted file mode 100644 index dffcb87..0000000 --- a/src/main.ts +++ /dev/null @@ -1,65 +0,0 @@ -import './root.css'; -import invert from 'invert-css'; - -const textarea = document.querySelector('.textinput') as HTMLTextAreaElement; -const output = document.querySelector('.textoutput') as HTMLElement; -const copyBtn = document.querySelector('.float-copy') as HTMLElement; -const resetBtn = document.querySelector('.float-reset') as HTMLElement; -const runBtn = document.querySelector('.run-btn') as HTMLElement; - -const exampleText = ` - > Invert CSS variables with ease. - > Just paste variables and run - > Perfect for creating themes. - - -------------------------------------------- - - > ACCEPTED COLOR FORMATS - --color-1: #eee; - --color-2: #EEEEEE; - --color-3: rgb(0,85,51); - --color-4: rgba(0,85,51,0.5); - --color-5: hsl(160,100%,88%); - --color-4: hsla(160,100%,88%,0.5); -`; - -const demoText = ` ---selection: #f81ce5; ---white1: #f7f5f5; ---white2: #cccbcb; ---white3: #b0aeae; ---black0: #000; ---black1: #0e0e0f; ---black2: #333; ---accent-1: #111; ---accent-3: #333; ---accent-6: #888; ---accent-7: #eaeaea; ---accent-8: #fafafa; ---accent-9: #b6b9c2; -`; - -textarea.setAttribute('placeholder', exampleText); -textarea.textContent = demoText; -const copyToClipboard = (text: string): void => { - navigator.clipboard.writeText(text); -}; - -const reset = (): void => { - output.innerText = ''; - textarea.innerText = ''; -}; - -const handleRun = (): void => { - const input = textarea.value; - if (!input) return; - output.innerText = invert(input); -}; - -runBtn.addEventListener('click', handleRun); - -copyBtn.addEventListener('click', () => { - copyToClipboard(output.innerText); -}); - -resetBtn.addEventListener('click', reset); \ No newline at end of file diff --git a/src/root.css b/src/root.css deleted file mode 100644 index 0286702..0000000 --- a/src/root.css +++ /dev/null @@ -1,338 +0,0 @@ -@font-face { - font-display: block; - font-family: basement; - font-style: normal; - font-weight: 900; - src: url('./fonts/basement-expanded.woff2') format('woff2'); -} - -@font-face { - font-display: swap; - font-family: Neue; - font-style: normal; - font-weight: 400; - src: url('./fonts/neue/NeueMontreal-Regular.woff2') format('woff2'); -} - -@font-face { - font-display: swap; - font-family: Neue; - font-style: normal; - font-weight: 500; - src: url('./fonts/neue/NeueMontreal-Medium.woff2') format('woff2'); -} - -:root { - --selection: #f81ce5; - --white1: #f7f5f5; - --white2: #cccbcb; - --white3: #b0aeae; - --black0: #000; - --black1: #0e0e0f; - --black2: #333; - --accent-1: #111; - --accent-3: #333; - --accent-6: #888; - --accent-7: #eaeaea; - --accent-8: #fafafa; - --accent-9: #b6b9c2; - --primaryFont: "Neue", sans-serif, -apple-system, ui-sans-serif, system-ui, blinkmacsystemfont, segoe ui, roboto, helvetica neue, arial, noto sans, sans-serif, monospace; - --secondaryFont: "basement", georgia, sans-serif, -apple-system, ui-sans-serif, system-ui, blinkmacsystemfont, segoe ui, roboto, helvetica neue, arial, noto sans, sans-serif, monospace; - --br-1: 5px; - --grad-vert-1: linear-gradient(0deg, hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, .05)), radial-gradient(50% 50% at 50% 100%, hsla(0, 0%, 100%, .1) 0, hsla(0, 0%, 100%, 0) 100%); -} - -*, -*::before, -*::after { - box-sizing: border-box; - padding: 0; - border: 0; - margin: 0; -} - -html { - font-size: 18px; - line-height: 1.15; - tab-size: 4; - text-size-adjust: 100%; -} - -body { - position: relative; - /* width hack for mobile */ - width: calc(100vw - calc(100vw - 100%)); - background: var(--black0); - color: var(--white1); - font-family: var(--primaryFont); - font-size: 1rem; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - font-weight: 400; - line-height: inherit; - overflow-x: hidden; - overflow-y: scroll; -} - -button { - padding: 0; - margin: 0; - background: none; - cursor: pointer; - line-height: 1.15; - outline: none; - text-transform: none; -} - -textarea { - width: 100%; - min-height: 4rem; - padding: 0.5rem; - border: 1px solid var(--black2); - border-radius: var(--br-1); - background: none; - color: var(--white1); - font-size: .875rem; - resize: none; - text-transform: none; -} - -textarea::placeholder { - color: var(--white-3); -} - -a:focus-visible, -input:focus-visible, -input[type="radio"]:focus-visible + label, -label:focus-visible, -textarea:focus-visible, -button:focus-visible { - outline: 1.5px dotted var(--white1); -} - -::selection { - background-color: var(--selection); - color: var(--white1); -} - -.header { - align-items: center; - font-size: .85rem; - height: 60px; - display: flex; - border-bottom: 1px solid var(--accent-4); - justify-content: space-between; - position: relative; - flex-direction: row; - padding: 0 .5rem; -} - -.hc1 { - padding-left: 2px; - height: 100%; - display: flex; - width: auto; - flex-direction: column; - justify-content: center; -} - -.header h1, -.header h2 { - font-family: var(--secondaryFont); - text-decoration: none; - width: auto; - font-size: .85rem; - text-wrap: nowrap; - background-clip: text; - color: var(--accent-9); - background: var(--black0); -} - -.header h1 { - line-height: 1.4; -} - -.hc2 { - width: 100%; -} - -.hc2 { - display: flex; - justify-content: flex-end; -} - -.hc2 button, -.github-link { - margin-left: 10px; - height: 2rem; - align-items: center; - display: flex; - color: var(--accent-7); - justify-content: center; - cursor: pointer; - border-radius: var(--br-1); - font-size: .8rem; - border: 1px solid var(--accent-3); -} - -.run-btn { - cursor: pointer; - background: var(--grad-vert-1); - padding: 0 1rem; -} - -.float-copy, -.float-reset, -.github-link { - background: var(--black1); - width: 2rem !important; -} - -.github-link { - background: var(--black0); - border: 1px solid transparent; -} - -.float-copy svg, -.float-reset svg, -.github-link svg { - stroke: var(--accent-7); - height: 1rem !important; - width: 1rem !important; - fill: none; -} - -.hc2 button:hover, -.github-link:hover { - background: var(--black2); -} - -.main { - -moz-column-gap: 10px; - column-gap: 10px; - display: grid; - grid-template-columns: 1fr 1fr; - height: calc(100vh - 70px); - padding: 0 .5rem; -} - -.input-wrapper, -.output-wrapper { - border-radius: var(--br-1); - font-size: 100%; - margin: 0 auto; - padding: 40px 0 4px 0; - position: relative; - width: 100% -} - -.input-wrapper { - background: var(--black1); - border: 1px solid var(--accent-3); - height: 100%; -} - -.output-wrapper { - background: hsla(0, 0%, 9%, .1); - border: 1px solid var(--accent-1); - height: 100%; - margin-top: auto; - overflow: scroll; -} - -.input-wrapper:before, -.output-wrapper:before { - color: var(--accent-9); - content: attr(data-title); - font-size: .875rem; - font-weight: 500; - height: 40px; - line-height: 40px; - margin: 0 auto; - position: absolute; - /* text-transform: uppercase; */ - top: 0; - width: 100%; - left: .5rem; -} - -.textinput, -.textoutput { - border: none; - box-shadow: none; - color: var(--accent-8); - font-size: 1rem; - height: 100%; - margin: 0 auto; - padding: 0 2px; - outline: none; - resize: none; - width: 100%; - font-family: monospace; - line-height: 1.15; -} - -.output-wrapper::-webkit-scrollbar, -.textinput::-webkit-scrollbar { - height: 10px; - width: 10px -} - -.output-wrapper::-webkit-scrollbar-thumb, -.textinput::-webkit-scrollbar-thumb { - background: var(--black2); - border-radius: var(--br-1); - min-height: 50px -} - -.output-wrapper:hover::-webkit-scrollbar-thumb, -.textinput:hover::-webkit-scrollbar-thumb { - background: inherit; - background: var(--accent-6) -} - -.output-wrapper::-webkit-scrollbar, -.output-wrapper::-webkit-scrollbar-corner, -.output-wrapper::-webkit-scrollbar-track, -.textinput::-webkit-scrollbar-corner { - background: var(--black1) -} - -.textinput::-webkit-scrollbar, -.textinput::-webkit-scrollbar-track { - background: var(--black2) -} - -@media screen and (max-width: 1020px) { - html { - font-size: 16px; - } -} - -@media screen and (max-width:640px) { - .main { - -moz-column-gap: 0; - column-gap: 0; - grid-template-columns: 1fr; - grid-template-rows: 1fr 1fr; - height: calc(100vh - 50px); - row-gap: 0 - } - - .header { - height: 50px; - padding-left: 8px - } - - .input-wrapper:before, - .output-wrapper:before { - height: 50px; - line-height: 50px - } -} - -@media screen and (max-width: 390px) { - html { - font-size: 14px; - } -} \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts deleted file mode 100644 index 11f02fe..0000000 --- a/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 75abdef..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"] -}