@activecollab/components 2.0.296 → 2.0.298

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.
Files changed (28) hide show
  1. package/dist/cjs/components/DatePicker/DatePicker.js +33 -1
  2. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  3. package/dist/cjs/components/Select/Select.js +6 -5
  4. package/dist/cjs/components/Select/Select.js.map +1 -1
  5. package/dist/cjs/components/SelectDate/SelectDate.js +4 -1
  6. package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
  7. package/dist/cjs/components/Steppers/DateStepper/DateStepper.js +3 -1
  8. package/dist/cjs/components/Steppers/DateStepper/DateStepper.js.map +1 -1
  9. package/dist/esm/components/DatePicker/DatePicker.d.ts +6 -0
  10. package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
  11. package/dist/esm/components/DatePicker/DatePicker.js +33 -1
  12. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  13. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  14. package/dist/esm/components/Select/Select.js +6 -5
  15. package/dist/esm/components/Select/Select.js.map +1 -1
  16. package/dist/esm/components/SelectDate/SelectDate.d.ts +6 -0
  17. package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
  18. package/dist/esm/components/SelectDate/SelectDate.js +4 -1
  19. package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
  20. package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts +6 -0
  21. package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts.map +1 -1
  22. package/dist/esm/components/Steppers/DateStepper/DateStepper.js +3 -1
  23. package/dist/esm/components/Steppers/DateStepper/DateStepper.js.map +1 -1
  24. package/dist/index.js +46 -8
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.min.js +1 -1
  27. package/dist/index.min.js.map +1 -1
  28. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.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","DatePicker","_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","modalTitle","modalDescription","modalSaveBtnText","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","handleYearChange","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","handleSaveDiscardModal","handleDiscardModal","wrapperProps","onBeforeClose","active","onOpen","handleKeyDown","event","window","addEventListener","removeEventListener","saveIsDisabled","variant","size","Fragment","zIndex","onCancel","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText"],"sources":["../../../../src/components/DatePicker/DatePicker.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 \"./Styles\";\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 title text */\n modalTitle?: string;\n /** Modal description text */\n modalDescription?: string;\n /** Modal save button text */\n modalSaveBtnText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: 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 DatePicker: 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 modalTitle = \"Save Changes\",\n modalDescription = \"You updated the date. Would you like to save this change?\",\n modalSaveBtnText = \"Save\",\n modalCancelBtnText = \"Discard\",\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 handleYearChange = useCallback(\n (direction: \"prev\" | \"next\") => {\n if (isMonthSelectOpen && !disableAnimations) {\n setMonthTransitionDirection(direction);\n } else {\n setCurrentDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"year\")\n : prevDate.clone().add(1, \"year\")\n );\n }\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 },\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 handleSaveDiscardModal = useCallback(() => {\n if (selected) {\n if (onChange) {\n onChange({\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 (onSave) {\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 } else {\n if (onChange) onChange(undefined);\n if (onSave) onSave(undefined);\n }\n setShowDiscardModal(false);\n if (target) {\n setIsOpen(false);\n if (onCalendarToggle) onCalendarToggle(false);\n }\n }, [selected, target, onChange, onSave, onCalendarToggle]);\n\n const handleDiscardModal = 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 if (target) {\n setIsOpen(false);\n if (onCalendarToggle) onCalendarToggle(false);\n }\n }, [defaultSelected?.from, defaultSelected?.to, onCalendarToggle, target]);\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 } else if (event.key === \"ArrowUp\") {\n handleYearChange(\"next\");\n } else if (event.key === \"ArrowDown\") {\n handleYearChange(\"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, handleYearChange]);\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={handleDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalTitle}\n dialogContent={modalDescription}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalSaveBtnText}\n />\n ) : null}\n </StyledDatePickerWrapper>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePicker.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","DatePicker","_ref","selected","defaultSelected","onChange","onSave","onClear","onClose","instant","target","mode","saveLabel","cancelLabel","clearLabel","disabledDaysBefore","disabledDaysAfter","disabled","disabledDays","maxRange","modifiers","disableAnimations","firstDayOfWeek","forceClose","required","month","disableYearPicker","position","menuClassName","popperClassName","enableConfirmModal","modalTitle","modalDescription","modalSaveBtnText","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","daysDiff","diff","console","warn","effectiveDisabledDaysBefore","maxRangeBefore","clone","subtract","isAfter","effectiveDisabledDaysAfter","maxRangeAfter","add","isBefore","handleSelection","range","undefined","unix","toggleCalendar","toggleYearSelect","toggleMonthSelect","handleDateSelect","isSameMonth","isSame","direction","handleDailySelection","handleWeeklySelection","handleCustomSelection","_selected$from","currentDayOfWeek","day","daysToSubtract","startOfWeek","startOf","endOfWeek","Number","newSelection","handleSave","handleMonthChange","prevDate","handleYearChange","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","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","handleSaveDiscardModal","handleDiscardModal","wrapperProps","onBeforeClose","active","onOpen","handleKeyDown","event","window","addEventListener","removeEventListener","saveIsDisabled","variant","size","Fragment","zIndex","onCancel","onConfirm","dialogTitle","dialogContent","cancelBtnText","confirmBtnText"],"sources":["../../../../src/components/DatePicker/DatePicker.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 \"./Styles\";\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 /**\n * Maximum number of days in a selection range (minimum value: 2, maximum value: 366).\n * @minimum 2\n * @maximum 366\n */\n maxRange?: 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 title text */\n modalTitle?: string;\n /** Modal description text */\n modalDescription?: string;\n /** Modal save button text */\n modalSaveBtnText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: 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 DatePicker: 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 maxRange,\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 modalTitle = \"Save Changes\",\n modalDescription = \"You updated the date. Would you like to save this change?\",\n modalSaveBtnText = \"Save\",\n modalCancelBtnText = \"Discard\",\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 useEffect(() => {\n if (maxRange && defaultSelected?.from && defaultSelected?.to) {\n const from = toMoment(defaultSelected.from);\n const to = toMoment(defaultSelected.to);\n if (from && to) {\n const daysDiff = to.diff(from, \"days\") + 1;\n if (daysDiff > maxRange) {\n console.warn(\n `DatePicker: selected range (${daysDiff} days) exceeds maxRange (${maxRange}).`\n );\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const effectiveDisabledDaysBefore = useMemo(() => {\n if (maxRange && mode === \"custom\" && selected?.from && !selected?.to) {\n const maxRangeBefore = selected.from\n .clone()\n .subtract(maxRange - 1, \"days\");\n if (!disabledDaysBefore || maxRangeBefore.isAfter(disabledDaysBefore)) {\n return maxRangeBefore;\n }\n }\n return disabledDaysBefore;\n }, [maxRange, mode, selected, disabledDaysBefore]);\n\n const effectiveDisabledDaysAfter = useMemo(() => {\n if (maxRange && mode === \"custom\" && selected?.from && !selected?.to) {\n const maxRangeAfter = selected.from.clone().add(maxRange - 1, \"days\");\n if (!disabledDaysAfter || maxRangeAfter.isBefore(disabledDaysAfter)) {\n return maxRangeAfter;\n }\n }\n return disabledDaysAfter;\n }, [maxRange, mode, selected, disabledDaysAfter]);\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 handleYearChange = useCallback(\n (direction: \"prev\" | \"next\") => {\n if (isMonthSelectOpen && !disableAnimations) {\n setMonthTransitionDirection(direction);\n } else {\n setCurrentDate((prevDate) =>\n direction === \"prev\"\n ? prevDate.clone().subtract(1, \"year\")\n : prevDate.clone().add(1, \"year\")\n );\n }\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 },\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 (effectiveDisabledDaysBefore &&\n clonedDate.isBefore(effectiveDisabledDaysBefore, \"day\")) ||\n (effectiveDisabledDaysAfter &&\n clonedDate.isAfter(effectiveDisabledDaysAfter, \"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 handleSaveDiscardModal = useCallback(() => {\n if (selected) {\n if (onChange) {\n onChange({\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 (onSave) {\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 } else {\n if (onChange) onChange(undefined);\n if (onSave) onSave(undefined);\n }\n setShowDiscardModal(false);\n if (target) {\n setIsOpen(false);\n if (onCalendarToggle) onCalendarToggle(false);\n }\n }, [selected, target, onChange, onSave, onCalendarToggle]);\n\n const handleDiscardModal = 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 if (target) {\n setIsOpen(false);\n if (onCalendarToggle) onCalendarToggle(false);\n }\n }, [defaultSelected?.from, defaultSelected?.to, onCalendarToggle, target]);\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 } else if (event.key === \"ArrowUp\") {\n handleYearChange(\"next\");\n } else if (event.key === \"ArrowDown\") {\n handleYearChange(\"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, handleYearChange]);\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={handleDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalTitle}\n dialogContent={modalDescription}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalSaveBtnText}\n />\n ) : null}\n </StyledDatePickerWrapper>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IACrD,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAChB,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,CACjB;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAsRnC,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IACrD,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAChB,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,CACjB;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAmSnC,CAAC"}
@@ -93,6 +93,10 @@ export const Select = _ref => {
93
93
  onSelectOpen();
94
94
  }
95
95
  }, [onSelectOpen]);
96
+ const onPopperOpen = useCallback(() => {
97
+ var _elementRef$current;
98
+ elementRef == null || (_elementRef$current = elementRef.current) == null || _elementRef$current.focus();
99
+ }, []);
96
100
  const props = useMemo(() => {
97
101
  if (target) {
98
102
  return {
@@ -103,16 +107,13 @@ export const Select = _ref => {
103
107
  mode,
104
108
  open,
105
109
  position,
106
- onPopperOpen: () => {
107
- var _elementRef$current;
108
- return elementRef == null || (_elementRef$current = elementRef.current) == null ? void 0 : _elementRef$current.focus();
109
- }
110
+ onPopperOpen
110
111
  };
111
112
  }
112
113
  return {
113
114
  className: classNames("c-select", selectClassName)
114
115
  };
115
- }, [target, selectClassName, onClose, onOpen, mode, open, position]);
116
+ }, [target, selectClassName, onClose, onOpen, mode, open, position, onPopperOpen]);
116
117
  const handleEmptyAction = useCallback(value => {
117
118
  emptyAction(value);
118
119
  if (forceCloseMenu) {
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","classNames","OptionContent","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","StyledStartAdornment","StyledEndAdornment","useForkRef","Autocomplete","isOptionGroup","Menu","Select","_ref","type","mode","target","options","selected","mixed","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","disableVirtualization","prop","_objectWithoutPropertiesLoose","_excluded","console","warn","childNode","elementRef","handleRef","Tag","open","setOpen","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","mixedOptions","length","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","onPopperOpen","_elementRef$current","className","handleEmptyAction","value","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","imageUrl","image","color","textColor","name","additionalInfo","_extends","checked","ref","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\nexport interface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n | \"handleChange\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n /** Mixed options values */\n mixed?: (string | number)[];\n disableVirtualization?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n disableVirtualization,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={disableSearch ? undefined : childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n mixedOptions={mixedOptions.current}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Select.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","classNames","OptionContent","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","StyledStartAdornment","StyledEndAdornment","useForkRef","Autocomplete","isOptionGroup","Menu","Select","_ref","type","mode","target","options","selected","mixed","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","disableVirtualization","prop","_objectWithoutPropertiesLoose","_excluded","console","warn","childNode","elementRef","handleRef","Tag","open","setOpen","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","mixedOptions","length","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","onPopperOpen","_elementRef$current","props","menuClassName","className","handleEmptyAction","value","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","imageUrl","image","color","textColor","name","additionalInfo","_extends","checked","ref","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\nexport interface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n | \"handleChange\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n /** Mixed options values */\n mixed?: (string | number)[];\n disableVirtualization?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n disableVirtualization,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const onPopperOpen = useCallback(() => {\n elementRef?.current?.focus();\n }, []);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [\n target,\n selectClassName,\n onClose,\n onOpen,\n mode,\n open,\n position,\n onPopperOpen,\n ]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n // Clear the search input without triggering form reset events\n if (elementRef?.current) {\n elementRef.current.value = \"\";\n }\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={disableSearch ? undefined : childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n mixedOptions={mixedOptions.current}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAEVC,WAAW,EACXC,QAAQ,EAERC,OAAO,EACPC,SAAS,EACTC,MAAM,QAGD,OAAO;AAGd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,aAAa,QAAQ,+BAA+B;AAC7D,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,cAAc,EACdC,iBAAiB,EACjBC,oBAAoB,EACpBC,kBAAkB,QACb,UAAU;AACjB,OAAOC,UAAU,MAAM,wBAAwB;AAC/C,SAASC,YAAY,EAAEC,aAAa,QAAQ,iBAAiB;AAE7D,SAASC,IAAI,QAAQ,cAAc;AAkDnC,OAAO,MAAMC,MAAwB,GAAGC,IAAA,IAyBlC;EAAA,IAzBmC;MACvCC,IAAI,GAAG,QAAQ;MACfC,IAAI;MACJC,MAAM;MACNC,OAAO;MACPC,QAAQ,GAAG,EAAE;MACbC,KAAK,GAAG,EAAE;MACVC,QAAQ,GAAG,cAAc;MACzBC,QAAQ,GAAGA,CAAA,KAAM,IAAI;MACrBC,WAAW;MACXC,WAAW,GAAGA,CAAA,KAAY,IAAI;MAC9BC,aAAa,GAAG,KAAK;MACrBC,cAAc;MACdC,eAAe;MACfC,oBAAoB,GAAG,KAAK;MAC5BC,YAAY;MACZC,aAAa;MACbC,YAAY;MACZC,yBAAyB;MACzBC,qBAAqB,GAAGlB,IAAI,KAAK,QAAQ;MACzCmB,cAAc;MACdC,YAAY;MACZC,UAAU,GAAG,KAAK;MAClBC;IAEF,CAAC,GAAAvB,IAAA;IADIwB,IAAI,GAAAC,6BAAA,CAAAzB,IAAA,EAAA0B,SAAA;EAEP,IAAIf,aAAa,KAAKS,cAAc,IAAIC,YAAY,CAAC,EAAE;IACrDM,OAAO,CAACC,IAAI,CAAC,sDAAsD,CAAC;EACtE;EACA,MAAMC,SAAS,GAAG3C,MAAM,CAA0B,CAAC;EACnD,MAAM4C,UAAU,GAAG5C,MAAM,CAA0B,IAAI,CAAC;EAExD,MAAM6C,SAAS,GAAGpC,UAAU,CAACkC,SAAS,EAAEC,UAAU,CAAC;EAEnD,MAAME,GAAG,GAAG,CAAC7B,MAAM,GAAG,KAAK,GAAGL,IAAI;EAElC,MAAM,CAACmC,IAAI,EAAEC,OAAO,CAAC,GAAGnD,QAAQ,CAAC,KAAK,CAAC;EAEvC,MAAMoD,eAAe,GAAGnD,OAAO,CAC7B,MAAOqB,QAAQ,YAAY+B,KAAK,GAAG/B,QAAQ,GAAG,CAACA,QAAQ,CAAE,EACzD,CAACA,QAAQ,CACX,CAAC;EAED,MAAMgC,aAAa,GAAGrD,OAAO,CAAC,MAAM;IAClC,IAAI,CAACoB,OAAO,EAAE;MACZ,OAAO,EAAE;IACX;IACA,OAAOA,OAAO;EAChB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMkC,eAAe,GAAGtD,OAAO,CAAC,MAAM;IACpC,OAAOqD,aAAa,CAACE,MAAM,CACzB,CACEC,GAAwB,EACxBC,MAA4C,KACzC;MACH,IAAI,CAAC5C,aAAa,CAAC4C,MAAM,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAGD,GAAG,EAAEC,MAAM,CAACC,EAAE,CAAC;MAC5B;MACA,MAAMC,eAAe,GAAGF,MAAM,CAACrC,OAAO,CAACwC,GAAG,CAAEH,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC;MACjE,OAAO,CAAC,GAAGF,GAAG,EAAE,GAAGG,eAAe,CAAC;IACrC,CAAC,EACD,EACF,CAAC;EACH,CAAC,EAAE,CAACN,aAAa,CAAC,CAAC;EAEnB,MAAMQ,YAAY,GAAG3D,MAAM,CAACe,IAAI,KAAK,UAAU,IAAIK,KAAK,CAACwC,MAAM,GAAGxC,KAAK,GAAG,EAAE,CAAC;EAE7E,MAAMyC,sBAAsB,GAAGjE,WAAW,CACvCkE,WAAgC,IAAK;IACpCH,YAAY,CAACI,OAAO,GAAGJ,YAAY,CAACI,OAAO,CAACC,MAAM,CAC/CC,WAAW,IAAK,CAACH,WAAW,CAACI,QAAQ,CAACD,WAAW,CACpD,CAAC;EACH,CAAC,EACD,EACF,CAAC;EAED,MAAME,mBAAmB,GAAGrE,OAAO,CACjC,MAAMsD,eAAe,CAACgB,KAAK,CAAEb,MAAM,IAAKN,eAAe,CAACiB,QAAQ,CAACX,MAAM,CAAC,CAAC,EACzE,CAACH,eAAe,EAAEH,eAAe,CACnC,CAAC;EAED,MAAMoB,kBAAkB,GAAGvE,OAAO,CAChC,MAAMsD,eAAe,CAACkB,IAAI,CAAEf,MAAM,IAAKN,eAAe,CAACiB,QAAQ,CAACX,MAAM,CAAC,CAAC,EACxE,CAACH,eAAe,EAAEH,eAAe,CACnC,CAAC;EAEDlD,SAAS,CAAC,MAAM;IACd,IAAKgD,IAAI,IAAI9B,MAAM,IAAM,CAACA,MAAM,IAAImB,UAAW,EAAE;MAAA,IAAAmC,kBAAA;MAC/C5B,SAAS,aAAA4B,kBAAA,GAAT5B,SAAS,CAAEoB,OAAO,aAAlBQ,kBAAA,CAAoBC,KAAK,CAAC,CAAC;IAC7B;EACF,CAAC,EAAE,CAACpC,UAAU,EAAEW,IAAI,EAAE9B,MAAM,CAAC,CAAC;EAE9B,MAAMwD,YAAY,GAAG7E,WAAW,CAC7B8E,aAAa,IAAK;IACjB,IAAIhD,cAAc,EAAE;MAClB,IAAI,OAAOI,aAAa,KAAK,UAAU,EAAEA,aAAa,CAAC,CAAC;MACxDkB,OAAO,CAAC,KAAK,CAAC;IAChB;IACA,IACE0B,aAAa,KAAKC,SAAS,IAC3BD,aAAa,KAAKvD,QAAQ,IAC1B,EAAEuD,aAAa,YAAYxB,KAAK,IAAIwB,aAAa,CAACR,QAAQ,CAACS,SAAS,CAAC,CAAC,EACtE;MACArD,QAAQ,CAACoD,aAAa,CAAC;MACvB3D,IAAI,KAAK,UAAU,IACjB4C,YAAY,CAACI,OAAO,CAACH,MAAM,IAC3BC,sBAAsB,CAACa,aAAa,CAAC;IACzC;EACF,CAAC,EACD,CACEhD,cAAc,EACdP,QAAQ,EACRW,aAAa,EACbR,QAAQ,EACRP,IAAI,EACJ8C,sBAAsB,CAE1B,CAAC;EAED,MAAMe,OAAO,GAAGhF,WAAW,CAAC,MAAM;IAChCoD,OAAO,CAAC,KAAK,CAAC;IACd,IAAIlB,aAAa,EAAE;MACjBA,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,MAAM+C,MAAM,GAAGjF,WAAW,CAAC,MAAM;IAC/BoD,OAAO,CAAC,IAAI,CAAC;IACb,IAAInB,YAAY,EAAE;MAChBA,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMiD,YAAY,GAAGlF,WAAW,CAAC,MAAM;IAAA,IAAAmF,mBAAA;IACrCnC,UAAU,aAAAmC,mBAAA,GAAVnC,UAAU,CAAEmB,OAAO,aAAnBgB,mBAAA,CAAqBP,KAAK,CAAC,CAAC;EAC9B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,KAAK,GAAGlF,OAAO,CAAC,MAAM;IAC1B,IAAImB,MAAM,EAAE;MACV,OAAO;QACLgE,aAAa,EAAEhF,UAAU,CAAC,UAAU,EAAE0B,eAAe,CAAC;QACtDiD,OAAO;QACPC,MAAM;QACN5D,MAAM;QACND,IAAI;QACJ+B,IAAI;QACJ1B,QAAQ;QACRyD;MACF,CAAC;IACH;IACA,OAAO;MAAEI,SAAS,EAAEjF,UAAU,CAAC,UAAU,EAAE0B,eAAe;IAAE,CAAC;EAC/D,CAAC,EAAE,CACDV,MAAM,EACNU,eAAe,EACfiD,OAAO,EACPC,MAAM,EACN7D,IAAI,EACJ+B,IAAI,EACJ1B,QAAQ,EACRyD,YAAY,CACb,CAAC;EAEF,MAAMK,iBAAiB,GAAGvF,WAAW,CAClCwF,KAAK,IAAK;IACT5D,WAAW,CAAC4D,KAAK,CAAC;IAClB,IAAI1D,cAAc,EAAE;MAClBsB,OAAO,CAAC,KAAK,CAAC;IAChB;IACA;IACA,IAAIJ,UAAU,YAAVA,UAAU,CAAEmB,OAAO,EAAE;MACvBnB,UAAU,CAACmB,OAAO,CAACqB,KAAK,GAAG,EAAE;IAC/B;EACF,CAAC,EACD,CAAC5D,WAAW,EAAEE,cAAc,CAC9B,CAAC;EAED,MAAM2D,iCAAiC,GAAGzF,WAAW,CAAC,MAAM;IAC1D,IAAImB,IAAI,KAAK,UAAU,EAAE;MACvB,IAAIkC,eAAe,CAACW,MAAM,KAAKR,eAAe,CAACQ,MAAM,EAAE;QACrD,IAAI,OAAO5B,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLV,QAAQ,CAAC,EAAE,CAAC;QACd;MACF,CAAC,MAAM;QACL,IAAI,OAAOU,yBAAyB,KAAK,UAAU,EAAE;UACnDA,yBAAyB,CAAC,CAAC;QAC7B,CAAC,MAAM;UACLV,QAAQ,CAAC8B,eAAe,CAAC;QAC3B;MACF;IACF,CAAC,MAAM;MACL,IAAI,OAAOpB,yBAAyB,KAAK,UAAU,EAAE;QACnDA,yBAAyB,CAAC,CAAC;MAC7B,CAAC,MAAM;QACLV,QAAQ,CAAC,EAAE,CAAC;MACd;IACF;IACA,IAAII,cAAc,EAAE;MAClBsB,OAAO,CAAC,KAAK,CAAC;IAChB;EACF,CAAC,EAAE,CACD1B,QAAQ,EACRP,IAAI,EACJW,cAAc,EACduB,eAAe,CAACW,MAAM,EACtBR,eAAe,EACfpB,yBAAyB,CAC1B,CAAC;EAEF,MAAMsD,kBAAkB,GAAG1F,WAAW,CACpC,CAAC2D,MAAM,EAAEyB,KAAK,KAAK;IACjB,IAAI,OAAOjD,YAAY,KAAK,UAAU,EAAE;MACtC,OAAOA,YAAY,CAACwB,MAAM,EAAEyB,KAAK,CAAC;IACpC;IACA,oBACErF,KAAA,CAAA4F,aAAA,CAAA5F,KAAA,CAAA6F,QAAA,qBACE7F,KAAA,CAAA4F,aAAA,CAACrF,aAAa;MACZuF,QAAQ,EAAElC,MAAM,CAACmC,KAAM;MACvBC,KAAK,EAAEpC,MAAM,CAACoC,KAAM;MACpBC,SAAS,EAAErC,MAAM,CAACqC,SAAU;MAC5BC,IAAI,EAAEtC,MAAM,CAACsC,IAAK;MAClBC,cAAc,EAAEvC,MAAM,CAACuC;IAAe,CACvC,CAAC,EACDvC,MAAM,CAACC,EAAE,KAAK,IAAI,GACjBzC,IAAI,KAAK,UAAU,gBACjBpB,KAAA,CAAA4F,aAAA,CAAClF,cAAc,EAAA0F,QAAA;MACbC,OAAO,EAAE7B,mBAAoB;MAC7B/C,KAAK,EAAEiD,kBAAkB,IAAI,CAACF;IAAoB,GAC9Ca,KAAK,CACV,CAAC,gBAEFrF,KAAA,CAAA4F,aAAA,CAACjF,iBAAiB,EAAAyF,QAAA;MAChBC,OAAO,EAAE/C,eAAe,CAACW,MAAM,GAAG,CAAC,IAAI,CAACX,eAAe,CAAC,CAAC;IAAE,GACvD+B,KAAK,CACV,CACF,GACCjE,IAAI,KAAK,UAAU,gBACrBpB,KAAA,CAAA4F,aAAA,CAAClF,cAAc,EAAA0F,QAAA;MACb3E,KAAK,EAAEuC,YAAY,CAACI,OAAO,CAACG,QAAQ,CAACX,MAAM,CAACC,EAAE;IAAE,GAC5CwB,KAAK,CACV,CAAC,gBAEFrF,KAAA,CAAA4F,aAAA,CAACjF,iBAAiB,EAAK0E,KAAQ,CAEjC,CAAC;EAEP,CAAC,EACD,CACEb,mBAAmB,EACnBpC,YAAY,EACZhB,IAAI,EACJsD,kBAAkB,EAClBpB,eAAe,CAEnB,CAAC;EAED,oBACEtD,KAAA,CAAA4F,aAAA,CAACzC,GAAG,EAAKkC,KAAK,eACZrF,KAAA,CAAA4F,aAAA,cACG,CAAC9D,aAAa,gBACb9B,KAAA,CAAA4F,aAAA,CAACpF,gBAAgB,QACd+B,cAAc,gBACbvC,KAAA,CAAA4F,aAAA,CAAChF,oBAAoB,QAAE2B,cAAqC,CAAC,GAC3D,IAAI,eACRvC,KAAA,CAAA4F,aAAA,CAACnF,iBAAiB;IAAC6F,GAAG,EAAEpD,SAAU;IAACtB,WAAW,EAAEA;EAAY,CAAE,CAAC,EAC9DY,YAAY,gBACXxC,KAAA,CAAA4F,aAAA,CAAC/E,kBAAkB,QAAE2B,YAAiC,CAAC,GACrD,IACY,CAAC,GACjB,IAAI,eACRxC,KAAA,CAAA4F,aAAA,CAAC7E,YAAY,EAAAqF,QAAA,KACPzD,IAAI;IACR4D,kBAAkB;IAClBC,OAAO,EAAE1E,aAAa,GAAGkD,SAAS,GAAGhC,SAAU;IAC/CwC,iBAAiB,EAAEA,iBAAkB;IACrChE,QAAQ,EAAEA,QAAS;IACnBsD,YAAY,EAAEA,YAAa;IAC3B1C,YAAY,EAAEuD,kBAAmB;IACjCpE,OAAO,EAAEA,OAAQ;IACjByC,YAAY,EAAEA,YAAY,CAACI,OAAQ;IACnC/B,yBAAyB,EAAEqD,iCAAkC;IAC7DtE,IAAI,EAAEA,IAAK;IACXkB,qBAAqB,EAAEA,qBAAsB;IAC7CL,oBAAoB,EAAEA,oBAAqB;IAC3CS,qBAAqB,EAAEA;EAAsB,EAC9C,CACE,CACF,CAAC;AAEV,CAAC;AAEDxB,MAAM,CAACuF,WAAW,GAAG,QAAQ","ignoreList":[]}
@@ -98,6 +98,12 @@ export interface ISelectDate {
98
98
  enableYearPicker?: boolean;
99
99
  /** Disable aniamtions */
100
100
  disableAnimations?: boolean;
101
+ /**
102
+ * Maximum number of days in a selection range (minimum value: 2, maximum value: 366).
103
+ * @minimum 2
104
+ * @maximum 366
105
+ */
106
+ maxRange?: number;
101
107
  }
102
108
  export declare const SelectDate: FC<ISelectDate>;
103
109
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDate.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectDate.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":[],"mappings":"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"}
@@ -70,7 +70,8 @@ export const SelectDate = _ref => {
70
70
  enableYearPicker,
71
71
  disableAnimations,
72
72
  disabledDaysAfter,
73
- onChange
73
+ onChange,
74
+ maxRange
74
75
  } = _ref;
75
76
  const labelText = useMemo(() => {
76
77
  if (!selectedDays) {
@@ -194,6 +195,7 @@ export const SelectDate = _ref => {
194
195
  enableConfirmModal: mode === "atomic" && !dateRequired,
195
196
  disableYearPicker: !enableYearPicker,
196
197
  disableAnimations: disableAnimations,
198
+ maxRange: maxRange,
197
199
  showControls: true,
198
200
  forceClose: forceClose
199
201
  }) : /*#__PURE__*/React.createElement(DatePicker, {
@@ -217,6 +219,7 @@ export const SelectDate = _ref => {
217
219
  onDayClick: onDayClick,
218
220
  disableYearPicker: !enableYearPicker,
219
221
  disableAnimations: disableAnimations,
222
+ maxRange: maxRange,
220
223
  showControls: true,
221
224
  open: true
222
225
  }));