@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.
Files changed (60) hide show
  1. package/dist/cjs/components/DatePicker/DatePickerV2.js +661 -0
  2. package/dist/cjs/components/DatePicker/DatePickerV2.js.map +1 -0
  3. package/dist/cjs/components/DatePicker/StylesV2.js +100 -0
  4. package/dist/cjs/components/DatePicker/StylesV2.js.map +1 -0
  5. package/dist/cjs/components/DatePicker/index.js +11 -0
  6. package/dist/cjs/components/DatePicker/index.js.map +1 -1
  7. package/dist/cjs/components/GlobalStyle.js +1 -1
  8. package/dist/cjs/components/GlobalStyle.js.map +1 -1
  9. package/dist/cjs/components/SelectDate/SelectDateV2.js +233 -0
  10. package/dist/cjs/components/SelectDate/SelectDateV2.js.map +1 -0
  11. package/dist/cjs/components/SelectDate/index.js +11 -0
  12. package/dist/cjs/components/SelectDate/index.js.map +1 -1
  13. package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js +276 -0
  14. package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js.map +1 -0
  15. package/dist/cjs/components/Steppers/DateStepper/Styles.js +2 -3
  16. package/dist/cjs/components/Steppers/DateStepper/Styles.js.map +1 -1
  17. package/dist/cjs/components/Steppers/DateStepper/index.js +11 -0
  18. package/dist/cjs/components/Steppers/DateStepper/index.js.map +1 -1
  19. package/dist/cjs/custom.d.js.map +1 -1
  20. package/dist/esm/components/DatePicker/DatePickerV2.d.ts +67 -0
  21. package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +1 -0
  22. package/dist/esm/components/DatePicker/DatePickerV2.js +574 -0
  23. package/dist/esm/components/DatePicker/DatePickerV2.js.map +1 -0
  24. package/dist/esm/components/DatePicker/StylesV2.d.ts +22 -0
  25. package/dist/esm/components/DatePicker/StylesV2.d.ts.map +1 -0
  26. package/dist/esm/components/DatePicker/StylesV2.js +93 -0
  27. package/dist/esm/components/DatePicker/StylesV2.js.map +1 -0
  28. package/dist/esm/components/DatePicker/index.d.ts +1 -0
  29. package/dist/esm/components/DatePicker/index.d.ts.map +1 -1
  30. package/dist/esm/components/DatePicker/index.js +1 -0
  31. package/dist/esm/components/DatePicker/index.js.map +1 -1
  32. package/dist/esm/components/GlobalStyle.d.ts.map +1 -1
  33. package/dist/esm/components/GlobalStyle.js +1 -1
  34. package/dist/esm/components/GlobalStyle.js.map +1 -1
  35. package/dist/esm/components/SelectDate/SelectDateV2.d.ts +100 -0
  36. package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +1 -0
  37. package/dist/esm/components/SelectDate/SelectDateV2.js +195 -0
  38. package/dist/esm/components/SelectDate/SelectDateV2.js.map +1 -0
  39. package/dist/esm/components/SelectDate/Styles.d.ts +1 -1
  40. package/dist/esm/components/SelectDate/index.d.ts +1 -0
  41. package/dist/esm/components/SelectDate/index.d.ts.map +1 -1
  42. package/dist/esm/components/SelectDate/index.js +1 -0
  43. package/dist/esm/components/SelectDate/index.js.map +1 -1
  44. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts +45 -0
  45. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts.map +1 -0
  46. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js +241 -0
  47. package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js.map +1 -0
  48. package/dist/esm/components/Steppers/DateStepper/Styles.d.ts.map +1 -1
  49. package/dist/esm/components/Steppers/DateStepper/Styles.js +2 -3
  50. package/dist/esm/components/Steppers/DateStepper/Styles.js.map +1 -1
  51. package/dist/esm/components/Steppers/DateStepper/index.d.ts +1 -0
  52. package/dist/esm/components/Steppers/DateStepper/index.d.ts.map +1 -1
  53. package/dist/esm/components/Steppers/DateStepper/index.js +1 -0
  54. package/dist/esm/components/Steppers/DateStepper/index.js.map +1 -1
  55. package/dist/esm/custom.d.js.map +1 -1
  56. package/dist/index.js +7079 -5876
  57. package/dist/index.js.map +1 -1
  58. package/dist/index.min.js +1 -1
  59. package/dist/index.min.js.map +1 -1
  60. 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