@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,195 @@
|
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
import classnames from "classnames";
|
|
3
|
+
import moment from "moment-timezone";
|
|
4
|
+
import { SelectDateTarget } from "./SelectDateTarget";
|
|
5
|
+
import { StyledSelectDate, StyledSelectDateButton } from "./Styles";
|
|
6
|
+
import { formatDate } from "../../utils/dateUtils";
|
|
7
|
+
import { DatePickerV2 } from "../DatePicker/DatePickerV2";
|
|
8
|
+
const isDayInRange = (day, data) => {
|
|
9
|
+
if (data.repeating) {
|
|
10
|
+
const from = new Date(day.getFullYear(), data.from.getMonth(), data.from.getDate());
|
|
11
|
+
const to = new Date(day.getFullYear(), data.to.getMonth(), data.to.getDate());
|
|
12
|
+
return day >= from && day <= to;
|
|
13
|
+
}
|
|
14
|
+
return day >= data.from && day <= data.to;
|
|
15
|
+
};
|
|
16
|
+
export const SelectDateV2 = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
changeMode: mode = "instant",
|
|
19
|
+
trigger: labelType = "text",
|
|
20
|
+
saveButtonText = "Save",
|
|
21
|
+
cancelButtonText = "Cancel",
|
|
22
|
+
clearButtonText = "Clear",
|
|
23
|
+
modalHeaderText = "Discard changes?",
|
|
24
|
+
modalDiscardMessage = "All unsaved changes will be lost.",
|
|
25
|
+
modalDiscardBtnText = "OK",
|
|
26
|
+
modalCancelBtnText = "Cancel",
|
|
27
|
+
onDayClick,
|
|
28
|
+
onSave,
|
|
29
|
+
onCancel,
|
|
30
|
+
onToggleDatePicker,
|
|
31
|
+
required: dateRequired = false,
|
|
32
|
+
longDateFormat = false,
|
|
33
|
+
defaultShowDatePicker = false,
|
|
34
|
+
firstDayOfWeek = 0,
|
|
35
|
+
selectedDays,
|
|
36
|
+
selectionMode = "custom",
|
|
37
|
+
menuClassName,
|
|
38
|
+
targetClassName,
|
|
39
|
+
icon,
|
|
40
|
+
defaultLabelText = "Set...",
|
|
41
|
+
targetTextClassName,
|
|
42
|
+
targetIconClassName,
|
|
43
|
+
backgroundElementClass,
|
|
44
|
+
dateFormat,
|
|
45
|
+
defaultMonth,
|
|
46
|
+
daysToModify = [],
|
|
47
|
+
weekends = [],
|
|
48
|
+
weekendLabel = "Weekend",
|
|
49
|
+
nonWorkingDaysOfWeek = [],
|
|
50
|
+
nonWorkingDaysOfWeekLabel = "Unavailable",
|
|
51
|
+
weekendIsSelectable = false,
|
|
52
|
+
tooltipText,
|
|
53
|
+
popperTooltipClassName,
|
|
54
|
+
popperClassName,
|
|
55
|
+
popperTooltipStyle,
|
|
56
|
+
position,
|
|
57
|
+
disableDaysBefore,
|
|
58
|
+
enableYearPicker,
|
|
59
|
+
disableAnimations
|
|
60
|
+
} = _ref;
|
|
61
|
+
const labelText = useMemo(() => {
|
|
62
|
+
if (!selectedDays) {
|
|
63
|
+
return defaultLabelText;
|
|
64
|
+
} else {
|
|
65
|
+
const formattedEndDate = formatDate(moment.utc(Number(selectedDays == null ? void 0 : selectedDays.to) * 1000), dateFormat, longDateFormat);
|
|
66
|
+
const formattedStartDate = formatDate(moment.utc((selectedDays == null ? void 0 : selectedDays.from) * 1000), dateFormat, longDateFormat);
|
|
67
|
+
if (moment.utc(selectedDays.from * 1000).isSame(moment.utc(Number(selectedDays.to) * 1000))) {
|
|
68
|
+
return formattedEndDate;
|
|
69
|
+
}
|
|
70
|
+
return formattedStartDate + " - " + formattedEndDate;
|
|
71
|
+
}
|
|
72
|
+
}, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);
|
|
73
|
+
const modifiers = useMemo(() => {
|
|
74
|
+
const userAvailabilities = daysToModify.filter(data => data.type === "user_day_off");
|
|
75
|
+
const globalDaysOff = daysToModify.filter(data => data.type === "global_day_off");
|
|
76
|
+
const selectableGlobalDaysOff = daysToModify.filter(data => data.type === "selectable_global_day_off");
|
|
77
|
+
return {
|
|
78
|
+
userAvailability: day => {
|
|
79
|
+
const currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
80
|
+
const matchedData = userAvailabilities.find(data => isDayInRange(currentDay, data));
|
|
81
|
+
return {
|
|
82
|
+
matched: !!matchedData,
|
|
83
|
+
title: matchedData ? matchedData.title : null
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
weekend: day => {
|
|
87
|
+
const isWeekend = weekends.includes(day.getDay());
|
|
88
|
+
return {
|
|
89
|
+
matched: isWeekend,
|
|
90
|
+
title: isWeekend ? weekendLabel : null
|
|
91
|
+
};
|
|
92
|
+
},
|
|
93
|
+
nonWorkingDay: day => {
|
|
94
|
+
if (weekends.includes(day.getDay())) {
|
|
95
|
+
return {
|
|
96
|
+
matched: true,
|
|
97
|
+
title: ""
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];
|
|
101
|
+
const currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
102
|
+
const matchedData = nonWorkingDays.find(data => isDayInRange(currentDay, data));
|
|
103
|
+
return {
|
|
104
|
+
matched: !!matchedData,
|
|
105
|
+
title: matchedData ? matchedData.title : null
|
|
106
|
+
};
|
|
107
|
+
},
|
|
108
|
+
nonWorkingDaysOfWeek: day => {
|
|
109
|
+
const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());
|
|
110
|
+
return {
|
|
111
|
+
matched: isNonWorkingDay,
|
|
112
|
+
title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}, [daysToModify, nonWorkingDaysOfWeek, nonWorkingDaysOfWeekLabel, weekendLabel, weekends]);
|
|
117
|
+
const renderTargetEl = useMemo(() => {
|
|
118
|
+
if (labelType === "icon" && icon) {
|
|
119
|
+
return /*#__PURE__*/React.createElement(SelectDateTarget, {
|
|
120
|
+
icon: icon,
|
|
121
|
+
title: tooltipText,
|
|
122
|
+
targetIconClassName: targetIconClassName,
|
|
123
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
124
|
+
popperTooltipStyle: popperTooltipStyle
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (typeof labelType === "function") {
|
|
128
|
+
return labelType(labelText);
|
|
129
|
+
}
|
|
130
|
+
return /*#__PURE__*/React.createElement(StyledSelectDateButton, {
|
|
131
|
+
type: "button",
|
|
132
|
+
className: classnames("date-picker-target", targetClassName)
|
|
133
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
134
|
+
className: targetTextClassName
|
|
135
|
+
}, labelText));
|
|
136
|
+
}, [icon, labelText, labelType, popperTooltipClassName, popperTooltipStyle, targetClassName, targetIconClassName, targetTextClassName, tooltipText]);
|
|
137
|
+
return /*#__PURE__*/React.createElement(StyledSelectDate, {
|
|
138
|
+
className: "select-date"
|
|
139
|
+
}, labelType !== "inline" ? /*#__PURE__*/React.createElement(DatePickerV2, {
|
|
140
|
+
target: renderTargetEl,
|
|
141
|
+
position: position,
|
|
142
|
+
menuClassName: menuClassName,
|
|
143
|
+
popperClassName: popperClassName,
|
|
144
|
+
month: defaultMonth,
|
|
145
|
+
instant: mode === "instant",
|
|
146
|
+
mode: selectionMode,
|
|
147
|
+
required: dateRequired,
|
|
148
|
+
selected: selectedDays,
|
|
149
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
150
|
+
saveLabel: saveButtonText,
|
|
151
|
+
cancelLabel: cancelButtonText,
|
|
152
|
+
clearLabel: clearButtonText,
|
|
153
|
+
onSave: onSave,
|
|
154
|
+
onClose: onCancel,
|
|
155
|
+
modifiers: modifiers,
|
|
156
|
+
modalHeaderText: modalHeaderText,
|
|
157
|
+
modalDiscardMessage: modalDiscardMessage,
|
|
158
|
+
modalDiscardBtnText: modalDiscardBtnText,
|
|
159
|
+
modalCancelBtnText: modalCancelBtnText,
|
|
160
|
+
disabledDaysBefore: disableDaysBefore,
|
|
161
|
+
backgroundElementClass: backgroundElementClass,
|
|
162
|
+
disabled: weekendIsSelectable ? [] : [0, 6],
|
|
163
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
164
|
+
popperTooltipStyle: popperTooltipStyle,
|
|
165
|
+
open: defaultShowDatePicker,
|
|
166
|
+
onCalendarToggle: onToggleDatePicker,
|
|
167
|
+
onDayClick: onDayClick,
|
|
168
|
+
enableConfirmModal: mode === "atomic" && !dateRequired,
|
|
169
|
+
disableYearPicker: !enableYearPicker,
|
|
170
|
+
disableAnimations: disableAnimations,
|
|
171
|
+
showControls: true
|
|
172
|
+
}) : /*#__PURE__*/React.createElement(DatePickerV2, {
|
|
173
|
+
month: defaultMonth,
|
|
174
|
+
instant: mode === "instant",
|
|
175
|
+
mode: selectionMode,
|
|
176
|
+
required: dateRequired,
|
|
177
|
+
selected: selectedDays,
|
|
178
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
179
|
+
saveLabel: saveButtonText,
|
|
180
|
+
cancelLabel: cancelButtonText,
|
|
181
|
+
clearLabel: clearButtonText,
|
|
182
|
+
disabledDaysBefore: disableDaysBefore,
|
|
183
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
184
|
+
popperTooltipStyle: popperTooltipStyle,
|
|
185
|
+
disabled: weekendIsSelectable ? [] : [0, 6],
|
|
186
|
+
onSave: onSave,
|
|
187
|
+
modifiers: modifiers,
|
|
188
|
+
onDayClick: onDayClick,
|
|
189
|
+
disableYearPicker: !enableYearPicker,
|
|
190
|
+
disableAnimations: disableAnimations,
|
|
191
|
+
showControls: true
|
|
192
|
+
}));
|
|
193
|
+
};
|
|
194
|
+
SelectDateV2.displayName = "SelectDateV2";
|
|
195
|
+
//# sourceMappingURL=SelectDateV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectDateV2.js","names":["React","useMemo","classnames","moment","SelectDateTarget","StyledSelectDate","StyledSelectDateButton","formatDate","DatePickerV2","isDayInRange","day","data","repeating","from","Date","getFullYear","getMonth","getDate","to","SelectDateV2","_ref","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","nonWorkingDaysOfWeek","nonWorkingDaysOfWeekLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","enableYearPicker","disableAnimations","labelText","formattedEndDate","utc","Number","formattedStartDate","isSame","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","className","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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"}
|
|
@@ -4,7 +4,7 @@ export declare const StyledSelectDateButton: import("styled-components").StyledC
|
|
|
4
4
|
export declare const StyledConfirmDialog: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../ConfirmDialog").ConfirmDialogProps & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
|
|
5
5
|
export declare const StyledSelectDateDatePicker: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
6
6
|
export declare const StyledSelectDateFooter: import("styled-components").StyledComponent<"div", any, {
|
|
7
|
-
$mode?: "
|
|
7
|
+
$mode?: "instant" | "atomic" | undefined;
|
|
8
8
|
}, never>;
|
|
9
9
|
export declare const StyledSelectDateButtons: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
10
10
|
export declare const StyledButtonSave: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Button/Button").ButtonProps & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/SelectDate/index.ts"],"sourcesContent":["export * from \"./SelectDate\";\n"],"mappings":"AAAA,cAAc,cAAc"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/SelectDate/index.ts"],"sourcesContent":["export * from \"./SelectDate\";\nexport * from \"./SelectDateV2\";\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,gBAAgB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { Placement } from "@popperjs/core";
|
|
3
|
+
import { Moment } from "moment";
|
|
4
|
+
export interface IDateStepperPropsV2 {
|
|
5
|
+
/** One of the possible steps for this component */
|
|
6
|
+
step: "daily" | "weekly" | "monthly" | "quarterly" | "yearly" | "range";
|
|
7
|
+
/** Callback function that will be called after the changed range */
|
|
8
|
+
onChange?: (from: Date, to: Date) => void;
|
|
9
|
+
/** Start date of the range */
|
|
10
|
+
from: Moment | string;
|
|
11
|
+
/** End date of the range */
|
|
12
|
+
to: Moment | string;
|
|
13
|
+
/** Callback function that will format the text label */
|
|
14
|
+
formatCallback?: (from: string | Moment, to: string | Moment) => string;
|
|
15
|
+
/** Default month */
|
|
16
|
+
defaultMonth?: Moment;
|
|
17
|
+
/** Callback function onBack */
|
|
18
|
+
onBack?: (from: Date, to: Date) => void;
|
|
19
|
+
/** Callback function onForward */
|
|
20
|
+
onForward?: (from: Date, to: Date) => void;
|
|
21
|
+
/** Min date */
|
|
22
|
+
minValue?: Moment;
|
|
23
|
+
/** Max fate */
|
|
24
|
+
maxValue?: Moment;
|
|
25
|
+
/** html class */
|
|
26
|
+
className?: string;
|
|
27
|
+
/** Period for calculating week (isoWeek) */
|
|
28
|
+
period?: "week" | "isoWeek";
|
|
29
|
+
/** Classes for datePicker */
|
|
30
|
+
datePickerClass?: string;
|
|
31
|
+
/** Show datePicker in the middle button */
|
|
32
|
+
withDatePicker?: boolean;
|
|
33
|
+
/** Popper class name*/
|
|
34
|
+
popperClassName?: string;
|
|
35
|
+
/** DatePicker menu position */
|
|
36
|
+
position?: Placement;
|
|
37
|
+
/** Enable year picker in DatePicker */
|
|
38
|
+
enableYearPicker?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* This component allow you to select date range. It accepts two parameters "from" and "to" as valid format
|
|
42
|
+
* onChange and onBack and onForward it will return "from: Date" and "to: Date" as function arguments
|
|
43
|
+
*/
|
|
44
|
+
export declare const DateStepperV2: FC<IDateStepperPropsV2>;
|
|
45
|
+
//# sourceMappingURL=DateStepperV2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateStepperV2.d.ts","sourceRoot":"","sources":["../../../../../src/components/Steppers/DateStepper/DateStepperV2.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAA6C,MAAM,OAAO,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiBhC,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxE,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,KAAK,IAAI,CAAC;IAC1C,8BAA8B;IAC9B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,wDAAwD;IACxD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IACxE,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,KAAK,IAAI,CAAC;IACxC,kCAAkC;IAClC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,KAAK,IAAI,CAAC;IAC3C,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AAEH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CA0SjD,CAAC"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import React, { useCallback, useMemo, useState, useEffect } from "react";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import moment from "moment-timezone";
|
|
4
|
+
import { StyledButton, StyledButtonGroup, StyledDiv, StyledSpan, StyledControl } from "./Styles";
|
|
5
|
+
import { DatePickerV2 } from "../../DatePicker/DatePickerV2";
|
|
6
|
+
import { ArrowRightIcon } from "../../Icons";
|
|
7
|
+
import ArrowLeftIcon from "../../Icons/collection/ArrowLeft";
|
|
8
|
+
/**
|
|
9
|
+
* This component allow you to select date range. It accepts two parameters "from" and "to" as valid format
|
|
10
|
+
* onChange and onBack and onForward it will return "from: Date" and "to: Date" as function arguments
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export const DateStepperV2 = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
step,
|
|
16
|
+
formatCallback,
|
|
17
|
+
onChange,
|
|
18
|
+
from,
|
|
19
|
+
to,
|
|
20
|
+
onBack,
|
|
21
|
+
onForward,
|
|
22
|
+
minValue,
|
|
23
|
+
maxValue,
|
|
24
|
+
className,
|
|
25
|
+
period = "week",
|
|
26
|
+
withDatePicker = true,
|
|
27
|
+
defaultMonth = moment(),
|
|
28
|
+
enableYearPicker,
|
|
29
|
+
position = "bottom",
|
|
30
|
+
popperClassName
|
|
31
|
+
} = _ref;
|
|
32
|
+
const [fromDate, setFromDate] = useState(moment.utc(from));
|
|
33
|
+
const [toDate, setToDate] = useState(moment.utc(to));
|
|
34
|
+
const getDatesByPeriod = useCallback(interval => {
|
|
35
|
+
const date = fromDate ? fromDate : moment();
|
|
36
|
+
if (step === "daily") {
|
|
37
|
+
date.add(interval, "days");
|
|
38
|
+
return [date, date.clone()];
|
|
39
|
+
} else if (step === "weekly") {
|
|
40
|
+
date.add(interval, "weeks");
|
|
41
|
+
return [date.clone().startOf(period), date.clone().endOf(period)];
|
|
42
|
+
} else if (step === "monthly") {
|
|
43
|
+
date.add(interval, "months");
|
|
44
|
+
return [date.clone().startOf("month"), date.clone().endOf("month")];
|
|
45
|
+
} else if (step === "quarterly") {
|
|
46
|
+
date.add(interval, "quarters");
|
|
47
|
+
return [date.clone().startOf("quarter"), date.clone().endOf("quarter")];
|
|
48
|
+
} else if (step === "yearly") {
|
|
49
|
+
date.add(interval, "years");
|
|
50
|
+
return [date.clone().startOf("year"), date.clone().endOf("year")];
|
|
51
|
+
}
|
|
52
|
+
return [date, date];
|
|
53
|
+
}, [fromDate, period, step]);
|
|
54
|
+
const getDateFormatted = useMemo(() => {
|
|
55
|
+
if (formatCallback) {
|
|
56
|
+
return formatCallback(fromDate, toDate);
|
|
57
|
+
}
|
|
58
|
+
const actualYear = moment().year();
|
|
59
|
+
const showWeekOrCustomDateFormat = (start, end) => {
|
|
60
|
+
if (start.year() === actualYear && end.year() === actualYear) {
|
|
61
|
+
return start.utc().format("MMM DD") + " - " + end.utc().format("MMM DD");
|
|
62
|
+
} else {
|
|
63
|
+
return start.utc().format("MMM DD YYYY") + " - " + end.utc().format("MMM DD YYYY");
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
if (step === "daily") {
|
|
67
|
+
if (fromDate.year() === actualYear) {
|
|
68
|
+
return fromDate.utc().format("MMM DD");
|
|
69
|
+
}
|
|
70
|
+
return fromDate.utc().format("MMM DD YYYY");
|
|
71
|
+
} else if (step === "weekly") {
|
|
72
|
+
const startDate = fromDate.clone().utc().startOf(period);
|
|
73
|
+
const endDate = startDate.clone().utc().endOf(period);
|
|
74
|
+
return showWeekOrCustomDateFormat(startDate, endDate);
|
|
75
|
+
} else if (step === "monthly") {
|
|
76
|
+
return fromDate.utc().format("MMM YYYY");
|
|
77
|
+
} else if (step === "quarterly") {
|
|
78
|
+
return "Q" + fromDate.utc().quarter() + "/" + fromDate.utc().format("YYYY");
|
|
79
|
+
} else if (step === "yearly") {
|
|
80
|
+
return fromDate.utc().format("YYYY");
|
|
81
|
+
} else if (step === "range") {
|
|
82
|
+
return showWeekOrCustomDateFormat(fromDate, toDate);
|
|
83
|
+
}
|
|
84
|
+
return "";
|
|
85
|
+
}, [fromDate, toDate, step, formatCallback, period]);
|
|
86
|
+
const datePickerMode = useMemo(() => {
|
|
87
|
+
if (step === "range") return "custom";
|
|
88
|
+
if (step === "yearly") return "custom";
|
|
89
|
+
return step;
|
|
90
|
+
}, [step]);
|
|
91
|
+
const onDatePickerChange = useCallback(dates => {
|
|
92
|
+
const fromDateTemp = moment.utc(Number(dates == null ? void 0 : dates.from) * 1000);
|
|
93
|
+
const toDateTemp = moment.utc(Number(dates == null ? void 0 : dates.to) * 1000);
|
|
94
|
+
setFromDate(fromDateTemp);
|
|
95
|
+
setToDate(toDateTemp);
|
|
96
|
+
if (onChange && moment.isMoment(fromDateTemp) && moment.isMoment(toDateTemp)) {
|
|
97
|
+
onChange(fromDateTemp.toDate(), toDateTemp.toDate());
|
|
98
|
+
}
|
|
99
|
+
}, [onChange, setFromDate, setToDate]);
|
|
100
|
+
const isAfterMaxDate = useMemo(() => {
|
|
101
|
+
return moment.isMoment(maxValue) && moment(moment.utc(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.utc().format("YYYY-MM-DD"));
|
|
102
|
+
}, [maxValue, toDate]);
|
|
103
|
+
const isBeforeMinDate = useMemo(() => {
|
|
104
|
+
return moment.isMoment(minValue) && moment.utc(moment(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
|
|
105
|
+
}, [minValue, toDate]);
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (isBeforeMinDate) {
|
|
108
|
+
if (step === "daily") {
|
|
109
|
+
setFromDate(moment.utc(minValue));
|
|
110
|
+
setToDate(moment.utc(minValue));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (isAfterMaxDate) {
|
|
114
|
+
if (step === "daily") {
|
|
115
|
+
setFromDate(moment.utc(maxValue));
|
|
116
|
+
setToDate(moment.utc(maxValue));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);
|
|
120
|
+
const onRightClickHandler = useCallback(() => {
|
|
121
|
+
if (isAfterMaxDate) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const [newFrom, newTo] = getDatesByPeriod(1);
|
|
125
|
+
setFromDate(moment.utc(newFrom));
|
|
126
|
+
setToDate(moment.utc(newTo));
|
|
127
|
+
if (onChange) {
|
|
128
|
+
onChange(moment.utc(newFrom), moment.utc(newTo));
|
|
129
|
+
}
|
|
130
|
+
if (onForward) {
|
|
131
|
+
onForward(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());
|
|
132
|
+
}
|
|
133
|
+
}, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);
|
|
134
|
+
const onLeftClickHandler = useCallback(() => {
|
|
135
|
+
if (isBeforeMinDate) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const [newFrom, newTo] = getDatesByPeriod(-1);
|
|
139
|
+
setFromDate(moment.utc(newFrom));
|
|
140
|
+
setToDate(moment.utc(newTo));
|
|
141
|
+
if (onChange) {
|
|
142
|
+
onChange(moment.utc(newFrom), moment.utc(newTo));
|
|
143
|
+
}
|
|
144
|
+
if (onBack) {
|
|
145
|
+
onBack(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());
|
|
146
|
+
}
|
|
147
|
+
}, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);
|
|
148
|
+
const renderLeftRightButtons = useMemo(() => {
|
|
149
|
+
return step !== "range";
|
|
150
|
+
}, [step]);
|
|
151
|
+
useEffect(() => {
|
|
152
|
+
setFromDate(moment.utc(from));
|
|
153
|
+
setToDate(moment.utc(to));
|
|
154
|
+
}, [from, to]);
|
|
155
|
+
const dateStepperWidth = (fromDay, toDay, range) => {
|
|
156
|
+
if (fromDay.utc().year() !== moment.utc().year() || toDay.utc().year() !== moment.utc().year()) {
|
|
157
|
+
switch (range) {
|
|
158
|
+
case "daily":
|
|
159
|
+
case "monthly":
|
|
160
|
+
return {
|
|
161
|
+
minWidth: "122px"
|
|
162
|
+
};
|
|
163
|
+
case "weekly":
|
|
164
|
+
case "custom":
|
|
165
|
+
return {
|
|
166
|
+
minWidth: "232px"
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
switch (range) {
|
|
171
|
+
case "monthly":
|
|
172
|
+
return {
|
|
173
|
+
minWidth: "122px"
|
|
174
|
+
};
|
|
175
|
+
case "weekly":
|
|
176
|
+
case "custom":
|
|
177
|
+
return {
|
|
178
|
+
minWidth: "182px"
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
minWidth: "102px"
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
const isDisabled = useCallback(day => {
|
|
186
|
+
const dayFormat = moment.utc(day).format("YYYY-MM-DD");
|
|
187
|
+
const isBefore = moment.isMoment(maxValue) && moment(moment.utc(maxValue).format("YYYY-MM-DD")).isBefore(dayFormat);
|
|
188
|
+
const isAfter = moment.isMoment(minValue) && moment(moment.utc(minValue).format("YYYY-MM-DD")).isAfter(dayFormat);
|
|
189
|
+
return isBefore || isAfter;
|
|
190
|
+
}, [maxValue, minValue]);
|
|
191
|
+
const modifiers = useMemo(() => ({
|
|
192
|
+
disabled: day => ({
|
|
193
|
+
matched: isDisabled(day),
|
|
194
|
+
title: null
|
|
195
|
+
}),
|
|
196
|
+
nonWorkingDay: day => ({
|
|
197
|
+
matched: isDisabled(day),
|
|
198
|
+
title: null
|
|
199
|
+
})
|
|
200
|
+
}), [isDisabled]);
|
|
201
|
+
return /*#__PURE__*/React.createElement(StyledButtonGroup, {
|
|
202
|
+
className: classNames("c-date-stepper", className)
|
|
203
|
+
}, renderLeftRightButtons ? /*#__PURE__*/React.createElement(StyledControl, {
|
|
204
|
+
type: "button",
|
|
205
|
+
variant: "secondary",
|
|
206
|
+
onClick: onLeftClickHandler,
|
|
207
|
+
disabled: isBeforeMinDate
|
|
208
|
+
}, /*#__PURE__*/React.createElement(ArrowLeftIcon, null)) : null, /*#__PURE__*/React.createElement(StyledDiv, {
|
|
209
|
+
$isTargetable: step === "yearly" || !withDatePicker,
|
|
210
|
+
$isRounded: step === "range",
|
|
211
|
+
style: dateStepperWidth(fromDate, toDate, step)
|
|
212
|
+
}, withDatePicker && step !== "yearly" ? /*#__PURE__*/React.createElement(DatePickerV2, {
|
|
213
|
+
month: defaultMonth,
|
|
214
|
+
target: /*#__PURE__*/React.createElement(StyledButton, {
|
|
215
|
+
type: "button"
|
|
216
|
+
}, getDateFormatted),
|
|
217
|
+
mode: datePickerMode,
|
|
218
|
+
selected: {
|
|
219
|
+
from: moment.utc(fromDate).unix(),
|
|
220
|
+
to: moment.utc(toDate).unix()
|
|
221
|
+
},
|
|
222
|
+
onChange: onDatePickerChange,
|
|
223
|
+
firstDayOfWeek: period === "week" ? 0 : 1,
|
|
224
|
+
modifiers: modifiers,
|
|
225
|
+
disabledDaysAfter: maxValue,
|
|
226
|
+
disabledDaysBefore: minValue,
|
|
227
|
+
disableYearPicker: !enableYearPicker,
|
|
228
|
+
popperClassName: popperClassName,
|
|
229
|
+
position: position,
|
|
230
|
+
key: datePickerMode,
|
|
231
|
+
instant: true,
|
|
232
|
+
required: true
|
|
233
|
+
}) : /*#__PURE__*/React.createElement(StyledSpan, null, getDateFormatted)), renderLeftRightButtons ? /*#__PURE__*/React.createElement(StyledControl, {
|
|
234
|
+
type: "button",
|
|
235
|
+
variant: "secondary",
|
|
236
|
+
onClick: onRightClickHandler,
|
|
237
|
+
disabled: isAfterMaxDate
|
|
238
|
+
}, /*#__PURE__*/React.createElement(ArrowRightIcon, null)) : null);
|
|
239
|
+
};
|
|
240
|
+
DateStepperV2.displayName = "DateStepperV2";
|
|
241
|
+
//# sourceMappingURL=DateStepperV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateStepperV2.js","names":["React","useCallback","useMemo","useState","useEffect","classNames","moment","StyledButton","StyledButtonGroup","StyledDiv","StyledSpan","StyledControl","DatePickerV2","ArrowRightIcon","ArrowLeftIcon","DateStepperV2","_ref","step","formatCallback","onChange","from","to","onBack","onForward","minValue","maxValue","className","period","withDatePicker","defaultMonth","enableYearPicker","position","popperClassName","fromDate","setFromDate","utc","toDate","setToDate","getDatesByPeriod","interval","date","add","clone","startOf","endOf","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","end","format","startDate","endDate","quarter","datePickerMode","onDatePickerChange","dates","fromDateTemp","Number","toDateTemp","isMoment","isAfterMaxDate","isSameOrBefore","isBeforeMinDate","isSameOrAfter","onRightClickHandler","newFrom","newTo","onLeftClickHandler","renderLeftRightButtons","dateStepperWidth","fromDay","toDay","range","minWidth","isDisabled","day","dayFormat","isBefore","isAfter","modifiers","disabled","matched","title","nonWorkingDay","createElement","type","variant","onClick","$isTargetable","$isRounded","style","month","target","mode","selected","unix","firstDayOfWeek","disabledDaysAfter","disabledDaysBefore","disableYearPicker","key","instant","required","displayName"],"sources":["../../../../../src/components/Steppers/DateStepper/DateStepperV2.tsx"],"sourcesContent":["import React, { FC, useCallback, useMemo, useState, useEffect } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport {\n StyledButton,\n StyledButtonGroup,\n StyledDiv,\n StyledSpan,\n StyledControl,\n} from \"./Styles\";\nimport {\n DatePickerV2,\n TimestampDateRange,\n} from \"../../DatePicker/DatePickerV2\";\nimport { ArrowRightIcon } from \"../../Icons\";\nimport ArrowLeftIcon from \"../../Icons/collection/ArrowLeft\";\n\nexport interface IDateStepperPropsV2 {\n /** One of the possible steps for this component */\n step: \"daily\" | \"weekly\" | \"monthly\" | \"quarterly\" | \"yearly\" | \"range\";\n /** Callback function that will be called after the changed range */\n onChange?: (from: Date, to: Date) => void;\n /** Start date of the range */\n from: Moment | string;\n /** End date of the range */\n to: Moment | string;\n /** Callback function that will format the text label */\n formatCallback?: (from: string | Moment, to: string | Moment) => string;\n /** Default month */\n defaultMonth?: Moment;\n /** Callback function onBack */\n onBack?: (from: Date, to: Date) => void;\n /** Callback function onForward */\n onForward?: (from: Date, to: Date) => void;\n /** Min date */\n minValue?: Moment;\n /** Max fate */\n maxValue?: Moment;\n /** html class */\n className?: string;\n /** Period for calculating week (isoWeek) */\n period?: \"week\" | \"isoWeek\";\n /** Classes for datePicker */\n datePickerClass?: string;\n /** Show datePicker in the middle button */\n withDatePicker?: boolean;\n /** Popper class name*/\n popperClassName?: string;\n /** DatePicker menu position */\n position?: Placement;\n /** Enable year picker in DatePicker */\n enableYearPicker?: boolean;\n}\n\n/**\n * This component allow you to select date range. It accepts two parameters \"from\" and \"to\" as valid format\n * onChange and onBack and onForward it will return \"from: Date\" and \"to: Date\" as function arguments\n */\n\nexport const DateStepperV2: FC<IDateStepperPropsV2> = ({\n step,\n formatCallback,\n onChange,\n from,\n to,\n onBack,\n onForward,\n minValue,\n maxValue,\n className,\n period = \"week\",\n withDatePicker = true,\n defaultMonth = moment(),\n enableYearPicker,\n position = \"bottom\",\n popperClassName,\n}) => {\n const [fromDate, setFromDate] = useState<Moment>(moment.utc(from));\n const [toDate, setToDate] = useState<Moment>(moment.utc(to));\n\n const getDatesByPeriod = useCallback(\n (interval: number): Moment[] => {\n const date = fromDate ? fromDate : moment();\n if (step === \"daily\") {\n date.add(interval, \"days\");\n return [date, date.clone()];\n } else if (step === \"weekly\") {\n date.add(interval, \"weeks\");\n return [date.clone().startOf(period), date.clone().endOf(period)];\n } else if (step === \"monthly\") {\n date.add(interval, \"months\");\n return [date.clone().startOf(\"month\"), date.clone().endOf(\"month\")];\n } else if (step === \"quarterly\") {\n date.add(interval, \"quarters\");\n return [date.clone().startOf(\"quarter\"), date.clone().endOf(\"quarter\")];\n } else if (step === \"yearly\") {\n date.add(interval, \"years\");\n return [date.clone().startOf(\"year\"), date.clone().endOf(\"year\")];\n }\n return [date, date];\n },\n [fromDate, period, step]\n );\n\n const getDateFormatted = useMemo(() => {\n if (formatCallback) {\n return formatCallback(fromDate, toDate);\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n if (start.year() === actualYear && end.year() === actualYear) {\n return (\n start.utc().format(\"MMM DD\") + \" - \" + end.utc().format(\"MMM DD\")\n );\n } else {\n return (\n start.utc().format(\"MMM DD YYYY\") +\n \" - \" +\n end.utc().format(\"MMM DD YYYY\")\n );\n }\n };\n\n if (step === \"daily\") {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n } else if (step === \"weekly\") {\n const startDate = fromDate.clone().utc().startOf(period);\n const endDate = startDate.clone().utc().endOf(period);\n return showWeekOrCustomDateFormat(startDate, endDate);\n } else if (step === \"monthly\") {\n return fromDate.utc().format(\"MMM YYYY\");\n } else if (step === \"quarterly\") {\n return `Q${fromDate.utc().quarter()}/${fromDate.utc().format(\"YYYY\")}`;\n } else if (step === \"yearly\") {\n return fromDate.utc().format(\"YYYY\");\n } else if (step === \"range\") {\n return showWeekOrCustomDateFormat(fromDate, toDate);\n }\n\n return \"\";\n }, [fromDate, toDate, step, formatCallback, period]);\n\n const datePickerMode = useMemo(() => {\n if (step === \"range\") return \"custom\";\n if (step === \"yearly\") return \"custom\";\n return step;\n }, [step]);\n\n const onDatePickerChange = useCallback(\n (dates?: TimestampDateRange) => {\n const fromDateTemp: Moment = moment.utc(Number(dates?.from) * 1000);\n const toDateTemp: Moment = moment.utc(Number(dates?.to) * 1000);\n\n setFromDate(fromDateTemp);\n setToDate(toDateTemp);\n\n if (\n onChange &&\n moment.isMoment(fromDateTemp) &&\n moment.isMoment(toDateTemp)\n ) {\n onChange(fromDateTemp.toDate(), toDateTemp.toDate());\n }\n },\n [onChange, setFromDate, setToDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n moment.isMoment(maxValue) &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isSameOrBefore(\n toDate.utc().format(\"YYYY-MM-DD\")\n )\n );\n }, [maxValue, toDate]);\n\n const isBeforeMinDate = useMemo(() => {\n return (\n moment.isMoment(minValue) &&\n moment\n .utc(moment(minValue).format(\"YYYY-MM-DD\"))\n .isSameOrAfter(toDate.utc().format(\"YYYY-MM-DD\"))\n );\n }, [minValue, toDate]);\n\n useEffect(() => {\n if (isBeforeMinDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(minValue));\n setToDate(moment.utc(minValue));\n }\n }\n if (isAfterMaxDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(maxValue));\n setToDate(moment.utc(maxValue));\n }\n }\n }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);\n\n const onRightClickHandler = useCallback(() => {\n if (isAfterMaxDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom), moment.utc(newTo));\n }\n\n if (onForward) {\n onForward(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);\n\n const onLeftClickHandler = useCallback(() => {\n if (isBeforeMinDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(-1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom), moment.utc(newTo));\n }\n if (onBack) {\n onBack(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);\n\n const renderLeftRightButtons = useMemo(() => {\n return step !== \"range\";\n }, [step]);\n\n useEffect(() => {\n setFromDate(moment.utc(from));\n setToDate(moment.utc(to));\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment,\n range: string\n ): { minWidth: string } => {\n if (\n fromDay.utc().year() !== moment.utc().year() ||\n toDay.utc().year() !== moment.utc().year()\n ) {\n switch (range) {\n case \"daily\":\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"232px\" };\n }\n }\n switch (range) {\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"182px\" };\n }\n\n return { minWidth: \"102px\" };\n };\n const isDisabled = useCallback(\n (day: Date): boolean => {\n const dayFormat = moment.utc(day).format(\"YYYY-MM-DD\");\n\n const isBefore =\n moment.isMoment(maxValue) &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isBefore(dayFormat);\n const isAfter =\n moment.isMoment(minValue) &&\n moment(moment.utc(minValue).format(\"YYYY-MM-DD\")).isAfter(dayFormat);\n\n return isBefore || isAfter;\n },\n [maxValue, minValue]\n );\n\n const modifiers = useMemo(\n () => ({\n disabled: (day: Date) => ({ matched: isDisabled(day), title: null }),\n nonWorkingDay: (day: Date) => ({ matched: isDisabled(day), title: null }),\n }),\n [isDisabled]\n );\n\n return (\n <StyledButtonGroup className={classNames(\"c-date-stepper\", className)}>\n {renderLeftRightButtons ? (\n <StyledControl\n type=\"button\"\n variant=\"secondary\"\n onClick={onLeftClickHandler}\n disabled={isBeforeMinDate}\n >\n <ArrowLeftIcon />\n </StyledControl>\n ) : null}\n <StyledDiv\n $isTargetable={step === \"yearly\" || !withDatePicker}\n $isRounded={step === \"range\"}\n style={dateStepperWidth(fromDate, toDate, step)}\n >\n {withDatePicker && step !== \"yearly\" ? (\n <DatePickerV2\n month={defaultMonth}\n target={\n <StyledButton type=\"button\">{getDateFormatted}</StyledButton>\n }\n mode={datePickerMode}\n selected={{\n from: moment.utc(fromDate).unix(),\n to: moment.utc(toDate).unix(),\n }}\n onChange={onDatePickerChange}\n firstDayOfWeek={period === \"week\" ? 0 : 1}\n modifiers={modifiers}\n disabledDaysAfter={maxValue}\n disabledDaysBefore={minValue}\n disableYearPicker={!enableYearPicker}\n popperClassName={popperClassName}\n position={position}\n key={datePickerMode}\n instant\n required\n />\n ) : (\n <StyledSpan>{getDateFormatted}</StyledSpan>\n )}\n </StyledDiv>\n {renderLeftRightButtons ? (\n <StyledControl\n type=\"button\"\n variant=\"secondary\"\n onClick={onRightClickHandler}\n disabled={isAfterMaxDate}\n >\n <ArrowRightIcon />\n </StyledControl>\n ) : null}\n </StyledButtonGroup>\n );\n};\n\nDateStepperV2.displayName = \"DateStepperV2\";\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"names":[],"mappings":";AASA,eAAO,MAAM,YAAY,uEAmDxB,CAAC;AAEF,eAAO,MAAM,UAAU,6GAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,wQAQ7B,CAAC;AAEF,eAAO,MAAM,UAAU,qEAGtB,CAAC;AAEF,UAAU,SAAS;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,2EAwErB,CAAC;AAEF,eAAO,MAAM,aAAa;;sEAEzB,CAAC"}
|