@gympass/yoga 7.40.3 → 7.41.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.
@@ -96,8 +96,6 @@ Dialog.propTypes = {
96
96
 
97
97
  /** Function to close the dialog. */
98
98
  onClose: _propTypes.func,
99
-
100
- /** The children necessary */
101
99
  children: _propTypes.node.isRequired
102
100
  };
103
101
  Dialog.defaultProps = {
@@ -10,12 +10,14 @@ var Heading = function Heading(_ref) {
10
10
  background: colors.white,
11
11
  padding: {
12
12
  vertical: spacing.small,
13
- horizontal: spacing.huge
13
+ horizontal: spacing.huge,
14
+ horizontalMobile: spacing.medium
14
15
  },
15
- height: 48,
16
+ height: spacing.xxxlarge,
16
17
  button: {
17
- width: 48,
18
- height: spacing.xxlarge
18
+ width: spacing.large,
19
+ height: spacing.large,
20
+ marginRight: spacing.medium
19
21
  }
20
22
  };
21
23
  };
@@ -5,6 +5,8 @@ exports["default"] = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
11
 
10
12
  var _yogaIcons = require("@gympass/yoga-icons");
@@ -13,17 +15,26 @@ var _Button = _interopRequireDefault(require("../../Button"));
13
15
 
14
16
  var _excluded = ["onClick"];
15
17
 
18
+ var _templateObject;
19
+
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
21
 
18
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
23
 
20
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
25
 
22
- var BackButton = function BackButton(_ref) {
23
- var onClick = _ref.onClick,
24
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
26
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
27
+
28
+ var ButtonIcon = (0, _styledComponents["default"])(_Button["default"].Icon)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
29
+ var heading = _ref.theme.yoga.components.heading;
30
+ return "\n width: " + heading.button.width + "px;\n height: " + heading.button.height + "px;\n ";
31
+ });
32
+
33
+ var BackButton = function BackButton(_ref2) {
34
+ var onClick = _ref2.onClick,
35
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded);
25
36
 
26
- return /*#__PURE__*/_react["default"].createElement(_Button["default"].Icon, _extends({}, props, {
37
+ return /*#__PURE__*/_react["default"].createElement(ButtonIcon, _extends({}, props, {
27
38
  icon: _yogaIcons.ArrowLeft,
28
39
  inverted: true,
29
40
  onClick: onClick
@@ -28,9 +28,9 @@ var Heading = function Heading(_ref) {
28
28
  var backButton = null;
29
29
  var title = null;
30
30
  var rightButtons = [];
31
- if (!children) throw new Error('Heading needs at least one child');
32
31
 
33
32
  var defineComponent = function defineComponent(child) {
33
+ if (!child) return;
34
34
  if (child.type.displayName === _Title["default"].displayName) title = child;
35
35
  if (child.type.displayName === _BackButton["default"].displayName) backButton = child;
36
36
  if (child.type.displayName === _RightButton["default"].displayName) rightButtons.push(child);
@@ -54,8 +54,10 @@ var Heading = function Heading(_ref) {
54
54
  };
55
55
 
56
56
  Heading.propTypes = {
57
- children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired
57
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node])
58
+ };
59
+ Heading.defaultProps = {
60
+ children: undefined
58
61
  };
59
- Heading.defaultProps = {};
60
62
  var _default = Heading;
61
63
  exports["default"] = _default;
@@ -5,24 +5,39 @@ exports["default"] = void 0;
5
5
 
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
 
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
11
 
10
12
  var _Button = _interopRequireDefault(require("../../Button"));
11
13
 
12
14
  var _excluded = ["onClick", "icon"];
13
15
 
16
+ var _templateObject, _templateObject2;
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
14
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
23
 
16
24
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
25
 
18
26
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
27
 
20
- var RightButton = function RightButton(_ref) {
21
- var onClick = _ref.onClick,
22
- icon = _ref.icon,
23
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
28
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
29
+
30
+ var ButtonIcon = (0, _styledComponents["default"])(_Button["default"].Icon)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n"])), function (_ref) {
31
+ var heading = _ref.theme.yoga.components.heading;
32
+ return (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n width: ", "px;\n height: ", "px;\n\n :not(:last-of-type) {\n margin-right: ", "px;\n }\n "])), heading.button.width, heading.button.height, heading.button.marginRight);
33
+ });
34
+
35
+ var RightButton = function RightButton(_ref2) {
36
+ var onClick = _ref2.onClick,
37
+ icon = _ref2.icon,
38
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded);
24
39
 
25
- return /*#__PURE__*/_react["default"].createElement(_Button["default"].Icon, _extends({}, props, {
40
+ return /*#__PURE__*/_react["default"].createElement(ButtonIcon, _extends({}, props, {
26
41
  icon: icon,
27
42
  inverted: true,
28
43
  onClick: onClick
@@ -13,7 +13,7 @@ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.s
13
13
 
14
14
  var StyledHeading = _styledComponents["default"].header(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
15
15
  var heading = _ref.theme.yoga.components.heading;
16
- return "\n background: " + heading.background + ";\n padding: " + heading.padding.vertical + "px;\n width: 100%;\n min-height: " + heading.height + "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n @media(min-width: 769px) {\n padding: " + heading.padding.vertical + "px " + heading.padding.horizontal + "px;\n }\n ";
16
+ return "\n background: " + heading.background + ";\n padding: " + heading.padding.vertical + "px " + heading.padding.horizontalMobile + "px;\n width: 100%;\n min-height: " + heading.height + "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n @media(min-width: 769px) {\n padding: " + heading.padding.vertical + "px " + heading.padding.horizontal + "px;\n }\n ";
17
17
  });
18
18
 
19
19
  var Button = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
@@ -32,7 +32,7 @@ var Field = _styledComponents["default"].input(_templateObject2 || (_templateObj
32
32
  colors = _ref2$theme$yoga.colors,
33
33
  baseFont = _ref2$theme$yoga.baseFont,
34
34
  input = _ref2$theme$yoga.components.input;
35
- return (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n height: ", "px;\n padding-top: ", "px;\n padding-right: ", "px;\n padding-bottom: ", "px;\n padding-left: ", "px;\n\n color: ", ";\n font-family: ", ", sans-serif;\n font-size: ", "px;\n font-weight: ", ";\n\n &:focus {\n color: ", ";\n\n & ~ legend {\n max-width: max-content;\n transition-property: max-width;\n transition-duration: ", "ms;\n }\n\n & ~ label {\n ", "\n\n font-weight: ", ";\n color: ", ";\n }\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &:disabled {\n cursor: not-allowed;\n color: ", ";\n text-fill-color: ", ";\n opacity: 1;\n }\n\n ", "\n\n ", "\n "])), input.height, input.padding.top, cleanable ? ICON_SIZE + input.padding.right * 2 : input.padding.right, input.padding.bottom, input.padding.left, input.font.color.focus, baseFont.family, input.font.size, input.font.weight, input.font.color.focus, transition.duration[1], labelTransition, input.label.font.weight, error ? "" + colors.feedback.attention[1] : "" + colors.text.primary, input.label.color["default"], colors.text.disabled, colors.text.disabled, placeholder && label ? (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: transparent;\n }\n "]))) : (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: ", ";\n }\n "])), input.label.color["default"]), value && (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n & ~ legend {\n max-width: max-content;\n }\n\n & ~ label {\n color: ", ";\n ", "\n }\n "])), error ? "" + colors.feedback.attention[1] : '', labelTransition));
35
+ return (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n height: ", "px;\n padding-top: ", "px;\n padding-right: ", "px;\n padding-bottom: ", "px;\n padding-left: ", "px;\n\n color: ", ";\n font-family: ", ", sans-serif;\n font-size: ", "px;\n font-weight: ", ";\n\n &:focus {\n color: ", ";\n\n & ~ legend {\n max-width: max-content;\n transition-property: max-width;\n transition-duration: ", "ms;\n }\n\n & ~ label {\n ", "\n\n font-weight: ", ";\n color: ", ";\n }\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &:disabled {\n cursor: not-allowed;\n color: ", ";\n -webkit-text-fill-color: ", ";\n opacity: 1;\n }\n\n ", "\n\n ", "\n "])), input.height, input.padding.top, cleanable ? ICON_SIZE + input.padding.right * 2 : input.padding.right, input.padding.bottom, input.padding.left, input.font.color.focus, baseFont.family, input.font.size, input.font.weight, input.font.color.focus, transition.duration[1], labelTransition, input.label.font.weight, error ? "" + colors.feedback.attention[1] : "" + colors.text.primary, input.label.color["default"], colors.text.disabled, colors.text.disabled, placeholder && label ? (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: transparent;\n }\n "]))) : (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: ", ";\n }\n "])), input.label.color["default"]), value && (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n & ~ legend {\n max-width: max-content;\n }\n\n & ~ label {\n color: ", ";\n ", "\n }\n "])), error ? "" + colors.feedback.attention[1] : '', labelTransition));
36
36
  });
37
37
 
38
38
  var _default = Field;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var Menu = function Menu(_ref) {
7
+ var spacing = _ref.spacing,
8
+ radii = _ref.radii,
9
+ colors = _ref.colors,
10
+ fontWeights = _ref.fontWeights;
11
+ return {
12
+ border: {
13
+ radius: radii.small
14
+ },
15
+ width: {
16
+ min: 176,
17
+ max: 280
18
+ },
19
+ margin: {
20
+ "default": spacing.small,
21
+ medium: spacing.medium,
22
+ xxsmall: spacing.xxsmall
23
+ },
24
+ padding: {
25
+ horizontal: spacing.small,
26
+ vertical: spacing.xxsmall
27
+ },
28
+ backgroundColor: {
29
+ white: colors.white,
30
+ disabled: colors.elements.backgroundAndDisabled
31
+ },
32
+ text: {
33
+ "default": {
34
+ color: colors.text.primary
35
+ },
36
+ active: {
37
+ color: colors.primary
38
+ },
39
+ disabled: {
40
+ color: colors.text.disabled
41
+ }
42
+ },
43
+ font: {
44
+ weight: fontWeights.medium
45
+ },
46
+ icon: {
47
+ disabled: colors.elements.selectionAndIcons
48
+ }
49
+ };
50
+ };
51
+
52
+ var _default = Menu;
53
+ exports["default"] = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _Menu = _interopRequireDefault(require("./web/Menu"));
7
+
8
+ var _MenuAction = _interopRequireDefault(require("./web/MenuAction"));
9
+
10
+ var _MenuList = _interopRequireDefault(require("./web/MenuList"));
11
+
12
+ var _MenuItem = _interopRequireDefault(require("./web/MenuItem"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ _Menu["default"].Action = _MenuAction["default"];
17
+ _Menu["default"].List = _MenuList["default"];
18
+ _Menu["default"].Item = _MenuItem["default"];
19
+ var _default = _Menu["default"];
20
+ exports["default"] = _default;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _reactDropdownMenu = require("@radix-ui/react-dropdown-menu");
9
+
10
+ var _propTypes = require("prop-types");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var Menu = function Menu(_ref) {
15
+ var children = _ref.children,
16
+ onMouseHover = _ref.onMouseHover;
17
+
18
+ var _React$useState = _react["default"].useState(false),
19
+ isOpen = _React$useState[0],
20
+ setIsOpen = _React$useState[1];
21
+
22
+ function handleOpenMenu() {
23
+ setIsOpen(!isOpen);
24
+ }
25
+
26
+ if (!onMouseHover) {
27
+ return /*#__PURE__*/_react["default"].createElement(_reactDropdownMenu.Root, {
28
+ sideOffset: 5,
29
+ modal: false
30
+ }, children);
31
+ }
32
+
33
+ return /*#__PURE__*/_react["default"].createElement("div", {
34
+ onMouseEnter: handleOpenMenu,
35
+ onMouseLeave: handleOpenMenu
36
+ }, /*#__PURE__*/_react["default"].createElement(_reactDropdownMenu.Root, {
37
+ sideOffset: 5,
38
+ modal: false,
39
+ defaultOpen: true,
40
+ open: isOpen
41
+ }, children));
42
+ };
43
+
44
+ Menu.propTypes = {
45
+ children: _propTypes.node.isRequired,
46
+
47
+ /** when mouse hover menu open as deafault is true */
48
+ onMouseHover: _propTypes.bool
49
+ };
50
+ Menu.defaultProps = {
51
+ onMouseHover: true
52
+ };
53
+ Menu.displayName = 'Menu';
54
+ var _default = Menu;
55
+ exports["default"] = _default;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _yogaIcons = require("@gympass/yoga-icons");
8
+
9
+ var _ = require("../..");
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
+
13
+ describe('<Menu />', function () {
14
+ it('should match snapshot in default Menu', function () {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
16
+ icon: _yogaIcons.MenuList
17
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 3"))))),
18
+ container = _render.container;
19
+
20
+ expect(container).toMatchSnapshot();
21
+ });
22
+ it('should match snapshot Menu.Item with icon', function () {
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
24
+ icon: _yogaIcons.MenuList
25
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
26
+ icon: _yogaIcons.FlagBrazil
27
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
28
+ icon: _yogaIcons.FlagArgentina
29
+ }, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
30
+ icon: _yogaIcons.FlagChile
31
+ }, "Item 3"))))),
32
+ container = _render2.container;
33
+
34
+ expect(container).toMatchSnapshot();
35
+ });
36
+ it('should match snapshot Menu.Item with link', function () {
37
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
38
+ icon: _yogaIcons.MenuList
39
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
40
+ href: "http://www.gympass.com",
41
+ target: "blank"
42
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
43
+ href: "http://www.gympass.com",
44
+ target: "blank"
45
+ }, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
46
+ href: "http://www.gympass.com",
47
+ target: "blank"
48
+ }, "Item 3"))))),
49
+ container = _render3.container;
50
+
51
+ expect(container).toMatchSnapshot();
52
+ });
53
+ it('should match snapshot Menu.Item with active', function () {
54
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
55
+ icon: _yogaIcons.MenuList
56
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
57
+ active: true
58
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 3"))))),
59
+ container = _render4.container;
60
+
61
+ expect(container).toMatchSnapshot();
62
+ });
63
+ it('should match snapshot Menu.Item with disabled', function () {
64
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
65
+ icon: _yogaIcons.MenuList
66
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
67
+ disabled: true
68
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 3"))))),
69
+ container = _render5.container;
70
+
71
+ expect(container).toMatchSnapshot();
72
+ });
73
+ it('should match snapshot Menu.Item with disabled and icon', function () {
74
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
75
+ icon: _yogaIcons.MenuList
76
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
77
+ icon: _yogaIcons.HomeFilled,
78
+ disabled: true
79
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 3"))))),
80
+ container = _render6.container;
81
+
82
+ expect(container).toMatchSnapshot();
83
+ });
84
+ it('should match snapshot Menu with a onMouseHover props false', function () {
85
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, {
86
+ onMouseHover: false
87
+ }, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
88
+ icon: _yogaIcons.MenuList
89
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
90
+ icon: _yogaIcons.HomeFilled,
91
+ disabled: true
92
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 3"))))),
93
+ container = _render7.container;
94
+
95
+ expect(container).toMatchSnapshot();
96
+ });
97
+ it('should match snapshot Menu with an align props start', function () {
98
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
99
+ icon: _yogaIcons.MenuList
100
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, {
101
+ align: "start"
102
+ }, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
103
+ icon: _yogaIcons.HomeFilled,
104
+ disabled: true
105
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 3"))))),
106
+ container = _render8.container;
107
+
108
+ expect(container).toMatchSnapshot();
109
+ });
110
+ it('should match snapshot Menu with an align props end', function () {
111
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Menu, null, /*#__PURE__*/_react["default"].createElement(_.Menu.Action, null, /*#__PURE__*/_react["default"].createElement(_.Button.Icon, {
112
+ icon: _yogaIcons.MenuList
113
+ })), /*#__PURE__*/_react["default"].createElement(_.Menu.List, {
114
+ align: "end"
115
+ }, /*#__PURE__*/_react["default"].createElement(_.Menu.Item, {
116
+ icon: _yogaIcons.HomeFilled,
117
+ disabled: true
118
+ }, "Item 1"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 2"), /*#__PURE__*/_react["default"].createElement(_.Menu.Item, null, "Item 3"))))),
119
+ container = _render9.container;
120
+
121
+ expect(container).toMatchSnapshot();
122
+ });
123
+ });
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _reactDropdownMenu = require("@radix-ui/react-dropdown-menu");
9
+
10
+ var _propTypes = require("prop-types");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var MenuAction = function MenuAction(_ref) {
15
+ var children = _ref.children;
16
+ return /*#__PURE__*/_react["default"].createElement(_reactDropdownMenu.Trigger, {
17
+ asChild: true
18
+ }, children);
19
+ };
20
+
21
+ MenuAction.propTypes = {
22
+ children: _propTypes.node.isRequired
23
+ };
24
+ MenuAction.displayName = 'Menu.Action';
25
+ var _default = MenuAction;
26
+ exports["default"] = _default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _reactDropdownMenu = require("@radix-ui/react-dropdown-menu");
9
+
10
+ var _propTypes = require("prop-types");
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _excluded = ["icon", "href", "active", "disabled", "children"];
15
+
16
+ var _templateObject;
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
26
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+
28
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
29
+
30
+ var StyledMenuItem = _styledComponents["default"].li(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n ", "\n"])), function (_ref) {
31
+ var active = _ref.active,
32
+ disabled = _ref.disabled,
33
+ menu = _ref.theme.yoga.components.menu;
34
+ return "\n margin-right: auto;\n padding: " + menu.padding.vertical + "px " + menu.padding.horizontal + "px;\n\n width: 100%;\n cursor: pointer;\n text-decoration: none;\n color: " + menu.text["default"].color + ";\n\n " + (active ? "\n font-weight: " + menu.font.weight + ";\n color: " + menu.text.active.color + "\n " : '') + "\n\n " + (disabled ? "\n color: " + menu.text.disabled.color + ";\n pointer-events: none;\n\n svg {\n fill: " + menu.text.disabled.color + ";\n opacity: 0.5;\n }\n\n cursor: not-allowed;\n " : '') + "\n\n svg {\n margin-right: " + menu.margin["default"] + "px;\n fill: " + menu.icon.disabled + ";\n }\n\n &:focus {\n outline: none;\n background: " + menu.backgroundColor.disabled + ";\n }\n\n &:hover {\n background: " + menu.backgroundColor.disabled + ";\n }\n\n &:first-child {\n margin-top: " + menu.margin.xxsmall + "px;\n }\n\n &:last-child {\n margin-bottom: " + menu.margin.xxsmall + "px;\n }\n ";
35
+ });
36
+
37
+ var MenuItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
38
+ var Icon = _ref2.icon,
39
+ href = _ref2.href,
40
+ active = _ref2.active,
41
+ disabled = _ref2.disabled,
42
+ children = _ref2.children,
43
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded);
44
+
45
+ var finalProps = _extends({}, rest);
46
+
47
+ if (href) {
48
+ finalProps.as = 'a';
49
+ finalProps.href = href;
50
+ }
51
+
52
+ return /*#__PURE__*/_react["default"].createElement(_reactDropdownMenu.Item, {
53
+ disabled: disabled,
54
+ asChild: true
55
+ }, /*#__PURE__*/_react["default"].createElement(StyledMenuItem, _extends({
56
+ active: active,
57
+ disabled: disabled,
58
+ ref: ref
59
+ }, finalProps), Icon && /*#__PURE__*/_react["default"].createElement(Icon, {
60
+ width: 20,
61
+ height: 20
62
+ }), children));
63
+ });
64
+ MenuItem.propTypes = {
65
+ /** The icon of menu item */
66
+ icon: (0, _propTypes.oneOfType)([_propTypes.node, _propTypes.func]),
67
+ children: _propTypes.node.isRequired,
68
+ href: _propTypes.string,
69
+ disabled: _propTypes.bool,
70
+ active: _propTypes.bool
71
+ };
72
+ MenuItem.defaultProps = {
73
+ icon: undefined,
74
+ href: undefined,
75
+ disabled: false,
76
+ active: false
77
+ };
78
+ MenuItem.displayName = 'Menu.Item';
79
+ var _default = MenuItem;
80
+ exports["default"] = _default;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ var _reactDropdownMenu = require("@radix-ui/react-dropdown-menu");
11
+
12
+ var _propTypes = require("prop-types");
13
+
14
+ var _Box = _interopRequireDefault(require("../../Box"));
15
+
16
+ var _templateObject;
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
25
+
26
+ var StyledMenuList = (0, _styledComponents["default"])(_reactDropdownMenu.Content)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: center;\n ", "\n"])), function (_ref) {
27
+ var _ref$theme$yoga = _ref.theme.yoga,
28
+ menu = _ref$theme$yoga.components.menu,
29
+ elevations = _ref$theme$yoga.elevations;
30
+ return "\n margin: " + menu.margin["default"] + "px 0;\n padding: 0;\n min-width: " + menu.width.min + "px;\n max-width: " + menu.width.max + "px;\n border-radius: " + menu.border.radius + "px;\n\n background-color: " + menu.backgroundColor.white + ";\n box-shadow: " + elevations.small + "\n ";
31
+ });
32
+ var MenuList = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
33
+ var children = _ref2.children,
34
+ align = _ref2.align;
35
+ return /*#__PURE__*/_react["default"].createElement(StyledMenuList, {
36
+ asChild: true,
37
+ sideOffset: 2,
38
+ alignOffset: -5,
39
+ align: align
40
+ }, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
41
+ as: "ul",
42
+ ref: ref
43
+ }, children));
44
+ });
45
+ MenuList.propTypes = {
46
+ children: _propTypes.node.isRequired,
47
+
48
+ /** Align Menu is a alignement that menu will appear on the screen | start | center | end */
49
+ align: _propTypes.string
50
+ };
51
+ MenuList.defaultProps = {
52
+ align: 'start'
53
+ };
54
+ MenuList.displayName = 'Menu.List';
55
+ var _default = MenuList;
56
+ exports["default"] = _default;
@@ -45,6 +45,8 @@ var _InputTheme = _interopRequireDefault(require("./../../Input/Input.theme.js")
45
45
 
46
46
  var _ListTheme = _interopRequireDefault(require("./../../List/List.theme.js"));
47
47
 
48
+ var _MenuTheme = _interopRequireDefault(require("./../../Menu/Menu.theme.js"));
49
+
48
50
  var _ProgressTheme = _interopRequireDefault(require("./../../Progress/Progress.theme.js"));
49
51
 
50
52
  var _RadioGroupTheme = _interopRequireDefault(require("./../../RadioGroup/RadioGroup.theme.js"));
@@ -90,6 +92,7 @@ var componentThemes = {
90
92
  Icon$Icon: _IconTheme["default"],
91
93
  Input$Input: _InputTheme["default"],
92
94
  List$List: _ListTheme["default"],
95
+ Menu$Menu: _MenuTheme["default"],
93
96
  Progress$Progress: _ProgressTheme["default"],
94
97
  RadioGroup$RadioGroup: _RadioGroupTheme["default"],
95
98
  Rating$Rating: _RatingTheme["default"],
@@ -8,4 +8,12 @@ Object.keys(_usePortal).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
9
  if (key in exports && exports[key] === _usePortal[key]) return;
10
10
  exports[key] = _usePortal[key];
11
+ });
12
+
13
+ var _useKeyPress = require("./useKeyPress");
14
+
15
+ Object.keys(_useKeyPress).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (key in exports && exports[key] === _useKeyPress[key]) return;
18
+ exports[key] = _useKeyPress[key];
11
19
  });