@pareto-engineering/design-system 4.0.0-alpha.5 → 4.0.0-alpha.9
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/dist/cjs/a/AnimatedBlobs/AnimatedBlobs.js +90 -0
- package/dist/cjs/a/AnimatedBlobs/index.js +13 -0
- package/dist/cjs/a/AnimatedBlobs/styles.scss +87 -0
- package/dist/cjs/a/AnimatedGradient/AnimatedGradient.js +56 -0
- package/dist/cjs/a/AnimatedGradient/index.js +13 -0
- package/dist/cjs/a/AnimatedGradient/styles.scss +14 -0
- package/dist/cjs/a/AnimatedGradient/webGIRenderer.js +528 -0
- package/dist/cjs/a/ContentTree/ContentTree.js +1 -1
- package/dist/cjs/a/Label/Label.js +12 -4
- package/dist/cjs/a/Label/styles.scss +1 -1
- package/dist/cjs/a/MetaCard/MetaCard.js +60 -0
- package/dist/cjs/a/MetaCard/index.js +13 -0
- package/dist/cjs/a/MetaCard/styles.scss +28 -0
- package/dist/cjs/a/Popover/Popover.js +1 -1
- package/dist/cjs/a/SnapScroller/styles.scss +18 -10
- package/dist/cjs/a/TextSteps/TextSteps.js +70 -0
- package/dist/cjs/a/TextSteps/index.js +13 -0
- package/dist/cjs/a/TextSteps/styles.scss +29 -0
- package/dist/cjs/a/Tip/Tip.js +72 -0
- package/dist/cjs/a/Tip/index.js +13 -0
- package/dist/cjs/a/Tip/styles.scss +22 -0
- package/dist/cjs/a/index.js +36 -1
- package/dist/cjs/b/Button/styles.scss +2 -0
- package/dist/cjs/b/Card/Card.js +74 -0
- package/dist/cjs/b/Card/common/Group/Group.js +73 -0
- package/dist/cjs/b/Card/common/Group/index.js +13 -0
- package/dist/cjs/b/Card/common/Group/styles.scss +42 -0
- package/dist/cjs/b/Card/common/Section/Section.js +59 -0
- package/dist/cjs/b/Card/common/Section/index.js +13 -0
- package/dist/cjs/b/Card/common/index.js +19 -0
- package/dist/cjs/b/Card/index.js +13 -0
- package/dist/cjs/b/Card/styles.scss +46 -0
- package/dist/cjs/b/Page/Page.js +9 -2
- package/dist/cjs/b/Page/common/Section/Section.js +6 -1
- package/dist/cjs/b/Page/styles.scss +22 -4
- package/dist/cjs/b/index.js +8 -1
- package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +15 -7
- package/dist/cjs/f/fields/ChoicesInput/styles.scss +21 -33
- package/dist/cjs/f/fields/SelectInput/SelectInput.js +2 -2
- package/dist/cjs/f/fields/SelectInput/styles.scss +31 -21
- package/dist/cjs/f/fields/TextInput/TextInput.js +4 -2
- package/dist/cjs/f/fields/TextInput/styles.scss +26 -17
- package/dist/es/a/AnimatedBlobs/AnimatedBlobs.js +82 -0
- package/dist/es/a/AnimatedBlobs/index.js +1 -0
- package/dist/es/a/AnimatedBlobs/styles.scss +87 -0
- package/dist/es/a/AnimatedGradient/AnimatedGradient.js +48 -0
- package/dist/es/a/AnimatedGradient/index.js +1 -0
- package/dist/es/a/AnimatedGradient/styles.scss +14 -0
- package/dist/es/a/AnimatedGradient/webGIRenderer.js +492 -0
- package/dist/es/a/ContentTree/ContentTree.js +1 -1
- package/dist/es/a/Label/Label.js +12 -4
- package/dist/es/a/Label/styles.scss +1 -1
- package/dist/es/a/MetaCard/MetaCard.js +52 -0
- package/dist/es/a/MetaCard/index.js +1 -0
- package/dist/es/a/MetaCard/styles.scss +28 -0
- package/dist/es/a/Popover/Popover.js +1 -1
- package/dist/es/a/SnapScroller/styles.scss +18 -10
- package/dist/es/a/TextSteps/TextSteps.js +61 -0
- package/dist/es/a/TextSteps/index.js +1 -0
- package/dist/es/a/TextSteps/styles.scss +29 -0
- package/dist/es/a/Tip/Tip.js +64 -0
- package/dist/es/a/Tip/index.js +2 -0
- package/dist/es/a/Tip/styles.scss +22 -0
- package/dist/es/a/index.js +6 -1
- package/dist/es/b/Button/styles.scss +2 -0
- package/dist/es/b/Card/Card.js +66 -0
- package/dist/es/b/Card/common/Group/Group.js +65 -0
- package/dist/es/b/Card/common/Group/index.js +1 -0
- package/dist/es/b/Card/common/Group/styles.scss +42 -0
- package/dist/es/b/Card/common/Section/Section.js +48 -0
- package/dist/es/b/Card/common/Section/index.js +1 -0
- package/dist/es/b/Card/common/index.js +2 -0
- package/dist/es/b/Card/index.js +1 -0
- package/dist/es/b/Card/styles.scss +46 -0
- package/dist/es/b/Page/Page.js +9 -2
- package/dist/es/b/Page/common/Section/Section.js +6 -1
- package/dist/es/b/Page/styles.scss +22 -4
- package/dist/es/b/index.js +2 -1
- package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +16 -8
- package/dist/es/f/fields/ChoicesInput/styles.scss +21 -33
- package/dist/es/f/fields/SelectInput/SelectInput.js +2 -2
- package/dist/es/f/fields/SelectInput/styles.scss +31 -21
- package/dist/es/f/fields/TextInput/TextInput.js +4 -2
- package/dist/es/f/fields/TextInput/styles.scss +26 -17
- package/package.json +15 -15
- package/src/stories/a/MetaCard.stories.jsx +35 -0
- package/src/stories/a/TextSteps.stories.jsx +19 -0
- package/src/stories/a/Tip.stories.jsx +28 -0
- package/src/stories/b/Card/Card.stories.jsx +59 -0
- package/src/stories/b/Card/Group.stories.jsx +59 -0
- package/src/stories/b/Page.stories.jsx +19 -3
- package/src/stories/f/SelectInput.stories.jsx +7 -0
- package/src/stories/f/TextInput.stories.jsx +4 -4
- package/src/ui/a/AnimatedBlobs/AnimatedBlobs.jsx +102 -0
- package/src/ui/a/AnimatedBlobs/index.js +1 -0
- package/src/ui/a/AnimatedBlobs/styles.scss +87 -0
- package/src/ui/a/AnimatedGradient/AnimatedGradient.jsx +69 -0
- package/src/ui/a/AnimatedGradient/index.js +1 -0
- package/src/ui/a/AnimatedGradient/styles.scss +14 -0
- package/src/ui/a/AnimatedGradient/webGIRenderer.js +541 -0
- package/src/ui/a/ContentTree/ContentTree.jsx +1 -1
- package/src/ui/a/Label/Label.jsx +11 -2
- package/src/ui/a/Label/styles.scss +1 -1
- package/src/ui/a/MetaCard/MetaCard.jsx +74 -0
- package/src/ui/a/MetaCard/index.js +1 -0
- package/src/ui/a/MetaCard/styles.scss +28 -0
- package/src/ui/a/Popover/Popover.jsx +1 -1
- package/src/ui/a/SnapScroller/styles.scss +18 -10
- package/src/ui/a/TextSteps/TextSteps.jsx +87 -0
- package/src/ui/a/TextSteps/index.js +1 -0
- package/src/ui/a/TextSteps/styles.scss +29 -0
- package/src/ui/a/Tip/Tip.jsx +88 -0
- package/src/ui/a/Tip/index.js +2 -0
- package/src/ui/a/Tip/styles.scss +22 -0
- package/src/ui/a/index.js +5 -0
- package/src/ui/b/Button/styles.scss +2 -0
- package/src/ui/b/Card/Card.jsx +94 -0
- package/src/ui/b/Card/common/Group/Group.jsx +91 -0
- package/src/ui/b/Card/common/Group/index.js +1 -0
- package/src/ui/b/Card/common/Group/styles.scss +42 -0
- package/src/ui/b/Card/common/Section/Section.jsx +70 -0
- package/src/ui/b/Card/common/Section/index.js +1 -0
- package/src/ui/b/Card/common/index.js +2 -0
- package/src/ui/b/Card/index.js +1 -0
- package/src/ui/b/Card/styles.scss +46 -0
- package/src/ui/b/Page/Page.jsx +7 -1
- package/src/ui/b/Page/common/Section/Section.jsx +8 -0
- package/src/ui/b/Page/styles.scss +22 -4
- package/src/ui/b/index.js +1 -0
- package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +10 -5
- package/src/ui/f/fields/ChoicesInput/styles.scss +21 -33
- package/src/ui/f/fields/SelectInput/SelectInput.jsx +2 -2
- package/src/ui/f/fields/SelectInput/styles.scss +31 -21
- package/src/ui/f/fields/TextInput/TextInput.jsx +11 -9
- package/src/ui/f/fields/TextInput/styles.scss +26 -17
- package/tests/__snapshots__/Storyshots.test.js.snap +1049 -485
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
import * as React from 'react'
|
|
3
|
+
|
|
4
|
+
import PropTypes from 'prop-types'
|
|
5
|
+
|
|
6
|
+
import styleNames from '@pareto-engineering/bem/exports'
|
|
7
|
+
|
|
8
|
+
// Local Definitions
|
|
9
|
+
|
|
10
|
+
const baseClassName = styleNames.base
|
|
11
|
+
|
|
12
|
+
const componentClassName = 'section'
|
|
13
|
+
|
|
14
|
+
const Section = ({
|
|
15
|
+
id,
|
|
16
|
+
className:userClassName,
|
|
17
|
+
style,
|
|
18
|
+
children,
|
|
19
|
+
isImage,
|
|
20
|
+
...otherProps
|
|
21
|
+
}) => (
|
|
22
|
+
<div
|
|
23
|
+
id={id}
|
|
24
|
+
className={[
|
|
25
|
+
baseClassName,
|
|
26
|
+
componentClassName,
|
|
27
|
+
userClassName,
|
|
28
|
+
isImage && styleNames.modifierImage,
|
|
29
|
+
]
|
|
30
|
+
.filter((e) => e)
|
|
31
|
+
.join(' ')}
|
|
32
|
+
style={style}
|
|
33
|
+
{...otherProps}
|
|
34
|
+
>
|
|
35
|
+
{children}
|
|
36
|
+
</div>
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
Section.propTypes = {
|
|
40
|
+
/**
|
|
41
|
+
* The HTML id for this element
|
|
42
|
+
*/
|
|
43
|
+
id:PropTypes.string,
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The HTML class names for this element
|
|
47
|
+
*/
|
|
48
|
+
className:PropTypes.string,
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The React-written, css properties for this element.
|
|
52
|
+
*/
|
|
53
|
+
style:PropTypes.objectOf(PropTypes.string),
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The children JSX
|
|
57
|
+
*/
|
|
58
|
+
children:PropTypes.node,
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Whether to use the image modifier class
|
|
62
|
+
*/
|
|
63
|
+
isImage:PropTypes.bool,
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
Section.defaultProps = {
|
|
67
|
+
// someProp:false
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export default Section
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Section } from './Section'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Card } from './Card'
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
|
|
3
|
+
@use "@pareto-engineering/bem";
|
|
4
|
+
|
|
5
|
+
$default-border-radius: var(--theme-default-border-radius);
|
|
6
|
+
$default-border-color: var(--hard-background-cards);
|
|
7
|
+
$default-background: var(--background-cards-80);
|
|
8
|
+
$default-padding: 1.5em;
|
|
9
|
+
|
|
10
|
+
.#{bem.$base}.card {
|
|
11
|
+
background: $default-background;
|
|
12
|
+
border: 1px solid $default-border-color;
|
|
13
|
+
border-radius: $default-border-radius;
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
position: relative;
|
|
18
|
+
|
|
19
|
+
> .progress-bar {
|
|
20
|
+
left: 0;
|
|
21
|
+
position: absolute;
|
|
22
|
+
top: 0;
|
|
23
|
+
width: 100%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
> .#{bem.$base}.section:nth-last-child(2) {
|
|
27
|
+
flex-grow: 1;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
> .#{bem.$base}.section {
|
|
31
|
+
padding: $default-padding;
|
|
32
|
+
|
|
33
|
+
&.#{bem.$modifier-image} {
|
|
34
|
+
padding: 0;
|
|
35
|
+
|
|
36
|
+
img {
|
|
37
|
+
border-radius: $default-border-radius;
|
|
38
|
+
width: 100%;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
> .#{bem.$base}.section + .#{bem.$base}.section {
|
|
44
|
+
padding-top: 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
package/src/ui/b/Page/Page.jsx
CHANGED
|
@@ -23,10 +23,10 @@ const Page = ({
|
|
|
23
23
|
className:userClassName,
|
|
24
24
|
style,
|
|
25
25
|
children,
|
|
26
|
-
|
|
27
26
|
itemType,
|
|
28
27
|
as:Wrapper,
|
|
29
28
|
helmetProps,
|
|
29
|
+
Background,
|
|
30
30
|
...otherProps
|
|
31
31
|
}) => {
|
|
32
32
|
useInsertionEffect(() => {
|
|
@@ -70,6 +70,7 @@ const Page = ({
|
|
|
70
70
|
)}
|
|
71
71
|
{ helmetProps && <PageHelmet {...helmetProps} /> }
|
|
72
72
|
{children}
|
|
73
|
+
{Background && <Background className="background" />}
|
|
73
74
|
</Wrapper>
|
|
74
75
|
</Context.Provider>
|
|
75
76
|
)
|
|
@@ -110,6 +111,11 @@ Page.propTypes = {
|
|
|
110
111
|
* The props to pass to `Page.Helmet`. Refer to the corresponding section of the docs.
|
|
111
112
|
*/
|
|
112
113
|
helmetProps:PropTypes.objectOf(PropTypes.string),
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* The component to use as background
|
|
117
|
+
*/
|
|
118
|
+
Background:PropTypes.node,
|
|
113
119
|
}
|
|
114
120
|
|
|
115
121
|
Page.defaultProps = {
|
|
@@ -14,6 +14,7 @@ const Section = ({
|
|
|
14
14
|
className:userClassName,
|
|
15
15
|
style,
|
|
16
16
|
children,
|
|
17
|
+
spaced,
|
|
17
18
|
...otherProps
|
|
18
19
|
}) => {
|
|
19
20
|
const {
|
|
@@ -28,6 +29,8 @@ const Section = ({
|
|
|
28
29
|
baseClassName,
|
|
29
30
|
componentClassName,
|
|
30
31
|
userClassName,
|
|
32
|
+
spaced && styleNames.modifierSpaced,
|
|
33
|
+
'grid',
|
|
31
34
|
]
|
|
32
35
|
.filter((e) => e)
|
|
33
36
|
.join(' ')}
|
|
@@ -55,6 +58,11 @@ Section.propTypes = {
|
|
|
55
58
|
*/
|
|
56
59
|
style:PropTypes.objectOf(PropTypes.string),
|
|
57
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Whether the section contains the theme spacing
|
|
63
|
+
*/
|
|
64
|
+
spaced:PropTypes.bool,
|
|
65
|
+
|
|
58
66
|
/**
|
|
59
67
|
* The children JSX
|
|
60
68
|
*/
|
|
@@ -2,16 +2,34 @@
|
|
|
2
2
|
/* stylelint-disable selector-max-universal -- exception */
|
|
3
3
|
|
|
4
4
|
@use "@pareto-engineering/bem";
|
|
5
|
-
|
|
5
|
+
@use "@pareto-engineering/styles/src/mixins";
|
|
6
|
+
@use "@pareto-engineering/styles/src/globals" as *;
|
|
6
7
|
|
|
7
8
|
.#{bem.$base}.page {
|
|
8
|
-
|
|
9
|
+
position: relative;
|
|
10
|
+
|
|
11
|
+
> .background {
|
|
12
|
+
position: fixed;
|
|
13
|
+
z-index: -1;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
> .#{bem.$base}.section {
|
|
17
|
+
padding-left: var(--gap);
|
|
18
|
+
padding-right: var(--gap);
|
|
9
19
|
position: relative;
|
|
10
20
|
|
|
11
21
|
> *:not(:last-child) {
|
|
12
22
|
z-index: 1;
|
|
13
23
|
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
24
|
|
|
25
|
+
&.#{bem.$modifier-spaced} {
|
|
26
|
+
padding-bottom: var(--theme-default-section-spacing);
|
|
27
|
+
padding-top: var(--theme-default-section-spacing);
|
|
17
28
|
|
|
29
|
+
@include mixins.media($from: $sm-md) {
|
|
30
|
+
padding-bottom: var(--theme-desktop-section-spacing);
|
|
31
|
+
padding-top: var(--theme-desktop-section-spacing);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
package/src/ui/b/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import styleNames from '@pareto-engineering/bem/exports'
|
|
|
11
11
|
|
|
12
12
|
import { Choice } from './common'
|
|
13
13
|
|
|
14
|
-
import { FormLabel } from '../../common'
|
|
14
|
+
import { FormDescription, FormLabel } from '../../common'
|
|
15
15
|
|
|
16
16
|
const baseClassName = styleNames.base
|
|
17
17
|
|
|
@@ -31,10 +31,10 @@ const ChoicesInput = ({
|
|
|
31
31
|
gridColumnsMobile,
|
|
32
32
|
gridColumnsDesktop,
|
|
33
33
|
color,
|
|
34
|
-
colorChecked,
|
|
35
34
|
label,
|
|
36
35
|
optional,
|
|
37
36
|
disabled,
|
|
37
|
+
description,
|
|
38
38
|
// ...otherProps
|
|
39
39
|
}) => {
|
|
40
40
|
useInsertionEffect(() => {
|
|
@@ -52,7 +52,6 @@ const ChoicesInput = ({
|
|
|
52
52
|
userClassName,
|
|
53
53
|
multiple && 'multiple',
|
|
54
54
|
color && `x-${color}`,
|
|
55
|
-
colorChecked && `y-${colorChecked}`,
|
|
56
55
|
]
|
|
57
56
|
.filter((e) => e)
|
|
58
57
|
.join(' ')}
|
|
@@ -71,6 +70,7 @@ const ChoicesInput = ({
|
|
|
71
70
|
<div className="choices">
|
|
72
71
|
{ options.map((choice) => (
|
|
73
72
|
<Choice
|
|
73
|
+
labelClassName="with-faded-border"
|
|
74
74
|
key={choice.value}
|
|
75
75
|
name={name}
|
|
76
76
|
id={`${name}-${choice.value}`}
|
|
@@ -81,6 +81,7 @@ const ChoicesInput = ({
|
|
|
81
81
|
/>
|
|
82
82
|
))}
|
|
83
83
|
</div>
|
|
84
|
+
<FormDescription className="v50 mt-v s-1" description={description} name={name} />
|
|
84
85
|
</div>
|
|
85
86
|
)
|
|
86
87
|
}
|
|
@@ -148,13 +149,17 @@ ChoicesInput.propTypes = {
|
|
|
148
149
|
* Whether the input is optional or not
|
|
149
150
|
*/
|
|
150
151
|
optional:PropTypes.bool,
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* The select input description
|
|
155
|
+
*/
|
|
156
|
+
description:PropTypes.string,
|
|
151
157
|
}
|
|
152
158
|
|
|
153
159
|
ChoicesInput.defaultProps = {
|
|
154
160
|
gridColumnsMobile :2,
|
|
155
161
|
gridColumnsDesktop:3,
|
|
156
|
-
color :'
|
|
157
|
-
colorChecked :'main2',
|
|
162
|
+
color :'main',
|
|
158
163
|
disabled :false,
|
|
159
164
|
}
|
|
160
165
|
|
|
@@ -5,21 +5,18 @@
|
|
|
5
5
|
@use "@pareto-engineering/styles/src/mixins";
|
|
6
6
|
@use "@pareto-engineering/styles/src/globals" as *;
|
|
7
7
|
|
|
8
|
-
$default-
|
|
9
|
-
$default-
|
|
10
|
-
$default-
|
|
8
|
+
$default-flex-separator:calc(1em / 2) calc(.75em / 2);
|
|
9
|
+
$default-transition:var(--theme-default-transition);
|
|
10
|
+
$default-label-padding: .3em 1em calc(2em - .3em);
|
|
11
|
+
$default-label-height: .5em;
|
|
11
12
|
|
|
12
13
|
.#{bem.$base}.choices-input {
|
|
13
|
-
|
|
14
|
-
display:
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
>.choices {
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-wrap: wrap;
|
|
17
|
+
gap: $default-flex-separator;
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
grid-template-columns: repeat(var(--grid-columns-desktop), 1fr);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.choice {
|
|
19
|
+
>.choice {
|
|
23
20
|
display: flex;
|
|
24
21
|
|
|
25
22
|
input {
|
|
@@ -33,35 +30,26 @@ $default-transition:all .3s;
|
|
|
33
30
|
background-color: var(--hard-x);
|
|
34
31
|
}
|
|
35
32
|
|
|
36
|
-
input:not(:disabled) + label {
|
|
37
|
-
&:hover {
|
|
38
|
-
border-color: var(--soft-y);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
33
|
label {
|
|
43
|
-
background: var(--
|
|
44
|
-
border: var(--theme-border-
|
|
45
|
-
border-radius: var(--theme-border-radius);
|
|
46
|
-
color: var(--on-x);
|
|
34
|
+
background-color: var(--background-inputs);
|
|
35
|
+
border-radius: var(--theme-default-border-radius);
|
|
47
36
|
cursor: pointer;
|
|
48
37
|
display: block;
|
|
49
|
-
height:
|
|
50
|
-
|
|
38
|
+
height: $default-label-height;
|
|
39
|
+
max-width: 100%;
|
|
40
|
+
padding: $default-label-padding;
|
|
41
|
+
position: relative;
|
|
51
42
|
transition: $default-transition;
|
|
52
|
-
width: 100%;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
input:checked + label {
|
|
56
|
-
background: var(--y);
|
|
57
|
-
color: var(--on-y);
|
|
58
43
|
|
|
59
44
|
&:hover {
|
|
60
|
-
|
|
45
|
+
box-shadow: var(--theme-default-input-box-shadow);
|
|
61
46
|
}
|
|
62
47
|
}
|
|
48
|
+
|
|
49
|
+
input:checked + label {
|
|
50
|
+
background: var(--x);
|
|
51
|
+
color: var(--on-x);
|
|
52
|
+
}
|
|
63
53
|
}
|
|
64
54
|
}
|
|
65
55
|
}
|
|
66
|
-
|
|
67
|
-
|
|
@@ -61,7 +61,7 @@ const SelectInput = ({
|
|
|
61
61
|
// {...otherProps}
|
|
62
62
|
>
|
|
63
63
|
<FormLabel name={name} optional={optional}>{label}</FormLabel>
|
|
64
|
-
<div className="select-wrapper">
|
|
64
|
+
<div className="select-wrapper with-faded-border">
|
|
65
65
|
<select
|
|
66
66
|
className="input"
|
|
67
67
|
{...field}
|
|
@@ -172,7 +172,7 @@ SelectInput.propTypes = {
|
|
|
172
172
|
|
|
173
173
|
SelectInput.defaultProps = {
|
|
174
174
|
disabled:false,
|
|
175
|
-
color :'
|
|
175
|
+
color :'interactive',
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
export default memo(SelectInput)
|
|
@@ -5,20 +5,32 @@
|
|
|
5
5
|
@use "../../../form.scss";
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
$default-spacing-size: 1em;
|
|
8
9
|
$default-padding: .75em;
|
|
9
|
-
$default-
|
|
10
|
+
$default-bg-gradient: var(--background-far);
|
|
11
|
+
$default-input-border-radius: var(--theme-default-input-border-radius);
|
|
10
12
|
|
|
11
13
|
.#{bem.$base}.select-input {
|
|
12
14
|
display: flex;
|
|
13
15
|
flex-direction: column;
|
|
14
16
|
|
|
15
17
|
.#{bem.$base}.label {
|
|
16
|
-
margin-bottom: $default-
|
|
18
|
+
margin-bottom: $default-spacing-size;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
>.select-wrapper {
|
|
22
|
+
background-color: var(--background-inputs);
|
|
23
|
+
border-radius: $default-input-border-radius;
|
|
24
|
+
padding: $default-padding;
|
|
20
25
|
position: relative;
|
|
21
26
|
|
|
27
|
+
&::after {
|
|
28
|
+
border-radius: $default-input-border-radius;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&:not(:disabled):hover {
|
|
32
|
+
box-shadow: var(--default-input-box-shadow);
|
|
33
|
+
}
|
|
22
34
|
>.#{bem.$base}.loading-circle {
|
|
23
35
|
position: absolute;
|
|
24
36
|
right: 0;
|
|
@@ -26,24 +38,22 @@ $default-margin: 1em;
|
|
|
26
38
|
transform: translateY(-50%);
|
|
27
39
|
}
|
|
28
40
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
&:focus {
|
|
46
|
-
background: var(--y);
|
|
41
|
+
select {
|
|
42
|
+
appearance: none;
|
|
43
|
+
background-color: inherit;
|
|
44
|
+
background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyMCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5IDEuNUwxMCAxMC41TDEgMS41IiBzdHJva2U9IiM0QzRENTMiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
|
45
|
+
background-position: calc(100% - $default-spacing-size);
|
|
46
|
+
background-repeat: no-repeat;
|
|
47
|
+
background-size: $default-spacing-size;
|
|
48
|
+
padding-right: $default-spacing-size;
|
|
49
|
+
|
|
50
|
+
&.input {
|
|
51
|
+
width: 100%;
|
|
52
|
+
|
|
53
|
+
&:disabled {
|
|
54
|
+
appearance: none;
|
|
55
|
+
opacity: 35%;
|
|
56
|
+
}
|
|
47
57
|
}
|
|
48
58
|
}
|
|
49
59
|
}
|
|
@@ -68,15 +68,17 @@ const TextInput = ({
|
|
|
68
68
|
>
|
|
69
69
|
{ label }
|
|
70
70
|
</FormLabel>
|
|
71
|
-
<input
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
71
|
+
<div className="input-wrapper with-faded-border">
|
|
72
|
+
<input
|
|
73
|
+
id={name}
|
|
74
|
+
className="input"
|
|
75
|
+
type={type}
|
|
76
|
+
disabled={disabled}
|
|
77
|
+
placeholder={placeholder}
|
|
78
|
+
autoComplete={autoComplete}
|
|
79
|
+
{...field}
|
|
80
|
+
/>
|
|
81
|
+
</div>
|
|
80
82
|
|
|
81
83
|
<FormDescription className="v50 mt-v s-1" description={description} name={name} />
|
|
82
84
|
|
|
@@ -4,31 +4,40 @@
|
|
|
4
4
|
@use "../../../form.scss";
|
|
5
5
|
|
|
6
6
|
$default-padding: .75em .75em .55em;
|
|
7
|
+
$default-input-border-radius: var(--theme-default-input-border-radius);
|
|
8
|
+
|
|
7
9
|
|
|
8
10
|
.#{bem.$base}.text-input {
|
|
9
11
|
display: flex;
|
|
10
12
|
flex-direction: column;
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
border: var(--theme-border-style) var(--hard-y);
|
|
15
|
-
color: var(--on-y);
|
|
16
|
-
padding: $default-padding;
|
|
17
|
-
|
|
18
|
-
&::placeholder {
|
|
19
|
-
color: var(--metadata);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
&:not(:disabled):hover {
|
|
23
|
-
border: var(--theme-border-style) var(--soft-background4);
|
|
24
|
-
}
|
|
14
|
+
>.input-wrapper {
|
|
15
|
+
position: relative;
|
|
25
16
|
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
&::after {
|
|
18
|
+
border-radius: $default-input-border-radius;
|
|
28
19
|
}
|
|
29
20
|
|
|
30
|
-
|
|
31
|
-
background: var(--
|
|
21
|
+
> input {
|
|
22
|
+
background-color: var(--background-inputs);
|
|
23
|
+
border-radius: $default-input-border-radius;
|
|
24
|
+
color: var(--x);
|
|
25
|
+
height: 100%;
|
|
26
|
+
padding: $default-padding;
|
|
27
|
+
width: 100%;
|
|
28
|
+
|
|
29
|
+
&::placeholder {
|
|
30
|
+
color: var(--metadata);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&:disabled {
|
|
34
|
+
background-color: var(--hard-x);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&:not(:disabled):hover {
|
|
38
|
+
border-radius: $default-input-border-radius;
|
|
39
|
+
box-shadow: var(--theme-default-input-box-shadow);
|
|
40
|
+
}
|
|
32
41
|
}
|
|
33
42
|
}
|
|
34
43
|
}
|