~alcinnz/bureaucromancy

ref: c50beaf39632622f93f4c394b46a0167a7859f23 bureaucromancy/src/Text/HTML/Form/Colours.hs -rw-r--r-- 5.3 KiB
c50beaf3 — Adrian Cochrane Start integrating internationalization infrastructure! 11 months ago
                                                                                
696da319 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
696da319 Adrian Cochrane
680706da Adrian Cochrane
696da319 Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
c50beaf3 Adrian Cochrane
680706da Adrian Cochrane
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
-- | A decent colour-pallet for users to select between,
-- for where we can't provide free-form colour selection.
module Text.HTML.Form.Colours(tailwindColours, Colour) where

import Text.HTML.Form.I18n (i18n)

-- Finally a good use for Tailwind!
-- Otherwise it strikes me as little more than an illegible alternative to
-- the `style` attribute!

-- | Stores a CSS hexcode, with preceding "#"
type Colour = String
-- | The Tailwind colour pallet: https://v1.tailwindcss.com/docs/customizing-colors#default-color-palette
tailwindColours :: String -> [(String, [(Int, Colour)])]
tailwindColours lang = [
    i "Slate"~>[50~>"#f8fafc", 100~>"#f1f5f9", 200~>"#e2e8f0", 300~>"#cbd5e1",
            400~>"#94a3b8", 500~>"#64748b", 600~>"#475569", 700~>"#334155",
            800~>"#1e293b", 900~>"#0f172a", 950~>"#020617"],
    i "Gray"~>[50~>"#f9fafb", 100~>"#f3f4f6", 200~>"#e5e7eb", 300~>"#d1d5db",
            400~>"#9ca3af", 500~>"#6b7280", 600~>"#4b5563", 700~>"#374151",
            800~>"#1f2937", 900~>"#111827", 950~>"#030712"],
    i "Zinc"~>[50~>"#fafafa", 100~>"#f4f4f5", 200~>"#e4e4e7", 300~>"#d4d4d8",
            400~>"#a1a1aa", 500~>"#71717a", 600~>"#52525b", 700~>"#3f3f46",
            800~>"#27272a", 900~>"#18181b", 950~>"#09090b"],
    i "Neutral"~>[50~>"#fafafa", 100~>"#f5f5f5", 200~>"#e5e5e5", 300~>"#d4d4d4",
            400~>"#a3a3a3", 500~>"#737373", 600~>"#404040", 700~>"#404040",
            800~>"#262626", 900~>"#171717", 950~>"#0a0a0a"],
    i "Stone"~>[50~>"#fafaf9", 100~>"#f5f5f4", 200~>"#e7e5e4", 300~>"#d6d3d1",
            400~>"#a8a29e", 500~>"#78716c", 600~>"#57534e", 700~>"#44403c",
            800~>"#292524", 900~>"#1c1917", 950~>"#0c0a09"],
    i "Red"~>[50~>"#fef2f2", 100~>"#fee2e2", 200~>"#fecaca", 300~>"#fca5a5",
            400~>"#f87171", 500~>"#ef4444", 600~>"#dc2626", 700~>"#b91c1c",
            800~>"#991b1b", 900~>"#7f1d1d", 950~>"#450a0a"],
    i "Orange"~>[50~>"#fff7ed", 100~>"#ffedd5", 200~>"#fed7aa", 300~>"#fdba74",
            400~>"#fb923c", 500~>"#f97316", 600~>"#ea580c", 700~>"#c2410c",
            800~>"#9a3412", 900~>"#7c2d12", 950~>"#431407"],
    i "Amber"~>[50~>"#fffbeb", 100~>"#fef3c7", 200~>"#fde68a", 300~>"#fcd34d",
            400~>"#fbbf24", 500~>"#f59e0b", 600~>"#d97706", 700~>"#b45309",
            800~>"#92400e", 900~>"#78350f", 950~>"#451a03"],
    i "Yellow"~>[50~>"#fefce8", 100~>"#fef9c3", 200~>"#fef08a", 300~>"#fde047",
            400~>"#facc15", 500~>"#eab308", 600~>"#ca8a04", 700~>"#a16207",
            800~>"#854d0e", 900~>"#713f12", 950~>"#422006"],
    i "Lime"~>[50~>"#f7fee7", 100~>"#ecfccb", 200~>"#d9f99d", 300~>"#bef264",
            400~>"#a3e635", 500~>"#84cc16", 600~>"#65a30d", 700~>"#4d7c0f",
            800~>"#3f6212", 900~>"#365314", 950~>"#1a2e05"],
    i "Green"~>[50~>"#f0fdf4", 100~>"#dcfce7", 200~>"#bbf7d0", 300~>"#86efac",
            400~>"#4ade80", 500~>"#22c55e", 600~>"#16a34a", 700~>"#15803d",
            800~>"#166534", 900~>"#14532d", 950~>"#052e16"],
    i "Emerald"~>[50~>"#ecfdf5", 100~>"#d1fae5", 200~>"#a7f3d0", 300~>"#6ee7b7",
            400~>"#34d399", 500~>"#10b981", 600~>"#059669", 700~>"#047857",
            800~>"#065f46", 900~>"#064e3b", 950~>"#022c22"],
    i "Teal"~>[50~>"#f0fdfa", 100~>"#ccfbf1", 200~>"#99f6e4", 300~>"#5eead4",
            400~>"#2dd4bf", 500~>"#14b8a6", 600~>"#0f766e", 700~>"#0f766e",
            800~>"#115e59", 900~>"#134e4a", 950~>"#042f2e"],
    i "Cyan"~>[50~>"#ecfeff", 100~>"#cffafe", 200~>"#a5f3fc", 300~>"#67e8f9",
            400~>"#22d3ee", 500~>"#06b6d4", 600~>"#0891b2", 700~>"#0e7490",
            800~>"#155e75", 900~>"#164e63", 950~>"#083344"],
    i "Sky"~>[50~>"#f0f9ff", 100~>"#e0f2fe", 200~>"#bae6fd", 300~>"#7dd3fc",
            400~>"#38bdf8", 500~>"#0ea5e9", 600~>"#0284c7", 700~>"#0369a1",
            800~>"#075985", 900~>"#0c4a6e", 950~>"#082f49"],
    i "Blue"~>[50~>"#eff6ff", 100~>"#dbeafe", 200~>"#bfdbfe", 300~>"#93c5fd",
            400~>"#60a5fa", 500~>"#3b82f6", 600~>"#2563eb", 700~>"#1d4ed8",
            800~>"#1e40af", 900~>"#1e3a8a", 950~>"#172554"],
    i "Indigo"~>[50~>"#eef2ff", 100~>"#e0e7ff", 200~>"#c7d2fe", 300~>"#a5b4fc",
            400~>"#818cf8", 500~>"#6366f1", 600~>"#4f46e5", 700~>"#4338ca",
            800~>"#3730a3", 900~>"#312e81", 950~>"#1e1b4b"],
    i "Violet"~>[50~>"#f5f3ff", 100~>"#ede9fe", 200~>"#ddd6fe", 300~>"#c4b5fd",
            400~>"#a78bfa", 500~>"#8b5cf6", 600~>"#7c3aed", 700~>"#6d28d9",
            800~>"#5b21b6", 900~>"#4c1d95", 950~>"#2e1065"],
    i "Purple"~>[50~>"#faf5ff", 100~>"#f3e8ff", 200~>"#e9d5ff", 300~>"#d8b4fe",
            400~>"#c084fc", 500~>"#a855f7", 600~>"#9333ea", 700~>"#7e22ce",
            800~>"#6b21a8", 900~>"#581c87", 950~>"#3b0764"],
    i "Fuchsia"~>[50~>"#fdf4ff", 100~>"#fae8ff", 200~>"#f5d0fe", 300~>"#f0abfc",
            400~>"#e879f9", 500~>"#d946ef", 600~>"#c026d3", 700~>"#a21caf",
            800~>"#86198f", 900~>"#701a75", 950~>"#4a044e"],
    i "Pink"~>[50~>"#fdf2f8", 100~>"#fce7f3", 200~>"#fbcfe8", 300~>"#f9a8d4",
            400~>"#f472b6", 500~>"#ec4899", 600~>"#db2777", 700~>"#be185d",
            800~>"#9d174d", 900~>"#831843", 950~>"#500724"],
    i "Rose"~>[50~>"#fff1f2", 100~>"#ffe4e6", 200~>"#fecdd3", 300~>"#fda4af",
            400~>"#fb7185", 500~>"#f43f5e", 600~>"#e11d48", 700~>"#be123c",
            800~>"#9f1239", 900~>"#881337", 950~>"#4c0519"]
  ] where i = i18n lang

(~>) :: a -> b -> (a, b)
a ~> b = (a, b)