@toptal/picasso-lab 14.0.1-alpha-SPT-2161-human-readable-dates-parsing-poc-1.2606 → 15.0.1-alpha-FX-2312-add-separate-testid-for-autocomplete-autofill-input.2612
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.
@@ -2,7 +2,7 @@ import { BaseProps, InputProps } from '@toptal/picasso';
|
|
2
2
|
import { ReactNode } from 'react';
|
3
3
|
import { DayProps } from '../Calendar';
|
4
4
|
import { DatePickerValue, DatePickerStringParser } from './types';
|
5
|
-
export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect' | 'type' | 'multiline' | 'rows' | 'defaultValue' | 'onChange'> {
|
5
|
+
export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect' | 'type' | 'multiline' | 'rows' | 'defaultValue' | 'onChange' | 'testIds'> {
|
6
6
|
/** Date that will be selected in `DatePicker` */
|
7
7
|
value?: DatePickerValue;
|
8
8
|
/** Method that will be invoked with selected values */
|
@@ -34,14 +34,16 @@ export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect'
|
|
34
34
|
error?: boolean;
|
35
35
|
/** Function to override default markup to show Date */
|
36
36
|
renderDay?: (args: DayProps) => ReactNode;
|
37
|
-
/** Indicate if human-readable dates should be parsed inside `DatePicker`'s input */
|
38
|
-
parseHumanReadableDates?: boolean;
|
39
37
|
popperContainer?: HTMLElement;
|
40
38
|
/** Index of the first day of the week (0 - Sunday). Default is 1 - Monday */
|
41
39
|
weekStartsOn?: number;
|
42
40
|
/** IANA timezone to display and edit date(s) */
|
43
41
|
timezone?: string;
|
44
42
|
parseInputValue?: DatePickerStringParser;
|
43
|
+
testIds?: InputProps['testIds'] & {
|
44
|
+
calendar?: string;
|
45
|
+
input?: string;
|
46
|
+
};
|
45
47
|
}
|
46
48
|
export declare const DatePicker: {
|
47
49
|
(props: Props): JSX.Element;
|
package/DatePicker/DatePicker.js
CHANGED
@@ -1,12 +1,3 @@
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
1
|
var __rest = (this && this.__rest) || function (s, e) {
|
11
2
|
var t = {};
|
12
3
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
@@ -24,24 +15,22 @@ import { makeStyles } from '@material-ui/core/styles';
|
|
24
15
|
import { Container, Input, InputAdornment } from '@toptal/picasso';
|
25
16
|
import { Calendar16 } from '@toptal/picasso/Icon';
|
26
17
|
import Popper from '@toptal/picasso/Popper';
|
27
|
-
import Loader from '@toptal/picasso/Loader';
|
28
18
|
import { noop } from '@toptal/picasso/utils';
|
29
19
|
import formatDate from 'date-fns/format';
|
30
20
|
import React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
31
21
|
import Calendar from '../Calendar';
|
32
22
|
import { DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT } from './constants';
|
33
23
|
import styles from './styles';
|
34
|
-
import { formatDateRange, datePickerParseDateString, timezoneConvert, timezoneFormat, isValidDateValue, getStartOfTheDayDate
|
24
|
+
import { formatDateRange, datePickerParseDateString, timezoneConvert, timezoneFormat, isValidDateValue, getStartOfTheDayDate } from './utils';
|
35
25
|
const EMPTY_INPUT_VALUE = '';
|
36
26
|
const useStyles = makeStyles(styles, {
|
37
27
|
name: 'PicassoDatePicker'
|
38
28
|
});
|
39
29
|
export const DatePicker = (props) => {
|
40
|
-
const { range, hideOnSelect, displayDateFormat = DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, editDateFormat = DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, onBlur = noop, onChange, value, width, icon, minDate, maxDate, disabledIntervals,
|
30
|
+
const { range, hideOnSelect, displayDateFormat = DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, editDateFormat = DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, onBlur = noop, onChange, value, width, icon, minDate, maxDate, disabledIntervals, popperContainer, renderDay, weekStartsOn, timezone, size, parseInputValue = datePickerParseDateString, testIds } = props, rest = __rest(props, ["range", "hideOnSelect", "displayDateFormat", "editDateFormat", "onBlur", "onChange", "value", "width", "icon", "minDate", "maxDate", "disabledIntervals", "popperContainer", "renderDay", "weekStartsOn", "timezone", "size", "parseInputValue", "testIds"]);
|
41
31
|
const classes = useStyles();
|
42
32
|
const inputProps = rest;
|
43
33
|
const [calendarIsShown, setCalendarIsShown] = useState(false);
|
44
|
-
const [isInputLoading, setIsInputLoading] = useState(false);
|
45
34
|
const [isInputFocused, setIsInputFocused] = useState(false);
|
46
35
|
const [inputValue, setInputValue] = useState(EMPTY_INPUT_VALUE);
|
47
36
|
const [calendarValue, setCalendarValue] = useState(null);
|
@@ -98,21 +87,6 @@ export const DatePicker = (props) => {
|
|
98
87
|
onBlur();
|
99
88
|
setIsInputFocused(false);
|
100
89
|
};
|
101
|
-
const handleInputBlur = (event) => __awaiter(void 0, void 0, void 0, function* () {
|
102
|
-
event.persist();
|
103
|
-
const nextInputValue = event.currentTarget.value;
|
104
|
-
const isValidDate = isDateValid(nextInputValue, editDateFormat);
|
105
|
-
const shouldParseHumanReadableDate = parseHumanReadableDates && !range && nextInputValue && !isValidDate;
|
106
|
-
if (shouldParseHumanReadableDate) {
|
107
|
-
setIsInputLoading(true);
|
108
|
-
const parsedHumanReadableDate = yield datePickerParseHumanReadableDateString(nextInputValue, { timezone, minDate, maxDate });
|
109
|
-
setIsInputLoading(false);
|
110
|
-
if (parsedHumanReadableDate) {
|
111
|
-
onChange(parsedHumanReadableDate);
|
112
|
-
}
|
113
|
-
}
|
114
|
-
handleBlur(event);
|
115
|
-
});
|
116
90
|
const handleInputChange = (e) => {
|
117
91
|
// TODO: change this if manual entering of range is needed
|
118
92
|
if (range) {
|
@@ -189,13 +163,11 @@ export const DatePicker = (props) => {
|
|
189
163
|
setIsInputFocused(true);
|
190
164
|
};
|
191
165
|
const startAdornment = size !== 'small' ? (React.createElement(InputAdornment, { position: 'start', disablePointerEvents: true }, icon || React.createElement(Calendar16, null))) : undefined;
|
192
|
-
const loadingComponent = (React.createElement(InputAdornment, { "data-testid": 'loading-adornment', position: 'end', disablePointerEvents: true },
|
193
|
-
React.createElement(Loader, { size: 'small' })));
|
194
166
|
return (React.createElement(React.Fragment, null,
|
195
167
|
React.createElement(Container, { inline: width !== 'full', ref: inputWrapperRef },
|
196
|
-
React.createElement(Input, Object.assign({}, inputProps, { ref: inputRef, onKeyDown: handleInputKeydown, onClick: handleFocusOrClick, onFocus: handleFocusOrClick, onBlur:
|
168
|
+
React.createElement(Input, Object.assign({}, inputProps, { ref: inputRef, onKeyDown: handleInputKeydown, onClick: handleFocusOrClick, onFocus: handleFocusOrClick, onBlur: handleBlur, value: inputValue, onChange: handleInputChange, size: size, startAdornment: startAdornment, width: width, testIds: testIds, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.input }))),
|
197
169
|
inputWrapperRef.current && (React.createElement(Popper, { placement: 'bottom-start', open: calendarIsShown, anchorEl: inputWrapperRef.current, autoWidth: false, enableCompactMode: true, container: popperContainer, ref: popperRef },
|
198
|
-
React.createElement(Calendar, { "data-testid":
|
170
|
+
React.createElement(Calendar, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.calendar, ref: calendarRef, range: range, value: calendarValue !== null && calendarValue !== void 0 ? calendarValue : undefined, minDate: normalizedMinDate, maxDate: normalizedMaxDate, disabledIntervals: disabledIntervals, renderDay: renderDay, onChange: handleCalendarChange, onBlur: handleBlur, className: classes.calendar, weekStartsOn: weekStartsOn })))));
|
199
171
|
};
|
200
172
|
DatePicker.defaultProps = {
|
201
173
|
range: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
|
package/DatePicker/utils.d.ts
CHANGED
@@ -8,6 +8,5 @@ export declare const isDateAfter: (date: Date, dateToCompare: Date) => boolean;
|
|
8
8
|
export declare const isDateBefore: (date: Date, dateToCompare: Date) => boolean;
|
9
9
|
export declare const isDateWithinInterval: (date: Date, minDate: Date | undefined, maxDate: Date | undefined) => boolean;
|
10
10
|
export declare const datePickerParseDateString: DatePickerStringParser;
|
11
|
-
export declare const datePickerParseHumanReadableDateString: (value: string, { timezone, minDate, maxDate }: Pick<Parameters<DatePickerStringParser>[1], 'timezone' | 'minDate' | 'maxDate'>) => Promise<Date | undefined>;
|
12
11
|
export declare const isValidDateValue: (dateValue: DateOrDateRangeType | string) => dateValue is DateOrDateRangeType;
|
13
12
|
export declare const getStartOfTheDayDate: (date?: Date | undefined) => Date | undefined;
|
package/DatePicker/utils.js
CHANGED
@@ -1,12 +1,3 @@
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
1
|
import parse from 'date-fns/parse';
|
11
2
|
import isValid from 'date-fns/isValid';
|
12
3
|
import formatDate from 'date-fns/format';
|
@@ -92,23 +83,6 @@ export const datePickerParseDateString = (value, { dateFormat, timezone, minDate
|
|
92
83
|
}
|
93
84
|
return nextTimezoneValue;
|
94
85
|
};
|
95
|
-
export const datePickerParseHumanReadableDateString = (value, { timezone, minDate, maxDate }) => __awaiter(void 0, void 0, void 0, function* () {
|
96
|
-
const { parseDate } = yield import('chrono-node');
|
97
|
-
const parsedDate = parseDate(value, {
|
98
|
-
instant: new Date(),
|
99
|
-
timezone
|
100
|
-
}, {
|
101
|
-
forwardDate: true
|
102
|
-
});
|
103
|
-
if (!isValid(parsedDate)) {
|
104
|
-
return;
|
105
|
-
}
|
106
|
-
const nextTimezoneValue = timezoneFormat(parsedDate, timezone);
|
107
|
-
if (!isDateWithinInterval(nextTimezoneValue, minDate, maxDate)) {
|
108
|
-
return;
|
109
|
-
}
|
110
|
-
return nextTimezoneValue;
|
111
|
-
});
|
112
86
|
export const isValidDateValue = (dateValue) => typeof dateValue !== 'string';
|
113
87
|
export const getStartOfTheDayDate = (date) => {
|
114
88
|
if (!date) {
|
package/DatePicker/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DatePicker/utils.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DatePicker/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@toptal/picasso-lab",
|
3
|
-
"version": "
|
3
|
+
"version": "15.0.1-alpha-FX-2312-add-separate-testid-for-autocomplete-autofill-input.2612+cd8f6dd4",
|
4
4
|
"description": "Lab components of Picasso",
|
5
5
|
"author": "Toptal",
|
6
6
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso-lab#readme",
|
@@ -24,16 +24,15 @@
|
|
24
24
|
},
|
25
25
|
"peerDependencies": {
|
26
26
|
"@material-ui/core": "4.11.0",
|
27
|
-
"@toptal/picasso": "^
|
27
|
+
"@toptal/picasso": "^15.0.0",
|
28
28
|
"@toptal/picasso-shared": "^7.0.2",
|
29
29
|
"popper.js": "^1.16.1",
|
30
30
|
"react": "^16.12.0",
|
31
31
|
"react-dom": "^16.12.0"
|
32
32
|
},
|
33
33
|
"dependencies": {
|
34
|
-
"@toptal/picasso-provider": "0.4.1-alpha-
|
34
|
+
"@toptal/picasso-provider": "0.4.1-alpha-FX-2312-add-separate-testid-for-autocomplete-autofill-input.2612+cd8f6dd4",
|
35
35
|
"ap-style-title-case": "^1.1.2",
|
36
|
-
"chrono-node": "^2.3.3",
|
37
36
|
"classnames": "^2.3.1",
|
38
37
|
"date-fns": "^2.9.0",
|
39
38
|
"date-fns-tz": "^1.1.3",
|
@@ -52,5 +51,5 @@
|
|
52
51
|
"**/styles.ts",
|
53
52
|
"**/styles.js"
|
54
53
|
],
|
55
|
-
"gitHead": "
|
54
|
+
"gitHead": "cd8f6dd4de08b4c4bda595298410fe5d328faa63"
|
56
55
|
}
|