UNPKG

@quidone/react-native-wheel-picker

Version:

Picker is a UI component for selecting an item from a list of options.

43 lines (42 loc) 1.48 kB
"use strict"; import React, { memo, useMemo } from 'react'; import { getDaysInMonth } from 'date-fns'; import Picker from '../base'; import { withPickerControl } from '../picker-control'; import { useDateContext } from './DatePickerValueProvider'; import { useOverlayItemStyle } from './useOverlayItemStyle'; import { useDatePickerLocale } from './DatePickerLocaleProvider'; import { withCommonProps } from './DatePickerCommonPropsProvider'; import { jsx as _jsx } from "react/jsx-runtime"; const HocPicker = withCommonProps(withPickerControl(Picker)); const DatePickerDate = ({ width = 60, overlayItemStyle: overlayItemStyleProp, ...restProps }) => { const localeData = useDatePickerLocale(); const dateContext = useDateContext(); const value = dateContext.value; const daysInMount = getDaysInMonth(new Date(value.year, value.month)); const data = useMemo(() => { return [...Array(daysInMount).keys()].map(index => ({ value: index + 1 })); }, [daysInMount]); const overlayItemStyle = useOverlayItemStyle({ curUnit: 'date', unitPositions: localeData.sortedDateUnitTypes, propStyle: overlayItemStyleProp }); return /*#__PURE__*/_jsx(HocPicker, { width: width, overlayItemStyle: overlayItemStyle, ...restProps, pickerName: 'date', control: dateContext.pickerControl, value: value.date, data: data }); }; export default /*#__PURE__*/memo(DatePickerDate); //# sourceMappingURL=DatePickerDate.js.map