@react-ui-org/react-ui 0.47.0 → 0.48.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/lib.development.js +330 -54
- package/dist/lib.js +1 -1
- package/package.json +1 -1
- package/src/lib/components/Alert/README.mdx +4 -2
- package/src/lib/components/Alert/index.js +1 -1
- package/src/lib/components/Badge/README.mdx +1 -1
- package/src/lib/components/Badge/index.js +1 -1
- package/src/lib/components/Button/Button.jsx +31 -31
- package/src/lib/components/Button/README.mdx +4 -2
- package/src/lib/components/Button/index.js +1 -1
- package/src/lib/components/ButtonGroup/ButtonGroup.jsx +2 -1
- package/src/lib/components/ButtonGroup/README.mdx +4 -2
- package/src/lib/components/Card/README.mdx +7 -5
- package/src/lib/components/CheckboxField/CheckboxField.jsx +27 -28
- package/src/lib/components/CheckboxField/README.mdx +1 -1
- package/src/lib/components/CheckboxField/index.js +1 -1
- package/src/lib/components/FileInputField/FileInputField.jsx +27 -27
- package/src/lib/components/FileInputField/README.mdx +1 -1
- package/src/lib/components/FileInputField/index.js +1 -1
- package/src/lib/components/FormLayout/README.mdx +15 -13
- package/src/lib/components/Grid/Grid.jsx +31 -28
- package/src/lib/components/Grid/Grid.scss +10 -15
- package/src/lib/components/Grid/GridSpan.jsx +5 -4
- package/src/lib/components/Grid/README.mdx +34 -36
- package/src/lib/components/Grid/_helpers/generateResponsiveCustomProperties.js +11 -3
- package/src/lib/components/Grid/_settings.scss +18 -0
- package/src/lib/components/Grid/_tools.scss +5 -5
- package/src/lib/components/Modal/Modal.jsx +147 -250
- package/src/lib/components/Modal/Modal.scss +7 -55
- package/src/lib/components/Modal/ModalBody.jsx +64 -0
- package/src/lib/components/Modal/ModalBody.scss +18 -0
- package/src/lib/components/Modal/ModalCloseButton.jsx +61 -0
- package/src/lib/components/Modal/ModalCloseButton.scss +18 -0
- package/src/lib/components/Modal/ModalContent.jsx +43 -0
- package/src/lib/components/Modal/ModalContent.scss +5 -0
- package/src/lib/components/Modal/ModalFooter.jsx +46 -0
- package/src/lib/components/Modal/ModalFooter.scss +35 -0
- package/src/lib/components/Modal/ModalHeader.jsx +48 -0
- package/src/lib/components/Modal/ModalHeader.scss +30 -0
- package/src/lib/components/Modal/ModalTitle.jsx +45 -0
- package/src/lib/components/Modal/ModalTitle.scss +10 -0
- package/src/lib/components/Modal/README.mdx +842 -197
- package/src/lib/components/Modal/_helpers/getJustifyClassName.js +19 -0
- package/src/lib/components/Modal/_helpers/getScrollingClassName.js +11 -0
- package/src/lib/components/Modal/_settings.scss +1 -5
- package/src/lib/components/Modal/_theme.scss +6 -0
- package/src/lib/components/Modal/index.js +7 -1
- package/src/lib/components/Paper/README.mdx +1 -1
- package/src/lib/components/Paper/index.js +1 -1
- package/src/lib/components/Popover/Popover.jsx +24 -24
- package/src/lib/components/Popover/Popover.scss +7 -6
- package/src/lib/components/Popover/PopoverWrapper.jsx +5 -5
- package/src/lib/components/Popover/PopoverWrapper.scss +3 -0
- package/src/lib/components/Popover/README.mdx +13 -11
- package/src/lib/components/Popover/_theme.scss +1 -1
- package/src/lib/components/Radio/README.mdx +1 -1
- package/src/lib/components/Radio/Radio.jsx +37 -27
- package/src/lib/components/Radio/index.js +1 -1
- package/src/lib/components/ScrollView/README.mdx +146 -84
- package/src/lib/components/ScrollView/ScrollView.jsx +104 -113
- package/src/lib/components/ScrollView/ScrollView.scss +18 -16
- package/src/lib/components/ScrollView/index.js +1 -1
- package/src/lib/components/SelectField/README.mdx +66 -2
- package/src/lib/components/SelectField/SelectField.jsx +93 -49
- package/src/lib/components/SelectField/_components/Option/Option.jsx +46 -0
- package/src/lib/components/SelectField/_components/Option/index.js +1 -0
- package/src/lib/components/SelectField/index.js +1 -1
- package/src/lib/components/Table/README.mdx +4 -2
- package/src/lib/components/Table/Table.jsx +1 -1
- package/src/lib/components/Table/index.js +1 -1
- package/src/lib/components/Tabs/README.mdx +5 -3
- package/src/lib/components/Tabs/TabsItem.scss +1 -2
- package/src/lib/components/Text/README.mdx +9 -7
- package/src/lib/components/Text/index.js +1 -1
- package/src/lib/components/TextArea/README.mdx +1 -1
- package/src/lib/components/TextArea/TextArea.jsx +33 -33
- package/src/lib/components/TextArea/index.js +1 -1
- package/src/lib/components/TextField/README.mdx +3 -3
- package/src/lib/components/TextField/TextField.jsx +33 -34
- package/src/lib/components/TextField/index.js +1 -1
- package/src/lib/components/TextLink/README.mdx +1 -1
- package/src/lib/components/TextLink/index.js +1 -1
- package/src/lib/components/Toggle/README.mdx +1 -1
- package/src/lib/components/Toggle/Toggle.jsx +28 -28
- package/src/lib/components/Toggle/index.js +1 -1
- package/src/lib/components/Toolbar/README.mdx +8 -6
- package/src/lib/components/_helpers/transferProps.js +1 -1
- package/src/lib/index.js +24 -16
- package/src/lib/provider/withGlobalProps.jsx +20 -3
- package/src/lib/theme.scss +18 -26
- package/src/lib/translations/en.js +1 -1
- package/src/lib/components/Grid/_theme.scss +0 -11
- package/src/lib/components/ScrollView/_theme.scss +0 -2
- package/src/lib/components/withForwardedRef.jsx +0 -11
@@ -0,0 +1,18 @@
|
|
1
|
+
@use "sass:map";
|
2
|
+
@use "../../styles/theme/typography";
|
3
|
+
@use "../../styles/tools/accessibility";
|
4
|
+
@use "../../styles/tools/reset";
|
5
|
+
@use "../../styles/tools/spacing";
|
6
|
+
|
7
|
+
.root {
|
8
|
+
@include reset.button();
|
9
|
+
@include accessibility.min-tap-target();
|
10
|
+
|
11
|
+
font-size: map.get(typography.$size-values, 3);
|
12
|
+
line-height: 1;
|
13
|
+
color: inherit;
|
14
|
+
|
15
|
+
&:disabled {
|
16
|
+
cursor: var(--rui-disabled-cursor);
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import PropTypes from 'prop-types';
|
2
|
+
import React from 'react';
|
3
|
+
import { withGlobalProps } from '../../provider';
|
4
|
+
import { isChildrenEmpty } from '../_helpers/isChildrenEmpty';
|
5
|
+
import styles from './ModalContent.scss';
|
6
|
+
|
7
|
+
export const ModalContent = ({
|
8
|
+
children,
|
9
|
+
id,
|
10
|
+
}) => {
|
11
|
+
if (isChildrenEmpty(children)) {
|
12
|
+
return null;
|
13
|
+
}
|
14
|
+
|
15
|
+
return (
|
16
|
+
<div
|
17
|
+
className={styles.root}
|
18
|
+
id={id}
|
19
|
+
>
|
20
|
+
{children}
|
21
|
+
</div>
|
22
|
+
);
|
23
|
+
};
|
24
|
+
|
25
|
+
ModalContent.defaultProps = {
|
26
|
+
children: null,
|
27
|
+
id: undefined,
|
28
|
+
};
|
29
|
+
|
30
|
+
ModalContent.propTypes = {
|
31
|
+
/**
|
32
|
+
* Content of the modal.
|
33
|
+
*/
|
34
|
+
children: PropTypes.node,
|
35
|
+
/**
|
36
|
+
* ID of the root HTML element.
|
37
|
+
*/
|
38
|
+
id: PropTypes.string,
|
39
|
+
};
|
40
|
+
|
41
|
+
export const ModalContentWithGlobalProps = withGlobalProps(ModalContent, 'ModalContent');
|
42
|
+
|
43
|
+
export default ModalContentWithGlobalProps;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import PropTypes from 'prop-types';
|
2
|
+
import React from 'react';
|
3
|
+
import { withGlobalProps } from '../../provider';
|
4
|
+
import { classNames } from '../../utils/classNames';
|
5
|
+
import { getJustifyClassName } from './_helpers/getJustifyClassName';
|
6
|
+
import styles from './ModalFooter.scss';
|
7
|
+
|
8
|
+
export const ModalFooter = ({
|
9
|
+
children,
|
10
|
+
id,
|
11
|
+
justify,
|
12
|
+
}) => (
|
13
|
+
<div
|
14
|
+
className={classNames(
|
15
|
+
styles.root,
|
16
|
+
getJustifyClassName(justify, styles),
|
17
|
+
)}
|
18
|
+
id={id}
|
19
|
+
>
|
20
|
+
{children}
|
21
|
+
</div>
|
22
|
+
);
|
23
|
+
|
24
|
+
ModalFooter.defaultProps = {
|
25
|
+
id: undefined,
|
26
|
+
justify: 'center',
|
27
|
+
};
|
28
|
+
|
29
|
+
ModalFooter.propTypes = {
|
30
|
+
/**
|
31
|
+
* Content of the footer (preferably nested `Button` elements).
|
32
|
+
*/
|
33
|
+
children: PropTypes.node.isRequired,
|
34
|
+
/**
|
35
|
+
* ID of the root HTML element.
|
36
|
+
*/
|
37
|
+
id: PropTypes.string,
|
38
|
+
/**
|
39
|
+
* Horizontal alignment (distribution) of individual buttons.
|
40
|
+
*/
|
41
|
+
justify: PropTypes.oneOf(['start', 'center', 'end', 'space-between', 'stretch']),
|
42
|
+
};
|
43
|
+
|
44
|
+
export const ModalFooterWithGlobalProps = withGlobalProps(ModalFooter, 'ModalFooter');
|
45
|
+
|
46
|
+
export default ModalFooterWithGlobalProps;
|
@@ -0,0 +1,35 @@
|
|
1
|
+
@use "settings";
|
2
|
+
@use "theme";
|
3
|
+
|
4
|
+
.root {
|
5
|
+
display: flex;
|
6
|
+
flex: none;
|
7
|
+
flex-wrap: wrap;
|
8
|
+
gap: theme.$footer-gap;
|
9
|
+
align-items: center;
|
10
|
+
padding: theme.$padding-y theme.$padding-x;
|
11
|
+
border-top: theme.$separator-width solid theme.$separator-color;
|
12
|
+
border-bottom-right-radius: settings.$border-radius;
|
13
|
+
border-bottom-left-radius: settings.$border-radius;
|
14
|
+
background: theme.$footer-background;
|
15
|
+
}
|
16
|
+
|
17
|
+
.isJustifiedToStart {
|
18
|
+
justify-content: flex-start;
|
19
|
+
}
|
20
|
+
|
21
|
+
.isJustifiedToCenter {
|
22
|
+
justify-content: center;
|
23
|
+
}
|
24
|
+
|
25
|
+
.isJustifiedToEnd {
|
26
|
+
justify-content: flex-end;
|
27
|
+
}
|
28
|
+
|
29
|
+
.isJustifiedToSpaceBetween {
|
30
|
+
justify-content: space-between;
|
31
|
+
}
|
32
|
+
|
33
|
+
.isJustifiedToStretch {
|
34
|
+
display: block;
|
35
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import PropTypes from 'prop-types';
|
2
|
+
import React from 'react';
|
3
|
+
import {
|
4
|
+
withGlobalProps,
|
5
|
+
} from '../../provider';
|
6
|
+
import { classNames } from '../../utils/classNames';
|
7
|
+
import { getJustifyClassName } from './_helpers/getJustifyClassName';
|
8
|
+
import styles from './ModalHeader.scss';
|
9
|
+
|
10
|
+
export const ModalHeader = ({
|
11
|
+
children,
|
12
|
+
id,
|
13
|
+
justify,
|
14
|
+
}) => (
|
15
|
+
<div
|
16
|
+
className={classNames(
|
17
|
+
styles.root,
|
18
|
+
getJustifyClassName(justify, styles),
|
19
|
+
)}
|
20
|
+
id={id}
|
21
|
+
>
|
22
|
+
{children}
|
23
|
+
</div>
|
24
|
+
);
|
25
|
+
|
26
|
+
ModalHeader.defaultProps = {
|
27
|
+
id: undefined,
|
28
|
+
justify: 'space-between',
|
29
|
+
};
|
30
|
+
|
31
|
+
ModalHeader.propTypes = {
|
32
|
+
/**
|
33
|
+
* Content of the header (preferably ModalTitle and ModalCloseButton).
|
34
|
+
*/
|
35
|
+
children: PropTypes.node.isRequired,
|
36
|
+
/**
|
37
|
+
* ID of the root HTML element.
|
38
|
+
*/
|
39
|
+
id: PropTypes.string,
|
40
|
+
/**
|
41
|
+
* Horizontal alignment (distribution) of individual buttons.
|
42
|
+
*/
|
43
|
+
justify: PropTypes.oneOf(['start', 'center', 'end', 'space-between', 'stretch']),
|
44
|
+
};
|
45
|
+
|
46
|
+
export const ModalHeaderWithGlobalProps = withGlobalProps(ModalHeader, 'ModalHeader');
|
47
|
+
|
48
|
+
export default ModalHeaderWithGlobalProps;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
@use "theme";
|
2
|
+
|
3
|
+
.root {
|
4
|
+
display: flex;
|
5
|
+
flex: none;
|
6
|
+
gap: theme.$header-gap;
|
7
|
+
align-items: baseline;
|
8
|
+
padding: theme.$padding-y theme.$padding-x;
|
9
|
+
border-bottom: theme.$separator-width solid theme.$separator-color;
|
10
|
+
}
|
11
|
+
|
12
|
+
.isJustifiedToStart {
|
13
|
+
justify-content: flex-start;
|
14
|
+
}
|
15
|
+
|
16
|
+
.isJustifiedToCenter {
|
17
|
+
justify-content: center;
|
18
|
+
}
|
19
|
+
|
20
|
+
.isJustifiedToEnd {
|
21
|
+
justify-content: flex-end;
|
22
|
+
}
|
23
|
+
|
24
|
+
.isJustifiedToSpaceBetween {
|
25
|
+
justify-content: space-between;
|
26
|
+
}
|
27
|
+
|
28
|
+
.isJustifiedToStretch {
|
29
|
+
display: block;
|
30
|
+
}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import PropTypes from 'prop-types';
|
2
|
+
import React from 'react';
|
3
|
+
import {
|
4
|
+
withGlobalProps,
|
5
|
+
} from '../../provider';
|
6
|
+
import styles from './ModalTitle.scss';
|
7
|
+
|
8
|
+
export const ModalTitle = ({
|
9
|
+
children,
|
10
|
+
id,
|
11
|
+
level,
|
12
|
+
}) => {
|
13
|
+
const HeadingTag = `h${level}`;
|
14
|
+
|
15
|
+
return (
|
16
|
+
<HeadingTag className={styles.root} id={id}>
|
17
|
+
{children}
|
18
|
+
</HeadingTag>
|
19
|
+
);
|
20
|
+
};
|
21
|
+
|
22
|
+
ModalTitle.defaultProps = {
|
23
|
+
id: undefined,
|
24
|
+
level: 2,
|
25
|
+
};
|
26
|
+
|
27
|
+
ModalTitle.propTypes = {
|
28
|
+
/**
|
29
|
+
* Content of the header (preferably ModalTitle and ModalCloseButton).
|
30
|
+
*/
|
31
|
+
children: PropTypes.node.isRequired,
|
32
|
+
/**
|
33
|
+
* ID of the root HTML element.
|
34
|
+
*/
|
35
|
+
id: PropTypes.string,
|
36
|
+
/**
|
37
|
+
* Optional heading level. Preferably `1` or `2` should be used, see
|
38
|
+
* [W3C recommendation](https://github.com/w3c/aria-practices/issues/551#issuecomment-365134527).
|
39
|
+
*/
|
40
|
+
level: PropTypes.number,
|
41
|
+
};
|
42
|
+
|
43
|
+
export const ModalTitleWithGlobalProps = withGlobalProps(ModalTitle, 'ModalTitle');
|
44
|
+
|
45
|
+
export default ModalTitleWithGlobalProps;
|