periodic-table-cli
Version:
An interactive Periodic Table of Elements app for the console!
119 lines (116 loc) • 22.6 kB
JavaScript
const PERIODIC_TABLE_SMALL = '\n' +
' 1 18 \n' +
' ╔═══╗ THE PERIODIC TABLE OF ELEMENTS ╔═══╗\n' +
' 1 ║ 1 ║ ║ 2 ║\n' +
' ║ H ║ 2 13 14 15 16 17 ║ He║\n' +
' ╠═══╬═══╗ ╔═══╦═══╦═══╦═══╦═══╬═══╣\n' +
' 2 ║ 3 ║ 4 ║ ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║\n' +
' ║ Li║ Be║ ║ B ║ C ║ N ║ O ║ F ║ Ne║\n' +
' ╠═══╬═══╣ ╠═══╬═══╬═══╬═══╬═══╬═══╣\n' +
' 3 ║11 ║12 ║ ║13 ║14 ║15 ║16 ║17 ║18 ║\n' +
' ║ Na║ Mg║ 3 4 5 6 7 8 9 10 11 12 ║ Al║ Si║ P ║ S ║ Cl║ Ar║\n' +
' ╠═══╬═══╬═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╬═══╬═══╬═══╬═══╬═══╬═══╣\n' +
' 4 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║\n' +
' ║ K ║ Ca║ Sc║ Ti║ V ║ Cr║ Mn║ Fe║ Co║ Ni║ Cu║ Zn║ Ga║ Ge║ As║ Se║ Br║ Kr║\n' +
' ╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣\n' +
' 5 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║54 ║\n' +
' ║ Rb║ Sr║ Y ║ Zr║ Nb║ Mo║ Tc║ Ru║ Rh║ Pd║ Ag║ Cd║ In║ Sn║ Sb║ Te║ I ║ Xe║\n' +
' ╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣\n' +
' 6 ║55 ║56 ╟─┬─╢72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║81 ║82 ║83 ║84 ║85 ║86 ║\n' +
' ║ Cs║ Ba║ │ ║ Hf║ Ta║ W ║ Re║ Os║ Ir║ Pt║ Au║ Hg║ Tl║ Pb║ Bi║ Po║ At║ Rn║\n' +
' ╠═══╬═══╣ │ ╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣\n' +
' 7 ║87 ║88 ╠═╪═╣104║105║106║107║108║109║110║111║112║113║114║115║116║117║118║\n' +
' ║ Fr║ Ra║ │ ║ Rf║ Db║ Sg║ Bh║ Hs║ Mt║ Ds║ Rg║ Cn║ Nh║ Fl║ Mc║ Lv║ Ts║ Og║\n' +
' ╚═══╩═══╝ │ ╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝\n' +
' ┌───┘ \n' +
' │ ╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗ \n' +
' ├─╢57 ║58 ║59 ║60 ║61 ║62 ║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║ \n' +
' │ ║ La║ Ce║ Pr║ Nd║ Pm║ Sm║ Eu║ Gd║ Tb║ Dy║ Ho║ Er║ Tm║ Yb║ Lu║ \n' +
' │ ╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣ \n' +
' ╘═╣89 ║90 ║91 ║92 ║93 ║94 ║95 ║96 ║97 ║98 ║99 ║100║101║102║103║ \n' +
' ║ Ac║ Th║ Pa║ U ║ Np║ Pu║ Am║ Cm║ Bk║ Cf║ Es║ Fm║ Md║ No║ Lr║ \n' +
' ╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝ \n';
const PERIODIC_TABLE = '\n' +
' 1 18 \n' +
' ╔═════╗ THE PERIODIC TABLE OF ELEMENTS ╔═════╗ \n' +
' 1 ║ 1 ║ ║ 2 ║ \n' +
' ║ H ║ 2 13 14 15 16 17 ║ He ║ \n' +
' ╠═════╬═════╗ ╔═════╦═════╦═════╦═════╦═════╬═════╣ \n' +
' 2 ║ 3 ║ 4 ║ ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║ 10 ║ \n' +
' ║ Li ║ Be ║ ║ B ║ C ║ N ║ O ║ F ║ Ne ║ \n' +
' ╠═════╬═════╣ ╠═════╬═════╬═════╬═════╬═════╬═════╣ \n' +
' 3 ║ 11 ║ 12 ║ ║ 13 ║ 14 ║ 15 ║ 16 ║ 17 ║ 18 ║ \n' +
' ║ Na ║ Mg ║ 3 4 5 6 7 8 9 10 11 12 ║ Al ║ Si ║ P ║ S ║ Cl ║ Ar ║ \n' +
' ╠═════╬═════╬═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╬═════╬═════╬═════╬═════╬═════╬═════╣ \n' +
' 4 ║ 19 ║ 20 ║ 21 ║ 22 ║ 23 ║ 24 ║ 25 ║ 26 ║ 27 ║ 28 ║ 29 ║ 30 ║ 31 ║ 32 ║ 33 ║ 34 ║ 35 ║ 36 ║ \n' +
' ║ K ║ Ca ║ Sc ║ Ti ║ V ║ Cr ║ Mn ║ Fe ║ Co ║ Ni ║ Cu ║ Zn ║ Ga ║ Ge ║ As ║ Se ║ Br ║ Kr ║ \n' +
' ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ \n' +
' 5 ║ 37 ║ 38 ║ 39 ║ 40 ║ 41 ║ 42 ║ 43 ║ 44 ║ 45 ║ 46 ║ 47 ║ 48 ║ 49 ║ 50 ║ 51 ║ 52 ║ 53 ║ 54 ║ \n' +
' ║ Rb ║ Sr ║ Y ║ Zr ║ Nb ║ Mo ║ Tc ║ Ru ║ Rh ║ Pd ║ Ag ║ Cd ║ In ║ Sn ║ Sb ║ Te ║ I ║ Xe ║ \n' +
' ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ \n' +
' 6 ║ 55 ║ 56 ╟──┬──╢ 72 ║ 73 ║ 74 ║ 75 ║ 76 ║ 77 ║ 78 ║ 79 ║ 80 ║ 81 ║ 82 ║ 83 ║ 84 ║ 85 ║ 86 ║ \n' +
' ║ Cs ║ Ba ║ │ ║ Hf ║ Ta ║ W ║ Re ║ Os ║ Ir ║ Pt ║ Au ║ Hg ║ Tl ║ Pb ║ Bi ║ Po ║ At ║ Rn ║ \n' +
' ╠═════╬═════╣ │ ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ \n' +
' 7 ║ 87 ║ 88 ╠══╪══╣ 104 ║ 105 ║ 106 ║ 107 ║ 108 ║ 109 ║ 110 ║ 111 ║ 112 ║ 113 ║ 114 ║ 115 ║ 116 ║ 117 ║ 118 ║ \n' +
' ║ Fr ║ Ra ║ │ ║ Rf ║ Db ║ Sg ║ Bh ║ Hs ║ Mt ║ Ds ║ Rg ║ Cn ║ Nh ║ Fl ║ Mc ║ Lv ║ Ts ║ Og ║ \n' +
' ╚═════╩═════╝ │ ╚═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╝ \n' +
' ┌────┘ \n' +
' │ ╔═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╗ \n' +
' ├─╢ 57 ║ 58 ║ 59 ║ 60 ║ 61 ║ 62 ║ 63 ║ 64 ║ 65 ║ 66 ║ 67 ║ 68 ║ 69 ║ 70 ║ 71 ║ \n' +
' │ ║ La ║ Ce ║ Pr ║ Nd ║ Pm ║ Sm ║ Eu ║ Gd ║ Tb ║ Dy ║ Ho ║ Er ║ Tm ║ Yb ║ Lu ║ \n' +
' │ ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ \n' +
' ╘═╣ 89 ║ 90 ║ 91 ║ 92 ║ 93 ║ 94 ║ 95 ║ 96 ║ 97 ║ 98 ║ 99 ║ 100 ║ 101 ║ 102 ║ 103 ║ \n' +
' ║ Ac ║ Th ║ Pa ║ U ║ Np ║ Pu ║ Am ║ Cm ║ Bk ║ Cf ║ Es ║ Fm ║ Md ║ No ║ Lr ║ \n' +
' ╚═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╝ \n';
const DASHBOARD =
' \n' +
' 1 18 \n' +
' ╔═════╗ THE PERIODIC TABLE OF ELEMENTS ╔═════╗ ┌──────────────────────────────────────┐ \n' +
' 1 ║ ║ ║ ║ │ │ \n' +
' ║ ║ 2 13 14 15 16 17 ║ ║ ╞══════════════════════════════════════╡ \n' +
' ╠═════╬═════╗ ╔═════╦═════╦═════╦═════╦═════╬═════╣ │ │ \n' +
' 2 ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ╠═════╬═════╣ ╠═════╬═════╬═════╬═════╬═════╬═════╣ │ │ \n' +
' 3 ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ║ ║ ║ 3 4 5 6 7 8 9 10 11 12 ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ╠═════╬═════╬═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╬═════╬═════╬═════╬═════╬═════╬═════╣ │ │ \n' +
' 4 ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ │ │ \n' +
' 5 ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ │ │ \n' +
' 6 ║ ║ ╟──┬──╢ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ║ ║ ║ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ╠═════╬═════╣ │ ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ │ │ \n' +
' 7 ║ ║ ╠══╪══╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ║ ║ ║ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ╚═════╩═════╝ │ ╚═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╝ │ │ \n' +
' ┌────┘ │ │ \n' +
' │ ╔═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╦═════╗ │ │ \n' +
' ├─╢ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' │ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' │ ╠═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╬═════╣ │ │ \n' +
' ╘═╣ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │ \n' +
' ╚═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╩═════╝ └──────────────────────────────────────┘ \n' +
' \n' +
' \n' +
' ELEMENT FAMILIES DISPLAY MODE \n' +
' ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐ ┌──────────────────────────────────────┐ \n' +
' │ │ │ │ \n' +
' │ │ └──────────────────────────────────────┘ \n' +
' │ │ \n' +
' └───────────────────────────────────────────────────────────────────────────────────────────────────────────┘ CONTROLS \n' +
' Navigation: Use Arrows \n' +
' ELECTRON CONFIGURATIONS Toggle Display Mode: </> (slash) or \n' +
' ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐ <\\> (backslash) \n' +
' │ │ Search: Query with Letters / Numbers \n' +
' └───────────────────────────────────────────────────────────────────────────────────────────────────────────┘ Quit: <ESC> or <CTRL+C> \n' +
' ';
module.exports = {
table_small: PERIODIC_TABLE_SMALL,
table: PERIODIC_TABLE,
dashboard: DASHBOARD,
};