@servicetitan/design-system 12.6.2 → 12.7.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.
Files changed (120) hide show
  1. package/dist/components/ActionMenu/ActionMenu.css +3 -2
  2. package/dist/components/ActionMenu/ActionMenu.css.map +1 -1
  3. package/dist/components/ActionMenu/index.css +3 -2
  4. package/dist/components/ActionMenu/index.css.map +1 -1
  5. package/dist/components/Announcement/Announcement.css +1 -0
  6. package/dist/components/Announcement/Announcement.css.map +1 -1
  7. package/dist/components/Announcement/index.css +1 -0
  8. package/dist/components/Announcement/index.css.map +1 -1
  9. package/dist/components/AnvilSelect/AnvilSelect.css +2 -3
  10. package/dist/components/AnvilSelect/AnvilSelect.css.map +1 -1
  11. package/dist/components/AnvilSelect/components/Trigger.css +2 -3
  12. package/dist/components/AnvilSelect/components/Trigger.css.map +1 -1
  13. package/dist/components/AnvilSelect/index.css +2 -3
  14. package/dist/components/AnvilSelect/index.css.map +1 -1
  15. package/dist/components/BackLink/BackLink.css +1 -0
  16. package/dist/components/BackLink/BackLink.css.map +1 -1
  17. package/dist/components/BackLink/index.css +1 -0
  18. package/dist/components/BackLink/index.css.map +1 -1
  19. package/dist/components/Card/Card.css +2 -0
  20. package/dist/components/Card/Card.css.map +1 -1
  21. package/dist/components/Card/index.css +2 -0
  22. package/dist/components/Card/index.css.map +1 -1
  23. package/dist/components/DatePicker/DatePicker.css.map +1 -1
  24. package/dist/components/DatePicker/DatePicker.js +52 -23
  25. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  26. package/dist/components/DatePicker/InputDateMask.d.ts +2 -0
  27. package/dist/components/DatePicker/InputDateMask.js +8 -3
  28. package/dist/components/DatePicker/InputDateMask.js.map +1 -1
  29. package/dist/components/DatePicker/index.css.map +1 -1
  30. package/dist/components/DateRangePicker/DateRangePicker.js +152 -161
  31. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
  32. package/dist/components/DateRangePicker/DateRangePicker.test.js +72 -7
  33. package/dist/components/DateRangePicker/DateRangePicker.test.js.map +1 -1
  34. package/dist/components/DateRangePicker/components/DateRangeInput.d.ts +3 -1
  35. package/dist/components/DateRangePicker/components/DateRangeInput.js +31 -11
  36. package/dist/components/DateRangePicker/components/DateRangeInput.js.map +1 -1
  37. package/dist/components/DateRangePicker/components/DateRangeOptionList.d.ts +2 -2
  38. package/dist/components/DateRangePicker/components/DateRangeOptionList.js +1 -1
  39. package/dist/components/DateRangePicker/components/DateRangeOptionList.js.map +1 -1
  40. package/dist/components/DateRangePicker/utils/checkScope.d.ts +8 -3
  41. package/dist/components/DateRangePicker/utils/checkScope.js +36 -7
  42. package/dist/components/DateRangePicker/utils/checkScope.js.map +1 -1
  43. package/dist/components/FormField/FormField.css.map +1 -1
  44. package/dist/components/FormField/index.css.map +1 -1
  45. package/dist/components/Frame/Frame.css.map +1 -1
  46. package/dist/components/Frame/index.css.map +1 -1
  47. package/dist/components/Headline/Headline.css +2 -2
  48. package/dist/components/Headline/Headline.css.map +1 -1
  49. package/dist/components/Headline/index.css +2 -2
  50. package/dist/components/Headline/index.css.map +1 -1
  51. package/dist/components/Modal/Modal.css +1 -0
  52. package/dist/components/Modal/Modal.css.map +1 -1
  53. package/dist/components/Modal/index.css +1 -0
  54. package/dist/components/Modal/index.css.map +1 -1
  55. package/dist/components/OptionList/OptionList.css +3 -1
  56. package/dist/components/OptionList/OptionList.css.map +1 -1
  57. package/dist/components/OptionList/index.css +3 -1
  58. package/dist/components/OptionList/index.css.map +1 -1
  59. package/dist/components/Snackbar/Snackbar.css +1 -0
  60. package/dist/components/Snackbar/Snackbar.css.map +1 -1
  61. package/dist/components/Snackbar/index.css +1 -0
  62. package/dist/components/Snackbar/index.css.map +1 -1
  63. package/dist/components/Tag/Tag.css +1 -0
  64. package/dist/components/Tag/Tag.css.map +1 -1
  65. package/dist/components/Tag/index.css +1 -0
  66. package/dist/components/Tag/index.css.map +1 -1
  67. package/dist/components/TimePicker/TimePicker.css +7 -1
  68. package/dist/components/TimePicker/TimePicker.css.map +1 -1
  69. package/dist/components/TimePicker/TimePicker.d.ts +2 -1
  70. package/dist/components/TimePicker/TimePicker.js +109 -65
  71. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  72. package/dist/components/TimePicker/components/TimePickerOptionList.d.ts +5 -1
  73. package/dist/components/TimePicker/components/TimePickerOptionList.js +40 -30
  74. package/dist/components/TimePicker/components/TimePickerOptionList.js.map +1 -1
  75. package/dist/components/TimePicker/index.css +7 -1
  76. package/dist/components/TimePicker/index.css.map +1 -1
  77. package/dist/components/TimePicker/utils/{timePickerUtils.test.d.ts → TimePickerUtils.test.d.ts} +0 -0
  78. package/dist/components/TimePicker/utils/{timePickerUtils.test.js → TimePickerUtils.test.js} +2 -2
  79. package/dist/components/TimePicker/utils/{timePickerUtils.test.js.map → TimePickerUtils.test.js.map} +1 -1
  80. package/dist/components/TimePicker/utils/highlightOption.d.ts +2 -0
  81. package/dist/components/TimePicker/utils/highlightOption.js +17 -0
  82. package/dist/components/TimePicker/utils/highlightOption.js.map +1 -0
  83. package/dist/components/TimePicker/utils/index.d.ts +2 -2
  84. package/dist/components/TimePicker/utils/index.js +2 -2
  85. package/dist/components/TimePicker/utils/index.js.map +1 -1
  86. package/dist/components/TimePicker/utils/injectOption.d.ts +2 -0
  87. package/dist/components/TimePicker/utils/injectOption.js +15 -0
  88. package/dist/components/TimePicker/utils/injectOption.js.map +1 -0
  89. package/dist/components/Tooltip/Tooltip.css +3 -0
  90. package/dist/components/Tooltip/Tooltip.css.map +1 -1
  91. package/dist/components/Tooltip/index.css +3 -0
  92. package/dist/components/Tooltip/index.css.map +1 -1
  93. package/dist/components/index.css +24 -8
  94. package/dist/components/index.css.map +1 -1
  95. package/dist/global/index.css +1 -1
  96. package/dist/global/version.css +1 -1
  97. package/dist/internal/Popper/Popper.css +3 -0
  98. package/dist/internal/Popper/Popper.css.map +1 -1
  99. package/dist/internal/Popper/Popper.d.ts +2 -0
  100. package/dist/internal/Popper/Popper.js +2 -2
  101. package/dist/internal/Popper/Popper.js.map +1 -1
  102. package/dist/internal/Popper/index.css +3 -0
  103. package/dist/internal/Popper/index.css.map +1 -1
  104. package/dist/internal/index.css +3 -0
  105. package/dist/internal/index.css.map +1 -1
  106. package/dist/system-light.css +524 -17
  107. package/dist/system-light.css.map +1 -1
  108. package/dist/system-light.min.css +1 -1
  109. package/dist/system.css +545 -25
  110. package/dist/system.css.map +1 -1
  111. package/dist/system.min.css +2 -2
  112. package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js +5 -5
  113. package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js.map +1 -1
  114. package/package.json +7 -7
  115. package/dist/components/TimePicker/utils/highlightClosestOption.d.ts +0 -2
  116. package/dist/components/TimePicker/utils/highlightClosestOption.js +0 -13
  117. package/dist/components/TimePicker/utils/highlightClosestOption.js.map +0 -1
  118. package/dist/components/TimePicker/utils/withClosestOption.d.ts +0 -2
  119. package/dist/components/TimePicker/utils/withClosestOption.js +0 -14
  120. package/dist/components/TimePicker/utils/withClosestOption.js.map +0 -1
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useContext, useRef, useCallback } from 'react';
12
+ import React, { useContext, useRef } from 'react';
13
13
  import { KeyPressListener } from '../KeyPressListener';
14
14
  import { Popover } from '../Popover';
15
15
  import { Stack } from '../Stack';
@@ -19,12 +19,12 @@ import { Link } from '../Link';
19
19
  import { DateRangeInput, DateRangeTrigger, DateRangeOptionList, } from './components';
20
20
  import { MultiViewCalendar, CalendarCell, } from '@progress/kendo-react-dateinputs';
21
21
  import { Keys } from '../../utilities/keyCodes';
22
- import { checkScope } from './utils/checkScope';
23
- import { toDateFormat } from '../../utilities/dateFormat';
22
+ import { isValid } from '../../utilities/dateFormat';
24
23
  import { TimezoneContext } from '../../utilities/TimezoneProvider';
25
24
  import { DateTime } from 'luxon';
25
+ import { checkScope } from './utils';
26
26
  export const DateRangePicker = (_a) => {
27
- var _b;
27
+ var _b, _c, _d, _e, _f, _g, _h;
28
28
  var {
29
29
  // for trigger
30
30
  size = 'medium', disabled, error, placeholder, required,
@@ -33,123 +33,59 @@ export const DateRangePicker = (_a) => {
33
33
  // for popover
34
34
  options, direction = 'br', open, disableCloseOnClickOutside, onClickOutside, onOpenChange, autoFlipHorizontally, autoFlipVertically, focusTrapOptions, dateFormat,
35
35
  // for calendar
36
- value, defaultValue, displayValue, onChange, maxDate, minDate, focusedDate = new Date(), views = 1, isoFormat,
36
+ value, defaultValue, displayValue, onChange, maxDate, minDate, focusedDate, views = 1, isoFormat,
37
37
  // for inputs
38
38
  startPlaceholder = 'Start Date', endPlaceholder = 'End Date' } = _a, rest = __rest(_a, ["size", "disabled", "error", "placeholder", "required", "trigger", "options", "direction", "open", "disableCloseOnClickOutside", "onClickOutside", "onOpenChange", "autoFlipHorizontally", "autoFlipVertically", "focusTrapOptions", "dateFormat", "value", "defaultValue", "displayValue", "onChange", "maxDate", "minDate", "focusedDate", "views", "isoFormat", "startPlaceholder", "endPlaceholder"]);
39
39
  const triggerRef = React.useRef(null);
40
- const [IError, setIError] = React.useState(error);
41
40
  const timezone = useContext(TimezoneContext);
42
41
  const getNewToday = DateTime.fromJSDate(new Date(), {
43
42
  zone: timezone,
44
43
  });
45
- const convertStart = useCallback((value) => {
46
- return value
47
- ? DateTime.fromJSDate(value, {
48
- zone: timezone,
49
- }).startOf('day')
50
- : null;
51
- }, [timezone]);
52
- const convertEnd = useCallback((value) => {
53
- return value
54
- ? DateTime.fromJSDate(value, {
55
- zone: timezone,
56
- }).endOf('day')
57
- : null;
58
- }, [timezone]);
59
- const convertIValue = {
44
+ const [openCal, setOpenCal] = React.useState(open);
45
+ const [internalError, setInternalError] = React.useState(error);
46
+ const [initialValue, setInitialValue] = React.useState({
60
47
  start: (value === null || value === void 0 ? void 0 : value.start)
61
- ? convertStart(value.start).toFormat('LL/dd/yyyy')
48
+ ? DateTime.fromJSDate(value.start).setZone(timezone)
49
+ : null,
50
+ end: (value === null || value === void 0 ? void 0 : value.end)
51
+ ? DateTime.fromJSDate(value.end).setZone(timezone)
62
52
  : null,
63
- end: (value === null || value === void 0 ? void 0 : value.end) ? convertEnd(value.end).toFormat('LL/dd/yyyy') : null,
64
- };
65
- const [dateRange, setDateRange] = React.useState(convertIValue);
66
- const [IValue, setIValue] = React.useState(convertIValue);
67
- const [openCal, setOpenCal] = React.useState(open);
68
- const [IsOutOfRange, setIsOutOfRange] = React.useState({
69
- start: false,
70
- end: false,
71
53
  });
54
+ const [iValue, setIValue] = React.useState(initialValue);
72
55
  const minMaxRange = React.useMemo(() => {
73
56
  return {
74
57
  min: minDate &&
75
- DateTime.fromJSDate(minDate, { zone: timezone })
76
- .startOf('day')
77
- .toJSDate(),
58
+ DateTime.fromJSDate(minDate).startOf('day').setZone(timezone),
78
59
  max: maxDate &&
79
- DateTime.fromJSDate(maxDate, { zone: timezone })
80
- .endOf('day')
81
- .toJSDate(),
60
+ DateTime.fromJSDate(maxDate).endOf('day').setZone(timezone),
82
61
  };
83
62
  }, [minDate, timezone, maxDate]);
84
- // Checks min and max dates for start and end date
85
- const checkDateRangeScope = React.useCallback((range) => {
86
- const isOutOfScope = checkScope(range, minDate, maxDate);
87
- const minFormated = minDate &&
88
- toDateFormat
89
- .numeric(DateTime.fromJSDate(minDate).toFormat('LL/dd/yyyy'), {
90
- locales: dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.locales,
91
- })
92
- .toString();
93
- setIsOutOfRange({
94
- start: isOutOfScope.startOutOfScope
95
- ? `Min date is ${minFormated}`
96
- : false,
97
- end: isOutOfScope.endOutOfScope
98
- ? `Max date is ${convertEnd(maxDate).toFormat('LL/dd/yyyy')}`
99
- : false,
100
- });
101
- }, [convertEnd, dateFormat === null || dateFormat === void 0 ? void 0 : dateFormat.locales, maxDate, minDate]);
102
- React.useEffect(() => {
103
- setIError(error);
104
- }, [error]);
105
- React.useEffect(() => {
106
- checkDateRangeScope({
107
- start: dateRange.start
108
- ? DateTime.fromFormat(dateRange.start, 'LL/dd/yyyy')
109
- : null,
110
- end: dateRange.end
111
- ? DateTime.fromFormat(dateRange.end, 'LL/dd/yyyy')
112
- : null,
113
- });
114
- // eslint-disable-next-line react-hooks/exhaustive-deps
115
- }, []);
63
+ const [outOfRange, setOutOfRange] = React.useState(checkScope(value, (_b = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min) === null || _b === void 0 ? void 0 : _b.toJSDate(), (_c = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max) === null || _c === void 0 ? void 0 : _c.toJSDate()));
116
64
  React.useEffect(() => {
65
+ var _a, _b;
117
66
  const newValue = {
118
67
  start: (value === null || value === void 0 ? void 0 : value.start)
119
- ? convertStart(value.start).toFormat('LL/dd/yyyy')
68
+ ? DateTime.fromJSDate(value.start).setZone(timezone)
120
69
  : null,
121
70
  end: (value === null || value === void 0 ? void 0 : value.end)
122
- ? convertEnd(value.end).toFormat('LL/dd/yyyy')
71
+ ? DateTime.fromJSDate(value.end).setZone(timezone)
123
72
  : null,
124
73
  };
125
- setDateRange(newValue);
74
+ setInitialValue(newValue);
126
75
  setIValue(newValue);
127
- }, [convertEnd, convertStart, value]);
76
+ setOutOfRange(checkScope(value, (_a = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min) === null || _a === void 0 ? void 0 : _a.toJSDate(), (_b = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max) === null || _b === void 0 ? void 0 : _b.toJSDate()));
77
+ }, [minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max, minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min, timezone, value]);
128
78
  const stopRender = useRef(false);
129
79
  React.useEffect(() => {
130
80
  let start;
131
81
  let end;
132
82
  if (isoFormat) {
133
- start = DateTime.fromFormat(dateRange.start, 'LL/dd/yyyy')
134
- .setZone(timezone, { keepLocalTime: true })
135
- .toString();
136
- end = DateTime.fromFormat(dateRange.end, 'LL/dd/yyyy')
137
- .setZone(timezone, { keepLocalTime: true })
138
- .endOf('day')
139
- .toString();
83
+ start = iValue.start.toISO();
84
+ end = iValue.end.toISO();
140
85
  }
141
86
  else {
142
- start = dateRange.start
143
- ? DateTime.fromFormat(dateRange.start, 'LL/dd/yyyy')
144
- .setZone(timezone, { keepLocalTime: true })
145
- .toJSDate()
146
- : null;
147
- end = dateRange.end
148
- ? DateTime.fromFormat(dateRange.end, 'LL/dd/yyyy')
149
- .setZone(timezone, { keepLocalTime: true })
150
- .endOf('day')
151
- .toJSDate()
152
- : null;
87
+ start = iValue.start ? iValue.start.toJSDate() : null;
88
+ end = iValue.end ? iValue.end.toJSDate() : null;
153
89
  }
154
90
  stopRender.current && onChange({ start, end });
155
91
  stopRender.current = true;
@@ -157,74 +93,116 @@ export const DateRangePicker = (_a) => {
157
93
  }, [timezone]);
158
94
  /*
159
95
  * handler for MultiViewCalendar onChange
160
- * this functions as a stopper to only run calendar onChange when 2 onChanges conflict
161
96
  */
162
- let preventOnChange = false;
163
- const toggle = useRef(false);
97
+ const blurBlocker = useRef(false);
164
98
  const handleCalendarOnChange = (event) => {
165
- setIsOutOfRange({ start: false, end: false });
166
- preventOnChange = true;
167
99
  let eventValue = event.target.value;
100
+ blurBlocker.current = true;
168
101
  // Force today to select today of the timezone
169
102
  if (event.nativeEvent.target.className === 'k-nav-today') {
170
103
  event.syntheticEvent.stopPropagation();
171
- const today = DateTime.fromObject({
172
- year: getNewToday.get('year'),
173
- month: getNewToday.get('month'),
174
- day: getNewToday.get('day'),
175
- });
176
- if (toggle.current) {
104
+ const today = DateTime.now().setZone(timezone);
105
+ if (event.target.activeRangeEnd === 'start') {
177
106
  eventValue = {
178
- start: dateRange.start,
107
+ start: iValue.start ? iValue.start : undefined,
179
108
  end: today.endOf('day'),
180
109
  };
181
- toggle.current = false;
182
110
  }
183
- else if (!toggle.current) {
111
+ if (event.target.activeRangeEnd === 'end') {
184
112
  eventValue = {
185
113
  start: today.startOf('day'),
186
- end: dateRange.end,
114
+ end: iValue.end ? iValue.end : undefined,
187
115
  };
188
- toggle.current = true;
189
116
  }
190
- setDateRange(eventValue);
117
+ setIValue(eventValue);
191
118
  return;
192
119
  }
193
- setDateRange({
194
- start: DateTime.fromJSDate(eventValue.start).toFormat('LL/dd/yyyy'),
195
- end: DateTime.fromJSDate(eventValue.end).toFormat('LL/dd/yyyy'),
120
+ setIValue({
121
+ start: (eventValue === null || eventValue === void 0 ? void 0 : eventValue.start)
122
+ ? DateTime.fromJSDate(eventValue.start).setZone(timezone, {
123
+ keepLocalTime: true,
124
+ })
125
+ : null,
126
+ end: (eventValue === null || eventValue === void 0 ? void 0 : eventValue.end)
127
+ ? DateTime.fromJSDate(eventValue.end).setZone(timezone, {
128
+ keepLocalTime: true,
129
+ })
130
+ : null,
196
131
  });
197
132
  };
198
133
  // handler for DateInput onBlur
199
134
  const handleDateOnBlur = (type, data) => {
200
- if (!preventOnChange) {
201
- setDateRange(Object.assign(Object.assign({}, dateRange), { [type]: data }));
202
- // checkDateRangeScope({ ...dateRange, [type]: data });
135
+ if (!blurBlocker.current) {
136
+ if (!isValid(data)) {
137
+ setOutOfRange(Object.assign(Object.assign({}, outOfRange), { [type]: 'Enter valid date' }));
138
+ return;
139
+ }
140
+ const value = Object.assign(Object.assign({}, iValue), { [type]: DateTime.fromJSDate(data).setZone(timezone, {
141
+ keepLocalTime: true,
142
+ }) });
143
+ setIValue(value);
203
144
  }
204
145
  };
146
+ const handleDateOnChange = (type) => {
147
+ setOutOfRange(Object.assign(Object.assign({}, outOfRange), { [type]: false }));
148
+ };
149
+ const handleOptionListOnChange = (data) => {
150
+ const newValue = {
151
+ start: data.start ? DateTime.fromJSDate(data.start) : null,
152
+ end: data.end ? DateTime.fromJSDate(data.end) : null,
153
+ };
154
+ setInitialValue(newValue);
155
+ setIValue(newValue);
156
+ onChange(data);
157
+ setOpenCal(false);
158
+ };
159
+ React.useEffect(() => {
160
+ var _a, _b, _c, _d;
161
+ setOutOfRange(checkScope({
162
+ start: (_a = iValue === null || iValue === void 0 ? void 0 : iValue.start) === null || _a === void 0 ? void 0 : _a.toJSDate(),
163
+ end: (_b = iValue === null || iValue === void 0 ? void 0 : iValue.end) === null || _b === void 0 ? void 0 : _b.toJSDate(),
164
+ }, (_c = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min) === null || _c === void 0 ? void 0 : _c.toJSDate(), (_d = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max) === null || _d === void 0 ? void 0 : _d.toJSDate()));
165
+ blurBlocker.current = false;
166
+ }, [iValue, minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max, minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min]);
167
+ React.useEffect(() => {
168
+ var _a, _b, _c, _d;
169
+ const scope = checkScope({
170
+ start: (_a = initialValue === null || initialValue === void 0 ? void 0 : initialValue.start) === null || _a === void 0 ? void 0 : _a.toJSDate(),
171
+ end: (_b = initialValue === null || initialValue === void 0 ? void 0 : initialValue.end) === null || _b === void 0 ? void 0 : _b.toJSDate(),
172
+ }, (_c = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min) === null || _c === void 0 ? void 0 : _c.toJSDate(), (_d = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max) === null || _d === void 0 ? void 0 : _d.toJSDate());
173
+ if (!scope.start && !scope.end)
174
+ setInternalError(error !== null && error !== void 0 ? error : false);
175
+ if (!!scope.start || !!scope.end)
176
+ setInternalError(true);
177
+ }, [error, initialValue, minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max, minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min]);
205
178
  // confirm handler, this returns dateRange value through onChange
206
179
  const handleOnConfirm = () => {
207
- setIValue(dateRange);
180
+ var _a, _b, _c, _d, _e, _f, _g, _h;
181
+ const scope = checkScope({
182
+ start: (_a = iValue === null || iValue === void 0 ? void 0 : iValue.start) === null || _a === void 0 ? void 0 : _a.toJSDate(),
183
+ end: (_b = iValue === null || iValue === void 0 ? void 0 : iValue.end) === null || _b === void 0 ? void 0 : _b.toJSDate(),
184
+ }, (_c = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min) === null || _c === void 0 ? void 0 : _c.toJSDate(), (_d = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max) === null || _d === void 0 ? void 0 : _d.toJSDate());
185
+ !scope.start && !scope.end
186
+ ? setInternalError(error !== null && error !== void 0 ? error : false)
187
+ : setInternalError(error !== null && error !== void 0 ? error : true);
188
+ setInitialValue(iValue);
208
189
  setOpenCal(false);
209
190
  if (isoFormat) {
210
191
  onChange === null || onChange === void 0 ? void 0 : onChange({
211
- start: DateTime.fromFormat(dateRange.start, 'LL/dd/yyyy').toISO(),
212
- end: DateTime.fromFormat(dateRange.end, 'LL/dd/yyyy').toISO(),
192
+ start: (_e = iValue === null || iValue === void 0 ? void 0 : iValue.start) === null || _e === void 0 ? void 0 : _e.toISO(),
193
+ end: (_f = iValue === null || iValue === void 0 ? void 0 : iValue.end) === null || _f === void 0 ? void 0 : _f.endOf('day').setZone(timezone).toISO(),
213
194
  });
214
195
  return;
215
196
  }
216
197
  onChange === null || onChange === void 0 ? void 0 : onChange({
217
- start: DateTime.fromFormat(dateRange.start, 'LL/dd/yyyy').toJSDate(),
218
- end: DateTime.fromFormat(dateRange.end, 'LL/dd/yyyy').toJSDate(),
198
+ start: (_g = iValue === null || iValue === void 0 ? void 0 : iValue.start) === null || _g === void 0 ? void 0 : _g.startOf('day').setZone(timezone).toJSDate(),
199
+ end: (_h = iValue === null || iValue === void 0 ? void 0 : iValue.end) === null || _h === void 0 ? void 0 : _h.endOf('day').setZone(timezone).toJSDate(),
219
200
  });
220
- if (!IsOutOfRange.start || !IsOutOfRange.end) {
221
- setIError(false);
222
- }
223
201
  };
224
202
  // close popover function - this will revert dateRange to initial value
225
203
  const close = () => {
226
204
  if (openCal) {
227
- setDateRange(IValue);
205
+ setIValue(initialValue);
228
206
  setOpenCal(false);
229
207
  !trigger && triggerRef.current.focus();
230
208
  }
@@ -233,7 +211,7 @@ export const DateRangePicker = (_a) => {
233
211
  if (openCal) {
234
212
  onClickOutside === null || onClickOutside === void 0 ? void 0 : onClickOutside();
235
213
  if (!disableCloseOnClickOutside) {
236
- setDateRange(IValue);
214
+ setIValue(initialValue);
237
215
  setOpenCal(false);
238
216
  }
239
217
  }
@@ -250,11 +228,16 @@ export const DateRangePicker = (_a) => {
250
228
  }
251
229
  };
252
230
  const clearDateRange = (d) => {
231
+ var _a;
253
232
  close();
254
233
  onChange === null || onChange === void 0 ? void 0 : onChange(d);
255
- setDateRange(d);
256
234
  setIValue(d);
257
- checkDateRangeScope(d);
235
+ setInternalError((_a = error !== null && error !== void 0 ? error : required) !== null && _a !== void 0 ? _a : false);
236
+ setInitialValue(d);
237
+ };
238
+ const clearInner = () => {
239
+ const nullDateRange = { start: null, end: null };
240
+ setIValue(nullDateRange);
258
241
  };
259
242
  // keyboard event for trigger to open popover
260
243
  const triggerKeyPress = (event) => {
@@ -269,65 +252,73 @@ export const DateRangePicker = (_a) => {
269
252
  React.useEffect(() => {
270
253
  onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(openCal);
271
254
  }, [onOpenChange, openCal]);
272
- // Update trigger error on apply && initial load
273
- React.useEffect(() => {
274
- if (IsOutOfRange.start || IsOutOfRange.end) {
275
- setIError(true);
276
- }
277
- }, [IValue, IsOutOfRange]);
278
- const hasError = IsOutOfRange.start || IsOutOfRange.end;
279
- const hasNewValue = (IValue === null || IValue === void 0 ? void 0 : IValue.start) !== (dateRange === null || dateRange === void 0 ? void 0 : dateRange.start) || (IValue === null || IValue === void 0 ? void 0 : IValue.end) !== (dateRange === null || dateRange === void 0 ? void 0 : dateRange.end);
280
- const hasAcceptableValues = (dateRange.start && dateRange.end) ||
281
- (dateRange.start === null && dateRange.end === null);
282
- const isApplyDisabled = (!hasAcceptableValues ||
283
- !hasNewValue ||
255
+ const hasError = outOfRange.start || outOfRange.end;
256
+ const hasAcceptableValues = (iValue.start && iValue.end) ||
257
+ (iValue.start === null && iValue.end === null);
258
+ const requiredCheck = required && (iValue.start === null || iValue.end === null);
259
+ const isApplyDisabled = (requiredCheck ||
260
+ !hasAcceptableValues ||
284
261
  hasError ||
285
- !IsOutOfRange);
262
+ !outOfRange);
286
263
  const triggerProps = {
287
264
  onClick: toggleOpen,
288
265
  };
289
266
  // custom cell to override the today highlight to match timezone today
290
267
  const customCell = (props) => {
291
- if (props.formattedValue === getNewToday.toString()) {
292
- return React.createElement(CalendarCell, Object.assign({}, props, { isToday: true, isFocused: true }));
268
+ if (format(props.value) === format(getNewToday)) {
269
+ return React.createElement(CalendarCell, Object.assign({}, props, { isToday: true }));
293
270
  }
294
- return React.createElement(CalendarCell, Object.assign({}, props, { isToday: false, isFocused: false }));
271
+ return React.createElement(CalendarCell, Object.assign({}, props, { isToday: false }));
295
272
  };
296
- return (React.createElement(Popover, { open: !disabled && openCal, onClickOutside: handleOnClickOutside, trigger: (_b = trigger === null || trigger === void 0 ? void 0 : trigger(IValue, triggerProps, openCal, IError)) !== null && _b !== void 0 ? _b : (React.createElement(DateRangeTrigger, Object.assign({ open: openCal, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : 'Select Date Range', onClick: toggleOpen, onKeyDown: triggerKeyPress, onChange: clearDateRange, value: {
297
- start: IValue.start,
298
- end: IValue.end,
299
- }, displayValue: displayValue, disabled: disabled, error: IError, dateFormat: dateFormat, size: size, ref: triggerRef, required: required, "data-anvil-component": "DateRangePicker" }, rest))), direction: direction, padding: null, width: "auto", className: "DateRangePicker__popover", portal: true, focusTrapOptions: focusTrapOptions, autoFlipHorizontally: autoFlipHorizontally, autoFlipVertically: autoFlipVertically },
273
+ return (React.createElement(Popover, { open: !disabled && openCal, onClickOutside: handleOnClickOutside, trigger: (_d = trigger === null || trigger === void 0 ? void 0 : trigger(initialValue, triggerProps, openCal, internalError)) !== null && _d !== void 0 ? _d : (React.createElement(DateRangeTrigger, Object.assign({ open: openCal, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : 'Select Date Range', onClick: toggleOpen, onKeyDown: triggerKeyPress, onChange: clearDateRange, value: {
274
+ start: initialValue.start
275
+ ? new Date(format(initialValue.start))
276
+ : null,
277
+ end: initialValue.end
278
+ ? new Date(format(initialValue.end))
279
+ : null,
280
+ }, displayValue: displayValue, disabled: disabled, error: internalError, dateFormat: dateFormat, size: size, ref: triggerRef, required: required, "data-anvil-component": "DateRangePicker" }, rest))), direction: direction, padding: null, width: "auto", className: "DateRangePicker__popover", portal: true, focusTrapOptions: focusTrapOptions, autoFlipHorizontally: autoFlipHorizontally, autoFlipVertically: autoFlipVertically },
300
281
  React.createElement(KeyPressListener, { code: Keys.Esc, handler: close, disabled: disableCloseOnClickOutside || !openCal }),
301
282
  React.createElement("div", { className: "d-f flex-row" },
302
- options && options.length > 0 && (React.createElement(DateRangeOptionList, { options: options, min: minMaxRange.min, max: minMaxRange.max, onChange: (data) => {
303
- const newValue = {
304
- start: DateTime.fromJSDate(data.start).toFormat('LL/dd/yyyy'),
305
- end: DateTime.fromJSDate(data.end).toFormat('LL/dd/yyyy'),
306
- };
307
- setIValue(newValue);
308
- setDateRange(newValue);
309
- onChange(newValue);
310
- setOpenCal(false);
311
- } })),
283
+ options && options.length > 0 && (React.createElement(DateRangeOptionList, { options: options, min: (_e = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min) === null || _e === void 0 ? void 0 : _e.toJSDate(), max: (_f = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max) === null || _f === void 0 ? void 0 : _f.toJSDate(), onChange: handleOptionListOnChange })),
312
284
  React.createElement("div", { className: "DateRangePicker" },
313
285
  React.createElement("div", { className: "DateRangePicker__header" },
314
286
  React.createElement("div", { className: "DateRangePicker__inputGroup" },
315
- React.createElement(DateRangeInput, { placeholder: startPlaceholder, value: dateRange === null || dateRange === void 0 ? void 0 : dateRange.start, error: IsOutOfRange.start, dateFormat: dateFormat, onBlur: (value) => {
287
+ React.createElement(DateRangeInput, { placeholder: startPlaceholder, value: format(iValue === null || iValue === void 0 ? void 0 : iValue.start), error: outOfRange === null || outOfRange === void 0 ? void 0 : outOfRange.start, dateFormat: dateFormat, onBlur: (value) => {
316
288
  handleDateOnBlur('start', value);
289
+ }, onChange: () => {
290
+ handleDateOnChange('start');
317
291
  } }),
318
292
  React.createElement(Icon, { name: "arrow_forward", className: "DateRangePicker__fromTo" }),
319
- React.createElement(DateRangeInput, { placeholder: endPlaceholder, value: dateRange === null || dateRange === void 0 ? void 0 : dateRange.end, error: IsOutOfRange.end, dateFormat: dateFormat, onBlur: (value) => {
293
+ React.createElement(DateRangeInput, { placeholder: endPlaceholder, value: format(iValue === null || iValue === void 0 ? void 0 : iValue.end), error: outOfRange === null || outOfRange === void 0 ? void 0 : outOfRange.end, dateFormat: dateFormat, onBlur: (value) => {
320
294
  handleDateOnBlur('end', value);
295
+ }, onChange: () => {
296
+ handleDateOnChange('end');
321
297
  } }))),
322
298
  React.createElement("div", { onKeyPress: calendarKeyPress, className: "DatePicker__calendar" },
323
299
  React.createElement(MultiViewCalendar, { mode: "range", views: views, value: {
324
- start: new Date(dateRange.start),
325
- end: new Date(dateRange.end),
326
- }, onChange: handleCalendarOnChange, focusedDate: focusedDate, defaultValue: defaultValue, min: minMaxRange.min, max: minMaxRange.max, cell: customCell })))),
300
+ start: iValue.start
301
+ ? new Date(format(iValue.start))
302
+ : null,
303
+ end: iValue.end
304
+ ? new Date(format(iValue.end))
305
+ : null,
306
+ }, onChange: handleCalendarOnChange, focusedDate: focusedDate
307
+ ? focusedDate
308
+ : !((value === null || value === void 0 ? void 0 : value.start) && (value === null || value === void 0 ? void 0 : value.end))
309
+ ? new Date()
310
+ : undefined, defaultValue: defaultValue, min: (_g = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.min) === null || _g === void 0 ? void 0 : _g.toJSDate(), max: (_h = minMaxRange === null || minMaxRange === void 0 ? void 0 : minMaxRange.max) === null || _h === void 0 ? void 0 : _h.toJSDate(), cell: customCell })))),
327
311
  React.createElement(Stack, { className: "DateRangePicker__actions", direction: "row-reverse", justifyContent: "space-between" },
328
312
  React.createElement(Stack, { direction: "row-reverse", spacing: 2 },
329
313
  React.createElement(Button, { disabled: isApplyDisabled, onClick: handleOnConfirm, small: true, color: "primary" }, "Apply"),
330
314
  React.createElement(Button, { small: true, fill: "subtle", onClick: close }, "Cancel")),
331
- React.createElement(Link, { primary: true, onClick: () => setDateRange({ start: null, end: null }), disabled: !((dateRange === null || dateRange === void 0 ? void 0 : dateRange.start) || (dateRange === null || dateRange === void 0 ? void 0 : dateRange.end)), className: "fs-2" }, "Clear"))));
315
+ React.createElement(Link, { primary: true, onClick: clearInner, disabled: !((iValue === null || iValue === void 0 ? void 0 : iValue.start) || (iValue === null || iValue === void 0 ? void 0 : iValue.end)), className: "fs-2" }, "Clear"))));
316
+ };
317
+ const format = (date, format = 'LL/dd/yyyy') => {
318
+ if (date instanceof Date)
319
+ return DateTime.fromJSDate(date).toFormat(format);
320
+ if (date instanceof DateTime)
321
+ return date.toFormat(format);
322
+ return date;
332
323
  };
333
324
  //# sourceMappingURL=DateRangePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.js","sourceRoot":"","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateRangePicker.js","sourceRoot":"","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"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"}
@@ -59,13 +59,6 @@ describe('DateRangeInput', () => {
59
59
  userEvent.tab();
60
60
  expect(Input).toHaveValue('');
61
61
  });
62
- it('it should return last valid value if value was incorrect format onBlur', () => {
63
- const { getByPlaceholderText } = render(React.createElement(DateRangeInput, { value: validString, placeholder: "Test Input" }));
64
- const Input = getByPlaceholderText('Test Input');
65
- userEvent.type(Input, inValidString);
66
- userEvent.tab();
67
- expect(Input).toHaveValue(toDateFormat.numeric(validString));
68
- });
69
62
  });
70
63
  describe('DateRangePicker', () => {
71
64
  beforeEach(() => jest.spyOn(console, 'error'));
@@ -98,5 +91,77 @@ describe('DateRangePicker', () => {
98
91
  expect(startInput.parentNode.parentNode).toHaveClass('Input--error');
99
92
  expect(endInput.parentNode.parentNode).toHaveClass('Input--error');
100
93
  }));
94
+ it('should stop displaying errors when correct dates are clicked', () => __awaiter(void 0, void 0, void 0, function* () {
95
+ const { getByPlaceholderText, getByTitle } = render(React.createElement(DateRangePicker, { startPlaceholder: "start", endPlaceholder: "end", open: true, value: {
96
+ start: new Date('02/01/2021'),
97
+ end: new Date('02/15/2021'),
98
+ }, minDate: new Date('02/05/2021'), maxDate: new Date('02/10/2021') }));
99
+ yield waitFor(() => { });
100
+ const startInput = getByPlaceholderText('start');
101
+ const endInput = getByPlaceholderText('end');
102
+ expect(startInput.parentNode.parentNode).toHaveClass('Input--error');
103
+ expect(endInput.parentNode.parentNode).toHaveClass('Input--error');
104
+ const february8Cell = getByTitle('Monday, February 8, 2021');
105
+ const february9Cell = getByTitle('Tuesday, February 9, 2021');
106
+ userEvent.click(february8Cell);
107
+ userEvent.click(february9Cell);
108
+ expect(startInput.parentNode.parentNode).not.toHaveClass('Input--error');
109
+ expect(endInput.parentNode.parentNode).not.toHaveClass('Input--error');
110
+ }));
111
+ it('should clear values when the clear button is pressed', () => {
112
+ const { getByText, getByPlaceholderText } = render(React.createElement(DateRangePicker, { required: true, open: true, startPlaceholder: "start", endPlaceholder: "end", value: {
113
+ start: new Date('02/01/2021'),
114
+ end: new Date('02/15/2021'),
115
+ } }));
116
+ const clearButton = getByText('Clear');
117
+ userEvent.click(clearButton);
118
+ const startInput = getByPlaceholderText('start');
119
+ const endInput = getByPlaceholderText('end');
120
+ expect(startInput).toHaveValue('');
121
+ expect(endInput).toHaveValue('');
122
+ });
123
+ it('should disable the apply button when required is true and clear button is pressed', () => {
124
+ const { getByText } = render(React.createElement(DateRangePicker, { required: true, open: true, value: {
125
+ start: new Date('02/01/2021'),
126
+ end: new Date('02/15/2021'),
127
+ } }));
128
+ const clearButton = getByText('Clear');
129
+ userEvent.click(clearButton);
130
+ const applyButtonContentSpan = getByText('Apply');
131
+ const applyButton = applyButtonContentSpan.closest('button');
132
+ expect(applyButton).toBeDisabled();
133
+ });
134
+ it('should enable the apply button when required is false and clear button is pressed', () => {
135
+ const { getByText } = render(React.createElement(DateRangePicker, { open: true, value: {
136
+ start: new Date('02/01/2021'),
137
+ end: new Date('02/15/2021'),
138
+ } }));
139
+ const clearButton = getByText('Clear');
140
+ userEvent.click(clearButton);
141
+ const applyButtonContentSpan = getByText('Apply');
142
+ const applyButton = applyButtonContentSpan.closest('button');
143
+ expect(applyButton).toBeEnabled();
144
+ });
145
+ it('should disable the apply button when error is displayed', () => __awaiter(void 0, void 0, void 0, function* () {
146
+ const { getByText } = render(React.createElement(DateRangePicker, { startPlaceholder: "start", endPlaceholder: "end", open: true, value: {
147
+ start: new Date('02/01/2021'),
148
+ end: new Date('02/15/2021'),
149
+ }, minDate: new Date('02/05/2021'), maxDate: new Date('02/10/2021') }));
150
+ yield waitFor(() => { });
151
+ const applyButtonContentSpan = getByText('Apply');
152
+ const applyButton = applyButtonContentSpan.closest('button');
153
+ expect(applyButton).toBeDisabled();
154
+ }));
155
+ it('should change date when cell is clicked while input is focused', () => {
156
+ const { getByTitle, getByPlaceholderText } = render(React.createElement(DateRangePicker, { required: true, open: true, startPlaceholder: "start", endPlaceholder: "end", value: {
157
+ start: new Date('02/01/2021'),
158
+ end: new Date('02/15/2021'),
159
+ } }));
160
+ const startInput = getByPlaceholderText('start');
161
+ startInput.focus();
162
+ const february8Cell = getByTitle('Monday, February 8, 2021');
163
+ userEvent.click(february8Cell);
164
+ expect(startInput).toHaveValue('02/08/2021');
165
+ });
101
166
  });
102
167
  //# sourceMappingURL=DateRangePicker.test.js.map