@automattic/vip-design-system 0.18.0 → 0.18.4-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 (35) hide show
  1. package/build/system/Dialog/Dialog.stories.js +1 -1
  2. package/build/system/Dropdown/Dropdown.js +111 -0
  3. package/build/system/Dropdown/Dropdown.stories.js +211 -0
  4. package/build/system/Dropdown/Dropdown.test.js +76 -0
  5. package/build/system/Dropdown/DropdownContent.js +55 -0
  6. package/build/system/Dropdown/DropdownItem.js +97 -0
  7. package/build/system/Dropdown/DropdownLabel.js +41 -0
  8. package/build/system/Dropdown/DropdownSeparator.js +40 -0
  9. package/build/system/Dropdown/index.js +48 -0
  10. package/build/system/NewConfirmationDialog/NewConfirmationDialog.js +18 -14
  11. package/build/system/NewConfirmationDialog/NewConfirmationDialog.stories.js +1 -0
  12. package/build/system/NewDialog/DialogContent.js +2 -4
  13. package/build/system/NewDialog/DialogTitle.js +2 -1
  14. package/build/system/NewDialog/NewDialog.js +14 -5
  15. package/build/system/Tooltip/Tooltip.js +56 -43
  16. package/build/system/Tooltip/Tooltip.stories.js +2 -1
  17. package/build/system/index.js +5 -1
  18. package/package.json +8 -6
  19. package/src/system/Dialog/Dialog.stories.jsx +1 -1
  20. package/src/system/Dropdown/Dropdown.js +95 -0
  21. package/src/system/Dropdown/Dropdown.stories.jsx +168 -0
  22. package/src/system/Dropdown/Dropdown.test.js +33 -0
  23. package/src/system/Dropdown/DropdownContent.js +30 -0
  24. package/src/system/Dropdown/DropdownItem.js +73 -0
  25. package/src/system/Dropdown/DropdownLabel.js +20 -0
  26. package/src/system/Dropdown/DropdownSeparator.js +19 -0
  27. package/src/system/Dropdown/index.js +54 -0
  28. package/src/system/NewConfirmationDialog/NewConfirmationDialog.js +8 -1
  29. package/src/system/NewConfirmationDialog/NewConfirmationDialog.stories.jsx +1 -0
  30. package/src/system/NewDialog/DialogContent.js +2 -2
  31. package/src/system/NewDialog/DialogTitle.js +1 -1
  32. package/src/system/NewDialog/NewDialog.js +10 -1
  33. package/src/system/Tooltip/Tooltip.js +40 -37
  34. package/src/system/Tooltip/Tooltip.stories.jsx +1 -1
  35. package/src/system/index.js +2 -0
@@ -11,7 +11,7 @@ var _jsxRuntime = require("theme-ui/jsx-runtime");
11
11
  * Internal dependencies
12
12
  */
13
13
  var _default = {
14
- title: 'Dialog',
14
+ title: 'Dialog (Deprecated)',
15
15
  component: _.Dialog
16
16
  };
17
17
  exports["default"] = _default;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.DropdownTrigger = exports.DropdownSubTrigger = exports.DropdownSubContent = exports.DropdownSub = exports.DropdownSeparator = exports.DropdownRadioGroup = exports.DropdownLabel = exports.DropdownItemIndicator = exports.Dropdown = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var DropdownMenuPrimitive = _interopRequireWildcard(require("@radix-ui/react-dropdown-menu"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _DropdownContent = require("./DropdownContent");
17
+
18
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ /** @jsxImportSource theme-ui */
25
+
26
+ /**
27
+ * External dependencies
28
+ */
29
+
30
+ /**
31
+ * Internal dependencies
32
+ */
33
+ var DropdownMenu = DropdownMenuPrimitive.Root;
34
+ var DropdownTrigger = DropdownMenuPrimitive.Trigger;
35
+ exports.DropdownTrigger = DropdownTrigger;
36
+ var DropdownRadioGroup = DropdownMenuPrimitive.RadioGroup;
37
+ exports.DropdownRadioGroup = DropdownRadioGroup;
38
+ var DropdownItemIndicator = DropdownMenuPrimitive.DropdownMenuItemIndicator;
39
+ exports.DropdownItemIndicator = DropdownItemIndicator;
40
+ var DropdownLabel = DropdownMenuPrimitive.DropdownMenuLabel;
41
+ exports.DropdownLabel = DropdownLabel;
42
+ var DropdownSeparator = DropdownMenuPrimitive.DropdownMenuSeparator;
43
+ exports.DropdownSeparator = DropdownSeparator;
44
+ var DropdownSub = DropdownMenuPrimitive.DropdownMenuSub;
45
+ exports.DropdownSub = DropdownSub;
46
+ var DropdownSubTrigger = DropdownMenuPrimitive.DropdownMenuSubTrigger;
47
+ exports.DropdownSubTrigger = DropdownSubTrigger;
48
+ var DropdownSubContent = DropdownMenuPrimitive.DropdownMenuSubContent;
49
+ exports.DropdownSubContent = DropdownSubContent;
50
+
51
+ var Dropdown = function Dropdown(_ref) {
52
+ var trigger = _ref.trigger,
53
+ children = _ref.children,
54
+ _ref$open = _ref.open,
55
+ open = _ref$open === void 0 ? undefined : _ref$open,
56
+ _ref$defaultOpen = _ref.defaultOpen,
57
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
58
+ _ref$onOpenChange = _ref.onOpenChange,
59
+ onOpenChange = _ref$onOpenChange === void 0 ? undefined : _ref$onOpenChange,
60
+ _ref$modal = _ref.modal,
61
+ modal = _ref$modal === void 0 ? true : _ref$modal,
62
+ _ref$dir = _ref.dir,
63
+ dir = _ref$dir === void 0 ? 'ltr' : _ref$dir,
64
+ _ref$contentProps = _ref.contentProps,
65
+ contentProps = _ref$contentProps === void 0 ? {} : _ref$contentProps,
66
+ _ref$portalProps = _ref.portalProps,
67
+ portalProps = _ref$portalProps === void 0 ? {} : _ref$portalProps;
68
+
69
+ var firstChild = _react["default"].useMemo(function () {
70
+ var _React$Children$only, _React$Children$only$;
71
+
72
+ return /*#__PURE__*/_react["default"].isValidElement(children) ? (_React$Children$only = _react["default"].Children.only(children)) == null ? void 0 : (_React$Children$only$ = _React$Children$only.type) == null ? void 0 : _React$Children$only$.displayName : '';
73
+ }, [children]);
74
+
75
+ return (0, _jsxRuntime.jsxs)(DropdownMenu, {
76
+ open: open,
77
+ defaultOpen: defaultOpen,
78
+ onOpenChange: onOpenChange,
79
+ modal: modal,
80
+ dir: dir,
81
+ children: [(0, _jsxRuntime.jsx)(DropdownTrigger, {
82
+ asChild: true,
83
+ children: trigger
84
+ }), (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.Portal, (0, _extends2["default"])({}, portalProps, {
85
+ children: firstChild === 'DropdownContent' ? children : (0, _jsxRuntime.jsxs)(_DropdownContent.DropdownContent, (0, _extends2["default"])({}, contentProps, {
86
+ children: [children, (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.Arrow, {
87
+ sx: {
88
+ fill: 'background',
89
+ boxShadow: 'high'
90
+ }
91
+ })]
92
+ }))
93
+ }))]
94
+ });
95
+ };
96
+
97
+ exports.Dropdown = Dropdown;
98
+ Dropdown.propTypes = {
99
+ trigger: _propTypes["default"].node.isRequired,
100
+ children: _propTypes["default"].node.isRequired,
101
+ // Props in root: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#root
102
+ open: _propTypes["default"].bool,
103
+ defaultOpen: _propTypes["default"].bool,
104
+ onOpenChange: _propTypes["default"].func,
105
+ modal: _propTypes["default"].bool,
106
+ dir: _propTypes["default"].string,
107
+ // Content props in: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#content
108
+ contentProps: _propTypes["default"].any,
109
+ // Portal props in: https://www.radix-ui.com/docs/primitives/components/dropdown-menu#portal
110
+ portalProps: _propTypes["default"].any
111
+ }; // Exports
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = exports.WithDialog = exports.Default = exports.ComplexOptions = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _reactIcons = require("@radix-ui/react-icons");
15
+
16
+ var Dropdown = _interopRequireWildcard(require("."));
17
+
18
+ var _Button = require("../Button");
19
+
20
+ var NewDialog = _interopRequireWildcard(require("../NewDialog"));
21
+
22
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
23
+
24
+ var _excluded = ["onConfirm"];
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ var _default = {
31
+ title: 'Dropdown',
32
+ component: Dropdown.Root
33
+ };
34
+ exports["default"] = _default;
35
+
36
+ var Default = function Default() {
37
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
38
+ children: [(0, _jsxRuntime.jsxs)(Dropdown.Root, {
39
+ trigger: (0, _jsxRuntime.jsx)(_Button.Button, {
40
+ children: "Open"
41
+ }),
42
+ children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
43
+ children: "All"
44
+ }), (0, _jsxRuntime.jsx)(Dropdown.Item, {
45
+ children: "Completed"
46
+ }), (0, _jsxRuntime.jsx)(Dropdown.Item, {
47
+ children: "Running"
48
+ }), (0, _jsxRuntime.jsx)(Dropdown.Item, {
49
+ children: "Cancelled"
50
+ }), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
51
+ children: "Errored"
52
+ })]
53
+ }), (0, _jsxRuntime.jsxs)("p", {
54
+ children: ["This component is based on the Radix Dropdown. You can find all available options, props and features in the", ' ', (0, _jsxRuntime.jsx)("a", {
55
+ href: "https://www.radix-ui.com/docs/primitives/components/dropdown-menu",
56
+ target: "_blank",
57
+ rel: "noopener noreferrer",
58
+ children: "Dropdown Documentation page."
59
+ })]
60
+ })]
61
+ });
62
+ };
63
+
64
+ exports.Default = Default;
65
+
66
+ var ComplexOptions = function ComplexOptions() {
67
+ var _React$useState = _react["default"].useState(true),
68
+ bookmarksChecked = _React$useState[0],
69
+ setBookmarksChecked = _React$useState[1];
70
+
71
+ var _React$useState2 = _react["default"].useState(false),
72
+ urlsChecked = _React$useState2[0],
73
+ setUrlsChecked = _React$useState2[1];
74
+
75
+ var _React$useState3 = _react["default"].useState('pedro'),
76
+ person = _React$useState3[0],
77
+ setPerson = _React$useState3[1];
78
+
79
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
80
+ children: [(0, _jsxRuntime.jsxs)(Dropdown.Root, {
81
+ trigger: (0, _jsxRuntime.jsx)(_Button.Button, {
82
+ children: "See options"
83
+ }),
84
+ children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
85
+ children: "New Tab"
86
+ }), (0, _jsxRuntime.jsx)(Dropdown.Item, {
87
+ children: "New Window"
88
+ }), (0, _jsxRuntime.jsx)(Dropdown.Item, {
89
+ disabled: true,
90
+ children: "New Private Window"
91
+ }), (0, _jsxRuntime.jsxs)(Dropdown.Sub, {
92
+ children: [(0, _jsxRuntime.jsxs)(Dropdown.SubTrigger, {
93
+ children: ["More Tools", (0, _jsxRuntime.jsx)(_reactIcons.ChevronRightIcon, {})]
94
+ }), (0, _jsxRuntime.jsxs)(Dropdown.SubContent, {
95
+ sideOffset: 2,
96
+ alignOffset: -5,
97
+ children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
98
+ children: "Save Page As\u2026"
99
+ }), (0, _jsxRuntime.jsx)(Dropdown.Item, {
100
+ children: "Create Shortcut\u2026"
101
+ }), (0, _jsxRuntime.jsx)(Dropdown.Item, {
102
+ children: "Name Window\u2026"
103
+ }), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsx)(Dropdown.Item, {
104
+ children: "Developer Tools"
105
+ })]
106
+ })]
107
+ }), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsxs)(Dropdown.CheckboxItem, {
108
+ checked: bookmarksChecked,
109
+ onCheckedChange: setBookmarksChecked,
110
+ children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
111
+ children: (0, _jsxRuntime.jsx)(_reactIcons.CheckIcon, {})
112
+ }), "Show Bookmarks"]
113
+ }), (0, _jsxRuntime.jsxs)(Dropdown.CheckboxItem, {
114
+ checked: urlsChecked,
115
+ onCheckedChange: setUrlsChecked,
116
+ children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
117
+ children: (0, _jsxRuntime.jsx)(_reactIcons.CheckIcon, {})
118
+ }), "Show Full URLs"]
119
+ }), (0, _jsxRuntime.jsx)(Dropdown.Separator, {}), (0, _jsxRuntime.jsx)(Dropdown.Label, {
120
+ children: "People"
121
+ }), (0, _jsxRuntime.jsxs)(Dropdown.RadioGroup, {
122
+ value: person,
123
+ onValueChange: setPerson,
124
+ children: [(0, _jsxRuntime.jsxs)(Dropdown.RadioItem, {
125
+ value: "pedro",
126
+ children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
127
+ children: (0, _jsxRuntime.jsx)(_reactIcons.DotFilledIcon, {})
128
+ }), "Pedro Duarte"]
129
+ }), (0, _jsxRuntime.jsxs)(Dropdown.RadioItem, {
130
+ value: "colm",
131
+ children: [(0, _jsxRuntime.jsx)(Dropdown.ItemIndicator, {
132
+ children: (0, _jsxRuntime.jsx)(_reactIcons.DotFilledIcon, {})
133
+ }), "Colm Tuite"]
134
+ })]
135
+ })]
136
+ }), (0, _jsxRuntime.jsxs)("p", {
137
+ children: ["This component is based on the Radix Dropdown. You can find all available options, props and features in the", ' ', (0, _jsxRuntime.jsx)("a", {
138
+ href: "https://www.radix-ui.com/docs/primitives/components/dropdown-menu",
139
+ target: "_blank",
140
+ rel: "noopener noreferrer",
141
+ children: "Dropdown Documentation page."
142
+ })]
143
+ })]
144
+ });
145
+ };
146
+
147
+ exports.ComplexOptions = ComplexOptions;
148
+
149
+ var WithDialog = function WithDialog() {
150
+ var _React$useState4 = _react["default"].useState(false),
151
+ alertOpen = _React$useState4[0],
152
+ setAlertOpen = _React$useState4[1];
153
+
154
+ var _React$useState5 = _react["default"].useState(false),
155
+ menuOpen = _React$useState5[0],
156
+ setMenuOpen = _React$useState5[1];
157
+
158
+ var AreYouSureDialog = function AreYouSureDialog(_ref) {
159
+ var onConfirm = _ref.onConfirm,
160
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
161
+ return (0, _jsxRuntime.jsx)(NewDialog.Root, (0, _extends2["default"])({}, props, {
162
+ content: (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
163
+ children: [(0, _jsxRuntime.jsx)(_Button.Button, {
164
+ variant: "secondary",
165
+ onClick: function onClick() {
166
+ return onConfirm();
167
+ },
168
+ children: "Custom Close."
169
+ }), (0, _jsxRuntime.jsx)("p", {
170
+ children: "Teste abc."
171
+ })]
172
+ })
173
+ }));
174
+ };
175
+
176
+ return (0, _jsxRuntime.jsxs)("div", {
177
+ children: [(0, _jsxRuntime.jsx)("p", {
178
+ children: "This is an important example when combining the Dropdown component with the NewDialog component. In order to have the correct accessibility, there are some events you need to use. Use this example if you want to copy and paste the code."
179
+ }), (0, _jsxRuntime.jsxs)(Dropdown.Root, {
180
+ modal: !alertOpen,
181
+ open: menuOpen,
182
+ onOpenChange: setMenuOpen,
183
+ contentProps: {
184
+ sideOffset: 5
185
+ },
186
+ trigger: (0, _jsxRuntime.jsx)(_Button.Button, {
187
+ children: "Open"
188
+ }),
189
+ children: [(0, _jsxRuntime.jsx)(Dropdown.Item, {
190
+ children: "I don't do anything"
191
+ }), (0, _jsxRuntime.jsx)(AreYouSureDialog, {
192
+ title: "Are you in the jungle?",
193
+ description: "sha-n-n-n-n-n-n-n-n knees, knees",
194
+ open: alertOpen,
195
+ onOpenChange: setAlertOpen,
196
+ onConfirm: function onConfirm() {
197
+ setAlertOpen(false);
198
+ setMenuOpen(false);
199
+ },
200
+ trigger: (0, _jsxRuntime.jsx)(Dropdown.Item, {
201
+ onSelect: function onSelect(event) {
202
+ return event.preventDefault();
203
+ },
204
+ children: "Open Dialog"
205
+ })
206
+ })]
207
+ })]
208
+ });
209
+ };
210
+
211
+ exports.WithDialog = WithDialog;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+
11
+ var _react = require("@testing-library/react");
12
+
13
+ var _jestAxe = require("jest-axe");
14
+
15
+ var Dropdown = _interopRequireWildcard(require("."));
16
+
17
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
18
+
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+
21
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+
23
+ /**
24
+ * External dependencies
25
+ */
26
+
27
+ /**
28
+ * Internal dependencies
29
+ */
30
+ var defaultProps = {
31
+ trigger: (0, _jsxRuntime.jsx)("button", {
32
+ children: "Trigger"
33
+ })
34
+ };
35
+
36
+ var getButton = function getButton() {
37
+ return _react.screen.getByRole('button', {
38
+ name: 'Trigger'
39
+ });
40
+ };
41
+
42
+ describe('<Dropdown />', function () {
43
+ it('renders the Dropdown component', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
44
+ var _render, container;
45
+
46
+ return _regenerator["default"].wrap(function _callee$(_context) {
47
+ while (1) {
48
+ switch (_context.prev = _context.next) {
49
+ case 0:
50
+ _render = (0, _react.render)((0, _jsxRuntime.jsx)(Dropdown.Root, (0, _extends2["default"])({}, defaultProps, {
51
+ children: (0, _jsxRuntime.jsx)(Dropdown.Item, {
52
+ children: "My Item"
53
+ })
54
+ }))), container = _render.container;
55
+ expect(getButton()).toBeInTheDocument();
56
+
57
+ _react.fireEvent.click(getButton()); // Check for accessibility issues
58
+
59
+
60
+ _context.t0 = expect;
61
+ _context.next = 6;
62
+ return (0, _jestAxe.axe)(container);
63
+
64
+ case 6:
65
+ _context.t1 = _context.sent;
66
+ _context.next = 9;
67
+ return (0, _context.t0)(_context.t1).toHaveNoViolations();
68
+
69
+ case 9:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }
74
+ }, _callee);
75
+ })));
76
+ });
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.styles = exports.DropdownSubContent = exports.DropdownContent = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var DropdownMenuPrimitive = _interopRequireWildcard(require("@radix-ui/react-dropdown-menu"));
13
+
14
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ /** @jsxImportSource theme-ui */
21
+
22
+ /**
23
+ * External dependencies
24
+ */
25
+ var styles = {
26
+ minWidth: 220,
27
+ borderRadius: 6,
28
+ backgroundColor: 'background',
29
+ boxShadow: 'high',
30
+ px: 2,
31
+ py: 1
32
+ };
33
+ exports.styles = styles;
34
+
35
+ var DropdownContent = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
36
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.DropdownMenuContent, (0, _extends2["default"])({
37
+ ref: forwardRef,
38
+ sx: styles
39
+ }, props));
40
+ });
41
+
42
+ exports.DropdownContent = DropdownContent;
43
+ DropdownContent.displayName = 'DropdownContent';
44
+
45
+ var DropdownSubContent = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
46
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.Portal, {
47
+ children: (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.DropdownMenuSubContent, (0, _extends2["default"])({
48
+ ref: forwardRef,
49
+ sx: styles
50
+ }, props))
51
+ });
52
+ });
53
+
54
+ exports.DropdownSubContent = DropdownSubContent;
55
+ DropdownSubContent.displayName = 'DropdownSubContent';
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.styles = exports.DropdownSubTrigger = exports.DropdownRadioItem = exports.DropdownItem = exports.DropdownCheckboxItem = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var DropdownMenuPrimitive = _interopRequireWildcard(require("@radix-ui/react-dropdown-menu"));
13
+
14
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ /** @jsxImportSource theme-ui */
21
+
22
+ /**
23
+ * External dependencies
24
+ */
25
+ var styles = {
26
+ unset: 'all',
27
+ cursor: 'pointer',
28
+ display: 'flex',
29
+ alignItems: 'center',
30
+ flexDirection: 'row',
31
+ textAlign: 'left',
32
+ height: 25,
33
+ textDecoration: 'none',
34
+ position: 'relative',
35
+ m: 0,
36
+ color: 'heading',
37
+ px: 2,
38
+ paddingLeft: 10,
39
+ py: 1,
40
+ '&:hover, &:focus': {
41
+ backgroundColor: 'hover'
42
+ },
43
+ '&[data-disabled]': {
44
+ color: 'muted',
45
+ pointerEvents: 'none'
46
+ },
47
+ '&[data-highlighted]': {
48
+ backgroundColor: 'hover',
49
+ color: 'primary'
50
+ }
51
+ };
52
+ exports.styles = styles;
53
+
54
+ var DropdownItem = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
55
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.DropdownMenuItem, (0, _extends2["default"])({
56
+ ref: forwardRef,
57
+ sx: styles
58
+ }, props));
59
+ });
60
+
61
+ exports.DropdownItem = DropdownItem;
62
+ DropdownItem.displayName = 'DropdownItem';
63
+
64
+ var DropdownCheckboxItem = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
65
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.CheckboxItem, (0, _extends2["default"])({
66
+ ref: forwardRef,
67
+ sx: styles
68
+ }, props));
69
+ });
70
+
71
+ exports.DropdownCheckboxItem = DropdownCheckboxItem;
72
+ DropdownCheckboxItem.displayName = 'DropdownCheckboxItem';
73
+
74
+ var DropdownRadioItem = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
75
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.RadioItem, (0, _extends2["default"])({
76
+ ref: forwardRef,
77
+ sx: styles
78
+ }, props));
79
+ });
80
+
81
+ exports.DropdownRadioItem = DropdownRadioItem;
82
+ DropdownRadioItem.displayName = 'DropdownRadioItem';
83
+
84
+ var DropdownSubTrigger = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
85
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.SubTrigger, (0, _extends2["default"])({
86
+ ref: forwardRef,
87
+ sx: (0, _extends2["default"])({}, styles, {
88
+ '&[data-state="open"]': {
89
+ background: 'highlight',
90
+ color: 'primary'
91
+ }
92
+ })
93
+ }, props));
94
+ });
95
+
96
+ exports.DropdownSubTrigger = DropdownSubTrigger;
97
+ DropdownSubTrigger.displayName = 'DropdownSubTrigger';
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.styles = exports.DropdownLabel = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var DropdownMenuPrimitive = _interopRequireWildcard(require("@radix-ui/react-dropdown-menu"));
13
+
14
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ /** @jsxImportSource theme-ui */
21
+
22
+ /**
23
+ * External dependencies
24
+ */
25
+ var styles = {
26
+ paddingLeft: 10,
27
+ fontSize: 12,
28
+ lineHeight: '25px',
29
+ color: 'muted'
30
+ };
31
+ exports.styles = styles;
32
+
33
+ var DropdownLabel = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
34
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.DropdownMenuLabel, (0, _extends2["default"])({
35
+ ref: forwardRef,
36
+ sx: styles
37
+ }, props));
38
+ });
39
+
40
+ exports.DropdownLabel = DropdownLabel;
41
+ DropdownLabel.displayName = 'DropdownLabel';
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.styles = exports.DropdownSeparator = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var DropdownMenuPrimitive = _interopRequireWildcard(require("@radix-ui/react-dropdown-menu"));
13
+
14
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ /** @jsxImportSource theme-ui */
21
+
22
+ /**
23
+ * External dependencies
24
+ */
25
+ var styles = {
26
+ height: '1px',
27
+ backgroundColor: 'border',
28
+ my: '5px'
29
+ };
30
+ exports.styles = styles;
31
+
32
+ var DropdownSeparator = /*#__PURE__*/_react["default"].forwardRef(function (props, forwardRef) {
33
+ return (0, _jsxRuntime.jsx)(DropdownMenuPrimitive.DropdownMenuSeparator, (0, _extends2["default"])({
34
+ ref: forwardRef,
35
+ sx: styles
36
+ }, props));
37
+ });
38
+
39
+ exports.DropdownSeparator = DropdownSeparator;
40
+ DropdownSeparator.displayName = 'DropdownSeparator';