@react-ui-org/react-ui 0.54.0 → 0.55.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 +7 -5
- package/dist/react-ui.css +36 -38
- package/dist/react-ui.development.css +10021 -10523
- package/dist/react-ui.development.js +211 -231
- package/dist/react-ui.js +1 -1
- package/package.json +3 -2
- package/src/components/Alert/Alert.jsx +1 -1
- package/src/components/Alert/Alert.module.scss +100 -0
- package/src/components/Alert/README.md +9 -7
- package/src/components/Badge/Badge.jsx +1 -1
- package/src/components/Badge/Badge.module.scss +109 -0
- package/src/components/Badge/README.md +9 -7
- package/src/components/Button/Button.jsx +1 -1
- package/src/components/Button/README.md +9 -7
- package/src/components/Button/_base.scss +117 -115
- package/src/components/Button/_priorities.scss +135 -133
- package/src/components/ButtonGroup/ButtonGroup.jsx +1 -1
- package/src/components/ButtonGroup/ButtonGroup.module.scss +35 -0
- package/src/components/ButtonGroup/README.md +10 -8
- package/src/components/Card/Card.jsx +1 -1
- package/src/components/Card/Card.module.scss +72 -0
- package/src/components/Card/CardBody.jsx +1 -1
- package/src/components/Card/CardFooter.jsx +1 -1
- package/src/components/Card/README.md +9 -7
- package/src/components/CheckboxField/CheckboxField.jsx +1 -1
- package/src/components/CheckboxField/CheckboxField.module.scss +63 -0
- package/src/components/CheckboxField/README.md +10 -8
- package/src/components/FileInputField/FileInputField.jsx +1 -1
- package/src/components/FileInputField/FileInputField.module.scss +65 -0
- package/src/components/FileInputField/README.md +10 -8
- package/src/components/FormLayout/FormLayout.jsx +1 -1
- package/src/components/FormLayout/{FormLayout.scss → FormLayout.module.scss} +30 -28
- package/src/components/FormLayout/FormLayoutCustomField.jsx +1 -1
- package/src/components/FormLayout/FormLayoutCustomField.module.scss +65 -0
- package/src/components/FormLayout/README.md +11 -9
- package/src/components/Grid/Grid.jsx +1 -1
- package/src/components/Grid/Grid.module.scss +66 -0
- package/src/components/Grid/GridSpan.jsx +1 -1
- package/src/components/Grid/README.md +11 -8
- package/src/components/InputGroup/InputGroup.jsx +1 -1
- package/src/components/InputGroup/InputGroup.module.scss +93 -0
- package/src/components/InputGroup/README.md +10 -8
- package/src/components/Modal/Modal.jsx +1 -1
- package/src/components/Modal/Modal.module.scss +80 -0
- package/src/components/Modal/ModalBody.jsx +1 -1
- package/src/components/Modal/ModalBody.module.scss +20 -0
- package/src/components/Modal/ModalCloseButton.jsx +1 -1
- package/src/components/Modal/ModalCloseButton.module.scss +20 -0
- package/src/components/Modal/ModalContent.jsx +1 -1
- package/src/components/Modal/ModalContent.module.scss +7 -0
- package/src/components/Modal/ModalFooter.jsx +1 -1
- package/src/components/Modal/ModalFooter.module.scss +37 -0
- package/src/components/Modal/ModalHeader.jsx +1 -1
- package/src/components/Modal/ModalHeader.module.scss +32 -0
- package/src/components/Modal/ModalTitle.jsx +1 -1
- package/src/components/Modal/ModalTitle.module.scss +12 -0
- package/src/components/Modal/README.md +17 -14
- package/src/components/Paper/Paper.jsx +1 -1
- package/src/components/Paper/Paper.module.scss +19 -0
- package/src/components/Paper/README.md +9 -7
- package/src/components/Popover/Popover.jsx +1 -1
- package/src/components/Popover/Popover.module.scss +238 -0
- package/src/components/Popover/PopoverWrapper.jsx +1 -2
- package/src/components/Popover/PopoverWrapper.module.scss +5 -0
- package/src/components/Popover/README.md +9 -7
- package/src/components/Radio/README.md +12 -10
- package/src/components/Radio/Radio.jsx +1 -1
- package/src/components/Radio/Radio.module.scss +85 -0
- package/src/components/ScrollView/README.md +10 -8
- package/src/components/ScrollView/ScrollView.jsx +1 -1
- package/src/components/ScrollView/ScrollView.module.scss +233 -0
- package/src/components/SelectField/README.md +10 -8
- package/src/components/SelectField/SelectField.jsx +1 -1
- package/src/components/SelectField/SelectField.module.scss +111 -0
- package/src/components/Table/README.md +10 -8
- package/src/components/Table/Table.jsx +1 -1
- package/src/components/Table/Table.module.scss +30 -0
- package/src/components/Table/_components/TableBodyCell/TableBodyCell.jsx +1 -1
- package/src/components/Table/_components/TableCell.module.scss +28 -0
- package/src/components/Table/_components/TableHeaderCell/TableHeaderCell.jsx +1 -1
- package/src/components/Tabs/README.md +16 -10
- package/src/components/Tabs/Tabs.jsx +1 -1
- package/src/components/Tabs/Tabs.module.scss +31 -0
- package/src/components/Tabs/TabsItem.jsx +1 -1
- package/src/components/Tabs/TabsItem.module.scss +119 -0
- package/src/components/Text/README.md +15 -9
- package/src/components/Text/Text.jsx +1 -1
- package/src/components/Text/Text.module.scss +42 -0
- package/src/components/TextArea/README.md +10 -8
- package/src/components/TextArea/TextArea.jsx +1 -1
- package/src/components/TextArea/TextArea.module.scss +97 -0
- package/src/components/TextField/README.md +13 -8
- package/src/components/TextField/TextField.jsx +1 -1
- package/src/components/TextField/TextField.module.scss +109 -0
- package/src/components/TextLink/README.md +10 -8
- package/src/components/TextLink/TextLink.jsx +1 -1
- package/src/components/TextLink/TextLink.module.scss +18 -0
- package/src/components/Toggle/README.md +10 -8
- package/src/components/Toggle/Toggle.jsx +1 -1
- package/src/components/Toggle/Toggle.module.scss +63 -0
- package/src/components/Toolbar/README.md +9 -7
- package/src/components/Toolbar/Toolbar.jsx +1 -1
- package/src/components/Toolbar/Toolbar.module.scss +85 -0
- package/src/components/Toolbar/ToolbarGroup.jsx +1 -1
- package/src/components/Toolbar/ToolbarItem.jsx +1 -1
- package/src/components/_helpers/transferProps.js +47 -7
- package/src/foundation.scss +22 -17
- package/src/helpers.scss +12 -8
- package/src/index.js +3 -4
- package/src/index.scss +7 -0
- package/src/layers.scss +4 -0
- package/src/styles/elements/_page.scss +0 -4
- package/src/styles/helpers/_animation.scss +2 -2
- package/src/styles/tools/_utilities.scss +1 -1
- package/src/theme.scss +1040 -1038
- package/src/components/Alert/Alert.scss +0 -98
- package/src/components/Badge/Badge.scss +0 -107
- package/src/components/ButtonGroup/ButtonGroup.scss +0 -33
- package/src/components/Card/Card.scss +0 -70
- package/src/components/CheckboxField/CheckboxField.scss +0 -61
- package/src/components/FileInputField/FileInputField.scss +0 -63
- package/src/components/FormLayout/FormLayoutCustomField.scss +0 -63
- package/src/components/Grid/Grid.scss +0 -63
- package/src/components/InputGroup/InputGroup.scss +0 -91
- package/src/components/Modal/Modal.scss +0 -78
- package/src/components/Modal/ModalBody.scss +0 -18
- package/src/components/Modal/ModalCloseButton.scss +0 -18
- package/src/components/Modal/ModalContent.scss +0 -5
- package/src/components/Modal/ModalFooter.scss +0 -35
- package/src/components/Modal/ModalHeader.scss +0 -30
- package/src/components/Modal/ModalTitle.scss +0 -10
- package/src/components/Paper/Paper.scss +0 -17
- package/src/components/Popover/Popover.scss +0 -236
- package/src/components/Popover/PopoverWrapper.scss +0 -3
- package/src/components/Radio/Radio.scss +0 -83
- package/src/components/ScrollView/ScrollView.scss +0 -227
- package/src/components/SelectField/SelectField.scss +0 -109
- package/src/components/Table/Table.scss +0 -28
- package/src/components/Table/_components/TableCell.scss +0 -26
- package/src/components/Tabs/Tabs.scss +0 -28
- package/src/components/Tabs/TabsItem.scss +0 -117
- package/src/components/Text/Text.scss +0 -40
- package/src/components/TextArea/TextArea.scss +0 -95
- package/src/components/TextField/TextField.scss +0 -107
- package/src/components/TextLink/TextLink.scss +0 -16
- package/src/components/Toggle/Toggle.scss +0 -61
- package/src/components/Toolbar/Toolbar.scss +0 -83
- /package/src/components/Button/{Button.scss → Button.module.scss} +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
@use "../../styles/tools/form-fields/foundation";
|
|
2
|
+
@use "../../styles/tools/form-fields/inline-field-elements";
|
|
3
|
+
@use "../../styles/tools/form-fields/inline-field-layout";
|
|
4
|
+
@use "../../styles/tools/form-fields/variants";
|
|
5
|
+
@use "../../styles/tools/accessibility";
|
|
6
|
+
|
|
7
|
+
@layer components.toggle {
|
|
8
|
+
// Foundation
|
|
9
|
+
.root {
|
|
10
|
+
@include foundation.root();
|
|
11
|
+
@include inline-field-layout.root();
|
|
12
|
+
@include inline-field-elements.min-tap-target($type: toggle);
|
|
13
|
+
@include variants.visual(check);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.label {
|
|
17
|
+
@include foundation.label();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.field {
|
|
21
|
+
@include inline-field-layout.field($type: toggle);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.input {
|
|
25
|
+
@include inline-field-elements.check-input($type: toggle);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.helpText,
|
|
29
|
+
.validationText {
|
|
30
|
+
@include foundation.help-text();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.isRootRequired .label {
|
|
34
|
+
@include foundation.label-required();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// States
|
|
38
|
+
.isRootStateInvalid {
|
|
39
|
+
@include variants.validation(invalid);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.isRootStateValid {
|
|
43
|
+
@include variants.validation(valid);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.isRootStateWarning {
|
|
47
|
+
@include variants.validation(warning);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Invisible label
|
|
51
|
+
.isLabelHidden {
|
|
52
|
+
@include accessibility.hide-text();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Layouts
|
|
56
|
+
.hasRootLabelBefore {
|
|
57
|
+
@include inline-field-layout.has-label-before();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.isRootInFormLayout {
|
|
61
|
+
@include inline-field-layout.in-form-layout();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -322,13 +322,15 @@ Or to build a classic media layout with image on the left and text on the right:
|
|
|
322
322
|
## Forwarding HTML Attributes
|
|
323
323
|
|
|
324
324
|
In addition to the options below in the [component's API](#api) section, you
|
|
325
|
-
can specify
|
|
326
|
-
|
|
327
|
-
|
|
325
|
+
can specify **any HTML attribute you like.** All attributes that don't interfere
|
|
326
|
+
with the API of the React component are forwarded to the root `<div>` HTML
|
|
327
|
+
element. This enables making the component interactive and helps to improve
|
|
328
328
|
its accessibility.
|
|
329
329
|
|
|
330
|
-
👉
|
|
331
|
-
|
|
330
|
+
👉 For the full list of supported attributes refer to:
|
|
331
|
+
|
|
332
|
+
- [`<div>` HTML element attributes][div-attributes]{:target="_blank"}
|
|
333
|
+
- [React common props]{:target="_blank"}
|
|
332
334
|
|
|
333
335
|
## API
|
|
334
336
|
|
|
@@ -353,7 +355,7 @@ A wrapper for individual toolbar items.
|
|
|
353
355
|
| `--rui-Toolbar__gap` | Gap between toolbar items |
|
|
354
356
|
| `--rui-Toolbar__gap--dense` | Dense gap between toolbar items |
|
|
355
357
|
|
|
358
|
+
[div-attributes]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div#attributes
|
|
356
359
|
[grid]: /components/Grid
|
|
357
360
|
[text]: /components/Text
|
|
358
|
-
[React
|
|
359
|
-
[div]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div#attributes
|
|
361
|
+
[React common props]: https://react.dev/reference/react-dom/components/common#common-props
|
|
@@ -6,7 +6,7 @@ import { classNames } from '../../utils/classNames';
|
|
|
6
6
|
import { isChildrenEmpty } from '../_helpers/isChildrenEmpty';
|
|
7
7
|
import { getAlignClassName } from './_helpers/getAlignClassName';
|
|
8
8
|
import { getJustifyClassName } from './_helpers/getJustifyClassName';
|
|
9
|
-
import styles from './Toolbar.scss';
|
|
9
|
+
import styles from './Toolbar.module.scss';
|
|
10
10
|
|
|
11
11
|
export const Toolbar = ({
|
|
12
12
|
align,
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// 1. Get rid of unwanted spacing of inline elements by invocation of flex layout.
|
|
2
|
+
|
|
3
|
+
@use "../../styles/tools/spacing";
|
|
4
|
+
@use "theme";
|
|
5
|
+
|
|
6
|
+
@layer components.toolbar {
|
|
7
|
+
.toolbar,
|
|
8
|
+
.group {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-wrap: wrap;
|
|
11
|
+
gap: theme.$gap;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.toolbar {
|
|
15
|
+
@include spacing.bottom(layouts);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.item {
|
|
19
|
+
display: flex; // 1.
|
|
20
|
+
flex: none;
|
|
21
|
+
flex-direction: column; // 1.
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.isItemFlexible {
|
|
25
|
+
flex: 1;
|
|
26
|
+
min-width: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.isToolbarAlignedToTop,
|
|
30
|
+
.isGroupAlignedToTop {
|
|
31
|
+
align-items: flex-start;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.isToolbarAlignedToMiddle,
|
|
35
|
+
.isGroupAlignedToMiddle {
|
|
36
|
+
align-items: center;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.isToolbarAlignedToBottom,
|
|
40
|
+
.isGroupAlignedToBottom {
|
|
41
|
+
align-items: flex-end;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.isToolbarAlignedToBaseline,
|
|
45
|
+
.isGroupAlignedToBaseline {
|
|
46
|
+
align-items: baseline;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.isToolbarJustifiedToStart,
|
|
50
|
+
.isGroupJustifiedToStart {
|
|
51
|
+
justify-content: flex-start;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.isToolbarJustifiedToCenter,
|
|
55
|
+
.isGroupJustifiedToCenter {
|
|
56
|
+
justify-content: center;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.isToolbarJustifiedToEnd,
|
|
60
|
+
.isGroupJustifiedToEnd {
|
|
61
|
+
justify-content: flex-end;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.isToolbarJustifiedToSpaceBetween,
|
|
65
|
+
.isGroupJustifiedToSpaceBetween {
|
|
66
|
+
justify-content: space-between;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.isToolbarDense,
|
|
70
|
+
.isGroupDense,
|
|
71
|
+
.isToolbarDense .group,
|
|
72
|
+
.isGroupDense .group {
|
|
73
|
+
gap: theme.$gap-dense;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.isToolbarNowrap,
|
|
77
|
+
.isGroupNowrap {
|
|
78
|
+
flex-wrap: nowrap;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.isToolbarNowrap > .item:not(.isItemFlexible),
|
|
82
|
+
.isGroupNowrap > .item:not(.isItemFlexible) {
|
|
83
|
+
flex: 0 1 auto;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -5,7 +5,7 @@ import { transferProps } from '../_helpers/transferProps';
|
|
|
5
5
|
import { classNames } from '../../utils/classNames';
|
|
6
6
|
import { isChildrenEmpty } from '../_helpers/isChildrenEmpty';
|
|
7
7
|
import { getAlignClassName } from './_helpers/getAlignClassName';
|
|
8
|
-
import styles from './Toolbar.scss';
|
|
8
|
+
import styles from './Toolbar.module.scss';
|
|
9
9
|
|
|
10
10
|
export const ToolbarGroup = ({
|
|
11
11
|
align,
|
|
@@ -4,7 +4,7 @@ import { transferProps } from '../_helpers/transferProps';
|
|
|
4
4
|
import { classNames } from '../../utils/classNames';
|
|
5
5
|
import { withGlobalProps } from '../../provider';
|
|
6
6
|
import { isChildrenEmpty } from '../_helpers/isChildrenEmpty';
|
|
7
|
-
import styles from './Toolbar.scss';
|
|
7
|
+
import styles from './Toolbar.module.scss';
|
|
8
8
|
|
|
9
9
|
export const ToolbarItem = ({
|
|
10
10
|
children,
|
|
@@ -1,7 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Controls passing of props from the React component to the HTML element
|
|
3
|
+
*
|
|
4
|
+
* Sometimes it is useful to have a mechanism to pass props from the React component to a rendered HTML element.
|
|
5
|
+
* It enables making the component interactive and helps improve its accessibility. However some props should
|
|
6
|
+
* never be passed to the HTML element as it would break things. This function is used to filter out such props.
|
|
7
|
+
*
|
|
8
|
+
* When run in development mode, the function will log the error to the console if any invalid props are passed.
|
|
9
|
+
*
|
|
10
|
+
* @param props The props that were passed to the React component and were not used by it
|
|
11
|
+
* @returns The props to be passed to the HTML element
|
|
12
|
+
*/
|
|
13
|
+
export const transferProps = (props) => {
|
|
14
|
+
const {
|
|
15
|
+
children,
|
|
16
|
+
className,
|
|
17
|
+
contentEditable,
|
|
18
|
+
dangerouslySetInnerHTML,
|
|
19
|
+
ref,
|
|
20
|
+
staticContext,
|
|
21
|
+
style,
|
|
22
|
+
suppressContentEditableWarning,
|
|
23
|
+
...restProps
|
|
24
|
+
} = props;
|
|
25
|
+
|
|
26
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
27
|
+
console.log('props', props);
|
|
28
|
+
const invalidProps = [
|
|
29
|
+
'children', // It is always either handled by the component itself or not supported.
|
|
30
|
+
'className', // Classes are set by component authors, changing it arbitrarily might break things.
|
|
31
|
+
'contentEditable', // Components are either interactive or not, changing it arbitrarily might break things.
|
|
32
|
+
'dangerouslySetInnerHTML', // This might break things and allow for XSS attacks.
|
|
33
|
+
'ref', // Forwarding `ref` is hardcoded and documented for each component.
|
|
34
|
+
'staticContext', // In `react-router` (v4, v5) this is used during server side rendering, it makes no sense to pass it to a component.
|
|
35
|
+
'style', // Styles are set by component authors, changing it arbitrarily might break things.
|
|
36
|
+
'suppressContentEditableWarning', // Since setting `contentEditable` is not allowed, this is not needed.
|
|
37
|
+
]
|
|
38
|
+
.filter((key) => props[key] !== undefined);
|
|
39
|
+
|
|
40
|
+
if (invalidProps.length > 0) {
|
|
41
|
+
// eslint-disable-next-line no-console
|
|
42
|
+
console.error(`Invalid prop(s) supplied to the "transferProps" function: "${invalidProps.join('", "')}"`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return restProps;
|
|
47
|
+
};
|
package/src/foundation.scss
CHANGED
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
// Mandatory themeable CSS layer to prepare ground for components.
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
@use "sass:meta";
|
|
3
4
|
|
|
4
5
|
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
6
|
+
// Generic
|
|
7
|
+
// =======
|
|
7
8
|
//
|
|
8
9
|
// Ground-zero styles.
|
|
9
10
|
|
|
10
|
-
@
|
|
11
|
-
@
|
|
12
|
-
@
|
|
13
|
-
@
|
|
14
|
-
@
|
|
15
|
-
@
|
|
11
|
+
@layer foundation.generic {
|
|
12
|
+
@include meta.load-css("styles/generic/box-sizing");
|
|
13
|
+
@include meta.load-css("normalize.css/normalize.css");
|
|
14
|
+
@include meta.load-css("styles/generic/focus");
|
|
15
|
+
@include meta.load-css("styles/generic/forms");
|
|
16
|
+
@include meta.load-css("styles/generic/reset");
|
|
17
|
+
@include meta.load-css("styles/generic/shared");
|
|
18
|
+
}
|
|
16
19
|
|
|
17
20
|
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
21
|
+
// Elements
|
|
22
|
+
// ========
|
|
20
23
|
//
|
|
21
24
|
// Unclassed HTML elements (type selectors).
|
|
22
25
|
|
|
23
|
-
@
|
|
24
|
-
@
|
|
25
|
-
@
|
|
26
|
-
@
|
|
27
|
-
@
|
|
28
|
-
@
|
|
26
|
+
@layer foundation.elements {
|
|
27
|
+
@include meta.load-css("styles/elements/code");
|
|
28
|
+
@include meta.load-css("styles/elements/links");
|
|
29
|
+
@include meta.load-css("styles/elements/lists");
|
|
30
|
+
@include meta.load-css("styles/elements/page");
|
|
31
|
+
@include meta.load-css("styles/elements/rulers");
|
|
32
|
+
@include meta.load-css("styles/elements/small");
|
|
33
|
+
}
|
package/src/helpers.scss
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
// Optional layer with helper CSS classes to easily adjust visual details.
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
@use "sass:meta";
|
|
4
4
|
|
|
5
5
|
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
6
|
+
// Helpers
|
|
7
|
+
// =======
|
|
8
8
|
//
|
|
9
9
|
// General purpose helpers for common situations. They can compose multiple CSS rules to do a bit
|
|
10
10
|
// more complicated tasks.
|
|
11
11
|
|
|
12
|
-
@
|
|
12
|
+
@layer helpers {
|
|
13
|
+
@include meta.load-css("styles/helpers/animation");
|
|
14
|
+
}
|
|
13
15
|
|
|
14
16
|
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
+
// Utilities
|
|
18
|
+
// =========
|
|
17
19
|
//
|
|
18
20
|
// Utility classes to tweak small details like typography, margins or padding. They do just one
|
|
19
21
|
// thing: they set a single CSS rule and use the otherwise disallowed `!important` to enforce it.
|
|
20
22
|
// Also they are often responsive (can be adjusted for individual breakpoints).
|
|
21
23
|
|
|
22
|
-
@
|
|
24
|
+
@layer utilities {
|
|
25
|
+
@include meta.load-css("styles/utilities");
|
|
26
|
+
}
|
package/src/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// Global definitions
|
|
2
|
-
//
|
|
3
|
-
|
|
4
|
-
import './
|
|
5
|
-
import './helpers.scss';
|
|
2
|
+
// The styles need to be imported here to be placed in the distribution CSS file.
|
|
3
|
+
// Component styles are imported in the components themselves below.
|
|
4
|
+
import './index.scss';
|
|
6
5
|
|
|
7
6
|
// Components
|
|
8
7
|
export { Alert } from './components/Alert';
|
package/src/index.scss
ADDED
package/src/layers.scss
ADDED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
@use "../theme/typography";
|
|
3
3
|
|
|
4
4
|
html {
|
|
5
|
-
width: 100%;
|
|
6
|
-
height: 100%;
|
|
7
5
|
-moz-osx-font-smoothing: grayscale;
|
|
8
6
|
-webkit-font-smoothing: antialiased;
|
|
9
7
|
font-weight: typography.$font-weight-base;
|
|
@@ -13,8 +11,6 @@ html {
|
|
|
13
11
|
}
|
|
14
12
|
|
|
15
13
|
body {
|
|
16
|
-
width: 100%;
|
|
17
|
-
min-height: 100%;
|
|
18
14
|
font-size: 1em;
|
|
19
15
|
color: page.$color;
|
|
20
16
|
background-color: page.$background;
|
|
@@ -12,10 +12,10 @@ $_spin-easing: cubic-bezier(0.31, 0.3, 0.34, -0.17);
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
.animation-spin-clockwise {
|
|
16
16
|
animation: spin $_spin-duration $_spin-easing infinite;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
.animation-spin-counterclockwise {
|
|
20
20
|
animation: spin $_spin-duration $_spin-easing infinite reverse;
|
|
21
21
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
// Don't prefix if value key is null (e.g. with shadow class)
|
|
21
21
|
$property-class-modifier: if($key, "-" + $key, "");
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
.#{$property-class + $infix + $property-class-modifier} {
|
|
24
24
|
@each $property in $properties {
|
|
25
25
|
// stylelint-disable-next-line declaration-no-important
|
|
26
26
|
#{$property}: $value !important;
|