1use super::{color, Color, Element};
2
3impl Element {
4 pub const fn jmol_color(&self) -> Option<Color> {
14 match self {
15 Element::H => color(255, 255, 255),
16 Element::He => color(217, 255, 255),
17 Element::Li => color(204, 128, 255),
18 Element::Be => color(194, 255, 0),
19 Element::B => color(255, 181, 181),
20 Element::C => color(144, 144, 144),
21 Element::N => color(48, 80, 248),
22 Element::O => color(255, 13, 13),
23 Element::F => color(144, 224, 80),
24 Element::Ne => color(179, 227, 245),
25 Element::Na => color(171, 92, 242),
26 Element::Mg => color(138, 255, 0),
27 Element::Al => color(191, 166, 166),
28 Element::Si => color(240, 200, 160),
29 Element::P => color(255, 128, 0),
30 Element::S => color(255, 255, 48),
31 Element::Cl => color(31, 240, 31),
32 Element::Ar => color(128, 209, 227),
33 Element::K => color(143, 64, 212),
34 Element::Ca => color(61, 255, 0),
35 Element::Sc => color(230, 230, 230),
36 Element::Ti => color(191, 194, 199),
37 Element::V => color(166, 166, 171),
38 Element::Cr => color(138, 153, 199),
39 Element::Mn => color(156, 122, 199),
40 Element::Fe => color(224, 102, 51),
41 Element::Co => color(240, 144, 160),
42 Element::Ni => color(80, 208, 80),
43 Element::Cu => color(200, 128, 51),
44 Element::Zn => color(125, 128, 176),
45 Element::Ga => color(194, 143, 143),
46 Element::Ge => color(102, 143, 143),
47 Element::As => color(189, 128, 227),
48 Element::Se => color(255, 161, 0),
49 Element::Br => color(166, 41, 41),
50 Element::Kr => color(92, 184, 209),
51 Element::Rb => color(112, 46, 176),
52 Element::Sr => color(0, 255, 0),
53 Element::Y => color(148, 255, 255),
54 Element::Zr => color(148, 224, 224),
55 Element::Nb => color(115, 194, 201),
56 Element::Mo => color(84, 181, 181),
57 Element::Tc => color(59, 158, 158),
58 Element::Ru => color(36, 143, 143),
59 Element::Rh => color(10, 125, 140),
60 Element::Pd => color(0, 105, 133),
61 Element::Ag => color(192, 192, 192),
62 Element::Cd => color(255, 217, 143),
63 Element::In => color(166, 117, 115),
64 Element::Sn => color(102, 128, 128),
65 Element::Sb => color(158, 99, 181),
66 Element::Te => color(212, 122, 0),
67 Element::I => color(148, 0, 148),
68 Element::Xe => color(66, 158, 176),
69 Element::Cs => color(87, 23, 143),
70 Element::Ba => color(0, 201, 0),
71 Element::La => color(112, 212, 255),
72 Element::Ce => color(255, 255, 199),
73 Element::Pr => color(217, 255, 199),
74 Element::Nd => color(199, 255, 199),
75 Element::Pm => color(163, 255, 199),
76 Element::Sm => color(143, 255, 199),
77 Element::Eu => color(97, 255, 199),
78 Element::Gd => color(69, 255, 199),
79 Element::Tb => color(48, 255, 199),
80 Element::Dy => color(31, 255, 199),
81 Element::Ho => color(0, 255, 156),
82 Element::Er => color(0, 230, 117),
83 Element::Tm => color(0, 212, 82),
84 Element::Yb => color(0, 191, 56),
85 Element::Lu => color(0, 171, 36),
86 Element::Hf => color(77, 194, 255),
87 Element::Ta => color(77, 166, 255),
88 Element::W => color(33, 148, 214),
89 Element::Re => color(38, 125, 171),
90 Element::Os => color(38, 102, 150),
91 Element::Ir => color(23, 84, 135),
92 Element::Pt => color(208, 208, 224),
93 Element::Au => color(255, 209, 35),
94 Element::Hg => color(184, 184, 208),
95 Element::Tl => color(166, 84, 77),
96 Element::Pb => color(87, 89, 97),
97 Element::Bi => color(158, 79, 181),
98 Element::Po => color(171, 92, 0),
99 Element::At => color(117, 79, 69),
100 Element::Rn => color(66, 130, 150),
101 Element::Fr => color(66, 0, 102),
102 Element::Ra => color(0, 125, 0),
103 Element::Ac => color(112, 171, 250),
104 Element::Th => color(0, 186, 255),
105 Element::Pa => color(0, 161, 255),
106 Element::U => color(0, 143, 255),
107 Element::Np => color(0, 128, 255),
108 Element::Pu => color(0, 107, 255),
109 Element::Am => color(84, 92, 242),
110 Element::Cm => color(120, 92, 227),
111 Element::Bk => color(138, 79, 227),
112 Element::Cf => color(161, 54, 212),
113 Element::Es => color(179, 31, 212),
114 Element::Fm => color(179, 31, 186),
115 Element::Md => color(179, 13, 166),
116 Element::No => color(189, 13, 135),
117 Element::Lr => color(199, 0, 102),
118 Element::Rf => color(204, 0, 89),
119 Element::Db => color(209, 0, 79),
120 Element::Sg => color(217, 0, 69),
121 Element::Bh => color(224, 0, 56),
122 Element::Hs => color(230, 0, 46),
123 Element::Mt => color(235, 0, 38),
124 Element::Ds => None,
125 Element::Rg => None,
126 Element::Cn => None,
127 Element::Nh => None,
128 Element::Fl => None,
129 Element::Mc => None,
130 Element::Lv => None,
131 Element::Ts => None,
132 Element::Og => None,
133 }
134 }
135}