aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.gitignore3
-rw-r--r--README.md55
-rw-r--r--bun.lock14
-rw-r--r--definitions/script/color.json49
-rw-r--r--definitions/script/color.ts49
-rw-r--r--definitions/script/color_expanded.json105
-rw-r--r--definitions/script/color_expanded.ts105
-rw-r--r--definitions/style/color.css91
-rw-r--r--definitions/style/color.scss44
-rw-r--r--definitions/style/color_expanded.css185
-rw-r--r--definitions/style/color_expanded.scss100
-rw-r--r--demo/asset/style/uchu-reduced.css56
-rw-r--r--demo/asset/style/uchu.css168
-rw-r--r--demo/index.html10
-rw-r--r--demo/simple.html6
-rw-r--r--dist/_palette.scss342
-rw-r--r--dist/index.js263
-rw-r--r--dist/uchu-reduced.css56
-rw-r--r--dist/uchu.css168
-rw-r--r--documentation/USAGE.md8
-rw-r--r--package.json41
-rw-r--r--scripts/generate.ts116
-rw-r--r--src/colors.ts217
-rw-r--r--src/index.ts61
-rw-r--r--tsconfig.json12
25 files changed, 1584 insertions, 740 deletions
diff --git a/.gitignore b/.gitignore
index 11c8d63..e204b34 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
# Files
.DS_Store
Thumbs.db
+
+# Directories
+node_modules
diff --git a/README.md b/README.md
index f0ea276..13bb5ea 100644
--- a/README.md
+++ b/README.md
@@ -6,6 +6,61 @@ No, [I will not add other color spaces](./documentation/FAQ.md#normal-colors).
+## Install
+
+```sh
+bun add uchu
+# or: npm install uchu / pnpm add uchu / yarn add uchu
+```
+
+
+
+## Usage
+
+### JavaScript / TypeScript
+
+```ts
+import { color, palette, reduced, yang } from "uchu";
+
+palette.blue[5]; // "oklch(54.87% 0.222 260.33)"
+color("red", 7); // "oklch(49.95% 0.195 18.34)"
+reduced.green[2]; // mid-shade green from the reduced palette
+yang; // off-white background constant
+```
+
+Types `Hue` and `Shade` are exported for narrowing palette keys.
+
+### CSS
+
+Drop the stylesheet in and use the CSS custom properties:
+
+```ts
+import "uchu/css";
+```
+
+```css
+body {
+ background-color: var(--uchu-yang);
+ border: 1px solid var(--uchu-blue-5);
+ color: var(--uchu-yin-9);
+}
+```
+
+### Sass / SCSS
+
+```scss
+@use "uchu/scss" as *;
+
+body {
+ background-color: $uchu-yang;
+ color: $uchu-yin-9;
+}
+```
+
+Prefer URL imports? See the [URL-based usage guide](./documentation/USAGE.md).
+
+
+
## Table of Contents
- [Expanded Palette](./documentation/EXPANDED.md)
diff --git a/bun.lock b/bun.lock
new file mode 100644
index 0000000..750ac82
--- /dev/null
+++ b/bun.lock
@@ -0,0 +1,14 @@
+{
+ "lockfileVersion": 1,
+ "workspaces": {
+ "": {
+ "name": "uchu",
+ "devDependencies": {
+ "typescript": "^5.4.0",
+ },
+ },
+ },
+ "packages": {
+ "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
+ }
+}
diff --git a/definitions/script/color.json b/definitions/script/color.json
deleted file mode 100644
index 3d724b7..0000000
--- a/definitions/script/color.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "blue": {
- "base": "oklch(62.39% 0.181 258.33)",
- "dark": "oklch(43.48% 0.17 260.2)",
- "light": "oklch(89.66% 0.046 260.67)"
- },
- "general": {
- "yang": "oklch(99.4% 0 0)",
- "yin": "oklch(14.38% 0.007 256.88)"
- },
- "gray": {
- "base": "oklch(84.68% 0.002 197.12)",
- "dark": "oklch(63.12% 0.004 219.55)",
- "light": "oklch(95.57% 0.003 286.35)"
- },
- "green": {
- "base": "oklch(79.33% 0.179 145.62)",
- "dark": "oklch(58.83% 0.158 145.05)",
- "light": "oklch(93.96% 0.05 148.74)"
- },
- "pink": {
- "base": "oklch(85.43% 0.09 354.1)",
- "dark": "oklch(64.11% 0.084 353.91)",
- "light": "oklch(95.8% 0.023 354.27)"
- },
- "purple": {
- "base": "oklch(58.47% 0.181 302.06)",
- "dark": "oklch(39.46% 0.164 298.29)",
- "light": "oklch(89.1% 0.046 305.24)"
- },
- "orange": {
- "base": "oklch(78.75% 0.14163582809066333 54.32911089172009)",
- "dark": "oklch(58.28% 0.128 52.2)",
- "light": "oklch(93.83% 0.037 56.93)"
- },
- "red": {
- "base": "oklch(62.73% 0.209 12.37)",
- "dark": "oklch(45.8% 0.177 17.7)",
- "light": "oklch(88.98% 0.052 3.28)"
- },
- "yellow": {
- "base": "oklch(90.92% 0.125 92.56)",
- "dark": "oklch(69.14% 0.109 91.04)",
- "light": "oklch(97.05% 0.039 91.2)"
- },
- "yin": {
- "light": "oklch(91.87% 0.003 264.54)"
- }
-}
diff --git a/definitions/script/color.ts b/definitions/script/color.ts
deleted file mode 100644
index 940eabc..0000000
--- a/definitions/script/color.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-export default {
- blue: {
- base: "oklch(62.39% 0.181 258.33)",
- dark: "oklch(43.48% 0.17 260.2)",
- light: "oklch(89.66% 0.046 260.67)"
- },
- general: {
- yang: "oklch(99.4% 0 0)",
- yin: "oklch(14.38% 0.007 256.88)"
- },
- gray: {
- base: "oklch(84.68% 0.002 197.12)",
- dark: "oklch(63.12% 0.004 219.55)",
- light: "oklch(95.57% 0.003 286.35)"
- },
- green: {
- base: "oklch(79.33% 0.179 145.62)",
- dark: "oklch(58.83% 0.158 145.05)",
- light: "oklch(93.96% 0.05 148.74)"
- },
- pink: {
- base: "oklch(85.43% 0.09 354.1)",
- dark: "oklch(64.11% 0.084 353.91)",
- light: "oklch(95.8% 0.023 354.27)"
- },
- purple: {
- base: "oklch(58.47% 0.181 302.06)",
- dark: "oklch(39.46% 0.164 298.29)",
- light: "oklch(89.1% 0.046 305.24)"
- },
- orange: {
- base: "oklch(78.75% 0.14163582809066333 54.32911089172009)",
- dark: "oklch(58.28% 0.128 52.2)",
- light: "oklch(93.83% 0.037 56.93)"
- },
- red: {
- base: "oklch(62.73% 0.209 12.37)",
- dark: "oklch(45.8% 0.177 17.7)",
- light: "oklch(88.98% 0.052 3.28)"
- },
- yellow: {
- base: "oklch(90.92% 0.125 92.56)",
- dark: "oklch(69.14% 0.109 91.04)",
- light: "oklch(97.05% 0.039 91.2)"
- },
- yin: {
- light: "oklch(91.87% 0.003 264.54)"
- }
-}
diff --git a/definitions/script/color_expanded.json b/definitions/script/color_expanded.json
deleted file mode 100644
index 3cfe980..0000000
--- a/definitions/script/color_expanded.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "blue": {
- "1": "oklch(89.66% 0.046 260.67)",
- "2": "oklch(80.17% 0.091 258.88)",
- "3": "oklch(70.94% 0.136 258.06)",
- "4": "oklch(62.39% 0.181 258.33)",
- "5": "oklch(54.87% 0.222 260.33)",
- "6": "oklch(51.15% 0.204 260.17)",
- "7": "oklch(47.36% 0.185 259.89)",
- "8": "oklch(43.48% 0.17 260.2)",
- "9": "oklch(39.53% 0.15 259.87)"
- },
- "general": {
- "yang": "oklch(99.4% 0 0)",
- "yin": "oklch(14.38% 0.007 256.88)"
- },
- "gray": {
- "1": "oklch(95.57% 0.003 286.35)",
- "2": "oklch(92.04% 0.002 197.12)",
- "3": "oklch(88.28% 0.003 286.34)",
- "4": "oklch(84.68% 0.002 197.12)",
- "5": "oklch(80.73% 0.002 247.84)",
- "6": "oklch(75.03% 0.002 247.85)",
- "7": "oklch(69.01% 0.003 286.32)",
- "8": "oklch(63.12% 0.004 219.55)",
- "9": "oklch(56.82% 0.004 247.89)"
- },
- "green": {
- "1": "oklch(93.96% 0.05 148.74)",
- "2": "oklch(88.77% 0.096 147.71)",
- "3": "oklch(83.74% 0.139 146.57)",
- "4": "oklch(79.33% 0.179 145.62)",
- "5": "oklch(75.23% 0.209 144.64)",
- "6": "oklch(70.03% 0.194 144.71)",
- "7": "oklch(64.24% 0.175 144.92)",
- "8": "oklch(58.83% 0.158 145.05)",
- "9": "oklch(52.77% 0.138 145.41)"
- },
- "pink": {
- "1": "oklch(95.8% 0.023 354.27)",
- "2": "oklch(92.14% 0.046 352.31)",
- "3": "oklch(88.9% 0.066 354.39)",
- "4": "oklch(85.43% 0.09 354.1)",
- "5": "oklch(82.23% 0.112 355.33)",
- "6": "oklch(76.37% 0.101 355.37)",
- "7": "oklch(70.23% 0.092 354.96)",
- "8": "oklch(64.11% 0.084 353.91)",
- "9": "oklch(57.68% 0.074 353.14)"
- },
- "purple": {
- "1": "oklch(89.1% 0.046 305.24)",
- "2": "oklch(78.68% 0.091 305)",
- "3": "oklch(68.5% 0.136 303.78)",
- "4": "oklch(58.47% 0.181 302.06)",
- "5": "oklch(49.39% 0.215 298.31)",
- "6": "oklch(46.11% 0.198 298.4)",
- "7": "oklch(42.77% 0.181 298.49)",
- "8": "oklch(39.46% 0.164 298.29)",
- "9": "oklch(36.01% 0.145 298.35)"
- },
- "orange": {
- "1": "oklch(93.83% 0.037 56.93)",
- "2": "oklch(88.37% 0.07258208750520016 55.80328658240742)",
- "3": "oklch(83.56% 0.10753627570574478 56.492594564236946)",
- "4": "oklch(78.75% 0.14163582809066333 54.32911089172009)",
- "5": "oklch(74.61% 0.171 51.56)",
- "6": "oklch(69.33% 0.157 52.18)",
- "7": "oklch(63.8% 0.142 52.1)",
- "8": "oklch(58.28% 0.128 52.2)",
- "9": "oklch(52.49% 0.113 51.98)"
- },
- "red": {
- "1": "oklch(88.98% 0.052 3.28)",
- "2": "oklch(78.78% 0.109 4.54)",
- "3": "oklch(69.86% 0.162 7.82)",
- "4": "oklch(62.73% 0.209 12.37)",
- "5": "oklch(58.63% 0.231 19.6)",
- "6": "oklch(54.41% 0.214 19.06)",
- "7": "oklch(49.95% 0.195 18.34)",
- "8": "oklch(45.8% 0.177 17.7)",
- "9": "oklch(41.17% 0.157 16.58)"
- },
- "yellow": {
- "1": "oklch(97.05% 0.039 91.2)",
- "2": "oklch(95% 0.07 92.39)",
- "3": "oklch(92.76% 0.098 92.58)",
- "4": "oklch(90.92% 0.125 92.56)",
- "5": "oklch(89% 0.146 91.5)",
- "6": "oklch(82.39% 0.133 91.5)",
- "7": "oklch(75.84% 0.122 92.21)",
- "8": "oklch(69.14% 0.109 91.04)",
- "9": "oklch(62.29% 0.097 91.9)"
- },
- "yin": {
- "1": "oklch(91.87% 0.003 264.54)",
- "2": "oklch(84.61% 0.004 286.31)",
- "3": "oklch(76.89% 0.004 247.87)",
- "4": "oklch(69.17% 0.004 247.88)",
- "5": "oklch(61.01% 0.005 271.34)",
- "6": "oklch(52.79% 0.005 271.32)",
- "7": "oklch(43.87% 0.005 271.3)",
- "8": "oklch(35.02% 0.005 236.66)",
- "9": "oklch(25.11% 0.006 258.36)"
- }
-}
diff --git a/definitions/script/color_expanded.ts b/definitions/script/color_expanded.ts
deleted file mode 100644
index 4e8a61d..0000000
--- a/definitions/script/color_expanded.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-export default {
- blue: {
- 1: "oklch(89.66% 0.046 260.67)",
- 2: "oklch(80.17% 0.091 258.88)",
- 3: "oklch(70.94% 0.136 258.06)",
- 4: "oklch(62.39% 0.181 258.33)",
- 5: "oklch(54.87% 0.222 260.33)",
- 6: "oklch(51.15% 0.204 260.17)",
- 7: "oklch(47.36% 0.185 259.89)",
- 8: "oklch(43.48% 0.17 260.2)",
- 9: "oklch(39.53% 0.15 259.87)"
- },
- general: {
- yang: "oklch(99.4% 0 0)",
- yin: "oklch(14.38% 0.007 256.88)"
- },
- gray: {
- 1: "oklch(95.57% 0.003 286.35)",
- 2: "oklch(92.04% 0.002 197.12)",
- 3: "oklch(88.28% 0.003 286.34)",
- 4: "oklch(84.68% 0.002 197.12)",
- 5: "oklch(80.73% 0.002 247.84)",
- 6: "oklch(75.03% 0.002 247.85)",
- 7: "oklch(69.01% 0.003 286.32)",
- 8: "oklch(63.12% 0.004 219.55)",
- 9: "oklch(56.82% 0.004 247.89)"
- },
- green: {
- 1: "oklch(93.96% 0.05 148.74)",
- 2: "oklch(88.77% 0.096 147.71)",
- 3: "oklch(83.74% 0.139 146.57)",
- 4: "oklch(79.33% 0.179 145.62)",
- 5: "oklch(75.23% 0.209 144.64)",
- 6: "oklch(70.03% 0.194 144.71)",
- 7: "oklch(64.24% 0.175 144.92)",
- 8: "oklch(58.83% 0.158 145.05)",
- 9: "oklch(52.77% 0.138 145.41)"
- },
- pink: {
- 1: "oklch(95.8% 0.023 354.27)",
- 2: "oklch(92.14% 0.046 352.31)",
- 3: "oklch(88.9% 0.066 354.39)",
- 4: "oklch(85.43% 0.09 354.1)",
- 5: "oklch(82.23% 0.112 355.33)",
- 6: "oklch(76.37% 0.101 355.37)",
- 7: "oklch(70.23% 0.092 354.96)",
- 8: "oklch(64.11% 0.084 353.91)",
- 9: "oklch(57.68% 0.074 353.14)"
- },
- purple: {
- 1: "oklch(89.1% 0.046 305.24)",
- 2: "oklch(78.68% 0.091 305)",
- 3: "oklch(68.5% 0.136 303.78)",
- 4: "oklch(58.47% 0.181 302.06)",
- 5: "oklch(49.39% 0.215 298.31)",
- 6: "oklch(46.11% 0.198 298.4)",
- 7: "oklch(42.77% 0.181 298.49)",
- 8: "oklch(39.46% 0.164 298.29)",
- 9: "oklch(36.01% 0.145 298.35)"
- },
- orange: {
- 1: "oklch(93.83% 0.037 56.93)",
- 2: "oklch(88.37% 0.07258208750520016 55.80328658240742)",
- 3: "oklch(83.56% 0.10753627570574478 56.492594564236946)",
- 4: "oklch(78.75% 0.14163582809066333 54.32911089172009)",
- 5: "oklch(74.61% 0.171 51.56)",
- 6: "oklch(69.33% 0.157 52.18)",
- 7: "oklch(63.8% 0.142 52.1)",
- 8: "oklch(58.28% 0.128 52.2)",
- 9: "oklch(52.49% 0.113 51.98)"
- },
- red: {
- 1: "oklch(88.98% 0.052 3.28)",
- 2: "oklch(78.78% 0.109 4.54)",
- 3: "oklch(69.86% 0.162 7.82)",
- 4: "oklch(62.73% 0.209 12.37)",
- 5: "oklch(58.63% 0.231 19.6)",
- 6: "oklch(54.41% 0.214 19.06)",
- 7: "oklch(49.95% 0.195 18.34)",
- 8: "oklch(45.8% 0.177 17.7)",
- 9: "oklch(41.17% 0.157 16.58)"
- },
- yellow: {
- 1: "oklch(97.05% 0.039 91.2)",
- 2: "oklch(95% 0.07 92.39)",
- 3: "oklch(92.76% 0.098 92.58)",
- 4: "oklch(90.92% 0.125 92.56)",
- 5: "oklch(89% 0.146 91.5)",
- 6: "oklch(82.39% 0.133 91.5)",
- 7: "oklch(75.84% 0.122 92.21)",
- 8: "oklch(69.14% 0.109 91.04)",
- 9: "oklch(62.29% 0.097 91.9)"
- },
- yin: {
- 1: "oklch(91.87% 0.003 264.54)",
- 2: "oklch(84.61% 0.004 286.31)",
- 3: "oklch(76.89% 0.004 247.87)",
- 4: "oklch(69.17% 0.004 247.88)",
- 5: "oklch(61.01% 0.005 271.34)",
- 6: "oklch(52.79% 0.005 271.32)",
- 7: "oklch(43.87% 0.005 271.3)",
- 8: "oklch(35.02% 0.005 236.66)",
- 9: "oklch(25.11% 0.006 258.36)"
- }
-}
diff --git a/definitions/style/color.css b/definitions/style/color.css
deleted file mode 100644
index ae06232..0000000
--- a/definitions/style/color.css
+++ /dev/null
@@ -1,91 +0,0 @@
-:root {
- /*** gray ***/
- --uchu-light-gray-raw: 95.57% 0.003 286.35;
- --uchu-light-gray: oklch(var(--uchu-light-gray-raw));
-
- --uchu-gray-raw: 84.68% 0.002 197.12;
- --uchu-gray: oklch(var(--uchu-gray-raw));
-
- --uchu-dark-gray-raw: 63.12% 0.004 219.55;
- --uchu-dark-gray: oklch(var(--uchu-dark-gray-raw));
-
- /*** red ***/
- --uchu-light-red-raw: 88.98% 0.052 3.28;
- --uchu-light-red: oklch(var(--uchu-light-red-raw));
-
- --uchu-red-raw: 62.73% 0.209 12.37;
- --uchu-red: oklch(var(--uchu-red-raw));
-
- --uchu-dark-red-raw: 45.8% 0.177 17.7;
- --uchu-dark-red: oklch(var(--uchu-dark-red-raw));
-
- /*** pink ***/
- --uchu-light-pink-raw: 95.8% 0.023 354.27;
- --uchu-light-pink: oklch(var(--uchu-light-pink-raw));
-
- --uchu-pink-raw: 85.43% 0.09 354.1;
- --uchu-pink: oklch(var(--uchu-pink-raw));
-
- --uchu-dark-pink-raw: 64.11% 0.084 353.91;
- --uchu-dark-pink: oklch(var(--uchu-dark-pink-raw));
-
- /*** purple ***/
- --uchu-light-purple-raw: 89.1% 0.046 305.24;
- --uchu-light-purple: oklch(var(--uchu-light-purple-raw));
-
- --uchu-purple-raw: 58.47% 0.181 302.06;
- --uchu-purple: oklch(var(--uchu-purple-raw));
-
- --uchu-dark-purple-raw: 39.46% 0.164 298.29;
- --uchu-dark-purple: oklch(var(--uchu-dark-purple-raw));
-
- /*** blue ***/
- --uchu-light-blue-raw: 89.66% 0.046 260.67;
- --uchu-light-blue: oklch(var(--uchu-light-blue-raw));
-
- --uchu-blue-raw: 62.39% 0.181 258.33;
- --uchu-blue: oklch(var(--uchu-blue-raw));
-
- --uchu-dark-blue-raw: 43.48% 0.17 260.2;
- --uchu-dark-blue: oklch(var(--uchu-dark-blue-raw));
-
- /*** green ***/
- --uchu-light-green-raw: 93.96% 0.05 148.74;
- --uchu-light-green: oklch(var(--uchu-light-green-raw));
-
- --uchu-green-raw: 79.33% 0.179 145.62;
- --uchu-green: oklch(var(--uchu-green-raw));
-
- --uchu-dark-green-raw: 58.83% 0.158 145.05;
- --uchu-dark-green: oklch(var(--uchu-dark-green-raw));
-
- /*** yellow ***/
- --uchu-light-yellow-raw: 97.05% 0.039 91.2;
- --uchu-light-yellow: oklch(var(--uchu-light-yellow-raw));
-
- --uchu-yellow-raw: 90.92% 0.125 92.56;
- --uchu-yellow: oklch(var(--uchu-yellow-raw));
-
- --uchu-dark-yellow-raw: 69.14% 0.109 91.04;
- --uchu-dark-yellow: oklch(var(--uchu-dark-yellow-raw));
-
- /*** orange ***/
- --uchu-light-orange-raw: 93.83% 0.037 56.93;
- --uchu-light-orange: oklch(var(--uchu-light-orange-raw));
-
- --uchu-orange-raw: 78.75% 0.14163582809066333 54.32911089172009;
- --uchu-orange: oklch(var(--uchu-orange-raw));
-
- --uchu-dark-orange-raw: 58.28% 0.128 52.2;
- --uchu-dark-orange: oklch(var(--uchu-dark-orange-raw));
-
- /*** general ***/
- --uchu-yang-raw: 99.4% 0 0;
- --uchu-yang: oklch(var(--uchu-yang-raw));
-
- --uchu-light-yin-raw: 91.87% 0.003 264.54;
- --uchu-light-yin: oklch(var(--uchu-light-yin-raw));
-
- --uchu-yin-raw: 14.38% 0.007 256.88;
- --uchu-yin: oklch(var(--uchu-yin-raw));
-}
diff --git a/definitions/style/color.scss b/definitions/style/color.scss
deleted file mode 100644
index b7e4fd7..0000000
--- a/definitions/style/color.scss
+++ /dev/null
@@ -1,44 +0,0 @@
-/*** gray ***/
-$uchu-light-gray: oklch(95.57% 0.003 286.35);
-$uchu-gray: oklch(84.68% 0.002 197.12);
-$uchu-dark-gray: oklch(63.12% 0.004 219.55);
-
-/*** red ***/
-$uchu-light-red: oklch(88.98% 0.052 3.28);
-$uchu-red: oklch(62.73% 0.209 12.37);
-$uchu-dark-red: oklch(45.8% 0.177 17.7);
-
-/*** pink ***/
-$uchu-light-pink: oklch(95.8% 0.023 354.27);
-$uchu-pink: oklch(85.43% 0.09 354.1);
-$uchu-dark-pink: oklch(64.11% 0.084 353.91);
-
-/*** purple ***/
-$uchu-light-purple: oklch(89.1% 0.046 305.24);
-$uchu-purple: oklch(58.47% 0.181 302.06);
-$uchu-dark-purple: oklch(39.46% 0.164 298.29);
-
-/*** blue ***/
-$uchu-light-blue: oklch(89.66% 0.046 260.67);
-$uchu-blue: oklch(62.39% 0.181 258.33);
-$uchu-dark-blue: oklch(43.48% 0.17 260.2);
-
-/*** green ***/
-$uchu-light-green: oklch(93.96% 0.05 148.74);
-$uchu-green: oklch(79.33% 0.179 145.62);
-$uchu-dark-green: oklch(58.83% 0.158 145.05);
-
-/*** yellow ***/
-$uchu-light-yellow: oklch(97.05% 0.039 91.2);
-$uchu-yellow: oklch(90.92% 0.125 92.56);
-$uchu-dark-yellow: oklch(69.14% 0.109 91.04);
-
-/*** orange ***/
-$uchu-light-orange: oklch(93.83% 0.037 56.93);
-$uchu-orange: oklch(78.75% 0.14163582809066333 54.32911089172009);
-$uchu-dark-orange: oklch(58.28% 0.128 52.2);
-
-/*** general ***/
-$uchu-yang: oklch(99.4% 0 0);
-$uchu-light-yin: oklch(91.87% 0.003 264.54);
-$uchu-yin: oklch(14.38% 0.007 256.88);
diff --git a/definitions/style/color_expanded.css b/definitions/style/color_expanded.css
deleted file mode 100644
index f0e9a21..0000000
--- a/definitions/style/color_expanded.css
+++ /dev/null
@@ -1,185 +0,0 @@
-:root {
- /*** gray ***/
- --uchu-gray-1-raw: 95.57% 0.003 286.35;
- --uchu-gray-1: oklch(var(--uchu-gray-1-raw));
- --uchu-gray-2-raw: 92.04% 0.002 197.12;
- --uchu-gray-2: oklch(var(--uchu-gray-2-raw));
- --uchu-gray-3-raw: 88.28% 0.003 286.34;
- --uchu-gray-3: oklch(var(--uchu-gray-3-raw));
- --uchu-gray-4-raw: 84.68% 0.002 197.12;
- --uchu-gray-4: oklch(var(--uchu-gray-4-raw));
- --uchu-gray-5-raw: 80.73% 0.002 247.84;
- --uchu-gray-5: oklch(var(--uchu-gray-5-raw));
- --uchu-gray-6-raw: 75.03% 0.002 247.85;
- --uchu-gray-6: oklch(var(--uchu-gray-6-raw));
- --uchu-gray-7-raw: 69.01% 0.003 286.32;
- --uchu-gray-7: oklch(var(--uchu-gray-7-raw));
- --uchu-gray-8-raw: 63.12% 0.004 219.55;
- --uchu-gray-8: oklch(var(--uchu-gray-8-raw));
- --uchu-gray-9-raw: 56.82% 0.004 247.89;
- --uchu-gray-9: oklch(var(--uchu-gray-9-raw));
-
- /*** red ***/
- --uchu-red-1-raw: 88.98% 0.052 3.28;
- --uchu-red-1: oklch(var(--uchu-red-1-raw));
- --uchu-red-2-raw: 78.78% 0.109 4.54;
- --uchu-red-2: oklch(var(--uchu-red-2-raw));
- --uchu-red-3-raw: 69.86% 0.162 7.82;
- --uchu-red-3: oklch(var(--uchu-red-3-raw));
- --uchu-red-4-raw: 62.73% 0.209 12.37;
- --uchu-red-4: oklch(var(--uchu-red-4-raw));
- --uchu-red-5-raw: 58.63% 0.231 19.6;
- --uchu-red-5: oklch(var(--uchu-red-5-raw));
- --uchu-red-6-raw: 54.41% 0.214 19.06;
- --uchu-red-6: oklch(var(--uchu-red-6-raw));
- --uchu-red-7-raw: 49.95% 0.195 18.34;
- --uchu-red-7: oklch(var(--uchu-red-7-raw));
- --uchu-red-8-raw: 45.8% 0.177 17.7;
- --uchu-red-8: oklch(var(--uchu-red-8-raw));
- --uchu-red-9-raw: 41.17% 0.157 16.58;
- --uchu-red-9: oklch(var(--uchu-red-9-raw));
-
- /*** pink ***/
- --uchu-pink-1-raw: 95.8% 0.023 354.27;
- --uchu-pink-1: oklch(var(--uchu-pink-1-raw));
- --uchu-pink-2-raw: 92.14% 0.046 352.31;
- --uchu-pink-2: oklch(var(--uchu-pink-2-raw));
- --uchu-pink-3-raw: 88.9% 0.066 354.39;
- --uchu-pink-3: oklch(var(--uchu-pink-3-raw));
- --uchu-pink-4-raw: 85.43% 0.09 354.1;
- --uchu-pink-4: oklch(var(--uchu-pink-4-raw));
- --uchu-pink-5-raw: 82.23% 0.112 355.33;
- --uchu-pink-5: oklch(var(--uchu-pink-5-raw));
- --uchu-pink-6-raw: 76.37% 0.101 355.37;
- --uchu-pink-6: oklch(var(--uchu-pink-6-raw));
- --uchu-pink-7-raw: 70.23% 0.092 354.96;
- --uchu-pink-7: oklch(var(--uchu-pink-7-raw));
- --uchu-pink-8-raw: 64.11% 0.084 353.91;
- --uchu-pink-8: oklch(var(--uchu-pink-8-raw));
- --uchu-pink-9-raw: 57.68% 0.074 353.14;
- --uchu-pink-9: oklch(var(--uchu-pink-9-raw));
-
- /*** purple ***/
- --uchu-purple-1-raw: 89.1% 0.046 305.24;
- --uchu-purple-1: oklch(var(--uchu-purple-1-raw));
- --uchu-purple-2-raw: 78.68% 0.091 305;
- --uchu-purple-2: oklch(var(--uchu-purple-2-raw));
- --uchu-purple-3-raw: 68.5% 0.136 303.78;
- --uchu-purple-3: oklch(var(--uchu-purple-3-raw));
- --uchu-purple-4-raw: 58.47% 0.181 302.06;
- --uchu-purple-4: oklch(var(--uchu-purple-4-raw));
- --uchu-purple-5-raw: 49.39% 0.215 298.31;
- --uchu-purple-5: oklch(var(--uchu-purple-5-raw));
- --uchu-purple-6-raw: 46.11% 0.198 298.4;
- --uchu-purple-6: oklch(var(--uchu-purple-6-raw));
- --uchu-purple-7-raw: 42.77% 0.181 298.49;
- --uchu-purple-7: oklch(var(--uchu-purple-7-raw));
- --uchu-purple-8-raw: 39.46% 0.164 298.29;
- --uchu-purple-8: oklch(var(--uchu-purple-8-raw));
- --uchu-purple-9-raw: 36.01% 0.145 298.35;
- --uchu-purple-9: oklch(var(--uchu-purple-9-raw));
-
- /*** blue ***/
- --uchu-blue-1-raw: 89.66% 0.046 260.67;
- --uchu-blue-1: oklch(var(--uchu-blue-1-raw));
- --uchu-blue-2-raw: 80.17% 0.091 258.88;
- --uchu-blue-2: oklch(var(--uchu-blue-2-raw));
- --uchu-blue-3-raw: 70.94% 0.136 258.06;
- --uchu-blue-3: oklch(var(--uchu-blue-3-raw));
- --uchu-blue-4-raw: 62.39% 0.181 258.33;
- --uchu-blue-4: oklch(var(--uchu-blue-4-raw));
- --uchu-blue-5-raw: 54.87% 0.222 260.33;
- --uchu-blue-5: oklch(var(--uchu-blue-5-raw));
- --uchu-blue-6-raw: 51.15% 0.204 260.17;
- --uchu-blue-6: oklch(var(--uchu-blue-6-raw));
- --uchu-blue-7-raw: 47.36% 0.185 259.89;
- --uchu-blue-7: oklch(var(--uchu-blue-7-raw));
- --uchu-blue-8-raw: 43.48% 0.17 260.2;
- --uchu-blue-8: oklch(var(--uchu-blue-8-raw));
- --uchu-blue-9-raw: 39.53% 0.15 259.87;
- --uchu-blue-9: oklch(var(--uchu-blue-9-raw));
-
- /*** green ***/
- --uchu-green-1-raw: 93.96% 0.05 148.74;
- --uchu-green-1: oklch(var(--uchu-green-1-raw));
- --uchu-green-2-raw: 88.77% 0.096 147.71;
- --uchu-green-2: oklch(var(--uchu-green-2-raw));
- --uchu-green-3-raw: 83.74% 0.139 146.57;
- --uchu-green-3: oklch(var(--uchu-green-3-raw));
- --uchu-green-4-raw: 79.33% 0.179 145.62;
- --uchu-green-4: oklch(var(--uchu-green-4-raw));
- --uchu-green-5-raw: 75.23% 0.209 144.64;
- --uchu-green-5: oklch(var(--uchu-green-5-raw));
- --uchu-green-6-raw: 70.03% 0.194 144.71;
- --uchu-green-6: oklch(var(--uchu-green-6-raw));
- --uchu-green-7-raw: 64.24% 0.175 144.92;
- --uchu-green-7: oklch(var(--uchu-green-7-raw));
- --uchu-green-8-raw: 58.83% 0.158 145.05;
- --uchu-green-8: oklch(var(--uchu-green-8-raw));
- --uchu-green-9-raw: 52.77% 0.138 145.41;
- --uchu-green-9: oklch(var(--uchu-green-9-raw));
-
- /*** yellow ***/
- --uchu-yellow-1-raw: 97.05% 0.039 91.2;
- --uchu-yellow-1: oklch(var(--uchu-yellow-1-raw));
- --uchu-yellow-2-raw: 95% 0.07 92.39;
- --uchu-yellow-2: oklch(var(--uchu-yellow-2-raw));
- --uchu-yellow-3-raw: 92.76% 0.098 92.58;
- --uchu-yellow-3: oklch(var(--uchu-yellow-3-raw));
- --uchu-yellow-4-raw: 90.92% 0.125 92.56;
- --uchu-yellow-4: oklch(var(--uchu-yellow-4-raw));
- --uchu-yellow-5-raw: 89% 0.146 91.5;
- --uchu-yellow-5: oklch(var(--uchu-yellow-5-raw));
- --uchu-yellow-6-raw: 82.39% 0.133 91.5;
- --uchu-yellow-6: oklch(var(--uchu-yellow-6-raw));
- --uchu-yellow-7-raw: 75.84% 0.122 92.21;
- --uchu-yellow-7: oklch(var(--uchu-yellow-7-raw));
- --uchu-yellow-8-raw: 69.14% 0.109 91.04;
- --uchu-yellow-8: oklch(var(--uchu-yellow-8-raw));
- --uchu-yellow-9-raw: 62.29% 0.097 91.9;
- --uchu-yellow-9: oklch(var(--uchu-yellow-9-raw));
-
- /*** orange ***/
- --uchu-orange-1-raw: 93.83% 0.037 56.93;
- --uchu-orange-1: oklch(var(--uchu-orange-1-raw));
- --uchu-orange-2-raw: 88.37% 0.07258208750520016 55.80328658240742;
- --uchu-orange-2: oklch(var(--uchu-orange-2-raw));
- --uchu-orange-3-raw: 83.56% 0.10753627570574478 56.492594564236946;
- --uchu-orange-3: oklch(var(--uchu-orange-3-raw));
- --uchu-orange-4-raw: 78.75% 0.14163582809066333 54.32911089172009;
- --uchu-orange-4: oklch(var(--uchu-orange-4-raw));
- --uchu-orange-5-raw: 74.61% 0.171 51.56;
- --uchu-orange-5: oklch(var(--uchu-orange-5-raw));
- --uchu-orange-6-raw: 69.33% 0.157 52.18;
- --uchu-orange-6: oklch(var(--uchu-orange-6-raw));
- --uchu-orange-7-raw: 63.8% 0.142 52.1;
- --uchu-orange-7: oklch(var(--uchu-orange-7-raw));
- --uchu-orange-8-raw: 58.28% 0.128 52.2;
- --uchu-orange-8: oklch(var(--uchu-orange-8-raw));
- --uchu-orange-9-raw: 52.49% 0.113 51.98;
- --uchu-orange-9: oklch(var(--uchu-orange-9-raw));
-
- /*** general ***/
- --uchu-yin-1-raw: 91.87% 0.003 264.54;
- --uchu-yin-1: oklch(var(--uchu-yin-1-raw));
- --uchu-yin-2-raw: 84.61% 0.004 286.31;
- --uchu-yin-2: oklch(var(--uchu-yin-2-raw));
- --uchu-yin-3-raw: 76.89% 0.004 247.87;
- --uchu-yin-3: oklch(var(--uchu-yin-3-raw));
- --uchu-yin-4-raw: 69.17% 0.004 247.88;
- --uchu-yin-4: oklch(var(--uchu-yin-4-raw));
- --uchu-yin-5-raw: 61.01% 0.005 271.34;
- --uchu-yin-5: oklch(var(--uchu-yin-5-raw));
- --uchu-yin-6-raw: 52.79% 0.005 271.32;
- --uchu-yin-6: oklch(var(--uchu-yin-6-raw));
- --uchu-yin-7-raw: 43.87% 0.005 271.3;
- --uchu-yin-7: oklch(var(--uchu-yin-7-raw));
- --uchu-yin-8-raw: 35.02% 0.005 236.66;
- --uchu-yin-8: oklch(var(--uchu-yin-8-raw));
- --uchu-yin-9-raw: 25.11% 0.006 258.36;
- --uchu-yin-9: oklch(var(--uchu-yin-9-raw));
- --uchu-yin-raw: 14.38% 0.007 256.88;
- --uchu-yin: oklch(var(--uchu-yin-raw));
- --uchu-yang-raw: 99.4% 0 0;
- --uchu-yang: oklch(var(--uchu-yang-raw));
-}
diff --git a/definitions/style/color_expanded.scss b/definitions/style/color_expanded.scss
deleted file mode 100644
index 877e505..0000000
--- a/definitions/style/color_expanded.scss
+++ /dev/null
@@ -1,100 +0,0 @@
-/*** gray ***/
-$uchu-gray-1: oklch(95.57% 0.003 286.35);
-$uchu-gray-2: oklch(92.04% 0.002 197.12);
-$uchu-gray-3: oklch(88.28% 0.003 286.34);
-$uchu-gray-4: oklch(84.68% 0.002 197.12);
-$uchu-gray-5: oklch(80.73% 0.002 247.84);
-$uchu-gray-6: oklch(75.03% 0.002 247.85);
-$uchu-gray-7: oklch(69.01% 0.003 286.32);
-$uchu-gray-8: oklch(63.12% 0.004 219.55);
-$uchu-gray-9: oklch(56.82% 0.004 247.89);
-
-/*** red ***/
-$uchu-red-1: oklch(88.98% 0.052 3.28);
-$uchu-red-2: oklch(78.78% 0.109 4.54);
-$uchu-red-3: oklch(69.86% 0.162 7.82);
-$uchu-red-4: oklch(62.73% 0.209 12.37);
-$uchu-red-5: oklch(58.63% 0.231 19.6);
-$uchu-red-6: oklch(54.41% 0.214 19.06);
-$uchu-red-7: oklch(49.95% 0.195 18.34);
-$uchu-red-8: oklch(45.8% 0.177 17.7);
-$uchu-red-9: oklch(41.17% 0.157 16.58);
-
-/*** pink ***/
-$uchu-pink-1: oklch(95.8% 0.023 354.27);
-$uchu-pink-2: oklch(92.14% 0.046 352.31);
-$uchu-pink-3: oklch(88.9% 0.066 354.39);
-$uchu-pink-4: oklch(85.43% 0.09 354.1);
-$uchu-pink-5: oklch(82.23% 0.112 355.33);
-$uchu-pink-6: oklch(76.37% 0.101 355.37);
-$uchu-pink-7: oklch(70.23% 0.092 354.96);
-$uchu-pink-8: oklch(64.11% 0.084 353.91);
-$uchu-pink-9: oklch(57.68% 0.074 353.14);
-
-/*** purple ***/
-$uchu-purple-1: oklch(89.1% 0.046 305.24);
-$uchu-purple-2: oklch(78.68% 0.091 305);
-$uchu-purple-3: oklch(68.5% 0.136 303.78);
-$uchu-purple-4: oklch(58.47% 0.181 302.06);
-$uchu-purple-5: oklch(49.39% 0.215 298.31);
-$uchu-purple-6: oklch(46.11% 0.198 298.4);
-$uchu-purple-7: oklch(42.77% 0.181 298.49);
-$uchu-purple-8: oklch(39.46% 0.164 298.29);
-$uchu-purple-9: oklch(36.01% 0.145 298.35);
-
-/*** blue ***/
-$uchu-blue-1: oklch(89.66% 0.046 260.67);
-$uchu-blue-2: oklch(80.17% 0.091 258.88);
-$uchu-blue-3: oklch(70.94% 0.136 258.06);
-$uchu-blue-4: oklch(62.39% 0.181 258.33);
-$uchu-blue-5: oklch(54.87% 0.222 260.33);
-$uchu-blue-6: oklch(51.15% 0.204 260.17);
-$uchu-blue-7: oklch(47.36% 0.185 259.89);
-$uchu-blue-8: oklch(43.48% 0.17 260.2);
-$uchu-blue-9: oklch(39.53% 0.15 259.87);
-
-/*** green ***/
-$uchu-green-1: oklch(93.96% 0.05 148.74);
-$uchu-green-2: oklch(88.77% 0.096 147.71);
-$uchu-green-3: oklch(83.74% 0.139 146.57);
-$uchu-green-4: oklch(79.33% 0.179 145.62);
-$uchu-green-5: oklch(75.23% 0.209 144.64);
-$uchu-green-6: oklch(70.03% 0.194 144.71);
-$uchu-green-7: oklch(64.24% 0.175 144.92);
-$uchu-green-8: oklch(58.83% 0.158 145.05);
-$uchu-green-9: oklch(52.77% 0.138 145.41);
-
-/*** yellow ***/
-$uchu-yellow-1: oklch(97.05% 0.039 91.2);
-$uchu-yellow-2: oklch(95% 0.07 92.39);
-$uchu-yellow-3: oklch(92.76% 0.098 92.58);
-$uchu-yellow-4: oklch(90.92% 0.125 92.56);
-$uchu-yellow-5: oklch(89% 0.146 91.5);
-$uchu-yellow-6: oklch(82.39% 0.133 91.5);
-$uchu-yellow-7: oklch(75.84% 0.122 92.21);
-$uchu-yellow-8: oklch(69.14% 0.109 91.04);
-$uchu-yellow-9: oklch(62.29% 0.097 91.9);
-
-/*** orange ***/
-$uchu-orange-1: oklch(93.83% 0.037 56.93);
-$uchu-orange-2: oklch(88.37% 0.07258208750520016 55.80328658240742);
-$uchu-orange-3: oklch(83.56% 0.10753627570574478 56.492594564236946);
-$uchu-orange-4: oklch(78.75% 0.14163582809066333 54.32911089172009);
-$uchu-orange-5: oklch(74.61% 0.171 51.56);
-$uchu-orange-6: oklch(69.33% 0.157 52.18);
-$uchu-orange-7: oklch(63.8% 0.142 52.1);
-$uchu-orange-8: oklch(58.28% 0.128 52.2);
-$uchu-orange-9: oklch(52.49% 0.113 51.98);
-
-/*** general ***/
-$uchu-yin-1: oklch(91.87% 0.003 264.54);
-$uchu-yin-2: oklch(84.61% 0.004 286.31);
-$uchu-yin-3: oklch(76.89% 0.004 247.87);
-$uchu-yin-4: oklch(69.17% 0.004 247.88);
-$uchu-yin-5: oklch(61.01% 0.005 271.34);
-$uchu-yin-6: oklch(52.79% 0.005 271.32);
-$uchu-yin-7: oklch(43.87% 0.005 271.3);
-$uchu-yin-8: oklch(35.02% 0.005 236.66);
-$uchu-yin-9: oklch(25.11% 0.006 258.36);
-$uchu-yin: oklch(14.38% 0.007 256.88);
-$uchu-yang: oklch(99.4% 0 0);
diff --git a/demo/asset/style/uchu-reduced.css b/demo/asset/style/uchu-reduced.css
new file mode 100644
index 0000000..11bf87d
--- /dev/null
+++ b/demo/asset/style/uchu-reduced.css
@@ -0,0 +1,56 @@
+/* Generated from src/index.ts — do not edit by hand */
+
+:root {
+ --uchu-light-blue-raw: 89.66% 0.046 260.67;
+ --uchu-light-blue: oklch(89.66% 0.046 260.67);
+ --uchu-blue-raw: 80.17% 0.091 258.88;
+ --uchu-blue: oklch(62.39% 0.181 258.33);
+ --uchu-dark-blue-raw: 70.94% 0.136 258.06;
+ --uchu-dark-blue: oklch(43.48% 0.17 260.2);
+ --uchu-light-gray-raw: 95.57% 0.003 286.35;
+ --uchu-light-gray: oklch(95.57% 0.003 286.35);
+ --uchu-gray-raw: 92.04% 0.002 197.12;
+ --uchu-gray: oklch(84.68% 0.002 197.12);
+ --uchu-dark-gray-raw: 88.28% 0.003 286.34;
+ --uchu-dark-gray: oklch(63.12% 0.004 219.55);
+ --uchu-light-green-raw: 93.96% 0.05 148.74;
+ --uchu-light-green: oklch(93.96% 0.05 148.74);
+ --uchu-green-raw: 88.77% 0.096 147.71;
+ --uchu-green: oklch(79.33% 0.179 145.62);
+ --uchu-dark-green-raw: 83.74% 0.139 146.57;
+ --uchu-dark-green: oklch(58.83% 0.158 145.05);
+ --uchu-light-orange-raw: 93.83% 0.037 56.93;
+ --uchu-light-orange: oklch(93.83% 0.037 56.93);
+ --uchu-orange-raw: 88.37% 0.072 55.8;
+ --uchu-orange: oklch(78.75% 0.141 54.32);
+ --uchu-dark-orange-raw: 83.56% 0.107 56.49;
+ --uchu-dark-orange: oklch(58.28% 0.128 52.2);
+ --uchu-light-pink-raw: 95.8% 0.023 354.27;
+ --uchu-light-pink: oklch(95.8% 0.023 354.27);
+ --uchu-pink-raw: 92.14% 0.046 352.31;
+ --uchu-pink: oklch(85.43% 0.09 354.1);
+ --uchu-dark-pink-raw: 88.9% 0.066 354.39;
+ --uchu-dark-pink: oklch(64.11% 0.084 353.91);
+ --uchu-light-purple-raw: 89.1% 0.046 305.24;
+ --uchu-light-purple: oklch(89.1% 0.046 305.24);
+ --uchu-purple-raw: 78.68% 0.091 305;
+ --uchu-purple: oklch(58.47% 0.181 302.06);
+ --uchu-dark-purple-raw: 68.5% 0.136 303.78;
+ --uchu-dark-purple: oklch(39.46% 0.164 298.29);
+ --uchu-light-red-raw: 88.98% 0.052 3.28;
+ --uchu-light-red: oklch(88.98% 0.052 3.28);
+ --uchu-red-raw: 78.78% 0.109 4.54;
+ --uchu-red: oklch(62.73% 0.209 12.37);
+ --uchu-dark-red-raw: 69.86% 0.162 7.82;
+ --uchu-dark-red: oklch(45.8% 0.177 17.7);
+ --uchu-light-yellow-raw: 97.05% 0.039 91.2;
+ --uchu-light-yellow: oklch(97.05% 0.039 91.2);
+ --uchu-yellow-raw: 95% 0.07 92.39;
+ --uchu-yellow: oklch(90.92% 0.125 92.56);
+ --uchu-dark-yellow-raw: 92.76% 0.098 92.58;
+ --uchu-dark-yellow: oklch(69.14% 0.109 91.04);
+ --uchu-light-yin-raw: 91.87% 0.003 264.54;
+ --uchu-light-yin: oklch(91.87% 0.003 264.54);
+ --uchu-yang: oklch(99.4% 0 0);
+ --uchu-yin: oklch(14.38% 0.007 256.88);
+}
diff --git a/demo/asset/style/uchu.css b/demo/asset/style/uchu.css
new file mode 100644
index 0000000..d74d64e
--- /dev/null
+++ b/demo/asset/style/uchu.css
@@ -0,0 +1,168 @@
+/* Generated from src/colors.ts — do not edit by hand */
+
+:root {
+ --uchu-blue-1-raw: 89.66% 0.046 260.67;
+ --uchu-blue-1: oklch(89.66% 0.046 260.67);
+ --uchu-blue-2-raw: 80.17% 0.091 258.88;
+ --uchu-blue-2: oklch(80.17% 0.091 258.88);
+ --uchu-blue-3-raw: 70.94% 0.136 258.06;
+ --uchu-blue-3: oklch(70.94% 0.136 258.06);
+ --uchu-blue-4-raw: 62.39% 0.181 258.33;
+ --uchu-blue-4: oklch(62.39% 0.181 258.33);
+ --uchu-blue-5-raw: 54.87% 0.222 260.33;
+ --uchu-blue-5: oklch(54.87% 0.222 260.33);
+ --uchu-blue-6-raw: 51.15% 0.204 260.17;
+ --uchu-blue-6: oklch(51.15% 0.204 260.17);
+ --uchu-blue-7-raw: 47.36% 0.185 259.89;
+ --uchu-blue-7: oklch(47.36% 0.185 259.89);
+ --uchu-blue-8-raw: 43.48% 0.17 260.2;
+ --uchu-blue-8: oklch(43.48% 0.17 260.2);
+ --uchu-blue-9-raw: 39.53% 0.15 259.87;
+ --uchu-blue-9: oklch(39.53% 0.15 259.87);
+ --uchu-gray-1-raw: 95.57% 0.003 286.35;
+ --uchu-gray-1: oklch(95.57% 0.003 286.35);
+ --uchu-gray-2-raw: 92.04% 0.002 197.12;
+ --uchu-gray-2: oklch(92.04% 0.002 197.12);
+ --uchu-gray-3-raw: 88.28% 0.003 286.34;
+ --uchu-gray-3: oklch(88.28% 0.003 286.34);
+ --uchu-gray-4-raw: 84.68% 0.002 197.12;
+ --uchu-gray-4: oklch(84.68% 0.002 197.12);
+ --uchu-gray-5-raw: 80.73% 0.002 247.84;
+ --uchu-gray-5: oklch(80.73% 0.002 247.84);
+ --uchu-gray-6-raw: 75.03% 0.002 247.85;
+ --uchu-gray-6: oklch(75.03% 0.002 247.85);
+ --uchu-gray-7-raw: 69.01% 0.003 286.32;
+ --uchu-gray-7: oklch(69.01% 0.003 286.32);
+ --uchu-gray-8-raw: 63.12% 0.004 219.55;
+ --uchu-gray-8: oklch(63.12% 0.004 219.55);
+ --uchu-gray-9-raw: 56.82% 0.004 247.89;
+ --uchu-gray-9: oklch(56.82% 0.004 247.89);
+ --uchu-green-1-raw: 93.96% 0.05 148.74;
+ --uchu-green-1: oklch(93.96% 0.05 148.74);
+ --uchu-green-2-raw: 88.77% 0.096 147.71;
+ --uchu-green-2: oklch(88.77% 0.096 147.71);
+ --uchu-green-3-raw: 83.74% 0.139 146.57;
+ --uchu-green-3: oklch(83.74% 0.139 146.57);
+ --uchu-green-4-raw: 79.33% 0.179 145.62;
+ --uchu-green-4: oklch(79.33% 0.179 145.62);
+ --uchu-green-5-raw: 75.23% 0.209 144.64;
+ --uchu-green-5: oklch(75.23% 0.209 144.64);
+ --uchu-green-6-raw: 70.03% 0.194 144.71;
+ --uchu-green-6: oklch(70.03% 0.194 144.71);
+ --uchu-green-7-raw: 64.24% 0.175 144.92;
+ --uchu-green-7: oklch(64.24% 0.175 144.92);
+ --uchu-green-8-raw: 58.83% 0.158 145.05;
+ --uchu-green-8: oklch(58.83% 0.158 145.05);
+ --uchu-green-9-raw: 52.77% 0.138 145.41;
+ --uchu-green-9: oklch(52.77% 0.138 145.41);
+ --uchu-orange-1-raw: 93.83% 0.037 56.93;
+ --uchu-orange-1: oklch(93.83% 0.037 56.93);
+ --uchu-orange-2-raw: 88.37% 0.072 55.8;
+ --uchu-orange-2: oklch(88.37% 0.072 55.8);
+ --uchu-orange-3-raw: 83.56% 0.107 56.49;
+ --uchu-orange-3: oklch(83.56% 0.107 56.49);
+ --uchu-orange-4-raw: 78.75% 0.141 54.32;
+ --uchu-orange-4: oklch(78.75% 0.141 54.32);
+ --uchu-orange-5-raw: 74.61% 0.171 51.56;
+ --uchu-orange-5: oklch(74.61% 0.171 51.56);
+ --uchu-orange-6-raw: 69.33% 0.157 52.18;
+ --uchu-orange-6: oklch(69.33% 0.157 52.18);
+ --uchu-orange-7-raw: 63.8% 0.142 52.1;
+ --uchu-orange-7: oklch(63.8% 0.142 52.1);
+ --uchu-orange-8-raw: 58.28% 0.128 52.2;
+ --uchu-orange-8: oklch(58.28% 0.128 52.2);
+ --uchu-orange-9-raw: 52.49% 0.113 51.98;
+ --uchu-orange-9: oklch(52.49% 0.113 51.98);
+ --uchu-pink-1-raw: 95.8% 0.023 354.27;
+ --uchu-pink-1: oklch(95.8% 0.023 354.27);
+ --uchu-pink-2-raw: 92.14% 0.046 352.31;
+ --uchu-pink-2: oklch(92.14% 0.046 352.31);
+ --uchu-pink-3-raw: 88.9% 0.066 354.39;
+ --uchu-pink-3: oklch(88.9% 0.066 354.39);
+ --uchu-pink-4-raw: 85.43% 0.09 354.1;
+ --uchu-pink-4: oklch(85.43% 0.09 354.1);
+ --uchu-pink-5-raw: 82.23% 0.112 355.33;
+ --uchu-pink-5: oklch(82.23% 0.112 355.33);
+ --uchu-pink-6-raw: 76.37% 0.101 355.37;
+ --uchu-pink-6: oklch(76.37% 0.101 355.37);
+ --uchu-pink-7-raw: 70.23% 0.092 354.96;
+ --uchu-pink-7: oklch(70.23% 0.092 354.96);
+ --uchu-pink-8-raw: 64.11% 0.084 353.91;
+ --uchu-pink-8: oklch(64.11% 0.084 353.91);
+ --uchu-pink-9-raw: 57.68% 0.074 353.14;
+ --uchu-pink-9: oklch(57.68% 0.074 353.14);
+ --uchu-purple-1-raw: 89.1% 0.046 305.24;
+ --uchu-purple-1: oklch(89.1% 0.046 305.24);
+ --uchu-purple-2-raw: 78.68% 0.091 305;
+ --uchu-purple-2: oklch(78.68% 0.091 305);
+ --uchu-purple-3-raw: 68.5% 0.136 303.78;
+ --uchu-purple-3: oklch(68.5% 0.136 303.78);
+ --uchu-purple-4-raw: 58.47% 0.181 302.06;
+ --uchu-purple-4: oklch(58.47% 0.181 302.06);
+ --uchu-purple-5-raw: 49.39% 0.215 298.31;
+ --uchu-purple-5: oklch(49.39% 0.215 298.31);
+ --uchu-purple-6-raw: 46.11% 0.198 298.4;
+ --uchu-purple-6: oklch(46.11% 0.198 298.4);
+ --uchu-purple-7-raw: 42.77% 0.181 298.49;
+ --uchu-purple-7: oklch(42.77% 0.181 298.49);
+ --uchu-purple-8-raw: 39.46% 0.164 298.29;
+ --uchu-purple-8: oklch(39.46% 0.164 298.29);
+ --uchu-purple-9-raw: 36.01% 0.145 298.35;
+ --uchu-purple-9: oklch(36.01% 0.145 298.35);
+ --uchu-red-1-raw: 88.98% 0.052 3.28;
+ --uchu-red-1: oklch(88.98% 0.052 3.28);
+ --uchu-red-2-raw: 78.78% 0.109 4.54;
+ --uchu-red-2: oklch(78.78% 0.109 4.54);
+ --uchu-red-3-raw: 69.86% 0.162 7.82;
+ --uchu-red-3: oklch(69.86% 0.162 7.82);
+ --uchu-red-4-raw: 62.73% 0.209 12.37;
+ --uchu-red-4: oklch(62.73% 0.209 12.37);
+ --uchu-red-5-raw: 58.63% 0.231 19.6;
+ --uchu-red-5: oklch(58.63% 0.231 19.6);
+ --uchu-red-6-raw: 54.41% 0.214 19.06;
+ --uchu-red-6: oklch(54.41% 0.214 19.06);
+ --uchu-red-7-raw: 49.95% 0.195 18.34;
+ --uchu-red-7: oklch(49.95% 0.195 18.34);
+ --uchu-red-8-raw: 45.8% 0.177 17.7;
+ --uchu-red-8: oklch(45.8% 0.177 17.7);
+ --uchu-red-9-raw: 41.17% 0.157 16.58;
+ --uchu-red-9: oklch(41.17% 0.157 16.58);
+ --uchu-yellow-1-raw: 97.05% 0.039 91.2;
+ --uchu-yellow-1: oklch(97.05% 0.039 91.2);
+ --uchu-yellow-2-raw: 95% 0.07 92.39;
+ --uchu-yellow-2: oklch(95% 0.07 92.39);
+ --uchu-yellow-3-raw: 92.76% 0.098 92.58;
+ --uchu-yellow-3: oklch(92.76% 0.098 92.58);
+ --uchu-yellow-4-raw: 90.92% 0.125 92.56;
+ --uchu-yellow-4: oklch(90.92% 0.125 92.56);
+ --uchu-yellow-5-raw: 89% 0.146 91.5;
+ --uchu-yellow-5: oklch(89% 0.146 91.5);
+ --uchu-yellow-6-raw: 82.39% 0.133 91.5;
+ --uchu-yellow-6: oklch(82.39% 0.133 91.5);
+ --uchu-yellow-7-raw: 75.84% 0.122 92.21;
+ --uchu-yellow-7: oklch(75.84% 0.122 92.21);
+ --uchu-yellow-8-raw: 69.14% 0.109 91.04;
+ --uchu-yellow-8: oklch(69.14% 0.109 91.04);
+ --uchu-yellow-9-raw: 62.29% 0.097 91.9;
+ --uchu-yellow-9: oklch(62.29% 0.097 91.9);
+ --uchu-yin-1-raw: 91.87% 0.003 264.54;
+ --uchu-yin-1: oklch(91.87% 0.003 264.54);
+ --uchu-yin-2-raw: 84.61% 0.004 286.31;
+ --uchu-yin-2: oklch(84.61% 0.004 286.31);
+ --uchu-yin-3-raw: 76.89% 0.004 247.87;
+ --uchu-yin-3: oklch(76.89% 0.004 247.87);
+ --uchu-yin-4-raw: 69.17% 0.004 247.88;
+ --uchu-yin-4: oklch(69.17% 0.004 247.88);
+ --uchu-yin-5-raw: 61.01% 0.005 271.34;
+ --uchu-yin-5: oklch(61.01% 0.005 271.34);
+ --uchu-yin-6-raw: 52.79% 0.005 271.32;
+ --uchu-yin-6: oklch(52.79% 0.005 271.32);
+ --uchu-yin-7-raw: 43.87% 0.005 271.3;
+ --uchu-yin-7: oklch(43.87% 0.005 271.3);
+ --uchu-yin-8-raw: 35.02% 0.005 236.66;
+ --uchu-yin-8: oklch(35.02% 0.005 236.66);
+ --uchu-yin-9-raw: 25.11% 0.006 258.36;
+ --uchu-yin-9: oklch(25.11% 0.006 258.36);
+ --uchu-yang: oklch(99.4% 0 0);
+ --uchu-yin: oklch(14.38% 0.007 256.88);
+}
diff --git a/demo/index.html b/demo/index.html
index b54ec2b..e71570f 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -24,7 +24,7 @@
<link rel="canonical" href="https://uchu.style"/>
<link rel="icon" href="./favicon.svg"/>
- <link href="../definitions/style/color_expanded.css" rel="stylesheet"/>
+ <link href="./asset/style/uchu.css" rel="stylesheet"/>
<link href="./asset/style/shared.css?v=2025.02.19" rel="stylesheet"/>
<style>
@@ -875,7 +875,7 @@
<p>the color palette for internet lovers<br/>by <a href="https://webb.page?ref=uchu.style">NetOperator Wibby</a></p>
<nav class="links">
- <a class="link" href="https://github.com/NeverCease/uchu" target="_blank">Repo</a>
+ <a class="link" href="https://code.webb.page/nevercease/uchu.git/about/" target="_blank">Repo</a>
<a class="link" href="./simple.html">Simple Palette</a>
</nav>
</section>
@@ -1240,17 +1240,17 @@
<ul class="swatches">
<li class="swatch">
<h3>2</h3>
- <p>oklch(88.37% 0.07258208750520016 55.80328658240742)</p>
+ <p>oklch(88.37% 0.072 55.8)</p>
</li>
<li class="swatch">
<h3>3</h3>
- <p>oklch(83.56% 0.10753627570574478 56.492594564236946)</p>
+ <p>oklch(83.56% 0.107 56.49)</p>
</li>
<li class="swatch">
<h3>4</h3>
- <p>oklch(78.75% 0.14163582809066333 54.32911089172009)</p>
+ <p>oklch(78.75% 0.141 54.32)</p>
</li>
<li class="swatch">
diff --git a/demo/simple.html b/demo/simple.html
index 0936244..e1d95f1 100644
--- a/demo/simple.html
+++ b/demo/simple.html
@@ -24,7 +24,7 @@
<link rel="canonical" href="https://uchu.style"/>
<link rel="icon" href="./favicon.svg"/>
- <link href="../definitions/style/color.css" rel="stylesheet"/>
+ <link href="./asset/style/uchu-reduced.css" rel="stylesheet"/>
<link href="./asset/style/shared.css?v=2025.02.19" rel="stylesheet"/>
<style>
@@ -401,7 +401,7 @@
<p>the color palette for internet lovers<br/>by <a href="https://webb.page?ref=uchu.style">NetOperator Wibby</a></p>
<nav class="links">
- <a class="link" href="https://github.com/NeverCease/uchu" target="_blank">Repo</a>
+ <a class="link" href="https://code.webb.page/nevercease/uchu.git/about/" target="_blank">Repo</a>
<a class="link" href="./index.html">Expanded Palette</a>
</nav>
</section>
@@ -548,7 +548,7 @@
<ul class="swatches">
<li class="swatch">
<h3><span>var(</span>--uchu-orange<span>)</span></h3>
- <p>oklch(78.75% 0.14163582809066333 54.32911089172009)</p>
+ <p>oklch(78.75% 0.141 54.32)</p>
</li>
<li class="swatch">
diff --git a/dist/_palette.scss b/dist/_palette.scss
new file mode 100644
index 0000000..62a5852
--- /dev/null
+++ b/dist/_palette.scss
@@ -0,0 +1,342 @@
+// Generated from src/colors.ts — do not edit by hand
+
+$uchu-blue-1-raw: 89.66% 0.046 260.67;
+$uchu-blue-1: oklch(89.66% 0.046 260.67);
+$uchu-blue-2-raw: 80.17% 0.091 258.88;
+$uchu-blue-2: oklch(80.17% 0.091 258.88);
+$uchu-blue-3-raw: 70.94% 0.136 258.06;
+$uchu-blue-3: oklch(70.94% 0.136 258.06);
+$uchu-blue-4-raw: 62.39% 0.181 258.33;
+$uchu-blue-4: oklch(62.39% 0.181 258.33);
+$uchu-blue-5-raw: 54.87% 0.222 260.33;
+$uchu-blue-5: oklch(54.87% 0.222 260.33);
+$uchu-blue-6-raw: 51.15% 0.204 260.17;
+$uchu-blue-6: oklch(51.15% 0.204 260.17);
+$uchu-blue-7-raw: 47.36% 0.185 259.89;
+$uchu-blue-7: oklch(47.36% 0.185 259.89);
+$uchu-blue-8-raw: 43.48% 0.17 260.2;
+$uchu-blue-8: oklch(43.48% 0.17 260.2);
+$uchu-blue-9-raw: 39.53% 0.15 259.87;
+$uchu-blue-9: oklch(39.53% 0.15 259.87);
+
+$uchu-gray-1-raw: 95.57% 0.003 286.35;
+$uchu-gray-1: oklch(95.57% 0.003 286.35);
+$uchu-gray-2-raw: 92.04% 0.002 197.12;
+$uchu-gray-2: oklch(92.04% 0.002 197.12);
+$uchu-gray-3-raw: 88.28% 0.003 286.34;
+$uchu-gray-3: oklch(88.28% 0.003 286.34);
+$uchu-gray-4-raw: 84.68% 0.002 197.12;
+$uchu-gray-4: oklch(84.68% 0.002 197.12);
+$uchu-gray-5-raw: 80.73% 0.002 247.84;
+$uchu-gray-5: oklch(80.73% 0.002 247.84);
+$uchu-gray-6-raw: 75.03% 0.002 247.85;
+$uchu-gray-6: oklch(75.03% 0.002 247.85);
+$uchu-gray-7-raw: 69.01% 0.003 286.32;
+$uchu-gray-7: oklch(69.01% 0.003 286.32);
+$uchu-gray-8-raw: 63.12% 0.004 219.55;
+$uchu-gray-8: oklch(63.12% 0.004 219.55);
+$uchu-gray-9-raw: 56.82% 0.004 247.89;
+$uchu-gray-9: oklch(56.82% 0.004 247.89);
+
+$uchu-green-1-raw: 93.96% 0.05 148.74;
+$uchu-green-1: oklch(93.96% 0.05 148.74);
+$uchu-green-2-raw: 88.77% 0.096 147.71;
+$uchu-green-2: oklch(88.77% 0.096 147.71);
+$uchu-green-3-raw: 83.74% 0.139 146.57;
+$uchu-green-3: oklch(83.74% 0.139 146.57);
+$uchu-green-4-raw: 79.33% 0.179 145.62;
+$uchu-green-4: oklch(79.33% 0.179 145.62);
+$uchu-green-5-raw: 75.23% 0.209 144.64;
+$uchu-green-5: oklch(75.23% 0.209 144.64);
+$uchu-green-6-raw: 70.03% 0.194 144.71;
+$uchu-green-6: oklch(70.03% 0.194 144.71);
+$uchu-green-7-raw: 64.24% 0.175 144.92;
+$uchu-green-7: oklch(64.24% 0.175 144.92);
+$uchu-green-8-raw: 58.83% 0.158 145.05;
+$uchu-green-8: oklch(58.83% 0.158 145.05);
+$uchu-green-9-raw: 52.77% 0.138 145.41;
+$uchu-green-9: oklch(52.77% 0.138 145.41);
+
+$uchu-orange-1-raw: 93.83% 0.037 56.93;
+$uchu-orange-1: oklch(93.83% 0.037 56.93);
+$uchu-orange-2-raw: 88.37% 0.072 55.8;
+$uchu-orange-2: oklch(88.37% 0.072 55.8);
+$uchu-orange-3-raw: 83.56% 0.107 56.49;
+$uchu-orange-3: oklch(83.56% 0.107 56.49);
+$uchu-orange-4-raw: 78.75% 0.141 54.32;
+$uchu-orange-4: oklch(78.75% 0.141 54.32);
+$uchu-orange-5-raw: 74.61% 0.171 51.56;
+$uchu-orange-5: oklch(74.61% 0.171 51.56);
+$uchu-orange-6-raw: 69.33% 0.157 52.18;
+$uchu-orange-6: oklch(69.33% 0.157 52.18);
+$uchu-orange-7-raw: 63.8% 0.142 52.1;
+$uchu-orange-7: oklch(63.8% 0.142 52.1);
+$uchu-orange-8-raw: 58.28% 0.128 52.2;
+$uchu-orange-8: oklch(58.28% 0.128 52.2);
+$uchu-orange-9-raw: 52.49% 0.113 51.98;
+$uchu-orange-9: oklch(52.49% 0.113 51.98);
+
+$uchu-pink-1-raw: 95.8% 0.023 354.27;
+$uchu-pink-1: oklch(95.8% 0.023 354.27);
+$uchu-pink-2-raw: 92.14% 0.046 352.31;
+$uchu-pink-2: oklch(92.14% 0.046 352.31);
+$uchu-pink-3-raw: 88.9% 0.066 354.39;
+$uchu-pink-3: oklch(88.9% 0.066 354.39);
+$uchu-pink-4-raw: 85.43% 0.09 354.1;
+$uchu-pink-4: oklch(85.43% 0.09 354.1);
+$uchu-pink-5-raw: 82.23% 0.112 355.33;
+$uchu-pink-5: oklch(82.23% 0.112 355.33);
+$uchu-pink-6-raw: 76.37% 0.101 355.37;
+$uchu-pink-6: oklch(76.37% 0.101 355.37);
+$uchu-pink-7-raw: 70.23% 0.092 354.96;
+$uchu-pink-7: oklch(70.23% 0.092 354.96);
+$uchu-pink-8-raw: 64.11% 0.084 353.91;
+$uchu-pink-8: oklch(64.11% 0.084 353.91);
+$uchu-pink-9-raw: 57.68% 0.074 353.14;
+$uchu-pink-9: oklch(57.68% 0.074 353.14);
+
+$uchu-purple-1-raw: 89.1% 0.046 305.24;
+$uchu-purple-1: oklch(89.1% 0.046 305.24);
+$uchu-purple-2-raw: 78.68% 0.091 305;
+$uchu-purple-2: oklch(78.68% 0.091 305);
+$uchu-purple-3-raw: 68.5% 0.136 303.78;
+$uchu-purple-3: oklch(68.5% 0.136 303.78);
+$uchu-purple-4-raw: 58.47% 0.181 302.06;
+$uchu-purple-4: oklch(58.47% 0.181 302.06);
+$uchu-purple-5-raw: 49.39% 0.215 298.31;
+$uchu-purple-5: oklch(49.39% 0.215 298.31);
+$uchu-purple-6-raw: 46.11% 0.198 298.4;
+$uchu-purple-6: oklch(46.11% 0.198 298.4);
+$uchu-purple-7-raw: 42.77% 0.181 298.49;
+$uchu-purple-7: oklch(42.77% 0.181 298.49);
+$uchu-purple-8-raw: 39.46% 0.164 298.29;
+$uchu-purple-8: oklch(39.46% 0.164 298.29);
+$uchu-purple-9-raw: 36.01% 0.145 298.35;
+$uchu-purple-9: oklch(36.01% 0.145 298.35);
+
+$uchu-red-1-raw: 88.98% 0.052 3.28;
+$uchu-red-1: oklch(88.98% 0.052 3.28);
+$uchu-red-2-raw: 78.78% 0.109 4.54;
+$uchu-red-2: oklch(78.78% 0.109 4.54);
+$uchu-red-3-raw: 69.86% 0.162 7.82;
+$uchu-red-3: oklch(69.86% 0.162 7.82);
+$uchu-red-4-raw: 62.73% 0.209 12.37;
+$uchu-red-4: oklch(62.73% 0.209 12.37);
+$uchu-red-5-raw: 58.63% 0.231 19.6;
+$uchu-red-5: oklch(58.63% 0.231 19.6);
+$uchu-red-6-raw: 54.41% 0.214 19.06;
+$uchu-red-6: oklch(54.41% 0.214 19.06);
+$uchu-red-7-raw: 49.95% 0.195 18.34;
+$uchu-red-7: oklch(49.95% 0.195 18.34);
+$uchu-red-8-raw: 45.8% 0.177 17.7;
+$uchu-red-8: oklch(45.8% 0.177 17.7);
+$uchu-red-9-raw: 41.17% 0.157 16.58;
+$uchu-red-9: oklch(41.17% 0.157 16.58);
+
+$uchu-yellow-1-raw: 97.05% 0.039 91.2;
+$uchu-yellow-1: oklch(97.05% 0.039 91.2);
+$uchu-yellow-2-raw: 95% 0.07 92.39;
+$uchu-yellow-2: oklch(95% 0.07 92.39);
+$uchu-yellow-3-raw: 92.76% 0.098 92.58;
+$uchu-yellow-3: oklch(92.76% 0.098 92.58);
+$uchu-yellow-4-raw: 90.92% 0.125 92.56;
+$uchu-yellow-4: oklch(90.92% 0.125 92.56);
+$uchu-yellow-5-raw: 89% 0.146 91.5;
+$uchu-yellow-5: oklch(89% 0.146 91.5);
+$uchu-yellow-6-raw: 82.39% 0.133 91.5;
+$uchu-yellow-6: oklch(82.39% 0.133 91.5);
+$uchu-yellow-7-raw: 75.84% 0.122 92.21;
+$uchu-yellow-7: oklch(75.84% 0.122 92.21);
+$uchu-yellow-8-raw: 69.14% 0.109 91.04;
+$uchu-yellow-8: oklch(69.14% 0.109 91.04);
+$uchu-yellow-9-raw: 62.29% 0.097 91.9;
+$uchu-yellow-9: oklch(62.29% 0.097 91.9);
+
+$uchu-yin-1-raw: 91.87% 0.003 264.54;
+$uchu-yin-1: oklch(91.87% 0.003 264.54);
+$uchu-yin-2-raw: 84.61% 0.004 286.31;
+$uchu-yin-2: oklch(84.61% 0.004 286.31);
+$uchu-yin-3-raw: 76.89% 0.004 247.87;
+$uchu-yin-3: oklch(76.89% 0.004 247.87);
+$uchu-yin-4-raw: 69.17% 0.004 247.88;
+$uchu-yin-4: oklch(69.17% 0.004 247.88);
+$uchu-yin-5-raw: 61.01% 0.005 271.34;
+$uchu-yin-5: oklch(61.01% 0.005 271.34);
+$uchu-yin-6-raw: 52.79% 0.005 271.32;
+$uchu-yin-6: oklch(52.79% 0.005 271.32);
+$uchu-yin-7-raw: 43.87% 0.005 271.3;
+$uchu-yin-7: oklch(43.87% 0.005 271.3);
+$uchu-yin-8-raw: 35.02% 0.005 236.66;
+$uchu-yin-8: oklch(35.02% 0.005 236.66);
+$uchu-yin-9-raw: 25.11% 0.006 258.36;
+$uchu-yin-9: oklch(25.11% 0.006 258.36);
+
+$uchu-yang: oklch(99.4% 0 0);
+$uchu-yin: oklch(14.38% 0.007 256.88);
+
+:root {
+ --uchu-blue-1-raw: #{$uchu-blue-1-raw};
+ --uchu-blue-1: #{$uchu-blue-1};
+ --uchu-blue-2-raw: #{$uchu-blue-2-raw};
+ --uchu-blue-2: #{$uchu-blue-2};
+ --uchu-blue-3-raw: #{$uchu-blue-3-raw};
+ --uchu-blue-3: #{$uchu-blue-3};
+ --uchu-blue-4-raw: #{$uchu-blue-4-raw};
+ --uchu-blue-4: #{$uchu-blue-4};
+ --uchu-blue-5-raw: #{$uchu-blue-5-raw};
+ --uchu-blue-5: #{$uchu-blue-5};
+ --uchu-blue-6-raw: #{$uchu-blue-6-raw};
+ --uchu-blue-6: #{$uchu-blue-6};
+ --uchu-blue-7-raw: #{$uchu-blue-7-raw};
+ --uchu-blue-7: #{$uchu-blue-7};
+ --uchu-blue-8-raw: #{$uchu-blue-8-raw};
+ --uchu-blue-8: #{$uchu-blue-8};
+ --uchu-blue-9-raw: #{$uchu-blue-9-raw};
+ --uchu-blue-9: #{$uchu-blue-9};
+ --uchu-gray-1-raw: #{$uchu-gray-1-raw};
+ --uchu-gray-1: #{$uchu-gray-1};
+ --uchu-gray-2-raw: #{$uchu-gray-2-raw};
+ --uchu-gray-2: #{$uchu-gray-2};
+ --uchu-gray-3-raw: #{$uchu-gray-3-raw};
+ --uchu-gray-3: #{$uchu-gray-3};
+ --uchu-gray-4-raw: #{$uchu-gray-4-raw};
+ --uchu-gray-4: #{$uchu-gray-4};
+ --uchu-gray-5-raw: #{$uchu-gray-5-raw};
+ --uchu-gray-5: #{$uchu-gray-5};
+ --uchu-gray-6-raw: #{$uchu-gray-6-raw};
+ --uchu-gray-6: #{$uchu-gray-6};
+ --uchu-gray-7-raw: #{$uchu-gray-7-raw};
+ --uchu-gray-7: #{$uchu-gray-7};
+ --uchu-gray-8-raw: #{$uchu-gray-8-raw};
+ --uchu-gray-8: #{$uchu-gray-8};
+ --uchu-gray-9-raw: #{$uchu-gray-9-raw};
+ --uchu-gray-9: #{$uchu-gray-9};
+ --uchu-green-1-raw: #{$uchu-green-1-raw};
+ --uchu-green-1: #{$uchu-green-1};
+ --uchu-green-2-raw: #{$uchu-green-2-raw};
+ --uchu-green-2: #{$uchu-green-2};
+ --uchu-green-3-raw: #{$uchu-green-3-raw};
+ --uchu-green-3: #{$uchu-green-3};
+ --uchu-green-4-raw: #{$uchu-green-4-raw};
+ --uchu-green-4: #{$uchu-green-4};
+ --uchu-green-5-raw: #{$uchu-green-5-raw};
+ --uchu-green-5: #{$uchu-green-5};
+ --uchu-green-6-raw: #{$uchu-green-6-raw};
+ --uchu-green-6: #{$uchu-green-6};
+ --uchu-green-7-raw: #{$uchu-green-7-raw};
+ --uchu-green-7: #{$uchu-green-7};
+ --uchu-green-8-raw: #{$uchu-green-8-raw};
+ --uchu-green-8: #{$uchu-green-8};
+ --uchu-green-9-raw: #{$uchu-green-9-raw};
+ --uchu-green-9: #{$uchu-green-9};
+ --uchu-orange-1-raw: #{$uchu-orange-1-raw};
+ --uchu-orange-1: #{$uchu-orange-1};
+ --uchu-orange-2-raw: #{$uchu-orange-2-raw};
+ --uchu-orange-2: #{$uchu-orange-2};
+ --uchu-orange-3-raw: #{$uchu-orange-3-raw};
+ --uchu-orange-3: #{$uchu-orange-3};
+ --uchu-orange-4-raw: #{$uchu-orange-4-raw};
+ --uchu-orange-4: #{$uchu-orange-4};
+ --uchu-orange-5-raw: #{$uchu-orange-5-raw};
+ --uchu-orange-5: #{$uchu-orange-5};
+ --uchu-orange-6-raw: #{$uchu-orange-6-raw};
+ --uchu-orange-6: #{$uchu-orange-6};
+ --uchu-orange-7-raw: #{$uchu-orange-7-raw};
+ --uchu-orange-7: #{$uchu-orange-7};
+ --uchu-orange-8-raw: #{$uchu-orange-8-raw};
+ --uchu-orange-8: #{$uchu-orange-8};
+ --uchu-orange-9-raw: #{$uchu-orange-9-raw};
+ --uchu-orange-9: #{$uchu-orange-9};
+ --uchu-pink-1-raw: #{$uchu-pink-1-raw};
+ --uchu-pink-1: #{$uchu-pink-1};
+ --uchu-pink-2-raw: #{$uchu-pink-2-raw};
+ --uchu-pink-2: #{$uchu-pink-2};
+ --uchu-pink-3-raw: #{$uchu-pink-3-raw};
+ --uchu-pink-3: #{$uchu-pink-3};
+ --uchu-pink-4-raw: #{$uchu-pink-4-raw};
+ --uchu-pink-4: #{$uchu-pink-4};
+ --uchu-pink-5-raw: #{$uchu-pink-5-raw};
+ --uchu-pink-5: #{$uchu-pink-5};
+ --uchu-pink-6-raw: #{$uchu-pink-6-raw};
+ --uchu-pink-6: #{$uchu-pink-6};
+ --uchu-pink-7-raw: #{$uchu-pink-7-raw};
+ --uchu-pink-7: #{$uchu-pink-7};
+ --uchu-pink-8-raw: #{$uchu-pink-8-raw};
+ --uchu-pink-8: #{$uchu-pink-8};
+ --uchu-pink-9-raw: #{$uchu-pink-9-raw};
+ --uchu-pink-9: #{$uchu-pink-9};
+ --uchu-purple-1-raw: #{$uchu-purple-1-raw};
+ --uchu-purple-1: #{$uchu-purple-1};
+ --uchu-purple-2-raw: #{$uchu-purple-2-raw};
+ --uchu-purple-2: #{$uchu-purple-2};
+ --uchu-purple-3-raw: #{$uchu-purple-3-raw};
+ --uchu-purple-3: #{$uchu-purple-3};
+ --uchu-purple-4-raw: #{$uchu-purple-4-raw};
+ --uchu-purple-4: #{$uchu-purple-4};
+ --uchu-purple-5-raw: #{$uchu-purple-5-raw};
+ --uchu-purple-5: #{$uchu-purple-5};
+ --uchu-purple-6-raw: #{$uchu-purple-6-raw};
+ --uchu-purple-6: #{$uchu-purple-6};
+ --uchu-purple-7-raw: #{$uchu-purple-7-raw};
+ --uchu-purple-7: #{$uchu-purple-7};
+ --uchu-purple-8-raw: #{$uchu-purple-8-raw};
+ --uchu-purple-8: #{$uchu-purple-8};
+ --uchu-purple-9-raw: #{$uchu-purple-9-raw};
+ --uchu-purple-9: #{$uchu-purple-9};
+ --uchu-red-1-raw: #{$uchu-red-1-raw};
+ --uchu-red-1: #{$uchu-red-1};
+ --uchu-red-2-raw: #{$uchu-red-2-raw};
+ --uchu-red-2: #{$uchu-red-2};
+ --uchu-red-3-raw: #{$uchu-red-3-raw};
+ --uchu-red-3: #{$uchu-red-3};
+ --uchu-red-4-raw: #{$uchu-red-4-raw};
+ --uchu-red-4: #{$uchu-red-4};
+ --uchu-red-5-raw: #{$uchu-red-5-raw};
+ --uchu-red-5: #{$uchu-red-5};
+ --uchu-red-6-raw: #{$uchu-red-6-raw};
+ --uchu-red-6: #{$uchu-red-6};
+ --uchu-red-7-raw: #{$uchu-red-7-raw};
+ --uchu-red-7: #{$uchu-red-7};
+ --uchu-red-8-raw: #{$uchu-red-8-raw};
+ --uchu-red-8: #{$uchu-red-8};
+ --uchu-red-9-raw: #{$uchu-red-9-raw};
+ --uchu-red-9: #{$uchu-red-9};
+ --uchu-yellow-1-raw: #{$uchu-yellow-1-raw};
+ --uchu-yellow-1: #{$uchu-yellow-1};
+ --uchu-yellow-2-raw: #{$uchu-yellow-2-raw};
+ --uchu-yellow-2: #{$uchu-yellow-2};
+ --uchu-yellow-3-raw: #{$uchu-yellow-3-raw};
+ --uchu-yellow-3: #{$uchu-yellow-3};
+ --uchu-yellow-4-raw: #{$uchu-yellow-4-raw};
+ --uchu-yellow-4: #{$uchu-yellow-4};
+ --uchu-yellow-5-raw: #{$uchu-yellow-5-raw};
+ --uchu-yellow-5: #{$uchu-yellow-5};
+ --uchu-yellow-6-raw: #{$uchu-yellow-6-raw};
+ --uchu-yellow-6: #{$uchu-yellow-6};
+ --uchu-yellow-7-raw: #{$uchu-yellow-7-raw};
+ --uchu-yellow-7: #{$uchu-yellow-7};
+ --uchu-yellow-8-raw: #{$uchu-yellow-8-raw};
+ --uchu-yellow-8: #{$uchu-yellow-8};
+ --uchu-yellow-9-raw: #{$uchu-yellow-9-raw};
+ --uchu-yellow-9: #{$uchu-yellow-9};
+ --uchu-yin-1-raw: #{$uchu-yin-1-raw};
+ --uchu-yin-1: #{$uchu-yin-1};
+ --uchu-yin-2-raw: #{$uchu-yin-2-raw};
+ --uchu-yin-2: #{$uchu-yin-2};
+ --uchu-yin-3-raw: #{$uchu-yin-3-raw};
+ --uchu-yin-3: #{$uchu-yin-3};
+ --uchu-yin-4-raw: #{$uchu-yin-4-raw};
+ --uchu-yin-4: #{$uchu-yin-4};
+ --uchu-yin-5-raw: #{$uchu-yin-5-raw};
+ --uchu-yin-5: #{$uchu-yin-5};
+ --uchu-yin-6-raw: #{$uchu-yin-6-raw};
+ --uchu-yin-6: #{$uchu-yin-6};
+ --uchu-yin-7-raw: #{$uchu-yin-7-raw};
+ --uchu-yin-7: #{$uchu-yin-7};
+ --uchu-yin-8-raw: #{$uchu-yin-8-raw};
+ --uchu-yin-8: #{$uchu-yin-8};
+ --uchu-yin-9-raw: #{$uchu-yin-9-raw};
+ --uchu-yin-9: #{$uchu-yin-9};
+ --uchu-yang: #{$uchu-yang};
+ --uchu-yin: #{$uchu-yin};
+}
diff --git a/dist/index.js b/dist/index.js
new file mode 100644
index 0000000..f96a1ed
--- /dev/null
+++ b/dist/index.js
@@ -0,0 +1,263 @@
+// src/colors.ts
+var raw = {
+ blue: {
+ 1: "89.66% 0.046 260.67",
+ 2: "80.17% 0.091 258.88",
+ 3: "70.94% 0.136 258.06",
+ 4: "62.39% 0.181 258.33",
+ 5: "54.87% 0.222 260.33",
+ 6: "51.15% 0.204 260.17",
+ 7: "47.36% 0.185 259.89",
+ 8: "43.48% 0.17 260.2",
+ 9: "39.53% 0.15 259.87"
+ },
+ gray: {
+ 1: "95.57% 0.003 286.35",
+ 2: "92.04% 0.002 197.12",
+ 3: "88.28% 0.003 286.34",
+ 4: "84.68% 0.002 197.12",
+ 5: "80.73% 0.002 247.84",
+ 6: "75.03% 0.002 247.85",
+ 7: "69.01% 0.003 286.32",
+ 8: "63.12% 0.004 219.55",
+ 9: "56.82% 0.004 247.89"
+ },
+ green: {
+ 1: "93.96% 0.05 148.74",
+ 2: "88.77% 0.096 147.71",
+ 3: "83.74% 0.139 146.57",
+ 4: "79.33% 0.179 145.62",
+ 5: "75.23% 0.209 144.64",
+ 6: "70.03% 0.194 144.71",
+ 7: "64.24% 0.175 144.92",
+ 8: "58.83% 0.158 145.05",
+ 9: "52.77% 0.138 145.41"
+ },
+ orange: {
+ 1: "93.83% 0.037 56.93",
+ 2: "88.37% 0.072 55.8",
+ 3: "83.56% 0.107 56.49",
+ 4: "78.75% 0.141 54.32",
+ 5: "74.61% 0.171 51.56",
+ 6: "69.33% 0.157 52.18",
+ 7: "63.8% 0.142 52.1",
+ 8: "58.28% 0.128 52.2",
+ 9: "52.49% 0.113 51.98"
+ },
+ pink: {
+ 1: "95.8% 0.023 354.27",
+ 2: "92.14% 0.046 352.31",
+ 3: "88.9% 0.066 354.39",
+ 4: "85.43% 0.09 354.1",
+ 5: "82.23% 0.112 355.33",
+ 6: "76.37% 0.101 355.37",
+ 7: "70.23% 0.092 354.96",
+ 8: "64.11% 0.084 353.91",
+ 9: "57.68% 0.074 353.14"
+ },
+ purple: {
+ 1: "89.1% 0.046 305.24",
+ 2: "78.68% 0.091 305",
+ 3: "68.5% 0.136 303.78",
+ 4: "58.47% 0.181 302.06",
+ 5: "49.39% 0.215 298.31",
+ 6: "46.11% 0.198 298.4",
+ 7: "42.77% 0.181 298.49",
+ 8: "39.46% 0.164 298.29",
+ 9: "36.01% 0.145 298.35"
+ },
+ red: {
+ 1: "88.98% 0.052 3.28",
+ 2: "78.78% 0.109 4.54",
+ 3: "69.86% 0.162 7.82",
+ 4: "62.73% 0.209 12.37",
+ 5: "58.63% 0.231 19.6",
+ 6: "54.41% 0.214 19.06",
+ 7: "49.95% 0.195 18.34",
+ 8: "45.8% 0.177 17.7",
+ 9: "41.17% 0.157 16.58"
+ },
+ yellow: {
+ 1: "97.05% 0.039 91.2",
+ 2: "95% 0.07 92.39",
+ 3: "92.76% 0.098 92.58",
+ 4: "90.92% 0.125 92.56",
+ 5: "89% 0.146 91.5",
+ 6: "82.39% 0.133 91.5",
+ 7: "75.84% 0.122 92.21",
+ 8: "69.14% 0.109 91.04",
+ 9: "62.29% 0.097 91.9"
+ },
+ yin: {
+ 1: "91.87% 0.003 264.54",
+ 2: "84.61% 0.004 286.31",
+ 3: "76.89% 0.004 247.87",
+ 4: "69.17% 0.004 247.88",
+ 5: "61.01% 0.005 271.34",
+ 6: "52.79% 0.005 271.32",
+ 7: "43.87% 0.005 271.3",
+ 8: "35.02% 0.005 236.66",
+ 9: "25.11% 0.006 258.36"
+ }
+};
+var palette = {
+ blue: {
+ 1: `oklch(${raw.blue[1]})`,
+ 2: `oklch(${raw.blue[2]})`,
+ 3: `oklch(${raw.blue[3]})`,
+ 4: `oklch(${raw.blue[4]})`,
+ 5: `oklch(${raw.blue[5]})`,
+ 6: `oklch(${raw.blue[6]})`,
+ 7: `oklch(${raw.blue[7]})`,
+ 8: `oklch(${raw.blue[8]})`,
+ 9: `oklch(${raw.blue[9]})`
+ },
+ gray: {
+ 1: `oklch(${raw.gray[1]})`,
+ 2: `oklch(${raw.gray[2]})`,
+ 3: `oklch(${raw.gray[3]})`,
+ 4: `oklch(${raw.gray[4]})`,
+ 5: `oklch(${raw.gray[5]})`,
+ 6: `oklch(${raw.gray[6]})`,
+ 7: `oklch(${raw.gray[7]})`,
+ 8: `oklch(${raw.gray[8]})`,
+ 9: `oklch(${raw.gray[9]})`
+ },
+ green: {
+ 1: `oklch(${raw.green[1]})`,
+ 2: `oklch(${raw.green[2]})`,
+ 3: `oklch(${raw.green[3]})`,
+ 4: `oklch(${raw.green[4]})`,
+ 5: `oklch(${raw.green[5]})`,
+ 6: `oklch(${raw.green[6]})`,
+ 7: `oklch(${raw.green[7]})`,
+ 8: `oklch(${raw.green[8]})`,
+ 9: `oklch(${raw.green[9]})`
+ },
+ orange: {
+ 1: `oklch(${raw.orange[1]})`,
+ 2: `oklch(${raw.orange[2]})`,
+ 3: `oklch(${raw.orange[3]})`,
+ 4: `oklch(${raw.orange[4]})`,
+ 5: `oklch(${raw.orange[5]})`,
+ 6: `oklch(${raw.orange[6]})`,
+ 7: `oklch(${raw.orange[7]})`,
+ 8: `oklch(${raw.orange[8]})`,
+ 9: `oklch(${raw.orange[9]})`
+ },
+ pink: {
+ 1: `oklch(${raw.pink[1]})`,
+ 2: `oklch(${raw.pink[2]})`,
+ 3: `oklch(${raw.pink[3]})`,
+ 4: `oklch(${raw.pink[4]})`,
+ 5: `oklch(${raw.pink[5]})`,
+ 6: `oklch(${raw.pink[6]})`,
+ 7: `oklch(${raw.pink[7]})`,
+ 8: `oklch(${raw.pink[8]})`,
+ 9: `oklch(${raw.pink[9]})`
+ },
+ purple: {
+ 1: `oklch(${raw.purple[1]})`,
+ 2: `oklch(${raw.purple[2]})`,
+ 3: `oklch(${raw.purple[3]})`,
+ 4: `oklch(${raw.purple[4]})`,
+ 5: `oklch(${raw.purple[5]})`,
+ 6: `oklch(${raw.purple[6]})`,
+ 7: `oklch(${raw.purple[7]})`,
+ 8: `oklch(${raw.purple[8]})`,
+ 9: `oklch(${raw.purple[9]})`
+ },
+ red: {
+ 1: `oklch(${raw.red[1]})`,
+ 2: `oklch(${raw.red[2]})`,
+ 3: `oklch(${raw.red[3]})`,
+ 4: `oklch(${raw.red[4]})`,
+ 5: `oklch(${raw.red[5]})`,
+ 6: `oklch(${raw.red[6]})`,
+ 7: `oklch(${raw.red[7]})`,
+ 8: `oklch(${raw.red[8]})`,
+ 9: `oklch(${raw.red[9]})`
+ },
+ yellow: {
+ 1: `oklch(${raw.yellow[1]})`,
+ 2: `oklch(${raw.yellow[2]})`,
+ 3: `oklch(${raw.yellow[3]})`,
+ 4: `oklch(${raw.yellow[4]})`,
+ 5: `oklch(${raw.yellow[5]})`,
+ 6: `oklch(${raw.yellow[6]})`,
+ 7: `oklch(${raw.yellow[7]})`,
+ 8: `oklch(${raw.yellow[8]})`,
+ 9: `oklch(${raw.yellow[9]})`
+ },
+ yin: {
+ 1: `oklch(${raw.yin[1]})`,
+ 2: `oklch(${raw.yin[2]})`,
+ 3: `oklch(${raw.yin[3]})`,
+ 4: `oklch(${raw.yin[4]})`,
+ 5: `oklch(${raw.yin[5]})`,
+ 6: `oklch(${raw.yin[6]})`,
+ 7: `oklch(${raw.yin[7]})`,
+ 8: `oklch(${raw.yin[8]})`,
+ 9: `oklch(${raw.yin[9]})`
+ }
+};
+var yang = "oklch(99.4% 0 0)";
+var yin = "oklch(14.38% 0.007 256.88)";
+
+// src/index.ts
+var color = (hue, shade) => {
+ return palette[hue][shade];
+};
+var reduced = {
+ blue: {
+ 1: palette.blue[1],
+ 2: palette.blue[4],
+ 3: palette.blue[8]
+ },
+ gray: {
+ 1: palette.gray[1],
+ 2: palette.gray[4],
+ 3: palette.gray[8]
+ },
+ green: {
+ 1: palette.green[1],
+ 2: palette.green[4],
+ 3: palette.green[8]
+ },
+ orange: {
+ 1: palette.orange[1],
+ 2: palette.orange[4],
+ 3: palette.orange[8]
+ },
+ pink: {
+ 1: palette.pink[1],
+ 2: palette.pink[4],
+ 3: palette.pink[8]
+ },
+ purple: {
+ 1: palette.purple[1],
+ 2: palette.purple[4],
+ 3: palette.purple[8]
+ },
+ red: {
+ 1: palette.red[1],
+ 2: palette.red[4],
+ 3: palette.red[8]
+ },
+ yellow: {
+ 1: palette.yellow[1],
+ 2: palette.yellow[4],
+ 3: palette.yellow[8]
+ },
+ yin: {
+ 1: palette.yin[1]
+ }
+};
+export {
+ yin,
+ yang,
+ reduced,
+ raw,
+ palette,
+ color
+};
diff --git a/dist/uchu-reduced.css b/dist/uchu-reduced.css
new file mode 100644
index 0000000..11bf87d
--- /dev/null
+++ b/dist/uchu-reduced.css
@@ -0,0 +1,56 @@
+/* Generated from src/index.ts — do not edit by hand */
+
+:root {
+ --uchu-light-blue-raw: 89.66% 0.046 260.67;
+ --uchu-light-blue: oklch(89.66% 0.046 260.67);
+ --uchu-blue-raw: 80.17% 0.091 258.88;
+ --uchu-blue: oklch(62.39% 0.181 258.33);
+ --uchu-dark-blue-raw: 70.94% 0.136 258.06;
+ --uchu-dark-blue: oklch(43.48% 0.17 260.2);
+ --uchu-light-gray-raw: 95.57% 0.003 286.35;
+ --uchu-light-gray: oklch(95.57% 0.003 286.35);
+ --uchu-gray-raw: 92.04% 0.002 197.12;
+ --uchu-gray: oklch(84.68% 0.002 197.12);
+ --uchu-dark-gray-raw: 88.28% 0.003 286.34;
+ --uchu-dark-gray: oklch(63.12% 0.004 219.55);
+ --uchu-light-green-raw: 93.96% 0.05 148.74;
+ --uchu-light-green: oklch(93.96% 0.05 148.74);
+ --uchu-green-raw: 88.77% 0.096 147.71;
+ --uchu-green: oklch(79.33% 0.179 145.62);
+ --uchu-dark-green-raw: 83.74% 0.139 146.57;
+ --uchu-dark-green: oklch(58.83% 0.158 145.05);
+ --uchu-light-orange-raw: 93.83% 0.037 56.93;
+ --uchu-light-orange: oklch(93.83% 0.037 56.93);
+ --uchu-orange-raw: 88.37% 0.072 55.8;
+ --uchu-orange: oklch(78.75% 0.141 54.32);
+ --uchu-dark-orange-raw: 83.56% 0.107 56.49;
+ --uchu-dark-orange: oklch(58.28% 0.128 52.2);
+ --uchu-light-pink-raw: 95.8% 0.023 354.27;
+ --uchu-light-pink: oklch(95.8% 0.023 354.27);
+ --uchu-pink-raw: 92.14% 0.046 352.31;
+ --uchu-pink: oklch(85.43% 0.09 354.1);
+ --uchu-dark-pink-raw: 88.9% 0.066 354.39;
+ --uchu-dark-pink: oklch(64.11% 0.084 353.91);
+ --uchu-light-purple-raw: 89.1% 0.046 305.24;
+ --uchu-light-purple: oklch(89.1% 0.046 305.24);
+ --uchu-purple-raw: 78.68% 0.091 305;
+ --uchu-purple: oklch(58.47% 0.181 302.06);
+ --uchu-dark-purple-raw: 68.5% 0.136 303.78;
+ --uchu-dark-purple: oklch(39.46% 0.164 298.29);
+ --uchu-light-red-raw: 88.98% 0.052 3.28;
+ --uchu-light-red: oklch(88.98% 0.052 3.28);
+ --uchu-red-raw: 78.78% 0.109 4.54;
+ --uchu-red: oklch(62.73% 0.209 12.37);
+ --uchu-dark-red-raw: 69.86% 0.162 7.82;
+ --uchu-dark-red: oklch(45.8% 0.177 17.7);
+ --uchu-light-yellow-raw: 97.05% 0.039 91.2;
+ --uchu-light-yellow: oklch(97.05% 0.039 91.2);
+ --uchu-yellow-raw: 95% 0.07 92.39;
+ --uchu-yellow: oklch(90.92% 0.125 92.56);
+ --uchu-dark-yellow-raw: 92.76% 0.098 92.58;
+ --uchu-dark-yellow: oklch(69.14% 0.109 91.04);
+ --uchu-light-yin-raw: 91.87% 0.003 264.54;
+ --uchu-light-yin: oklch(91.87% 0.003 264.54);
+ --uchu-yang: oklch(99.4% 0 0);
+ --uchu-yin: oklch(14.38% 0.007 256.88);
+}
diff --git a/dist/uchu.css b/dist/uchu.css
new file mode 100644
index 0000000..d74d64e
--- /dev/null
+++ b/dist/uchu.css
@@ -0,0 +1,168 @@
+/* Generated from src/colors.ts — do not edit by hand */
+
+:root {
+ --uchu-blue-1-raw: 89.66% 0.046 260.67;
+ --uchu-blue-1: oklch(89.66% 0.046 260.67);
+ --uchu-blue-2-raw: 80.17% 0.091 258.88;
+ --uchu-blue-2: oklch(80.17% 0.091 258.88);
+ --uchu-blue-3-raw: 70.94% 0.136 258.06;
+ --uchu-blue-3: oklch(70.94% 0.136 258.06);
+ --uchu-blue-4-raw: 62.39% 0.181 258.33;
+ --uchu-blue-4: oklch(62.39% 0.181 258.33);
+ --uchu-blue-5-raw: 54.87% 0.222 260.33;
+ --uchu-blue-5: oklch(54.87% 0.222 260.33);
+ --uchu-blue-6-raw: 51.15% 0.204 260.17;
+ --uchu-blue-6: oklch(51.15% 0.204 260.17);
+ --uchu-blue-7-raw: 47.36% 0.185 259.89;
+ --uchu-blue-7: oklch(47.36% 0.185 259.89);
+ --uchu-blue-8-raw: 43.48% 0.17 260.2;
+ --uchu-blue-8: oklch(43.48% 0.17 260.2);
+ --uchu-blue-9-raw: 39.53% 0.15 259.87;
+ --uchu-blue-9: oklch(39.53% 0.15 259.87);
+ --uchu-gray-1-raw: 95.57% 0.003 286.35;
+ --uchu-gray-1: oklch(95.57% 0.003 286.35);
+ --uchu-gray-2-raw: 92.04% 0.002 197.12;
+ --uchu-gray-2: oklch(92.04% 0.002 197.12);
+ --uchu-gray-3-raw: 88.28% 0.003 286.34;
+ --uchu-gray-3: oklch(88.28% 0.003 286.34);
+ --uchu-gray-4-raw: 84.68% 0.002 197.12;
+ --uchu-gray-4: oklch(84.68% 0.002 197.12);
+ --uchu-gray-5-raw: 80.73% 0.002 247.84;
+ --uchu-gray-5: oklch(80.73% 0.002 247.84);
+ --uchu-gray-6-raw: 75.03% 0.002 247.85;
+ --uchu-gray-6: oklch(75.03% 0.002 247.85);
+ --uchu-gray-7-raw: 69.01% 0.003 286.32;
+ --uchu-gray-7: oklch(69.01% 0.003 286.32);
+ --uchu-gray-8-raw: 63.12% 0.004 219.55;
+ --uchu-gray-8: oklch(63.12% 0.004 219.55);
+ --uchu-gray-9-raw: 56.82% 0.004 247.89;
+ --uchu-gray-9: oklch(56.82% 0.004 247.89);
+ --uchu-green-1-raw: 93.96% 0.05 148.74;
+ --uchu-green-1: oklch(93.96% 0.05 148.74);
+ --uchu-green-2-raw: 88.77% 0.096 147.71;
+ --uchu-green-2: oklch(88.77% 0.096 147.71);
+ --uchu-green-3-raw: 83.74% 0.139 146.57;
+ --uchu-green-3: oklch(83.74% 0.139 146.57);
+ --uchu-green-4-raw: 79.33% 0.179 145.62;
+ --uchu-green-4: oklch(79.33% 0.179 145.62);
+ --uchu-green-5-raw: 75.23% 0.209 144.64;
+ --uchu-green-5: oklch(75.23% 0.209 144.64);
+ --uchu-green-6-raw: 70.03% 0.194 144.71;
+ --uchu-green-6: oklch(70.03% 0.194 144.71);
+ --uchu-green-7-raw: 64.24% 0.175 144.92;
+ --uchu-green-7: oklch(64.24% 0.175 144.92);
+ --uchu-green-8-raw: 58.83% 0.158 145.05;
+ --uchu-green-8: oklch(58.83% 0.158 145.05);
+ --uchu-green-9-raw: 52.77% 0.138 145.41;
+ --uchu-green-9: oklch(52.77% 0.138 145.41);
+ --uchu-orange-1-raw: 93.83% 0.037 56.93;
+ --uchu-orange-1: oklch(93.83% 0.037 56.93);
+ --uchu-orange-2-raw: 88.37% 0.072 55.8;
+ --uchu-orange-2: oklch(88.37% 0.072 55.8);
+ --uchu-orange-3-raw: 83.56% 0.107 56.49;
+ --uchu-orange-3: oklch(83.56% 0.107 56.49);
+ --uchu-orange-4-raw: 78.75% 0.141 54.32;
+ --uchu-orange-4: oklch(78.75% 0.141 54.32);
+ --uchu-orange-5-raw: 74.61% 0.171 51.56;
+ --uchu-orange-5: oklch(74.61% 0.171 51.56);
+ --uchu-orange-6-raw: 69.33% 0.157 52.18;
+ --uchu-orange-6: oklch(69.33% 0.157 52.18);
+ --uchu-orange-7-raw: 63.8% 0.142 52.1;
+ --uchu-orange-7: oklch(63.8% 0.142 52.1);
+ --uchu-orange-8-raw: 58.28% 0.128 52.2;
+ --uchu-orange-8: oklch(58.28% 0.128 52.2);
+ --uchu-orange-9-raw: 52.49% 0.113 51.98;
+ --uchu-orange-9: oklch(52.49% 0.113 51.98);
+ --uchu-pink-1-raw: 95.8% 0.023 354.27;
+ --uchu-pink-1: oklch(95.8% 0.023 354.27);
+ --uchu-pink-2-raw: 92.14% 0.046 352.31;
+ --uchu-pink-2: oklch(92.14% 0.046 352.31);
+ --uchu-pink-3-raw: 88.9% 0.066 354.39;
+ --uchu-pink-3: oklch(88.9% 0.066 354.39);
+ --uchu-pink-4-raw: 85.43% 0.09 354.1;
+ --uchu-pink-4: oklch(85.43% 0.09 354.1);
+ --uchu-pink-5-raw: 82.23% 0.112 355.33;
+ --uchu-pink-5: oklch(82.23% 0.112 355.33);
+ --uchu-pink-6-raw: 76.37% 0.101 355.37;
+ --uchu-pink-6: oklch(76.37% 0.101 355.37);
+ --uchu-pink-7-raw: 70.23% 0.092 354.96;
+ --uchu-pink-7: oklch(70.23% 0.092 354.96);
+ --uchu-pink-8-raw: 64.11% 0.084 353.91;
+ --uchu-pink-8: oklch(64.11% 0.084 353.91);
+ --uchu-pink-9-raw: 57.68% 0.074 353.14;
+ --uchu-pink-9: oklch(57.68% 0.074 353.14);
+ --uchu-purple-1-raw: 89.1% 0.046 305.24;
+ --uchu-purple-1: oklch(89.1% 0.046 305.24);
+ --uchu-purple-2-raw: 78.68% 0.091 305;
+ --uchu-purple-2: oklch(78.68% 0.091 305);
+ --uchu-purple-3-raw: 68.5% 0.136 303.78;
+ --uchu-purple-3: oklch(68.5% 0.136 303.78);
+ --uchu-purple-4-raw: 58.47% 0.181 302.06;
+ --uchu-purple-4: oklch(58.47% 0.181 302.06);
+ --uchu-purple-5-raw: 49.39% 0.215 298.31;
+ --uchu-purple-5: oklch(49.39% 0.215 298.31);
+ --uchu-purple-6-raw: 46.11% 0.198 298.4;
+ --uchu-purple-6: oklch(46.11% 0.198 298.4);
+ --uchu-purple-7-raw: 42.77% 0.181 298.49;
+ --uchu-purple-7: oklch(42.77% 0.181 298.49);
+ --uchu-purple-8-raw: 39.46% 0.164 298.29;
+ --uchu-purple-8: oklch(39.46% 0.164 298.29);
+ --uchu-purple-9-raw: 36.01% 0.145 298.35;
+ --uchu-purple-9: oklch(36.01% 0.145 298.35);
+ --uchu-red-1-raw: 88.98% 0.052 3.28;
+ --uchu-red-1: oklch(88.98% 0.052 3.28);
+ --uchu-red-2-raw: 78.78% 0.109 4.54;
+ --uchu-red-2: oklch(78.78% 0.109 4.54);
+ --uchu-red-3-raw: 69.86% 0.162 7.82;
+ --uchu-red-3: oklch(69.86% 0.162 7.82);
+ --uchu-red-4-raw: 62.73% 0.209 12.37;
+ --uchu-red-4: oklch(62.73% 0.209 12.37);
+ --uchu-red-5-raw: 58.63% 0.231 19.6;
+ --uchu-red-5: oklch(58.63% 0.231 19.6);
+ --uchu-red-6-raw: 54.41% 0.214 19.06;
+ --uchu-red-6: oklch(54.41% 0.214 19.06);
+ --uchu-red-7-raw: 49.95% 0.195 18.34;
+ --uchu-red-7: oklch(49.95% 0.195 18.34);
+ --uchu-red-8-raw: 45.8% 0.177 17.7;
+ --uchu-red-8: oklch(45.8% 0.177 17.7);
+ --uchu-red-9-raw: 41.17% 0.157 16.58;
+ --uchu-red-9: oklch(41.17% 0.157 16.58);
+ --uchu-yellow-1-raw: 97.05% 0.039 91.2;
+ --uchu-yellow-1: oklch(97.05% 0.039 91.2);
+ --uchu-yellow-2-raw: 95% 0.07 92.39;
+ --uchu-yellow-2: oklch(95% 0.07 92.39);
+ --uchu-yellow-3-raw: 92.76% 0.098 92.58;
+ --uchu-yellow-3: oklch(92.76% 0.098 92.58);
+ --uchu-yellow-4-raw: 90.92% 0.125 92.56;
+ --uchu-yellow-4: oklch(90.92% 0.125 92.56);
+ --uchu-yellow-5-raw: 89% 0.146 91.5;
+ --uchu-yellow-5: oklch(89% 0.146 91.5);
+ --uchu-yellow-6-raw: 82.39% 0.133 91.5;
+ --uchu-yellow-6: oklch(82.39% 0.133 91.5);
+ --uchu-yellow-7-raw: 75.84% 0.122 92.21;
+ --uchu-yellow-7: oklch(75.84% 0.122 92.21);
+ --uchu-yellow-8-raw: 69.14% 0.109 91.04;
+ --uchu-yellow-8: oklch(69.14% 0.109 91.04);
+ --uchu-yellow-9-raw: 62.29% 0.097 91.9;
+ --uchu-yellow-9: oklch(62.29% 0.097 91.9);
+ --uchu-yin-1-raw: 91.87% 0.003 264.54;
+ --uchu-yin-1: oklch(91.87% 0.003 264.54);
+ --uchu-yin-2-raw: 84.61% 0.004 286.31;
+ --uchu-yin-2: oklch(84.61% 0.004 286.31);
+ --uchu-yin-3-raw: 76.89% 0.004 247.87;
+ --uchu-yin-3: oklch(76.89% 0.004 247.87);
+ --uchu-yin-4-raw: 69.17% 0.004 247.88;
+ --uchu-yin-4: oklch(69.17% 0.004 247.88);
+ --uchu-yin-5-raw: 61.01% 0.005 271.34;
+ --uchu-yin-5: oklch(61.01% 0.005 271.34);
+ --uchu-yin-6-raw: 52.79% 0.005 271.32;
+ --uchu-yin-6: oklch(52.79% 0.005 271.32);
+ --uchu-yin-7-raw: 43.87% 0.005 271.3;
+ --uchu-yin-7: oklch(43.87% 0.005 271.3);
+ --uchu-yin-8-raw: 35.02% 0.005 236.66;
+ --uchu-yin-8: oklch(35.02% 0.005 236.66);
+ --uchu-yin-9-raw: 25.11% 0.006 258.36;
+ --uchu-yin-9: oklch(25.11% 0.006 258.36);
+ --uchu-yang: oklch(99.4% 0 0);
+ --uchu-yin: oklch(14.38% 0.007 256.88);
+}
diff --git a/documentation/USAGE.md b/documentation/USAGE.md
index 380ce4e..c3f97ae 100644
--- a/documentation/USAGE.md
+++ b/documentation/USAGE.md
@@ -2,8 +2,8 @@
I love Deno. URL imports are cool. Anyhoo, you can do the same with uchū:
-- `https://uchu.style/color.css`
-- `https://uchu.style/color_expanded.css`
+- `https://uchu.style/uchu-reduced.css`
+- `https://uchu.style/uchu.css`
@@ -17,7 +17,7 @@ If you're coding a website by hand, you probably want to use the reduced palette
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
- <link href="https://uchu.style/color.css" rel="stylesheet"/>
+ <link href="https://uchu.style/uchu-reduced.css" rel="stylesheet"/>
<style>
body {
@@ -47,7 +47,7 @@ If you're coding a web app, you probably want to use the expanded palette. Or no
</script>
<style lang="scss">
- @import url("https://uchu.style/color_expanded.css");
+ @import url("https://uchu.style/uchu.css");
section {
background-color: var(--uchu-yang);
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..5f780b4
--- /dev/null
+++ b/package.json
@@ -0,0 +1,41 @@
+{
+ "description": "The color palette for internet lovers",
+ "devDependencies": {
+ "typescript": "^5.4.0"
+ },
+ "exports": {
+ ".": {
+ "import": "./dist/index.js",
+ "types": "./dist/index.d.ts"
+ },
+ "./scss": "./dist/_palette.scss",
+ "./css": "./dist/uchu.css"
+ },
+ "files": [
+ "dist"
+ ],
+ "homepage": "https://uchu.style",
+ "keywords": [
+ "color",
+ "color-palette",
+ "color-theme",
+ "oklch"
+ ],
+ "license": "UNLICENSE",
+ "main": "./dist/index.js",
+ "name": "uchu",
+ "repository": {
+ "type": "git",
+ "url": "https://code.webb.page/nevercease/uchu.git"
+ },
+ "scripts": {
+ "build": "bun run scripts/generate.ts && bun run build:js",
+ "build:js": "bun build src/index.ts --outdir dist --target node --format esm --dts",
+ "dryRun": "bun pm pack --dry-run",
+ "prepublishOnly": "bun run build",
+ "typecheck": "tsc"
+ },
+ "type": "module",
+ "types": "./dist/index.d.ts",
+ "version": "2.0.0"
+}
diff --git a/scripts/generate.ts b/scripts/generate.ts
new file mode 100644
index 0000000..f922a9d
--- /dev/null
+++ b/scripts/generate.ts
@@ -0,0 +1,116 @@
+
+
+
+/*** NATIVE ------------------------------------------- ***/
+
+import { mkdir, writeFile } from "node:fs/promises";
+
+/*** UTILITY ------------------------------------------ ***/
+
+import { palette, raw, yang, yin } from "../src/colors";
+import { reduced } from "../src/index";
+
+const buildScss = (): string => {
+ const lines: string[] = ["// Generated from src/colors.ts — do not edit by hand", ""];
+
+ for (const hue of Object.keys(palette).sort()) {
+ const shades = palette[hue as keyof typeof palette];
+
+ for (const shade of Object.keys(shades).sort()) {
+ const value = shades[Number(shade) as 1];
+ lines.push(`$uchu-${hue}-${shade}-raw: ${raw[hue][shade]};`);
+ lines.push(`$uchu-${hue}-${shade}: ${value};`);
+ }
+
+ lines.push("");
+ }
+
+ lines.push(`$uchu-yang: ${yang};`);
+ lines.push(`$uchu-yin: ${yin};`);
+ lines.push("");
+ lines.push(":root {");
+
+ for (const hue of Object.keys(palette).sort()) {
+ const shades = palette[hue as keyof typeof palette];
+
+ for (const shade of Object.keys(shades).sort()) {
+ lines.push(` --uchu-${hue}-${shade}-raw: #{$uchu-${hue}-${shade}-raw};`);
+ lines.push(` --uchu-${hue}-${shade}: #{$uchu-${hue}-${shade}};`);
+ }
+ }
+
+ lines.push(` --uchu-yang: #{$uchu-yang};`);
+ lines.push(` --uchu-yin: #{$uchu-yin};`);
+ lines.push("}", "");
+
+ return lines.join("\n");
+};
+
+const buildCss = (): string => {
+ const lines: string[] = ["/* Generated from src/colors.ts — do not edit by hand */", "", ":root {"];
+
+ for (const hue of Object.keys(palette).sort()) {
+ const shades = palette[hue as keyof typeof palette];
+
+ for (const shade of Object.keys(shades).sort()) {
+ const value = shades[Number(shade) as 1];
+ lines.push(` --uchu-${hue}-${shade}-raw: ${raw[hue][shade]};`);
+ lines.push(` --uchu-${hue}-${shade}: ${value};`);
+ }
+ }
+
+ lines.push(` --uchu-yang: ${yang};`);
+ lines.push(` --uchu-yin: ${yin};`);
+ lines.push("}", "");
+
+ return lines.join("\n");
+};
+
+const buildCssReduced = (): string => {
+ const lines: string[] = ["/* Generated from src/index.ts — do not edit by hand */", "", ":root {"];
+
+ for (const hue of Object.keys(reduced).sort()) {
+ const shades = reduced[hue as keyof typeof reduced];
+
+ for (const shade of Object.keys(shades).sort()) {
+ const value = shades[Number(shade) as 1];
+
+ switch(Number(shade)) {
+ case 1: {
+ lines.push(` --uchu-light-${hue}-raw: ${raw[hue][shade]};`);
+ lines.push(` --uchu-light-${hue}: ${value};`);
+ break;
+ }
+
+ case 2: {
+ lines.push(` --uchu-${hue}-raw: ${raw[hue][shade]};`);
+ lines.push(` --uchu-${hue}: ${value};`);
+ break;
+ }
+
+ case 3: {
+ lines.push(` --uchu-dark-${hue}-raw: ${raw[hue][shade]};`);
+ lines.push(` --uchu-dark-${hue}: ${value};`);
+ break;
+ }
+ }
+ }
+ }
+
+ lines.push(` --uchu-yang: ${yang};`);
+ lines.push(` --uchu-yin: ${yin};`);
+ lines.push("}", "");
+
+ return lines.join("\n");
+};
+
+/*** RUNTIME ------------------------------------------ ***/
+
+await mkdir("dist", { recursive: true });
+await writeFile("dist/_palette.scss", buildScss());
+await writeFile("dist/uchu.css", buildCss());
+await writeFile("dist/uchu-reduced.css", buildCssReduced());
+await writeFile("demo/asset/style/uchu.css", buildCss());
+await writeFile("demo/asset/style/uchu-reduced.css", buildCssReduced());
+
+console.log("Generated dist/_palette.scss and dist/uchu.css");
diff --git a/src/colors.ts b/src/colors.ts
new file mode 100644
index 0000000..fe32e2a
--- /dev/null
+++ b/src/colors.ts
@@ -0,0 +1,217 @@
+
+
+
+/*** UTILITY ------------------------------------------ ***/
+
+const raw = {
+ blue: {
+ 1: "89.66% 0.046 260.67",
+ 2: "80.17% 0.091 258.88",
+ 3: "70.94% 0.136 258.06",
+ 4: "62.39% 0.181 258.33",
+ 5: "54.87% 0.222 260.33",
+ 6: "51.15% 0.204 260.17",
+ 7: "47.36% 0.185 259.89",
+ 8: "43.48% 0.17 260.2",
+ 9: "39.53% 0.15 259.87"
+ },
+ gray: {
+ 1: "95.57% 0.003 286.35",
+ 2: "92.04% 0.002 197.12",
+ 3: "88.28% 0.003 286.34",
+ 4: "84.68% 0.002 197.12",
+ 5: "80.73% 0.002 247.84",
+ 6: "75.03% 0.002 247.85",
+ 7: "69.01% 0.003 286.32",
+ 8: "63.12% 0.004 219.55",
+ 9: "56.82% 0.004 247.89"
+ },
+ green: {
+ 1: "93.96% 0.05 148.74",
+ 2: "88.77% 0.096 147.71",
+ 3: "83.74% 0.139 146.57",
+ 4: "79.33% 0.179 145.62",
+ 5: "75.23% 0.209 144.64",
+ 6: "70.03% 0.194 144.71",
+ 7: "64.24% 0.175 144.92",
+ 8: "58.83% 0.158 145.05",
+ 9: "52.77% 0.138 145.41"
+ },
+ orange: {
+ 1: "93.83% 0.037 56.93",
+ 2: "88.37% 0.072 55.8",
+ 3: "83.56% 0.107 56.49",
+ 4: "78.75% 0.141 54.32",
+ 5: "74.61% 0.171 51.56",
+ 6: "69.33% 0.157 52.18",
+ 7: "63.8% 0.142 52.1",
+ 8: "58.28% 0.128 52.2",
+ 9: "52.49% 0.113 51.98"
+ },
+ pink: {
+ 1: "95.8% 0.023 354.27",
+ 2: "92.14% 0.046 352.31",
+ 3: "88.9% 0.066 354.39",
+ 4: "85.43% 0.09 354.1",
+ 5: "82.23% 0.112 355.33",
+ 6: "76.37% 0.101 355.37",
+ 7: "70.23% 0.092 354.96",
+ 8: "64.11% 0.084 353.91",
+ 9: "57.68% 0.074 353.14"
+ },
+ purple: {
+ 1: "89.1% 0.046 305.24",
+ 2: "78.68% 0.091 305",
+ 3: "68.5% 0.136 303.78",
+ 4: "58.47% 0.181 302.06",
+ 5: "49.39% 0.215 298.31",
+ 6: "46.11% 0.198 298.4",
+ 7: "42.77% 0.181 298.49",
+ 8: "39.46% 0.164 298.29",
+ 9: "36.01% 0.145 298.35"
+ },
+ red: {
+ 1: "88.98% 0.052 3.28",
+ 2: "78.78% 0.109 4.54",
+ 3: "69.86% 0.162 7.82",
+ 4: "62.73% 0.209 12.37",
+ 5: "58.63% 0.231 19.6",
+ 6: "54.41% 0.214 19.06",
+ 7: "49.95% 0.195 18.34",
+ 8: "45.8% 0.177 17.7",
+ 9: "41.17% 0.157 16.58"
+ },
+ yellow: {
+ 1: "97.05% 0.039 91.2",
+ 2: "95% 0.07 92.39",
+ 3: "92.76% 0.098 92.58",
+ 4: "90.92% 0.125 92.56",
+ 5: "89% 0.146 91.5",
+ 6: "82.39% 0.133 91.5",
+ 7: "75.84% 0.122 92.21",
+ 8: "69.14% 0.109 91.04",
+ 9: "62.29% 0.097 91.9"
+ },
+ yin: {
+ 1: "91.87% 0.003 264.54",
+ 2: "84.61% 0.004 286.31",
+ 3: "76.89% 0.004 247.87",
+ 4: "69.17% 0.004 247.88",
+ 5: "61.01% 0.005 271.34",
+ 6: "52.79% 0.005 271.32",
+ 7: "43.87% 0.005 271.3",
+ 8: "35.02% 0.005 236.66",
+ 9: "25.11% 0.006 258.36"
+ }
+} as const;
+
+/*** EXPORT ------------------------------------------- ***/
+
+export const palette = {
+ blue: {
+ 1: `oklch(${raw.blue[1]})`,
+ 2: `oklch(${raw.blue[2]})`,
+ 3: `oklch(${raw.blue[3]})`,
+ 4: `oklch(${raw.blue[4]})`,
+ 5: `oklch(${raw.blue[5]})`,
+ 6: `oklch(${raw.blue[6]})`,
+ 7: `oklch(${raw.blue[7]})`,
+ 8: `oklch(${raw.blue[8]})`,
+ 9: `oklch(${raw.blue[9]})`
+ },
+ gray: {
+ 1: `oklch(${raw.gray[1]})`,
+ 2: `oklch(${raw.gray[2]})`,
+ 3: `oklch(${raw.gray[3]})`,
+ 4: `oklch(${raw.gray[4]})`,
+ 5: `oklch(${raw.gray[5]})`,
+ 6: `oklch(${raw.gray[6]})`,
+ 7: `oklch(${raw.gray[7]})`,
+ 8: `oklch(${raw.gray[8]})`,
+ 9: `oklch(${raw.gray[9]})`
+ },
+ green: {
+ 1: `oklch(${raw.green[1]})`,
+ 2: `oklch(${raw.green[2]})`,
+ 3: `oklch(${raw.green[3]})`,
+ 4: `oklch(${raw.green[4]})`,
+ 5: `oklch(${raw.green[5]})`,
+ 6: `oklch(${raw.green[6]})`,
+ 7: `oklch(${raw.green[7]})`,
+ 8: `oklch(${raw.green[8]})`,
+ 9: `oklch(${raw.green[9]})`
+ },
+ orange: {
+ 1: `oklch(${raw.orange[1]})`,
+ 2: `oklch(${raw.orange[2]})`,
+ 3: `oklch(${raw.orange[3]})`,
+ 4: `oklch(${raw.orange[4]})`,
+ 5: `oklch(${raw.orange[5]})`,
+ 6: `oklch(${raw.orange[6]})`,
+ 7: `oklch(${raw.orange[7]})`,
+ 8: `oklch(${raw.orange[8]})`,
+ 9: `oklch(${raw.orange[9]})`
+ },
+ pink: {
+ 1: `oklch(${raw.pink[1]})`,
+ 2: `oklch(${raw.pink[2]})`,
+ 3: `oklch(${raw.pink[3]})`,
+ 4: `oklch(${raw.pink[4]})`,
+ 5: `oklch(${raw.pink[5]})`,
+ 6: `oklch(${raw.pink[6]})`,
+ 7: `oklch(${raw.pink[7]})`,
+ 8: `oklch(${raw.pink[8]})`,
+ 9: `oklch(${raw.pink[9]})`
+ },
+ purple: {
+ 1: `oklch(${raw.purple[1]})`,
+ 2: `oklch(${raw.purple[2]})`,
+ 3: `oklch(${raw.purple[3]})`,
+ 4: `oklch(${raw.purple[4]})`,
+ 5: `oklch(${raw.purple[5]})`,
+ 6: `oklch(${raw.purple[6]})`,
+ 7: `oklch(${raw.purple[7]})`,
+ 8: `oklch(${raw.purple[8]})`,
+ 9: `oklch(${raw.purple[9]})`
+ },
+ red: {
+ 1: `oklch(${raw.red[1]})`,
+ 2: `oklch(${raw.red[2]})`,
+ 3: `oklch(${raw.red[3]})`,
+ 4: `oklch(${raw.red[4]})`,
+ 5: `oklch(${raw.red[5]})`,
+ 6: `oklch(${raw.red[6]})`,
+ 7: `oklch(${raw.red[7]})`,
+ 8: `oklch(${raw.red[8]})`,
+ 9: `oklch(${raw.red[9]})`
+ },
+ yellow: {
+ 1: `oklch(${raw.yellow[1]})`,
+ 2: `oklch(${raw.yellow[2]})`,
+ 3: `oklch(${raw.yellow[3]})`,
+ 4: `oklch(${raw.yellow[4]})`,
+ 5: `oklch(${raw.yellow[5]})`,
+ 6: `oklch(${raw.yellow[6]})`,
+ 7: `oklch(${raw.yellow[7]})`,
+ 8: `oklch(${raw.yellow[8]})`,
+ 9: `oklch(${raw.yellow[9]})`
+ },
+ yin: {
+ 1: `oklch(${raw.yin[1]})`,
+ 2: `oklch(${raw.yin[2]})`,
+ 3: `oklch(${raw.yin[3]})`,
+ 4: `oklch(${raw.yin[4]})`,
+ 5: `oklch(${raw.yin[5]})`,
+ 6: `oklch(${raw.yin[6]})`,
+ 7: `oklch(${raw.yin[7]})`,
+ 8: `oklch(${raw.yin[8]})`,
+ 9: `oklch(${raw.yin[9]})`
+ }
+} as const;
+
+export { raw };
+export const yang = "oklch(99.4% 0 0)" as const;
+export const yin = "oklch(14.38% 0.007 256.88)" as const;
+
+export type Hue = keyof typeof palette;
+export type Shade = keyof typeof palette[Hue];
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 0000000..ba34358
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1,61 @@
+
+
+
+/*** UTILITY ------------------------------------------ ***/
+
+import { palette } from "./colors";
+
+/*** EXPORT ------------------------------------------- ***/
+
+export { palette, raw, yang, yin } from "./colors";
+export type { Hue, Shade } from "./colors";
+
+export const color = (hue: keyof typeof palette, shade: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9): string => {
+ return palette[hue][shade];
+};
+
+export const reduced = {
+ blue: {
+ 1: palette.blue[1],
+ 2: palette.blue[4],
+ 3: palette.blue[8]
+ },
+ gray: {
+ 1: palette.gray[1],
+ 2: palette.gray[4],
+ 3: palette.gray[8]
+ },
+ green: {
+ 1: palette.green[1],
+ 2: palette.green[4],
+ 3: palette.green[8]
+ },
+ orange: {
+ 1: palette.orange[1],
+ 2: palette.orange[4],
+ 3: palette.orange[8]
+ },
+ pink: {
+ 1: palette.pink[1],
+ 2: palette.pink[4],
+ 3: palette.pink[8]
+ },
+ purple: {
+ 1: palette.purple[1],
+ 2: palette.purple[4],
+ 3: palette.purple[8]
+ },
+ red: {
+ 1: palette.red[1],
+ 2: palette.red[4],
+ 3: palette.red[8]
+ },
+ yellow: {
+ 1: palette.yellow[1],
+ 2: palette.yellow[4],
+ 3: palette.yellow[8]
+ },
+ yin: {
+ 1: palette.yin[1]
+ }
+} as const;
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..fa30c58
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,12 @@
+{
+ "compilerOptions": {
+ "esModuleInterop": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "noEmit": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "target": "ES2022"
+ },
+ "include": ["src/**/*.ts", "scripts/**/*.ts"]
+}