@orangesk/orange-design-system 2.0.0-beta.37 → 2.0.0-beta.38
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/build/components/Loader/style.css +1 -1
- package/build/components/Loader/style.css.map +1 -1
- package/build/components/Table/style.css +1 -1
- package/build/components/Table/style.css.map +1 -1
- package/build/components/index.js +1 -1
- package/build/components/index.js.map +1 -1
- package/build/components/tsconfig.tsbuildinfo +1 -1
- package/build/components/types/index.d.ts +10 -2
- package/build/components/types/src/components/Accordion/Accordion.static.d.ts +2 -0
- package/build/components/types/src/components/Forms/Autocomplete/Autocomplete.d.ts +3 -1
- package/build/components/types/src/components/Forms/Autocomplete/Autocomplete.static.d.ts +1 -0
- package/build/components/types/src/components/Loader/LoaderFullscreen.d.ts +7 -0
- package/build/components/types/src/components/Loader/index.d.ts +1 -0
- package/build/components/types/src/components/index.d.ts +2 -2
- package/build/lib/components.css +1 -1
- package/build/lib/components.css.map +1 -1
- package/build/lib/footer.js.map +1 -1
- package/build/lib/megamenu.js.map +1 -1
- package/build/lib/scripts.js +1 -1
- package/build/lib/scripts.js.map +1 -1
- package/build/lib/style.css +1 -1
- package/build/lib/style.css.map +1 -1
- package/build/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -10
- package/src/components/Accordion/Accordion.static.ts +44 -1
- package/src/components/Accordion/tests/Accordion.unit.test.jsx +109 -0
- package/src/components/BlockAction/styles/config.scss +6 -6
- package/src/components/CartTable/styles/mixins.scss +46 -49
- package/src/components/Container/styles/config.scss +2 -2
- package/src/components/Container/styles/mixins.scss +4 -4
- package/src/components/Forms/Autocomplete/Autocomplete.static.ts +1 -0
- package/src/components/Forms/Autocomplete/Autocomplete.tsx +6 -1
- package/src/components/Forms/Autocomplete/styles/config.scss +3 -3
- package/src/components/Forms/Checkbox/styles/mixins.scss +2 -2
- package/src/components/Forms/File/styles/config.scss +5 -5
- package/src/components/Forms/Hint/styles/config.scss +1 -1
- package/src/components/Forms/Hint/styles/mixins.scss +2 -2
- package/src/components/Forms/Label/styles/mixins.scss +2 -2
- package/src/components/Forms/Radio/styles/mixins.scss +2 -2
- package/src/components/Forms/Select/styles/mixins.scss +6 -6
- package/src/components/Forms/TextInput/styles/mixins.scss +10 -10
- package/src/components/Hero/styles/config.scss +0 -1
- package/src/components/Icon/styles/export/size.scss +2 -2
- package/src/components/Icon/styles/mixins.scss +3 -3
- package/src/components/IconList/styles/config.scss +2 -2
- package/src/components/IconList/styles/style.scss +1 -1
- package/src/components/Loader/LoaderFullscreen.tsx +32 -0
- package/src/components/Loader/index.ts +1 -0
- package/src/components/Loader/styles/config.scss +5 -5
- package/src/components/Loader/styles/mixins.scss +24 -0
- package/src/components/Loader/styles/style.scss +9 -0
- package/src/components/Loader/tests/LoaderFullscreen.conformance.test.jsx +21 -0
- package/src/components/Loader/tests/LoaderFullscreen.unit.test.jsx +41 -0
- package/src/components/Loader/tests/test.scss +1 -1
- package/src/components/PromotionCard/styles/config.scss +2 -4
- package/src/components/Skeleton/styles/mixins.scss +3 -3
- package/src/components/Sticker/styles/mixins.scss +2 -2
- package/src/components/Table/docsData.ts +0 -1
- package/src/components/Table/styles/mixins.scss +5 -0
- package/src/components/Tag/styles/mixins.scss +1 -1
- package/src/components/Testimonial/styles/config.scss +25 -22
- package/src/components/Testimonial/styles/mixins.scss +36 -32
- package/src/components/Tooltip/styles/mixins.scss +14 -13
- package/src/components/index.ts +2 -1
- package/src/styles/export/breakpoint.scss +1 -1
- package/src/styles/export/space.scss +1 -1
- package/src/styles/tokens/breakpoint.scss +64 -49
- package/src/styles/tokens/space.scss +9 -9
- package/src/styles/tools/generate.scss +6 -6
- package/src/styles/tools/layout.scss +3 -3
- package/src/styles/tools/map.scss +2 -2
- package/src/styles/tools/text.scss +1 -1
- package/src/styles/utilities/index.scss +7 -7
- package/build/search-index.json +0 -426
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use "../../../styles/tokens/breakpoint";
|
|
2
|
+
@use "./config";
|
|
3
3
|
|
|
4
4
|
@mixin base {
|
|
5
|
-
|
|
5
|
+
height: 100%;
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
thead tr {
|
|
8
|
+
border-bottom: config.$table-header-border;
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
10
|
+
th {
|
|
11
|
+
border-bottom: 0;
|
|
13
12
|
}
|
|
13
|
+
}
|
|
14
14
|
|
|
15
|
-
@include breakpoint.get(
|
|
16
|
-
|
|
15
|
+
@include breakpoint.get("xs", "down") {
|
|
17
16
|
tr {
|
|
18
17
|
display: flex;
|
|
19
18
|
flex-wrap: wrap;
|
|
@@ -31,7 +30,7 @@
|
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
@include breakpoint.get(
|
|
33
|
+
@include breakpoint.get("md") {
|
|
35
34
|
td,
|
|
36
35
|
th {
|
|
37
36
|
padding-right: config.$default-spacing !important;
|
|
@@ -55,11 +54,11 @@
|
|
|
55
54
|
td:empty,
|
|
56
55
|
th:empty {
|
|
57
56
|
padding: 0 !important;
|
|
58
|
-
}
|
|
57
|
+
}
|
|
59
58
|
}
|
|
60
59
|
|
|
61
60
|
@mixin product {
|
|
62
|
-
@include breakpoint.get(
|
|
61
|
+
@include breakpoint.get("xs", "down") {
|
|
63
62
|
flex-basis: config.$product-size;
|
|
64
63
|
flex-grow: 1;
|
|
65
64
|
|
|
@@ -71,71 +70,69 @@
|
|
|
71
70
|
flex-basis: auto;
|
|
72
71
|
max-width: none;
|
|
73
72
|
}
|
|
74
|
-
}
|
|
73
|
+
}
|
|
75
74
|
}
|
|
76
75
|
|
|
77
76
|
@mixin discount-position--top {
|
|
78
|
-
|
|
77
|
+
margin-top: config.$default-spacing;
|
|
79
78
|
}
|
|
80
79
|
|
|
81
80
|
@mixin discount-position--left {
|
|
82
|
-
|
|
81
|
+
padding-left: config.$subitem-discount-spacing;
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
@mixin subitem-position {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
margin-left: config.$mobile-spacing;
|
|
86
|
+
@include breakpoint.get("md") {
|
|
87
|
+
margin-left: config.$default-spacing;
|
|
88
|
+
}
|
|
90
89
|
}
|
|
91
90
|
|
|
92
91
|
@mixin button {
|
|
93
|
-
|
|
92
|
+
font-size: config.$button-font-size !important;
|
|
93
|
+
|
|
94
|
+
svg {
|
|
95
|
+
margin-right: -#{config.$button-margin};
|
|
96
|
+
margin-left: -#{config.$button-margin};
|
|
97
|
+
}
|
|
94
98
|
|
|
99
|
+
@include breakpoint.get("md") {
|
|
95
100
|
svg {
|
|
96
|
-
margin-right:
|
|
97
|
-
margin-left: -#{config.$button-margin};
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
@include breakpoint.get('md') {
|
|
101
|
-
svg {
|
|
102
|
-
margin-right: config.$button-margin !important;
|
|
103
|
-
}
|
|
101
|
+
margin-right: config.$button-margin !important;
|
|
104
102
|
}
|
|
103
|
+
}
|
|
105
104
|
}
|
|
106
105
|
|
|
107
106
|
@mixin price {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
tfoot & {
|
|
119
|
-
flex-basis: auto;
|
|
120
|
-
padding-top: config.$default-spacing !important;
|
|
121
|
-
padding-bottom: config.$default-spacing !important;
|
|
122
|
-
}
|
|
107
|
+
@include breakpoint.get("xs", "down") {
|
|
108
|
+
padding-top: 0 !important;
|
|
109
|
+
order: 1;
|
|
110
|
+
flex-basis: 100%;
|
|
111
|
+
|
|
112
|
+
thead & {
|
|
113
|
+
display: none;
|
|
114
|
+
border-bottom: 0;
|
|
123
115
|
}
|
|
116
|
+
|
|
117
|
+
tfoot & {
|
|
118
|
+
flex-basis: auto;
|
|
119
|
+
padding-top: config.$default-spacing !important;
|
|
120
|
+
padding-bottom: config.$default-spacing !important;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
124
123
|
}
|
|
125
124
|
|
|
126
125
|
@mixin large {
|
|
127
126
|
th,
|
|
128
127
|
td {
|
|
129
|
-
|
|
130
|
-
@include breakpoint.get('md') {
|
|
128
|
+
@include breakpoint.get("md") {
|
|
131
129
|
padding: config.$default-spacing !important;
|
|
132
|
-
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
|
|
136
133
|
font-size: config.$large-font-size--mobile;
|
|
137
134
|
|
|
138
|
-
@include breakpoint.get(
|
|
135
|
+
@include breakpoint.get("md") {
|
|
139
136
|
font-size: config.$large-font-size--desktop;
|
|
140
137
|
}
|
|
141
|
-
}
|
|
138
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use
|
|
1
|
+
@use "../../../styles/tokens/space";
|
|
2
2
|
|
|
3
3
|
$container-widths: (
|
|
4
4
|
// containers on xs and md breakpoints are fluid
|
|
@@ -8,4 +8,4 @@ $container-widths: (
|
|
|
8
8
|
xxl: 1320px
|
|
9
9
|
);
|
|
10
10
|
|
|
11
|
-
$container-padding: space.get(
|
|
11
|
+
$container-padding: space.get("small");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
3
|
-
@use
|
|
1
|
+
@use "./../../../styles/tools/generate";
|
|
2
|
+
@use "./../../../styles/tokens/breakpoint";
|
|
3
|
+
@use "./config";
|
|
4
4
|
|
|
5
5
|
@mixin base {
|
|
6
6
|
width: 100%;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
> *:last-child{
|
|
19
|
+
> *:last-child {
|
|
20
20
|
margin-bottom: 0;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -12,7 +12,10 @@ const CLASS_ROOT = "autocomplete";
|
|
|
12
12
|
export type AutocompleteOption = string | { title: string; value: string };
|
|
13
13
|
|
|
14
14
|
export interface AutocompleteProps
|
|
15
|
-
extends
|
|
15
|
+
extends Omit<
|
|
16
|
+
React.SelectHTMLAttributes<HTMLSelectElement>,
|
|
17
|
+
"size" | "value"
|
|
18
|
+
> {
|
|
16
19
|
/** Module config. For more see accessible-autocomplete docs */
|
|
17
20
|
autocompleteConfig?: Record<string, any>;
|
|
18
21
|
/** Array of string options */
|
|
@@ -21,6 +24,8 @@ export interface AutocompleteProps
|
|
|
21
24
|
placeholder?: string;
|
|
22
25
|
/** Additional CSS classes */
|
|
23
26
|
className?: string;
|
|
27
|
+
/** Select value */
|
|
28
|
+
value?: string | string[];
|
|
24
29
|
}
|
|
25
30
|
|
|
26
31
|
const Autocomplete: React.FC<AutocompleteProps> = ({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use "../../../../styles/tools/convert.scss";
|
|
2
|
+
@use "../../TextInput/styles/config" as textConfig;
|
|
3
3
|
|
|
4
4
|
$states: textConfig.$states;
|
|
5
5
|
$sizes: textConfig.$sizes;
|
|
6
6
|
|
|
7
|
-
$menu-height: convert.to-rem(243px);
|
|
7
|
+
$menu-height: convert.to-rem(243px);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use "../../../../styles/tools/generate";
|
|
2
|
+
@use "./config";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
@use "sass:map";
|
|
2
|
-
@use
|
|
3
|
-
@use
|
|
2
|
+
@use "../../../../styles/tools/convert";
|
|
3
|
+
@use "../../../Button/styles/config" as buttonConfig;
|
|
4
4
|
|
|
5
5
|
$sizes: buttonConfig.$sizes;
|
|
6
6
|
|
|
7
7
|
$sizes: (
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
"default": map.get(buttonConfig.$sizes, "default"),
|
|
9
|
+
"large": map.get(buttonConfig.$sizes, "large"),
|
|
10
10
|
);
|
|
11
11
|
|
|
12
|
-
$disabled: map.get(buttonConfig.$base,
|
|
12
|
+
$disabled: map.get(buttonConfig.$base, "disabled");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use "../../../../styles/tools/generate";
|
|
2
|
+
@use "./config";
|
|
3
3
|
|
|
4
4
|
@mixin base($config: config.$base) {
|
|
5
5
|
@include generate.css-map($config);
|
|
@@ -10,18 +10,18 @@
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
@mixin states($config: config.$states) {
|
|
13
|
-
@include generate.css-map($config,
|
|
13
|
+
@include generate.css-map($config, "default");
|
|
14
14
|
|
|
15
15
|
&:focus {
|
|
16
|
-
@include generate.css-map($config,
|
|
16
|
+
@include generate.css-map($config, "focus");
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
&:disabled {
|
|
20
|
-
@include generate.css-map($config,
|
|
20
|
+
@include generate.css-map($config, "disabled");
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
&.is-invalid {
|
|
24
|
-
@include generate.css-map($config,
|
|
24
|
+
@include generate.css-map($config, "invalid");
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
3
|
-
@use
|
|
1
|
+
@use "../../../../styles/tools/generate";
|
|
2
|
+
@use "../../../../styles/tools/convert";
|
|
3
|
+
@use "./config";
|
|
4
4
|
|
|
5
5
|
@mixin base($config: config.$base) {
|
|
6
6
|
@include generate.css-map($config);
|
|
@@ -11,25 +11,25 @@
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
@mixin states($config: config.$states) {
|
|
14
|
-
@include generate.css-map($config,
|
|
14
|
+
@include generate.css-map($config, "default");
|
|
15
15
|
|
|
16
16
|
&:focus {
|
|
17
|
-
@include generate.css-map($config,
|
|
17
|
+
@include generate.css-map($config, "focus");
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
&:disabled {
|
|
21
21
|
opacity: 1;
|
|
22
22
|
//stylelint-disable-next-line
|
|
23
23
|
-webkit-text-fill-color: config.$disabled;
|
|
24
|
-
@include generate.css-map($config,
|
|
24
|
+
@include generate.css-map($config, "disabled");
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
&:read-only {
|
|
28
|
-
@include generate.css-map($config,
|
|
28
|
+
@include generate.css-map($config, "readonly");
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
&.is-invalid {
|
|
32
|
-
@include generate.css-map($config,
|
|
32
|
+
@include generate.css-map($config, "invalid");
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
&.is-valid {
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
@mixin search-icon-base {
|
|
53
53
|
background-image: config.$background-image-search-icon;
|
|
54
54
|
background-repeat: no-repeat;
|
|
55
|
-
@include generate.css-map(config.$background-search,
|
|
55
|
+
@include generate.css-map(config.$background-search, "default");
|
|
56
56
|
|
|
57
57
|
&.text-input--large {
|
|
58
|
-
@include generate.css-map(config.$background-search,
|
|
58
|
+
@include generate.css-map(config.$background-search, "large");
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
@use
|
|
1
|
+
@use "../../../styles/tokens/space";
|
|
2
2
|
|
|
3
|
-
$spacing: space.get(
|
|
3
|
+
$spacing: space.get("small");
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import cx from "classnames";
|
|
2
|
+
import React, { ReactNode } from "react";
|
|
3
|
+
import { Container } from "../Container";
|
|
4
|
+
import { Loader } from "./Loader";
|
|
5
|
+
|
|
6
|
+
const CLASS_ROOT = "loader-fullscreen";
|
|
7
|
+
|
|
8
|
+
interface LoaderFullscreenProps {
|
|
9
|
+
className?: string;
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const LoaderFullscreen: React.FC<LoaderFullscreenProps> = ({
|
|
14
|
+
className,
|
|
15
|
+
children,
|
|
16
|
+
...other
|
|
17
|
+
}) => {
|
|
18
|
+
const classes = cx(CLASS_ROOT, className);
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<div className={classes} role="status" aria-live="polite" {...other}>
|
|
22
|
+
<Container>
|
|
23
|
+
{children}
|
|
24
|
+
<Loader size="large" />
|
|
25
|
+
</Container>
|
|
26
|
+
</div>
|
|
27
|
+
);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
LoaderFullscreen.displayName = "LoaderFullscreen";
|
|
31
|
+
|
|
32
|
+
export { LoaderFullscreen };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
3
|
-
@use
|
|
1
|
+
@use "../../../styles/tokens/color";
|
|
2
|
+
@use "../../../styles/tokens/space";
|
|
3
|
+
@use "../../../styles/tools/convert";
|
|
4
4
|
|
|
5
5
|
$sizes: (
|
|
6
6
|
default: (
|
|
7
7
|
width: convert.to-rem(40px),
|
|
8
8
|
height: convert.to-rem(40px),
|
|
9
|
-
margin-right: space.get(
|
|
9
|
+
margin-right: space.get("small"),
|
|
10
10
|
),
|
|
11
11
|
large: (
|
|
12
12
|
width: convert.to-rem(50px),
|
|
13
13
|
height: convert.to-rem(50px),
|
|
14
14
|
margin-right: space.get(),
|
|
15
|
-
)
|
|
15
|
+
),
|
|
16
16
|
);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
@use "../../../styles/tools/generate";
|
|
3
3
|
@use "../../../styles/tools/convert";
|
|
4
4
|
@use "../../../styles/tokens/color";
|
|
5
|
+
@use "../../../styles/tokens/space";
|
|
5
6
|
@use "./config";
|
|
6
7
|
|
|
7
8
|
@keyframes logo-line {
|
|
@@ -31,6 +32,10 @@
|
|
|
31
32
|
flex: 0 0 auto;
|
|
32
33
|
overflow: hidden;
|
|
33
34
|
background-color: var(--color-surface-secondary);
|
|
35
|
+
|
|
36
|
+
&:only-child {
|
|
37
|
+
margin-right: 0 !important;
|
|
38
|
+
}
|
|
34
39
|
}
|
|
35
40
|
|
|
36
41
|
@mixin size($size: default) {
|
|
@@ -64,3 +69,22 @@
|
|
|
64
69
|
@mixin messages-large {
|
|
65
70
|
font-size: convert.to-rem(18px);
|
|
66
71
|
}
|
|
72
|
+
|
|
73
|
+
@mixin fullscreen-base {
|
|
74
|
+
position: fixed;
|
|
75
|
+
display: flex;
|
|
76
|
+
top: 0;
|
|
77
|
+
right: 0;
|
|
78
|
+
bottom: 0;
|
|
79
|
+
left: 0;
|
|
80
|
+
z-index: 500;
|
|
81
|
+
background-color: #eeeeeef2; // color.$surface-subtle opacity 95%
|
|
82
|
+
|
|
83
|
+
.container {
|
|
84
|
+
display: flex;
|
|
85
|
+
flex-direction: column;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
text-align: center;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use "./mixins";
|
|
2
|
+
@use "../../../styles/tokens/color";
|
|
2
3
|
|
|
3
4
|
@layer components {
|
|
4
5
|
.loader {
|
|
@@ -37,4 +38,12 @@
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
}
|
|
41
|
+
|
|
42
|
+
.loader-fullscreen {
|
|
43
|
+
@include mixins.fullscreen-base;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.is-dark .loader-fullscreen {
|
|
47
|
+
background-color: #333333f2; // color.$surface-subtle opacity 95%
|
|
48
|
+
}
|
|
40
49
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { render } from "@testing-library/react";
|
|
2
|
+
import { axe } from "vitest-axe";
|
|
3
|
+
|
|
4
|
+
import { LoaderFullscreen } from "../";
|
|
5
|
+
|
|
6
|
+
const example = (
|
|
7
|
+
<>
|
|
8
|
+
<LoaderFullscreen />
|
|
9
|
+
<LoaderFullscreen>Loading...</LoaderFullscreen>
|
|
10
|
+
</>
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
it("is valid html", () => {
|
|
14
|
+
const { container } = render(example);
|
|
15
|
+
expect(container).toHTMLValidate();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("is accessible", async () => {
|
|
19
|
+
const { container } = render(example);
|
|
20
|
+
expect(await axe(container)).toHaveNoViolations();
|
|
21
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { render } from "@testing-library/react";
|
|
2
|
+
|
|
3
|
+
import { LoaderFullscreen } from "../";
|
|
4
|
+
|
|
5
|
+
describe("LoaderFullscreen", () => {
|
|
6
|
+
describe("initial state", () => {
|
|
7
|
+
it("has default class loader-fullscreen", () => {
|
|
8
|
+
const { getByTestId } = render(
|
|
9
|
+
<LoaderFullscreen data-testid="test-id" />,
|
|
10
|
+
);
|
|
11
|
+
expect(getByTestId("test-id")).toHaveClass("loader-fullscreen");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("renders a Loader inside", () => {
|
|
15
|
+
const { container } = render(<LoaderFullscreen />);
|
|
16
|
+
expect(container.getElementsByClassName("loader").length).toBe(1);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("renders a large Loader by default", () => {
|
|
20
|
+
const { container } = render(<LoaderFullscreen />);
|
|
21
|
+
expect(container.getElementsByClassName("loader--large").length).toBe(1);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it("has role status", () => {
|
|
25
|
+
const { getByTestId } = render(
|
|
26
|
+
<LoaderFullscreen data-testid="test-id" />,
|
|
27
|
+
);
|
|
28
|
+
expect(getByTestId("test-id")).toHaveAttribute("role", "status");
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
describe("passed props", () => {
|
|
33
|
+
it("has additional class when className is set", () => {
|
|
34
|
+
const { getByTestId } = render(
|
|
35
|
+
<LoaderFullscreen data-testid="test-id" className="test-class" />,
|
|
36
|
+
);
|
|
37
|
+
expect(getByTestId("test-id")).toHaveClass("loader-fullscreen");
|
|
38
|
+
expect(getByTestId("test-id")).toHaveClass("test-class");
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use "../../../styles/tools/generate";
|
|
2
|
+
@use "./config";
|
|
3
3
|
|
|
4
4
|
@mixin base {
|
|
5
5
|
@include generate.css-map(config.$skeleton-base);
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
&::after {
|
|
13
13
|
@include generate.css-map(config.$skeleton-overlay);
|
|
14
14
|
|
|
15
|
-
content:
|
|
15
|
+
content: "";
|
|
16
16
|
position: absolute;
|
|
17
17
|
top: 0;
|
|
18
18
|
left: 0;
|
|
@@ -142,7 +142,6 @@ export const scrollableHeaders: TableHeader[] = [
|
|
|
142
142
|
key: "col5",
|
|
143
143
|
label:
|
|
144
144
|
"Maecenas faucibus mollis interdum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Sed posuere consectetur est at lobortis. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.",
|
|
145
|
-
cellProps: { className: "text-nowrap" },
|
|
146
145
|
},
|
|
147
146
|
];
|
|
148
147
|
|