UNPKG

mobile-react-infinite-calendar

Version:

A mobile-optimized infinite scroll calendar component for React

41 lines (40 loc) 1.94 kB
/** * 헤더 옵션 처리 * 헤더 관련 설정과 레거시 props 처리 */ import { useMemo } from 'react'; export function useHeaderOptions({ options = {}, showTodayButton, showDatePicker, height, initialDate }) { // options 합치기 (레거시 지원) const mergedOptions = useMemo(() => { const merged = { ...options, height: height || options.height, initialDate: initialDate || options.initialDate }; return merged; }, [options, height, initialDate]); // 헤더 표시 옵션 처리 const headerOptions = useMemo(() => { var _a, _b, _c, _d, _e, _f, _g; if (typeof mergedOptions.header === 'boolean') { return { show: mergedOptions.header, monthTitle: mergedOptions.header, todayButton: mergedOptions.header, weekDays: mergedOptions.header, datePicker: mergedOptions.header }; } return { show: ((_a = mergedOptions.header) === null || _a === void 0 ? void 0 : _a.show) !== false, monthTitle: ((_b = mergedOptions.header) === null || _b === void 0 ? void 0 : _b.monthTitle) !== false, todayButton: (_d = showTodayButton !== null && showTodayButton !== void 0 ? showTodayButton : (_c = mergedOptions.header) === null || _c === void 0 ? void 0 : _c.todayButton) !== null && _d !== void 0 ? _d : true, datePicker: (_f = showDatePicker !== null && showDatePicker !== void 0 ? showDatePicker : (_e = mergedOptions.header) === null || _e === void 0 ? void 0 : _e.datePicker) !== null && _f !== void 0 ? _f : true, weekDays: ((_g = mergedOptions.header) === null || _g === void 0 ? void 0 : _g.weekDays) !== false }; }, [mergedOptions.header, showTodayButton, showDatePicker]); return { mergedOptions, headerOptions }; }