@toptal/picasso-lab 17.0.0 → 17.0.1-alpha-FX-2324-custom-date-picker-parsers.2626

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.
@@ -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, DatePickerStringParser } from './types';
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
- parseInputValue?: DatePickerStringParser;
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;
@@ -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, isValidDateValue, getStartOfTheDayDate } from './utils';
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 = 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"]);
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
- // Keep the input format in sync with its 'focus' state
56
- useLayoutEffect(() => {
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 || !isValidDateValue(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
- else {
102
- const parsedInputValue = parseInputValue(nextValue, {
103
- dateFormat: editDateFormat,
104
- timezone,
105
- minDate: normalizedMinDate,
106
- maxDate: normalizedMaxDate
107
- });
108
- if (parsedInputValue) {
109
- onChange(parsedInputValue);
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,gBAAgB,EAChB,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;AAuDF,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,GAAG,yBAAyB,EAC3C,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,aAA2C,EAAE,EAAE;QAC9C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;YACpC,OAAO,aAAa,CAAA;SACrB;QAED,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,uDAAuD;IACvD,eAAe,CAAC,GAAG,EAAE;QACnB,aAAa,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,iBAAiB,CAAA;aACzB;YAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO,KAAK,CAAA;aACb;YAED,OAAO,gBAAgB,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAEvC,iDAAiD;IACjD,eAAe,CAAC,GAAG,EAAE;QACnB,gBAAgB,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBACtC,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,8DAA8D;QAC9D,aAAa,CAAC,SAAS,CAAC,CAAA;QACxB,IAAI,CAAC,SAAS,EAAE;YACd,QAAQ,CAAC,IAAI,CAAC,CAAA;SACf;aAAM;YACL,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,EAAE;gBAClD,UAAU,EAAE,cAAc;gBAC1B,QAAQ;gBACR,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,iBAAiB;aAC3B,CAAC,CAAA;YAEF,IAAI,gBAAgB,EAAE;gBACpB,QAAQ,CAAC,gBAAgB,CAAC,CAAA;aAC3B;SACF;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,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"}
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { default } from './DatePicker';
2
2
  export type { Props as DatePickerProps } from './DatePicker';
3
- export type { DatePickerValue, DatePickerStringParser } from './types';
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';
@@ -1,8 +1,13 @@
1
1
  import { DateOrDateRangeType } from '../Calendar';
2
- export declare type DatePickerValue = DateOrDateRangeType | string | null;
3
- export declare type DatePickerStringParser = (value: string, params: {
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
- }) => DateOrDateRangeType | string | undefined;
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;
@@ -1,4 +1,4 @@
1
- import { DatePickerStringParser } from './types';
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: DatePickerStringParser;
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;
@@ -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 (!isDateValid(value, dateFormat)) {
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;
@@ -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, DatePickerStringParser, DatePickerProps } from './DatePicker';
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;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"}
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": "17.0.0",
3
+ "version": "17.0.1-alpha-FX-2324-custom-date-picker-parsers.2626+d4b2e6c9",
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",
@@ -31,7 +31,7 @@
31
31
  "react-dom": "^16.12.0"
32
32
  },
33
33
  "dependencies": {
34
- "@toptal/picasso-provider": "0.4.1",
34
+ "@toptal/picasso-provider": "0.4.2-alpha-FX-2324-custom-date-picker-parsers.2626+d4b2e6c9",
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": "d4b2e6c91f0f93a54d425ba4edda8b998abb57cf"
54
55
  }