@toptal/picasso-lab 17.0.0 → 18.0.1-alpha-fx-2321-extending-treeview-with-static-use-case-support-for-topteam-frontend-needs.2627
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 +3 -2
- package/DatePicker/DatePicker.js +31 -24
- package/DatePicker/DatePicker.js.map +1 -1
- package/DatePicker/index.d.ts +1 -1
- package/DatePicker/types.d.ts +9 -4
- package/DatePicker/utils.d.ts +2 -2
- package/DatePicker/utils.js +9 -3
- package/DatePicker/utils.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js.map +1 -1
- package/package.json +5 -4
@@ -1,7 +1,7 @@
|
|
1
1
|
import { BaseProps, InputProps } from '@toptal/picasso';
|
2
2
|
import { ReactNode } from 'react';
|
3
3
|
import { DayProps } from '../Calendar';
|
4
|
-
import { DatePickerValue,
|
4
|
+
import { DatePickerValue, DatePickerInputCustomValueParser } from './types';
|
5
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;
|
@@ -39,7 +39,8 @@ export interface Props extends BaseProps, Omit<InputProps, 'value' | 'onSelect'
|
|
39
39
|
weekStartsOn?: number;
|
40
40
|
/** IANA timezone to display and edit date(s) */
|
41
41
|
timezone?: string;
|
42
|
-
|
42
|
+
/** Custom parser for `DatePicker`'s input value to process custom input value, like, human-readable dates */
|
43
|
+
parseInputValue?: DatePickerInputCustomValueParser;
|
43
44
|
testIds?: InputProps['testIds'] & {
|
44
45
|
calendar?: string;
|
45
46
|
input?: string;
|
package/DatePicker/DatePicker.js
CHANGED
@@ -21,13 +21,13 @@ import React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from '
|
|
21
21
|
import Calendar from '../Calendar';
|
22
22
|
import { DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT } from './constants';
|
23
23
|
import styles from './styles';
|
24
|
-
import { formatDateRange, datePickerParseDateString, timezoneConvert, timezoneFormat,
|
24
|
+
import { formatDateRange, datePickerParseDateString, timezoneConvert, timezoneFormat, getStartOfTheDayDate } from './utils';
|
25
25
|
const EMPTY_INPUT_VALUE = '';
|
26
26
|
const useStyles = makeStyles(styles, {
|
27
27
|
name: 'PicassoDatePicker'
|
28
28
|
});
|
29
29
|
export const DatePicker = (props) => {
|
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
|
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, testIds } = props, rest = __rest(props, ["range", "hideOnSelect", "displayDateFormat", "editDateFormat", "onBlur", "onChange", "value", "width", "icon", "minDate", "maxDate", "disabledIntervals", "popperContainer", "renderDay", "weekStartsOn", "timezone", "size", "parseInputValue", "testIds"]);
|
31
31
|
const classes = useStyles();
|
32
32
|
const inputProps = rest;
|
33
33
|
const [calendarIsShown, setCalendarIsShown] = useState(false);
|
@@ -45,29 +45,36 @@ export const DatePicker = (props) => {
|
|
45
45
|
const inputWrapperRef = useRef(null);
|
46
46
|
// Format the input based on its 'focus' state
|
47
47
|
const formatInputValue = useCallback((valueToFormat) => {
|
48
|
-
if (!isValidDateValue(valueToFormat)) {
|
49
|
-
return valueToFormat;
|
50
|
-
}
|
51
48
|
return Array.isArray(valueToFormat)
|
52
49
|
? formatDateRange(valueToFormat, displayDateFormat)
|
53
50
|
: formatDate(valueToFormat, isInputFocused ? editDateFormat : displayDateFormat);
|
54
51
|
}, [isInputFocused, editDateFormat, displayDateFormat]);
|
55
|
-
|
56
|
-
|
52
|
+
const updateInputValue = useCallback(({ preventUpdateOnFocus }) => {
|
53
|
+
if (preventUpdateOnFocus && isInputFocused) {
|
54
|
+
return;
|
55
|
+
}
|
57
56
|
setInputValue(() => {
|
58
57
|
if (!value) {
|
59
58
|
return EMPTY_INPUT_VALUE;
|
60
59
|
}
|
61
|
-
if (!isValidDateValue(value)) {
|
62
|
-
return value;
|
63
|
-
}
|
64
60
|
return formatInputValue(timezoneConvert(value, timezone));
|
65
61
|
});
|
66
|
-
}, [value, timezone, formatInputValue]);
|
62
|
+
}, [value, isInputFocused, timezone, formatInputValue]);
|
63
|
+
// Keep the input value in sync with date value update
|
64
|
+
// Updating on incoming date value or timezone change
|
65
|
+
// Should not update when input is focused to prevent overriding it's value
|
66
|
+
useLayoutEffect(() => {
|
67
|
+
updateInputValue({ preventUpdateOnFocus: true });
|
68
|
+
}, [value, timezone]);
|
69
|
+
// Keep the input format in sync with its 'focus' state
|
70
|
+
// Updating on input focus state change
|
71
|
+
useLayoutEffect(() => {
|
72
|
+
updateInputValue({ preventUpdateOnFocus: false });
|
73
|
+
}, [isInputFocused]);
|
67
74
|
// Keep the calendar in sync with the input value
|
68
75
|
useLayoutEffect(() => {
|
69
76
|
setCalendarValue(() => {
|
70
|
-
if (!value
|
77
|
+
if (!value) {
|
71
78
|
return null;
|
72
79
|
}
|
73
80
|
return timezoneConvert(value, timezone);
|
@@ -93,21 +100,20 @@ export const DatePicker = (props) => {
|
|
93
100
|
return;
|
94
101
|
}
|
95
102
|
const nextValue = e.target.value;
|
96
|
-
// TODO: add char filtering (only number , `-` or ` ` allowed)
|
103
|
+
// TODO: add char filtering (only number , `-` or ` ` allowed) in case if `parseInputValue` is not set
|
97
104
|
setInputValue(nextValue);
|
98
105
|
if (!nextValue) {
|
99
|
-
onChange(null);
|
106
|
+
return onChange(null);
|
100
107
|
}
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
}
|
108
|
+
const parsedInputDate = datePickerParseDateString(nextValue, {
|
109
|
+
customParser: parseInputValue,
|
110
|
+
dateFormat: editDateFormat,
|
111
|
+
timezone,
|
112
|
+
minDate: normalizedMinDate,
|
113
|
+
maxDate: normalizedMaxDate
|
114
|
+
});
|
115
|
+
if (parsedInputDate) {
|
116
|
+
onChange(parsedInputDate);
|
111
117
|
}
|
112
118
|
};
|
113
119
|
const focus = () => {
|
@@ -120,6 +126,7 @@ export const DatePicker = (props) => {
|
|
120
126
|
? nextValue.map((date) => timezoneFormat(date, timezone))
|
121
127
|
: timezoneFormat(nextValue, timezone);
|
122
128
|
onChange(nextTimezoneValue);
|
129
|
+
setInputValue(formatInputValue(nextValue));
|
123
130
|
setCalendarValue(nextTimezoneValue);
|
124
131
|
if (hideOnSelect) {
|
125
132
|
focus();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,sDAAsD;AACtD,+CAA+C,CAAC,mDAAmD;AACnG,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAEL,SAAS,EACT,KAAK,EACL,cAAc,EAEf,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,OAAO,KAAK,EAAE,EAGZ,WAAW,EACX,eAAe,EACf,OAAO,EACP,MAAM,EACN,QAAQ,EACT,MAAM,OAAO,CAAA;AAEd,OAAO,QAIN,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,uCAAuC,EACvC,oCAAoC,EACrC,MAAM,aAAa,CAAA;AACpB,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,sDAAsD;AACtD,+CAA+C,CAAC,mDAAmD;AACnG,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAEL,SAAS,EACT,KAAK,EACL,cAAc,EAEf,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,OAAO,KAAK,EAAE,EAGZ,WAAW,EACX,eAAe,EACf,OAAO,EACP,MAAM,EACN,QAAQ,EACT,MAAM,OAAO,CAAA;AAEd,OAAO,QAIN,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,uCAAuC,EACvC,oCAAoC,EACrC,MAAM,aAAa,CAAA;AACpB,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAA;AAwDF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,EAAE;IACzC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,iBAAiB,GAAG,uCAAuC,EAC3D,cAAc,GAAG,oCAAoC,EACrD,MAAM,GAAG,IAAI,EACb,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,eAAe,EACf,OAAO,KAEL,KAAK,EADJ,IAAI,UACL,KAAK,EArBH,6PAqBL,CAAQ,CAAA;IACT,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,UAAU,GAAG,IAAI,CAAA;IAEvB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAC/D,MAAM,CACJ,aAAa,EACb,gBAAgB,CACjB,GAAG,QAAQ,CAA6B,IAAI,CAAC,CAAA;IAE9C,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1D,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAEtB,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAW,IAAI,CAAC,CAAA;IACxC,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAChD,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAEpD,8CAA8C;IAC9C,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,aAAkC,EAAE,EAAE;QACrC,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACjC,CAAC,CAAC,eAAe,CAAC,aAA8B,EAAE,iBAAiB,CAAC;YACpE,CAAC,CAAC,UAAU,CACR,aAAqB,EACrB,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CACpD,CAAA;IACP,CAAC,EACD,CAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,CAAC,CACpD,CAAA;IAED,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,EAAE,oBAAoB,EAAsC,EAAE,EAAE;QAC/D,IAAI,oBAAoB,IAAI,cAAc,EAAE;YAC1C,OAAM;SACP;QAED,aAAa,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,iBAAiB,CAAA;aACzB;YAED,OAAO,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CACpD,CAAA;IAED,sDAAsD;IACtD,qDAAqD;IACrD,2EAA2E;IAC3E,eAAe,CAAC,GAAG,EAAE;QACnB,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAErB,uDAAuD;IACvD,uCAAuC;IACvC,eAAe,CAAC,GAAG,EAAE;QACnB,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAA;IACnD,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB,iDAAiD;IACjD,eAAe,CAAC,GAAG,EAAE;QACnB,gBAAgB,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,IAAI,CAAA;aACZ;YAED,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAErB,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,EAAE;;QACxC,OAAO,CACL,CAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;aACxC,MAAA,eAAe,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,CACxC,CAAA;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,KAAuC,EAAE,EAAE;QAC7D,MAAM,yBAAyB,GAAG,kBAAkB,CAClD,CAAC,KAAK,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAS,CACxD,CAAA;QAED,IAAI,yBAAyB,EAAE;YAC7B,OAAM;SACP;QAED,YAAY,EAAE,CAAA;QACd,MAAM,EAAE,CAAA;QAER,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CACxB,CAEC,EACD,EAAE;QACF,0DAA0D;QAC1D,IAAI,KAAK,EAAE;YACT,OAAM;SACP;QAED,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;QAEhC,sGAAsG;QACtG,aAAa,CAAC,SAAS,CAAC,CAAA;QAExB,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;SACtB;QAED,MAAM,eAAe,GAAG,yBAAyB,CAAC,SAAS,EAAE;YAC3D,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,cAAc;YAC1B,QAAQ;YACR,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAA;QAEF,IAAI,eAAe,EAAE;YACnB,QAAQ,CAAC,eAAe,CAAC,CAAA;SAC1B;IACH,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;YAChC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;SACzB;IACH,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAAC,SAA8B,EAAE,EAAE;QAC9D,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAChD,CAAC,CAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAC5B,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CACb;YACrB,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAEvC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;QAC3B,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1C,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;QAEnC,IAAI,YAAY,EAAE;YAChB,KAAK,EAAE,CAAA;YACP,YAAY,EAAE,CAAA;SACf;IACH,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAC,KAAsC,EAAE,EAAE;;QACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QAErB,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,YAAY,EAAE,CAAA;YACd,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;YAE1B,OAAM;SACP;QAED,IAAI,GAAG,KAAK,OAAO,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE;gBACpB,YAAY,EAAE,CAAA;aACf;iBAAM;gBACL,YAAY,EAAE,CAAA;aACf;YAED,OAAM;SACP;QAED,IAAI,GAAG,KAAK,KAAK,IAAI,eAAe,EAAE;YACpC,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,eAAe,EAAE,CAAA;YAEvB,IAAI,CAAC,eAAe,EAAE;gBACpB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;aAC3B;iBAAM;gBACL,6DAA6D;gBAC7D,MAAM,WAAW,GAAG,MAAA,WAAW,CAAC,OAAO,0CAAE,aAAa,CACpD,6BAA6B,CAC9B,CAAA;gBAED,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,KAAK,EAAE,CAAA;iBACpB;aACF;SACF;IACH,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,YAAY,EAAE,CAAA;QACd,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,cAAc,GAClB,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACjB,oBAAC,cAAc,IAAC,QAAQ,EAAC,OAAO,EAAC,oBAAoB,UAClD,IAAI,IAAI,oBAAC,UAAU,OAAG,CACR,CAClB,CAAC,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,CACL;QACE,oBAAC,SAAS,IAAC,MAAM,EAAE,KAAK,KAAK,MAAM,EAAE,GAAG,EAAE,eAAe;YACvD,oBAAC,KAAK,oBACA,UAAU,IACd,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,iBACH,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,IAC3B,CACQ;QACX,eAAe,CAAC,OAAO,IAAI,CAC1B,oBAAC,MAAM,IACL,SAAS,EAAC,cAAc,EACxB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,CAAC,OAAO,EACjC,SAAS,EAAE,KAAK,EAChB,iBAAiB,QACjB,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS;YAEd,oBAAC,QAAQ,mBACM,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAC9B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,SAAS,EACjC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAC3B,YAAY,EAAE,YAAY,GAC1B,CACK,CACV,CACA,CACJ,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,YAAY,GAAG;IACxB,KAAK,EAAE,KAAK;IACZ,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,YAAY;IAC5B,iBAAiB,EAAE,aAAa;IAChC,YAAY,EAAE,KAAK;CACpB,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
|
package/DatePicker/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
export { default } from './DatePicker';
|
2
2
|
export type { Props as DatePickerProps } from './DatePicker';
|
3
|
-
export type { DatePickerValue,
|
3
|
+
export type { DatePickerValue, DatePickerInputCustomValueParser, DatePickerInputCustomValueParserParameters } from './types';
|
4
4
|
export { datePickerParseDateString } from './utils';
|
5
5
|
export { DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT, DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT } from './constants';
|
package/DatePicker/types.d.ts
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
import { DateOrDateRangeType } from '../Calendar';
|
2
|
-
export declare type DatePickerValue = DateOrDateRangeType |
|
3
|
-
export declare type
|
2
|
+
export declare type DatePickerValue = DateOrDateRangeType | null;
|
3
|
+
export declare type DatePickerInputValueParserParameters = {
|
4
|
+
customParser?: DatePickerInputCustomValueParser;
|
4
5
|
dateFormat: string;
|
5
|
-
timezone?: string;
|
6
6
|
minDate?: Date;
|
7
7
|
maxDate?: Date;
|
8
|
-
|
8
|
+
timezone?: string;
|
9
|
+
};
|
10
|
+
export declare type DatePickerInputCustomValueParserParameters = {
|
11
|
+
timezone?: string;
|
12
|
+
};
|
13
|
+
export declare type DatePickerInputCustomValueParser = (value: string, params: DatePickerInputCustomValueParserParameters) => Date | null | undefined;
|
package/DatePicker/utils.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { DatePickerInputValueParserParameters } from './types';
|
2
2
|
import { DateOrDateRangeType, DateRangeType } from '../Calendar';
|
3
3
|
export declare const timezoneConvert: (date: DateOrDateRangeType, timeZone?: string | undefined) => DateOrDateRangeType;
|
4
4
|
export declare const timezoneFormat: (date: Date, timeZone?: string | undefined) => Date;
|
@@ -7,6 +7,6 @@ export declare const isDateValid: (date: string, pattern: string) => boolean;
|
|
7
7
|
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
|
-
export declare const datePickerParseDateString:
|
10
|
+
export declare const datePickerParseDateString: (value: string, { customParser, dateFormat, timezone, minDate, maxDate }: DatePickerInputValueParserParameters) => Date | undefined;
|
11
11
|
export declare const isValidDateValue: (dateValue: DateOrDateRangeType | string) => dateValue is DateOrDateRangeType;
|
12
12
|
export declare const getStartOfTheDayDate: (date?: Date | undefined) => Date | undefined;
|
package/DatePicker/utils.js
CHANGED
@@ -72,11 +72,17 @@ 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 (!
|
75
|
+
export const datePickerParseDateString = (value, { customParser, dateFormat, timezone, minDate, maxDate }) => {
|
76
|
+
if (!value) {
|
77
|
+
return;
|
78
|
+
}
|
79
|
+
const isValidDateString = isDateValid(value, dateFormat);
|
80
|
+
const parsedNextValue = customParser && !isValidDateString
|
81
|
+
? customParser(value, { timezone })
|
82
|
+
: parse(value, dateFormat, new Date());
|
83
|
+
if (!parsedNextValue || !isValid(parsedNextValue)) {
|
77
84
|
return;
|
78
85
|
}
|
79
|
-
const parsedNextValue = parse(value, dateFormat, new Date());
|
80
86
|
const nextTimezoneValue = timezoneFormat(parsedNextValue, timezone);
|
81
87
|
if (!isDateWithinInterval(nextTimezoneValue, minDate, maxDate)) {
|
82
88
|
return;
|
package/DatePicker/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DatePicker/utils.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/DatePicker/utils.ts"],"names":[],"mappings":"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"}
|
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
3
|
export { default as DatePicker, datePickerParseDateString, DEFAULT_DATE_PICKER_DISPLAY_DATE_FORMAT, DEFAULT_DATE_PICKER_EDIT_DATE_FORMAT } from './DatePicker';
|
4
|
-
export type { DatePickerValue,
|
4
|
+
export type { DatePickerValue, DatePickerInputCustomValueParser, DatePickerInputCustomValueParserParameters, 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.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,EACL,OAAO,IAAI,UAAU,EACrB,yBAAyB,EACzB,uCAAuC,EACvC,oCAAoC,EACrC,MAAM,cAAc,CAAA;
|
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;AAOrB,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": "
|
3
|
+
"version": "18.0.1-alpha-fx-2321-extending-treeview-with-static-use-case-support-for-topteam-frontend-needs.2627+dab0aab6",
|
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,14 +24,14 @@
|
|
24
24
|
},
|
25
25
|
"peerDependencies": {
|
26
26
|
"@material-ui/core": "4.11.0",
|
27
|
-
"@toptal/picasso": "^
|
27
|
+
"@toptal/picasso": "^16.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.
|
34
|
+
"@toptal/picasso-provider": "0.4.2-alpha-fx-2321-extending-treeview-with-static-use-case-support-for-topteam-frontend-needs.2627+dab0aab6",
|
35
35
|
"ap-style-title-case": "^1.1.2",
|
36
36
|
"classnames": "^2.3.1",
|
37
37
|
"date-fns": "^2.9.0",
|
@@ -50,5 +50,6 @@
|
|
50
50
|
"sideEffects": [
|
51
51
|
"**/styles.ts",
|
52
52
|
"**/styles.js"
|
53
|
-
]
|
53
|
+
],
|
54
|
+
"gitHead": "dab0aab612d20a70a15c39961da3b253a57881ae"
|
54
55
|
}
|