@activecollab/components 2.0.202 → 2.0.204
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/DatePicker/DatePickerV2.js +1 -1
- package/dist/cjs/components/DatePicker/DatePickerV2.js.map +1 -1
- package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
- package/dist/cjs/components/SelectDate/SelectDateV2.js +24 -15
- package/dist/cjs/components/SelectDate/SelectDateV2.js.map +1 -1
- package/dist/cjs/components/SelectDate/types.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.js +1 -1
- package/dist/esm/components/DatePicker/DatePickerV2.js.map +1 -1
- package/dist/esm/components/SelectDate/SelectDate.d.ts +2 -2
- package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/SelectDateV2.js +24 -15
- package/dist/esm/components/SelectDate/SelectDateV2.js.map +1 -1
- package/dist/esm/components/SelectDate/types.d.ts +7 -0
- package/dist/esm/components/SelectDate/types.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/types.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js.map +1 -1
- package/dist/index.js +25 -17
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +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","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","some","mod","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","active","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\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: range?.to ? moment(range.to).utc().unix() : null,\n });\n if (instant && onSave) {\n onSave({\n from: range.from.utc().unix(),\n to: range?.to ? moment(range.to).utc().unix() : null,\n });\n }\n }\n },\n [onChange, onSave, instant]\n );\n\n const toggleCalendar = useCallback(() => {\n if (target) {\n setIsOpen(!isOpen);\n if (onCalendarToggle) onCalendarToggle(!isOpen);\n }\n }, [isOpen, onCalendarToggle, target]);\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 handleSelection({ from: date, to: null });\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 handleSelection({\n from: newSelection.from,\n to: newSelection.to,\n });\n } else if (\n moment.isMoment(selected?.from) &&\n moment.isMoment(selected?.to)\n ) {\n setSelected({ from: date, to: null });\n handleSelection({ from: date, to: null });\n } else if (\n moment.isMoment(selected?.from) &&\n selected?.from.isSame(date.utc(), \"day\") &&\n !required\n ) {\n setSelected(null);\n handleSelection(undefined);\n } else if (selected.from === null && selected.to === null) {\n setSelected({ from: date.utc(), to: null });\n handleSelection({ from: date, to: date });\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 if (modifiers.some((mod) => mod === \"day_disabled\")) {\n return;\n }\n if (onDayClick) onDayClick(day, modifiers);\n handleDateSelect(day);\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 active: 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 } else {\n window.removeEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [isOpen, handleMonthChange]);\n\n const saveIsDisabled = () => {\n if (!target) return false;\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
|
+
{"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","some","mod","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","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","active","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: Moment) => { 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\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: range?.to ? moment(range.to).utc().unix() : null,\n });\n if (instant && onSave) {\n onSave({\n from: range.from.utc().unix(),\n to: range?.to ? moment(range.to).utc().unix() : null,\n });\n }\n }\n },\n [onChange, onSave, instant]\n );\n\n const toggleCalendar = useCallback(() => {\n if (target) {\n setIsOpen(!isOpen);\n if (onCalendarToggle) onCalendarToggle(!isOpen);\n }\n }, [isOpen, onCalendarToggle, target]);\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 handleSelection({ from: date, to: null });\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 handleSelection({\n from: newSelection.from,\n to: newSelection.to,\n });\n } else if (\n moment.isMoment(selected?.from) &&\n moment.isMoment(selected?.to)\n ) {\n setSelected({ from: date, to: null });\n handleSelection({ from: date, to: null });\n } else if (\n moment.isMoment(selected?.from) &&\n selected?.from.isSame(date.utc(), \"day\") &&\n !required\n ) {\n setSelected(null);\n handleSelection(undefined);\n } else if (selected.from === null && selected.to === null) {\n setSelected({ from: date.utc(), to: null });\n handleSelection({ from: date, to: date });\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 if (modifiers.some((mod) => mod === \"day_disabled\")) {\n return;\n }\n if (onDayClick) onDayClick(day, modifiers);\n handleDateSelect(day);\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);\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 active: 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 } else {\n window.removeEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [isOpen, handleMonthChange]);\n\n const saveIsDisabled = () => {\n if (!target) return false;\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,7 +1,7 @@
|
|
|
1
1
|
import { ElementType, FC, CSSProperties } from "react";
|
|
2
2
|
import { DayModifiers } from "react-day-picker";
|
|
3
3
|
import { Placement } from "@popperjs/core";
|
|
4
|
-
import {
|
|
4
|
+
import { DaysToModifyV1 } from "./types";
|
|
5
5
|
type TriggerStringType = "text" | "icon" | "inline";
|
|
6
6
|
type TriggerFunctionType = (text: string) => JSX.Element;
|
|
7
7
|
export interface ISelectDate {
|
|
@@ -74,7 +74,7 @@ export interface ISelectDate {
|
|
|
74
74
|
/** Background style for clickable element after the menu is open (opacity, color, etc...) */
|
|
75
75
|
backgroundElementClass?: string;
|
|
76
76
|
/** Days to modify */
|
|
77
|
-
daysToModify?:
|
|
77
|
+
daysToModify?: DaysToModifyV1[];
|
|
78
78
|
/** Array of weekend days */
|
|
79
79
|
weekends?: number[];
|
|
80
80
|
/** Weekend label */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDate.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,WAAW,EACX,EAAE,EAKF,aAAa,EACd,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAW3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SelectDate.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDate.js","names":["React","useCallback","useEffect","useMemo","useState","classnames","moment","DatePickerForm","SelectDateTarget","StyledConfirmDialog","StyledSelectDate","StyledSelectDateButton","formatDate","useLocalization","Menu","Tooltip","getUtcTimestampFromDate","date","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","_ref","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","passedDateFormat","defaultMonth","daysToModify","weekends","weekendLabel","nonWorkingDaysOfWeek","nonWorkingDaysOfWeekLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","localization","labelText","endDate","local","startDate","formattedEndDate","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","format","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","day_disabled","toJSON","slice","dayOfWeek","renderDay","props","titles","push","includes","forEach","title","child","createElement","className","length","key","map","index","renderDatePickerForm","onMonthChange","onChange","onClear","renderTargetEl","forceHideTooltip","active","target","open","onOpen","onBeforeClose","onClose","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n CSSProperties,\n} from \"react\";\nimport { DayModifiers, DayProps } from \"react-day-picker\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport moment from \"moment\";\n\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\nimport { DaysToModify } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport { useLocalization } from \"../Localization\";\nimport { Menu } from \"../Menu/Menu\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\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 ISelectDate {\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: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\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?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\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 defaultTimezoneAware = 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: passedDateFormat,\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}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n const localization = useLocalization();\n const dateFormat = passedDateFormat\n ? passedDateFormat\n : localization.dateFormat;\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const formattedEndDate = formatDate(endDate, dateFormat, longDateFormat);\n const formattedStartDate = formatDate(\n startDate,\n dateFormat,\n longDateFormat\n );\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\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 return {\n userAvailability: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n weekend: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n nonWorkingDay: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n day_disabled: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n nonWorkingDaysOfWeek: {\n dayOfWeek: nonWorkingDaysOfWeek,\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n weekends,\n disableDaysBefore,\n weekendIsSelectable,\n ]);\n\n const renderDay = useCallback(\n (props: DayProps): JSX.Element | null => {\n const titles: string[] = [];\n if (weekends.some((value) => props.date.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n if (nonWorkingDaysOfWeek.includes(props.date.getDay())) {\n titles.push(nonWorkingDaysOfWeekLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n props.date.getFullYear(),\n props.date.getMonth(),\n props.date.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{props.date.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${props.date.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekends,\n nonWorkingDaysOfWeek,\n daysToModify,\n weekendLabel,\n nonWorkingDaysOfWeekLabel,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\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 forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\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 showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\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 </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectDate.js","names":["React","useCallback","useEffect","useMemo","useState","classnames","moment","DatePickerForm","SelectDateTarget","StyledConfirmDialog","StyledSelectDate","StyledSelectDateButton","formatDate","useLocalization","Menu","Tooltip","getUtcTimestampFromDate","date","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","_ref","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","passedDateFormat","defaultMonth","daysToModify","weekends","weekendLabel","nonWorkingDaysOfWeek","nonWorkingDaysOfWeekLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","localization","labelText","endDate","local","startDate","formattedEndDate","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","format","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","day_disabled","toJSON","slice","dayOfWeek","renderDay","props","titles","push","includes","forEach","title","child","createElement","className","length","key","map","index","renderDatePickerForm","onMonthChange","onChange","onClear","renderTargetEl","forceHideTooltip","active","target","open","onOpen","onBeforeClose","onClose","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText","displayName"],"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n CSSProperties,\n} from \"react\";\nimport { DayModifiers, DayProps } from \"react-day-picker\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\nimport moment from \"moment\";\n\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\nimport { DaysToModifyV1 } from \"./types\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport { useLocalization } from \"../Localization\";\nimport { Menu } from \"../Menu/Menu\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModifyV1): 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 ISelectDate {\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: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\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?: DaysToModifyV1[];\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?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\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 defaultTimezoneAware = 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: passedDateFormat,\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}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n const localization = useLocalization();\n const dateFormat = passedDateFormat\n ? passedDateFormat\n : localization.dateFormat;\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const formattedEndDate = formatDate(endDate, dateFormat, longDateFormat);\n const formattedStartDate = formatDate(\n startDate,\n dateFormat,\n longDateFormat\n );\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\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 return {\n userAvailability: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n weekend: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n nonWorkingDay: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n day_disabled: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n nonWorkingDaysOfWeek: {\n dayOfWeek: nonWorkingDaysOfWeek,\n },\n };\n }, [\n daysToModify,\n nonWorkingDaysOfWeek,\n weekends,\n disableDaysBefore,\n weekendIsSelectable,\n ]);\n\n const renderDay = useCallback(\n (props: DayProps): JSX.Element | null => {\n const titles: string[] = [];\n if (weekends.some((value) => props.date.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n if (nonWorkingDaysOfWeek.includes(props.date.getDay())) {\n titles.push(nonWorkingDaysOfWeekLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n props.date.getFullYear(),\n props.date.getMonth(),\n props.date.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{props.date.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${props.date.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekends,\n nonWorkingDaysOfWeek,\n daysToModify,\n weekendLabel,\n nonWorkingDaysOfWeekLabel,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\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 forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\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 showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\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 </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"SelectDateV2.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDateV2.tsx"],"names":[],"mappings":"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"}
|