@activecollab/components 2.0.276 → 2.0.278

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DateStepper.js","names":["React","useCallback","useMemo","useState","useEffect","classNames","moment","StyledButton","StyledButtonGroup","StyledDiv","StyledSpan","StyledControl","DatePicker","ArrowRightIcon","ArrowLeftIcon","DateStepper","_ref","step","formatCallback","onChange","from","to","onBack","onForward","minValue","maxValue","className","period","withDatePicker","defaultMonth","enableYearPicker","position","popperClassName","mode","alwaysShowDate","disableArrows","fromDate","setFromDate","utc","toDate","setToDate","getDatesByPeriod","interval","date","add","clone","startOf","endOf","effectiveToDate","daysDiff","diff","daysToMove","newFromDate","newToDate","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","end","endDate","format","startDate","quarter","datePickerMode","onDatePickerChange","dates","console","log","fromDateTemp","Number","toDateTemp","isMoment","onToggleDatePicker","open","isAfterMaxDate","isSameOrBefore","isBeforeMinDate","isSameOrAfter","onRightClickHandler","newFrom","newTo","onLeftClickHandler","dateStepperWidth","fromDay","toDay","range","minWidth","isDisabled","day","dayFormat","isBefore","isAfter","modifiers","disabled","matched","title","nonWorkingDay","createElement","type","variant","onClick","$isTargetable","$isRounded","$mode","$alwaysShowDate","style","month","onCalendarToggle","target","$step","selected","unix","firstDayOfWeek","disabledDaysAfter","disabledDaysBefore","disableYearPicker","key","instant","required","displayName"],"sources":["../../../../../src/components/Steppers/DateStepper/DateStepper.tsx"],"sourcesContent":["import React, { FC, useCallback, useMemo, useState, useEffect } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport {\n StyledButton,\n StyledButtonGroup,\n StyledDiv,\n StyledSpan,\n StyledControl,\n} from \"./Styles\";\nimport { DatePicker, TimestampDateRange } from \"../../DatePicker/DatePicker\";\nimport { ArrowRightIcon } from \"../../Icons\";\nimport ArrowLeftIcon from \"../../Icons/collection/ArrowLeft\";\nimport { InputMode } from \"../../Input/types\";\n\nexport interface IDateStepperProps {\n /** One of the possible steps for this component */\n step: \"daily\" | \"weekly\" | \"monthly\" | \"quarterly\" | \"yearly\" | \"range\";\n /** Callback function that will be called after the changed range */\n onChange?: (from: Date, to: Date | null) => void;\n /** Start date of the range */\n from: Moment | string;\n /** End date of the range */\n to?: Moment | string;\n /** Callback function that will format the text label */\n formatCallback?: (from: string | Moment, to: string | Moment) => string;\n /** Default month */\n defaultMonth?: Moment;\n /** Callback function onBack */\n onBack?: (from: Date, to: Date) => void;\n /** Callback function onForward */\n onForward?: (from: Date, to: Date) => void;\n /** Min date */\n minValue?: Moment;\n /** Max fate */\n maxValue?: Moment;\n /** html class */\n className?: string;\n /** Period for calculating week (isoWeek) */\n period?: \"week\" | \"isoWeek\";\n /** Classes for datePicker */\n datePickerClass?: string;\n /** Show datePicker in the middle button */\n withDatePicker?: boolean;\n /** Popper class name*/\n popperClassName?: string;\n /** DatePicker menu position */\n position?: Placement;\n /** Enable year picker in DatePicker */\n enableYearPicker?: boolean;\n /** conditional border & button variant styles */\n mode?: InputMode;\n /** preserve date on smaller screens */\n alwaysShowDate?: boolean;\n /** Hide navigation arrows */\n disableArrows?: boolean;\n}\n\n/**\n * This component allow you to select date range. It accepts two parameters \"from\" and \"to\" as valid format\n * onChange and onBack and onForward it will return \"from: Date\" and \"to: Date\" as function arguments\n */\n\nexport const DateStepper: FC<IDateStepperProps> = ({\n step,\n formatCallback,\n onChange,\n from,\n to,\n onBack,\n onForward,\n minValue,\n maxValue,\n className,\n period = \"week\",\n withDatePicker = true,\n defaultMonth = moment(),\n enableYearPicker,\n position = \"bottom\",\n popperClassName,\n mode = \"outlined\",\n alwaysShowDate = false,\n disableArrows = false,\n}) => {\n const [fromDate, setFromDate] = useState<Moment>(moment.utc(from));\n const [toDate, setToDate] = useState<Moment>(to ? moment.utc(to) : null);\n\n const getDatesByPeriod = useCallback(\n (interval: number): Moment[] => {\n const date = fromDate ? fromDate : moment();\n if (step === \"daily\") {\n date.add(interval, \"days\");\n return [date, date.clone()];\n } else if (step === \"weekly\") {\n date.add(interval, \"weeks\");\n return [date.clone().startOf(period), date.clone().endOf(period)];\n } else if (step === \"monthly\") {\n date.add(interval, \"months\");\n return [date.clone().startOf(\"month\"), date.clone().endOf(\"month\")];\n } else if (step === \"quarterly\") {\n date.add(interval, \"quarters\");\n return [date.clone().startOf(\"quarter\"), date.clone().endOf(\"quarter\")];\n } else if (step === \"yearly\") {\n date.add(interval, \"years\");\n return [date.clone().startOf(\"year\"), date.clone().endOf(\"year\")];\n } else if (step === \"range\") {\n // For range step, calculate N days based on current selection\n // Handle case where toDate is undefined\n const effectiveToDate = !toDate ? fromDate : toDate;\n\n const daysDiff = effectiveToDate.diff(fromDate, \"days\");\n\n // If same day selected (daysDiff = 0), move by 1 day\n const daysToMove = daysDiff === 0 ? 1 : daysDiff + 1;\n const newFromDate = fromDate.clone().add(interval * daysToMove, \"days\");\n const newToDate =\n daysDiff === 0\n ? newFromDate.clone()\n : effectiveToDate.clone().add(interval * daysToMove, \"days\");\n\n return [newFromDate, newToDate];\n }\n return [date, date];\n },\n [fromDate, toDate, period, step]\n );\n\n const getDateFormatted = useMemo(() => {\n if (formatCallback) {\n return formatCallback(fromDate, toDate ? toDate : fromDate);\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n const endDate = end ? end : start;\n if (start.year() === actualYear && end.year() === actualYear) {\n return (\n start.utc().format(\"MMM DD\") + \" - \" + endDate.utc().format(\"MMM DD\")\n );\n } else {\n return (\n start.utc().format(\"MMM DD YYYY\") +\n \" - \" +\n endDate.utc().format(\"MMM DD YYYY\")\n );\n }\n };\n\n if (step === \"daily\") {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n } else if (step === \"weekly\") {\n const startDate = fromDate.clone().utc().startOf(period);\n const endDate = startDate.clone().utc().endOf(period);\n return showWeekOrCustomDateFormat(startDate, endDate);\n } else if (step === \"monthly\") {\n return fromDate.utc().format(\"MMM YYYY\");\n } else if (step === \"quarterly\") {\n return `Q${fromDate.utc().quarter()}/${fromDate.utc().format(\"YYYY\")}`;\n } else if (step === \"yearly\") {\n return fromDate.utc().format(\"YYYY\");\n } else if (step === \"range\") {\n if (!toDate) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n // If from and to are the same date, show only once\n if (fromDate.format(\"YYYY-MM-DD\") === toDate.format(\"YYYY-MM-DD\")) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n return showWeekOrCustomDateFormat(fromDate, toDate);\n }\n\n return \"\";\n }, [fromDate, toDate, step, formatCallback, period]);\n\n const datePickerMode = useMemo(() => {\n if (step === \"range\") return \"custom\";\n if (step === \"yearly\") return \"custom\";\n return step;\n }, [step]);\n\n const onDatePickerChange = useCallback(\n (dates?: TimestampDateRange) => {\n console.log(\"dates: \", dates);\n const fromDateTemp: Moment = moment.utc(Number(dates?.from) * 1000);\n const toDateTemp: Moment = dates?.to\n ? moment.utc(Number(dates?.to) * 1000)\n : null;\n\n setFromDate(fromDateTemp);\n setToDate(toDateTemp);\n\n if (\n onChange &&\n step !== \"range\" &&\n moment.isMoment(fromDateTemp) &&\n moment.isMoment(toDateTemp)\n ) {\n onChange(fromDateTemp.toDate(), toDateTemp.toDate());\n }\n },\n [onChange, step]\n );\n\n const onToggleDatePicker = useCallback(\n (open?: boolean) => {\n if (step === \"range\" && !open) {\n const toDateTemp: Moment = toDate ? toDate : fromDate;\n setToDate(toDateTemp);\n onChange?.(fromDate.toDate(), toDateTemp.toDate());\n }\n },\n [fromDate, onChange, step, toDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n moment.isMoment(maxValue) &&\n toDate &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isSameOrBefore(\n toDate.utc().format(\"YYYY-MM-DD\")\n )\n );\n }, [maxValue, toDate]);\n\n const isBeforeMinDate = useMemo(() => {\n return (\n moment.isMoment(minValue) &&\n toDate &&\n moment\n .utc(moment.utc(minValue).format(\"YYYY-MM-DD\"))\n .isSameOrAfter(toDate.utc().format(\"YYYY-MM-DD\"))\n );\n }, [minValue, toDate]);\n\n useEffect(() => {\n if (isBeforeMinDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(minValue));\n setToDate(moment.utc(minValue));\n }\n }\n if (isAfterMaxDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(maxValue));\n setToDate(moment.utc(maxValue));\n }\n }\n }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);\n\n const onRightClickHandler = useCallback(() => {\n if (isAfterMaxDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n\n if (onForward) {\n onForward(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);\n\n const onLeftClickHandler = useCallback(() => {\n if (isBeforeMinDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(-1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n if (onBack) {\n onBack(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);\n\n useEffect(() => {\n setFromDate(moment.utc(from));\n setToDate(to ? moment.utc(to) : null);\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment,\n range: string\n ): { minWidth: string } => {\n if (range === \"range\") {\n return { minWidth: \"102px\" };\n }\n if (\n fromDay.utc().year() !== moment.utc().year() ||\n toDay.utc().year() !== moment.utc().year()\n ) {\n switch (range) {\n case \"daily\":\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"232px\" };\n }\n }\n switch (range) {\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"182px\" };\n }\n\n return { minWidth: \"102px\" };\n };\n const isDisabled = useCallback(\n (day: Moment): boolean => {\n const dayFormat = moment.utc(day).format(\"YYYY-MM-DD\");\n\n const isBefore =\n moment.isMoment(maxValue) &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isBefore(dayFormat);\n const isAfter =\n moment.isMoment(minValue) &&\n moment(moment.utc(minValue).format(\"YYYY-MM-DD\")).isAfter(dayFormat);\n\n return isBefore || isAfter;\n },\n [maxValue, minValue]\n );\n\n const modifiers = useMemo(\n () => ({\n disabled: (day: Moment) => ({ matched: isDisabled(day), title: null }),\n nonWorkingDay: (day: Moment) => ({\n matched: isDisabled(day),\n title: null,\n }),\n }),\n [isDisabled]\n );\n\n return (\n <StyledButtonGroup className={classNames(\"c-date-stepper\", className)}>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onLeftClickHandler}\n disabled={isBeforeMinDate}\n >\n <ArrowLeftIcon />\n </StyledControl>\n ) : null}\n <StyledDiv\n $isTargetable={step === \"yearly\" || !withDatePicker}\n $isRounded={disableArrows}\n $mode={mode}\n $alwaysShowDate={alwaysShowDate}\n style={dateStepperWidth(fromDate, toDate, step)}\n >\n {withDatePicker && step !== \"yearly\" ? (\n <DatePicker\n month={defaultMonth}\n onCalendarToggle={onToggleDatePicker}\n target={\n <StyledButton $step={step} type=\"button\">\n {getDateFormatted}\n </StyledButton>\n }\n mode={datePickerMode}\n selected={{\n from: moment.utc(fromDate).unix(),\n to: toDate ? moment.utc(toDate).unix() : null,\n }}\n onChange={onDatePickerChange}\n firstDayOfWeek={period === \"week\" ? 0 : 1}\n modifiers={modifiers}\n disabledDaysAfter={maxValue}\n disabledDaysBefore={minValue}\n disableYearPicker={!enableYearPicker}\n popperClassName={popperClassName}\n position={position}\n key={datePickerMode}\n instant\n required\n />\n ) : (\n <StyledSpan>{getDateFormatted}</StyledSpan>\n )}\n </StyledDiv>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onRightClickHandler}\n disabled={isAfterMaxDate}\n >\n <ArrowRightIcon />\n </StyledControl>\n ) : null}\n </StyledButtonGroup>\n );\n};\n\nDateStepper.displayName = \"DateStepper\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateStepper.js","names":["React","useCallback","useMemo","useState","useEffect","classNames","moment","StyledButton","StyledButtonGroup","StyledDiv","StyledSpan","StyledControl","DatePicker","ArrowRightIcon","ArrowLeftIcon","DateStepper","_ref","step","formatCallback","onChange","from","to","onBack","onForward","minValue","maxValue","className","period","withDatePicker","defaultMonth","enableYearPicker","position","popperClassName","mode","alwaysShowDate","disableArrows","fromDate","setFromDate","utc","toDate","setToDate","getDatesByPeriod","interval","date","add","clone","startOf","endOf","effectiveToDate","daysDiff","diff","daysToMove","newFromDate","newToDate","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","end","endDate","format","startDate","quarter","datePickerMode","onDatePickerChange","dates","console","log","fromDateTemp","Number","toDateTemp","isMoment","onToggleDatePicker","open","isAfterMaxDate","isSameOrBefore","isBeforeMinDate","isSameOrAfter","onRightClickHandler","newFrom","newTo","onLeftClickHandler","dateStepperWidth","fromDay","toDay","range","minWidth","isDisabled","day","dayFormat","isBefore","isAfter","modifiers","disabled","matched","title","nonWorkingDay","createElement","type","variant","onClick","$isTargetable","$isRounded","$mode","$alwaysShowDate","style","month","onCalendarToggle","target","$step","selected","unix","firstDayOfWeek","disabledDaysAfter","disabledDaysBefore","disableYearPicker","key","instant","required","displayName"],"sources":["../../../../../src/components/Steppers/DateStepper/DateStepper.tsx"],"sourcesContent":["import React, { FC, useCallback, useMemo, useState, useEffect } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport {\n StyledButton,\n StyledButtonGroup,\n StyledDiv,\n StyledSpan,\n StyledControl,\n} from \"./Styles\";\nimport { DatePicker, TimestampDateRange } from \"../../DatePicker/DatePicker\";\nimport { ArrowRightIcon } from \"../../Icons\";\nimport ArrowLeftIcon from \"../../Icons/collection/ArrowLeft\";\nimport { InputMode } from \"../../Input/types\";\n\nexport interface IDateStepperProps {\n /** One of the possible steps for this component */\n step: \"daily\" | \"weekly\" | \"monthly\" | \"quarterly\" | \"yearly\" | \"custom\";\n /** Callback function that will be called after the changed range */\n onChange?: (from: Date, to: Date | null) => void;\n /** Start date of the range */\n from: Moment | string;\n /** End date of the range */\n to?: Moment | string;\n /** Callback function that will format the text label */\n formatCallback?: (from: string | Moment, to: string | Moment) => string;\n /** Default month */\n defaultMonth?: Moment;\n /** Callback function onBack */\n onBack?: (from: Date, to: Date) => void;\n /** Callback function onForward */\n onForward?: (from: Date, to: Date) => void;\n /** Min date */\n minValue?: Moment;\n /** Max fate */\n maxValue?: Moment;\n /** html class */\n className?: string;\n /** Period for calculating week (isoWeek) */\n period?: \"week\" | \"isoWeek\";\n /** Classes for datePicker */\n datePickerClass?: string;\n /** Show datePicker in the middle button */\n withDatePicker?: boolean;\n /** Popper class name*/\n popperClassName?: string;\n /** DatePicker menu position */\n position?: Placement;\n /** Enable year picker in DatePicker */\n enableYearPicker?: boolean;\n /** conditional border & button variant styles */\n mode?: InputMode;\n /** preserve date on smaller screens */\n alwaysShowDate?: boolean;\n /** Hide navigation arrows */\n disableArrows?: boolean;\n}\n\n/**\n * This component allow you to select date range. It accepts two parameters \"from\" and \"to\" as valid format\n * onChange and onBack and onForward it will return \"from: Date\" and \"to: Date\" as function arguments\n */\n\nexport const DateStepper: FC<IDateStepperProps> = ({\n step,\n formatCallback,\n onChange,\n from,\n to,\n onBack,\n onForward,\n minValue,\n maxValue,\n className,\n period = \"week\",\n withDatePicker = true,\n defaultMonth = moment(),\n enableYearPicker,\n position = \"bottom\",\n popperClassName,\n mode = \"outlined\",\n alwaysShowDate = false,\n disableArrows = false,\n}) => {\n const [fromDate, setFromDate] = useState<Moment>(moment.utc(from));\n const [toDate, setToDate] = useState<Moment>(to ? moment.utc(to) : null);\n\n const getDatesByPeriod = useCallback(\n (interval: number): Moment[] => {\n const date = fromDate ? fromDate : moment();\n if (step === \"daily\") {\n date.add(interval, \"days\");\n return [date, date.clone()];\n } else if (step === \"weekly\") {\n date.add(interval, \"weeks\");\n return [date.clone().startOf(period), date.clone().endOf(period)];\n } else if (step === \"monthly\") {\n date.add(interval, \"months\");\n return [date.clone().startOf(\"month\"), date.clone().endOf(\"month\")];\n } else if (step === \"quarterly\") {\n date.add(interval, \"quarters\");\n return [date.clone().startOf(\"quarter\"), date.clone().endOf(\"quarter\")];\n } else if (step === \"yearly\") {\n date.add(interval, \"years\");\n return [date.clone().startOf(\"year\"), date.clone().endOf(\"year\")];\n } else if (step === \"custom\") {\n // For range step, calculate N days based on current selection\n // Handle case where toDate is undefined\n const effectiveToDate = !toDate ? fromDate : toDate;\n\n const daysDiff = effectiveToDate.diff(fromDate, \"days\");\n\n // If same day selected (daysDiff = 0), move by 1 day\n const daysToMove = daysDiff === 0 ? 1 : daysDiff + 1;\n const newFromDate = fromDate.clone().add(interval * daysToMove, \"days\");\n const newToDate =\n daysDiff === 0\n ? newFromDate.clone()\n : effectiveToDate.clone().add(interval * daysToMove, \"days\");\n\n return [newFromDate, newToDate];\n }\n return [date, date];\n },\n [fromDate, toDate, period, step]\n );\n\n const getDateFormatted = useMemo(() => {\n if (formatCallback) {\n return formatCallback(fromDate, toDate ? toDate : fromDate);\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n const endDate = end ? end : start;\n if (start.year() === actualYear && end.year() === actualYear) {\n return (\n start.utc().format(\"MMM DD\") + \" - \" + endDate.utc().format(\"MMM DD\")\n );\n } else {\n return (\n start.utc().format(\"MMM DD YYYY\") +\n \" - \" +\n endDate.utc().format(\"MMM DD YYYY\")\n );\n }\n };\n\n if (step === \"daily\") {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n } else if (step === \"weekly\") {\n const startDate = fromDate.clone().utc().startOf(period);\n const endDate = startDate.clone().utc().endOf(period);\n return showWeekOrCustomDateFormat(startDate, endDate);\n } else if (step === \"monthly\") {\n return fromDate.utc().format(\"MMM YYYY\");\n } else if (step === \"quarterly\") {\n return `Q${fromDate.utc().quarter()}/${fromDate.utc().format(\"YYYY\")}`;\n } else if (step === \"yearly\") {\n return fromDate.utc().format(\"YYYY\");\n } else if (step === \"custom\") {\n if (!toDate) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n // If from and to are the same date, show only once\n if (fromDate.format(\"YYYY-MM-DD\") === toDate.format(\"YYYY-MM-DD\")) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n return showWeekOrCustomDateFormat(fromDate, toDate);\n }\n\n return \"\";\n }, [fromDate, toDate, step, formatCallback, period]);\n\n const datePickerMode = useMemo(() => {\n if (step === \"custom\") return \"custom\";\n if (step === \"yearly\") return \"custom\";\n return step;\n }, [step]);\n\n const onDatePickerChange = useCallback(\n (dates?: TimestampDateRange) => {\n console.log(\"dates: \", dates);\n const fromDateTemp: Moment = moment.utc(Number(dates?.from) * 1000);\n const toDateTemp: Moment = dates?.to\n ? moment.utc(Number(dates?.to) * 1000)\n : null;\n\n setFromDate(fromDateTemp);\n setToDate(toDateTemp);\n\n if (\n onChange &&\n step !== \"custom\" &&\n moment.isMoment(fromDateTemp) &&\n moment.isMoment(toDateTemp)\n ) {\n onChange(fromDateTemp.toDate(), toDateTemp.toDate());\n }\n },\n [onChange, step]\n );\n\n const onToggleDatePicker = useCallback(\n (open?: boolean) => {\n if (step === \"custom\" && !open) {\n const toDateTemp: Moment = toDate ? toDate : fromDate;\n setToDate(toDateTemp);\n onChange?.(fromDate.toDate(), toDateTemp.toDate());\n }\n },\n [fromDate, onChange, step, toDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n moment.isMoment(maxValue) &&\n toDate &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isSameOrBefore(\n toDate.utc().format(\"YYYY-MM-DD\")\n )\n );\n }, [maxValue, toDate]);\n\n const isBeforeMinDate = useMemo(() => {\n return (\n moment.isMoment(minValue) &&\n toDate &&\n moment\n .utc(moment.utc(minValue).format(\"YYYY-MM-DD\"))\n .isSameOrAfter(toDate.utc().format(\"YYYY-MM-DD\"))\n );\n }, [minValue, toDate]);\n\n useEffect(() => {\n if (isBeforeMinDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(minValue));\n setToDate(moment.utc(minValue));\n }\n }\n if (isAfterMaxDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(maxValue));\n setToDate(moment.utc(maxValue));\n }\n }\n }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);\n\n const onRightClickHandler = useCallback(() => {\n if (isAfterMaxDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n\n if (onForward) {\n onForward(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);\n\n const onLeftClickHandler = useCallback(() => {\n if (isBeforeMinDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(-1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n if (onBack) {\n onBack(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);\n\n useEffect(() => {\n setFromDate(moment.utc(from));\n setToDate(to ? moment.utc(to) : null);\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment,\n range: string\n ): { minWidth: string } => {\n if (range === \"range\") {\n return { minWidth: \"102px\" };\n }\n if (\n fromDay.utc().year() !== moment.utc().year() ||\n toDay.utc().year() !== moment.utc().year()\n ) {\n switch (range) {\n case \"daily\":\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"232px\" };\n }\n }\n switch (range) {\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"182px\" };\n }\n\n return { minWidth: \"102px\" };\n };\n const isDisabled = useCallback(\n (day: Moment): boolean => {\n const dayFormat = moment.utc(day).format(\"YYYY-MM-DD\");\n\n const isBefore =\n moment.isMoment(maxValue) &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isBefore(dayFormat);\n const isAfter =\n moment.isMoment(minValue) &&\n moment(moment.utc(minValue).format(\"YYYY-MM-DD\")).isAfter(dayFormat);\n\n return isBefore || isAfter;\n },\n [maxValue, minValue]\n );\n\n const modifiers = useMemo(\n () => ({\n disabled: (day: Moment) => ({ matched: isDisabled(day), title: null }),\n nonWorkingDay: (day: Moment) => ({\n matched: isDisabled(day),\n title: null,\n }),\n }),\n [isDisabled]\n );\n\n return (\n <StyledButtonGroup className={classNames(\"c-date-stepper\", className)}>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onLeftClickHandler}\n disabled={isBeforeMinDate}\n >\n <ArrowLeftIcon />\n </StyledControl>\n ) : null}\n <StyledDiv\n $isTargetable={step === \"yearly\" || !withDatePicker}\n $isRounded={disableArrows}\n $mode={mode}\n $alwaysShowDate={alwaysShowDate}\n style={dateStepperWidth(fromDate, toDate, step)}\n >\n {withDatePicker && step !== \"yearly\" ? (\n <DatePicker\n month={defaultMonth}\n onCalendarToggle={onToggleDatePicker}\n target={\n <StyledButton $step={step} type=\"button\">\n {getDateFormatted}\n </StyledButton>\n }\n mode={datePickerMode}\n selected={{\n from: moment.utc(fromDate).unix(),\n to: toDate ? moment.utc(toDate).unix() : null,\n }}\n onChange={onDatePickerChange}\n firstDayOfWeek={period === \"week\" ? 0 : 1}\n modifiers={modifiers}\n disabledDaysAfter={maxValue}\n disabledDaysBefore={minValue}\n disableYearPicker={!enableYearPicker}\n popperClassName={popperClassName}\n position={position}\n key={datePickerMode}\n instant\n required\n />\n ) : (\n <StyledSpan>{getDateFormatted}</StyledSpan>\n )}\n </StyledDiv>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onRightClickHandler}\n disabled={isAfterMaxDate}\n >\n <ArrowRightIcon />\n </StyledControl>\n ) : null}\n </StyledButtonGroup>\n );\n};\n\nDateStepper.displayName = \"DateStepper\";\n"],"mappings":"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","ignoreList":[]}
package/dist/index.js CHANGED
@@ -14334,7 +14334,7 @@
14334
14334
  } else if (step === "yearly") {
14335
14335
  date.add(interval, "years");
14336
14336
  return [date.clone().startOf("year"), date.clone().endOf("year")];
14337
- } else if (step === "range") {
14337
+ } else if (step === "custom") {
14338
14338
  // For range step, calculate N days based on current selection
14339
14339
  // Handle case where toDate is undefined
14340
14340
  var effectiveToDate = !toDate ? fromDate : toDate;
@@ -14376,7 +14376,7 @@
14376
14376
  return "Q".concat(fromDate.utc().quarter(), "/").concat(fromDate.utc().format("YYYY"));
14377
14377
  } else if (step === "yearly") {
14378
14378
  return fromDate.utc().format("YYYY");
14379
- } else if (step === "range") {
14379
+ } else if (step === "custom") {
14380
14380
  if (!toDate) {
14381
14381
  if (fromDate.year() === actualYear) {
14382
14382
  return fromDate.utc().format("MMM DD");
@@ -14395,7 +14395,7 @@
14395
14395
  return "";
14396
14396
  }, [fromDate, toDate, step, formatCallback, period]);
14397
14397
  var datePickerMode = React.useMemo(function () {
14398
- if (step === "range") return "custom";
14398
+ if (step === "custom") return "custom";
14399
14399
  if (step === "yearly") return "custom";
14400
14400
  return step;
14401
14401
  }, [step]);
@@ -14405,12 +14405,12 @@
14405
14405
  var toDateTemp = dates !== null && dates !== void 0 && dates.to ? moment__default["default"].utc(Number(dates === null || dates === void 0 ? void 0 : dates.to) * 1000) : null;
14406
14406
  setFromDate(fromDateTemp);
14407
14407
  setToDate(toDateTemp);
14408
- if (onChange && step !== "range" && moment__default["default"].isMoment(fromDateTemp) && moment__default["default"].isMoment(toDateTemp)) {
14408
+ if (onChange && step !== "custom" && moment__default["default"].isMoment(fromDateTemp) && moment__default["default"].isMoment(toDateTemp)) {
14409
14409
  onChange(fromDateTemp.toDate(), toDateTemp.toDate());
14410
14410
  }
14411
14411
  }, [onChange, step]);
14412
14412
  var onToggleDatePicker = React.useCallback(function (open) {
14413
- if (step === "range" && !open) {
14413
+ if (step === "custom" && !open) {
14414
14414
  var toDateTemp = toDate ? toDate : fromDate;
14415
14415
  setToDate(toDateTemp);
14416
14416
  onChange === null || onChange === void 0 || onChange(fromDate.toDate(), toDateTemp.toDate());
@@ -18121,7 +18121,6 @@
18121
18121
  var elementRef = React.useRef(null);
18122
18122
  var handleRef = useForkRef(childNode, elementRef);
18123
18123
  var Tag = !target ? "div" : Menu;
18124
- var formRef = React.useRef(null);
18125
18124
  var _useState = React.useState(false),
18126
18125
  _useState2 = _slicedToArray(_useState, 2),
18127
18126
  open = _useState2[0],
@@ -18211,12 +18210,14 @@
18211
18210
  };
18212
18211
  }, [target, selectClassName, onClose, onOpen, mode, open, position]);
18213
18212
  var handleEmptyAction = React.useCallback(function (value) {
18214
- var _formRef$current;
18215
18213
  emptyAction(value);
18216
18214
  if (forceCloseMenu) {
18217
18215
  setOpen(false);
18218
18216
  }
18219
- (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.reset();
18217
+ // Clear the search input without triggering form reset events
18218
+ if (elementRef !== null && elementRef !== void 0 && elementRef.current) {
18219
+ elementRef.current.value = "";
18220
+ }
18220
18221
  }, [emptyAction, forceCloseMenu]);
18221
18222
  var handleDefaultOptionChangeCallback = React.useCallback(function () {
18222
18223
  if (type === "multiple") {
@@ -18263,9 +18264,7 @@
18263
18264
  mixed: mixedOptions.current.includes(option.id)
18264
18265
  }, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, props));
18265
18266
  }, [isAllOptionsChecked, renderOption, type, someOptionsChecked, selectedOptions]);
18266
- return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, {
18267
- ref: formRef
18268
- }, startAdornment ? /*#__PURE__*/React__default["default"].createElement(StyledStartAdornment, null, startAdornment) : null, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
18267
+ return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, null, startAdornment ? /*#__PURE__*/React__default["default"].createElement(StyledStartAdornment, null, startAdornment) : null, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
18269
18268
  ref: handleRef,
18270
18269
  placeholder: placeholder
18271
18270
  }), endAdornment ? /*#__PURE__*/React__default["default"].createElement(StyledEndAdornment, null, endAdornment) : null) : null, /*#__PURE__*/React__default["default"].createElement(Autocomplete, _extends({}, prop, {