@gympass/yoga 7.51.0 → 7.51.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -13,7 +13,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
13
13
|
|
|
14
14
|
var _propTypes = require("prop-types");
|
|
15
15
|
|
|
16
|
-
var
|
|
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
|
-
|
|
129
|
-
|
|
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)(
|
|
143
|
-
|
|
142
|
+
var _useState2 = (0, _react.useState)(initialDate),
|
|
143
|
+
startDate = _useState2[0],
|
|
144
144
|
setStartDate = _useState2[1];
|
|
145
145
|
|
|
146
|
-
var _useState3 = (0, _react.useState)(
|
|
147
|
-
|
|
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(
|
|
167
|
+
onSelectSingle(startDate);
|
|
168
168
|
setOpen(false.toString());
|
|
169
169
|
} else if (type === 'range' && onSelectRange) {
|
|
170
|
-
onSelectRange(
|
|
170
|
+
onSelectRange(startDate, endDate);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
setInputFilled(!!
|
|
174
|
-
}, [
|
|
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 (!
|
|
186
|
-
if (!
|
|
185
|
+
if (!endDate) {
|
|
186
|
+
if (!startDate) {
|
|
187
187
|
setStartDate(selectedDate);
|
|
188
|
-
} else if (selectedDate <
|
|
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 (!
|
|
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
|
|
206
|
-
return
|
|
205
|
+
var dateFormat = 'MMM d, yyyy';
|
|
206
|
+
return startDate && /*#__PURE__*/_react["default"].createElement(Input, {
|
|
207
207
|
disabled: disabled
|
|
208
|
-
}, (0,
|
|
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:
|
|
236
|
-
endDate:
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
156
|
-
var formattedEndDate = (0,
|
|
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,
|
|
219
|
+
var formattedDate = (0, _dateFns.format)(testDate, dateFormat);
|
|
217
220
|
|
|
218
221
|
var datepickerInput = _react2.screen.getByText(formattedDate);
|
|
219
222
|
|
|
@@ -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
|
|
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
|
-
|
|
104
|
-
|
|
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(
|
|
118
|
-
|
|
117
|
+
var _useState2 = useState(initialDate),
|
|
118
|
+
startDate = _useState2[0],
|
|
119
119
|
setStartDate = _useState2[1];
|
|
120
120
|
|
|
121
|
-
var _useState3 = useState(
|
|
122
|
-
|
|
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(
|
|
142
|
+
onSelectSingle(startDate);
|
|
143
143
|
setOpen(false.toString());
|
|
144
144
|
} else if (type === 'range' && onSelectRange) {
|
|
145
|
-
onSelectRange(
|
|
145
|
+
onSelectRange(startDate, endDate);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
setInputFilled(!!
|
|
149
|
-
}, [
|
|
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 (!
|
|
161
|
-
if (!
|
|
160
|
+
if (!endDate) {
|
|
161
|
+
if (!startDate) {
|
|
162
162
|
setStartDate(selectedDate);
|
|
163
|
-
} else if (selectedDate <
|
|
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 (!
|
|
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
|
|
181
|
-
return
|
|
180
|
+
var dateFormat = 'MMM d, yyyy';
|
|
181
|
+
return startDate && /*#__PURE__*/React.createElement(Input, {
|
|
182
182
|
disabled: disabled
|
|
183
|
-
},
|
|
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:
|
|
211
|
-
endDate:
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
137
|
-
var formattedEndDate =
|
|
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 =
|
|
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');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gympass/yoga",
|
|
3
|
-
"version": "7.51.
|
|
3
|
+
"version": "7.51.1",
|
|
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": "
|
|
55
|
+
"gitHead": "ad993d885de0b5bcab2650b2df0282239c233128",
|
|
56
56
|
"module": "./esm",
|
|
57
57
|
"private": false,
|
|
58
58
|
"react-native": "./cjs/index.native.js"
|