@activecollab/components 2.0.203 → 2.0.204
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 +1 -1
- package/dist/cjs/components/DatePicker/DatePickerV2.js.map +1 -1
- package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
- package/dist/cjs/components/SelectDate/SelectDateV2.js +22 -13
- package/dist/cjs/components/SelectDate/SelectDateV2.js.map +1 -1
- package/dist/cjs/components/SelectDate/types.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.js +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.js.map +1 -1
- package/dist/esm/components/SelectDate/SelectDate.d.ts +2 -2
- package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.js +22 -13
- package/dist/esm/components/SelectDate/SelectDateV2.js.map +1 -1
- package/dist/esm/components/SelectDate/types.d.ts +7 -0
- package/dist/esm/components/SelectDate/types.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/types.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js.map +1 -1
- package/dist/index.js +23 -15
- 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 +1 -1
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
import React, { useMemo } from "react";
|
|
2
2
|
import classnames from "classnames";
|
|
3
|
+
import moment from "moment-timezone";
|
|
3
4
|
import { SelectDateTarget } from "./SelectDateTarget";
|
|
4
5
|
import { StyledSelectDate, StyledSelectDateButton } from "./Styles";
|
|
5
6
|
import { formatDate } from "../../utils/dateUtils";
|
|
6
7
|
import { DatePickerV2, toMoment } from "../DatePicker/DatePickerV2";
|
|
7
8
|
const isDayInRange = (day, data) => {
|
|
9
|
+
const fromMoment = moment.unix(data.from).utc();
|
|
10
|
+
const toMoment = moment.unix(data.to).utc();
|
|
8
11
|
if (data.repeating) {
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
+
const year = day.year();
|
|
13
|
+
const from = moment.utc({
|
|
14
|
+
year,
|
|
15
|
+
month: fromMoment.month(),
|
|
16
|
+
date: fromMoment.date()
|
|
17
|
+
});
|
|
18
|
+
const to = moment.utc({
|
|
19
|
+
year,
|
|
20
|
+
month: toMoment.month(),
|
|
21
|
+
date: toMoment.date()
|
|
22
|
+
});
|
|
23
|
+
return day.isSameOrAfter(from, "day") && day.isSameOrBefore(to, "day");
|
|
12
24
|
}
|
|
13
|
-
return day
|
|
25
|
+
return day.isSameOrAfter(fromMoment, "day") && day.isSameOrBefore(toMoment, "day");
|
|
14
26
|
};
|
|
15
27
|
export const SelectDateV2 = _ref => {
|
|
16
28
|
let {
|
|
@@ -82,45 +94,42 @@ export const SelectDateV2 = _ref => {
|
|
|
82
94
|
const selectableGlobalDaysOff = daysToModify.filter(data => data.type === "selectable_global_day_off");
|
|
83
95
|
return {
|
|
84
96
|
userAvailability: day => {
|
|
85
|
-
const
|
|
86
|
-
const matchedData = userAvailabilities.find(data => isDayInRange(currentDay, data));
|
|
97
|
+
const matchedData = userAvailabilities.find(data => isDayInRange(day, data));
|
|
87
98
|
return {
|
|
88
99
|
matched: !!matchedData,
|
|
89
100
|
title: matchedData ? matchedData.title : null
|
|
90
101
|
};
|
|
91
102
|
},
|
|
92
103
|
weekend: day => {
|
|
93
|
-
const isWeekend = weekends.includes(day.
|
|
104
|
+
const isWeekend = weekends.includes(day.day());
|
|
94
105
|
return {
|
|
95
106
|
matched: isWeekend,
|
|
96
107
|
title: isWeekend ? weekendLabel : null
|
|
97
108
|
};
|
|
98
109
|
},
|
|
99
110
|
nonWorkingDay: day => {
|
|
100
|
-
if (weekends.includes(day.
|
|
111
|
+
if (weekends.includes(day.day())) {
|
|
101
112
|
return {
|
|
102
113
|
matched: true,
|
|
103
114
|
title: ""
|
|
104
115
|
};
|
|
105
116
|
}
|
|
106
117
|
const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];
|
|
107
|
-
const
|
|
108
|
-
const matchedData = nonWorkingDays.find(data => isDayInRange(currentDay, data));
|
|
118
|
+
const matchedData = nonWorkingDays.find(data => isDayInRange(day, data));
|
|
109
119
|
return {
|
|
110
120
|
matched: !!matchedData,
|
|
111
121
|
title: matchedData ? matchedData.title : null
|
|
112
122
|
};
|
|
113
123
|
},
|
|
114
124
|
nonWorkingDaysOfWeek: day => {
|
|
115
|
-
const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.
|
|
125
|
+
const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.day());
|
|
116
126
|
return {
|
|
117
127
|
matched: isNonWorkingDay,
|
|
118
128
|
title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null
|
|
119
129
|
};
|
|
120
130
|
},
|
|
121
131
|
day_disabled: day => {
|
|
122
|
-
const
|
|
123
|
-
const globalDayOff = globalDaysOff.find(data => isDayInRange(currentDay, data));
|
|
132
|
+
const globalDayOff = globalDaysOff.find(data => isDayInRange(day, data));
|
|
124
133
|
return {
|
|
125
134
|
matched: !!globalDayOff,
|
|
126
135
|
title: null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDateV2.js","names":["React","useMemo","classnames","SelectDateTarget","StyledSelectDate","StyledSelectDateButton","formatDate","DatePickerV2","toMoment","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","disabledDaysAfter","onChange","labelText","formattedEndDate","formattedStartDate","isSame","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","day_disabled","globalDayOff","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\";\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 toMoment,\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 callback */\n onSave?: (dates?: TimestampDateRange) => void;\n /** Changing dates callback */\n onChange?: (dates?: TimestampDateRange) => void;\n /** On cancel closes datepicker or opens discard 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 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 /** Disable days after specified date */\n disabledDaysAfter?: 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 disabledDaysAfter,\n onChange,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else if (!selectedDays.from && !selectedDays.to) {\n return defaultLabelText;\n } else {\n const formattedEndDate = selectedDays.to\n ? formatDate(toMoment(selectedDays.to), dateFormat, longDateFormat)\n : \"\";\n const formattedStartDate = selectedDays.from\n ? formatDate(toMoment(selectedDays?.from), dateFormat, longDateFormat)\n : \"\";\n\n if (\n selectedDays.to &&\n selectedDays.from &&\n toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))\n ) {\n return formattedEndDate;\n }\n\n if (!selectedDays.to && selectedDays.from) {\n return formattedStartDate;\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 day_disabled: (day: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n const globalDayOff = globalDaysOff.find((data) =>\n isDayInRange(currentDay, data)\n );\n\n return {\n matched: !!globalDayOff,\n title: 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 onChange={onChange}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n disabledDaysAfter={disabledDaysAfter}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : weekends}\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 disabledDaysAfter={disabledDaysAfter}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : weekends}\n onSave={onSave}\n onChange={onChange}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n open\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectDateV2.js","names":["React","useMemo","classnames","moment","SelectDateTarget","StyledSelectDate","StyledSelectDateButton","formatDate","DatePickerV2","toMoment","isDayInRange","day","data","fromMoment","unix","from","utc","to","repeating","year","month","date","isSameOrAfter","isSameOrBefore","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","disabledDaysAfter","onChange","labelText","formattedEndDate","formattedStartDate","isSame","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","matchedData","find","matched","title","weekend","isWeekend","includes","nonWorkingDay","nonWorkingDays","isNonWorkingDay","day_disabled","globalDayOff","renderTargetEl","createElement","className","target","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 toMoment,\n} from \"../DatePicker/DatePickerV2\";\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\nconst isDayInRange = (day: Moment, data: DaysToModify): boolean => {\n const fromMoment = moment.unix(data.from).utc();\n const toMoment = moment.unix(data.to).utc();\n\n if (data.repeating) {\n const year = day.year();\n const from = moment.utc({\n year,\n month: fromMoment.month(),\n date: fromMoment.date(),\n });\n const to = moment.utc({\n year,\n month: toMoment.month(),\n date: toMoment.date(),\n });\n\n return day.isSameOrAfter(from, \"day\") && day.isSameOrBefore(to, \"day\");\n }\n\n return (\n day.isSameOrAfter(fromMoment, \"day\") && day.isSameOrBefore(toMoment, \"day\")\n );\n};\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 callback */\n onSave?: (dates?: TimestampDateRange) => void;\n /** Changing dates callback */\n onChange?: (dates?: TimestampDateRange) => void;\n /** On cancel closes datepicker or opens discard 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 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 /** Disable days after specified date */\n disabledDaysAfter?: 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 disabledDaysAfter,\n onChange,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else if (!selectedDays.from && !selectedDays.to) {\n return defaultLabelText;\n } else {\n const formattedEndDate = selectedDays.to\n ? formatDate(toMoment(selectedDays.to), dateFormat, longDateFormat)\n : \"\";\n const formattedStartDate = selectedDays.from\n ? formatDate(toMoment(selectedDays?.from), dateFormat, longDateFormat)\n : \"\";\n\n if (\n selectedDays.to &&\n selectedDays.from &&\n toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))\n ) {\n return formattedEndDate;\n }\n\n if (!selectedDays.to && selectedDays.from) {\n return formattedStartDate;\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: Moment) => {\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(day, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Moment) => {\n const isWeekend = weekends.includes(day.day());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Moment) => {\n if (weekends.includes(day.day())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(day, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Moment) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.day());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n day_disabled: (day: Moment) => {\n const globalDayOff = globalDaysOff.find((data) =>\n isDayInRange(day, data)\n );\n\n return {\n matched: !!globalDayOff,\n title: 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 onChange={onChange}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n disabledDaysAfter={disabledDaysAfter}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : weekends}\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 disabledDaysAfter={disabledDaysAfter}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : weekends}\n onSave={onSave}\n onChange={onChange}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n open\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"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"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
export type DaysToModifyTypes = "user_day_off" | "global_day_off" | "selectable_global_day_off";
|
|
2
2
|
export interface DaysToModify {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number;
|
|
5
|
+
title: string;
|
|
6
|
+
repeating: boolean;
|
|
7
|
+
type?: DaysToModifyTypes;
|
|
8
|
+
}
|
|
9
|
+
export interface DaysToModifyV1 {
|
|
3
10
|
from: Date;
|
|
4
11
|
to: Date;
|
|
5
12
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,gBAAgB,GAChB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,gBAAgB,GAChB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/SelectDate/types.ts"],"sourcesContent":["export type DaysToModifyTypes =\n | \"user_day_off\"\n | \"global_day_off\"\n | \"selectable_global_day_off\";\n\nexport interface DaysToModify {\n from: Date;\n to: Date;\n title: string;\n repeating: boolean;\n type?: DaysToModifyTypes;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/SelectDate/types.ts"],"sourcesContent":["export type DaysToModifyTypes =\n | \"user_day_off\"\n | \"global_day_off\"\n | \"selectable_global_day_off\";\n\nexport interface DaysToModify {\n from: number;\n to: number;\n title: string;\n repeating: boolean;\n type?: DaysToModifyTypes;\n}\n\nexport interface DaysToModifyV1 {\n from: Date;\n to: Date;\n title: string;\n repeating: boolean;\n type?: DaysToModifyTypes;\n}\n"],"mappings":""}
|
|
@@ -1 +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,
|
|
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,CA6SjD,CAAC"}
|
|
@@ -101,7 +101,7 @@ export const DateStepperV2 = _ref => {
|
|
|
101
101
|
return moment.isMoment(maxValue) && moment(moment.utc(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.utc().format("YYYY-MM-DD"));
|
|
102
102
|
}, [maxValue, toDate]);
|
|
103
103
|
const isBeforeMinDate = useMemo(() => {
|
|
104
|
-
return moment.isMoment(minValue) && moment.utc(moment(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
|
|
104
|
+
return moment.isMoment(minValue) && moment.utc(moment.utc(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
|
|
105
105
|
}, [minValue, toDate]);
|
|
106
106
|
useEffect(() => {
|
|
107
107
|
if (isBeforeMinDate) {
|
|
@@ -1 +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":"AAAA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAG5E,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,MAAM,MAAM,iBAAiB;AAEpC,SACEC,YAAY,EACZC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EACVC,aAAa,QACR,UAAU;AACjB,SACEC,YAAY,QAEP,+BAA+B;AACtC,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,aAAa,MAAM,kCAAkC;AAuC5D;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,aAAsC,GAAGC,IAAA,IAiBhD;EAAA,IAjBiD;IACrDC,IAAI;IACJC,cAAc;IACdC,QAAQ;IACRC,IAAI;IACJC,EAAE;IACFC,MAAM;IACNC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,MAAM,GAAG,MAAM;IACfC,cAAc,GAAG,IAAI;IACrBC,YAAY,GAAGvB,MAAM,CAAC,CAAC;IACvBwB,gBAAgB;IAChBC,QAAQ,GAAG,QAAQ;IACnBC;EACF,CAAC,GAAAhB,IAAA;EACC,MAAM,CAACiB,QAAQ,EAAEC,WAAW,CAAC,GAAG/B,QAAQ,CAASG,MAAM,CAAC6B,GAAG,CAACf,IAAI,CAAC,CAAC;EAClE,MAAM,CAACgB,MAAM,EAAEC,SAAS,CAAC,GAAGlC,QAAQ,CAASG,MAAM,CAAC6B,GAAG,CAACd,EAAE,CAAC,CAAC;EAE5D,MAAMiB,gBAAgB,GAAGrC,WAAW,CACjCsC,QAAgB,IAAe;IAC9B,MAAMC,IAAI,GAAGP,QAAQ,GAAGA,QAAQ,GAAG3B,MAAM,CAAC,CAAC;IAC3C,IAAIW,IAAI,KAAK,OAAO,EAAE;MACpBuB,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,MAAM,CAAC;MAC1B,OAAO,CAACC,IAAI,EAAEA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC,MAAM,IAAIzB,IAAI,KAAK,QAAQ,EAAE;MAC5BuB,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,OAAO,CAAC;MAC3B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAAChB,MAAM,CAAC,EAAEa,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAACjB,MAAM,CAAC,CAAC;IACnE,CAAC,MAAM,IAAIV,IAAI,KAAK,SAAS,EAAE;MAC7BuB,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,QAAQ,CAAC;MAC5B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,OAAO,CAAC,EAAEH,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,MAAM,IAAI3B,IAAI,KAAK,WAAW,EAAE;MAC/BuB,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,UAAU,CAAC;MAC9B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,SAAS,CAAC,EAAEH,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC,MAAM,IAAI3B,IAAI,KAAK,QAAQ,EAAE;MAC5BuB,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,OAAO,CAAC;MAC3B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM,CAAC,EAAEH,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnE;IACA,OAAO,CAACJ,IAAI,EAAEA,IAAI,CAAC;EACrB,CAAC,EACD,CAACP,QAAQ,EAAEN,MAAM,EAAEV,IAAI,CACzB,CAAC;EAED,MAAM4B,gBAAgB,GAAG3C,OAAO,CAAC,MAAM;IACrC,IAAIgB,cAAc,EAAE;MAClB,OAAOA,cAAc,CAACe,QAAQ,EAAEG,MAAM,CAAC;IACzC;IAEA,MAAMU,UAAU,GAAGxC,MAAM,CAAC,CAAC,CAACyC,IAAI,CAAC,CAAC;IAElC,MAAMC,0BAA0B,GAAGA,CAACC,KAAK,EAAEC,GAAG,KAAa;MACzD,IAAID,KAAK,CAACF,IAAI,CAAC,CAAC,KAAKD,UAAU,IAAII,GAAG,CAACH,IAAI,CAAC,CAAC,KAAKD,UAAU,EAAE;QAC5D,OACEG,KAAK,CAACd,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAGD,GAAG,CAACf,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,QAAQ,CAAC;MAErE,CAAC,MAAM;QACL,OACEF,KAAK,CAACd,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,aAAa,CAAC,GACjC,KAAK,GACLD,GAAG,CAACf,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,aAAa,CAAC;MAEnC;IACF,CAAC;IAED,IAAIlC,IAAI,KAAK,OAAO,EAAE;MACpB,IAAIgB,QAAQ,CAACc,IAAI,CAAC,CAAC,KAAKD,UAAU,EAAE;QAClC,OAAOb,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,QAAQ,CAAC;MACxC;MACA,OAAOlB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,aAAa,CAAC;IAC7C,CAAC,MAAM,IAAIlC,IAAI,KAAK,QAAQ,EAAE;MAC5B,MAAMmC,SAAS,GAAGnB,QAAQ,CAACS,KAAK,CAAC,CAAC,CAACP,GAAG,CAAC,CAAC,CAACQ,OAAO,CAAChB,MAAM,CAAC;MACxD,MAAM0B,OAAO,GAAGD,SAAS,CAACV,KAAK,CAAC,CAAC,CAACP,GAAG,CAAC,CAAC,CAACS,KAAK,CAACjB,MAAM,CAAC;MACrD,OAAOqB,0BAA0B,CAACI,SAAS,EAAEC,OAAO,CAAC;IACvD,CAAC,MAAM,IAAIpC,IAAI,KAAK,SAAS,EAAE;MAC7B,OAAOgB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,UAAU,CAAC;IAC1C,CAAC,MAAM,IAAIlC,IAAI,KAAK,WAAW,EAAE;MAC/B,aAAWgB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACmB,OAAO,CAAC,CAAC,SAAIrB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,MAAM,CAAC;IACtE,CAAC,MAAM,IAAIlC,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAOgB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,MAAM,CAAC;IACtC,CAAC,MAAM,IAAIlC,IAAI,KAAK,OAAO,EAAE;MAC3B,OAAO+B,0BAA0B,CAACf,QAAQ,EAAEG,MAAM,CAAC;IACrD;IAEA,OAAO,EAAE;EACX,CAAC,EAAE,CAACH,QAAQ,EAAEG,MAAM,EAAEnB,IAAI,EAAEC,cAAc,EAAES,MAAM,CAAC,CAAC;EAEpD,MAAM4B,cAAc,GAAGrD,OAAO,CAAC,MAAM;IACnC,IAAIe,IAAI,KAAK,OAAO,EAAE,OAAO,QAAQ;IACrC,IAAIA,IAAI,KAAK,QAAQ,EAAE,OAAO,QAAQ;IACtC,OAAOA,IAAI;EACb,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMuC,kBAAkB,GAAGvD,WAAW,CACnCwD,KAA0B,IAAK;IAC9B,MAAMC,YAAoB,GAAGpD,MAAM,CAAC6B,GAAG,CAACwB,MAAM,CAACF,KAAK,oBAALA,KAAK,CAAErC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,MAAMwC,UAAkB,GAAGtD,MAAM,CAAC6B,GAAG,CAACwB,MAAM,CAACF,KAAK,oBAALA,KAAK,CAAEpC,EAAE,CAAC,GAAG,IAAI,CAAC;IAE/Da,WAAW,CAACwB,YAAY,CAAC;IACzBrB,SAAS,CAACuB,UAAU,CAAC;IAErB,IACEzC,QAAQ,IACRb,MAAM,CAACuD,QAAQ,CAACH,YAAY,CAAC,IAC7BpD,MAAM,CAACuD,QAAQ,CAACD,UAAU,CAAC,EAC3B;MACAzC,QAAQ,CAACuC,YAAY,CAACtB,MAAM,CAAC,CAAC,EAAEwB,UAAU,CAACxB,MAAM,CAAC,CAAC,CAAC;IACtD;EACF,CAAC,EACD,CAACjB,QAAQ,EAAEe,WAAW,EAAEG,SAAS,CACnC,CAAC;EAED,MAAMyB,cAAc,GAAG5D,OAAO,CAAC,MAAM;IACnC,OACEI,MAAM,CAACuD,QAAQ,CAACpC,QAAQ,CAAC,IACzBnB,MAAM,CAACA,MAAM,CAAC6B,GAAG,CAACV,QAAQ,CAAC,CAAC0B,MAAM,CAAC,YAAY,CAAC,CAAC,CAACY,cAAc,CAC9D3B,MAAM,CAACD,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,YAAY,CAClC,CAAC;EAEL,CAAC,EAAE,CAAC1B,QAAQ,EAAEW,MAAM,CAAC,CAAC;EAEtB,MAAM4B,eAAe,GAAG9D,OAAO,CAAC,MAAM;IACpC,OACEI,MAAM,CAACuD,QAAQ,CAACrC,QAAQ,CAAC,IACzBlB,MAAM,CACH6B,GAAG,CAAC7B,MAAM,CAACkB,QAAQ,CAAC,CAAC2B,MAAM,CAAC,YAAY,CAAC,CAAC,CAC1Cc,aAAa,CAAC7B,MAAM,CAACD,GAAG,CAAC,CAAC,CAACgB,MAAM,CAAC,YAAY,CAAC,CAAC;EAEvD,CAAC,EAAE,CAAC3B,QAAQ,EAAEY,MAAM,CAAC,CAAC;EAEtBhC,SAAS,CAAC,MAAM;IACd,IAAI4D,eAAe,EAAE;MACnB,IAAI/C,IAAI,KAAK,OAAO,EAAE;QACpBiB,WAAW,CAAC5B,MAAM,CAAC6B,GAAG,CAACX,QAAQ,CAAC,CAAC;QACjCa,SAAS,CAAC/B,MAAM,CAAC6B,GAAG,CAACX,QAAQ,CAAC,CAAC;MACjC;IACF;IACA,IAAIsC,cAAc,EAAE;MAClB,IAAI7C,IAAI,KAAK,OAAO,EAAE;QACpBiB,WAAW,CAAC5B,MAAM,CAAC6B,GAAG,CAACV,QAAQ,CAAC,CAAC;QACjCY,SAAS,CAAC/B,MAAM,CAAC6B,GAAG,CAACV,QAAQ,CAAC,CAAC;MACjC;IACF;EACF,CAAC,EAAE,CAACR,IAAI,EAAEO,QAAQ,EAAEC,QAAQ,EAAEuC,eAAe,EAAEF,cAAc,CAAC,CAAC;EAE/D,MAAMI,mBAAmB,GAAGjE,WAAW,CAAC,MAAM;IAC5C,IAAI6D,cAAc,EAAE;MAClB;IACF;IAEA,MAAM,CAACK,OAAO,EAAEC,KAAK,CAAC,GAAG9B,gBAAgB,CAAC,CAAC,CAAC;IAC5CJ,WAAW,CAAC5B,MAAM,CAAC6B,GAAG,CAACgC,OAAO,CAAC,CAAC;IAChC9B,SAAS,CAAC/B,MAAM,CAAC6B,GAAG,CAACiC,KAAK,CAAC,CAAC;IAE5B,IAAIjD,QAAQ,EAAE;MACZA,QAAQ,CAACb,MAAM,CAAC6B,GAAG,CAACgC,OAAO,CAAC,EAAE7D,MAAM,CAAC6B,GAAG,CAACiC,KAAK,CAAC,CAAC;IAClD;IAEA,IAAI7C,SAAS,EAAE;MACbA,SAAS,CAACjB,MAAM,CAAC6B,GAAG,CAACgC,OAAO,CAAC,CAAC/B,MAAM,CAAC,CAAC,EAAE9B,MAAM,CAAC6B,GAAG,CAACiC,KAAK,CAAC,CAAChC,MAAM,CAAC,CAAC,CAAC;IACrE;EACF,CAAC,EAAE,CAAC0B,cAAc,EAAExB,gBAAgB,EAAEnB,QAAQ,EAAEI,SAAS,CAAC,CAAC;EAE3D,MAAM8C,kBAAkB,GAAGpE,WAAW,CAAC,MAAM;IAC3C,IAAI+D,eAAe,EAAE;MACnB;IACF;IAEA,MAAM,CAACG,OAAO,EAAEC,KAAK,CAAC,GAAG9B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7CJ,WAAW,CAAC5B,MAAM,CAAC6B,GAAG,CAACgC,OAAO,CAAC,CAAC;IAChC9B,SAAS,CAAC/B,MAAM,CAAC6B,GAAG,CAACiC,KAAK,CAAC,CAAC;IAE5B,IAAIjD,QAAQ,EAAE;MACZA,QAAQ,CAACb,MAAM,CAAC6B,GAAG,CAACgC,OAAO,CAAC,EAAE7D,MAAM,CAAC6B,GAAG,CAACiC,KAAK,CAAC,CAAC;IAClD;IACA,IAAI9C,MAAM,EAAE;MACVA,MAAM,CAAChB,MAAM,CAAC6B,GAAG,CAACgC,OAAO,CAAC,CAAC/B,MAAM,CAAC,CAAC,EAAE9B,MAAM,CAAC6B,GAAG,CAACiC,KAAK,CAAC,CAAChC,MAAM,CAAC,CAAC,CAAC;IAClE;EACF,CAAC,EAAE,CAAC4B,eAAe,EAAE1B,gBAAgB,EAAEnB,QAAQ,EAAEG,MAAM,CAAC,CAAC;EAEzD,MAAMgD,sBAAsB,GAAGpE,OAAO,CAAC,MAAM;IAC3C,OAAOe,IAAI,KAAK,OAAO;EACzB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEVb,SAAS,CAAC,MAAM;IACd8B,WAAW,CAAC5B,MAAM,CAAC6B,GAAG,CAACf,IAAI,CAAC,CAAC;IAC7BiB,SAAS,CAAC/B,MAAM,CAAC6B,GAAG,CAACd,EAAE,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACD,IAAI,EAAEC,EAAE,CAAC,CAAC;EAEd,MAAMkD,gBAAgB,GAAGA,CACvBC,OAAe,EACfC,KAAa,EACbC,KAAa,KACY;IACzB,IACEF,OAAO,CAACrC,GAAG,CAAC,CAAC,CAACY,IAAI,CAAC,CAAC,KAAKzC,MAAM,CAAC6B,GAAG,CAAC,CAAC,CAACY,IAAI,CAAC,CAAC,IAC5C0B,KAAK,CAACtC,GAAG,CAAC,CAAC,CAACY,IAAI,CAAC,CAAC,KAAKzC,MAAM,CAAC6B,GAAG,CAAC,CAAC,CAACY,IAAI,CAAC,CAAC,EAC1C;MACA,QAAQ2B,KAAK;QACX,KAAK,OAAO;QACZ,KAAK,SAAS;UACZ,OAAO;YAAEC,QAAQ,EAAE;UAAQ,CAAC;QAC9B,KAAK,QAAQ;QACb,KAAK,QAAQ;UACX,OAAO;YAAEA,QAAQ,EAAE;UAAQ,CAAC;MAChC;IACF;IACA,QAAQD,KAAK;MACX,KAAK,SAAS;QACZ,OAAO;UAAEC,QAAQ,EAAE;QAAQ,CAAC;MAC9B,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAO;UAAEA,QAAQ,EAAE;QAAQ,CAAC;IAChC;IAEA,OAAO;MAAEA,QAAQ,EAAE;IAAQ,CAAC;EAC9B,CAAC;EACD,MAAMC,UAAU,GAAG3E,WAAW,CAC3B4E,GAAS,IAAc;IACtB,MAAMC,SAAS,GAAGxE,MAAM,CAAC6B,GAAG,CAAC0C,GAAG,CAAC,CAAC1B,MAAM,CAAC,YAAY,CAAC;IAEtD,MAAM4B,QAAQ,GACZzE,MAAM,CAACuD,QAAQ,CAACpC,QAAQ,CAAC,IACzBnB,MAAM,CAACA,MAAM,CAAC6B,GAAG,CAACV,QAAQ,CAAC,CAAC0B,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC4B,QAAQ,CAACD,SAAS,CAAC;IACvE,MAAME,OAAO,GACX1E,MAAM,CAACuD,QAAQ,CAACrC,QAAQ,CAAC,IACzBlB,MAAM,CAACA,MAAM,CAAC6B,GAAG,CAACX,QAAQ,CAAC,CAAC2B,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC6B,OAAO,CAACF,SAAS,CAAC;IAEtE,OAAOC,QAAQ,IAAIC,OAAO;EAC5B,CAAC,EACD,CAACvD,QAAQ,EAAED,QAAQ,CACrB,CAAC;EAED,MAAMyD,SAAS,GAAG/E,OAAO,CACvB,OAAO;IACLgF,QAAQ,EAAGL,GAAS,KAAM;MAAEM,OAAO,EAAEP,UAAU,CAACC,GAAG,CAAC;MAAEO,KAAK,EAAE;IAAK,CAAC,CAAC;IACpEC,aAAa,EAAGR,GAAS,KAAM;MAAEM,OAAO,EAAEP,UAAU,CAACC,GAAG,CAAC;MAAEO,KAAK,EAAE;IAAK,CAAC;EAC1E,CAAC,CAAC,EACF,CAACR,UAAU,CACb,CAAC;EAED,oBACE5E,KAAA,CAAAsF,aAAA,CAAC9E,iBAAiB;IAACkB,SAAS,EAAErB,UAAU,CAAC,gBAAgB,EAAEqB,SAAS;EAAE,GACnE4C,sBAAsB,gBACrBtE,KAAA,CAAAsF,aAAA,CAAC3E,aAAa;IACZ4E,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAEpB,kBAAmB;IAC5Ba,QAAQ,EAAElB;EAAgB,gBAE1BhE,KAAA,CAAAsF,aAAA,CAACxE,aAAa,MAAE,CACH,CAAC,GACd,IAAI,eACRd,KAAA,CAAAsF,aAAA,CAAC7E,SAAS;IACRiF,aAAa,EAAEzE,IAAI,KAAK,QAAQ,IAAI,CAACW,cAAe;IACpD+D,UAAU,EAAE1E,IAAI,KAAK,OAAQ;IAC7B2E,KAAK,EAAErB,gBAAgB,CAACtC,QAAQ,EAAEG,MAAM,EAAEnB,IAAI;EAAE,GAE/CW,cAAc,IAAIX,IAAI,KAAK,QAAQ,gBAClCjB,KAAA,CAAAsF,aAAA,CAAC1E,YAAY;IACXiF,KAAK,EAAEhE,YAAa;IACpBiE,MAAM,eACJ9F,KAAA,CAAAsF,aAAA,CAAC/E,YAAY;MAACgF,IAAI,EAAC;IAAQ,GAAE1C,gBAA+B,CAC7D;IACDkD,IAAI,EAAExC,cAAe;IACrByC,QAAQ,EAAE;MACR5E,IAAI,EAAEd,MAAM,CAAC6B,GAAG,CAACF,QAAQ,CAAC,CAACgE,IAAI,CAAC,CAAC;MACjC5E,EAAE,EAAEf,MAAM,CAAC6B,GAAG,CAACC,MAAM,CAAC,CAAC6D,IAAI,CAAC;IAC9B,CAAE;IACF9E,QAAQ,EAAEqC,kBAAmB;IAC7B0C,cAAc,EAAEvE,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAE;IAC1CsD,SAAS,EAAEA,SAAU;IACrBkB,iBAAiB,EAAE1E,QAAS;IAC5B2E,kBAAkB,EAAE5E,QAAS;IAC7B6E,iBAAiB,EAAE,CAACvE,gBAAiB;IACrCE,eAAe,EAAEA,eAAgB;IACjCD,QAAQ,EAAEA,QAAS;IACnBuE,GAAG,EAAE/C,cAAe;IACpBgD,OAAO;IACPC,QAAQ;EAAA,CACT,CAAC,gBAEFxG,KAAA,CAAAsF,aAAA,CAAC5E,UAAU,QAAEmC,gBAA6B,CAEnC,CAAC,EACXyB,sBAAsB,gBACrBtE,KAAA,CAAAsF,aAAA,CAAC3E,aAAa;IACZ4E,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAEvB,mBAAoB;IAC7BgB,QAAQ,EAAEpB;EAAe,gBAEzB9D,KAAA,CAAAsF,aAAA,CAACzE,cAAc,MAAE,CACJ,CAAC,GACd,IACa,CAAC;AAExB,CAAC;AAEDE,aAAa,CAAC0F,WAAW,GAAG,eAAe"}
|
|
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.utc(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: Moment): 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: Moment) => ({ matched: isDisabled(day), title: null }),\n nonWorkingDay: (day: Moment) => ({\n matched: isDisabled(day),\n title: null,\n }),\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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"}
|
package/dist/index.js
CHANGED
|
@@ -11467,7 +11467,7 @@
|
|
|
11467
11467
|
var modifierTitles = [];
|
|
11468
11468
|
var titles;
|
|
11469
11469
|
if (modifiers) Object.keys(modifiers || {}).forEach(function (modifier) {
|
|
11470
|
-
var _modifiers$modifier = modifiers[modifier](clonedDate
|
|
11470
|
+
var _modifiers$modifier = modifiers[modifier](clonedDate),
|
|
11471
11471
|
matched = _modifiers$modifier.matched,
|
|
11472
11472
|
title = _modifiers$modifier.title;
|
|
11473
11473
|
if (matched) {
|
|
@@ -12082,7 +12082,7 @@
|
|
|
12082
12082
|
return moment__default$1["default"].isMoment(maxValue) && moment__default$1["default"](moment__default$1["default"].utc(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.utc().format("YYYY-MM-DD"));
|
|
12083
12083
|
}, [maxValue, toDate]);
|
|
12084
12084
|
var isBeforeMinDate = React.useMemo(function () {
|
|
12085
|
-
return moment__default$1["default"].isMoment(minValue) && moment__default$1["default"].utc(moment__default$1["default"](minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
|
|
12085
|
+
return moment__default$1["default"].isMoment(minValue) && moment__default$1["default"].utc(moment__default$1["default"].utc(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
|
|
12086
12086
|
}, [minValue, toDate]);
|
|
12087
12087
|
React.useEffect(function () {
|
|
12088
12088
|
if (isBeforeMinDate) {
|
|
@@ -19231,12 +19231,23 @@
|
|
|
19231
19231
|
SelectDate.displayName = "SelectDate";
|
|
19232
19232
|
|
|
19233
19233
|
var isDayInRange = function isDayInRange(day, data) {
|
|
19234
|
+
var fromMoment = moment__default$1["default"].unix(data.from).utc();
|
|
19235
|
+
var toMoment = moment__default$1["default"].unix(data.to).utc();
|
|
19234
19236
|
if (data.repeating) {
|
|
19235
|
-
var
|
|
19236
|
-
var
|
|
19237
|
-
|
|
19237
|
+
var year = day.year();
|
|
19238
|
+
var from = moment__default$1["default"].utc({
|
|
19239
|
+
year,
|
|
19240
|
+
month: fromMoment.month(),
|
|
19241
|
+
date: fromMoment.date()
|
|
19242
|
+
});
|
|
19243
|
+
var to = moment__default$1["default"].utc({
|
|
19244
|
+
year,
|
|
19245
|
+
month: toMoment.month(),
|
|
19246
|
+
date: toMoment.date()
|
|
19247
|
+
});
|
|
19248
|
+
return day.isSameOrAfter(from, "day") && day.isSameOrBefore(to, "day");
|
|
19238
19249
|
}
|
|
19239
|
-
return day
|
|
19250
|
+
return day.isSameOrAfter(fromMoment, "day") && day.isSameOrBefore(toMoment, "day");
|
|
19240
19251
|
};
|
|
19241
19252
|
var SelectDateV2 = function SelectDateV2(_ref) {
|
|
19242
19253
|
var _ref$changeMode = _ref.changeMode,
|
|
@@ -19333,9 +19344,8 @@
|
|
|
19333
19344
|
});
|
|
19334
19345
|
return {
|
|
19335
19346
|
userAvailability: function userAvailability(day) {
|
|
19336
|
-
var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
19337
19347
|
var matchedData = userAvailabilities.find(function (data) {
|
|
19338
|
-
return isDayInRange(
|
|
19348
|
+
return isDayInRange(day, data);
|
|
19339
19349
|
});
|
|
19340
19350
|
return {
|
|
19341
19351
|
matched: !!matchedData,
|
|
@@ -19343,23 +19353,22 @@
|
|
|
19343
19353
|
};
|
|
19344
19354
|
},
|
|
19345
19355
|
weekend: function weekend(day) {
|
|
19346
|
-
var isWeekend = weekends.includes(day.
|
|
19356
|
+
var isWeekend = weekends.includes(day.day());
|
|
19347
19357
|
return {
|
|
19348
19358
|
matched: isWeekend,
|
|
19349
19359
|
title: isWeekend ? weekendLabel : null
|
|
19350
19360
|
};
|
|
19351
19361
|
},
|
|
19352
19362
|
nonWorkingDay: function nonWorkingDay(day) {
|
|
19353
|
-
if (weekends.includes(day.
|
|
19363
|
+
if (weekends.includes(day.day())) {
|
|
19354
19364
|
return {
|
|
19355
19365
|
matched: true,
|
|
19356
19366
|
title: ""
|
|
19357
19367
|
};
|
|
19358
19368
|
}
|
|
19359
19369
|
var nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];
|
|
19360
|
-
var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
19361
19370
|
var matchedData = nonWorkingDays.find(function (data) {
|
|
19362
|
-
return isDayInRange(
|
|
19371
|
+
return isDayInRange(day, data);
|
|
19363
19372
|
});
|
|
19364
19373
|
return {
|
|
19365
19374
|
matched: !!matchedData,
|
|
@@ -19367,16 +19376,15 @@
|
|
|
19367
19376
|
};
|
|
19368
19377
|
},
|
|
19369
19378
|
nonWorkingDaysOfWeek: function nonWorkingDaysOfWeek(day) {
|
|
19370
|
-
var isNonWorkingDay = _nonWorkingDaysOfWeek.includes(day.
|
|
19379
|
+
var isNonWorkingDay = _nonWorkingDaysOfWeek.includes(day.day());
|
|
19371
19380
|
return {
|
|
19372
19381
|
matched: isNonWorkingDay,
|
|
19373
19382
|
title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null
|
|
19374
19383
|
};
|
|
19375
19384
|
},
|
|
19376
19385
|
day_disabled: function day_disabled(day) {
|
|
19377
|
-
var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
19378
19386
|
var globalDayOff = globalDaysOff.find(function (data) {
|
|
19379
|
-
return isDayInRange(
|
|
19387
|
+
return isDayInRange(day, data);
|
|
19380
19388
|
});
|
|
19381
19389
|
return {
|
|
19382
19390
|
matched: !!globalDayOff,
|