{"version":3,"file":"index.KBuy3lL4.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/calendar/calendar-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/calendar/components/skeleton/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/calendar/views/desktop/index.mjs"],"sourcesContent":["import { jsxs, Fragment, jsx } from 'react/jsx-runtime';\nimport ErrorTooltip from '../../../others/error-tooltip/index.mjs';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\nimport { CalendarInput } from './styled.mjs';\n\nconst CustomFlatpickrCalendarInput = /*#__PURE__*/ forwardRef(({ value: _value, defaultValue, inputRef, onFocus, error, hasError = false, disabled = false, isFocused = false, ...rest }, ref)=>{\n const inputNode = useRef(null);\n const handleInputRef = useCallback((node)=>{\n if (!node) return;\n inputNode.current = node;\n if (inputRef) {\n if (typeof inputRef === 'function') inputRef(node);\n else if (node) inputRef.current = node;\n }\n if (ref) {\n if (typeof ref === 'function') ref(node);\n else ref.current = node;\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n useEffect(()=>{\n if (document.activeElement === inputNode.current && !isFocused) {\n inputNode.current?.blur();\n }\n }, [\n isFocused\n ]);\n return /*#__PURE__*/ jsxs(Fragment, {\n children: [\n /*#__PURE__*/ jsx(CalendarInput, {\n className: \"calendar-input\",\n defaultValue: defaultValue,\n ref: handleInputRef,\n onFocus: onFocus,\n disabled: disabled,\n $hasError: hasError,\n $isFocused: isFocused,\n ...rest\n }),\n inputNode.current && /*#__PURE__*/ jsx(ErrorTooltip, {\n referenceElement: inputNode.current,\n error: error,\n isVisible: !isFocused && !!hasError\n })\n ]\n });\n});\nCustomFlatpickrCalendarInput.displayName = 'CustomFlatpickrCalendarInput';\n\nexport { CustomFlatpickrCalendarInput as default };\n//# sourceMappingURL=index.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport InputSkeleton from '../../../input/components/skeleton/index.mjs';\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.mjs.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport FlatpickrCalendar from '../../../../lib/flatpickr-calendar/index.mjs';\nimport { KEY_CODE } from '@babylon/ui-kit-types/key-code';\nimport { forwardRef, useId, useMemo, useCallback } from 'react';\nimport { useBoolean } from 'usehooks-ts';\nimport CustomFlatpickrCalendarInput from '../../calendar-input/index.mjs';\nimport CalendarSkeleton from '../../components/skeleton/index.mjs';\nimport useCalendartDates from '../../hooks/useCalendarDates.mjs';\nimport useFormCalendar from '../../hooks/useFormCalendar.mjs';\nimport { CalendarWrapper, CalendarInputIcon, CalendarLabel } from '../../styled.mjs';\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 { value: internalFocused, setTrue: onOpen, setFalse: onClose } = useBoolean();\n const uniqueId = useId();\n const inputId = useMemo(()=>`${uniqueId}-input-calendar-${label}`, [\n label,\n uniqueId\n ]);\n const handleCloseCalendar = useCallback(()=>{\n onClose();\n onBlur?.();\n }, [\n onBlur,\n onClose\n ]);\n const { finalEnableDates, firstDayEnabled } = useCalendartDates(props);\n const calendarOptions = useMemo(()=>({\n // TODO: [FRONT-1801] remove `appendTo` when we improve web-component integration.\n appendTo: document.querySelector('.web-component') ?? document.body,\n altInputClass: '',\n wrap: false,\n defaultDate: value,\n defaultMinute: 0,\n time_24hr: time24h,\n minDate: firstDayEnabled,\n // maxDate,\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 ...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 renderInput = useCallback((props, ref)=>/*#__PURE__*/ jsxs(CalendarWrapper, {\n \"data-testid\": \"Calendar\",\n children: [\n /*#__PURE__*/ jsx(CalendarInputIcon, {\n children: /*#__PURE__*/ jsx(Icon, {\n className: `nico-${icon}`\n })\n }),\n /*#__PURE__*/ jsx(CalendarLabel, {\n htmlFor: inputId,\n $focused: internalFocused || !!value,\n children: label\n }),\n /*#__PURE__*/ jsx(CustomFlatpickrCalendarInput, {\n id: inputId,\n disabled: disabled,\n value: props.value,\n defaultValue: props.defaultValue,\n inputRef: inputRef,\n ref: ref,\n error: error,\n hasError: hasError,\n isFocused: internalFocused\n })\n ]\n }), [\n icon,\n inputId,\n internalFocused,\n value,\n label,\n disabled,\n inputRef,\n error,\n hasError\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 return /*#__PURE__*/ jsx(\"div\", {\n onKeyDown: (e)=>pressHandlerCalendar(e),\n children: /*#__PURE__*/ jsx(FlatpickrCalendar, {\n locale: locale,\n render: renderInput,\n value: finalValue,\n options: calendarOptions,\n onChange: onChange,\n className: className,\n ref: ref,\n events: events,\n enableDates: finalEnableDates,\n onOpen: onOpen,\n onClose: handleCloseCalendar,\n disabled: disabled,\n releaseDays: releaseDays,\n SkeletonComponent: CalendarDesktopSkeleton,\n eventDay: eventDay\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.mjs.map\n"],"names":["CustomFlatpickrCalendarInput","forwardRef","_value","defaultValue","inputRef","onFocus","error","hasError","disabled","isFocused","rest","ref","inputNode","useRef","handleInputRef","useCallback","node","useEffect","_a","jsxs","Fragment","jsx","CalendarInput","ErrorTooltip","CalendarSkeleton","props","InputSkeleton","CalendarDesktop","label","value","onChange","onBlur","locale","mode","showMonths","enableTime","monthSelectorType","dateFormat","minuteIncrement","noCalendar","disableMobile","time24h","minTime","maxTime","className","events","options","releaseDays","icon","eventDay","internalFocused","onOpen","onClose","useBoolean","uniqueId","useId","inputId","useMemo","handleCloseCalendar","finalEnableDates","firstDayEnabled","useCalendartDates","calendarOptions","renderInput","CalendarWrapper","CalendarInputIcon","Icon","CalendarLabel","finalValue","pressHandlerCalendar","event","KEY_CODE","CalendarDesktopSkeleton","e","FlatpickrCalendar","FormCalendarDesktop","finalProps","useFormCalendar"],"mappings":"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","x_google_ignoreList":[0,1,2]}