Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import * as React from 'react';
import { errorContainer } from '@skava/packages/core/notifications';
import { OneFormState } from '@skava/packages/features/Forms';
import { AddPromoCodeButton, StyledForm } from './styled';
import { wording } from './fixture';
import { promoCodeContainer } from './state';
const validation = {
    async onSubmit(args) {
        const { promoCode } = args.state.toJSON();
        if (promoCodeContainer.canAddMorePromoCodes === false) {
            errorContainer.setMessage(wording.maximumPromoCodeMessage);
        }
        else {
            await promoCodeContainer.addPromoCode(promoCode);
            args.state.inputsList.forEach(input => input.setValue(''));
        }
    },
};
const renderButtonGroup = () => React.createElement(AddPromoCodeButton, null);
class AddPromoCodeForm extends React.PureComponent {
    constructor() {
        super(...arguments);
        this.observableFormState = new OneFormState().setInputsList([
            {
                type: 'text',
                propertyName: 'promoCode',
                label: 'Coupon Code',
                // have to put in plugin @@packages
                // qa: qa.paymentCoupon,
                // ariaLabel: wording.couponLabel,
                minLength: 3,
                maxLength: 64,
            }
        ]);
    }
    render() {
        return (React.createElement(StyledForm, { validation: validation, state: this.observableFormState, renderButtonGroup: renderButtonGroup }));
    }
}
export { AddPromoCodeForm };
//# sourceMappingURL=Form.js.map