@gympass/yoga 7.26.3 → 7.28.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.
@@ -29,6 +29,12 @@ var Button = function Button(_ref) {
29
29
  Icon = _ref.icon,
30
30
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
31
31
 
32
+ var finalProps = _extends({}, props);
33
+
34
+ if (props.href) {
35
+ finalProps.as = 'a';
36
+ }
37
+
32
38
  return /*#__PURE__*/_react["default"].createElement(_StyledButton["default"], _extends({
33
39
  disabled: disabled,
34
40
  full: full,
@@ -36,7 +42,7 @@ var Button = function Button(_ref) {
36
42
  onClick: onClick,
37
43
  small: small,
38
44
  secondary: secondary
39
- }, props), Icon && /*#__PURE__*/_react["default"].createElement(Icon, null), children);
45
+ }, finalProps), Icon && /*#__PURE__*/_react["default"].createElement(Icon, null), children);
40
46
  };
41
47
 
42
48
  Button.propTypes = {
@@ -49,7 +55,8 @@ Button.propTypes = {
49
55
  secondary: _propTypes.bool,
50
56
 
51
57
  /** an Icon from yoga-icons package */
52
- icon: (0, _propTypes.oneOfType)([_propTypes.node, _propTypes.func])
58
+ icon: (0, _propTypes.oneOfType)([_propTypes.node, _propTypes.func]),
59
+ href: _propTypes.string
53
60
  };
54
61
  Button.defaultProps = {
55
62
  children: 'Button',
@@ -59,7 +66,8 @@ Button.defaultProps = {
59
66
  onClick: function onClick() {},
60
67
  small: false,
61
68
  secondary: false,
62
- icon: undefined
69
+ icon: undefined,
70
+ href: undefined
63
71
  };
64
72
  Button.displayName = 'Button';
65
73
  var _default = Button;
@@ -11,7 +11,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
12
12
  var _yogaCommon = require("@gympass/yoga-common");
13
13
 
14
- var _StyledButton = _interopRequireDefault(require("./StyledButton"));
14
+ var _Button = _interopRequireDefault(require("./Button"));
15
15
 
16
16
  var _templateObject;
17
17
 
@@ -19,7 +19,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
19
19
 
20
20
  function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
21
21
 
22
- var Link = (0, _styledComponents["default"])(_StyledButton["default"])(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
22
+ var Link = (0, _styledComponents["default"])(_Button["default"])(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
23
23
  var full = _ref.full,
24
24
  secondary = _ref.secondary,
25
25
  button = _ref.theme.yoga.components.button;
@@ -33,11 +33,13 @@ var ButtonLink = function ButtonLink(props) {
33
33
 
34
34
  ButtonLink.propTypes = {
35
35
  disabled: _propTypes.bool,
36
- secondary: _propTypes.bool
36
+ secondary: _propTypes.bool,
37
+ href: _propTypes.string
37
38
  };
38
39
  ButtonLink.defaultProps = {
39
40
  disabled: false,
40
- secondary: false
41
+ secondary: false,
42
+ href: undefined
41
43
  };
42
44
  ButtonLink.displayName = 'Button.Link';
43
45
  var _default = ButtonLink;
@@ -18,11 +18,12 @@ var StyledButton = _styledComponents["default"].button(_templateObject || (_temp
18
18
  small = _ref.small,
19
19
  inverted = _ref.inverted,
20
20
  secondary = _ref.secondary,
21
+ disabled = _ref.disabled,
21
22
  _ref$theme$yoga = _ref.theme.yoga,
22
23
  baseFont = _ref$theme$yoga.baseFont,
23
24
  button = _ref$theme$yoga.components.button;
24
25
  var state = secondary ? 'secondary' : 'primary';
25
- return "\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: " + (full ? '100%' : 'auto') + ";\n height: " + (small ? button.height.small : button.height["default"]) + "px;\n padding-left: " + (small ? button.padding.small.left : button.padding["default"].left) + "px;\n padding-right: " + (small ? button.padding.small.right : button.padding["default"].right) + "px;\n\n background-color: " + button.types.contained.backgroundColor[state]["default"] + ";\n border: none;\n border-radius: " + button.border.radius + "px;\n color: " + button.types.contained.font["default"].color + ";\n\n font-size: " + (small ? button.font.size.small : button.font.size["default"]) + "px;\n font-weight: " + button.font.weight + ";\n font-family: " + baseFont.family + ";\n letter-spacing: normal;\n line-height: 1;\n text-decoration: none;\n\n svg {\n width: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n height: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n fill: " + button.types.contained.font["default"].color + ";\n margin-right: " + button.icon.margin.right + "px;\n\n transition: fill 0.2s;\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + (0, _yogaCommon.hexToRgb)(button.types.contained.backgroundColor[state]["default"], 0.45) + ";\n }\n\n &:active {\n background-color: " + button.types.contained.backgroundColor[state].pressed + ";\n color: " + button.types.contained.font.pressed.color + ";\n\n svg {\n fill: " + button.types.contained.font.pressed.color + ";\n }\n }\n\n &:disabled {\n background-color " + button.types.contained.backgroundColor.disabled + ";\n color: " + button.types.contained.font.disabled.color + ";\n\n svg {\n fill: " + button.types.contained.font.disabled.color + ";\n }\n\n cursor: not-allowed;\n }\n\n " + (inverted ? "\n background-color: " + button.types.contained.font["default"].color + ";\n color: " + button.types.contained.backgroundColor[state]["default"] + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state]["default"] + ";\n }\n\n &:active {\n background-color: " + (0, _yogaCommon.hexToRgb)(button.types.contained.font["default"].color, 0.75) + ";\n color: " + button.types.contained.backgroundColor[state].pressed + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state].pressed + ";\n }\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + (0, _yogaCommon.hexToRgb)(button.types.contained.font["default"].color, 0.45) + ";\n }\n " : '') + "\n ";
26
+ return "\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: " + (full ? '100%' : 'auto') + ";\n height: " + (small ? button.height.small : button.height["default"]) + "px;\n padding-left: " + (small ? button.padding.small.left : button.padding["default"].left) + "px;\n padding-right: " + (small ? button.padding.small.right : button.padding["default"].right) + "px;\n\n background-color: " + button.types.contained.backgroundColor[state]["default"] + ";\n border: none;\n border-radius: " + button.border.radius + "px;\n color: " + button.types.contained.font["default"].color + ";\n\n font-size: " + (small ? button.font.size.small : button.font.size["default"]) + "px;\n font-weight: " + button.font.weight + ";\n font-family: " + baseFont.family + ";\n letter-spacing: normal;\n line-height: 1;\n text-decoration: none;\n\n svg {\n width: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n height: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n fill: " + button.types.contained.font["default"].color + ";\n margin-right: " + button.icon.margin.right + "px;\n\n transition: fill 0.2s;\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + (0, _yogaCommon.hexToRgb)(button.types.contained.backgroundColor[state]["default"], 0.45) + ";\n }\n\n &:active {\n background-color: " + button.types.contained.backgroundColor[state].pressed + ";\n color: " + button.types.contained.font.pressed.color + ";\n\n svg {\n fill: " + button.types.contained.font.pressed.color + ";\n }\n }\n\n " + (disabled ? "\n \n background-color " + button.types.contained.backgroundColor.disabled + ";\n color: " + button.types.contained.font.disabled.color + ";\n pointer-events: none;\n\n svg {\n fill: " + button.types.contained.font.disabled.color + ";\n }\n\n cursor: not-allowed;\n \n " : '') + "\n \n\n " + (inverted ? "\n background-color: " + button.types.contained.font["default"].color + ";\n color: " + button.types.contained.backgroundColor[state]["default"] + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state]["default"] + ";\n }\n\n &:active {\n background-color: " + (0, _yogaCommon.hexToRgb)(button.types.contained.font["default"].color, 0.75) + ";\n color: " + button.types.contained.backgroundColor[state].pressed + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state].pressed + ";\n }\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + (0, _yogaCommon.hexToRgb)(button.types.contained.font["default"].color, 0.45) + ";\n }\n " : '') + "\n ";
26
27
  });
27
28
 
28
29
  var _default = StyledButton;
@@ -34,15 +34,17 @@ var ProgressBar = _styledComponents["default"].progress(_templateObject || (_tem
34
34
  });
35
35
 
36
36
  var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
37
- var progress = _ref2.theme.yoga.components.progress;
38
- return "\n font-size: " + progress.label.font.size + "px;\n letter-spacing: normal;\n";
37
+ var _ref2$theme$yoga = _ref2.theme.yoga,
38
+ progress = _ref2$theme$yoga.components.progress,
39
+ text = _ref2$theme$yoga.colors.text;
40
+ return "\n color: " + text.secondary + ";\n font-size: " + progress.label.font.size + "px;\n letter-spacing: normal;\n";
39
41
  });
40
42
 
41
43
  var Wrapper = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n display: flex;\n\n width: 100%;\n\n ", "\n\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"])), function (_ref3) {
42
44
  var isNumber = _ref3.isNumber,
43
45
  align = _ref3.align,
44
46
  spacing = _ref3.theme.yoga.spacing;
45
- return "\n " + (isNumber ? "\n " + Label + " {\n width: 22px;\n\n margin-" + (align === 'right' ? 'left' : 'right') + ": " + spacing.xxsmall + "px;\n }\n\n " + ProgressBar + " {\n margin: auto;\n }\n " : "\n flex-direction: column;\n\n " + Label + " {\n max-width: 280px;\n\n margin-top: " + spacing.xxxsmall + "px;\n }\n ") + "\n\n " + (align === 'right' ? 'align-items: flex-end; text-align: right;' : 'align-items: flex-start;') + "\n " + (isNumber && align === 'left' ? 'flex-direction: row-reverse;' : '') + "\n ";
47
+ return "\n " + (isNumber ? "\n " + Label + " {\n width: 22px;\n\n margin-" + (align === 'right' ? 'left' : 'right') + ": " + spacing.xxsmall + "px;\n }\n\n " + ProgressBar + " {\n margin: auto;\n }\n " : "\n flex-direction: column;\n\n " + Label + " {\n max-width: 280px;\n\n margin-top: " + spacing.xxsmall + "px;\n }\n ") + "\n\n " + (align === 'right' ? 'align-items: flex-end; text-align: right;' : 'align-items: flex-start;') + "\n " + (isNumber && align === 'left' ? 'flex-direction: row-reverse;' : '') + "\n ";
46
48
  }, _yogaSystem.backgroundColor, _yogaSystem.borders, _yogaSystem.elevation, _yogaSystem.positions, _yogaSystem.display, _yogaSystem.spacing);
47
49
 
48
50
  Wrapper.propTypes = {
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _propTypes=require("prop-types");var _react=_interopRequireDefault(require("react"));var _styledComponents=_interopRequireDefault(require("styled-components"));var _Box=_interopRequireDefault(require("../../Box"));var _Text=_interopRequireDefault(require("../../Text"));var _Rate=_interopRequireDefault(require("./Rate"));var _TinyTextIcon=_interopRequireDefault(require("./TinyTextIcon"));var _templateObject,_templateObject2;var List=(0,_styledComponents["default"])(_Text["default"].Tiny).attrs({numberOfLines:1,variant:'deep'})(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2["default"])(["\n flex: 1;\n"])));var ItemSeparator=(0,_styledComponents["default"])(_Box["default"]).attrs({width:'xxxsmall',height:'zero'})(_templateObject2||(_templateObject2=(0,_taggedTemplateLiteralLoose2["default"])([""])));var Attendances=function Attendances(_ref){var attendances=_ref.attendances,rate=_ref.rate;return _react["default"].createElement(_Box["default"],{display:"flex",width:"100%",alignItems:"center",justifyContent:"center",flexDirection:"row"},_react["default"].createElement(List,null,attendances.map(function(_ref2){var description=_ref2.description,icon=_ref2.icon;return _react["default"].createElement(_react["default"].Fragment,{key:description},_react["default"].createElement(_TinyTextIcon["default"],{as:icon,fill:"deep"}),_react["default"].createElement(ItemSeparator,null),description,_react["default"].createElement(ItemSeparator,null));})),rate&&_react["default"].createElement(_Rate["default"],{rate:rate}));};Attendances.propTypes={attendances:(0,_propTypes.arrayOf)((0,_propTypes.shape)({description:_propTypes.string,icon:_propTypes.func})).isRequired,rate:_propTypes.string};Attendances.defaultProps={rate:undefined};var _default=Attendances;exports["default"]=_default;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _propTypes=require("prop-types");var _react=_interopRequireDefault(require("react"));var _styledComponents=_interopRequireDefault(require("styled-components"));var _Box=_interopRequireDefault(require("../../Box"));var _Text=_interopRequireDefault(require("../../Text"));var _Rate=_interopRequireDefault(require("./Rate"));var _TinyTextIcon=_interopRequireDefault(require("./TinyTextIcon"));var _templateObject,_templateObject2;var List=(0,_styledComponents["default"])(_Text["default"].Tiny).attrs({numberOfLines:1,variant:'deep'})(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2["default"])(["\n flex: 1;\n"])));var ItemSeparator=(0,_styledComponents["default"])(_Box["default"]).attrs({width:'xxxsmall',height:'zero'})(_templateObject2||(_templateObject2=(0,_taggedTemplateLiteralLoose2["default"])([""])));var Attendances=function Attendances(_ref){var attendances=_ref.attendances,rate=_ref.rate;return _react["default"].createElement(_Box["default"],{display:"flex",width:"100%",alignItems:"center",justifyContent:"center",flexDirection:"row",mb:"xxxsmall"},_react["default"].createElement(List,null,attendances.map(function(_ref2){var description=_ref2.description,icon=_ref2.icon;return _react["default"].createElement(_react["default"].Fragment,{key:description},_react["default"].createElement(_TinyTextIcon["default"],{as:icon,fill:"deep"}),_react["default"].createElement(ItemSeparator,null),description,_react["default"].createElement(ItemSeparator,null));})),rate&&_react["default"].createElement(_Rate["default"],{rate:rate}));};Attendances.propTypes={attendances:(0,_propTypes.arrayOf)((0,_propTypes.shape)({description:_propTypes.string,icon:_propTypes.func})).isRequired,rate:_propTypes.string};Attendances.defaultProps={rate:undefined};var _default=Attendances;exports["default"]=_default;
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _styledComponents=_interopRequireDefault(require("styled-components"));var _propTypes=require("prop-types");var _Text=_interopRequireDefault(require("../../Text"));var _Attendances=_interopRequireDefault(require("./Attendances"));var _Box=_interopRequireDefault(require("../../Box"));var _templateObject,_templateObject2,_templateObject3;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);}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;}var StyledBox=(0,_styledComponents["default"])(_Box["default"])(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2["default"])(["\n width: 100%;\n ","\n"])),function(_ref){var divided=_ref.divided,light=_ref.theme.yoga.colors.light;return divided?"\n border-bottom-width: 1px;\n border-bottom-color: "+light+";\n ":'';});var Content=_styledComponents["default"].View(_templateObject2||(_templateObject2=(0,_taggedTemplateLiteralLoose2["default"])(["\n flex: 1;\n ","\n"])),function(_ref2){var _ref2$theme$yoga$spac=_ref2.theme.yoga.spacing,small=_ref2$theme$yoga$spac.small,large=_ref2$theme$yoga$spac.large;return"\n margin-left: "+small+"px;\n margin-bottom: "+large+"px;\n ";});var Title=(0,_styledComponents["default"])(_Text["default"].Medium)(_templateObject3||(_templateObject3=(0,_taggedTemplateLiteralLoose2["default"])(["\n ","\n"])),function(_ref3){var _ref3$theme$yoga=_ref3.theme.yoga,xxxsmall=_ref3$theme$yoga.spacing.xxxsmall,medium=_ref3$theme$yoga.lineHeights.medium;return"\n line-height: "+medium+"px;\n margin-top: "+xxxsmall+"px;\n ";});var Result=function Result(_ref4){var Avatar=_ref4.avatar,attendances=_ref4.attendances,rate=_ref4.rate,title=_ref4.title,subTitle=_ref4.subTitle,divided=_ref4.divided,children=_ref4.children;return _react["default"].createElement(StyledBox,{divided:divided,display:"flex",flexDirection:"row"},Avatar&&_react["default"].createElement(_react["default"].Fragment,null,(0,_react.isValidElement)(Avatar)?Avatar:_react["default"].createElement(Avatar,null)),_react["default"].createElement(Content,null,_react["default"].createElement(_Attendances["default"],{attendances:attendances,rate:rate}),_react["default"].createElement(Title,{numberOfLines:1},title),subTitle&&subTitle!==''&&_react["default"].createElement(_Text["default"].Small,{numberOfLines:1,variant:"stamina"},subTitle),children));};Result.propTypes={avatar:_propTypes.node.isRequired,attendances:(0,_propTypes.arrayOf)((0,_propTypes.shape)({description:_propTypes.string,icon:_propTypes.func})).isRequired,rate:_propTypes.string,title:_propTypes.string.isRequired,subTitle:_propTypes.string,divided:_propTypes.bool,children:_propTypes.node};Result.defaultProps={rate:undefined,divided:false,subTitle:undefined,children:undefined};var _default=Result;exports["default"]=_default;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _styledComponents=_interopRequireDefault(require("styled-components"));var _propTypes=require("prop-types");var _Text=_interopRequireDefault(require("../../Text"));var _Attendances=_interopRequireDefault(require("./Attendances"));var _Box=_interopRequireDefault(require("../../Box"));var _templateObject,_templateObject2,_templateObject3;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);}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;}var StyledBox=(0,_styledComponents["default"])(_Box["default"])(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2["default"])(["\n width: 100%;\n ","\n"])),function(_ref){var divided=_ref.divided,light=_ref.theme.yoga.colors.light;return divided?"\n border-bottom-width: 1px;\n border-bottom-color: "+light+";\n ":'';});var Content=_styledComponents["default"].View(_templateObject2||(_templateObject2=(0,_taggedTemplateLiteralLoose2["default"])(["\n flex: 1;\n ","\n"])),function(_ref2){var _ref2$theme$yoga$spac=_ref2.theme.yoga.spacing,small=_ref2$theme$yoga$spac.small,large=_ref2$theme$yoga$spac.large;return"\n margin-left: "+small+"px;\n margin-bottom: "+large+"px;\n ";});var Title=(0,_styledComponents["default"])(_Text["default"].Medium)(_templateObject3||(_templateObject3=(0,_taggedTemplateLiteralLoose2["default"])(["\n ","\n"])),function(_ref3){var medium=_ref3.theme.yoga.lineHeights.medium;return"\n line-height: "+medium+"px;\n ";});var Result=function Result(_ref4){var Avatar=_ref4.avatar,attendances=_ref4.attendances,rate=_ref4.rate,title=_ref4.title,subTitle=_ref4.subTitle,divided=_ref4.divided,children=_ref4.children;return _react["default"].createElement(StyledBox,{divided:divided,display:"flex",flexDirection:"row"},Avatar&&_react["default"].createElement(_react["default"].Fragment,null,(0,_react.isValidElement)(Avatar)?Avatar:_react["default"].createElement(Avatar,null)),_react["default"].createElement(Content,null,!!(attendances!=null&&attendances.length)&&_react["default"].createElement(_Attendances["default"],{attendances:attendances,rate:rate}),_react["default"].createElement(Title,{numberOfLines:1},title),subTitle&&subTitle!==''&&_react["default"].createElement(_Text["default"].Small,{numberOfLines:1,variant:"stamina"},subTitle),children));};Result.propTypes={avatar:_propTypes.node.isRequired,attendances:(0,_propTypes.arrayOf)((0,_propTypes.shape)({description:_propTypes.string,icon:_propTypes.func})),rate:_propTypes.string,title:_propTypes.string.isRequired,subTitle:_propTypes.string,divided:_propTypes.bool,children:_propTypes.node};Result.defaultProps={rate:undefined,divided:false,subTitle:undefined,children:undefined,attendances:undefined};var _default=Result;exports["default"]=_default;
@@ -5,7 +5,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
5
5
  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
6
 
7
7
  import React from 'react';
8
- import { func, node, oneOfType, bool } from 'prop-types';
8
+ import { func, node, oneOfType, bool, string } from 'prop-types';
9
9
  import StyledButton from './StyledButton';
10
10
  /** Buttons make common actions more obvious and help users more easily perform them. Buttons use labels and sometimes icons to communicate the action that will occur when the user touches them. */
11
11
 
@@ -20,6 +20,12 @@ var Button = function Button(_ref) {
20
20
  Icon = _ref.icon,
21
21
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
22
22
 
23
+ var finalProps = _extends({}, props);
24
+
25
+ if (props.href) {
26
+ finalProps.as = 'a';
27
+ }
28
+
23
29
  return /*#__PURE__*/React.createElement(StyledButton, _extends({
24
30
  disabled: disabled,
25
31
  full: full,
@@ -27,7 +33,7 @@ var Button = function Button(_ref) {
27
33
  onClick: onClick,
28
34
  small: small,
29
35
  secondary: secondary
30
- }, props), Icon && /*#__PURE__*/React.createElement(Icon, null), children);
36
+ }, finalProps), Icon && /*#__PURE__*/React.createElement(Icon, null), children);
31
37
  };
32
38
 
33
39
  Button.propTypes = {
@@ -40,7 +46,8 @@ Button.propTypes = {
40
46
  secondary: bool,
41
47
 
42
48
  /** an Icon from yoga-icons package */
43
- icon: oneOfType([node, func])
49
+ icon: oneOfType([node, func]),
50
+ href: string
44
51
  };
45
52
  Button.defaultProps = {
46
53
  children: 'Button',
@@ -50,7 +57,8 @@ Button.defaultProps = {
50
57
  onClick: function onClick() {},
51
58
  small: false,
52
59
  secondary: false,
53
- icon: undefined
60
+ icon: undefined,
61
+ href: undefined
54
62
  };
55
63
  Button.displayName = 'Button';
56
64
  export default Button;
@@ -3,11 +3,11 @@ var _templateObject;
3
3
  function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
4
4
 
5
5
  import React from 'react';
6
- import { bool } from 'prop-types';
6
+ import { bool, string } from 'prop-types';
7
7
  import styled from 'styled-components';
8
8
  import { hexToRgb } from '@gympass/yoga-common';
9
- import StyledButton from './StyledButton';
10
- var Link = styled(StyledButton)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
9
+ import Button from './Button';
10
+ var Link = styled(Button)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
11
11
  var full = _ref.full,
12
12
  secondary = _ref.secondary,
13
13
  button = _ref.theme.yoga.components.button;
@@ -21,11 +21,13 @@ var ButtonLink = function ButtonLink(props) {
21
21
 
22
22
  ButtonLink.propTypes = {
23
23
  disabled: bool,
24
- secondary: bool
24
+ secondary: bool,
25
+ href: string
25
26
  };
26
27
  ButtonLink.defaultProps = {
27
28
  disabled: false,
28
- secondary: false
29
+ secondary: false,
30
+ href: undefined
29
31
  };
30
32
  ButtonLink.displayName = 'Button.Link';
31
33
  export default ButtonLink;
@@ -9,10 +9,11 @@ var StyledButton = styled.button(_templateObject || (_templateObject = _taggedTe
9
9
  small = _ref.small,
10
10
  inverted = _ref.inverted,
11
11
  secondary = _ref.secondary,
12
+ disabled = _ref.disabled,
12
13
  _ref$theme$yoga = _ref.theme.yoga,
13
14
  baseFont = _ref$theme$yoga.baseFont,
14
15
  button = _ref$theme$yoga.components.button;
15
16
  var state = secondary ? 'secondary' : 'primary';
16
- return "\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: " + (full ? '100%' : 'auto') + ";\n height: " + (small ? button.height.small : button.height["default"]) + "px;\n padding-left: " + (small ? button.padding.small.left : button.padding["default"].left) + "px;\n padding-right: " + (small ? button.padding.small.right : button.padding["default"].right) + "px;\n\n background-color: " + button.types.contained.backgroundColor[state]["default"] + ";\n border: none;\n border-radius: " + button.border.radius + "px;\n color: " + button.types.contained.font["default"].color + ";\n\n font-size: " + (small ? button.font.size.small : button.font.size["default"]) + "px;\n font-weight: " + button.font.weight + ";\n font-family: " + baseFont.family + ";\n letter-spacing: normal;\n line-height: 1;\n text-decoration: none;\n\n svg {\n width: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n height: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n fill: " + button.types.contained.font["default"].color + ";\n margin-right: " + button.icon.margin.right + "px;\n\n transition: fill 0.2s;\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + hexToRgb(button.types.contained.backgroundColor[state]["default"], 0.45) + ";\n }\n\n &:active {\n background-color: " + button.types.contained.backgroundColor[state].pressed + ";\n color: " + button.types.contained.font.pressed.color + ";\n\n svg {\n fill: " + button.types.contained.font.pressed.color + ";\n }\n }\n\n &:disabled {\n background-color " + button.types.contained.backgroundColor.disabled + ";\n color: " + button.types.contained.font.disabled.color + ";\n\n svg {\n fill: " + button.types.contained.font.disabled.color + ";\n }\n\n cursor: not-allowed;\n }\n\n " + (inverted ? "\n background-color: " + button.types.contained.font["default"].color + ";\n color: " + button.types.contained.backgroundColor[state]["default"] + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state]["default"] + ";\n }\n\n &:active {\n background-color: " + hexToRgb(button.types.contained.font["default"].color, 0.75) + ";\n color: " + button.types.contained.backgroundColor[state].pressed + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state].pressed + ";\n }\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + hexToRgb(button.types.contained.font["default"].color, 0.45) + ";\n }\n " : '') + "\n ";
17
+ return "\n display: flex;\n align-items: center;\n justify-content: center;\n\n width: " + (full ? '100%' : 'auto') + ";\n height: " + (small ? button.height.small : button.height["default"]) + "px;\n padding-left: " + (small ? button.padding.small.left : button.padding["default"].left) + "px;\n padding-right: " + (small ? button.padding.small.right : button.padding["default"].right) + "px;\n\n background-color: " + button.types.contained.backgroundColor[state]["default"] + ";\n border: none;\n border-radius: " + button.border.radius + "px;\n color: " + button.types.contained.font["default"].color + ";\n\n font-size: " + (small ? button.font.size.small : button.font.size["default"]) + "px;\n font-weight: " + button.font.weight + ";\n font-family: " + baseFont.family + ";\n letter-spacing: normal;\n line-height: 1;\n text-decoration: none;\n\n svg {\n width: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n height: " + (small ? button.icon.size.small : button.icon.size["default"]) + "px;\n fill: " + button.types.contained.font["default"].color + ";\n margin-right: " + button.icon.margin.right + "px;\n\n transition: fill 0.2s;\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + hexToRgb(button.types.contained.backgroundColor[state]["default"], 0.45) + ";\n }\n\n &:active {\n background-color: " + button.types.contained.backgroundColor[state].pressed + ";\n color: " + button.types.contained.font.pressed.color + ";\n\n svg {\n fill: " + button.types.contained.font.pressed.color + ";\n }\n }\n\n " + (disabled ? "\n \n background-color " + button.types.contained.backgroundColor.disabled + ";\n color: " + button.types.contained.font.disabled.color + ";\n pointer-events: none;\n\n svg {\n fill: " + button.types.contained.font.disabled.color + ";\n }\n\n cursor: not-allowed;\n \n " : '') + "\n \n\n " + (inverted ? "\n background-color: " + button.types.contained.font["default"].color + ";\n color: " + button.types.contained.backgroundColor[state]["default"] + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state]["default"] + ";\n }\n\n &:active {\n background-color: " + hexToRgb(button.types.contained.font["default"].color, 0.75) + ";\n color: " + button.types.contained.backgroundColor[state].pressed + ";\n\n svg {\n fill: " + button.types.contained.backgroundColor[state].pressed + ";\n }\n }\n\n &:not([disabled]):hover, &:not([disabled]):focus {\n box-shadow: 0 4px 8px " + hexToRgb(button.types.contained.font["default"].color, 0.45) + ";\n }\n " : '') + "\n ";
17
18
  });
18
19
  export default StyledButton;
@@ -21,14 +21,16 @@ var ProgressBar = styled.progress(_templateObject || (_templateObject = _taggedT
21
21
  return "\n height: " + progress.height + "px;\n\n &&,\n &::-webkit-progress-value,\n &[value]::-webkit-progress-bar,\n &:not(value)::-webkit-progress-bar {\n border-radius: " + progress.border.radius + "px;\n }\n\n &:not(value)::-moz-progress-bar,\n &[value]::-moz-progress-bar {\n border-radius: " + progress.border.radius + "px;\n }\n\n &:not(value)::-webkit-progress-bar {\n background-color: " + progress.backgroundColor.bar + ";\n }\n\n &::-webkit-progress-value {\n background-color: " + color + ";\n }\n\n &&,\n &:not(value)::-moz-progress-bar {\n background-color: " + progress.backgroundColor.bar + ";\n }\n\n &[value]::-moz-progress-bar {\n background-color: " + color + ";\n }\n";
22
22
  });
23
23
  var Label = styled.label(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
24
- var progress = _ref2.theme.yoga.components.progress;
25
- return "\n font-size: " + progress.label.font.size + "px;\n letter-spacing: normal;\n";
24
+ var _ref2$theme$yoga = _ref2.theme.yoga,
25
+ progress = _ref2$theme$yoga.components.progress,
26
+ text = _ref2$theme$yoga.colors.text;
27
+ return "\n color: " + text.secondary + ";\n font-size: " + progress.label.font.size + "px;\n letter-spacing: normal;\n";
26
28
  });
27
29
  var Wrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n display: flex;\n\n width: 100%;\n\n ", "\n\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"])), function (_ref3) {
28
30
  var isNumber = _ref3.isNumber,
29
31
  align = _ref3.align,
30
32
  spacing = _ref3.theme.yoga.spacing;
31
- return "\n " + (isNumber ? "\n " + Label + " {\n width: 22px;\n\n margin-" + (align === 'right' ? 'left' : 'right') + ": " + spacing.xxsmall + "px;\n }\n\n " + ProgressBar + " {\n margin: auto;\n }\n " : "\n flex-direction: column;\n\n " + Label + " {\n max-width: 280px;\n\n margin-top: " + spacing.xxxsmall + "px;\n }\n ") + "\n\n " + (align === 'right' ? 'align-items: flex-end; text-align: right;' : 'align-items: flex-start;') + "\n " + (isNumber && align === 'left' ? 'flex-direction: row-reverse;' : '') + "\n ";
33
+ return "\n " + (isNumber ? "\n " + Label + " {\n width: 22px;\n\n margin-" + (align === 'right' ? 'left' : 'right') + ": " + spacing.xxsmall + "px;\n }\n\n " + ProgressBar + " {\n margin: auto;\n }\n " : "\n flex-direction: column;\n\n " + Label + " {\n max-width: 280px;\n\n margin-top: " + spacing.xxsmall + "px;\n }\n ") + "\n\n " + (align === 'right' ? 'align-items: flex-end; text-align: right;' : 'align-items: flex-start;') + "\n " + (isNumber && align === 'left' ? 'flex-direction: row-reverse;' : '') + "\n ";
32
34
  }, backgroundColor, borders, elevation, positions, display, systemSpacing);
33
35
  Wrapper.propTypes = {
34
36
  align: oneOf(['left', 'right']),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gympass/yoga",
3
- "version": "7.26.3",
3
+ "version": "7.28.0",
4
4
  "description": "Gympass component library",
5
5
  "main": "./cjs",
6
6
  "sideEffects": false,
@@ -49,7 +49,7 @@
49
49
  "react": ">=16",
50
50
  "styled-components": "^4.4.0"
51
51
  },
52
- "gitHead": "0b46cb71ea8edc0ba69fd2398198fd093bb5a2e9",
52
+ "gitHead": "e12aed14e42d918a0ae19e1ebe3de476214715de",
53
53
  "module": "./esm",
54
54
  "private": false,
55
55
  "react-native": "./cjs/index.native.js"