UNPKG

@kelvininc/ui-components

Version:
102 lines (99 loc) 3.96 kB
import { a as dayjs } from './date.helper-D0D1COyq.js'; import { a as CALENDAR_MASK, C as CALENDAR_DATE_TIME_MASK, D as DATETIME_INPUT_MASK } from './absolute-time-picker.config-jTjLvKa0.js'; import './components-DzZLIMy0.js'; import './lib-config-DwRzddFC.js'; import './action-button.types-DVds6a5Z.js'; import { l as EAbsoluteTimeError, b as EValidationState } from './absolute-time-picker-dropdown.types-CojoW2Y2.js'; import './icon.types-SVedE_O8.js'; import './summary-card.types-BcMhjKoS.js'; import './toaster.types-vhHhaF4Q.js'; import './tree-item.types-CBuzk8fR.js'; import './tag-alarm.types-DHk26cGe.js'; import './wizard.types-7ioMFMb5.js'; const buildSelectedDatesEventPayload = (dateA, dateB) => { if (!dateA && !dateB) { return []; } if (!dateB) { return [dateA.format(CALENDAR_DATE_TIME_MASK)]; } return [dateA.format(CALENDAR_DATE_TIME_MASK), dateB.format(CALENDAR_DATE_TIME_MASK)]; }; const isEndDateAtStartOfDay = (date) => { return date.isValid() && date.hour() === 0 && date.minute() === 0 && date.second() === 0; }; const getFirstCalendarInitialDate = (displayedMonth) => { const initialDate = displayedMonth; return initialDate.isValid() ? initialDate.format(CALENDAR_MASK) : ''; }; const getSecondCalendarInitialDate = (displayedMonth) => { const initialDate = displayedMonth; return initialDate.isValid() ? initialDate.add(1, 'month').format(CALENDAR_MASK) : ''; }; const getMinimumDateFromDayClick = (clickedDate, minimumDate) => { const parsedMinDate = dayjs(minimumDate, DATETIME_INPUT_MASK); if (clickedDate.startOf('day').isBefore(parsedMinDate)) { return parsedMinDate; } return clickedDate.startOf('day'); }; const getMaximumDateFromDayClick = (clickedDate, maximumDate) => { const parsedMaxDate = dayjs(maximumDate, DATETIME_INPUT_MASK); if (clickedDate.endOf('day').isAfter(parsedMaxDate)) { return parsedMaxDate; } return clickedDate.endOf('day'); }; const getFromDateInputState = (error, { minDate }) => { if (!error) { return; } if (error === EAbsoluteTimeError.StartDateBeforeMinimumDate && minDate) { const min = dayjs(minDate).format(DATETIME_INPUT_MASK); return { state: EValidationState.Invalid, helpText: `The 'FROM' date must be after ${min}` }; } return; }; const getToDateTimeInputState = (error, { maxDate }) => { if (!error) { return; } if (error === EAbsoluteTimeError.EndDateAfterMaximumDate && maxDate) { const max = dayjs(maxDate).format(DATETIME_INPUT_MASK); return { state: EValidationState.Invalid, helpText: `The 'TO' date must be before ${max}` }; } if (error === EAbsoluteTimeError.EndDateBeforeStartDate) { return { state: EValidationState.Invalid, helpText: `The 'TO' date must be after 'FROM' date` }; } return; }; const getSingleDateTimeInputState = (error, { minDate, maxDate }) => { if (!error) { return; } if (error === EAbsoluteTimeError.StartDateBeforeMinimumDate && minDate) { const min = dayjs(minDate).format(DATETIME_INPUT_MASK); return { state: EValidationState.Invalid, helpText: `The date must be after ${min}` }; } if (error === EAbsoluteTimeError.EndDateAfterMaximumDate && maxDate) { const max = dayjs(maxDate).format(DATETIME_INPUT_MASK); return { state: EValidationState.Invalid, helpText: `The date must be before ${max}` }; } return; }; export { getSecondCalendarInitialDate as a, buildSelectedDatesEventPayload as b, getMinimumDateFromDayClick as c, getMaximumDateFromDayClick as d, getFromDateInputState as e, getToDateTimeInputState as f, getFirstCalendarInitialDate as g, getSingleDateTimeInputState as h, isEndDateAtStartOfDay as i };