@activecollab/components 2.0.149 → 2.0.150
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 +52 -17
- package/dist/cjs/components/DatePicker/DatePickerV2.js.map +1 -1
- package/dist/cjs/components/SelectDate/SelectDateV2.js +3 -4
- package/dist/cjs/components/SelectDate/SelectDateV2.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts +3 -2
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.js +51 -16
- package/dist/esm/components/DatePicker/DatePickerV2.js.map +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.js +4 -5
- package/dist/esm/components/SelectDate/SelectDateV2.js.map +1 -1
- package/dist/index.js +55 -19
- 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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.DatePickerV2 = void 0;
|
|
6
|
+
exports.toMoment = exports.DatePickerV2 = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
9
9
|
var _StylesV = require("./StylesV2");
|
|
@@ -21,6 +21,18 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
21
21
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
22
22
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23
23
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
24
|
+
var toMoment = exports.toMoment = function toMoment(date) {
|
|
25
|
+
if (_momentTimezone.default.isMoment(date)) {
|
|
26
|
+
return date;
|
|
27
|
+
} else if (date === null) {
|
|
28
|
+
return date;
|
|
29
|
+
} else if (typeof date === "number") {
|
|
30
|
+
return _momentTimezone.default.utc(date * 1000);
|
|
31
|
+
} else if (typeof date === "string") {
|
|
32
|
+
return _momentTimezone.default.utc(date);
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
};
|
|
24
36
|
var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
|
|
25
37
|
var _selected$to4;
|
|
26
38
|
var defaultSelected = _ref.selected,
|
|
@@ -92,17 +104,36 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
|
|
|
92
104
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
93
105
|
monthTransitionDirection = _useState10[0],
|
|
94
106
|
setMonthTransitionDirection = _useState10[1];
|
|
95
|
-
var _useState11 = (0, _react.useState)(
|
|
107
|
+
var _useState11 = (0, _react.useState)(function () {
|
|
108
|
+
if (defaultSelected) {
|
|
109
|
+
return toMoment(defaultSelected.from);
|
|
110
|
+
}
|
|
111
|
+
if (month) {
|
|
112
|
+
return toMoment(month);
|
|
113
|
+
}
|
|
114
|
+
return _momentTimezone.default.utc();
|
|
115
|
+
}),
|
|
96
116
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
97
117
|
currentDate = _useState12[0],
|
|
98
118
|
setCurrentDate = _useState12[1];
|
|
99
|
-
var _useState13 = (0, _react.useState)(
|
|
119
|
+
var _useState13 = (0, _react.useState)(function () {
|
|
120
|
+
if (defaultSelected) {
|
|
121
|
+
return toMoment(defaultSelected.from);
|
|
122
|
+
} else if (month) {
|
|
123
|
+
return toMoment(month);
|
|
124
|
+
}
|
|
125
|
+
}),
|
|
100
126
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
101
127
|
targetDate = _useState14[0],
|
|
102
128
|
setTargetDate = _useState14[1];
|
|
103
|
-
var _useState15 = (0, _react.useState)(
|
|
104
|
-
|
|
105
|
-
|
|
129
|
+
var _useState15 = (0, _react.useState)(function () {
|
|
130
|
+
if (!defaultSelected) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
from: toMoment(defaultSelected.from),
|
|
135
|
+
to: toMoment(defaultSelected.to)
|
|
136
|
+
};
|
|
106
137
|
}),
|
|
107
138
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
108
139
|
selected = _useState16[0],
|
|
@@ -153,11 +184,11 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
|
|
|
153
184
|
(0, _react.useEffect)(function () {
|
|
154
185
|
if (defaultSelected) {
|
|
155
186
|
setSelected({
|
|
156
|
-
from:
|
|
157
|
-
to:
|
|
187
|
+
from: toMoment(defaultSelected.from),
|
|
188
|
+
to: toMoment(defaultSelected.to)
|
|
158
189
|
});
|
|
159
|
-
setCurrentDate(
|
|
160
|
-
setTargetDate(
|
|
190
|
+
setCurrentDate(toMoment(defaultSelected.from) || _momentTimezone.default.utc());
|
|
191
|
+
setTargetDate(toMoment(defaultSelected.from) || _momentTimezone.default.utc());
|
|
161
192
|
} else {
|
|
162
193
|
setSelected(null);
|
|
163
194
|
}
|
|
@@ -242,6 +273,10 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
|
|
|
242
273
|
from: date.utc(),
|
|
243
274
|
to: null
|
|
244
275
|
});
|
|
276
|
+
onChange && onChange({
|
|
277
|
+
from: date.utc().unix(),
|
|
278
|
+
to: null
|
|
279
|
+
});
|
|
245
280
|
} else if (selected !== null && selected !== void 0 && selected.from.isSame(date.utc(), "day") && !required) {
|
|
246
281
|
setSelected(null);
|
|
247
282
|
onChange && onChange(undefined);
|
|
@@ -533,11 +568,11 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
|
|
|
533
568
|
if (mode === "custom" && instant && !selected && onSave) {
|
|
534
569
|
onSave(undefined);
|
|
535
570
|
}
|
|
536
|
-
setCurrentDate(defaultSelected
|
|
537
|
-
setTargetDate(defaultSelected
|
|
571
|
+
setCurrentDate(defaultSelected ? toMoment(defaultSelected.from) : month ? toMoment(month) : _momentTimezone.default.utc());
|
|
572
|
+
setTargetDate(defaultSelected ? toMoment(defaultSelected.from) : toMoment(month));
|
|
538
573
|
setSelected(defaultSelected ? {
|
|
539
|
-
from:
|
|
540
|
-
to:
|
|
574
|
+
from: toMoment(defaultSelected.from),
|
|
575
|
+
to: toMoment(defaultSelected.to)
|
|
541
576
|
} : null);
|
|
542
577
|
toggleCalendar();
|
|
543
578
|
setIsYearSelectOpen(false);
|
|
@@ -550,7 +585,7 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
|
|
|
550
585
|
if (!target || !enableConfirmModal || instant || required) {
|
|
551
586
|
shouldClose = true;
|
|
552
587
|
}
|
|
553
|
-
if (target && enableConfirmModal && !instant && !required && (selected && !defaultSelected || !selected && defaultSelected || selected !== null && selected !== void 0 && selected.from && defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from && !selected.from.isSame(
|
|
588
|
+
if (target && enableConfirmModal && !instant && !required && (selected && !defaultSelected || !selected && defaultSelected || selected !== null && selected !== void 0 && selected.from && defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from && !selected.from.isSame(toMoment(defaultSelected.from)) || selected !== null && selected !== void 0 && selected.to && defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.to && !selected.to.isSame(toMoment(defaultSelected.to)))) {
|
|
554
589
|
shouldClose = false;
|
|
555
590
|
setShowDiscardModal(true);
|
|
556
591
|
}
|
|
@@ -566,8 +601,8 @@ var DatePickerV2 = exports.DatePickerV2 = function DatePickerV2(_ref) {
|
|
|
566
601
|
}, []);
|
|
567
602
|
var handleSaveDiscardModal = (0, _react.useCallback)(function () {
|
|
568
603
|
setSelected(defaultSelected !== null && defaultSelected !== void 0 && defaultSelected.from ? {
|
|
569
|
-
from:
|
|
570
|
-
to:
|
|
604
|
+
from: toMoment(defaultSelected.from),
|
|
605
|
+
to: toMoment(defaultSelected.to)
|
|
571
606
|
} : null);
|
|
572
607
|
setShowDiscardModal(false);
|
|
573
608
|
handleClose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerV2.js","names":["_react","_interopRequireWildcard","require","_momentTimezone","_interopRequireDefault","_StylesV","_Button","_IconButton","_Icons","_Menu","_Tooltip","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","DatePickerV2","exports","_ref","_selected$to4","defaultSelected","selected","onChange","onSave","onClear","onClose","_ref$instant","instant","target","_ref$mode","mode","_ref$saveLabel","saveLabel","_ref$cancelLabel","cancelLabel","_ref$clearLabel","clearLabel","disabledDaysBefore","disabledDaysAfter","_ref$disabled","disabled","disabledDays","modifiers","disableAnimations","_ref$firstDayOfWeek","firstDayOfWeek","forceClose","required","month","disableYearPicker","_ref$position","position","menuClassName","popperClassName","_ref$enableConfirmMod","enableConfirmModal","_ref$modalHeaderText","modalHeaderText","_ref$modalDiscardMess","modalDiscardMessage","_ref$modalDiscardBtnT","modalDiscardBtnText","_ref$modalCancelBtnTe","modalCancelBtnText","backgroundElementClass","popperTooltipClassName","popperTooltipStyle","open","onCalendarToggle","onDayClick","showControls","_useState","useState","_useState2","isOpen","setIsOpen","_useState3","_useState4","isYearSelectOpen","setIsYearSelectOpen","_useState5","_useState6","showDiscardModal","setShowDiscardModal","_useState7","_useState8","isMonthSelectOpen","setIsMonthSelectOpen","_useState9","_useState10","monthTransitionDirection","setMonthTransitionDirection","_useState11","moment","utc","isMoment","_useState12","currentDate","setCurrentDate","_useState13","_useState14","targetDate","setTargetDate","_useState15","to","Number","_useState16","setSelected","_useState17","_useState18","hoveredDate","setHoveredDate","timezone","defaultZone","tz","guess","currentDateInTimezone","format","today","selectedYearRef","useRef","datePickerRef","handleSelection","useCallback","range","undefined","unix","toggleCalendar","toggleYearSelect","toggleMonthSelect","useEffect","handleDateSelect","date","isSameMonth","isSame","direction","isBefore","handleDailySelection","handleWeeklySelection","handleCustomSelection","console","warn","concat","_selected$from","currentDayOfWeek","day","daysToSubtract","startOfWeek","clone","subtract","startOf","endOfWeek","add","newSelection","handleSave","handleMonthChange","prevDate","onAnimationEnd","handleYearSelect","year","handleMonthSelect","newDate","_selected$to","endOf","_selected$to2","quarterRange","isSameQuarter","current","_selectedYearRef$curr","scrollIntoView","behavior","block","renderDaysOfWeek","daysOfWeek","weekdaysShort","orderedDays","map","createElement","StyledDayName","key","animationClass","useMemo","handleDayClick","getHoverRange","startMonth","endMonth","isAfter","renderCalendarDates","startOfMonth","startDate","isoWeekday","endDate","dates","hoverRange","_loop","clonedDate","isToday","isSelected","isBetween","isHovered","isDisabled","includes","modifierClasses","modifierTitles","titles","keys","forEach","modifier","_modifiers$modifier","toDate","matched","title","index","isOutside","Tooltip","disable","StyledCalendarDate","className","join","onClick","onMouseEnter","onMouseLeave","renderYearSelect","years","_","StyledYearSelect","isDisabledYear","StyledYearOption","ref","renderMonthSelect","months","StyledMonthSelect","monthDate","isDisabledMonth","isHoveredQuarter","StyledMonthOption","substring","captionText","isCurrentYear","handleClear","handleClose","_selected$to3","handleBeforeClose","shouldClose","Wrapper","Menu","handleCaptionClick","handleCloseDiscardModal","handleSaveDiscardModal","wrapperProps","onBeforeClose","onOpen","handleKeyDown","event","window","addEventListener","removeEventListener","StyledDatePickerWrapper","StyledDatePickerContainerInner","StyledCalendarHeader","IconButton","variant","size","ArrowLeftIcon","StyledCaption","ArrowRightIcon","StyledCalendarSelector","StyledMonthSelector","Fragment","StyledDaysOfWeek","StyledCalendarDates","StyledControls","StyledControlsLeft","Button","zIndex","CancelCrossIcon","StyledClearInstantButton","StyledConfirmDialog","onCancel","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText"],"sources":["../../../../src/components/DatePicker/DatePickerV2.tsx"],"sourcesContent":["import React, {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n CSSProperties,\n} from \"react\";\n\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport {\n StyledCalendarDate,\n StyledCalendarDates,\n StyledCalendarHeader,\n StyledCalendarSelector,\n StyledCaption,\n StyledClearInstantButton,\n StyledConfirmDialog,\n StyledControls,\n StyledControlsLeft,\n StyledDatePickerContainerInner,\n StyledDatePickerWrapper,\n StyledDayName,\n StyledDaysOfWeek,\n StyledMonthOption,\n StyledMonthSelect,\n StyledMonthSelector,\n StyledYearOption,\n StyledYearSelect,\n} from \"./StylesV2\";\nimport { Button } from \"../Button\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowLeftIcon, ArrowRightIcon, CancelCrossIcon } from \"../Icons\";\nimport { Menu } from \"../Menu\";\nimport { Placement } from \"../Popper\";\nimport { ElementWithRef } from \"../Select\";\nimport { Tooltip } from \"../Tooltip\";\n\nexport type ChangeMode =\n | \"daily\"\n | \"weekly\"\n | \"monthly\"\n | \"quarterly\"\n | \"custom\";\n\nexport interface DateRange {\n from: Moment;\n to: Moment | null;\n}\n\nexport interface TimestampDateRange {\n from: number;\n to: number | null;\n}\n\nexport interface DatePickerProps {\n selected?: TimestampDateRange;\n onChange?: (range?: TimestampDateRange) => void;\n onSave?: (range?: TimestampDateRange) => void;\n onClear?: () => void;\n onClose?: () => void;\n instant?: boolean;\n target?: ElementWithRef<Element>;\n mode: ChangeMode;\n saveLabel?: string;\n cancelLabel?: string;\n clearLabel?: string;\n disabledDaysBefore?: Moment;\n disabledDaysAfter?: Moment;\n disabled?: number[];\n modifiers?: {\n [key: string]: (day: Date) => { matched: boolean; title: string | null };\n };\n disableAnimations?: boolean;\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n forceClose?: boolean;\n required?: boolean;\n month?: Moment | number;\n disableYearPicker?: boolean;\n position?: Placement;\n /** Popper class name*/\n popperClassName?: string;\n backgroundElementClass?: string;\n /** Menu classes */\n menuClassName?: string;\n enableConfirmModal?: boolean;\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 /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n open?: boolean;\n onCalendarToggle?: (value: boolean) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Moment, modifiers: string[]) => void;\n showControls?: boolean;\n}\n\nexport const DatePickerV2: React.FC<DatePickerProps> = ({\n selected: defaultSelected,\n onChange,\n onSave,\n onClear,\n onClose,\n instant = true,\n target,\n mode = \"daily\",\n saveLabel = \"Save\",\n cancelLabel = \"Cancel\",\n clearLabel = \"Clear\",\n disabledDaysBefore,\n disabledDaysAfter,\n disabled: disabledDays = [],\n modifiers,\n disableAnimations,\n firstDayOfWeek = 0,\n forceClose,\n required,\n month,\n disableYearPicker,\n position = \"bottom-start\",\n menuClassName,\n popperClassName,\n enableConfirmModal = false,\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n backgroundElementClass,\n popperTooltipClassName,\n popperTooltipStyle,\n open,\n onCalendarToggle,\n onDayClick,\n showControls,\n}) => {\n const [isOpen, setIsOpen] = useState(open);\n const [isYearSelectOpen, setIsYearSelectOpen] = useState(false);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [isMonthSelectOpen, setIsMonthSelectOpen] = useState(\n mode === \"monthly\" || mode === \"quarterly\"\n );\n const [monthTransitionDirection, setMonthTransitionDirection] = useState<\n \"prev\" | \"next\" | null\n >(null);\n\n const [currentDate, setCurrentDate] = useState<Moment>(\n defaultSelected?.from\n ? moment.utc(defaultSelected?.from * 1000)\n : moment.isMoment(month)\n ? month\n : moment.utc(month)\n );\n\n const [targetDate, setTargetDate] = useState<Moment>(\n defaultSelected?.from\n ? moment.utc(defaultSelected?.from * 1000)\n : moment.isMoment(month)\n ? month\n : moment.utc(month)\n );\n\n const [selected, setSelected] = useState<DateRange | null>(\n !defaultSelected\n ? null\n : {\n from: moment.utc(defaultSelected.from * 1000),\n to: moment.utc(Number(defaultSelected.to) * 1000),\n }\n );\n const [hoveredDate, setHoveredDate] = useState<Moment | null>(null);\n\n const timezone = moment.defaultZone\n ? moment.defaultZone.name\n : moment.tz.guess();\n\n const currentDateInTimezone = moment().tz(timezone).format(\"YYYY-MM-DD\");\n\n const today = moment.utc(currentDateInTimezone);\n\n const selectedYearRef = useRef<HTMLDivElement | null>(null);\n const datePickerRef = useRef<HTMLDivElement>(null);\n\n const handleSelection = useCallback(\n (range?: DateRange) => {\n if (!range) {\n setSelected(null);\n if (onChange) onChange(undefined);\n if (instant && onSave) {\n onSave(undefined);\n }\n } else {\n setSelected(range);\n if (onChange)\n onChange({\n from: range.from.utc().unix(),\n to: moment(range.to).utc().unix(),\n });\n if (instant && onSave) {\n onSave({\n from: range.from.utc().unix(),\n to: moment(range.to).utc().unix(),\n });\n }\n }\n },\n [onChange, onSave, instant]\n );\n\n const toggleCalendar = useCallback(() => {\n setIsOpen(!isOpen);\n if (onCalendarToggle) onCalendarToggle(!isOpen);\n }, [isOpen, onCalendarToggle]);\n\n const toggleYearSelect = useCallback(() => {\n setIsYearSelectOpen(!isYearSelectOpen);\n setIsMonthSelectOpen(true);\n }, [isYearSelectOpen]);\n\n const toggleMonthSelect = useCallback(() => {\n if (mode !== \"monthly\" && mode !== \"quarterly\") {\n setIsMonthSelectOpen(!isMonthSelectOpen);\n }\n }, [isMonthSelectOpen, mode]);\n\n useEffect(() => {\n if (defaultSelected) {\n setSelected({\n from: moment.utc(defaultSelected.from * 1000),\n to: moment.utc(Number(defaultSelected.to) * 1000),\n });\n setCurrentDate(moment.utc(defaultSelected.from * 1000) || moment.utc());\n setTargetDate(moment.utc(defaultSelected.from * 1000) || moment.utc());\n } else {\n setSelected(null);\n }\n }, [defaultSelected, month]);\n\n const handleDateSelect = (date: Moment) => {\n const isSameMonth = date.isSame(currentDate, \"month\");\n\n if (isSameMonth || disableAnimations) {\n setCurrentDate(date);\n setTargetDate(date);\n } else {\n const direction = date.isBefore(currentDate, \"month\") ? \"prev\" : \"next\";\n setTargetDate(date);\n setMonthTransitionDirection(direction);\n }\n\n switch (mode) {\n case \"daily\":\n handleDailySelection(date);\n break;\n case \"weekly\":\n handleWeeklySelection(date);\n break;\n case \"custom\":\n handleCustomSelection(date);\n break;\n default:\n console.warn(`Unhandled mode: ${mode}`);\n }\n\n if (instant && mode !== \"custom\" && forceClose) toggleCalendar();\n };\n\n const handleDailySelection = (date: Moment) => {\n if (!date.isSame(selected?.from)) {\n handleSelection({ from: date, to: date });\n } else if (!required) {\n handleSelection(undefined);\n }\n };\n\n const handleWeeklySelection = (date: Moment) => {\n const currentDayOfWeek = date.day();\n\n const daysToSubtract = (currentDayOfWeek - firstDayOfWeek + 7) % 7;\n\n const startOfWeek = date\n .clone()\n .subtract(daysToSubtract, \"days\")\n .startOf(\"day\");\n const endOfWeek = startOfWeek.clone().add(6, \"days\");\n\n if (!startOfWeek.isSame(selected?.from?.startOf(\"day\"))) {\n handleSelection({ from: startOfWeek, to: endOfWeek });\n } else if (!required) {\n handleSelection(undefined);\n }\n };\n\n const handleCustomSelection = (date: Moment) => {\n if (\n !selected ||\n selected?.from === moment.utc(Number(defaultSelected?.from) * 1000)\n ) {\n setSelected({ from: date.utc(), to: null });\n onChange && onChange({ from: date.utc().unix(), to: date.utc().unix() });\n return;\n }\n\n if (\n moment.isMoment(selected?.from) &&\n !selected?.to &&\n !selected?.from.isSame(date.utc(), \"day\")\n ) {\n const newSelection = selected?.from.isBefore(date)\n ? { from: selected.from, to: date.utc() }\n : { from: date.utc(), to: selected.from };\n setSelected(newSelection);\n onChange &&\n onChange({\n from: newSelection.from.utc().unix(),\n to: newSelection.to.utc().unix(),\n });\n } else if (\n moment.isMoment(selected?.from) &&\n moment.isMoment(selected?.to)\n ) {\n setSelected({ from: date.utc(), to: null });\n } else if (selected?.from.isSame(date.utc(), \"day\") && !required) {\n setSelected(null);\n onChange && onChange(undefined);\n }\n };\n\n const handleSave = () => {\n if (onSave) {\n toggleCalendar();\n if (mode === \"custom\" && !selected?.to) {\n setSelected({\n from: moment.utc(selected?.from),\n to: moment.utc(selected?.from),\n });\n }\n if (selected) {\n onSave({\n from: moment.utc(selected?.from).unix(),\n to: selected?.to\n ? moment.utc(selected?.to).unix()\n : moment.utc(selected?.from).unix(),\n });\n } else {\n if (!required) {\n onSave(undefined);\n setCurrentDate(moment.utc());\n setTargetDate(moment.utc());\n }\n }\n }\n };\n\n const handleMonthChange = useCallback(\n (direction: \"prev\" | \"next\") => {\n setMonthTransitionDirection(direction);\n if (isMonthSelectOpen) {\n setTargetDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"year\")\n : prevDate.clone().add(1, \"year\")\n );\n if (disableAnimations) {\n setCurrentDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"year\")\n : prevDate.clone().add(1, \"year\")\n );\n }\n } else {\n setTargetDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"month\")\n : prevDate.clone().add(1, \"month\")\n );\n if (disableAnimations) {\n setCurrentDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"month\")\n : prevDate.clone().add(1, \"month\")\n );\n }\n }\n },\n [disableAnimations, isMonthSelectOpen]\n );\n\n const onAnimationEnd = () => {\n if (targetDate) {\n setCurrentDate(targetDate);\n setMonthTransitionDirection(null);\n }\n };\n\n const handleYearSelect = (year: number) => {\n setCurrentDate(currentDate.clone().year(year));\n setTargetDate(currentDate.clone().year(year));\n setIsYearSelectOpen(false);\n setIsMonthSelectOpen(true);\n };\n\n const handleMonthSelect = (month: number) => {\n const newDate = currentDate.clone().utc().month(month);\n setCurrentDate(newDate);\n setTargetDate(newDate);\n\n if (mode === \"monthly\") {\n const range = {\n from: newDate.clone().startOf(\"month\"),\n to: newDate.clone().endOf(\"month\").startOf(\"day\"),\n };\n\n const isSameMonth =\n selected?.from.isSame(range.from, \"month\") &&\n selected?.to?.isSame(range.to, \"month\");\n\n if (isSameMonth) {\n if (!required) {\n handleSelection(undefined);\n if (instant && onSave) {\n setCurrentDate(moment.utc());\n setTargetDate(moment.utc());\n }\n }\n } else {\n handleSelection(range);\n }\n }\n\n if (mode === \"quarterly\") {\n const quarterRange = {\n from: newDate.clone().startOf(\"quarter\"),\n to: newDate.clone().endOf(\"quarter\").startOf(\"day\"),\n };\n\n const isSameQuarter =\n selected?.from.isSame(quarterRange.from, \"quarter\") &&\n selected?.to?.isSame(quarterRange.to, \"quarter\");\n\n if (isSameQuarter) {\n if (!required) {\n handleSelection(undefined);\n if (instant && onSave) {\n setCurrentDate(moment.utc());\n setTargetDate(moment.utc());\n }\n }\n } else {\n handleSelection(quarterRange);\n }\n }\n\n if (mode !== \"monthly\" && mode !== \"quarterly\") {\n setIsMonthSelectOpen(false);\n }\n if (instant && (mode === \"monthly\" || mode === \"quarterly\") && forceClose)\n toggleCalendar();\n };\n\n useEffect(() => {\n if (isYearSelectOpen && selectedYearRef.current) {\n selectedYearRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }\n }, [isYearSelectOpen]);\n\n const renderDaysOfWeek = () => {\n const daysOfWeek = moment.weekdaysShort();\n const orderedDays = [\n ...daysOfWeek.slice(firstDayOfWeek),\n ...daysOfWeek.slice(0, firstDayOfWeek),\n ];\n return orderedDays.map((day) => (\n <StyledDayName key={day}>{day[0]}</StyledDayName>\n ));\n };\n\n const animationClass = useMemo(() => {\n return monthTransitionDirection && !disableAnimations\n ? monthTransitionDirection === \"next\"\n ? \"slide-down\"\n : \"slide-up\"\n : \"\";\n }, [disableAnimations, monthTransitionDirection]);\n\n const handleDayClick = (day: Moment, modifiers: string[]) => {\n handleDateSelect(day);\n if (onDayClick) onDayClick(day, modifiers);\n };\n\n const getHoverRange = () => {\n if (!hoveredDate) return null;\n\n if (mode === \"quarterly\") {\n const startMonth = hoveredDate.clone().startOf(\"quarter\");\n const endMonth = hoveredDate.clone().endOf(\"quarter\");\n return { from: startMonth, to: endMonth };\n }\n\n if (mode === \"weekly\") {\n const currentDayOfWeek = hoveredDate.day();\n const daysToSubtract = (currentDayOfWeek - firstDayOfWeek + 7) % 7;\n const startOfWeek = hoveredDate\n .clone()\n .subtract(daysToSubtract, \"days\")\n .startOf(\"day\");\n const endOfWeek = startOfWeek.clone().add(6, \"days\");\n\n return { from: startOfWeek, to: endOfWeek };\n }\n\n if (mode === \"custom\" && selected?.from && !selected?.to) {\n const from = selected.from.isBefore(hoveredDate)\n ? selected.from\n : hoveredDate;\n const to = selected.from.isAfter(hoveredDate)\n ? selected.from\n : hoveredDate;\n return { from, to };\n }\n\n return null;\n };\n\n const renderCalendarDates = () => {\n const startOfMonth = currentDate.clone().startOf(\"month\");\n const startDate = startOfMonth.clone().isoWeekday(firstDayOfWeek);\n\n const endDate = startDate.clone().add(6, \"weeks\");\n const date = startDate.clone();\n const dates: React.JSX.Element[] = [];\n\n const hoverRange = getHoverRange();\n\n while (date.isBefore(endDate)) {\n const clonedDate = date.clone();\n const isToday = clonedDate.isSame(today, \"day\");\n const isSelected =\n selected &&\n (clonedDate.isBetween(selected.from, selected.to, \"day\", \"[]\") ||\n clonedDate.isSame(selected.from, \"day\") ||\n clonedDate.isSame(selected.to, \"day\"));\n\n const isHovered =\n hoverRange &&\n (mode === \"weekly\" || mode === \"custom\") &&\n clonedDate.isBetween(hoverRange.from, hoverRange.to, \"day\", \"[]\");\n\n const isDisabled =\n (disabledDaysBefore &&\n clonedDate.isBefore(disabledDaysBefore, \"day\")) ||\n (disabledDaysAfter && clonedDate.isAfter(disabledDaysAfter, \"day\")) ||\n disabledDays.includes(clonedDate.day());\n\n const modifierClasses: string[] = [];\n const modifierTitles: string[] = [];\n let titles;\n\n if (modifiers)\n Object.keys(modifiers || {}).forEach((modifier) => {\n const { matched, title } = modifiers[modifier](clonedDate.toDate());\n if (matched) {\n modifierClasses.push(modifier);\n if (title) modifierTitles.push(title);\n }\n });\n if (modifierTitles.length) {\n titles = (\n <div key={`title-wrapper-${clonedDate.toString()}`}>\n {modifierTitles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n }\n\n const isOutside = !clonedDate.isSame(currentDate, \"month\");\n\n dates.push(\n <Tooltip\n title={titles}\n disable={!modifierTitles.length}\n key={clonedDate.toString()}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n <StyledCalendarDate\n className={`${isSelected ? \"selected\" : \"\"} ${\n isToday ? \"today-day\" : \"\"\n }\n ${isDisabled ? \"disabled\" : \"\"} ${\n isHovered ? \"hovered\" : \"\"\n } ${modifierClasses.join(\" \")}\n ${isOutside ? \"outside\" : \"\"}`}\n onClick={() => handleDayClick(clonedDate, modifierClasses)}\n onMouseEnter={\n mode === \"weekly\" || mode === \"custom\"\n ? () => setHoveredDate(clonedDate)\n : undefined\n }\n onMouseLeave={\n mode === \"weekly\" || mode === \"custom\"\n ? () => setHoveredDate(null)\n : undefined\n }\n >\n {clonedDate.date()}\n </StyledCalendarDate>\n </Tooltip>\n );\n\n date.add(1, \"day\");\n }\n\n return dates;\n };\n\n const renderYearSelect = () => {\n const years = Array.from({ length: 200 }, (_, i) => 1900 + i);\n return (\n <StyledYearSelect>\n {years.map((year) => {\n const isSelected =\n selected &&\n ((selected?.to &&\n year >= selected.from.year() &&\n year <= selected.to.year()) ||\n year === selected.from.year() ||\n (selected?.to && year === selected.to.year()));\n\n const isDisabledYear =\n (disabledDaysBefore && year < disabledDaysBefore.year()) ||\n (disabledDaysAfter && year > disabledDaysAfter.year());\n\n return (\n <StyledYearOption\n key={year}\n ref={year === currentDate.year() ? selectedYearRef : null}\n className={`${isSelected ? \"selected\" : \"\"} ${\n year === today.year() ? \"today-year\" : \"\"\n } ${isDisabledYear ? \"disabled\" : \"\"}`}\n onClick={() => handleYearSelect(year)}\n >\n {year}\n </StyledYearOption>\n );\n })}\n </StyledYearSelect>\n );\n };\n\n const renderMonthSelect = () => {\n const months = moment.months();\n const hoverRange = getHoverRange();\n\n return (\n <StyledMonthSelect>\n {months.map((month, index) => {\n const monthDate = currentDate.clone().month(index);\n\n const isSelected =\n selected &&\n (monthDate.isBetween(selected.from, selected.to, \"month\", \"[]\") ||\n monthDate.isSame(selected.from, \"month\") ||\n monthDate.isSame(selected.to, \"month\"));\n\n const isDisabledMonth =\n (disabledDaysBefore &&\n monthDate.isBefore(disabledDaysBefore, \"month\")) ||\n (disabledDaysAfter &&\n monthDate.isAfter(disabledDaysAfter, \"month\"));\n\n const isHoveredQuarter =\n hoverRange &&\n mode === \"quarterly\" &&\n monthDate.isBetween(hoverRange.from, hoverRange.to, \"month\", \"[]\");\n\n return (\n <StyledMonthOption\n key={month}\n className={`${isSelected ? \"selected\" : \"\"} ${\n index === today.month() && currentDate.year() === today.year()\n ? \"today-month\"\n : \"\"\n } ${isDisabledMonth ? \"disabled\" : \"\"} ${\n isHoveredQuarter ? \"hovered\" : \"\"\n }`}\n onClick={() => handleMonthSelect(index)}\n onMouseEnter={\n mode === \"quarterly\"\n ? () => setHoveredDate(monthDate)\n : undefined\n }\n onMouseLeave={\n mode === \"quarterly\" ? () => setHoveredDate(null) : undefined\n }\n >\n {month.substring(0, 3)}\n </StyledMonthOption>\n );\n })}\n </StyledMonthSelect>\n );\n };\n\n const captionText = useMemo(() => {\n const isCurrentYear = currentDate.isSame(today, \"year\");\n\n return !isMonthSelectOpen && !isYearSelectOpen\n ? `${currentDate.format(\"MMMM\")}${\n isCurrentYear ? \"\" : ` ${currentDate.format(\"YYYY\")}`\n }`\n : currentDate.format(\"YYYY\");\n }, [currentDate, isMonthSelectOpen, isYearSelectOpen, today]);\n\n const handleClear = useCallback(() => {\n if (typeof onClear === \"function\") onClear();\n handleSelection(undefined);\n }, [handleSelection, onClear]);\n\n const handleClose = useCallback(() => {\n if (mode === \"custom\" && instant && selected) {\n setSelected({\n from: moment.utc(selected?.from),\n to: selected?.to\n ? moment.utc(selected?.to)\n : moment.utc(selected?.from),\n });\n }\n if (\n instant &&\n onSave &&\n mode === \"custom\" &&\n selected &&\n (!selected?.from.isSame(\n moment.utc(Number(defaultSelected?.from) * 1000)\n ) ||\n !selected?.to?.isSame(moment.utc(Number(defaultSelected?.to) * 1000)))\n ) {\n onSave({\n from: moment.utc(selected?.from).unix(),\n to: selected?.to\n ? moment.utc(selected?.to).unix()\n : moment.utc(selected?.from).unix(),\n });\n }\n if (mode === \"custom\" && instant && !selected && onSave) {\n onSave(undefined);\n }\n setCurrentDate(\n defaultSelected?.from\n ? moment.utc(defaultSelected?.from * 1000)\n : moment.isMoment(month)\n ? month\n : moment.utc()\n );\n setTargetDate(\n defaultSelected?.from\n ? moment.utc(defaultSelected?.from * 1000)\n : moment.isMoment(month)\n ? month\n : moment.utc()\n );\n setSelected(\n defaultSelected\n ? {\n from: moment.utc(defaultSelected.from * 1000),\n to: moment.utc(Number(defaultSelected.to) * 1000),\n }\n : null\n );\n toggleCalendar();\n setIsYearSelectOpen(false);\n setIsMonthSelectOpen(mode === \"monthly\" || mode === \"quarterly\");\n setMonthTransitionDirection(null);\n if (typeof onClose === \"function\") onClose();\n }, [\n defaultSelected,\n instant,\n mode,\n month,\n onClose,\n onSave,\n selected,\n toggleCalendar,\n ]);\n\n const handleBeforeClose = useCallback(() => {\n let shouldClose = true;\n if (!target || !enableConfirmModal || instant || required) {\n shouldClose = true;\n }\n if (\n target &&\n enableConfirmModal &&\n !instant &&\n !required &&\n ((selected && !defaultSelected) ||\n (!selected && defaultSelected) ||\n (selected?.from &&\n defaultSelected?.from &&\n !selected.from.isSame(moment.utc(defaultSelected.from * 1000))) ||\n (selected?.to &&\n defaultSelected?.to &&\n !selected.to.isSame(moment.utc(defaultSelected.to * 1000))))\n ) {\n shouldClose = false;\n setShowDiscardModal(true);\n }\n if (shouldClose) handleClose();\n return shouldClose;\n }, [\n defaultSelected,\n enableConfirmModal,\n handleClose,\n instant,\n required,\n selected,\n target,\n ]);\n\n const Wrapper = target ? Menu : \"div\";\n\n const handleCaptionClick = useCallback(() => {\n isMonthSelectOpen && !disableYearPicker\n ? toggleYearSelect()\n : toggleMonthSelect();\n }, [\n disableYearPicker,\n isMonthSelectOpen,\n toggleMonthSelect,\n toggleYearSelect,\n ]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleSaveDiscardModal = useCallback(() => {\n setSelected(\n defaultSelected?.from\n ? {\n from: moment.utc(defaultSelected.from * 1000),\n to: moment.utc(Number(defaultSelected?.to) * 1000),\n }\n : null\n );\n setShowDiscardModal(false);\n handleClose();\n }, [defaultSelected, handleClose]);\n\n const wrapperProps = target\n ? {\n className: \"c-date-picker--calendar\",\n target,\n onBeforeClose: handleBeforeClose,\n onClose: handleClose,\n open: isOpen,\n onOpen: toggleCalendar,\n position,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n }\n : { className: \"c-date-picker--calendar\" };\n\n useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"ArrowRight\") {\n handleMonthChange(\"next\");\n } else if (event.key === \"ArrowLeft\") {\n handleMonthChange(\"prev\");\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [handleMonthChange]);\n\n return (\n <StyledDatePickerWrapper ref={datePickerRef}>\n <Wrapper {...wrapperProps}>\n <StyledDatePickerContainerInner>\n <StyledCalendarHeader>\n {isYearSelectOpen ? null : (\n <IconButton\n onClick={() => handleMonthChange(\"prev\")}\n variant=\"text gray\"\n size=\"small\"\n >\n <ArrowLeftIcon />\n </IconButton>\n )}\n <StyledCaption\n className={`${animationClass} ${\n isYearSelectOpen ? \"year-caption\" : \"\"\n }`}\n key={isMonthSelectOpen ? currentDate.year() : currentDate.month()}\n onClick={handleCaptionClick}\n onAnimationEnd={onAnimationEnd}\n >\n {captionText}\n </StyledCaption>\n {isYearSelectOpen ? null : (\n <IconButton\n onClick={() => handleMonthChange(\"next\")}\n variant=\"text gray\"\n size=\"small\"\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </StyledCalendarHeader>\n <StyledCalendarSelector>\n {isYearSelectOpen ? (\n renderYearSelect()\n ) : isMonthSelectOpen ? (\n <StyledMonthSelector\n className={animationClass}\n key={currentDate.year()}\n onAnimationEnd={onAnimationEnd}\n >\n {renderMonthSelect()}\n </StyledMonthSelector>\n ) : (\n <>\n <StyledDaysOfWeek>{renderDaysOfWeek()}</StyledDaysOfWeek>\n <StyledCalendarDates\n className={animationClass}\n key={currentDate.month()}\n >\n {renderCalendarDates()}\n </StyledCalendarDates>\n </>\n )}\n </StyledCalendarSelector>\n {(target || showControls) &&\n (!instant ? (\n <StyledControls>\n <StyledControlsLeft>\n <Button\n size=\"small\"\n variant=\"primary\"\n onClick={handleSave}\n disabled={\n (selected?.from.isSame(\n moment.utc(Number(defaultSelected?.from) * 1000)\n ) &&\n selected?.to?.isSame(\n moment.utc(Number(defaultSelected?.to) * 1000)\n )) ||\n (!defaultSelected && !selected)\n }\n >\n {saveLabel}\n </Button>\n <Tooltip\n title={cancelLabel}\n popperTooltipStyle={{ zIndex: 1301 }}\n >\n <IconButton\n size=\"small\"\n variant=\"text gray\"\n onClick={handleBeforeClose}\n >\n <CancelCrossIcon />\n </IconButton>\n </Tooltip>\n </StyledControlsLeft>\n {!required ? (\n <Button\n size=\"small\"\n onClick={handleClear}\n variant=\"text gray\"\n >\n {clearLabel}\n </Button>\n ) : null}\n </StyledControls>\n ) : !required ? (\n <StyledControls>\n <StyledClearInstantButton\n size=\"small\"\n onClick={handleClear}\n variant=\"text gray\"\n >\n {clearLabel}\n </StyledClearInstantButton>\n </StyledControls>\n ) : null)}\n </StyledDatePickerContainerInner>\n </Wrapper>\n {!instant && target && !required && enableConfirmModal ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledDatePickerWrapper>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerV2.js","names":["_react","_interopRequireWildcard","require","_momentTimezone","_interopRequireDefault","_StylesV","_Button","_IconButton","_Icons","_Menu","_Tooltip","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","toMoment","exports","date","moment","isMoment","utc","undefined","DatePickerV2","_ref","_selected$to4","defaultSelected","selected","onChange","onSave","onClear","onClose","_ref$instant","instant","target","_ref$mode","mode","_ref$saveLabel","saveLabel","_ref$cancelLabel","cancelLabel","_ref$clearLabel","clearLabel","disabledDaysBefore","disabledDaysAfter","_ref$disabled","disabled","disabledDays","modifiers","disableAnimations","_ref$firstDayOfWeek","firstDayOfWeek","forceClose","required","month","disableYearPicker","_ref$position","position","menuClassName","popperClassName","_ref$enableConfirmMod","enableConfirmModal","_ref$modalHeaderText","modalHeaderText","_ref$modalDiscardMess","modalDiscardMessage","_ref$modalDiscardBtnT","modalDiscardBtnText","_ref$modalCancelBtnTe","modalCancelBtnText","backgroundElementClass","popperTooltipClassName","popperTooltipStyle","open","onCalendarToggle","onDayClick","showControls","_useState","useState","_useState2","isOpen","setIsOpen","_useState3","_useState4","isYearSelectOpen","setIsYearSelectOpen","_useState5","_useState6","showDiscardModal","setShowDiscardModal","_useState7","_useState8","isMonthSelectOpen","setIsMonthSelectOpen","_useState9","_useState10","monthTransitionDirection","setMonthTransitionDirection","_useState11","_useState12","currentDate","setCurrentDate","_useState13","_useState14","targetDate","setTargetDate","_useState15","to","_useState16","setSelected","_useState17","_useState18","hoveredDate","setHoveredDate","timezone","defaultZone","tz","guess","currentDateInTimezone","format","today","selectedYearRef","useRef","datePickerRef","handleSelection","useCallback","range","unix","toggleCalendar","toggleYearSelect","toggleMonthSelect","useEffect","handleDateSelect","isSameMonth","isSame","direction","isBefore","handleDailySelection","handleWeeklySelection","handleCustomSelection","console","warn","concat","_selected$from","currentDayOfWeek","day","daysToSubtract","startOfWeek","clone","subtract","startOf","endOfWeek","add","Number","newSelection","handleSave","handleMonthChange","prevDate","onAnimationEnd","handleYearSelect","year","handleMonthSelect","newDate","_selected$to","endOf","_selected$to2","quarterRange","isSameQuarter","current","_selectedYearRef$curr","scrollIntoView","behavior","block","renderDaysOfWeek","daysOfWeek","weekdaysShort","orderedDays","map","createElement","StyledDayName","key","animationClass","useMemo","handleDayClick","getHoverRange","startMonth","endMonth","isAfter","renderCalendarDates","startOfMonth","startDate","isoWeekday","endDate","dates","hoverRange","_loop","clonedDate","isToday","isSelected","isBetween","isHovered","isDisabled","includes","modifierClasses","modifierTitles","titles","keys","forEach","modifier","_modifiers$modifier","toDate","matched","title","index","isOutside","Tooltip","disable","StyledCalendarDate","className","join","onClick","onMouseEnter","onMouseLeave","renderYearSelect","years","_","StyledYearSelect","isDisabledYear","StyledYearOption","ref","renderMonthSelect","months","StyledMonthSelect","monthDate","isDisabledMonth","isHoveredQuarter","StyledMonthOption","substring","captionText","isCurrentYear","handleClear","handleClose","_selected$to3","handleBeforeClose","shouldClose","Wrapper","Menu","handleCaptionClick","handleCloseDiscardModal","handleSaveDiscardModal","wrapperProps","onBeforeClose","onOpen","handleKeyDown","event","window","addEventListener","removeEventListener","StyledDatePickerWrapper","StyledDatePickerContainerInner","StyledCalendarHeader","IconButton","variant","size","ArrowLeftIcon","StyledCaption","ArrowRightIcon","StyledCalendarSelector","StyledMonthSelector","Fragment","StyledDaysOfWeek","StyledCalendarDates","StyledControls","StyledControlsLeft","Button","zIndex","CancelCrossIcon","StyledClearInstantButton","StyledConfirmDialog","onCancel","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText"],"sources":["../../../../src/components/DatePicker/DatePickerV2.tsx"],"sourcesContent":["import React, {\n useState,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n CSSProperties,\n} from \"react\";\n\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport {\n StyledCalendarDate,\n StyledCalendarDates,\n StyledCalendarHeader,\n StyledCalendarSelector,\n StyledCaption,\n StyledClearInstantButton,\n StyledConfirmDialog,\n StyledControls,\n StyledControlsLeft,\n StyledDatePickerContainerInner,\n StyledDatePickerWrapper,\n StyledDayName,\n StyledDaysOfWeek,\n StyledMonthOption,\n StyledMonthSelect,\n StyledMonthSelector,\n StyledYearOption,\n StyledYearSelect,\n} from \"./StylesV2\";\nimport { Button } from \"../Button\";\nimport { IconButton } from \"../IconButton\";\nimport { ArrowLeftIcon, ArrowRightIcon, CancelCrossIcon } from \"../Icons\";\nimport { Menu } from \"../Menu\";\nimport { Placement } from \"../Popper\";\nimport { ElementWithRef } from \"../Select\";\nimport { Tooltip } from \"../Tooltip\";\n\nexport type ChangeMode =\n | \"daily\"\n | \"weekly\"\n | \"monthly\"\n | \"quarterly\"\n | \"custom\";\n\nexport interface DateRange {\n from: Moment;\n to: Moment | null;\n}\n\nexport interface TimestampDateRange {\n from: number | string | Moment;\n to: number | string | Moment | null;\n}\n\nexport interface DatePickerProps {\n selected?: TimestampDateRange;\n onChange?: (range?: TimestampDateRange) => void;\n onSave?: (range?: TimestampDateRange) => void;\n onClear?: () => void;\n onClose?: () => void;\n instant?: boolean;\n target?: ElementWithRef<Element>;\n mode: ChangeMode;\n saveLabel?: string;\n cancelLabel?: string;\n clearLabel?: string;\n disabledDaysBefore?: Moment;\n disabledDaysAfter?: Moment;\n disabled?: number[];\n modifiers?: {\n [key: string]: (day: Date) => { matched: boolean; title: string | null };\n };\n disableAnimations?: boolean;\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n forceClose?: boolean;\n required?: boolean;\n month?: Moment | number;\n disableYearPicker?: boolean;\n position?: Placement;\n /** Popper class name*/\n popperClassName?: string;\n backgroundElementClass?: string;\n /** Menu classes */\n menuClassName?: string;\n enableConfirmModal?: boolean;\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 /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n open?: boolean;\n onCalendarToggle?: (value: boolean) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Moment, modifiers: string[]) => void;\n showControls?: boolean;\n}\nexport const toMoment = (date?: string | number | Moment | null) => {\n if (moment.isMoment(date)) {\n return date;\n } else if (date === null) {\n return date;\n } else if (typeof date === \"number\") {\n return moment.utc(date * 1000);\n } else if (typeof date === \"string\") {\n return moment.utc(date);\n }\n return undefined;\n};\n\nexport const DatePickerV2: React.FC<DatePickerProps> = ({\n selected: defaultSelected,\n onChange,\n onSave,\n onClear,\n onClose,\n instant = true,\n target,\n mode = \"daily\",\n saveLabel = \"Save\",\n cancelLabel = \"Cancel\",\n clearLabel = \"Clear\",\n disabledDaysBefore,\n disabledDaysAfter,\n disabled: disabledDays = [],\n modifiers,\n disableAnimations,\n firstDayOfWeek = 0,\n forceClose,\n required,\n month,\n disableYearPicker,\n position = \"bottom-start\",\n menuClassName,\n popperClassName,\n enableConfirmModal = false,\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n backgroundElementClass,\n popperTooltipClassName,\n popperTooltipStyle,\n open,\n onCalendarToggle,\n onDayClick,\n showControls,\n}) => {\n const [isOpen, setIsOpen] = useState(open);\n const [isYearSelectOpen, setIsYearSelectOpen] = useState(false);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [isMonthSelectOpen, setIsMonthSelectOpen] = useState(\n mode === \"monthly\" || mode === \"quarterly\"\n );\n const [monthTransitionDirection, setMonthTransitionDirection] = useState<\n \"prev\" | \"next\" | null\n >(null);\n\n const [currentDate, setCurrentDate] = useState<Moment>(() => {\n if (defaultSelected) {\n return toMoment(defaultSelected.from);\n }\n if (month) {\n return toMoment(month);\n }\n return moment.utc();\n });\n\n const [targetDate, setTargetDate] = useState<Moment>(() => {\n if (defaultSelected) {\n return toMoment(defaultSelected.from);\n } else if (month) {\n return toMoment(month);\n }\n });\n\n const [selected, setSelected] = useState<DateRange | null>(() => {\n if (!defaultSelected) {\n return null;\n }\n return {\n from: toMoment(defaultSelected.from),\n to: toMoment(defaultSelected.to),\n };\n });\n const [hoveredDate, setHoveredDate] = useState<Moment | null>(null);\n\n const timezone = moment.defaultZone\n ? moment.defaultZone.name\n : moment.tz.guess();\n\n const currentDateInTimezone = moment().tz(timezone).format(\"YYYY-MM-DD\");\n\n const today = moment.utc(currentDateInTimezone);\n\n const selectedYearRef = useRef<HTMLDivElement | null>(null);\n const datePickerRef = useRef<HTMLDivElement>(null);\n\n const handleSelection = useCallback(\n (range?: DateRange) => {\n if (!range) {\n setSelected(null);\n if (onChange) onChange(undefined);\n if (instant && onSave) {\n onSave(undefined);\n }\n } else {\n setSelected(range);\n if (onChange)\n onChange({\n from: range.from.utc().unix(),\n to: moment(range.to).utc().unix(),\n });\n if (instant && onSave) {\n onSave({\n from: range.from.utc().unix(),\n to: moment(range.to).utc().unix(),\n });\n }\n }\n },\n [onChange, onSave, instant]\n );\n\n const toggleCalendar = useCallback(() => {\n setIsOpen(!isOpen);\n if (onCalendarToggle) onCalendarToggle(!isOpen);\n }, [isOpen, onCalendarToggle]);\n\n const toggleYearSelect = useCallback(() => {\n setIsYearSelectOpen(!isYearSelectOpen);\n setIsMonthSelectOpen(true);\n }, [isYearSelectOpen]);\n\n const toggleMonthSelect = useCallback(() => {\n if (mode !== \"monthly\" && mode !== \"quarterly\") {\n setIsMonthSelectOpen(!isMonthSelectOpen);\n }\n }, [isMonthSelectOpen, mode]);\n\n useEffect(() => {\n if (defaultSelected) {\n setSelected({\n from: toMoment(defaultSelected.from),\n to: toMoment(defaultSelected.to),\n });\n setCurrentDate(toMoment(defaultSelected.from) || moment.utc());\n setTargetDate(toMoment(defaultSelected.from) || moment.utc());\n } else {\n setSelected(null);\n }\n }, [defaultSelected, month]);\n\n const handleDateSelect = (date: Moment) => {\n const isSameMonth = date.isSame(currentDate, \"month\");\n\n if (isSameMonth || disableAnimations) {\n setCurrentDate(date);\n setTargetDate(date);\n } else {\n const direction = date.isBefore(currentDate, \"month\") ? \"prev\" : \"next\";\n setTargetDate(date);\n setMonthTransitionDirection(direction);\n }\n\n switch (mode) {\n case \"daily\":\n handleDailySelection(date);\n break;\n case \"weekly\":\n handleWeeklySelection(date);\n break;\n case \"custom\":\n handleCustomSelection(date);\n break;\n default:\n console.warn(`Unhandled mode: ${mode}`);\n }\n\n if (instant && mode !== \"custom\" && forceClose) toggleCalendar();\n };\n\n const handleDailySelection = (date: Moment) => {\n if (!date.isSame(selected?.from)) {\n handleSelection({ from: date, to: date });\n } else if (!required) {\n handleSelection(undefined);\n }\n };\n\n const handleWeeklySelection = (date: Moment) => {\n const currentDayOfWeek = date.day();\n\n const daysToSubtract = (currentDayOfWeek - firstDayOfWeek + 7) % 7;\n\n const startOfWeek = date\n .clone()\n .subtract(daysToSubtract, \"days\")\n .startOf(\"day\");\n const endOfWeek = startOfWeek.clone().add(6, \"days\");\n\n if (!startOfWeek.isSame(selected?.from?.startOf(\"day\"))) {\n handleSelection({ from: startOfWeek, to: endOfWeek });\n } else if (!required) {\n handleSelection(undefined);\n }\n };\n\n const handleCustomSelection = (date: Moment) => {\n if (\n !selected ||\n selected?.from === moment.utc(Number(defaultSelected?.from) * 1000)\n ) {\n setSelected({ from: date.utc(), to: null });\n onChange && onChange({ from: date.utc().unix(), to: date.utc().unix() });\n return;\n }\n\n if (\n moment.isMoment(selected?.from) &&\n !selected?.to &&\n !selected?.from.isSame(date.utc(), \"day\")\n ) {\n const newSelection = selected?.from.isBefore(date)\n ? { from: selected.from, to: date.utc() }\n : { from: date.utc(), to: selected.from };\n setSelected(newSelection);\n onChange &&\n onChange({\n from: newSelection.from.utc().unix(),\n to: newSelection.to.utc().unix(),\n });\n } else if (\n moment.isMoment(selected?.from) &&\n moment.isMoment(selected?.to)\n ) {\n setSelected({ from: date.utc(), to: null });\n onChange && onChange({ from: date.utc().unix(), to: null });\n } else if (selected?.from.isSame(date.utc(), \"day\") && !required) {\n setSelected(null);\n onChange && onChange(undefined);\n }\n };\n\n const handleSave = () => {\n if (onSave) {\n toggleCalendar();\n if (mode === \"custom\" && !selected?.to) {\n setSelected({\n from: moment.utc(selected?.from),\n to: moment.utc(selected?.from),\n });\n }\n if (selected) {\n onSave({\n from: moment.utc(selected?.from).unix(),\n to: selected?.to\n ? moment.utc(selected?.to).unix()\n : moment.utc(selected?.from).unix(),\n });\n } else {\n if (!required) {\n onSave(undefined);\n setCurrentDate(moment.utc());\n setTargetDate(moment.utc());\n }\n }\n }\n };\n\n const handleMonthChange = useCallback(\n (direction: \"prev\" | \"next\") => {\n setMonthTransitionDirection(direction);\n if (isMonthSelectOpen) {\n setTargetDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"year\")\n : prevDate.clone().add(1, \"year\")\n );\n if (disableAnimations) {\n setCurrentDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"year\")\n : prevDate.clone().add(1, \"year\")\n );\n }\n } else {\n setTargetDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"month\")\n : prevDate.clone().add(1, \"month\")\n );\n if (disableAnimations) {\n setCurrentDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"month\")\n : prevDate.clone().add(1, \"month\")\n );\n }\n }\n },\n [disableAnimations, isMonthSelectOpen]\n );\n\n const onAnimationEnd = () => {\n if (targetDate) {\n setCurrentDate(targetDate);\n setMonthTransitionDirection(null);\n }\n };\n\n const handleYearSelect = (year: number) => {\n setCurrentDate(currentDate.clone().year(year));\n setTargetDate(currentDate.clone().year(year));\n setIsYearSelectOpen(false);\n setIsMonthSelectOpen(true);\n };\n\n const handleMonthSelect = (month: number) => {\n const newDate = currentDate.clone().utc().month(month);\n setCurrentDate(newDate);\n setTargetDate(newDate);\n\n if (mode === \"monthly\") {\n const range = {\n from: newDate.clone().startOf(\"month\"),\n to: newDate.clone().endOf(\"month\").startOf(\"day\"),\n };\n\n const isSameMonth =\n selected?.from.isSame(range.from, \"month\") &&\n selected?.to?.isSame(range.to, \"month\");\n\n if (isSameMonth) {\n if (!required) {\n handleSelection(undefined);\n if (instant && onSave) {\n setCurrentDate(moment.utc());\n setTargetDate(moment.utc());\n }\n }\n } else {\n handleSelection(range);\n }\n }\n\n if (mode === \"quarterly\") {\n const quarterRange = {\n from: newDate.clone().startOf(\"quarter\"),\n to: newDate.clone().endOf(\"quarter\").startOf(\"day\"),\n };\n\n const isSameQuarter =\n selected?.from.isSame(quarterRange.from, \"quarter\") &&\n selected?.to?.isSame(quarterRange.to, \"quarter\");\n\n if (isSameQuarter) {\n if (!required) {\n handleSelection(undefined);\n if (instant && onSave) {\n setCurrentDate(moment.utc());\n setTargetDate(moment.utc());\n }\n }\n } else {\n handleSelection(quarterRange);\n }\n }\n\n if (mode !== \"monthly\" && mode !== \"quarterly\") {\n setIsMonthSelectOpen(false);\n }\n if (instant && (mode === \"monthly\" || mode === \"quarterly\") && forceClose)\n toggleCalendar();\n };\n\n useEffect(() => {\n if (isYearSelectOpen && selectedYearRef.current) {\n selectedYearRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }\n }, [isYearSelectOpen]);\n\n const renderDaysOfWeek = () => {\n const daysOfWeek = moment.weekdaysShort();\n const orderedDays = [\n ...daysOfWeek.slice(firstDayOfWeek),\n ...daysOfWeek.slice(0, firstDayOfWeek),\n ];\n return orderedDays.map((day) => (\n <StyledDayName key={day}>{day[0]}</StyledDayName>\n ));\n };\n\n const animationClass = useMemo(() => {\n return monthTransitionDirection && !disableAnimations\n ? monthTransitionDirection === \"next\"\n ? \"slide-down\"\n : \"slide-up\"\n : \"\";\n }, [disableAnimations, monthTransitionDirection]);\n\n const handleDayClick = (day: Moment, modifiers: string[]) => {\n handleDateSelect(day);\n if (onDayClick) onDayClick(day, modifiers);\n };\n\n const getHoverRange = () => {\n if (!hoveredDate) return null;\n\n if (mode === \"quarterly\") {\n const startMonth = hoveredDate.clone().startOf(\"quarter\");\n const endMonth = hoveredDate.clone().endOf(\"quarter\");\n return { from: startMonth, to: endMonth };\n }\n\n if (mode === \"weekly\") {\n const currentDayOfWeek = hoveredDate.day();\n const daysToSubtract = (currentDayOfWeek - firstDayOfWeek + 7) % 7;\n const startOfWeek = hoveredDate\n .clone()\n .subtract(daysToSubtract, \"days\")\n .startOf(\"day\");\n const endOfWeek = startOfWeek.clone().add(6, \"days\");\n\n return { from: startOfWeek, to: endOfWeek };\n }\n\n if (mode === \"custom\" && selected?.from && !selected?.to) {\n const from = selected.from.isBefore(hoveredDate)\n ? selected.from\n : hoveredDate;\n const to = selected.from.isAfter(hoveredDate)\n ? selected.from\n : hoveredDate;\n return { from, to };\n }\n\n return null;\n };\n\n const renderCalendarDates = () => {\n const startOfMonth = currentDate.clone().startOf(\"month\");\n const startDate = startOfMonth.clone().isoWeekday(firstDayOfWeek);\n\n const endDate = startDate.clone().add(6, \"weeks\");\n const date = startDate.clone();\n const dates: React.JSX.Element[] = [];\n\n const hoverRange = getHoverRange();\n\n while (date.isBefore(endDate)) {\n const clonedDate = date.clone();\n const isToday = clonedDate.isSame(today, \"day\");\n const isSelected =\n selected &&\n (clonedDate.isBetween(selected.from, selected.to, \"day\", \"[]\") ||\n clonedDate.isSame(selected.from, \"day\") ||\n clonedDate.isSame(selected.to, \"day\"));\n\n const isHovered =\n hoverRange &&\n (mode === \"weekly\" || mode === \"custom\") &&\n clonedDate.isBetween(hoverRange.from, hoverRange.to, \"day\", \"[]\");\n\n const isDisabled =\n (disabledDaysBefore &&\n clonedDate.isBefore(disabledDaysBefore, \"day\")) ||\n (disabledDaysAfter && clonedDate.isAfter(disabledDaysAfter, \"day\")) ||\n disabledDays.includes(clonedDate.day());\n\n const modifierClasses: string[] = [];\n const modifierTitles: string[] = [];\n let titles;\n\n if (modifiers)\n Object.keys(modifiers || {}).forEach((modifier) => {\n const { matched, title } = modifiers[modifier](clonedDate.toDate());\n if (matched) {\n modifierClasses.push(modifier);\n if (title) modifierTitles.push(title);\n }\n });\n if (modifierTitles.length) {\n titles = (\n <div key={`title-wrapper-${clonedDate.toString()}`}>\n {modifierTitles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n }\n\n const isOutside = !clonedDate.isSame(currentDate, \"month\");\n\n dates.push(\n <Tooltip\n title={titles}\n disable={!modifierTitles.length}\n key={clonedDate.toString()}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n <StyledCalendarDate\n className={`${isSelected ? \"selected\" : \"\"} ${\n isToday ? \"today-day\" : \"\"\n }\n ${isDisabled ? \"disabled\" : \"\"} ${\n isHovered ? \"hovered\" : \"\"\n } ${modifierClasses.join(\" \")}\n ${isOutside ? \"outside\" : \"\"}`}\n onClick={() => handleDayClick(clonedDate, modifierClasses)}\n onMouseEnter={\n mode === \"weekly\" || mode === \"custom\"\n ? () => setHoveredDate(clonedDate)\n : undefined\n }\n onMouseLeave={\n mode === \"weekly\" || mode === \"custom\"\n ? () => setHoveredDate(null)\n : undefined\n }\n >\n {clonedDate.date()}\n </StyledCalendarDate>\n </Tooltip>\n );\n\n date.add(1, \"day\");\n }\n\n return dates;\n };\n\n const renderYearSelect = () => {\n const years = Array.from({ length: 200 }, (_, i) => 1900 + i);\n return (\n <StyledYearSelect>\n {years.map((year) => {\n const isSelected =\n selected &&\n ((selected?.to &&\n year >= selected.from.year() &&\n year <= selected.to.year()) ||\n year === selected.from.year() ||\n (selected?.to && year === selected.to.year()));\n\n const isDisabledYear =\n (disabledDaysBefore && year < disabledDaysBefore.year()) ||\n (disabledDaysAfter && year > disabledDaysAfter.year());\n\n return (\n <StyledYearOption\n key={year}\n ref={year === currentDate.year() ? selectedYearRef : null}\n className={`${isSelected ? \"selected\" : \"\"} ${\n year === today.year() ? \"today-year\" : \"\"\n } ${isDisabledYear ? \"disabled\" : \"\"}`}\n onClick={() => handleYearSelect(year)}\n >\n {year}\n </StyledYearOption>\n );\n })}\n </StyledYearSelect>\n );\n };\n\n const renderMonthSelect = () => {\n const months = moment.months();\n const hoverRange = getHoverRange();\n\n return (\n <StyledMonthSelect>\n {months.map((month, index) => {\n const monthDate = currentDate.clone().month(index);\n\n const isSelected =\n selected &&\n (monthDate.isBetween(selected.from, selected.to, \"month\", \"[]\") ||\n monthDate.isSame(selected.from, \"month\") ||\n monthDate.isSame(selected.to, \"month\"));\n\n const isDisabledMonth =\n (disabledDaysBefore &&\n monthDate.isBefore(disabledDaysBefore, \"month\")) ||\n (disabledDaysAfter &&\n monthDate.isAfter(disabledDaysAfter, \"month\"));\n\n const isHoveredQuarter =\n hoverRange &&\n mode === \"quarterly\" &&\n monthDate.isBetween(hoverRange.from, hoverRange.to, \"month\", \"[]\");\n\n return (\n <StyledMonthOption\n key={month}\n className={`${isSelected ? \"selected\" : \"\"} ${\n index === today.month() && currentDate.year() === today.year()\n ? \"today-month\"\n : \"\"\n } ${isDisabledMonth ? \"disabled\" : \"\"} ${\n isHoveredQuarter ? \"hovered\" : \"\"\n }`}\n onClick={() => handleMonthSelect(index)}\n onMouseEnter={\n mode === \"quarterly\"\n ? () => setHoveredDate(monthDate)\n : undefined\n }\n onMouseLeave={\n mode === \"quarterly\" ? () => setHoveredDate(null) : undefined\n }\n >\n {month.substring(0, 3)}\n </StyledMonthOption>\n );\n })}\n </StyledMonthSelect>\n );\n };\n\n const captionText = useMemo(() => {\n const isCurrentYear = currentDate.isSame(today, \"year\");\n\n return !isMonthSelectOpen && !isYearSelectOpen\n ? `${currentDate.format(\"MMMM\")}${\n isCurrentYear ? \"\" : ` ${currentDate.format(\"YYYY\")}`\n }`\n : currentDate.format(\"YYYY\");\n }, [currentDate, isMonthSelectOpen, isYearSelectOpen, today]);\n\n const handleClear = useCallback(() => {\n if (typeof onClear === \"function\") onClear();\n handleSelection(undefined);\n }, [handleSelection, onClear]);\n\n const handleClose = useCallback(() => {\n if (mode === \"custom\" && instant && selected) {\n setSelected({\n from: moment.utc(selected?.from),\n to: selected?.to\n ? moment.utc(selected?.to)\n : moment.utc(selected?.from),\n });\n }\n if (\n instant &&\n onSave &&\n mode === \"custom\" &&\n selected &&\n (!selected?.from.isSame(\n moment.utc(Number(defaultSelected?.from) * 1000)\n ) ||\n !selected?.to?.isSame(moment.utc(Number(defaultSelected?.to) * 1000)))\n ) {\n onSave({\n from: moment.utc(selected?.from).unix(),\n to: selected?.to\n ? moment.utc(selected?.to).unix()\n : moment.utc(selected?.from).unix(),\n });\n }\n if (mode === \"custom\" && instant && !selected && onSave) {\n onSave(undefined);\n }\n setCurrentDate(\n defaultSelected\n ? toMoment(defaultSelected.from)\n : month\n ? toMoment(month)\n : moment.utc()\n );\n setTargetDate(\n defaultSelected ? toMoment(defaultSelected.from) : toMoment(month)\n );\n setSelected(\n defaultSelected\n ? {\n from: toMoment(defaultSelected.from),\n to: toMoment(defaultSelected.to),\n }\n : null\n );\n toggleCalendar();\n setIsYearSelectOpen(false);\n setIsMonthSelectOpen(mode === \"monthly\" || mode === \"quarterly\");\n setMonthTransitionDirection(null);\n if (typeof onClose === \"function\") onClose();\n }, [\n defaultSelected,\n instant,\n mode,\n month,\n onClose,\n onSave,\n selected,\n toggleCalendar,\n ]);\n\n const handleBeforeClose = useCallback(() => {\n let shouldClose = true;\n if (!target || !enableConfirmModal || instant || required) {\n shouldClose = true;\n }\n if (\n target &&\n enableConfirmModal &&\n !instant &&\n !required &&\n ((selected && !defaultSelected) ||\n (!selected && defaultSelected) ||\n (selected?.from &&\n defaultSelected?.from &&\n !selected.from.isSame(toMoment(defaultSelected.from))) ||\n (selected?.to &&\n defaultSelected?.to &&\n !selected.to.isSame(toMoment(defaultSelected.to))))\n ) {\n shouldClose = false;\n setShowDiscardModal(true);\n }\n if (shouldClose) handleClose();\n return shouldClose;\n }, [\n defaultSelected,\n enableConfirmModal,\n handleClose,\n instant,\n required,\n selected,\n target,\n ]);\n\n const Wrapper = target ? Menu : \"div\";\n\n const handleCaptionClick = useCallback(() => {\n isMonthSelectOpen && !disableYearPicker\n ? toggleYearSelect()\n : toggleMonthSelect();\n }, [\n disableYearPicker,\n isMonthSelectOpen,\n toggleMonthSelect,\n toggleYearSelect,\n ]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleSaveDiscardModal = useCallback(() => {\n setSelected(\n defaultSelected?.from\n ? {\n from: toMoment(defaultSelected.from),\n to: toMoment(defaultSelected.to),\n }\n : null\n );\n setShowDiscardModal(false);\n handleClose();\n }, [defaultSelected, handleClose]);\n\n const wrapperProps = target\n ? {\n className: \"c-date-picker--calendar\",\n target,\n onBeforeClose: handleBeforeClose,\n onClose: handleClose,\n open: isOpen,\n onOpen: toggleCalendar,\n position,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n }\n : { className: \"c-date-picker--calendar\" };\n\n useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"ArrowRight\") {\n handleMonthChange(\"next\");\n } else if (event.key === \"ArrowLeft\") {\n handleMonthChange(\"prev\");\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [handleMonthChange]);\n\n return (\n <StyledDatePickerWrapper ref={datePickerRef}>\n <Wrapper {...wrapperProps}>\n <StyledDatePickerContainerInner>\n <StyledCalendarHeader>\n {isYearSelectOpen ? null : (\n <IconButton\n onClick={() => handleMonthChange(\"prev\")}\n variant=\"text gray\"\n size=\"small\"\n >\n <ArrowLeftIcon />\n </IconButton>\n )}\n <StyledCaption\n className={`${animationClass} ${\n isYearSelectOpen ? \"year-caption\" : \"\"\n }`}\n key={isMonthSelectOpen ? currentDate.year() : currentDate.month()}\n onClick={handleCaptionClick}\n onAnimationEnd={onAnimationEnd}\n >\n {captionText}\n </StyledCaption>\n {isYearSelectOpen ? null : (\n <IconButton\n onClick={() => handleMonthChange(\"next\")}\n variant=\"text gray\"\n size=\"small\"\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </StyledCalendarHeader>\n <StyledCalendarSelector>\n {isYearSelectOpen ? (\n renderYearSelect()\n ) : isMonthSelectOpen ? (\n <StyledMonthSelector\n className={animationClass}\n key={currentDate.year()}\n onAnimationEnd={onAnimationEnd}\n >\n {renderMonthSelect()}\n </StyledMonthSelector>\n ) : (\n <>\n <StyledDaysOfWeek>{renderDaysOfWeek()}</StyledDaysOfWeek>\n <StyledCalendarDates\n className={animationClass}\n key={currentDate.month()}\n >\n {renderCalendarDates()}\n </StyledCalendarDates>\n </>\n )}\n </StyledCalendarSelector>\n {(target || showControls) &&\n (!instant ? (\n <StyledControls>\n <StyledControlsLeft>\n <Button\n size=\"small\"\n variant=\"primary\"\n onClick={handleSave}\n disabled={\n (selected?.from.isSame(\n moment.utc(Number(defaultSelected?.from) * 1000)\n ) &&\n selected?.to?.isSame(\n moment.utc(Number(defaultSelected?.to) * 1000)\n )) ||\n (!defaultSelected && !selected)\n }\n >\n {saveLabel}\n </Button>\n <Tooltip\n title={cancelLabel}\n popperTooltipStyle={{ zIndex: 1301 }}\n >\n <IconButton\n size=\"small\"\n variant=\"text gray\"\n onClick={handleBeforeClose}\n >\n <CancelCrossIcon />\n </IconButton>\n </Tooltip>\n </StyledControlsLeft>\n {!required ? (\n <Button\n size=\"small\"\n onClick={handleClear}\n variant=\"text gray\"\n >\n {clearLabel}\n </Button>\n ) : null}\n </StyledControls>\n ) : !required ? (\n <StyledControls>\n <StyledClearInstantButton\n size=\"small\"\n onClick={handleClear}\n variant=\"text gray\"\n >\n {clearLabel}\n </StyledClearInstantButton>\n </StyledControls>\n ) : null)}\n </StyledDatePickerContainerInner>\n </Wrapper>\n {!instant && target && !required && enableConfirmModal ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledDatePickerWrapper>\n );\n};\n"],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.SelectDateV2 = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
-
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
10
9
|
var _SelectDateTarget = require("./SelectDateTarget");
|
|
11
10
|
var _Styles = require("./Styles");
|
|
12
11
|
var _dateUtils = require("../../utils/dateUtils");
|
|
@@ -90,9 +89,9 @@ var SelectDateV2 = exports.SelectDateV2 = function SelectDateV2(_ref) {
|
|
|
90
89
|
if (!selectedDays) {
|
|
91
90
|
return defaultLabelText;
|
|
92
91
|
} else {
|
|
93
|
-
var formattedEndDate = (0, _dateUtils.formatDate)(
|
|
94
|
-
var formattedStartDate = (0, _dateUtils.formatDate)(
|
|
95
|
-
if (
|
|
92
|
+
var formattedEndDate = (0, _dateUtils.formatDate)((0, _DatePickerV.toMoment)(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.to), dateFormat, longDateFormat);
|
|
93
|
+
var formattedStartDate = (0, _dateUtils.formatDate)((0, _DatePickerV.toMoment)(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.from), dateFormat, longDateFormat);
|
|
94
|
+
if ((0, _DatePickerV.toMoment)(selectedDays.from).isSame((0, _DatePickerV.toMoment)(selectedDays.to))) {
|
|
96
95
|
return formattedEndDate;
|
|
97
96
|
}
|
|
98
97
|
return "".concat(formattedStartDate, " - ").concat(formattedEndDate);
|