@activecollab/components 2.0.139 → 2.0.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/DatePicker/DatePickerV2.js +661 -0
- package/dist/cjs/components/DatePicker/DatePickerV2.js.map +1 -0
- package/dist/cjs/components/DatePicker/StylesV2.js +100 -0
- package/dist/cjs/components/DatePicker/StylesV2.js.map +1 -0
- package/dist/cjs/components/DatePicker/index.js +11 -0
- package/dist/cjs/components/DatePicker/index.js.map +1 -1
- package/dist/cjs/components/GlobalStyle.js +1 -1
- package/dist/cjs/components/GlobalStyle.js.map +1 -1
- package/dist/cjs/components/SelectDate/SelectDateV2.js +233 -0
- package/dist/cjs/components/SelectDate/SelectDateV2.js.map +1 -0
- package/dist/cjs/components/SelectDate/index.js +11 -0
- package/dist/cjs/components/SelectDate/index.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js +276 -0
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js.map +1 -0
- package/dist/cjs/components/Steppers/DateStepper/Styles.js +2 -3
- package/dist/cjs/components/Steppers/DateStepper/Styles.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/index.js +11 -0
- package/dist/cjs/components/Steppers/DateStepper/index.js.map +1 -1
- package/dist/cjs/custom.d.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts +67 -0
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +1 -0
- package/dist/esm/components/DatePicker/DatePickerV2.js +574 -0
- package/dist/esm/components/DatePicker/DatePickerV2.js.map +1 -0
- package/dist/esm/components/DatePicker/StylesV2.d.ts +22 -0
- package/dist/esm/components/DatePicker/StylesV2.d.ts.map +1 -0
- package/dist/esm/components/DatePicker/StylesV2.js +93 -0
- package/dist/esm/components/DatePicker/StylesV2.js.map +1 -0
- package/dist/esm/components/DatePicker/index.d.ts +1 -0
- package/dist/esm/components/DatePicker/index.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/index.js +1 -0
- package/dist/esm/components/DatePicker/index.js.map +1 -1
- package/dist/esm/components/GlobalStyle.d.ts.map +1 -1
- package/dist/esm/components/GlobalStyle.js +1 -1
- package/dist/esm/components/GlobalStyle.js.map +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts +100 -0
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +1 -0
- package/dist/esm/components/SelectDate/SelectDateV2.js +195 -0
- package/dist/esm/components/SelectDate/SelectDateV2.js.map +1 -0
- package/dist/esm/components/SelectDate/Styles.d.ts +1 -1
- package/dist/esm/components/SelectDate/index.d.ts +1 -0
- package/dist/esm/components/SelectDate/index.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/index.js +1 -0
- package/dist/esm/components/SelectDate/index.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts +45 -0
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts.map +1 -0
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js +241 -0
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js.map +1 -0
- package/dist/esm/components/Steppers/DateStepper/Styles.d.ts.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/Styles.js +2 -3
- package/dist/esm/components/Steppers/DateStepper/Styles.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/index.d.ts +1 -0
- package/dist/esm/components/Steppers/DateStepper/index.d.ts.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/index.js +1 -0
- package/dist/esm/components/Steppers/DateStepper/index.js.map +1 -1
- package/dist/esm/custom.d.js.map +1 -1
- package/dist/index.js +7079 -5876
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SelectDateV2 = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
10
|
+
var _SelectDateTarget = require("./SelectDateTarget");
|
|
11
|
+
var _Styles = require("./Styles");
|
|
12
|
+
var _dateUtils = require("../../utils/dateUtils");
|
|
13
|
+
var _DatePickerV = require("../DatePicker/DatePickerV2");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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); }
|
|
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; }
|
|
17
|
+
var isDayInRange = function isDayInRange(day, data) {
|
|
18
|
+
if (data.repeating) {
|
|
19
|
+
var from = new Date(day.getFullYear(), data.from.getMonth(), data.from.getDate());
|
|
20
|
+
var to = new Date(day.getFullYear(), data.to.getMonth(), data.to.getDate());
|
|
21
|
+
return day >= from && day <= to;
|
|
22
|
+
}
|
|
23
|
+
return day >= data.from && day <= data.to;
|
|
24
|
+
};
|
|
25
|
+
var SelectDateV2 = exports.SelectDateV2 = function SelectDateV2(_ref) {
|
|
26
|
+
var _ref$changeMode = _ref.changeMode,
|
|
27
|
+
mode = _ref$changeMode === void 0 ? "instant" : _ref$changeMode,
|
|
28
|
+
_ref$trigger = _ref.trigger,
|
|
29
|
+
labelType = _ref$trigger === void 0 ? "text" : _ref$trigger,
|
|
30
|
+
_ref$saveButtonText = _ref.saveButtonText,
|
|
31
|
+
saveButtonText = _ref$saveButtonText === void 0 ? "Save" : _ref$saveButtonText,
|
|
32
|
+
_ref$cancelButtonText = _ref.cancelButtonText,
|
|
33
|
+
cancelButtonText = _ref$cancelButtonText === void 0 ? "Cancel" : _ref$cancelButtonText,
|
|
34
|
+
_ref$clearButtonText = _ref.clearButtonText,
|
|
35
|
+
clearButtonText = _ref$clearButtonText === void 0 ? "Clear" : _ref$clearButtonText,
|
|
36
|
+
_ref$modalHeaderText = _ref.modalHeaderText,
|
|
37
|
+
modalHeaderText = _ref$modalHeaderText === void 0 ? "Discard changes?" : _ref$modalHeaderText,
|
|
38
|
+
_ref$modalDiscardMess = _ref.modalDiscardMessage,
|
|
39
|
+
modalDiscardMessage = _ref$modalDiscardMess === void 0 ? "All unsaved changes will be lost." : _ref$modalDiscardMess,
|
|
40
|
+
_ref$modalDiscardBtnT = _ref.modalDiscardBtnText,
|
|
41
|
+
modalDiscardBtnText = _ref$modalDiscardBtnT === void 0 ? "OK" : _ref$modalDiscardBtnT,
|
|
42
|
+
_ref$modalCancelBtnTe = _ref.modalCancelBtnText,
|
|
43
|
+
modalCancelBtnText = _ref$modalCancelBtnTe === void 0 ? "Cancel" : _ref$modalCancelBtnTe,
|
|
44
|
+
onDayClick = _ref.onDayClick,
|
|
45
|
+
onSave = _ref.onSave,
|
|
46
|
+
onCancel = _ref.onCancel,
|
|
47
|
+
onToggleDatePicker = _ref.onToggleDatePicker,
|
|
48
|
+
_ref$required = _ref.required,
|
|
49
|
+
dateRequired = _ref$required === void 0 ? false : _ref$required,
|
|
50
|
+
_ref$longDateFormat = _ref.longDateFormat,
|
|
51
|
+
longDateFormat = _ref$longDateFormat === void 0 ? false : _ref$longDateFormat,
|
|
52
|
+
_ref$defaultShowDateP = _ref.defaultShowDatePicker,
|
|
53
|
+
defaultShowDatePicker = _ref$defaultShowDateP === void 0 ? false : _ref$defaultShowDateP,
|
|
54
|
+
_ref$firstDayOfWeek = _ref.firstDayOfWeek,
|
|
55
|
+
firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,
|
|
56
|
+
selectedDays = _ref.selectedDays,
|
|
57
|
+
_ref$selectionMode = _ref.selectionMode,
|
|
58
|
+
selectionMode = _ref$selectionMode === void 0 ? "custom" : _ref$selectionMode,
|
|
59
|
+
menuClassName = _ref.menuClassName,
|
|
60
|
+
targetClassName = _ref.targetClassName,
|
|
61
|
+
icon = _ref.icon,
|
|
62
|
+
_ref$defaultLabelText = _ref.defaultLabelText,
|
|
63
|
+
defaultLabelText = _ref$defaultLabelText === void 0 ? "Set..." : _ref$defaultLabelText,
|
|
64
|
+
targetTextClassName = _ref.targetTextClassName,
|
|
65
|
+
targetIconClassName = _ref.targetIconClassName,
|
|
66
|
+
backgroundElementClass = _ref.backgroundElementClass,
|
|
67
|
+
dateFormat = _ref.dateFormat,
|
|
68
|
+
defaultMonth = _ref.defaultMonth,
|
|
69
|
+
_ref$daysToModify = _ref.daysToModify,
|
|
70
|
+
daysToModify = _ref$daysToModify === void 0 ? [] : _ref$daysToModify,
|
|
71
|
+
_ref$weekends = _ref.weekends,
|
|
72
|
+
weekends = _ref$weekends === void 0 ? [] : _ref$weekends,
|
|
73
|
+
_ref$weekendLabel = _ref.weekendLabel,
|
|
74
|
+
weekendLabel = _ref$weekendLabel === void 0 ? "Weekend" : _ref$weekendLabel,
|
|
75
|
+
_ref$nonWorkingDaysOf = _ref.nonWorkingDaysOfWeek,
|
|
76
|
+
_nonWorkingDaysOfWeek = _ref$nonWorkingDaysOf === void 0 ? [] : _ref$nonWorkingDaysOf,
|
|
77
|
+
_ref$nonWorkingDaysOf2 = _ref.nonWorkingDaysOfWeekLabel,
|
|
78
|
+
nonWorkingDaysOfWeekLabel = _ref$nonWorkingDaysOf2 === void 0 ? "Unavailable" : _ref$nonWorkingDaysOf2,
|
|
79
|
+
_ref$weekendIsSelecta = _ref.weekendIsSelectable,
|
|
80
|
+
weekendIsSelectable = _ref$weekendIsSelecta === void 0 ? false : _ref$weekendIsSelecta,
|
|
81
|
+
tooltipText = _ref.tooltipText,
|
|
82
|
+
popperTooltipClassName = _ref.popperTooltipClassName,
|
|
83
|
+
popperClassName = _ref.popperClassName,
|
|
84
|
+
popperTooltipStyle = _ref.popperTooltipStyle,
|
|
85
|
+
position = _ref.position,
|
|
86
|
+
disableDaysBefore = _ref.disableDaysBefore,
|
|
87
|
+
enableYearPicker = _ref.enableYearPicker,
|
|
88
|
+
disableAnimations = _ref.disableAnimations;
|
|
89
|
+
var labelText = (0, _react.useMemo)(function () {
|
|
90
|
+
if (!selectedDays) {
|
|
91
|
+
return defaultLabelText;
|
|
92
|
+
} else {
|
|
93
|
+
var formattedEndDate = (0, _dateUtils.formatDate)(_momentTimezone.default.utc(Number(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.to) * 1000), dateFormat, longDateFormat);
|
|
94
|
+
var formattedStartDate = (0, _dateUtils.formatDate)(_momentTimezone.default.utc((selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.from) * 1000), dateFormat, longDateFormat);
|
|
95
|
+
if (_momentTimezone.default.utc(selectedDays.from * 1000).isSame(_momentTimezone.default.utc(Number(selectedDays.to) * 1000))) {
|
|
96
|
+
return formattedEndDate;
|
|
97
|
+
}
|
|
98
|
+
return "".concat(formattedStartDate, " - ").concat(formattedEndDate);
|
|
99
|
+
}
|
|
100
|
+
}, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);
|
|
101
|
+
var modifiers = (0, _react.useMemo)(function () {
|
|
102
|
+
var userAvailabilities = daysToModify.filter(function (data) {
|
|
103
|
+
return data.type === "user_day_off";
|
|
104
|
+
});
|
|
105
|
+
var globalDaysOff = daysToModify.filter(function (data) {
|
|
106
|
+
return data.type === "global_day_off";
|
|
107
|
+
});
|
|
108
|
+
var selectableGlobalDaysOff = daysToModify.filter(function (data) {
|
|
109
|
+
return data.type === "selectable_global_day_off";
|
|
110
|
+
});
|
|
111
|
+
return {
|
|
112
|
+
userAvailability: function userAvailability(day) {
|
|
113
|
+
var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
114
|
+
var matchedData = userAvailabilities.find(function (data) {
|
|
115
|
+
return isDayInRange(currentDay, data);
|
|
116
|
+
});
|
|
117
|
+
return {
|
|
118
|
+
matched: !!matchedData,
|
|
119
|
+
title: matchedData ? matchedData.title : null
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
weekend: function weekend(day) {
|
|
123
|
+
var isWeekend = weekends.includes(day.getDay());
|
|
124
|
+
return {
|
|
125
|
+
matched: isWeekend,
|
|
126
|
+
title: isWeekend ? weekendLabel : null
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
nonWorkingDay: function nonWorkingDay(day) {
|
|
130
|
+
if (weekends.includes(day.getDay())) {
|
|
131
|
+
return {
|
|
132
|
+
matched: true,
|
|
133
|
+
title: ""
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
var nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];
|
|
137
|
+
var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
138
|
+
var matchedData = nonWorkingDays.find(function (data) {
|
|
139
|
+
return isDayInRange(currentDay, data);
|
|
140
|
+
});
|
|
141
|
+
return {
|
|
142
|
+
matched: !!matchedData,
|
|
143
|
+
title: matchedData ? matchedData.title : null
|
|
144
|
+
};
|
|
145
|
+
},
|
|
146
|
+
nonWorkingDaysOfWeek: function nonWorkingDaysOfWeek(day) {
|
|
147
|
+
var isNonWorkingDay = _nonWorkingDaysOfWeek.includes(day.getDay());
|
|
148
|
+
return {
|
|
149
|
+
matched: isNonWorkingDay,
|
|
150
|
+
title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
}, [daysToModify, _nonWorkingDaysOfWeek, nonWorkingDaysOfWeekLabel, weekendLabel, weekends]);
|
|
155
|
+
var renderTargetEl = (0, _react.useMemo)(function () {
|
|
156
|
+
if (labelType === "icon" && icon) {
|
|
157
|
+
return /*#__PURE__*/_react.default.createElement(_SelectDateTarget.SelectDateTarget, {
|
|
158
|
+
icon: icon,
|
|
159
|
+
title: tooltipText,
|
|
160
|
+
targetIconClassName: targetIconClassName,
|
|
161
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
162
|
+
popperTooltipStyle: popperTooltipStyle
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (typeof labelType === "function") {
|
|
166
|
+
return labelType(labelText);
|
|
167
|
+
}
|
|
168
|
+
return /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDateButton, {
|
|
169
|
+
type: "button",
|
|
170
|
+
className: (0, _classnames.default)("date-picker-target", targetClassName)
|
|
171
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
172
|
+
className: targetTextClassName
|
|
173
|
+
}, labelText));
|
|
174
|
+
}, [icon, labelText, labelType, popperTooltipClassName, popperTooltipStyle, targetClassName, targetIconClassName, targetTextClassName, tooltipText]);
|
|
175
|
+
return /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDate, {
|
|
176
|
+
className: "select-date"
|
|
177
|
+
}, labelType !== "inline" ? /*#__PURE__*/_react.default.createElement(_DatePickerV.DatePickerV2, {
|
|
178
|
+
target: renderTargetEl,
|
|
179
|
+
position: position,
|
|
180
|
+
menuClassName: menuClassName,
|
|
181
|
+
popperClassName: popperClassName,
|
|
182
|
+
month: defaultMonth,
|
|
183
|
+
instant: mode === "instant",
|
|
184
|
+
mode: selectionMode,
|
|
185
|
+
required: dateRequired,
|
|
186
|
+
selected: selectedDays,
|
|
187
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
188
|
+
saveLabel: saveButtonText,
|
|
189
|
+
cancelLabel: cancelButtonText,
|
|
190
|
+
clearLabel: clearButtonText,
|
|
191
|
+
onSave: onSave,
|
|
192
|
+
onClose: onCancel,
|
|
193
|
+
modifiers: modifiers,
|
|
194
|
+
modalHeaderText: modalHeaderText,
|
|
195
|
+
modalDiscardMessage: modalDiscardMessage,
|
|
196
|
+
modalDiscardBtnText: modalDiscardBtnText,
|
|
197
|
+
modalCancelBtnText: modalCancelBtnText,
|
|
198
|
+
disabledDaysBefore: disableDaysBefore,
|
|
199
|
+
backgroundElementClass: backgroundElementClass,
|
|
200
|
+
disabled: weekendIsSelectable ? [] : [0, 6],
|
|
201
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
202
|
+
popperTooltipStyle: popperTooltipStyle,
|
|
203
|
+
open: defaultShowDatePicker,
|
|
204
|
+
onCalendarToggle: onToggleDatePicker,
|
|
205
|
+
onDayClick: onDayClick,
|
|
206
|
+
enableConfirmModal: mode === "atomic" && !dateRequired,
|
|
207
|
+
disableYearPicker: !enableYearPicker,
|
|
208
|
+
disableAnimations: disableAnimations,
|
|
209
|
+
showControls: true
|
|
210
|
+
}) : /*#__PURE__*/_react.default.createElement(_DatePickerV.DatePickerV2, {
|
|
211
|
+
month: defaultMonth,
|
|
212
|
+
instant: mode === "instant",
|
|
213
|
+
mode: selectionMode,
|
|
214
|
+
required: dateRequired,
|
|
215
|
+
selected: selectedDays,
|
|
216
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
217
|
+
saveLabel: saveButtonText,
|
|
218
|
+
cancelLabel: cancelButtonText,
|
|
219
|
+
clearLabel: clearButtonText,
|
|
220
|
+
disabledDaysBefore: disableDaysBefore,
|
|
221
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
222
|
+
popperTooltipStyle: popperTooltipStyle,
|
|
223
|
+
disabled: weekendIsSelectable ? [] : [0, 6],
|
|
224
|
+
onSave: onSave,
|
|
225
|
+
modifiers: modifiers,
|
|
226
|
+
onDayClick: onDayClick,
|
|
227
|
+
disableYearPicker: !enableYearPicker,
|
|
228
|
+
disableAnimations: disableAnimations,
|
|
229
|
+
showControls: true
|
|
230
|
+
}));
|
|
231
|
+
};
|
|
232
|
+
SelectDateV2.displayName = "SelectDateV2";
|
|
233
|
+
//# sourceMappingURL=SelectDateV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectDateV2.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_momentTimezone","_SelectDateTarget","_Styles","_dateUtils","_DatePickerV","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isDayInRange","day","data","repeating","from","Date","getFullYear","getMonth","getDate","to","SelectDateV2","exports","_ref","_ref$changeMode","changeMode","mode","_ref$trigger","trigger","labelType","_ref$saveButtonText","saveButtonText","_ref$cancelButtonText","cancelButtonText","_ref$clearButtonText","clearButtonText","_ref$modalHeaderText","modalHeaderText","_ref$modalDiscardMess","modalDiscardMessage","_ref$modalDiscardBtnT","modalDiscardBtnText","_ref$modalCancelBtnTe","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","_ref$required","required","dateRequired","_ref$longDateFormat","longDateFormat","_ref$defaultShowDateP","defaultShowDatePicker","_ref$firstDayOfWeek","firstDayOfWeek","selectedDays","_ref$selectionMode","selectionMode","menuClassName","targetClassName","icon","_ref$defaultLabelText","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","_ref$daysToModify","daysToModify","_ref$weekends","weekends","_ref$weekendLabel","weekendLabel","_ref$nonWorkingDaysOf","nonWorkingDaysOfWeek","_ref$nonWorkingDaysOf2","nonWorkingDaysOfWeekLabel","_ref$weekendIsSelecta","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","enableYearPicker","disableAnimations","labelText","useMemo","formattedEndDate","formatDate","moment","utc","Number","formattedStartDate","isSame","concat","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","SelectDateTarget","StyledSelectDateButton","className","classnames","StyledSelectDate","DatePickerV2","target","month","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","displayName"],"sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"sourcesContent":["import React, { ElementType, FC, useMemo, CSSProperties } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport { StyledSelectDate, StyledSelectDateButton } from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport {\n ChangeMode,\n DatePickerV2,\n TimestampDateRange,\n} from \"../DatePicker/DatePickerV2\";\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nexport interface ISelectDateV2 {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Moment, modifiers: string[]) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: TimestampDateRange) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: TimestampDateRange;\n /** Set month */\n defaultMonth?: Moment;\n /** Set selection range */\n selectionMode?: ChangeMode;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Array of nonworking week days */\n nonWorkingDaysOfWeek?: number[];\n /** Nonworking week days label */\n nonWorkingDaysOfWeekLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Moment;\n /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\n}\n\nexport const SelectDateV2: FC<ISelectDateV2> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n nonWorkingDaysOfWeek = [],\n nonWorkingDaysOfWeekLabel = \"Unavailable\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n enableYearPicker,\n disableAnimations,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const formattedEndDate = formatDate(\n moment.utc(Number(selectedDays?.to) * 1000),\n dateFormat,\n longDateFormat\n );\n const formattedStartDate = formatDate(\n moment.utc(selectedDays?.from * 1000),\n dateFormat,\n longDateFormat\n );\n\n if (\n moment\n .utc(selectedDays.from * 1000)\n .isSame(moment.utc(Number(selectedDays.to) * 1000))\n ) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n userAvailability: (day: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Date) => {\n const isWeekend = weekends.includes(day.getDay());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Date) => {\n if (weekends.includes(day.getDay())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Date) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n nonWorkingDaysOfWeekLabel,\n weekendLabel,\n weekends,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <DatePickerV2\n target={renderTargetEl}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n onSave={onSave}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n open={defaultShowDatePicker}\n onCalendarToggle={onToggleDatePicker}\n onDayClick={onDayClick}\n enableConfirmModal={mode === \"atomic\" && !dateRequired}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n ) : (\n <DatePickerV2\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n disabledDaysBefore={disableDaysBefore}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n onSave={onSave}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"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"}
|
|
@@ -14,4 +14,15 @@ Object.keys(_SelectDate).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
+
var _SelectDateV = require("./SelectDateV2");
|
|
18
|
+
Object.keys(_SelectDateV).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _SelectDateV[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _SelectDateV[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
17
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_SelectDate","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/components/SelectDate/index.ts"],"sourcesContent":["export * from \"./SelectDate\";\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_SelectDate","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_SelectDateV"],"sources":["../../../../src/components/SelectDate/index.ts"],"sourcesContent":["export * from \"./SelectDate\";\nexport * from \"./SelectDateV2\";\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DateStepperV2 = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
10
|
+
var _Styles = require("./Styles");
|
|
11
|
+
var _DatePickerV = require("../../DatePicker/DatePickerV2");
|
|
12
|
+
var _Icons = require("../../Icons");
|
|
13
|
+
var _ArrowLeft = _interopRequireDefault(require("../../Icons/collection/ArrowLeft"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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); }
|
|
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; }
|
|
17
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
+
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."); }
|
|
19
|
+
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); }
|
|
20
|
+
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; }
|
|
21
|
+
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; } }
|
|
22
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
23
|
+
/**
|
|
24
|
+
* This component allow you to select date range. It accepts two parameters "from" and "to" as valid format
|
|
25
|
+
* onChange and onBack and onForward it will return "from: Date" and "to: Date" as function arguments
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
var DateStepperV2 = exports.DateStepperV2 = function DateStepperV2(_ref) {
|
|
29
|
+
var step = _ref.step,
|
|
30
|
+
formatCallback = _ref.formatCallback,
|
|
31
|
+
onChange = _ref.onChange,
|
|
32
|
+
from = _ref.from,
|
|
33
|
+
to = _ref.to,
|
|
34
|
+
onBack = _ref.onBack,
|
|
35
|
+
onForward = _ref.onForward,
|
|
36
|
+
minValue = _ref.minValue,
|
|
37
|
+
maxValue = _ref.maxValue,
|
|
38
|
+
className = _ref.className,
|
|
39
|
+
_ref$period = _ref.period,
|
|
40
|
+
period = _ref$period === void 0 ? "week" : _ref$period,
|
|
41
|
+
_ref$withDatePicker = _ref.withDatePicker,
|
|
42
|
+
withDatePicker = _ref$withDatePicker === void 0 ? true : _ref$withDatePicker,
|
|
43
|
+
_ref$defaultMonth = _ref.defaultMonth,
|
|
44
|
+
defaultMonth = _ref$defaultMonth === void 0 ? (0, _momentTimezone.default)() : _ref$defaultMonth,
|
|
45
|
+
enableYearPicker = _ref.enableYearPicker,
|
|
46
|
+
_ref$position = _ref.position,
|
|
47
|
+
position = _ref$position === void 0 ? "bottom" : _ref$position,
|
|
48
|
+
popperClassName = _ref.popperClassName;
|
|
49
|
+
var _useState = (0, _react.useState)(_momentTimezone.default.utc(from)),
|
|
50
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
51
|
+
fromDate = _useState2[0],
|
|
52
|
+
setFromDate = _useState2[1];
|
|
53
|
+
var _useState3 = (0, _react.useState)(_momentTimezone.default.utc(to)),
|
|
54
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
55
|
+
toDate = _useState4[0],
|
|
56
|
+
setToDate = _useState4[1];
|
|
57
|
+
var getDatesByPeriod = (0, _react.useCallback)(function (interval) {
|
|
58
|
+
var date = fromDate ? fromDate : (0, _momentTimezone.default)();
|
|
59
|
+
if (step === "daily") {
|
|
60
|
+
date.add(interval, "days");
|
|
61
|
+
return [date, date.clone()];
|
|
62
|
+
} else if (step === "weekly") {
|
|
63
|
+
date.add(interval, "weeks");
|
|
64
|
+
return [date.clone().startOf(period), date.clone().endOf(period)];
|
|
65
|
+
} else if (step === "monthly") {
|
|
66
|
+
date.add(interval, "months");
|
|
67
|
+
return [date.clone().startOf("month"), date.clone().endOf("month")];
|
|
68
|
+
} else if (step === "quarterly") {
|
|
69
|
+
date.add(interval, "quarters");
|
|
70
|
+
return [date.clone().startOf("quarter"), date.clone().endOf("quarter")];
|
|
71
|
+
} else if (step === "yearly") {
|
|
72
|
+
date.add(interval, "years");
|
|
73
|
+
return [date.clone().startOf("year"), date.clone().endOf("year")];
|
|
74
|
+
}
|
|
75
|
+
return [date, date];
|
|
76
|
+
}, [fromDate, period, step]);
|
|
77
|
+
var getDateFormatted = (0, _react.useMemo)(function () {
|
|
78
|
+
if (formatCallback) {
|
|
79
|
+
return formatCallback(fromDate, toDate);
|
|
80
|
+
}
|
|
81
|
+
var actualYear = (0, _momentTimezone.default)().year();
|
|
82
|
+
var showWeekOrCustomDateFormat = function showWeekOrCustomDateFormat(start, end) {
|
|
83
|
+
if (start.year() === actualYear && end.year() === actualYear) {
|
|
84
|
+
return start.utc().format("MMM DD") + " - " + end.utc().format("MMM DD");
|
|
85
|
+
} else {
|
|
86
|
+
return start.utc().format("MMM DD YYYY") + " - " + end.utc().format("MMM DD YYYY");
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
if (step === "daily") {
|
|
90
|
+
if (fromDate.year() === actualYear) {
|
|
91
|
+
return fromDate.utc().format("MMM DD");
|
|
92
|
+
}
|
|
93
|
+
return fromDate.utc().format("MMM DD YYYY");
|
|
94
|
+
} else if (step === "weekly") {
|
|
95
|
+
var startDate = fromDate.clone().utc().startOf(period);
|
|
96
|
+
var endDate = startDate.clone().utc().endOf(period);
|
|
97
|
+
return showWeekOrCustomDateFormat(startDate, endDate);
|
|
98
|
+
} else if (step === "monthly") {
|
|
99
|
+
return fromDate.utc().format("MMM YYYY");
|
|
100
|
+
} else if (step === "quarterly") {
|
|
101
|
+
return "Q".concat(fromDate.utc().quarter(), "/").concat(fromDate.utc().format("YYYY"));
|
|
102
|
+
} else if (step === "yearly") {
|
|
103
|
+
return fromDate.utc().format("YYYY");
|
|
104
|
+
} else if (step === "range") {
|
|
105
|
+
return showWeekOrCustomDateFormat(fromDate, toDate);
|
|
106
|
+
}
|
|
107
|
+
return "";
|
|
108
|
+
}, [fromDate, toDate, step, formatCallback, period]);
|
|
109
|
+
var datePickerMode = (0, _react.useMemo)(function () {
|
|
110
|
+
if (step === "range") return "custom";
|
|
111
|
+
if (step === "yearly") return "custom";
|
|
112
|
+
return step;
|
|
113
|
+
}, [step]);
|
|
114
|
+
var onDatePickerChange = (0, _react.useCallback)(function (dates) {
|
|
115
|
+
var fromDateTemp = _momentTimezone.default.utc(Number(dates === null || dates === void 0 ? void 0 : dates.from) * 1000);
|
|
116
|
+
var toDateTemp = _momentTimezone.default.utc(Number(dates === null || dates === void 0 ? void 0 : dates.to) * 1000);
|
|
117
|
+
setFromDate(fromDateTemp);
|
|
118
|
+
setToDate(toDateTemp);
|
|
119
|
+
if (onChange && _momentTimezone.default.isMoment(fromDateTemp) && _momentTimezone.default.isMoment(toDateTemp)) {
|
|
120
|
+
onChange(fromDateTemp.toDate(), toDateTemp.toDate());
|
|
121
|
+
}
|
|
122
|
+
}, [onChange, setFromDate, setToDate]);
|
|
123
|
+
var isAfterMaxDate = (0, _react.useMemo)(function () {
|
|
124
|
+
return _momentTimezone.default.isMoment(maxValue) && (0, _momentTimezone.default)(_momentTimezone.default.utc(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.utc().format("YYYY-MM-DD"));
|
|
125
|
+
}, [maxValue, toDate]);
|
|
126
|
+
var isBeforeMinDate = (0, _react.useMemo)(function () {
|
|
127
|
+
return _momentTimezone.default.isMoment(minValue) && _momentTimezone.default.utc((0, _momentTimezone.default)(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
|
|
128
|
+
}, [minValue, toDate]);
|
|
129
|
+
(0, _react.useEffect)(function () {
|
|
130
|
+
if (isBeforeMinDate) {
|
|
131
|
+
if (step === "daily") {
|
|
132
|
+
setFromDate(_momentTimezone.default.utc(minValue));
|
|
133
|
+
setToDate(_momentTimezone.default.utc(minValue));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (isAfterMaxDate) {
|
|
137
|
+
if (step === "daily") {
|
|
138
|
+
setFromDate(_momentTimezone.default.utc(maxValue));
|
|
139
|
+
setToDate(_momentTimezone.default.utc(maxValue));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);
|
|
143
|
+
var onRightClickHandler = (0, _react.useCallback)(function () {
|
|
144
|
+
if (isAfterMaxDate) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
var _getDatesByPeriod = getDatesByPeriod(1),
|
|
148
|
+
_getDatesByPeriod2 = _slicedToArray(_getDatesByPeriod, 2),
|
|
149
|
+
newFrom = _getDatesByPeriod2[0],
|
|
150
|
+
newTo = _getDatesByPeriod2[1];
|
|
151
|
+
setFromDate(_momentTimezone.default.utc(newFrom));
|
|
152
|
+
setToDate(_momentTimezone.default.utc(newTo));
|
|
153
|
+
if (onChange) {
|
|
154
|
+
onChange(_momentTimezone.default.utc(newFrom), _momentTimezone.default.utc(newTo));
|
|
155
|
+
}
|
|
156
|
+
if (onForward) {
|
|
157
|
+
onForward(_momentTimezone.default.utc(newFrom).toDate(), _momentTimezone.default.utc(newTo).toDate());
|
|
158
|
+
}
|
|
159
|
+
}, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);
|
|
160
|
+
var onLeftClickHandler = (0, _react.useCallback)(function () {
|
|
161
|
+
if (isBeforeMinDate) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
var _getDatesByPeriod3 = getDatesByPeriod(-1),
|
|
165
|
+
_getDatesByPeriod4 = _slicedToArray(_getDatesByPeriod3, 2),
|
|
166
|
+
newFrom = _getDatesByPeriod4[0],
|
|
167
|
+
newTo = _getDatesByPeriod4[1];
|
|
168
|
+
setFromDate(_momentTimezone.default.utc(newFrom));
|
|
169
|
+
setToDate(_momentTimezone.default.utc(newTo));
|
|
170
|
+
if (onChange) {
|
|
171
|
+
onChange(_momentTimezone.default.utc(newFrom), _momentTimezone.default.utc(newTo));
|
|
172
|
+
}
|
|
173
|
+
if (onBack) {
|
|
174
|
+
onBack(_momentTimezone.default.utc(newFrom).toDate(), _momentTimezone.default.utc(newTo).toDate());
|
|
175
|
+
}
|
|
176
|
+
}, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);
|
|
177
|
+
var renderLeftRightButtons = (0, _react.useMemo)(function () {
|
|
178
|
+
return step !== "range";
|
|
179
|
+
}, [step]);
|
|
180
|
+
(0, _react.useEffect)(function () {
|
|
181
|
+
setFromDate(_momentTimezone.default.utc(from));
|
|
182
|
+
setToDate(_momentTimezone.default.utc(to));
|
|
183
|
+
}, [from, to]);
|
|
184
|
+
var dateStepperWidth = function dateStepperWidth(fromDay, toDay, range) {
|
|
185
|
+
if (fromDay.utc().year() !== _momentTimezone.default.utc().year() || toDay.utc().year() !== _momentTimezone.default.utc().year()) {
|
|
186
|
+
switch (range) {
|
|
187
|
+
case "daily":
|
|
188
|
+
case "monthly":
|
|
189
|
+
return {
|
|
190
|
+
minWidth: "122px"
|
|
191
|
+
};
|
|
192
|
+
case "weekly":
|
|
193
|
+
case "custom":
|
|
194
|
+
return {
|
|
195
|
+
minWidth: "232px"
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
switch (range) {
|
|
200
|
+
case "monthly":
|
|
201
|
+
return {
|
|
202
|
+
minWidth: "122px"
|
|
203
|
+
};
|
|
204
|
+
case "weekly":
|
|
205
|
+
case "custom":
|
|
206
|
+
return {
|
|
207
|
+
minWidth: "182px"
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
minWidth: "102px"
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
var isDisabled = (0, _react.useCallback)(function (day) {
|
|
215
|
+
var dayFormat = _momentTimezone.default.utc(day).format("YYYY-MM-DD");
|
|
216
|
+
var isBefore = _momentTimezone.default.isMoment(maxValue) && (0, _momentTimezone.default)(_momentTimezone.default.utc(maxValue).format("YYYY-MM-DD")).isBefore(dayFormat);
|
|
217
|
+
var isAfter = _momentTimezone.default.isMoment(minValue) && (0, _momentTimezone.default)(_momentTimezone.default.utc(minValue).format("YYYY-MM-DD")).isAfter(dayFormat);
|
|
218
|
+
return isBefore || isAfter;
|
|
219
|
+
}, [maxValue, minValue]);
|
|
220
|
+
var modifiers = (0, _react.useMemo)(function () {
|
|
221
|
+
return {
|
|
222
|
+
disabled: function disabled(day) {
|
|
223
|
+
return {
|
|
224
|
+
matched: isDisabled(day),
|
|
225
|
+
title: null
|
|
226
|
+
};
|
|
227
|
+
},
|
|
228
|
+
nonWorkingDay: function nonWorkingDay(day) {
|
|
229
|
+
return {
|
|
230
|
+
matched: isDisabled(day),
|
|
231
|
+
title: null
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
}, [isDisabled]);
|
|
236
|
+
return /*#__PURE__*/_react.default.createElement(_Styles.StyledButtonGroup, {
|
|
237
|
+
className: (0, _classnames.default)("c-date-stepper", className)
|
|
238
|
+
}, renderLeftRightButtons ? /*#__PURE__*/_react.default.createElement(_Styles.StyledControl, {
|
|
239
|
+
type: "button",
|
|
240
|
+
variant: "secondary",
|
|
241
|
+
onClick: onLeftClickHandler,
|
|
242
|
+
disabled: isBeforeMinDate
|
|
243
|
+
}, /*#__PURE__*/_react.default.createElement(_ArrowLeft.default, null)) : null, /*#__PURE__*/_react.default.createElement(_Styles.StyledDiv, {
|
|
244
|
+
$isTargetable: step === "yearly" || !withDatePicker,
|
|
245
|
+
$isRounded: step === "range",
|
|
246
|
+
style: dateStepperWidth(fromDate, toDate, step)
|
|
247
|
+
}, withDatePicker && step !== "yearly" ? /*#__PURE__*/_react.default.createElement(_DatePickerV.DatePickerV2, {
|
|
248
|
+
month: defaultMonth,
|
|
249
|
+
target: /*#__PURE__*/_react.default.createElement(_Styles.StyledButton, {
|
|
250
|
+
type: "button"
|
|
251
|
+
}, getDateFormatted),
|
|
252
|
+
mode: datePickerMode,
|
|
253
|
+
selected: {
|
|
254
|
+
from: _momentTimezone.default.utc(fromDate).unix(),
|
|
255
|
+
to: _momentTimezone.default.utc(toDate).unix()
|
|
256
|
+
},
|
|
257
|
+
onChange: onDatePickerChange,
|
|
258
|
+
firstDayOfWeek: period === "week" ? 0 : 1,
|
|
259
|
+
modifiers: modifiers,
|
|
260
|
+
disabledDaysAfter: maxValue,
|
|
261
|
+
disabledDaysBefore: minValue,
|
|
262
|
+
disableYearPicker: !enableYearPicker,
|
|
263
|
+
popperClassName: popperClassName,
|
|
264
|
+
position: position,
|
|
265
|
+
key: datePickerMode,
|
|
266
|
+
instant: true,
|
|
267
|
+
required: true
|
|
268
|
+
}) : /*#__PURE__*/_react.default.createElement(_Styles.StyledSpan, null, getDateFormatted)), renderLeftRightButtons ? /*#__PURE__*/_react.default.createElement(_Styles.StyledControl, {
|
|
269
|
+
type: "button",
|
|
270
|
+
variant: "secondary",
|
|
271
|
+
onClick: onRightClickHandler,
|
|
272
|
+
disabled: isAfterMaxDate
|
|
273
|
+
}, /*#__PURE__*/_react.default.createElement(_Icons.ArrowRightIcon, null)) : null);
|
|
274
|
+
};
|
|
275
|
+
DateStepperV2.displayName = "DateStepperV2";
|
|
276
|
+
//# sourceMappingURL=DateStepperV2.js.map
|