@activecollab/components 2.0.212 → 2.0.213

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 (113) hide show
  1. package/dist/cjs/components/DatePicker/DatePicker.js +678 -301
  2. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  3. package/dist/cjs/components/DatePicker/Styles.js +91 -37
  4. package/dist/cjs/components/DatePicker/Styles.js.map +1 -1
  5. package/dist/cjs/components/DatePicker/index.js +0 -11
  6. package/dist/cjs/components/DatePicker/index.js.map +1 -1
  7. package/dist/cjs/components/SelectDate/SelectDate.js +126 -280
  8. package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
  9. package/dist/cjs/components/SelectDate/index.js +0 -11
  10. package/dist/cjs/components/SelectDate/index.js.map +1 -1
  11. package/dist/cjs/components/Steppers/DateStepper/DateStepper.js +94 -100
  12. package/dist/cjs/components/Steppers/DateStepper/DateStepper.js.map +1 -1
  13. package/dist/cjs/components/Steppers/DateStepper/index.js +0 -11
  14. package/dist/cjs/components/Steppers/DateStepper/index.js.map +1 -1
  15. package/dist/cjs/components/index.js +0 -11
  16. package/dist/cjs/components/index.js.map +1 -1
  17. package/dist/esm/components/DatePicker/DatePicker.d.ts +64 -26
  18. package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
  19. package/dist/esm/components/DatePicker/DatePicker.js +619 -278
  20. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  21. package/dist/esm/components/DatePicker/Styles.d.ts +21 -9
  22. package/dist/esm/components/DatePicker/Styles.d.ts.map +1 -1
  23. package/dist/esm/components/DatePicker/Styles.js +89 -30
  24. package/dist/esm/components/DatePicker/Styles.js.map +1 -1
  25. package/dist/esm/components/DatePicker/index.d.ts +0 -1
  26. package/dist/esm/components/DatePicker/index.d.ts.map +1 -1
  27. package/dist/esm/components/DatePicker/index.js +0 -1
  28. package/dist/esm/components/DatePicker/index.js.map +1 -1
  29. package/dist/esm/components/SelectDate/SelectDate.d.ts +20 -19
  30. package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
  31. package/dist/esm/components/SelectDate/SelectDate.js +124 -246
  32. package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
  33. package/dist/esm/components/SelectDate/index.d.ts +0 -1
  34. package/dist/esm/components/SelectDate/index.d.ts.map +1 -1
  35. package/dist/esm/components/SelectDate/index.js +0 -1
  36. package/dist/esm/components/SelectDate/index.js.map +1 -1
  37. package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts +10 -7
  38. package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts.map +1 -1
  39. package/dist/esm/components/Steppers/DateStepper/DateStepper.js +88 -97
  40. package/dist/esm/components/Steppers/DateStepper/DateStepper.js.map +1 -1
  41. package/dist/esm/components/Steppers/DateStepper/index.d.ts +0 -1
  42. package/dist/esm/components/Steppers/DateStepper/index.d.ts.map +1 -1
  43. package/dist/esm/components/Steppers/DateStepper/index.js +0 -1
  44. package/dist/esm/components/Steppers/DateStepper/index.js.map +1 -1
  45. package/dist/esm/components/index.d.ts +0 -1
  46. package/dist/esm/components/index.d.ts.map +1 -1
  47. package/dist/esm/components/index.js +0 -1
  48. package/dist/esm/components/index.js.map +1 -1
  49. package/dist/index.js +214 -1563
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.min.js +1 -1
  52. package/dist/index.min.js.map +1 -1
  53. package/package.json +1 -3
  54. package/dist/cjs/components/DatePicker/CustomNavBarElement.js +0 -41
  55. package/dist/cjs/components/DatePicker/CustomNavBarElement.js.map +0 -1
  56. package/dist/cjs/components/DatePicker/DatePickerV2.js +0 -734
  57. package/dist/cjs/components/DatePicker/DatePickerV2.js.map +0 -1
  58. package/dist/cjs/components/DatePicker/StylesV2.js +0 -100
  59. package/dist/cjs/components/DatePicker/StylesV2.js.map +0 -1
  60. package/dist/cjs/components/Pickers/NavBarElement.js +0 -52
  61. package/dist/cjs/components/Pickers/NavBarElement.js.map +0 -1
  62. package/dist/cjs/components/Pickers/Styles.js +0 -76
  63. package/dist/cjs/components/Pickers/Styles.js.map +0 -1
  64. package/dist/cjs/components/Pickers/YearMonthPicker.js +0 -80
  65. package/dist/cjs/components/Pickers/YearMonthPicker.js.map +0 -1
  66. package/dist/cjs/components/Pickers/index.js +0 -28
  67. package/dist/cjs/components/Pickers/index.js.map +0 -1
  68. package/dist/cjs/components/SelectDate/DatePickerForm.js +0 -94
  69. package/dist/cjs/components/SelectDate/DatePickerForm.js.map +0 -1
  70. package/dist/cjs/components/SelectDate/SelectDateV2.js +0 -263
  71. package/dist/cjs/components/SelectDate/SelectDateV2.js.map +0 -1
  72. package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js +0 -276
  73. package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js.map +0 -1
  74. package/dist/esm/components/DatePicker/CustomNavBarElement.d.ts +0 -12
  75. package/dist/esm/components/DatePicker/CustomNavBarElement.d.ts.map +0 -1
  76. package/dist/esm/components/DatePicker/CustomNavBarElement.js +0 -34
  77. package/dist/esm/components/DatePicker/CustomNavBarElement.js.map +0 -1
  78. package/dist/esm/components/DatePicker/DatePickerV2.d.ts +0 -68
  79. package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +0 -1
  80. package/dist/esm/components/DatePicker/DatePickerV2.js +0 -649
  81. package/dist/esm/components/DatePicker/DatePickerV2.js.map +0 -1
  82. package/dist/esm/components/DatePicker/StylesV2.d.ts +0 -22
  83. package/dist/esm/components/DatePicker/StylesV2.d.ts.map +0 -1
  84. package/dist/esm/components/DatePicker/StylesV2.js +0 -93
  85. package/dist/esm/components/DatePicker/StylesV2.js.map +0 -1
  86. package/dist/esm/components/Pickers/NavBarElement.d.ts +0 -9
  87. package/dist/esm/components/Pickers/NavBarElement.d.ts.map +0 -1
  88. package/dist/esm/components/Pickers/NavBarElement.js +0 -45
  89. package/dist/esm/components/Pickers/NavBarElement.js.map +0 -1
  90. package/dist/esm/components/Pickers/Styles.d.ts +0 -18
  91. package/dist/esm/components/Pickers/Styles.d.ts.map +0 -1
  92. package/dist/esm/components/Pickers/Styles.js +0 -56
  93. package/dist/esm/components/Pickers/Styles.js.map +0 -1
  94. package/dist/esm/components/Pickers/YearMonthPicker.d.ts +0 -17
  95. package/dist/esm/components/Pickers/YearMonthPicker.d.ts.map +0 -1
  96. package/dist/esm/components/Pickers/YearMonthPicker.js +0 -59
  97. package/dist/esm/components/Pickers/YearMonthPicker.js.map +0 -1
  98. package/dist/esm/components/Pickers/index.d.ts +0 -3
  99. package/dist/esm/components/Pickers/index.d.ts.map +0 -1
  100. package/dist/esm/components/Pickers/index.js +0 -3
  101. package/dist/esm/components/Pickers/index.js.map +0 -1
  102. package/dist/esm/components/SelectDate/DatePickerForm.d.ts +0 -39
  103. package/dist/esm/components/SelectDate/DatePickerForm.d.ts.map +0 -1
  104. package/dist/esm/components/SelectDate/DatePickerForm.js +0 -80
  105. package/dist/esm/components/SelectDate/DatePickerForm.js.map +0 -1
  106. package/dist/esm/components/SelectDate/SelectDateV2.d.ts +0 -102
  107. package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +0 -1
  108. package/dist/esm/components/SelectDate/SelectDateV2.js +0 -223
  109. package/dist/esm/components/SelectDate/SelectDateV2.js.map +0 -1
  110. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts +0 -45
  111. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts.map +0 -1
  112. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js +0 -241
  113. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js.map +0 -1
@@ -6,33 +6,32 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.SelectDate = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
- var _moment = _interopRequireDefault(require("moment"));
10
- var _DatePickerForm = require("./DatePickerForm");
9
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
11
10
  var _SelectDateTarget = require("./SelectDateTarget");
12
11
  var _Styles = require("./Styles");
13
12
  var _dateUtils = require("../../utils/dateUtils");
14
- var _Localization = require("../Localization");
15
- var _Menu = require("../Menu/Menu");
16
- var _Tooltip = require("../Tooltip/Tooltip");
13
+ var _DatePicker = require("../DatePicker/DatePicker");
17
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
24
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
25
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
- var getUtcTimestampFromDate = function getUtcTimestampFromDate(date) {
27
- return _moment.default.utc([date.getFullYear(), date.getMonth(), date.getDate()]).unix();
28
- };
29
17
  var isDayInRange = function isDayInRange(day, data) {
18
+ var fromMoment = _momentTimezone.default.unix(data.from).utc();
19
+ var toMoment = _momentTimezone.default.unix(data.to).utc();
30
20
  if (data.repeating) {
31
- var from = new Date(day.getFullYear(), data.from.getMonth(), data.from.getDate());
32
- var to = new Date(day.getFullYear(), data.to.getMonth(), data.to.getDate());
33
- return day >= from && day <= to;
21
+ var year = day.year();
22
+ var from = _momentTimezone.default.utc({
23
+ year,
24
+ month: fromMoment.month(),
25
+ date: fromMoment.date()
26
+ });
27
+ var to = _momentTimezone.default.utc({
28
+ year,
29
+ month: toMoment.month(),
30
+ date: toMoment.date()
31
+ });
32
+ return day.isSameOrAfter(from, "day") && day.isSameOrBefore(to, "day");
34
33
  }
35
- return day >= data.from && day <= data.to;
34
+ return day.isSameOrAfter(fromMoment, "day") && day.isSameOrBefore(toMoment, "day");
36
35
  };
37
36
  var SelectDate = exports.SelectDate = function SelectDate(_ref) {
38
37
  var _ref$changeMode = _ref.changeMode,
@@ -59,8 +58,6 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
59
58
  onToggleDatePicker = _ref.onToggleDatePicker,
60
59
  _ref$required = _ref.required,
61
60
  dateRequired = _ref$required === void 0 ? false : _ref$required,
62
- _ref$defaultTimezoneA = _ref.defaultTimezoneAware,
63
- defaultTimezoneAware = _ref$defaultTimezoneA === void 0 ? false : _ref$defaultTimezoneA,
64
61
  _ref$longDateFormat = _ref.longDateFormat,
65
62
  longDateFormat = _ref$longDateFormat === void 0 ? false : _ref$longDateFormat,
66
63
  _ref$defaultShowDateP = _ref.defaultShowDatePicker,
@@ -78,7 +75,7 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
78
75
  targetTextClassName = _ref.targetTextClassName,
79
76
  targetIconClassName = _ref.targetIconClassName,
80
77
  backgroundElementClass = _ref.backgroundElementClass,
81
- passedDateFormat = _ref.dateFormat,
78
+ dateFormat = _ref.dateFormat,
82
79
  defaultMonth = _ref.defaultMonth,
83
80
  _ref$daysToModify = _ref.daysToModify,
84
81
  daysToModify = _ref$daysToModify === void 0 ? [] : _ref$daysToModify,
@@ -87,7 +84,7 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
87
84
  _ref$weekendLabel = _ref.weekendLabel,
88
85
  weekendLabel = _ref$weekendLabel === void 0 ? "Weekend" : _ref$weekendLabel,
89
86
  _ref$nonWorkingDaysOf = _ref.nonWorkingDaysOfWeek,
90
- nonWorkingDaysOfWeek = _ref$nonWorkingDaysOf === void 0 ? [] : _ref$nonWorkingDaysOf,
87
+ _nonWorkingDaysOfWeek = _ref$nonWorkingDaysOf === void 0 ? [] : _ref$nonWorkingDaysOf,
91
88
  _ref$nonWorkingDaysOf2 = _ref.nonWorkingDaysOfWeekLabel,
92
89
  nonWorkingDaysOfWeekLabel = _ref$nonWorkingDaysOf2 === void 0 ? "Unavailable" : _ref$nonWorkingDaysOf2,
93
90
  _ref$weekendIsSelecta = _ref.weekendIsSelectable,
@@ -97,159 +94,28 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
97
94
  popperClassName = _ref.popperClassName,
98
95
  popperTooltipStyle = _ref.popperTooltipStyle,
99
96
  position = _ref.position,
100
- disableDaysBefore = _ref.disableDaysBefore;
101
- var _useState = (0, _react.useState)(defaultTimezoneAware),
102
- _useState2 = _slicedToArray(_useState, 2),
103
- timezoneAware = _useState2[0],
104
- setTimezoneAware = _useState2[1];
105
- var localization = (0, _Localization.useLocalization)();
106
- var dateFormat = passedDateFormat ? passedDateFormat : localization.dateFormat;
97
+ disableDaysBefore = _ref.disableDaysBefore,
98
+ enableYearPicker = _ref.enableYearPicker,
99
+ disableAnimations = _ref.disableAnimations,
100
+ disabledDaysAfter = _ref.disabledDaysAfter,
101
+ onChange = _ref.onChange;
107
102
  var labelText = (0, _react.useMemo)(function () {
108
103
  if (!selectedDays) {
109
104
  return defaultLabelText;
105
+ } else if (!selectedDays.from && !selectedDays.to) {
106
+ return defaultLabelText;
110
107
  } else {
111
- var endDate = timezoneAware ? _moment.default.unix(selectedDays.to).local() : _moment.default.unix(selectedDays.to).utc();
112
- var startDate = timezoneAware ? _moment.default.unix(selectedDays.from).local() : _moment.default.unix(selectedDays.from).utc();
113
- var formattedEndDate = (0, _dateUtils.formatDate)(endDate, dateFormat, longDateFormat);
114
- var formattedStartDate = (0, _dateUtils.formatDate)(startDate, dateFormat, longDateFormat);
115
- if (selectedDays.from === selectedDays.to) {
108
+ var formattedEndDate = selectedDays.to ? (0, _dateUtils.formatDate)((0, _DatePicker.toMoment)(selectedDays.to), dateFormat, longDateFormat) : "";
109
+ var formattedStartDate = selectedDays.from ? (0, _dateUtils.formatDate)((0, _DatePicker.toMoment)(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.from), dateFormat, longDateFormat) : "";
110
+ if (selectedDays.to && selectedDays.from && (0, _DatePicker.toMoment)(selectedDays.from).isSame((0, _DatePicker.toMoment)(selectedDays.to))) {
116
111
  return formattedEndDate;
117
112
  }
118
- return "".concat(formattedStartDate, " - ").concat(formattedEndDate);
119
- }
120
- }, [selectedDays, dateFormat, timezoneAware, defaultLabelText, longDateFormat]);
121
- var modifiedDates = (0, _react.useMemo)(function () {
122
- if (typeof selectedDays === "object" && !!selectedDays.from && !!selectedDays.to) {
123
- if (timezoneAware) {
124
- return {
125
- from: _moment.default.unix(selectedDays.from).toDate(),
126
- to: _moment.default.unix(selectedDays.to).toDate()
127
- };
128
- }
129
- var offsetFrom = _moment.default.unix(selectedDays.from).utcOffset() * 60;
130
- var offsetTo = _moment.default.unix(selectedDays.to).utcOffset() * 60;
131
- return {
132
- from: new Date((selectedDays.from - offsetFrom) * 1000),
133
- to: new Date((selectedDays.to - offsetTo) * 1000)
134
- };
135
- }
136
- }, [selectedDays, timezoneAware]);
137
- var handleModifiedSave = (0, _react.useCallback)(function (selectedDates) {
138
- setTimezoneAware(false);
139
- if (typeof onSave === "function") {
140
- if (typeof selectedDates === "object" && Object.prototype.hasOwnProperty.call(selectedDates, "from") && Object.prototype.hasOwnProperty.call(selectedDates, "to")) {
141
- onSave({
142
- from: getUtcTimestampFromDate(selectedDates.from),
143
- to: getUtcTimestampFromDate(selectedDates.to)
144
- });
145
- } else {
146
- onSave(undefined);
147
- }
148
- }
149
- }, [onSave]);
150
- var getDefaultMonth = (0, _react.useCallback)(function () {
151
- var date = new Date();
152
- if (typeof selectedDays === "object" && !!selectedDays.from) {
153
- date = timezoneAware ? new Date(selectedDays.from * 1000) : new Date((selectedDays.from - _moment.default.unix(selectedDays.from).utcOffset() * 60) * 1000);
154
- } else if (defaultMonth) {
155
- date = defaultMonth;
156
- }
157
-
158
- // forcing second day in month
159
- return new Date(date.getFullYear(), date.getMonth(), 2);
160
- }, [defaultMonth, selectedDays, timezoneAware]);
161
- var _useState3 = (0, _react.useState)(getDefaultMonth),
162
- _useState4 = _slicedToArray(_useState3, 2),
163
- month = _useState4[0],
164
- setMonth = _useState4[1];
165
- var handleMonthChange = (0, _react.useCallback)(function (month) {
166
- setMonth(month);
167
- }, [setMonth]);
168
- var _useState5 = (0, _react.useState)(modifiedDates),
169
- _useState6 = _slicedToArray(_useState5, 2),
170
- newDates = _useState6[0],
171
- setNewDates = _useState6[1];
172
- var _useState7 = (0, _react.useState)(false),
173
- _useState8 = _slicedToArray(_useState7, 2),
174
- showDiscardModal = _useState8[0],
175
- setShowDiscardModal = _useState8[1];
176
- var _useState9 = (0, _react.useState)(defaultShowDatePicker),
177
- _useState10 = _slicedToArray(_useState9, 2),
178
- showDatePicker = _useState10[0],
179
- setShowDatePicker = _useState10[1];
180
- var disabledSaveButton = (0, _react.useMemo)(function () {
181
- return (modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.from) === (newDates === null || newDates === void 0 ? void 0 : newDates.from) && (modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.to) === (newDates === null || newDates === void 0 ? void 0 : newDates.to);
182
- }, [modifiedDates, newDates]);
183
- (0, _react.useEffect)(function () {
184
- setShowDatePicker(defaultShowDatePicker);
185
- }, [defaultShowDatePicker]);
186
- (0, _react.useEffect)(function () {
187
- setNewDates(modifiedDates);
188
- }, [modifiedDates]);
189
- (0, _react.useEffect)(function () {
190
- typeof onToggleDatePicker === "function" && onToggleDatePicker(showDatePicker);
191
- }, [showDatePicker, onToggleDatePicker]);
192
- (0, _react.useEffect)(function () {
193
- if (!showDatePicker) {
194
- setMonth(getDefaultMonth());
195
- }
196
- }, [showDatePicker, getDefaultMonth]);
197
- var handleSave = (0, _react.useCallback)(function () {
198
- handleModifiedSave(newDates);
199
- setShowDatePicker(false);
200
- }, [newDates, handleModifiedSave]);
201
- var handleChange = (0, _react.useCallback)(function (dates) {
202
- if (mode !== "atomic") {
203
- handleModifiedSave(dates);
204
- }
205
- setNewDates(dates);
206
- }, [mode, handleModifiedSave]);
207
- var handleBeforeCloseMenu = (0, _react.useCallback)(function () {
208
- var result = true;
209
- if (modifiedDates && !newDates || !modifiedDates && newDates) {
210
- result = false;
211
- }
212
- var selectedDaysFrom = modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.from;
213
- var selectedDaysTo = modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.to;
214
- var newDatesFrom = newDates === null || newDates === void 0 ? void 0 : newDates.from;
215
- var newDatesTo = newDates === null || newDates === void 0 ? void 0 : newDates.to;
216
- if (selectedDaysFrom && newDatesFrom && selectedDaysTo && newDatesTo && ((0, _moment.default)(selectedDaysFrom).format("DD-MM-YYYY") !== (0, _moment.default)(newDatesFrom).format("DD-MM-YYYY") || (0, _moment.default)(selectedDaysTo).format("DD-MM-YYYY") !== (0, _moment.default)(newDatesTo).format("DD-MM-YYYY"))) {
217
- result = false;
218
- }
219
- if (!result) {
220
- setShowDiscardModal(true);
221
- }
222
- return result;
223
- }, [modifiedDates, newDates]);
224
- var handleClose = (0, _react.useCallback)(function () {
225
- if (mode !== "atomic" || handleBeforeCloseMenu()) {
226
- typeof onCancel === "function" && onCancel();
227
- setShowDatePicker(false);
228
- }
229
- }, [mode, onCancel, handleBeforeCloseMenu]);
230
- var handleCancel = (0, _react.useCallback)(function (event) {
231
- event && event.preventDefault();
232
- return handleClose();
233
- }, [handleClose]);
234
- var handleShowDatePicker = (0, _react.useCallback)(function () {
235
- setShowDatePicker(!showDatePicker);
236
- }, [showDatePicker]);
237
- var handleCloseDiscardModal = (0, _react.useCallback)(function () {
238
- setShowDiscardModal(false);
239
- }, []);
240
- var handleClear = (0, _react.useCallback)(function () {
241
- if (!dateRequired) {
242
- setNewDates(undefined);
243
- if (mode === "instant") {
244
- handleModifiedSave(undefined);
113
+ if (!selectedDays.to && selectedDays.from) {
114
+ return formattedStartDate;
245
115
  }
116
+ return "".concat(formattedStartDate, " - ").concat(formattedEndDate);
246
117
  }
247
- }, [mode, dateRequired, handleModifiedSave]);
248
- var handleSaveDiscardModal = (0, _react.useCallback)(function () {
249
- setNewDates(modifiedDates);
250
- setShowDiscardModal(false);
251
- setShowDatePicker(false);
252
- }, [modifiedDates]);
118
+ }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);
253
119
  var modifiers = (0, _react.useMemo)(function () {
254
120
  var userAvailabilities = daysToModify.filter(function (data) {
255
121
  return data.type === "user_day_off";
@@ -262,122 +128,63 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
262
128
  });
263
129
  return {
264
130
  userAvailability: function userAvailability(day) {
265
- // construct new date because react-day-picker returns date with hours set
266
- var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
267
- return userAvailabilities.some(function (data) {
268
- return isDayInRange(currentDay, data);
131
+ var matchedData = userAvailabilities.find(function (data) {
132
+ return isDayInRange(day, data);
269
133
  });
134
+ return {
135
+ matched: !!matchedData,
136
+ title: matchedData ? matchedData.title : null
137
+ };
270
138
  },
271
139
  weekend: function weekend(day) {
272
- return weekends.some(function (value) {
273
- return day.getDay() === value;
274
- });
140
+ var isWeekend = weekends.includes(day.day());
141
+ return {
142
+ matched: isWeekend,
143
+ title: isWeekend ? weekendLabel : null
144
+ };
275
145
  },
276
146
  nonWorkingDay: function nonWorkingDay(day) {
277
- // return true if day is weekend day
278
- if (weekends.some(function (value) {
279
- return value === day.getDay();
280
- })) {
281
- return true;
147
+ if (weekends.includes(day.day())) {
148
+ return {
149
+ matched: true,
150
+ title: ""
151
+ };
282
152
  }
283
153
  var nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];
284
- var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
285
- return nonWorkingDays.some(function (data) {
286
- return isDayInRange(currentDay, data);
154
+ var matchedData = nonWorkingDays.find(function (data) {
155
+ return isDayInRange(day, data);
287
156
  });
157
+ return {
158
+ matched: !!matchedData,
159
+ title: matchedData ? matchedData.title : null
160
+ };
161
+ },
162
+ nonWorkingDaysOfWeek: function nonWorkingDaysOfWeek(day) {
163
+ var isNonWorkingDay = _nonWorkingDaysOfWeek.includes(day.day());
164
+ return {
165
+ matched: isNonWorkingDay,
166
+ title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null
167
+ };
288
168
  },
289
169
  day_disabled: function day_disabled(day) {
290
- if (disableDaysBefore) {
291
- if (day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)) {
292
- return true;
293
- }
294
- }
295
- // return true if day is weekend day
296
- if (!weekendIsSelectable && weekends.some(function (value) {
297
- return value === day.getDay();
298
- })) {
299
- return true;
300
- }
301
- // construct new date because react-day-picker returns date with hours set
302
- var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
303
- return globalDaysOff.some(function (data) {
304
- return isDayInRange(currentDay, data);
170
+ var globalDayOff = globalDaysOff.find(function (data) {
171
+ return isDayInRange(day, data);
305
172
  });
306
- },
307
- nonWorkingDaysOfWeek: {
308
- dayOfWeek: nonWorkingDaysOfWeek
173
+ return {
174
+ matched: !!globalDayOff,
175
+ title: null
176
+ };
309
177
  }
310
178
  };
311
- }, [daysToModify, nonWorkingDaysOfWeek, weekends, disableDaysBefore, weekendIsSelectable]);
312
- var renderDay = (0, _react.useCallback)(function (props) {
313
- var titles = [];
314
- if (weekends.some(function (value) {
315
- return props.date.getDay() === value;
316
- })) {
317
- titles.push(weekendLabel);
318
- }
319
- if (nonWorkingDaysOfWeek.includes(props.date.getDay())) {
320
- titles.push(nonWorkingDaysOfWeekLabel);
321
- }
322
-
323
- // construct new date because react-day-picker returns date with hours set
324
- var currentDay = new Date(props.date.getFullYear(), props.date.getMonth(), props.date.getDate());
325
- daysToModify.forEach(function (data) {
326
- if (isDayInRange(currentDay, data)) {
327
- titles.push(data.title);
328
- }
329
- });
330
- var child = /*#__PURE__*/_react.default.createElement("div", {
331
- className: "c-DayPicker-Day-Number"
332
- }, props.date.getDate());
333
- if (titles.length) {
334
- var title = /*#__PURE__*/_react.default.createElement("div", {
335
- key: "title-wrapper-".concat(props.date.getDate())
336
- }, titles.map(function (title, index) {
337
- return /*#__PURE__*/_react.default.createElement("div", {
338
- key: "title-text-".concat(index)
339
- }, title);
340
- }));
341
- return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
342
- title: title,
343
- popperTooltipClassName: popperTooltipClassName,
344
- popperTooltipStyle: popperTooltipStyle
345
- }, child);
346
- }
347
- return child;
348
- }, [weekends, nonWorkingDaysOfWeek, daysToModify, weekendLabel, nonWorkingDaysOfWeekLabel, popperTooltipClassName, popperTooltipStyle]);
349
- var renderDatePickerForm = (0, _react.useCallback)(function () {
350
- return /*#__PURE__*/_react.default.createElement(_DatePickerForm.DatePickerForm, {
351
- onMonthChange: handleMonthChange,
352
- month: month,
353
- mode: mode,
354
- selectionMode: selectionMode,
355
- dateRequired: dateRequired,
356
- selectedDays: newDates,
357
- firstDayOfWeek: firstDayOfWeek,
358
- saveButtonText: saveButtonText,
359
- cancelButtonText: cancelButtonText,
360
- clearButtonText: clearButtonText,
361
- onDayClick: onDayClick,
362
- onSave: handleSave,
363
- onChange: handleChange,
364
- onCancel: handleCancel,
365
- onClear: handleClear,
366
- disabledSaveButton: disabledSaveButton,
367
- modifiers: modifiers,
368
- renderDay: renderDay
369
- });
370
- }, [handleMonthChange, month, mode, selectionMode, dateRequired, newDates, firstDayOfWeek, saveButtonText, cancelButtonText, clearButtonText, onDayClick, handleSave, handleChange, handleCancel, handleClear, disabledSaveButton, modifiers, renderDay]);
179
+ }, [daysToModify, _nonWorkingDaysOfWeek, nonWorkingDaysOfWeekLabel, weekendLabel, weekends]);
371
180
  var renderTargetEl = (0, _react.useMemo)(function () {
372
181
  if (labelType === "icon" && icon) {
373
182
  return /*#__PURE__*/_react.default.createElement(_SelectDateTarget.SelectDateTarget, {
374
183
  icon: icon,
375
184
  title: tooltipText,
376
185
  targetIconClassName: targetIconClassName,
377
- forceHideTooltip: showDatePicker,
378
186
  popperTooltipClassName: popperTooltipClassName,
379
- popperTooltipStyle: popperTooltipStyle,
380
- active: showDatePicker
187
+ popperTooltipStyle: popperTooltipStyle
381
188
  });
382
189
  }
383
190
  if (typeof labelType === "function") {
@@ -389,29 +196,68 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
389
196
  }, /*#__PURE__*/_react.default.createElement("span", {
390
197
  className: targetTextClassName
391
198
  }, labelText));
392
- }, [icon, labelText, labelType, popperTooltipClassName, popperTooltipStyle, showDatePicker, targetClassName, targetIconClassName, targetTextClassName, tooltipText]);
199
+ }, [icon, labelText, labelType, popperTooltipClassName, popperTooltipStyle, targetClassName, targetIconClassName, targetTextClassName, tooltipText]);
393
200
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDate, {
394
201
  className: "select-date"
395
- }, labelType !== "inline" ? /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
202
+ }, labelType !== "inline" ? /*#__PURE__*/_react.default.createElement(_DatePicker.DatePicker, {
396
203
  target: renderTargetEl,
397
- open: showDatePicker,
398
- onOpen: handleShowDatePicker,
399
- onBeforeClose: handleBeforeCloseMenu,
400
- onClose: handleClose,
401
204
  position: position,
402
205
  menuClassName: menuClassName,
403
206
  popperClassName: popperClassName,
404
- backgroundElementClass: backgroundElementClass
405
- }, renderDatePickerForm()) : renderDatePickerForm(), mode === "atomic" ? /*#__PURE__*/_react.default.createElement(_Styles.StyledConfirmDialog, {
406
- className: "modal-select-date",
407
- open: showDiscardModal,
408
- onCancel: handleCloseDiscardModal,
409
- onConfirm: handleSaveDiscardModal,
410
- dialogTitle: modalHeaderText,
411
- dialogContent: modalDiscardMessage,
412
- cancelBtnText: modalCancelBtnText,
413
- confirmBtnText: modalDiscardBtnText
414
- }) : null);
207
+ month: defaultMonth,
208
+ instant: mode === "instant",
209
+ mode: selectionMode,
210
+ required: dateRequired,
211
+ selected: selectedDays,
212
+ firstDayOfWeek: firstDayOfWeek,
213
+ saveLabel: saveButtonText,
214
+ cancelLabel: cancelButtonText,
215
+ clearLabel: clearButtonText,
216
+ onSave: onSave,
217
+ onChange: onChange,
218
+ onClose: onCancel,
219
+ modifiers: modifiers,
220
+ modalHeaderText: modalHeaderText,
221
+ modalDiscardMessage: modalDiscardMessage,
222
+ modalDiscardBtnText: modalDiscardBtnText,
223
+ modalCancelBtnText: modalCancelBtnText,
224
+ disabledDaysBefore: disableDaysBefore,
225
+ disabledDaysAfter: disabledDaysAfter,
226
+ backgroundElementClass: backgroundElementClass,
227
+ disabled: weekendIsSelectable ? [] : weekends,
228
+ popperTooltipClassName: popperTooltipClassName,
229
+ popperTooltipStyle: popperTooltipStyle,
230
+ open: defaultShowDatePicker,
231
+ onCalendarToggle: onToggleDatePicker,
232
+ onDayClick: onDayClick,
233
+ enableConfirmModal: mode === "atomic" && !dateRequired,
234
+ disableYearPicker: !enableYearPicker,
235
+ disableAnimations: disableAnimations,
236
+ showControls: true
237
+ }) : /*#__PURE__*/_react.default.createElement(_DatePicker.DatePicker, {
238
+ month: defaultMonth,
239
+ instant: mode === "instant",
240
+ mode: selectionMode,
241
+ required: dateRequired,
242
+ selected: selectedDays,
243
+ firstDayOfWeek: firstDayOfWeek,
244
+ saveLabel: saveButtonText,
245
+ cancelLabel: cancelButtonText,
246
+ clearLabel: clearButtonText,
247
+ disabledDaysBefore: disableDaysBefore,
248
+ disabledDaysAfter: disabledDaysAfter,
249
+ popperTooltipClassName: popperTooltipClassName,
250
+ popperTooltipStyle: popperTooltipStyle,
251
+ disabled: weekendIsSelectable ? [] : weekends,
252
+ onSave: onSave,
253
+ onChange: onChange,
254
+ modifiers: modifiers,
255
+ onDayClick: onDayClick,
256
+ disableYearPicker: !enableYearPicker,
257
+ disableAnimations: disableAnimations,
258
+ showControls: true,
259
+ open: true
260
+ }));
415
261
  };
416
262
  SelectDate.displayName = "SelectDate";
417
263
  //# sourceMappingURL=SelectDate.js.map