@gympass/yoga 7.35.1 → 7.37.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 (70) hide show
  1. package/cjs/AutoComplete/web/AutoComplete.js +5 -3
  2. package/cjs/Banner/native/Banner.js +1 -1
  3. package/cjs/Banner/web/Banner.js +4 -3
  4. package/cjs/Card/native/Card/Card.js +1 -1
  5. package/cjs/Card/web/Card/Card.js +7 -3
  6. package/cjs/Chips/native/Chips.js +1 -1
  7. package/cjs/Chips/web/Chips.js +4 -3
  8. package/cjs/Divider/native/Divider.js +1 -1
  9. package/cjs/Divider/web/Divider.js +5 -4
  10. package/cjs/Dropdown/native/Dropdown.js +1 -1
  11. package/cjs/Dropdown/web/Dropdown.js +6 -3
  12. package/cjs/Feedback/Feedback.theme.js +15 -0
  13. package/cjs/Feedback/index.js +11 -0
  14. package/cjs/Feedback/web/Feedback.js +95 -0
  15. package/cjs/Feedback/web/StyledFeedback.js +58 -0
  16. package/cjs/Feedback/web/index.js +16 -0
  17. package/cjs/Input/native/Email.js +1 -1
  18. package/cjs/Input/native/Helper.js +1 -1
  19. package/cjs/Input/native/Input.js +1 -1
  20. package/cjs/Input/native/Number.js +1 -1
  21. package/cjs/Input/native/Password.js +1 -1
  22. package/cjs/Input/native/Tel.js +1 -1
  23. package/cjs/Input/web/Email.js +5 -3
  24. package/cjs/Input/web/Field.js +1 -1
  25. package/cjs/Input/web/Legend.js +7 -3
  26. package/cjs/Input/web/Number.js +6 -4
  27. package/cjs/Input/web/Tel.js +5 -3
  28. package/cjs/List/native/List.js +1 -1
  29. package/cjs/List/web/List.js +4 -3
  30. package/cjs/Progress/native/Progress.js +1 -1
  31. package/cjs/Progress/web/Progress.js +4 -3
  32. package/cjs/RadioGroup/native/Button/RadioButton.js +1 -1
  33. package/cjs/RadioGroup/native/Radio/Radio.js +1 -1
  34. package/cjs/RadioGroup/web/Button/RadioButton.js +4 -3
  35. package/cjs/RadioGroup/web/Radio/Radio.js +4 -3
  36. package/cjs/Snackbar/web/Snackbar.js +5 -11
  37. package/cjs/Text/sharedTextStyle.js +1 -1
  38. package/cjs/Text/textStyle.android.js +1 -1
  39. package/cjs/Text/textStyle.ios.js +1 -1
  40. package/cjs/Text/textStyle.web.js +1 -1
  41. package/cjs/Theme/theme/theme.js +3 -0
  42. package/cjs/index.js +4 -0
  43. package/esm/AutoComplete/web/AutoComplete.js +5 -4
  44. package/esm/Banner/web/Banner.js +4 -5
  45. package/esm/Card/web/Card/Card.js +7 -5
  46. package/esm/Chips/web/Chips.js +4 -5
  47. package/esm/Divider/web/Divider.js +5 -6
  48. package/esm/Dropdown/web/Dropdown.js +5 -4
  49. package/esm/Feedback/Feedback.theme.js +9 -0
  50. package/esm/Feedback/index.js +2 -0
  51. package/esm/Feedback/web/Feedback.js +79 -0
  52. package/esm/Feedback/web/StyledFeedback.js +34 -0
  53. package/esm/Feedback/web/index.js +6 -0
  54. package/esm/Input/web/Email.js +5 -5
  55. package/esm/Input/web/Field.js +1 -1
  56. package/esm/Input/web/Legend.js +7 -5
  57. package/esm/Input/web/Number.js +6 -6
  58. package/esm/Input/web/Tel.js +5 -5
  59. package/esm/List/web/List.js +4 -4
  60. package/esm/Progress/web/Progress.js +4 -4
  61. package/esm/RadioGroup/web/Button/RadioButton.js +4 -4
  62. package/esm/RadioGroup/web/Radio/Radio.js +4 -4
  63. package/esm/Snackbar/web/Snackbar.js +4 -12
  64. package/esm/Text/sharedTextStyle.js +1 -1
  65. package/esm/Text/textStyle.android.js +1 -1
  66. package/esm/Text/textStyle.ios.js +1 -1
  67. package/esm/Text/textStyle.web.js +1 -1
  68. package/esm/Theme/theme/theme.js +2 -0
  69. package/esm/index.js +2 -1
  70. package/package.json +5 -5
@@ -0,0 +1,79 @@
1
+ function _extends() { _extends = Object.assign || 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); }
2
+
3
+ import { arrayOf, node, oneOf, oneOfType, string } from 'prop-types';
4
+ import React from 'react';
5
+ import { CheckedFull, AlertCircle, AlertTriangle } from '@gympass/yoga-icons';
6
+ import Icon from '../../Icon';
7
+ import Box from '../../Box';
8
+ import Text from '../../Text';
9
+ import { Actions, Content, Title, PrimaryButton, SecondaryButton, TextContainer } from './StyledFeedback';
10
+ var ICON_SIZE = 64;
11
+ var VARIANT_ICONS = {
12
+ success: {
13
+ as: CheckedFull,
14
+ fill: 'hope'
15
+ },
16
+ informative: {
17
+ as: AlertCircle,
18
+ fill: 'relax'
19
+ },
20
+ attention: {
21
+ as: AlertTriangle,
22
+ fill: 'brandingVerve'
23
+ }
24
+ };
25
+
26
+ function isChildFromComponent(child, component) {
27
+ return child.type.displayName === component.displayName;
28
+ }
29
+
30
+ function Feedback(_ref) {
31
+ var variant = _ref.variant,
32
+ title = _ref.title,
33
+ description = _ref.description,
34
+ children = _ref.children;
35
+ var iconProps = VARIANT_ICONS[variant];
36
+ var primaryButton;
37
+ var secondaryButton;
38
+ var titleElement = /*#__PURE__*/React.createElement(Title, null, title);
39
+
40
+ function defineCompoundComponents() {
41
+ React.Children.forEach(children, function (child) {
42
+ if (isChildFromComponent(child, PrimaryButton)) primaryButton = child;
43
+ if (isChildFromComponent(child, SecondaryButton)) secondaryButton = child;
44
+ if (isChildFromComponent(child, Title)) titleElement = child;
45
+ });
46
+ }
47
+
48
+ defineCompoundComponents();
49
+ return /*#__PURE__*/React.createElement(Box, {
50
+ ph: "medium",
51
+ pv: "xxlarge",
52
+ minHeight: "100%",
53
+ width: "100%",
54
+ display: "flex",
55
+ alignItems: "flex-end",
56
+ bg: "white"
57
+ }, /*#__PURE__*/React.createElement(Content, null, /*#__PURE__*/React.createElement(Icon, _extends({}, iconProps, {
58
+ size: ICON_SIZE,
59
+ mb: "large",
60
+ "data-testid": "feedback-icon"
61
+ })), /*#__PURE__*/React.createElement(TextContainer, null, titleElement, /*#__PURE__*/React.createElement(Text, {
62
+ mt: "small",
63
+ color: "deep"
64
+ }, description)), /*#__PURE__*/React.createElement(Actions, {
65
+ mt: "xxxlarge"
66
+ }, primaryButton, secondaryButton)));
67
+ }
68
+
69
+ Feedback.propTypes = {
70
+ variant: oneOf(Object.keys(VARIANT_ICONS)).isRequired,
71
+ title: string,
72
+ description: string.isRequired,
73
+ children: oneOfType([arrayOf(node), node])
74
+ };
75
+ Feedback.defaultProps = {
76
+ title: undefined,
77
+ children: undefined
78
+ };
79
+ export default Feedback;
@@ -0,0 +1,34 @@
1
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
2
+
3
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
4
+
5
+ import styled, { css } from 'styled-components';
6
+ import Box from '../../Box';
7
+ import Button from '../../Button';
8
+ import Text from '../../Text';
9
+ export var Content = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n @media (min-width: 769px) {\n margin: auto;\n }\n"])));
10
+ export var TextContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", "}\n"])), function (_ref) {
11
+ var feedback = _ref.theme.yoga.components.feedback;
12
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n max-width: ", "px;\n "])), feedback.text.maxWidth);
13
+ });
14
+ export var Title = styled(Text.H4).attrs(function () {
15
+ return {
16
+ as: 'p'
17
+ };
18
+ })(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n ", "}\n"])), function (_ref2) {
19
+ var fontSizes = _ref2.theme.yoga.fontSizes;
20
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n @media (min-width: 769px) {\n font-size: ", "px;\n line-height: ", "px;\n }\n "])), fontSizes.huge, fontSizes.huge);
21
+ });
22
+ export var Actions = styled(Box)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n ", "}\n"])), function (_ref3) {
23
+ var spacing = _ref3.theme.yoga.spacing;
24
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n\n @media (min-width: 769px) {\n flex-direction: row;\n margin-top: ", "px;\n }\n "])), spacing.xxlarge);
25
+ });
26
+ var buttonsStyles = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n ", "}\n"])), function (_ref4) {
27
+ var spacing = _ref4.theme.yoga.spacing;
28
+ return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n width: 100%;\n\n :last-child(:not(:first-child)) {\n margin-top: ", "px;\n }\n\n @media (min-width: 769px) {\n width: auto;\n\n :last-child(:not(:first-child)) {\n margin-top: 0;\n margin-left: ", "px;\n }\n }\n "])), spacing.small, spacing.large);
29
+ });
30
+ export var PrimaryButton = styled(Button)(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
31
+ export var SecondaryButton = styled(Button.Text)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
32
+ Title.displayName = 'Feedback.Title';
33
+ PrimaryButton.displayName = 'Feedback.PrimaryButton';
34
+ SecondaryButton.displayName = 'Feedback.SecondaryButton';
@@ -0,0 +1,6 @@
1
+ import Feedback from './Feedback';
2
+ import { Title, PrimaryButton, SecondaryButton } from './StyledFeedback';
3
+ Feedback.Title = Title;
4
+ Feedback.PrimaryButton = PrimaryButton;
5
+ Feedback.SecondaryButton = SecondaryButton;
6
+ export default Feedback;
@@ -2,11 +2,11 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
2
2
 
3
3
  import React from 'react';
4
4
  import Input from './Input';
5
-
6
- var Email = function Email(props) {
7
- return /*#__PURE__*/React.createElement(Input, _extends({}, props, {
5
+ var Email = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
+ return /*#__PURE__*/React.createElement(Input, _extends({
7
+ ref: ref
8
+ }, props, {
8
9
  type: "email"
9
10
  }));
10
- };
11
-
11
+ });
12
12
  export default Email;
@@ -21,6 +21,6 @@ var Field = styled.input(_templateObject2 || (_templateObject2 = _taggedTemplate
21
21
  colors = _ref2$theme$yoga.colors,
22
22
  baseFont = _ref2$theme$yoga.baseFont,
23
23
  input = _ref2$theme$yoga.components.input;
24
- return 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\n &::placeholder {\n color: ", ";\n }\n }\n\n &:disabled {\n cursor: not-allowed;\n color: ", ";\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, placeholder && label ? css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: transparent;\n }\n "]))) : css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: ", ";\n }\n "])), input.label.color["default"]), value && 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));
24
+ return 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 }\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, placeholder && label ? css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: transparent;\n }\n "]))) : css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n &::placeholder {\n color: ", ";\n }\n "])), input.label.color["default"]), value && 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));
25
25
  });
26
26
  export default Field;
@@ -2,6 +2,8 @@ var _excluded = ["children"];
2
2
 
3
3
  var _templateObject, _templateObject2;
4
4
 
5
+ function _extends() { _extends = Object.assign || 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); }
6
+
5
7
  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; }
6
8
 
7
9
  function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
@@ -17,14 +19,14 @@ var HiddenSpan = styled.span(_templateObject2 || (_templateObject2 = _taggedTemp
17
19
  var input = _ref2.theme.yoga.components.input;
18
20
  return "\n padding-left: " + input.label.padding.left + "px;\n padding-right: " + input.label.padding.right + "px;\n ";
19
21
  });
20
-
21
- var Legend = function Legend(_ref3) {
22
+ var Legend = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
22
23
  var children = _ref3.children,
23
24
  props = _objectWithoutPropertiesLoose(_ref3, _excluded);
24
25
 
25
- return /*#__PURE__*/React.createElement(StyledLegend, props, /*#__PURE__*/React.createElement(HiddenSpan, null, children));
26
- };
27
-
26
+ return /*#__PURE__*/React.createElement(StyledLegend, _extends({
27
+ ref: ref
28
+ }, props), /*#__PURE__*/React.createElement(HiddenSpan, null, children));
29
+ });
28
30
  Legend.propTypes = {
29
31
  children: node.isRequired
30
32
  };
@@ -2,11 +2,11 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
2
2
 
3
3
  import React from 'react';
4
4
  import Input from './Input';
5
-
6
- var InputNumber = function InputNumber(props) {
7
- return /*#__PURE__*/React.createElement(Input, _extends({}, props, {
8
- type: "number"
5
+ var InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
+ return /*#__PURE__*/React.createElement(Input, _extends({
7
+ ref: ref
8
+ }, props, {
9
+ keyboardType: "numeric"
9
10
  }));
10
- };
11
-
11
+ });
12
12
  export default InputNumber;
@@ -2,11 +2,11 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
2
2
 
3
3
  import React from 'react';
4
4
  import Input from './Input';
5
-
6
- var Tel = function Tel(props) {
7
- return /*#__PURE__*/React.createElement(Input, _extends({}, props, {
5
+ var Tel = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
+ return /*#__PURE__*/React.createElement(Input, _extends({
7
+ ref: ref
8
+ }, props, {
8
9
  type: "tel"
9
10
  }));
10
- };
11
-
11
+ });
12
12
  export default Tel;
@@ -21,17 +21,17 @@ var StyledList = styled.ul(_templateObject || (_templateObject = _taggedTemplate
21
21
  containing primary and supplemental actions, which are represented by icons and
22
22
  text. */
23
23
 
24
- var List = function List(_ref2) {
24
+ var List = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
25
25
  var horizontal = _ref2.horizontal,
26
26
  divided = _ref2.divided,
27
27
  rest = _objectWithoutPropertiesLoose(_ref2, _excluded);
28
28
 
29
29
  return /*#__PURE__*/React.createElement(StyledList, _extends({
30
30
  horizontal: horizontal,
31
- divided: divided
31
+ divided: divided,
32
+ ref: ref
32
33
  }, rest));
33
- };
34
-
34
+ });
35
35
  List.propTypes = {
36
36
  horizontal: PropTypes.bool,
37
37
  divided: PropTypes.bool
@@ -44,7 +44,7 @@ Wrapper.defaultProps = {
44
44
  * of quantity. The use of labels numeric or alphabetic can increase the user
45
45
  * understanding. */
46
46
 
47
- var Progress = function Progress(_ref4) {
47
+ var Progress = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
48
48
  var label = _ref4.label,
49
49
  max = _ref4.max,
50
50
  value = _ref4.value,
@@ -54,14 +54,14 @@ var Progress = function Progress(_ref4) {
54
54
  var isNumber = !/[a-zA-Z]/g.test(label.value);
55
55
  return /*#__PURE__*/React.createElement(Wrapper, _extends({
56
56
  isNumber: isNumber,
57
- align: label.placement
57
+ align: label.placement,
58
+ ref: ref
58
59
  }, props), /*#__PURE__*/React.createElement(ProgressBar, {
59
60
  max: max,
60
61
  value: value,
61
62
  variant: variant
62
63
  }), Object.keys(label).length > 0 && (isNumber || label.value) && /*#__PURE__*/React.createElement(Label, null, label.value));
63
- };
64
-
64
+ });
65
65
  Progress.propTypes = {
66
66
  /** Use labels to increase users understanding. If the value is numeric, make
67
67
  * sure it has a maximum of 3 characters */
@@ -27,7 +27,7 @@ var ButtonWrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTe
27
27
  /** Radio group allows user to select one option from a set of options. Use
28
28
  value on group to set the selected option. */
29
29
 
30
- var RadioGroupButton = function RadioGroupButton(_ref3) {
30
+ var RadioGroupButton = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
31
31
  var children = _ref3.children,
32
32
  value = _ref3.value,
33
33
  rest = _objectWithoutPropertiesLoose(_ref3, _excluded);
@@ -49,10 +49,10 @@ var RadioGroupButton = function RadioGroupButton(_ref3) {
49
49
  value: inputValue,
50
50
  checked: checked,
51
51
  name: name,
52
- onChange: onChange
52
+ onChange: onChange,
53
+ ref: ref
53
54
  }, rest, context)), children));
54
- };
55
-
55
+ });
56
56
  RadioGroupButton.displayName = 'RadioGroup.Button';
57
57
  RadioGroupButton.propTypes = {
58
58
  children: oneOfType([string, number]).isRequired,
@@ -34,7 +34,7 @@ var Wrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplate
34
34
  /** The Radio is a type of selection control that allows the user to select a
35
35
  * single option from a list. */
36
36
 
37
- var RadioGroupRadio = function RadioGroupRadio(_ref3) {
37
+ var RadioGroupRadio = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
38
38
  var value = _ref3.value,
39
39
  disabled = _ref3.disabled,
40
40
  style = _ref3.style,
@@ -62,10 +62,10 @@ var RadioGroupRadio = function RadioGroupRadio(_ref3) {
62
62
  checked: checked,
63
63
  name: name,
64
64
  onChange: onChange,
65
- disabled: disabled
65
+ disabled: disabled,
66
+ ref: ref
66
67
  }, rest, context)));
67
- };
68
-
68
+ });
69
69
  RadioGroupRadio.displayName = 'RadioGroup.Radio';
70
70
  RadioGroupRadio.propTypes = {
71
71
  className: string,
@@ -27,15 +27,7 @@ var StyledSnackbar = styled.div(_templateObject3 || (_templateObject3 = _taggedT
27
27
  }, media.md(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n left: auto;\n bottom: ", "px;\n right: ", "px;\n\n min-width: ", "px;\n "])), theme.components.snackbar.position.desktop.bottom, theme.components.snackbar.position.desktop.right, theme.components.snackbar.minWidth.desktop));
28
28
  var fadeIn = keyframes(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n"])));
29
29
  var AnimatedSnackbar = styled(StyledSnackbar)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n animation: ", " 0.2s ease-in-out;\n"])), fadeIn);
30
- /**
31
- * Gympass `<Snackbar />` is the proper component to show alert messages.
32
- *
33
- * For web components, the `Snackbar` may have an icon, a custom action and a close button.
34
- *
35
- * For native, the `Snackbar` may have an icon and a custom action.
36
- */
37
-
38
- var Snackbar = function Snackbar(_ref2) {
30
+ var Snackbar = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
39
31
  var open = _ref2.open,
40
32
  duration = _ref2.duration,
41
33
  variant = _ref2.variant,
@@ -65,7 +57,8 @@ var Snackbar = function Snackbar(_ref2) {
65
57
  return open && /*#__PURE__*/React.createElement(AnimatedSnackbar, _extends({
66
58
  role: "alert",
67
59
  "aria-label": variant,
68
- variant: variant
60
+ variant: variant,
61
+ ref: ref
69
62
  }, props), !hideIcon && /*#__PURE__*/React.createElement(Box, {
70
63
  display: "flex",
71
64
  alignItems: "center",
@@ -92,8 +85,7 @@ var Snackbar = function Snackbar(_ref2) {
92
85
  fill: "secondary",
93
86
  size: "medium"
94
87
  }))));
95
- };
96
-
88
+ });
97
89
  Snackbar.propTypes = {
98
90
  /** Controls the snackbar visibility. */
99
91
  open: bool,
@@ -6,7 +6,7 @@ import { css } from 'styled-components';
6
6
 
7
7
  var textStyle = function textStyle(type) {
8
8
  return function () {
9
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
9
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n "])), function (_ref) {
10
10
  var light = _ref.light,
11
11
  variant = _ref.variant,
12
12
  inverted = _ref.inverted,
@@ -7,7 +7,7 @@ import defaultStyle from './sharedTextStyle';
7
7
 
8
8
  var textStyle = function textStyle(type) {
9
9
  return function () {
10
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n ", "\n"])), defaultStyle(type), function (_ref) {
10
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n ", "\n "])), defaultStyle(type), function (_ref) {
11
11
  var light = _ref.light,
12
12
  _ref$theme$yoga = _ref.theme.yoga,
13
13
  baseFont = _ref$theme$yoga.baseFont,
@@ -7,7 +7,7 @@ import defaultStyle from './sharedTextStyle';
7
7
 
8
8
  var textStyle = function textStyle(type) {
9
9
  return function () {
10
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n"])), defaultStyle(type));
10
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n "])), defaultStyle(type));
11
11
  };
12
12
  };
13
13
 
@@ -7,7 +7,7 @@ import defaultStyle from './sharedTextStyle';
7
7
 
8
8
  var textStyle = function textStyle(type) {
9
9
  return function () {
10
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n ", "\n"])), defaultStyle(type), function (_ref) {
10
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n ", "\n "])), defaultStyle(type), function (_ref) {
11
11
  var numberOfLines = _ref.numberOfLines;
12
12
  return "\n " + (numberOfLines ? "\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: " + numberOfLines + ";\n overflow: hidden;\n " : '') + "\n ";
13
13
  });
@@ -15,6 +15,7 @@ import _componentThemes_Checkbox$CheckboxSwitch from "./../../Checkbox/CheckboxS
15
15
  import _componentThemes_Dialog$Dialog from "./../../Dialog/Dialog.theme.js";
16
16
  import _componentThemes_Divider$Divider from "./../../Divider/Divider.theme.js";
17
17
  import _componentThemes_Dropdown$Dropdown from "./../../Dropdown/Dropdown.theme.js";
18
+ import _componentThemes_Feedback$Feedback from "./../../Feedback/Feedback.theme.js";
18
19
  import _componentThemes_Grid$Grid from "./../../Grid/Grid.theme.js";
19
20
  import _componentThemes_Header$Header from "./../../Header/Header.theme.js";
20
21
  import _componentThemes_Heading$Heading from "./../../Heading/Heading.theme.js";
@@ -45,6 +46,7 @@ var componentThemes = {
45
46
  Dialog$Dialog: _componentThemes_Dialog$Dialog,
46
47
  Divider$Divider: _componentThemes_Divider$Divider,
47
48
  Dropdown$Dropdown: _componentThemes_Dropdown$Dropdown,
49
+ Feedback$Feedback: _componentThemes_Feedback$Feedback,
48
50
  Grid$Grid: _componentThemes_Grid$Grid,
49
51
  Header$Header: _componentThemes_Header$Header,
50
52
  Heading$Heading: _componentThemes_Heading$Heading,
package/esm/index.js CHANGED
@@ -26,4 +26,5 @@ import Divider from './Divider';
26
26
  import Header from './Header';
27
27
  import Banner from './Banner';
28
28
  import Heading from './Heading';
29
- export { ThemeProvider, FontLoader, createTheme, yogaTheme, theme, Button, List, Checkbox, RadioGroup, Slider, Card, PlanCard, Stepper, Container, Row, Col, Hide, Text, Rating, EventCard, Tag, Input, Progress, Dropdown, TextArea, AutoComplete, Icon, Chips, Box, Snackbar, Avatar, BottomSheet, Dialog, Divider, Header, Banner, Heading };
29
+ import Feedback from './Feedback';
30
+ export { ThemeProvider, FontLoader, createTheme, yogaTheme, theme, Button, List, Checkbox, RadioGroup, Slider, Card, PlanCard, Stepper, Container, Row, Col, Hide, Text, Rating, EventCard, Tag, Input, Progress, Dropdown, TextArea, AutoComplete, Icon, Chips, Box, Snackbar, Avatar, BottomSheet, Dialog, Divider, Header, Banner, Heading, Feedback };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gympass/yoga",
3
- "version": "7.35.1",
3
+ "version": "7.37.1",
4
4
  "description": "Gympass component library",
5
5
  "main": "./cjs",
6
6
  "sideEffects": false,
@@ -26,10 +26,10 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@gympass/yoga-common": "^1.1.0",
29
- "@gympass/yoga-helpers": "^1.0.1",
29
+ "@gympass/yoga-helpers": "^1.0.2",
30
30
  "@gympass/yoga-icons": "^1.4.2",
31
- "@gympass/yoga-system": "^0.10.0",
32
- "@gympass/yoga-tokens": "^3.1.2",
31
+ "@gympass/yoga-system": "^0.10.1",
32
+ "@gympass/yoga-tokens": "^3.1.3",
33
33
  "@ptomasroos/react-native-multi-slider": "^1.0.0",
34
34
  "downshift": "^5.0.0",
35
35
  "lodash.get": "^4.4.2",
@@ -49,7 +49,7 @@
49
49
  "react": ">=16",
50
50
  "styled-components": "^4.4.0"
51
51
  },
52
- "gitHead": "376ecd1c6fa5fe38ccac039ba58c9a1b8742b696",
52
+ "gitHead": "e2f029c16e7167d1a8d4f69f2a576d81e559ef8c",
53
53
  "module": "./esm",
54
54
  "private": false,
55
55
  "react-native": "./cjs/index.native.js"