react-cheminfo 0.42.0 → 0.43.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 (66) hide show
  1. package/bin/check-deploy.mjs +3 -1
  2. package/lib/deploy/core/buildGate.d.ts.map +1 -1
  3. package/lib/deploy/core/buildGate.js +4 -34
  4. package/lib/deploy/core/buildGate.js.map +1 -1
  5. package/lib/deploy/core/checkDeploy.d.ts.map +1 -1
  6. package/lib/deploy/core/checkDeploy.js +2 -0
  7. package/lib/deploy/core/checkDeploy.js.map +1 -1
  8. package/lib/deploy/core/index.d.ts +1 -0
  9. package/lib/deploy/core/index.d.ts.map +1 -1
  10. package/lib/deploy/core/index.js +1 -0
  11. package/lib/deploy/core/index.js.map +1 -1
  12. package/lib/deploy/core/json.d.ts +27 -0
  13. package/lib/deploy/core/json.d.ts.map +1 -0
  14. package/lib/deploy/core/json.js +56 -0
  15. package/lib/deploy/core/json.js.map +1 -0
  16. package/lib/deploy/core/reactCopies.d.ts +32 -0
  17. package/lib/deploy/core/reactCopies.d.ts.map +1 -0
  18. package/lib/deploy/core/reactCopies.js +212 -0
  19. package/lib/deploy/core/reactCopies.js.map +1 -0
  20. package/lib/deploy/core/types.d.ts +1 -1
  21. package/lib/deploy/core/types.d.ts.map +1 -1
  22. package/lib/deploy/core/types.js.map +1 -1
  23. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  24. package/lib/ecosystem/core/sites.js +12 -0
  25. package/lib/ecosystem/core/sites.js.map +1 -1
  26. package/lib/ecosystem/core/types.d.ts +1 -1
  27. package/lib/ecosystem/core/types.d.ts.map +1 -1
  28. package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
  29. package/lib/ecosystem/ui/glyphs.js +4 -0
  30. package/lib/ecosystem/ui/glyphs.js.map +1 -1
  31. package/lib/periodic/ui/ElementCell.d.ts +22 -2
  32. package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
  33. package/lib/periodic/ui/ElementCell.js +20 -145
  34. package/lib/periodic/ui/ElementCell.js.map +1 -1
  35. package/lib/periodic/ui/PeriodicTable.d.ts +7 -0
  36. package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
  37. package/lib/periodic/ui/PeriodicTable.js +21 -3
  38. package/lib/periodic/ui/PeriodicTable.js.map +1 -1
  39. package/lib/periodic/ui/cellStyles.d.ts +79 -0
  40. package/lib/periodic/ui/cellStyles.d.ts.map +1 -0
  41. package/lib/periodic/ui/cellStyles.js +90 -0
  42. package/lib/periodic/ui/cellStyles.js.map +1 -0
  43. package/lib/periodic/ui/cellType.d.ts +106 -0
  44. package/lib/periodic/ui/cellType.d.ts.map +1 -0
  45. package/lib/periodic/ui/cellType.js +181 -0
  46. package/lib/periodic/ui/cellType.js.map +1 -0
  47. package/lib/periodic/ui/glyphWidths.d.ts +11 -0
  48. package/lib/periodic/ui/glyphWidths.d.ts.map +1 -0
  49. package/lib/periodic/ui/glyphWidths.js +69 -0
  50. package/lib/periodic/ui/glyphWidths.js.map +1 -0
  51. package/package.json +9 -1
  52. package/src/deploy/core/buildGate.ts +4 -35
  53. package/src/deploy/core/checkDeploy.ts +7 -0
  54. package/src/deploy/core/index.ts +1 -0
  55. package/src/deploy/core/json.ts +53 -0
  56. package/src/deploy/core/reactCopies.ts +243 -0
  57. package/src/deploy/core/types.ts +5 -1
  58. package/src/ecosystem/core/sites.ts +13 -0
  59. package/src/ecosystem/core/types.ts +2 -1
  60. package/src/ecosystem/ui/glyphs.tsx +16 -0
  61. package/src/periodic/ui/ElementCell.tsx +69 -160
  62. package/src/periodic/ui/PeriodicTable.tsx +37 -2
  63. package/src/periodic/ui/cellStyles.ts +100 -0
  64. package/src/periodic/ui/cellType.ts +223 -0
  65. package/src/periodic/ui/glyphWidths.ts +68 -0
  66. package/styles/chrome.css +10 -2
@@ -1 +1 @@
1
- {"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/glyphs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,4DAA4D;AAC5D,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAuc7D,CAAC"}
1
+ {"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/glyphs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,4DAA4D;AAC5D,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAud7D,CAAC"}
@@ -81,5 +81,9 @@ export const GLYPHS = {
81
81
  // One cell of an ionic lattice, cations and anions alternating: the shape of
82
82
  // the compounds this site names. The ion being named carries the colour.
83
83
  inorganic: (alt) => (_jsxs(_Fragment, { children: [_jsx("path", { d: "M9.5 9.5h13v13h-13Z", fill: "none", stroke: "#ffffff", strokeWidth: "1.6", opacity: "0.55" }), _jsxs("g", { fill: "#ffffff", children: [_jsx("circle", { cx: "9.5", cy: "9.5", r: "4.3" }), _jsx("circle", { cx: "22.5", cy: "9.5", r: "2.7" }), _jsx("circle", { cx: "9.5", cy: "22.5", r: "2.7" })] }), _jsx("circle", { cx: "22.5", cy: "22.5", r: "4.3", fill: alt })] })),
84
+ // A slide on its stand, with a ring standing on it: the slide is the
85
+ // presentation and the ring is the live tool put on it, so the ring carries
86
+ // the answering colour.
87
+ powerpoint: (alt) => (_jsxs(_Fragment, { children: [_jsx("rect", { x: "4.5", y: "6.5", width: "23", height: "14.5", rx: "1.6", fill: "#ffffff" }), _jsx("path", { d: "M16 21v5M11.5 26.5h9", fill: "none", stroke: "#ffffff", strokeWidth: "2.2", strokeLinecap: "round" }), _jsx("path", { d: "M16 8.45 20.59 11.1V16.4L16 19.05 11.41 16.4V11.1Z", fill: alt })] })),
84
88
  };
85
89
  //# sourceMappingURL=glyphs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/glyphs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/glyphs.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * One cell of the periodic table: the atomic number, the symbol, and whatever
3
- * the tool asked to be written under it.
2
+ * One cell of the periodic table: the atomic number, the symbol, whatever the
3
+ * tool asked to be written under it, and — when the tool asks for them — the
4
+ * electrons of each shell down the right-hand edge.
4
5
  *
5
6
  * A cell is a real `<button>`, so Tab reaches it, Enter and Space activate it,
6
7
  * and a screen reader reads the element's name rather than its symbol.
@@ -11,6 +12,7 @@
11
12
  */
12
13
  import type { ReactElement } from 'react';
13
14
  import type { Swatch } from '../../color/core/interpolate.ts';
15
+ import type { DetailType } from './cellType.ts';
14
16
  /** What {@link ElementCell} needs to draw one element. */
15
17
  export interface ElementCellProps {
16
18
  /** Atomic number, written small in the corner. */
@@ -32,6 +34,24 @@ export interface ElementCellProps {
32
34
  * @default '' — nothing is written
33
35
  */
34
36
  detail?: string;
37
+ /**
38
+ * The size that line is written at, from {@link detailType}, so a whole
39
+ * table writes it at one size rather than each cell at its own.
40
+ * @default the largest size this cell's own line fits at
41
+ */
42
+ detailType?: DetailType;
43
+ /**
44
+ * Electrons in each shell, innermost first, written down the right-hand
45
+ * edge.
46
+ * @default undefined — nothing is written there
47
+ */
48
+ shells?: readonly number[];
49
+ /**
50
+ * The size they are written at, so the deepest stack in the table fits its
51
+ * cell and every other is written to match.
52
+ * @default the size this cell's own stack fits at
53
+ */
54
+ shellSize?: string;
35
55
  /**
36
56
  * Whether the cell is the one the tools are pointed at.
37
57
  * @default false
@@ -1 +1 @@
1
- {"version":3,"file":"ElementCell.d.ts","sourceRoot":"","sources":["../../../src/periodic/ui/ElementCell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAK9D,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CA6EjE"}
1
+ {"version":3,"file":"ElementCell.d.ts","sourceRoot":"","sources":["../../../src/periodic/ui/ElementCell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAY9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAahD,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAqGjE"}
@@ -1,16 +1,22 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { useChromeT } from "../../i18n/ui/useT.js";
4
- import { UNIT, ofWidth } from "./unit.js";
4
+ import { SHELLS_AIR, SHELLS_COLUMN, cellStyle, detailStyle, numberStyle, shellsStyle, symbolStyle, } from "./cellStyles.js";
5
+ import { SHELLS_RESERVED, SYMBOL_CAP, condensedScale, detailType, scaleX, shellFontSize, symbolFontSize, textWidthInEm, } from "./cellType.js";
6
+ import { ofWidth } from "./unit.js";
5
7
  /**
6
8
  * A single element of the table.
7
9
  * @param props - See {@link ElementCellProps}.
8
10
  * @returns The cell.
9
11
  */
10
12
  export function ElementCell(props) {
11
- const { className, atomicNumber, symbol, name, swatch, column, row, onSelect, detail = '', isSelected = false, isIncluded = true, onHover, } = props;
13
+ const { className, atomicNumber, symbol, name, swatch, column, row, onSelect, detail = '', shells, isSelected = false, isIncluded = true, onHover, } = props;
12
14
  const t = useChromeT();
13
15
  const [isHovered, setIsHovered] = useState(false);
16
+ const detailWidth = textWidthInEm(detail);
17
+ const reserved = shells === undefined ? 0 : SHELLS_RESERVED;
18
+ const type = props.detailType ?? detailType([detailWidth], reserved);
19
+ const shellSize = props.shellSize ?? shellFontSize(shells?.length ?? 0);
14
20
  return (_jsxs("button", { type: "button", className: className, "data-testid": `element-${symbol}`, "data-symbol": symbol, title: detail === '' ? name : `${name} · ${detail}`, "aria-label": t('periodic.cellLabel', {
15
21
  name,
16
22
  symbol,
@@ -27,6 +33,10 @@ export function ElementCell(props) {
27
33
  ...cellStyle,
28
34
  gridColumn: column,
29
35
  gridRow: row,
36
+ // The electrons stand in a column of their own, so the symbol keeps
37
+ // the left of the cell rather than being pushed off its centre.
38
+ gridTemplateColumns: shells === undefined ? '1fr' : `1fr ${SHELLS_COLUMN}`,
39
+ columnGap: shells === undefined ? undefined : SHELLS_AIR,
30
40
  background: swatch.background,
31
41
  color: swatch.foreground,
32
42
  opacity: isIncluded ? 1 : 0.28,
@@ -42,148 +52,13 @@ export function ElementCell(props) {
42
52
  filter: isHovered ? 'brightness(1.08)' : undefined,
43
53
  }, children: [_jsx("span", { style: numberStyle, children: atomicNumber }), _jsx("span", { style: {
44
54
  ...symbolStyle,
45
- fontSize: symbolFontSize(symbol),
46
- }, children: symbol }), detail === '' ? null : (_jsx("span", { style: { ...detailStyle, fontSize: detailFontSize(detail) }, children: detail }))] }));
55
+ fontSize: symbolFontSize(symbol, SYMBOL_CAP, reserved),
56
+ }, children: symbol }), detail === '' ? null : (_jsx("span", { style: {
57
+ ...detailStyle,
58
+ fontSize: type.size,
59
+ // Condensed rather than written smaller, so every cell of the
60
+ // table says its name and its value in one type.
61
+ transform: scaleX(condensedScale(detailWidth, type, reserved)),
62
+ }, children: detail })), shells === undefined ? null : (_jsx("span", { style: { ...shellsStyle, fontSize: shellSize }, children: shells.join('\n') }))] }));
47
63
  }
48
- /**
49
- * The size the symbol is written at.
50
- *
51
- * Every symbol is written at the same size, except the widest of them — the
52
- * ones whose second letter is an `m` — which are written a tenth smaller
53
- * rather than run into the edges of their cell.
54
- * @param symbol - The chemical symbol.
55
- * @returns A CSS length.
56
- */
57
- function symbolFontSize(symbol) {
58
- return fitted(symbolWidthInEm(symbol), SYMBOL_CAP, '0.5rem');
59
- }
60
- /**
61
- * The size the third line takes so the whole of it is written.
62
- *
63
- * A value cut short by an ellipsis is a wrong value — `0.0899` read as `0.0…`
64
- * is worse than not writing it at all — so a long string is written smaller
65
- * rather than trimmed.
66
- * @param detail - What the third line says.
67
- * @returns A CSS length.
68
- */
69
- function detailFontSize(detail) {
70
- return fitted(detailWidthInEm(detail), DETAIL_CAP, '0.25rem');
71
- }
72
- /**
73
- * The largest size a string of the given width fits its cell at.
74
- *
75
- * The room a cell leaves is a share of the table's width less its border and
76
- * its padding, which are the same few pixels at every size — hence the two
77
- * units in one expression.
78
- * @param widthInEm - How wide the string is, in ems of its own size.
79
- * @param cap - The size it is written at when it has room to spare.
80
- * @param floor - The size under which it is not shrunk any further.
81
- * @returns A CSS length.
82
- */
83
- function fitted(widthInEm, cap, floor) {
84
- const room = `calc((${UNIT} * ${String(CELL_SHARE)} - ${CELL_CHROME}) / ${widthInEm.toFixed(2)})`;
85
- return `max(${floor}, min(${cap}, ${room}))`;
86
- }
87
- /**
88
- * How wide a symbol is, in ems of its own size.
89
- * @param symbol - The chemical symbol.
90
- * @returns Its width, never zero.
91
- */
92
- function symbolWidthInEm(symbol) {
93
- let width = 0;
94
- for (const character of symbol) {
95
- if (character === 'm' || character === 'w') {
96
- width += 0.95;
97
- }
98
- else if (character >= 'a' && character <= 'z') {
99
- width += 0.63;
100
- }
101
- else {
102
- width += 0.85;
103
- }
104
- }
105
- return Math.max(width, 0.85);
106
- }
107
- /**
108
- * How wide the third line is, in ems of its own size.
109
- *
110
- * It is written with tabular figures, where every glyph — the decimal point
111
- * and the minus of an exponent included — advances the same width, so counting
112
- * the characters is the measurement.
113
- * @param detail - What the third line says.
114
- * @returns Its width, never zero.
115
- */
116
- function detailWidthInEm(detail) {
117
- return Math.max(detail.length, 1) * TABULAR_EM;
118
- }
119
- /** What one tabular glyph advances, as a share of its own size. */
120
- const TABULAR_EM = 0.6;
121
- /** The size the symbol is written at wherever it fits, as a share of the table. */
122
- const SYMBOL_CAP = ofWidth(2.4);
123
- /**
124
- * The tallest the third line is ever written, as a share of the table.
125
- *
126
- * Close to two thirds of the symbol: the symbol is how a cell is found, but
127
- * the value is what the table is being read for, and a value half the size of
128
- * the symbol is the one thing on the cell a class cannot make out.
129
- */
130
- const DETAIL_CAP = ofWidth(1.6);
131
- /**
132
- * The band at each end of a cell: the atomic number at the top, whatever the
133
- * tool writes at the bottom.
134
- *
135
- * They are one length, not two, and that is what makes the symbol between them
136
- * sit at the centre of the cell rather than near it — a bottom band wider than
137
- * the top one by a third lifted every symbol in the table two pixels.
138
- */
139
- const EDGE_BAND = ofWidth(1.8);
140
- /** How wide one column is, in per cent of the table's width. */
141
- const CELL_SHARE = 4.85;
142
- /** What the border and the padding of a cell take off that width. */
143
- const CELL_CHROME = '4px';
144
- /**
145
- * A cell is three bands of its own, and every cell has all three.
146
- *
147
- * The atomic number is in the top band, against its left edge; the symbol is
148
- * centred in the middle one; whatever the tool writes is centred in the
149
- * bottom one. The bands keep their height whether or not anything is written
150
- * in the last of them, so a number sits at one height across the whole table
151
- * and a symbol at one other — before this, both rode on a stack the cell
152
- * centred and moved whenever a neighbour's value was written smaller.
153
- */
154
- const cellStyle = {
155
- border: '1px solid rgb(255 255 255 / 0.55)',
156
- borderRadius: 3,
157
- cursor: 'pointer',
158
- display: 'grid',
159
- font: 'inherit',
160
- gridTemplateRows: `${EDGE_BAND} 1fr ${EDGE_BAND}`,
161
- justifyItems: 'center',
162
- minWidth: 0,
163
- overflow: 'hidden',
164
- padding: '1px',
165
- transition: 'opacity 120ms ease, filter 120ms ease',
166
- };
167
- const numberStyle = {
168
- alignSelf: 'start',
169
- fontSize: `max(0.33rem, ${ofWidth(1.1)})`,
170
- fontVariantNumeric: 'tabular-nums',
171
- justifySelf: 'start',
172
- lineHeight: 1,
173
- opacity: 0.8,
174
- };
175
- const symbolStyle = {
176
- alignSelf: 'center',
177
- fontWeight: 700,
178
- letterSpacing: '-0.02em',
179
- lineHeight: 1.02,
180
- };
181
- const detailStyle = {
182
- alignSelf: 'center',
183
- fontVariantNumeric: 'tabular-nums',
184
- lineHeight: 1,
185
- maxWidth: '100%',
186
- overflow: 'hidden',
187
- whiteSpace: 'nowrap',
188
- };
189
64
  //# sourceMappingURL=ElementCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementCell.js","sourceRoot":"","sources":["../../../src/periodic/ui/ElementCell.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8C1C;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,GAAG,EACH,QAAQ,EACR,MAAM,GAAG,EAAE,EACX,UAAU,GAAG,KAAK,EAClB,UAAU,GAAG,IAAI,EACjB,OAAO,GACR,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,SAAS,iBACP,WAAW,MAAM,EAAE,iBACnB,MAAM,EACnB,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,MAAM,EAAE,gBACvC,CAAC,CAAC,oBAAoB,EAAE;YAClC,IAAI;YACJ,MAAM;YACN,YAAY;SACb,CAAC,kBACY,UAAU,EACxB,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,EACD,cAAc,EAAE,GAAG,EAAE;YACnB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,EACD,cAAc,EAAE,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,EACD,KAAK,EAAE;YACL,GAAG,SAAS;YACZ,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC9B,qEAAqE;YACrE,0DAA0D;YAC1D,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC3C,YAAY,EAAE,MAAM,CAAC,UAAU;YAC/B,oEAAoE;YACpE,2CAA2C;YAC3C,YAAY,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,GAAG;YACzC,aAAa,EAAE,aAAa,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG;YAC5C,qEAAqE;YACrE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;SACnD,aAED,eAAM,KAAK,EAAE,WAAW,YAAG,YAAY,GAAQ,EAC/C,eACE,KAAK,EAAE;oBACL,GAAG,WAAW;oBACd,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC;iBACjC,YAEA,MAAM,GACF,EACN,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,eAAM,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,YAC9D,MAAM,GACF,CACR,IACM,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,MAAM,CAAC,SAAiB,EAAE,GAAW,EAAE,KAAa;IAC3D,MAAM,IAAI,GAAG,SAAS,IAAI,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAClG,OAAO,OAAO,KAAK,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC3C,KAAK,IAAI,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;YAChD,KAAK,IAAI,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC;AACjD,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,mFAAmF;AACnF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE/B,gEAAgE;AAChE,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,qEAAqE;AACrE,MAAM,WAAW,GAAG,KAAK,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,mCAAmC;IAC3C,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,SAAS;IACf,gBAAgB,EAAE,GAAG,SAAS,QAAQ,SAAS,EAAE;IACjD,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,uCAAuC;CACnB,CAAC;AAEnC,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG;IACzC,kBAAkB,EAAE,cAAc;IAClC,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,GAAG;CACoB,CAAC;AAEnC,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,IAAI;CACgB,CAAC;AAEnC,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,QAAQ;IACnB,kBAAkB,EAAE,cAAc;IAClC,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;CACY,CAAC"}
1
+ {"version":3,"file":"ElementCell.js","sourceRoot":"","sources":["../../../src/periodic/ui/ElementCell.tsx"],"names":[],"mappings":"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"}
@@ -42,6 +42,13 @@ export interface PeriodicTableProps {
42
42
  * @default the English name
43
43
  */
44
44
  nameOf?: (element: PeriodicElement) => string;
45
+ /**
46
+ * Electrons in each shell of an element, innermost first, written down the
47
+ * right-hand edge of its cell. The energy levels, which a table is also read
48
+ * for: none of ours knows them, so the tool that does says so here.
49
+ * @default undefined — no cell writes any
50
+ */
51
+ shellsOf?: (element: PeriodicElement) => readonly number[] | undefined;
45
52
  /**
46
53
  * Whether an element is inside the set the tool is showing. Everything
47
54
  * outside it is dimmed rather than removed, so the table keeps its shape.
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodicTable.d.ts","sourceRoot":"","sources":["../../../src/periodic/ui/PeriodicTable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAGV,YAAY,EACZ,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAI9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBtD,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC;IAC9C;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC;IACnD;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,CAyFrE"}
1
+ {"version":3,"file":"PeriodicTable.d.ts","sourceRoot":"","sources":["../../../src/periodic/ui/PeriodicTable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAGV,YAAY,EACZ,SAAS,EACV,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAI9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuBtD,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACvE;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC;IACnD;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,CA8GrE"}
@@ -7,6 +7,7 @@ import { COLUMN_COUNT, EMPTY_BLOCK, elementByArrowKey, placedElements, } from ".
7
7
  import { CategoryLegend } from "./CategoryLegend.js";
8
8
  import { ElementCell } from "./ElementCell.js";
9
9
  import { HeaderStrips, InnerTransitionMarkers, } from "./PeriodicTableChrome.js";
10
+ import { ROW_SHARE, SHELLS_RESERVED, detailType, shellFontSize, textWidthInEm, } from "./cellType.js";
10
11
  import { UNIT_PROPERTY, ofWidth, unitValue } from "./unit.js";
11
12
  /**
12
13
  * The 118 elements, laid out as the table.
@@ -14,7 +15,7 @@ import { UNIT_PROPERTY, ofWidth, unitValue } from "./unit.js";
14
15
  * @returns The grid, its optional chrome, and its optional legend.
15
16
  */
16
17
  export function PeriodicTable(props) {
17
- const { selected, onSelect, swatchOf = defaultSwatchOf, detailOf, nameOf = defaultNameOf, isIncluded, inset, headers = false, onSelectRange, legend = false, markers = true, keyboard = true, onHover, className, } = props;
18
+ const { selected, onSelect, swatchOf = defaultSwatchOf, detailOf, nameOf = defaultNameOf, shellsOf, isIncluded, inset, headers = false, onSelectRange, legend = false, markers = true, keyboard = true, onHover, className, } = props;
18
19
  const t = useChromeT();
19
20
  const rootRef = useRef(null);
20
21
  const gridRef = useRef(null);
@@ -49,7 +50,24 @@ export function PeriodicTable(props) {
49
50
  cameFromKeyRef.current = true;
50
51
  onSelect(next.symbol);
51
52
  }
52
- return (_jsxs("div", { ref: rootRef, className: className, style: rootStyle, children: [_jsxs("div", { ref: gridRef, role: "grid", "aria-label": t('periodic.table'), "data-testid": "periodic-table", style: gridStyle(headers), onKeyDown: handleKeyDown, children: [headers ? _jsx(HeaderStrips, { onSelectRange: onSelectRange }) : null, inset === undefined ? null : (_jsx("div", { style: insetStyle(offset), children: inset })), markers ? _jsx(InnerTransitionMarkers, { offset: offset }) : null, placedElements().map(({ element, cell }) => (_jsx(ElementCell, { atomicNumber: element.atomicNumber, symbol: element.symbol, name: nameOf(element), detail: detailOf?.(element), swatch: swatchOf(element), isSelected: element.symbol === selected, isIncluded: isIncluded?.(element), column: cell.column + offset, row: cell.row + offset, onSelect: onSelect ?? noop, onHover: onHover }, element.symbol)))] }), legend ? _jsx(CategoryLegend, {}) : null] }));
53
+ // One size for the whole table rather than one per cell: a column of values
54
+ // written at eleven sizes is read as eleven things, and a name shrunk to a
55
+ // third of its neighbour's is the one a class cannot make out. The size is
56
+ // what the widest of them fits at, and anything wider than that is condensed
57
+ // by the cell rather than written smaller still.
58
+ const placed = placedElements();
59
+ const widths = [];
60
+ let deepest = 0;
61
+ for (const { element } of placed) {
62
+ widths.push(textWidthInEm(detailOf?.(element) ?? ''));
63
+ const stack = shellsOf?.(element);
64
+ if (stack !== undefined && stack.length > deepest)
65
+ deepest = stack.length;
66
+ }
67
+ const reserved = deepest === 0 ? 0 : SHELLS_RESERVED;
68
+ const type = detailType(widths, reserved);
69
+ const shellSize = shellFontSize(deepest);
70
+ return (_jsxs("div", { ref: rootRef, className: className, style: rootStyle, children: [_jsxs("div", { ref: gridRef, role: "grid", "aria-label": t('periodic.table'), "data-testid": "periodic-table", style: gridStyle(headers), onKeyDown: handleKeyDown, children: [headers ? _jsx(HeaderStrips, { onSelectRange: onSelectRange }) : null, inset === undefined ? null : (_jsx("div", { style: insetStyle(offset), children: inset })), markers ? _jsx(InnerTransitionMarkers, { offset: offset }) : null, placed.map(({ element, cell }) => (_jsx(ElementCell, { atomicNumber: element.atomicNumber, symbol: element.symbol, name: nameOf(element), detail: detailOf?.(element), detailType: type, shells: shellsOf?.(element), shellSize: shellSize, swatch: swatchOf(element), isSelected: element.symbol === selected, isIncluded: isIncluded?.(element), column: cell.column + offset, row: cell.row + offset, onSelect: onSelect ?? noop, onHover: onHover }, element.symbol)))] }), legend ? _jsx(CategoryLegend, {}) : null] }));
53
71
  }
54
72
  /**
55
73
  * Where what the caller writes in the empty block is placed.
@@ -95,7 +113,7 @@ const MIN_WIDTH = 280;
95
113
  * table: a cell keeps the band it writes a value in whether or not that table
96
114
  * writes one.
97
115
  */
98
- const ROW_HEIGHT = ofWidth(6.8);
116
+ const ROW_HEIGHT = ofWidth(ROW_SHARE);
99
117
  /** The band the two inner-transition series were lifted out across. */
100
118
  const SERIES_GAP = `max(6px, ${ofWidth(1.1)})`;
101
119
  const rootStyle = {
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodicTable.js","sourceRoot":"","sources":["../../../src/periodic/ui/PeriodicTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeriodicTable.js","sourceRoot":"","sources":["../../../src/periodic/ui/PeriodicTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * The three bands a cell is laid out as, and the column the electrons stand in.
3
+ *
4
+ * Kept beside the cell rather than inside it, because what they say — where the
5
+ * atomic number sits, how tall a band is — is read far more often than the
6
+ * markup that carries them.
7
+ */
8
+ /** The column the electron counts stand in, as a CSS length. */
9
+ export declare const SHELLS_COLUMN: string;
10
+ /** The air between the symbol and that column, as a CSS length. */
11
+ export declare const SHELLS_AIR: string;
12
+ /**
13
+ * A cell is three bands of its own, and every cell has all three.
14
+ *
15
+ * The atomic number is in the top band, against its left edge; the symbol is
16
+ * centred in the middle one; whatever the tool writes is centred in the
17
+ * bottom one. The bands keep their height whether or not anything is written
18
+ * in the last of them, so a number sits at one height across the whole table
19
+ * and a symbol at one other — before this, both rode on a stack the cell
20
+ * centred and moved whenever a neighbour's value was written smaller.
21
+ */
22
+ export declare const cellStyle: {
23
+ readonly border: "1px solid rgb(255 255 255 / 0.55)";
24
+ readonly borderRadius: 3;
25
+ readonly cursor: "pointer";
26
+ readonly display: "grid";
27
+ readonly font: "inherit";
28
+ readonly gridTemplateRows: `${string} 1fr ${string}`;
29
+ readonly justifyItems: "center";
30
+ readonly minWidth: 0;
31
+ readonly overflow: "hidden";
32
+ readonly padding: "1px";
33
+ readonly transition: "opacity 120ms ease, filter 120ms ease";
34
+ };
35
+ export declare const numberStyle: {
36
+ readonly alignSelf: "start";
37
+ readonly gridColumn: 1;
38
+ readonly gridRow: 1;
39
+ readonly fontSize: `max(0.33rem, ${string})`;
40
+ readonly fontVariantNumeric: "tabular-nums";
41
+ readonly justifySelf: "start";
42
+ readonly lineHeight: 1;
43
+ readonly opacity: 0.8;
44
+ };
45
+ export declare const symbolStyle: {
46
+ readonly alignSelf: "center";
47
+ readonly gridColumn: 1;
48
+ readonly gridRow: 2;
49
+ readonly fontWeight: 700;
50
+ readonly letterSpacing: "-0.02em";
51
+ readonly lineHeight: 1.02;
52
+ };
53
+ export declare const detailStyle: {
54
+ readonly alignSelf: "center";
55
+ readonly gridColumn: 1;
56
+ readonly gridRow: 3;
57
+ readonly fontVariantNumeric: "tabular-nums";
58
+ readonly lineHeight: 1;
59
+ readonly overflow: "hidden";
60
+ readonly whiteSpace: "nowrap";
61
+ };
62
+ /**
63
+ * The electrons of each shell, innermost at the top, down the right-hand edge
64
+ * of the whole cell: the stack is as tall as the three bands together, which
65
+ * is what lets seven of them be read.
66
+ */
67
+ export declare const shellsStyle: {
68
+ readonly alignSelf: "center";
69
+ readonly gridColumn: 2;
70
+ readonly gridRow: "1 / span 3";
71
+ readonly fontVariantNumeric: "tabular-nums";
72
+ readonly justifySelf: "end";
73
+ readonly lineHeight: 1.2;
74
+ readonly opacity: 0.85;
75
+ readonly paddingInlineEnd: `max(0.5px, ${string})`;
76
+ readonly textAlign: "right";
77
+ readonly whiteSpace: "pre-line";
78
+ };
79
+ //# sourceMappingURL=cellStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellStyles.d.ts","sourceRoot":"","sources":["../../../src/periodic/ui/cellStyles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,gEAAgE;AAChE,eAAO,MAAM,aAAa,QAAwB,CAAC;AAEnD,mEAAmE;AACnE,eAAO,MAAM,UAAU,QAAsB,CAAC;AAY9C;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYY,CAAC;AAEnC,eAAO,MAAM,WAAW;;;;;;;;;CASU,CAAC;AAEnC,eAAO,MAAM,WAAW;;;;;;;CAOU,CAAC;AAEnC,eAAO,MAAM,WAAW;;;;;;;;CAQU,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;CAWU,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * The three bands a cell is laid out as, and the column the electrons stand in.
3
+ *
4
+ * Kept beside the cell rather than inside it, because what they say — where the
5
+ * atomic number sits, how tall a band is — is read far more often than the
6
+ * markup that carries them.
7
+ */
8
+ import { SHELLS_GAP, SHELLS_SHARE, SHELL_LEADING } from "./cellType.js";
9
+ import { ofWidth } from "./unit.js";
10
+ /** The column the electron counts stand in, as a CSS length. */
11
+ export const SHELLS_COLUMN = ofWidth(SHELLS_SHARE);
12
+ /** The air between the symbol and that column, as a CSS length. */
13
+ export const SHELLS_AIR = ofWidth(SHELLS_GAP);
14
+ /**
15
+ * The band at each end of a cell: the atomic number at the top, whatever the
16
+ * tool writes at the bottom.
17
+ *
18
+ * They are one length, not two, and that is what makes the symbol between them
19
+ * sit at the centre of the cell rather than near it — a bottom band wider than
20
+ * the top one by a third lifted every symbol in the table two pixels.
21
+ */
22
+ const EDGE_BAND = ofWidth(1.8);
23
+ /**
24
+ * A cell is three bands of its own, and every cell has all three.
25
+ *
26
+ * The atomic number is in the top band, against its left edge; the symbol is
27
+ * centred in the middle one; whatever the tool writes is centred in the
28
+ * bottom one. The bands keep their height whether or not anything is written
29
+ * in the last of them, so a number sits at one height across the whole table
30
+ * and a symbol at one other — before this, both rode on a stack the cell
31
+ * centred and moved whenever a neighbour's value was written smaller.
32
+ */
33
+ export const cellStyle = {
34
+ border: '1px solid rgb(255 255 255 / 0.55)',
35
+ borderRadius: 3,
36
+ cursor: 'pointer',
37
+ display: 'grid',
38
+ font: 'inherit',
39
+ gridTemplateRows: `${EDGE_BAND} 1fr ${EDGE_BAND}`,
40
+ justifyItems: 'center',
41
+ minWidth: 0,
42
+ overflow: 'hidden',
43
+ padding: '1px',
44
+ transition: 'opacity 120ms ease, filter 120ms ease',
45
+ };
46
+ export const numberStyle = {
47
+ alignSelf: 'start',
48
+ gridColumn: 1,
49
+ gridRow: 1,
50
+ fontSize: `max(0.33rem, ${ofWidth(1.1)})`,
51
+ fontVariantNumeric: 'tabular-nums',
52
+ justifySelf: 'start',
53
+ lineHeight: 1,
54
+ opacity: 0.8,
55
+ };
56
+ export const symbolStyle = {
57
+ alignSelf: 'center',
58
+ gridColumn: 1,
59
+ gridRow: 2,
60
+ fontWeight: 700,
61
+ letterSpacing: '-0.02em',
62
+ lineHeight: 1.02,
63
+ };
64
+ export const detailStyle = {
65
+ alignSelf: 'center',
66
+ gridColumn: 1,
67
+ gridRow: 3,
68
+ fontVariantNumeric: 'tabular-nums',
69
+ lineHeight: 1,
70
+ overflow: 'hidden',
71
+ whiteSpace: 'nowrap',
72
+ };
73
+ /**
74
+ * The electrons of each shell, innermost at the top, down the right-hand edge
75
+ * of the whole cell: the stack is as tall as the three bands together, which
76
+ * is what lets seven of them be read.
77
+ */
78
+ export const shellsStyle = {
79
+ alignSelf: 'center',
80
+ gridColumn: 2,
81
+ gridRow: '1 / span 3',
82
+ fontVariantNumeric: 'tabular-nums',
83
+ justifySelf: 'end',
84
+ lineHeight: SHELL_LEADING,
85
+ opacity: 0.85,
86
+ paddingInlineEnd: `max(0.5px, ${ofWidth(0.15)})`,
87
+ textAlign: 'right',
88
+ whiteSpace: 'pre-line',
89
+ };
90
+ //# sourceMappingURL=cellStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellStyles.js","sourceRoot":"","sources":["../../../src/periodic/ui/cellStyles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,gEAAgE;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEnD,mEAAmE;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE/B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,mCAAmC;IAC3C,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,SAAS;IACf,gBAAgB,EAAE,GAAG,SAAS,QAAQ,SAAS,EAAE;IACjD,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,uCAAuC;CACnB,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG;IACzC,kBAAkB,EAAE,cAAc;IAClC,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,GAAG;CACoB,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,IAAI;CACgB,CAAC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,kBAAkB,EAAE,cAAc;IAClC,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;CACY,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,YAAY;IACrB,kBAAkB,EAAE,cAAc;IAClC,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,cAAc,OAAO,CAAC,IAAI,CAAC,GAAG;IAChD,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,UAAU;CACU,CAAC"}