@activecollab/components 2.0.156 → 2.0.157

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerV2.js","names":["React","useState","useRef","useEffect","useCallback","useMemo","moment","StyledCalendarDate","StyledCalendarDates","StyledCalendarHeader","StyledCalendarSelector","StyledCaption","StyledClearInstantButton","StyledConfirmDialog","StyledControls","StyledControlsLeft","StyledDatePickerContainerInner","StyledDatePickerWrapper","StyledDayName","StyledDaysOfWeek","StyledMonthOption","StyledMonthSelect","StyledMonthSelector","StyledYearOption","StyledYearSelect","Button","IconButton","ArrowLeftIcon","ArrowRightIcon","CancelCrossIcon","Menu","Tooltip","toMoment","date","isMoment","utc","undefined","DatePickerV2","_ref","_selected$to4","selected","defaultSelected","onChange","onSave","onClear","onClose","instant","target","mode","saveLabel","cancelLabel","clearLabel","disabledDaysBefore","disabledDaysAfter","disabled","disabledDays","modifiers","disableAnimations","firstDayOfWeek","forceClose","required","month","disableYearPicker","position","menuClassName","popperClassName","enableConfirmModal","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","backgroundElementClass","popperTooltipClassName","popperTooltipStyle","open","onCalendarToggle","onDayClick","showControls","isOpen","setIsOpen","isYearSelectOpen","setIsYearSelectOpen","showDiscardModal","setShowDiscardModal","isMonthSelectOpen","setIsMonthSelectOpen","monthTransitionDirection","setMonthTransitionDirection","currentDate","setCurrentDate","from","targetDate","setTargetDate","setSelected","to","hoveredDate","setHoveredDate","timezone","defaultZone","name","tz","guess","currentDateInTimezone","format","today","selectedYearRef","datePickerRef","handleSelection","range","unix","toggleCalendar","toggleYearSelect","toggleMonthSelect","handleDateSelect","isSameMonth","isSame","direction","isBefore","handleDailySelection","handleWeeklySelection","handleCustomSelection","console","warn","_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","slice","map","createElement","key","animationClass","handleDayClick","getHoverRange","startMonth","endMonth","isAfter","renderCalendarDates","startOfMonth","startDate","isoWeekday","endDate","dates","hoverRange","clonedDate","isToday","isSelected","isBetween","isHovered","isDisabled","includes","modifierClasses","modifierTitles","titles","Object","keys","forEach","modifier","matched","title","toDate","push","length","toString","index","isOutside","disable","className","join","onClick","onMouseEnter","onMouseLeave","renderYearSelect","years","Array","_","i","isDisabledYear","ref","renderMonthSelect","months","monthDate","isDisabledMonth","isHoveredQuarter","substring","captionText","isCurrentYear","handleClear","handleClose","_selected$to3","handleBeforeClose","shouldClose","Wrapper","handleCaptionClick","handleCloseDiscardModal","handleSaveDiscardModal","wrapperProps","onBeforeClose","onOpen","handleKeyDown","event","window","addEventListener","removeEventListener","variant","size","Fragment","zIndex","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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"}
1
+ {"version":3,"file":"DatePickerV2.js","names":["React","useState","useRef","useEffect","useCallback","useMemo","moment","StyledCalendarDate","StyledCalendarDates","StyledCalendarHeader","StyledCalendarSelector","StyledCaption","StyledClearInstantButton","StyledConfirmDialog","StyledControls","StyledControlsLeft","StyledDatePickerContainerInner","StyledDatePickerWrapper","StyledDayName","StyledDaysOfWeek","StyledMonthOption","StyledMonthSelect","StyledMonthSelector","StyledYearOption","StyledYearSelect","Button","IconButton","ArrowLeftIcon","ArrowRightIcon","CancelCrossIcon","Menu","Tooltip","toMoment","date","isMoment","utc","DatePickerV2","_ref","selected","defaultSelected","onChange","onSave","onClear","onClose","instant","target","mode","saveLabel","cancelLabel","clearLabel","disabledDaysBefore","disabledDaysAfter","disabled","disabledDays","modifiers","disableAnimations","firstDayOfWeek","forceClose","required","month","disableYearPicker","position","menuClassName","popperClassName","enableConfirmModal","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","backgroundElementClass","popperTooltipClassName","popperTooltipStyle","open","onCalendarToggle","onDayClick","showControls","isOpen","setIsOpen","isYearSelectOpen","setIsYearSelectOpen","showDiscardModal","setShowDiscardModal","isMonthSelectOpen","setIsMonthSelectOpen","monthTransitionDirection","setMonthTransitionDirection","currentDate","setCurrentDate","from","targetDate","setTargetDate","setSelected","to","hoveredDate","setHoveredDate","timezone","defaultZone","name","tz","guess","currentDateInTimezone","format","today","selectedYearRef","datePickerRef","handleSelection","range","undefined","unix","toggleCalendar","toggleYearSelect","toggleMonthSelect","handleDateSelect","isSameMonth","isSame","direction","isBefore","handleDailySelection","handleWeeklySelection","handleCustomSelection","console","warn","_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","slice","map","createElement","key","animationClass","handleDayClick","getHoverRange","startMonth","endMonth","isAfter","renderCalendarDates","startOfMonth","startDate","isoWeekday","endDate","dates","hoverRange","clonedDate","isToday","isSelected","isBetween","isHovered","isDisabled","includes","modifierClasses","modifierTitles","titles","Object","keys","forEach","modifier","matched","title","toDate","push","length","toString","index","isOutside","disable","className","join","onClick","onMouseEnter","onMouseLeave","renderYearSelect","years","Array","_","i","isDisabledYear","ref","renderMonthSelect","months","monthDate","isDisabledMonth","isHoveredQuarter","substring","captionText","isCurrentYear","handleClear","handleClose","_selected$to3","handleBeforeClose","shouldClose","Wrapper","handleCaptionClick","handleCloseDiscardModal","handleSaveDiscardModal","wrapperProps","onBeforeClose","onOpen","handleKeyDown","event","window","addEventListener","removeEventListener","saveIsDisabled","variant","size","Fragment","zIndex","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 | null;\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) => {\n if (moment.isMoment(date)) {\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 null;\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 && defaultSelected.from) {\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 | undefined>(() => {\n if (defaultSelected && defaultSelected.from) {\n return toMoment(defaultSelected.from);\n } else if (month) {\n return toMoment(month);\n }\n return moment.utc();\n });\n\n const [selected, setSelected] = useState<DateRange | null>(() => {\n if (!defaultSelected) {\n return null;\n }\n if (!defaultSelected.from) {\n return null;\n }\n return {\n from: toMoment(defaultSelected.from),\n to: defaultSelected.to ? toMoment(defaultSelected.to) : null,\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 && defaultSelected.from) {\n setSelected({\n from: toMoment(defaultSelected.from),\n to: defaultSelected.to ? toMoment(defaultSelected.to) : null,\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 (\n moment.isMoment(selected?.from) &&\n selected?.from.isSame(date.utc(), \"day\") &&\n !required\n ) {\n setSelected(null);\n onChange && onChange(undefined);\n } else if (selected.from === null && selected.to === null) {\n setSelected({ from: date.utc(), to: null });\n onChange && onChange({ from: date.utc().unix(), to: date.utc().unix() });\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 if (prevDate) {\n return direction === \"prev\"\n ? prevDate.clone().subtract(1, \"year\")\n : prevDate.clone().add(1, \"year\");\n }\n return prevDate;\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 if (prevDate) {\n return direction === \"prev\"\n ? prevDate.clone().subtract(1, \"month\")\n : prevDate.clone().add(1, \"month\");\n }\n return prevDate;\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 ? toMoment(defaultSelected.from)\n : month\n ? toMoment(month)\n : moment.utc()\n );\n setTargetDate(\n defaultSelected?.from\n ? toMoment(defaultSelected.from)\n : month\n ? toMoment(month)\n : moment.utc()\n );\n setSelected(\n defaultSelected?.from\n ? {\n from: toMoment(defaultSelected.from),\n to: defaultSelected.to ? toMoment(defaultSelected.to) : null,\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: defaultSelected.to ? toMoment(defaultSelected.to) : null,\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 if (isOpen) {\n window.addEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [isOpen, handleMonthChange]);\n\n const saveIsDisabled = () => {\n if (!defaultSelected && !selected) {\n return true;\n }\n if (\n defaultSelected &&\n selected &&\n defaultSelected.from &&\n selected.from.isSame(toMoment(defaultSelected.from)) &&\n defaultSelected.to &&\n selected.to &&\n selected.to.isSame(toMoment(defaultSelected.to))\n ) {\n return true;\n }\n return false;\n };\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={saveIsDisabled()}\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 +1 @@
1
- {"version":3,"file":"SelectDateV2.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectDateV2.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,WAAW,EAAE,EAAE,EAAW,aAAa,EAAE,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EACL,UAAU,EAEV,kBAAkB,EAEnB,MAAM,4BAA4B,CAAC;AAoBpC,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AACpD,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,qEAAqE;IACrE,OAAO,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAClD,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gCAAgC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iCAAiC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxD,kCAAkC;IAClC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,+BAA+B;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,gBAAgB;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4BAA4B;IAC5B,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6FAA6F;IAC7F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB;IACrB,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,iCAAiC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,aAAa,CA2O1C,CAAC"}
@@ -60,10 +60,12 @@ export const SelectDateV2 = _ref => {
60
60
  const labelText = useMemo(() => {
61
61
  if (!selectedDays) {
62
62
  return defaultLabelText;
63
+ } else if (!selectedDays.from && !selectedDays.to) {
64
+ return defaultLabelText;
63
65
  } else {
64
- const formattedEndDate = formatDate(toMoment(selectedDays == null ? void 0 : selectedDays.to), dateFormat, longDateFormat);
65
- const formattedStartDate = formatDate(toMoment(selectedDays == null ? void 0 : selectedDays.from), dateFormat, longDateFormat);
66
- if (toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))) {
66
+ const formattedEndDate = selectedDays.to ? formatDate(toMoment(selectedDays.to), dateFormat, longDateFormat) : "";
67
+ const formattedStartDate = selectedDays.from ? formatDate(toMoment(selectedDays == null ? void 0 : selectedDays.from), dateFormat, longDateFormat) : "";
68
+ if (selectedDays.to && selectedDays.from && toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))) {
67
69
  return formattedEndDate;
68
70
  }
69
71
  return formattedStartDate + " - " + formattedEndDate;
@@ -188,7 +190,8 @@ export const SelectDateV2 = _ref => {
188
190
  onDayClick: onDayClick,
189
191
  disableYearPicker: !enableYearPicker,
190
192
  disableAnimations: disableAnimations,
191
- showControls: true
193
+ showControls: true,
194
+ open: true
192
195
  }));
193
196
  };
194
197
  SelectDateV2.displayName = "SelectDateV2";
@@ -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","labelText","formattedEndDate","formattedStartDate","isSame","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","className","target","month","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","onChange","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 in atomic mode */\n onSave?: (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 is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Array of nonworking week days */\n nonWorkingDaysOfWeek?: number[];\n /** Nonworking week days label */\n nonWorkingDaysOfWeekLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Moment;\n /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\n}\n\nexport const SelectDateV2: FC<ISelectDateV2> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n nonWorkingDaysOfWeek = [],\n nonWorkingDaysOfWeekLabel = \"Unavailable\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n enableYearPicker,\n disableAnimations,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const formattedEndDate = formatDate(\n toMoment(selectedDays?.to),\n dateFormat,\n longDateFormat\n );\n const formattedStartDate = formatDate(\n toMoment(selectedDays?.from),\n dateFormat,\n longDateFormat\n );\n\n if (toMoment(selectedDays.from).isSame(toMoment(selectedDays.to))) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n userAvailability: (day: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Date) => {\n const isWeekend = weekends.includes(day.getDay());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Date) => {\n if (weekends.includes(day.getDay())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Date) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n nonWorkingDaysOfWeekLabel,\n weekendLabel,\n weekends,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <DatePickerV2\n target={renderTargetEl}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n onSave={onSave}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n open={defaultShowDatePicker}\n onCalendarToggle={onToggleDatePicker}\n onDayClick={onDayClick}\n enableConfirmModal={mode === \"atomic\" && !dateRequired}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n ) : (\n <DatePickerV2\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n disabledDaysBefore={disableDaysBefore}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n onSave={onSave}\n onChange={onSave}\n modifiers={modifiers}\n onDayClick={onDayClick}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n )}\n </StyledSelectDate>\n );\n};\n\nSelectDateV2.displayName = \"SelectDateV2\";\n"],"mappings":"AAAA,OAAOA,KAAK,IAAqBC,OAAO,QAAuB,OAAO;AAGtE,OAAOC,UAAU,MAAM,YAAY;AAGnC,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,gBAAgB,EAAEC,sBAAsB,QAAQ,UAAU;AAEnE,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAEEC,YAAY,EAEZC,QAAQ,QACH,4BAA4B;AAEnC,MAAMC,YAAY,GAAGA,CAACC,GAAS,EAAEC,IAAkB,KAAc;EAC/D,IAAIA,IAAI,CAACC,SAAS,EAAE;IAClB,MAAMC,IAAI,GAAG,IAAIC,IAAI,CACnBJ,GAAG,CAACK,WAAW,CAAC,CAAC,EACjBJ,IAAI,CAACE,IAAI,CAACG,QAAQ,CAAC,CAAC,EACpBL,IAAI,CAACE,IAAI,CAACI,OAAO,CAAC,CACpB,CAAC;IACD,MAAMC,EAAE,GAAG,IAAIJ,IAAI,CACjBJ,GAAG,CAACK,WAAW,CAAC,CAAC,EACjBJ,IAAI,CAACO,EAAE,CAACF,QAAQ,CAAC,CAAC,EAClBL,IAAI,CAACO,EAAE,CAACD,OAAO,CAAC,CAClB,CAAC;IACD,OAAOP,GAAG,IAAIG,IAAI,IAAIH,GAAG,IAAIQ,EAAE;EACjC;EAEA,OAAOR,GAAG,IAAIC,IAAI,CAACE,IAAI,IAAIH,GAAG,IAAIC,IAAI,CAACO,EAAE;AAC3C,CAAC;AAgGD,OAAO,MAAMC,YAA+B,GAAGC,IAAA,IA2CzC;EAAA,IA3C0C;IAC9CC,UAAU,EAAEC,IAAI,GAAG,SAAS;IAC5BC,OAAO,EAAEC,SAAS,GAAG,MAAM;IAC3BC,cAAc,GAAG,MAAM;IACvBC,gBAAgB,GAAG,QAAQ;IAC3BC,eAAe,GAAG,OAAO;IACzBC,eAAe,GAAG,kBAAkB;IACpCC,mBAAmB,GAAG,mCAAmC;IACzDC,mBAAmB,GAAG,IAAI;IAC1BC,kBAAkB,GAAG,QAAQ;IAC7BC,UAAU;IACVC,MAAM;IACNC,QAAQ;IACRC,kBAAkB;IAClBC,QAAQ,EAAEC,YAAY,GAAG,KAAK;IAC9BC,cAAc,GAAG,KAAK;IACtBC,qBAAqB,GAAG,KAAK;IAC7BC,cAAc,GAAG,CAAC;IAClBC,YAAY;IACZC,aAAa,GAAG,QAAQ;IACxBC,aAAa;IACbC,eAAe;IACfC,IAAI;IACJC,gBAAgB,GAAG,QAAQ;IAC3BC,mBAAmB;IACnBC,mBAAmB;IACnBC,sBAAsB;IACtBC,UAAU;IACVC,YAAY;IACZC,YAAY,GAAG,EAAE;IACjBC,QAAQ,GAAG,EAAE;IACbC,YAAY,GAAG,SAAS;IACxBC,oBAAoB,GAAG,EAAE;IACzBC,yBAAyB,GAAG,aAAa;IACzCC,mBAAmB,GAAG,KAAK;IAC3BC,WAAW;IACXC,sBAAsB;IACtBC,eAAe;IACfC,kBAAkB;IAClBC,QAAQ;IACRC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAAC,GAAA7C,IAAA;EACC,MAAM8C,SAAS,GAAGjE,OAAO,CAAC,MAAM;IAC9B,IAAI,CAACwC,YAAY,EAAE;MACjB,OAAOK,gBAAgB;IACzB,CAAC,MAAM;MACL,MAAMqB,gBAAgB,GAAG7D,UAAU,CACjCE,QAAQ,CAACiC,YAAY,oBAAZA,YAAY,CAAEvB,EAAE,CAAC,EAC1BgC,UAAU,EACVZ,cACF,CAAC;MACD,MAAM8B,kBAAkB,GAAG9D,UAAU,CACnCE,QAAQ,CAACiC,YAAY,oBAAZA,YAAY,CAAE5B,IAAI,CAAC,EAC5BqC,UAAU,EACVZ,cACF,CAAC;MAED,IAAI9B,QAAQ,CAACiC,YAAY,CAAC5B,IAAI,CAAC,CAACwD,MAAM,CAAC7D,QAAQ,CAACiC,YAAY,CAACvB,EAAE,CAAC,CAAC,EAAE;QACjE,OAAOiD,gBAAgB;MACzB;MAEA,OAAUC,kBAAkB,WAAMD,gBAAgB;IACpD;EACF,CAAC,EAAE,CAAC1B,YAAY,EAAES,UAAU,EAAEJ,gBAAgB,EAAER,cAAc,CAAC,CAAC;EAEhE,MAAMgC,SAAS,GAAGrE,OAAO,CAAC,MAAM;IAC9B,MAAMsE,kBAAkB,GAAGnB,YAAY,CAACoB,MAAM,CAC3C7D,IAAI,IAAKA,IAAI,CAAC8D,IAAI,KAAK,cAC1B,CAAC;IACD,MAAMC,aAAa,GAAGtB,YAAY,CAACoB,MAAM,CACtC7D,IAAI,IAAKA,IAAI,CAAC8D,IAAI,KAAK,gBAC1B,CAAC;IACD,MAAME,uBAAuB,GAAGvB,YAAY,CAACoB,MAAM,CAChD7D,IAAI,IAAKA,IAAI,CAAC8D,IAAI,KAAK,2BAC1B,CAAC;IAED,OAAO;MACLG,gBAAgB,EAAGlE,GAAS,IAAK;QAC/B,MAAMmE,UAAU,GAAG,IAAI/D,IAAI,CACzBJ,GAAG,CAACK,WAAW,CAAC,CAAC,EACjBL,GAAG,CAACM,QAAQ,CAAC,CAAC,EACdN,GAAG,CAACO,OAAO,CAAC,CACd,CAAC;QACD,MAAM6D,WAAW,GAAGP,kBAAkB,CAACQ,IAAI,CAAEpE,IAAI,IAC/CF,YAAY,CAACoE,UAAU,EAAElE,IAAI,CAC/B,CAAC;QACD,OAAO;UACLqE,OAAO,EAAE,CAAC,CAACF,WAAW;UACtBG,KAAK,EAAEH,WAAW,GAAGA,WAAW,CAACG,KAAK,GAAG;QAC3C,CAAC;MACH,CAAC;MACDC,OAAO,EAAGxE,GAAS,IAAK;QACtB,MAAMyE,SAAS,GAAG9B,QAAQ,CAAC+B,QAAQ,CAAC1E,GAAG,CAAC2E,MAAM,CAAC,CAAC,CAAC;QACjD,OAAO;UACLL,OAAO,EAAEG,SAAS;UAClBF,KAAK,EAAEE,SAAS,GAAG7B,YAAY,GAAG;QACpC,CAAC;MACH,CAAC;MACDgC,aAAa,EAAG5E,GAAS,IAAK;QAC5B,IAAI2C,QAAQ,CAAC+B,QAAQ,CAAC1E,GAAG,CAAC2E,MAAM,CAAC,CAAC,CAAC,EAAE;UACnC,OAAO;YAAEL,OAAO,EAAE,IAAI;YAAEC,KAAK,EAAE;UAAG,CAAC;QACrC;QACA,MAAMM,cAAc,GAAG,CAAC,GAAGZ,uBAAuB,EAAE,GAAGD,aAAa,CAAC;QACrE,MAAMG,UAAU,GAAG,IAAI/D,IAAI,CACzBJ,GAAG,CAACK,WAAW,CAAC,CAAC,EACjBL,GAAG,CAACM,QAAQ,CAAC,CAAC,EACdN,GAAG,CAACO,OAAO,CAAC,CACd,CAAC;QACD,MAAM6D,WAAW,GAAGS,cAAc,CAACR,IAAI,CAAEpE,IAAI,IAC3CF,YAAY,CAACoE,UAAU,EAAElE,IAAI,CAC/B,CAAC;QACD,OAAO;UACLqE,OAAO,EAAE,CAAC,CAACF,WAAW;UACtBG,KAAK,EAAEH,WAAW,GAAGA,WAAW,CAACG,KAAK,GAAG;QAC3C,CAAC;MACH,CAAC;MACD1B,oBAAoB,EAAG7C,GAAS,IAAK;QACnC,MAAM8E,eAAe,GAAGjC,oBAAoB,CAAC6B,QAAQ,CAAC1E,GAAG,CAAC2E,MAAM,CAAC,CAAC,CAAC;QACnE,OAAO;UACLL,OAAO,EAAEQ,eAAe;UACxBP,KAAK,EAAEO,eAAe,GAAGhC,yBAAyB,GAAG;QACvD,CAAC;MACH;IACF,CAAC;EACH,CAAC,EAAE,CACDJ,YAAY,EACZG,oBAAoB,EACpBC,yBAAyB,EACzBF,YAAY,EACZD,QAAQ,CACT,CAAC;EAEF,MAAMoC,cAAc,GAAGxF,OAAO,CAAC,MAAM;IACnC,IAAIuB,SAAS,KAAK,MAAM,IAAIqB,IAAI,EAAE;MAChC,oBACE7C,KAAA,CAAA0F,aAAA,CAACvF,gBAAgB;QACf0C,IAAI,EAAEA,IAAK;QACXoC,KAAK,EAAEvB,WAAY;QACnBV,mBAAmB,EAAEA,mBAAoB;QACzCW,sBAAsB,EAAEA,sBAAuB;QAC/CE,kBAAkB,EAAEA;MAAmB,CACxC,CAAC;IAEN;IACA,IAAI,OAAOrC,SAAS,KAAK,UAAU,EAAE;MACnC,OAAOA,SAAS,CAAC0C,SAAS,CAAC;IAC7B;IACA,oBACElE,KAAA,CAAA0F,aAAA,CAACrF,sBAAsB;MACrBoE,IAAI,EAAC,QAAQ;MACbkB,SAAS,EAAEzF,UAAU,CAAC,oBAAoB,EAAE0C,eAAe;IAAE,gBAE7D5C,KAAA,CAAA0F,aAAA;MAAMC,SAAS,EAAE5C;IAAoB,GAAEmB,SAAgB,CACjC,CAAC;EAE7B,CAAC,EAAE,CACDrB,IAAI,EACJqB,SAAS,EACT1C,SAAS,EACTmC,sBAAsB,EACtBE,kBAAkB,EAClBjB,eAAe,EACfI,mBAAmB,EACnBD,mBAAmB,EACnBW,WAAW,CACZ,CAAC;EAEF,oBACE1D,KAAA,CAAA0F,aAAA,CAACtF,gBAAgB;IAACuF,SAAS,EAAC;EAAa,GACtCnE,SAAS,KAAK,QAAQ,gBACrBxB,KAAA,CAAA0F,aAAA,CAACnF,YAAY;IACXqF,MAAM,EAAEH,cAAe;IACvB3B,QAAQ,EAAEA,QAAS;IACnBnB,aAAa,EAAEA,aAAc;IAC7BiB,eAAe,EAAEA,eAAgB;IACjCiC,KAAK,EAAE1C,YAAa;IACpB2C,OAAO,EAAExE,IAAI,KAAK,SAAU;IAC5BA,IAAI,EAAEoB,aAAc;IACpBN,QAAQ,EAAEC,YAAa;IACvB0D,QAAQ,EAAEtD,YAAa;IACvBD,cAAc,EAAEA,cAAe;IAC/BwD,SAAS,EAAEvE,cAAe;IAC1BwE,WAAW,EAAEvE,gBAAiB;IAC9BwE,UAAU,EAAEvE,eAAgB;IAC5BM,MAAM,EAAEA,MAAO;IACfkE,OAAO,EAAEjE,QAAS;IAClBoC,SAAS,EAAEA,SAAU;IACrB1C,eAAe,EAAEA,eAAgB;IACjCC,mBAAmB,EAAEA,mBAAoB;IACzCC,mBAAmB,EAAEA,mBAAoB;IACzCC,kBAAkB,EAAEA,kBAAmB;IACvCqE,kBAAkB,EAAErC,iBAAkB;IACtCd,sBAAsB,EAAEA,sBAAuB;IAC/CoD,QAAQ,EAAE5C,mBAAmB,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE;IAC5CE,sBAAsB,EAAEA,sBAAuB;IAC/CE,kBAAkB,EAAEA,kBAAmB;IACvCyC,IAAI,EAAE/D,qBAAsB;IAC5BgE,gBAAgB,EAAEpE,kBAAmB;IACrCH,UAAU,EAAEA,UAAW;IACvBwE,kBAAkB,EAAElF,IAAI,KAAK,QAAQ,IAAI,CAACe,YAAa;IACvDoE,iBAAiB,EAAE,CAACzC,gBAAiB;IACrCC,iBAAiB,EAAEA,iBAAkB;IACrCyC,YAAY;EAAA,CACb,CAAC,gBAEF1G,KAAA,CAAA0F,aAAA,CAACnF,YAAY;IACXsF,KAAK,EAAE1C,YAAa;IACpB2C,OAAO,EAAExE,IAAI,KAAK,SAAU;IAC5BA,IAAI,EAAEoB,aAAc;IACpBN,QAAQ,EAAEC,YAAa;IACvB0D,QAAQ,EAAEtD,YAAa;IACvBD,cAAc,EAAEA,cAAe;IAC/BwD,SAAS,EAAEvE,cAAe;IAC1BwE,WAAW,EAAEvE,gBAAiB;IAC9BwE,UAAU,EAAEvE,eAAgB;IAC5ByE,kBAAkB,EAAErC,iBAAkB;IACtCJ,sBAAsB,EAAEA,sBAAuB;IAC/CE,kBAAkB,EAAEA,kBAAmB;IACvCwC,QAAQ,EAAE5C,mBAAmB,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE;IAC5CxB,MAAM,EAAEA,MAAO;IACf0E,QAAQ,EAAE1E,MAAO;IACjBqC,SAAS,EAAEA,SAAU;IACrBtC,UAAU,EAAEA,UAAW;IACvByE,iBAAiB,EAAE,CAACzC,gBAAiB;IACrCC,iBAAiB,EAAEA,iBAAkB;IACrCyC,YAAY;EAAA,CACb,CAEa,CAAC;AAEvB,CAAC;AAEDvF,YAAY,CAACyF,WAAW,GAAG,cAAc"}
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","labelText","formattedEndDate","formattedStartDate","isSame","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","matchedData","find","matched","title","weekend","isWeekend","includes","getDay","nonWorkingDay","nonWorkingDays","isNonWorkingDay","renderTargetEl","createElement","className","target","month","instant","selected","saveLabel","cancelLabel","clearLabel","onClose","disabledDaysBefore","disabled","open","onCalendarToggle","enableConfirmModal","disableYearPicker","showControls","onChange","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 in atomic mode */\n onSave?: (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 is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Array of nonworking week days */\n nonWorkingDaysOfWeek?: number[];\n /** Nonworking week days label */\n nonWorkingDaysOfWeekLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Moment;\n /** Enable year selector */\n enableYearPicker?: boolean;\n /** Disable aniamtions */\n disableAnimations?: boolean;\n}\n\nexport const SelectDateV2: FC<ISelectDateV2> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat,\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n nonWorkingDaysOfWeek = [],\n nonWorkingDaysOfWeekLabel = \"Unavailable\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n enableYearPicker,\n disableAnimations,\n}) => {\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else 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 return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n userAvailability: (day: Date) => {\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = userAvailabilities.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n weekend: (day: Date) => {\n const isWeekend = weekends.includes(day.getDay());\n return {\n matched: isWeekend,\n title: isWeekend ? weekendLabel : null,\n };\n },\n nonWorkingDay: (day: Date) => {\n if (weekends.includes(day.getDay())) {\n return { matched: true, title: \"\" };\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n const matchedData = nonWorkingDays.find((data) =>\n isDayInRange(currentDay, data)\n );\n return {\n matched: !!matchedData,\n title: matchedData ? matchedData.title : null,\n };\n },\n nonWorkingDaysOfWeek: (day: Date) => {\n const isNonWorkingDay = nonWorkingDaysOfWeek.includes(day.getDay());\n return {\n matched: isNonWorkingDay,\n title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null,\n };\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n nonWorkingDaysOfWeekLabel,\n weekendLabel,\n weekends,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <DatePickerV2\n target={renderTargetEl}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n onSave={onSave}\n onClose={onCancel}\n modifiers={modifiers}\n modalHeaderText={modalHeaderText}\n modalDiscardMessage={modalDiscardMessage}\n modalDiscardBtnText={modalDiscardBtnText}\n modalCancelBtnText={modalCancelBtnText}\n disabledDaysBefore={disableDaysBefore}\n backgroundElementClass={backgroundElementClass}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n open={defaultShowDatePicker}\n onCalendarToggle={onToggleDatePicker}\n onDayClick={onDayClick}\n enableConfirmModal={mode === \"atomic\" && !dateRequired}\n disableYearPicker={!enableYearPicker}\n disableAnimations={disableAnimations}\n showControls\n />\n ) : (\n <DatePickerV2\n month={defaultMonth}\n instant={mode === \"instant\"}\n mode={selectionMode}\n required={dateRequired}\n selected={selectedDays}\n firstDayOfWeek={firstDayOfWeek}\n saveLabel={saveButtonText}\n cancelLabel={cancelButtonText}\n clearLabel={clearButtonText}\n disabledDaysBefore={disableDaysBefore}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n disabled={weekendIsSelectable ? [] : [0, 6]}\n onSave={onSave}\n onChange={onSave}\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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"}