matterviz 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/BohrAtom.svelte +105 -0
  2. package/dist/BohrAtom.svelte.d.ts +21 -0
  3. package/dist/ControlPanel.svelte +158 -0
  4. package/dist/ControlPanel.svelte.d.ts +18 -0
  5. package/dist/Icon.svelte +23 -0
  6. package/dist/Icon.svelte.d.ts +8 -0
  7. package/dist/InfoCard.svelte +79 -0
  8. package/dist/InfoCard.svelte.d.ts +23 -0
  9. package/dist/Nucleus.svelte +64 -0
  10. package/dist/Nucleus.svelte.d.ts +16 -0
  11. package/dist/Spinner.svelte +44 -0
  12. package/dist/Spinner.svelte.d.ts +7 -0
  13. package/dist/api.d.ts +6 -0
  14. package/dist/api.js +30 -0
  15. package/dist/colors/alloy-colors.json +111 -0
  16. package/dist/colors/dark-mode-colors.json +111 -0
  17. package/dist/colors/index.d.ts +26 -0
  18. package/dist/colors/index.js +72 -0
  19. package/dist/colors/jmol-colors.json +111 -0
  20. package/dist/colors/muted-colors.json +111 -0
  21. package/dist/colors/pastel-colors.json +111 -0
  22. package/dist/colors/vesta-colors.json +111 -0
  23. package/dist/composition/BarChart.svelte +260 -0
  24. package/dist/composition/BarChart.svelte.d.ts +33 -0
  25. package/dist/composition/BubbleChart.svelte +166 -0
  26. package/dist/composition/BubbleChart.svelte.d.ts +30 -0
  27. package/dist/composition/Composition.svelte +73 -0
  28. package/dist/composition/Composition.svelte.d.ts +27 -0
  29. package/dist/composition/PieChart.svelte +236 -0
  30. package/dist/composition/PieChart.svelte.d.ts +36 -0
  31. package/dist/composition/index.d.ts +5 -0
  32. package/dist/composition/index.js +5 -0
  33. package/dist/composition/parse.d.ts +14 -0
  34. package/dist/composition/parse.js +307 -0
  35. package/dist/element/ElementHeading.svelte +21 -0
  36. package/dist/element/ElementHeading.svelte.d.ts +8 -0
  37. package/dist/element/ElementPhoto.svelte +56 -0
  38. package/dist/element/ElementPhoto.svelte.d.ts +9 -0
  39. package/dist/element/ElementStats.svelte +73 -0
  40. package/dist/element/ElementStats.svelte.d.ts +8 -0
  41. package/dist/element/ElementTile.svelte +449 -0
  42. package/dist/element/ElementTile.svelte.d.ts +25 -0
  43. package/dist/element/data.d.ts +4958 -0
  44. package/dist/element/data.js +5628 -0
  45. package/dist/element/index.d.ts +4 -0
  46. package/dist/element/index.js +4 -0
  47. package/dist/icons.d.ts +435 -0
  48. package/dist/icons.js +435 -0
  49. package/dist/index.d.ts +82 -0
  50. package/dist/index.js +43 -0
  51. package/dist/io/decompress.d.ts +16 -0
  52. package/dist/io/decompress.js +78 -0
  53. package/dist/io/export.d.ts +9 -0
  54. package/dist/io/export.js +205 -0
  55. package/dist/io/parse.d.ts +53 -0
  56. package/dist/io/parse.js +747 -0
  57. package/dist/labels.d.ts +31 -0
  58. package/dist/labels.js +209 -0
  59. package/dist/material/MaterialCard.svelte +135 -0
  60. package/dist/material/MaterialCard.svelte.d.ts +10 -0
  61. package/dist/material/SymmetryCard.svelte +23 -0
  62. package/dist/material/SymmetryCard.svelte.d.ts +9 -0
  63. package/dist/material/index.d.ts +2 -0
  64. package/dist/material/index.js +2 -0
  65. package/dist/math.d.ts +24 -0
  66. package/dist/math.js +216 -0
  67. package/dist/periodic-table/PeriodicTable.svelte +284 -0
  68. package/dist/periodic-table/PeriodicTable.svelte.d.ts +50 -0
  69. package/dist/periodic-table/PropertySelect.svelte +20 -0
  70. package/dist/periodic-table/PropertySelect.svelte.d.ts +13 -0
  71. package/dist/periodic-table/TableInset.svelte +18 -0
  72. package/dist/periodic-table/TableInset.svelte.d.ts +9 -0
  73. package/dist/periodic-table/index.d.ts +9 -0
  74. package/dist/periodic-table/index.js +3 -0
  75. package/dist/plot/ColorBar.svelte +414 -0
  76. package/dist/plot/ColorBar.svelte.d.ts +22 -0
  77. package/dist/plot/ColorScaleSelect.svelte +31 -0
  78. package/dist/plot/ColorScaleSelect.svelte.d.ts +15 -0
  79. package/dist/plot/ElementScatter.svelte +38 -0
  80. package/dist/plot/ElementScatter.svelte.d.ts +14 -0
  81. package/dist/plot/Line.svelte +42 -0
  82. package/dist/plot/Line.svelte.d.ts +15 -0
  83. package/dist/plot/PlotLegend.svelte +206 -0
  84. package/dist/plot/PlotLegend.svelte.d.ts +18 -0
  85. package/dist/plot/ScatterPlot.svelte +1753 -0
  86. package/dist/plot/ScatterPlot.svelte.d.ts +114 -0
  87. package/dist/plot/ScatterPlotControls.svelte +505 -0
  88. package/dist/plot/ScatterPlotControls.svelte.d.ts +33 -0
  89. package/dist/plot/ScatterPoint.svelte +72 -0
  90. package/dist/plot/ScatterPoint.svelte.d.ts +17 -0
  91. package/dist/plot/index.d.ts +168 -0
  92. package/dist/plot/index.js +46 -0
  93. package/dist/state.svelte.d.ts +12 -0
  94. package/dist/state.svelte.js +11 -0
  95. package/dist/structure/Bond.svelte +68 -0
  96. package/dist/structure/Bond.svelte.d.ts +13 -0
  97. package/dist/structure/Lattice.svelte +115 -0
  98. package/dist/structure/Lattice.svelte.d.ts +15 -0
  99. package/dist/structure/Structure.svelte +298 -0
  100. package/dist/structure/Structure.svelte.d.ts +28 -0
  101. package/dist/structure/StructureCard.svelte +26 -0
  102. package/dist/structure/StructureCard.svelte.d.ts +9 -0
  103. package/dist/structure/StructureControls.svelte +383 -0
  104. package/dist/structure/StructureControls.svelte.d.ts +23 -0
  105. package/dist/structure/StructureLegend.svelte +130 -0
  106. package/dist/structure/StructureLegend.svelte.d.ts +17 -0
  107. package/dist/structure/StructureScene.svelte +331 -0
  108. package/dist/structure/StructureScene.svelte.d.ts +47 -0
  109. package/dist/structure/bonding.d.ts +16 -0
  110. package/dist/structure/bonding.js +150 -0
  111. package/dist/structure/index.d.ts +98 -0
  112. package/dist/structure/index.js +114 -0
  113. package/dist/structure/pbc.d.ts +6 -0
  114. package/dist/structure/pbc.js +72 -0
  115. package/dist/trajectory/Sidebar.svelte +412 -0
  116. package/dist/trajectory/Sidebar.svelte.d.ts +14 -0
  117. package/dist/trajectory/Trajectory.svelte +1084 -0
  118. package/dist/trajectory/Trajectory.svelte.d.ts +49 -0
  119. package/dist/trajectory/TrajectoryError.svelte +120 -0
  120. package/dist/trajectory/TrajectoryError.svelte.d.ts +12 -0
  121. package/dist/trajectory/extract.d.ts +5 -0
  122. package/dist/trajectory/extract.js +157 -0
  123. package/dist/trajectory/index.d.ts +16 -0
  124. package/dist/trajectory/index.js +49 -0
  125. package/dist/trajectory/parse.d.ts +13 -0
  126. package/dist/trajectory/parse.js +1093 -0
  127. package/dist/trajectory/plotting.d.ts +12 -0
  128. package/dist/trajectory/plotting.js +148 -0
  129. package/license +21 -0
  130. package/package.json +131 -0
  131. package/readme.md +95 -0
@@ -0,0 +1,111 @@
1
+ {
2
+ "Ac": [112, 171, 250],
3
+ "Ag": [108, 96, 208],
4
+ "Al": [102, 211, 188],
5
+ "Am": [84, 92, 242],
6
+ "Ar": [207, 254, 196],
7
+ "As": [116, 208, 87],
8
+ "At": [117, 79, 69],
9
+ "Au": [131, 143, 93],
10
+ "B": [31, 162, 15],
11
+ "Ba": [0, 150, 255],
12
+ "Be": [255, 0, 255],
13
+ "Bh": [224, 0, 56],
14
+ "Bi": [0, 255, 121],
15
+ "Bk": [138, 79, 227],
16
+ "Br": [126, 49, 2],
17
+ "C": [76, 76, 76],
18
+ "Ca": [255, 255, 255],
19
+ "Cd": [255, 217, 143],
20
+ "Ce": [255, 255, 199],
21
+ "Cf": [161, 54, 212],
22
+ "Cl": [49, 252, 2],
23
+ "Cm": [120, 92, 227],
24
+ "Co": [0, 255, 121],
25
+ "Cr": [197, 163, 255],
26
+ "Cs": [255, 0, 0],
27
+ "Cu": [129, 0, 255],
28
+ "Db": [209, 0, 79],
29
+ "Dy": [31, 255, 199],
30
+ "Er": [0, 230, 117],
31
+ "Es": [179, 31, 212],
32
+ "Eu": [97, 255, 199],
33
+ "F": [176, 185, 230],
34
+ "Fe": [0, 151, 134],
35
+ "Fm": [179, 31, 186],
36
+ "Fr": [66, 0, 102],
37
+ "Ga": [255, 121, 143],
38
+ "Gd": [69, 255, 199],
39
+ "Ge": [126, 110, 166],
40
+ "H": [255, 204, 204],
41
+ "He": [252, 232, 206],
42
+ "Hf": [77, 194, 255],
43
+ "Hg": [184, 184, 208],
44
+ "Ho": [0, 255, 156],
45
+ "Hs": [230, 0, 46],
46
+ "I": [148, 0, 148],
47
+ "In": [131, 143, 93],
48
+ "Ir": [102, 211, 188],
49
+ "K": [0, 255, 0],
50
+ "Kr": [250, 193, 243],
51
+ "La": [90, 196, 73],
52
+ "Li": [0, 53, 0],
53
+ "Lr": [199, 0, 102],
54
+ "Lu": [0, 171, 36],
55
+ "Md": [179, 13, 166],
56
+ "Mg": [255, 255, 0],
57
+ "Mn": [0, 46, 133],
58
+ "Mo": [84, 181, 181],
59
+ "Mt": [235, 0, 38],
60
+ "N": [176, 185, 230],
61
+ "Na": [0, 41, 255],
62
+ "Nb": [134, 228, 15],
63
+ "Nd": [199, 255, 199],
64
+ "Ne": [254, 55, 181],
65
+ "Ni": [99, 0, 62],
66
+ "No": [189, 13, 135],
67
+ "Np": [0, 128, 255],
68
+ "O": [254, 3, 0],
69
+ "Os": [134, 228, 15],
70
+ "P": [192, 156, 194],
71
+ "Pa": [0, 161, 255],
72
+ "Pb": [0, 151, 134],
73
+ "Pd": [168, 74, 0],
74
+ "Pm": [163, 255, 199],
75
+ "Po": [171, 92, 0],
76
+ "Pr": [217, 255, 199],
77
+ "Pt": [255, 121, 143],
78
+ "Pu": [0, 107, 255],
79
+ "Ra": [0, 125, 0],
80
+ "Rb": [0, 255, 255],
81
+ "Re": [38, 125, 171],
82
+ "Rf": [204, 0, 89],
83
+ "Rh": [129, 0, 255],
84
+ "Rn": [66, 130, 150],
85
+ "Ru": [99, 0, 62],
86
+ "S": [255, 250, 0],
87
+ "Sb": [158, 99, 181],
88
+ "Sc": [207, 26, 128],
89
+ "Se": [154, 239, 15],
90
+ "Sg": [217, 0, 69],
91
+ "Si": [27, 59, 250],
92
+ "Sm": [143, 255, 199],
93
+ "Sn": [197, 163, 255],
94
+ "Sr": [38, 154, 0],
95
+ "Ta": [77, 166, 255],
96
+ "Tb": [48, 255, 199],
97
+ "Tc": [59, 158, 158],
98
+ "Te": [212, 122, 0],
99
+ "Th": [0, 186, 255],
100
+ "Ti": [216, 219, 127],
101
+ "Tl": [0, 46, 133],
102
+ "Tm": [0, 212, 82],
103
+ "U": [0, 143, 255],
104
+ "V": [255, 150, 0],
105
+ "W": [33, 148, 214],
106
+ "Xe": [66, 158, 176],
107
+ "Y": [148, 255, 255],
108
+ "Yb": [0, 191, 56],
109
+ "Zn": [168, 74, 0],
110
+ "Zr": [108, 96, 208]
111
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "H": [255, 220, 220],
3
+ "He": [180, 200, 255],
4
+ "Li": [255, 180, 255],
5
+ "Be": [180, 255, 180],
6
+ "B": [255, 200, 150],
7
+ "C": [200, 200, 200],
8
+ "N": [120, 180, 255],
9
+ "O": [255, 100, 100],
10
+ "F": [100, 255, 100],
11
+ "Ne": [255, 150, 255],
12
+ "Na": [255, 255, 100],
13
+ "Mg": [150, 255, 150],
14
+ "Al": [180, 200, 255],
15
+ "Si": [255, 180, 100],
16
+ "P": [255, 150, 200],
17
+ "S": [255, 255, 150],
18
+ "Cl": [100, 255, 150],
19
+ "Ar": [200, 200, 255],
20
+ "K": [255, 100, 255],
21
+ "Ca": [150, 255, 200],
22
+ "Sc": [255, 200, 255],
23
+ "Ti": [100, 200, 255],
24
+ "V": [255, 120, 120],
25
+ "Cr": [120, 255, 120],
26
+ "Mn": [255, 120, 255],
27
+ "Fe": [255, 180, 80],
28
+ "Co": [80, 150, 255],
29
+ "Ni": [200, 255, 200],
30
+ "Cu": [255, 150, 80],
31
+ "Zn": [180, 180, 255],
32
+ "Ga": [200, 255, 150],
33
+ "Ge": [200, 180, 255],
34
+ "As": [150, 255, 100],
35
+ "Se": [255, 255, 100],
36
+ "Br": [255, 120, 80],
37
+ "Kr": [255, 180, 255],
38
+ "Rb": [255, 80, 255],
39
+ "Sr": [100, 255, 100],
40
+ "Y": [180, 255, 255],
41
+ "Zr": [120, 255, 200],
42
+ "Nb": [150, 200, 255],
43
+ "Mo": [100, 200, 200],
44
+ "Tc": [120, 200, 200],
45
+ "Ru": [100, 180, 255],
46
+ "Rh": [80, 200, 255],
47
+ "Pd": [200, 200, 255],
48
+ "Ag": [255, 255, 255],
49
+ "Cd": [255, 255, 150],
50
+ "In": [200, 180, 255],
51
+ "Sn": [180, 180, 255],
52
+ "Sb": [255, 150, 255],
53
+ "Te": [255, 200, 100],
54
+ "I": [255, 100, 255],
55
+ "Xe": [150, 200, 255],
56
+ "Cs": [255, 100, 200],
57
+ "Ba": [100, 255, 150],
58
+ "La": [150, 255, 150],
59
+ "Ce": [255, 255, 200],
60
+ "Pr": [200, 255, 180],
61
+ "Nd": [180, 255, 180],
62
+ "Pm": [160, 255, 180],
63
+ "Sm": [150, 255, 180],
64
+ "Eu": [140, 255, 180],
65
+ "Gd": [130, 255, 180],
66
+ "Tb": [120, 255, 180],
67
+ "Dy": [110, 255, 180],
68
+ "Ho": [100, 255, 160],
69
+ "Er": [90, 255, 150],
70
+ "Tm": [80, 255, 140],
71
+ "Yb": [70, 255, 130],
72
+ "Lu": [60, 255, 120],
73
+ "Hf": [120, 180, 255],
74
+ "Ta": [110, 170, 255],
75
+ "W": [100, 160, 255],
76
+ "Re": [90, 170, 255],
77
+ "Os": [80, 160, 255],
78
+ "Ir": [70, 150, 255],
79
+ "Pt": [220, 220, 255],
80
+ "Au": [255, 220, 100],
81
+ "Hg": [200, 200, 255],
82
+ "Tl": [255, 180, 180],
83
+ "Pb": [180, 180, 200],
84
+ "Bi": [255, 150, 255],
85
+ "Po": [255, 200, 150],
86
+ "At": [255, 150, 150],
87
+ "Rn": [180, 200, 255],
88
+ "Fr": [255, 120, 200],
89
+ "Ra": [120, 255, 120],
90
+ "Ac": [150, 200, 255],
91
+ "Th": [130, 190, 255],
92
+ "Pa": [120, 180, 255],
93
+ "U": [110, 170, 255],
94
+ "Np": [100, 160, 255],
95
+ "Pu": [90, 150, 255],
96
+ "Am": [100, 140, 255],
97
+ "Cm": [150, 140, 255],
98
+ "Bk": [170, 140, 255],
99
+ "Cf": [190, 140, 255],
100
+ "Es": [210, 140, 255],
101
+ "Fm": [230, 140, 255],
102
+ "Md": [250, 140, 255],
103
+ "No": [255, 140, 230],
104
+ "Lr": [255, 140, 200],
105
+ "Rf": [255, 160, 180],
106
+ "Db": [255, 180, 160],
107
+ "Sg": [255, 200, 140],
108
+ "Bh": [255, 220, 120],
109
+ "Hs": [255, 240, 100],
110
+ "Mt": [255, 255, 80]
111
+ }
@@ -0,0 +1,26 @@
1
+ import * as d3_sc from 'd3-scale-chromatic';
2
+ import type { elem_symbols } from '../labels';
3
+ export type D3InterpolateName = keyof typeof d3_sc & `interpolate${string}`;
4
+ export type D3ColorSchemeName = D3InterpolateName extends `interpolate${infer Name}` ? Name : never;
5
+ export declare const default_category_colors: Record<string, string>;
6
+ export type RGBColor = [number, number, number];
7
+ export type ElementColorScheme = Record<(typeof elem_symbols)[number], RGBColor>;
8
+ export declare const vesta_hex: Record<string, string>;
9
+ export declare const jmol_hex: Record<string, string>;
10
+ export declare const alloy_hex: Record<string, string>;
11
+ export declare const pastel_hex: Record<string, string>;
12
+ export declare const muted_hex: Record<string, string>;
13
+ export declare const dark_mode_hex: Record<string, string>;
14
+ export declare const element_color_schemes: {
15
+ readonly Vesta: Record<string, string>;
16
+ readonly Jmol: Record<string, string>;
17
+ readonly Alloy: Record<string, string>;
18
+ readonly Pastel: Record<string, string>;
19
+ readonly Muted: Record<string, string>;
20
+ readonly 'Dark Mode': Record<string, string>;
21
+ };
22
+ export declare const default_element_colors: {
23
+ [x: string]: string;
24
+ };
25
+ export declare const is_color: (val: unknown) => val is string;
26
+ export declare const plot_colors: readonly ["#63b3ed", "#68d391", "#fbd38d", "#fc8181", "#d6bcfa", "#4fd1c7", "#f687b3", "#fed7d7", "#bee3f8", "#c6f6d5"];
@@ -0,0 +1,72 @@
1
+ import { rgb } from 'd3-color';
2
+ import * as d3_sc from 'd3-scale-chromatic';
3
+ import alloy_colors from './alloy-colors.json';
4
+ import dark_mode_colors from './dark-mode-colors.json';
5
+ import jmol_colors from './jmol-colors.json';
6
+ import muted_colors from './muted-colors.json';
7
+ import pastel_colors from './pastel-colors.json';
8
+ import vesta_colors from './vesta-colors.json';
9
+ // color values have to be in hex format since that's the only format
10
+ // <input type="color"> supports
11
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color#value
12
+ export const default_category_colors = {
13
+ 'diatomic-nonmetal': `#ff8c00`, // darkorange
14
+ 'noble-gas': `#9932cc`, // darkorchid
15
+ 'alkali-metal': `#006400`, // darkgreen
16
+ 'alkaline-earth-metal': `#483d8b`, // darkslateblue
17
+ metalloid: `#b8860b`, // darkgoldenrod
18
+ 'polyatomic-nonmetal': `#a52a2a`, // brown
19
+ 'transition-metal': `#571e6c`,
20
+ 'post-transition-metal': `#938d4a`,
21
+ lanthanide: `#58748e`,
22
+ actinide: `#6495ed`, // cornflowerblue
23
+ };
24
+ function rgb_scheme_to_hex(obj) {
25
+ const result = {};
26
+ for (const key in obj) {
27
+ if (Object.hasOwn(obj, key)) {
28
+ const val = obj[key];
29
+ if (val.length >= 3) {
30
+ result[key] = rgb(val[0], val[1], val[2]).formatHex();
31
+ }
32
+ }
33
+ }
34
+ return result;
35
+ }
36
+ export const vesta_hex = rgb_scheme_to_hex(vesta_colors);
37
+ export const jmol_hex = rgb_scheme_to_hex(jmol_colors);
38
+ export const alloy_hex = rgb_scheme_to_hex(alloy_colors);
39
+ export const pastel_hex = rgb_scheme_to_hex(pastel_colors);
40
+ export const muted_hex = rgb_scheme_to_hex(muted_colors);
41
+ export const dark_mode_hex = rgb_scheme_to_hex(dark_mode_colors);
42
+ export const element_color_schemes = {
43
+ Vesta: vesta_hex,
44
+ Jmol: jmol_hex,
45
+ Alloy: alloy_hex,
46
+ Pastel: pastel_hex,
47
+ Muted: muted_hex,
48
+ 'Dark Mode': dark_mode_hex,
49
+ };
50
+ export const default_element_colors = { ...vesta_hex };
51
+ // Helper function to detect if a value is a color string
52
+ export const is_color = (val) => {
53
+ if (typeof val !== `string`)
54
+ return false;
55
+ // Check for hex colors, rgb/rgba, hsl/hsla, color(), var(), and named colors
56
+ // Exclude incomplete function prefixes like 'rgb', 'hsl', 'var', 'color'
57
+ return /^(#[0-9a-f]{3,8}|rgba?\([^)]+\)|hsla?\([^)]+\)|color\([^)]+\)|var\([^)]+\)|(?!rgb$|hsl$|var$|color$)[a-z]+)$/i
58
+ .test(val.toString().trim());
59
+ };
60
+ // Color series for e.g. line plots
61
+ export const plot_colors = [
62
+ `#63b3ed`,
63
+ `#68d391`,
64
+ `#fbd38d`,
65
+ `#fc8181`,
66
+ `#d6bcfa`,
67
+ `#4fd1c7`,
68
+ `#f687b3`,
69
+ `#fed7d7`,
70
+ `#bee3f8`,
71
+ `#c6f6d5`,
72
+ ];
@@ -0,0 +1,111 @@
1
+ {
2
+ "H": [255, 255, 255],
3
+ "He": [217, 255, 255],
4
+ "Li": [204, 128, 255],
5
+ "Be": [194, 255, 0],
6
+ "B": [255, 181, 181],
7
+ "C": [144, 144, 144],
8
+ "N": [48, 80, 248],
9
+ "O": [255, 13, 13],
10
+ "F": [144, 224, 80],
11
+ "Ne": [179, 227, 245],
12
+ "Na": [171, 92, 242],
13
+ "Mg": [138, 255, 0],
14
+ "Al": [191, 166, 166],
15
+ "Si": [240, 200, 160],
16
+ "P": [255, 128, 0],
17
+ "S": [255, 255, 48],
18
+ "Cl": [31, 240, 31],
19
+ "Ar": [128, 209, 227],
20
+ "K": [143, 64, 212],
21
+ "Ca": [61, 255, 0],
22
+ "Sc": [230, 230, 230],
23
+ "Ti": [191, 194, 199],
24
+ "V": [166, 166, 171],
25
+ "Cr": [138, 153, 199],
26
+ "Mn": [156, 122, 199],
27
+ "Fe": [224, 102, 51],
28
+ "Co": [240, 144, 160],
29
+ "Ni": [80, 208, 80],
30
+ "Cu": [200, 128, 51],
31
+ "Zn": [125, 128, 176],
32
+ "Ga": [194, 143, 143],
33
+ "Ge": [102, 143, 143],
34
+ "As": [189, 128, 227],
35
+ "Se": [255, 161, 0],
36
+ "Br": [166, 41, 41],
37
+ "Kr": [92, 184, 209],
38
+ "Rb": [112, 46, 176],
39
+ "Sr": [0, 255, 0],
40
+ "Y": [148, 255, 255],
41
+ "Zr": [148, 224, 224],
42
+ "Nb": [115, 194, 201],
43
+ "Mo": [84, 181, 181],
44
+ "Tc": [59, 158, 158],
45
+ "Ru": [36, 143, 143],
46
+ "Rh": [10, 125, 140],
47
+ "Pd": [0, 105, 133],
48
+ "Ag": [192, 192, 192],
49
+ "Cd": [255, 217, 143],
50
+ "In": [166, 117, 115],
51
+ "Sn": [102, 128, 128],
52
+ "Sb": [158, 99, 181],
53
+ "Te": [212, 122, 0],
54
+ "I": [148, 0, 148],
55
+ "Xe": [66, 158, 176],
56
+ "Cs": [87, 23, 143],
57
+ "Ba": [0, 201, 0],
58
+ "La": [112, 212, 255],
59
+ "Ce": [255, 255, 199],
60
+ "Pr": [217, 255, 199],
61
+ "Nd": [199, 255, 199],
62
+ "Pm": [163, 255, 199],
63
+ "Sm": [143, 255, 199],
64
+ "Eu": [97, 255, 199],
65
+ "Gd": [69, 255, 199],
66
+ "Tb": [48, 255, 199],
67
+ "Dy": [31, 255, 199],
68
+ "Ho": [0, 255, 156],
69
+ "Er": [0, 230, 117],
70
+ "Tm": [0, 212, 82],
71
+ "Yb": [0, 191, 56],
72
+ "Lu": [0, 171, 36],
73
+ "Hf": [77, 194, 255],
74
+ "Ta": [77, 166, 255],
75
+ "W": [33, 148, 214],
76
+ "Re": [38, 125, 171],
77
+ "Os": [38, 102, 150],
78
+ "Ir": [23, 84, 135],
79
+ "Pt": [208, 208, 224],
80
+ "Au": [255, 209, 35],
81
+ "Hg": [184, 184, 208],
82
+ "Tl": [166, 84, 77],
83
+ "Pb": [87, 89, 97],
84
+ "Bi": [158, 79, 181],
85
+ "Po": [171, 92, 0],
86
+ "At": [117, 79, 69],
87
+ "Rn": [66, 130, 150],
88
+ "Fr": [66, 0, 102],
89
+ "Ra": [0, 125, 0],
90
+ "Ac": [112, 171, 250],
91
+ "Th": [0, 186, 255],
92
+ "Pa": [0, 161, 255],
93
+ "U": [0, 143, 255],
94
+ "Np": [0, 128, 255],
95
+ "Pu": [0, 107, 255],
96
+ "Am": [84, 92, 242],
97
+ "Cm": [120, 92, 227],
98
+ "Bk": [138, 79, 227],
99
+ "Cf": [161, 54, 212],
100
+ "Es": [179, 31, 212],
101
+ "Fm": [179, 31, 186],
102
+ "Md": [179, 13, 166],
103
+ "No": [189, 13, 135],
104
+ "Lr": [199, 0, 102],
105
+ "Rf": [204, 0, 89],
106
+ "Db": [209, 0, 79],
107
+ "Sg": [217, 0, 69],
108
+ "Bh": [224, 0, 56],
109
+ "Hs": [230, 0, 46],
110
+ "Mt": [235, 0, 38]
111
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "H": [235, 200, 200],
3
+ "He": [220, 220, 230],
4
+ "Li": [200, 210, 180],
5
+ "Be": [180, 200, 190],
6
+ "B": [200, 180, 170],
7
+ "C": [120, 120, 120],
8
+ "N": [160, 180, 200],
9
+ "O": [220, 160, 160],
10
+ "F": [180, 210, 180],
11
+ "Ne": [210, 190, 220],
12
+ "Na": [220, 200, 140],
13
+ "Mg": [190, 210, 170],
14
+ "Al": [180, 190, 200],
15
+ "Si": [170, 180, 190],
16
+ "P": [200, 170, 180],
17
+ "S": [220, 210, 140],
18
+ "Cl": [170, 200, 170],
19
+ "Ar": [200, 210, 190],
20
+ "K": [190, 170, 210],
21
+ "Ca": [180, 190, 180],
22
+ "Sc": [190, 180, 190],
23
+ "Ti": [170, 180, 200],
24
+ "V": [200, 170, 170],
25
+ "Cr": [160, 180, 160],
26
+ "Mn": [180, 160, 180],
27
+ "Fe": [180, 150, 120],
28
+ "Co": [150, 170, 190],
29
+ "Ni": [170, 180, 170],
30
+ "Cu": [180, 140, 120],
31
+ "Zn": [160, 170, 160],
32
+ "Ga": [180, 190, 170],
33
+ "Ge": [170, 170, 180],
34
+ "As": [170, 190, 150],
35
+ "Se": [180, 200, 160],
36
+ "Br": [160, 130, 120],
37
+ "Kr": [200, 180, 200],
38
+ "Rb": [180, 160, 190],
39
+ "Sr": [160, 190, 160],
40
+ "Y": [180, 200, 200],
41
+ "Zr": [160, 190, 180],
42
+ "Nb": [170, 180, 190],
43
+ "Mo": [150, 170, 170],
44
+ "Tc": [160, 170, 170],
45
+ "Ru": [150, 160, 170],
46
+ "Rh": [140, 160, 170],
47
+ "Pd": [150, 160, 160],
48
+ "Ag": [180, 180, 180],
49
+ "Cd": [200, 190, 160],
50
+ "In": [170, 160, 160],
51
+ "Sn": [160, 160, 170],
52
+ "Sb": [170, 150, 170],
53
+ "Te": [190, 160, 140],
54
+ "I": [150, 130, 150],
55
+ "Xe": [160, 170, 180],
56
+ "Cs": [150, 140, 170],
57
+ "Ba": [140, 170, 140],
58
+ "La": [150, 170, 150],
59
+ "Ce": [190, 190, 170],
60
+ "Pr": [180, 190, 170],
61
+ "Nd": [170, 180, 170],
62
+ "Pm": [160, 170, 170],
63
+ "Sm": [160, 180, 170],
64
+ "Eu": [150, 170, 170],
65
+ "Gd": [150, 180, 170],
66
+ "Tb": [140, 170, 170],
67
+ "Dy": [140, 180, 170],
68
+ "Ho": [130, 170, 160],
69
+ "Er": [130, 160, 150],
70
+ "Tm": [120, 160, 140],
71
+ "Yb": [120, 150, 140],
72
+ "Lu": [110, 150, 130],
73
+ "Hf": [140, 160, 180],
74
+ "Ta": [140, 150, 180],
75
+ "W": [130, 140, 170],
76
+ "Re": [130, 150, 160],
77
+ "Os": [120, 140, 150],
78
+ "Ir": [110, 130, 140],
79
+ "Pt": [160, 160, 170],
80
+ "Au": [200, 180, 120],
81
+ "Hg": [170, 170, 180],
82
+ "Tl": [160, 140, 140],
83
+ "Pb": [140, 140, 150],
84
+ "Bi": [150, 130, 150],
85
+ "Po": [160, 140, 120],
86
+ "At": [140, 120, 120],
87
+ "Rn": [150, 160, 170],
88
+ "Fr": [140, 120, 150],
89
+ "Ra": [130, 150, 130],
90
+ "Ac": [140, 160, 180],
91
+ "Th": [130, 160, 180],
92
+ "Pa": [120, 150, 180],
93
+ "U": [120, 140, 180],
94
+ "Np": [110, 140, 180],
95
+ "Pu": [110, 130, 170],
96
+ "Am": [110, 130, 160],
97
+ "Cm": [120, 130, 160],
98
+ "Bk": [130, 130, 160],
99
+ "Cf": [140, 130, 160],
100
+ "Es": [150, 130, 160],
101
+ "Fm": [160, 130, 160],
102
+ "Md": [170, 130, 160],
103
+ "No": [180, 130, 150],
104
+ "Lr": [190, 130, 140],
105
+ "Rf": [190, 140, 140],
106
+ "Db": [190, 150, 140],
107
+ "Sg": [190, 160, 140],
108
+ "Bh": [190, 170, 140],
109
+ "Hs": [190, 180, 140],
110
+ "Mt": [190, 190, 140]
111
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "H": [255, 204, 204],
3
+ "He": [224, 255, 255],
4
+ "Li": [255, 182, 193],
5
+ "Be": [210, 245, 210],
6
+ "B": [255, 223, 186],
7
+ "C": [200, 200, 200],
8
+ "N": [173, 216, 230],
9
+ "O": [255, 179, 179],
10
+ "F": [180, 238, 180],
11
+ "Ne": [255, 210, 230],
12
+ "Na": [255, 235, 150],
13
+ "Mg": [190, 250, 190],
14
+ "Al": [211, 211, 211],
15
+ "Si": [240, 230, 140],
16
+ "P": [255, 190, 120],
17
+ "S": [255, 255, 180],
18
+ "Cl": [150, 245, 150],
19
+ "Ar": [230, 230, 250],
20
+ "K": [255, 180, 220],
21
+ "Ca": [160, 240, 160],
22
+ "Sc": [220, 220, 180],
23
+ "Ti": [190, 210, 220],
24
+ "V": [255, 200, 200],
25
+ "Cr": [180, 220, 180],
26
+ "Mn": [230, 200, 230],
27
+ "Fe": [220, 180, 140],
28
+ "Co": [200, 200, 255],
29
+ "Ni": [210, 225, 210],
30
+ "Cu": [255, 200, 170],
31
+ "Zn": [200, 220, 230],
32
+ "Ga": [255, 210, 210],
33
+ "Ge": [210, 210, 190],
34
+ "As": [220, 190, 220],
35
+ "Se": [180, 240, 210],
36
+ "Br": [255, 190, 190],
37
+ "Kr": [240, 220, 255],
38
+ "Rb": [255, 170, 210],
39
+ "Sr": [170, 255, 170],
40
+ "Y": [210, 255, 225],
41
+ "Zr": [190, 230, 230],
42
+ "Nb": [225, 225, 190],
43
+ "Mo": [200, 230, 200],
44
+ "Tc": [230, 210, 230],
45
+ "Ru": [215, 215, 240],
46
+ "Rh": [240, 215, 215],
47
+ "Pd": [220, 220, 220],
48
+ "Ag": [230, 230, 230],
49
+ "Cd": [255, 240, 200],
50
+ "In": [200, 210, 220],
51
+ "Sn": [210, 210, 210],
52
+ "Sb": [220, 200, 210],
53
+ "Te": [190, 240, 190],
54
+ "I": [240, 190, 240],
55
+ "Xe": [210, 240, 255],
56
+ "Cs": [255, 160, 200],
57
+ "Ba": [150, 255, 150],
58
+ "La": [190, 255, 210],
59
+ "Ce": [255, 255, 220],
60
+ "Pr": [210, 255, 210],
61
+ "Nd": [220, 255, 220],
62
+ "Pm": [185, 255, 220],
63
+ "Sm": [175, 255, 220],
64
+ "Eu": [165, 255, 220],
65
+ "Gd": [155, 255, 220],
66
+ "Tb": [145, 255, 220],
67
+ "Dy": [135, 255, 220],
68
+ "Ho": [125, 255, 200],
69
+ "Er": [115, 245, 200],
70
+ "Tm": [105, 235, 180],
71
+ "Yb": [95, 225, 160],
72
+ "Lu": [85, 215, 140],
73
+ "Hf": [180, 220, 255],
74
+ "Ta": [170, 210, 255],
75
+ "W": [160, 200, 255],
76
+ "Re": [150, 190, 245],
77
+ "Os": [140, 180, 235],
78
+ "Ir": [130, 170, 225],
79
+ "Pt": [220, 220, 230],
80
+ "Au": [255, 240, 180],
81
+ "Hg": [230, 230, 240],
82
+ "Tl": [240, 200, 200],
83
+ "Pb": [200, 200, 200],
84
+ "Bi": [210, 180, 210],
85
+ "Po": [220, 200, 160],
86
+ "At": [200, 160, 160],
87
+ "Rn": [210, 230, 245],
88
+ "Fr": [255, 150, 180],
89
+ "Ra": [140, 255, 140],
90
+ "Ac": [170, 200, 255],
91
+ "Th": [160, 210, 255],
92
+ "Pa": [150, 200, 255],
93
+ "U": [140, 190, 255],
94
+ "Np": [130, 180, 255],
95
+ "Pu": [120, 170, 255],
96
+ "Am": [110, 160, 245],
97
+ "Cm": [180, 160, 235],
98
+ "Bk": [190, 170, 245],
99
+ "Cf": [200, 180, 255],
100
+ "Es": [210, 190, 255],
101
+ "Fm": [220, 200, 255],
102
+ "Md": [230, 210, 255],
103
+ "No": [240, 220, 255],
104
+ "Lr": [250, 200, 200],
105
+ "Rf": [255, 190, 190],
106
+ "Db": [255, 200, 180],
107
+ "Sg": [255, 210, 170],
108
+ "Bh": [255, 220, 160],
109
+ "Hs": [255, 230, 150],
110
+ "Mt": [255, 240, 140]
111
+ }