/*** 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];