@gympass/yoga 7.51.0 → 7.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/cjs/ActionRequirement/ActionRequirement.theme.js +11 -0
  2. package/cjs/ActionRequirement/index.js +11 -0
  3. package/cjs/ActionRequirement/index.native.js +1 -0
  4. package/cjs/ActionRequirement/native/ActionRequirement.js +1 -0
  5. package/cjs/ActionRequirement/native/ActionRequirement.test.js +1 -0
  6. package/cjs/ActionRequirement/native/ActionRequirementStyles.js +1 -0
  7. package/cjs/ActionRequirement/native/index.js +1 -0
  8. package/cjs/ActionRequirement/web/ActionRequirement.js +78 -0
  9. package/cjs/ActionRequirement/web/ActionRequirement.test.js +20 -0
  10. package/cjs/ActionRequirement/web/ActionRequirementStyles.js +46 -0
  11. package/cjs/ActionRequirement/web/index.js +16 -0
  12. package/cjs/Datepicker/web/Datepicker.js +20 -20
  13. package/cjs/Datepicker/web/Datepicker.test.js +9 -6
  14. package/cjs/Theme/theme/theme.js +3 -0
  15. package/cjs/index.js +4 -0
  16. package/cjs/index.native.js +1 -1
  17. package/esm/ActionRequirement/ActionRequirement.theme.js +5 -0
  18. package/esm/ActionRequirement/index.js +2 -0
  19. package/esm/ActionRequirement/index.native.js +2 -0
  20. package/esm/ActionRequirement/native/ActionRequirement.js +48 -0
  21. package/esm/ActionRequirement/native/ActionRequirement.test.js +45 -0
  22. package/esm/ActionRequirement/native/ActionRequirementStyles.js +25 -0
  23. package/esm/ActionRequirement/native/index.js +6 -0
  24. package/esm/ActionRequirement/web/ActionRequirement.js +64 -0
  25. package/esm/ActionRequirement/web/ActionRequirement.test.js +12 -0
  26. package/esm/ActionRequirement/web/ActionRequirementStyles.js +27 -0
  27. package/esm/ActionRequirement/web/index.js +6 -0
  28. package/esm/Datepicker/web/Datepicker.js +20 -20
  29. package/esm/Datepicker/web/Datepicker.test.js +9 -6
  30. package/esm/Theme/theme/theme.js +2 -0
  31. package/esm/index.js +2 -1
  32. package/esm/index.native.js +2 -1
  33. package/package.json +3 -3
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var ActionRequirement = function ActionRequirement() {
7
+ return {};
8
+ };
9
+
10
+ var _default = ActionRequirement;
11
+ exports["default"] = _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _web = _interopRequireDefault(require("./web"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+
10
+ var _default = _web["default"];
11
+ exports["default"] = _default;
@@ -0,0 +1 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _native=_interopRequireDefault(require("./native"));var _default=_native["default"];exports["default"]=_default;
@@ -0,0 +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=_interopRequireDefault(require("react"));var _propTypes=require("prop-types");var _native=_interopRequireDefault(require("styled-components/native"));var _reactNative=require("react-native");var _Box=_interopRequireDefault(require("../../Box"));var _ActionRequirementStyles=require("./ActionRequirementStyles");var _Text=_interopRequireDefault(require("../../Text"));var _templateObject;var StyledActionRequirement=_native["default"].View(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2["default"])([""])));function ActionRequirement(props){var title=props.title,description=props.description,children=props.children,checkable=props.checkable,illustration=props.illustration,list=props.list;return _react["default"].createElement(StyledActionRequirement,props,illustration&&_react["default"].createElement(_Box["default"],null,illustration),_react["default"].createElement(_ActionRequirementStyles.Title,null,title),_react["default"].createElement(_Text["default"],{mt:"small",color:"deep"},description),_react["default"].createElement(_Text["default"],{mt:"small",color:"deep"},list&&_react["default"].createElement(_Box["default"],{mt:"xxxlarge"},list)),checkable&&_react["default"].createElement(_Box["default"],{mt:"xxxlarge"},checkable),_react["default"].createElement(_reactNative.View,null,children));}ActionRequirement.propTypes={title:_propTypes.string.isRequired,children:(0,_propTypes.oneOfType)([(0,_propTypes.arrayOf)(_propTypes.node),_propTypes.node]),description:_propTypes.string.isRequired,checkable:(0,_propTypes.oneOfType)([(0,_propTypes.arrayOf)(_propTypes.node),_propTypes.node]),illustration:(0,_propTypes.oneOfType)([(0,_propTypes.arrayOf)(_propTypes.node),_propTypes.node]),list:(0,_propTypes.oneOfType)([(0,_propTypes.arrayOf)(_propTypes.node),_propTypes.node])};ActionRequirement.defaultProps={children:undefined,checkable:undefined,illustration:undefined,list:undefined};var _default=ActionRequirement;exports["default"]=_default;
@@ -0,0 +1 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _react=_interopRequireDefault(require("react"));var _reactNative=require("@testing-library/react-native");var _yoga=require("@gympass/yoga");var _yogaIllustrations=require("@gympass/yoga-illustrations");var _yogaIcons=require("@gympass/yoga-icons");var _=require("../..");var _ActionRequirement=_interopRequireDefault(require("./ActionRequirement"));function handleGetCheckableContent(){return _react["default"].createElement(_yoga.Box,{display:"flex",flexDirection:"row",alignItems:"center"},_react["default"].createElement(_yoga.Checkbox,null),_react["default"].createElement(_yoga.Text,null,"I have read and agree to the Terms of Use and Privacy Policy."));}function handleGetIllustration(){return _react["default"].createElement(_yogaIllustrations.Img2d01,{width:375,height:375});}function handleGetList(){return _react["default"].createElement(_react["default"].Fragment,null,_react["default"].createElement(_yoga.Text,null,_react["default"].createElement(_yogaIcons.Dumbbell,null)," 1x/day standard access"),_react["default"].createElement(_yoga.Text,{mt:"small"},_react["default"].createElement(_yogaIcons.User,null)," 4x/month 1-on-1 sessions"),_react["default"].createElement(_yoga.Text,{mt:"small"},_react["default"].createElement(_yogaIcons.Star,null)," 2x/month premium classes"));}describe('<ActionRequirement />',function(){it('should match snapshot',function(){var _render=(0,_reactNative.render)(_react["default"].createElement(_.ThemeProvider,null,_react["default"].createElement(_ActionRequirement["default"],{title:"Welcome to the world of feeling good!",description:"Lets make it a good day!",illustration:handleGetIllustration(),checkable:handleGetCheckableContent(),list:handleGetList()}))),toJSON=_render.toJSON;expect(toJSON()).toMatchSnapshot();});});
@@ -0,0 +1 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Title=exports.SecondaryButton=exports.PrimaryButton=exports.Actions=void 0;var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _styledComponents=_interopRequireWildcard(require("styled-components"));var _index=_interopRequireDefault(require("../../Text/index.native"));var _index2=_interopRequireDefault(require("../../Box/index.native"));var _index3=_interopRequireDefault(require("../../Button/index.native"));var _templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,_templateObject8;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 Title=(0,_styledComponents["default"])(_index["default"].H4)(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2["default"])(["\n ","\n"])),function(_ref){var fontSizes=_ref.theme.yoga.fontSizes;return(0,_styledComponents.css)(_templateObject2||(_templateObject2=(0,_taggedTemplateLiteralLoose2["default"])(["\n @media (min-width: 769px) {\n max-width: 700px;\n font-size: ","px;\n line-height: ","px;\n }\n "])),fontSizes.huge,fontSizes.huge);});exports.Title=Title;var Actions=(0,_styledComponents["default"])(_index2["default"])(_templateObject3||(_templateObject3=(0,_taggedTemplateLiteralLoose2["default"])(["\n ","\n"])),function(_ref2){var spacing=_ref2.theme.yoga.spacing;return(0,_styledComponents.css)(_templateObject4||(_templateObject4=(0,_taggedTemplateLiteralLoose2["default"])(["\n display: flex;\n flex-direction: column;\n\n @media (min-width: 769px) {\n flex-direction: row;\n margin-top: ","px;\n }\n "])),spacing.xlarge);});exports.Actions=Actions;var buttonsStyles=(0,_styledComponents.css)(_templateObject5||(_templateObject5=(0,_taggedTemplateLiteralLoose2["default"])(["\n ","\n"])),function(_ref3){var spacing=_ref3.theme.yoga.spacing;return(0,_styledComponents.css)(_templateObject6||(_templateObject6=(0,_taggedTemplateLiteralLoose2["default"])(["\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);});var PrimaryButton=(0,_styledComponents["default"])(_index3["default"])(_templateObject7||(_templateObject7=(0,_taggedTemplateLiteralLoose2["default"])(["\n ","\n"])),buttonsStyles);exports.PrimaryButton=PrimaryButton;var SecondaryButton=(0,_styledComponents["default"])(_index3["default"].Text)(_templateObject8||(_templateObject8=(0,_taggedTemplateLiteralLoose2["default"])(["\n ","\n"])),buttonsStyles);exports.SecondaryButton=SecondaryButton;Title.displayName='ActionRequirement.Title';PrimaryButton.displayName='ActionRequirement.PrimaryButton';SecondaryButton.displayName='ActionRequirement.SecondaryButton';
@@ -0,0 +1 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _ActionRequirement=_interopRequireDefault(require("./ActionRequirement"));var _ActionRequirementStyles=require("./ActionRequirementStyles");_ActionRequirement["default"].Title=_ActionRequirementStyles.Title;_ActionRequirement["default"].PrimaryButton=_ActionRequirementStyles.PrimaryButton;_ActionRequirement["default"].SecondaryButton=_ActionRequirementStyles.SecondaryButton;var _default=_ActionRequirement["default"];exports["default"]=_default;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _propTypes = require("prop-types");
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _ActionRequirementStyles = require("./ActionRequirementStyles");
13
+
14
+ var _Text = _interopRequireDefault(require("../../Text"));
15
+
16
+ var _Box = _interopRequireDefault(require("../../Box"));
17
+
18
+ var _templateObject;
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
23
+
24
+ var StyledActionRequirement = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""])));
25
+
26
+ function isChildFromComponent(child, component) {
27
+ return child.type.displayName === component.displayName;
28
+ }
29
+
30
+ function ActionRequirement(props) {
31
+ var title = props.title,
32
+ description = props.description,
33
+ children = props.children,
34
+ checkable = props.checkable,
35
+ illustration = props.illustration,
36
+ list = props.list;
37
+ var primaryButton;
38
+ var secondaryButton;
39
+
40
+ function defineCompoundComponents() {
41
+ _react["default"].Children.forEach(children, function (child) {
42
+ if (isChildFromComponent(child, _ActionRequirementStyles.PrimaryButton)) primaryButton = child;
43
+ if (isChildFromComponent(child, _ActionRequirementStyles.SecondaryButton)) secondaryButton = child;
44
+ });
45
+ }
46
+
47
+ defineCompoundComponents();
48
+ return /*#__PURE__*/_react["default"].createElement(StyledActionRequirement, props, illustration && /*#__PURE__*/_react["default"].createElement(_Box["default"], null, illustration), /*#__PURE__*/_react["default"].createElement(_ActionRequirementStyles.Title, null, title), /*#__PURE__*/_react["default"].createElement(_Text["default"], {
49
+ mt: "small",
50
+ color: "deep"
51
+ }, description), /*#__PURE__*/_react["default"].createElement(_Text["default"], {
52
+ mt: "small",
53
+ color: "deep"
54
+ }, list && /*#__PURE__*/_react["default"].createElement(_Box["default"], {
55
+ mt: "xxxlarge"
56
+ }, list)), checkable && /*#__PURE__*/_react["default"].createElement(_Box["default"], {
57
+ mt: "xxxlarge"
58
+ }, checkable), /*#__PURE__*/_react["default"].createElement(_ActionRequirementStyles.Actions, {
59
+ mt: "xlarge"
60
+ }, primaryButton, secondaryButton));
61
+ }
62
+
63
+ ActionRequirement.propTypes = {
64
+ title: _propTypes.string.isRequired,
65
+ children: (0, _propTypes.oneOfType)([(0, _propTypes.arrayOf)(_propTypes.node), _propTypes.node]),
66
+ description: _propTypes.string.isRequired,
67
+ checkable: (0, _propTypes.oneOfType)([(0, _propTypes.arrayOf)(_propTypes.node), _propTypes.node]),
68
+ illustration: (0, _propTypes.oneOfType)([(0, _propTypes.arrayOf)(_propTypes.node), _propTypes.node]),
69
+ list: (0, _propTypes.oneOfType)([(0, _propTypes.arrayOf)(_propTypes.node), _propTypes.node])
70
+ };
71
+ ActionRequirement.defaultProps = {
72
+ children: undefined,
73
+ checkable: undefined,
74
+ illustration: undefined,
75
+ list: undefined
76
+ };
77
+ var _default = ActionRequirement;
78
+ exports["default"] = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _ = require("../..");
8
+
9
+ var _ActionRequirement = _interopRequireDefault(require("./ActionRequirement"));
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
+
13
+ describe('<ActionRequirement />', function () {
14
+ it('should match snapshot', function () {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_ActionRequirement["default"], null))),
16
+ container = _render.container;
17
+
18
+ expect(container).toMatchSnapshot();
19
+ });
20
+ });
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.Title = exports.SecondaryButton = exports.PrimaryButton = exports.Actions = void 0;
5
+
6
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
7
+
8
+ var _Text = _interopRequireDefault(require("../../Text"));
9
+
10
+ var _Box = _interopRequireDefault(require("../../Box"));
11
+
12
+ var _Button = _interopRequireDefault(require("../../Button"));
13
+
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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
+
22
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
23
+
24
+ var Title = (0, _styledComponents["default"])(_Text["default"].H4).attrs({
25
+ as: 'p'
26
+ })(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
27
+ var fontSizes = _ref.theme.yoga.fontSizes;
28
+ return (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n @media (min-width: 769px) {\n max-width: 700px;\n font-size: ", "px;\n line-height: ", "px;\n }\n "])), fontSizes.huge, fontSizes.huge);
29
+ });
30
+ exports.Title = Title;
31
+ var Actions = (0, _styledComponents["default"])(_Box["default"])(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
32
+ var spacing = _ref2.theme.yoga.spacing;
33
+ return (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _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.xlarge);
34
+ });
35
+ exports.Actions = Actions;
36
+ var buttonsStyles = (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref3) {
37
+ var spacing = _ref3.theme.yoga.spacing;
38
+ return (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = _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);
39
+ });
40
+ var PrimaryButton = (0, _styledComponents["default"])(_Button["default"])(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
41
+ exports.PrimaryButton = PrimaryButton;
42
+ var SecondaryButton = (0, _styledComponents["default"])(_Button["default"].Text)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
43
+ exports.SecondaryButton = SecondaryButton;
44
+ Title.displayName = 'ActionRequirement.Title';
45
+ PrimaryButton.displayName = 'ActionRequirement.PrimaryButton';
46
+ SecondaryButton.displayName = 'ActionRequirement.SecondaryButton';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ActionRequirement = _interopRequireDefault(require("./ActionRequirement"));
7
+
8
+ var _ActionRequirementStyles = require("./ActionRequirementStyles");
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ _ActionRequirement["default"].Title = _ActionRequirementStyles.Title;
13
+ _ActionRequirement["default"].PrimaryButton = _ActionRequirementStyles.PrimaryButton;
14
+ _ActionRequirement["default"].SecondaryButton = _ActionRequirementStyles.SecondaryButton;
15
+ var _default = _ActionRequirement["default"];
16
+ exports["default"] = _default;
@@ -13,7 +13,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
13
 
14
14
  var _propTypes = require("prop-types");
15
15
 
16
- var _moment = _interopRequireDefault(require("moment"));
16
+ var _dateFns = require("date-fns");
17
17
 
18
18
  var _Theme = require("../../Theme");
19
19
 
@@ -125,8 +125,8 @@ function Datepicker(_ref8) {
125
125
  var fullWidth = _ref8.fullWidth,
126
126
  type = _ref8.type,
127
127
  placeholder = _ref8.placeholder,
128
- startDate = _ref8.startDate,
129
- endDate = _ref8.endDate,
128
+ initialDate = _ref8.startDate,
129
+ finishDate = _ref8.endDate,
130
130
  onSelectSingle = _ref8.onSelectSingle,
131
131
  disabled = _ref8.disabled,
132
132
  onSelectRange = _ref8.onSelectRange,
@@ -139,12 +139,12 @@ function Datepicker(_ref8) {
139
139
  open = _useState[0],
140
140
  setOpen = _useState[1];
141
141
 
142
- var _useState2 = (0, _react.useState)(startDate),
143
- startD = _useState2[0],
142
+ var _useState2 = (0, _react.useState)(initialDate),
143
+ startDate = _useState2[0],
144
144
  setStartDate = _useState2[1];
145
145
 
146
- var _useState3 = (0, _react.useState)(endDate),
147
- endD = _useState3[0],
146
+ var _useState3 = (0, _react.useState)(finishDate),
147
+ endDate = _useState3[0],
148
148
  setEndDate = _useState3[1];
149
149
 
150
150
  var ref = (0, _react.useRef)(null);
@@ -164,14 +164,14 @@ function Datepicker(_ref8) {
164
164
 
165
165
  (0, _react.useEffect)(function () {
166
166
  if (type === 'single' && onSelectSingle) {
167
- onSelectSingle(startD);
167
+ onSelectSingle(startDate);
168
168
  setOpen(false.toString());
169
169
  } else if (type === 'range' && onSelectRange) {
170
- onSelectRange(startD, endD);
170
+ onSelectRange(startDate, endDate);
171
171
  }
172
172
 
173
- setInputFilled(!!startD);
174
- }, [startD, endD]);
173
+ setInputFilled(!!startDate);
174
+ }, [startDate, endDate]);
175
175
 
176
176
  var onDateSingleSelect = function onDateSingleSelect(startLocal) {
177
177
  setStartDate(startLocal);
@@ -182,10 +182,10 @@ function Datepicker(_ref8) {
182
182
  }, [open]);
183
183
 
184
184
  var onDateRangeSelect = function onDateRangeSelect(selectedDate) {
185
- if (!endD) {
186
- if (!startD) {
185
+ if (!endDate) {
186
+ if (!startDate) {
187
187
  setStartDate(selectedDate);
188
- } else if (selectedDate < startD) {
188
+ } else if (selectedDate < startDate) {
189
189
  setStartDate(selectedDate);
190
190
  setEndDate(undefined);
191
191
  } else setEndDate(selectedDate);
@@ -196,16 +196,16 @@ function Datepicker(_ref8) {
196
196
  };
197
197
 
198
198
  var renderInput = function renderInput() {
199
- if (!startD && !endD) {
199
+ if (!startDate && !endDate) {
200
200
  return /*#__PURE__*/_react["default"].createElement(InputPlaceholder, {
201
201
  disabled: disabled
202
202
  }, placeholder != null ? placeholder : "Select Date");
203
203
  }
204
204
 
205
- var dateFormat = 'MMM D, YYYY';
206
- return startD && /*#__PURE__*/_react["default"].createElement(Input, {
205
+ var dateFormat = 'MMM d, yyyy';
206
+ return startDate && /*#__PURE__*/_react["default"].createElement(Input, {
207
207
  disabled: disabled
208
- }, (0, _moment["default"])(startD).format(dateFormat), endD && " - " + (0, _moment["default"])(endD).format(dateFormat));
208
+ }, (0, _dateFns.format)(startDate, dateFormat), endDate && " - " + (0, _dateFns.format)(endDate, dateFormat));
209
209
  };
210
210
 
211
211
  return /*#__PURE__*/_react["default"].createElement(Wrapper, {
@@ -232,8 +232,8 @@ function Datepicker(_ref8) {
232
232
  onBlur: onBlur
233
233
  }, /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
234
234
  type: type,
235
- startDate: startD,
236
- endDate: endD,
235
+ startDate: startDate,
236
+ endDate: endDate,
237
237
  onSelectSingle: onDateSingleSelect,
238
238
  onSelectRange: onDateRangeSelect,
239
239
  disablePastDates: disablePastDates,
@@ -4,7 +4,7 @@ var _react = _interopRequireDefault(require("react"));
4
4
 
5
5
  var _react2 = require("@testing-library/react");
6
6
 
7
- var _moment = _interopRequireDefault(require("moment"));
7
+ var _dateFns = require("date-fns");
8
8
 
9
9
  var _ = require("../..");
10
10
 
@@ -30,6 +30,9 @@ describe('<Datepicker />', function () {
30
30
  expect(container).toMatchSnapshot();
31
31
  });
32
32
  it('should match with default selected date single Datepicker', function () {
33
+ var mockedDate = new Date(2022, 7, 3);
34
+ jest.useFakeTimers('modern').setSystemTime(mockedDate);
35
+
33
36
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Datepicker, {
34
37
  type: "single",
35
38
  startDate: testDate
@@ -100,7 +103,7 @@ describe('<Datepicker />', function () {
100
103
  });
101
104
  });
102
105
  describe('Unit', function () {
103
- var dateFormat = 'MMM D, YYYY';
106
+ var dateFormat = 'MMM d, yyyy';
104
107
  it('should call onSelectSingle function on single Datepicker', function () {
105
108
  var onSelectSingle = jest.fn();
106
109
  (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Datepicker, {
@@ -145,15 +148,15 @@ describe('<Datepicker />', function () {
145
148
  type: "single",
146
149
  startDate: currentDate
147
150
  })));
148
- var formattedDate = (0, _moment["default"])(currentDate).format(dateFormat);
151
+ var formattedDate = (0, _dateFns.format)(currentDate, dateFormat);
149
152
  expect(_react2.screen.getByText(formattedDate)).toBeVisible();
150
153
  });
151
154
  it('should display default date range on range Datepicker', function () {
152
155
  var currentDate = new Date();
153
156
  var end = new Date();
154
157
  end.setDate(currentDate.getDate() + 15);
155
- var formattedStartDate = (0, _moment["default"])(currentDate).format(dateFormat);
156
- var formattedEndDate = (0, _moment["default"])(end).format(dateFormat);
158
+ var formattedStartDate = (0, _dateFns.format)(currentDate, dateFormat);
159
+ var formattedEndDate = (0, _dateFns.format)(end, dateFormat);
157
160
  (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Datepicker, {
158
161
  type: "range",
159
162
  startDate: currentDate,
@@ -213,7 +216,7 @@ describe('<Datepicker />', function () {
213
216
  startDate: testDate,
214
217
  disabled: true
215
218
  })));
216
- var formattedDate = (0, _moment["default"])(testDate).format(dateFormat);
219
+ var formattedDate = (0, _dateFns.format)(testDate, dateFormat);
217
220
 
218
221
  var datepickerInput = _react2.screen.getByText(formattedDate);
219
222
 
@@ -5,6 +5,8 @@ exports["default"] = void 0;
5
5
 
6
6
  var _yogaCommon = require("@gympass/yoga-common");
7
7
 
8
+ var _ActionRequirementTheme = _interopRequireDefault(require("./../../ActionRequirement/ActionRequirement.theme.js"));
9
+
8
10
  var _AutoCompleteTheme = _interopRequireDefault(require("./../../AutoComplete/AutoComplete.theme.js"));
9
11
 
10
12
  var _AvatarTheme = _interopRequireDefault(require("./../../Avatar/Avatar.theme.js"));
@@ -78,6 +80,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
78
80
  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); }
79
81
 
80
82
  var componentThemes = {
83
+ ActionRequirement$ActionRequirement: _ActionRequirementTheme["default"],
81
84
  AutoComplete$AutoComplete: _AutoCompleteTheme["default"],
82
85
  Avatar$Avatar: _AvatarTheme["default"],
83
86
  Banner$Banner: _BannerTheme["default"],
package/cjs/index.js CHANGED
@@ -143,6 +143,10 @@ var _Skeleton = _interopRequireDefault(require("./Skeleton"));
143
143
 
144
144
  exports.Skeleton = _Skeleton["default"];
145
145
 
146
+ var _ActionRequirement = _interopRequireDefault(require("./ActionRequirement"));
147
+
148
+ exports.ActionRequirement = _ActionRequirement["default"];
149
+
146
150
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
147
151
 
148
152
  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); }
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Avatar",{enumerable:true,get:function get(){return _Avatar["default"];}});Object.defineProperty(exports,"Banner",{enumerable:true,get:function get(){return _Banner["default"];}});Object.defineProperty(exports,"Box",{enumerable:true,get:function get(){return _Box["default"];}});Object.defineProperty(exports,"Button",{enumerable:true,get:function get(){return _Button["default"];}});Object.defineProperty(exports,"Card",{enumerable:true,get:function get(){return _native.Card;}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function get(){return _Checkbox["default"];}});Object.defineProperty(exports,"Chips",{enumerable:true,get:function get(){return _Chips["default"];}});Object.defineProperty(exports,"Divider",{enumerable:true,get:function get(){return _Divider["default"];}});Object.defineProperty(exports,"Dropdown",{enumerable:true,get:function get(){return _Dropdown["default"];}});Object.defineProperty(exports,"EventCard",{enumerable:true,get:function get(){return _native.EventCard;}});Object.defineProperty(exports,"GymCard",{enumerable:true,get:function get(){return _native.GymCard;}});Object.defineProperty(exports,"Icon",{enumerable:true,get:function get(){return _Icon["default"];}});Object.defineProperty(exports,"Input",{enumerable:true,get:function get(){return _Input["default"];}});Object.defineProperty(exports,"List",{enumerable:true,get:function get(){return _List["default"];}});Object.defineProperty(exports,"PlanCard",{enumerable:true,get:function get(){return _native.PlanCard;}});Object.defineProperty(exports,"Progress",{enumerable:true,get:function get(){return _Progress["default"];}});Object.defineProperty(exports,"RadioGroup",{enumerable:true,get:function get(){return _RadioGroup["default"];}});Object.defineProperty(exports,"Rating",{enumerable:true,get:function get(){return _Rating["default"];}});Object.defineProperty(exports,"Result",{enumerable:true,get:function get(){return _Result["default"];}});Object.defineProperty(exports,"Skeleton",{enumerable:true,get:function get(){return _Skeleton["default"];}});Object.defineProperty(exports,"Slider",{enumerable:true,get:function get(){return _Slider["default"];}});Object.defineProperty(exports,"Snackbar",{enumerable:true,get:function get(){return _Snackbar["default"];}});Object.defineProperty(exports,"Stepper",{enumerable:true,get:function get(){return _Stepper["default"];}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function get(){return _Tag["default"];}});Object.defineProperty(exports,"Text",{enumerable:true,get:function get(){return _Text["default"];}});Object.defineProperty(exports,"TextArea",{enumerable:true,get:function get(){return _TextArea["default"];}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function get(){return _Theme["default"];}});Object.defineProperty(exports,"createTheme",{enumerable:true,get:function get(){return _Theme.createTheme;}});Object.defineProperty(exports,"theme",{enumerable:true,get:function get(){return _Theme.theme;}});Object.defineProperty(exports,"yogaTheme",{enumerable:true,get:function get(){return _Theme.yogaTheme;}});var _Theme=_interopRequireWildcard(require("./Theme"));var _Button=_interopRequireDefault(require("./Button"));var _List=_interopRequireDefault(require("./List"));var _Checkbox=_interopRequireDefault(require("./Checkbox"));var _Slider=_interopRequireDefault(require("./Slider"));var _RadioGroup=_interopRequireDefault(require("./RadioGroup"));var _native=require("./Card/native");var _Stepper=_interopRequireDefault(require("./Stepper"));var _Text=_interopRequireDefault(require("./Text"));var _Rating=_interopRequireDefault(require("./Rating"));var _Tag=_interopRequireDefault(require("./Tag"));var _Input=_interopRequireDefault(require("./Input"));var _Progress=_interopRequireDefault(require("./Progress"));var _Dropdown=_interopRequireDefault(require("./Dropdown"));var _TextArea=_interopRequireDefault(require("./TextArea"));var _Icon=_interopRequireDefault(require("./Icon"));var _Chips=_interopRequireDefault(require("./Chips"));var _Box=_interopRequireDefault(require("./Box"));var _Avatar=_interopRequireDefault(require("./Avatar"));var _Result=_interopRequireDefault(require("./Result"));var _Divider=_interopRequireDefault(require("./Divider"));var _Snackbar=_interopRequireDefault(require("./Snackbar"));var _Banner=_interopRequireDefault(require("./Banner"));var _Skeleton=_interopRequireDefault(require("./Skeleton"));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;}
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"ActionRequirement",{enumerable:true,get:function get(){return _ActionRequirement["default"];}});Object.defineProperty(exports,"Avatar",{enumerable:true,get:function get(){return _Avatar["default"];}});Object.defineProperty(exports,"Banner",{enumerable:true,get:function get(){return _Banner["default"];}});Object.defineProperty(exports,"Box",{enumerable:true,get:function get(){return _Box["default"];}});Object.defineProperty(exports,"Button",{enumerable:true,get:function get(){return _Button["default"];}});Object.defineProperty(exports,"Card",{enumerable:true,get:function get(){return _native.Card;}});Object.defineProperty(exports,"Checkbox",{enumerable:true,get:function get(){return _Checkbox["default"];}});Object.defineProperty(exports,"Chips",{enumerable:true,get:function get(){return _Chips["default"];}});Object.defineProperty(exports,"Divider",{enumerable:true,get:function get(){return _Divider["default"];}});Object.defineProperty(exports,"Dropdown",{enumerable:true,get:function get(){return _Dropdown["default"];}});Object.defineProperty(exports,"EventCard",{enumerable:true,get:function get(){return _native.EventCard;}});Object.defineProperty(exports,"GymCard",{enumerable:true,get:function get(){return _native.GymCard;}});Object.defineProperty(exports,"Icon",{enumerable:true,get:function get(){return _Icon["default"];}});Object.defineProperty(exports,"Input",{enumerable:true,get:function get(){return _Input["default"];}});Object.defineProperty(exports,"List",{enumerable:true,get:function get(){return _List["default"];}});Object.defineProperty(exports,"PlanCard",{enumerable:true,get:function get(){return _native.PlanCard;}});Object.defineProperty(exports,"Progress",{enumerable:true,get:function get(){return _Progress["default"];}});Object.defineProperty(exports,"RadioGroup",{enumerable:true,get:function get(){return _RadioGroup["default"];}});Object.defineProperty(exports,"Rating",{enumerable:true,get:function get(){return _Rating["default"];}});Object.defineProperty(exports,"Result",{enumerable:true,get:function get(){return _Result["default"];}});Object.defineProperty(exports,"Skeleton",{enumerable:true,get:function get(){return _Skeleton["default"];}});Object.defineProperty(exports,"Slider",{enumerable:true,get:function get(){return _Slider["default"];}});Object.defineProperty(exports,"Snackbar",{enumerable:true,get:function get(){return _Snackbar["default"];}});Object.defineProperty(exports,"Stepper",{enumerable:true,get:function get(){return _Stepper["default"];}});Object.defineProperty(exports,"Tag",{enumerable:true,get:function get(){return _Tag["default"];}});Object.defineProperty(exports,"Text",{enumerable:true,get:function get(){return _Text["default"];}});Object.defineProperty(exports,"TextArea",{enumerable:true,get:function get(){return _TextArea["default"];}});Object.defineProperty(exports,"ThemeProvider",{enumerable:true,get:function get(){return _Theme["default"];}});Object.defineProperty(exports,"createTheme",{enumerable:true,get:function get(){return _Theme.createTheme;}});Object.defineProperty(exports,"theme",{enumerable:true,get:function get(){return _Theme.theme;}});Object.defineProperty(exports,"yogaTheme",{enumerable:true,get:function get(){return _Theme.yogaTheme;}});var _Theme=_interopRequireWildcard(require("./Theme"));var _Button=_interopRequireDefault(require("./Button"));var _List=_interopRequireDefault(require("./List"));var _Checkbox=_interopRequireDefault(require("./Checkbox"));var _Slider=_interopRequireDefault(require("./Slider"));var _RadioGroup=_interopRequireDefault(require("./RadioGroup"));var _native=require("./Card/native");var _Stepper=_interopRequireDefault(require("./Stepper"));var _Text=_interopRequireDefault(require("./Text"));var _Rating=_interopRequireDefault(require("./Rating"));var _Tag=_interopRequireDefault(require("./Tag"));var _Input=_interopRequireDefault(require("./Input"));var _Progress=_interopRequireDefault(require("./Progress"));var _Dropdown=_interopRequireDefault(require("./Dropdown"));var _TextArea=_interopRequireDefault(require("./TextArea"));var _Icon=_interopRequireDefault(require("./Icon"));var _Chips=_interopRequireDefault(require("./Chips"));var _Box=_interopRequireDefault(require("./Box"));var _Avatar=_interopRequireDefault(require("./Avatar"));var _Result=_interopRequireDefault(require("./Result"));var _Divider=_interopRequireDefault(require("./Divider"));var _Snackbar=_interopRequireDefault(require("./Snackbar"));var _Banner=_interopRequireDefault(require("./Banner"));var _Skeleton=_interopRequireDefault(require("./Skeleton"));var _ActionRequirement=_interopRequireDefault(require("./ActionRequirement"));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;}
@@ -0,0 +1,5 @@
1
+ var ActionRequirement = function ActionRequirement() {
2
+ return {};
3
+ };
4
+
5
+ export default ActionRequirement;
@@ -0,0 +1,2 @@
1
+ import ActionRequirement from './web';
2
+ export default ActionRequirement;
@@ -0,0 +1,2 @@
1
+ import ActionRequirement from './native';
2
+ export default ActionRequirement;
@@ -0,0 +1,48 @@
1
+ var _templateObject;
2
+
3
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
4
+
5
+ import React from 'react';
6
+ import { arrayOf, node, oneOfType, string } from 'prop-types';
7
+ import styled from 'styled-components/native';
8
+ import { View } from 'react-native';
9
+ import Box from '../../Box';
10
+ import { Title } from './ActionRequirementStyles';
11
+ import Text from '../../Text';
12
+ var StyledActionRequirement = styled.View(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""])));
13
+
14
+ function ActionRequirement(props) {
15
+ var title = props.title,
16
+ description = props.description,
17
+ children = props.children,
18
+ checkable = props.checkable,
19
+ illustration = props.illustration,
20
+ list = props.list;
21
+ return /*#__PURE__*/React.createElement(StyledActionRequirement, props, illustration && /*#__PURE__*/React.createElement(Box, null, illustration), /*#__PURE__*/React.createElement(Title, null, title), /*#__PURE__*/React.createElement(Text, {
22
+ mt: "small",
23
+ color: "deep"
24
+ }, description), /*#__PURE__*/React.createElement(Text, {
25
+ mt: "small",
26
+ color: "deep"
27
+ }, list && /*#__PURE__*/React.createElement(Box, {
28
+ mt: "xxxlarge"
29
+ }, list)), checkable && /*#__PURE__*/React.createElement(Box, {
30
+ mt: "xxxlarge"
31
+ }, checkable), /*#__PURE__*/React.createElement(View, null, children));
32
+ }
33
+
34
+ ActionRequirement.propTypes = {
35
+ title: string.isRequired,
36
+ children: oneOfType([arrayOf(node), node]),
37
+ description: string.isRequired,
38
+ checkable: oneOfType([arrayOf(node), node]),
39
+ illustration: oneOfType([arrayOf(node), node]),
40
+ list: oneOfType([arrayOf(node), node])
41
+ };
42
+ ActionRequirement.defaultProps = {
43
+ children: undefined,
44
+ checkable: undefined,
45
+ illustration: undefined,
46
+ list: undefined
47
+ };
48
+ export default ActionRequirement;
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import { Box, Checkbox, Text } from '@gympass/yoga';
4
+ import { Img2d01 } from '@gympass/yoga-illustrations';
5
+ import { Dumbbell, User, Star } from '@gympass/yoga-icons';
6
+ import { ThemeProvider } from '../..';
7
+ import ActionRequirement from './ActionRequirement';
8
+
9
+ function handleGetCheckableContent() {
10
+ return /*#__PURE__*/React.createElement(Box, {
11
+ display: "flex",
12
+ flexDirection: "row",
13
+ alignItems: "center"
14
+ }, /*#__PURE__*/React.createElement(Checkbox, null), /*#__PURE__*/React.createElement(Text, null, "I have read and agree to the Terms of Use and Privacy Policy."));
15
+ }
16
+
17
+ function handleGetIllustration() {
18
+ return /*#__PURE__*/React.createElement(Img2d01, {
19
+ width: 375,
20
+ height: 375
21
+ });
22
+ }
23
+
24
+ function handleGetList() {
25
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement(Dumbbell, null), " 1x/day standard access"), /*#__PURE__*/React.createElement(Text, {
26
+ mt: "small"
27
+ }, /*#__PURE__*/React.createElement(User, null), " 4x/month 1-on-1 sessions"), /*#__PURE__*/React.createElement(Text, {
28
+ mt: "small"
29
+ }, /*#__PURE__*/React.createElement(Star, null), " 2x/month premium classes"));
30
+ }
31
+
32
+ describe('<ActionRequirement />', function () {
33
+ it('should match snapshot', function () {
34
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(ActionRequirement, {
35
+ title: "Welcome to the world of feeling good!",
36
+ description: "Lets make it a good day!",
37
+ illustration: handleGetIllustration(),
38
+ checkable: handleGetCheckableContent(),
39
+ list: handleGetList()
40
+ }))),
41
+ toJSON = _render.toJSON;
42
+
43
+ expect(toJSON()).toMatchSnapshot();
44
+ });
45
+ });
@@ -0,0 +1,25 @@
1
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
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 Text from '../../Text/index.native';
7
+ import Box from '../../Box/index.native';
8
+ import Button from '../../Button/index.native';
9
+ export var Title = styled(Text.H4)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
10
+ var fontSizes = _ref.theme.yoga.fontSizes;
11
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n @media (min-width: 769px) {\n max-width: 700px;\n font-size: ", "px;\n line-height: ", "px;\n }\n "])), fontSizes.huge, fontSizes.huge);
12
+ });
13
+ export var Actions = styled(Box)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
14
+ var spacing = _ref2.theme.yoga.spacing;
15
+ return css(_templateObject4 || (_templateObject4 = _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.xlarge);
16
+ });
17
+ var buttonsStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref3) {
18
+ var spacing = _ref3.theme.yoga.spacing;
19
+ return css(_templateObject6 || (_templateObject6 = _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);
20
+ });
21
+ export var PrimaryButton = styled(Button)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
22
+ export var SecondaryButton = styled(Button.Text)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
23
+ Title.displayName = 'ActionRequirement.Title';
24
+ PrimaryButton.displayName = 'ActionRequirement.PrimaryButton';
25
+ SecondaryButton.displayName = 'ActionRequirement.SecondaryButton';
@@ -0,0 +1,6 @@
1
+ import ActionRequirement from './ActionRequirement';
2
+ import { Title, PrimaryButton, SecondaryButton } from './ActionRequirementStyles';
3
+ ActionRequirement.Title = Title;
4
+ ActionRequirement.PrimaryButton = PrimaryButton;
5
+ ActionRequirement.SecondaryButton = SecondaryButton;
6
+ export default ActionRequirement;
@@ -0,0 +1,64 @@
1
+ var _templateObject;
2
+
3
+ function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
4
+
5
+ import React from 'react';
6
+ import { arrayOf, node, oneOfType, string } from 'prop-types';
7
+ import styled from 'styled-components';
8
+ import { Actions, Title, PrimaryButton, SecondaryButton } from './ActionRequirementStyles';
9
+ import Text from '../../Text';
10
+ import Box from '../../Box';
11
+ var StyledActionRequirement = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([""])));
12
+
13
+ function isChildFromComponent(child, component) {
14
+ return child.type.displayName === component.displayName;
15
+ }
16
+
17
+ function ActionRequirement(props) {
18
+ var title = props.title,
19
+ description = props.description,
20
+ children = props.children,
21
+ checkable = props.checkable,
22
+ illustration = props.illustration,
23
+ list = props.list;
24
+ var primaryButton;
25
+ var secondaryButton;
26
+
27
+ function defineCompoundComponents() {
28
+ React.Children.forEach(children, function (child) {
29
+ if (isChildFromComponent(child, PrimaryButton)) primaryButton = child;
30
+ if (isChildFromComponent(child, SecondaryButton)) secondaryButton = child;
31
+ });
32
+ }
33
+
34
+ defineCompoundComponents();
35
+ return /*#__PURE__*/React.createElement(StyledActionRequirement, props, illustration && /*#__PURE__*/React.createElement(Box, null, illustration), /*#__PURE__*/React.createElement(Title, null, title), /*#__PURE__*/React.createElement(Text, {
36
+ mt: "small",
37
+ color: "deep"
38
+ }, description), /*#__PURE__*/React.createElement(Text, {
39
+ mt: "small",
40
+ color: "deep"
41
+ }, list && /*#__PURE__*/React.createElement(Box, {
42
+ mt: "xxxlarge"
43
+ }, list)), checkable && /*#__PURE__*/React.createElement(Box, {
44
+ mt: "xxxlarge"
45
+ }, checkable), /*#__PURE__*/React.createElement(Actions, {
46
+ mt: "xlarge"
47
+ }, primaryButton, secondaryButton));
48
+ }
49
+
50
+ ActionRequirement.propTypes = {
51
+ title: string.isRequired,
52
+ children: oneOfType([arrayOf(node), node]),
53
+ description: string.isRequired,
54
+ checkable: oneOfType([arrayOf(node), node]),
55
+ illustration: oneOfType([arrayOf(node), node]),
56
+ list: oneOfType([arrayOf(node), node])
57
+ };
58
+ ActionRequirement.defaultProps = {
59
+ children: undefined,
60
+ checkable: undefined,
61
+ illustration: undefined,
62
+ list: undefined
63
+ };
64
+ export default ActionRequirement;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { ThemeProvider } from '../..';
4
+ import ActionRequirement from './ActionRequirement';
5
+ describe('<ActionRequirement />', function () {
6
+ it('should match snapshot', function () {
7
+ var _render = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(ActionRequirement, null))),
8
+ container = _render.container;
9
+
10
+ expect(container).toMatchSnapshot();
11
+ });
12
+ });
@@ -0,0 +1,27 @@
1
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
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 Text from '../../Text';
7
+ import Box from '../../Box';
8
+ import Button from '../../Button';
9
+ export var Title = styled(Text.H4).attrs({
10
+ as: 'p'
11
+ })(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref) {
12
+ var fontSizes = _ref.theme.yoga.fontSizes;
13
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n @media (min-width: 769px) {\n max-width: 700px;\n font-size: ", "px;\n line-height: ", "px;\n }\n "])), fontSizes.huge, fontSizes.huge);
14
+ });
15
+ export var Actions = styled(Box)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref2) {
16
+ var spacing = _ref2.theme.yoga.spacing;
17
+ return css(_templateObject4 || (_templateObject4 = _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.xlarge);
18
+ });
19
+ var buttonsStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (_ref3) {
20
+ var spacing = _ref3.theme.yoga.spacing;
21
+ return css(_templateObject6 || (_templateObject6 = _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);
22
+ });
23
+ export var PrimaryButton = styled(Button)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
24
+ export var SecondaryButton = styled(Button.Text)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonsStyles);
25
+ Title.displayName = 'ActionRequirement.Title';
26
+ PrimaryButton.displayName = 'ActionRequirement.PrimaryButton';
27
+ SecondaryButton.displayName = 'ActionRequirement.SecondaryButton';
@@ -0,0 +1,6 @@
1
+ import ActionRequirement from './ActionRequirement';
2
+ import { Title, PrimaryButton, SecondaryButton } from './ActionRequirementStyles';
3
+ ActionRequirement.Title = Title;
4
+ ActionRequirement.PrimaryButton = PrimaryButton;
5
+ ActionRequirement.SecondaryButton = SecondaryButton;
6
+ export default ActionRequirement;
@@ -14,7 +14,7 @@ import { Booking, BookingFilled } from '@gympass/yoga-icons';
14
14
  import { Text } from '@gympass/yoga';
15
15
  import styled, { css } from 'styled-components';
16
16
  import { bool, oneOf, func, instanceOf, string } from 'prop-types';
17
- import moment from 'moment';
17
+ import { format } from 'date-fns';
18
18
  import { theme } from '../../Theme';
19
19
  import Calendar from './Calendar';
20
20
  var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n position: relative;\n display: inline-block;\n vertical-align: top;\n width: ", ";\n"])), function (props) {
@@ -100,8 +100,8 @@ function Datepicker(_ref8) {
100
100
  var fullWidth = _ref8.fullWidth,
101
101
  type = _ref8.type,
102
102
  placeholder = _ref8.placeholder,
103
- startDate = _ref8.startDate,
104
- endDate = _ref8.endDate,
103
+ initialDate = _ref8.startDate,
104
+ finishDate = _ref8.endDate,
105
105
  onSelectSingle = _ref8.onSelectSingle,
106
106
  disabled = _ref8.disabled,
107
107
  onSelectRange = _ref8.onSelectRange,
@@ -114,12 +114,12 @@ function Datepicker(_ref8) {
114
114
  open = _useState[0],
115
115
  setOpen = _useState[1];
116
116
 
117
- var _useState2 = useState(startDate),
118
- startD = _useState2[0],
117
+ var _useState2 = useState(initialDate),
118
+ startDate = _useState2[0],
119
119
  setStartDate = _useState2[1];
120
120
 
121
- var _useState3 = useState(endDate),
122
- endD = _useState3[0],
121
+ var _useState3 = useState(finishDate),
122
+ endDate = _useState3[0],
123
123
  setEndDate = _useState3[1];
124
124
 
125
125
  var ref = useRef(null);
@@ -139,14 +139,14 @@ function Datepicker(_ref8) {
139
139
 
140
140
  useEffect(function () {
141
141
  if (type === 'single' && onSelectSingle) {
142
- onSelectSingle(startD);
142
+ onSelectSingle(startDate);
143
143
  setOpen(false.toString());
144
144
  } else if (type === 'range' && onSelectRange) {
145
- onSelectRange(startD, endD);
145
+ onSelectRange(startDate, endDate);
146
146
  }
147
147
 
148
- setInputFilled(!!startD);
149
- }, [startD, endD]);
148
+ setInputFilled(!!startDate);
149
+ }, [startDate, endDate]);
150
150
 
151
151
  var onDateSingleSelect = function onDateSingleSelect(startLocal) {
152
152
  setStartDate(startLocal);
@@ -157,10 +157,10 @@ function Datepicker(_ref8) {
157
157
  }, [open]);
158
158
 
159
159
  var onDateRangeSelect = function onDateRangeSelect(selectedDate) {
160
- if (!endD) {
161
- if (!startD) {
160
+ if (!endDate) {
161
+ if (!startDate) {
162
162
  setStartDate(selectedDate);
163
- } else if (selectedDate < startD) {
163
+ } else if (selectedDate < startDate) {
164
164
  setStartDate(selectedDate);
165
165
  setEndDate(undefined);
166
166
  } else setEndDate(selectedDate);
@@ -171,16 +171,16 @@ function Datepicker(_ref8) {
171
171
  };
172
172
 
173
173
  var renderInput = function renderInput() {
174
- if (!startD && !endD) {
174
+ if (!startDate && !endDate) {
175
175
  return /*#__PURE__*/React.createElement(InputPlaceholder, {
176
176
  disabled: disabled
177
177
  }, placeholder != null ? placeholder : "Select Date");
178
178
  }
179
179
 
180
- var dateFormat = 'MMM D, YYYY';
181
- return startD && /*#__PURE__*/React.createElement(Input, {
180
+ var dateFormat = 'MMM d, yyyy';
181
+ return startDate && /*#__PURE__*/React.createElement(Input, {
182
182
  disabled: disabled
183
- }, moment(startD).format(dateFormat), endD && " - " + moment(endD).format(dateFormat));
183
+ }, format(startDate, dateFormat), endDate && " - " + format(endDate, dateFormat));
184
184
  };
185
185
 
186
186
  return /*#__PURE__*/React.createElement(Wrapper, {
@@ -207,8 +207,8 @@ function Datepicker(_ref8) {
207
207
  onBlur: onBlur
208
208
  }, /*#__PURE__*/React.createElement(Calendar, {
209
209
  type: type,
210
- startDate: startD,
211
- endDate: endD,
210
+ startDate: startDate,
211
+ endDate: endDate,
212
212
  onSelectSingle: onDateSingleSelect,
213
213
  onSelectRange: onDateRangeSelect,
214
214
  disablePastDates: disablePastDates,
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { fireEvent, render, screen } from '@testing-library/react';
3
- import moment from 'moment';
3
+ import { format } from 'date-fns';
4
4
  import { ThemeProvider, Datepicker } from '../..';
5
5
  describe('<Datepicker />', function () {
6
6
  var testDate = new Date(2022, 7, 3);
@@ -22,6 +22,9 @@ describe('<Datepicker />', function () {
22
22
  expect(container).toMatchSnapshot();
23
23
  });
24
24
  it('should match with default selected date single Datepicker', function () {
25
+ var mockedDate = new Date(2022, 7, 3);
26
+ jest.useFakeTimers('modern').setSystemTime(mockedDate);
27
+
25
28
  var _render3 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Datepicker, {
26
29
  type: "single",
27
30
  startDate: testDate
@@ -92,7 +95,7 @@ describe('<Datepicker />', function () {
92
95
  });
93
96
  });
94
97
  describe('Unit', function () {
95
- var dateFormat = 'MMM D, YYYY';
98
+ var dateFormat = 'MMM d, yyyy';
96
99
  it('should call onSelectSingle function on single Datepicker', function () {
97
100
  var onSelectSingle = jest.fn();
98
101
  render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Datepicker, {
@@ -126,15 +129,15 @@ describe('<Datepicker />', function () {
126
129
  type: "single",
127
130
  startDate: currentDate
128
131
  })));
129
- var formattedDate = moment(currentDate).format(dateFormat);
132
+ var formattedDate = format(currentDate, dateFormat);
130
133
  expect(screen.getByText(formattedDate)).toBeVisible();
131
134
  });
132
135
  it('should display default date range on range Datepicker', function () {
133
136
  var currentDate = new Date();
134
137
  var end = new Date();
135
138
  end.setDate(currentDate.getDate() + 15);
136
- var formattedStartDate = moment(currentDate).format(dateFormat);
137
- var formattedEndDate = moment(end).format(dateFormat);
139
+ var formattedStartDate = format(currentDate, dateFormat);
140
+ var formattedEndDate = format(end, dateFormat);
138
141
  render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Datepicker, {
139
142
  type: "range",
140
143
  startDate: currentDate,
@@ -186,7 +189,7 @@ describe('<Datepicker />', function () {
186
189
  startDate: testDate,
187
190
  disabled: true
188
191
  })));
189
- var formattedDate = moment(testDate).format(dateFormat);
192
+ var formattedDate = format(testDate, dateFormat);
190
193
  var datepickerInput = screen.getByText(formattedDate);
191
194
  expect(datepickerInput).toHaveAttribute('disabled');
192
195
  expect(datepickerInput.closest('div')).toHaveAttribute('disabled');
@@ -2,6 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
 
3
3
  /* eslint-disable prefer-destructuring */
4
4
  import { merge } from '@gympass/yoga-common';
5
+ import _componentThemes_ActionRequirement$ActionRequirement from "./../../ActionRequirement/ActionRequirement.theme.js";
5
6
  import _componentThemes_AutoComplete$AutoComplete from "./../../AutoComplete/AutoComplete.theme.js";
6
7
  import _componentThemes_Avatar$Avatar from "./../../Avatar/Avatar.theme.js";
7
8
  import _componentThemes_Banner$Banner from "./../../Banner/Banner.theme.js";
@@ -37,6 +38,7 @@ import _componentThemes_Tag$Tag from "./../../Tag/Tag.theme.js";
37
38
  import _componentThemes_Text$Text from "./../../Text/Text.theme.js";
38
39
  import _componentThemes_TextArea$TextArea from "./../../TextArea/TextArea.theme.js";
39
40
  var componentThemes = {
41
+ ActionRequirement$ActionRequirement: _componentThemes_ActionRequirement$ActionRequirement,
40
42
  AutoComplete$AutoComplete: _componentThemes_AutoComplete$AutoComplete,
41
43
  Avatar$Avatar: _componentThemes_Avatar$Avatar,
42
44
  Banner$Banner: _componentThemes_Banner$Banner,
package/esm/index.js CHANGED
@@ -31,4 +31,5 @@ import Feedback from './Feedback';
31
31
  import Datepicker from './Datepicker';
32
32
  import Drawer from './Drawer';
33
33
  import Skeleton from './Skeleton';
34
- 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, Menu, Banner, Heading, Feedback, Datepicker, Drawer, Skeleton };
34
+ import ActionRequirement from './ActionRequirement';
35
+ 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, Menu, Banner, Heading, Feedback, Datepicker, Drawer, Skeleton, ActionRequirement };
@@ -22,4 +22,5 @@ import Divider from './Divider';
22
22
  import Snackbar from './Snackbar';
23
23
  import Banner from './Banner';
24
24
  import Skeleton from './Skeleton';
25
- export { ThemeProvider, yogaTheme, createTheme, theme, Button, List, Checkbox, RadioGroup, Slider, Card, PlanCard, EventCard, GymCard, Stepper, Text, Rating, Tag, Input, Progress, Dropdown, TextArea, Icon, Chips, Box, Avatar, Result, Divider, Snackbar, Banner, Skeleton };
25
+ import ActionRequirement from './ActionRequirement';
26
+ export { ThemeProvider, yogaTheme, createTheme, theme, Button, List, Checkbox, RadioGroup, Slider, Card, PlanCard, EventCard, GymCard, Stepper, Text, Rating, Tag, Input, Progress, Dropdown, TextArea, Icon, Chips, Box, Avatar, Result, Divider, Snackbar, Banner, Skeleton, ActionRequirement };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gympass/yoga",
3
- "version": "7.51.0",
3
+ "version": "7.52.0",
4
4
  "description": "Gympass component library",
5
5
  "main": "./cjs",
6
6
  "sideEffects": false,
@@ -33,9 +33,9 @@
33
33
  "@gympass/yoga-tokens": "^3.1.4",
34
34
  "@ptomasroos/react-native-multi-slider": "^1.0.0",
35
35
  "@radix-ui/react-dropdown-menu": "^0.1.6",
36
+ "date-fns": "^2.29.2",
36
37
  "downshift": "^5.0.0",
37
38
  "lodash.get": "^4.4.2",
38
- "moment": "^2.29.4",
39
39
  "prop-types": "^15.7.2",
40
40
  "proxy-polyfill": "^0.3.1",
41
41
  "rc-slider": "^8.7.1",
@@ -52,7 +52,7 @@
52
52
  "react": ">=16",
53
53
  "styled-components": "^4.4.0"
54
54
  },
55
- "gitHead": "30d96b249244d7139ac23501159fdcd60cab96b9",
55
+ "gitHead": "5de153fc4eccd7bb5a8f4f74f727523110645426",
56
56
  "module": "./esm",
57
57
  "private": false,
58
58
  "react-native": "./cjs/index.native.js"