From c5d4c532b376ed78d7927d4b90062abfa59e1b00 Mon Sep 17 00:00:00 2001 From: Cory LaViska Date: Thu, 5 Aug 2021 16:48:15 -0400 Subject: [PATCH] generate css files from themes/*.styles.ts --- package-lock.json | 51 +++- package.json | 3 +- scripts/build.js | 19 +- scripts/make-css.js | 31 +++ src/themes/base.css | 566 ------------------------------------- src/themes/base.styles.ts | 570 ++++++++++++++++++++++++++++++++++++++ src/themes/base.ts | 6 - src/themes/dark.css | 291 ------------------- src/themes/dark.styles.ts | 295 ++++++++++++++++++++ src/themes/dark.ts | 6 - 10 files changed, 941 insertions(+), 897 deletions(-) create mode 100644 scripts/make-css.js delete mode 100644 src/themes/base.css create mode 100644 src/themes/base.styles.ts delete mode 100644 src/themes/base.ts delete mode 100644 src/themes/dark.css create mode 100644 src/themes/dark.styles.ts delete mode 100644 src/themes/dark.ts diff --git a/package-lock.json b/package-lock.json index f6ba3bd4..9eda9538 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,14 +34,15 @@ "del": "^6.0.0", "download": "^8.0.0", "esbuild": "^0.12.4", - "esbuild-plugin-inline-import": "^1.0.1", "front-matter": "^4.0.2", "get-port": "^5.1.1", "husky": "^4.3.8", + "mkdirp": "^0.5.5", "plop": "^2.7.4", "prettier": "^2.2.1", "recursive-copy": "^2.0.11", "sinon": "^11.1.1", + "strip-css-comments": "^4.1.0", "tslib": "^2.2.0", "typescript": "^4.2.4", "wait-on": "^5.2.1" @@ -3674,12 +3675,6 @@ "esbuild": "bin/esbuild" } }, - "node_modules/esbuild-plugin-inline-import": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esbuild-plugin-inline-import/-/esbuild-plugin-inline-import-1.0.1.tgz", - "integrity": "sha512-QcBbsf7nJnD1GW2SOxgE0lLJ2GgqhGZCoPujxFaWatooNXpYwDCYuOadThKPLWcB9Sx6a7i3GU7RNBEB1dcYOQ==", - "dev": true - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -5617,6 +5612,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", @@ -9784,6 +9788,18 @@ "node": ">=0.10.0" } }, + "node_modules/strip-css-comments": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-4.1.0.tgz", + "integrity": "sha512-azjRwrqk7nK21LU7QuL7DpDyPjvRROQvqPrNyyz6emdzbOh6fsNTvkSvUiThBLzC6+MN90rFu296VbPb/KV+3A==", + "dev": true, + "dependencies": { + "is-regexp": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-dirs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", @@ -14192,12 +14208,6 @@ "integrity": "sha512-HObgzMHbba5HzsHzxj1ccDIPWncCCCQjoruuLyS5geidwndqgLsjZEMt0XeSYIIbqoJFENGCEFQt4m2PtAFK2Q==", "dev": true }, - "esbuild-plugin-inline-import": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esbuild-plugin-inline-import/-/esbuild-plugin-inline-import-1.0.1.tgz", - "integrity": "sha512-QcBbsf7nJnD1GW2SOxgE0lLJ2GgqhGZCoPujxFaWatooNXpYwDCYuOadThKPLWcB9Sx6a7i3GU7RNBEB1dcYOQ==", - "dev": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -15691,6 +15701,12 @@ "has-symbols": "^1.0.2" } }, + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true + }, "is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", @@ -19093,6 +19109,15 @@ "ansi-regex": "^2.0.0" } }, + "strip-css-comments": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-4.1.0.tgz", + "integrity": "sha512-azjRwrqk7nK21LU7QuL7DpDyPjvRROQvqPrNyyz6emdzbOh6fsNTvkSvUiThBLzC6+MN90rFu296VbPb/KV+3A==", + "dev": true, + "requires": { + "is-regexp": "^2.1.0" + } + }, "strip-dirs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", diff --git a/package.json b/package.json index dd80f446..b6337674 100644 --- a/package.json +++ b/package.json @@ -64,14 +64,15 @@ "del": "^6.0.0", "download": "^8.0.0", "esbuild": "^0.12.4", - "esbuild-plugin-inline-import": "^1.0.1", "front-matter": "^4.0.2", "get-port": "^5.1.1", "husky": "^4.3.8", + "mkdirp": "^0.5.5", "plop": "^2.7.4", "prettier": "^2.2.1", "recursive-copy": "^2.0.11", "sinon": "^11.1.1", + "strip-css-comments": "^4.1.0", "tslib": "^2.2.0", "typescript": "^4.2.4", "wait-on": "^5.2.1" diff --git a/scripts/build.js b/scripts/build.js index f82b0215..a24da47a 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -10,7 +10,6 @@ import esbuild from 'esbuild'; import fs from 'fs'; import getPort from 'get-port'; import glob from 'globby'; -import inlineImportPlugin from 'esbuild-plugin-inline-import'; import path from 'path'; import { execSync } from 'child_process'; @@ -23,17 +22,10 @@ del.sync('./dist'); if (!dev) execSync('tsc', { stdio: 'inherit' }); // for type declarations execSync('node scripts/make-metadata.js', { stdio: 'inherit' }); execSync('node scripts/make-vscode-data.js', { stdio: 'inherit' }); +execSync('node scripts/make-css.js', { stdio: 'inherit' }); execSync('node scripts/make-icons.js', { stdio: 'inherit' }); (async () => { - async function copyFiles() { - // Copy CSS files from src/themes to dist/themes - await copy('./src/themes', './dist/themes', { - overwrite: true, - filter: /\.css$/ - }); - } - const entryPoints = [ // The whole shebang dist './src/shoelace.ts', @@ -59,15 +51,13 @@ execSync('node scripts/make-icons.js', { stdio: 'inherit' }); }, bundle: true, splitting: true, - plugins: [inlineImportPlugin()] + plugins: [] }) .catch(err => { console.error(chalk.red(err)); process.exit(1); }); - await copyFiles(); - // Create the docs distribution by copying dist into the docs folder. This is what powers the website. It doesn't need // to exist in dev because Browser Sync routes it virtually. await del('./docs/dist'); @@ -107,8 +97,9 @@ execSync('node scripts/make-icons.js', { stdio: 'inherit' }); // Rebuild and reload .rebuild() .then(async () => { - if (/\.css$/.test(filename)) { - await copyFiles(); + // Rebuild stylesheets when a theme file changes + if (/^src\/themes/.test(filename)) { + execSync('node scripts/make-css.js', { stdio: 'inherit' }); } }) .then(() => { diff --git a/scripts/make-css.js b/scripts/make-css.js new file mode 100644 index 00000000..4c33732e --- /dev/null +++ b/scripts/make-css.js @@ -0,0 +1,31 @@ +// +// This script generates stylesheets from all *.styles.ts files in src/themes +// +import chalk from 'chalk'; +import esbuild from 'esbuild'; +import fs from 'fs/promises'; +import glob from 'globby'; +import mkdirp from 'mkdirp'; +import path from 'path'; +import prettier from 'prettier'; +import stripComments from 'strip-css-comments'; + +const files = glob.sync('./src/themes/**/*.styles.ts'); +const outdir = './dist/themes'; + +mkdirp.sync(outdir); + +try { + files.map(async file => { + const source = await fs.readFile(file, 'utf8'); + const css = prettier.format(stripComments(source.match(/export default css`(.*?)`;/s)[1]), { parser: 'css' }); + const filename = path.basename(file).replace('.styles.ts', '.css'); + const outfile = path.join(outdir, filename); + await fs.writeFile(outfile, css, 'utf8'); + }); + + console.log(chalk.cyan(`Successfully generated stylesheets 🎨\n`)); +} catch (err) { + console.error(chalk.red('Error generating styleseheets!')); + console.error(err); +} diff --git a/src/themes/base.css b/src/themes/base.css deleted file mode 100644 index dd47cdad..00000000 --- a/src/themes/base.css +++ /dev/null @@ -1,566 +0,0 @@ -:root, -:host, -.sl-theme-light { - /* - * Color Primitives - */ - - --sl-color-black: 0 0 0; - --sl-color-white: 255 255 255; - - /* We can probably ditch these now */ - --sl-color-primary-text: var(--sl-color-white); - --sl-color-success-text: var(--sl-color-white); - --sl-color-info-text: var(--sl-color-white); - --sl-color-warning-text: var(--sl-color-white); - --sl-color-danger-text: var(--sl-color-white); - - /* Blue Gray */ - --sl-color-blue-gray-50: 248 250 252; - --sl-color-blue-gray-100: 241 245 249; - --sl-color-blue-gray-200: 226 232 240; - --sl-color-blue-gray-300: 203 213 225; - --sl-color-blue-gray-400: 148 163 184; - --sl-color-blue-gray-500: 100 116 139; - --sl-color-blue-gray-600: 71 85 105; - --sl-color-blue-gray-700: 51 65 85; - --sl-color-blue-gray-800: 30 41 59; - --sl-color-blue-gray-900: 15 23 42; - --sl-color-blue-gray-950: 10 16 30; - - /* Cool Gray */ - --sl-color-cool-gray-50: 249 250 251; - --sl-color-cool-gray-100: 243 244 246; - --sl-color-cool-gray-200: 229 231 235; - --sl-color-cool-gray-300: 209 213 219; - --sl-color-cool-gray-400: 156 163 175; - --sl-color-cool-gray-500: 107 114 128; - --sl-color-cool-gray-600: 75 85 99; - --sl-color-cool-gray-700: 55 65 81; - --sl-color-cool-gray-800: 31 41 55; - --sl-color-cool-gray-900: 17 24 39; - --sl-color-cool-gray-950: 12 17 29; - - /* Gray */ - --sl-color-gray-50: 250 250 250; - --sl-color-gray-100: 244 244 245; - --sl-color-gray-200: 228 228 231; - --sl-color-gray-300: 212 212 216; - --sl-color-gray-400: 161 161 170; - --sl-color-gray-500: 113 113 122; - --sl-color-gray-600: 82 82 91; - --sl-color-gray-700: 63 63 70; - --sl-color-gray-800: 39 39 42; - --sl-color-gray-900: 24 24 27; - --sl-color-gray-950: 19 19 22; - - /* True Gray */ - --sl-color-true-gray-50: 250 250 250; - --sl-color-true-gray-100: 245 245 245; - --sl-color-true-gray-200: 229 229 229; - --sl-color-true-gray-300: 212 212 212; - --sl-color-true-gray-400: 163 163 163; - --sl-color-true-gray-500: 115 115 115; - --sl-color-true-gray-600: 82 82 82; - --sl-color-true-gray-700: 64 64 64; - --sl-color-true-gray-800: 38 38 38; - --sl-color-true-gray-900: 23 23 23; - --sl-color-true-gray-950: 17 17 17; - - /* Warm Gray */ - --sl-color-warm-gray-50: 250 250 249; - --sl-color-warm-gray-100: 245 245 244; - --sl-color-warm-gray-200: 231 229 228; - --sl-color-warm-gray-300: 214 211 209; - --sl-color-warm-gray-400: 168 162 158; - --sl-color-warm-gray-500: 120 113 108; - --sl-color-warm-gray-600: 87 83 78; - --sl-color-warm-gray-700: 68 64 60; - --sl-color-warm-gray-800: 41 37 36; - --sl-color-warm-gray-900: 28 25 23; - --sl-color-warm-gray-950: 19 18 16; - - /* Red */ - --sl-color-red-50: 254 242 242; - --sl-color-red-100: 254 226 226; - --sl-color-red-200: 254 202 202; - --sl-color-red-300: 252 165 165; - --sl-color-red-400: 248 113 113; - --sl-color-red-500: 239 68 68; - --sl-color-red-600: 220 38 38; - --sl-color-red-700: 185 28 28; - --sl-color-red-800: 153 27 27; - --sl-color-red-900: 127 29 29; - --sl-color-red-950: 80 20 20; - - /* Orange */ - --sl-color-orange-50: 255 247 237; - --sl-color-orange-100: 255 237 213; - --sl-color-orange-200: 254 215 170; - --sl-color-orange-300: 253 186 116; - --sl-color-orange-400: 251 146 60; - --sl-color-orange-500: 249 115 22; - --sl-color-orange-600: 234 88 12; - --sl-color-orange-700: 194 65 12; - --sl-color-orange-800: 154 52 18; - --sl-color-orange-900: 124 45 18; - --sl-color-orange-950: 82 32 15; - - /* Amber */ - --sl-color-amber-50: 255 251 235; - --sl-color-amber-100: 254 243 199; - --sl-color-amber-200: 253 230 138; - --sl-color-amber-300: 252 211 77; - --sl-color-amber-400: 251 191 36; - --sl-color-amber-500: 245 158 11; - --sl-color-amber-600: 217 119 6; - --sl-color-amber-700: 180 83 9; - --sl-color-amber-800: 146 64 14; - --sl-color-amber-900: 120 53 15; - --sl-color-amber-950: 74 35 11; - - /* Yellow */ - --sl-color-yellow-50: 254 252 232; - --sl-color-yellow-100: 254 249 195; - --sl-color-yellow-200: 254 240 138; - --sl-color-yellow-300: 253 224 71; - --sl-color-yellow-400: 250 204 21; - --sl-color-yellow-500: 234 179 8; - --sl-color-yellow-600: 202 138 4; - --sl-color-yellow-700: 161 98 7; - --sl-color-yellow-800: 133 77 14; - --sl-color-yellow-900: 113 63 18; - --sl-color-yellow-950: 60 38 11; - - /* Lime */ - --sl-color-lime-50: 247 254 231; - --sl-color-lime-100: 236 252 203; - --sl-color-lime-200: 217 249 157; - --sl-color-lime-300: 190 242 100; - --sl-color-lime-400: 163 230 53; - --sl-color-lime-500: 132 204 22; - --sl-color-lime-600: 101 163 13; - --sl-color-lime-700: 77 124 15; - --sl-color-lime-800: 63 98 18; - --sl-color-lime-900: 54 83 20; - --sl-color-lime-950: 38 57 14; - - /* Green */ - --sl-color-green-50: 240 253 244; - --sl-color-green-100: 220 252 231; - --sl-color-green-200: 187 247 208; - --sl-color-green-300: 134 239 172; - --sl-color-green-400: 74 222 128; - --sl-color-green-500: 34 197 94; - --sl-color-green-600: 22 163 74; - --sl-color-green-700: 21 128 61; - --sl-color-green-800: 22 101 52; - --sl-color-green-900: 20 83 45; - --sl-color-green-950: 12 49 27; - - /* Emerald */ - --sl-color-emerald-50: 236 253 245; - --sl-color-emerald-100: 209 250 229; - --sl-color-emerald-200: 167 243 208; - --sl-color-emerald-300: 110 231 183; - --sl-color-emerald-400: 52 211 153; - --sl-color-emerald-500: 16 185 129; - --sl-color-emerald-600: 5 150 105; - --sl-color-emerald-700: 4 120 87; - --sl-color-emerald-800: 6 95 70; - --sl-color-emerald-900: 6 78 59; - --sl-color-emerald-950: 3 45 34; - - /* Teal */ - --sl-color-teal-50: 240 253 250; - --sl-color-teal-100: 204 251 241; - --sl-color-teal-200: 153 246 228; - --sl-color-teal-300: 94 234 212; - --sl-color-teal-400: 45 212 191; - --sl-color-teal-500: 20 184 166; - --sl-color-teal-600: 13 148 136; - --sl-color-teal-700: 15 118 110; - --sl-color-teal-800: 17 94 89; - --sl-color-teal-900: 19 78 74; - --sl-color-teal-950: 12 46 44; - - /* Cyan */ - --sl-color-cyan-50: 236 254 255; - --sl-color-cyan-100: 207 250 254; - --sl-color-cyan-200: 165 243 252; - --sl-color-cyan-300: 103 232 249; - --sl-color-cyan-400: 34 211 238; - --sl-color-cyan-500: 6 182 212; - --sl-color-cyan-600: 8 145 178; - --sl-color-cyan-700: 14 116 144; - --sl-color-cyan-800: 21 94 117; - --sl-color-cyan-900: 22 78 99; - --sl-color-cyan-950: 16 52 66; - - /* Sky */ - --sl-color-sky-50: 240 249 255; - --sl-color-sky-100: 224 242 254; - --sl-color-sky-200: 186 230 253; - --sl-color-sky-300: 125 211 252; - --sl-color-sky-400: 56 189 248; - --sl-color-sky-500: 14 165 233; - --sl-color-sky-600: 2 132 199; - --sl-color-sky-700: 3 105 161; - --sl-color-sky-800: 7 89 133; - --sl-color-sky-900: 12 74 110; - --sl-color-sky-950: 11 50 73; - - /* Blue */ - --sl-color-blue-50: 239 246 255; - --sl-color-blue-100: 219 234 254; - --sl-color-blue-200: 191 219 254; - --sl-color-blue-300: 147 197 253; - --sl-color-blue-400: 96 165 250; - --sl-color-blue-500: 59 130 246; - --sl-color-blue-600: 37 99 235; - --sl-color-blue-700: 29 78 216; - --sl-color-blue-800: 30 64 175; - --sl-color-blue-900: 30 58 138; - --sl-color-blue-950: 21 33 73; - - /* Indigo */ - --sl-color-indigo-50: 238 242 255; - --sl-color-indigo-100: 224 231 255; - --sl-color-indigo-200: 199 210 254; - --sl-color-indigo-300: 165 180 252; - --sl-color-indigo-400: 129 140 248; - --sl-color-indigo-500: 99 102 241; - --sl-color-indigo-600: 79 70 229; - --sl-color-indigo-700: 67 56 202; - --sl-color-indigo-800: 55 48 163; - --sl-color-indigo-900: 49 46 129; - --sl-color-indigo-950: 36 33 84; - - /* Violet */ - --sl-color-violet-50: 245 243 255; - --sl-color-violet-100: 237 233 254; - --sl-color-violet-200: 221 214 254; - --sl-color-violet-300: 196 181 253; - --sl-color-violet-400: 167 139 250; - --sl-color-violet-500: 139 92 246; - --sl-color-violet-600: 124 58 237; - --sl-color-violet-700: 109 40 217; - --sl-color-violet-800: 91 33 182; - --sl-color-violet-900: 76 29 149; - --sl-color-violet-950: 49 21 88; - - /* Purple */ - --sl-color-purple-50: 250 245 255; - --sl-color-purple-100: 243 232 255; - --sl-color-purple-200: 233 213 255; - --sl-color-purple-300: 216 180 254; - --sl-color-purple-400: 192 132 252; - --sl-color-purple-500: 168 85 247; - --sl-color-purple-600: 147 51 234; - --sl-color-purple-700: 126 34 206; - --sl-color-purple-800: 107 33 168; - --sl-color-purple-900: 88 28 135; - --sl-color-purple-950: 47 17 67; - - /* Fuchsia */ - --sl-color-fuchsia-50: 253 244 255; - --sl-color-fuchsia-100: 250 232 255; - --sl-color-fuchsia-200: 245 208 254; - --sl-color-fuchsia-300: 240 171 252; - --sl-color-fuchsia-400: 232 121 249; - --sl-color-fuchsia-500: 217 70 239; - --sl-color-fuchsia-600: 192 38 211; - --sl-color-fuchsia-700: 162 28 175; - --sl-color-fuchsia-800: 134 25 143; - --sl-color-fuchsia-900: 112 26 117; - --sl-color-fuchsia-950: 56 16 58; - - /* Pink */ - --sl-color-pink-50: 253 242 248; - --sl-color-pink-100: 252 231 243; - --sl-color-pink-200: 251 207 232; - --sl-color-pink-300: 249 168 212; - --sl-color-pink-400: 244 114 182; - --sl-color-pink-500: 236 72 153; - --sl-color-pink-600: 219 39 119; - --sl-color-pink-700: 190 24 93; - --sl-color-pink-800: 157 23 77; - --sl-color-pink-900: 131 24 67; - --sl-color-pink-950: 67 14 35; - - /* Rose */ - --sl-color-rose-50: 255 241 242; - --sl-color-rose-100: 255 228 230; - --sl-color-rose-200: 254 205 211; - --sl-color-rose-300: 253 164 175; - --sl-color-rose-400: 251 113 133; - --sl-color-rose-500: 244 63 94; - --sl-color-rose-600: 225 29 72; - --sl-color-rose-700: 190 18 60; - --sl-color-rose-800: 159 18 57; - --sl-color-rose-900: 136 19 55; - --sl-color-rose-950: 74 13 32; - - /* - * Theme Tokens - */ - - /* Primary */ - --sl-color-primary-50: var(--sl-color-sky-50); - --sl-color-primary-100: var(--sl-color-sky-100); - --sl-color-primary-200: var(--sl-color-sky-200); - --sl-color-primary-300: var(--sl-color-sky-300); - --sl-color-primary-400: var(--sl-color-sky-400); - --sl-color-primary-500: var(--sl-color-sky-500); - --sl-color-primary-600: var(--sl-color-sky-600); - --sl-color-primary-700: var(--sl-color-sky-700); - --sl-color-primary-800: var(--sl-color-sky-800); - --sl-color-primary-900: var(--sl-color-sky-900); - --sl-color-primary-950: var(--sl-color-sky-950); - - /* Success */ - --sl-color-success-50: var(--sl-color-green-50); - --sl-color-success-100: var(--sl-color-green-100); - --sl-color-success-200: var(--sl-color-green-200); - --sl-color-success-300: var(--sl-color-green-300); - --sl-color-success-400: var(--sl-color-green-400); - --sl-color-success-500: var(--sl-color-green-500); - --sl-color-success-600: var(--sl-color-green-600); - --sl-color-success-700: var(--sl-color-green-700); - --sl-color-success-800: var(--sl-color-green-800); - --sl-color-success-900: var(--sl-color-green-900); - --sl-color-success-950: var(--sl-color-green-950); - - /* Info */ - --sl-color-info-50: var(--sl-color-gray-50); - --sl-color-info-100: var(--sl-color-gray-100); - --sl-color-info-200: var(--sl-color-gray-200); - --sl-color-info-300: var(--sl-color-gray-300); - --sl-color-info-400: var(--sl-color-gray-400); - --sl-color-info-500: var(--sl-color-gray-500); - --sl-color-info-600: var(--sl-color-gray-600); - --sl-color-info-700: var(--sl-color-gray-700); - --sl-color-info-800: var(--sl-color-gray-800); - --sl-color-info-900: var(--sl-color-gray-900); - --sl-color-info-950: var(--sl-color-gray-950); - - /* Warning */ - --sl-color-warning-50: var(--sl-color-amber-50); - --sl-color-warning-100: var(--sl-color-amber-100); - --sl-color-warning-200: var(--sl-color-amber-200); - --sl-color-warning-300: var(--sl-color-amber-300); - --sl-color-warning-400: var(--sl-color-amber-400); - --sl-color-warning-500: var(--sl-color-amber-500); - --sl-color-warning-600: var(--sl-color-amber-600); - --sl-color-warning-700: var(--sl-color-amber-700); - --sl-color-warning-800: var(--sl-color-amber-800); - --sl-color-warning-900: var(--sl-color-amber-900); - --sl-color-warning-950: var(--sl-color-amber-950); - - /* Danger */ - --sl-color-danger-50: var(--sl-color-red-50); - --sl-color-danger-100: var(--sl-color-red-100); - --sl-color-danger-200: var(--sl-color-red-200); - --sl-color-danger-300: var(--sl-color-red-300); - --sl-color-danger-400: var(--sl-color-red-400); - --sl-color-danger-500: var(--sl-color-red-500); - --sl-color-danger-600: var(--sl-color-red-600); - --sl-color-danger-700: var(--sl-color-red-700); - --sl-color-danger-800: var(--sl-color-red-800); - --sl-color-danger-900: var(--sl-color-red-900); - --sl-color-danger-950: var(--sl-color-red-950); - - /* - * Border radius tokens - */ - - --sl-border-radius-small: 0.125rem; /* 2px */ - --sl-border-radius-medium: 0.25rem; /* 4px */ - --sl-border-radius-large: 0.5rem; /* 8px */ - --sl-border-radius-x-large: 1rem; /* 16px */ - - --sl-border-radius-circle: 50%; - --sl-border-radius-pill: 9999px; - - /* - * Elevation tokens - */ - - --sl-shadow-x-small: 0 1px 0 #0d131e0d; - --sl-shadow-small: 0 1px 2px #0d131e1a; - --sl-shadow-medium: 0 2px 4px #0d131e1a; - --sl-shadow-large: 0 2px 8px #0d131e1a; - --sl-shadow-x-large: 0 4px 16px #0d131e1a; - - /* - * Spacing tokens - */ - - --sl-spacing-xxx-small: 0.125rem; /* 2px */ - --sl-spacing-xx-small: 0.25rem; /* 4px */ - --sl-spacing-x-small: 0.5rem; /* 8px */ - --sl-spacing-small: 0.75rem; /* 12px */ - --sl-spacing-medium: 1rem; /* 16px */ - --sl-spacing-large: 1.25rem; /* 20px */ - --sl-spacing-x-large: 1.75rem; /* 28px */ - --sl-spacing-xx-large: 2.25rem; /* 36px */ - --sl-spacing-xxx-large: 3rem; /* 48px */ - --sl-spacing-xxxx-large: 4.5rem; /* 72px */ - - /* - * Transition tokens - */ - - --sl-transition-x-slow: 1000ms; - --sl-transition-slow: 500ms; - --sl-transition-medium: 250ms; - --sl-transition-fast: 150ms; - --sl-transition-x-fast: 50ms; - - /* - * Typography tokens - */ - - /* Fonts */ - --sl-font-mono: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; - --sl-font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, - 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - --sl-font-serif: Georgia, 'Times New Roman', serif; - - /* Font sizes */ - --sl-font-size-xx-small: 0.625rem; /* 10px */ - --sl-font-size-x-small: 0.75rem; /* 12px */ - --sl-font-size-small: 0.875rem; /* 14px */ - --sl-font-size-medium: 1rem; /* 16px */ - --sl-font-size-large: 1.25rem; /* 20px */ - --sl-font-size-x-large: 1.5rem; /* 24px */ - --sl-font-size-xx-large: 2.25rem; /* 36px */ - --sl-font-size-xxx-large: 3rem; /* 48px */ - --sl-font-size-xxxx-large: 4.5rem; /* 72px */ - - /* Font weights */ - --sl-font-weight-light: 300; - --sl-font-weight-normal: 400; - --sl-font-weight-semibold: 500; - --sl-font-weight-bold: 700; - - /* Letter spacings */ - --sl-letter-spacing-dense: -0.015em; - --sl-letter-spacing-normal: normal; - --sl-letter-spacing-loose: 0.075em; - - /* Line heights */ - --sl-line-height-dense: 1.4; - --sl-line-height-normal: 1.8; - --sl-line-height-loose: 2.2; - - /* - * Form tokens - */ - - /* Focus ring */ - --sl-focus-ring-color-primary: #0ea5e954; - --sl-focus-ring-color-success: #22c55e54; - --sl-focus-ring-color-info: #6b728054; - --sl-focus-ring-color-warning: #f59e0b54; - --sl-focus-ring-color-danger: #ef444454; - --sl-focus-ring-width: 3px; - - /* Buttons */ - --sl-button-font-size-small: var(--sl-font-size-x-small); - --sl-button-font-size-medium: var(--sl-font-size-small); - --sl-button-font-size-large: var(--sl-font-size-medium); - - /* Inputs */ - --sl-input-height-small: 1.875rem; /* 30px */ - --sl-input-height-medium: 2.5rem; /* 40px */ - --sl-input-height-large: 3.125rem; /* 50px */ - - --sl-input-background-color: var(--sl-color-white); - --sl-input-background-color-hover: var(--sl-color-white); - --sl-input-background-color-focus: var(--sl-color-white); - --sl-input-background-color-disabled: var(--sl-color-gray-100); - --sl-input-border-color: var(--sl-color-gray-300); - --sl-input-border-color-hover: var(--sl-color-gray-400); - --sl-input-border-color-focus: var(--sl-color-primary-500); - --sl-input-border-color-disabled: var(--sl-color-gray-300); - --sl-input-border-width: 1px; - - --sl-input-border-radius-small: var(--sl-border-radius-medium); - --sl-input-border-radius-medium: var(--sl-border-radius-medium); - --sl-input-border-radius-large: var(--sl-border-radius-medium); - - --sl-input-font-family: var(--sl-font-sans); - --sl-input-font-weight: var(--sl-font-weight-normal); - --sl-input-font-size-small: var(--sl-font-size-small); - --sl-input-font-size-medium: var(--sl-font-size-medium); - --sl-input-font-size-large: var(--sl-font-size-large); - --sl-input-letter-spacing: var(--sl-letter-spacing-normal); - - --sl-input-color: var(--sl-color-gray-700); - --sl-input-color-hover: var(--sl-color-gray-700); - --sl-input-color-focus: var(--sl-color-gray-700); - --sl-input-color-disabled: var(--sl-color-gray-900); - --sl-input-icon-color: var(--sl-color-gray-400); - --sl-input-icon-color-hover: var(--sl-color-gray-600); - --sl-input-icon-color-focus: var(--sl-color-gray-600); - --sl-input-placeholder-color: var(--sl-color-gray-400); - --sl-input-placeholder-color-disabled: var(--sl-color-gray-600); - --sl-input-spacing-small: var(--sl-spacing-small); - --sl-input-spacing-medium: var(--sl-spacing-medium); - --sl-input-spacing-large: var(--sl-spacing-large); - - /* Labels */ - --sl-input-label-font-size-small: var(--sl-font-size-small); - --sl-input-label-font-size-medium: var(--sl-font-size-medium); - --sl-input-label-font-size-large: var(--sl-font-size-large); - - --sl-input-label-color: inherit; - - /* Help text */ - --sl-input-help-text-font-size-small: var(--sl-font-size-x-small); - --sl-input-help-text-font-size-medium: var(--sl-font-size-small); - --sl-input-help-text-font-size-large: var(--sl-font-size-medium); - - --sl-input-help-text-color: var(--sl-color-gray-400); - - /* Toggle (checkboxes, radios, switches) */ - --sl-toggle-size: 1rem; - - /* - * Overlay tokens - */ - - --sl-overlay-background-color: var(--sl-color-blue-gray-900); - - /* - * Panels - */ - - --sl-panel-background-color: var(--sl-color-white); - --sl-panel-border-color: var(--sl-color-gray-200); - /* - Tooltip tokens - */ - - --sl-tooltip-border-radius: var(--sl-border-radius-medium); - --sl-tooltip-background-color: var(--sl-color-gray-900); - --sl-tooltip-color: var(--sl-color-white); - --sl-tooltip-font-family: var(--sl-font-sans); - --sl-tooltip-font-weight: var(--sl-font-weight-normal); - --sl-tooltip-font-size: var(--sl-font-size-small); - --sl-tooltip-line-height: var(--sl-line-height-dense); - --sl-tooltip-padding: var(--sl-spacing-xx-small) var(--sl-spacing-x-small); - --sl-tooltip-arrow-size: 5px; - --sl-tooltip-arrow-start-end-offset: 8px; - - /* - * Z-index tokens - */ - - --sl-z-index-drawer: 700; - --sl-z-index-dialog: 800; - --sl-z-index-dropdown: 900; - --sl-z-index-toast: 950; - --sl-z-index-tooltip: 1000; -} diff --git a/src/themes/base.styles.ts b/src/themes/base.styles.ts new file mode 100644 index 00000000..e24d85cf --- /dev/null +++ b/src/themes/base.styles.ts @@ -0,0 +1,570 @@ +import { css } from 'lit'; + +export default css` + :root, + :host, + .sl-theme-light { + /* + * Color Primitives + */ + + --sl-color-black: 0 0 0; + --sl-color-white: 255 255 255; + + /* We can probably ditch these now */ + --sl-color-primary-text: var(--sl-color-white); + --sl-color-success-text: var(--sl-color-white); + --sl-color-info-text: var(--sl-color-white); + --sl-color-warning-text: var(--sl-color-white); + --sl-color-danger-text: var(--sl-color-white); + + /* Blue Gray */ + --sl-color-blue-gray-50: 248 250 252; + --sl-color-blue-gray-100: 241 245 249; + --sl-color-blue-gray-200: 226 232 240; + --sl-color-blue-gray-300: 203 213 225; + --sl-color-blue-gray-400: 148 163 184; + --sl-color-blue-gray-500: 100 116 139; + --sl-color-blue-gray-600: 71 85 105; + --sl-color-blue-gray-700: 51 65 85; + --sl-color-blue-gray-800: 30 41 59; + --sl-color-blue-gray-900: 15 23 42; + --sl-color-blue-gray-950: 10 16 30; + + /* Cool Gray */ + --sl-color-cool-gray-50: 249 250 251; + --sl-color-cool-gray-100: 243 244 246; + --sl-color-cool-gray-200: 229 231 235; + --sl-color-cool-gray-300: 209 213 219; + --sl-color-cool-gray-400: 156 163 175; + --sl-color-cool-gray-500: 107 114 128; + --sl-color-cool-gray-600: 75 85 99; + --sl-color-cool-gray-700: 55 65 81; + --sl-color-cool-gray-800: 31 41 55; + --sl-color-cool-gray-900: 17 24 39; + --sl-color-cool-gray-950: 12 17 29; + + /* Gray */ + --sl-color-gray-50: 250 250 250; + --sl-color-gray-100: 244 244 245; + --sl-color-gray-200: 228 228 231; + --sl-color-gray-300: 212 212 216; + --sl-color-gray-400: 161 161 170; + --sl-color-gray-500: 113 113 122; + --sl-color-gray-600: 82 82 91; + --sl-color-gray-700: 63 63 70; + --sl-color-gray-800: 39 39 42; + --sl-color-gray-900: 24 24 27; + --sl-color-gray-950: 19 19 22; + + /* True Gray */ + --sl-color-true-gray-50: 250 250 250; + --sl-color-true-gray-100: 245 245 245; + --sl-color-true-gray-200: 229 229 229; + --sl-color-true-gray-300: 212 212 212; + --sl-color-true-gray-400: 163 163 163; + --sl-color-true-gray-500: 115 115 115; + --sl-color-true-gray-600: 82 82 82; + --sl-color-true-gray-700: 64 64 64; + --sl-color-true-gray-800: 38 38 38; + --sl-color-true-gray-900: 23 23 23; + --sl-color-true-gray-950: 17 17 17; + + /* Warm Gray */ + --sl-color-warm-gray-50: 250 250 249; + --sl-color-warm-gray-100: 245 245 244; + --sl-color-warm-gray-200: 231 229 228; + --sl-color-warm-gray-300: 214 211 209; + --sl-color-warm-gray-400: 168 162 158; + --sl-color-warm-gray-500: 120 113 108; + --sl-color-warm-gray-600: 87 83 78; + --sl-color-warm-gray-700: 68 64 60; + --sl-color-warm-gray-800: 41 37 36; + --sl-color-warm-gray-900: 28 25 23; + --sl-color-warm-gray-950: 19 18 16; + + /* Red */ + --sl-color-red-50: 254 242 242; + --sl-color-red-100: 254 226 226; + --sl-color-red-200: 254 202 202; + --sl-color-red-300: 252 165 165; + --sl-color-red-400: 248 113 113; + --sl-color-red-500: 239 68 68; + --sl-color-red-600: 220 38 38; + --sl-color-red-700: 185 28 28; + --sl-color-red-800: 153 27 27; + --sl-color-red-900: 127 29 29; + --sl-color-red-950: 80 20 20; + + /* Orange */ + --sl-color-orange-50: 255 247 237; + --sl-color-orange-100: 255 237 213; + --sl-color-orange-200: 254 215 170; + --sl-color-orange-300: 253 186 116; + --sl-color-orange-400: 251 146 60; + --sl-color-orange-500: 249 115 22; + --sl-color-orange-600: 234 88 12; + --sl-color-orange-700: 194 65 12; + --sl-color-orange-800: 154 52 18; + --sl-color-orange-900: 124 45 18; + --sl-color-orange-950: 82 32 15; + + /* Amber */ + --sl-color-amber-50: 255 251 235; + --sl-color-amber-100: 254 243 199; + --sl-color-amber-200: 253 230 138; + --sl-color-amber-300: 252 211 77; + --sl-color-amber-400: 251 191 36; + --sl-color-amber-500: 245 158 11; + --sl-color-amber-600: 217 119 6; + --sl-color-amber-700: 180 83 9; + --sl-color-amber-800: 146 64 14; + --sl-color-amber-900: 120 53 15; + --sl-color-amber-950: 74 35 11; + + /* Yellow */ + --sl-color-yellow-50: 254 252 232; + --sl-color-yellow-100: 254 249 195; + --sl-color-yellow-200: 254 240 138; + --sl-color-yellow-300: 253 224 71; + --sl-color-yellow-400: 250 204 21; + --sl-color-yellow-500: 234 179 8; + --sl-color-yellow-600: 202 138 4; + --sl-color-yellow-700: 161 98 7; + --sl-color-yellow-800: 133 77 14; + --sl-color-yellow-900: 113 63 18; + --sl-color-yellow-950: 60 38 11; + + /* Lime */ + --sl-color-lime-50: 247 254 231; + --sl-color-lime-100: 236 252 203; + --sl-color-lime-200: 217 249 157; + --sl-color-lime-300: 190 242 100; + --sl-color-lime-400: 163 230 53; + --sl-color-lime-500: 132 204 22; + --sl-color-lime-600: 101 163 13; + --sl-color-lime-700: 77 124 15; + --sl-color-lime-800: 63 98 18; + --sl-color-lime-900: 54 83 20; + --sl-color-lime-950: 38 57 14; + + /* Green */ + --sl-color-green-50: 240 253 244; + --sl-color-green-100: 220 252 231; + --sl-color-green-200: 187 247 208; + --sl-color-green-300: 134 239 172; + --sl-color-green-400: 74 222 128; + --sl-color-green-500: 34 197 94; + --sl-color-green-600: 22 163 74; + --sl-color-green-700: 21 128 61; + --sl-color-green-800: 22 101 52; + --sl-color-green-900: 20 83 45; + --sl-color-green-950: 12 49 27; + + /* Emerald */ + --sl-color-emerald-50: 236 253 245; + --sl-color-emerald-100: 209 250 229; + --sl-color-emerald-200: 167 243 208; + --sl-color-emerald-300: 110 231 183; + --sl-color-emerald-400: 52 211 153; + --sl-color-emerald-500: 16 185 129; + --sl-color-emerald-600: 5 150 105; + --sl-color-emerald-700: 4 120 87; + --sl-color-emerald-800: 6 95 70; + --sl-color-emerald-900: 6 78 59; + --sl-color-emerald-950: 3 45 34; + + /* Teal */ + --sl-color-teal-50: 240 253 250; + --sl-color-teal-100: 204 251 241; + --sl-color-teal-200: 153 246 228; + --sl-color-teal-300: 94 234 212; + --sl-color-teal-400: 45 212 191; + --sl-color-teal-500: 20 184 166; + --sl-color-teal-600: 13 148 136; + --sl-color-teal-700: 15 118 110; + --sl-color-teal-800: 17 94 89; + --sl-color-teal-900: 19 78 74; + --sl-color-teal-950: 12 46 44; + + /* Cyan */ + --sl-color-cyan-50: 236 254 255; + --sl-color-cyan-100: 207 250 254; + --sl-color-cyan-200: 165 243 252; + --sl-color-cyan-300: 103 232 249; + --sl-color-cyan-400: 34 211 238; + --sl-color-cyan-500: 6 182 212; + --sl-color-cyan-600: 8 145 178; + --sl-color-cyan-700: 14 116 144; + --sl-color-cyan-800: 21 94 117; + --sl-color-cyan-900: 22 78 99; + --sl-color-cyan-950: 16 52 66; + + /* Sky */ + --sl-color-sky-50: 240 249 255; + --sl-color-sky-100: 224 242 254; + --sl-color-sky-200: 186 230 253; + --sl-color-sky-300: 125 211 252; + --sl-color-sky-400: 56 189 248; + --sl-color-sky-500: 14 165 233; + --sl-color-sky-600: 2 132 199; + --sl-color-sky-700: 3 105 161; + --sl-color-sky-800: 7 89 133; + --sl-color-sky-900: 12 74 110; + --sl-color-sky-950: 11 50 73; + + /* Blue */ + --sl-color-blue-50: 239 246 255; + --sl-color-blue-100: 219 234 254; + --sl-color-blue-200: 191 219 254; + --sl-color-blue-300: 147 197 253; + --sl-color-blue-400: 96 165 250; + --sl-color-blue-500: 59 130 246; + --sl-color-blue-600: 37 99 235; + --sl-color-blue-700: 29 78 216; + --sl-color-blue-800: 30 64 175; + --sl-color-blue-900: 30 58 138; + --sl-color-blue-950: 21 33 73; + + /* Indigo */ + --sl-color-indigo-50: 238 242 255; + --sl-color-indigo-100: 224 231 255; + --sl-color-indigo-200: 199 210 254; + --sl-color-indigo-300: 165 180 252; + --sl-color-indigo-400: 129 140 248; + --sl-color-indigo-500: 99 102 241; + --sl-color-indigo-600: 79 70 229; + --sl-color-indigo-700: 67 56 202; + --sl-color-indigo-800: 55 48 163; + --sl-color-indigo-900: 49 46 129; + --sl-color-indigo-950: 36 33 84; + + /* Violet */ + --sl-color-violet-50: 245 243 255; + --sl-color-violet-100: 237 233 254; + --sl-color-violet-200: 221 214 254; + --sl-color-violet-300: 196 181 253; + --sl-color-violet-400: 167 139 250; + --sl-color-violet-500: 139 92 246; + --sl-color-violet-600: 124 58 237; + --sl-color-violet-700: 109 40 217; + --sl-color-violet-800: 91 33 182; + --sl-color-violet-900: 76 29 149; + --sl-color-violet-950: 49 21 88; + + /* Purple */ + --sl-color-purple-50: 250 245 255; + --sl-color-purple-100: 243 232 255; + --sl-color-purple-200: 233 213 255; + --sl-color-purple-300: 216 180 254; + --sl-color-purple-400: 192 132 252; + --sl-color-purple-500: 168 85 247; + --sl-color-purple-600: 147 51 234; + --sl-color-purple-700: 126 34 206; + --sl-color-purple-800: 107 33 168; + --sl-color-purple-900: 88 28 135; + --sl-color-purple-950: 47 17 67; + + /* Fuchsia */ + --sl-color-fuchsia-50: 253 244 255; + --sl-color-fuchsia-100: 250 232 255; + --sl-color-fuchsia-200: 245 208 254; + --sl-color-fuchsia-300: 240 171 252; + --sl-color-fuchsia-400: 232 121 249; + --sl-color-fuchsia-500: 217 70 239; + --sl-color-fuchsia-600: 192 38 211; + --sl-color-fuchsia-700: 162 28 175; + --sl-color-fuchsia-800: 134 25 143; + --sl-color-fuchsia-900: 112 26 117; + --sl-color-fuchsia-950: 56 16 58; + + /* Pink */ + --sl-color-pink-50: 253 242 248; + --sl-color-pink-100: 252 231 243; + --sl-color-pink-200: 251 207 232; + --sl-color-pink-300: 249 168 212; + --sl-color-pink-400: 244 114 182; + --sl-color-pink-500: 236 72 153; + --sl-color-pink-600: 219 39 119; + --sl-color-pink-700: 190 24 93; + --sl-color-pink-800: 157 23 77; + --sl-color-pink-900: 131 24 67; + --sl-color-pink-950: 67 14 35; + + /* Rose */ + --sl-color-rose-50: 255 241 242; + --sl-color-rose-100: 255 228 230; + --sl-color-rose-200: 254 205 211; + --sl-color-rose-300: 253 164 175; + --sl-color-rose-400: 251 113 133; + --sl-color-rose-500: 244 63 94; + --sl-color-rose-600: 225 29 72; + --sl-color-rose-700: 190 18 60; + --sl-color-rose-800: 159 18 57; + --sl-color-rose-900: 136 19 55; + --sl-color-rose-950: 74 13 32; + + /* + * Theme Tokens + */ + + /* Primary */ + --sl-color-primary-50: var(--sl-color-sky-50); + --sl-color-primary-100: var(--sl-color-sky-100); + --sl-color-primary-200: var(--sl-color-sky-200); + --sl-color-primary-300: var(--sl-color-sky-300); + --sl-color-primary-400: var(--sl-color-sky-400); + --sl-color-primary-500: var(--sl-color-sky-500); + --sl-color-primary-600: var(--sl-color-sky-600); + --sl-color-primary-700: var(--sl-color-sky-700); + --sl-color-primary-800: var(--sl-color-sky-800); + --sl-color-primary-900: var(--sl-color-sky-900); + --sl-color-primary-950: var(--sl-color-sky-950); + + /* Success */ + --sl-color-success-50: var(--sl-color-green-50); + --sl-color-success-100: var(--sl-color-green-100); + --sl-color-success-200: var(--sl-color-green-200); + --sl-color-success-300: var(--sl-color-green-300); + --sl-color-success-400: var(--sl-color-green-400); + --sl-color-success-500: var(--sl-color-green-500); + --sl-color-success-600: var(--sl-color-green-600); + --sl-color-success-700: var(--sl-color-green-700); + --sl-color-success-800: var(--sl-color-green-800); + --sl-color-success-900: var(--sl-color-green-900); + --sl-color-success-950: var(--sl-color-green-950); + + /* Info */ + --sl-color-info-50: var(--sl-color-gray-50); + --sl-color-info-100: var(--sl-color-gray-100); + --sl-color-info-200: var(--sl-color-gray-200); + --sl-color-info-300: var(--sl-color-gray-300); + --sl-color-info-400: var(--sl-color-gray-400); + --sl-color-info-500: var(--sl-color-gray-500); + --sl-color-info-600: var(--sl-color-gray-600); + --sl-color-info-700: var(--sl-color-gray-700); + --sl-color-info-800: var(--sl-color-gray-800); + --sl-color-info-900: var(--sl-color-gray-900); + --sl-color-info-950: var(--sl-color-gray-950); + + /* Warning */ + --sl-color-warning-50: var(--sl-color-amber-50); + --sl-color-warning-100: var(--sl-color-amber-100); + --sl-color-warning-200: var(--sl-color-amber-200); + --sl-color-warning-300: var(--sl-color-amber-300); + --sl-color-warning-400: var(--sl-color-amber-400); + --sl-color-warning-500: var(--sl-color-amber-500); + --sl-color-warning-600: var(--sl-color-amber-600); + --sl-color-warning-700: var(--sl-color-amber-700); + --sl-color-warning-800: var(--sl-color-amber-800); + --sl-color-warning-900: var(--sl-color-amber-900); + --sl-color-warning-950: var(--sl-color-amber-950); + + /* Danger */ + --sl-color-danger-50: var(--sl-color-red-50); + --sl-color-danger-100: var(--sl-color-red-100); + --sl-color-danger-200: var(--sl-color-red-200); + --sl-color-danger-300: var(--sl-color-red-300); + --sl-color-danger-400: var(--sl-color-red-400); + --sl-color-danger-500: var(--sl-color-red-500); + --sl-color-danger-600: var(--sl-color-red-600); + --sl-color-danger-700: var(--sl-color-red-700); + --sl-color-danger-800: var(--sl-color-red-800); + --sl-color-danger-900: var(--sl-color-red-900); + --sl-color-danger-950: var(--sl-color-red-950); + + /* + * Border radius tokens + */ + + --sl-border-radius-small: 0.125rem; /* 2px */ + --sl-border-radius-medium: 0.25rem; /* 4px */ + --sl-border-radius-large: 0.5rem; /* 8px */ + --sl-border-radius-x-large: 1rem; /* 16px */ + + --sl-border-radius-circle: 50%; + --sl-border-radius-pill: 9999px; + + /* + * Elevation tokens + */ + + --sl-shadow-x-small: 0 1px 0 #0d131e0d; + --sl-shadow-small: 0 1px 2px #0d131e1a; + --sl-shadow-medium: 0 2px 4px #0d131e1a; + --sl-shadow-large: 0 2px 8px #0d131e1a; + --sl-shadow-x-large: 0 4px 16px #0d131e1a; + + /* + * Spacing tokens + */ + + --sl-spacing-xxx-small: 0.125rem; /* 2px */ + --sl-spacing-xx-small: 0.25rem; /* 4px */ + --sl-spacing-x-small: 0.5rem; /* 8px */ + --sl-spacing-small: 0.75rem; /* 12px */ + --sl-spacing-medium: 1rem; /* 16px */ + --sl-spacing-large: 1.25rem; /* 20px */ + --sl-spacing-x-large: 1.75rem; /* 28px */ + --sl-spacing-xx-large: 2.25rem; /* 36px */ + --sl-spacing-xxx-large: 3rem; /* 48px */ + --sl-spacing-xxxx-large: 4.5rem; /* 72px */ + + /* + * Transition tokens + */ + + --sl-transition-x-slow: 1000ms; + --sl-transition-slow: 500ms; + --sl-transition-medium: 250ms; + --sl-transition-fast: 150ms; + --sl-transition-x-fast: 50ms; + + /* + * Typography tokens + */ + + /* Fonts */ + --sl-font-mono: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace; + --sl-font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + --sl-font-serif: Georgia, 'Times New Roman', serif; + + /* Font sizes */ + --sl-font-size-xx-small: 0.625rem; /* 10px */ + --sl-font-size-x-small: 0.75rem; /* 12px */ + --sl-font-size-small: 0.875rem; /* 14px */ + --sl-font-size-medium: 1rem; /* 16px */ + --sl-font-size-large: 1.25rem; /* 20px */ + --sl-font-size-x-large: 1.5rem; /* 24px */ + --sl-font-size-xx-large: 2.25rem; /* 36px */ + --sl-font-size-xxx-large: 3rem; /* 48px */ + --sl-font-size-xxxx-large: 4.5rem; /* 72px */ + + /* Font weights */ + --sl-font-weight-light: 300; + --sl-font-weight-normal: 400; + --sl-font-weight-semibold: 500; + --sl-font-weight-bold: 700; + + /* Letter spacings */ + --sl-letter-spacing-dense: -0.015em; + --sl-letter-spacing-normal: normal; + --sl-letter-spacing-loose: 0.075em; + + /* Line heights */ + --sl-line-height-dense: 1.4; + --sl-line-height-normal: 1.8; + --sl-line-height-loose: 2.2; + + /* + * Form tokens + */ + + /* Focus ring */ + --sl-focus-ring-color-primary: #0ea5e954; + --sl-focus-ring-color-success: #22c55e54; + --sl-focus-ring-color-info: #6b728054; + --sl-focus-ring-color-warning: #f59e0b54; + --sl-focus-ring-color-danger: #ef444454; + --sl-focus-ring-width: 3px; + + /* Buttons */ + --sl-button-font-size-small: var(--sl-font-size-x-small); + --sl-button-font-size-medium: var(--sl-font-size-small); + --sl-button-font-size-large: var(--sl-font-size-medium); + + /* Inputs */ + --sl-input-height-small: 1.875rem; /* 30px */ + --sl-input-height-medium: 2.5rem; /* 40px */ + --sl-input-height-large: 3.125rem; /* 50px */ + + --sl-input-background-color: var(--sl-color-white); + --sl-input-background-color-hover: var(--sl-color-white); + --sl-input-background-color-focus: var(--sl-color-white); + --sl-input-background-color-disabled: var(--sl-color-gray-100); + --sl-input-border-color: var(--sl-color-gray-300); + --sl-input-border-color-hover: var(--sl-color-gray-400); + --sl-input-border-color-focus: var(--sl-color-primary-500); + --sl-input-border-color-disabled: var(--sl-color-gray-300); + --sl-input-border-width: 1px; + + --sl-input-border-radius-small: var(--sl-border-radius-medium); + --sl-input-border-radius-medium: var(--sl-border-radius-medium); + --sl-input-border-radius-large: var(--sl-border-radius-medium); + + --sl-input-font-family: var(--sl-font-sans); + --sl-input-font-weight: var(--sl-font-weight-normal); + --sl-input-font-size-small: var(--sl-font-size-small); + --sl-input-font-size-medium: var(--sl-font-size-medium); + --sl-input-font-size-large: var(--sl-font-size-large); + --sl-input-letter-spacing: var(--sl-letter-spacing-normal); + + --sl-input-color: var(--sl-color-gray-700); + --sl-input-color-hover: var(--sl-color-gray-700); + --sl-input-color-focus: var(--sl-color-gray-700); + --sl-input-color-disabled: var(--sl-color-gray-900); + --sl-input-icon-color: var(--sl-color-gray-400); + --sl-input-icon-color-hover: var(--sl-color-gray-600); + --sl-input-icon-color-focus: var(--sl-color-gray-600); + --sl-input-placeholder-color: var(--sl-color-gray-400); + --sl-input-placeholder-color-disabled: var(--sl-color-gray-600); + --sl-input-spacing-small: var(--sl-spacing-small); + --sl-input-spacing-medium: var(--sl-spacing-medium); + --sl-input-spacing-large: var(--sl-spacing-large); + + /* Labels */ + --sl-input-label-font-size-small: var(--sl-font-size-small); + --sl-input-label-font-size-medium: var(--sl-font-size-medium); + --sl-input-label-font-size-large: var(--sl-font-size-large); + + --sl-input-label-color: inherit; + + /* Help text */ + --sl-input-help-text-font-size-small: var(--sl-font-size-x-small); + --sl-input-help-text-font-size-medium: var(--sl-font-size-small); + --sl-input-help-text-font-size-large: var(--sl-font-size-medium); + + --sl-input-help-text-color: var(--sl-color-gray-400); + + /* Toggle (checkboxes, radios, switches) */ + --sl-toggle-size: 1rem; + + /* + * Overlay tokens + */ + + --sl-overlay-background-color: var(--sl-color-blue-gray-900); + + /* + * Panels + */ + + --sl-panel-background-color: var(--sl-color-white); + --sl-panel-border-color: var(--sl-color-gray-200); + /* + * Tooltip tokens + */ + + --sl-tooltip-border-radius: var(--sl-border-radius-medium); + --sl-tooltip-background-color: var(--sl-color-gray-900); + --sl-tooltip-color: var(--sl-color-white); + --sl-tooltip-font-family: var(--sl-font-sans); + --sl-tooltip-font-weight: var(--sl-font-weight-normal); + --sl-tooltip-font-size: var(--sl-font-size-small); + --sl-tooltip-line-height: var(--sl-line-height-dense); + --sl-tooltip-padding: var(--sl-spacing-xx-small) var(--sl-spacing-x-small); + --sl-tooltip-arrow-size: 5px; + --sl-tooltip-arrow-start-end-offset: 8px; + + /* + * Z-index tokens + */ + + --sl-z-index-drawer: 700; + --sl-z-index-dialog: 800; + --sl-z-index-dropdown: 900; + --sl-z-index-toast: 950; + --sl-z-index-tooltip: 1000; + } +`; diff --git a/src/themes/base.ts b/src/themes/base.ts deleted file mode 100644 index fa5f455f..00000000 --- a/src/themes/base.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { css, unsafeCSS } from 'lit'; -import styles from 'inline:./base.css'; - -export default css` - ${unsafeCSS(styles)} -`; diff --git a/src/themes/dark.css b/src/themes/dark.css deleted file mode 100644 index 4ffabd4b..00000000 --- a/src/themes/dark.css +++ /dev/null @@ -1,291 +0,0 @@ -:host, -.sl-theme-dark { - --sl-color-black: 255 255 255; - --sl-color-white: var(--sl-color-gray-100); - - /* Blue Gray */ - --sl-color-blue-gray-950: 248 250 252; - --sl-color-blue-gray-900: 241 245 249; - --sl-color-blue-gray-800: 226 232 240; - --sl-color-blue-gray-700: 203 213 225; - --sl-color-blue-gray-600: 148 163 184; - --sl-color-blue-gray-500: 100 116 139; - --sl-color-blue-gray-400: 71 85 105; - --sl-color-blue-gray-300: 51 65 85; - --sl-color-blue-gray-200: 30 41 59; - --sl-color-blue-gray-100: 15 23 42; - --sl-color-blue-gray-50: 10 16 30; - - /* Cool Gray */ - --sl-color-cool-gray-950: 249 250 251; - --sl-color-cool-gray-900: 243 244 246; - --sl-color-cool-gray-800: 229 231 235; - --sl-color-cool-gray-700: 209 213 219; - --sl-color-cool-gray-600: 156 163 175; - --sl-color-cool-gray-500: 107 114 128; - --sl-color-cool-gray-400: 75 85 99; - --sl-color-cool-gray-300: 55 65 81; - --sl-color-cool-gray-200: 31 41 55; - --sl-color-cool-gray-100: 17 24 39; - --sl-color-cool-gray-50: 12 17 29; - - /* Gray */ - --sl-color-gray-950: 250 250 250; - --sl-color-gray-900: 244 244 245; - --sl-color-gray-800: 228 228 231; - --sl-color-gray-700: 212 212 216; - --sl-color-gray-600: 161 161 170; - --sl-color-gray-500: 113 113 122; - --sl-color-gray-400: 82 82 91; - --sl-color-gray-300: 63 63 70; - --sl-color-gray-200: 39 39 42; - --sl-color-gray-100: 24 24 27; - --sl-color-gray-50: 19 19 22; - - /* True Gray */ - --sl-color-true-gray-950: 250 250 250; - --sl-color-true-gray-900: 245 245 245; - --sl-color-true-gray-800: 229 229 229; - --sl-color-true-gray-700: 212 212 212; - --sl-color-true-gray-600: 163 163 163; - --sl-color-true-gray-500: 115 115 115; - --sl-color-true-gray-400: 82 82 82; - --sl-color-true-gray-300: 64 64 64; - --sl-color-true-gray-200: 38 38 38; - --sl-color-true-gray-100: 23 23 23; - --sl-color-true-gray-50: 17 17 17; - - /* Warm Gray */ - --sl-color-warm-gray-950: 250 250 249; - --sl-color-warm-gray-900: 245 245 244; - --sl-color-warm-gray-800: 231 229 228; - --sl-color-warm-gray-700: 214 211 209; - --sl-color-warm-gray-600: 168 162 158; - --sl-color-warm-gray-500: 120 113 108; - --sl-color-warm-gray-400: 87 83 78; - --sl-color-warm-gray-300: 68 64 60; - --sl-color-warm-gray-200: 41 37 36; - --sl-color-warm-gray-100: 28 25 23; - --sl-color-warm-gray-50: 19 18 16; - - /* Red */ - --sl-color-red-950: 254 242 242; - --sl-color-red-900: 254 226 226; - --sl-color-red-800: 254 202 202; - --sl-color-red-700: 252 165 165; - --sl-color-red-600: 248 113 113; - --sl-color-red-500: 239 68 68; - --sl-color-red-400: 220 38 38; - --sl-color-red-300: 185 28 28; - --sl-color-red-200: 153 27 27; - --sl-color-red-100: 127 29 29; - --sl-color-red-50: 80 20 20; - - /* Orange */ - --sl-color-orange-950: 255 247 237; - --sl-color-orange-900: 255 237 213; - --sl-color-orange-800: 254 215 170; - --sl-color-orange-700: 253 186 116; - --sl-color-orange-600: 251 146 60; - --sl-color-orange-500: 249 115 22; - --sl-color-orange-400: 234 88 12; - --sl-color-orange-300: 194 65 12; - --sl-color-orange-200: 154 52 18; - --sl-color-orange-100: 124 45 18; - --sl-color-orange-50: 82 32 15; - - /* Amber */ - --sl-color-amber-950: 255 251 235; - --sl-color-amber-900: 254 243 199; - --sl-color-amber-800: 253 230 138; - --sl-color-amber-700: 252 211 77; - --sl-color-amber-600: 251 191 36; - --sl-color-amber-500: 245 158 11; - --sl-color-amber-400: 217 119 6; - --sl-color-amber-300: 180 83 9; - --sl-color-amber-200: 146 64 14; - --sl-color-amber-100: 120 53 15; - --sl-color-amber-50: 74 35 11; - - /* Yellow */ - --sl-color-yellow-950: 254 252 232; - --sl-color-yellow-900: 254 249 195; - --sl-color-yellow-800: 254 240 138; - --sl-color-yellow-700: 253 224 71; - --sl-color-yellow-600: 250 204 21; - --sl-color-yellow-500: 234 179 8; - --sl-color-yellow-400: 202 138 4; - --sl-color-yellow-300: 161 98 7; - --sl-color-yellow-200: 133 77 14; - --sl-color-yellow-100: 113 63 18; - --sl-color-yellow-50: 60 38 11; - - /* Lime */ - --sl-color-lime-950: 247 254 231; - --sl-color-lime-900: 236 252 203; - --sl-color-lime-800: 217 249 157; - --sl-color-lime-700: 190 242 100; - --sl-color-lime-600: 163 230 53; - --sl-color-lime-500: 132 204 22; - --sl-color-lime-400: 101 163 13; - --sl-color-lime-300: 77 124 15; - --sl-color-lime-200: 63 98 18; - --sl-color-lime-100: 54 83 20; - --sl-color-lime-50: 38 57 14; - - /* Green */ - --sl-color-green-950: 240 253 244; - --sl-color-green-900: 220 252 231; - --sl-color-green-800: 187 247 208; - --sl-color-green-700: 134 239 172; - --sl-color-green-600: 74 222 128; - --sl-color-green-500: 34 197 94; - --sl-color-green-400: 22 163 74; - --sl-color-green-300: 21 128 61; - --sl-color-green-200: 22 101 52; - --sl-color-green-100: 20 83 45; - --sl-color-green-50: 12 49 27; - - /* Emerald */ - --sl-color-emerald-950: 236 253 245; - --sl-color-emerald-900: 209 250 229; - --sl-color-emerald-800: 167 243 208; - --sl-color-emerald-700: 110 231 183; - --sl-color-emerald-600: 52 211 153; - --sl-color-emerald-500: 16 185 129; - --sl-color-emerald-400: 5 150 105; - --sl-color-emerald-300: 4 120 87; - --sl-color-emerald-200: 6 95 70; - --sl-color-emerald-100: 6 78 59; - --sl-color-emerald-50: 3 45 34; - - /* Teal */ - --sl-color-teal-950: 240 253 250; - --sl-color-teal-900: 204 251 241; - --sl-color-teal-800: 153 246 228; - --sl-color-teal-700: 94 234 212; - --sl-color-teal-600: 45 212 191; - --sl-color-teal-500: 20 184 166; - --sl-color-teal-400: 13 148 136; - --sl-color-teal-300: 15 118 110; - --sl-color-teal-200: 17 94 89; - --sl-color-teal-100: 19 78 74; - --sl-color-teal-50: 12 46 44; - - /* Cyan */ - --sl-color-cyan-950: 236 254 255; - --sl-color-cyan-900: 207 250 254; - --sl-color-cyan-800: 165 243 252; - --sl-color-cyan-700: 103 232 249; - --sl-color-cyan-600: 34 211 238; - --sl-color-cyan-500: 6 182 212; - --sl-color-cyan-400: 8 145 178; - --sl-color-cyan-300: 14 116 144; - --sl-color-cyan-200: 21 94 117; - --sl-color-cyan-100: 22 78 99; - --sl-color-cyan-50: 16 52 66; - - /* Sky */ - --sl-color-sky-950: 240 249 255; - --sl-color-sky-900: 224 242 254; - --sl-color-sky-800: 186 230 253; - --sl-color-sky-700: 125 211 252; - --sl-color-sky-600: 56 189 248; - --sl-color-sky-500: 14 165 233; - --sl-color-sky-400: 2 132 199; - --sl-color-sky-300: 3 105 161; - --sl-color-sky-200: 7 89 133; - --sl-color-sky-100: 12 74 110; - --sl-color-sky-50: 11 50 73; - - /* Blue */ - --sl-color-blue-950: 239 246 255; - --sl-color-blue-900: 219 234 254; - --sl-color-blue-800: 191 219 254; - --sl-color-blue-700: 147 197 253; - --sl-color-blue-600: 96 165 250; - --sl-color-blue-500: 59 130 246; - --sl-color-blue-400: 37 99 235; - --sl-color-blue-300: 29 78 216; - --sl-color-blue-200: 30 64 175; - --sl-color-blue-100: 30 58 138; - --sl-color-blue-50: 21 33 73; - - /* Indigo */ - --sl-color-indigo-950: 238 242 255; - --sl-color-indigo-900: 224 231 255; - --sl-color-indigo-800: 199 210 254; - --sl-color-indigo-700: 165 180 252; - --sl-color-indigo-600: 129 140 248; - --sl-color-indigo-500: 99 102 241; - --sl-color-indigo-400: 79 70 229; - --sl-color-indigo-300: 67 56 202; - --sl-color-indigo-200: 55 48 163; - --sl-color-indigo-100: 49 46 129; - --sl-color-indigo-50: 36 33 84; - - /* Violet */ - --sl-color-violet-950: 245 243 255; - --sl-color-violet-900: 237 233 254; - --sl-color-violet-800: 221 214 254; - --sl-color-violet-700: 196 181 253; - --sl-color-violet-600: 167 139 250; - --sl-color-violet-500: 139 92 246; - --sl-color-violet-400: 124 58 237; - --sl-color-violet-300: 109 40 217; - --sl-color-violet-200: 91 33 182; - --sl-color-violet-100: 76 29 149; - --sl-color-violet-50: 49 21 88; - - /* Purple */ - --sl-color-purple-950: 250 245 255; - --sl-color-purple-900: 243 232 255; - --sl-color-purple-800: 233 213 255; - --sl-color-purple-700: 216 180 254; - --sl-color-purple-600: 192 132 252; - --sl-color-purple-500: 168 85 247; - --sl-color-purple-400: 147 51 234; - --sl-color-purple-300: 126 34 206; - --sl-color-purple-200: 107 33 168; - --sl-color-purple-100: 88 28 135; - --sl-color-purple-50: 47 17 67; - - /* Fuchsia */ - --sl-color-fuchsia-950: 253 244 255; - --sl-color-fuchsia-900: 250 232 255; - --sl-color-fuchsia-800: 245 208 254; - --sl-color-fuchsia-700: 240 171 252; - --sl-color-fuchsia-600: 232 121 249; - --sl-color-fuchsia-500: 217 70 239; - --sl-color-fuchsia-400: 192 38 211; - --sl-color-fuchsia-300: 162 28 175; - --sl-color-fuchsia-200: 134 25 143; - --sl-color-fuchsia-100: 112 26 117; - --sl-color-fuchsia-50: 56 16 58; - - /* Pink */ - --sl-color-pink-950: 253 242 248; - --sl-color-pink-900: 252 231 243; - --sl-color-pink-800: 251 207 232; - --sl-color-pink-700: 249 168 212; - --sl-color-pink-600: 244 114 182; - --sl-color-pink-500: 236 72 153; - --sl-color-pink-400: 219 39 119; - --sl-color-pink-300: 190 24 93; - --sl-color-pink-200: 157 23 77; - --sl-color-pink-100: 131 24 67; - --sl-color-pink-50: 67 14 35; - - /* Rose */ - --sl-color-rose-950: 255 241 242; - --sl-color-rose-900: 255 228 230; - --sl-color-rose-800: 254 205 211; - --sl-color-rose-700: 253 164 175; - --sl-color-rose-600: 251 113 133; - --sl-color-rose-500: 244 63 94; - --sl-color-rose-400: 225 29 72; - --sl-color-rose-300: 190 18 60; - --sl-color-rose-200: 159 18 57; - --sl-color-rose-100: 136 19 55; - --sl-color-rose-50: 74 13 32; -} diff --git a/src/themes/dark.styles.ts b/src/themes/dark.styles.ts new file mode 100644 index 00000000..138603a6 --- /dev/null +++ b/src/themes/dark.styles.ts @@ -0,0 +1,295 @@ +import { css } from 'lit'; + +export default css` + :host, + .sl-theme-dark { + --sl-color-black: 255 255 255; + --sl-color-white: var(--sl-color-gray-50); + + /* Blue Gray */ + --sl-color-blue-gray-950: 248 250 252; + --sl-color-blue-gray-900: 241 245 249; + --sl-color-blue-gray-800: 226 232 240; + --sl-color-blue-gray-700: 203 213 225; + --sl-color-blue-gray-600: 148 163 184; + --sl-color-blue-gray-500: 100 116 139; + --sl-color-blue-gray-400: 71 85 105; + --sl-color-blue-gray-300: 51 65 85; + --sl-color-blue-gray-200: 30 41 59; + --sl-color-blue-gray-100: 15 23 42; + --sl-color-blue-gray-50: 10 16 30; + + /* Cool Gray */ + --sl-color-cool-gray-950: 249 250 251; + --sl-color-cool-gray-900: 243 244 246; + --sl-color-cool-gray-800: 229 231 235; + --sl-color-cool-gray-700: 209 213 219; + --sl-color-cool-gray-600: 156 163 175; + --sl-color-cool-gray-500: 107 114 128; + --sl-color-cool-gray-400: 75 85 99; + --sl-color-cool-gray-300: 55 65 81; + --sl-color-cool-gray-200: 31 41 55; + --sl-color-cool-gray-100: 17 24 39; + --sl-color-cool-gray-50: 12 17 29; + + /* Gray */ + --sl-color-gray-950: 250 250 250; + --sl-color-gray-900: 244 244 245; + --sl-color-gray-800: 228 228 231; + --sl-color-gray-700: 212 212 216; + --sl-color-gray-600: 161 161 170; + --sl-color-gray-500: 113 113 122; + --sl-color-gray-400: 82 82 91; + --sl-color-gray-300: 63 63 70; + --sl-color-gray-200: 39 39 42; + --sl-color-gray-100: 24 24 27; + --sl-color-gray-50: 19 19 22; + + /* True Gray */ + --sl-color-true-gray-950: 250 250 250; + --sl-color-true-gray-900: 245 245 245; + --sl-color-true-gray-800: 229 229 229; + --sl-color-true-gray-700: 212 212 212; + --sl-color-true-gray-600: 163 163 163; + --sl-color-true-gray-500: 115 115 115; + --sl-color-true-gray-400: 82 82 82; + --sl-color-true-gray-300: 64 64 64; + --sl-color-true-gray-200: 38 38 38; + --sl-color-true-gray-100: 23 23 23; + --sl-color-true-gray-50: 17 17 17; + + /* Warm Gray */ + --sl-color-warm-gray-950: 250 250 249; + --sl-color-warm-gray-900: 245 245 244; + --sl-color-warm-gray-800: 231 229 228; + --sl-color-warm-gray-700: 214 211 209; + --sl-color-warm-gray-600: 168 162 158; + --sl-color-warm-gray-500: 120 113 108; + --sl-color-warm-gray-400: 87 83 78; + --sl-color-warm-gray-300: 68 64 60; + --sl-color-warm-gray-200: 41 37 36; + --sl-color-warm-gray-100: 28 25 23; + --sl-color-warm-gray-50: 19 18 16; + + /* Red */ + --sl-color-red-950: 254 242 242; + --sl-color-red-900: 254 226 226; + --sl-color-red-800: 254 202 202; + --sl-color-red-700: 252 165 165; + --sl-color-red-600: 248 113 113; + --sl-color-red-500: 239 68 68; + --sl-color-red-400: 220 38 38; + --sl-color-red-300: 185 28 28; + --sl-color-red-200: 153 27 27; + --sl-color-red-100: 127 29 29; + --sl-color-red-50: 80 20 20; + + /* Orange */ + --sl-color-orange-950: 255 247 237; + --sl-color-orange-900: 255 237 213; + --sl-color-orange-800: 254 215 170; + --sl-color-orange-700: 253 186 116; + --sl-color-orange-600: 251 146 60; + --sl-color-orange-500: 249 115 22; + --sl-color-orange-400: 234 88 12; + --sl-color-orange-300: 194 65 12; + --sl-color-orange-200: 154 52 18; + --sl-color-orange-100: 124 45 18; + --sl-color-orange-50: 82 32 15; + + /* Amber */ + --sl-color-amber-950: 255 251 235; + --sl-color-amber-900: 254 243 199; + --sl-color-amber-800: 253 230 138; + --sl-color-amber-700: 252 211 77; + --sl-color-amber-600: 251 191 36; + --sl-color-amber-500: 245 158 11; + --sl-color-amber-400: 217 119 6; + --sl-color-amber-300: 180 83 9; + --sl-color-amber-200: 146 64 14; + --sl-color-amber-100: 120 53 15; + --sl-color-amber-50: 74 35 11; + + /* Yellow */ + --sl-color-yellow-950: 254 252 232; + --sl-color-yellow-900: 254 249 195; + --sl-color-yellow-800: 254 240 138; + --sl-color-yellow-700: 253 224 71; + --sl-color-yellow-600: 250 204 21; + --sl-color-yellow-500: 234 179 8; + --sl-color-yellow-400: 202 138 4; + --sl-color-yellow-300: 161 98 7; + --sl-color-yellow-200: 133 77 14; + --sl-color-yellow-100: 113 63 18; + --sl-color-yellow-50: 60 38 11; + + /* Lime */ + --sl-color-lime-950: 247 254 231; + --sl-color-lime-900: 236 252 203; + --sl-color-lime-800: 217 249 157; + --sl-color-lime-700: 190 242 100; + --sl-color-lime-600: 163 230 53; + --sl-color-lime-500: 132 204 22; + --sl-color-lime-400: 101 163 13; + --sl-color-lime-300: 77 124 15; + --sl-color-lime-200: 63 98 18; + --sl-color-lime-100: 54 83 20; + --sl-color-lime-50: 38 57 14; + + /* Green */ + --sl-color-green-950: 240 253 244; + --sl-color-green-900: 220 252 231; + --sl-color-green-800: 187 247 208; + --sl-color-green-700: 134 239 172; + --sl-color-green-600: 74 222 128; + --sl-color-green-500: 34 197 94; + --sl-color-green-400: 22 163 74; + --sl-color-green-300: 21 128 61; + --sl-color-green-200: 22 101 52; + --sl-color-green-100: 20 83 45; + --sl-color-green-50: 12 49 27; + + /* Emerald */ + --sl-color-emerald-950: 236 253 245; + --sl-color-emerald-900: 209 250 229; + --sl-color-emerald-800: 167 243 208; + --sl-color-emerald-700: 110 231 183; + --sl-color-emerald-600: 52 211 153; + --sl-color-emerald-500: 16 185 129; + --sl-color-emerald-400: 5 150 105; + --sl-color-emerald-300: 4 120 87; + --sl-color-emerald-200: 6 95 70; + --sl-color-emerald-100: 6 78 59; + --sl-color-emerald-50: 3 45 34; + + /* Teal */ + --sl-color-teal-950: 240 253 250; + --sl-color-teal-900: 204 251 241; + --sl-color-teal-800: 153 246 228; + --sl-color-teal-700: 94 234 212; + --sl-color-teal-600: 45 212 191; + --sl-color-teal-500: 20 184 166; + --sl-color-teal-400: 13 148 136; + --sl-color-teal-300: 15 118 110; + --sl-color-teal-200: 17 94 89; + --sl-color-teal-100: 19 78 74; + --sl-color-teal-50: 12 46 44; + + /* Cyan */ + --sl-color-cyan-950: 236 254 255; + --sl-color-cyan-900: 207 250 254; + --sl-color-cyan-800: 165 243 252; + --sl-color-cyan-700: 103 232 249; + --sl-color-cyan-600: 34 211 238; + --sl-color-cyan-500: 6 182 212; + --sl-color-cyan-400: 8 145 178; + --sl-color-cyan-300: 14 116 144; + --sl-color-cyan-200: 21 94 117; + --sl-color-cyan-100: 22 78 99; + --sl-color-cyan-50: 16 52 66; + + /* Sky */ + --sl-color-sky-950: 240 249 255; + --sl-color-sky-900: 224 242 254; + --sl-color-sky-800: 186 230 253; + --sl-color-sky-700: 125 211 252; + --sl-color-sky-600: 56 189 248; + --sl-color-sky-500: 14 165 233; + --sl-color-sky-400: 2 132 199; + --sl-color-sky-300: 3 105 161; + --sl-color-sky-200: 7 89 133; + --sl-color-sky-100: 12 74 110; + --sl-color-sky-50: 11 50 73; + + /* Blue */ + --sl-color-blue-950: 239 246 255; + --sl-color-blue-900: 219 234 254; + --sl-color-blue-800: 191 219 254; + --sl-color-blue-700: 147 197 253; + --sl-color-blue-600: 96 165 250; + --sl-color-blue-500: 59 130 246; + --sl-color-blue-400: 37 99 235; + --sl-color-blue-300: 29 78 216; + --sl-color-blue-200: 30 64 175; + --sl-color-blue-100: 30 58 138; + --sl-color-blue-50: 21 33 73; + + /* Indigo */ + --sl-color-indigo-950: 238 242 255; + --sl-color-indigo-900: 224 231 255; + --sl-color-indigo-800: 199 210 254; + --sl-color-indigo-700: 165 180 252; + --sl-color-indigo-600: 129 140 248; + --sl-color-indigo-500: 99 102 241; + --sl-color-indigo-400: 79 70 229; + --sl-color-indigo-300: 67 56 202; + --sl-color-indigo-200: 55 48 163; + --sl-color-indigo-100: 49 46 129; + --sl-color-indigo-50: 36 33 84; + + /* Violet */ + --sl-color-violet-950: 245 243 255; + --sl-color-violet-900: 237 233 254; + --sl-color-violet-800: 221 214 254; + --sl-color-violet-700: 196 181 253; + --sl-color-violet-600: 167 139 250; + --sl-color-violet-500: 139 92 246; + --sl-color-violet-400: 124 58 237; + --sl-color-violet-300: 109 40 217; + --sl-color-violet-200: 91 33 182; + --sl-color-violet-100: 76 29 149; + --sl-color-violet-50: 49 21 88; + + /* Purple */ + --sl-color-purple-950: 250 245 255; + --sl-color-purple-900: 243 232 255; + --sl-color-purple-800: 233 213 255; + --sl-color-purple-700: 216 180 254; + --sl-color-purple-600: 192 132 252; + --sl-color-purple-500: 168 85 247; + --sl-color-purple-400: 147 51 234; + --sl-color-purple-300: 126 34 206; + --sl-color-purple-200: 107 33 168; + --sl-color-purple-100: 88 28 135; + --sl-color-purple-50: 47 17 67; + + /* Fuchsia */ + --sl-color-fuchsia-950: 253 244 255; + --sl-color-fuchsia-900: 250 232 255; + --sl-color-fuchsia-800: 245 208 254; + --sl-color-fuchsia-700: 240 171 252; + --sl-color-fuchsia-600: 232 121 249; + --sl-color-fuchsia-500: 217 70 239; + --sl-color-fuchsia-400: 192 38 211; + --sl-color-fuchsia-300: 162 28 175; + --sl-color-fuchsia-200: 134 25 143; + --sl-color-fuchsia-100: 112 26 117; + --sl-color-fuchsia-50: 56 16 58; + + /* Pink */ + --sl-color-pink-950: 253 242 248; + --sl-color-pink-900: 252 231 243; + --sl-color-pink-800: 251 207 232; + --sl-color-pink-700: 249 168 212; + --sl-color-pink-600: 244 114 182; + --sl-color-pink-500: 236 72 153; + --sl-color-pink-400: 219 39 119; + --sl-color-pink-300: 190 24 93; + --sl-color-pink-200: 157 23 77; + --sl-color-pink-100: 131 24 67; + --sl-color-pink-50: 67 14 35; + + /* Rose */ + --sl-color-rose-950: 255 241 242; + --sl-color-rose-900: 255 228 230; + --sl-color-rose-800: 254 205 211; + --sl-color-rose-700: 253 164 175; + --sl-color-rose-600: 251 113 133; + --sl-color-rose-500: 244 63 94; + --sl-color-rose-400: 225 29 72; + --sl-color-rose-300: 190 18 60; + --sl-color-rose-200: 159 18 57; + --sl-color-rose-100: 136 19 55; + --sl-color-rose-50: 74 13 32; + } +`; diff --git a/src/themes/dark.ts b/src/themes/dark.ts deleted file mode 100644 index b4247f86..00000000 --- a/src/themes/dark.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { css, unsafeCSS } from 'lit'; -import styles from 'inline:./dark.css'; - -export default css` - ${unsafeCSS(styles)} -`;