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