react-cheminfo 0.65.0 → 0.66.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.
- package/README.md +11 -6
- package/lib/i18n/core/chromeCatalog.d.ts +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
- package/lib/ir/core/analysisSpectra.d.ts +23 -6
- package/lib/ir/core/analysisSpectra.d.ts.map +1 -1
- package/lib/ir/core/analysisSpectra.js.map +1 -1
- package/lib/ir/core/bandLabelPlan.d.ts.map +1 -1
- package/lib/ir/core/bandLabelPlan.js +11 -6
- package/lib/ir/core/bandLabelPlan.js.map +1 -1
- package/lib/ir/core/index.d.ts +13 -9
- package/lib/ir/core/index.d.ts.map +1 -1
- package/lib/ir/core/index.js +9 -6
- package/lib/ir/core/index.js.map +1 -1
- package/lib/ir/core/irBand.d.ts +45 -14
- package/lib/ir/core/irBand.d.ts.map +1 -1
- package/lib/ir/core/irBand.js +28 -6
- package/lib/ir/core/irBand.js.map +1 -1
- package/lib/ir/core/irCommands.d.ts +11 -0
- package/lib/ir/core/irCommands.d.ts.map +1 -1
- package/lib/ir/core/irCommands.js +11 -1
- package/lib/ir/core/irCommands.js.map +1 -1
- package/lib/ir/core/irDomain.d.ts +4 -3
- package/lib/ir/core/irDomain.d.ts.map +1 -1
- package/lib/ir/core/irDomain.js +10 -7
- package/lib/ir/core/irDomain.js.map +1 -1
- package/lib/ir/core/irFormat.d.ts +14 -2
- package/lib/ir/core/irFormat.d.ts.map +1 -1
- package/lib/ir/core/irFormat.js +33 -4
- package/lib/ir/core/irFormat.js.map +1 -1
- package/lib/ir/core/irMode.d.ts +35 -8
- package/lib/ir/core/irMode.d.ts.map +1 -1
- package/lib/ir/core/irMode.js +38 -10
- package/lib/ir/core/irMode.js.map +1 -1
- package/lib/ir/core/irReducer.d.ts +0 -28
- package/lib/ir/core/irReducer.d.ts.map +1 -1
- package/lib/ir/core/irReducer.js +1 -24
- package/lib/ir/core/irReducer.js.map +1 -1
- package/lib/ir/core/irSpectrum.d.ts +52 -26
- package/lib/ir/core/irSpectrum.d.ts.map +1 -1
- package/lib/ir/core/irSpectrum.js +21 -15
- package/lib/ir/core/irSpectrum.js.map +1 -1
- package/lib/ir/core/irState.d.ts +40 -2
- package/lib/ir/core/irState.d.ts.map +1 -1
- package/lib/ir/core/irState.js +38 -1
- package/lib/ir/core/irState.js.map +1 -1
- package/lib/ir/core/irTechnique.d.ts +94 -0
- package/lib/ir/core/irTechnique.d.ts.map +1 -0
- package/lib/ir/core/irTechnique.js +87 -0
- package/lib/ir/core/irTechnique.js.map +1 -0
- package/lib/ir/core/irTechniqueCommands.d.ts +26 -0
- package/lib/ir/core/irTechniqueCommands.d.ts.map +1 -0
- package/lib/ir/core/irTechniqueCommands.js +68 -0
- package/lib/ir/core/irTechniqueCommands.js.map +1 -0
- package/lib/ir/core/pickBands.d.ts +6 -5
- package/lib/ir/core/pickBands.d.ts.map +1 -1
- package/lib/ir/core/pickBands.js +49 -26
- package/lib/ir/core/pickBands.js.map +1 -1
- package/lib/ir/core/ramanBands.d.ts +30 -0
- package/lib/ir/core/ramanBands.d.ts.map +1 -0
- package/lib/ir/core/ramanBands.js +83 -0
- package/lib/ir/core/ramanBands.js.map +1 -0
- package/lib/ir/core/spectrumJcamp.d.ts +10 -5
- package/lib/ir/core/spectrumJcamp.d.ts.map +1 -1
- package/lib/ir/core/spectrumJcamp.js +63 -15
- package/lib/ir/core/spectrumJcamp.js.map +1 -1
- package/lib/ir/core/toIrSpectrum.d.ts.map +1 -1
- package/lib/ir/core/toIrSpectrum.js +17 -2
- package/lib/ir/core/toIrSpectrum.js.map +1 -1
- package/lib/ir/ui/BandRow.d.ts +30 -0
- package/lib/ir/ui/BandRow.d.ts.map +1 -0
- package/lib/ir/ui/BandRow.js +42 -0
- package/lib/ir/ui/BandRow.js.map +1 -0
- package/lib/ir/ui/BandsPanel.d.ts +4 -0
- package/lib/ir/ui/BandsPanel.d.ts.map +1 -1
- package/lib/ir/ui/BandsPanel.js +14 -59
- package/lib/ir/ui/BandsPanel.js.map +1 -1
- package/lib/ir/ui/IrAboutDialog.d.ts +7 -0
- package/lib/ir/ui/IrAboutDialog.d.ts.map +1 -1
- package/lib/ir/ui/IrAboutDialog.js +16 -3
- package/lib/ir/ui/IrAboutDialog.js.map +1 -1
- package/lib/ir/ui/IrCanvas.d.ts.map +1 -1
- package/lib/ir/ui/IrCanvas.js +2 -2
- package/lib/ir/ui/IrCanvas.js.map +1 -1
- package/lib/ir/ui/IrChart.d.ts +2 -1
- package/lib/ir/ui/IrChart.d.ts.map +1 -1
- package/lib/ir/ui/IrChart.js +18 -21
- package/lib/ir/ui/IrChart.js.map +1 -1
- package/lib/ir/ui/IrCommandProvider.d.ts +7 -0
- package/lib/ir/ui/IrCommandProvider.d.ts.map +1 -1
- package/lib/ir/ui/IrCommandProvider.js +2 -2
- package/lib/ir/ui/IrCommandProvider.js.map +1 -1
- package/lib/ir/ui/IrCommandTooltip.d.ts +7 -0
- package/lib/ir/ui/IrCommandTooltip.d.ts.map +1 -1
- package/lib/ir/ui/IrCommandTooltip.js +3 -2
- package/lib/ir/ui/IrCommandTooltip.js.map +1 -1
- package/lib/ir/ui/IrDocumentationDialog.d.ts +8 -1
- package/lib/ir/ui/IrDocumentationDialog.d.ts.map +1 -1
- package/lib/ir/ui/IrDocumentationDialog.js +30 -7
- package/lib/ir/ui/IrDocumentationDialog.js.map +1 -1
- package/lib/ir/ui/IrEditor.d.ts +3 -1
- package/lib/ir/ui/IrEditor.d.ts.map +1 -1
- package/lib/ir/ui/IrEditor.js +3 -20
- package/lib/ir/ui/IrEditor.js.map +1 -1
- package/lib/ir/ui/IrHeader.d.ts.map +1 -1
- package/lib/ir/ui/IrHeader.js +5 -1
- package/lib/ir/ui/IrHeader.js.map +1 -1
- package/lib/ir/ui/IrLogo.d.ts +11 -3
- package/lib/ir/ui/IrLogo.d.ts.map +1 -1
- package/lib/ir/ui/IrLogo.js +14 -5
- package/lib/ir/ui/IrLogo.js.map +1 -1
- package/lib/ir/ui/IrShell.d.ts.map +1 -1
- package/lib/ir/ui/IrShell.js +23 -56
- package/lib/ir/ui/IrShell.js.map +1 -1
- package/lib/ir/ui/IrStatusBar.d.ts +3 -2
- package/lib/ir/ui/IrStatusBar.d.ts.map +1 -1
- package/lib/ir/ui/IrStatusBar.js +14 -9
- package/lib/ir/ui/IrStatusBar.js.map +1 -1
- package/lib/ir/ui/IrToolbar.d.ts +3 -0
- package/lib/ir/ui/IrToolbar.d.ts.map +1 -1
- package/lib/ir/ui/IrToolbar.js +10 -3
- package/lib/ir/ui/IrToolbar.js.map +1 -1
- package/lib/ir/ui/IrTraces.d.ts +4 -1
- package/lib/ir/ui/IrTraces.d.ts.map +1 -1
- package/lib/ir/ui/IrTraces.js +2 -0
- package/lib/ir/ui/IrTraces.js.map +1 -1
- package/lib/ir/ui/RamanEditor.d.ts +46 -0
- package/lib/ir/ui/RamanEditor.d.ts.map +1 -0
- package/lib/ir/ui/RamanEditor.js +17 -0
- package/lib/ir/ui/RamanEditor.js.map +1 -0
- package/lib/ir/ui/SpectraPanel.d.ts.map +1 -1
- package/lib/ir/ui/SpectraPanel.js +2 -2
- package/lib/ir/ui/SpectraPanel.js.map +1 -1
- package/lib/ir/ui/SpectrumRow.d.ts +7 -0
- package/lib/ir/ui/SpectrumRow.d.ts.map +1 -1
- package/lib/ir/ui/SpectrumRow.js +4 -5
- package/lib/ir/ui/SpectrumRow.js.map +1 -1
- package/lib/ir/ui/VibrationalEditor.d.ts +48 -0
- package/lib/ir/ui/VibrationalEditor.d.ts.map +1 -0
- package/lib/ir/ui/VibrationalEditor.js +31 -0
- package/lib/ir/ui/VibrationalEditor.js.map +1 -0
- package/lib/ir/ui/bandsTsv.d.ts +19 -0
- package/lib/ir/ui/bandsTsv.d.ts.map +1 -0
- package/lib/ir/ui/bandsTsv.js +38 -0
- package/lib/ir/ui/bandsTsv.js.map +1 -0
- package/lib/ir/ui/irChartProps.d.ts +14 -4
- package/lib/ir/ui/irChartProps.d.ts.map +1 -1
- package/lib/ir/ui/irChartProps.js +3 -2
- package/lib/ir/ui/irChartProps.js.map +1 -1
- package/lib/ir/ui/irCommandContext.d.ts +8 -0
- package/lib/ir/ui/irCommandContext.d.ts.map +1 -1
- package/lib/ir/ui/irCommandContext.js +14 -3
- package/lib/ir/ui/irCommandContext.js.map +1 -1
- package/lib/ir/ui/useIrEditor.d.ts +3 -3
- package/lib/ir/ui/useIrEditor.d.ts.map +1 -1
- package/lib/ir/ui/useIrEditor.js +13 -4
- package/lib/ir/ui/useIrEditor.js.map +1 -1
- package/lib/ir/ui/useIrHandle.d.ts +14 -0
- package/lib/ir/ui/useIrHandle.d.ts.map +1 -0
- package/lib/ir/ui/useIrHandle.js +39 -0
- package/lib/ir/ui/useIrHandle.js.map +1 -0
- package/lib/ir/ui/useIrText.d.ts +40 -0
- package/lib/ir/ui/useIrText.d.ts.map +1 -0
- package/lib/ir/ui/useIrText.js +118 -0
- package/lib/ir/ui/useIrText.js.map +1 -0
- package/lib/ir/ui/useIrZoom.d.ts +7 -0
- package/lib/ir/ui/useIrZoom.d.ts.map +1 -1
- package/lib/ir/ui/useIrZoom.js +5 -4
- package/lib/ir/ui/useIrZoom.js.map +1 -1
- package/lib/ir/ui/useValueAxisZoom.d.ts +20 -0
- package/lib/ir/ui/useValueAxisZoom.d.ts.map +1 -0
- package/lib/ir/ui/useValueAxisZoom.js +54 -0
- package/lib/ir/ui/useValueAxisZoom.js.map +1 -0
- package/lib/ir.d.ts +3 -0
- package/lib/ir.d.ts.map +1 -1
- package/lib/ir.js +3 -0
- package/lib/ir.js.map +1 -1
- package/lib/locales/de.json +20 -1
- package/lib/locales/en.json +20 -1
- package/lib/locales/es.json +20 -1
- package/lib/locales/fr.json +20 -1
- package/lib/locales/it.json +20 -1
- package/lib/raman.d.ts +16 -0
- package/lib/raman.d.ts.map +1 -0
- package/lib/raman.js +12 -0
- package/lib/raman.js.map +1 -0
- package/package.json +2 -1
- package/src/ir/core/analysisSpectra.ts +26 -10
- package/src/ir/core/bandLabelPlan.ts +21 -10
- package/src/ir/core/index.ts +25 -5
- package/src/ir/core/irBand.ts +52 -14
- package/src/ir/core/irCommands.ts +15 -1
- package/src/ir/core/irDomain.ts +9 -7
- package/src/ir/core/irFormat.ts +39 -6
- package/src/ir/core/irMode.ts +42 -10
- package/src/ir/core/irReducer.ts +1 -49
- package/src/ir/core/irSpectrum.ts +59 -30
- package/src/ir/core/irState.ts +67 -2
- package/src/ir/core/irTechnique.ts +115 -0
- package/src/ir/core/irTechniqueCommands.ts +82 -0
- package/src/ir/core/pickBands.ts +63 -28
- package/src/ir/core/ramanBands.ts +105 -0
- package/src/ir/core/spectrumJcamp.ts +65 -16
- package/src/ir/core/toIrSpectrum.ts +20 -2
- package/src/ir/ui/BandRow.tsx +107 -0
- package/src/ir/ui/BandsPanel.tsx +32 -125
- package/src/ir/ui/IrAboutDialog.tsx +69 -28
- package/src/ir/ui/IrCanvas.tsx +2 -1
- package/src/ir/ui/IrChart.tsx +20 -24
- package/src/ir/ui/IrCommandProvider.tsx +10 -3
- package/src/ir/ui/IrCommandTooltip.tsx +11 -2
- package/src/ir/ui/IrDocumentationDialog.tsx +99 -55
- package/src/ir/ui/IrEditor.tsx +5 -36
- package/src/ir/ui/IrHeader.tsx +10 -3
- package/src/ir/ui/IrLogo.tsx +28 -9
- package/src/ir/ui/IrShell.tsx +27 -75
- package/src/ir/ui/IrStatusBar.tsx +17 -12
- package/src/ir/ui/IrToolbar.tsx +26 -15
- package/src/ir/ui/IrTraces.tsx +5 -1
- package/src/ir/ui/RamanEditor.tsx +53 -0
- package/src/ir/ui/SpectraPanel.tsx +2 -1
- package/src/ir/ui/SpectrumRow.tsx +14 -5
- package/src/ir/ui/VibrationalEditor.tsx +94 -0
- package/src/ir/ui/bandsTsv.ts +46 -0
- package/src/ir/ui/irChartProps.ts +14 -4
- package/src/ir/ui/irCommandContext.tsx +18 -3
- package/src/ir/ui/useIrEditor.ts +20 -8
- package/src/ir/ui/useIrHandle.ts +51 -0
- package/src/ir/ui/useIrText.ts +170 -0
- package/src/ir/ui/useIrZoom.ts +12 -3
- package/src/ir/ui/useValueAxisZoom.ts +67 -0
- package/src/ir.ts +3 -0
- package/src/locales/de.json +20 -1
- package/src/locales/en.json +20 -1
- package/src/locales/es.json +20 -1
- package/src/locales/fr.json +20 -1
- package/src/locales/it.json +20 -1
- package/src/raman.ts +19 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrDocumentationDialog.js","sourceRoot":"","sources":["../../../src/ir/ui/IrDocumentationDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"IrDocumentationDialog.js","sourceRoot":"","sources":["../../../src/ir/ui/IrDocumentationDialog.tsx"],"names":[],"mappings":"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"}
|
package/lib/ir/ui/IrEditor.d.ts
CHANGED
|
@@ -22,7 +22,8 @@ export interface IrEditorProps {
|
|
|
22
22
|
*/
|
|
23
23
|
onChange?: (spectra: IrSpectrum[]) => void;
|
|
24
24
|
/**
|
|
25
|
-
* Which value axis to open in.
|
|
25
|
+
* Which value axis to open in: transmittance or absorbance. Intensity, which
|
|
26
|
+
* infrared does not offer, opens transmittance instead.
|
|
26
27
|
* @default 'transmittance'
|
|
27
28
|
*/
|
|
28
29
|
mode?: IrMode;
|
|
@@ -41,6 +42,7 @@ export interface IrEditorProps {
|
|
|
41
42
|
/**
|
|
42
43
|
* An infrared spectrum viewer: a header across the top, the chart in the middle,
|
|
43
44
|
* the tools down the left, and the panels that interrogate it down the right.
|
|
45
|
+
* `RamanEditor`, from `react-cheminfo/raman`, is the same viewer for Raman.
|
|
44
46
|
*
|
|
45
47
|
* The same shape as the mass viewer, deliberately — a page may well hold both,
|
|
46
48
|
* and a chemist who has learned one should not have to learn the other. The chart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrEditor.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"IrEditor.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIhE,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IACpB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAC3C;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC;;;;OAIG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAE5C"}
|
package/lib/ir/ui/IrEditor.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { IrShell } from "./IrShell.js";
|
|
4
|
-
import { IrStateProvider } from "./IrStateProvider.js";
|
|
5
|
-
import { useIrEditor } from "./useIrEditor.js";
|
|
2
|
+
import { VibrationalEditor } from "./VibrationalEditor.js";
|
|
6
3
|
/**
|
|
7
4
|
* An infrared spectrum viewer: a header across the top, the chart in the middle,
|
|
8
5
|
* the tools down the left, and the panels that interrogate it down the right.
|
|
6
|
+
* `RamanEditor`, from `react-cheminfo/raman`, is the same viewer for Raman.
|
|
9
7
|
*
|
|
10
8
|
* The same shape as the mass viewer, deliberately — a page may well hold both,
|
|
11
9
|
* and a chemist who has learned one should not have to learn the other. The chart
|
|
@@ -22,21 +20,6 @@ import { useIrEditor } from "./useIrEditor.js";
|
|
|
22
20
|
* @returns The viewer.
|
|
23
21
|
*/
|
|
24
22
|
export function IrEditor(props) {
|
|
25
|
-
|
|
26
|
-
const editor = useIrEditor({
|
|
27
|
-
spectra: data,
|
|
28
|
-
settings: mode === undefined ? undefined : { mode },
|
|
29
|
-
panelIds: defaultPanelIds,
|
|
30
|
-
onChange,
|
|
31
|
-
});
|
|
32
|
-
return (_jsx(IrStateProvider, { editor: editor, children: _jsx(RootLayout, { style: rootLayoutStyle, children: _jsx(IrShell, { handle: ref }) }) }));
|
|
23
|
+
return _jsx(VibrationalEditor, { technique: "infrared", ...props });
|
|
33
24
|
}
|
|
34
|
-
/**
|
|
35
|
-
* The viewer fills what it is given, and its own children scroll rather than
|
|
36
|
-
* push: `react-science` lays its root out as a column of full width and height,
|
|
37
|
-
* and a flex column with no `minHeight` grows past its parent instead.
|
|
38
|
-
*/
|
|
39
|
-
const rootLayoutStyle = { minHeight: 0 };
|
|
40
|
-
/** What a viewer opens on when it is handed nothing, kept stable for the memo. */
|
|
41
|
-
const NO_SPECTRA = [];
|
|
42
25
|
//# sourceMappingURL=IrEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrEditor.js","sourceRoot":"","sources":["../../../src/ir/ui/IrEditor.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"IrEditor.js","sourceRoot":"","sources":["../../../src/ir/ui/IrEditor.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAwC5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAC,UAAU,KAAK,KAAK,GAAI,CAAC;AAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrHeader.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IrHeader.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrHeader.tsx"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,gCA2BvB"}
|
package/lib/ir/ui/IrHeader.js
CHANGED
|
@@ -2,6 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Header, Toolbar, useFullscreen } from 'react-science/ui';
|
|
3
3
|
import { IrLogo } from "./IrLogo.js";
|
|
4
4
|
import { useIrCommandProps } from "./irCommandContext.js";
|
|
5
|
+
import { useIrEditorState } from "./irStateContext.js";
|
|
6
|
+
import { useIrText } from "./useIrText.js";
|
|
5
7
|
/**
|
|
6
8
|
* The bar across the top: the mark on the left, the viewer on the right.
|
|
7
9
|
*
|
|
@@ -16,6 +18,8 @@ import { useIrCommandProps } from "./irCommandContext.js";
|
|
|
16
18
|
export function IrHeader() {
|
|
17
19
|
const command = useIrCommandProps();
|
|
18
20
|
const { isFullScreen } = useFullscreen();
|
|
19
|
-
|
|
21
|
+
const { technique } = useIrEditorState().state.settings;
|
|
22
|
+
const text = useIrText(technique);
|
|
23
|
+
return (_jsxs(Header, { children: [_jsx(Toolbar, { "aria-label": text.viewer, children: _jsx(Toolbar.Item, { icon: _jsx(IrLogo, { size: 16, technique: technique }), ...command('about') }) }), _jsxs(Toolbar, { "aria-label": text.viewerHelp, children: [_jsx(Toolbar.Item, { icon: "help", ...command('documentation') }), _jsx(Toolbar.Item, { icon: "fullscreen", active: isFullScreen, ...command('fullScreen') })] })] }));
|
|
20
24
|
}
|
|
21
25
|
//# sourceMappingURL=IrHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrHeader.js","sourceRoot":"","sources":["../../../src/ir/ui/IrHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"IrHeader.js","sourceRoot":"","sources":["../../../src/ir/ui/IrHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;IACxD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAElC,OAAO,CACL,MAAC,MAAM,eACL,KAAC,OAAO,kBAAa,IAAI,CAAC,MAAM,YAC9B,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,GAAI,KAC5C,OAAO,CAAC,OAAO,CAAC,GACpB,GACM,EACV,MAAC,OAAO,kBAAa,IAAI,CAAC,UAAU,aAClC,KAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAC,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,GAAI,EAI1D,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,YAAY,EACjB,MAAM,EAAE,YAAY,KAChB,OAAO,CAAC,YAAY,CAAC,GACzB,IACM,IACH,CACV,CAAC;AACJ,CAAC"}
|
package/lib/ir/ui/IrLogo.d.ts
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
|
+
import type { IrTechnique } from '../core/irTechnique.ts';
|
|
1
2
|
export interface IrLogoProps {
|
|
2
3
|
/**
|
|
3
4
|
* How big to draw it, in pixels.
|
|
4
5
|
* @default 16
|
|
5
6
|
*/
|
|
6
7
|
size?: number;
|
|
8
|
+
/**
|
|
9
|
+
* What the spectra were measured with, which decides which way the bands
|
|
10
|
+
* point.
|
|
11
|
+
* @default 'infrared'
|
|
12
|
+
*/
|
|
13
|
+
technique?: IrTechnique;
|
|
7
14
|
}
|
|
8
15
|
/**
|
|
9
|
-
* The viewer's mark: three bands
|
|
16
|
+
* The viewer's mark: three bands meeting a baseline.
|
|
10
17
|
*
|
|
11
18
|
* Drawn from the domain's own primitives rather than being a picture of a chart —
|
|
12
19
|
* a transmittance baseline near the top with a strong band, a medium one and a
|
|
13
20
|
* weak one dropping out of it, which is what an infrared spectrum looks like at a
|
|
14
|
-
* glance and what nothing else looks like.
|
|
15
|
-
*
|
|
21
|
+
* glance and what nothing else looks like. A Raman spectrum's bands stand up from
|
|
22
|
+
* a baseline near the foot instead, so its mark is the same three bands rising.
|
|
23
|
+
* Three elements, because that is what survives 16 pixels.
|
|
16
24
|
* @param props - Component props.
|
|
17
25
|
* @returns The mark, as SVG.
|
|
18
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrLogo.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrLogo.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"IrLogo.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrLogo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,+BA+BxC"}
|
package/lib/ir/ui/IrLogo.js
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useIrText } from "./useIrText.js";
|
|
2
3
|
/**
|
|
3
|
-
* The viewer's mark: three bands
|
|
4
|
+
* The viewer's mark: three bands meeting a baseline.
|
|
4
5
|
*
|
|
5
6
|
* Drawn from the domain's own primitives rather than being a picture of a chart —
|
|
6
7
|
* a transmittance baseline near the top with a strong band, a medium one and a
|
|
7
8
|
* weak one dropping out of it, which is what an infrared spectrum looks like at a
|
|
8
|
-
* glance and what nothing else looks like.
|
|
9
|
-
*
|
|
9
|
+
* glance and what nothing else looks like. A Raman spectrum's bands stand up from
|
|
10
|
+
* a baseline near the foot instead, so its mark is the same three bands rising.
|
|
11
|
+
* Three elements, because that is what survives 16 pixels.
|
|
10
12
|
* @param props - Component props.
|
|
11
13
|
* @returns The mark, as SVG.
|
|
12
14
|
*/
|
|
13
15
|
export function IrLogo(props) {
|
|
14
|
-
const { size = 16 } = props;
|
|
15
|
-
|
|
16
|
+
const { size = 16, technique = 'infrared' } = props;
|
|
17
|
+
const { mark } = useIrText(technique);
|
|
18
|
+
const { baseline, bands } = MARKS[technique];
|
|
19
|
+
return (_jsxs("svg", { width: size, height: size, viewBox: "0 0 16 16", role: "img", "aria-label": mark, children: [_jsx("path", { d: baseline, fill: "none", stroke: "#94a3b8", strokeWidth: 1, strokeLinecap: "round" }), _jsx("path", { d: bands, fill: "none", stroke: "#0072b2", strokeWidth: 2, strokeLinecap: "round" })] }));
|
|
16
20
|
}
|
|
21
|
+
/** The two strokes of each technique's mark. */
|
|
22
|
+
const MARKS = {
|
|
23
|
+
infrared: { baseline: 'M1 3H15', bands: 'M3 3V13M8 3V8.5M12.5 3V6' },
|
|
24
|
+
raman: { baseline: 'M1 13H15', bands: 'M3 13V3M8 13V7.5M12.5 13V10' },
|
|
25
|
+
};
|
|
17
26
|
//# sourceMappingURL=IrLogo.js.map
|
package/lib/ir/ui/IrLogo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrLogo.js","sourceRoot":"","sources":["../../../src/ir/ui/IrLogo.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"IrLogo.js","sourceRoot":"","sources":["../../../src/ir/ui/IrLogo.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgB3C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAE7C,OAAO,CACL,eACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,KAAK,gBACE,IAAI,aAGhB,eACE,CAAC,EAAE,QAAQ,EACX,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,SAAS,EAChB,WAAW,EAAE,CAAC,EACd,aAAa,EAAC,OAAO,GACrB,EAEF,eACE,CAAC,EAAE,KAAK,EACR,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,SAAS,EAChB,WAAW,EAAE,CAAC,EACd,aAAa,EAAC,OAAO,GACrB,IACE,CACP,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,KAAK,GAA6D;IACtE,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,6BAA6B,EAAE;CACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrShell.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"IrShell.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AASjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAmB7D,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BAgJ1C"}
|
package/lib/ir/ui/IrShell.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useId, useMemo, useState } from 'react';
|
|
3
3
|
import { SplitPane, useFullscreen } from 'react-science/ui';
|
|
4
4
|
import { sanitizeFileName } from "../../download/core/sanitizeFileName.js";
|
|
5
5
|
import { useFigureDownload } from "../../download/ui/useFigureDownload.js";
|
|
6
6
|
import { PanelRail } from "../../panel/ui/PanelRail.js";
|
|
7
|
-
import {
|
|
8
|
-
import { otherIrMode, yAxisRules } from "../core/irMode.js";
|
|
7
|
+
import { otherIrMode } from "../core/irMode.js";
|
|
9
8
|
import { irSidePanels } from "../core/irSidePanels.js";
|
|
10
9
|
import { DEFAULT_SIDE_PANEL } from "../core/irState.js";
|
|
10
|
+
import { irCommandOffered } from "../core/irTechniqueCommands.js";
|
|
11
11
|
import { IrAboutDialog } from "./IrAboutDialog.js";
|
|
12
12
|
import { IrCanvas } from "./IrCanvas.js";
|
|
13
13
|
import { IrCommandProvider } from "./IrCommandProvider.js";
|
|
@@ -16,7 +16,9 @@ import { IrHeader } from "./IrHeader.js";
|
|
|
16
16
|
import { IrSidePanel } from "./IrSidePanel.js";
|
|
17
17
|
import { IrToolbar } from "./IrToolbar.js";
|
|
18
18
|
import { useIrActions, useIrEditorState } from "./irStateContext.js";
|
|
19
|
+
import { useIrHandle } from "./useIrHandle.js";
|
|
19
20
|
import { useIrShortcuts } from "./useIrShortcuts.js";
|
|
21
|
+
import { useValueAxisZoom } from "./useValueAxisZoom.js";
|
|
20
22
|
/**
|
|
21
23
|
* The viewer's screen: a header, the rails, and the split between the chart and
|
|
22
24
|
* the panels.
|
|
@@ -36,8 +38,8 @@ export function IrShell(props) {
|
|
|
36
38
|
const { state, visibleSpectra, selectedSpectrum } = useIrEditorState();
|
|
37
39
|
const actions = useIrActions();
|
|
38
40
|
const { toggle: toggleFullScreen } = useFullscreen();
|
|
39
|
-
const { openPanelIds, tool
|
|
40
|
-
const { mode, pickBands, showAssignments } = state.settings;
|
|
41
|
+
const { openPanelIds, tool } = state.view;
|
|
42
|
+
const { mode, pickBands, showAssignments, technique } = state.settings;
|
|
41
43
|
const [isAboutOpen, setIsAboutOpen] = useState(false);
|
|
42
44
|
const [isDocumentationOpen, setIsDocumentationOpen] = useState(false);
|
|
43
45
|
// The chart is the picture, so the box it is drawn in is what the figure
|
|
@@ -54,45 +56,36 @@ export function IrShell(props) {
|
|
|
54
56
|
// chart, so putting it through the reducer would run every panel's memo sixty
|
|
55
57
|
// times a second.
|
|
56
58
|
const [highlight, setHighlight] = useState(null);
|
|
57
|
-
|
|
58
|
-
* ChartScale the value axis by a factor, about the baseline the mode hangs from.
|
|
59
|
-
* @param factor - Above one to zoom out.
|
|
60
|
-
*/
|
|
61
|
-
const scaleValueAxis = useCallback((factor) => {
|
|
62
|
-
const shown = domain ?? fullDomain(visibleSpectra, mode);
|
|
63
|
-
// Asked of the mode rather than written out again here: the baseline a
|
|
64
|
-
// value axis is scaled about is `irMode`'s to know, and a second copy of
|
|
65
|
-
// it is a second thing to get wrong.
|
|
66
|
-
const { baseline = 0 } = yAxisRules(mode);
|
|
67
|
-
actions.setDomain({
|
|
68
|
-
x: shown.x,
|
|
69
|
-
y: [
|
|
70
|
-
baseline + (shown.y[0] - baseline) * factor,
|
|
71
|
-
baseline + (shown.y[1] - baseline) * factor,
|
|
72
|
-
],
|
|
73
|
-
});
|
|
74
|
-
}, [actions, domain, visibleSpectra, mode]);
|
|
59
|
+
const { zoomIn, zoomOut } = useValueAxisZoom();
|
|
75
60
|
const commands = useMemo(() => ({
|
|
76
61
|
about: () => setIsAboutOpen(true),
|
|
77
62
|
documentation: () => setIsDocumentationOpen(true),
|
|
78
63
|
fullScreen: toggleFullScreen,
|
|
79
64
|
readTool: () => actions.setTool('read'),
|
|
80
65
|
boxTool: () => actions.setTool(tool === 'box' ? 'read' : 'box'),
|
|
81
|
-
zoomIn
|
|
82
|
-
zoomOut
|
|
66
|
+
zoomIn,
|
|
67
|
+
zoomOut,
|
|
83
68
|
resetZoom: () => actions.resetDomain(),
|
|
84
|
-
|
|
69
|
+
// A command the technique does not offer has no handler, so its key
|
|
70
|
+
// stays with the page.
|
|
71
|
+
toggleMode: irCommandOffered(technique, 'toggleMode')
|
|
72
|
+
? () => actions.setSettings({ mode: otherIrMode(mode, technique) })
|
|
73
|
+
: undefined,
|
|
85
74
|
togglePicking: () => actions.setSettings({ pickBands: !pickBands }),
|
|
86
|
-
toggleAssignments: (
|
|
75
|
+
toggleAssignments: irCommandOffered(technique, 'toggleAssignments')
|
|
76
|
+
? () => actions.setSettings({ showAssignments: !showAssignments })
|
|
77
|
+
: undefined,
|
|
87
78
|
exportImage: () => setFigureOpen(!isFigureOpen),
|
|
88
79
|
clear: () => actions.clear(),
|
|
89
80
|
}), [
|
|
90
81
|
actions,
|
|
91
82
|
tool,
|
|
92
83
|
mode,
|
|
84
|
+
technique,
|
|
93
85
|
pickBands,
|
|
94
86
|
showAssignments,
|
|
95
|
-
|
|
87
|
+
zoomIn,
|
|
88
|
+
zoomOut,
|
|
96
89
|
toggleFullScreen,
|
|
97
90
|
isFigureOpen,
|
|
98
91
|
setFigureOpen,
|
|
@@ -103,23 +96,7 @@ export function IrShell(props) {
|
|
|
103
96
|
// again.
|
|
104
97
|
const [root, setRoot] = useState(null);
|
|
105
98
|
useIrShortcuts(root, commands);
|
|
106
|
-
|
|
107
|
-
getSpectra: () => state.data.spectra,
|
|
108
|
-
setSpectra: (spectra) => actions.setSpectra(spectra),
|
|
109
|
-
addSpectra: (spectra) => actions.addSpectra(spectra),
|
|
110
|
-
clear: () => actions.clear(),
|
|
111
|
-
setDomain: (next) => actions.setDomain(next),
|
|
112
|
-
resetDomain: () => actions.resetDomain(),
|
|
113
|
-
zoomToWavenumber: (wavenumber, options = {}) => {
|
|
114
|
-
const { width = DEFAULT_FRAME_WIDTH } = options;
|
|
115
|
-
const shown = domain ?? fullDomain(visibleSpectra, mode);
|
|
116
|
-
actions.setDomain({
|
|
117
|
-
x: [wavenumber - width / 2, wavenumber + width / 2],
|
|
118
|
-
y: shown.y,
|
|
119
|
-
});
|
|
120
|
-
},
|
|
121
|
-
selectSpectrum: (id) => actions.selectSpectrum(id),
|
|
122
|
-
}), [state.data.spectra, actions, domain, visibleSpectra, mode]);
|
|
99
|
+
useIrHandle(handle);
|
|
123
100
|
/**
|
|
124
101
|
* Open or close the side, as the splitter is dragged shut and back open.
|
|
125
102
|
* @param open - Whether the side is now open.
|
|
@@ -135,18 +112,8 @@ export function IrShell(props) {
|
|
|
135
112
|
if (openPanelIds.length === 0)
|
|
136
113
|
actions.togglePanel(DEFAULT_SIDE_PANEL);
|
|
137
114
|
}
|
|
138
|
-
return (_jsxs(IrCommandProvider, { handlers: commands, children: [_jsxs("div", { ref: setRoot, tabIndex: -1, style: rootStyle, children: [_jsx(IrHeader, {}), _jsxs("div", { style: mainStyle, children: [_jsx("div", { style: railStyle, children: _jsx(IrToolbar, { figure: figure }) }), _jsxs(SplitPane, { direction: "horizontal", controlledSide: "end", defaultSize: "360px", open: openPanelIds.length > 0, onOpenChange: setSideOpen, children: [_jsx(IrCanvas, { highlight: highlight, onHighlight: setHighlight, chartId: chartId }), _jsx(IrSidePanel, { highlight: highlight, onHighlight: setHighlight })] }), _jsx("div", { style: railStyle, children: _jsx(PanelRail, { panels: irSidePanels, openIds: openPanelIds, onToggle: actions.togglePanel }) })] })] }), _jsx(IrAboutDialog, { isOpen: isAboutOpen, onClose: () => setIsAboutOpen(false) }), _jsx(IrDocumentationDialog, { isOpen: isDocumentationOpen, onClose: () => setIsDocumentationOpen(false) })] }));
|
|
115
|
+
return (_jsxs(IrCommandProvider, { handlers: commands, technique: technique, children: [_jsxs("div", { ref: setRoot, tabIndex: -1, style: rootStyle, children: [_jsx(IrHeader, {}), _jsxs("div", { style: mainStyle, children: [_jsx("div", { style: railStyle, children: _jsx(IrToolbar, { figure: figure }) }), _jsxs(SplitPane, { direction: "horizontal", controlledSide: "end", defaultSize: "360px", open: openPanelIds.length > 0, onOpenChange: setSideOpen, children: [_jsx(IrCanvas, { highlight: highlight, onHighlight: setHighlight, chartId: chartId }), _jsx(IrSidePanel, { highlight: highlight, onHighlight: setHighlight })] }), _jsx("div", { style: railStyle, children: _jsx(PanelRail, { panels: irSidePanels, openIds: openPanelIds, onToggle: actions.togglePanel }) })] })] }), _jsx(IrAboutDialog, { isOpen: isAboutOpen, onClose: () => setIsAboutOpen(false), technique: technique }), _jsx(IrDocumentationDialog, { isOpen: isDocumentationOpen, onClose: () => setIsDocumentationOpen(false), technique: technique })] }));
|
|
139
116
|
}
|
|
140
|
-
/**
|
|
141
|
-
* What one press of zoom in or out is worth.
|
|
142
|
-
*
|
|
143
|
-
* A fifth, which is about what one notch of a mouse wheel does — so the button
|
|
144
|
-
* and the wheel feel like the same gesture at two speeds rather than two
|
|
145
|
-
* different ones.
|
|
146
|
-
*/
|
|
147
|
-
const ZOOM_STEP = 1.2;
|
|
148
|
-
/** How wide a window a host gets when it asks to frame a band without saying. */
|
|
149
|
-
const DEFAULT_FRAME_WIDTH = 200;
|
|
150
117
|
/**
|
|
151
118
|
* What a picture of the chart is called.
|
|
152
119
|
*
|
package/lib/ir/ui/IrShell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrShell.js","sourceRoot":"","sources":["../../../src/ir/ui/IrShell.tsx"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"IrShell.js","sourceRoot":"","sources":["../../../src/ir/ui/IrShell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Everything in it is derived, so it is the cheapest place in the viewer to
|
|
5
5
|
* answer "did that work" — how many spectra are drawn of those open, how many
|
|
6
|
-
* bands the picking found and how many the table had something to say about
|
|
7
|
-
* the range the selected spectrum
|
|
6
|
+
* bands the picking found and how many the table had something to say about
|
|
7
|
+
* (where the table covers the technique), and the range the selected spectrum
|
|
8
|
+
* covers, in the order its axis is read.
|
|
8
9
|
*
|
|
9
10
|
* The refusal is last and is the only red in the shell, so the eye that has just
|
|
10
11
|
* pressed something and seen nothing happen lands on the reason.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrStatusBar.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrStatusBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IrStatusBar.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrStatusBar.tsx"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,gCAqD1B"}
|
package/lib/ir/ui/IrStatusBar.js
CHANGED
|
@@ -2,16 +2,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Icon } from '@blueprintjs/core';
|
|
3
3
|
import { countLabel, statusBarStyle as barStyle, statusItemStyle as itemStyle, statusMutedStyle as mutedStyle, statusSpacerStyle as spacerStyle, } from "../../panel/core/statusBar.js";
|
|
4
4
|
import { countAssigned } from "../core/assignBands.js";
|
|
5
|
-
import {
|
|
6
|
-
import { boxZoomOnly
|
|
5
|
+
import { formatWavenumberRange } from "../core/irFormat.js";
|
|
6
|
+
import { boxZoomOnly } from "../core/irMode.js";
|
|
7
|
+
import { IR_TECHNIQUE_RULES } from "../core/irTechnique.js";
|
|
7
8
|
import { useIrEditorState } from "./irStateContext.js";
|
|
9
|
+
import { useIrText } from "./useIrText.js";
|
|
8
10
|
/**
|
|
9
11
|
* The one line under the chart: what is drawn, what was found, what went wrong.
|
|
10
12
|
*
|
|
11
13
|
* Everything in it is derived, so it is the cheapest place in the viewer to
|
|
12
14
|
* answer "did that work" — how many spectra are drawn of those open, how many
|
|
13
|
-
* bands the picking found and how many the table had something to say about
|
|
14
|
-
* the range the selected spectrum
|
|
15
|
+
* bands the picking found and how many the table had something to say about
|
|
16
|
+
* (where the table covers the technique), and the range the selected spectrum
|
|
17
|
+
* covers, in the order its axis is read.
|
|
15
18
|
*
|
|
16
19
|
* The refusal is last and is the only red in the shell, so the eye that has just
|
|
17
20
|
* pressed something and seen nothing happen lands on the reason.
|
|
@@ -21,13 +24,15 @@ export function IrStatusBar() {
|
|
|
21
24
|
const { state, visibleSpectra, selectedSpectrum, assigned } = useIrEditorState();
|
|
22
25
|
const { spectra } = state.data;
|
|
23
26
|
const { error, tool } = state.view;
|
|
24
|
-
const { mode, pickBands } = state.settings;
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
const { mode, pickBands, technique } = state.settings;
|
|
28
|
+
const { reverseX, assignments } = IR_TECHNIQUE_RULES[technique];
|
|
29
|
+
const text = useIrText(technique);
|
|
30
|
+
const range = selectedSpectrum === null
|
|
31
|
+
? ''
|
|
32
|
+
: formatWavenumberRange(selectedSpectrum.wavenumber, reverseX);
|
|
28
33
|
return (_jsxs("div", { style: barStyle, children: [_jsx("span", { style: itemStyle, children: spectra.length === 0
|
|
29
34
|
? 'no spectrum open'
|
|
30
|
-
: `${countLabel(visibleSpectra.length, 'spectrum', 'spectra')} drawn of ${spectra.length}` }), _jsx("span", { style: itemStyle, children:
|
|
35
|
+
: `${countLabel(visibleSpectra.length, 'spectrum', 'spectra')} drawn of ${spectra.length}` }), _jsx("span", { style: itemStyle, children: text.yTitle(mode) }), selectedSpectrum === null ? null : (_jsx("span", { style: nameStyle, title: selectedSpectrum.name, children: selectedSpectrum.name })), range === '' ? null : _jsx("span", { style: mutedStyle, children: range }), pickBands && assigned.length > 0 ? (_jsxs("span", { style: itemStyle, children: [countLabel(assigned.length, 'band', 'bands'), assignments ? `, ${countAssigned(assigned)} assigned` : null] })) : null, boxZoomOnly(mode) || tool === 'box' ? (_jsx("span", { style: mutedStyle, children: "square zoom: drag a rectangle" })) : null, _jsx("span", { style: spacerStyle }), error === null ? null : (_jsxs("span", { style: errorStyle, title: error, children: [_jsx(Icon, { icon: "warning-sign", size: 12 }), error] }))] }));
|
|
31
36
|
}
|
|
32
37
|
const nameStyle = {
|
|
33
38
|
...itemStyle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrStatusBar.js","sourceRoot":"","sources":["../../../src/ir/ui/IrStatusBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EACL,UAAU,EACV,cAAc,IAAI,QAAQ,EAC1B,eAAe,IAAI,SAAS,EAC5B,gBAAgB,IAAI,UAAU,EAC9B,iBAAiB,IAAI,WAAW,GACjC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IrStatusBar.js","sourceRoot":"","sources":["../../../src/ir/ui/IrStatusBar.tsx"],"names":[],"mappings":"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"}
|
package/lib/ir/ui/IrToolbar.d.ts
CHANGED
|
@@ -21,6 +21,9 @@ export interface IrToolbarProps {
|
|
|
21
21
|
* drag on that axis is a rectangle, so both buttons go dead with the square zoom
|
|
22
22
|
* lit. Showing `read` as available there would offer a gesture the chart does not
|
|
23
23
|
* make, and showing it as *active* would name the wrong one.
|
|
24
|
+
*
|
|
25
|
+
* A button whose command the technique does not offer is not drawn: a Raman
|
|
26
|
+
* spectrum has a single value axis and no assignment to name.
|
|
24
27
|
* @param props - Component props.
|
|
25
28
|
* @returns The toolbar.
|
|
26
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrToolbar.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrToolbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"IrToolbar.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrToolbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AASnF,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BAsG9C"}
|
package/lib/ir/ui/IrToolbar.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Toolbar } from 'react-science/ui';
|
|
3
|
-
import { boxZoomOnly } from "../core/irMode.js";
|
|
3
|
+
import { bandsPointDown, boxZoomOnly } from "../core/irMode.js";
|
|
4
|
+
import { defaultIrMode } from "../core/irTechnique.js";
|
|
5
|
+
import { irCommandOffered } from "../core/irTechniqueCommands.js";
|
|
4
6
|
import { useIrCommandProps } from "./irCommandContext.js";
|
|
5
7
|
import { useIrEditorState } from "./irStateContext.js";
|
|
8
|
+
import { useIrText } from "./useIrText.js";
|
|
6
9
|
/**
|
|
7
10
|
* The tools, down the left of the chart.
|
|
8
11
|
*
|
|
@@ -17,6 +20,9 @@ import { useIrEditorState } from "./irStateContext.js";
|
|
|
17
20
|
* drag on that axis is a rectangle, so both buttons go dead with the square zoom
|
|
18
21
|
* lit. Showing `read` as available there would offer a gesture the chart does not
|
|
19
22
|
* make, and showing it as *active* would name the wrong one.
|
|
23
|
+
*
|
|
24
|
+
* A button whose command the technique does not offer is not drawn: a Raman
|
|
25
|
+
* spectrum has a single value axis and no assignment to name.
|
|
20
26
|
* @param props - Component props.
|
|
21
27
|
* @returns The toolbar.
|
|
22
28
|
*/
|
|
@@ -26,12 +32,13 @@ export function IrToolbar(props) {
|
|
|
26
32
|
const command = useIrCommandProps();
|
|
27
33
|
const { spectra } = state.data;
|
|
28
34
|
const { domain, tool } = state.view;
|
|
29
|
-
const { mode, pickBands, showAssignments } = state.settings;
|
|
35
|
+
const { mode, pickBands, showAssignments, technique } = state.settings;
|
|
36
|
+
const text = useIrText(technique);
|
|
30
37
|
const isEmpty = spectra.length === 0;
|
|
31
38
|
// The popover opens the panel itself, so the command's own click is left out.
|
|
32
39
|
const exportCommand = command('exportImage');
|
|
33
40
|
const settled = boxZoomOnly(mode);
|
|
34
|
-
return (_jsxs(Toolbar, { vertical: true, overflow: "collapse", "aria-label":
|
|
41
|
+
return (_jsxs(Toolbar, { vertical: true, overflow: "collapse", "aria-label": text.tools, children: [_jsx(Toolbar.Item, { icon: "trash", intent: "danger", ...command('clear'), disabled: isEmpty }), _jsx(Toolbar.Item, { icon: "arrows-horizontal", active: !settled && tool === 'read', ...command('readTool'), disabled: isEmpty || settled }), _jsx(Toolbar.Item, { icon: "select", active: settled || tool === 'box', ...command('boxTool'), disabled: isEmpty || settled }), _jsx(Toolbar.Item, { icon: "zoom-in", ...command('zoomIn'), disabled: isEmpty }), _jsx(Toolbar.Item, { icon: "zoom-out", ...command('zoomOut'), disabled: isEmpty }), _jsx(Toolbar.Item, { icon: "zoom-to-fit", ...command('resetZoom'), disabled: domain === null }), irCommandOffered(technique, 'toggleMode') ? (_jsx(Toolbar.Item, { icon: bandsPointDown(mode) ? 'arrow-down' : 'arrow-up', active: mode !== defaultIrMode(technique), ...command('toggleMode'), disabled: isEmpty })) : null, _jsx(Toolbar.Item, { icon: "locate", active: pickBands, ...command('togglePicking'), disabled: selectedSpectrum === null }), irCommandOffered(technique, 'toggleAssignments') ? (_jsx(Toolbar.Item, { icon: "label", active: showAssignments, ...command('toggleAssignments'), disabled: !pickBands || selectedSpectrum === null })) : null, figure === undefined ? (_jsx(Toolbar.Item, { icon: "media", ...command('exportImage'), disabled: isEmpty })) : (_jsx(Toolbar.PopoverItem, { isOpen: figure.isOpen, onInteraction: figure.setOpen, content: figure.panel, disabled: isEmpty, itemProps: {
|
|
35
42
|
icon: 'media',
|
|
36
43
|
tooltip: exportCommand.tooltip,
|
|
37
44
|
'aria-label': exportCommand['aria-label'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrToolbar.js","sourceRoot":"","sources":["../../../src/ir/ui/IrToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"IrToolbar.js","sourceRoot":"","sources":["../../../src/ir/ui/IrToolbar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAW3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvE,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IACrC,8EAA8E;IAC9E,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,CAIL,MAAC,OAAO,IAAC,QAAQ,QAAC,QAAQ,EAAC,UAAU,gBAAa,IAAI,CAAC,KAAK,aAC1D,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,OAAO,EACZ,MAAM,EAAC,QAAQ,KACX,OAAO,CAAC,OAAO,CAAC,EACpB,QAAQ,EAAE,OAAO,GACjB,EAGF,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAE,CAAC,OAAO,IAAI,IAAI,KAAK,MAAM,KAC/B,OAAO,CAAC,UAAU,CAAC,EACvB,QAAQ,EAAE,OAAO,IAAI,OAAO,GAC5B,EACF,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,OAAO,IAAI,IAAI,KAAK,KAAK,KAC7B,OAAO,CAAC,SAAS,CAAC,EACtB,QAAQ,EAAE,OAAO,IAAI,OAAO,GAC5B,EAEF,KAAC,OAAO,CAAC,IAAI,IAAC,IAAI,EAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAI,EACzE,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,UAAU,KACX,OAAO,CAAC,SAAS,CAAC,EACtB,QAAQ,EAAE,OAAO,GACjB,EACF,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,aAAa,KACd,OAAO,CAAC,WAAW,CAAC,EACxB,QAAQ,EAAE,MAAM,KAAK,IAAI,GACzB,EAED,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAC3C,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EACtD,MAAM,EAAE,IAAI,KAAK,aAAa,CAAC,SAAS,CAAC,KACrC,OAAO,CAAC,YAAY,CAAC,EACzB,QAAQ,EAAE,OAAO,GACjB,CACH,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,SAAS,KACb,OAAO,CAAC,eAAe,CAAC,EAC5B,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GACnC,EACD,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAClD,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,eAAe,KACnB,OAAO,CAAC,mBAAmB,CAAC,EAChC,QAAQ,EAAE,CAAC,SAAS,IAAI,gBAAgB,KAAK,IAAI,GACjD,CACH,CAAC,CAAC,CAAC,IAAI,EAMP,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,OAAO,KACR,OAAO,CAAC,aAAa,CAAC,EAC1B,QAAQ,EAAE,OAAO,GACjB,CACH,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,CAAC,WAAW,IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,aAAa,EAAE,MAAM,CAAC,OAAO,EAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,EACrB,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC;oBACzC,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,OAAO;iBAClB,GACD,CACH,IACO,CACX,CAAC;AACJ,CAAC"}
|
package/lib/ir/ui/IrTraces.d.ts
CHANGED
|
@@ -20,7 +20,10 @@ export interface IrTracesProps {
|
|
|
20
20
|
* the *high* end, the opposite of what every other chart's does.
|
|
21
21
|
*/
|
|
22
22
|
xDomain: readonly [number, number];
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* The wavenumber axis as it is currently zoomed, running right to left for
|
|
25
|
+
* infrared.
|
|
26
|
+
*/
|
|
24
27
|
xScale: ChartScale;
|
|
25
28
|
/** The value axis as it is currently zoomed. */
|
|
26
29
|
yScale: ChartScale;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrTraces.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrTraces.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;;;;OAKG;IACH,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC
|
|
1
|
+
{"version":3,"file":"IrTraces.d.ts","sourceRoot":"","sources":["../../../src/ir/ui/IrTraces.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;;;;OAKG;IACH,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB,gDAAgD;IAChD,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CA2C3D"}
|
package/lib/ir/ui/IrTraces.js
CHANGED
|
@@ -40,6 +40,8 @@ export function IrTraces(props) {
|
|
|
40
40
|
if (!spectrum.visible)
|
|
41
41
|
continue;
|
|
42
42
|
const trace = traceOf(spectrum, mode);
|
|
43
|
+
if (trace === undefined)
|
|
44
|
+
continue;
|
|
43
45
|
const { x, y } = xyReduce(trace, { from, to, nbPoints: wanted });
|
|
44
46
|
const d = profilePath(x, y, xScale, yScale);
|
|
45
47
|
if (d !== '')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrTraces.js","sourceRoot":"","sources":["../../../src/ir/ui/IrTraces.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"IrTraces.js","sourceRoot":"","sources":["../../../src/ir/ui/IrTraces.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAoChD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,YAAY,GAAG,IAAI,GACpB,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,iBAAiB,CAAC;IAEvE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,KAAK,GAAoD,EAAE,CAAC;QAClE,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,SAAS;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtD,OAAO,CACL,YAAG,aAAa,EAAC,MAAM,YACpB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,eAEE,CAAC,EAAE,IAAI,CAAC,CAAC,EACT,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,IAAI,CAAC,KAAK,EAClB,WAAW,EACT,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAE3D,cAAc,EAAC,OAAO,IAPjB,IAAI,CAAC,EAAE,CAQZ,CACH,CAAC,GACA,CACL,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,kCAAkC;AAClC,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC"}
|