react-science 0.25.0 → 0.26.2
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/lib/app/explorer/MeasurementExplorer.js +29 -7
- package/lib/app/explorer/MeasurementExplorerWithState.js +2 -2
- package/lib/app/helpers/MeasurementPlot.js +28 -19
- package/lib/app/helpers/react-plot.js +1 -1
- package/lib/app/kinds/mass/MassPlotView.js +2 -2
- package/lib/app/kinds/mass/MeasurementMassPlot.js +49 -33
- package/lib/app/panels/measurement-info/MeasurementInfoPanel.js +13 -58
- package/lib/app-data/state/data/data.helpers.js +32 -8
- package/lib/components/forms/Checkbox.js +4 -5
- package/lib/components/forms/Input.js +3 -87
- package/lib/components/forms/TextArea.js +25 -0
- package/lib/components/forms/index.js +2 -0
- package/lib/components/forms/radio-group/ButtonRadioItem.js +76 -0
- package/lib/components/forms/radio-group/ClassicRadioItem.js +92 -0
- package/lib/components/forms/radio-group/RadioGroup.js +69 -0
- package/lib/components/forms/radio-group/index.js +17 -0
- package/lib/components/forms/styles.js +80 -0
- package/lib/components/forms/utils/SubText.js +20 -0
- package/lib/components/forms/utils/index.js +17 -0
- package/lib/components/header/PanelHeader.js +51 -0
- package/lib/components/header/index.js +1 -0
- package/lib/components/index.js +1 -0
- package/lib/components/info-panel/InfoPanel.js +94 -0
- package/lib/components/info-panel/index.js +17 -0
- package/lib/components/modal/ConfirmModal.js +3 -2
- package/lib/components/modal/Modal.js +3 -1
- package/lib/components/table/Table.js +2 -2
- package/lib/components/toolbar/PanelPreferencesToolbar.js +26 -0
- package/lib/components/toolbar/index.js +1 -0
- package/lib-esm/app/explorer/MeasurementExplorer.d.ts.map +1 -1
- package/lib-esm/app/explorer/MeasurementExplorer.js +30 -8
- package/lib-esm/app/explorer/MeasurementExplorer.js.map +1 -1
- package/lib-esm/app/explorer/MeasurementExplorerWithState.d.ts.map +1 -1
- package/lib-esm/app/explorer/MeasurementExplorerWithState.js +2 -2
- package/lib-esm/app/explorer/MeasurementExplorerWithState.js.map +1 -1
- package/lib-esm/app/helpers/MeasurementPlot.d.ts +3 -3
- package/lib-esm/app/helpers/MeasurementPlot.d.ts.map +1 -1
- package/lib-esm/app/helpers/MeasurementPlot.js +28 -19
- package/lib-esm/app/helpers/MeasurementPlot.js.map +1 -1
- package/lib-esm/app/helpers/react-plot.d.ts.map +1 -1
- package/lib-esm/app/helpers/react-plot.js +1 -1
- package/lib-esm/app/helpers/react-plot.js.map +1 -1
- package/lib-esm/app/kinds/mass/MassPlotView.d.ts.map +1 -1
- package/lib-esm/app/kinds/mass/MassPlotView.js +2 -2
- package/lib-esm/app/kinds/mass/MassPlotView.js.map +1 -1
- package/lib-esm/app/kinds/mass/MeasurementMassPlot.d.ts.map +1 -1
- package/lib-esm/app/kinds/mass/MeasurementMassPlot.js +49 -33
- package/lib-esm/app/kinds/mass/MeasurementMassPlot.js.map +1 -1
- package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.d.ts.map +1 -1
- package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.js +15 -60
- package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.js.map +1 -1
- package/lib-esm/app-data/state/data/data.helpers.d.ts +20 -12
- package/lib-esm/app-data/state/data/data.helpers.d.ts.map +1 -1
- package/lib-esm/app-data/state/data/data.helpers.js +30 -7
- package/lib-esm/app-data/state/data/data.helpers.js.map +1 -1
- package/lib-esm/components/forms/Checkbox.d.ts.map +1 -1
- package/lib-esm/components/forms/Checkbox.js +1 -2
- package/lib-esm/components/forms/Checkbox.js.map +1 -1
- package/lib-esm/components/forms/Input.d.ts +4 -2
- package/lib-esm/components/forms/Input.d.ts.map +1 -1
- package/lib-esm/components/forms/Input.js +3 -87
- package/lib-esm/components/forms/Input.js.map +1 -1
- package/lib-esm/components/forms/TextArea.d.ts +8 -0
- package/lib-esm/components/forms/TextArea.d.ts.map +1 -0
- package/lib-esm/components/forms/TextArea.js +19 -0
- package/lib-esm/components/forms/TextArea.js.map +1 -0
- package/lib-esm/components/forms/index.d.ts +2 -0
- package/lib-esm/components/forms/index.d.ts.map +1 -1
- package/lib-esm/components/forms/index.js +2 -0
- package/lib-esm/components/forms/index.js.map +1 -1
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.d.ts +3 -0
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.js +50 -0
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.js.map +1 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts +3 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.js +66 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.js.map +1 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.d.ts +18 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.js +43 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.js.map +1 -0
- package/lib-esm/components/forms/radio-group/index.d.ts +2 -0
- package/lib-esm/components/forms/radio-group/index.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/index.js +2 -0
- package/lib-esm/components/forms/radio-group/index.js.map +1 -0
- package/lib-esm/components/forms/styles.d.ts +26 -0
- package/lib-esm/components/forms/styles.d.ts.map +1 -0
- package/lib-esm/components/forms/styles.js +75 -0
- package/lib-esm/components/forms/styles.js.map +1 -0
- package/lib-esm/components/forms/utils/SubText.d.ts +7 -0
- package/lib-esm/components/forms/utils/SubText.d.ts.map +1 -0
- package/lib-esm/components/forms/utils/SubText.js +17 -0
- package/lib-esm/components/forms/utils/SubText.js.map +1 -0
- package/lib-esm/components/forms/utils/index.d.ts +2 -0
- package/lib-esm/components/forms/utils/index.d.ts.map +1 -0
- package/lib-esm/components/forms/utils/index.js +2 -0
- package/lib-esm/components/forms/utils/index.js.map +1 -0
- package/lib-esm/components/header/PanelHeader.d.ts +10 -0
- package/lib-esm/components/header/PanelHeader.d.ts.map +1 -0
- package/lib-esm/components/header/PanelHeader.js +48 -0
- package/lib-esm/components/header/PanelHeader.js.map +1 -0
- package/lib-esm/components/header/index.d.ts +1 -0
- package/lib-esm/components/header/index.d.ts.map +1 -1
- package/lib-esm/components/header/index.js +1 -0
- package/lib-esm/components/header/index.js.map +1 -1
- package/lib-esm/components/index.d.ts +1 -0
- package/lib-esm/components/index.d.ts.map +1 -1
- package/lib-esm/components/index.js +1 -0
- package/lib-esm/components/index.js.map +1 -1
- package/lib-esm/components/info-panel/InfoPanel.d.ts +15 -0
- package/lib-esm/components/info-panel/InfoPanel.d.ts.map +1 -0
- package/lib-esm/components/info-panel/InfoPanel.js +91 -0
- package/lib-esm/components/info-panel/InfoPanel.js.map +1 -0
- package/lib-esm/components/info-panel/index.d.ts +2 -0
- package/lib-esm/components/info-panel/index.d.ts.map +1 -0
- package/lib-esm/components/info-panel/index.js +2 -0
- package/lib-esm/components/info-panel/index.js.map +1 -0
- package/lib-esm/components/modal/ConfirmModal.d.ts.map +1 -1
- package/lib-esm/components/modal/ConfirmModal.js +3 -2
- package/lib-esm/components/modal/ConfirmModal.js.map +1 -1
- package/lib-esm/components/modal/Modal.d.ts.map +1 -1
- package/lib-esm/components/modal/Modal.js +3 -1
- package/lib-esm/components/modal/Modal.js.map +1 -1
- package/lib-esm/components/table/Table.d.ts +2 -3
- package/lib-esm/components/table/Table.d.ts.map +1 -1
- package/lib-esm/components/table/Table.js +2 -2
- package/lib-esm/components/table/Table.js.map +1 -1
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts +7 -0
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -0
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.js +23 -0
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.js.map +1 -0
- package/lib-esm/components/toolbar/index.d.ts +1 -0
- package/lib-esm/components/toolbar/index.d.ts.map +1 -1
- package/lib-esm/components/toolbar/index.js +1 -0
- package/lib-esm/components/toolbar/index.js.map +1 -1
- package/package.json +16 -14
- package/src/app/explorer/MeasurementExplorer.tsx +34 -12
- package/src/app/explorer/MeasurementExplorerWithState.tsx +2 -2
- package/src/app/helpers/MeasurementPlot.tsx +44 -33
- package/src/app/helpers/react-plot.tsx +6 -4
- package/src/app/kinds/mass/MassPlotView.tsx +2 -2
- package/src/app/kinds/mass/MeasurementMassPlot.tsx +57 -37
- package/src/app/panels/measurement-info/MeasurementInfoPanel.tsx +14 -84
- package/src/app-data/state/data/data.helpers.ts +49 -16
- package/src/components/forms/Checkbox.tsx +2 -3
- package/src/components/forms/Input.tsx +14 -125
- package/src/components/forms/TextArea.tsx +45 -0
- package/src/components/forms/index.ts +2 -0
- package/src/components/forms/radio-group/ButtonRadioItem.tsx +77 -0
- package/src/components/forms/radio-group/ClassicRadioItem.tsx +95 -0
- package/src/components/forms/radio-group/RadioGroup.tsx +83 -0
- package/src/components/forms/radio-group/index.ts +1 -0
- package/src/components/forms/styles.ts +96 -0
- package/src/components/forms/utils/SubText.tsx +31 -0
- package/src/components/forms/utils/index.ts +1 -0
- package/src/components/header/PanelHeader.tsx +75 -0
- package/src/components/header/index.ts +1 -0
- package/src/components/index.ts +1 -0
- package/src/components/info-panel/InfoPanel.tsx +150 -0
- package/src/components/info-panel/index.ts +1 -0
- package/src/components/modal/ConfirmModal.tsx +3 -2
- package/src/components/modal/Modal.tsx +3 -1
- package/src/components/table/Table.tsx +3 -5
- package/src/components/toolbar/PanelPreferencesToolbar.tsx +46 -0
- package/src/components/toolbar/index.ts +1 -0
|
@@ -29,13 +29,35 @@ const MeasurementExplorerAction = styled_1.default.div `
|
|
|
29
29
|
display: flex;
|
|
30
30
|
`;
|
|
31
31
|
function MeasurementExplorer(props) {
|
|
32
|
-
const { measurement
|
|
32
|
+
const { measurement, width = '100%', height = '100%' } = props;
|
|
33
|
+
const measurementsArray = (0, react_1.useMemo)(() => (Array.isArray(measurement) ? measurement : [measurement]), [measurement]);
|
|
34
|
+
const varNames = (0, react_1.useMemo)(() => {
|
|
35
|
+
const varNames = [];
|
|
36
|
+
for (const [i, { data }] of measurementsArray.entries()) {
|
|
37
|
+
for (const { variables } of data) {
|
|
38
|
+
const names = [];
|
|
39
|
+
for (const varName in variables) {
|
|
40
|
+
if (i === 0) {
|
|
41
|
+
names.push(varName);
|
|
42
|
+
}
|
|
43
|
+
else if (!varNames.flat().includes(varName)) {
|
|
44
|
+
throw new Error(`Measurements selected does not have the same variables `);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
varNames.push(names);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return varNames;
|
|
51
|
+
}, [measurementsArray]);
|
|
33
52
|
function defaultInfo(dataIndex) {
|
|
34
|
-
const varNames = Object.keys(data[dataIndex].variables);
|
|
35
53
|
return {
|
|
36
54
|
dataIndex,
|
|
37
|
-
xVariableName: varNames.includes('x')
|
|
38
|
-
|
|
55
|
+
xVariableName: varNames[dataIndex].includes('x')
|
|
56
|
+
? 'x'
|
|
57
|
+
: varNames[dataIndex][0],
|
|
58
|
+
yVariableName: varNames[dataIndex].includes('y')
|
|
59
|
+
? 'y'
|
|
60
|
+
: varNames[dataIndex][1],
|
|
39
61
|
};
|
|
40
62
|
}
|
|
41
63
|
const [info, setInfo] = (0, react_1.useState)({
|
|
@@ -52,9 +74,9 @@ function MeasurementExplorer(props) {
|
|
|
52
74
|
const formatVarKey = `${varKey} - `;
|
|
53
75
|
return formatVarKey + label + formatUnit;
|
|
54
76
|
}
|
|
55
|
-
const { variables } = data[info.dataIndex];
|
|
77
|
+
const { variables } = measurementsArray[0].data[info.dataIndex];
|
|
56
78
|
const oppositeAxis = axis === 'x' ? 'yVariableName' : 'xVariableName';
|
|
57
|
-
return
|
|
79
|
+
return varNames[info.dataIndex].map((d) => {
|
|
58
80
|
if (d !== info[oppositeAxis]) {
|
|
59
81
|
return ((0, jsx_runtime_1.jsx)("option", { value: d, children: formatVar(d) }, d));
|
|
60
82
|
}
|
|
@@ -69,7 +91,7 @@ function MeasurementExplorer(props) {
|
|
|
69
91
|
...defaultInfo(value),
|
|
70
92
|
}));
|
|
71
93
|
}
|
|
72
|
-
}, children: data.map((d, i) => (
|
|
94
|
+
}, children: measurementsArray[0].data.map((d, i) => (
|
|
73
95
|
// eslint-disable-next-line react/no-array-index-key
|
|
74
96
|
(0, jsx_runtime_1.jsx)("option", { value: i, children: i }, i))) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { children: "xVariable: " }), (0, jsx_runtime_1.jsx)(MeasurementExplorerSelect, { onChange: ({ target }) => {
|
|
75
97
|
const value = target.value;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
4
|
const index_1 = require("../../app-data/index");
|
|
5
|
-
const index_2 = require("../../components/index");
|
|
6
5
|
const MeasurementExplorer_1 = require("./MeasurementExplorer");
|
|
7
6
|
function MeasurementExplorerWithState() {
|
|
8
7
|
const appState = (0, index_1.useAppState)();
|
|
9
8
|
const data = (0, index_1.getCurrentMeasurementData)(appState);
|
|
10
|
-
|
|
9
|
+
if (!data)
|
|
10
|
+
return (0, jsx_runtime_1.jsx)("div", { children: "No selected measurement" });
|
|
11
11
|
return ((0, jsx_runtime_1.jsx)(MeasurementExplorer_1.MeasurementExplorer, { measurement: data.data, measurementDisplay: data.display }));
|
|
12
12
|
}
|
|
13
13
|
exports.default = MeasurementExplorerWithState;
|
|
@@ -11,23 +11,32 @@ function MeasurementPlot(props) {
|
|
|
11
11
|
}
|
|
12
12
|
exports.MeasurementPlot = MeasurementPlot;
|
|
13
13
|
function MeasurementComponent(props) {
|
|
14
|
-
const { measurementDisplay, measurement
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
14
|
+
const { measurementDisplay, measurement, dataIndex = 0, xVariableName = 'x', yVariableName = 'y', } = props;
|
|
15
|
+
const dataXY = (0, react_1.useMemo)(() => {
|
|
16
|
+
const measurementsArray = Array.isArray(measurement)
|
|
17
|
+
? measurement
|
|
18
|
+
: [measurement];
|
|
19
|
+
return measurementsArray.map(({ data, id }) => {
|
|
20
|
+
const { variables } = data[dataIndex];
|
|
21
|
+
const { [xVariableName]: x, [yVariableName]: y } = variables;
|
|
22
|
+
if (x === undefined || y === undefined) {
|
|
23
|
+
throw new Error(`Variable "${x === undefined ? xVariableName : yVariableName}" is not available in data. Only ${Object.keys(data[dataIndex].variables).join(', ')} are available`);
|
|
24
|
+
}
|
|
25
|
+
return { x, y, id };
|
|
26
|
+
});
|
|
27
|
+
}, [dataIndex, measurement, xVariableName, yVariableName]);
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)(index_1.BasicComponent, { ...props, children: dataXY.map(({ x, y, id }, i) => {
|
|
29
|
+
const { color } = Array.isArray(measurementDisplay)
|
|
30
|
+
? measurementDisplay[i]
|
|
31
|
+
: measurementDisplay;
|
|
32
|
+
if (color.kind !== 'fixed') {
|
|
33
|
+
throw new Error(`unimplemented stroke for kind ${color.kind}`);
|
|
34
|
+
}
|
|
35
|
+
return ((0, jsx_runtime_1.jsx)(react_plot_1.LineSeries, { lineStyle: {
|
|
36
|
+
stroke: color.color,
|
|
37
|
+
}, data: (0, ml_spectra_processing_1.xyToXYObject)({
|
|
38
|
+
x: x.data,
|
|
39
|
+
y: y.data,
|
|
40
|
+
}) }, id));
|
|
41
|
+
}) }));
|
|
33
42
|
}
|
|
@@ -19,7 +19,7 @@ const BasicComponentRoot = styled_1.default.div `
|
|
|
19
19
|
`;
|
|
20
20
|
function BasicComponent(props) {
|
|
21
21
|
const { children, measurement, dataIndex = 0, xVariableName = 'x', yVariableName = 'y', width = '100%', height = '100%', zoom = 'horizontal', wheelZoom = 'vertical', crossHair = true, showHorizontalAxis = true, showVerticalAxis = true, showHorizontalGrid = true, showVerticalGrid = true, flipHorizontalAxis = false, } = props;
|
|
22
|
-
const { info: { title }, data, } = measurement;
|
|
22
|
+
const [{ info: { title }, data, },] = Array.isArray(measurement) ? measurement : [measurement];
|
|
23
23
|
const { x, y } = (0, react_1.useMemo)(() => {
|
|
24
24
|
const { variables } = data[dataIndex];
|
|
25
25
|
const { [xVariableName]: x, [yVariableName]: y } = variables;
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MassPlotView = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const index_1 = require("../../../app-data/index");
|
|
6
|
-
const index_2 = require("../../../components/index");
|
|
7
6
|
const MeasurementMassPlot_1 = require("./MeasurementMassPlot");
|
|
8
7
|
function MassPlotView() {
|
|
9
8
|
const appState = (0, index_1.useAppState)();
|
|
10
9
|
const data = (0, index_1.getCurrentMeasurementData)(appState);
|
|
11
|
-
|
|
10
|
+
if (!data)
|
|
11
|
+
return (0, jsx_runtime_1.jsx)("div", { children: "No selected measurement" });
|
|
12
12
|
return ((0, jsx_runtime_1.jsx)(MeasurementMassPlot_1.MeasurementMassPlot, { measurement: data.data, measurementDisplay: data.display }));
|
|
13
13
|
}
|
|
14
14
|
exports.MassPlotView = MassPlotView;
|
|
@@ -9,49 +9,65 @@ const react_1 = require("react");
|
|
|
9
9
|
const react_plot_1 = require("react-plot");
|
|
10
10
|
const index_1 = require("../../helpers/index");
|
|
11
11
|
function MeasurementMassPlot(props) {
|
|
12
|
-
const { measurement } = props;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
12
|
+
const { measurement: measurements } = props;
|
|
13
|
+
const measurementsArray = Array.isArray(measurements)
|
|
14
|
+
? measurements
|
|
15
|
+
: [measurements];
|
|
16
|
+
for (const measurement of measurementsArray) {
|
|
17
|
+
if (!measurement.data) {
|
|
18
|
+
throw new Error('This is weird, the data property is not available on measurement');
|
|
19
|
+
}
|
|
20
|
+
if (measurement.data.length === 0) {
|
|
21
|
+
throw new Error('Data property is empty');
|
|
22
|
+
}
|
|
23
|
+
if (measurement.data.length > 1) {
|
|
24
|
+
throw new Error('Length of data property is larger than 1');
|
|
25
|
+
}
|
|
26
|
+
if (!measurement.data[0].variables.x) {
|
|
27
|
+
throw new Error('x variable in undefined');
|
|
28
|
+
}
|
|
29
|
+
if (!measurement.data[0].variables.y) {
|
|
30
|
+
throw new Error('y variable in undefined');
|
|
31
|
+
}
|
|
27
32
|
}
|
|
28
33
|
return ((0, jsx_runtime_1.jsx)(react_plot_1.PlotController, { children: (0, jsx_runtime_1.jsx)(MassComponent, { ...props }) }));
|
|
29
34
|
}
|
|
30
35
|
exports.MeasurementMassPlot = MeasurementMassPlot;
|
|
31
36
|
function MassComponent(props) {
|
|
32
|
-
const { measurement } = props;
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
x: x.data,
|
|
42
|
-
y: y.data,
|
|
37
|
+
const { measurement: measurements } = props;
|
|
38
|
+
const dataXY = (0, react_1.useMemo)(() => {
|
|
39
|
+
const measurementsArray = Array.isArray(measurements)
|
|
40
|
+
? measurements
|
|
41
|
+
: [measurements];
|
|
42
|
+
return measurementsArray.map(({ data, id }) => {
|
|
43
|
+
const { variables } = data[0];
|
|
44
|
+
const { x, y } = variables;
|
|
45
|
+
return { x, y, id };
|
|
43
46
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
}, [measurements]);
|
|
48
|
+
const { x: xDomain } = (0, react_plot_1.usePlotControllerAxes)();
|
|
49
|
+
const { profiles, peaks } = (0, react_1.useMemo)(() => {
|
|
50
|
+
const profiles = [];
|
|
51
|
+
const peaks = [];
|
|
52
|
+
for (const { x, y, id } of dataXY) {
|
|
53
|
+
const spectrum = new ms_spectrum_1.Spectrum({
|
|
47
54
|
x: x.data,
|
|
48
55
|
y: y.data,
|
|
49
56
|
});
|
|
57
|
+
const isContinuous = spectrum.isContinuous();
|
|
58
|
+
const data = isContinuous &&
|
|
59
|
+
(0, ml_spectra_processing_1.xyToXYObject)({
|
|
60
|
+
x: x.data,
|
|
61
|
+
y: y.data,
|
|
62
|
+
});
|
|
63
|
+
profiles.push({ data, id });
|
|
64
|
+
peaks.push(...spectrum.getPeaks(data));
|
|
65
|
+
}
|
|
50
66
|
return {
|
|
51
|
-
|
|
52
|
-
peaks
|
|
67
|
+
profiles,
|
|
68
|
+
peaks,
|
|
53
69
|
};
|
|
54
|
-
}, [
|
|
70
|
+
}, [dataXY]);
|
|
55
71
|
const bestPeaks = (0, react_1.useMemo)(() => (0, ms_spectrum_1.getBestPeaks)(peaks, {
|
|
56
72
|
from: xDomain?.min,
|
|
57
73
|
to: xDomain?.max,
|
|
@@ -59,5 +75,5 @@ function MassComponent(props) {
|
|
|
59
75
|
numberSlots: 10,
|
|
60
76
|
threshold: 0.01,
|
|
61
77
|
}), [peaks, xDomain?.max, xDomain?.min]);
|
|
62
|
-
return ((0, jsx_runtime_1.jsxs)(index_1.BasicComponent, { ...props, children: [
|
|
78
|
+
return ((0, jsx_runtime_1.jsxs)(index_1.BasicComponent, { ...props, children: [profiles.map(({ data, id }) => data && ((0, jsx_runtime_1.jsx)(react_plot_1.LineSeries, { data: data, lineStyle: { stroke: 'green' } }, id))), (0, jsx_runtime_1.jsx)(react_plot_1.BarSeries, { data: peaks, lineStyle: { stroke: 'red' } }), (0, jsx_runtime_1.jsx)(react_plot_1.Annotations, { children: bestPeaks.map(({ x, y, shortLabel }) => ((0, jsx_runtime_1.jsxs)(react_plot_1.Annotation.Group, { x: x, y: y, children: [(0, jsx_runtime_1.jsx)(react_plot_1.Annotation.Line, { x1: "0", x2: "0", y1: "0", y2: "-5", style: { strokeWidth: 2, stroke: 'blue' } }), (0, jsx_runtime_1.jsx)(react_plot_1.Annotation.Text, { style: { fontSize: '13px', fontWeight: '600' }, x: "2", y: "0", children: shortLabel }), (0, jsx_runtime_1.jsx)(react_plot_1.Annotation.Text, { style: { fontSize: '13px', fontWeight: '600' }, x: "2", y: "-14", children: x.toFixed(4) })] }, x))) })] }));
|
|
63
79
|
}
|
|
@@ -2,70 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MeasurementInfoPanel = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
5
|
const index_1 = require("../../../app-data/index");
|
|
7
6
|
const index_2 = require("../../../components/index");
|
|
8
7
|
function MeasurementInfoPanel() {
|
|
9
8
|
const appState = (0, index_1.useAppState)();
|
|
10
9
|
const measurement = (0, index_1.getCurrentMeasurementData)(appState);
|
|
11
|
-
const [search, setSearch] = (0, react_1.useState)('');
|
|
12
10
|
if (!measurement)
|
|
13
11
|
return null;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
width: '300px',
|
|
28
|
-
marginBottom: '10px',
|
|
29
|
-
padding: '3px',
|
|
30
|
-
}, value: search, placeholder: "search for a parameter ...", onChange: ({ target }) => {
|
|
31
|
-
if (target.value !== undefined)
|
|
32
|
-
setSearch(target.value);
|
|
33
|
-
} }), (0, jsx_runtime_1.jsxs)(index_2.Table, { children: [(0, jsx_runtime_1.jsxs)(index_2.Table.Header, { children: [(0, jsx_runtime_1.jsx)(index_2.ValueRenderers.Title, { value: "Parameter" }), (0, jsx_runtime_1.jsx)(index_2.ValueRenderers.Title, { value: "Value" })] }), viewData(info), viewData(meta)] })] }));
|
|
12
|
+
// TODO: solution for multiple measurements
|
|
13
|
+
const { meta, info } = measurement.data[0];
|
|
14
|
+
const data = [
|
|
15
|
+
{
|
|
16
|
+
description: 'Information',
|
|
17
|
+
data: info,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
description: 'Metadata',
|
|
21
|
+
data: meta,
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
return (0, jsx_runtime_1.jsx)(index_2.InfoPanel, { data: data, title: "" });
|
|
34
25
|
}
|
|
35
26
|
exports.MeasurementInfoPanel = MeasurementInfoPanel;
|
|
36
|
-
/**
|
|
37
|
-
* Get the value cell depending on the type of the value
|
|
38
|
-
* @param value - ValueRenderers value.
|
|
39
|
-
* @returns - ValueRenderers component.
|
|
40
|
-
*/
|
|
41
|
-
function valueCell(value) {
|
|
42
|
-
switch (typeof value) {
|
|
43
|
-
case 'number':
|
|
44
|
-
return (0, jsx_runtime_1.jsx)(index_2.ValueRenderers.Number, { value: value });
|
|
45
|
-
case 'object':
|
|
46
|
-
return (0, jsx_runtime_1.jsx)(index_2.ValueRenderers.Object, { value: value });
|
|
47
|
-
case 'string':
|
|
48
|
-
return (0, jsx_runtime_1.jsx)(index_2.ValueRenderers.Text, { value: value });
|
|
49
|
-
default:
|
|
50
|
-
(0, jsx_runtime_1.jsx)(index_2.ValueRenderers.Text, { value: value });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Search a string in different type of values
|
|
55
|
-
*
|
|
56
|
-
* @param value - Value to search in.
|
|
57
|
-
* @param search - Value to search for.
|
|
58
|
-
* @returns - If search exist in value
|
|
59
|
-
*/
|
|
60
|
-
function valueSearch(value, search) {
|
|
61
|
-
switch (typeof value) {
|
|
62
|
-
case 'number':
|
|
63
|
-
return String(value).includes(search.toLowerCase());
|
|
64
|
-
case 'object':
|
|
65
|
-
return JSON.stringify(value).toLowerCase().includes(search.toLowerCase());
|
|
66
|
-
case 'string':
|
|
67
|
-
return value.toLowerCase().includes(search.toLowerCase());
|
|
68
|
-
default:
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getExistingMeasurementKinds = exports.iterateKindMeasurementsAndView = exports.iterateMeasurementEntries = exports.getSelectedMeasurementOrFail = exports.getSelectedMeasurement = exports.getMeasurementKindAndId = exports.getFirstSelectedMeasurementData = exports.getCurrentMeasurementData = exports.getCurrentMeasurement = exports.getFirstMeasurementOrFail = exports.getFirstMeasurement = exports.getMeasurementOrFail = exports.getMeasurement = void 0;
|
|
3
|
+
exports.getExistingMeasurementKinds = exports.iterateKindMeasurementsAndView = exports.iterateMeasurementEntries = exports.getSelectedMeasurementOrFail = exports.getSelectedMeasurement = exports.getMeasurementKindAndIds = exports.getMeasurementKindAndId = exports.getFirstSelectedMeasurementData = exports.getCurrentMeasurementData = exports.getCurrentMeasurement = exports.getFirstMeasurementOrFail = exports.getFirstMeasurement = exports.getMeasurementOrFail = exports.getMeasurement = void 0;
|
|
4
4
|
const index_1 = require("../../../components/index");
|
|
5
5
|
const kinds_1 = require("./kinds");
|
|
6
6
|
function getMeasurement(measurements, kind, selected) {
|
|
@@ -31,16 +31,23 @@ function getCurrentMeasurement(state) {
|
|
|
31
31
|
const selectedMeasurement = getSelectedMeasurement(state.view);
|
|
32
32
|
if (!selectedMeasurement)
|
|
33
33
|
return null;
|
|
34
|
-
|
|
34
|
+
const measurements = [];
|
|
35
|
+
for (const id of selectedMeasurement.ids) {
|
|
36
|
+
const measurement = getMeasurement(state.data.measurements, selectedMeasurement.kind, id);
|
|
37
|
+
if (!measurement)
|
|
38
|
+
return null;
|
|
39
|
+
measurements.push(measurement);
|
|
40
|
+
}
|
|
41
|
+
return measurements;
|
|
35
42
|
}
|
|
36
43
|
exports.getCurrentMeasurement = getCurrentMeasurement;
|
|
37
44
|
function getCurrentMeasurementData(state) {
|
|
38
45
|
const selectedMeasurement = getCurrentMeasurement(state);
|
|
39
46
|
if (!selectedMeasurement)
|
|
40
47
|
return null;
|
|
41
|
-
const
|
|
42
|
-
const display = state.view.measurements[
|
|
43
|
-
return { data: selectedMeasurement, display,
|
|
48
|
+
const kindAndIds = getMeasurementKindAndIds(state.data, selectedMeasurement);
|
|
49
|
+
const display = selectedMeasurement.map(({ id }) => state.view.measurements[id]);
|
|
50
|
+
return { data: selectedMeasurement, display, kindAndIds };
|
|
44
51
|
}
|
|
45
52
|
exports.getCurrentMeasurementData = getCurrentMeasurementData;
|
|
46
53
|
function getFirstSelectedMeasurementData(state) {
|
|
@@ -65,16 +72,33 @@ function getMeasurementKindAndId(data, measurementId) {
|
|
|
65
72
|
throw new Error(`Measurement kind for ${measurementId} not found`);
|
|
66
73
|
}
|
|
67
74
|
exports.getMeasurementKindAndId = getMeasurementKindAndId;
|
|
75
|
+
function getMeasurementKindAndIds(data, measurementId) {
|
|
76
|
+
let found = false;
|
|
77
|
+
for (const kind of kinds_1.measurementKinds) {
|
|
78
|
+
for (const { id } of measurementId) {
|
|
79
|
+
const measurement = getMeasurement(data.measurements, kind, id);
|
|
80
|
+
if (measurement)
|
|
81
|
+
found = true;
|
|
82
|
+
if (found && !measurement) {
|
|
83
|
+
throw new Error(`Measurement kind for ${measurementId.join(', ')} not found`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (found)
|
|
87
|
+
return { kind, ids: measurementId };
|
|
88
|
+
}
|
|
89
|
+
throw new Error(`Measurement kind for ${measurementId.join(', ')} not found`);
|
|
90
|
+
}
|
|
91
|
+
exports.getMeasurementKindAndIds = getMeasurementKindAndIds;
|
|
68
92
|
function getSelectedMeasurement(view) {
|
|
69
93
|
const { selectedKind, selectedMeasurements } = view;
|
|
70
94
|
if (!selectedKind)
|
|
71
95
|
return null;
|
|
72
96
|
const kind = selectedKind;
|
|
73
97
|
const currentMeasurements = selectedMeasurements[kind];
|
|
74
|
-
if (!currentMeasurements || currentMeasurements.length
|
|
98
|
+
if (!currentMeasurements || currentMeasurements.length === 0)
|
|
75
99
|
return null;
|
|
76
|
-
const
|
|
77
|
-
return { kind,
|
|
100
|
+
const ids = currentMeasurements;
|
|
101
|
+
return { kind, ids };
|
|
78
102
|
}
|
|
79
103
|
exports.getSelectedMeasurement = getSelectedMeasurement;
|
|
80
104
|
function getSelectedMeasurementOrFail(view) {
|
|
@@ -29,8 +29,7 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
|
29
29
|
const react_1 = require("@emotion/react");
|
|
30
30
|
const RadixCheckbox = __importStar(require("@radix-ui/react-checkbox"));
|
|
31
31
|
const index_1 = require("react-icons/rx/index");
|
|
32
|
-
const
|
|
33
|
-
const disabledColor = '#b8b8b8';
|
|
32
|
+
const styles_1 = require("./styles");
|
|
34
33
|
function Checkbox(props) {
|
|
35
34
|
const { checked = 'indeterminate', disabled = false, label, onChange, } = props;
|
|
36
35
|
return ((0, jsx_runtime_1.jsxs)("label", { style: {
|
|
@@ -43,17 +42,17 @@ function Checkbox(props) {
|
|
|
43
42
|
backgroundColor: disabled
|
|
44
43
|
? 'rgba(0, 0, 0, 0.04)'
|
|
45
44
|
: checked
|
|
46
|
-
? enabledColor
|
|
45
|
+
? styles_1.enabledColor
|
|
47
46
|
: 'white',
|
|
48
47
|
borderWidth: '1px',
|
|
49
|
-
borderColor: checked && !disabled ? enabledColor : disabledColor,
|
|
48
|
+
borderColor: checked && !disabled ? styles_1.enabledColor : styles_1.disabledColor,
|
|
50
49
|
borderRadius: '4px',
|
|
51
50
|
display: 'flex',
|
|
52
51
|
alignItems: 'center',
|
|
53
52
|
justifyContent: 'center',
|
|
54
53
|
cursor: disabled ? 'not-allowed' : 'pointer',
|
|
55
54
|
}), children: (0, jsx_runtime_1.jsx)(RadixCheckbox.Indicator, { css: (0, react_1.css)({
|
|
56
|
-
color: disabled ? disabledColor : 'white',
|
|
55
|
+
color: disabled ? styles_1.disabledColor : 'white',
|
|
57
56
|
}), children: checked === true ? ((0, jsx_runtime_1.jsx)(index_1.RxCheck, {})) : checked === 'indeterminate' ? ((0, jsx_runtime_1.jsx)(index_1.RxMinus, {})) : null }) }), (0, jsx_runtime_1.jsx)("span", { style: {
|
|
58
57
|
paddingInline: '8px',
|
|
59
58
|
lineHeight: '16px',
|
|
@@ -8,72 +8,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
8
8
|
const styled_1 = __importDefault(require("@emotion/styled"));
|
|
9
9
|
const index_1 = require("../index");
|
|
10
10
|
const FieldsContext_1 = require("./context/FieldsContext");
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
? props.hasTrailing
|
|
14
|
-
? '2px 9px 4px 9px'
|
|
15
|
-
: '2px 9px'
|
|
16
|
-
: props.hasTrailing
|
|
17
|
-
? '1px 7px 1px 7px'
|
|
18
|
-
: '1px 7px'};
|
|
19
|
-
|
|
20
|
-
font-size: ${(props) => (props.variant === 'small' ? '1em' : '1.125em')};
|
|
21
|
-
line-height: '17px';
|
|
22
|
-
|
|
23
|
-
background-color: white;
|
|
24
|
-
border-width: 1px;
|
|
25
|
-
align-items: center;
|
|
26
|
-
flex-direction: row;
|
|
27
|
-
flex: 1 1 0%;
|
|
28
|
-
display: flex;
|
|
29
|
-
position: relative;
|
|
30
|
-
|
|
31
|
-
border-top-right-radius: ${(props) => props.hasLeading && !props.hasTrailing && '0.375rem'};
|
|
32
|
-
|
|
33
|
-
border-bottom-right-radius: ${(props) => props.hasLeading && !props.hasTrailing && '0.375rem'};
|
|
34
|
-
|
|
35
|
-
border-top-left-radius: ${(props) => props.hasTrailing && !props.hasLeading && '0.375rem'};
|
|
36
|
-
|
|
37
|
-
border-bottom-left-radius: ${(props) => props.hasTrailing && !props.hasLeading && '0.375rem'};
|
|
38
|
-
|
|
39
|
-
border-radius: ${(props) => !props.hasLeading && !props.hasTrailing && '0.375rem'};
|
|
40
|
-
|
|
41
|
-
border-color: var(--custom-border-color);
|
|
42
|
-
`;
|
|
43
|
-
function getStyleColor(hasError, hasValid) {
|
|
44
|
-
if (hasError) {
|
|
45
|
-
return {
|
|
46
|
-
default: '#ffa39e',
|
|
47
|
-
hover: '#f95d55',
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
if (hasValid) {
|
|
51
|
-
return {
|
|
52
|
-
default: '#6adc24',
|
|
53
|
-
hover: '#62cb21',
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
default: 'rgb(217, 217, 217)',
|
|
58
|
-
hover: '#4096ff',
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
const GroupStyled = styled_1.default.div `
|
|
62
|
-
display: flex;
|
|
63
|
-
border-radius: 0.375rem;
|
|
64
|
-
margin-top: 0.25rem;
|
|
65
|
-
|
|
66
|
-
.addon {
|
|
67
|
-
color: ${({ hasError }) => hasError && '#f95d55'};
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
--custom-border-color: ${({ hasError, hasValid }) => getStyleColor(hasError, hasValid).default};
|
|
71
|
-
|
|
72
|
-
:hover,
|
|
73
|
-
:focus-within {
|
|
74
|
-
--custom-border-color: ${({ hasError, hasValid }) => getStyleColor(hasError, hasValid).hover};
|
|
75
|
-
}
|
|
76
|
-
`;
|
|
11
|
+
const styles_1 = require("./styles");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
77
13
|
const InputStyled = styled_1.default.input `
|
|
78
14
|
padding: 0;
|
|
79
15
|
flex: 1 1 0%;
|
|
@@ -119,32 +55,12 @@ const TrailingInlineAddonStyled = styled_1.default.div `
|
|
|
119
55
|
align-items: center;
|
|
120
56
|
padding-left: 0.5rem;
|
|
121
57
|
`;
|
|
122
|
-
const RootInput = styled_1.default.div `
|
|
123
|
-
display: flex;
|
|
124
|
-
flex-direction: column;
|
|
125
|
-
gap: 2px;
|
|
126
|
-
`;
|
|
127
58
|
function Input(props) {
|
|
128
59
|
const { variant: variantProps, trailingAddon, leadingAddon, help, error, valid, loading, ...otherProps } = props;
|
|
129
60
|
const { name, variant: contextVariant } = (0, FieldsContext_1.useFieldsContext)();
|
|
130
61
|
const hasLeading = (leadingAddon && !leadingAddon.inline) || false;
|
|
131
62
|
const hasTrailing = (trailingAddon && !trailingAddon.inline) || false;
|
|
132
63
|
const variant = variantProps || contextVariant;
|
|
133
|
-
return ((0, jsx_runtime_1.jsxs)(
|
|
64
|
+
return ((0, jsx_runtime_1.jsxs)(styles_1.InputContainer, { children: [(0, jsx_runtime_1.jsxs)(styles_1.GroupStyled, { hasError: !!error, hasValid: !!valid, children: [leadingAddon && !leadingAddon.inline && ((0, jsx_runtime_1.jsx)(LeadingAddonStyled, { children: leadingAddon.addon })), (0, jsx_runtime_1.jsxs)(styles_1.LabelStyled, { variant: variant, hasLeading: hasLeading, hasTrailing: hasTrailing, children: [leadingAddon?.inline && ((0, jsx_runtime_1.jsx)(LeadingInlineAddonStyled, { className: "addon", children: leadingAddon.addon })), (0, jsx_runtime_1.jsx)(InputStyled, { id: name, name: name, ...otherProps }), trailingAddon?.inline && ((0, jsx_runtime_1.jsx)(TrailingInlineAddonStyled, { className: "addon", children: trailingAddon.addon })), loading && ((0, jsx_runtime_1.jsx)(TrailingInlineAddonStyled, { style: { height: variant === 'default' ? 20 : 10 }, children: (0, jsx_runtime_1.jsx)(index_1.FullSpinner, { height: variant === 'default' ? 20 : 10, width: variant === 'default' ? 20 : 10 }) }))] }), trailingAddon && !trailingAddon.inline && ((0, jsx_runtime_1.jsx)(TrailingAddonStyled, { children: trailingAddon.addon }))] }), (0, jsx_runtime_1.jsx)(utils_1.SubText, { error: error, help: help, valid: valid })] }));
|
|
134
65
|
}
|
|
135
66
|
exports.Input = Input;
|
|
136
|
-
function SubText(props) {
|
|
137
|
-
const { error, help, valid: validProps } = props;
|
|
138
|
-
const valid = typeof validProps === 'string' ? validProps : undefined;
|
|
139
|
-
const text = error || valid || help;
|
|
140
|
-
return (0, jsx_runtime_1.jsx)("p", { style: { color: getColor(error, validProps) }, children: text });
|
|
141
|
-
}
|
|
142
|
-
function getColor(error, valid) {
|
|
143
|
-
if (error) {
|
|
144
|
-
return '#f95d55';
|
|
145
|
-
}
|
|
146
|
-
if (valid && typeof valid !== 'boolean') {
|
|
147
|
-
return '#62cb21';
|
|
148
|
-
}
|
|
149
|
-
return 'gray';
|
|
150
|
-
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TextArea = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const styled_1 = __importDefault(require("@emotion/styled"));
|
|
9
|
+
const FieldsContext_1 = require("./context/FieldsContext");
|
|
10
|
+
const styles_1 = require("./styles");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
const TextAreaStyled = styled_1.default.textarea `
|
|
13
|
+
padding: 0;
|
|
14
|
+
flex: 1 1 0%;
|
|
15
|
+
border: none;
|
|
16
|
+
position: relative;
|
|
17
|
+
outline: none;
|
|
18
|
+
`;
|
|
19
|
+
function TextArea(props) {
|
|
20
|
+
const { variant: variantProps, help, error, valid, ...otherProps } = props;
|
|
21
|
+
const { name, variant: contextVariant } = (0, FieldsContext_1.useFieldsContext)();
|
|
22
|
+
const variant = variantProps || contextVariant;
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)(styles_1.InputContainer, { children: [(0, jsx_runtime_1.jsx)(styles_1.GroupStyled, { hasError: !!error, hasValid: !!valid, children: (0, jsx_runtime_1.jsx)(styles_1.LabelStyled, { variant: variant, children: (0, jsx_runtime_1.jsx)(TextAreaStyled, { id: name, name: name, ...otherProps }) }) }), (0, jsx_runtime_1.jsx)(utils_1.SubText, { error: error, help: help, valid: valid })] }));
|
|
24
|
+
}
|
|
25
|
+
exports.TextArea = TextArea;
|
|
@@ -15,6 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./Input"), exports);
|
|
18
|
+
__exportStar(require("./TextArea"), exports);
|
|
18
19
|
__exportStar(require("./Checkbox"), exports);
|
|
19
20
|
__exportStar(require("./context"), exports);
|
|
20
21
|
__exportStar(require("./Select"), exports);
|
|
22
|
+
__exportStar(require("./radio-group"), exports);
|