UNPKG

reactjs-credit-card

Version:

This Package has react credit card form components and form validation system

43 lines (38 loc) 1.49 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import React, { useContext, useState } from 'react'; import hunelContext from '../utils/HunelContext'; import { GetCardValidThruYear, parseProps, YearList } from '../utils/general'; function ValidThruYear(props) { const { pokeMonthState, _validThruYear, pokeVirtualCardStates, _config } = useContext(hunelContext); const { yearLength } = _config; const [validThruYear, setValidThruYear] = useState(_validThruYear); const newProps = parseProps(props, 'value'); function handleChange(e) { let { value } = e.target; value = GetCardValidThruYear(value, yearLength); pokeMonthState(value); pokeVirtualCardStates(4, value); setValidThruYear(value); } const yearList = YearList(yearLength).map(year => /*#__PURE__*/React.createElement("option", { value: year, key: year }, year.toString()[2] + year.toString()[3])); return /*#__PURE__*/React.createElement("select", _extends({ onChange: e => { handleChange(e); if ('onChange' in newProps) newProps['onChange'](e); }, value: validThruYear }, parseProps(newProps, 'onChange')), yearList); } export default ValidThruYear;