react-science 0.28.1 → 0.30.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/lib-esm/app/hooks/file-loading.d.ts +2 -1
- package/lib-esm/app/hooks/file-loading.d.ts.map +1 -1
- package/lib-esm/app/hooks/file-loading.js.map +1 -1
- package/lib-esm/app/panels/SignalProcessingPanel.d.ts.map +1 -1
- package/lib-esm/app/panels/SignalProcessingPanel.js +3 -3
- package/lib-esm/app/panels/SignalProcessingPanel.js.map +1 -1
- package/lib-esm/components/button/Button.d.ts +8 -14
- package/lib-esm/components/button/Button.d.ts.map +1 -1
- package/lib-esm/components/button/Button.js +7 -31
- package/lib-esm/components/button/Button.js.map +1 -1
- package/lib-esm/components/drop-zone/DropZone.d.ts +6 -2
- package/lib-esm/components/drop-zone/DropZone.d.ts.map +1 -1
- package/lib-esm/components/drop-zone/DropZone.js +9 -15
- package/lib-esm/components/drop-zone/DropZone.js.map +1 -1
- package/lib-esm/components/forms/index.d.ts +0 -5
- package/lib-esm/components/forms/index.d.ts.map +1 -1
- package/lib-esm/components/forms/index.js +0 -5
- package/lib-esm/components/forms/index.js.map +1 -1
- package/lib-esm/components/forms/radio-group/RadioGroup.d.ts +1 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.d.ts.map +1 -1
- package/lib-esm/components/forms/radio-group/RadioGroup.js +2 -2
- package/lib-esm/components/forms/radio-group/RadioGroup.js.map +1 -1
- package/lib-esm/components/forms/styles.d.ts +0 -22
- package/lib-esm/components/forms/styles.d.ts.map +1 -1
- package/lib-esm/components/forms/styles.js +0 -72
- package/lib-esm/components/forms/styles.js.map +1 -1
- package/lib-esm/components/header/PanelHeader.d.ts.map +1 -1
- package/lib-esm/components/header/PanelHeader.js +1 -2
- package/lib-esm/components/header/PanelHeader.js.map +1 -1
- package/lib-esm/components/index.d.ts +0 -2
- package/lib-esm/components/index.d.ts.map +1 -1
- package/lib-esm/components/index.js +0 -2
- package/lib-esm/components/index.js.map +1 -1
- package/lib-esm/components/info-panel/InfoPanel.d.ts.map +1 -1
- package/lib-esm/components/info-panel/InfoPanel.js +5 -4
- package/lib-esm/components/info-panel/InfoPanel.js.map +1 -1
- package/lib-esm/components/modal/ConfirmModal.d.ts.map +1 -1
- package/lib-esm/components/modal/ConfirmModal.js +1 -7
- 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 +2 -2
- package/lib-esm/components/modal/Modal.js.map +1 -1
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.js +1 -2
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.js.map +1 -1
- package/lib-esm/components/toolbar/Toolbar.d.ts.map +1 -1
- package/lib-esm/components/toolbar/Toolbar.js +16 -12
- package/lib-esm/components/toolbar/Toolbar.js.map +1 -1
- package/package.json +25 -23
- package/src/app/hooks/file-loading.ts +4 -2
- package/src/app/panels/SignalProcessingPanel.tsx +3 -6
- package/src/components/button/Button.tsx +29 -59
- package/src/components/drop-zone/DropZone.tsx +42 -25
- package/src/components/forms/index.ts +0 -5
- package/src/components/forms/radio-group/RadioGroup.tsx +3 -0
- package/src/components/forms/styles.ts +0 -92
- package/src/components/header/PanelHeader.tsx +1 -8
- package/src/components/index.ts +0 -2
- package/src/components/info-panel/InfoPanel.tsx +6 -3
- package/src/components/modal/ConfirmModal.tsx +2 -16
- package/src/components/modal/Modal.tsx +10 -2
- package/src/components/toolbar/PanelPreferencesToolbar.tsx +2 -15
- package/src/components/toolbar/Toolbar.tsx +25 -29
- package/lib-esm/components/dropdown-menu/DropdownMenu.d.ts +0 -28
- package/lib-esm/components/dropdown-menu/DropdownMenu.d.ts.map +0 -1
- package/lib-esm/components/dropdown-menu/DropdownMenu.js +0 -41
- package/lib-esm/components/dropdown-menu/DropdownMenu.js.map +0 -1
- package/lib-esm/components/dropdown-menu/MenuItems.d.ts +0 -19
- package/lib-esm/components/dropdown-menu/MenuItems.d.ts.map +0 -1
- package/lib-esm/components/dropdown-menu/MenuItems.js +0 -77
- package/lib-esm/components/dropdown-menu/MenuItems.js.map +0 -1
- package/lib-esm/components/dropdown-menu/index.d.ts +0 -3
- package/lib-esm/components/dropdown-menu/index.d.ts.map +0 -1
- package/lib-esm/components/dropdown-menu/index.js +0 -2
- package/lib-esm/components/dropdown-menu/index.js.map +0 -1
- package/lib-esm/components/dropdown-menu/useContextMenuPlacement.d.ts +0 -18
- package/lib-esm/components/dropdown-menu/useContextMenuPlacement.d.ts.map +0 -1
- package/lib-esm/components/dropdown-menu/useContextMenuPlacement.js +0 -49
- package/lib-esm/components/dropdown-menu/useContextMenuPlacement.js.map +0 -1
- package/lib-esm/components/forms/Checkbox.d.ts +0 -11
- package/lib-esm/components/forms/Checkbox.d.ts.map +0 -1
- package/lib-esm/components/forms/Checkbox.js +0 -35
- package/lib-esm/components/forms/Checkbox.js.map +0 -1
- package/lib-esm/components/forms/Input.d.ts +0 -19
- package/lib-esm/components/forms/Input.d.ts.map +0 -1
- package/lib-esm/components/forms/Input.js +0 -60
- package/lib-esm/components/forms/Input.js.map +0 -1
- package/lib-esm/components/forms/Select.d.ts +0 -21
- package/lib-esm/components/forms/Select.d.ts.map +0 -1
- package/lib-esm/components/forms/Select.js +0 -90
- package/lib-esm/components/forms/Select.js.map +0 -1
- package/lib-esm/components/forms/TextArea.d.ts +0 -8
- package/lib-esm/components/forms/TextArea.d.ts.map +0 -1
- package/lib-esm/components/forms/TextArea.js +0 -19
- package/lib-esm/components/forms/TextArea.js.map +0 -1
- package/lib-esm/components/forms/context/FieldsContext.d.ts +0 -16
- package/lib-esm/components/forms/context/FieldsContext.d.ts.map +0 -1
- package/lib-esm/components/forms/context/FieldsContext.js +0 -47
- package/lib-esm/components/forms/context/FieldsContext.js.map +0 -1
- package/lib-esm/components/forms/context/index.d.ts +0 -2
- package/lib-esm/components/forms/context/index.d.ts.map +0 -1
- package/lib-esm/components/forms/context/index.js +0 -2
- package/lib-esm/components/forms/context/index.js.map +0 -1
- package/lib-esm/components/modal/ModalCloseButton.d.ts +0 -4
- package/lib-esm/components/modal/ModalCloseButton.d.ts.map +0 -1
- package/lib-esm/components/modal/ModalCloseButton.js +0 -11
- package/lib-esm/components/modal/ModalCloseButton.js.map +0 -1
- package/lib-esm/components/spinner/FullSpinner.d.ts +0 -7
- package/lib-esm/components/spinner/FullSpinner.d.ts.map +0 -1
- package/lib-esm/components/spinner/FullSpinner.js +0 -24
- package/lib-esm/components/spinner/FullSpinner.js.map +0 -1
- package/lib-esm/components/spinner/index.d.ts +0 -2
- package/lib-esm/components/spinner/index.d.ts.map +0 -1
- package/lib-esm/components/spinner/index.js +0 -2
- package/lib-esm/components/spinner/index.js.map +0 -1
- package/src/components/dropdown-menu/DropdownMenu.tsx +0 -160
- package/src/components/dropdown-menu/MenuItems.tsx +0 -146
- package/src/components/dropdown-menu/index.ts +0 -2
- package/src/components/dropdown-menu/useContextMenuPlacement.ts +0 -76
- package/src/components/forms/Checkbox.tsx +0 -77
- package/src/components/forms/Input.tsx +0 -144
- package/src/components/forms/Select.tsx +0 -197
- package/src/components/forms/TextArea.tsx +0 -45
- package/src/components/forms/context/FieldsContext.tsx +0 -82
- package/src/components/forms/context/index.ts +0 -1
- package/src/components/modal/ModalCloseButton.tsx +0 -21
- package/src/components/spinner/FullSpinner.tsx +0 -57
- package/src/components/spinner/index.ts +0 -1
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import styled from '@emotion/styled';
|
|
2
|
-
import { createContext, ReactNode, useContext, useMemo } from 'react';
|
|
3
|
-
|
|
4
|
-
interface FieldContext {
|
|
5
|
-
name?: string;
|
|
6
|
-
variant: 'default' | 'small';
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
interface FieldProps {
|
|
10
|
-
name: string;
|
|
11
|
-
label: string;
|
|
12
|
-
children: ReactNode;
|
|
13
|
-
variant?: 'default' | 'small';
|
|
14
|
-
required?: boolean;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const context = createContext<FieldContext | null>(null);
|
|
18
|
-
|
|
19
|
-
const FieldContextRoot = styled.div`
|
|
20
|
-
display: flex;
|
|
21
|
-
flex-flow: row;
|
|
22
|
-
min-width: 0;
|
|
23
|
-
margin: 0;
|
|
24
|
-
padding: 0;
|
|
25
|
-
gap: 5px;
|
|
26
|
-
`;
|
|
27
|
-
|
|
28
|
-
const Label = styled.label<{ variant: FieldProps['variant'] }>`
|
|
29
|
-
position: relative;
|
|
30
|
-
display: inline-flex;
|
|
31
|
-
max-width: 100%;
|
|
32
|
-
line-height: ${(props) => (props.variant === 'small' ? '28px' : '32px')};
|
|
33
|
-
font-size: ${(props) => (props.variant === 'small' ? '1em' : '1.125em')};
|
|
34
|
-
white-space: nowrap;
|
|
35
|
-
text-align: end;
|
|
36
|
-
`;
|
|
37
|
-
|
|
38
|
-
const LabelContainer = styled.div`
|
|
39
|
-
flex-grow: 0;
|
|
40
|
-
display: inline-block;
|
|
41
|
-
overflow: hidden;
|
|
42
|
-
text-align: end;
|
|
43
|
-
vertical-align: middle;
|
|
44
|
-
white-space: nowrap;
|
|
45
|
-
`;
|
|
46
|
-
|
|
47
|
-
const FieldContextRequired = styled.span`
|
|
48
|
-
color: red;
|
|
49
|
-
`;
|
|
50
|
-
|
|
51
|
-
export function useFieldsContext(): FieldContext {
|
|
52
|
-
const ctx = useContext(context);
|
|
53
|
-
|
|
54
|
-
if (!ctx) {
|
|
55
|
-
return { name: undefined, variant: 'default' };
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return ctx;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export function Field(props: FieldProps) {
|
|
62
|
-
const { label, name, children, required, variant } = props;
|
|
63
|
-
|
|
64
|
-
const memoized = useMemo(() => {
|
|
65
|
-
return { name, variant: variant || 'default' };
|
|
66
|
-
}, [name, variant]);
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<context.Provider value={memoized}>
|
|
70
|
-
<FieldContextRoot>
|
|
71
|
-
<LabelContainer>
|
|
72
|
-
<Label htmlFor={name} variant={memoized.variant}>
|
|
73
|
-
{label} {required && <FieldContextRequired>*</FieldContextRequired>}
|
|
74
|
-
:{' '}
|
|
75
|
-
</Label>
|
|
76
|
-
</LabelContainer>
|
|
77
|
-
|
|
78
|
-
{children}
|
|
79
|
-
</FieldContextRoot>
|
|
80
|
-
</context.Provider>
|
|
81
|
-
);
|
|
82
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './FieldsContext';
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/** @jsxImportSource @emotion/react */
|
|
2
|
-
import { css } from '@emotion/react';
|
|
3
|
-
import { FaTimes } from 'react-icons/fa';
|
|
4
|
-
|
|
5
|
-
export default function ModalCloseButton(props: { onClick?: () => void }) {
|
|
6
|
-
return (
|
|
7
|
-
<div style={{ position: 'absolute', top: 4, right: 4 }}>
|
|
8
|
-
<button
|
|
9
|
-
type="button"
|
|
10
|
-
style={{ padding: '10px 6px 10px 6px' }}
|
|
11
|
-
onClick={props.onClick}
|
|
12
|
-
css={css({
|
|
13
|
-
color: 'rgba(239, 68, 68)',
|
|
14
|
-
':hover': { color: 'rgba(185, 28, 28)' },
|
|
15
|
-
})}
|
|
16
|
-
>
|
|
17
|
-
<FaTimes />
|
|
18
|
-
</button>
|
|
19
|
-
</div>
|
|
20
|
-
);
|
|
21
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { keyframes } from '@emotion/react';
|
|
2
|
-
import styled from '@emotion/styled';
|
|
3
|
-
|
|
4
|
-
const spin = keyframes`
|
|
5
|
-
100% {
|
|
6
|
-
transform: rotate(360deg);
|
|
7
|
-
}
|
|
8
|
-
`;
|
|
9
|
-
|
|
10
|
-
interface FullSpinnerProps {
|
|
11
|
-
width?: number;
|
|
12
|
-
height?: number;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const Spinner = styled.svg<FullSpinnerProps>`
|
|
16
|
-
height: ${({ height }) => `${height || 40}px`};
|
|
17
|
-
width: ${({ width }) => `${width || 40}px`};
|
|
18
|
-
animation: ${spin} 0.8s linear infinite;
|
|
19
|
-
`;
|
|
20
|
-
|
|
21
|
-
export function FullSpinner(props: FullSpinnerProps) {
|
|
22
|
-
// First div is used when using nextjs/dynamic even after component is loaded
|
|
23
|
-
return (
|
|
24
|
-
<div style={{ height: '100%' }}>
|
|
25
|
-
<div
|
|
26
|
-
style={{
|
|
27
|
-
display: 'flex',
|
|
28
|
-
height: '100%',
|
|
29
|
-
width: '100%',
|
|
30
|
-
alignItems: 'center',
|
|
31
|
-
justifyContent: 'center',
|
|
32
|
-
}}
|
|
33
|
-
>
|
|
34
|
-
<Spinner
|
|
35
|
-
{...props}
|
|
36
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
37
|
-
fill="none"
|
|
38
|
-
viewBox="0 0 24 24"
|
|
39
|
-
>
|
|
40
|
-
<circle
|
|
41
|
-
style={{ opacity: 0.25 }}
|
|
42
|
-
cx="12"
|
|
43
|
-
cy="12"
|
|
44
|
-
r="10"
|
|
45
|
-
stroke="currentColor"
|
|
46
|
-
strokeWidth="4"
|
|
47
|
-
/>
|
|
48
|
-
<path
|
|
49
|
-
style={{ opacity: 0.75 }}
|
|
50
|
-
fill="currentColor"
|
|
51
|
-
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
52
|
-
/>
|
|
53
|
-
</Spinner>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
);
|
|
57
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './FullSpinner';
|