@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
JavaScript
;
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