react-cheminfo 0.74.0 → 0.76.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 (98) hide show
  1. package/lib/download/core/copySvg.d.ts +12 -0
  2. package/lib/download/core/copySvg.d.ts.map +1 -0
  3. package/lib/download/core/copySvg.js +38 -0
  4. package/lib/download/core/copySvg.js.map +1 -0
  5. package/lib/download/core/index.d.ts +1 -0
  6. package/lib/download/core/index.d.ts.map +1 -1
  7. package/lib/download/core/index.js +1 -0
  8. package/lib/download/core/index.js.map +1 -1
  9. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  10. package/lib/ecosystem/core/sites.js +26 -0
  11. package/lib/ecosystem/core/sites.js.map +1 -1
  12. package/lib/ecosystem/core/types.d.ts +1 -1
  13. package/lib/ecosystem/core/types.d.ts.map +1 -1
  14. package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
  15. package/lib/ecosystem/ui/glyphs.js +7 -0
  16. package/lib/ecosystem/ui/glyphs.js.map +1 -1
  17. package/lib/formula/core/elementRanges.d.ts +25 -0
  18. package/lib/formula/core/elementRanges.d.ts.map +1 -0
  19. package/lib/formula/core/elementRanges.js +35 -0
  20. package/lib/formula/core/elementRanges.js.map +1 -0
  21. package/lib/formula/core/formulaCandidates.d.ts +59 -0
  22. package/lib/formula/core/formulaCandidates.d.ts.map +1 -0
  23. package/lib/formula/core/formulaCandidates.js +50 -0
  24. package/lib/formula/core/formulaCandidates.js.map +1 -0
  25. package/lib/formula/core/index.d.ts +4 -0
  26. package/lib/formula/core/index.d.ts.map +1 -1
  27. package/lib/formula/core/index.js +2 -0
  28. package/lib/formula/core/index.js.map +1 -1
  29. package/lib/formula/ui/ElementRangeFields.d.ts +19 -0
  30. package/lib/formula/ui/ElementRangeFields.d.ts.map +1 -0
  31. package/lib/formula/ui/ElementRangeFields.js +23 -0
  32. package/lib/formula/ui/ElementRangeFields.js.map +1 -0
  33. package/lib/formula/ui/FormulaLookup.d.ts +47 -0
  34. package/lib/formula/ui/FormulaLookup.d.ts.map +1 -0
  35. package/lib/formula/ui/FormulaLookup.js +74 -0
  36. package/lib/formula/ui/FormulaLookup.js.map +1 -0
  37. package/lib/formula/ui/FormulaLookupResults.d.ts +20 -0
  38. package/lib/formula/ui/FormulaLookupResults.d.ts.map +1 -0
  39. package/lib/formula/ui/FormulaLookupResults.js +45 -0
  40. package/lib/formula/ui/FormulaLookupResults.js.map +1 -0
  41. package/lib/formula/ui/index.d.ts +2 -0
  42. package/lib/formula/ui/index.d.ts.map +1 -1
  43. package/lib/formula/ui/index.js +1 -0
  44. package/lib/formula/ui/index.js.map +1 -1
  45. package/lib/i18n/core/chromeCatalog.d.ts +1 -1
  46. package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
  47. package/lib/ir/core/bandAssignments.d.ts.map +1 -1
  48. package/lib/ir/core/bandAssignments.js +27 -0
  49. package/lib/ir/core/bandAssignments.js.map +1 -1
  50. package/lib/ir/ui/BandRow.d.ts +4 -4
  51. package/lib/ir/ui/BandRow.d.ts.map +1 -1
  52. package/lib/ir/ui/BandRow.js +41 -14
  53. package/lib/ir/ui/BandRow.js.map +1 -1
  54. package/lib/locales/de.json +18 -0
  55. package/lib/locales/en.json +18 -0
  56. package/lib/locales/es.json +18 -0
  57. package/lib/locales/fr.json +18 -0
  58. package/lib/locales/it.json +18 -0
  59. package/lib/structure/ui/CardStructure.d.ts +43 -0
  60. package/lib/structure/ui/CardStructure.d.ts.map +1 -0
  61. package/lib/structure/ui/CardStructure.js +28 -0
  62. package/lib/structure/ui/CardStructure.js.map +1 -0
  63. package/lib/structure/ui/StructurePicturePane.d.ts +1 -1
  64. package/lib/structure/ui/StructurePicturePane.d.ts.map +1 -1
  65. package/lib/structure/ui/StructurePicturePane.js +5 -2
  66. package/lib/structure/ui/StructurePicturePane.js.map +1 -1
  67. package/lib/structure/ui/index.d.ts +2 -0
  68. package/lib/structure/ui/index.d.ts.map +1 -1
  69. package/lib/structure/ui/index.js +1 -0
  70. package/lib/structure/ui/index.js.map +1 -1
  71. package/lib/structure/ui/useToolbarFloor.d.ts.map +1 -1
  72. package/lib/structure/ui/useToolbarFloor.js +20 -10
  73. package/lib/structure/ui/useToolbarFloor.js.map +1 -1
  74. package/package.json +4 -3
  75. package/src/download/core/copySvg.ts +40 -0
  76. package/src/download/core/index.ts +1 -0
  77. package/src/ecosystem/core/sites.ts +26 -0
  78. package/src/ecosystem/core/types.ts +3 -1
  79. package/src/ecosystem/ui/glyphs.tsx +46 -0
  80. package/src/formula/core/elementRanges.ts +44 -0
  81. package/src/formula/core/formulaCandidates.ts +109 -0
  82. package/src/formula/core/index.ts +15 -0
  83. package/src/formula/ui/ElementRangeFields.tsx +65 -0
  84. package/src/formula/ui/FormulaLookup.tsx +184 -0
  85. package/src/formula/ui/FormulaLookupResults.tsx +89 -0
  86. package/src/formula/ui/index.ts +2 -0
  87. package/src/ir/core/bandAssignments.ts +27 -0
  88. package/src/ir/ui/BandRow.tsx +84 -26
  89. package/src/locales/de.json +18 -0
  90. package/src/locales/en.json +18 -0
  91. package/src/locales/es.json +18 -0
  92. package/src/locales/fr.json +18 -0
  93. package/src/locales/it.json +18 -0
  94. package/src/structure/ui/CardStructure.tsx +76 -0
  95. package/src/structure/ui/StructurePicturePane.tsx +14 -1
  96. package/src/structure/ui/index.ts +2 -0
  97. package/src/structure/ui/useToolbarFloor.ts +19 -9
  98. package/styles/chrome.css +136 -3
@@ -0,0 +1,47 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { ElementRange } from '../core/elementRanges.ts';
3
+ /** What {@link FormulaLookup} opens on, and who owns the mass. */
4
+ export interface FormulaLookupProps {
5
+ /**
6
+ * The elements offered and the range each opens on, read when the panel
7
+ * mounts and again when it is reset. Each bound is then the reader's to tune.
8
+ * @default DEFAULT_ELEMENT_RANGES — C 1–30, H 1–30, O 0–6, N, S, F, Cl and Br 0–4
9
+ */
10
+ ranges?: readonly ElementRange[];
11
+ /**
12
+ * How many formulas are listed, closest first.
13
+ * @default FORMULA_LOOKUP_LIMIT — 100
14
+ */
15
+ limit?: number;
16
+ /**
17
+ * The mass in the box, in Da. With `onMassChange` the page owns it and the
18
+ * box shows this value; without, it is only the mass the box opens on.
19
+ * @default undefined — the box opens empty
20
+ */
21
+ mass?: number;
22
+ /**
23
+ * Called with every mass typed, and with `undefined` when the box is emptied
24
+ * or the panel reset. Passing it makes the mass the page's.
25
+ * @default undefined — the panel keeps the mass itself
26
+ */
27
+ onMassChange?: (mass: number | undefined) => void;
28
+ /**
29
+ * Class the panel carries, in addition to `formula-lookup`: where it sits —
30
+ * a column, a sticky rail, a shadow — is the page's.
31
+ * @default undefined
32
+ */
33
+ className?: string;
34
+ }
35
+ /**
36
+ * The molecular formulas that fit a monoisotopic mass: the reader types the
37
+ * mass of the neutral molecule, tunes how many atoms of each element a formula
38
+ * may hold, and reads the closest formulas with their distance in ppm. Each
39
+ * formula is copied by a click.
40
+ *
41
+ * The ranges belong to the question on screen, so a page showing several
42
+ * questions mounts the panel with a `key` per question.
43
+ * @param props - See {@link FormulaLookupProps}.
44
+ * @returns The panel.
45
+ */
46
+ export declare function FormulaLookup(props: FormulaLookupProps): ReactElement;
47
+ //# sourceMappingURL=FormulaLookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormulaLookup.d.ts","sourceRoot":"","sources":["../../../src/formula/ui/FormulaLookup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAW7D,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,CAqFrE"}
@@ -0,0 +1,74 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '@blueprintjs/core';
3
+ import { useCallback, useMemo, useState } from 'react';
4
+ import { useAsync } from "../../hooks/ui/useAsync.js";
5
+ import { useDebouncedValue } from "../../hooks/ui/useDebouncedValue.js";
6
+ import { useChromeT } from "../../i18n/ui/useT.js";
7
+ import { NumberInput } from "../../number/ui/NumberInput.js";
8
+ import { joinClassNames } from "../../shared/ui/joinClassNames.js";
9
+ import { DEFAULT_ELEMENT_RANGES } from "../core/elementRanges.js";
10
+ import { FORMULA_LOOKUP_LIMIT, findFormulaCandidates, } from "../core/formulaCandidates.js";
11
+ import { ElementRangeFields } from "./ElementRangeFields.js";
12
+ import { FormulaLookupResults } from "./FormulaLookupResults.js";
13
+ /**
14
+ * The molecular formulas that fit a monoisotopic mass: the reader types the
15
+ * mass of the neutral molecule, tunes how many atoms of each element a formula
16
+ * may hold, and reads the closest formulas with their distance in ppm. Each
17
+ * formula is copied by a click.
18
+ *
19
+ * The ranges belong to the question on screen, so a page showing several
20
+ * questions mounts the panel with a `key` per question.
21
+ * @param props - See {@link FormulaLookupProps}.
22
+ * @returns The panel.
23
+ */
24
+ export function FormulaLookup(props) {
25
+ const { ranges: openingRanges = DEFAULT_ELEMENT_RANGES, limit = FORMULA_LOOKUP_LIMIT, mass: massProp, onMassChange, className, } = props;
26
+ const t = useChromeT();
27
+ const [ownMass, setOwnMass] = useState(massProp);
28
+ const [ranges, setRanges] = useState(openingRanges);
29
+ const mass = onMassChange === undefined ? ownMass : massProp;
30
+ function changeMass(next) {
31
+ if (onMassChange === undefined)
32
+ setOwnMass(next);
33
+ else
34
+ onMassChange(next);
35
+ }
36
+ function changeRange(element, bound, value) {
37
+ setRanges((current) => current.map((range) => range.element === element ? { ...range, [bound]: value } : range));
38
+ }
39
+ function reset() {
40
+ changeMass(undefined);
41
+ setRanges(openingRanges);
42
+ }
43
+ const search = useMemo(() => ({ mass, ranges, limit }), [mass, ranges, limit]);
44
+ const settled = useDebouncedValue(search, SEARCH_DELAY_MS);
45
+ const task = useCallback(() => searchFormulas(settled), [settled]);
46
+ const answer = useAsync(task);
47
+ return (_jsxs("aside", { className: joinClassNames('formula-lookup', className), children: [_jsxs("div", { className: "formula-lookup__header", children: [_jsx("span", { children: t('formula.lookup.title') }), _jsx(Button, { size: "small", variant: "minimal", icon: "reset", className: "no-print", title: t('formula.lookup.reset'), "aria-label": t('formula.lookup.reset'), onClick: reset })] }), _jsxs("div", { className: "formula-lookup__body", children: [_jsxs("label", { className: "formula-lookup__field", children: [_jsx("span", { children: t('formula.lookup.mass') }), _jsx(NumberInput, { size: "small", buttons: false, fill: true, allowEmpty: true, min: 0, value: mass, placeholder: t('formula.lookup.massPlaceholder'), onChange: changeMass })] }), _jsx("span", { className: "formula-lookup__hint", children: t('formula.lookup.neutral') }), _jsx(ElementRangeFields, { ranges: ranges, onChange: changeRange })] }), _jsx(FormulaLookupResults, { mass: mass, answer: answer, waiting: settled !== search || answer.pending })] }));
48
+ }
49
+ /**
50
+ * How long the inputs stay still before the formulas are searched again: a
51
+ * mass is typed a digit at a time, and only the last one is worth a search.
52
+ */
53
+ const SEARCH_DELAY_MS = 250;
54
+ const NO_CANDIDATES = { candidates: [], total: 0 };
55
+ /**
56
+ * The formulas one search finds, or `null` when it gave up: ranges wide
57
+ * enough to exhaust the enumeration are the one way it fails.
58
+ * @param search - The mass, ranges and limit to search.
59
+ * @returns The formulas found.
60
+ */
61
+ async function searchFormulas(search) {
62
+ if (search.mass === undefined)
63
+ return NO_CANDIDATES;
64
+ try {
65
+ return await findFormulaCandidates(search.mass, {
66
+ ranges: search.ranges,
67
+ limit: search.limit,
68
+ });
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ //# sourceMappingURL=FormulaLookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormulaLookup.js","sourceRoot":"","sources":["../../../src/formula/ui/FormulaLookup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAiC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA4B,CAAC;AAmClE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EACJ,MAAM,EAAE,aAAa,GAAG,sBAAsB,EAC9C,KAAK,GAAG,oBAAoB,EAC5B,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,SAAS,GACV,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE7D,SAAS,UAAU,CAAC,IAAwB;QAC1C,IAAI,YAAY,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;;YAC5C,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,WAAW,CAClB,OAAe,EACf,KAAoB,EACpB,KAAa;QAEb,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CACpB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CACjE,CACF,CAAC;IACJ,CAAC;IAED,SAAS,KAAK;QACZ,UAAU,CAAC,SAAS,CAAC,CAAC;QACtB,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAC/B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CACtB,CAAC;IACF,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE9B,OAAO,CACL,iBAAO,SAAS,EAAE,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,aAC3D,eAAK,SAAS,EAAC,wBAAwB,aACrC,yBAAO,CAAC,CAAC,sBAAsB,CAAC,GAAQ,EACxC,KAAC,MAAM,IACL,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,CAAC,CAAC,sBAAsB,CAAC,gBACpB,CAAC,CAAC,sBAAsB,CAAC,EACrC,OAAO,EAAE,KAAK,GACd,IACE,EAEN,eAAK,SAAS,EAAC,sBAAsB,aACnC,iBAAO,SAAS,EAAC,uBAAuB,aACtC,yBAAO,CAAC,CAAC,qBAAqB,CAAC,GAAQ,EACvC,KAAC,WAAW,IACV,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,KAAK,EACd,IAAI,QACJ,UAAU,QACV,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,CAAC,CAAC,gCAAgC,CAAC,EAChD,QAAQ,EAAE,UAAU,GACpB,IACI,EACR,eAAM,SAAS,EAAC,sBAAsB,YACnC,CAAC,CAAC,wBAAwB,CAAC,GACvB,EACP,KAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAI,IACzD,EAEN,KAAC,oBAAoB,IACnB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,GAC7C,IACI,CACT,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,aAAa,GAAsB,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAQtE;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAC3B,MAAc;IAEd,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE;YAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { AsyncResult } from '../../hooks/ui/useAsync.ts';
3
+ import type { FormulaCandidates } from '../core/formulaCandidates.ts';
4
+ /** What {@link FormulaLookupResults} lists. */
5
+ export interface FormulaLookupResultsProps {
6
+ /** The mass in the box, `undefined` while it is empty. */
7
+ mass: number | undefined;
8
+ /** The latest search: its formulas, or `null` when it gave up. */
9
+ answer: AsyncResult<FormulaCandidates | null>;
10
+ /** Whether a newer search is still to come, so an empty answer is stale. */
11
+ waiting: boolean;
12
+ }
13
+ /**
14
+ * The formulas a lookup found, closest first, each with its distance in ppm
15
+ * and copied by a click; or the sentence saying why there are none.
16
+ * @param props - See {@link FormulaLookupResultsProps}.
17
+ * @returns The results.
18
+ */
19
+ export declare function FormulaLookupResults(props: FormulaLookupResultsProps): ReactElement;
20
+ //# sourceMappingURL=FormulaLookupResults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormulaLookupResults.d.ts","sourceRoot":"","sources":["../../../src/formula/ui/FormulaLookupResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAItE,+CAA+C;AAC/C,MAAM,WAAW,yBAAyB;IACxC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,kEAAkE;IAClE,MAAM,EAAE,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC9C,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,GAC/B,YAAY,CAqDd"}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { formatDecimal, formatInteger } from "../../format/core/numbers.js";
3
+ import { useChromeT } from "../../i18n/ui/useT.js";
4
+ import { CopyableFormula } from "./CopyableFormula.js";
5
+ /**
6
+ * The formulas a lookup found, closest first, each with its distance in ppm
7
+ * and copied by a click; or the sentence saying why there are none.
8
+ * @param props - See {@link FormulaLookupResultsProps}.
9
+ * @returns The results.
10
+ */
11
+ export function FormulaLookupResults(props) {
12
+ const { mass, answer, waiting } = props;
13
+ const t = useChromeT();
14
+ const found = answer.data;
15
+ if (mass === undefined)
16
+ return hintOnly(t('formula.lookup.typeMass'));
17
+ if (found === null)
18
+ return hintOnly(t('formula.lookup.tooWide'));
19
+ // A search still to come is not "nothing fits": the reader is mid-number.
20
+ if (found === undefined || (found.candidates.length === 0 && waiting)) {
21
+ return _jsx("div", { className: "formula-lookup__results" });
22
+ }
23
+ const { candidates, total } = found;
24
+ const count = formatInteger(candidates.length);
25
+ let heading = t('formula.lookup.countMany', { count });
26
+ if (candidates.length < total) {
27
+ heading = t('formula.lookup.closest', {
28
+ count,
29
+ total: formatInteger(total),
30
+ });
31
+ }
32
+ else if (candidates.length === 1) {
33
+ heading = t('formula.lookup.countOne', { count });
34
+ }
35
+ return (_jsxs("div", { className: "formula-lookup__results", children: [_jsx("span", { className: "formula-lookup__count", children: heading }), candidates.length === 0 ? (_jsx("span", { className: "formula-lookup__hint", children: t('formula.lookup.nothingFits') })) : (_jsx("ul", { className: "formula-lookup__list", children: candidates.map((candidate) => (_jsxs("li", { title: t('formula.lookup.detail', {
36
+ mass: formatDecimal(candidate.em, 4),
37
+ unsaturation: formatInteger(candidate.unsaturation),
38
+ }), children: [_jsx(CopyableFormula, { formula: candidate.mf }), _jsx("span", { className: "formula-lookup__ppm", children: t('formula.lookup.ppm', {
39
+ value: formatDecimal(candidate.ppm, 1),
40
+ }) })] }, candidate.mf))) }))] }));
41
+ }
42
+ function hintOnly(hint) {
43
+ return (_jsx("div", { className: "formula-lookup__results", children: _jsx("span", { className: "formula-lookup__hint", children: hint }) }));
44
+ }
45
+ //# sourceMappingURL=FormulaLookupResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormulaLookupResults.js","sourceRoot":"","sources":["../../../src/formula/ui/FormulaLookupResults.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAYxD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAgC;IAEhC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAE1B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACjE,0EAA0E;IAC1E,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,cAAK,SAAS,EAAC,yBAAyB,GAAG,CAAC;IACrD,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,GAAW,CAAC,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,CAAC,wBAAwB,EAAE;YACpC,KAAK;YACL,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,uBAAuB,YAAE,OAAO,GAAQ,EACvD,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,eAAM,SAAS,EAAC,sBAAsB,YACnC,CAAC,CAAC,4BAA4B,CAAC,GAC3B,CACR,CAAC,CAAC,CAAC,CACF,aAAI,SAAS,EAAC,sBAAsB,YACjC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7B,cAEE,KAAK,EAAE,CAAC,CAAC,uBAAuB,EAAE;wBAChC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpC,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC;qBACpD,CAAC,aAEF,KAAC,eAAe,IAAC,OAAO,EAAE,SAAS,CAAC,EAAE,GAAI,EAC1C,eAAM,SAAS,EAAC,qBAAqB,YAClC,CAAC,CAAC,oBAAoB,EAAE;gCACvB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;6BACvC,CAAC,GACG,KAXF,SAAS,CAAC,EAAE,CAYd,CACN,CAAC,GACC,CACN,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,CACL,cAAK,SAAS,EAAC,yBAAyB,YACtC,eAAM,SAAS,EAAC,sBAAsB,YAAE,IAAI,GAAQ,GAChD,CACP,CAAC;AACJ,CAAC"}
@@ -2,6 +2,8 @@ export type { CopyableFormulaProps } from './CopyableFormula.tsx';
2
2
  export { CopyableFormula } from './CopyableFormula.tsx';
3
3
  export type { FormulaInputProps } from './FormulaInput.tsx';
4
4
  export { FormulaInput } from './FormulaInput.tsx';
5
+ export type { FormulaLookupProps } from './FormulaLookup.tsx';
6
+ export { FormulaLookup } from './FormulaLookup.tsx';
5
7
  export type { QuestionFormulaProps } from './QuestionFormula.tsx';
6
8
  export { QuestionFormula } from './QuestionFormula.tsx';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formula/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formula/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { CopyableFormula } from "./CopyableFormula.js";
2
2
  export { FormulaInput } from "./FormulaInput.js";
3
+ export { FormulaLookup } from "./FormulaLookup.js";
3
4
  export { QuestionFormula } from "./QuestionFormula.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formula/ui/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formula/ui/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC"}
@@ -17,5 +17,5 @@ export type ChromeKey = keyof typeof en;
17
17
  * missing message falls back to; every other language arrives as a chunk of its
18
18
  * own, so a site read only in English downloads none of them.
19
19
  */
20
- export declare const CHROME_CATALOG: MessageCatalog<"language.label" | "chrome.pages" | "chrome.about" | "chrome.aboutTitle" | "chrome.contact" | "chrome.contactTitle" | "account.signIn" | "account.signOut" | "account.signedInAs" | "account.username" | "account.password" | "account.role" | "account.role.read" | "account.role.write" | "account.role.admin" | "account.you" | "account.envManaged" | "account.envManagedTitle" | "account.accounts" | "account.accountsNote" | "account.column.added" | "account.column.lastSignIn" | "account.column.passwordChanged" | "account.column.actions" | "account.never" | "account.add" | "account.addSubmit" | "account.added" | "account.usernameHelp" | "account.setPassword" | "account.setPasswordTitle" | "account.setPasswordNote" | "account.setPasswordSubmit" | "account.roleOf" | "account.changePassword" | "account.currentPassword" | "account.newPassword" | "account.repeatPassword" | "account.passwordsDiffer" | "account.passwordChanged" | "account.ownEnvManaged" | "account.remove" | "account.removeQuestion" | "account.needsWrite" | "account.needsAdmin" | "account.switchAccount" | "account.unreachable" | "account.refusal.wrongCredentials" | "account.refusal.tooManyAttempts" | "account.refusal.signInElsewhere" | "account.refusal.signOutElsewhere" | "account.refusal.changeElsewhere" | "account.refusal.signInRequired" | "account.refusal.sessionEnded" | "account.refusal.wrongToken" | "account.refusal.noAdminToken" | "account.refusal.roleTooLow" | "account.refusal.usernameLength" | "account.refusal.usernameCharacters" | "account.refusal.usernameTaken" | "account.refusal.passwordEmpty" | "account.refusal.passwordTooLong" | "account.refusal.noSuchAccount" | "account.refusal.nothingToChange" | "account.refusal.useChangePassword" | "account.refusal.ownRole" | "account.refusal.removeYourself" | "account.refusal.lastAdmin" | "account.refusal.envManaged" | "account.refusal.tokenCannotChangePassword" | "account.refusal.wrongCurrentPassword" | "account.refusal.accountRemoved" | "ecosystem.tools" | "ecosystem.menuHeading" | "ecosystem.otherTools" | "ecosystem.youAreHere" | "ecosystem.group.basics.label" | "ecosystem.group.basics.blurb" | "ecosystem.group.practice.label" | "ecosystem.group.practice.blurb" | "ecosystem.group.structures.label" | "ecosystem.group.structures.blurb" | "ecosystem.group.spectra.label" | "ecosystem.group.spectra.blurb" | "ecosystem.group.research.label" | "ecosystem.group.research.blurb" | "ecosystem.group.computing.label" | "ecosystem.group.computing.blurb" | "site.learn.tagline" | "site.inchi.tagline" | "site.vcl.tagline" | "site.smiles.tagline" | "site.openbabel.tagline" | "site.chemcalc.tagline" | "site.dbe.tagline" | "site.nmrium.tagline" | "site.metabo.tagline" | "site.derepflow.tagline" | "site.isomers.tagline" | "site.tex.tagline" | "site.lcao.tagline" | "site.regexp.tagline" | "site.pdb.tagline" | "site.elucidation.tagline" | "site.equilibrium.tagline" | "site.polycarp.tagline" | "site.3d.tagline" | "site.periodic-table.tagline" | "site.database.tagline" | "site.symmetry.tagline" | "site.osiris.tagline" | "site.atoms.tagline" | "site.moles.tagline" | "site.inorganic.tagline" | "share.button" | "share.buttonTitle" | "share.dialogTitleFor" | "share.frameTitle" | "share.layout" | "share.embed" | "share.embedHint" | "share.protect" | "share.protectHint" | "share.on" | "share.off" | "share.showOnPage" | "share.custom" | "share.options" | "share.preview" | "share.device.window" | "share.device.mobile" | "share.device.laptop" | "share.device.hd" | "share.deviceSize" | "share.previewWhat" | "share.previewLive" | "share.copyLink" | "share.copyLinkHelpTitle" | "share.copyLinkHelp" | "share.openInNewTab" | "share.openInNewTabHelpTitle" | "share.openInNewTabHelp" | "share.copyIframe" | "share.copyIframeHelpTitle" | "share.copyIframeHelp" | "seal.refusedTitle" | "seal.refusedBody" | "seal.openWithout" | "cite.button" | "cite.copyReferenceAs" | "cite.pleaseCiteBoth" | "cite.pleaseCiteEvery" | "cite.copyBothAs" | "cite.copyEveryAs" | "cite.importIntoManager" | "cite.openArticle" | "cite.openDataset" | "cite.copyThisAs" | "cite.importThis" | "cite.copied" | "cite.copyFailed" | "cite.format.doi" | "cite.download.ris" | "cite.download.bibtex" | "clipboard.copied" | "clipboard.failed" | "clipboard.copy" | "clipboard.copyThe" | "clipboard.copyValue" | "clipboard.copyToClipboard" | "card.details" | "card.detailsTitle" | "card.detailsLabel" | "card.copyTable" | "card.copyTableTitle" | "card.copyPicture" | "about.providedBy" | "about.whatYouCanDo" | "about.builtOn" | "about.buildVersion" | "about.buildBuilt" | "about.buildCommit" | "about.howToCite" | "about.citeWork" | "about.nameList" | "credits.openbabel.description" | "credits.openchemlib.description" | "credits.openchemlib-utils.description" | "credits.osiris-property-explorer.description" | "credits.react-ocl.description" | "credits.react-mf.description" | "credits.mass-tools.description" | "credits.chem-equilibrium.description" | "credits.ml-matrix.description" | "credits.ml-xsadd.description" | "credits.cif-to-json.description" | "credits.ml-spectra-processing.description" | "credits.occ.description" | "credits.xtb-wasm.description" | "credits.molstar.description" | "credits.blueprint.description" | "credits.react-science.description" | "credits.react-cheminfo.description" | "credits.cheminfo-font.description" | "credits.nivo.description" | "credits.mathjax.description" | "credits.lexical.description" | "credits.katex.description" | "credits.dnd-kit.description" | "credits.react-roi.description" | "credits.file-collection.description" | "credits.zip-js.description" | "credits.preact-signals.description" | "credits.fastify.description" | "credits.sqlite.description" | "credits.sqlite-wasm.description" | "credits.pouchdb.description" | "credits.chemexper.description" | "credits.react.description" | "credits.vite.description" | "help.label" | "help.learnMore" | "help.on" | "confirm.delete" | "confirm.cancel" | "error.title" | "error.tryAgain" | "error.noMessage" | "capsule.filter" | "color.scales" | "color.done" | "color.custom" | "color.customEllipsis" | "color.inUse" | "color.uniform" | "color.uniformDescription" | "color.uniformColour" | "color.colourScale" | "color.legendLabel" | "color.scaleBeingEdited" | "color.anchorColour" | "color.anchorPosition" | "color.removeAnchor" | "color.editorHint" | "color.saturation" | "color.brightness" | "color.toneHelp" | "color.path" | "color.interpolation.rgb" | "color.interpolation.hsv" | "color.interpolation.hsv-long" | "color.kind.sequential" | "color.kind.diverging" | "color.kind.cyclic" | "color.scale.viridis.label" | "color.scale.viridis.description" | "color.scale.plasma.label" | "color.scale.plasma.description" | "color.scale.magma.label" | "color.scale.magma.description" | "color.scale.inferno.label" | "color.scale.inferno.description" | "color.scale.cividis.label" | "color.scale.cividis.description" | "color.scale.turbo.label" | "color.scale.turbo.description" | "color.scale.greys.label" | "color.scale.greys.description" | "color.scale.cool-warm.label" | "color.scale.cool-warm.description" | "color.scale.blue-red.label" | "color.scale.blue-red.description" | "color.scale.rainbow.label" | "color.scale.rainbow.description" | "download.save" | "download.saveFigure" | "download.saveThisFigure" | "download.format" | "download.formatHelp" | "download.resolution" | "download.resolutionHelp" | "download.resolutionExample" | "download.noFigure" | "download.hintRasterSvg" | "download.hintSvg" | "download.hintPng" | "download.hintCopied" | "download.copyUnsupported" | "download.size" | "download.sizeHelp" | "download.sizeScreen" | "download.sizeColumn" | "download.sizeCustom" | "download.customSize" | "download.width" | "download.height" | "pedagogy.check" | "pedagogy.revealHint" | "pedagogy.revealHintCount" | "pedagogy.revealHintLadder" | "pedagogy.hideSolution" | "pedagogy.revealSolution" | "pedagogy.reset" | "pedagogy.hints" | "pedagogy.solvedCount" | "pedagogy.clearAll" | "pedagogy.keepAnswers" | "pedagogy.clearEverything" | "pedagogy.clearWarning" | "pedagogy.filterTerms" | "pedagogy.noTermDefined" | "pedagogy.noTermMatches" | "pedagogy.example" | "pedagogy.input" | "pedagogy.previous" | "pedagogy.next" | "pedagogy.stepOf" | "pedagogy.answerEmpty" | "pedagogy.answerUnreadable" | "pedagogy.questions" | "pedagogy.questionsInSeries" | "pedagogy.questionCount" | "pedagogy.allQuestions" | "pedagogy.newSeries" | "pedagogy.newSeriesTitle" | "pedagogy.seriesQuestions" | "pedagogy.questionNumber" | "pedagogy.questionOf" | "pedagogy.solved" | "pedagogy.solvedWithHintsOf" | "pedagogy.solvedWithoutHint" | "pedagogy.nextQuestion" | "pedagogy.solution" | "pedagogy.exercises" | "pedagogy.statusIdle" | "pedagogy.statusAttempted" | "pedagogy.statusSolved" | "pedagogy.solvedWithOneHint" | "pedagogy.solvedWithHints" | "formula.copyLabel" | "formula.typeFirst" | "formula.notElement" | "formula.noAtom" | "formula.wholeCounts" | "formula.unknownNotation" | "formula.unreadable" | "slides.exit" | "slides.previousSlide" | "slides.nextSlide" | "slides.toggleFullscreen" | "slides.backToSlides" | "slides.backToSlide" | "slides.noAddress" | "slides.liveDemos" | "slides.noTalkYet" | "overlay.options" | "overlay.whatAmILookingAt" | "overlay.reset" | "overlay.hoverAName" | "overlay.dismiss" | "axis.scale" | "axis.xScale" | "axis.yScale" | "axis.linear" | "axis.logarithmic" | "axis.scaleHelp" | "delimited.copyTable" | "delimited.copyOrDownload" | "delimited.close" | "delimited.separator" | "delimited.save" | "delimited.copy" | "delimited.tableAsText" | "chart.measurement" | "chart.measurements" | "delimited.descriptionOne" | "delimited.descriptionMany" | "structure.guide.atom.title" | "structure.guide.atom.element" | "structure.guide.atom.group" | "structure.guide.atom.applyOrForget" | "structure.guide.atom.chain" | "structure.guide.atom.charge" | "structure.guide.atom.radical" | "structure.guide.atom.spin" | "structure.guide.atom.attachment" | "structure.guide.atom.query" | "structure.guide.atom.halogen" | "structure.guide.atom.delete" | "structure.guide.atom.note" | "structure.guide.bond.title" | "structure.guide.bond.order" | "structure.guide.bond.zeroOrder" | "structure.guide.bond.stereo" | "structure.guide.bond.unknownGeometry" | "structure.guide.bond.threeRing" | "structure.guide.bond.ring" | "structure.guide.bond.benzene" | "structure.guide.bond.query" | "structure.guide.bond.delete" | "structure.guide.anywhere.title" | "structure.guide.anywhere.undo" | "structure.guide.anywhere.copy" | "structure.guide.anywhere.paste" | "structure.guide.anywhere.deleteSelection" | "structure.guide.anywhere.flip" | "structure.guide.anywhere.help" | "structure.guide.anywhere.note" | "structure.guide.selecting.title" | "structure.guide.selecting.lasso" | "structure.guide.selecting.rectangle" | "structure.guide.selecting.add" | "structure.guide.selecting.move" | "structure.guide.selecting.duplicate" | "structure.guide.selecting.queryFeatures" | "structure.guide.selecting.note" | "structure.guide.stereochemistry.title" | "structure.guide.stereochemistry.note" | "structure.input.type" | "structure.input.or" | "structure.input.drag" | "structure.input.plusDrag" | "structure.input.dragSelection" | "structure.input.plusDragSelection" | "structure.input.doubleClick" | "structure.docs.toolsAndKeys" | "structure.docs.atomProperties" | "structure.docs.stereochemistry" | "structure.help.hoverToolbar" | "structure.help.learnMore" | "structure.mouseAndKeyboard" | "structure.tool.clear.name" | "structure.tool.clear.description" | "structure.tool.cleanUp.name" | "structure.tool.cleanUp.description" | "structure.tool.select.name" | "structure.tool.select.description" | "structure.tool.unknownConfiguration.name" | "structure.tool.unknownConfiguration.description" | "structure.tool.delete.name" | "structure.tool.delete.description" | "structure.tool.singleBond.name" | "structure.tool.singleBond.description" | "structure.tool.upBond.name" | "structure.tool.upBond.description" | "structure.tool.positiveCharge.name" | "structure.tool.positiveCharge.description" | "structure.tool.undo.name" | "structure.tool.undo.description" | "structure.tool.zoomAndRotate.name" | "structure.tool.zoomAndRotate.description" | "structure.tool.atomMapping.name" | "structure.tool.atomMapping.description" | "structure.tool.enhancedStereo.name" | "structure.tool.enhancedStereo.description" | "structure.tool.text.name" | "structure.tool.text.description" | "structure.tool.chain.name" | "structure.tool.chain.description" | "structure.tool.downBond.name" | "structure.tool.downBond.description" | "structure.tool.negativeCharge.name" | "structure.tool.negativeCharge.description" | "structure.tool.anyAtom.name" | "structure.tool.anyAtom.description" | "structure.tool.ring3.name" | "structure.tool.ring3.description" | "structure.tool.ring5.name" | "structure.tool.ring5.description" | "structure.tool.ring7.name" | "structure.tool.ring7.description" | "structure.tool.ring4.name" | "structure.tool.ring4.description" | "structure.tool.ring6.name" | "structure.tool.ring6.description" | "structure.tool.benzene.name" | "structure.tool.benzene.description" | "structure.tool.carbon.name" | "structure.tool.carbon.description" | "structure.tool.nitrogen.name" | "structure.tool.nitrogen.description" | "structure.tool.oxygen.name" | "structure.tool.oxygen.description" | "structure.tool.fluorine.name" | "structure.tool.fluorine.description" | "structure.tool.bromine.name" | "structure.tool.bromine.description" | "structure.tool.hydrogen.name" | "structure.tool.hydrogen.description" | "structure.tool.silicon.name" | "structure.tool.silicon.description" | "structure.tool.phosphorus.name" | "structure.tool.phosphorus.description" | "structure.tool.sulfur.name" | "structure.tool.sulfur.description" | "structure.tool.chlorine.name" | "structure.tool.chlorine.description" | "structure.tool.iodine.name" | "structure.tool.iodine.description" | "structure.tool.reactionOnly" | "structure.tool.unavailable" | "structure.loadingEditor" | "structure.import.open" | "structure.import.drop" | "structure.import.unreadableFile" | "structure.import.unreadableText" | "structure.export.open" | "structure.export.glyph" | "structure.export.title" | "structure.export.loading" | "structure.export.nothing" | "structure.export.picture" | "structure.export.identifiers" | "structure.export.saveSvg" | "structure.export.savePng" | "structure.export.copyPng" | "structure.export.smiles" | "structure.export.smilesHelp" | "structure.export.molfileV3000" | "structure.export.molfileV3000Help" | "structure.export.molfileV2000" | "structure.export.molfileV2000Help" | "structure.export.idCode" | "structure.export.idCodeHelp" | "structure.export.noStereoIdCode" | "structure.export.noStereoIdCodeHelp" | "structure.export.noStereoTautomerIdCode" | "structure.export.noStereoTautomerIdCodeHelp" | "structure.search.title" | "structure.search.apply" | "structure.search.examples" | "structure.search.substructure" | "structure.search.substructureHelp" | "structure.search.similarity" | "structure.search.similarityHelp" | "structure.search.exact" | "structure.search.exactHelp" | "structure.search.exactNoStereo" | "structure.search.exactNoStereoHelp" | "structure.search.exactNoStereoTautomer" | "structure.search.exactNoStereoTautomerHelp" | "structure.search.similarityLabel" | "structure.search.threshold" | "structure.search.thresholdHelp" | "structure.search.thresholdOption" | "structure.search.exampleBenzene" | "structure.search.examplePyridine" | "structure.search.exampleAmide" | "structure.search.exampleSulfonamide" | "structure.search.exampleTrifluoromethyl" | "periodic.table" | "periodic.group" | "periodic.period" | "periodic.block" | "periodic.allElements" | "periodic.help.title" | "periodic.help.click" | "periodic.help.modClick" | "periodic.help.element" | "periodic.help.elementClick" | "periodic.help.elementMod" | "periodic.help.number" | "periodic.help.numberClick" | "periodic.help.runMod" | "periodic.help.block" | "periodic.help.blockClick" | "periodic.help.corner" | "periodic.help.cornerClick" | "periodic.help.arrowsClick" | "periodic.help.note" | "periodic.help.ctrl" | "periodic.cellLabel" | "periodic.category.alkali-metal" | "periodic.category.alkaline-earth-metal" | "periodic.category.transition-metal" | "periodic.category.post-transition-metal" | "periodic.category.metalloid" | "periodic.category.nonmetal" | "periodic.category.halogen" | "periodic.category.noble-gas" | "periodic.category.lanthanoid" | "periodic.category.actinoid" | "molecule3d.view" | "molecule3d.resetView" | "molecule3d.spin" | "molecule3d.surface" | "molecule3d.molecularSurface" | "molecule3d.displayOptions" | "molecule3d.exportImage" | "molecule3d.frames" | "molecule3d.framesHelp" | "molecule3d.frames.one" | "molecule3d.frames.all" | "molecule3d.fullScreen" | "molecule3d.measure" | "molecule3d.clearMeasurements" | "molecule3d.measurement.distance" | "molecule3d.measurement.angle" | "molecule3d.measurement.dihedral" | "molecule3d.measurementTooltip" | "molecule3d.representation.ball-and-stick" | "molecule3d.representation.spacefill" | "molecule3d.representation.stick" | "molecule3d.size" | "molecule3d.surfaceOpacity" | "molecule3d.solventProbe" | "molecule3d.solventProbeHelp" | "molecule3d.surfaceColour" | "molecule3d.colour" | "molecule3d.resetSettings" | "molecule3d.atDefaults" | "molecule3d.surfaceOff" | "molecule3d.showSurface" | "molecule3d.coloring.uniform" | "molecule3d.coloring.element" | "molecule3d.coloring.polarity" | "molecule3d.neutral" | "molecule3d.tpsaHelp" | "molecule3d.loadingViewer" | "molecule3d.couldNotDraw" | "molecule3d.gesture.rotate" | "molecule3d.gesture.rollDrag" | "molecule3d.gesture.rollKeys" | "molecule3d.gesture.moveDrag" | "molecule3d.gesture.moveCtrl" | "molecule3d.gesture.zoom" | "molecule3d.gesture.clip" | "molecule3d.gesture.centreAtom" | "molecule3d.gesture.centreMolecule" | "molecule3d.input.drag" | "molecule3d.input.plus" | "molecule3d.input.plusDrag" | "molecule3d.input.plusScroll" | "molecule3d.input.or" | "molecule3d.input.rightDrag" | "molecule3d.input.scroll" | "molecule3d.input.clickAtom" | "molecule3d.input.clickBackground" | "molecule3d.helpNote" | "orbital.couldNotDraw" | "orbital.sampling" | "orbital.showAxes" | "orbital.axesTitle" | "orbital.axesBody" | "orbital.axesExample" | "orbital.spin" | "orbital.spinTitle" | "orbital.spinBody" | "orbital.resetTitle" | "orbital.resetBody" | "viewer.capability.noWindow" | "viewer.capability.noContext" | "viewer.capability.noFloatTextures" | "viewer.capability.ready" | "conformers.strategy.adaptive-random" | "conformers.strategy.likely-random" | "conformers.strategy.pure-random" | "conformers.strategy.likely-systematic" | "conformers.strategyDetail.adaptive-random" | "conformers.strategyDetail.likely-random" | "conformers.strategyDetail.pure-random" | "conformers.strategyDetail.likely-systematic" | "conformers.minimisation.none" | "number.increment" | "number.decrement" | "range.lowest" | "range.highest" | "range.lowestIs" | "range.highestIs" | "range.noLowerBound" | "range.noUpperBound" | "range.typeValue" | "range.clear" | "taxonomy.lineage" | "taxonomy.rankNote" | "taxonomy.ncbi" | "taxonomy.ncbiTitle" | "taxonomy.rank.realm" | "taxonomy.rank.domain" | "taxonomy.rank.superkingdom" | "taxonomy.rank.kingdom" | "taxonomy.rank.subkingdom" | "taxonomy.rank.superphylum" | "taxonomy.rank.phylum" | "taxonomy.rank.subphylum" | "taxonomy.rank.superclass" | "taxonomy.rank.class" | "taxonomy.rank.subclass" | "taxonomy.rank.infraclass" | "taxonomy.rank.cohort" | "taxonomy.rank.subcohort" | "taxonomy.rank.superorder" | "taxonomy.rank.order" | "taxonomy.rank.suborder" | "taxonomy.rank.infraorder" | "taxonomy.rank.parvorder" | "taxonomy.rank.superfamily" | "taxonomy.rank.family" | "taxonomy.rank.subfamily" | "taxonomy.rank.tribe" | "taxonomy.rank.subtribe" | "taxonomy.rank.genus" | "taxonomy.rank.subgenus" | "taxonomy.rank.section" | "taxonomy.rank.subsection" | "taxonomy.rank.series" | "taxonomy.rank.subseries" | "taxonomy.rank.speciesGroup" | "taxonomy.rank.speciesSubgroup" | "taxonomy.rank.species" | "taxonomy.rank.formaSpecialis" | "taxonomy.rank.subspecies" | "taxonomy.rank.varietas" | "taxonomy.rank.subvariety" | "taxonomy.rank.forma" | "taxonomy.rank.pathogroup" | "taxonomy.rank.serogroup" | "taxonomy.rank.serotype" | "taxonomy.rank.biotype" | "taxonomy.rank.genotype" | "taxonomy.rank.morph" | "taxonomy.rank.strain" | "taxonomy.rank.isolate" | "taxonomy.rank.noRank" | "taxonomy.rank.clade" | "taxonomy.rank.cellularRoot" | "taxonomy.rank.acellularRoot" | "moleculesToken.title" | "moleculesToken.checkedAt" | "moleculesToken.checkAgain" | "moleculesToken.notChecked" | "moleculesToken.column.variable" | "moleculesToken.column.source" | "moleculesToken.column.status" | "moleculesToken.column.details" | "moleculesToken.anySource" | "moleculesToken.verdict.ok" | "moleculesToken.verdict.otherSource" | "moleculesToken.verdict.refused" | "moleculesToken.verdict.unset" | "moleculesToken.verdict.uncheckable" | "moleculesToken.verdict.unanswered" | "moleculesToken.forSource" | "moleculesToken.issued" | "moleculesToken.issuedTo" | "moleculesToken.lastUsed" | "moleculesToken.neverUsed" | "moleculesToken.otherSourceDetail" | "moleculesToken.refusedDetail" | "moleculesToken.unsetDetail" | "moleculesToken.uncheckableDetail" | "moleculesToken.howToChange" | "moleculesToken.fix.title" | "moleculesToken.fix.issueOne" | "moleculesToken.fix.issueMany" | "moleculesToken.fix.issueOnServer" | "moleculesToken.fix.envOne" | "moleculesToken.fix.envMany" | "moleculesToken.fix.restart" | "ir.mode.intensity" | "ir.raman.xTitle" | "ir.raman.chart" | "ir.raman.tools" | "ir.raman.viewer" | "ir.raman.viewerHelp" | "ir.raman.mark" | "ir.raman.about" | "ir.raman.documentation" | "ir.raman.command.documentation" | "ir.raman.command.readTool" | "ir.raman.command.boxTool" | "ir.raman.command.zoomIn" | "ir.raman.command.togglePicking" | "ir.raman.doc.bands" | "ir.raman.doc.sampled" | "ir.raman.aboutLead" | "ir.raman.credit.picking" | "ir.raman.credit.jcamp">;
20
+ export declare const CHROME_CATALOG: MessageCatalog<"language.label" | "chrome.pages" | "chrome.about" | "chrome.aboutTitle" | "chrome.contact" | "chrome.contactTitle" | "account.signIn" | "account.signOut" | "account.signedInAs" | "account.username" | "account.password" | "account.role" | "account.role.read" | "account.role.write" | "account.role.admin" | "account.you" | "account.envManaged" | "account.envManagedTitle" | "account.accounts" | "account.accountsNote" | "account.column.added" | "account.column.lastSignIn" | "account.column.passwordChanged" | "account.column.actions" | "account.never" | "account.add" | "account.addSubmit" | "account.added" | "account.usernameHelp" | "account.setPassword" | "account.setPasswordTitle" | "account.setPasswordNote" | "account.setPasswordSubmit" | "account.roleOf" | "account.changePassword" | "account.currentPassword" | "account.newPassword" | "account.repeatPassword" | "account.passwordsDiffer" | "account.passwordChanged" | "account.ownEnvManaged" | "account.remove" | "account.removeQuestion" | "account.needsWrite" | "account.needsAdmin" | "account.switchAccount" | "account.unreachable" | "account.refusal.wrongCredentials" | "account.refusal.tooManyAttempts" | "account.refusal.signInElsewhere" | "account.refusal.signOutElsewhere" | "account.refusal.changeElsewhere" | "account.refusal.signInRequired" | "account.refusal.sessionEnded" | "account.refusal.wrongToken" | "account.refusal.noAdminToken" | "account.refusal.roleTooLow" | "account.refusal.usernameLength" | "account.refusal.usernameCharacters" | "account.refusal.usernameTaken" | "account.refusal.passwordEmpty" | "account.refusal.passwordTooLong" | "account.refusal.noSuchAccount" | "account.refusal.nothingToChange" | "account.refusal.useChangePassword" | "account.refusal.ownRole" | "account.refusal.removeYourself" | "account.refusal.lastAdmin" | "account.refusal.envManaged" | "account.refusal.tokenCannotChangePassword" | "account.refusal.wrongCurrentPassword" | "account.refusal.accountRemoved" | "ecosystem.tools" | "ecosystem.menuHeading" | "ecosystem.otherTools" | "ecosystem.youAreHere" | "ecosystem.group.basics.label" | "ecosystem.group.basics.blurb" | "ecosystem.group.practice.label" | "ecosystem.group.practice.blurb" | "ecosystem.group.structures.label" | "ecosystem.group.structures.blurb" | "ecosystem.group.spectra.label" | "ecosystem.group.spectra.blurb" | "ecosystem.group.research.label" | "ecosystem.group.research.blurb" | "ecosystem.group.computing.label" | "ecosystem.group.computing.blurb" | "site.learn.tagline" | "site.inchi.tagline" | "site.vcl.tagline" | "site.smiles.tagline" | "site.openbabel.tagline" | "site.chemcalc.tagline" | "site.dbe.tagline" | "site.nmrium.tagline" | "site.metabo.tagline" | "site.derepflow.tagline" | "site.isomers.tagline" | "site.tex.tagline" | "site.lcao.tagline" | "site.regexp.tagline" | "site.pdb.tagline" | "site.elucidation.tagline" | "site.spectroscopy.tagline" | "site.equilibrium.tagline" | "site.polycarp.tagline" | "site.3d.tagline" | "site.periodic-table.tagline" | "site.database.tagline" | "site.symmetry.tagline" | "site.osiris.tagline" | "site.atoms.tagline" | "site.moles.tagline" | "site.inorganic.tagline" | "share.button" | "share.buttonTitle" | "share.dialogTitleFor" | "share.frameTitle" | "share.layout" | "share.embed" | "share.embedHint" | "share.protect" | "share.protectHint" | "share.on" | "share.off" | "share.showOnPage" | "share.custom" | "share.options" | "share.preview" | "share.device.window" | "share.device.mobile" | "share.device.laptop" | "share.device.hd" | "share.deviceSize" | "share.previewWhat" | "share.previewLive" | "share.copyLink" | "share.copyLinkHelpTitle" | "share.copyLinkHelp" | "share.openInNewTab" | "share.openInNewTabHelpTitle" | "share.openInNewTabHelp" | "share.copyIframe" | "share.copyIframeHelpTitle" | "share.copyIframeHelp" | "seal.refusedTitle" | "seal.refusedBody" | "seal.openWithout" | "cite.button" | "cite.copyReferenceAs" | "cite.pleaseCiteBoth" | "cite.pleaseCiteEvery" | "cite.copyBothAs" | "cite.copyEveryAs" | "cite.importIntoManager" | "cite.openArticle" | "cite.openDataset" | "cite.copyThisAs" | "cite.importThis" | "cite.copied" | "cite.copyFailed" | "cite.format.doi" | "cite.download.ris" | "cite.download.bibtex" | "clipboard.copied" | "clipboard.failed" | "clipboard.copy" | "clipboard.copyThe" | "clipboard.copyValue" | "clipboard.copyToClipboard" | "card.details" | "card.detailsTitle" | "card.detailsLabel" | "card.copyTable" | "card.copyTableTitle" | "card.copyPicture" | "about.providedBy" | "about.whatYouCanDo" | "about.builtOn" | "about.buildVersion" | "about.buildBuilt" | "about.buildCommit" | "about.howToCite" | "about.citeWork" | "about.nameList" | "credits.openbabel.description" | "credits.openchemlib.description" | "credits.openchemlib-utils.description" | "credits.osiris-property-explorer.description" | "credits.react-ocl.description" | "credits.react-mf.description" | "credits.mass-tools.description" | "credits.chem-equilibrium.description" | "credits.ml-matrix.description" | "credits.ml-xsadd.description" | "credits.cif-to-json.description" | "credits.ml-spectra-processing.description" | "credits.occ.description" | "credits.xtb-wasm.description" | "credits.molstar.description" | "credits.blueprint.description" | "credits.react-science.description" | "credits.react-cheminfo.description" | "credits.cheminfo-font.description" | "credits.nivo.description" | "credits.mathjax.description" | "credits.lexical.description" | "credits.katex.description" | "credits.dnd-kit.description" | "credits.react-roi.description" | "credits.file-collection.description" | "credits.zip-js.description" | "credits.preact-signals.description" | "credits.fastify.description" | "credits.sqlite.description" | "credits.sqlite-wasm.description" | "credits.pouchdb.description" | "credits.chemexper.description" | "credits.react.description" | "credits.vite.description" | "help.label" | "help.learnMore" | "help.on" | "confirm.delete" | "confirm.cancel" | "error.title" | "error.tryAgain" | "error.noMessage" | "capsule.filter" | "color.scales" | "color.done" | "color.custom" | "color.customEllipsis" | "color.inUse" | "color.uniform" | "color.uniformDescription" | "color.uniformColour" | "color.colourScale" | "color.legendLabel" | "color.scaleBeingEdited" | "color.anchorColour" | "color.anchorPosition" | "color.removeAnchor" | "color.editorHint" | "color.saturation" | "color.brightness" | "color.toneHelp" | "color.path" | "color.interpolation.rgb" | "color.interpolation.hsv" | "color.interpolation.hsv-long" | "color.kind.sequential" | "color.kind.diverging" | "color.kind.cyclic" | "color.scale.viridis.label" | "color.scale.viridis.description" | "color.scale.plasma.label" | "color.scale.plasma.description" | "color.scale.magma.label" | "color.scale.magma.description" | "color.scale.inferno.label" | "color.scale.inferno.description" | "color.scale.cividis.label" | "color.scale.cividis.description" | "color.scale.turbo.label" | "color.scale.turbo.description" | "color.scale.greys.label" | "color.scale.greys.description" | "color.scale.cool-warm.label" | "color.scale.cool-warm.description" | "color.scale.blue-red.label" | "color.scale.blue-red.description" | "color.scale.rainbow.label" | "color.scale.rainbow.description" | "download.save" | "download.saveFigure" | "download.saveThisFigure" | "download.format" | "download.formatHelp" | "download.resolution" | "download.resolutionHelp" | "download.resolutionExample" | "download.noFigure" | "download.hintRasterSvg" | "download.hintSvg" | "download.hintPng" | "download.hintCopied" | "download.copyUnsupported" | "download.size" | "download.sizeHelp" | "download.sizeScreen" | "download.sizeColumn" | "download.sizeCustom" | "download.customSize" | "download.width" | "download.height" | "pedagogy.check" | "pedagogy.revealHint" | "pedagogy.revealHintCount" | "pedagogy.revealHintLadder" | "pedagogy.hideSolution" | "pedagogy.revealSolution" | "pedagogy.reset" | "pedagogy.hints" | "pedagogy.solvedCount" | "pedagogy.clearAll" | "pedagogy.keepAnswers" | "pedagogy.clearEverything" | "pedagogy.clearWarning" | "pedagogy.filterTerms" | "pedagogy.noTermDefined" | "pedagogy.noTermMatches" | "pedagogy.example" | "pedagogy.input" | "pedagogy.previous" | "pedagogy.next" | "pedagogy.stepOf" | "pedagogy.answerEmpty" | "pedagogy.answerUnreadable" | "pedagogy.questions" | "pedagogy.questionsInSeries" | "pedagogy.questionCount" | "pedagogy.allQuestions" | "pedagogy.newSeries" | "pedagogy.newSeriesTitle" | "pedagogy.seriesQuestions" | "pedagogy.questionNumber" | "pedagogy.questionOf" | "pedagogy.solved" | "pedagogy.solvedWithHintsOf" | "pedagogy.solvedWithoutHint" | "pedagogy.nextQuestion" | "pedagogy.solution" | "pedagogy.exercises" | "pedagogy.statusIdle" | "pedagogy.statusAttempted" | "pedagogy.statusSolved" | "pedagogy.solvedWithOneHint" | "pedagogy.solvedWithHints" | "formula.copyLabel" | "formula.typeFirst" | "formula.notElement" | "formula.noAtom" | "formula.wholeCounts" | "formula.unknownNotation" | "formula.unreadable" | "formula.lookup.title" | "formula.lookup.reset" | "formula.lookup.mass" | "formula.lookup.massPlaceholder" | "formula.lookup.neutral" | "formula.lookup.fewest" | "formula.lookup.most" | "formula.lookup.typeMass" | "formula.lookup.closest" | "formula.lookup.countOne" | "formula.lookup.countMany" | "formula.lookup.nothingFits" | "formula.lookup.tooWide" | "formula.lookup.ppm" | "formula.lookup.detail" | "slides.exit" | "slides.previousSlide" | "slides.nextSlide" | "slides.toggleFullscreen" | "slides.backToSlides" | "slides.backToSlide" | "slides.noAddress" | "slides.liveDemos" | "slides.noTalkYet" | "overlay.options" | "overlay.whatAmILookingAt" | "overlay.reset" | "overlay.hoverAName" | "overlay.dismiss" | "axis.scale" | "axis.xScale" | "axis.yScale" | "axis.linear" | "axis.logarithmic" | "axis.scaleHelp" | "delimited.copyTable" | "delimited.copyOrDownload" | "delimited.close" | "delimited.separator" | "delimited.save" | "delimited.copy" | "delimited.tableAsText" | "chart.measurement" | "chart.measurements" | "delimited.descriptionOne" | "delimited.descriptionMany" | "structure.guide.atom.title" | "structure.guide.atom.element" | "structure.guide.atom.group" | "structure.guide.atom.applyOrForget" | "structure.guide.atom.chain" | "structure.guide.atom.charge" | "structure.guide.atom.radical" | "structure.guide.atom.spin" | "structure.guide.atom.attachment" | "structure.guide.atom.query" | "structure.guide.atom.halogen" | "structure.guide.atom.delete" | "structure.guide.atom.note" | "structure.guide.bond.title" | "structure.guide.bond.order" | "structure.guide.bond.zeroOrder" | "structure.guide.bond.stereo" | "structure.guide.bond.unknownGeometry" | "structure.guide.bond.threeRing" | "structure.guide.bond.ring" | "structure.guide.bond.benzene" | "structure.guide.bond.query" | "structure.guide.bond.delete" | "structure.guide.anywhere.title" | "structure.guide.anywhere.undo" | "structure.guide.anywhere.copy" | "structure.guide.anywhere.paste" | "structure.guide.anywhere.deleteSelection" | "structure.guide.anywhere.flip" | "structure.guide.anywhere.help" | "structure.guide.anywhere.note" | "structure.guide.selecting.title" | "structure.guide.selecting.lasso" | "structure.guide.selecting.rectangle" | "structure.guide.selecting.add" | "structure.guide.selecting.move" | "structure.guide.selecting.duplicate" | "structure.guide.selecting.queryFeatures" | "structure.guide.selecting.note" | "structure.guide.stereochemistry.title" | "structure.guide.stereochemistry.note" | "structure.input.type" | "structure.input.or" | "structure.input.drag" | "structure.input.plusDrag" | "structure.input.dragSelection" | "structure.input.plusDragSelection" | "structure.input.doubleClick" | "structure.docs.toolsAndKeys" | "structure.docs.atomProperties" | "structure.docs.stereochemistry" | "structure.help.hoverToolbar" | "structure.help.learnMore" | "structure.mouseAndKeyboard" | "structure.tool.clear.name" | "structure.tool.clear.description" | "structure.tool.cleanUp.name" | "structure.tool.cleanUp.description" | "structure.tool.select.name" | "structure.tool.select.description" | "structure.tool.unknownConfiguration.name" | "structure.tool.unknownConfiguration.description" | "structure.tool.delete.name" | "structure.tool.delete.description" | "structure.tool.singleBond.name" | "structure.tool.singleBond.description" | "structure.tool.upBond.name" | "structure.tool.upBond.description" | "structure.tool.positiveCharge.name" | "structure.tool.positiveCharge.description" | "structure.tool.undo.name" | "structure.tool.undo.description" | "structure.tool.zoomAndRotate.name" | "structure.tool.zoomAndRotate.description" | "structure.tool.atomMapping.name" | "structure.tool.atomMapping.description" | "structure.tool.enhancedStereo.name" | "structure.tool.enhancedStereo.description" | "structure.tool.text.name" | "structure.tool.text.description" | "structure.tool.chain.name" | "structure.tool.chain.description" | "structure.tool.downBond.name" | "structure.tool.downBond.description" | "structure.tool.negativeCharge.name" | "structure.tool.negativeCharge.description" | "structure.tool.anyAtom.name" | "structure.tool.anyAtom.description" | "structure.tool.ring3.name" | "structure.tool.ring3.description" | "structure.tool.ring5.name" | "structure.tool.ring5.description" | "structure.tool.ring7.name" | "structure.tool.ring7.description" | "structure.tool.ring4.name" | "structure.tool.ring4.description" | "structure.tool.ring6.name" | "structure.tool.ring6.description" | "structure.tool.benzene.name" | "structure.tool.benzene.description" | "structure.tool.carbon.name" | "structure.tool.carbon.description" | "structure.tool.nitrogen.name" | "structure.tool.nitrogen.description" | "structure.tool.oxygen.name" | "structure.tool.oxygen.description" | "structure.tool.fluorine.name" | "structure.tool.fluorine.description" | "structure.tool.bromine.name" | "structure.tool.bromine.description" | "structure.tool.hydrogen.name" | "structure.tool.hydrogen.description" | "structure.tool.silicon.name" | "structure.tool.silicon.description" | "structure.tool.phosphorus.name" | "structure.tool.phosphorus.description" | "structure.tool.sulfur.name" | "structure.tool.sulfur.description" | "structure.tool.chlorine.name" | "structure.tool.chlorine.description" | "structure.tool.iodine.name" | "structure.tool.iodine.description" | "structure.tool.reactionOnly" | "structure.tool.unavailable" | "structure.loadingEditor" | "structure.import.open" | "structure.import.drop" | "structure.import.unreadableFile" | "structure.import.unreadableText" | "structure.export.open" | "structure.export.glyph" | "structure.export.title" | "structure.export.loading" | "structure.export.nothing" | "structure.export.picture" | "structure.export.identifiers" | "structure.export.saveSvg" | "structure.export.savePng" | "structure.export.copyPng" | "structure.export.copySvg" | "structure.export.svgCopied" | "structure.export.smiles" | "structure.export.smilesHelp" | "structure.export.molfileV3000" | "structure.export.molfileV3000Help" | "structure.export.molfileV2000" | "structure.export.molfileV2000Help" | "structure.export.idCode" | "structure.export.idCodeHelp" | "structure.export.noStereoIdCode" | "structure.export.noStereoIdCodeHelp" | "structure.export.noStereoTautomerIdCode" | "structure.export.noStereoTautomerIdCodeHelp" | "structure.search.title" | "structure.search.apply" | "structure.search.examples" | "structure.search.substructure" | "structure.search.substructureHelp" | "structure.search.similarity" | "structure.search.similarityHelp" | "structure.search.exact" | "structure.search.exactHelp" | "structure.search.exactNoStereo" | "structure.search.exactNoStereoHelp" | "structure.search.exactNoStereoTautomer" | "structure.search.exactNoStereoTautomerHelp" | "structure.search.similarityLabel" | "structure.search.threshold" | "structure.search.thresholdHelp" | "structure.search.thresholdOption" | "structure.search.exampleBenzene" | "structure.search.examplePyridine" | "structure.search.exampleAmide" | "structure.search.exampleSulfonamide" | "structure.search.exampleTrifluoromethyl" | "periodic.table" | "periodic.group" | "periodic.period" | "periodic.block" | "periodic.allElements" | "periodic.help.title" | "periodic.help.click" | "periodic.help.modClick" | "periodic.help.element" | "periodic.help.elementClick" | "periodic.help.elementMod" | "periodic.help.number" | "periodic.help.numberClick" | "periodic.help.runMod" | "periodic.help.block" | "periodic.help.blockClick" | "periodic.help.corner" | "periodic.help.cornerClick" | "periodic.help.arrowsClick" | "periodic.help.note" | "periodic.help.ctrl" | "periodic.cellLabel" | "periodic.category.alkali-metal" | "periodic.category.alkaline-earth-metal" | "periodic.category.transition-metal" | "periodic.category.post-transition-metal" | "periodic.category.metalloid" | "periodic.category.nonmetal" | "periodic.category.halogen" | "periodic.category.noble-gas" | "periodic.category.lanthanoid" | "periodic.category.actinoid" | "molecule3d.view" | "molecule3d.resetView" | "molecule3d.spin" | "molecule3d.surface" | "molecule3d.molecularSurface" | "molecule3d.displayOptions" | "molecule3d.exportImage" | "molecule3d.frames" | "molecule3d.framesHelp" | "molecule3d.frames.one" | "molecule3d.frames.all" | "molecule3d.fullScreen" | "molecule3d.measure" | "molecule3d.clearMeasurements" | "molecule3d.measurement.distance" | "molecule3d.measurement.angle" | "molecule3d.measurement.dihedral" | "molecule3d.measurementTooltip" | "molecule3d.representation.ball-and-stick" | "molecule3d.representation.spacefill" | "molecule3d.representation.stick" | "molecule3d.size" | "molecule3d.surfaceOpacity" | "molecule3d.solventProbe" | "molecule3d.solventProbeHelp" | "molecule3d.surfaceColour" | "molecule3d.colour" | "molecule3d.resetSettings" | "molecule3d.atDefaults" | "molecule3d.surfaceOff" | "molecule3d.showSurface" | "molecule3d.coloring.uniform" | "molecule3d.coloring.element" | "molecule3d.coloring.polarity" | "molecule3d.neutral" | "molecule3d.tpsaHelp" | "molecule3d.loadingViewer" | "molecule3d.couldNotDraw" | "molecule3d.gesture.rotate" | "molecule3d.gesture.rollDrag" | "molecule3d.gesture.rollKeys" | "molecule3d.gesture.moveDrag" | "molecule3d.gesture.moveCtrl" | "molecule3d.gesture.zoom" | "molecule3d.gesture.clip" | "molecule3d.gesture.centreAtom" | "molecule3d.gesture.centreMolecule" | "molecule3d.input.drag" | "molecule3d.input.plus" | "molecule3d.input.plusDrag" | "molecule3d.input.plusScroll" | "molecule3d.input.or" | "molecule3d.input.rightDrag" | "molecule3d.input.scroll" | "molecule3d.input.clickAtom" | "molecule3d.input.clickBackground" | "molecule3d.helpNote" | "orbital.couldNotDraw" | "orbital.sampling" | "orbital.showAxes" | "orbital.axesTitle" | "orbital.axesBody" | "orbital.axesExample" | "orbital.spin" | "orbital.spinTitle" | "orbital.spinBody" | "orbital.resetTitle" | "orbital.resetBody" | "viewer.capability.noWindow" | "viewer.capability.noContext" | "viewer.capability.noFloatTextures" | "viewer.capability.ready" | "conformers.strategy.adaptive-random" | "conformers.strategy.likely-random" | "conformers.strategy.pure-random" | "conformers.strategy.likely-systematic" | "conformers.strategyDetail.adaptive-random" | "conformers.strategyDetail.likely-random" | "conformers.strategyDetail.pure-random" | "conformers.strategyDetail.likely-systematic" | "conformers.minimisation.none" | "number.increment" | "number.decrement" | "range.lowest" | "range.highest" | "range.lowestIs" | "range.highestIs" | "range.noLowerBound" | "range.noUpperBound" | "range.typeValue" | "range.clear" | "taxonomy.lineage" | "taxonomy.rankNote" | "taxonomy.ncbi" | "taxonomy.ncbiTitle" | "taxonomy.rank.realm" | "taxonomy.rank.domain" | "taxonomy.rank.superkingdom" | "taxonomy.rank.kingdom" | "taxonomy.rank.subkingdom" | "taxonomy.rank.superphylum" | "taxonomy.rank.phylum" | "taxonomy.rank.subphylum" | "taxonomy.rank.superclass" | "taxonomy.rank.class" | "taxonomy.rank.subclass" | "taxonomy.rank.infraclass" | "taxonomy.rank.cohort" | "taxonomy.rank.subcohort" | "taxonomy.rank.superorder" | "taxonomy.rank.order" | "taxonomy.rank.suborder" | "taxonomy.rank.infraorder" | "taxonomy.rank.parvorder" | "taxonomy.rank.superfamily" | "taxonomy.rank.family" | "taxonomy.rank.subfamily" | "taxonomy.rank.tribe" | "taxonomy.rank.subtribe" | "taxonomy.rank.genus" | "taxonomy.rank.subgenus" | "taxonomy.rank.section" | "taxonomy.rank.subsection" | "taxonomy.rank.series" | "taxonomy.rank.subseries" | "taxonomy.rank.speciesGroup" | "taxonomy.rank.speciesSubgroup" | "taxonomy.rank.species" | "taxonomy.rank.formaSpecialis" | "taxonomy.rank.subspecies" | "taxonomy.rank.varietas" | "taxonomy.rank.subvariety" | "taxonomy.rank.forma" | "taxonomy.rank.pathogroup" | "taxonomy.rank.serogroup" | "taxonomy.rank.serotype" | "taxonomy.rank.biotype" | "taxonomy.rank.genotype" | "taxonomy.rank.morph" | "taxonomy.rank.strain" | "taxonomy.rank.isolate" | "taxonomy.rank.noRank" | "taxonomy.rank.clade" | "taxonomy.rank.cellularRoot" | "taxonomy.rank.acellularRoot" | "moleculesToken.title" | "moleculesToken.checkedAt" | "moleculesToken.checkAgain" | "moleculesToken.notChecked" | "moleculesToken.column.variable" | "moleculesToken.column.source" | "moleculesToken.column.status" | "moleculesToken.column.details" | "moleculesToken.anySource" | "moleculesToken.verdict.ok" | "moleculesToken.verdict.otherSource" | "moleculesToken.verdict.refused" | "moleculesToken.verdict.unset" | "moleculesToken.verdict.uncheckable" | "moleculesToken.verdict.unanswered" | "moleculesToken.forSource" | "moleculesToken.issued" | "moleculesToken.issuedTo" | "moleculesToken.lastUsed" | "moleculesToken.neverUsed" | "moleculesToken.otherSourceDetail" | "moleculesToken.refusedDetail" | "moleculesToken.unsetDetail" | "moleculesToken.uncheckableDetail" | "moleculesToken.howToChange" | "moleculesToken.fix.title" | "moleculesToken.fix.issueOne" | "moleculesToken.fix.issueMany" | "moleculesToken.fix.issueOnServer" | "moleculesToken.fix.envOne" | "moleculesToken.fix.envMany" | "moleculesToken.fix.restart" | "ir.mode.intensity" | "ir.raman.xTitle" | "ir.raman.chart" | "ir.raman.tools" | "ir.raman.viewer" | "ir.raman.viewerHelp" | "ir.raman.mark" | "ir.raman.about" | "ir.raman.documentation" | "ir.raman.command.documentation" | "ir.raman.command.readTool" | "ir.raman.command.boxTool" | "ir.raman.command.zoomIn" | "ir.raman.command.togglePicking" | "ir.raman.doc.bands" | "ir.raman.doc.sampled" | "ir.raman.aboutLead" | "ir.raman.credit.picking" | "ir.raman.credit.jcamp">;
21
21
  //# sourceMappingURL=chromeCatalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chromeCatalog.d.ts","sourceRoot":"","sources":["../../../src/i18n/core/chromeCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,uBAAuB,CAAuB;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,qCAAqC;AACrC,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,cAAc,ynrBAgBzB,CAAC"}
1
+ {"version":3,"file":"chromeCatalog.d.ts","sourceRoot":"","sources":["../../../src/i18n/core/chromeCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,uBAAuB,CAAuB;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD,qCAAqC;AACrC,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,cAAc,wmsBAgBzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bandAssignments.d.ts","sourceRoot":"","sources":["../../../src/ir/core/bandAssignments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAwRrD,CAAC"}
1
+ {"version":3,"file":"bandAssignments.d.ts","sourceRoot":"","sources":["../../../src/ir/core/bandAssignments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAmTrD,CAAC"}
@@ -29,6 +29,7 @@ export const BAND_ASSIGNMENTS = [
29
29
  from: 500,
30
30
  to: 600,
31
31
  strength: 'S',
32
+ note: 'Only with bromine in the formula; the mass spectrum shows its 1:1 M+2',
32
33
  },
33
34
  {
34
35
  id: 'c-cl-stretch',
@@ -37,6 +38,16 @@ export const BAND_ASSIGNMENTS = [
37
38
  from: 600,
38
39
  to: 800,
39
40
  strength: 'S',
41
+ note: 'Only with chlorine in the formula; the mass spectrum shows its 3:1 M+2',
42
+ },
43
+ {
44
+ id: 'alkyne-ch-bend',
45
+ group: 'alkyne',
46
+ vibration: '≡C–H bend',
47
+ from: 610,
48
+ to: 700,
49
+ strength: 'S',
50
+ note: 'Broad, and only beside the sharp ≡C–H stretch near 3300',
40
51
  },
41
52
  {
42
53
  id: 'aromatic-ch-oop',
@@ -72,6 +83,7 @@ export const BAND_ASSIGNMENTS = [
72
83
  from: 1000,
73
84
  to: 1400,
74
85
  strength: 'S',
86
+ note: 'Only with fluorine in the formula; a CF₃ gives several strong bands',
75
87
  },
76
88
  {
77
89
  id: 'c-n-stretch',
@@ -80,6 +92,7 @@ export const BAND_ASSIGNMENTS = [
80
92
  from: 1080,
81
93
  to: 1360,
82
94
  strength: 'm',
95
+ note: 'Only with nitrogen in the formula, and rarely decisive on its own',
83
96
  },
84
97
  {
85
98
  id: 'nitro-symmetric',
@@ -97,6 +110,7 @@ export const BAND_ASSIGNMENTS = [
97
110
  from: 1330,
98
111
  to: 1430,
99
112
  strength: 'm',
113
+ note: 'Only beside the broad O–H stretch above 3200',
100
114
  },
101
115
  {
102
116
  id: 'alkane-ch-bend',
@@ -123,6 +137,7 @@ export const BAND_ASSIGNMENTS = [
123
137
  from: 1500,
124
138
  to: 1560,
125
139
  strength: 'S',
140
+ note: 'Never alone: the symmetric partner sits near 1300–1390',
126
141
  },
127
142
  {
128
143
  id: 'nh-bend',
@@ -131,6 +146,7 @@ export const BAND_ASSIGNMENTS = [
131
146
  from: 1550,
132
147
  to: 1640,
133
148
  strength: 'm',
149
+ note: 'Only beside an N–H stretch between 3300 and 3500',
134
150
  },
135
151
  {
136
152
  id: 'alkene-cc-stretch',
@@ -193,6 +209,7 @@ export const BAND_ASSIGNMENTS = [
193
209
  from: 1770,
194
210
  to: 1815,
195
211
  strength: 'S',
212
+ note: 'The highest single carbonyl, and only with chlorine in the formula',
196
213
  },
197
214
  {
198
215
  id: 'anhydride-co-stretch',
@@ -203,6 +220,15 @@ export const BAND_ASSIGNMENTS = [
203
220
  strength: 'S',
204
221
  note: 'Two bands, about 60 apart, which is what names it',
205
222
  },
223
+ {
224
+ id: 'allene-stretch',
225
+ group: 'allene',
226
+ vibration: 'C=C=C asymmetric stretch',
227
+ from: 1900,
228
+ to: 2000,
229
+ strength: 'm',
230
+ note: 'Near 1950, where only a cumulated double bond absorbs',
231
+ },
206
232
  {
207
233
  id: 'nitrile-stretch',
208
234
  group: 'nitrile',
@@ -264,6 +290,7 @@ export const BAND_ASSIGNMENTS = [
264
290
  from: 3000,
265
291
  to: 3100,
266
292
  strength: 'm',
293
+ note: 'Above 3000, with the ring pair near 1500 and 1600',
267
294
  },
268
295
  {
269
296
  id: 'alkyne-ch-stretch',
@@ -1 +1 @@
1
- {"version":3,"file":"bandAssignments.js","sourceRoot":"","sources":["../../../src/ir/core/bandAssignments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bandAssignments.js","sourceRoot":"","sources":["../../../src/ir/core/bandAssignments.ts"],"names":[],"mappings":"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"}
@@ -24,10 +24,10 @@ export interface BandRowProps {
24
24
  /**
25
25
  * One band: where it is, how strong, and every vibration it could be.
26
26
  *
27
- * The candidates are written as one line rather than a list, so a strong band
28
- * with four of them stays one row of the table and the wavenumbers keep reading
29
- * down the column. The `title` carries them again with each one's note, which is
30
- * where the reason to prefer one lives.
27
+ * The candidates start as one line rather than a list, so a strong band with
28
+ * four of them stays one row of the table and the wavenumbers keep reading down
29
+ * the column. Its "more" opens the row onto every candidate with its note, which
30
+ * is where the reason to prefer one lives.
31
31
  * @param props - Component props.
32
32
  * @returns The row.
33
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BandRow.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/BandRow.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,GAAG,EAAE,OAAO,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BA+B1C"}
1
+ {"version":3,"file":"BandRow.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/BandRow.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,GAAG,EAAE,OAAO,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BA+B1C"}