UNPKG

@quidone/react-native-wheel-picker

Version:

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

45 lines (44 loc) 1.52 kB
"use strict"; import React, { memo, useMemo } from 'react'; import Picker from '../base'; import { useDateContext } from './DatePickerValueProvider'; import { useOverlayItemStyle } from './useOverlayItemStyle'; import { useDatePickerLocale } from './DatePickerLocaleProvider'; import { withCommonProps } from './DatePickerCommonPropsProvider'; import { withPickerControl } from '../picker-control'; import { jsx as _jsx } from "react/jsx-runtime"; const HocPicker = withCommonProps(withPickerControl(Picker)); const DatePickerYear = ({ width = 100, overlayItemStyle: overlayItemStyleProp, ...restProps }) => { const localeData = useDatePickerLocale(); const dateContext = useDateContext(); const value = dateContext.value; const data = useMemo(() => { const startYear = dateContext.min.getFullYear(); const endYear = dateContext.max.getFullYear(); return Array.from({ length: endYear - startYear + 1 }, (_, index) => ({ value: startYear + index })); }, [dateContext.max, dateContext.min]); const overlayItemStyle = useOverlayItemStyle({ curUnit: 'year', unitPositions: localeData.sortedDateUnitTypes, propStyle: overlayItemStyleProp }); return /*#__PURE__*/_jsx(HocPicker, { width: width, overlayItemStyle: overlayItemStyle, ...restProps, pickerName: 'year', control: dateContext.pickerControl, value: value.year, data: data }); }; export default /*#__PURE__*/memo(DatePickerYear); //# sourceMappingURL=DatePickerYear.js.map