{"version":3,"file":"index.C76u39Om.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","import { TooltipContent } from '@babylon/ui-kit-base/components/others/tooltip/styled';\nimport styled from 'styled-components';\n\nconst FlatpickrCalendarWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"FlatpickrCalendarWrapper\"\n})([\n `[data-testid='CalendarPanel'] `,\n `{width:`,\n `!important;min-height:`,\n `;}`\n], TooltipContent, ({ $showMonths })=>{\n if ($showMonths === 1) return '331.88px';\n if ($showMonths === 2) return '642px';\n return 'auto';\n}, ({ $enableTime })=>$enableTime ? '338px' : '302px');\n\nexport { FlatpickrCalendarWrapper };\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 } = 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 }, [\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 }\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"],"names":["CalendarSkeleton","props","jsx","InputSkeleton","FlatpickrCalendarWrapper","styled","TooltipContent","$showMonths","$enableTime","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","uniqueId","useId","inputId","useMemo","finalEnableDates","firstDayEnabled","useCalendartDates","calendarOptions","changeOpenRef","useRef","nullFunction","lastValueRef","handleCloseCalendar","useCallback","handleChangeCalendar","_a","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]}