@activecollab/components 2.0.271 → 2.0.273

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","daysDiff","diff","daysToMove","newFromDate","newToDate","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","end","format","startDate","endDate","quarter","isValid","datePickerMode","onDatePickerChange","dates","fromDateTemp","Number","toDateTemp","isMoment","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","target","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) => 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>(moment.utc(to));\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 const daysDiff = toDate.diff(fromDate, \"days\");\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 : toDate.clone().add(interval * daysToMove, \"days\");\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);\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n if (start.year() === actualYear && end.year() === actualYear) {\n return (\n start.utc().format(\"MMM DD\") + \" - \" + end.utc().format(\"MMM DD\")\n );\n } else {\n return (\n start.utc().format(\"MMM DD YYYY\") +\n \" - \" +\n end.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 // For range step, if toDate is invalid or at epoch (1970), only show fromDate\n if (!toDate.isValid() || toDate.year() === 1970) {\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 const fromDateTemp: Moment = moment.utc(Number(dates?.from) * 1000);\n const toDateTemp: Moment = moment.utc(Number(dates?.to) * 1000);\n\n setFromDate(fromDateTemp);\n setToDate(toDateTemp);\n\n if (\n onChange &&\n moment.isMoment(fromDateTemp) &&\n moment.isMoment(toDateTemp)\n ) {\n onChange(fromDateTemp.toDate(), toDateTemp.toDate());\n }\n },\n [onChange, setFromDate, setToDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n moment.isMoment(maxValue) &&\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 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(moment.utc(to));\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment,\n range: string\n ): { minWidth: string } => {\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 target={\n <StyledButton type=\"button\">{getDateFormatted}</StyledButton>\n }\n mode={datePickerMode}\n selected={{\n from: moment.utc(fromDate).unix(),\n to: moment.utc(toDate).unix(),\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\" | \"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,4 +1,6 @@
1
- export declare const StyledButton: import("styled-components").StyledComponent<"button", any, {}, never>;
1
+ export declare const StyledButton: import("styled-components").StyledComponent<"button", any, {
2
+ $step: string;
3
+ }, never>;
2
4
  export declare const StyledMenu: import("styled-components").StyledComponent<import("react").FC<import("../..").IMenu>, any, {}, never>;
3
5
  export declare const StyledButtonGroup: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
4
6
  invalid?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,uEAmDxB,CAAC;AAEF,eAAO,MAAM,UAAU,wGAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;mEAQ7B,CAAC;AAEF,eAAO,MAAM,UAAU,qEAGtB,CAAC;AAEF,UAAU,SAAS;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,SAAS,2EA+FrB,CAAC;AAEF,eAAO,MAAM,aAAa;;sEAEzB,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY;WAA0B,MAAM;SAwDxD,CAAC;AAEF,eAAO,MAAM,UAAU,wGAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;mEAQ7B,CAAC;AAEF,eAAO,MAAM,UAAU,qEAGtB,CAAC;AAEF,UAAU,SAAS;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,SAAS,2EA+FrB,CAAC;AAEF,eAAO,MAAM,aAAa;;sEAEzB,CAAC"}
@@ -7,7 +7,7 @@ import { Menu } from "../../Menu";
7
7
  export const StyledButton = styled.button.withConfig({
8
8
  displayName: "Styles__StyledButton",
9
9
  componentId: "sc-1v8h7mt-0"
10
- })(["", " ", " ", " color:var(--color-theme-700);margin:0;padding:0;background:none;width:100%;height:auto;border:none;height:30px;line-height:1;transition:all 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}&:disabled{cursor:default;opacity:50%;pointer-events:none;}"], FontStyle, BoxSizingStyle, {
10
+ })(["", " ", " ", " ", " color:var(--color-theme-700);margin:0;padding:0;background:none;width:100%;height:auto;border:none;height:30px;line-height:1;transition:all 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}&:disabled{cursor:default;opacity:50%;pointer-events:none;}"], FontStyle, BoxSizingStyle, props => props.$step === "range" && css(["padding:0 12px !important;"]), {
11
11
  "position": "relative",
12
12
  "margin": "0px",
13
13
  "display": "inline-block",
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","ButtonGroup","FontStyle","IconButton","Menu","StyledButton","button","withConfig","displayName","componentId","StyledMenu","StyledButtonGroup","StyledSpan","span","StyledDiv","div","props","$isTargetable","$isRounded","$mode","$alwaysShowDate","StyledControl"],"sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { ButtonGroup } from \"../../ButtonGroup\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { IconButton } from \"../../IconButton\";\nimport { Menu } from \"../../Menu\";\n\nexport const StyledButton = styled.button`\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${tw`\n tw-relative\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-text-center\n `}\n\n color: var(--color-theme-700);\n margin: 0;\n padding: 0;\n background: none;\n width: 100%;\n height: auto;\n border: none;\n height: 30px;\n line-height: 1;\n transition: all 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n`;\n\nexport const StyledMenu = styled(Menu)`\n ${tw`\n tw-w-auto\n tw-h-auto\n tw-py-4\n tw-px-2\n `}\n`;\n\nexport const StyledButtonGroup = styled(ButtonGroup)`\n ${FontStyle}\n ${BoxSizingStyle}\n\n button:hover {\n position: relative;\n z-index: 1;\n }\n`;\n\nexport const StyledSpan = styled.span`\n line-height: 30px;\n color: var(--color-theme-700);\n`;\n\ninterface StyledDiv {\n $isTargetable: boolean;\n $isRounded: boolean;\n $mode: string;\n $alwaysShowDate: boolean;\n}\n\nexport const StyledDiv = styled.div<StyledDiv>`\n ${(props) =>\n props.$isTargetable &&\n css`\n ${tw`tw-pointer-events-none`}\n `}\n\n ${(props) =>\n props.$isRounded &&\n css`\n border-radius: var(--ac-br-8);\n padding: 0 12px !important;\n `}\n\n ${(props) =>\n props.$mode !== \"flat\"\n ? tw`\n tw-border\n tw-border-solid\n `\n : tw`tw-border-0`}\n\n ${tw`\n tw-relative\n tw-text-center\n tw-p-0\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n `}\n\n height: 32px;\n transition: all 0.3s ease;\n background-color: transparent;\n ${(props) =>\n props.$mode !== \"flat\" &&\n css`\n border: 1px solid var(--color-theme-700);\n `}\n\n color: var(--color-theme-700);\n margin-right: -1px;\n display: block;\n\n ${(props) =>\n !props.$alwaysShowDate &&\n css`\n @media (max-width: 768px) {\n display: none;\n }\n `}\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n &:hover {\n ${(props) =>\n props.$mode !== \"flat\" &&\n css`\n border-color: var(--color-primary);\n `}\n color: var(--color-primary);\n text-decoration: none;\n }\n\n &:active {\n ${(props) =>\n props.$mode !== \"flat\" &&\n css`\n border-color: var(--color-primary);\n background-color: var(--color-primary-200);\n `}\n color: var(--color-primary);\n }\n`;\n\nexport const StyledControl = styled(IconButton)`\n border-radius: var(--ac-br-8);\n`;\n\nStyledButtonGroup.displayName = \"StyledButtonGroup\";\nStyledSpan.displayName = \"StyledSpan\";\nStyledDiv.displayName = \"StyledDiv\";\nStyledMenu.displayName = \"StyledMenu\";\nStyledButton.displayName = \"StyledButton\";\nStyledControl.displayName = \"StyledControl\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,YAAY;AAEjC,OAAO,MAAMC,YAAY,GAAGP,MAAM,CAACQ,MAAM,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kVACrCP,SAAS,EACTF,cAAc,EAEZ;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAaJ,CAAC,CAkCF;AAED,OAAO,MAAMU,UAAU,GAAGZ,MAAM,CAACM,IAAI,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAChC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAKJ,CAAC,CACF;AAED,OAAO,MAAME,iBAAiB,GAAGb,MAAM,CAACG,WAAW,CAAC,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6DAChDP,SAAS,EACTF,cAAc,CAMjB;AAED,OAAO,MAAMY,UAAU,GAAGd,MAAM,CAACe,IAAI,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sDAGpC;AASD,OAAO,MAAMK,SAAS,GAAGhB,MAAM,CAACiB,GAAG,CAAAR,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,oZAC9BO,KAAK,IACNA,KAAK,CAACC,aAAa,IACnBlB,GAAG,WACG;EAAA;AAAuB,CAAC,CAC7B,EAEAiB,KAAK,IACNA,KAAK,CAACE,UAAU,IAChBnB,GAAG,6DAGF,EAEEiB,KAAK,IACRA,KAAK,CAACG,KAAK,KAAK,MAAM,GAChB;EAAA;EAAA;AAGA,CAAC,GACD;EAAA;AAAY,CAAC,EAEjB;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAcJ,CAAC,EAKEH,KAAK,IACNA,KAAK,CAACG,KAAK,KAAK,MAAM,IACtBpB,GAAG,8CAEF,EAMAiB,KAAK,IACN,CAACA,KAAK,CAACI,eAAe,IACtBrB,GAAG,6CAIF,EAoBEiB,KAAK,IACNA,KAAK,CAACG,KAAK,KAAK,MAAM,IACtBpB,GAAG,wCAEF,EAMAiB,KAAK,IACNA,KAAK,CAACG,KAAK,KAAK,MAAM,IACtBpB,GAAG,kFAGF,CAGN;AAED,OAAO,MAAMsB,aAAa,GAAGvB,MAAM,CAACK,UAAU,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qCAE9C;AAEDE,iBAAiB,CAACH,WAAW,GAAG,mBAAmB;AACnDI,UAAU,CAACJ,WAAW,GAAG,YAAY;AACrCM,SAAS,CAACN,WAAW,GAAG,WAAW;AACnCE,UAAU,CAACF,WAAW,GAAG,YAAY;AACrCH,YAAY,CAACG,WAAW,GAAG,cAAc;AACzCa,aAAa,CAACb,WAAW,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","ButtonGroup","FontStyle","IconButton","Menu","StyledButton","button","withConfig","displayName","componentId","props","$step","StyledMenu","StyledButtonGroup","StyledSpan","span","StyledDiv","div","$isTargetable","$isRounded","$mode","$alwaysShowDate","StyledControl"],"sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { ButtonGroup } from \"../../ButtonGroup\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { IconButton } from \"../../IconButton\";\nimport { Menu } from \"../../Menu\";\n\nexport const StyledButton = styled.button<{ $step: string }>`\n ${FontStyle}\n ${BoxSizingStyle}\n ${(props) =>\n props.$step === \"range\" &&\n css`\n padding: 0 12px !important;\n `}\n\n ${tw`\n tw-relative\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n tw-text-center\n `}\n\n color: var(--color-theme-700);\n margin: 0;\n padding: 0;\n background: none;\n width: 100%;\n height: auto;\n border: none;\n height: 30px;\n line-height: 1;\n transition: all 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n`;\n\nexport const StyledMenu = styled(Menu)`\n ${tw`\n tw-w-auto\n tw-h-auto\n tw-py-4\n tw-px-2\n `}\n`;\n\nexport const StyledButtonGroup = styled(ButtonGroup)`\n ${FontStyle}\n ${BoxSizingStyle}\n\n button:hover {\n position: relative;\n z-index: 1;\n }\n`;\n\nexport const StyledSpan = styled.span`\n line-height: 30px;\n color: var(--color-theme-700);\n`;\n\ninterface StyledDiv {\n $isTargetable: boolean;\n $isRounded: boolean;\n $mode: string;\n $alwaysShowDate: boolean;\n}\n\nexport const StyledDiv = styled.div<StyledDiv>`\n ${(props) =>\n props.$isTargetable &&\n css`\n ${tw`tw-pointer-events-none`}\n `}\n\n ${(props) =>\n props.$isRounded &&\n css`\n border-radius: var(--ac-br-8);\n padding: 0 12px !important;\n `}\n\n ${(props) =>\n props.$mode !== \"flat\"\n ? tw`\n tw-border\n tw-border-solid\n `\n : tw`tw-border-0`}\n\n ${tw`\n tw-relative\n tw-text-center\n tw-p-0\n tw-antialiased\n tw-align-middle\n tw-font-medium\n tw-inline-block\n tw-leading-none\n tw-m-0\n tw-no-underline\n tw-text-sm\n tw-select-none\n tw-cursor-pointer\n `}\n\n height: 32px;\n transition: all 0.3s ease;\n background-color: transparent;\n ${(props) =>\n props.$mode !== \"flat\" &&\n css`\n border: 1px solid var(--color-theme-700);\n `}\n\n color: var(--color-theme-700);\n margin-right: -1px;\n display: block;\n\n ${(props) =>\n !props.$alwaysShowDate &&\n css`\n @media (max-width: 768px) {\n display: none;\n }\n `}\n svg {\n fill: currentColor;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n &:hover {\n ${(props) =>\n props.$mode !== \"flat\" &&\n css`\n border-color: var(--color-primary);\n `}\n color: var(--color-primary);\n text-decoration: none;\n }\n\n &:active {\n ${(props) =>\n props.$mode !== \"flat\" &&\n css`\n border-color: var(--color-primary);\n background-color: var(--color-primary-200);\n `}\n color: var(--color-primary);\n }\n`;\n\nexport const StyledControl = styled(IconButton)`\n border-radius: var(--ac-br-8);\n`;\n\nStyledButtonGroup.displayName = \"StyledButtonGroup\";\nStyledSpan.displayName = \"StyledSpan\";\nStyledDiv.displayName = \"StyledDiv\";\nStyledMenu.displayName = \"StyledMenu\";\nStyledButton.displayName = \"StyledButton\";\nStyledControl.displayName = \"StyledControl\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,YAAY;AAEjC,OAAO,MAAMC,YAAY,GAAGP,MAAM,CAACQ,MAAM,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uVACrCP,SAAS,EACTF,cAAc,EACbU,KAAK,IACNA,KAAK,CAACC,KAAK,KAAK,OAAO,IACvBZ,GAAG,gCAEF,EAEC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAaJ,CAAC,CAkCF;AAED,OAAO,MAAMa,UAAU,GAAGd,MAAM,CAACM,IAAI,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAChC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAKJ,CAAC,CACF;AAED,OAAO,MAAMI,iBAAiB,GAAGf,MAAM,CAACG,WAAW,CAAC,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6DAChDP,SAAS,EACTF,cAAc,CAMjB;AAED,OAAO,MAAMc,UAAU,GAAGhB,MAAM,CAACiB,IAAI,CAAAR,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sDAGpC;AASD,OAAO,MAAMO,SAAS,GAAGlB,MAAM,CAACmB,GAAG,CAAAV,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,oZAC9BC,KAAK,IACNA,KAAK,CAACQ,aAAa,IACnBnB,GAAG,WACG;EAAA;AAAuB,CAAC,CAC7B,EAEAW,KAAK,IACNA,KAAK,CAACS,UAAU,IAChBpB,GAAG,6DAGF,EAEEW,KAAK,IACRA,KAAK,CAACU,KAAK,KAAK,MAAM,GAChB;EAAA;EAAA;AAGA,CAAC,GACD;EAAA;AAAY,CAAC,EAEjB;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAcJ,CAAC,EAKEV,KAAK,IACNA,KAAK,CAACU,KAAK,KAAK,MAAM,IACtBrB,GAAG,8CAEF,EAMAW,KAAK,IACN,CAACA,KAAK,CAACW,eAAe,IACtBtB,GAAG,6CAIF,EAoBEW,KAAK,IACNA,KAAK,CAACU,KAAK,KAAK,MAAM,IACtBrB,GAAG,wCAEF,EAMAW,KAAK,IACNA,KAAK,CAACU,KAAK,KAAK,MAAM,IACtBrB,GAAG,kFAGF,CAGN;AAED,OAAO,MAAMuB,aAAa,GAAGxB,MAAM,CAACK,UAAU,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qCAE9C;AAEDI,iBAAiB,CAACL,WAAW,GAAG,mBAAmB;AACnDM,UAAU,CAACN,WAAW,GAAG,YAAY;AACrCQ,SAAS,CAACR,WAAW,GAAG,WAAW;AACnCI,UAAU,CAACJ,WAAW,GAAG,YAAY;AACrCH,YAAY,CAACG,WAAW,GAAG,cAAc;AACzCc,aAAa,CAACd,WAAW,GAAG,eAAe","ignoreList":[]}
package/dist/index.js CHANGED
@@ -12661,7 +12661,9 @@
12661
12661
  var StyledButton$1 = styled__default["default"].button.withConfig({
12662
12662
  displayName: "Styles__StyledButton",
12663
12663
  componentId: "sc-1v8h7mt-0"
12664
- })(["", " ", " ", " color:var(--color-theme-700);margin:0;padding:0;background:none;width:100%;height:auto;border:none;height:30px;line-height:1;transition:all 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}&:disabled{cursor:default;opacity:50%;pointer-events:none;}"], FontStyle, BoxSizingStyle, {
12664
+ })(["", " ", " ", " ", " color:var(--color-theme-700);margin:0;padding:0;background:none;width:100%;height:auto;border:none;height:30px;line-height:1;transition:all 0.3s ease;svg{fill:currentColor;}&::-moz-focus-inner{border:0;}&:focus{outline:none;}&:hover{text-decoration:none;}&:disabled{cursor:default;opacity:50%;pointer-events:none;}"], FontStyle, BoxSizingStyle, function (props) {
12665
+ return props.$step === "range" && styled.css(["padding:0 12px !important;"]);
12666
+ }, {
12665
12667
  "position": "relative",
12666
12668
  "margin": "0px",
12667
12669
  "display": "inline-block",
@@ -14260,7 +14262,7 @@
14260
14262
  _useState2 = _slicedToArray(_useState, 2),
14261
14263
  fromDate = _useState2[0],
14262
14264
  setFromDate = _useState2[1];
14263
- var _useState3 = React.useState(moment__default["default"].utc(to)),
14265
+ var _useState3 = React.useState(to ? moment__default["default"].utc(to) : null),
14264
14266
  _useState4 = _slicedToArray(_useState3, 2),
14265
14267
  toDate = _useState4[0],
14266
14268
  setToDate = _useState4[1];
@@ -14283,25 +14285,29 @@
14283
14285
  return [date.clone().startOf("year"), date.clone().endOf("year")];
14284
14286
  } else if (step === "range") {
14285
14287
  // For range step, calculate N days based on current selection
14286
- var daysDiff = toDate.diff(fromDate, "days");
14288
+ // Handle case where toDate is undefined
14289
+ var effectiveToDate = !toDate ? fromDate : toDate;
14290
+ var daysDiff = effectiveToDate.diff(fromDate, "days");
14291
+
14287
14292
  // If same day selected (daysDiff = 0), move by 1 day
14288
14293
  var daysToMove = daysDiff === 0 ? 1 : daysDiff + 1;
14289
14294
  var newFromDate = fromDate.clone().add(interval * daysToMove, "days");
14290
- var newToDate = daysDiff === 0 ? newFromDate.clone() : toDate.clone().add(interval * daysToMove, "days");
14295
+ var newToDate = daysDiff === 0 ? newFromDate.clone() : effectiveToDate.clone().add(interval * daysToMove, "days");
14291
14296
  return [newFromDate, newToDate];
14292
14297
  }
14293
14298
  return [date, date];
14294
14299
  }, [fromDate, toDate, period, step]);
14295
14300
  var getDateFormatted = React.useMemo(function () {
14296
14301
  if (formatCallback) {
14297
- return formatCallback(fromDate, toDate);
14302
+ return formatCallback(fromDate, toDate ? toDate : fromDate);
14298
14303
  }
14299
14304
  var actualYear = moment__default["default"]().year();
14300
14305
  var showWeekOrCustomDateFormat = function showWeekOrCustomDateFormat(start, end) {
14306
+ var endDate = end ? end : start;
14301
14307
  if (start.year() === actualYear && end.year() === actualYear) {
14302
- return start.utc().format("MMM DD") + " - " + end.utc().format("MMM DD");
14308
+ return start.utc().format("MMM DD") + " - " + endDate.utc().format("MMM DD");
14303
14309
  } else {
14304
- return start.utc().format("MMM DD YYYY") + " - " + end.utc().format("MMM DD YYYY");
14310
+ return start.utc().format("MMM DD YYYY") + " - " + endDate.utc().format("MMM DD YYYY");
14305
14311
  }
14306
14312
  };
14307
14313
  if (step === "daily") {
@@ -14320,8 +14326,7 @@
14320
14326
  } else if (step === "yearly") {
14321
14327
  return fromDate.utc().format("YYYY");
14322
14328
  } else if (step === "range") {
14323
- // For range step, if toDate is invalid or at epoch (1970), only show fromDate
14324
- if (!toDate.isValid() || toDate.year() === 1970) {
14329
+ if (!toDate) {
14325
14330
  if (fromDate.year() === actualYear) {
14326
14331
  return fromDate.utc().format("MMM DD");
14327
14332
  }
@@ -14344,19 +14349,27 @@
14344
14349
  return step;
14345
14350
  }, [step]);
14346
14351
  var onDatePickerChange = React.useCallback(function (dates) {
14352
+ console.log("dates: ", dates);
14347
14353
  var fromDateTemp = moment__default["default"].utc(Number(dates === null || dates === void 0 ? void 0 : dates.from) * 1000);
14348
- var toDateTemp = moment__default["default"].utc(Number(dates === null || dates === void 0 ? void 0 : dates.to) * 1000);
14354
+ 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;
14349
14355
  setFromDate(fromDateTemp);
14350
14356
  setToDate(toDateTemp);
14351
- if (onChange && moment__default["default"].isMoment(fromDateTemp) && moment__default["default"].isMoment(toDateTemp)) {
14357
+ if (onChange && step !== "range" && moment__default["default"].isMoment(fromDateTemp) && moment__default["default"].isMoment(toDateTemp)) {
14352
14358
  onChange(fromDateTemp.toDate(), toDateTemp.toDate());
14353
14359
  }
14354
- }, [onChange, setFromDate, setToDate]);
14360
+ }, [onChange, step]);
14361
+ var onToggleDatePicker = React.useCallback(function (open) {
14362
+ if (step === "range" && !open) {
14363
+ var toDateTemp = toDate ? toDate : fromDate;
14364
+ setToDate(toDateTemp);
14365
+ onChange === null || onChange === void 0 || onChange(fromDate.toDate(), toDateTemp.toDate());
14366
+ }
14367
+ }, [fromDate, onChange, step, toDate]);
14355
14368
  var isAfterMaxDate = React.useMemo(function () {
14356
- return moment__default["default"].isMoment(maxValue) && moment__default["default"](moment__default["default"].utc(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.utc().format("YYYY-MM-DD"));
14369
+ return moment__default["default"].isMoment(maxValue) && toDate && moment__default["default"](moment__default["default"].utc(maxValue).format("YYYY-MM-DD")).isSameOrBefore(toDate.utc().format("YYYY-MM-DD"));
14357
14370
  }, [maxValue, toDate]);
14358
14371
  var isBeforeMinDate = React.useMemo(function () {
14359
- return moment__default["default"].isMoment(minValue) && moment__default["default"].utc(moment__default["default"].utc(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
14372
+ return moment__default["default"].isMoment(minValue) && toDate && moment__default["default"].utc(moment__default["default"].utc(minValue).format("YYYY-MM-DD")).isSameOrAfter(toDate.utc().format("YYYY-MM-DD"));
14360
14373
  }, [minValue, toDate]);
14361
14374
  React.useEffect(function () {
14362
14375
  if (isBeforeMinDate) {
@@ -14408,9 +14421,14 @@
14408
14421
  }, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);
14409
14422
  React.useEffect(function () {
14410
14423
  setFromDate(moment__default["default"].utc(from));
14411
- setToDate(moment__default["default"].utc(to));
14424
+ setToDate(to ? moment__default["default"].utc(to) : null);
14412
14425
  }, [from, to]);
14413
14426
  var dateStepperWidth = function dateStepperWidth(fromDay, toDay, range) {
14427
+ if (range === "range") {
14428
+ return {
14429
+ minWidth: "102px"
14430
+ };
14431
+ }
14414
14432
  if (fromDay.utc().year() !== moment__default["default"].utc().year() || toDay.utc().year() !== moment__default["default"].utc().year()) {
14415
14433
  switch (range) {
14416
14434
  case "daily":
@@ -14477,13 +14495,15 @@
14477
14495
  style: dateStepperWidth(fromDate, toDate, step)
14478
14496
  }, withDatePicker && step !== "yearly" ? /*#__PURE__*/React__default["default"].createElement(DatePicker, {
14479
14497
  month: defaultMonth,
14498
+ onCalendarToggle: onToggleDatePicker,
14480
14499
  target: /*#__PURE__*/React__default["default"].createElement(StyledButton$1, {
14500
+ $step: step,
14481
14501
  type: "button"
14482
14502
  }, getDateFormatted),
14483
14503
  mode: datePickerMode,
14484
14504
  selected: {
14485
14505
  from: moment__default["default"].utc(fromDate).unix(),
14486
- to: moment__default["default"].utc(toDate).unix()
14506
+ to: toDate ? moment__default["default"].utc(toDate).unix() : null
14487
14507
  },
14488
14508
  onChange: onDatePickerChange,
14489
14509
  firstDayOfWeek: period === "week" ? 0 : 1,