@toptal/picasso-lab 9.1.1-alpha-sat-750--poc-picasso-with-ssr.2531 → 9.2.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.
- package/DatePicker/DatePicker.d.ts +9 -9
- package/DatePicker/DatePicker.js +24 -14
- package/DatePicker/DatePicker.js.map +1 -1
- package/DatePicker/constants.d.ts +2 -0
- package/DatePicker/constants.js +3 -0
- package/DatePicker/constants.js.map +1 -0
- package/DatePicker/index.d.ts +3 -0
- package/DatePicker/index.js +2 -0
- package/DatePicker/index.js.map +1 -1
- package/DatePicker/types.d.ts +8 -0
- package/DatePicker/types.js +2 -0
- package/DatePicker/types.js.map +1 -0
- package/DatePicker/utils.d.ts +3 -0
- package/DatePicker/utils.js +12 -0
- package/DatePicker/utils.js.map +1 -1
- package/Dropzone/styles.d.ts +1 -1
- package/index.d.ts +2 -2
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +3 -3
@@ -1,14 +1,13 @@
|
|
1
|
-
|
1
|
+
import { BaseProps, InputProps } from '@toptal/picasso';
|
2
2
|
import { ReactNode } from 'react';
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import { DateOrDateRangeType, DayProps } from '../Calendar';
|
3
|
+
import { DayProps } from '../Calendar';
|
4
|
+
import { DatePickerValue, DatePickerStringParser } from './types';
|
6
5
|
export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect' | 'type' | 'multiline' | 'rows' | 'defaultValue' | 'onChange'> {
|
7
|
-
/** Date that will be selected in
|
8
|
-
value?:
|
6
|
+
/** Date that will be selected in `DatePicker` */
|
7
|
+
value?: DatePickerValue;
|
9
8
|
/** Method that will be invoked with selected values */
|
10
|
-
onChange: (value:
|
11
|
-
/** Invoked when user goes away from
|
9
|
+
onChange: (value: DatePickerValue) => void;
|
10
|
+
/** Invoked when user goes away from `DatePicker` input */
|
12
11
|
onBlur?: () => void;
|
13
12
|
/** Whether calendar supports single date selection or range */
|
14
13
|
range?: boolean;
|
@@ -27,7 +26,7 @@ export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect'
|
|
27
26
|
}[];
|
28
27
|
/** Date format that user will see during manual input */
|
29
28
|
editDateFormat?: string;
|
30
|
-
/** Specify icon which should be rendered inside DatePicker */
|
29
|
+
/** Specify icon which should be rendered inside `DatePicker` */
|
31
30
|
icon?: ReactNode;
|
32
31
|
/** Specify a value if want to enable browser autofill */
|
33
32
|
autoComplete?: string;
|
@@ -40,6 +39,7 @@ export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect'
|
|
40
39
|
weekStartsOn?: number;
|
41
40
|
/** IANA timezone to display and edit date(s) */
|
42
41
|
timezone?: string;
|
42
|
+
parseInputValue?: DatePickerStringParser;
|
43
43
|
}
|
44
44
|
export declare const DatePicker: {
|
45
45
|
(props: Props): JSX.Element;
|
package/DatePicker/DatePicker.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
/* eslint-disable complexity, max-statements */ // Squiggly lines makes code difficult to work with
|
2
1
|
var __rest = (this && this.__rest) || function (s, e) {
|
3
2
|
var t = {};
|
4
3
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
@@ -10,23 +9,25 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
9
|
}
|
11
10
|
return t;
|
12
11
|
};
|
13
|
-
|
14
|
-
|
15
|
-
import parse from 'date-fns/parse';
|
12
|
+
/* eslint-disable max-lines-per-function, max-lines */
|
13
|
+
/* eslint-disable complexity, max-statements */ // Squiggly lines makes code difficult to work with
|
16
14
|
import { makeStyles } from '@material-ui/core/styles';
|
17
15
|
import { Container, Input, InputAdornment } from '@toptal/picasso';
|
18
|
-
import Popper from '@toptal/picasso/Popper';
|
19
16
|
import { Calendar16 } from '@toptal/picasso/Icon';
|
17
|
+
import Popper from '@toptal/picasso/Popper';
|
20
18
|
import { noop } from '@toptal/picasso/utils';
|
19
|
+
import formatDate from 'date-fns/format';
|
20
|
+
import React, { useCallback, useLayoutEffect, useRef, useState } from 'react';
|
21
21
|
import Calendar from '../Calendar';
|
22
|
+
import { DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT } from './constants';
|
22
23
|
import styles from './styles';
|
23
|
-
import { formatDateRange,
|
24
|
+
import { formatDateRange, datePickerParseDateString, timezoneConvert, timezoneFormat, isValidDateValue } from './utils';
|
24
25
|
const EMPTY_INPUT_VALUE = '';
|
25
26
|
const useStyles = makeStyles(styles, {
|
26
27
|
name: 'PicassoDatePicker'
|
27
28
|
});
|
28
29
|
export const DatePicker = (props) => {
|
29
|
-
const { range, hideOnSelect, displayDateFormat =
|
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 } = props, rest = __rest(props, ["range", "hideOnSelect", "displayDateFormat", "editDateFormat", "onBlur", "onChange", "value", "width", "icon", "minDate", "maxDate", "disabledIntervals", "popperContainer", "renderDay", "weekStartsOn", "timezone", "size", "parseInputValue"]);
|
30
31
|
const classes = useStyles();
|
31
32
|
const inputProps = rest;
|
32
33
|
const [calendarIsShown, setCalendarIsShown] = useState(false);
|
@@ -41,6 +42,9 @@ export const DatePicker = (props) => {
|
|
41
42
|
const inputWrapperRef = useRef(null);
|
42
43
|
// Format the input based on its 'focus' state
|
43
44
|
const formatInputValue = useCallback((valueToFormat) => {
|
45
|
+
if (!isValidDateValue(valueToFormat)) {
|
46
|
+
return valueToFormat;
|
47
|
+
}
|
44
48
|
return Array.isArray(valueToFormat)
|
45
49
|
? formatDateRange(valueToFormat, displayDateFormat)
|
46
50
|
: formatDate(valueToFormat, isInputFocused ? editDateFormat : displayDateFormat);
|
@@ -51,13 +55,16 @@ export const DatePicker = (props) => {
|
|
51
55
|
if (!value) {
|
52
56
|
return EMPTY_INPUT_VALUE;
|
53
57
|
}
|
58
|
+
if (!isValidDateValue(value)) {
|
59
|
+
return value;
|
60
|
+
}
|
54
61
|
return formatInputValue(timezoneConvert(value, timezone));
|
55
62
|
});
|
56
63
|
}, [value, timezone, formatInputValue]);
|
57
64
|
// Keep the calendar in sync with the input value
|
58
65
|
useLayoutEffect(() => {
|
59
66
|
setCalendarValue(() => {
|
60
|
-
if (!value) {
|
67
|
+
if (!value || !isValidDateValue(value)) {
|
61
68
|
return null;
|
62
69
|
}
|
63
70
|
return timezoneConvert(value, timezone);
|
@@ -88,13 +95,16 @@ export const DatePicker = (props) => {
|
|
88
95
|
if (!nextValue) {
|
89
96
|
onChange(null);
|
90
97
|
}
|
91
|
-
else
|
92
|
-
const
|
93
|
-
|
94
|
-
|
95
|
-
|
98
|
+
else {
|
99
|
+
const parsedInputValue = parseInputValue(nextValue, {
|
100
|
+
dateFormat: editDateFormat,
|
101
|
+
timezone,
|
102
|
+
minDate,
|
103
|
+
maxDate
|
104
|
+
});
|
105
|
+
if (parsedInputValue) {
|
106
|
+
onChange(parsedInputValue);
|
96
107
|
}
|
97
|
-
onChange(nextTimezoneValue);
|
98
108
|
}
|
99
109
|
};
|
100
110
|
const focus = () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAAA,+CAA+C,CAAC,mDAAmD
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/DatePicker/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oCAAoC,GAAG,YAAY,CAAA;AAChE,MAAM,CAAC,MAAM,uCAAuC,GAAG,aAAa,CAAA"}
|
package/DatePicker/index.d.ts
CHANGED
@@ -1,2 +1,5 @@
|
|
1
1
|
export { default } from './DatePicker';
|
2
2
|
export type { Props as DatePickerProps } from './DatePicker';
|
3
|
+
export type { DatePickerValue, DatePickerStringParser } from './types';
|
4
|
+
export { datePickerParseDateString } from './utils';
|
5
|
+
export { DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT } from './constants';
|
package/DatePicker/index.js
CHANGED
package/DatePicker/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,oCAAoC,EAAE,uCAAuC,EAAE,MAAM,aAAa,CAAA"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { DateOrDateRangeType } from '../Calendar';
|
2
|
+
export declare type DatePickerValue = DateOrDateRangeType | string | null;
|
3
|
+
export declare type DatePickerStringParser = (value: string, params: {
|
4
|
+
dateFormat: string;
|
5
|
+
timezone?: string;
|
6
|
+
minDate?: Date;
|
7
|
+
maxDate?: Date;
|
8
|
+
}) => DateOrDateRangeType | string | undefined;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/DatePicker/types.ts"],"names":[],"mappings":""}
|
package/DatePicker/utils.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { DatePickerStringParser } from './types';
|
1
2
|
import { DateOrDateRangeType, DateRangeType } from '../Calendar';
|
2
3
|
export declare const timezoneConvert: (date: DateOrDateRangeType, timeZone?: string | undefined) => DateOrDateRangeType;
|
3
4
|
export declare const timezoneFormat: (date: Date, timeZone?: string | undefined) => Date;
|
@@ -6,3 +7,5 @@ export declare const isDateValid: (date: string, pattern: string) => boolean;
|
|
6
7
|
export declare const isDateAfter: (date: Date, dateToCompare: Date) => boolean;
|
7
8
|
export declare const isDateBefore: (date: Date, dateToCompare: Date) => boolean;
|
8
9
|
export declare const isDateWithinInterval: (date: Date, minDate: Date | undefined, maxDate: Date | undefined) => boolean;
|
10
|
+
export declare const datePickerParseDateString: DatePickerStringParser;
|
11
|
+
export declare const isValidDateValue: (dateValue: DateOrDateRangeType | string) => dateValue is DateOrDateRangeType;
|
package/DatePicker/utils.js
CHANGED
@@ -72,4 +72,16 @@ export const isDateWithinInterval = (date, minDate, maxDate) => {
|
|
72
72
|
}
|
73
73
|
return false;
|
74
74
|
};
|
75
|
+
export const datePickerParseDateString = (value, { dateFormat, timezone, minDate, maxDate }) => {
|
76
|
+
if (!isDateValid(value, dateFormat)) {
|
77
|
+
return;
|
78
|
+
}
|
79
|
+
const parsedNextValue = parse(value, dateFormat, new Date());
|
80
|
+
const nextTimezoneValue = timezoneFormat(parsedNextValue, timezone);
|
81
|
+
if (!isDateWithinInterval(nextTimezoneValue, minDate, maxDate)) {
|
82
|
+
return;
|
83
|
+
}
|
84
|
+
return nextTimezoneValue;
|
85
|
+
};
|
86
|
+
export const isValidDateValue = (dateValue) => typeof dateValue !== 'string';
|
75
87
|
//# sourceMappingURL=utils.js.map
|
package/DatePicker/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DatePicker/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAA;AAClC,OAAO,OAAO,MAAM,kBAAkB,CAAA;AACtC,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,gBAAgB,MAAM,2BAA2B,CAAA;AACxD,OAAO,OAAO,MAAM,kBAAkB,CAAA;AACtC,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,OAAO,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DatePicker/utils.ts"],"names":[],"mappings":"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"}
|
package/Dropzone/styles.d.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
import { Theme } from '@material-ui/core/styles';
|
2
|
-
declare const _default: ({ palette, sizes, transitions }: Theme) => import("@material-ui/styles").StyleRules<{}, "disabled" | "
|
2
|
+
declare const _default: ({ palette, sizes, transitions }: Theme) => import("@material-ui/styles").StyleRules<{}, "disabled" | "error" | "root" | "focused" | "hovered" | "hint" | "completed" | "dragActive">;
|
3
3
|
export default _default;
|
package/index.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
export { default as Calendar } from './Calendar';
|
2
2
|
export type { DateOrDateRangeType } from './Calendar';
|
3
|
-
export { default as DatePicker } from './DatePicker';
|
4
|
-
export type { DatePickerProps } from './DatePicker';
|
3
|
+
export { default as DatePicker, datePickerParseDateString, DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT } from './DatePicker';
|
4
|
+
export type { DatePickerValue, DatePickerStringParser, DatePickerProps } from './DatePicker';
|
5
5
|
export { default as Drawer } from './Drawer';
|
6
6
|
export type { DrawerProps } from './Drawer';
|
7
7
|
export { default as Dropzone, ErrorCode as DropzoneErrorCode } from './Dropzone';
|
package/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
export { default as Calendar } from './Calendar';
|
2
|
-
export { default as DatePicker } from './DatePicker';
|
2
|
+
export { default as DatePicker, datePickerParseDateString, DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT } from './DatePicker';
|
3
3
|
export { default as Drawer } from './Drawer';
|
4
4
|
export { default as Dropzone, ErrorCode as DropzoneErrorCode } from './Dropzone';
|
5
5
|
export { default as OverviewBlock } from './OverviewBlock';
|
package/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EACL,OAAO,IAAI,UAAU,EACrB,yBAAyB,EACzB,uCAAuC,EACvC,oCAAoC,EACrC,MAAM,cAAc,CAAA;AAMrB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAE5C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQhF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE1D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AAExC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEhD,qEAAqE"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@toptal/picasso-lab",
|
3
|
-
"version": "9.
|
3
|
+
"version": "9.2.0",
|
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",
|
@@ -30,7 +30,7 @@
|
|
30
30
|
"react-dom": "^16.12.0"
|
31
31
|
},
|
32
32
|
"dependencies": {
|
33
|
-
"@toptal/picasso-provider": "0.3.
|
33
|
+
"@toptal/picasso-provider": "^0.3.0",
|
34
34
|
"ap-style-title-case": "^1.1.2",
|
35
35
|
"classnames": "^2.3.1",
|
36
36
|
"date-fns": "^2.9.0",
|
@@ -50,5 +50,5 @@
|
|
50
50
|
"**/styles.ts",
|
51
51
|
"**/styles.js"
|
52
52
|
],
|
53
|
-
"gitHead": "
|
53
|
+
"gitHead": "02220516718213082a8c8e23d1e6c8c72126b142"
|
54
54
|
}
|