{"version":3,"file":"index.Deuy_hzO.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/calendar/components/skeleton/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/calendar/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/calendar/views/desktop/index.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport InputSkeleton from '../../../input/components/skeleton/index.js';\n\nconst CalendarSkeleton = (props)=>/*#__PURE__*/ jsx(InputSkeleton, {\n id: props.id,\n icon: props.icon,\n label: props.label\n });\n\nexport { CalendarSkeleton as default };\n//# sourceMappingURL=index.js.map\n","import { TooltipContent } from '@babylon/ui-kit-base/components/others/tooltip/styled';\nimport { FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\nimport { Panel } from '../../../../others/input-panel/views/desktop/styled.js';\n\nconst FlatpickrCalendarWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"FlatpickrCalendarWrapper\"\n})([\n ``,\n ` `,\n `{width:`,\n `;min-height:`,\n `;}.flatpickr-calendar{position:static;.flatpickr-innerContainer{`,\n ` .flatpickr-rContainer{width:100%;.flatpickr-weekdays{gap:20px;.flatpickr-weekdaycontainer{padding:0;}}.flatpickr-days{width:100% !important;gap:20px;.dayContainer{--dayContainer-column-gap:2px;width:auto;max-width:unset;min-width:unset;flex:1 1 50%;padding:0;column-gap:var(--dayContainer-column-gap);.flatpickr-day{--flatpickr-day-width:calc((100% - (var(--dayContainer-column-gap) * 6)) / 7);height:auto;width:var(--flatpickr-day-width);max-width:var(--flatpickr-day-width);flex-basis:var(--flatpickr-day-width);&:not(.nextMonthDay){aspect-ratio:1/1;}&.nextMonthDay{height:0;}}}}}}}`\n], Panel, TooltipContent, ({ $showMonths })=>{\n if ($showMonths === 1) return '309.1px';\n if ($showMonths === 2) return '638px';\n return 'auto';\n}, ({ $enableTime })=>$enableTime ? '333.33px' : '302px', FlexMixin({\n justify: 'center'\n}));\n\nexport { FlatpickrCalendarWrapper };\n//# sourceMappingURL=styled.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport FlatpickrCalendar from '../../../../lib/flatpickr-calendar/index.js';\nimport InputPanel from '../../../../others/input-panel/index.js';\nimport { nullFunction } from '@babylon/ui-kit-helpers/null';\nimport { KEY_CODE } from '@babylon/ui-kit-types/key-code';\nimport { forwardRef, useId, useMemo, useRef, useCallback, useState, useEffect } from 'react';\nimport CalendarSkeleton from '../../components/skeleton/index.js';\nimport { calendarFormatData } from '../../helpers/index.js';\nimport useCalendartDates from '../../hooks/useCalendarDates.js';\nimport useFormCalendar from '../../hooks/useFormCalendar.js';\nimport { FlatpickrCalendarWrapper } from './styled.js';\n\nconst CalendarDesktop = /*#__PURE__*/ forwardRef((props, ref)=>{\n const { label, disabled = false, value = [\n new Date()\n ], onChange, onBlur, error, hasError, locale, mode = 'single', showMonths = 1, enableTime = false, monthSelectorType = 'static', dateFormat, minuteIncrement = 30, noCalendar = false, disableMobile = true, time24h = true, minTime = '00:00', maxTime = '23:59', className = '', events, options, releaseDays, icon = 'calendar', eventDay, inputRef, tooltipOptions } = props;\n const uniqueId = useId();\n const inputId = useMemo(()=>`${uniqueId}-input-calendar-${label}`, [\n label,\n uniqueId\n ]);\n const { finalEnableDates, firstDayEnabled } = useCalendartDates(props);\n const calendarOptions = useMemo(()=>({\n altInputClass: '',\n wrap: false,\n defaultDate: value,\n defaultMinute: 0,\n time_24hr: time24h,\n minDate: firstDayEnabled,\n mode,\n showMonths,\n dateFormat: dateFormat ?? (enableTime ? 'D, j M Y H:i' : 'D, j M Y'),\n disableMobile,\n monthSelectorType,\n noCalendar,\n enableTime,\n minuteIncrement,\n minTime,\n maxTime,\n inline: true,\n static: true,\n ...options\n }), [\n value,\n time24h,\n firstDayEnabled,\n mode,\n showMonths,\n dateFormat,\n enableTime,\n disableMobile,\n monthSelectorType,\n noCalendar,\n minuteIncrement,\n minTime,\n maxTime,\n options\n ]);\n const changeOpenRef = useRef(nullFunction);\n const lastValueRef = useRef(value);\n const handleCloseCalendar = useCallback(()=>{\n if (calendarOptions.mode === 'range') {\n if (value.length !== 2 && lastValueRef.current) onChange?.(lastValueRef.current);\n else lastValueRef.current = value;\n }\n onBlur?.();\n }, [\n calendarOptions.mode,\n onBlur,\n value,\n onChange\n ]);\n const handleChangeCalendar = useCallback((value)=>{\n onChange?.(value);\n if (calendarOptions.mode === 'range' && value.length === 2) changeOpenRef.current?.(false);\n if (calendarOptions.mode === 'single' && !calendarOptions.enableTime) changeOpenRef.current?.(false);\n }, [\n calendarOptions.enableTime,\n calendarOptions.mode,\n onChange\n ]);\n const onChangePanelOpen = useCallback((isOpen)=>{\n if (!isOpen) handleCloseCalendar();\n }, [\n handleCloseCalendar\n ]);\n const renderInput = useCallback((_props, ref)=>/*#__PURE__*/ jsx(\"div\", {\n ref: ref\n }), []);\n const finalValue = useMemo(()=>mode === 'single' ? [\n value[0]\n ] : value, [\n value,\n mode\n ]);\n const pressHandlerCalendar = useCallback((event)=>{\n switch(event.key){\n case KEY_CODE.ENTER:\n event.preventDefault();\n break;\n case KEY_CODE.ESC:\n break;\n }\n }, []);\n const CalendarDesktopSkeleton = useCallback(()=>/*#__PURE__*/ jsx(CalendarSkeleton, {\n id: props.id,\n label: label\n }), [\n label,\n props.id\n ]);\n const [formattedValue, setFormattedValue] = useState('');\n useEffect(()=>{\n const getFormattedValue = async ()=>{\n const formattedDates = [];\n for (const date of value){\n formattedDates.push(await calendarFormatData(date, enableTime ? 'ddd DD MMM YYYY HH:mm' : 'ddd DD MMM YYYY', locale));\n }\n return formattedDates.join(' → ');\n };\n getFormattedValue().then((value)=>{\n setFormattedValue(value);\n });\n }, [\n enableTime,\n locale,\n value\n ]);\n return /*#__PURE__*/ jsx(FlatpickrCalendarWrapper, {\n \"data-testid\": \"Calendar\",\n onKeyDown: (e)=>pressHandlerCalendar(e),\n $enableTime: enableTime,\n $showMonths: showMonths,\n children: /*#__PURE__*/ jsx(InputPanel, {\n ref: inputRef,\n inputProps: {\n icon,\n error,\n hasError,\n id: inputId,\n disabled: disabled,\n value: formattedValue,\n defaultValue: props.defaultValue,\n label\n },\n panel: {\n content: /*#__PURE__*/ jsx(FlatpickrCalendar, {\n locale: locale,\n render: renderInput,\n value: finalValue,\n options: calendarOptions,\n onChange: handleChangeCalendar,\n className: className,\n ref: ref,\n events: events,\n enableDates: finalEnableDates,\n disabled: disabled,\n releaseDays: releaseDays,\n SkeletonComponent: CalendarDesktopSkeleton,\n eventDay: eventDay\n }),\n onChange: onChangePanelOpen,\n changeOpenRef\n },\n tooltipProps: {\n placement: 'bottom-start',\n options: tooltipOptions\n }\n })\n });\n});\nCalendarDesktop.displayName = 'CalendarDesktop';\nconst FormCalendarDesktop = (props)=>{\n const finalProps = useFormCalendar(props);\n return /*#__PURE__*/ jsx(CalendarDesktop, {\n ...finalProps\n });\n};\n\nexport { FormCalendarDesktop, CalendarDesktop as default };\n//# sourceMappingURL=index.js.map\n"],"names":["CalendarSkeleton","props","jsx","InputSkeleton","FlatpickrCalendarWrapper","styled","Panel","TooltipContent","$showMonths","$enableTime","FlexMixin","CalendarDesktop","forwardRef","ref","label","disabled","value","onChange","onBlur","error","hasError","locale","mode","showMonths","enableTime","monthSelectorType","dateFormat","minuteIncrement","noCalendar","disableMobile","time24h","minTime","maxTime","className","events","options","releaseDays","icon","eventDay","inputRef","tooltipOptions","uniqueId","useId","inputId","useMemo","finalEnableDates","firstDayEnabled","useCalendartDates","calendarOptions","changeOpenRef","useRef","nullFunction","lastValueRef","handleCloseCalendar","useCallback","handleChangeCalendar","_a","_b","onChangePanelOpen","isOpen","renderInput","_props","finalValue","pressHandlerCalendar","event","KEY_CODE","CalendarDesktopSkeleton","formattedValue","setFormattedValue","useState","useEffect","formattedDates","date","calendarFormatData","e","InputPanel","FlatpickrCalendar","FormCalendarDesktop","finalProps","useFormCalendar"],"mappings":"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","x_google_ignoreList":[0,1,2]}