/
45case
/
ptable
Обзор
Документация
Войти
/
45case
/
ptable
Код
Запросы
3
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
dev
src/entities/electrons/model/elementBlocks.ts
134 строки
2 KB
Olya
feat: страница Электроны с блоками, орбиталями и боковой панелью
17 июл 2026, 17:38
17 июл 2026, 17:38
ef4d9c2
Код
Авторство
О чём код?
export type ElectronBlock = "s" | "p" | "d" | "f"; /** * Mapping Z → electronic block (s/p/d/f), as on ptable.com Blocks mode. * He is s-block (1s²); lanthanides & actinides are f-block. */ export const elementBlocks: Record<number, ElectronBlock> = { 1: "s", // H 2: "s", // He 3: "s", // Li 4: "s", // Be 5: "p", // B 6: "p", // C 7: "p", // N 8: "p", // O 9: "p", // F 10: "p", // Ne 11: "s", // Na 12: "s", // Mg 13: "p", // Al 14: "p", // Si 15: "p", // P 16: "p", // S 17: "p", // Cl 18: "p", // Ar 19: "s", // K 20: "s", // Ca 21: "d", // Sc 22: "d", // Ti 23: "d", // V 24: "d", // Cr 25: "d", // Mn 26: "d", // Fe 27: "d", // Co 28: "d", // Ni 29: "d", // Cu 30: "d", // Zn 31: "p", // Ga 32: "p", // Ge 33: "p", // As 34: "p", // Se 35: "p", // Br 36: "p", // Kr 37: "s", // Rb 38: "s", // Sr 39: "d", // Y 40: "d", // Zr 41: "d", // Nb 42: "d", // Mo 43: "d", // Tc 44: "d", // Ru 45: "d", // Rh 46: "d", // Pd 47: "d", // Ag 48: "d", // Cd 49: "p", // In 50: "p", // Sn 51: "p", // Sb 52: "p", // Te 53: "p", // I 54: "p", // Xe 55: "s", // Cs 56: "s", // Ba 57: "f", // La 58: "f", // Ce 59: "f", // Pr 60: "f", // Nd 61: "f", // Pm 62: "f", // Sm 63: "f", // Eu 64: "f", // Gd 65: "f", // Tb 66: "f", // Dy 67: "f", // Ho 68: "f", // Er 69: "f", // Tm 70: "f", // Yb 71: "f", // Lu 72: "d", // Hf 73: "d", // Ta 74: "d", // W 75: "d", // Re 76: "d", // Os 77: "d", // Ir 78: "d", // Pt 79: "d", // Au 80: "d", // Hg 81: "p", // Tl 82: "p", // Pb 83: "p", // Bi 84: "p", // Po 85: "p", // At 86: "p", // Rn 87: "s", // Fr 88: "s", // Ra 89: "f", // Ac 90: "f", // Th 91: "f", // Pa 92: "f", // U 93: "f", // Np 94: "f", // Pu 95: "f", // Am 96: "f", // Cm 97: "f", // Bk 98: "f", // Cf 99: "f", // Es 100: "f", // Fm 101: "f", // Md 102: "f", // No 103: "f", // Lr 104: "d", // Rf 105: "d", // Db 106: "d", // Sg 107: "d", // Bh 108: "d", // Hs 109: "d", // Mt 110: "d", // Ds 111: "d", // Rg 112: "d", // Cn 113: "p", // Nh 114: "p", // Fl 115: "p", // Mc 116: "p", // Lv 117: "p", // Ts 118: "p", // Og }; export function getElementBlock(atomicNumber: number): ElectronBlock { return elementBlocks[atomicNumber] ?? "p"; } export function formatBlockLabel(block: ElectronBlock): string { return `${block}-block`; }