@peculiar/react-components 0.3.8 → 0.3.10
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/Avatar/avatar.js +1 -1
- package/dist/cjs/Avatar/avatar.js.map +1 -1
- package/dist/cjs/Checkbox/checkbox.js +54 -36
- package/dist/cjs/Checkbox/checkbox.js.map +1 -1
- package/dist/cjs/Radio/radio.js +54 -35
- package/dist/cjs/Radio/radio.js.map +1 -1
- package/dist/cjs/Switch/switch.js +41 -36
- package/dist/cjs/Switch/switch.js.map +1 -1
- package/dist/esm/Avatar/avatar.js +1 -1
- package/dist/esm/Avatar/avatar.js.map +1 -1
- package/dist/esm/Checkbox/checkbox.js +54 -36
- package/dist/esm/Checkbox/checkbox.js.map +1 -1
- package/dist/esm/Radio/radio.js +54 -35
- package/dist/esm/Radio/radio.js.map +1 -1
- package/dist/esm/Switch/switch.js +41 -36
- package/dist/esm/Switch/switch.js.map +1 -1
- package/dist/esnext/Avatar/avatar.js +1 -1
- package/dist/esnext/Avatar/avatar.js.map +1 -1
- package/dist/esnext/Checkbox/checkbox.js +54 -36
- package/dist/esnext/Checkbox/checkbox.js.map +1 -1
- package/dist/esnext/Radio/radio.js +54 -35
- package/dist/esnext/Radio/radio.js.map +1 -1
- package/dist/esnext/Switch/switch.js +41 -36
- package/dist/esnext/Switch/switch.js.map +1 -1
- package/dist/types/Checkbox/checkbox.d.ts +6 -0
- package/dist/types/Radio/radio.d.ts +3 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/Checkbox/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/Checkbox/checkbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Box } from '../Box';
|
|
3
2
|
import { DotIcon } from '../icons';
|
|
4
3
|
import { useId } from '../hooks';
|
|
5
4
|
import { css, cx } from '../styles';
|
|
5
|
+
/**
|
|
6
|
+
* Styles.
|
|
7
|
+
*/
|
|
6
8
|
const stylesBase = () => css({
|
|
7
9
|
label: 'Radio',
|
|
8
10
|
cursor: 'pointer',
|
|
@@ -10,57 +12,72 @@ const stylesBase = () => css({
|
|
|
10
12
|
width: 'var(--pv-size-base-4)',
|
|
11
13
|
height: 'var(--pv-size-base-4)',
|
|
12
14
|
borderRadius: '50%',
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
});
|
|
16
|
-
const stylesBaseDisabled = () => css({
|
|
17
|
-
label: 'disabled',
|
|
18
|
-
cursor: 'not-allowed',
|
|
15
|
+
color: 'var(--pv-color-gray-6)',
|
|
16
|
+
position: 'relative',
|
|
19
17
|
});
|
|
20
18
|
const stylesInput = () => css({
|
|
21
19
|
label: 'Radio-input',
|
|
22
|
-
|
|
20
|
+
cursor: 'inherit',
|
|
23
21
|
width: '100%',
|
|
24
22
|
height: '100%',
|
|
25
23
|
margin: 0,
|
|
26
24
|
padding: 0,
|
|
27
|
-
|
|
25
|
+
outline: 0,
|
|
28
26
|
borderRadius: '50%',
|
|
29
27
|
borderWidth: '2px',
|
|
30
28
|
borderStyle: 'solid',
|
|
31
29
|
appearance: 'none',
|
|
32
|
-
|
|
30
|
+
color: 'var(--pv-color-gray-9)',
|
|
31
|
+
borderColor: 'currentColor',
|
|
33
32
|
backgroundColor: 'transparent',
|
|
33
|
+
'&:before': {
|
|
34
|
+
top: '-7px',
|
|
35
|
+
left: '-7px',
|
|
36
|
+
right: '-7px',
|
|
37
|
+
bottom: '-7px',
|
|
38
|
+
content: '""',
|
|
39
|
+
position: 'absolute',
|
|
40
|
+
borderRadius: '50%',
|
|
41
|
+
opacity: 0,
|
|
42
|
+
backgroundColor: 'currentColor',
|
|
43
|
+
transition: 'opacity 200ms',
|
|
44
|
+
},
|
|
34
45
|
'&:checked': {
|
|
35
|
-
borderColor: 'var(--pv-color-primary-shade-1)',
|
|
36
46
|
'+ [aria-hidden]': {
|
|
47
|
+
color: 'var(--pv-color-primary)',
|
|
37
48
|
opacity: 1,
|
|
38
49
|
},
|
|
39
50
|
},
|
|
40
|
-
'&:disabled': {
|
|
41
|
-
|
|
51
|
+
'&:not(:disabled)': {
|
|
52
|
+
cursor: 'pointer',
|
|
42
53
|
'&:checked': {
|
|
43
|
-
|
|
54
|
+
color: 'var(--pv-color-primary-shade-1)',
|
|
44
55
|
},
|
|
45
|
-
'
|
|
46
|
-
|
|
56
|
+
'&:hover': {
|
|
57
|
+
'&:before': {
|
|
58
|
+
opacity: 0.18,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
'&:focus': {
|
|
62
|
+
'&:before': {
|
|
63
|
+
opacity: 0.23,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
'&:active': {
|
|
67
|
+
'&:before': {
|
|
68
|
+
opacity: 0.30,
|
|
69
|
+
},
|
|
47
70
|
},
|
|
48
71
|
},
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
left: '-10px',
|
|
59
|
-
right: '-10px',
|
|
60
|
-
bottom: '-10px',
|
|
61
|
-
content: '""',
|
|
62
|
-
position: 'absolute',
|
|
63
|
-
borderRadius: '50%',
|
|
72
|
+
'&:disabled': {
|
|
73
|
+
cursor: 'not-allowed',
|
|
74
|
+
'+ [aria-hidden]': {
|
|
75
|
+
color: 'inherit',
|
|
76
|
+
},
|
|
77
|
+
color: 'var(--pv-color-gray-6)',
|
|
78
|
+
'&:checked': {
|
|
79
|
+
color: 'var(--pv-color-gray-7)',
|
|
80
|
+
},
|
|
64
81
|
},
|
|
65
82
|
});
|
|
66
83
|
const stylesIcon = () => css({
|
|
@@ -72,7 +89,11 @@ const stylesIcon = () => css({
|
|
|
72
89
|
width: '100%',
|
|
73
90
|
height: '100%',
|
|
74
91
|
opacity: 0,
|
|
92
|
+
pointerEvents: 'none',
|
|
75
93
|
});
|
|
94
|
+
/**
|
|
95
|
+
*
|
|
96
|
+
*/
|
|
76
97
|
export const Radio = React.forwardRef((props, ref) => {
|
|
77
98
|
const { checked, defaultChecked, required, inputProps, className, disabled, id: idProp, checkedIcon, name, onChange, ...other } = props;
|
|
78
99
|
const id = useId(idProp);
|
|
@@ -88,12 +109,10 @@ export const Radio = React.forwardRef((props, ref) => {
|
|
|
88
109
|
};
|
|
89
110
|
return (React.createElement("label", { ...other, ref: ref, htmlFor: id, className: cx({
|
|
90
111
|
[stylesBase()]: true,
|
|
91
|
-
[stylesBaseDisabled()]: disabled,
|
|
92
112
|
[className]: !!className,
|
|
93
113
|
}) },
|
|
94
|
-
React.createElement(
|
|
95
|
-
|
|
96
|
-
renderIcon())));
|
|
114
|
+
React.createElement("input", { ...inputProps, type: "radio", name: name, id: id, checked: checked, defaultChecked: defaultChecked, required: required, disabled: disabled, className: cx(stylesInput()), onChange: onChange }),
|
|
115
|
+
renderIcon()));
|
|
97
116
|
});
|
|
98
117
|
Radio.displayName = 'Radio';
|
|
99
118
|
Radio.defaultProps = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/Radio/radio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/Radio/radio.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,18 +4,14 @@ import { useId } from '../hooks';
|
|
|
4
4
|
import { css, cx } from '../styles';
|
|
5
5
|
const stylesBase = () => css({
|
|
6
6
|
label: 'Switch',
|
|
7
|
-
cursor: 'pointer',
|
|
8
7
|
display: 'inline-flex',
|
|
9
8
|
width: 'var(--pv-size-base-7)',
|
|
10
9
|
height: 'var(--pv-size-base-4)',
|
|
11
10
|
borderRadius: 'var(--pv-size-base-4)',
|
|
12
11
|
justifyContent: 'center',
|
|
12
|
+
position: 'relative',
|
|
13
13
|
alignItems: 'center',
|
|
14
14
|
});
|
|
15
|
-
const stylesBaseDisabled = () => css({
|
|
16
|
-
label: 'disabled',
|
|
17
|
-
cursor: 'not-allowed',
|
|
18
|
-
});
|
|
19
15
|
const stylesInput = (props) => css({
|
|
20
16
|
label: 'Switch-input',
|
|
21
17
|
overflow: 'hidden',
|
|
@@ -23,66 +19,75 @@ const stylesInput = (props) => css({
|
|
|
23
19
|
height: '100%',
|
|
24
20
|
margin: 0,
|
|
25
21
|
padding: 0,
|
|
26
|
-
|
|
27
|
-
borderRadius: '
|
|
22
|
+
outline: 0,
|
|
23
|
+
borderRadius: 'inherit',
|
|
28
24
|
appearance: 'none',
|
|
29
25
|
backgroundColor: 'var(--pv-color-gray-6)',
|
|
30
26
|
'&:checked': {
|
|
31
27
|
backgroundColor: `var(--pv-color-${props.color})`,
|
|
32
28
|
'+ [aria-hidden]': {
|
|
33
|
-
transform: '
|
|
29
|
+
transform: 'translateX(calc(50% - 2px))',
|
|
30
|
+
'&:before': {
|
|
31
|
+
backgroundColor: `var(--pv-color-${props.color}-shade-2)`,
|
|
32
|
+
},
|
|
34
33
|
},
|
|
35
34
|
},
|
|
36
35
|
'&:disabled': {
|
|
36
|
+
cursor: 'not-allowed',
|
|
37
|
+
pointerEvents: 'none',
|
|
37
38
|
opacity: 0.4,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
},
|
|
40
|
+
'&:not(:disabled)': {
|
|
41
|
+
cursor: 'pointer',
|
|
42
|
+
'&:hover': {
|
|
43
|
+
'+ [aria-hidden]:before': {
|
|
44
|
+
opacity: 0.18,
|
|
45
|
+
},
|
|
41
46
|
},
|
|
42
|
-
'
|
|
43
|
-
|
|
47
|
+
'&:focus': {
|
|
48
|
+
'+ [aria-hidden]:before': {
|
|
49
|
+
opacity: 0.23,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
'&:active': {
|
|
53
|
+
'+ [aria-hidden]:before': {
|
|
54
|
+
opacity: 0.30,
|
|
55
|
+
},
|
|
44
56
|
},
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
const stylesControl = (props) => css({
|
|
48
|
-
label: 'Switch-control',
|
|
49
|
-
width: 'var(--pv-size-base-7)',
|
|
50
|
-
height: 'var(--pv-size-base-4)',
|
|
51
|
-
position: 'relative',
|
|
52
|
-
color: `var(--pv-color-${props.color})`,
|
|
53
|
-
'&:after': {
|
|
54
|
-
top: '-10px',
|
|
55
|
-
left: '-10px',
|
|
56
|
-
right: '-10px',
|
|
57
|
-
bottom: '-10px',
|
|
58
|
-
content: '""',
|
|
59
|
-
position: 'absolute',
|
|
60
|
-
borderRadius: '50%',
|
|
61
57
|
},
|
|
62
58
|
});
|
|
63
59
|
const stylesDot = () => css({
|
|
64
60
|
label: 'Switch-dot',
|
|
65
61
|
display: 'block',
|
|
66
62
|
position: 'absolute',
|
|
67
|
-
top: '50%',
|
|
68
63
|
width: 'var(--pv-size-base-3)',
|
|
69
64
|
height: 'var(--pv-size-base-3)',
|
|
70
|
-
transform: 'translate(calc(2px), -50%)',
|
|
71
65
|
transition: 'transform 200ms',
|
|
72
66
|
boxShadow: 'var(--pv-shadow-light-low)',
|
|
73
|
-
|
|
67
|
+
transform: 'translateX(calc(-50% + 2px))',
|
|
68
|
+
pointerEvents: 'none',
|
|
69
|
+
'&:before': {
|
|
70
|
+
top: '-10px',
|
|
71
|
+
left: '-10px',
|
|
72
|
+
right: '-10px',
|
|
73
|
+
bottom: '-10px',
|
|
74
|
+
content: '""',
|
|
75
|
+
position: 'absolute',
|
|
76
|
+
borderRadius: '50%',
|
|
77
|
+
opacity: 0,
|
|
78
|
+
backgroundColor: 'var(--pv-color-gray-9)',
|
|
79
|
+
transition: 'opacity 200ms, background-color 200ms',
|
|
80
|
+
},
|
|
74
81
|
});
|
|
75
82
|
export const Switch = React.forwardRef((props, ref) => {
|
|
76
83
|
const { checked, defaultChecked, color = 'primary', required, inputProps, className, disabled, id: idProp, name, onChange, ...other } = props;
|
|
77
84
|
const id = useId(idProp);
|
|
78
85
|
return (React.createElement("label", { ...other, ref: ref, htmlFor: id, className: cx({
|
|
79
86
|
[stylesBase()]: true,
|
|
80
|
-
[stylesBaseDisabled()]: disabled,
|
|
81
87
|
[className]: !!className,
|
|
82
88
|
}) },
|
|
83
|
-
React.createElement(
|
|
84
|
-
|
|
85
|
-
React.createElement(Box, { "aria-hidden": true, className: cx(stylesDot()), background: `${color}-contrast`, borderColor: "gray-3", borderWidth: 1, borderStyle: "solid", borderRadius: 100 }))));
|
|
89
|
+
React.createElement("input", { ...inputProps, type: "checkbox", name: name, id: id, checked: checked, defaultChecked: defaultChecked, required: required, disabled: disabled, className: cx(stylesInput(props)), onChange: onChange }),
|
|
90
|
+
React.createElement(Box, { "aria-hidden": true, className: cx(stylesDot()), background: `${color}-contrast`, borderColor: "gray-3", borderWidth: 1, borderStyle: "solid", borderRadius: 100 })));
|
|
86
91
|
});
|
|
87
92
|
Switch.displayName = 'Switch';
|
|
88
93
|
Switch.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/Switch/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAmDpC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IAC3B,KAAK,EAAE,QAAQ;IACf,
|
|
1
|
+
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/Switch/switch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Types.
|
|
4
|
+
*/
|
|
2
5
|
declare type BaseProps = {
|
|
3
6
|
/**
|
|
4
7
|
* If `true`, the component is checked.
|
|
@@ -39,5 +42,8 @@ declare type BaseProps = {
|
|
|
39
42
|
'data-testid'?: string;
|
|
40
43
|
};
|
|
41
44
|
export declare type CheckboxProps = BaseProps & Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children' | 'htmlFor' | 'onChange'>;
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
*/
|
|
42
48
|
export declare const Checkbox: React.ForwardRefExoticComponent<BaseProps & Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "children" | "htmlFor" | "onChange"> & React.RefAttributes<HTMLLabelElement>>;
|
|
43
49
|
export {};
|
|
@@ -43,5 +43,8 @@ declare type BaseProps = {
|
|
|
43
43
|
'data-testid'?: string;
|
|
44
44
|
};
|
|
45
45
|
export declare type RadioProps = BaseProps & Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children' | 'htmlFor' | 'onChange'>;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
46
49
|
export declare const Radio: React.ForwardRefExoticComponent<BaseProps & Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "children" | "htmlFor" | "onChange"> & React.RefAttributes<HTMLLabelElement>>;
|
|
47
50
|
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peculiar/react-components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.10",
|
|
5
5
|
"author": "PeculiarVentures Team",
|
|
6
6
|
"description": "A simple and customizable component library to build faster, beautiful, and more accessible React applications.",
|
|
7
7
|
"keywords": [
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
"node": ">=12.x"
|
|
94
94
|
},
|
|
95
95
|
"license": "MIT",
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "dbee55269a6826948da728704d8c017ca3c37ef8"
|
|
97
97
|
}
|