@automattic/vip-design-system 2.5.0 → 2.7.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.
Files changed (83) hide show
  1. package/build/system/Card/Card.d.ts +9 -1
  2. package/build/system/Card/Card.js +25 -4
  3. package/build/system/Card/Card.stories.d.ts +5 -0
  4. package/build/system/Card/Card.stories.js +34 -2
  5. package/build/system/Card/Card.test.js +25 -0
  6. package/build/system/Dropdown/Dropdown.d.ts +25 -36
  7. package/build/system/Dropdown/Dropdown.js +60 -99
  8. package/build/system/Dropdown/Dropdown.stories.d.ts +1 -26
  9. package/build/system/Dropdown/Dropdown.test.js +51 -28
  10. package/build/system/Dropdown/DropdownContent.d.ts +14 -10
  11. package/build/system/Dropdown/DropdownContent.js +43 -47
  12. package/build/system/Dropdown/DropdownItem.d.ts +20 -32
  13. package/build/system/Dropdown/DropdownItem.js +86 -103
  14. package/build/system/Dropdown/DropdownLabel.d.ts +11 -7
  15. package/build/system/Dropdown/DropdownLabel.js +29 -29
  16. package/build/system/Dropdown/DropdownSeparator.d.ts +10 -6
  17. package/build/system/Dropdown/DropdownSeparator.js +28 -28
  18. package/build/system/Dropdown/index.d.ts +17 -39
  19. package/build/system/Dropdown/index.js +23 -50
  20. package/build/system/FilterDropdown/FilterDropdown.d.ts +27 -0
  21. package/build/system/FilterDropdown/FilterDropdown.js +75 -0
  22. package/build/system/FilterDropdown/FilterDropdown.stories.d.ts +18 -0
  23. package/build/system/FilterDropdown/FilterDropdown.stories.js +46 -0
  24. package/build/system/FilterDropdown/FilterDropdown.test.d.ts +1 -0
  25. package/build/system/FilterDropdown/FilterDropdown.test.js +53 -0
  26. package/build/system/Hr/Hr.d.ts +7 -0
  27. package/build/system/Hr/Hr.js +22 -0
  28. package/build/system/Hr/Hr.stories.d.ts +23 -0
  29. package/build/system/Hr/Hr.stories.js +30 -0
  30. package/build/system/Hr/Hr.test.d.ts +1 -0
  31. package/build/system/Hr/Hr.test.js +41 -0
  32. package/build/system/Page/Page.d.ts +2 -0
  33. package/build/system/Page/Page.js +10 -0
  34. package/build/system/Page/Page.test.d.ts +1 -0
  35. package/build/system/Page/Page.test.js +41 -0
  36. package/build/system/index.d.ts +3 -1
  37. package/build/system/index.js +4 -0
  38. package/build/system/theme/index.d.ts +84 -33
  39. package/build/system/theme/index.js +32 -5
  40. package/package.json +1 -1
  41. package/src/system/Card/Card.stories.tsx +19 -1
  42. package/src/system/Card/Card.test.tsx +11 -0
  43. package/src/system/Card/Card.tsx +43 -14
  44. package/src/system/Dropdown/{Dropdown.test.js → Dropdown.test.tsx} +2 -1
  45. package/src/system/Dropdown/Dropdown.tsx +72 -0
  46. package/src/system/Dropdown/DropdownContent.tsx +46 -0
  47. package/src/system/Dropdown/DropdownItem.tsx +112 -0
  48. package/src/system/Dropdown/DropdownLabel.tsx +29 -0
  49. package/src/system/Dropdown/DropdownSeparator.tsx +28 -0
  50. package/src/system/Dropdown/{index.js → index.ts} +1 -3
  51. package/src/system/FilterDropdown/FilterDropdown.stories.tsx +57 -0
  52. package/src/system/FilterDropdown/FilterDropdown.test.tsx +52 -0
  53. package/src/system/FilterDropdown/FilterDropdown.tsx +92 -0
  54. package/src/system/Hr/Hr.stories.tsx +48 -0
  55. package/src/system/Hr/Hr.test.tsx +22 -0
  56. package/src/system/Hr/Hr.tsx +11 -0
  57. package/src/system/Page/Page.test.tsx +22 -0
  58. package/src/system/Page/Page.tsx +3 -0
  59. package/src/system/index.js +4 -0
  60. package/src/system/theme/index.js +32 -5
  61. package/tokens/valet-core/$metadata.json +1 -17
  62. package/tokens/valet-core/$themes.json +0 -2586
  63. package/src/system/Dropdown/Dropdown.js +0 -101
  64. package/src/system/Dropdown/DropdownContent.js +0 -50
  65. package/src/system/Dropdown/DropdownItem.js +0 -108
  66. package/src/system/Dropdown/DropdownLabel.js +0 -31
  67. package/src/system/Dropdown/DropdownSeparator.js +0 -30
  68. package/tokens/valet-core/figma-parsely-web-type.json +0 -1217
  69. package/tokens/valet-core/figma-valet-web-type.json +0 -1217
  70. package/tokens/valet-core/figma-wpvip-services-web-type.json +0 -1267
  71. package/tokens/valet-core/figma-wpvip-web-type.json +0 -1213
  72. package/tokens/valet-core/parsely-web-color.json +0 -729
  73. package/tokens/valet-core/parsely-web-core.json +0 -172
  74. package/tokens/valet-core/parsely-web-type.json +0 -362
  75. package/tokens/valet-core/valet-web-color.json +0 -677
  76. package/tokens/valet-core/valet-web-core.json +0 -172
  77. package/tokens/valet-core/wpvip-services-web-color.json +0 -730
  78. package/tokens/valet-core/wpvip-services-web-core.json +0 -172
  79. package/tokens/valet-core/wpvip-services-web-type.json +0 -412
  80. package/tokens/valet-core/wpvip-web-color-dark.json +0 -735
  81. package/tokens/valet-core/wpvip-web-color.json +0 -730
  82. package/tokens/valet-core/wpvip-web-type.json +0 -412
  83. 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
- };