@automattic/vip-design-system 2.4.5 → 2.6.1
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/system/Breadcrumbs/Breadcrumbs.d.ts +1 -0
- package/build/system/Breadcrumbs/Breadcrumbs.js +75 -20
- package/build/system/Breadcrumbs/Breadcrumbs.stories.d.ts +2 -0
- package/build/system/Breadcrumbs/Breadcrumbs.stories.js +47 -7
- package/build/system/Breadcrumbs/Breadcrumbs.test.js +72 -0
- package/build/system/Breadcrumbs/styles.d.ts +2 -0
- package/build/system/Breadcrumbs/styles.js +8 -2
- package/build/system/Dropdown/Dropdown.d.ts +25 -36
- package/build/system/Dropdown/Dropdown.js +60 -99
- package/build/system/Dropdown/Dropdown.stories.d.ts +1 -26
- package/build/system/Dropdown/Dropdown.test.js +51 -28
- package/build/system/Dropdown/DropdownContent.d.ts +14 -10
- package/build/system/Dropdown/DropdownContent.js +43 -47
- package/build/system/Dropdown/DropdownItem.d.ts +20 -32
- package/build/system/Dropdown/DropdownItem.js +86 -103
- package/build/system/Dropdown/DropdownLabel.d.ts +11 -7
- package/build/system/Dropdown/DropdownLabel.js +29 -29
- package/build/system/Dropdown/DropdownSeparator.d.ts +10 -6
- package/build/system/Dropdown/DropdownSeparator.js +28 -28
- package/build/system/Dropdown/index.d.ts +17 -39
- package/build/system/Dropdown/index.js +23 -50
- package/build/system/FilterDropdown/FilterDropdown.d.ts +27 -0
- package/build/system/FilterDropdown/FilterDropdown.js +75 -0
- package/build/system/FilterDropdown/FilterDropdown.stories.d.ts +18 -0
- package/build/system/FilterDropdown/FilterDropdown.stories.js +46 -0
- package/build/system/FilterDropdown/FilterDropdown.test.d.ts +1 -0
- package/build/system/FilterDropdown/FilterDropdown.test.js +53 -0
- package/build/system/Hr/Hr.d.ts +7 -0
- package/build/system/Hr/Hr.js +22 -0
- package/build/system/Hr/Hr.stories.d.ts +23 -0
- package/build/system/Hr/Hr.stories.js +30 -0
- package/build/system/Hr/Hr.test.d.ts +1 -0
- package/build/system/Hr/Hr.test.js +41 -0
- package/build/system/Link/Link.d.ts +11 -1
- package/build/system/Link/Link.js +16 -1
- package/build/system/Link/Link.stories.d.ts +14 -1
- package/build/system/Link/Link.stories.js +16 -3
- package/build/system/Nav/styles.js +2 -1
- package/build/system/Page/Page.d.ts +2 -0
- package/build/system/Page/Page.js +10 -0
- package/build/system/Page/Page.test.d.ts +1 -0
- package/build/system/Page/Page.test.js +41 -0
- package/build/system/index.d.ts +3 -1
- package/build/system/index.js +4 -0
- package/build/system/theme/index.d.ts +889 -23
- package/build/system/theme/index.js +7 -8
- package/build/system/utils/stories/CustomLink.d.ts +1 -0
- package/build/system/utils/stories/CustomLink.js +7 -1
- package/package.json +1 -1
- package/src/system/Breadcrumbs/Breadcrumbs.stories.tsx +32 -3
- package/src/system/Breadcrumbs/Breadcrumbs.test.tsx +60 -0
- package/src/system/Breadcrumbs/Breadcrumbs.tsx +100 -29
- package/src/system/Breadcrumbs/styles.ts +11 -0
- package/src/system/Dropdown/{Dropdown.test.js → Dropdown.test.tsx} +2 -1
- package/src/system/Dropdown/Dropdown.tsx +72 -0
- package/src/system/Dropdown/DropdownContent.tsx +46 -0
- package/src/system/Dropdown/DropdownItem.tsx +112 -0
- package/src/system/Dropdown/DropdownLabel.tsx +29 -0
- package/src/system/Dropdown/DropdownSeparator.tsx +28 -0
- package/src/system/Dropdown/{index.js → index.ts} +1 -3
- package/src/system/FilterDropdown/FilterDropdown.stories.tsx +57 -0
- package/src/system/FilterDropdown/FilterDropdown.test.tsx +52 -0
- package/src/system/FilterDropdown/FilterDropdown.tsx +92 -0
- package/src/system/Hr/Hr.stories.tsx +48 -0
- package/src/system/Hr/Hr.test.tsx +22 -0
- package/src/system/Hr/Hr.tsx +11 -0
- package/src/system/Link/Link.stories.tsx +42 -1
- package/src/system/Link/Link.tsx +17 -8
- package/src/system/Nav/styles.ts +1 -0
- package/src/system/Page/Page.test.tsx +22 -0
- package/src/system/Page/Page.tsx +3 -0
- package/src/system/index.js +4 -0
- package/src/system/theme/index.js +7 -8
- package/src/system/utils/stories/CustomLink.tsx +6 -0
- package/tokens/valet-core/$metadata.json +1 -17
- package/tokens/valet-core/$themes.json +0 -2586
- package/src/system/Dropdown/Dropdown.js +0 -101
- package/src/system/Dropdown/DropdownContent.js +0 -50
- package/src/system/Dropdown/DropdownItem.js +0 -108
- package/src/system/Dropdown/DropdownLabel.js +0 -31
- package/src/system/Dropdown/DropdownSeparator.js +0 -30
- package/tokens/valet-core/figma-parsely-web-type.json +0 -1217
- package/tokens/valet-core/figma-valet-web-type.json +0 -1217
- package/tokens/valet-core/figma-wpvip-services-web-type.json +0 -1267
- package/tokens/valet-core/figma-wpvip-web-type.json +0 -1213
- package/tokens/valet-core/parsely-web-color.json +0 -729
- package/tokens/valet-core/parsely-web-core.json +0 -172
- package/tokens/valet-core/parsely-web-type.json +0 -362
- package/tokens/valet-core/valet-web-color.json +0 -677
- package/tokens/valet-core/valet-web-core.json +0 -172
- package/tokens/valet-core/wpvip-services-web-color.json +0 -730
- package/tokens/valet-core/wpvip-services-web-core.json +0 -172
- package/tokens/valet-core/wpvip-services-web-type.json +0 -412
- package/tokens/valet-core/wpvip-web-color-dark.json +0 -735
- package/tokens/valet-core/wpvip-web-color.json +0 -730
- package/tokens/valet-core/wpvip-web-type.json +0 -412
- package/tokens/valet-core/wpvip-web.json +0 -1310
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/** @jsxImportSource theme-ui */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
7
|
-
import classNames from 'classnames';
|
|
8
|
-
import PropTypes from 'prop-types';
|
|
9
|
-
import React from 'react';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Internal dependencies
|
|
13
|
-
*/
|
|
14
|
-
import { DropdownContent } from './DropdownContent';
|
|
15
|
-
|
|
16
|
-
const DropdownMenu = DropdownMenuPrimitive.Root;
|
|
17
|
-
const DropdownTrigger = DropdownMenuPrimitive.Trigger;
|
|
18
|
-
const DropdownRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
19
|
-
const DropdownItemIndicator = DropdownMenuPrimitive.DropdownMenuItemIndicator;
|
|
20
|
-
const DropdownLabel = DropdownMenuPrimitive.DropdownMenuLabel;
|
|
21
|
-
const DropdownSeparator = DropdownMenuPrimitive.DropdownMenuSeparator;
|
|
22
|
-
const DropdownSub = DropdownMenuPrimitive.DropdownMenuSub;
|
|
23
|
-
const DropdownSubTrigger = DropdownMenuPrimitive.DropdownMenuSubTrigger;
|
|
24
|
-
const DropdownSubContent = DropdownMenuPrimitive.DropdownMenuSubContent;
|
|
25
|
-
|
|
26
|
-
export const Dropdown = ( {
|
|
27
|
-
trigger,
|
|
28
|
-
children,
|
|
29
|
-
// Radix Specific Properties
|
|
30
|
-
open = undefined,
|
|
31
|
-
defaultOpen = false,
|
|
32
|
-
onOpenChange = undefined,
|
|
33
|
-
modal = true,
|
|
34
|
-
dir = 'ltr',
|
|
35
|
-
contentProps = {},
|
|
36
|
-
portalProps = {},
|
|
37
|
-
className,
|
|
38
|
-
} ) => {
|
|
39
|
-
const firstChild = React.useMemo(
|
|
40
|
-
() =>
|
|
41
|
-
React.isValidElement( children ) ? React.Children.only( children )?.type?.displayName : '',
|
|
42
|
-
[ children ]
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
return (
|
|
46
|
-
<DropdownMenu
|
|
47
|
-
className={ classNames( 'vip-dropdown-menu', className ) }
|
|
48
|
-
open={ open }
|
|
49
|
-
defaultOpen={ defaultOpen }
|
|
50
|
-
onOpenChange={ onOpenChange }
|
|
51
|
-
modal={ modal }
|
|
52
|
-
dir={ dir }
|
|
53
|
-
>
|
|
54
|
-
<DropdownTrigger className="vip-dropdown-trigger" asChild>
|
|
55
|
-
{ trigger }
|
|
56
|
-
</DropdownTrigger>
|
|
57
|
-
|
|
58
|
-
<DropdownMenuPrimitive.Portal { ...portalProps }>
|
|
59
|
-
{ /* User can customize the content */ }
|
|
60
|
-
{ firstChild === 'DropdownContent' ? (
|
|
61
|
-
children
|
|
62
|
-
) : (
|
|
63
|
-
<DropdownContent { ...contentProps }>
|
|
64
|
-
{ children }
|
|
65
|
-
<DropdownMenuPrimitive.Arrow sx={ { fill: 'background', boxShadow: 'high' } } />
|
|
66
|
-
</DropdownContent>
|
|
67
|
-
) }
|
|
68
|
-
</DropdownMenuPrimitive.Portal>
|
|
69
|
-
</DropdownMenu>
|
|
70
|
-
);
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
Dropdown.propTypes = {
|
|
74
|
-
trigger: PropTypes.node.isRequired,
|
|
75
|
-
children: PropTypes.node.isRequired,
|
|
76
|
-
|
|
77
|
-
// Props in root: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#root
|
|
78
|
-
open: PropTypes.bool,
|
|
79
|
-
defaultOpen: PropTypes.bool,
|
|
80
|
-
onOpenChange: PropTypes.func,
|
|
81
|
-
modal: PropTypes.bool,
|
|
82
|
-
dir: PropTypes.string,
|
|
83
|
-
|
|
84
|
-
// Content props in: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#content
|
|
85
|
-
contentProps: PropTypes.any,
|
|
86
|
-
// Portal props in: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#portal
|
|
87
|
-
portalProps: PropTypes.any,
|
|
88
|
-
className: PropTypes.string,
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
// Exports
|
|
92
|
-
export {
|
|
93
|
-
DropdownTrigger,
|
|
94
|
-
DropdownRadioGroup,
|
|
95
|
-
DropdownItemIndicator,
|
|
96
|
-
DropdownLabel,
|
|
97
|
-
DropdownSeparator,
|
|
98
|
-
DropdownSub,
|
|
99
|
-
DropdownSubTrigger,
|
|
100
|
-
DropdownSubContent,
|
|
101
|
-
};
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/** @jsxImportSource theme-ui */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
7
|
-
import classNames from 'classnames';
|
|
8
|
-
import PropTypes from 'prop-types';
|
|
9
|
-
import React from 'react';
|
|
10
|
-
|
|
11
|
-
export const styles = {
|
|
12
|
-
minWidth: 220,
|
|
13
|
-
borderRadius: 2,
|
|
14
|
-
backgroundColor: 'background',
|
|
15
|
-
boxShadow: 'high',
|
|
16
|
-
px: 2,
|
|
17
|
-
py: 1,
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export const DropdownContent = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
21
|
-
<DropdownMenuPrimitive.DropdownMenuContent
|
|
22
|
-
className={ classNames( 'vip-dropdown-menu-content', className ) }
|
|
23
|
-
ref={ forwardRef }
|
|
24
|
-
sx={ styles }
|
|
25
|
-
{ ...props }
|
|
26
|
-
/>
|
|
27
|
-
) );
|
|
28
|
-
|
|
29
|
-
DropdownContent.displayName = 'DropdownContent';
|
|
30
|
-
|
|
31
|
-
DropdownContent.propTypes = {
|
|
32
|
-
className: PropTypes.string,
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export const DropdownSubContent = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
36
|
-
<DropdownMenuPrimitive.Portal>
|
|
37
|
-
<DropdownMenuPrimitive.DropdownMenuSubContent
|
|
38
|
-
className={ classNames( 'vip-dropdown-menu-sub-content', className ) }
|
|
39
|
-
ref={ forwardRef }
|
|
40
|
-
sx={ styles }
|
|
41
|
-
{ ...props }
|
|
42
|
-
/>
|
|
43
|
-
</DropdownMenuPrimitive.Portal>
|
|
44
|
-
) );
|
|
45
|
-
|
|
46
|
-
DropdownSubContent.displayName = 'DropdownSubContent';
|
|
47
|
-
|
|
48
|
-
DropdownSubContent.propTypes = {
|
|
49
|
-
className: PropTypes.string,
|
|
50
|
-
};
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/** @jsxImportSource theme-ui */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
7
|
-
import classNames from 'classnames';
|
|
8
|
-
import PropTypes from 'prop-types';
|
|
9
|
-
import React from 'react';
|
|
10
|
-
|
|
11
|
-
export const styles = {
|
|
12
|
-
unset: 'all',
|
|
13
|
-
cursor: 'pointer',
|
|
14
|
-
display: 'flex',
|
|
15
|
-
alignItems: 'center',
|
|
16
|
-
flexDirection: 'row',
|
|
17
|
-
textAlign: 'left',
|
|
18
|
-
height: 25,
|
|
19
|
-
textDecoration: 'none',
|
|
20
|
-
position: 'relative',
|
|
21
|
-
m: 0,
|
|
22
|
-
color: 'heading',
|
|
23
|
-
px: 2,
|
|
24
|
-
paddingLeft: 3,
|
|
25
|
-
py: 1,
|
|
26
|
-
'&:hover, &:focus': {
|
|
27
|
-
backgroundColor: 'hover',
|
|
28
|
-
textDecoration: 'none',
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
'&[data-disabled]': {
|
|
32
|
-
color: 'muted',
|
|
33
|
-
pointerEvents: 'none',
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
'&[data-highlighted]': {
|
|
37
|
-
backgroundColor: 'hover',
|
|
38
|
-
color: 'link',
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export const DropdownItem = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
43
|
-
<DropdownMenuPrimitive.DropdownMenuItem
|
|
44
|
-
className={ classNames( 'vip-dropdown-menu-item', className ) }
|
|
45
|
-
ref={ forwardRef }
|
|
46
|
-
sx={ styles }
|
|
47
|
-
{ ...props }
|
|
48
|
-
/>
|
|
49
|
-
) );
|
|
50
|
-
|
|
51
|
-
DropdownItem.displayName = 'DropdownItem';
|
|
52
|
-
|
|
53
|
-
DropdownItem.propTypes = {
|
|
54
|
-
className: PropTypes.string,
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export const DropdownCheckboxItem = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
58
|
-
<DropdownMenuPrimitive.CheckboxItem
|
|
59
|
-
className={ classNames( 'vip-dropdown-checkbox-item', className ) }
|
|
60
|
-
ref={ forwardRef }
|
|
61
|
-
sx={ styles }
|
|
62
|
-
{ ...props }
|
|
63
|
-
/>
|
|
64
|
-
) );
|
|
65
|
-
|
|
66
|
-
DropdownCheckboxItem.displayName = 'DropdownCheckboxItem';
|
|
67
|
-
|
|
68
|
-
DropdownCheckboxItem.propTypes = {
|
|
69
|
-
className: PropTypes.string,
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export const DropdownRadioItem = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
73
|
-
<DropdownMenuPrimitive.RadioItem
|
|
74
|
-
className={ classNames( 'vip-dropdown-radio-item', className ) }
|
|
75
|
-
ref={ forwardRef }
|
|
76
|
-
sx={ styles }
|
|
77
|
-
{ ...props }
|
|
78
|
-
/>
|
|
79
|
-
) );
|
|
80
|
-
|
|
81
|
-
DropdownRadioItem.displayName = 'DropdownRadioItem';
|
|
82
|
-
|
|
83
|
-
DropdownRadioItem.propTypes = {
|
|
84
|
-
className: PropTypes.string,
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export const DropdownSubTrigger = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
88
|
-
<DropdownMenuPrimitive.SubTrigger
|
|
89
|
-
className={ classNames( 'vip-dropdown-sub-trigger', className ) }
|
|
90
|
-
ref={ forwardRef }
|
|
91
|
-
sx={ {
|
|
92
|
-
...styles,
|
|
93
|
-
...{
|
|
94
|
-
'&[data-state="open"]': {
|
|
95
|
-
background: 'highlight',
|
|
96
|
-
color: 'primary',
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
} }
|
|
100
|
-
{ ...props }
|
|
101
|
-
/>
|
|
102
|
-
) );
|
|
103
|
-
|
|
104
|
-
DropdownSubTrigger.displayName = 'DropdownSubTrigger';
|
|
105
|
-
|
|
106
|
-
DropdownSubTrigger.propTypes = {
|
|
107
|
-
className: PropTypes.string,
|
|
108
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/** @jsxImportSource theme-ui */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
7
|
-
import classNames from 'classnames';
|
|
8
|
-
import PropTypes from 'prop-types';
|
|
9
|
-
import React from 'react';
|
|
10
|
-
|
|
11
|
-
export const styles = {
|
|
12
|
-
paddingLeft: 3,
|
|
13
|
-
fontSize: 12,
|
|
14
|
-
lineHeight: '25px',
|
|
15
|
-
color: 'muted',
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export const DropdownLabel = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
19
|
-
<DropdownMenuPrimitive.DropdownMenuLabel
|
|
20
|
-
className={ classNames( 'vip-dropdown-menu-label', className ) }
|
|
21
|
-
ref={ forwardRef }
|
|
22
|
-
sx={ styles }
|
|
23
|
-
{ ...props }
|
|
24
|
-
/>
|
|
25
|
-
) );
|
|
26
|
-
|
|
27
|
-
DropdownLabel.displayName = 'DropdownLabel';
|
|
28
|
-
|
|
29
|
-
DropdownLabel.propTypes = {
|
|
30
|
-
className: PropTypes.string,
|
|
31
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/** @jsxImportSource theme-ui */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
7
|
-
import classNames from 'classnames';
|
|
8
|
-
import PropTypes from 'prop-types';
|
|
9
|
-
import React from 'react';
|
|
10
|
-
|
|
11
|
-
export const styles = {
|
|
12
|
-
height: '1px',
|
|
13
|
-
backgroundColor: 'borders.2',
|
|
14
|
-
my: '5px',
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const DropdownSeparator = React.forwardRef( ( { className, ...props }, forwardRef ) => (
|
|
18
|
-
<DropdownMenuPrimitive.DropdownMenuSeparator
|
|
19
|
-
className={ classNames( 'vip-dropdown-menu-separator', className ) }
|
|
20
|
-
ref={ forwardRef }
|
|
21
|
-
sx={ styles }
|
|
22
|
-
{ ...props }
|
|
23
|
-
/>
|
|
24
|
-
) );
|
|
25
|
-
|
|
26
|
-
DropdownSeparator.displayName = 'DropdownSeparator';
|
|
27
|
-
|
|
28
|
-
DropdownSeparator.propTypes = {
|
|
29
|
-
className: PropTypes.string,
|
|
30
|
-
};
|